mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
338 lines
16 KiB
ArmAsm
338 lines
16 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
.include "include/macro.inc"
|
||
|
|
||
|
glabel func_800EF82C
|
||
|
/* 088CDC 800EF82C 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||
|
/* 088CE0 800EF830 AFB20038 */ sw $s2, 0x38($sp)
|
||
|
/* 088CE4 800EF834 0080902D */ daddu $s2, $a0, $zero
|
||
|
/* 088CE8 800EF838 AFB40040 */ sw $s4, 0x40($sp)
|
||
|
/* 088CEC 800EF83C 00A0A02D */ daddu $s4, $a1, $zero
|
||
|
/* 088CF0 800EF840 AFB3003C */ sw $s3, 0x3c($sp)
|
||
|
/* 088CF4 800EF844 3C138011 */ lui $s3, 0x8011
|
||
|
/* 088CF8 800EF848 2673EFC8 */ addiu $s3, $s3, -0x1038
|
||
|
/* 088CFC 800EF84C 3C058011 */ lui $a1, 0x8011
|
||
|
/* 088D00 800EF850 24A5CFCE */ addiu $a1, $a1, -0x3032
|
||
|
/* 088D04 800EF854 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 088D08 800EF858 AFBF0044 */ sw $ra, 0x44($sp)
|
||
|
/* 088D0C 800EF85C AFB10034 */ sw $s1, 0x34($sp)
|
||
|
/* 088D10 800EF860 AFB00030 */ sw $s0, 0x30($sp)
|
||
|
/* 088D14 800EF864 84A30000 */ lh $v1, ($a1)
|
||
|
/* 088D18 800EF868 94A40000 */ lhu $a0, ($a1)
|
||
|
/* 088D1C 800EF86C 10620044 */ beq $v1, $v0, .L800EF980
|
||
|
/* 088D20 800EF870 28620002 */ slti $v0, $v1, 2
|
||
|
/* 088D24 800EF874 10400118 */ beqz $v0, .L800EFCD8
|
||
|
/* 088D28 800EF878 00000000 */ nop
|
||
|
/* 088D2C 800EF87C 14600116 */ bnez $v1, .L800EFCD8
|
||
|
/* 088D30 800EF880 24820001 */ addiu $v0, $a0, 1
|
||
|
/* 088D34 800EF884 C662002C */ lwc1 $f2, 0x2c($s3)
|
||
|
/* 088D38 800EF888 3C018010 */ lui $at, 0x8010
|
||
|
/* 088D3C 800EF88C C4208024 */ lwc1 $f0, -0x7fdc($at)
|
||
|
/* 088D40 800EF890 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 088D44 800EF894 E6400060 */ swc1 $f0, 0x60($s2)
|
||
|
/* 088D48 800EF898 44060000 */ mfc1 $a2, $f0
|
||
|
/* 088D4C 800EF89C 3C018010 */ lui $at, 0x8010
|
||
|
/* 088D50 800EF8A0 C4208028 */ lwc1 $f0, -0x7fd8($at)
|
||
|
/* 088D54 800EF8A4 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 088D58 800EF8A8 26500060 */ addiu $s0, $s2, 0x60
|
||
|
/* 088D5C 800EF8AC C64C0038 */ lwc1 $f12, 0x38($s2)
|
||
|
/* 088D60 800EF8B0 C64E0040 */ lwc1 $f14, 0x40($s2)
|
||
|
/* 088D64 800EF8B4 44070000 */ mfc1 $a3, $f0
|
||
|
/* 088D68 800EF8B8 26510068 */ addiu $s1, $s2, 0x68
|
||
|
/* 088D6C 800EF8BC A4A20000 */ sh $v0, ($a1)
|
||
|
/* 088D70 800EF8C0 AE470068 */ sw $a3, 0x68($s2)
|
||
|
/* 088D74 800EF8C4 0C00A720 */ jal atan2
|
||
|
/* 088D78 800EF8C8 E6420064 */ swc1 $f2, 0x64($s2)
|
||
|
/* 088D7C 800EF8CC 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 088D80 800EF8D0 3C0640A0 */ lui $a2, 0x40a0
|
||
|
/* 088D84 800EF8D4 44070000 */ mfc1 $a3, $f0
|
||
|
/* 088D88 800EF8D8 0220282D */ daddu $a1, $s1, $zero
|
||
|
/* 088D8C 800EF8DC 3C018010 */ lui $at, 0x8010
|
||
|
/* 088D90 800EF8E0 AC278034 */ sw $a3, -0x7fcc($at)
|
||
|
/* 088D94 800EF8E4 0C00A7E7 */ jal add_vec2D_polar
|
||
|
/* 088D98 800EF8E8 AE47000C */ sw $a3, 0xc($s2)
|
||
|
/* 088D9C 800EF8EC 3C108010 */ lui $s0, 0x8010
|
||
|
/* 088DA0 800EF8F0 2610802C */ addiu $s0, $s0, -0x7fd4
|
||
|
/* 088DA4 800EF8F4 C64C0038 */ lwc1 $f12, 0x38($s2)
|
||
|
/* 088DA8 800EF8F8 C64E0040 */ lwc1 $f14, 0x40($s2)
|
||
|
/* 088DAC 800EF8FC 8E460060 */ lw $a2, 0x60($s2)
|
||
|
/* 088DB0 800EF900 8E470068 */ lw $a3, 0x68($s2)
|
||
|
/* 088DB4 800EF904 24020012 */ addiu $v0, $zero, 0x12
|
||
|
/* 088DB8 800EF908 0C00A7B5 */ jal dist2D
|
||
|
/* 088DBC 800EF90C AE020000 */ sw $v0, ($s0)
|
||
|
/* 088DC0 800EF910 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||
|
/* 088DC4 800EF914 C6020000 */ lwc1 $f2, ($s0)
|
||
|
/* 088DC8 800EF918 468010A0 */ cvt.s.w $f2, $f2
|
||
|
/* 088DCC 800EF91C 46020003 */ div.s $f0, $f0, $f2
|
||
|
/* 088DD0 800EF920 3C018010 */ lui $at, 0x8010
|
||
|
/* 088DD4 800EF924 E4208030 */ swc1 $f0, -0x7fd0($at)
|
||
|
/* 088DD8 800EF928 E6400018 */ swc1 $f0, 0x18($s2)
|
||
|
/* 088DDC 800EF92C 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 088DE0 800EF930 26440028 */ addiu $a0, $s2, 0x28
|
||
|
/* 088DE4 800EF934 3C038011 */ lui $v1, 0x8011
|
||
|
/* 088DE8 800EF938 8C63CFD8 */ lw $v1, -0x3028($v1)
|
||
|
/* 088DEC 800EF93C 3C014010 */ lui $at, 0x4010
|
||
|
/* 088DF0 800EF940 44811800 */ mtc1 $at, $f3
|
||
|
/* 088DF4 800EF944 44801000 */ mtc1 $zero, $f2
|
||
|
/* 088DF8 800EF948 000310C0 */ sll $v0, $v1, 3
|
||
|
/* 088DFC 800EF94C 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 088E00 800EF950 4620103E */ c.le.d $f2, $f0
|
||
|
/* 088E04 800EF954 00000000 */ nop
|
||
|
/* 088E08 800EF958 45000003 */ bc1f .L800EF968
|
||
|
/* 088E0C 800EF95C 00021080 */ sll $v0, $v0, 2
|
||
|
/* 088E10 800EF960 0803BE5B */ j .L800EF96C
|
||
|
/* 088E14 800EF964 24430018 */ addiu $v1, $v0, 0x18
|
||
|
|
||
|
.L800EF968:
|
||
|
/* 088E18 800EF968 24430004 */ addiu $v1, $v0, 4
|
||
|
.L800EF96C:
|
||
|
/* 088E1C 800EF96C 3C028010 */ lui $v0, 0x8010
|
||
|
/* 088E20 800EF970 24428348 */ addiu $v0, $v0, -0x7cb8
|
||
|
/* 088E24 800EF974 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 088E28 800EF978 8C420000 */ lw $v0, ($v0)
|
||
|
/* 088E2C 800EF97C AC820000 */ sw $v0, ($a0)
|
||
|
.L800EF980:
|
||
|
/* 088E30 800EF980 3C038010 */ lui $v1, 0x8010
|
||
|
/* 088E34 800EF984 2463802C */ addiu $v1, $v1, -0x7fd4
|
||
|
/* 088E38 800EF988 8C620000 */ lw $v0, ($v1)
|
||
|
/* 088E3C 800EF98C 104000C0 */ beqz $v0, .L800EFC90
|
||
|
/* 088E40 800EF990 2442FFFF */ addiu $v0, $v0, -1
|
||
|
/* 088E44 800EF994 16800092 */ bnez $s4, .L800EFBE0
|
||
|
/* 088E48 800EF998 AC620000 */ sw $v0, ($v1)
|
||
|
/* 088E4C 800EF99C 8E420000 */ lw $v0, ($s2)
|
||
|
/* 088E50 800EF9A0 30421000 */ andi $v0, $v0, 0x1000
|
||
|
/* 088E54 800EF9A4 14400003 */ bnez $v0, .L800EF9B4
|
||
|
/* 088E58 800EF9A8 00000000 */ nop
|
||
|
/* 088E5C 800EF9AC C660002C */ lwc1 $f0, 0x2c($s3)
|
||
|
/* 088E60 800EF9B0 E640003C */ swc1 $f0, 0x3c($s2)
|
||
|
.L800EF9B4:
|
||
|
/* 088E64 800EF9B4 C642001C */ lwc1 $f2, 0x1c($s2)
|
||
|
/* 088E68 800EF9B8 44802000 */ mtc1 $zero, $f4
|
||
|
/* 088E6C 800EF9BC 00000000 */ nop
|
||
|
/* 088E70 800EF9C0 46041032 */ c.eq.s $f2, $f4
|
||
|
/* 088E74 800EF9C4 00000000 */ nop
|
||
|
/* 088E78 800EF9C8 45010060 */ bc1t .L800EFB4C
|
||
|
/* 088E7C 800EF9CC 00000000 */ nop
|
||
|
/* 088E80 800EF9D0 C6400014 */ lwc1 $f0, 0x14($s2)
|
||
|
/* 088E84 800EF9D4 46001001 */ sub.s $f0, $f2, $f0
|
||
|
/* 088E88 800EF9D8 C642003C */ lwc1 $f2, 0x3c($s2)
|
||
|
/* 088E8C 800EF9DC 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* 088E90 800EF9E0 E640001C */ swc1 $f0, 0x1c($s2)
|
||
|
/* 088E94 800EF9E4 4604003E */ c.le.s $f0, $f4
|
||
|
/* 088E98 800EF9E8 00000000 */ nop
|
||
|
/* 088E9C 800EF9EC 4500000A */ bc1f .L800EFA18
|
||
|
/* 088EA0 800EF9F0 E642003C */ swc1 $f2, 0x3c($s2)
|
||
|
/* 088EA4 800EF9F4 3C028011 */ lui $v0, 0x8011
|
||
|
/* 088EA8 800EF9F8 8C42CFD8 */ lw $v0, -0x3028($v0)
|
||
|
/* 088EAC 800EF9FC 000218C0 */ sll $v1, $v0, 3
|
||
|
/* 088EB0 800EFA00 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 088EB4 800EFA04 00031880 */ sll $v1, $v1, 2
|
||
|
/* 088EB8 800EFA08 3C028010 */ lui $v0, 0x8010
|
||
|
/* 088EBC 800EFA0C 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 088EC0 800EFA10 8C428354 */ lw $v0, -0x7cac($v0)
|
||
|
/* 088EC4 800EFA14 AE420028 */ sw $v0, 0x28($s2)
|
||
|
.L800EFA18:
|
||
|
/* 088EC8 800EFA18 C642001C */ lwc1 $f2, 0x1c($s2)
|
||
|
/* 088ECC 800EFA1C 4604103E */ c.le.s $f2, $f4
|
||
|
/* 088ED0 800EFA20 00000000 */ nop
|
||
|
/* 088ED4 800EFA24 45000049 */ bc1f .L800EFB4C
|
||
|
/* 088ED8 800EFA28 27A50020 */ addiu $a1, $sp, 0x20
|
||
|
/* 088EDC 800EFA2C C6400038 */ lwc1 $f0, 0x38($s2)
|
||
|
/* 088EE0 800EFA30 46001085 */ abs.s $f2, $f2
|
||
|
/* 088EE4 800EFA34 E7A00020 */ swc1 $f0, 0x20($sp)
|
||
|
/* 088EE8 800EFA38 864200A8 */ lh $v0, 0xa8($s2)
|
||
|
/* 088EEC 800EFA3C C6440040 */ lwc1 $f4, 0x40($s2)
|
||
|
/* 088EF0 800EFA40 0040182D */ daddu $v1, $v0, $zero
|
||
|
/* 088EF4 800EFA44 44820000 */ mtc1 $v0, $f0
|
||
|
/* 088EF8 800EFA48 00000000 */ nop
|
||
|
/* 088EFC 800EFA4C 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 088F00 800EFA50 44833000 */ mtc1 $v1, $f6
|
||
|
/* 088F04 800EFA54 00000000 */ nop
|
||
|
/* 088F08 800EFA58 468031A0 */ cvt.s.w $f6, $f6
|
||
|
/* 088F0C 800EFA5C 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* 088F10 800EFA60 C640003C */ lwc1 $f0, 0x3c($s2)
|
||
|
/* 088F14 800EFA64 27A2002C */ addiu $v0, $sp, 0x2c
|
||
|
/* 088F18 800EFA68 46060000 */ add.s $f0, $f0, $f6
|
||
|
/* 088F1C 800EFA6C E7A40028 */ swc1 $f4, 0x28($sp)
|
||
|
/* 088F20 800EFA70 E7A2002C */ swc1 $f2, 0x2c($sp)
|
||
|
/* 088F24 800EFA74 E7A00024 */ swc1 $f0, 0x24($sp)
|
||
|
/* 088F28 800EFA78 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 088F2C 800EFA7C C640000C */ lwc1 $f0, 0xc($s2)
|
||
|
/* 088F30 800EFA80 E7A00014 */ swc1 $f0, 0x14($sp)
|
||
|
/* 088F34 800EFA84 864200A6 */ lh $v0, 0xa6($s2)
|
||
|
/* 088F38 800EFA88 27A60024 */ addiu $a2, $sp, 0x24
|
||
|
/* 088F3C 800EFA8C 44820000 */ mtc1 $v0, $f0
|
||
|
/* 088F40 800EFA90 00000000 */ nop
|
||
|
/* 088F44 800EFA94 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 088F48 800EFA98 E7A00018 */ swc1 $f0, 0x18($sp)
|
||
|
/* 088F4C 800EFA9C 8E440080 */ lw $a0, 0x80($s2)
|
||
|
/* 088F50 800EFAA0 0C0371DE */ jal func_800DC778
|
||
|
/* 088F54 800EFAA4 27A70028 */ addiu $a3, $sp, 0x28
|
||
|
/* 088F58 800EFAA8 10400028 */ beqz $v0, .L800EFB4C
|
||
|
/* 088F5C 800EFAAC 00000000 */ nop
|
||
|
/* 088F60 800EFAB0 C640001C */ lwc1 $f0, 0x1c($s2)
|
||
|
/* 088F64 800EFAB4 3C0141B0 */ lui $at, 0x41b0
|
||
|
/* 088F68 800EFAB8 44811000 */ mtc1 $at, $f2
|
||
|
/* 088F6C 800EFABC 46000005 */ abs.s $f0, $f0
|
||
|
/* 088F70 800EFAC0 46020000 */ add.s $f0, $f0, $f2
|
||
|
/* 088F74 800EFAC4 C7A2002C */ lwc1 $f2, 0x2c($sp)
|
||
|
/* 088F78 800EFAC8 4600103E */ c.le.s $f2, $f0
|
||
|
/* 088F7C 800EFACC 00000000 */ nop
|
||
|
/* 088F80 800EFAD0 4500001E */ bc1f .L800EFB4C
|
||
|
/* 088F84 800EFAD4 26440028 */ addiu $a0, $s2, 0x28
|
||
|
/* 088F88 800EFAD8 C6400018 */ lwc1 $f0, 0x18($s2)
|
||
|
/* 088F8C 800EFADC 3C014010 */ lui $at, 0x4010
|
||
|
/* 088F90 800EFAE0 44811800 */ mtc1 $at, $f3
|
||
|
/* 088F94 800EFAE4 44801000 */ mtc1 $zero, $f2
|
||
|
/* 088F98 800EFAE8 3C038011 */ lui $v1, 0x8011
|
||
|
/* 088F9C 800EFAEC 8C63CFD8 */ lw $v1, -0x3028($v1)
|
||
|
/* 088FA0 800EFAF0 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 088FA4 800EFAF4 000310C0 */ sll $v0, $v1, 3
|
||
|
/* 088FA8 800EFAF8 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 088FAC 800EFAFC 4620103E */ c.le.d $f2, $f0
|
||
|
/* 088FB0 800EFB00 00000000 */ nop
|
||
|
/* 088FB4 800EFB04 45000003 */ bc1f .L800EFB14
|
||
|
/* 088FB8 800EFB08 00021080 */ sll $v0, $v0, 2
|
||
|
/* 088FBC 800EFB0C 0803BEC6 */ j .L800EFB18
|
||
|
/* 088FC0 800EFB10 24430018 */ addiu $v1, $v0, 0x18
|
||
|
|
||
|
.L800EFB14:
|
||
|
/* 088FC4 800EFB14 24430004 */ addiu $v1, $v0, 4
|
||
|
.L800EFB18:
|
||
|
/* 088FC8 800EFB18 3C028010 */ lui $v0, 0x8010
|
||
|
/* 088FCC 800EFB1C 24428348 */ addiu $v0, $v0, -0x7cb8
|
||
|
/* 088FD0 800EFB20 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 088FD4 800EFB24 8C420000 */ lw $v0, ($v0)
|
||
|
/* 088FD8 800EFB28 C7A00024 */ lwc1 $f0, 0x24($sp)
|
||
|
/* 088FDC 800EFB2C AC820000 */ sw $v0, ($a0)
|
||
|
/* 088FE0 800EFB30 8E420000 */ lw $v0, ($s2)
|
||
|
/* 088FE4 800EFB34 2403F7FF */ addiu $v1, $zero, -0x801
|
||
|
/* 088FE8 800EFB38 AE400014 */ sw $zero, 0x14($s2)
|
||
|
/* 088FEC 800EFB3C AE40001C */ sw $zero, 0x1c($s2)
|
||
|
/* 088FF0 800EFB40 E640003C */ swc1 $f0, 0x3c($s2)
|
||
|
/* 088FF4 800EFB44 00431024 */ and $v0, $v0, $v1
|
||
|
/* 088FF8 800EFB48 AE420000 */ sw $v0, ($s2)
|
||
|
.L800EFB4C:
|
||
|
/* 088FFC 800EFB4C 3C018010 */ lui $at, 0x8010
|
||
|
/* 089000 800EFB50 C4208030 */ lwc1 $f0, -0x7fd0($at)
|
||
|
/* 089004 800EFB54 E6400018 */ swc1 $f0, 0x18($s2)
|
||
|
/* 089008 800EFB58 3C018010 */ lui $at, 0x8010
|
||
|
/* 08900C 800EFB5C C4208034 */ lwc1 $f0, -0x7fcc($at)
|
||
|
/* 089010 800EFB60 8E450018 */ lw $a1, 0x18($s2)
|
||
|
/* 089014 800EFB64 44060000 */ mfc1 $a2, $f0
|
||
|
/* 089018 800EFB68 0240202D */ daddu $a0, $s2, $zero
|
||
|
/* 08901C 800EFB6C 0C00EA95 */ jal npc_move_heading
|
||
|
/* 089020 800EFB70 AE46000C */ sw $a2, 0xc($s2)
|
||
|
/* 089024 800EFB74 26450028 */ addiu $a1, $s2, 0x28
|
||
|
/* 089028 800EFB78 C6400018 */ lwc1 $f0, 0x18($s2)
|
||
|
/* 08902C 800EFB7C 3C014010 */ lui $at, 0x4010
|
||
|
/* 089030 800EFB80 44811800 */ mtc1 $at, $f3
|
||
|
/* 089034 800EFB84 44801000 */ mtc1 $zero, $f2
|
||
|
/* 089038 800EFB88 3C038011 */ lui $v1, 0x8011
|
||
|
/* 08903C 800EFB8C 8C63CFD8 */ lw $v1, -0x3028($v1)
|
||
|
/* 089040 800EFB90 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 089044 800EFB94 000310C0 */ sll $v0, $v1, 3
|
||
|
/* 089048 800EFB98 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 08904C 800EFB9C 00021080 */ sll $v0, $v0, 2
|
||
|
/* 089050 800EFBA0 4620103E */ c.le.d $f2, $f0
|
||
|
/* 089054 800EFBA4 00000000 */ nop
|
||
|
/* 089058 800EFBA8 45000003 */ bc1f .L800EFBB8
|
||
|
/* 08905C 800EFBAC 0040182D */ daddu $v1, $v0, $zero
|
||
|
/* 089060 800EFBB0 0803BEEF */ j .L800EFBBC
|
||
|
/* 089064 800EFBB4 24430018 */ addiu $v1, $v0, 0x18
|
||
|
|
||
|
.L800EFBB8:
|
||
|
/* 089068 800EFBB8 24630004 */ addiu $v1, $v1, 4
|
||
|
.L800EFBBC:
|
||
|
/* 08906C 800EFBBC 3C028010 */ lui $v0, 0x8010
|
||
|
/* 089070 800EFBC0 24428348 */ addiu $v0, $v0, -0x7cb8
|
||
|
/* 089074 800EFBC4 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 089078 800EFBC8 8C420000 */ lw $v0, ($v0)
|
||
|
/* 08907C 800EFBCC 0240202D */ daddu $a0, $s2, $zero
|
||
|
/* 089080 800EFBD0 0C00E2BF */ jal func_80038AFC
|
||
|
/* 089084 800EFBD4 ACA20000 */ sw $v0, ($a1)
|
||
|
/* 089088 800EFBD8 0803BF17 */ j .L800EFC5C
|
||
|
/* 08908C 800EFBDC 24050001 */ addiu $a1, $zero, 1
|
||
|
|
||
|
.L800EFBE0:
|
||
|
/* 089090 800EFBE0 C644003C */ lwc1 $f4, 0x3c($s2)
|
||
|
/* 089094 800EFBE4 C666002C */ lwc1 $f6, 0x2c($s3)
|
||
|
/* 089098 800EFBE8 46062001 */ sub.s $f0, $f4, $f6
|
||
|
/* 08909C 800EFBEC 3C014014 */ lui $at, 0x4014
|
||
|
/* 0890A0 800EFBF0 44811800 */ mtc1 $at, $f3
|
||
|
/* 0890A4 800EFBF4 44801000 */ mtc1 $zero, $f2
|
||
|
/* 0890A8 800EFBF8 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 0890AC 800EFBFC 46200005 */ abs.d $f0, $f0
|
||
|
/* 0890B0 800EFC00 4620103C */ c.lt.d $f2, $f0
|
||
|
/* 0890B4 800EFC04 00000000 */ nop
|
||
|
/* 0890B8 800EFC08 45000009 */ bc1f .L800EFC30
|
||
|
/* 0890BC 800EFC0C 00000000 */ nop
|
||
|
/* 0890C0 800EFC10 46043001 */ sub.s $f0, $f6, $f4
|
||
|
/* 0890C4 800EFC14 3C013F00 */ lui $at, 0x3f00
|
||
|
/* 0890C8 800EFC18 44811000 */ mtc1 $at, $f2
|
||
|
/* 0890CC 800EFC1C 00000000 */ nop
|
||
|
/* 0890D0 800EFC20 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 0890D4 800EFC24 00000000 */ nop
|
||
|
/* 0890D8 800EFC28 46002000 */ add.s $f0, $f4, $f0
|
||
|
/* 0890DC 800EFC2C E640003C */ swc1 $f0, 0x3c($s2)
|
||
|
.L800EFC30:
|
||
|
/* 0890E0 800EFC30 3C018010 */ lui $at, 0x8010
|
||
|
/* 0890E4 800EFC34 C4208030 */ lwc1 $f0, -0x7fd0($at)
|
||
|
/* 0890E8 800EFC38 E6400018 */ swc1 $f0, 0x18($s2)
|
||
|
/* 0890EC 800EFC3C 3C018010 */ lui $at, 0x8010
|
||
|
/* 0890F0 800EFC40 C4208034 */ lwc1 $f0, -0x7fcc($at)
|
||
|
/* 0890F4 800EFC44 8E450018 */ lw $a1, 0x18($s2)
|
||
|
/* 0890F8 800EFC48 44060000 */ mfc1 $a2, $f0
|
||
|
/* 0890FC 800EFC4C 0240202D */ daddu $a0, $s2, $zero
|
||
|
/* 089100 800EFC50 0C00EA95 */ jal npc_move_heading
|
||
|
/* 089104 800EFC54 AE46000C */ sw $a2, 0xc($s2)
|
||
|
/* 089108 800EFC58 24050001 */ addiu $a1, $zero, 1
|
||
|
.L800EFC5C:
|
||
|
/* 08910C 800EFC5C C6400018 */ lwc1 $f0, 0x18($s2)
|
||
|
/* 089110 800EFC60 3C014010 */ lui $at, 0x4010
|
||
|
/* 089114 800EFC64 44811800 */ mtc1 $at, $f3
|
||
|
/* 089118 800EFC68 44801000 */ mtc1 $zero, $f2
|
||
|
/* 08911C 800EFC6C 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 089120 800EFC70 4622003C */ c.lt.d $f0, $f2
|
||
|
/* 089124 800EFC74 00000000 */ nop
|
||
|
/* 089128 800EFC78 45030001 */ bc1tl .L800EFC80
|
||
|
/* 08912C 800EFC7C 0000282D */ daddu $a1, $zero, $zero
|
||
|
.L800EFC80:
|
||
|
/* 089130 800EFC80 0C00F598 */ jal func_8003D660
|
||
|
/* 089134 800EFC84 0240202D */ daddu $a0, $s2, $zero
|
||
|
/* 089138 800EFC88 0803BF36 */ j .L800EFCD8
|
||
|
/* 08913C 800EFC8C 00000000 */ nop
|
||
|
|
||
|
.L800EFC90:
|
||
|
/* 089140 800EFC90 2403FFBF */ addiu $v1, $zero, -0x41
|
||
|
/* 089144 800EFC94 8E420000 */ lw $v0, ($s2)
|
||
|
/* 089148 800EFC98 3C048011 */ lui $a0, 0x8011
|
||
|
/* 08914C 800EFC9C 8C84CFD8 */ lw $a0, -0x3028($a0)
|
||
|
/* 089150 800EFCA0 00431024 */ and $v0, $v0, $v1
|
||
|
/* 089154 800EFCA4 000418C0 */ sll $v1, $a0, 3
|
||
|
/* 089158 800EFCA8 00641821 */ addu $v1, $v1, $a0
|
||
|
/* 08915C 800EFCAC 00031880 */ sll $v1, $v1, 2
|
||
|
/* 089160 800EFCB0 3C048011 */ lui $a0, 0x8011
|
||
|
/* 089164 800EFCB4 2484CFCE */ addiu $a0, $a0, -0x3032
|
||
|
/* 089168 800EFCB8 AE420000 */ sw $v0, ($s2)
|
||
|
/* 08916C 800EFCBC 94820000 */ lhu $v0, ($a0)
|
||
|
/* 089170 800EFCC0 3C018010 */ lui $at, 0x8010
|
||
|
/* 089174 800EFCC4 00230821 */ addu $at, $at, $v1
|
||
|
/* 089178 800EFCC8 8C23835C */ lw $v1, -0x7ca4($at)
|
||
|
/* 08917C 800EFCCC 24420001 */ addiu $v0, $v0, 1
|
||
|
/* 089180 800EFCD0 A4820000 */ sh $v0, ($a0)
|
||
|
/* 089184 800EFCD4 AE430028 */ sw $v1, 0x28($s2)
|
||
|
.L800EFCD8:
|
||
|
/* 089188 800EFCD8 8FBF0044 */ lw $ra, 0x44($sp)
|
||
|
/* 08918C 800EFCDC 8FB40040 */ lw $s4, 0x40($sp)
|
||
|
/* 089190 800EFCE0 8FB3003C */ lw $s3, 0x3c($sp)
|
||
|
/* 089194 800EFCE4 8FB20038 */ lw $s2, 0x38($sp)
|
||
|
/* 089198 800EFCE8 8FB10034 */ lw $s1, 0x34($sp)
|
||
|
/* 08919C 800EFCEC 8FB00030 */ lw $s0, 0x30($sp)
|
||
|
/* 0891A0 800EFCF0 03E00008 */ jr $ra
|
||
|
/* 0891A4 800EFCF4 27BD0048 */ addiu $sp, $sp, 0x48
|
||
|
|
||
|
/* 0891A8 800EFCF8 00000000 */ nop
|
||
|
/* 0891AC 800EFCFC 00000000 */ nop
|