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