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