#ifndef _CSCRIPTCONTROLLERACTION #define _CSCRIPTCONTROLLERACTION #include "MetroidPrime/CEntity.hpp" #include "MetroidPrime/CControlMapper.hpp" class CScriptControllerAction : public CEntity { enum ECommands { kC_Forward, kC_Backward, kC_TurnLeft, kC_TurnRight, kC_StrafeLeft, kC_StrafeRight, kC_LookLeft, kC_LookRight, kC_LookUp, kC_LookDown, kC_JumpOrBoost = 10, kC_FireOrBomb = 11, kC_MissileOrPowerBomb = 12, kC_Morph, kC_AimUp, kC_AimDown, kC_CycleBeamUp, kC_CycleBeamDown, kC_CycleItem, kC_PowerBeam, kC_IceBeam, kC_WaveBeam, kC_PlasmaBeam, kC_ToggleHolster = 23, kC_OrbitClose, kC_OrbitFar, kC_OrbitObject, kC_OrbitSelect, kC_OrbitConfirm, kC_OrbitLeft, kC_OrbitRight, kC_OrbitUp, kC_OrbitDown, kC_LookHold1, kC_LookHold2, kC_LookZoomIn, kC_LookZoomOut, kC_AimHold, kC_MapCircleUp, kC_MapCircleDown, kC_MapCircleLeft, kC_MapCircleRight, kC_MapMoveForward, kC_MapMoveBack, kC_MapMoveLeft, kC_MapMoveRight, kC_MapZoomIn, kC_MapZoomOut, kC_SpiderBall, kC_ChaseCamera, kC_XrayVisor = 50, kC_ThermoVisor = 51, kC_EnviroVisor = 52, kC_NoVisor = 53, kC_VisorMenu, kC_VisorUp, kC_VisorDown, kC_ShowCrosshairs, kC_UseShield = 0x3B, kC_ScanItem = 0x3C, kC_PreviousPauseScreen = 0x41, kC_NextPauseScreen = 0x42, kC_UNKNOWN, kC_None, kC_MAX }; ECommands x34_command; uint x38_mapScreenSubaction; uchar x3c_24_mapScreenResponse : 1; bool x3c_25_deactivateOnClose : 1; bool x3c_26_pressed : 1; public: CScriptControllerAction(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, bool active, ECommands command, bool b1, uint w1, bool b2); void Accept(IVisitor& visitor) override; void Think(float, CStateManager&) override; static ControlMapper::ECommands GetCommand(ECommands cmd); }; #endif // _CSCRIPTCONTROLLERACTION