mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
526 lines
25 KiB
ArmAsm
526 lines
25 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
|
||
|
glabel render_frame
|
||
|
/* 008B3C 8002D73C 27BDFF90 */ addiu $sp, $sp, -0x70
|
||
|
/* 008B40 8002D740 AFBF0054 */ sw $ra, 0x54($sp)
|
||
|
/* 008B44 8002D744 AFBE0050 */ sw $fp, 0x50($sp)
|
||
|
/* 008B48 8002D748 AFB7004C */ sw $s7, 0x4c($sp)
|
||
|
/* 008B4C 8002D74C AFB60048 */ sw $s6, 0x48($sp)
|
||
|
/* 008B50 8002D750 AFB50044 */ sw $s5, 0x44($sp)
|
||
|
/* 008B54 8002D754 AFB40040 */ sw $s4, 0x40($sp)
|
||
|
/* 008B58 8002D758 AFB3003C */ sw $s3, 0x3c($sp)
|
||
|
/* 008B5C 8002D75C AFB20038 */ sw $s2, 0x38($sp)
|
||
|
/* 008B60 8002D760 AFB10034 */ sw $s1, 0x34($sp)
|
||
|
/* 008B64 8002D764 AFB00030 */ sw $s0, 0x30($sp)
|
||
|
/* 008B68 8002D768 F7B80068 */ sdc1 $f24, 0x68($sp)
|
||
|
/* 008B6C 8002D76C F7B60060 */ sdc1 $f22, 0x60($sp)
|
||
|
/* 008B70 8002D770 F7B40058 */ sdc1 $f20, 0x58($sp)
|
||
|
/* 008B74 8002D774 14800005 */ bnez $a0, .L8002D78C
|
||
|
/* 008B78 8002D778 AFA40070 */ sw $a0, 0x70($sp)
|
||
|
/* 008B7C 8002D77C 3C01800A */ lui $at, 0x800a
|
||
|
/* 008B80 8002D780 A420A634 */ sh $zero, -0x59cc($at)
|
||
|
/* 008B84 8002D784 0C0459A6 */ jal func_80116698
|
||
|
/* 008B88 8002D788 00000000 */ nop
|
||
|
.L8002D78C:
|
||
|
/* 008B8C 8002D78C 8FAB0070 */ lw $t3, 0x70($sp)
|
||
|
/* 008B90 8002D790 11600003 */ beqz $t3, .L8002D7A0
|
||
|
/* 008B94 8002D794 AFA00020 */ sw $zero, 0x20($sp)
|
||
|
/* 008B98 8002D798 240B0003 */ addiu $t3, $zero, 3
|
||
|
/* 008B9C 8002D79C AFAB0020 */ sw $t3, 0x20($sp)
|
||
|
.L8002D7A0:
|
||
|
/* 008BA0 8002D7A0 8FAB0070 */ lw $t3, 0x70($sp)
|
||
|
/* 008BA4 8002D7A4 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 008BA8 8002D7A8 004B5823 */ subu $t3, $v0, $t3
|
||
|
/* 008BAC 8002D7AC 24020004 */ addiu $v0, $zero, 4
|
||
|
/* 008BB0 8002D7B0 004B1023 */ subu $v0, $v0, $t3
|
||
|
/* 008BB4 8002D7B4 AFAB0070 */ sw $t3, 0x70($sp)
|
||
|
/* 008BB8 8002D7B8 8FAB0020 */ lw $t3, 0x20($sp)
|
||
|
/* 008BBC 8002D7BC 0162102A */ slt $v0, $t3, $v0
|
||
|
/* 008BC0 8002D7C0 104001BD */ beqz $v0, .L8002DEB8
|
||
|
/* 008BC4 8002D7C4 000B1880 */ sll $v1, $t3, 2
|
||
|
/* 008BC8 8002D7C8 3C17800A */ lui $s7, 0x800a
|
||
|
/* 008BCC 8002D7CC 26F7A66C */ addiu $s7, $s7, -0x5994
|
||
|
/* 008BD0 8002D7D0 3C02800B */ lui $v0, 0x800b
|
||
|
/* 008BD4 8002D7D4 24421D80 */ addiu $v0, $v0, 0x1d80
|
||
|
/* 008BD8 8002D7D8 006B1821 */ addu $v1, $v1, $t3
|
||
|
/* 008BDC 8002D7DC 00031880 */ sll $v1, $v1, 2
|
||
|
/* 008BE0 8002D7E0 006B1823 */ subu $v1, $v1, $t3
|
||
|
/* 008BE4 8002D7E4 000320C0 */ sll $a0, $v1, 3
|
||
|
/* 008BE8 8002D7E8 00641821 */ addu $v1, $v1, $a0
|
||
|
/* 008BEC 8002D7EC 000318C0 */ sll $v1, $v1, 3
|
||
|
/* 008BF0 8002D7F0 0062B021 */ addu $s6, $v1, $v0
|
||
|
/* 008BF4 8002D7F4 3C014080 */ lui $at, 0x4080
|
||
|
/* 008BF8 8002D7F8 4481B000 */ mtc1 $at, $f22
|
||
|
/* 008BFC 8002D7FC 4480A000 */ mtc1 $zero, $f20
|
||
|
/* 008C00 8002D800 3C013F80 */ lui $at, 0x3f80
|
||
|
/* 008C04 8002D804 4481C000 */ mtc1 $at, $f24
|
||
|
.L8002D808:
|
||
|
/* 008C08 8002D808 96C20000 */ lhu $v0, ($s6)
|
||
|
/* 008C0C 8002D80C 104001A0 */ beqz $v0, .L8002DE90
|
||
|
/* 008C10 8002D810 30420082 */ andi $v0, $v0, 0x82
|
||
|
/* 008C14 8002D814 1440019E */ bnez $v0, .L8002DE90
|
||
|
/* 008C18 8002D818 00000000 */ nop
|
||
|
/* 008C1C 8002D81C 8EC201FC */ lw $v0, 0x1fc($s6)
|
||
|
/* 008C20 8002D820 97AB0022 */ lhu $t3, 0x22($sp)
|
||
|
/* 008C24 8002D824 3C01800A */ lui $at, 0x800a
|
||
|
/* 008C28 8002D828 A42BA634 */ sh $t3, -0x59cc($at)
|
||
|
/* 008C2C 8002D82C 50400005 */ beql $v0, $zero, .L8002D844
|
||
|
/* 008C30 8002D830 3C02DC08 */ lui $v0, 0xdc08
|
||
|
/* 008C34 8002D834 0040F809 */ jalr $v0
|
||
|
/* 008C38 8002D838 02C0202D */ daddu $a0, $s6, $zero
|
||
|
/* 008C3C 8002D83C 0800B713 */ j .L8002DC4C
|
||
|
/* 008C40 8002D840 3C0A0001 */ lui $t2, 1
|
||
|
|
||
|
.L8002D844:
|
||
|
/* 008C44 8002D844 34420008 */ ori $v0, $v0, 8
|
||
|
/* 008C48 8002D848 3C04D9C0 */ lui $a0, 0xd9c0
|
||
|
/* 008C4C 8002D84C 3484F9FB */ ori $a0, $a0, 0xf9fb
|
||
|
/* 008C50 8002D850 3C05E300 */ lui $a1, 0xe300
|
||
|
/* 008C54 8002D854 34A50A01 */ ori $a1, $a1, 0xa01
|
||
|
/* 008C58 8002D858 3C06E300 */ lui $a2, 0xe300
|
||
|
/* 008C5C 8002D85C 8EF50000 */ lw $s5, ($s7)
|
||
|
/* 008C60 8002D860 34C60800 */ ori $a2, $a2, 0x800
|
||
|
/* 008C64 8002D864 02A0182D */ daddu $v1, $s5, $zero
|
||
|
/* 008C68 8002D868 26B50008 */ addiu $s5, $s5, 8
|
||
|
/* 008C6C 8002D86C AC620000 */ sw $v0, ($v1)
|
||
|
/* 008C70 8002D870 26C200A0 */ addiu $v0, $s6, 0xa0
|
||
|
/* 008C74 8002D874 AC620004 */ sw $v0, 4($v1)
|
||
|
/* 008C78 8002D878 3C02D700 */ lui $v0, 0xd700
|
||
|
/* 008C7C 8002D87C AEA40000 */ sw $a0, ($s5)
|
||
|
/* 008C80 8002D880 AEA00004 */ sw $zero, 4($s5)
|
||
|
/* 008C84 8002D884 AEA20008 */ sw $v0, 8($s5)
|
||
|
/* 008C88 8002D888 AEA0000C */ sw $zero, 0xc($s5)
|
||
|
/* 008C8C 8002D88C AEA50010 */ sw $a1, 0x10($s5)
|
||
|
/* 008C90 8002D890 AEA00014 */ sw $zero, 0x14($s5)
|
||
|
/* 008C94 8002D894 AEA60018 */ sw $a2, 0x18($s5)
|
||
|
/* 008C98 8002D898 AEA0001C */ sw $zero, 0x1c($s5)
|
||
|
/* 008C9C 8002D89C 86D8000E */ lh $t8, 0xe($s6)
|
||
|
/* 008CA0 8002D8A0 86D90010 */ lh $t9, 0x10($s6)
|
||
|
/* 008CA4 8002D8A4 26A20008 */ addiu $v0, $s5, 8
|
||
|
/* 008CA8 8002D8A8 AEF50000 */ sw $s5, ($s7)
|
||
|
/* 008CAC 8002D8AC AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008CB0 8002D8B0 26A20010 */ addiu $v0, $s5, 0x10
|
||
|
/* 008CB4 8002D8B4 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008CB8 8002D8B8 26A20018 */ addiu $v0, $s5, 0x18
|
||
|
/* 008CBC 8002D8BC AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008CC0 8002D8C0 26A20020 */ addiu $v0, $s5, 0x20
|
||
|
/* 008CC4 8002D8C4 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008CC8 8002D8C8 86C2000A */ lh $v0, 0xa($s6)
|
||
|
/* 008CCC 8002D8CC 86C3000C */ lh $v1, 0xc($s6)
|
||
|
/* 008CD0 8002D8D0 0302F021 */ addu $fp, $t8, $v0
|
||
|
/* 008CD4 8002D8D4 07010002 */ bgez $t8, .L8002D8E0
|
||
|
/* 008CD8 8002D8D8 0323A021 */ addu $s4, $t9, $v1
|
||
|
/* 008CDC 8002D8DC 0000C02D */ daddu $t8, $zero, $zero
|
||
|
.L8002D8E0:
|
||
|
/* 008CE0 8002D8E0 07220001 */ bltzl $t9, .L8002D8E8
|
||
|
/* 008CE4 8002D8E4 0000C82D */ daddu $t9, $zero, $zero
|
||
|
.L8002D8E8:
|
||
|
/* 008CE8 8002D8E8 5BC00001 */ blezl $fp, .L8002D8F0
|
||
|
/* 008CEC 8002D8EC 241E0001 */ addiu $fp, $zero, 1
|
||
|
.L8002D8F0:
|
||
|
/* 008CF0 8002D8F0 5A800001 */ blezl $s4, .L8002D8F8
|
||
|
/* 008CF4 8002D8F4 24140001 */ addiu $s4, $zero, 1
|
||
|
.L8002D8F8:
|
||
|
/* 008CF8 8002D8F8 2B020140 */ slti $v0, $t8, 0x140
|
||
|
/* 008CFC 8002D8FC 50400001 */ beql $v0, $zero, .L8002D904
|
||
|
/* 008D00 8002D900 2418013F */ addiu $t8, $zero, 0x13f
|
||
|
.L8002D904:
|
||
|
/* 008D04 8002D904 2B2200F0 */ slti $v0, $t9, 0xf0
|
||
|
/* 008D08 8002D908 50400001 */ beql $v0, $zero, .L8002D910
|
||
|
/* 008D0C 8002D90C 241900EF */ addiu $t9, $zero, 0xef
|
||
|
.L8002D910:
|
||
|
/* 008D10 8002D910 2BC20141 */ slti $v0, $fp, 0x141
|
||
|
/* 008D14 8002D914 50400001 */ beql $v0, $zero, .L8002D91C
|
||
|
/* 008D18 8002D918 241E0140 */ addiu $fp, $zero, 0x140
|
||
|
.L8002D91C:
|
||
|
/* 008D1C 8002D91C 2A8200F1 */ slti $v0, $s4, 0xf1
|
||
|
/* 008D20 8002D920 50400001 */ beql $v0, $zero, .L8002D928
|
||
|
/* 008D24 8002D924 241400F0 */ addiu $s4, $zero, 0xf0
|
||
|
.L8002D928:
|
||
|
/* 008D28 8002D928 3C03E300 */ lui $v1, 0xe300
|
||
|
/* 008D2C 8002D92C 34630F00 */ ori $v1, $v1, 0xf00
|
||
|
/* 008D30 8002D930 3C04E300 */ lui $a0, 0xe300
|
||
|
/* 008D34 8002D934 34841001 */ ori $a0, $a0, 0x1001
|
||
|
/* 008D38 8002D938 3C05E300 */ lui $a1, 0xe300
|
||
|
/* 008D3C 8002D93C 34A50D01 */ ori $a1, $a1, 0xd01
|
||
|
/* 008D40 8002D940 3C06E300 */ lui $a2, 0xe300
|
||
|
/* 008D44 8002D944 34C60C00 */ ori $a2, $a2, 0xc00
|
||
|
/* 008D48 8002D948 3C07E300 */ lui $a3, 0xe300
|
||
|
/* 008D4C 8002D94C 34E71201 */ ori $a3, $a3, 0x1201
|
||
|
/* 008D50 8002D950 3C08E300 */ lui $t0, 0xe300
|
||
|
/* 008D54 8002D954 35081402 */ ori $t0, $t0, 0x1402
|
||
|
/* 008D58 8002D958 3C0AFCFF */ lui $t2, 0xfcff
|
||
|
/* 008D5C 8002D95C 354AFFFF */ ori $t2, $t2, 0xffff
|
||
|
/* 008D60 8002D960 3C09FFFE */ lui $t1, 0xfffe
|
||
|
/* 008D64 8002D964 3529793C */ ori $t1, $t1, 0x793c
|
||
|
/* 008D68 8002D968 3C0BE300 */ lui $t3, 0xe300
|
||
|
/* 008D6C 8002D96C 356B1700 */ ori $t3, $t3, 0x1700
|
||
|
/* 008D70 8002D970 3C0CE200 */ lui $t4, 0xe200
|
||
|
/* 008D74 8002D974 358C1E01 */ ori $t4, $t4, 0x1e01
|
||
|
/* 008D78 8002D978 3C0DE200 */ lui $t5, 0xe200
|
||
|
/* 008D7C 8002D97C 35AD001C */ ori $t5, $t5, 0x1c
|
||
|
/* 008D80 8002D980 3C0E0F0A */ lui $t6, 0xf0a
|
||
|
/* 008D84 8002D984 35CE4000 */ ori $t6, $t6, 0x4000
|
||
|
/* 008D88 8002D988 3C0FE300 */ lui $t7, 0xe300
|
||
|
/* 008D8C 8002D98C 35EF1801 */ ori $t7, $t7, 0x1801
|
||
|
/* 008D90 8002D990 3C10DB04 */ lui $s0, 0xdb04
|
||
|
/* 008D94 8002D994 36100004 */ ori $s0, $s0, 4
|
||
|
/* 008D98 8002D998 3C11DB04 */ lui $s1, 0xdb04
|
||
|
/* 008D9C 8002D99C 3631000C */ ori $s1, $s1, 0xc
|
||
|
/* 008DA0 8002D9A0 3C12DB04 */ lui $s2, 0xdb04
|
||
|
/* 008DA4 8002D9A4 36520014 */ ori $s2, $s2, 0x14
|
||
|
/* 008DA8 8002D9A8 3C13DB04 */ lui $s3, 0xdb04
|
||
|
/* 008DAC 8002D9AC 3673001C */ ori $s3, $s3, 0x1c
|
||
|
/* 008DB0 8002D9B0 AFAB0028 */ sw $t3, 0x28($sp)
|
||
|
/* 008DB4 8002D9B4 3C0BFF10 */ lui $t3, 0xff10
|
||
|
/* 008DB8 8002D9B8 26A20028 */ addiu $v0, $s5, 0x28
|
||
|
/* 008DBC 8002D9BC AFAB0024 */ sw $t3, 0x24($sp)
|
||
|
/* 008DC0 8002D9C0 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008DC4 8002D9C4 26A20030 */ addiu $v0, $s5, 0x30
|
||
|
/* 008DC8 8002D9C8 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008DCC 8002D9CC 26A20038 */ addiu $v0, $s5, 0x38
|
||
|
/* 008DD0 8002D9D0 AEA30028 */ sw $v1, 0x28($s5)
|
||
|
/* 008DD4 8002D9D4 AEA0002C */ sw $zero, 0x2c($s5)
|
||
|
/* 008DD8 8002D9D8 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008DDC 8002D9DC 26A20040 */ addiu $v0, $s5, 0x40
|
||
|
/* 008DE0 8002D9E0 AEA40030 */ sw $a0, 0x30($s5)
|
||
|
/* 008DE4 8002D9E4 AEA00034 */ sw $zero, 0x34($s5)
|
||
|
/* 008DE8 8002D9E8 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008DEC 8002D9EC 26A20048 */ addiu $v0, $s5, 0x48
|
||
|
/* 008DF0 8002D9F0 AEA50038 */ sw $a1, 0x38($s5)
|
||
|
/* 008DF4 8002D9F4 AEA0003C */ sw $zero, 0x3c($s5)
|
||
|
/* 008DF8 8002D9F8 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008DFC 8002D9FC 3C020008 */ lui $v0, 8
|
||
|
/* 008E00 8002DA00 AEA20044 */ sw $v0, 0x44($s5)
|
||
|
/* 008E04 8002DA04 26A20050 */ addiu $v0, $s5, 0x50
|
||
|
/* 008E08 8002DA08 AEA60040 */ sw $a2, 0x40($s5)
|
||
|
/* 008E0C 8002DA0C AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E10 8002DA10 24022000 */ addiu $v0, $zero, 0x2000
|
||
|
/* 008E14 8002DA14 AEA2004C */ sw $v0, 0x4c($s5)
|
||
|
/* 008E18 8002DA18 26A20058 */ addiu $v0, $s5, 0x58
|
||
|
/* 008E1C 8002DA1C AEA70048 */ sw $a3, 0x48($s5)
|
||
|
/* 008E20 8002DA20 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E24 8002DA24 24020C00 */ addiu $v0, $zero, 0xc00
|
||
|
/* 008E28 8002DA28 AEA20054 */ sw $v0, 0x54($s5)
|
||
|
/* 008E2C 8002DA2C 26A20060 */ addiu $v0, $s5, 0x60
|
||
|
/* 008E30 8002DA30 AEA80050 */ sw $t0, 0x50($s5)
|
||
|
/* 008E34 8002DA34 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E38 8002DA38 26A20068 */ addiu $v0, $s5, 0x68
|
||
|
/* 008E3C 8002DA3C 44981000 */ mtc1 $t8, $f2
|
||
|
/* 008E40 8002DA40 00000000 */ nop
|
||
|
/* 008E44 8002DA44 468010A0 */ cvt.s.w $f2, $f2
|
||
|
/* 008E48 8002DA48 46161082 */ mul.s $f2, $f2, $f22
|
||
|
/* 008E4C 8002DA4C 00000000 */ nop
|
||
|
/* 008E50 8002DA50 AEAA0058 */ sw $t2, 0x58($s5)
|
||
|
/* 008E54 8002DA54 AEA9005C */ sw $t1, 0x5c($s5)
|
||
|
/* 008E58 8002DA58 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E5C 8002DA5C 26A20070 */ addiu $v0, $s5, 0x70
|
||
|
/* 008E60 8002DA60 44990000 */ mtc1 $t9, $f0
|
||
|
/* 008E64 8002DA64 00000000 */ nop
|
||
|
/* 008E68 8002DA68 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 008E6C 8002DA6C 8FAB0028 */ lw $t3, 0x28($sp)
|
||
|
/* 008E70 8002DA70 46160002 */ mul.s $f0, $f0, $f22
|
||
|
/* 008E74 8002DA74 00000000 */ nop
|
||
|
/* 008E78 8002DA78 AEAB0060 */ sw $t3, 0x60($s5)
|
||
|
/* 008E7C 8002DA7C AEA00064 */ sw $zero, 0x64($s5)
|
||
|
/* 008E80 8002DA80 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E84 8002DA84 26A20078 */ addiu $v0, $s5, 0x78
|
||
|
/* 008E88 8002DA88 AEAC0068 */ sw $t4, 0x68($s5)
|
||
|
/* 008E8C 8002DA8C AEA0006C */ sw $zero, 0x6c($s5)
|
||
|
/* 008E90 8002DA90 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008E94 8002DA94 3C02ED00 */ lui $v0, 0xed00
|
||
|
/* 008E98 8002DA98 AEAD0070 */ sw $t5, 0x70($s5)
|
||
|
/* 008E9C 8002DA9C AEAE0074 */ sw $t6, 0x74($s5)
|
||
|
/* 008EA0 8002DAA0 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 008EA4 8002DAA4 44042000 */ mfc1 $a0, $f4
|
||
|
/* 008EA8 8002DAA8 00000000 */ nop
|
||
|
/* 008EAC 8002DAAC 30840FFF */ andi $a0, $a0, 0xfff
|
||
|
/* 008EB0 8002DAB0 00042300 */ sll $a0, $a0, 0xc
|
||
|
/* 008EB4 8002DAB4 4600010D */ trunc.w.s $f4, $f0
|
||
|
/* 008EB8 8002DAB8 44032000 */ mfc1 $v1, $f4
|
||
|
/* 008EBC 8002DABC 449E1000 */ mtc1 $fp, $f2
|
||
|
/* 008EC0 8002DAC0 00000000 */ nop
|
||
|
/* 008EC4 8002DAC4 468010A0 */ cvt.s.w $f2, $f2
|
||
|
/* 008EC8 8002DAC8 46161082 */ mul.s $f2, $f2, $f22
|
||
|
/* 008ECC 8002DACC 00000000 */ nop
|
||
|
/* 008ED0 8002DAD0 30630FFF */ andi $v1, $v1, 0xfff
|
||
|
/* 008ED4 8002DAD4 00621825 */ or $v1, $v1, $v0
|
||
|
/* 008ED8 8002DAD8 00832025 */ or $a0, $a0, $v1
|
||
|
/* 008EDC 8002DADC 44940000 */ mtc1 $s4, $f0
|
||
|
/* 008EE0 8002DAE0 00000000 */ nop
|
||
|
/* 008EE4 8002DAE4 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 008EE8 8002DAE8 46160002 */ mul.s $f0, $f0, $f22
|
||
|
/* 008EEC 8002DAEC 00000000 */ nop
|
||
|
/* 008EF0 8002DAF0 AEA40020 */ sw $a0, 0x20($s5)
|
||
|
/* 008EF4 8002DAF4 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 008EF8 8002DAF8 44032000 */ mfc1 $v1, $f4
|
||
|
/* 008EFC 8002DAFC 00000000 */ nop
|
||
|
/* 008F00 8002DB00 30630FFF */ andi $v1, $v1, 0xfff
|
||
|
/* 008F04 8002DB04 00031B00 */ sll $v1, $v1, 0xc
|
||
|
/* 008F08 8002DB08 4600010D */ trunc.w.s $f4, $f0
|
||
|
/* 008F0C 8002DB0C 44022000 */ mfc1 $v0, $f4
|
||
|
/* 008F10 8002DB10 00000000 */ nop
|
||
|
/* 008F14 8002DB14 30420FFF */ andi $v0, $v0, 0xfff
|
||
|
/* 008F18 8002DB18 00621825 */ or $v1, $v1, $v0
|
||
|
/* 008F1C 8002DB1C 26A20080 */ addiu $v0, $s5, 0x80
|
||
|
/* 008F20 8002DB20 AEA30024 */ sw $v1, 0x24($s5)
|
||
|
/* 008F24 8002DB24 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F28 8002DB28 240200C0 */ addiu $v0, $zero, 0xc0
|
||
|
/* 008F2C 8002DB2C 8FAB0024 */ lw $t3, 0x24($sp)
|
||
|
/* 008F30 8002DB30 3C04800A */ lui $a0, 0x800a
|
||
|
/* 008F34 8002DB34 8C84A64C */ lw $a0, -0x59b4($a0)
|
||
|
/* 008F38 8002DB38 356B013F */ ori $t3, $t3, 0x13f
|
||
|
/* 008F3C 8002DB3C AFAB0024 */ sw $t3, 0x24($sp)
|
||
|
/* 008F40 8002DB40 AEA2007C */ sw $v0, 0x7c($s5)
|
||
|
/* 008F44 8002DB44 26A20088 */ addiu $v0, $s5, 0x88
|
||
|
/* 008F48 8002DB48 240B0002 */ addiu $t3, $zero, 2
|
||
|
/* 008F4C 8002DB4C AEAF0078 */ sw $t7, 0x78($s5)
|
||
|
/* 008F50 8002DB50 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F54 8002DB54 26A20090 */ addiu $v0, $s5, 0x90
|
||
|
/* 008F58 8002DB58 AEB00080 */ sw $s0, 0x80($s5)
|
||
|
/* 008F5C 8002DB5C AEAB0084 */ sw $t3, 0x84($s5)
|
||
|
/* 008F60 8002DB60 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F64 8002DB64 26A20098 */ addiu $v0, $s5, 0x98
|
||
|
/* 008F68 8002DB68 AEAB008C */ sw $t3, 0x8c($s5)
|
||
|
/* 008F6C 8002DB6C 340BFFFE */ ori $t3, $zero, 0xfffe
|
||
|
/* 008F70 8002DB70 AEB10088 */ sw $s1, 0x88($s5)
|
||
|
/* 008F74 8002DB74 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F78 8002DB78 26A200A0 */ addiu $v0, $s5, 0xa0
|
||
|
/* 008F7C 8002DB7C AEB20090 */ sw $s2, 0x90($s5)
|
||
|
/* 008F80 8002DB80 AEAB0094 */ sw $t3, 0x94($s5)
|
||
|
/* 008F84 8002DB84 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F88 8002DB88 26A200A8 */ addiu $v0, $s5, 0xa8
|
||
|
/* 008F8C 8002DB8C AEB30098 */ sw $s3, 0x98($s5)
|
||
|
/* 008F90 8002DB90 AEAB009C */ sw $t3, 0x9c($s5)
|
||
|
/* 008F94 8002DB94 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008F98 8002DB98 8FAB0024 */ lw $t3, 0x24($sp)
|
||
|
/* 008F9C 8002DB9C 0C0187A4 */ jal osVirtualToPhysical
|
||
|
/* 008FA0 8002DBA0 AEAB00A0 */ sw $t3, 0xa0($s5)
|
||
|
/* 008FA4 8002DBA4 8EE40000 */ lw $a0, ($s7)
|
||
|
/* 008FA8 8002DBA8 AEA200A4 */ sw $v0, 0xa4($s5)
|
||
|
/* 008FAC 8002DBAC 0080102D */ daddu $v0, $a0, $zero
|
||
|
/* 008FB0 8002DBB0 3C0BE700 */ lui $t3, 0xe700
|
||
|
/* 008FB4 8002DBB4 AC4B0000 */ sw $t3, ($v0)
|
||
|
/* 008FB8 8002DBB8 AC400004 */ sw $zero, 4($v0)
|
||
|
/* 008FBC 8002DBBC 96C20000 */ lhu $v0, ($s6)
|
||
|
/* 008FC0 8002DBC0 24840008 */ addiu $a0, $a0, 8
|
||
|
/* 008FC4 8002DBC4 30420010 */ andi $v0, $v0, 0x10
|
||
|
/* 008FC8 8002DBC8 14400007 */ bnez $v0, .L8002DBE8
|
||
|
/* 008FCC 8002DBCC AEE40000 */ sw $a0, ($s7)
|
||
|
/* 008FD0 8002DBD0 3C02DB0E */ lui $v0, 0xdb0e
|
||
|
/* 008FD4 8002DBD4 AC820000 */ sw $v0, ($a0)
|
||
|
/* 008FD8 8002DBD8 96C30038 */ lhu $v1, 0x38($s6)
|
||
|
/* 008FDC 8002DBDC 24820008 */ addiu $v0, $a0, 8
|
||
|
/* 008FE0 8002DBE0 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 008FE4 8002DBE4 AC830004 */ sw $v1, 4($a0)
|
||
|
.L8002DBE8:
|
||
|
/* 008FE8 8002DBE8 26C400D4 */ addiu $a0, $s6, 0xd4
|
||
|
/* 008FEC 8002DBEC 3C05800A */ lui $a1, 0x800a
|
||
|
/* 008FF0 8002DBF0 84A5A634 */ lh $a1, -0x59cc($a1)
|
||
|
/* 008FF4 8002DBF4 3C02800A */ lui $v0, 0x800a
|
||
|
/* 008FF8 8002DBF8 8C42A674 */ lw $v0, -0x598c($v0)
|
||
|
/* 008FFC 8002DBFC 00052980 */ sll $a1, $a1, 6
|
||
|
/* 009000 8002DC00 24A50030 */ addiu $a1, $a1, 0x30
|
||
|
/* 009004 8002DC04 0C019D40 */ jal guMtxF2L
|
||
|
/* 009008 8002DC08 00452821 */ addu $a1, $v0, $a1
|
||
|
/* 00900C 8002DC0C 3C05DA38 */ lui $a1, 0xda38
|
||
|
/* 009010 8002DC10 34A50007 */ ori $a1, $a1, 7
|
||
|
/* 009014 8002DC14 8EE20000 */ lw $v0, ($s7)
|
||
|
/* 009018 8002DC18 3C03800A */ lui $v1, 0x800a
|
||
|
/* 00901C 8002DC1C 8463A634 */ lh $v1, -0x59cc($v1)
|
||
|
/* 009020 8002DC20 0040202D */ daddu $a0, $v0, $zero
|
||
|
/* 009024 8002DC24 24420008 */ addiu $v0, $v0, 8
|
||
|
/* 009028 8002DC28 00031980 */ sll $v1, $v1, 6
|
||
|
/* 00902C 8002DC2C AEE20000 */ sw $v0, ($s7)
|
||
|
/* 009030 8002DC30 3C02800A */ lui $v0, 0x800a
|
||
|
/* 009034 8002DC34 8C42A674 */ lw $v0, -0x598c($v0)
|
||
|
/* 009038 8002DC38 24630030 */ addiu $v1, $v1, 0x30
|
||
|
/* 00903C 8002DC3C AC850000 */ sw $a1, ($a0)
|
||
|
/* 009040 8002DC40 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 009044 8002DC44 AC820004 */ sw $v0, 4($a0)
|
||
|
/* 009048 8002DC48 3C0A0001 */ lui $t2, 1
|
||
|
.L8002DC4C:
|
||
|
/* 00904C 8002DC4C 354A1630 */ ori $t2, $t2, 0x1630
|
||
|
/* 009050 8002DC50 3C098007 */ lui $t1, 0x8007
|
||
|
/* 009054 8002DC54 252941F0 */ addiu $t1, $t1, 0x41f0
|
||
|
/* 009058 8002DC58 4406A000 */ mfc1 $a2, $f20
|
||
|
/* 00905C 8002DC5C 95280000 */ lhu $t0, ($t1)
|
||
|
/* 009060 8002DC60 4407C000 */ mfc1 $a3, $f24
|
||
|
/* 009064 8002DC64 3C03800A */ lui $v1, 0x800a
|
||
|
/* 009068 8002DC68 8C63A674 */ lw $v1, -0x598c($v1)
|
||
|
/* 00906C 8002DC6C C6C00084 */ lwc1 $f0, 0x84($s6)
|
||
|
/* 009070 8002DC70 3104FFFF */ andi $a0, $t0, 0xffff
|
||
|
/* 009074 8002DC74 00042180 */ sll $a0, $a0, 6
|
||
|
/* 009078 8002DC78 008A2021 */ addu $a0, $a0, $t2
|
||
|
/* 00907C 8002DC7C 00642021 */ addu $a0, $v1, $a0
|
||
|
/* 009080 8002DC80 3102FFFF */ andi $v0, $t0, 0xffff
|
||
|
/* 009084 8002DC84 00021180 */ sll $v0, $v0, 6
|
||
|
/* 009088 8002DC88 004A1021 */ addu $v0, $v0, $t2
|
||
|
/* 00908C 8002DC8C 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 009090 8002DC90 46000007 */ neg.s $f0, $f0
|
||
|
/* 009094 8002DC94 44050000 */ mfc1 $a1, $f0
|
||
|
/* 009098 8002DC98 25080001 */ addiu $t0, $t0, 1
|
||
|
/* 00909C 8002DC9C AEC30204 */ sw $v1, 0x204($s6)
|
||
|
/* 0090A0 8002DCA0 A5280000 */ sh $t0, ($t1)
|
||
|
/* 0090A4 8002DCA4 0C019F20 */ jal guRotate
|
||
|
/* 0090A8 8002DCA8 E7B40010 */ swc1 $f20, 0x10($sp)
|
||
|
/* 0090AC 8002DCAC 3C048007 */ lui $a0, 0x8007
|
||
|
/* 0090B0 8002DCB0 8C84419C */ lw $a0, 0x419c($a0)
|
||
|
/* 0090B4 8002DCB4 90820082 */ lbu $v0, 0x82($a0)
|
||
|
/* 0090B8 8002DCB8 96C300A8 */ lhu $v1, 0xa8($s6)
|
||
|
/* 0090BC 8002DCBC 00021600 */ sll $v0, $v0, 0x18
|
||
|
/* 0090C0 8002DCC0 00021603 */ sra $v0, $v0, 0x18
|
||
|
/* 0090C4 8002DCC4 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 0090C8 8002DCC8 A6C300B8 */ sh $v1, 0xb8($s6)
|
||
|
/* 0090CC 8002DCCC 90830083 */ lbu $v1, 0x83($a0)
|
||
|
/* 0090D0 8002DCD0 96C200AA */ lhu $v0, 0xaa($s6)
|
||
|
/* 0090D4 8002DCD4 96C40000 */ lhu $a0, ($s6)
|
||
|
/* 0090D8 8002DCD8 00031E00 */ sll $v1, $v1, 0x18
|
||
|
/* 0090DC 8002DCDC 00031E03 */ sra $v1, $v1, 0x18
|
||
|
/* 0090E0 8002DCE0 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 0090E4 8002DCE4 A6C200BA */ sh $v0, 0xba($s6)
|
||
|
/* 0090E8 8002DCE8 30820010 */ andi $v0, $a0, 0x10
|
||
|
/* 0090EC 8002DCEC 14400048 */ bnez $v0, .L8002DE10
|
||
|
/* 0090F0 8002DCF0 24020003 */ addiu $v0, $zero, 3
|
||
|
/* 0090F4 8002DCF4 3C03800A */ lui $v1, 0x800a
|
||
|
/* 0090F8 8002DCF8 8463A634 */ lh $v1, -0x59cc($v1)
|
||
|
/* 0090FC 8002DCFC 10620019 */ beq $v1, $v0, .L8002DD64
|
||
|
/* 009100 8002DD00 30820200 */ andi $v0, $a0, 0x200
|
||
|
/* 009104 8002DD04 14400003 */ bnez $v0, .L8002DD14
|
||
|
/* 009108 8002DD08 00000000 */ nop
|
||
|
/* 00910C 8002DD0C 0C043FAD */ jal func_8010FEB4
|
||
|
/* 009110 8002DD10 00000000 */ nop
|
||
|
.L8002DD14:
|
||
|
/* 009114 8002DD14 96C20000 */ lhu $v0, ($s6)
|
||
|
/* 009118 8002DD18 30420400 */ andi $v0, $v0, 0x400
|
||
|
/* 00911C 8002DD1C 14400003 */ bnez $v0, .L8002DD2C
|
||
|
/* 009120 8002DD20 00000000 */ nop
|
||
|
/* 009124 8002DD24 0C045AE4 */ jal render_models
|
||
|
/* 009128 8002DD28 00000000 */ nop
|
||
|
.L8002DD2C:
|
||
|
/* 00912C 8002DD2C 0C03844E */ jal render_player
|
||
|
/* 009130 8002DD30 00000000 */ nop
|
||
|
/* 009134 8002DD34 0C00E9FC */ jal render_npcs
|
||
|
/* 009138 8002DD38 00000000 */ nop
|
||
|
/* 00913C 8002DD3C 0C048D1C */ jal func_80123470
|
||
|
/* 009140 8002DD40 00000000 */ nop
|
||
|
/* 009144 8002DD44 0C0167BD */ jal render_effects
|
||
|
/* 009148 8002DD48 00000000 */ nop
|
||
|
/* 00914C 8002DD4C 0C04766E */ jal func_8011D9B8
|
||
|
/* 009150 8002DD50 00000000 */ nop
|
||
|
/* 009154 8002DD54 0C050DAD */ jal render_menu_icons
|
||
|
/* 009158 8002DD58 00000000 */ nop
|
||
|
/* 00915C 8002DD5C 0800B788 */ j .L8002DE20
|
||
|
/* 009160 8002DD60 00000000 */ nop
|
||
|
|
||
|
.L8002DD64:
|
||
|
/* 009164 8002DD64 26D000D4 */ addiu $s0, $s6, 0xd4
|
||
|
/* 009168 8002DD68 4405A000 */ mfc1 $a1, $f20
|
||
|
/* 00916C 8002DD6C 3C0643A0 */ lui $a2, 0x43a0
|
||
|
/* 009170 8002DD70 3C07C370 */ lui $a3, 0xc370
|
||
|
/* 009174 8002DD74 3C01C47A */ lui $at, 0xc47a
|
||
|
/* 009178 8002DD78 44810000 */ mtc1 $at, $f0
|
||
|
/* 00917C 8002DD7C 3C01447A */ lui $at, 0x447a
|
||
|
/* 009180 8002DD80 44811000 */ mtc1 $at, $f2
|
||
|
/* 009184 8002DD84 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 009188 8002DD88 E7B40010 */ swc1 $f20, 0x10($sp)
|
||
|
/* 00918C 8002DD8C E7B8001C */ swc1 $f24, 0x1c($sp)
|
||
|
/* 009190 8002DD90 E7A00014 */ swc1 $f0, 0x14($sp)
|
||
|
/* 009194 8002DD94 0C018E44 */ jal guOrthoF
|
||
|
/* 009198 8002DD98 E7A20018 */ swc1 $f2, 0x18($sp)
|
||
|
/* 00919C 8002DD9C 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 0091A0 8002DDA0 3C05800A */ lui $a1, 0x800a
|
||
|
/* 0091A4 8002DDA4 84A5A634 */ lh $a1, -0x59cc($a1)
|
||
|
/* 0091A8 8002DDA8 3C02800A */ lui $v0, 0x800a
|
||
|
/* 0091AC 8002DDAC 8C42A674 */ lw $v0, -0x598c($v0)
|
||
|
/* 0091B0 8002DDB0 00052980 */ sll $a1, $a1, 6
|
||
|
/* 0091B4 8002DDB4 24A50030 */ addiu $a1, $a1, 0x30
|
||
|
/* 0091B8 8002DDB8 0C019D40 */ jal guMtxF2L
|
||
|
/* 0091BC 8002DDBC 00452821 */ addu $a1, $v0, $a1
|
||
|
/* 0091C0 8002DDC0 3C05DA38 */ lui $a1, 0xda38
|
||
|
/* 0091C4 8002DDC4 34A50007 */ ori $a1, $a1, 7
|
||
|
/* 0091C8 8002DDC8 8EE20000 */ lw $v0, ($s7)
|
||
|
/* 0091CC 8002DDCC 3C03800A */ lui $v1, 0x800a
|
||
|
/* 0091D0 8002DDD0 8463A634 */ lh $v1, -0x59cc($v1)
|
||
|
/* 0091D4 8002DDD4 0040202D */ daddu $a0, $v0, $zero
|
||
|
/* 0091D8 8002DDD8 24420008 */ addiu $v0, $v0, 8
|
||
|
/* 0091DC 8002DDDC 00031980 */ sll $v1, $v1, 6
|
||
|
/* 0091E0 8002DDE0 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 0091E4 8002DDE4 3C02800A */ lui $v0, 0x800a
|
||
|
/* 0091E8 8002DDE8 8C42A674 */ lw $v0, -0x598c($v0)
|
||
|
/* 0091EC 8002DDEC 24630030 */ addiu $v1, $v1, 0x30
|
||
|
/* 0091F0 8002DDF0 AC850000 */ sw $a1, ($a0)
|
||
|
/* 0091F4 8002DDF4 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 0091F8 8002DDF8 0C050DAD */ jal render_menu_icons
|
||
|
/* 0091FC 8002DDFC AC820004 */ sw $v0, 4($a0)
|
||
|
/* 009200 8002DE00 0C04CB95 */ jal func_80132E54
|
||
|
/* 009204 8002DE04 00000000 */ nop
|
||
|
/* 009208 8002DE08 0800B788 */ j .L8002DE20
|
||
|
/* 00920C 8002DE0C 00000000 */ nop
|
||
|
|
||
|
.L8002DE10:
|
||
|
/* 009210 8002DE10 0C048D1C */ jal func_80123470
|
||
|
/* 009214 8002DE14 00000000 */ nop
|
||
|
/* 009218 8002DE18 0C04766E */ jal func_8011D9B8
|
||
|
/* 00921C 8002DE1C 00000000 */ nop
|
||
|
.L8002DE20:
|
||
|
/* 009220 8002DE20 8EC20200 */ lw $v0, 0x200($s6)
|
||
|
/* 009224 8002DE24 10400004 */ beqz $v0, .L8002DE38
|
||
|
/* 009228 8002DE28 3C03FF10 */ lui $v1, 0xff10
|
||
|
/* 00922C 8002DE2C 0040F809 */ jalr $v0
|
||
|
/* 009230 8002DE30 02C0202D */ daddu $a0, $s6, $zero
|
||
|
/* 009234 8002DE34 3C03FF10 */ lui $v1, 0xff10
|
||
|
.L8002DE38:
|
||
|
/* 009238 8002DE38 3463013F */ ori $v1, $v1, 0x13f
|
||
|
/* 00923C 8002DE3C 8EF00000 */ lw $s0, ($s7)
|
||
|
/* 009240 8002DE40 3C04800A */ lui $a0, 0x800a
|
||
|
/* 009244 8002DE44 8C84A64C */ lw $a0, -0x59b4($a0)
|
||
|
/* 009248 8002DE48 0200102D */ daddu $v0, $s0, $zero
|
||
|
/* 00924C 8002DE4C 26100008 */ addiu $s0, $s0, 8
|
||
|
/* 009250 8002DE50 3C0BE700 */ lui $t3, 0xe700
|
||
|
/* 009254 8002DE54 AEF00000 */ sw $s0, ($s7)
|
||
|
/* 009258 8002DE58 AC4B0000 */ sw $t3, ($v0)
|
||
|
/* 00925C 8002DE5C AC400004 */ sw $zero, 4($v0)
|
||
|
/* 009260 8002DE60 26020008 */ addiu $v0, $s0, 8
|
||
|
/* 009264 8002DE64 AEE20000 */ sw $v0, ($s7)
|
||
|
/* 009268 8002DE68 0C0187A4 */ jal osVirtualToPhysical
|
||
|
/* 00926C 8002DE6C AE030000 */ sw $v1, ($s0)
|
||
|
/* 009270 8002DE70 8EE30000 */ lw $v1, ($s7)
|
||
|
/* 009274 8002DE74 AE020004 */ sw $v0, 4($s0)
|
||
|
/* 009278 8002DE78 0060102D */ daddu $v0, $v1, $zero
|
||
|
/* 00927C 8002DE7C 24630008 */ addiu $v1, $v1, 8
|
||
|
/* 009280 8002DE80 3C0BE700 */ lui $t3, 0xe700
|
||
|
/* 009284 8002DE84 AEE30000 */ sw $v1, ($s7)
|
||
|
/* 009288 8002DE88 AC4B0000 */ sw $t3, ($v0)
|
||
|
/* 00928C 8002DE8C AC400004 */ sw $zero, 4($v0)
|
||
|
.L8002DE90:
|
||
|
/* 009290 8002DE90 8FAB0020 */ lw $t3, 0x20($sp)
|
||
|
/* 009294 8002DE94 256B0001 */ addiu $t3, $t3, 1
|
||
|
/* 009298 8002DE98 AFAB0020 */ sw $t3, 0x20($sp)
|
||
|
/* 00929C 8002DE9C 8FAB0070 */ lw $t3, 0x70($sp)
|
||
|
/* 0092A0 8002DEA0 24020004 */ addiu $v0, $zero, 4
|
||
|
/* 0092A4 8002DEA4 004B1023 */ subu $v0, $v0, $t3
|
||
|
/* 0092A8 8002DEA8 8FAB0020 */ lw $t3, 0x20($sp)
|
||
|
/* 0092AC 8002DEAC 0162102A */ slt $v0, $t3, $v0
|
||
|
/* 0092B0 8002DEB0 1440FE55 */ bnez $v0, .L8002D808
|
||
|
/* 0092B4 8002DEB4 26D60558 */ addiu $s6, $s6, 0x558
|
||
|
.L8002DEB8:
|
||
|
/* 0092B8 8002DEB8 8FBF0054 */ lw $ra, 0x54($sp)
|
||
|
/* 0092BC 8002DEBC 8FBE0050 */ lw $fp, 0x50($sp)
|
||
|
/* 0092C0 8002DEC0 8FB7004C */ lw $s7, 0x4c($sp)
|
||
|
/* 0092C4 8002DEC4 8FB60048 */ lw $s6, 0x48($sp)
|
||
|
/* 0092C8 8002DEC8 8FB50044 */ lw $s5, 0x44($sp)
|
||
|
/* 0092CC 8002DECC 8FB40040 */ lw $s4, 0x40($sp)
|
||
|
/* 0092D0 8002DED0 8FB3003C */ lw $s3, 0x3c($sp)
|
||
|
/* 0092D4 8002DED4 8FB20038 */ lw $s2, 0x38($sp)
|
||
|
/* 0092D8 8002DED8 8FB10034 */ lw $s1, 0x34($sp)
|
||
|
/* 0092DC 8002DEDC 8FB00030 */ lw $s0, 0x30($sp)
|
||
|
/* 0092E0 8002DEE0 D7B80068 */ ldc1 $f24, 0x68($sp)
|
||
|
/* 0092E4 8002DEE4 D7B60060 */ ldc1 $f22, 0x60($sp)
|
||
|
/* 0092E8 8002DEE8 D7B40058 */ ldc1 $f20, 0x58($sp)
|
||
|
/* 0092EC 8002DEEC 03E00008 */ jr $ra
|
||
|
/* 0092F0 8002DEF0 27BD0070 */ addiu $sp, $sp, 0x70
|
||
|
|