Files
mm/include/z64door.h
T
Anghelo Carvajal 76fadbd0e9 ovl_En_Door docs pass (#1603)
* DoorScheduleResult

* actionVar

* DOOR_DL_

* enums

* ENDOOR_TYPE_SCHEDULE and related stuff

* Name some functions and start figuring out stuff

* defines

* start documenting schedules

* Name Inn doors

* More door schedule naming

* ajar

* Name remaining schedule types

* parameters diagram and some cleanups

* Name renaiming types

* format

* rename some schedules

* Use more static_assert

* name anims

* yeet unrelated stuff

* requestOpen

* Yeet DoorScheduleResult

* whoops

* stuff i missed

* Update src/overlays/actors/ovl_En_Door/scheduleScripts.schl

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Door/z_en_door.h

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Door/z_en_door.h

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

* Update src/overlays/actors/ovl_En_Pm/z_en_pm.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sub_s.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

* FindScheduleDoor

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2024-04-22 18:34:02 -07:00

28 lines
1005 B
C

#ifndef Z64_DOOR_H
#define Z64_DOOR_H
#include "ultra64.h"
#include "z64actor.h"
typedef struct KnobDoorActor {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ SkelAnime skelAnime;
/* 0x1A0 */ u8 animIndex; // Value between 0 ~ 9. 0 ~ 4 are for left doors while 5 ~ 9 are for right doors. Each value maps to a PlayerTransformation
/* 0x1A1 */ u8 requestOpen; // An actor can set this member to `true` to request this door to open. It must also set `animIndex`
/* 0x1A2 */ s8 objectSlot;
/* 0x1A3 */ s8 dlIndex;
} KnobDoorActor; // size = 0x1A4
typedef struct SlidingDoorActor {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ s16 unk_15C;
/* 0x15E */ s16 unk_15E;
} SlidingDoorActor; // size = 0x160
#define TRANSITION_ACTOR_PARAMS_INDEX_SHIFT 10
#define TRANSITION_ACTOR_PARAMS(index, params) ((index) << TRANSITION_ACTOR_PARAMS_INDEX_SHIFT) + ((params) & 0x3FF)
#define DOOR_GET_TRANSITION_ID(thisx) ((u16)(thisx)->params >> TRANSITION_ACTOR_PARAMS_INDEX_SHIFT)
#endif