Files
Mattias Blum 5f287fcaee d_camera 28% (#732)
* initial progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fix outdated member names

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fixed deprecated member references

* more progress

* more progress

* more progress

* fix deprecated member references

* more progress

* more progress

* more progress

* more progress

* more progress

* check in for review

* remove comment

* initial PR changes

* more PR changes

* more PR changes

* added anonymous struct as class member

* reverted changes to `stage_camera2_data_class`

* added `dCamera_event_data`, `dCamera_monitoring_things` and `dCamera_DMC_system` from debug maps

* more progress

* more progress

* realmatch for `camera_draw`

* PR changes

* fix broken merge

* formatting

* Reverted change to `camSphChkdata` that caused  `sph_chk_callback` match to regress

* Reverted change to `BG` struct that caused ctor and dtor match to regress
2025-04-11 16:37:42 -04:00

68 lines
2.7 KiB
C++

#ifndef D_CC_D_CC_S_H
#define D_CC_D_CC_S_H
#include "SSystem/SComponent/c_cc_s.h"
#include "d/d_cc_mass_s.h"
#include "global.h"
class dCcD_GObjInf;
class dCcD_GStts;
class dCcS : public cCcS {
public:
dCcS() {}
void Ct();
void Dt();
bool ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*);
bool ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*);
void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
int GetRank(u8);
void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*,
dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*,
dCcD_GStts*, cXyz*);
bool ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*);
void DrawAfter();
void Move();
void Draw();
void MassClear();
virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
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 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 ~dCcS() {}
virtual void MoveAfterCheck();
virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
u32 ChkMass(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf) {
return mMass_Mng.Chk(p_xyz, p_actor, p_hitInf);
}
void SetMass(cCcD_Obj* i_obj, u8 i_priority) { mMass_Mng.Set(i_obj, i_priority); }
void PrepareMass() { mMass_Mng.Prepare(); }
void SetMassAttr(f32 radius, f32 height, u8 param_2, u8 param_3) {
mMass_Mng.SetAttr(radius, height, param_2, param_3);
}
void ChkActor(fopAc_ac_c*) {}
void GetMassCamTopPos(Vec* o_pos) { mMass_Mng.GetCamTopPos(o_pos); }
u32 GetMassResultCam() { return mMass_Mng.GetResultCam(); }
void OffMassAllTimer() {}
void OnMassAllTimer() {}
void SetMassAreaChk(cCcD_Obj*, u8, void (*)(fopAc_ac_c*, cXyz*, u32)) {}
void SetMassCam(cM3dGCps& i_cps) { mMass_Mng.SetCam(i_cps); }
// /* 0x0000 */ cCcS mCCcS;
/* 0x2854 */ dCcMassS_Mng mMass_Mng;
}; // Size = 0x29F4
STATIC_ASSERT(sizeof(dCcS) == 0x29F4);
#endif /* D_CC_D_CC_S_H */