Decompile playersSetPassiveMode

This commit is contained in:
Ryan Dwyer 2020-04-08 18:10:27 +10:00
parent 8b8ba97481
commit 10ebc87cbe
8 changed files with 21 additions and 99 deletions

View File

@ -10866,10 +10866,10 @@ bool aiSetChrHudpieceVisible(void)
/**
* @cmd 01ce
*/
bool ai01ce(void)
bool aiSetPassiveMode(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
func0f0a92ac(cmd[2]);
playersSetPassiveMode(cmd[2]);
g_Vars.aioffset += 3;
return false;

View File

@ -485,7 +485,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x01cb*/ aiFadeScreen,
/*0x01cc*/ aiIfFadeComplete,
/*0x01cd*/ aiSetChrHudpieceVisible,
/*0x01ce*/ ai01ce,
/*0x01ce*/ aiSetPassiveMode,
/*0x01cf*/ aiChrSetFiringInCutscene,
/*0x01d0*/ aiSetPortalFlag,
/*0x01d1*/ aiSetObjPartVisible,

View File

@ -21196,92 +21196,14 @@ glabel var7f1acbac
/* f0a92a8: 27bd0070 */ addiu $sp,$sp,0x70
);
GLOBAL_ASM(
glabel func0f0a92ac
/* f0a92ac: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0a92b0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0a92b4: 8d2e006c */ lw $t6,0x6c($t1)
/* f0a92b8: afa40000 */ sw $a0,0x0($sp)
/* f0a92bc: 00001025 */ or $v0,$zero,$zero
/* f0a92c0: 11c00003 */ beqz $t6,.L0f0a92d0
/* f0a92c4: 00001825 */ or $v1,$zero,$zero
/* f0a92c8: 10000001 */ beqz $zero,.L0f0a92d0
/* f0a92cc: 24030001 */ addiu $v1,$zero,0x1
.L0f0a92d0:
/* f0a92d0: 8d2f0068 */ lw $t7,0x68($t1)
/* f0a92d4: 00002025 */ or $a0,$zero,$zero
/* f0a92d8: 00002825 */ or $a1,$zero,$zero
/* f0a92dc: 11e00003 */ beqz $t7,.L0f0a92ec
/* f0a92e0: 00003025 */ or $a2,$zero,$zero
/* f0a92e4: 10000001 */ beqz $zero,.L0f0a92ec
/* f0a92e8: 24040001 */ addiu $a0,$zero,0x1
.L0f0a92ec:
/* f0a92ec: 8d380064 */ lw $t8,0x64($t1)
/* f0a92f0: 8fae0000 */ lw $t6,0x0($sp)
/* f0a92f4: 13000003 */ beqz $t8,.L0f0a9304
/* f0a92f8: 31c80001 */ andi $t0,$t6,0x1
/* f0a92fc: 10000001 */ beqz $zero,.L0f0a9304
/* f0a9300: 24050001 */ addiu $a1,$zero,0x1
.L0f0a9304:
/* f0a9304: 8d390070 */ lw $t9,0x70($t1)
/* f0a9308: 00026880 */ sll $t5,$v0,0x2
/* f0a930c: 012d3821 */ addu $a3,$t1,$t5
/* f0a9310: 13200003 */ beqz $t9,.L0f0a9320
/* f0a9314: 00000000 */ sll $zero,$zero,0x0
/* f0a9318: 10000001 */ beqz $zero,.L0f0a9320
/* f0a931c: 24060001 */ addiu $a2,$zero,0x1
.L0f0a9320:
/* f0a9320: 00c55021 */ addu $t2,$a2,$a1
/* f0a9324: 01445821 */ addu $t3,$t2,$a0
/* f0a9328: 01636021 */ addu $t4,$t3,$v1
/* f0a932c: 19800026 */ blez $t4,.L0f0a93c8
/* f0a9330: 00000000 */ sll $zero,$zero,0x0
/* f0a9334: 8ce30064 */ lw $v1,0x64($a3)
.L0f0a9338:
/* f0a9338: 24420001 */ addiu $v0,$v0,0x1
/* f0a933c: 24e70004 */ addiu $a3,$a3,0x4
/* f0a9340: 90781583 */ lbu $t8,0x1583($v1)
/* f0a9344: 00002025 */ or $a0,$zero,$zero
/* f0a9348: 00002825 */ or $a1,$zero,$zero
/* f0a934c: 3319fffe */ andi $t9,$t8,0xfffe
/* f0a9350: 01195025 */ or $t2,$t0,$t9
/* f0a9354: a06a1583 */ sb $t2,0x1583($v1)
/* f0a9358: 8d2b006c */ lw $t3,0x6c($t1)
/* f0a935c: 00001825 */ or $v1,$zero,$zero
/* f0a9360: 00003025 */ or $a2,$zero,$zero
/* f0a9364: 11600003 */ beqz $t3,.L0f0a9374
/* f0a9368: 00000000 */ sll $zero,$zero,0x0
/* f0a936c: 10000001 */ beqz $zero,.L0f0a9374
/* f0a9370: 24030001 */ addiu $v1,$zero,0x1
.L0f0a9374:
/* f0a9374: 8d2c0068 */ lw $t4,0x68($t1)
/* f0a9378: 11800003 */ beqz $t4,.L0f0a9388
/* f0a937c: 00000000 */ sll $zero,$zero,0x0
/* f0a9380: 10000001 */ beqz $zero,.L0f0a9388
/* f0a9384: 24040001 */ addiu $a0,$zero,0x1
.L0f0a9388:
/* f0a9388: 8d2d0064 */ lw $t5,0x64($t1)
/* f0a938c: 11a00003 */ beqz $t5,.L0f0a939c
/* f0a9390: 00000000 */ sll $zero,$zero,0x0
/* f0a9394: 10000001 */ beqz $zero,.L0f0a939c
/* f0a9398: 24050001 */ addiu $a1,$zero,0x1
.L0f0a939c:
/* f0a939c: 8d2e0070 */ lw $t6,0x70($t1)
/* f0a93a0: 11c00003 */ beqz $t6,.L0f0a93b0
/* f0a93a4: 00000000 */ sll $zero,$zero,0x0
/* f0a93a8: 10000001 */ beqz $zero,.L0f0a93b0
/* f0a93ac: 24060001 */ addiu $a2,$zero,0x1
.L0f0a93b0:
/* f0a93b0: 00c57821 */ addu $t7,$a2,$a1
/* f0a93b4: 01e4c021 */ addu $t8,$t7,$a0
/* f0a93b8: 0303c821 */ addu $t9,$t8,$v1
/* f0a93bc: 0059082a */ slt $at,$v0,$t9
/* f0a93c0: 5420ffdd */ bnezl $at,.L0f0a9338
/* f0a93c4: 8ce30064 */ lw $v1,0x64($a3)
.L0f0a93c8:
/* f0a93c8: 03e00008 */ jr $ra
/* f0a93cc: 00000000 */ sll $zero,$zero,0x0
);
void playersSetPassiveMode(bool enable)
{
s32 i;
for (i = 0; i < PLAYERCOUNT(); i++) {
g_Vars.players[i]->passivemode = enable;
}
}
void currentPlayerSetAimType(u32 aimtype)
{

View File

@ -1200,7 +1200,7 @@ glabel func0f0fecd4
void activemenuOpen(void)
{
if (g_Vars.currentplayer->unk1583_07 == 0) {
if (g_Vars.currentplayer->passivemode == false) {
g_ActiveMenuIndex = g_Vars.currentplayernum;
g_Vars.currentplayer->activemenumode = 1;
g_PlayersWithControl[g_Vars.currentplayernum] = false;

View File

@ -2437,7 +2437,7 @@ glabel func0f19e9c0
.L0f19ea60:
/* f19ea60: 0fc67913 */ jal func0f19e44c
/* f19ea64: 00000000 */ sll $zero,$zero,0x0
/* f19ea68: 0fc2a4ab */ jal func0f0a92ac
/* f19ea68: 0fc2a4ab */ jal playersSetPassiveMode
/* f19ea6c: 00002025 */ or $a0,$zero,$zero
/* f19ea70: 8fbf0014 */ lw $ra,0x14($sp)
/* f19ea74: 27bd0018 */ addiu $sp,$sp,0x18
@ -2704,7 +2704,7 @@ glabel func0f19ecdc
/* f19ed4c: 00000000 */ sll $zero,$zero,0x0
/* f19ed50: a4400010 */ sh $zero,0x10($v0)
.L0f19ed54:
/* f19ed54: 0fc2a4ab */ jal func0f0a92ac
/* f19ed54: 0fc2a4ab */ jal playersSetPassiveMode
/* f19ed58: 24040001 */ addiu $a0,$zero,0x1
/* f19ed5c: 3c018009 */ lui $at,%hi(var80088804)
/* f19ed60: 0fc67505 */ jal func0f19d414
@ -5814,7 +5814,7 @@ GLOBAL_ASM(
glabel func0f1a1824
/* f1a1824: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a1828: afbf0014 */ sw $ra,0x14($sp)
/* f1a182c: 0fc2a4ab */ jal func0f0a92ac
/* f1a182c: 0fc2a4ab */ jal playersSetPassiveMode
/* f1a1830: 24040001 */ addiu $a0,$zero,0x1
/* f1a1834: 3c04800b */ lui $a0,%hi(g_DeviceTrainingData+0x8)
/* f1a1838: 8c84d1a8 */ lw $a0,%lo(g_DeviceTrainingData+0x8)($a0)
@ -6025,7 +6025,7 @@ void dtBegin(void)
chrUnsetStageFlag(NULL, 0x00000010);
chrSetStageFlag(NULL, func0f1a1e38(func0f1a1d68(var80088ad8)));
g_Vars.currentplayer->deadtimer = 1;
func0f0a92ac(false);
playersSetPassiveMode(false);
chrSetStageFlag(NULL, 0x00000001);
}
@ -6512,7 +6512,7 @@ glabel func0f1a2220
/* f1a22a4: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1)
/* f1a22a8: 24080001 */ addiu $t0,$zero,0x1
/* f1a22ac: 00002025 */ or $a0,$zero,$zero
/* f1a22b0: 0fc2a4ab */ jal func0f0a92ac
/* f1a22b0: 0fc2a4ab */ jal playersSetPassiveMode
/* f1a22b4: ad281c08 */ sw $t0,0x1c08($t1)
/* f1a22b8: 00002025 */ or $a0,$zero,$zero
/* f1a22bc: 0fc127cb */ jal chrSetStageFlag
@ -6604,7 +6604,7 @@ glabel func0f1a22d4
/* f1a23fc: 0461ffee */ bgez $v1,.L0f1a23b8
/* f1a2400: 00000000 */ sll $zero,$zero,0x0
.L0f1a2404:
/* f1a2404: 0fc2a4ab */ jal func0f0a92ac
/* f1a2404: 0fc2a4ab */ jal playersSetPassiveMode
/* f1a2408: 24040001 */ addiu $a0,$zero,0x1
/* f1a240c: 00002025 */ or $a0,$zero,$zero
/* f1a2410: 0fc127d2 */ jal chrUnsetStageFlag

View File

@ -425,7 +425,7 @@
/*0x01cb*/ bool aiFadeScreen(void);
/*0x01cc*/ bool aiIfFadeComplete(void);
/*0x01cd*/ bool aiSetChrHudpieceVisible(void);
/*0x01ce*/ bool ai01ce(void);
/*0x01ce*/ bool aiSetPassiveMode(void);
/*0x01cf*/ bool aiChrSetFiringInCutscene(void);
/*0x01d0*/ bool aiSetPortalFlag(void);
/*0x01d1*/ bool aiSetObjPartVisible(void);

View File

@ -144,7 +144,7 @@ u32 func0f0a895c(void);
void func0f0a8c50(void);
bool currentPlayerIsUsingSecondaryFunction(void);
u32 func0f0a8d34(void);
void func0f0a92ac(u32 arg0);
void playersSetPassiveMode(bool enable);
void currentPlayerSetAimType(u32 aimtype);
void func0f0a93e0(struct coord *coord);
void func0f0a9464(struct coord *coord);

View File

@ -1985,7 +1985,7 @@ struct player {
/*0x1583*/ u8 unk1583_04 : 1;
/*0x1583*/ u8 unk1583_05 : 1;
/*0x1583*/ u8 unk1583_06 : 1;
/*0x1583*/ u8 unk1583_07 : 1;
/*0x1583*/ u8 passivemode : 1;
/*0x1584*/ u32 unk1584;
/*0x1588*/ u32 unk1588;
/*0x158c*/ u32 unk158c;