2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 05:07:43 +00:00

More AnimSourceReader imps

This commit is contained in:
Jack Andersen
2016-04-11 20:15:32 -10:00
parent faacffba77
commit 41f482daeb
24 changed files with 650 additions and 58 deletions

View File

@@ -4,10 +4,12 @@
#include "RetroTypes.hpp"
#include "zeus/CVector3f.hpp"
#include "CAnimSource.hpp"
#include "CFactoryMgr.hpp"
namespace urde
{
class IObjectStore;
class CAnimSourceReaderBase;
enum class EAnimFormat
{
@@ -24,6 +26,7 @@ class CAnimFormatUnion
CInputStream& in, IObjectStore& store);
public:
CAnimFormatUnion(CInputStream& in, IObjectStore& store);
~CAnimFormatUnion();
operator CAnimSource&() {return *reinterpret_cast<CAnimSource*>(x4_storage);}
};
@@ -33,8 +36,12 @@ class CAllFormatsAnimSource : public CAnimFormatUnion
SObjectTag x74_tag;
public:
CAllFormatsAnimSource(CInputStream& in, IObjectStore& store, const SObjectTag& tag);
static std::shared_ptr<CAnimSourceReaderBase> GetNewReader(const TLockedToken<CAllFormatsAnimSource>& tok,
const CCharAnimTime& startTime);
};
CFactoryFnReturn AnimSourceFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& params);
}
#endif // __PSHAG_CALLFORMATANIMSOURCE_HPP__