From ecfd0b8d4af603e8153c585bb37a0e31ac4decb9 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 4 Mar 2020 22:13:53 +1000 Subject: [PATCH] Decompile currentPlayerPause --- src/game/data/data_0160b0.c | 2 +- src/game/game_01bea0.c | 4 ++-- src/game/game_0b63b0.c | 27 ++++++++++----------------- src/game/game_0c79f0.c | 2 +- src/include/game/data/data_0160b0.h | 1 + src/include/game/game_0b63b0.h | 2 +- 6 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/game/data/data_0160b0.c b/src/game/data/data_0160b0.c index 7d9217a62..4a184afc8 100644 --- a/src/game/data/data_0160b0.c +++ b/src/game/data/data_0160b0.c @@ -451,7 +451,7 @@ u32 var80070830 = 0x00000000; u32 var80070834 = 0x3f800000; u32 var80070838 = 0x00000000; u32 var8007083c = 0x00000000; -u32 var80070840 = 0x00000000; +u32 g_PauseMode = 0x00000000; u32 var80070844 = 0x00000000; u32 var80070848 = 0x40a00000; u32 var8007084c = 0x42200000; diff --git a/src/game/game_01bea0.c b/src/game/game_01bea0.c index 0b21b6f15..77206697e 100644 --- a/src/game/game_01bea0.c +++ b/src/game/game_01bea0.c @@ -450,7 +450,7 @@ glabel func0f01bf28 /* f01c43c: 10000001 */ beqz $zero,.L0f01c444 /* f01c440: 2404000b */ addiu $a0,$zero,0xb .L0f01c444: -/* f01c444: 0fc2ebc3 */ jal func0f0baf0c +/* f01c444: 0fc2ebc3 */ jal currentPlayerPause /* f01c448: 00000000 */ sll $zero,$zero,0x0 .L0f01c44c: /* f01c44c: 3c018008 */ lui $at,0x8008 @@ -488,7 +488,7 @@ glabel func0f01bf28 /* f01c4c4: a040251c */ sb $zero,0x251c($v0) /* f01c4c8: a040338c */ sb $zero,0x338c($v0) /* f01c4cc: 24040006 */ addiu $a0,$zero,0x6 -/* f01c4d0: 0fc2ebc3 */ jal func0f0baf0c +/* f01c4d0: 0fc2ebc3 */ jal currentPlayerPause /* f01c4d4: af001a24 */ sw $zero,0x1a24($t8) /* f01c4d8: 24190001 */ addiu $t9,$zero,0x1 /* f01c4dc: 3c018006 */ lui $at,0x8006 diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 938d4aa55..cdc2300f1 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -5168,21 +5168,14 @@ glabel func0f0bad6c /* f0baf08: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f0baf0c -/* f0baf0c: 3c02800a */ lui $v0,0x800a -/* f0baf10: 8c42a244 */ lw $v0,-0x5dbc($v0) -/* f0baf14: 3c018007 */ lui $at,0x8007 -/* f0baf18: ac240840 */ sw $a0,0x840($at) -/* f0baf1c: 8c4e1a24 */ lw $t6,0x1a24($v0) -/* f0baf20: 240f0001 */ addiu $t7,$zero,0x1 -/* f0baf24: 15c00002 */ bnez $t6,.L0f0baf30 -/* f0baf28: 00000000 */ sll $zero,$zero,0x0 -/* f0baf2c: ac4f1a24 */ sw $t7,0x1a24($v0) -.L0f0baf30: -/* f0baf30: 03e00008 */ jr $ra -/* f0baf34: 00000000 */ sll $zero,$zero,0x0 -); +void currentPlayerPause(u32 mode) +{ + g_PauseMode = mode; + + if (g_Vars.currentplayer->pausemode == 0) { + g_Vars.currentplayer->pausemode = 1; + } +} GLOBAL_ASM( glabel func0f0baf38 @@ -8349,7 +8342,7 @@ glabel func0f0bd904 /* f0bddf0: 8e6b0314 */ lw $t3,0x314($s3) /* f0bddf4: 15600005 */ bnez $t3,.L0f0bde0c /* f0bddf8: 00000000 */ sll $zero,$zero,0x0 -/* f0bddfc: 0fc2ebc3 */ jal func0f0baf0c +/* f0bddfc: 0fc2ebc3 */ jal currentPlayerPause /* f0bde00: 24040002 */ addiu $a0,$zero,0x2 /* f0bde04: 10000004 */ beqz $zero,.L0f0bde18 /* f0bde08: 8e6c0034 */ lw $t4,0x34($s3) @@ -9007,7 +9000,7 @@ glabel func0f0bd904 /* f0be77c: 8e780314 */ lw $t8,0x314($s3) /* f0be780: 17000005 */ bnez $t8,.L0f0be798 /* f0be784: 00000000 */ sll $zero,$zero,0x0 -/* f0be788: 0fc2ebc3 */ jal func0f0baf0c +/* f0be788: 0fc2ebc3 */ jal currentPlayerPause /* f0be78c: 24040002 */ addiu $a0,$zero,0x2 /* f0be790: 10000004 */ beqz $zero,.L0f0be7a4 /* f0be794: 83a9023c */ lb $t1,0x23c($sp) diff --git a/src/game/game_0c79f0.c b/src/game/game_0c79f0.c index dc566d5b2..56eaa5b15 100644 --- a/src/game/game_0c79f0.c +++ b/src/game/game_0c79f0.c @@ -1022,7 +1022,7 @@ glabel var7f1ad8e4 /* f0c8de8: 2b210010 */ slti $at,$t9,0x10 /* f0c8dec: 54200042 */ bnezl $at,.L0f0c8ef8 /* f0c8df0: 8e450284 */ lw $a1,0x284($s2) -/* f0c8df4: 0fc2ebc3 */ jal func0f0baf0c +/* f0c8df4: 0fc2ebc3 */ jal currentPlayerPause /* f0c8df8: 24040002 */ addiu $a0,$zero,0x2 /* f0c8dfc: 1000003e */ beqz $zero,.L0f0c8ef8 /* f0c8e00: 8e450284 */ lw $a1,0x284($s2) diff --git a/src/include/game/data/data_0160b0.h b/src/include/game/data/data_0160b0.h index 8b20748ac..baab992ce 100644 --- a/src/include/game/data/data_0160b0.h +++ b/src/include/game/data/data_0160b0.h @@ -79,6 +79,7 @@ extern u32 var80070818; extern u32 var80070824; extern u32 var80070830; extern u32 var8007083c; +extern u32 g_PauseMode; extern u32 var80070844; extern u32 var80070924; extern u32 var800709c4; diff --git a/src/include/game/game_0b63b0.h b/src/include/game/game_0b63b0.h index d6f483937..cb18de7a4 100644 --- a/src/include/game/game_0b63b0.h +++ b/src/include/game/game_0b63b0.h @@ -34,7 +34,7 @@ u32 func0f0ba948(void); u32 func0f0baac0(void); u32 func0f0bace0(void); u32 func0f0bad6c(void); -u32 func0f0baf0c(void); +void currentPlayerPause(u32 mode); u32 func0f0baf38(void); u32 func0f0baf84(void); u32 func0f0bb04c(void);