Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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
6
7struct dCamMath {
9 static f32 zoomFovy(f32, f32);
10 static cXyz xyzRotateX(cXyz&, cSAngle);
11 static cXyz xyzRotateY(cXyz&, cSAngle);
13};
14
16#if DEBUG
17 : public JORReflexible
18#endif
19{
20public:
21 dCstick_c();
22 bool Shift(u32);
23
24 /* 0x0 */ f32 mThresholdLow;
26 /* 0x8 */ s32 mInputSpeed;
28#if DEBUG
29 /* 0x10 */ s32 mDisplayPosX;
30 /* 0x14 */ s32 mDisplayPosY;
31#endif
32
33 virtual ~dCstick_c() {}
34#if DEBUG
35 virtual void genMessage(JORMContext*);
36#endif
37
38 bool CheckFlag(u16 i_flag) {
39 return (i_flag & mIsDebugDisplay) ? true : false;
40 }
41
42 f32 SwTHH() { return mThresholdHigh; }
43};
44
46#if DEBUG
47 : public JORReflexible
48#endif
49{
50public:
53
55 f32 FwdDistance(s32 param_0) { return mChkInfo[param_0].mDistance; }
56 s16 FwdChkAngle(s32 param_0) { return cAngle::d2s(mChkInfo[param_0].mChkAngle); }
57 f32 FwdWeightH(s32 param_0) { return mChkInfo[param_0].mWeightH; }
58 f32 FwdWeightL(s32 param_0) { return mChkInfo[param_0].mWeightL; }
67
68#if DEBUG
69 virtual void genMessage(JORMContext*);
70#endif
71
72 // name is a guess for now
73 struct ChkInfo {
74 /* 0x0 */ f32 mDistance;
75 /* 0x4 */ f32 mChkAngle;
76 /* 0x8 */ f32 mWeightH;
77 /* 0xC */ f32 mWeightL;
78 }; // Size: 0x10
79
80 /* 0x00 */ f32 mFloorMargin;
81 /* 0x04 */ ChkInfo mChkInfo[2];
82 /* 0x24 */ f32 mFwdBackMargin;
83 /* 0x28 */ f32 mFwdCushion;
84 /* 0x2C */ f32 field_0x2c;
85 /* 0x30 */ f32 mGazeBackMargin;
86 /* 0x34 */ f32 mCornerCushion;
87 /* 0x38 */ f32 mWallCushion;
88 /* 0x3C */ f32 mWallUpDistance;
90 /* 0x44 */ f32 mCornerAngleMax;
91};
92
94 struct StyleData {
95 /* 0x0 */ s32 field_0x0;
96 /* 0x4 */ u16 field_0x4;
97 /* 0x6 */ u16 mFlags;
98 /* 0x8 */ f32 mParams[28];
99 }; // Size: 0x78
100
101 /* 0x0 */ u8 field_0x0[4];
102 /* 0x4 */ int mStyleNum;
104};
105
107#if DEBUG
108 : public JORReflexible
109#endif
110{
111public:
113 int Change(s32);
114 int SearchStyle(u32);
115
116 void Arg2(s16 val) { mMapToolArg2 = val; }
117 s16 Arg2() { return mMapToolArg2; }
118 u8 Arg1() { return mMapToolArg1; }
119 void Arg1(u8 val) { mMapToolArg1 = val; }
120 u8 Arg0() { return mMapToolArg0; }
121 void Arg0(u8 val) { mMapToolArg0 = val; }
122 void Fovy(u8 val) { mMapToolFovy = val; }
123 u8 Fovy() { return mMapToolFovy; }
124 bool CheckFlag(u16 flag) { return (flag & mCurrentStyle->mFlags) != 0 ? true : false; }
125 f32 Val(s32 param_0, int param_1) {
126 return mCamStyleData[param_0].mParams[param_1];
127 }
128 void SetVal(s32 param_0, int param_1, f32 i_value) {
129 mCamStyleData[param_0].mParams[param_1] = i_value;
130 }
131
132 /* 0x02 */ u8 mMapToolFovy;
133 /* 0x03 */ u8 mMapToolArg0;
134 /* 0x04 */ u8 mMapToolArg1;
135 /* 0x08 */ s32 mMapToolArg2;
137 /* 0x10 */ s32 mStyleNum;
139 /* 0x18 */ s32 mStyleID;
140 /* 0x1C */ u16 field_0x1c;
141 /* 0x1E */ s8 mpHIOChild;
142#if DEBUG
143 /* 0x20 */ JORFile mFile;
144#endif
145
146 u32 Id(s32 i_style) { return mCamStyleData[i_style].field_0x0; }
147 int Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
149 u16 Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].mFlags & param_1; }
150 void SetFlag(u16 i_flag) { mCurrentStyle->mFlags |= i_flag; }
151
152 virtual ~dCamParam_c();
153#if DEBUG
154 virtual void genMessage(JORMContext*);
155 virtual void listenPropertyEvent(const JORPropertyEvent*);
156 int writeParamXML();
157 void OpenFile();
158 void PrintFile(char*, ...);
159 void CloseFile();
160#endif
161};
162
164#if DEBUG
165 : public JORReflexible
166#endif
167{
168public:
169 dCamSetup_c();
170 bool CheckLatitudeRange(s16*);
172
173 bool CheckFlag2(u16 i_flag) { return (i_flag & mFlags2) != 0 ? true : false; }
176 int ThrowTimer() { return mThrowTimer; }
181 int ChargeTimer() { return mChargeTimer; }
183
184 bool CheckFlag(u16 i_flag) { return (i_flag & mDebugFlags) != 0; }
198 f32 CusCus() { return mCusCus; }
203 void SetTypeTable(void* i_typeTable, s32 i_typeNum) {
204 mTypeTable = i_typeTable;
205 mTypeNum = i_typeNum;
206 }
209 f32 Far() { return mDrawFar; }
210 f32 Near() { return mDrawNear; }
211
212#if DEBUG
213 virtual ~dCamSetup_c();
214
215 virtual void genMessage(JORMContext*);
216#endif
217
218 /* 0x000 */ f32 mDrawNear;
219 /* 0x004 */ f32 mDrawFar;
220 /* 0x008 */ u16 mDebugFlags;
221 /* 0x00A */ u16 mFlags2;
222 /* 0x00C */ int field_0xc;
223 /* 0x010 */ s32 mModeSwitchType;
224 /* 0x014 */ void* mTypeTable;
225 /* 0x018 */ s32 mTypeNum;
226 /* 0x01C */ s32 mForceType;
227 /* 0x020 */ f32 mCusCus;
228 /* 0x024 */ f32 field_0x24;
229 /* 0x028 */ f32 field_0x28;
230 /* 0x02C */ f32 field_0x2c;
231 /* 0x030 */ f32 field_0x30;
232 /* 0x034 */ f32 field_0x34;
233 /* 0x038 */ f32 mBaseCushion;
234 /* 0x03C */ f32 mJumpCushion;
235 /* 0x040 */ f32 mParallelDist;
236 /* 0x044 */ f32 field_0x44;
238 /* 0x04C */ f32 mCurveWeight;
239 /* 0x050 */ f32 field_0x50;
240 /* 0x054 */ f32 field_0x54;
241 /* 0x058 */ f32 field_0x58;
242 /* 0x05C */ f32 field_0x5c;
243 /* 0x060 */ f32 field_0x60;
246 /* 0x06C */ f32 field_0x6c;
249 /* 0x078 */ f32 field_0x78;
250 /* 0x07C */ f32 field_0x7c;
251 /* 0x080 */ f32 field_0x80;
252 /* 0x084 */ f32 field_0x84;
253 /* 0x088 */ f32 mThrowVAngle;
254 /* 0x08C */ f32 mThrowCtrOffset;
255 /* 0x090 */ f32 mThrowCushion;
256 /* 0x094 */ s32 mThrowTimer;
257 /* 0x098 */ f32 mWindShakeCtr;
258 /* 0x09C */ f32 field_0x9c;
259 /* 0x0A0 */ f32 mWindShakeFvy;
260 /* 0x0A4 */ f32 mFalseValue;
261 /* 0x0A8 */ f32 mFalseAngle;
262 /* 0x0AC */ f32 field_0xac;
263 /* 0x0B0 */ int field_0xb0;
264 /* 0x0B4 */ f32 field_0xb4;
266 /* 0x0BC */ f32 mManualEndVal;
267 /* 0x0C0 */ f32 mChargeLatitude;
268 /* 0x0C4 */ s32 mChargeTimer;
269 /* 0x0C8 */ f32 mChargeBRatio;
272 /* 0x0D4 */ f32 field_0xd4;
273 /* 0x0D8 */ f32 field_0xd8;
276 /* 0x0E0 */ f32 field_0xe0;
277 /* 0x0E4 */ f32 field_0xe4;
278 /* 0x0E8 */ f32 field_0xe8;
279 /* 0x0EC */ int field_0xec;
280 /* 0x0F0 */ int field_0xf0;
281 /* 0x0F4 */ f32 field_0xf4;
282 /* 0x0F8 */ f32 field_0xf8;
283 /* 0x0FC vtable */
284
285#if !DEBUG
286 virtual ~dCamSetup_c();
287#endif
288
289#if DEBUG
290 /* 0x100 */ s8 mpHIOChild;
291#endif
292 /* 0x100 */ dCstick_c mCStick;
293 /* 0x114 */ dCamBGChk_c mBGChk;
294 /* 0x15C */ f32 field_0x15c;
295 /* 0x160 */ f32 field_0x160;
296 /* 0x164 */ int mWaitRollTimer;
297 /* 0x168 */ f32 mWaitRollSpeed;
298 /* 0x16C */ f32 field_0x16c;
302};
303
304#endif /* D_D_CAM_PARAM_H */
static BOOL flag
Definition DEMOAVX.c:20
Definition JORFile.h:24
Definition JORMContext.h:128
Definition JORReflexible.h:47
Definition c_angle.h:18
Definition d_cam_param.h:49
dCamBGChk_c()
Definition d_cam_param.cpp:170
f32 mWallCushion
Definition d_cam_param.h:87
f32 field_0x2c
Definition d_cam_param.h:84
f32 mWallUpDistance
Definition d_cam_param.h:88
f32 mGazeBackMargin
Definition d_cam_param.h:85
s16 FwdChkAngle(s32 param_0)
Definition d_cam_param.h:56
f32 mFwdBackMargin
Definition d_cam_param.h:82
f32 mFwdCushion
Definition d_cam_param.h:83
ChkInfo mChkInfo[2]
Definition d_cam_param.h:81
f32 mFloorMargin
Definition d_cam_param.h:80
f32 FloorMargin()
Definition d_cam_param.h:66
f32 mCornerAngleMax
Definition d_cam_param.h:90
f32 CornerCushion()
Definition d_cam_param.h:64
f32 mWallBackCushion
Definition d_cam_param.h:89
f32 FwdDistance(s32 param_0)
Definition d_cam_param.h:55
f32 WallUpDistance()
Definition d_cam_param.h:54
f32 FwdCushion()
Definition d_cam_param.h:60
f32 GazeBackMargin()
Definition d_cam_param.h:61
virtual void genMessage(JORMContext *)
Definition d_cam_param.cpp:195
f32 FwdBackMargin()
Definition d_cam_param.h:59
f32 WallBackCushion()
Definition d_cam_param.h:63
f32 CornerAngleMax()
Definition d_cam_param.h:65
f32 mCornerCushion
Definition d_cam_param.h:86
~dCamBGChk_c()
Definition d_cam_param.h:52
f32 FwdWeightL(s32 param_0)
Definition d_cam_param.h:58
f32 FwdWeightH(s32 param_0)
Definition d_cam_param.h:57
f32 WallCushion()
Definition d_cam_param.h:62
Definition d_cam_param.h:110
u16 Flag(s32 param_0, u16 param_1)
Definition d_cam_param.h:149
dCamStyleData::StyleData * mCurrentStyle
Definition d_cam_param.h:138
void PrintFile(char *,...)
Definition d_cam_param.cpp:486
virtual void genMessage(JORMContext *)
Definition d_cam_param.cpp:302
s32 mMapToolArg2
Definition d_cam_param.h:135
virtual ~dCamParam_c()
Definition d_cam_param.cpp:264
int writeParamXML()
Definition d_cam_param.cpp:444
int Algorythmn()
Definition d_cam_param.h:148
s32 mStyleNum
Definition d_cam_param.h:137
u16 field_0x1c
Definition d_cam_param.h:140
JORFile mFile
Definition d_cam_param.h:143
u8 Arg1()
Definition d_cam_param.h:118
s32 mStyleID
Definition d_cam_param.h:139
void Arg2(s16 val)
Definition d_cam_param.h:116
dCamStyleData::StyleData * mCamStyleData
Definition d_cam_param.h:136
bool CheckFlag(u16 flag)
Definition d_cam_param.h:124
void SetFlag(u16 i_flag)
Definition d_cam_param.h:150
virtual void listenPropertyEvent(const JORPropertyEvent *)
Definition d_cam_param.cpp:434
dCamParam_c(s32)
Definition d_cam_param.cpp:244
s16 Arg2()
Definition d_cam_param.h:117
u8 mMapToolFovy
Definition d_cam_param.h:132
u8 mMapToolArg1
Definition d_cam_param.h:134
f32 Val(s32 param_0, int param_1)
Definition d_cam_param.h:125
int SearchStyle(u32)
Definition d_cam_param.cpp:287
void SetVal(s32 param_0, int param_1, f32 i_value)
Definition d_cam_param.h:128
int Algorythmn(s32 i_style)
Definition d_cam_param.h:147
u8 mMapToolArg0
Definition d_cam_param.h:133
s8 mpHIOChild
Definition d_cam_param.h:141
int Change(s32)
Definition d_cam_param.cpp:270
void OpenFile()
Definition d_cam_param.cpp:471
void Arg0(u8 val)
Definition d_cam_param.h:121
void Arg1(u8 val)
Definition d_cam_param.h:119
void Fovy(u8 val)
Definition d_cam_param.h:122
void CloseFile()
Definition d_cam_param.cpp:497
u8 Fovy()
Definition d_cam_param.h:123
u8 Arg0()
Definition d_cam_param.h:120
u32 Id(s32 i_style)
Definition d_cam_param.h:146
Definition d_cam_param.h:167
f32 field_0xe4
Definition d_cam_param.h:277
f32 Far()
Definition d_cam_param.h:209
f32 WindShakeGap4Fvy()
Definition d_cam_param.h:193
f32 field_0x24
Definition d_cam_param.h:228
f32 field_0xd4
Definition d_cam_param.h:272
s32 mScreensaverFirstWaitTimer
Definition d_cam_param.h:299
f32 mChargeLatitude
Definition d_cam_param.h:267
u16 mDebugFlags
Definition d_cam_param.h:220
s32 mThrowTimer
Definition d_cam_param.h:256
f32 USOValue()
Definition d_cam_param.h:190
f32 ChargeBRatio()
Definition d_cam_param.h:180
f32 mJumpCushion
Definition d_cam_param.h:234
int field_0xf0
Definition d_cam_param.h:280
f32 field_0x60
Definition d_cam_param.h:243
s16 mMapToolCamLongTimer
Definition d_cam_param.h:275
f32 ForceLockOffDist()
Definition d_cam_param.h:189
f32 ThrowCushion()
Definition d_cam_param.h:177
bool CheckFlag(u16 i_flag)
Definition d_cam_param.h:184
virtual ~dCamSetup_c()
f32 mThrowCtrOffset
Definition d_cam_param.h:254
f32 field_0xac
Definition d_cam_param.h:262
f32 Near()
Definition d_cam_param.h:210
f32 ThrowVAngle()
Definition d_cam_param.h:178
s32 mTypeNum
Definition d_cam_param.h:225
f32 field_0x30
Definition d_cam_param.h:231
f32 mManualStartCThreshold
Definition d_cam_param.h:265
f32 field_0x44
Definition d_cam_param.h:236
f32 mSubjLinkCullDist
Definition d_cam_param.h:237
f32 field_0x15c
Definition d_cam_param.h:294
void SetTypeTable(void *i_typeTable, s32 i_typeNum)
Definition d_cam_param.h:203
dCstick_c mCStick
Definition d_cam_param.h:292
u16 mFlags2
Definition d_cam_param.h:221
f32 ThrowCtrAdjust()
Definition d_cam_param.h:179
f32 field_0x28
Definition d_cam_param.h:229
virtual ~dCamSetup_c()
Definition d_cam_param.cpp:602
f32 WaitRollSpeed()
Definition d_cam_param.h:174
s32 mScreensaverWaitTimer
Definition d_cam_param.h:300
s32 mScreensaverExecTimer
Definition d_cam_param.h:301
f32 mForceLockOffDist
Definition d_cam_param.h:247
virtual void genMessage(JORMContext *)
Definition d_cam_param.cpp:630
int ChargeTimer()
Definition d_cam_param.h:181
f32 CurveWeight()
Definition d_cam_param.h:200
s8 mpHIOChild
Definition d_cam_param.h:290
f32 field_0x6c
Definition d_cam_param.h:246
f32 ChargeLatitude()
Definition d_cam_param.h:182
f32 CinemaScopeTrimHeight()
Definition d_cam_param.h:186
int field_0xec
Definition d_cam_param.h:279
s16 MapToolCameraShortTimer()
Definition d_cam_param.h:202
f32 ParallelDist()
Definition d_cam_param.h:199
f32 mWindShakeCtr
Definition d_cam_param.h:257
int mWaitRollTimer
Definition d_cam_param.h:296
s16 mMapToolCamShortTimer
Definition d_cam_param.h:274
bool CheckFlag2(u16 i_flag)
Definition d_cam_param.h:173
void * mTypeTable
Definition d_cam_param.h:224
f32 field_0x9c
Definition d_cam_param.h:258
bool CheckLatitudeRange(s16 *)
Definition d_cam_param.cpp:608
f32 field_0x2c
Definition d_cam_param.h:230
s32 mLockonChangeTimer
Definition d_cam_param.h:270
f32 field_0x160
Definition d_cam_param.h:295
f32 ForceLockOffTimer()
Definition d_cam_param.h:188
f32 field_0x80
Definition d_cam_param.h:251
f32 mCusCus
Definition d_cam_param.h:227
f32 CusCus()
Definition d_cam_param.h:198
int ThrowTimer()
Definition d_cam_param.h:176
f32 field_0x84
Definition d_cam_param.h:252
f32 mFalseAngle
Definition d_cam_param.h:261
f32 mDrawFar
Definition d_cam_param.h:219
f32 field_0x5c
Definition d_cam_param.h:242
f32 mThrowVAngle
Definition d_cam_param.h:253
f32 mTrimVistaHeight
Definition d_cam_param.h:244
s32 ForceType()
Definition d_cam_param.h:207
f32 mBaseCushion
Definition d_cam_param.h:233
s32 mChargeTimer
Definition d_cam_param.h:268
f32 VistaTrimHeight()
Definition d_cam_param.h:187
f32 mLockonChangeCushion
Definition d_cam_param.h:271
f32 field_0xb4
Definition d_cam_param.h:264
f32 field_0xe0
Definition d_cam_param.h:276
int LockonChangeTimer()
Definition d_cam_param.h:195
f32 mChargeBRatio
Definition d_cam_param.h:269
f32 mFalseValue
Definition d_cam_param.h:260
f32 field_0x34
Definition d_cam_param.h:232
f32 field_0x78
Definition d_cam_param.h:249
int field_0xb0
Definition d_cam_param.h:263
s32 ModeSwitchType()
Definition d_cam_param.h:208
s32 mModeSwitchType
Definition d_cam_param.h:223
f32 mManualEndVal
Definition d_cam_param.h:266
f32 field_0x16c
Definition d_cam_param.h:298
f32 WindShakeGap4Ctr()
Definition d_cam_param.h:192
f32 Cushion4Jump()
Definition d_cam_param.h:197
f32 USOAngle()
Definition d_cam_param.h:191
s32 mForceLockOffTimer
Definition d_cam_param.h:248
dCamBGChk_c mBGChk
Definition d_cam_param.h:293
int field_0xc
Definition d_cam_param.h:222
f32 field_0xf8
Definition d_cam_param.h:282
dCamSetup_c()
Definition d_cam_param.cpp:506
f32 field_0xf4
Definition d_cam_param.h:281
f32 ManualEndVal()
Definition d_cam_param.h:185
f32 field_0x50
Definition d_cam_param.h:239
f32 mThrowCushion
Definition d_cam_param.h:255
f32 Cushion4Base()
Definition d_cam_param.h:196
f32 mTrimCineScopeHeight
Definition d_cam_param.h:245
f32 LockonChangeCushion()
Definition d_cam_param.h:194
f32 field_0x58
Definition d_cam_param.h:241
s16 MapToolCameraLongTimer()
Definition d_cam_param.h:201
s32 mForceType
Definition d_cam_param.h:226
f32 field_0x54
Definition d_cam_param.h:240
f32 mWaitRollSpeed
Definition d_cam_param.h:297
f32 mParallelDist
Definition d_cam_param.h:235
f32 mDrawNear
Definition d_cam_param.h:218
int WaitRollTimer()
Definition d_cam_param.h:175
f32 field_0xd8
Definition d_cam_param.h:273
f32 PlayerHideDist()
Definition d_cam_param.cpp:625
f32 mCurveWeight
Definition d_cam_param.h:238
f32 field_0x7c
Definition d_cam_param.h:250
f32 field_0xe8
Definition d_cam_param.h:278
f32 mWindShakeFvy
Definition d_cam_param.h:259
Definition d_cam_param.h:19
s32 mInputSpeed
Definition d_cam_param.h:26
f32 mThresholdLow
Definition d_cam_param.h:24
u16 mIsDebugDisplay
Definition d_cam_param.h:27
f32 SwTHH()
Definition d_cam_param.h:42
virtual ~dCstick_c()
Definition d_cam_param.h:33
s32 mDisplayPosX
Definition d_cam_param.h:29
f32 mThresholdHigh
Definition d_cam_param.h:25
virtual void genMessage(JORMContext *)
Definition d_cam_param.cpp:139
bool Shift(u32)
Definition d_cam_param.cpp:161
bool CheckFlag(u16 i_flag)
Definition d_cam_param.h:38
s32 mDisplayPosY
Definition d_cam_param.h:30
dCstick_c()
Definition d_cam_param.cpp:128
if(ix< 0x3fe00000)
Definition e_acos.c:82
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
static s16 d2s(f32 d)
Definition c_angle.h:90
Definition c_xyz.h:7
Definition d_cam_param.h:73
f32 mWeightL
Definition d_cam_param.h:77
f32 mDistance
Definition d_cam_param.h:74
f32 mChkAngle
Definition d_cam_param.h:75
f32 mWeightH
Definition d_cam_param.h:76
Definition d_cam_param.h:7
static f32 rationalBezierRatio(f32, f32)
Definition d_cam_param.cpp:58
static f32 zoomFovy(f32, f32)
Definition d_cam_param.cpp:97
static f32 xyzHorizontalDistance(cXyz &, cXyz &)
Definition d_cam_param.cpp:121
static cXyz xyzRotateX(cXyz &, cSAngle)
Definition d_cam_param.cpp:103
static cXyz xyzRotateY(cXyz &, cSAngle)
Definition d_cam_param.cpp:112
Definition d_cam_param.h:94
u16 field_0x4
Definition d_cam_param.h:96
u16 mFlags
Definition d_cam_param.h:97
s32 field_0x0
Definition d_cam_param.h:95
f32 mParams[28]
Definition d_cam_param.h:98
Definition d_cam_param.h:93
u8 field_0x0[4]
Definition d_cam_param.h:101
int mStyleNum
Definition d_cam_param.h:102
StyleData * mStyleData
Definition d_cam_param.h:103