2015-08-28 00:11:31 +00:00
|
|
|
#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,
|
2015-10-01 02:35:47 +00:00
|
|
|
CmdUseSheild=0x3B,
|
|
|
|
CmdScanItem=0x3C,
|
2015-08-28 00:11:31 +00:00
|
|
|
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__
|