2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 04:27:42 +00:00

New code style refactor

This commit is contained in:
Jack Andersen
2018-12-07 19:30:43 -10:00
parent 41ae32be31
commit 636c82a568
1451 changed files with 171430 additions and 203303 deletions

View File

@@ -7,8 +7,7 @@
#include "CSegId.hpp"
#include "CToken.hpp"
namespace urde
{
namespace urde {
class IObjectStore;
class CSegIdList;
class CSegStatementSet;
@@ -19,68 +18,60 @@ class CInt32POINode;
class CParticlePOINode;
class CSoundPOINode;
class RotationAndOffsetStorage
{
friend class CAnimSource;
std::unique_ptr<float[]> x0_storage;
u32 x8_frameCount;
u32 xc_rotPerFrame;
u32 x10_transPerFrame;
class RotationAndOffsetStorage {
friend class CAnimSource;
std::unique_ptr<float[]> x0_storage;
u32 x8_frameCount;
u32 xc_rotPerFrame;
u32 x10_transPerFrame;
std::unique_ptr<float[]> GetRotationsAndOffsets(const std::vector<zeus::CQuaternion>& rots,
const std::vector<zeus::CVector3f>& offs,
u32 frameCount);
static void CopyRotationsAndOffsets(const std::vector<zeus::CQuaternion>& rots,
const std::vector<zeus::CVector3f>& offs,
u32 frameCount, float*);
static u32 DataSizeInBytes(u32 rotPerFrame, u32 transPerFrame, u32 frameCount);
std::unique_ptr<float[]> GetRotationsAndOffsets(const std::vector<zeus::CQuaternion>& rots,
const std::vector<zeus::CVector3f>& offs, u32 frameCount);
static void CopyRotationsAndOffsets(const std::vector<zeus::CQuaternion>& rots,
const std::vector<zeus::CVector3f>& offs, u32 frameCount, float*);
static u32 DataSizeInBytes(u32 rotPerFrame, u32 transPerFrame, u32 frameCount);
public:
struct CRotationAndOffsetVectors
{
std::vector<zeus::CQuaternion> x0_rotations;
std::vector<zeus::CVector3f> x10_offsets;
CRotationAndOffsetVectors(CInputStream& in);
};
u32 GetFrameSizeInBytes() const;
RotationAndOffsetStorage(const CRotationAndOffsetVectors& vectors, u32 frameCount);
struct CRotationAndOffsetVectors {
std::vector<zeus::CQuaternion> x0_rotations;
std::vector<zeus::CVector3f> x10_offsets;
CRotationAndOffsetVectors(CInputStream& in);
};
u32 GetFrameSizeInBytes() const;
RotationAndOffsetStorage(const CRotationAndOffsetVectors& vectors, u32 frameCount);
};
class CAnimSource
{
friend class CAnimSourceInfo;
CCharAnimTime x0_duration;
CCharAnimTime x8_interval;
u32 x10_frameCount;
CSegId x1c_rootBone;
std::vector<u8> x20_rotationChannels;
std::vector<u8> x30_translationChannels;
RotationAndOffsetStorage x40_data;
CAssetId x54_evntId;
TCachedToken<CAnimPOIData> x58_evntData;
float x60_averageVelocity;
class CAnimSource {
friend class CAnimSourceInfo;
CCharAnimTime x0_duration;
CCharAnimTime x8_interval;
u32 x10_frameCount;
CSegId x1c_rootBone;
std::vector<u8> x20_rotationChannels;
std::vector<u8> x30_translationChannels;
RotationAndOffsetStorage x40_data;
CAssetId x54_evntId;
TCachedToken<CAnimPOIData> x58_evntData;
float x60_averageVelocity;
void CalcAverageVelocity();
void CalcAverageVelocity();
public:
CAnimSource(CInputStream& in, IObjectStore& store);
CAnimSource(CInputStream& in, IObjectStore& store);
void GetSegStatementSet(const CSegIdList& list,
CSegStatementSet& set,
const CCharAnimTime& time) const;
void GetSegStatementSet(const CSegIdList& list, CSegStatementSet& set, const CCharAnimTime& time) const;
const std::vector<CSoundPOINode>& GetSoundPOIStream() const;
const std::vector<CParticlePOINode>& GetParticlePOIStream() const;
const std::vector<CInt32POINode>& GetInt32POIStream() const;
const std::vector<CBoolPOINode>& GetBoolPOIStream() const;
const TCachedToken<CAnimPOIData>& GetPOIData() const {return x58_evntData;}
float GetAverageVelocity() const { return x60_averageVelocity; }
zeus::CQuaternion GetRotation(const CSegId& seg, const CCharAnimTime& time) const;
zeus::CVector3f GetOffset(const CSegId& seg, const CCharAnimTime& time) const;
bool HasOffset(const CSegId& seg) const;
const CCharAnimTime& GetDuration() const {return x0_duration;}
const CSegId& GetRootBoneId() const {return x1c_rootBone;}
const std::vector<CSoundPOINode>& GetSoundPOIStream() const;
const std::vector<CParticlePOINode>& GetParticlePOIStream() const;
const std::vector<CInt32POINode>& GetInt32POIStream() const;
const std::vector<CBoolPOINode>& GetBoolPOIStream() const;
const TCachedToken<CAnimPOIData>& GetPOIData() const { return x58_evntData; }
float GetAverageVelocity() const { return x60_averageVelocity; }
zeus::CQuaternion GetRotation(const CSegId& seg, const CCharAnimTime& time) const;
zeus::CVector3f GetOffset(const CSegId& seg, const CCharAnimTime& time) const;
bool HasOffset(const CSegId& seg) const;
const CCharAnimTime& GetDuration() const { return x0_duration; }
const CSegId& GetRootBoneId() const { return x1c_rootBone; }
};
}
} // namespace urde