begin killing global.h

This commit is contained in:
mzxrules 2025-03-24 02:06:07 -04:00
parent 13cea510fa
commit a18ae55a51
74 changed files with 524 additions and 144 deletions

View File

@ -2,16 +2,18 @@
#define Z64_HORSE_H
#include "ultra64.h"
#include "z64.h"
struct ActorContext;
struct Player;
struct PlayState;
s32 Horse_GetJumpingFencePathIndex(PlayState* play);
s32 Horse_CopyPointFromPathList(PlayState* play, s32 pathIndex, s32 pointIndex, Vec3s* dst, s16* arg4);
s32 Horse_GetJumpingFencePathIndex(struct PlayState* play);
s32 Horse_CopyPointFromPathList(struct PlayState* play, s32 pathIndex, s32 pointIndex, Vec3s* dst, s16* arg4);
s32 Horse_IsValidSpawn(s16 sceneId);
void Horse_ResetHorseData(PlayState* play);
void Horse_Spawn(PlayState* play, Player* player);
void Horse_ResetHorseData(struct PlayState* play);
void Horse_Spawn(struct PlayState* play, struct Player* player);
void Horse_RotateToPoint(Actor* actor, Vec3f* pos, s16 turnYaw);
s32 Horse_IsActive(PlayState* play, ActorContext* actorCtx);
s32 Horse_IsActive(struct PlayState* play, struct ActorContext* actorCtx);
extern s32 gHorseIsMounted;

View File

@ -872,7 +872,7 @@ typedef enum {
#define SCENE_CMD_MINIMAP_INFO SCENE_CMD_MAP_DATA
#define SCENE_CMD_MINIMAP_COMPASS_ICON_INFO SCENE_CMD_MAP_DATA_CHESTS
void Scene_ResetTransitionActorList(GameState* gameState, TransitionActorList* transitionActors);
void Scene_ResetTransitionActorList(struct GameState* gameState, TransitionActorList* transitionActors);
void Scene_SetExitFade(struct PlayState* play);
s32 Scene_ExecuteCommands(struct PlayState* play, SceneCmd* sceneCmd);
u16 Entrance_Create(s32 scene, s32 spawn, s32 layer);

View File

@ -1,12 +1,14 @@
#ifndef Z64ENHY_CODE_H
#define Z64ENHY_CODE_H
#include "global.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "z64actor.h"
struct EnDoor;
struct EnHy;
struct Path;
struct PlayState;
//! @note: any actor that uses the EnHy system should
//! @note: any actor that uses the EnHy system should
//! have a skeleton that aligns with the enum below.
typedef enum EnHyLimb {
/* 0x00 */ ENHY_LIMB_NONE,
@ -55,7 +57,7 @@ typedef enum {
/* 21 */ ENHY_ANIM_MAX
} EnHyAnimation;
typedef void (*EnHyActionFunc)(struct EnHy*, PlayState*);
typedef void (*EnHyActionFunc)(struct EnHy*, struct PlayState*);
typedef enum EnHyBodyPart {
/* 0 */ ENHY_BODYPART_0,
@ -89,7 +91,7 @@ typedef struct EnHy {
/* 0x1E0 */ u16 textId;
/* 0x1E2 */ u8 waitingOnInit;
/* 0x1E3 */ u8 msgFading;
/* 0x1E4 */ Path* path;
/* 0x1E4 */ struct Path* path;
/* 0x1E8 */ s16 curPoint;
/* 0x1EC */ Vec3f leftFootPos;
/* 0x1F8 */ Vec3f rightFootPos;
@ -116,19 +118,19 @@ extern s8 gEnHyParentShadowBodyParts[];
extern u8 gEnHyShadowSizes[];
s32 EnHy_ChangeAnim(SkelAnime* skelAnime, s16 animIndex);
EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play);
void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex);
s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play);
struct EnDoor* EnHy_FindNearestDoor(Actor* actor, struct PlayState* play);
void EnHy_ChangeObjectAndAnim(EnHy* enHy, struct PlayState* play, s16 animIndex);
s32 EnHy_UpdateSkelAnime(EnHy* enHy, struct PlayState* play);
void EnHy_Blink(EnHy* enHy, s32 eyeTexMaxIndex);
s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg, s16 animIndex);
void func_800F0BB4(EnHy* enHy, PlayState* play, EnDoor* door, s16 arg3, s16 arg4);
s32 func_800F0CE4(EnHy* enHy, PlayState* play, ActorFunc draw, s16 arg3, s16 arg4, f32 arg5);
s32 func_800F0DD4(EnHy* enHy, PlayState* play, s16 arg2, s16 arg3);
s32 EnHy_SetPointFowards(EnHy* enHy, PlayState* play, f32 gravity, s16 animIndex);
s32 EnHy_SetPointBackwards(EnHy* enHy, PlayState* play, s16 animIndex);
s32 EnHy_Init(EnHy* enHy, struct PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg, s16 animIndex);
void func_800F0BB4(EnHy* enHy, struct PlayState* play, struct EnDoor* door, s16 arg3, s16 arg4);
s32 func_800F0CE4(EnHy* enHy, struct PlayState* play, ActorFunc draw, s16 arg3, s16 arg4, f32 arg5);
s32 func_800F0DD4(EnHy* enHy, struct PlayState* play, s16 arg2, s16 arg3);
s32 EnHy_SetPointFowards(EnHy* enHy, struct PlayState* play, f32 gravity, s16 animIndex);
s32 EnHy_SetPointBackwards(EnHy* enHy, struct PlayState* play, s16 animIndex);
s32 EnHy_MoveForwards(EnHy* enHy, f32 speedTarget);
s32 EnHy_MoveBackwards(EnHy* enHy, f32 speedTarget);
void EnHy_UpdateCollider(EnHy* enHy, PlayState* play);
s32 EnHy_PlayWalkingSound(EnHy* enHy, PlayState* play, f32 distAboveThreshold);
void EnHy_UpdateCollider(EnHy* enHy, struct PlayState* play);
s32 EnHy_PlayWalkingSound(EnHy* enHy, struct PlayState* play, f32 distAboveThreshold);
#endif // Z_EN_HY_CODE_H

View File

@ -13,6 +13,14 @@ static s16 sBssPad;
u8 gDisablePlayerCsActionStartPos;
s16 gDungeonBossWarpSceneId;
#include "macros.h"
#include "regs.h"
#include "seqcmd.h"
#include "sequence.h"
#include "sfx.h"
#include "z64lib.h"
#include "z64ocarina.h"
#include "z64play.h"
#include "z64quake.h"
#include "z64rumble.h"
#include "z64shrink_window.h"

View File

@ -5,6 +5,13 @@
#include "z_en_hy_code.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "segmented_address.h"
#include "sfx.h"
#include "macros.h"
#include "z64play.h"
#include "z64subs.h"
#include "assets/objects/object_aob/object_aob.h"
#include "assets/objects/object_bba/object_bba.h"
#include "assets/objects/object_bji/object_bji.h"

View File

@ -1,12 +1,24 @@
#include "z_en_item00.h"
#include "global.h"
#include "attributes.h"
#include "overlays/actors/ovl_En_Elforg/z_en_elforg.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_gi_hearts/object_gi_hearts.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "overlays/actors/ovl_En_Elforg/z_en_elforg.h"
#include "libc64/qrand.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "macros.h"
#include "rand.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64effect.h"
#include "z64lib.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_gi_hearts/object_gi_hearts.h"
#define FLAGS 0x00000000
void EnItem00_Init(Actor* thisx, PlayState* play);

View File

@ -6,6 +6,13 @@
#include "z_bg_danpei_movebg.h"
#include "gfx.h"
#include "ichain.h"
#include "macros.h"
#include "segmented_address.h"
#include "sfx.h"
#include "z64play.h"
#include "assets/objects/object_d_lift/object_d_lift.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,11 +1,12 @@
#ifndef Z_BG_DANPEI_MOVEBG_H
#define Z_BG_DANPEI_MOVEBG_H
#include "global.h"
#include "z64actor.h"
#include "z64subs.h"
struct BgDanpeiMovebg;
typedef void (*BgDanpeiMovebgActionFunc)(struct BgDanpeiMovebg*, PlayState*);
typedef void (*BgDanpeiMovebgActionFunc)(struct BgDanpeiMovebg*, struct PlayState*);
#define BGDANPEIMOVEBG_GET_PATH_INDEX(thisx) ((thisx)->params & 0x7F)
#define BGDANPEIMOVEBG_GET_TYPE(thisx) (((thisx)->params >> 0xE) & 3)

View File

@ -6,6 +6,7 @@
#include "z_bg_dy_yoseizo.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
#include "overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA)

View File

@ -1,13 +1,14 @@
#ifndef Z_BG_DY_YOSEIZO_H
#define Z_BG_DY_YOSEIZO_H
#include "z64actor.h"
#include "global.h"
#include "overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h"
#include "assets/objects/object_dy_obj/object_dy_obj.h"
struct BgDyYoseizo;
struct EnDyExtra;
typedef void (*BgDyYoseizoActionFunc)(struct BgDyYoseizo*, PlayState*);
typedef void (*BgDyYoseizoActionFunc)(struct BgDyYoseizo*, struct PlayState*);
#define GREAT_FAIRY_GET_SWITCHFLAG(thisx) (((thisx)->params & 0xFE00) >> 9)
#define GREAT_FAIRY_GET_TYPE(thisx) ((thisx)->params & 0xF)
@ -47,7 +48,7 @@ typedef struct BgDyYoseizo {
/* 0x0234 */ Vec3s morphTable[GREAT_FAIRY_LIMB_MAX];
/* 0x02DC */ Vec3s headRot;
/* 0x02DC */ Vec3s torsoRot;
/* 0x02E8 */ EnDyExtra* beam;
/* 0x02E8 */ struct EnDyExtra* beam;
/* 0x02EC */ f32 unk2EC; // unused
/* 0x02F0 */ f32 unk2F0;
/* 0x02F4 */ f32 unk2F4;

View File

@ -6,6 +6,15 @@
#include "z_demo_effect.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_efc_tw/object_efc_tw.h"

View File

@ -1,12 +1,13 @@
#ifndef Z_DEMO_EFFECT_H
#define Z_DEMO_EFFECT_H
#include "global.h"
#include "z64actor.h"
#include "z64curve.h"
struct DemoEffect;
struct PlayState;
typedef void (*DemoEffectActionFunc)(struct DemoEffect*, PlayState*);
typedef void (*DemoEffectActionFunc)(struct DemoEffect*, struct PlayState*);
#define DEMO_EFFECT_GET_TYPE(thisx) ((thisx)->params & 0xFF)

View File

@ -7,6 +7,9 @@
#include "z_elf_msg.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void ElfMsg_Init(Actor* thisx, PlayState* play);

View File

@ -1,15 +1,16 @@
#ifndef Z_ELF_MSG_H
#define Z_ELF_MSG_H
#include "global.h"
#include "z64actor.h"
#define ELFMSG_GET_FF(thisx) ((thisx)->params & 0xFF)
#define ELFMSG_GET_SWITCH_FLAG(thisx) (((thisx)->params & 0x7F00) >> 8)
#define ELFMSG_GET_8000(thisx) ((thisx)->params & 0x8000)
struct ElfMsg;
struct PlayState;
typedef void (*ElfMsgActionFunc)(struct ElfMsg*, PlayState*);
typedef void (*ElfMsgActionFunc)(struct ElfMsg*, struct PlayState*);
typedef struct ElfMsg {
/* 0x000 */ Actor actor;

View File

@ -5,6 +5,8 @@
*/
#include "z_elf_msg2.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,14 +1,15 @@
#ifndef Z_ELF_MSG2_H
#define Z_ELF_MSG2_H
#include "global.h"
#include "z64actor.h"
#define ELFMSG2_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 8) & 0x7F)
#define ELFMSG2_GET_FF(thisx) ((thisx)->params & 0xFF)
struct ElfMsg2;
struct PlayState;
typedef void (*ElfMsg2ActionFunc)(struct ElfMsg2*, PlayState*);
typedef void (*ElfMsg2ActionFunc)(struct ElfMsg2*, struct PlayState*);
typedef struct ElfMsg2 {
/* 0x000 */ Actor actor;

View File

@ -7,6 +7,9 @@
#include "z_elf_msg3.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void ElfMsg3_Init(Actor* thisx, PlayState* play);

View File

@ -1,15 +1,16 @@
#ifndef Z_ELF_MSG3_H
#define Z_ELF_MSG3_H
#include "global.h"
#include "z64actor.h"
#define ELFMSG3_GET_SWITCH_FLAG(thisx) (((thisx)->params & 0x7F00) >> 8)
#define ELFMSG3_GET_FF(thisx) ((thisx)->params & 0xFF)
#define ELFMSG3_GET_8000(thisx) ((thisx)->params & 0x8000)
struct ElfMsg3;
struct PlayState;
typedef void (*ElfMsg3ActionFunc)(struct ElfMsg3*, PlayState*);
typedef void (*ElfMsg3ActionFunc)(struct ElfMsg3*, struct PlayState*);
typedef struct ElfMsg3 {
/* 0x000 */ Actor actor;

View File

@ -8,6 +8,9 @@
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "overlays/actors/ovl_Elf_Msg5/z_elf_msg5.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void ElfMsg4_Init(Actor* thisx, PlayState* play);

View File

@ -1,15 +1,16 @@
#ifndef Z_ELF_MSG4_H
#define Z_ELF_MSG4_H
#include "global.h"
#include "z64actor.h"
#define ELFMSG4_GET_SWITCH_FLAG(thisx) (((thisx)->params & 0x7F00) >> 8)
#define ELFMSG4_GET_8000(thisx) ((thisx)->params & 0x8000)
#define ELFMSG4_GET_TEXT(thisx) ((thisx)->params & 0xFF)
struct ElfMsg4;
struct PlayState;
typedef void (*ElfMsg4ActionFunc)(struct ElfMsg4*, PlayState*);
typedef void (*ElfMsg4ActionFunc)(struct ElfMsg4*, struct PlayState*);
typedef struct ElfMsg4 {
/* 0x000 */ Actor actor;

View File

@ -6,6 +6,9 @@
#include "z_elf_msg5.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void ElfMsg5_Init(Actor* thisx, PlayState* play);

View File

@ -1,14 +1,15 @@
#ifndef Z_ELF_MSG5_H
#define Z_ELF_MSG5_H
#include "global.h"
#include "z64actor.h"
#define ELFMSG5_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 8) & 0x7F)
#define ELFMSG5_GET_FF(thisx) ((thisx)->params & 0xFF)
struct ElfMsg5;
struct PlayState;
typedef void (*ElfMsg5ActionFunc)(struct ElfMsg5*, PlayState*);
typedef void (*ElfMsg5ActionFunc)(struct ElfMsg5*, struct PlayState*);
typedef struct ElfMsg5 {
/* 0x000 */ Actor actor;

View File

@ -7,6 +7,9 @@
#include "z_elf_msg6.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "ichain.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void ElfMsg6_Init(Actor* thisx, PlayState* play);

View File

@ -1,11 +1,12 @@
#ifndef Z_ELF_MSG6_H
#define Z_ELF_MSG6_H
#include "global.h"
#include "z64actor.h"
struct ElfMsg6;
struct PlayState;
typedef void (*ElfMsg6ActionFunc)(struct ElfMsg6*, PlayState*);
typedef void (*ElfMsg6ActionFunc)(struct ElfMsg6*, struct PlayState*);
#define ELFMSG6_GET_F(thisx) ((thisx)->params & 0xF)
#define ELFMSG6_GET_F0(thisx) (((thisx)->params & 0xF0) >> 4)

View File

@ -5,9 +5,23 @@
*/
#include "z_en_an.h"
#include "attributes.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "segmented_address.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64msgevent.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64subs.h"
#include "assets/objects/object_an1/object_an1.h"
#include "assets/objects/object_an2/object_an2.h"
#include "assets/objects/object_an3/object_an3.h"
#include "assets/objects/object_an4/object_an4.h"

View File

@ -1,14 +1,20 @@
#ifndef Z_EN_AN_H
#define Z_EN_AN_H
#include "unk.h"
#include "z64actor.h"
#include "z64msgevent.h"
#include "global.h"
#include "assets/objects/object_an1/object_an1.h"
struct EnAn;
struct Path;
struct PlayState;
typedef void (*EnAnActionFunc)(struct EnAn*, PlayState*);
typedef void (*EnAnDialogueFunc)(struct EnAn*, PlayState*);
typedef s32 (*MsgEventFunc)(Actor*, PlayState*);
typedef void (*EnAnActionFunc)(struct EnAn*, struct PlayState*);
typedef void (*EnAnDialogueFunc)(struct EnAn*, struct PlayState*);
typedef s32 (*MsgEventFunc)(Actor*, struct PlayState*);
#define ENAN_8000 0x8000
@ -35,7 +41,7 @@ typedef struct EnAn {
/* 0x188 */ EnAnActionFunc actionFunc;
/* 0x18C */ EnAnDialogueFunc dialogueFunc;
/* 0x190 */ ColliderCylinder collider;
/* 0x1DC */ Path* timePath;
/* 0x1DC */ struct Path* timePath;
/* 0x1E0 */ Vec3f timePathTargetPos;
/* 0x1EC */ f32 timePathProgress;
/* 0x1F0 */ s32 timePathTotalTime;

View File

@ -13,6 +13,16 @@
*/
#include "z_en_bba_01.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "segmented_address.h"
#include "sys_matrix.h"
#include "z64play.h"
#include "z64subs.h"
#include "macros.h"
#include "global.h"
#include "assets/objects/object_bba/object_bba.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -2,10 +2,12 @@
#define Z_EN_BBA_01_H
#include "z_en_hy_code.h"
#include "unk.h"
#include "z64actor.h"
struct EnBba01;
typedef void (*EnBba01ActionFunc)(struct EnBba01*, PlayState*);
typedef void (*EnBba01ActionFunc)(struct EnBba01*, struct PlayState*);
#define ENBBA01_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9)

View File

@ -6,6 +6,14 @@
#include "z_en_butte.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "libc64/qrand.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "macros.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64play.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"

View File

@ -1,12 +1,15 @@
#ifndef Z_EN_BUTTE_H
#define Z_EN_BUTTE_H
#include "z64actor.h"
#include "global.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.h"
struct EnButte;
struct PlayState;
typedef void (*EnButteActionFunc)(struct EnButte*, PlayState*);
typedef void (*EnButteActionFunc)(struct EnButte*, struct PlayState*);
#define BUTTERFLY_GET(thisx) ((thisx)->params)
#define BUTTERFLY_GET_1(thisx) ((thisx)->params & 1)

View File

@ -6,6 +6,17 @@
#include "z_en_clear_tag.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "rand.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS \

View File

@ -1,7 +1,7 @@
#ifndef Z_EN_CLEAR_TAG_H
#define Z_EN_CLEAR_TAG_H
#include "global.h"
#include "z64actor.h"
struct EnClearTag;

View File

@ -5,6 +5,18 @@
*/
#include "z_en_cne_01.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "gfxalloc.h"
#include "segmented_address.h"
#include "sys_matrix.h"
#include "z64play.h"
#include "z64subs.h"
#include "macros.h"
#include "global.h"
#include "assets/objects/object_cne/object_cne.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -2,10 +2,12 @@
#define Z_EN_CNE_01_H
#include "z_en_hy_code.h"
#include "unk.h"
struct EnCne01;
struct PlayState;
typedef void (*EnCne01ActionFunc)(struct EnCne01*, PlayState*);
typedef void (*EnCne01ActionFunc)(struct EnCne01*, struct PlayState*);
#define ENCNE01_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9)

View File

@ -6,8 +6,21 @@
#include "z_en_door.h"
#include "libc64/qrand.h"
#include "assert.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "macros.h"
#include "sfx.h"
#include "z64effect.h"
#include "z64play.h"
#include "z64schedule.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.h"
#include "assets/objects/object_kinsta2_obj/object_kinsta2_obj.h"
#include "assets/objects/object_dor01/object_dor01.h"
#include "assets/objects/object_dor02/object_dor02.h"
@ -20,7 +33,6 @@
#include "assets/objects/object_wdor05/object_wdor05.h"
#include "assets/objects/object_numa_obj/object_numa_obj.h"
#include "assets/objects/object_kaizoku_obj/object_kaizoku_obj.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,8 +1,10 @@
#ifndef Z_EN_DOOR_H
#define Z_EN_DOOR_H
#include "global.h"
#include "z64actor.h"
#include "z64door.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
/**
@ -37,8 +39,9 @@
*/
struct EnDoor;
struct PlayState;
typedef void (*EnDoorActionFunc)(struct EnDoor*, PlayState*);
typedef void (*EnDoorActionFunc)(struct EnDoor*, struct PlayState*);
typedef enum EnDoorType {
/* 0 */ ENDOOR_TYPE_WHOLE_DAY, // Allows to specify the door may be closed for full specific days. Which days the door is closed is controlled by the "half day bit index" part of the parameter

View File

@ -5,8 +5,22 @@
*/
#include "z_en_elf.h"
#include "libc64/qrand.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "macros.h"
#include "rand.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64effect.h"
#include "z64elf_message.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA)

View File

@ -1,13 +1,16 @@
#ifndef Z_EN_ELF_H
#define Z_EN_ELF_H
#include "z64actor.h"
#include "z64light.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
struct EnElf;
typedef void (*EnElfActionFunc)(struct EnElf*, PlayState*);
typedef void (*EnElfUnkFunc)(struct EnElf*, PlayState*);
typedef void (*EnElfActionFunc)(struct EnElf*, struct PlayState*);
typedef void (*EnElfUnkFunc)(struct EnElf*, struct PlayState*);
#define FAIRY_GET_TYPE(thisx) ((thisx)->params & 0xF)
#define FAIRY_GET_BOOL_PARAM(thisx) ((thisx)->params & 0x100)

View File

@ -1,23 +1,24 @@
#ifndef Z_EN_ELFGRP_H
#define Z_EN_ELFGRP_H
#include "global.h"
#include "overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h"
#include "z64actor.h"
struct EnElfgrp;
struct PlayState;
typedef void (*EnElfgrpActionFunc)(struct EnElfgrp*, PlayState*);
typedef void (*EnElfgrpActionFunc)(struct EnElfgrp*, struct PlayState*);
#define ENELFGRP_GET_TYPE(thisx) ((thisx)->params & 0xF) //!< Same type as Great Fairies
#define ENELFGRP_GET_SWITCH_FLAG_PARAMS(thisx) (((thisx)->params & 0xFE00) >> 9)
#define ENELFGRP_GET_SWITCHFLAG_ROT(thisx) ((thisx)->home.rot.z)
// Corresponds to GreatFairyType
typedef enum ElfgrpType {
/* 0 */ ENELFGRP_TYPE_MAGIC = GREAT_FAIRY_TYPE_MAGIC,
/* 1 */ ENELFGRP_TYPE_POWER = GREAT_FAIRY_TYPE_POWER,
/* 2 */ ENELFGRP_TYPE_WISDOM = GREAT_FAIRY_TYPE_WISDOM,
/* 3 */ ENELFGRP_TYPE_COURAGE = GREAT_FAIRY_TYPE_COURAGE,
/* 4 */ ENELFGRP_TYPE_KINDNESS = GREAT_FAIRY_TYPE_KINDNESS,
/* 0 */ ENELFGRP_TYPE_MAGIC,
/* 1 */ ENELFGRP_TYPE_POWER,
/* 2 */ ENELFGRP_TYPE_WISDOM,
/* 3 */ ENELFGRP_TYPE_COURAGE,
/* 4 */ ENELFGRP_TYPE_KINDNESS,
/* 5 */ ENELFGRP_TYPE_MAX
} ElfgrpType;

View File

@ -1,8 +1,9 @@
#ifndef Z_EN_ELFORG_H
#define Z_EN_ELFORG_H
#include "z64actor.h"
#include "global.h"
#include "overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define STRAY_FAIRY_TYPE(thisx) ((thisx)->params & 0xF)
@ -30,19 +31,20 @@ typedef enum StrayFairyType {
/* 8 */ STRAY_FAIRY_TYPE_RETURNING_TO_FOUNTAIN // The ones you "turn in" by walking into a Fairy Fountain
} StrayFairyType;
// Corresponds to the Great Fairy types
// Corresponds to GreatFairyType
typedef enum StrayFairyArea {
/* 0 */ STRAY_FAIRY_AREA_CLOCK_TOWN = GREAT_FAIRY_TYPE_MAGIC,
/* 1 */ STRAY_FAIRY_AREA_WOODFALL = GREAT_FAIRY_TYPE_POWER,
/* 2 */ STRAY_FAIRY_AREA_SNOWHEAD = GREAT_FAIRY_TYPE_WISDOM,
/* 3 */ STRAY_FAIRY_AREA_GREAT_BAY = GREAT_FAIRY_TYPE_COURAGE,
/* 4 */ STRAY_FAIRY_AREA_STONE_TOWER = GREAT_FAIRY_TYPE_KINDNESS,
/* 0 */ STRAY_FAIRY_AREA_CLOCK_TOWN,
/* 1 */ STRAY_FAIRY_AREA_WOODFALL,
/* 2 */ STRAY_FAIRY_AREA_SNOWHEAD,
/* 3 */ STRAY_FAIRY_AREA_GREAT_BAY,
/* 4 */ STRAY_FAIRY_AREA_STONE_TOWER,
/* 5 */ STRAY_FAIRY_AREA_MAX
} StrayFairyArea;
struct EnElforg;
struct PlayState;
typedef void (*EnElforgActionFunc)(struct EnElforg*, PlayState*);
typedef void (*EnElforgActionFunc)(struct EnElforg*, struct PlayState*);
typedef struct EnElforg {
/* 0x000 */ Actor actor;

View File

@ -5,7 +5,18 @@
*/
#include "z_en_fsn.h"
#include "libc64/qrand.h"
#include "attributes.h"
#include "controller.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64subs.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,8 +1,10 @@
#ifndef Z_EN_FSN_H
#define Z_EN_FSN_H
#include "global.h"
#include "z64actor.h"
#include "overlays/actors/ovl_En_GirlA/z_en_girla.h"
#include "global.h"
#include "assets/objects/object_fsn/object_fsn.h"
#define ENFSN_IS_BACKROOM(thisx) ((thisx)->params & 1)
@ -16,8 +18,9 @@
#define ENFSN_LIMB_MAX FSN_LIMB_MAX + 1 // Note: adding 1 to FSN_LIMB_MAX due to bug in the skeleton, see bug in object_fsn.xml
struct EnFsn;
struct PlayState;
typedef void (*EnFsnActionFunc)(struct EnFsn*, PlayState*);
typedef void (*EnFsnActionFunc)(struct EnFsn*, struct PlayState*);
typedef struct EnFsn {
/* 0x000 */ Actor actor;

View File

@ -6,6 +6,12 @@
#include "z_en_girla.h"
#include "macros.h"
#include "sys_matrix.h"
#include "z64play.h"
#include "global.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void EnGirlA_Init(Actor* thisx, PlayState* play);

View File

@ -1,14 +1,15 @@
#ifndef Z_EN_GIRLA_H
#define Z_EN_GIRLA_H
#include "global.h"
#include "z64actor.h"
struct EnGirlA;
struct PlayState;
typedef void (*EnGirlAActionFunc)(struct EnGirlA*, PlayState*);
typedef void (*EnGirlADrawFunc)(struct Actor*, PlayState*, s32);
typedef s32 (*EnGirlACanBuyFunc)(PlayState*, struct EnGirlA*);
typedef void (*EnGirlAShopActionFunc)(PlayState*, struct EnGirlA*); // Buying/Restocking
typedef void (*EnGirlAActionFunc)(struct EnGirlA*, struct PlayState*);
typedef void (*EnGirlADrawFunc)(struct Actor*, struct PlayState*, s32);
typedef s32 (*EnGirlACanBuyFunc)(struct PlayState*, struct EnGirlA*);
typedef void (*EnGirlAShopActionFunc)(struct PlayState*, struct EnGirlA*); // Buying/Restocking
typedef struct ShopItemEntry {
/* 0x00 */ s16 objectId;
@ -107,8 +108,8 @@ typedef enum {
/* 0x2B */ SI_MAX
} EnGirlAShopItemId;
/*
* Shopkeeper Common Defines
/*
* Shopkeeper Common Defines
*/
#define CURSOR_INVALID 0xFF
#define COL_CHAN_MIX(c1, c2, m) (c1 - (s32)(c2 * m)) & 0xFF

View File

@ -6,6 +6,16 @@
#include "z_en_gm.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64subs.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,13 +1,16 @@
#ifndef Z_EN_GM_H
#define Z_EN_GM_H
#include "global.h"
#include "z64actor.h"
#include "z64msgevent.h"
#include "assets/objects/object_in2/object_in2.h"
struct EnGm;
struct Path;
struct PlayState;
typedef void (*EnGmActionFunc)(struct EnGm*, PlayState*);
typedef void (*EnGmUnkFunc2)(struct EnGm*, PlayState*);
typedef void (*EnGmActionFunc)(struct EnGm*, struct PlayState*);
typedef void (*EnGmUnkFunc2)(struct EnGm*, struct PlayState*);
#define ENGM_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF)
@ -20,7 +23,7 @@ typedef struct EnGm {
/* 0x18C */ EnGmUnkFunc2 unk_18C;
/* 0x190 */ ColliderCylinder colliderCylinder;
/* 0x1DC */ ColliderSphere colliderSphere;
/* 0x234 */ Path* timePath;
/* 0x234 */ struct Path* timePath;
/* 0x238 */ Vec3f timePathTargetPos;
/* 0x244 */ f32 timePathProgress;
/* 0x248 */ s32 timePathTotalTime;

View File

@ -5,10 +5,24 @@
*/
#include "z_en_gs.h"
#include "z64voice.h"
#include "attributes.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "macros.h"
#include "rand.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64effect.h"
#include "z64lib.h"
#include "z64ocarina.h"
#include "z64play.h"
#include "z64subs.h"
#include "z64voice.h"
#include "global.h"
#include "assets/objects/object_gs/object_gs.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"

View File

@ -1,11 +1,12 @@
#ifndef Z_EN_GS_H
#define Z_EN_GS_H
#include "global.h"
#include "z64actor.h"
struct EnGs;
struct PlayState;
typedef void (*EnGsActionFunc)(struct EnGs*, PlayState*);
typedef void (*EnGsActionFunc)(struct EnGs*, struct PlayState*);
#define ENGS_GET_1F(thisx) ((thisx)->params & 0x1F)
#define ENGS_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 5) & 0x7F)

View File

@ -5,8 +5,19 @@
*/
#include "z_en_ig.h"
#include "attributes.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64subs.h"
#include "assets/objects/object_dai/object_dai.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,13 +1,16 @@
#ifndef Z_EN_IG_H
#define Z_EN_IG_H
#include "global.h"
#include "z64actor.h"
#include "z64msgevent.h"
#include "assets/objects/object_dai/object_dai.h"
struct EnIg;
struct Path;
struct PlayState;
typedef void (*EnIgActionFunc)(struct EnIg*, PlayState*);
typedef void (*EnIgUnkFunc2)(struct EnIg*, PlayState*);
typedef void (*EnIgActionFunc)(struct EnIg*, struct PlayState*);
typedef void (*EnIgUnkFunc2)(struct EnIg*, struct PlayState*);
#define ENIG_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF)
@ -19,7 +22,7 @@ typedef struct EnIg {
/* 0x190 */ MtxF unk_190;
/* 0x1D0 */ ColliderCylinder collider1;
/* 0x21C */ ColliderSphere collider2;
/* 0x274 */ Path* timePath;
/* 0x274 */ struct Path* timePath;
/* 0x278 */ Vec3f timePathTargetPos;
/* 0x284 */ f32 timePathProgress;
/* 0x288 */ s32 timePathTotalTime;

View File

@ -31,13 +31,33 @@
#include "z_en_invadepoh.h"
#include "z_en_item00.h"
#include "sys_cfb.h"
#include "z64horse.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "libc64/qrand.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "regs.h"
#include "seqcmd.h"
#include "sequence.h"
#include "sfx.h"
#include "sys_cfb.h"
#include "sys_matrix.h"
#include "z64effect.h"
#include "z64horse.h"
#include "z64lib.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_cow/object_cow.h"
#include "assets/objects/object_dog/object_dog.h"
#include "assets/objects/object_ma1/object_ma1.h"
#include "assets/objects/object_ma2/object_ma2.h"
#include "assets/objects/object_uch/object_uch.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)
#define ALIEN_COUNT 8

View File

@ -1,6 +1,8 @@
#ifndef Z_EN_INVADEPOH_H
#define Z_EN_INVADEPOH_H
#include "unk.h"
#include "z64actor.h"
#include "global.h"
#include "assets/objects/object_cow/object_cow.h"
#include "assets/objects/object_dog/object_dog.h"
@ -10,10 +12,11 @@
struct EnInvadepoh;
struct EnInvadepohEffect;
struct PlayState;
typedef void (*EnInvadepohActionFunc)(struct EnInvadepoh* this, PlayState* play);
typedef void (*EnInvadepohInitFunc)(struct EnInvadepoh* this, PlayState* play);
typedef void (*EnInvadepohDestroyFunc)(struct EnInvadepoh* this, PlayState* play);
typedef void (*EnInvadepohActionFunc)(struct EnInvadepoh* this, struct PlayState* play);
typedef void (*EnInvadepohInitFunc)(struct EnInvadepoh* this, struct PlayState* play);
typedef void (*EnInvadepohDestroyFunc)(struct EnInvadepoh* this, struct PlayState* play);
typedef void (*EnInvadepohEffectUpdateFunc)(struct EnInvadepohEffect* warpEffect);
#define EN_INVADEPOH_GET_INDEX(thisx) ((thisx)->params & 7)
@ -52,7 +55,7 @@ typedef enum EnInvadepohAlienAbductorIndex {
/* 1 */ EN_INVADEPOH_ALIEN_ABDUCTOR_INDEX_COW_1,
/* 2 */ EN_INVADEPOH_ALIEN_ABDUCTOR_INDEX_COW_2,
/* 3 */ EN_INVADEPOH_ALIEN_ABDUCTOR_INDEX_COW_MAX,
// Any alien abductor with an index of 3 or higher will be carrying Romani
/* 3 */ EN_INVADEPOH_ALIEN_ABDUCTOR_INDEX_ROMANI = 3
} EnInvadepohAlienAbductorIndex;

View File

@ -8,6 +8,16 @@
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "segmented_address.h"
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void EnPamera_Init(Actor* thisx, PlayState* play);

View File

@ -1,13 +1,15 @@
#ifndef Z_EN_PAMERA_H
#define Z_EN_PAMERA_H
#include "global.h"
#include "z64actor.h"
#include "unk.h"
#include "assets/objects/object_pamera/object_pamera.h"
struct EnPamera;
struct PlayState;
typedef void (*EnPameraActionFunc)(struct EnPamera*, PlayState*);
typedef void (*EnPameraSetupFunc)(struct EnPamera*, PlayState*);
typedef void (*EnPameraActionFunc)(struct EnPamera*, struct PlayState*);
typedef void (*EnPameraSetupFunc)(struct EnPamera*, struct PlayState*);
#define PAMELA_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF0) >> 4)
#define PAMELA_GET_F000(thisx) (((thisx)->params & 0xF000) >> 0xC)
@ -21,7 +23,7 @@ typedef struct EnPamera {
/* 0x1DC */ Vec3s* pathPoints;
/* 0x1E0 */ s32 waypointIndex;
/* 0x1E4 */ s32 pathCount;
/* 0x1E8 */ s32 additionalPathIndex;
/* 0x1E8 */ s32 additionalPathIndex;
/* 0x1EC */ s32 unk_1EC;
/* 0x1F0 */ Vec3s jointTable[PAMELA_LIMB_MAX];
/* 0x27A */ Vec3s morphTable[PAMELA_LIMB_MAX];

View File

@ -6,6 +6,16 @@
#include "z_en_pm.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64subs.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#define FLAGS \

View File

@ -1,13 +1,16 @@
#ifndef Z_EN_PM_H
#define Z_EN_PM_H
#include "global.h"
#include "z64actor.h"
#include "z64msgevent.h"
#include "assets/objects/object_mm/object_mm.h"
struct EnPm;
struct Path;
struct PlayState;
typedef void (*EnPmActionFunc)(struct EnPm*, PlayState*);
typedef s32 (*EnPmFunc2)(struct EnPm*, PlayState*);
typedef void (*EnPmActionFunc)(struct EnPm*, struct PlayState*);
typedef s32 (*EnPmFunc2)(struct EnPm*, struct PlayState*);
#define ENPM_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF)
@ -18,7 +21,7 @@ typedef struct EnPm {
/* 0x18C */ EnPmFunc2 unk_18C;
/* 0x190 */ ColliderCylinder colliderCylinder;
/* 0x1DC */ ColliderSphere colliderSphere;
/* 0x234 */ Path* timePath;
/* 0x234 */ struct Path* timePath;
/* 0x238 */ Vec3f timePathTargetPos;
/* 0x244 */ f32 timePathProgress;
/* 0x248 */ s32 timePathTotalTime;

View File

@ -8,8 +8,24 @@
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "overlays/actors/ovl_En_Fsn/z_en_fsn.h"
#include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "rand.h"
#include "regs.h"
#include "seqcmd.h"
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64effect.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64subs.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED)
void EnSuttari_Init(Actor* thisx, PlayState* play);

View File

@ -1,13 +1,18 @@
#ifndef Z_EN_SUTTARI_H
#define Z_EN_SUTTARI_H
#include "unk.h"
#include "z64actor.h"
#include "global.h"
#include "assets/objects/object_boj/object_boj.h"
#include "overlays/actors/ovl_En_Fsn/z_en_fsn.h"
struct EnFsn;
struct EnSuttari;
struct Path;
struct PlayState;
typedef void (*EnSuttariActionFunc)(struct EnSuttari*, PlayState*);
typedef void (*EnSuttariActionFunc)(struct EnSuttari*, struct PlayState*);
#define ENSUTTARI_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9)
@ -15,7 +20,7 @@ typedef void (*EnSuttariActionFunc)(struct EnSuttari*, PlayState*);
typedef struct EnSuttari {
/* 0x000 */ Actor actor;
/* 0x144 */ EnFsn* enFsn;
/* 0x144 */ struct EnFsn* enFsn;
/* 0x148 */ EnSuttariActionFunc actionFunc;
/* 0x14C */ UNK_TYPE1 unk_14C[0x4];
/* 0x150 */ SkelAnime skelAnime;
@ -25,7 +30,7 @@ typedef struct EnSuttari {
/* 0x1E6 */ u16 flags2;
/* 0x1E8 */ u16 textId;
/* 0x1EA */ UNK_TYPE1 unk_1EA[0x2];
/* 0x1EC */ Path* paths[2];
/* 0x1EC */ struct Path* paths[2];
/* 0x1F4 */ s32 unk1F4[2];
/* 0x1FC */ UNK_TYPE1 unk_1FC[0x1A];
/* 0x216 */ Vec3s jointTable[OBJECT_BOJ_LIMB_MAX];
@ -42,7 +47,7 @@ typedef struct EnSuttari {
/* 0x3F4 */ s16 unk3F4;
/* 0x3F6 */ s16 unk3F6;
/* 0x3F8 */ Vec3f unk3F8;
/* 0x404 */ Path* timePath;
/* 0x404 */ struct Path* timePath;
/* 0x408 */ Vec3f timePathTargetPos;
/* 0x414 */ f32 timePathProgress;
/* 0x418 */ s32 timePathTotalTime;

View File

@ -5,12 +5,27 @@
*/
#include "z_en_test3.h"
#include "zelda_arena.h"
#include "assets/objects/object_test3/object_test3.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "seqcmd.h"
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "zelda_arena.h"
#include "z64effect.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "z64skin_matrix.h"
#include "z64subs.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_test3/object_test3.h"
#include "assets/objects/object_mask_ki_tan/object_mask_ki_tan.h"
#pragma increment_block_number "n64-us:128"

View File

@ -1,11 +1,14 @@
#ifndef Z_EN_TEST3_H
#define Z_EN_TEST3_H
#include "global.h"
#include "z64actor.h"
#include "z64player.h"
struct EnTest3;
struct Path;
struct PlayState;
typedef void (*EnTest3ActionFunc)(struct EnTest3*, PlayState*);
typedef void (*EnTest3ActionFunc)(struct EnTest3*, struct PlayState*);
#define KAFEI_GET_PATH_INDEX(thisx) ((thisx)->params & 0x1F)
#define KAFEI_GET_PARAM_1E0(thisx) (((thisx)->params >> 5) & 0xF)
@ -19,7 +22,7 @@ typedef struct {
typedef struct EnTest3 {
/* 0x000 */ Player player;
/* 0xD78 */ EnTest3_struct_D78* unk_D78;
/* 0xD7C */ Path* unk_D7C;
/* 0xD7C */ struct Path* unk_D7C;
/* 0xD80 */ s32 unk_D80;
/* 0xD84 */ f32 unk_D84;
/* 0xD88 */ s8 scheduleResult;

View File

@ -10,6 +10,10 @@
#include "z_en_time_tag.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "macros.h"
#include "sfx.h"
#include "z64ocarina.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,11 +1,12 @@
#ifndef Z_EN_TIME_TAG_H
#define Z_EN_TIME_TAG_H
#include "global.h"
#include "z64actor.h"
struct EnTimeTag;
struct PlayState;
typedef void (*EnTimeTagActionFunc)(struct EnTimeTag*, PlayState*);
typedef void (*EnTimeTagActionFunc)(struct EnTimeTag*, struct PlayState*);
#define TIMETAG_GET_TYPE(thisx) (((thisx)->params & 0xE000) >> 0xD)

View File

@ -5,10 +5,24 @@
*/
#include "z_en_tk.h"
#include "attributes.h"
#include "overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.h"
#include "overlays/actors/ovl_En_Door/z_en_door.h"
#include "libc64/qrand.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "regs.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#include "z64schedule.h"
#include "assets/objects/object_tk/object_tk.h"
#include "global.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY)
void EnTk_Init(Actor* thisx, PlayState* play);

View File

@ -1,13 +1,16 @@
#ifndef Z_EN_TK_H
#define Z_EN_TK_H
#include "global.h"
#include "unk.h"
#include "z64actor.h"
#include "assets/objects/object_tk/object_tk.h"
struct EnTk;
struct Path;
struct PlayState;
typedef void (*EnTkActionFunc)(struct EnTk*, PlayState*);
typedef void (*EnTkUnkFunc)(struct EnTk*, PlayState*);
typedef void (*EnTkActionFunc)(struct EnTk*, struct PlayState*);
typedef void (*EnTkUnkFunc)(struct EnTk*, struct PlayState*);
#define ENTK_GET_F(thisx) ((thisx)->params & 0xF)
#define ENTK_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 4) & 0x7F)
@ -52,7 +55,7 @@ typedef struct EnTk {
/* 0x324 */ Vec3f unk_324[6];
/* 0x36C */ s32 unk_36C;
/* 0x370 */ UNK_TYPE1 unk370[0x58];
/* 0x3C8 */ Path* timePath;
/* 0x3C8 */ struct Path* timePath;
/* 0x3CC */ u8 scheduleResult;
/* 0x3CE */ u16 unk_3CE;
/* 0x3D0 */ s32 timePathTimeSpeed;

View File

@ -6,6 +6,14 @@
#include "z_en_zov.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "macros.h"
#include "seqcmd.h"
#include "sequence.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY)

View File

@ -1,13 +1,13 @@
#ifndef Z_EN_ZOV_H
#define Z_EN_ZOV_H
#include "global.h"
#include "z64actor.h"
#include "z64snap.h"
#include "assets/objects/object_zov/object_zov.h"
struct EnZov;
typedef void (*EnZovActionFunc)(struct EnZov*, PlayState*);
typedef void (*EnZovActionFunc)(struct EnZov*, struct PlayState*);
#define ENZOV_GET_F(thisx) ((thisx)->params & 0xF)
#define ENZOV_GET_FE00(thisx) (((thisx)->params & 0xFE00) >> 9)

View File

@ -5,6 +5,8 @@
*/
#include "z_item_etcetera.h"
#include "z64play.h"
#include "global.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED)

View File

@ -1,14 +1,14 @@
#ifndef Z_ITEM_ETCETERA_H
#define Z_ITEM_ETCETERA_H
#include "global.h"
#include "z64actor.h"
struct ItemEtcetera;
#define ITEMETCETERA_GET_FF(thisx) ((thisx)->params & 0xFF)
#define ITEMETCETERA_GET_TREASUREFLAG(thisx) (((thisx)->params >> 8) & 0x1F)
typedef void (*ItemEtceteraActionFunc)(struct ItemEtcetera*, PlayState*);
typedef void (*ItemEtceteraActionFunc)(struct ItemEtcetera*, struct PlayState*);
typedef enum {
/* 0x0 */ ITEM_ETC_BOTTLE_1,

View File

@ -6,6 +6,13 @@
#include "z_obj_lightblock.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sys_matrix.h"
#include "z64play.h"
#include "assets/objects/object_lightblock/object_lightblock.h"
#define FLAGS 0x00000000

View File

@ -1,14 +1,15 @@
#ifndef Z_OBJ_LIGHTBLOCK_H
#define Z_OBJ_LIGHTBLOCK_H
#include "global.h"
#include "z64actor.h"
#define LIGHTBLOCK_TYPE(thisx) ((thisx)->params & 1)
#define LIGHTBLOCK_GET_DESTROYED_SWITCH_FLAG(thisx) (((thisx)->params >> 8) & 0x7F)
struct ObjLightblock;
struct PlayState;
typedef void (*ObjLightblockActionFunc)(struct ObjLightblock*, PlayState*);
typedef void (*ObjLightblockActionFunc)(struct ObjLightblock*, struct PlayState*);
typedef struct ObjLightblock {
/* 0x000 */ DynaPolyActor dyna;

View File

@ -6,9 +6,12 @@
#include "z_shot_sun.h"
#include "z_en_item00.h"
#include "overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "macros.h"
#include "sfx.h"
#include "z64ocarina.h"
#include "z64play.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY)

View File

@ -1,7 +1,7 @@
#ifndef Z_SHOT_SUN_H
#define Z_SHOT_SUN_H
#include "global.h"
#include "z64actor.h"
#define SHOTSUN_GET_TYPE(thisx) ((thisx)->params & 0xFF)
#define SHOTSUN_FAIRY_SPAWNER_SUNS 0x40
@ -9,7 +9,7 @@
struct ShotSun;
typedef void (*ShotSunActionFunc)(struct ShotSun*, PlayState*);
typedef void (*ShotSunActionFunc)(struct ShotSun*, struct PlayState*);
typedef struct ShotSun {
/* 0x000 */ Actor actor;

View File

@ -5,6 +5,15 @@
*/
#include "z_eff_ss_solder_srch_ball.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "sys_matrix.h"
#include "z64lib.h"
#include "z64effect.h"
#include "z64play.h"
#include "global.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define rFlags regs[0]

View File

@ -1,7 +1,8 @@
#ifndef _Z64_EFFECT_SS_SOLDER_SRCH_BALL_H_
#define _Z64_EFFECT_SS_SOLDER_SRCH_BALL_H_
#include "global.h"
#include "ultra64.h"
#include "z64math.h"
#define SOLDERSRCHBALL_INVISIBLE (1 << 0)
#define SOLDERSRCHBALL_SMALL_DETECT_RADIUS (1 << 1)