diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL
new file mode 100644
index 000000000..be842d37d
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0
new file mode 100644
index 000000000..87cfedfaf
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_1 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_1
new file mode 100644
index 000000000..de52a892e
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_1
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_2 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_2
new file mode 100644
index 000000000..a0b27f7e9
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_2
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_3 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_3
new file mode 100644
index 000000000..6dbbdc411
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_3
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_4 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_4
new file mode 100644
index 000000000..13013ff53
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_4
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0
new file mode 100644
index 000000000..82c478df5
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_1 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_1
new file mode 100644
index 000000000..2544d138b
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_1
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_2 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_2
new file mode 100644
index 000000000..3de701602
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_2
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_3 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_3
new file mode 100644
index 000000000..80d934941
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_3
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_4 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_4
new file mode 100644
index 000000000..98009f97b
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_4
@@ -0,0 +1,267 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_Gem_eyes b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_Gem_eyes
new file mode 100644
index 000000000..774994e9e
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_Gem_eyes
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_black b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_black
new file mode 100644
index 000000000..8a475974d
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_black
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_eyes b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_eyes
new file mode 100644
index 000000000..90ecc4518
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_eyes
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_horns b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_horns
new file mode 100644
index 000000000..2ea52e133
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_horns
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_surface b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_surface
new file mode 100644
index 000000000..1b5b65898
--- /dev/null
+++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_surface
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex b/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex
new file mode 100644
index 000000000..aaf4e331f
Binary files /dev/null and b/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex differ
diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex_copy b/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex_copy
new file mode 100644
index 000000000..a6d6cf945
Binary files /dev/null and b/OTRExporter/assets/objects/object_gi_boss_soul/noise_tex_copy differ
diff --git a/soh/assets/soh_assets.h b/soh/assets/soh_assets.h
index 2b193053c..4a207787a 100644
--- a/soh/assets/soh_assets.h
+++ b/soh/assets/soh_assets.h
@@ -56,6 +56,9 @@ static const ALIGN_ASSET(2) char gTriforcePiece2DL[] = dgTriforcePiece2DL;
#define dgTriforcePieceCompletedDL "__OTR__objects/object_triforce_completed/gTriforcePieceCompletedDL"
static const ALIGN_ASSET(2) char gTriforcePieceCompletedDL[] = dgTriforcePieceCompletedDL;
+#define dgBossSoulSkullDL "__OTR__objects/object_gi_boss_soul/gGIBossSoulSkullDL"
+static const ALIGN_ASSET(2) char gBossSoulSkullDL[] = dgBossSoulSkullDL;
+
// overlays
#define dgOptionsDividerChangeLangVtx "__OTR__overlays/ovl_file_choose/gOptionsDividerChangeLangVtx"
static const ALIGN_ASSET(2) char gOptionsDividerChangeLangVtx[] = dgOptionsDividerChangeLangVtx;
diff --git a/soh/soh/Enhancements/randomizer/draw.cpp b/soh/soh/Enhancements/randomizer/draw.cpp
index d4884a13b..636f2528c 100644
--- a/soh/soh/Enhancements/randomizer/draw.cpp
+++ b/soh/soh/Enhancements/randomizer/draw.cpp
@@ -274,25 +274,32 @@ extern "C" void Randomizer_DrawBossSoul(PlayState* play, GetItemEntry* getItemEn
{ 80, 80, 80 }, // Ganon's Castle
};
- OPEN_DISPS(play->state.gfxCtx);
-
+ OPEN_DISPS(play->state.gfxCtx);
+
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
- gSPSegment(POLY_XLU_DISP++, 8, (uintptr_t)Gfx_TwoTexScroll(
- play->state.gfxCtx, 0, 0 * (play->state.frames * 0),
- 0 * (play->state.frames * 0), 16, 32, 1, 1 * (play->state.frames * 1),
- -1 * (play->state.frames * 8), 16, 32
- ));
- Matrix_Push();
- Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY);
- Matrix_Scale(3.0f, 3.0f, 3.0f, MTXMODE_APPLY);
- Matrix_ReplaceRotation(&play->billboardMtxF);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
G_MTX_MODELVIEW | G_MTX_LOAD);
- gDPSetGrayscaleColor(POLY_XLU_DISP++, colors[slot][0], colors[slot][1], colors[slot][2], 255);
- gSPGrayscale(POLY_XLU_DISP++, true);
- gSPDisplayList(POLY_XLU_DISP++, (Gfx*)gGiBlueFireFlameDL);
- gSPGrayscale(POLY_XLU_DISP++, false);
- Matrix_Pop();
+ gSPDisplayList(POLY_XLU_DISP++, (Gfx*)gBossSoulSkullDL);
+
+
+ // TODO Add flame as backdrop for test model?
+ // Gfx_SetupDL_25Xlu(play->state.gfxCtx);
+ // gSPSegment(POLY_XLU_DISP++, 8, (uintptr_t)Gfx_TwoTexScroll(
+ // play->state.gfxCtx, 0, 0 * (play->state.frames * 0),
+ // 0 * (play->state.frames * 0), 16, 32, 1, 1 * (play->state.frames * 1),
+ // -1 * (play->state.frames * 8), 16, 32
+ // ));
+ // Matrix_Push();
+ // gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
+ // G_MTX_MODELVIEW | G_MTX_LOAD);
+ // //Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY);
+ // //Matrix_Scale(5.0f, 5.0f, 5.0f, MTXMODE_APPLY);
+ // Matrix_ReplaceRotation(&play->billboardMtxF);
+ // gDPSetGrayscaleColor(POLY_XLU_DISP++, colors[slot][0], colors[slot][1], colors[slot][2], 255);
+ // gSPGrayscale(POLY_XLU_DISP++, true);
+ // gSPDisplayList(POLY_XLU_DISP++, (Gfx*)gGiBlueFireFlameDL);
+ // gSPGrayscale(POLY_XLU_DISP++, false);
+ // Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx);