refactor: make controller types enum

This commit is contained in:
2026-09-05 09:13:37 -04:00
parent 758549ceca
commit e1fd02765a
4 changed files with 31 additions and 22 deletions
+5 -2
View File
@@ -175,9 +175,12 @@ void C_4JInput::GetText(uint16_t *UTF16String)
InternalKeyboard.GetText(UTF16String);
}
const char* C_4JInput::GetControllerType(int ipad)
EControllerType C_4JInput::GetControllerType(int iPad)
{
return InternalInputManager.GetControllerType(ipad); //strk13r - mrow mrow mrow mrowwwwwwwwwww, i am silly kitty
if(InternalInputManager.IsPadConnected(iPad))
{
return InternalInputManager.GetControllerType(iPad); //strk13r - mrow mrow mrow mrowwwwwwwwwww, i am silly kitty
}
}
bool C_4JInput::VerifyStrings(WCHAR **pwStringA, int iStringC, int (*Func)(LPVOID, STRING_VERIFY_RESPONSE *), LPVOID lpParam)
+1 -6
View File
@@ -315,13 +315,8 @@ unsigned int CInput::GetGameJoypadMaps(unsigned char ucMap, unsigned char ucActi
}
//str1k3r - renamed to match the Orbis Input lib, why did i rename it cause tism
const char* CInput::GetControllerType(int iPad)
EControllerType CInput::GetControllerType(int iPad)
{
if (!m_Joypads[iPad].m_pGamepad)
{
return "UNKNOWN";
}
return GetControllerName(SDL_GetGamepadType(m_Joypads[iPad].m_pGamepad)); // str1k3r - magic we return it :shocked:
}
+12 -13
View File
@@ -101,7 +101,7 @@ public:
void SetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction, unsigned int uiActionVal);
unsigned int GetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction);
const char* GetControllerType(int iPad);
EControllerType GetControllerType(int iPad);
void SetJoypadMapVal(int iPad, unsigned char ucMap);
unsigned char GetJoypadMapVal(int iPad);
@@ -186,24 +186,23 @@ public:
LPVOID m_pDebugSequenceParam;
private:
const char* GetControllerName(SDL_GamepadType type)
EControllerType GetControllerName(SDL_GamepadType type)
{
switch (type)
{
case SDL_GAMEPAD_TYPE_UNKNOWN: return "UNKNOWN";
case SDL_GAMEPAD_TYPE_GAMECUBE: return "GAMECUBE";
case SDL_GAMEPAD_TYPE_STANDARD: return "STANDARD";
case SDL_GAMEPAD_TYPE_XBOX360: return "XBOX360";
case SDL_GAMEPAD_TYPE_XBOXONE: return "XBOXONE";
case SDL_GAMEPAD_TYPE_PS3: return "PS3";
case SDL_GAMEPAD_TYPE_PS4: return "PS4";
case SDL_GAMEPAD_TYPE_PS5: return "PS5";
//str1k3r - we are ALL FROM THE SWITCH JUST RETURN THE SAMETHING, mrow
case SDL_GAMEPAD_TYPE_XBOX360: return EControllerType_Xbox360;
case SDL_GAMEPAD_TYPE_XBOXONE: return EControllerType_XboxOne;
case SDL_GAMEPAD_TYPE_PS3: return EControllerType_PS3;
case SDL_GAMEPAD_TYPE_PS4: return EControllerType_PS4;
case SDL_GAMEPAD_TYPE_PS5: return EControllerType_PS5;
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO:
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT:
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT:
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: return "SWITCH";
default: return "UNKNOWN";
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: return EControllerType_Switch;
case SDL_GAMEPAD_TYPE_GAMECUBE: return EControllerType_Gamecube;
case SDL_GAMEPAD_TYPE_STANDARD:
case SDL_GAMEPAD_TYPE_UNKNOWN:
default: return EControllerType_Default;
}
}
};
+13 -1
View File
@@ -82,6 +82,18 @@ enum EMSgBoxType
EMSgBoxType_OK,
};
enum EControllerType
{
EControllerType_Default,
EControllerType_Xbox360,
EControllerType_XboxOne,
EControllerType_PS3,
EControllerType_PS4,
EControllerType_PS5,
EControllerType_Switch,
EControllerType_Gamecube
};
class C_4JInput
{
public:
@@ -136,7 +148,7 @@ public:
EKeyboardResult RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode);
void DestroyKeyboard();
void GetText(uint16_t *UTF16String);
const char* GetControllerType(int ipad);
EControllerType GetControllerType(int ipad);
void SetLostInputControlCallback(void( *Func)(LPVOID, bool),LPVOID lpParam);