d_a_obj_stick matching (#2332)

* Started work on d_a_obj_stick

* Lots of green

* Fixed mAcch vtable

* Only missing switch/if problem in create

* All green

* Set stick matching

* Cleanup

* Addressed PR comments

* Reset vscode config
This commit is contained in:
zerox029
2025-03-18 18:39:26 -07:00
committed by GitHub
parent 57fe6dcdea
commit 131548b015
3 changed files with 239 additions and 394 deletions
+33 -14
View File
@@ -2,6 +2,8 @@
#define D_A_OBJ_STICK_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
@@ -12,33 +14,50 @@
*
*/
class daObj_Stick_c : public fopAc_ac_c {
private:
/* 0x568 */ mDoHIO_entry_c* field_0x568;
/* 0x56c */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
/* 0x750 */ dCcD_Stts mStts;
/* 0x78c */ dBgS_AcchCir mAcchCir;
/* 0x7cc */ cBgS_GndChk mGndChk;
/* 0x808 */ dCcD_Sph mSph;
/* 0x940 */ f32 mGroundHeight;
/* 0x944 */ u32 mShadowKey;
/* 0x948 */ u8 mType;
public:
/* 8059922C */ ~daObj_Stick_c();
/* 805993E8 */ void create();
/* 80599888 */ void CreateHeap();
/* 80599900 */ void Delete();
/* 80599934 */ void Execute();
/* 80599A78 */ void Draw();
/* 80599B3C */ void createHeapCallBack(fopAc_ac_c*);
/* 80599B5C */ void getResName();
/* 80599B6C */ void isDelete();
/* 8059922C */ virtual ~daObj_Stick_c();
/* 805993E8 */ int create();
/* 80599888 */ int CreateHeap();
/* 80599900 */ int Delete();
/* 80599934 */ int Execute();
/* 80599A78 */ int Draw();
/* 80599B3C */ static int createHeapCallBack(fopAc_ac_c*);
/* 80599B5C */ const char* getResName();
/* 80599B6C */ int isDelete();
/* 80599B8C */ void setEnvTevColor();
/* 80599BE8 */ void setRoomNo();
/* 80599C28 */ void setMtx();
static u8 mCcDSph[64];
u32 getType() { return 0; }
private:
/* 0x568 */ u8 field_0x568[0x950 - 0x568];
static dCcD_SrcSph mCcDSph;
};
STATIC_ASSERT(sizeof(daObj_Stick_c) == 0x950);
class daObj_Stick_Param_c {
public:
/* 80599DD0 */ ~daObj_Stick_Param_c();
/* 80599DD0 */ virtual ~daObj_Stick_Param_c() {};
static u8 const m[16];
struct daObj_Stick_HIOParam {
f32 attention_offset;
f32 gravity;
f32 scale;
f32 real_shadow_size;
};
static const daObj_Stick_HIOParam m;
};