Commit graph

7 commits

Author SHA1 Message Date
JetSetIlly
58848acdf9 input system and ports system separated
playback/recorder and driven input systems moved out of the the ports
package and into a new input package. how the input systems interact has
been clarified and improved - for example, it is now posssible for a
playback file to be used to drive two emulations for comparison purposes

the debugger startup procedure has been clarified with two distinct
startup functions for playmode and debugger - each of which take
different arguments. the clarity has allowed the reintroduction of
recording and playback to the main play mode
2021-12-11 08:19:46 +00:00
JetSetIlly
4df1eb071e added the ports.InputEvent type
this is now used when passing events and event data around. it also
records the port and time (in TV coordinates) which are required by
driver/passenger synchronisation and playback recording

removed television interfaces from signal package and moved the
interfaces to where they are needed
2021-12-05 20:17:43 +00:00
JetSetIlly
464a62c9db userinput package can now forward events to many implementations of HandleInput
preperation for allowing parallel emulations with the same userinput
2021-12-05 20:17:42 +00:00
JetSetIlly
c2d6e4d214 userinput package returns whether a userinput was handled by the emulation
this allows more elegant handling of unpause on controller input - no
unpause unless the controller is plugged in. ie. paddle input won't
cause the game to unpause unless the paddle controller is "plugged in"

added gamepad bumper (rewind in playmode) and guide button
(debugger/playmode switcher)
2021-11-07 09:52:26 +00:00
JetSetIlly
25b0f1c82f added right player joystick
using default Stella keys:

    Up	    Y
    Down    H
    Left    G
    Right   J
    Fire    F
2021-09-30 17:16:35 +01:00
JetSetIlly
2062ff6edb port monitor 2021-03-14 18:03:49 +00:00
JetSetIlly
156534a3fd added userinput package
debugger and playmode refer to userinput package rather than the common
code being in the playmode package

GUI events are now userinput events

more versatile handling of EventData in controller package. parsing of
EventData is handled by the controller types as required. added
EventDataPlayback type to ports package to help distinguish source of
data.

EventDataStick used to specify stick data value. used to help
distinguish between setting a stick direction and toggle a stick
direction. the latter case is useful for (physical) gamepad input and
the former for input from a keyboard.

Gamepad analogue stick can be used for paddle input. PaddleFire removed
and Fire used instead.

version number of playback file increased to 1.1. version detection of
recorder.IsPlaybackFile() improved.
2021-03-09 22:37:08 +00:00