OpenBarnyard
 
Loading...
Searching...
No Matches
ANamedAnimationSet.h
Go to the documentation of this file.
1#pragma once
2#include "ANamedAnimation.h"
3#include "ASoundBreakpoint.h"
4
5#include <Toshi/TRefCounted.h>
6#include <Toshi/TPString8.h>
7#include <Toshi/T2Map.h>
8#include <Render/TSkeleton.h>
10
12 : public Toshi::TObject
13 , public Toshi::TRefCounted
14{
15public:
17
28
29public:
30 // constructors/destructor
32 ANamedAnimationSet( Toshi::T2Allocator* a_pAllocator );
34
35 TBOOL CreateFromProperties( const PBProperties* a_pProperties, Toshi::TSkeleton* a_pSkeleton );
36 void Destroy();
37
38 TBOOL AddSoundBreakpoint( ASoundBreakpoint* a_pSoundBreakpoint, Toshi::TSkeleton* a_pSkeleton );
39
40 const Toshi::TPString8& GetName() const { return m_strName; }
41 ANamedAnimation* GetNamedAnimation( const Toshi::TPString8& a_strName );
42
43private:
44 ANamedAnimation* LoadNamedAnimation( const PBProperties* a_pProperties, Toshi::TSkeleton* a_pSkeleton );
45 TBOOL LoadAnimationTransition( const PBProperties* a_pProperties );
46
47private:
48 Toshi::TPString8 m_strName;
49 Toshi::T2Map<Toshi::TPString8, ANamedAnimation*, Toshi::TPString8::Comparator> m_mapAnimations;
50 Toshi::T2Allocator* m_pAllocator;
51 OVERLAYTYPE m_eOverlayType;
52};
53
54using ANamedAnimationSetRef = Toshi::TRef<ANamedAnimationSet>;
#define BITFLAG(x)
Definition Defines.h:10
#define TDECLARE_CLASS(THIS_CLASS, PARENT_CLASS)
Definition TObject.h:38
uint8_t TUINT8
Definition Typedefs.h:17
bool TBOOL
Definition Typedefs.h:6
Toshi::TRef< ANamedAnimationSet > ANamedAnimationSetRef
TBOOL AddSoundBreakpoint(ASoundBreakpoint *a_pSoundBreakpoint, Toshi::TSkeleton *a_pSkeleton)
ANamedAnimation * GetNamedAnimation(const Toshi::TPString8 &a_strName)
TBOOL CreateFromProperties(const PBProperties *a_pProperties, Toshi::TSkeleton *a_pSkeleton)
const Toshi::TPString8 & GetName() const