This commit is contained in:
elijah-thomas774
2025-11-26 01:09:04 -05:00
parent dc82ce38db
commit d8ede28c57
12 changed files with 737 additions and 228 deletions
+13 -13
View File
@@ -7,7 +7,7 @@ getDoorResName__26@unnamed@d_a_obj_door_cpp@FUlRPCc = .text:0x000001F0; // type:
getDoorMdlName__26@unnamed@d_a_obj_door_cpp@FUlRPCc = .text:0x00000240; // type:function size:0x4C
getDoorUnknown__26@unnamed@d_a_obj_door_cpp@FUcRUc = .text:0x00000290; // type:function size:0x58
isDoorSpecial__26@unnamed@d_a_obj_door_cpp@Fl = .text:0x000002F0; // type:function size:0x4C
getDoorTalk = .text:0x00000340; // type:function size:0xC
getDoorInteractionName__26@unnamed@d_a_obj_door_cpp@Fv = .text:0x00000340; // type:function size:0xC
isInOuterSandship__26@unnamed@d_a_obj_door_cpp@Fv = .text:0x00000350; // type:function size:0x7C
isInEvent__26@unnamed@d_a_obj_door_cpp@FPCc = .text:0x000003D0; // type:function size:0x40
isInTimeDoorEvent__26@unnamed@d_a_obj_door_cpp@Fv = .text:0x00000410; // type:function size:0x7C
@@ -30,20 +30,20 @@ startPushEventWithCallback__10dAcOdoor_cFPv = .text:0x00003570; // type:function
startPullEvent__10dAcOdoor_cFPv = .text:0x000035F0; // type:function size:0x24
startPushEvent__10dAcOdoor_cFPv = .text:0x00003620; // type:function size:0x24
startOpenEvent__10dAcOdoor_cFPv = .text:0x00003650; // type:function size:0xB0
doorPullEventCallback__10dAcOdoor_cFP10dAcOdoor_c = .text:0x00003700; // type:function size:0x4
doorPushEventCallback__10dAcOdoor_cFP10dAcOdoor_c = .text:0x00003710; // type:function size:0x4
doorPullEventCallback__10dAcOdoor_cFPv = .text:0x00003700; // type:function size:0x4
doorPushEventCallback__10dAcOdoor_cFPv = .text:0x00003710; // type:function size:0x4
startDoorPullLockedEvent__10dAcOdoor_cFPv = .text:0x00003720; // type:function size:0x70
startDoorPushLockedEvent__10dAcOdoor_cFPv = .text:0x00003790; // type:function size:0x70
startLockedEvent__10dAcOdoor_cFPv = .text:0x00003800; // type:function size:0x5C
pullLockedEventCallback__10dAcOdoor_cFP10dAcOdoor_c = .text:0x00003860; // type:function size:0x68
pushLockedEventCallback__10dAcOdoor_cFP10dAcOdoor_c = .text:0x000038D0; // type:function size:0x68
pullLockedEventCallback__10dAcOdoor_cFPv = .text:0x00003860; // type:function size:0x68
pushLockedEventCallback__10dAcOdoor_cFPv = .text:0x000038D0; // type:function size:0x68
startUnlockEvent__10dAcOdoor_cFv = .text:0x00003940; // type:function size:0x6C
unlockEventCallback__10dAcOdoor_cFP10dAcOdoor_c = .text:0x000039B0; // type:function size:0x1EC
openCallbackCommon__10dAcOdoor_cFP10dAcOdoor_c = .text:0x00003BA0; // type:function size:0x148
unlockEventCallback__10dAcOdoor_cFPv = .text:0x000039B0; // type:function size:0x1EC
openCallbackCommon__10dAcOdoor_cFPv = .text:0x00003BA0; // type:function size:0x148
registerInEvent__10dAcOdoor_cFv = .text:0x00003CF0; // type:function size:0x3C
unkVirtFunc_0x6C__10dAcOdoor_cFv = .text:0x00003D30; // type:function size:0x4
doInteraction__10dAcOdoor_cFl = .text:0x00003D40; // type:function size:0x1EC
getKeyParameter__10dAcOdoor_cFv = .text:0x00003F30; // type:function size:0xC
getLockParameter__10dAcOdoor_cFv = .text:0x00003F30; // type:function size:0xC
getSubtype2__10dAcOdoor_cFv = .text:0x00003F40; // type:function size:0xC
getSceneflag__10dAcOdoor_cFv = .text:0x00003F50; // type:function size:0xC
fn_572_3F60__10dAcOdoor_cFv = .text:0x00003F60; // type:function size:0xC
@@ -60,7 +60,7 @@ getInteractionLockMinZ__10dAcOdoor_cFv = .text:0x00004020; // type:function size
getInteractionLockMaxZ__10dAcOdoor_cFv = .text:0x00004030; // type:function size:0xC
setRoomId__10dAcOdoor_cFSc = .text:0x00004040; // type:function size:0x8
fn_572_4050__10dAcOdoor_cFUl = .text:0x00004050; // type:function size:0x8
fn_572_4060__10dAcOdoor_cFSc = .text:0x00004060; // type:function size:0x8
fn_572_4060__10dAcOdoor_cFUc = .text:0x00004060; // type:function size:0x8
fn_572_4070__10dAcOdoor_cFSc = .text:0x00004070; // type:function size:0x8
fn_572_4080__10dAcOdoor_cFSc = .text:0x00004080; // type:function size:0x8
fn_572_4090__10dAcOdoor_cFv = .text:0x00004090; // type:function size:0xC
@@ -78,16 +78,16 @@ fn_572_4140__10dAcOdoor_cCFRb = .text:0x00004140; // type:function size:0xC
fn_572_4150__10dAcOdoor_cCFRb = .text:0x00004150; // type:function size:0x90
triggerExit__10dAcOdoor_cFv = .text:0x000041E0; // type:function size:0x7C
isLeavingSealedTempleSideDoorPostSkyKeep__10dAcOdoor_cCFv = .text:0x00004260; // type:function size:0xAC
transitionPushRoomFlags__10dAcOdoor_cCFv = .text:0x00004310; // type:function size:0x28
fn_572_4340__10dAcOdoor_cCFv = .text:0x00004340; // type:function size:0x28
transitionPushRoomFlags__10dAcOdoor_cCFv = .text:0x00004310; // type:function size:0x2C
transitionPullRoomFlags__10dAcOdoor_cCFv = .text:0x00004340; // type:function size:0x2C
fn_572_4370__10dAcOdoor_cCFRC7mVec3_c = .text:0x00004370; // type:function size:0x84
isPlayerInFrontOfDoor__10dAcOdoor_cCFv = .text:0x00004400; // type:function size:0x10
hasFlowEntryPoint__10dAcOdoor_cCFv = .text:0x00004410; // type:function size:0x18
hasFlowEntryPoint__10dAcOdoor_cFv = .text:0x00004410; // type:function size:0x18
fn_572_4430__10dAcOdoor_cCFv = .text:0x00004430; // type:function size:0xC
fn_572_4440__10dAcOdoor_cFv = .text:0x00004440; // type:function size:0xE4
isPlayerInteractable__10dAcOdoor_cCFv = .text:0x00004530; // type:function size:0xD0
isPlayerInteractableLocked__10dAcOdoor_cCFv = .text:0x00004600; // type:function size:0xE4
playInteractionLocked__10dAcOdoor_cCFv = .text:0x000046F0; // type:function size:0x68
playInteractionLocked__10dAcOdoor_cFv = .text:0x000046F0; // type:function size:0x68
__dt__10dAcOdoor_cFv = .text:0x00004760; // type:function size:0xE8
__sinit_\d_a_obj_door_cpp = .text:0x00004850; // type:function size:0x144 scope:local
_ctors = .ctors:0x00000000; // type:label scope:global
@@ -21,11 +21,11 @@ getStateID__80sStateMgr_c<11dAcOFence_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13
fn_550_D30 = .text:0x00000D30; // type:function size:0x304
fn_550_1040 = .text:0x00001040; // type:function size:0x13C
fn_550_1180 = .text:0x00001180; // type:function size:0x28
fn_550_11B0 = .text:0x000011B0; // type:function size:0xA0
fn_550_1250 = .text:0x00001250; // type:function size:0x50
fn_550_11B0__11dAcOFence_cCFv = .text:0x000011B0; // type:function size:0xA0
fn_550_1250__11dAcOFence_cFv = .text:0x00001250; // type:function size:0x50
changeState__80sStateMgr_c<11dAcOFence_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000012A0; // type:function size:0x10
fn_550_12B0 = .text:0x000012B0; // type:function size:0x10
fn_550_12C0 = .text:0x000012C0; // type:function size:0x10
fn_550_12B0__11dAcOFence_cFv = .text:0x000012B0; // type:function size:0x10
fn_550_12C0__11dAcOFence_cFv = .text:0x000012C0; // type:function size:0x10
initializeState_WaitOpen__11dAcOFence_cFv = .text:0x000012D0; // type:function size:0x94
executeState_WaitOpen__11dAcOFence_cFv = .text:0x00001370; // type:function size:0x168
finalizeState_WaitOpen__11dAcOFence_cFv = .text:0x000014E0; // type:function size:0x4
@@ -142,4 +142,4 @@ lbl_550_bss_118 = .bss:0x00000118; // type:object size:0x40 data:4byte
lbl_550_bss_158 = .bss:0x00000158; // type:object size:0x40 data:4byte
lbl_550_bss_198 = .bss:0x00000198; // type:object size:0x40 data:4byte
lbl_550_bss_1D8 = .bss:0x000001D8; // type:object size:0x40 data:4byte
lbl_550_bss_218 = .bss:0x00000218; // type:object size:0x30
StateID_RequestConfineEvent__11dAcOFence_c = .bss:0x00000218; // type:object size:0x30
@@ -80,7 +80,7 @@ lbl_374_data_190 = .data:0x00000190; // type:object size:0x198 scope:local
__vt__29sFStateID_c<14dAcOwindmill_c> = .data:0x00000328; // type:object size:0x34
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_374_bss_8 = .bss:0x00000008; // type:object size:0x10 scope:local data:4byte
AcOwindmill__STATE_WAIT = .bss:0x00000018; // type:object size:0x40 data:4byte
StateID_Wait__14dAcOwindmill_c = .bss:0x00000018; // type:object size:0x40 data:4byte
AcOwindmill__STATE_CAMERA_MOVE = .bss:0x00000058; // type:object size:0x40 data:4byte
AcOwindmill__STATE_MOVE = .bss:0x00000098; // type:object size:0x80 data:4byte
AcOwindmill__STATE_COLLECT_STICK = .bss:0x00000118; // type:object size:0x30 data:4byte
+9 -9
View File
@@ -3525,7 +3525,7 @@ getCurrentEventCommand__17ActorEventRelatedCFv = .text:0x8009CF10; // type:funct
ActorEventRelated__getSomeEventRelatedNumber = .text:0x8009CFA0; // type:function size:0x80
isAdvance__17ActorEventRelatedFv = .text:0x8009D020; // type:function size:0x34
advanceNext__17ActorEventRelatedFv = .text:0x8009D060; // type:function size:0x50
ActorEventRelated__getSingleIntData2 = .text:0x8009D0B0; // type:function size:0x8C
getSingleShortData__17ActorEventRelatedFPiUlUl = .text:0x8009D0B0; // type:function size:0x8C
getSingleIntData__17ActorEventRelatedFPiUlUl = .text:0x8009D140; // type:function size:0x8C
getSingleFloatData__17ActorEventRelatedFPfUlUl = .text:0x8009D1D0; // type:function size:0x8C
getSingleVecData__17ActorEventRelatedFP7mVec3_cUlUl = .text:0x8009D260; // type:function size:0x9C
@@ -3568,7 +3568,7 @@ fn_8009F850 = .text:0x8009F850; // type:function size:0x134
fn_8009F990__12EventManagerFv = .text:0x8009F990; // type:function size:0x80
fn_8009FA10 = .text:0x8009FA10; // type:function size:0x8
attachSkipEvent = .text:0x8009FA20; // type:function size:0x1A0
setAsEvent = .text:0x8009FBC0; // type:function size:0x120
setEvent__12EventManagerFP9dAcBase_cP5EventP9dAcBase_c = .text:0x8009FBC0; // type:function size:0x120
changeOwnEvent__12EventManagerFP9dAcBase_cP9dAcBase_cP5Eventi = .text:0x8009FCE0; // type:function size:0x11C
fn_8009FE00 = .text:0x8009FE00; // type:function size:0x124
isInEvent__12EventManagerFP9dAcBase_cPCc = .text:0x8009FF30; // type:function size:0x10C
@@ -9879,8 +9879,8 @@ fn_80178E90 = .text:0x80178E90; // type:function size:0x40
fn_80178ED0 = .text:0x80178ED0; // type:function size:0x114
__dt__13dAcBirdBase_cFv = .text:0x80178FF0; // type:function size:0xDC
__dt__Q213dAcBirdBase_c10callback_cFv = .text:0x801790D0; // type:function size:0x58
__ct__16dAcObjDoor_cFv = .text:0x80179130; // type:function size:0x58
fn_80179190 = .text:0x80179190; // type:function size:0x74
__ct__12dAcObjDoor_cFv = .text:0x80179130; // type:function size:0x58
__dt__12dAcObjDoor_cFv = .text:0x80179190; // type:function size:0x74
ActorDoorBase__hasVisitedRoomIdMaybe = .text:0x80179210; // type:function size:0x14
fn_80179230 = .text:0x80179230; // type:function size:0x4
fn_80179240 = .text:0x80179240; // type:function size:0x4
@@ -10420,13 +10420,13 @@ fn_80194A90 = .text:0x80194A90; // type:function size:0x58
checkStatueFlag__10dAcOSave_cCFv = .text:0x80194AF0; // type:function size:0x28
fn_80194B20 = .text:0x80194B20; // type:function size:0x8
fn_80194B30 = .text:0x80194B30; // type:function size:0x44
fn_80194B80 = .text:0x80194B80; // type:function size:0x8
getConnectedDoorRef__10dAcOdoor_cFv = .text:0x80194B80; // type:function size:0x8
fn_80194B90 = .text:0x80194B90; // type:function size:0x8
fn_80194BA0 = .text:0x80194BA0; // type:function size:0x30
isConnectedToOtherDoor__10dAcOdoor_cCFv = .text:0x80194BA0; // type:function size:0x30
fn_80194BD0 = .text:0x80194BD0; // type:function size:0x18
fn_80194BF0 = .text:0x80194BF0; // type:function size:0x24
fn_80194C20 = .text:0x80194C20; // type:function size:0x48
fn_80194C70 = .text:0x80194C70; // type:function size:0x70
stepTowards__10dAcOdoor_cCFR7mVec3_c = .text:0x80194C70; // type:function size:0x70
getImprisonedPtr = .text:0x80194CE0; // type:function size:0x8
fn_80194CF0 = .text:0x80194CF0; // type:function size:0x128
dAcOClef__getTadtoneGroupIndex = .text:0x80194E20; // type:function size:0x38
@@ -10960,9 +10960,9 @@ waitForRooms__8dStage_cFv = .text:0x801B3930; // type:function size:0x30
setRoom__8dStage_cFiP7dRoom_c = .text:0x801B3960; // type:function size:0x10
getRoom__8dStage_cFl = .text:0x801B3970; // type:function size:0x10
handleRoomChange__8dStage_cFi = .text:0x801B3980; // type:function size:0x114
RoomManager__updateRoomFlags = .text:0x801B3AA0; // type:function size:0x134
updateRoomFlags__8dStage_cFii = .text:0x801B3AA0; // type:function size:0x134
RoomManager__checkOtherRoomLoaded = .text:0x801B3BE0; // type:function size:0x78
fn_801B3C60 = .text:0x801B3C60; // type:function size:0x9C
fn_801B3C60__8dStage_cFi = .text:0x801B3C60; // type:function size:0x9C
fadeIn__8dStage_cFlUs = .text:0x801B3D00; // type:function size:0xA8
fadeOut__8dStage_cFlUs = .text:0x801B3DB0; // type:function size:0xA8
forceFadeOut__8dStage_cFv = .text:0x801B3E60; // type:function size:0x40
+30 -19
View File
@@ -35,8 +35,20 @@ public:
SUBTYPE_8, ///< DoorH
};
enum LockType_c {
LOCK_NONE = 0, ///< Door does not have a lock
LOCK_KEY = 1, ///< Door usually is locked
};
public:
dAcOdoor_c() : mEventRelated(*this, nullptr), mEmmiterL(this), mEmmiterR(this) {}
dAcOdoor_c()
: mEventRelated(*this, nullptr),
mEmmiterL(this),
mEmmiterR(this),
mFlags(0),
field_0x5B0(0),
field_0x5B9(false),
field_0x5BA(false) {}
virtual ~dAcOdoor_c() {}
virtual int doDelete() override;
@@ -79,10 +91,10 @@ public:
void startOpenEvent(void *zevData);
/** */
static void doorPullEventCallback(dAcOdoor_c *);
static void doorPullEventCallback(void *);
/** */
static void doorPushEventCallback(dAcOdoor_c *);
static void doorPushEventCallback(void *);
/** */
void startDoorPullLockedEvent(void *zevData);
@@ -94,22 +106,22 @@ public:
void startLockedEvent(void *zevData);
/** */
static void pullLockedEventCallback(dAcOdoor_c *);
static void pullLockedEventCallback(void *);
/** */
static void pushLockedEventCallback(dAcOdoor_c *);
static void pushLockedEventCallback(void *);
/** */
void startUnlockEvent();
/** */
static void unlockEventCallback(dAcOdoor_c *);
static void unlockEventCallback(void *);
/** */
static void openCallbackCommon(dAcOdoor_c *);
static void openCallbackCommon(void *);
/** */
s32 getKeyParameter(); // getFromParams(6, 0x1)
s32 getLockParameter(); // getFromParams(6, 0x1)
/** */
s32 getSubtype2(); // (mRotation.x >> 0) & 0xFF
@@ -126,8 +138,8 @@ public:
/** fn_572_3F80 */
u8 fn_572_3F80(); // (mRotation.z >> 10) & 0x3F
/** fn_572_3F90 */
u8 fn_572_3F90(); // (getParams2Lower() >> 0) & 0xFF
/** (getParams2Lower() >> 0) & 0xFF */
u16 fn_572_3F90();
/** fn_572_3FC0 */
static f32 getInteractionMinX(); // -80.f
@@ -160,7 +172,7 @@ public:
void fn_572_4050(u32 flags); // field_0x5A8 = flags
/** fn_572_4060 */
void fn_572_4060(s8); // field_0x5B3 = in
void fn_572_4060(u8); // field_0x5B3 = in
/** fn_572_4070 */
void fn_572_4070(s8); // field_0x5B4 = in
@@ -217,10 +229,7 @@ public:
void transitionPushRoomFlags() const;
/** fn_572_4430 */
bool transitionPullRoomFlags() const;
/** fn_572_4340 */
void fn_572_4340() const; // nop
void transitionPullRoomFlags() const;
/** fn_572_4370 */
bool fn_572_4370(const mVec3_c &point) const; // Is in front of door
@@ -229,7 +238,7 @@ public:
bool isPlayerInFrontOfDoor() const;
/** */
bool hasFlowEntryPoint() const; // getFromParams(16, 0xFFFF)
bool hasFlowEntryPoint();
/** fn_572_4430 */
bool fn_572_4430() const; // field_0x5A8 & 2
@@ -244,7 +253,7 @@ public:
bool isPlayerInteractableLocked() const;
/** */
void playInteractionLocked() const;
void playInteractionLocked();
public:
s32 getType() {
@@ -277,7 +286,7 @@ private:
/* 0x560 */ dAcRef_c<dAcOLock_c> mLock;
/* 0x56C */ dAcRef_c<dAcObjBase_c> mObjRef;
/* 0x578 */ mMtx_c mMtx;
/* 0x5A8 */ u8 _0x5A8[0x5AC - 0x5A8];
/* 0x5A8 */ u32 mFlags; ///<
/* 0x5AC */ u32 mRumbleIdx; ///<
/* 0x5B0 */ u8 field_0x5B0; ///< some timer to trigger exit
/* 0x5B1 */ u8 field_0x5B1; ///<
@@ -287,7 +296,9 @@ private:
/* 0x5B5 */ s8 field_0x5B5;
/* 0x5B6 */ s8 field_0x5B6;
/* 0x5B7 */ bool field_0x5B7;
/* 0x5B8 */ u8 _0x5B8[0x5BB - 0x5B8];
/* 0x5B8 */ bool field_0x5B8;
/* 0x5B9 */ bool field_0x5B9;
/* 0x5BA */ bool field_0x5BA;
/* 0x5BB */ bool field_0x5BB;
};
+1 -1
View File
@@ -11,7 +11,7 @@
class dAcObjDoor_c : public dAcObjBase_c {
public:
dAcObjDoor_c();
~dAcObjDoor_c() {}
~dAcObjDoor_c();
virtual bool canOpen() = 0;
virtual bool hasVisitedRoom();
+2
View File
@@ -11,6 +11,8 @@ public:
virtual ~dAcOFence_c();
bool fn_550_11B0() const;
void fn_550_1250();
void fn_550_12B0();
void fn_550_12C0();
void changeToRequestConfineEvent() {
+3 -2
View File
@@ -12,8 +12,8 @@ public:
STATE_FUNC_DECLARE(dAcOLock_c, Wait);
bool checkField_0x2090() const {
return field_0x2090;
bool checkField_0x2091() const {
return field_0x2091;
}
void setField_0x2090() {
field_0x2090 = true;
@@ -23,6 +23,7 @@ private:
/* 0x???? */ STATE_MGR_DECLARE(dAcOLock_c);
/* 0x???? */ u8 _0x36C[0x2090 - 0x36C];
/* 0x2090 */ bool field_0x2090;
/* 0x2091 */ bool field_0x2091;
};
#endif
+1
View File
@@ -119,6 +119,7 @@ public:
void fn_801B3C60(int roomId);
void drawMap(mMtx_c *mtx, int);
dRoom_c *getRoom(s32 idx);
void updateRoomFlags(int, int);
void setRoom(int roomid, dRoom_c *room);
void handleRoomChange(int roomid);
+1 -2
View File
@@ -106,7 +106,6 @@ public:
static dStageMgr_c *GetInstance() {
return sInstance;
}
EGG::CpuTexture *getField_0x8898() {
return field_0x8898;
}
@@ -225,7 +224,7 @@ private:
// ...
u8 ___[438];
/* 0x8898 */ EGG::CpuTexture *field_0x8898;
u8 _0x889C[4];
/* 0x88A0 */ u32 field_0x88A0;
+1
View File
@@ -11,6 +11,7 @@ class dAcObjBase_c;
class EventManager {
public:
static bool setEvent(dAcBase_c *actor, Event *, dAcBase_c *);
static bool isInEvent(dAcBase_c *actor, const char *eventName);
static bool finishEvent(dAcBase_c *actor, const char *eventName);
static void changeOwnEvent(dAcBase_c *actor1, dAcBase_c *actor2, Event *event, UNKWORD);
File diff suppressed because it is too large Load Diff