mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
510 lines
25 KiB
ArmAsm
510 lines
25 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_802E581C
|
|
/* 10709C 802E581C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 1070A0 802E5820 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 1070A4 802E5824 0080802D */ daddu $s0, $a0, $zero
|
|
/* 1070A8 802E5828 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 1070AC 802E582C 8E020040 */ lw $v0, 0x40($s0)
|
|
/* 1070B0 802E5830 0C04417A */ jal get_entity_by_index
|
|
/* 1070B4 802E5834 90440000 */ lbu $a0, ($v0)
|
|
/* 1070B8 802E5838 C4400048 */ lwc1 $f0, 0x48($v0)
|
|
/* 1070BC 802E583C 3C014160 */ lui $at, 0x4160
|
|
/* 1070C0 802E5840 44811000 */ mtc1 $at, $f2
|
|
/* 1070C4 802E5844 E6000048 */ swc1 $f0, 0x48($s0)
|
|
/* 1070C8 802E5848 C440004C */ lwc1 $f0, 0x4c($v0)
|
|
/* 1070CC 802E584C 46020000 */ add.s $f0, $f0, $f2
|
|
/* 1070D0 802E5850 E600004C */ swc1 $f0, 0x4c($s0)
|
|
/* 1070D4 802E5854 C4400050 */ lwc1 $f0, 0x50($v0)
|
|
/* 1070D8 802E5858 E6000050 */ swc1 $f0, 0x50($s0)
|
|
/* 1070DC 802E585C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 1070E0 802E5860 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 1070E4 802E5864 03E00008 */ jr $ra
|
|
/* 1070E8 802E5868 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|
|
/* 1070EC 802E586C 27BDFF68 */ addiu $sp, $sp, -0x98
|
|
/* 1070F0 802E5870 AFB60088 */ sw $s6, 0x88($sp)
|
|
/* 1070F4 802E5874 3C16800A */ lui $s6, 0x800a
|
|
/* 1070F8 802E5878 8ED6A66C */ lw $s6, -0x5994($s6)
|
|
/* 1070FC 802E587C AFBF0094 */ sw $ra, 0x94($sp)
|
|
/* 107100 802E5880 AFBE0090 */ sw $fp, 0x90($sp)
|
|
/* 107104 802E5884 AFB7008C */ sw $s7, 0x8c($sp)
|
|
/* 107108 802E5888 AFB50084 */ sw $s5, 0x84($sp)
|
|
/* 10710C 802E588C AFB40080 */ sw $s4, 0x80($sp)
|
|
/* 107110 802E5890 AFB3007C */ sw $s3, 0x7c($sp)
|
|
/* 107114 802E5894 AFB20078 */ sw $s2, 0x78($sp)
|
|
/* 107118 802E5898 AFB10074 */ sw $s1, 0x74($sp)
|
|
/* 10711C 802E589C 0C04417A */ jal get_entity_by_index
|
|
/* 107120 802E58A0 AFB00070 */ sw $s0, 0x70($sp)
|
|
/* 107124 802E58A4 AFA20060 */ sw $v0, 0x60($sp)
|
|
/* 107128 802E58A8 8C570040 */ lw $s7, 0x40($v0)
|
|
/* 10712C 802E58AC 92E20008 */ lbu $v0, 8($s7)
|
|
/* 107130 802E58B0 14400011 */ bnez $v0, .L802E58F8
|
|
/* 107134 802E58B4 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 107138 802E58B8 92E30009 */ lbu $v1, 9($s7)
|
|
/* 10713C 802E58BC 3C05802F */ lui $a1, 0x802f
|
|
/* 107140 802E58C0 24A5A870 */ addiu $a1, $a1, -0x5790
|
|
/* 107144 802E58C4 24630002 */ addiu $v1, $v1, 2
|
|
/* 107148 802E58C8 3C02802F */ lui $v0, 0x802f
|
|
/* 10714C 802E58CC 00431021 */ addu $v0, $v0, $v1
|
|
/* 107150 802E58D0 8042A870 */ lb $v0, -0x5790($v0)
|
|
/* 107154 802E58D4 3C04802F */ lui $a0, 0x802f
|
|
/* 107158 802E58D8 00832021 */ addu $a0, $a0, $v1
|
|
/* 10715C 802E58DC 18400004 */ blez $v0, .L802E58F0
|
|
/* 107160 802E58E0 9084A870 */ lbu $a0, -0x5790($a0)
|
|
/* 107164 802E58E4 A2E40008 */ sb $a0, 8($s7)
|
|
/* 107168 802E58E8 080B963F */ j .L802E58FC
|
|
/* 10716C 802E58EC A2E30009 */ sb $v1, 9($s7)
|
|
|
|
.L802E58F0:
|
|
/* 107170 802E58F0 90A20000 */ lbu $v0, ($a1)
|
|
/* 107174 802E58F4 A2E00009 */ sb $zero, 9($s7)
|
|
.L802E58F8:
|
|
/* 107178 802E58F8 A2E20008 */ sb $v0, 8($s7)
|
|
.L802E58FC:
|
|
/* 10717C 802E58FC 02C0382D */ daddu $a3, $s6, $zero
|
|
/* 107180 802E5900 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107184 802E5904 02E0202D */ daddu $a0, $s7, $zero
|
|
/* 107188 802E5908 24050001 */ addiu $a1, $zero, 1
|
|
/* 10718C 802E590C 92E20009 */ lbu $v0, 9($s7)
|
|
/* 107190 802E5910 8FAF0060 */ lw $t7, 0x60($sp)
|
|
/* 107194 802E5914 8EF5012C */ lw $s5, 0x12c($s7)
|
|
/* 107198 802E5918 3C01802F */ lui $at, 0x802f
|
|
/* 10719C 802E591C 00220821 */ addu $at, $at, $v0
|
|
/* 1071A0 802E5920 8022A871 */ lb $v0, -0x578f($at)
|
|
/* 1071A4 802E5924 8DE30044 */ lw $v1, 0x44($t7)
|
|
/* 1071A8 802E5928 00021080 */ sll $v0, $v0, 2
|
|
/* 1071AC 802E592C 3C06802F */ lui $a2, 0x802f
|
|
/* 1071B0 802E5930 00C23021 */ addu $a2, $a2, $v0
|
|
/* 1071B4 802E5934 94C6A862 */ lhu $a2, -0x579e($a2)
|
|
/* 1071B8 802E5938 3C02E700 */ lui $v0, 0xe700
|
|
/* 1071BC 802E593C AFB50058 */ sw $s5, 0x58($sp)
|
|
/* 1071C0 802E5940 ACE20000 */ sw $v0, ($a3)
|
|
/* 1071C4 802E5944 ACE00004 */ sw $zero, 4($a3)
|
|
/* 1071C8 802E5948 00661821 */ addu $v1, $v1, $a2
|
|
/* 1071CC 802E594C 0C0B959C */ jal func_802E5670
|
|
/* 1071D0 802E5950 AFA3005C */ sw $v1, 0x5c($sp)
|
|
/* 1071D4 802E5954 44050000 */ mfc1 $a1, $f0
|
|
/* 1071D8 802E5958 44800000 */ mtc1 $zero, $f0
|
|
/* 1071DC 802E595C 3C073F80 */ lui $a3, 0x3f80
|
|
/* 1071E0 802E5960 44060000 */ mfc1 $a2, $f0
|
|
/* 1071E4 802E5964 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 1071E8 802E5968 0C019EC8 */ jal guRotateF
|
|
/* 1071EC 802E596C AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 1071F0 802E5970 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 1071F4 802E5974 26F00010 */ addiu $s0, $s7, 0x10
|
|
/* 1071F8 802E5978 0C019D40 */ jal guMtxF2L
|
|
/* 1071FC 802E597C 0200282D */ daddu $a1, $s0, $zero
|
|
/* 107200 802E5980 3C040001 */ lui $a0, 1
|
|
/* 107204 802E5984 34841630 */ ori $a0, $a0, 0x1630
|
|
/* 107208 802E5988 26E50050 */ addiu $a1, $s7, 0x50
|
|
/* 10720C 802E598C 3C028007 */ lui $v0, 0x8007
|
|
/* 107210 802E5990 944241F0 */ lhu $v0, 0x41f0($v0)
|
|
/* 107214 802E5994 3C03800A */ lui $v1, 0x800a
|
|
/* 107218 802E5998 8C63A674 */ lw $v1, -0x598c($v1)
|
|
/* 10721C 802E599C 00021180 */ sll $v0, $v0, 6
|
|
/* 107220 802E59A0 00621821 */ addu $v1, $v1, $v0
|
|
/* 107224 802E59A4 00641821 */ addu $v1, $v1, $a0
|
|
.L802E59A8:
|
|
/* 107228 802E59A8 8E180000 */ lw $t8, ($s0)
|
|
/* 10722C 802E59AC 8E190004 */ lw $t9, 4($s0)
|
|
/* 107230 802E59B0 8E0F0008 */ lw $t7, 8($s0)
|
|
/* 107234 802E59B4 8E15000C */ lw $s5, 0xc($s0)
|
|
/* 107238 802E59B8 AC780000 */ sw $t8, ($v1)
|
|
/* 10723C 802E59BC AC790004 */ sw $t9, 4($v1)
|
|
/* 107240 802E59C0 AC6F0008 */ sw $t7, 8($v1)
|
|
/* 107244 802E59C4 AC75000C */ sw $s5, 0xc($v1)
|
|
/* 107248 802E59C8 26100010 */ addiu $s0, $s0, 0x10
|
|
/* 10724C 802E59CC 1605FFF6 */ bne $s0, $a1, .L802E59A8
|
|
/* 107250 802E59D0 24630010 */ addiu $v1, $v1, 0x10
|
|
/* 107254 802E59D4 02C0702D */ daddu $t6, $s6, $zero
|
|
/* 107258 802E59D8 26D60008 */ addiu $s6, $s6, 8
|
|
/* 10725C 802E59DC 3C180001 */ lui $t8, 1
|
|
/* 107260 802E59E0 37181630 */ ori $t8, $t8, 0x1630
|
|
/* 107264 802E59E4 02C0682D */ daddu $t5, $s6, $zero
|
|
/* 107268 802E59E8 26D60008 */ addiu $s6, $s6, 8
|
|
/* 10726C 802E59EC 3C19E200 */ lui $t9, 0xe200
|
|
/* 107270 802E59F0 3739001C */ ori $t9, $t9, 0x1c
|
|
/* 107274 802E59F4 3C140055 */ lui $s4, 0x55
|
|
/* 107278 802E59F8 36943078 */ ori $s4, $s4, 0x3078
|
|
/* 10727C 802E59FC 02C0582D */ daddu $t3, $s6, $zero
|
|
/* 107280 802E5A00 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107284 802E5A04 3C12FC12 */ lui $s2, 0xfc12
|
|
/* 107288 802E5A08 36521824 */ ori $s2, $s2, 0x1824
|
|
/* 10728C 802E5A0C 3C10FF33 */ lui $s0, 0xff33
|
|
/* 107290 802E5A10 3610FFFF */ ori $s0, $s0, 0xffff
|
|
/* 107294 802E5A14 02C0202D */ daddu $a0, $s6, $zero
|
|
/* 107298 802E5A18 26D60008 */ addiu $s6, $s6, 8
|
|
/* 10729C 802E5A1C 02C0282D */ daddu $a1, $s6, $zero
|
|
/* 1072A0 802E5A20 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072A4 802E5A24 02C0402D */ daddu $t0, $s6, $zero
|
|
/* 1072A8 802E5A28 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072AC 802E5A2C 3C0FF500 */ lui $t7, 0xf500
|
|
/* 1072B0 802E5A30 35EF0100 */ ori $t7, $t7, 0x100
|
|
/* 1072B4 802E5A34 02C0302D */ daddu $a2, $s6, $zero
|
|
/* 1072B8 802E5A38 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072BC 802E5A3C 02C0482D */ daddu $t1, $s6, $zero
|
|
/* 1072C0 802E5A40 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072C4 802E5A44 3C130703 */ lui $s3, 0x703
|
|
/* 1072C8 802E5A48 3673C000 */ ori $s3, $s3, 0xc000
|
|
/* 1072CC 802E5A4C 02C0382D */ daddu $a3, $s6, $zero
|
|
/* 1072D0 802E5A50 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072D4 802E5A54 02C0502D */ daddu $t2, $s6, $zero
|
|
/* 1072D8 802E5A58 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1072DC 802E5A5C 02C0602D */ daddu $t4, $s6, $zero
|
|
/* 1072E0 802E5A60 3C11D838 */ lui $s1, 0xd838
|
|
/* 1072E4 802E5A64 36310002 */ ori $s1, $s1, 2
|
|
/* 1072E8 802E5A68 3C1E8007 */ lui $fp, 0x8007
|
|
/* 1072EC 802E5A6C 27DE41F0 */ addiu $fp, $fp, 0x41f0
|
|
/* 1072F0 802E5A70 AFB80064 */ sw $t8, 0x64($sp)
|
|
/* 1072F4 802E5A74 97C20000 */ lhu $v0, ($fp)
|
|
/* 1072F8 802E5A78 3C03DA38 */ lui $v1, 0xda38
|
|
/* 1072FC 802E5A7C ADC30000 */ sw $v1, ($t6)
|
|
/* 107300 802E5A80 24430001 */ addiu $v1, $v0, 1
|
|
/* 107304 802E5A84 3042FFFF */ andi $v0, $v0, 0xffff
|
|
/* 107308 802E5A88 00021180 */ sll $v0, $v0, 6
|
|
/* 10730C 802E5A8C A7C30000 */ sh $v1, ($fp)
|
|
/* 107310 802E5A90 3C03800A */ lui $v1, 0x800a
|
|
/* 107314 802E5A94 8C63A674 */ lw $v1, -0x598c($v1)
|
|
/* 107318 802E5A98 00581021 */ addu $v0, $v0, $t8
|
|
/* 10731C 802E5A9C 00621821 */ addu $v1, $v1, $v0
|
|
/* 107320 802E5AA0 3C02FD10 */ lui $v0, 0xfd10
|
|
/* 107324 802E5AA4 ADC30004 */ sw $v1, 4($t6)
|
|
/* 107328 802E5AA8 ADB90000 */ sw $t9, ($t5)
|
|
/* 10732C 802E5AAC ADB40004 */ sw $s4, 4($t5)
|
|
/* 107330 802E5AB0 AD720000 */ sw $s2, ($t3)
|
|
/* 107334 802E5AB4 AD700004 */ sw $s0, 4($t3)
|
|
/* 107338 802E5AB8 AC820000 */ sw $v0, ($a0)
|
|
/* 10733C 802E5ABC 8FB5005C */ lw $s5, 0x5c($sp)
|
|
/* 107340 802E5AC0 3C02E800 */ lui $v0, 0xe800
|
|
/* 107344 802E5AC4 AC950004 */ sw $s5, 4($a0)
|
|
/* 107348 802E5AC8 ACA20000 */ sw $v0, ($a1)
|
|
/* 10734C 802E5ACC 3C020700 */ lui $v0, 0x700
|
|
/* 107350 802E5AD0 ACA00004 */ sw $zero, 4($a1)
|
|
/* 107354 802E5AD4 AD020004 */ sw $v0, 4($t0)
|
|
/* 107358 802E5AD8 3C02E600 */ lui $v0, 0xe600
|
|
/* 10735C 802E5ADC AD0F0000 */ sw $t7, ($t0)
|
|
/* 107360 802E5AE0 ACC20000 */ sw $v0, ($a2)
|
|
/* 107364 802E5AE4 3C02F000 */ lui $v0, 0xf000
|
|
/* 107368 802E5AE8 ACC00004 */ sw $zero, 4($a2)
|
|
/* 10736C 802E5AEC 3C06E700 */ lui $a2, 0xe700
|
|
/* 107370 802E5AF0 AD220000 */ sw $v0, ($t1)
|
|
/* 107374 802E5AF4 3C02DE00 */ lui $v0, 0xde00
|
|
/* 107378 802E5AF8 AD330004 */ sw $s3, 4($t1)
|
|
/* 10737C 802E5AFC ACE60000 */ sw $a2, ($a3)
|
|
/* 107380 802E5B00 ACE00004 */ sw $zero, 4($a3)
|
|
/* 107384 802E5B04 AD420000 */ sw $v0, ($t2)
|
|
/* 107388 802E5B08 8FB80058 */ lw $t8, 0x58($sp)
|
|
/* 10738C 802E5B0C 24020040 */ addiu $v0, $zero, 0x40
|
|
/* 107390 802E5B10 AD580004 */ sw $t8, 4($t2)
|
|
/* 107394 802E5B14 AD910000 */ sw $s1, ($t4)
|
|
/* 107398 802E5B18 AD820004 */ sw $v0, 4($t4)
|
|
/* 10739C 802E5B1C 8FB90060 */ lw $t9, 0x60($sp)
|
|
/* 1073A0 802E5B20 9323000B */ lbu $v1, 0xb($t9)
|
|
/* 1073A4 802E5B24 24110078 */ addiu $s1, $zero, 0x78
|
|
/* 1073A8 802E5B28 0071102A */ slt $v0, $v1, $s1
|
|
/* 1073AC 802E5B2C 10400002 */ beqz $v0, .L802E5B38
|
|
/* 1073B0 802E5B30 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1073B4 802E5B34 0060882D */ daddu $s1, $v1, $zero
|
|
.L802E5B38:
|
|
/* 1073B8 802E5B38 02C0102D */ daddu $v0, $s6, $zero
|
|
/* 1073BC 802E5B3C 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1073C0 802E5B40 02E0202D */ daddu $a0, $s7, $zero
|
|
/* 1073C4 802E5B44 24050006 */ addiu $a1, $zero, 6
|
|
/* 1073C8 802E5B48 AC460000 */ sw $a2, ($v0)
|
|
/* 1073CC 802E5B4C 0C0B959C */ jal func_802E5670
|
|
/* 1073D0 802E5B50 AC400004 */ sw $zero, 4($v0)
|
|
/* 1073D4 802E5B54 44050000 */ mfc1 $a1, $f0
|
|
/* 1073D8 802E5B58 44800000 */ mtc1 $zero, $f0
|
|
/* 1073DC 802E5B5C 3C073F80 */ lui $a3, 0x3f80
|
|
/* 1073E0 802E5B60 44060000 */ mfc1 $a2, $f0
|
|
/* 1073E4 802E5B64 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 1073E8 802E5B68 0C019EC8 */ jal guRotateF
|
|
/* 1073EC 802E5B6C AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 1073F0 802E5B70 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 1073F4 802E5B74 26F00050 */ addiu $s0, $s7, 0x50
|
|
/* 1073F8 802E5B78 0C019D40 */ jal guMtxF2L
|
|
/* 1073FC 802E5B7C 0200282D */ daddu $a1, $s0, $zero
|
|
/* 107400 802E5B80 26E40090 */ addiu $a0, $s7, 0x90
|
|
/* 107404 802E5B84 97C20000 */ lhu $v0, ($fp)
|
|
/* 107408 802E5B88 3C03800A */ lui $v1, 0x800a
|
|
/* 10740C 802E5B8C 8C63A674 */ lw $v1, -0x598c($v1)
|
|
/* 107410 802E5B90 8FAF0064 */ lw $t7, 0x64($sp)
|
|
/* 107414 802E5B94 00021180 */ sll $v0, $v0, 6
|
|
/* 107418 802E5B98 00621821 */ addu $v1, $v1, $v0
|
|
/* 10741C 802E5B9C 006F1821 */ addu $v1, $v1, $t7
|
|
.L802E5BA0:
|
|
/* 107420 802E5BA0 8E150000 */ lw $s5, ($s0)
|
|
/* 107424 802E5BA4 8E180004 */ lw $t8, 4($s0)
|
|
/* 107428 802E5BA8 8E190008 */ lw $t9, 8($s0)
|
|
/* 10742C 802E5BAC 8E0F000C */ lw $t7, 0xc($s0)
|
|
/* 107430 802E5BB0 AC750000 */ sw $s5, ($v1)
|
|
/* 107434 802E5BB4 AC780004 */ sw $t8, 4($v1)
|
|
/* 107438 802E5BB8 AC790008 */ sw $t9, 8($v1)
|
|
/* 10743C 802E5BBC AC6F000C */ sw $t7, 0xc($v1)
|
|
/* 107440 802E5BC0 26100010 */ addiu $s0, $s0, 0x10
|
|
/* 107444 802E5BC4 1604FFF6 */ bne $s0, $a0, .L802E5BA0
|
|
/* 107448 802E5BC8 24630010 */ addiu $v1, $v1, 0x10
|
|
/* 10744C 802E5BCC 02C0482D */ daddu $t1, $s6, $zero
|
|
/* 107450 802E5BD0 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107454 802E5BD4 3C130001 */ lui $s3, 1
|
|
/* 107458 802E5BD8 36731630 */ ori $s3, $s3, 0x1630
|
|
/* 10745C 802E5BDC 02C0402D */ daddu $t0, $s6, $zero
|
|
/* 107460 802E5BE0 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107464 802E5BE4 3C0EE200 */ lui $t6, 0xe200
|
|
/* 107468 802E5BE8 35CE001C */ ori $t6, $t6, 0x1c
|
|
/* 10746C 802E5BEC 3C0D0050 */ lui $t5, 0x50
|
|
/* 107470 802E5BF0 35AD4358 */ ori $t5, $t5, 0x4358
|
|
/* 107474 802E5BF4 02C0382D */ daddu $a3, $s6, $zero
|
|
/* 107478 802E5BF8 26D60008 */ addiu $s6, $s6, 8
|
|
/* 10747C 802E5BFC 3C0CFCFF */ lui $t4, 0xfcff
|
|
/* 107480 802E5C00 358CB3FF */ ori $t4, $t4, 0xb3ff
|
|
/* 107484 802E5C04 3C0BFF2C */ lui $t3, 0xff2c
|
|
/* 107488 802E5C08 356BFE7F */ ori $t3, $t3, 0xfe7f
|
|
/* 10748C 802E5C0C 02C0202D */ daddu $a0, $s6, $zero
|
|
/* 107490 802E5C10 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107494 802E5C14 02C0282D */ daddu $a1, $s6, $zero
|
|
/* 107498 802E5C18 26D60008 */ addiu $s6, $s6, 8
|
|
/* 10749C 802E5C1C 02C0302D */ daddu $a2, $s6, $zero
|
|
/* 1074A0 802E5C20 3C0AD838 */ lui $t2, 0xd838
|
|
/* 1074A4 802E5C24 354A0002 */ ori $t2, $t2, 2
|
|
/* 1074A8 802E5C28 3C128007 */ lui $s2, 0x8007
|
|
/* 1074AC 802E5C2C 265241F0 */ addiu $s2, $s2, 0x41f0
|
|
/* 1074B0 802E5C30 3C03DA38 */ lui $v1, 0xda38
|
|
/* 1074B4 802E5C34 96420000 */ lhu $v0, ($s2)
|
|
/* 1074B8 802E5C38 3C14800A */ lui $s4, 0x800a
|
|
/* 1074BC 802E5C3C 2694A674 */ addiu $s4, $s4, -0x598c
|
|
/* 1074C0 802E5C40 AD230000 */ sw $v1, ($t1)
|
|
/* 1074C4 802E5C44 24430001 */ addiu $v1, $v0, 1
|
|
/* 1074C8 802E5C48 3042FFFF */ andi $v0, $v0, 0xffff
|
|
/* 1074CC 802E5C4C 00021180 */ sll $v0, $v0, 6
|
|
/* 1074D0 802E5C50 A6430000 */ sh $v1, ($s2)
|
|
/* 1074D4 802E5C54 8E830000 */ lw $v1, ($s4)
|
|
/* 1074D8 802E5C58 00531021 */ addu $v0, $v0, $s3
|
|
/* 1074DC 802E5C5C 00621821 */ addu $v1, $v1, $v0
|
|
/* 1074E0 802E5C60 3C02FA00 */ lui $v0, 0xfa00
|
|
/* 1074E4 802E5C64 AD230004 */ sw $v1, 4($t1)
|
|
/* 1074E8 802E5C68 AD0E0000 */ sw $t6, ($t0)
|
|
/* 1074EC 802E5C6C AD0D0004 */ sw $t5, 4($t0)
|
|
/* 1074F0 802E5C70 ACEC0000 */ sw $t4, ($a3)
|
|
/* 1074F4 802E5C74 ACEB0004 */ sw $t3, 4($a3)
|
|
/* 1074F8 802E5C78 AC820000 */ sw $v0, ($a0)
|
|
/* 1074FC 802E5C7C 3C02DE00 */ lui $v0, 0xde00
|
|
/* 107500 802E5C80 AC910004 */ sw $s1, 4($a0)
|
|
/* 107504 802E5C84 ACA20000 */ sw $v0, ($a1)
|
|
/* 107508 802E5C88 8FB50058 */ lw $s5, 0x58($sp)
|
|
/* 10750C 802E5C8C 24020040 */ addiu $v0, $zero, 0x40
|
|
/* 107510 802E5C90 ACB50004 */ sw $s5, 4($a1)
|
|
/* 107514 802E5C94 ACCA0000 */ sw $t2, ($a2)
|
|
/* 107518 802E5C98 ACC20004 */ sw $v0, 4($a2)
|
|
/* 10751C 802E5C9C 8FB80060 */ lw $t8, 0x60($sp)
|
|
/* 107520 802E5CA0 9303000B */ lbu $v1, 0xb($t8)
|
|
/* 107524 802E5CA4 24110050 */ addiu $s1, $zero, 0x50
|
|
/* 107528 802E5CA8 0071102A */ slt $v0, $v1, $s1
|
|
/* 10752C 802E5CAC 10400002 */ beqz $v0, .L802E5CB8
|
|
/* 107530 802E5CB0 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107534 802E5CB4 0060882D */ daddu $s1, $v1, $zero
|
|
.L802E5CB8:
|
|
/* 107538 802E5CB8 02C0182D */ daddu $v1, $s6, $zero
|
|
/* 10753C 802E5CBC 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107540 802E5CC0 02E0202D */ daddu $a0, $s7, $zero
|
|
/* 107544 802E5CC4 2405000A */ addiu $a1, $zero, 0xa
|
|
/* 107548 802E5CC8 3C02E700 */ lui $v0, 0xe700
|
|
/* 10754C 802E5CCC AC620000 */ sw $v0, ($v1)
|
|
/* 107550 802E5CD0 0C0B959C */ jal func_802E5670
|
|
/* 107554 802E5CD4 AC600004 */ sw $zero, 4($v1)
|
|
/* 107558 802E5CD8 44050000 */ mfc1 $a1, $f0
|
|
/* 10755C 802E5CDC 44800000 */ mtc1 $zero, $f0
|
|
/* 107560 802E5CE0 3C073F80 */ lui $a3, 0x3f80
|
|
/* 107564 802E5CE4 44060000 */ mfc1 $a2, $f0
|
|
/* 107568 802E5CE8 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 10756C 802E5CEC 0C019EC8 */ jal guRotateF
|
|
/* 107570 802E5CF0 AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 107574 802E5CF4 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 107578 802E5CF8 26F00090 */ addiu $s0, $s7, 0x90
|
|
/* 10757C 802E5CFC 0C019D40 */ jal guMtxF2L
|
|
/* 107580 802E5D00 0200282D */ daddu $a1, $s0, $zero
|
|
/* 107584 802E5D04 26E400D0 */ addiu $a0, $s7, 0xd0
|
|
/* 107588 802E5D08 96420000 */ lhu $v0, ($s2)
|
|
/* 10758C 802E5D0C 8E830000 */ lw $v1, ($s4)
|
|
/* 107590 802E5D10 00021180 */ sll $v0, $v0, 6
|
|
/* 107594 802E5D14 00621821 */ addu $v1, $v1, $v0
|
|
/* 107598 802E5D18 00731821 */ addu $v1, $v1, $s3
|
|
.L802E5D1C:
|
|
/* 10759C 802E5D1C 8E190000 */ lw $t9, ($s0)
|
|
/* 1075A0 802E5D20 8E0F0004 */ lw $t7, 4($s0)
|
|
/* 1075A4 802E5D24 8E150008 */ lw $s5, 8($s0)
|
|
/* 1075A8 802E5D28 8E18000C */ lw $t8, 0xc($s0)
|
|
/* 1075AC 802E5D2C AC790000 */ sw $t9, ($v1)
|
|
/* 1075B0 802E5D30 AC6F0004 */ sw $t7, 4($v1)
|
|
/* 1075B4 802E5D34 AC750008 */ sw $s5, 8($v1)
|
|
/* 1075B8 802E5D38 AC78000C */ sw $t8, 0xc($v1)
|
|
/* 1075BC 802E5D3C 26100010 */ addiu $s0, $s0, 0x10
|
|
/* 1075C0 802E5D40 1604FFF6 */ bne $s0, $a0, .L802E5D1C
|
|
/* 1075C4 802E5D44 24630010 */ addiu $v1, $v1, 0x10
|
|
/* 1075C8 802E5D48 02C0502D */ daddu $t2, $s6, $zero
|
|
/* 1075CC 802E5D4C 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1075D0 802E5D50 3C100001 */ lui $s0, 1
|
|
/* 1075D4 802E5D54 36101630 */ ori $s0, $s0, 0x1630
|
|
/* 1075D8 802E5D58 02C0482D */ daddu $t1, $s6, $zero
|
|
/* 1075DC 802E5D5C 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1075E0 802E5D60 3C19E200 */ lui $t9, 0xe200
|
|
/* 1075E4 802E5D64 3739001C */ ori $t9, $t9, 0x1c
|
|
/* 1075E8 802E5D68 3C0E0050 */ lui $t6, 0x50
|
|
/* 1075EC 802E5D6C 35CE4358 */ ori $t6, $t6, 0x4358
|
|
/* 1075F0 802E5D70 02C0402D */ daddu $t0, $s6, $zero
|
|
/* 1075F4 802E5D74 26D60008 */ addiu $s6, $s6, 8
|
|
/* 1075F8 802E5D78 3C0DFCFF */ lui $t5, 0xfcff
|
|
/* 1075FC 802E5D7C 35ADB3FF */ ori $t5, $t5, 0xb3ff
|
|
/* 107600 802E5D80 3C0CFF2C */ lui $t4, 0xff2c
|
|
/* 107604 802E5D84 358CFE7F */ ori $t4, $t4, 0xfe7f
|
|
/* 107608 802E5D88 02C0282D */ daddu $a1, $s6, $zero
|
|
/* 10760C 802E5D8C 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107610 802E5D90 02C0302D */ daddu $a2, $s6, $zero
|
|
/* 107614 802E5D94 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107618 802E5D98 02C0382D */ daddu $a3, $s6, $zero
|
|
/* 10761C 802E5D9C 26D60008 */ addiu $s6, $s6, 8
|
|
/* 107620 802E5DA0 3C0BD838 */ lui $t3, 0xd838
|
|
/* 107624 802E5DA4 356B0002 */ ori $t3, $t3, 2
|
|
/* 107628 802E5DA8 3C048007 */ lui $a0, 0x8007
|
|
/* 10762C 802E5DAC 248441F0 */ addiu $a0, $a0, 0x41f0
|
|
/* 107630 802E5DB0 94820000 */ lhu $v0, ($a0)
|
|
/* 107634 802E5DB4 3C03DA38 */ lui $v1, 0xda38
|
|
/* 107638 802E5DB8 AD430000 */ sw $v1, ($t2)
|
|
/* 10763C 802E5DBC 3C01800A */ lui $at, 0x800a
|
|
/* 107640 802E5DC0 AC36A66C */ sw $s6, -0x5994($at)
|
|
/* 107644 802E5DC4 24430001 */ addiu $v1, $v0, 1
|
|
/* 107648 802E5DC8 3042FFFF */ andi $v0, $v0, 0xffff
|
|
/* 10764C 802E5DCC 00021180 */ sll $v0, $v0, 6
|
|
/* 107650 802E5DD0 A4830000 */ sh $v1, ($a0)
|
|
/* 107654 802E5DD4 3C03800A */ lui $v1, 0x800a
|
|
/* 107658 802E5DD8 8C63A674 */ lw $v1, -0x598c($v1)
|
|
/* 10765C 802E5DDC 00501021 */ addu $v0, $v0, $s0
|
|
/* 107660 802E5DE0 00621821 */ addu $v1, $v1, $v0
|
|
/* 107664 802E5DE4 3C02FA00 */ lui $v0, 0xfa00
|
|
/* 107668 802E5DE8 AD430004 */ sw $v1, 4($t2)
|
|
/* 10766C 802E5DEC AD390000 */ sw $t9, ($t1)
|
|
/* 107670 802E5DF0 AD2E0004 */ sw $t6, 4($t1)
|
|
/* 107674 802E5DF4 AD0D0000 */ sw $t5, ($t0)
|
|
/* 107678 802E5DF8 AD0C0004 */ sw $t4, 4($t0)
|
|
/* 10767C 802E5DFC ACA20000 */ sw $v0, ($a1)
|
|
/* 107680 802E5E00 3C02DE00 */ lui $v0, 0xde00
|
|
/* 107684 802E5E04 ACB10004 */ sw $s1, 4($a1)
|
|
/* 107688 802E5E08 ACC20000 */ sw $v0, ($a2)
|
|
/* 10768C 802E5E0C 8FAF0058 */ lw $t7, 0x58($sp)
|
|
/* 107690 802E5E10 24020040 */ addiu $v0, $zero, 0x40
|
|
/* 107694 802E5E14 ACCF0004 */ sw $t7, 4($a2)
|
|
/* 107698 802E5E18 ACEB0000 */ sw $t3, ($a3)
|
|
/* 10769C 802E5E1C ACE20004 */ sw $v0, 4($a3)
|
|
/* 1076A0 802E5E20 8FBF0094 */ lw $ra, 0x94($sp)
|
|
/* 1076A4 802E5E24 8FBE0090 */ lw $fp, 0x90($sp)
|
|
/* 1076A8 802E5E28 8FB7008C */ lw $s7, 0x8c($sp)
|
|
/* 1076AC 802E5E2C 8FB60088 */ lw $s6, 0x88($sp)
|
|
/* 1076B0 802E5E30 8FB50084 */ lw $s5, 0x84($sp)
|
|
/* 1076B4 802E5E34 8FB40080 */ lw $s4, 0x80($sp)
|
|
/* 1076B8 802E5E38 8FB3007C */ lw $s3, 0x7c($sp)
|
|
/* 1076BC 802E5E3C 8FB20078 */ lw $s2, 0x78($sp)
|
|
/* 1076C0 802E5E40 8FB10074 */ lw $s1, 0x74($sp)
|
|
/* 1076C4 802E5E44 8FB00070 */ lw $s0, 0x70($sp)
|
|
/* 1076C8 802E5E48 03E00008 */ jr $ra
|
|
/* 1076CC 802E5E4C 27BD0098 */ addiu $sp, $sp, 0x98
|
|
|
|
/* 1076D0 802E5E50 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 1076D4 802E5E54 AFB10024 */ sw $s1, 0x24($sp)
|
|
/* 1076D8 802E5E58 0080882D */ daddu $s1, $a0, $zero
|
|
/* 1076DC 802E5E5C AFBF0028 */ sw $ra, 0x28($sp)
|
|
/* 1076E0 802E5E60 AFB00020 */ sw $s0, 0x20($sp)
|
|
/* 1076E4 802E5E64 0C0B9607 */ jal func_802E581C
|
|
/* 1076E8 802E5E68 8E300040 */ lw $s0, 0x40($s1)
|
|
/* 1076EC 802E5E6C 9202000A */ lbu $v0, 0xa($s0)
|
|
/* 1076F0 802E5E70 54400001 */ bnel $v0, $zero, .L802E5E78
|
|
/* 1076F4 802E5E74 AE20003C */ sw $zero, 0x3c($s1)
|
|
.L802E5E78:
|
|
/* 1076F8 802E5E78 C62C0064 */ lwc1 $f12, 0x64($s1)
|
|
/* 1076FC 802E5E7C 3C014008 */ lui $at, 0x4008
|
|
/* 107700 802E5E80 44810800 */ mtc1 $at, $f1
|
|
/* 107704 802E5E84 44800000 */ mtc1 $zero, $f0
|
|
/* 107708 802E5E88 46006321 */ cvt.d.s $f12, $f12
|
|
/* 10770C 802E5E8C 46206300 */ add.d $f12, $f12, $f0
|
|
/* 107710 802E5E90 0C00A6C9 */ jal clamp_angle
|
|
/* 107714 802E5E94 46206320 */ cvt.s.d $f12, $f12
|
|
/* 107718 802E5E98 E6200064 */ swc1 $f0, 0x64($s1)
|
|
/* 10771C 802E5E9C 960200D0 */ lhu $v0, 0xd0($s0)
|
|
/* 107720 802E5EA0 00021080 */ sll $v0, $v0, 2
|
|
/* 107724 802E5EA4 02021021 */ addu $v0, $s0, $v0
|
|
/* 107728 802E5EA8 E44000D4 */ swc1 $f0, 0xd4($v0)
|
|
/* 10772C 802E5EAC 960200D0 */ lhu $v0, 0xd0($s0)
|
|
/* 107730 802E5EB0 24420001 */ addiu $v0, $v0, 1
|
|
/* 107734 802E5EB4 A60200D0 */ sh $v0, 0xd0($s0)
|
|
/* 107738 802E5EB8 3042FFFF */ andi $v0, $v0, 0xffff
|
|
/* 10773C 802E5EBC 2C420015 */ sltiu $v0, $v0, 0x15
|
|
/* 107740 802E5EC0 50400001 */ beql $v0, $zero, .L802E5EC8
|
|
/* 107744 802E5EC4 A60000D0 */ sh $zero, 0xd0($s0)
|
|
.L802E5EC8:
|
|
/* 107748 802E5EC8 9202000A */ lbu $v0, 0xa($s0)
|
|
/* 10774C 802E5ECC 1440001B */ bnez $v0, .L802E5F3C
|
|
/* 107750 802E5ED0 00000000 */ nop
|
|
/* 107754 802E5ED4 3C02800A */ lui $v0, 0x800a
|
|
/* 107758 802E5ED8 8C42A650 */ lw $v0, -0x59b0($v0)
|
|
/* 10775C 802E5EDC 14400017 */ bnez $v0, .L802E5F3C
|
|
/* 107760 802E5EE0 00000000 */ nop
|
|
/* 107764 802E5EE4 92020002 */ lbu $v0, 2($s0)
|
|
/* 107768 802E5EE8 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 10776C 802E5EEC A2020002 */ sb $v0, 2($s0)
|
|
/* 107770 802E5EF0 00021600 */ sll $v0, $v0, 0x18
|
|
/* 107774 802E5EF4 1C400011 */ bgtz $v0, .L802E5F3C
|
|
/* 107778 802E5EF8 24020032 */ addiu $v0, $zero, 0x32
|
|
/* 10777C 802E5EFC 3C0141B0 */ lui $at, 0x41b0
|
|
/* 107780 802E5F00 44810000 */ mtc1 $at, $f0
|
|
/* 107784 802E5F04 3C014100 */ lui $at, 0x4100
|
|
/* 107788 802E5F08 44811000 */ mtc1 $at, $f2
|
|
/* 10778C 802E5F0C A2020002 */ sb $v0, 2($s0)
|
|
/* 107790 802E5F10 24020004 */ addiu $v0, $zero, 4
|
|
/* 107794 802E5F14 AFA20018 */ sw $v0, 0x18($sp)
|
|
/* 107798 802E5F18 24020014 */ addiu $v0, $zero, 0x14
|
|
/* 10779C 802E5F1C AFA2001C */ sw $v0, 0x1c($sp)
|
|
/* 1077A0 802E5F20 E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* 1077A4 802E5F24 E7A20014 */ swc1 $f2, 0x14($sp)
|
|
/* 1077A8 802E5F28 8E250048 */ lw $a1, 0x48($s1)
|
|
/* 1077AC 802E5F2C 8E26004C */ lw $a2, 0x4c($s1)
|
|
/* 1077B0 802E5F30 8E270050 */ lw $a3, 0x50($s1)
|
|
/* 1077B4 802E5F34 0C01C154 */ jal func_80070550
|
|
/* 1077B8 802E5F38 24040003 */ addiu $a0, $zero, 3
|
|
.L802E5F3C:
|
|
/* 1077BC 802E5F3C 8FBF0028 */ lw $ra, 0x28($sp)
|
|
/* 1077C0 802E5F40 8FB10024 */ lw $s1, 0x24($sp)
|
|
/* 1077C4 802E5F44 8FB00020 */ lw $s0, 0x20($sp)
|
|
/* 1077C8 802E5F48 03E00008 */ jr $ra
|
|
/* 1077CC 802E5F4C 27BD0030 */ addiu $sp, $sp, 0x30
|
|
|
|
/* 1077D0 802E5F50 8C830040 */ lw $v1, 0x40($a0)
|
|
/* 1077D4 802E5F54 3C020A00 */ lui $v0, 0xa00
|
|
/* 1077D8 802E5F58 24420328 */ addiu $v0, $v0, 0x328
|
|
/* 1077DC 802E5F5C AC620128 */ sw $v0, 0x128($v1)
|
|
/* 1077E0 802E5F60 3C020A00 */ lui $v0, 0xa00
|
|
/* 1077E4 802E5F64 24420380 */ addiu $v0, $v0, 0x380
|
|
/* 1077E8 802E5F68 AC62012C */ sw $v0, 0x12c($v1)
|
|
/* 1077EC 802E5F6C 3C02802E */ lui $v0, 0x802e
|
|
/* 1077F0 802E5F70 2442586C */ addiu $v0, $v0, 0x586c
|
|
/* 1077F4 802E5F74 03E00008 */ jr $ra
|
|
/* 1077F8 802E5F78 AC82003C */ sw $v0, 0x3c($a0)
|
|
|
|
/* 1077FC 802E5F7C 8C830040 */ lw $v1, 0x40($a0)
|
|
/* 107800 802E5F80 3C020A00 */ lui $v0, 0xa00
|
|
/* 107804 802E5F84 24420800 */ addiu $v0, $v0, 0x800
|
|
/* 107808 802E5F88 AC620128 */ sw $v0, 0x128($v1)
|
|
/* 10780C 802E5F8C 3C020A00 */ lui $v0, 0xa00
|
|
/* 107810 802E5F90 24420750 */ addiu $v0, $v0, 0x750
|
|
/* 107814 802E5F94 AC62012C */ sw $v0, 0x12c($v1)
|
|
/* 107818 802E5F98 3C02802E */ lui $v0, 0x802e
|
|
/* 10781C 802E5F9C 2442586C */ addiu $v0, $v0, 0x586c
|
|
/* 107820 802E5FA0 03E00008 */ jr $ra
|
|
/* 107824 802E5FA4 AC82003C */ sw $v0, 0x3c($a0)
|
|
|
|
/* 107828 802E5FA8 00000000 */ nop
|
|
/* 10782C 802E5FAC 00000000 */ nop
|
|
|
|
|