mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-03 01:53:44 -04:00
Decompile chrHasFlagById
This commit is contained in:
@@ -5699,7 +5699,7 @@ bool aiIfChrHasFlag(void)
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
u32 flags = (cmd[4] << 16) | (cmd[5] << 8) | cmd[6] | (cmd[3] << 24);
|
||||
|
||||
if (func0f049ee8(g_Vars.chrdata, cmd[2], flags, cmd[7])) {
|
||||
if (chrHasFlagById(g_Vars.chrdata, cmd[2], flags, cmd[7])) {
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[8]);
|
||||
} else {
|
||||
g_Vars.aioffset += 9;
|
||||
@@ -12214,7 +12214,7 @@ glabel ai0133
|
||||
/* f05b0cc: 02002025 */ or $a0,$s0,$zero
|
||||
/* f05b0d0: 240500fd */ addiu $a1,$zero,0xfd
|
||||
/* f05b0d4: 24060100 */ addiu $a2,$zero,0x100
|
||||
/* f05b0d8: 0fc127ba */ jal func0f049ee8
|
||||
/* f05b0d8: 0fc127ba */ jal chrHasFlagById
|
||||
/* f05b0dc: 00003825 */ or $a3,$zero,$zero
|
||||
/* f05b0e0: 50400005 */ beqzl $v0,.L0f05b0f8
|
||||
/* f05b0e4: a21202a1 */ sb $s2,0x2a1($s0)
|
||||
@@ -12236,7 +12236,7 @@ glabel ai0133
|
||||
.L0f05b11c:
|
||||
/* f05b11c: 240500fd */ addiu $a1,$zero,0xfd
|
||||
/* f05b120: 24060100 */ addiu $a2,$zero,0x100
|
||||
/* f05b124: 0fc127ba */ jal func0f049ee8
|
||||
/* f05b124: 0fc127ba */ jal chrHasFlagById
|
||||
/* f05b128: 00003825 */ or $a3,$zero,$zero
|
||||
/* f05b12c: 10400002 */ beqz $v0,.L0f05b138
|
||||
/* f05b130: 00000000 */ sll $zero,$zero,0x0
|
||||
@@ -12251,7 +12251,7 @@ glabel ai0133
|
||||
/* f05b150: 02002025 */ or $a0,$s0,$zero
|
||||
/* f05b154: 240500fd */ addiu $a1,$zero,0xfd
|
||||
/* f05b158: 24060100 */ addiu $a2,$zero,0x100
|
||||
/* f05b15c: 0fc127ba */ jal func0f049ee8
|
||||
/* f05b15c: 0fc127ba */ jal chrHasFlagById
|
||||
/* f05b160: 00003825 */ or $a3,$zero,$zero
|
||||
/* f05b164: 50400005 */ beqzl $v0,.L0f05b17c
|
||||
/* f05b168: a21202a1 */ sb $s2,0x2a1($s0)
|
||||
@@ -12266,7 +12266,7 @@ glabel ai0133
|
||||
/* f05b184: 02002025 */ or $a0,$s0,$zero
|
||||
/* f05b188: 240500fd */ addiu $a1,$zero,0xfd
|
||||
/* f05b18c: 24060100 */ addiu $a2,$zero,0x100
|
||||
/* f05b190: 0fc127ba */ jal func0f049ee8
|
||||
/* f05b190: 0fc127ba */ jal chrHasFlagById
|
||||
/* f05b194: 00003825 */ or $a3,$zero,$zero
|
||||
/* f05b198: 50400003 */ beqzl $v0,.L0f05b1a8
|
||||
/* f05b19c: 92690006 */ lbu $t1,0x6($s3)
|
||||
|
||||
+10
-22
@@ -84667,28 +84667,16 @@ void chrUnsetFlagsById(struct chrdata *ref, u32 chrnum, u32 flags, u32 bank)
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f049ee8
|
||||
/* f049ee8: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f049eec: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f049ef0: afa60020 */ sw $a2,0x20($sp)
|
||||
/* f049ef4: 0fc126d1 */ jal chrFindById
|
||||
/* f049ef8: afa70024 */ sw $a3,0x24($sp)
|
||||
/* f049efc: 10400006 */ beqz $v0,.L0f049f18
|
||||
/* f049f00: 00402025 */ or $a0,$v0,$zero
|
||||
/* f049f04: 8fa50020 */ lw $a1,0x20($sp)
|
||||
/* f049f08: 0fc12790 */ jal chrHasFlag
|
||||
/* f049f0c: 93a60027 */ lbu $a2,0x27($sp)
|
||||
/* f049f10: 10000003 */ beqz $zero,.L0f049f20
|
||||
/* f049f14: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f049f18:
|
||||
/* f049f18: 00001025 */ or $v0,$zero,$zero
|
||||
/* f049f1c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f049f20:
|
||||
/* f049f20: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f049f24: 03e00008 */ jr $ra
|
||||
/* f049f28: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
bool chrHasFlagById(struct chrdata *ref, u32 chrnum, u32 flag, u32 bank)
|
||||
{
|
||||
struct chrdata *chr = chrFindById(ref, chrnum);
|
||||
|
||||
if (chr) {
|
||||
return chrHasFlag(chr, flag, bank);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f049f2c
|
||||
|
||||
Reference in New Issue
Block a user