add minor mapping code enhancements

This commit is contained in:
Thomas Jentzsch 2019-08-18 09:59:16 +02:00
parent 457bb086c4
commit ecbc04f287
4 changed files with 42 additions and 36 deletions

View File

@ -557,8 +557,10 @@ PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultJoyst
{Event::JoystickZeroFire, KBDK_LCTRL},
{Event::JoystickZeroFire, KBDK_KP_5},
{Event::JoystickZeroFire5, KBDK_4},
{Event::JoystickZeroFire5, KBDK_RSHIFT},
{Event::JoystickZeroFire5, KBDK_KP_9},
{Event::JoystickZeroFire9, KBDK_5},
{Event::JoystickZeroFire9, KBDK_RCTRL},
{Event::JoystickZeroFire9, KBDK_KP_3},
{Event::JoystickOneUp, KBDK_Y},
{Event::JoystickOneDown, KBDK_H},
@ -573,11 +575,14 @@ PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultJoyst
PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultPaddleMapping = {
{Event::PaddleZeroDecrease, KBDK_RIGHT},
{Event::PaddleZeroIncrease, KBDK_LEFT},
{Event::PaddleZeroFire, KBDK_SPACE},
{Event::PaddleZeroFire, KBDK_LCTRL},
{Event::PaddleZeroFire, KBDK_KP_5},
{Event::PaddleOneDecrease, KBDK_DOWN},
{Event::PaddleOneIncrease, KBDK_UP},
{Event::PaddleOneFire, KBDK_4},
{Event::PaddleOneFire, KBDK_RCTRL},
{Event::PaddleTwoDecrease, KBDK_J},
{Event::PaddleTwoIncrease, KBDK_G},

View File

@ -1296,7 +1296,7 @@ StringList EventHandler::getActionList(Event::Group group) const
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StringList EventHandler::getActionList(const EventList& events, EventMode mode) const
StringList EventHandler::getActionList(const Event::EventSet& events, EventMode mode) const
{
StringList l;
@ -1394,7 +1394,7 @@ void EventHandler::setComboListForEvent(Event::Type event, const StringList& eve
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int EventHandler::getEmulActionListIndex(int idx, const EventList& events) const
int EventHandler::getEmulActionListIndex(int idx, const Event::EventSet& events) const
{
// idx = index into intersection set of 'events' and 'ourEmulActionList'
// ordered by 'ourEmulActionList'!
@ -1728,26 +1728,26 @@ void EventHandler::exitEmulation()
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
{ Event::Quit, "Quit", "" },
{ Event::ReloadConsole, "Reload current ROM/load next game", "" },
{ Event::Fry, "Fry cartridge", "" },
{ 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::TogglePauseMode, "Toggle Pause mode", "" },
{ Event::StartPauseMode, "Start Pause mode", "" },
{ Event::Fry, "Fry cartridge", "" },
{ Event::DebuggerMode, "Toggle Debugger mode", "" },
{ Event::ConsoleSelect, "Select", "" },
{ Event::ConsoleReset, "Reset", "" },
{ Event::ConsoleColor, "Color TV", "" },
{ Event::ConsoleBlackWhite, "Black & White TV", "" },
{ Event::ConsoleColorToggle, "Swap Color / B&W TV", "" },
{ Event::ConsoleColorToggle, "Toggle 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::ConsoleLeftDiffToggle, "P0 Toggle Difficulty", "" },
{ Event::ConsoleRightDiffA, "P1 Difficulty A", "" },
{ Event::ConsoleRightDiffB, "P1 Difficulty B", "" },
{ Event::ConsoleRightDiffToggle, "P1 Swap Difficulty", "" },
{ Event::ConsoleRightDiffToggle, "P1 Toggle Difficulty", "" },
{ Event::SaveState, "Save state", "" },
{ Event::ChangeState, "Change state slot", "" },
{ Event::ToggleAutoSlot, "Toggle automatic state slot change", "" },
@ -1932,9 +1932,9 @@ EventHandler::ActionList EventHandler::ourMenuActionList[MENU_ACTIONLIST_SIZE] =
// Event groups
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::MiscEvents = {
const Event::EventSet EventHandler::MiscEvents = {
Event::Quit, Event::ReloadConsole, Event::Fry, Event::StartPauseMode,
Event::TogglePauseMode, Event::OptionsMenuMode, Event::CmdMenuMode, Event::DebuggerMode, Event::ExitMode,
Event::TogglePauseMode, Event::OptionsMenuMode, Event::CmdMenuMode, Event::ExitMode,
Event::TakeSnapshot, Event::ToggleContSnapshots, Event::ToggleContSnapshotsFrame,
// Event::MouseAxisXValue, Event::MouseAxisYValue,
// Event::MouseButtonLeftValue, Event::MouseButtonRightValue,
@ -1943,7 +1943,7 @@ const EventHandler::EventList EventHandler::MiscEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::AudioVideoEvents = {
const Event::EventSet EventHandler::AudioVideoEvents = {
Event::VolumeDecrease, Event::VolumeIncrease, Event::SoundToggle,
Event::VidmodeDecrease, Event::VidmodeIncrease,
Event::ToggleFullScreen,
@ -1957,7 +1957,7 @@ const EventHandler::EventList EventHandler::AudioVideoEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::StateEvents = {
const Event::EventSet EventHandler::StateEvents = {
Event::ChangeState, Event::LoadState, Event::SaveState, Event::TimeMachineMode,
Event::RewindPause, Event::UnwindPause, Event::ToggleTimeMachine,
Event::Rewind1Menu, Event::Rewind10Menu, Event::RewindAllMenu,
@ -1966,8 +1966,9 @@ const EventHandler::EventList EventHandler::StateEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::ConsoleEvents = {
Event::ConsoleOn, Event::ConsoleOff, Event::ConsoleColor, Event::ConsoleBlackWhite,
const Event::EventSet EventHandler::ConsoleEvents = {
// Event::ConsoleOn, Event::ConsoleOff,
Event::ConsoleColor, Event::ConsoleBlackWhite,
Event::ConsoleLeftDiffA, Event::ConsoleLeftDiffB,
Event::ConsoleRightDiffA, Event::ConsoleRightDiffB,
Event::ConsoleSelect, Event::ConsoleReset,
@ -1976,7 +1977,7 @@ const EventHandler::EventList EventHandler::ConsoleEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::JoystickEvents = {
const Event::EventSet EventHandler::JoystickEvents = {
Event::JoystickZeroUp, Event::JoystickZeroDown, Event::JoystickZeroLeft, Event::JoystickZeroRight,
Event::JoystickZeroFire, Event::JoystickZeroFire5, Event::JoystickZeroFire9,
Event::JoystickOneUp, Event::JoystickOneDown, Event::JoystickOneLeft, Event::JoystickOneRight,
@ -1984,14 +1985,14 @@ const EventHandler::EventList EventHandler::JoystickEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::PaddlesEvents = {
const Event::EventSet EventHandler::PaddlesEvents = {
Event::PaddleZeroDecrease, Event::PaddleZeroIncrease, Event::PaddleZeroAnalog, Event::PaddleZeroFire,
Event::PaddleOneDecrease, Event::PaddleOneIncrease, Event::PaddleOneAnalog, Event::PaddleOneFire,
Event::PaddleTwoDecrease, Event::PaddleTwoIncrease, Event::PaddleTwoAnalog, Event::PaddleTwoFire,
Event::PaddleThreeDecrease, Event::PaddleThreeIncrease, Event::PaddleThreeAnalog, Event::PaddleThreeFire,
};
const EventHandler::EventList EventHandler::KeyboardEvents = {
const Event::EventSet EventHandler::KeyboardEvents = {
Event::KeyboardZero1, Event::KeyboardZero2, Event::KeyboardZero3,
Event::KeyboardZero4, Event::KeyboardZero5, Event::KeyboardZero6,
Event::KeyboardZero7, Event::KeyboardZero8, Event::KeyboardZero9,
@ -2004,7 +2005,14 @@ const EventHandler::EventList EventHandler::KeyboardEvents = {
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::DebugEvents = {
const Event::EventSet EventHandler::ComboEvents = {
Event::Combo1, Event::Combo2, Event::Combo3, Event::Combo4, Event::Combo5, Event::Combo6, Event::Combo7, Event::Combo8,
Event::Combo9, Event::Combo10, Event::Combo11, Event::Combo12, Event::Combo13, Event::Combo14, Event::Combo15, Event::Combo16,
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const Event::EventSet EventHandler::DebugEvents = {
Event::DebuggerMode,
Event::ToggleFrameStats,
Event::ToggleP0Collision, Event::ToggleP0Bit, Event::ToggleP1Collision, Event::ToggleP1Bit,
Event::ToggleM0Collision, Event::ToggleM0Bit, Event::ToggleM1Collision, Event::ToggleM1Bit,
@ -2013,10 +2021,3 @@ const EventHandler::EventList EventHandler::DebugEvents = {
Event::ToggleColorLoss,
Event::ToggleJitter,
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const EventHandler::EventList EventHandler::ComboEvents = {
Event::Combo1, Event::Combo2, Event::Combo3, Event::Combo4, Event::Combo5, Event::Combo6, Event::Combo7, Event::Combo8,
Event::Combo9, Event::Combo10, Event::Combo11, Event::Combo12, Event::Combo13, Event::Combo14, Event::Combo15, Event::Combo16,
};

View File

@ -400,17 +400,16 @@ class EventHandler
MENU_ACTIONLIST_SIZE = 18
;
using EventList = std::vector<Event::Type>;
// Define event groups
static const EventList MiscEvents;
static const EventList StateEvents;
static const EventList AudioVideoEvents;
static const EventList ConsoleEvents;
static const EventList JoystickEvents;
static const EventList PaddlesEvents;
static const EventList KeyboardEvents;
static const EventList DebugEvents;
static const EventList ComboEvents;
static const Event::EventSet MiscEvents;
static const Event::EventSet AudioVideoEvents;
static const Event::EventSet StateEvents;
static const Event::EventSet ConsoleEvents;
static const Event::EventSet JoystickEvents;
static const Event::EventSet PaddlesEvents;
static const Event::EventSet KeyboardEvents;
static const Event::EventSet ComboEvents;
static const Event::EventSet DebugEvents;
/**
The following methods take care of assigning action mappings.
@ -421,9 +420,9 @@ class EventHandler
void saveComboMapping();
StringList getActionList(EventMode mode) const;
StringList getActionList(const EventList& events, EventMode mode = EventMode::kEmulationMode) const;
StringList getActionList(const Event::EventSet& events, EventMode mode = EventMode::kEmulationMode) const;
// returns the action array index of the index in the provided group
int getEmulActionListIndex(int idx, const EventList& events) const;
int getEmulActionListIndex(int idx, const Event::EventSet& events) const;
int getActionListIndex(int idx, Event::Group group) const;
private:

View File

@ -190,6 +190,7 @@ void EventMappingWidget::updateActions()
myActionsList->setList(actions);
myActionSelected = myActionsList->getSelected();
drawKeyMapping();
enableButtons(true);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -