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