[simpits-tech] To gene or any other programmer

Mark Doran simpits-tech@simpits.org
Thu, 20 Jun 2002 23:48:40 -0700


Falcon4's keymap is typically ill-arranged for mapping to physical
switches.  There are knobs in the game that wrap around where the real
ones don't...in some cases these are hamstrung with single keystroke
bindings that only operate the knob one-click-right; look at the nav
mode knob for an example.  There are bags of places where there are
multiposition toggle switches that have single "rotary" keystokes in the
game's keymap too; look at the autopilot switches for an example.  For
these, I don't think there's any hope for sync beyond physically setting
them to the game's known initial state (which means one of several
possible since you can start on the ramp, ready to taxi or in the air;
default starting positions for some controls are different in these
cases).

On the upside there are some knobs that are modeled with an "end stop"
and that have up and down keystokes so these you can set to known state;
look at the CMDS panel mode knob for an example like this.  Same goes
for a few of the multiposition toggle switches where there are
keystrokes in the game's keymap for each position; look at master arm
for an example of this.  For these types, you can read physical switch
states and command the game to match up.  We are planning to "shanghai"
a button to do just this; one that's not normally used in the game (say
like the "test" position of the test/maintenance toggle on the TEST
panel).

The other "trick" I'm thinking of for the harder ones above is to have a
switch (again, one that isn't normally used) be equivalent to a "send no
keystrokes" flag.  In EPL it would be something like this:

flag fSupressKeys = false;

void dTestPanel.Maintenance.On(void)
{
  fSupressKeys = true;
}

void dTestPanel.Maintenance.Off(void)
{
  fSupressKeys = false;
}

// and then all keypress routines follow a pattern

void dMPOPanel.PitchOverride.On(void)
{
  if (!fSupressKeys) {
    keyhit(o);
  }
}

Well something like that anyway.  This way if the switch on the test
panel is in the "maintenance" position, you can move any other physical
switch to re-sync with what you see on the screen (i.e. how the game is
set) without actually sending keystrokes.  Sort of a kludge I guess --
anyone got a better idea?? :-)

Cheers,

Mark.


> -----Original Message-----
> From: simpits-tech-admin@simpits.org [mailto:simpits-tech-
> admin@simpits.org] On Behalf Of Gene Buckle
> Sent: Wednesday, June 19, 2002 9:54 AM
> To: simpits-tech@simpits.org
> Subject: Re: [simpits-tech] To gene or any other programmer
> 
> > When the UFC in the F16 dies for some reason the plane has a backup
mode
> > which is controled by the panels - most of the time thepanels ( most
of
> > them ) are inactive.
> >
> > whan you flip to backup mode all the panels settings take effect.
> >
> That's not too bad then.  You just read the panel switch positions
when
> the UFC fails.  However, SETTING them within Falcon 4 may be difficult
> without modifying F4.
> 
> g.
> 
> 
> _______________________________________________
> Simpits-tech mailing list
> Simpits-tech@simpits.org
> http://www.simpits.org/mailman/listinfo/simpits-tech
> To unsubscribe, please see the instructions at the bottom of the above
> page.  Thanks!