2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CAUXWEAPON
|
|
|
|
#define _CAUXWEAPON
|
|
|
|
|
|
|
|
#include "types.h"
|
2022-10-06 10:38:13 +00:00
|
|
|
|
|
|
|
#include "MetroidPrime/TGameTypes.hpp"
|
|
|
|
|
2022-10-11 15:30:39 +00:00
|
|
|
class CWeaponDescription;
|
|
|
|
class CGenDescription;
|
|
|
|
class CElementGen;
|
|
|
|
|
2022-10-06 10:38:13 +00:00
|
|
|
class CAuxWeapon {
|
|
|
|
public:
|
2022-10-11 15:30:39 +00:00
|
|
|
CAuxWeapon(TUniqueId playerId);
|
2022-10-06 10:38:13 +00:00
|
|
|
|
2022-10-06 19:38:21 +00:00
|
|
|
bool IsComboFxActive(const CStateManager& mgr) const;
|
|
|
|
|
2022-10-06 10:38:13 +00:00
|
|
|
private:
|
2022-10-11 15:30:39 +00:00
|
|
|
TCachedToken< CWeaponDescription > x0_missile;
|
|
|
|
TCachedToken< CGenDescription > xc_flameMuzzle;
|
|
|
|
TCachedToken< CGenDescription > x18_busterMuzzle;
|
|
|
|
rstl::single_ptr< CElementGen > x24_muzzleFxGen;
|
|
|
|
rstl::reserved_vector< TCachedToken< CWeaponDescription >, 5 > x28_combos;
|
|
|
|
float x68_ammoConsumeTimer;
|
|
|
|
TUniqueId x6c_playerId;
|
|
|
|
TUniqueId x6e_flameThrowerId;
|
|
|
|
TUniqueId x70_waveBusterId;
|
|
|
|
CPlayerState::EBeamId x74_firingBeamId;
|
|
|
|
CPlayerState::EBeamId x78_loadBeamId;
|
|
|
|
CSfxHandle x7c_comboSfx;
|
|
|
|
bool x80_24_isLoaded : 1;
|
2022-10-06 10:38:13 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CAuxWeapon, 0x84)
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CAUXWEAPON
|