From 6919878b407927548429eda9652f0cf6184ecf15 Mon Sep 17 00:00:00 2001 From: Agent X <44549182+AgentXLP@users.noreply.github.com> Date: Tue, 21 Apr 2026 23:41:44 -0400 Subject: [PATCH] Introduce this new pack in a more proper reviewable manner (#1192) * Introduce this new pack in a more proper reviewable manner Ideally I should have made a PR for my new pack and I understand the new geo function may have come out of no where. I've been thinking about adding it for a while and was going to utilize it in a new project I'm working on but I should have explained it first before pushing anything for sure * Address suggestions * Restore these, whoops --- data/dynos_mgr_builtin.cpp | 1 + .../title_texture_0A0001C0.tex | Bin .../title_texture_0A000E40.tex | Bin .../title_texture_0A001AC0.tex | Bin .../title_texture_0A002740.tex | Bin dynos/packs/Coop Cafe Pipe/warp_pipe_geo.bin | Bin 0 -> 21002 bytes src/game/mario_misc.c | 19 ++++++++++++++++++ src/game/mario_misc.h | 1 + 8 files changed, 21 insertions(+) rename dynos/packs/{Fixed Smoke => Coop Cafe Pipe}/title_texture_0A0001C0.tex (100%) rename dynos/packs/{Fixed Smoke => Coop Cafe Pipe}/title_texture_0A000E40.tex (100%) rename dynos/packs/{Fixed Smoke => Coop Cafe Pipe}/title_texture_0A001AC0.tex (100%) rename dynos/packs/{Fixed Smoke => Coop Cafe Pipe}/title_texture_0A002740.tex (100%) create mode 100644 dynos/packs/Coop Cafe Pipe/warp_pipe_geo.bin diff --git a/data/dynos_mgr_builtin.cpp b/data/dynos_mgr_builtin.cpp index bafcc8e3b..c2f8823f8 100644 --- a/data/dynos_mgr_builtin.cpp +++ b/data/dynos_mgr_builtin.cpp @@ -2037,6 +2037,7 @@ static const DynosBuiltinFunction sDynosBuiltinFuncs[] = { define_builtin_function(bhv_ambient_light_update, FUNCTION_BHV), define_builtin_function(bhv_point_light_init, FUNCTION_BHV), define_builtin_function(bhv_point_light_loop, FUNCTION_BHV), + define_builtin_function(geo_switch_character_type, FUNCTION_GEO), }; static const char *sDynosBuiltinFuncTypeNames[] = { diff --git a/dynos/packs/Fixed Smoke/title_texture_0A0001C0.tex b/dynos/packs/Coop Cafe Pipe/title_texture_0A0001C0.tex similarity index 100% rename from dynos/packs/Fixed Smoke/title_texture_0A0001C0.tex rename to dynos/packs/Coop Cafe Pipe/title_texture_0A0001C0.tex diff --git a/dynos/packs/Fixed Smoke/title_texture_0A000E40.tex b/dynos/packs/Coop Cafe Pipe/title_texture_0A000E40.tex similarity index 100% rename from dynos/packs/Fixed Smoke/title_texture_0A000E40.tex rename to dynos/packs/Coop Cafe Pipe/title_texture_0A000E40.tex diff --git a/dynos/packs/Fixed Smoke/title_texture_0A001AC0.tex b/dynos/packs/Coop Cafe Pipe/title_texture_0A001AC0.tex similarity index 100% rename from dynos/packs/Fixed Smoke/title_texture_0A001AC0.tex rename to dynos/packs/Coop Cafe Pipe/title_texture_0A001AC0.tex diff --git a/dynos/packs/Fixed Smoke/title_texture_0A002740.tex b/dynos/packs/Coop Cafe Pipe/title_texture_0A002740.tex similarity index 100% rename from dynos/packs/Fixed Smoke/title_texture_0A002740.tex rename to dynos/packs/Coop Cafe Pipe/title_texture_0A002740.tex diff --git a/dynos/packs/Coop Cafe Pipe/warp_pipe_geo.bin b/dynos/packs/Coop Cafe Pipe/warp_pipe_geo.bin new file mode 100644 index 0000000000000000000000000000000000000000..96467814f2a94b1772cea60e382ef6378b3e4b12 GIT binary patch literal 21002 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 == -1 ? gMarioState : geo_get_mario_state(); + + // assign the case number for execution. + switchCase->selectedCase = marioState->character->type; + } + + return NULL; +} diff --git a/src/game/mario_misc.h b/src/game/mario_misc.h index cf436a200..7920a8374 100644 --- a/src/game/mario_misc.h +++ b/src/game/mario_misc.h @@ -38,5 +38,6 @@ Gfx *geo_mirror_mario_backface_culling(s32 callContext, struct GraphNode *node, Gfx* geo_mario_set_player_colors(s32 callContext, struct GraphNode* node, UNUSED Mat4* c); Gfx* geo_mario_cap_display_list(s32 callContext, struct GraphNode* node, UNUSED Mat4* c); Gfx *geo_process_lua_function(s32 callContext, struct GraphNode *node, UNUSED Mat4 *c); +Gfx *geo_switch_character_type(s32 callContext, struct GraphNode *node, UNUSED void *context); #endif // MARIO_MISC_H