diff --git a/soh/assets/custom/objects/object_jabbernut/LeafTex b/soh/assets/custom/objects/object_jabbernut/LeafTex new file mode 100644 index 000000000..8872d9d6e Binary files /dev/null and b/soh/assets/custom/objects/object_jabbernut/LeafTex differ diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL new file mode 100644 index 000000000..e59d96333 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_0 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_0 new file mode 100644 index 000000000..0b52cbb47 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_0 @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_1 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_1 new file mode 100644 index 000000000..036ae2e20 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_1 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_2 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_2 new file mode 100644 index 000000000..cee24069a --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_2 @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_3 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_3 new file mode 100644 index 000000000..6f8e1dc03 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_tri_3 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_0 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_0 new file mode 100644 index 000000000..c72717a09 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_0 @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_1 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_1 new file mode 100644 index 000000000..91b3a82ce --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_1 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_2 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_2 new file mode 100644 index 000000000..b4d3e99c3 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_2 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_3 b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_3 new file mode 100644 index 000000000..122fe5ad7 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/gGiJabbernutDL_vtx_3 @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit new file mode 100644 index 000000000..b414b0944 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit_shadow b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit_shadow new file mode 100644 index 000000000..2840a342b --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_fruit_shadow @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_leaf b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_leaf new file mode 100644 index 000000000..bdee796e4 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_leaf @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_stem b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_stem new file mode 100644 index 000000000..e4f7cfac1 --- /dev/null +++ b/soh/assets/custom/objects/object_jabbernut/mat_gGiJabbernutDL_f3dlite_stem @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_jabbernut/shadow b/soh/assets/custom/objects/object_jabbernut/shadow new file mode 100644 index 000000000..667d99efc Binary files /dev/null and b/soh/assets/custom/objects/object_jabbernut/shadow differ diff --git a/soh/assets/custom/objects/object_jabbernut/shinyspot b/soh/assets/custom/objects/object_jabbernut/shinyspot new file mode 100644 index 000000000..40d9bd884 Binary files /dev/null and b/soh/assets/custom/objects/object_jabbernut/shinyspot differ diff --git a/soh/assets/soh_assets.h b/soh/assets/soh_assets.h index 3c3ddcf5a..98ddada03 100644 --- a/soh/assets/soh_assets.h +++ b/soh/assets/soh_assets.h @@ -137,6 +137,9 @@ static const ALIGN_ASSET(2) char gRandoCuttableGrassHeartDL[] = dgRandoCuttableG #define dgRandoCuttableGrassJunkDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassJunkDL" static const ALIGN_ASSET(2) char gRandoCuttableGrassJunkDL[] = dgRandoCuttableGrassJunkDL; +#define dgGiJabbernutDL "__OTR__objects/object_jabbernut/gGiJabbernutDL" +static const ALIGN_ASSET(2) char gGiJabbernutDL[] = dgGiJabbernutDL; + #define dgFishingPoleGiDL "__OTR__objects/object_gi_fishing_pole/gFishingPoleGiDL" static const ALIGN_ASSET(2) char gFishingPoleGiDL[] = dgFishingPoleGiDL; diff --git a/soh/soh/Enhancements/randomizer/draw.cpp b/soh/soh/Enhancements/randomizer/draw.cpp index b17718b65..b730b920f 100644 --- a/soh/soh/Enhancements/randomizer/draw.cpp +++ b/soh/soh/Enhancements/randomizer/draw.cpp @@ -1109,6 +1109,17 @@ extern "C" void Randomizer_DrawBronzeScale(PlayState* play, GetItemEntry* getIte CLOSE_DISPS(play->state.gfxCtx); } +extern "C" void Randomizer_DrawJabbernut(PlayState* play, GetItemEntry* getItemEntry) { + OPEN_DISPS(play->state.gfxCtx); + + Gfx_SetupDL_26Opa(play->state.gfxCtx); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), + G_MTX_MODELVIEW | G_MTX_LOAD); + + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiJabbernutDL); + CLOSE_DISPS(play->state.gfxCtx); +} + extern "C" void Randomizer_DrawFishingPoleGI(PlayState* play, GetItemEntry* getItemEntry) { Vec3f pos; OPEN_DISPS(play->state.gfxCtx); diff --git a/soh/soh/Enhancements/randomizer/draw.h b/soh/soh/Enhancements/randomizer/draw.h index 8483a7bf9..c3d222a43 100644 --- a/soh/soh/Enhancements/randomizer/draw.h +++ b/soh/soh/Enhancements/randomizer/draw.h @@ -21,6 +21,7 @@ void Randomizer_DrawTriforcePiece(PlayState* play, GetItemEntry getItemEntry); void Randomizer_DrawTriforcePieceGI(PlayState* play, GetItemEntry getItemEntry); void Randomizer_DrawOcarinaButton(PlayState* play, GetItemEntry* getItemEntry); void Randomizer_DrawBronzeScale(PlayState* play, GetItemEntry* getItemEntry); +void Randomizer_DrawJabbernut(PlayState* play, GetItemEntry* getItemEntry); void Randomizer_DrawFishingPoleGI(PlayState* play, GetItemEntry* getItemEntry); void Randomizer_DrawSkeletonKey(PlayState* play, GetItemEntry* getItemEntry); void Randomizer_DrawMysteryItem(PlayState* play, GetItemEntry* getItemEntry); diff --git a/soh/soh/Enhancements/randomizer/item_list.cpp b/soh/soh/Enhancements/randomizer/item_list.cpp index 563803ab6..08dcc277e 100644 --- a/soh/soh/Enhancements/randomizer/item_list.cpp +++ b/soh/soh/Enhancements/randomizer/item_list.cpp @@ -353,6 +353,7 @@ void Rando::StaticData::InitItemTable() { itemTable[RG_BRONZE_SCALE].SetCustomDrawFunc(Randomizer_DrawBronzeScale); itemTable[RG_SPEAK] = Item(RG_SPEAK, Text{ "Speak", "Parler", "" }, ITEMTYPE_ITEM, GI_SCALE_SILVER, true, LOGIC_NONE, RHT_SPEAK, RG_SPEAK, OBJECT_GI_SCALE, GID_SCALE_SILVER, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); + itemTable[RG_SPEAK].SetCustomDrawFunc(Randomizer_DrawJabbernut); itemTable[RG_BOMBCHU_BAG] = Item(RG_BOMBCHU_BAG, Text{ "Bombchu Bag", "Sac de Missiles Teigneux", "Krabbelminentasche" }, ITEMTYPE_ITEM, RG_BOMBCHU_BAG, true, LOGIC_BOMBCHUS, RHT_BOMBCHU_BAG, RG_BOMBCHU_BAG, OBJECT_GI_BOMB_2, GID_BOMBCHU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); itemTable[RG_BOMBCHU_BAG].SetCustomDrawFunc(Randomizer_DrawBombchuBag);