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
10#include "f_pc/f_pc_manager.h"
11
12typedef struct _GXColor GXColor;
13class fopAc_ac_c;
14
24
25class cCcD_PntAttr;
26class cCcD_CpsAttr;
27class cCcD_TriAttr;
28class cCcD_AabAttr;
29class cCcD_CylAttr;
30class cCcD_SphAttr;
31
33 /* 0x00000000 */ AT_TYPE_0 = 0,
34 /* 0x00000001 */ AT_TYPE_1 = (1 << 0),
35 /* 0x00000002 */ AT_TYPE_NORMAL_SWORD = (1 << 1), // wooden or ordon
36 /* 0x00000004 */ AT_TYPE_HORSE = (1 << 2),
37 /* 0x00000008 */ AT_TYPE_THROW_OBJ = (1 << 3),
38 /* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4),
39 /* 0x00000020 */ AT_TYPE_BOMB = (1 << 5),
40 /* 0x00000040 */ AT_TYPE_40 = (1 << 6),
41 /* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7),
42 /* 0x00000100 */ AT_TYPE_100 = (1 << 8),
43 /* 0x00000200 */ AT_TYPE_LANTERN_SWING = (1 << 9),
44 /* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10),
45 /* 0x00000800 */ AT_TYPE_800 = (1 << 11),
46 /* 0x00001000 */ AT_TYPE_1000 = (1 << 12),
47 /* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
48 /* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
49 /* 0x00008000 */ AT_TYPE_8000 = (1 << 15),
50 /* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
51 /* 0x00020000 */ AT_TYPE_20000 = (1 << 17),
52 /* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
53 /* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
54 /* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
55 /* 0x00200000 */ AT_TYPE_HEAVY_BOOTS = (1 << 21),
56 /* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22),
57 /* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23),
58 /* 0x01000000 */ AT_TYPE_1000000 = (1 << 24),
59 /* 0x02000000 */ AT_TYPE_2000000 = (1 << 25),
60 /* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26),
61 /* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27),
62 /* 0x10000000 */ AT_TYPE_10000000 = (1 << 28),
63 /* 0x10000000 */ AT_TYPE_20000000 = (1 << 29),
64 /* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30),
65 /* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31),
66 /* 0xD8000000 */ AT_TYPE_UNK = 0xD8000000
67};
68
72
76
80
84
86private:
87 /* 0x00 */ u32 mXDivInfo;
88 /* 0x04 */ u32 mYDivInfo;
89 /* 0x08 */ u32 mZDivInfo;
90 /* 0x0C vtable */
91public:
93 virtual ~cCcD_DivideInfo() {}
94 void Set(u32, u32, u32);
95 bool Chk(cCcD_DivideInfo const&) const;
96}; // Size = 0x10
97
99
100class cCcD_DivideArea : public cM3dGAab {
101private:
102 /* 0x1C */ bool mXDiffIsZero;
103 /* 0x20 */ f32 mScaledXDiff;
105 /* 0x28 */ bool mYDiffIsZero;
106 /* 0x2C */ f32 mScaledYDiff;
108 /* 0x34 */ bool mZDiffIsZero;
109 /* 0x38 */ f32 mScaledZDiff;
111
112public:
114 virtual ~cCcD_DivideArea() {}
115 void SetArea(cM3dGAab const&);
118}; // Size = 0x40
119
121
123 /* 0x0 */ s32 mSPrm;
124};
125
127 /* 0x0 */ s32 mType;
129}; // Size: 0x8
130
132 /* 0x0 */ s32 mType;
133 /* 0x4 */ u8 mAtp;
135}; // Size: 0xC
136
139}; // Size: 0x4
140
145}; // Size: 0x18
146
148 /* 0x0 */ int mFlags;
150}; // Size: 0x1C
151
153public:
154 virtual ~cCcD_GStts() {}
155
156private:
157 /* 0x00 vtable */
158}; // Size = 0x4
159
161private:
162 /* 0x00 */ cXyz m_cc_move;
163 /* 0x0C */ fopAc_ac_c* mp_actor;
164 /* 0x10 */ fpc_ProcID m_apid;
165 /* 0x14 */ u8 m_weight;
166 /* 0x15 */ u8 field_0x15;
167 /* 0x16 */ u8 m_dmg;
168
169public:
171 virtual ~cCcD_Stts() {}
172 virtual const cCcD_GStts* GetGStts() const;
173 virtual cCcD_GStts* GetGStts();
174 void Init(int, int, void*, fpc_ProcID);
175 virtual void Ct();
176 void PlusCcMove(f32, f32, f32);
177 void ClrCcMove();
178 void PlusDmg(int);
179 f32 GetWeightF() const;
180 virtual void ClrAt() {}
181 virtual void ClrTg() { m_dmg = 0; }
182
183 u8 GetWeightUc() const { return m_weight; }
184 void SetWeight(u8 weight) { m_weight = weight; }
185 fopAc_ac_c* GetAc() { return mp_actor; }
186 fopAc_ac_c* GetActor() const { return mp_actor; }
187 void SetActor(void* ac) { mp_actor = (fopAc_ac_c*)ac; }
188 cXyz* GetCCMoveP() { return &m_cc_move; }
189 fpc_ProcID GetApid() const { return m_apid; }
190 u8 GetDmg() const { return m_dmg; }
191}; // Size = 0x1C
192
193STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
194
195class cCcD_Obj; // placeholder
196
198protected:
199 /* 0x00 */ u32 mSPrm;
200 /* 0x04 */ u32 mRPrm;
201 /* 0x08 */ cCcD_Obj* mHitObj;
202 /* 0x0C vtable */
203public:
210
213 void ct();
214 void SetSPrm(u32 sprm) { mSPrm = sprm; }
215 s32 getSPrm() const { return mSPrm; }
216 void setRPrm(s32 rprm) { mRPrm = rprm; }
217 s32 getRPrm() const { return mRPrm; }
219 const cCcD_Obj* GetHitObj() const { return mHitObj; }
220 u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
221 u32 MskRPrm(u32 mask) const { return mRPrm & mask; }
223 void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
224 u32 ChkSPrm(u32 prm) const { return MskSPrm(prm) != 0; }
225
226 void Set(cCcD_SrcObjCommonBase const& src) { mSPrm = src.mSPrm; }
227};
228
229STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
230
231#pragma push
232#pragma pack(1)
234public:
235 cCcD_ObjAt() { Ct(); }
236 void Ct() { mType = 0; }
237 virtual ~cCcD_ObjAt() {}
238 void SetHit(cCcD_Obj*);
239 void Set(cCcD_SrcObjAt const&);
240 void ClrHit();
241 int GetType() const { return mType; }
242 u32 GetGrp() const { return MskSPrm(0x1E); }
243 bool ChkSet() const { return MskSPrm(1); }
244 u8 GetAtp() const { return mAtp; }
245 u32 MskType(u32 msk) const { return mType & msk; }
246 void SetType(u32 type) { mType = type; }
247 void SetAtp(int atp) { mAtp = atp; }
248 void ClrSet() { OffSPrmBit(1); }
249 u32 ChkHit() const { return MskRPrm(1); }
250
251protected:
252 /* 0x10 */ int mType;
253 /* 0x14 */ u8 mAtp;
254 /* 0x15 */ u8 field_0x15[3];
255};
256#pragma pack()
257#pragma pop
258
259STATIC_ASSERT(0x18 == sizeof(cCcD_ObjAt));
260
262public:
263 cCcD_ObjTg() { ct(); }
264 virtual ~cCcD_ObjTg() {}
265 void Set(cCcD_SrcObjTg const&);
266 void SetGrp(u32);
267 void ClrHit();
268 void SetHit(cCcD_Obj*);
269 int GetType() const { return mType; }
270 void SetType(u32 type) { mType = type; }
271 u32 GetGrp() const { return MskSPrm(0x1E); }
272 bool ChkSet() const { return MskSPrm(1); }
273 void ClrSet() { OffSPrmBit(1); }
274 u32 ChkHit() const { return MskRPrm(1); }
275
276private:
277 /* 0x10 */ int mType;
278};
279
280STATIC_ASSERT(0x14 == sizeof(cCcD_ObjTg));
281
283public:
284 cCcD_ObjCo() { Ct(); }
285 void Ct() {}
286 virtual ~cCcD_ObjCo() {}
287 void SetHit(cCcD_Obj*);
288 void ClrHit();
289 void SetIGrp(u32);
290 void SetVsGrp(u32);
291 u32 GetGrp() const { return MskSPrm(0x1E); }
292 bool ChkSet() const { return MskSPrm(1); }
293 u32 GetVsGrp() const { return MskSPrm(0x70); }
294 u32 GetIGrp() const { return MskSPrm(0xE); }
295 u32 ChkNoCrr() const { return MskSPrm(0x100); }
296 void OnNoCrrBit() { OnSPrmBit(0x100); }
297 u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
301 void ClrSet() { OffSPrmBit(1); }
302 u32 ChkHit() const { return MskRPrm(1); }
303
305};
306
307STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
308
310protected:
311 /* 0x000 */ cCcD_ObjAt mObjAt;
312 /* 0x018 */ cCcD_ObjTg mObjTg;
313 /* 0x02C */ cCcD_ObjCo mObjCo;
314 /* 0x03C vtable */
315public:
316 virtual ~cCcD_ObjHitInf() {}
317 void Set(cCcD_SrcObjHitInf const&);
321 u32 GetTgGrp() const { return mObjTg.GetGrp(); }
322 u32 GetAtGrp() const { return mObjAt.GetGrp(); }
323 u32 GetCoGrp() const { return mObjCo.GetGrp(); }
324 int GetTgType() const { return mObjTg.GetType(); }
325 u32 GetAtType() const { return mObjAt.GetType(); }
326 bool ChkTgSet() const { return mObjTg.ChkSet(); }
327 bool ChkAtSet() const { return mObjAt.ChkSet(); }
328 bool ChkCoSet() const { return mObjCo.ChkSet(); }
332 u32 GetCoVsGrp() const { return mObjCo.GetVsGrp(); }
333 u32 GetCoIGrp() const { return mObjCo.GetIGrp(); }
334 u8 GetAtAtp() const { return mObjAt.GetAtp(); }
335 u32 ChkAtNoTgHitInfSet() const { return mObjAt.MskSPrm(0x20); }
336 u32 ChkTgNoAtHitInfSet() const { return mObjTg.MskSPrm(0x20); }
337 u32 ChkCoNoCoHitInfSet() const { return mObjCo.MskSPrm(0x200); }
338 bool ChkTgNoSlingHitInfSet() const { return mObjTg.MskSPrm(0x40); }
339 void SetAtHit(cCcD_Obj* obj) { mObjAt.SetHit(obj); }
340 void SetTgHit(cCcD_Obj* obj) { mObjTg.SetHit(obj); }
341 void SetCoHit(cCcD_Obj* obj) { mObjCo.SetHit(obj); }
342 u32 ChkAtType(u32 type) const { return mObjAt.MskType(type); }
343 u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
345 u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
351 void SetAtType(u32 type) { mObjAt.SetType(type); }
355 u32 MskTgSPrm(u32 mask) const { return mObjTg.MskSPrm(mask); }
356 void SetAtAtp(int atp) { mObjAt.SetAtp(atp); }
358 void SetTgType(u32 type) { mObjTg.SetType(type); }
369 void SetCoVsGrp(u32 grp) { mObjCo.SetVsGrp(grp); }
370 void SetCoIGrp(u32 grp) { mObjCo.SetIGrp(grp); }
371 void SetTgGrp(u32 grp) { mObjTg.SetGrp(grp); }
372 void SetAtSPrm(u32 prm) { mObjAt.SetSPrm(prm); }
373 void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
374 void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }
375 void ClrAtHit() { mObjAt.ClrHit(); }
376 void ClrTgHit() { mObjTg.ClrHit(); }
377 void ClrCoHit() { mObjCo.ClrHit(); }
378 u32 ChkAtHit() const { return mObjAt.ChkHit(); }
379 u32 ChkTgHit() const { return mObjTg.ChkHit(); }
380 u32 ChkCoHit() const { return mObjCo.ChkHit(); }
384 u32 ChkAtSPrm(u32 prm) { return mObjAt.ChkSPrm(prm); }
385 u32 ChkCoSPrm(u32 prm) const { return mObjCo.ChkSPrm(prm); }
387 void OnAtVsBitSet(u32 prm) { mObjAt.OnSPrmBit(prm); }
388 void OffAtVsBitSet(u32 prm) { mObjAt.OffSPrmBit(prm); }
390
391}; // Size = 0x40
392
393STATIC_ASSERT(0x40 == sizeof(cCcD_ObjHitInf));
394
396public:
397 /* 0x00 */ cM3dGAab mAab;
398 /* 0x1C vtable */
399
400 struct Shape {
402
403 /* 0x00 */ int _0;
404 /* 0x04 */ cXyz _4;
405 /* 0x10 */ f32 _10;
406 /* 0x14 */ f32 _14;
407 };
409 virtual ~cCcD_ShapeAttr() {}
410 virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const {
411 return false;
412 }
413 /* vt[4] */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const = 0;
414 /* vt[5] */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const = 0;
415 /* vt[6] */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const = 0;
416 /* vt[7] */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const = 0;
417 /* vt[8] */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const = 0;
418 /* vt[9] */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const = 0;
419 /* vt[10]*/ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const { return false; }
420 /* vt[11]*/ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const = 0;
421 /* vt[12]*/ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const = 0;
422 /* vt[13]*/ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const = 0;
423 /* vt[14]*/ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const = 0;
424 /* vt[15]*/ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const = 0;
425 /* vt[16]*/ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const = 0;
426 /* vt[17]*/ virtual const cXyz& GetCoCP() const { return m_virtual_center; }
427 /* vt[18]*/ virtual cXyz& GetCoCP() { return m_virtual_center; }
428 /* vt[19]*/ virtual void CalcAabBox() = 0;
429 /* vt[20]*/ virtual bool GetNVec(cXyz const&, cXyz*) const = 0;
430 /* vt[21]*/ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
431
432 cM3dGAab& GetWorkAab() { return mAab; }
433 cM3dGAab const& GetWorkAab() const { return mAab; }
434
436};
437
439
440class cCcD_GObjInf;
441
442class cCcD_Obj : public cCcD_ObjHitInf {
443public:
444 cCcD_Obj() { ct(); }
445 virtual ~cCcD_Obj() {}
446 virtual cCcD_GObjInf const* GetGObjInf() const { return NULL; }
447 virtual cCcD_GObjInf* GetGObjInf() { return NULL; }
448 virtual cCcD_ShapeAttr const* GetShapeAttr() const { return NULL; }
449 virtual cCcD_ShapeAttr* GetShapeAttr() { return NULL; }
450 virtual void Draw(_GXColor const&) {}
451 void ct();
452 void Set(cCcD_SrcObj const&);
453 fopAc_ac_c* GetAc();
454
455 cCcD_Stts* GetStts() { return mStts; }
456 void SetStts(cCcD_Stts* stts) { mStts = stts; }
459 int ChkBsRevHit() const { return mFlags & 2; }
460
461private:
462 /* 0x040 */ int mFlags;
463 /* 0x044 */ cCcD_Stts* mStts;
465}; // Size = 0x58
466
467STATIC_ASSERT(0x58 == sizeof(cCcD_Obj));
468
469class cCcD_GObjInf : public cCcD_Obj {
470public:
472 virtual ~cCcD_GObjInf() {}
473 virtual void ClrAtHit() { cCcD_ObjHitInf::ClrAtHit(); }
474 virtual void ClrTgHit() { cCcD_ObjHitInf::ClrTgHit(); }
475 virtual void ClrCoHit() { cCcD_ObjHitInf::ClrCoHit(); }
476 virtual cCcD_GObjInf const* GetGObjInf() const { return this; }
477 virtual cCcD_GObjInf* GetGObjInf() { return this; }
478};
479
480class cCcD_PntAttr : public cCcD_ShapeAttr, public cM3dGVtx {
481public:
483 virtual ~cCcD_PntAttr() {}
484 virtual bool GetNVec(cXyz const&, cXyz*) const;
485 virtual bool CrossAtTg(cCcD_ShapeAttr const& param_0, cXyz* param_1) const {
486 return param_0.CrossAtTg(*this, param_1);
487 }
488 virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
489 virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const { return false; }
490 virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const { return false; }
491 virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
492 virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const { return false; }
493 virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const { return false; }
494 virtual bool CrossCo(const cCcD_ShapeAttr& param_0, f32* param_1) const {
495 return param_0.CrossCo(*this, param_1);
496 }
497 virtual bool CrossCo(const cCcD_PntAttr&, f32*) const { return false; }
498 virtual bool CrossCo(const cCcD_CpsAttr&, f32*) const { return false; }
499 virtual bool CrossCo(const cCcD_TriAttr&, f32*) const { return false; }
500 virtual bool CrossCo(const cCcD_AabAttr&, f32*) const { return false; }
501 virtual bool CrossCo(const cCcD_CylAttr&, f32*) const { return false; }
502 virtual bool CrossCo(const cCcD_SphAttr&, f32*) const { return false; }
503 virtual void CalcAabBox() {}
504};
505
506class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
507public:
509 void Set(const cCcD_SrcCpsAttr& pSrc) { cM3dGCps::Set(pSrc.mCps); }
510 void Set(const cXyz& pStart, const cXyz& pEnd, float radius) {
511 cM3dGCps::Set(pStart, pEnd, radius);
512 }
513
514 virtual ~cCcD_CpsAttr() {}
515 virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
516 virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
517 virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
518 return shape.CrossAtTg(*this, xyz);
519 }
520 virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
521 virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
522 virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
523 virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
524 virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
525 virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
526 virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
527 virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
528 return shape.CrossCo(*this, f);
529 }
530 virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
531 virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
532 virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
533 virtual void CalcAabBox();
534 virtual bool GetNVec(cXyz const&, cXyz*) const;
535};
536
537STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
538
539class cCcD_TriAttr : public cCcD_ShapeAttr, public cM3dGTri {
540public:
541 virtual void CalcAabBox();
542 virtual bool GetNVec(cXyz const&, cXyz*) const;
543 virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
544 virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
545 virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
546 virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
547 return shape.CrossAtTg(*this, xyz);
548 }
549 virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
550 virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
551 virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
552 virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
553 return shape.CrossCo(*this, f);
554 }
555 virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
556 virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const { return false; }
557 virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
558 virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
559 virtual bool CrossCo(cCcD_CylAttr const&, f32*) const { return false; }
560 virtual bool CrossCo(cCcD_SphAttr const&, f32*) const { return false; }
561 virtual ~cCcD_TriAttr() {}
563};
564
565class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl {
566public:
568 virtual ~cCcD_CylAttr() {}
569 virtual const cXyz& GetCoCP() const { return *GetCP(); }
570 virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
571 virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
572 virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
573 virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
574 return shape.CrossAtTg(*this, xyz);
575 }
576 virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
577 virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
578 virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
579 virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
580 virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
581 virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
582 return shape.CrossCo(*this, f);
583 }
584 virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
585 virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
586 virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
587 virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
588 virtual cXyz& GetCoCP() { return *GetCP(); }
589 virtual void CalcAabBox();
590 virtual bool GetNVec(cXyz const&, cXyz*) const;
591 virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
592 void Set(const cCcD_SrcCylAttr& src) { cM3dGCyl::Set(src.mCyl); }
593
594 const cM3dGCyl* GetShapeP() const { return this; }
595
596}; // Size = 0x38
597
599
600class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
601public:
603 void Set(const cCcD_SrcSphAttr& src) { cM3dGSph::Set(src.mSph); }
604
605 virtual ~cCcD_SphAttr() {}
606 virtual const cXyz& GetCoCP() const { return *GetCP(); }
607 virtual cXyz& GetCoCP() { return *GetCP(); }
608 virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
609 return shape.CrossAtTg(*this, xyz);
610 }
611 virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
612 virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
613 virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
614 return shape.CrossCo(*this, f);
615 }
616 virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
617 virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
618 virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
619 virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
620 virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
621 virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
622 virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
623 virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
624 virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
625 virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
626 virtual void CalcAabBox();
627 virtual bool GetNVec(cXyz const&, cXyz*) const;
628 virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
629
630 const cM3dGSph* GetShapeP() const { return this; }
631
632}; // Size = 0x34
633
635
636STATIC_ASSERT(0x58 == sizeof(cCcD_GObjInf));
637
638#endif /* C_CC_D_H */
static BOOL flag
Definition DEMOAVX.c:20
STATIC_ASSERT(0x10==sizeof(cCcD_DivideInfo))
cCcD_ObjAtType
Definition c_cc_d.h:32
@ AT_TYPE_2000000
Definition c_cc_d.h:59
@ AT_TYPE_ARROW
Definition c_cc_d.h:47
@ AT_TYPE_MIDNA_LOCK
Definition c_cc_d.h:61
@ AT_TYPE_800
Definition c_cc_d.h:45
@ AT_TYPE_CSTATUE_BOSS_SWING
Definition c_cc_d.h:54
@ AT_TYPE_1000000
Definition c_cc_d.h:58
@ AT_TYPE_HORSE
Definition c_cc_d.h:36
@ AT_TYPE_CSTATUE_SWING
Definition c_cc_d.h:44
@ AT_TYPE_SPINNER
Definition c_cc_d.h:53
@ AT_TYPE_100
Definition c_cc_d.h:42
@ AT_TYPE_20000
Definition c_cc_d.h:51
@ AT_TYPE_1000
Definition c_cc_d.h:46
@ AT_TYPE_WOLF_ATTACK
Definition c_cc_d.h:65
@ AT_TYPE_8000
Definition c_cc_d.h:49
@ AT_TYPE_WOLF_CUT_TURN
Definition c_cc_d.h:64
@ AT_TYPE_0
Definition c_cc_d.h:33
@ AT_TYPE_1
Definition c_cc_d.h:34
@ AT_TYPE_NORMAL_SWORD
Definition c_cc_d.h:35
@ AT_TYPE_LANTERN_SWING
Definition c_cc_d.h:43
@ AT_TYPE_IRON_BALL
Definition c_cc_d.h:56
@ AT_TYPE_SHIELD_ATTACK
Definition c_cc_d.h:38
@ AT_TYPE_40
Definition c_cc_d.h:40
@ AT_TYPE_40000
Definition c_cc_d.h:52
@ AT_TYPE_HOOKSHOT
Definition c_cc_d.h:48
@ AT_TYPE_10000000
Definition c_cc_d.h:62
@ AT_TYPE_HEAVY_BOOTS
Definition c_cc_d.h:55
@ AT_TYPE_COPY_ROD
Definition c_cc_d.h:57
@ AT_TYPE_UNK
Definition c_cc_d.h:66
@ AT_TYPE_SLINGSHOT
Definition c_cc_d.h:41
@ AT_TYPE_THROW_OBJ
Definition c_cc_d.h:37
@ AT_TYPE_BOMB
Definition c_cc_d.h:39
@ AT_TYPE_BOOMERANG
Definition c_cc_d.h:50
@ AT_TYPE_MASTER_SWORD
Definition c_cc_d.h:60
@ AT_TYPE_20000000
Definition c_cc_d.h:63
CcG_Tg_HitMark
Definition c_cc_d.h:15
@ CcG_Tg_UNK_MARK_1
Definition c_cc_d.h:17
@ CcG_Tg_UNK_MARK_6
Definition c_cc_d.h:20
@ CcG_Tg_UNK_MARK_3
Definition c_cc_d.h:19
@ CcG_Tg_UNK_MARK_2
Definition c_cc_d.h:18
@ CcG_Tg_UNK_MARK_8
Definition c_cc_d.h:21
@ CcG_Tg_UNK_MARK_9
Definition c_cc_d.h:22
@ CcG_Tg_UNK_MARK_0
Definition c_cc_d.h:16
Definition c_cc_d.h:506
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:531
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:517
cCcD_CpsAttr()
Definition c_cc_d.h:508
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:521
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:408
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:520
void Set(const cXyz &pStart, const cXyz &pEnd, float radius)
Definition c_cc_d.h:510
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:527
virtual ~cCcD_CpsAttr()
Definition c_cc_d.h:514
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.cpp:381
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:530
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const
Definition c_cc_d.cpp:355
void Set(const cCcD_SrcCpsAttr &pSrc)
Definition c_cc_d.h:509
virtual void CalcAabBox()
Definition c_cc_d.cpp:401
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:532
Definition c_cc_d.h:565
const cM3dGCyl * GetShapeP() const
Definition c_cc_d.h:594
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:581
virtual ~cCcD_CylAttr()
Definition c_cc_d.h:568
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:569
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:585
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:586
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:584
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:512
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:573
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:539
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.cpp:474
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:577
virtual void CalcAabBox()
Definition c_cc_d.cpp:500
void Set(const cCcD_SrcCylAttr &src)
Definition c_cc_d.h:592
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const
Definition c_cc_d.cpp:458
cCcD_CylAttr()
Definition c_cc_d.h:567
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:576
virtual cXyz & GetCoCP()
Definition c_cc_d.h:588
Definition c_cc_d.h:100
void CalcDivideInfoOverArea(cCcD_DivideInfo *, cM3dGAab const &)
Definition c_cc_d.cpp:116
bool mYDiffIsZero
Definition c_cc_d.h:105
virtual ~cCcD_DivideArea()
Definition c_cc_d.h:114
bool mZDiffIsZero
Definition c_cc_d.h:108
bool mXDiffIsZero
Definition c_cc_d.h:102
f32 mInvScaledYDiff
Definition c_cc_d.h:107
void SetArea(cM3dGAab const &)
Definition c_cc_d.cpp:29
f32 mInvScaledXDiff
Definition c_cc_d.h:104
f32 mScaledZDiff
Definition c_cc_d.h:109
f32 mInvScaledZDiff
Definition c_cc_d.h:110
void CalcDivideInfo(cCcD_DivideInfo *, cM3dGAab const &, u32)
Definition c_cc_d.cpp:58
f32 mScaledYDiff
Definition c_cc_d.h:106
cCcD_DivideArea()
Definition c_cc_d.h:113
f32 mScaledXDiff
Definition c_cc_d.h:103
Definition c_cc_d.h:85
u32 mZDivInfo
Definition c_cc_d.h:89
virtual ~cCcD_DivideInfo()
Definition c_cc_d.h:93
u32 mYDivInfo
Definition c_cc_d.h:88
cCcD_DivideInfo()
Definition c_cc_d.h:92
u32 mXDivInfo
Definition c_cc_d.h:87
bool Chk(cCcD_DivideInfo const &) const
Definition c_cc_d.cpp:19
void Set(u32, u32, u32)
Definition c_cc_d.cpp:13
Definition c_cc_d.h:469
virtual void ClrCoHit()
Definition c_cc_d.h:475
cCcD_GObjInf()
Definition c_cc_d.h:471
virtual cCcD_GObjInf const * GetGObjInf() const
Definition c_cc_d.h:476
virtual cCcD_GObjInf * GetGObjInf()
Definition c_cc_d.h:477
virtual void ClrTgHit()
Definition c_cc_d.h:474
virtual ~cCcD_GObjInf()
Definition c_cc_d.h:472
virtual void ClrAtHit()
Definition c_cc_d.h:473
Definition c_cc_d.h:152
virtual ~cCcD_GStts()
Definition c_cc_d.h:154
Definition c_cc_d.h:233
void ClrSet()
Definition c_cc_d.h:248
u32 GetGrp() const
Definition c_cc_d.h:242
u8 mAtp
Definition c_cc_d.h:253
int GetType() const
Definition c_cc_d.h:241
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:652
virtual ~cCcD_ObjAt()
Definition c_cc_d.h:237
int mType
Definition c_cc_d.h:252
u32 ChkHit() const
Definition c_cc_d.h:249
u8 GetAtp() const
Definition c_cc_d.h:244
void Set(cCcD_SrcObjAt const &)
Definition c_cc_d.cpp:657
void SetType(u32 type)
Definition c_cc_d.h:246
void SetAtp(int atp)
Definition c_cc_d.h:247
u32 MskType(u32 msk) const
Definition c_cc_d.h:245
u8 field_0x15[3]
Definition c_cc_d.h:254
void Ct()
Definition c_cc_d.h:236
cCcD_ObjAt()
Definition c_cc_d.h:235
bool ChkSet() const
Definition c_cc_d.h:243
void ClrHit()
Definition c_cc_d.cpp:663
Definition c_cc_d.h:282
void ClrHit()
Definition c_cc_d.cpp:693
u32 GetGrp() const
Definition c_cc_d.h:291
cCcD_ObjCo()
Definition c_cc_d.h:284
void Set(cCcD_SrcObjCo const &src)
Definition c_cc_d.h:304
void Ct()
Definition c_cc_d.h:285
u32 ChkHit() const
Definition c_cc_d.h:302
void OffCoSameActorHit()
Definition c_cc_d.h:300
u32 ChkNoCrr() const
Definition c_cc_d.h:295
u32 GetIGrp() const
Definition c_cc_d.h:294
void ClrSet()
Definition c_cc_d.h:301
virtual ~cCcD_ObjCo()
Definition c_cc_d.h:286
u32 ChkCoSameActorHit() const
Definition c_cc_d.h:298
void OnNoCrrBit()
Definition c_cc_d.h:296
u32 GetVsGrp() const
Definition c_cc_d.h:293
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:688
void OnCoSameActorHit()
Definition c_cc_d.h:299
u32 ChkSph3DCrr() const
Definition c_cc_d.h:297
bool ChkSet() const
Definition c_cc_d.h:292
void SetVsGrp(u32)
Definition c_cc_d.cpp:703
void SetIGrp(u32)
Definition c_cc_d.cpp:698
Definition c_cc_d.h:197
u32 mRPrm
Definition c_cc_d.h:200
s32 getRPrm() const
Definition c_cc_d.h:217
u32 MskRPrm(u32 mask) const
Definition c_cc_d.h:221
void ct()
Definition c_cc_d.cpp:236
u32 mSPrm
Definition c_cc_d.h:199
u32 MskSPrm(u32 mask) const
Definition c_cc_d.h:220
const cCcD_Obj * GetHitObj() const
Definition c_cc_d.h:219
void Set(cCcD_SrcObjCommonBase const &src)
Definition c_cc_d.h:226
cCcD_ObjCommonBase()
Definition c_cc_d.h:211
cCcD_Obj * mHitObj
Definition c_cc_d.h:201
cCcD_Obj * GetHitObj()
Definition c_cc_d.h:218
s32 getSPrm() const
Definition c_cc_d.h:215
u32 ChkSPrm(u32 prm) const
Definition c_cc_d.h:224
void OffSPrmBit(u32 flag)
Definition c_cc_d.h:223
virtual ~cCcD_ObjCommonBase()
Definition c_cc_d.h:212
void SetSPrm(u32 sprm)
Definition c_cc_d.h:214
CoSPrm_e
Definition c_cc_d.h:204
@ CO_SPRM_NO_CO_HIT_INF_SET
Definition c_cc_d.h:207
@ CO_SPRM_NO_CRR
Definition c_cc_d.h:206
@ CO_SPRM_SET
Definition c_cc_d.h:205
@ CO_SPRM_SAME_ACTOR_HIT
Definition c_cc_d.h:208
void OnSPrmBit(u32 flag)
Definition c_cc_d.h:222
void setRPrm(s32 rprm)
Definition c_cc_d.h:216
Definition c_cc_d.h:309
u32 ChkAtType(u32 type) const
Definition c_cc_d.h:342
u32 ChkCoNoCoHitInfSet() const
Definition c_cc_d.h:337
void OnTgSPrmBit(u32 flag)
Definition c_cc_d.h:359
void OnAtSetBit()
Definition c_cc_d.h:352
u32 GetAtGrp() const
Definition c_cc_d.h:322
void ClrAtHit()
Definition c_cc_d.h:375
u32 ChkAtSPrm(u32 prm)
Definition c_cc_d.h:384
void OffAtSPrmBit(u32 flag)
Definition c_cc_d.h:348
cCcD_Obj * GetTgHitObj() const
Definition c_cc_d.h:382
bool ChkTgNoSlingHitInfSet() const
Definition c_cc_d.h:338
void ClrCoHit()
Definition c_cc_d.h:377
void OnAtNoTgHitInfSet()
Definition c_cc_d.h:353
u32 GetCoGrp() const
Definition c_cc_d.h:323
u32 ChkCoSameActorHit() const
Definition c_cc_d.h:329
void SetAtAtp(int atp)
Definition c_cc_d.h:356
void OnAtVsPlayerBit()
Definition c_cc_d.h:367
void OnAtSPrmBit(u32 flag)
Definition c_cc_d.h:347
u32 GetCoVsGrp() const
Definition c_cc_d.h:332
void OffTgSPrmBit(u32 flag)
Definition c_cc_d.h:349
u32 ChkAtHit() const
Definition c_cc_d.h:378
void SetCoVsGrp(u32 grp)
Definition c_cc_d.h:369
void SetCoSPrm(u32 prm)
Definition c_cc_d.h:374
u32 GetTgGrp() const
Definition c_cc_d.h:321
int GetTgType() const
Definition c_cc_d.h:324
bool ChkAtSet() const
Definition c_cc_d.h:327
void SetTgSPrm(u32 prm)
Definition c_cc_d.h:373
void OffAtNoTgHitInfSet()
Definition c_cc_d.h:354
void SetCoIGrp(u32 grp)
Definition c_cc_d.h:370
void OnTgSetBit()
Definition c_cc_d.h:361
u32 ChkAtNoTgHitInfSet() const
Definition c_cc_d.h:335
void Set(cCcD_SrcObjHitInf const &)
Definition c_cc_d.cpp:242
cCcD_Obj * GetCoHitObj() const
Definition c_cc_d.h:383
cCcD_Obj * GetAtHitObj() const
Definition c_cc_d.h:381
u32 GetAtType() const
Definition c_cc_d.h:325
u32 MskTgSPrm(u32 mask) const
Definition c_cc_d.h:355
void OffCoSameActorHit()
Definition c_cc_d.h:331
virtual ~cCcD_ObjHitInf()
Definition c_cc_d.h:316
void SetTgType(u32 type)
Definition c_cc_d.h:358
void OnCoSPrmBit(u32 flag)
Definition c_cc_d.h:368
u32 ChkCoSph3DCrr() const
Definition c_cc_d.h:345
void ClrTgHit()
Definition c_cc_d.h:376
void SetAtHit(cCcD_Obj *obj)
Definition c_cc_d.h:339
void OffTgNoAtHitInfSet()
Definition c_cc_d.h:389
void OnCoNoCoHitInfSet()
Definition c_cc_d.h:346
void OffTgSetBit()
Definition c_cc_d.h:362
void SetAtType(u32 type)
Definition c_cc_d.h:351
void OnAtVsEnemyBit()
Definition c_cc_d.h:365
u32 ChkTgHit() const
Definition c_cc_d.h:379
void OnTgNoSlingHitInfSet()
Definition c_cc_d.h:386
void OnCoSameActorHit()
Definition c_cc_d.h:330
void SetTgHit(cCcD_Obj *obj)
Definition c_cc_d.h:340
void SetTgGrp(u32 grp)
Definition c_cc_d.h:371
void SetCoHit(cCcD_Obj *obj)
Definition c_cc_d.h:341
u32 ChkCoHit() const
Definition c_cc_d.h:380
void OffAtSetBit()
Definition c_cc_d.h:360
void OffAtVsEnemyBit()
Definition c_cc_d.h:364
void OffAtVsPlayerBit()
Definition c_cc_d.h:366
void OffCoSetBit()
Definition c_cc_d.h:357
void OffCoSPrmBit(u32 flag)
Definition c_cc_d.h:350
u32 GetCoIGrp() const
Definition c_cc_d.h:333
u8 GetAtAtp() const
Definition c_cc_d.h:334
u32 ChkCoSPrm(u32 prm) const
Definition c_cc_d.h:385
u32 ChkCoNoCrr() const
Definition c_cc_d.h:343
cCcD_ObjAt mObjAt
Definition c_cc_d.h:311
void OffAtVsBitSet(u32 prm)
Definition c_cc_d.h:388
void OnCoSetBit()
Definition c_cc_d.h:363
cCcD_ObjCo mObjCo
Definition c_cc_d.h:313
cCcD_ObjTg & GetObjTg()
Definition c_cc_d.h:319
void OnAtVsBitSet(u32 prm)
Definition c_cc_d.h:387
cCcD_ObjAt & GetObjAt()
Definition c_cc_d.h:318
void OnCoNoCrrBit()
Definition c_cc_d.h:344
cCcD_ObjTg mObjTg
Definition c_cc_d.h:312
bool ChkCoSet() const
Definition c_cc_d.h:328
bool ChkTgSet() const
Definition c_cc_d.h:326
u32 ChkTgNoAtHitInfSet() const
Definition c_cc_d.h:336
void SetAtSPrm(u32 prm)
Definition c_cc_d.h:372
cCcD_ObjCo & GetObjCo()
Definition c_cc_d.h:320
Definition c_cc_d.h:261
void SetHit(cCcD_Obj *)
Definition c_cc_d.cpp:683
void ClrHit()
Definition c_cc_d.cpp:678
cCcD_ObjTg()
Definition c_cc_d.h:263
u32 GetGrp() const
Definition c_cc_d.h:271
int GetType() const
Definition c_cc_d.h:269
void SetType(u32 type)
Definition c_cc_d.h:270
bool ChkSet() const
Definition c_cc_d.h:272
int mType
Definition c_cc_d.h:277
u32 ChkHit() const
Definition c_cc_d.h:274
void ClrSet()
Definition c_cc_d.h:273
void Set(cCcD_SrcObjTg const &)
Definition c_cc_d.cpp:668
void SetGrp(u32)
Definition c_cc_d.cpp:673
virtual ~cCcD_ObjTg()
Definition c_cc_d.h:264
Definition c_cc_d.h:442
void SetStts(cCcD_Stts *stts)
Definition c_cc_d.h:456
int mFlags
Definition c_cc_d.h:462
cCcD_Obj()
Definition c_cc_d.h:444
int ChkBsRevHit() const
Definition c_cc_d.h:459
virtual ~cCcD_Obj()
Definition c_cc_d.h:445
void Set(cCcD_SrcObj const &)
Definition c_cc_d.cpp:252
virtual void Draw(_GXColor const &)
Definition c_cc_d.h:450
cCcD_Stts * mStts
Definition c_cc_d.h:463
cCcD_DivideInfo & GetDivideInfo()
Definition c_cc_d.h:457
virtual cCcD_ShapeAttr * GetShapeAttr()
Definition c_cc_d.h:449
virtual cCcD_ShapeAttr const * GetShapeAttr() const
Definition c_cc_d.h:448
cCcD_DivideInfo * GetPDivideInfo()
Definition c_cc_d.h:458
cCcD_DivideInfo mDivideInfo
Definition c_cc_d.h:464
virtual cCcD_GObjInf const * GetGObjInf() const
Definition c_cc_d.h:446
fopAc_ac_c * GetAc()
Definition c_cc_d.cpp:257
virtual cCcD_GObjInf * GetGObjInf()
Definition c_cc_d.h:447
cCcD_Stts * GetStts()
Definition c_cc_d.h:455
void ct()
Definition c_cc_d.cpp:248
Definition c_cc_d.h:480
virtual void CalcAabBox()
Definition c_cc_d.h:503
virtual bool CrossCo(const cCcD_TriAttr &, f32 *) const
Definition c_cc_d.h:499
virtual bool CrossCo(const cCcD_PntAttr &, f32 *) const
Definition c_cc_d.h:497
virtual bool CrossCo(const cCcD_ShapeAttr &param_0, f32 *param_1) const
Definition c_cc_d.h:494
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:488
virtual bool CrossAtTg(cCcD_CpsAttr const &, cXyz *) const
Definition c_cc_d.h:489
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:491
virtual bool CrossAtTg(cCcD_CylAttr const &, cXyz *) const
Definition c_cc_d.h:492
virtual bool CrossAtTg(cCcD_ShapeAttr const &param_0, cXyz *param_1) const
Definition c_cc_d.h:485
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:274
virtual bool CrossAtTg(cCcD_SphAttr const &, cXyz *) const
Definition c_cc_d.h:493
virtual bool CrossCo(const cCcD_CpsAttr &, f32 *) const
Definition c_cc_d.h:498
virtual ~cCcD_PntAttr()
Definition c_cc_d.h:483
cCcD_PntAttr()
Definition c_cc_d.h:482
virtual bool CrossCo(const cCcD_AabAttr &, f32 *) const
Definition c_cc_d.h:500
virtual bool CrossCo(const cCcD_SphAttr &, f32 *) const
Definition c_cc_d.h:502
virtual bool CrossCo(const cCcD_CylAttr &, f32 *) const
Definition c_cc_d.h:501
virtual bool CrossAtTg(cCcD_TriAttr const &, cXyz *) const
Definition c_cc_d.h:490
Definition c_cc_d.h:395
virtual bool CrossAtTg(cCcD_CpsAttr const &, cXyz *) const =0
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:426
cM3dGAab mAab
Definition c_cc_d.h:397
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:433
virtual bool CrossCo(cCcD_ShapeAttr const &, f32 *) const
Definition c_cc_d.h:419
cCcD_ShapeAttr()
Definition c_cc_d.h:408
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:409
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const =0
static cXyz m_virtual_center
Definition c_cc_d.h:435
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const =0
virtual cXyz & GetCoCP()
Definition c_cc_d.h:427
virtual bool CrossAtTg(cCcD_ShapeAttr const &, cXyz *) const
Definition c_cc_d.h:410
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const =0
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:265
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const =0
virtual bool GetNVec(cXyz const &, cXyz *) const =0
cM3dGAab & GetWorkAab()
Definition c_cc_d.h:432
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const =0
virtual bool CrossAtTg(cCcD_CylAttr const &, cXyz *) const =0
Definition c_cc_d.h:600
const cM3dGSph * GetShapeP() const
Definition c_cc_d.h:630
cCcD_SphAttr()
Definition c_cc_d.h:602
virtual ~cCcD_SphAttr()
Definition c_cc_d.h:605
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:608
virtual void getShapeAccess(cCcD_ShapeAttr::Shape *) const
Definition c_cc_d.cpp:643
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:612
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:611
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:627
virtual const cXyz & GetCoCP() const
Definition c_cc_d.h:606
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:618
virtual void CalcAabBox()
Definition c_cc_d.cpp:610
void Set(const cCcD_SrcSphAttr &src)
Definition c_cc_d.h:603
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:613
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:616
virtual cXyz & GetCoCP()
Definition c_cc_d.h:607
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:617
Definition c_cc_d.h:160
virtual void ClrTg()
Definition c_cc_d.h:181
fopAc_ac_c * GetAc()
Definition c_cc_d.h:185
cCcD_Stts()
Definition c_cc_d.h:170
virtual ~cCcD_Stts()
Definition c_cc_d.h:171
u8 field_0x15
Definition c_cc_d.h:166
void PlusCcMove(f32, f32, f32)
Definition c_cc_d.cpp:205
void SetWeight(u8 weight)
Definition c_cc_d.h:184
virtual const cCcD_GStts * GetGStts() const
Definition c_cc_d.cpp:178
void ClrCcMove()
Definition c_cc_d.cpp:219
void Init(int, int, void *, fpc_ProcID)
Definition c_cc_d.cpp:186
void PlusDmg(int)
Definition c_cc_d.cpp:225
cXyz m_cc_move
Definition c_cc_d.h:162
u8 GetWeightUc() const
Definition c_cc_d.h:183
fpc_ProcID m_apid
Definition c_cc_d.h:164
fpc_ProcID GetApid() const
Definition c_cc_d.h:189
cXyz * GetCCMoveP()
Definition c_cc_d.h:188
u8 m_weight
Definition c_cc_d.h:165
fopAc_ac_c * GetActor() const
Definition c_cc_d.h:186
f32 GetWeightF() const
Definition c_cc_d.cpp:232
u8 GetDmg() const
Definition c_cc_d.h:190
virtual void Ct()
Definition c_cc_d.cpp:194
u8 m_dmg
Definition c_cc_d.h:167
virtual void ClrAt()
Definition c_cc_d.h:180
void SetActor(void *ac)
Definition c_cc_d.h:187
fopAc_ac_c * mp_actor
Definition c_cc_d.h:163
Definition c_cc_d.h:539
virtual void CalcAabBox()
Definition c_cc_d.cpp:322
virtual bool CrossAtTg(cCcD_PntAttr const &, cXyz *) const
Definition c_cc_d.h:549
cCcD_TriAttr()
Definition c_cc_d.h:562
virtual ~cCcD_TriAttr()
Definition c_cc_d.h:561
virtual bool GetNVec(cXyz const &, cXyz *) const
Definition c_cc_d.cpp:329
virtual bool CrossCo(cCcD_TriAttr const &, f32 *) const
Definition c_cc_d.h:557
virtual bool CrossAtTg(cCcD_ShapeAttr const &shape, cXyz *xyz) const
Definition c_cc_d.h:546
virtual bool CrossCo(cCcD_PntAttr const &, f32 *) const
Definition c_cc_d.h:555
virtual bool CrossCo(cCcD_CpsAttr const &, f32 *) const
Definition c_cc_d.h:556
virtual bool CrossCo(cCcD_CylAttr const &, f32 *) const
Definition c_cc_d.h:559
virtual bool CrossCo(cCcD_ShapeAttr const &shape, f32 *f) const
Definition c_cc_d.h:552
virtual bool CrossAtTg(cCcD_AabAttr const &, cXyz *) const
Definition c_cc_d.h:550
virtual bool CrossCo(cCcD_AabAttr const &, f32 *) const
Definition c_cc_d.h:558
virtual bool CrossAtTg(cCcD_CpsAttr const &, cXyz *) const
Definition c_cc_d.cpp:290
virtual bool CrossCo(cCcD_SphAttr const &, f32 *) const
Definition c_cc_d.h:560
Definition c_m3d_g_aab.h:9
Definition c_m3d_g_cps.h:13
void Set(const cXyz &, const cXyz &, f32)
Definition c_m3d_g_cps.cpp:12
Definition c_m3d_g_cyl.h:16
const cXyz * GetCP() const
Definition c_m3d_g_cyl.h:33
void Set(const cM3dGCylS &)
Definition c_m3d_g_cyl.cpp:15
Definition c_m3d_g_sph.h:15
const cXyz * GetCP() const
Definition c_m3d_g_sph.h:35
void Set(const cXyz &, f32)
Definition c_m3d_g_sph.cpp:13
Definition c_m3d_g_tri.h:14
Definition c_m3d_g_vtx.h:6
Definition f_op_actor.h:243
const void * src
Definition __os.h:116
f
Definition e_log.c:119
unsigned int fpc_ProcID
Definition f_pc_base.h:10
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition GXStruct.h:30
Definition c_cc_d.h:400
~Shape()
Definition c_cc_d.h:401
cXyz _4
Definition c_cc_d.h:404
f32 _14
Definition c_cc_d.h:406
int _0
Definition c_cc_d.h:403
f32 _10
Definition c_cc_d.h:405
Definition c_cc_d.h:73
cM3dGCpsS mCps
Definition c_cc_d.h:74
Definition c_cc_d.h:81
cM3dGCylS mCyl
Definition c_cc_d.h:82
Definition c_cc_d.h:131
s32 mType
Definition c_cc_d.h:132
u8 mAtp
Definition c_cc_d.h:133
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:134
Definition c_cc_d.h:137
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:138
Definition c_cc_d.h:122
s32 mSPrm
Definition c_cc_d.h:123
Definition c_cc_d.h:141
cCcD_SrcObjTg mObjTg
Definition c_cc_d.h:143
cCcD_SrcObjAt mObjAt
Definition c_cc_d.h:142
cCcD_SrcObjCo mObjCo
Definition c_cc_d.h:144
Definition c_cc_d.h:126
cCcD_SrcObjCommonBase mBase
Definition c_cc_d.h:128
s32 mType
Definition c_cc_d.h:127
Definition c_cc_d.h:147
int mFlags
Definition c_cc_d.h:148
cCcD_SrcObjHitInf mSrcObjHitInf
Definition c_cc_d.h:149
Definition c_cc_d.h:77
cM3dGSphS mSph
Definition c_cc_d.h:78
Definition c_cc_d.h:69
cM3dGTriS mTri
Definition c_cc_d.h:70
Definition c_m3d_g_cps.h:7
Definition c_m3d_g_cyl.h:9
Definition c_m3d_g_sph.h:10
Definition c_m3d_g_tri.h:8
Definition c_xyz.h:7