Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions config/GZ2E01/rels/d_a_obj_sakuita/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ initBaseMtx__14daObjSakuita_cFv = .text:0x00000178; // type:function size:0x20 s
setBaseMtx__14daObjSakuita_cFv = .text:0x00000198; // type:function size:0x84 scope:global
setPlatePos__14daObjSakuita_cFv = .text:0x0000021C; // type:function size:0x1FC scope:global
calcAngle__14daObjSakuita_cFv = .text:0x00000418; // type:function size:0xC4 scope:global
createSolidHeap__FP10fopAc_ac_c = .text:0x000004DC; // type:function size:0x78 scope:global
daObjSakuita_Draw__FP14daObjSakuita_c = .text:0x00000554; // type:function size:0x40 scope:global
daObjSakuita_Execute__FP14daObjSakuita_c = .text:0x00000594; // type:function size:0x58 scope:global
daObjSakuita_IsDelete__FP14daObjSakuita_c = .text:0x000005EC; // type:function size:0x8 scope:global
daObjSakuita_Delete__FP14daObjSakuita_c = .text:0x000005F4; // type:function size:0x28 scope:global
createSolidHeap__FP10fopAc_ac_c = .text:0x000004DC; // type:function size:0x78 scope:local
daObjSakuita_Draw__FP14daObjSakuita_c = .text:0x00000554; // type:function size:0x40 scope:local
daObjSakuita_Execute__FP14daObjSakuita_c = .text:0x00000594; // type:function size:0x58 scope:local
daObjSakuita_IsDelete__FP14daObjSakuita_c = .text:0x000005EC; // type:function size:0x8 scope:local
daObjSakuita_Delete__FP14daObjSakuita_c = .text:0x000005F4; // type:function size:0x28 scope:local
__dt__14daObjSakuita_cFv = .text:0x0000061C; // type:function size:0x1A4 scope:global
daObjSakuita_Create__FP10fopAc_ac_c = .text:0x000007C0; // type:function size:0x138 scope:global
daObjSakuita_Create__FP10fopAc_ac_c = .text:0x000007C0; // type:function size:0x138 scope:local
__dt__8cM3dGCylFv = .text:0x000008F8; // type:function size:0x48 scope:global
__dt__8cM3dGAabFv = .text:0x00000940; // type:function size:0x48 scope:global
__dt__10dCcD_GSttsFv = .text:0x00000988; // type:function size:0x5C scope:global
Expand All @@ -34,8 +34,8 @@ M_attr__14daObjSakuita_c = .rodata:0x00000000; // type:object size:0x2C scope:gl
@3764 = .rodata:0x00000054; // type:object size:0x4 scope:local
@3781 = .rodata:0x00000058; // type:object size:0x8 scope:local align:8 data:double
@stringBase0 = .rodata:0x00000060; // type:object size:0x18 scope:local data:string_table
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
l_daObjSakuita_Method = .data:0x00000004; // type:object size:0x20 scope:global
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
l_daObjSakuita_Method = .data:0x00000004; // type:object size:0x20 scope:local
g_profile_Obj_Sakuita = .data:0x00000024; // type:object size:0x30 scope:global
__vt__10cCcD_GStts = .data:0x00000054; // type:object size:0xC scope:global
__vt__10dCcD_GStts = .data:0x00000060; // type:object size:0xC scope:global
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -2074,7 +2074,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rstair"),
ActorRel(NonMatching, "d_a_obj_rw"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_saidan"),
ActorRel(NonMatching, "d_a_obj_sakuita"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sakuita"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sakuita_rope"),
ActorRel(NonMatching, "d_a_obj_scannon"),
ActorRel(NonMatching, "d_a_obj_scannon_crs"),
Expand Down
38 changes: 36 additions & 2 deletions include/d/actor/d_a_obj_sakuita.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
#ifndef D_A_OBJ_SAKUITA_H
#define D_A_OBJ_SAKUITA_H

#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"

struct daObjSakuita_Attr_c {
/* 0x00 */ f32 mGravity;
/* 0x04 */ f32 mCylR;
/* 0x08 */ f32 mCylH;
/* 0x0C */ f32 mOffset;
/* 0x10 */ f32 mWindRate;
/* 0x14 */ f32 mSpeedRate;
/* 0x18 */ f32 mHangingPosition;
/* 0x1C */ f32 mWindShake;
/* 0x20 */ f32 mYVibration;
/* 0x24 */ f32 mYConvergence;
/* 0x28 */ s16 mYPeriod;
/* 0x2C */ u8 mBoardWeight;
};

/**
* @ingroup actors-objects
* @class daObjSakuita_c
Expand All @@ -20,10 +36,28 @@ class daObjSakuita_c : public fopAc_ac_c {
/* 80CC4A98 */ void calcAngle();
/* 80CC4C9C */ ~daObjSakuita_c();

static u8 const M_attr[44];
inline int createHeap();
inline int draw();
inline int execute();
inline int create();

const daObjSakuita_Attr_c& attr() const { return M_attr; }

static daObjSakuita_Attr_c const M_attr;

private:
/* 0x568 */ u8 field_0x568[0x750 - 0x568];
/* 0x568 */ J3DModel* mModel;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ Mtx mMtx;
/* 0x5A4 */ dCcD_Stts mStts;
/* 0x5A4 */ dCcD_Cyl mCyl;
/* 0x71C */ cXyz field_0x71c;
/* 0x728 */ cXyz field_0x728;
/* 0x734 */ cXyz field_0x734;
/* 0x740 */ f32 field_0x740;
/* 0x744 */ csXyz field_0x744;
/* 0x74A */ s16 field_0x74a;
/* 0x74C */ u8 field_0x74c;
};

STATIC_ASSERT(sizeof(daObjSakuita_c) == 0x750);
Expand Down
Loading