mirror of https://github.com/stella-emu/stella.git
refactor ESC key handling
make remaining control hotkeys configurable
This commit is contained in:
parent
ef8fdc8cd9
commit
8f6dfda42f
|
@ -296,7 +296,7 @@ void PhysicalJoystickHandler::setStickDefaultMapping(int stick,
|
||||||
// Left joystick (assume joystick zero or two, buttons two..four)
|
// Left joystick (assume joystick zero or two, buttons two..four)
|
||||||
setDefaultBtn(stick, 2, Event::CmdMenuMode);
|
setDefaultBtn(stick, 2, Event::CmdMenuMode);
|
||||||
setDefaultBtn(stick, 3, Event::OptionsMenuMode);
|
setDefaultBtn(stick, 3, Event::OptionsMenuMode);
|
||||||
setDefaultBtn(stick, 4, Event::LauncherMode);
|
setDefaultBtn(stick, 4, Event::ExitMode);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -324,7 +324,7 @@ void PhysicalJoystickHandler::setStickDefaultMapping(int stick,
|
||||||
// Right joystick (assume joystick one or three, buttons two..four)
|
// Right joystick (assume joystick one or three, buttons two..four)
|
||||||
setDefaultBtn(stick, 2, Event::CmdMenuMode);
|
setDefaultBtn(stick, 2, Event::CmdMenuMode);
|
||||||
setDefaultBtn(stick, 3, Event::OptionsMenuMode);
|
setDefaultBtn(stick, 3, Event::OptionsMenuMode);
|
||||||
setDefaultBtn(stick, 4, Event::LauncherMode);
|
setDefaultBtn(stick, 4, Event::ExitMode);
|
||||||
setDefaultBtn(stick, 5, Event::Rewind);
|
setDefaultBtn(stick, 5, Event::Rewind);
|
||||||
setDefaultBtn(stick, 7, Event::ConsoleSelect);
|
setDefaultBtn(stick, 7, Event::ConsoleSelect);
|
||||||
setDefaultBtn(stick, 8, Event::ConsoleReset);
|
setDefaultBtn(stick, 8, Event::ConsoleReset);
|
||||||
|
|
|
@ -147,12 +147,13 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
|
||||||
setDefaultKey(Event::CmdMenuMode , KBDK_BACKSLASH);
|
setDefaultKey(Event::CmdMenuMode , KBDK_BACKSLASH);
|
||||||
setDefaultKey(Event::TimeMachineMode , KBDK_T);
|
setDefaultKey(Event::TimeMachineMode , KBDK_T);
|
||||||
setDefaultKey(Event::DebuggerMode , KBDK_GRAVE);
|
setDefaultKey(Event::DebuggerMode , KBDK_GRAVE);
|
||||||
setDefaultKey(Event::LauncherMode , KBDK_ESCAPE);
|
setDefaultKey(Event::ExitMode , KBDK_ESCAPE);
|
||||||
#ifdef BSPF_MACOS
|
#ifdef BSPF_MACOS
|
||||||
setDefaultKey(Event::Quit , KBDK_Q, KBDM_ALT);
|
setDefaultKey(Event::Quit , KBDK_Q, KBDM_ALT);
|
||||||
#else
|
#else
|
||||||
setDefaultKey(Event::Quit , KBDK_Q, KBDM_CTRL);
|
setDefaultKey(Event::Quit , KBDK_Q, KBDM_CTRL);
|
||||||
#endif
|
#endif
|
||||||
|
setDefaultKey(Event::ReloadConsole , KBDK_R, KBDM_CTRL);
|
||||||
|
|
||||||
setDefaultKey(Event::VidmodeDecrease , KBDK_MINUS, KBDM_ALT);
|
setDefaultKey(Event::VidmodeDecrease , KBDK_MINUS, KBDM_ALT);
|
||||||
setDefaultKey(Event::VidmodeIncrease , KBDK_EQUALS, KBDM_ALT);
|
setDefaultKey(Event::VidmodeIncrease , KBDK_EQUALS, KBDM_ALT);
|
||||||
|
@ -173,6 +174,23 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
|
||||||
setDefaultKey(Event::NextAttribute , KBDK_9, KBDM_ALT);
|
setDefaultKey(Event::NextAttribute , KBDK_9, KBDM_ALT);
|
||||||
setDefaultKey(Event::DecreaseAttribute , KBDK_0, KBDM_SHIFT | KBDM_ALT);
|
setDefaultKey(Event::DecreaseAttribute , KBDK_0, KBDM_SHIFT | KBDM_ALT);
|
||||||
setDefaultKey(Event::IncreaseAttribute , KBDK_0, KBDM_ALT);
|
setDefaultKey(Event::IncreaseAttribute , KBDK_0, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::DecreasePhosphor , KBDK_I, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::IncreasePhosphor , KBDK_O, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::TogglePhosphor , KBDK_P, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::ToggleColorLoss , KBDK_L, KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::TogglePalette , KBDK_P, KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::ToggleJitter , KBDK_J, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::ToggleFrameStats , KBDK_L, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::ToggleTimeMachine , KBDK_T, KBDM_ALT);
|
||||||
|
#ifdef PNG_SUPPORT
|
||||||
|
setDefaultKey(Event::ToggleContSnapshots , KBDK_S, KBDM_ALT);
|
||||||
|
setDefaultKey(Event::ToggleContSnapshotsFrame, KBDK_S, KBDM_SHIFT | KBDM_ALT);
|
||||||
|
#endif
|
||||||
|
setDefaultKey(Event::HandleMouseControl , KBDK_0, KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::ToggleGrabMouse , KBDK_G, KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::ToggleSAPortOrder , KBDK_1, KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::DecreaseFormat , KBDK_F, KBDM_SHIFT | KBDM_CTRL);
|
||||||
|
setDefaultKey(Event::IncreaseFormat , KBDK_F, KBDM_CTRL);
|
||||||
|
|
||||||
setDefaultKey(Event::ToggleP0Collision , KBDK_Z, KBDM_SHIFT | KBDM_ALT);
|
setDefaultKey(Event::ToggleP0Collision , KBDK_Z, KBDM_SHIFT | KBDM_ALT);
|
||||||
setDefaultKey(Event::ToggleP0Bit , KBDK_Z, KBDM_ALT);
|
setDefaultKey(Event::ToggleP0Bit , KBDK_Z, KBDM_ALT);
|
||||||
|
@ -198,7 +216,7 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
|
||||||
setDefaultKey(Event::ConsoleLeftDiffToggle , KBDK_F6); // front ("SKILL P1")
|
setDefaultKey(Event::ConsoleLeftDiffToggle , KBDK_F6); // front ("SKILL P1")
|
||||||
setDefaultKey(Event::ConsoleRightDiffToggle , KBDK_F8); // front ("SKILL P2")
|
setDefaultKey(Event::ConsoleRightDiffToggle , KBDK_F8); // front ("SKILL P2")
|
||||||
setDefaultKey(Event::CmdMenuMode , KBDK_F13); // back ("4:3","16:9")
|
setDefaultKey(Event::CmdMenuMode , KBDK_F13); // back ("4:3","16:9")
|
||||||
setDefaultKey(Event::LauncherMode , KBDK_BACKSPACE); // back ("FRY")
|
setDefaultKey(Event::ExitMode , KBDK_BACKSPACE); // back ("FRY")
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -301,39 +319,15 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
// An attempt to speed up event processing; we quickly check for
|
// An attempt to speed up event processing; we quickly check for
|
||||||
// Control or Alt/Cmd combos first
|
// Control or Alt/Cmd combos first
|
||||||
// and don't pass the key on if we've already taken care of it
|
// and don't pass the key on if we've already taken care of it
|
||||||
if(handleAltEvent(key, mod, pressed) || handleControlEvent(key, mod, pressed))
|
if(handleAltEvent(key, mod, pressed))
|
||||||
return;
|
return;
|
||||||
|
// TODO: myUseCtrlKeyFlag?
|
||||||
|
|
||||||
EventHandlerState estate = myHandler.state();
|
EventHandlerState estate = myHandler.state();
|
||||||
|
|
||||||
// Arrange the logic to take advantage of short-circuit evaluation
|
// Arrange the logic to take advantage of short-circuit evaluation
|
||||||
if(!(StellaModTest::isControl(mod) || StellaModTest::isShift(mod) || StellaModTest::isAlt(mod)))
|
if(!(StellaModTest::isControl(mod) || StellaModTest::isShift(mod) || StellaModTest::isAlt(mod)))
|
||||||
{
|
{
|
||||||
// Special handling for Escape key
|
|
||||||
// Basically, exit whichever mode we're currently in
|
|
||||||
if(pressed && key == KBDK_ESCAPE)
|
|
||||||
{
|
|
||||||
switch(estate)
|
|
||||||
{
|
|
||||||
case EventHandlerState::PAUSE:
|
|
||||||
myHandler.changeStateByEvent(Event::PauseMode);
|
|
||||||
return;
|
|
||||||
case EventHandlerState::CMDMENU:
|
|
||||||
myHandler.changeStateByEvent(Event::CmdMenuMode);
|
|
||||||
return;
|
|
||||||
case EventHandlerState::TIMEMACHINE:
|
|
||||||
myHandler.changeStateByEvent(Event::TimeMachineMode);
|
|
||||||
return;
|
|
||||||
#if 0 // FIXME - exits ROM too, when it should just go back to ROM
|
|
||||||
case EventHandlerState::DEBUGGER:
|
|
||||||
myHandler.changeStateByEvent(Event::DebuggerMode);
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle keys which switch eventhandler state
|
// Handle keys which switch eventhandler state
|
||||||
if (!pressed && myHandler.changeStateByEvent(myKeyMap.get(kEmulationMode, key, mod)))
|
if (!pressed && myHandler.changeStateByEvent(myKeyMap.get(kEmulationMode, key, mod)))
|
||||||
return;
|
return;
|
||||||
|
@ -402,36 +396,6 @@ bool PhysicalKeyboardHandler::handleAltEvent(StellaKey key, StellaMod mod, bool
|
||||||
myOSystem.console().changeYStart(-1);
|
myOSystem.console().changeYStart(-1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KBDK_I: // Alt-i decreases phosphor blend
|
|
||||||
myOSystem.console().changePhosphor(-1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_O: // Alt-o increases phosphor blend
|
|
||||||
myOSystem.console().changePhosphor(+1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_P: // Alt-p toggles phosphor effect
|
|
||||||
myOSystem.console().togglePhosphor();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_J: // Alt-j toggles scanline jitter
|
|
||||||
myOSystem.console().toggleJitter();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_L:
|
|
||||||
myOSystem.frameBuffer().toggleFrameStats();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_T: // Alt-t toggles Time Machine
|
|
||||||
myOSystem.state().toggleTimeMachine();
|
|
||||||
break;
|
|
||||||
|
|
||||||
#ifdef PNG_SUPPORT
|
|
||||||
case KBDK_S:
|
|
||||||
myOSystem.png().toggleContinuousSnapshots(StellaModTest::isShift(mod));
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
handled = false;
|
handled = false;
|
||||||
break;
|
break;
|
||||||
|
@ -444,64 +408,4 @@ bool PhysicalKeyboardHandler::handleAltEvent(StellaKey key, StellaMod mod, bool
|
||||||
handled = false;
|
handled = false;
|
||||||
|
|
||||||
return handled;
|
return handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
bool PhysicalKeyboardHandler::handleControlEvent(StellaKey key, StellaMod mod, bool pressed)
|
|
||||||
{
|
|
||||||
bool handled = true;
|
|
||||||
|
|
||||||
if(StellaModTest::isControl(mod) && pressed && myUseCtrlKeyFlag)
|
|
||||||
{
|
|
||||||
EventHandlerState estate = myHandler.state();
|
|
||||||
// These only work when in emulation mode
|
|
||||||
if(estate == EventHandlerState::EMULATION || estate == EventHandlerState::PAUSE)
|
|
||||||
{
|
|
||||||
switch(key)
|
|
||||||
{
|
|
||||||
case KBDK_0: // Ctrl-0 switches between mouse control modes
|
|
||||||
myHandler.handleMouseControl();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_1: // Ctrl-1 swaps Stelladaptor/2600-daptor ports
|
|
||||||
myHandler.toggleSAPortOrder();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_F: // (Shift) Ctrl-f toggles NTSC/PAL/SECAM mode
|
|
||||||
myOSystem.console().toggleFormat(StellaModTest::isShift(mod) ? -1 : 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_G: // Ctrl-g (un)grabs mouse
|
|
||||||
if(!myOSystem.frameBuffer().fullScreen())
|
|
||||||
{
|
|
||||||
myOSystem.frameBuffer().toggleGrabMouse();
|
|
||||||
myOSystem.frameBuffer().showMessage(myOSystem.frameBuffer().grabMouseEnabled()
|
|
||||||
? "Grab mouse enabled" : "Grab mouse disabled");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_L: // Ctrl-l toggles PAL color-loss effect
|
|
||||||
myOSystem.console().toggleColorLoss();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_P: // Ctrl-p toggles different palettes
|
|
||||||
myOSystem.console().togglePalette();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_R: // Ctrl-r reloads the currently loaded ROM
|
|
||||||
myOSystem.reloadConsole();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
handled = false;
|
|
||||||
break;
|
|
||||||
} // switch
|
|
||||||
}
|
|
||||||
else
|
|
||||||
handled = false;
|
|
||||||
} // control
|
|
||||||
else
|
|
||||||
handled = false;
|
|
||||||
|
|
||||||
return handled;
|
|
||||||
}
|
|
|
@ -68,7 +68,6 @@ class PhysicalKeyboardHandler
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool handleAltEvent(StellaKey key, StellaMod mod, bool pressed);
|
bool handleAltEvent(StellaKey key, StellaMod mod, bool pressed);
|
||||||
bool handleControlEvent(StellaKey key, StellaMod mod, bool pressed);
|
|
||||||
|
|
||||||
OSystem& myOSystem;
|
OSystem& myOSystem;
|
||||||
EventHandler& myHandler;
|
EventHandler& myHandler;
|
||||||
|
|
|
@ -154,7 +154,7 @@ bool Debugger::startWithFatalError(const string& message)
|
||||||
void Debugger::quit(bool exitrom)
|
void Debugger::quit(bool exitrom)
|
||||||
{
|
{
|
||||||
if(exitrom)
|
if(exitrom)
|
||||||
myOSystem.eventHandler().handleEvent(Event::LauncherMode, true);
|
myOSystem.eventHandler().handleEvent(Event::ExitMode, true);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
myOSystem.eventHandler().leaveDebugMode();
|
myOSystem.eventHandler().leaveDebugMode();
|
||||||
|
|
|
@ -74,7 +74,7 @@ class Event
|
||||||
MouseButtonLeftValue, MouseButtonRightValue,
|
MouseButtonLeftValue, MouseButtonRightValue,
|
||||||
|
|
||||||
ChangeState, LoadState, SaveState, TakeSnapshot, Quit,
|
ChangeState, LoadState, SaveState, TakeSnapshot, Quit,
|
||||||
PauseMode, OptionsMenuMode, CmdMenuMode, TimeMachineMode, DebuggerMode, LauncherMode,
|
PauseMode, OptionsMenuMode, CmdMenuMode, TimeMachineMode, DebuggerMode, ExitMode,
|
||||||
Fry, VolumeDecrease, VolumeIncrease, SoundToggle, VidmodeDecrease, VidmodeIncrease,
|
Fry, VolumeDecrease, VolumeIncrease, SoundToggle, VidmodeDecrease, VidmodeIncrease,
|
||||||
Rewind, Unwind,
|
Rewind, Unwind,
|
||||||
|
|
||||||
|
@ -92,6 +92,16 @@ class Event
|
||||||
ToggleBLCollision, ToggleBLBit, TogglePFCollision, TogglePFBit,
|
ToggleBLCollision, ToggleBLBit, TogglePFCollision, TogglePFBit,
|
||||||
ToggleCollisions, ToggleBits, ToggleFixedColors,
|
ToggleCollisions, ToggleBits, ToggleFixedColors,
|
||||||
|
|
||||||
|
DecreasePhosphor, IncreasePhosphor, TogglePhosphor, ToggleJitter,
|
||||||
|
ToggleFrameStats, ToggleTimeMachine,
|
||||||
|
#ifdef PNG_SUPPORT
|
||||||
|
ToggleContSnapshots, ToggleContSnapshotsFrame,
|
||||||
|
#endif*/
|
||||||
|
ToggleColorLoss, TogglePalette,
|
||||||
|
|
||||||
|
HandleMouseControl, ToggleGrabMouse, ToggleSAPortOrder,
|
||||||
|
DecreaseFormat, IncreaseFormat, ReloadConsole,
|
||||||
|
|
||||||
LastType
|
LastType
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -385,6 +385,10 @@ void EventHandler::handleEvent(Event::Type event, bool pressed)
|
||||||
if(myPKeyHandler->useCtrlKey()) myFryingFlag = pressed;
|
if(myPKeyHandler->useCtrlKey()) myFryingFlag = pressed;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case Event::ReloadConsole:
|
||||||
|
if (pressed) myOSystem.reloadConsole();
|
||||||
|
return;
|
||||||
|
|
||||||
case Event::VolumeDecrease:
|
case Event::VolumeDecrease:
|
||||||
if(pressed) myOSystem.sound().adjustVolume(-1);
|
if(pressed) myOSystem.sound().adjustVolume(-1);
|
||||||
return;
|
return;
|
||||||
|
@ -477,79 +481,131 @@ void EventHandler::handleEvent(Event::Type event, bool pressed)
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case Event::DecreasePhosphor:
|
||||||
|
if (pressed) myOSystem.console().changePhosphor(-1);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::IncreasePhosphor:
|
||||||
|
if (pressed) myOSystem.console().changePhosphor(1);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::TogglePhosphor:
|
||||||
|
if (pressed) myOSystem.console().togglePhosphor();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleColorLoss:
|
||||||
|
if (pressed) myOSystem.console().toggleColorLoss();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::TogglePalette:
|
||||||
|
if (pressed) myOSystem.console().togglePalette();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleJitter:
|
||||||
|
if (pressed) myOSystem.console().toggleJitter();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleFrameStats:
|
||||||
|
if (pressed) myOSystem.frameBuffer().toggleFrameStats();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleTimeMachine:
|
||||||
|
if (pressed) myOSystem.state().toggleTimeMachine();
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifdef PNG_SUPPORT
|
||||||
|
case Event::ToggleContSnapshots:
|
||||||
|
if (pressed) myOSystem.png().toggleContinuousSnapshots(false);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleContSnapshotsFrame:
|
||||||
|
if (pressed) myOSystem.png().toggleContinuousSnapshots(true);
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
case Event::HandleMouseControl:
|
||||||
|
if (pressed) handleMouseControl();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleSAPortOrder:
|
||||||
|
if (pressed) toggleSAPortOrder();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::DecreaseFormat:
|
||||||
|
if (pressed) myOSystem.console().toggleFormat(-1);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::IncreaseFormat:
|
||||||
|
if (pressed) myOSystem.console().toggleFormat(1);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case Event::ToggleGrabMouse:
|
||||||
|
if (pressed && !myOSystem.frameBuffer().fullScreen())
|
||||||
|
{
|
||||||
|
myOSystem.frameBuffer().toggleGrabMouse();
|
||||||
|
myOSystem.frameBuffer().showMessage(myOSystem.frameBuffer().grabMouseEnabled()
|
||||||
|
? "Grab mouse enabled" : "Grab mouse disabled");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
case Event::ToggleP0Collision:
|
case Event::ToggleP0Collision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleP0Collision();
|
||||||
myOSystem.console().toggleP0Collision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleP0Bit:
|
case Event::ToggleP0Bit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleP0Bit();
|
||||||
myOSystem.console().toggleP0Bit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleP1Collision:
|
case Event::ToggleP1Collision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleP1Collision();
|
||||||
myOSystem.console().toggleP1Collision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleP1Bit:
|
case Event::ToggleP1Bit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleP1Bit();
|
||||||
myOSystem.console().toggleP1Bit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleM0Collision:
|
case Event::ToggleM0Collision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleM0Collision();
|
||||||
myOSystem.console().toggleM0Collision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleM0Bit:
|
case Event::ToggleM0Bit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleM0Bit();
|
||||||
myOSystem.console().toggleM0Bit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleM1Collision:
|
case Event::ToggleM1Collision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleM1Collision();
|
||||||
myOSystem.console().toggleM1Collision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleM1Bit:
|
case Event::ToggleM1Bit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleM1Bit();
|
||||||
myOSystem.console().toggleM1Bit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleBLCollision:
|
case Event::ToggleBLCollision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleBLCollision();
|
||||||
myOSystem.console().toggleBLCollision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleBLBit:
|
case Event::ToggleBLBit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleBLBit();
|
||||||
myOSystem.console().toggleBLBit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::TogglePFCollision:
|
case Event::TogglePFCollision:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().togglePFCollision();
|
||||||
myOSystem.console().togglePFCollision();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::TogglePFBit:
|
case Event::TogglePFBit:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().togglePFBit();
|
||||||
myOSystem.console().togglePFBit();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleFixedColors:
|
case Event::ToggleFixedColors:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleFixedColors();
|
||||||
myOSystem.console().toggleFixedColors();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleCollisions:
|
case Event::ToggleCollisions:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleCollisions();
|
||||||
myOSystem.console().toggleCollisions();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::ToggleBits:
|
case Event::ToggleBits:
|
||||||
if (pressed)
|
if (pressed) myOSystem.console().toggleBits();
|
||||||
myOSystem.console().toggleBits();
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::SaveState:
|
case Event::SaveState:
|
||||||
|
@ -576,18 +632,44 @@ void EventHandler::handleEvent(Event::Type event, bool pressed)
|
||||||
if(pressed) myOSystem.frameBuffer().tiaSurface().saveSnapShot();
|
if(pressed) myOSystem.frameBuffer().tiaSurface().saveSnapShot();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Event::LauncherMode:
|
case Event::ExitMode:
|
||||||
if((myState == EventHandlerState::EMULATION || myState == EventHandlerState::CMDMENU ||
|
// Special handling for Escape key
|
||||||
myState == EventHandlerState::DEBUGGER) && pressed)
|
// Basically, exit whichever mode we're currently in
|
||||||
|
switch (myState)
|
||||||
{
|
{
|
||||||
// Go back to the launcher, or immediately quit
|
case EventHandlerState::PAUSE:
|
||||||
if(myOSystem.settings().getBool("exitlauncher") ||
|
if (pressed) changeStateByEvent(Event::PauseMode);
|
||||||
myOSystem.launcherUsed())
|
return;
|
||||||
myOSystem.createLauncher();
|
|
||||||
else
|
case EventHandlerState::CMDMENU:
|
||||||
handleEvent(Event::Quit);
|
if (pressed) changeStateByEvent(Event::CmdMenuMode);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case EventHandlerState::TIMEMACHINE:
|
||||||
|
if (pressed) changeStateByEvent(Event::TimeMachineMode);
|
||||||
|
return;
|
||||||
|
|
||||||
|
#if 0 // FIXME - exits ROM too, when it should just go back to ROM
|
||||||
|
case EventHandlerState::DEBUGGER:
|
||||||
|
if (pressed) changeStateByEvent(Event::DebuggerMode);
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
case EventHandlerState::EMULATION:
|
||||||
|
if (pressed)
|
||||||
|
{
|
||||||
|
// Go back to the launcher, or immediately quit
|
||||||
|
if (myOSystem.settings().getBool("exitlauncher") ||
|
||||||
|
myOSystem.launcherUsed())
|
||||||
|
myOSystem.createLauncher();
|
||||||
|
else
|
||||||
|
handleEvent(Event::Quit);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
|
|
||||||
case Event::Quit:
|
case Event::Quit:
|
||||||
if(pressed)
|
if(pressed)
|
||||||
|
@ -1421,146 +1503,166 @@ void EventHandler::setState(EventHandlerState state)
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
|
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
|
||||||
{ Event::ConsoleSelect, "Select", "", true },
|
{ Event::ConsoleSelect, "Select", "", true },
|
||||||
{ Event::ConsoleReset, "Reset", "", true },
|
{ Event::ConsoleReset, "Reset", "", true },
|
||||||
{ Event::ConsoleColor, "Color TV", "", true },
|
{ Event::ConsoleColor, "Color TV", "", true },
|
||||||
{ Event::ConsoleBlackWhite, "Black & White TV", "", true },
|
{ Event::ConsoleBlackWhite, "Black & White TV", "", true },
|
||||||
{ Event::ConsoleColorToggle, "Swap Color / B&W TV", "", true },
|
{ Event::ConsoleColorToggle, "Swap Color / B&W TV", "", true },
|
||||||
{ Event::Console7800Pause, "7800 Pause Key", "", true },
|
{ Event::Console7800Pause, "7800 Pause Key", "", true },
|
||||||
{ Event::ConsoleLeftDiffA, "P0 Difficulty A", "", true },
|
{ Event::ConsoleLeftDiffA, "P0 Difficulty A", "", true },
|
||||||
{ Event::ConsoleLeftDiffB, "P0 Difficulty B", "", true },
|
{ Event::ConsoleLeftDiffB, "P0 Difficulty B", "", true },
|
||||||
{ Event::ConsoleLeftDiffToggle, "P0 swap Difficulty", "", true },
|
{ Event::ConsoleLeftDiffToggle, "P0 swap Difficulty", "", true },
|
||||||
{ Event::ConsoleRightDiffA, "P1 Difficulty A", "", true },
|
{ Event::ConsoleRightDiffA, "P1 Difficulty A", "", true },
|
||||||
{ Event::ConsoleRightDiffB, "P1 Difficulty B", "", true },
|
{ Event::ConsoleRightDiffB, "P1 Difficulty B", "", true },
|
||||||
{ Event::ConsoleRightDiffToggle, "P1 swap Difficulty", "", true },
|
{ Event::ConsoleRightDiffToggle, "P1 swap Difficulty", "", true },
|
||||||
{ Event::SaveState, "Save state", "", false },
|
{ Event::SaveState, "Save state", "", false },
|
||||||
{ Event::ChangeState, "Change state", "", false },
|
{ Event::ChangeState, "Change state", "", false },
|
||||||
{ Event::LoadState, "Load state", "", false },
|
{ Event::LoadState, "Load state", "", false },
|
||||||
{ Event::TakeSnapshot, "Snapshot", "", false },
|
{ Event::TakeSnapshot, "Snapshot", "", false },
|
||||||
{ Event::Fry, "Fry cartridge", "", false },
|
{ Event::Fry, "Fry cartridge", "", false },
|
||||||
{ Event::VidmodeDecrease, "Previous zoom level", "", false },
|
{ Event::VidmodeDecrease, "Previous zoom level", "", false },
|
||||||
{ Event::VidmodeIncrease, "Next zoom level", "", false },
|
{ Event::VidmodeIncrease, "Next zoom level", "", false },
|
||||||
{ Event::ToggleFullScreen, "Toggle fullscreen", "", false },
|
{ Event::ToggleFullScreen, "Toggle fullscreen", "", false },
|
||||||
|
|
||||||
{ Event::VidmodeStd, "Disable TV effects", "", false },
|
{ Event::VidmodeStd, "Disable TV effects", "", false },
|
||||||
{ Event::VidmodeRGB, "Select 'RGB' preset", "", false },
|
{ Event::VidmodeRGB, "Select 'RGB' preset", "", false },
|
||||||
{ Event::VidmodeSVideo, "Select 'S-Video' preset", "", false },
|
{ Event::VidmodeSVideo, "Select 'S-Video' preset", "", false },
|
||||||
{ Event::VidModeComposite, "Select 'Composite' preset", "", false },
|
{ Event::VidModeComposite, "Select 'Composite' preset", "", false },
|
||||||
{ Event::VidModeBad, "Select 'Badly adjusted' preset", "", false },
|
{ Event::VidModeBad, "Select 'Badly adjusted' preset", "", false },
|
||||||
{ Event::VidModeCustom, "Select 'Custom' preset", "", false },
|
{ Event::VidModeCustom, "Select 'Custom' preset", "", false },
|
||||||
{ Event::PreviousAttribute, "Select previous 'Custom' attribute", "", false },
|
{ Event::PreviousAttribute, "Select previous 'Custom' attribute", "", false },
|
||||||
{ Event::NextAttribute, "Select next 'Custom' attribute", "", false },
|
{ Event::NextAttribute, "Select next 'Custom' attribute", "", false },
|
||||||
{ Event::DecreaseAttribute, "Decrease selected 'Custom' attribute", "", false },
|
{ Event::DecreaseAttribute, "Decrease selected 'Custom' attribute", "", false },
|
||||||
{ Event::IncreaseAttribute, "Increase selected 'Custom' attribute", "", false },
|
{ Event::IncreaseAttribute, "Increase selected 'Custom' attribute", "", false },
|
||||||
{ Event::ScanlinesDecrease, "Decrease scanlines", "", false },
|
{ Event::ScanlinesDecrease, "Decrease scanlines", "", false },
|
||||||
{ Event::ScanlinesIncrease, "Increase scanlines", "", false },
|
{ Event::ScanlinesIncrease, "Increase scanlines", "", false },
|
||||||
{ Event::VolumeDecrease, "Decrease volume", "", false },
|
{ Event::TogglePhosphor, "Toggle 'phosphor' effect", "", false },
|
||||||
{ Event::VolumeIncrease, "Increase volume", "", false },
|
{ Event::DecreasePhosphor, "Decrease 'phosphor' blend", "", false },
|
||||||
{ Event::SoundToggle, "Toggle sound", "", false },
|
{ Event::IncreasePhosphor, "Increase 'phosphor' blend", "", false },
|
||||||
{ Event::PauseMode, "Pause", "", false },
|
{ Event::DecreaseFormat, "Decrease display format", "", false },
|
||||||
{ Event::OptionsMenuMode, "Enter options menu UI", "", false },
|
{ Event::IncreaseFormat, "Increase display format", "", false },
|
||||||
{ Event::CmdMenuMode, "Toggle command menu UI", "", false },
|
{ Event::TogglePalette, "Switch palette (Standard/Z26/User)", "", false },
|
||||||
{ Event::TimeMachineMode, "Toggle time machine UI", "", false },
|
{ Event::ToggleColorLoss, "Toggle PAL color-loss effect", "", false },
|
||||||
{ Event::Rewind, "Rewind game", "", false },
|
#ifdef PNG_SUPPORT
|
||||||
{ Event::Unwind, "Unwind game", "", false },
|
{ Event::ToggleContSnapshots, "Save cont. PNG snapsh. (as defined)", "", false },
|
||||||
{ Event::DebuggerMode, "Toggle debugger mode", "", false },
|
{ Event::ToggleContSnapshotsFrame,"Save cont. PNG snapsh. (every frame)", "", false },
|
||||||
{ Event::LauncherMode, "Enter ROM launcher", "", false },
|
#endif
|
||||||
{ Event::Quit, "Quit", "", false },
|
{ Event::ToggleTimeMachine, "Toggle 'Time Machine' mode", "", false },
|
||||||
|
|
||||||
{ Event::JoystickZeroUp, "P0 Joystick Up", "", true },
|
{ Event::VolumeDecrease, "Decrease volume", "", false },
|
||||||
{ Event::JoystickZeroDown, "P0 Joystick Down", "", true },
|
{ Event::VolumeIncrease, "Increase volume", "", false },
|
||||||
{ Event::JoystickZeroLeft, "P0 Joystick Left", "", true },
|
{ Event::SoundToggle, "Toggle sound", "", false },
|
||||||
{ Event::JoystickZeroRight, "P0 Joystick Right", "", true },
|
{ Event::PauseMode, "Pause", "", false },
|
||||||
{ Event::JoystickZeroFire, "P0 Joystick Fire", "", true },
|
{ Event::OptionsMenuMode, "Enter options menu UI", "", false },
|
||||||
{ Event::JoystickZeroFire5, "P0 Booster Top Booster Button", "", true },
|
{ Event::CmdMenuMode, "Toggle command menu UI", "", false },
|
||||||
{ Event::JoystickZeroFire9, "P0 Booster Handle Grip Trigger", "", true },
|
{ Event::TimeMachineMode, "Toggle time machine UI", "", false },
|
||||||
|
{ Event::Rewind, "Rewind game", "", false },
|
||||||
|
{ Event::Unwind, "Unwind game", "", false },
|
||||||
|
{ Event::DebuggerMode, "Toggle debugger mode", "", false },
|
||||||
|
{ Event::ReloadConsole, "Reload current ROM/load next game", "", false },
|
||||||
|
{ Event::ExitMode, "Exit current Stella mode", "", false },
|
||||||
|
{ Event::Quit, "Quit", "", false },
|
||||||
|
|
||||||
{ Event::JoystickOneUp, "P1 Joystick Up", "", true },
|
{ Event::HandleMouseControl, "Disable TV effects", "", false },
|
||||||
{ Event::JoystickOneDown, "P1 Joystick Down", "", true },
|
{ Event::ToggleGrabMouse, "Select 'RGB' preset", "", false },
|
||||||
{ Event::JoystickOneLeft, "P1 Joystick Left", "", true },
|
{ Event::ToggleSAPortOrder, "Select 'S-Video' preset", "", false },
|
||||||
{ Event::JoystickOneRight, "P1 Joystick Right", "", true },
|
|
||||||
{ Event::JoystickOneFire, "P1 Joystick Fire", "", true },
|
|
||||||
{ Event::JoystickOneFire5, "P1 Booster Top Booster Button", "", true },
|
|
||||||
{ Event::JoystickOneFire9, "P1 Booster Handle Grip Trigger", "", true },
|
|
||||||
|
|
||||||
{ Event::PaddleZeroAnalog, "Paddle 0 Analog", "", true },
|
{ Event::JoystickZeroUp, "P0 Joystick Up", "", true },
|
||||||
{ Event::PaddleZeroDecrease, "Paddle 0 Decrease", "", true },
|
{ Event::JoystickZeroDown, "P0 Joystick Down", "", true },
|
||||||
{ Event::PaddleZeroIncrease, "Paddle 0 Increase", "", true },
|
{ Event::JoystickZeroLeft, "P0 Joystick Left", "", true },
|
||||||
{ Event::PaddleZeroFire, "Paddle 0 Fire", "", true },
|
{ Event::JoystickZeroRight, "P0 Joystick Right", "", true },
|
||||||
|
{ Event::JoystickZeroFire, "P0 Joystick Fire", "", true },
|
||||||
|
{ Event::JoystickZeroFire5, "P0 Booster Top Booster Button", "", true },
|
||||||
|
{ Event::JoystickZeroFire9, "P0 Booster Handle Grip Trigger", "", true },
|
||||||
|
|
||||||
{ Event::PaddleOneAnalog, "Paddle 1 Analog", "", true },
|
{ Event::JoystickOneUp, "P1 Joystick Up", "", true },
|
||||||
{ Event::PaddleOneDecrease, "Paddle 1 Decrease", "", true },
|
{ Event::JoystickOneDown, "P1 Joystick Down", "", true },
|
||||||
{ Event::PaddleOneIncrease, "Paddle 1 Increase", "", true },
|
{ Event::JoystickOneLeft, "P1 Joystick Left", "", true },
|
||||||
{ Event::PaddleOneFire, "Paddle 1 Fire", "", true },
|
{ Event::JoystickOneRight, "P1 Joystick Right", "", true },
|
||||||
|
{ Event::JoystickOneFire, "P1 Joystick Fire", "", true },
|
||||||
|
{ Event::JoystickOneFire5, "P1 Booster Top Booster Button", "", true },
|
||||||
|
{ Event::JoystickOneFire9, "P1 Booster Handle Grip Trigger", "", true },
|
||||||
|
|
||||||
{ Event::PaddleTwoAnalog, "Paddle 2 Analog", "", true },
|
{ Event::PaddleZeroAnalog, "Paddle 0 Analog", "", true },
|
||||||
{ Event::PaddleTwoDecrease, "Paddle 2 Decrease", "", true },
|
{ Event::PaddleZeroDecrease, "Paddle 0 Decrease", "", true },
|
||||||
{ Event::PaddleTwoIncrease, "Paddle 2 Increase", "", true },
|
{ Event::PaddleZeroIncrease, "Paddle 0 Increase", "", true },
|
||||||
{ Event::PaddleTwoFire, "Paddle 2 Fire", "", true },
|
{ Event::PaddleZeroFire, "Paddle 0 Fire", "", true },
|
||||||
|
|
||||||
{ Event::PaddleThreeAnalog, "Paddle 3 Analog", "", true },
|
{ Event::PaddleOneAnalog, "Paddle 1 Analog", "", true },
|
||||||
{ Event::PaddleThreeDecrease, "Paddle 3 Decrease", "", true },
|
{ Event::PaddleOneDecrease, "Paddle 1 Decrease", "", true },
|
||||||
{ Event::PaddleThreeIncrease, "Paddle 3 Increase", "", true },
|
{ Event::PaddleOneIncrease, "Paddle 1 Increase", "", true },
|
||||||
{ Event::PaddleThreeFire, "Paddle 3 Fire", "", true },
|
{ Event::PaddleOneFire, "Paddle 1 Fire", "", true },
|
||||||
|
|
||||||
{ Event::KeyboardZero1, "P0 Keyboard 1", "", true },
|
{ Event::PaddleTwoAnalog, "Paddle 2 Analog", "", true },
|
||||||
{ Event::KeyboardZero2, "P0 Keyboard 2", "", true },
|
{ Event::PaddleTwoDecrease, "Paddle 2 Decrease", "", true },
|
||||||
{ Event::KeyboardZero3, "P0 Keyboard 3", "", true },
|
{ Event::PaddleTwoIncrease, "Paddle 2 Increase", "", true },
|
||||||
{ Event::KeyboardZero4, "P0 Keyboard 4", "", true },
|
{ Event::PaddleTwoFire, "Paddle 2 Fire", "", true },
|
||||||
{ Event::KeyboardZero5, "P0 Keyboard 5", "", true },
|
|
||||||
{ Event::KeyboardZero6, "P0 Keyboard 6", "", true },
|
|
||||||
{ Event::KeyboardZero7, "P0 Keyboard 7", "", true },
|
|
||||||
{ Event::KeyboardZero8, "P0 Keyboard 8", "", true },
|
|
||||||
{ Event::KeyboardZero9, "P0 Keyboard 9", "", true },
|
|
||||||
{ Event::KeyboardZeroStar, "P0 Keyboard *", "", true },
|
|
||||||
{ Event::KeyboardZero0, "P0 Keyboard 0", "", true },
|
|
||||||
{ Event::KeyboardZeroPound, "P0 Keyboard #", "", true },
|
|
||||||
|
|
||||||
{ Event::KeyboardOne1, "P1 Keyboard 1", "", true },
|
{ Event::PaddleThreeAnalog, "Paddle 3 Analog", "", true },
|
||||||
{ Event::KeyboardOne2, "P1 Keyboard 2", "", true },
|
{ Event::PaddleThreeDecrease, "Paddle 3 Decrease", "", true },
|
||||||
{ Event::KeyboardOne3, "P1 Keyboard 3", "", true },
|
{ Event::PaddleThreeIncrease, "Paddle 3 Increase", "", true },
|
||||||
{ Event::KeyboardOne4, "P1 Keyboard 4", "", true },
|
{ Event::PaddleThreeFire, "Paddle 3 Fire", "", true },
|
||||||
{ Event::KeyboardOne5, "P1 Keyboard 5", "", true },
|
|
||||||
{ Event::KeyboardOne6, "P1 Keyboard 6", "", true },
|
|
||||||
{ Event::KeyboardOne7, "P1 Keyboard 7", "", true },
|
|
||||||
{ Event::KeyboardOne8, "P1 Keyboard 8", "", true },
|
|
||||||
{ Event::KeyboardOne9, "P1 Keyboard 9", "", true },
|
|
||||||
{ Event::KeyboardOneStar, "P1 Keyboard *", "", true },
|
|
||||||
{ Event::KeyboardOne0, "P1 Keyboard 0", "", true },
|
|
||||||
{ Event::KeyboardOnePound, "P1 Keyboard #", "", true },
|
|
||||||
|
|
||||||
{ Event::Combo1, "Combo 1", "", false },
|
{ Event::KeyboardZero1, "P0 Keyboard 1", "", true },
|
||||||
{ Event::Combo2, "Combo 2", "", false },
|
{ Event::KeyboardZero2, "P0 Keyboard 2", "", true },
|
||||||
{ Event::Combo3, "Combo 3", "", false },
|
{ Event::KeyboardZero3, "P0 Keyboard 3", "", true },
|
||||||
{ Event::Combo4, "Combo 4", "", false },
|
{ Event::KeyboardZero4, "P0 Keyboard 4", "", true },
|
||||||
{ Event::Combo5, "Combo 5", "", false },
|
{ Event::KeyboardZero5, "P0 Keyboard 5", "", true },
|
||||||
{ Event::Combo6, "Combo 6", "", false },
|
{ Event::KeyboardZero6, "P0 Keyboard 6", "", true },
|
||||||
{ Event::Combo7, "Combo 7", "", false },
|
{ Event::KeyboardZero7, "P0 Keyboard 7", "", true },
|
||||||
{ Event::Combo8, "Combo 8", "", false },
|
{ Event::KeyboardZero8, "P0 Keyboard 8", "", true },
|
||||||
{ Event::Combo9, "Combo 9", "", false },
|
{ Event::KeyboardZero9, "P0 Keyboard 9", "", true },
|
||||||
{ Event::Combo10, "Combo 10", "", false },
|
{ Event::KeyboardZeroStar, "P0 Keyboard *", "", true },
|
||||||
{ Event::Combo11, "Combo 11", "", false },
|
{ Event::KeyboardZero0, "P0 Keyboard 0", "", true },
|
||||||
{ Event::Combo12, "Combo 12", "", false },
|
{ Event::KeyboardZeroPound, "P0 Keyboard #", "", true },
|
||||||
{ Event::Combo13, "Combo 13", "", false },
|
|
||||||
{ Event::Combo14, "Combo 14", "", false },
|
|
||||||
{ Event::Combo15, "Combo 15", "", false },
|
|
||||||
{ Event::Combo16, "Combo 16", "", false },
|
|
||||||
|
|
||||||
{ Event::ToggleP0Bit, "Toggle TIA Player0 object", "", false },
|
{ Event::KeyboardOne1, "P1 Keyboard 1", "", true },
|
||||||
{ Event::ToggleP0Collision, "Toggle TIA Player0 collisions", "", false },
|
{ Event::KeyboardOne2, "P1 Keyboard 2", "", true },
|
||||||
{ Event::ToggleP1Bit, "Toggle TIA Player1 object", "", false },
|
{ Event::KeyboardOne3, "P1 Keyboard 3", "", true },
|
||||||
{ Event::ToggleP1Collision, "Toggle TIA Player1 collisions", "", false },
|
{ Event::KeyboardOne4, "P1 Keyboard 4", "", true },
|
||||||
{ Event::ToggleM0Bit, "Toggle TIA Missile0 object", "", false },
|
{ Event::KeyboardOne5, "P1 Keyboard 5", "", true },
|
||||||
{ Event::ToggleM0Collision, "Toggle TIA Missile0 collisions", "", false },
|
{ Event::KeyboardOne6, "P1 Keyboard 6", "", true },
|
||||||
{ Event::ToggleM1Bit, "Toggle TIA Missile1 object", "", false },
|
{ Event::KeyboardOne7, "P1 Keyboard 7", "", true },
|
||||||
{ Event::ToggleM1Collision, "Toggle TIA Missile1 collisions", "", false },
|
{ Event::KeyboardOne8, "P1 Keyboard 8", "", true },
|
||||||
{ Event::ToggleBLBit, "Toggle TIA Ball object", "", false },
|
{ Event::KeyboardOne9, "P1 Keyboard 9", "", true },
|
||||||
{ Event::ToggleBLCollision, "Toggle TIA Ball collisions", "", false },
|
{ Event::KeyboardOneStar, "P1 Keyboard *", "", true },
|
||||||
{ Event::TogglePFBit, "Toggle TIA Playfield object", "", false },
|
{ Event::KeyboardOne0, "P1 Keyboard 0", "", true },
|
||||||
{ Event::TogglePFCollision, "Toggle TIA Playfield collisions","", false },
|
{ Event::KeyboardOnePound, "P1 Keyboard #", "", true },
|
||||||
{ Event::ToggleFixedColors, "Toggle TIA 'Fixed Debug Colors' mode","", false },
|
|
||||||
{ Event::ToggleBits, "Toggle all TIA objects", "", false },
|
{ Event::Combo1, "Combo 1", "", false },
|
||||||
{ Event::ToggleCollisions, "Toggle all TIA collisions", "", false }
|
{ Event::Combo2, "Combo 2", "", false },
|
||||||
|
{ Event::Combo3, "Combo 3", "", false },
|
||||||
|
{ Event::Combo4, "Combo 4", "", false },
|
||||||
|
{ Event::Combo5, "Combo 5", "", false },
|
||||||
|
{ Event::Combo6, "Combo 6", "", false },
|
||||||
|
{ Event::Combo7, "Combo 7", "", false },
|
||||||
|
{ Event::Combo8, "Combo 8", "", false },
|
||||||
|
{ Event::Combo9, "Combo 9", "", false },
|
||||||
|
{ Event::Combo10, "Combo 10", "", false },
|
||||||
|
{ Event::Combo11, "Combo 11", "", false },
|
||||||
|
{ Event::Combo12, "Combo 12", "", false },
|
||||||
|
{ Event::Combo13, "Combo 13", "", false },
|
||||||
|
{ Event::Combo14, "Combo 14", "", false },
|
||||||
|
{ Event::Combo15, "Combo 15", "", false },
|
||||||
|
{ Event::Combo16, "Combo 16", "", false },
|
||||||
|
|
||||||
|
{ Event::ToggleFrameStats, "Toggle frame stats", "", false },
|
||||||
|
{ Event::ToggleP0Bit, "Toggle TIA Player0 object", "", false },
|
||||||
|
{ Event::ToggleP0Collision, "Toggle TIA Player0 collisions", "", false },
|
||||||
|
{ Event::ToggleP1Bit, "Toggle TIA Player1 object", "", false },
|
||||||
|
{ Event::ToggleP1Collision, "Toggle TIA Player1 collisions", "", false },
|
||||||
|
{ Event::ToggleM0Bit, "Toggle TIA Missile0 object", "", false },
|
||||||
|
{ Event::ToggleM0Collision, "Toggle TIA Missile0 collisions", "", false },
|
||||||
|
{ Event::ToggleM1Bit, "Toggle TIA Missile1 object", "", false },
|
||||||
|
{ Event::ToggleM1Collision, "Toggle TIA Missile1 collisions", "", false },
|
||||||
|
{ Event::ToggleBLBit, "Toggle TIA Ball object", "", false },
|
||||||
|
{ Event::ToggleBLCollision, "Toggle TIA Ball collisions", "", false },
|
||||||
|
{ Event::TogglePFBit, "Toggle TIA Playfield object", "", false },
|
||||||
|
{ Event::TogglePFCollision, "Toggle TIA Playfield collisions", "", false },
|
||||||
|
{ Event::ToggleFixedColors, "Toggle TIA 'Fixed Debug Colors' mode", "", false },
|
||||||
|
{ Event::ToggleBits, "Toggle all TIA objects", "", false },
|
||||||
|
{ Event::ToggleCollisions, "Toggle all TIA collisions", "", false },
|
||||||
|
{ Event::ToggleJitter, "Toggle TV 'Jitter' effect", "", false }
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -367,7 +367,11 @@ class EventHandler
|
||||||
static constexpr Int32
|
static constexpr Int32
|
||||||
COMBO_SIZE = 16,
|
COMBO_SIZE = 16,
|
||||||
EVENTS_PER_COMBO = 8,
|
EVENTS_PER_COMBO = 8,
|
||||||
EMUL_ACTIONLIST_SIZE = 113 + COMBO_SIZE,
|
#ifdef PNG_SUPPORT
|
||||||
|
EMUL_ACTIONLIST_SIZE = 129 + COMBO_SIZE,
|
||||||
|
#else
|
||||||
|
EMUL_ACTIONLIST_SIZE = 129 - 2 + COMBO_SIZE,
|
||||||
|
#endif
|
||||||
MENU_ACTIONLIST_SIZE = 18
|
MENU_ACTIONLIST_SIZE = 18
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ void CommandDialog::handleCommand(CommandSender* sender, int cmd,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kExitCmd:
|
case kExitCmd:
|
||||||
instance().eventHandler().handleEvent(Event::LauncherMode);
|
instance().eventHandler().handleEvent(Event::ExitMode);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Column 3
|
// Column 3
|
||||||
|
|
|
@ -248,7 +248,7 @@ void MinUICommandDialog::handleCommand(CommandSender* sender, int cmd,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kExitGameCmd:
|
case kExitGameCmd:
|
||||||
instance().eventHandler().handleEvent(Event::LauncherMode);
|
instance().eventHandler().handleEvent(Event::ExitMode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue