29 changed files with 91 additions and 56 deletions
@ -0,0 +1,16 @@
|
||||
#include "controls/control_mode.hpp" |
||||
|
||||
namespace devilution { |
||||
|
||||
ControlTypes ControlMode = ControlTypes::None; |
||||
ControlTypes ControlDevice = ControlTypes::None; |
||||
|
||||
GamepadLayout GamepadType = |
||||
#if defined(DEVILUTIONX_GAMEPAD_TYPE) |
||||
GamepadLayout:: |
||||
DEVILUTIONX_GAMEPAD_TYPE; |
||||
#else |
||||
GamepadLayout::Generic; |
||||
#endif |
||||
|
||||
} // namespace devilution
|
||||
@ -0,0 +1,30 @@
|
||||
#pragma once |
||||
|
||||
#include <cstdint> |
||||
|
||||
#include "controls/controller_buttons.h" |
||||
|
||||
namespace devilution { |
||||
|
||||
enum class ControlTypes : uint8_t { |
||||
None, |
||||
KeyboardAndMouse, |
||||
Gamepad, |
||||
VirtualGamepad, |
||||
}; |
||||
|
||||
extern ControlTypes ControlMode; |
||||
|
||||
/**
|
||||
* @brief Controlling device type. |
||||
* |
||||
* While simulating a mouse, `ControlMode` is set to `KeyboardAndMouse`, |
||||
* even though a gamepad is used to control it. |
||||
* |
||||
* This value is always set to the actual active device type. |
||||
*/ |
||||
extern ControlTypes ControlDevice; |
||||
|
||||
extern GamepadLayout GamepadType; |
||||
|
||||
} // namespace devilution
|
||||
Loading…
Reference in new issue