mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 00:27:42 +00:00
various input class implementations
This commit is contained in:
115
Runtime/Input/ControlMapper.hpp
Normal file
115
Runtime/Input/ControlMapper.hpp
Normal file
@@ -0,0 +1,115 @@
|
||||
#ifndef __RETRO_CCONTROLMAPPER_HPP__
|
||||
#define __RETRO_CCONTROLMAPPER_HPP__
|
||||
|
||||
namespace Retro
|
||||
{
|
||||
class CFinalInput;
|
||||
|
||||
class ControlMapper
|
||||
{
|
||||
public:
|
||||
enum ECommands
|
||||
{
|
||||
CmdForward,
|
||||
CmdBackward,
|
||||
CmdTurnLeft,
|
||||
CmdTurnRight,
|
||||
CmdStrafeLeft,
|
||||
CmdStrafeRight,
|
||||
CmdLookLeft,
|
||||
CmdLookRight,
|
||||
CmdLookUp,
|
||||
CmdLookDown,
|
||||
CmdJumpOrBoost,
|
||||
CmdFireOrBomb,
|
||||
CmdMissileOrPowerBomb,
|
||||
CmdMorph,
|
||||
CmdAimUp,
|
||||
CmdAimDown,
|
||||
CmdCycleBeamUp,
|
||||
CmdCycleBeamDown,
|
||||
CmdCycleItem,
|
||||
CmdPowerBeam,
|
||||
CmdIceBeam,
|
||||
CmdWaveBeam,
|
||||
CmdPlasmaBeam,
|
||||
CmdToggleHolster,
|
||||
CmdOrbitClose,
|
||||
CmdOrbitFar,
|
||||
CmdOrbitObject,
|
||||
CmdOrbitSelect,
|
||||
CmdOrbitConfirm,
|
||||
CmdOrbitLeft,
|
||||
CmdOrbitRight,
|
||||
CmdOrbitUp,
|
||||
CmdOrbitDown,
|
||||
CmdLookHold1,
|
||||
CmdLookHold2,
|
||||
CmdLookZoomIn,
|
||||
CmdLookZoomOut,
|
||||
CmdAimHold,
|
||||
CmdMapCircleUp,
|
||||
CmdMapCircleDown,
|
||||
CmdMapCircleLeft,
|
||||
CmdMapCircleRight,
|
||||
CmdMapMoveForward,
|
||||
CmdMapMoveBack,
|
||||
CmdMapMoveLeft,
|
||||
CmdMapMoveRight,
|
||||
CmdMapZoomIn,
|
||||
CmdMapZoomOut,
|
||||
CmdChaseCamera,
|
||||
CmdXrayVisor,
|
||||
CmdThermoVisor,
|
||||
CmdInviroVisor,
|
||||
CmdNoVisor,
|
||||
CmdVisorMenu,
|
||||
CmdVisorUp,
|
||||
CmdVisorDown,
|
||||
CmdUseSheild,
|
||||
CmdScanItem,
|
||||
CmdUNKNOWN,
|
||||
CmdNone,
|
||||
CmdMAX
|
||||
};
|
||||
|
||||
enum EFunctionList
|
||||
{
|
||||
FuncNone,
|
||||
FuncLeftStickUp,
|
||||
FuncLeftStickDown,
|
||||
FuncLeftStickLeft,
|
||||
FuncLeftStickRight,
|
||||
FuncRightStickUp,
|
||||
FuncRightStickDown,
|
||||
FuncRightStickLeft,
|
||||
FuncRightStickRight,
|
||||
FuncLeftTrigger,
|
||||
FuncRightTrigger,
|
||||
FuncDPadUp,
|
||||
FuncDPadDown,
|
||||
FuncDPadLeft,
|
||||
FuncDPadRight,
|
||||
FuncAButton,
|
||||
FuncBButton,
|
||||
FuncXButton,
|
||||
FuncYButton,
|
||||
FuncZButton,
|
||||
FuncLeftTriggerPress,
|
||||
FuncRightTriggerPress,
|
||||
FuncStart,
|
||||
FuncMAX // default case
|
||||
};
|
||||
|
||||
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);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // __RETRO_CCONTROLMAPPER_HPP__
|
||||
Reference in New Issue
Block a user