From bd837679021f0e2913f075676040b494f13fe6db Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 15 Mar 2020 09:22:28 +1000 Subject: [PATCH] Decompile setVar80084014 --- src/game/data/data_020df0.c | 2 +- src/game/game_0b63b0.c | 6 ++-- src/game/game_0f09f0.c | 4 +-- src/game/game_10ccd0.c | 6 ++-- src/game/game_167ae0.c | 43 ++++++++++------------------- src/include/game/data/data_020df0.h | 2 +- src/include/game/game_167ae0.h | 4 +-- src/include/game/pak/pak.h | 2 +- src/include/lib/lib_0e9d0.h | 4 +-- 9 files changed, 30 insertions(+), 43 deletions(-) diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index f9b93f3e9..a2fbbe683 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -9575,7 +9575,7 @@ u32 var80084004 = 0x00000001; u32 var80084008 = 0x00000002; u32 var8008400c = 0x00000000; u32 var80084010 = 0; -u32 var80084014 = 0; +bool var80084014 = false; f32 var80084018 = 1; u32 var8008401c = 0x00000001; diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 35f588a75..70e537bf2 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -5271,7 +5271,7 @@ glabel var7f1ad630 /* f0bae0c: 0fc68606 */ jal ciGetTrainingData /* f0bae10: 00000000 */ sll $zero,$zero,0x0 /* f0bae14: 24040001 */ addiu $a0,$zero,0x1 -/* f0bae18: 0fc5b350 */ jal func0f16cd40 +/* f0bae18: 0fc5b350 */ jal setVar80084014 /* f0bae1c: afa20018 */ sw $v0,0x18($sp) /* f0bae20: 3c05800a */ lui $a1,%hi(g_Vars) /* f0bae24: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) @@ -5325,7 +5325,7 @@ glabel var7f1ad630 /* f0baed4: 2b210014 */ slti $at,$t9,0x14 /* f0baed8: 54200009 */ bnezl $at,.L0f0baf00 /* f0baedc: 8fbf0014 */ lw $ra,0x14($sp) -/* f0baee0: 0fc5b350 */ jal func0f16cd40 +/* f0baee0: 0fc5b350 */ jal setVar80084014 /* f0baee4: 00002025 */ or $a0,$zero,$zero /* f0baee8: 3c05800a */ lui $a1,%hi(g_Vars) /* f0baeec: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) @@ -5352,7 +5352,7 @@ void currentPlayerPause(u32 mode) void func0f0baf38(void) { if (g_Vars.currentplayer->pausemode == PAUSEMODE_3) { - func0f16cd40(0); + setVar80084014(0); func0f16db3c(); g_Vars.currentplayer->pausemode = PAUSEMODE_0; } diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index a8daf3f93..bcedfae25 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -9259,7 +9259,7 @@ glabel func0f0f85e0 .L0f0f8604: /* f0f8604: 0fc3e0cc */ jal func0f0f8330 /* f0f8608: 8fa5001c */ lw $a1,0x1c($sp) -/* f0f860c: 0fc5b350 */ jal func0f16cd40 +/* f0f860c: 0fc5b350 */ jal setVar80084014 /* f0f8610: 24040001 */ addiu $a0,$zero,0x1 /* f0f8614: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f0f8618: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) @@ -14534,7 +14534,7 @@ glabel func0f0fce8c /* f0fcf58: 00e02025 */ or $a0,$a3,$zero /* f0fcf5c: 0fc3e0cc */ jal func0f0f8330 /* f0fcf60: 24050002 */ addiu $a1,$zero,0x2 -/* f0fcf64: 0fc5b350 */ jal func0f16cd40 +/* f0fcf64: 0fc5b350 */ jal setVar80084014 /* f0fcf68: 24040001 */ addiu $a0,$zero,0x1 /* f0fcf6c: 3c06800a */ lui $a2,%hi(g_Vars) /* f0fcf70: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) diff --git a/src/game/game_10ccd0.c b/src/game/game_10ccd0.c index 7ae537dc7..3e3b16701 100644 --- a/src/game/game_10ccd0.c +++ b/src/game/game_10ccd0.c @@ -2225,7 +2225,7 @@ glabel func0f10e620 .L0f10ec84: /* f10ec84: 54610008 */ bnel $v1,$at,.L0f10eca8 /* f10ec88: 8fbf0014 */ lw $ra,0x14($sp) -/* f10ec8c: 0fc5b350 */ jal func0f16cd40 +/* f10ec8c: 0fc5b350 */ jal setVar80084014 /* f10ec90: 24040001 */ addiu $a0,$zero,0x1 /* f10ec94: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f10ec98: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) @@ -2245,7 +2245,7 @@ glabel func0f10ecb4 /* f10ecbc: 27bdffe0 */ addiu $sp,$sp,-32 /* f10ecc0: afbf0014 */ sw $ra,0x14($sp) /* f10ecc4: 24040001 */ addiu $a0,$zero,0x1 -/* f10ecc8: 0fc5b350 */ jal func0f16cd40 +/* f10ecc8: 0fc5b350 */ jal setVar80084014 /* f10eccc: afae001c */ sw $t6,0x1c($sp) /* f10ecd0: 3c04800a */ lui $a0,%hi(g_Vars) /* f10ecd4: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) @@ -2416,7 +2416,7 @@ glabel func0f10ef10 /* f10ef18: 27bdffe0 */ addiu $sp,$sp,-32 /* f10ef1c: afbf0014 */ sw $ra,0x14($sp) /* f10ef20: 24040001 */ addiu $a0,$zero,0x1 -/* f10ef24: 0fc5b350 */ jal func0f16cd40 +/* f10ef24: 0fc5b350 */ jal setVar80084014 /* f10ef28: afae001c */ sw $t6,0x1c($sp) /* f10ef2c: 3c03800a */ lui $v1,%hi(g_Vars) /* f10ef30: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index 0bfb7953f..8adb5f322 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -394,7 +394,7 @@ void func0f167e7c(s32 stagenum) { fadeCancel(); - var80084014 = 0; + var80084014 = false; var80084010 = 0; func00013900(); @@ -605,7 +605,7 @@ void func0f167e7c(s32 stagenum) func0f011124(false); var80084018 = 1; func00002560(); - func0f16cd40(0); + setVar80084014(0); #if PIRACYCHECKS { @@ -6073,33 +6073,20 @@ void func0f16cce4(void) var80084010 = paused; } -GLOBAL_ASM( -glabel func0f16cd40 -/* f16cd40: 27bdffe8 */ addiu $sp,$sp,-24 -/* f16cd44: afbf0014 */ sw $ra,0x14($sp) -/* f16cd48: 10800007 */ beqz $a0,.L0f16cd68 -/* f16cd4c: afa40018 */ sw $a0,0x18($sp) -/* f16cd50: 0fc477ae */ jal func0f11deb8 -/* f16cd54: 00000000 */ sll $zero,$zero,0x0 -/* f16cd58: 0c003f88 */ jal func0000fe20 -/* f16cd5c: 00000000 */ sll $zero,$zero,0x0 -/* f16cd60: 10000006 */ beqz $zero,.L0f16cd7c -/* f16cd64: 8fbf0014 */ lw $ra,0x14($sp) -.L0f16cd68: -/* f16cd68: 0c003f94 */ jal func0000fe50 -/* f16cd6c: 00000000 */ sll $zero,$zero,0x0 -/* f16cd70: 0fc477ce */ jal func0f11df38 -/* f16cd74: 00000000 */ sll $zero,$zero,0x0 -/* f16cd78: 8fbf0014 */ lw $ra,0x14($sp) -.L0f16cd7c: -/* f16cd7c: 8faf0018 */ lw $t7,0x18($sp) -/* f16cd80: 3c018008 */ lui $at,0x8008 -/* f16cd84: 27bd0018 */ addiu $sp,$sp,0x18 -/* f16cd88: 03e00008 */ jr $ra -/* f16cd8c: ac2f4014 */ sw $t7,0x4014($at) -); +void setVar80084014(bool value) +{ + if (value) { + func0f11deb8(); + func0000fe20(); + } else { + func0000fe50(); + func0f11df38(); + } -u32 getVar80084014(void) + var80084014 = value; +} + +bool getVar80084014(void) { return var80084014; } diff --git a/src/include/game/data/data_020df0.h b/src/include/game/data/data_020df0.h index 60ca050c8..da98ee6e5 100644 --- a/src/include/game/data/data_020df0.h +++ b/src/include/game/data/data_020df0.h @@ -212,7 +212,7 @@ extern u32 var80082050; extern void *filetable[]; extern u32 var80084008; extern u32 var80084010; -extern u32 var80084014; +extern bool var80084014; extern f32 var80084018; extern s32 g_MpTimeElapsed; extern s32 g_MpTimeLimit; diff --git a/src/include/game/game_167ae0.h b/src/include/game/game_167ae0.h index 649274583..55dc24118 100644 --- a/src/include/game/game_167ae0.h +++ b/src/include/game/game_167ae0.h @@ -24,11 +24,11 @@ s32 getEffectiveSlowMotion(void); void func0f16b96c(void); u32 func0f16cb04(void); void func0f16cce4(void); -void func0f16cd40(u32 arg0); +void setVar80084014(bool arg0); void fadeConfigure(u32 color, s16 num_frames); bool fadeIsActive(void); void stageLoad(void); -u32 getVar80084014(void); +bool getVar80084014(void); s32 getDifficulty(void); void setDifficulty(s32 difficulty); void mpSetTimeLimit(u32 limit); diff --git a/src/include/game/pak/pak.h b/src/include/game/pak/pak.h index 2ee46a131..422728979 100644 --- a/src/include/game/pak/pak.h +++ b/src/include/game/pak/pak.h @@ -115,7 +115,7 @@ u32 func0f11dc04(void); void func0f11dcb0(s32 arg0); u32 func0f11dd58(void); u32 func0f11de20(void); -u32 func0f11deb8(void); +void func0f11deb8(void); void func0f11df38(void); void func0f11df8c(void); u32 func0f11df94(void); diff --git a/src/include/lib/lib_0e9d0.h b/src/include/lib/lib_0e9d0.h index 5c00eb860..84bc7d580 100644 --- a/src/include/lib/lib_0e9d0.h +++ b/src/include/lib/lib_0e9d0.h @@ -26,8 +26,8 @@ u32 func0000fc48(void); u32 func0000fd74(void); u32 func0000fd9c(void); void func0000fe18(void); -u32 func0000fe20(void); -u32 func0000fe50(void); +void func0000fe20(void); +void func0000fe50(void); void func0000fe88(void); u32 func00010360(void); u32 func0001036c(void);