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

Define ChannelDescPC for 24-bit ANIM3

This commit is contained in:
Jack Andersen
2016-08-26 15:02:12 -10:00
parent f9cef44029
commit c5ddb51dfc
7 changed files with 318 additions and 100 deletions

View File

@@ -51,17 +51,18 @@ class CFBStreamedCompression
}
};
bool m_pc;
u32 x0_scratchSize;
ResId x4_evnt;
TLockedToken<CAnimPOIData> x8_evntToken;
std::unique_ptr<u32[]> xc_rotsAndOffs;
zeus::CVector3f x14_rootOffset;
static u8* ReadBoneChannelDescriptors(u8* out, CInputStream& in);
static std::unique_ptr<u32[]> GetRotationsAndOffsets(u32 words, CInputStream& in);
static u32 ComputeBitstreamWords(const u8* chans);
u8* ReadBoneChannelDescriptors(u8* out, CInputStream& in);
u32 ComputeBitstreamWords(const u8* chans);
std::unique_ptr<u32[]> GetRotationsAndOffsets(u32 words, CInputStream& in);
public:
CFBStreamedCompression(CInputStream& in, IObjectStore& objStore);
CFBStreamedCompression(CInputStream& in, IObjectStore& objStore, bool pc);
CCharAnimTime GetAnimationDuration() const { return reinterpret_cast<const Header*>(xc_rotsAndOffs.get())->duration; }
const TLockedToken<CAnimPOIData>& GetPOIToken() const { return x8_evntToken; }
};