mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 06:27:43 +00:00
Various ANIM reader imps
This commit is contained in:
40
Runtime/Character/CAllFormatsAnimSource.hpp
Normal file
40
Runtime/Character/CAllFormatsAnimSource.hpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef __PSHAG_CALLFORMATANIMSOURCE_HPP__
|
||||
#define __PSHAG_CALLFORMATANIMSOURCE_HPP__
|
||||
|
||||
#include "RetroTypes.hpp"
|
||||
#include "zeus/CVector3f.hpp"
|
||||
#include "CAnimSource.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
class IObjectStore;
|
||||
|
||||
enum class EAnimFormat
|
||||
{
|
||||
Uncompressed,
|
||||
Unknown,
|
||||
BitstreamCompressed
|
||||
};
|
||||
|
||||
class CAnimFormatUnion
|
||||
{
|
||||
EAnimFormat x0_format;
|
||||
u8 x4_storage[sizeof(CAnimSource)];
|
||||
static void SubConstruct(u8* storage, EAnimFormat fmt,
|
||||
CInputStream& in, IObjectStore& store);
|
||||
public:
|
||||
CAnimFormatUnion(CInputStream& in, IObjectStore& store);
|
||||
operator CAnimSource&() {return *reinterpret_cast<CAnimSource*>(x4_storage);}
|
||||
};
|
||||
|
||||
class CAllFormatsAnimSource : public CAnimFormatUnion
|
||||
{
|
||||
zeus::CVector3f x68_;
|
||||
SObjectTag x74_tag;
|
||||
public:
|
||||
CAllFormatsAnimSource(CInputStream& in, IObjectStore& store, const SObjectTag& tag);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // __PSHAG_CALLFORMATANIMSOURCE_HPP__
|
||||
Reference in New Issue
Block a user