Browse Source

Define gamepad type for SDL1 handhelds

pull/5407/head
Gleb Mazovetskiy 3 years ago
parent
commit
12c7dab3f3
  1. 1
      CMake/Definitions.cmake
  2. 1
      CMake/platforms/gkd350h.cmake
  3. 1
      CMake/platforms/lepus.cmake
  4. 1
      CMake/platforms/miyoo_mini.cmake
  5. 1
      CMake/platforms/n3ds.cmake
  6. 1
      CMake/platforms/retrofw.cmake
  7. 1
      CMake/platforms/rg350.cmake
  8. 1
      CMake/platforms/rg99.cmake
  9. 9
      Source/controls/plrctrls.cpp

1
CMake/Definitions.cmake

@ -39,6 +39,7 @@ foreach(
SDL1_VIDEO_MODE_SVID_FLAGS
SDL1_FORCE_SVID_VIDEO_MODE
SDL1_FORCE_DIRECT_RENDER
DEVILUTIONX_GAMEPAD_TYPE
HAS_KBCTRL
KBCTRL_BUTTON_DPAD_LEFT
KBCTRL_BUTTON_DPAD_RIGHT

1
CMake/platforms/gkd350h.cmake

@ -17,6 +17,7 @@ set(PREFILL_PLAYER_NAME ON)
# so we have to use keyboard mode instead.
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)
set(KBCTRL_BUTTON_DPAD_UP SDLK_UP)

1
CMake/platforms/lepus.cmake

@ -16,6 +16,7 @@ set(JOY_AXIS_RIGHTY 3)
# so we use KBCTRL instead. Unfortunately, this partially breaks
# external mouse and keyboard support.
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)
set(KBCTRL_BUTTON_DPAD_UP SDLK_UP)

1
CMake/platforms/miyoo_mini.cmake

@ -13,6 +13,7 @@ set(DEFAULT_AUDIO_SAMPLE_RATE 44100)
# The mini's buttons are connected via GPIO and are mapped to keyboard inputs
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)
set(KBCTRL_BUTTON_DPAD_UP SDLK_UP)

1
CMake/platforms/n3ds.cmake

@ -11,6 +11,7 @@ set(DISABLE_ZERO_TIER ON)
set(LIBMPQ_FILE_BUFFER_SIZE 32768)
set(USE_SDL1 ON)
set(PREFILL_PLAYER_NAME ON)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(NOEXIT ON)
# 3DS libraries and compile definitions

1
CMake/platforms/retrofw.cmake

@ -3,6 +3,7 @@ set(NONET ON)
set(USE_SDL1 ON)
set(PREFILL_PLAYER_NAME ON)
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)

1
CMake/platforms/rg350.cmake

@ -20,6 +20,7 @@ set(JOY_AXIS_RIGHTY 3)
# so we use KBCTRL instead. Unfortunately, this partially breaks
# external mouse and keyboard support.
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)
set(KBCTRL_BUTTON_DPAD_UP SDLK_UP)

1
CMake/platforms/rg99.cmake

@ -38,6 +38,7 @@ set(SDL1_VIDEO_MODE_SVID_FLAGS SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF)
set(PREFILL_PLAYER_NAME ON)
set(HAS_KBCTRL 1)
set(DEVILUTIONX_GAMEPAD_TYPE Nintendo)
set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT)
set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT)
set(KBCTRL_BUTTON_DPAD_UP SDLK_UP)

9
Source/controls/plrctrls.cpp

@ -46,7 +46,14 @@ namespace devilution {
ControlTypes ControlMode = ControlTypes::None;
ControlTypes ControlDevice = ControlTypes::None;
ControllerButton ControllerButtonHeld = ControllerButton_NONE;
GamepadLayout GamepadType = GamepadLayout::Generic;
GamepadLayout GamepadType =
#if defined(DEVILUTIONX_GAMEPAD_TYPE)
GamepadLayout::
DEVILUTIONX_GAMEPAD_TYPE;
#else
GamepadLayout::Generic;
#endif
int pcurstrig = -1;
Missile *pcursmissile = nullptr;
quest_id pcursquest = Q_INVALID;

Loading…
Cancel
Save