diff --git a/src/common/PKeyboardHandler.cxx b/src/common/PKeyboardHandler.cxx index c82883998..64183163e 100644 --- a/src/common/PKeyboardHandler.cxx +++ b/src/common/PKeyboardHandler.cxx @@ -44,10 +44,16 @@ PhysicalKeyboardHandler::PhysicalKeyboardHandler( myAltKeyCounter(0), myUseCtrlKeyFlag(myOSystem.settings().getBool("ctrlcombo")) { - string list = myOSystem.settings().getString("keymap_emu"); - myKeyMap.loadMapping(list, kEmulationMode); - list = myOSystem.settings().getString("keymap_ui"); - myKeyMap.loadMapping(list, kMenuMode); + Int32 version = myOSystem.settings().getInt("event_ver"); + + // Compare if event list version has changed so that key maps became invalid + if (version == Event::VERSION) + { + string list = myOSystem.settings().getString("keymap_emu"); + myKeyMap.loadMapping(list, kEmulationMode); + list = myOSystem.settings().getString("keymap_ui"); + myKeyMap.loadMapping(list, kMenuMode); + } setDefaultMapping(Event::NoType, kEmulationMode, true); setDefaultMapping(Event::NoType, kMenuMode, true); @@ -278,6 +284,7 @@ void PhysicalKeyboardHandler::eraseMapping(Event::Type event, EventMode mode) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void PhysicalKeyboardHandler::saveMapping() { + myOSystem.settings().setValue("event_ver", Event::VERSION); myOSystem.settings().setValue("keymap_emu", myKeyMap.saveMapping(kEmulationMode)); myOSystem.settings().setValue("keymap_ui", myKeyMap.saveMapping(kMenuMode)); } diff --git a/src/emucore/Event.hxx b/src/emucore/Event.hxx index 5f8bb6448..99377a395 100644 --- a/src/emucore/Event.hxx +++ b/src/emucore/Event.hxx @@ -37,7 +37,7 @@ class Event enum Type { NoType = 0, - ConsoleOn = 1, ConsoleOff = 2, ConsoleColor = 3, ConsoleBlackWhite = 4, + ConsoleOn, ConsoleOff, ConsoleColor, ConsoleBlackWhite, ConsoleLeftDiffA, ConsoleLeftDiffB, ConsoleRightDiffA, ConsoleRightDiffB, ConsoleSelect, ConsoleReset, @@ -108,6 +108,9 @@ class Event LastType }; + // Event list version, update if the id of existing event types changed + static constexpr Int32 VERSION = 1; + class KeyTable { public: diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index 41d37964c..465118b38 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -1019,6 +1019,7 @@ void EventHandler::setComboMap() string list = myOSystem.settings().getString("combomap"); replace(list.begin(), list.end(), ':', ' '); istringstream buf(list); + Int32 version = myOSystem.settings().getInt("event_ver"); // Erase the 'combo' array auto ERASE_ALL = [&]() { @@ -1027,12 +1028,13 @@ void EventHandler::setComboMap() myComboTable[i][j] = Event::NoType; }; - // Get combo count, which should be the first int in the list - // If it isn't, then we treat the entire list as invalid - if(!buf.good()) + // Compare if event list version has changed so that combo maps became invalid + if(version != Event::VERSION || !buf.good()) ERASE_ALL(); else { + // Get combo count, which should be the first int in the list + // If it isn't, then we treat the entire list as invalid string key; buf >> key; if(atoi(key.c_str()) == COMBO_SIZE) @@ -1225,7 +1227,9 @@ VariantList EventHandler::getComboList(EventMode /**/) const VarList::push_back(l, "None", "-1"); for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i) { - if(EventHandler::ourEmulActionList[i].allow_combo) + Event::Type event = EventHandler::ourEmulActionList[i].event; + // exclude combos events + if(!(event >= Event::Combo1 && event <= Event::Combo16)) { buf << i; VarList::push_back(l, EventHandler::ourEmulActionList[i].action, buf.str()); @@ -1248,8 +1252,7 @@ StringList EventHandler::getComboListForEvent(Event::Type event) const Event::Type e = myComboTable[combo][i]; for(uInt32 j = 0; j < EMUL_ACTIONLIST_SIZE; ++j) { - if(EventHandler::ourEmulActionList[j].event == e && - EventHandler::ourEmulActionList[j].allow_combo) + if(EventHandler::ourEmulActionList[j].event == e) { buf << j; l.push_back(buf.str()); @@ -1532,199 +1535,199 @@ void EventHandler::setState(EventHandlerState state) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = { - { Event::Quit, "Quit", "", false }, - { Event::ExitMode, "Exit current Stella menu/mode", "", false }, - { Event::OptionsMenuMode, "Enter Options menu UI", "", false }, - { Event::CmdMenuMode, "Toggle Commands menu UI", "", false }, - { Event::DebuggerMode, "Toggle Debugger mode", "", false }, + { Event::Quit, "Quit", "" }, + { Event::ExitMode, "Exit current Stella menu/mode", "" }, + { Event::OptionsMenuMode, "Enter Options menu UI", "" }, + { Event::CmdMenuMode, "Toggle Commands menu UI", "" }, + { Event::DebuggerMode, "Toggle Debugger mode", "" }, - { Event::ConsoleSelect, "Select", "", true }, - { Event::ConsoleReset, "Reset", "", true }, - { Event::ConsoleColor, "Color TV", "", true }, - { Event::ConsoleBlackWhite, "Black & White TV", "", true }, - { Event::ConsoleColorToggle, "Swap Color / B&W TV", "", true }, - { Event::Console7800Pause, "7800 Pause Key", "", true }, - { Event::ConsoleLeftDiffA, "P0 Difficulty A", "", true }, - { Event::ConsoleLeftDiffB, "P0 Difficulty B", "", true }, - { Event::ConsoleLeftDiffToggle, "P0 Swap Difficulty", "", true }, - { Event::ConsoleRightDiffA, "P1 Difficulty A", "", true }, - { Event::ConsoleRightDiffB, "P1 Difficulty B", "", true }, - { Event::ConsoleRightDiffToggle, "P1 Swap Difficulty", "", true }, - { Event::SaveState, "Save state", "", false }, - { Event::ChangeState, "Change state", "", false }, - { Event::LoadState, "Load state", "", false }, - { Event::TakeSnapshot, "Snapshot", "", false }, - { Event::TogglePauseMode, "Toggle pause mode", "", true }, - { Event::StartPauseMode, "Start pause mode", "", true }, + { Event::ConsoleSelect, "Select", "" }, + { Event::ConsoleReset, "Reset", "" }, + { Event::ConsoleColor, "Color TV", "" }, + { Event::ConsoleBlackWhite, "Black & White TV", "" }, + { Event::ConsoleColorToggle, "Swap Color / B&W TV", "" }, + { Event::Console7800Pause, "7800 Pause Key", "" }, + { Event::ConsoleLeftDiffA, "P0 Difficulty A", "" }, + { Event::ConsoleLeftDiffB, "P0 Difficulty B", "" }, + { Event::ConsoleLeftDiffToggle, "P0 Swap Difficulty", "" }, + { Event::ConsoleRightDiffA, "P1 Difficulty A", "" }, + { Event::ConsoleRightDiffB, "P1 Difficulty B", "" }, + { Event::ConsoleRightDiffToggle, "P1 Swap Difficulty", "" }, + { Event::SaveState, "Save state", "" }, + { Event::ChangeState, "Change state", "" }, + { Event::LoadState, "Load state", "" }, + { Event::TakeSnapshot, "Snapshot", "" }, + { Event::TogglePauseMode, "Toggle pause mode", "" }, + { Event::StartPauseMode, "Start pause mode", "" }, - { Event::JoystickZeroUp, "P0 Joystick Up", "", true }, - { Event::JoystickZeroDown, "P0 Joystick Down", "", true }, - { Event::JoystickZeroLeft, "P0 Joystick Left", "", 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::JoystickZeroUp, "P0 Joystick Up", "" }, + { Event::JoystickZeroDown, "P0 Joystick Down", "" }, + { Event::JoystickZeroLeft, "P0 Joystick Left", "" }, + { Event::JoystickZeroRight, "P0 Joystick Right", "" }, + { Event::JoystickZeroFire, "P0 Joystick Fire", "" }, + { Event::JoystickZeroFire5, "P0 Booster Top Booster Button", "" }, + { Event::JoystickZeroFire9, "P0 Booster Handle Grip Trigger", "" }, - { Event::JoystickOneUp, "P1 Joystick Up", "", true }, - { Event::JoystickOneDown, "P1 Joystick Down", "", true }, - { Event::JoystickOneLeft, "P1 Joystick Left", "", 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::JoystickOneUp, "P1 Joystick Up", "" }, + { Event::JoystickOneDown, "P1 Joystick Down", "" }, + { Event::JoystickOneLeft, "P1 Joystick Left", "" }, + { Event::JoystickOneRight, "P1 Joystick Right", "" }, + { Event::JoystickOneFire, "P1 Joystick Fire", "" }, + { Event::JoystickOneFire5, "P1 Booster Top Booster Button", "" }, + { Event::JoystickOneFire9, "P1 Booster Handle Grip Trigger", "" }, - { Event::PaddleZeroAnalog, "Paddle 0 Analog", "", true }, - { Event::PaddleZeroDecrease, "Paddle 0 Decrease", "", true }, - { Event::PaddleZeroIncrease, "Paddle 0 Increase", "", true }, - { Event::PaddleZeroFire, "Paddle 0 Fire", "", true }, + { Event::PaddleZeroAnalog, "Paddle 0 Analog", "" }, + { Event::PaddleZeroDecrease, "Paddle 0 Decrease", "" }, + { Event::PaddleZeroIncrease, "Paddle 0 Increase", "" }, + { Event::PaddleZeroFire, "Paddle 0 Fire", "" }, - { Event::PaddleOneAnalog, "Paddle 1 Analog", "", true }, - { Event::PaddleOneDecrease, "Paddle 1 Decrease", "", true }, - { Event::PaddleOneIncrease, "Paddle 1 Increase", "", true }, - { Event::PaddleOneFire, "Paddle 1 Fire", "", true }, + { Event::PaddleOneAnalog, "Paddle 1 Analog", "" }, + { Event::PaddleOneDecrease, "Paddle 1 Decrease", "" }, + { Event::PaddleOneIncrease, "Paddle 1 Increase", "" }, + { Event::PaddleOneFire, "Paddle 1 Fire", "" }, - { Event::PaddleTwoAnalog, "Paddle 2 Analog", "", true }, - { Event::PaddleTwoDecrease, "Paddle 2 Decrease", "", true }, - { Event::PaddleTwoIncrease, "Paddle 2 Increase", "", true }, - { Event::PaddleTwoFire, "Paddle 2 Fire", "", true }, + { Event::PaddleTwoAnalog, "Paddle 2 Analog", "" }, + { Event::PaddleTwoDecrease, "Paddle 2 Decrease", "" }, + { Event::PaddleTwoIncrease, "Paddle 2 Increase", "" }, + { Event::PaddleTwoFire, "Paddle 2 Fire", "" }, - { Event::PaddleThreeAnalog, "Paddle 3 Analog", "", true }, - { Event::PaddleThreeDecrease, "Paddle 3 Decrease", "", true }, - { Event::PaddleThreeIncrease, "Paddle 3 Increase", "", true }, - { Event::PaddleThreeFire, "Paddle 3 Fire", "", true }, + { Event::PaddleThreeAnalog, "Paddle 3 Analog", "" }, + { Event::PaddleThreeDecrease, "Paddle 3 Decrease", "" }, + { Event::PaddleThreeIncrease, "Paddle 3 Increase", "" }, + { Event::PaddleThreeFire, "Paddle 3 Fire", "" }, - { Event::KeyboardZero1, "P0 Keyboard 1", "", true }, - { Event::KeyboardZero2, "P0 Keyboard 2", "", true }, - { Event::KeyboardZero3, "P0 Keyboard 3", "", true }, - { Event::KeyboardZero4, "P0 Keyboard 4", "", 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::KeyboardZero1, "P0 Keyboard 1", "" }, + { Event::KeyboardZero2, "P0 Keyboard 2", "" }, + { Event::KeyboardZero3, "P0 Keyboard 3", "" }, + { Event::KeyboardZero4, "P0 Keyboard 4", "" }, + { Event::KeyboardZero5, "P0 Keyboard 5", "" }, + { Event::KeyboardZero6, "P0 Keyboard 6", "" }, + { Event::KeyboardZero7, "P0 Keyboard 7", "" }, + { Event::KeyboardZero8, "P0 Keyboard 8", "" }, + { Event::KeyboardZero9, "P0 Keyboard 9", "" }, + { Event::KeyboardZeroStar, "P0 Keyboard *", "" }, + { Event::KeyboardZero0, "P0 Keyboard 0", "" }, + { Event::KeyboardZeroPound, "P0 Keyboard #", "" }, - { Event::KeyboardOne1, "P1 Keyboard 1", "", true }, - { Event::KeyboardOne2, "P1 Keyboard 2", "", true }, - { Event::KeyboardOne3, "P1 Keyboard 3", "", true }, - { Event::KeyboardOne4, "P1 Keyboard 4", "", 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::KeyboardOne1, "P1 Keyboard 1", "" }, + { Event::KeyboardOne2, "P1 Keyboard 2", "" }, + { Event::KeyboardOne3, "P1 Keyboard 3", "" }, + { Event::KeyboardOne4, "P1 Keyboard 4", "" }, + { Event::KeyboardOne5, "P1 Keyboard 5", "" }, + { Event::KeyboardOne6, "P1 Keyboard 6", "" }, + { Event::KeyboardOne7, "P1 Keyboard 7", "" }, + { Event::KeyboardOne8, "P1 Keyboard 8", "" }, + { Event::KeyboardOne9, "P1 Keyboard 9", "" }, + { Event::KeyboardOneStar, "P1 Keyboard *", "" }, + { Event::KeyboardOne0, "P1 Keyboard 0", "" }, + { Event::KeyboardOnePound, "P1 Keyboard #", "" }, // TV effects: - { Event::VidmodeStd, "Disable TV effects", "", false }, - { Event::VidmodeRGB, "Select 'RGB' preset", "", false }, - { Event::VidmodeSVideo, "Select 'S-Video' preset", "", false }, - { Event::VidModeComposite, "Select 'Composite' preset", "", false }, - { Event::VidModeBad, "Select 'Badly adjusted' preset", "", false }, - { Event::VidModeCustom, "Select 'Custom' preset", "", false }, - { Event::PreviousAttribute, "Select previous 'Custom' attribute", "", false }, - { Event::NextAttribute, "Select next 'Custom' attribute", "", false }, - { Event::DecreaseAttribute, "Decrease selected 'Custom' attribute", "", false }, - { Event::IncreaseAttribute, "Increase selected 'Custom' attribute", "", false }, - { Event::TogglePhosphor, "Toggle 'phosphor' effect", "", false }, - { Event::DecreasePhosphor, "Decrease 'phosphor' blend", "", false }, - { Event::IncreasePhosphor, "Increase 'phosphor' blend", "", false }, - { Event::ScanlinesDecrease, "Decrease scanlines", "", false }, - { Event::ScanlinesIncrease, "Increase scanlines", "", false }, + { Event::VidmodeStd, "Disable TV effects", "" }, + { Event::VidmodeRGB, "Select 'RGB' preset", "" }, + { Event::VidmodeSVideo, "Select 'S-Video' preset", "" }, + { Event::VidModeComposite, "Select 'Composite' preset", "" }, + { Event::VidModeBad, "Select 'Badly adjusted' preset", "" }, + { Event::VidModeCustom, "Select 'Custom' preset", "" }, + { Event::PreviousAttribute, "Select previous 'Custom' attribute", "" }, + { Event::NextAttribute, "Select next 'Custom' attribute", "" }, + { Event::DecreaseAttribute, "Decrease selected 'Custom' attribute", "" }, + { Event::IncreaseAttribute, "Increase selected 'Custom' attribute", "" }, + { Event::TogglePhosphor, "Toggle 'phosphor' effect", "" }, + { Event::DecreasePhosphor, "Decrease 'phosphor' blend", "" }, + { Event::IncreasePhosphor, "Increase 'phosphor' blend", "" }, + { Event::ScanlinesDecrease, "Decrease scanlines", "" }, + { Event::ScanlinesIncrease, "Increase scanlines", "" }, // Developer keys: - { 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::ToggleBits, "Toggle all TIA objects", "", false }, - { Event::ToggleCollisions, "Toggle all TIA collisions", "", false }, - { Event::ToggleFixedColors, "Toggle TIA 'Fixed Debug Colors' mode", "", false }, - { Event::ToggleColorLoss, "Toggle PAL color-loss effect", "", false }, - { Event::ToggleJitter, "Toggle TV 'Jitter' effect", "", false }, + { Event::ToggleFrameStats, "Toggle frame stats", "" }, + { Event::ToggleP0Bit, "Toggle TIA Player0 object", "" }, + { Event::ToggleP0Collision, "Toggle TIA Player0 collisions", "" }, + { Event::ToggleP1Bit, "Toggle TIA Player1 object", "" }, + { Event::ToggleP1Collision, "Toggle TIA Player1 collisions", "" }, + { Event::ToggleM0Bit, "Toggle TIA Missile0 object", "" }, + { Event::ToggleM0Collision, "Toggle TIA Missile0 collisions", "" }, + { Event::ToggleM1Bit, "Toggle TIA Missile1 object", "" }, + { Event::ToggleM1Collision, "Toggle TIA Missile1 collisions", "" }, + { Event::ToggleBLBit, "Toggle TIA Ball object", "" }, + { Event::ToggleBLCollision, "Toggle TIA Ball collisions", "" }, + { Event::TogglePFBit, "Toggle TIA Playfield object", "" }, + { Event::TogglePFCollision, "Toggle TIA Playfield collisions", "" }, + { Event::ToggleBits, "Toggle all TIA objects", "" }, + { Event::ToggleCollisions, "Toggle all TIA collisions", "" }, + { Event::ToggleFixedColors, "Toggle TIA 'Fixed Debug Colors' mode", "" }, + { Event::ToggleColorLoss, "Toggle PAL color-loss effect", "" }, + { Event::ToggleJitter, "Toggle TV 'Jitter' effect", "" }, // Other keys: - { Event::VidmodeDecrease, "Previous zoom level", "", false }, - { Event::VidmodeIncrease, "Next zoom level", "", false }, - { Event::ToggleFullScreen, "Toggle fullscreen", "", false }, - { Event::DecreaseFormat, "Decrease display format", "", false }, - { Event::IncreaseFormat, "Increase display format", "", false }, - { Event::TogglePalette, "Switch palette (Standard/Z26/User)", "", false }, - { Event::SoundToggle, "Toggle sound", "", false }, - { Event::VolumeDecrease, "Decrease volume", "", false }, - { Event::VolumeIncrease, "Increase volume", "", false }, + { Event::VidmodeDecrease, "Previous zoom level", "" }, + { Event::VidmodeIncrease, "Next zoom level", "" }, + { Event::ToggleFullScreen, "Toggle fullscreen", "" }, + { Event::DecreaseFormat, "Decrease display format", "" }, + { Event::IncreaseFormat, "Increase display format", "" }, + { Event::TogglePalette, "Switch palette (Standard/Z26/User)", "" }, + { Event::SoundToggle, "Toggle sound", "" }, + { Event::VolumeDecrease, "Decrease volume", "" }, + { Event::VolumeIncrease, "Increase volume", "" }, - { Event::HandleMouseControl, "Switch mouse emulation modes", "", false }, - { Event::ToggleGrabMouse, "Toggle grab mouse", "", false }, - { Event::ToggleSAPortOrder, "Swap Stelladaptor port ordering", "", false }, - { Event::ReloadConsole, "Reload current ROM/load next game", "", false }, - { Event::Fry, "Fry cartridge", "", false }, + { Event::HandleMouseControl, "Switch mouse emulation modes", "" }, + { Event::ToggleGrabMouse, "Toggle grab mouse", "" }, + { Event::ToggleSAPortOrder, "Swap Stelladaptor port ordering", "" }, + { Event::ReloadConsole, "Reload current ROM/load next game", "" }, + { Event::Fry, "Fry cartridge", "" }, #ifdef PNG_SUPPORT - { Event::ToggleContSnapshots, "Save cont. PNG snapsh. (as defined)", "", false }, - { Event::ToggleContSnapshotsFrame,"Save cont. PNG snapsh. (every frame)", "", false }, + { Event::ToggleContSnapshots, "Save cont. PNG snapsh. (as defined)", "" }, + { Event::ToggleContSnapshotsFrame,"Save cont. PNG snapsh. (every frame)", "" }, #endif - { Event::ToggleTimeMachine, "Toggle 'Time Machine' mode", "", false }, - { Event::TimeMachineMode, "Toggle 'Time Machine' UI", "", false }, - { Event::Rewind, "Rewind game one state", "", true }, - { Event::Rewind1Menu, "Rewind one state & enter TM UI", "", false }, - { Event::Rewind10Menu, "Rewind 10 states & enter TM UI", "", false }, - { Event::RewindAllMenu, "Rewind all states & enter TM UI", "", false }, - { Event::Unwind, "Unwind game one state", "", true }, - { Event::Unwind1Menu, "Unwind one state & enter TM UI", "", false }, - { Event::Unwind10Menu, "Unwind 10 states & enter TM UI", "", false }, - { Event::UnwindAllMenu, "Unwind all states & enter TM UI", "", false }, + { Event::ToggleTimeMachine, "Toggle 'Time Machine' mode", "" }, + { Event::TimeMachineMode, "Toggle 'Time Machine' UI", "" }, + { Event::Rewind, "Rewind game one state", "" }, + { Event::Rewind1Menu, "Rewind one state & enter TM UI", "" }, + { Event::Rewind10Menu, "Rewind 10 states & enter TM UI", "" }, + { Event::RewindAllMenu, "Rewind all states & enter TM UI", "" }, + { Event::Unwind, "Unwind game one state", "" }, + { Event::Unwind1Menu, "Unwind one state & enter TM UI", "" }, + { Event::Unwind10Menu, "Unwind 10 states & enter TM UI", "" }, + { Event::UnwindAllMenu, "Unwind all states & enter TM UI", "" }, - { Event::Combo1, "Combo 1", "", 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::Combo1, "Combo 1", "" }, + { Event::Combo2, "Combo 2", "" }, + { Event::Combo3, "Combo 3", "" }, + { Event::Combo4, "Combo 4", "" }, + { Event::Combo5, "Combo 5", "" }, + { Event::Combo6, "Combo 6", "" }, + { Event::Combo7, "Combo 7", "" }, + { Event::Combo8, "Combo 8", "" }, + { Event::Combo9, "Combo 9", "" }, + { Event::Combo10, "Combo 10", "" }, + { Event::Combo11, "Combo 11", "" }, + { Event::Combo12, "Combo 12", "" }, + { Event::Combo13, "Combo 13", "" }, + { Event::Combo14, "Combo 14", "" }, + { Event::Combo15, "Combo 15", "" }, + { Event::Combo16, "Combo 16", "" } }; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EventHandler::ActionList EventHandler::ourMenuActionList[MENU_ACTIONLIST_SIZE] = { - { Event::UIUp, "Move Up", "", false }, - { Event::UIDown, "Move Down", "", false }, - { Event::UILeft, "Move Left", "", false }, - { Event::UIRight, "Move Right", "", false }, + { Event::UIUp, "Move Up", "" }, + { Event::UIDown, "Move Down", "" }, + { Event::UILeft, "Move Left", "" }, + { Event::UIRight, "Move Right", "" }, - { Event::UIHome, "Home", "", false }, - { Event::UIEnd, "End", "", false }, - { Event::UIPgUp, "Page Up", "", false }, - { Event::UIPgDown, "Page Down", "", false }, + { Event::UIHome, "Home", "" }, + { Event::UIEnd, "End", "" }, + { Event::UIPgUp, "Page Up", "" }, + { Event::UIPgDown, "Page Down", "" }, - { Event::UIOK, "OK", "", false }, - { Event::UICancel, "Cancel", "", false }, - { Event::UISelect, "Select item", "", false }, + { Event::UIOK, "OK", "" }, + { Event::UICancel, "Cancel", "" }, + { Event::UISelect, "Select item", "" }, - { Event::UINavPrev, "Previous object", "", false }, - { Event::UINavNext, "Next object", "", false }, - { Event::UITabPrev, "Previous tab", "", false }, - { Event::UITabNext, "Next tab", "", false }, + { Event::UINavPrev, "Previous object", "" }, + { Event::UINavNext, "Next object", "" }, + { Event::UITabPrev, "Previous tab", "" }, + { Event::UITabNext, "Next tab", "" }, - { Event::UIPrevDir, "Parent directory", "", false }, - { Event::ToggleFullScreen, "Toggle fullscreen", "", false }, - { Event::Quit, "Quit", "", false } + { Event::UIPrevDir, "Parent directory", "" }, + { Event::ToggleFullScreen, "Toggle fullscreen", "" }, + { Event::Quit, "Quit", "" } }; diff --git a/src/emucore/EventHandler.hxx b/src/emucore/EventHandler.hxx index 6f4acefac..273c3fff2 100644 --- a/src/emucore/EventHandler.hxx +++ b/src/emucore/EventHandler.hxx @@ -389,7 +389,6 @@ class EventHandler Event::Type event; string action; string key; - bool allow_combo; }; // Global Event object diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 87196ab4e..e65fbdd96 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -82,6 +82,7 @@ Settings::Settings() setPermanent(AudioSettings::SETTING_STEREO, AudioSettings::DEFAULT_STEREO); // Input event options + setPermanent("event_ver", "1"); setPermanent("keymap_emu", ""); setPermanent("keymap_ui", ""); setPermanent("joymap", "");