mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-08-18 18:01:34 +00:00
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
#ifndef CANIMATIONPARAMETERS_H
|
|
#define CANIMATIONPARAMETERS_H
|
|
|
|
#include "CAnimSet.h"
|
|
#include "CResourceInfo.h"
|
|
#include "EGame.h"
|
|
#include "TResPtr.h"
|
|
#include "Core/Resource/Model/CModel.h"
|
|
|
|
class CAnimationParameters
|
|
{
|
|
EGame mGame;
|
|
CResourceInfo mCharacter;
|
|
|
|
u32 mCharIndex;
|
|
u32 mAnimIndex;
|
|
u32 mUnknown2;
|
|
u32 mUnknown3;
|
|
|
|
public:
|
|
CAnimationParameters();
|
|
CAnimationParameters(EGame Game);
|
|
CAnimationParameters(IInputStream& rSCLY, EGame Game);
|
|
void Write(IOutputStream& rSCLY);
|
|
|
|
CModel* GetCurrentModel(s32 NodeIndex = -1);
|
|
TString GetCurrentCharacterName(s32 NodeIndex = -1);
|
|
|
|
// Accessors
|
|
inline EGame Version() const { return mGame; }
|
|
inline CAnimSet* AnimSet() const { return (CAnimSet*) mCharacter.Load(); }
|
|
inline u32 CharacterIndex() const { return mCharIndex; }
|
|
inline u32 AnimIndex() const { return mAnimIndex; }
|
|
inline void SetCharIndex(u32 Index) { mCharIndex = Index; }
|
|
inline void SetAnimIndex(u32 Index) { mAnimIndex = Index; }
|
|
|
|
u32 Unknown(u32 Index);
|
|
void SetResource(CResourceInfo Res);
|
|
void SetUnknown(u32 Index, u32 Value);
|
|
|
|
// Operators
|
|
inline bool operator==(const CAnimationParameters& rkOther) const
|
|
{
|
|
return ( (mGame == rkOther.mGame) &&
|
|
(mCharacter == rkOther.mCharacter) &&
|
|
(mCharIndex == rkOther.mCharIndex) &&
|
|
(mAnimIndex == rkOther.mAnimIndex) &&
|
|
(mUnknown2 == rkOther.mUnknown2) &&
|
|
(mUnknown3 == rkOther.mUnknown3) );
|
|
}
|
|
};
|
|
|
|
#endif // CANIMATIONPARAMETERS_H
|