From dfadab7bd03859014e39e91aefa77bec9587e261 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 16 Nov 2019 19:19:02 +1000 Subject: [PATCH] Decompile textClearBank --- src/game/game_00b200.c | 10 +++++----- src/game/game_102240.c | 2 +- src/game/game_1668e0.c | 2 +- src/game/game_16cfa0.c | 12 ++++-------- src/gvars/gvars.c | 2 +- src/include/game/game_16cfa0.h | 2 +- src/include/gvars/gvars.h | 2 +- 7 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/game/game_00b200.c b/src/game/game_00b200.c index fd24061d9..b12b7de1b 100644 --- a/src/game/game_00b200.c +++ b/src/game/game_00b200.c @@ -99,13 +99,13 @@ glabel func0f00b210 GLOBAL_ASM( glabel func0f00b320 /* f00b320: 27bdffe0 */ addiu $sp,$sp,-32 -/* f00b324: 3c02800b */ lui $v0,%hi(var800aaaa0) +/* f00b324: 3c02800b */ lui $v0,%hi(g_TextBanks) /* f00b328: 3c03800b */ lui $v1,%hi(var800aabb4) /* f00b32c: afbf001c */ sw $ra,0x1c($sp) /* f00b330: afb00018 */ sw $s0,0x18($sp) /* f00b334: afa40020 */ sw $a0,0x20($sp) /* f00b338: 2463abb4 */ addiu $v1,$v1,%lo(var800aabb4) -/* f00b33c: 2442aaa0 */ addiu $v0,$v0,%lo(var800aaaa0) +/* f00b33c: 2442aaa0 */ addiu $v0,$v0,%lo(g_TextBanks) .L0f00b340: /* f00b340: 24420004 */ addiu $v0,$v0,0x4 /* f00b344: 1443fffe */ bne $v0,$v1,.L0f00b340 @@ -115,8 +115,8 @@ glabel func0f00b320 /* f00b354: 00402025 */ or $a0,$v0,$zero /* f00b358: 0fc59c3f */ jal func0f1670fc /* f00b35c: 24050022 */ addiu $a1,$zero,0x22 -/* f00b360: 3c10800b */ lui $s0,%hi(var800aaaa0) -/* f00b364: 2610aaa0 */ addiu $s0,$s0,%lo(var800aaaa0) +/* f00b360: 3c10800b */ lui $s0,%hi(g_TextBanks) +/* f00b364: 2610aaa0 */ addiu $s0,$s0,%lo(g_TextBanks) /* f00b368: ae020098 */ sw $v0,0x98($s0) /* f00b36c: 0fc5b9bd */ jal func0f16e6f4 /* f00b370: 24040028 */ addiu $a0,$zero,0x28 @@ -449,4 +449,4 @@ glabel func0f00b62c /* f00b814: 00000000 */ sll $zero,$zero,0x0 /* f00b818: 00000000 */ sll $zero,$zero,0x0 /* f00b81c: 00000000 */ sll $zero,$zero,0x0 -); \ No newline at end of file +); diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 23b6f2ba0..19ac4a0e6 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -1702,7 +1702,7 @@ glabel menudialog00103608 /* f103688: 8fbf0014 */ lw $ra,0x14($sp) .L0f10368c: /* f10368c: 3c04800a */ lui $a0,0x800a -/* f103690: 0fc5b9ec */ jal func0f16e7b0 +/* f103690: 0fc5b9ec */ jal textClearBank /* f103694: 9484dfe2 */ lhu $a0,-0x201e($a0) /* f103698: 8fbf0014 */ lw $ra,0x14($sp) .L0f10369c: diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index c8860c36f..3348d122c 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -7204,7 +7204,7 @@ void stageLoad(void) if (g_Vars.unk0004b4 < 0x5a) { s32 bank = func0f16e1e0(g_Vars.unk0004b4); - func0f16e7b0(bank); + textClearBank(bank); func0f015270(); } diff --git a/src/game/game_16cfa0.c b/src/game/game_16cfa0.c index d292431bc..81348b2a3 100644 --- a/src/game/game_16cfa0.c +++ b/src/game/game_16cfa0.c @@ -2032,14 +2032,10 @@ glabel func0f16e764 /* f16e7ac: 27bd0018 */ addiu $sp,$sp,0x18 ); -GLOBAL_ASM( -glabel func0f16e7b0 -/* f16e7b0: 00047080 */ sll $t6,$a0,0x2 -/* f16e7b4: 3c01800b */ lui $at,0x800b -/* f16e7b8: 002e0821 */ addu $at,$at,$t6 -/* f16e7bc: 03e00008 */ jr $ra -/* f16e7c0: ac20aaa0 */ sw $zero,-0x5560($at) -); +void textClearBank(s32 bank) +{ + g_TextBanks[bank] = NULL; +} GLOBAL_ASM( glabel textGet diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index df06eb918..e14f5f112 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -30308,7 +30308,7 @@ u32 var800aaa90 = 0; u32 var800aaa94 = 0; u32 var800aaa98 = 0; u32 var800aaa9c = 0; -u32 var800aaaa0 = 0; +char *g_TextBanks[] = {0}; // length unsure - there are checks for index < 0x5a but length seems to be smaller u32 var800aaaa4 = 0; u32 var800aaaa8 = 0; u32 var800aaaac = 0; diff --git a/src/include/game/game_16cfa0.h b/src/include/game/game_16cfa0.h index 74d2b95bd..633aed37f 100644 --- a/src/include/game/game_16cfa0.h +++ b/src/include/game/game_16cfa0.h @@ -46,7 +46,7 @@ u32 func0f16e6d4(void); u32 func0f16e6f4(void); u32 func0f16e728(void); u32 func0f16e764(void); -void func0f16e7b0(s32 arg0); +void textClearBank(s32 bank); u32 func0f16e818(void); u32 func0f16edac(void); u32 func0f16ee58(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 608531885..666147353 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -803,7 +803,7 @@ extern u32 var800aaa68; extern u32 var800aaa78; extern u32 var800aaa88; extern u32 var800aaa98; -extern u32 var800aaaa0; +extern char *g_TextBanks[]; extern u32 var800aabb4; extern u32 var800aabb8; extern u32 var800aabc0;