diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index dd066e751..b2a5bbddb 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -1532,6 +1532,10 @@ glabel func0f01e6a4 .L0f01e758: /* f01e758: 03e00008 */ jr $ra /* f01e75c: 00000000 */ sll $zero,$zero,0x0 +); + +GLOBAL_ASM( +glabel func0f01e760 /* f01e760: 00802825 */ or $a1,$a0,$zero /* f01e764: 27bdffe8 */ addiu $sp,$sp,-24 /* f01e768: 00042080 */ sll $a0,$a0,0x2 diff --git a/src/game/game_000090.c b/src/game/game_000090.c index 7e5c42780..0ce3db35b 100644 --- a/src/game/game_000090.c +++ b/src/game/game_000090.c @@ -1,57 +1,31 @@ #include #include "constants.h" -#include "gvars/gvars.h" -#include "setup/setup_000000.h" -#include "setup/setup_0160b0.h" -#include "setup/setup_020df0.h" -#include "types.h" +#include "game/chr/chr.h" #include "game/game_000130.h" +#include "gvars/gvars.h" #include "library/library.h" +#include "setup/setup_000000.h" +#include "types.h" -GLOBAL_ASM( -glabel func0f000090 -/* f000090: 2402ffff */ addiu $v0,$zero,-1 -/* f000094: 3c018006 */ lui $at,0x8006 -/* f000098: ac2224b4 */ sw $v0,0x24b4($at) -/* f00009c: 3c018006 */ lui $at,0x8006 -/* f0000a0: ac2024b8 */ sw $zero,0x24b8($at) -/* f0000a4: 3c018006 */ lui $at,0x8006 -/* f0000a8: ac2024c4 */ sw $zero,0x24c4($at) -/* f0000ac: 3c018006 */ lui $at,0x8006 -/* f0000b0: ac2224e4 */ sw $v0,0x24e4($at) -/* f0000b4: 3c018006 */ lui $at,0x8006 -/* f0000b8: ac2024e0 */ sw $zero,0x24e0($at) -/* f0000bc: 24030001 */ addiu $v1,$zero,0x1 -/* f0000c0: 3c018006 */ lui $at,0x8006 -/* f0000c4: ac2324e8 */ sw $v1,0x24e8($at) -/* f0000c8: 3c018006 */ lui $at,0x8006 -/* f0000cc: ac2024ec */ sw $zero,0x24ec($at) -/* f0000d0: 3c018006 */ lui $at,0x8006 -/* f0000d4: ac2024f0 */ sw $zero,0x24f0($at) -/* f0000d8: 3c04800a */ lui $a0,%hi(var8009dfe8) -/* f0000dc: 3c018006 */ lui $at,0x8006 -/* f0000e0: 2484dfe8 */ addiu $a0,$a0,%lo(var8009dfe8) -/* f0000e4: ac2324f4 */ sw $v1,0x24f4($at) -/* f0000e8: 24050080 */ addiu $a1,$zero,0x80 -/* f0000ec: a0800004 */ sb $zero,0x4($a0) -/* f0000f0: a0850005 */ sb $a1,0x5($a0) -/* f0000f4: a0850006 */ sb $a1,0x6($a0) -/* f0000f8: 03e00008 */ jr $ra -/* f0000fc: a0850007 */ sb $a1,0x7($a0) -); +void func0f000090(void) +{ + var800624b4 = -1; + var800624b8 = 0; + var800624c4 = 0; + var800624e4 = -1; + var800624e0 = 0; + var800624e8 = 1; + var800624ec = 0; + var800624f0 = 0; + var800624f4 = 1; + var8009dfe8[4] = 0; + var8009dfe8[5] = 0x80; + var8009dfe8[6] = 0x80; + var8009dfe8[7] = 0x80; +} -GLOBAL_ASM( -glabel func0f000100 -/* f000100: 27bdffe8 */ addiu $sp,$sp,-24 -/* f000104: afbf0014 */ sw $ra,0x14($sp) -/* f000108: 3c047f02 */ lui $a0,0x7f02 -/* f00010c: 0c006946 */ jal func0001a518 -/* f000110: 2484e760 */ addiu $a0,$a0,-6304 -/* f000114: 0fc00192 */ jal func0f000648 -/* f000118: 00000000 */ sll $zero,$zero,0x0 -/* f00011c: 8fbf0014 */ lw $ra,0x14($sp) -/* f000120: 27bd0018 */ addiu $sp,$sp,0x18 -/* f000124: 03e00008 */ jr $ra -/* f000128: 00000000 */ sll $zero,$zero,0x0 -/* f00012c: 00000000 */ sll $zero,$zero,0x0 -); \ No newline at end of file +void func0f000100(void) +{ + func0001a518(&func0f01e760); + func0f000648(); +} diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 94acae0db..23b6f2ba0 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -1760,9 +1760,9 @@ glabel menuhandlerPdModeSetting /* f10373c: 1000003b */ beqz $zero,.L0f10382c /* f103740: 00001025 */ or $v0,$zero,$zero .L0f103744: -/* f103744: 3c02800a */ lui $v0,%hi(var8009dfec) +/* f103744: 3c02800a */ lui $v0,0x800a /* f103748: 1000000c */ beqz $zero,.L0f10377c -/* f10374c: 2442dfec */ addiu $v0,$v0,%lo(var8009dfec) +/* f10374c: 2442dfec */ addiu $v0,$v0,0xdfec .L0f103750: /* f103750: 3c02800a */ lui $v0,0x800a /* f103754: 10000009 */ beqz $zero,.L0f10377c @@ -5665,4 +5665,4 @@ glabel func0f106b20 /* f106d34: 00000000 */ sll $zero,$zero,0x0 /* f106d38: 00000000 */ sll $zero,$zero,0x0 /* f106d3c: 00000000 */ sll $zero,$zero,0x0 -); \ No newline at end of file +); diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 2c5fac549..f797b46a8 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -17332,8 +17332,7 @@ u32 var8009dfd8 = 0; u32 var8009dfdc = 0; u32 var8009dfe0 = 0; u32 var8009dfe4 = 0; -u32 var8009dfe8 = 0; -u32 var8009dfec = 0; +u8 var8009dfe8[] = {0, 0, 0, 0, 0, 0, 0, 0}; u32 var8009dff0 = 0; u32 var8009dff4 = 0; u32 var8009dff8 = 0; diff --git a/src/include/game/chr/chr.h b/src/include/game/chr/chr.h index bf6654e75..44dfb6f86 100644 --- a/src/include/game/chr/chr.h +++ b/src/include/game/chr/chr.h @@ -857,5 +857,6 @@ s32 padResolve(struct chrdata *chr, s32 pad_id); float positionGetDistanceToPosition(struct position *a, struct position *b); u32 positionGetIndexByChrId(struct chrdata *chr, s32 chrnum); float positionGetLateralDistanceToPosition(struct position *a, struct position *b); +void func0f01e760(void); #endif diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index e14b83e40..077b876e1 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -637,8 +637,7 @@ extern u32 var8009dfbc; extern u32 var8009dfc0; extern u32 var8009dfc8; extern u32 var8009dfd4; -extern u32 var8009dfe8; -extern u32 var8009dfec; +extern u8 var8009dfe8[]; extern u32 var8009e000; extern u32 var8009e840; extern u32 var8009f190; diff --git a/src/include/library/library.h b/src/include/library/library.h index 8a12a19b4..a31331a0e 100644 --- a/src/include/library/library.h +++ b/src/include/library/library.h @@ -216,7 +216,7 @@ u32 func000185d0(void); u32 func0001a3d0(void); u32 func0001a3dc(void); u32 func0001a50c(void); -u32 func0001a518(void); +void func0001a518(void *ptr); u32 func0001a524(void); u32 func0001a5cc(void); u32 func0001a60c(void); diff --git a/src/include/setup/setup_000000.h b/src/include/setup/setup_000000.h index a60cfb361..c46230cfa 100644 --- a/src/include/setup/setup_000000.h +++ b/src/include/setup/setup_000000.h @@ -218,9 +218,16 @@ extern u32 var800624a4; extern u32 var800624a8; extern u32 var800624ac; extern u32 var800624b0; -extern u32 var800624b8; +extern s32 var800624b4; +extern s32 var800624b8; extern u32 var800624bc; extern u32 var800624c4; +extern u32 var800624e0; +extern s32 var800624e4; +extern u32 var800624e8; +extern u32 var800624ec; +extern u32 var800624f0; +extern u32 var800624f4; extern u32 var800624f8; extern u32 var800624fc; extern u32 var80062508; diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index d2f623399..4b5f960a8 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -7986,10 +7986,10 @@ u32 var800624a4 = 0x00000000; u32 var800624a8 = 0x00000000; u32 var800624ac = 0x00000000; u32 var800624b0 = 0x00000000; -u32 var800624b4 = 0xffffffff; -u32 var800624b8 = 0xffffffff; +s32 var800624b4 = -1; +s32 var800624b8 = -1; u32 var800624bc = 0x00000002; -u32 var800624c0 = 0xffffffff; +s32 var800624c0 = -1; u32 var800624c4 = 0x00000000; u32 var800624c8 = 0x00000000; u32 var800624cc = 0x00000000; @@ -7998,7 +7998,7 @@ u32 var800624d4 = 0x00000000; u32 var800624d8 = 0x00000000; u32 var800624dc = 0x00000000; u32 var800624e0 = 0x00000000; -u32 var800624e4 = 0xffffffff; +s32 var800624e4 = -1; u32 var800624e8 = 0x00000001; u32 var800624ec = 0x00000001; u32 var800624f0 = 0x00000000;