Project

General

Profile

« Previous | Next » 

Revision 4cea97a0

Added by danij over 17 years ago

Merged in the engine-side input device axis handling from the old 1.8 experimental branch. Reworked the bindings mechanism to suit. This means that controls can be bound to either commands (including a different command for each state) and directly to a player control. Bindings are now grouped for each input device, then by the control type (key/button or axis) and then finally based on controlID (controlID is either a key/button code or a control axis index).
Added and abstraction for input event_ts to allow us to ensure future back-compatibility. Internally, Doomsday generates events in ddevent_t format. These are then converted into event_t format before sending down the games' responder chain(s).
Changed: seperate input events are now generated for each input device axis rather than including all in the one event (to enable better marige between ddevent_t and axis bindings).
Began merging in the engine-side ticcmd generation. Ticcmds are now created entirely on engine-side. This needs more work however. Currently only the basic controls work. Some re-factoring is needed here; the values in ticcmd_t e.g. forwardMove, sideMove etc should not be the actual world movement deltas, they should instead include only the degree of the control based on the local input device(s). These values should then have all game-specific multipliers and modifiers (e.g. player-class based speed changes) applied in p_user.c on the values provided in ticcmd_t).
TODO: A new engine-side interface for configuring controls and input devices (the old sensitivity controls, axis inversions etc are currently disabled).
Implement/improve-existing mechanism to allow for default binding of axis controls.
Update the other games with respect to the new ticcmd_t format (only jDoom has been updated so far).

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences