From 948e0d5c2772a5753b230e8bb8c48da8ae6e1f14 Mon Sep 17 00:00:00 2001 From: Dario Date: Wed, 21 Jan 2026 20:22:05 -0300 Subject: [PATCH] More utility patches. --- patches/dialog_patches.c | 29 +++++++++++++++++++++++--- patches/init_patches.c | 2 +- patches/projection_transform_tagging.c | 16 ++++++++++++-- patches/specific_actor_patches.c | 2 +- patches/transition_patches.c | 2 +- 5 files changed, 43 insertions(+), 8 deletions(-) diff --git a/patches/dialog_patches.c b/patches/dialog_patches.c index a9b39f9..a74f5cf 100644 --- a/patches/dialog_patches.c +++ b/patches/dialog_patches.c @@ -132,8 +132,6 @@ RECOMP_PATCH char* dialogBin_get(enum asset_e text_id) { add_dialog_bin_string(DIALOGUE_BOTTLES_HEAD, "NO FEATHER BRAIN. IT'S JIGGIES OF TIME BY KURKO MODS, WHICH YOU CAN PLAY IN THIS PORT!"); add_dialog_bin_string(DIALOGUE_BOTTLES_HEAD, "WE MADE TOOLS FOR MODDERS TO CONVERT THEIR COMPATIBLE ROMHACKS INTO RECOMP MODS!"); add_dialog_bin_string(DIALOGUE_BOTTLES_HEAD, "NOSTALGIA 64 IS ALSO AVAILABLE, AND MORE MODS WILL BE RELEASED IN THE FUTURE!"); - add_dialog_bin_string(DIALOGUE_BANJO_HEAD, "THAT WAS GREAT! SO WHEN CAN WE PLAY THIS PORT?"); - add_dialog_bin_string(DIALOGUE_MUMBO_HEAD, "YOU CAN PLAY IT...NOW!"); add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); next_dialog_bin_character(); add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); @@ -215,9 +213,34 @@ RECOMP_PATCH char* dialogBin_get(enum asset_e text_id) { } return dialog_3717; + case 3719: + static char* dialog_3719; + if (dialog_3719 == NULL) { + start_dialog_bin(); + add_dialog_bin_string(DIALOGUE_BANJO_HEAD, "THAT WAS GREAT! SO WHEN CAN WE PLAY THIS PORT?"); + add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); + next_dialog_bin_character(); + add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); + dialog_3719 = end_dialog_bin(); + } + + return dialog_3719; + case 3720: + static char* dialog_3720; + if (dialog_3720 == NULL) { + start_dialog_bin(); + add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); + next_dialog_bin_character(); + add_dialog_bin_string(DIALOGUE_MUMBO_HEAD, "YOU CAN PLAY IT...NOW!"); + add_dialog_bin_string(DIALOGUE_COMMAND_END, ""); + dialog_3720 = end_dialog_bin(); + } + + return dialog_3720; default: break; } return var_v0; -} \ No newline at end of file +} + diff --git a/patches/init_patches.c b/patches/init_patches.c index 9cf1b06..2b4512d 100644 --- a/patches/init_patches.c +++ b/patches/init_patches.c @@ -29,7 +29,7 @@ RECOMP_PATCH void dummy_func_8025AFB0(void) { calculate_map_start_note_indices(); } -#if 0 +#if 1 RECOMP_PATCH enum map_e getDefaultBootMap(void) { return MAP_95_CS_END_ALL_100; diff --git a/patches/projection_transform_tagging.c b/patches/projection_transform_tagging.c index 7db36f1..fd80785 100644 --- a/patches/projection_transform_tagging.c +++ b/patches/projection_transform_tagging.c @@ -335,15 +335,16 @@ RECOMP_PATCH void func_803163A8(GcZoombox *this, Gfx **gfx, Mtx **mtx) { f32 sp38[3]; f32 sp34; -#if 1 +#if 0 // @recomp Greenscreen for recording. const u32 half_height = DEFAULT_FRAMEBUFFER_HEIGHT / 2; const u32 uly = (this->unk172 / half_height) * half_height; const u32 blue = 0x003F003F; const u32 green = 0x07C107C1; + const u32 white = 0xFFFFFFFF; gDPSetCycleType((*gfx)++, G_CYC_FILL); gDPSetRenderMode((*gfx)++, G_RM_NOOP, G_RM_NOOP2); - gDPSetFillColor((*gfx)++, green); + gDPSetFillColor((*gfx)++, white); gDPScisFillRectangle((*gfx)++, 0, uly, DEFAULT_FRAMEBUFFER_WIDTH - 1, uly + half_height - 1); #endif @@ -374,7 +375,9 @@ RECOMP_PATCH void func_803163A8(GcZoombox *this, Gfx **gfx, Mtx **mtx) { u32 prev_transform_id = cur_drawn_model_transform_id; cur_drawn_model_transform_id = ZOOMBOX_TRANSFORM_ID_START + this->portrait_id; +#if 1 modelRender_draw(gfx, mtx, sp50, sp5C, this->unk198 * sp34, sp38, this->model); +#endif // @recomp Reset the model transform ID. cur_drawn_model_transform_id = prev_transform_id; @@ -394,6 +397,11 @@ RECOMP_PATCH void func_803164B0(GcZoombox *this, Gfx **gfx, Mtx **mtx, s32 arg3, if (this->portrait_id == ZOOMBOX_SPRITE_46_TUMBLAR) { arg6 = 0.75f; } + +#if 0 + arg6 = arg6 < 1.0f ? 0.0f : 1.0f; +#endif + func_80338338(0xFF, 0xFF, 0xFF); func_803382FC(this->unk168 * arg6); func_803382E4(5); @@ -434,10 +442,12 @@ RECOMP_PATCH void func_803164B0(GcZoombox *this, Gfx **gfx, Mtx **mtx, s32 arg3, // @recomp Create a matrix group for the portrait's model matrix. gEXMatrixGroupDecomposedVerts((*gfx)++, ZOOMBOX_PORTRAIT_TRANSFORM_ID_START + this->portrait_id, G_EX_PUSH, G_MTX_MODELVIEW, G_EX_EDIT_NONE); +#if 1 modelRender_setDepthMode(MODEL_RENDER_DEPTH_NONE); func_80344090(arg5, this->unk186, gfx); func_8033687C(gfx); viewport_setRenderViewportAndPerspectiveMatrix(gfx, mtx); +#endif // @recomp Pop the model matrix group. gEXPopMatrixGroup((*gfx)++, G_MTX_MODELVIEW); @@ -450,6 +460,7 @@ RECOMP_PATCH void func_803164B0(GcZoombox *this, Gfx **gfx, Mtx **mtx, s32 arg3, // @recomp Patched to assign an ID to the text drawn by the zoombox. RECOMP_PATCH void func_803162B4(GcZoombox *this) { +#if 1 // @recomp Align the zoombox to the left of the screen if necessary. if (left_aligned_zoombox(this)) { cur_pushed_text_transform_origin = G_EX_ORIGIN_LEFT; @@ -497,4 +508,5 @@ RECOMP_PATCH void func_803162B4(GcZoombox *this) { // @recomp Clear ID assigned to the text. cur_pushed_text_transform_id = 0; +#endif } diff --git a/patches/specific_actor_patches.c b/patches/specific_actor_patches.c index fd3b487..2df2dca 100644 --- a/patches/specific_actor_patches.c +++ b/patches/specific_actor_patches.c @@ -150,7 +150,7 @@ RECOMP_PATCH Actor *func_802E0738(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx return this; } -#if 1 +#if 0 if (marker->modelId == 0x355) { // @recomp Greenscreen for recording concert Banjo. const u32 green = 0x07C107C1; diff --git a/patches/transition_patches.c b/patches/transition_patches.c index 1b3485c..5563745 100644 --- a/patches/transition_patches.c +++ b/patches/transition_patches.c @@ -330,7 +330,7 @@ RECOMP_PATCH void gctransition_draw(Gfx **gdl, Mtx **mptr, Vtx **vptr){ transition_model->pad0[0] = 0xBA; } -#if 1 +#if 0 if (s_current_transition.substate > 2) { // @recomp Greenscreen for recording. const u32 blue = 0x003F003F;