cleanups and docs

This commit is contained in:
elijah-thomas774
2025-11-26 17:40:01 -05:00
parent d8ede28c57
commit 8c660e86e8
10 changed files with 431 additions and 358 deletions
+29 -29
View File
@@ -5,10 +5,10 @@ dAcOdoor_c_classInit__Fv = .text:0x00000070; // type:function size:0x110
getDoorMapping__26@unnamed@d_a_obj_door_cpp@FUlRPCQ226@unnamed@d_a_obj_door_cpp@15DoorFileMapping = .text:0x00000180; // type:function size:0x68
getDoorResName__26@unnamed@d_a_obj_door_cpp@FUlRPCc = .text:0x000001F0; // type:function size:0x4C
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
getDoorCallbackTypeMapped__26@unnamed@d_a_obj_door_cpp@FUcRUc = .text:0x00000290; // type:function size:0x58
isDoubleDoorType__26@unnamed@d_a_obj_door_cpp@Fl = .text:0x000002F0; // type:function size:0x4C
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
isInSandshipBoss__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
checkRoom__26@unnamed@d_a_obj_door_cpp@FScRb = .text:0x00000490; // type:function size:0x68
@@ -44,12 +44,12 @@ 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
getLockParameter__10dAcOdoor_cFv = .text:0x00003F30; // type:function size:0xC
getSubtype2__10dAcOdoor_cFv = .text:0x00003F40; // type:function size:0xC
getLockBehavior__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
fn_572_3F70__10dAcOdoor_cFv = .text:0x00003F70; // type:function size:0xC
fn_572_3F80__10dAcOdoor_cFv = .text:0x00003F80; // type:function size:0xC
fn_572_3F90__10dAcOdoor_cFv = .text:0x00003F90; // type:function size:0x24
getDoorCallbackType__10dAcOdoor_cFv = .text:0x00003F60; // type:function size:0xC
getFrontRoomParam__10dAcOdoor_cFv = .text:0x00003F70; // type:function size:0xC
getBackRoomParam__10dAcOdoor_cFv = .text:0x00003F80; // type:function size:0xC
getFailedToOpenFlag__10dAcOdoor_cFv = .text:0x00003F90; // type:function size:0x24
getInteractionMinX__10dAcOdoor_cFv = .text:0x00003FC0; // type:function size:0xC
getInteractionMaxX__10dAcOdoor_cFv = .text:0x00003FD0; // type:function size:0xC
getInteractionMinZ__10dAcOdoor_cFv = .text:0x00003FE0; // type:function size:0xC
@@ -59,32 +59,32 @@ getInteractionLockMaxX__10dAcOdoor_cFv = .text:0x00004010; // type:function size
getInteractionLockMinZ__10dAcOdoor_cFv = .text:0x00004020; // type:function size:0xC
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_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
fn_572_40A0__10dAcOdoor_cFv = .text:0x000040A0; // type:function size:0xC
fn_572_40B0__10dAcOdoor_cFv = .text:0x000040B0; // type:function size:0xC
fn_572_40C0__10dAcOdoor_cFv = .text:0x000040C0; // type:function size:0xC
fn_572_40D0__10dAcOdoor_cFv = .text:0x000040D0; // type:function size:0xC
fn_572_40E0__10dAcOdoor_cCFv = .text:0x000040E0; // type:function size:0xC
fn_572_40F0__10dAcOdoor_cFv = .text:0x000040F0; // type:function size:0xC
fn_572_4100__10dAcOdoor_cFv = .text:0x00004100; // type:function size:0xC
fn_572_4110__10dAcOdoor_cFv = .text:0x00004110; // type:function size:0xC
fn_572_4120__10dAcOdoor_cFv = .text:0x00004120; // type:function size:0xC
fn_572_4130__10dAcOdoor_cCFRb = .text:0x00004130; // type:function size:0xC
fn_572_4140__10dAcOdoor_cCFRb = .text:0x00004140; // type:function size:0xC
fn_572_4150__10dAcOdoor_cCFRb = .text:0x00004150; // type:function size:0x90
setFlag__10dAcOdoor_cFUl = .text:0x00004050; // type:function size:0x8
setEventCallbackType__10dAcOdoor_cFUc = .text:0x00004060; // type:function size:0x8
setFrontRoom__10dAcOdoor_cFSc = .text:0x00004070; // type:function size:0x8
setBackRoom__10dAcOdoor_cFSc = .text:0x00004080; // type:function size:0x8
setDoubleDoor__10dAcOdoor_cFv = .text:0x00004090; // type:function size:0xC
setNotDoubleDoor__10dAcOdoor_cFv = .text:0x000040A0; // type:function size:0xC
setSingleDoor__10dAcOdoor_cFv = .text:0x000040B0; // type:function size:0xC
setNotSingleDoor__10dAcOdoor_cFv = .text:0x000040C0; // type:function size:0xC
setInSandshipBoss__10dAcOdoor_cFv = .text:0x000040D0; // type:function size:0xC
isTimeDoorEventActive__10dAcOdoor_cCFv = .text:0x000040E0; // type:function size:0xC
setTimeDoorEventActive__10dAcOdoor_cFv = .text:0x000040F0; // type:function size:0xC
setTimeDoorEventInactive__10dAcOdoor_cFv = .text:0x00004100; // type:function size:0xC
setTimeEffected__10dAcOdoor_cFv = .text:0x00004110; // type:function size:0xC
setTimeStatic__10dAcOdoor_cFv = .text:0x00004120; // type:function size:0xC
checkFrontRoom__10dAcOdoor_cCFRb = .text:0x00004130; // type:function size:0xC
checkBackRoom__10dAcOdoor_cCFRb = .text:0x00004140; // type:function size:0xC
checkRooms__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: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
isPositionInFrontOfDoor__10dAcOdoor_cCFRC7mVec3_c = .text:0x00004370; // type:function size:0x84
checkPullDoor__10dAcOdoor_cCFv = .text:0x00004400; // type:function size:0x10
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
isTimeEffected__10dAcOdoor_cCFv = .text:0x00004430; // type:function size:0xC
setDoorKnobPosition__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_cFv = .text:0x000046F0; // type:function size:0x68
+1 -1
View File
@@ -1138,7 +1138,7 @@ fn_8002ECD0 = .text:0x8002ECD0; // type:function size:0x50
fn_8002ED20 = .text:0x8002ED20; // type:function size:0x88
fn_8002edb0__12dAcObjBase_cFRQ23m3d15mShadowCircle_cRQ23m3d6smdl_cPC7mQuat_cllf = .text:0x8002EDB0; // type:function size:0x8C
drawShadow__12dAcObjBase_cFRQ23m3d15mShadowCircle_cPvRC6mMtx_cPC7mQuat_clllllf = .text:0x8002EE40; // type:function size:0xFC
actorSpawnAtActor2 = .text:0x8002EF40; // type:function size:0x24
create__12dAcObjBase_cFP12dAcObjBase_cQ28fProfile14PROFILE_NAME_eUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUl = .text:0x8002EF40; // type:function size:0x24
fn_8002EF70 = .text:0x8002EF70; // type:function size:0x28
fn_8002EFA0 = .text:0x8002EFA0; // type:function size:0x50
fn_8002eff0__12dAcObjBase_cFRCfRCsP8cCcD_ObjRCfRCf = .text:0x8002EFF0; // type:function size:0x194
+3
View File
@@ -125,6 +125,9 @@ public:
public:
dAcBase_c();
void setSubtype(u8 sub) {
mSubtype = sub;
}
void setPosition(const mVec3_c &r) {
mPosition = r;
}
+148 -134
View File
@@ -24,30 +24,41 @@ class dAcOLock_c;
class dAcOdoor_c : public dAcObjDoor_c {
public:
enum Subtype_e {
SUBTYPE_0, ///< DoorA00
SUBTYPE_1, ///< DoorA01
SUBTYPE_2, ///< DoorC00
SUBTYPE_3, ///< DoorC01
SUBTYPE_4, ///< DoorB00
SUBTYPE_5, ///< DoorE
SUBTYPE_6, ///< DoorA02
SUBTYPE_7, ///< DoorF
SUBTYPE_8, ///< DoorH
DOOR_NORMAL, ///< DoorA00 - Normal Wooden Door
DOOR_METAL, ///< DoorA01 - Metal Door - Academy(bathrooms)
DOOR_DOUBLE, ///< DoorC00 - Normal Double Doors
DOOR_DOUBLE_OUTSIDE, ///< DoorC01 - Outdoor Double Doors - Academy(to outside)
DOOR_TEMPLE_SIDE, ///< DoorB00 - Sealed Temple Side Doors
DOOR_SANDSEA_TIMESHIFT, ///< DoorE - Sandsea Timeshift Door
DOOR_BATREAUX, ///< DoorA02 - Batreaux's Door
DOOR_TEMPLE_MAIN, ///< DoorF - Sealed Temple Main Door
DOOR_SPARRING_HALL, ///< DoorH - Sparring Hall Outer Doors
};
enum LockType_c {
enum LockType_e {
LOCK_NONE = 0, ///< Door does not have a lock
LOCK_KEY = 1, ///< Door usually is locked
};
enum LockBehavior_e {
LOCK_NEVER = 0, ///< Door is always unlocked
LOCK_NOT_SET = 1, ///< Door is locked when mSceneflag is unset
LOCK_NEVER1 = 2, ///< Door is always unlocked (Kukiel's House)
LOCK_TIMESHIFT = 3, ///< Door is locked when mSceneflag is unset (Timeshift)
LOCK_SET = 4, ///< Door is locked when mSceneflag is set
LOCK_DAY = 5, ///< Door is locked during the day
LOCK_NIGHT = 6, ///< Door is locked during the night
LOCK_MAX,
};
public:
dAcOdoor_c()
: mEventRelated(*this, nullptr),
mEmmiterL(this),
mEmmiterR(this),
mFlags(0),
field_0x5B0(0),
field_0x5B9(false),
mExitTimer(0),
mbInSandshipBoss(false),
field_0x5BA(false) {}
virtual ~dAcOdoor_c() {}
@@ -63,207 +74,207 @@ public:
virtual void doInteraction(s32 /* InteractionType */) override;
virtual bool canOpen() override;
/** */
/** Gets whether the player can open the door */
bool isLocked();
/** fn_572_33E0 - I Think this gets the Door open range*/
static f32 fn_572_33E0(); // -80.f
static f32 fn_572_33E0();
/** */
/** Self Explanatory */
void startPullEventWithoutCallback(void *zevData);
/** */
/** Self Explanatory */
void startPullEventWithCallback(void *zevData);
/** */
/** Self Explanatory */
void startPushEventWithoutCallback(void *zevData);
/** */
/** Self Explanatory */
void startPushEventWithCallback(void *zevData);
/** */
/** Self Explanatory */
void startPullEvent(void *zevData);
/** */
/** Self Explanatory */
void startPushEvent(void *zevData);
/** */
/** Self Explanatory */
void startOpenEvent(void *zevData);
/** */
/** Self Explanatory */
static void doorPullEventCallback(void *);
/** */
/** Self Explanatory */
static void doorPushEventCallback(void *);
/** */
/** Self Explanatory */
void startDoorPullLockedEvent(void *zevData);
/** */
/** Self Explanatory */
void startDoorPushLockedEvent(void *zevData);
/** */
/** Self Explanatory */
void startLockedEvent(void *zevData);
/** */
/** Self Explanatory */
static void pullLockedEventCallback(void *);
/** */
/** Self Explanatory */
static void pushLockedEventCallback(void *);
/** */
/** Self Explanatory */
void startUnlockEvent();
/** */
/** Self Explanatory */
static void unlockEventCallback(void *);
/** */
/** Self Explanatory */
static void openCallbackCommon(void *);
/** */
s32 getLockParameter(); // getFromParams(6, 0x1)
/** Returns if the door is physically locked with the dAcOLock_c Actor */
s32 getLockParameter();
/** */
s32 getSubtype2(); // (mRotation.x >> 0) & 0xFF
/** Gets the behavior of being locked when not locked with the dAcOLock_c Actor */
s32 getLockBehavior();
/** */
u8 getSceneflag(); // (mRotation.x >> 8) & 0xFF
/** Get Scenflag used for locking status */
u8 getSceneflag();
/** fn_572_3F60 */
u8 fn_572_3F60(); // (mRotation.z >> 0) & 0xF
/** Gets whether the door has callbacks enabled */
u8 getDoorCallbackType();
/** fn_572_3F70 */
u8 fn_572_3F70(); // (mRotation.z >> 4) & 0x3F
/** getFrontRoomParam */
u8 getFrontRoomParam(); // (mRotation.z >> 4) & 0x3F
/** fn_572_3F80 */
u8 fn_572_3F80(); // (mRotation.z >> 10) & 0x3F
/** getBackRoomParam */
u8 getBackRoomParam(); // (mRotation.z >> 10) & 0x3F
/** (getParams2Lower() >> 0) & 0xFF */
u16 fn_572_3F90();
/** Gets the Flag set when failed to open - Called from Try Locked Callback */
u16 getFailedToOpenFlag();
/** fn_572_3FC0 */
static f32 getInteractionMinX(); // -80.f
/** Interaction Radius -X */
static f32 getInteractionMinX();
/** fn_572_3FD0 */
static f32 getInteractionMaxX(); // 80.f
/** Interaction Radius +X */
static f32 getInteractionMaxX();
/** fn_572_3FE0 */
static f32 getInteractionMinZ(); // -100.f
/** Interaction Radius -Z */
static f32 getInteractionMinZ();
/** fn_572_3FF0 */
static f32 getInteractionMaxZ(); // 100.f
/** Interaction Radius +Z */
static f32 getInteractionMaxZ();
/** fn_572_4000 */
static f32 getInteractionLockMinX(); // -160.f
/** Interaction Radius -X - Door has Lock */
static f32 getInteractionLockMinX();
/** fn_572_4010 */
static f32 getInteractionLockMaxX(); // 160.f
/** Interaction Radius +X - Door has Lock */
static f32 getInteractionLockMaxX();
/** fn_572_4020 */
static f32 getInteractionLockMinZ(); // -100.f
/** Interaction Radius -Z - Door has Lock */
static f32 getInteractionLockMinZ();
/** fn_572_4030 */
static f32 getInteractionLockMaxZ(); // 100.f
/** Interaction Radius +Z - Door has Lock */
static f32 getInteractionLockMaxZ();
/** */
void setRoomId(s8 roomId); // mRoomId = roomId;
/** Sets the RoomID */
void setRoomId(s8 roomId);
/** fn_572_4050 */
void fn_572_4050(u32 flags); // field_0x5A8 = flags
/** Set Flag - Usually Time Door related */
void setFlag(u32 flags);
/** fn_572_4060 */
void fn_572_4060(u8); // field_0x5B3 = in
/** Sets the behavior on Event creation */
void setEventCallbackType(u8);
/** fn_572_4070 */
void fn_572_4070(s8); // field_0x5B4 = in
/** setFrontRoom */
void setFrontRoom(s8); // mFrontRoomId = in
/** fn_572_4080 */
void fn_572_4080(s8); // field_0x5B5 = in
/** setBackRoom */
void setBackRoom(s8); // mBackRoomId = in
/** fn_572_4090 */
void fn_572_4090(); // field_0x5B7 = true
/** Sets status indicating it can be a double door */
void setDoubleDoor();
/** fn_572_40A0 */
void fn_572_40A0(); // field_0x5B7 = false
/** Sets status indicating it cant be a double door */
void setNotDoubleDoor();
/** fn_572_40B0 */
void fn_572_40B0(); // field_0x5B8 = true
/** Sets status indicating its a single door / Main door */
void setSingleDoor();
/** fn_572_40C0 */
void fn_572_40C0(); // field_0x5B8 = false
/** Sets status indicating its not a single door / not Main door */
void setNotSingleDoor();
/** fn_572_40D0 */
void fn_572_40D0(); // field_0x5B9 = true
/** setInSandshipBoss */
void setInSandshipBoss(); // mbInSandshipBoss = true
/** fn_572_40E0 */
bool fn_572_40E0() const; // field_0x5A8 & 1
/** isTimeDoorEventActive */
bool isTimeDoorEventActive() const;
/** fn_572_40F0 */
void fn_572_40F0(); // field_0x5A8 |= 1
/** setTimeDoorEventActive */
void setTimeDoorEventActive();
/** fn_572_4100 */
void fn_572_4100(); // field_0x5A8 &= ~1
/** setTimeDoorEventInactive */
void setTimeDoorEventInactive();
/** fn_572_4110 */
void fn_572_4110(); // field_0x5A8 |= 2
/** Sets status indicating it is effected by Timeshift */
void setTimeEffected();
/** fn_572_4120 */
void fn_572_4120(); // field_0x5A8 &= ~2
/** Sets status indicating it is not effected by Timeshift */
void setTimeStatic();
/** fn_572_4130 */
bool fn_572_4130(bool &b) const; // checkRoom(field_0x5B4,b)
/** Checks to see if the Front room exists(return) and has flags set(b) */
bool checkFrontRoom(bool &b) const;
/** fn_572_4140 */
bool fn_572_4140(bool &b) const; // checkRoom(field_0x5B5,b)
/** Checks to see if the Back room exists(return) and has flags set(b) */
bool checkBackRoom(bool &b) const;
/** fn_572_4150 */
bool fn_572_4150(bool &b) const; // fn_572_4130(b0) && fn_572_4140(b1) -> b = b0 && b1
/** Checks to see if the Front and Back room exists(return) and has flags set(b) */
bool checkRooms(bool &b) const;
/** */
/** Transitions the game to the next room */
void triggerExit();
/** */
/** TODO(Zeldex) Whats special about this? */
bool isLeavingSealedTempleSideDoorPostSkyKeep() const;
/** fn_572_4310 */
/** */
void transitionPushRoomFlags() const;
/** fn_572_4430 */
/** */
void transitionPullRoomFlags() const;
/** fn_572_4370 */
bool fn_572_4370(const mVec3_c &point) const; // Is in front of door
/** Checks a point to determine which side of the door it is on */
bool isPositionInFrontOfDoor(const mVec3_c &point) const;
/** */
bool isPlayerInFrontOfDoor() const;
/** Checks the players postion to see if it is front of the door. This means it will be pulled open */
bool checkPullDoor() const;
/** */
/** Checks to see if the door has a flow entry point */
bool hasFlowEntryPoint();
/** fn_572_4430 */
bool fn_572_4430() const; // field_0x5A8 & 2
/** Checks to see if the Door is effected by Timeshift */
bool isTimeEffected() const;
/** fn_572_4440 */
void fn_572_4440(); // Sets the Postion Copies
/** Sets the Position of the Doorknob based on the Animation */
void setDoorKnobPosition();
/** */
/** Checks to see if the Player is within an interactable range */
bool isPlayerInteractable() const;
/** fn_572_4600 */
/** Checks to see if the Player is within an interactable range when door is locked */
bool isPlayerInteractableLocked() const;
/** */
/** Plays the talk event for when the door is locked */
void playInteractionLocked();
public:
s32 getType() {
return getFromParams(0, 0x3F);
s32 getType() const {
return mParams & 0x3F;
}
s32 getField_0x5B4() const {
return field_0x5B4;
return mFrontRoomId;
}
s32 getField_0x5B5() const {
return field_0x5B5;
return mBackRoomId;
}
public: // Functions in this section defined in main dol
@@ -282,24 +293,27 @@ private:
/* 0x4E8 */ dEmitter_c mEmmiterL;
/* 0x51C */ dEmitter_c mEmmiterR;
/* 0x550 */ dTimeBits mTimeBits;
/* 0x554 */ dAcRef_c<dAcOdoor_c> mConnectedDoor;
/* 0x554 */ dAcRef_c<dAcOdoor_c> mConnectedDoor; ///< When the door is a double door, this is its pair
/* 0x560 */ dAcRef_c<dAcOLock_c> mLock;
/* 0x56C */ dAcRef_c<dAcObjBase_c> mObjRef;
/* 0x578 */ mMtx_c mMtx;
/* 0x5A8 */ u32 mFlags; ///<
/* 0x5AC */ u32 mRumbleIdx; ///<
/* 0x5B0 */ u8 field_0x5B0; ///< some timer to trigger exit
/* 0x5B1 */ u8 field_0x5B1; ///<
/* 0x5B2 */ u8 mSceneflag; ///< Used for unlocking the door
/* 0x5B3 */ u8 field_0x5B3; ///<
/* 0x5B4 */ s8 field_0x5B4;
/* 0x5B5 */ s8 field_0x5B5;
/* 0x5B6 */ s8 field_0x5B6;
/* 0x5B7 */ bool field_0x5B7;
/* 0x5B8 */ bool field_0x5B8;
/* 0x5B9 */ bool field_0x5B9;
/* 0x5BA */ bool field_0x5BA;
/* 0x5BB */ bool field_0x5BB;
/* 0x56C */ dAcRef_c<dAcObjBase_c> mObjRef; ///< TODO(Zeldex) This is probably the Sandship stage for boss
/* 0x578 */ mMtx_c mMtx; ///< Currently unknown. I am assuming this is used to move the door on the Sandship stage
///< while the boat is rocking
/* 0x5A8 */ u32 mFlags; ///< 0x2 - Time Effected
/* 0x5AC */ u32 mRumbleIdx; ///< Rumble used for when opening the main sealed temple door
/* 0x5B0 */ u8 mExitTimer; ///< Timer used to advance the Begin Pull/Push events
/* 0x5B1 */ u8 mLockBehavior; ///< see LockBehavior_e
/* 0x5B2 */ u8 mSceneflag; ///< Used for unlocking/locking the door.
/* 0x5B3 */ u8 mEventCallbackType; ///< 0 for events without callbacks, 1 for events with a callback
/* 0x5B4 */ s8 mFrontRoomId; ///< Room id of the front side of the door
/* 0x5B5 */ s8 mBackRoomId; ///< Room id of the back side of the door
/* 0x5B6 */ s8 mFramesInEvent; ///< The count of frames in one particular event
/* 0x5B7 */ bool mbDoubleDoor; ///< Set if the type was matched to be a double door variant
/* 0x5B8 */ bool mbSingleDoor; ///< UNUSHED - Set if the type was matched to be a single door
/* 0x5B9 */ bool mbInSandshipBoss; ///< Indicates if in the Tentalus fight
/* 0x5BA */ bool field_0x5BA; ///< ???
/* 0x5BB */ bool mbKobunDoor; ///< Used to indicate its Cawlin and Strich's door
};
#endif
File diff suppressed because it is too large Load Diff
+4
View File
@@ -18,6 +18,10 @@ STATE_DEFINE(dAcOdoorBoss_c, Close);
STATE_DEFINE(dAcOdoorBoss_c, Idle);
STATE_DEFINE(dAcOdoorBoss_c, BeforeTimeShift);
bool dAcOdoorBoss_c::canOpen() {
// Not implemented - Used to emit dtor
return true;
}
void dAcOdoorBoss_c::initializeState_UnlockWait() {}
void dAcOdoorBoss_c::executeState_UnlockWait() {}
void dAcOdoorBoss_c::finalizeState_UnlockWait() {}
+5
View File
@@ -6,6 +6,11 @@ STATE_DEFINE(dAcOShutter_c, Wait);
STATE_DEFINE(dAcOShutter_c, Open);
STATE_DEFINE(dAcOShutter_c, Close);
bool dAcOShutter_c::canOpen() {
// Not implemented - Used to emit dtor
return true;
}
void dAcOShutter_c::initializeState_Wait() {}
void dAcOShutter_c::executeState_Wait() {}
void dAcOShutter_c::finalizeState_Wait() {}
@@ -1,9 +1,16 @@
#include "d/a/obj/d_a_obj_shutter_change_scene.h"
#include "f/f_base.h"
SPECIAL_ACTOR_PROFILE(
OBJ_SHUTTER_CHANGE_SCENE, dAcOShutterChangeScene_c, fProfile::OBJ_SHUTTER_CHANGE_SCENE, 0x18A, 0, 6
);
bool dAcOShutterChangeScene_c::canOpen() {
// Not implemented - Used to emit dtor
return true;
}
STATE_DEFINE(dAcOShutterChangeScene_c, WaitOpenShutter);
STATE_DEFINE(dAcOShutterChangeScene_c, WaitOpenShutterForEvent);
STATE_DEFINE(dAcOShutterChangeScene_c, OpenShutter);
@@ -5,6 +5,10 @@ SPECIAL_ACTOR_PROFILE(OBJ_TR_SHUTTER_CS, dAcOTrlyShtrChgScn_c, fProfile::OBJ_TR_
STATE_DEFINE(dAcOTrlyShtrChgScn_c, Wait);
STATE_DEFINE(dAcOTrlyShtrChgScn_c, OpenEvent);
bool dAcOTrlyShtrChgScn_c::canOpen() {
// Not implemented - Used to emit dtor
return true;
}
void dAcOTrlyShtrChgScn_c::initializeState_Wait() {}
void dAcOTrlyShtrChgScn_c::executeState_Wait() {}
void dAcOTrlyShtrChgScn_c::finalizeState_Wait() {}
@@ -5,6 +5,10 @@ SPECIAL_ACTOR_PROFILE(OBJ_TROLLEY_SHUTTER, dAcOTrolleyShutter_c, fProfile::OBJ_T
STATE_DEFINE(dAcOTrolleyShutter_c, Wait);
STATE_DEFINE(dAcOTrolleyShutter_c, OpenEvent);
bool dAcOTrolleyShutter_c::canOpen() {
// Not implemented - Used to emit dtor
return true;
}
void dAcOTrolleyShutter_c::initializeState_Wait() {}
void dAcOTrolleyShutter_c::executeState_Wait() {}
void dAcOTrolleyShutter_c::finalizeState_Wait() {}