From 3109e81ba05b8057915d4001aaad4ac8653fc285 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 5 Apr 2020 18:30:27 +1000 Subject: [PATCH] Decompile func0f000000 --- src/game/game_000000.c | 55 +++++++++------------------------- src/gvars/gvars.c | 4 +-- src/include/game/game_000000.h | 2 +- src/include/gvars/gvars.h | 4 +-- src/include/types.h | 5 ++++ 5 files changed, 24 insertions(+), 46 deletions(-) diff --git a/src/game/game_000000.c b/src/game/game_000000.c index 1d513ba22..0b9b4347b 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -11,44 +11,17 @@ #include "lib/lib_121e0.h" #include "types.h" -GLOBAL_ASM( -glabel func0f000000 -/* f000000: 3c0e8008 */ lui $t6,%hi(g_LanguageId) -/* f000004: 8dce4120 */ lw $t6,%lo(g_LanguageId)($t6) -/* f000008: 27bdffe8 */ addiu $sp,$sp,-24 -/* f00000c: afbf0014 */ sw $ra,0x14($sp) -/* f000010: 11c00019 */ beqz $t6,.L0f000078 -/* f000014: 24042e80 */ addiu $a0,$zero,0x2e80 -/* f000018: 0c0048f2 */ jal malloc -/* f00001c: 24050006 */ addiu $a1,$zero,0x6 -/* f000020: 3c01800b */ lui $at,%hi(var800aabb4) -/* f000024: ac22abb4 */ sw $v0,%lo(var800aabb4)($at) -/* f000028: 24040100 */ addiu $a0,$zero,0x100 -/* f00002c: 0c0048f2 */ jal malloc -/* f000030: 24050006 */ addiu $a1,$zero,0x6 -/* f000034: 3c04800b */ lui $a0,%hi(var800aabb8) -/* f000038: 2484abb8 */ addiu $a0,$a0,%lo(var800aabb8) -/* f00003c: ac820000 */ sw $v0,0x0($a0) -/* f000040: 00001825 */ or $v1,$zero,$zero -/* f000044: 240500f8 */ addiu $a1,$zero,0xf8 -.L0f000048: -/* f000048: 8c8f0000 */ lw $t7,0x0($a0) -/* f00004c: 01e31021 */ addu $v0,$t7,$v1 -/* f000050: 90580000 */ lbu $t8,0x0($v0) -/* f000054: 3319ff3f */ andi $t9,$t8,0xff3f -/* f000058: a0590000 */ sb $t9,0x0($v0) -/* f00005c: 8c880000 */ lw $t0,0x0($a0) -/* f000060: 01031021 */ addu $v0,$t0,$v1 -/* f000064: 944a0000 */ lhu $t2,0x0($v0) -/* f000068: 24630002 */ addiu $v1,$v1,0x2 -/* f00006c: 354b3fff */ ori $t3,$t2,0x3fff -/* f000070: 1465fff5 */ bne $v1,$a1,.L0f000048 -/* f000074: a44b0000 */ sh $t3,0x0($v0) -.L0f000078: -/* f000078: 8fbf0014 */ lw $ra,0x14($sp) -/* f00007c: 27bd0018 */ addiu $sp,$sp,0x18 -/* f000080: 03e00008 */ jr $ra -/* f000084: 00000000 */ sll $zero,$zero,0x0 -/* f000088: 00000000 */ sll $zero,$zero,0x0 -/* f00008c: 00000000 */ sll $zero,$zero,0x0 -); +void func0f000000(void) +{ + s32 i; + + if (g_LanguageId != LANGUAGE_ENGLISH) { + var800aabb4 = malloc(0x2e80, 6); + var800aabb8 = malloc(0x100, 6); + + for (i = 0; i < 0x7c; i++) { + var800aabb8[i].unk00_00 = 0; + var800aabb8[i].unk00_02 = 0x3fff; + } + } +} diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 9a018975d..7af854fe8 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -24069,8 +24069,8 @@ u32 var800aaa94 = 0; u32 var800aaa98 = 0; u32 var800aaa9c = 0; char *g_LangBanks[69] = {NULL}; -u32 var800aabb4 = 0; -u32 var800aabb8 = 0; +void *var800aabb4 = NULL; +struct var800aabb8 *var800aabb8 = NULL; u32 var800aabbc = 0; struct texture *g_Textures = NULL; u32 var800aabc4 = 0; diff --git a/src/include/game/game_000000.h b/src/include/game/game_000000.h index 369176807..fae25dac6 100644 --- a/src/include/game/game_000000.h +++ b/src/include/game/game_000000.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f000000(void); +void func0f000000(void); #endif diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 6c931b14a..3050a59f1 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -770,8 +770,8 @@ extern u32 var800aaa78; extern u32 var800aaa88; extern u32 var800aaa98; extern char *g_LangBanks[69]; -extern u32 var800aabb4; -extern u32 var800aabb8; +extern void *var800aabb4; +extern struct var800aabb8 *var800aabb8; extern struct texture *g_Textures; extern u32 var800aabc8; extern u32 var800aabd8; diff --git a/src/include/types.h b/src/include/types.h index 15c2d8113..6527244f8 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -5883,4 +5883,9 @@ struct texture { u32 unk08; }; +struct var800aabb8 { + u16 unk00_00 : 2; + u16 unk00_02 : 14; +}; + #endif