d_a_dbdoor00 OK (#1973)

* initial work on d_a_door_dbdoor00

* dbdoor mostly OK

* finish all functions and header

* remove externs

* remove unused asm
This commit is contained in:
Trueffel
2023-11-02 18:42:44 +01:00
committed by GitHub
parent e1b1ac6a0c
commit fadcd7bcdf
37 changed files with 453 additions and 2012 deletions
+2
View File
@@ -792,6 +792,8 @@ public:
void i_changeDemoPos0(const cXyz* i_posP) { mDemo.setPos0(i_posP); }
void changeDemoMoveAngle(s16 i_angle) { mDemo.setMoveAngle(i_angle); }
inline static u32 i_getLastSceneMode();
inline static u32 getLastSceneMode();
inline static bool checkWoodSwordEquip();
+4
View File
@@ -2908,6 +2908,10 @@ inline dKy_tevstr_c* dComIfGp_roomControl_getTevStr(int i_roomNo) {
return g_dComIfG_gameInfo.play.getRoomControl()->getTevStr(i_roomNo);
}
inline BOOL dComIfGp_roomControl_checkRoomDisp(int i_roomNo) {
return g_dComIfG_gameInfo.play.getRoomControl()->checkRoomDisp(i_roomNo);
}
inline BOOL dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.getRoomControl()->checkStatusFlag(i_roomNo, flag);
}
+16 -16
View File
@@ -7,24 +7,24 @@ class fopAc_ac_c;
class door_param2_c {
public:
/* 8003A188 */ static u8 getKind(fopAc_ac_c* i_actor);
/* 8003A194 */ static u8 getDoorModel(fopAc_ac_c* i_actor);
/* 8003A1A0 */ static u8 getFrontOption(fopAc_ac_c* i_actor);
/* 8003A1AC */ static u8 getBackOption(fopAc_ac_c* i_actor);
/* 8003A1B8 */ static u8 getFRoomNo(fopAc_ac_c* i_actor);
/* 8003A1C4 */ static u8 getBRoomNo(fopAc_ac_c* i_actor);
/* 8003A1D0 */ static u8 getSwbit(fopAc_ac_c* i_actor);
/* 8003A1DC */ static u8 getSwbit2(fopAc_ac_c* i_actor);
/* 8003A1E8 */ static u8 getSwbit3(fopAc_ac_c* i_actor);
/* 8003A1F4 */ static u8 isMsgDoor(fopAc_ac_c* i_actor);
/* 8003A200 */ static u8 getEventNo(fopAc_ac_c* i_actor);
/* 8003A20C */ static u8 getEventNo2(fopAc_ac_c* i_actor);
/* 8003A188 */ static u32 getKind(fopAc_ac_c* i_actor);
/* 8003A194 */ static u32 getDoorModel(fopAc_ac_c* i_actor);
/* 8003A1A0 */ static u32 getFrontOption(fopAc_ac_c* i_actor);
/* 8003A1AC */ static u32 getBackOption(fopAc_ac_c* i_actor);
/* 8003A1B8 */ static u32 getFRoomNo(fopAc_ac_c* i_actor);
/* 8003A1C4 */ static u32 getBRoomNo(fopAc_ac_c* i_actor);
/* 8003A1D0 */ static u32 getSwbit(fopAc_ac_c* i_actor);
/* 8003A1DC */ static u32 getSwbit2(fopAc_ac_c* i_actor);
/* 8003A1E8 */ static u32 getSwbit3(fopAc_ac_c* i_actor);
/* 8003A1F4 */ static u32 isMsgDoor(fopAc_ac_c* i_actor);
/* 8003A200 */ static u32 getEventNo(fopAc_ac_c* i_actor);
/* 8003A20C */ static u32 getEventNo2(fopAc_ac_c* i_actor);
/* 8003A218 */ static u16 getMsgNo(fopAc_ac_c* i_actor);
/* 8003A224 */ static u8 getExitNo(fopAc_ac_c* i_actor);
/* 8003A230 */ static u8 getFLightInf(fopAc_ac_c* i_actor);
/* 8003A23C */ static u8 getBLightInf(fopAc_ac_c* i_actor);
/* 8003A248 */ static u8 getMFLightInf(fopAc_ac_c* i_actor);
/* 8003A254 */ static u8 getMBLightInf(fopAc_ac_c* i_actor);
/* 8003A230 */ static u32 getFLightInf(fopAc_ac_c* i_actor);
/* 8003A23C */ static u32 getBLightInf(fopAc_ac_c* i_actor);
/* 8003A248 */ static u32 getMFLightInf(fopAc_ac_c* i_actor);
/* 8003A254 */ static u32 getMBLightInf(fopAc_ac_c* i_actor);
};
#endif /* D_D_DOOR_PARAM2_H */
+1 -1
View File
@@ -789,7 +789,7 @@ public:
/* 800243B0 */ static JKRExpHeap* getMemoryBlock(int);
/* 800243E8 */ static void setStayNo(int);
/* 80024424 */ static void setNextStayNo(int);
/* 800244E8 */ bool checkRoomDisp(int) const;
/* 800244E8 */ BOOL checkRoomDisp(int) const;
/* 8002451C */ int loadRoom(int, u8*, bool);
/* 8002471C */ void zoneCountCheck(int) const;
/* 80024844 */ static JKRExpHeap* createMemoryBlock(int, u32);
@@ -1,6 +1,60 @@
#ifndef D_A_DOOR_DBDOOR00_H
#define D_A_DOOR_DBDOOR00_H
#include "dolphin/types.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daDbDoor00_c : public fopAc_ac_c {
public:
/* 8045D470 */ char* getAlwaysArcName();
/* 8045D480 */ char* getDzb();
/* 8045D490 */ char* getDummyBmdName();
/* 8045D4A0 */ char* getBmdArcName();
/* 8045D4B0 */ char* getBmdName();
/* 8045D504 */ J3DModelData* getDoorModelData();
/* 8045D594 */ int CreateHeap();
/* 8045D744 */ void calcMtx();
/* 8045D8F4 */ int CreateInit();
/* 8045D9A8 */ int create();
/* 8045DA68 */ int getDemoAction();
/* 8045DAB0 */ void demoProc();
/* 8045DE44 */ int checkArea();
/* 8045DF70 */ int checkUnlock();
/* 8045DF78 */ int actionWait();
/* 8045DF9C */ int actionLockWait();
/* 8045E000 */ int actionLockOff();
/* 8045E094 */ int actionLockDemo();
/* 8045E108 */ int actionCloseWait();
/* 8045E1C8 */ int actionOpen();
/* 8045E1EC */ int execute();
/* 8045E2DC */ int checkDraw();
/* 8045E31C */ int draw();
/* 8045E428 */ int Delete();
void setAction(u8 i_action) { mAction = i_action; }
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ request_of_phase_process_class mPhaseReq2;
/* 0x578 */ J3DModel* mpModel;
/* 0x57C */ J3DModel* mpModel2;
/* 0x580 */ dBgW* mpBgW;
/* 0x584 */ u8 field_0x584;
/* 0x585 */ u8 field_0x585;
/* 0x586 */ u8 mAction;
/* 0x587 */ u8 field_0x587[0x58A - 0x587];
/* 0x58A */ s16 field_0x58a;
/* 0x58C */ s16 field_0x58c;
/* 0x58E */ u8 field_0x58E[0x590 - 0x58E];
/* 0x590 */ s16 field_0x590;
/* 0x594 */ s32 field_0x594;
/* 0x598 */ s32 field_0x598;
/* 0x59C */ cXyz field_0x59c;
/* 0x5A8 */ cXyz field_0x5a8;
/* 0x5B4 */ cXyz field_0x5b4;
/* 0x5C0 */ s8 field_0x5c0;
/* 0x5C1 */ s8 field_0x5c1;
/* 0x5C2 */ s16 field_0x5c2;
};
#endif /* D_A_DOOR_DBDOOR00_H */