mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Move PlayState
to a new z64play.h
(#1966)
* ActorContext * frameadvance * SfxSource * GameOverContext * RoomContext * TransitionActorContext * fix bss * Move PlayState * Move play functions to new header * SAC_ENABLE * no longer needed * SAC_ENABLE again * z_demo being silly * comment * format headers * fix retail bss * actually fix bss * Cutscene_ProcessScript comment * bss again * Update src/code/z_demo.c Co-authored-by: cadmic <cadmic24@gmail.com> * rename to frame_advance and remove it from z64.h * move macros too * review * Rename SequenceContext to SceneSequences --------- Co-authored-by: cadmic <cadmic24@gmail.com>
This commit is contained in:
parent
2ce4742bf6
commit
d8f2e9abc6
32 changed files with 443 additions and 329 deletions
|
@ -574,6 +574,76 @@ typedef enum {
|
|||
/* 0xFF */ NAVI_ENEMY_NONE = 0xFF
|
||||
} NaviEnemy;
|
||||
|
||||
typedef struct TargetContextEntry {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ f32 unk_0C; // radius?
|
||||
/* 0x10 */ Color_RGB8 color;
|
||||
} TargetContextEntry; // size = 0x14
|
||||
|
||||
typedef struct TargetContext {
|
||||
/* 0x00 */ Vec3f naviRefPos; // possibly wrong
|
||||
/* 0x0C */ Vec3f targetCenterPos;
|
||||
/* 0x18 */ Color_RGBAf naviInner;
|
||||
/* 0x28 */ Color_RGBAf naviOuter;
|
||||
/* 0x38 */ Actor* arrowPointedActor;
|
||||
/* 0x3C */ Actor* targetedActor;
|
||||
/* 0x40 */ f32 unk_40;
|
||||
/* 0x44 */ f32 unk_44;
|
||||
/* 0x48 */ s16 unk_48;
|
||||
/* 0x4A */ u8 activeCategory;
|
||||
/* 0x4B */ u8 unk_4B;
|
||||
/* 0x4C */ s8 unk_4C;
|
||||
/* 0x4D */ char unk_4D[0x03];
|
||||
/* 0x50 */ TargetContextEntry arr_50[3];
|
||||
/* 0x8C */ Actor* unk_8C;
|
||||
/* 0x90 */ Actor* bgmEnemy; // The nearest enemy to player with the right flags that will trigger NA_BGM_ENEMY
|
||||
/* 0x94 */ Actor* unk_94;
|
||||
} TargetContext; // size = 0x98
|
||||
|
||||
typedef struct TitleCardContext {
|
||||
/* 0x00 */ void* texture;
|
||||
/* 0x04 */ s16 x;
|
||||
/* 0x06 */ s16 y;
|
||||
/* 0x08 */ u8 width;
|
||||
/* 0x09 */ u8 height;
|
||||
/* 0x0A */ u8 durationTimer; // how long the title card appears for before fading
|
||||
/* 0x0B */ u8 delayTimer; // how long the title card waits to appear
|
||||
/* 0x0C */ s16 alpha;
|
||||
/* 0x0E */ s16 intensity;
|
||||
} TitleCardContext; // size = 0x10
|
||||
|
||||
typedef struct ActorListEntry {
|
||||
/* 0x00 */ s32 length; // number of actors loaded of this category
|
||||
/* 0x04 */ Actor* head; // pointer to head of the linked list of this category (most recent actor added)
|
||||
} ActorListEntry; // size = 0x08
|
||||
|
||||
typedef struct ActorContextSceneFlags {
|
||||
/* 0x00 */ u32 swch;
|
||||
/* 0x04 */ u32 tempSwch;
|
||||
/* 0x08 */ u32 unk0;
|
||||
/* 0x0C */ u32 unk1;
|
||||
/* 0x10 */ u32 chest;
|
||||
/* 0x14 */ u32 clear;
|
||||
/* 0x18 */ u32 tempClear;
|
||||
/* 0x1C */ u32 collect;
|
||||
/* 0x20 */ u32 tempCollect;
|
||||
} ActorContextSceneFlags; // size = 0x24
|
||||
|
||||
typedef struct ActorContext {
|
||||
/* 0x000 */ u8 freezeFlashTimer;
|
||||
/* 0x001 */ char unk_01[0x01];
|
||||
/* 0x002 */ u8 unk_02;
|
||||
/* 0x003 */ u8 lensActive;
|
||||
/* 0x004 */ char unk_04[0x04];
|
||||
/* 0x008 */ u8 total; // total number of actors loaded
|
||||
/* 0x00C */ ActorListEntry actorLists[ACTORCAT_MAX];
|
||||
/* 0x06C */ TargetContext targetCtx;
|
||||
/* 0x104 */ ActorContextSceneFlags flags;
|
||||
/* 0x128 */ TitleCardContext titleCtx;
|
||||
/* 0x138 */ char unk_138[0x04];
|
||||
/* 0x13C */ void* absoluteSpace; // Space used to allocate actor overlays with alloc type ACTOROVL_ALLOC_ABSOLUTE
|
||||
} ActorContext; // size = 0x140
|
||||
|
||||
#define TRANSITION_ACTOR_PARAMS_INDEX_SHIFT 10
|
||||
#define GET_TRANSITION_ACTOR_INDEX(actor) ((u16)(actor)->params >> TRANSITION_ACTOR_PARAMS_INDEX_SHIFT)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue