diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 6a4d66490..ec1b5ec8b 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -12822,7 +12822,7 @@ glabel func0f028834 /* f028850: 8c620004 */ lw $v0,0x4($v1) /* f028854: 24050010 */ addiu $a1,$zero,0x10 /* f028858: 9044005c */ lbu $a0,0x5c($v0) -/* f02885c: 0fc2c5f0 */ jal func0f0b17c0 +/* f02885c: 0fc2c5f0 */ jal weaponHasFlag /* f028860: afa3001c */ sw $v1,0x1c($sp) /* f028864: 14400002 */ bnez $v0,.L0f028870 /* f028868: 8fa3001c */ lw $v1,0x1c($sp) @@ -19025,7 +19025,7 @@ glabel func0f02e124 /* f02e12c: afbf0014 */ sw $ra,0x14($sp) /* f02e130: 8c820004 */ lw $v0,0x4($a0) /* f02e134: 24050008 */ addiu $a1,$zero,0x8 -/* f02e138: 0fc2c5f0 */ jal func0f0b17c0 +/* f02e138: 0fc2c5f0 */ jal weaponHasFlag /* f02e13c: 9044005c */ lbu $a0,0x5c($v0) /* f02e140: 10000003 */ beqz $zero,.L0f02e150 /* f02e144: 8fbf0014 */ lw $ra,0x14($sp) diff --git a/src/game/game_0601b0.c b/src/game/game_0601b0.c index 96c249687..05c1387ec 100644 --- a/src/game/game_0601b0.c +++ b/src/game/game_0601b0.c @@ -5576,7 +5576,7 @@ glabel func0f064ce8 /* f064d30: 0fc2866a */ jal func0f0a19a8 /* f064d34: adc80004 */ sw $t0,0x4($t6) /* f064d38: 00402025 */ or $a0,$v0,$zero -/* f064d3c: 0fc2c5f0 */ jal func0f0b17c0 +/* f064d3c: 0fc2c5f0 */ jal weaponHasFlag /* f064d40: 3c050008 */ lui $a1,0x8 /* f064d44: afa200e4 */ sw $v0,0xe4($sp) /* f064d48: afa000e0 */ sw $zero,0xe0($sp) diff --git a/src/game/game_066310.c b/src/game/game_066310.c index 26f897d1a..ff5180ec1 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -39718,21 +39718,21 @@ glabel func0f08841c .L0f088578: /* f088578: 8fa40024 */ lw $a0,0x24($sp) .L0f08857c: -/* f08857c: 0fc2c5f0 */ jal func0f0b17c0 +/* f08857c: 0fc2c5f0 */ jal weaponHasFlag /* f088580: 3c052000 */ lui $a1,0x2000 /* f088584: 10400003 */ beqz $v0,.L0f088594 /* f088588: 8fa40024 */ lw $a0,0x24($sp) /* f08858c: 1000000d */ beqz $zero,.L0f0885c4 /* f088590: 24045202 */ addiu $a0,$zero,0x5202 .L0f088594: -/* f088594: 0fc2c5f0 */ jal func0f0b17c0 +/* f088594: 0fc2c5f0 */ jal weaponHasFlag /* f088598: 3c050040 */ lui $a1,0x40 /* f08859c: 10400003 */ beqz $v0,.L0f0885ac /* f0885a0: 8fa40024 */ lw $a0,0x24($sp) /* f0885a4: 10000007 */ beqz $zero,.L0f0885c4 /* f0885a8: 24045206 */ addiu $a0,$zero,0x5206 .L0f0885ac: -/* f0885ac: 0fc2c5f0 */ jal func0f0b17c0 +/* f0885ac: 0fc2c5f0 */ jal weaponHasFlag /* f0885b0: 3c050100 */ lui $a1,0x100 /* f0885b4: 10400003 */ beqz $v0,.L0f0885c4 /* f0885b8: 24045204 */ addiu $a0,$zero,0x5204 @@ -39757,21 +39757,21 @@ glabel func0f08841c /* f0885fc: 10000013 */ beqz $zero,.L0f08864c /* f088600: 24045233 */ addiu $a0,$zero,0x5233 .L0f088604: -/* f088604: 0fc2c5f0 */ jal func0f0b17c0 +/* f088604: 0fc2c5f0 */ jal weaponHasFlag /* f088608: 3c051000 */ lui $a1,0x1000 /* f08860c: 10400003 */ beqz $v0,.L0f08861c /* f088610: 8fa40024 */ lw $a0,0x24($sp) /* f088614: 1000000d */ beqz $zero,.L0f08864c /* f088618: 24045203 */ addiu $a0,$zero,0x5203 .L0f08861c: -/* f08861c: 0fc2c5f0 */ jal func0f0b17c0 +/* f08861c: 0fc2c5f0 */ jal weaponHasFlag /* f088620: 3c050020 */ lui $a1,0x20 /* f088624: 10400003 */ beqz $v0,.L0f088634 /* f088628: 8fa40024 */ lw $a0,0x24($sp) /* f08862c: 10000007 */ beqz $zero,.L0f08864c /* f088630: 24045207 */ addiu $a0,$zero,0x5207 .L0f088634: -/* f088634: 0fc2c5f0 */ jal func0f0b17c0 +/* f088634: 0fc2c5f0 */ jal weaponHasFlag /* f088638: 3c050080 */ lui $a1,0x80 /* f08863c: 10400003 */ beqz $v0,.L0f08864c /* f088640: 24045205 */ addiu $a0,$zero,0x5205 @@ -39793,7 +39793,7 @@ glabel func0f08841c /* f088678: 0c004c89 */ jal func00013224 /* f08867c: 00402825 */ or $a1,$v0,$zero /* f088680: 8fa40024 */ lw $a0,0x24($sp) -/* f088684: 0fc2c5f0 */ jal func0f0b17c0 +/* f088684: 0fc2c5f0 */ jal weaponHasFlag /* f088688: 3c052000 */ lui $a1,0x2000 /* f08868c: 10000009 */ beqz $zero,.L0f0886b4 /* f088690: 00000000 */ sll $zero,$zero,0x0 @@ -39804,7 +39804,7 @@ glabel func0f08841c /* f0886a0: 0c004c89 */ jal func00013224 /* f0886a4: 00402825 */ or $a1,$v0,$zero /* f0886a8: 8fa40024 */ lw $a0,0x24($sp) -/* f0886ac: 0fc2c5f0 */ jal func0f0b17c0 +/* f0886ac: 0fc2c5f0 */ jal weaponHasFlag /* f0886b0: 3c051000 */ lui $a1,0x1000 .L0f0886b4: /* f0886b4: 10400012 */ beqz $v0,.L0f088700 @@ -40725,7 +40725,7 @@ glabel func0f089014 /* f089388: 11a0001a */ beqz $t5,.L0f0893f4 /* f08938c: 00000000 */ sll $zero,$zero,0x0 /* f089390: 90e4005c */ lbu $a0,0x5c($a3) -/* f089394: 0fc2c5f0 */ jal func0f0b17c0 +/* f089394: 0fc2c5f0 */ jal weaponHasFlag /* f089398: afa70080 */ sw $a3,0x80($sp) /* f08939c: 10400015 */ beqz $v0,.L0f0893f4 /* f0893a0: 8fa70080 */ lw $a3,0x80($sp) @@ -49748,7 +49748,7 @@ glabel func0f0910ac /* f09113c: 02002025 */ or $a0,$s0,$zero /* f091140: 10400034 */ beqz $v0,.L0f091214 /* f091144: 02002025 */ or $a0,$s0,$zero -/* f091148: 0fc2c5f0 */ jal func0f0b17c0 +/* f091148: 0fc2c5f0 */ jal weaponHasFlag /* f09114c: 02802825 */ or $a1,$s4,$zero /* f091150: 5040000a */ beqzl $v0,.L0f09117c /* f091154: 8e680298 */ lw $t0,0x298($s3) diff --git a/src/game/game_097a50.c b/src/game/game_097a50.c index 678319519..303e4a077 100644 --- a/src/game/game_097a50.c +++ b/src/game/game_097a50.c @@ -897,7 +897,7 @@ glabel func0f097ba0 /* f097c14: 2c630001 */ sltiu $v1,$v1,0x1 /* f097c18: afa30020 */ sw $v1,0x20($sp) /* f097c1c: 8fa40044 */ lw $a0,0x44($sp) -/* f097c20: 0fc2c5f0 */ jal func0f0b17c0 +/* f097c20: 0fc2c5f0 */ jal weaponHasFlag /* f097c24: 24051000 */ addiu $a1,$zero,0x1000 /* f097c28: 14400003 */ bnez $v0,.L0f097c38 /* f097c2c: 8fa30020 */ lw $v1,0x20($sp) @@ -2618,7 +2618,7 @@ glabel func0f0991e4 /* f099380: 05010071 */ bgez $t0,.L0f099548 /* f099384: 8faf0040 */ lw $t7,0x40($sp) /* f099388: 8de40000 */ lw $a0,0x0($t7) -/* f09938c: 0fc2c5f0 */ jal func0f0b17c0 +/* f09938c: 0fc2c5f0 */ jal weaponHasFlag /* f099390: 24050001 */ addiu $a1,$zero,0x1 /* f099394: 1040000f */ beqz $v0,.L0f0993d4 /* f099398: 8fb80040 */ lw $t8,0x40($sp) @@ -2717,7 +2717,7 @@ glabel func0f0991e4 /* f0994f8: a20b0690 */ sb $t3,0x690($s0) .L0f0994fc: /* f0994fc: 8d840000 */ lw $a0,0x0($t4) -/* f099500: 0fc2c5f0 */ jal func0f0b17c0 +/* f099500: 0fc2c5f0 */ jal weaponHasFlag /* f099504: 3c050400 */ lui $a1,0x400 /* f099508: 50400006 */ beqzl $v0,.L0f099524 /* f09950c: 920d0690 */ lbu $t5,0x690($s0) @@ -3671,12 +3671,12 @@ glabel func0f099c48 /* f09a264: 1040000b */ beqz $v0,.L0f09a294 /* f09a268: 8fac0038 */ lw $t4,0x38($sp) /* f09a26c: 8d840000 */ lw $a0,0x0($t4) -/* f09a270: 0fc2c5f0 */ jal func0f0b17c0 +/* f09a270: 0fc2c5f0 */ jal weaponHasFlag /* f09a274: 24050040 */ addiu $a1,$zero,0x40 /* f09a278: 10400006 */ beqz $v0,.L0f09a294 /* f09a27c: 8faf0038 */ lw $t7,0x38($sp) /* f09a280: 8de40000 */ lw $a0,0x0($t7) -/* f09a284: 0fc2c5f0 */ jal func0f0b17c0 +/* f09a284: 0fc2c5f0 */ jal weaponHasFlag /* f09a288: 24050080 */ addiu $a1,$zero,0x80 /* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 /* f09a290: 8e19001c */ lw $t9,0x1c($s0) @@ -5835,7 +5835,7 @@ glabel func0f09c01c /* f09c078: 00000000 */ sll $zero,$zero,0x0 /* f09c07c: 8fa80070 */ lw $t0,0x70($sp) /* f09c080: afa00064 */ sw $zero,0x64($sp) -/* f09c084: 0fc2c5f0 */ jal func0f0b17c0 +/* f09c084: 0fc2c5f0 */ jal weaponHasFlag /* f09c088: 8d040000 */ lw $a0,0x0($t0) /* f09c08c: 1040000f */ beqz $v0,.L0f09c0cc /* f09c090: 8fa90070 */ lw $t1,0x70($sp) @@ -6158,7 +6158,7 @@ glabel func0f09c01c /* f09c4f8: 2402000c */ addiu $v0,$zero,0xc /* f09c4fc: 92040000 */ lbu $a0,0x0($s0) .L0f09c500: -/* f09c500: 0fc2c5f0 */ jal func0f0b17c0 +/* f09c500: 0fc2c5f0 */ jal weaponHasFlag /* f09c504: afa20054 */ sw $v0,0x54($sp) /* f09c508: 10400003 */ beqz $v0,.L0f09c518 /* f09c50c: 8fac0068 */ lw $t4,0x68($sp) @@ -6227,7 +6227,7 @@ glabel func0f09c01c /* f09c5e4: 02002825 */ or $a1,$s0,$zero /* f09c5e8: 8faf0070 */ lw $t7,0x70($sp) /* f09c5ec: 24050001 */ addiu $a1,$zero,0x1 -/* f09c5f0: 0fc2c5f0 */ jal func0f0b17c0 +/* f09c5f0: 0fc2c5f0 */ jal weaponHasFlag /* f09c5f4: 8de40000 */ lw $a0,0x0($t7) /* f09c5f8: 10400015 */ beqz $v0,.L0f09c650 /* f09c5fc: 8fb80070 */ lw $t8,0x70($sp) @@ -6501,12 +6501,12 @@ glabel func0f09c01c /* f09ca0c: 1040000b */ beqz $v0,.L0f09ca3c /* f09ca10: 8fb90070 */ lw $t9,0x70($sp) /* f09ca14: 8f240000 */ lw $a0,0x0($t9) -/* f09ca18: 0fc2c5f0 */ jal func0f0b17c0 +/* f09ca18: 0fc2c5f0 */ jal weaponHasFlag /* f09ca1c: 24050040 */ addiu $a1,$zero,0x40 /* f09ca20: 10400006 */ beqz $v0,.L0f09ca3c /* f09ca24: 8fa80070 */ lw $t0,0x70($sp) /* f09ca28: 8d040000 */ lw $a0,0x0($t0) -/* f09ca2c: 0fc2c5f0 */ jal func0f0b17c0 +/* f09ca2c: 0fc2c5f0 */ jal weaponHasFlag /* f09ca30: 24050080 */ addiu $a1,$zero,0x80 /* f09ca34: 10400011 */ beqz $v0,.L0f09ca7c /* f09ca38: 8fad0054 */ lw $t5,0x54($sp) @@ -6517,7 +6517,7 @@ glabel func0f09c01c /* f09ca44: 92040000 */ lbu $a0,0x0($s0) /* f09ca48: 252a0001 */ addiu $t2,$t1,0x1 /* f09ca4c: ae0a0608 */ sw $t2,0x608($s0) -/* f09ca50: 0fc2c5f0 */ jal func0f0b17c0 +/* f09ca50: 0fc2c5f0 */ jal weaponHasFlag /* f09ca54: 24054000 */ addiu $a1,$zero,0x4000 /* f09ca58: 54400005 */ bnezl $v0,.L0f09ca70 /* f09ca5c: ae00001c */ sw $zero,0x1c($s0) @@ -6555,7 +6555,7 @@ glabel func0f09c01c /* f09cacc: 8f280004 */ lw $t0,0x4($t9) /* f09cad0: 51000010 */ beqzl $t0,.L0f09cb14 /* f09cad4: 8fa40074 */ lw $a0,0x74($sp) -/* f09cad8: 0fc2c5f0 */ jal func0f0b17c0 +/* f09cad8: 0fc2c5f0 */ jal weaponHasFlag /* f09cadc: 92040000 */ lbu $a0,0x0($s0) /* f09cae0: 5440000c */ bnezl $v0,.L0f09cb14 /* f09cae4: 8fa40074 */ lw $a0,0x74($sp) @@ -8462,7 +8462,7 @@ glabel func0f09e4e0 /* f09e5b0: 11400121 */ beqz $t2,.L0f09ea38 /* f09e5b4: 8fa400a4 */ lw $a0,0xa4($sp) /* f09e5b8: 00008025 */ or $s0,$zero,$zero -/* f09e5bc: 0fc2c5f0 */ jal func0f0b17c0 +/* f09e5bc: 0fc2c5f0 */ jal weaponHasFlag /* f09e5c0: 3c050002 */ lui $a1,0x2 /* f09e5c4: 10400002 */ beqz $v0,.L0f09e5d0 /* f09e5c8: 24060001 */ addiu $a2,$zero,0x1 @@ -12135,7 +12135,7 @@ glabel func0f0a1a10 /* f0a1a10: 27bdffe8 */ addiu $sp,$sp,-24 /* f0a1a14: afbf0014 */ sw $ra,0x14($sp) /* f0a1a18: afa40018 */ sw $a0,0x18($sp) -/* f0a1a1c: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a1a1c: 0fc2c5f0 */ jal weaponHasFlag /* f0a1a20: 24050400 */ addiu $a1,$zero,0x400 /* f0a1a24: 1040000b */ beqz $v0,.L0f0a1a54 /* f0a1a28: 8fa40018 */ lw $a0,0x18($sp) @@ -13390,7 +13390,7 @@ glabel func0f0a2ae4 /* f0a2b08: afa40050 */ sw $a0,0x50($sp) /* f0a2b0c: 92840638 */ lbu $a0,0x638($s4) /* f0a2b10: 3c050800 */ lui $a1,0x800 -/* f0a2b14: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a2b14: 0fc2c5f0 */ jal weaponHasFlag /* f0a2b18: afa40048 */ sw $a0,0x48($sp) /* f0a2b1c: 1440009a */ bnez $v0,.L0f0a2d88 /* f0a2b20: 8fa60048 */ lw $a2,0x48($sp) @@ -16406,7 +16406,7 @@ glabel func0f0a5550 /* f0a566c: 0fc2867c */ jal func0f0a19f0 /* f0a5670: 24040001 */ addiu $a0,$zero,0x1 /* f0a5674: 00402025 */ or $a0,$v0,$zero -/* f0a5678: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5678: 0fc2c5f0 */ jal weaponHasFlag /* f0a567c: 24050040 */ addiu $a1,$zero,0x40 /* f0a5680: 10400013 */ beqz $v0,.L0f0a56d0 /* f0a5684: 3c01800a */ lui $at,0x800a @@ -16450,7 +16450,7 @@ glabel func0f0a5550 /* f0a5714: 0fc2867c */ jal func0f0a19f0 /* f0a5718: 00002025 */ or $a0,$zero,$zero /* f0a571c: 00402025 */ or $a0,$v0,$zero -/* f0a5720: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5720: 0fc2c5f0 */ jal weaponHasFlag /* f0a5724: 24050040 */ addiu $a1,$zero,0x40 /* f0a5728: 10400013 */ beqz $v0,.L0f0a5778 /* f0a572c: 3c01800a */ lui $at,0x800a @@ -16776,12 +16776,12 @@ glabel func0f0a5550 /* f0a5bfc: e7a60274 */ swc1 $f6,0x274($sp) /* f0a5c00: e7aa0278 */ swc1 $f10,0x278($sp) /* f0a5c04: a2090007 */ sb $t1,0x7($s0) -/* f0a5c08: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5c08: 0fc2c5f0 */ jal weaponHasFlag /* f0a5c0c: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5c10: 50400018 */ beqzl $v0,.L0f0a5c74 /* f0a5c14: a2000007 */ sb $zero,0x7($s0) /* f0a5c18: 8fa401c4 */ lw $a0,0x1c4($sp) -/* f0a5c1c: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5c1c: 0fc2c5f0 */ jal weaponHasFlag /* f0a5c20: 24050080 */ addiu $a1,$zero,0x80 /* f0a5c24: 54400013 */ bnezl $v0,.L0f0a5c74 /* f0a5c28: a2000007 */ sb $zero,0x7($s0) @@ -16818,7 +16818,7 @@ glabel func0f0a5550 /* f0a5c98: 01602025 */ or $a0,$t3,$zero /* f0a5c9c: afa20304 */ sw $v0,0x304($sp) /* f0a5ca0: 8fa401c4 */ lw $a0,0x1c4($sp) -/* f0a5ca4: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5ca4: 0fc2c5f0 */ jal weaponHasFlag /* f0a5ca8: 3c050200 */ lui $a1,0x200 /* f0a5cac: 10400012 */ beqz $v0,.L0f0a5cf8 /* f0a5cb0: 8fb90280 */ lw $t9,0x280($sp) @@ -16854,7 +16854,7 @@ glabel func0f0a5550 /* f0a5d1c: 0fc2600c */ jal func0f098030 /* f0a5d20: 8fa50280 */ lw $a1,0x280($sp) /* f0a5d24: 8fa401c4 */ lw $a0,0x1c4($sp) -/* f0a5d28: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5d28: 0fc2c5f0 */ jal weaponHasFlag /* f0a5d2c: 24052000 */ addiu $a1,$zero,0x2000 /* f0a5d30: 10400003 */ beqz $v0,.L0f0a5d40 /* f0a5d34: 02002025 */ or $a0,$s0,$zero @@ -16904,7 +16904,7 @@ glabel func0f0a5550 /* f0a5dd0: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5dd4: 5121000e */ beql $t1,$at,.L0f0a5e10 /* f0a5dd8: 8e0a00b4 */ lw $t2,0xb4($s0) -/* f0a5ddc: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a5ddc: 0fc2c5f0 */ jal weaponHasFlag /* f0a5de0: 3c050008 */ lui $a1,0x8 /* f0a5de4: 10400009 */ beqz $v0,.L0f0a5e0c /* f0a5de8: 02002025 */ or $a0,$s0,$zero @@ -17060,7 +17060,7 @@ glabel func0f0a5550 /* f0a6028: 24050020 */ addiu $a1,$zero,0x20 /* f0a602c: ae020390 */ sw $v0,0x390($s0) /* f0a6030: ae020540 */ sw $v0,0x540($s0) -/* f0a6034: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a6034: 0fc2c5f0 */ jal weaponHasFlag /* f0a6038: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a603c: 10400008 */ beqz $v0,.L0f0a6060 /* f0a6040: 00000000 */ sll $zero,$zero,0x0 @@ -18484,7 +18484,7 @@ glabel func0f0a7138 /* f0a7444: 00003825 */ or $a3,$zero,$zero /* f0a7448: afa2014c */ sw $v0,0x14c($sp) /* f0a744c: 92040000 */ lbu $a0,0x0($s0) -/* f0a7450: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a7450: 0fc2c5f0 */ jal weaponHasFlag /* f0a7454: 34058000 */ dli $a1,0x8000 /* f0a7458: 10400030 */ beqz $v0,.L0f0a751c /* f0a745c: 8fab014c */ lw $t3,0x14c($sp) @@ -18849,7 +18849,7 @@ glabel func0f0a7138 .L0f0a799c: /* f0a799c: 8fa400ec */ lw $a0,0xec($sp) .L0f0a79a0: -/* f0a79a0: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a79a0: 0fc2c5f0 */ jal weaponHasFlag /* f0a79a4: 24050020 */ addiu $a1,$zero,0x20 /* f0a79a8: 1040000e */ beqz $v0,.L0f0a79e4 /* f0a79ac: 24010001 */ addiu $at,$zero,0x1 @@ -18986,7 +18986,7 @@ glabel func0f0a7138 .L0f0a7b8c: /* f0a7b8c: 8fa400ec */ lw $a0,0xec($sp) /* f0a7b90: 24050020 */ addiu $a1,$zero,0x20 -/* f0a7b94: 0fc2c5f0 */ jal func0f0b17c0 +/* f0a7b94: 0fc2c5f0 */ jal weaponHasFlag /* f0a7b98: afac014c */ sw $t4,0x14c($sp) /* f0a7b9c: 10400007 */ beqz $v0,.L0f0a7bbc /* f0a7ba0: 8faa014c */ lw $t2,0x14c($sp) diff --git a/src/game/game_0b0420.c b/src/game/game_0b0420.c index b6f0167e3..2080faf96 100644 --- a/src/game/game_0b0420.c +++ b/src/game/game_0b0420.c @@ -100,7 +100,7 @@ glabel func0f0b0420 /* f0b0424: afbf0014 */ sw $ra,0x14($sp) /* f0b0428: afa5001c */ sw $a1,0x1c($sp) /* f0b042c: 90840000 */ lbu $a0,0x0($a0) -/* f0b0430: 0fc2c5f0 */ jal func0f0b17c0 +/* f0b0430: 0fc2c5f0 */ jal weaponHasFlag /* f0b0434: 3c050010 */ lui $a1,0x10 /* f0b0438: 14400008 */ bnez $v0,.L0f0b045c /* f0b043c: 3c0e800a */ lui $t6,0x800a @@ -127,7 +127,7 @@ glabel func0f0b046c /* f0b047c: 00a03025 */ or $a2,$a1,$zero /* f0b0480: 90840000 */ lbu $a0,0x0($a0) /* f0b0484: afa6001c */ sw $a2,0x1c($sp) -/* f0b0488: 0fc2c5f0 */ jal func0f0b17c0 +/* f0b0488: 0fc2c5f0 */ jal weaponHasFlag /* f0b048c: 3c050010 */ lui $a1,0x10 /* f0b0490: 1440001f */ bnez $v0,.L0f0b0510 /* f0b0494: 8fa6001c */ lw $a2,0x1c($sp) @@ -149,7 +149,7 @@ glabel func0f0b046c /* f0b04d0: 51200010 */ beqzl $t1,.L0f0b0514 /* f0b04d4: 8fbf0014 */ lw $ra,0x14($sp) /* f0b04d8: 90e40000 */ lbu $a0,0x0($a3) -/* f0b04dc: 0fc2c5f0 */ jal func0f0b17c0 +/* f0b04dc: 0fc2c5f0 */ jal weaponHasFlag /* f0b04e0: afa6001c */ sw $a2,0x1c($sp) /* f0b04e4: 14400008 */ bnez $v0,.L0f0b0508 /* f0b04e8: 8fa6001c */ lw $a2,0x1c($sp) @@ -1559,28 +1559,16 @@ glabel func0f0b16a4 /* f0b17bc: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f0b17c0 -/* f0b17c0: 27bdffe8 */ addiu $sp,$sp,-24 -/* f0b17c4: afbf0014 */ sw $ra,0x14($sp) -/* f0b17c8: 0fc2c3f4 */ jal inventoryFindById -/* f0b17cc: afa5001c */ sw $a1,0x1c($sp) -/* f0b17d0: 14400003 */ bnez $v0,.L0f0b17e0 -/* f0b17d4: 00401825 */ or $v1,$v0,$zero -/* f0b17d8: 10000006 */ beqz $zero,.L0f0b17f4 -/* f0b17dc: 00001025 */ or $v0,$zero,$zero -.L0f0b17e0: -/* f0b17e0: 8c6e004c */ lw $t6,0x4c($v1) -/* f0b17e4: 8faf001c */ lw $t7,0x1c($sp) -/* f0b17e8: 01cf1024 */ and $v0,$t6,$t7 -/* f0b17ec: 0002c02b */ sltu $t8,$zero,$v0 -/* f0b17f0: 03001025 */ or $v0,$t8,$zero -.L0f0b17f4: -/* f0b17f4: 8fbf0014 */ lw $ra,0x14($sp) -/* f0b17f8: 27bd0018 */ addiu $sp,$sp,0x18 -/* f0b17fc: 03e00008 */ jr $ra -/* f0b1800: 00000000 */ sll $zero,$zero,0x0 -); +bool weaponHasFlag(s32 itemid, u32 flag) +{ + struct inventory_item *weapon = inventoryFindById(itemid); + + if (!weapon) { + return false; + } + + return (weapon->flags & flag) != 0; +} GLOBAL_ASM( glabel func0f0b1804 diff --git a/src/game/game_0b28d0.c b/src/game/game_0b28d0.c index adc43d668..3c736469a 100644 --- a/src/game/game_0b28d0.c +++ b/src/game/game_0b28d0.c @@ -18603,7 +18603,7 @@ glabel func0f0c2a58 /* f0c2c34: 10c00008 */ beqz $a2,.L0f0c2c58 /* f0c2c38: 24050008 */ addiu $a1,$zero,0x8 /* f0c2c3c: 90c4005c */ lbu $a0,0x5c($a2) -/* f0c2c40: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2c40: 0fc2c5f0 */ jal weaponHasFlag /* f0c2c44: e7a20030 */ swc1 $f2,0x30($sp) /* f0c2c48: 10400003 */ beqz $v0,.L0f0c2c58 /* f0c2c4c: c7a20030 */ lwc1 $f2,0x30($sp) @@ -18615,7 +18615,7 @@ glabel func0f0c2a58 /* f0c2c60: 50400009 */ beqzl $v0,.L0f0c2c88 /* f0c2c64: 24050001 */ addiu $a1,$zero,0x1 /* f0c2c68: 9044005c */ lbu $a0,0x5c($v0) -/* f0c2c6c: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2c6c: 0fc2c5f0 */ jal weaponHasFlag /* f0c2c70: e7a20030 */ swc1 $f2,0x30($sp) /* f0c2c74: 10400003 */ beqz $v0,.L0f0c2c84 /* f0c2c78: c7a20030 */ lwc1 $f2,0x30($sp) @@ -18668,7 +18668,7 @@ glabel func0f0c2a58 /* f0c2d10: 10c00008 */ beqz $a2,.L0f0c2d34 /* f0c2d14: 24050010 */ addiu $a1,$zero,0x10 /* f0c2d18: 90c4005c */ lbu $a0,0x5c($a2) -/* f0c2d1c: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2d1c: 0fc2c5f0 */ jal weaponHasFlag /* f0c2d20: afa60054 */ sw $a2,0x54($sp) /* f0c2d24: 14400003 */ bnez $v0,.L0f0c2d34 /* f0c2d28: 8fa60054 */ lw $a2,0x54($sp) @@ -18680,7 +18680,7 @@ glabel func0f0c2a58 /* f0c2d3c: 10400008 */ beqz $v0,.L0f0c2d60 /* f0c2d40: 00000000 */ sll $zero,$zero,0x0 /* f0c2d44: 9044005c */ lbu $a0,0x5c($v0) -/* f0c2d48: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2d48: 0fc2c5f0 */ jal weaponHasFlag /* f0c2d4c: afa60054 */ sw $a2,0x54($sp) /* f0c2d50: 14400003 */ bnez $v0,.L0f0c2d60 /* f0c2d54: 8fa60054 */ lw $a2,0x54($sp) @@ -18689,7 +18689,7 @@ glabel func0f0c2a58 .L0f0c2d60: /* f0c2d60: 10c00007 */ beqz $a2,.L0f0c2d80 /* f0c2d64: 24050008 */ addiu $a1,$zero,0x8 -/* f0c2d68: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2d68: 0fc2c5f0 */ jal weaponHasFlag /* f0c2d6c: 90c4005c */ lbu $a0,0x5c($a2) /* f0c2d70: 50400004 */ beqzl $v0,.L0f0c2d84 /* f0c2d74: 8fa20050 */ lw $v0,0x50($sp) @@ -18701,7 +18701,7 @@ glabel func0f0c2a58 /* f0c2d84: 24050008 */ addiu $a1,$zero,0x8 /* f0c2d88: 50400008 */ beqzl $v0,.L0f0c2dac /* f0c2d8c: 24050001 */ addiu $a1,$zero,0x1 -/* f0c2d90: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c2d90: 0fc2c5f0 */ jal weaponHasFlag /* f0c2d94: 9044005c */ lbu $a0,0x5c($v0) /* f0c2d98: 50400004 */ beqzl $v0,.L0f0c2dac /* f0c2d9c: 24050001 */ addiu $a1,$zero,0x1 diff --git a/src/game/game_0c79f0.c b/src/game/game_0c79f0.c index a3f581cf0..83242a1e3 100644 --- a/src/game/game_0c79f0.c +++ b/src/game/game_0c79f0.c @@ -2552,7 +2552,7 @@ glabel func0f0c8b90 /* f0c9b50: 0fc2866a */ jal func0f0a19a8 /* f0c9b54: 00002025 */ or $a0,$zero,$zero /* f0c9b58: 00402025 */ or $a0,$v0,$zero -/* f0c9b5c: 0fc2c5f0 */ jal func0f0b17c0 +/* f0c9b5c: 0fc2c5f0 */ jal weaponHasFlag /* f0c9b60: 3c058000 */ lui $a1,0x8000 /* f0c9b64: 50400012 */ beqzl $v0,.L0f0c9bb0 /* f0c9b68: 8e480284 */ lw $t0,0x284($s2) @@ -3457,7 +3457,7 @@ glabel func0f0c8b90 /* f0ca818: 0fc2866a */ jal func0f0a19a8 /* f0ca81c: 00002025 */ or $a0,$zero,$zero /* f0ca820: 00402025 */ or $a0,$v0,$zero -/* f0ca824: 0fc2c5f0 */ jal func0f0b17c0 +/* f0ca824: 0fc2c5f0 */ jal weaponHasFlag /* f0ca828: 3c058000 */ lui $a1,0x8000 /* f0ca82c: 1040000d */ beqz $v0,.L0f0ca864 /* f0ca830: 97ae01a0 */ lhu $t6,0x1a0($sp) diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 8bc52db04..d15b3721f 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -4250,7 +4250,7 @@ glabel func0f105948 /* f1059ac: 3c050004 */ lui $a1,0x4 /* f1059b0: afa40678 */ sw $a0,0x678($sp) /* f1059b4: afa8003c */ sw $t0,0x3c($sp) -/* f1059b8: 0fc2c5f0 */ jal func0f0b17c0 +/* f1059b8: 0fc2c5f0 */ jal weaponHasFlag /* f1059bc: afa90048 */ sw $t1,0x48($sp) /* f1059c0: 8fa8003c */ lw $t0,0x3c($sp) /* f1059c4: 1440008f */ bnez $v0,.L0f105c04 diff --git a/src/game/game_111600.c b/src/game/game_111600.c index 9dd8090cd..771e713c1 100644 --- a/src/game/game_111600.c +++ b/src/game/game_111600.c @@ -588,7 +588,7 @@ glabel func0f111cf8 /* f111d30: 1486000f */ bne $a0,$a2,.L0f111d70 /* f111d34: 24051000 */ addiu $a1,$zero,0x1000 /* f111d38: afa40018 */ sw $a0,0x18($sp) -/* f111d3c: 0fc2c5f0 */ jal func0f0b17c0 +/* f111d3c: 0fc2c5f0 */ jal weaponHasFlag /* f111d40: afa6001c */ sw $a2,0x1c($sp) /* f111d44: 8fa40018 */ lw $a0,0x18($sp) /* f111d48: 10400009 */ beqz $v0,.L0f111d70 @@ -668,7 +668,7 @@ glabel func0f111e28 /* f111e38: afa5001c */ sw $a1,0x1c($sp) /* f111e3c: 14400014 */ bnez $v0,.L0f111e90 /* f111e40: 8fa40018 */ lw $a0,0x18($sp) -/* f111e44: 0fc2c5f0 */ jal func0f0b17c0 +/* f111e44: 0fc2c5f0 */ jal weaponHasFlag /* f111e48: 24051000 */ addiu $a1,$zero,0x1000 /* f111e4c: 1040000e */ beqz $v0,.L0f111e88 /* f111e50: 00000000 */ sll $zero,$zero,0x0 @@ -914,7 +914,7 @@ glabel func0f1120f0 /* f11217c: 24051000 */ addiu $a1,$zero,0x1000 /* f112180: 53000026 */ beqzl $t8,.L0f11221c /* f112184: 8fa30024 */ lw $v1,0x24($sp) -/* f112188: 0fc2c5f0 */ jal func0f0b17c0 +/* f112188: 0fc2c5f0 */ jal weaponHasFlag /* f11218c: afa7002c */ sw $a3,0x2c($sp) /* f112190: 10400021 */ beqz $v0,.L0f112218 /* f112194: 8fa7002c */ lw $a3,0x2c($sp) @@ -1036,7 +1036,7 @@ glabel func0f1122ec /* f11232c: 00e09025 */ or $s2,$a3,$zero /* f112330: 00e08025 */ or $s0,$a3,$zero /* f112334: 00e02025 */ or $a0,$a3,$zero -/* f112338: 0fc2c5f0 */ jal func0f0b17c0 +/* f112338: 0fc2c5f0 */ jal weaponHasFlag /* f11233c: 24051000 */ addiu $a1,$zero,0x1000 /* f112340: 1040000a */ beqz $v0,.L0f11236c /* f112344: 2411002d */ addiu $s1,$zero,0x2d @@ -1205,7 +1205,7 @@ glabel func0f11253c /* f112578: 00408825 */ or $s1,$v0,$zero /* f11257c: 00408025 */ or $s0,$v0,$zero /* f112580: 00402025 */ or $a0,$v0,$zero -/* f112584: 0fc2c5f0 */ jal func0f0b17c0 +/* f112584: 0fc2c5f0 */ jal weaponHasFlag /* f112588: 24051000 */ addiu $a1,$zero,0x1000 /* f11258c: 50400006 */ beqzl $v0,.L0f1125a8 /* f112590: 2411002d */ addiu $s1,$zero,0x2d @@ -1259,7 +1259,7 @@ glabel func0f11253c /* f112630: 5040ffde */ beqzl $v0,.L0f1125ac /* f112634: 2619002c */ addiu $t9,$s0,0x2c /* f112638: 02002025 */ or $a0,$s0,$zero -/* f11263c: 0fc2c5f0 */ jal func0f0b17c0 +/* f11263c: 0fc2c5f0 */ jal weaponHasFlag /* f112640: 24051000 */ addiu $a1,$zero,0x1000 /* f112644: 10400004 */ beqz $v0,.L0f112658 /* f112648: 02008825 */ or $s1,$s0,$zero @@ -2072,7 +2072,7 @@ glabel func0f11307c /* f113088: afbf001c */ sw $ra,0x1c($sp) /* f11308c: afb10018 */ sw $s1,0x18($sp) /* f113090: 00808825 */ or $s1,$a0,$zero -/* f113094: 0fc2c5f0 */ jal func0f0b17c0 +/* f113094: 0fc2c5f0 */ jal weaponHasFlag /* f113098: 24050200 */ addiu $a1,$zero,0x200 /* f11309c: 1040003e */ beqz $v0,.L0f113198 /* f1130a0: 3c067fff */ lui $a2,0x7fff @@ -2080,7 +2080,7 @@ glabel func0f11307c /* f1130a8: afa60024 */ sw $a2,0x24($sp) /* f1130ac: 02002025 */ or $a0,$s0,$zero /* f1130b0: 24050200 */ addiu $a1,$zero,0x200 -/* f1130b4: 0fc2c5f0 */ jal func0f0b17c0 +/* f1130b4: 0fc2c5f0 */ jal weaponHasFlag /* f1130b8: afa00020 */ sw $zero,0x20($sp) /* f1130bc: 8fa60024 */ lw $a2,0x24($sp) /* f1130c0: 14400002 */ bnez $v0,.L0f1130cc diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index 334a7e340..75b8bb035 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -4003,7 +4003,7 @@ glabel func0f169374 /* f169e00: 0fc2866a */ jal func0f0a19a8 /* f169e04: 00002025 */ or $a0,$zero,$zero /* f169e08: 00402025 */ or $a0,$v0,$zero -/* f169e0c: 0fc2c5f0 */ jal func0f0b17c0 +/* f169e0c: 0fc2c5f0 */ jal weaponHasFlag /* f169e10: 3c054000 */ lui $a1,0x4000 /* f169e14: 50400050 */ beqzl $v0,.L0f169f58 /* f169e18: 8e6a0284 */ lw $t2,0x284($s3) @@ -4114,7 +4114,7 @@ glabel func0f169374 /* f169f84: 0fc2866a */ jal func0f0a19a8 /* f169f88: 00002025 */ or $a0,$zero,$zero /* f169f8c: 00402025 */ or $a0,$v0,$zero -/* f169f90: 0fc2c5f0 */ jal func0f0b17c0 +/* f169f90: 0fc2c5f0 */ jal weaponHasFlag /* f169f94: 3c054000 */ lui $a1,0x4000 /* f169f98: 5040002c */ beqzl $v0,.L0f16a04c /* f169f9c: 8e700284 */ lw $s0,0x284($s3) diff --git a/src/game/game_197600.c b/src/game/game_197600.c index 4cf559024..9970c2190 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -2549,7 +2549,7 @@ glabel func0f19978c /* f199824: 56af002b */ bnel $s5,$t7,.L0f1998d4 /* f199828: 8e6402d4 */ lw $a0,0x2d4($s3) .L0f19982c: -/* f19982c: 0fc2c5f0 */ jal func0f0b17c0 +/* f19982c: 0fc2c5f0 */ jal weaponHasFlag /* f199830: 86240004 */ lh $a0,0x4($s1) /* f199834: 1040000d */ beqz $v0,.L0f19986c /* f199838: 3c18800a */ lui $t8,0x800a diff --git a/src/include/game/game_0b0420.h b/src/include/game/game_0b0420.h index 90bab8219..4cead392c 100644 --- a/src/include/game/game_0b0420.h +++ b/src/include/game/game_0b0420.h @@ -29,7 +29,7 @@ u32 func0f0b131c(void); u32 func0f0b14d8(void); u32 func0f0b1588(void); u32 func0f0b16a4(void); -u32 func0f0b17c0(void); +bool weaponHasFlag(s32 itemid, u32 flag); u32 func0f0b1804(void); u32 func0f0b184c(void); u32 func0f0b18bc(u32 arg0); diff --git a/src/include/types.h b/src/include/types.h index 433e58d91..3ed654669 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -825,29 +825,29 @@ struct inventory_ammo { }; struct inventory_item { - u16 lo_model; - u16 hi_model; - u32 *equip_animation; - u32 *unequip_animation; - u32 *pritosec_animation; - u32 *sectopri_animation; - struct inventory_function *pri_function; - struct inventory_function *sec_function; - struct inventory_ammo *pri_ammo; - struct inventory_ammo *sec_ammo; - struct inventory_typee *eptr; - float sway; - float leftright; - float updown; - float frontback; - float unk38; - struct inventory_typef *fptr; - s8 *gptr; - u16 shortname; - u16 name; - u16 manufacturer; - u16 description; - u32 flags; + /*0x00*/ u16 lo_model; + /*0x02*/ u16 hi_model; + /*0x04*/ u32 *equip_animation; + /*0x08*/ u32 *unequip_animation; + /*0x0c*/ u32 *pritosec_animation; + /*0x10*/ u32 *sectopri_animation; + /*0x14*/ struct inventory_function *pri_function; + /*0x18*/ struct inventory_function *sec_function; + /*0x1c*/ struct inventory_ammo *pri_ammo; + /*0x20*/ struct inventory_ammo *sec_ammo; + /*0x24*/ struct inventory_typee *eptr; + /*0x28*/ float sway; + /*0x2c*/ float leftright; + /*0x30*/ float updown; + /*0x34*/ float frontback; + /*0x38*/ float unk38; + /*0x3c*/ struct inventory_typef *fptr; + /*0x40*/ s8 *gptr; + /*0x44*/ u16 shortname; + /*0x46*/ u16 name; + /*0x48*/ u16 manufacturer; + /*0x4a*/ u16 description; + /*0x4c*/ u32 flags; }; struct cutsceneentry {