Decompile chrHasFlag

This commit is contained in:
Ryan Dwyer 2019-10-09 22:43:37 +10:00
parent 74f05b4455
commit b648be4069
3 changed files with 20 additions and 30 deletions

View File

@ -245,12 +245,12 @@ glabel chraiExecute
/* f04d900: 01f8082b */ sltu $at,$t7,$t8
/* f04d904: 50200029 */ beqzl $at,.L0f04d9ac
/* f04d908: 8e070424 */ lw $a3,0x424($s0)
/* f04d90c: 0fc12790 */ jal func0f049e40
/* f04d90c: 0fc12790 */ jal chrHasFlag
/* f04d910: 24060001 */ addiu $a2,$zero,0x1
/* f04d914: 14400024 */ bnez $v0,.L0f04d9a8
/* f04d918: 3c050001 */ lui $a1,0x1
/* f04d91c: 8e040424 */ lw $a0,0x424($s0)
/* f04d920: 0fc12790 */ jal func0f049e40
/* f04d920: 0fc12790 */ jal chrHasFlag
/* f04d924: 00003025 */ or $a2,$zero,$zero
/* f04d928: 54400020 */ bnezl $v0,.L0f04d9ac
/* f04d92c: 8e070424 */ lw $a3,0x424($s0)
@ -309,7 +309,7 @@ glabel chraiExecute
/* f04d9f0: 000d7b80 */ sll $t7,$t5,0xe
/* f04d9f4: 05e30030 */ bgezl $t7,.L0f04dab8
/* f04d9f8: 8e040434 */ lw $a0,0x434($s0)
/* f04d9fc: 0fc12790 */ jal func0f049e40
/* f04d9fc: 0fc12790 */ jal chrHasFlag
/* f04da00: 24060001 */ addiu $a2,$zero,0x1
/* f04da04: 5440002c */ bnezl $v0,.L0f04dab8
/* f04da08: 8e040434 */ lw $a0,0x434($s0)

View File

@ -6399,7 +6399,7 @@ glabel ai009d
/* f053e44: 90660007 */ lbu $a2,0x7($v1)
/* f053e48: afa30018 */ sw $v1,0x18($sp)
/* f053e4c: 8ce40424 */ lw $a0,0x424($a3)
/* f053e50: 0fc12790 */ jal func0f049e40
/* f053e50: 0fc12790 */ jal chrHasFlag
/* f053e54: 01ae2825 */ or $a1,$t5,$t6
/* f053e58: 8fa30018 */ lw $v1,0x18($sp)
/* f053e5c: 3c07800a */ lui $a3,0x800a
@ -14992,7 +14992,7 @@ glabel ai0131
/* f05ad80: 00003025 */ or $a2,$zero,$zero
/* f05ad84: 45030005 */ bc1tl .L0f05ad9c
/* f05ad88: 26040113 */ addiu $a0,$s0,0x113
/* f05ad8c: 0fc12790 */ jal func0f049e40
/* f05ad8c: 0fc12790 */ jal chrHasFlag
/* f05ad90: 8e440424 */ lw $a0,0x424($s2)
/* f05ad94: 10400003 */ beqz $v0,.L0f05ada4
/* f05ad98: 26040113 */ addiu $a0,$s0,0x113

View File

@ -64479,7 +64479,7 @@ glabel func0f039474
/* f039508: 4502000b */ bc1fl .L0f039538
/* f03950c: 02002025 */ or $a0,$s0,$zero
.L0f039510:
/* f039510: 0fc12790 */ jal func0f049e40
/* f039510: 0fc12790 */ jal chrHasFlag
/* f039514: 24060001 */ addiu $a2,$zero,0x1
/* f039518: 14400006 */ bnez $v0,.L0f039534
/* f03951c: 02002025 */ or $a0,$s0,$zero
@ -67448,14 +67448,14 @@ glabel func0f03bbc8
.L0f03bd34:
/* f03bd34: 24050080 */ addiu $a1,$zero,0x80
/* f03bd38: 24060001 */ addiu $a2,$zero,0x1
/* f03bd3c: 0fc12790 */ jal func0f049e40
/* f03bd3c: 0fc12790 */ jal chrHasFlag
/* f03bd40: afa80048 */ sw $t0,0x48($sp)
/* f03bd44: 10400031 */ beqz $v0,.L0f03be0c
/* f03bd48: 8fa80048 */ lw $t0,0x48($sp)
/* f03bd4c: 02002025 */ or $a0,$s0,$zero
/* f03bd50: 24050080 */ addiu $a1,$zero,0x80
/* f03bd54: 00003025 */ or $a2,$zero,$zero
/* f03bd58: 0fc12790 */ jal func0f049e40
/* f03bd58: 0fc12790 */ jal chrHasFlag
/* f03bd5c: afa80048 */ sw $t0,0x48($sp)
/* f03bd60: 10400013 */ beqz $v0,.L0f03bdb0
/* f03bd64: 8fa80048 */ lw $t0,0x48($sp)
@ -67554,14 +67554,14 @@ glabel func0f03bbc8
/* f03bebc: 10000050 */ beqz $zero,.L0f03c000
/* f03bec0: a6020044 */ sh $v0,0x44($s0)
.L0f03bec4:
/* f03bec4: 0fc12790 */ jal func0f049e40
/* f03bec4: 0fc12790 */ jal chrHasFlag
/* f03bec8: afa30030 */ sw $v1,0x30($sp)
/* f03becc: 1040003d */ beqz $v0,.L0f03bfc4
/* f03bed0: 8fa30030 */ lw $v1,0x30($sp)
/* f03bed4: 02002025 */ or $a0,$s0,$zero
/* f03bed8: 24050080 */ addiu $a1,$zero,0x80
/* f03bedc: 00003025 */ or $a2,$zero,$zero
/* f03bee0: 0fc12790 */ jal func0f049e40
/* f03bee0: 0fc12790 */ jal chrHasFlag
/* f03bee4: afa30030 */ sw $v1,0x30($sp)
/* f03bee8: 10400036 */ beqz $v0,.L0f03bfc4
/* f03beec: 8fa30030 */ lw $v1,0x30($sp)
@ -67627,7 +67627,7 @@ glabel func0f03bbc8
/* f03bfc4: 02002025 */ or $a0,$s0,$zero
/* f03bfc8: 3c058000 */ lui $a1,0x8000
/* f03bfcc: 24060001 */ addiu $a2,$zero,0x1
/* f03bfd0: 0fc12790 */ jal func0f049e40
/* f03bfd0: 0fc12790 */ jal chrHasFlag
/* f03bfd4: afa30030 */ sw $v1,0x30($sp)
/* f03bfd8: 10400007 */ beqz $v0,.L0f03bff8
/* f03bfdc: 8fa30030 */ lw $v1,0x30($sp)
@ -83340,24 +83340,14 @@ glabel func0f049e08
/* f049e3c: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f049e40
/* f049e40: 30ce00ff */ andi $t6,$a2,0xff
/* f049e44: 15c00006 */ bnez $t6,.L0f049e60
/* f049e48: afa60008 */ sw $a2,0x8($sp)
/* f049e4c: 8c8f0114 */ lw $t7,0x114($a0)
/* f049e50: 01e51024 */ and $v0,$t7,$a1
/* f049e54: 0002c02b */ sltu $t8,$zero,$v0
/* f049e58: 03e00008 */ jr $ra
/* f049e5c: 03001025 */ or $v0,$t8,$zero
.L0f049e60:
/* f049e60: 8c990118 */ lw $t9,0x118($a0)
/* f049e64: 03251024 */ and $v0,$t9,$a1
/* f049e68: 0002402b */ sltu $t0,$zero,$v0
/* f049e6c: 01001025 */ or $v0,$t0,$zero
/* f049e70: 03e00008 */ jr $ra
/* f049e74: 00000000 */ sll $zero,$zero,0x0
);
bool chrHasFlag(struct chrdata *chr, u32 flag, u8 bank)
{
if (bank == 0) {
return (chr->flags & flag) != 0;
} else {
return (chr->flags2 & flag) != 0;
}
}
GLOBAL_ASM(
glabel func0f049e78
@ -83407,7 +83397,7 @@ glabel func0f049ee8
/* f049efc: 10400006 */ beqz $v0,.L0f049f18
/* f049f00: 00402025 */ or $a0,$v0,$zero
/* f049f04: 8fa50020 */ lw $a1,0x20($sp)
/* f049f08: 0fc12790 */ jal func0f049e40
/* f049f08: 0fc12790 */ jal chrHasFlag
/* f049f0c: 93a60027 */ lbu $a2,0x27($sp)
/* f049f10: 10000003 */ beqz $zero,.L0f049f20
/* f049f14: 8fbf0014 */ lw $ra,0x14($sp)