metaforce/Runtime/Input/ControlMapper.hpp

118 lines
2.4 KiB
C++
Raw Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2015-08-28 00:11:31 +00:00
2016-03-04 23:04:53 +00:00
namespace urde
2015-08-28 00:11:31 +00:00
{
2018-02-04 06:46:47 +00:00
struct CFinalInput;
2015-08-28 00:11:31 +00:00
class ControlMapper
{
public:
2015-11-21 01:16:07 +00:00
enum class ECommands
2015-08-28 00:11:31 +00:00
{
2015-11-21 01:16:07 +00:00
Forward,
Backward,
TurnLeft,
TurnRight,
StrafeLeft,
StrafeRight,
LookLeft,
LookRight,
LookUp,
LookDown,
2017-07-18 06:11:37 +00:00
JumpOrBoost = 10,
FireOrBomb = 11,
MissileOrPowerBomb = 12,
2015-11-21 01:16:07 +00:00
Morph,
AimUp,
AimDown,
CycleBeamUp,
CycleBeamDown,
CycleItem,
PowerBeam,
IceBeam,
WaveBeam,
PlasmaBeam,
2017-07-20 06:04:40 +00:00
ToggleHolster = 23,
2015-11-21 01:16:07 +00:00
OrbitClose,
OrbitFar,
OrbitObject,
OrbitSelect,
OrbitConfirm,
OrbitLeft,
OrbitRight,
OrbitUp,
OrbitDown,
LookHold1,
LookHold2,
LookZoomIn,
LookZoomOut,
AimHold,
MapCircleUp,
MapCircleDown,
MapCircleLeft,
MapCircleRight,
MapMoveForward,
MapMoveBack,
MapMoveLeft,
MapMoveRight,
MapZoomIn,
MapZoomOut,
2017-07-20 06:04:40 +00:00
SpiderBall,
2015-11-21 01:16:07 +00:00
ChaseCamera,
2017-07-20 06:04:40 +00:00
XrayVisor = 50,
ThermoVisor = 51,
InviroVisor = 52,
NoVisor = 53,
2015-11-21 01:16:07 +00:00
VisorMenu,
VisorUp,
VisorDown,
2017-07-20 06:04:40 +00:00
ShowCrosshairs,
2015-11-21 01:16:07 +00:00
UseSheild=0x3B,
ScanItem=0x3C,
2017-05-02 04:00:38 +00:00
PreviousPauseScreen=0x41,
NextPauseScreen=0x42,
2015-11-21 01:16:07 +00:00
UNKNOWN,
None,
MAX
2015-08-28 00:11:31 +00:00
};
2015-11-21 01:16:07 +00:00
enum class EFunctionList
2015-08-28 00:11:31 +00:00
{
2015-11-21 01:16:07 +00:00
None,
LeftStickUp,
LeftStickDown,
LeftStickLeft,
LeftStickRight,
RightStickUp,
RightStickDown,
RightStickLeft,
RightStickRight,
LeftTrigger,
RightTrigger,
DPadUp,
DPadDown,
DPadLeft,
DPadRight,
AButton,
BButton,
XButton,
YButton,
ZButton,
LeftTriggerPress,
RightTriggerPress,
Start,
MAX // default case
2015-08-28 00:11:31 +00:00
};
static void SetCommandFiltered(ECommands cmd, bool filtered);
static void ResetCommandFilters();
static bool GetPressInput(ECommands cmd, const CFinalInput& input);
static bool GetDigitalInput(ECommands cmd, const CFinalInput& input);
static float GetAnalogInput(ECommands cmd, const CFinalInput& input);
static const char* GetDescriptionForCommand(ECommands cmd);
static const char* GetDescriptionForFunction(EFunctionList func);
};
}