SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
include
Game
Camera
CameraAnim.hpp
1
#pragma once
2
3
#include "Game/Camera/Camera.hpp"
4
#include "revolution.h"
5
6
struct
CanmFileHeader
{
7
u8 mMagic[4];
// _0
8
u8 mType[4];
// _4
9
s32 _8;
10
s32 _C;
11
s32 _10;
12
s32 _14;
13
u32 mNrFrames;
// _18
14
u32 mValueOffset;
// _1C
15
};
16
17
struct
CanmKeyFrameComponentInfo
{
18
u32 mCount;
// _0
19
u32 mOffset;
// _4
20
u32 mType;
// _8
21
};
22
23
struct
CanmKeyFrameInfo
{
24
CanmKeyFrameComponentInfo
mPosX;
// _0
25
CanmKeyFrameComponentInfo
mPosY;
// _C
26
CanmKeyFrameComponentInfo
mPosZ;
// _18
27
CanmKeyFrameComponentInfo
mWatchPosX;
// _24
28
CanmKeyFrameComponentInfo
mWatchPosY;
// _30
29
CanmKeyFrameComponentInfo
mWatchPosZ;
// _3C
30
CanmKeyFrameComponentInfo
mTwist;
// _48
31
CanmKeyFrameComponentInfo
mFovy;
// _54
32
};
33
34
struct
CamnFrameComponentInfo
{
35
u32 mCount;
// _0
36
u32 mOffset;
// _4
37
};
38
39
struct
CanmFrameInfo
{
40
CamnFrameComponentInfo
mPosX;
// _0
41
CamnFrameComponentInfo
mPosY;
// _8
42
CamnFrameComponentInfo
mPosZ;
// _10
43
CamnFrameComponentInfo
mWatchPosX;
// _18
44
CamnFrameComponentInfo
mWatchPosY;
// _20
45
CamnFrameComponentInfo
mWatchPosZ;
// _28
46
CamnFrameComponentInfo
mTwist;
// _30
47
CamnFrameComponentInfo
mFovy;
// _38
48
};
49
50
class
BaseCamAnmDataAccessor
{
51
public
:
52
inline
BaseCamAnmDataAccessor
() {
53
54
}
55
56
virtual
inline
~BaseCamAnmDataAccessor
() {
57
58
}
59
60
virtual
void
set(
void
*,
void
*) = 0;
61
virtual
void
getPos(TVec3f *,
float
)
const
= 0;
62
virtual
void
getWatchPos(TVec3f *,
float
)
const
= 0;
63
virtual
float
getTwist(
float
)
const
= 0;
64
virtual
float
getFovy(
float
)
const
= 0;
65
};
66
67
class
KeyCamAnmDataAccessor
:
public
BaseCamAnmDataAccessor
{
68
public
:
69
inline
KeyCamAnmDataAccessor
() {
70
mInfo = NULL;
71
mValues = NULL;
72
}
73
74
virtual
~KeyCamAnmDataAccessor
();
75
76
virtual
void
set(
void
*,
void
*);
77
virtual
void
getPos(TVec3f *,
float
)
const
;
78
virtual
void
getWatchPos(TVec3f *,
float
)
const
;
79
virtual
float
getTwist(
float
)
const
;
80
virtual
float
getFovy(
float
)
const
;
81
82
float
get(
float
,
unsigned
long
,
unsigned
long
,
unsigned
long
)
const
;
83
u32 searchKeyFrameIndex(
float
,
unsigned
long
,
unsigned
long
,
unsigned
long
)
const
;
84
float
get3f(
float
,
unsigned
long
,
unsigned
long
)
const
;
85
float
get4f(
float
,
unsigned
long
,
unsigned
long
)
const
;
86
float
calcHermite(
float
,
float
,
float
,
float
,
float
,
float
,
float
)
const
;
87
88
CanmKeyFrameInfo
*mInfo;
// _4
89
f32 *mValues;
// _8
90
};
91
92
class
CamAnmDataAccessor
:
public
BaseCamAnmDataAccessor
{
93
public
:
94
inline
CamAnmDataAccessor
() {
95
mInfo = NULL;
96
mValues = NULL;
97
}
98
99
virtual
~CamAnmDataAccessor
();
100
101
virtual
void
set(
void
*,
void
*);
102
virtual
void
getPos(TVec3f *,
float
)
const
;
103
virtual
void
getWatchPos(TVec3f *,
float
)
const
;
104
virtual
float
getTwist(
float
)
const
;
105
virtual
float
getFovy(
float
)
const
;
106
107
float
get(
float
,
unsigned
long
,
unsigned
long
)
const
;
108
109
CanmFrameInfo
*mInfo;
// _4
110
f32 *mValues;
// _8
111
};
112
113
class
CameraAnim
:
public
Camera
{
114
public
:
115
CameraAnim
(
const
char
*);
116
virtual
~CameraAnim
();
117
118
virtual
void
reset();
119
virtual
CameraTargetObj
*calc();
120
virtual
bool
isZeroFrameMoveOff()
const
;
121
virtual
bool
isCollisionOff()
const
;
122
virtual
bool
isInterpolationOff()
const
;
123
virtual
CamTranslatorBase
*createTranslator();
124
125
void
setParam(
unsigned
char
*,
float
);
126
bool
isAnimEnd()
const
;
127
static
u32 getAnimFrame(
unsigned
char
*);
128
bool
loadBin(
unsigned
char
*);
129
130
s32 _4C;
131
s32 _50;
132
u32 mNrFrames;
// _54
133
u8 mIsKey;
// _58
134
u8 _59[3];
135
f32 mSpeed;
// _5C
136
f32 mCurrentFrame;
// _60
137
BaseCamAnmDataAccessor
*mFileDataAccessor;
// _64
138
CamAnmDataAccessor
*mDataAccessor;
// _68
139
KeyCamAnmDataAccessor
*mKeyDataAccessor;
// _6C
140
u32 mNrValues;
141
s32 _74;
142
u8 *mFileData;
// _78
143
u8 _7C;
144
u8 _7D[3];
145
};
BaseCamAnmDataAccessor
Definition
CameraAnim.hpp:50
CamAnmDataAccessor
Definition
CameraAnim.hpp:92
CamTranslatorBase
Definition
Camera.hpp:14
CameraAnim
Definition
CameraAnim.hpp:113
Camera
Definition
Camera.hpp:36
CameraTargetObj
Definition
CameraTargetObj.hpp:12
KeyCamAnmDataAccessor
Definition
CameraAnim.hpp:67
CamnFrameComponentInfo
Definition
CameraAnim.hpp:34
CanmFileHeader
Definition
CameraAnim.hpp:6
CanmFrameInfo
Definition
CameraAnim.hpp:39
CanmKeyFrameComponentInfo
Definition
CameraAnim.hpp:17
CanmKeyFrameInfo
Definition
CameraAnim.hpp:23
Generated by
1.10.0