OpenBarnyard
Loading...
Searching...
No Matches
TKeyframeLibrary.cpp
Go to the documentation of this file.
1
#include "ToshiPCH.h"
2
#include "
TAnimation.h
"
3
4
//-----------------------------------------------------------------------------
5
// Enables memory debugging.
6
// Note: Should be the last include!
7
//-----------------------------------------------------------------------------
8
#include "
Core/TMemoryDebugOn.h
"
9
10
TOSHI_NAMESPACE_START
11
12
TKeyframeLibrary::TKeyframeLibrary()
13
{
14
m_szName[ 0 ] =
'\0'
;
15
m_iReferenceCount = 0;
16
m_iNumTranslations = 0;
17
m_iNumQuaternions = 0;
18
m_iNumScales = 0;
19
m_iTranslationSize = 0;
20
m_iQuaternionSize = 0;
21
m_iScaleSize = 0;
22
m_pTranslations =
TNULL
;
23
m_pQuaternions =
TNULL
;
24
m_pScales =
TNULL
;
25
m_pTRB =
TNULL
;
26
}
27
28
void
TKeyframeLibrary::Delete
()
29
{
30
TASSERT
( m_iReferenceCount == 0 );
31
32
if
( m_pTRB )
33
{
34
m_pTRB->Close();
35
delete
m_pTRB;
36
m_pTRB =
TNULL
;
37
}
38
39
delete
this
;
40
}
41
42
// $Barnyard: FUNCTION 006ca600
43
TKeyframeLibrary*
TKeyframeLibrary::CreateFromTRB
(
TTRB
* a_pTRB,
const
TCHAR
* a_szSymbolName )
44
{
45
TVALIDPTR
( a_pTRB );
46
TVALIDPTR
( a_szSymbolName );
47
48
TKeyframeLibrary* pLibrary =
new
TKeyframeLibrary;
49
TRBHeader
* pTRBHeader =
TSTATICCAST
(
TRBHeader
, a_pTRB->
GetSymbolAddress
( a_szSymbolName ) );
50
51
TSIZE
iNameLen =
TStringManager::String8Length
( pTRBHeader->
m_szName
);
52
pLibrary->m_iNameLength =
TUINT8
( iNameLen );
53
54
TStringManager::String8Copy
( pLibrary->m_szName, pTRBHeader->
m_szName
,
TMath::Min
( iNameLen,
sizeof
( pLibrary->m_szName ) ) );
55
pLibrary->m_iReferenceCount = 0;
56
pLibrary->m_SomeVector = pTRBHeader->
m_SomeVector
;
57
pLibrary->m_iNumTranslations = pTRBHeader->
m_iNumTranslations
;
58
pLibrary->m_iNumQuaternions = pTRBHeader->
m_iNumQuaternions
;
59
pLibrary->m_iNumScales = pTRBHeader->
m_iNumScales
;
60
pLibrary->m_iTranslationSize = pTRBHeader->
m_iTranslationSize
;
61
pLibrary->m_iQuaternionSize = pTRBHeader->
m_iQuaternionSize
;
62
pLibrary->m_iScaleSize = pTRBHeader->
m_iScaleSize
;
63
pLibrary->m_pTranslations = pTRBHeader->
m_pTranslations
;
64
pLibrary->m_pQuaternions = pTRBHeader->
m_pQuaternions
;
65
pLibrary->m_pScales = pTRBHeader->
m_pScales
;
66
67
return
pLibrary;
68
}
69
70
TOSHI_NAMESPACE_END
TMemoryDebugOn.h
TAnimation.h
TASSERT
#define TASSERT(X,...)
Definition
Defines.h:138
TSTATICCAST
#define TSTATICCAST(POINTERTYPE, VALUE)
Definition
Defines.h:69
TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_START
Definition
Defines.h:47
TOSHI_NAMESPACE_END
#define TOSHI_NAMESPACE_END
Definition
Defines.h:50
TVALIDPTR
#define TVALIDPTR(PTR)
Definition
Defines.h:139
TSIZE
size_t TSIZE
Definition
Typedefs.h:9
TCHAR
char TCHAR
Definition
Typedefs.h:20
TUINT8
uint8_t TUINT8
Definition
Typedefs.h:17
TNULL
#define TNULL
Definition
Typedefs.h:23
TMath::Min
TFORCEINLINE const T & Min(const T &a, const T &b)
Definition
TMathInline.h:161
TTRB
Definition
TTRB.h:253
TTRB::GetSymbolAddress
void * GetSymbolAddress(const TCHAR *symbName)
Definition
TTRB.cpp:251
TKeyframeLibrary::Delete
void Delete()
Definition
TKeyframeLibrary.cpp:28
TKeyframeLibrary::CreateFromTRB
static TKeyframeLibrary * CreateFromTRB(TTRB *a_pTRB, const TCHAR *a_szSymbolName)
Definition
TKeyframeLibrary.cpp:43
TKeyframeLibrary::TRBHeader
Definition
TAnimation.h:101
TKeyframeLibrary::TRBHeader::m_iNumTranslations
TINT m_iNumTranslations
Definition
TAnimation.h:104
TKeyframeLibrary::TRBHeader::m_pQuaternions
TAnimQuaternion * m_pQuaternions
Definition
TAnimation.h:111
TKeyframeLibrary::TRBHeader::m_pTranslations
TAnimVector * m_pTranslations
Definition
TAnimation.h:110
TKeyframeLibrary::TRBHeader::m_iNumScales
TINT m_iNumScales
Definition
TAnimation.h:106
TKeyframeLibrary::TRBHeader::m_SomeVector
TVector3 m_SomeVector
Definition
TAnimation.h:103
TKeyframeLibrary::TRBHeader::m_iTranslationSize
TINT m_iTranslationSize
Definition
TAnimation.h:107
TKeyframeLibrary::TRBHeader::m_iQuaternionSize
TINT m_iQuaternionSize
Definition
TAnimation.h:108
TKeyframeLibrary::TRBHeader::m_iNumQuaternions
TINT m_iNumQuaternions
Definition
TAnimation.h:105
TKeyframeLibrary::TRBHeader::m_szName
const TCHAR * m_szName
Definition
TAnimation.h:102
TKeyframeLibrary::TRBHeader::m_pScales
TAnimScale * m_pScales
Definition
TAnimation.h:112
TKeyframeLibrary::TRBHeader::m_iScaleSize
TINT m_iScaleSize
Definition
TAnimation.h:109
TStringManager::String8Length
static TSIZE String8Length(const TCHAR *str)
Definition
TStringManager.h:19
TStringManager::String8Copy
static TCHAR * String8Copy(TCHAR *dst, const TCHAR *src, TSIZE size=-1)
Definition
TStringManager.h:15
D:
_dev
OpenBarnyard
Source
Toshi
Source
Render
TKeyframeLibrary.cpp
Generated by
1.13.2