Decompile chrIsUsingPaintball

This commit is contained in:
Ryan Dwyer
2021-01-04 08:02:57 +10:00
parent 57c19dfb6d
commit 01ff7f7d29
6 changed files with 30 additions and 95 deletions
+2 -2
View File
@@ -7534,7 +7534,7 @@ void func0f025ea4(struct chrdata *chr, struct prop *prop, s32 arg2, struct coord
struct prop *chrprop = chr->prop;
s32 race;
if (func0f13e4a8(chr2)) {
if (chrIsUsingPaintball(chr2)) {
func0f12f9f0(chrprop->rooms[0], chrprop, coord, coord2, 0, 25);
return;
}
@@ -10056,7 +10056,7 @@ glabel func0f027e1c
/* f028414: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9)
/* f028418: 8f2b00bc */ lw $t3,0xbc($t9)
/* f02841c: 8d640004 */ lw $a0,0x4($t3)
/* f028420: 0fc4f92a */ jal func0f13e4a8
/* f028420: 0fc4f92a */ jal chrIsUsingPaintball
/* f028424: a3a30057 */ sb $v1,0x57($sp)
/* f028428: 14400008 */ bnez $v0,.L0f02844c
/* f02842c: 93a30057 */ lbu $v1,0x57($sp)
+2 -2
View File
@@ -17320,7 +17320,7 @@ glabel var7f1a9184
/* f04179c: 27a70214 */ addiu $a3,$sp,0x214
/* f0417a0: 240b0001 */ addiu $t3,$zero,0x1
/* f0417a4: afab0210 */ sw $t3,0x210($sp)
/* f0417a8: 0fc4f92a */ jal func0f13e4a8
/* f0417a8: 0fc4f92a */ jal chrIsUsingPaintball
/* f0417ac: 8fa40278 */ lw $a0,0x278($sp)
/* f0417b0: 1040000b */ beqz $v0,.L0f0417e0
/* f0417b4: 87a40214 */ lh $a0,0x214($sp)
@@ -17382,7 +17382,7 @@ glabel var7f1a9184
/* f041884: 2406ffff */ addiu $a2,$zero,-1
/* f041888: 0fc2a132 */ jal func0f0a84c8
/* f04188c: 27a70214 */ addiu $a3,$sp,0x214
/* f041890: 0fc4f92a */ jal func0f13e4a8
/* f041890: 0fc4f92a */ jal chrIsUsingPaintball
/* f041894: 8fa40278 */ lw $a0,0x278($sp)
/* f041898: 1040000b */ beqz $v0,.L0f0418c8
/* f04189c: 87a40214 */ lh $a0,0x214($sp)
+2 -2
View File
@@ -1549,7 +1549,7 @@ glabel var7f1a9eb8
.L0f061898:
/* f061898: 8d4aa244 */ lw $t2,%lo(g_Vars+0x284)($t2)
/* f06189c: 8d4900bc */ lw $t1,0xbc($t2)
/* f0618a0: 0fc4f92a */ jal func0f13e4a8
/* f0618a0: 0fc4f92a */ jal chrIsUsingPaintball
/* f0618a4: 8d240004 */ lw $a0,0x4($t1)
/* f0618a8: 14400033 */ bnez $v0,.L0f061978
/* f0618ac: 3c0c800a */ lui $t4,%hi(g_Vars+0x6c)
@@ -1689,7 +1689,7 @@ glabel var7f1a9eb8
/* f061a8c: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7)
/* f061a90: 00008025 */ or $s0,$zero,$zero
/* f061a94: 8dea00bc */ lw $t2,0xbc($t7)
/* f061a98: 0fc4f92a */ jal func0f13e4a8
/* f061a98: 0fc4f92a */ jal chrIsUsingPaintball
/* f061a9c: 8d440004 */ lw $a0,0x4($t2)
/* f061aa0: 10400003 */ beqz $v0,.L0f061ab0
/* f061aa4: 93a90214 */ lbu $t1,0x214($sp)
+5 -5
View File
@@ -18039,7 +18039,7 @@ glabel var7f1aa438
/* f075f34: afa90088 */ sw $t1,0x88($sp)
/* f075f38: afa00088 */ sw $zero,0x88($sp)
.L0f075f3c:
/* f075f3c: 0fc4f92a */ jal func0f13e4a8
/* f075f3c: 0fc4f92a */ jal chrIsUsingPaintball
/* f075f40: 8fa40088 */ lw $a0,0x88($sp)
/* f075f44: 1040000c */ beqz $v0,.L0f075f78
/* f075f48: 02402825 */ or $a1,$s2,$zero
@@ -23252,7 +23252,7 @@ glabel var7f1aa5a8
/* f07a580: afa300a8 */ sw $v1,0xa8($sp)
/* f07a584: 0fc68330 */ jal frCalculateHit
/* f07a588: afab00a0 */ sw $t3,0xa0($sp)
/* f07a58c: 0fc4f92a */ jal func0f13e4a8
/* f07a58c: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a590: 8fa40110 */ lw $a0,0x110($sp)
/* f07a594: 1040000b */ beqz $v0,.L0f07a5c4
/* f07a598: 8fa500a8 */ lw $a1,0xa8($sp)
@@ -23467,7 +23467,7 @@ glabel var7f1aa5a8
/* f07a8a4: afa00010 */ sw $zero,0x10($sp)
/* f07a8a8: 0c006052 */ jal func00018148
/* f07a8ac: afa00014 */ sw $zero,0x14($sp)
/* f07a8b0: 0fc4f92a */ jal func0f13e4a8
/* f07a8b0: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a8b4: 8fa40110 */ lw $a0,0x110($sp)
/* f07a8b8: 1040000b */ beqz $v0,.L0f07a8e8
/* f07a8bc: 8faa0194 */ lw $t2,0x194($sp)
@@ -36184,7 +36184,7 @@ glabel func0f085eac
/* f085fb0: 8fa30124 */ lw $v1,0x124($sp)
/* f085fb4: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3)
/* f085fb8: 8d6c00bc */ lw $t4,0xbc($t3)
/* f085fbc: 0fc4f92a */ jal func0f13e4a8
/* f085fbc: 0fc4f92a */ jal chrIsUsingPaintball
/* f085fc0: 8d840004 */ lw $a0,0x4($t4)
/* f085fc4: 10400002 */ beqz $v0,.L0f085fd0
/* f085fc8: 240d0001 */ addiu $t5,$zero,0x1
@@ -36277,7 +36277,7 @@ glabel func0f085eac
/* f0860fc: 8479003a */ lh $t9,0x3a($v1)
/* f086100: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4)
/* f086104: 8d8d00bc */ lw $t5,0xbc($t4)
/* f086108: 0fc4f92a */ jal func0f13e4a8
/* f086108: 0fc4f92a */ jal chrIsUsingPaintball
/* f08610c: 8da40004 */ lw $a0,0x4($t5)
/* f086110: 1040000b */ beqz $v0,.L0f086140
/* f086114: 8fa5010c */ lw $a1,0x10c($sp)
+18 -83
View File
@@ -358,88 +358,23 @@ glabel func0f13e40c
/* f13e4a4: 27bd0020 */ addiu $sp,$sp,0x20
);
GLOBAL_ASM(
glabel func0f13e4a8
/* f13e4a8: 3c07800a */ lui $a3,%hi(g_Vars)
/* f13e4ac: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
/* f13e4b0: 8cee028c */ lw $t6,0x28c($a3)
/* f13e4b4: 27bdffe0 */ addiu $sp,$sp,-32
/* f13e4b8: afbf0014 */ sw $ra,0x14($sp)
/* f13e4bc: 1080000f */ beqz $a0,.L0f13e4fc
/* f13e4c0: afae001c */ sw $t6,0x1c($sp)
/* f13e4c4: 8c84001c */ lw $a0,0x1c($a0)
/* f13e4c8: 1080000c */ beqz $a0,.L0f13e4fc
/* f13e4cc: 00000000 */ nop
/* f13e4d0: 908f0000 */ lbu $t7,0x0($a0)
/* f13e4d4: 24010006 */ addiu $at,$zero,0x6
/* f13e4d8: 15e10008 */ bne $t7,$at,.L0f13e4fc
/* f13e4dc: 00000000 */ nop
/* f13e4e0: 0fc4a25f */ jal propGetPlayerNum
/* f13e4e4: 00000000 */ nop
/* f13e4e8: 0fc4a24b */ jal setCurrentPlayerNum
/* f13e4ec: 00402025 */ or $a0,$v0,$zero
/* f13e4f0: 3c07800a */ lui $a3,%hi(g_Vars)
/* f13e4f4: 10000029 */ b .L0f13e59c
/* f13e4f8: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
.L0f13e4fc:
/* f13e4fc: 0c004b70 */ jal random
/* f13e500: 00000000 */ nop
/* f13e504: 3c07800a */ lui $a3,%hi(g_Vars)
/* f13e508: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
/* f13e50c: 8cf8006c */ lw $t8,0x6c($a3)
/* f13e510: 00404025 */ or $t0,$v0,$zero
/* f13e514: 00003025 */ or $a2,$zero,$zero
/* f13e518: 13000003 */ beqz $t8,.L0f13e528
/* f13e51c: 00001825 */ or $v1,$zero,$zero
/* f13e520: 10000001 */ b .L0f13e528
/* f13e524: 24060001 */ addiu $a2,$zero,0x1
.L0f13e528:
/* f13e528: 8cf90068 */ lw $t9,0x68($a3)
/* f13e52c: 00002825 */ or $a1,$zero,$zero
/* f13e530: 00001025 */ or $v0,$zero,$zero
/* f13e534: 13200003 */ beqz $t9,.L0f13e544
/* f13e538: 00000000 */ nop
/* f13e53c: 10000001 */ b .L0f13e544
/* f13e540: 24030001 */ addiu $v1,$zero,0x1
.L0f13e544:
/* f13e544: 8ce90064 */ lw $t1,0x64($a3)
/* f13e548: 11200003 */ beqz $t1,.L0f13e558
/* f13e54c: 00000000 */ nop
/* f13e550: 10000001 */ b .L0f13e558
/* f13e554: 24050001 */ addiu $a1,$zero,0x1
.L0f13e558:
/* f13e558: 8cea0070 */ lw $t2,0x70($a3)
/* f13e55c: 11400003 */ beqz $t2,.L0f13e56c
/* f13e560: 00000000 */ nop
/* f13e564: 10000001 */ b .L0f13e56c
/* f13e568: 24020001 */ addiu $v0,$zero,0x1
.L0f13e56c:
/* f13e56c: 00455821 */ addu $t3,$v0,$a1
/* f13e570: 01636021 */ addu $t4,$t3,$v1
/* f13e574: 01866821 */ addu $t5,$t4,$a2
/* f13e578: 010d001b */ divu $zero,$t0,$t5
/* f13e57c: 00002010 */ mfhi $a0
/* f13e580: 15a00002 */ bnez $t5,.L0f13e58c
/* f13e584: 00000000 */ nop
/* f13e588: 0007000d */ break 0x7
.L0f13e58c:
/* f13e58c: 0fc4a24b */ jal setCurrentPlayerNum
/* f13e590: 00000000 */ nop
/* f13e594: 3c07800a */ lui $a3,%hi(g_Vars)
/* f13e598: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
.L0f13e59c:
/* f13e59c: 8cee0288 */ lw $t6,0x288($a3)
/* f13e5a0: 0fc54a31 */ jal optionsGetPaintball
/* f13e5a4: 8dc40070 */ lw $a0,0x70($t6)
/* f13e5a8: afa20018 */ sw $v0,0x18($sp)
/* f13e5ac: 0fc4a24b */ jal setCurrentPlayerNum
/* f13e5b0: 8fa4001c */ lw $a0,0x1c($sp)
/* f13e5b4: 8fbf0014 */ lw $ra,0x14($sp)
/* f13e5b8: 8fa20018 */ lw $v0,0x18($sp)
/* f13e5bc: 27bd0020 */ addiu $sp,$sp,0x20
/* f13e5c0: 03e00008 */ jr $ra
/* f13e5c4: 00000000 */ nop
);
bool chrIsUsingPaintball(struct chrdata *chr)
{
s32 prevplayernum = g_Vars.currentplayernum;
bool paintball;
if (chr && chr->prop && chr->prop->type == PROPTYPE_PLAYER) {
setCurrentPlayerNum(propGetPlayerNum(chr->prop));
} else {
setCurrentPlayerNum(random() % PLAYERCOUNT());
}
paintball = optionsGetPaintball(g_Vars.currentplayerstats->mpindex);
setCurrentPlayerNum(prevplayernum);
return paintball;
}
GLOBAL_ASM(
glabel func0f13e5c8
@@ -1608,7 +1543,7 @@ glabel var7f1b5d6c
/* f13f550: 240603bc */ addiu $a2,$zero,0x3bc
/* f13f554: 0fc5dc59 */ jal func0f177164
/* f13f558: e7a401c0 */ swc1 $f4,0x1c0($sp)
/* f13f55c: 0fc4f92a */ jal func0f13e4a8
/* f13f55c: 0fc4f92a */ jal chrIsUsingPaintball
/* f13f560: 8fa4022c */ lw $a0,0x22c($sp)
/* f13f564: 10400017 */ beqz $v0,.L0f13f5c4
/* f13f568: 00408025 */ or $s0,$v0,$zero
+1 -1
View File
@@ -6,7 +6,7 @@
u32 func0f13e0e0(void);
u32 func0f13e1b0(void);
void func0f13e40c(struct prop *prop, bool arg1);
bool func0f13e4a8(struct chrdata *chr);
bool chrIsUsingPaintball(struct chrdata *chr);
u32 func0f13e5c8(void);
u32 func0f13e640(void);
u32 func0f13e744(void);