d_a_obj_smgdoor OK (#2692)

* d_a_obj_smgdoor OK

* symbols

* dEvtCnd_CANDOOR_e

* remove else
This commit is contained in:
Howard Luck
2025-09-24 19:51:01 +03:00
committed by GitHub
parent 46b1f0ee71
commit f932405784
6 changed files with 433 additions and 399 deletions
@@ -44,10 +44,10 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4055 = .rodata:0x00000028; // type:object size:0x4 scope:local
@4056 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000030; // type:object size:0x9F 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
lbl_622_data_10 = .data:0x00000010; // type:object size:0x10
_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8
_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
l_bmd = .data:0x00000028; // type:object size:0x8 scope:global
l_dzb = .data:0x00000030; // type:object size:0x8 scope:global
@@ -61,4 +61,4 @@ l_func$3923 = .data:0x00000094; // type:object size:0x24 scope:local
daObjSmgDoor_METHODS = .data:0x000000B8; // type:object size:0x20 scope:global
g_profile_Obj_SmgDoor = .data:0x000000D8; // type:object size:0x30 scope:global
__vt__14daObjSmgDoor_c = .data:0x00000108; // type:object size:0x28 scope:global
lbl_622_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
init$1847 = .bss:0x00000000; // type:object size:0x1 data:byte
@@ -44,9 +44,10 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4055 = .rodata:0x00000028; // type:object size:0x4 scope:local
@4056 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000030; // type:object size:0x9F scope:local data:string_table
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
lbl_622_data_10 = .data:0x00000010; // type:object size:0x10
_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8
_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
l_bmd = .data:0x00000028; // type:object size:0x8 scope:global
l_dzb = .data:0x00000030; // type:object size:0x8 scope:global
@@ -60,4 +61,4 @@ l_func$3923 = .data:0x00000094; // type:object size:0x24 scope:local
daObjSmgDoor_METHODS = .data:0x000000B8; // type:object size:0x20 scope:global
g_profile_Obj_SmgDoor = .data:0x000000D8; // type:object size:0x30 scope:global
__vt__14daObjSmgDoor_c = .data:0x00000108; // type:object size:0x28 scope:global
lbl_622_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
init$1847 = .bss:0x00000000; // type:object size:0x1 data:byte
@@ -44,9 +44,10 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4055 = .rodata:0x00000028; // type:object size:0x4 scope:local
@4056 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000030; // type:object size:0x9F scope:local data:string_table
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
lbl_622_data_10 = .data:0x00000010; // type:object size:0x10
_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8
_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
l_bmd = .data:0x00000028; // type:object size:0x8 scope:global
l_dzb = .data:0x00000030; // type:object size:0x8 scope:global
@@ -60,4 +61,4 @@ l_func$3923 = .data:0x00000094; // type:object size:0x24 scope:local
daObjSmgDoor_METHODS = .data:0x000000B8; // type:object size:0x20 scope:global
g_profile_Obj_SmgDoor = .data:0x000000D8; // type:object size:0x30 scope:global
__vt__14daObjSmgDoor_c = .data:0x00000108; // type:object size:0x28 scope:global
lbl_622_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
init$1847 = .bss:0x00000000; // type:object size:0x1 data:byte
+1 -1
View File
@@ -2148,7 +2148,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_shield"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_sm_door"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_smallkey"),
ActorRel(NonMatching, "d_a_obj_smgdoor"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_smgdoor"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_smoke"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_smtile"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_smw_stone"),
+46 -16
View File
@@ -1,28 +1,36 @@
#ifndef D_A_OBJ_SMGDOOR_H
#define D_A_OBJ_SMGDOOR_H
#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
enum daObjSmgDoor_Action {
ACT_WAIT = 0,
ACT_OPEN = 1,
ACT_SETGOAL = 2,
ACT_SETPOS = 3,
ACT_SCENE_CHG = 4,
ACT_COLOR_CHG = 5
};
/**
* @ingroup actors-objects
* @class daObjSmgDoor_c
* @brief Sacred Meadow Grove Door
*
* @details
* @details The entrance / exit door to Temple of Time
*
*/
class daObjSmgDoor_c : public fopAc_ac_c {
class daObjSmgDoor_c : public dBgS_MoveBgActor {
public:
typedef void (daObjSmgDoor_c::*actionFunc)();
/* 80CDBB5C */ void initBaseMtx();
/* 80CDBBEC */ void setBaseMtx();
/* 80CDBD38 */ void Create();
/* 80CDBE1C */ void CreateHeap();
/* 80CDBED4 */ void create1st();
/* 80CDBFA4 */ void Execute(Mtx**);
/* 80CDBFF0 */ void getDemoAction();
/* 80CDC038 */ void demoProc();
/* 80CDC248 */ void openInit();
/* 80CDC378 */ void openProc();
/* 80CDBED4 */ int create1st();
/* 80CDBFF0 */ int getDemoAction();
/* 80CDC038 */ int demoProc();
/* 80CDC248 */ int openInit();
/* 80CDC378 */ int openProc();
/* 80CDC4AC */ void setGoal();
/* 80CDC548 */ void setPos();
/* 80CDC610 */ void sceneChange();
@@ -30,16 +38,38 @@ public:
/* 80CDC700 */ void actionWaitEvent();
/* 80CDC790 */ void actionEvent();
/* 80CDC7F4 */ void actionDead();
/* 80CDC7F8 */ void checkArea();
/* 80CDC974 */ void checkOpen();
/* 80CDCA00 */ void Draw();
/* 80CDCAC4 */ void Delete();
/* 80CDC7F8 */ int checkArea();
/* 80CDC974 */ int checkOpen();
void setAction(u8 i_action) { mAction = i_action; }
u8 getEvId() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 20, 8); }
u8 getType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getNextSceneID() { return fopAcM_GetParamBit(this, 12, 8); }
/* 80CDBD38 */ virtual int Create();
/* 80CDBE1C */ virtual int CreateHeap();
/* 80CDBFA4 */ virtual int Execute(Mtx**);
/* 80CDCA00 */ virtual int Draw();
/* 80CDCAC4 */ virtual int Delete();
private:
/* 0x568 */ u8 field_0x568[0x5f4 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel[2];
/* 0x5B0 */ s16 field_0x5b0;
/* 0x5B2 */ s16 field_0x5b2;
/* 0x5B4 */ int mStaffId;
/* 0x5B8 */ Mtx field_0x5b8;
/* 0x5E8 */ u8 mType;
/* 0x5E9 */ u8 field_0x5e9;
/* 0x5EA */ u8 mAction;
/* 0x5EB */ u8 mToolId;
/* 0x5EC */ s16 mEvId;
/* 0x5EE */ s16 field_0x5ee;
/* 0x5F0 */ s16 field_0x5f0;
/* 0x5F2 */ u16 field_0x5f2;
};
STATIC_ASSERT(sizeof(daObjSmgDoor_c) == 0x5f4);
#endif /* D_A_OBJ_SMGDOOR_H */
File diff suppressed because it is too large Load Diff