prime/include/MetroidPrime/Weapons/WeaponCommon.hpp

48 lines
1.3 KiB
C++
Raw Normal View History

#ifndef _WEAPONCOMMON
#define _WEAPONCOMMON
2022-12-01 13:45:36 +00:00
#include "Kyoto/SObjectTag.hpp"
#include "rstl/set.hpp"
2022-10-06 23:44:37 +00:00
#include "rstl/vector.hpp"
class CToken;
class CSfxHandle;
2022-11-15 20:06:18 +00:00
class CAnimData;
2022-12-01 13:45:36 +00:00
class CStateManager;
class CPrimitive;
2022-10-06 23:44:37 +00:00
namespace NWeaponTypes {
enum EGunAnimType {
kGAT_BasePosition,
kGAT_Shoot,
kGAT_ChargeUp,
kGAT_ChargeLoop,
kGAT_ChargeShoot,
kGAT_FromMissile,
kGAT_ToMissile,
kGAT_MissileShoot,
kGAT_MissileReload,
kGAT_FromBeam,
kGAT_ToBeam
};
CSfxHandle play_sfx(ushort sfx, bool underwater, bool looped, short pan);
2022-12-01 13:45:36 +00:00
void primitive_set_to_token_vector(const CAnimData& animData,
const rstl::set< CPrimitive >& primSet,
rstl::vector< CToken >& tokensOut, bool preLock);
void get_token_vector(CAnimData& animData, int, rstl::vector< CToken >& tokensOut, bool preLock);
void get_token_vector(const CAnimData& animData, int begin, int end,
rstl::vector< CToken >& tokensOut, bool preLock);
2022-11-07 23:20:36 +00:00
bool are_tokens_ready(const rstl::vector< CToken >&);
2022-11-25 12:41:28 +00:00
CAssetId get_asset_id_from_name(const char* name);
void lock_tokens(rstl::vector< CToken >&);
void unlock_tokens(rstl::vector< CToken >&);
2022-11-25 20:52:18 +00:00
int get_current_suit(const CStateManager& mgr);
2022-10-06 19:38:21 +00:00
} // namespace NWeaponTypes
#endif // _WEAPONCOMMON