1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-02 22:14:33 +00:00

DoorShutter logic docs (#1418)

* DoorShutter logic docs

* Comment on two more funcs

* Fix comment on DoorShutter_UnbarredCheckSwitchFlag I mmissed the `!(... == SHUTTER_FRONT_CLEAR)`

* Remove types 8,9,10 from enum as they aren't referenced by any transition actor list in all scenes

* Add `DOORSHUTTER_PARAMS` macro to pack params

* `DoorShutter_WaitPlayerShock` -> `DoorShutter_WaitPlayerSurprised`

* --comma

* moveState -> isActive

* Add mention about SlidingDoorActorBase.isActive being a timer in niche DoorShutter cases
This commit is contained in:
Dragorn421 2022-12-19 02:42:24 +01:00 committed by GitHub
parent 70bbcebbfe
commit f181c2f10e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 178 additions and 96 deletions

View file

@ -527,6 +527,16 @@ typedef struct DoorActorBase {
/* 0x0000 */ DOOR_ACTOR_BASE;
} DoorActorBase;
// DoorShutter and DoorGerudo share isActive
// Due to alignment, a substruct cannot be used in the structs of these actors.
#define SLIDING_DOOR_ACTOR_BASE \
/* 0x0000 */ DynaPolyActor dyna; \
/* 0x0164 */ s16 isActive // Set to true by player when using the door. Also a timer for niche cases in DoorShutter
typedef struct SlidingDoorActorBase {
/* 0x0000 */ SLIDING_DOOR_ACTOR_BASE;
} SlidingDoorActorBase;
typedef enum {
/* 0x00 */ DOOR_OPEN_ANIM_ADULT_L,
/* 0x01 */ DOOR_OPEN_ANIM_CHILD_L,