Decompile mpCtcAddPad

This commit is contained in:
Ryan Dwyer 2021-01-03 18:01:21 +10:00
parent c2dfd4071d
commit 9016f2e153
3 changed files with 20 additions and 48 deletions

View File

@ -952,7 +952,7 @@ void mpPrepareScenario(void)
case INTROCMD_CASE:
case INTROCMD_CASERESPAWN:
if (g_MpSetup.scenario == MPSCENARIO_CAPTURETHECASE) {
func0f181800(cmd);
mpCtcAddPad(cmd);
} else if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) {
mpHtmAddPad(cmd[2]);
} else if (g_MpSetup.scenario == MPSCENARIO_HOLDTHEBRIEFCASE) {

View File

@ -1385,52 +1385,24 @@ glabel scenarioCtcHighlight
// return false;
//}
GLOBAL_ASM(
glabel func0f181800
/* f181800: 8c820000 */ lw $v0,0x0($a0)
/* f181804: 24010009 */ addiu $at,$zero,0x9
/* f181808: 00001825 */ or $v1,$zero,$zero
/* f18180c: 14410008 */ bne $v0,$at,.L0f181830
/* f181810: 3c09800b */ lui $t1,%hi(g_ScenarioData)
/* f181814: 8c8f0004 */ lw $t7,0x4($a0)
/* f181818: 8c8e0008 */ lw $t6,0x8($a0)
/* f18181c: 3c01800b */ lui $at,%hi(g_ScenarioData+0x18)
/* f181820: 000fc100 */ sll $t8,$t7,0x4
/* f181824: 00380821 */ addu $at,$at,$t8
/* f181828: a42ec128 */ sh $t6,%lo(g_ScenarioData+0x18)($at)
/* f18182c: 8c820000 */ lw $v0,0x0($a0)
.L0f181830:
/* f181830: 2401000a */ addiu $at,$zero,0xa
/* f181834: 14410017 */ bne $v0,$at,.L0f181894
/* f181838: 2529c110 */ addiu $t1,$t1,%lo(g_ScenarioData)
/* f18183c: 8c990004 */ lw $t9,0x4($a0)
/* f181840: 2406000c */ addiu $a2,$zero,0xc
/* f181844: 2402ffff */ addiu $v0,$zero,-1
/* f181848: 00194100 */ sll $t0,$t9,0x4
/* f18184c: 01092821 */ addu $a1,$t0,$t1
.L0f181850:
/* f181850: 84aa001c */ lh $t2,0x1c($a1)
/* f181854: 544a000d */ bnel $v0,$t2,.L0f18188c
/* f181858: 24630002 */ addiu $v1,$v1,0x2
/* f18185c: 8c8b0008 */ lw $t3,0x8($a0)
/* f181860: 3c0f800b */ lui $t7,%hi(g_ScenarioData)
/* f181864: 25efc110 */ addiu $t7,$t7,%lo(g_ScenarioData)
/* f181868: a4ab001c */ sh $t3,0x1c($a1)
/* f18186c: 8c8c0004 */ lw $t4,0x4($a0)
/* f181870: 000c6900 */ sll $t5,$t4,0x4
/* f181874: 01af1021 */ addu $v0,$t5,$t7
/* f181878: 844e001a */ lh $t6,0x1a($v0)
/* f18187c: 25d80001 */ addiu $t8,$t6,0x1
/* f181880: 03e00008 */ jr $ra
/* f181884: a458001a */ sh $t8,0x1a($v0)
/* f181888: 24630002 */ addiu $v1,$v1,0x2
.L0f18188c:
/* f18188c: 1466fff0 */ bne $v1,$a2,.L0f181850
/* f181890: 24a50002 */ addiu $a1,$a1,0x2
.L0f181894:
/* f181894: 03e00008 */ jr $ra
/* f181898: 00000000 */ nop
);
void mpCtcAddPad(s32 *cmd)
{
s32 i;
if (cmd[0] == INTROCMD_CASE) {
g_ScenarioData.ctc.spawnpadsperteam[cmd[1]].teamindex = cmd[2];
}
if (cmd[0] == INTROCMD_CASERESPAWN) {
for (i = 0; i != ARRAYCOUNT(g_ScenarioData.ctc.spawnpadsperteam[cmd[1]].spawnpads); i++) {
if (g_ScenarioData.ctc.spawnpadsperteam[cmd[1]].spawnpads[i] == -1) {
g_ScenarioData.ctc.spawnpadsperteam[cmd[1]].spawnpads[i] = cmd[2];
g_ScenarioData.ctc.spawnpadsperteam[cmd[1]].numspawnpads++;
return;
}
}
}
}
bool scenarioCtcCallback2c(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, f32 *arg4)
{

View File

@ -79,7 +79,7 @@ void func0f1800a8(void);
u32 scenarioHtbCallback18(void);
void scenarioCtcReset(void);
bool scenarioCtcHighlight(struct prop *prop, u32 *colour);
void func0f181800(s32 *cmd);
void mpCtcAddPad(s32 *cmd);
void scenarioCtcCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3);
void scenarioKohCallback10(void);
u32 scenarioKohCallback18(void);