From b34471030c8e9ad3e228f4ccf0f660917dbaf945 Mon Sep 17 00:00:00 2001 From: Ralphie Morell Date: Tue, 31 Oct 2023 20:31:27 -0400 Subject: [PATCH] refine boss soul model (thanks sitton76!) --- .../gGIBossSoulSkullDL_tri_0 | 4 +- .../gGIBossSoulSkullDL_vtx_0 | 342 +++++------ .../gGIBossSoulSkullDL_vtx_1 | 48 +- .../gGIBossSoulSkullDL_vtx_2 | 8 +- .../gGIBossSoulSkullDL_vtx_3 | 112 ++-- .../gGIBossSoulSkullDL_vtx_4 | 530 +++++++++--------- .../mat_gGIBossSoulSkullDL_skull_surface | 2 +- soh/soh/Enhancements/randomizer/draw.cpp | 62 +- 8 files changed, 555 insertions(+), 553 deletions(-) diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0 index 87cfedfaf..49f29247f 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_tri_0 @@ -12,8 +12,8 @@ - - + + diff --git a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0 b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0 index 82c478df5..ed4b6e1c0 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_0 @@ -1,173 +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 index 2544d138b..d2728aae4 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_1 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_1 @@ -1,26 +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 index 3de701602..eb0050c03 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_2 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_2 @@ -1,6 +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 index 80d934941..f124650c8 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_3 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_3 @@ -1,58 +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 index 98009f97b..2bbe7895e 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_4 +++ b/OTRExporter/assets/objects/object_gi_boss_soul/gGIBossSoulSkullDL_vtx_4 @@ -1,267 +1,267 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 index 1b5b65898..ea4bbdc17 100644 --- a/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_surface +++ b/OTRExporter/assets/objects/object_gi_boss_soul/mat_gGIBossSoulSkullDL_skull_surface @@ -15,7 +15,7 @@ - + diff --git a/soh/soh/Enhancements/randomizer/draw.cpp b/soh/soh/Enhancements/randomizer/draw.cpp index 636f2528c..fd325e7d1 100644 --- a/soh/soh/Enhancements/randomizer/draw.cpp +++ b/soh/soh/Enhancements/randomizer/draw.cpp @@ -262,44 +262,46 @@ extern "C" void Randomizer_DrawTriforcePieceGI(PlayState* play, GetItemEntry get extern "C" void Randomizer_DrawBossSoul(PlayState* play, GetItemEntry* getItemEntry) { s16 slot = getItemEntry->getItemId - RG_GOHMA_SOUL; - s16 colors[9][3] = { - { 0, 255, 0 }, // Deku Tree - { 255, 0, 100 }, // Dodongo's Cavern - { 50, 255, 255}, // Jabu - { 4, 195, 46 }, // Forest Temple - { 237, 95, 95 }, // Fire Temple - { 85, 180, 223 }, // Water Temple - { 222, 158, 47 }, // Spirit Temple - { 126, 16, 177 }, // Shadow Temple - { 80, 80, 80 }, // Ganon's Castle - + s16 flameColors[9][3] = { + { 0, 255, 0 }, // Gohma + { 255, 0, 100 }, // King Dodongo + { 50, 255, 255}, // Barinade + { 4, 195, 46 }, // Phantom Ganon + { 237, 95, 95 }, // Volvagia + { 85, 180, 223 }, // Morpha + { 126, 16, 177 }, // Bongo Bongo + { 222, 158, 47 }, // Twinrova + { 80, 80, 80 }, // Ganon/Dorf }; OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), G_MTX_MODELVIEW | G_MTX_LOAD); + if (slot == 8) { // For Ganon only... + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, 255); + } else { + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); + } 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(); + 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, -70.0f, 0.0f, MTXMODE_APPLY); + Matrix_Scale(5.0f, 5.0f, 5.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++, flameColors[slot][0], flameColors[slot][1], flameColors[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);