diff --git a/include/functions.h b/include/functions.h index 758f94648d..d861112d49 100644 --- a/include/functions.h +++ b/include/functions.h @@ -27,10 +27,6 @@ NORETURN void func_80002384(const char* exp, const char* file, int line); OSPiHandle* osDriveRomInit(void); void Mio0_Decompress(u8* src, u8* dst); -EnItem00* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, s16 params); -EnItem00* Item_DropCollectible2(PlayState* play, Vec3f* spawnPos, s16 params); -void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnPos, s16 params); - void FlagSet_Update(PlayState* play); void Overlay_LoadGameState(GameStateOverlay* overlayEntry); void Overlay_FreeGameState(GameStateOverlay* overlayEntry); @@ -48,14 +44,8 @@ void DebugCamera_ScreenTextColored(u8 x, u8 y, u8 colorIndex, const char* text); void Regs_UpdateEditor(Input* input); #endif void Debug_DrawText(GraphicsContext* gfxCtx); -void DebugDisplay_Init(void); -DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX, - f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type, - GraphicsContext* gfxCtx); -void DebugDisplay_DrawObjects(PlayState* play); void* MemCpy(void* dest, const void* src, s32 len); -void GetItem_Draw(PlayState* play, s16 drawId); u16 QuestHint_GetSariaTextId(PlayState* play); u16 QuestHint_GetNaviTextId(PlayState* play); diff --git a/include/z64.h b/include/z64.h index 625d615640..f0ac7d547a 100644 --- a/include/z64.h +++ b/include/z64.h @@ -87,6 +87,9 @@ #include "libc64/sleep.h" #include "libc64/sprintf.h" #include "libu64/debug.h" +#include "z64debug_display.h" +#include "z64draw.h" +#include "z_en_item00.h" #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 @@ -308,15 +311,6 @@ typedef struct PreNMIState { /* 0xA8 */ UNK_TYPE4 unk_A8; } PreNMIState; // size = 0xAC -typedef struct DebugDispObject { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3s rot; - /* 0x14 */ Vec3f scale; - /* 0x20 */ Color_RGBA8 color; - /* 0x24 */ s16 type; - /* 0x28 */ struct DebugDispObject* next; -} DebugDispObject; // size = 0x2C - typedef struct ISVDbg { /* 0x00 */ u32 magic; // IS64 /* 0x04 */ u32 get; diff --git a/include/z64actor.h b/include/z64actor.h index cf93af0a96..38132540ab 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -362,54 +362,6 @@ typedef struct BodyBreak { #define BODYBREAK_STATUS_READY -1 #define BODYBREAK_STATUS_FINISHED 0 -typedef enum Item00Type { - /* 0x00 */ ITEM00_RUPEE_GREEN, - /* 0x01 */ ITEM00_RUPEE_BLUE, - /* 0x02 */ ITEM00_RUPEE_RED, - /* 0x03 */ ITEM00_RECOVERY_HEART, - /* 0x04 */ ITEM00_BOMBS_A, - /* 0x05 */ ITEM00_ARROWS_SINGLE, - /* 0x06 */ ITEM00_HEART_PIECE, - /* 0x07 */ ITEM00_HEART_CONTAINER, - /* 0x08 */ ITEM00_ARROWS_SMALL, - /* 0x09 */ ITEM00_ARROWS_MEDIUM, - /* 0x0A */ ITEM00_ARROWS_LARGE, - /* 0x0B */ ITEM00_BOMBS_B, - /* 0x0C */ ITEM00_NUTS, - /* 0x0D */ ITEM00_STICK, - /* 0x0E */ ITEM00_MAGIC_LARGE, - /* 0x0F */ ITEM00_MAGIC_SMALL, - /* 0x10 */ ITEM00_SEEDS, - /* 0x11 */ ITEM00_SMALL_KEY, - /* 0x12 */ ITEM00_FLEXIBLE, - /* 0x13 */ ITEM00_RUPEE_ORANGE, - /* 0x14 */ ITEM00_RUPEE_PURPLE, - /* 0x15 */ ITEM00_SHIELD_DEKU, - /* 0x16 */ ITEM00_SHIELD_HYLIAN, - /* 0x17 */ ITEM00_TUNIC_ZORA, - /* 0x18 */ ITEM00_TUNIC_GORON, - /* 0x19 */ ITEM00_BOMBS_SPECIAL, - /* 0x1A */ ITEM00_MAX, - /* 0xFF */ ITEM00_NONE = 0xFF -} Item00Type; - -struct EnItem00; - -typedef void (*EnItem00ActionFunc)(struct EnItem00*, struct PlayState*); - -typedef struct EnItem00 { - /* 0x000 */ Actor actor; - /* 0x14C */ EnItem00ActionFunc actionFunc; - /* 0x150 */ s16 collectibleFlag; - /* 0x152 */ s16 getItemId; - /* 0x154 */ s16 unk_154; - /* 0x156 */ s16 unk_156; - /* 0x158 */ s16 unk_158; - /* 0x15A */ s16 despawnTimer; - /* 0x15C */ f32 scale; - /* 0x160 */ ColliderCylinder collider; -} EnItem00; // size = 0x1AC - // Only A_OBJ_SIGNPOST_OBLONG and A_OBJ_SIGNPOST_ARROW are used in room files. typedef enum AObjType { /* 0x00 */ A_OBJ_BLOCK_SMALL, diff --git a/include/z64debug_display.h b/include/z64debug_display.h new file mode 100644 index 0000000000..9cb1198067 --- /dev/null +++ b/include/z64debug_display.h @@ -0,0 +1,27 @@ +#ifndef Z64_DEBUG_DISPLAY_H +#define Z64_DEBUG_DISPLAY_H + +#include "ultra64.h" +#include "z64math.h" +#include "color.h" + +struct GraphicsContext; +struct PlayState; + +typedef struct DebugDispObject { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3s rot; + /* 0x14 */ Vec3f scale; + /* 0x20 */ Color_RGBA8 color; + /* 0x24 */ s16 type; + /* 0x28 */ struct DebugDispObject* next; +} DebugDispObject; // size = 0x2C + +void DebugDisplay_Init(void); +DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX, + f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type, + struct GraphicsContext* gfxCtx); +void DebugDisplay_DrawObjects(struct PlayState* play); + + +#endif diff --git a/include/z64draw.h b/include/z64draw.h new file mode 100644 index 0000000000..51250ed8c8 --- /dev/null +++ b/include/z64draw.h @@ -0,0 +1,10 @@ +#ifndef Z64_DRAW_H +#define Z64_DRAW_H + +#include "ultra64.h" + +struct PlayState; + +void GetItem_Draw(struct PlayState* play, s16 drawId); + +#endif diff --git a/include/z_en_item00.h b/include/z_en_item00.h new file mode 100644 index 0000000000..483f666f5f --- /dev/null +++ b/include/z_en_item00.h @@ -0,0 +1,59 @@ +#ifndef Z_EN_ITEM00_H +#define Z_EN_ITEM00_H + +#include "ultra64.h" +#include "z64actor.h" + +typedef enum Item00Type { + /* 0x00 */ ITEM00_RUPEE_GREEN, + /* 0x01 */ ITEM00_RUPEE_BLUE, + /* 0x02 */ ITEM00_RUPEE_RED, + /* 0x03 */ ITEM00_RECOVERY_HEART, + /* 0x04 */ ITEM00_BOMBS_A, + /* 0x05 */ ITEM00_ARROWS_SINGLE, + /* 0x06 */ ITEM00_HEART_PIECE, + /* 0x07 */ ITEM00_HEART_CONTAINER, + /* 0x08 */ ITEM00_ARROWS_SMALL, + /* 0x09 */ ITEM00_ARROWS_MEDIUM, + /* 0x0A */ ITEM00_ARROWS_LARGE, + /* 0x0B */ ITEM00_BOMBS_B, + /* 0x0C */ ITEM00_NUTS, + /* 0x0D */ ITEM00_STICK, + /* 0x0E */ ITEM00_MAGIC_LARGE, + /* 0x0F */ ITEM00_MAGIC_SMALL, + /* 0x10 */ ITEM00_SEEDS, + /* 0x11 */ ITEM00_SMALL_KEY, + /* 0x12 */ ITEM00_FLEXIBLE, + /* 0x13 */ ITEM00_RUPEE_ORANGE, + /* 0x14 */ ITEM00_RUPEE_PURPLE, + /* 0x15 */ ITEM00_SHIELD_DEKU, + /* 0x16 */ ITEM00_SHIELD_HYLIAN, + /* 0x17 */ ITEM00_TUNIC_ZORA, + /* 0x18 */ ITEM00_TUNIC_GORON, + /* 0x19 */ ITEM00_BOMBS_SPECIAL, + /* 0x1A */ ITEM00_MAX, + /* 0xFF */ ITEM00_NONE = 0xFF +} Item00Type; + +struct EnItem00; + +typedef void (*EnItem00ActionFunc)(struct EnItem00*, struct PlayState*); + +typedef struct EnItem00 { + /* 0x000 */ Actor actor; + /* 0x14C */ EnItem00ActionFunc actionFunc; + /* 0x150 */ s16 collectibleFlag; + /* 0x152 */ s16 getItemId; + /* 0x154 */ s16 unk_154; + /* 0x156 */ s16 unk_156; + /* 0x158 */ s16 unk_158; + /* 0x15A */ s16 despawnTimer; + /* 0x15C */ f32 scale; + /* 0x160 */ ColliderCylinder collider; +} EnItem00; // size = 0x1AC + +EnItem00* Item_DropCollectible(struct PlayState* play, Vec3f* spawnPos, s16 params); +EnItem00* Item_DropCollectible2(struct PlayState* play, Vec3f* spawnPos, s16 params); +void Item_DropCollectibleRandom(struct PlayState* play, Actor* fromActor, Vec3f* spawnPos, s16 params); + +#endif diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index c8183fc7c4..38da143aed 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -28,7 +28,7 @@ #endif #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.2:64 pal-1.0:62 pal-1.1:62" + "ntsc-1.2:62 pal-1.0:60 pal-1.1:60" StackEntry sDmaMgrStackInfo; OSMesgQueue sDmaMgrMsgQueue; diff --git a/src/code/main.c b/src/code/main.c index d4c54b6870..cce2e666eb 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -24,7 +24,7 @@ extern struct IrqMgr gIrqMgr; #endif #pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \ - "ntsc-1.0:125 ntsc-1.1:125 ntsc-1.2:125 pal-1.0:123 pal-1.1:123" + "ntsc-1.0:122 ntsc-1.1:122 ntsc-1.2:122 pal-1.0:120 pal-1.1:120" extern u8 _buffersSegmentEnd[]; diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index 57a2c80289..a134591925 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -2,7 +2,7 @@ #include "terminal.h" #include "line_numbers.h" -#pragma increment_block_number "ntsc-1.0:112 ntsc-1.1:112 ntsc-1.2:112" +#pragma increment_block_number "ntsc-1.0:108 ntsc-1.1:104 ntsc-1.2:104" u16 DynaSSNodeList_GetNextNodeIdx(DynaSSNodeList* nodeList); void BgCheck_GetStaticLookupIndicesFromPos(CollisionContext* colCtx, Vec3f* pos, Vec3i* sector); diff --git a/src/code/z_camera.c b/src/code/z_camera.c index e528431a20..6689670e1c 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -3639,7 +3639,7 @@ s32 Camera_KeepOn3(Camera* camera) { } #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:127 ntsc-1.1:127 ntsc-1.2:127 pal-1.0:125 pal-1.1:125" + "ntsc-1.0:124 ntsc-1.1:124 ntsc-1.2:124 pal-1.0:122 pal-1.1:122" s32 Camera_KeepOn4(Camera* camera) { static Vec3f D_8015BD50; diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 03e97bcc16..aa83c5e532 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -16,7 +16,7 @@ #include "z_lib.h" #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:88 ntsc-1.1:88 ntsc-1.2:88 pal-1.0:88 pal-1.1:88" + "ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:96 pal-1.1:96" typedef s32 (*ColChkResetFunc)(PlayState*, Collider*); typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); diff --git a/src/code/z_debug_display.c b/src/code/z_debug_display.c index d6b6e0aabc..9d15663a67 100644 --- a/src/code/z_debug_display.c +++ b/src/code/z_debug_display.c @@ -1,4 +1,9 @@ -#include "global.h" +#include "gfx.h" +#include "gfx_setupdl.h" +#include "sys_matrix.h" +#include "z64play.h" +#include "z64debug_display.h" + #include "assets/objects/gameplay_keep/gameplay_keep.h" typedef struct DebugDispObjectInfo { diff --git a/src/code/z_draw.c b/src/code/z_draw.c index 89b49faf4a..9e0dd236eb 100644 --- a/src/code/z_draw.c +++ b/src/code/z_draw.c @@ -1,4 +1,9 @@ -#include "global.h" +#include "gfx.h" +#include "gfx_setupdl.h" +#include "sys_matrix.h" +#include "z64draw.h" +#include "z64play.h" + #include "assets/objects/object_gi_key/object_gi_key.h" #include "assets/objects/object_gi_jewel/object_gi_jewel.h" #include "assets/objects/object_gi_melody/object_gi_melody.h" diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 31386556c5..e91f09ac0e 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -1,8 +1,25 @@ -#include "global.h" +#include "z_en_item00.h" #include "overlays/actors/ovl_En_Elf/z_en_elf.h" -#include "assets/objects/gameplay_keep/gameplay_keep.h" #include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h" +#include "libc64/qrand.h" +#include "attributes.h" +#include "gfx.h" +#include "gfx_setupdl.h" +#include "ichain.h" +#include "rand.h" +#include "segmented_address.h" +#include "sfx.h" +#include "sys_matrix.h" +#include "z_lib.h" +#include "z64draw.h" +#include "z64effect.h" +#include "z64item.h" +#include "z64play.h" +#include "z64player.h" + +#include "assets/objects/gameplay_keep/gameplay_keep.h" + #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-eu-mq-dbg:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128" \ "gc-us-mq:128 ntsc-1.2:128" diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index da348b3316..ab25188a0e 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -1,5 +1,5 @@ #pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:224 pal-1.1:224" + "ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:192 pal-1.1:192" #include "global.h" #include "terminal.h" diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 1fc96fcb35..f18650f0a4 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:216 gc-eu-mq:216 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:224 pal-1.1:224" +#pragma increment_block_number "gc-eu:208 gc-eu-mq:208 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:220 pal-1.1:220" #include "global.h" #include "ultra64.h" diff --git a/src/code/z_play.c b/src/code/z_play.c index f377a8ce18..d531a79110 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -9,6 +9,7 @@ #include "n64dd.h" #endif +#include "z64debug_display.h" #include "z64frame_advance.h" #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 798ba82462..0e34ff571a 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1,5 +1,7 @@ #include "global.h" #include "versions.h" +#include "z64draw.h" + #include "assets/objects/gameplay_keep/gameplay_keep.h" #include "assets/objects/object_link_boy/object_link_boy.h" #include "assets/objects/object_link_child/object_link_child.h" diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c index a1253dbae6..cbc3aa8286 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -7,7 +7,7 @@ #include "assets/objects/object_toki_objects/object_toki_objects.h" #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128" + "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" #define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED) diff --git a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c index 4931fa6b65..40f0b99eb8 100644 --- a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c +++ b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c @@ -15,10 +15,10 @@ #include "sys_matrix.h" #include "terminal.h" #include "z_lib.h" +#include "z64draw.h" #include "z64play.h" #include "z64player.h" -#include "global.h" #include "assets/objects/gameplay_keep/gameplay_keep.h" #define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED) diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index 4ad132c690..47e40b5af1 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -6,6 +6,7 @@ #include "z_en_girla.h" #include "terminal.h" +#include "z64draw.h" #define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED) diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.c b/src/overlays/actors/ovl_En_Si/z_en_si.c index fad66480db..38735ea340 100644 --- a/src/overlays/actors/ovl_En_Si/z_en_si.c +++ b/src/overlays/actors/ovl_En_Si/z_en_si.c @@ -5,6 +5,7 @@ */ #include "z_en_si.h" +#include "z64draw.h" #define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR) diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index 2a3a592fc6..0e959373fb 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -35,7 +35,7 @@ #include "cic6105.h" #endif -#pragma increment_block_number "gc-eu:162 gc-eu-mq:162 gc-jp:162 gc-jp-ce:162 gc-jp-mq:162 gc-us:162 gc-us-mq:162" \ +#pragma increment_block_number "gc-eu:170 gc-eu-mq:170 gc-jp:170 gc-jp-ce:170 gc-jp-mq:170 gc-us:170 gc-us-mq:170" \ "ntsc-1.0:121 ntsc-1.1:121 ntsc-1.2:121 pal-1.0:121 pal-1.1:121" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c index 5527cef6df..e845f465a5 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -5,6 +5,7 @@ */ #include "z_item_etcetera.h" +#include "z64draw.h" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED diff --git a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c index e1b21b2a85..3f36c3da17 100644 --- a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c +++ b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c @@ -5,6 +5,7 @@ */ #include "z_item_inbox.h" +#include "z64draw.h" #define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY) diff --git a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c index 89d807318b..434322abc5 100644 --- a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c +++ b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c @@ -5,6 +5,7 @@ */ #include "z_item_ocarina.h" +#include "z64draw.h" #include "assets/scenes/overworld/spot00/spot00_scene.h" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED