mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 06:54:28 -04:00
877889c510
* Remove NDEBUG_DEFINED fakematch, clean up getName temps * Fix ifdef * Fix bad JSystem pch ifdef breaking decomp.me * Remove Acch Chk fakematches * Private Acch fields * Fix some clangd errors in headers * Add UNUSED macro for matching debug parameters * Enable clangd unused-parameter warning * Remove extern from initializers Probably added by dol2asm? * Fix process profile definitions * Remove leftover dol2asm address comments * Remove some unnecessary double casts * Enable some more clangd warnings * Fix missing usages of fopAcM_ct * Fix wrong enum usage * Fix more fakematches
73 lines
2.5 KiB
C++
73 lines
2.5 KiB
C++
#ifndef C_CC_S_H
|
|
#define C_CC_S_H
|
|
|
|
#include "SSystem/SComponent/c_cc_d.h"
|
|
|
|
enum WeightType {
|
|
WeightType_0 = 0,
|
|
WeightType_1 = 1,
|
|
WeightType_2 = 2,
|
|
};
|
|
|
|
class cCcS {
|
|
public:
|
|
/* 0x0000 */ cCcD_Obj* mpObjAt[0x100];
|
|
/* 0x0400 */ cCcD_Obj* mpObjTg[0x300];
|
|
/* 0x1000 */ cCcD_Obj* mpObjCo[0x100];
|
|
/* 0x1400 */ cCcD_Obj* mpObj[0x500];
|
|
#if DEBUG
|
|
/* 0x2800 */ int m_debug_code;
|
|
#endif
|
|
/* 0x2800 */ u16 mObjAtCount;
|
|
/* 0x2802 */ u16 mObjTgCount;
|
|
/* 0x2804 */ u16 mObjCoCount;
|
|
/* 0x2806 */ u16 mObjCount;
|
|
#if DEBUG
|
|
/* 0x280C */ u16 field_0x280c;
|
|
/* 0x280E */ u16 field_0x280e;
|
|
/* 0x2810 */ u16 field_0x2810;
|
|
/* 0x2812 */ u16 field_0x2812;
|
|
#endif
|
|
/* 0x2808 */ cCcD_DivideArea mDivideArea;
|
|
/* 0x2848 vtable */
|
|
|
|
cCcS();
|
|
void Ct();
|
|
void Dt();
|
|
WeightType GetWt(u8) const;
|
|
void Set(cCcD_Obj*);
|
|
void ClrCoHitInf();
|
|
void ClrTgHitInf();
|
|
void ClrAtHitInf();
|
|
bool ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*);
|
|
void ChkAtTg();
|
|
bool ChkNoHitCo(cCcD_Obj*, cCcD_Obj*);
|
|
void ChkCo();
|
|
virtual void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
|
void SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*);
|
|
void SetCoCommonHitInf(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
|
/* vt[3]*/ virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
|
void CalcArea();
|
|
void Move();
|
|
void DrawClear();
|
|
virtual void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*,
|
|
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
|
|
cCcD_GStts*);
|
|
virtual void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*,
|
|
cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
|
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*, cXyz*);
|
|
virtual bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*,
|
|
cCcD_GStts*, cCcD_GStts*);
|
|
virtual bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*,
|
|
cCcD_GObjInf const*, cCcD_Stts*,
|
|
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
|
virtual bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
|
|
virtual ~cCcS() {}
|
|
virtual void MoveAfterCheck();
|
|
virtual void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*);
|
|
}; // Size = 0x284C
|
|
|
|
STATIC_ASSERT(sizeof(cCcS) == 0x284C);
|
|
|
|
#endif /* C_CC_S_H */
|