Skip to content

Commit 131548b

Browse files
authored
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
1 parent 57fe6dc commit 131548b

File tree

3 files changed

+196
-351
lines changed

3 files changed

+196
-351
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1549,7 +1549,7 @@ def MatchingFor(*versions):
15491549
ActorRel(NonMatching, "d_a_obj_ornament_cloth"),
15501550
ActorRel(NonMatching, "d_a_obj_rope_bridge"),
15511551
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sWallShutter"),
1552-
ActorRel(NonMatching, "d_a_obj_stick"),
1552+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stick"),
15531553
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stoneMark"),
15541554
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swpropeller"),
15551555
ActorRel(NonMatching, "d_a_obj_swpush5"),

include/d/actor/d_a_obj_stick.h

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#define D_A_OBJ_STICK_H
33

44
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_bg_s_acch.h"
6+
#include "d/d_cc_d.h"
57

68
/**
79
* @ingroup actors-objects
@@ -12,33 +14,50 @@
1214
*
1315
*/
1416
class daObj_Stick_c : public fopAc_ac_c {
17+
private:
18+
/* 0x568 */ mDoHIO_entry_c* field_0x568;
19+
/* 0x56c */ request_of_phase_process_class mPhase;
20+
/* 0x574 */ J3DModel* mpModel;
21+
/* 0x578 */ dBgS_ObjAcch mAcch;
22+
/* 0x750 */ dCcD_Stts mStts;
23+
/* 0x78c */ dBgS_AcchCir mAcchCir;
24+
/* 0x7cc */ cBgS_GndChk mGndChk;
25+
/* 0x808 */ dCcD_Sph mSph;
26+
/* 0x940 */ f32 mGroundHeight;
27+
/* 0x944 */ u32 mShadowKey;
28+
/* 0x948 */ u8 mType;
1529
public:
16-
/* 8059922C */ ~daObj_Stick_c();
17-
/* 805993E8 */ void create();
18-
/* 80599888 */ void CreateHeap();
19-
/* 80599900 */ void Delete();
20-
/* 80599934 */ void Execute();
21-
/* 80599A78 */ void Draw();
22-
/* 80599B3C */ void createHeapCallBack(fopAc_ac_c*);
23-
/* 80599B5C */ void getResName();
24-
/* 80599B6C */ void isDelete();
30+
/* 8059922C */ virtual ~daObj_Stick_c();
31+
/* 805993E8 */ int create();
32+
/* 80599888 */ int CreateHeap();
33+
/* 80599900 */ int Delete();
34+
/* 80599934 */ int Execute();
35+
/* 80599A78 */ int Draw();
36+
/* 80599B3C */ static int createHeapCallBack(fopAc_ac_c*);
37+
/* 80599B5C */ const char* getResName();
38+
/* 80599B6C */ int isDelete();
2539
/* 80599B8C */ void setEnvTevColor();
2640
/* 80599BE8 */ void setRoomNo();
2741
/* 80599C28 */ void setMtx();
2842

29-
static u8 mCcDSph[64];
43+
u32 getType() { return 0; }
3044

31-
private:
32-
/* 0x568 */ u8 field_0x568[0x950 - 0x568];
45+
static dCcD_SrcSph mCcDSph;
3346
};
3447

3548
STATIC_ASSERT(sizeof(daObj_Stick_c) == 0x950);
3649

3750
class daObj_Stick_Param_c {
3851
public:
39-
/* 80599DD0 */ ~daObj_Stick_Param_c();
52+
/* 80599DD0 */ virtual ~daObj_Stick_Param_c() {};
4053

41-
static u8 const m[16];
54+
struct daObj_Stick_HIOParam {
55+
f32 attention_offset;
56+
f32 gravity;
57+
f32 scale;
58+
f32 real_shadow_size;
59+
};
60+
static const daObj_Stick_HIOParam m;
4261
};
4362

4463

0 commit comments

Comments
 (0)