2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-14 22:31:20 +00:00
metaforce/Runtime/Weapon/CFidget.hpp

53 lines
1.1 KiB
C++

#ifndef __URDE_CFIDGET_HPP__
#define __URDE_CFIDGET_HPP__
#include "RetroTypes.hpp"
#include "CGunMotion.hpp"
namespace urde
{
class CStateManager;
class CFidget
{
public:
enum class EState
{
Zero,
One,
Two,
Three,
Four,
Five,
Six,
Seven
};
private:
EState x0_state = EState::Zero;
SamusGun::EFidgetType x4_type = SamusGun::EFidgetType::Invalid;
u32 x8_ = 0;
s32 xc_parm2 = -1;
u32 x10_ = 3;
float x14_ = 0.f;
float x18_ = 0.f;
float x1c_ = 0.f;
float x20_ = 0.f;
float x24_ = 0.f;
float x28_ = 0.f;
float x2c_ = 0.f;
float x30_ = 105.f;
bool x34_24_loading = false;
public:
EState GetState() const { return x0_state; }
SamusGun::EFidgetType GetType() const { return x4_type; }
s32 GetParm2() const { return xc_parm2; }
EState Update(int fire, bool bobbing, bool b1, float dt, CStateManager& mgr);
void ResetMinor();
void ResetAll();
void DoneLoading() { x34_24_loading = false; }
};
}
#endif // __URDE_CFIDGET_HPP__