Browse Source

Xbox nxdk: Set gamepad type

Set the gamepad type to Xbox for the original Xbox.
pull/5412/head
Gleb Mazovetskiy 3 years ago
parent
commit
f7335e9df7
  1. 2
      CMake/platforms/xbox_nxdk.cmake
  2. 5
      Source/controls/devices/game_controller.cpp

2
CMake/platforms/xbox_nxdk.cmake

@ -13,6 +13,8 @@ set(DEVILUTIONX_ASSETS_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pkg/assets"
set(DEVILUTIONX_RESAMPLER_SPEEX OFF)
set(DEFAULT_AUDIO_BUFFER_SIZE 5120)
set(DEVILUTIONX_GAMEPAD_TYPE Xbox)
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)

5
Source/controls/devices/game_controller.cpp

@ -234,6 +234,10 @@ bool GameController::IsPressedOnAnyController(ControllerButton button, SDL_Joyst
GamepadLayout GameController::getLayout(const SDL_Event &event)
{
#if defined(DEVILUTIONX_GAMEPAD_TYPE)
return GamepadLayout::
DEVILUTIONX_GAMEPAD_TYPE;
#else // !defined(DEVILUTIONX_GAMEPAD_TYPE)
#if SDL_VERSION_ATLEAST(2, 0, 12)
const int index = event.cdevice.which;
const SDL_GameControllerType gamepadType = SDL_GameControllerTypeForIndex(index);
@ -261,6 +265,7 @@ GamepadLayout GameController::getLayout(const SDL_Event &event)
}
#endif
return GamepadLayout::Generic;
#endif // !defined(DEVILUTIONX_GAMEPAD_TYPE)
}
} // namespace devilution

Loading…
Cancel
Save