Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

d_a_obj_rstair OK #2280

Merged
merged 1 commit into from
Jan 2, 2025
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
26 changes: 13 additions & 13 deletions config/GZ2E01/rels/d_a_obj_rstair/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,26 @@ onWaterModel__15daObjRotStair_cFv = .text:0x00000E30; // type:function size:0x54
offWaterModel__15daObjRotStair_cFv = .text:0x00000E84; // type:function size:0x60 scope:global
Draw__15daObjRotStair_cFv = .text:0x00000EE4; // type:function size:0x1FC scope:global
Delete__15daObjRotStair_cFv = .text:0x000010E0; // type:function size:0x6C scope:global
daObjRotStair_create1st__FP15daObjRotStair_c = .text:0x0000114C; // type:function size:0x60 scope:global
daObjRotStair_MoveBGDelete__FP15daObjRotStair_c = .text:0x000011AC; // type:function size:0x20 scope:global
daObjRotStair_MoveBGExecute__FP15daObjRotStair_c = .text:0x000011CC; // type:function size:0x20 scope:global
daObjRotStair_MoveBGDraw__FP15daObjRotStair_c = .text:0x000011EC; // type:function size:0x2C scope:global
daObjRotStair_create1st__FP15daObjRotStair_c = .text:0x0000114C; // type:function size:0x60 scope:local
daObjRotStair_MoveBGDelete__FP15daObjRotStair_c = .text:0x000011AC; // type:function size:0x20 scope:local
daObjRotStair_MoveBGExecute__FP15daObjRotStair_c = .text:0x000011CC; // type:function size:0x20 scope:local
daObjRotStair_MoveBGDraw__FP15daObjRotStair_c = .text:0x000011EC; // type:function size:0x2C scope:local
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
...rodata.0 = .rodata:0x00000000; // type:label scope:local
l_wtr_bmd = .rodata:0x00000000; // type:object size:0x8 scope:global
l_wtr_btk = .rodata:0x00000008; // type:object size:0x8 scope:global
l_target_angleY = .rodata:0x00000010; // type:object size:0x10 scope:global
l_wtr_bmd = .rodata:0x00000000; // type:object size:0x8 scope:local
l_wtr_btk = .rodata:0x00000008; // type:object size:0x8 scope:local
l_target_angleY = .rodata:0x00000010; // type:object size:0x10 scope:local
@3770 = .rodata:0x00000020; // type:object size:0x4 scope:local
@3911 = .rodata:0x00000024; // type:object size:0x4 scope:local
@3912 = .rodata:0x00000028; // type:object size:0x4 scope:local
@4107 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000030; // type:object size:0xA scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
l_arcName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte
l_water_check_offset = .data:0x00000024; // type:object size:0xC scope:global
l_arcName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte
l_water_check_offset = .data:0x00000024; // type:object size:0xC scope:local
@3811 = .data:0x00000030; // type:object size:0xC scope:local
@3812 = .data:0x0000003C; // type:object size:0xC scope:local
l_func$3810 = .data:0x00000048; // type:object size:0x18 scope:local
Expand All @@ -52,9 +52,9 @@ l_func$3810 = .data:0x00000048; // type:object size:0x18 scope:local
@3921 = .data:0x00000078; // type:object size:0xC scope:local
@3922 = .data:0x00000084; // type:object size:0xC scope:local
l_func$3918 = .data:0x00000090; // type:object size:0x30 scope:local
daObjRotStair_METHODS = .data:0x000000C0; // type:object size:0x20 scope:global
daObjRotStair_METHODS = .data:0x000000C0; // type:object size:0x20 scope:local
g_profile_Obj_RotStair = .data:0x000000E0; // type:object size:0x30 scope:global
__vt__12J3DFrameCtrl = .data:0x00000110; // type:object size:0xC scope:global
__vt__15daObjRotStair_c = .data:0x0000011C; // type:object size:0x28 scope:global
lbl_608_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
lbl_608_bss_1 = .bss:0x00000001; // type:object size:0x1 data:byte
lbl_608_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
lbl_608_bss_1 = .bss:0x00000001; // type:object size:0x1 scope:local data:byte
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1973,7 +1973,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_rotBridge"),
ActorRel(NonMatching, "d_a_obj_rotTrap"),
ActorRel(NonMatching, "d_a_obj_roten"),
ActorRel(NonMatching, "d_a_obj_rstair"),
ActorRel(Matching, "d_a_obj_rstair"),
ActorRel(NonMatching, "d_a_obj_rw"),
ActorRel(Matching, "d_a_obj_saidan"),
ActorRel(NonMatching, "d_a_obj_sakuita"),
Expand Down
62 changes: 53 additions & 9 deletions include/d/actor/d_a_obj_rstair.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#ifndef D_A_OBJ_RSTAIR_H
#define D_A_OBJ_RSTAIR_H

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

/**
Expand All @@ -11,14 +12,29 @@
* @details
*
*/
class daObjRotStair_c : public fopAc_ac_c {
class daObjRotStair_c : public dBgS_MoveBgActor {
public:
typedef void (daObjRotStair_c::*actionFunc)();
typedef void (daObjRotStair_c::*modeFunc)();

enum Mode {
MODE_WAIT,
MODE_ROTATE,
};

enum Action {
ACTION_WAIT,
ACTION_ORDER_EVENT,
ACTION_EVENT,
ACTION_DEAD,
};

/* 80CC1558 */ void initBaseMtx();
/* 80CC1614 */ void setBaseMtx();
/* 80CC16B0 */ void Create();
/* 80CC17F0 */ void CreateHeap();
/* 80CC1A28 */ void create1st();
/* 80CC1AF0 */ void Execute(f32 (**)[3][4]);
/* 80CC16B0 */ int Create();
/* 80CC17F0 */ int CreateHeap();
/* 80CC1A28 */ int create1st();
/* 80CC1AF0 */ int Execute(Mtx**);
/* 80CC1BA4 */ void move_proc_call();
/* 80CC1C30 */ void init_modeWait();
/* 80CC1CF0 */ void modeWait();
Expand All @@ -29,15 +45,43 @@ class daObjRotStair_c : public fopAc_ac_c {
/* 80CC2158 */ void actionOrderEvent();
/* 80CC21C0 */ void actionEvent();
/* 80CC221C */ void actionDead();
/* 80CC2220 */ void checkChangeSw();
/* 80CC2220 */ int checkChangeSw();
/* 80CC22A0 */ void offSwitch(int);
/* 80CC2310 */ void onWaterModel();
/* 80CC2364 */ void offWaterModel();
/* 80CC23C4 */ void Draw();
/* 80CC25C0 */ void Delete();
/* 80CC23C4 */ int Draw();
/* 80CC25C0 */ int Delete();

u8 getSwNo() { return mSwNo; }
u8 getSwNo2() { return (mSwNo >> 8) & 0xff; }
u8 getSwNo3() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getEventID() { return fopAcM_GetParamBit(this, 0, 8); }
void setAction(u8 action) { mAction = action; }

private:
/* 0x568 */ u8 field_0x568[0x5e4 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ J3DModel* mWaterModels[2];
/* 0x5B4 */ mDoExt_btkAnm* mBtks[2];
/* 0x5BC */ bool mWaterModelOn;
/* 0x5C0 */ dBgW* mWaterBgw;
/* 0x5C4 */ int field_0x5c4;
/* 0x5C8 */ s16 field_0x5c8;
/* 0x5CA */ u16 mSwNo;
/* 0x5CC */ u8 mInit;
/* 0x5CD */ u8 mMode;
/* 0x5CE */ s16 mAdditionalRotY;
/* 0x5D0 */ s16 mAngleStep;
/* 0x5D2 */ s16 mStepTarget;
/* 0x5D4 */ s16 mTargetAngle;
/* 0x5D6 */ u8 mIsSw[4];
/* 0x5DA */ s16 field_0x5da;
/* 0x5DC */ s16 field_0x5dc;
/* 0x5DE */ s16 mEventId;
/* 0x5E0 */ u8 mMapToolId;
/* 0x5E1 */ u8 mAction;
/* 0x5E2 */ bool field_0x5e2;
/* 0x5E3 */ s8 field_0x5e3;
};

STATIC_ASSERT(sizeof(daObjRotStair_c) == 0x5e4);
Expand Down
Loading
Loading