From eb272ef68982f8045c4b4bc2be5a5d15900a35d9 Mon Sep 17 00:00:00 2001 From: nickel246 Date: Sun, 21 Jun 2026 06:15:54 -0700 Subject: [PATCH] Update Visuals for Ability Shuffles (#6783) Adds new visuals for the open chest, climb, and crawl ability shuffles, including bespoke gi models more consistent with the rest of the game as well as unique icons for the item tracker --- .../objects/gameplay_keep/gChestLockTex | Bin 0 -> 220 bytes .../objects/object_gi_chest/gGiOpenChestsDL | 14 + .../gGiOpenChestsDL_layer_Opaque_tri_0 | 180 ++++++++++++ .../gGiOpenChestsDL_layer_Opaque_tri_1 | 28 ++ .../gGiOpenChestsDL_layer_Opaque_tri_2 | 9 + .../gGiOpenChestsDL_layer_Opaque_vtx_0 | 266 ++++++++++++++++++ .../gGiOpenChestsDL_layer_Opaque_vtx_1 | 42 +++ .../gGiOpenChestsDL_layer_Opaque_vtx_2 | 10 + ...iOpenChestsDL_mesh_layer_Transparent_tri_0 | 7 + ...iOpenChestsDL_mesh_layer_Transparent_vtx_0 | 6 + ...at_gGiOpenChestsDL_chest_frame_layerOpaque | 21 ++ ...t_gGiOpenChestsDL_chest_inside_layerOpaque | 21 ++ .../mat_gGiOpenChestsDL_chest_layerOpaque | 21 ++ ...GiOpenChestsDL_chest_lock_layerTransparent | 20 ++ .../custom/objects/object_gi_climb/gGiClimbDL | 8 + .../gGiClimbDL_layer_Opaque_tri_0 | 57 ++++ .../gGiClimbDL_layer_Opaque_vtx_0 | 70 +++++ .../mat_gGiClimbDL_ladder_layerOpaque | 21 ++ .../custom/objects/object_gi_crawl/gGiCrawlDL | 16 ++ .../gGiCrawlDL_layer_Opaque_tri_0 | 66 +++++ .../gGiCrawlDL_layer_Opaque_tri_1 | 44 +++ .../gGiCrawlDL_layer_Opaque_tri_2 | 34 +++ .../gGiCrawlDL_layer_Opaque_tri_3 | 13 + .../gGiCrawlDL_layer_Opaque_tri_4 | 9 + .../gGiCrawlDL_layer_Opaque_vtx_0 | 59 ++++ .../gGiCrawlDL_layer_Opaque_vtx_1 | 41 +++ .../gGiCrawlDL_layer_Opaque_vtx_2 | 54 ++++ .../gGiCrawlDL_layer_Opaque_vtx_3 | 18 ++ .../gGiCrawlDL_layer_Opaque_vtx_4 | 14 + ...mat_gGiCrawlDL_kneepad_decal_2_layerOpaque | 20 ++ .../mat_gGiCrawlDL_kneepad_decal_layerOpaque | 20 ++ .../mat_gGiCrawlDL_kneepad_gem_layerOpaque | 21 ++ .../mat_gGiCrawlDL_kneepad_layerOpaque | 21 ++ ...mat_gGiCrawlDL_kneepad_leather_layerOpaque | 21 ++ .../custom/objects/object_gi_grab/gGiGrabDL | 12 + .../gGiGrabDL_layer_Opaque_tri_0 | 80 ++++++ .../gGiGrabDL_layer_Opaque_tri_1 | 71 +++++ .../gGiGrabDL_layer_Opaque_tri_2 | 29 ++ .../gGiGrabDL_layer_Opaque_vtx_0 | 100 +++++++ .../gGiGrabDL_layer_Opaque_vtx_1 | 94 +++++++ .../gGiGrabDL_layer_Opaque_vtx_2 | 25 ++ ...GiGrabDL_power_bracelet_accent_layerOpaque | 21 ++ ...t_gGiGrabDL_power_bracelet_gem_layerOpaque | 21 ++ .../mat_gGiGrabDL_power_bracelet_layerOpaque | 21 ++ .../icon_item_static/gClimbTex.rgba32.png | Bin 0 -> 1875 bytes .../icon_item_static/gCrawlTex.rgba32.png | Bin 0 -> 2607 bytes .../icon_item_static/gGrabTex.rgba32.png | Bin 0 -> 2066 bytes .../gOpenChestsTex.rgba32.png | Bin 0 -> 2472 bytes soh/assets/soh_assets.h | 24 ++ soh/soh/Enhancements/randomizer/draw.cpp | 79 +----- soh/soh/Enhancements/randomizer/item_list.cpp | 8 +- .../randomizer/randomizer_item_tracker.cpp | 2 +- soh/soh/SohGui/ImGuiUtils.cpp | 24 +- 53 files changed, 1795 insertions(+), 88 deletions(-) create mode 100644 soh/assets/custom/objects/gameplay_keep/gChestLockTex create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_0 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_1 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_2 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_0 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_1 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_2 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_tri_0 create mode 100644 soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_vtx_0 create mode 100644 soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_frame_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_inside_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_lock_layerTransparent create mode 100644 soh/assets/custom/objects/object_gi_climb/gGiClimbDL create mode 100644 soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_tri_0 create mode 100644 soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_vtx_0 create mode 100644 soh/assets/custom/objects/object_gi_climb/mat_gGiClimbDL_ladder_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_0 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_1 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_2 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_3 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_4 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_0 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_1 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_2 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_3 create mode 100644 soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_4 create mode 100644 soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_2_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_gem_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_leather_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_0 create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_1 create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_2 create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_0 create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_1 create mode 100644 soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_2 create mode 100644 soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_accent_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_gem_layerOpaque create mode 100644 soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_layerOpaque create mode 100644 soh/assets/custom/textures/icon_item_static/gClimbTex.rgba32.png create mode 100644 soh/assets/custom/textures/icon_item_static/gCrawlTex.rgba32.png create mode 100644 soh/assets/custom/textures/icon_item_static/gGrabTex.rgba32.png create mode 100644 soh/assets/custom/textures/icon_item_static/gOpenChestsTex.rgba32.png diff --git a/soh/assets/custom/objects/gameplay_keep/gChestLockTex b/soh/assets/custom/objects/gameplay_keep/gChestLockTex new file mode 100644 index 0000000000000000000000000000000000000000..30764d0bd292a55b200a00e65d03f81f78998ae1 GIT binary patch literal 220 zcmZQzU|@)F4e@6L((m`Jy$8ZTCeeTmsFDMS1>iaw>=_su>>Hqb{*abg3=A4ue*XXe zpTYezkOb1#!PI|-*HF3-N;B2{0E{m-EJ O148csQ~&)T)PDf{)Lowd literal 0 HcmV?d00001 diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL new file mode 100644 index 0000000000..6bbdd4b8df --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_0 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_0 new file mode 100644 index 0000000000..85a14b138f --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_0 @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_1 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_1 new file mode 100644 index 0000000000..c3ad8b733c --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_1 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_2 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_2 new file mode 100644 index 0000000000..6369197552 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_tri_2 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_0 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_0 new file mode 100644 index 0000000000..8fb82b99cf --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_0 @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_1 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_1 new file mode 100644 index 0000000000..dde8c515c1 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_1 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_2 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_2 new file mode 100644 index 0000000000..e73e84204e --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_layer_Opaque_vtx_2 @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_tri_0 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_tri_0 new file mode 100644 index 0000000000..f8fef42d69 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_tri_0 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_vtx_0 b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_vtx_0 new file mode 100644 index 0000000000..16e2a50300 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/gGiOpenChestsDL_mesh_layer_Transparent_vtx_0 @@ -0,0 +1,6 @@ + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_frame_layerOpaque b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_frame_layerOpaque new file mode 100644 index 0000000000..4c581c418e --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_frame_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_inside_layerOpaque b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_inside_layerOpaque new file mode 100644 index 0000000000..719a61294c --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_inside_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_layerOpaque b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_layerOpaque new file mode 100644 index 0000000000..c44a43bf20 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_lock_layerTransparent b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_lock_layerTransparent new file mode 100644 index 0000000000..0e87e1fa2d --- /dev/null +++ b/soh/assets/custom/objects/object_gi_chest/mat_gGiOpenChestsDL_chest_lock_layerTransparent @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_climb/gGiClimbDL b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL new file mode 100644 index 0000000000..69b8b36d01 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_tri_0 b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_tri_0 new file mode 100644 index 0000000000..551563c91f --- /dev/null +++ b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_tri_0 @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_vtx_0 b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_vtx_0 new file mode 100644 index 0000000000..18675e007b --- /dev/null +++ b/soh/assets/custom/objects/object_gi_climb/gGiClimbDL_layer_Opaque_vtx_0 @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_climb/mat_gGiClimbDL_ladder_layerOpaque b/soh/assets/custom/objects/object_gi_climb/mat_gGiClimbDL_ladder_layerOpaque new file mode 100644 index 0000000000..4c75266a93 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_climb/mat_gGiClimbDL_ladder_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL new file mode 100644 index 0000000000..beb4fbe283 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_0 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_0 new file mode 100644 index 0000000000..4237974301 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_0 @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_1 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_1 new file mode 100644 index 0000000000..7b025597cb --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_1 @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_2 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_2 new file mode 100644 index 0000000000..98f24ac28d --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_2 @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_3 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_3 new file mode 100644 index 0000000000..13e49ce177 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_3 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_4 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_4 new file mode 100644 index 0000000000..c478443349 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_tri_4 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_0 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_0 new file mode 100644 index 0000000000..3f02189098 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_0 @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_1 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_1 new file mode 100644 index 0000000000..c5029d5985 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_1 @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_2 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_2 new file mode 100644 index 0000000000..516ff3d812 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_2 @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_3 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_3 new file mode 100644 index 0000000000..b8a57d3485 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_3 @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_4 b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_4 new file mode 100644 index 0000000000..8100ac4935 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/gGiCrawlDL_layer_Opaque_vtx_4 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_2_layerOpaque b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_2_layerOpaque new file mode 100644 index 0000000000..e2b27b004a --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_2_layerOpaque @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_layerOpaque b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_layerOpaque new file mode 100644 index 0000000000..08df739078 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_decal_layerOpaque @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_gem_layerOpaque b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_gem_layerOpaque new file mode 100644 index 0000000000..8908fe4738 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_gem_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_layerOpaque b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_layerOpaque new file mode 100644 index 0000000000..a1854c96b4 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_leather_layerOpaque b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_leather_layerOpaque new file mode 100644 index 0000000000..d68b2b7656 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_crawl/mat_gGiCrawlDL_kneepad_leather_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL new file mode 100644 index 0000000000..6f82b68561 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_0 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_0 new file mode 100644 index 0000000000..ab6a7f5ccb --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_0 @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_1 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_1 new file mode 100644 index 0000000000..edbc12e4a5 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_1 @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_2 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_2 new file mode 100644 index 0000000000..24d4e12286 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_tri_2 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_0 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_0 new file mode 100644 index 0000000000..9d353378fa --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_0 @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_1 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_1 new file mode 100644 index 0000000000..3ca19c5f0b --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_1 @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_2 b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_2 new file mode 100644 index 0000000000..6aed39e1ec --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/gGiGrabDL_layer_Opaque_vtx_2 @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_accent_layerOpaque b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_accent_layerOpaque new file mode 100644 index 0000000000..d792132a9d --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_accent_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_gem_layerOpaque b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_gem_layerOpaque new file mode 100644 index 0000000000..9c39f05105 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_gem_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_layerOpaque b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_layerOpaque new file mode 100644 index 0000000000..53634fa609 --- /dev/null +++ b/soh/assets/custom/objects/object_gi_grab/mat_gGiGrabDL_power_bracelet_layerOpaque @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/textures/icon_item_static/gClimbTex.rgba32.png b/soh/assets/custom/textures/icon_item_static/gClimbTex.rgba32.png new file mode 100644 index 0000000000000000000000000000000000000000..d990715a219373b84d6fe77f3cfa234578d5ba45 GIT binary patch literal 1875 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 RGt2-0002ovPDHLkV1gN1=3@W= literal 0 HcmV?d00001 diff --git a/soh/assets/custom/textures/icon_item_static/gGrabTex.rgba32.png b/soh/assets/custom/textures/icon_item_static/gGrabTex.rgba32.png new file mode 100644 index 0000000000000000000000000000000000000000..01215fd2f6086cae045156192a566065ca65aa09 GIT binary patch literal 2066 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 literal 0 HcmV?d00001 diff --git a/soh/assets/custom/textures/icon_item_static/gOpenChestsTex.rgba32.png b/soh/assets/custom/textures/icon_item_static/gOpenChestsTex.rgba32.png new file mode 100644 index 0000000000000000000000000000000000000000..089eb5b5744c0ac58877a93a861a156001387269 GIT binary patch literal 2472 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 literal 0 HcmV?d00001 diff --git a/soh/assets/soh_assets.h b/soh/assets/soh_assets.h index aa75992736..a384f19537 100644 --- a/soh/assets/soh_assets.h +++ b/soh/assets/soh_assets.h @@ -194,6 +194,18 @@ static const ALIGN_ASSET(2) char gGiZoraJabbernutDL[] = dgGiZoraJabbernutDL; #define dgGiFishingPoleDL "__OTR__objects/object_gi_fishing_pole/gGiFishingPoleDL" static const ALIGN_ASSET(2) char gGiFishingPoleDL[] = dgGiFishingPoleDL; +#define dgGiClimbDL "__OTR__objects/object_gi_climb/gGiClimbDL" +static const ALIGN_ASSET(2) char gGiClimbDL[] = dgGiClimbDL; + +#define dgGiCrawlDL "__OTR__objects/object_gi_crawl/gGiCrawlDL" +static const ALIGN_ASSET(2) char gGiCrawlDL[] = dgGiCrawlDL; + +#define dgGiOpenChestsDL "__OTR__objects/object_gi_chest/gGiOpenChestsDL" +static const ALIGN_ASSET(2) char gGiOpenChestsDL[] = dgGiOpenChestsDL; + +#define dgGiGrabDL "__OTR__objects/object_gi_grab/gGiGrabDL" +static const ALIGN_ASSET(2) char gGiGrabDL[] = dgGiGrabDL; + #define dgMysteryItemDL "__OTR__objects/object_mystery_item/gMysteryItemDL" static const ALIGN_ASSET(2) char gMysteryItemDL[] = dgMysteryItemDL; @@ -491,6 +503,18 @@ static const ALIGN_ASSET(2) char gFileSelLanguageGERTex[] = dgFileSelLanguageGER #define dgRocsFeatherTex "__OTR__textures/icon_item_static/gRocsFeatherTex" static const ALIGN_ASSET(2) char gRocsFeatherTex[] = dgRocsFeatherTex; +#define dgCrawlTex "__OTR__textures/icon_item_static/gCrawlTex" +static const ALIGN_ASSET(2) char gCrawlTex[] = dgCrawlTex; + +#define dgClimbTex "__OTR__textures/icon_item_static/gClimbTex" +static const ALIGN_ASSET(2) char gClimbTex[] = dgClimbTex; + +#define dgOpenChestsTex "__OTR__textures/icon_item_static/gOpenChestsTex" +static const ALIGN_ASSET(2) char gOpenChestsTex[] = dgOpenChestsTex; + +#define dgGrabTex "__OTR__textures/icon_item_static/gGrabTex" +static const ALIGN_ASSET(2) char gGrabTex[] = dgGrabTex; + #define dgRocsFeatherItemNameENGTex "__OTR__textures/item_name_static/gRocsFeatherItemNameENGTex" static const ALIGN_ASSET(2) char gRocsFeatherItemNameENGTex[] = dgRocsFeatherItemNameENGTex; diff --git a/soh/soh/Enhancements/randomizer/draw.cpp b/soh/soh/Enhancements/randomizer/draw.cpp index ff7fc3b750..fe16e5b10e 100644 --- a/soh/soh/Enhancements/randomizer/draw.cpp +++ b/soh/soh/Enhancements/randomizer/draw.cpp @@ -1135,10 +1135,7 @@ extern "C" void Randomizer_DrawPowerBracelet(PlayState* play, GetItemEntry* getI gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPGrayscale(POLY_OPA_DISP++, true); - gDPSetGrayscaleColor(POLY_OPA_DISP++, 80, 80, 80, 255); - gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiGoronBraceletDL); - gSPGrayscale(POLY_OPA_DISP++, false); + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiGrabDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -1147,16 +1144,11 @@ extern "C" void Randomizer_DrawLadder(PlayState* play, GetItemEntry* getItemEntr OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPSegment(POLY_OPA_DISP++, 0x08, (uintptr_t)gMoriHashiraTex); - Matrix_Translate(0, -30, 0, MTXMODE_APPLY); - Matrix_Scale(1.0f, 0.25f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gMoriHashigoLadderDL); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), + G_MTX_MODELVIEW | G_MTX_LOAD); - Matrix_RotateY(M_PIf, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gMoriHashigoLadderDL); + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiClimbDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -1165,15 +1157,11 @@ extern "C" void Randomizer_DrawKneePads(PlayState* play, GetItemEntry* getItemEn OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL_25Opa(play->state.gfxCtx); - Matrix_Translate(-35, -5, 0, MTXMODE_APPLY); - Matrix_Scale(0.4f, 0.8f, 1.2f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiDekuShieldDL); - Gfx_SetupDL_25Opa(play->state.gfxCtx); - Matrix_Translate(35, -7, 4, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiDekuShieldDL); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), + G_MTX_MODELVIEW | G_MTX_LOAD); + + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiCrawlDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -1228,54 +1216,15 @@ extern "C" void Randomizer_DrawJabberNut(PlayState* play, GetItemEntry* getItemE CLOSE_DISPS(play->state.gfxCtx); } -static Gfx* boxLidDL; -static Gfx* boxBodyDL; -extern "C" void EnBox_PostLimbDrawOverride(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { - Gfx** gfx = (Gfx**)thisx; - if (limbIndex == 1) { - gSPMatrix((*gfx)++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList((*gfx)++, boxBodyDL); - } else if (limbIndex == 3) { - gSPMatrix((*gfx)++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList((*gfx)++, boxLidDL); - } -} - -extern "C" Gfx* EnBox_EmptyDList(GraphicsContext* gfxCtx); -#define LIMB_COUNT_CHEST 5 extern "C" void Randomizer_DrawOpenChest(PlayState* play, GetItemEntry* getItemEntry) { - static bool initialized = false; - static SkelAnime skelAnime; - static Vec3s jointTable[LIMB_COUNT_CHEST]; - static Vec3s otherTable[LIMB_COUNT_CHEST]; - static u32 lastUpdate = 0; - - if (!initialized) { - initialized = true; - boxBodyDL = ResourceMgr_LoadGfxByName((const char*)gTreasureChestChestFrontDL); - boxLidDL = ResourceMgr_LoadGfxByName((const char*)gTreasureChestChestSideAndLidDL); - SkelAnime_Init(play, &skelAnime, (SkeletonHeader*)&gTreasureChestSkel, - (AnimationHeader*)&gTreasureChestAnim_00024C, jointTable, otherTable, LIMB_COUNT_CHEST); - - // no closing animation to loop, so play animation back & forth for smooth loop - Animation_PlayOnce(&skelAnime, (AnimationHeader*)&gTreasureChestAnim_00043C); - } - - if (lastUpdate != play->state.frames) { - lastUpdate = play->state.frames; - if (SkelAnime_Update(&skelAnime)) { - Animation_Reverse(&skelAnime); - } - } - OPEN_DISPS(play->state.gfxCtx); - Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - gDPPipeSync(POLY_OPA_DISP++); - gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); - gSPSegment(POLY_OPA_DISP++, 0x08, (uintptr_t)EnBox_EmptyDList(play->state.gfxCtx)); Gfx_SetupDL_25Opa(play->state.gfxCtx); - SkelAnime_DrawSkeletonOpa(play, &skelAnime, nullptr, (PostLimbDrawOpa)EnBox_PostLimbDrawOverride, &POLY_OPA_DISP); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), + G_MTX_MODELVIEW | G_MTX_LOAD); + + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiOpenChestsDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -1290,8 +1239,6 @@ extern "C" void Randomizer_DrawFishingPoleGI(PlayState* play, GetItemEntry* getI gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiFishingPoleDL); - Matrix_Pop(); - CLOSE_DISPS(play->state.gfxCtx); } diff --git a/soh/soh/Enhancements/randomizer/item_list.cpp b/soh/soh/Enhancements/randomizer/item_list.cpp index e28d3057a6..378df39b5e 100644 --- a/soh/soh/Enhancements/randomizer/item_list.cpp +++ b/soh/soh/Enhancements/randomizer/item_list.cpp @@ -393,13 +393,13 @@ void Rando::StaticData::InitItemTable() { itemTable[RG_BRONZE_SCALE] = Item(RG_BRONZE_SCALE, Text{ "Bronze Scale", "Écaille de Bronze", "Bronzene Schuppe" }, ITEMTYPE_ITEM, GI_SCALE_SILVER, true, LOGIC_PROGRESSIVE_SCALE, RHT_NONE, RG_BRONZE_SCALE, OBJECT_GI_SCALE, GID_SCALE_SILVER, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, {"the ", "l'", "die "}); itemTable[RG_BRONZE_SCALE].SetCustomDrawFunc(Randomizer_DrawBronzeScale); - itemTable[RG_POWER_BRACELET] = Item(RG_POWER_BRACELET, Text{ "Power Bracelet", "Bracelets de Force", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_BRACELET, true, LOGIC_NONE, RHT_NONE, RG_POWER_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, {"the ", "les ", TODO_TRANSLATE}).CustomIcon(gItemIconGoronsBraceletTex); + itemTable[RG_POWER_BRACELET] = Item(RG_POWER_BRACELET, Text{ "Power Bracelet", "Bracelets de Force", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_BRACELET, true, LOGIC_NONE, RHT_NONE, RG_POWER_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, {"the ", "les ", TODO_TRANSLATE}).CustomIcon(gGrabTex); itemTable[RG_POWER_BRACELET].SetCustomDrawFunc(Randomizer_DrawPowerBracelet); - itemTable[RG_CLIMB] = Item(RG_CLIMB, Text{ "Climb", "Grimper", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_SCALE_SILVER, true, LOGIC_NONE, RHT_CLIMB, RG_CLIMB, OBJECT_GI_SCALE, GID_SCALE_SILVER, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); + itemTable[RG_CLIMB] = Item(RG_CLIMB, Text{ "Climb", "Grimper", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_SCALE_SILVER, true, LOGIC_NONE, RHT_CLIMB, RG_CLIMB, OBJECT_GI_SCALE, GID_SCALE_SILVER, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER).CustomIcon(gClimbTex); itemTable[RG_CLIMB].SetCustomDrawFunc(Randomizer_DrawLadder); - itemTable[RG_CRAWL] = Item(RG_CRAWL, Text{ "Crawl", "Ramper", "Kriechen" }, ITEMTYPE_ITEM, GI_SHIELD_DEKU, true, LOGIC_NONE, RHT_CRAWL, RG_CRAWL, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); + itemTable[RG_CRAWL] = Item(RG_CRAWL, Text{ "Crawl", "Ramper", "Kriechen" }, ITEMTYPE_ITEM, GI_SHIELD_DEKU, true, LOGIC_NONE, RHT_CRAWL, RG_CRAWL, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER).CustomIcon(gCrawlTex); itemTable[RG_CRAWL].SetCustomDrawFunc(Randomizer_DrawKneePads); - itemTable[RG_OPEN_CHEST] = Item(RG_OPEN_CHEST, Text{ "Open Chests", "Ouvrir des coffres", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_KEY_SMALL, true, LOGIC_NONE, RHT_OPEN_CHEST, RG_OPEN_CHEST, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); + itemTable[RG_OPEN_CHEST] = Item(RG_OPEN_CHEST, Text{ "Open Chests", "Ouvrir des coffres", TODO_TRANSLATE }, ITEMTYPE_ITEM, GI_KEY_SMALL, true, LOGIC_NONE, RHT_OPEN_CHEST, RG_OPEN_CHEST, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER).CustomIcon(gOpenChestsTex); itemTable[RG_OPEN_CHEST].SetCustomDrawFunc(Randomizer_DrawOpenChest); itemTable[RG_PROGRESSIVE_BOMBCHU_BAG] = Item(RG_PROGRESSIVE_BOMBCHU_BAG, Text{ "Bombchu Bag", "Sac de Missiles Teigneux", "Krabbelminentasche" }, ITEMTYPE_ITEM, RG_PROGRESSIVE_BOMBCHU_BAG, true, LOGIC_BOMBCHUS, RHT_BOMBCHU_BAG, RG_PROGRESSIVE_BOMBCHU_BAG, OBJECT_GI_BOMB_2, GID_BOMBCHU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, {"a ", "un ", "eine "}).CustomIcon(gItemIconBombchuTex); diff --git a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp index ddd9435e95..48657c29c4 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp @@ -1275,7 +1275,7 @@ void DrawItem(ItemTrackerItem item) { ImGui::PopStyleColor(); } - if (item.id >= RG_BRONZE_SCALE && item.id <= RG_OPEN_CHEST) { + if (item.id == RG_BRONZE_SCALE) { ImVec2 p = ImGui::GetCursorScreenPos(); ImGui::SetCursorScreenPos( ImVec2(p.x + (iconSize / 2) - (ImGui::CalcTextSize(itemName.c_str()).x / 2), p.y - (iconSize + 2))); diff --git a/soh/soh/SohGui/ImGuiUtils.cpp b/soh/soh/SohGui/ImGuiUtils.cpp index 8cf6579106..eedac81c07 100644 --- a/soh/soh/SohGui/ImGuiUtils.cpp +++ b/soh/soh/SohGui/ImGuiUtils.cpp @@ -152,13 +152,13 @@ std::map customItemsMapping = { { RG_BONGO_BONGO_SOUL, { RG_BONGO_BONGO_SOUL, "RG_BONGO_BONGO_SOUL", "RG_BONGO_BONGO_SOUL_Faded", gBossSoulTex } }, { RG_TWINROVA_SOUL, { RG_TWINROVA_SOUL, "RG_TWINROVA_SOUL", "RG_TWINROVA_SOUL_Faded", gBossSoulTex } }, { RG_GANON_SOUL, { RG_GANON_SOUL, "RG_GANON_SOUL", "RG_GANON_SOUL_Faded", gBossSoulTex } }, - { RG_OPEN_CHEST, { RG_OPEN_CHEST, "RG_OPEN_CHEST", "RG_OPEN_CHEST_Faded", gMapChestIconTex } } -}; - -std::map actionShuffleMapping = { - { RG_CRAWL, { RG_CRAWL, "RG_CRAWL", "RG_CRAWL_Faded", gButtonBackgroundTex } }, - { RG_CLIMB, { RG_CLIMB, "RG_CLIMB", "RG_CLIMB_Faded", gButtonBackgroundTex } }, - { RG_POWER_BRACELET, { RG_POWER_BRACELET, "RG_POWER_BRACELET", "RG_POWER_BRACELET_Faded", gButtonBackgroundTex } }, + { RG_OPEN_CHEST, { RG_OPEN_CHEST, "RG_OPEN_CHEST", "RG_OPEN_CHEST_Faded", gOpenChestsTex } }, + { RG_CRAWL, { RG_CRAWL, "RG_CRAWL", "RG_CRAWL_Faded", gCrawlTex } }, + { RG_CLIMB, { RG_CLIMB, "RG_CLIMB", "RG_CLIMB_Faded", gClimbTex } }, + { + RG_POWER_BRACELET, + { RG_POWER_BRACELET, "RG_POWER_BRACELET", "RG_POWER_BRACELET_Faded", gGrabTex }, + }, }; std::map jabbernutMapping = { @@ -235,16 +235,6 @@ void RegisterImGuiItemIcons() { ->LoadGuiTexture(entry.second.nameFaded, entry.second.texturePath, gregFadedGreen); } - for (const auto& entry : actionShuffleMapping) { - ImVec4 aButtonBlue = ImVec4(90.f / 255.f, 90.f / 250.f, 255.f / 255.f, 255.f / 255.f); - ImVec4 aButtonBlueFaded = aButtonBlue; - aButtonBlueFaded.w = 0.3f; - std::dynamic_pointer_cast(Ship::Context::GetRawInstance()->GetWindow()->GetGui()) - ->LoadGuiTexture(entry.second.name, entry.second.texturePath, aButtonBlue); - std::dynamic_pointer_cast(Ship::Context::GetRawInstance()->GetWindow()->GetGui()) - ->LoadGuiTexture(entry.second.nameFaded, entry.second.texturePath, aButtonBlueFaded); - } - for (const auto& entry : customItemsMapping) { std::dynamic_pointer_cast(Ship::Context::GetRawInstance()->GetWindow()->GetGui()) ->LoadGuiTexture(entry.second.name, entry.second.texturePath, ImVec4(1, 1, 1, 1));