mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-17 11:27:01 +00:00
Almost match ~CPlayerGun
This commit is contained in:
@@ -3,19 +3,49 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class CElementGen {
|
||||
#include "Kyoto/Particles/CParticleGen.hpp"
|
||||
|
||||
class CElementGen : public CParticleGen {
|
||||
public:
|
||||
enum EModelOrientationType { kMOT_Normal, kMOT_One };
|
||||
enum EOptionalSystemFlags { kOSF_None, kOSF_One, kOSF_Two };
|
||||
enum LightType { kLT_None = 0, kLT_Custom = 1, kLT_Directional = 2, kLT_Spot = 3 };
|
||||
|
||||
CElementGen(TToken<CGenDescription>, EModelOrientationType = kMOT_Normal, EOptionalSystemFlags = kOSF_One);
|
||||
~CElementGen();
|
||||
|
||||
virtual void Update(double);
|
||||
virtual void Render() const;
|
||||
virtual void SetOrientation(const CTransform4f& orientation);
|
||||
virtual void SetTranslation(const CVector3f& translation);
|
||||
virtual void SetGlobalOrientation(const CTransform4f& orientation);
|
||||
virtual void SetGlobalTranslation(const CVector3f& translation);
|
||||
virtual void SetGlobalScale(const CVector3f& scale);
|
||||
virtual void SetLocalScale(const CVector3f& scale);
|
||||
virtual void SetParticleEmission(bool emission);
|
||||
virtual void SetModulationColor(const CColor& col);
|
||||
virtual void SetGeneratorRate(float rate) {}
|
||||
virtual CTransform4f GetOrientation() const;
|
||||
virtual CVector3f GetTranslation() const;
|
||||
virtual CTransform4f GetGlobalOrientation() const;
|
||||
virtual CVector3f GetGlobalTranslation() const;
|
||||
virtual CVector3f GetGlobalScale() const;
|
||||
virtual bool GetParticleEmission() const;
|
||||
virtual CColor GetModulationColor() const;
|
||||
virtual bool IsSystemDeletable() const;
|
||||
virtual CAABox GetBounds() const;
|
||||
virtual int GetParticleCOunt() const;
|
||||
virtual bool SystemHasLight() const;
|
||||
virtual CLight GetLight();
|
||||
virtual void DestroyParticles();
|
||||
virtual void AddModifier(CWarp*);
|
||||
virtual uint Get4CharId() const;
|
||||
|
||||
static void Initialize();
|
||||
static void ShutDown();
|
||||
|
||||
private:
|
||||
u8 x0_pad[0x340];
|
||||
u8 x4_pad[0x33C];
|
||||
};
|
||||
CHECK_SIZEOF(CElementGen, 0x340)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ public:
|
||||
return GetAllocSpace();
|
||||
}*/
|
||||
void* operator new(unsigned long sz) { return operator new(sz, "??(??)", nullptr); }
|
||||
void operator delete(void* ptr) { ReferenceCount()--; }
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static void* GetAllocSpace() {
|
||||
@@ -24,4 +24,9 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
template < typename T >
|
||||
void TOneStatic< T >::operator delete(void* ptr) {
|
||||
ReferenceCount()--;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,7 @@ class CWorldShadow {
|
||||
|
||||
public:
|
||||
CWorldShadow(uint w, uint h, bool rgba8);
|
||||
~CWorldShadow();
|
||||
};
|
||||
CHECK_SIZEOF(CWorldShadow, 0x8c)
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "MetroidPrime/Player/CPlayerCameraBob.hpp"
|
||||
#include "MetroidPrime/Player/CPlayerState.hpp"
|
||||
|
||||
#include "Kyoto/TOneStatic.hpp"
|
||||
#include "Kyoto/Audio/CSfxHandle.hpp"
|
||||
#include "Kyoto/Math/CAABox.hpp"
|
||||
#include "Kyoto/Math/CTransform4f.hpp"
|
||||
@@ -38,8 +39,9 @@ class CPhazonBeam;
|
||||
class CElementGen;
|
||||
class CWorldShadow;
|
||||
class CGenDescription;
|
||||
class CPlayerGun;
|
||||
|
||||
class CPlayerGun {
|
||||
class CPlayerGun : public TOneStatic< CPlayerGun > {
|
||||
static float skTractorBeamFactor;
|
||||
|
||||
public:
|
||||
@@ -91,6 +93,7 @@ public:
|
||||
};
|
||||
|
||||
CPlayerGun(TUniqueId);
|
||||
~CPlayerGun();
|
||||
|
||||
void InitBeamData();
|
||||
void InitBombData();
|
||||
|
||||
Reference in New Issue
Block a user