Decompile scenarioCallback04, scenarioCallback08 and scenarioCallback0c

This commit is contained in:
Ryan Dwyer
2020-01-06 18:03:53 +10:00
parent e54c44398e
commit 8709f531bf
5 changed files with 50 additions and 97 deletions
+2 -2
View File
@@ -3313,7 +3313,7 @@ glabel func0f00eb64
/* f00f0d8: 02028021 */ addu $s0,$s0,$v0
/* f00f0dc: 51e00005 */ beqzl $t7,.L0f00f0f4
/* f00f0e0: 02002025 */ or $a0,$s0,$zero
/* f00f0e4: 0fc61533 */ jal func0f1854cc
/* f00f0e4: 0fc61533 */ jal scenarioCallback08
/* f00f0e8: 00000000 */ sll $zero,$zero,0x0
/* f00f0ec: 02028021 */ addu $s0,$s0,$v0
/* f00f0f0: 02002025 */ or $a0,$s0,$zero
@@ -4623,7 +4623,7 @@ glabel func0f00f174
/* f010404: 8defa2d8 */ lw $t7,-0x5d28($t7)
/* f010408: 11e00003 */ beqz $t7,.L0f010418
/* f01040c: 00000000 */ sll $zero,$zero,0x0
/* f010410: 0fc61548 */ jal func0f185520
/* f010410: 0fc61548 */ jal scenarioCallback0c
/* f010414: 00000000 */ sll $zero,$zero,0x0
.L0f010418:
/* f010418: 3c12800a */ lui $s2,0x800a
+27 -74
View File
@@ -10151,9 +10151,9 @@ glabel func0f17ff8c
/* f17ffd8: 00000000 */ sll $zero,$zero,0x0
);
bool scenarioBriefcaseCallback08(void)
s32 scenarioBriefcaseCallback08(void)
{
return true;
return 1;
}
GLOBAL_ASM(
@@ -11190,7 +11190,7 @@ glabel scenarioCaptureCallback04
/* f180e18: 27bd0038 */ addiu $sp,$sp,0x38
);
u32 scenarioCaptureCallback08(void)
s32 scenarioCaptureCallback08(void)
{
return 4;
}
@@ -13302,7 +13302,7 @@ glabel scenarioHackerCallback04
/* f182b98: ac20c24c */ sw $zero,-0x3db4($at)
);
u32 scenarioHackerCallback08(void)
s32 scenarioHackerCallback08(void)
{
return 2;
}
@@ -16076,7 +16076,7 @@ glabel menuhandler00185068
/* f185214: 1633ffef */ bne $s1,$s3,.L0f1851d4
/* f185218: 26100006 */ addiu $s0,$s0,0x6
.L0f18521c:
/* f18521c: 0fc61521 */ jal func0f185484
/* f18521c: 0fc61521 */ jal scenarioCallback04
/* f185220: 00000000 */ sll $zero,$zero,0x0
/* f185224: 1000004d */ beqz $zero,.L0f18535c
/* f185228: 00001025 */ or $v0,$zero,$zero
@@ -16244,77 +16244,30 @@ glabel func0f185428
/* f185480: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f185484
/* f185484: 3c0e800b */ lui $t6,0x800b
/* f185488: 91cecb98 */ lbu $t6,-0x3468($t6)
/* f18548c: 3c028008 */ lui $v0,0x8008
/* f185490: 27bdffe8 */ addiu $sp,$sp,-24
/* f185494: 000e78c0 */ sll $t7,$t6,0x3
/* f185498: 01ee7821 */ addu $t7,$t7,$t6
/* f18549c: 000f78c0 */ sll $t7,$t7,0x3
/* f1854a0: 004f1021 */ addu $v0,$v0,$t7
/* f1854a4: 8c426f9c */ lw $v0,0x6f9c($v0)
/* f1854a8: afbf0014 */ sw $ra,0x14($sp)
/* f1854ac: 50400004 */ beqzl $v0,.L0f1854c0
/* f1854b0: 8fbf0014 */ lw $ra,0x14($sp)
/* f1854b4: 0040f809 */ jalr $v0
/* f1854b8: 00000000 */ sll $zero,$zero,0x0
/* f1854bc: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1854c0:
/* f1854c0: 27bd0018 */ addiu $sp,$sp,0x18
/* f1854c4: 03e00008 */ jr $ra
/* f1854c8: 00000000 */ sll $zero,$zero,0x0
);
void scenarioCallback04(void)
{
if (g_MpScenarios[g_MpSetup.scenario].unk04) {
g_MpScenarios[g_MpSetup.scenario].unk04();
}
}
GLOBAL_ASM(
glabel func0f1854cc
/* f1854cc: 3c0e800b */ lui $t6,0x800b
/* f1854d0: 91cecb98 */ lbu $t6,-0x3468($t6)
/* f1854d4: 3c028008 */ lui $v0,0x8008
/* f1854d8: 27bdffe8 */ addiu $sp,$sp,-24
/* f1854dc: 000e78c0 */ sll $t7,$t6,0x3
/* f1854e0: 01ee7821 */ addu $t7,$t7,$t6
/* f1854e4: 000f78c0 */ sll $t7,$t7,0x3
/* f1854e8: 004f1021 */ addu $v0,$v0,$t7
/* f1854ec: 8c426fa0 */ lw $v0,0x6fa0($v0)
/* f1854f0: afbf0014 */ sw $ra,0x14($sp)
/* f1854f4: 00001825 */ or $v1,$zero,$zero
/* f1854f8: 50400005 */ beqzl $v0,.L0f185510
/* f1854fc: 8fbf0014 */ lw $ra,0x14($sp)
/* f185500: 0040f809 */ jalr $v0
/* f185504: 00000000 */ sll $zero,$zero,0x0
/* f185508: 00401825 */ or $v1,$v0,$zero
/* f18550c: 8fbf0014 */ lw $ra,0x14($sp)
.L0f185510:
/* f185510: 27bd0018 */ addiu $sp,$sp,0x18
/* f185514: 00601025 */ or $v0,$v1,$zero
/* f185518: 03e00008 */ jr $ra
/* f18551c: 00000000 */ sll $zero,$zero,0x0
);
s32 scenarioCallback08(void)
{
s32 result = 0;
GLOBAL_ASM(
glabel func0f185520
/* f185520: 3c0e800b */ lui $t6,0x800b
/* f185524: 91cecb98 */ lbu $t6,-0x3468($t6)
/* f185528: 3c028008 */ lui $v0,0x8008
/* f18552c: 27bdffe8 */ addiu $sp,$sp,-24
/* f185530: 000e78c0 */ sll $t7,$t6,0x3
/* f185534: 01ee7821 */ addu $t7,$t7,$t6
/* f185538: 000f78c0 */ sll $t7,$t7,0x3
/* f18553c: 004f1021 */ addu $v0,$v0,$t7
/* f185540: 8c426fa4 */ lw $v0,0x6fa4($v0)
/* f185544: afbf0014 */ sw $ra,0x14($sp)
/* f185548: 50400004 */ beqzl $v0,.L0f18555c
/* f18554c: 8fbf0014 */ lw $ra,0x14($sp)
/* f185550: 0040f809 */ jalr $v0
/* f185554: 00000000 */ sll $zero,$zero,0x0
/* f185558: 8fbf0014 */ lw $ra,0x14($sp)
.L0f18555c:
/* f18555c: 27bd0018 */ addiu $sp,$sp,0x18
/* f185560: 03e00008 */ jr $ra
/* f185564: 00000000 */ sll $zero,$zero,0x0
);
if (g_MpScenarios[g_MpSetup.scenario].unk08) {
result = g_MpScenarios[g_MpSetup.scenario].unk08();
}
return result;
}
void scenarioCallback0c(void)
{
if (g_MpScenarios[g_MpSetup.scenario].unk0c) {
g_MpScenarios[g_MpSetup.scenario].unk0c();
}
}
GLOBAL_ASM(
glabel func0f185568
+2 -2
View File
@@ -7763,7 +7763,7 @@ glabel func0f18dcec
/* f18dd1c: 3c10800b */ lui $s0,%hi(g_MpSetup)
/* f18dd20: 2610cb88 */ addiu $s0,$s0,%lo(g_MpSetup)
/* f18dd24: 0080f025 */ or $s8,$a0,$zero
/* f18dd28: 0fc61521 */ jal func0f185484
/* f18dd28: 0fc61521 */ jal scenarioCallback04
/* f18dd2c: a20e0010 */ sb $t6,0x10($s0)
/* f18dd30: 03c0c825 */ or $t9,$s8,$zero
/* f18dd34: 02004025 */ or $t0,$s0,$zero
@@ -7949,7 +7949,7 @@ glabel func0f18df5c
/* f18dfb4: 02602025 */ or $a0,$s3,$zero
/* f18dfb8: 0fc354fe */ jal func0f0d53f8
/* f18dfbc: 24050003 */ addiu $a1,$zero,0x3
/* f18dfc0: 0fc61521 */ jal func0f185484
/* f18dfc0: 0fc61521 */ jal scenarioCallback04
/* f18dfc4: a2a20010 */ sb $v0,0x10($s5)
/* f18dfc8: 0fc614f4 */ jal func0f1853d0
/* f18dfcc: 02602025 */ or $a0,$s3,$zero
+16 -16
View File
@@ -79,13 +79,13 @@ u32 func0f17f260(void);
u32 func0f17f428(void);
u32 func0f17fa28(void);
u32 func0f17fcb0(void);
u32 scenarioBriefcaseCallback04(void);
void scenarioBriefcaseCallback04(void);
u32 func0f17ff8c(void);
bool scenarioBriefcaseCallback08(void);
s32 scenarioBriefcaseCallback08(void);
u32 func0f17ffe4(void);
u32 func0f180078(void);
u32 func0f1800a8(void);
u32 scenarioBriefcaseCallback0c(void);
void scenarioBriefcaseCallback0c(void);
u32 scenarioBriefcaseCallback10(void);
u32 scenarioBriefcaseCallback14(void);
u32 scenarioBriefcaseCallback18(void);
@@ -93,11 +93,11 @@ u32 scenarioBriefcaseCallback1c(void);
u32 scenarioBriefcaseCallback20(void);
u32 scenarioBriefcaseCallback24(void);
u32 scenarioBriefcaseCallback28(void);
u32 scenarioCaptureCallback04(void);
u32 scenarioCaptureCallback08(void);
void scenarioCaptureCallback04(void);
s32 scenarioCaptureCallback08(void);
void scenarioCaptureCallback10(void);
void scenarioCaptureCallback14(void);
u32 scenarioCaptureCallback0c(void);
void scenarioCaptureCallback0c(void);
u32 scenarioCaptureCallback1c(void);
u32 scenarioCaptureCallback20(void);
u32 scenarioCaptureCallback24(void);
@@ -109,8 +109,8 @@ u32 scenarioCaptureCallback34(void);
u32 scenarioCaptureCallback38(void);
u32 scenarioHillCallback40(void);
u32 scenarioHillCallback44(void);
u32 scenarioHillCallback04(void);
u32 scenarioHillCallback0c(void);
void scenarioHillCallback04(void);
void scenarioHillCallback0c(void);
u32 scenarioHillCallback10(void);
u32 scenarioHillCallback18(void);
u32 scenarioHillCallback1c(void);
@@ -118,12 +118,12 @@ u32 scenarioHillCallback20(void);
u32 func0f182aac(void);
u32 scenarioHillCallback34(void);
u32 scenarioHillCallback38(void);
u32 scenarioHackerCallback04(void);
u32 scenarioHackerCallback08(void);
void scenarioHackerCallback04(void);
s32 scenarioHackerCallback08(void);
u32 func0f182ba4(void);
u32 func0f182bf4(void);
u32 func0f182c98(void);
u32 scenarioHackerCallback0c(void);
void scenarioHackerCallback0c(void);
u32 scenarioHackerCallback10(void);
u32 scenarioHackerCallback14(void);
u32 scenarioHackerCallback18(void);
@@ -132,8 +132,8 @@ u32 scenarioHackerCallback20(void);
u32 scenarioHackerCallback24(void);
u32 scenarioHackerCallback28(void);
u32 func0f1843d4(void);
u32 scenarioPopacapCallback04(void);
u32 scenarioPopacapCallback0c(void);
void scenarioPopacapCallback04(void);
void scenarioPopacapCallback0c(void);
u32 scenarioPopacapCallback28(void);
u32 func0f1845bc(void);
u32 func0f1847b8(void);
@@ -146,9 +146,9 @@ u32 func0f184fb0(void);
u32 func0f18500c(void);
u32 func0f1853d0(void);
u32 func0f185428(void);
u32 func0f185484(void);
u32 func0f1854cc(void);
u32 func0f185520(void);
void scenarioCallback04(void);
s32 scenarioCallback08(void);
void scenarioCallback0c(void);
u32 func0f185568(void);
u32 func0f1856ac(void);
u32 func0f185720(void);
+3 -3
View File
@@ -4102,9 +4102,9 @@ struct mpsetup {
struct mpscenario {
struct menu_dialog *optionsdialog;
void *unk04;
void *unk08;
void *unk0c;
void (*unk04)(void);
s32 (*unk08)(void);
void (*unk0c)(void);
void *unk10;
void *unk14;
void *unk18;