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