mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-07 01:45:50 -04:00
Decompile aiSetCloaked
This commit is contained in:
+11
-11
@@ -5678,7 +5678,7 @@ glabel func0f022214
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f022484
|
||||
glabel chrCloak
|
||||
/* f022484: 27bdffb8 */ addiu $sp,$sp,-72
|
||||
/* f022488: afbf0044 */ sw $ra,0x44($sp)
|
||||
/* f02248c: afa40048 */ sw $a0,0x48($sp)
|
||||
@@ -5720,7 +5720,7 @@ glabel func0f022484
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f022518
|
||||
glabel chrUncloak
|
||||
/* f022518: 27bdffb8 */ addiu $sp,$sp,-72
|
||||
/* f02251c: afbf0044 */ sw $ra,0x44($sp)
|
||||
/* f022520: afa40048 */ sw $a0,0x48($sp)
|
||||
@@ -5787,7 +5787,7 @@ glabel func0f0225f4
|
||||
/* f0225f4: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f0225f8: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0225fc: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f022600: 0fc08946 */ jal func0f022518
|
||||
/* f022600: 0fc08946 */ jal chrUncloak
|
||||
/* f022604: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f022608: 8faf0018 */ lw $t7,0x18($sp)
|
||||
/* f02260c: 240e0078 */ addiu $t6,$zero,0x78
|
||||
@@ -5976,14 +5976,14 @@ glabel func0f022624
|
||||
/* f02289c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0228a0: 5dc0005c */ bgtzl $t6,.L0f022a14
|
||||
/* f0228a4: 8e090014 */ lw $t1,0x14($s0)
|
||||
/* f0228a8: 0fc08921 */ jal func0f022484
|
||||
/* f0228a8: 0fc08921 */ jal chrCloak
|
||||
/* f0228ac: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0228b0: 10000058 */ beqz $zero,.L0f022a14
|
||||
/* f0228b4: 8e090014 */ lw $t1,0x14($s0)
|
||||
.L0f0228b8:
|
||||
/* f0228b8: 10800055 */ beqz $a0,.L0f022a10
|
||||
/* f0228bc: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0228c0: 0fc08946 */ jal func0f022518
|
||||
/* f0228c0: 0fc08946 */ jal chrUncloak
|
||||
/* f0228c4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0228c8: 10000052 */ beqz $zero,.L0f022a14
|
||||
/* f0228cc: 8e090014 */ lw $t1,0x14($s0)
|
||||
@@ -6058,7 +6058,7 @@ glabel func0f022624
|
||||
/* f0229c8: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0229cc: 1f00000e */ bgtz $t8,.L0f022a08
|
||||
/* f0229d0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0229d4: 0fc08921 */ jal func0f022484
|
||||
/* f0229d4: 0fc08921 */ jal chrCloak
|
||||
/* f0229d8: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0229dc: 1000000a */ beqz $zero,.L0f022a08
|
||||
/* f0229e0: 00000000 */ sll $zero,$zero,0x0
|
||||
@@ -6070,7 +6070,7 @@ glabel func0f022624
|
||||
/* f0229f4: 00194080 */ sll $t0,$t9,0x2
|
||||
/* f0229f8: 05010003 */ bgez $t0,.L0f022a08
|
||||
/* f0229fc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f022a00: 0fc08946 */ jal func0f022518
|
||||
/* f022a00: 0fc08946 */ jal chrUncloak
|
||||
/* f022a04: 24050001 */ addiu $a1,$zero,0x1
|
||||
.L0f022a08:
|
||||
/* f022a08: 0fc4a24b */ jal setCurrentPlayerNum
|
||||
@@ -23256,7 +23256,7 @@ glabel func0f0319a8
|
||||
/* f031dac: 0fc0fe3d */ jal func0f03f8f4
|
||||
/* f031db0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f031db4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f031db8: 0fc08946 */ jal func0f022518
|
||||
/* f031db8: 0fc08946 */ jal chrUncloak
|
||||
/* f031dbc: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f031dc0: 8e0f0018 */ lw $t7,0x18($s0)
|
||||
/* f031dc4: 2401fbff */ addiu $at,$zero,-1025
|
||||
@@ -24847,7 +24847,7 @@ glabel func0f03323c
|
||||
/* f0334c8: 0fc0fe3d */ jal func0f03f8f4
|
||||
/* f0334cc: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0334d0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0334d4: 0fc08946 */ jal func0f022518
|
||||
/* f0334d4: 0fc08946 */ jal chrUncloak
|
||||
/* f0334d8: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0334dc: 8e0d0018 */ lw $t5,0x18($s0)
|
||||
/* f0334e0: 8fa20040 */ lw $v0,0x40($sp)
|
||||
@@ -28126,7 +28126,7 @@ glabel func0f036358
|
||||
/* f03637c: 0fc0fe3d */ jal func0f03f8f4
|
||||
/* f036380: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f036384: 02002025 */ or $a0,$s0,$zero
|
||||
/* f036388: 0fc08946 */ jal func0f022518
|
||||
/* f036388: 0fc08946 */ jal chrUncloak
|
||||
/* f03638c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f036390: 921802ff */ lbu $t8,0x2ff($s0)
|
||||
/* f036394: 3c01bf80 */ lui $at,0xbf80
|
||||
@@ -36596,7 +36596,7 @@ glabel func0f03d7ec
|
||||
/* f03d8a0: afa00088 */ sw $zero,0x88($sp)
|
||||
.L0f03d8a4:
|
||||
/* f03d8a4: 8fd70020 */ lw $s7,0x20($s8)
|
||||
/* f03d8a8: 0fc08946 */ jal func0f022518
|
||||
/* f03d8a8: 0fc08946 */ jal chrUncloak
|
||||
/* f03d8ac: 03c02025 */ or $a0,$s8,$zero
|
||||
/* f03d8b0: 2418001e */ addiu $t8,$zero,0x1e
|
||||
/* f03d8b4: 3c014180 */ lui $at,0x4180
|
||||
|
||||
@@ -13914,52 +13914,25 @@ glabel ai01b5
|
||||
/**
|
||||
* @cmd 01b7
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel ai01b7
|
||||
/* f05e870: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f05e874: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f05e878: 8c4e0434 */ lw $t6,0x434($v0)
|
||||
/* f05e87c: 8c4f0438 */ lw $t7,0x438($v0)
|
||||
/* f05e880: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f05e884: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f05e888: 01cf1821 */ addu $v1,$t6,$t7
|
||||
/* f05e88c: 90650002 */ lbu $a1,0x2($v1)
|
||||
/* f05e890: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f05e894: 0fc126d1 */ jal chrFindById
|
||||
/* f05e898: 8c440424 */ lw $a0,0x424($v0)
|
||||
/* f05e89c: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f05e8a0: 10400013 */ beqz $v0,.L0f05e8f0
|
||||
/* f05e8a4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f05e8a8: 8c58001c */ lw $t8,0x1c($v0)
|
||||
/* f05e8ac: 13000010 */ beqz $t8,.L0f05e8f0
|
||||
/* f05e8b0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f05e8b4: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f05e8b8: 0fc0e6a5 */ jal func0f039a94
|
||||
/* f05e8bc: afa20018 */ sw $v0,0x18($sp)
|
||||
/* f05e8c0: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f05e8c4: 1440000a */ bnez $v0,.L0f05e8f0
|
||||
/* f05e8c8: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f05e8cc: 90790003 */ lbu $t9,0x3($v1)
|
||||
/* f05e8d0: 13200005 */ beqz $t9,.L0f05e8e8
|
||||
/* f05e8d4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f05e8d8: 0fc08921 */ jal func0f022484
|
||||
/* f05e8dc: 90650004 */ lbu $a1,0x4($v1)
|
||||
/* f05e8e0: 10000003 */ beqz $zero,.L0f05e8f0
|
||||
/* f05e8e4: 00000000 */ sll $zero,$zero,0x0
|
||||
.L0f05e8e8:
|
||||
/* f05e8e8: 0fc08946 */ jal func0f022518
|
||||
/* f05e8ec: 90650004 */ lbu $a1,0x4($v1)
|
||||
.L0f05e8f0:
|
||||
/* f05e8f0: 3c03800a */ lui $v1,%hi(g_Vars)
|
||||
/* f05e8f4: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
|
||||
/* f05e8f8: 8c680438 */ lw $t0,0x438($v1)
|
||||
/* f05e8fc: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f05e900: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f05e904: 25090005 */ addiu $t1,$t0,0x5
|
||||
/* f05e908: ac690438 */ sw $t1,0x438($v1)
|
||||
/* f05e90c: 03e00008 */ jr $ra
|
||||
/* f05e910: 00001025 */ or $v0,$zero,$zero
|
||||
);
|
||||
bool aiChrSetCloaked(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
|
||||
|
||||
if (chr && chr->pos) {
|
||||
if (!func0f039a94(chr)) {
|
||||
if (cmd[3]) {
|
||||
chrCloak(chr, cmd[4]);
|
||||
} else {
|
||||
chrUncloak(chr, cmd[4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g_Vars.aioffset += 5;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @cmd 01b8
|
||||
|
||||
@@ -4226,7 +4226,7 @@ glabel func0f0099e4
|
||||
/* f009cc8: 05e10004 */ bgez $t7,.L0f009cdc
|
||||
/* f009ccc: ae0d0018 */ sw $t5,0x18($s0)
|
||||
/* f009cd0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f009cd4: 0fc08946 */ jal func0f022518
|
||||
/* f009cd4: 0fc08946 */ jal chrUncloak
|
||||
/* f009cd8: 24050001 */ addiu $a1,$zero,0x1
|
||||
.L0f009cdc:
|
||||
/* f009cdc: 86620002 */ lh $v0,0x2($s3)
|
||||
|
||||
@@ -16807,7 +16807,7 @@ glabel func0f0c1404
|
||||
.L0f0c148c:
|
||||
/* f0c148c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0c1490: 8d6c00bc */ lw $t4,0xbc($t3)
|
||||
/* f0c1494: 0fc08946 */ jal func0f022518
|
||||
/* f0c1494: 0fc08946 */ jal chrUncloak
|
||||
/* f0c1498: 8d840004 */ lw $a0,0x4($t4)
|
||||
/* f0c149c: 8e0d0314 */ lw $t5,0x314($s0)
|
||||
/* f0c14a0: 51a0000d */ beqzl $t5,.L0f0c14d8
|
||||
|
||||
@@ -62,8 +62,8 @@ u32 func0f022084(void);
|
||||
u32 func0f0220ac(struct chrdata *chr);
|
||||
u32 func0f0220ec(void);
|
||||
u32 func0f022214(void);
|
||||
u32 func0f022484(void);
|
||||
u32 func0f022518(void);
|
||||
void chrCloak(struct chrdata *chr, bool arg1);
|
||||
void chrUncloak(struct chrdata *chr, bool arg1);
|
||||
u32 func0f0225f4(void);
|
||||
u32 func0f022624(void);
|
||||
u32 func0f022be4(void);
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
/*0x01b4*/ bool ai01b4(void);
|
||||
/*0x01b5*/ bool ai01b5(void);
|
||||
/*0x01b6*/ bool aiConfigureSnow(void);
|
||||
/*0x01b7*/ bool ai01b7(void);
|
||||
/*0x01b7*/ bool aiChrSetCloaked(void);
|
||||
/*0x01b8*/ bool aiSetAutogunType(void);
|
||||
/*0x01b9*/ bool ai01b9(void);
|
||||
/*0x01ba*/ bool ai01ba(void);
|
||||
|
||||
@@ -14571,7 +14571,7 @@ bool (*g_CommandPointers[])(void) = {
|
||||
/*0x01b4*/ ai01b4,
|
||||
/*0x01b5*/ ai01b5,
|
||||
/*0x01b6*/ aiConfigureSnow,
|
||||
/*0x01b7*/ ai01b7,
|
||||
/*0x01b7*/ aiChrSetCloaked,
|
||||
/*0x01b8*/ aiSetAutogunType,
|
||||
/*0x01b9*/ ai01b9,
|
||||
/*0x01ba*/ ai01ba,
|
||||
|
||||
Reference in New Issue
Block a user