2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CGRAPPLEARM
|
|
|
|
#define _CGRAPPLEARM
|
2022-10-06 10:38:13 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
class CVector3f;
|
|
|
|
|
|
|
|
class CGrappleArm {
|
|
|
|
public:
|
|
|
|
CGrappleArm(const CVector3f& scale);
|
2022-10-06 11:06:55 +00:00
|
|
|
~CGrappleArm();
|
2022-10-06 10:38:13 +00:00
|
|
|
|
2022-10-06 11:37:57 +00:00
|
|
|
void PreRender(CStateManager& mgr, const CFrustumPlanes& frustum, const CVector3f& camPos);
|
2022-10-06 20:34:27 +00:00
|
|
|
void ReturnToDefault(CStateManager& mgr, float dt, bool setState);
|
2022-10-09 05:13:17 +00:00
|
|
|
|
2022-10-06 20:34:27 +00:00
|
|
|
// EArmState GetAnimState() const { return x334_animState; }
|
2022-10-06 11:37:57 +00:00
|
|
|
bool GetActive() const { return x3b2_24_active; }
|
2022-10-06 20:34:27 +00:00
|
|
|
bool BeamActive() const { return x3b2_25_beamActive; }
|
|
|
|
bool IsArmMoving() const { return x3b2_27_armMoving; }
|
|
|
|
bool IsGrappling() const { return x3b2_28_isGrappling; }
|
|
|
|
bool IsSuitLoading() const { return x3b2_29_suitLoading; }
|
2022-10-06 11:37:57 +00:00
|
|
|
|
2022-10-06 10:38:13 +00:00
|
|
|
private:
|
2022-10-06 11:37:57 +00:00
|
|
|
u8 x0_pad[0x3b0];
|
|
|
|
s16 x3b0_rumbleHandle;
|
2022-10-09 05:13:17 +00:00
|
|
|
bool x3b2_24_active : 1;
|
2022-10-06 11:37:57 +00:00
|
|
|
bool x3b2_25_beamActive : 1;
|
|
|
|
bool x3b2_26_grappleHit : 1;
|
|
|
|
bool x3b2_27_armMoving : 1;
|
|
|
|
bool x3b2_28_isGrappling : 1;
|
|
|
|
bool x3b2_29_suitLoading : 1;
|
2022-10-06 10:38:13 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CGrappleArm, 0x3b4)
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CGRAPPLEARM
|