diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 9a09ab0fe..6a4fa8cda 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -3069,7 +3069,7 @@ glabel ai005c /* f051480: afbf001c */ sw $ra,0x1c($sp) /* f051484: 8e040424 */ lw $a0,0x424($s0) /* f051488: 01cfc021 */ addu $t8,$t6,$t7 -/* f05148c: 0fc0a221 */ jal func0f028884 +/* f05148c: 0fc0a221 */ jal chrGetTargetSomething /* f051490: afb80024 */ sw $t8,0x24($sp) /* f051494: 8fa70024 */ lw $a3,0x24($sp) /* f051498: 8e040424 */ lw $a0,0x424($s0) @@ -10026,7 +10026,7 @@ glabel ai0108 /* f058e9c: 00000000 */ sll $zero,$zero,0x0 /* f058ea0: afa20020 */ sw $v0,0x20($sp) /* f058ea4: afa7002c */ sw $a3,0x2c($sp) -/* f058ea8: 0fc0a221 */ jal func0f028884 +/* f058ea8: 0fc0a221 */ jal chrGetTargetSomething /* f058eac: afa80024 */ sw $t0,0x24($sp) /* f058eb0: 8fa30020 */ lw $v1,0x20($sp) /* f058eb4: 8fa7002c */ lw $a3,0x2c($sp) @@ -12423,7 +12423,7 @@ glabel ai0136 /* f05b368: 1441000d */ bne $v0,$at,.L0f05b3a0 /* f05b36c: 2405090a */ addiu $a1,$zero,0x90a /* f05b370: 8e040424 */ lw $a0,0x424($s0) -/* f05b374: 0fc0a221 */ jal func0f028884 +/* f05b374: 0fc0a221 */ jal chrGetTargetSomething /* f05b378: afa30024 */ sw $v1,0x24($sp) /* f05b37c: 8fa30024 */ lw $v1,0x24($sp) /* f05b380: 3c06461c */ lui $a2,0x461c @@ -13635,7 +13635,6 @@ glabel aiIfNaturalAnim //} struct otheraidata *func0f07adf4(struct otheraidata *otheraidata); -struct targetsomething *func0f07adb8(struct otheraidata *otheraidata); /** * @cmd 016a @@ -13650,7 +13649,7 @@ bool aiIfY(void) struct otheraidata *aiddata = func0f07adf4(g_Vars.aiddata); if (aiddata) { - struct targetsomething *target = func0f07adb8(aiddata); + struct targetsomething *target = objGetTargetSomething(aiddata); if (target && (target->unk00 == 3 || target->unk00 == 6)) { chr = target->chr; @@ -14270,15 +14269,13 @@ bool aiPunchOrKick(void) return false; } -struct targetsomething *func0f028884(struct chrdata *chr); - /** * @cmd 0183 */ bool ai0183(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - struct targetsomething *target = func0f028884(g_Vars.chrdata); + struct targetsomething *target = chrGetTargetSomething(g_Vars.chrdata); if (target->unk00 == 5 || target->unk00 == 6) { g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); @@ -15140,7 +15137,7 @@ glabel ai01a6 /* f05df6c: afbf0014 */ sw $ra,0x14($sp) /* f05df70: 01cf3821 */ addu $a3,$t6,$t7 /* f05df74: afa7001c */ sw $a3,0x1c($sp) -/* f05df78: 0fc0a221 */ jal func0f028884 +/* f05df78: 0fc0a221 */ jal chrGetTargetSomething /* f05df7c: 8c640424 */ lw $a0,0x424($v1) /* f05df80: 3c03800a */ lui $v1,0x800a /* f05df84: 24639fc0 */ addiu $v1,$v1,-24640 diff --git a/src/game/game_000000.c b/src/game/game_000000.c index 77a720c05..67ead957d 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -46136,7 +46136,7 @@ glabel func0f027994 /* f027db4: 8fbf0054 */ lw $ra,0x54($sp) /* f027db8: 51400011 */ beqzl $t2,.L0f027e00 /* f027dbc: 8fbf0054 */ lw $ra,0x54($sp) -/* f027dc0: 0fc0a221 */ jal func0f028884 +/* f027dc0: 0fc0a221 */ jal chrGetTargetSomething /* f027dc4: 8fa400cc */ lw $a0,0xcc($sp) /* f027dc8: 3c09800a */ lui $t1,0x800a /* f027dcc: 8d29a244 */ lw $t1,-0x5dbc($t1) @@ -46731,7 +46731,7 @@ glabel func0f028590 /* f028640: 24010003 */ addiu $at,$zero,0x3 /* f028644: 57010034 */ bnel $t8,$at,.L0f028718 /* f028648: 8fcf0000 */ lw $t7,0x0($s8) -/* f02864c: 0fc0a221 */ jal func0f028884 +/* f02864c: 0fc0a221 */ jal chrGetTargetSomething /* f028650: 02a22021 */ addu $a0,$s5,$v0 /* f028654: 3c19800a */ lui $t9,0x800a /* f028658: 8f39a244 */ lw $t9,-0x5dbc($t9) @@ -46902,7 +46902,7 @@ glabel func0f028834 ); GLOBAL_ASM( -glabel func0f028884 +glabel chrGetTargetSomething /* f028884: 8482017e */ lh $v0,0x17e($a0) /* f028888: 2401ffff */ addiu $at,$zero,-1 /* f02888c: 3c09800a */ lui $t1,0x800a @@ -46925,6 +46925,21 @@ glabel func0f028884 /* f0288cc: 00601025 */ or $v0,$v1,$zero ); +// Mismatch because the way it calculates the offset into g_Vars.targets is +// different. +//struct targetsomething *chrGetTargetSomething(struct chrdata *chr) +//{ +// struct targetsomething *ret; +// +// if (chr->target == -1) { +// ret = g_Vars.players[(u32)chr->BITFIELD.shorts[1] >> 14]->targetsomething; +// } else { +// ret = &g_Vars.targets[chr->target]; +// } +// +// return ret; +//} + GLOBAL_ASM( glabel func0f0288d0 /* f0288d0: 8c830004 */ lw $v1,0x4($a0) @@ -54556,7 +54571,7 @@ glabel func0f02f530 /* f02f530: 27bdffe0 */ addiu $sp,$sp,-32 /* f02f534: afbf001c */ sw $ra,0x1c($sp) /* f02f538: afb00018 */ sw $s0,0x18($sp) -/* f02f53c: 0fc0a221 */ jal func0f028884 +/* f02f53c: 0fc0a221 */ jal chrGetTargetSomething /* f02f540: 00808025 */ or $s0,$a0,$zero /* f02f544: 02002025 */ or $a0,$s0,$zero /* f02f548: 0fc122a1 */ jal func0f048a84 @@ -60449,7 +60464,7 @@ glabel func0f034524 /* f034854: 24010003 */ addiu $at,$zero,0x3 /* f034858: 5541000c */ bnel $t2,$at,.L0f03488c /* f03485c: 8fa4014c */ lw $a0,0x14c($sp) -/* f034860: 0fc0a221 */ jal func0f028884 +/* f034860: 0fc0a221 */ jal chrGetTargetSomething /* f034864: 8e240004 */ lw $a0,0x4($s1) /* f034868: 8e0b001c */ lw $t3,0x1c($s0) /* f03486c: 544b0007 */ bnel $v0,$t3,.L0f03488c @@ -62782,7 +62797,7 @@ glabel func0f0369cc /* f0369d4: afa5002c */ sw $a1,0x2c($sp) /* f0369d8: 8c83001c */ lw $v1,0x1c($a0) /* f0369dc: afa60030 */ sw $a2,0x30($sp) -/* f0369e0: 0fc0a221 */ jal func0f028884 +/* f0369e0: 0fc0a221 */ jal chrGetTargetSomething /* f0369e4: afa30024 */ sw $v1,0x24($sp) /* f0369e8: 8fa60030 */ lw $a2,0x30($sp) /* f0369ec: 44808000 */ mtc1 $zero,$f16 @@ -65540,7 +65555,7 @@ glabel func0f038f40 /* f038ffc: 304b0200 */ andi $t3,$v0,0x200 /* f039000: 11600046 */ beqz $t3,.L0f03911c /* f039004: 304e0004 */ andi $t6,$v0,0x4 -/* f039008: 0fc0a221 */ jal func0f028884 +/* f039008: 0fc0a221 */ jal chrGetTargetSomething /* f03900c: 8fa40078 */ lw $a0,0x78($sp) /* f039010: 904c0000 */ lbu $t4,0x0($v0) /* f039014: 24010006 */ addiu $at,$zero,0x6 @@ -65787,7 +65802,7 @@ GLOBAL_ASM( glabel func0f039368 /* f039368: 27bdffe0 */ addiu $sp,$sp,-32 /* f03936c: afbf0014 */ sw $ra,0x14($sp) -/* f039370: 0fc0a221 */ jal func0f028884 +/* f039370: 0fc0a221 */ jal chrGetTargetSomething /* f039374: afa40020 */ sw $a0,0x20($sp) /* f039378: 8fa40020 */ lw $a0,0x20($sp) /* f03937c: 8c450004 */ lw $a1,0x4($v0) @@ -66099,7 +66114,7 @@ glabel func0f03978c /* f039790: afbf0014 */ sw $ra,0x14($sp) /* f039794: 8c83001c */ lw $v1,0x1c($a0) /* f039798: afa40050 */ sw $a0,0x50($sp) -/* f03979c: 0fc0a221 */ jal func0f028884 +/* f03979c: 0fc0a221 */ jal chrGetTargetSomething /* f0397a0: afa3004c */ sw $v1,0x4c($sp) /* f0397a4: 8fa40050 */ lw $a0,0x50($sp) /* f0397a8: 0fc0f917 */ jal func0f03e45c @@ -66372,7 +66387,7 @@ glabel func0f039b20 /* f039b5c: 00001025 */ or $v0,$zero,$zero /* f039b60: 8e0e001c */ lw $t6,0x1c($s0) /* f039b64: 02002025 */ or $a0,$s0,$zero -/* f039b68: 0fc0a221 */ jal func0f028884 +/* f039b68: 0fc0a221 */ jal chrGetTargetSomething /* f039b6c: afae0048 */ sw $t6,0x48($sp) /* f039b70: 02002025 */ or $a0,$s0,$zero /* f039b74: 0fc0f917 */ jal func0f03e45c @@ -66479,7 +66494,7 @@ glabel func0f039ca8 /* f039cdc: 00001025 */ or $v0,$zero,$zero /* f039ce0: 8e0e001c */ lw $t6,0x1c($s0) /* f039ce4: 02002025 */ or $a0,$s0,$zero -/* f039ce8: 0fc0a221 */ jal func0f028884 +/* f039ce8: 0fc0a221 */ jal chrGetTargetSomething /* f039cec: afae0044 */ sw $t6,0x44($sp) /* f039cf0: 02002025 */ or $a0,$s0,$zero /* f039cf4: 0fc0f917 */ jal func0f03e45c @@ -66739,7 +66754,7 @@ glabel func0f039fcc /* f03a088: 29010079 */ slti $at,$t0,0x79 /* f03a08c: 54200020 */ bnezl $at,.L0f03a110 /* f03a090: 00001025 */ or $v0,$zero,$zero -/* f03a094: 0fc0a221 */ jal func0f028884 +/* f03a094: 0fc0a221 */ jal chrGetTargetSomething /* f03a098: afa30020 */ sw $v1,0x20($sp) /* f03a09c: 8fa30020 */ lw $v1,0x20($sp) /* f03a0a0: 8fa90024 */ lw $t1,0x24($sp) @@ -66836,7 +66851,7 @@ glabel func0f03a124 /* f03a1e0: 290100b5 */ slti $at,$t0,0xb5 /* f03a1e4: 54200020 */ bnezl $at,.L0f03a268 /* f03a1e8: 00001025 */ or $v0,$zero,$zero -/* f03a1ec: 0fc0a221 */ jal func0f028884 +/* f03a1ec: 0fc0a221 */ jal chrGetTargetSomething /* f03a1f0: afa30020 */ sw $v1,0x20($sp) /* f03a1f4: 8fa30020 */ lw $v1,0x20($sp) /* f03a1f8: 8fa90024 */ lw $t1,0x24($sp) @@ -66917,7 +66932,7 @@ glabel func0f03a27c /* f03a304: 8fa30044 */ lw $v1,0x44($sp) .L0f03a308: /* f03a308: 02002025 */ or $a0,$s0,$zero -/* f03a30c: 0fc0a221 */ jal func0f028884 +/* f03a30c: 0fc0a221 */ jal chrGetTargetSomething /* f03a310: afa30044 */ sw $v1,0x44($sp) /* f03a314: 8fa30044 */ lw $v1,0x44($sp) /* f03a318: c4440008 */ lwc1 $f4,0x8($v0) @@ -67499,7 +67514,7 @@ glabel func0f03aa38 /* f03aa80: 0503000d */ bgezl $t0,.L0f03aab8 /* f03aa84: 00001025 */ or $v0,$zero,$zero .L0f03aa88: -/* f03aa88: 0fc0a221 */ jal func0f028884 +/* f03aa88: 0fc0a221 */ jal chrGetTargetSomething /* f03aa8c: afa40018 */ sw $a0,0x18($sp) /* f03aa90: 8fa40018 */ lw $a0,0x18($sp) /* f03aa94: 24450008 */ addiu $a1,$v0,0x8 @@ -67916,7 +67931,7 @@ glabel func0f03afac /* f03afac: 27bdff78 */ addiu $sp,$sp,-136 /* f03afb0: afbf002c */ sw $ra,0x2c($sp) /* f03afb4: afb00028 */ sw $s0,0x28($sp) -/* f03afb8: 0fc0a221 */ jal func0f028884 +/* f03afb8: 0fc0a221 */ jal chrGetTargetSomething /* f03afbc: afa40088 */ sw $a0,0x88($sp) /* f03afc0: 8fa40088 */ lw $a0,0x88($sp) /* f03afc4: 8c90001c */ lw $s0,0x1c($a0) @@ -68077,7 +68092,7 @@ glabel func0f03b1e0 /* f03b200: afb10020 */ sw $s1,0x20($sp) /* f03b204: afb0001c */ sw $s0,0x1c($sp) /* f03b208: f7b40010 */ sdc1 $f20,0x10($sp) -/* f03b20c: 0fc0a221 */ jal func0f028884 +/* f03b20c: 0fc0a221 */ jal chrGetTargetSomething /* f03b210: afa402b8 */ sw $a0,0x2b8($sp) /* f03b214: 8fa402b8 */ lw $a0,0x2b8($sp) /* f03b218: 0040b025 */ or $s6,$v0,$zero @@ -68429,7 +68444,7 @@ glabel func0f03b684 /* f03b704: 02002025 */ or $a0,$s0,$zero /* f03b708: 50400098 */ beqzl $v0,.L0f03b96c /* f03b70c: 8fbf001c */ lw $ra,0x1c($sp) -/* f03b710: 0fc0a221 */ jal func0f028884 +/* f03b710: 0fc0a221 */ jal chrGetTargetSomething /* f03b714: 02002025 */ or $a0,$s0,$zero /* f03b718: 10400007 */ beqz $v0,.L0f03b738 /* f03b71c: 00000000 */ sll $zero,$zero,0x0 @@ -68671,7 +68686,7 @@ glabel func0f03ba44 /* f03ba54: afb10020 */ sw $s1,0x20($sp) /* f03ba58: afa5004c */ sw $a1,0x4c($sp) /* f03ba5c: afa60050 */ sw $a2,0x50($sp) -/* f03ba60: 0fc0a221 */ jal func0f028884 +/* f03ba60: 0fc0a221 */ jal chrGetTargetSomething /* f03ba64: afa70054 */ sw $a3,0x54($sp) /* f03ba68: 3c0e8007 */ lui $t6,0x8007 /* f03ba6c: 8dce8298 */ lw $t6,-0x7d68($t6) @@ -68948,7 +68963,7 @@ glabel func0f03bbc8 .L0f03be54: /* f03be54: 10400073 */ beqz $v0,.L0f03c024 /* f03be58: 02002025 */ or $a0,$s0,$zero -/* f03be5c: 0fc0a221 */ jal func0f028884 +/* f03be5c: 0fc0a221 */ jal chrGetTargetSomething /* f03be60: afa30030 */ sw $v1,0x30($sp) /* f03be64: 90440000 */ lbu $a0,0x0($v0) /* f03be68: 24010005 */ addiu $at,$zero,0x5 @@ -71936,7 +71951,7 @@ glabel func0f03e788 /* f03e7fc: 8e1902d4 */ lw $t9,0x2d4($s0) /* f03e800: 53200009 */ beqzl $t9,.L0f03e828 /* f03e804: 82020007 */ lb $v0,0x7($s0) -/* f03e808: 0fc0a221 */ jal func0f028884 +/* f03e808: 0fc0a221 */ jal chrGetTargetSomething /* f03e80c: e7ac0028 */ swc1 $f12,0x28($sp) /* f03e810: 02002025 */ or $a0,$s0,$zero /* f03e814: 0fc122a1 */ jal func0f048a84 @@ -71984,7 +71999,7 @@ glabel func0f03e788 /* f03e8ac: 10000007 */ beqz $zero,.L0f03e8cc /* f03e8b0: c7ac0028 */ lwc1 $f12,0x28($sp) .L0f03e8b4: -/* f03e8b4: 0fc0a221 */ jal func0f028884 +/* f03e8b4: 0fc0a221 */ jal chrGetTargetSomething /* f03e8b8: e7ac0028 */ swc1 $f12,0x28($sp) /* f03e8bc: 02002025 */ or $a0,$s0,$zero /* f03e8c0: 0fc122a1 */ jal func0f048a84 @@ -72124,7 +72139,7 @@ glabel func0f03e9f4 /* f03ea88: afa80184 */ sw $t0,0x184($sp) /* f03ea8c: afa40190 */ sw $a0,0x190($sp) /* f03ea90: afa30180 */ sw $v1,0x180($sp) -/* f03ea94: 0fc0a221 */ jal func0f028884 +/* f03ea94: 0fc0a221 */ jal chrGetTargetSomething /* f03ea98: afb9016c */ sw $t9,0x16c($sp) /* f03ea9c: 8fa3016c */ lw $v1,0x16c($sp) /* f03eaa0: afa20168 */ sw $v0,0x168($sp) @@ -73266,7 +73281,7 @@ glabel func0f03fab0 /* f03facc: e7a40030 */ swc1 $f4,0x30($sp) /* f03fad0: 8c83001c */ lw $v1,0x1c($a0) /* f03fad4: afa40060 */ sw $a0,0x60($sp) -/* f03fad8: 0fc0a221 */ jal func0f028884 +/* f03fad8: 0fc0a221 */ jal chrGetTargetSomething /* f03fadc: afa3005c */ sw $v1,0x5c($sp) /* f03fae0: 8fa3005c */ lw $v1,0x5c($sp) /* f03fae4: c4460008 */ lwc1 $f6,0x8($v0) @@ -73987,7 +74002,7 @@ glabel func0f0404d4 /* f04051c: afa00268 */ sw $zero,0x268($sp) /* f040520: 8c590004 */ lw $t9,0x4($v0) /* f040524: 8fa40278 */ lw $a0,0x278($sp) -/* f040528: 0fc0a221 */ jal func0f028884 +/* f040528: 0fc0a221 */ jal chrGetTargetSomething /* f04052c: afb90264 */ sw $t9,0x264($sp) /* f040530: 8fab0264 */ lw $t3,0x264($sp) /* f040534: afa2025c */ sw $v0,0x25c($sp) @@ -74830,7 +74845,7 @@ glabel func0f0404d4 /* f041164: c5e60050 */ lwc1 $f6,0x50($t7) /* f041168: 46043402 */ mul.s $f16,$f6,$f4 /* f04116c: e7100098 */ swc1 $f16,0x98($t8) -/* f041170: 0fc0a221 */ jal func0f028884 +/* f041170: 0fc0a221 */ jal chrGetTargetSomething /* f041174: 8fa40278 */ lw $a0,0x278($sp) /* f041178: 8fac01b8 */ lw $t4,0x1b8($sp) /* f04117c: 3c01bf80 */ lui $at,0xbf80 @@ -75473,7 +75488,7 @@ glabel func0f041a74 /* f041aa8: 8c82001c */ lw $v0,0x1c($a0) /* f041aac: 9048003f */ lbu $t0,0x3f($v0) /* f041ab0: 35090020 */ ori $t1,$t0,0x20 -/* f041ab4: 0fc0a221 */ jal func0f028884 +/* f041ab4: 0fc0a221 */ jal chrGetTargetSomething /* f041ab8: a049003f */ sb $t1,0x3f($v0) /* f041abc: 8e0a005c */ lw $t2,0x5c($s0) /* f041ac0: 8e04001c */ lw $a0,0x1c($s0) @@ -75506,7 +75521,7 @@ glabel func0f041a74 /* f041b24: 02002025 */ or $a0,$s0,$zero /* f041b28: 904a003f */ lbu $t2,0x3f($v0) /* f041b2c: 354b0020 */ ori $t3,$t2,0x20 -/* f041b30: 0fc0a221 */ jal func0f028884 +/* f041b30: 0fc0a221 */ jal chrGetTargetSomething /* f041b34: a04b003f */ sb $t3,0x3f($v0) /* f041b38: 8e0c0060 */ lw $t4,0x60($s0) /* f041b3c: 8e04001c */ lw $a0,0x1c($s0) @@ -76548,7 +76563,7 @@ glabel func0f0429d8 /* f0429dc: afbf0014 */ sw $ra,0x14($sp) /* f0429e0: afa40018 */ sw $a0,0x18($sp) /* f0429e4: afa5001c */ sw $a1,0x1c($sp) -/* f0429e8: 0fc0a221 */ jal func0f028884 +/* f0429e8: 0fc0a221 */ jal chrGetTargetSomething /* f0429ec: afa60020 */ sw $a2,0x20($sp) /* f0429f0: 8fae0018 */ lw $t6,0x18($sp) /* f0429f4: c4440008 */ lwc1 $f4,0x8($v0) @@ -76593,7 +76608,7 @@ glabel func0f042a40 /* f042a80: f7b80028 */ sdc1 $f24,0x28($sp) /* f042a84: f7b60020 */ sdc1 $f22,0x20($sp) /* f042a88: f7b40018 */ sdc1 $f20,0x18($sp) -/* f042a8c: 0fc0a221 */ jal func0f028884 +/* f042a8c: 0fc0a221 */ jal chrGetTargetSomething /* f042a90: 4600e686 */ mov.s $f26,$f28 /* f042a94: 0040f025 */ or $s8,$v0,$zero /* f042a98: 0fc0f917 */ jal func0f03e45c @@ -78265,7 +78280,7 @@ glabel func0f044208 /* f04421c: 8c8e001c */ lw $t6,0x1c($a0) /* f044220: 8c910020 */ lw $s1,0x20($a0) /* f044224: 00808025 */ or $s0,$a0,$zero -/* f044228: 0fc0a221 */ jal func0f028884 +/* f044228: 0fc0a221 */ jal chrGetTargetSomething /* f04422c: afae0048 */ sw $t6,0x48($sp) /* f044230: 8e0f0014 */ lw $t7,0x14($s0) /* f044234: 00409025 */ or $s2,$v0,$zero @@ -81955,7 +81970,7 @@ glabel func0f047700 /* f047718: afa70074 */ sw $a3,0x74($sp) /* f04771c: 8c8e001c */ lw $t6,0x1c($a0) /* f047720: 00808025 */ or $s0,$a0,$zero -/* f047724: 0fc0a221 */ jal func0f028884 +/* f047724: 0fc0a221 */ jal chrGetTargetSomething /* f047728: afae0058 */ sw $t6,0x58($sp) /* f04772c: 00408825 */ or $s1,$v0,$zero /* f047730: 02002025 */ or $a0,$s0,$zero @@ -82867,7 +82882,7 @@ glabel func0f048398 /* f048444: 02002025 */ or $a0,$s0,$zero /* f048448: 54400044 */ bnezl $v0,.L0f04855c /* f04844c: 8faa00e0 */ lw $t2,0xe0($sp) -/* f048450: 0fc0a221 */ jal func0f028884 +/* f048450: 0fc0a221 */ jal chrGetTargetSomething /* f048454: 02002025 */ or $a0,$s0,$zero /* f048458: 1040003f */ beqz $v0,.L0f048558 /* f04845c: 00408825 */ or $s1,$v0,$zero @@ -83377,7 +83392,7 @@ GLOBAL_ASM( glabel func0f048b4c /* f048b4c: 27bdffe8 */ addiu $sp,$sp,-24 /* f048b50: afbf0014 */ sw $ra,0x14($sp) -/* f048b54: 0fc0a221 */ jal func0f028884 +/* f048b54: 0fc0a221 */ jal chrGetTargetSomething /* f048b58: afa40018 */ sw $a0,0x18($sp) /* f048b5c: 8fa40018 */ lw $a0,0x18($sp) /* f048b60: 0fc122a1 */ jal func0f048a84 @@ -83452,7 +83467,7 @@ glabel func0f048b78 /* f048c50: 10000017 */ beqz $zero,.L0f048cb0 /* f048c54: a4aa0000 */ sh $t2,0x0($a1) .L0f048c58: -/* f048c58: 0fc0a221 */ jal func0f028884 +/* f048c58: 0fc0a221 */ jal chrGetTargetSomething /* f048c5c: afa7008c */ sw $a3,0x8c($sp) /* f048c60: 8fa7008c */ lw $a3,0x8c($sp) /* f048c64: c4440008 */ lwc1 $f4,0x8($v0) @@ -83490,7 +83505,7 @@ glabel func0f048cc0 /* f048cc8: afbf0014 */ sw $ra,0x14($sp) /* f048ccc: 8c83001c */ lw $v1,0x1c($a0) /* f048cd0: e7b20034 */ swc1 $f18,0x34($sp) -/* f048cd4: 0fc0a221 */ jal func0f028884 +/* f048cd4: 0fc0a221 */ jal chrGetTargetSomething /* f048cd8: afa30030 */ sw $v1,0x30($sp) /* f048cdc: 8fa30030 */ lw $v1,0x30($sp) /* f048ce0: c7a20034 */ lwc1 $f2,0x34($sp) @@ -83564,7 +83579,7 @@ glabel func0f048dcc /* f048dcc: 27bdffd8 */ addiu $sp,$sp,-40 /* f048dd0: afbf0014 */ sw $ra,0x14($sp) /* f048dd4: 8c83001c */ lw $v1,0x1c($a0) -/* f048dd8: 0fc0a221 */ jal func0f028884 +/* f048dd8: 0fc0a221 */ jal chrGetTargetSomething /* f048ddc: afa30024 */ sw $v1,0x24($sp) /* f048de0: 8fa30024 */ lw $v1,0x24($sp) /* f048de4: 44801000 */ mtc1 $zero,$f2 @@ -83715,7 +83730,7 @@ glabel func0f048fcc /* f048fd4: afa50034 */ sw $a1,0x34($sp) /* f048fd8: 8c83001c */ lw $v1,0x1c($a0) /* f048fdc: afa40030 */ sw $a0,0x30($sp) -/* f048fe0: 0fc0a221 */ jal func0f028884 +/* f048fe0: 0fc0a221 */ jal chrGetTargetSomething /* f048fe4: afa30028 */ sw $v1,0x28($sp) /* f048fe8: 8fa30028 */ lw $v1,0x28($sp) /* f048fec: c4460008 */ lwc1 $f6,0x8($v0) @@ -83860,7 +83875,7 @@ GLOBAL_ASM( glabel func0f0491c8 /* f0491c8: 27bdffe8 */ addiu $sp,$sp,-24 /* f0491cc: afbf0014 */ sw $ra,0x14($sp) -/* f0491d0: 0fc0a221 */ jal func0f028884 +/* f0491d0: 0fc0a221 */ jal chrGetTargetSomething /* f0491d4: afa40018 */ sw $a0,0x18($sp) /* f0491d8: 8fae0018 */ lw $t6,0x18($sp) /* f0491dc: 00402825 */ or $a1,$v0,$zero @@ -83876,7 +83891,7 @@ GLOBAL_ASM( glabel func0f0491f8 /* f0491f8: 27bdffe8 */ addiu $sp,$sp,-24 /* f0491fc: afbf0014 */ sw $ra,0x14($sp) -/* f049200: 0fc0a221 */ jal func0f028884 +/* f049200: 0fc0a221 */ jal chrGetTargetSomething /* f049204: afa40018 */ sw $a0,0x18($sp) /* f049208: 8fae0018 */ lw $t6,0x18($sp) /* f04920c: 00402825 */ or $a1,$v0,$zero @@ -84326,8 +84341,6 @@ glabel func0f049644 /* f04980c: 27bd0038 */ addiu $sp,$sp,0x38 ); -struct targetsomething *func0f028884(struct chrdata *ref); - s32 chrResolveId(struct chrdata *ref, s32 id) { if (ref) { @@ -84348,40 +84361,40 @@ s32 chrResolveId(struct chrdata *ref, s32 id) id = ref->chrdup; break; case 0xf8: - if (g_Vars.bond && g_Vars.bond->unkbc && g_Vars.bond->unkbc->chr) { - id = g_Vars.bond->unkbc->chr->chrnum; + if (g_Vars.bond && g_Vars.bond->targetsomething && g_Vars.bond->targetsomething->chr) { + id = g_Vars.bond->targetsomething->chr->chrnum; } break; case 0xf5: - if (g_Vars.coop && g_Vars.coop->unkbc && g_Vars.coop->unkbc->chr) { - id = g_Vars.coop->unkbc->chr->chrnum; + if (g_Vars.coop && g_Vars.coop->targetsomething && g_Vars.coop->targetsomething->chr) { + id = g_Vars.coop->targetsomething->chr->chrnum; } break; case 0xf4: - if (g_Vars.anti && g_Vars.anti->unkbc && g_Vars.anti->unkbc->chr) { - id = g_Vars.anti->unkbc->chr->chrnum; + if (g_Vars.anti && g_Vars.anti->targetsomething && g_Vars.anti->targetsomething->chr) { + id = g_Vars.anti->targetsomething->chr->chrnum; } break; case 0xf2: { u32 index = g_Vars.coopplayernum >= 0 ? (u32)ref->BITFIELD.shorts[1] >> 14 : g_Vars.bondplayernum; struct player *player = g_Vars.players[index]; - if (player && player->unkbc && player->unkbc->chr) { - id = player->unkbc->chr->chrnum; + if (player && player->targetsomething && player->targetsomething->chr) { + id = player->targetsomething->chr->chrnum; } } break; case 0xf1: if (g_Vars.coopplayernum >= 0) { struct player *player = g_Vars.players[1 - ((u32)ref->BITFIELD.shorts[1] >> 14)]; - if (player && player->unkbc && player->unkbc->chr) { - id = player->unkbc->chr->chrnum; + if (player && player->targetsomething && player->targetsomething->chr) { + id = player->targetsomething->chr->chrnum; } } break; case 0xf6: { - struct targetsomething *target = func0f028884(ref); + struct targetsomething *target = chrGetTargetSomething(ref); if ((target->unk00 == 3 || target->unk00 == 6) && target->chr) { id = target->chr->chrnum; } @@ -84391,33 +84404,33 @@ s32 chrResolveId(struct chrdata *ref, s32 id) } else { // ref is NULL switch (id) { case 0xf8: - if (g_Vars.bond && g_Vars.bond->unkbc && g_Vars.bond->unkbc->chr) { - id = g_Vars.bond->unkbc->chr->chrnum; + if (g_Vars.bond && g_Vars.bond->targetsomething && g_Vars.bond->targetsomething->chr) { + id = g_Vars.bond->targetsomething->chr->chrnum; } break; case 0xf5: - if (g_Vars.coop && g_Vars.coop->unkbc && g_Vars.coop->unkbc->chr) { - id = g_Vars.coop->unkbc->chr->chrnum; + if (g_Vars.coop && g_Vars.coop->targetsomething && g_Vars.coop->targetsomething->chr) { + id = g_Vars.coop->targetsomething->chr->chrnum; } break; case 0xf4: - if (g_Vars.anti && g_Vars.anti->unkbc && g_Vars.anti->unkbc->chr) { - id = g_Vars.anti->unkbc->chr->chrnum; + if (g_Vars.anti && g_Vars.anti->targetsomething && g_Vars.anti->targetsomething->chr) { + id = g_Vars.anti->targetsomething->chr->chrnum; } break; case 0xf2: // P1/P2 { struct player *player = g_Vars.players[g_Vars.bondplayernum]; - if (player && player->unkbc && player->unkbc->chr) { - id = player->unkbc->chr->chrnum; + if (player && player->targetsomething && player->targetsomething->chr) { + id = player->targetsomething->chr->chrnum; } } break; case 0xf1: // P1/P2 inverse? if (g_Vars.coopplayernum >= 0) { struct player *player = g_Vars.players[g_Vars.coopplayernum]; - if (player && player->unkbc && player->unkbc->chr) { - id = player->unkbc->chr->chrnum; + if (player && player->targetsomething && player->targetsomething->chr) { + id = player->targetsomething->chr->chrnum; } } break; @@ -84582,7 +84595,7 @@ glabel func0f049d34 /* f049d34: 27bdff80 */ addiu $sp,$sp,-128 /* f049d38: afbf0014 */ sw $ra,0x14($sp) /* f049d3c: afa40080 */ sw $a0,0x80($sp) -/* f049d40: 0fc0a221 */ jal func0f028884 +/* f049d40: 0fc0a221 */ jal chrGetTargetSomething /* f049d44: afa50084 */ sw $a1,0x84($sp) /* f049d48: 44801000 */ mtc1 $zero,$f2 /* f049d4c: 8fa40080 */ lw $a0,0x80($sp) @@ -84722,7 +84735,7 @@ GLOBAL_ASM( glabel func0f049fcc /* f049fcc: 27bdffa8 */ addiu $sp,$sp,-88 /* f049fd0: afbf001c */ sw $ra,0x1c($sp) -/* f049fd4: 0fc0a221 */ jal func0f028884 +/* f049fd4: 0fc0a221 */ jal chrGetTargetSomething /* f049fd8: afa40058 */ sw $a0,0x58($sp) /* f049fdc: 1040003c */ beqz $v0,.L0f04a0d0 /* f049fe0: 00401825 */ or $v1,$v0,$zero @@ -85114,7 +85127,7 @@ glabel func0f04a4ec .L0f04a520: /* f04a520: 8e30001c */ lw $s0,0x1c($s1) /* f04a524: afa60024 */ sw $a2,0x24($sp) -/* f04a528: 0fc0a221 */ jal func0f028884 +/* f04a528: 0fc0a221 */ jal chrGetTargetSomething /* f04a52c: 02202025 */ or $a0,$s1,$zero /* f04a530: 26040008 */ addiu $a0,$s0,0x8 /* f04a534: 26050028 */ addiu $a1,$s0,0x28 @@ -85225,7 +85238,7 @@ glabel func0f04a674 .L0f04a6b4: /* f04a6b4: afa40028 */ sw $a0,0x28($sp) /* f04a6b8: a3a5002f */ sb $a1,0x2f($sp) -/* f04a6bc: 0fc0a221 */ jal func0f028884 +/* f04a6bc: 0fc0a221 */ jal chrGetTargetSomething /* f04a6c0: e7a20024 */ swc1 $f2,0x24($sp) /* f04a6c4: 90430000 */ lbu $v1,0x0($v0) /* f04a6c8: 24010006 */ addiu $at,$zero,0x6 @@ -85688,7 +85701,7 @@ glabel func0f04ad08 /* f04ad20: afb20020 */ sw $s2,0x20($sp) /* f04ad24: afb1001c */ sw $s1,0x1c($sp) /* f04ad28: afb00018 */ sw $s0,0x18($sp) -/* f04ad2c: 0fc0a221 */ jal func0f028884 +/* f04ad2c: 0fc0a221 */ jal chrGetTargetSomething /* f04ad30: afa400d8 */ sw $a0,0xd8($sp) /* f04ad34: 904f0000 */ lbu $t7,0x0($v0) /* f04ad38: 8fae00d8 */ lw $t6,0xd8($sp) @@ -86347,7 +86360,7 @@ glabel func0f04b658 /* f04b664: afa0002c */ sw $zero,0x2c($sp) /* f04b668: 8c8e001c */ lw $t6,0x1c($a0) /* f04b66c: 00808025 */ or $s0,$a0,$zero -/* f04b670: 0fc0a221 */ jal func0f028884 +/* f04b670: 0fc0a221 */ jal chrGetTargetSomething /* f04b674: afae0028 */ sw $t6,0x28($sp) /* f04b678: afa20024 */ sw $v0,0x24($sp) /* f04b67c: 860f012c */ lh $t7,0x12c($s0) @@ -86565,7 +86578,7 @@ glabel func0f04b950 /* f04b990: 10000024 */ beqz $zero,.L0f04ba24 /* f04b994: 00001025 */ or $v0,$zero,$zero .L0f04b998: -/* f04b998: 0fc0a221 */ jal func0f028884 +/* f04b998: 0fc0a221 */ jal chrGetTargetSomething /* f04b99c: 8fa40040 */ lw $a0,0x40($sp) /* f04b9a0: 14400003 */ bnez $v0,.L0f04b9b0 /* f04b9a4: 00401825 */ or $v1,$v0,$zero @@ -86631,7 +86644,7 @@ glabel func0f04ba34 /* f04ba70: a7a500be */ sh $a1,0xbe($sp) /* f04ba74: afa20078 */ sw $v0,0x78($sp) /* f04ba78: 0000f025 */ or $s8,$zero,$zero -/* f04ba7c: 0fc0a221 */ jal func0f028884 +/* f04ba7c: 0fc0a221 */ jal chrGetTargetSomething /* f04ba80: 02802025 */ or $a0,$s4,$zero /* f04ba84: 8e8f001c */ lw $t7,0x1c($s4) /* f04ba88: 3c01432a */ lui $at,0x432a @@ -87338,7 +87351,7 @@ glabel func0f04c444 /* f04c44c: 8c8e001c */ lw $t6,0x1c($a0) /* f04c450: 51c00048 */ beqzl $t6,.L0f04c574 /* f04c454: 8fbf0014 */ lw $ra,0x14($sp) -/* f04c458: 0fc0a221 */ jal func0f028884 +/* f04c458: 0fc0a221 */ jal chrGetTargetSomething /* f04c45c: afa40018 */ sw $a0,0x18($sp) /* f04c460: 10400043 */ beqz $v0,.L0f04c570 /* f04c464: 8fa40018 */ lw $a0,0x18($sp) @@ -87511,7 +87524,7 @@ glabel func0f04c6b4 /* f04c6b4: 27bdffe0 */ addiu $sp,$sp,-32 /* f04c6b8: afbf001c */ sw $ra,0x1c($sp) /* f04c6bc: afa40020 */ sw $a0,0x20($sp) -/* f04c6c0: 0fc0a221 */ jal func0f028884 +/* f04c6c0: 0fc0a221 */ jal chrGetTargetSomething /* f04c6c4: afa50024 */ sw $a1,0x24($sp) /* f04c6c8: 8fae0020 */ lw $t6,0x20($sp) /* f04c6cc: 8faf0024 */ lw $t7,0x24($sp) @@ -87542,7 +87555,7 @@ glabel func0f04c71c /* f04c71c: 27bdffe0 */ addiu $sp,$sp,-32 /* f04c720: afbf001c */ sw $ra,0x1c($sp) /* f04c724: afa40020 */ sw $a0,0x20($sp) -/* f04c728: 0fc0a221 */ jal func0f028884 +/* f04c728: 0fc0a221 */ jal chrGetTargetSomething /* f04c72c: afa50024 */ sw $a1,0x24($sp) /* f04c730: 8fae0020 */ lw $t6,0x20($sp) /* f04c734: 8faf0024 */ lw $t7,0x24($sp) @@ -87574,7 +87587,7 @@ glabel func0f04c784 /* f04c788: 27bdffd8 */ addiu $sp,$sp,-40 /* f04c78c: afbf0014 */ sw $ra,0x14($sp) /* f04c790: afa40028 */ sw $a0,0x28($sp) -/* f04c794: 0fc0a221 */ jal func0f028884 +/* f04c794: 0fc0a221 */ jal chrGetTargetSomething /* f04c798: e7b00024 */ swc1 $f16,0x24($sp) /* f04c79c: 90430000 */ lbu $v1,0x0($v0) /* f04c7a0: 24010003 */ addiu $at,$zero,0x3 @@ -87658,7 +87671,7 @@ glabel func0f04c874 /* f04c8bc: f7b80038 */ sdc1 $f24,0x38($sp) /* f04c8c0: f7b60030 */ sdc1 $f22,0x30($sp) /* f04c8c4: f7b40028 */ sdc1 $f20,0x28($sp) -/* f04c8c8: 0fc0a221 */ jal func0f028884 +/* f04c8c8: 0fc0a221 */ jal chrGetTargetSomething /* f04c8cc: afa700f4 */ sw $a3,0xf4($sp) /* f04c8d0: 4480d000 */ mtc1 $zero,$f26 /* f04c8d4: 00408825 */ or $s1,$v0,$zero @@ -88210,7 +88223,7 @@ glabel func0f04d000 /* f04d04c: 8de8001c */ lw $t0,0x1c($t7) /* f04d050: 8de10018 */ lw $at,0x18($t7) /* f04d054: adc8001c */ sw $t0,0x1c($t6) -/* f04d058: 0fc0a221 */ jal func0f028884 +/* f04d058: 0fc0a221 */ jal chrGetTargetSomething /* f04d05c: adc10018 */ sw $at,0x18($t6) /* f04d060: 02002025 */ or $a0,$s0,$zero /* f04d064: 0fc122a1 */ jal func0f048a84 diff --git a/src/game/game_0601b0.c b/src/game/game_0601b0.c index 6c99e5188..cd0589b7d 100644 --- a/src/game/game_0601b0.c +++ b/src/game/game_0601b0.c @@ -21999,7 +21999,7 @@ glabel func0f073478 /* f073548: 00025040 */ sll $t2,$v0,0x1 .L0f07354c: /* f07354c: e7ac0094 */ swc1 $f12,0x94($sp) -/* f073550: 0fc0a221 */ jal func0f028884 +/* f073550: 0fc0a221 */ jal chrGetTargetSomething /* f073554: e7ae008c */ swc1 $f14,0x8c($sp) /* f073558: 24480028 */ addiu $t0,$v0,0x28 /* f07355c: afa80010 */ sw $t0,0x10($sp) @@ -22282,7 +22282,7 @@ glabel func0f073478 /* f073970: 10000034 */ beqz $zero,.L0f073a44 /* f073974: a5000062 */ sh $zero,0x62($t0) .L0f073978: -/* f073978: 0fc0a221 */ jal func0f028884 +/* f073978: 0fc0a221 */ jal chrGetTargetSomething /* f07397c: 02802025 */ or $a0,$s4,$zero /* f073980: 8e09001c */ lw $t1,0x1c($s0) /* f073984: 14490029 */ bne $v0,$t1,.L0f073a2c @@ -30310,7 +30310,7 @@ glabel func0f07accc ); GLOBAL_ASM( -glabel func0f07adb8 +glabel objGetTargetSomething /* f07adb8: 84830094 */ lh $v1,0x94($a0) /* f07adbc: 2401ffff */ addiu $at,$zero,-1 /* f07adc0: 3c18800a */ lui $t8,0x800a @@ -30355,7 +30355,7 @@ glabel func0f07ae18 /* f07ae34: c444007c */ lwc1 $f4,0x7c($v0) /* f07ae38: a3a00023 */ sb $zero,0x23($sp) /* f07ae3c: afa20024 */ sw $v0,0x24($sp) -/* f07ae40: 0fc1eb6e */ jal func0f07adb8 +/* f07ae40: 0fc1eb6e */ jal objGetTargetSomething /* f07ae44: e7a4001c */ swc1 $f4,0x1c($sp) /* f07ae48: 8fa40024 */ lw $a0,0x24($sp) /* f07ae4c: c4480008 */ lwc1 $f8,0x8($v0) @@ -30432,7 +30432,7 @@ glabel func0f07af34 /* f07af44: 1040001d */ beqz $v0,.L0f07afbc /* f07af48: 00402025 */ or $a0,$v0,$zero /* f07af4c: afa00020 */ sw $zero,0x20($sp) -/* f07af50: 0fc1eb6e */ jal func0f07adb8 +/* f07af50: 0fc1eb6e */ jal objGetTargetSomething /* f07af54: afa20024 */ sw $v0,0x24($sp) /* f07af58: 904e0000 */ lbu $t6,0x0($v0) /* f07af5c: 24010006 */ addiu $at,$zero,0x6 @@ -30698,7 +30698,7 @@ glabel func0f07b290 /* f07b2a8: 00803025 */ or $a2,$a0,$zero /* f07b2ac: 51c0004c */ beqzl $t6,.L0f07b3e0 /* f07b2b0: 8fbf0024 */ lw $ra,0x24($sp) -/* f07b2b4: 0fc1eb6e */ jal func0f07adb8 +/* f07b2b4: 0fc1eb6e */ jal objGetTargetSomething /* f07b2b8: afa600d0 */ sw $a2,0xd0($sp) /* f07b2bc: 8faf00d4 */ lw $t7,0xd4($sp) /* f07b2c0: 8fa600d0 */ lw $a2,0xd0($sp) @@ -30808,7 +30808,7 @@ glabel func0f07b3f0 /* f07b444: c44400cc */ lwc1 $f4,0xcc($v0) /* f07b448: e7b00110 */ swc1 $f16,0x110($sp) /* f07b44c: e7b0010c */ swc1 $f16,0x10c($sp) -/* f07b450: 0fc1eb6e */ jal func0f07adb8 +/* f07b450: 0fc1eb6e */ jal objGetTargetSomething /* f07b454: e7a400e0 */ swc1 $f4,0xe0($sp) /* f07b458: afa200dc */ sw $v0,0xdc($sp) /* f07b45c: afa000d4 */ sw $zero,0xd4($sp) @@ -32369,7 +32369,7 @@ glabel func0f07cacc /* f07caf4: afa40170 */ sw $a0,0x170($sp) /* f07caf8: 8c930004 */ lw $s3,0x4($a0) /* f07cafc: afb30168 */ sw $s3,0x168($sp) -/* f07cb00: 0fc1eb6e */ jal func0f07adb8 +/* f07cb00: 0fc1eb6e */ jal objGetTargetSomething /* f07cb04: 02602025 */ or $a0,$s3,$zero /* f07cb08: 8fa50170 */ lw $a1,0x170($sp) /* f07cb0c: afa2015c */ sw $v0,0x15c($sp) @@ -53335,7 +53335,7 @@ glabel func0f08f11c /* f08f2c0: 5040000e */ beqzl $v0,.L0f08f2fc /* f08f2c4: 822a0007 */ lb $t2,0x7($s1) .L0f08f2c8: -/* f08f2c8: 0fc0a221 */ jal func0f028884 +/* f08f2c8: 0fc0a221 */ jal chrGetTargetSomething /* f08f2cc: 02202025 */ or $a0,$s1,$zero /* f08f2d0: 02202025 */ or $a0,$s1,$zero /* f08f2d4: 24450008 */ addiu $a1,$v0,0x8 @@ -227836,7 +227836,7 @@ glabel func0f129cfc /* f129d9c: 8f190020 */ lw $t9,0x20($t8) /* f129da0: 5320002b */ beqzl $t9,.L0f129e50 /* f129da4: 8eb90000 */ lw $t9,0x0($s5) -/* f129da8: 0fc0a221 */ jal func0f028884 +/* f129da8: 0fc0a221 */ jal chrGetTargetSomething /* f129dac: 02022021 */ addu $a0,$s0,$v0 /* f129db0: 8ec80284 */ lw $t0,0x284($s6) /* f129db4: 8d0900bc */ lw $t1,0xbc($t0) @@ -345294,7 +345294,7 @@ GLOBAL_ASM( glabel func0f191600 /* f191600: 27bdffe8 */ addiu $sp,$sp,-24 /* f191604: afbf0014 */ sw $ra,0x14($sp) -/* f191608: 0fc0a221 */ jal func0f028884 +/* f191608: 0fc0a221 */ jal chrGetTargetSomething /* f19160c: 00000000 */ sll $zero,$zero,0x0 /* f191610: 10400004 */ beqz $v0,.L0f191624 /* f191614: 00001825 */ or $v1,$zero,$zero @@ -345320,7 +345320,7 @@ glabel func0f191638 /* f191650: 51c1009b */ beql $t6,$at,.L0f1918c0 /* f191654: 8fbf0014 */ lw $ra,0x14($sp) /* f191658: afa40030 */ sw $a0,0x30($sp) -/* f19165c: 0fc0a221 */ jal func0f028884 +/* f19165c: 0fc0a221 */ jal chrGetTargetSomething /* f191660: afa0002c */ sw $zero,0x2c($sp) /* f191664: afa20028 */ sw $v0,0x28($sp) /* f191668: 0fc633fe */ jal func0f18cff8 @@ -345601,7 +345601,7 @@ glabel func0f1918d0 /* f191a48: 00002825 */ or $a1,$zero,$zero /* f191a4c: 5040000c */ beqzl $v0,.L0f191a80 /* f191a50: 922402a0 */ lbu $a0,0x2a0($s1) -/* f191a54: 0fc0a221 */ jal func0f028884 +/* f191a54: 0fc0a221 */ jal chrGetTargetSomething /* f191a58: 02202025 */ or $a0,$s1,$zero /* f191a5c: 02202025 */ or $a0,$s1,$zero /* f191a60: 0fc122a1 */ jal func0f048a84 @@ -346721,7 +346721,7 @@ glabel func0f19294c /* f1929c8: 5161000e */ beql $t3,$at,.L0f192a04 /* f1929cc: 8c8e02d4 */ lw $t6,0x2d4($a0) /* f1929d0: afa40018 */ sw $a0,0x18($sp) -/* f1929d4: 0fc0a221 */ jal func0f028884 +/* f1929d4: 0fc0a221 */ jal chrGetTargetSomething /* f1929d8: afa5001c */ sw $a1,0x1c($sp) /* f1929dc: 8fa5001c */ lw $a1,0x1c($sp) /* f1929e0: 8fa40018 */ lw $a0,0x18($sp) @@ -346902,7 +346902,7 @@ glabel func0f192a74 /* f192c40: afa3003c */ sw $v1,0x3c($sp) /* f192c44: afa6001c */ sw $a2,0x1c($sp) /* f192c48: e7ae002c */ swc1 $f14,0x2c($sp) -/* f192c4c: 0fc0a221 */ jal func0f028884 +/* f192c4c: 0fc0a221 */ jal chrGetTargetSomething /* f192c50: e7b00030 */ swc1 $f16,0x30($sp) /* f192c54: 8c4b0004 */ lw $t3,0x4($v0) /* f192c58: 3c05800a */ lui $a1,0x800a @@ -347278,7 +347278,7 @@ glabel func0f192e90 /* f19317c: 2411ffff */ addiu $s1,$zero,-1 /* f193180: 52380028 */ beql $s1,$t8,.L0f193224 /* f193184: 86a2017e */ lh $v0,0x17e($s5) -/* f193188: 0fc0a221 */ jal func0f028884 +/* f193188: 0fc0a221 */ jal chrGetTargetSomething /* f19318c: 02a02025 */ or $a0,$s5,$zero /* f193190: 00408025 */ or $s0,$v0,$zero /* f193194: 0fc0e6a5 */ jal func0f039a94 @@ -349868,7 +349868,7 @@ glabel func0f194b40 /* f19558c: 02802025 */ or $a0,$s4,$zero /* f195590: 13200007 */ beqz $t9,.L0f1955b0 /* f195594: 00000000 */ sll $zero,$zero,0x0 -/* f195598: 0fc0a221 */ jal func0f028884 +/* f195598: 0fc0a221 */ jal chrGetTargetSomething /* f19559c: 2415002f */ addiu $s5,$zero,0x2f /* f1955a0: 0fc633fe */ jal func0f18cff8 /* f1955a4: 8c440004 */ lw $a0,0x4($v0) @@ -350207,14 +350207,14 @@ glabel func0f194b40 /* f195a60: 8e4d0128 */ lw $t5,0x128($s2) /* f195a64: 11a00010 */ beqz $t5,.L0f195aa8 /* f195a68: 00000000 */ sll $zero,$zero,0x0 -/* f195a6c: 0fc0a221 */ jal func0f028884 +/* f195a6c: 0fc0a221 */ jal chrGetTargetSomething /* f195a70: 02802025 */ or $a0,$s4,$zero /* f195a74: 02802025 */ or $a0,$s4,$zero /* f195a78: 0fc64b70 */ jal func0f192dc0 /* f195a7c: 8c450004 */ lw $a1,0x4($v0) /* f195a80: 10400009 */ beqz $v0,.L0f195aa8 /* f195a84: 02802025 */ or $a0,$s4,$zero -/* f195a88: 0fc0a221 */ jal func0f028884 +/* f195a88: 0fc0a221 */ jal chrGetTargetSomething /* f195a8c: 2415002f */ addiu $s5,$zero,0x2f /* f195a90: 0fc633fe */ jal func0f18cff8 /* f195a94: 8c440004 */ lw $a0,0x4($v0) @@ -350809,7 +350809,7 @@ glabel func0f194b40 /* f196340: 8698017e */ lh $t8,0x17e($s4) /* f196344: 13d8000a */ beq $s8,$t8,.L0f196370 /* f196348: 00000000 */ sll $zero,$zero,0x0 -/* f19634c: 0fc0a221 */ jal func0f028884 +/* f19634c: 0fc0a221 */ jal chrGetTargetSomething /* f196350: 02802025 */ or $a0,$s4,$zero /* f196354: 02802025 */ or $a0,$s4,$zero /* f196358: 0fc64b70 */ jal func0f192dc0 @@ -351037,13 +351037,13 @@ glabel func0f194b40 /* f19667c: 868f017e */ lh $t7,0x17e($s4) /* f196680: 53cf000e */ beql $s8,$t7,.L0f1966bc /* f196684: 24190029 */ addiu $t9,$zero,0x29 -/* f196688: 0fc0a221 */ jal func0f028884 +/* f196688: 0fc0a221 */ jal chrGetTargetSomething /* f19668c: 02802025 */ or $a0,$s4,$zero /* f196690: 0fc0e6a5 */ jal func0f039a94 /* f196694: 8c440004 */ lw $a0,0x4($v0) /* f196698: 54400008 */ bnezl $v0,.L0f1966bc /* f19669c: 24190029 */ addiu $t9,$zero,0x29 -/* f1966a0: 0fc0a221 */ jal func0f028884 +/* f1966a0: 0fc0a221 */ jal chrGetTargetSomething /* f1966a4: 02802025 */ or $a0,$s4,$zero /* f1966a8: 02802025 */ or $a0,$s4,$zero /* f1966ac: 0fc64b70 */ jal func0f192dc0 @@ -351102,7 +351102,7 @@ glabel func0f194b40 /* f196768: 8e490128 */ lw $t1,0x128($s2) /* f19676c: 11200031 */ beqz $t1,.L0f196834 /* f196770: 00000000 */ sll $zero,$zero,0x0 -/* f196774: 0fc0a221 */ jal func0f028884 +/* f196774: 0fc0a221 */ jal chrGetTargetSomething /* f196778: 02802025 */ or $a0,$s4,$zero /* f19677c: 02802025 */ or $a0,$s4,$zero /* f196780: 0fc64b70 */ jal func0f192dc0 @@ -351144,7 +351144,7 @@ glabel func0f194b40 /* f196808: 02802025 */ or $a0,$s4,$zero /* f19680c: 45000009 */ bc1f .L0f196834 /* f196810: 00000000 */ sll $zero,$zero,0x0 -/* f196814: 0fc0a221 */ jal func0f028884 +/* f196814: 0fc0a221 */ jal chrGetTargetSomething /* f196818: a28e02a0 */ sb $t6,0x2a0($s4) /* f19681c: 0fc633fe */ jal func0f18cff8 /* f196820: 8c440004 */ lw $a0,0x4($v0) @@ -351238,7 +351238,7 @@ glabel func0f194b40 /* f196960: 8e580128 */ lw $t8,0x128($s2) /* f196964: 53000012 */ beqzl $t8,.L0f1969b0 /* f196968: 8e4900dc */ lw $t1,0xdc($s2) -/* f19696c: 0fc0a221 */ jal func0f028884 +/* f19696c: 0fc0a221 */ jal chrGetTargetSomething /* f196970: 02802025 */ or $a0,$s4,$zero /* f196974: 02802025 */ or $a0,$s4,$zero /* f196978: 0fc64b70 */ jal func0f192dc0 @@ -351246,7 +351246,7 @@ glabel func0f194b40 /* f196980: 1040000a */ beqz $v0,.L0f1969ac /* f196984: 240f002f */ addiu $t7,$zero,0x2f /* f196988: a28f02a0 */ sb $t7,0x2a0($s4) -/* f19698c: 0fc0a221 */ jal func0f028884 +/* f19698c: 0fc0a221 */ jal chrGetTargetSomething /* f196990: 02802025 */ or $a0,$s4,$zero /* f196994: 0fc633fe */ jal func0f18cff8 /* f196998: 8c440004 */ lw $a0,0x4($v0) @@ -351413,7 +351413,7 @@ glabel func0f194b40 /* f196bd4: 868d017e */ lh $t5,0x17e($s4) /* f196bd8: 13cd0021 */ beq $s8,$t5,.L0f196c60 /* f196bdc: 00000000 */ sll $zero,$zero,0x0 -/* f196be0: 0fc0a221 */ jal func0f028884 +/* f196be0: 0fc0a221 */ jal chrGetTargetSomething /* f196be4: 02802025 */ or $a0,$s4,$zero /* f196be8: 8e83001c */ lw $v1,0x1c($s4) /* f196bec: 00408025 */ or $s0,$v0,$zero @@ -351904,7 +351904,7 @@ glabel func0f194b40 /* f1972f8: 10400021 */ beqz $v0,.L0f197380 /* f1972fc: 00000000 */ sll $zero,$zero,0x0 .L0f197300: -/* f197300: 0fc0a221 */ jal func0f028884 +/* f197300: 0fc0a221 */ jal chrGetTargetSomething /* f197304: 02802025 */ or $a0,$s4,$zero /* f197308: 0fc0e6a5 */ jal func0f039a94 /* f19730c: 8c440004 */ lw $a0,0x4($v0) @@ -352180,7 +352180,7 @@ glabel func0f197600 /* f1976dc: afa60060 */ sw $a2,0x60($sp) /* f1976e0: afa7004c */ sw $a3,0x4c($sp) /* f1976e4: afa80054 */ sw $t0,0x54($sp) -/* f1976e8: 0fc0a221 */ jal func0f028884 +/* f1976e8: 0fc0a221 */ jal chrGetTargetSomething /* f1976ec: afa90048 */ sw $t1,0x48($sp) /* f1976f0: 8fa7004c */ lw $a3,0x4c($sp) /* f1976f4: c4460008 */ lwc1 $f6,0x8($v0) @@ -352239,7 +352239,7 @@ glabel func0f197600 /* f1977c0: 11810008 */ beq $t4,$at,.L0f1977e4 /* f1977c4: 00000000 */ sll $zero,$zero,0x0 /* f1977c8: afa60060 */ sw $a2,0x60($sp) -/* f1977cc: 0fc0a221 */ jal func0f028884 +/* f1977cc: 0fc0a221 */ jal chrGetTargetSomething /* f1977d0: afa80054 */ sw $t0,0x54($sp) /* f1977d4: 8fa80054 */ lw $t0,0x54($sp) /* f1977d8: 8fa60060 */ lw $a2,0x60($sp) @@ -353468,7 +353468,7 @@ glabel func0f198338 /* f198858: 11810014 */ beq $t4,$at,.L0f1988ac /* f19885c: 00000000 */ sll $zero,$zero,0x0 /* f198860: afa8004c */ sw $t0,0x4c($sp) -/* f198864: 0fc0a221 */ jal func0f028884 +/* f198864: 0fc0a221 */ jal chrGetTargetSomething /* f198868: afaa0048 */ sw $t2,0x48($sp) /* f19886c: 0fc633fe */ jal func0f18cff8 /* f198870: 8c440004 */ lw $a0,0x4($v0) @@ -353509,7 +353509,7 @@ glabel func0f198338 /* f1988f0: 53210016 */ beql $t9,$at,.L0f19894c /* f1988f4: 2508fff1 */ addiu $t0,$t0,-15 /* f1988f8: afa8004c */ sw $t0,0x4c($sp) -/* f1988fc: 0fc0a221 */ jal func0f028884 +/* f1988fc: 0fc0a221 */ jal chrGetTargetSomething /* f198900: afaa0048 */ sw $t2,0x48($sp) /* f198904: 0fc633fe */ jal func0f18cff8 /* f198908: 8c440004 */ lw $a0,0x4($v0) @@ -353566,7 +353566,7 @@ glabel func0f198338 /* f1989c4: 2401ffff */ addiu $at,$zero,-1 /* f1989c8: 51e1000c */ beql $t7,$at,.L0f1989fc /* f1989cc: 24080031 */ addiu $t0,$zero,0x31 -/* f1989d0: 0fc0a221 */ jal func0f028884 +/* f1989d0: 0fc0a221 */ jal chrGetTargetSomething /* f1989d4: 03202025 */ or $a0,$t9,$zero /* f1989d8: 8c4b0004 */ lw $t3,0x4($v0) /* f1989dc: 00004025 */ or $t0,$zero,$zero @@ -353591,7 +353591,7 @@ glabel func0f198338 /* f198a20: 13010008 */ beq $t8,$at,.L0f198a44 /* f198a24: 01c02025 */ or $a0,$t6,$zero /* f198a28: afa8004c */ sw $t0,0x4c($sp) -/* f198a2c: 0fc0a221 */ jal func0f028884 +/* f198a2c: 0fc0a221 */ jal chrGetTargetSomething /* f198a30: afaa0048 */ sw $t2,0x48($sp) /* f198a34: 8c4f0004 */ lw $t7,0x4($v0) /* f198a38: 8fa8004c */ lw $t0,0x4c($sp) @@ -354257,7 +354257,7 @@ glabel func0f198eec /* f199378: 2401ffff */ addiu $at,$zero,-1 /* f19937c: 51a10022 */ beql $t5,$at,.L0f199408 /* f199380: 8fa40090 */ lw $a0,0x90($sp) -/* f199384: 0fc0a221 */ jal func0f028884 +/* f199384: 0fc0a221 */ jal chrGetTargetSomething /* f199388: 01802025 */ or $a0,$t4,$zero /* f19938c: 0fc633fe */ jal func0f18cff8 /* f199390: 8c440004 */ lw $a0,0x4($v0) @@ -354272,7 +354272,7 @@ glabel func0f198eec /* f1993b4: 00000000 */ sll $zero,$zero,0x0 /* f1993b8: 45020013 */ bc1fl .L0f199408 /* f1993bc: 8fa40090 */ lw $a0,0x90($sp) -/* f1993c0: 0fc0a221 */ jal func0f028884 +/* f1993c0: 0fc0a221 */ jal chrGetTargetSomething /* f1993c4: 01c02025 */ or $a0,$t6,$zero /* f1993c8: 0fc633fe */ jal func0f18cff8 /* f1993cc: 8c440004 */ lw $a0,0x4($v0) @@ -355451,7 +355451,7 @@ glabel func0f19a37c /* f19a3c0: 8d4a84a0 */ lw $t2,-0x7b60($t2) /* f19a3c4: e7a00050 */ swc1 $f0,0x50($sp) /* f19a3c8: 02002025 */ or $a0,$s0,$zero -/* f19a3cc: 0fc0a221 */ jal func0f028884 +/* f19a3cc: 0fc0a221 */ jal chrGetTargetSomething /* f19a3d0: afaa0048 */ sw $t2,0x48($sp) /* f19a3d4: 8e0b02d4 */ lw $t3,0x2d4($s0) /* f19a3d8: 02002025 */ or $a0,$s0,$zero @@ -355844,7 +355844,7 @@ glabel func0f19a850 /* f19a964: 316c0080 */ andi $t4,$t3,0x80 /* f19a968: 51800040 */ beqzl $t4,.L0f19aa6c /* f19a96c: 8fbf004c */ lw $ra,0x4c($sp) -/* f19a970: 0fc0a221 */ jal func0f028884 +/* f19a970: 0fc0a221 */ jal chrGetTargetSomething /* f19a974: 02202025 */ or $a0,$s1,$zero /* f19a978: 3c01bf80 */ lui $at,0xbf80 /* f19a97c: 44810000 */ mtc1 $at,$f0 diff --git a/src/include/game/game_000000.h b/src/include/game/game_000000.h index 4b68b2343..91ffd0a94 100644 --- a/src/include/game/game_000000.h +++ b/src/include/game/game_000000.h @@ -5,6 +5,7 @@ struct chrdata *chrFindByLiteralId(u8 chrnum); struct chrdata *chrFindById(struct chrdata *data, u32 chrnum); +struct targetsomething *chrGetTargetSomething(struct chrdata *chr); float chrGetTimer(struct chrdata *chr); diff --git a/src/include/game/game_0601b0.h b/src/include/game/game_0601b0.h index 95fbf46c8..6640491c6 100644 --- a/src/include/game/game_0601b0.h +++ b/src/include/game/game_0601b0.h @@ -301,6 +301,7 @@ u32 func0f065880(void); u32 func0f065d1c(void); u32 func0f065f80(void); u32 func0f066290(void); +struct targetsomething *objGetTargetSomething(struct defaultobj *obj); u32 func0f095bf4(void); u32 func0f095d64(void); u32 func0f096700(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 8bc61183c..43dfa53d1 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -220,42 +220,26 @@ struct g_vars { /*00032c*/ u32 unk00032c; /*000330*/ u32 unk000330; /*000334*/ u32 unk000334; - /*000338*/ u32 unk000338; // array of something related to chr targets, each 0x48 long - /*00033c*/ u32 unk00033c; - /*000340*/ u32 unk000340; - /*000344*/ u32 unk000344; - /*000348*/ u32 unk000348; - /*00034c*/ u32 unk00034c; - /*000350*/ u32 unk000350; - /*000354*/ u32 unk000354; - /*000358*/ u32 unk000358; - /*00035c*/ u32 unk00035c; - /*000360*/ u32 unk000360; - /*000364*/ u32 unk000364; - /*000368*/ u32 unk000368; - /*00036c*/ u32 unk00036c; - /*000370*/ u32 unk000370; - /*000374*/ u32 unk000374; - /*000378*/ u32 unk000378; - /*00037c*/ u32 unk00037c; - /*000380*/ u32 unk000380; - /*000384*/ u32 unk000384; - /*000388*/ u32 unk000388; - /*00038c*/ u32 unk00038c; - /*000390*/ u32 unk000390; - /*000394*/ u32 unk000394; - /*000398*/ u32 unk000398; - /*00039c*/ u32 unk00039c; - /*0003a0*/ u32 unk0003a0; - /*0003a4*/ u32 unk0003a4; - /*0003a8*/ u32 unk0003a8; - /*0003ac*/ u32 unk0003ac; - /*0003b0*/ u32 unk0003b0; - /*0003b4*/ u32 unk0003b4; - /*0003b8*/ u32 unk0003b8; - /*0003bc*/ u32 unk0003bc; - /*0003c0*/ u32 unk0003c0; - /*0003c4*/ u32 unk0003c4; + /*000338*/ struct targetsomething targets[2]; // array length unknown + ///*000338*/ struct targetsomething *targets[24]; // array length unknown + ///*000380*/ u32 unk000380; + ///*000384*/ u32 unk000384; + ///*000388*/ u32 unk000388; + ///*00038c*/ u32 unk00038c; + ///*000390*/ u32 unk000390; + ///*000394*/ u32 unk000394; + ///*000398*/ u32 unk000398; + ///*00039c*/ u32 unk00039c; + ///*0003a0*/ u32 unk0003a0; + ///*0003a4*/ u32 unk0003a4; + ///*0003a8*/ u32 unk0003a8; + ///*0003ac*/ u32 unk0003ac; + ///*0003b0*/ u32 unk0003b0; + ///*0003b4*/ u32 unk0003b4; + ///*0003b8*/ u32 unk0003b8; + ///*0003bc*/ u32 unk0003bc; + ///*0003c0*/ u32 unk0003c0; + ///*0003c4*/ u32 unk0003c4; /*0003c8*/ u32 unk0003c8; /*0003cc*/ u32 unk0003cc; /*0003d0*/ u32 unk0003d0; diff --git a/src/include/types.h b/src/include/types.h index d3b69cde1..2f4642fab 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -472,9 +472,25 @@ struct otheraidata { /*0x90*/ s16 unk90; }; -struct playerbc { - u32 unk00; - struct chrdata *chr; +struct targetsomething { + /*0x00*/ u8 unk00; + /*0x04*/ struct chrdata *chr; + /*0x08*/ u32 unk08; + /*0x0c*/ u32 unk0c; + /*0x10*/ u32 unk10; + /*0x14*/ u32 unk14; + /*0x18*/ u32 unk18; + /*0x1c*/ u32 unk1c; + /*0x20*/ u32 unk20; + /*0x24*/ u32 unk24; + /*0x28*/ u32 unk28; + /*0x2c*/ u32 unk2c; + /*0x30*/ u32 unk30; + /*0x34*/ u32 unk34; + /*0x38*/ u32 unk38; + /*0x3c*/ u32 unk3c; + /*0x40*/ u32 unk40; + /*0x44*/ u32 unk44; }; struct player { @@ -525,7 +541,7 @@ struct player { /*0xb0*/ u32 unkb0; /*0xb4*/ u32 unkb4; /*0xb8*/ u32 unkb8; - /*0xbc*/ struct playerbc *unkbc; + /*0xbc*/ struct targetsomething *targetsomething; /*0xc0*/ u32 unkc0; /*0xc4*/ u32 unkc4; /*0xc8*/ u32 unkc8; @@ -535,27 +551,6 @@ struct player { /*0xd8*/ u32 unkd8; }; -struct targetsomething { - /*0x00*/ u8 unk00; - /*0x04*/ struct chrdata *chr; - /*0x08*/ u32 unk08; - /*0x0c*/ u32 unk0c; - /*0x10*/ u32 unk10; - /*0x14*/ u32 unk14; - /*0x18*/ u32 unk18; - /*0x1c*/ u32 unk1c; - /*0x20*/ u32 unk20; - /*0x24*/ u32 unk24; - /*0x28*/ u32 unk28; - /*0x2c*/ u32 unk2c; - /*0x30*/ u32 unk30; - /*0x34*/ u32 unk34; - /*0x38*/ u32 unk38; - /*0x3c*/ u32 unk3c; - /*0x40*/ u32 unk40; - /*0x44*/ u32 unk44; -}; - struct ailists { u8 *list; u32 id;