Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
c_cc_d.h
Go to the documentation of this file.
1#ifndef C_CC_D_H
2#define C_CC_D_H
3
9#include "f_pc/f_pc_manager.h"
10
11typedef struct _GXColor GXColor;
12class fopAc_ac_c;
13
22
23class cCcD_PntAttr;
24class cCcD_CpsAttr;
25class cCcD_TriAttr;
26class cCcD_AabAttr;
27class cCcD_CylAttr;
28class cCcD_SphAttr;
29
31 /* 0x00000000 */ AT_TYPE_0 = 0,
32 /* 0x00000001*/ AT_TYPE_1 = (1 << 0),
33 /* 0x00000002 */ AT_TYPE_NORMAL_SWORD = (1 << 1), // wooden or ordon
34 /* 0x00000004 */ AT_TYPE_HORSE = (1 << 2),
35 /* 0x00000008 */ AT_TYPE_THROW_OBJ = (1 << 3),
36 /* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4),
37 /* 0x00000020 */ AT_TYPE_BOMB = (1 << 5),
38 /* 0x00000040 */ AT_TYPE_40 = (1 << 6),
39 /* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7),
40 /* 0x00000100 */ AT_TYPE_100 = (1 << 8),
41 /* 0x00000200 */ AT_TYPE_LANTERN_SWING = (1 << 9),
42 /* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10),
43 /* 0x00000800 */ AT_TYPE_800 = (1 << 11),
44 /* 0x00001000 */ AT_TYPE_1000 = (1 << 12),
45 /* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
46 /* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
47 /* 0x00008000 */ AT_TYPE_8000 = (1 << 15),
48 /* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
49 /* 0x00020000 */ AT_TYPE_20000 = (1 << 17),
50 /* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
51 /* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
52 /* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
53 /* 0x00200000 */ AT_TYPE_HEAVY_BOOTS = (1 << 21),
54 /* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22),
55 /* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23),
56 /* 0x01000000 */ AT_TYPE_1000000 = (1 << 24),
57 /* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26),
58 /* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27),
59 /* 0x10000000 */ AT_TYPE_10000000 = (1 << 28),
60 /* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30),
61 /* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31),
62 /* 0xD8000000 */ AT_TYPE_UNK = 0xD8000000
63};
64
66public:
67 /* 0x00 */ cM3dGAab mAab;
68 /* 0x1C vtable */
69
70 struct Shape {
71 /* 80167BBC */ ~Shape();
72
73 /* 0x00 */ int _0;
74 /* 0x04 */ f32 _4;
75 /* 0x08 */ f32 _8;
76 /* 0x0C */ f32 _C;
77 /* 0x10 */ f32 _10;
78 /* 0x14 */ f32 _14;
79 };
81 /* 8008556C vt[2] */ virtual ~cCcD_ShapeAttr() {}
82 /* 802649D8 vt[3] */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const {
83 return false;
84 }
85 /* vt[4] */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const = 0;
86 /* vt[5] */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const = 0;
87 /* vt[6] */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const = 0;
88 /* vt[7] */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const = 0;
89 /* vt[8] */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const = 0;
90 /* vt[9] */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const = 0;
91 /* 802649E0 vt[10]*/ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const { return false; }
92 /* vt[11]*/ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const = 0;
93 /* vt[12]*/ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const = 0;
94 /* vt[13]*/ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const = 0;
95 /* vt[14]*/ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const = 0;
96 /* vt[15]*/ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const = 0;
97 /* vt[16]*/ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const = 0;
98 /* 80084E38 vt[17]*/ virtual const cXyz& GetCoCP() const { return m_virtual_center; }
99 /* 80084E2C vt[18]*/ virtual cXyz& GetCoCP() { return m_virtual_center; }
100 /* vt[19]*/ virtual void CalcAabBox() = 0;
101 /* vt[20]*/ virtual bool GetNVec(cXyz const&, cXyz*) const = 0;
102 /* 80263A64 vt[21]*/ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
103
104 cM3dGAab& GetWorkAab() { return mAab; }
105 cM3dGAab const& GetWorkAab() const { return mAab; }
106
108};
109
111
115
116class cCcD_TriAttr : public cCcD_ShapeAttr, public cM3dGTri {
117public:
118 /* 80263C04 */ virtual void CalcAabBox();
119 /* 80263C9C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
120 /* 80263A88 */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
121 /* 80263BCC */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
122 /* 80263B90 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
123 /* 80084E54 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
124 return shape.CrossAtTg(*this, xyz);
125 }
126 /* 80084E4C */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
127 /* 80084E44 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
128 /* 80263B58 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
129 /* 80084EBC */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
130 return shape.CrossCo(*this, f);
131 }
132 /* 80084EB4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
133 /* 80084EAC */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const { return false; }
134 /* 80084EA4 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
135 /* 80084E9C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
136 /* 80084E94 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const { return false; }
137 /* 80084E8C */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const { return false; }
138 /* 80264938 */ virtual ~cCcD_TriAttr() {}
140};
141
145
146class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
147public:
149 void Set(const cCcD_SrcCpsAttr& pSrc) { cM3dGCps::Set(pSrc.mCps); }
150 void Set(const cXyz& pStart, const cXyz& pEnd, float radius) {
151 cM3dGCps::Set(pStart, pEnd, radius);
152 }
153
154 /* 80085450 */ virtual ~cCcD_CpsAttr() {}
155 /* 80263DC0 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
156 /* 80263E04 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
157 /* 80084FE4 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
158 return shape.CrossAtTg(*this, xyz);
159 }
160 /* 80084FDC */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
161 /* 80084FD4 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
162 /* 80263D38 */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
163 /* 80263D7C */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
164 /* 80263F24 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
165 /* 80263ED4 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
166 /* 80263F74 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
167 /* 80085034 */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
168 return shape.CrossCo(*this, f);
169 }
170 /* 8008502C */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
171 /* 80085024 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
172 /* 8008501C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
173 /* 80263FC4 */ virtual void CalcAabBox();
174 /* 80264014 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
175};
176
178
182
183class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
184public:
186 void Set(const cCcD_SrcSphAttr& src) { cM3dGSph::Set(src.mSph); }
187
188 /* 8008721C */ virtual ~cCcD_SphAttr() {}
189 /* 80084B44 */ virtual const cXyz& GetCoCP() const { return mCenter; }
190 /* 80037A54 */ virtual cXyz& GetCoCP() { return mCenter; }
191 /* 80084B5C */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
192 return shape.CrossAtTg(*this, xyz);
193 }
194 /* 80084B54 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
195 /* 80084B4C */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
196 /* 80084BAC */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
197 return shape.CrossCo(*this, f);
198 }
199 /* 80084BA4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
200 /* 80084B9C */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
201 /* 80084B94 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
202 /* 80264538 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
203 /* 802645C0 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
204 /* 802644EC */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
205 /* 8026457C */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
206 /* 80264688 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
207 /* 80264644 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
208 /* 802645F8 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
209 /* 802646E0 */ virtual void CalcAabBox();
210 /* 8026476C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
211 /* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
212
213}; // Size = 0x34
214
216
217class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl {
218public:
220 /* 800854E0 */ virtual ~cCcD_CylAttr() {}
221 /* 80084CC0 */ virtual const cXyz& GetCoCP() const { return mCenter; }
222 /* 8026420C */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
223 /* 802641C8 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
224 /* 80264250 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
225 /* 80084CD8 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
226 return shape.CrossAtTg(*this, xyz);
227 }
228 /* 80084CD0 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
229 /* 80084CC8 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
230 /* 8026417C */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
231 /* 80264288 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
232 /* 80264310 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
233 /* 80084D28 */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
234 return shape.CrossCo(*this, f);
235 }
236 /* 80084D20 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
237 /* 80084D18 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
238 /* 80084D10 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
239 /* 802642CC */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
240 /* 80037A4C */ virtual cXyz& GetCoCP() { return mCenter; }
241 /* 80264368 */ virtual void CalcAabBox();
242 /* 802643D0 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
243 /* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
244
245}; // Size = 0x38
246
248
250private:
251 /* 0x00 */ u32 mXDivInfo;
252 /* 0x04 */ u32 mYDivInfo;
253 /* 0x08 */ u32 mZDivInfo;
254 /* 0x0C vtable */
255public:
257 virtual ~cCcD_DivideInfo() {}
258 /* 80263358 */ void Set(u32, u32, u32);
259 /* 80263368 */ bool Chk(cCcD_DivideInfo const&) const;
260}; // Size = 0x10
261
263
264class cCcD_DivideArea : public cM3dGAab {
265private:
266 /* 0x1C */ bool mXDiffIsZero;
267 /* 0x20 */ f32 mScaledXDiff;
269 /* 0x28 */ bool mYDiffIsZero;
270 /* 0x2C */ f32 mScaledYDiff;
272 /* 0x34 */ bool mZDiffIsZero;
273 /* 0x38 */ f32 mScaledZDiff;
275
276public:
278 virtual ~cCcD_DivideArea() {}
279 /* 802633A8 */ void SetArea(cM3dGAab const&);
280 /* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32);
281 /* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&);
282}; // Size = 0x40
283
284STATIC_ASSERT(0x40 == sizeof(cCcD_DivideArea));
285
287 /* 0x0 */ s32 mSPrm;
288};
289
291 /* 0x0 */ s32 mType;
293}; // Size: 0x8
294
296 /* 0x0 */ s32 mType;
297 /* 0x4 */ u8 mAtp;
299}; // Size: 0xC
300
303}; // Size: 0x4
304
309}; // Size: 0x18
310
312 /* 0x0 */ int mFlags;
314}; // Size: 0x1C
315
316class cCcD_GStts {
317public:
318 /* 800837B0 */ virtual ~cCcD_GStts() {}
319
320private:
321 /* 0x00 vtable */
322}; // Size = 0x4
323
325private:
326 /* 0x00 */ cXyz m_cc_move;
327 /* 0x0C */ fopAc_ac_c* mp_actor;
328 /* 0x10 */ fpc_ProcID m_apid;
329 /* 0x14 */ u8 m_weight;
330 /* 0x15 */ u8 field_0x15;
331 /* 0x16 */ u8 m_dmg;
332
333public:
335 /* 801410A4 vt[3] */ virtual ~cCcD_Stts() {}
336 /* 80263894 vt[4] */ virtual const cCcD_GStts* GetGStts() const;
337 /* 8026389C vt[5] */ virtual cCcD_GStts* GetGStts();
338 /* 802638A4 */ void Init(int, int, void*, fpc_ProcID);
339 /* 80263904 vt[6] */ virtual void Ct();
340 /* 80263934 */ void PlusCcMove(f32, f32, f32);
341 /* 8026395C */ void ClrCcMove();
342 /* 80263970 */ void PlusDmg(int);
343 /* 80263984 */ f32 GetWeightF() const;
344 /* 802649E8 vt[7] */ virtual void ClrAt() {}
345 /* 802649EC vt[8] */ virtual void ClrTg() { m_dmg = 0; }
346
347 u8 GetWeightUc() const { return m_weight; }
349 fopAc_ac_c* GetAc() { return mp_actor; }
350 fopAc_ac_c* GetActor() const { return mp_actor; }
351 void SetActor(void* ac) { mp_actor = (fopAc_ac_c*)ac; }
352 cXyz* GetCCMoveP() { return &m_cc_move; }
353 fpc_ProcID GetApid() const { return m_apid; }
354 u8 GetDmg() const { return m_dmg; }
355}; // Size = 0x1C
356
357STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
358
359class cCcD_Obj; // placeholder
360
362protected:
363 /* 0x00 */ u32 mSPrm;
364 /* 0x04 */ u32 mRPrm;
365 /* 0x08 */ cCcD_Obj* mHitObj;
366 /* 0x0C vtable */
367public:
374
376 /* 8008409C */ virtual ~cCcD_ObjCommonBase() {}
377 /* 802639B0 */ void ct();
378 void SetSPrm(u32 sprm) { mSPrm = sprm; }
379 s32 getSPrm() const { return mSPrm; }
380 void setRPrm(s32 rprm) { mRPrm = rprm; }
381 s32 getRPrm() const { return mRPrm; }
383 u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
384 u32 MskRPrm(u32 mask) { return mRPrm & mask; }
387 u32 ChkSPrm(u32 prm) const { return MskSPrm(prm); }
388
389 void Set(cCcD_SrcObjCommonBase const& src) { mSPrm = src.mSPrm; }
390};
391
392STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
393
394#pragma pack(1)
396public:
397 cCcD_ObjAt() { mType = 0; }
398 /* 80084040 */ virtual ~cCcD_ObjAt() {}
399 /* 8026483C */ void SetHit(cCcD_Obj*);
400 /* 8026484C */ void Set(cCcD_SrcObjAt const&);
401 /* 80264868 */ void ClrHit();
402 int GetType() const { return mType; }
403 u32 GetGrp() const { return MskSPrm(0x1E); }
404 bool ChkSet() const { return MskSPrm(1); }
405 u8 GetAtp() const { return mAtp; }
406 u32 MskType(u32 msk) const { return mType & msk; }
407 void SetType(u32 type) { mType = type; }
408 void SetAtp(int atp) { mAtp = atp; }
409 void ClrSet() { OffSPrmBit(1); }
410 u32 ChkHit() { return MskRPrm(1); }
411
412protected:
413 /* 0x10 */ int mType;
414 /* 0x14 */ u8 mAtp;
415 /* 0x15 */ u8 field_0x15[3];
416};
417#pragma pack()
418
419STATIC_ASSERT(0x18 == sizeof(cCcD_ObjAt));
420
422public:
423 cCcD_ObjTg() { ct(); }
424 /* 80083FE4 */ virtual ~cCcD_ObjTg() {}
425 /* 80264880 */ void Set(cCcD_SrcObjTg const&);
426 /* 80264894 */ void SetGrp(u32);
427 /* 802648B0 */ void ClrHit();
428 /* 802648C8 */ void SetHit(cCcD_Obj*);
429 int GetType() const { return mType; }
430 void SetType(u32 type) { mType = type; }
431 u32 GetGrp() const { return MskSPrm(0x1E); }
432 bool ChkSet() const { return MskSPrm(1); }
433 void ClrSet() { OffSPrmBit(1); }
434 u32 ChkHit() { return MskRPrm(1); }
435
436private:
437 /* 0x10 */ int mType;
438};
439
440STATIC_ASSERT(0x14 == sizeof(cCcD_ObjTg));
441
443public:
444 /* 80083F88 */ virtual ~cCcD_ObjCo() {}
445 /* 802648D8 */ void SetHit(cCcD_Obj*);
446 /* 802648E8 */ void ClrHit();
447 /* 80264900 */ void SetIGrp(u32);
448 /* 8026491C */ void SetVsGrp(u32);
449 u32 GetGrp() const { return MskSPrm(0x1E); }
450 bool ChkSet() const { return MskSPrm(1); }
451 u32 GetVsGrp() const { return MskSPrm(0x70); }
452 u32 GetIGrp() const { return MskSPrm(0xE); }
453 u32 ChkNoCrr() const { return MskSPrm(0x100); }
454 void OnNoCrrBit() { OnSPrmBit(0x100); }
455 u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
456 void ClrSet() { OffSPrmBit(1); }
457 u32 ChkHit() { return MskRPrm(1); }
458
460};
461
462STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
463
465protected:
466 /* 0x000 */ cCcD_ObjAt mObjAt;
467 /* 0x018 */ cCcD_ObjTg mObjTg;
468 /* 0x02C */ cCcD_ObjCo mObjCo;
469 /* 0x03C vtable */
470public:
471 /* 80083EC8 */ virtual ~cCcD_ObjHitInf() {}
472 /* 802639C4 */ void Set(cCcD_SrcObjHitInf const&);
476 u32 GetTgGrp() const { return mObjTg.GetGrp(); }
477 u32 GetAtGrp() const { return mObjAt.GetGrp(); }
478 u32 GetCoGrp() const { return mObjCo.GetGrp(); }
479 int GetTgType() const { return mObjTg.GetType(); }
480 u32 GetAtType() const { return mObjAt.GetType(); }
481 bool ChkTgSet() const { return mObjTg.ChkSet(); }
482 bool ChkAtSet() const { return mObjAt.ChkSet(); }
483 bool ChkCoSet() const { return mObjCo.ChkSet(); }
484 u32 ChkCoSameActorHit() const { return mObjCo.MskSPrm(0x400); }
485 u32 GetCoVsGrp() const { return mObjCo.GetVsGrp(); }
486 u32 GetCoIGrp() const { return mObjCo.GetIGrp(); }
487 u8 GetAtAtp() const { return mObjAt.GetAtp(); }
488 u32 ChkAtNoTgHitInfSet() const { return mObjAt.MskSPrm(0x20); }
489 u32 ChkTgNoAtHitInfSet() const { return mObjTg.MskSPrm(0x20); }
490 u32 ChkCoNoCoHitInfSet() const { return mObjCo.MskSPrm(0x200); }
491 bool ChkTgNoSlingHitInfSet() const { return mObjTg.MskSPrm(0x40); }
495 u32 ChkAtType(u32 type) const { return mObjAt.MskType(type); }
496 u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
498 u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
504 void SetAtType(u32 type) { mObjAt.SetType(type); }
508 u32 MskTgSPrm(u32 mask) const { return mObjTg.MskSPrm(mask); }
509 void SetAtAtp(int atp) { mObjAt.SetAtp(atp); }
511 void SetTgType(u32 type) { mObjTg.SetType(type); }
526 void ClrAtHit() { mObjAt.ClrHit(); }
527 void ClrTgHit() { mObjTg.ClrHit(); }
528 void ClrCoHit() { mObjCo.ClrHit(); }
529 u32 ChkAtHit() { return mObjAt.ChkHit(); }
530 u32 ChkTgHit() { return mObjTg.ChkHit(); }
531 u32 ChkCoHit() { return mObjCo.ChkHit(); }
536
537}; // Size = 0x40
538
539STATIC_ASSERT(0x40 == sizeof(cCcD_ObjHitInf));
540
541class cCcD_GObjInf;
542
543class cCcD_Obj : public cCcD_ObjHitInf {
544public:
545 cCcD_Obj() { ct(); }
546 /* 80083DE0 */ virtual ~cCcD_Obj() {}
547 /* 800851A4 */ virtual cCcD_GObjInf const* GetGObjInf() const { return NULL; }
548 /* 800847C8 */ virtual cCcD_GObjInf* GetGObjInf() { return NULL; }
549 /* 80084BE8 */ virtual cCcD_ShapeAttr const* GetShapeAttr() const { return NULL; }
550 /* 80085130 */ virtual cCcD_ShapeAttr* GetShapeAttr() { return NULL; }
551 /* 80084BF0 */ virtual void Draw(_GXColor const&) {}
552 /* 80263A10 */ void ct();
553 /* 80263A1C */ void Set(cCcD_SrcObj const&);
555
556 cCcD_Stts* GetStts() { return mStts; }
560 int ChkBsRevHit() const { return mFlags & 2; }
561
562private:
563 /* 0x040 */ int mFlags;
564 /* 0x044 */ cCcD_Stts* mStts;
566}; // Size = 0x58
567
568STATIC_ASSERT(0x58 == sizeof(cCcD_Obj));
569
570class cCcD_GObjInf : public cCcD_Obj {
571public:
573 /* 80083CE8 */ virtual ~cCcD_GObjInf() {}
574 /* 80085138 */ virtual void ClrAtHit() { mObjAt.ClrHit(); }
575 /* 80085158 */ virtual void ClrTgHit() { mObjTg.ClrHit(); }
576 /* 8008517C */ virtual void ClrCoHit() { mObjCo.ClrHit(); }
577 /* 80084BE4 */ virtual cCcD_GObjInf const* GetGObjInf() const { return this; }
578 /* 800851A0 */ virtual cCcD_GObjInf* GetGObjInf() { return this; }
579};
580
581STATIC_ASSERT(0x58 == sizeof(cCcD_GObjInf));
582
583#endif /* C_CC_D_H */
cCcD_ObjAtType
Definition c_cc_d.h:30
@ AT_TYPE_ARROW
Definition c_cc_d.h:45
@ AT_TYPE_MIDNA_LOCK
Definition c_cc_d.h:58
@ AT_TYPE_800
Definition c_cc_d.h:43
@ AT_TYPE_CSTATUE_BOSS_SWING
Definition c_cc_d.h:52
@ AT_TYPE_1000000
Definition c_cc_d.h:56
@ AT_TYPE_HORSE
Definition c_cc_d.h:34
@ AT_TYPE_CSTATUE_SWING
Definition c_cc_d.h:42
@ AT_TYPE_SPINNER
Definition c_cc_d.h:51
@ AT_TYPE_100
Definition c_cc_d.h:40
@ AT_TYPE_20000
Definition c_cc_d.h:49
@ AT_TYPE_1000
Definition c_cc_d.h:44
@ AT_TYPE_WOLF_ATTACK
Definition c_cc_d.h:61
@ AT_TYPE_8000
Definition c_cc_d.h:47
@ AT_TYPE_WOLF_CUT_TURN
Definition c_cc_d.h:60
@ AT_TYPE_0
Definition c_cc_d.h:31
@ AT_TYPE_1
Definition c_cc_d.h:32
@ AT_TYPE_NORMAL_SWORD
Definition c_cc_d.h:33
@ AT_TYPE_LANTERN_SWING
Definition c_cc_d.h:41
@ AT_TYPE_IRON_BALL
Definition c_cc_d.h:54
@ AT_TYPE_SHIELD_ATTACK
Definition c_cc_d.h:36
@ AT_TYPE_40
Definition c_cc_d.h:38
@ AT_TYPE_40000
Definition c_cc_d.h:50
@ AT_TYPE_HOOKSHOT
Definition c_cc_d.h:46
@ AT_TYPE_10000000
Definition c_cc_d.h:59
@ AT_TYPE_HEAVY_BOOTS
Definition c_cc_d.h:53
@ AT_TYPE_COPY_ROD
Definition c_cc_d.h:55
@ AT_TYPE_UNK
Definition c_cc_d.h:62
@ AT_TYPE_SLINGSHOT
Definition c_cc_d.h:39
@ AT_TYPE_THROW_OBJ
Definition c_cc_d.h:35
@ AT_TYPE_BOMB
Definition c_cc_d.h:37
@ AT_TYPE_BOOMERANG
Definition c_cc_d.h:48
@ AT_TYPE_MASTER_SWORD
Definition c_cc_d.h:57
STATIC_ASSERT(0x20==sizeof(cCcD_ShapeAttr))
CcG_Tg_HitMark
Definition c_cc_d.h:14
@ CcG_Tg_UNK_MARK_6
Definition c_cc_d.h:18
@ CcG_Tg_UNK_MARK_3
Definition c_cc_d.h:17
@ CcG_Tg_UNK_MARK_2
Definition c_cc_d.h:16
@ CcG_Tg_UNK_MARK_8
Definition c_cc_d.h:19
@ CcG_Tg_UNK_MARK_9
Definition c_cc_d.h:20
@ CcG_Tg_UNK_MARK_0
Definition c_cc_d.h:15
T cLib_calcTimer(T *value)
Definition c_lib.h:79
Definition c_cc_d.h:146
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:171
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:157
cCcD_CpsAttr()
Definition c_cc_d.h:148
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:161
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:446
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:160
void Set(const cXyz &pStart, const cXyz &pEnd, float radius)
Definition c_cc_d.h:150
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:167
virtual ~cCcD_CpsAttr()
Definition c_cc_d.h:154
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.cpp:415
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:170
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const
Definition c_cc_d.cpp:383
void Set(const cCcD_SrcCpsAttr &pSrc)
Definition c_cc_d.h:149
virtual void CalcAabBox()
Definition c_cc_d.cpp:438
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:172
Definition c_cc_d.h:217
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:233
virtual ~cCcD_CylAttr()
Definition c_cc_d.h:220
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:221
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:237
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:238
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:236
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:566
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:225
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:595
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.cpp:522
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:229
virtual void CalcAabBox()
Definition c_cc_d.cpp:553
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const
Definition c_cc_d.cpp:502
cCcD_CylAttr()
Definition c_cc_d.h:219
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:228
virtual cXyz & GetCoCP()
Definition c_cc_d.h:240
Definition c_cc_d.h:264
void CalcDivideInfoOverArea(cCcD_DivideInfo *, cM3dGAab const &)
Definition c_cc_d.cpp:128
bool mYDiffIsZero
Definition c_cc_d.h:269
virtual ~cCcD_DivideArea()
Definition c_cc_d.h:278
bool mZDiffIsZero
Definition c_cc_d.h:272
bool mXDiffIsZero
Definition c_cc_d.h:266
f32 mInvScaledYDiff
Definition c_cc_d.h:271
void SetArea(cM3dGAab const &)
Definition c_cc_d.cpp:36
f32 mInvScaledXDiff
Definition c_cc_d.h:268
f32 mScaledZDiff
Definition c_cc_d.h:273
f32 mInvScaledZDiff
Definition c_cc_d.h:274
void CalcDivideInfo(cCcD_DivideInfo *, cM3dGAab const &, u32)
Definition c_cc_d.cpp:68
f32 mScaledYDiff
Definition c_cc_d.h:270
cCcD_DivideArea()
Definition c_cc_d.h:277
f32 mScaledXDiff
Definition c_cc_d.h:267
Definition c_cc_d.h:249
u32 mZDivInfo
Definition c_cc_d.h:253
virtual ~cCcD_DivideInfo()
Definition c_cc_d.h:257
u32 mYDivInfo
Definition c_cc_d.h:252
cCcD_DivideInfo()
Definition c_cc_d.h:256
u32 mXDivInfo
Definition c_cc_d.h:251
bool Chk(cCcD_DivideInfo const &) const
Definition c_cc_d.cpp:25
void Set(u32, u32, u32)
Definition c_cc_d.cpp:17
Definition c_cc_d.h:570
virtual void ClrCoHit()
Definition c_cc_d.h:576
cCcD_GObjInf()
Definition c_cc_d.h:572
virtual cCcD_GObjInf const * GetGObjInf() const
Definition c_cc_d.h:577
virtual cCcD_GObjInf * GetGObjInf()
Definition c_cc_d.h:578
virtual void ClrTgHit()
Definition c_cc_d.h:575
virtual ~cCcD_GObjInf()
Definition c_cc_d.h:573
virtual void ClrAtHit()
Definition c_cc_d.h:574
Definition c_cc_d.h:395
void ClrSet()
Definition c_cc_d.h:409
u32 GetGrp() const
Definition c_cc_d.h:403
u8 mAtp
Definition c_cc_d.h:414
int GetType() const
Definition c_cc_d.h:402
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:727
virtual ~cCcD_ObjAt()
Definition c_cc_d.h:398
int mType
Definition c_cc_d.h:413
u8 GetAtp() const
Definition c_cc_d.h:405
void Set(cCcD_SrcObjAt const &)
Definition c_cc_d.cpp:734
void SetType(u32 type)
Definition c_cc_d.h:407
void SetAtp(int atp)
Definition c_cc_d.h:408
u32 MskType(u32 msk) const
Definition c_cc_d.h:406
u8 field_0x15[3]
Definition c_cc_d.h:415
cCcD_ObjAt()
Definition c_cc_d.h:397
bool ChkSet() const
Definition c_cc_d.h:404
void ClrHit()
Definition c_cc_d.cpp:741
u32 ChkHit()
Definition c_cc_d.h:410
Definition c_cc_d.h:442
void ClrHit()
Definition c_cc_d.cpp:778
u32 GetGrp() const
Definition c_cc_d.h:449
void Set(cCcD_SrcObjCo const &src)
Definition c_cc_d.h:459
u32 ChkNoCrr() const
Definition c_cc_d.h:453
u32 GetIGrp() const
Definition c_cc_d.h:452
void ClrSet()
Definition c_cc_d.h:456
virtual ~cCcD_ObjCo()
Definition c_cc_d.h:444
void OnNoCrrBit()
Definition c_cc_d.h:454
u32 GetVsGrp() const
Definition c_cc_d.h:451
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:772
u32 ChkSph3DCrr() const
Definition c_cc_d.h:455
bool ChkSet() const
Definition c_cc_d.h:450
void SetVsGrp(u32)
Definition c_cc_d.cpp:790
void SetIGrp(u32)
Definition c_cc_d.cpp:784
u32 ChkHit()
Definition c_cc_d.h:457
Definition c_cc_d.h:361
u32 mRPrm
Definition c_cc_d.h:364
s32 getRPrm() const
Definition c_cc_d.h:381
void ct()
Definition c_cc_d.cpp:257
u32 mSPrm
Definition c_cc_d.h:363
u32 MskSPrm(u32 mask) const
Definition c_cc_d.h:383
void Set(cCcD_SrcObjCommonBase const &src)
Definition c_cc_d.h:389
cCcD_ObjCommonBase()
Definition c_cc_d.h:375
cCcD_Obj * mHitObj
Definition c_cc_d.h:365
cCcD_Obj * GetHitObj()
Definition c_cc_d.h:382
s32 getSPrm() const
Definition c_cc_d.h:379
u32 ChkSPrm(u32 prm) const
Definition c_cc_d.h:387
u32 MskRPrm(u32 mask)
Definition c_cc_d.h:384
void OffSPrmBit(u32 flag)
Definition c_cc_d.h:386
virtual ~cCcD_ObjCommonBase()
Definition c_cc_d.h:376
void SetSPrm(u32 sprm)
Definition c_cc_d.h:378
CoSPrm_e
Definition c_cc_d.h:368
@ CO_SPRM_NO_CO_HIT_INF_SET
Definition c_cc_d.h:371
@ CO_SPRM_NO_CRR
Definition c_cc_d.h:370
@ CO_SPRM_SET
Definition c_cc_d.h:369
@ CO_SPRM_SAME_ACTOR_HIT
Definition c_cc_d.h:372
void OnSPrmBit(u32 flag)
Definition c_cc_d.h:385
void setRPrm(s32 rprm)
Definition c_cc_d.h:380
Definition c_cc_d.h:464
u32 ChkAtType(u32 type) const
Definition c_cc_d.h:495
u32 ChkCoNoCoHitInfSet() const
Definition c_cc_d.h:490
void OnTgSPrmBit(u32 flag)
Definition c_cc_d.h:512
void OnAtSetBit()
Definition c_cc_d.h:505
u32 GetAtGrp() const
Definition c_cc_d.h:477
void ClrAtHit()
Definition c_cc_d.h:526
u32 ChkAtSPrm(u32 prm)
Definition c_cc_d.h:535
void OffAtSPrmBit(u32 flag)
Definition c_cc_d.h:501
bool ChkTgNoSlingHitInfSet() const
Definition c_cc_d.h:491
cCcD_Obj * GetTgHitObj()
Definition c_cc_d.h:533
void ClrCoHit()
Definition c_cc_d.h:528
void OnAtNoTgHitInfSet()
Definition c_cc_d.h:506
u32 GetCoGrp() const
Definition c_cc_d.h:478
u32 ChkCoSameActorHit() const
Definition c_cc_d.h:484
void SetAtAtp(int atp)
Definition c_cc_d.h:509
void OnAtVsPlayerBit()
Definition c_cc_d.h:518
void OnAtSPrmBit(u32 flag)
Definition c_cc_d.h:500
u32 GetCoVsGrp() const
Definition c_cc_d.h:485
void OffTgSPrmBit(u32 flag)
Definition c_cc_d.h:502
void SetCoVsGrp(u32 grp)
Definition c_cc_d.h:520
void SetCoSPrm(u32 prm)
Definition c_cc_d.h:525
u32 GetTgGrp() const
Definition c_cc_d.h:476
int GetTgType() const
Definition c_cc_d.h:479
bool ChkAtSet() const
Definition c_cc_d.h:482
void SetTgSPrm(u32 prm)
Definition c_cc_d.h:524
void OffAtNoTgHitInfSet()
Definition c_cc_d.h:507
void SetCoIGrp(u32 grp)
Definition c_cc_d.h:521
void OnTgSetBit()
Definition c_cc_d.h:514
u32 ChkAtNoTgHitInfSet() const
Definition c_cc_d.h:488
void Set(cCcD_SrcObjHitInf const &)
Definition c_cc_d.cpp:265
u32 GetAtType() const
Definition c_cc_d.h:480
u32 MskTgSPrm(u32 mask) const
Definition c_cc_d.h:508
virtual ~cCcD_ObjHitInf()
Definition c_cc_d.h:471
void SetTgType(u32 type)
Definition c_cc_d.h:511
void OnCoSPrmBit(u32 flag)
Definition c_cc_d.h:519
u32 ChkAtHit()
Definition c_cc_d.h:529
cCcD_Obj * GetCoHitObj()
Definition c_cc_d.h:534
u32 ChkCoSph3DCrr() const
Definition c_cc_d.h:498
void ClrTgHit()
Definition c_cc_d.h:527
void SetAtHit(cCcD_Obj *obj)
Definition c_cc_d.h:492
u32 ChkCoHit()
Definition c_cc_d.h:531
void OnCoNoCoHitInfSet()
Definition c_cc_d.h:499
cCcD_Obj * GetAtHitObj()
Definition c_cc_d.h:532
void OffTgSetBit()
Definition c_cc_d.h:515
void SetAtType(u32 type)
Definition c_cc_d.h:504
void SetTgHit(cCcD_Obj *obj)
Definition c_cc_d.h:493
void SetTgGrp(u32 grp)
Definition c_cc_d.h:522
void SetCoHit(cCcD_Obj *obj)
Definition c_cc_d.h:494
void OffAtSetBit()
Definition c_cc_d.h:513
void OffAtVsPlayerBit()
Definition c_cc_d.h:517
void OffCoSetBit()
Definition c_cc_d.h:510
void OffCoSPrmBit(u32 flag)
Definition c_cc_d.h:503
u32 GetCoIGrp() const
Definition c_cc_d.h:486
u8 GetAtAtp() const
Definition c_cc_d.h:487
u32 ChkTgHit()
Definition c_cc_d.h:530
u32 ChkCoNoCrr() const
Definition c_cc_d.h:496
cCcD_ObjAt mObjAt
Definition c_cc_d.h:466
void OnCoSetBit()
Definition c_cc_d.h:516
cCcD_ObjCo mObjCo
Definition c_cc_d.h:468
cCcD_ObjTg & GetObjTg()
Definition c_cc_d.h:474
cCcD_ObjAt & GetObjAt()
Definition c_cc_d.h:473
void OnCoNoCrrBit()
Definition c_cc_d.h:497
cCcD_ObjTg mObjTg
Definition c_cc_d.h:467
bool ChkCoSet() const
Definition c_cc_d.h:483
bool ChkTgSet() const
Definition c_cc_d.h:481
u32 ChkTgNoAtHitInfSet() const
Definition c_cc_d.h:489
void SetAtSPrm(u32 prm)
Definition c_cc_d.h:523
cCcD_ObjCo & GetObjCo()
Definition c_cc_d.h:475
Definition c_cc_d.h:421
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:766
u32 ChkHit()
Definition c_cc_d.h:434
void ClrHit()
Definition c_cc_d.cpp:760
cCcD_ObjTg()
Definition c_cc_d.h:423
u32 GetGrp() const
Definition c_cc_d.h:431
int GetType() const
Definition c_cc_d.h:429
void SetType(u32 type)
Definition c_cc_d.h:430
bool ChkSet() const
Definition c_cc_d.h:432
int mType
Definition c_cc_d.h:437
void ClrSet()
Definition c_cc_d.h:433
void Set(cCcD_SrcObjTg const &)
Definition c_cc_d.cpp:748
void SetGrp(u32)
Definition c_cc_d.cpp:754
virtual ~cCcD_ObjTg()
Definition c_cc_d.h:424
Definition c_cc_d.h:65
virtual bool CrossAtTg(cCcD_CpsAttr const &, cXyz *) const =0
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:98
cM3dGAab mAab
Definition c_cc_d.h:67
virtual bool CrossAtTg(cCcD_TriAttr const &, cXyz *) const =0
virtual void CalcAabBox()=0
virtual bool CrossCo(cCcD_CpsAttr const &, f32 *) const =0
cM3dGAab const & GetWorkAab() const
Definition c_cc_d.h:105
virtual bool CrossCo(cCcD_ShapeAttr const &, f32 *) const
Definition c_cc_d.h:91
cCcD_ShapeAttr()
Definition c_cc_d.h:80
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const =0
virtual bool CrossCo(cCcD_SphAttr const &, f32 *) const =0
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const =0
virtual ~cCcD_ShapeAttr()
Definition c_cc_d.h:81
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const =0
static cXyz m_virtual_center
Definition c_cc_d.h:107
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const =0
virtual cXyz & GetCoCP()
Definition c_cc_d.h:99
virtual bool CrossAtTg(cCcD_ShapeAttr const &, cXyz *) const
Definition c_cc_d.h:82
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const =0
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:293
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const =0
virtual bool GetNVec(cXyz const &, cXyz *) const =0
cM3dGAab & GetWorkAab()
Definition c_cc_d.h:104
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const =0
virtual bool CrossAtTg(cCcD_CylAttr const &, cXyz *) const =0
Definition c_cc_d.h:183
cCcD_SphAttr()
Definition c_cc_d.h:185
virtual ~cCcD_SphAttr()
Definition c_cc_d.h:188
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:191
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:717
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:195
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:194
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:699
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:189
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:201
virtual void CalcAabBox()
Definition c_cc_d.cpp:681
void Set(const cCcD_SrcSphAttr &src)
Definition c_cc_d.h:186
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:196
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:199
virtual cXyz & GetCoCP()
Definition c_cc_d.h:190
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:200
Definition c_cc_d.h:324
virtual void ClrTg()
Definition c_cc_d.h:345
fopAc_ac_c * GetAc()
Definition c_cc_d.h:349
cCcD_Stts()
Definition c_cc_d.h:334
virtual ~cCcD_Stts()
Definition c_cc_d.h:335
u8 field_0x15
Definition c_cc_d.h:330
void PlusCcMove(f32, f32, f32)
Definition c_cc_d.cpp:222
void SetWeight(u8 weight)
Definition c_cc_d.h:348
virtual const cCcD_GStts * GetGStts() const
Definition c_cc_d.cpp:191
void ClrCcMove()
Definition c_cc_d.cpp:237
void Init(int, int, void *, fpc_ProcID)
Definition c_cc_d.cpp:201
void PlusDmg(int)
Definition c_cc_d.cpp:244
cXyz m_cc_move
Definition c_cc_d.h:326
u8 GetWeightUc() const
Definition c_cc_d.h:347
fpc_ProcID m_apid
Definition c_cc_d.h:328
fpc_ProcID GetApid() const
Definition c_cc_d.h:353
cXyz * GetCCMoveP()
Definition c_cc_d.h:352
u8 m_weight
Definition c_cc_d.h:329
fopAc_ac_c * GetActor() const
Definition c_cc_d.h:350
f32 GetWeightF() const
Definition c_cc_d.cpp:252
u8 GetDmg() const
Definition c_cc_d.h:354
virtual void Ct()
Definition c_cc_d.cpp:210
u8 m_dmg
Definition c_cc_d.h:331
virtual void ClrAt()
Definition c_cc_d.h:344
void SetActor(void *ac)
Definition c_cc_d.h:351
fopAc_ac_c * mp_actor
Definition c_cc_d.h:327
Definition c_cc_d.h:116
virtual void CalcAabBox()
Definition c_cc_d.cpp:343
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:126
cCcD_TriAttr()
Definition c_cc_d.h:139
virtual ~cCcD_TriAttr()
Definition c_cc_d.h:138
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:351
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:134
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:123
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:132
virtual bool CrossCo(cCcD_CpsAttr const &, f32 *) const
Definition c_cc_d.h:133
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.h:136
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:129
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:127
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:135
virtual bool CrossAtTg(cCcD_CpsAttr const &, cXyz *) const
Definition c_cc_d.cpp:304
virtual bool CrossCo(cCcD_SphAttr const &, f32 *) const
Definition c_cc_d.h:137
Definition c_m3d_g_cps.h:13
void Set(const cXyz &, const cXyz &, f32)
Definition c_m3d_g_cps.cpp:15
Definition c_m3d_g_tri.h:14
static volatile BOOL flag
Definition dspproc.cpp:20
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_ep.cpp:68
Definition d_a_npc_fguard.cpp:147
virtual ~cCcD_GStts()
Definition c_cc_d.h:318
Definition d_a_npc_fguard.cpp:141
void SetStts(cCcD_Stts *stts)
Definition c_cc_d.h:557
int mFlags
Definition c_cc_d.h:563
cCcD_Obj()
Definition c_cc_d.h:545
int ChkBsRevHit() const
Definition c_cc_d.h:560
virtual ~cCcD_Obj()
Definition c_cc_d.h:546
void Set(cCcD_SrcObj const &)
Definition c_cc_d.cpp:277
virtual void Draw(_GXColor const &)
Definition c_cc_d.h:551
cCcD_Stts * mStts
Definition c_cc_d.h:564
cCcD_DivideInfo & GetDivideInfo()
Definition c_cc_d.h:558
virtual cCcD_ShapeAttr * GetShapeAttr()
Definition c_cc_d.h:550
virtual cCcD_ShapeAttr const * GetShapeAttr() const
Definition c_cc_d.h:549
cCcD_DivideInfo * GetPDivideInfo()
Definition c_cc_d.h:559
cCcD_DivideInfo mDivideInfo
Definition c_cc_d.h:565
virtual cCcD_GObjInf const * GetGObjInf() const
Definition c_cc_d.h:547
fopAc_ac_c * GetAc()
virtual cCcD_GObjInf * GetGObjInf()
Definition c_cc_d.h:548
cCcD_Stts * GetStts()
Definition c_cc_d.h:556
void ct()
Definition c_cc_d.cpp:272
Definition c_cc_d.h:70
f32 _4
Definition c_cc_d.h:74
f32 _8
Definition c_cc_d.h:75
~Shape()
Definition d_camera.cpp:2990
f32 _14
Definition c_cc_d.h:78
int _0
Definition c_cc_d.h:73
f32 _10
Definition c_cc_d.h:77
f32 _C
Definition c_cc_d.h:76
Definition c_cc_d.h:142
cM3dGCpsS mCps
Definition c_cc_d.h:143
Definition c_cc_d.h:295
s32 mType
Definition c_cc_d.h:296
u8 mAtp
Definition c_cc_d.h:297
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:298
Definition c_cc_d.h:301
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:302
Definition c_cc_d.h:286
s32 mSPrm
Definition c_cc_d.h:287
Definition c_cc_d.h:305
cCcD_SrcObjTg mObjTg
Definition c_cc_d.h:307
cCcD_SrcObjAt mObjAt
Definition c_cc_d.h:306
cCcD_SrcObjCo mObjCo
Definition c_cc_d.h:308
Definition c_cc_d.h:290
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:292
s32 mType
Definition c_cc_d.h:291
Definition c_cc_d.h:311
int mFlags
Definition c_cc_d.h:312
cCcD_SrcObjHitInf mSrcObjHitInf
Definition c_cc_d.h:313
Definition c_cc_d.h:179
cM3dGSphS mSph
Definition c_cc_d.h:180
Definition c_cc_d.h:112
cM3dGTriS mTri
Definition c_cc_d.h:113
Definition d_a_npc_fguard.cpp:137
Definition c_m3d_g_cps.h:7
Definition d_a_npc_fguard.cpp:126
cXyz mCenter
Definition c_m3d_g_cyl.h:18
Definition c_m3d_g_sph.h:10
Definition d_a_tag_allmato.cpp:94
cXyz mCenter
Definition c_m3d_g_sph.h:18
void Set(cXyz const &, f32)
Definition c_m3d_g_sph.cpp:15
Definition c_m3d_g_tri.h:8
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:19
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8