diff --git a/assets/xml/objects/object_efc_star_field.xml b/assets/xml/objects/object_efc_star_field.xml
index 0908d2fea9..00b47c460f 100644
--- a/assets/xml/objects/object_efc_star_field.xml
+++ b/assets/xml/objects/object_efc_star_field.xml
@@ -1,8 +1,8 @@
-
+
-
+
diff --git a/assets/xml/objects/object_toki_objects.xml b/assets/xml/objects/object_toki_objects.xml
index 3a688d732a..3d7135ca85 100644
--- a/assets/xml/objects/object_toki_objects.xml
+++ b/assets/xml/objects/object_toki_objects.xml
@@ -14,12 +14,12 @@
-
-
+
+
-
+
diff --git a/assets/xml/scenes/overworld/spot02.xml b/assets/xml/scenes/overworld/spot02.xml
index 8f828c30db..2d998ff100 100644
--- a/assets/xml/scenes/overworld/spot02.xml
+++ b/assets/xml/scenes/overworld/spot02.xml
@@ -1,6 +1,11 @@
+
+
+
+
+
diff --git a/assets/xml/scenes/overworld/spot05.xml b/assets/xml/scenes/overworld/spot05.xml
index a666d09ba3..77d323989d 100644
--- a/assets/xml/scenes/overworld/spot05.xml
+++ b/assets/xml/scenes/overworld/spot05.xml
@@ -1,6 +1,10 @@
+
+
+
+
diff --git a/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.c b/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.c
index fd2b5435fe..aabc61a471 100644
--- a/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.c
+++ b/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.c
@@ -57,8 +57,6 @@ static Gfx* sDLists[] = {
0x06002ED0,
};
-extern Gfx D_06001250[];
-
void BgHakaMegane_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHakaMegane* this = THIS;
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 1d826e92d5..9bb2d7e358 100644
--- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
+++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
@@ -1,6 +1,8 @@
#include "z_demo_kankyo.h"
#include "z64cutscene_commands.h"
#include "objects/gameplay_keep/gameplay_keep.h"
+#include "objects/object_efc_star_field/object_efc_star_field.h"
+#include "objects/object_toki_objects/object_toki_objects.h"
#define FLAGS 0x00000030
@@ -174,12 +176,6 @@ static s16 D_8098CF80;
static s16 sRainScale;
static s16 D_8098CF84;
-extern Gfx D_06000080[]; // rain DL
-extern Gfx D_06000DE0[]; // rocks DL
-extern Gfx D_06007440[]; // DoT DL left
-extern Gfx D_06007578[]; // DoT DL right
-extern Gfx D_06008390[]; // light plane DL
-
void DemoKankyo_SetupAction(DemoKankyo* this, DemoKankyoActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@@ -627,7 +623,7 @@ void DemoKankyo_DrawRain(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1344),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14);
- gSPDisplayList(POLY_XLU_DISP++, D_06000080);
+ gSPDisplayList(POLY_XLU_DISP++, object_efc_star_field_DL_000080);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1358);
@@ -649,7 +645,7 @@ void DemoKankyo_DrawRock(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1404),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, D_06000DE0);
+ gSPDisplayList(POLY_OPA_DISP++, object_efc_star_field_DL_000DE0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1409);
}
@@ -701,11 +697,11 @@ void DemoKankyo_DrawDoorOfTime(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Translate(-this->unk_150[0].unk_18, 0.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1492),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, D_06007440);
+ gSPDisplayList(POLY_OPA_DISP++, object_toki_objects_DL_007440);
Matrix_Translate(this->unk_150[0].unk_18 + this->unk_150[0].unk_18, 0.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1497),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, D_06007578);
+ gSPDisplayList(POLY_OPA_DISP++, object_toki_objects_DL_007578);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1501);
}
@@ -723,7 +719,7 @@ void DemoKankyo_DrawLightPlane(Actor* thisx, GlobalContext* globalCtx) {
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, globalCtx->state.frames & 0x7F, 64, 32));
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1529),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_XLU_DISP++, D_06008390);
+ gSPDisplayList(POLY_XLU_DISP++, object_toki_objects_DL_008390);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1534);
diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
index 7249d94ec8..4b2dc3987b 100644
--- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c
+++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
@@ -6,6 +6,7 @@
#include "z_en_ko.h"
#include "objects/object_fa/object_fa.h"
+#include "objects/object_os_anime/object_os_anime.h"
#include "vt.h"
#define FLAGS 0x00000019
@@ -28,12 +29,6 @@ void func_80A99560(EnKo* this, GlobalContext* globalCtx);
s32 func_80A98ECC(EnKo* this, GlobalContext* globalCtx);
-extern AnimationHeader D_06006A60;
-extern AnimationHeader D_06007830;
-extern AnimationHeader D_06007D94;
-extern AnimationHeader D_0600879C;
-extern AnimationHeader D_06008F6C;
-
const ActorInit En_Ko_InitVars = {
ACTOR_EN_KO,
ACTORCAT_NPC,
@@ -631,12 +626,12 @@ s32 func_80A97D68(EnKo* this, GlobalContext* globalCtx) {
s16 arg3;
if (this->unk_1E8.unk_00 != 0) {
- if ((this->skelAnime.animation == &D_06006A60) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_6A60) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x20);
}
arg3 = 2;
} else {
- if ((this->skelAnime.animation == &D_06007830) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_7830) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x21);
}
arg3 = 1;
@@ -684,13 +679,13 @@ s32 func_80A97F70(EnKo* this, GlobalContext* globalCtx) {
s16 arg3;
if (this->unk_1E8.unk_00 != 0) {
- if ((this->skelAnime.animation == &D_06008F6C) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_8F6C) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x1D);
}
func_80034F54(globalCtx, this->unk_2E4, this->unk_304, 16);
arg3 = 2;
} else {
- if ((this->skelAnime.animation == &D_06007D94) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_7D94) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x1E);
}
arg3 = 1;
@@ -704,14 +699,14 @@ s32 func_80A98034(EnKo* this, GlobalContext* globalCtx) {
s32 result;
if (this->unk_1E8.unk_00 != 0) {
- if ((this->skelAnime.animation == &D_06008F6C) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_8F6C) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x1D);
}
func_80034F54(globalCtx, this->unk_2E4, this->unk_304, 16);
result = EnKo_IsWithinTalkAngle(this);
arg3 = (result == true) ? 2 : 1;
} else {
- if ((this->skelAnime.animation == &D_0600879C) == false) {
+ if ((this->skelAnime.animation == &gObjOsAnim_879C) == false) {
func_80034EC0(&this->skelAnime, sOsAnimeTable, 0x1F);
}
arg3 = 1;
diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
index 3a4546bda4..07fcaa494c 100644
--- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c
+++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
@@ -6,6 +6,7 @@
#include "z_en_mm.h"
#include "objects/object_mm/object_mm.h"
+#include "objects/object_link_child/object_link_child.h"
#define FLAGS 0x00000019
@@ -519,8 +520,6 @@ void EnMm_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
-extern Gfx D_0602CA38[]; // bunny hood dlist from object_link_child. replace with proper symbol later
-
void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* mouthTextures[] = { gRunningManMouthOpenTex, gRunningManMouthClosedTex };
s32 pad;
@@ -566,7 +565,7 @@ void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800D1694(97.0f, -1203.0f, 240.0f, &sp50);
Matrix_ToMtx(mtx, "../z_en_mm.c", 1131);
- gSPDisplayList(POLY_OPA_DISP++, D_0602CA38);
+ gSPDisplayList(POLY_OPA_DISP++, gLinkChildBunnyHoodDL);
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment);
}
}
diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
index 8f504e246e..cf786f1606 100644
--- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
+++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
@@ -6,6 +6,7 @@
#include "z_en_okarina_tag.h"
#include "scenes/misc/hakaana_ouke/hakaana_ouke_scene.h"
+#include "scenes/overworld/spot02/spot02_scene.h"
#include "vt.h"
#define FLAGS 0x02000010
@@ -35,8 +36,6 @@ const ActorInit En_Okarina_Tag_InitVars = {
NULL,
};
-extern CutsceneData D_02003C80[];
-extern CutsceneData D_02005020[];
extern CutsceneData D_80ABF9D0[];
extern CutsceneData D_80ABFB40[];
@@ -253,8 +252,8 @@ void func_80ABF4C8(EnOkarinaTag* this, GlobalContext* globalCtx) {
gSaveContext.cutsceneTrigger = 1;
break;
case 6:
- globalCtx->csCtx.segment =
- LINK_IS_ADULT ? SEGMENTED_TO_VIRTUAL(&D_02003C80) : SEGMENTED_TO_VIRTUAL(&D_02005020);
+ globalCtx->csCtx.segment = LINK_IS_ADULT ? SEGMENTED_TO_VIRTUAL(&spot02_sceneCutsceneData0x003C80)
+ : SEGMENTED_TO_VIRTUAL(&spot02_scene_Cs_005020);
gSaveContext.cutsceneTrigger = 1;
gSaveContext.eventChkInf[1] |= 0x2000;
func_80078884(NA_SE_SY_CORRECT_CHIME);
diff --git a/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
index efd4d821e3..9eb13b6f29 100644
--- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c
+++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
@@ -1,6 +1,8 @@
#include "z_en_sa.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "objects/object_sa/object_sa.h"
+#include "scenes/overworld/spot04/spot04_scene.h"
+#include "scenes/overworld/spot05/spot05_scene.h"
#define FLAGS 0x02000019
@@ -97,9 +99,6 @@ static struct_80034EC0_Entry sAnimations[] = {
{ &gSariaWaitArmsToSideAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -8.0f },
};
-extern CutsceneData D_02005730[];
-extern CutsceneData D_02010E20[];
-
s16 func_80AF5560(EnSa* this, GlobalContext* globalCtx) {
s16 textState = func_8010BDBC(&globalCtx->msgCtx);
@@ -471,7 +470,7 @@ void EnSa_Init(Actor* thisx, GlobalContext* globalCtx) {
case 4:
this->unk_210 = 0;
this->actor.gravity = -1.0f;
- globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(D_02010E20);
+ globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gSpot04Cs_10E20);
gSaveContext.cutsceneTrigger = 1;
EnSa_ChangeAnim(this, 4);
this->actionFunc = func_80AF68E4;
@@ -591,7 +590,7 @@ void func_80AF683C(EnSa* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
if (!(player->actor.world.pos.z >= -2220.0f) && !Gameplay_InCsMode(globalCtx)) {
- globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(D_02005730);
+ globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(spot05_sceneCutsceneData0x005730);
gSaveContext.cutsceneTrigger = 1;
this->actionFunc = func_80AF68E4;
}
diff --git a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
index 9373e2576a..625be767c0 100644
--- a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
+++ b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
@@ -6,6 +6,7 @@
#include "vt.h"
#include "z_item_shield.h"
+#include "objects/object_link_child/object_link_child.h"
#define FLAGS 0x00000010
@@ -19,8 +20,6 @@ void ItemShield_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80B86F68(ItemShield* this, GlobalContext* globalCtx);
void func_80B86BC8(ItemShield* this, GlobalContext* globalCtx);
-extern Gfx D_060224F8[];
-
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
@@ -226,7 +225,7 @@ void ItemShield_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_item_shield.c", 460),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(D_060224F8));
+ gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(gLinkChildDekuShieldDL));
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_item_shield.c", 465);
}
}
diff --git a/undefined_syms.txt b/undefined_syms.txt
index c74a4ca61c..fe19c25bc0 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -83,7 +83,7 @@ D_0703811C = 0x0703811C;
// z_skelanime
link_animetion_segment = 0x07000000;
-// z_title
+// z_kankyo, z_demo_kankyo, z_en_viewer, z_object_kankyo, z_eff_ss_dead_dd
D_01000000 = 0x01000000;
// z_arms_hook
@@ -100,13 +100,6 @@ D_0E000000 = 0x0E000000;
// z_vismono
D_0F000000 = 0x0F000000;
-// z_eff_ss_dead_dd
-D_01000000 = 0x01000000;
-
-// z_en_okarina_Tag
-D_02003C80 = 0x02003C80;
-D_02005020 = 0x02005020;
-
// z_en_a_keep or en_a_obj
D_06000730 = 0x06000730;
@@ -161,38 +154,9 @@ D_06010298 = 0x06010298;
D_06010514 = 0x06010514;
D_060114E8 = 0x060114E8;
-// z_demo_kankyo
-D_06000080 = 0x06000080;
-D_06000DE0 = 0x06000DE0;
-D_06007440 = 0x06007440;
-D_06007578 = 0x06007578;
-D_06008390 = 0x06008390;
-
// z_en_hy
D_06005BC8 = 0x06005BC8;
-// z_en_ko
-D_06006A60 = 0x06006A60;
-D_06007830 = 0x06007830;
-D_06007D94 = 0x06007D94;
-D_0600879C = 0x0600879C;
-D_06008F6C = 0x06008F6C;
-
-// z_en_mm
-D_0602CA38 = 0x0602CA38;
-
-// z_en_ossan
-D_060000F0 = 0x060000F0;
-
-// z_en_sa
-D_02005730 = 0x02005730;
-D_02010E20 = 0x02010E20;
-
-// z_en_viewer
-D_01000000 = 0x01000000;
-D_0600BE90 = 0x0600BE90;
-D_060114E8 = 0x060114E8;
-
// z_en_zf
D_06006690 = 0x06006690;
D_06008138 = 0x06008138;
@@ -209,8 +173,5 @@ D_06014E60 = 0x06014E60;
D_060157F8 = 0x060157F8;
D_06016388 = 0x06016388;
-// z_item_shield
-D_060224F8 = 0x060224F8;
-
-// z_object_kankyo
-D_01000000 = 0x01000000;
+// z_bg_mjin
+D_06000000 = 0x06000000;