Decompile aiIfCutsceneButtonPressed

This commit is contained in:
Ryan Dwyer
2019-10-19 18:39:05 +10:00
parent a6e0d3175c
commit 4ed0b0fda4
7 changed files with 28 additions and 44 deletions
+14 -40
View File
@@ -6,6 +6,7 @@
#include "game/game_0601b0.h"
#include "gvars/gvars.h"
#include "library/library.h"
#include "setup/setup_020df0.h"
/**
* @cmd 0000
@@ -9039,46 +9040,19 @@ bool aiIfInCutscene(void)
/**
* @cmd 0174
*/
GLOBAL_ASM(
glabel ai0174
/* f056e84: 3c03800a */ lui $v1,0x800a
/* f056e88: 24639fc0 */ addiu $v1,$v1,-24640
/* f056e8c: 8c6e04cc */ lw $t6,0x4cc($v1)
/* f056e90: 8c640434 */ lw $a0,0x434($v1)
/* f056e94: 8c650438 */ lw $a1,0x438($v1)
/* f056e98: 27bdffe8 */ addiu $sp,$sp,-24
/* f056e9c: afbf0014 */ sw $ra,0x14($sp)
/* f056ea0: 11c00005 */ beqz $t6,.L0f056eb8
/* f056ea4: 00851021 */ addu $v0,$a0,$a1
/* f056ea8: 3c0f800a */ lui $t7,0x800a
/* f056eac: 8defde24 */ lw $t7,-0x21dc($t7)
/* f056eb0: 15e00009 */ bnez $t7,.L0f056ed8
/* f056eb4: 00000000 */ sll $zero,$zero,0x0
.L0f056eb8:
/* f056eb8: 8c7804b4 */ lw $t8,0x4b4($v1)
/* f056ebc: 24010026 */ addiu $at,$zero,0x26
/* f056ec0: 3c198008 */ lui $t9,0x8008
/* f056ec4: 1701000a */ bne $t8,$at,.L0f056ef0
/* f056ec8: 24a80003 */ addiu $t0,$a1,0x3
/* f056ecc: 8f397260 */ lw $t9,0x7260($t9)
/* f056ed0: 5b200008 */ blezl $t9,.L0f056ef4
/* f056ed4: ac680438 */ sw $t0,0x438($v1)
.L0f056ed8:
/* f056ed8: 0fc13583 */ jal chraiGoToLabel
/* f056edc: 90460002 */ lbu $a2,0x2($v0)
/* f056ee0: 3c03800a */ lui $v1,0x800a
/* f056ee4: 24639fc0 */ addiu $v1,$v1,-24640
/* f056ee8: 10000002 */ beqz $zero,.L0f056ef4
/* f056eec: ac620438 */ sw $v0,0x438($v1)
.L0f056ef0:
/* f056ef0: ac680438 */ sw $t0,0x438($v1)
.L0f056ef4:
/* f056ef4: 8fbf0014 */ lw $ra,0x14($sp)
/* f056ef8: 27bd0018 */ addiu $sp,$sp,0x18
/* f056efc: 00001025 */ or $v0,$zero,$zero
/* f056f00: 03e00008 */ jr $ra
/* f056f04: 00000000 */ sll $zero,$zero,0x0
);
bool aiIfCutsceneButtonPressed(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
if ((g_Vars.in_cutscene && g_8009de24) ||
(g_Vars.unk0004b4 == 0x26 && var0002d280 > 0)) {
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
} else {
g_Vars.aioffset += 3;
}
return false;
}
/**
* @cmd 0175
+7 -1
View File
@@ -26,7 +26,13 @@ s32 g_NumTags;
struct tag **g_TagPtrs;
// 8009d0d0
u8 padding8009d0d0[0x5144];
u8 padding8009d0d0[0xd54];
// 8009de24
u32 g_8009de24;
// 8009de28
u8 padding8009de28[0x43ec];
// 800a2214
u32 g_EepromFlags;
+1 -1
View File
@@ -349,7 +349,7 @@
/*0x0171*/ bool ai0171(void);
/*0x0172*/ bool ai0172(void);
/*0x0173*/ bool ai0173(void);
/*0x0174*/ bool ai0174(void);
/*0x0174*/ bool aiIfCutsceneButtonPressed(void);
/*0x0175*/ bool ai0175(void);
/*0x0176*/ bool ai0176(void);
/*0x0177*/ bool ai0177(void);
+2
View File
@@ -336,4 +336,6 @@ extern u8 g_LangFilterActive;
extern s32 g_NumTags;
extern struct tag **g_TagPtrs;
extern u32 g_8009de24;
extern u32 g_EepromFlags;
+2
View File
@@ -24,4 +24,6 @@ extern struct menu_dialog menudialog_mpquickteam;
extern s32 g_Difficulty;
extern s32 var0002d280;
#endif
+1 -1
View File
@@ -14325,7 +14325,7 @@ bool (*command_pointers[])(void) = {
/*0x0171*/ ai0171,
/*0x0172*/ ai0172,
/*0x0173*/ ai0173,
/*0x0174*/ ai0174,
/*0x0174*/ aiIfCutsceneButtonPressed,
/*0x0175*/ ai0175,
/*0x0176*/ ai0176,
/*0x0177*/ ai0177,
+1 -1
View File
@@ -8124,7 +8124,7 @@ u32 var0002d270 = 0xffffff00;
u32 var0002d274 = 0x0fff0000;
u32 var0002d278 = 0x00000000;
u32 var0002d27c = 0x00000000;
u32 var0002d280 = 0x00000000;
s32 var0002d280 = 0x00000000;
u32 var0002d284 = 0x00000000;
// 2d288