Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_cam_param.h
Go to the documentation of this file.
1#ifndef D_D_CAM_PARAM_H
2#define D_D_CAM_PARAM_H
3
5
6struct dCamMath {
7 /* 8008813C */ static f32 rationalBezierRatio(f32, f32);
8 /* 80088284 */ static f32 zoomFovy(f32, f32);
9 /* 8008831C */ static cXyz xyzRotateX(cXyz&, cSAngle);
10 /* 80088384 */ static cXyz xyzRotateY(cXyz&, cSAngle);
11 /* 800883EC */ static f32 xyzHorizontalDistance(cXyz&, cXyz&);
12};
13
14class dCstick_c {
15public:
16 /* 80088434 */ dCstick_c();
17 /* 8008845C */ bool Shift(u32);
18
19 /* 0x0 */ f32 mThresholdLow;
21 /* 0x8 */ int mInputSpeed;
22 /* 0xC */ u8 field_0xc[4];
23
24 /* 800889B0 */ virtual ~dCstick_c() {}
25
26 f32 SwTHH() { return mThresholdHigh; }
27};
28
30public:
31 /* 80088464 */ dCamBGChk_c();
32
34 f32 FwdDistance(s32 param_0) { return mChkInfo[param_0].mDistance; }
35 s16 FwdChkAngle(s32 param_0) { return cAngle::d2s(mChkInfo[param_0].mChkAngle); }
36 f32 FwdWeightH(s32 param_0) { return mChkInfo[param_0].mWeightH; }
37 f32 FwdWeightL(s32 param_0) { return mChkInfo[param_0].mWeightL; }
46
47 // name is a guess for now
48 struct ChkInfo {
49 /* 0x0 */ f32 mDistance;
50 /* 0x4 */ f32 mChkAngle;
51 /* 0x8 */ f32 mWeightH;
52 /* 0xC */ f32 mWeightL;
53 }; // Size: 0x10
54
55 /* 0x00 */ f32 mFloorMargin;
56 /* 0x04 */ ChkInfo mChkInfo[2];
57 /* 0x24 */ f32 mFwdBackMargin;
58 /* 0x28 */ f32 mFwdCushion;
59 /* 0x2C */ f32 field_0x2c;
60 /* 0x30 */ f32 mGazeBackMargin;
61 /* 0x34 */ f32 mCornerCushion;
62 /* 0x38 */ f32 mWallCushion;
63 /* 0x3C */ f32 mWallUpDistance;
65 /* 0x44 */ f32 mCornerAngleMax;
66};
67
69 struct StyleData {
70 /* 0x0 */ u32 field_0x0;
71 /* 0x4 */ u16 field_0x4;
72 /* 0x6 */ u16 field_0x6;
73 /* 0x8 */ f32 field_0x8[28];
74 }; // Size: 0x78
75
76 /* 0x0 */ u8 field_0x0[4];
77 /* 0x4 */ int mStyleNum;
79};
80
82public:
83 /* 800884F0 */ dCamParam_c(s32);
84 /* 800885D4 */ int Change(s32);
85 /* 80088620 */ int SearchStyle(u32);
86
87 /* 80182C60 */ void Arg2(s16 val) { mMapToolArg2 = val; }
88 /* 80182C3C */ s16 Arg2() { return mMapToolArg2; }
89 /* 80182C48 */ u8 Arg1() { return mMapToolArg1; }
90 /* 80182C6C */ void Arg1(u8 val) { mMapToolArg1 = val; }
91 /* 80182C50 */ u8 Arg0() { return mMapToolArg0; }
92 /* 80182C74 */ void Arg0(u8 val) { mMapToolArg0 = val; }
93 /* 80182C7C */ void Fovy(u8 val) { mMapToolFovy = val; }
94 /* 80182C58 */ u8 Fovy() { return mMapToolFovy; }
95 /* 80182CB4 */ bool CheckFlag(u16 flag) { return (flag & mCurrentStyle->field_0x6) != 0; }
96 /* 80182CD0 */ f32 Val(s32 param_0, int param_1) {
97 return mCamStyleData[param_0].field_0x8[param_1];
98 }
99
100 /* 0x00 */ u8 mMapToolFovy;
101 /* 0x01 */ u8 mMapToolArg0;
102 /* 0x02 */ u8 mMapToolArg1;
103 /* 0x04 */ int mMapToolArg2;
105 /* 0x0C */ s32 mStyleNum;
107 /* 0x14 */ int mStyleID;
108 /* 0x18 */ u8 field_0x18[4];
109
110 u32 Id(s32 i_style) { return mCamStyleData[i_style].field_0x0; }
111 int Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
113 u16 Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].field_0x6 & param_1; }
114 void SetFlag(u16 i_flag) { mCurrentStyle->field_0x6 |= i_flag; }
115
116 /* 8008858C */ virtual ~dCamParam_c();
117};
118
120public:
121 /* 80088668 */ dCamSetup_c();
122 /* 80088918 */ bool CheckLatitudeRange(s16*);
123 /* 80088988 */ f32 PlayerHideDist();
124
125 /* 80182BB8 */ bool CheckFlag2(u16 i_flag) { return (i_flag & mFlags2) != 0; }
126 /* 80182BE8 */ f32 WaitRollSpeed() { return mWaitRollSpeed; }
127 /* 80182BF0 */ int WaitRollTimer() { return mWaitRollTimer; }
128 /* 80182C1C */ int ThrowTimer() { return mThrowTimer; }
129 /* 80182C24 */ f32 ThrowCushion() { return mThrowCushion; }
130 /* 80182C2C */ f32 ThrowVAngle() { return mThrowVAngle; }
131 /* 80182C34 */ f32 ThrowCtrAdjust() { return mThrowCtrOffset; }
132 /* 80182CEC */ f32 ChargeBRatio() { return mChargeBRatio; }
133 /* 80182CF4 */ int ChargeTimer() { return mChargeTimer; }
134 /* 80182CFC */ f32 ChargeLatitude() { return mChargeLatitude; }
135
136 bool CheckFlag(u16 i_flag) { return (i_flag & mDebugFlags) != 0; }
150 f32 CusCus() { return mCusCus; }
153
154 /* 0x000 */ f32 mDrawNear;
155 /* 0x004 */ f32 mDrawFar;
156 /* 0x008 */ u16 mDebugFlags;
157 /* 0x00A */ u16 mFlags2;
158 /* 0x00C */ int field_0xc;
159 /* 0x010 */ int mModeSwitchType;
160 /* 0x014 */ void* mTypeTable;
161 /* 0x018 */ int mTypeNum;
162 /* 0x01C */ int mForceType;
163 /* 0x020 */ f32 mCusCus;
164 /* 0x024 */ f32 field_0x24;
165 /* 0x028 */ f32 field_0x28;
166 /* 0x02C */ f32 field_0x2c;
167 /* 0x030 */ f32 field_0x30;
168 /* 0x034 */ f32 field_0x34;
169 /* 0x038 */ f32 mBaseCushion;
170 /* 0x03C */ f32 mJumpCushion;
171 /* 0x040 */ f32 mParallelDist;
172 /* 0x044 */ f32 field_0x44;
174 /* 0x04C */ f32 mCurveWeight;
175 /* 0x050 */ f32 field_0x50;
176 /* 0x054 */ f32 field_0x54;
177 /* 0x058 */ f32 field_0x58;
178 /* 0x05C */ f32 field_0x5c;
179 /* 0x060 */ f32 field_0x60;
182 /* 0x06C */ f32 field_0x6c;
184 /* 0x074 */ int mForceLockOffTimer;
185 /* 0x078 */ f32 field_0x78;
186 /* 0x07C */ f32 field_0x7c;
187 /* 0x080 */ f32 field_0x80;
188 /* 0x084 */ f32 field_0x84;
189 /* 0x088 */ f32 mThrowVAngle;
190 /* 0x08C */ f32 mThrowCtrOffset;
191 /* 0x090 */ f32 mThrowCushion;
192 /* 0x094 */ int mThrowTimer;
193 /* 0x098 */ f32 mWindShakeCtr;
194 /* 0x09C */ f32 field_0x9c;
195 /* 0x0A0 */ f32 mWindShakeFvy;
196 /* 0x0A4 */ f32 mFalseValue;
197 /* 0x0A8 */ f32 mFalseAngle;
198 /* 0x0AC */ f32 field_0xac;
199 /* 0x0B0 */ int field_0xb0;
200 /* 0x0B4 */ f32 field_0xb4;
202 /* 0x0BC */ f32 mManualEndVal;
203 /* 0x0C0 */ f32 mChargeLatitude;
204 /* 0x0C4 */ int mChargeTimer;
205 /* 0x0C8 */ f32 mChargeBRatio;
206 /* 0x0CC */ int mLockonChangeTimer;
208 /* 0x0D4 */ f32 field_0xd4;
209 /* 0x0D8 */ f32 field_0xd8;
212 /* 0x0E0 */ f32 field_0xe0;
213 /* 0x0E4 */ f32 field_0xe4;
214 /* 0x0E8 */ f32 field_0xe8;
215 /* 0x0EC */ int field_0xec;
216 /* 0x0F0 */ int field_0xf0;
217 /* 0x0F4 */ f32 field_0xf4;
218 /* 0x0F8 */ f32 field_0xf8;
219 /* 0x0FC vtable */
220
221 /* 800888B8 */ virtual ~dCamSetup_c();
222
223 /* 0x100 */ dCstick_c mCStick;
224 /* 0x114 */ dCamBGChk_c mBGChk;
225 /* 0x15C */ f32 field_0x15c;
226 /* 0x160 */ f32 field_0x160;
227 /* 0x164 */ int mWaitRollTimer;
228 /* 0x168 */ f32 mWaitRollSpeed;
229 /* 0x16C */ f32 field_0x16c;
231 /* 0x174 */ int mScreensaverWaitTimer;
232 /* 0x178 */ int mScreensaverExecTimer;
233};
234
235#endif /* D_D_CAM_PARAM_H */
static BOOL flag
Definition DEMOAVX.c:20
Definition c_angle.h:6
Definition d_cam_param.h:29
dCamBGChk_c()
Definition d_cam_param.cpp:109
f32 mWallCushion
Definition d_cam_param.h:62
f32 field_0x2c
Definition d_cam_param.h:59
f32 mWallUpDistance
Definition d_cam_param.h:63
f32 mGazeBackMargin
Definition d_cam_param.h:60
s16 FwdChkAngle(s32 param_0)
Definition d_cam_param.h:35
f32 mFwdBackMargin
Definition d_cam_param.h:57
f32 mFwdCushion
Definition d_cam_param.h:58
ChkInfo mChkInfo[2]
Definition d_cam_param.h:56
f32 mFloorMargin
Definition d_cam_param.h:55
f32 FloorMargin()
Definition d_cam_param.h:45
f32 mCornerAngleMax
Definition d_cam_param.h:65
f32 CornerCushion()
Definition d_cam_param.h:43
f32 mWallBackCushion
Definition d_cam_param.h:64
f32 FwdDistance(s32 param_0)
Definition d_cam_param.h:34
f32 WallUpDistance()
Definition d_cam_param.h:33
f32 FwdCushion()
Definition d_cam_param.h:39
f32 GazeBackMargin()
Definition d_cam_param.h:40
f32 FwdBackMargin()
Definition d_cam_param.h:38
f32 WallBackCushion()
Definition d_cam_param.h:42
f32 CornerAngleMax()
Definition d_cam_param.h:44
f32 mCornerCushion
Definition d_cam_param.h:61
f32 FwdWeightL(s32 param_0)
Definition d_cam_param.h:37
f32 FwdWeightH(s32 param_0)
Definition d_cam_param.h:36
f32 WallCushion()
Definition d_cam_param.h:41
Definition d_cam_param.h:81
u16 Flag(s32 param_0, u16 param_1)
Definition d_cam_param.h:113
dCamStyleData::StyleData * mCurrentStyle
Definition d_cam_param.h:106
virtual ~dCamParam_c()
Definition d_cam_param.cpp:148
int Algorythmn()
Definition d_cam_param.h:112
s32 mStyleNum
Definition d_cam_param.h:105
u8 Arg1()
Definition d_cam_param.h:89
void Arg2(s16 val)
Definition d_cam_param.h:87
dCamStyleData::StyleData * mCamStyleData
Definition d_cam_param.h:104
bool CheckFlag(u16 flag)
Definition d_cam_param.h:95
void SetFlag(u16 i_flag)
Definition d_cam_param.h:114
dCamParam_c(s32)
Definition d_cam_param.cpp:134
s16 Arg2()
Definition d_cam_param.h:88
u8 mMapToolFovy
Definition d_cam_param.h:100
u8 mMapToolArg1
Definition d_cam_param.h:102
f32 Val(s32 param_0, int param_1)
Definition d_cam_param.h:96
int SearchStyle(u32)
Definition d_cam_param.cpp:164
int mMapToolArg2
Definition d_cam_param.h:103
int Algorythmn(s32 i_style)
Definition d_cam_param.h:111
u8 mMapToolArg0
Definition d_cam_param.h:101
int Change(s32)
Definition d_cam_param.cpp:151
void Arg0(u8 val)
Definition d_cam_param.h:92
void Arg1(u8 val)
Definition d_cam_param.h:90
int mStyleID
Definition d_cam_param.h:107
void Fovy(u8 val)
Definition d_cam_param.h:93
u8 Fovy()
Definition d_cam_param.h:94
u8 field_0x18[4]
Definition d_cam_param.h:108
u8 Arg0()
Definition d_cam_param.h:91
u32 Id(s32 i_style)
Definition d_cam_param.h:110
Definition d_cam_param.h:119
f32 field_0xe4
Definition d_cam_param.h:213
f32 WindShakeGap4Fvy()
Definition d_cam_param.h:145
f32 field_0x24
Definition d_cam_param.h:164
f32 field_0xd4
Definition d_cam_param.h:208
u16 mMapToolCamLongTimer
Definition d_cam_param.h:211
f32 mChargeLatitude
Definition d_cam_param.h:203
u16 mDebugFlags
Definition d_cam_param.h:156
f32 USOValue()
Definition d_cam_param.h:142
f32 ChargeBRatio()
Definition d_cam_param.h:132
f32 mJumpCushion
Definition d_cam_param.h:170
int mForceType
Definition d_cam_param.h:162
int field_0xf0
Definition d_cam_param.h:216
f32 field_0x60
Definition d_cam_param.h:179
f32 ForceLockOffDist()
Definition d_cam_param.h:141
int mLockonChangeTimer
Definition d_cam_param.h:206
f32 ThrowCushion()
Definition d_cam_param.h:129
int mScreensaverExecTimer
Definition d_cam_param.h:232
bool CheckFlag(u16 i_flag)
Definition d_cam_param.h:136
f32 mThrowCtrOffset
Definition d_cam_param.h:190
f32 field_0xac
Definition d_cam_param.h:198
int mModeSwitchType
Definition d_cam_param.h:159
u16 mMapToolCamShortTimer
Definition d_cam_param.h:210
f32 ThrowVAngle()
Definition d_cam_param.h:130
f32 field_0x30
Definition d_cam_param.h:167
f32 mManualStartCThreshold
Definition d_cam_param.h:201
f32 field_0x44
Definition d_cam_param.h:172
int mThrowTimer
Definition d_cam_param.h:192
f32 mSubjLinkCullDist
Definition d_cam_param.h:173
f32 field_0x15c
Definition d_cam_param.h:225
int mForceLockOffTimer
Definition d_cam_param.h:184
dCstick_c mCStick
Definition d_cam_param.h:223
int mScreensaverWaitTimer
Definition d_cam_param.h:231
u16 mFlags2
Definition d_cam_param.h:157
f32 ThrowCtrAdjust()
Definition d_cam_param.h:131
f32 field_0x28
Definition d_cam_param.h:165
virtual ~dCamSetup_c()
Definition d_cam_param.cpp:263
f32 WaitRollSpeed()
Definition d_cam_param.h:126
int mChargeTimer
Definition d_cam_param.h:204
f32 mForceLockOffDist
Definition d_cam_param.h:183
int ChargeTimer()
Definition d_cam_param.h:133
f32 CurveWeight()
Definition d_cam_param.h:152
f32 field_0x6c
Definition d_cam_param.h:182
f32 ChargeLatitude()
Definition d_cam_param.h:134
f32 CinemaScopeTrimHeight()
Definition d_cam_param.h:138
int field_0xec
Definition d_cam_param.h:215
f32 ParallelDist()
Definition d_cam_param.h:151
f32 mWindShakeCtr
Definition d_cam_param.h:193
int mWaitRollTimer
Definition d_cam_param.h:227
bool CheckFlag2(u16 i_flag)
Definition d_cam_param.h:125
void * mTypeTable
Definition d_cam_param.h:160
f32 field_0x9c
Definition d_cam_param.h:194
bool CheckLatitudeRange(s16 *)
Definition d_cam_param.cpp:266
f32 field_0x2c
Definition d_cam_param.h:166
f32 field_0x160
Definition d_cam_param.h:226
f32 ForceLockOffTimer()
Definition d_cam_param.h:140
f32 field_0x80
Definition d_cam_param.h:187
f32 mCusCus
Definition d_cam_param.h:163
f32 CusCus()
Definition d_cam_param.h:150
int ThrowTimer()
Definition d_cam_param.h:128
f32 field_0x84
Definition d_cam_param.h:188
f32 mFalseAngle
Definition d_cam_param.h:197
f32 mDrawFar
Definition d_cam_param.h:155
f32 field_0x5c
Definition d_cam_param.h:178
f32 mThrowVAngle
Definition d_cam_param.h:189
f32 mTrimVistaHeight
Definition d_cam_param.h:180
f32 mBaseCushion
Definition d_cam_param.h:169
f32 VistaTrimHeight()
Definition d_cam_param.h:139
f32 mLockonChangeCushion
Definition d_cam_param.h:207
f32 field_0xb4
Definition d_cam_param.h:200
int mTypeNum
Definition d_cam_param.h:161
f32 field_0xe0
Definition d_cam_param.h:212
int LockonChangeTimer()
Definition d_cam_param.h:147
f32 mChargeBRatio
Definition d_cam_param.h:205
f32 mFalseValue
Definition d_cam_param.h:196
f32 field_0x34
Definition d_cam_param.h:168
f32 field_0x78
Definition d_cam_param.h:185
int field_0xb0
Definition d_cam_param.h:199
f32 mManualEndVal
Definition d_cam_param.h:202
f32 field_0x16c
Definition d_cam_param.h:229
f32 WindShakeGap4Ctr()
Definition d_cam_param.h:144
f32 Cushion4Jump()
Definition d_cam_param.h:149
f32 USOAngle()
Definition d_cam_param.h:143
dCamBGChk_c mBGChk
Definition d_cam_param.h:224
int field_0xc
Definition d_cam_param.h:158
f32 field_0xf8
Definition d_cam_param.h:218
dCamSetup_c()
Definition d_cam_param.cpp:182
f32 field_0xf4
Definition d_cam_param.h:217
f32 ManualEndVal()
Definition d_cam_param.h:137
f32 field_0x50
Definition d_cam_param.h:175
f32 mThrowCushion
Definition d_cam_param.h:191
f32 Cushion4Base()
Definition d_cam_param.h:148
f32 mTrimCineScopeHeight
Definition d_cam_param.h:181
f32 LockonChangeCushion()
Definition d_cam_param.h:146
f32 field_0x58
Definition d_cam_param.h:177
f32 field_0x54
Definition d_cam_param.h:176
f32 mWaitRollSpeed
Definition d_cam_param.h:228
int mScreensaverFirstWaitTimer
Definition d_cam_param.h:230
f32 mParallelDist
Definition d_cam_param.h:171
f32 mDrawNear
Definition d_cam_param.h:154
int WaitRollTimer()
Definition d_cam_param.h:127
f32 field_0xd8
Definition d_cam_param.h:209
f32 PlayerHideDist()
Definition d_cam_param.cpp:284
f32 mCurveWeight
Definition d_cam_param.h:174
f32 field_0x7c
Definition d_cam_param.h:186
f32 field_0xe8
Definition d_cam_param.h:214
f32 mWindShakeFvy
Definition d_cam_param.h:195
Definition d_cam_param.h:14
int mInputSpeed
Definition d_cam_param.h:21
u8 field_0xc[4]
Definition d_cam_param.h:22
f32 mThresholdLow
Definition d_cam_param.h:19
f32 SwTHH()
Definition d_cam_param.h:26
virtual ~dCstick_c()
Definition d_cam_param.h:24
f32 mThresholdHigh
Definition d_cam_param.h:20
bool Shift(u32)
Definition d_cam_param.cpp:104
dCstick_c()
Definition d_cam_param.cpp:97
static s16 d2s(f32 d)
Definition c_angle.h:72
Definition d_a_hozelda.cpp:20
Definition d_cam_param.h:48
f32 mWeightL
Definition d_cam_param.h:52
f32 mDistance
Definition d_cam_param.h:49
f32 mChkAngle
Definition d_cam_param.h:50
f32 mWeightH
Definition d_cam_param.h:51
Definition d_cam_param.h:6
static f32 rationalBezierRatio(f32, f32)
Definition d_cam_param.cpp:13
static f32 zoomFovy(f32, f32)
Definition d_cam_param.cpp:58
static f32 xyzHorizontalDistance(cXyz &, cXyz &)
Definition d_cam_param.cpp:89
static cXyz xyzRotateX(cXyz &, cSAngle)
Definition d_cam_param.cpp:66
static cXyz xyzRotateY(cXyz &, cSAngle)
Definition d_cam_param.cpp:77
Definition d_cam_param.h:69
u16 field_0x6
Definition d_cam_param.h:72
u32 field_0x0
Definition d_cam_param.h:70
u16 field_0x4
Definition d_cam_param.h:71
f32 field_0x8[28]
Definition d_cam_param.h:73
Definition d_cam_param.h:68
u8 field_0x0[4]
Definition d_cam_param.h:76
int mStyleNum
Definition d_cam_param.h:77
StyleData * mStyleData
Definition d_cam_param.h:78
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5