From 620ffaf6a20c43beb8f03f0f9f0d0ee3e7338160 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 19 Jun 2022 10:59:03 +1000 Subject: [PATCH] Decompile frExecuteTargetScript --- src/game/training.c | 1148 +++---------------------------------------- 1 file changed, 80 insertions(+), 1068 deletions(-) diff --git a/src/game/training.c b/src/game/training.c index 5affc0aa0..7367c8f62 100644 --- a/src/game/training.c +++ b/src/game/training.c @@ -854,1076 +854,88 @@ void frExecuteHelpScript(void) } } -#if VERSION == VERSION_PAL_FINAL -GLOBAL_ASM( -glabel frExecuteTargetScript -.late_rodata -glabel var7f1baa50pf -.word 0x7f19f23c -glabel var7f1baa54pf -.word 0x7f19f3f0 -glabel var7f1baa58pf -.word 0x7f19f3fc -glabel var7f1baa5cpf -.word 0x7f19f434 -glabel var7f1baa60pf -.word 0x7f19f4e0 -glabel var7f1baa64pf -.word 0x7f19f4e0 -glabel var7f1baa68pf -.word 0x7f19f4e0 -glabel var7f1baa6cpf -.word 0x7f19f220 -glabel var7f1b9410 -.word 0xbfc90fdb -glabel var7f1b9414 -.word 0xc0490fdb -glabel var7f1b9418 -.word 0x3fc90fdb -glabel var7f1b941c -.word 0x40490fdb -.text -/* f19f198: 00047900 */ sll $t7,$a0,0x4 -/* f19f19c: 01e47823 */ subu $t7,$t7,$a0 -/* f19f1a0: 3c18800b */ lui $t8,0x800b -/* f19f1a4: 2718d2c0 */ addiu $t8,$t8,-11584 -/* f19f1a8: 000f7880 */ sll $t7,$t7,0x2 -/* f19f1ac: 01f81821 */ addu $v1,$t7,$t8 -/* f19f1b0: 8c670010 */ lw $a3,0x10($v1) -/* f19f1b4: 27bdff30 */ addiu $sp,$sp,-208 -/* f19f1b8: afbf0044 */ sw $ra,0x44($sp) -/* f19f1bc: 0007cfc2 */ srl $t9,$a3,0x1f -/* f19f1c0: 132000c7 */ beqz $t9,.PF0f19f4e0 -/* f19f1c4: afa400d0 */ sw $a0,0xd0($sp) -/* f19f1c8: 90620012 */ lbu $v0,0x12($v1) -/* f19f1cc: 3c0a8009 */ lui $t2,0x8009 -/* f19f1d0: 8d4a8d50 */ lw $t2,-0x72b0($t2) -/* f19f1d4: 24420022 */ addiu $v0,$v0,0x22 -/* f19f1d8: 00025840 */ sll $t3,$v0,0x1 -/* f19f1dc: 3c0e8009 */ lui $t6,0x8009 -/* f19f1e0: 014b6021 */ addu $t4,$t2,$t3 -/* f19f1e4: 958d0000 */ lhu $t5,0x0($t4) -/* f19f1e8: 8dce8d60 */ lw $t6,-0x72a0($t6) -/* f19f1ec: 90660031 */ lbu $a2,0x31($v1) -/* f19f1f0: 01ae2021 */ addu $a0,$t5,$t6 -/* f19f1f4: 00864021 */ addu $t0,$a0,$a2 -/* f19f1f8: 910f0000 */ lbu $t7,0x0($t0) -/* f19f1fc: 25f8fff4 */ addiu $t8,$t7,-12 -/* f19f200: 2f010008 */ sltiu $at,$t8,0x8 -/* f19f204: 102000b6 */ beqz $at,.PF0f19f4e0 -/* f19f208: 0018c080 */ sll $t8,$t8,0x2 -/* f19f20c: 3c017f1c */ lui $at,0x7f1c -/* f19f210: 00380821 */ addu $at,$at,$t8 -/* f19f214: 8c38aa50 */ lw $t8,-0x55b0($at) -/* f19f218: 03000008 */ jr $t8 -/* f19f21c: 00000000 */ nop -/* f19f220: 906a0010 */ lbu $t2,0x10($v1) -/* f19f224: 240c3bc4 */ li $t4,0x3bc4 -/* f19f228: ac6c0024 */ sw $t4,0x24($v1) -/* f19f22c: 354b0010 */ ori $t3,$t2,0x10 -/* f19f230: a06b0010 */ sb $t3,0x10($v1) -/* f19f234: 100000ab */ b .PF0f19f4e4 -/* f19f238: 24020001 */ li $v0,0x1 -/* f19f23c: 91040001 */ lbu $a0,0x1($t0) -/* f19f240: afa8004c */ sw $t0,0x4c($sp) -/* f19f244: 0fc67a36 */ jal frResolveFrPad -/* f19f248: afa30058 */ sw $v1,0x58($sp) -/* f19f24c: 8fa30058 */ lw $v1,0x58($sp) -/* f19f250: 00403825 */ move $a3,$v0 -/* f19f254: 0007c040 */ sll $t8,$a3,0x1 -/* f19f258: 806d0044 */ lb $t5,0x44($v1) -/* f19f25c: 3c048009 */ lui $a0,0x8009 -/* f19f260: 8fa8004c */ lw $t0,0x4c($sp) -/* f19f264: 144d0006 */ bne $v0,$t5,.PF0f19f280 -/* f19f268: 00982021 */ addu $a0,$a0,$t8 -/* f19f26c: 906e0031 */ lbu $t6,0x31($v1) -/* f19f270: 00001025 */ move $v0,$zero -/* f19f274: 25cf0004 */ addiu $t7,$t6,0x4 -/* f19f278: 1000009a */ b .PF0f19f4e4 -/* f19f27c: a06f0031 */ sb $t7,0x31($v1) -.PF0f19f280: -/* f19f280: a0670044 */ sb $a3,0x44($v1) -/* f19f284: 94848d64 */ lhu $a0,-0x729c($a0) -/* f19f288: 24050002 */ li $a1,0x2 -/* f19f28c: 27a60070 */ addiu $a2,$sp,0x70 -/* f19f290: afa30058 */ sw $v1,0x58($sp) -/* f19f294: 0fc45964 */ jal padUnpack -/* f19f298: afa8004c */ sw $t0,0x4c($sp) -/* f19f29c: 8fb900d0 */ lw $t9,0xd0($sp) -/* f19f2a0: 3c0140c0 */ lui $at,0x40c0 -/* f19f2a4: 44814000 */ mtc1 $at,$f8 -/* f19f2a8: 44995000 */ mtc1 $t9,$f10 -/* f19f2ac: 8fa30058 */ lw $v1,0x58($sp) -/* f19f2b0: c7a40070 */ lwc1 $f4,0x70($sp) -/* f19f2b4: 46805420 */ cvt.s.w $f16,$f10 -/* f19f2b8: c7a60074 */ lwc1 $f6,0x74($sp) -/* f19f2bc: e4640018 */ swc1 $f4,0x18($v1) -/* f19f2c0: c7a40078 */ lwc1 $f4,0x78($sp) -/* f19f2c4: e466001c */ swc1 $f6,0x1c($v1) -/* f19f2c8: 8fa8004c */ lw $t0,0x4c($sp) -/* f19f2cc: 46104482 */ mul.s $f18,$f8,$f16 -/* f19f2d0: 240100ff */ li $at,0xff -/* f19f2d4: 3c098009 */ lui $t1,0x8009 -/* f19f2d8: 25298d5c */ addiu $t1,$t1,-29348 -/* f19f2dc: 240a0001 */ li $t2,0x1 -/* f19f2e0: 46122180 */ add.s $f6,$f4,$f18 -/* f19f2e4: e4660020 */ swc1 $f6,0x20($v1) -/* f19f2e8: 91040002 */ lbu $a0,0x2($t0) -/* f19f2ec: 14810005 */ bne $a0,$at,.PF0f19f304 -/* f19f2f0: 3c01bf80 */ lui $at,0xbf80 -/* f19f2f4: 44810000 */ mtc1 $at,$f0 -/* f19f2f8: a06a0043 */ sb $t2,0x43($v1) -/* f19f2fc: 1000002f */ b .PF0f19f3bc -/* f19f300: e460002c */ swc1 $f0,0x2c($v1) -.PF0f19f304: -/* f19f304: 91220000 */ lbu $v0,0x0($t1) -/* f19f308: 240605d9 */ li $a2,0x5d9 -/* f19f30c: 2407ffff */ li $a3,-1 -/* f19f310: 28410003 */ slti $at,$v0,0x3 -/* f19f314: 10200019 */ beqz $at,.PF0f19f37c -/* f19f318: 244b0001 */ addiu $t3,$v0,0x1 -/* f19f31c: 3c01bf80 */ lui $at,0xbf80 -/* f19f320: 44810000 */ mtc1 $at,$f0 -/* f19f324: 240cffff */ li $t4,-1 -/* f19f328: 240dffff */ li $t5,-1 -/* f19f32c: a12b0000 */ sb $t3,0x0($t1) -/* f19f330: afad002c */ sw $t5,0x2c($sp) -/* f19f334: afac0010 */ sw $t4,0x10($sp) -/* f19f338: 00002025 */ move $a0,$zero -/* f19f33c: 8c650014 */ lw $a1,0x14($v1) -/* f19f340: afa00014 */ sw $zero,0x14($sp) -/* f19f344: afa00018 */ sw $zero,0x18($sp) -/* f19f348: afa0001c */ sw $zero,0x1c($sp) -/* f19f34c: afa00020 */ sw $zero,0x20($sp) -/* f19f350: afa00028 */ sw $zero,0x28($sp) -/* f19f354: afa30058 */ sw $v1,0x58($sp) -/* f19f358: afa8004c */ sw $t0,0x4c($sp) -/* f19f35c: e7a00024 */ swc1 $f0,0x24($sp) -/* f19f360: e7a00030 */ swc1 $f0,0x30($sp) -/* f19f364: e7a00034 */ swc1 $f0,0x34($sp) -/* f19f368: 0fc24e3a */ jal propsnd0f0939f8 -/* f19f36c: e7a00038 */ swc1 $f0,0x38($sp) -/* f19f370: 8fa8004c */ lw $t0,0x4c($sp) -/* f19f374: 8fa30058 */ lw $v1,0x58($sp) -/* f19f378: 91040002 */ lbu $a0,0x2($t0) -.PF0f19f37c: -/* f19f37c: 44845000 */ mtc1 $a0,$f10 -/* f19f380: 3c014f80 */ lui $at,0x4f80 -/* f19f384: 04810004 */ bgez $a0,.PF0f19f398 -/* f19f388: 46805220 */ cvt.s.w $f8,$f10 -/* f19f38c: 44818000 */ mtc1 $at,$f16 -/* f19f390: 00000000 */ nop -/* f19f394: 46104200 */ add.s $f8,$f8,$f16 -.PF0f19f398: -/* f19f398: 3c014270 */ lui $at,0x4270 -/* f19f39c: 44812000 */ mtc1 $at,$f4 -/* f19f3a0: 3c01800b */ lui $at,0x800b -/* f19f3a4: c426d2cc */ lwc1 $f6,-0x2d34($at) -/* f19f3a8: 46044483 */ div.s $f18,$f8,$f4 -/* f19f3ac: 240e0001 */ li $t6,0x1 -/* f19f3b0: a06e0043 */ sb $t6,0x43($v1) -/* f19f3b4: 46069282 */ mul.s $f10,$f18,$f6 -/* f19f3b8: e46a002c */ swc1 $f10,0x2c($v1) -.PF0f19f3bc: -/* f19f3bc: 910f0003 */ lbu $t7,0x3($t0) -/* f19f3c0: 90790031 */ lbu $t9,0x31($v1) -/* f19f3c4: a0600042 */ sb $zero,0x42($v1) -/* f19f3c8: 000fc080 */ sll $t8,$t7,0x2 -/* f19f3cc: 030fc023 */ subu $t8,$t8,$t7 -/* f19f3d0: 0018c0c0 */ sll $t8,$t8,0x3 -/* f19f3d4: 030fc021 */ addu $t8,$t8,$t7 -/* f19f3d8: 0018c040 */ sll $t8,$t8,0x1 -/* f19f3dc: 272a0004 */ addiu $t2,$t9,0x4 -/* f19f3e0: ac780024 */ sw $t8,0x24($v1) -/* f19f3e4: a06a0031 */ sb $t2,0x31($v1) -/* f19f3e8: 1000003e */ b .PF0f19f4e4 -/* f19f3ec: 24020001 */ li $v0,0x1 -/* f19f3f0: a0600031 */ sb $zero,0x31($v1) -/* f19f3f4: 1000003b */ b .PF0f19f4e4 -/* f19f3f8: 24020001 */ li $v0,0x1 -/* f19f3fc: 906c0010 */ lbu $t4,0x10($v1) -/* f19f400: 24d80002 */ addiu $t8,$a2,0x2 -/* f19f404: 24020001 */ li $v0,0x1 -/* f19f408: 358d0010 */ ori $t5,$t4,0x10 -/* f19f40c: a06d0010 */ sb $t5,0x10($v1) -/* f19f410: 910e0001 */ lbu $t6,0x1($t0) -/* f19f414: a0780031 */ sb $t8,0x31($v1) -/* f19f418: 000e7880 */ sll $t7,$t6,0x2 -/* f19f41c: 01ee7823 */ subu $t7,$t7,$t6 -/* f19f420: 000f78c0 */ sll $t7,$t7,0x3 -/* f19f424: 01ee7821 */ addu $t7,$t7,$t6 -/* f19f428: 000f7840 */ sll $t7,$t7,0x1 -/* f19f42c: 1000002d */ b .PF0f19f4e4 -/* f19f430: ac6f0024 */ sw $t7,0x24($v1) -/* f19f434: 00075140 */ sll $t2,$a3,0x5 -/* f19f438: 05400025 */ bltz $t2,.PF0f19f4d0 -/* f19f43c: 3c017f1c */ lui $at,0x7f1c -/* f19f440: c430aa70 */ lwc1 $f16,-0x5590($at) -/* f19f444: 3c017f1c */ lui $at,0x7f1c -/* f19f448: c428aa74 */ lwc1 $f8,-0x558c($at) -/* f19f44c: 3c017f1c */ lui $at,0x7f1c -/* f19f450: c424aa78 */ lwc1 $f4,-0x5588($at) -/* f19f454: 3c017f1c */ lui $at,0x7f1c -/* f19f458: c432aa7c */ lwc1 $f18,-0x5584($at) -/* f19f45c: e7b0005c */ swc1 $f16,0x5c($sp) -/* f19f460: e7a80060 */ swc1 $f8,0x60($sp) -/* f19f464: e7a40064 */ swc1 $f4,0x64($sp) -/* f19f468: e7b20068 */ swc1 $f18,0x68($sp) -/* f19f46c: 910b0001 */ lbu $t3,0x1($t0) -/* f19f470: 27a2005c */ addiu $v0,$sp,0x5c -/* f19f474: c46a0038 */ lwc1 $f10,0x38($v1) -/* f19f478: 000b6080 */ sll $t4,$t3,0x2 -/* f19f47c: 004c6821 */ addu $t5,$v0,$t4 -/* f19f480: c5a60000 */ lwc1 $f6,0x0($t5) -/* f19f484: 906c0010 */ lbu $t4,0x10($v1) -/* f19f488: 90660031 */ lbu $a2,0x31($v1) -/* f19f48c: 460a3400 */ add.s $f16,$f6,$f10 -/* f19f490: e470003c */ swc1 $f16,0x3c($v1) -/* f19f494: 91190002 */ lbu $t9,0x2($t0) -/* f19f498: 910e0001 */ lbu $t6,0x1($t0) -/* f19f49c: 00195100 */ sll $t2,$t9,0x4 -/* f19f4a0: 01595023 */ subu $t2,$t2,$t9 -/* f19f4a4: 448a2000 */ mtc1 $t2,$f4 -/* f19f4a8: 000e7880 */ sll $t7,$t6,0x2 -/* f19f4ac: 004fc021 */ addu $t8,$v0,$t7 -/* f19f4b0: 468024a0 */ cvt.s.w $f18,$f4 -/* f19f4b4: c7080000 */ lwc1 $f8,0x0($t8) -/* f19f4b8: 358e0008 */ ori $t6,$t4,0x8 -/* f19f4bc: a06e0010 */ sb $t6,0x10($v1) -/* f19f4c0: 31cf00ef */ andi $t7,$t6,0xef -/* f19f4c4: a06f0010 */ sb $t7,0x10($v1) -/* f19f4c8: 46124183 */ div.s $f6,$f8,$f18 -/* f19f4cc: e4660034 */ swc1 $f6,0x34($v1) -.PF0f19f4d0: -/* f19f4d0: 24d80003 */ addiu $t8,$a2,0x3 -/* f19f4d4: a0780031 */ sb $t8,0x31($v1) -/* f19f4d8: 10000002 */ b .PF0f19f4e4 -/* f19f4dc: 24020001 */ li $v0,0x1 -.PF0f19f4e0: -/* f19f4e0: 24020001 */ li $v0,0x1 -.PF0f19f4e4: -/* f19f4e4: 8fbf0044 */ lw $ra,0x44($sp) -/* f19f4e8: 27bd00d0 */ addiu $sp,$sp,0xd0 -/* f19f4ec: 03e00008 */ jr $ra -/* f19f4f0: 00000000 */ nop -); -#elif VERSION == VERSION_PAL_BETA -GLOBAL_ASM( -glabel frExecuteTargetScript -.late_rodata -glabel var7f1baa50pf -.word 0x7f19fddc -.word 0x7f19ff90 -.word 0x7f19ff9c -.word 0x7f19ffd4 -.word 0x7f1a0080 -.word 0x7f1a0080 -.word 0x7f1a0080 -.word 0x7f19fdc0 -.word 0xbfc90fdb -.word 0xc0490fdb -.word 0x3fc90fdb -.word 0x40490fdb -.text -/* f19fd38: 00047900 */ sll $t7,$a0,0x4 -/* f19fd3c: 01e47823 */ subu $t7,$t7,$a0 -/* f19fd40: 3c18800b */ lui $t8,0x800b -/* f19fd44: 27181340 */ addiu $t8,$t8,0x1340 -/* f19fd48: 000f7880 */ sll $t7,$t7,0x2 -/* f19fd4c: 01f81821 */ addu $v1,$t7,$t8 -/* f19fd50: 8c670010 */ lw $a3,0x10($v1) -/* f19fd54: 27bdff30 */ addiu $sp,$sp,-208 -/* f19fd58: afbf0044 */ sw $ra,0x44($sp) -/* f19fd5c: 0007cfc2 */ srl $t9,$a3,0x1f -/* f19fd60: 132000c7 */ beqz $t9,.PB0f1a0080 -/* f19fd64: afa400d0 */ sw $a0,0xd0($sp) -/* f19fd68: 90620012 */ lbu $v0,0x12($v1) -/* f19fd6c: 3c0a8009 */ lui $t2,0x8009 -/* f19fd70: 8d4aace0 */ lw $t2,-0x5320($t2) -/* f19fd74: 24420022 */ addiu $v0,$v0,0x22 -/* f19fd78: 00025840 */ sll $t3,$v0,0x1 -/* f19fd7c: 3c0e8009 */ lui $t6,0x8009 -/* f19fd80: 014b6021 */ addu $t4,$t2,$t3 -/* f19fd84: 958d0000 */ lhu $t5,0x0($t4) -/* f19fd88: 8dceacf0 */ lw $t6,-0x5310($t6) -/* f19fd8c: 90660031 */ lbu $a2,0x31($v1) -/* f19fd90: 01ae2021 */ addu $a0,$t5,$t6 -/* f19fd94: 00864021 */ addu $t0,$a0,$a2 -/* f19fd98: 910f0000 */ lbu $t7,0x0($t0) -/* f19fd9c: 25f8fff4 */ addiu $t8,$t7,-12 -/* f19fda0: 2f010008 */ sltiu $at,$t8,0x8 -/* f19fda4: 102000b6 */ beqz $at,.PB0f1a0080 -/* f19fda8: 0018c080 */ sll $t8,$t8,0x2 -/* f19fdac: 3c017f1c */ lui $at,0x7f1c -/* f19fdb0: 00380821 */ addu $at,$at,$t8 -/* f19fdb4: 8c38b7d0 */ lw $t8,-0x4830($at) -/* f19fdb8: 03000008 */ jr $t8 -/* f19fdbc: 00000000 */ nop -/* f19fdc0: 906a0010 */ lbu $t2,0x10($v1) -/* f19fdc4: 240c3bc4 */ li $t4,0x3bc4 -/* f19fdc8: ac6c0024 */ sw $t4,0x24($v1) -/* f19fdcc: 354b0010 */ ori $t3,$t2,0x10 -/* f19fdd0: a06b0010 */ sb $t3,0x10($v1) -/* f19fdd4: 100000ab */ b .PB0f1a0084 -/* f19fdd8: 24020001 */ li $v0,0x1 -/* f19fddc: 91040001 */ lbu $a0,0x1($t0) -/* f19fde0: afa8004c */ sw $t0,0x4c($sp) -/* f19fde4: 0fc67d1e */ jal frResolveFrPad -/* f19fde8: afa30058 */ sw $v1,0x58($sp) -/* f19fdec: 8fa30058 */ lw $v1,0x58($sp) -/* f19fdf0: 00403825 */ move $a3,$v0 -/* f19fdf4: 0007c040 */ sll $t8,$a3,0x1 -/* f19fdf8: 806d0044 */ lb $t5,0x44($v1) -/* f19fdfc: 3c048009 */ lui $a0,0x8009 -/* f19fe00: 8fa8004c */ lw $t0,0x4c($sp) -/* f19fe04: 144d0006 */ bne $v0,$t5,.PB0f19fe20 -/* f19fe08: 00982021 */ addu $a0,$a0,$t8 -/* f19fe0c: 906e0031 */ lbu $t6,0x31($v1) -/* f19fe10: 00001025 */ move $v0,$zero -/* f19fe14: 25cf0004 */ addiu $t7,$t6,0x4 -/* f19fe18: 1000009a */ b .PB0f1a0084 -/* f19fe1c: a06f0031 */ sb $t7,0x31($v1) -.PB0f19fe20: -/* f19fe20: a0670044 */ sb $a3,0x44($v1) -/* f19fe24: 9484acf4 */ lhu $a0,-0x530c($a0) -/* f19fe28: 24050002 */ li $a1,0x2 -/* f19fe2c: 27a60070 */ addiu $a2,$sp,0x70 -/* f19fe30: afa30058 */ sw $v1,0x58($sp) -/* f19fe34: 0fc458d4 */ jal padUnpack -/* f19fe38: afa8004c */ sw $t0,0x4c($sp) -/* f19fe3c: 8fb900d0 */ lw $t9,0xd0($sp) -/* f19fe40: 3c0140c0 */ lui $at,0x40c0 -/* f19fe44: 44814000 */ mtc1 $at,$f8 -/* f19fe48: 44995000 */ mtc1 $t9,$f10 -/* f19fe4c: 8fa30058 */ lw $v1,0x58($sp) -/* f19fe50: c7a40070 */ lwc1 $f4,0x70($sp) -/* f19fe54: 46805420 */ cvt.s.w $f16,$f10 -/* f19fe58: c7a60074 */ lwc1 $f6,0x74($sp) -/* f19fe5c: e4640018 */ swc1 $f4,0x18($v1) -/* f19fe60: c7a40078 */ lwc1 $f4,0x78($sp) -/* f19fe64: e466001c */ swc1 $f6,0x1c($v1) -/* f19fe68: 8fa8004c */ lw $t0,0x4c($sp) -/* f19fe6c: 46104482 */ mul.s $f18,$f8,$f16 -/* f19fe70: 240100ff */ li $at,0xff -/* f19fe74: 3c098009 */ lui $t1,0x8009 -/* f19fe78: 2529acec */ addiu $t1,$t1,-21268 -/* f19fe7c: 240a0001 */ li $t2,0x1 -/* f19fe80: 46122180 */ add.s $f6,$f4,$f18 -/* f19fe84: e4660020 */ swc1 $f6,0x20($v1) -/* f19fe88: 91040002 */ lbu $a0,0x2($t0) -/* f19fe8c: 14810005 */ bne $a0,$at,.PB0f19fea4 -/* f19fe90: 3c01bf80 */ lui $at,0xbf80 -/* f19fe94: 44810000 */ mtc1 $at,$f0 -/* f19fe98: a06a0043 */ sb $t2,0x43($v1) -/* f19fe9c: 1000002f */ b .PB0f19ff5c -/* f19fea0: e460002c */ swc1 $f0,0x2c($v1) -.PB0f19fea4: -/* f19fea4: 91220000 */ lbu $v0,0x0($t1) -/* f19fea8: 240605d9 */ li $a2,0x5d9 -/* f19feac: 2407ffff */ li $a3,-1 -/* f19feb0: 28410003 */ slti $at,$v0,0x3 -/* f19feb4: 10200019 */ beqz $at,.PB0f19ff1c -/* f19feb8: 244b0001 */ addiu $t3,$v0,0x1 -/* f19febc: 3c01bf80 */ lui $at,0xbf80 -/* f19fec0: 44810000 */ mtc1 $at,$f0 -/* f19fec4: 240cffff */ li $t4,-1 -/* f19fec8: 240dffff */ li $t5,-1 -/* f19fecc: a12b0000 */ sb $t3,0x0($t1) -/* f19fed0: afad002c */ sw $t5,0x2c($sp) -/* f19fed4: afac0010 */ sw $t4,0x10($sp) -/* f19fed8: 00002025 */ move $a0,$zero -/* f19fedc: 8c650014 */ lw $a1,0x14($v1) -/* f19fee0: afa00014 */ sw $zero,0x14($sp) -/* f19fee4: afa00018 */ sw $zero,0x18($sp) -/* f19fee8: afa0001c */ sw $zero,0x1c($sp) -/* f19feec: afa00020 */ sw $zero,0x20($sp) -/* f19fef0: afa00028 */ sw $zero,0x28($sp) -/* f19fef4: afa30058 */ sw $v1,0x58($sp) -/* f19fef8: afa8004c */ sw $t0,0x4c($sp) -/* f19fefc: e7a00024 */ swc1 $f0,0x24($sp) -/* f19ff00: e7a00030 */ swc1 $f0,0x30($sp) -/* f19ff04: e7a00034 */ swc1 $f0,0x34($sp) -/* f19ff08: 0fc24e0e */ jal propsnd0f0939f8 -/* f19ff0c: e7a00038 */ swc1 $f0,0x38($sp) -/* f19ff10: 8fa8004c */ lw $t0,0x4c($sp) -/* f19ff14: 8fa30058 */ lw $v1,0x58($sp) -/* f19ff18: 91040002 */ lbu $a0,0x2($t0) -.PB0f19ff1c: -/* f19ff1c: 44845000 */ mtc1 $a0,$f10 -/* f19ff20: 3c014f80 */ lui $at,0x4f80 -/* f19ff24: 04810004 */ bgez $a0,.PB0f19ff38 -/* f19ff28: 46805220 */ cvt.s.w $f8,$f10 -/* f19ff2c: 44818000 */ mtc1 $at,$f16 -/* f19ff30: 00000000 */ nop -/* f19ff34: 46104200 */ add.s $f8,$f8,$f16 -.PB0f19ff38: -/* f19ff38: 3c014270 */ lui $at,0x4270 -/* f19ff3c: 44812000 */ mtc1 $at,$f4 -/* f19ff40: 3c01800b */ lui $at,0x800b -/* f19ff44: c426134c */ lwc1 $f6,0x134c($at) -/* f19ff48: 46044483 */ div.s $f18,$f8,$f4 -/* f19ff4c: 240e0001 */ li $t6,0x1 -/* f19ff50: a06e0043 */ sb $t6,0x43($v1) -/* f19ff54: 46069282 */ mul.s $f10,$f18,$f6 -/* f19ff58: e46a002c */ swc1 $f10,0x2c($v1) -.PB0f19ff5c: -/* f19ff5c: 910f0003 */ lbu $t7,0x3($t0) -/* f19ff60: 90790031 */ lbu $t9,0x31($v1) -/* f19ff64: a0600042 */ sb $zero,0x42($v1) -/* f19ff68: 000fc080 */ sll $t8,$t7,0x2 -/* f19ff6c: 030fc023 */ subu $t8,$t8,$t7 -/* f19ff70: 0018c0c0 */ sll $t8,$t8,0x3 -/* f19ff74: 030fc021 */ addu $t8,$t8,$t7 -/* f19ff78: 0018c040 */ sll $t8,$t8,0x1 -/* f19ff7c: 272a0004 */ addiu $t2,$t9,0x4 -/* f19ff80: ac780024 */ sw $t8,0x24($v1) -/* f19ff84: a06a0031 */ sb $t2,0x31($v1) -/* f19ff88: 1000003e */ b .PB0f1a0084 -/* f19ff8c: 24020001 */ li $v0,0x1 -/* f19ff90: a0600031 */ sb $zero,0x31($v1) -/* f19ff94: 1000003b */ b .PB0f1a0084 -/* f19ff98: 24020001 */ li $v0,0x1 -/* f19ff9c: 906c0010 */ lbu $t4,0x10($v1) -/* f19ffa0: 24d80002 */ addiu $t8,$a2,0x2 -/* f19ffa4: 24020001 */ li $v0,0x1 -/* f19ffa8: 358d0010 */ ori $t5,$t4,0x10 -/* f19ffac: a06d0010 */ sb $t5,0x10($v1) -/* f19ffb0: 910e0001 */ lbu $t6,0x1($t0) -/* f19ffb4: a0780031 */ sb $t8,0x31($v1) -/* f19ffb8: 000e7880 */ sll $t7,$t6,0x2 -/* f19ffbc: 01ee7823 */ subu $t7,$t7,$t6 -/* f19ffc0: 000f78c0 */ sll $t7,$t7,0x3 -/* f19ffc4: 01ee7821 */ addu $t7,$t7,$t6 -/* f19ffc8: 000f7840 */ sll $t7,$t7,0x1 -/* f19ffcc: 1000002d */ b .PB0f1a0084 -/* f19ffd0: ac6f0024 */ sw $t7,0x24($v1) -/* f19ffd4: 00075140 */ sll $t2,$a3,0x5 -/* f19ffd8: 05400025 */ bltz $t2,.PB0f1a0070 -/* f19ffdc: 3c017f1c */ lui $at,0x7f1c -/* f19ffe0: c430b7f0 */ lwc1 $f16,-0x4810($at) -/* f19ffe4: 3c017f1c */ lui $at,0x7f1c -/* f19ffe8: c428b7f4 */ lwc1 $f8,-0x480c($at) -/* f19ffec: 3c017f1c */ lui $at,0x7f1c -/* f19fff0: c424b7f8 */ lwc1 $f4,-0x4808($at) -/* f19fff4: 3c017f1c */ lui $at,0x7f1c -/* f19fff8: c432b7fc */ lwc1 $f18,-0x4804($at) -/* f19fffc: e7b0005c */ swc1 $f16,0x5c($sp) -/* f1a0000: e7a80060 */ swc1 $f8,0x60($sp) -/* f1a0004: e7a40064 */ swc1 $f4,0x64($sp) -/* f1a0008: e7b20068 */ swc1 $f18,0x68($sp) -/* f1a000c: 910b0001 */ lbu $t3,0x1($t0) -/* f1a0010: 27a2005c */ addiu $v0,$sp,0x5c -/* f1a0014: c46a0038 */ lwc1 $f10,0x38($v1) -/* f1a0018: 000b6080 */ sll $t4,$t3,0x2 -/* f1a001c: 004c6821 */ addu $t5,$v0,$t4 -/* f1a0020: c5a60000 */ lwc1 $f6,0x0($t5) -/* f1a0024: 906c0010 */ lbu $t4,0x10($v1) -/* f1a0028: 90660031 */ lbu $a2,0x31($v1) -/* f1a002c: 460a3400 */ add.s $f16,$f6,$f10 -/* f1a0030: e470003c */ swc1 $f16,0x3c($v1) -/* f1a0034: 91190002 */ lbu $t9,0x2($t0) -/* f1a0038: 910e0001 */ lbu $t6,0x1($t0) -/* f1a003c: 00195100 */ sll $t2,$t9,0x4 -/* f1a0040: 01595023 */ subu $t2,$t2,$t9 -/* f1a0044: 448a2000 */ mtc1 $t2,$f4 -/* f1a0048: 000e7880 */ sll $t7,$t6,0x2 -/* f1a004c: 004fc021 */ addu $t8,$v0,$t7 -/* f1a0050: 468024a0 */ cvt.s.w $f18,$f4 -/* f1a0054: c7080000 */ lwc1 $f8,0x0($t8) -/* f1a0058: 358e0008 */ ori $t6,$t4,0x8 -/* f1a005c: a06e0010 */ sb $t6,0x10($v1) -/* f1a0060: 31cf00ef */ andi $t7,$t6,0xef -/* f1a0064: a06f0010 */ sb $t7,0x10($v1) -/* f1a0068: 46124183 */ div.s $f6,$f8,$f18 -/* f1a006c: e4660034 */ swc1 $f6,0x34($v1) -.PB0f1a0070: -/* f1a0070: 24d80003 */ addiu $t8,$a2,0x3 -/* f1a0074: a0780031 */ sb $t8,0x31($v1) -/* f1a0078: 10000002 */ b .PB0f1a0084 -/* f1a007c: 24020001 */ li $v0,0x1 -.PB0f1a0080: -/* f1a0080: 24020001 */ li $v0,0x1 -.PB0f1a0084: -/* f1a0084: 8fbf0044 */ lw $ra,0x44($sp) -/* f1a0088: 27bd00d0 */ addiu $sp,$sp,0xd0 -/* f1a008c: 03e00008 */ jr $ra -/* f1a0090: 00000000 */ nop -); -#elif VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel frExecuteTargetScript -.late_rodata -glabel var7f1b93f0 -.word frExecuteTargetScript+0xa8 # f19e138 -glabel var7f1b93f4 -.word frExecuteTargetScript+0x254 # f19e2e4 -glabel var7f1b93f8 -.word frExecuteTargetScript+0x260 # f19e2f0 -glabel var7f1b93fc -.word frExecuteTargetScript+0x290 # f19e320 -glabel var7f1b9400 -.word frExecuteTargetScript+0x33c # f19e3cc -glabel var7f1b9404 -.word frExecuteTargetScript+0x33c # f19e3cc -glabel var7f1b9408 -.word frExecuteTargetScript+0x33c # f19e3cc -glabel var7f1b940c -.word frExecuteTargetScript+0x8c # f19e11c -glabel var7f1b9410 -.word 0xbfc90fdb -glabel var7f1b9414 -.word 0xc0490fdb -glabel var7f1b9418 -.word 0x3fc90fdb -glabel var7f1b941c -.word 0x40490fdb -.text -/* f19e090: 2409003c */ addiu $t1,$zero,0x3c -/* f19e094: 00890019 */ multu $a0,$t1 -/* f19e098: 3c18800b */ lui $t8,%hi(g_FrData) -/* f19e09c: 2718cd20 */ addiu $t8,$t8,%lo(g_FrData) -/* f19e0a0: 27bdff30 */ addiu $sp,$sp,-208 -/* f19e0a4: afbf0044 */ sw $ra,0x44($sp) -/* f19e0a8: afa400d0 */ sw $a0,0xd0($sp) -/* f19e0ac: 3c0a8009 */ lui $t2,%hi(g_FrScriptOffsets) -/* f19e0b0: 3c0e8009 */ lui $t6,%hi(g_FrRomData) -/* f19e0b4: 00007812 */ mflo $t7 -/* f19e0b8: 01f81821 */ addu $v1,$t7,$t8 -/* f19e0bc: 8c670010 */ lw $a3,0x10($v1) -/* f19e0c0: 0007cfc2 */ srl $t9,$a3,0x1f -/* f19e0c4: 532000c2 */ beqzl $t9,.L0f19e3d0 -/* f19e0c8: 24020001 */ addiu $v0,$zero,0x1 -/* f19e0cc: 90620012 */ lbu $v0,0x12($v1) -/* f19e0d0: 8d4a8800 */ lw $t2,%lo(g_FrScriptOffsets)($t2) -/* f19e0d4: 8dce8810 */ lw $t6,%lo(g_FrRomData)($t6) -/* f19e0d8: 24420022 */ addiu $v0,$v0,0x22 -/* f19e0dc: 00025840 */ sll $t3,$v0,0x1 -/* f19e0e0: 014b6021 */ addu $t4,$t2,$t3 -/* f19e0e4: 958d0000 */ lhu $t5,0x0($t4) -/* f19e0e8: 90660031 */ lbu $a2,0x31($v1) -/* f19e0ec: 01ae2021 */ addu $a0,$t5,$t6 -/* f19e0f0: 00864021 */ addu $t0,$a0,$a2 -/* f19e0f4: 910f0000 */ lbu $t7,0x0($t0) -/* f19e0f8: 25f8fff4 */ addiu $t8,$t7,-12 -/* f19e0fc: 2f010008 */ sltiu $at,$t8,0x8 -/* f19e100: 102000b2 */ beqz $at,.L0f19e3cc -/* f19e104: 0018c080 */ sll $t8,$t8,0x2 -/* f19e108: 3c017f1c */ lui $at,%hi(var7f1b93f0) -/* f19e10c: 00380821 */ addu $at,$at,$t8 -/* f19e110: 8c3893f0 */ lw $t8,%lo(var7f1b93f0)($at) -/* f19e114: 03000008 */ jr $t8 -/* f19e118: 00000000 */ nop -/* f19e11c: 906a0010 */ lbu $t2,0x10($v1) -/* f19e120: 240c3bc4 */ addiu $t4,$zero,0x3bc4 -/* f19e124: ac6c0024 */ sw $t4,0x24($v1) -/* f19e128: 354b0010 */ ori $t3,$t2,0x10 -/* f19e12c: a06b0010 */ sb $t3,0x10($v1) -/* f19e130: 100000a7 */ b .L0f19e3d0 -/* f19e134: 24020001 */ addiu $v0,$zero,0x1 -/* f19e138: 91040001 */ lbu $a0,0x1($t0) -/* f19e13c: afa8004c */ sw $t0,0x4c($sp) -/* f19e140: 0fc675f6 */ jal frResolveFrPad -/* f19e144: afa30058 */ sw $v1,0x58($sp) -/* f19e148: 8fa30058 */ lw $v1,0x58($sp) -/* f19e14c: 00403825 */ or $a3,$v0,$zero -/* f19e150: 0007c040 */ sll $t8,$a3,0x1 -/* f19e154: 806d0044 */ lb $t5,0x44($v1) -/* f19e158: 3c048009 */ lui $a0,%hi(g_FrPads) -/* f19e15c: 8fa8004c */ lw $t0,0x4c($sp) -/* f19e160: 144d0006 */ bne $v0,$t5,.L0f19e17c -/* f19e164: 00982021 */ addu $a0,$a0,$t8 -/* f19e168: 906e0031 */ lbu $t6,0x31($v1) -/* f19e16c: 00001025 */ or $v0,$zero,$zero -/* f19e170: 25cf0004 */ addiu $t7,$t6,0x4 -/* f19e174: 10000096 */ b .L0f19e3d0 -/* f19e178: a06f0031 */ sb $t7,0x31($v1) -.L0f19e17c: -/* f19e17c: a0670044 */ sb $a3,0x44($v1) -/* f19e180: 94848814 */ lhu $a0,%lo(g_FrPads)($a0) -/* f19e184: 24050002 */ addiu $a1,$zero,0x2 -/* f19e188: 27a60070 */ addiu $a2,$sp,0x70 -/* f19e18c: afa30058 */ sw $v1,0x58($sp) -/* f19e190: 0fc456ac */ jal padUnpack -/* f19e194: afa8004c */ sw $t0,0x4c($sp) -/* f19e198: 8fb900d0 */ lw $t9,0xd0($sp) -/* f19e19c: 3c0140c0 */ lui $at,0x40c0 -/* f19e1a0: 44814000 */ mtc1 $at,$f8 -/* f19e1a4: 44995000 */ mtc1 $t9,$f10 -/* f19e1a8: 8fa30058 */ lw $v1,0x58($sp) -/* f19e1ac: c7a40070 */ lwc1 $f4,0x70($sp) -/* f19e1b0: 46805420 */ cvt.s.w $f16,$f10 -/* f19e1b4: c7a60074 */ lwc1 $f6,0x74($sp) -/* f19e1b8: e4640018 */ swc1 $f4,0x18($v1) -/* f19e1bc: c7a40078 */ lwc1 $f4,0x78($sp) -/* f19e1c0: e466001c */ swc1 $f6,0x1c($v1) -/* f19e1c4: 8fa8004c */ lw $t0,0x4c($sp) -/* f19e1c8: 46104482 */ mul.s $f18,$f8,$f16 -/* f19e1cc: 240100ff */ addiu $at,$zero,0xff -/* f19e1d0: 3c098009 */ lui $t1,%hi(g_FrNumSounds) -/* f19e1d4: 2529880c */ addiu $t1,$t1,%lo(g_FrNumSounds) -/* f19e1d8: 240a0001 */ addiu $t2,$zero,0x1 -/* f19e1dc: 46122180 */ add.s $f6,$f4,$f18 -/* f19e1e0: e4660020 */ swc1 $f6,0x20($v1) -/* f19e1e4: 91040002 */ lbu $a0,0x2($t0) -/* f19e1e8: 14810005 */ bne $a0,$at,.L0f19e200 -/* f19e1ec: 3c01bf80 */ lui $at,0xbf80 -/* f19e1f0: 44810000 */ mtc1 $at,$f0 -/* f19e1f4: a06a0043 */ sb $t2,0x43($v1) -/* f19e1f8: 1000002f */ b .L0f19e2b8 -/* f19e1fc: e460002c */ swc1 $f0,0x2c($v1) -.L0f19e200: -/* f19e200: 91220000 */ lbu $v0,0x0($t1) -/* f19e204: 240605d9 */ addiu $a2,$zero,0x5d9 -/* f19e208: 2407ffff */ addiu $a3,$zero,-1 -/* f19e20c: 28410003 */ slti $at,$v0,0x3 -/* f19e210: 10200019 */ beqz $at,.L0f19e278 -/* f19e214: 244b0001 */ addiu $t3,$v0,0x1 -/* f19e218: 3c01bf80 */ lui $at,0xbf80 -/* f19e21c: 44810000 */ mtc1 $at,$f0 -/* f19e220: 240cffff */ addiu $t4,$zero,-1 -/* f19e224: 240dffff */ addiu $t5,$zero,-1 -/* f19e228: a12b0000 */ sb $t3,0x0($t1) -/* f19e22c: afad002c */ sw $t5,0x2c($sp) -/* f19e230: afac0010 */ sw $t4,0x10($sp) -/* f19e234: 00002025 */ or $a0,$zero,$zero -/* f19e238: 8c650014 */ lw $a1,0x14($v1) -/* f19e23c: afa00014 */ sw $zero,0x14($sp) -/* f19e240: afa00018 */ sw $zero,0x18($sp) -/* f19e244: afa0001c */ sw $zero,0x1c($sp) -/* f19e248: afa00020 */ sw $zero,0x20($sp) -/* f19e24c: afa00028 */ sw $zero,0x28($sp) -/* f19e250: afa30058 */ sw $v1,0x58($sp) -/* f19e254: afa8004c */ sw $t0,0x4c($sp) -/* f19e258: e7a00024 */ swc1 $f0,0x24($sp) -/* f19e25c: e7a00030 */ swc1 $f0,0x30($sp) -/* f19e260: e7a00034 */ swc1 $f0,0x34($sp) -/* f19e264: 0fc24e7e */ jal propsnd0f0939f8 -/* f19e268: e7a00038 */ swc1 $f0,0x38($sp) -/* f19e26c: 8fa8004c */ lw $t0,0x4c($sp) -/* f19e270: 8fa30058 */ lw $v1,0x58($sp) -/* f19e274: 91040002 */ lbu $a0,0x2($t0) -.L0f19e278: -/* f19e278: 44845000 */ mtc1 $a0,$f10 -/* f19e27c: 3c014f80 */ lui $at,0x4f80 -/* f19e280: 04810004 */ bgez $a0,.L0f19e294 -/* f19e284: 46805220 */ cvt.s.w $f8,$f10 -/* f19e288: 44818000 */ mtc1 $at,$f16 -/* f19e28c: 00000000 */ nop -/* f19e290: 46104200 */ add.s $f8,$f8,$f16 -.L0f19e294: -/* f19e294: 3c014270 */ lui $at,0x4270 -/* f19e298: 44812000 */ mtc1 $at,$f4 -/* f19e29c: 3c01800b */ lui $at,%hi(g_FrData+0xc) -/* f19e2a0: c426cd2c */ lwc1 $f6,%lo(g_FrData+0xc)($at) -/* f19e2a4: 46044483 */ div.s $f18,$f8,$f4 -/* f19e2a8: 240e0001 */ addiu $t6,$zero,0x1 -/* f19e2ac: a06e0043 */ sb $t6,0x43($v1) -/* f19e2b0: 46069282 */ mul.s $f10,$f18,$f6 -/* f19e2b4: e46a002c */ swc1 $f10,0x2c($v1) -.L0f19e2b8: -/* f19e2b8: 910f0003 */ lbu $t7,0x3($t0) -/* f19e2bc: 90790031 */ lbu $t9,0x31($v1) -/* f19e2c0: a0600042 */ sb $zero,0x42($v1) -/* f19e2c4: 000fc100 */ sll $t8,$t7,0x4 -/* f19e2c8: 030fc023 */ subu $t8,$t8,$t7 -/* f19e2cc: 0018c080 */ sll $t8,$t8,0x2 -/* f19e2d0: 272a0004 */ addiu $t2,$t9,0x4 -/* f19e2d4: ac780024 */ sw $t8,0x24($v1) -/* f19e2d8: a06a0031 */ sb $t2,0x31($v1) -/* f19e2dc: 1000003c */ b .L0f19e3d0 -/* f19e2e0: 24020001 */ addiu $v0,$zero,0x1 -/* f19e2e4: a0600031 */ sb $zero,0x31($v1) -/* f19e2e8: 10000039 */ b .L0f19e3d0 -/* f19e2ec: 24020001 */ addiu $v0,$zero,0x1 -/* f19e2f0: 906c0010 */ lbu $t4,0x10($v1) -/* f19e2f4: 24d80002 */ addiu $t8,$a2,0x2 -/* f19e2f8: 24020001 */ addiu $v0,$zero,0x1 -/* f19e2fc: 358d0010 */ ori $t5,$t4,0x10 -/* f19e300: a06d0010 */ sb $t5,0x10($v1) -/* f19e304: 910e0001 */ lbu $t6,0x1($t0) -/* f19e308: a0780031 */ sb $t8,0x31($v1) -/* f19e30c: 01c90019 */ multu $t6,$t1 -/* f19e310: 00007812 */ mflo $t7 -/* f19e314: ac6f0024 */ sw $t7,0x24($v1) -/* f19e318: 1000002e */ b .L0f19e3d4 -/* f19e31c: 8fbf0044 */ lw $ra,0x44($sp) -/* f19e320: 00075140 */ sll $t2,$a3,0x5 -/* f19e324: 05400025 */ bltz $t2,.L0f19e3bc -/* f19e328: 3c017f1c */ lui $at,%hi(var7f1b9410) -/* f19e32c: c4309410 */ lwc1 $f16,%lo(var7f1b9410)($at) -/* f19e330: 3c017f1c */ lui $at,%hi(var7f1b9414) -/* f19e334: c4289414 */ lwc1 $f8,%lo(var7f1b9414)($at) -/* f19e338: 3c017f1c */ lui $at,%hi(var7f1b9418) -/* f19e33c: c4249418 */ lwc1 $f4,%lo(var7f1b9418)($at) -/* f19e340: 3c017f1c */ lui $at,%hi(var7f1b941c) -/* f19e344: c432941c */ lwc1 $f18,%lo(var7f1b941c)($at) -/* f19e348: e7b0005c */ swc1 $f16,0x5c($sp) -/* f19e34c: e7a80060 */ swc1 $f8,0x60($sp) -/* f19e350: e7a40064 */ swc1 $f4,0x64($sp) -/* f19e354: e7b20068 */ swc1 $f18,0x68($sp) -/* f19e358: 910b0001 */ lbu $t3,0x1($t0) -/* f19e35c: 27a2005c */ addiu $v0,$sp,0x5c -/* f19e360: c46a0038 */ lwc1 $f10,0x38($v1) -/* f19e364: 000b6080 */ sll $t4,$t3,0x2 -/* f19e368: 004c6821 */ addu $t5,$v0,$t4 -/* f19e36c: c5a60000 */ lwc1 $f6,0x0($t5) -/* f19e370: 906c0010 */ lbu $t4,0x10($v1) -/* f19e374: 90660031 */ lbu $a2,0x31($v1) -/* f19e378: 460a3400 */ add.s $f16,$f6,$f10 -/* f19e37c: e470003c */ swc1 $f16,0x3c($v1) -/* f19e380: 91190002 */ lbu $t9,0x2($t0) -/* f19e384: 910e0001 */ lbu $t6,0x1($t0) -/* f19e388: 00195100 */ sll $t2,$t9,0x4 -/* f19e38c: 01595023 */ subu $t2,$t2,$t9 -/* f19e390: 448a2000 */ mtc1 $t2,$f4 -/* f19e394: 000e7880 */ sll $t7,$t6,0x2 -/* f19e398: 004fc021 */ addu $t8,$v0,$t7 -/* f19e39c: 468024a0 */ cvt.s.w $f18,$f4 -/* f19e3a0: c7080000 */ lwc1 $f8,0x0($t8) -/* f19e3a4: 358e0008 */ ori $t6,$t4,0x8 -/* f19e3a8: a06e0010 */ sb $t6,0x10($v1) -/* f19e3ac: 31cf00ef */ andi $t7,$t6,0xef -/* f19e3b0: a06f0010 */ sb $t7,0x10($v1) -/* f19e3b4: 46124183 */ div.s $f6,$f8,$f18 -/* f19e3b8: e4660034 */ swc1 $f6,0x34($v1) -.L0f19e3bc: -/* f19e3bc: 24d80003 */ addiu $t8,$a2,0x3 -/* f19e3c0: a0780031 */ sb $t8,0x31($v1) -/* f19e3c4: 10000002 */ b .L0f19e3d0 -/* f19e3c8: 24020001 */ addiu $v0,$zero,0x1 -.L0f19e3cc: -/* f19e3cc: 24020001 */ addiu $v0,$zero,0x1 -.L0f19e3d0: -/* f19e3d0: 8fbf0044 */ lw $ra,0x44($sp) -.L0f19e3d4: -/* f19e3d4: 27bd00d0 */ addiu $sp,$sp,0xd0 -/* f19e3d8: 03e00008 */ jr $ra -/* f19e3dc: 00000000 */ nop -); -#else -GLOBAL_ASM( -glabel frExecuteTargetScript -.late_rodata -glabel var7f1b3a10nb -.word frExecuteTargetScript+0x0a4 -glabel var7f1b3a14nb -.word frExecuteTargetScript+0x234 -glabel var7f1b3a18nb -.word frExecuteTargetScript+0x240 -glabel var7f1b3a1cnb -.word frExecuteTargetScript+0x270 -glabel var7f1b3a20nb -.word frExecuteTargetScript+0x31c -glabel var7f1b3a24nb -.word frExecuteTargetScript+0x31c -glabel var7f1b3a28nb -.word frExecuteTargetScript+0x31c -glabel var7f1b3a2cnb -.word frExecuteTargetScript+0x088 -glabel var7f1b9410 -.word 0xbfc90fdb -glabel var7f1b9414 -.word 0xc0490fdb -glabel var7f1b9418 -.word 0x3fc90fdb -glabel var7f1b941c -.word 0x40490fdb -.text -/* f1980c8: 2409003c */ addiu $t1,$zero,0x3c -/* f1980cc: 00890019 */ multu $a0,$t1 -/* f1980d0: 3c0f800b */ lui $t7,0x800b -/* f1980d4: 25ef15d0 */ addiu $t7,$t7,0x15d0 -/* f1980d8: 27bdff30 */ addiu $sp,$sp,-208 -/* f1980dc: afbf0044 */ sw $ra,0x44($sp) -/* f1980e0: 3c198009 */ lui $t9,0x8009 -/* f1980e4: 3c0d8009 */ lui $t5,0x8009 -/* f1980e8: 00007012 */ mflo $t6 -/* f1980ec: 01cf1821 */ addu $v1,$t6,$t7 -/* f1980f0: 8c670010 */ lw $a3,0x10($v1) -/* f1980f4: 0007c7c2 */ srl $t8,$a3,0x1f -/* f1980f8: 530000bb */ beqzl $t8,.NB0f1983e8 -/* f1980fc: 24020001 */ addiu $v0,$zero,0x1 -/* f198100: 90620012 */ lbu $v0,0x12($v1) -/* f198104: 8f39af70 */ lw $t9,-0x5090($t9) -/* f198108: 8dadaf80 */ lw $t5,-0x5080($t5) -/* f19810c: 24420022 */ addiu $v0,$v0,0x22 -/* f198110: 00025040 */ sll $t2,$v0,0x1 -/* f198114: 032a5821 */ addu $t3,$t9,$t2 -/* f198118: 956c0000 */ lhu $t4,0x0($t3) -/* f19811c: 90660031 */ lbu $a2,0x31($v1) -/* f198120: 018d2021 */ addu $a0,$t4,$t5 -/* f198124: 00864021 */ addu $t0,$a0,$a2 -/* f198128: 910e0000 */ lbu $t6,0x0($t0) -/* f19812c: 25cffff4 */ addiu $t7,$t6,-12 -/* f198130: 2de10008 */ sltiu $at,$t7,0x8 -/* f198134: 102000ab */ beqz $at,.NB0f1983e4 -/* f198138: 000f7880 */ sll $t7,$t7,0x2 -/* f19813c: 3c017f1b */ lui $at,0x7f1b -/* f198140: 002f0821 */ addu $at,$at,$t7 -/* f198144: 8c2f3a10 */ lw $t7,0x3a10($at) -/* f198148: 01e00008 */ jr $t7 -/* f19814c: 00000000 */ sll $zero,$zero,0x0 -/* f198150: 90790010 */ lbu $t9,0x10($v1) -/* f198154: 240b3bc4 */ addiu $t3,$zero,0x3bc4 -/* f198158: ac6b0024 */ sw $t3,0x24($v1) -/* f19815c: 372a0010 */ ori $t2,$t9,0x10 -/* f198160: a06a0010 */ sb $t2,0x10($v1) -/* f198164: 100000a0 */ beqz $zero,.NB0f1983e8 -/* f198168: 24020001 */ addiu $v0,$zero,0x1 -/* f19816c: 91040001 */ lbu $a0,0x1($t0) -/* f198170: afa8004c */ sw $t0,0x4c($sp) -/* f198174: 0fc65e04 */ jal frResolveFrPad -/* f198178: afa30058 */ sw $v1,0x58($sp) -/* f19817c: 8fa30058 */ lw $v1,0x58($sp) -/* f198180: 00403825 */ or $a3,$v0,$zero -/* f198184: 00077840 */ sll $t7,$a3,0x1 -/* f198188: 806c0044 */ lb $t4,0x44($v1) -/* f19818c: 3c048009 */ lui $a0,0x8009 -/* f198190: 8fa8004c */ lw $t0,0x4c($sp) -/* f198194: 144c0006 */ bne $v0,$t4,.NB0f1981b0 -/* f198198: 008f2021 */ addu $a0,$a0,$t7 -/* f19819c: 906d0031 */ lbu $t5,0x31($v1) -/* f1981a0: 00001025 */ or $v0,$zero,$zero -/* f1981a4: 25ae0004 */ addiu $t6,$t5,0x4 -/* f1981a8: 1000008f */ beqz $zero,.NB0f1983e8 -/* f1981ac: a06e0031 */ sb $t6,0x31($v1) -.NB0f1981b0: -/* f1981b0: a0670044 */ sb $a3,0x44($v1) -/* f1981b4: 9484af84 */ lhu $a0,-0x507c($a0) -/* f1981b8: 24050002 */ addiu $a1,$zero,0x2 -/* f1981bc: 27a60070 */ addiu $a2,$sp,0x70 -/* f1981c0: afa30058 */ sw $v1,0x58($sp) -/* f1981c4: 0fc43fc4 */ jal padUnpack -/* f1981c8: afa8004c */ sw $t0,0x4c($sp) -/* f1981cc: 8fa30058 */ lw $v1,0x58($sp) -/* f1981d0: c7a40070 */ lwc1 $f4,0x70($sp) -/* f1981d4: c7a60074 */ lwc1 $f6,0x74($sp) -/* f1981d8: c7a80078 */ lwc1 $f8,0x78($sp) -/* f1981dc: 8fa8004c */ lw $t0,0x4c($sp) -/* f1981e0: e4640018 */ swc1 $f4,0x18($v1) -/* f1981e4: e466001c */ swc1 $f6,0x1c($v1) -/* f1981e8: e4680020 */ swc1 $f8,0x20($v1) -/* f1981ec: 91040002 */ lbu $a0,0x2($t0) -/* f1981f0: 240100ff */ addiu $at,$zero,0xff -/* f1981f4: 3c098009 */ lui $t1,0x8009 -/* f1981f8: 14810007 */ bne $a0,$at,.NB0f198218 -/* f1981fc: 2529af7c */ addiu $t1,$t1,-20612 -/* f198200: 3c01bf80 */ lui $at,0xbf80 -/* f198204: 44810000 */ mtc1 $at,$f0 -/* f198208: 24180001 */ addiu $t8,$zero,0x1 -/* f19820c: a0780043 */ sb $t8,0x43($v1) -/* f198210: 1000002f */ beqz $zero,.NB0f1982d0 -/* f198214: e460002c */ swc1 $f0,0x2c($v1) -.NB0f198218: -/* f198218: 91220000 */ lbu $v0,0x0($t1) -/* f19821c: 240605d9 */ addiu $a2,$zero,0x5d9 -/* f198220: 2407ffff */ addiu $a3,$zero,-1 -/* f198224: 28410003 */ slti $at,$v0,0x3 -/* f198228: 10200019 */ beqz $at,.NB0f198290 -/* f19822c: 24590001 */ addiu $t9,$v0,0x1 -/* f198230: 3c01bf80 */ lui $at,0xbf80 -/* f198234: 44810000 */ mtc1 $at,$f0 -/* f198238: 240affff */ addiu $t2,$zero,-1 -/* f19823c: 240bffff */ addiu $t3,$zero,-1 -/* f198240: a1390000 */ sb $t9,0x0($t1) -/* f198244: afab002c */ sw $t3,0x2c($sp) -/* f198248: afaa0010 */ sw $t2,0x10($sp) -/* f19824c: 00002025 */ or $a0,$zero,$zero -/* f198250: 8c650014 */ lw $a1,0x14($v1) -/* f198254: afa00014 */ sw $zero,0x14($sp) -/* f198258: afa00018 */ sw $zero,0x18($sp) -/* f19825c: afa0001c */ sw $zero,0x1c($sp) -/* f198260: afa00020 */ sw $zero,0x20($sp) -/* f198264: afa00028 */ sw $zero,0x28($sp) -/* f198268: afa30058 */ sw $v1,0x58($sp) -/* f19826c: afa8004c */ sw $t0,0x4c($sp) -/* f198270: e7a00024 */ swc1 $f0,0x24($sp) -/* f198274: e7a00030 */ swc1 $f0,0x30($sp) -/* f198278: e7a00034 */ swc1 $f0,0x34($sp) -/* f19827c: 0fc24762 */ jal propsnd0f0939f8 -/* f198280: e7a00038 */ swc1 $f0,0x38($sp) -/* f198284: 8fa8004c */ lw $t0,0x4c($sp) -/* f198288: 8fa30058 */ lw $v1,0x58($sp) -/* f19828c: 91040002 */ lbu $a0,0x2($t0) -.NB0f198290: -/* f198290: 44845000 */ mtc1 $a0,$f10 -/* f198294: 3c014f80 */ lui $at,0x4f80 -/* f198298: 04810004 */ bgez $a0,.NB0f1982ac -/* f19829c: 46805420 */ cvt.s.w $f16,$f10 -/* f1982a0: 44819000 */ mtc1 $at,$f18 -/* f1982a4: 00000000 */ sll $zero,$zero,0x0 -/* f1982a8: 46128400 */ add.s $f16,$f16,$f18 -.NB0f1982ac: -/* f1982ac: 3c014270 */ lui $at,0x4270 -/* f1982b0: 44812000 */ mtc1 $at,$f4 -/* f1982b4: 3c01800b */ lui $at,0x800b -/* f1982b8: c42815dc */ lwc1 $f8,0x15dc($at) -/* f1982bc: 46048183 */ div.s $f6,$f16,$f4 -/* f1982c0: 240c0001 */ addiu $t4,$zero,0x1 -/* f1982c4: a06c0043 */ sb $t4,0x43($v1) -/* f1982c8: 46083282 */ mul.s $f10,$f6,$f8 -/* f1982cc: e46a002c */ swc1 $f10,0x2c($v1) -.NB0f1982d0: -/* f1982d0: 910d0003 */ lbu $t5,0x3($t0) -/* f1982d4: 906f0031 */ lbu $t7,0x31($v1) -/* f1982d8: a0600042 */ sb $zero,0x42($v1) -/* f1982dc: 000d7100 */ sll $t6,$t5,0x4 -/* f1982e0: 01cd7023 */ subu $t6,$t6,$t5 -/* f1982e4: 000e7080 */ sll $t6,$t6,0x2 -/* f1982e8: 25f80004 */ addiu $t8,$t7,0x4 -/* f1982ec: ac6e0024 */ sw $t6,0x24($v1) -/* f1982f0: a0780031 */ sb $t8,0x31($v1) -/* f1982f4: 1000003c */ beqz $zero,.NB0f1983e8 -/* f1982f8: 24020001 */ addiu $v0,$zero,0x1 -/* f1982fc: a0600031 */ sb $zero,0x31($v1) -/* f198300: 10000039 */ beqz $zero,.NB0f1983e8 -/* f198304: 24020001 */ addiu $v0,$zero,0x1 -/* f198308: 906a0010 */ lbu $t2,0x10($v1) -/* f19830c: 24ce0002 */ addiu $t6,$a2,0x2 -/* f198310: 24020001 */ addiu $v0,$zero,0x1 -/* f198314: 354b0010 */ ori $t3,$t2,0x10 -/* f198318: a06b0010 */ sb $t3,0x10($v1) -/* f19831c: 910c0001 */ lbu $t4,0x1($t0) -/* f198320: a06e0031 */ sb $t6,0x31($v1) -/* f198324: 01890019 */ multu $t4,$t1 -/* f198328: 00006812 */ mflo $t5 -/* f19832c: ac6d0024 */ sw $t5,0x24($v1) -/* f198330: 1000002e */ beqz $zero,.NB0f1983ec -/* f198334: 8fbf0044 */ lw $ra,0x44($sp) -/* f198338: 0007c140 */ sll $t8,$a3,0x5 -/* f19833c: 07000025 */ bltz $t8,.NB0f1983d4 -/* f198340: 3c017f1b */ lui $at,0x7f1b -/* f198344: c4323a30 */ lwc1 $f18,0x3a30($at) -/* f198348: 3c017f1b */ lui $at,0x7f1b -/* f19834c: c4303a34 */ lwc1 $f16,0x3a34($at) -/* f198350: 3c017f1b */ lui $at,0x7f1b -/* f198354: c4243a38 */ lwc1 $f4,0x3a38($at) -/* f198358: 3c017f1b */ lui $at,0x7f1b -/* f19835c: c4263a3c */ lwc1 $f6,0x3a3c($at) -/* f198360: e7b2005c */ swc1 $f18,0x5c($sp) -/* f198364: e7b00060 */ swc1 $f16,0x60($sp) -/* f198368: e7a40064 */ swc1 $f4,0x64($sp) -/* f19836c: e7a60068 */ swc1 $f6,0x68($sp) -/* f198370: 91190001 */ lbu $t9,0x1($t0) -/* f198374: 27a2005c */ addiu $v0,$sp,0x5c -/* f198378: c46a0038 */ lwc1 $f10,0x38($v1) -/* f19837c: 00195080 */ sll $t2,$t9,0x2 -/* f198380: 004a5821 */ addu $t3,$v0,$t2 -/* f198384: c5680000 */ lwc1 $f8,0x0($t3) -/* f198388: 906a0010 */ lbu $t2,0x10($v1) -/* f19838c: 90660031 */ lbu $a2,0x31($v1) -/* f198390: 460a4480 */ add.s $f18,$f8,$f10 -/* f198394: e472003c */ swc1 $f18,0x3c($v1) -/* f198398: 910f0002 */ lbu $t7,0x2($t0) -/* f19839c: 910c0001 */ lbu $t4,0x1($t0) -/* f1983a0: 000fc100 */ sll $t8,$t7,0x4 -/* f1983a4: 030fc023 */ subu $t8,$t8,$t7 -/* f1983a8: 44982000 */ mtc1 $t8,$f4 -/* f1983ac: 000c6880 */ sll $t5,$t4,0x2 -/* f1983b0: 004d7021 */ addu $t6,$v0,$t5 -/* f1983b4: 468021a0 */ cvt.s.w $f6,$f4 -/* f1983b8: c5d00000 */ lwc1 $f16,0x0($t6) -/* f1983bc: 354c0008 */ ori $t4,$t2,0x8 -/* f1983c0: a06c0010 */ sb $t4,0x10($v1) -/* f1983c4: 318d00ef */ andi $t5,$t4,0xef -/* f1983c8: a06d0010 */ sb $t5,0x10($v1) -/* f1983cc: 46068203 */ div.s $f8,$f16,$f6 -/* f1983d0: e4680034 */ swc1 $f8,0x34($v1) -.NB0f1983d4: -/* f1983d4: 24ce0003 */ addiu $t6,$a2,0x3 -/* f1983d8: a06e0031 */ sb $t6,0x31($v1) -/* f1983dc: 10000002 */ beqz $zero,.NB0f1983e8 -/* f1983e0: 24020001 */ addiu $v0,$zero,0x1 -.NB0f1983e4: -/* f1983e4: 24020001 */ addiu $v0,$zero,0x1 -.NB0f1983e8: -/* f1983e8: 8fbf0044 */ lw $ra,0x44($sp) -.NB0f1983ec: -/* f1983ec: 27bd00d0 */ addiu $sp,$sp,0xd0 -/* f1983f0: 03e00008 */ jr $ra -/* f1983f4: 00000000 */ sll $zero,$zero,0x0 -); +bool frExecuteTargetScript(s32 targetnum) +{ + if (g_FrData.targets[targetnum].inuse) { + s32 index = FRSCRIPTINDEX_TARGETS + g_FrData.targets[targetnum].scriptindex; + u8 *script = &g_FrRomData[g_FrScriptOffsets[index]]; + s32 offset = g_FrData.targets[targetnum].scriptoffset; + struct pad pad; + s32 frpadnum; + + switch (script[offset]) { + case FRCMD_END: + g_FrData.targets[targetnum].scriptenabled = true; + g_FrData.targets[targetnum].scriptsleep = 255 * 60; + return true; + case FRCMD_GOTOPAD: + frpadnum = frResolveFrPad(script[offset + 1]); + + if (frpadnum == g_FrData.targets[targetnum].frpadnum) { + g_FrData.targets[targetnum].scriptoffset += 4; + return false; + } + + g_FrData.targets[targetnum].frpadnum = frpadnum; + + padUnpack(g_FrPads[frpadnum], PADFIELD_POS, &pad); + + g_FrData.targets[targetnum].dstpos.x = pad.pos.x; + g_FrData.targets[targetnum].dstpos.y = pad.pos.y; + g_FrData.targets[targetnum].dstpos.z = pad.pos.z; + +#if VERSION >= VERSION_NTSC_1_0 + g_FrData.targets[targetnum].dstpos.z += 6.0f * targetnum; #endif -// Regalloc when calculating script and offset -//bool frExecuteTargetScript(s32 targetnum) -//{ -// if (g_FrData.targets[targetnum].inuse) { -// s32 index = FRSCRIPTINDEX_TARGETS + g_FrData.targets[targetnum].scriptindex; -// u8 *script = &g_FrRomData[g_FrScriptOffsets[index]]; -// u32 offset = g_FrData.targets[targetnum].scriptoffset; -// struct pad pad; -// s32 frpadnum; -// -// switch (script[offset]) { -// case FRCMD_END: -// g_FrData.targets[targetnum].scriptenabled = true; -// g_FrData.targets[targetnum].scriptsleep = SECSTOTIME60(255); -// return true; -// case FRCMD_GOTOPAD: -// frpadnum = frResolveFrPad(script[offset + 1]); -// -// if (frpadnum == g_FrData.targets[targetnum].frpadnum) { -// g_FrData.targets[targetnum].scriptoffset += 4; -// return false; -// } -// -// g_FrData.targets[targetnum].frpadnum = frpadnum; -// -// padUnpack(g_FrPads[frpadnum], PADFIELD_POS, &pad); -// -// g_FrData.targets[targetnum].dstpos.x = pad.pos.x; -// g_FrData.targets[targetnum].dstpos.y = pad.pos.y; -// g_FrData.targets[targetnum].dstpos.z = pad.pos.z; -// g_FrData.targets[targetnum].dstpos.z += 6.0f * targetnum; -// -// if (script[offset + 2] == 0xff) { -// g_FrData.targets[targetnum].travelspeed = -1; -// g_FrData.targets[targetnum].travelling = true; -// } else { -// if (g_FrNumSounds < 3) { -// g_FrNumSounds++; -// propsnd0f0939f8(NULL, g_FrData.targets[targetnum].prop, SFX_FR_CONVEYER, -1, -// -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); -// } -// -// g_FrData.targets[targetnum].travelspeed = (script[offset + 2] / 60.0f) * g_FrData.speed; -// g_FrData.targets[targetnum].travelling = true; -// } -// -// g_FrData.targets[targetnum].scriptsleep = SECSTOTIME60(script[offset + 3]); -// g_FrData.targets[targetnum].donestopsound = false; -// g_FrData.targets[targetnum].scriptoffset += 4; -// return true; -// case FRCMD_RESTART: -// g_FrData.targets[targetnum].scriptoffset = 0; -// return true; -// case FRCMD_WAITSECONDS: -// g_FrData.targets[targetnum].scriptenabled = true; -// g_FrData.targets[targetnum].scriptsleep = SECSTOTIME60(script[offset + 1]); -// g_FrData.targets[targetnum].scriptoffset += 2; -// return true; -// case FRCMD_ROTATE: -// if (g_FrData.targets[targetnum].rotateoncloak == false) { -// f32 angles[4]; -// angles[0] = DEG2RAD(-90); -// angles[1] = DEG2RAD(-180); -// angles[2] = DEG2RAD(90); -// angles[3] = DEG2RAD(180); -// -// g_FrData.targets[targetnum].rotatetoangle = g_FrData.targets[targetnum].angle + angles[script[offset + 1]]; -// g_FrData.targets[targetnum].rotatespeed = angles[script[offset + 1]] / (script[offset + 2] * 15); -// g_FrData.targets[targetnum].rotating = true; -// g_FrData.targets[targetnum].scriptenabled = false; -// } -// -// g_FrData.targets[targetnum].scriptoffset += 3; -// return true; -// } -// } -// -// return true; -//} + if (script[offset + 2] == 0xff) { + g_FrData.targets[targetnum].travelspeed = -1; + g_FrData.targets[targetnum].travelling = true; + } else { + if (g_FrNumSounds < 3) { + g_FrNumSounds++; + propsnd0f0939f8(NULL, g_FrData.targets[targetnum].prop, SFX_FR_CONVEYER, -1, + -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); + } + + g_FrData.targets[targetnum].travelspeed = script[offset + 2] / 60.0f * g_FrData.speed; + g_FrData.targets[targetnum].travelling = true; + } + + g_FrData.targets[targetnum].scriptsleep = script[offset + 3] * TICKS(60); + g_FrData.targets[targetnum].donestopsound = false; + g_FrData.targets[targetnum].scriptoffset += 4; + return true; + case FRCMD_RESTART: + g_FrData.targets[targetnum].scriptoffset = 0; + return true; + case FRCMD_WAITSECONDS: + g_FrData.targets[targetnum].scriptenabled = true; + g_FrData.targets[targetnum].scriptsleep = script[offset + 1] * TICKS(60); + g_FrData.targets[targetnum].scriptoffset += 2; + return true; + case FRCMD_ROTATE: + if (g_FrData.targets[targetnum].rotateoncloak == false) { + f32 angles[4]; + angles[0] = DEG2RAD(-90); + angles[1] = DEG2RAD(-180); + angles[2] = DEG2RAD(90); + angles[3] = DEG2RAD(180); + + g_FrData.targets[targetnum].rotatetoangle = g_FrData.targets[targetnum].angle + angles[script[offset + 1]]; + g_FrData.targets[targetnum].rotatespeed = angles[script[offset + 1]] / (script[offset + 2] * 15); + g_FrData.targets[targetnum].rotating = true; + g_FrData.targets[targetnum].scriptenabled = false; + } + + if (1); + g_FrData.targets[targetnum].scriptoffset += 3; + return true; + } + } + + return true; +} void frHideAllTargets(void) {