diff --git a/UnleashedRecomp/kernel/xam.cpp b/UnleashedRecomp/kernel/xam.cpp index d69b7df3..02716500 100644 --- a/UnleashedRecomp/kernel/xam.cpp +++ b/UnleashedRecomp/kernel/xam.cpp @@ -408,50 +408,59 @@ uint32_t XamInputGetState(uint32_t userIndex, uint32_t flags, XAMINPUT_STATE* st if (hid::IsInputAllowed()) hid::GetState(userIndex, state); - if (GameWindow::s_isFocused) - { - auto keyboardState = SDL_GetKeyboardState(NULL); + auto keyboardState = SDL_GetKeyboardState(NULL); - if (keyboardState[SDL_SCANCODE_UP]) + if (GameWindow::s_isFocused && !keyboardState[SDL_SCANCODE_LALT]) + { + if (keyboardState[Config::Key_LeftStickUp]) state->Gamepad.sThumbLY = 32767; - if (keyboardState[SDL_SCANCODE_DOWN]) + if (keyboardState[Config::Key_LeftStickDown]) state->Gamepad.sThumbLY = -32768; - if (keyboardState[SDL_SCANCODE_LEFT]) + if (keyboardState[Config::Key_LeftStickLeft]) state->Gamepad.sThumbLX = -32768; - if (keyboardState[SDL_SCANCODE_RIGHT]) + if (keyboardState[Config::Key_LeftStickRight]) state->Gamepad.sThumbLX = 32767; - if (keyboardState[SDL_SCANCODE_1]) + if (keyboardState[Config::Key_RightStickUp]) + state->Gamepad.sThumbRY = 32767; + if (keyboardState[Config::Key_RightStickDown]) + state->Gamepad.sThumbRY = -32768; + if (keyboardState[Config::Key_RightStickLeft]) + state->Gamepad.sThumbRX = -32768; + if (keyboardState[Config::Key_RightStickRight]) + state->Gamepad.sThumbRX = 32767; + + if (keyboardState[Config::Key_LeftTrigger]) state->Gamepad.bLeftTrigger = 0xFF; - if (keyboardState[SDL_SCANCODE_3]) + if (keyboardState[Config::Key_RightTrigger]) state->Gamepad.bRightTrigger = 0xFF; - if (keyboardState[SDL_SCANCODE_I]) + if (keyboardState[Config::Key_DPadUp]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_DPAD_UP; - if (keyboardState[SDL_SCANCODE_K]) + if (keyboardState[Config::Key_DPadDown]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_DPAD_DOWN; - if (keyboardState[SDL_SCANCODE_J]) + if (keyboardState[Config::Key_DPadLeft]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_DPAD_LEFT; - if (keyboardState[SDL_SCANCODE_L]) + if (keyboardState[Config::Key_DPadRight]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_DPAD_RIGHT; - if (keyboardState[SDL_SCANCODE_RETURN] && !keyboardState[SDL_SCANCODE_LALT]) + if (keyboardState[Config::Key_Start]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_START; - if (keyboardState[SDL_SCANCODE_BACKSPACE]) + if (keyboardState[Config::Key_Back]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_BACK; - if (keyboardState[SDL_SCANCODE_Q]) + if (keyboardState[Config::Key_LeftBumper]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_LEFT_SHOULDER; - if (keyboardState[SDL_SCANCODE_E]) + if (keyboardState[Config::Key_RightBumper]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_RIGHT_SHOULDER; - if (keyboardState[SDL_SCANCODE_S]) + if (keyboardState[Config::Key_A]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_A; - if (keyboardState[SDL_SCANCODE_D]) + if (keyboardState[Config::Key_B]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_B; - if (keyboardState[SDL_SCANCODE_A]) + if (keyboardState[Config::Key_X]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_X; - if (keyboardState[SDL_SCANCODE_W]) + if (keyboardState[Config::Key_Y]) state->Gamepad.wButtons |= XAMINPUT_GAMEPAD_Y; } diff --git a/UnleashedRecomp/user/config.cpp b/UnleashedRecomp/user/config.cpp index 4c52b521..d7ea3ca4 100644 --- a/UnleashedRecomp/user/config.cpp +++ b/UnleashedRecomp/user/config.cpp @@ -37,6 +37,257 @@ CONFIG_DEFINE_ENUM_TEMPLATE(EControllerIcons) { "PlayStation", EControllerIcons::PlayStation } }; +CONFIG_DEFINE_ENUM_TEMPLATE(SDL_Scancode) +{ + { "UNKNOWN", SDL_SCANCODE_UNKNOWN }, + { "A", SDL_SCANCODE_A }, + { "B", SDL_SCANCODE_B }, + { "C", SDL_SCANCODE_C }, + { "D", SDL_SCANCODE_D }, + { "E", SDL_SCANCODE_E }, + { "F", SDL_SCANCODE_F }, + { "G", SDL_SCANCODE_G }, + { "H", SDL_SCANCODE_H }, + { "I", SDL_SCANCODE_I }, + { "J", SDL_SCANCODE_J }, + { "K", SDL_SCANCODE_K }, + { "L", SDL_SCANCODE_L }, + { "M", SDL_SCANCODE_M }, + { "N", SDL_SCANCODE_N }, + { "O", SDL_SCANCODE_O }, + { "P", SDL_SCANCODE_P }, + { "Q", SDL_SCANCODE_Q }, + { "R", SDL_SCANCODE_R }, + { "S", SDL_SCANCODE_S }, + { "T", SDL_SCANCODE_T }, + { "U", SDL_SCANCODE_U }, + { "V", SDL_SCANCODE_V }, + { "W", SDL_SCANCODE_W }, + { "X", SDL_SCANCODE_X }, + { "Y", SDL_SCANCODE_Y }, + { "Z", SDL_SCANCODE_Z }, + { "1", SDL_SCANCODE_1 }, + { "2", SDL_SCANCODE_2 }, + { "3", SDL_SCANCODE_3 }, + { "4", SDL_SCANCODE_4 }, + { "5", SDL_SCANCODE_5 }, + { "6", SDL_SCANCODE_6 }, + { "7", SDL_SCANCODE_7 }, + { "8", SDL_SCANCODE_8 }, + { "9", SDL_SCANCODE_9 }, + { "0", SDL_SCANCODE_0 }, + { "RETURN", SDL_SCANCODE_RETURN }, + { "ESCAPE", SDL_SCANCODE_ESCAPE }, + { "BACKSPACE", SDL_SCANCODE_BACKSPACE }, + { "TAB", SDL_SCANCODE_TAB }, + { "SPACE", SDL_SCANCODE_SPACE }, + { "MINUS", SDL_SCANCODE_MINUS }, + { "EQUALS", SDL_SCANCODE_EQUALS }, + { "LEFTBRACKET", SDL_SCANCODE_LEFTBRACKET }, + { "RIGHTBRACKET", SDL_SCANCODE_RIGHTBRACKET }, + { "BACKSLASH", SDL_SCANCODE_BACKSLASH }, + { "NONUSHASH", SDL_SCANCODE_NONUSHASH }, + { "SEMICOLON", SDL_SCANCODE_SEMICOLON }, + { "APOSTROPHE", SDL_SCANCODE_APOSTROPHE }, + { "GRAVE", SDL_SCANCODE_GRAVE }, + { "COMMA", SDL_SCANCODE_COMMA }, + { "PERIOD", SDL_SCANCODE_PERIOD }, + { "SLASH", SDL_SCANCODE_SLASH }, + { "CAPSLOCK", SDL_SCANCODE_CAPSLOCK }, + { "F1", SDL_SCANCODE_F1 }, + { "F2", SDL_SCANCODE_F2 }, + { "F3", SDL_SCANCODE_F3 }, + { "F4", SDL_SCANCODE_F4 }, + { "F5", SDL_SCANCODE_F5 }, + { "F6", SDL_SCANCODE_F6 }, + { "F7", SDL_SCANCODE_F7 }, + { "F8", SDL_SCANCODE_F8 }, + { "F9", SDL_SCANCODE_F9 }, + { "F10", SDL_SCANCODE_F10 }, + { "F11", SDL_SCANCODE_F11 }, + { "F12", SDL_SCANCODE_F12 }, + { "PRINTSCREEN", SDL_SCANCODE_PRINTSCREEN }, + { "SCROLLLOCK", SDL_SCANCODE_SCROLLLOCK }, + { "PAUSE", SDL_SCANCODE_PAUSE }, + { "INSERT", SDL_SCANCODE_INSERT }, + { "HOME", SDL_SCANCODE_HOME }, + { "PAGEUP", SDL_SCANCODE_PAGEUP }, + { "DELETE", SDL_SCANCODE_DELETE }, + { "END", SDL_SCANCODE_END }, + { "PAGEDOWN", SDL_SCANCODE_PAGEDOWN }, + { "RIGHT", SDL_SCANCODE_RIGHT }, + { "LEFT", SDL_SCANCODE_LEFT }, + { "DOWN", SDL_SCANCODE_DOWN }, + { "UP", SDL_SCANCODE_UP }, + { "NUMLOCKCLEAR", SDL_SCANCODE_NUMLOCKCLEAR }, + { "KP_DIVIDE", SDL_SCANCODE_KP_DIVIDE }, + { "KP_MULTIPLY", SDL_SCANCODE_KP_MULTIPLY }, + { "KP_MINUS", SDL_SCANCODE_KP_MINUS }, + { "KP_PLUS", SDL_SCANCODE_KP_PLUS }, + { "KP_ENTER", SDL_SCANCODE_KP_ENTER }, + { "KP_1", SDL_SCANCODE_KP_1 }, + { "KP_2", SDL_SCANCODE_KP_2 }, + { "KP_3", SDL_SCANCODE_KP_3 }, + { "KP_4", SDL_SCANCODE_KP_4 }, + { "KP_5", SDL_SCANCODE_KP_5 }, + { "KP_6", SDL_SCANCODE_KP_6 }, + { "KP_7", SDL_SCANCODE_KP_7 }, + { "KP_8", SDL_SCANCODE_KP_8 }, + { "KP_9", SDL_SCANCODE_KP_9 }, + { "KP_0", SDL_SCANCODE_KP_0 }, + { "KP_PERIOD", SDL_SCANCODE_KP_PERIOD }, + { "NONUSBACKSLASH", SDL_SCANCODE_NONUSBACKSLASH }, + { "APPLICATION", SDL_SCANCODE_APPLICATION }, + { "POWER", SDL_SCANCODE_POWER }, + { "KP_EQUALS", SDL_SCANCODE_KP_EQUALS }, + { "F13", SDL_SCANCODE_F13 }, + { "F14", SDL_SCANCODE_F14 }, + { "F15", SDL_SCANCODE_F15 }, + { "F16", SDL_SCANCODE_F16 }, + { "F17", SDL_SCANCODE_F17 }, + { "F18", SDL_SCANCODE_F18 }, + { "F19", SDL_SCANCODE_F19 }, + { "F20", SDL_SCANCODE_F20 }, + { "F21", SDL_SCANCODE_F21 }, + { "F22", SDL_SCANCODE_F22 }, + { "F23", SDL_SCANCODE_F23 }, + { "F24", SDL_SCANCODE_F24 }, + { "EXECUTE", SDL_SCANCODE_EXECUTE }, + { "HELP", SDL_SCANCODE_HELP }, + { "MENU", SDL_SCANCODE_MENU }, + { "SELECT", SDL_SCANCODE_SELECT }, + { "STOP", SDL_SCANCODE_STOP }, + { "AGAIN", SDL_SCANCODE_AGAIN }, + { "UNDO", SDL_SCANCODE_UNDO }, + { "CUT", SDL_SCANCODE_CUT }, + { "COPY", SDL_SCANCODE_COPY }, + { "PASTE", SDL_SCANCODE_PASTE }, + { "FIND", SDL_SCANCODE_FIND }, + { "MUTE", SDL_SCANCODE_MUTE }, + { "VOLUMEUP", SDL_SCANCODE_VOLUMEUP }, + { "VOLUMEDOWN", SDL_SCANCODE_VOLUMEDOWN }, + { "KP_COMMA", SDL_SCANCODE_KP_COMMA }, + { "KP_EQUALSAS400", SDL_SCANCODE_KP_EQUALSAS400 }, + { "INTERNATIONAL1", SDL_SCANCODE_INTERNATIONAL1 }, + { "INTERNATIONAL2", SDL_SCANCODE_INTERNATIONAL2 }, + { "INTERNATIONAL3", SDL_SCANCODE_INTERNATIONAL3 }, + { "INTERNATIONAL4", SDL_SCANCODE_INTERNATIONAL4 }, + { "INTERNATIONAL5", SDL_SCANCODE_INTERNATIONAL5 }, + { "INTERNATIONAL6", SDL_SCANCODE_INTERNATIONAL6 }, + { "INTERNATIONAL7", SDL_SCANCODE_INTERNATIONAL7 }, + { "INTERNATIONAL8", SDL_SCANCODE_INTERNATIONAL8 }, + { "INTERNATIONAL9", SDL_SCANCODE_INTERNATIONAL9 }, + { "LANG1", SDL_SCANCODE_LANG1 }, + { "LANG2", SDL_SCANCODE_LANG2 }, + { "LANG3", SDL_SCANCODE_LANG3 }, + { "LANG4", SDL_SCANCODE_LANG4 }, + { "LANG5", SDL_SCANCODE_LANG5 }, + { "LANG6", SDL_SCANCODE_LANG6 }, + { "LANG7", SDL_SCANCODE_LANG7 }, + { "LANG8", SDL_SCANCODE_LANG8 }, + { "LANG9", SDL_SCANCODE_LANG9 }, + { "ALTERASE", SDL_SCANCODE_ALTERASE }, + { "SYSREQ", SDL_SCANCODE_SYSREQ }, + { "CANCEL", SDL_SCANCODE_CANCEL }, + { "CLEAR", SDL_SCANCODE_CLEAR }, + { "PRIOR", SDL_SCANCODE_PRIOR }, + { "RETURN2", SDL_SCANCODE_RETURN2 }, + { "SEPARATOR", SDL_SCANCODE_SEPARATOR }, + { "OUT", SDL_SCANCODE_OUT }, + { "OPER", SDL_SCANCODE_OPER }, + { "CLEARAGAIN", SDL_SCANCODE_CLEARAGAIN }, + { "CRSEL", SDL_SCANCODE_CRSEL }, + { "EXSEL", SDL_SCANCODE_EXSEL }, + { "KP_00", SDL_SCANCODE_KP_00 }, + { "KP_000", SDL_SCANCODE_KP_000 }, + { "THOUSANDSSEPARATOR", SDL_SCANCODE_THOUSANDSSEPARATOR }, + { "DECIMALSEPARATOR", SDL_SCANCODE_DECIMALSEPARATOR }, + { "CURRENCYUNIT", SDL_SCANCODE_CURRENCYUNIT }, + { "CURRENCYSUBUNIT", SDL_SCANCODE_CURRENCYSUBUNIT }, + { "KP_LEFTPAREN", SDL_SCANCODE_KP_LEFTPAREN }, + { "KP_RIGHTPAREN", SDL_SCANCODE_KP_RIGHTPAREN }, + { "KP_LEFTBRACE", SDL_SCANCODE_KP_LEFTBRACE }, + { "KP_RIGHTBRACE", SDL_SCANCODE_KP_RIGHTBRACE }, + { "KP_TAB", SDL_SCANCODE_KP_TAB }, + { "KP_BACKSPACE", SDL_SCANCODE_KP_BACKSPACE }, + { "KP_A", SDL_SCANCODE_KP_A }, + { "KP_B", SDL_SCANCODE_KP_B }, + { "KP_C", SDL_SCANCODE_KP_C }, + { "KP_D", SDL_SCANCODE_KP_D }, + { "KP_E", SDL_SCANCODE_KP_E }, + { "KP_F", SDL_SCANCODE_KP_F }, + { "KP_XOR", SDL_SCANCODE_KP_XOR }, + { "KP_POWER", SDL_SCANCODE_KP_POWER }, + { "KP_PERCENT", SDL_SCANCODE_KP_PERCENT }, + { "KP_LESS", SDL_SCANCODE_KP_LESS }, + { "KP_GREATER", SDL_SCANCODE_KP_GREATER }, + { "KP_AMPERSAND", SDL_SCANCODE_KP_AMPERSAND }, + { "KP_DBLAMPERSAND", SDL_SCANCODE_KP_DBLAMPERSAND }, + { "KP_VERTICALBAR", SDL_SCANCODE_KP_VERTICALBAR }, + { "KP_DBLVERTICALBAR", SDL_SCANCODE_KP_DBLVERTICALBAR }, + { "KP_COLON", SDL_SCANCODE_KP_COLON }, + { "KP_HASH", SDL_SCANCODE_KP_HASH }, + { "KP_SPACE", SDL_SCANCODE_KP_SPACE }, + { "KP_AT", SDL_SCANCODE_KP_AT }, + { "KP_EXCLAM", SDL_SCANCODE_KP_EXCLAM }, + { "KP_MEMSTORE", SDL_SCANCODE_KP_MEMSTORE }, + { "KP_MEMRECALL", SDL_SCANCODE_KP_MEMRECALL }, + { "KP_MEMCLEAR", SDL_SCANCODE_KP_MEMCLEAR }, + { "KP_MEMADD", SDL_SCANCODE_KP_MEMADD }, + { "KP_MEMSUBTRACT", SDL_SCANCODE_KP_MEMSUBTRACT }, + { "KP_MEMMULTIPLY", SDL_SCANCODE_KP_MEMMULTIPLY }, + { "KP_MEMDIVIDE", SDL_SCANCODE_KP_MEMDIVIDE }, + { "KP_PLUSMINUS", SDL_SCANCODE_KP_PLUSMINUS }, + { "KP_CLEAR", SDL_SCANCODE_KP_CLEAR }, + { "KP_CLEARENTRY", SDL_SCANCODE_KP_CLEARENTRY }, + { "KP_BINARY", SDL_SCANCODE_KP_BINARY }, + { "KP_OCTAL", SDL_SCANCODE_KP_OCTAL }, + { "KP_DECIMAL", SDL_SCANCODE_KP_DECIMAL }, + { "KP_HEXADECIMAL", SDL_SCANCODE_KP_HEXADECIMAL }, + { "LCTRL", SDL_SCANCODE_LCTRL }, + { "LSHIFT", SDL_SCANCODE_LSHIFT }, + { "LALT", SDL_SCANCODE_LALT }, + { "LGUI", SDL_SCANCODE_LGUI }, + { "RCTRL", SDL_SCANCODE_RCTRL }, + { "RSHIFT", SDL_SCANCODE_RSHIFT }, + { "RALT", SDL_SCANCODE_RALT }, + { "RGUI", SDL_SCANCODE_RGUI }, + { "MODE", SDL_SCANCODE_MODE }, + { "AUDIONEXT", SDL_SCANCODE_AUDIONEXT }, + { "AUDIOPREV", SDL_SCANCODE_AUDIOPREV }, + { "AUDIOSTOP", SDL_SCANCODE_AUDIOSTOP }, + { "AUDIOPLAY", SDL_SCANCODE_AUDIOPLAY }, + { "AUDIOMUTE", SDL_SCANCODE_AUDIOMUTE }, + { "MEDIASELECT", SDL_SCANCODE_MEDIASELECT }, + { "WWW", SDL_SCANCODE_WWW }, + { "MAIL", SDL_SCANCODE_MAIL }, + { "CALCULATOR", SDL_SCANCODE_CALCULATOR }, + { "COMPUTER", SDL_SCANCODE_COMPUTER }, + { "AC_SEARCH", SDL_SCANCODE_AC_SEARCH }, + { "AC_HOME", SDL_SCANCODE_AC_HOME }, + { "AC_BACK", SDL_SCANCODE_AC_BACK }, + { "AC_FORWARD", SDL_SCANCODE_AC_FORWARD }, + { "AC_STOP", SDL_SCANCODE_AC_STOP }, + { "AC_REFRESH", SDL_SCANCODE_AC_REFRESH }, + { "AC_BOOKMARKS", SDL_SCANCODE_AC_BOOKMARKS }, + { "BRIGHTNESSDOWN", SDL_SCANCODE_BRIGHTNESSDOWN }, + { "BRIGHTNESSUP", SDL_SCANCODE_BRIGHTNESSUP }, + { "DISPLAYSWITCH", SDL_SCANCODE_DISPLAYSWITCH }, + { "KBDILLUMTOGGLE", SDL_SCANCODE_KBDILLUMTOGGLE }, + { "KBDILLUMDOWN", SDL_SCANCODE_KBDILLUMDOWN }, + { "KBDILLUMUP", SDL_SCANCODE_KBDILLUMUP }, + { "EJECT", SDL_SCANCODE_EJECT }, + { "SLEEP", SDL_SCANCODE_SLEEP }, + { "APP1", SDL_SCANCODE_APP1 }, + { "APP2", SDL_SCANCODE_APP2 }, + { "AUDIOREWIND", SDL_SCANCODE_AUDIOREWIND }, + { "AUDIOFASTFORWARD", SDL_SCANCODE_AUDIOFASTFORWARD }, + { "SOFTLEFT", SDL_SCANCODE_SOFTLEFT }, + { "SOFTRIGHT", SDL_SCANCODE_SOFTRIGHT }, + { "CALL", SDL_SCANCODE_CALL }, + { "ENDCALL", SDL_SCANCODE_ENDCALL }, +}; + CONFIG_DEFINE_ENUM_TEMPLATE(EChannelConfiguration) { { "Stereo", EChannelConfiguration::Stereo }, diff --git a/UnleashedRecomp/user/config_def.h b/UnleashedRecomp/user/config_def.h index 3bbc1227..dbd7c3de 100644 --- a/UnleashedRecomp/user/config_def.h +++ b/UnleashedRecomp/user/config_def.h @@ -16,6 +16,29 @@ CONFIG_DEFINE_LOCALISED("Input", bool, Vibration, true); CONFIG_DEFINE_LOCALISED("Input", bool, AllowBackgroundInput, false); CONFIG_DEFINE_ENUM_LOCALISED("Input", EControllerIcons, ControllerIcons, EControllerIcons::Auto); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_A, SDL_SCANCODE_S); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_B, SDL_SCANCODE_D); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_X, SDL_SCANCODE_A); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_Y, SDL_SCANCODE_W); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_DPadUp, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_DPadDown, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_DPadLeft, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_DPadRight, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_Start, SDL_SCANCODE_RETURN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_Back, SDL_SCANCODE_BACKSPACE); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftTrigger, SDL_SCANCODE_1); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightTrigger, SDL_SCANCODE_3); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftBumper, SDL_SCANCODE_Q); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightBumper, SDL_SCANCODE_E); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftStickUp, SDL_SCANCODE_UP); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftStickDown, SDL_SCANCODE_DOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftStickLeft, SDL_SCANCODE_LEFT); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_LeftStickRight, SDL_SCANCODE_RIGHT); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightStickUp, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightStickDown, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightStickLeft, SDL_SCANCODE_UNKNOWN); +CONFIG_DEFINE_ENUM("Bindings", SDL_Scancode, Key_RightStickRight, SDL_SCANCODE_UNKNOWN); + CONFIG_DEFINE_LOCALISED("Audio", float, MasterVolume, 1.0f); CONFIG_DEFINE_LOCALISED("Audio", float, MusicVolume, 1.0f); CONFIG_DEFINE_LOCALISED("Audio", float, EffectsVolume, 1.0f);