diff --git a/Makefile b/Makefile index 6a68cf422a..95a6c69473 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,3 @@ -# Makefile to rebuild SM64 split image - SHELL=/bin/bash -o pipefail ################ Target Executable and Sources ############### @@ -36,12 +34,10 @@ YAY0_FILES := $(foreach file,$(YAY0_FILES),$(BUILD_DIR)/$(file:.bin=.bin.Yay0)) # N64 tools TOOLS_DIR = tools -MIO0TOOL = $(TOOLS_DIR)/mio0 N64CKSUM = $(TOOLS_DIR)/n64crc ##################### Compiler Options ####################### CROSS = mips-linux-gnu- -CROSS_IRIX = mips-sgi-irix5- AS = $(CROSS)as OLD_AS = $(TOOLS_DIR)/mips-nintendo-nu64-as CC = $(TOOLS_DIR)/cc1 diff --git a/asm/nonmatchings/code_1370_len_7d0/boot_main.s b/asm/nonmatchings/code_1370_len_7d0/boot_main.s index ed8fbef4ba..690c8ceec4 100644 --- a/asm/nonmatchings/code_1370_len_7d0/boot_main.s +++ b/asm/nonmatchings/code_1370_len_7d0/boot_main.s @@ -35,7 +35,7 @@ glabel boot_main /* 13D8 80025FD8 00000000 */ nop /* 13DC 80025FDC 0C009718 */ jal func_80025C60 /* 13E0 80025FE0 00000000 */ nop -/* 13E4 80025FE4 0C017D58 */ jal nuGfxInit +/* 13E4 80025FE4 0C017D58 */ jal nuGfxInitEX2 /* 13E8 80025FE8 00000000 */ nop /* 13EC 80025FEC 0C017D84 */ jal nuContInit /* 13F0 80025FF0 00000000 */ nop diff --git a/asm/nonmatchings/code_317020/func_802BD100.s b/asm/nonmatchings/code_317020/func_802BD100.s new file mode 100644 index 0000000000..90b3bdd526 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD100.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100 +/* 317020 802BD100 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 317024 802BD104 AFB10014 */ sw $s1, 0x14($sp) +/* 317028 802BD108 0080882D */ daddu $s1, $a0, $zero +/* 31702C 802BD10C AFB00010 */ sw $s0, 0x10($sp) +/* 317030 802BD110 0000802D */ daddu $s0, $zero, $zero +/* 317034 802BD114 AFBF0018 */ sw $ra, 0x18($sp) +.L802BD118: +/* 317038 802BD118 0C051734 */ jal get_trigger_by_id +/* 31703C 802BD11C 0200202D */ daddu $a0, $s0, $zero +/* 317040 802BD120 0040182D */ daddu $v1, $v0, $zero +/* 317044 802BD124 1060000B */ beqz $v1, .L802BD154 +/* 317048 802BD128 26100001 */ addiu $s0, $s0, 1 +/* 31704C 802BD12C 8C620000 */ lw $v0, ($v1) +/* 317050 802BD130 30420100 */ andi $v0, $v0, 0x100 +/* 317054 802BD134 10400007 */ beqz $v0, .L802BD154 +/* 317058 802BD138 00000000 */ nop +/* 31705C 802BD13C 8C620008 */ lw $v0, 8($v1) +/* 317060 802BD140 14510005 */ bne $v0, $s1, .L802BD158 +/* 317064 802BD144 2A020040 */ slti $v0, $s0, 0x40 +/* 317068 802BD148 8C62002C */ lw $v0, 0x2c($v1) +/* 31706C 802BD14C 080AF458 */ j .L802BD160 +/* 317070 802BD150 00000000 */ nop +.L802BD154: +/* 317074 802BD154 2A020040 */ slti $v0, $s0, 0x40 +.L802BD158: +/* 317078 802BD158 1440FFEF */ bnez $v0, .L802BD118 +/* 31707C 802BD15C 0000102D */ daddu $v0, $zero, $zero +.L802BD160: +/* 317080 802BD160 8FBF0018 */ lw $ra, 0x18($sp) +/* 317084 802BD164 8FB10014 */ lw $s1, 0x14($sp) +/* 317088 802BD168 8FB00010 */ lw $s0, 0x10($sp) +/* 31708C 802BD16C 03E00008 */ jr $ra +/* 317090 802BD170 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_317020/func_802BD174.s b/asm/nonmatchings/code_317020/func_802BD174.s new file mode 100644 index 0000000000..eaab83f2f5 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD174.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD174 +/* 317094 802BD174 24020018 */ addiu $v0, $zero, 0x18 +/* 317098 802BD178 A48200A8 */ sh $v0, 0xa8($a0) +/* 31709C 802BD17C 24020014 */ addiu $v0, $zero, 0x14 +/* 3170A0 802BD180 03E00008 */ jr $ra +/* 3170A4 802BD184 A48200A6 */ sh $v0, 0xa6($a0) diff --git a/asm/nonmatchings/code_317020/func_802BD188.s b/asm/nonmatchings/code_317020/func_802BD188.s new file mode 100644 index 0000000000..4729b7c279 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD188.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD188 +/* 3170A8 802BD188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3170AC 802BD18C AFBF0014 */ sw $ra, 0x14($sp) +/* 3170B0 802BD190 AFB00010 */ sw $s0, 0x10($sp) +/* 3170B4 802BD194 8C90014C */ lw $s0, 0x14c($a0) +/* 3170B8 802BD198 2402FFFF */ addiu $v0, $zero, -1 +/* 3170BC 802BD19C 3C01802C */ lui $at, 0x802c +/* 3170C0 802BD1A0 AC22DF60 */ sw $v0, -0x20a0($at) +/* 3170C4 802BD1A4 10A00003 */ beqz $a1, .L802BD1B4 +/* 3170C8 802BD1A8 00000000 */ nop +/* 3170CC 802BD1AC 0C03BB31 */ jal func_800EECC4 +/* 3170D0 802BD1B0 0200202D */ daddu $a0, $s0, $zero +.L802BD1B4: +/* 3170D4 802BD1B4 0C03BB3A */ jal func_800EECE8 +/* 3170D8 802BD1B8 0200202D */ daddu $a0, $s0, $zero +/* 3170DC 802BD1BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 3170E0 802BD1C0 8FB00010 */ lw $s0, 0x10($sp) +/* 3170E4 802BD1C4 0002102B */ sltu $v0, $zero, $v0 +/* 3170E8 802BD1C8 03E00008 */ jr $ra +/* 3170EC 802BD1CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317020/func_802BD1D0.s b/asm/nonmatchings/code_317020/func_802BD1D0.s new file mode 100644 index 0000000000..960bc614c0 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD1D0.s @@ -0,0 +1,247 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1D0 +/* 3170F0 802BD1D0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 3170F4 802BD1D4 AFB00018 */ sw $s0, 0x18($sp) +/* 3170F8 802BD1D8 3C108011 */ lui $s0, %hi(gPlayerData) +/* 3170FC 802BD1DC 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 317100 802BD1E0 AFBF0028 */ sw $ra, 0x28($sp) +/* 317104 802BD1E4 AFB30024 */ sw $s3, 0x24($sp) +/* 317108 802BD1E8 AFB20020 */ sw $s2, 0x20($sp) +/* 31710C 802BD1EC AFB1001C */ sw $s1, 0x1c($sp) +/* 317110 802BD1F0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 317114 802BD1F4 8C91014C */ lw $s1, 0x14c($a0) +/* 317118 802BD1F8 10A00009 */ beqz $a1, .L802BD220 +/* 31711C 802BD1FC 0220202D */ daddu $a0, $s1, $zero +/* 317120 802BD200 0C03AE2A */ jal enable_partner_walking +/* 317124 802BD204 24050001 */ addiu $a1, $zero, 1 +/* 317128 802BD208 3C04802C */ lui $a0, 0x802c +/* 31712C 802BD20C 8C84DD88 */ lw $a0, -0x2278($a0) +/* 317130 802BD210 0C00A580 */ jal mem_clear +/* 317134 802BD214 2405001C */ addiu $a1, $zero, 0x1c +/* 317138 802BD218 3C018011 */ lui $at, 0x8011 +/* 31713C 802BD21C AC20C954 */ sw $zero, -0x36ac($at) +.L802BD220: +/* 317140 802BD220 3C138011 */ lui $s3, 0x8011 +/* 317144 802BD224 2673C954 */ addiu $s3, $s3, -0x36ac +/* 317148 802BD228 8E0202F8 */ lw $v0, 0x2f8($s0) +/* 31714C 802BD22C 8E720000 */ lw $s2, ($s3) +/* 317150 802BD230 24420001 */ addiu $v0, $v0, 1 +/* 317154 802BD234 16400007 */ bnez $s2, .L802BD254 +/* 317158 802BD238 AE0202F8 */ sw $v0, 0x2f8($s0) +/* 31715C 802BD23C 0C03AE8F */ jal func_800EBA3C +/* 317160 802BD240 0220202D */ daddu $a0, $s1, $zero +/* 317164 802BD244 0C03AED0 */ jal func_800EBB40 +/* 317168 802BD248 0220202D */ daddu $a0, $s1, $zero +/* 31716C 802BD24C 080AF551 */ j .L802BD544 +/* 317170 802BD250 0000102D */ daddu $v0, $zero, $zero +.L802BD254: +/* 317174 802BD254 3C10802C */ lui $s0, 0x802c +/* 317178 802BD258 2610DD88 */ addiu $s0, $s0, -0x2278 +/* 31717C 802BD25C 8E040000 */ lw $a0, ($s0) +/* 317180 802BD260 8C830004 */ lw $v1, 4($a0) +/* 317184 802BD264 24050001 */ addiu $a1, $zero, 1 +/* 317188 802BD268 10650030 */ beq $v1, $a1, .L802BD32C +/* 31718C 802BD26C 28620002 */ slti $v0, $v1, 2 +/* 317190 802BD270 10400005 */ beqz $v0, .L802BD288 +/* 317194 802BD274 24020002 */ addiu $v0, $zero, 2 +/* 317198 802BD278 10600009 */ beqz $v1, .L802BD2A0 +/* 31719C 802BD27C 0000102D */ daddu $v0, $zero, $zero +/* 3171A0 802BD280 080AF551 */ j .L802BD544 +/* 3171A4 802BD284 00000000 */ nop +.L802BD288: +/* 3171A8 802BD288 1062009A */ beq $v1, $v0, .L802BD4F4 +/* 3171AC 802BD28C 24020003 */ addiu $v0, $zero, 3 +/* 3171B0 802BD290 106200A0 */ beq $v1, $v0, .L802BD514 +/* 3171B4 802BD294 0000102D */ daddu $v0, $zero, $zero +/* 3171B8 802BD298 080AF551 */ j .L802BD544 +/* 3171BC 802BD29C 00000000 */ nop +.L802BD2A0: +/* 3171C0 802BD2A0 AC850004 */ sw $a1, 4($a0) +/* 3171C4 802BD2A4 8E220000 */ lw $v0, ($s1) +/* 3171C8 802BD2A8 AC820008 */ sw $v0, 8($a0) +/* 3171CC 802BD2AC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 3171D0 802BD2B0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 3171D4 802BD2B4 8E460048 */ lw $a2, 0x48($s2) +/* 3171D8 802BD2B8 0C00A7B5 */ jal dist2D +/* 3171DC 802BD2BC 8E470050 */ lw $a3, 0x50($s2) +/* 3171E0 802BD2C0 8E020000 */ lw $v0, ($s0) +/* 3171E4 802BD2C4 46000005 */ abs.s $f0, $f0 +/* 3171E8 802BD2C8 E440000C */ swc1 $f0, 0xc($v0) +/* 3171EC 802BD2CC C64C0048 */ lwc1 $f12, 0x48($s2) +/* 3171F0 802BD2D0 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 3171F4 802BD2D4 8E260038 */ lw $a2, 0x38($s1) +/* 3171F8 802BD2D8 0C00A720 */ jal atan2 +/* 3171FC 802BD2DC 8E270040 */ lw $a3, 0x40($s1) +/* 317200 802BD2E0 3C040004 */ lui $a0, 4 +/* 317204 802BD2E4 24020078 */ addiu $v0, $zero, 0x78 +/* 317208 802BD2E8 8E030000 */ lw $v1, ($s0) +/* 31720C 802BD2EC 3C0140C0 */ lui $at, 0x40c0 +/* 317210 802BD2F0 44811000 */ mtc1 $at, $f2 +/* 317214 802BD2F4 3C014248 */ lui $at, 0x4248 +/* 317218 802BD2F8 44812000 */ mtc1 $at, $f4 +/* 31721C 802BD2FC 34840148 */ ori $a0, $a0, 0x148 +/* 317220 802BD300 E4600010 */ swc1 $f0, 0x10($v1) +/* 317224 802BD304 E4620014 */ swc1 $f2, 0x14($v1) +/* 317228 802BD308 E4640018 */ swc1 $f4, 0x18($v1) +/* 31722C 802BD30C AC620000 */ sw $v0, ($v1) +/* 317230 802BD310 8E220000 */ lw $v0, ($s1) +/* 317234 802BD314 2403FDFF */ addiu $v1, $zero, -0x201 +/* 317238 802BD318 00441025 */ or $v0, $v0, $a0 +/* 31723C 802BD31C 00431024 */ and $v0, $v0, $v1 +/* 317240 802BD320 AE220000 */ sw $v0, ($s1) +/* 317244 802BD324 3C10802C */ lui $s0, 0x802c +/* 317248 802BD328 2610DD88 */ addiu $s0, $s0, -0x2278 +.L802BD32C: +/* 31724C 802BD32C 8E020000 */ lw $v0, ($s0) +/* 317250 802BD330 3C0140C9 */ lui $at, 0x40c9 +/* 317254 802BD334 34210FD0 */ ori $at, $at, 0xfd0 +/* 317258 802BD338 44810000 */ mtc1 $at, $f0 +/* 31725C 802BD33C C44C0010 */ lwc1 $f12, 0x10($v0) +/* 317260 802BD340 46006302 */ mul.s $f12, $f12, $f0 +/* 317264 802BD344 00000000 */ nop +/* 317268 802BD348 27A50010 */ addiu $a1, $sp, 0x10 +/* 31726C 802BD34C 3C0143B4 */ lui $at, 0x43b4 +/* 317270 802BD350 44810000 */ mtc1 $at, $f0 +/* 317274 802BD354 27A60014 */ addiu $a2, $sp, 0x14 +/* 317278 802BD358 0C00A82D */ jal sin_cos_rad +/* 31727C 802BD35C 46006303 */ div.s $f12, $f12, $f0 +/* 317280 802BD360 8E020000 */ lw $v0, ($s0) +/* 317284 802BD364 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 317288 802BD368 C440000C */ lwc1 $f0, 0xc($v0) +/* 31728C 802BD36C 46001082 */ mul.s $f2, $f2, $f0 +/* 317290 802BD370 00000000 */ nop +/* 317294 802BD374 C6400048 */ lwc1 $f0, 0x48($s2) +/* 317298 802BD378 46020000 */ add.s $f0, $f0, $f2 +/* 31729C 802BD37C E6200038 */ swc1 $f0, 0x38($s1) +/* 3172A0 802BD380 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 3172A4 802BD384 C440000C */ lwc1 $f0, 0xc($v0) +/* 3172A8 802BD388 46001082 */ mul.s $f2, $f2, $f0 +/* 3172AC 802BD38C 00000000 */ nop +/* 3172B0 802BD390 C6400050 */ lwc1 $f0, 0x50($s2) +/* 3172B4 802BD394 46020001 */ sub.s $f0, $f0, $f2 +/* 3172B8 802BD398 E6200040 */ swc1 $f0, 0x40($s1) +/* 3172BC 802BD39C C4400010 */ lwc1 $f0, 0x10($v0) +/* 3172C0 802BD3A0 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 3172C4 802BD3A4 0C00A6C9 */ jal clamp_angle +/* 3172C8 802BD3A8 460C0301 */ sub.s $f12, $f0, $f12 +/* 3172CC 802BD3AC 8E100000 */ lw $s0, ($s0) +/* 3172D0 802BD3B0 3C0141A0 */ lui $at, 0x41a0 +/* 3172D4 802BD3B4 44811000 */ mtc1 $at, $f2 +/* 3172D8 802BD3B8 C604000C */ lwc1 $f4, 0xc($s0) +/* 3172DC 802BD3BC 4604103C */ c.lt.s $f2, $f4 +/* 3172E0 802BD3C0 00000000 */ nop +/* 3172E4 802BD3C4 45000005 */ bc1f .L802BD3DC +/* 3172E8 802BD3C8 E6000010 */ swc1 $f0, 0x10($s0) +/* 3172EC 802BD3CC 3C013F80 */ lui $at, 0x3f80 +/* 3172F0 802BD3D0 44810000 */ mtc1 $at, $f0 +/* 3172F4 802BD3D4 080AF502 */ j .L802BD408 +/* 3172F8 802BD3D8 46002001 */ sub.s $f0, $f4, $f0 +.L802BD3DC: +/* 3172FC 802BD3DC 3C014198 */ lui $at, 0x4198 +/* 317300 802BD3E0 44810000 */ mtc1 $at, $f0 +/* 317304 802BD3E4 00000000 */ nop +/* 317308 802BD3E8 4600203C */ c.lt.s $f4, $f0 +/* 31730C 802BD3EC 00000000 */ nop +/* 317310 802BD3F0 45000006 */ bc1f .L802BD40C +/* 317314 802BD3F4 00000000 */ nop +/* 317318 802BD3F8 3C013F80 */ lui $at, 0x3f80 +/* 31731C 802BD3FC 44810000 */ mtc1 $at, $f0 +/* 317320 802BD400 00000000 */ nop +/* 317324 802BD404 46002000 */ add.s $f0, $f4, $f0 +.L802BD408: +/* 317328 802BD408 E600000C */ swc1 $f0, 0xc($s0) +.L802BD40C: +/* 31732C 802BD40C 3C10802C */ lui $s0, 0x802c +/* 317330 802BD410 2610DD88 */ addiu $s0, $s0, -0x2278 +/* 317334 802BD414 8E020000 */ lw $v0, ($s0) +/* 317338 802BD418 3C0140C9 */ lui $at, 0x40c9 +/* 31733C 802BD41C 34210FD0 */ ori $at, $at, 0xfd0 +/* 317340 802BD420 44810000 */ mtc1 $at, $f0 +/* 317344 802BD424 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 317348 802BD428 46006302 */ mul.s $f12, $f12, $f0 +/* 31734C 802BD42C 00000000 */ nop +/* 317350 802BD430 3C0143B4 */ lui $at, 0x43b4 +/* 317354 802BD434 4481A000 */ mtc1 $at, $f20 +/* 317358 802BD438 0C00A85B */ jal sin_rad +/* 31735C 802BD43C 46146303 */ div.s $f12, $f12, $f20 +/* 317360 802BD440 8E020000 */ lw $v0, ($s0) +/* 317364 802BD444 3C014040 */ lui $at, 0x4040 +/* 317368 802BD448 44812000 */ mtc1 $at, $f4 +/* 31736C 802BD44C C4420018 */ lwc1 $f2, 0x18($v0) +/* 317370 802BD450 46041080 */ add.s $f2, $f2, $f4 +/* 317374 802BD454 3C014316 */ lui $at, 0x4316 +/* 317378 802BD458 44813000 */ mtc1 $at, $f6 +/* 31737C 802BD45C 00000000 */ nop +/* 317380 802BD460 4602303C */ c.lt.s $f6, $f2 +/* 317384 802BD464 E4420018 */ swc1 $f2, 0x18($v0) +/* 317388 802BD468 46040082 */ mul.s $f2, $f0, $f4 +/* 31738C 802BD46C 00000000 */ nop +/* 317390 802BD470 45030001 */ bc1tl .L802BD478 +/* 317394 802BD474 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD478: +/* 317398 802BD478 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31739C 802BD47C 46020000 */ add.s $f0, $f0, $f2 +/* 3173A0 802BD480 8E020000 */ lw $v0, ($s0) +/* 3173A4 802BD484 E620003C */ swc1 $f0, 0x3c($s1) +/* 3173A8 802BD488 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 3173AC 802BD48C 0C00A6C9 */ jal clamp_angle +/* 3173B0 802BD490 460CA301 */ sub.s $f12, $f20, $f12 +/* 3173B4 802BD494 8E020000 */ lw $v0, ($s0) +/* 3173B8 802BD498 E6200034 */ swc1 $f0, 0x34($s1) +/* 3173BC 802BD49C C4400014 */ lwc1 $f0, 0x14($v0) +/* 3173C0 802BD4A0 3C01802C */ lui $at, 0x802c +/* 3173C4 802BD4A4 D422DE80 */ ldc1 $f2, -0x2180($at) +/* 3173C8 802BD4A8 46000021 */ cvt.d.s $f0, $f0 +/* 3173CC 802BD4AC 46220000 */ add.d $f0, $f0, $f2 +/* 3173D0 802BD4B0 3C014220 */ lui $at, 0x4220 +/* 3173D4 802BD4B4 44811000 */ mtc1 $at, $f2 +/* 3173D8 802BD4B8 46200020 */ cvt.s.d $f0, $f0 +/* 3173DC 802BD4BC 4600103C */ c.lt.s $f2, $f0 +/* 3173E0 802BD4C0 00000000 */ nop +/* 3173E4 802BD4C4 45000002 */ bc1f .L802BD4D0 +/* 3173E8 802BD4C8 E4400014 */ swc1 $f0, 0x14($v0) +/* 3173EC 802BD4CC E4420014 */ swc1 $f2, 0x14($v0) +.L802BD4D0: +/* 3173F0 802BD4D0 8E030000 */ lw $v1, ($s0) +/* 3173F4 802BD4D4 8C620000 */ lw $v0, ($v1) +/* 3173F8 802BD4D8 2442FFFF */ addiu $v0, $v0, -1 +/* 3173FC 802BD4DC 14400018 */ bnez $v0, .L802BD540 +/* 317400 802BD4E0 AC620000 */ sw $v0, ($v1) +/* 317404 802BD4E4 8C620004 */ lw $v0, 4($v1) +/* 317408 802BD4E8 24420001 */ addiu $v0, $v0, 1 +/* 31740C 802BD4EC 080AF550 */ j .L802BD540 +/* 317410 802BD4F0 AC620004 */ sw $v0, 4($v1) +.L802BD4F4: +/* 317414 802BD4F4 8C820008 */ lw $v0, 8($a0) +/* 317418 802BD4F8 AE220000 */ sw $v0, ($s1) +/* 31741C 802BD4FC 8C820004 */ lw $v0, 4($a0) +/* 317420 802BD500 2403001E */ addiu $v1, $zero, 0x1e +/* 317424 802BD504 AC830000 */ sw $v1, ($a0) +/* 317428 802BD508 24420001 */ addiu $v0, $v0, 1 +/* 31742C 802BD50C 080AF550 */ j .L802BD540 +/* 317430 802BD510 AC820004 */ sw $v0, 4($a0) +.L802BD514: +/* 317434 802BD514 0C03AE8F */ jal func_800EBA3C +/* 317438 802BD518 0220202D */ daddu $a0, $s1, $zero +/* 31743C 802BD51C 0C03AED0 */ jal func_800EBB40 +/* 317440 802BD520 0220202D */ daddu $a0, $s1, $zero +/* 317444 802BD524 8E030000 */ lw $v1, ($s0) +/* 317448 802BD528 8C620000 */ lw $v0, ($v1) +/* 31744C 802BD52C 2442FFFF */ addiu $v0, $v0, -1 +/* 317450 802BD530 14400003 */ bnez $v0, .L802BD540 +/* 317454 802BD534 AC620000 */ sw $v0, ($v1) +/* 317458 802BD538 AC600004 */ sw $zero, 4($v1) +/* 31745C 802BD53C AE600000 */ sw $zero, ($s3) +.L802BD540: +/* 317460 802BD540 0000102D */ daddu $v0, $zero, $zero +.L802BD544: +/* 317464 802BD544 8FBF0028 */ lw $ra, 0x28($sp) +/* 317468 802BD548 8FB30024 */ lw $s3, 0x24($sp) +/* 31746C 802BD54C 8FB20020 */ lw $s2, 0x20($sp) +/* 317470 802BD550 8FB1001C */ lw $s1, 0x1c($sp) +/* 317474 802BD554 8FB00018 */ lw $s0, 0x18($sp) +/* 317478 802BD558 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 31747C 802BD55C 03E00008 */ jr $ra +/* 317480 802BD560 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_317020/func_802BD564.s b/asm/nonmatchings/code_317020/func_802BD564.s new file mode 100644 index 0000000000..f85a20b7cf --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD564.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD564 +/* 317484 802BD564 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 317488 802BD568 3C058011 */ lui $a1, 0x8011 +/* 31748C 802BD56C 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 317490 802BD570 AFBF0010 */ sw $ra, 0x10($sp) +/* 317494 802BD574 8CA20000 */ lw $v0, ($a1) +/* 317498 802BD578 10400008 */ beqz $v0, .L802BD59C +/* 31749C 802BD57C 00000000 */ nop +/* 3174A0 802BD580 3C03802C */ lui $v1, 0x802c +/* 3174A4 802BD584 8C63DD88 */ lw $v1, -0x2278($v1) +/* 3174A8 802BD588 8C620008 */ lw $v0, 8($v1) +/* 3174AC 802BD58C ACA00000 */ sw $zero, ($a1) +/* 3174B0 802BD590 AC820000 */ sw $v0, ($a0) +/* 3174B4 802BD594 0C03BD17 */ jal clear_partner_move_history +/* 3174B8 802BD598 AC600004 */ sw $zero, 4($v1) +.L802BD59C: +/* 3174BC 802BD59C 8FBF0010 */ lw $ra, 0x10($sp) +/* 3174C0 802BD5A0 03E00008 */ jr $ra +/* 3174C4 802BD5A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317020/func_802BD5A8.s b/asm/nonmatchings/code_317020/func_802BD5A8.s new file mode 100644 index 0000000000..7902d10a04 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD5A8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD5A8 +/* 3174C8 802BD5A8 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 3174CC 802BD5AC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 3174D0 802BD5B0 14400005 */ bnez $v0, .L802BD5C8 +/* 3174D4 802BD5B4 24031000 */ addiu $v1, $zero, 0x1000 +/* 3174D8 802BD5B8 8C820000 */ lw $v0, ($a0) +/* 3174DC 802BD5BC 30421800 */ andi $v0, $v0, 0x1800 +/* 3174E0 802BD5C0 10430003 */ beq $v0, $v1, .L802BD5D0 +/* 3174E4 802BD5C4 00000000 */ nop +.L802BD5C8: +/* 3174E8 802BD5C8 03E00008 */ jr $ra +/* 3174EC 802BD5CC 0000102D */ daddu $v0, $zero, $zero +.L802BD5D0: +/* 3174F0 802BD5D0 03E00008 */ jr $ra +/* 3174F4 802BD5D4 24020001 */ addiu $v0, $zero, 1 diff --git a/asm/nonmatchings/code_317020/func_802BD5D8.s b/asm/nonmatchings/code_317020/func_802BD5D8.s new file mode 100644 index 0000000000..b9662d42b8 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BD5D8.s @@ -0,0 +1,381 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD5D8 +/* 3174F8 802BD5D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3174FC 802BD5DC AFB10014 */ sw $s1, 0x14($sp) +/* 317500 802BD5E0 0080882D */ daddu $s1, $a0, $zero +/* 317504 802BD5E4 AFB00010 */ sw $s0, 0x10($sp) +/* 317508 802BD5E8 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 31750C 802BD5EC 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 317510 802BD5F0 AFBF0024 */ sw $ra, 0x24($sp) +/* 317514 802BD5F4 AFB40020 */ sw $s4, 0x20($sp) +/* 317518 802BD5F8 AFB3001C */ sw $s3, 0x1c($sp) +/* 31751C 802BD5FC AFB20018 */ sw $s2, 0x18($sp) +/* 317520 802BD600 10A0001C */ beqz $a1, .L802BD674 +/* 317524 802BD604 8E32014C */ lw $s2, 0x14c($s1) +/* 317528 802BD608 0C0AF559 */ jal func_802BD564 +/* 31752C 802BD60C 0240202D */ daddu $a0, $s2, $zero +/* 317530 802BD610 3C04802C */ lui $a0, 0x802c +/* 317534 802BD614 2484DF30 */ addiu $a0, $a0, -0x20d0 +/* 317538 802BD618 3C01802C */ lui $at, 0x802c +/* 31753C 802BD61C AC20DF64 */ sw $zero, -0x209c($at) +/* 317540 802BD620 AC800000 */ sw $zero, ($a0) +/* 317544 802BD624 8E020004 */ lw $v0, 4($s0) +/* 317548 802BD628 3C05802C */ lui $a1, 0x802c +/* 31754C 802BD62C 24A5DF34 */ addiu $a1, $a1, -0x20cc +/* 317550 802BD630 30420020 */ andi $v0, $v0, 0x20 +/* 317554 802BD634 10400008 */ beqz $v0, .L802BD658 +/* 317558 802BD638 ACA00000 */ sw $zero, ($a1) +/* 31755C 802BD63C 3C02802B */ lui $v0, 0x802b +/* 317560 802BD640 8C4279A8 */ lw $v0, 0x79a8($v0) +/* 317564 802BD644 8C430000 */ lw $v1, ($v0) +/* 317568 802BD648 24020001 */ addiu $v0, $zero, 1 +/* 31756C 802BD64C AC820000 */ sw $v0, ($a0) +/* 317570 802BD650 3C01802C */ lui $at, 0x802c +/* 317574 802BD654 AC23DF38 */ sw $v1, -0x20c8($at) +.L802BD658: +/* 317578 802BD658 8E020004 */ lw $v0, 4($s0) +/* 31757C 802BD65C 30420010 */ andi $v0, $v0, 0x10 +/* 317580 802BD660 10400002 */ beqz $v0, .L802BD66C +/* 317584 802BD664 24020001 */ addiu $v0, $zero, 1 +/* 317588 802BD668 ACA20000 */ sw $v0, ($a1) +.L802BD66C: +/* 31758C 802BD66C 24020028 */ addiu $v0, $zero, 0x28 +/* 317590 802BD670 AE220070 */ sw $v0, 0x70($s1) +.L802BD674: +/* 317594 802BD674 8E230070 */ lw $v1, 0x70($s1) +/* 317598 802BD678 24130001 */ addiu $s3, $zero, 1 +/* 31759C 802BD67C 10730053 */ beq $v1, $s3, .L802BD7CC +/* 3175A0 802BD680 28620002 */ slti $v0, $v1, 2 +/* 3175A4 802BD684 10400005 */ beqz $v0, .L802BD69C +/* 3175A8 802BD688 24020028 */ addiu $v0, $zero, 0x28 +/* 3175AC 802BD68C 10600030 */ beqz $v1, .L802BD750 +/* 3175B0 802BD690 2402000A */ addiu $v0, $zero, 0xa +/* 3175B4 802BD694 080AF6A3 */ j .L802BDA8C +/* 3175B8 802BD698 00000000 */ nop +.L802BD69C: +/* 3175BC 802BD69C 10620005 */ beq $v1, $v0, .L802BD6B4 +/* 3175C0 802BD6A0 24020029 */ addiu $v0, $zero, 0x29 +/* 3175C4 802BD6A4 10620018 */ beq $v1, $v0, .L802BD708 +/* 3175C8 802BD6A8 00000000 */ nop +/* 3175CC 802BD6AC 080AF6A1 */ j .L802BDA84 +/* 3175D0 802BD6B0 00000000 */ nop +.L802BD6B4: +/* 3175D4 802BD6B4 8E420000 */ lw $v0, ($s2) +/* 3175D8 802BD6B8 30421000 */ andi $v0, $v0, 0x1000 +/* 3175DC 802BD6BC 10400004 */ beqz $v0, .L802BD6D0 +/* 3175E0 802BD6C0 2402FFFF */ addiu $v0, $zero, -1 +/* 3175E4 802BD6C4 82020015 */ lb $v0, 0x15($s0) +/* 3175E8 802BD6C8 10400004 */ beqz $v0, .L802BD6DC +/* 3175EC 802BD6CC 2402FFFF */ addiu $v0, $zero, -1 +.L802BD6D0: +/* 3175F0 802BD6D0 AE220084 */ sw $v0, 0x84($s1) +.L802BD6D4: +/* 3175F4 802BD6D4 080AF6C4 */ j .L802BDB10 +/* 3175F8 802BD6D8 24020002 */ addiu $v0, $zero, 2 +.L802BD6DC: +/* 3175FC 802BD6DC 24020003 */ addiu $v0, $zero, 3 +/* 317600 802BD6E0 0C03805E */ jal disable_player_input +/* 317604 802BD6E4 AE220074 */ sw $v0, 0x74($s1) +/* 317608 802BD6E8 82030015 */ lb $v1, 0x15($s0) +/* 31760C 802BD6EC 8E220070 */ lw $v0, 0x70($s1) +/* 317610 802BD6F0 3C01802C */ lui $at, 0x802c +/* 317614 802BD6F4 AC33DF64 */ sw $s3, -0x209c($at) +/* 317618 802BD6F8 24420001 */ addiu $v0, $v0, 1 +/* 31761C 802BD6FC AE230078 */ sw $v1, 0x78($s1) +/* 317620 802BD700 080AF6A1 */ j .L802BDA84 +/* 317624 802BD704 AE220070 */ sw $v0, 0x70($s1) +.L802BD708: +/* 317628 802BD708 8E220074 */ lw $v0, 0x74($s1) +/* 31762C 802BD70C 10400003 */ beqz $v0, .L802BD71C +/* 317630 802BD710 2442FFFF */ addiu $v0, $v0, -1 +/* 317634 802BD714 080AF6A1 */ j .L802BDA84 +/* 317638 802BD718 AE220074 */ sw $v0, 0x74($s1) +.L802BD71C: +/* 31763C 802BD71C 82030015 */ lb $v1, 0x15($s0) +/* 317640 802BD720 8E220078 */ lw $v0, 0x78($s1) +/* 317644 802BD724 0043102A */ slt $v0, $v0, $v1 +/* 317648 802BD728 10400007 */ beqz $v0, .L802BD748 +/* 31764C 802BD72C 2402FFFF */ addiu $v0, $zero, -1 +/* 317650 802BD730 0C038069 */ jal enable_player_input +/* 317654 802BD734 AE220084 */ sw $v0, 0x84($s1) +/* 317658 802BD738 3C01802C */ lui $at, 0x802c +/* 31765C 802BD73C AC20DF64 */ sw $zero, -0x209c($at) +/* 317660 802BD740 080AF6C4 */ j .L802BDB10 +/* 317664 802BD744 24020002 */ addiu $v0, $zero, 2 +.L802BD748: +/* 317668 802BD748 080AF6A1 */ j .L802BDA84 +/* 31766C 802BD74C AE200070 */ sw $zero, 0x70($s1) +.L802BD750: +/* 317670 802BD750 0C009C22 */ jal func_80027088 +/* 317674 802BD754 24040001 */ addiu $a0, $zero, 1 +/* 317678 802BD758 3C03FDFF */ lui $v1, 0xfdff +/* 31767C 802BD75C 3463FFFF */ ori $v1, $v1, 0xffff +/* 317680 802BD760 3C040001 */ lui $a0, 1 +/* 317684 802BD764 8E020000 */ lw $v0, ($s0) +/* 317688 802BD768 34840001 */ ori $a0, $a0, 1 +/* 31768C 802BD76C 00431024 */ and $v0, $v0, $v1 +/* 317690 802BD770 AE020000 */ sw $v0, ($s0) +/* 317694 802BD774 AE440028 */ sw $a0, 0x28($s2) +/* 317698 802BD778 3C01800B */ lui $at, 0x800b +/* 31769C 802BD77C C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 3176A0 802BD780 C60000A8 */ lwc1 $f0, 0xa8($s0) +/* 3176A4 802BD784 46006300 */ add.s $f12, $f12, $f0 +/* 3176A8 802BD788 3C0142B4 */ lui $at, 0x42b4 +/* 3176AC 802BD78C 44810000 */ mtc1 $at, $f0 +/* 3176B0 802BD790 0C00A6C9 */ jal clamp_angle +/* 3176B4 802BD794 46006301 */ sub.s $f12, $f12, $f0 +/* 3176B8 802BD798 E640000C */ swc1 $f0, 0xc($s2) +/* 3176BC 802BD79C 3C018011 */ lui $at, %hi(D_8010EBB0) +/* 3176C0 802BD7A0 A033EBB0 */ sb $s3, %lo(D_8010EBB0)($at) +/* 3176C4 802BD7A4 0C03A5EE */ jal func_800E97B8 +/* 3176C8 802BD7A8 00000000 */ nop +/* 3176CC 802BD7AC 3C02802C */ lui $v0, 0x802c +/* 3176D0 802BD7B0 8C42DF30 */ lw $v0, -0x20d0($v0) +/* 3176D4 802BD7B4 10400004 */ beqz $v0, .L802BD7C8 +/* 3176D8 802BD7B8 24020014 */ addiu $v0, $zero, 0x14 +/* 3176DC 802BD7BC AE200084 */ sw $zero, 0x84($s1) +/* 3176E0 802BD7C0 080AF6A1 */ j .L802BDA84 +/* 3176E4 802BD7C4 AE220070 */ sw $v0, 0x70($s1) +.L802BD7C8: +/* 3176E8 802BD7C8 AE330070 */ sw $s3, 0x70($s1) +.L802BD7CC: +/* 3176EC 802BD7CC 3C04802C */ lui $a0, 0x802c +/* 3176F0 802BD7D0 8C84DF60 */ lw $a0, -0x20a0($a0) +/* 3176F4 802BD7D4 0480008A */ bltz $a0, .L802BDA00 +/* 3176F8 802BD7D8 30824000 */ andi $v0, $a0, 0x4000 +/* 3176FC 802BD7DC 10400070 */ beqz $v0, .L802BD9A0 +/* 317700 802BD7E0 00000000 */ nop +/* 317704 802BD7E4 0C0441A9 */ jal get_entity_type +/* 317708 802BD7E8 2410FFFF */ addiu $s0, $zero, -1 +/* 31770C 802BD7EC 0040282D */ daddu $a1, $v0, $zero +/* 317710 802BD7F0 3C03802C */ lui $v1, 0x802c +/* 317714 802BD7F4 2463DC40 */ addiu $v1, $v1, -0x23c0 +/* 317718 802BD7F8 8C620000 */ lw $v0, ($v1) +/* 31771C 802BD7FC 10500066 */ beq $v0, $s0, .L802BD998 +/* 317720 802BD800 24A4FFF7 */ addiu $a0, $a1, -9 +/* 317724 802BD804 0060A02D */ daddu $s4, $v1, $zero +/* 317728 802BD808 3C03802C */ lui $v1, 0x802c +/* 31772C 802BD80C 2463DE88 */ addiu $v1, $v1, -0x2178 +/* 317730 802BD810 00041080 */ sll $v0, $a0, 2 +/* 317734 802BD814 00434821 */ addu $t1, $v0, $v1 +/* 317738 802BD818 3C068011 */ lui $a2, %hi(gPlayerData) +/* 31773C 802BD81C 24C6F290 */ addiu $a2, $a2, %lo(gPlayerData) +/* 317740 802BD820 24070001 */ addiu $a3, $zero, 1 +/* 317744 802BD824 24080002 */ addiu $t0, $zero, 2 +/* 317748 802BD828 0200982D */ daddu $s3, $s0, $zero +/* 31774C 802BD82C 0280182D */ daddu $v1, $s4, $zero +/* 317750 802BD830 24120004 */ addiu $s2, $zero, 4 +/* 317754 802BD834 8C620000 */ lw $v0, ($v1) +.L802BD838: +/* 317758 802BD838 54450054 */ bnel $v0, $a1, .L802BD98C +/* 31775C 802BD83C 24630008 */ addiu $v1, $v1, 8 +/* 317760 802BD840 2C82002A */ sltiu $v0, $a0, 0x2a +/* 317764 802BD844 1040004B */ beqz $v0, .L802BD974 +/* 317768 802BD848 00000000 */ nop +/* 31776C 802BD84C 8D220000 */ lw $v0, ($t1) +/* 317770 802BD850 00400008 */ jr $v0 +/* 317774 802BD854 00000000 */ nop +/* 317778 802BD858 80C20001 */ lb $v0, 1($a2) +/* 31777C 802BD85C 18400045 */ blez $v0, .L802BD974 +/* 317780 802BD860 00000000 */ nop +/* 317784 802BD864 3C10001B */ lui $s0, 0x1b +/* 317788 802BD868 080AF65D */ j .L802BD974 +/* 31778C 802BD86C 36100002 */ ori $s0, $s0, 2 +/* 317790 802BD870 80C20001 */ lb $v0, 1($a2) +/* 317794 802BD874 28420002 */ slti $v0, $v0, 2 +/* 317798 802BD878 1440003E */ bnez $v0, .L802BD974 +/* 31779C 802BD87C 00000000 */ nop +/* 3177A0 802BD880 3C10001B */ lui $s0, 0x1b +/* 3177A4 802BD884 080AF65D */ j .L802BD974 +/* 3177A8 802BD888 36100004 */ ori $s0, $s0, 4 +/* 3177AC 802BD88C 3C028011 */ lui $v0, %hi(gPlayerData) +/* 3177B0 802BD890 8042F290 */ lb $v0, %lo(gPlayerData)($v0) +/* 3177B4 802BD894 14470004 */ bne $v0, $a3, .L802BD8A8 +/* 3177B8 802BD898 00000000 */ nop +/* 3177BC 802BD89C 3C10001B */ lui $s0, 0x1b +/* 3177C0 802BD8A0 080AF65D */ j .L802BD974 +/* 3177C4 802BD8A4 36100018 */ ori $s0, $s0, 0x18 +.L802BD8A8: +/* 3177C8 802BD8A8 14480032 */ bne $v0, $t0, .L802BD974 +/* 3177CC 802BD8AC 00000000 */ nop +/* 3177D0 802BD8B0 3C10001B */ lui $s0, 0x1b +/* 3177D4 802BD8B4 080AF65D */ j .L802BD974 +/* 3177D8 802BD8B8 36100019 */ ori $s0, $s0, 0x19 +/* 3177DC 802BD8BC 3C028011 */ lui $v0, %hi(gPlayerData) +/* 3177E0 802BD8C0 8042F290 */ lb $v0, %lo(gPlayerData)($v0) +/* 3177E4 802BD8C4 14470004 */ bne $v0, $a3, .L802BD8D8 +/* 3177E8 802BD8C8 00000000 */ nop +/* 3177EC 802BD8CC 3C10001B */ lui $s0, 0x1b +/* 3177F0 802BD8D0 080AF65D */ j .L802BD974 +/* 3177F4 802BD8D4 3610001B */ ori $s0, $s0, 0x1b +.L802BD8D8: +/* 3177F8 802BD8D8 14480026 */ bne $v0, $t0, .L802BD974 +/* 3177FC 802BD8DC 00000000 */ nop +/* 317800 802BD8E0 3C10001B */ lui $s0, 0x1b +/* 317804 802BD8E4 080AF65D */ j .L802BD974 +/* 317808 802BD8E8 3610001C */ ori $s0, $s0, 0x1c +/* 31780C 802BD8EC 3C028011 */ lui $v0, %hi(gPlayerData) +/* 317810 802BD8F0 8042F290 */ lb $v0, %lo(gPlayerData)($v0) +/* 317814 802BD8F4 28420002 */ slti $v0, $v0, 2 +/* 317818 802BD8F8 1440001E */ bnez $v0, .L802BD974 +/* 31781C 802BD8FC 00000000 */ nop +/* 317820 802BD900 3C10001B */ lui $s0, 0x1b +/* 317824 802BD904 080AF65D */ j .L802BD974 +/* 317828 802BD908 3610000D */ ori $s0, $s0, 0xd +/* 31782C 802BD90C 3C028011 */ lui $v0, %hi(gPlayerData) +/* 317830 802BD910 8042F290 */ lb $v0, %lo(gPlayerData)($v0) +/* 317834 802BD914 28420002 */ slti $v0, $v0, 2 +/* 317838 802BD918 14400016 */ bnez $v0, .L802BD974 +/* 31783C 802BD91C 00000000 */ nop +/* 317840 802BD920 3C10001B */ lui $s0, 0x1b +/* 317844 802BD924 080AF65D */ j .L802BD974 +/* 317848 802BD928 3610000F */ ori $s0, $s0, 0xf +/* 31784C 802BD92C 3C028011 */ lui $v0, %hi(gPlayerData) +/* 317850 802BD930 8042F290 */ lb $v0, %lo(gPlayerData)($v0) +/* 317854 802BD934 28420002 */ slti $v0, $v0, 2 +/* 317858 802BD938 1440000E */ bnez $v0, .L802BD974 +/* 31785C 802BD93C 00000000 */ nop +/* 317860 802BD940 3C10001B */ lui $s0, 0x1b +/* 317864 802BD944 080AF65D */ j .L802BD974 +/* 317868 802BD948 3610001E */ ori $s0, $s0, 0x1e +/* 31786C 802BD94C 3C04802C */ lui $a0, 0x802c +/* 317870 802BD950 8C84DF60 */ lw $a0, -0x20a0($a0) +/* 317874 802BD954 0C04417A */ jal get_entity_by_index +/* 317878 802BD958 30843FFF */ andi $a0, $a0, 0x3fff +/* 31787C 802BD95C 8C420040 */ lw $v0, 0x40($v0) +/* 317880 802BD960 8C420010 */ lw $v0, 0x10($v0) +/* 317884 802BD964 14530003 */ bne $v0, $s3, .L802BD974 +/* 317888 802BD968 00000000 */ nop +/* 31788C 802BD96C 3C10001B */ lui $s0, 0x1b +/* 317890 802BD970 36100016 */ ori $s0, $s0, 0x16 +.L802BD974: +/* 317894 802BD974 56130058 */ bnel $s0, $s3, .L802BDAD8 +/* 317898 802BD978 AE300084 */ sw $s0, 0x84($s1) +/* 31789C 802BD97C 02541021 */ addu $v0, $s2, $s4 +/* 3178A0 802BD980 8C420000 */ lw $v0, ($v0) +/* 3178A4 802BD984 080AF6B6 */ j .L802BDAD8 +/* 3178A8 802BD988 AE220084 */ sw $v0, 0x84($s1) +.L802BD98C: +/* 3178AC 802BD98C 8C620000 */ lw $v0, ($v1) +/* 3178B0 802BD990 1453FFA9 */ bne $v0, $s3, .L802BD838 +/* 3178B4 802BD994 26520008 */ addiu $s2, $s2, 8 +.L802BD998: +/* 3178B8 802BD998 3C04802C */ lui $a0, 0x802c +/* 3178BC 802BD99C 8C84DF60 */ lw $a0, -0x20a0($a0) +.L802BD9A0: +/* 3178C0 802BD9A0 04800017 */ bltz $a0, .L802BDA00 +/* 3178C4 802BD9A4 30822000 */ andi $v0, $a0, 0x2000 +/* 3178C8 802BD9A8 10400015 */ beqz $v0, .L802BDA00 +/* 3178CC 802BD9AC 00000000 */ nop +/* 3178D0 802BD9B0 0C00EABB */ jal get_npc_unsafe +/* 3178D4 802BD9B4 30841FFF */ andi $a0, $a0, 0x1fff +/* 3178D8 802BD9B8 3C01802C */ lui $at, 0x802c +/* 3178DC 802BD9BC AC22DF38 */ sw $v0, -0x20c8($at) +/* 3178E0 802BD9C0 0C00FB3A */ jal get_enemy +/* 3178E4 802BD9C4 804400A4 */ lb $a0, 0xa4($v0) +/* 3178E8 802BD9C8 8C4200D8 */ lw $v0, 0xd8($v0) +/* 3178EC 802BD9CC 1040FF41 */ beqz $v0, .L802BD6D4 +/* 3178F0 802BD9D0 0040802D */ daddu $s0, $v0, $zero +/* 3178F4 802BD9D4 3C02EFE8 */ lui $v0, 0xefe8 +/* 3178F8 802BD9D8 34422080 */ ori $v0, $v0, 0x2080 +/* 3178FC 802BD9DC 0202102A */ slt $v0, $s0, $v0 +/* 317900 802BD9E0 50400005 */ beql $v0, $zero, .L802BD9F8 +/* 317904 802BD9E4 AE300084 */ sw $s0, 0x84($s1) +/* 317908 802BD9E8 0200F809 */ jalr $s0 +/* 31790C 802BD9EC 00000000 */ nop +/* 317910 802BD9F0 080AF5B5 */ j .L802BD6D4 +/* 317914 802BD9F4 AE220084 */ sw $v0, 0x84($s1) +.L802BD9F8: +/* 317918 802BD9F8 080AF5B5 */ j .L802BD6D4 +/* 31791C 802BD9FC AE200088 */ sw $zero, 0x88($s1) +.L802BDA00: +/* 317920 802BDA00 3C02802C */ lui $v0, 0x802c +/* 317924 802BDA04 8C42DF34 */ lw $v0, -0x20cc($v0) +/* 317928 802BDA08 10400003 */ beqz $v0, .L802BDA18 +/* 31792C 802BDA0C 3C03001B */ lui $v1, 0x1b +/* 317930 802BDA10 080AF6BF */ j .L802BDAFC +/* 317934 802BDA14 34630025 */ ori $v1, $v1, 0x25 +.L802BDA18: +/* 317938 802BDA18 3C04802C */ lui $a0, 0x802c +/* 31793C 802BDA1C 8C84DF60 */ lw $a0, -0x20a0($a0) +/* 317940 802BDA20 04800004 */ bltz $a0, .L802BDA34 +/* 317944 802BDA24 0000282D */ daddu $a1, $zero, $zero +/* 317948 802BDA28 0C0AF440 */ jal func_802BD100 +/* 31794C 802BDA2C 00000000 */ nop +/* 317950 802BDA30 0040282D */ daddu $a1, $v0, $zero +.L802BDA34: +/* 317954 802BDA34 14A00010 */ bnez $a1, .L802BDA78 +/* 317958 802BDA38 24020001 */ addiu $v0, $zero, 1 +/* 31795C 802BDA3C 0C016AFA */ jal get_current_map_header +/* 317960 802BDA40 00000000 */ nop +/* 317964 802BDA44 8C50003C */ lw $s0, 0x3c($v0) +/* 317968 802BDA48 1200FF22 */ beqz $s0, .L802BD6D4 +/* 31796C 802BDA4C 3C02EFE8 */ lui $v0, 0xefe8 +/* 317970 802BDA50 34422080 */ ori $v0, $v0, 0x2080 +/* 317974 802BDA54 0202102A */ slt $v0, $s0, $v0 +/* 317978 802BDA58 50400005 */ beql $v0, $zero, .L802BDA70 +/* 31797C 802BDA5C AE300084 */ sw $s0, 0x84($s1) +/* 317980 802BDA60 0200F809 */ jalr $s0 +/* 317984 802BDA64 00000000 */ nop +/* 317988 802BDA68 080AF5B5 */ j .L802BD6D4 +/* 31798C 802BDA6C AE220084 */ sw $v0, 0x84($s1) +.L802BDA70: +/* 317990 802BDA70 080AF5B5 */ j .L802BD6D4 +/* 317994 802BDA74 AE200088 */ sw $zero, 0x88($s1) +.L802BDA78: +/* 317998 802BDA78 AE250084 */ sw $a1, 0x84($s1) +/* 31799C 802BDA7C 080AF5B5 */ j .L802BD6D4 +/* 3179A0 802BDA80 AE220088 */ sw $v0, 0x88($s1) +.L802BDA84: +/* 3179A4 802BDA84 8E230070 */ lw $v1, 0x70($s1) +/* 3179A8 802BDA88 2402000A */ addiu $v0, $zero, 0xa +.L802BDA8C: +/* 3179AC 802BDA8C 10620005 */ beq $v1, $v0, .L802BDAA4 +/* 3179B0 802BDA90 24020014 */ addiu $v0, $zero, 0x14 +/* 3179B4 802BDA94 10620012 */ beq $v1, $v0, .L802BDAE0 +/* 3179B8 802BDA98 0000102D */ daddu $v0, $zero, $zero +/* 3179BC 802BDA9C 080AF6C4 */ j .L802BDB10 +/* 3179C0 802BDAA0 00000000 */ nop +.L802BDAA4: +/* 3179C4 802BDAA4 0C016AFA */ jal get_current_map_header +/* 3179C8 802BDAA8 00000000 */ nop +/* 3179CC 802BDAAC 8C50003C */ lw $s0, 0x3c($v0) +/* 3179D0 802BDAB0 12000016 */ beqz $s0, .L802BDB0C +/* 3179D4 802BDAB4 3C02EFE8 */ lui $v0, 0xefe8 +/* 3179D8 802BDAB8 34422080 */ ori $v0, $v0, 0x2080 +/* 3179DC 802BDABC 0202102A */ slt $v0, $s0, $v0 +/* 3179E0 802BDAC0 50400005 */ beql $v0, $zero, .L802BDAD8 +/* 3179E4 802BDAC4 AE300084 */ sw $s0, 0x84($s1) +/* 3179E8 802BDAC8 0200F809 */ jalr $s0 +/* 3179EC 802BDACC 00000000 */ nop +/* 3179F0 802BDAD0 080AF5B5 */ j .L802BD6D4 +/* 3179F4 802BDAD4 AE220084 */ sw $v0, 0x84($s1) +.L802BDAD8: +/* 3179F8 802BDAD8 080AF5B5 */ j .L802BD6D4 +/* 3179FC 802BDADC AE200088 */ sw $zero, 0x88($s1) +.L802BDAE0: +/* 317A00 802BDAE0 3C02802C */ lui $v0, 0x802c +/* 317A04 802BDAE4 8C42DF38 */ lw $v0, -0x20c8($v0) +/* 317A08 802BDAE8 0C00FB3A */ jal get_enemy +/* 317A0C 802BDAEC 804400A4 */ lb $a0, 0xa4($v0) +/* 317A10 802BDAF0 8C4300D8 */ lw $v1, 0xd8($v0) +/* 317A14 802BDAF4 10600006 */ beqz $v1, .L802BDB10 +/* 317A18 802BDAF8 0000102D */ daddu $v0, $zero, $zero +.L802BDAFC: +/* 317A1C 802BDAFC 24020002 */ addiu $v0, $zero, 2 +/* 317A20 802BDB00 AE230084 */ sw $v1, 0x84($s1) +/* 317A24 802BDB04 080AF6C4 */ j .L802BDB10 +/* 317A28 802BDB08 AE200088 */ sw $zero, 0x88($s1) +.L802BDB0C: +/* 317A2C 802BDB0C 0000102D */ daddu $v0, $zero, $zero +.L802BDB10: +/* 317A30 802BDB10 8FBF0024 */ lw $ra, 0x24($sp) +/* 317A34 802BDB14 8FB40020 */ lw $s4, 0x20($sp) +/* 317A38 802BDB18 8FB3001C */ lw $s3, 0x1c($sp) +/* 317A3C 802BDB1C 8FB20018 */ lw $s2, 0x18($sp) +/* 317A40 802BDB20 8FB10014 */ lw $s1, 0x14($sp) +/* 317A44 802BDB24 8FB00010 */ lw $s0, 0x10($sp) +/* 317A48 802BDB28 03E00008 */ jr $ra +/* 317A4C 802BDB2C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_317020/func_802BDB30.s b/asm/nonmatchings/code_317020/func_802BDB30.s new file mode 100644 index 0000000000..242038f16d --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BDB30.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDB30 +/* 317A50 802BDB30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 317A54 802BDB34 0000202D */ daddu $a0, $zero, $zero +/* 317A58 802BDB38 AFBF0014 */ sw $ra, 0x14($sp) +/* 317A5C 802BDB3C 0C009C22 */ jal func_80027088 +/* 317A60 802BDB40 AFB00010 */ sw $s0, 0x10($sp) +/* 317A64 802BDB44 3C03802C */ lui $v1, 0x802c +/* 317A68 802BDB48 2463DF64 */ addiu $v1, $v1, -0x209c +/* 317A6C 802BDB4C 8C620000 */ lw $v0, ($v1) +/* 317A70 802BDB50 3C108011 */ lui $s0, %hi(D_8010EBB0) +/* 317A74 802BDB54 2610EBB0 */ addiu $s0, $s0, %lo(D_8010EBB0) +/* 317A78 802BDB58 50400004 */ beql $v0, $zero, .L802BDB6C +/* 317A7C 802BDB5C A2000000 */ sb $zero, ($s0) +/* 317A80 802BDB60 0C038069 */ jal enable_player_input +/* 317A84 802BDB64 AC600000 */ sw $zero, ($v1) +/* 317A88 802BDB68 A2000000 */ sb $zero, ($s0) +.L802BDB6C: +/* 317A8C 802BDB6C A2000003 */ sb $zero, 3($s0) +/* 317A90 802BDB70 8FBF0014 */ lw $ra, 0x14($sp) +/* 317A94 802BDB74 8FB00010 */ lw $s0, 0x10($sp) +/* 317A98 802BDB78 24020002 */ addiu $v0, $zero, 2 +/* 317A9C 802BDB7C 03E00008 */ jr $ra +/* 317AA0 802BDB80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317020/func_802BDB84.s b/asm/nonmatchings/code_317020/func_802BDB84.s new file mode 100644 index 0000000000..15530fc7c1 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BDB84.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDB84 +/* 317AA4 802BDB84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 317AA8 802BDB88 AFBF0014 */ sw $ra, 0x14($sp) +/* 317AAC 802BDB8C AFB00010 */ sw $s0, 0x10($sp) +/* 317AB0 802BDB90 10A00003 */ beqz $a1, .L802BDBA0 +/* 317AB4 802BDB94 8C90014C */ lw $s0, 0x14c($a0) +/* 317AB8 802BDB98 0C03BA65 */ jal func_800EE994 +/* 317ABC 802BDB9C 0200202D */ daddu $a0, $s0, $zero +.L802BDBA0: +/* 317AC0 802BDBA0 0C03BA6E */ jal func_800EE9B8 +/* 317AC4 802BDBA4 0200202D */ daddu $a0, $s0, $zero +/* 317AC8 802BDBA8 8FBF0014 */ lw $ra, 0x14($sp) +/* 317ACC 802BDBAC 8FB00010 */ lw $s0, 0x10($sp) +/* 317AD0 802BDBB0 0002102B */ sltu $v0, $zero, $v0 +/* 317AD4 802BDBB4 03E00008 */ jr $ra +/* 317AD8 802BDBB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317020/func_802BDBBC.s b/asm/nonmatchings/code_317020/func_802BDBBC.s new file mode 100644 index 0000000000..49ebbff6d8 --- /dev/null +++ b/asm/nonmatchings/code_317020/func_802BDBBC.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDBBC +/* 317ADC 802BDBBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 317AE0 802BDBC0 AFB10014 */ sw $s1, 0x14($sp) +/* 317AE4 802BDBC4 0080882D */ daddu $s1, $a0, $zero +/* 317AE8 802BDBC8 AFB00010 */ sw $s0, 0x10($sp) +/* 317AEC 802BDBCC 3C108011 */ lui $s0, %hi(D_8010EBB0) +/* 317AF0 802BDBD0 2610EBB0 */ addiu $s0, $s0, %lo(D_8010EBB0) +/* 317AF4 802BDBD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 317AF8 802BDBD8 AFB20018 */ sw $s2, 0x18($sp) +/* 317AFC 802BDBDC 82020000 */ lb $v0, ($s0) +/* 317B00 802BDBE0 1040000D */ beqz $v0, .L802BDC18 +/* 317B04 802BDBE4 0200902D */ daddu $s2, $s0, $zero +/* 317B08 802BDBE8 0C009C22 */ jal func_80027088 +/* 317B0C 802BDBEC 0000202D */ daddu $a0, $zero, $zero +/* 317B10 802BDBF0 0C038069 */ jal enable_player_input +/* 317B14 802BDBF4 00000000 */ nop +/* 317B18 802BDBF8 0C0B4312 */ jal CancelMessageAndBlock +/* 317B1C 802BDBFC 00000000 */ nop +/* 317B20 802BDC00 0C03BD17 */ jal clear_partner_move_history +/* 317B24 802BDC04 0220202D */ daddu $a0, $s1, $zero +/* 317B28 802BDC08 0220202D */ daddu $a0, $s1, $zero +/* 317B2C 802BDC0C A2000000 */ sb $zero, ($s0) +/* 317B30 802BDC10 0C00EB6B */ jal disable_npc_blur +/* 317B34 802BDC14 A2000003 */ sb $zero, 3($s0) +.L802BDC18: +/* 317B38 802BDC18 24020001 */ addiu $v0, $zero, 1 +/* 317B3C 802BDC1C A2420003 */ sb $v0, 3($s2) +/* 317B40 802BDC20 8FBF001C */ lw $ra, 0x1c($sp) +/* 317B44 802BDC24 8FB20018 */ lw $s2, 0x18($sp) +/* 317B48 802BDC28 8FB10014 */ lw $s1, 0x14($sp) +/* 317B4C 802BDC2C 8FB00010 */ lw $s0, 0x10($sp) +/* 317B50 802BDC30 03E00008 */ jr $ra +/* 317B54 802BDC34 27BD0020 */ addiu $sp, $sp, 0x20 +/* 317B58 802BDC38 00000000 */ nop +/* 317B5C 802BDC3C 00000000 */ nop diff --git a/asm/nonmatchings/code_317E50/func_802BD100_317E50.s b/asm/nonmatchings/code_317E50/func_802BD100_317E50.s new file mode 100644 index 0000000000..12cb2d95bc --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD100_317E50.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_317E50 +/* 317E50 802BD100 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 317E54 802BD104 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 317E58 802BD108 4480A000 */ mtc1 $zero, $f20 +/* 317E5C 802BD10C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 317E60 802BD110 3C0141F0 */ lui $at, 0x41f0 +/* 317E64 802BD114 4481D000 */ mtc1 $at, $f26 +/* 317E68 802BD118 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 317E6C 802BD11C 3C014234 */ lui $at, 0x4234 +/* 317E70 802BD120 4481C000 */ mtc1 $at, $f24 +/* 317E74 802BD124 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 317E78 802BD128 3C0143B4 */ lui $at, 0x43b4 +/* 317E7C 802BD12C 4481B000 */ mtc1 $at, $f22 +/* 317E80 802BD130 AFB00030 */ sw $s0, 0x30($sp) +/* 317E84 802BD134 0080802D */ daddu $s0, $a0, $zero +/* 317E88 802BD138 AFBF0034 */ sw $ra, 0x34($sp) +.L802BD13C: +/* 317E8C 802BD13C C6020038 */ lwc1 $f2, 0x38($s0) +/* 317E90 802BD140 C604003C */ lwc1 $f4, 0x3c($s0) +/* 317E94 802BD144 C60C000C */ lwc1 $f12, 0xc($s0) +/* 317E98 802BD148 C6000040 */ lwc1 $f0, 0x40($s0) +/* 317E9C 802BD14C 46146300 */ add.s $f12, $f12, $f20 +/* 317EA0 802BD150 E7A20020 */ swc1 $f2, 0x20($sp) +/* 317EA4 802BD154 E7A40024 */ swc1 $f4, 0x24($sp) +/* 317EA8 802BD158 0C00A6C9 */ jal clamp_angle +/* 317EAC 802BD15C E7A00028 */ swc1 $f0, 0x28($sp) +/* 317EB0 802BD160 3C040010 */ lui $a0, 0x10 +/* 317EB4 802BD164 27A50020 */ addiu $a1, $sp, 0x20 +/* 317EB8 802BD168 E7BA0010 */ swc1 $f26, 0x10($sp) +/* 317EBC 802BD16C E7A00014 */ swc1 $f0, 0x14($sp) +/* 317EC0 802BD170 860200A8 */ lh $v0, 0xa8($s0) +/* 317EC4 802BD174 27A60024 */ addiu $a2, $sp, 0x24 +/* 317EC8 802BD178 44820000 */ mtc1 $v0, $f0 +/* 317ECC 802BD17C 00000000 */ nop +/* 317ED0 802BD180 46800020 */ cvt.s.w $f0, $f0 +/* 317ED4 802BD184 E7A00018 */ swc1 $f0, 0x18($sp) +/* 317ED8 802BD188 860200A6 */ lh $v0, 0xa6($s0) +/* 317EDC 802BD18C 27A70028 */ addiu $a3, $sp, 0x28 +/* 317EE0 802BD190 44820000 */ mtc1 $v0, $f0 +/* 317EE4 802BD194 00000000 */ nop +/* 317EE8 802BD198 46800020 */ cvt.s.w $f0, $f0 +/* 317EEC 802BD19C 0C0376B9 */ jal func_800DDAE4 +/* 317EF0 802BD1A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 317EF4 802BD1A4 14400006 */ bnez $v0, .L802BD1C0 +/* 317EF8 802BD1A8 00000000 */ nop +/* 317EFC 802BD1AC 4618A500 */ add.s $f20, $f20, $f24 +/* 317F00 802BD1B0 4616A03C */ c.lt.s $f20, $f22 +/* 317F04 802BD1B4 00000000 */ nop +/* 317F08 802BD1B8 4501FFE0 */ bc1t .L802BD13C +/* 317F0C 802BD1BC 00000000 */ nop +.L802BD1C0: +/* 317F10 802BD1C0 3C0143B4 */ lui $at, 0x43b4 +/* 317F14 802BD1C4 44810000 */ mtc1 $at, $f0 +/* 317F18 802BD1C8 00000000 */ nop +/* 317F1C 802BD1CC 4614003E */ c.le.s $f0, $f20 +/* 317F20 802BD1D0 00000000 */ nop +/* 317F24 802BD1D4 4500002F */ bc1f .L802BD294 +/* 317F28 802BD1D8 00000000 */ nop +/* 317F2C 802BD1DC 46000686 */ mov.s $f26, $f0 +/* 317F30 802BD1E0 4480A000 */ mtc1 $zero, $f20 +/* 317F34 802BD1E4 3C0141F0 */ lui $at, 0x41f0 +/* 317F38 802BD1E8 4481C000 */ mtc1 $at, $f24 +/* 317F3C 802BD1EC 3C014234 */ lui $at, 0x4234 +/* 317F40 802BD1F0 4481B000 */ mtc1 $at, $f22 +.L802BD1F4: +/* 317F44 802BD1F4 C6020038 */ lwc1 $f2, 0x38($s0) +/* 317F48 802BD1F8 C604003C */ lwc1 $f4, 0x3c($s0) +/* 317F4C 802BD1FC C60C000C */ lwc1 $f12, 0xc($s0) +/* 317F50 802BD200 C6000040 */ lwc1 $f0, 0x40($s0) +/* 317F54 802BD204 46146300 */ add.s $f12, $f12, $f20 +/* 317F58 802BD208 E7A20020 */ swc1 $f2, 0x20($sp) +/* 317F5C 802BD20C E7A40024 */ swc1 $f4, 0x24($sp) +/* 317F60 802BD210 0C00A6C9 */ jal clamp_angle +/* 317F64 802BD214 E7A00028 */ swc1 $f0, 0x28($sp) +/* 317F68 802BD218 3C040004 */ lui $a0, 4 +/* 317F6C 802BD21C 27A50020 */ addiu $a1, $sp, 0x20 +/* 317F70 802BD220 E7B80010 */ swc1 $f24, 0x10($sp) +/* 317F74 802BD224 E7A00014 */ swc1 $f0, 0x14($sp) +/* 317F78 802BD228 860200A8 */ lh $v0, 0xa8($s0) +/* 317F7C 802BD22C 27A60024 */ addiu $a2, $sp, 0x24 +/* 317F80 802BD230 44820000 */ mtc1 $v0, $f0 +/* 317F84 802BD234 00000000 */ nop +/* 317F88 802BD238 46800020 */ cvt.s.w $f0, $f0 +/* 317F8C 802BD23C E7A00018 */ swc1 $f0, 0x18($sp) +/* 317F90 802BD240 860200A6 */ lh $v0, 0xa6($s0) +/* 317F94 802BD244 27A70028 */ addiu $a3, $sp, 0x28 +/* 317F98 802BD248 44820000 */ mtc1 $v0, $f0 +/* 317F9C 802BD24C 00000000 */ nop +/* 317FA0 802BD250 46800020 */ cvt.s.w $f0, $f0 +/* 317FA4 802BD254 0C0376B9 */ jal func_800DDAE4 +/* 317FA8 802BD258 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 317FAC 802BD25C 14400006 */ bnez $v0, .L802BD278 +/* 317FB0 802BD260 00000000 */ nop +/* 317FB4 802BD264 4616A500 */ add.s $f20, $f20, $f22 +/* 317FB8 802BD268 461AA03C */ c.lt.s $f20, $f26 +/* 317FBC 802BD26C 00000000 */ nop +/* 317FC0 802BD270 4501FFE0 */ bc1t .L802BD1F4 +/* 317FC4 802BD274 00000000 */ nop +.L802BD278: +/* 317FC8 802BD278 3C0143B4 */ lui $at, 0x43b4 +/* 317FCC 802BD27C 44810000 */ mtc1 $at, $f0 +/* 317FD0 802BD280 00000000 */ nop +/* 317FD4 802BD284 4614003E */ c.le.s $f0, $f20 +/* 317FD8 802BD288 00000000 */ nop +/* 317FDC 802BD28C 4501000A */ bc1t .L802BD2B8 +/* 317FE0 802BD290 00000000 */ nop +.L802BD294: +/* 317FE4 802BD294 3C038011 */ lui $v1, 0x8011 +/* 317FE8 802BD298 8C63C978 */ lw $v1, -0x3688($v1) +/* 317FEC 802BD29C 04600006 */ bltz $v1, .L802BD2B8 +/* 317FF0 802BD2A0 30624000 */ andi $v0, $v1, 0x4000 +/* 317FF4 802BD2A4 10400004 */ beqz $v0, .L802BD2B8 +/* 317FF8 802BD2A8 00000000 */ nop +/* 317FFC 802BD2AC 2404BFFF */ addiu $a0, $zero, -0x4001 +/* 318000 802BD2B0 0C044277 */ jal func_801109DC +/* 318004 802BD2B4 00642024 */ and $a0, $v1, $a0 +.L802BD2B8: +/* 318008 802BD2B8 8FBF0034 */ lw $ra, 0x34($sp) +/* 31800C 802BD2BC 8FB00030 */ lw $s0, 0x30($sp) +/* 318010 802BD2C0 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 318014 802BD2C4 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 318018 802BD2C8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 31801C 802BD2CC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 318020 802BD2D0 03E00008 */ jr $ra +/* 318024 802BD2D4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_317E50/func_802BD2D8.s b/asm/nonmatchings/code_317E50/func_802BD2D8.s new file mode 100644 index 0000000000..2cebbfe851 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD2D8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD2D8 +/* 318028 802BD2D8 2402001C */ addiu $v0, $zero, 0x1c +/* 31802C 802BD2DC A48200A8 */ sh $v0, 0xa8($a0) +/* 318030 802BD2E0 24020018 */ addiu $v0, $zero, 0x18 +/* 318034 802BD2E4 A48200A6 */ sh $v0, 0xa6($a0) +/* 318038 802BD2E8 3C01802C */ lui $at, 0x802c +/* 31803C 802BD2EC AC20E928 */ sw $zero, -0x16d8($at) +/* 318040 802BD2F0 3C01802C */ lui $at, 0x802c +/* 318044 802BD2F4 AC20E924 */ sw $zero, -0x16dc($at) +/* 318048 802BD2F8 03E00008 */ jr $ra +/* 31804C 802BD2FC 00000000 */ nop diff --git a/asm/nonmatchings/code_317E50/func_802BD300.s b/asm/nonmatchings/code_317E50/func_802BD300.s new file mode 100644 index 0000000000..b52da54411 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD300.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD300 +/* 318050 802BD300 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 318054 802BD304 AFBF0014 */ sw $ra, 0x14($sp) +/* 318058 802BD308 AFB00010 */ sw $s0, 0x10($sp) +/* 31805C 802BD30C 10A00003 */ beqz $a1, .L802BD31C +/* 318060 802BD310 8C90014C */ lw $s0, 0x14c($a0) +/* 318064 802BD314 0C03BB31 */ jal func_800EECC4 +/* 318068 802BD318 0200202D */ daddu $a0, $s0, $zero +.L802BD31C: +/* 31806C 802BD31C 0C03BB3A */ jal func_800EECE8 +/* 318070 802BD320 0200202D */ daddu $a0, $s0, $zero +/* 318074 802BD324 8FBF0014 */ lw $ra, 0x14($sp) +/* 318078 802BD328 8FB00010 */ lw $s0, 0x10($sp) +/* 31807C 802BD32C 0002102B */ sltu $v0, $zero, $v0 +/* 318080 802BD330 03E00008 */ jr $ra +/* 318084 802BD334 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317E50/func_802BD338.s b/asm/nonmatchings/code_317E50/func_802BD338.s new file mode 100644 index 0000000000..21ca415293 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD338.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD338 +/* 318088 802BD338 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31808C 802BD33C AFB00018 */ sw $s0, 0x18($sp) +/* 318090 802BD340 3C108011 */ lui $s0, %hi(gPlayerData) +/* 318094 802BD344 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 318098 802BD348 AFBF0028 */ sw $ra, 0x28($sp) +/* 31809C 802BD34C AFB30024 */ sw $s3, 0x24($sp) +/* 3180A0 802BD350 AFB20020 */ sw $s2, 0x20($sp) +/* 3180A4 802BD354 AFB1001C */ sw $s1, 0x1c($sp) +/* 3180A8 802BD358 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 3180AC 802BD35C 8C91014C */ lw $s1, 0x14c($a0) +/* 3180B0 802BD360 10A00009 */ beqz $a1, .L802BD388 +/* 3180B4 802BD364 0220202D */ daddu $a0, $s1, $zero +/* 3180B8 802BD368 0C03AE2A */ jal enable_partner_walking +/* 3180BC 802BD36C 24050001 */ addiu $a1, $zero, 1 +/* 3180C0 802BD370 3C04802C */ lui $a0, 0x802c +/* 3180C4 802BD374 8C84E89C */ lw $a0, -0x1764($a0) +/* 3180C8 802BD378 0C00A580 */ jal mem_clear +/* 3180CC 802BD37C 2405001C */ addiu $a1, $zero, 0x1c +/* 3180D0 802BD380 3C018011 */ lui $at, 0x8011 +/* 3180D4 802BD384 AC20C954 */ sw $zero, -0x36ac($at) +.L802BD388: +/* 3180D8 802BD388 3C030001 */ lui $v1, 1 +/* 3180DC 802BD38C 8E020300 */ lw $v0, 0x300($s0) +/* 3180E0 802BD390 3C138011 */ lui $s3, 0x8011 +/* 3180E4 802BD394 2673C954 */ addiu $s3, $s3, -0x36ac +/* 3180E8 802BD398 24420001 */ addiu $v0, $v0, 1 +/* 3180EC 802BD39C AE020300 */ sw $v0, 0x300($s0) +/* 3180F0 802BD3A0 8E220000 */ lw $v0, ($s1) +/* 3180F4 802BD3A4 8E720000 */ lw $s2, ($s3) +/* 3180F8 802BD3A8 00431025 */ or $v0, $v0, $v1 +/* 3180FC 802BD3AC 16400007 */ bnez $s2, .L802BD3CC +/* 318100 802BD3B0 AE220000 */ sw $v0, ($s1) +/* 318104 802BD3B4 0C03AE8F */ jal func_800EBA3C +/* 318108 802BD3B8 0220202D */ daddu $a0, $s1, $zero +/* 31810C 802BD3BC 0C03AED0 */ jal func_800EBB40 +/* 318110 802BD3C0 0220202D */ daddu $a0, $s1, $zero +/* 318114 802BD3C4 080AF5AF */ j .L802BD6BC +/* 318118 802BD3C8 0000102D */ daddu $v0, $zero, $zero +.L802BD3CC: +/* 31811C 802BD3CC 3C10802C */ lui $s0, 0x802c +/* 318120 802BD3D0 2610E89C */ addiu $s0, $s0, -0x1764 +/* 318124 802BD3D4 8E040000 */ lw $a0, ($s0) +/* 318128 802BD3D8 8C830004 */ lw $v1, 4($a0) +/* 31812C 802BD3DC 24050001 */ addiu $a1, $zero, 1 +/* 318130 802BD3E0 10650030 */ beq $v1, $a1, .L802BD4A4 +/* 318134 802BD3E4 28620002 */ slti $v0, $v1, 2 +/* 318138 802BD3E8 10400005 */ beqz $v0, .L802BD400 +/* 31813C 802BD3EC 24020002 */ addiu $v0, $zero, 2 +/* 318140 802BD3F0 10600009 */ beqz $v1, .L802BD418 +/* 318144 802BD3F4 0000102D */ daddu $v0, $zero, $zero +/* 318148 802BD3F8 080AF5AF */ j .L802BD6BC +/* 31814C 802BD3FC 00000000 */ nop +.L802BD400: +/* 318150 802BD400 1062009A */ beq $v1, $v0, .L802BD66C +/* 318154 802BD404 24020003 */ addiu $v0, $zero, 3 +/* 318158 802BD408 106200A0 */ beq $v1, $v0, .L802BD68C +/* 31815C 802BD40C 0000102D */ daddu $v0, $zero, $zero +/* 318160 802BD410 080AF5AF */ j .L802BD6BC +/* 318164 802BD414 00000000 */ nop +.L802BD418: +/* 318168 802BD418 AC850004 */ sw $a1, 4($a0) +/* 31816C 802BD41C 8E220000 */ lw $v0, ($s1) +/* 318170 802BD420 AC820008 */ sw $v0, 8($a0) +/* 318174 802BD424 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 318178 802BD428 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31817C 802BD42C 8E460048 */ lw $a2, 0x48($s2) +/* 318180 802BD430 0C00A7B5 */ jal dist2D +/* 318184 802BD434 8E470050 */ lw $a3, 0x50($s2) +/* 318188 802BD438 8E020000 */ lw $v0, ($s0) +/* 31818C 802BD43C 46000005 */ abs.s $f0, $f0 +/* 318190 802BD440 E440000C */ swc1 $f0, 0xc($v0) +/* 318194 802BD444 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 318198 802BD448 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 31819C 802BD44C 8E260038 */ lw $a2, 0x38($s1) +/* 3181A0 802BD450 0C00A720 */ jal atan2 +/* 3181A4 802BD454 8E270040 */ lw $a3, 0x40($s1) +/* 3181A8 802BD458 3C040004 */ lui $a0, 4 +/* 3181AC 802BD45C 24020078 */ addiu $v0, $zero, 0x78 +/* 3181B0 802BD460 8E030000 */ lw $v1, ($s0) +/* 3181B4 802BD464 3C0140C0 */ lui $at, 0x40c0 +/* 3181B8 802BD468 44811000 */ mtc1 $at, $f2 +/* 3181BC 802BD46C 3C014248 */ lui $at, 0x4248 +/* 3181C0 802BD470 44812000 */ mtc1 $at, $f4 +/* 3181C4 802BD474 34840148 */ ori $a0, $a0, 0x148 +/* 3181C8 802BD478 E4600010 */ swc1 $f0, 0x10($v1) +/* 3181CC 802BD47C E4620014 */ swc1 $f2, 0x14($v1) +/* 3181D0 802BD480 E4640018 */ swc1 $f4, 0x18($v1) +/* 3181D4 802BD484 AC620000 */ sw $v0, ($v1) +/* 3181D8 802BD488 8E220000 */ lw $v0, ($s1) +/* 3181DC 802BD48C 2403FDFF */ addiu $v1, $zero, -0x201 +/* 3181E0 802BD490 00441025 */ or $v0, $v0, $a0 +/* 3181E4 802BD494 00431024 */ and $v0, $v0, $v1 +/* 3181E8 802BD498 AE220000 */ sw $v0, ($s1) +/* 3181EC 802BD49C 3C10802C */ lui $s0, 0x802c +/* 3181F0 802BD4A0 2610E89C */ addiu $s0, $s0, -0x1764 +.L802BD4A4: +/* 3181F4 802BD4A4 8E020000 */ lw $v0, ($s0) +/* 3181F8 802BD4A8 3C0140C9 */ lui $at, 0x40c9 +/* 3181FC 802BD4AC 34210FD0 */ ori $at, $at, 0xfd0 +/* 318200 802BD4B0 44810000 */ mtc1 $at, $f0 +/* 318204 802BD4B4 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 318208 802BD4B8 46006302 */ mul.s $f12, $f12, $f0 +/* 31820C 802BD4BC 00000000 */ nop +/* 318210 802BD4C0 27A50010 */ addiu $a1, $sp, 0x10 +/* 318214 802BD4C4 3C0143B4 */ lui $at, 0x43b4 +/* 318218 802BD4C8 44810000 */ mtc1 $at, $f0 +/* 31821C 802BD4CC 27A60014 */ addiu $a2, $sp, 0x14 +/* 318220 802BD4D0 0C00A82D */ jal sin_cos_rad +/* 318224 802BD4D4 46006303 */ div.s $f12, $f12, $f0 +/* 318228 802BD4D8 8E020000 */ lw $v0, ($s0) +/* 31822C 802BD4DC C7A20010 */ lwc1 $f2, 0x10($sp) +/* 318230 802BD4E0 C440000C */ lwc1 $f0, 0xc($v0) +/* 318234 802BD4E4 46001082 */ mul.s $f2, $f2, $f0 +/* 318238 802BD4E8 00000000 */ nop +/* 31823C 802BD4EC C6400048 */ lwc1 $f0, 0x48($s2) +/* 318240 802BD4F0 46020000 */ add.s $f0, $f0, $f2 +/* 318244 802BD4F4 E6200038 */ swc1 $f0, 0x38($s1) +/* 318248 802BD4F8 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 31824C 802BD4FC C440000C */ lwc1 $f0, 0xc($v0) +/* 318250 802BD500 46001082 */ mul.s $f2, $f2, $f0 +/* 318254 802BD504 00000000 */ nop +/* 318258 802BD508 C6400050 */ lwc1 $f0, 0x50($s2) +/* 31825C 802BD50C 46020001 */ sub.s $f0, $f0, $f2 +/* 318260 802BD510 E6200040 */ swc1 $f0, 0x40($s1) +/* 318264 802BD514 C4400010 */ lwc1 $f0, 0x10($v0) +/* 318268 802BD518 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 31826C 802BD51C 0C00A6C9 */ jal clamp_angle +/* 318270 802BD520 460C0301 */ sub.s $f12, $f0, $f12 +/* 318274 802BD524 8E100000 */ lw $s0, ($s0) +/* 318278 802BD528 3C0141A0 */ lui $at, 0x41a0 +/* 31827C 802BD52C 44811000 */ mtc1 $at, $f2 +/* 318280 802BD530 C604000C */ lwc1 $f4, 0xc($s0) +/* 318284 802BD534 4604103C */ c.lt.s $f2, $f4 +/* 318288 802BD538 00000000 */ nop +/* 31828C 802BD53C 45000005 */ bc1f .L802BD554 +/* 318290 802BD540 E6000010 */ swc1 $f0, 0x10($s0) +/* 318294 802BD544 3C013F80 */ lui $at, 0x3f80 +/* 318298 802BD548 44810000 */ mtc1 $at, $f0 +/* 31829C 802BD54C 080AF560 */ j .L802BD580 +/* 3182A0 802BD550 46002001 */ sub.s $f0, $f4, $f0 +.L802BD554: +/* 3182A4 802BD554 3C014198 */ lui $at, 0x4198 +/* 3182A8 802BD558 44810000 */ mtc1 $at, $f0 +/* 3182AC 802BD55C 00000000 */ nop +/* 3182B0 802BD560 4600203C */ c.lt.s $f4, $f0 +/* 3182B4 802BD564 00000000 */ nop +/* 3182B8 802BD568 45000006 */ bc1f .L802BD584 +/* 3182BC 802BD56C 00000000 */ nop +/* 3182C0 802BD570 3C013F80 */ lui $at, 0x3f80 +/* 3182C4 802BD574 44810000 */ mtc1 $at, $f0 +/* 3182C8 802BD578 00000000 */ nop +/* 3182CC 802BD57C 46002000 */ add.s $f0, $f4, $f0 +.L802BD580: +/* 3182D0 802BD580 E600000C */ swc1 $f0, 0xc($s0) +.L802BD584: +/* 3182D4 802BD584 3C10802C */ lui $s0, 0x802c +/* 3182D8 802BD588 2610E89C */ addiu $s0, $s0, -0x1764 +/* 3182DC 802BD58C 8E020000 */ lw $v0, ($s0) +/* 3182E0 802BD590 3C0140C9 */ lui $at, 0x40c9 +/* 3182E4 802BD594 34210FD0 */ ori $at, $at, 0xfd0 +/* 3182E8 802BD598 44810000 */ mtc1 $at, $f0 +/* 3182EC 802BD59C C44C0018 */ lwc1 $f12, 0x18($v0) +/* 3182F0 802BD5A0 46006302 */ mul.s $f12, $f12, $f0 +/* 3182F4 802BD5A4 00000000 */ nop +/* 3182F8 802BD5A8 3C0143B4 */ lui $at, 0x43b4 +/* 3182FC 802BD5AC 4481A000 */ mtc1 $at, $f20 +/* 318300 802BD5B0 0C00A85B */ jal sin_rad +/* 318304 802BD5B4 46146303 */ div.s $f12, $f12, $f20 +/* 318308 802BD5B8 8E020000 */ lw $v0, ($s0) +/* 31830C 802BD5BC 3C014040 */ lui $at, 0x4040 +/* 318310 802BD5C0 44812000 */ mtc1 $at, $f4 +/* 318314 802BD5C4 C4420018 */ lwc1 $f2, 0x18($v0) +/* 318318 802BD5C8 46041080 */ add.s $f2, $f2, $f4 +/* 31831C 802BD5CC 3C014316 */ lui $at, 0x4316 +/* 318320 802BD5D0 44813000 */ mtc1 $at, $f6 +/* 318324 802BD5D4 00000000 */ nop +/* 318328 802BD5D8 4602303C */ c.lt.s $f6, $f2 +/* 31832C 802BD5DC E4420018 */ swc1 $f2, 0x18($v0) +/* 318330 802BD5E0 46040082 */ mul.s $f2, $f0, $f4 +/* 318334 802BD5E4 00000000 */ nop +/* 318338 802BD5E8 45030001 */ bc1tl .L802BD5F0 +/* 31833C 802BD5EC E4460018 */ swc1 $f6, 0x18($v0) +.L802BD5F0: +/* 318340 802BD5F0 C620003C */ lwc1 $f0, 0x3c($s1) +/* 318344 802BD5F4 46020000 */ add.s $f0, $f0, $f2 +/* 318348 802BD5F8 8E020000 */ lw $v0, ($s0) +/* 31834C 802BD5FC E620003C */ swc1 $f0, 0x3c($s1) +/* 318350 802BD600 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 318354 802BD604 0C00A6C9 */ jal clamp_angle +/* 318358 802BD608 460CA301 */ sub.s $f12, $f20, $f12 +/* 31835C 802BD60C 8E020000 */ lw $v0, ($s0) +/* 318360 802BD610 E6200034 */ swc1 $f0, 0x34($s1) +/* 318364 802BD614 C4400014 */ lwc1 $f0, 0x14($v0) +/* 318368 802BD618 3C01802C */ lui $at, 0x802c +/* 31836C 802BD61C D422E900 */ ldc1 $f2, -0x1700($at) +/* 318370 802BD620 46000021 */ cvt.d.s $f0, $f0 +/* 318374 802BD624 46220000 */ add.d $f0, $f0, $f2 +/* 318378 802BD628 3C014220 */ lui $at, 0x4220 +/* 31837C 802BD62C 44811000 */ mtc1 $at, $f2 +/* 318380 802BD630 46200020 */ cvt.s.d $f0, $f0 +/* 318384 802BD634 4600103C */ c.lt.s $f2, $f0 +/* 318388 802BD638 00000000 */ nop +/* 31838C 802BD63C 45000002 */ bc1f .L802BD648 +/* 318390 802BD640 E4400014 */ swc1 $f0, 0x14($v0) +/* 318394 802BD644 E4420014 */ swc1 $f2, 0x14($v0) +.L802BD648: +/* 318398 802BD648 8E030000 */ lw $v1, ($s0) +/* 31839C 802BD64C 8C620000 */ lw $v0, ($v1) +/* 3183A0 802BD650 2442FFFF */ addiu $v0, $v0, -1 +/* 3183A4 802BD654 14400018 */ bnez $v0, .L802BD6B8 +/* 3183A8 802BD658 AC620000 */ sw $v0, ($v1) +/* 3183AC 802BD65C 8C620004 */ lw $v0, 4($v1) +/* 3183B0 802BD660 24420001 */ addiu $v0, $v0, 1 +/* 3183B4 802BD664 080AF5AE */ j .L802BD6B8 +/* 3183B8 802BD668 AC620004 */ sw $v0, 4($v1) +.L802BD66C: +/* 3183BC 802BD66C 8C820008 */ lw $v0, 8($a0) +/* 3183C0 802BD670 AE220000 */ sw $v0, ($s1) +/* 3183C4 802BD674 8C820004 */ lw $v0, 4($a0) +/* 3183C8 802BD678 2403001E */ addiu $v1, $zero, 0x1e +/* 3183CC 802BD67C AC830000 */ sw $v1, ($a0) +/* 3183D0 802BD680 24420001 */ addiu $v0, $v0, 1 +/* 3183D4 802BD684 080AF5AE */ j .L802BD6B8 +/* 3183D8 802BD688 AC820004 */ sw $v0, 4($a0) +.L802BD68C: +/* 3183DC 802BD68C 0C03AE8F */ jal func_800EBA3C +/* 3183E0 802BD690 0220202D */ daddu $a0, $s1, $zero +/* 3183E4 802BD694 0C03AED0 */ jal func_800EBB40 +/* 3183E8 802BD698 0220202D */ daddu $a0, $s1, $zero +/* 3183EC 802BD69C 8E030000 */ lw $v1, ($s0) +/* 3183F0 802BD6A0 8C620000 */ lw $v0, ($v1) +/* 3183F4 802BD6A4 2442FFFF */ addiu $v0, $v0, -1 +/* 3183F8 802BD6A8 14400003 */ bnez $v0, .L802BD6B8 +/* 3183FC 802BD6AC AC620000 */ sw $v0, ($v1) +/* 318400 802BD6B0 AC600004 */ sw $zero, 4($v1) +/* 318404 802BD6B4 AE600000 */ sw $zero, ($s3) +.L802BD6B8: +/* 318408 802BD6B8 0000102D */ daddu $v0, $zero, $zero +.L802BD6BC: +/* 31840C 802BD6BC 8FBF0028 */ lw $ra, 0x28($sp) +/* 318410 802BD6C0 8FB30024 */ lw $s3, 0x24($sp) +/* 318414 802BD6C4 8FB20020 */ lw $s2, 0x20($sp) +/* 318418 802BD6C8 8FB1001C */ lw $s1, 0x1c($sp) +/* 31841C 802BD6CC 8FB00018 */ lw $s0, 0x18($sp) +/* 318420 802BD6D0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 318424 802BD6D4 03E00008 */ jr $ra +/* 318428 802BD6D8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_317E50/func_802BD6DC.s b/asm/nonmatchings/code_317E50/func_802BD6DC.s new file mode 100644 index 0000000000..7102b67a9f --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD6DC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD6DC +/* 31842C 802BD6DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 318430 802BD6E0 3C058011 */ lui $a1, 0x8011 +/* 318434 802BD6E4 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 318438 802BD6E8 AFBF0010 */ sw $ra, 0x10($sp) +/* 31843C 802BD6EC 8CA20000 */ lw $v0, ($a1) +/* 318440 802BD6F0 10400008 */ beqz $v0, .L802BD714 +/* 318444 802BD6F4 00000000 */ nop +/* 318448 802BD6F8 3C03802C */ lui $v1, 0x802c +/* 31844C 802BD6FC 8C63E89C */ lw $v1, -0x1764($v1) +/* 318450 802BD700 8C620008 */ lw $v0, 8($v1) +/* 318454 802BD704 ACA00000 */ sw $zero, ($a1) +/* 318458 802BD708 AC820000 */ sw $v0, ($a0) +/* 31845C 802BD70C 0C03BD17 */ jal clear_partner_move_history +/* 318460 802BD710 AC600004 */ sw $zero, 4($v1) +.L802BD714: +/* 318464 802BD714 8FBF0010 */ lw $ra, 0x10($sp) +/* 318468 802BD718 03E00008 */ jr $ra +/* 31846C 802BD71C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317E50/func_802BD720.s b/asm/nonmatchings/code_317E50/func_802BD720.s new file mode 100644 index 0000000000..7dc653b724 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD720.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD720 +/* 318470 802BD720 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 318474 802BD724 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 318478 802BD728 10400005 */ beqz $v0, .L802BD740 +/* 31847C 802BD72C 24020001 */ addiu $v0, $zero, 1 +/* 318480 802BD730 3C01802C */ lui $at, 0x802c +/* 318484 802BD734 AC22E934 */ sw $v0, -0x16cc($at) +/* 318488 802BD738 03E00008 */ jr $ra +/* 31848C 802BD73C 0000102D */ daddu $v0, $zero, $zero +.L802BD740: +/* 318490 802BD740 03E00008 */ jr $ra +/* 318494 802BD744 00000000 */ nop diff --git a/asm/nonmatchings/code_317E50/func_802BD748.s b/asm/nonmatchings/code_317E50/func_802BD748.s new file mode 100644 index 0000000000..d1ed230c4c --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD748.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD748 +/* 318498 802BD748 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 31849C 802BD74C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 3184A0 802BD750 03E00008 */ jr $ra +/* 3184A4 802BD754 2C420001 */ sltiu $v0, $v0, 1 diff --git a/asm/nonmatchings/code_317E50/func_802BD758.s b/asm/nonmatchings/code_317E50/func_802BD758.s new file mode 100644 index 0000000000..b815d5c631 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BD758.s @@ -0,0 +1,928 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD758 +/* 3184A8 802BD758 3C02800B */ lui $v0, 0x800b +/* 3184AC 802BD75C 80420F18 */ lb $v0, 0xf18($v0) +/* 3184B0 802BD760 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3184B4 802BD764 AFB20038 */ sw $s2, 0x38($sp) +/* 3184B8 802BD768 0080902D */ daddu $s2, $a0, $zero +/* 3184BC 802BD76C AFB3003C */ sw $s3, 0x3c($sp) +/* 3184C0 802BD770 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 3184C4 802BD774 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 3184C8 802BD778 AFB40040 */ sw $s4, 0x40($sp) +/* 3184CC 802BD77C 3C148016 */ lui $s4, 0x8016 +/* 3184D0 802BD780 2694A550 */ addiu $s4, $s4, -0x5ab0 +/* 3184D4 802BD784 AFB50044 */ sw $s5, 0x44($sp) +/* 3184D8 802BD788 3C158011 */ lui $s5, %hi(D_8010EBB0) +/* 3184DC 802BD78C 26B5EBB0 */ addiu $s5, $s5, %lo(D_8010EBB0) +/* 3184E0 802BD790 AFBF0048 */ sw $ra, 0x48($sp) +/* 3184E4 802BD794 AFB10034 */ sw $s1, 0x34($sp) +/* 3184E8 802BD798 AFB00030 */ sw $s0, 0x30($sp) +/* 3184EC 802BD79C F7B40050 */ sdc1 $f20, 0x50($sp) +/* 3184F0 802BD7A0 8E51014C */ lw $s1, 0x14c($s2) +/* 3184F4 802BD7A4 14400346 */ bnez $v0, .L802BE4C0 +/* 3184F8 802BD7A8 0000102D */ daddu $v0, $zero, $zero +/* 3184FC 802BD7AC 10A00005 */ beqz $a1, .L802BD7C4 +/* 318500 802BD7B0 00000000 */ nop +/* 318504 802BD7B4 0C0AF5B7 */ jal func_802BD6DC +/* 318508 802BD7B8 0220202D */ daddu $a0, $s1, $zero +/* 31850C 802BD7BC 24020014 */ addiu $v0, $zero, 0x14 +/* 318510 802BD7C0 AE420070 */ sw $v0, 0x70($s2) +.L802BD7C4: +/* 318514 802BD7C4 8E430070 */ lw $v1, 0x70($s2) +/* 318518 802BD7C8 24020002 */ addiu $v0, $zero, 2 +/* 31851C 802BD7CC 106200E7 */ beq $v1, $v0, .L802BDB6C +/* 318520 802BD7D0 28620003 */ slti $v0, $v1, 3 +/* 318524 802BD7D4 10400005 */ beqz $v0, .L802BD7EC +/* 318528 802BD7D8 24020001 */ addiu $v0, $zero, 1 +/* 31852C 802BD7DC 106200AD */ beq $v1, $v0, .L802BDA94 +/* 318530 802BD7E0 24020004 */ addiu $v0, $zero, 4 +/* 318534 802BD7E4 080AF77C */ j .L802BDDF0 +/* 318538 802BD7E8 00000000 */ nop +.L802BD7EC: +/* 31853C 802BD7EC 24020014 */ addiu $v0, $zero, 0x14 +/* 318540 802BD7F0 10620005 */ beq $v1, $v0, .L802BD808 +/* 318544 802BD7F4 24020015 */ addiu $v0, $zero, 0x15 +/* 318548 802BD7F8 10620034 */ beq $v1, $v0, .L802BD8CC +/* 31854C 802BD7FC 00000000 */ nop +/* 318550 802BD800 080AF77A */ j .L802BDDE8 +/* 318554 802BD804 00000000 */ nop +.L802BD808: +/* 318558 802BD808 82620015 */ lb $v0, 0x15($s3) +/* 31855C 802BD80C 1440032C */ bnez $v0, .L802BE4C0 +/* 318560 802BD810 24020002 */ addiu $v0, $zero, 2 +/* 318564 802BD814 8E620000 */ lw $v0, ($s3) +/* 318568 802BD818 30420002 */ andi $v0, $v0, 2 +/* 31856C 802BD81C 14400328 */ bnez $v0, .L802BE4C0 +/* 318570 802BD820 24020002 */ addiu $v0, $zero, 2 +/* 318574 802BD824 8E220000 */ lw $v0, ($s1) +/* 318578 802BD828 30421000 */ andi $v0, $v0, 0x1000 +/* 31857C 802BD82C 10400324 */ beqz $v0, .L802BE4C0 +/* 318580 802BD830 24020002 */ addiu $v0, $zero, 2 +/* 318584 802BD834 0C03805E */ jal disable_player_input +/* 318588 802BD838 00000000 */ nop +/* 31858C 802BD83C 82620015 */ lb $v0, 0x15($s3) +/* 318590 802BD840 24040001 */ addiu $a0, $zero, 1 +/* 318594 802BD844 AE42007C */ sw $v0, 0x7c($s2) +/* 318598 802BD848 8E220000 */ lw $v0, ($s1) +/* 31859C 802BD84C 2403F5B7 */ addiu $v1, $zero, -0xa49 +/* 3185A0 802BD850 3C01802C */ lui $at, 0x802c +/* 3185A4 802BD854 AC24E92C */ sw $a0, -0x16d4($at) +/* 3185A8 802BD858 3C01802C */ lui $at, 0x802c +/* 3185AC 802BD85C AC20E928 */ sw $zero, -0x16d8($at) +/* 3185B0 802BD860 3C01802C */ lui $at, 0x802c +/* 3185B4 802BD864 AC20E930 */ sw $zero, -0x16d0($at) +/* 3185B8 802BD868 3C01802C */ lui $at, 0x802c +/* 3185BC 802BD86C AC20E934 */ sw $zero, -0x16cc($at) +/* 3185C0 802BD870 00431024 */ and $v0, $v0, $v1 +/* 3185C4 802BD874 AE220000 */ sw $v0, ($s1) +/* 3185C8 802BD878 24020003 */ addiu $v0, $zero, 3 +/* 3185CC 802BD87C A2A40000 */ sb $a0, ($s5) +/* 3185D0 802BD880 0C03BD38 */ jal func_800EF4E0 +/* 3185D4 802BD884 A2A20003 */ sb $v0, 3($s5) +/* 3185D8 802BD888 3C01802C */ lui $at, 0x802c +/* 3185DC 802BD88C AC22E920 */ sw $v0, -0x16e0($at) +/* 3185E0 802BD890 0C00EB49 */ jal enable_npc_blur +/* 3185E4 802BD894 0220202D */ daddu $a0, $s1, $zero +/* 3185E8 802BD898 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 3185EC 802BD89C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 3185F0 802BD8A0 24020004 */ addiu $v0, $zero, 4 +/* 3185F4 802BD8A4 A622008E */ sh $v0, 0x8e($s1) +/* 3185F8 802BD8A8 8E660028 */ lw $a2, 0x28($s3) +/* 3185FC 802BD8AC 0C00A720 */ jal atan2 +/* 318600 802BD8B0 8E670030 */ lw $a3, 0x30($s3) +/* 318604 802BD8B4 3C040001 */ lui $a0, 1 +/* 318608 802BD8B8 34840002 */ ori $a0, $a0, 2 +/* 31860C 802BD8BC 0C037FBF */ jal func_800DFEFC +/* 318610 802BD8C0 E620000C */ swc1 $f0, 0xc($s1) +/* 318614 802BD8C4 24020015 */ addiu $v0, $zero, 0x15 +/* 318618 802BD8C8 AE420070 */ sw $v0, 0x70($s2) +.L802BD8CC: +/* 31861C 802BD8CC 926200B4 */ lbu $v0, 0xb4($s3) +/* 318620 802BD8D0 2442FFEB */ addiu $v0, $v0, -0x15 +/* 318624 802BD8D4 2C420002 */ sltiu $v0, $v0, 2 +/* 318628 802BD8D8 10400005 */ beqz $v0, .L802BD8F0 +/* 31862C 802BD8DC 00000000 */ nop +/* 318630 802BD8E0 0C00EB6B */ jal disable_npc_blur +/* 318634 802BD8E4 0220202D */ daddu $a0, $s1, $zero +/* 318638 802BD8E8 080AF6E4 */ j .L802BDB90 +/* 31863C 802BD8EC 24020007 */ addiu $v0, $zero, 7 +.L802BD8F0: +/* 318640 802BD8F0 8E620000 */ lw $v0, ($s3) +/* 318644 802BD8F4 30420002 */ andi $v0, $v0, 2 +/* 318648 802BD8F8 144000A5 */ bnez $v0, .L802BDB90 +/* 31864C 802BD8FC 24020007 */ addiu $v0, $zero, 7 +/* 318650 802BD900 3C020003 */ lui $v0, 3 +/* 318654 802BD904 C6600028 */ lwc1 $f0, 0x28($s3) +/* 318658 802BD908 34420007 */ ori $v0, $v0, 7 +/* 31865C 802BD90C E6200060 */ swc1 $f0, 0x60($s1) +/* 318660 802BD910 C660002C */ lwc1 $f0, 0x2c($s3) +/* 318664 802BD914 26240060 */ addiu $a0, $s1, 0x60 +/* 318668 802BD918 E6200064 */ swc1 $f0, 0x64($s1) +/* 31866C 802BD91C C6600030 */ lwc1 $f0, 0x30($s3) +/* 318670 802BD920 26250068 */ addiu $a1, $s1, 0x68 +/* 318674 802BD924 AE220028 */ sw $v0, 0x28($s1) +/* 318678 802BD928 E6200068 */ swc1 $f0, 0x68($s1) +/* 31867C 802BD92C 8E670080 */ lw $a3, 0x80($s3) +/* 318680 802BD930 0C00A7E7 */ jal add_vec2D_polar +/* 318684 802BD934 0000302D */ daddu $a2, $zero, $zero +/* 318688 802BD938 3C02802C */ lui $v0, 0x802c +/* 31868C 802BD93C 8C42E920 */ lw $v0, -0x16e0($v0) +/* 318690 802BD940 C66C0080 */ lwc1 $f12, 0x80($s3) +/* 318694 802BD944 3C0142B4 */ lui $at, 0x42b4 +/* 318698 802BD948 44810000 */ mtc1 $at, $f0 +/* 31869C 802BD94C 10400003 */ beqz $v0, .L802BD95C +/* 3186A0 802BD950 00000000 */ nop +/* 3186A4 802BD954 3C01C2B4 */ lui $at, 0xc2b4 +/* 3186A8 802BD958 44810000 */ mtc1 $at, $f0 +.L802BD95C: +/* 3186AC 802BD95C 0C00A6C9 */ jal clamp_angle +/* 3186B0 802BD960 46006300 */ add.s $f12, $f12, $f0 +/* 3186B4 802BD964 866200B2 */ lh $v0, 0xb2($s3) +/* 3186B8 802BD968 26240060 */ addiu $a0, $s1, 0x60 +/* 3186BC 802BD96C 04410002 */ bgez $v0, .L802BD978 +/* 3186C0 802BD970 26250068 */ addiu $a1, $s1, 0x68 +/* 3186C4 802BD974 24420003 */ addiu $v0, $v0, 3 +.L802BD978: +/* 3186C8 802BD978 00021083 */ sra $v0, $v0, 2 +/* 3186CC 802BD97C 44828000 */ mtc1 $v0, $f16 +/* 3186D0 802BD980 00000000 */ nop +/* 3186D4 802BD984 46808420 */ cvt.s.w $f16, $f16 +/* 3186D8 802BD988 44070000 */ mfc1 $a3, $f0 +/* 3186DC 802BD98C 44068000 */ mfc1 $a2, $f16 +/* 3186E0 802BD990 0C00A7E7 */ jal add_vec2D_polar +/* 3186E4 802BD994 00000000 */ nop +/* 3186E8 802BD998 C6200060 */ lwc1 $f0, 0x60($s1) +/* 3186EC 802BD99C C62A0038 */ lwc1 $f10, 0x38($s1) +/* 3186F0 802BD9A0 8622008E */ lh $v0, 0x8e($s1) +/* 3186F4 802BD9A4 C6240064 */ lwc1 $f4, 0x64($s1) +/* 3186F8 802BD9A8 C628003C */ lwc1 $f8, 0x3c($s1) +/* 3186FC 802BD9AC C6260040 */ lwc1 $f6, 0x40($s1) +/* 318700 802BD9B0 44821000 */ mtc1 $v0, $f2 +/* 318704 802BD9B4 00000000 */ nop +/* 318708 802BD9B8 468010A0 */ cvt.s.w $f2, $f2 +/* 31870C 802BD9BC 0040202D */ daddu $a0, $v0, $zero +/* 318710 802BD9C0 460A0001 */ sub.s $f0, $f0, $f10 +/* 318714 802BD9C4 0080182D */ daddu $v1, $a0, $zero +/* 318718 802BD9C8 9622008E */ lhu $v0, 0x8e($s1) +/* 31871C 802BD9CC 46082101 */ sub.s $f4, $f4, $f8 +/* 318720 802BD9D0 2442FFFF */ addiu $v0, $v0, -1 +/* 318724 802BD9D4 A622008E */ sh $v0, 0x8e($s1) +/* 318728 802BD9D8 46020003 */ div.s $f0, $f0, $f2 +/* 31872C 802BD9DC 46005280 */ add.s $f10, $f10, $f0 +/* 318730 802BD9E0 C6220068 */ lwc1 $f2, 0x68($s1) +/* 318734 802BD9E4 00021400 */ sll $v0, $v0, 0x10 +/* 318738 802BD9E8 46061081 */ sub.s $f2, $f2, $f6 +/* 31873C 802BD9EC 44840000 */ mtc1 $a0, $f0 +/* 318740 802BD9F0 00000000 */ nop +/* 318744 802BD9F4 46800020 */ cvt.s.w $f0, $f0 +/* 318748 802BD9F8 46002103 */ div.s $f4, $f4, $f0 +/* 31874C 802BD9FC 46044200 */ add.s $f8, $f8, $f4 +/* 318750 802BDA00 44830000 */ mtc1 $v1, $f0 +/* 318754 802BDA04 00000000 */ nop +/* 318758 802BDA08 46800020 */ cvt.s.w $f0, $f0 +/* 31875C 802BDA0C 46001083 */ div.s $f2, $f2, $f0 +/* 318760 802BDA10 46023180 */ add.s $f6, $f6, $f2 +/* 318764 802BDA14 E62A0038 */ swc1 $f10, 0x38($s1) +/* 318768 802BDA18 E628003C */ swc1 $f8, 0x3c($s1) +/* 31876C 802BDA1C 144000F2 */ bnez $v0, .L802BDDE8 +/* 318770 802BDA20 E6260040 */ swc1 $f6, 0x40($s1) +/* 318774 802BDA24 82630015 */ lb $v1, 0x15($s3) +/* 318778 802BDA28 8E42007C */ lw $v0, 0x7c($s2) +/* 31877C 802BDA2C 0043102A */ slt $v0, $v0, $v1 +/* 318780 802BDA30 10400005 */ beqz $v0, .L802BDA48 +/* 318784 802BDA34 0220202D */ daddu $a0, $s1, $zero +/* 318788 802BDA38 0C00EB6B */ jal disable_npc_blur +/* 31878C 802BDA3C 0220202D */ daddu $a0, $s1, $zero +/* 318790 802BDA40 080AF6E4 */ j .L802BDB90 +/* 318794 802BDA44 24020007 */ addiu $v0, $zero, 7 +.L802BDA48: +/* 318798 802BDA48 C6200060 */ lwc1 $f0, 0x60($s1) +/* 31879C 802BDA4C C6220064 */ lwc1 $f2, 0x64($s1) +/* 3187A0 802BDA50 C6240068 */ lwc1 $f4, 0x68($s1) +/* 3187A4 802BDA54 E6200038 */ swc1 $f0, 0x38($s1) +/* 3187A8 802BDA58 E622003C */ swc1 $f2, 0x3c($s1) +/* 3187AC 802BDA5C 0C00EB6B */ jal disable_npc_blur +/* 3187B0 802BDA60 E6240040 */ swc1 $f4, 0x40($s1) +/* 3187B4 802BDA64 3C040006 */ lui $a0, 6 +/* 3187B8 802BDA68 0C037FBF */ jal func_800DFEFC +/* 3187BC 802BDA6C 3484000C */ ori $a0, $a0, 0xc +/* 3187C0 802BDA70 3C020003 */ lui $v0, 3 +/* 3187C4 802BDA74 C6600080 */ lwc1 $f0, 0x80($s3) +/* 3187C8 802BDA78 34420005 */ ori $v0, $v0, 5 +/* 3187CC 802BDA7C AE220028 */ sw $v0, 0x28($s1) +/* 3187D0 802BDA80 24020001 */ addiu $v0, $zero, 1 +/* 3187D4 802BDA84 E620000C */ swc1 $f0, 0xc($s1) +/* 3187D8 802BDA88 AE420070 */ sw $v0, 0x70($s2) +/* 3187DC 802BDA8C 2402000A */ addiu $v0, $zero, 0xa +/* 3187E0 802BDA90 AE420074 */ sw $v0, 0x74($s2) +.L802BDA94: +/* 3187E4 802BDA94 926200B4 */ lbu $v0, 0xb4($s3) +/* 3187E8 802BDA98 2442FFEB */ addiu $v0, $v0, -0x15 +/* 3187EC 802BDA9C 2C420002 */ sltiu $v0, $v0, 2 +/* 3187F0 802BDAA0 1440003B */ bnez $v0, .L802BDB90 +/* 3187F4 802BDAA4 24020007 */ addiu $v0, $zero, 7 +/* 3187F8 802BDAA8 866200B0 */ lh $v0, 0xb0($s3) +/* 3187FC 802BDAAC C660002C */ lwc1 $f0, 0x2c($s3) +/* 318800 802BDAB0 44821000 */ mtc1 $v0, $f2 +/* 318804 802BDAB4 00000000 */ nop +/* 318808 802BDAB8 468010A0 */ cvt.s.w $f2, $f2 +/* 31880C 802BDABC 46020000 */ add.s $f0, $f0, $f2 +/* 318810 802BDAC0 E620003C */ swc1 $f0, 0x3c($s1) +/* 318814 802BDAC4 C6600080 */ lwc1 $f0, 0x80($s3) +/* 318818 802BDAC8 E620000C */ swc1 $f0, 0xc($s1) +/* 31881C 802BDACC 8E420074 */ lw $v0, 0x74($s2) +/* 318820 802BDAD0 24100001 */ addiu $s0, $zero, 1 +/* 318824 802BDAD4 14500005 */ bne $v0, $s0, .L802BDAEC +/* 318828 802BDAD8 00000000 */ nop +/* 31882C 802BDADC 3C040006 */ lui $a0, 6 +/* 318830 802BDAE0 0C037FBF */ jal func_800DFEFC +/* 318834 802BDAE4 34840006 */ ori $a0, $a0, 6 +/* 318838 802BDAE8 8E420074 */ lw $v0, 0x74($s2) +.L802BDAEC: +/* 31883C 802BDAEC 144000A8 */ bnez $v0, .L802BDD90 +/* 318840 802BDAF0 2442FFFF */ addiu $v0, $v0, -1 +/* 318844 802BDAF4 3C048000 */ lui $a0, 0x8000 +/* 318848 802BDAF8 0000282D */ daddu $a1, $zero, $zero +/* 31884C 802BDAFC 0C052742 */ jal play_sound_at_npc +/* 318850 802BDB00 2406FFFC */ addiu $a2, $zero, -4 +/* 318854 802BDB04 26240038 */ addiu $a0, $s1, 0x38 +/* 318858 802BDB08 4480A000 */ mtc1 $zero, $f20 +/* 31885C 802BDB0C 8E27000C */ lw $a3, 0xc($s1) +/* 318860 802BDB10 4406A000 */ mfc1 $a2, $f20 +/* 318864 802BDB14 3C01802C */ lui $at, 0x802c +/* 318868 802BDB18 AC30E924 */ sw $s0, -0x16dc($at) +/* 31886C 802BDB1C 0C00A7E7 */ jal add_vec2D_polar +/* 318870 802BDB20 26250040 */ addiu $a1, $s1, 0x40 +/* 318874 802BDB24 3C030003 */ lui $v1, 3 +/* 318878 802BDB28 8E220000 */ lw $v0, ($s1) +/* 31887C 802BDB2C 3C013F80 */ lui $at, 0x3f80 +/* 318880 802BDB30 44810000 */ mtc1 $at, $f0 +/* 318884 802BDB34 34630006 */ ori $v1, $v1, 6 +/* 318888 802BDB38 AE230028 */ sw $v1, 0x28($s1) +/* 31888C 802BDB3C 2403FEFF */ addiu $v1, $zero, -0x101 +/* 318890 802BDB40 E634001C */ swc1 $f20, 0x1c($s1) +/* 318894 802BDB44 3C01802C */ lui $at, 0x802c +/* 318898 802BDB48 AC20E938 */ sw $zero, -0x16c8($at) +/* 31889C 802BDB4C 34420200 */ ori $v0, $v0, 0x200 +/* 3188A0 802BDB50 00431024 */ and $v0, $v0, $v1 +/* 3188A4 802BDB54 AE220000 */ sw $v0, ($s1) +/* 3188A8 802BDB58 24020002 */ addiu $v0, $zero, 2 +/* 3188AC 802BDB5C E6200018 */ swc1 $f0, 0x18($s1) +/* 3188B0 802BDB60 AE420070 */ sw $v0, 0x70($s2) +/* 3188B4 802BDB64 24020032 */ addiu $v0, $zero, 0x32 +/* 3188B8 802BDB68 AE420074 */ sw $v0, 0x74($s2) +.L802BDB6C: +/* 3188BC 802BDB6C 8E620004 */ lw $v0, 4($s3) +/* 3188C0 802BDB70 30420004 */ andi $v0, $v0, 4 +/* 3188C4 802BDB74 14400006 */ bnez $v0, .L802BDB90 +/* 3188C8 802BDB78 24020007 */ addiu $v0, $zero, 7 +/* 3188CC 802BDB7C 926200B4 */ lbu $v0, 0xb4($s3) +/* 3188D0 802BDB80 2442FFEB */ addiu $v0, $v0, -0x15 +/* 3188D4 802BDB84 2C420002 */ sltiu $v0, $v0, 2 +/* 3188D8 802BDB88 10400003 */ beqz $v0, .L802BDB98 +/* 3188DC 802BDB8C 24020007 */ addiu $v0, $zero, 7 +.L802BDB90: +/* 3188E0 802BDB90 080AF77A */ j .L802BDDE8 +/* 3188E4 802BDB94 AE420070 */ sw $v0, 0x70($s2) +.L802BDB98: +/* 3188E8 802BDB98 8E420074 */ lw $v0, 0x74($s2) +/* 3188EC 802BDB9C 2842002D */ slti $v0, $v0, 0x2d +/* 3188F0 802BDBA0 10400015 */ beqz $v0, .L802BDBF8 +/* 3188F4 802BDBA4 3C040001 */ lui $a0, 1 +/* 3188F8 802BDBA8 8E220000 */ lw $v0, ($s1) +/* 3188FC 802BDBAC 30422000 */ andi $v0, $v0, 0x2000 +/* 318900 802BDBB0 1440000E */ bnez $v0, .L802BDBEC +/* 318904 802BDBB4 24020001 */ addiu $v0, $zero, 1 +/* 318908 802BDBB8 3C02802C */ lui $v0, 0x802c +/* 31890C 802BDBBC 8C42E938 */ lw $v0, -0x16c8($v0) +/* 318910 802BDBC0 1440000A */ bnez $v0, .L802BDBEC +/* 318914 802BDBC4 24020001 */ addiu $v0, $zero, 1 +/* 318918 802BDBC8 8E250018 */ lw $a1, 0x18($s1) +/* 31891C 802BDBCC 8E26000C */ lw $a2, 0xc($s1) +/* 318920 802BDBD0 0C00EA95 */ jal npc_move_heading +/* 318924 802BDBD4 0220202D */ daddu $a0, $s1, $zero +/* 318928 802BDBD8 0220202D */ daddu $a0, $s1, $zero +/* 31892C 802BDBDC 0C00F598 */ jal func_8003D660 +/* 318930 802BDBE0 0000282D */ daddu $a1, $zero, $zero +/* 318934 802BDBE4 080AF6FE */ j .L802BDBF8 +/* 318938 802BDBE8 3C040001 */ lui $a0, 1 +.L802BDBEC: +/* 31893C 802BDBEC 3C01802C */ lui $at, 0x802c +/* 318940 802BDBF0 AC22E938 */ sw $v0, -0x16c8($at) +/* 318944 802BDBF4 3C040001 */ lui $a0, 1 +.L802BDBF8: +/* 318948 802BDBF8 27A50020 */ addiu $a1, $sp, 0x20 +/* 31894C 802BDBFC C6200038 */ lwc1 $f0, 0x38($s1) +/* 318950 802BDC00 3C014160 */ lui $at, 0x4160 +/* 318954 802BDC04 44811000 */ mtc1 $at, $f2 +/* 318958 802BDC08 3C014180 */ lui $at, 0x4180 +/* 31895C 802BDC0C 44813000 */ mtc1 $at, $f6 +/* 318960 802BDC10 27A2002C */ addiu $v0, $sp, 0x2c +/* 318964 802BDC14 E7A00020 */ swc1 $f0, 0x20($sp) +/* 318968 802BDC18 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31896C 802BDC1C C6240040 */ lwc1 $f4, 0x40($s1) +/* 318970 802BDC20 46020000 */ add.s $f0, $f0, $f2 +/* 318974 802BDC24 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 318978 802BDC28 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31897C 802BDC2C E7A00024 */ swc1 $f0, 0x24($sp) +/* 318980 802BDC30 AFA20010 */ sw $v0, 0x10($sp) +/* 318984 802BDC34 C620000C */ lwc1 $f0, 0xc($s1) +/* 318988 802BDC38 27A60024 */ addiu $a2, $sp, 0x24 +/* 31898C 802BDC3C E7A00014 */ swc1 $f0, 0x14($sp) +/* 318990 802BDC40 862200A6 */ lh $v0, 0xa6($s1) +/* 318994 802BDC44 27A70028 */ addiu $a3, $sp, 0x28 +/* 318998 802BDC48 44820000 */ mtc1 $v0, $f0 +/* 31899C 802BDC4C 00000000 */ nop +/* 3189A0 802BDC50 46800020 */ cvt.s.w $f0, $f0 +/* 3189A4 802BDC54 0C0371DE */ jal func_800DC778 +/* 3189A8 802BDC58 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3189AC 802BDC5C 10400023 */ beqz $v0, .L802BDCEC +/* 3189B0 802BDC60 00000000 */ nop +/* 3189B4 802BDC64 3C048011 */ lui $a0, 0x8011 +/* 3189B8 802BDC68 8C84C978 */ lw $a0, -0x3688($a0) +/* 3189BC 802BDC6C 0C016F6A */ jal get_collider_type_by_id +/* 3189C0 802BDC70 00000000 */ nop +/* 3189C4 802BDC74 304200FF */ andi $v0, $v0, 0xff +/* 3189C8 802BDC78 2442FFFE */ addiu $v0, $v0, -2 +/* 3189CC 802BDC7C 2C420002 */ sltiu $v0, $v0, 2 +/* 3189D0 802BDC80 1040001A */ beqz $v0, .L802BDCEC +/* 3189D4 802BDC84 00000000 */ nop +/* 3189D8 802BDC88 826200B4 */ lb $v0, 0xb4($s3) +/* 3189DC 802BDC8C 14400005 */ bnez $v0, .L802BDCA4 +/* 3189E0 802BDC90 3C020003 */ lui $v0, 3 +/* 3189E4 802BDC94 3C040001 */ lui $a0, 1 +/* 3189E8 802BDC98 0C037FBF */ jal func_800DFEFC +/* 3189EC 802BDC9C 34840002 */ ori $a0, $a0, 2 +/* 3189F0 802BDCA0 3C020003 */ lui $v0, 3 +.L802BDCA4: +/* 3189F4 802BDCA4 34420010 */ ori $v0, $v0, 0x10 +/* 3189F8 802BDCA8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 3189FC 802BDCAC AE220028 */ sw $v0, 0x28($s1) +/* 318A00 802BDCB0 8E220000 */ lw $v0, ($s1) +/* 318A04 802BDCB4 3C04802C */ lui $a0, 0x802c +/* 318A08 802BDCB8 2484E92C */ addiu $a0, $a0, -0x16d4 +/* 318A0C 802BDCBC 00431024 */ and $v0, $v0, $v1 +/* 318A10 802BDCC0 AE220000 */ sw $v0, ($s1) +/* 318A14 802BDCC4 24020002 */ addiu $v0, $zero, 2 +/* 318A18 802BDCC8 AE420074 */ sw $v0, 0x74($s2) +/* 318A1C 802BDCCC 8C830000 */ lw $v1, ($a0) +/* 318A20 802BDCD0 24020003 */ addiu $v0, $zero, 3 +/* 318A24 802BDCD4 10600044 */ beqz $v1, .L802BDDE8 +/* 318A28 802BDCD8 AE420070 */ sw $v0, 0x70($s2) +/* 318A2C 802BDCDC 0C038069 */ jal enable_player_input +/* 318A30 802BDCE0 AC800000 */ sw $zero, ($a0) +/* 318A34 802BDCE4 080AF77A */ j .L802BDDE8 +/* 318A38 802BDCE8 00000000 */ nop +.L802BDCEC: +/* 318A3C 802BDCEC 8E420074 */ lw $v0, 0x74($s2) +/* 318A40 802BDCF0 30420003 */ andi $v0, $v0, 3 +/* 318A44 802BDCF4 1440000B */ bnez $v0, .L802BDD24 +/* 318A48 802BDCF8 00000000 */ nop +/* 318A4C 802BDCFC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 318A50 802BDD00 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 318A54 802BDD04 94420134 */ lhu $v0, 0x134($v0) +/* 318A58 802BDD08 30420001 */ andi $v0, $v0, 1 +/* 318A5C 802BDD0C 10400002 */ beqz $v0, .L802BDD18 +/* 318A60 802BDD10 24040142 */ addiu $a0, $zero, 0x142 +/* 318A64 802BDD14 24040141 */ addiu $a0, $zero, 0x141 +.L802BDD18: +/* 318A68 802BDD18 0000282D */ daddu $a1, $zero, $zero +/* 318A6C 802BDD1C 0C052742 */ jal play_sound_at_npc +/* 318A70 802BDD20 2406FFFC */ addiu $a2, $zero, -4 +.L802BDD24: +/* 318A74 802BDD24 8E430074 */ lw $v1, 0x74($s2) +/* 318A78 802BDD28 24020028 */ addiu $v0, $zero, 0x28 +/* 318A7C 802BDD2C 1462000A */ bne $v1, $v0, .L802BDD58 +/* 318A80 802BDD30 00000000 */ nop +/* 318A84 802BDD34 826200B4 */ lb $v0, 0xb4($s3) +/* 318A88 802BDD38 14400003 */ bnez $v0, .L802BDD48 +/* 318A8C 802BDD3C 3C040001 */ lui $a0, 1 +/* 318A90 802BDD40 0C037FBF */ jal func_800DFEFC +/* 318A94 802BDD44 34840002 */ ori $a0, $a0, 2 +.L802BDD48: +/* 318A98 802BDD48 0C038069 */ jal enable_player_input +/* 318A9C 802BDD4C 00000000 */ nop +/* 318AA0 802BDD50 3C01802C */ lui $at, 0x802c +/* 318AA4 802BDD54 AC20E92C */ sw $zero, -0x16d4($at) +.L802BDD58: +/* 318AA8 802BDD58 0C00E403 */ jal npc_do_other_npc_collision +/* 318AAC 802BDD5C 0220202D */ daddu $a0, $s1, $zero +/* 318AB0 802BDD60 8E220000 */ lw $v0, ($s1) +/* 318AB4 802BDD64 3C030200 */ lui $v1, 0x200 +/* 318AB8 802BDD68 00431024 */ and $v0, $v0, $v1 +/* 318ABC 802BDD6C 1440000A */ bnez $v0, .L802BDD98 +/* 318AC0 802BDD70 00000000 */ nop +/* 318AC4 802BDD74 3C02802C */ lui $v0, 0x802c +/* 318AC8 802BDD78 8C42E934 */ lw $v0, -0x16cc($v0) +/* 318ACC 802BDD7C 1440000E */ bnez $v0, .L802BDDB8 +/* 318AD0 802BDD80 3C020003 */ lui $v0, 3 +/* 318AD4 802BDD84 8E420074 */ lw $v0, 0x74($s2) +/* 318AD8 802BDD88 1040000A */ beqz $v0, .L802BDDB4 +/* 318ADC 802BDD8C 2442FFFF */ addiu $v0, $v0, -1 +.L802BDD90: +/* 318AE0 802BDD90 080AF77A */ j .L802BDDE8 +/* 318AE4 802BDD94 AE420074 */ sw $v0, 0x74($s2) +.L802BDD98: +/* 318AE8 802BDD98 3C03802C */ lui $v1, 0x802c +/* 318AEC 802BDD9C 2463E92C */ addiu $v1, $v1, -0x16d4 +/* 318AF0 802BDDA0 8C620000 */ lw $v0, ($v1) +/* 318AF4 802BDDA4 10400004 */ beqz $v0, .L802BDDB8 +/* 318AF8 802BDDA8 3C020003 */ lui $v0, 3 +/* 318AFC 802BDDAC 0C038069 */ jal enable_player_input +/* 318B00 802BDDB0 AC600000 */ sw $zero, ($v1) +.L802BDDB4: +/* 318B04 802BDDB4 3C020003 */ lui $v0, 3 +.L802BDDB8: +/* 318B08 802BDDB8 34420010 */ ori $v0, $v0, 0x10 +/* 318B0C 802BDDBC AE220028 */ sw $v0, 0x28($s1) +/* 318B10 802BDDC0 24020014 */ addiu $v0, $zero, 0x14 +/* 318B14 802BDDC4 AE420074 */ sw $v0, 0x74($s2) +/* 318B18 802BDDC8 24020003 */ addiu $v0, $zero, 3 +/* 318B1C 802BDDCC AE420070 */ sw $v0, 0x70($s2) +/* 318B20 802BDDD0 826200B4 */ lb $v0, 0xb4($s3) +/* 318B24 802BDDD4 14400004 */ bnez $v0, .L802BDDE8 +/* 318B28 802BDDD8 00000000 */ nop +/* 318B2C 802BDDDC 3C040001 */ lui $a0, 1 +/* 318B30 802BDDE0 0C037FBF */ jal func_800DFEFC +/* 318B34 802BDDE4 34840002 */ ori $a0, $a0, 2 +.L802BDDE8: +/* 318B38 802BDDE8 8E430070 */ lw $v1, 0x70($s2) +/* 318B3C 802BDDEC 24020004 */ addiu $v0, $zero, 4 +.L802BDDF0: +/* 318B40 802BDDF0 10620062 */ beq $v1, $v0, .L802BDF7C +/* 318B44 802BDDF4 28620005 */ slti $v0, $v1, 5 +/* 318B48 802BDDF8 10400005 */ beqz $v0, .L802BDE10 +/* 318B4C 802BDDFC 24020003 */ addiu $v0, $zero, 3 +/* 318B50 802BDE00 1062000A */ beq $v1, $v0, .L802BDE2C +/* 318B54 802BDE04 00000000 */ nop +/* 318B58 802BDE08 080AF8BE */ j .L802BE2F8 +/* 318B5C 802BDE0C 00000000 */ nop +.L802BDE10: +/* 318B60 802BDE10 24020005 */ addiu $v0, $zero, 5 +/* 318B64 802BDE14 106200A0 */ beq $v1, $v0, .L802BE098 +/* 318B68 802BDE18 24020006 */ addiu $v0, $zero, 6 +/* 318B6C 802BDE1C 106200E3 */ beq $v1, $v0, .L802BE1AC +/* 318B70 802BDE20 00000000 */ nop +/* 318B74 802BDE24 080AF8BE */ j .L802BE2F8 +/* 318B78 802BDE28 00000000 */ nop +.L802BDE2C: +/* 318B7C 802BDE2C 8E420074 */ lw $v0, 0x74($s2) +/* 318B80 802BDE30 144000BF */ bnez $v0, .L802BE130 +/* 318B84 802BDE34 2442FFFF */ addiu $v0, $v0, -1 +/* 318B88 802BDE38 3C03802C */ lui $v1, 0x802c +/* 318B8C 802BDE3C 2463E924 */ addiu $v1, $v1, -0x16dc +/* 318B90 802BDE40 8C620000 */ lw $v0, ($v1) +/* 318B94 802BDE44 10400004 */ beqz $v0, .L802BDE58 +/* 318B98 802BDE48 00000000 */ nop +/* 318B9C 802BDE4C AC600000 */ sw $zero, ($v1) +/* 318BA0 802BDE50 0C05271B */ jal stop_sound +/* 318BA4 802BDE54 3C048000 */ lui $a0, 0x8000 +.L802BDE58: +/* 318BA8 802BDE58 3C108011 */ lui $s0, %hi(gPlayerData) +/* 318BAC 802BDE5C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 318BB0 802BDE60 8E250038 */ lw $a1, 0x38($s1) +/* 318BB4 802BDE64 862200A8 */ lh $v0, 0xa8($s1) +/* 318BB8 802BDE68 3C013F00 */ lui $at, 0x3f00 +/* 318BBC 802BDE6C 44811000 */ mtc1 $at, $f2 +/* 318BC0 802BDE70 44820000 */ mtc1 $v0, $f0 +/* 318BC4 802BDE74 00000000 */ nop +/* 318BC8 802BDE78 46800020 */ cvt.s.w $f0, $f0 +/* 318BCC 802BDE7C 46020002 */ mul.s $f0, $f0, $f2 +/* 318BD0 802BDE80 00000000 */ nop +/* 318BD4 802BDE84 8E270040 */ lw $a3, 0x40($s1) +/* 318BD8 802BDE88 82020012 */ lb $v0, 0x12($s0) +/* 318BDC 802BDE8C C622003C */ lwc1 $f2, 0x3c($s1) +/* 318BE0 802BDE90 000210C0 */ sll $v0, $v0, 3 +/* 318BE4 802BDE94 46001080 */ add.s $f2, $f2, $f0 +/* 318BE8 802BDE98 00501021 */ addu $v0, $v0, $s0 +/* 318BEC 802BDE9C 80440015 */ lb $a0, 0x15($v0) +/* 318BF0 802BDEA0 44061000 */ mfc1 $a2, $f2 +/* 318BF4 802BDEA4 0C01C07C */ jal func_800701F0 +/* 318BF8 802BDEA8 00000000 */ nop +/* 318BFC 802BDEAC 82020012 */ lb $v0, 0x12($s0) +/* 318C00 802BDEB0 000210C0 */ sll $v0, $v0, 3 +/* 318C04 802BDEB4 00501021 */ addu $v0, $v0, $s0 +/* 318C08 802BDEB8 80430015 */ lb $v1, 0x15($v0) +/* 318C0C 802BDEBC 24020001 */ addiu $v0, $zero, 1 +/* 318C10 802BDEC0 1062000D */ beq $v1, $v0, .L802BDEF8 +/* 318C14 802BDEC4 28620002 */ slti $v0, $v1, 2 +/* 318C18 802BDEC8 10400005 */ beqz $v0, .L802BDEE0 +/* 318C1C 802BDECC 24020002 */ addiu $v0, $zero, 2 +/* 318C20 802BDED0 10600007 */ beqz $v1, .L802BDEF0 +/* 318C24 802BDED4 0000202D */ daddu $a0, $zero, $zero +/* 318C28 802BDED8 080AF7C6 */ j .L802BDF18 +/* 318C2C 802BDEDC 0080282D */ daddu $a1, $a0, $zero +.L802BDEE0: +/* 318C30 802BDEE0 10620007 */ beq $v1, $v0, .L802BDF00 +/* 318C34 802BDEE4 0000202D */ daddu $a0, $zero, $zero +/* 318C38 802BDEE8 080AF7C6 */ j .L802BDF18 +/* 318C3C 802BDEEC 0080282D */ daddu $a1, $a0, $zero +.L802BDEF0: +/* 318C40 802BDEF0 080AF7C1 */ j .L802BDF04 +/* 318C44 802BDEF4 24042016 */ addiu $a0, $zero, 0x2016 +.L802BDEF8: +/* 318C48 802BDEF8 080AF7C1 */ j .L802BDF04 +/* 318C4C 802BDEFC 24042017 */ addiu $a0, $zero, 0x2017 +.L802BDF00: +/* 318C50 802BDF00 24042018 */ addiu $a0, $zero, 0x2018 +.L802BDF04: +/* 318C54 802BDF04 0000282D */ daddu $a1, $zero, $zero +/* 318C58 802BDF08 0C052742 */ jal play_sound_at_npc +/* 318C5C 802BDF0C 2406FFFC */ addiu $a2, $zero, -4 +/* 318C60 802BDF10 0000202D */ daddu $a0, $zero, $zero +/* 318C64 802BDF14 0080282D */ daddu $a1, $a0, $zero +.L802BDF18: +/* 318C68 802BDF18 0C0B2D5B */ jal exec_ShakeCam1 +/* 318C6C 802BDF1C 24060014 */ addiu $a2, $zero, 0x14 +/* 318C70 802BDF20 0220202D */ daddu $a0, $s1, $zero +/* 318C74 802BDF24 0C00F598 */ jal func_8003D660 +/* 318C78 802BDF28 24050002 */ addiu $a1, $zero, 2 +/* 318C7C 802BDF2C A6800018 */ sh $zero, 0x18($s4) +/* 318C80 802BDF30 C6200038 */ lwc1 $f0, 0x38($s1) +/* 318C84 802BDF34 E680001C */ swc1 $f0, 0x1c($s4) +/* 318C88 802BDF38 C620003C */ lwc1 $f0, 0x3c($s1) +/* 318C8C 802BDF3C E6800020 */ swc1 $f0, 0x20($s4) +/* 318C90 802BDF40 C6200040 */ lwc1 $f0, 0x40($s1) +/* 318C94 802BDF44 0220202D */ daddu $a0, $s1, $zero +/* 318C98 802BDF48 0C0AF440 */ jal func_802BD100_317E50 +/* 318C9C 802BDF4C E6800024 */ swc1 $f0, 0x24($s4) +/* 318CA0 802BDF50 24020001 */ addiu $v0, $zero, 1 +/* 318CA4 802BDF54 3C01802C */ lui $at, 0x802c +/* 318CA8 802BDF58 AC22E928 */ sw $v0, -0x16d8($at) +/* 318CAC 802BDF5C 24020002 */ addiu $v0, $zero, 2 +/* 318CB0 802BDF60 A2A20000 */ sb $v0, ($s5) +/* 318CB4 802BDF64 8E420070 */ lw $v0, 0x70($s2) +/* 318CB8 802BDF68 24030003 */ addiu $v1, $zero, 3 +/* 318CBC 802BDF6C AE430074 */ sw $v1, 0x74($s2) +/* 318CC0 802BDF70 24420001 */ addiu $v0, $v0, 1 +/* 318CC4 802BDF74 080AF8BE */ j .L802BE2F8 +/* 318CC8 802BDF78 AE420070 */ sw $v0, 0x70($s2) +.L802BDF7C: +/* 318CCC 802BDF7C 8E420074 */ lw $v0, 0x74($s2) +/* 318CD0 802BDF80 1440006B */ bnez $v0, .L802BE130 +/* 318CD4 802BDF84 2442FFFF */ addiu $v0, $v0, -1 +/* 318CD8 802BDF88 24020003 */ addiu $v0, $zero, 3 +/* 318CDC 802BDF8C A2A20000 */ sb $v0, ($s5) +/* 318CE0 802BDF90 C660002C */ lwc1 $f0, 0x2c($s3) +/* 318CE4 802BDF94 C622003C */ lwc1 $f2, 0x3c($s1) +/* 318CE8 802BDF98 24040168 */ addiu $a0, $zero, 0x168 +/* 318CEC 802BDF9C 46020001 */ sub.s $f0, $f0, $f2 +/* 318CF0 802BDFA0 3C0141A0 */ lui $at, 0x41a0 +/* 318CF4 802BDFA4 44811000 */ mtc1 $at, $f2 +/* 318CF8 802BDFA8 3C013F4C */ lui $at, 0x3f4c +/* 318CFC 802BDFAC 3421CCCD */ ori $at, $at, 0xcccd +/* 318D00 802BDFB0 4481A000 */ mtc1 $at, $f20 +/* 318D04 802BDFB4 46020003 */ div.s $f0, $f0, $f2 +/* 318D08 802BDFB8 3C01403E */ lui $at, 0x403e +/* 318D0C 802BDFBC 44811800 */ mtc1 $at, $f3 +/* 318D10 802BDFC0 44801000 */ mtc1 $zero, $f2 +/* 318D14 802BDFC4 46000021 */ cvt.d.s $f0, $f0 +/* 318D18 802BDFC8 46220000 */ add.d $f0, $f0, $f2 +/* 318D1C 802BDFCC 3C01802C */ lui $at, 0x802c +/* 318D20 802BDFD0 AC20E928 */ sw $zero, -0x16d8($at) +/* 318D24 802BDFD4 E6340018 */ swc1 $f20, 0x18($s1) +/* 318D28 802BDFD8 46200020 */ cvt.s.d $f0, $f0 +/* 318D2C 802BDFDC 0C00A67F */ jal rand_int +/* 318D30 802BDFE0 E620001C */ swc1 $f0, 0x1c($s1) +/* 318D34 802BDFE4 44822000 */ mtc1 $v0, $f4 +/* 318D38 802BDFE8 00000000 */ nop +/* 318D3C 802BDFEC 46802120 */ cvt.s.w $f4, $f4 +/* 318D40 802BDFF0 C620003C */ lwc1 $f0, 0x3c($s1) +/* 318D44 802BDFF4 3C014120 */ lui $at, 0x4120 +/* 318D48 802BDFF8 44811000 */ mtc1 $at, $f2 +/* 318D4C 802BDFFC 2402FFFF */ addiu $v0, $zero, -1 +/* 318D50 802BE000 46020000 */ add.s $f0, $f0, $f2 +/* 318D54 802BE004 E624000C */ swc1 $f4, 0xc($s1) +/* 318D58 802BE008 E6340014 */ swc1 $f20, 0x14($s1) +/* 318D5C 802BE00C E620003C */ swc1 $f0, 0x3c($s1) +/* 318D60 802BE010 E6200064 */ swc1 $f0, 0x64($s1) +/* 318D64 802BE014 A6820018 */ sh $v0, 0x18($s4) +/* 318D68 802BE018 C6200038 */ lwc1 $f0, 0x38($s1) +/* 318D6C 802BE01C E680001C */ swc1 $f0, 0x1c($s4) +/* 318D70 802BE020 C620003C */ lwc1 $f0, 0x3c($s1) +/* 318D74 802BE024 E6800020 */ swc1 $f0, 0x20($s4) +/* 318D78 802BE028 C6200040 */ lwc1 $f0, 0x40($s1) +/* 318D7C 802BE02C 3C020003 */ lui $v0, 3 +/* 318D80 802BE030 E6800024 */ swc1 $f0, 0x24($s4) +/* 318D84 802BE034 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 318D88 802BE038 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 318D8C 802BE03C 34420011 */ ori $v0, $v0, 0x11 +/* 318D90 802BE040 AE220028 */ sw $v0, 0x28($s1) +/* 318D94 802BE044 8E660028 */ lw $a2, 0x28($s3) +/* 318D98 802BE048 0C00A720 */ jal atan2 +/* 318D9C 802BE04C 8E670030 */ lw $a3, 0x30($s3) +/* 318DA0 802BE050 3C02800B */ lui $v0, %hi(gCameras) +/* 318DA4 802BE054 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 318DA8 802BE058 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 318DAC 802BE05C 0C00A70A */ jal get_clamped_angle_diff +/* 318DB0 802BE060 46000386 */ mov.s $f14, $f0 +/* 318DB4 802BE064 44801000 */ mtc1 $zero, $f2 +/* 318DB8 802BE068 00000000 */ nop +/* 318DBC 802BE06C 4602003C */ c.lt.s $f0, $f2 +/* 318DC0 802BE070 00000000 */ nop +/* 318DC4 802BE074 45010002 */ bc1t .L802BE080 +/* 318DC8 802BE078 2402FFFF */ addiu $v0, $zero, -1 +/* 318DCC 802BE07C 24020001 */ addiu $v0, $zero, 1 +.L802BE080: +/* 318DD0 802BE080 AE420078 */ sw $v0, 0x78($s2) +/* 318DD4 802BE084 2402000A */ addiu $v0, $zero, 0xa +/* 318DD8 802BE088 AE420074 */ sw $v0, 0x74($s2) +/* 318DDC 802BE08C 24020005 */ addiu $v0, $zero, 5 +/* 318DE0 802BE090 080AF8BE */ j .L802BE2F8 +/* 318DE4 802BE094 AE420070 */ sw $v0, 0x70($s2) +.L802BE098: +/* 318DE8 802BE098 C624003C */ lwc1 $f4, 0x3c($s1) +/* 318DEC 802BE09C C620001C */ lwc1 $f0, 0x1c($s1) +/* 318DF0 802BE0A0 46002100 */ add.s $f4, $f4, $f0 +/* 318DF4 802BE0A4 C6220014 */ lwc1 $f2, 0x14($s1) +/* 318DF8 802BE0A8 46020001 */ sub.s $f0, $f0, $f2 +/* 318DFC 802BE0AC E624003C */ swc1 $f4, 0x3c($s1) +/* 318E00 802BE0B0 E620001C */ swc1 $f0, 0x1c($s1) +/* 318E04 802BE0B4 8E430078 */ lw $v1, 0x78($s2) +/* 318E08 802BE0B8 C620004C */ lwc1 $f0, 0x4c($s1) +/* 318E0C 802BE0BC 00031080 */ sll $v0, $v1, 2 +/* 318E10 802BE0C0 00431021 */ addu $v0, $v0, $v1 +/* 318E14 802BE0C4 00021100 */ sll $v0, $v0, 4 +/* 318E18 802BE0C8 00431023 */ subu $v0, $v0, $v1 +/* 318E1C 802BE0CC 00021FC2 */ srl $v1, $v0, 0x1f +/* 318E20 802BE0D0 00431021 */ addu $v0, $v0, $v1 +/* 318E24 802BE0D4 00021043 */ sra $v0, $v0, 1 +/* 318E28 802BE0D8 44821000 */ mtc1 $v0, $f2 +/* 318E2C 802BE0DC 00000000 */ nop +/* 318E30 802BE0E0 468010A0 */ cvt.s.w $f2, $f2 +/* 318E34 802BE0E4 46020001 */ sub.s $f0, $f0, $f2 +/* 318E38 802BE0E8 E620004C */ swc1 $f0, 0x4c($s1) +/* 318E3C 802BE0EC 8E430078 */ lw $v1, 0x78($s2) +/* 318E40 802BE0F0 C6200044 */ lwc1 $f0, 0x44($s1) +/* 318E44 802BE0F4 00031100 */ sll $v0, $v1, 4 +/* 318E48 802BE0F8 00431021 */ addu $v0, $v0, $v1 +/* 318E4C 802BE0FC 00021080 */ sll $v0, $v0, 2 +/* 318E50 802BE100 00431023 */ subu $v0, $v0, $v1 +/* 318E54 802BE104 00021FC2 */ srl $v1, $v0, 0x1f +/* 318E58 802BE108 00431021 */ addu $v0, $v0, $v1 +/* 318E5C 802BE10C 00021043 */ sra $v0, $v0, 1 +/* 318E60 802BE110 44821000 */ mtc1 $v0, $f2 +/* 318E64 802BE114 00000000 */ nop +/* 318E68 802BE118 468010A0 */ cvt.s.w $f2, $f2 +/* 318E6C 802BE11C 46020001 */ sub.s $f0, $f0, $f2 +/* 318E70 802BE120 E6200044 */ swc1 $f0, 0x44($s1) +/* 318E74 802BE124 8E420074 */ lw $v0, 0x74($s2) +/* 318E78 802BE128 10400003 */ beqz $v0, .L802BE138 +/* 318E7C 802BE12C 2442FFFF */ addiu $v0, $v0, -1 +.L802BE130: +/* 318E80 802BE130 080AF8BE */ j .L802BE2F8 +/* 318E84 802BE134 AE420074 */ sw $v0, 0x74($s2) +.L802BE138: +/* 318E88 802BE138 3C02802C */ lui $v0, 0x802c +/* 318E8C 802BE13C 8C42E930 */ lw $v0, -0x16d0($v0) +/* 318E90 802BE140 14400005 */ bnez $v0, .L802BE158 +/* 318E94 802BE144 00000000 */ nop +/* 318E98 802BE148 C6600028 */ lwc1 $f0, 0x28($s3) +/* 318E9C 802BE14C E6200038 */ swc1 $f0, 0x38($s1) +/* 318EA0 802BE150 C6600030 */ lwc1 $f0, 0x30($s3) +/* 318EA4 802BE154 E6200040 */ swc1 $f0, 0x40($s1) +.L802BE158: +/* 318EA8 802BE158 3C01800B */ lui $at, 0x800b +/* 318EAC 802BE15C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 318EB0 802BE160 C66C00A8 */ lwc1 $f12, 0xa8($s3) +/* 318EB4 802BE164 0C00A6C9 */ jal clamp_angle +/* 318EB8 802BE168 460C0300 */ add.s $f12, $f0, $f12 +/* 318EBC 802BE16C 26240038 */ addiu $a0, $s1, 0x38 +/* 318EC0 802BE170 3C064120 */ lui $a2, 0x4120 +/* 318EC4 802BE174 44070000 */ mfc1 $a3, $f0 +/* 318EC8 802BE178 26250040 */ addiu $a1, $s1, 0x40 +/* 318ECC 802BE17C 0C00A7E7 */ jal add_vec2D_polar +/* 318ED0 802BE180 AE27000C */ sw $a3, 0xc($s1) +/* 318ED4 802BE184 3C030003 */ lui $v1, 3 +/* 318ED8 802BE188 8E220000 */ lw $v0, ($s1) +/* 318EDC 802BE18C 34630011 */ ori $v1, $v1, 0x11 +/* 318EE0 802BE190 AE20001C */ sw $zero, 0x1c($s1) +/* 318EE4 802BE194 AE230028 */ sw $v1, 0x28($s1) +/* 318EE8 802BE198 34420800 */ ori $v0, $v0, 0x800 +/* 318EEC 802BE19C AE220000 */ sw $v0, ($s1) +/* 318EF0 802BE1A0 24020006 */ addiu $v0, $zero, 6 +/* 318EF4 802BE1A4 080AF8BE */ j .L802BE2F8 +/* 318EF8 802BE1A8 AE420070 */ sw $v0, 0x70($s2) +.L802BE1AC: +/* 318EFC 802BE1AC C624003C */ lwc1 $f4, 0x3c($s1) +/* 318F00 802BE1B0 3C014120 */ lui $at, 0x4120 +/* 318F04 802BE1B4 44810000 */ mtc1 $at, $f0 +/* 318F08 802BE1B8 866200B0 */ lh $v0, 0xb0($s3) +/* 318F0C 802BE1BC 46002100 */ add.s $f4, $f4, $f0 +/* 318F10 802BE1C0 C660002C */ lwc1 $f0, 0x2c($s3) +/* 318F14 802BE1C4 44821000 */ mtc1 $v0, $f2 +/* 318F18 802BE1C8 00000000 */ nop +/* 318F1C 802BE1CC 468010A0 */ cvt.s.w $f2, $f2 +/* 318F20 802BE1D0 46020000 */ add.s $f0, $f0, $f2 +/* 318F24 802BE1D4 4600203C */ c.lt.s $f4, $f0 +/* 318F28 802BE1D8 00000000 */ nop +/* 318F2C 802BE1DC 45000018 */ bc1f .L802BE240 +/* 318F30 802BE1E0 2403F7FF */ addiu $v1, $zero, -0x801 +/* 318F34 802BE1E4 8E220000 */ lw $v0, ($s1) +/* 318F38 802BE1E8 C622003C */ lwc1 $f2, 0x3c($s1) +/* 318F3C 802BE1EC 00431024 */ and $v0, $v0, $v1 +/* 318F40 802BE1F0 AE220000 */ sw $v0, ($s1) +/* 318F44 802BE1F4 C660002C */ lwc1 $f0, 0x2c($s3) +/* 318F48 802BE1F8 46020001 */ sub.s $f0, $f0, $f2 +/* 318F4C 802BE1FC 3C01802C */ lui $at, 0x802c +/* 318F50 802BE200 D422E908 */ ldc1 $f2, -0x16f8($at) +/* 318F54 802BE204 46000005 */ abs.s $f0, $f0 +/* 318F58 802BE208 46000021 */ cvt.d.s $f0, $f0 +/* 318F5C 802BE20C 4622003C */ c.lt.d $f0, $f2 +/* 318F60 802BE210 00000000 */ nop +/* 318F64 802BE214 45000003 */ bc1f .L802BE224 +/* 318F68 802BE218 24020008 */ addiu $v0, $zero, 8 +/* 318F6C 802BE21C 080AF8BE */ j .L802BE2F8 +/* 318F70 802BE220 AE420070 */ sw $v0, 0x70($s2) +.L802BE224: +/* 318F74 802BE224 8E25001C */ lw $a1, 0x1c($s1) +/* 318F78 802BE228 0C00E5FA */ jal func_800397E8 +/* 318F7C 802BE22C 0220202D */ daddu $a0, $s1, $zero +/* 318F80 802BE230 10400003 */ beqz $v0, .L802BE240 +/* 318F84 802BE234 24020007 */ addiu $v0, $zero, 7 +/* 318F88 802BE238 080AF8BE */ j .L802BE2F8 +/* 318F8C 802BE23C AE420070 */ sw $v0, 0x70($s2) +.L802BE240: +/* 318F90 802BE240 C626001C */ lwc1 $f6, 0x1c($s1) +/* 318F94 802BE244 C6200014 */ lwc1 $f0, 0x14($s1) +/* 318F98 802BE248 C624003C */ lwc1 $f4, 0x3c($s1) +/* 318F9C 802BE24C 46003181 */ sub.s $f6, $f6, $f0 +/* 318FA0 802BE250 C620001C */ lwc1 $f0, 0x1c($s1) +/* 318FA4 802BE254 46002100 */ add.s $f4, $f4, $f0 +/* 318FA8 802BE258 3C01C020 */ lui $at, 0xc020 +/* 318FAC 802BE25C 44811800 */ mtc1 $at, $f3 +/* 318FB0 802BE260 44801000 */ mtc1 $zero, $f2 +/* 318FB4 802BE264 46003021 */ cvt.d.s $f0, $f6 +/* 318FB8 802BE268 4622003C */ c.lt.d $f0, $f2 +/* 318FBC 802BE26C E626001C */ swc1 $f6, 0x1c($s1) +/* 318FC0 802BE270 45000005 */ bc1f .L802BE288 +/* 318FC4 802BE274 E624003C */ swc1 $f4, 0x3c($s1) +/* 318FC8 802BE278 3C01C100 */ lui $at, 0xc100 +/* 318FCC 802BE27C 44810000 */ mtc1 $at, $f0 +/* 318FD0 802BE280 00000000 */ nop +/* 318FD4 802BE284 E620001C */ swc1 $f0, 0x1c($s1) +.L802BE288: +/* 318FD8 802BE288 8E430078 */ lw $v1, 0x78($s2) +/* 318FDC 802BE28C C620004C */ lwc1 $f0, 0x4c($s1) +/* 318FE0 802BE290 00031080 */ sll $v0, $v1, 2 +/* 318FE4 802BE294 00431021 */ addu $v0, $v0, $v1 +/* 318FE8 802BE298 00021100 */ sll $v0, $v0, 4 +/* 318FEC 802BE29C 00431023 */ subu $v0, $v0, $v1 +/* 318FF0 802BE2A0 00021FC2 */ srl $v1, $v0, 0x1f +/* 318FF4 802BE2A4 00431021 */ addu $v0, $v0, $v1 +/* 318FF8 802BE2A8 00021043 */ sra $v0, $v0, 1 +/* 318FFC 802BE2AC 44821000 */ mtc1 $v0, $f2 +/* 319000 802BE2B0 00000000 */ nop +/* 319004 802BE2B4 468010A0 */ cvt.s.w $f2, $f2 +/* 319008 802BE2B8 46020001 */ sub.s $f0, $f0, $f2 +/* 31900C 802BE2BC E620004C */ swc1 $f0, 0x4c($s1) +/* 319010 802BE2C0 8E430078 */ lw $v1, 0x78($s2) +/* 319014 802BE2C4 C6200044 */ lwc1 $f0, 0x44($s1) +/* 319018 802BE2C8 00031100 */ sll $v0, $v1, 4 +/* 31901C 802BE2CC 00431021 */ addu $v0, $v0, $v1 +/* 319020 802BE2D0 00021080 */ sll $v0, $v0, 2 +/* 319024 802BE2D4 00431023 */ subu $v0, $v0, $v1 +/* 319028 802BE2D8 00021FC2 */ srl $v1, $v0, 0x1f +/* 31902C 802BE2DC 00431021 */ addu $v0, $v0, $v1 +/* 319030 802BE2E0 00021043 */ sra $v0, $v0, 1 +/* 319034 802BE2E4 44821000 */ mtc1 $v0, $f2 +/* 319038 802BE2E8 00000000 */ nop +/* 31903C 802BE2EC 468010A0 */ cvt.s.w $f2, $f2 +/* 319040 802BE2F0 46020001 */ sub.s $f0, $f0, $f2 +/* 319044 802BE2F4 E6200044 */ swc1 $f0, 0x44($s1) +.L802BE2F8: +/* 319048 802BE2F8 8E440070 */ lw $a0, 0x70($s2) +/* 31904C 802BE2FC 24020007 */ addiu $v0, $zero, 7 +/* 319050 802BE300 10820005 */ beq $a0, $v0, .L802BE318 +/* 319054 802BE304 24020008 */ addiu $v0, $zero, 8 +/* 319058 802BE308 10820029 */ beq $a0, $v0, .L802BE3B0 +/* 31905C 802BE30C 0000102D */ daddu $v0, $zero, $zero +/* 319060 802BE310 080AF930 */ j .L802BE4C0 +/* 319064 802BE314 00000000 */ nop +.L802BE318: +/* 319068 802BE318 826200B4 */ lb $v0, 0xb4($s3) +/* 31906C 802BE31C 14400003 */ bnez $v0, .L802BE32C +/* 319070 802BE320 3C040001 */ lui $a0, 1 +/* 319074 802BE324 0C037FBF */ jal func_800DFEFC +/* 319078 802BE328 34840002 */ ori $a0, $a0, 2 +.L802BE32C: +/* 31907C 802BE32C 3C03802C */ lui $v1, 0x802c +/* 319080 802BE330 2463E92C */ addiu $v1, $v1, -0x16d4 +/* 319084 802BE334 8C620000 */ lw $v0, ($v1) +/* 319088 802BE338 10400004 */ beqz $v0, .L802BE34C +/* 31908C 802BE33C 3C020003 */ lui $v0, 3 +/* 319090 802BE340 0C038069 */ jal enable_player_input +/* 319094 802BE344 AC600000 */ sw $zero, ($v1) +/* 319098 802BE348 3C020003 */ lui $v0, 3 +.L802BE34C: +/* 31909C 802BE34C 34420003 */ ori $v0, $v0, 3 +/* 3190A0 802BE350 A2A00000 */ sb $zero, ($s5) +/* 3190A4 802BE354 A2A00003 */ sb $zero, 3($s5) +/* 3190A8 802BE358 AE20001C */ sw $zero, 0x1c($s1) +/* 3190AC 802BE35C C660002C */ lwc1 $f0, 0x2c($s3) +/* 3190B0 802BE360 0220202D */ daddu $a0, $s1, $zero +/* 3190B4 802BE364 3C01802C */ lui $at, 0x802c +/* 3190B8 802BE368 AC20E928 */ sw $zero, -0x16d8($at) +/* 3190BC 802BE36C 3C01802C */ lui $at, 0x802c +/* 3190C0 802BE370 AC20E934 */ sw $zero, -0x16cc($at) +/* 3190C4 802BE374 AC800044 */ sw $zero, 0x44($a0) +/* 3190C8 802BE378 AC80004C */ sw $zero, 0x4c($a0) +/* 3190CC 802BE37C AC820028 */ sw $v0, 0x28($a0) +/* 3190D0 802BE380 0C03BD17 */ jal clear_partner_move_history +/* 3190D4 802BE384 E480003C */ swc1 $f0, 0x3c($a0) +/* 3190D8 802BE388 3C03802C */ lui $v1, 0x802c +/* 3190DC 802BE38C 2463E924 */ addiu $v1, $v1, -0x16dc +/* 3190E0 802BE390 8C620000 */ lw $v0, ($v1) +/* 3190E4 802BE394 1040004A */ beqz $v0, .L802BE4C0 +/* 3190E8 802BE398 24020002 */ addiu $v0, $zero, 2 +/* 3190EC 802BE39C AC600000 */ sw $zero, ($v1) +/* 3190F0 802BE3A0 0C05271B */ jal stop_sound +/* 3190F4 802BE3A4 3C048000 */ lui $a0, 0x8000 +/* 3190F8 802BE3A8 080AF930 */ j .L802BE4C0 +/* 3190FC 802BE3AC 24020002 */ addiu $v0, $zero, 2 +.L802BE3B0: +/* 319100 802BE3B0 3C03802C */ lui $v1, 0x802c +/* 319104 802BE3B4 2463E92C */ addiu $v1, $v1, -0x16d4 +/* 319108 802BE3B8 8C620000 */ lw $v0, ($v1) +/* 31910C 802BE3BC 10400004 */ beqz $v0, .L802BE3D0 +/* 319110 802BE3C0 3C020003 */ lui $v0, 3 +/* 319114 802BE3C4 0C038069 */ jal enable_player_input +/* 319118 802BE3C8 AC600000 */ sw $zero, ($v1) +/* 31911C 802BE3CC 3C020003 */ lui $v0, 3 +.L802BE3D0: +/* 319120 802BE3D0 A2A00000 */ sb $zero, ($s5) +/* 319124 802BE3D4 A2A00003 */ sb $zero, 3($s5) +/* 319128 802BE3D8 AE20001C */ sw $zero, 0x1c($s1) +/* 31912C 802BE3DC C660002C */ lwc1 $f0, 0x2c($s3) +/* 319130 802BE3E0 34420003 */ ori $v0, $v0, 3 +/* 319134 802BE3E4 AE220028 */ sw $v0, 0x28($s1) +/* 319138 802BE3E8 3C02802C */ lui $v0, 0x802c +/* 31913C 802BE3EC 8C42E920 */ lw $v0, -0x16e0($v0) +/* 319140 802BE3F0 AE200044 */ sw $zero, 0x44($s1) +/* 319144 802BE3F4 AE20004C */ sw $zero, 0x4c($s1) +/* 319148 802BE3F8 E620003C */ swc1 $f0, 0x3c($s1) +/* 31914C 802BE3FC C6600028 */ lwc1 $f0, 0x28($s3) +/* 319150 802BE400 E6200038 */ swc1 $f0, 0x38($s1) +/* 319154 802BE404 C660002C */ lwc1 $f0, 0x2c($s3) +/* 319158 802BE408 26300038 */ addiu $s0, $s1, 0x38 +/* 31915C 802BE40C E620003C */ swc1 $f0, 0x3c($s1) +/* 319160 802BE410 C6600030 */ lwc1 $f0, 0x30($s3) +/* 319164 802BE414 26320040 */ addiu $s2, $s1, 0x40 +/* 319168 802BE418 3C01802C */ lui $at, 0x802c +/* 31916C 802BE41C AC20E928 */ sw $zero, -0x16d8($at) +/* 319170 802BE420 3C01802C */ lui $at, 0x802c +/* 319174 802BE424 AC20E934 */ sw $zero, -0x16cc($at) +/* 319178 802BE428 14400006 */ bnez $v0, .L802BE444 +/* 31917C 802BE42C E6200040 */ swc1 $f0, 0x40($s1) +/* 319180 802BE430 C6600080 */ lwc1 $f0, 0x80($s3) +/* 319184 802BE434 3C0142B4 */ lui $at, 0x42b4 +/* 319188 802BE438 44816000 */ mtc1 $at, $f12 +/* 31918C 802BE43C 080AF916 */ j .L802BE458 +/* 319190 802BE440 460C0300 */ add.s $f12, $f0, $f12 +.L802BE444: +/* 319194 802BE444 C6600080 */ lwc1 $f0, 0x80($s3) +/* 319198 802BE448 3C0142B4 */ lui $at, 0x42b4 +/* 31919C 802BE44C 44816000 */ mtc1 $at, $f12 +/* 3191A0 802BE450 00000000 */ nop +/* 3191A4 802BE454 460C0301 */ sub.s $f12, $f0, $f12 +.L802BE458: +/* 3191A8 802BE458 0C00A6C9 */ jal clamp_angle +/* 3191AC 802BE45C 00000000 */ nop +/* 3191B0 802BE460 866200B2 */ lh $v0, 0xb2($s3) +/* 3191B4 802BE464 04420001 */ bltzl $v0, .L802BE46C +/* 3191B8 802BE468 24420003 */ addiu $v0, $v0, 3 +.L802BE46C: +/* 3191BC 802BE46C 0200202D */ daddu $a0, $s0, $zero +/* 3191C0 802BE470 00021083 */ sra $v0, $v0, 2 +/* 3191C4 802BE474 44828000 */ mtc1 $v0, $f16 +/* 3191C8 802BE478 00000000 */ nop +/* 3191CC 802BE47C 46808420 */ cvt.s.w $f16, $f16 +/* 3191D0 802BE480 44070000 */ mfc1 $a3, $f0 +/* 3191D4 802BE484 44068000 */ mfc1 $a2, $f16 +/* 3191D8 802BE488 0C00A7E7 */ jal add_vec2D_polar +/* 3191DC 802BE48C 0240282D */ daddu $a1, $s2, $zero +/* 3191E0 802BE490 0220202D */ daddu $a0, $s1, $zero +/* 3191E4 802BE494 0C03BD17 */ jal clear_partner_move_history +/* 3191E8 802BE498 AC80001C */ sw $zero, 0x1c($a0) +/* 3191EC 802BE49C 3C03802C */ lui $v1, 0x802c +/* 3191F0 802BE4A0 2463E924 */ addiu $v1, $v1, -0x16dc +/* 3191F4 802BE4A4 8C620000 */ lw $v0, ($v1) +/* 3191F8 802BE4A8 10400005 */ beqz $v0, .L802BE4C0 +/* 3191FC 802BE4AC 24020002 */ addiu $v0, $zero, 2 +/* 319200 802BE4B0 AC600000 */ sw $zero, ($v1) +/* 319204 802BE4B4 0C05271B */ jal stop_sound +/* 319208 802BE4B8 3C048000 */ lui $a0, 0x8000 +/* 31920C 802BE4BC 24020002 */ addiu $v0, $zero, 2 +.L802BE4C0: +/* 319210 802BE4C0 8FBF0048 */ lw $ra, 0x48($sp) +/* 319214 802BE4C4 8FB50044 */ lw $s5, 0x44($sp) +/* 319218 802BE4C8 8FB40040 */ lw $s4, 0x40($sp) +/* 31921C 802BE4CC 8FB3003C */ lw $s3, 0x3c($sp) +/* 319220 802BE4D0 8FB20038 */ lw $s2, 0x38($sp) +/* 319224 802BE4D4 8FB10034 */ lw $s1, 0x34($sp) +/* 319228 802BE4D8 8FB00030 */ lw $s0, 0x30($sp) +/* 31922C 802BE4DC D7B40050 */ ldc1 $f20, 0x50($sp) +/* 319230 802BE4E0 03E00008 */ jr $ra +/* 319234 802BE4E4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_317E50/func_802BE4E8.s b/asm/nonmatchings/code_317E50/func_802BE4E8.s new file mode 100644 index 0000000000..e50ee13b01 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BE4E8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE4E8 +/* 319238 802BE4E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31923C 802BE4EC AFBF0014 */ sw $ra, 0x14($sp) +/* 319240 802BE4F0 AFB00010 */ sw $s0, 0x10($sp) +/* 319244 802BE4F4 10A00003 */ beqz $a1, .L802BE504 +/* 319248 802BE4F8 8C90014C */ lw $s0, 0x14c($a0) +/* 31924C 802BE4FC 0C03BA65 */ jal func_800EE994 +/* 319250 802BE500 0200202D */ daddu $a0, $s0, $zero +.L802BE504: +/* 319254 802BE504 0C03BA6E */ jal func_800EE9B8 +/* 319258 802BE508 0200202D */ daddu $a0, $s0, $zero +/* 31925C 802BE50C 8FBF0014 */ lw $ra, 0x14($sp) +/* 319260 802BE510 8FB00010 */ lw $s0, 0x10($sp) +/* 319264 802BE514 0002102B */ sltu $v0, $zero, $v0 +/* 319268 802BE518 03E00008 */ jr $ra +/* 31926C 802BE51C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_317E50/func_802BE520.s b/asm/nonmatchings/code_317E50/func_802BE520.s new file mode 100644 index 0000000000..70f5a638d7 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BE520.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE520 +/* 319270 802BE520 3C02802C */ lui $v0, 0x802c +/* 319274 802BE524 8C42E928 */ lw $v0, -0x16d8($v0) +/* 319278 802BE528 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 31927C 802BE52C AFB00030 */ sw $s0, 0x30($sp) +/* 319280 802BE530 AFBF0038 */ sw $ra, 0x38($sp) +/* 319284 802BE534 AFB10034 */ sw $s1, 0x34($sp) +/* 319288 802BE538 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 31928C 802BE53C F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 319290 802BE540 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 319294 802BE544 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 319298 802BE548 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 31929C 802BE54C F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3192A0 802BE550 14400003 */ bnez $v0, .L802BE560 +/* 3192A4 802BE554 0080802D */ daddu $s0, $a0, $zero +/* 3192A8 802BE558 080AF9AF */ j .L802BE6BC +/* 3192AC 802BE55C 0000102D */ daddu $v0, $zero, $zero +.L802BE560: +/* 3192B0 802BE560 84A200A8 */ lh $v0, 0xa8($a1) +/* 3192B4 802BE564 3C013FE0 */ lui $at, 0x3fe0 +/* 3192B8 802BE568 44810800 */ mtc1 $at, $f1 +/* 3192BC 802BE56C 44800000 */ mtc1 $zero, $f0 +/* 3192C0 802BE570 44821000 */ mtc1 $v0, $f2 +/* 3192C4 802BE574 00000000 */ nop +/* 3192C8 802BE578 468010A1 */ cvt.d.w $f2, $f2 +/* 3192CC 802BE57C 46201082 */ mul.d $f2, $f2, $f0 +/* 3192D0 802BE580 00000000 */ nop +/* 3192D4 802BE584 84A200A6 */ lh $v0, 0xa6($a1) +/* 3192D8 802BE588 3C01802C */ lui $at, 0x802c +/* 3192DC 802BE58C D420E910 */ ldc1 $f0, -0x16f0($at) +/* 3192E0 802BE590 44823000 */ mtc1 $v0, $f6 +/* 3192E4 802BE594 00000000 */ nop +/* 3192E8 802BE598 468031A1 */ cvt.d.w $f6, $f6 +/* 3192EC 802BE59C 46203182 */ mul.d $f6, $f6, $f0 +/* 3192F0 802BE5A0 00000000 */ nop +/* 3192F4 802BE5A4 C4BA0038 */ lwc1 $f26, 0x38($a1) +/* 3192F8 802BE5A8 C61C0038 */ lwc1 $f28, 0x38($s0) +/* 3192FC 802BE5AC 461CD201 */ sub.s $f8, $f26, $f28 +/* 319300 802BE5B0 46084282 */ mul.s $f10, $f8, $f8 +/* 319304 802BE5B4 00000000 */ nop +/* 319308 802BE5B8 C4A4003C */ lwc1 $f4, 0x3c($a1) +/* 31930C 802BE5BC 462010A0 */ cvt.s.d $f2, $f2 +/* 319310 802BE5C0 46022100 */ add.s $f4, $f4, $f2 +/* 319314 802BE5C4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 319318 802BE5C8 46002101 */ sub.s $f4, $f4, $f0 +/* 31931C 802BE5CC 46042302 */ mul.s $f12, $f4, $f4 +/* 319320 802BE5D0 00000000 */ nop +/* 319324 802BE5D4 C4B60040 */ lwc1 $f22, 0x40($a1) +/* 319328 802BE5D8 C6180040 */ lwc1 $f24, 0x40($s0) +/* 31932C 802BE5DC 4618B001 */ sub.s $f0, $f22, $f24 +/* 319330 802BE5E0 46000082 */ mul.s $f2, $f0, $f0 +/* 319334 802BE5E4 00000000 */ nop +/* 319338 802BE5E8 3C01420C */ lui $at, 0x420c +/* 31933C 802BE5EC 4481F000 */ mtc1 $at, $f30 +/* 319340 802BE5F0 460C5280 */ add.s $f10, $f10, $f12 +/* 319344 802BE5F4 E7A80020 */ swc1 $f8, 0x20($sp) +/* 319348 802BE5F8 46203520 */ cvt.s.d $f20, $f6 +/* 31934C 802BE5FC 46025300 */ add.s $f12, $f10, $f2 +/* 319350 802BE600 E7A00028 */ swc1 $f0, 0x28($sp) +/* 319354 802BE604 46006084 */ sqrt.s $f2, $f12 +/* 319358 802BE608 46021032 */ c.eq.s $f2, $f2 +/* 31935C 802BE60C 00000000 */ nop +/* 319360 802BE610 45010004 */ bc1t .L802BE624 +/* 319364 802BE614 E7A40024 */ swc1 $f4, 0x24($sp) +/* 319368 802BE618 0C0187BC */ jal sqrtf +/* 31936C 802BE61C 00000000 */ nop +/* 319370 802BE620 46000086 */ mov.s $f2, $f0 +.L802BE624: +/* 319374 802BE624 461EA000 */ add.s $f0, $f20, $f30 +/* 319378 802BE628 4600103C */ c.lt.s $f2, $f0 +/* 31937C 802BE62C 00000000 */ nop +/* 319380 802BE630 45000002 */ bc1f .L802BE63C +/* 319384 802BE634 0000882D */ daddu $s1, $zero, $zero +/* 319388 802BE638 24110001 */ addiu $s1, $zero, 1 +.L802BE63C: +/* 31938C 802BE63C 4600D306 */ mov.s $f12, $f26 +/* 319390 802BE640 4406E000 */ mfc1 $a2, $f28 +/* 319394 802BE644 4407C000 */ mfc1 $a3, $f24 +/* 319398 802BE648 0C00A720 */ jal atan2 +/* 31939C 802BE64C 4600B386 */ mov.s $f14, $f22 +/* 3193A0 802BE650 4600D306 */ mov.s $f12, $f26 +/* 3193A4 802BE654 4600B386 */ mov.s $f14, $f22 +/* 3193A8 802BE658 4406E000 */ mfc1 $a2, $f28 +/* 3193AC 802BE65C 4407C000 */ mfc1 $a3, $f24 +/* 3193B0 802BE660 0C00A7B5 */ jal dist2D +/* 3193B4 802BE664 46000506 */ mov.s $f20, $f0 +/* 3193B8 802BE668 27A60024 */ addiu $a2, $sp, 0x24 +/* 3193BC 802BE66C 27A70028 */ addiu $a3, $sp, 0x28 +/* 3193C0 802BE670 0000202D */ daddu $a0, $zero, $zero +/* 3193C4 802BE674 C6020038 */ lwc1 $f2, 0x38($s0) +/* 3193C8 802BE678 C604003C */ lwc1 $f4, 0x3c($s0) +/* 3193CC 802BE67C C6060040 */ lwc1 $f6, 0x40($s0) +/* 3193D0 802BE680 3C014000 */ lui $at, 0x4000 +/* 3193D4 802BE684 44814000 */ mtc1 $at, $f8 +/* 3193D8 802BE688 27A50020 */ addiu $a1, $sp, 0x20 +/* 3193DC 802BE68C E7A20020 */ swc1 $f2, 0x20($sp) +/* 3193E0 802BE690 E7A40024 */ swc1 $f4, 0x24($sp) +/* 3193E4 802BE694 E7A60028 */ swc1 $f6, 0x28($sp) +/* 3193E8 802BE698 E7A00010 */ swc1 $f0, 0x10($sp) +/* 3193EC 802BE69C E7B40014 */ swc1 $f20, 0x14($sp) +/* 3193F0 802BE6A0 E7BE0018 */ swc1 $f30, 0x18($sp) +/* 3193F4 802BE6A4 0C0376B9 */ jal func_800DDAE4 +/* 3193F8 802BE6A8 E7A8001C */ swc1 $f8, 0x1c($sp) +/* 3193FC 802BE6AC 0040182D */ daddu $v1, $v0, $zero +/* 319400 802BE6B0 14600002 */ bnez $v1, .L802BE6BC +/* 319404 802BE6B4 0000102D */ daddu $v0, $zero, $zero +/* 319408 802BE6B8 0220102D */ daddu $v0, $s1, $zero +.L802BE6BC: +/* 31940C 802BE6BC 8FBF0038 */ lw $ra, 0x38($sp) +/* 319410 802BE6C0 8FB10034 */ lw $s1, 0x34($sp) +/* 319414 802BE6C4 8FB00030 */ lw $s0, 0x30($sp) +/* 319418 802BE6C8 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 31941C 802BE6CC D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 319420 802BE6D0 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 319424 802BE6D4 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 319428 802BE6D8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 31942C 802BE6DC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 319430 802BE6E0 03E00008 */ jr $ra +/* 319434 802BE6E4 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_317E50/func_802BE6E8.s b/asm/nonmatchings/code_317E50/func_802BE6E8.s new file mode 100644 index 0000000000..1e2d1ca280 --- /dev/null +++ b/asm/nonmatchings/code_317E50/func_802BE6E8.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE6E8 +/* 319438 802BE6E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 31943C 802BE6EC AFB00010 */ sw $s0, 0x10($sp) +/* 319440 802BE6F0 0080802D */ daddu $s0, $a0, $zero +/* 319444 802BE6F4 AFB10014 */ sw $s1, 0x14($sp) +/* 319448 802BE6F8 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 31944C 802BE6FC 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 319450 802BE700 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 319454 802BE704 2442EBB0 */ addiu $v0, $v0, %lo(D_8010EBB0) +/* 319458 802BE708 AFBF0020 */ sw $ra, 0x20($sp) +/* 31945C 802BE70C AFB3001C */ sw $s3, 0x1c($sp) +/* 319460 802BE710 AFB20018 */ sw $s2, 0x18($sp) +/* 319464 802BE714 80430000 */ lb $v1, ($v0) +/* 319468 802BE718 1060004F */ beqz $v1, .L802BE858 +/* 31946C 802BE71C 0040902D */ daddu $s2, $v0, $zero +/* 319470 802BE720 3C02802C */ lui $v0, 0x802c +/* 319474 802BE724 8C42E92C */ lw $v0, -0x16d4($v0) +/* 319478 802BE728 50400004 */ beql $v0, $zero, .L802BE73C +/* 31947C 802BE72C 0000202D */ daddu $a0, $zero, $zero +/* 319480 802BE730 0C038069 */ jal enable_player_input +/* 319484 802BE734 00000000 */ nop +/* 319488 802BE738 0000202D */ daddu $a0, $zero, $zero +.L802BE73C: +/* 31948C 802BE73C 8E220000 */ lw $v0, ($s1) +/* 319490 802BE740 2403FFFD */ addiu $v1, $zero, -3 +/* 319494 802BE744 3C01802C */ lui $at, 0x802c +/* 319498 802BE748 AC20E928 */ sw $zero, -0x16d8($at) +/* 31949C 802BE74C 00431024 */ and $v0, $v0, $v1 +/* 3194A0 802BE750 AE220000 */ sw $v0, ($s1) +/* 3194A4 802BE754 8E020000 */ lw $v0, ($s0) +/* 3194A8 802BE758 2403F7FF */ addiu $v1, $zero, -0x801 +/* 3194AC 802BE75C AE00001C */ sw $zero, 0x1c($s0) +/* 3194B0 802BE760 00431024 */ and $v0, $v0, $v1 +/* 3194B4 802BE764 0C039769 */ jal set_action_state +/* 3194B8 802BE768 AE020000 */ sw $v0, ($s0) +/* 3194BC 802BE76C 0C03BD17 */ jal clear_partner_move_history +/* 3194C0 802BE770 0200202D */ daddu $a0, $s0, $zero +/* 3194C4 802BE774 C6200028 */ lwc1 $f0, 0x28($s1) +/* 3194C8 802BE778 A2400000 */ sb $zero, ($s2) +/* 3194CC 802BE77C A2400003 */ sb $zero, 3($s2) +/* 3194D0 802BE780 3C02802C */ lui $v0, 0x802c +/* 3194D4 802BE784 8C42E920 */ lw $v0, -0x16e0($v0) +/* 3194D8 802BE788 E6000038 */ swc1 $f0, 0x38($s0) +/* 3194DC 802BE78C C620002C */ lwc1 $f0, 0x2c($s1) +/* 3194E0 802BE790 26120038 */ addiu $s2, $s0, 0x38 +/* 3194E4 802BE794 E600003C */ swc1 $f0, 0x3c($s0) +/* 3194E8 802BE798 C6200030 */ lwc1 $f0, 0x30($s1) +/* 3194EC 802BE79C 26130040 */ addiu $s3, $s0, 0x40 +/* 3194F0 802BE7A0 14400006 */ bnez $v0, .L802BE7BC +/* 3194F4 802BE7A4 E6000040 */ swc1 $f0, 0x40($s0) +/* 3194F8 802BE7A8 C6200080 */ lwc1 $f0, 0x80($s1) +/* 3194FC 802BE7AC 3C0142B4 */ lui $at, 0x42b4 +/* 319500 802BE7B0 44816000 */ mtc1 $at, $f12 +/* 319504 802BE7B4 080AF9F4 */ j .L802BE7D0 +/* 319508 802BE7B8 460C0300 */ add.s $f12, $f0, $f12 +.L802BE7BC: +/* 31950C 802BE7BC C6200080 */ lwc1 $f0, 0x80($s1) +/* 319510 802BE7C0 3C0142B4 */ lui $at, 0x42b4 +/* 319514 802BE7C4 44816000 */ mtc1 $at, $f12 +/* 319518 802BE7C8 00000000 */ nop +/* 31951C 802BE7CC 460C0301 */ sub.s $f12, $f0, $f12 +.L802BE7D0: +/* 319520 802BE7D0 0C00A6C9 */ jal clamp_angle +/* 319524 802BE7D4 00000000 */ nop +/* 319528 802BE7D8 862200B2 */ lh $v0, 0xb2($s1) +/* 31952C 802BE7DC 04420001 */ bltzl $v0, .L802BE7E4 +/* 319530 802BE7E0 24420003 */ addiu $v0, $v0, 3 +.L802BE7E4: +/* 319534 802BE7E4 0240202D */ daddu $a0, $s2, $zero +/* 319538 802BE7E8 00021083 */ sra $v0, $v0, 2 +/* 31953C 802BE7EC 44821000 */ mtc1 $v0, $f2 +/* 319540 802BE7F0 00000000 */ nop +/* 319544 802BE7F4 468010A0 */ cvt.s.w $f2, $f2 +/* 319548 802BE7F8 44070000 */ mfc1 $a3, $f0 +/* 31954C 802BE7FC 44061000 */ mfc1 $a2, $f2 +/* 319550 802BE800 0C00A7E7 */ jal add_vec2D_polar +/* 319554 802BE804 0260282D */ daddu $a1, $s3, $zero +/* 319558 802BE808 3C020003 */ lui $v0, 3 +/* 31955C 802BE80C 34420003 */ ori $v0, $v0, 3 +/* 319560 802BE810 AE00001C */ sw $zero, 0x1c($s0) +/* 319564 802BE814 C620002C */ lwc1 $f0, 0x2c($s1) +/* 319568 802BE818 0200202D */ daddu $a0, $s0, $zero +/* 31956C 802BE81C AE000044 */ sw $zero, 0x44($s0) +/* 319570 802BE820 AE00004C */ sw $zero, 0x4c($s0) +/* 319574 802BE824 AE020028 */ sw $v0, 0x28($s0) +/* 319578 802BE828 0C03BD17 */ jal clear_partner_move_history +/* 31957C 802BE82C E600003C */ swc1 $f0, 0x3c($s0) +/* 319580 802BE830 0C00EB6B */ jal disable_npc_blur +/* 319584 802BE834 0200202D */ daddu $a0, $s0, $zero +/* 319588 802BE838 3C03802C */ lui $v1, 0x802c +/* 31958C 802BE83C 2463E924 */ addiu $v1, $v1, -0x16dc +/* 319590 802BE840 8C620000 */ lw $v0, ($v1) +/* 319594 802BE844 10400004 */ beqz $v0, .L802BE858 +/* 319598 802BE848 00000000 */ nop +/* 31959C 802BE84C AC600000 */ sw $zero, ($v1) +/* 3195A0 802BE850 0C05271B */ jal stop_sound +/* 3195A4 802BE854 3C048000 */ lui $a0, 0x8000 +.L802BE858: +/* 3195A8 802BE858 8FBF0020 */ lw $ra, 0x20($sp) +/* 3195AC 802BE85C 8FB3001C */ lw $s3, 0x1c($sp) +/* 3195B0 802BE860 8FB20018 */ lw $s2, 0x18($sp) +/* 3195B4 802BE864 8FB10014 */ lw $s1, 0x14($sp) +/* 3195B8 802BE868 8FB00010 */ lw $s0, 0x10($sp) +/* 3195BC 802BE86C 03E00008 */ jr $ra +/* 3195C0 802BE870 27BD0028 */ addiu $sp, $sp, 0x28 +/* 3195C4 802BE874 00000000 */ nop +/* 3195C8 802BE878 00000000 */ nop +/* 3195CC 802BE87C 00000000 */ nop diff --git a/asm/nonmatchings/code_319670/func_802BD100_319670.s b/asm/nonmatchings/code_319670/func_802BD100_319670.s new file mode 100644 index 0000000000..6d09cb32e1 --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD100_319670.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_319670 +/* 319670 802BD100 24020025 */ addiu $v0, $zero, 0x25 +/* 319674 802BD104 A48200A8 */ sh $v0, 0xa8($a0) +/* 319678 802BD108 24020028 */ addiu $v0, $zero, 0x28 +/* 31967C 802BD10C A48200A6 */ sh $v0, 0xa6($a0) +/* 319680 802BD110 3C01802C */ lui $at, 0x802c +/* 319684 802BD114 AC20EBB0 */ sw $zero, -0x1450($at) +/* 319688 802BD118 3C01802C */ lui $at, 0x802c +/* 31968C 802BD11C AC20EBC0 */ sw $zero, -0x1440($at) +/* 319690 802BD120 3C01802C */ lui $at, 0x802c +/* 319694 802BD124 AC20EBB4 */ sw $zero, -0x144c($at) +/* 319698 802BD128 3C01802C */ lui $at, 0x802c +/* 31969C 802BD12C AC20EBB8 */ sw $zero, -0x1448($at) +/* 3196A0 802BD130 3C01802C */ lui $at, 0x802c +/* 3196A4 802BD134 AC20EBBC */ sw $zero, -0x1444($at) +/* 3196A8 802BD138 3C01802C */ lui $at, 0x802c +/* 3196AC 802BD13C AC20EBC4 */ sw $zero, -0x143c($at) +/* 3196B0 802BD140 03E00008 */ jr $ra +/* 3196B4 802BD144 00000000 */ nop diff --git a/asm/nonmatchings/code_319670/func_802BD148.s b/asm/nonmatchings/code_319670/func_802BD148.s new file mode 100644 index 0000000000..125acc9768 --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD148.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD148 +/* 3196B8 802BD148 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3196BC 802BD14C AFBF0014 */ sw $ra, 0x14($sp) +/* 3196C0 802BD150 AFB00010 */ sw $s0, 0x10($sp) +/* 3196C4 802BD154 10A00003 */ beqz $a1, .L802BD164 +/* 3196C8 802BD158 8C90014C */ lw $s0, 0x14c($a0) +/* 3196CC 802BD15C 0C03BB31 */ jal func_800EECC4 +/* 3196D0 802BD160 0200202D */ daddu $a0, $s0, $zero +.L802BD164: +/* 3196D4 802BD164 0C03BB3A */ jal func_800EECE8 +/* 3196D8 802BD168 0200202D */ daddu $a0, $s0, $zero +/* 3196DC 802BD16C 8FBF0014 */ lw $ra, 0x14($sp) +/* 3196E0 802BD170 8FB00010 */ lw $s0, 0x10($sp) +/* 3196E4 802BD174 0002102B */ sltu $v0, $zero, $v0 +/* 3196E8 802BD178 03E00008 */ jr $ra +/* 3196EC 802BD17C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_319670/func_802BD180.s b/asm/nonmatchings/code_319670/func_802BD180.s new file mode 100644 index 0000000000..0051f7ae7b --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD180.s @@ -0,0 +1,247 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD180 +/* 3196F0 802BD180 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 3196F4 802BD184 AFB00018 */ sw $s0, 0x18($sp) +/* 3196F8 802BD188 3C108011 */ lui $s0, %hi(gPlayerData) +/* 3196FC 802BD18C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 319700 802BD190 AFBF0028 */ sw $ra, 0x28($sp) +/* 319704 802BD194 AFB30024 */ sw $s3, 0x24($sp) +/* 319708 802BD198 AFB20020 */ sw $s2, 0x20($sp) +/* 31970C 802BD19C AFB1001C */ sw $s1, 0x1c($sp) +/* 319710 802BD1A0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 319714 802BD1A4 8C91014C */ lw $s1, 0x14c($a0) +/* 319718 802BD1A8 10A00009 */ beqz $a1, .L802BD1D0 +/* 31971C 802BD1AC 0220202D */ daddu $a0, $s1, $zero +/* 319720 802BD1B0 0C03B4C4 */ jal enable_partner_flying +/* 319724 802BD1B4 24050001 */ addiu $a1, $zero, 1 +/* 319728 802BD1B8 3C04802C */ lui $a0, 0x802c +/* 31972C 802BD1BC 8C84EAAC */ lw $a0, -0x1554($a0) +/* 319730 802BD1C0 0C00A580 */ jal mem_clear +/* 319734 802BD1C4 2405001C */ addiu $a1, $zero, 0x1c +/* 319738 802BD1C8 3C018011 */ lui $at, 0x8011 +/* 31973C 802BD1CC AC20C954 */ sw $zero, -0x36ac($at) +.L802BD1D0: +/* 319740 802BD1D0 3C138011 */ lui $s3, 0x8011 +/* 319744 802BD1D4 2673C954 */ addiu $s3, $s3, -0x36ac +/* 319748 802BD1D8 8E020304 */ lw $v0, 0x304($s0) +/* 31974C 802BD1DC 8E720000 */ lw $s2, ($s3) +/* 319750 802BD1E0 24420001 */ addiu $v0, $v0, 1 +/* 319754 802BD1E4 16400007 */ bnez $s2, .L802BD204 +/* 319758 802BD1E8 AE020304 */ sw $v0, 0x304($s0) +/* 31975C 802BD1EC 0C03B52E */ jal update_player_move_history +/* 319760 802BD1F0 0220202D */ daddu $a0, $s1, $zero +/* 319764 802BD1F4 0C03B574 */ jal func_800ED5D0 +/* 319768 802BD1F8 0220202D */ daddu $a0, $s1, $zero +/* 31976C 802BD1FC 080AF53D */ j .L802BD4F4 +/* 319770 802BD200 0000102D */ daddu $v0, $zero, $zero +.L802BD204: +/* 319774 802BD204 3C10802C */ lui $s0, 0x802c +/* 319778 802BD208 2610EAAC */ addiu $s0, $s0, -0x1554 +/* 31977C 802BD20C 8E040000 */ lw $a0, ($s0) +/* 319780 802BD210 8C830004 */ lw $v1, 4($a0) +/* 319784 802BD214 24050001 */ addiu $a1, $zero, 1 +/* 319788 802BD218 10650030 */ beq $v1, $a1, .L802BD2DC +/* 31978C 802BD21C 28620002 */ slti $v0, $v1, 2 +/* 319790 802BD220 10400005 */ beqz $v0, .L802BD238 +/* 319794 802BD224 24020002 */ addiu $v0, $zero, 2 +/* 319798 802BD228 10600009 */ beqz $v1, .L802BD250 +/* 31979C 802BD22C 0000102D */ daddu $v0, $zero, $zero +/* 3197A0 802BD230 080AF53D */ j .L802BD4F4 +/* 3197A4 802BD234 00000000 */ nop +.L802BD238: +/* 3197A8 802BD238 1062009A */ beq $v1, $v0, .L802BD4A4 +/* 3197AC 802BD23C 24020003 */ addiu $v0, $zero, 3 +/* 3197B0 802BD240 106200A0 */ beq $v1, $v0, .L802BD4C4 +/* 3197B4 802BD244 0000102D */ daddu $v0, $zero, $zero +/* 3197B8 802BD248 080AF53D */ j .L802BD4F4 +/* 3197BC 802BD24C 00000000 */ nop +.L802BD250: +/* 3197C0 802BD250 AC850004 */ sw $a1, 4($a0) +/* 3197C4 802BD254 8E220000 */ lw $v0, ($s1) +/* 3197C8 802BD258 AC820008 */ sw $v0, 8($a0) +/* 3197CC 802BD25C C62C0038 */ lwc1 $f12, 0x38($s1) +/* 3197D0 802BD260 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 3197D4 802BD264 8E460048 */ lw $a2, 0x48($s2) +/* 3197D8 802BD268 0C00A7B5 */ jal dist2D +/* 3197DC 802BD26C 8E470050 */ lw $a3, 0x50($s2) +/* 3197E0 802BD270 8E020000 */ lw $v0, ($s0) +/* 3197E4 802BD274 46000005 */ abs.s $f0, $f0 +/* 3197E8 802BD278 E440000C */ swc1 $f0, 0xc($v0) +/* 3197EC 802BD27C C64C0048 */ lwc1 $f12, 0x48($s2) +/* 3197F0 802BD280 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 3197F4 802BD284 8E260038 */ lw $a2, 0x38($s1) +/* 3197F8 802BD288 0C00A720 */ jal atan2 +/* 3197FC 802BD28C 8E270040 */ lw $a3, 0x40($s1) +/* 319800 802BD290 3C040004 */ lui $a0, 4 +/* 319804 802BD294 24020078 */ addiu $v0, $zero, 0x78 +/* 319808 802BD298 8E030000 */ lw $v1, ($s0) +/* 31980C 802BD29C 3C0140C0 */ lui $at, 0x40c0 +/* 319810 802BD2A0 44811000 */ mtc1 $at, $f2 +/* 319814 802BD2A4 3C014248 */ lui $at, 0x4248 +/* 319818 802BD2A8 44812000 */ mtc1 $at, $f4 +/* 31981C 802BD2AC 34840148 */ ori $a0, $a0, 0x148 +/* 319820 802BD2B0 E4600010 */ swc1 $f0, 0x10($v1) +/* 319824 802BD2B4 E4620014 */ swc1 $f2, 0x14($v1) +/* 319828 802BD2B8 E4640018 */ swc1 $f4, 0x18($v1) +/* 31982C 802BD2BC AC620000 */ sw $v0, ($v1) +/* 319830 802BD2C0 8E220000 */ lw $v0, ($s1) +/* 319834 802BD2C4 2403FDFF */ addiu $v1, $zero, -0x201 +/* 319838 802BD2C8 00441025 */ or $v0, $v0, $a0 +/* 31983C 802BD2CC 00431024 */ and $v0, $v0, $v1 +/* 319840 802BD2D0 AE220000 */ sw $v0, ($s1) +/* 319844 802BD2D4 3C10802C */ lui $s0, 0x802c +/* 319848 802BD2D8 2610EAAC */ addiu $s0, $s0, -0x1554 +.L802BD2DC: +/* 31984C 802BD2DC 8E020000 */ lw $v0, ($s0) +/* 319850 802BD2E0 3C0140C9 */ lui $at, 0x40c9 +/* 319854 802BD2E4 34210FD0 */ ori $at, $at, 0xfd0 +/* 319858 802BD2E8 44810000 */ mtc1 $at, $f0 +/* 31985C 802BD2EC C44C0010 */ lwc1 $f12, 0x10($v0) +/* 319860 802BD2F0 46006302 */ mul.s $f12, $f12, $f0 +/* 319864 802BD2F4 00000000 */ nop +/* 319868 802BD2F8 27A50010 */ addiu $a1, $sp, 0x10 +/* 31986C 802BD2FC 3C0143B4 */ lui $at, 0x43b4 +/* 319870 802BD300 44810000 */ mtc1 $at, $f0 +/* 319874 802BD304 27A60014 */ addiu $a2, $sp, 0x14 +/* 319878 802BD308 0C00A82D */ jal sin_cos_rad +/* 31987C 802BD30C 46006303 */ div.s $f12, $f12, $f0 +/* 319880 802BD310 8E020000 */ lw $v0, ($s0) +/* 319884 802BD314 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 319888 802BD318 C440000C */ lwc1 $f0, 0xc($v0) +/* 31988C 802BD31C 46001082 */ mul.s $f2, $f2, $f0 +/* 319890 802BD320 00000000 */ nop +/* 319894 802BD324 C6400048 */ lwc1 $f0, 0x48($s2) +/* 319898 802BD328 46020000 */ add.s $f0, $f0, $f2 +/* 31989C 802BD32C E6200038 */ swc1 $f0, 0x38($s1) +/* 3198A0 802BD330 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 3198A4 802BD334 C440000C */ lwc1 $f0, 0xc($v0) +/* 3198A8 802BD338 46001082 */ mul.s $f2, $f2, $f0 +/* 3198AC 802BD33C 00000000 */ nop +/* 3198B0 802BD340 C6400050 */ lwc1 $f0, 0x50($s2) +/* 3198B4 802BD344 46020001 */ sub.s $f0, $f0, $f2 +/* 3198B8 802BD348 E6200040 */ swc1 $f0, 0x40($s1) +/* 3198BC 802BD34C C4400010 */ lwc1 $f0, 0x10($v0) +/* 3198C0 802BD350 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 3198C4 802BD354 0C00A6C9 */ jal clamp_angle +/* 3198C8 802BD358 460C0301 */ sub.s $f12, $f0, $f12 +/* 3198CC 802BD35C 8E100000 */ lw $s0, ($s0) +/* 3198D0 802BD360 3C0141A0 */ lui $at, 0x41a0 +/* 3198D4 802BD364 44811000 */ mtc1 $at, $f2 +/* 3198D8 802BD368 C604000C */ lwc1 $f4, 0xc($s0) +/* 3198DC 802BD36C 4604103C */ c.lt.s $f2, $f4 +/* 3198E0 802BD370 00000000 */ nop +/* 3198E4 802BD374 45000005 */ bc1f .L802BD38C +/* 3198E8 802BD378 E6000010 */ swc1 $f0, 0x10($s0) +/* 3198EC 802BD37C 3C013F80 */ lui $at, 0x3f80 +/* 3198F0 802BD380 44810000 */ mtc1 $at, $f0 +/* 3198F4 802BD384 080AF4EE */ j .L802BD3B8 +/* 3198F8 802BD388 46002001 */ sub.s $f0, $f4, $f0 +.L802BD38C: +/* 3198FC 802BD38C 3C014198 */ lui $at, 0x4198 +/* 319900 802BD390 44810000 */ mtc1 $at, $f0 +/* 319904 802BD394 00000000 */ nop +/* 319908 802BD398 4600203C */ c.lt.s $f4, $f0 +/* 31990C 802BD39C 00000000 */ nop +/* 319910 802BD3A0 45000006 */ bc1f .L802BD3BC +/* 319914 802BD3A4 00000000 */ nop +/* 319918 802BD3A8 3C013F80 */ lui $at, 0x3f80 +/* 31991C 802BD3AC 44810000 */ mtc1 $at, $f0 +/* 319920 802BD3B0 00000000 */ nop +/* 319924 802BD3B4 46002000 */ add.s $f0, $f4, $f0 +.L802BD3B8: +/* 319928 802BD3B8 E600000C */ swc1 $f0, 0xc($s0) +.L802BD3BC: +/* 31992C 802BD3BC 3C10802C */ lui $s0, 0x802c +/* 319930 802BD3C0 2610EAAC */ addiu $s0, $s0, -0x1554 +/* 319934 802BD3C4 8E020000 */ lw $v0, ($s0) +/* 319938 802BD3C8 3C0140C9 */ lui $at, 0x40c9 +/* 31993C 802BD3CC 34210FD0 */ ori $at, $at, 0xfd0 +/* 319940 802BD3D0 44810000 */ mtc1 $at, $f0 +/* 319944 802BD3D4 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 319948 802BD3D8 46006302 */ mul.s $f12, $f12, $f0 +/* 31994C 802BD3DC 00000000 */ nop +/* 319950 802BD3E0 3C0143B4 */ lui $at, 0x43b4 +/* 319954 802BD3E4 4481A000 */ mtc1 $at, $f20 +/* 319958 802BD3E8 0C00A85B */ jal sin_rad +/* 31995C 802BD3EC 46146303 */ div.s $f12, $f12, $f20 +/* 319960 802BD3F0 8E020000 */ lw $v0, ($s0) +/* 319964 802BD3F4 3C014040 */ lui $at, 0x4040 +/* 319968 802BD3F8 44812000 */ mtc1 $at, $f4 +/* 31996C 802BD3FC C4420018 */ lwc1 $f2, 0x18($v0) +/* 319970 802BD400 46041080 */ add.s $f2, $f2, $f4 +/* 319974 802BD404 3C014316 */ lui $at, 0x4316 +/* 319978 802BD408 44813000 */ mtc1 $at, $f6 +/* 31997C 802BD40C 00000000 */ nop +/* 319980 802BD410 4602303C */ c.lt.s $f6, $f2 +/* 319984 802BD414 E4420018 */ swc1 $f2, 0x18($v0) +/* 319988 802BD418 46040082 */ mul.s $f2, $f0, $f4 +/* 31998C 802BD41C 00000000 */ nop +/* 319990 802BD420 45030001 */ bc1tl .L802BD428 +/* 319994 802BD424 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD428: +/* 319998 802BD428 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31999C 802BD42C 46020000 */ add.s $f0, $f0, $f2 +/* 3199A0 802BD430 8E020000 */ lw $v0, ($s0) +/* 3199A4 802BD434 E620003C */ swc1 $f0, 0x3c($s1) +/* 3199A8 802BD438 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 3199AC 802BD43C 0C00A6C9 */ jal clamp_angle +/* 3199B0 802BD440 460CA301 */ sub.s $f12, $f20, $f12 +/* 3199B4 802BD444 8E020000 */ lw $v0, ($s0) +/* 3199B8 802BD448 E6200034 */ swc1 $f0, 0x34($s1) +/* 3199BC 802BD44C C4400014 */ lwc1 $f0, 0x14($v0) +/* 3199C0 802BD450 3C01802C */ lui $at, 0x802c +/* 3199C4 802BD454 D422EB10 */ ldc1 $f2, -0x14f0($at) +/* 3199C8 802BD458 46000021 */ cvt.d.s $f0, $f0 +/* 3199CC 802BD45C 46220000 */ add.d $f0, $f0, $f2 +/* 3199D0 802BD460 3C014220 */ lui $at, 0x4220 +/* 3199D4 802BD464 44811000 */ mtc1 $at, $f2 +/* 3199D8 802BD468 46200020 */ cvt.s.d $f0, $f0 +/* 3199DC 802BD46C 4600103C */ c.lt.s $f2, $f0 +/* 3199E0 802BD470 00000000 */ nop +/* 3199E4 802BD474 45000002 */ bc1f .L802BD480 +/* 3199E8 802BD478 E4400014 */ swc1 $f0, 0x14($v0) +/* 3199EC 802BD47C E4420014 */ swc1 $f2, 0x14($v0) +.L802BD480: +/* 3199F0 802BD480 8E030000 */ lw $v1, ($s0) +/* 3199F4 802BD484 8C620000 */ lw $v0, ($v1) +/* 3199F8 802BD488 2442FFFF */ addiu $v0, $v0, -1 +/* 3199FC 802BD48C 14400018 */ bnez $v0, .L802BD4F0 +/* 319A00 802BD490 AC620000 */ sw $v0, ($v1) +/* 319A04 802BD494 8C620004 */ lw $v0, 4($v1) +/* 319A08 802BD498 24420001 */ addiu $v0, $v0, 1 +/* 319A0C 802BD49C 080AF53C */ j .L802BD4F0 +/* 319A10 802BD4A0 AC620004 */ sw $v0, 4($v1) +.L802BD4A4: +/* 319A14 802BD4A4 8C820008 */ lw $v0, 8($a0) +/* 319A18 802BD4A8 AE220000 */ sw $v0, ($s1) +/* 319A1C 802BD4AC 8C820004 */ lw $v0, 4($a0) +/* 319A20 802BD4B0 2403001E */ addiu $v1, $zero, 0x1e +/* 319A24 802BD4B4 AC830000 */ sw $v1, ($a0) +/* 319A28 802BD4B8 24420001 */ addiu $v0, $v0, 1 +/* 319A2C 802BD4BC 080AF53C */ j .L802BD4F0 +/* 319A30 802BD4C0 AC820004 */ sw $v0, 4($a0) +.L802BD4C4: +/* 319A34 802BD4C4 0C03B52E */ jal update_player_move_history +/* 319A38 802BD4C8 0220202D */ daddu $a0, $s1, $zero +/* 319A3C 802BD4CC 0C03B574 */ jal func_800ED5D0 +/* 319A40 802BD4D0 0220202D */ daddu $a0, $s1, $zero +/* 319A44 802BD4D4 8E030000 */ lw $v1, ($s0) +/* 319A48 802BD4D8 8C620000 */ lw $v0, ($v1) +/* 319A4C 802BD4DC 2442FFFF */ addiu $v0, $v0, -1 +/* 319A50 802BD4E0 14400003 */ bnez $v0, .L802BD4F0 +/* 319A54 802BD4E4 AC620000 */ sw $v0, ($v1) +/* 319A58 802BD4E8 AC600004 */ sw $zero, 4($v1) +/* 319A5C 802BD4EC AE600000 */ sw $zero, ($s3) +.L802BD4F0: +/* 319A60 802BD4F0 0000102D */ daddu $v0, $zero, $zero +.L802BD4F4: +/* 319A64 802BD4F4 8FBF0028 */ lw $ra, 0x28($sp) +/* 319A68 802BD4F8 8FB30024 */ lw $s3, 0x24($sp) +/* 319A6C 802BD4FC 8FB20020 */ lw $s2, 0x20($sp) +/* 319A70 802BD500 8FB1001C */ lw $s1, 0x1c($sp) +/* 319A74 802BD504 8FB00018 */ lw $s0, 0x18($sp) +/* 319A78 802BD508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 319A7C 802BD50C 03E00008 */ jr $ra +/* 319A80 802BD510 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_319670/func_802BD514.s b/asm/nonmatchings/code_319670/func_802BD514.s new file mode 100644 index 0000000000..4043fc038a --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD514.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD514 +/* 319A84 802BD514 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 319A88 802BD518 3C058011 */ lui $a1, 0x8011 +/* 319A8C 802BD51C 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 319A90 802BD520 AFBF0010 */ sw $ra, 0x10($sp) +/* 319A94 802BD524 8CA20000 */ lw $v0, ($a1) +/* 319A98 802BD528 10400008 */ beqz $v0, .L802BD54C +/* 319A9C 802BD52C 00000000 */ nop +/* 319AA0 802BD530 3C03802C */ lui $v1, 0x802c +/* 319AA4 802BD534 8C63EAAC */ lw $v1, -0x1554($v1) +/* 319AA8 802BD538 8C620008 */ lw $v0, 8($v1) +/* 319AAC 802BD53C ACA00000 */ sw $zero, ($a1) +/* 319AB0 802BD540 AC820000 */ sw $v0, ($a0) +/* 319AB4 802BD544 0C03BD17 */ jal clear_partner_move_history +/* 319AB8 802BD548 AC600004 */ sw $zero, 4($v1) +.L802BD54C: +/* 319ABC 802BD54C 8FBF0010 */ lw $ra, 0x10($sp) +/* 319AC0 802BD550 03E00008 */ jr $ra +/* 319AC4 802BD554 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_319670/func_802BD558.s b/asm/nonmatchings/code_319670/func_802BD558.s new file mode 100644 index 0000000000..8c4b69b64a --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD558.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD558 +/* 319AC8 802BD558 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 319ACC 802BD55C AFB00048 */ sw $s0, 0x48($sp) +/* 319AD0 802BD560 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 319AD4 802BD564 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 319AD8 802BD568 AFBF0050 */ sw $ra, 0x50($sp) +/* 319ADC 802BD56C AFB1004C */ sw $s1, 0x4c($sp) +/* 319AE0 802BD570 860200B0 */ lh $v0, 0xb0($s0) +/* 319AE4 802BD574 3C013FE0 */ lui $at, 0x3fe0 +/* 319AE8 802BD578 44810800 */ mtc1 $at, $f1 +/* 319AEC 802BD57C 44800000 */ mtc1 $zero, $f0 +/* 319AF0 802BD580 44823000 */ mtc1 $v0, $f6 +/* 319AF4 802BD584 00000000 */ nop +/* 319AF8 802BD588 468031A0 */ cvt.s.w $f6, $f6 +/* 319AFC 802BD58C 460030A1 */ cvt.d.s $f2, $f6 +/* 319B00 802BD590 46201082 */ mul.d $f2, $f2, $f0 +/* 319B04 802BD594 00000000 */ nop +/* 319B08 802BD598 0200202D */ daddu $a0, $s0, $zero +/* 319B0C 802BD59C 27A50028 */ addiu $a1, $sp, 0x28 +/* 319B10 802BD5A0 27A6002C */ addiu $a2, $sp, 0x2c +/* 319B14 802BD5A4 27A70030 */ addiu $a3, $sp, 0x30 +/* 319B18 802BD5A8 3C013F00 */ lui $at, 0x3f00 +/* 319B1C 802BD5AC 44810000 */ mtc1 $at, $f0 +/* 319B20 802BD5B0 C6040028 */ lwc1 $f4, 0x28($s0) +/* 319B24 802BD5B4 46003182 */ mul.s $f6, $f6, $f0 +/* 319B28 802BD5B8 00000000 */ nop +/* 319B2C 802BD5BC C600002C */ lwc1 $f0, 0x2c($s0) +/* 319B30 802BD5C0 27A20034 */ addiu $v0, $sp, 0x34 +/* 319B34 802BD5C4 E7A40028 */ swc1 $f4, 0x28($sp) +/* 319B38 802BD5C8 C6040030 */ lwc1 $f4, 0x30($s0) +/* 319B3C 802BD5CC 46000021 */ cvt.d.s $f0, $f0 +/* 319B40 802BD5D0 46220000 */ add.d $f0, $f0, $f2 +/* 319B44 802BD5D4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 319B48 802BD5D8 E7A60034 */ swc1 $f6, 0x34($sp) +/* 319B4C 802BD5DC 46200020 */ cvt.s.d $f0, $f0 +/* 319B50 802BD5E0 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 319B54 802BD5E4 AFA20010 */ sw $v0, 0x10($sp) +/* 319B58 802BD5E8 27A20038 */ addiu $v0, $sp, 0x38 +/* 319B5C 802BD5EC AFA20014 */ sw $v0, 0x14($sp) +/* 319B60 802BD5F0 27A2003C */ addiu $v0, $sp, 0x3c +/* 319B64 802BD5F4 AFA20018 */ sw $v0, 0x18($sp) +/* 319B68 802BD5F8 27A20040 */ addiu $v0, $sp, 0x40 +/* 319B6C 802BD5FC AFA2001C */ sw $v0, 0x1c($sp) +/* 319B70 802BD600 27A20044 */ addiu $v0, $sp, 0x44 +/* 319B74 802BD604 0C03791B */ jal func_800DE46C +/* 319B78 802BD608 AFA20020 */ sw $v0, 0x20($sp) +/* 319B7C 802BD60C 0040882D */ daddu $s1, $v0, $zero +/* 319B80 802BD610 0C016F6A */ jal get_collider_type_by_id +/* 319B84 802BD614 0220202D */ daddu $a0, $s1, $zero +/* 319B88 802BD618 304200FF */ andi $v0, $v0, 0xff +/* 319B8C 802BD61C 2442FFFE */ addiu $v0, $v0, -2 +/* 319B90 802BD620 2C420002 */ sltiu $v0, $v0, 2 +/* 319B94 802BD624 10400008 */ beqz $v0, .L802BD648 +/* 319B98 802BD628 24020002 */ addiu $v0, $zero, 2 +/* 319B9C 802BD62C A20200BF */ sb $v0, 0xbf($s0) +/* 319BA0 802BD630 8E020000 */ lw $v0, ($s0) +/* 319BA4 802BD634 24030015 */ addiu $v1, $zero, 0x15 +/* 319BA8 802BD638 3C01802C */ lui $at, 0x802c +/* 319BAC 802BD63C AC23EBC0 */ sw $v1, -0x1440($at) +/* 319BB0 802BD640 34420800 */ ori $v0, $v0, 0x800 +/* 319BB4 802BD644 AE020000 */ sw $v0, ($s0) +.L802BD648: +/* 319BB8 802BD648 0220102D */ daddu $v0, $s1, $zero +/* 319BBC 802BD64C 8FBF0050 */ lw $ra, 0x50($sp) +/* 319BC0 802BD650 8FB1004C */ lw $s1, 0x4c($sp) +/* 319BC4 802BD654 8FB00048 */ lw $s0, 0x48($sp) +/* 319BC8 802BD658 03E00008 */ jr $ra +/* 319BCC 802BD65C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_319670/func_802BD660.s b/asm/nonmatchings/code_319670/func_802BD660.s new file mode 100644 index 0000000000..a6809fd67e --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BD660.s @@ -0,0 +1,1231 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD660 +/* 319BD0 802BD660 3C02800B */ lui $v0, 0x800b +/* 319BD4 802BD664 80420F18 */ lb $v0, 0xf18($v0) +/* 319BD8 802BD668 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 319BDC 802BD66C AFB20040 */ sw $s2, 0x40($sp) +/* 319BE0 802BD670 0080902D */ daddu $s2, $a0, $zero +/* 319BE4 802BD674 AFB1003C */ sw $s1, 0x3c($sp) +/* 319BE8 802BD678 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 319BEC 802BD67C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 319BF0 802BD680 AFB70054 */ sw $s7, 0x54($sp) +/* 319BF4 802BD684 3C178011 */ lui $s7, %hi(D_8010EBB0) +/* 319BF8 802BD688 26F7EBB0 */ addiu $s7, $s7, %lo(D_8010EBB0) +/* 319BFC 802BD68C AFBF005C */ sw $ra, 0x5c($sp) +/* 319C00 802BD690 AFBE0058 */ sw $fp, 0x58($sp) +/* 319C04 802BD694 AFB60050 */ sw $s6, 0x50($sp) +/* 319C08 802BD698 AFB5004C */ sw $s5, 0x4c($sp) +/* 319C0C 802BD69C AFB40048 */ sw $s4, 0x48($sp) +/* 319C10 802BD6A0 AFB30044 */ sw $s3, 0x44($sp) +/* 319C14 802BD6A4 AFB00038 */ sw $s0, 0x38($sp) +/* 319C18 802BD6A8 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 319C1C 802BD6AC F7B80070 */ sdc1 $f24, 0x70($sp) +/* 319C20 802BD6B0 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 319C24 802BD6B4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 319C28 802BD6B8 8E50014C */ lw $s0, 0x14c($s2) +/* 319C2C 802BD6BC 14400475 */ bnez $v0, .L802BE894 +/* 319C30 802BD6C0 0000102D */ daddu $v0, $zero, $zero +/* 319C34 802BD6C4 10A0002E */ beqz $a1, .L802BD780 +/* 319C38 802BD6C8 00000000 */ nop +/* 319C3C 802BD6CC 0C0AF545 */ jal func_802BD514 +/* 319C40 802BD6D0 0200202D */ daddu $a0, $s0, $zero +/* 319C44 802BD6D4 8E220004 */ lw $v0, 4($s1) +/* 319C48 802BD6D8 3C030010 */ lui $v1, 0x10 +/* 319C4C 802BD6DC 00431024 */ and $v0, $v0, $v1 +/* 319C50 802BD6E0 1440046C */ bnez $v0, .L802BE894 +/* 319C54 802BD6E4 24020002 */ addiu $v0, $zero, 2 +/* 319C58 802BD6E8 82E20001 */ lb $v0, 1($s7) +/* 319C5C 802BD6EC 1440000B */ bnez $v0, .L802BD71C +/* 319C60 802BD6F0 24040021 */ addiu $a0, $zero, 0x21 +/* 319C64 802BD6F4 0C03A94B */ jal func_800EA52C +/* 319C68 802BD6F8 24040004 */ addiu $a0, $zero, 4 +/* 319C6C 802BD6FC 14400003 */ bnez $v0, .L802BD70C +/* 319C70 802BD700 24020028 */ addiu $v0, $zero, 0x28 +.L802BD704: +/* 319C74 802BD704 080AFA25 */ j .L802BE894 +/* 319C78 802BD708 24020002 */ addiu $v0, $zero, 2 +.L802BD70C: +/* 319C7C 802BD70C 3C01802C */ lui $at, 0x802c +/* 319C80 802BD710 AC22EBC0 */ sw $v0, -0x1440($at) +/* 319C84 802BD714 080AF5DB */ j .L802BD76C +/* 319C88 802BD718 00000000 */ nop +.L802BD71C: +/* 319C8C 802BD71C 0C039769 */ jal set_action_state +/* 319C90 802BD720 A2E00001 */ sb $zero, 1($s7) +/* 319C94 802BD724 3C050004 */ lui $a1, 4 +/* 319C98 802BD728 34A50009 */ ori $a1, $a1, 9 +/* 319C9C 802BD72C 8E020000 */ lw $v0, ($s0) +/* 319CA0 802BD730 2403F5FF */ addiu $v1, $zero, -0xa01 +/* 319CA4 802BD734 00431024 */ and $v0, $v0, $v1 +/* 319CA8 802BD738 3C03800B */ lui $v1, %hi(gCameras) +/* 319CAC 802BD73C 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 319CB0 802BD740 AE020000 */ sw $v0, ($s0) +/* 319CB4 802BD744 94620002 */ lhu $v0, 2($v1) +/* 319CB8 802BD748 24040001 */ addiu $a0, $zero, 1 +/* 319CBC 802BD74C 3C01802C */ lui $at, 0x802c +/* 319CC0 802BD750 AC24EBB0 */ sw $a0, -0x1450($at) +/* 319CC4 802BD754 00441025 */ or $v0, $v0, $a0 +/* 319CC8 802BD758 A4620002 */ sh $v0, 2($v1) +/* 319CCC 802BD75C 24020004 */ addiu $v0, $zero, 4 +/* 319CD0 802BD760 AE050028 */ sw $a1, 0x28($s0) +/* 319CD4 802BD764 A2E20003 */ sb $v0, 3($s7) +/* 319CD8 802BD768 A2E40000 */ sb $a0, ($s7) +.L802BD76C: +/* 319CDC 802BD76C 8E020000 */ lw $v0, ($s0) +/* 319CE0 802BD770 2403BFFF */ addiu $v1, $zero, -0x4001 +/* 319CE4 802BD774 00431024 */ and $v0, $v0, $v1 +/* 319CE8 802BD778 34422000 */ ori $v0, $v0, 0x2000 +/* 319CEC 802BD77C AE020000 */ sw $v0, ($s0) +.L802BD780: +/* 319CF0 802BD780 3C04802C */ lui $a0, 0x802c +/* 319CF4 802BD784 2484EBC0 */ addiu $a0, $a0, -0x1440 +/* 319CF8 802BD788 8C830000 */ lw $v1, ($a0) +/* 319CFC 802BD78C 24020028 */ addiu $v0, $zero, 0x28 +/* 319D00 802BD790 10620005 */ beq $v1, $v0, .L802BD7A8 +/* 319D04 802BD794 24020029 */ addiu $v0, $zero, 0x29 +/* 319D08 802BD798 1062000D */ beq $v1, $v0, .L802BD7D0 +/* 319D0C 802BD79C 00000000 */ nop +/* 319D10 802BD7A0 080AF607 */ j .L802BD81C +/* 319D14 802BD7A4 00000000 */ nop +.L802BD7A8: +/* 319D18 802BD7A8 82220015 */ lb $v0, 0x15($s1) +/* 319D1C 802BD7AC 14400439 */ bnez $v0, .L802BE894 +/* 319D20 802BD7B0 24020002 */ addiu $v0, $zero, 2 +/* 319D24 802BD7B4 24020003 */ addiu $v0, $zero, 3 +/* 319D28 802BD7B8 3C01802C */ lui $at, 0x802c +/* 319D2C 802BD7BC AC22EBC4 */ sw $v0, -0x143c($at) +/* 319D30 802BD7C0 82230015 */ lb $v1, 0x15($s1) +/* 319D34 802BD7C4 24020029 */ addiu $v0, $zero, 0x29 +/* 319D38 802BD7C8 AC820000 */ sw $v0, ($a0) +/* 319D3C 802BD7CC AE430078 */ sw $v1, 0x78($s2) +.L802BD7D0: +/* 319D40 802BD7D0 3C03802C */ lui $v1, 0x802c +/* 319D44 802BD7D4 2463EBC4 */ addiu $v1, $v1, -0x143c +/* 319D48 802BD7D8 8C620000 */ lw $v0, ($v1) +/* 319D4C 802BD7DC 1440000E */ bnez $v0, .L802BD818 +/* 319D50 802BD7E0 2442FFFF */ addiu $v0, $v0, -1 +/* 319D54 802BD7E4 82230015 */ lb $v1, 0x15($s1) +/* 319D58 802BD7E8 8E420078 */ lw $v0, 0x78($s2) +/* 319D5C 802BD7EC 0043102A */ slt $v0, $v0, $v1 +/* 319D60 802BD7F0 14400428 */ bnez $v0, .L802BE894 +/* 319D64 802BD7F4 24020002 */ addiu $v0, $zero, 2 +/* 319D68 802BD7F8 0C03A94B */ jal func_800EA52C +/* 319D6C 802BD7FC 24040004 */ addiu $a0, $zero, 4 +/* 319D70 802BD800 1040FFC0 */ beqz $v0, .L802BD704 +/* 319D74 802BD804 2402001E */ addiu $v0, $zero, 0x1e +/* 319D78 802BD808 3C01802C */ lui $at, 0x802c +/* 319D7C 802BD80C AC22EBC0 */ sw $v0, -0x1440($at) +/* 319D80 802BD810 080AF607 */ j .L802BD81C +/* 319D84 802BD814 00000000 */ nop +.L802BD818: +/* 319D88 802BD818 AC620000 */ sw $v0, ($v1) +.L802BD81C: +/* 319D8C 802BD81C 3C02802C */ lui $v0, 0x802c +/* 319D90 802BD820 8C42EBC0 */ lw $v0, -0x1440($v0) +/* 319D94 802BD824 2443FFFF */ addiu $v1, $v0, -1 +/* 319D98 802BD828 2C62001F */ sltiu $v0, $v1, 0x1f +/* 319D9C 802BD82C 104003D7 */ beqz $v0, .L802BE78C +/* 319DA0 802BD830 00031080 */ sll $v0, $v1, 2 +/* 319DA4 802BD834 3C01802C */ lui $at, 0x802c +/* 319DA8 802BD838 00220821 */ addu $at, $at, $v0 +/* 319DAC 802BD83C 8C22EB18 */ lw $v0, -0x14e8($at) +/* 319DB0 802BD840 00400008 */ jr $v0 +/* 319DB4 802BD844 00000000 */ nop +/* 319DB8 802BD848 0C039769 */ jal set_action_state +/* 319DBC 802BD84C 24040021 */ addiu $a0, $zero, 0x21 +/* 319DC0 802BD850 0C03805E */ jal disable_player_input +/* 319DC4 802BD854 00000000 */ nop +/* 319DC8 802BD858 0C038045 */ jal disable_player_static_collisions +/* 319DCC 802BD85C 00000000 */ nop +/* 319DD0 802BD860 82220015 */ lb $v0, 0x15($s1) +/* 319DD4 802BD864 3C03800B */ lui $v1, %hi(gCameras) +/* 319DD8 802BD868 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 319DDC 802BD86C AE420078 */ sw $v0, 0x78($s2) +/* 319DE0 802BD870 94620002 */ lhu $v0, 2($v1) +/* 319DE4 802BD874 24040001 */ addiu $a0, $zero, 1 +/* 319DE8 802BD878 3C01802C */ lui $at, 0x802c +/* 319DEC 802BD87C AC24EBB4 */ sw $a0, -0x144c($at) +/* 319DF0 802BD880 3C01802C */ lui $at, 0x802c +/* 319DF4 802BD884 AC24EBB8 */ sw $a0, -0x1448($at) +/* 319DF8 802BD888 3C01802C */ lui $at, 0x802c +/* 319DFC 802BD88C AC24EBB0 */ sw $a0, -0x1450($at) +/* 319E00 802BD890 00441025 */ or $v0, $v0, $a0 +/* 319E04 802BD894 A4620002 */ sh $v0, 2($v1) +/* 319E08 802BD898 8E020000 */ lw $v0, ($s0) +/* 319E0C 802BD89C 2403F5FF */ addiu $v1, $zero, -0xa01 +/* 319E10 802BD8A0 00431024 */ and $v0, $v0, $v1 +/* 319E14 802BD8A4 34420048 */ ori $v0, $v0, 0x48 +/* 319E18 802BD8A8 AE020000 */ sw $v0, ($s0) +/* 319E1C 802BD8AC 24020004 */ addiu $v0, $zero, 4 +/* 319E20 802BD8B0 A2E20003 */ sb $v0, 3($s7) +/* 319E24 802BD8B4 0C03BD38 */ jal func_800EF4E0 +/* 319E28 802BD8B8 A2E40000 */ sb $a0, ($s7) +/* 319E2C 802BD8BC 3C01802C */ lui $at, 0x802c +/* 319E30 802BD8C0 AC22EBBC */ sw $v0, -0x1444($at) +/* 319E34 802BD8C4 0C00EB49 */ jal enable_npc_blur +/* 319E38 802BD8C8 0200202D */ daddu $a0, $s0, $zero +/* 319E3C 802BD8CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 319E40 802BD8D0 8E260028 */ lw $a2, 0x28($s1) +/* 319E44 802BD8D4 8E270030 */ lw $a3, 0x30($s1) +/* 319E48 802BD8D8 0C00A720 */ jal atan2 +/* 319E4C 802BD8DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 319E50 802BD8E0 3C04802C */ lui $a0, 0x802c +/* 319E54 802BD8E4 2484EBC0 */ addiu $a0, $a0, -0x1440 +/* 319E58 802BD8E8 E600000C */ swc1 $f0, 0xc($s0) +/* 319E5C 802BD8EC 8C820000 */ lw $v0, ($a0) +/* 319E60 802BD8F0 24030004 */ addiu $v1, $zero, 4 +/* 319E64 802BD8F4 A603008E */ sh $v1, 0x8e($s0) +/* 319E68 802BD8F8 24420001 */ addiu $v0, $v0, 1 +/* 319E6C 802BD8FC 080AF9E3 */ j .L802BE78C +/* 319E70 802BD900 AC820000 */ sw $v0, ($a0) +/* 319E74 802BD904 822300B4 */ lb $v1, 0xb4($s1) +/* 319E78 802BD908 24020015 */ addiu $v0, $zero, 0x15 +/* 319E7C 802BD90C 10620009 */ beq $v1, $v0, .L802BD934 +/* 319E80 802BD910 24020017 */ addiu $v0, $zero, 0x17 +/* 319E84 802BD914 10620007 */ beq $v1, $v0, .L802BD934 +/* 319E88 802BD918 24020016 */ addiu $v0, $zero, 0x16 +/* 319E8C 802BD91C 10620005 */ beq $v1, $v0, .L802BD934 +/* 319E90 802BD920 24020003 */ addiu $v0, $zero, 3 +/* 319E94 802BD924 10620003 */ beq $v1, $v0, .L802BD934 +/* 319E98 802BD928 24020005 */ addiu $v0, $zero, 5 +/* 319E9C 802BD92C 14620005 */ bne $v1, $v0, .L802BD944 +/* 319EA0 802BD930 3C040001 */ lui $a0, 1 +.L802BD934: +/* 319EA4 802BD934 0C00EB6B */ jal disable_npc_blur +/* 319EA8 802BD938 0200202D */ daddu $a0, $s0, $zero +/* 319EAC 802BD93C 080AF9E1 */ j .L802BE784 +/* 319EB0 802BD940 24020015 */ addiu $v0, $zero, 0x15 +.L802BD944: +/* 319EB4 802BD944 0C037FBF */ jal func_800DFEFC +/* 319EB8 802BD948 34840002 */ ori $a0, $a0, 2 +/* 319EBC 802BD94C C6200028 */ lwc1 $f0, 0x28($s1) +/* 319EC0 802BD950 3C014200 */ lui $at, 0x4200 +/* 319EC4 802BD954 44811000 */ mtc1 $at, $f2 +/* 319EC8 802BD958 E6000060 */ swc1 $f0, 0x60($s0) +/* 319ECC 802BD95C C620002C */ lwc1 $f0, 0x2c($s1) +/* 319ED0 802BD960 3C020004 */ lui $v0, 4 +/* 319ED4 802BD964 46020000 */ add.s $f0, $f0, $f2 +/* 319ED8 802BD968 34420003 */ ori $v0, $v0, 3 +/* 319EDC 802BD96C 26040060 */ addiu $a0, $s0, 0x60 +/* 319EE0 802BD970 E6000064 */ swc1 $f0, 0x64($s0) +/* 319EE4 802BD974 C6200030 */ lwc1 $f0, 0x30($s1) +/* 319EE8 802BD978 26050068 */ addiu $a1, $s0, 0x68 +/* 319EEC 802BD97C AE020028 */ sw $v0, 0x28($s0) +/* 319EF0 802BD980 E6000068 */ swc1 $f0, 0x68($s0) +/* 319EF4 802BD984 8E270080 */ lw $a3, 0x80($s1) +/* 319EF8 802BD988 0C00A7E7 */ jal add_vec2D_polar +/* 319EFC 802BD98C 0000302D */ daddu $a2, $zero, $zero +/* 319F00 802BD990 3C02802C */ lui $v0, 0x802c +/* 319F04 802BD994 8C42EBBC */ lw $v0, -0x1444($v0) +/* 319F08 802BD998 C62C0080 */ lwc1 $f12, 0x80($s1) +/* 319F0C 802BD99C 3C01C2B4 */ lui $at, 0xc2b4 +/* 319F10 802BD9A0 44810000 */ mtc1 $at, $f0 +/* 319F14 802BD9A4 14400003 */ bnez $v0, .L802BD9B4 +/* 319F18 802BD9A8 00000000 */ nop +/* 319F1C 802BD9AC 3C0142B4 */ lui $at, 0x42b4 +/* 319F20 802BD9B0 44810000 */ mtc1 $at, $f0 +.L802BD9B4: +/* 319F24 802BD9B4 0C00A6C9 */ jal clamp_angle +/* 319F28 802BD9B8 46006300 */ add.s $f12, $f12, $f0 +/* 319F2C 802BD9BC 26040060 */ addiu $a0, $s0, 0x60 +/* 319F30 802BD9C0 3C0640A0 */ lui $a2, 0x40a0 +/* 319F34 802BD9C4 44070000 */ mfc1 $a3, $f0 +/* 319F38 802BD9C8 0C00A7E7 */ jal add_vec2D_polar +/* 319F3C 802BD9CC 26050068 */ addiu $a1, $s0, 0x68 +/* 319F40 802BD9D0 C6000060 */ lwc1 $f0, 0x60($s0) +/* 319F44 802BD9D4 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 319F48 802BD9D8 8602008E */ lh $v0, 0x8e($s0) +/* 319F4C 802BD9DC C6040064 */ lwc1 $f4, 0x64($s0) +/* 319F50 802BD9E0 C608003C */ lwc1 $f8, 0x3c($s0) +/* 319F54 802BD9E4 C6060040 */ lwc1 $f6, 0x40($s0) +/* 319F58 802BD9E8 44821000 */ mtc1 $v0, $f2 +/* 319F5C 802BD9EC 00000000 */ nop +/* 319F60 802BD9F0 468010A0 */ cvt.s.w $f2, $f2 +/* 319F64 802BD9F4 0040202D */ daddu $a0, $v0, $zero +/* 319F68 802BD9F8 460A0001 */ sub.s $f0, $f0, $f10 +/* 319F6C 802BD9FC 0080182D */ daddu $v1, $a0, $zero +/* 319F70 802BDA00 9602008E */ lhu $v0, 0x8e($s0) +/* 319F74 802BDA04 46082101 */ sub.s $f4, $f4, $f8 +/* 319F78 802BDA08 2442FFFF */ addiu $v0, $v0, -1 +/* 319F7C 802BDA0C A602008E */ sh $v0, 0x8e($s0) +/* 319F80 802BDA10 46020003 */ div.s $f0, $f0, $f2 +/* 319F84 802BDA14 46005280 */ add.s $f10, $f10, $f0 +/* 319F88 802BDA18 C6020068 */ lwc1 $f2, 0x68($s0) +/* 319F8C 802BDA1C 00021400 */ sll $v0, $v0, 0x10 +/* 319F90 802BDA20 46061081 */ sub.s $f2, $f2, $f6 +/* 319F94 802BDA24 44840000 */ mtc1 $a0, $f0 +/* 319F98 802BDA28 00000000 */ nop +/* 319F9C 802BDA2C 46800020 */ cvt.s.w $f0, $f0 +/* 319FA0 802BDA30 46002103 */ div.s $f4, $f4, $f0 +/* 319FA4 802BDA34 46044200 */ add.s $f8, $f8, $f4 +/* 319FA8 802BDA38 44830000 */ mtc1 $v1, $f0 +/* 319FAC 802BDA3C 00000000 */ nop +/* 319FB0 802BDA40 46800020 */ cvt.s.w $f0, $f0 +/* 319FB4 802BDA44 46001083 */ div.s $f2, $f2, $f0 +/* 319FB8 802BDA48 46023180 */ add.s $f6, $f6, $f2 +/* 319FBC 802BDA4C E60A0038 */ swc1 $f10, 0x38($s0) +/* 319FC0 802BDA50 E608003C */ swc1 $f8, 0x3c($s0) +/* 319FC4 802BDA54 1040000A */ beqz $v0, .L802BDA80 +/* 319FC8 802BDA58 E6060040 */ swc1 $f6, 0x40($s0) +/* 319FCC 802BDA5C 82230015 */ lb $v1, 0x15($s1) +/* 319FD0 802BDA60 8E420078 */ lw $v0, 0x78($s2) +/* 319FD4 802BDA64 0043102A */ slt $v0, $v0, $v1 +/* 319FD8 802BDA68 10400348 */ beqz $v0, .L802BE78C +/* 319FDC 802BDA6C 00000000 */ nop +/* 319FE0 802BDA70 0C00EB6B */ jal disable_npc_blur +/* 319FE4 802BDA74 0200202D */ daddu $a0, $s0, $zero +/* 319FE8 802BDA78 080AF9E1 */ j .L802BE784 +/* 319FEC 802BDA7C 24020016 */ addiu $v0, $zero, 0x16 +.L802BDA80: +/* 319FF0 802BDA80 0C00EB6B */ jal disable_npc_blur +/* 319FF4 802BDA84 0200202D */ daddu $a0, $s0, $zero +/* 319FF8 802BDA88 3C020004 */ lui $v0, 4 +/* 319FFC 802BDA8C 3442000A */ ori $v0, $v0, 0xa +/* 31A000 802BDA90 3C040008 */ lui $a0, 8 +/* 31A004 802BDA94 C6200080 */ lwc1 $f0, 0x80($s1) +/* 31A008 802BDA98 3C013E4C */ lui $at, 0x3e4c +/* 31A00C 802BDA9C 3421CCCD */ ori $at, $at, 0xcccd +/* 31A010 802BDAA0 44811000 */ mtc1 $at, $f2 +/* 31A014 802BDAA4 3484000D */ ori $a0, $a0, 0xd +/* 31A018 802BDAA8 AE020028 */ sw $v0, 0x28($s0) +/* 31A01C 802BDAAC AE000010 */ sw $zero, 0x10($s0) +/* 31A020 802BDAB0 E600000C */ swc1 $f0, 0xc($s0) +/* 31A024 802BDAB4 0C037FDE */ jal func_800DFF78 +/* 31A028 802BDAB8 E6020018 */ swc1 $f2, 0x18($s0) +/* 31A02C 802BDABC 24042009 */ addiu $a0, $zero, 0x2009 +/* 31A030 802BDAC0 0000282D */ daddu $a1, $zero, $zero +/* 31A034 802BDAC4 0C052742 */ jal play_sound_at_npc +/* 31A038 802BDAC8 2406FFFC */ addiu $a2, $zero, -4 +/* 31A03C 802BDACC 3C038016 */ lui $v1, 0x8016 +/* 31A040 802BDAD0 2463A550 */ addiu $v1, $v1, -0x5ab0 +/* 31A044 802BDAD4 2402FFFF */ addiu $v0, $zero, -1 +/* 31A048 802BDAD8 A4620004 */ sh $v0, 4($v1) +/* 31A04C 802BDADC A4620002 */ sh $v0, 2($v1) +/* 31A050 802BDAE0 A6020084 */ sh $v0, 0x84($s0) +/* 31A054 802BDAE4 24020014 */ addiu $v0, $zero, 0x14 +/* 31A058 802BDAE8 3C01802C */ lui $at, 0x802c +/* 31A05C 802BDAEC AC22EBC4 */ sw $v0, -0x143c($at) +/* 31A060 802BDAF0 080AF9E1 */ j .L802BE784 +/* 31A064 802BDAF4 24020001 */ addiu $v0, $zero, 1 +/* 31A068 802BDAF8 822300B4 */ lb $v1, 0xb4($s1) +/* 31A06C 802BDAFC 24020015 */ addiu $v0, $zero, 0x15 +/* 31A070 802BDB00 1062031F */ beq $v1, $v0, .L802BE780 +/* 31A074 802BDB04 24020017 */ addiu $v0, $zero, 0x17 +/* 31A078 802BDB08 1062031D */ beq $v1, $v0, .L802BE780 +/* 31A07C 802BDB0C 24020016 */ addiu $v0, $zero, 0x16 +/* 31A080 802BDB10 1062031C */ beq $v1, $v0, .L802BE784 +/* 31A084 802BDB14 24020015 */ addiu $v0, $zero, 0x15 +/* 31A088 802BDB18 8EE3000C */ lw $v1, 0xc($s7) +/* 31A08C 802BDB1C 3062C004 */ andi $v0, $v1, 0xc004 +/* 31A090 802BDB20 1040000B */ beqz $v0, .L802BDB50 +/* 31A094 802BDB24 30628000 */ andi $v0, $v1, 0x8000 +/* 31A098 802BDB28 10400002 */ beqz $v0, .L802BDB34 +/* 31A09C 802BDB2C 24040015 */ addiu $a0, $zero, 0x15 +/* 31A0A0 802BDB30 24040014 */ addiu $a0, $zero, 0x14 +.L802BDB34: +/* 31A0A4 802BDB34 3C01802C */ lui $at, 0x802c +/* 31A0A8 802BDB38 AC24EBC0 */ sw $a0, -0x1440($at) +/* 31A0AC 802BDB3C 3C040001 */ lui $a0, 1 +/* 31A0B0 802BDB40 0C037FBF */ jal func_800DFEFC +/* 31A0B4 802BDB44 34840002 */ ori $a0, $a0, 2 +/* 31A0B8 802BDB48 080AF9E3 */ j .L802BE78C +/* 31A0BC 802BDB4C 00000000 */ nop +.L802BDB50: +/* 31A0C0 802BDB50 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31A0C4 802BDB54 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31A0C8 802BDB58 94430134 */ lhu $v1, 0x134($v0) +/* 31A0CC 802BDB5C 3C02AAAA */ lui $v0, 0xaaaa +/* 31A0D0 802BDB60 3442AAAB */ ori $v0, $v0, 0xaaab +/* 31A0D4 802BDB64 00620019 */ multu $v1, $v0 +/* 31A0D8 802BDB68 00004010 */ mfhi $t0 +/* 31A0DC 802BDB6C 00082082 */ srl $a0, $t0, 2 +/* 31A0E0 802BDB70 00041040 */ sll $v0, $a0, 1 +/* 31A0E4 802BDB74 00441021 */ addu $v0, $v0, $a0 +/* 31A0E8 802BDB78 00021040 */ sll $v0, $v0, 1 +/* 31A0EC 802BDB7C 00621823 */ subu $v1, $v1, $v0 +/* 31A0F0 802BDB80 3063FFFF */ andi $v1, $v1, 0xffff +/* 31A0F4 802BDB84 14600004 */ bnez $v1, .L802BDB98 +/* 31A0F8 802BDB88 24042009 */ addiu $a0, $zero, 0x2009 +/* 31A0FC 802BDB8C 0000282D */ daddu $a1, $zero, $zero +/* 31A100 802BDB90 0C052742 */ jal play_sound_at_npc +/* 31A104 802BDB94 2406FFFC */ addiu $a2, $zero, -4 +.L802BDB98: +/* 31A108 802BDB98 3C12802C */ lui $s2, 0x802c +/* 31A10C 802BDB9C 2652EBC4 */ addiu $s2, $s2, -0x143c +/* 31A110 802BDBA0 24020014 */ addiu $v0, $zero, 0x14 +/* 31A114 802BDBA4 8E430000 */ lw $v1, ($s2) +/* 31A118 802BDBA8 3C0140C9 */ lui $at, 0x40c9 +/* 31A11C 802BDBAC 34210FD0 */ ori $at, $at, 0xfd0 +/* 31A120 802BDBB0 44810000 */ mtc1 $at, $f0 +/* 31A124 802BDBB4 00431023 */ subu $v0, $v0, $v1 +/* 31A128 802BDBB8 000218C0 */ sll $v1, $v0, 3 +/* 31A12C 802BDBBC 00621821 */ addu $v1, $v1, $v0 +/* 31A130 802BDBC0 00031840 */ sll $v1, $v1, 1 +/* 31A134 802BDBC4 44836000 */ mtc1 $v1, $f12 +/* 31A138 802BDBC8 00000000 */ nop +/* 31A13C 802BDBCC 46806320 */ cvt.s.w $f12, $f12 +/* 31A140 802BDBD0 46006302 */ mul.s $f12, $f12, $f0 +/* 31A144 802BDBD4 00000000 */ nop +/* 31A148 802BDBD8 3C0143B4 */ lui $at, 0x43b4 +/* 31A14C 802BDBDC 44810000 */ mtc1 $at, $f0 +/* 31A150 802BDBE0 0C00A85B */ jal sin_rad +/* 31A154 802BDBE4 46006303 */ div.s $f12, $f12, $f0 +/* 31A158 802BDBE8 46000005 */ abs.s $f0, $f0 +/* 31A15C 802BDBEC 3C01802C */ lui $at, 0x802c +/* 31A160 802BDBF0 D422EB98 */ ldc1 $f2, -0x1468($at) +/* 31A164 802BDBF4 46000021 */ cvt.d.s $f0, $f0 +/* 31A168 802BDBF8 46220002 */ mul.d $f0, $f0, $f2 +/* 31A16C 802BDBFC 00000000 */ nop +/* 31A170 802BDC00 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31A174 802BDC04 46200020 */ cvt.s.d $f0, $f0 +/* 31A178 802BDC08 46001080 */ add.s $f2, $f2, $f0 +/* 31A17C 802BDC0C 3C040001 */ lui $a0, 1 +/* 31A180 802BDC10 E622002C */ swc1 $f2, 0x2c($s1) +/* 31A184 802BDC14 860200A8 */ lh $v0, 0xa8($s0) +/* 31A188 802BDC18 3C013F00 */ lui $at, 0x3f00 +/* 31A18C 802BDC1C 44814000 */ mtc1 $at, $f8 +/* 31A190 802BDC20 44823000 */ mtc1 $v0, $f6 +/* 31A194 802BDC24 00000000 */ nop +/* 31A198 802BDC28 468031A0 */ cvt.s.w $f6, $f6 +/* 31A19C 802BDC2C 46083182 */ mul.s $f6, $f6, $f8 +/* 31A1A0 802BDC30 00000000 */ nop +/* 31A1A4 802BDC34 27A50020 */ addiu $a1, $sp, 0x20 +/* 31A1A8 802BDC38 27A60024 */ addiu $a2, $sp, 0x24 +/* 31A1AC 802BDC3C C602003C */ lwc1 $f2, 0x3c($s0) +/* 31A1B0 802BDC40 27A70028 */ addiu $a3, $sp, 0x28 +/* 31A1B4 802BDC44 46001080 */ add.s $f2, $f2, $f0 +/* 31A1B8 802BDC48 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 31A1BC 802BDC4C 44822000 */ mtc1 $v0, $f4 +/* 31A1C0 802BDC50 00000000 */ nop +/* 31A1C4 802BDC54 46802120 */ cvt.s.w $f4, $f4 +/* 31A1C8 802BDC58 46082102 */ mul.s $f4, $f4, $f8 +/* 31A1CC 802BDC5C 00000000 */ nop +/* 31A1D0 802BDC60 C6080040 */ lwc1 $f8, 0x40($s0) +/* 31A1D4 802BDC64 27A2002C */ addiu $v0, $sp, 0x2c +/* 31A1D8 802BDC68 E602003C */ swc1 $f2, 0x3c($s0) +/* 31A1DC 802BDC6C E7A0002C */ swc1 $f0, 0x2c($sp) +/* 31A1E0 802BDC70 E7AA0020 */ swc1 $f10, 0x20($sp) +/* 31A1E4 802BDC74 E7A80028 */ swc1 $f8, 0x28($sp) +/* 31A1E8 802BDC78 46061080 */ add.s $f2, $f2, $f6 +/* 31A1EC 802BDC7C 46002506 */ mov.s $f20, $f4 +/* 31A1F0 802BDC80 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 31A1F4 802BDC84 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31A1F8 802BDC88 0C03739C */ jal func_800DCE70 +/* 31A1FC 802BDC8C AFA20010 */ sw $v0, 0x10($sp) +/* 31A200 802BDC90 10400007 */ beqz $v0, .L802BDCB0 +/* 31A204 802BDC94 0220202D */ daddu $a0, $s1, $zero +/* 31A208 802BDC98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 31A20C 802BDC9C 4614003C */ c.lt.s $f0, $f20 +/* 31A210 802BDCA0 00000000 */ nop +/* 31A214 802BDCA4 45030002 */ bc1tl .L802BDCB0 +/* 31A218 802BDCA8 AE400000 */ sw $zero, ($s2) +/* 31A21C 802BDCAC 0220202D */ daddu $a0, $s1, $zero +.L802BDCB0: +/* 31A220 802BDCB0 27B40020 */ addiu $s4, $sp, 0x20 +/* 31A224 802BDCB4 0280282D */ daddu $a1, $s4, $zero +/* 31A228 802BDCB8 27B30024 */ addiu $s3, $sp, 0x24 +/* 31A22C 802BDCBC 0260302D */ daddu $a2, $s3, $zero +/* 31A230 802BDCC0 27B20028 */ addiu $s2, $sp, 0x28 +/* 31A234 802BDCC4 0240382D */ daddu $a3, $s2, $zero +/* 31A238 802BDCC8 263E0028 */ addiu $fp, $s1, 0x28 +/* 31A23C 802BDCCC 26280030 */ addiu $t0, $s1, 0x30 +/* 31A240 802BDCD0 862200B0 */ lh $v0, 0xb0($s1) +/* 31A244 802BDCD4 3C013F00 */ lui $at, 0x3f00 +/* 31A248 802BDCD8 44811000 */ mtc1 $at, $f2 +/* 31A24C 802BDCDC C624002C */ lwc1 $f4, 0x2c($s1) +/* 31A250 802BDCE0 44824000 */ mtc1 $v0, $f8 +/* 31A254 802BDCE4 00000000 */ nop +/* 31A258 802BDCE8 46804220 */ cvt.s.w $f8, $f8 +/* 31A25C 802BDCEC 46024202 */ mul.s $f8, $f8, $f2 +/* 31A260 802BDCF0 00000000 */ nop +/* 31A264 802BDCF4 C62A0028 */ lwc1 $f10, 0x28($s1) +/* 31A268 802BDCF8 C62C0030 */ lwc1 $f12, 0x30($s1) +/* 31A26C 802BDCFC 0040182D */ daddu $v1, $v0, $zero +/* 31A270 802BDD00 44830000 */ mtc1 $v1, $f0 +/* 31A274 802BDD04 00000000 */ nop +/* 31A278 802BDD08 46800020 */ cvt.s.w $f0, $f0 +/* 31A27C 802BDD0C 46020002 */ mul.s $f0, $f0, $f2 +/* 31A280 802BDD10 00000000 */ nop +/* 31A284 802BDD14 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 31A288 802BDD18 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 31A28C 802BDD1C 3C0142B4 */ lui $at, 0x42b4 +/* 31A290 802BDD20 44811000 */ mtc1 $at, $f2 +/* 31A294 802BDD24 00031080 */ sll $v0, $v1, 2 +/* 31A298 802BDD28 00431021 */ addu $v0, $v0, $v1 +/* 31A29C 802BDD2C 00021080 */ sll $v0, $v0, 2 +/* 31A2A0 802BDD30 00431023 */ subu $v0, $v0, $v1 +/* 31A2A4 802BDD34 000218C0 */ sll $v1, $v0, 3 +/* 31A2A8 802BDD38 00431021 */ addu $v0, $v0, $v1 +/* 31A2AC 802BDD3C 000210C0 */ sll $v0, $v0, 3 +/* 31A2B0 802BDD40 3C01800B */ lui $at, 0x800b +/* 31A2B4 802BDD44 00220821 */ addu $at, $at, $v0 +/* 31A2B8 802BDD48 C4261DEC */ lwc1 $f6, 0x1dec($at) +/* 31A2BC 802BDD4C 46002100 */ add.s $f4, $f4, $f0 +/* 31A2C0 802BDD50 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* 31A2C4 802BDD54 27A2002C */ addiu $v0, $sp, 0x2c +/* 31A2C8 802BDD58 E7AA0020 */ swc1 $f10, 0x20($sp) +/* 31A2CC 802BDD5C E7AC0028 */ swc1 $f12, 0x28($sp) +/* 31A2D0 802BDD60 46020001 */ sub.s $f0, $f0, $f2 +/* 31A2D4 802BDD64 E7A8002C */ swc1 $f8, 0x2c($sp) +/* 31A2D8 802BDD68 AFA80030 */ sw $t0, 0x30($sp) +/* 31A2DC 802BDD6C 46060500 */ add.s $f20, $f0, $f6 +/* 31A2E0 802BDD70 E7A40024 */ swc1 $f4, 0x24($sp) +/* 31A2E4 802BDD74 AFA20010 */ sw $v0, 0x10($sp) +/* 31A2E8 802BDD78 0C0379F9 */ jal collision_check_above +/* 31A2EC 802BDD7C E7B40014 */ swc1 $f20, 0x14($sp) +/* 31A2F0 802BDD80 04400006 */ bltz $v0, .L802BDD9C +/* 31A2F4 802BDD84 3C040001 */ lui $a0, 1 +.L802BDD88: +/* 31A2F8 802BDD88 3C040001 */ lui $a0, 1 +.L802BDD8C: +/* 31A2FC 802BDD8C 0C037FBF */ jal func_800DFEFC +/* 31A300 802BDD90 34840002 */ ori $a0, $a0, 2 +/* 31A304 802BDD94 080AF9E1 */ j .L802BE784 +/* 31A308 802BDD98 24020015 */ addiu $v0, $zero, 0x15 +.L802BDD9C: +/* 31A30C 802BDD9C 0280282D */ daddu $a1, $s4, $zero +/* 31A310 802BDDA0 0260302D */ daddu $a2, $s3, $zero +/* 31A314 802BDDA4 C6200028 */ lwc1 $f0, 0x28($s1) +/* 31A318 802BDDA8 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31A31C 802BDDAC C6240030 */ lwc1 $f4, 0x30($s1) +/* 31A320 802BDDB0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31A324 802BDDB4 0240382D */ daddu $a3, $s2, $zero +/* 31A328 802BDDB8 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31A32C 802BDDBC E7A20024 */ swc1 $f2, 0x24($sp) +/* 31A330 802BDDC0 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31A334 802BDDC4 E7A60010 */ swc1 $f6, 0x10($sp) +/* 31A338 802BDDC8 C602000C */ lwc1 $f2, 0xc($s0) +/* 31A33C 802BDDCC 862200B0 */ lh $v0, 0xb0($s1) +/* 31A340 802BDDD0 862300B2 */ lh $v1, 0xb2($s1) +/* 31A344 802BDDD4 44820000 */ mtc1 $v0, $f0 +/* 31A348 802BDDD8 00000000 */ nop +/* 31A34C 802BDDDC 46800020 */ cvt.s.w $f0, $f0 +/* 31A350 802BDDE0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31A354 802BDDE4 44830000 */ mtc1 $v1, $f0 +/* 31A358 802BDDE8 00000000 */ nop +/* 31A35C 802BDDEC 46800020 */ cvt.s.w $f0, $f0 +/* 31A360 802BDDF0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31A364 802BDDF4 0C037765 */ jal func_800DDD94 +/* 31A368 802BDDF8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31A36C 802BDDFC 28420002 */ slti $v0, $v0, 2 +/* 31A370 802BDE00 1440001E */ bnez $v0, .L802BDE7C +/* 31A374 802BDE04 00000000 */ nop +/* 31A378 802BDE08 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 31A37C 802BDE0C C6260028 */ lwc1 $f6, 0x28($s1) +/* 31A380 802BDE10 46065101 */ sub.s $f4, $f10, $f6 +/* 31A384 802BDE14 3C013E00 */ lui $at, 0x3e00 +/* 31A388 802BDE18 44816000 */ mtc1 $at, $f12 +/* 31A38C 802BDE1C 00000000 */ nop +/* 31A390 802BDE20 460C2102 */ mul.s $f4, $f4, $f12 +/* 31A394 802BDE24 00000000 */ nop +/* 31A398 802BDE28 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 31A39C 802BDE2C C6220030 */ lwc1 $f2, 0x30($s1) +/* 31A3A0 802BDE30 46024001 */ sub.s $f0, $f8, $f2 +/* 31A3A4 802BDE34 460C0002 */ mul.s $f0, $f0, $f12 +/* 31A3A8 802BDE38 00000000 */ nop +/* 31A3AC 802BDE3C 46043180 */ add.s $f6, $f6, $f4 +/* 31A3B0 802BDE40 46001080 */ add.s $f2, $f2, $f0 +/* 31A3B4 802BDE44 E6260028 */ swc1 $f6, 0x28($s1) +/* 31A3B8 802BDE48 E6220030 */ swc1 $f2, 0x30($s1) +/* 31A3BC 802BDE4C C6020038 */ lwc1 $f2, 0x38($s0) +/* 31A3C0 802BDE50 46025281 */ sub.s $f10, $f10, $f2 +/* 31A3C4 802BDE54 460C5282 */ mul.s $f10, $f10, $f12 +/* 31A3C8 802BDE58 00000000 */ nop +/* 31A3CC 802BDE5C C6000040 */ lwc1 $f0, 0x40($s0) +/* 31A3D0 802BDE60 46004201 */ sub.s $f8, $f8, $f0 +/* 31A3D4 802BDE64 460C4202 */ mul.s $f8, $f8, $f12 +/* 31A3D8 802BDE68 00000000 */ nop +/* 31A3DC 802BDE6C 460A1080 */ add.s $f2, $f2, $f10 +/* 31A3E0 802BDE70 46080000 */ add.s $f0, $f0, $f8 +/* 31A3E4 802BDE74 E6020038 */ swc1 $f2, 0x38($s0) +/* 31A3E8 802BDE78 E6000040 */ swc1 $f0, 0x40($s0) +.L802BDE7C: +/* 31A3EC 802BDE7C C6000038 */ lwc1 $f0, 0x38($s0) +/* 31A3F0 802BDE80 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31A3F4 802BDE84 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31A3F8 802BDE88 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31A3FC 802BDE8C 3C040001 */ lui $a0, 1 +/* 31A400 802BDE90 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31A404 802BDE94 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31A408 802BDE98 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31A40C 802BDE9C E7A60010 */ swc1 $f6, 0x10($sp) +/* 31A410 802BDEA0 C600000C */ lwc1 $f0, 0xc($s0) +/* 31A414 802BDEA4 0280282D */ daddu $a1, $s4, $zero +/* 31A418 802BDEA8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31A41C 802BDEAC 860200A8 */ lh $v0, 0xa8($s0) +/* 31A420 802BDEB0 0260302D */ daddu $a2, $s3, $zero +/* 31A424 802BDEB4 44820000 */ mtc1 $v0, $f0 +/* 31A428 802BDEB8 00000000 */ nop +/* 31A42C 802BDEBC 46800020 */ cvt.s.w $f0, $f0 +/* 31A430 802BDEC0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31A434 802BDEC4 860200A6 */ lh $v0, 0xa6($s0) +/* 31A438 802BDEC8 0240382D */ daddu $a3, $s2, $zero +/* 31A43C 802BDECC 44820000 */ mtc1 $v0, $f0 +/* 31A440 802BDED0 00000000 */ nop +/* 31A444 802BDED4 46800020 */ cvt.s.w $f0, $f0 +/* 31A448 802BDED8 0C037765 */ jal func_800DDD94 +/* 31A44C 802BDEDC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31A450 802BDEE0 0040182D */ daddu $v1, $v0, $zero +/* 31A454 802BDEE4 26150038 */ addiu $s5, $s0, 0x38 +/* 31A458 802BDEE8 28620002 */ slti $v0, $v1, 2 +/* 31A45C 802BDEEC 14400043 */ bnez $v0, .L802BDFFC +/* 31A460 802BDEF0 26160040 */ addiu $s6, $s0, 0x40 +/* 31A464 802BDEF4 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 31A468 802BDEF8 C6020038 */ lwc1 $f2, 0x38($s0) +/* 31A46C 802BDEFC 46023001 */ sub.s $f0, $f6, $f2 +/* 31A470 802BDF00 3C013E00 */ lui $at, 0x3e00 +/* 31A474 802BDF04 44817000 */ mtc1 $at, $f14 +/* 31A478 802BDF08 00000000 */ nop +/* 31A47C 802BDF0C 460E0682 */ mul.s $f26, $f0, $f14 +/* 31A480 802BDF10 00000000 */ nop +/* 31A484 802BDF14 3C040001 */ lui $a0, 1 +/* 31A488 802BDF18 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 31A48C 802BDF1C C6000040 */ lwc1 $f0, 0x40($s0) +/* 31A490 802BDF20 0280282D */ daddu $a1, $s4, $zero +/* 31A494 802BDF24 46004001 */ sub.s $f0, $f8, $f0 +/* 31A498 802BDF28 0260302D */ daddu $a2, $s3, $zero +/* 31A49C 802BDF2C 0240382D */ daddu $a3, $s2, $zero +/* 31A4A0 802BDF30 460E0602 */ mul.s $f24, $f0, $f14 +/* 31A4A4 802BDF34 00000000 */ nop +/* 31A4A8 802BDF38 C6100038 */ lwc1 $f16, 0x38($s0) +/* 31A4AC 802BDF3C C604003C */ lwc1 $f4, 0x3c($s0) +/* 31A4B0 802BDF40 C60C0018 */ lwc1 $f12, 0x18($s0) +/* 31A4B4 802BDF44 C6000040 */ lwc1 $f0, 0x40($s0) +/* 31A4B8 802BDF48 461A1080 */ add.s $f2, $f2, $f26 +/* 31A4BC 802BDF4C E7A40024 */ swc1 $f4, 0x24($sp) +/* 31A4C0 802BDF50 46000286 */ mov.s $f10, $f0 +/* 31A4C4 802BDF54 46180000 */ add.s $f0, $f0, $f24 +/* 31A4C8 802BDF58 E7A20020 */ swc1 $f2, 0x20($sp) +/* 31A4CC 802BDF5C E7B00020 */ swc1 $f16, 0x20($sp) +/* 31A4D0 802BDF60 E7A00028 */ swc1 $f0, 0x28($sp) +/* 31A4D4 802BDF64 E7AA0028 */ swc1 $f10, 0x28($sp) +/* 31A4D8 802BDF68 E7AC0010 */ swc1 $f12, 0x10($sp) +/* 31A4DC 802BDF6C C6200028 */ lwc1 $f0, 0x28($s1) +/* 31A4E0 802BDF70 C602000C */ lwc1 $f2, 0xc($s0) +/* 31A4E4 802BDF74 46003181 */ sub.s $f6, $f6, $f0 +/* 31A4E8 802BDF78 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31A4EC 802BDF7C 860200A8 */ lh $v0, 0xa8($s0) +/* 31A4F0 802BDF80 460E3582 */ mul.s $f22, $f6, $f14 +/* 31A4F4 802BDF84 00000000 */ nop +/* 31A4F8 802BDF88 44820000 */ mtc1 $v0, $f0 +/* 31A4FC 802BDF8C 00000000 */ nop +/* 31A500 802BDF90 46800020 */ cvt.s.w $f0, $f0 +/* 31A504 802BDF94 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31A508 802BDF98 C6200030 */ lwc1 $f0, 0x30($s1) +/* 31A50C 802BDF9C 860200A6 */ lh $v0, 0xa6($s0) +/* 31A510 802BDFA0 46004201 */ sub.s $f8, $f8, $f0 +/* 31A514 802BDFA4 44820000 */ mtc1 $v0, $f0 +/* 31A518 802BDFA8 00000000 */ nop +/* 31A51C 802BDFAC 46800020 */ cvt.s.w $f0, $f0 +/* 31A520 802BDFB0 460E4502 */ mul.s $f20, $f8, $f14 +/* 31A524 802BDFB4 00000000 */ nop +/* 31A528 802BDFB8 0C037765 */ jal func_800DDD94 +/* 31A52C 802BDFBC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31A530 802BDFC0 0040182D */ daddu $v1, $v0, $zero +/* 31A534 802BDFC4 14600020 */ bnez $v1, .L802BE048 +/* 31A538 802BDFC8 00000000 */ nop +/* 31A53C 802BDFCC C6220028 */ lwc1 $f2, 0x28($s1) +/* 31A540 802BDFD0 46161080 */ add.s $f2, $f2, $f22 +/* 31A544 802BDFD4 C6200030 */ lwc1 $f0, 0x30($s1) +/* 31A548 802BDFD8 46140000 */ add.s $f0, $f0, $f20 +/* 31A54C 802BDFDC E6220028 */ swc1 $f2, 0x28($s1) +/* 31A550 802BDFE0 E6200030 */ swc1 $f0, 0x30($s1) +/* 31A554 802BDFE4 C6020038 */ lwc1 $f2, 0x38($s0) +/* 31A558 802BDFE8 461A1080 */ add.s $f2, $f2, $f26 +/* 31A55C 802BDFEC C6000040 */ lwc1 $f0, 0x40($s0) +/* 31A560 802BDFF0 46180000 */ add.s $f0, $f0, $f24 +/* 31A564 802BDFF4 E6020038 */ swc1 $f2, 0x38($s0) +/* 31A568 802BDFF8 E6000040 */ swc1 $f0, 0x40($s0) +.L802BDFFC: +/* 31A56C 802BDFFC 14600012 */ bnez $v1, .L802BE048 +/* 31A570 802BE000 00000000 */ nop +/* 31A574 802BE004 8E220004 */ lw $v0, 4($s1) +/* 31A578 802BE008 30428000 */ andi $v0, $v0, 0x8000 +/* 31A57C 802BE00C 1440000E */ bnez $v0, .L802BE048 +/* 31A580 802BE010 02A0202D */ daddu $a0, $s5, $zero +/* 31A584 802BE014 8E060018 */ lw $a2, 0x18($s0) +/* 31A588 802BE018 8E07000C */ lw $a3, 0xc($s0) +/* 31A58C 802BE01C 0C00A7E7 */ jal add_vec2D_polar +/* 31A590 802BE020 02C0282D */ daddu $a1, $s6, $zero +/* 31A594 802BE024 8E060018 */ lw $a2, 0x18($s0) +/* 31A598 802BE028 8E07000C */ lw $a3, 0xc($s0) +/* 31A59C 802BE02C 8FA50030 */ lw $a1, 0x30($sp) +/* 31A5A0 802BE030 0C00A7E7 */ jal add_vec2D_polar +/* 31A5A4 802BE034 03C0202D */ daddu $a0, $fp, $zero +/* 31A5A8 802BE038 C6000010 */ lwc1 $f0, 0x10($s0) +/* 31A5AC 802BE03C C6020018 */ lwc1 $f2, 0x18($s0) +/* 31A5B0 802BE040 46020000 */ add.s $f0, $f0, $f2 +/* 31A5B4 802BE044 E6000010 */ swc1 $f0, 0x10($s0) +.L802BE048: +/* 31A5B8 802BE048 862200B0 */ lh $v0, 0xb0($s1) +/* 31A5BC 802BE04C 3C013F00 */ lui $at, 0x3f00 +/* 31A5C0 802BE050 44810000 */ mtc1 $at, $f0 +/* 31A5C4 802BE054 44823000 */ mtc1 $v0, $f6 +/* 31A5C8 802BE058 00000000 */ nop +/* 31A5CC 802BE05C 468031A0 */ cvt.s.w $f6, $f6 +/* 31A5D0 802BE060 46003182 */ mul.s $f6, $f6, $f0 +/* 31A5D4 802BE064 00000000 */ nop +/* 31A5D8 802BE068 3C040001 */ lui $a0, 1 +/* 31A5DC 802BE06C 27A50020 */ addiu $a1, $sp, 0x20 +/* 31A5E0 802BE070 44822000 */ mtc1 $v0, $f4 +/* 31A5E4 802BE074 00000000 */ nop +/* 31A5E8 802BE078 46802120 */ cvt.s.w $f4, $f4 +/* 31A5EC 802BE07C 46002102 */ mul.s $f4, $f4, $f0 +/* 31A5F0 802BE080 00000000 */ nop +/* 31A5F4 802BE084 C6200028 */ lwc1 $f0, 0x28($s1) +/* 31A5F8 802BE088 27A2002C */ addiu $v0, $sp, 0x2c +/* 31A5FC 802BE08C E7A00020 */ swc1 $f0, 0x20($sp) +/* 31A600 802BE090 C620002C */ lwc1 $f0, 0x2c($s1) +/* 31A604 802BE094 C6220030 */ lwc1 $f2, 0x30($s1) +/* 31A608 802BE098 46060000 */ add.s $f0, $f0, $f6 +/* 31A60C 802BE09C E7A20028 */ swc1 $f2, 0x28($sp) +/* 31A610 802BE0A0 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 31A614 802BE0A4 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31A618 802BE0A8 AFA20010 */ sw $v0, 0x10($sp) +/* 31A61C 802BE0AC C600000C */ lwc1 $f0, 0xc($s0) +/* 31A620 802BE0B0 27A60024 */ addiu $a2, $sp, 0x24 +/* 31A624 802BE0B4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31A628 802BE0B8 860200A6 */ lh $v0, 0xa6($s0) +/* 31A62C 802BE0BC 27A70028 */ addiu $a3, $sp, 0x28 +/* 31A630 802BE0C0 44820000 */ mtc1 $v0, $f0 +/* 31A634 802BE0C4 00000000 */ nop +/* 31A638 802BE0C8 46800020 */ cvt.s.w $f0, $f0 +/* 31A63C 802BE0CC 0C0371DE */ jal func_800DC778 +/* 31A640 802BE0D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31A644 802BE0D4 10400020 */ beqz $v0, .L802BE158 +/* 31A648 802BE0D8 00000000 */ nop +/* 31A64C 802BE0DC 3C048011 */ lui $a0, 0x8011 +/* 31A650 802BE0E0 8C84C978 */ lw $a0, -0x3688($a0) +/* 31A654 802BE0E4 0C016F6A */ jal get_collider_type_by_id +/* 31A658 802BE0E8 00000000 */ nop +/* 31A65C 802BE0EC 304200FF */ andi $v0, $v0, 0xff +/* 31A660 802BE0F0 2442FFFE */ addiu $v0, $v0, -2 +/* 31A664 802BE0F4 2C420002 */ sltiu $v0, $v0, 2 +/* 31A668 802BE0F8 10400008 */ beqz $v0, .L802BE11C +/* 31A66C 802BE0FC 24020002 */ addiu $v0, $zero, 2 +/* 31A670 802BE100 A22200BF */ sb $v0, 0xbf($s1) +/* 31A674 802BE104 8E220000 */ lw $v0, ($s1) +/* 31A678 802BE108 24030015 */ addiu $v1, $zero, 0x15 +/* 31A67C 802BE10C 3C01802C */ lui $at, 0x802c +/* 31A680 802BE110 AC23EBC0 */ sw $v1, -0x1440($at) +/* 31A684 802BE114 34420800 */ ori $v0, $v0, 0x800 +/* 31A688 802BE118 AE220000 */ sw $v0, ($s1) +.L802BE11C: +/* 31A68C 802BE11C C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31A690 802BE120 C624002C */ lwc1 $f4, 0x2c($s1) +/* 31A694 802BE124 46040001 */ sub.s $f0, $f0, $f4 +/* 31A698 802BE128 3C013E80 */ lui $at, 0x3e80 +/* 31A69C 802BE12C 44811000 */ mtc1 $at, $f2 +/* 31A6A0 802BE130 00000000 */ nop +/* 31A6A4 802BE134 46020002 */ mul.s $f0, $f0, $f2 +/* 31A6A8 802BE138 00000000 */ nop +/* 31A6AC 802BE13C 46002100 */ add.s $f4, $f4, $f0 +/* 31A6B0 802BE140 3C014200 */ lui $at, 0x4200 +/* 31A6B4 802BE144 44810000 */ mtc1 $at, $f0 +/* 31A6B8 802BE148 00000000 */ nop +/* 31A6BC 802BE14C 46002000 */ add.s $f0, $f4, $f0 +/* 31A6C0 802BE150 E624002C */ swc1 $f4, 0x2c($s1) +/* 31A6C4 802BE154 E600003C */ swc1 $f0, 0x3c($s0) +.L802BE158: +/* 31A6C8 802BE158 8E020000 */ lw $v0, ($s0) +/* 31A6CC 802BE15C 30424000 */ andi $v0, $v0, 0x4000 +/* 31A6D0 802BE160 1440FF0A */ bnez $v0, .L802BDD8C +/* 31A6D4 802BE164 3C040001 */ lui $a0, 1 +/* 31A6D8 802BE168 3C04802C */ lui $a0, 0x802c +/* 31A6DC 802BE16C 2484EBC4 */ addiu $a0, $a0, -0x143c +/* 31A6E0 802BE170 C6200028 */ lwc1 $f0, 0x28($s1) +/* 31A6E4 802BE174 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31A6E8 802BE178 C6240030 */ lwc1 $f4, 0x30($s1) +/* 31A6EC 802BE17C 8C830000 */ lw $v1, ($a0) +/* 31A6F0 802BE180 3C02800B */ lui $v0, %hi(gCameras) +/* 31A6F4 802BE184 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 31A6F8 802BE188 E4400060 */ swc1 $f0, 0x60($v0) +/* 31A6FC 802BE18C E4420064 */ swc1 $f2, 0x64($v0) +/* 31A700 802BE190 10600004 */ beqz $v1, .L802BE1A4 +/* 31A704 802BE194 E4440068 */ swc1 $f4, 0x68($v0) +/* 31A708 802BE198 2462FFFF */ addiu $v0, $v1, -1 +/* 31A70C 802BE19C 080AF9E3 */ j .L802BE78C +/* 31A710 802BE1A0 AC820000 */ sw $v0, ($a0) +.L802BE1A4: +/* 31A714 802BE1A4 3C040004 */ lui $a0, 4 +/* 31A718 802BE1A8 3C01BF00 */ lui $at, 0xbf00 +/* 31A71C 802BE1AC 44810000 */ mtc1 $at, $f0 +/* 31A720 802BE1B0 3C01BC23 */ lui $at, 0xbc23 +/* 31A724 802BE1B4 3421D70A */ ori $at, $at, 0xd70a +/* 31A728 802BE1B8 44811000 */ mtc1 $at, $f2 +/* 31A72C 802BE1BC 3C03802C */ lui $v1, 0x802c +/* 31A730 802BE1C0 2463EBC0 */ addiu $v1, $v1, -0x1440 +/* 31A734 802BE1C4 E600001C */ swc1 $f0, 0x1c($s0) +/* 31A738 802BE1C8 E6020014 */ swc1 $f2, 0x14($s0) +/* 31A73C 802BE1CC C622002C */ lwc1 $f2, 0x2c($s1) +/* 31A740 802BE1D0 3C013FE6 */ lui $at, 0x3fe6 +/* 31A744 802BE1D4 34216666 */ ori $at, $at, 0x6666 +/* 31A748 802BE1D8 44810000 */ mtc1 $at, $f0 +/* 31A74C 802BE1DC 8C620000 */ lw $v0, ($v1) +/* 31A750 802BE1E0 3484000A */ ori $a0, $a0, 0xa +/* 31A754 802BE1E4 A600008E */ sh $zero, 0x8e($s0) +/* 31A758 802BE1E8 AE040028 */ sw $a0, 0x28($s0) +/* 31A75C 802BE1EC 24420001 */ addiu $v0, $v0, 1 +/* 31A760 802BE1F0 E6000030 */ swc1 $f0, 0x30($s0) +/* 31A764 802BE1F4 AC620000 */ sw $v0, ($v1) +/* 31A768 802BE1F8 2402FFFF */ addiu $v0, $zero, -1 +/* 31A76C 802BE1FC E6020064 */ swc1 $f2, 0x64($s0) +/* 31A770 802BE200 3C018016 */ lui $at, 0x8016 +/* 31A774 802BE204 A422A552 */ sh $v0, -0x5aae($at) +/* 31A778 802BE208 080AF9E3 */ j .L802BE78C +/* 31A77C 802BE20C 00000000 */ nop +/* 31A780 802BE210 0C0AF556 */ jal func_802BD558 +/* 31A784 802BE214 24150015 */ addiu $s5, $zero, 0x15 +/* 31A788 802BE218 3C018016 */ lui $at, 0x8016 +/* 31A78C 802BE21C A422A552 */ sh $v0, -0x5aae($at) +/* 31A790 802BE220 822300B4 */ lb $v1, 0xb4($s1) +/* 31A794 802BE224 10750156 */ beq $v1, $s5, .L802BE780 +/* 31A798 802BE228 24020017 */ addiu $v0, $zero, 0x17 +/* 31A79C 802BE22C 10620154 */ beq $v1, $v0, .L802BE780 +/* 31A7A0 802BE230 24020016 */ addiu $v0, $zero, 0x16 +/* 31A7A4 802BE234 10620152 */ beq $v1, $v0, .L802BE780 +/* 31A7A8 802BE238 3C040008 */ lui $a0, 8 +/* 31A7AC 802BE23C 0C037FDE */ jal func_800DFF78 +/* 31A7B0 802BE240 3484000D */ ori $a0, $a0, 0xd +/* 31A7B4 802BE244 8E220000 */ lw $v0, ($s1) +/* 31A7B8 802BE248 30420800 */ andi $v0, $v0, 0x800 +/* 31A7BC 802BE24C 1440014D */ bnez $v0, .L802BE784 +/* 31A7C0 802BE250 24020014 */ addiu $v0, $zero, 0x14 +/* 31A7C4 802BE254 8EE3000C */ lw $v1, 0xc($s7) +/* 31A7C8 802BE258 3062C004 */ andi $v0, $v1, 0xc004 +/* 31A7CC 802BE25C 10400008 */ beqz $v0, .L802BE280 +/* 31A7D0 802BE260 30628000 */ andi $v0, $v1, 0x8000 +/* 31A7D4 802BE264 10400002 */ beqz $v0, .L802BE270 +/* 31A7D8 802BE268 24040015 */ addiu $a0, $zero, 0x15 +/* 31A7DC 802BE26C 24040014 */ addiu $a0, $zero, 0x14 +.L802BE270: +/* 31A7E0 802BE270 3C01802C */ lui $at, 0x802c +/* 31A7E4 802BE274 AC24EBC0 */ sw $a0, -0x1440($at) +/* 31A7E8 802BE278 080AF9E3 */ j .L802BE78C +/* 31A7EC 802BE27C 00000000 */ nop +.L802BE280: +/* 31A7F0 802BE280 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31A7F4 802BE284 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31A7F8 802BE288 94430134 */ lhu $v1, 0x134($v0) +/* 31A7FC 802BE28C 3C02AAAA */ lui $v0, 0xaaaa +/* 31A800 802BE290 3442AAAB */ ori $v0, $v0, 0xaaab +/* 31A804 802BE294 00620019 */ multu $v1, $v0 +/* 31A808 802BE298 00004010 */ mfhi $t0 +/* 31A80C 802BE29C 00082082 */ srl $a0, $t0, 2 +/* 31A810 802BE2A0 00041040 */ sll $v0, $a0, 1 +/* 31A814 802BE2A4 00441021 */ addu $v0, $v0, $a0 +/* 31A818 802BE2A8 00021040 */ sll $v0, $v0, 1 +/* 31A81C 802BE2AC 00621823 */ subu $v1, $v1, $v0 +/* 31A820 802BE2B0 3063FFFF */ andi $v1, $v1, 0xffff +/* 31A824 802BE2B4 14600004 */ bnez $v1, .L802BE2C8 +/* 31A828 802BE2B8 24042009 */ addiu $a0, $zero, 0x2009 +/* 31A82C 802BE2BC 0000282D */ daddu $a1, $zero, $zero +/* 31A830 802BE2C0 0C052742 */ jal play_sound_at_npc +/* 31A834 802BE2C4 2406FFFC */ addiu $a2, $zero, -4 +.L802BE2C8: +/* 31A838 802BE2C8 C604001C */ lwc1 $f4, 0x1c($s0) +/* 31A83C 802BE2CC C6000014 */ lwc1 $f0, 0x14($s0) +/* 31A840 802BE2D0 46002101 */ sub.s $f4, $f4, $f0 +/* 31A844 802BE2D4 44801000 */ mtc1 $zero, $f2 +/* 31A848 802BE2D8 44801800 */ mtc1 $zero, $f3 +/* 31A84C 802BE2DC 46002021 */ cvt.d.s $f0, $f4 +/* 31A850 802BE2E0 4620103C */ c.lt.d $f2, $f0 +/* 31A854 802BE2E4 00000000 */ nop +/* 31A858 802BE2E8 45000002 */ bc1f .L802BE2F4 +/* 31A85C 802BE2EC E604001C */ swc1 $f4, 0x1c($s0) +/* 31A860 802BE2F0 AE00001C */ sw $zero, 0x1c($s0) +.L802BE2F4: +/* 31A864 802BE2F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 31A868 802BE2F8 C602001C */ lwc1 $f2, 0x1c($s0) +/* 31A86C 802BE2FC 46020000 */ add.s $f0, $f0, $f2 +/* 31A870 802BE300 E600003C */ swc1 $f0, 0x3c($s0) +/* 31A874 802BE304 C620002C */ lwc1 $f0, 0x2c($s1) +/* 31A878 802BE308 8E220004 */ lw $v0, 4($s1) +/* 31A87C 802BE30C 46020000 */ add.s $f0, $f0, $f2 +/* 31A880 802BE310 30428000 */ andi $v0, $v0, 0x8000 +/* 31A884 802BE314 1440FE9C */ bnez $v0, .L802BDD88 +/* 31A888 802BE318 E620002C */ swc1 $f0, 0x2c($s1) +/* 31A88C 802BE31C C6000018 */ lwc1 $f0, 0x18($s0) +/* 31A890 802BE320 3C01802C */ lui $at, 0x802c +/* 31A894 802BE324 D422EBA0 */ ldc1 $f2, -0x1460($at) +/* 31A898 802BE328 46000021 */ cvt.d.s $f0, $f0 +/* 31A89C 802BE32C 46220000 */ add.d $f0, $f0, $f2 +/* 31A8A0 802BE330 3C014000 */ lui $at, 0x4000 +/* 31A8A4 802BE334 44812800 */ mtc1 $at, $f5 +/* 31A8A8 802BE338 44802000 */ mtc1 $zero, $f4 +/* 31A8AC 802BE33C 46200020 */ cvt.s.d $f0, $f0 +/* 31A8B0 802BE340 460000A1 */ cvt.d.s $f2, $f0 +/* 31A8B4 802BE344 4622203C */ c.lt.d $f4, $f2 +/* 31A8B8 802BE348 00000000 */ nop +/* 31A8BC 802BE34C 45000005 */ bc1f .L802BE364 +/* 31A8C0 802BE350 E6000018 */ swc1 $f0, 0x18($s0) +/* 31A8C4 802BE354 3C014000 */ lui $at, 0x4000 +/* 31A8C8 802BE358 44810000 */ mtc1 $at, $f0 +/* 31A8CC 802BE35C 00000000 */ nop +/* 31A8D0 802BE360 E6000018 */ swc1 $f0, 0x18($s0) +.L802BE364: +/* 31A8D4 802BE364 26040038 */ addiu $a0, $s0, 0x38 +/* 31A8D8 802BE368 8E060018 */ lw $a2, 0x18($s0) +/* 31A8DC 802BE36C 8E07000C */ lw $a3, 0xc($s0) +/* 31A8E0 802BE370 0C00A7E7 */ jal add_vec2D_polar +/* 31A8E4 802BE374 26050040 */ addiu $a1, $s0, 0x40 +/* 31A8E8 802BE378 26240028 */ addiu $a0, $s1, 0x28 +/* 31A8EC 802BE37C 8E060018 */ lw $a2, 0x18($s0) +/* 31A8F0 802BE380 8E07000C */ lw $a3, 0xc($s0) +/* 31A8F4 802BE384 0C00A7E7 */ jal add_vec2D_polar +/* 31A8F8 802BE388 26250030 */ addiu $a1, $s1, 0x30 +/* 31A8FC 802BE38C C6000030 */ lwc1 $f0, 0x30($s0) +/* 31A900 802BE390 3C01802C */ lui $at, 0x802c +/* 31A904 802BE394 D422EBA8 */ ldc1 $f2, -0x1458($at) +/* 31A908 802BE398 C6060010 */ lwc1 $f6, 0x10($s0) +/* 31A90C 802BE39C 46000021 */ cvt.d.s $f0, $f0 +/* 31A910 802BE3A0 46220001 */ sub.d $f0, $f0, $f2 +/* 31A914 802BE3A4 C6020018 */ lwc1 $f2, 0x18($s0) +/* 31A918 802BE3A8 3C013FF8 */ lui $at, 0x3ff8 +/* 31A91C 802BE3AC 44812800 */ mtc1 $at, $f5 +/* 31A920 802BE3B0 44802000 */ mtc1 $zero, $f4 +/* 31A924 802BE3B4 46023180 */ add.s $f6, $f6, $f2 +/* 31A928 802BE3B8 46200020 */ cvt.s.d $f0, $f0 +/* 31A92C 802BE3BC 460000A1 */ cvt.d.s $f2, $f0 +/* 31A930 802BE3C0 4624103C */ c.lt.d $f2, $f4 +/* 31A934 802BE3C4 E6000030 */ swc1 $f0, 0x30($s0) +/* 31A938 802BE3C8 45000005 */ bc1f .L802BE3E0 +/* 31A93C 802BE3CC E6060010 */ swc1 $f6, 0x10($s0) +/* 31A940 802BE3D0 3C013FC0 */ lui $at, 0x3fc0 +/* 31A944 802BE3D4 44810000 */ mtc1 $at, $f0 +/* 31A948 802BE3D8 00000000 */ nop +/* 31A94C 802BE3DC E6000030 */ swc1 $f0, 0x30($s0) +.L802BE3E0: +/* 31A950 802BE3E0 C6020010 */ lwc1 $f2, 0x10($s0) +/* 31A954 802BE3E4 3C0142A0 */ lui $at, 0x42a0 +/* 31A958 802BE3E8 44810000 */ mtc1 $at, $f0 +/* 31A95C 802BE3EC 00000000 */ nop +/* 31A960 802BE3F0 4602003C */ c.lt.s $f0, $f2 +/* 31A964 802BE3F4 00000000 */ nop +/* 31A968 802BE3F8 45000009 */ bc1f .L802BE420 +/* 31A96C 802BE3FC 00000000 */ nop +/* 31A970 802BE400 C6000030 */ lwc1 $f0, 0x30($s0) +/* 31A974 802BE404 3C013FE0 */ lui $at, 0x3fe0 +/* 31A978 802BE408 44811800 */ mtc1 $at, $f3 +/* 31A97C 802BE40C 44801000 */ mtc1 $zero, $f2 +/* 31A980 802BE410 46000021 */ cvt.d.s $f0, $f0 +/* 31A984 802BE414 46220000 */ add.d $f0, $f0, $f2 +/* 31A988 802BE418 46200020 */ cvt.s.d $f0, $f0 +/* 31A98C 802BE41C E6000030 */ swc1 $f0, 0x30($s0) +.L802BE420: +/* 31A990 802BE420 8E220004 */ lw $v0, 4($s1) +/* 31A994 802BE424 30428000 */ andi $v0, $v0, 0x8000 +/* 31A998 802BE428 1440FE58 */ bnez $v0, .L802BDD8C +/* 31A99C 802BE42C 3C040001 */ lui $a0, 1 +/* 31A9A0 802BE430 27B20020 */ addiu $s2, $sp, 0x20 +/* 31A9A4 802BE434 0240282D */ daddu $a1, $s2, $zero +/* 31A9A8 802BE438 27B30024 */ addiu $s3, $sp, 0x24 +/* 31A9AC 802BE43C 0260302D */ daddu $a2, $s3, $zero +/* 31A9B0 802BE440 27B40028 */ addiu $s4, $sp, 0x28 +/* 31A9B4 802BE444 C6200028 */ lwc1 $f0, 0x28($s1) +/* 31A9B8 802BE448 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31A9BC 802BE44C C6240030 */ lwc1 $f4, 0x30($s1) +/* 31A9C0 802BE450 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31A9C4 802BE454 0280382D */ daddu $a3, $s4, $zero +/* 31A9C8 802BE458 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31A9CC 802BE45C E7A20024 */ swc1 $f2, 0x24($sp) +/* 31A9D0 802BE460 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31A9D4 802BE464 E7A60010 */ swc1 $f6, 0x10($sp) +/* 31A9D8 802BE468 C602000C */ lwc1 $f2, 0xc($s0) +/* 31A9DC 802BE46C 862200B0 */ lh $v0, 0xb0($s1) +/* 31A9E0 802BE470 862300B2 */ lh $v1, 0xb2($s1) +/* 31A9E4 802BE474 44820000 */ mtc1 $v0, $f0 +/* 31A9E8 802BE478 00000000 */ nop +/* 31A9EC 802BE47C 46800020 */ cvt.s.w $f0, $f0 +/* 31A9F0 802BE480 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31A9F4 802BE484 44830000 */ mtc1 $v1, $f0 +/* 31A9F8 802BE488 00000000 */ nop +/* 31A9FC 802BE48C 46800020 */ cvt.s.w $f0, $f0 +/* 31AA00 802BE490 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31AA04 802BE494 0C037765 */ jal func_800DDD94 +/* 31AA08 802BE498 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31AA0C 802BE49C 10400007 */ beqz $v0, .L802BE4BC +/* 31AA10 802BE4A0 3C040001 */ lui $a0, 1 +/* 31AA14 802BE4A4 0C037FBF */ jal func_800DFEFC +/* 31AA18 802BE4A8 34840002 */ ori $a0, $a0, 2 +/* 31AA1C 802BE4AC 3C01802C */ lui $at, 0x802c +/* 31AA20 802BE4B0 AC35EBC0 */ sw $s5, -0x1440($at) +/* 31AA24 802BE4B4 080AF9E3 */ j .L802BE78C +/* 31AA28 802BE4B8 00000000 */ nop +.L802BE4BC: +/* 31AA2C 802BE4BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 31AA30 802BE4C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31AA34 802BE4C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31AA38 802BE4C8 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31AA3C 802BE4CC E7A00020 */ swc1 $f0, 0x20($sp) +/* 31AA40 802BE4D0 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31AA44 802BE4D4 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31AA48 802BE4D8 E7A60010 */ swc1 $f6, 0x10($sp) +/* 31AA4C 802BE4DC C600000C */ lwc1 $f0, 0xc($s0) +/* 31AA50 802BE4E0 0240282D */ daddu $a1, $s2, $zero +/* 31AA54 802BE4E4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31AA58 802BE4E8 860200A8 */ lh $v0, 0xa8($s0) +/* 31AA5C 802BE4EC 0260302D */ daddu $a2, $s3, $zero +/* 31AA60 802BE4F0 44820000 */ mtc1 $v0, $f0 +/* 31AA64 802BE4F4 00000000 */ nop +/* 31AA68 802BE4F8 46800020 */ cvt.s.w $f0, $f0 +/* 31AA6C 802BE4FC E7A00018 */ swc1 $f0, 0x18($sp) +/* 31AA70 802BE500 860200A6 */ lh $v0, 0xa6($s0) +/* 31AA74 802BE504 0280382D */ daddu $a3, $s4, $zero +/* 31AA78 802BE508 44820000 */ mtc1 $v0, $f0 +/* 31AA7C 802BE50C 00000000 */ nop +/* 31AA80 802BE510 46800020 */ cvt.s.w $f0, $f0 +/* 31AA84 802BE514 0C037765 */ jal func_800DDD94 +/* 31AA88 802BE518 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31AA8C 802BE51C 1440FE1B */ bnez $v0, .L802BDD8C +/* 31AA90 802BE520 3C040001 */ lui $a0, 1 +/* 31AA94 802BE524 0000A82D */ daddu $s5, $zero, $zero +/* 31AA98 802BE528 0240282D */ daddu $a1, $s2, $zero +/* 31AA9C 802BE52C 0260302D */ daddu $a2, $s3, $zero +/* 31AAA0 802BE530 860200A8 */ lh $v0, 0xa8($s0) +/* 31AAA4 802BE534 3C013F00 */ lui $at, 0x3f00 +/* 31AAA8 802BE538 44810000 */ mtc1 $at, $f0 +/* 31AAAC 802BE53C 44823000 */ mtc1 $v0, $f6 +/* 31AAB0 802BE540 00000000 */ nop +/* 31AAB4 802BE544 468031A0 */ cvt.s.w $f6, $f6 +/* 31AAB8 802BE548 46003182 */ mul.s $f6, $f6, $f0 +/* 31AABC 802BE54C 00000000 */ nop +/* 31AAC0 802BE550 0280382D */ daddu $a3, $s4, $zero +/* 31AAC4 802BE554 C6080038 */ lwc1 $f8, 0x38($s0) +/* 31AAC8 802BE558 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31AACC 802BE55C 44821000 */ mtc1 $v0, $f2 +/* 31AAD0 802BE560 00000000 */ nop +/* 31AAD4 802BE564 468010A0 */ cvt.s.w $f2, $f2 +/* 31AAD8 802BE568 46001082 */ mul.s $f2, $f2, $f0 +/* 31AADC 802BE56C 00000000 */ nop +/* 31AAE0 802BE570 C600003C */ lwc1 $f0, 0x3c($s0) +/* 31AAE4 802BE574 27A2002C */ addiu $v0, $sp, 0x2c +/* 31AAE8 802BE578 E7A80020 */ swc1 $f8, 0x20($sp) +/* 31AAEC 802BE57C E7A40028 */ swc1 $f4, 0x28($sp) +/* 31AAF0 802BE580 46060000 */ add.s $f0, $f0, $f6 +/* 31AAF4 802BE584 46001506 */ mov.s $f20, $f2 +/* 31AAF8 802BE588 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 31AAFC 802BE58C E7A00024 */ swc1 $f0, 0x24($sp) +/* 31AB00 802BE590 0C03739C */ jal func_800DCE70 +/* 31AB04 802BE594 AFA20010 */ sw $v0, 0x10($sp) +/* 31AB08 802BE598 10400013 */ beqz $v0, .L802BE5E8 +/* 31AB0C 802BE59C 00000000 */ nop +/* 31AB10 802BE5A0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 31AB14 802BE5A4 4614003C */ c.lt.s $f0, $f20 +/* 31AB18 802BE5A8 00000000 */ nop +/* 31AB1C 802BE5AC 4500000E */ bc1f .L802BE5E8 +/* 31AB20 802BE5B0 00000000 */ nop +/* 31AB24 802BE5B4 860200A8 */ lh $v0, 0xa8($s0) +/* 31AB28 802BE5B8 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31AB2C 802BE5BC 44820000 */ mtc1 $v0, $f0 +/* 31AB30 802BE5C0 00000000 */ nop +/* 31AB34 802BE5C4 46800020 */ cvt.s.w $f0, $f0 +/* 31AB38 802BE5C8 46001081 */ sub.s $f2, $f2, $f0 +/* 31AB3C 802BE5CC 3C014200 */ lui $at, 0x4200 +/* 31AB40 802BE5D0 44810000 */ mtc1 $at, $f0 +/* 31AB44 802BE5D4 00000000 */ nop +/* 31AB48 802BE5D8 46001001 */ sub.s $f0, $f2, $f0 +/* 31AB4C 802BE5DC 24150001 */ addiu $s5, $zero, 1 +/* 31AB50 802BE5E0 E602003C */ swc1 $f2, 0x3c($s0) +/* 31AB54 802BE5E4 E620002C */ swc1 $f0, 0x2c($s1) +.L802BE5E8: +/* 31AB58 802BE5E8 862200B0 */ lh $v0, 0xb0($s1) +/* 31AB5C 802BE5EC 3C013F00 */ lui $at, 0x3f00 +/* 31AB60 802BE5F0 44810000 */ mtc1 $at, $f0 +/* 31AB64 802BE5F4 44823000 */ mtc1 $v0, $f6 +/* 31AB68 802BE5F8 00000000 */ nop +/* 31AB6C 802BE5FC 468031A0 */ cvt.s.w $f6, $f6 +/* 31AB70 802BE600 46003182 */ mul.s $f6, $f6, $f0 +/* 31AB74 802BE604 00000000 */ nop +/* 31AB78 802BE608 3C040001 */ lui $a0, 1 +/* 31AB7C 802BE60C 27A50020 */ addiu $a1, $sp, 0x20 +/* 31AB80 802BE610 44822000 */ mtc1 $v0, $f4 +/* 31AB84 802BE614 00000000 */ nop +/* 31AB88 802BE618 46802120 */ cvt.s.w $f4, $f4 +/* 31AB8C 802BE61C 46002102 */ mul.s $f4, $f4, $f0 +/* 31AB90 802BE620 00000000 */ nop +/* 31AB94 802BE624 C6200028 */ lwc1 $f0, 0x28($s1) +/* 31AB98 802BE628 27A2002C */ addiu $v0, $sp, 0x2c +/* 31AB9C 802BE62C E7A00020 */ swc1 $f0, 0x20($sp) +/* 31ABA0 802BE630 C620002C */ lwc1 $f0, 0x2c($s1) +/* 31ABA4 802BE634 C6220030 */ lwc1 $f2, 0x30($s1) +/* 31ABA8 802BE638 46060000 */ add.s $f0, $f0, $f6 +/* 31ABAC 802BE63C E7A20028 */ swc1 $f2, 0x28($sp) +/* 31ABB0 802BE640 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 31ABB4 802BE644 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31ABB8 802BE648 AFA20010 */ sw $v0, 0x10($sp) +/* 31ABBC 802BE64C C600000C */ lwc1 $f0, 0xc($s0) +/* 31ABC0 802BE650 27A60024 */ addiu $a2, $sp, 0x24 +/* 31ABC4 802BE654 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31ABC8 802BE658 860200A6 */ lh $v0, 0xa6($s0) +/* 31ABCC 802BE65C 27A70028 */ addiu $a3, $sp, 0x28 +/* 31ABD0 802BE660 44820000 */ mtc1 $v0, $f0 +/* 31ABD4 802BE664 00000000 */ nop +/* 31ABD8 802BE668 46800020 */ cvt.s.w $f0, $f0 +/* 31ABDC 802BE66C 0C0371DE */ jal func_800DC778 +/* 31ABE0 802BE670 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31ABE4 802BE674 10400018 */ beqz $v0, .L802BE6D8 +/* 31ABE8 802BE678 0200202D */ daddu $a0, $s0, $zero +/* 31ABEC 802BE67C C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31ABF0 802BE680 C624002C */ lwc1 $f4, 0x2c($s1) +/* 31ABF4 802BE684 46040001 */ sub.s $f0, $f0, $f4 +/* 31ABF8 802BE688 3C013E80 */ lui $at, 0x3e80 +/* 31ABFC 802BE68C 44811000 */ mtc1 $at, $f2 +/* 31AC00 802BE690 00000000 */ nop +/* 31AC04 802BE694 46020002 */ mul.s $f0, $f0, $f2 +/* 31AC08 802BE698 00000000 */ nop +/* 31AC0C 802BE69C 46002100 */ add.s $f4, $f4, $f0 +/* 31AC10 802BE6A0 3C014200 */ lui $at, 0x4200 +/* 31AC14 802BE6A4 44810000 */ mtc1 $at, $f0 +/* 31AC18 802BE6A8 00000000 */ nop +/* 31AC1C 802BE6AC 46002000 */ add.s $f0, $f4, $f0 +/* 31AC20 802BE6B0 E624002C */ swc1 $f4, 0x2c($s1) +/* 31AC24 802BE6B4 E600003C */ swc1 $f0, 0x3c($s0) +/* 31AC28 802BE6B8 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31AC2C 802BE6BC 0000282D */ daddu $a1, $zero, $zero +/* 31AC30 802BE6C0 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31AC34 802BE6C4 0C00F598 */ jal func_8003D660 +/* 31AC38 802BE6C8 E602003C */ swc1 $f2, 0x3c($s0) +/* 31AC3C 802BE6CC C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31AC40 802BE6D0 16A0002B */ bnez $s5, .L802BE780 +/* 31AC44 802BE6D4 E600003C */ swc1 $f0, 0x3c($s0) +.L802BE6D8: +/* 31AC48 802BE6D8 0C03954C */ jal func_800E5530 +/* 31AC4C 802BE6DC 00000000 */ nop +/* 31AC50 802BE6E0 14400006 */ bnez $v0, .L802BE6FC +/* 31AC54 802BE6E4 00000000 */ nop +/* 31AC58 802BE6E8 3C03800B */ lui $v1, %hi(gCameras) +/* 31AC5C 802BE6EC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 31AC60 802BE6F0 94620002 */ lhu $v0, 2($v1) +/* 31AC64 802BE6F4 3042FFFD */ andi $v0, $v0, 0xfffd +/* 31AC68 802BE6F8 A4620002 */ sh $v0, 2($v1) +.L802BE6FC: +/* 31AC6C 802BE6FC C6200028 */ lwc1 $f0, 0x28($s1) +/* 31AC70 802BE700 C622002C */ lwc1 $f2, 0x2c($s1) +/* 31AC74 802BE704 C6240030 */ lwc1 $f4, 0x30($s1) +/* 31AC78 802BE708 3C02800B */ lui $v0, %hi(gCameras) +/* 31AC7C 802BE70C 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 31AC80 802BE710 E4400060 */ swc1 $f0, 0x60($v0) +/* 31AC84 802BE714 E4420064 */ swc1 $f2, 0x64($v0) +/* 31AC88 802BE718 E4440068 */ swc1 $f4, 0x68($v0) +/* 31AC8C 802BE71C 8E020000 */ lw $v0, ($s0) +/* 31AC90 802BE720 30424000 */ andi $v0, $v0, 0x4000 +/* 31AC94 802BE724 1440FD99 */ bnez $v0, .L802BDD8C +/* 31AC98 802BE728 3C040001 */ lui $a0, 1 +/* 31AC9C 802BE72C C6020010 */ lwc1 $f2, 0x10($s0) +/* 31ACA0 802BE730 9602008E */ lhu $v0, 0x8e($s0) +/* 31ACA4 802BE734 3C0142C8 */ lui $at, 0x42c8 +/* 31ACA8 802BE738 44810000 */ mtc1 $at, $f0 +/* 31ACAC 802BE73C 24420001 */ addiu $v0, $v0, 1 +/* 31ACB0 802BE740 4600103C */ c.lt.s $f2, $f0 +/* 31ACB4 802BE744 00000000 */ nop +/* 31ACB8 802BE748 45010010 */ bc1t .L802BE78C +/* 31ACBC 802BE74C A602008E */ sh $v0, 0x8e($s0) +/* 31ACC0 802BE750 24020005 */ addiu $v0, $zero, 5 +/* 31ACC4 802BE754 3C01802C */ lui $at, 0x802c +/* 31ACC8 802BE758 AC22EBC4 */ sw $v0, -0x143c($at) +/* 31ACCC 802BE75C 080AF9E1 */ j .L802BE784 +/* 31ACD0 802BE760 24020006 */ addiu $v0, $zero, 6 +/* 31ACD4 802BE764 3C03802C */ lui $v1, 0x802c +/* 31ACD8 802BE768 2463EBC4 */ addiu $v1, $v1, -0x143c +/* 31ACDC 802BE76C 8C620000 */ lw $v0, ($v1) +/* 31ACE0 802BE770 10400003 */ beqz $v0, .L802BE780 +/* 31ACE4 802BE774 2442FFFF */ addiu $v0, $v0, -1 +/* 31ACE8 802BE778 080AF9E3 */ j .L802BE78C +/* 31ACEC 802BE77C AC620000 */ sw $v0, ($v1) +.L802BE780: +/* 31ACF0 802BE780 24020015 */ addiu $v0, $zero, 0x15 +.L802BE784: +/* 31ACF4 802BE784 3C01802C */ lui $at, 0x802c +/* 31ACF8 802BE788 AC22EBC0 */ sw $v0, -0x1440($at) +.L802BE78C: +/* 31ACFC 802BE78C 3C12802C */ lui $s2, 0x802c +/* 31AD00 802BE790 2652EBC0 */ addiu $s2, $s2, -0x1440 +/* 31AD04 802BE794 8E420000 */ lw $v0, ($s2) +/* 31AD08 802BE798 2442FFEC */ addiu $v0, $v0, -0x14 +/* 31AD0C 802BE79C 2C420003 */ sltiu $v0, $v0, 3 +/* 31AD10 802BE7A0 1040003B */ beqz $v0, .L802BE890 +/* 31AD14 802BE7A4 3C020004 */ lui $v0, 4 +/* 31AD18 802BE7A8 34420001 */ ori $v0, $v0, 1 +/* 31AD1C 802BE7AC 0200202D */ daddu $a0, $s0, $zero +/* 31AD20 802BE7B0 AC820028 */ sw $v0, 0x28($a0) +/* 31AD24 802BE7B4 8C820000 */ lw $v0, ($a0) +/* 31AD28 802BE7B8 3C013F80 */ lui $at, 0x3f80 +/* 31AD2C 802BE7BC 44810000 */ mtc1 $at, $f0 +/* 31AD30 802BE7C0 2403F7FF */ addiu $v1, $zero, -0x801 +/* 31AD34 802BE7C4 3C01802C */ lui $at, 0x802c +/* 31AD38 802BE7C8 AC20EBB0 */ sw $zero, -0x1450($at) +/* 31AD3C 802BE7CC AC80001C */ sw $zero, 0x1c($a0) +/* 31AD40 802BE7D0 00431024 */ and $v0, $v0, $v1 +/* 31AD44 802BE7D4 AC820000 */ sw $v0, ($a0) +/* 31AD48 802BE7D8 0C03BD17 */ jal clear_partner_move_history +/* 31AD4C 802BE7DC E4800030 */ swc1 $f0, 0x30($a0) +/* 31AD50 802BE7E0 A2E00003 */ sb $zero, 3($s7) +/* 31AD54 802BE7E4 0C03BCCA */ jal enable_partner_ai +/* 31AD58 802BE7E8 A2E00000 */ sb $zero, ($s7) +/* 31AD5C 802BE7EC 0C05271B */ jal stop_sound +/* 31AD60 802BE7F0 24042009 */ addiu $a0, $zero, 0x2009 +/* 31AD64 802BE7F4 3C02802C */ lui $v0, 0x802c +/* 31AD68 802BE7F8 8C42EBB4 */ lw $v0, -0x144c($v0) +/* 31AD6C 802BE7FC 10400003 */ beqz $v0, .L802BE80C +/* 31AD70 802BE800 00000000 */ nop +/* 31AD74 802BE804 0C038069 */ jal enable_player_input +/* 31AD78 802BE808 00000000 */ nop +.L802BE80C: +/* 31AD7C 802BE80C 3C02802C */ lui $v0, 0x802c +/* 31AD80 802BE810 8C42EBB8 */ lw $v0, -0x1448($v0) +/* 31AD84 802BE814 10400003 */ beqz $v0, .L802BE824 +/* 31AD88 802BE818 00000000 */ nop +/* 31AD8C 802BE81C 0C038050 */ jal enable_player_static_collisions +/* 31AD90 802BE820 00000000 */ nop +.L802BE824: +/* 31AD94 802BE824 8E220000 */ lw $v0, ($s1) +/* 31AD98 802BE828 30420800 */ andi $v0, $v0, 0x800 +/* 31AD9C 802BE82C 14400014 */ bnez $v0, .L802BE880 +/* 31ADA0 802BE830 24040017 */ addiu $a0, $zero, 0x17 +/* 31ADA4 802BE834 8E430000 */ lw $v1, ($s2) +/* 31ADA8 802BE838 24020014 */ addiu $v0, $zero, 0x14 +/* 31ADAC 802BE83C 14620005 */ bne $v1, $v0, .L802BE854 +/* 31ADB0 802BE840 24020015 */ addiu $v0, $zero, 0x15 +/* 31ADB4 802BE844 0C039823 */ jal start_bounce_b +/* 31ADB8 802BE848 00000000 */ nop +/* 31ADBC 802BE84C 080AFA25 */ j .L802BE894 +/* 31ADC0 802BE850 24020002 */ addiu $v0, $zero, 2 +.L802BE854: +/* 31ADC4 802BE854 1462000A */ bne $v1, $v0, .L802BE880 +/* 31ADC8 802BE858 0000202D */ daddu $a0, $zero, $zero +/* 31ADCC 802BE85C 0C0397F4 */ jal start_falling +/* 31ADD0 802BE860 00000000 */ nop +/* 31ADD4 802BE864 0C038C1B */ jal gravity_use_fall_parms +/* 31ADD8 802BE868 00000000 */ nop +/* 31ADDC 802BE86C 8E220000 */ lw $v0, ($s1) +/* 31ADE0 802BE870 3C030080 */ lui $v1, 0x80 +/* 31ADE4 802BE874 00431025 */ or $v0, $v0, $v1 +/* 31ADE8 802BE878 080AF5C1 */ j .L802BD704 +/* 31ADEC 802BE87C AE220000 */ sw $v0, ($s1) +.L802BE880: +/* 31ADF0 802BE880 0C039769 */ jal set_action_state +/* 31ADF4 802BE884 00000000 */ nop +/* 31ADF8 802BE888 080AFA25 */ j .L802BE894 +/* 31ADFC 802BE88C 24020002 */ addiu $v0, $zero, 2 +.L802BE890: +/* 31AE00 802BE890 0000102D */ daddu $v0, $zero, $zero +.L802BE894: +/* 31AE04 802BE894 8FBF005C */ lw $ra, 0x5c($sp) +/* 31AE08 802BE898 8FBE0058 */ lw $fp, 0x58($sp) +/* 31AE0C 802BE89C 8FB70054 */ lw $s7, 0x54($sp) +/* 31AE10 802BE8A0 8FB60050 */ lw $s6, 0x50($sp) +/* 31AE14 802BE8A4 8FB5004C */ lw $s5, 0x4c($sp) +/* 31AE18 802BE8A8 8FB40048 */ lw $s4, 0x48($sp) +/* 31AE1C 802BE8AC 8FB30044 */ lw $s3, 0x44($sp) +/* 31AE20 802BE8B0 8FB20040 */ lw $s2, 0x40($sp) +/* 31AE24 802BE8B4 8FB1003C */ lw $s1, 0x3c($sp) +/* 31AE28 802BE8B8 8FB00038 */ lw $s0, 0x38($sp) +/* 31AE2C 802BE8BC D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 31AE30 802BE8C0 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 31AE34 802BE8C4 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 31AE38 802BE8C8 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 31AE3C 802BE8CC 03E00008 */ jr $ra +/* 31AE40 802BE8D0 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_319670/func_802BE8D4.s b/asm/nonmatchings/code_319670/func_802BE8D4.s new file mode 100644 index 0000000000..039582ff67 --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BE8D4.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE8D4 +/* 31AE44 802BE8D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31AE48 802BE8D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 31AE4C 802BE8DC AFB00010 */ sw $s0, 0x10($sp) +/* 31AE50 802BE8E0 10A00003 */ beqz $a1, .L802BE8F0 +/* 31AE54 802BE8E4 8C90014C */ lw $s0, 0x14c($a0) +/* 31AE58 802BE8E8 0C03BA65 */ jal func_800EE994 +/* 31AE5C 802BE8EC 0200202D */ daddu $a0, $s0, $zero +.L802BE8F0: +/* 31AE60 802BE8F0 0C03BA6E */ jal func_800EE9B8 +/* 31AE64 802BE8F4 0200202D */ daddu $a0, $s0, $zero +/* 31AE68 802BE8F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 31AE6C 802BE8FC 8FB00010 */ lw $s0, 0x10($sp) +/* 31AE70 802BE900 0002102B */ sltu $v0, $zero, $v0 +/* 31AE74 802BE904 03E00008 */ jr $ra +/* 31AE78 802BE908 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_319670/func_802BE90C.s b/asm/nonmatchings/code_319670/func_802BE90C.s new file mode 100644 index 0000000000..691e24e1b2 --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BE90C.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE90C +/* 31AE7C 802BE90C 3C02802C */ lui $v0, 0x802c +/* 31AE80 802BE910 8C42EBB0 */ lw $v0, -0x1450($v0) +/* 31AE84 802BE914 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 31AE88 802BE918 AFB00010 */ sw $s0, 0x10($sp) +/* 31AE8C 802BE91C 0080802D */ daddu $s0, $a0, $zero +/* 31AE90 802BE920 AFB10014 */ sw $s1, 0x14($sp) +/* 31AE94 802BE924 3C118011 */ lui $s1, %hi(D_8010EBB0) +/* 31AE98 802BE928 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0) +/* 31AE9C 802BE92C 10400021 */ beqz $v0, .L802BE9B4 +/* 31AEA0 802BE930 AFBF0018 */ sw $ra, 0x18($sp) +/* 31AEA4 802BE934 3C02802C */ lui $v0, 0x802c +/* 31AEA8 802BE938 8C42EBB8 */ lw $v0, -0x1448($v0) +/* 31AEAC 802BE93C 10400003 */ beqz $v0, .L802BE94C +/* 31AEB0 802BE940 00000000 */ nop +/* 31AEB4 802BE944 0C038050 */ jal enable_player_static_collisions +/* 31AEB8 802BE948 00000000 */ nop +.L802BE94C: +/* 31AEBC 802BE94C 3C02802C */ lui $v0, 0x802c +/* 31AEC0 802BE950 8C42EBB4 */ lw $v0, -0x144c($v0) +/* 31AEC4 802BE954 10400003 */ beqz $v0, .L802BE964 +/* 31AEC8 802BE958 00000000 */ nop +/* 31AECC 802BE95C 0C038069 */ jal enable_player_input +/* 31AED0 802BE960 00000000 */ nop +.L802BE964: +/* 31AED4 802BE964 0C039769 */ jal set_action_state +/* 31AED8 802BE968 0000202D */ daddu $a0, $zero, $zero +/* 31AEDC 802BE96C 26230018 */ addiu $v1, $s1, 0x18 +/* 31AEE0 802BE970 0200102D */ daddu $v0, $s0, $zero +/* 31AEE4 802BE974 26040340 */ addiu $a0, $s0, 0x340 +.L802BE978: +/* 31AEE8 802BE978 8C450000 */ lw $a1, ($v0) +/* 31AEEC 802BE97C 8C460004 */ lw $a2, 4($v0) +/* 31AEF0 802BE980 8C470008 */ lw $a3, 8($v0) +/* 31AEF4 802BE984 8C48000C */ lw $t0, 0xc($v0) +/* 31AEF8 802BE988 AC650000 */ sw $a1, ($v1) +/* 31AEFC 802BE98C AC660004 */ sw $a2, 4($v1) +/* 31AF00 802BE990 AC670008 */ sw $a3, 8($v1) +/* 31AF04 802BE994 AC68000C */ sw $t0, 0xc($v1) +/* 31AF08 802BE998 24420010 */ addiu $v0, $v0, 0x10 +/* 31AF0C 802BE99C 1444FFF6 */ bne $v0, $a0, .L802BE978 +/* 31AF10 802BE9A0 24630010 */ addiu $v1, $v1, 0x10 +/* 31AF14 802BE9A4 24020001 */ addiu $v0, $zero, 1 +/* 31AF18 802BE9A8 A2220001 */ sb $v0, 1($s1) +/* 31AF1C 802BE9AC 0C03BD17 */ jal clear_partner_move_history +/* 31AF20 802BE9B0 0200202D */ daddu $a0, $s0, $zero +.L802BE9B4: +/* 31AF24 802BE9B4 24020004 */ addiu $v0, $zero, 4 +/* 31AF28 802BE9B8 A2220003 */ sb $v0, 3($s1) +/* 31AF2C 802BE9BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 31AF30 802BE9C0 8FB10014 */ lw $s1, 0x14($sp) +/* 31AF34 802BE9C4 8FB00010 */ lw $s0, 0x10($sp) +/* 31AF38 802BE9C8 03E00008 */ jr $ra +/* 31AF3C 802BE9CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_319670/func_802BE9D0.s b/asm/nonmatchings/code_319670/func_802BE9D0.s new file mode 100644 index 0000000000..813d6e55f5 --- /dev/null +++ b/asm/nonmatchings/code_319670/func_802BE9D0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE9D0 +/* 31AF40 802BE9D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 31AF44 802BE9D4 AFB00010 */ sw $s0, 0x10($sp) +/* 31AF48 802BE9D8 3C108011 */ lui $s0, %hi(D_8010EBB0) +/* 31AF4C 802BE9DC 2610EBB0 */ addiu $s0, $s0, %lo(D_8010EBB0) +/* 31AF50 802BE9E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 31AF54 802BE9E4 AFB10014 */ sw $s1, 0x14($sp) +/* 31AF58 802BE9E8 82020001 */ lb $v0, 1($s0) +/* 31AF5C 802BE9EC 10400023 */ beqz $v0, .L802BEA7C +/* 31AF60 802BE9F0 0080882D */ daddu $s1, $a0, $zero +/* 31AF64 802BE9F4 3C02802C */ lui $v0, 0x802c +/* 31AF68 802BE9F8 8C42EBB8 */ lw $v0, -0x1448($v0) +/* 31AF6C 802BE9FC 10400003 */ beqz $v0, .L802BEA0C +/* 31AF70 802BEA00 00000000 */ nop +/* 31AF74 802BEA04 0C038045 */ jal disable_player_static_collisions +/* 31AF78 802BEA08 00000000 */ nop +.L802BEA0C: +/* 31AF7C 802BEA0C 3C02802C */ lui $v0, 0x802c +/* 31AF80 802BEA10 8C42EBB4 */ lw $v0, -0x144c($v0) +/* 31AF84 802BEA14 10400003 */ beqz $v0, .L802BEA24 +/* 31AF88 802BEA18 00000000 */ nop +/* 31AF8C 802BEA1C 0C03805E */ jal disable_player_input +/* 31AF90 802BEA20 00000000 */ nop +.L802BEA24: +/* 31AF94 802BEA24 0C039769 */ jal set_action_state +/* 31AF98 802BEA28 24040021 */ addiu $a0, $zero, 0x21 +/* 31AF9C 802BEA2C 0220182D */ daddu $v1, $s1, $zero +/* 31AFA0 802BEA30 26020018 */ addiu $v0, $s0, 0x18 +/* 31AFA4 802BEA34 26040358 */ addiu $a0, $s0, 0x358 +.L802BEA38: +/* 31AFA8 802BEA38 8C450000 */ lw $a1, ($v0) +/* 31AFAC 802BEA3C 8C460004 */ lw $a2, 4($v0) +/* 31AFB0 802BEA40 8C470008 */ lw $a3, 8($v0) +/* 31AFB4 802BEA44 8C48000C */ lw $t0, 0xc($v0) +/* 31AFB8 802BEA48 AC650000 */ sw $a1, ($v1) +/* 31AFBC 802BEA4C AC660004 */ sw $a2, 4($v1) +/* 31AFC0 802BEA50 AC670008 */ sw $a3, 8($v1) +/* 31AFC4 802BEA54 AC68000C */ sw $t0, 0xc($v1) +/* 31AFC8 802BEA58 24420010 */ addiu $v0, $v0, 0x10 +/* 31AFCC 802BEA5C 1444FFF6 */ bne $v0, $a0, .L802BEA38 +/* 31AFD0 802BEA60 24630010 */ addiu $v1, $v1, 0x10 +/* 31AFD4 802BEA64 0220202D */ daddu $a0, $s1, $zero +/* 31AFD8 802BEA68 A2000003 */ sb $zero, 3($s0) +/* 31AFDC 802BEA6C 0C03BD17 */ jal clear_partner_move_history +/* 31AFE0 802BEA70 A2000000 */ sb $zero, ($s0) +/* 31AFE4 802BEA74 0C03ACC5 */ jal partner_use_ability +/* 31AFE8 802BEA78 00000000 */ nop +.L802BEA7C: +/* 31AFEC 802BEA7C 8FBF0018 */ lw $ra, 0x18($sp) +/* 31AFF0 802BEA80 8FB10014 */ lw $s1, 0x14($sp) +/* 31AFF4 802BEA84 8FB00010 */ lw $s0, 0x10($sp) +/* 31AFF8 802BEA88 03E00008 */ jr $ra +/* 31AFFC 802BEA8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31B120/func_802BD100_31B120.s b/asm/nonmatchings/code_31B120/func_802BD100_31B120.s new file mode 100644 index 0000000000..faa533ca60 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD100_31B120.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_31B120 +/* 31B120 802BD100 3C038011 */ lui $v1, 0x8011 +/* 31B124 802BD104 8C63C978 */ lw $v1, -0x3688($v1) +/* 31B128 802BD108 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31B12C 802BD10C AFBF0010 */ sw $ra, 0x10($sp) +/* 31B130 802BD110 04600009 */ bltz $v1, .L802BD138 +/* 31B134 802BD114 0000102D */ daddu $v0, $zero, $zero +/* 31B138 802BD118 30624000 */ andi $v0, $v1, 0x4000 +/* 31B13C 802BD11C 10400005 */ beqz $v0, .L802BD134 +/* 31B140 802BD120 2404BFFF */ addiu $a0, $zero, -0x4001 +/* 31B144 802BD124 0C044277 */ jal func_801109DC +/* 31B148 802BD128 00642024 */ and $a0, $v1, $a0 +/* 31B14C 802BD12C 080AF44E */ j .L802BD138 +/* 31B150 802BD130 00000000 */ nop +.L802BD134: +/* 31B154 802BD134 0000102D */ daddu $v0, $zero, $zero +.L802BD138: +/* 31B158 802BD138 8FBF0010 */ lw $ra, 0x10($sp) +/* 31B15C 802BD13C 03E00008 */ jr $ra +/* 31B160 802BD140 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BD144.s b/asm/nonmatchings/code_31B120/func_802BD144.s new file mode 100644 index 0000000000..9e5a0cd403 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD144.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD144 +/* 31B164 802BD144 3C038011 */ lui $v1, 0x8011 +/* 31B168 802BD148 8C63C978 */ lw $v1, -0x3688($v1) +/* 31B16C 802BD14C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31B170 802BD150 04600007 */ bltz $v1, .L802BD170 +/* 31B174 802BD154 AFBF0010 */ sw $ra, 0x10($sp) +/* 31B178 802BD158 30624000 */ andi $v0, $v1, 0x4000 +/* 31B17C 802BD15C 10400004 */ beqz $v0, .L802BD170 +/* 31B180 802BD160 00000000 */ nop +/* 31B184 802BD164 2404BFFF */ addiu $a0, $zero, -0x4001 +/* 31B188 802BD168 0C044277 */ jal func_801109DC +/* 31B18C 802BD16C 00642024 */ and $a0, $v1, $a0 +.L802BD170: +/* 31B190 802BD170 8FBF0010 */ lw $ra, 0x10($sp) +/* 31B194 802BD174 03E00008 */ jr $ra +/* 31B198 802BD178 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BD17C.s b/asm/nonmatchings/code_31B120/func_802BD17C.s new file mode 100644 index 0000000000..b255de11ed --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD17C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD17C +/* 31B19C 802BD17C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31B1A0 802BD180 AFBF0010 */ sw $ra, 0x10($sp) +/* 31B1A4 802BD184 848200A6 */ lh $v0, 0xa6($a0) +/* 31B1A8 802BD188 C48C0038 */ lwc1 $f12, 0x38($a0) +/* 31B1AC 802BD18C C48E003C */ lwc1 $f14, 0x3c($a0) +/* 31B1B0 802BD190 8C860040 */ lw $a2, 0x40($a0) +/* 31B1B4 802BD194 44820000 */ mtc1 $v0, $f0 +/* 31B1B8 802BD198 00000000 */ nop +/* 31B1BC 802BD19C 46800020 */ cvt.s.w $f0, $f0 +/* 31B1C0 802BD1A0 44070000 */ mfc1 $a3, $f0 +/* 31B1C4 802BD1A4 0C04CFF2 */ jal func_80133FC8 +/* 31B1C8 802BD1A8 00000000 */ nop +/* 31B1CC 802BD1AC 0040282D */ daddu $a1, $v0, $zero +/* 31B1D0 802BD1B0 3C01802C */ lui $at, 0x802c +/* 31B1D4 802BD1B4 AC25EC68 */ sw $a1, -0x1398($at) +/* 31B1D8 802BD1B8 04A0000D */ bltz $a1, .L802BD1F0 +/* 31B1DC 802BD1BC 24040001 */ addiu $a0, $zero, 1 +/* 31B1E0 802BD1C0 3C02800A */ lui $v0, %hi(D_8009A650) +/* 31B1E4 802BD1C4 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 31B1E8 802BD1C8 8C430000 */ lw $v1, ($v0) +/* 31B1EC 802BD1CC 3C01802C */ lui $at, 0x802c +/* 31B1F0 802BD1D0 AC24EC6C */ sw $a0, -0x1394($at) +/* 31B1F4 802BD1D4 00A0202D */ daddu $a0, $a1, $zero +/* 31B1F8 802BD1D8 3C050020 */ lui $a1, 0x20 +/* 31B1FC 802BD1DC 34630040 */ ori $v1, $v1, 0x40 +/* 31B200 802BD1E0 0C04D052 */ jal set_item_entity_flags +/* 31B204 802BD1E4 AC430000 */ sw $v1, ($v0) +/* 31B208 802BD1E8 080AF47D */ j .L802BD1F4 +/* 31B20C 802BD1EC 24020001 */ addiu $v0, $zero, 1 +.L802BD1F0: +/* 31B210 802BD1F0 0000102D */ daddu $v0, $zero, $zero +.L802BD1F4: +/* 31B214 802BD1F4 8FBF0010 */ lw $ra, 0x10($sp) +/* 31B218 802BD1F8 03E00008 */ jr $ra +/* 31B21C 802BD1FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BD200.s b/asm/nonmatchings/code_31B120/func_802BD200.s new file mode 100644 index 0000000000..f1279c2c76 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD200.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD200 +/* 31B220 802BD200 24020025 */ addiu $v0, $zero, 0x25 +/* 31B224 802BD204 A48200A8 */ sh $v0, 0xa8($a0) +/* 31B228 802BD208 24020018 */ addiu $v0, $zero, 0x18 +/* 31B22C 802BD20C A48200A6 */ sh $v0, 0xa6($a0) +/* 31B230 802BD210 3C020001 */ lui $v0, 1 +/* 31B234 802BD214 AC820080 */ sw $v0, 0x80($a0) +/* 31B238 802BD218 3C01802C */ lui $at, 0x802c +/* 31B23C 802BD21C AC20EC54 */ sw $zero, -0x13ac($at) +/* 31B240 802BD220 03E00008 */ jr $ra +/* 31B244 802BD224 00000000 */ nop diff --git a/asm/nonmatchings/code_31B120/func_802BD228.s b/asm/nonmatchings/code_31B120/func_802BD228.s new file mode 100644 index 0000000000..15bb08d73c --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD228.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD228 +/* 31B248 802BD228 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31B24C 802BD22C AFBF0014 */ sw $ra, 0x14($sp) +/* 31B250 802BD230 AFB00010 */ sw $s0, 0x10($sp) +/* 31B254 802BD234 10A00003 */ beqz $a1, .L802BD244 +/* 31B258 802BD238 8C90014C */ lw $s0, 0x14c($a0) +/* 31B25C 802BD23C 0C03BB31 */ jal func_800EECC4 +/* 31B260 802BD240 0200202D */ daddu $a0, $s0, $zero +.L802BD244: +/* 31B264 802BD244 0C03BB3A */ jal func_800EECE8 +/* 31B268 802BD248 0200202D */ daddu $a0, $s0, $zero +/* 31B26C 802BD24C 8FBF0014 */ lw $ra, 0x14($sp) +/* 31B270 802BD250 8FB00010 */ lw $s0, 0x10($sp) +/* 31B274 802BD254 0002102B */ sltu $v0, $zero, $v0 +/* 31B278 802BD258 03E00008 */ jr $ra +/* 31B27C 802BD25C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BD260.s b/asm/nonmatchings/code_31B120/func_802BD260.s new file mode 100644 index 0000000000..b5343402bf --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD260.s @@ -0,0 +1,247 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD260 +/* 31B280 802BD260 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31B284 802BD264 AFB00018 */ sw $s0, 0x18($sp) +/* 31B288 802BD268 3C108011 */ lui $s0, %hi(gPlayerData) +/* 31B28C 802BD26C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 31B290 802BD270 AFBF0028 */ sw $ra, 0x28($sp) +/* 31B294 802BD274 AFB30024 */ sw $s3, 0x24($sp) +/* 31B298 802BD278 AFB20020 */ sw $s2, 0x20($sp) +/* 31B29C 802BD27C AFB1001C */ sw $s1, 0x1c($sp) +/* 31B2A0 802BD280 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 31B2A4 802BD284 8C91014C */ lw $s1, 0x14c($a0) +/* 31B2A8 802BD288 10A00009 */ beqz $a1, .L802BD2B0 +/* 31B2AC 802BD28C 0220202D */ daddu $a0, $s1, $zero +/* 31B2B0 802BD290 0C03AE2A */ jal enable_partner_walking +/* 31B2B4 802BD294 24050001 */ addiu $a1, $zero, 1 +/* 31B2B8 802BD298 3C04802C */ lui $a0, 0x802c +/* 31B2BC 802BD29C 8C84EB60 */ lw $a0, -0x14a0($a0) +/* 31B2C0 802BD2A0 0C00A580 */ jal mem_clear +/* 31B2C4 802BD2A4 2405001C */ addiu $a1, $zero, 0x1c +/* 31B2C8 802BD2A8 3C018011 */ lui $at, 0x8011 +/* 31B2CC 802BD2AC AC20C954 */ sw $zero, -0x36ac($at) +.L802BD2B0: +/* 31B2D0 802BD2B0 3C138011 */ lui $s3, 0x8011 +/* 31B2D4 802BD2B4 2673C954 */ addiu $s3, $s3, -0x36ac +/* 31B2D8 802BD2B8 8E0202FC */ lw $v0, 0x2fc($s0) +/* 31B2DC 802BD2BC 8E720000 */ lw $s2, ($s3) +/* 31B2E0 802BD2C0 24420001 */ addiu $v0, $v0, 1 +/* 31B2E4 802BD2C4 16400007 */ bnez $s2, .L802BD2E4 +/* 31B2E8 802BD2C8 AE0202FC */ sw $v0, 0x2fc($s0) +/* 31B2EC 802BD2CC 0C03AE8F */ jal func_800EBA3C +/* 31B2F0 802BD2D0 0220202D */ daddu $a0, $s1, $zero +/* 31B2F4 802BD2D4 0C03AED0 */ jal func_800EBB40 +/* 31B2F8 802BD2D8 0220202D */ daddu $a0, $s1, $zero +/* 31B2FC 802BD2DC 080AF575 */ j .L802BD5D4 +/* 31B300 802BD2E0 0000102D */ daddu $v0, $zero, $zero +.L802BD2E4: +/* 31B304 802BD2E4 3C10802C */ lui $s0, 0x802c +/* 31B308 802BD2E8 2610EB60 */ addiu $s0, $s0, -0x14a0 +/* 31B30C 802BD2EC 8E040000 */ lw $a0, ($s0) +/* 31B310 802BD2F0 8C830004 */ lw $v1, 4($a0) +/* 31B314 802BD2F4 24050001 */ addiu $a1, $zero, 1 +/* 31B318 802BD2F8 10650030 */ beq $v1, $a1, .L802BD3BC +/* 31B31C 802BD2FC 28620002 */ slti $v0, $v1, 2 +/* 31B320 802BD300 10400005 */ beqz $v0, .L802BD318 +/* 31B324 802BD304 24020002 */ addiu $v0, $zero, 2 +/* 31B328 802BD308 10600009 */ beqz $v1, .L802BD330 +/* 31B32C 802BD30C 0000102D */ daddu $v0, $zero, $zero +/* 31B330 802BD310 080AF575 */ j .L802BD5D4 +/* 31B334 802BD314 00000000 */ nop +.L802BD318: +/* 31B338 802BD318 1062009A */ beq $v1, $v0, .L802BD584 +/* 31B33C 802BD31C 24020003 */ addiu $v0, $zero, 3 +/* 31B340 802BD320 106200A0 */ beq $v1, $v0, .L802BD5A4 +/* 31B344 802BD324 0000102D */ daddu $v0, $zero, $zero +/* 31B348 802BD328 080AF575 */ j .L802BD5D4 +/* 31B34C 802BD32C 00000000 */ nop +.L802BD330: +/* 31B350 802BD330 AC850004 */ sw $a1, 4($a0) +/* 31B354 802BD334 8E220000 */ lw $v0, ($s1) +/* 31B358 802BD338 AC820008 */ sw $v0, 8($a0) +/* 31B35C 802BD33C C62C0038 */ lwc1 $f12, 0x38($s1) +/* 31B360 802BD340 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31B364 802BD344 8E460048 */ lw $a2, 0x48($s2) +/* 31B368 802BD348 0C00A7B5 */ jal dist2D +/* 31B36C 802BD34C 8E470050 */ lw $a3, 0x50($s2) +/* 31B370 802BD350 8E020000 */ lw $v0, ($s0) +/* 31B374 802BD354 46000005 */ abs.s $f0, $f0 +/* 31B378 802BD358 E440000C */ swc1 $f0, 0xc($v0) +/* 31B37C 802BD35C C64C0048 */ lwc1 $f12, 0x48($s2) +/* 31B380 802BD360 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 31B384 802BD364 8E260038 */ lw $a2, 0x38($s1) +/* 31B388 802BD368 0C00A720 */ jal atan2 +/* 31B38C 802BD36C 8E270040 */ lw $a3, 0x40($s1) +/* 31B390 802BD370 3C040004 */ lui $a0, 4 +/* 31B394 802BD374 24020078 */ addiu $v0, $zero, 0x78 +/* 31B398 802BD378 8E030000 */ lw $v1, ($s0) +/* 31B39C 802BD37C 3C0140C0 */ lui $at, 0x40c0 +/* 31B3A0 802BD380 44811000 */ mtc1 $at, $f2 +/* 31B3A4 802BD384 3C014248 */ lui $at, 0x4248 +/* 31B3A8 802BD388 44812000 */ mtc1 $at, $f4 +/* 31B3AC 802BD38C 34840148 */ ori $a0, $a0, 0x148 +/* 31B3B0 802BD390 E4600010 */ swc1 $f0, 0x10($v1) +/* 31B3B4 802BD394 E4620014 */ swc1 $f2, 0x14($v1) +/* 31B3B8 802BD398 E4640018 */ swc1 $f4, 0x18($v1) +/* 31B3BC 802BD39C AC620000 */ sw $v0, ($v1) +/* 31B3C0 802BD3A0 8E220000 */ lw $v0, ($s1) +/* 31B3C4 802BD3A4 2403FDFF */ addiu $v1, $zero, -0x201 +/* 31B3C8 802BD3A8 00441025 */ or $v0, $v0, $a0 +/* 31B3CC 802BD3AC 00431024 */ and $v0, $v0, $v1 +/* 31B3D0 802BD3B0 AE220000 */ sw $v0, ($s1) +/* 31B3D4 802BD3B4 3C10802C */ lui $s0, 0x802c +/* 31B3D8 802BD3B8 2610EB60 */ addiu $s0, $s0, -0x14a0 +.L802BD3BC: +/* 31B3DC 802BD3BC 8E020000 */ lw $v0, ($s0) +/* 31B3E0 802BD3C0 3C0140C9 */ lui $at, 0x40c9 +/* 31B3E4 802BD3C4 34210FD0 */ ori $at, $at, 0xfd0 +/* 31B3E8 802BD3C8 44810000 */ mtc1 $at, $f0 +/* 31B3EC 802BD3CC C44C0010 */ lwc1 $f12, 0x10($v0) +/* 31B3F0 802BD3D0 46006302 */ mul.s $f12, $f12, $f0 +/* 31B3F4 802BD3D4 00000000 */ nop +/* 31B3F8 802BD3D8 27A50010 */ addiu $a1, $sp, 0x10 +/* 31B3FC 802BD3DC 3C0143B4 */ lui $at, 0x43b4 +/* 31B400 802BD3E0 44810000 */ mtc1 $at, $f0 +/* 31B404 802BD3E4 27A60014 */ addiu $a2, $sp, 0x14 +/* 31B408 802BD3E8 0C00A82D */ jal sin_cos_rad +/* 31B40C 802BD3EC 46006303 */ div.s $f12, $f12, $f0 +/* 31B410 802BD3F0 8E020000 */ lw $v0, ($s0) +/* 31B414 802BD3F4 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 31B418 802BD3F8 C440000C */ lwc1 $f0, 0xc($v0) +/* 31B41C 802BD3FC 46001082 */ mul.s $f2, $f2, $f0 +/* 31B420 802BD400 00000000 */ nop +/* 31B424 802BD404 C6400048 */ lwc1 $f0, 0x48($s2) +/* 31B428 802BD408 46020000 */ add.s $f0, $f0, $f2 +/* 31B42C 802BD40C E6200038 */ swc1 $f0, 0x38($s1) +/* 31B430 802BD410 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 31B434 802BD414 C440000C */ lwc1 $f0, 0xc($v0) +/* 31B438 802BD418 46001082 */ mul.s $f2, $f2, $f0 +/* 31B43C 802BD41C 00000000 */ nop +/* 31B440 802BD420 C6400050 */ lwc1 $f0, 0x50($s2) +/* 31B444 802BD424 46020001 */ sub.s $f0, $f0, $f2 +/* 31B448 802BD428 E6200040 */ swc1 $f0, 0x40($s1) +/* 31B44C 802BD42C C4400010 */ lwc1 $f0, 0x10($v0) +/* 31B450 802BD430 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 31B454 802BD434 0C00A6C9 */ jal clamp_angle +/* 31B458 802BD438 460C0301 */ sub.s $f12, $f0, $f12 +/* 31B45C 802BD43C 8E100000 */ lw $s0, ($s0) +/* 31B460 802BD440 3C0141A0 */ lui $at, 0x41a0 +/* 31B464 802BD444 44811000 */ mtc1 $at, $f2 +/* 31B468 802BD448 C604000C */ lwc1 $f4, 0xc($s0) +/* 31B46C 802BD44C 4604103C */ c.lt.s $f2, $f4 +/* 31B470 802BD450 00000000 */ nop +/* 31B474 802BD454 45000005 */ bc1f .L802BD46C +/* 31B478 802BD458 E6000010 */ swc1 $f0, 0x10($s0) +/* 31B47C 802BD45C 3C013F80 */ lui $at, 0x3f80 +/* 31B480 802BD460 44810000 */ mtc1 $at, $f0 +/* 31B484 802BD464 080AF526 */ j .L802BD498 +/* 31B488 802BD468 46002001 */ sub.s $f0, $f4, $f0 +.L802BD46C: +/* 31B48C 802BD46C 3C014198 */ lui $at, 0x4198 +/* 31B490 802BD470 44810000 */ mtc1 $at, $f0 +/* 31B494 802BD474 00000000 */ nop +/* 31B498 802BD478 4600203C */ c.lt.s $f4, $f0 +/* 31B49C 802BD47C 00000000 */ nop +/* 31B4A0 802BD480 45000006 */ bc1f .L802BD49C +/* 31B4A4 802BD484 00000000 */ nop +/* 31B4A8 802BD488 3C013F80 */ lui $at, 0x3f80 +/* 31B4AC 802BD48C 44810000 */ mtc1 $at, $f0 +/* 31B4B0 802BD490 00000000 */ nop +/* 31B4B4 802BD494 46002000 */ add.s $f0, $f4, $f0 +.L802BD498: +/* 31B4B8 802BD498 E600000C */ swc1 $f0, 0xc($s0) +.L802BD49C: +/* 31B4BC 802BD49C 3C10802C */ lui $s0, 0x802c +/* 31B4C0 802BD4A0 2610EB60 */ addiu $s0, $s0, -0x14a0 +/* 31B4C4 802BD4A4 8E020000 */ lw $v0, ($s0) +/* 31B4C8 802BD4A8 3C0140C9 */ lui $at, 0x40c9 +/* 31B4CC 802BD4AC 34210FD0 */ ori $at, $at, 0xfd0 +/* 31B4D0 802BD4B0 44810000 */ mtc1 $at, $f0 +/* 31B4D4 802BD4B4 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 31B4D8 802BD4B8 46006302 */ mul.s $f12, $f12, $f0 +/* 31B4DC 802BD4BC 00000000 */ nop +/* 31B4E0 802BD4C0 3C0143B4 */ lui $at, 0x43b4 +/* 31B4E4 802BD4C4 4481A000 */ mtc1 $at, $f20 +/* 31B4E8 802BD4C8 0C00A85B */ jal sin_rad +/* 31B4EC 802BD4CC 46146303 */ div.s $f12, $f12, $f20 +/* 31B4F0 802BD4D0 8E020000 */ lw $v0, ($s0) +/* 31B4F4 802BD4D4 3C014040 */ lui $at, 0x4040 +/* 31B4F8 802BD4D8 44812000 */ mtc1 $at, $f4 +/* 31B4FC 802BD4DC C4420018 */ lwc1 $f2, 0x18($v0) +/* 31B500 802BD4E0 46041080 */ add.s $f2, $f2, $f4 +/* 31B504 802BD4E4 3C014316 */ lui $at, 0x4316 +/* 31B508 802BD4E8 44813000 */ mtc1 $at, $f6 +/* 31B50C 802BD4EC 00000000 */ nop +/* 31B510 802BD4F0 4602303C */ c.lt.s $f6, $f2 +/* 31B514 802BD4F4 E4420018 */ swc1 $f2, 0x18($v0) +/* 31B518 802BD4F8 46040082 */ mul.s $f2, $f0, $f4 +/* 31B51C 802BD4FC 00000000 */ nop +/* 31B520 802BD500 45030001 */ bc1tl .L802BD508 +/* 31B524 802BD504 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD508: +/* 31B528 802BD508 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31B52C 802BD50C 46020000 */ add.s $f0, $f0, $f2 +/* 31B530 802BD510 8E020000 */ lw $v0, ($s0) +/* 31B534 802BD514 E620003C */ swc1 $f0, 0x3c($s1) +/* 31B538 802BD518 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 31B53C 802BD51C 0C00A6C9 */ jal clamp_angle +/* 31B540 802BD520 460CA301 */ sub.s $f12, $f20, $f12 +/* 31B544 802BD524 8E020000 */ lw $v0, ($s0) +/* 31B548 802BD528 E6200034 */ swc1 $f0, 0x34($s1) +/* 31B54C 802BD52C C4400014 */ lwc1 $f0, 0x14($v0) +/* 31B550 802BD530 3C01802C */ lui $at, 0x802c +/* 31B554 802BD534 D422EBC0 */ ldc1 $f2, -0x1440($at) +/* 31B558 802BD538 46000021 */ cvt.d.s $f0, $f0 +/* 31B55C 802BD53C 46220000 */ add.d $f0, $f0, $f2 +/* 31B560 802BD540 3C014220 */ lui $at, 0x4220 +/* 31B564 802BD544 44811000 */ mtc1 $at, $f2 +/* 31B568 802BD548 46200020 */ cvt.s.d $f0, $f0 +/* 31B56C 802BD54C 4600103C */ c.lt.s $f2, $f0 +/* 31B570 802BD550 00000000 */ nop +/* 31B574 802BD554 45000002 */ bc1f .L802BD560 +/* 31B578 802BD558 E4400014 */ swc1 $f0, 0x14($v0) +/* 31B57C 802BD55C E4420014 */ swc1 $f2, 0x14($v0) +.L802BD560: +/* 31B580 802BD560 8E030000 */ lw $v1, ($s0) +/* 31B584 802BD564 8C620000 */ lw $v0, ($v1) +/* 31B588 802BD568 2442FFFF */ addiu $v0, $v0, -1 +/* 31B58C 802BD56C 14400018 */ bnez $v0, .L802BD5D0 +/* 31B590 802BD570 AC620000 */ sw $v0, ($v1) +/* 31B594 802BD574 8C620004 */ lw $v0, 4($v1) +/* 31B598 802BD578 24420001 */ addiu $v0, $v0, 1 +/* 31B59C 802BD57C 080AF574 */ j .L802BD5D0 +/* 31B5A0 802BD580 AC620004 */ sw $v0, 4($v1) +.L802BD584: +/* 31B5A4 802BD584 8C820008 */ lw $v0, 8($a0) +/* 31B5A8 802BD588 AE220000 */ sw $v0, ($s1) +/* 31B5AC 802BD58C 8C820004 */ lw $v0, 4($a0) +/* 31B5B0 802BD590 2403001E */ addiu $v1, $zero, 0x1e +/* 31B5B4 802BD594 AC830000 */ sw $v1, ($a0) +/* 31B5B8 802BD598 24420001 */ addiu $v0, $v0, 1 +/* 31B5BC 802BD59C 080AF574 */ j .L802BD5D0 +/* 31B5C0 802BD5A0 AC820004 */ sw $v0, 4($a0) +.L802BD5A4: +/* 31B5C4 802BD5A4 0C03AE8F */ jal func_800EBA3C +/* 31B5C8 802BD5A8 0220202D */ daddu $a0, $s1, $zero +/* 31B5CC 802BD5AC 0C03AED0 */ jal func_800EBB40 +/* 31B5D0 802BD5B0 0220202D */ daddu $a0, $s1, $zero +/* 31B5D4 802BD5B4 8E030000 */ lw $v1, ($s0) +/* 31B5D8 802BD5B8 8C620000 */ lw $v0, ($v1) +/* 31B5DC 802BD5BC 2442FFFF */ addiu $v0, $v0, -1 +/* 31B5E0 802BD5C0 14400003 */ bnez $v0, .L802BD5D0 +/* 31B5E4 802BD5C4 AC620000 */ sw $v0, ($v1) +/* 31B5E8 802BD5C8 AC600004 */ sw $zero, 4($v1) +/* 31B5EC 802BD5CC AE600000 */ sw $zero, ($s3) +.L802BD5D0: +/* 31B5F0 802BD5D0 0000102D */ daddu $v0, $zero, $zero +.L802BD5D4: +/* 31B5F4 802BD5D4 8FBF0028 */ lw $ra, 0x28($sp) +/* 31B5F8 802BD5D8 8FB30024 */ lw $s3, 0x24($sp) +/* 31B5FC 802BD5DC 8FB20020 */ lw $s2, 0x20($sp) +/* 31B600 802BD5E0 8FB1001C */ lw $s1, 0x1c($sp) +/* 31B604 802BD5E4 8FB00018 */ lw $s0, 0x18($sp) +/* 31B608 802BD5E8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 31B60C 802BD5EC 03E00008 */ jr $ra +/* 31B610 802BD5F0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_31B120/func_802BD5F4.s b/asm/nonmatchings/code_31B120/func_802BD5F4.s new file mode 100644 index 0000000000..3569d81a89 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD5F4.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD5F4 +/* 31B614 802BD5F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31B618 802BD5F8 3C058011 */ lui $a1, 0x8011 +/* 31B61C 802BD5FC 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 31B620 802BD600 AFBF0010 */ sw $ra, 0x10($sp) +/* 31B624 802BD604 8CA20000 */ lw $v0, ($a1) +/* 31B628 802BD608 10400008 */ beqz $v0, .L802BD62C +/* 31B62C 802BD60C 00000000 */ nop +/* 31B630 802BD610 3C03802C */ lui $v1, 0x802c +/* 31B634 802BD614 8C63EB60 */ lw $v1, -0x14a0($v1) +/* 31B638 802BD618 8C620008 */ lw $v0, 8($v1) +/* 31B63C 802BD61C ACA00000 */ sw $zero, ($a1) +/* 31B640 802BD620 AC820000 */ sw $v0, ($a0) +/* 31B644 802BD624 0C03BD17 */ jal clear_partner_move_history +/* 31B648 802BD628 AC600004 */ sw $zero, 4($v1) +.L802BD62C: +/* 31B64C 802BD62C 8FBF0010 */ lw $ra, 0x10($sp) +/* 31B650 802BD630 03E00008 */ jr $ra +/* 31B654 802BD634 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BD638.s b/asm/nonmatchings/code_31B120/func_802BD638.s new file mode 100644 index 0000000000..121bbe4076 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BD638.s @@ -0,0 +1,1173 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD638 +/* 31B658 802BD638 3C02800B */ lui $v0, 0x800b +/* 31B65C 802BD63C 80420F18 */ lb $v0, 0xf18($v0) +/* 31B660 802BD640 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 31B664 802BD644 AFB50044 */ sw $s5, 0x44($sp) +/* 31B668 802BD648 0080A82D */ daddu $s5, $a0, $zero +/* 31B66C 802BD64C AFB40040 */ sw $s4, 0x40($sp) +/* 31B670 802BD650 3C148011 */ lui $s4, %hi(gPlayerStatus) +/* 31B674 802BD654 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) +/* 31B678 802BD658 AFB60048 */ sw $s6, 0x48($sp) +/* 31B67C 802BD65C 3C168011 */ lui $s6, %hi(D_8010EBB0) +/* 31B680 802BD660 26D6EBB0 */ addiu $s6, $s6, %lo(D_8010EBB0) +/* 31B684 802BD664 AFBF004C */ sw $ra, 0x4c($sp) +/* 31B688 802BD668 AFB3003C */ sw $s3, 0x3c($sp) +/* 31B68C 802BD66C AFB20038 */ sw $s2, 0x38($sp) +/* 31B690 802BD670 AFB10034 */ sw $s1, 0x34($sp) +/* 31B694 802BD674 AFB00030 */ sw $s0, 0x30($sp) +/* 31B698 802BD678 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 31B69C 802BD67C 8EB0014C */ lw $s0, 0x14c($s5) +/* 31B6A0 802BD680 1440044C */ bnez $v0, .L802BE7B4 +/* 31B6A4 802BD684 0000102D */ daddu $v0, $zero, $zero +/* 31B6A8 802BD688 10A00022 */ beqz $a1, .L802BD714 +/* 31B6AC 802BD68C 00000000 */ nop +/* 31B6B0 802BD690 0C0AF57D */ jal func_802BD5F4 +/* 31B6B4 802BD694 0200202D */ daddu $a0, $s0, $zero +/* 31B6B8 802BD698 8E820004 */ lw $v0, 4($s4) +/* 31B6BC 802BD69C 3C030010 */ lui $v1, 0x10 +/* 31B6C0 802BD6A0 00431024 */ and $v0, $v0, $v1 +/* 31B6C4 802BD6A4 10400003 */ beqz $v0, .L802BD6B4 +/* 31B6C8 802BD6A8 00000000 */ nop +.L802BD6AC: +/* 31B6CC 802BD6AC 080AF9ED */ j .L802BE7B4 +/* 31B6D0 802BD6B0 24020002 */ addiu $v0, $zero, 2 +.L802BD6B4: +/* 31B6D4 802BD6B4 3C02802C */ lui $v0, 0x802c +/* 31B6D8 802BD6B8 8C42EC54 */ lw $v0, -0x13ac($v0) +/* 31B6DC 802BD6BC 14400007 */ bnez $v0, .L802BD6DC +/* 31B6E0 802BD6C0 00000000 */ nop +/* 31B6E4 802BD6C4 828200B4 */ lb $v0, 0xb4($s4) +/* 31B6E8 802BD6C8 2C420003 */ sltiu $v0, $v0, 3 +/* 31B6EC 802BD6CC 1040FFF7 */ beqz $v0, .L802BD6AC +/* 31B6F0 802BD6D0 24020014 */ addiu $v0, $zero, 0x14 +/* 31B6F4 802BD6D4 080AF5C5 */ j .L802BD714 +/* 31B6F8 802BD6D8 AEA20070 */ sw $v0, 0x70($s5) +.L802BD6DC: +/* 31B6FC 802BD6DC 82C20000 */ lb $v0, ($s6) +/* 31B700 802BD6E0 1440000C */ bnez $v0, .L802BD714 +/* 31B704 802BD6E4 3C030002 */ lui $v1, 2 +/* 31B708 802BD6E8 34630009 */ ori $v1, $v1, 9 +/* 31B70C 802BD6EC 24020001 */ addiu $v0, $zero, 1 +/* 31B710 802BD6F0 A2C20000 */ sb $v0, ($s6) +/* 31B714 802BD6F4 24020002 */ addiu $v0, $zero, 2 +/* 31B718 802BD6F8 A2C20003 */ sb $v0, 3($s6) +/* 31B71C 802BD6FC 24020005 */ addiu $v0, $zero, 5 +/* 31B720 802BD700 AEA20070 */ sw $v0, 0x70($s5) +/* 31B724 802BD704 2402001E */ addiu $v0, $zero, 0x1e +/* 31B728 802BD708 AE030028 */ sw $v1, 0x28($s0) +/* 31B72C 802BD70C 3C01802C */ lui $at, 0x802c +/* 31B730 802BD710 AC22EC50 */ sw $v0, -0x13b0($at) +.L802BD714: +/* 31B734 802BD714 8EA20070 */ lw $v0, 0x70($s5) +/* 31B738 802BD718 2443FFFE */ addiu $v1, $v0, -2 +/* 31B73C 802BD71C 2C620014 */ sltiu $v0, $v1, 0x14 +/* 31B740 802BD720 1040031F */ beqz $v0, .L802BE3A0 +/* 31B744 802BD724 00031080 */ sll $v0, $v1, 2 +/* 31B748 802BD728 3C01802C */ lui $at, 0x802c +/* 31B74C 802BD72C 00220821 */ addu $at, $at, $v0 +/* 31B750 802BD730 8C22EBC8 */ lw $v0, -0x1438($at) +/* 31B754 802BD734 00400008 */ jr $v0 +/* 31B758 802BD738 00000000 */ nop +/* 31B75C 802BD73C 82820015 */ lb $v0, 0x15($s4) +/* 31B760 802BD740 1440041C */ bnez $v0, .L802BE7B4 +/* 31B764 802BD744 24020002 */ addiu $v0, $zero, 2 +/* 31B768 802BD748 868200C0 */ lh $v0, 0xc0($s4) +/* 31B76C 802BD74C 14400419 */ bnez $v0, .L802BE7B4 +/* 31B770 802BD750 24020002 */ addiu $v0, $zero, 2 +/* 31B774 802BD754 8E020000 */ lw $v0, ($s0) +/* 31B778 802BD758 30421000 */ andi $v0, $v0, 0x1000 +/* 31B77C 802BD75C 50400415 */ beql $v0, $zero, .L802BE7B4 +/* 31B780 802BD760 24020002 */ addiu $v0, $zero, 2 +/* 31B784 802BD764 0C03805E */ jal disable_player_input +/* 31B788 802BD768 00000000 */ nop +/* 31B78C 802BD76C 82820015 */ lb $v0, 0x15($s4) +/* 31B790 802BD770 24040001 */ addiu $a0, $zero, 1 +/* 31B794 802BD774 AEA20078 */ sw $v0, 0x78($s5) +/* 31B798 802BD778 8E020000 */ lw $v0, ($s0) +/* 31B79C 802BD77C 2403F5F7 */ addiu $v1, $zero, -0xa09 +/* 31B7A0 802BD780 3C01802C */ lui $at, 0x802c +/* 31B7A4 802BD784 AC24EC64 */ sw $a0, -0x139c($at) +/* 31B7A8 802BD788 3C01802C */ lui $at, 0x802c +/* 31B7AC 802BD78C AC20EB40 */ sw $zero, -0x14c0($at) +/* 31B7B0 802BD790 3C01802C */ lui $at, 0x802c +/* 31B7B4 802BD794 AC20EC6C */ sw $zero, -0x1394($at) +/* 31B7B8 802BD798 00431024 */ and $v0, $v0, $v1 +/* 31B7BC 802BD79C 34420140 */ ori $v0, $v0, 0x140 +/* 31B7C0 802BD7A0 AE020000 */ sw $v0, ($s0) +/* 31B7C4 802BD7A4 24020002 */ addiu $v0, $zero, 2 +/* 31B7C8 802BD7A8 A2C20003 */ sb $v0, 3($s6) +/* 31B7CC 802BD7AC 0C03BD38 */ jal func_800EF4E0 +/* 31B7D0 802BD7B0 A2C40000 */ sb $a0, ($s6) +/* 31B7D4 802BD7B4 3C01802C */ lui $at, 0x802c +/* 31B7D8 802BD7B8 AC22EC58 */ sw $v0, -0x13a8($at) +/* 31B7DC 802BD7BC 0C00EB49 */ jal enable_npc_blur +/* 31B7E0 802BD7C0 0200202D */ daddu $a0, $s0, $zero +/* 31B7E4 802BD7C4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 31B7E8 802BD7C8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 31B7EC 802BD7CC 24020004 */ addiu $v0, $zero, 4 +/* 31B7F0 802BD7D0 A602008E */ sh $v0, 0x8e($s0) +/* 31B7F4 802BD7D4 8E860028 */ lw $a2, 0x28($s4) +/* 31B7F8 802BD7D8 0C00A720 */ jal atan2 +/* 31B7FC 802BD7DC 8E870030 */ lw $a3, 0x30($s4) +/* 31B800 802BD7E0 E600000C */ swc1 $f0, 0xc($s0) +/* 31B804 802BD7E4 8EA20070 */ lw $v0, 0x70($s5) +/* 31B808 802BD7E8 080AF8E7 */ j .L802BE39C +/* 31B80C 802BD7EC 24420001 */ addiu $v0, $v0, 1 +/* 31B810 802BD7F0 928200B4 */ lbu $v0, 0xb4($s4) +/* 31B814 802BD7F4 2442FFEB */ addiu $v0, $v0, -0x15 +/* 31B818 802BD7F8 2C420003 */ sltiu $v0, $v0, 3 +/* 31B81C 802BD7FC 14400004 */ bnez $v0, .L802BD810 +/* 31B820 802BD800 3C040001 */ lui $a0, 1 +/* 31B824 802BD804 868200C0 */ lh $v0, 0xc0($s4) +/* 31B828 802BD808 10400003 */ beqz $v0, .L802BD818 +/* 31B82C 802BD80C 00000000 */ nop +.L802BD810: +/* 31B830 802BD810 080AF673 */ j .L802BD9CC +/* 31B834 802BD814 34840002 */ ori $a0, $a0, 2 +.L802BD818: +/* 31B838 802BD818 0C037FBF */ jal func_800DFEFC +/* 31B83C 802BD81C 34840006 */ ori $a0, $a0, 6 +/* 31B840 802BD820 C6840028 */ lwc1 $f4, 0x28($s4) +/* 31B844 802BD824 3C020002 */ lui $v0, 2 +/* 31B848 802BD828 E6040060 */ swc1 $f4, 0x60($s0) +/* 31B84C 802BD82C C682002C */ lwc1 $f2, 0x2c($s4) +/* 31B850 802BD830 34420005 */ ori $v0, $v0, 5 +/* 31B854 802BD834 E6020064 */ swc1 $f2, 0x64($s0) +/* 31B858 802BD838 C6800030 */ lwc1 $f0, 0x30($s4) +/* 31B85C 802BD83C 3C065555 */ lui $a2, 0x5555 +/* 31B860 802BD840 AE020028 */ sw $v0, 0x28($s0) +/* 31B864 802BD844 E6000068 */ swc1 $f0, 0x68($s0) +/* 31B868 802BD848 968200B2 */ lhu $v0, 0xb2($s4) +/* 31B86C 802BD84C 34C65556 */ ori $a2, $a2, 0x5556 +/* 31B870 802BD850 00021400 */ sll $v0, $v0, 0x10 +/* 31B874 802BD854 00021C03 */ sra $v1, $v0, 0x10 +/* 31B878 802BD858 00660018 */ mult $v1, $a2 +/* 31B87C 802BD85C 26040060 */ addiu $a0, $s0, 0x60 +/* 31B880 802BD860 8E870080 */ lw $a3, 0x80($s4) +/* 31B884 802BD864 000217C3 */ sra $v0, $v0, 0x1f +/* 31B888 802BD868 00004010 */ mfhi $t0 +/* 31B88C 802BD86C 01021023 */ subu $v0, $t0, $v0 +/* 31B890 802BD870 00021400 */ sll $v0, $v0, 0x10 +/* 31B894 802BD874 00021403 */ sra $v0, $v0, 0x10 +/* 31B898 802BD878 44828000 */ mtc1 $v0, $f16 +/* 31B89C 802BD87C 00000000 */ nop +/* 31B8A0 802BD880 46808420 */ cvt.s.w $f16, $f16 +/* 31B8A4 802BD884 44068000 */ mfc1 $a2, $f16 +/* 31B8A8 802BD888 3C01802C */ lui $at, 0x802c +/* 31B8AC 802BD88C E424EC70 */ swc1 $f4, -0x1390($at) +/* 31B8B0 802BD890 3C01802C */ lui $at, 0x802c +/* 31B8B4 802BD894 E422EC74 */ swc1 $f2, -0x138c($at) +/* 31B8B8 802BD898 3C01802C */ lui $at, 0x802c +/* 31B8BC 802BD89C E420EC78 */ swc1 $f0, -0x1388($at) +/* 31B8C0 802BD8A0 0C00A7E7 */ jal add_vec2D_polar +/* 31B8C4 802BD8A4 26050068 */ addiu $a1, $s0, 0x68 +/* 31B8C8 802BD8A8 3C02802C */ lui $v0, 0x802c +/* 31B8CC 802BD8AC 8C42EC58 */ lw $v0, -0x13a8($v0) +/* 31B8D0 802BD8B0 C68C0080 */ lwc1 $f12, 0x80($s4) +/* 31B8D4 802BD8B4 3C01C2B4 */ lui $at, 0xc2b4 +/* 31B8D8 802BD8B8 44810000 */ mtc1 $at, $f0 +/* 31B8DC 802BD8BC 10400003 */ beqz $v0, .L802BD8CC +/* 31B8E0 802BD8C0 00000000 */ nop +/* 31B8E4 802BD8C4 3C0142B4 */ lui $at, 0x42b4 +/* 31B8E8 802BD8C8 44810000 */ mtc1 $at, $f0 +.L802BD8CC: +/* 31B8EC 802BD8CC 0C00A6C9 */ jal clamp_angle +/* 31B8F0 802BD8D0 46006300 */ add.s $f12, $f12, $f0 +/* 31B8F4 802BD8D4 868200B2 */ lh $v0, 0xb2($s4) +/* 31B8F8 802BD8D8 26040060 */ addiu $a0, $s0, 0x60 +/* 31B8FC 802BD8DC 04410002 */ bgez $v0, .L802BD8E8 +/* 31B900 802BD8E0 26050068 */ addiu $a1, $s0, 0x68 +/* 31B904 802BD8E4 24420003 */ addiu $v0, $v0, 3 +.L802BD8E8: +/* 31B908 802BD8E8 00021083 */ sra $v0, $v0, 2 +/* 31B90C 802BD8EC 44828000 */ mtc1 $v0, $f16 +/* 31B910 802BD8F0 00000000 */ nop +/* 31B914 802BD8F4 46808420 */ cvt.s.w $f16, $f16 +/* 31B918 802BD8F8 44070000 */ mfc1 $a3, $f0 +/* 31B91C 802BD8FC 44068000 */ mfc1 $a2, $f16 +/* 31B920 802BD900 0C00A7E7 */ jal add_vec2D_polar +/* 31B924 802BD904 00000000 */ nop +/* 31B928 802BD908 C6000060 */ lwc1 $f0, 0x60($s0) +/* 31B92C 802BD90C C60A0038 */ lwc1 $f10, 0x38($s0) +/* 31B930 802BD910 8602008E */ lh $v0, 0x8e($s0) +/* 31B934 802BD914 C6040064 */ lwc1 $f4, 0x64($s0) +/* 31B938 802BD918 C608003C */ lwc1 $f8, 0x3c($s0) +/* 31B93C 802BD91C C6060040 */ lwc1 $f6, 0x40($s0) +/* 31B940 802BD920 44821000 */ mtc1 $v0, $f2 +/* 31B944 802BD924 00000000 */ nop +/* 31B948 802BD928 468010A0 */ cvt.s.w $f2, $f2 +/* 31B94C 802BD92C 0040202D */ daddu $a0, $v0, $zero +/* 31B950 802BD930 460A0001 */ sub.s $f0, $f0, $f10 +/* 31B954 802BD934 0080182D */ daddu $v1, $a0, $zero +/* 31B958 802BD938 9602008E */ lhu $v0, 0x8e($s0) +/* 31B95C 802BD93C 46082101 */ sub.s $f4, $f4, $f8 +/* 31B960 802BD940 2442FFFF */ addiu $v0, $v0, -1 +/* 31B964 802BD944 A602008E */ sh $v0, 0x8e($s0) +/* 31B968 802BD948 46020003 */ div.s $f0, $f0, $f2 +/* 31B96C 802BD94C 46005280 */ add.s $f10, $f10, $f0 +/* 31B970 802BD950 C6020068 */ lwc1 $f2, 0x68($s0) +/* 31B974 802BD954 00021400 */ sll $v0, $v0, 0x10 +/* 31B978 802BD958 46061081 */ sub.s $f2, $f2, $f6 +/* 31B97C 802BD95C 44840000 */ mtc1 $a0, $f0 +/* 31B980 802BD960 00000000 */ nop +/* 31B984 802BD964 46800020 */ cvt.s.w $f0, $f0 +/* 31B988 802BD968 46002103 */ div.s $f4, $f4, $f0 +/* 31B98C 802BD96C 46044200 */ add.s $f8, $f8, $f4 +/* 31B990 802BD970 44830000 */ mtc1 $v1, $f0 +/* 31B994 802BD974 00000000 */ nop +/* 31B998 802BD978 46800020 */ cvt.s.w $f0, $f0 +/* 31B99C 802BD97C 46001083 */ div.s $f2, $f2, $f0 +/* 31B9A0 802BD980 46023180 */ add.s $f6, $f6, $f2 +/* 31B9A4 802BD984 E60A0038 */ swc1 $f10, 0x38($s0) +/* 31B9A8 802BD988 E608003C */ swc1 $f8, 0x3c($s0) +/* 31B9AC 802BD98C 14400284 */ bnez $v0, .L802BE3A0 +/* 31B9B0 802BD990 E6060040 */ swc1 $f6, 0x40($s0) +/* 31B9B4 802BD994 0C00EB6B */ jal disable_npc_blur +/* 31B9B8 802BD998 0200202D */ daddu $a0, $s0, $zero +/* 31B9BC 802BD99C 82830015 */ lb $v1, 0x15($s4) +/* 31B9C0 802BD9A0 8EA20078 */ lw $v0, 0x78($s5) +/* 31B9C4 802BD9A4 0043102A */ slt $v0, $v0, $v1 +/* 31B9C8 802BD9A8 1040000C */ beqz $v0, .L802BD9DC +/* 31B9CC 802BD9AC 3C030010 */ lui $v1, 0x10 +/* 31B9D0 802BD9B0 8E820004 */ lw $v0, 4($s4) +/* 31B9D4 802BD9B4 00431024 */ and $v0, $v0, $v1 +/* 31B9D8 802BD9B8 14400003 */ bnez $v0, .L802BD9C8 +/* 31B9DC 802BD9BC 3C040001 */ lui $a0, 1 +/* 31B9E0 802BD9C0 080AF673 */ j .L802BD9CC +/* 31B9E4 802BD9C4 34840002 */ ori $a0, $a0, 2 +.L802BD9C8: +/* 31B9E8 802BD9C8 34840005 */ ori $a0, $a0, 5 +.L802BD9CC: +/* 31B9EC 802BD9CC 0C037FBF */ jal func_800DFEFC +/* 31B9F0 802BD9D0 00000000 */ nop +/* 31B9F4 802BD9D4 080AF8E8 */ j .L802BE3A0 +/* 31B9F8 802BD9D8 AEA00070 */ sw $zero, 0x70($s5) +.L802BD9DC: +/* 31B9FC 802BD9DC 3C020002 */ lui $v0, 2 +/* 31BA00 802BD9E0 C6840080 */ lwc1 $f4, 0x80($s4) +/* 31BA04 802BD9E4 3C014190 */ lui $at, 0x4190 +/* 31BA08 802BD9E8 44810000 */ mtc1 $at, $f0 +/* 31BA0C 802BD9EC 3C014040 */ lui $at, 0x4040 +/* 31BA10 802BD9F0 44811000 */ mtc1 $at, $f2 +/* 31BA14 802BD9F4 3442000A */ ori $v0, $v0, 0xa +/* 31BA18 802BD9F8 AE020028 */ sw $v0, 0x28($s0) +/* 31BA1C 802BD9FC 2402000C */ addiu $v0, $zero, 0xc +/* 31BA20 802BDA00 A60200A8 */ sh $v0, 0xa8($s0) +/* 31BA24 802BDA04 E604000C */ swc1 $f4, 0xc($s0) +/* 31BA28 802BDA08 E600001C */ swc1 $f0, 0x1c($s0) +/* 31BA2C 802BDA0C E6020014 */ swc1 $f2, 0x14($s0) +/* 31BA30 802BDA10 C680002C */ lwc1 $f0, 0x2c($s4) +/* 31BA34 802BDA14 3C045555 */ lui $a0, 0x5555 +/* 31BA38 802BDA18 E6000064 */ swc1 $f0, 0x64($s0) +/* 31BA3C 802BDA1C 968200B0 */ lhu $v0, 0xb0($s4) +/* 31BA40 802BDA20 34845556 */ ori $a0, $a0, 0x5556 +/* 31BA44 802BDA24 00021400 */ sll $v0, $v0, 0x10 +/* 31BA48 802BDA28 00021C03 */ sra $v1, $v0, 0x10 +/* 31BA4C 802BDA2C 00640018 */ mult $v1, $a0 +/* 31BA50 802BDA30 3C05800B */ lui $a1, %hi(gCameras) +/* 31BA54 802BDA34 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 31BA58 802BDA38 C682002C */ lwc1 $f2, 0x2c($s4) +/* 31BA5C 802BDA3C 000217C3 */ sra $v0, $v0, 0x1f +/* 31BA60 802BDA40 00004010 */ mfhi $t0 +/* 31BA64 802BDA44 01021023 */ subu $v0, $t0, $v0 +/* 31BA68 802BDA48 00021400 */ sll $v0, $v0, 0x10 +/* 31BA6C 802BDA4C 00021403 */ sra $v0, $v0, 0x10 +/* 31BA70 802BDA50 44820000 */ mtc1 $v0, $f0 +/* 31BA74 802BDA54 00000000 */ nop +/* 31BA78 802BDA58 46800020 */ cvt.s.w $f0, $f0 +/* 31BA7C 802BDA5C 46001080 */ add.s $f2, $f2, $f0 +/* 31BA80 802BDA60 3C040001 */ lui $a0, 1 +/* 31BA84 802BDA64 34840007 */ ori $a0, $a0, 7 +/* 31BA88 802BDA68 E6020068 */ swc1 $f2, 0x68($s0) +/* 31BA8C 802BDA6C 8E820000 */ lw $v0, ($s4) +/* 31BA90 802BDA70 94A30002 */ lhu $v1, 2($a1) +/* 31BA94 802BDA74 34420002 */ ori $v0, $v0, 2 +/* 31BA98 802BDA78 34630001 */ ori $v1, $v1, 1 +/* 31BA9C 802BDA7C AE820000 */ sw $v0, ($s4) +/* 31BAA0 802BDA80 0C037FBF */ jal func_800DFEFC +/* 31BAA4 802BDA84 A4A30002 */ sh $v1, 2($a1) +/* 31BAA8 802BDA88 24042081 */ addiu $a0, $zero, 0x2081 +/* 31BAAC 802BDA8C 0000282D */ daddu $a1, $zero, $zero +/* 31BAB0 802BDA90 3C01802C */ lui $at, 0x802c +/* 31BAB4 802BDA94 AC20EC60 */ sw $zero, -0x13a0($at) +/* 31BAB8 802BDA98 0C052742 */ jal play_sound_at_npc +/* 31BABC 802BDA9C 2406FFFC */ addiu $a2, $zero, -4 +/* 31BAC0 802BDAA0 24020002 */ addiu $v0, $zero, 2 +/* 31BAC4 802BDAA4 AEA20070 */ sw $v0, 0x70($s5) +/* 31BAC8 802BDAA8 928200B4 */ lbu $v0, 0xb4($s4) +/* 31BACC 802BDAAC 2442FFEB */ addiu $v0, $v0, -0x15 +/* 31BAD0 802BDAB0 2C420003 */ sltiu $v0, $v0, 3 +/* 31BAD4 802BDAB4 5440023A */ bnel $v0, $zero, .L802BE3A0 +/* 31BAD8 802BDAB8 AEA00070 */ sw $zero, 0x70($s5) +/* 31BADC 802BDABC C602001C */ lwc1 $f2, 0x1c($s0) +/* 31BAE0 802BDAC0 C6000014 */ lwc1 $f0, 0x14($s0) +/* 31BAE4 802BDAC4 46001081 */ sub.s $f2, $f2, $f0 +/* 31BAE8 802BDAC8 E602001C */ swc1 $f2, 0x1c($s0) +/* 31BAEC 802BDACC C680002C */ lwc1 $f0, 0x2c($s4) +/* 31BAF0 802BDAD0 46020000 */ add.s $f0, $f0, $f2 +/* 31BAF4 802BDAD4 E680002C */ swc1 $f0, 0x2c($s4) +/* 31BAF8 802BDAD8 C602001C */ lwc1 $f2, 0x1c($s0) +/* 31BAFC 802BDADC 44800000 */ mtc1 $zero, $f0 +/* 31BB00 802BDAE0 00000000 */ nop +/* 31BB04 802BDAE4 4600103C */ c.lt.s $f2, $f0 +/* 31BB08 802BDAE8 00000000 */ nop +/* 31BB0C 802BDAEC 4500000C */ bc1f .L802BDB20 +/* 31BB10 802BDAF0 3C040001 */ lui $a0, 1 +/* 31BB14 802BDAF4 3C03802C */ lui $v1, 0x802c +/* 31BB18 802BDAF8 2463EC60 */ addiu $v1, $v1, -0x13a0 +/* 31BB1C 802BDAFC 8C620000 */ lw $v0, ($v1) +/* 31BB20 802BDB00 14400008 */ bnez $v0, .L802BDB24 +/* 31BB24 802BDB04 27A50020 */ addiu $a1, $sp, 0x20 +/* 31BB28 802BDB08 24020001 */ addiu $v0, $zero, 1 +/* 31BB2C 802BDB0C AC620000 */ sw $v0, ($v1) +/* 31BB30 802BDB10 3C040001 */ lui $a0, 1 +/* 31BB34 802BDB14 0C037FBF */ jal func_800DFEFC +/* 31BB38 802BDB18 34840008 */ ori $a0, $a0, 8 +/* 31BB3C 802BDB1C 3C040001 */ lui $a0, 1 +.L802BDB20: +/* 31BB40 802BDB20 27A50020 */ addiu $a1, $sp, 0x20 +.L802BDB24: +/* 31BB44 802BDB24 27A60024 */ addiu $a2, $sp, 0x24 +/* 31BB48 802BDB28 27A70028 */ addiu $a3, $sp, 0x28 +/* 31BB4C 802BDB2C 968300B0 */ lhu $v1, 0xb0($s4) +/* 31BB50 802BDB30 C6820028 */ lwc1 $f2, 0x28($s4) +/* 31BB54 802BDB34 00031C00 */ sll $v1, $v1, 0x10 +/* 31BB58 802BDB38 00031403 */ sra $v0, $v1, 0x10 +/* 31BB5C 802BDB3C 00031FC2 */ srl $v1, $v1, 0x1f +/* 31BB60 802BDB40 00431021 */ addu $v0, $v0, $v1 +/* 31BB64 802BDB44 00021043 */ sra $v0, $v0, 1 +/* 31BB68 802BDB48 44820000 */ mtc1 $v0, $f0 +/* 31BB6C 802BDB4C 00000000 */ nop +/* 31BB70 802BDB50 46800020 */ cvt.s.w $f0, $f0 +/* 31BB74 802BDB54 968300B0 */ lhu $v1, 0xb0($s4) +/* 31BB78 802BDB58 46000506 */ mov.s $f20, $f0 +/* 31BB7C 802BDB5C E7A20020 */ swc1 $f2, 0x20($sp) +/* 31BB80 802BDB60 C682002C */ lwc1 $f2, 0x2c($s4) +/* 31BB84 802BDB64 C6840030 */ lwc1 $f4, 0x30($s4) +/* 31BB88 802BDB68 00031C00 */ sll $v1, $v1, 0x10 +/* 31BB8C 802BDB6C 00031403 */ sra $v0, $v1, 0x10 +/* 31BB90 802BDB70 00031FC2 */ srl $v1, $v1, 0x1f +/* 31BB94 802BDB74 00431021 */ addu $v0, $v0, $v1 +/* 31BB98 802BDB78 00021043 */ sra $v0, $v0, 1 +/* 31BB9C 802BDB7C 44820000 */ mtc1 $v0, $f0 +/* 31BBA0 802BDB80 00000000 */ nop +/* 31BBA4 802BDB84 46800020 */ cvt.s.w $f0, $f0 +/* 31BBA8 802BDB88 46001080 */ add.s $f2, $f2, $f0 +/* 31BBAC 802BDB8C C600001C */ lwc1 $f0, 0x1c($s0) +/* 31BBB0 802BDB90 27A2002C */ addiu $v0, $sp, 0x2c +/* 31BBB4 802BDB94 46001081 */ sub.s $f2, $f2, $f0 +/* 31BBB8 802BDB98 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31BBBC 802BDB9C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 31BBC0 802BDBA0 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31BBC4 802BDBA4 0C03739C */ jal func_800DCE70 +/* 31BBC8 802BDBA8 AFA20010 */ sw $v0, 0x10($sp) +/* 31BBCC 802BDBAC 10400013 */ beqz $v0, .L802BDBFC +/* 31BBD0 802BDBB0 00000000 */ nop +/* 31BBD4 802BDBB4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 31BBD8 802BDBB8 4614003C */ c.lt.s $f0, $f20 +/* 31BBDC 802BDBBC 00000000 */ nop +/* 31BBE0 802BDBC0 4500000E */ bc1f .L802BDBFC +/* 31BBE4 802BDBC4 0200202D */ daddu $a0, $s0, $zero +/* 31BBE8 802BDBC8 868200B0 */ lh $v0, 0xb0($s4) +/* 31BBEC 802BDBCC C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31BBF0 802BDBD0 3C038011 */ lui $v1, 0x8011 +/* 31BBF4 802BDBD4 9463C97A */ lhu $v1, -0x3686($v1) +/* 31BBF8 802BDBD8 44820000 */ mtc1 $v0, $f0 +/* 31BBFC 802BDBDC 00000000 */ nop +/* 31BC00 802BDBE0 46800020 */ cvt.s.w $f0, $f0 +/* 31BC04 802BDBE4 46001081 */ sub.s $f2, $f2, $f0 +/* 31BC08 802BDBE8 3C028016 */ lui $v0, 0x8016 +/* 31BC0C 802BDBEC 2442A550 */ addiu $v0, $v0, -0x5ab0 +/* 31BC10 802BDBF0 A4430008 */ sh $v1, 8($v0) +/* 31BC14 802BDBF4 0C0AF451 */ jal func_802BD144 +/* 31BC18 802BDBF8 E682002C */ swc1 $f2, 0x2c($s4) +.L802BDBFC: +/* 31BC1C 802BDBFC C600001C */ lwc1 $f0, 0x1c($s0) +/* 31BC20 802BDC00 44802000 */ mtc1 $zero, $f4 +/* 31BC24 802BDC04 00000000 */ nop +/* 31BC28 802BDC08 4600203C */ c.lt.s $f4, $f0 +/* 31BC2C 802BDC0C 00000000 */ nop +/* 31BC30 802BDC10 450101E3 */ bc1t .L802BE3A0 +/* 31BC34 802BDC14 00000000 */ nop +/* 31BC38 802BDC18 C682002C */ lwc1 $f2, 0x2c($s4) +/* 31BC3C 802BDC1C C6000068 */ lwc1 $f0, 0x68($s0) +/* 31BC40 802BDC20 4600103C */ c.lt.s $f2, $f0 +/* 31BC44 802BDC24 00000000 */ nop +/* 31BC48 802BDC28 450001DD */ bc1f .L802BE3A0 +/* 31BC4C 802BDC2C 3C040002 */ lui $a0, 2 +/* 31BC50 802BDC30 34840009 */ ori $a0, $a0, 9 +/* 31BC54 802BDC34 8E020000 */ lw $v0, ($s0) +/* 31BC58 802BDC38 3C014100 */ lui $at, 0x4100 +/* 31BC5C 802BDC3C 44810000 */ mtc1 $at, $f0 +/* 31BC60 802BDC40 2403FEFF */ addiu $v1, $zero, -0x101 +/* 31BC64 802BDC44 3C01802C */ lui $at, 0x802c +/* 31BC68 802BDC48 AC20EC5C */ sw $zero, -0x13a4($at) +/* 31BC6C 802BDC4C 00431024 */ and $v0, $v0, $v1 +/* 31BC70 802BDC50 AE020000 */ sw $v0, ($s0) +/* 31BC74 802BDC54 24020002 */ addiu $v0, $zero, 2 +/* 31BC78 802BDC58 A2C20003 */ sb $v0, 3($s6) +/* 31BC7C 802BDC5C A2C20000 */ sb $v0, ($s6) +/* 31BC80 802BDC60 E604004C */ swc1 $f4, 0x4c($s0) +/* 31BC84 802BDC64 E6040010 */ swc1 $f4, 0x10($s0) +/* 31BC88 802BDC68 E6000018 */ swc1 $f0, 0x18($s0) +/* 31BC8C 802BDC6C AE040028 */ sw $a0, 0x28($s0) +/* 31BC90 802BDC70 C68C0080 */ lwc1 $f12, 0x80($s4) +/* 31BC94 802BDC74 24020001 */ addiu $v0, $zero, 1 +/* 31BC98 802BDC78 3C01802C */ lui $at, 0x802c +/* 31BC9C 802BDC7C AC22EB40 */ sw $v0, -0x14c0($at) +/* 31BCA0 802BDC80 0C00A8BB */ jal sin_deg +/* 31BCA4 802BDC84 24120003 */ addiu $s2, $zero, 3 +/* 31BCA8 802BDC88 C68C0080 */ lwc1 $f12, 0x80($s4) +/* 31BCAC 802BDC8C 0C00A8D4 */ jal cos_deg +/* 31BCB0 802BDC90 46000506 */ mov.s $f20, $f0 +/* 31BCB4 802BDC94 860200A8 */ lh $v0, 0xa8($s0) +/* 31BCB8 802BDC98 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31BCBC 802BDC9C 3C01BF80 */ lui $at, 0xbf80 +/* 31BCC0 802BDCA0 44811000 */ mtc1 $at, $f2 +/* 31BCC4 802BDCA4 46000007 */ neg.s $f0, $f0 +/* 31BCC8 802BDCA8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 31BCCC 802BDCAC E7A00018 */ swc1 $f0, 0x18($sp) +/* 31BCD0 802BDCB0 AFB2001C */ sw $s2, 0x1c($sp) +/* 31BCD4 802BDCB4 44820000 */ mtc1 $v0, $f0 +/* 31BCD8 802BDCB8 00000000 */ nop +/* 31BCDC 802BDCBC 46800020 */ cvt.s.w $f0, $f0 +/* 31BCE0 802BDCC0 46002100 */ add.s $f4, $f4, $f0 +/* 31BCE4 802BDCC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31BCE8 802BDCC8 8E050038 */ lw $a1, 0x38($s0) +/* 31BCEC 802BDCCC 8E070040 */ lw $a3, 0x40($s0) +/* 31BCF0 802BDCD0 44062000 */ mfc1 $a2, $f4 +/* 31BCF4 802BDCD4 0C01C064 */ jal func_80070190 +/* 31BCF8 802BDCD8 0240202D */ daddu $a0, $s2, $zero +/* 31BCFC 802BDCDC 0C039823 */ jal start_bounce_b +/* 31BD00 802BDCE0 00000000 */ nop +/* 31BD04 802BDCE4 3C11802C */ lui $s1, 0x802c +/* 31BD08 802BDCE8 2631EC64 */ addiu $s1, $s1, -0x139c +/* 31BD0C 802BDCEC 8E220000 */ lw $v0, ($s1) +/* 31BD10 802BDCF0 10400005 */ beqz $v0, .L802BDD08 +/* 31BD14 802BDCF4 24040283 */ addiu $a0, $zero, 0x283 +/* 31BD18 802BDCF8 0C038069 */ jal enable_player_input +/* 31BD1C 802BDCFC 00000000 */ nop +/* 31BD20 802BDD00 AE200000 */ sw $zero, ($s1) +/* 31BD24 802BDD04 24040283 */ addiu $a0, $zero, 0x283 +.L802BDD08: +/* 31BD28 802BDD08 0000282D */ daddu $a1, $zero, $zero +/* 31BD2C 802BDD0C 3C03800B */ lui $v1, %hi(gCameras) +/* 31BD30 802BDD10 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 31BD34 802BDD14 AEB20070 */ sw $s2, 0x70($s5) +/* 31BD38 802BDD18 94620002 */ lhu $v0, 2($v1) +/* 31BD3C 802BDD1C 2406FFFC */ addiu $a2, $zero, -4 +/* 31BD40 802BDD20 3C01802C */ lui $at, 0x802c +/* 31BD44 802BDD24 AC20EC60 */ sw $zero, -0x13a0($at) +/* 31BD48 802BDD28 34420001 */ ori $v0, $v0, 1 +/* 31BD4C 802BDD2C 0C052742 */ jal play_sound_at_npc +/* 31BD50 802BDD30 A4620002 */ sh $v0, 2($v1) +/* 31BD54 802BDD34 24040284 */ addiu $a0, $zero, 0x284 +/* 31BD58 802BDD38 0000282D */ daddu $a1, $zero, $zero +/* 31BD5C 802BDD3C 0C052742 */ jal play_sound_at_npc +/* 31BD60 802BDD40 2406FFFC */ addiu $a2, $zero, -4 +/* 31BD64 802BDD44 080AF8E8 */ j .L802BE3A0 +/* 31BD68 802BDD48 00000000 */ nop +/* 31BD6C 802BDD4C 928200B4 */ lbu $v0, 0xb4($s4) +/* 31BD70 802BDD50 2442FFEB */ addiu $v0, $v0, -0x15 +/* 31BD74 802BDD54 2C420002 */ sltiu $v0, $v0, 2 +/* 31BD78 802BDD58 54400191 */ bnel $v0, $zero, .L802BE3A0 +/* 31BD7C 802BDD5C AEA00070 */ sw $zero, 0x70($s5) +/* 31BD80 802BDD60 34048000 */ ori $a0, $zero, 0x8000 +/* 31BD84 802BDD64 C6000038 */ lwc1 $f0, 0x38($s0) +/* 31BD88 802BDD68 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31BD8C 802BDD6C C6040040 */ lwc1 $f4, 0x40($s0) +/* 31BD90 802BDD70 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31BD94 802BDD74 3C0141A0 */ lui $at, 0x41a0 +/* 31BD98 802BDD78 4481A000 */ mtc1 $at, $f20 +/* 31BD9C 802BDD7C 27B20020 */ addiu $s2, $sp, 0x20 +/* 31BDA0 802BDD80 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31BDA4 802BDD84 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31BDA8 802BDD88 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31BDAC 802BDD8C E7A60010 */ swc1 $f6, 0x10($sp) +/* 31BDB0 802BDD90 C600000C */ lwc1 $f0, 0xc($s0) +/* 31BDB4 802BDD94 0240282D */ daddu $a1, $s2, $zero +/* 31BDB8 802BDD98 46140001 */ sub.s $f0, $f0, $f20 +/* 31BDBC 802BDD9C 27B30024 */ addiu $s3, $sp, 0x24 +/* 31BDC0 802BDDA0 0260302D */ daddu $a2, $s3, $zero +/* 31BDC4 802BDDA4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31BDC8 802BDDA8 860200A8 */ lh $v0, 0xa8($s0) +/* 31BDCC 802BDDAC 27B10028 */ addiu $s1, $sp, 0x28 +/* 31BDD0 802BDDB0 44820000 */ mtc1 $v0, $f0 +/* 31BDD4 802BDDB4 00000000 */ nop +/* 31BDD8 802BDDB8 46800020 */ cvt.s.w $f0, $f0 +/* 31BDDC 802BDDBC E7A00018 */ swc1 $f0, 0x18($sp) +/* 31BDE0 802BDDC0 960300A6 */ lhu $v1, 0xa6($s0) +/* 31BDE4 802BDDC4 0220382D */ daddu $a3, $s1, $zero +/* 31BDE8 802BDDC8 00031C00 */ sll $v1, $v1, 0x10 +/* 31BDEC 802BDDCC 00031403 */ sra $v0, $v1, 0x10 +/* 31BDF0 802BDDD0 00031FC2 */ srl $v1, $v1, 0x1f +/* 31BDF4 802BDDD4 00431021 */ addu $v0, $v0, $v1 +/* 31BDF8 802BDDD8 00021043 */ sra $v0, $v0, 1 +/* 31BDFC 802BDDDC 44820000 */ mtc1 $v0, $f0 +/* 31BE00 802BDDE0 00000000 */ nop +/* 31BE04 802BDDE4 46800020 */ cvt.s.w $f0, $f0 +/* 31BE08 802BDDE8 0C0376B9 */ jal func_800DDAE4 +/* 31BE0C 802BDDEC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31BE10 802BDDF0 10400027 */ beqz $v0, .L802BDE90 +/* 31BE14 802BDDF4 34048000 */ ori $a0, $zero, 0x8000 +.L802BDDF8: +/* 31BE18 802BDDF8 0C0AF440 */ jal func_802BD100_31B120 +/* 31BE1C 802BDDFC 0200202D */ daddu $a0, $s0, $zero +/* 31BE20 802BDE00 14400004 */ bnez $v0, .L802BDE14 +/* 31BE24 802BDE04 2404010C */ addiu $a0, $zero, 0x10c +/* 31BE28 802BDE08 0000282D */ daddu $a1, $zero, $zero +/* 31BE2C 802BDE0C 0C052742 */ jal play_sound_at_npc +/* 31BE30 802BDE10 2406FFFC */ addiu $a2, $zero, -4 +.L802BDE14: +/* 31BE34 802BDE14 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31BE38 802BDE18 0C00A8BB */ jal sin_deg +/* 31BE3C 802BDE1C 00000000 */ nop +/* 31BE40 802BDE20 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31BE44 802BDE24 0C00A8D4 */ jal cos_deg +/* 31BE48 802BDE28 46000506 */ mov.s $f20, $f0 +/* 31BE4C 802BDE2C 24020001 */ addiu $v0, $zero, 1 +/* 31BE50 802BDE30 860300A8 */ lh $v1, 0xa8($s0) +/* 31BE54 802BDE34 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31BE58 802BDE38 3C01BF80 */ lui $at, 0xbf80 +/* 31BE5C 802BDE3C 44811000 */ mtc1 $at, $f2 +/* 31BE60 802BDE40 46000007 */ neg.s $f0, $f0 +/* 31BE64 802BDE44 E7B40010 */ swc1 $f20, 0x10($sp) +/* 31BE68 802BDE48 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31BE6C 802BDE4C AFA2001C */ sw $v0, 0x1c($sp) +/* 31BE70 802BDE50 44830000 */ mtc1 $v1, $f0 +/* 31BE74 802BDE54 00000000 */ nop +/* 31BE78 802BDE58 46800020 */ cvt.s.w $f0, $f0 +/* 31BE7C 802BDE5C 46002100 */ add.s $f4, $f4, $f0 +/* 31BE80 802BDE60 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31BE84 802BDE64 8E050038 */ lw $a1, 0x38($s0) +/* 31BE88 802BDE68 8E070040 */ lw $a3, 0x40($s0) +/* 31BE8C 802BDE6C 44062000 */ mfc1 $a2, $f4 +/* 31BE90 802BDE70 0C01C064 */ jal func_80070190 +/* 31BE94 802BDE74 24040003 */ addiu $a0, $zero, 3 +/* 31BE98 802BDE78 0000202D */ daddu $a0, $zero, $zero +/* 31BE9C 802BDE7C 0080282D */ daddu $a1, $a0, $zero +/* 31BEA0 802BDE80 0C052742 */ jal play_sound_at_npc +/* 31BEA4 802BDE84 2406FFFC */ addiu $a2, $zero, -4 +/* 31BEA8 802BDE88 080AF8E7 */ j .L802BE39C +/* 31BEAC 802BDE8C 24020007 */ addiu $v0, $zero, 7 +.L802BDE90: +/* 31BEB0 802BDE90 C6000038 */ lwc1 $f0, 0x38($s0) +/* 31BEB4 802BDE94 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31BEB8 802BDE98 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31BEBC 802BDE9C C6060018 */ lwc1 $f6, 0x18($s0) +/* 31BEC0 802BDEA0 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31BEC4 802BDEA4 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31BEC8 802BDEA8 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31BECC 802BDEAC E7A60010 */ swc1 $f6, 0x10($sp) +/* 31BED0 802BDEB0 C600000C */ lwc1 $f0, 0xc($s0) +/* 31BED4 802BDEB4 46140000 */ add.s $f0, $f0, $f20 +/* 31BED8 802BDEB8 0240282D */ daddu $a1, $s2, $zero +/* 31BEDC 802BDEBC E7A00014 */ swc1 $f0, 0x14($sp) +/* 31BEE0 802BDEC0 860200A8 */ lh $v0, 0xa8($s0) +/* 31BEE4 802BDEC4 0260302D */ daddu $a2, $s3, $zero +/* 31BEE8 802BDEC8 44820000 */ mtc1 $v0, $f0 +/* 31BEEC 802BDECC 00000000 */ nop +/* 31BEF0 802BDED0 46800020 */ cvt.s.w $f0, $f0 +/* 31BEF4 802BDED4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31BEF8 802BDED8 960300A6 */ lhu $v1, 0xa6($s0) +/* 31BEFC 802BDEDC 0220382D */ daddu $a3, $s1, $zero +/* 31BF00 802BDEE0 00031C00 */ sll $v1, $v1, 0x10 +/* 31BF04 802BDEE4 00031403 */ sra $v0, $v1, 0x10 +/* 31BF08 802BDEE8 00031FC2 */ srl $v1, $v1, 0x1f +/* 31BF0C 802BDEEC 00431021 */ addu $v0, $v0, $v1 +/* 31BF10 802BDEF0 00021043 */ sra $v0, $v0, 1 +/* 31BF14 802BDEF4 44820000 */ mtc1 $v0, $f0 +/* 31BF18 802BDEF8 00000000 */ nop +/* 31BF1C 802BDEFC 46800020 */ cvt.s.w $f0, $f0 +/* 31BF20 802BDF00 0C0376B9 */ jal func_800DDAE4 +/* 31BF24 802BDF04 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31BF28 802BDF08 1440FFBB */ bnez $v0, .L802BDDF8 +/* 31BF2C 802BDF0C 34048000 */ ori $a0, $zero, 0x8000 +/* 31BF30 802BDF10 C6000038 */ lwc1 $f0, 0x38($s0) +/* 31BF34 802BDF14 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31BF38 802BDF18 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31BF3C 802BDF1C C6060018 */ lwc1 $f6, 0x18($s0) +/* 31BF40 802BDF20 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31BF44 802BDF24 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31BF48 802BDF28 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31BF4C 802BDF2C E7A60010 */ swc1 $f6, 0x10($sp) +/* 31BF50 802BDF30 C600000C */ lwc1 $f0, 0xc($s0) +/* 31BF54 802BDF34 0240282D */ daddu $a1, $s2, $zero +/* 31BF58 802BDF38 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31BF5C 802BDF3C 860200A8 */ lh $v0, 0xa8($s0) +/* 31BF60 802BDF40 0260302D */ daddu $a2, $s3, $zero +/* 31BF64 802BDF44 44820000 */ mtc1 $v0, $f0 +/* 31BF68 802BDF48 00000000 */ nop +/* 31BF6C 802BDF4C 46800020 */ cvt.s.w $f0, $f0 +/* 31BF70 802BDF50 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31BF74 802BDF54 960300A6 */ lhu $v1, 0xa6($s0) +/* 31BF78 802BDF58 0220382D */ daddu $a3, $s1, $zero +/* 31BF7C 802BDF5C 00031C00 */ sll $v1, $v1, 0x10 +/* 31BF80 802BDF60 00031403 */ sra $v0, $v1, 0x10 +/* 31BF84 802BDF64 00031FC2 */ srl $v1, $v1, 0x1f +/* 31BF88 802BDF68 00431021 */ addu $v0, $v0, $v1 +/* 31BF8C 802BDF6C 00021043 */ sra $v0, $v0, 1 +/* 31BF90 802BDF70 44820000 */ mtc1 $v0, $f0 +/* 31BF94 802BDF74 00000000 */ nop +/* 31BF98 802BDF78 46800020 */ cvt.s.w $f0, $f0 +/* 31BF9C 802BDF7C 0C0376B9 */ jal func_800DDAE4 +/* 31BFA0 802BDF80 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31BFA4 802BDF84 1440FF9C */ bnez $v0, .L802BDDF8 +/* 31BFA8 802BDF88 0200202D */ daddu $a0, $s0, $zero +/* 31BFAC 802BDF8C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 31BFB0 802BDF90 C6020018 */ lwc1 $f2, 0x18($s0) +/* 31BFB4 802BDF94 24050001 */ addiu $a1, $zero, 1 +/* 31BFB8 802BDF98 E6000038 */ swc1 $f0, 0x38($s0) +/* 31BFBC 802BDF9C C7A60024 */ lwc1 $f6, 0x24($sp) +/* 31BFC0 802BDFA0 C6000010 */ lwc1 $f0, 0x10($s0) +/* 31BFC4 802BDFA4 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 31BFC8 802BDFA8 46020000 */ add.s $f0, $f0, $f2 +/* 31BFCC 802BDFAC E606003C */ swc1 $f6, 0x3c($s0) +/* 31BFD0 802BDFB0 E6040040 */ swc1 $f4, 0x40($s0) +/* 31BFD4 802BDFB4 0C00F598 */ jal func_8003D660 +/* 31BFD8 802BDFB8 E6000010 */ swc1 $f0, 0x10($s0) +/* 31BFDC 802BDFBC C6000018 */ lwc1 $f0, 0x18($s0) +/* 31BFE0 802BDFC0 3C014000 */ lui $at, 0x4000 +/* 31BFE4 802BDFC4 44811800 */ mtc1 $at, $f3 +/* 31BFE8 802BDFC8 44801000 */ mtc1 $zero, $f2 +/* 31BFEC 802BDFCC 46000021 */ cvt.d.s $f0, $f0 +/* 31BFF0 802BDFD0 46220000 */ add.d $f0, $f0, $f2 +/* 31BFF4 802BDFD4 3C01402C */ lui $at, 0x402c +/* 31BFF8 802BDFD8 44812800 */ mtc1 $at, $f5 +/* 31BFFC 802BDFDC 44802000 */ mtc1 $zero, $f4 +/* 31C000 802BDFE0 46200020 */ cvt.s.d $f0, $f0 +/* 31C004 802BDFE4 460000A1 */ cvt.d.s $f2, $f0 +/* 31C008 802BDFE8 4622203C */ c.lt.d $f4, $f2 +/* 31C00C 802BDFEC 00000000 */ nop +/* 31C010 802BDFF0 45000005 */ bc1f .L802BE008 +/* 31C014 802BDFF4 E6000018 */ swc1 $f0, 0x18($s0) +/* 31C018 802BDFF8 3C014160 */ lui $at, 0x4160 +/* 31C01C 802BDFFC 44810000 */ mtc1 $at, $f0 +/* 31C020 802BE000 00000000 */ nop +/* 31C024 802BE004 E6000018 */ swc1 $f0, 0x18($s0) +.L802BE008: +/* 31C028 802BE008 3C0540C0 */ lui $a1, 0x40c0 +/* 31C02C 802BE00C 0C00E5FA */ jal func_800397E8 +/* 31C030 802BE010 0200202D */ daddu $a0, $s0, $zero +/* 31C034 802BE014 1440000E */ bnez $v0, .L802BE050 +/* 31C038 802BE018 00000000 */ nop +/* 31C03C 802BE01C 8E820000 */ lw $v0, ($s4) +/* 31C040 802BE020 30420006 */ andi $v0, $v0, 6 +/* 31C044 802BE024 1440000A */ bnez $v0, .L802BE050 +/* 31C048 802BE028 00000000 */ nop +/* 31C04C 802BE02C C680002C */ lwc1 $f0, 0x2c($s4) +/* 31C050 802BE030 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31C054 802BE034 46020001 */ sub.s $f0, $f0, $f2 +/* 31C058 802BE038 3C014120 */ lui $at, 0x4120 +/* 31C05C 802BE03C 44812000 */ mtc1 $at, $f4 +/* 31C060 802BE040 00000000 */ nop +/* 31C064 802BE044 46040003 */ div.s $f0, $f0, $f4 +/* 31C068 802BE048 46001080 */ add.s $f2, $f2, $f0 +/* 31C06C 802BE04C E602003C */ swc1 $f2, 0x3c($s0) +.L802BE050: +/* 31C070 802BE050 0C00E403 */ jal npc_do_other_npc_collision +/* 31C074 802BE054 0200202D */ daddu $a0, $s0, $zero +/* 31C078 802BE058 8E020000 */ lw $v0, ($s0) +/* 31C07C 802BE05C 3C030200 */ lui $v1, 0x200 +/* 31C080 802BE060 00431024 */ and $v0, $v0, $v1 +/* 31C084 802BE064 1440004A */ bnez $v0, .L802BE190 +/* 31C088 802BE068 0000202D */ daddu $a0, $zero, $zero +/* 31C08C 802BE06C 0C0AF45F */ jal func_802BD17C +/* 31C090 802BE070 0200202D */ daddu $a0, $s0, $zero +/* 31C094 802BE074 1040002F */ beqz $v0, .L802BE134 +/* 31C098 802BE078 24040286 */ addiu $a0, $zero, 0x286 +/* 31C09C 802BE07C 0000282D */ daddu $a1, $zero, $zero +/* 31C0A0 802BE080 0C052742 */ jal play_sound_at_npc +/* 31C0A4 802BE084 2406FFFC */ addiu $a2, $zero, -4 +/* 31C0A8 802BE088 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C0AC 802BE08C 0C00A8BB */ jal sin_deg +/* 31C0B0 802BE090 00000000 */ nop +/* 31C0B4 802BE094 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C0B8 802BE098 0C00A8D4 */ jal cos_deg +/* 31C0BC 802BE09C 46000506 */ mov.s $f20, $f0 +/* 31C0C0 802BE0A0 24020001 */ addiu $v0, $zero, 1 +/* 31C0C4 802BE0A4 860300A8 */ lh $v1, 0xa8($s0) +/* 31C0C8 802BE0A8 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31C0CC 802BE0AC 3C01BF80 */ lui $at, 0xbf80 +/* 31C0D0 802BE0B0 44811000 */ mtc1 $at, $f2 +/* 31C0D4 802BE0B4 46000007 */ neg.s $f0, $f0 +/* 31C0D8 802BE0B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 31C0DC 802BE0BC E7A00018 */ swc1 $f0, 0x18($sp) +/* 31C0E0 802BE0C0 AFA2001C */ sw $v0, 0x1c($sp) +/* 31C0E4 802BE0C4 44830000 */ mtc1 $v1, $f0 +/* 31C0E8 802BE0C8 00000000 */ nop +/* 31C0EC 802BE0CC 46800020 */ cvt.s.w $f0, $f0 +/* 31C0F0 802BE0D0 46002100 */ add.s $f4, $f4, $f0 +/* 31C0F4 802BE0D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 31C0F8 802BE0D8 8E050038 */ lw $a1, 0x38($s0) +/* 31C0FC 802BE0DC 8E070040 */ lw $a3, 0x40($s0) +/* 31C100 802BE0E0 44062000 */ mfc1 $a2, $f4 +/* 31C104 802BE0E4 0C01C064 */ jal func_80070190 +/* 31C108 802BE0E8 24040003 */ addiu $a0, $zero, 3 +/* 31C10C 802BE0EC 0000202D */ daddu $a0, $zero, $zero +/* 31C110 802BE0F0 0080282D */ daddu $a1, $a0, $zero +/* 31C114 802BE0F4 0C052742 */ jal play_sound_at_npc +/* 31C118 802BE0F8 2406FFFC */ addiu $a2, $zero, -4 +/* 31C11C 802BE0FC 24020004 */ addiu $v0, $zero, 4 +/* 31C120 802BE100 AEA20070 */ sw $v0, 0x70($s5) +/* 31C124 802BE104 C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C128 802BE108 3C014010 */ lui $at, 0x4010 +/* 31C12C 802BE10C 44811800 */ mtc1 $at, $f3 +/* 31C130 802BE110 44801000 */ mtc1 $zero, $f2 +/* 31C134 802BE114 3C01802C */ lui $at, 0x802c +/* 31C138 802BE118 D424EC18 */ ldc1 $f4, -0x13e8($at) +/* 31C13C 802BE11C 46000021 */ cvt.d.s $f0, $f0 +/* 31C140 802BE120 24020008 */ addiu $v0, $zero, 8 +/* 31C144 802BE124 3C01802C */ lui $at, 0x802c +/* 31C148 802BE128 AC22EC50 */ sw $v0, -0x13b0($at) +/* 31C14C 802BE12C 080AF87B */ j .L802BE1EC +/* 31C150 802BE130 46220001 */ sub.d $f0, $f0, $f2 +.L802BE134: +/* 31C154 802BE134 3C03802C */ lui $v1, 0x802c +/* 31C158 802BE138 8C63EB40 */ lw $v1, -0x14c0($v1) +/* 31C15C 802BE13C 24020002 */ addiu $v0, $zero, 2 +/* 31C160 802BE140 1462000B */ bne $v1, $v0, .L802BE170 +/* 31C164 802BE144 0000202D */ daddu $a0, $zero, $zero +/* 31C168 802BE148 0080282D */ daddu $a1, $a0, $zero +/* 31C16C 802BE14C 0C052742 */ jal play_sound_at_npc +/* 31C170 802BE150 2406FFFC */ addiu $a2, $zero, -4 +/* 31C174 802BE154 24020005 */ addiu $v0, $zero, 5 +/* 31C178 802BE158 AEA20070 */ sw $v0, 0x70($s5) +/* 31C17C 802BE15C 2402001E */ addiu $v0, $zero, 0x1e +/* 31C180 802BE160 3C01802C */ lui $at, 0x802c +/* 31C184 802BE164 AC22EC50 */ sw $v0, -0x13b0($at) +/* 31C188 802BE168 080AF8E8 */ j .L802BE3A0 +/* 31C18C 802BE16C AE000018 */ sw $zero, 0x18($s0) +.L802BE170: +/* 31C190 802BE170 C6020010 */ lwc1 $f2, 0x10($s0) +/* 31C194 802BE174 3C01430C */ lui $at, 0x430c +/* 31C198 802BE178 44810000 */ mtc1 $at, $f0 +/* 31C19C 802BE17C 00000000 */ nop +/* 31C1A0 802BE180 4602003C */ c.lt.s $f0, $f2 +/* 31C1A4 802BE184 00000000 */ nop +/* 31C1A8 802BE188 45000009 */ bc1f .L802BE1B0 +/* 31C1AC 802BE18C 00000000 */ nop +.L802BE190: +/* 31C1B0 802BE190 0080282D */ daddu $a1, $a0, $zero +/* 31C1B4 802BE194 2406FFFC */ addiu $a2, $zero, -4 +/* 31C1B8 802BE198 24020007 */ addiu $v0, $zero, 7 +/* 31C1BC 802BE19C AEA20070 */ sw $v0, 0x70($s5) +/* 31C1C0 802BE1A0 0C052742 */ jal play_sound_at_npc +/* 31C1C4 802BE1A4 AE000018 */ sw $zero, 0x18($s0) +/* 31C1C8 802BE1A8 080AF8E8 */ j .L802BE3A0 +/* 31C1CC 802BE1AC 00000000 */ nop +.L802BE1B0: +/* 31C1D0 802BE1B0 3C0142D2 */ lui $at, 0x42d2 +/* 31C1D4 802BE1B4 44810000 */ mtc1 $at, $f0 +/* 31C1D8 802BE1B8 00000000 */ nop +/* 31C1DC 802BE1BC 4602003C */ c.lt.s $f0, $f2 +/* 31C1E0 802BE1C0 00000000 */ nop +/* 31C1E4 802BE1C4 45000076 */ bc1f .L802BE3A0 +/* 31C1E8 802BE1C8 00000000 */ nop +/* 31C1EC 802BE1CC C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C1F0 802BE1D0 3C014010 */ lui $at, 0x4010 +/* 31C1F4 802BE1D4 44811800 */ mtc1 $at, $f3 +/* 31C1F8 802BE1D8 44801000 */ mtc1 $zero, $f2 +/* 31C1FC 802BE1DC 46000021 */ cvt.d.s $f0, $f0 +/* 31C200 802BE1E0 46220001 */ sub.d $f0, $f0, $f2 +/* 31C204 802BE1E4 3C01802C */ lui $at, 0x802c +/* 31C208 802BE1E8 D424EC20 */ ldc1 $f4, -0x13e0($at) +.L802BE1EC: +/* 31C20C 802BE1EC 46200020 */ cvt.s.d $f0, $f0 +/* 31C210 802BE1F0 460000A1 */ cvt.d.s $f2, $f0 +/* 31C214 802BE1F4 4624103C */ c.lt.d $f2, $f4 +/* 31C218 802BE1F8 00000000 */ nop +/* 31C21C 802BE1FC 45000068 */ bc1f .L802BE3A0 +/* 31C220 802BE200 E6000018 */ swc1 $f0, 0x18($s0) +/* 31C224 802BE204 C6000010 */ lwc1 $f0, 0x10($s0) +/* 31C228 802BE208 3C013FF0 */ lui $at, 0x3ff0 +/* 31C22C 802BE20C 44811800 */ mtc1 $at, $f3 +/* 31C230 802BE210 44801000 */ mtc1 $zero, $f2 +/* 31C234 802BE214 46000021 */ cvt.d.s $f0, $f0 +/* 31C238 802BE218 46220000 */ add.d $f0, $f0, $f2 +/* 31C23C 802BE21C 3C013C23 */ lui $at, 0x3c23 +/* 31C240 802BE220 3421D70A */ ori $at, $at, 0xd70a +/* 31C244 802BE224 44811000 */ mtc1 $at, $f2 +/* 31C248 802BE228 00000000 */ nop +/* 31C24C 802BE22C E6020018 */ swc1 $f2, 0x18($s0) +/* 31C250 802BE230 46200020 */ cvt.s.d $f0, $f0 +/* 31C254 802BE234 080AF8E8 */ j .L802BE3A0 +/* 31C258 802BE238 E6000010 */ swc1 $f0, 0x10($s0) +/* 31C25C 802BE23C C6000038 */ lwc1 $f0, 0x38($s0) +/* 31C260 802BE240 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31C264 802BE244 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31C268 802BE248 C6060018 */ lwc1 $f6, 0x18($s0) +/* 31C26C 802BE24C 34048000 */ ori $a0, $zero, 0x8000 +/* 31C270 802BE250 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31C274 802BE254 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31C278 802BE258 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31C27C 802BE25C E7A60010 */ swc1 $f6, 0x10($sp) +/* 31C280 802BE260 C600000C */ lwc1 $f0, 0xc($s0) +/* 31C284 802BE264 27A50020 */ addiu $a1, $sp, 0x20 +/* 31C288 802BE268 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31C28C 802BE26C 860200A8 */ lh $v0, 0xa8($s0) +/* 31C290 802BE270 27A60024 */ addiu $a2, $sp, 0x24 +/* 31C294 802BE274 44820000 */ mtc1 $v0, $f0 +/* 31C298 802BE278 00000000 */ nop +/* 31C29C 802BE27C 46800020 */ cvt.s.w $f0, $f0 +/* 31C2A0 802BE280 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31C2A4 802BE284 960300A6 */ lhu $v1, 0xa6($s0) +/* 31C2A8 802BE288 27A70028 */ addiu $a3, $sp, 0x28 +/* 31C2AC 802BE28C 00031C00 */ sll $v1, $v1, 0x10 +/* 31C2B0 802BE290 00031403 */ sra $v0, $v1, 0x10 +/* 31C2B4 802BE294 00031FC2 */ srl $v1, $v1, 0x1f +/* 31C2B8 802BE298 00431021 */ addu $v0, $v0, $v1 +/* 31C2BC 802BE29C 00021043 */ sra $v0, $v0, 1 +/* 31C2C0 802BE2A0 44820000 */ mtc1 $v0, $f0 +/* 31C2C4 802BE2A4 00000000 */ nop +/* 31C2C8 802BE2A8 46800020 */ cvt.s.w $f0, $f0 +/* 31C2CC 802BE2AC 0C0376B9 */ jal func_800DDAE4 +/* 31C2D0 802BE2B0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31C2D4 802BE2B4 0200202D */ daddu $a0, $s0, $zero +/* 31C2D8 802BE2B8 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 31C2DC 802BE2BC C6020018 */ lwc1 $f2, 0x18($s0) +/* 31C2E0 802BE2C0 24050001 */ addiu $a1, $zero, 1 +/* 31C2E4 802BE2C4 E6000038 */ swc1 $f0, 0x38($s0) +/* 31C2E8 802BE2C8 C7A60024 */ lwc1 $f6, 0x24($sp) +/* 31C2EC 802BE2CC C6000010 */ lwc1 $f0, 0x10($s0) +/* 31C2F0 802BE2D0 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 31C2F4 802BE2D4 46020000 */ add.s $f0, $f0, $f2 +/* 31C2F8 802BE2D8 E606003C */ swc1 $f6, 0x3c($s0) +/* 31C2FC 802BE2DC E6040040 */ swc1 $f4, 0x40($s0) +/* 31C300 802BE2E0 0C00F598 */ jal func_8003D660 +/* 31C304 802BE2E4 E6000010 */ swc1 $f0, 0x10($s0) +/* 31C308 802BE2E8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C30C 802BE2EC 3C014018 */ lui $at, 0x4018 +/* 31C310 802BE2F0 44811800 */ mtc1 $at, $f3 +/* 31C314 802BE2F4 44801000 */ mtc1 $zero, $f2 +/* 31C318 802BE2F8 46000021 */ cvt.d.s $f0, $f0 +/* 31C31C 802BE2FC 46220001 */ sub.d $f0, $f0, $f2 +/* 31C320 802BE300 3C01802C */ lui $at, 0x802c +/* 31C324 802BE304 D424EC28 */ ldc1 $f4, -0x13d8($at) +/* 31C328 802BE308 46200020 */ cvt.s.d $f0, $f0 +/* 31C32C 802BE30C 460000A1 */ cvt.d.s $f2, $f0 +/* 31C330 802BE310 4624103C */ c.lt.d $f2, $f4 +/* 31C334 802BE314 00000000 */ nop +/* 31C338 802BE318 4500000E */ bc1f .L802BE354 +/* 31C33C 802BE31C E6000018 */ swc1 $f0, 0x18($s0) +/* 31C340 802BE320 C6000010 */ lwc1 $f0, 0x10($s0) +/* 31C344 802BE324 3C013FF0 */ lui $at, 0x3ff0 +/* 31C348 802BE328 44811800 */ mtc1 $at, $f3 +/* 31C34C 802BE32C 44801000 */ mtc1 $zero, $f2 +/* 31C350 802BE330 46000021 */ cvt.d.s $f0, $f0 +/* 31C354 802BE334 46220000 */ add.d $f0, $f0, $f2 +/* 31C358 802BE338 3C013C23 */ lui $at, 0x3c23 +/* 31C35C 802BE33C 3421D70A */ ori $at, $at, 0xd70a +/* 31C360 802BE340 44811000 */ mtc1 $at, $f2 +/* 31C364 802BE344 00000000 */ nop +/* 31C368 802BE348 E6020018 */ swc1 $f2, 0x18($s0) +/* 31C36C 802BE34C 46200020 */ cvt.s.d $f0, $f0 +/* 31C370 802BE350 E6000010 */ swc1 $f0, 0x10($s0) +.L802BE354: +/* 31C374 802BE354 3C03802C */ lui $v1, 0x802c +/* 31C378 802BE358 2463EC50 */ addiu $v1, $v1, -0x13b0 +/* 31C37C 802BE35C 8C620000 */ lw $v0, ($v1) +/* 31C380 802BE360 1440000B */ bnez $v0, .L802BE390 +/* 31C384 802BE364 2442FFFF */ addiu $v0, $v0, -1 +/* 31C388 802BE368 24020007 */ addiu $v0, $zero, 7 +/* 31C38C 802BE36C AEA20070 */ sw $v0, 0x70($s5) +/* 31C390 802BE370 8C620000 */ lw $v0, ($v1) +/* 31C394 802BE374 080AF8E4 */ j .L802BE390 +/* 31C398 802BE378 2442FFFF */ addiu $v0, $v0, -1 +/* 31C39C 802BE37C 3C03802C */ lui $v1, 0x802c +/* 31C3A0 802BE380 2463EC50 */ addiu $v1, $v1, -0x13b0 +/* 31C3A4 802BE384 8C620000 */ lw $v0, ($v1) +/* 31C3A8 802BE388 10400003 */ beqz $v0, .L802BE398 +/* 31C3AC 802BE38C 2442FFFF */ addiu $v0, $v0, -1 +.L802BE390: +/* 31C3B0 802BE390 080AF8E8 */ j .L802BE3A0 +/* 31C3B4 802BE394 AC620000 */ sw $v0, ($v1) +.L802BE398: +/* 31C3B8 802BE398 24020007 */ addiu $v0, $zero, 7 +.L802BE39C: +/* 31C3BC 802BE39C AEA20070 */ sw $v0, 0x70($s5) +.L802BE3A0: +/* 31C3C0 802BE3A0 8EA30070 */ lw $v1, 0x70($s5) +/* 31C3C4 802BE3A4 24020007 */ addiu $v0, $zero, 7 +/* 31C3C8 802BE3A8 146200D5 */ bne $v1, $v0, .L802BE700 +/* 31C3CC 802BE3AC 00000000 */ nop +/* 31C3D0 802BE3B0 8E020000 */ lw $v0, ($s0) +/* 31C3D4 802BE3B4 34420100 */ ori $v0, $v0, 0x100 +/* 31C3D8 802BE3B8 AE020000 */ sw $v0, ($s0) +/* 31C3DC 802BE3BC 928200B4 */ lbu $v0, 0xb4($s4) +/* 31C3E0 802BE3C0 2442FFEB */ addiu $v0, $v0, -0x15 +/* 31C3E4 802BE3C4 2C420002 */ sltiu $v0, $v0, 2 +/* 31C3E8 802BE3C8 544000CD */ bnel $v0, $zero, .L802BE700 +/* 31C3EC 802BE3CC AEA00070 */ sw $zero, 0x70($s5) +/* 31C3F0 802BE3D0 3C01802C */ lui $at, 0x802c +/* 31C3F4 802BE3D4 C42CEC70 */ lwc1 $f12, -0x1390($at) +/* 31C3F8 802BE3D8 3C01802C */ lui $at, 0x802c +/* 31C3FC 802BE3DC C42EEC78 */ lwc1 $f14, -0x1388($at) +/* 31C400 802BE3E0 8E060038 */ lw $a2, 0x38($s0) +/* 31C404 802BE3E4 0C00A720 */ jal atan2 +/* 31C408 802BE3E8 8E070040 */ lw $a3, 0x40($s0) +/* 31C40C 802BE3EC 46000506 */ mov.s $f20, $f0 +/* 31C410 802BE3F0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C414 802BE3F4 0C00A70A */ jal get_clamped_angle_diff +/* 31C418 802BE3F8 4600A386 */ mov.s $f14, $f20 +/* 31C41C 802BE3FC 3C013E00 */ lui $at, 0x3e00 +/* 31C420 802BE400 44811000 */ mtc1 $at, $f2 +/* 31C424 802BE404 00000000 */ nop +/* 31C428 802BE408 46020002 */ mul.s $f0, $f0, $f2 +/* 31C42C 802BE40C 00000000 */ nop +/* 31C430 802BE410 4600A500 */ add.s $f20, $f20, $f0 +/* 31C434 802BE414 C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C438 802BE418 46000007 */ neg.s $f0, $f0 +/* 31C43C 802BE41C 44050000 */ mfc1 $a1, $f0 +/* 31C440 802BE420 4406A000 */ mfc1 $a2, $f20 +/* 31C444 802BE424 0200202D */ daddu $a0, $s0, $zero +/* 31C448 802BE428 0C00EA95 */ jal npc_move_heading +/* 31C44C 802BE42C AE06000C */ sw $a2, 0xc($s0) +/* 31C450 802BE430 C6020010 */ lwc1 $f2, 0x10($s0) +/* 31C454 802BE434 C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C458 802BE438 46001081 */ sub.s $f2, $f2, $f0 +/* 31C45C 802BE43C 0200202D */ daddu $a0, $s0, $zero +/* 31C460 802BE440 24050001 */ addiu $a1, $zero, 1 +/* 31C464 802BE444 0C00F598 */ jal func_8003D660 +/* 31C468 802BE448 E6020010 */ swc1 $f2, 0x10($s0) +/* 31C46C 802BE44C C6000018 */ lwc1 $f0, 0x18($s0) +/* 31C470 802BE450 3C01802C */ lui $at, 0x802c +/* 31C474 802BE454 D422EC30 */ ldc1 $f2, -0x13d0($at) +/* 31C478 802BE458 46000021 */ cvt.d.s $f0, $f0 +/* 31C47C 802BE45C 46220000 */ add.d $f0, $f0, $f2 +/* 31C480 802BE460 3C01402C */ lui $at, 0x402c +/* 31C484 802BE464 44812800 */ mtc1 $at, $f5 +/* 31C488 802BE468 44802000 */ mtc1 $zero, $f4 +/* 31C48C 802BE46C 46200020 */ cvt.s.d $f0, $f0 +/* 31C490 802BE470 460000A1 */ cvt.d.s $f2, $f0 +/* 31C494 802BE474 4622203C */ c.lt.d $f4, $f2 +/* 31C498 802BE478 00000000 */ nop +/* 31C49C 802BE47C 45000005 */ bc1f .L802BE494 +/* 31C4A0 802BE480 E6000018 */ swc1 $f0, 0x18($s0) +/* 31C4A4 802BE484 3C014160 */ lui $at, 0x4160 +/* 31C4A8 802BE488 44810000 */ mtc1 $at, $f0 +/* 31C4AC 802BE48C 00000000 */ nop +/* 31C4B0 802BE490 E6000018 */ swc1 $f0, 0x18($s0) +.L802BE494: +/* 31C4B4 802BE494 3C0540C0 */ lui $a1, 0x40c0 +/* 31C4B8 802BE498 0C00E5FA */ jal func_800397E8 +/* 31C4BC 802BE49C 0200202D */ daddu $a0, $s0, $zero +/* 31C4C0 802BE4A0 1440000A */ bnez $v0, .L802BE4CC +/* 31C4C4 802BE4A4 00000000 */ nop +/* 31C4C8 802BE4A8 C680002C */ lwc1 $f0, 0x2c($s4) +/* 31C4CC 802BE4AC C602003C */ lwc1 $f2, 0x3c($s0) +/* 31C4D0 802BE4B0 46020001 */ sub.s $f0, $f0, $f2 +/* 31C4D4 802BE4B4 3C014120 */ lui $at, 0x4120 +/* 31C4D8 802BE4B8 44812000 */ mtc1 $at, $f4 +/* 31C4DC 802BE4BC 00000000 */ nop +/* 31C4E0 802BE4C0 46040003 */ div.s $f0, $f0, $f4 +/* 31C4E4 802BE4C4 46001080 */ add.s $f2, $f2, $f0 +/* 31C4E8 802BE4C8 E602003C */ swc1 $f2, 0x3c($s0) +.L802BE4CC: +/* 31C4EC 802BE4CC C6020038 */ lwc1 $f2, 0x38($s0) +/* 31C4F0 802BE4D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31C4F4 802BE4D4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C4F8 802BE4D8 3C014334 */ lui $at, 0x4334 +/* 31C4FC 802BE4DC 4481A000 */ mtc1 $at, $f20 +/* 31C500 802BE4E0 C6000040 */ lwc1 $f0, 0x40($s0) +/* 31C504 802BE4E4 46146300 */ add.s $f12, $f12, $f20 +/* 31C508 802BE4E8 E7A20020 */ swc1 $f2, 0x20($sp) +/* 31C50C 802BE4EC E7A40024 */ swc1 $f4, 0x24($sp) +/* 31C510 802BE4F0 0C00A6C9 */ jal clamp_angle +/* 31C514 802BE4F4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 31C518 802BE4F8 34048000 */ ori $a0, $zero, 0x8000 +/* 31C51C 802BE4FC C6020018 */ lwc1 $f2, 0x18($s0) +/* 31C520 802BE500 27A50020 */ addiu $a1, $sp, 0x20 +/* 31C524 802BE504 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31C528 802BE508 E7A20010 */ swc1 $f2, 0x10($sp) +/* 31C52C 802BE50C 860200A8 */ lh $v0, 0xa8($s0) +/* 31C530 802BE510 27A60024 */ addiu $a2, $sp, 0x24 +/* 31C534 802BE514 44820000 */ mtc1 $v0, $f0 +/* 31C538 802BE518 00000000 */ nop +/* 31C53C 802BE51C 46800020 */ cvt.s.w $f0, $f0 +/* 31C540 802BE520 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31C544 802BE524 860200A6 */ lh $v0, 0xa6($s0) +/* 31C548 802BE528 27A70028 */ addiu $a3, $sp, 0x28 +/* 31C54C 802BE52C 44820000 */ mtc1 $v0, $f0 +/* 31C550 802BE530 00000000 */ nop +/* 31C554 802BE534 46800020 */ cvt.s.w $f0, $f0 +/* 31C558 802BE538 0C0376B9 */ jal func_800DDAE4 +/* 31C55C 802BE53C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31C560 802BE540 10400026 */ beqz $v0, .L802BE5DC +/* 31C564 802BE544 2404010C */ addiu $a0, $zero, 0x10c +/* 31C568 802BE548 0000282D */ daddu $a1, $zero, $zero +/* 31C56C 802BE54C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 31C570 802BE550 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31C574 802BE554 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 31C578 802BE558 2406FFFC */ addiu $a2, $zero, -4 +/* 31C57C 802BE55C E6000038 */ swc1 $f0, 0x38($s0) +/* 31C580 802BE560 E602003C */ swc1 $f2, 0x3c($s0) +/* 31C584 802BE564 0C052742 */ jal play_sound_at_npc +/* 31C588 802BE568 E6040040 */ swc1 $f4, 0x40($s0) +/* 31C58C 802BE56C C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C590 802BE570 0C00A8BB */ jal sin_deg +/* 31C594 802BE574 46146300 */ add.s $f12, $f12, $f20 +/* 31C598 802BE578 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31C59C 802BE57C 46146300 */ add.s $f12, $f12, $f20 +/* 31C5A0 802BE580 0C00A8D4 */ jal cos_deg +/* 31C5A4 802BE584 46000506 */ mov.s $f20, $f0 +/* 31C5A8 802BE588 24020001 */ addiu $v0, $zero, 1 +/* 31C5AC 802BE58C 860300A8 */ lh $v1, 0xa8($s0) +/* 31C5B0 802BE590 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31C5B4 802BE594 3C01BF80 */ lui $at, 0xbf80 +/* 31C5B8 802BE598 44811000 */ mtc1 $at, $f2 +/* 31C5BC 802BE59C 46000007 */ neg.s $f0, $f0 +/* 31C5C0 802BE5A0 E7B40010 */ swc1 $f20, 0x10($sp) +/* 31C5C4 802BE5A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31C5C8 802BE5A8 AFA2001C */ sw $v0, 0x1c($sp) +/* 31C5CC 802BE5AC 44830000 */ mtc1 $v1, $f0 +/* 31C5D0 802BE5B0 00000000 */ nop +/* 31C5D4 802BE5B4 46800020 */ cvt.s.w $f0, $f0 +/* 31C5D8 802BE5B8 46002100 */ add.s $f4, $f4, $f0 +/* 31C5DC 802BE5BC E7A20014 */ swc1 $f2, 0x14($sp) +/* 31C5E0 802BE5C0 8E050038 */ lw $a1, 0x38($s0) +/* 31C5E4 802BE5C4 8E070040 */ lw $a3, 0x40($s0) +/* 31C5E8 802BE5C8 44062000 */ mfc1 $a2, $f4 +/* 31C5EC 802BE5CC 0C01C064 */ jal func_80070190 +/* 31C5F0 802BE5D0 24040003 */ addiu $a0, $zero, 3 +/* 31C5F4 802BE5D4 080AF9C0 */ j .L802BE700 +/* 31C5F8 802BE5D8 AEA00070 */ sw $zero, 0x70($s5) +.L802BE5DC: +/* 31C5FC 802BE5DC 3C02802C */ lui $v0, 0x802c +/* 31C600 802BE5E0 8C42EC6C */ lw $v0, -0x1394($v0) +/* 31C604 802BE5E4 10400025 */ beqz $v0, .L802BE67C +/* 31C608 802BE5E8 00000000 */ nop +/* 31C60C 802BE5EC 3C04802C */ lui $a0, 0x802c +/* 31C610 802BE5F0 8C84EC68 */ lw $a0, -0x1398($a0) +/* 31C614 802BE5F4 0C04C3D6 */ jal get_item_entity +/* 31C618 802BE5F8 00000000 */ nop +/* 31C61C 802BE5FC 0040882D */ daddu $s1, $v0, $zero +/* 31C620 802BE600 C6060038 */ lwc1 $f6, 0x38($s0) +/* 31C624 802BE604 C600003C */ lwc1 $f0, 0x3c($s0) +/* 31C628 802BE608 3C014100 */ lui $at, 0x4100 +/* 31C62C 802BE60C 44811000 */ mtc1 $at, $f2 +/* 31C630 802BE610 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31C634 802BE614 3C02802C */ lui $v0, 0x802c +/* 31C638 802BE618 8C42EC58 */ lw $v0, -0x13a8($v0) +/* 31C63C 802BE61C 46020000 */ add.s $f0, $f0, $f2 +/* 31C640 802BE620 E7A60020 */ swc1 $f6, 0x20($sp) +/* 31C644 802BE624 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31C648 802BE628 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31C64C 802BE62C C68C0080 */ lwc1 $f12, 0x80($s4) +/* 31C650 802BE630 3C01C2B4 */ lui $at, 0xc2b4 +/* 31C654 802BE634 44810000 */ mtc1 $at, $f0 +/* 31C658 802BE638 10400003 */ beqz $v0, .L802BE648 +/* 31C65C 802BE63C 00000000 */ nop +/* 31C660 802BE640 3C0142B4 */ lui $at, 0x42b4 +/* 31C664 802BE644 44810000 */ mtc1 $at, $f0 +.L802BE648: +/* 31C668 802BE648 0C00A6C9 */ jal clamp_angle +/* 31C66C 802BE64C 46006301 */ sub.s $f12, $f12, $f0 +/* 31C670 802BE650 27A40020 */ addiu $a0, $sp, 0x20 +/* 31C674 802BE654 3C064080 */ lui $a2, 0x4080 +/* 31C678 802BE658 44070000 */ mfc1 $a3, $f0 +/* 31C67C 802BE65C 0C00A7E7 */ jal add_vec2D_polar +/* 31C680 802BE660 27A50028 */ addiu $a1, $sp, 0x28 +/* 31C684 802BE664 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 31C688 802BE668 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31C68C 802BE66C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 31C690 802BE670 E6200008 */ swc1 $f0, 8($s1) +/* 31C694 802BE674 E622000C */ swc1 $f2, 0xc($s1) +/* 31C698 802BE678 E6240010 */ swc1 $f4, 0x10($s1) +.L802BE67C: +/* 31C69C 802BE67C C6020010 */ lwc1 $f2, 0x10($s0) +/* 31C6A0 802BE680 3C014170 */ lui $at, 0x4170 +/* 31C6A4 802BE684 44810000 */ mtc1 $at, $f0 +/* 31C6A8 802BE688 00000000 */ nop +/* 31C6AC 802BE68C 46001080 */ add.s $f2, $f2, $f0 +/* 31C6B0 802BE690 C6040018 */ lwc1 $f4, 0x18($s0) +/* 31C6B4 802BE694 4604103C */ c.lt.s $f2, $f4 +/* 31C6B8 802BE698 00000000 */ nop +/* 31C6BC 802BE69C 45030018 */ bc1tl .L802BE700 +/* 31C6C0 802BE6A0 AEA00070 */ sw $zero, 0x70($s5) +/* 31C6C4 802BE6A4 3C01420C */ lui $at, 0x420c +/* 31C6C8 802BE6A8 44810000 */ mtc1 $at, $f0 +/* 31C6CC 802BE6AC 00000000 */ nop +/* 31C6D0 802BE6B0 4600103C */ c.lt.s $f2, $f0 +/* 31C6D4 802BE6B4 00000000 */ nop +/* 31C6D8 802BE6B8 45000011 */ bc1f .L802BE700 +/* 31C6DC 802BE6BC 00000000 */ nop +/* 31C6E0 802BE6C0 3C014010 */ lui $at, 0x4010 +/* 31C6E4 802BE6C4 44810800 */ mtc1 $at, $f1 +/* 31C6E8 802BE6C8 44800000 */ mtc1 $zero, $f0 +/* 31C6EC 802BE6CC 460020A1 */ cvt.d.s $f2, $f4 +/* 31C6F0 802BE6D0 46201081 */ sub.d $f2, $f2, $f0 +/* 31C6F4 802BE6D4 462010A0 */ cvt.s.d $f2, $f2 +/* 31C6F8 802BE6D8 E6020018 */ swc1 $f2, 0x18($s0) +/* 31C6FC 802BE6DC 460010A1 */ cvt.d.s $f2, $f2 +/* 31C700 802BE6E0 4620103C */ c.lt.d $f2, $f0 +/* 31C704 802BE6E4 00000000 */ nop +/* 31C708 802BE6E8 45000005 */ bc1f .L802BE700 +/* 31C70C 802BE6EC 00000000 */ nop +/* 31C710 802BE6F0 3C014080 */ lui $at, 0x4080 +/* 31C714 802BE6F4 44810000 */ mtc1 $at, $f0 +/* 31C718 802BE6F8 00000000 */ nop +/* 31C71C 802BE6FC E6000018 */ swc1 $f0, 0x18($s0) +.L802BE700: +/* 31C720 802BE700 8EA20070 */ lw $v0, 0x70($s5) +/* 31C724 802BE704 1440002B */ bnez $v0, .L802BE7B4 +/* 31C728 802BE708 0000102D */ daddu $v0, $zero, $zero +/* 31C72C 802BE70C 3C11802C */ lui $s1, 0x802c +/* 31C730 802BE710 2631EC64 */ addiu $s1, $s1, -0x139c +/* 31C734 802BE714 8E220000 */ lw $v0, ($s1) +/* 31C738 802BE718 10400005 */ beqz $v0, .L802BE730 +/* 31C73C 802BE71C 3C050002 */ lui $a1, 2 +/* 31C740 802BE720 0C038069 */ jal enable_player_input +/* 31C744 802BE724 00000000 */ nop +/* 31C748 802BE728 AE200000 */ sw $zero, ($s1) +/* 31C74C 802BE72C 3C050002 */ lui $a1, 2 +.L802BE730: +/* 31C750 802BE730 34A50004 */ ori $a1, $a1, 4 +/* 31C754 802BE734 24040284 */ addiu $a0, $zero, 0x284 +/* 31C758 802BE738 8E020000 */ lw $v0, ($s0) +/* 31C75C 802BE73C 2403F7BF */ addiu $v1, $zero, -0x841 +/* 31C760 802BE740 3C01802C */ lui $at, 0x802c +/* 31C764 802BE744 AC20EB40 */ sw $zero, -0x14c0($at) +/* 31C768 802BE748 34420100 */ ori $v0, $v0, 0x100 +/* 31C76C 802BE74C 00431024 */ and $v0, $v0, $v1 +/* 31C770 802BE750 AE020000 */ sw $v0, ($s0) +/* 31C774 802BE754 24020018 */ addiu $v0, $zero, 0x18 +/* 31C778 802BE758 A2C00003 */ sb $zero, 3($s6) +/* 31C77C 802BE75C A2C00000 */ sb $zero, ($s6) +/* 31C780 802BE760 AE00001C */ sw $zero, 0x1c($s0) +/* 31C784 802BE764 A60200A8 */ sh $v0, 0xa8($s0) +/* 31C788 802BE768 0C05271B */ jal stop_sound +/* 31C78C 802BE76C AE050028 */ sw $a1, 0x28($s0) +/* 31C790 802BE770 0C00EB6B */ jal disable_npc_blur +/* 31C794 802BE774 0200202D */ daddu $a0, $s0, $zero +/* 31C798 802BE778 3C11802C */ lui $s1, 0x802c +/* 31C79C 802BE77C 2631EC6C */ addiu $s1, $s1, -0x1394 +/* 31C7A0 802BE780 8E220000 */ lw $v0, ($s1) +/* 31C7A4 802BE784 10400006 */ beqz $v0, .L802BE7A0 +/* 31C7A8 802BE788 00000000 */ nop +/* 31C7AC 802BE78C 3C04802C */ lui $a0, 0x802c +/* 31C7B0 802BE790 8C84EC68 */ lw $a0, -0x1398($a0) +/* 31C7B4 802BE794 0C04D06C */ jal func_801341B0 +/* 31C7B8 802BE798 00000000 */ nop +/* 31C7BC 802BE79C AE200000 */ sw $zero, ($s1) +.L802BE7A0: +/* 31C7C0 802BE7A0 3C01802C */ lui $at, 0x802c +/* 31C7C4 802BE7A4 AC20EC54 */ sw $zero, -0x13ac($at) +/* 31C7C8 802BE7A8 0C03BD17 */ jal clear_partner_move_history +/* 31C7CC 802BE7AC 0200202D */ daddu $a0, $s0, $zero +/* 31C7D0 802BE7B0 24020002 */ addiu $v0, $zero, 2 +.L802BE7B4: +/* 31C7D4 802BE7B4 8FBF004C */ lw $ra, 0x4c($sp) +/* 31C7D8 802BE7B8 8FB60048 */ lw $s6, 0x48($sp) +/* 31C7DC 802BE7BC 8FB50044 */ lw $s5, 0x44($sp) +/* 31C7E0 802BE7C0 8FB40040 */ lw $s4, 0x40($sp) +/* 31C7E4 802BE7C4 8FB3003C */ lw $s3, 0x3c($sp) +/* 31C7E8 802BE7C8 8FB20038 */ lw $s2, 0x38($sp) +/* 31C7EC 802BE7CC 8FB10034 */ lw $s1, 0x34($sp) +/* 31C7F0 802BE7D0 8FB00030 */ lw $s0, 0x30($sp) +/* 31C7F4 802BE7D4 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 31C7F8 802BE7D8 03E00008 */ jr $ra +/* 31C7FC 802BE7DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_31B120/func_802BE7E0.s b/asm/nonmatchings/code_31B120/func_802BE7E0.s new file mode 100644 index 0000000000..f5e88ba670 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BE7E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE7E0 +/* 31C800 802BE7E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31C804 802BE7E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 31C808 802BE7E8 AFB00010 */ sw $s0, 0x10($sp) +/* 31C80C 802BE7EC 10A00003 */ beqz $a1, .L802BE7FC +/* 31C810 802BE7F0 8C90014C */ lw $s0, 0x14c($a0) +/* 31C814 802BE7F4 0C03BA65 */ jal func_800EE994 +/* 31C818 802BE7F8 0200202D */ daddu $a0, $s0, $zero +.L802BE7FC: +/* 31C81C 802BE7FC 0C03BA6E */ jal func_800EE9B8 +/* 31C820 802BE800 0200202D */ daddu $a0, $s0, $zero +/* 31C824 802BE804 8FBF0014 */ lw $ra, 0x14($sp) +/* 31C828 802BE808 8FB00010 */ lw $s0, 0x10($sp) +/* 31C82C 802BE80C 0002102B */ sltu $v0, $zero, $v0 +/* 31C830 802BE810 03E00008 */ jr $ra +/* 31C834 802BE814 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31B120/func_802BE818.s b/asm/nonmatchings/code_31B120/func_802BE818.s new file mode 100644 index 0000000000..98521a8095 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BE818.s @@ -0,0 +1,137 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE818 +/* 31C838 802BE818 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 31C83C 802BE81C AFB10044 */ sw $s1, 0x44($sp) +/* 31C840 802BE820 3C11802C */ lui $s1, 0x802c +/* 31C844 802BE824 2631EB40 */ addiu $s1, $s1, -0x14c0 +/* 31C848 802BE828 AFBF0048 */ sw $ra, 0x48($sp) +/* 31C84C 802BE82C AFB00040 */ sw $s0, 0x40($sp) +/* 31C850 802BE830 F7BE0078 */ sdc1 $f30, 0x78($sp) +/* 31C854 802BE834 F7BC0070 */ sdc1 $f28, 0x70($sp) +/* 31C858 802BE838 F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 31C85C 802BE83C F7B80060 */ sdc1 $f24, 0x60($sp) +/* 31C860 802BE840 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 31C864 802BE844 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 31C868 802BE848 8E220000 */ lw $v0, ($s1) +/* 31C86C 802BE84C 10400069 */ beqz $v0, .L802BE9F4 +/* 31C870 802BE850 0080802D */ daddu $s0, $a0, $zero +/* 31C874 802BE854 C6160038 */ lwc1 $f22, 0x38($s0) +/* 31C878 802BE858 C6180040 */ lwc1 $f24, 0x40($s0) +/* 31C87C 802BE85C 84A200A6 */ lh $v0, 0xa6($a1) +/* 31C880 802BE860 3C01802C */ lui $at, 0x802c +/* 31C884 802BE864 D420EC38 */ ldc1 $f0, -0x13c8($at) +/* 31C888 802BE868 C4BE0038 */ lwc1 $f30, 0x38($a1) +/* 31C88C 802BE86C C4A80040 */ lwc1 $f8, 0x40($a1) +/* 31C890 802BE870 44822000 */ mtc1 $v0, $f4 +/* 31C894 802BE874 00000000 */ nop +/* 31C898 802BE878 46802121 */ cvt.d.w $f4, $f4 +/* 31C89C 802BE87C 46004386 */ mov.s $f14, $f8 +/* 31C8A0 802BE880 46202102 */ mul.d $f4, $f4, $f0 +/* 31C8A4 802BE884 00000000 */ nop +/* 31C8A8 802BE888 E7A80030 */ swc1 $f8, 0x30($sp) +/* 31C8AC 802BE88C 860200A6 */ lh $v0, 0xa6($s0) +/* 31C8B0 802BE890 3C01802C */ lui $at, 0x802c +/* 31C8B4 802BE894 D420EC40 */ ldc1 $f0, -0x13c0($at) +/* 31C8B8 802BE898 4406B000 */ mfc1 $a2, $f22 +/* 31C8BC 802BE89C 44821000 */ mtc1 $v0, $f2 +/* 31C8C0 802BE8A0 00000000 */ nop +/* 31C8C4 802BE8A4 468010A1 */ cvt.d.w $f2, $f2 +/* 31C8C8 802BE8A8 84A200A8 */ lh $v0, 0xa8($a1) +/* 31C8CC 802BE8AC 4407C000 */ mfc1 $a3, $f24 +/* 31C8D0 802BE8B0 44825000 */ mtc1 $v0, $f10 +/* 31C8D4 802BE8B4 00000000 */ nop +/* 31C8D8 802BE8B8 468052A0 */ cvt.s.w $f10, $f10 +/* 31C8DC 802BE8BC E7AA0034 */ swc1 $f10, 0x34($sp) +/* 31C8E0 802BE8C0 860200A8 */ lh $v0, 0xa8($s0) +/* 31C8E4 802BE8C4 46201082 */ mul.d $f2, $f2, $f0 +/* 31C8E8 802BE8C8 00000000 */ nop +/* 31C8EC 802BE8CC 44824000 */ mtc1 $v0, $f8 +/* 31C8F0 802BE8D0 00000000 */ nop +/* 31C8F4 802BE8D4 46804220 */ cvt.s.w $f8, $f8 +/* 31C8F8 802BE8D8 E7A8003C */ swc1 $f8, 0x3c($sp) +/* 31C8FC 802BE8DC C4AA003C */ lwc1 $f10, 0x3c($a1) +/* 31C900 802BE8E0 E7AA002C */ swc1 $f10, 0x2c($sp) +/* 31C904 802BE8E4 C608003C */ lwc1 $f8, 0x3c($s0) +/* 31C908 802BE8E8 4600F306 */ mov.s $f12, $f30 +/* 31C90C 802BE8EC E7A80038 */ swc1 $f8, 0x38($sp) +/* 31C910 802BE8F0 46202720 */ cvt.s.d $f28, $f4 +/* 31C914 802BE8F4 0C00A720 */ jal atan2 +/* 31C918 802BE8F8 462016A0 */ cvt.s.d $f26, $f2 +/* 31C91C 802BE8FC 4600F306 */ mov.s $f12, $f30 +/* 31C920 802BE900 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 31C924 802BE904 4406B000 */ mfc1 $a2, $f22 +/* 31C928 802BE908 4407C000 */ mfc1 $a3, $f24 +/* 31C92C 802BE90C 0C00A7B5 */ jal dist2D +/* 31C930 802BE910 46000506 */ mov.s $f20, $f0 +/* 31C934 802BE914 27A60024 */ addiu $a2, $sp, 0x24 +/* 31C938 802BE918 27A70028 */ addiu $a3, $sp, 0x28 +/* 31C93C 802BE91C 0000202D */ daddu $a0, $zero, $zero +/* 31C940 802BE920 C6020038 */ lwc1 $f2, 0x38($s0) +/* 31C944 802BE924 C604003C */ lwc1 $f4, 0x3c($s0) +/* 31C948 802BE928 C6060040 */ lwc1 $f6, 0x40($s0) +/* 31C94C 802BE92C C7AA003C */ lwc1 $f10, 0x3c($sp) +/* 31C950 802BE930 27A50020 */ addiu $a1, $sp, 0x20 +/* 31C954 802BE934 E7A20020 */ swc1 $f2, 0x20($sp) +/* 31C958 802BE938 E7A40024 */ swc1 $f4, 0x24($sp) +/* 31C95C 802BE93C E7A60028 */ swc1 $f6, 0x28($sp) +/* 31C960 802BE940 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31C964 802BE944 461CD000 */ add.s $f0, $f26, $f28 +/* 31C968 802BE948 E7B40014 */ swc1 $f20, 0x14($sp) +/* 31C96C 802BE94C E7AA0018 */ swc1 $f10, 0x18($sp) +/* 31C970 802BE950 0C0376B9 */ jal func_800DDAE4 +/* 31C974 802BE954 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31C978 802BE958 54400027 */ bnel $v0, $zero, .L802BE9F8 +/* 31C97C 802BE95C 0000102D */ daddu $v0, $zero, $zero +/* 31C980 802BE960 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 31C984 802BE964 C7AA0034 */ lwc1 $f10, 0x34($sp) +/* 31C988 802BE968 460A4000 */ add.s $f0, $f8, $f10 +/* 31C98C 802BE96C C7A80038 */ lwc1 $f8, 0x38($sp) +/* 31C990 802BE970 4608003C */ c.lt.s $f0, $f8 +/* 31C994 802BE974 00000000 */ nop +/* 31C998 802BE978 4503001F */ bc1tl .L802BE9F8 +/* 31C99C 802BE97C 0000102D */ daddu $v0, $zero, $zero +/* 31C9A0 802BE980 C7AA0038 */ lwc1 $f10, 0x38($sp) +/* 31C9A4 802BE984 C7A8003C */ lwc1 $f8, 0x3c($sp) +/* 31C9A8 802BE988 46085000 */ add.s $f0, $f10, $f8 +/* 31C9AC 802BE98C C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 31C9B0 802BE990 460A003C */ c.lt.s $f0, $f10 +/* 31C9B4 802BE994 00000000 */ nop +/* 31C9B8 802BE998 45030017 */ bc1tl .L802BE9F8 +/* 31C9BC 802BE99C 0000102D */ daddu $v0, $zero, $zero +/* 31C9C0 802BE9A0 461AD002 */ mul.s $f0, $f26, $f26 +/* 31C9C4 802BE9A4 00000000 */ nop +/* 31C9C8 802BE9A8 461CE082 */ mul.s $f2, $f28, $f28 +/* 31C9CC 802BE9AC 00000000 */ nop +/* 31C9D0 802BE9B0 4616F581 */ sub.s $f22, $f30, $f22 +/* 31C9D4 802BE9B4 4616B182 */ mul.s $f6, $f22, $f22 +/* 31C9D8 802BE9B8 00000000 */ nop +/* 31C9DC 802BE9BC C7A80030 */ lwc1 $f8, 0x30($sp) +/* 31C9E0 802BE9C0 46184601 */ sub.s $f24, $f8, $f24 +/* 31C9E4 802BE9C4 4618C102 */ mul.s $f4, $f24, $f24 +/* 31C9E8 802BE9C8 00000000 */ nop +/* 31C9EC 802BE9CC 46020000 */ add.s $f0, $f0, $f2 +/* 31C9F0 802BE9D0 46043180 */ add.s $f6, $f6, $f4 +/* 31C9F4 802BE9D4 4606003E */ c.le.s $f0, $f6 +/* 31C9F8 802BE9D8 00000000 */ nop +/* 31C9FC 802BE9DC 45030006 */ bc1tl .L802BE9F8 +/* 31CA00 802BE9E0 0000102D */ daddu $v0, $zero, $zero +/* 31CA04 802BE9E4 24020002 */ addiu $v0, $zero, 2 +/* 31CA08 802BE9E8 AE220000 */ sw $v0, ($s1) +/* 31CA0C 802BE9EC 080AFA7E */ j .L802BE9F8 +/* 31CA10 802BE9F0 24020001 */ addiu $v0, $zero, 1 +.L802BE9F4: +/* 31CA14 802BE9F4 0000102D */ daddu $v0, $zero, $zero +.L802BE9F8: +/* 31CA18 802BE9F8 8FBF0048 */ lw $ra, 0x48($sp) +/* 31CA1C 802BE9FC 8FB10044 */ lw $s1, 0x44($sp) +/* 31CA20 802BEA00 8FB00040 */ lw $s0, 0x40($sp) +/* 31CA24 802BEA04 D7BE0078 */ ldc1 $f30, 0x78($sp) +/* 31CA28 802BEA08 D7BC0070 */ ldc1 $f28, 0x70($sp) +/* 31CA2C 802BEA0C D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 31CA30 802BEA10 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 31CA34 802BEA14 D7B60058 */ ldc1 $f22, 0x58($sp) +/* 31CA38 802BEA18 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 31CA3C 802BEA1C 03E00008 */ jr $ra +/* 31CA40 802BEA20 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_31B120/func_802BEA24.s b/asm/nonmatchings/code_31B120/func_802BEA24.s new file mode 100644 index 0000000000..7a53c85cf3 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BEA24.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BEA24 +/* 31CA44 802BEA24 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 31CA48 802BEA28 AFB10014 */ sw $s1, 0x14($sp) +/* 31CA4C 802BEA2C 0080882D */ daddu $s1, $a0, $zero +/* 31CA50 802BEA30 3C04802C */ lui $a0, 0x802c +/* 31CA54 802BEA34 2484EC54 */ addiu $a0, $a0, -0x13ac +/* 31CA58 802BEA38 AFB20018 */ sw $s2, 0x18($sp) +/* 31CA5C 802BEA3C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 31CA60 802BEA40 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 31CA64 802BEA44 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 31CA68 802BEA48 2442EBB0 */ addiu $v0, $v0, %lo(D_8010EBB0) +/* 31CA6C 802BEA4C AFBF0020 */ sw $ra, 0x20($sp) +/* 31CA70 802BEA50 AFB3001C */ sw $s3, 0x1c($sp) +/* 31CA74 802BEA54 AFB00010 */ sw $s0, 0x10($sp) +/* 31CA78 802BEA58 AC800000 */ sw $zero, ($a0) +/* 31CA7C 802BEA5C 80430000 */ lb $v1, ($v0) +/* 31CA80 802BEA60 10600024 */ beqz $v1, .L802BEAF4 +/* 31CA84 802BEA64 0040982D */ daddu $s3, $v0, $zero +/* 31CA88 802BEA68 24020002 */ addiu $v0, $zero, 2 +/* 31CA8C 802BEA6C 14620002 */ bne $v1, $v0, .L802BEA78 +/* 31CA90 802BEA70 24020001 */ addiu $v0, $zero, 1 +/* 31CA94 802BEA74 AC820000 */ sw $v0, ($a0) +.L802BEA78: +/* 31CA98 802BEA78 3C10802C */ lui $s0, 0x802c +/* 31CA9C 802BEA7C 2610EC64 */ addiu $s0, $s0, -0x139c +/* 31CAA0 802BEA80 8E020000 */ lw $v0, ($s0) +/* 31CAA4 802BEA84 50400005 */ beql $v0, $zero, .L802BEA9C +/* 31CAA8 802BEA88 24040284 */ addiu $a0, $zero, 0x284 +/* 31CAAC 802BEA8C 0C038069 */ jal enable_player_input +/* 31CAB0 802BEA90 00000000 */ nop +/* 31CAB4 802BEA94 AE000000 */ sw $zero, ($s0) +/* 31CAB8 802BEA98 24040284 */ addiu $a0, $zero, 0x284 +.L802BEA9C: +/* 31CABC 802BEA9C 8E420000 */ lw $v0, ($s2) +/* 31CAC0 802BEAA0 2403FFFD */ addiu $v1, $zero, -3 +/* 31CAC4 802BEAA4 3C01802C */ lui $at, 0x802c +/* 31CAC8 802BEAA8 AC20EB40 */ sw $zero, -0x14c0($at) +/* 31CACC 802BEAAC 00431024 */ and $v0, $v0, $v1 +/* 31CAD0 802BEAB0 AE420000 */ sw $v0, ($s2) +/* 31CAD4 802BEAB4 8E220000 */ lw $v0, ($s1) +/* 31CAD8 802BEAB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* 31CADC 802BEABC AE20001C */ sw $zero, 0x1c($s1) +/* 31CAE0 802BEAC0 00431024 */ and $v0, $v0, $v1 +/* 31CAE4 802BEAC4 2403FFBF */ addiu $v1, $zero, -0x41 +/* 31CAE8 802BEAC8 00431024 */ and $v0, $v0, $v1 +/* 31CAEC 802BEACC 0C05271B */ jal stop_sound +/* 31CAF0 802BEAD0 AE220000 */ sw $v0, ($s1) +/* 31CAF4 802BEAD4 0C039769 */ jal set_action_state +/* 31CAF8 802BEAD8 0000202D */ daddu $a0, $zero, $zero +/* 31CAFC 802BEADC 0C03BD17 */ jal clear_partner_move_history +/* 31CB00 802BEAE0 0220202D */ daddu $a0, $s1, $zero +/* 31CB04 802BEAE4 0C00EB6B */ jal disable_npc_blur +/* 31CB08 802BEAE8 0220202D */ daddu $a0, $s1, $zero +/* 31CB0C 802BEAEC A2600003 */ sb $zero, 3($s3) +/* 31CB10 802BEAF0 A2600000 */ sb $zero, ($s3) +.L802BEAF4: +/* 31CB14 802BEAF4 8FBF0020 */ lw $ra, 0x20($sp) +/* 31CB18 802BEAF8 8FB3001C */ lw $s3, 0x1c($sp) +/* 31CB1C 802BEAFC 8FB20018 */ lw $s2, 0x18($sp) +/* 31CB20 802BEB00 8FB10014 */ lw $s1, 0x14($sp) +/* 31CB24 802BEB04 8FB00010 */ lw $s0, 0x10($sp) +/* 31CB28 802BEB08 03E00008 */ jr $ra +/* 31CB2C 802BEB0C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31B120/func_802BEB10.s b/asm/nonmatchings/code_31B120/func_802BEB10.s new file mode 100644 index 0000000000..97cd856d78 --- /dev/null +++ b/asm/nonmatchings/code_31B120/func_802BEB10.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BEB10 +/* 31CB30 802BEB10 3C02802C */ lui $v0, 0x802c +/* 31CB34 802BEB14 8C42EC54 */ lw $v0, -0x13ac($v0) +/* 31CB38 802BEB18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31CB3C 802BEB1C 10400005 */ beqz $v0, .L802BEB34 +/* 31CB40 802BEB20 AFBF0010 */ sw $ra, 0x10($sp) +/* 31CB44 802BEB24 0C03BD17 */ jal clear_partner_move_history +/* 31CB48 802BEB28 00000000 */ nop +/* 31CB4C 802BEB2C 0C03ACC5 */ jal partner_use_ability +/* 31CB50 802BEB30 00000000 */ nop +.L802BEB34: +/* 31CB54 802BEB34 8FBF0010 */ lw $ra, 0x10($sp) +/* 31CB58 802BEB38 03E00008 */ jr $ra +/* 31CB5C 802BEB3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s b/asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s new file mode 100644 index 0000000000..0c098a71cd --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_31CC70 +/* 31CC70 802BD100 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 31CC74 802BD104 AFBF0024 */ sw $ra, 0x24($sp) +/* 31CC78 802BD108 AFB00020 */ sw $s0, 0x20($sp) +/* 31CC7C 802BD10C 8C820000 */ lw $v0, ($a0) +/* 31CC80 802BD110 30420002 */ andi $v0, $v0, 2 +/* 31CC84 802BD114 14400016 */ bnez $v0, .L802BD170 +/* 31CC88 802BD118 00000000 */ nop +/* 31CC8C 802BD11C 3C10802C */ lui $s0, 0x802c +/* 31CC90 802BD120 2610E310 */ addiu $s0, $s0, -0x1cf0 +/* 31CC94 802BD124 8E020000 */ lw $v0, ($s0) +/* 31CC98 802BD128 14400011 */ bnez $v0, .L802BD170 +/* 31CC9C 802BD12C 24020005 */ addiu $v0, $zero, 5 +/* 31CCA0 802BD130 C484003C */ lwc1 $f4, 0x3c($a0) +/* 31CCA4 802BD134 3C014150 */ lui $at, 0x4150 +/* 31CCA8 802BD138 44811000 */ mtc1 $at, $f2 +/* 31CCAC 802BD13C 3C013F66 */ lui $at, 0x3f66 +/* 31CCB0 802BD140 34216666 */ ori $at, $at, 0x6666 +/* 31CCB4 802BD144 44810000 */ mtc1 $at, $f0 +/* 31CCB8 802BD148 AFA20014 */ sw $v0, 0x14($sp) +/* 31CCBC 802BD14C AFA00018 */ sw $zero, 0x18($sp) +/* 31CCC0 802BD150 46022100 */ add.s $f4, $f4, $f2 +/* 31CCC4 802BD154 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31CCC8 802BD158 8C850038 */ lw $a1, 0x38($a0) +/* 31CCCC 802BD15C 8C870040 */ lw $a3, 0x40($a0) +/* 31CCD0 802BD160 44062000 */ mfc1 $a2, $f4 +/* 31CCD4 802BD164 0C01C8EC */ jal func_800723B0 +/* 31CCD8 802BD168 0000202D */ daddu $a0, $zero, $zero +/* 31CCDC 802BD16C AE020000 */ sw $v0, ($s0) +.L802BD170: +/* 31CCE0 802BD170 8FBF0024 */ lw $ra, 0x24($sp) +/* 31CCE4 802BD174 8FB00020 */ lw $s0, 0x20($sp) +/* 31CCE8 802BD178 03E00008 */ jr $ra +/* 31CCEC 802BD17C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s b/asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s new file mode 100644 index 0000000000..416e3423be --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD180_31CC70 +/* 31CCF0 802BD180 3C03802C */ lui $v1, 0x802c +/* 31CCF4 802BD184 2463E310 */ addiu $v1, $v1, -0x1cf0 +/* 31CCF8 802BD188 8C620000 */ lw $v0, ($v1) +/* 31CCFC 802BD18C 10400005 */ beqz $v0, .L802BD1A4 +/* 31CD00 802BD190 00000000 */ nop +/* 31CD04 802BD194 AC600000 */ sw $zero, ($v1) +/* 31CD08 802BD198 8C43000C */ lw $v1, 0xc($v0) +/* 31CD0C 802BD19C 24020001 */ addiu $v0, $zero, 1 +/* 31CD10 802BD1A0 AC620028 */ sw $v0, 0x28($v1) +.L802BD1A4: +/* 31CD14 802BD1A4 03E00008 */ jr $ra +/* 31CD18 802BD1A8 00000000 */ nop diff --git a/asm/nonmatchings/code_31CC70/func_802BD1AC.s b/asm/nonmatchings/code_31CC70/func_802BD1AC.s new file mode 100644 index 0000000000..aa951fdfdb --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD1AC.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1AC +/* 31CD1C 802BD1AC 3C02802C */ lui $v0, 0x802c +/* 31CD20 802BD1B0 8C42E310 */ lw $v0, -0x1cf0($v0) +/* 31CD24 802BD1B4 3C013F00 */ lui $at, 0x3f00 +/* 31CD28 802BD1B8 44810000 */ mtc1 $at, $f0 +/* 31CD2C 802BD1BC 8C45000C */ lw $a1, 0xc($v0) +/* 31CD30 802BD1C0 24030001 */ addiu $v1, $zero, 1 +/* 31CD34 802BD1C4 ACA40000 */ sw $a0, ($a1) +/* 31CD38 802BD1C8 00042080 */ sll $a0, $a0, 2 +/* 31CD3C 802BD1CC 3C01802C */ lui $at, 0x802c +/* 31CD40 802BD1D0 00240821 */ addu $at, $at, $a0 +/* 31CD44 802BD1D4 C422E250 */ lwc1 $f2, -0x1db0($at) +/* 31CD48 802BD1D8 468010A0 */ cvt.s.w $f2, $f2 +/* 31CD4C 802BD1DC 8C420008 */ lw $v0, 8($v0) +/* 31CD50 802BD1E0 46001082 */ mul.s $f2, $f2, $f0 +/* 31CD54 802BD1E4 00000000 */ nop +/* 31CD58 802BD1E8 2444FFFF */ addiu $a0, $v0, -1 +/* 31CD5C 802BD1EC 0064102A */ slt $v0, $v1, $a0 +/* 31CD60 802BD1F0 10400010 */ beqz $v0, .L802BD234 +/* 31CD64 802BD1F4 24A50038 */ addiu $a1, $a1, 0x38 +/* 31CD68 802BD1F8 3C01BF80 */ lui $at, 0xbf80 +/* 31CD6C 802BD1FC 44812000 */ mtc1 $at, $f4 +.L802BD200: +/* 31CD70 802BD200 30620001 */ andi $v0, $v1, 1 +/* 31CD74 802BD204 44820000 */ mtc1 $v0, $f0 +/* 31CD78 802BD208 00000000 */ nop +/* 31CD7C 802BD20C 46800020 */ cvt.s.w $f0, $f0 +/* 31CD80 802BD210 46001002 */ mul.s $f0, $f2, $f0 +/* 31CD84 802BD214 00000000 */ nop +/* 31CD88 802BD218 46002001 */ sub.s $f0, $f4, $f0 +/* 31CD8C 802BD21C 24630001 */ addiu $v1, $v1, 1 +/* 31CD90 802BD220 0064102A */ slt $v0, $v1, $a0 +/* 31CD94 802BD224 4600018D */ trunc.w.s $f6, $f0 +/* 31CD98 802BD228 E4A60020 */ swc1 $f6, 0x20($a1) +/* 31CD9C 802BD22C 1440FFF4 */ bnez $v0, .L802BD200 +/* 31CDA0 802BD230 24A50038 */ addiu $a1, $a1, 0x38 +.L802BD234: +/* 31CDA4 802BD234 03E00008 */ jr $ra +/* 31CDA8 802BD238 00000000 */ nop diff --git a/asm/nonmatchings/code_31CC70/func_802BD23C.s b/asm/nonmatchings/code_31CC70/func_802BD23C.s new file mode 100644 index 0000000000..4915382eed --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD23C.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD23C +/* 31CDAC 802BD23C 24020018 */ addiu $v0, $zero, 0x18 +/* 31CDB0 802BD240 A48200A8 */ sh $v0, 0xa8($a0) +/* 31CDB4 802BD244 A48200A6 */ sh $v0, 0xa6($a0) +/* 31CDB8 802BD248 24020014 */ addiu $v0, $zero, 0x14 +/* 31CDBC 802BD24C 3C01802C */ lui $at, 0x802c +/* 31CDC0 802BD250 AC20E308 */ sw $zero, -0x1cf8($at) +/* 31CDC4 802BD254 3C01802C */ lui $at, 0x802c +/* 31CDC8 802BD258 AC20E300 */ sw $zero, -0x1d00($at) +/* 31CDCC 802BD25C 3C01802C */ lui $at, 0x802c +/* 31CDD0 802BD260 AC20E30C */ sw $zero, -0x1cf4($at) +/* 31CDD4 802BD264 3C01802C */ lui $at, 0x802c +/* 31CDD8 802BD268 AC22E304 */ sw $v0, -0x1cfc($at) +/* 31CDDC 802BD26C 3C01802C */ lui $at, 0x802c +/* 31CDE0 802BD270 AC20E310 */ sw $zero, -0x1cf0($at) +/* 31CDE4 802BD274 03E00008 */ jr $ra +/* 31CDE8 802BD278 00000000 */ nop diff --git a/asm/nonmatchings/code_31CC70/func_802BD27C.s b/asm/nonmatchings/code_31CC70/func_802BD27C.s new file mode 100644 index 0000000000..3f6d207e74 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD27C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD27C +/* 31CDEC 802BD27C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31CDF0 802BD280 AFBF0014 */ sw $ra, 0x14($sp) +/* 31CDF4 802BD284 AFB00010 */ sw $s0, 0x10($sp) +/* 31CDF8 802BD288 10A00003 */ beqz $a1, .L802BD298 +/* 31CDFC 802BD28C 8C90014C */ lw $s0, 0x14c($a0) +/* 31CE00 802BD290 0C03BB31 */ jal func_800EECC4 +/* 31CE04 802BD294 0200202D */ daddu $a0, $s0, $zero +.L802BD298: +/* 31CE08 802BD298 0C03BB3A */ jal func_800EECE8 +/* 31CE0C 802BD29C 0200202D */ daddu $a0, $s0, $zero +/* 31CE10 802BD2A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 31CE14 802BD2A4 8FB00010 */ lw $s0, 0x10($sp) +/* 31CE18 802BD2A8 0002102B */ sltu $v0, $zero, $v0 +/* 31CE1C 802BD2AC 03E00008 */ jr $ra +/* 31CE20 802BD2B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BD2B4.s b/asm/nonmatchings/code_31CC70/func_802BD2B4.s new file mode 100644 index 0000000000..7248b91393 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD2B4.s @@ -0,0 +1,299 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD2B4 +/* 31CE24 802BD2B4 3C028011 */ lui $v0, 0x8011 +/* 31CE28 802BD2B8 8042EBB1 */ lb $v0, -0x144f($v0) +/* 31CE2C 802BD2BC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31CE30 802BD2C0 AFB00018 */ sw $s0, 0x18($sp) +/* 31CE34 802BD2C4 3C108011 */ lui $s0, %hi(gPlayerData) +/* 31CE38 802BD2C8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 31CE3C 802BD2CC AFBF0028 */ sw $ra, 0x28($sp) +/* 31CE40 802BD2D0 AFB30024 */ sw $s3, 0x24($sp) +/* 31CE44 802BD2D4 AFB20020 */ sw $s2, 0x20($sp) +/* 31CE48 802BD2D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 31CE4C 802BD2DC F7B40030 */ sdc1 $f20, 0x30($sp) +/* 31CE50 802BD2E0 8C91014C */ lw $s1, 0x14c($a0) +/* 31CE54 802BD2E4 14400102 */ bnez $v0, .L802BD6F0 +/* 31CE58 802BD2E8 0000102D */ daddu $v0, $zero, $zero +/* 31CE5C 802BD2EC 10A00009 */ beqz $a1, .L802BD314 +/* 31CE60 802BD2F0 0220202D */ daddu $a0, $s1, $zero +/* 31CE64 802BD2F4 0C03B4C4 */ jal enable_partner_flying +/* 31CE68 802BD2F8 24050001 */ addiu $a1, $zero, 1 +/* 31CE6C 802BD2FC 3C04802C */ lui $a0, 0x802c +/* 31CE70 802BD300 8C84E274 */ lw $a0, -0x1d8c($a0) +/* 31CE74 802BD304 0C00A580 */ jal mem_clear +/* 31CE78 802BD308 2405001C */ addiu $a1, $zero, 0x1c +/* 31CE7C 802BD30C 3C018011 */ lui $at, 0x8011 +/* 31CE80 802BD310 AC20C954 */ sw $zero, -0x36ac($at) +.L802BD314: +/* 31CE84 802BD314 3C138011 */ lui $s3, 0x8011 +/* 31CE88 802BD318 2673C954 */ addiu $s3, $s3, -0x36ac +/* 31CE8C 802BD31C 8E02030C */ lw $v0, 0x30c($s0) +/* 31CE90 802BD320 8E720000 */ lw $s2, ($s3) +/* 31CE94 802BD324 24420001 */ addiu $v0, $v0, 1 +/* 31CE98 802BD328 16400026 */ bnez $s2, .L802BD3C4 +/* 31CE9C 802BD32C AE02030C */ sw $v0, 0x30c($s0) +/* 31CEA0 802BD330 0C0AF440 */ jal func_802BD100_31CC70 +/* 31CEA4 802BD334 0220202D */ daddu $a0, $s1, $zero +/* 31CEA8 802BD338 0C03B52E */ jal update_player_move_history +/* 31CEAC 802BD33C 0220202D */ daddu $a0, $s1, $zero +/* 31CEB0 802BD340 0C03B574 */ jal func_800ED5D0 +/* 31CEB4 802BD344 0220202D */ daddu $a0, $s1, $zero +/* 31CEB8 802BD348 C6220018 */ lwc1 $f2, 0x18($s1) +/* 31CEBC 802BD34C 44800000 */ mtc1 $zero, $f0 +/* 31CEC0 802BD350 00000000 */ nop +/* 31CEC4 802BD354 46001032 */ c.eq.s $f2, $f0 +/* 31CEC8 802BD358 00000000 */ nop +/* 31CECC 802BD35C 4501000D */ bc1t .L802BD394 +/* 31CED0 802BD360 00000000 */ nop +/* 31CED4 802BD364 3C03802C */ lui $v1, 0x802c +/* 31CED8 802BD368 2463E278 */ addiu $v1, $v1, -0x1d88 +/* 31CEDC 802BD36C 8C620000 */ lw $v0, ($v1) +/* 31CEE0 802BD370 144000CE */ bnez $v0, .L802BD6AC +/* 31CEE4 802BD374 00000000 */ nop +/* 31CEE8 802BD378 24040001 */ addiu $a0, $zero, 1 +/* 31CEEC 802BD37C 0080102D */ daddu $v0, $a0, $zero +/* 31CEF0 802BD380 0C0AF46B */ jal func_802BD1AC +/* 31CEF4 802BD384 AC620000 */ sw $v0, ($v1) +/* 31CEF8 802BD388 3C020006 */ lui $v0, 6 +/* 31CEFC 802BD38C 080AF4EF */ j .L802BD3BC +/* 31CF00 802BD390 34420003 */ ori $v0, $v0, 3 +.L802BD394: +/* 31CF04 802BD394 3C03802C */ lui $v1, 0x802c +/* 31CF08 802BD398 2463E278 */ addiu $v1, $v1, -0x1d88 +/* 31CF0C 802BD39C 8C620000 */ lw $v0, ($v1) +/* 31CF10 802BD3A0 104000C2 */ beqz $v0, .L802BD6AC +/* 31CF14 802BD3A4 00000000 */ nop +/* 31CF18 802BD3A8 0000202D */ daddu $a0, $zero, $zero +/* 31CF1C 802BD3AC 0C0AF46B */ jal func_802BD1AC +/* 31CF20 802BD3B0 AC600000 */ sw $zero, ($v1) +/* 31CF24 802BD3B4 3C020006 */ lui $v0, 6 +/* 31CF28 802BD3B8 34420001 */ ori $v0, $v0, 1 +.L802BD3BC: +/* 31CF2C 802BD3BC 080AF5AB */ j .L802BD6AC +/* 31CF30 802BD3C0 AE220028 */ sw $v0, 0x28($s1) +.L802BD3C4: +/* 31CF34 802BD3C4 3C10802C */ lui $s0, 0x802c +/* 31CF38 802BD3C8 2610E274 */ addiu $s0, $s0, -0x1d8c +/* 31CF3C 802BD3CC 8E040000 */ lw $a0, ($s0) +/* 31CF40 802BD3D0 8C830004 */ lw $v1, 4($a0) +/* 31CF44 802BD3D4 24050001 */ addiu $a1, $zero, 1 +/* 31CF48 802BD3D8 1065002F */ beq $v1, $a1, .L802BD498 +/* 31CF4C 802BD3DC 28620002 */ slti $v0, $v1, 2 +/* 31CF50 802BD3E0 50400005 */ beql $v0, $zero, .L802BD3F8 +/* 31CF54 802BD3E4 24020002 */ addiu $v0, $zero, 2 +/* 31CF58 802BD3E8 50600009 */ beql $v1, $zero, .L802BD410 +/* 31CF5C 802BD3EC AC850004 */ sw $a1, 4($a0) +/* 31CF60 802BD3F0 080AF5AB */ j .L802BD6AC +/* 31CF64 802BD3F4 00000000 */ nop +.L802BD3F8: +/* 31CF68 802BD3F8 10620099 */ beq $v1, $v0, .L802BD660 +/* 31CF6C 802BD3FC 24020003 */ addiu $v0, $zero, 3 +/* 31CF70 802BD400 1062009F */ beq $v1, $v0, .L802BD680 +/* 31CF74 802BD404 00000000 */ nop +/* 31CF78 802BD408 080AF5AB */ j .L802BD6AC +/* 31CF7C 802BD40C 00000000 */ nop +.L802BD410: +/* 31CF80 802BD410 8E220000 */ lw $v0, ($s1) +/* 31CF84 802BD414 AC820008 */ sw $v0, 8($a0) +/* 31CF88 802BD418 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 31CF8C 802BD41C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31CF90 802BD420 8E460048 */ lw $a2, 0x48($s2) +/* 31CF94 802BD424 0C00A7B5 */ jal dist2D +/* 31CF98 802BD428 8E470050 */ lw $a3, 0x50($s2) +/* 31CF9C 802BD42C 8E020000 */ lw $v0, ($s0) +/* 31CFA0 802BD430 46000005 */ abs.s $f0, $f0 +/* 31CFA4 802BD434 E440000C */ swc1 $f0, 0xc($v0) +/* 31CFA8 802BD438 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 31CFAC 802BD43C C64E0050 */ lwc1 $f14, 0x50($s2) +/* 31CFB0 802BD440 8E260038 */ lw $a2, 0x38($s1) +/* 31CFB4 802BD444 0C00A720 */ jal atan2 +/* 31CFB8 802BD448 8E270040 */ lw $a3, 0x40($s1) +/* 31CFBC 802BD44C 3C040004 */ lui $a0, 4 +/* 31CFC0 802BD450 24020078 */ addiu $v0, $zero, 0x78 +/* 31CFC4 802BD454 8E030000 */ lw $v1, ($s0) +/* 31CFC8 802BD458 3C0140C0 */ lui $at, 0x40c0 +/* 31CFCC 802BD45C 44811000 */ mtc1 $at, $f2 +/* 31CFD0 802BD460 3C014248 */ lui $at, 0x4248 +/* 31CFD4 802BD464 44812000 */ mtc1 $at, $f4 +/* 31CFD8 802BD468 34840148 */ ori $a0, $a0, 0x148 +/* 31CFDC 802BD46C E4600010 */ swc1 $f0, 0x10($v1) +/* 31CFE0 802BD470 E4620014 */ swc1 $f2, 0x14($v1) +/* 31CFE4 802BD474 E4640018 */ swc1 $f4, 0x18($v1) +/* 31CFE8 802BD478 AC620000 */ sw $v0, ($v1) +/* 31CFEC 802BD47C 8E220000 */ lw $v0, ($s1) +/* 31CFF0 802BD480 2403FDFF */ addiu $v1, $zero, -0x201 +/* 31CFF4 802BD484 00441025 */ or $v0, $v0, $a0 +/* 31CFF8 802BD488 00431024 */ and $v0, $v0, $v1 +/* 31CFFC 802BD48C AE220000 */ sw $v0, ($s1) +/* 31D000 802BD490 3C10802C */ lui $s0, 0x802c +/* 31D004 802BD494 2610E274 */ addiu $s0, $s0, -0x1d8c +.L802BD498: +/* 31D008 802BD498 8E020000 */ lw $v0, ($s0) +/* 31D00C 802BD49C 3C0140C9 */ lui $at, 0x40c9 +/* 31D010 802BD4A0 34210FD0 */ ori $at, $at, 0xfd0 +/* 31D014 802BD4A4 44810000 */ mtc1 $at, $f0 +/* 31D018 802BD4A8 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 31D01C 802BD4AC 46006302 */ mul.s $f12, $f12, $f0 +/* 31D020 802BD4B0 00000000 */ nop +/* 31D024 802BD4B4 27A50010 */ addiu $a1, $sp, 0x10 +/* 31D028 802BD4B8 3C0143B4 */ lui $at, 0x43b4 +/* 31D02C 802BD4BC 44810000 */ mtc1 $at, $f0 +/* 31D030 802BD4C0 27A60014 */ addiu $a2, $sp, 0x14 +/* 31D034 802BD4C4 0C00A82D */ jal sin_cos_rad +/* 31D038 802BD4C8 46006303 */ div.s $f12, $f12, $f0 +/* 31D03C 802BD4CC 8E020000 */ lw $v0, ($s0) +/* 31D040 802BD4D0 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 31D044 802BD4D4 C440000C */ lwc1 $f0, 0xc($v0) +/* 31D048 802BD4D8 46001082 */ mul.s $f2, $f2, $f0 +/* 31D04C 802BD4DC 00000000 */ nop +/* 31D050 802BD4E0 C6400048 */ lwc1 $f0, 0x48($s2) +/* 31D054 802BD4E4 46020000 */ add.s $f0, $f0, $f2 +/* 31D058 802BD4E8 E6200038 */ swc1 $f0, 0x38($s1) +/* 31D05C 802BD4EC C7A20014 */ lwc1 $f2, 0x14($sp) +/* 31D060 802BD4F0 C440000C */ lwc1 $f0, 0xc($v0) +/* 31D064 802BD4F4 46001082 */ mul.s $f2, $f2, $f0 +/* 31D068 802BD4F8 00000000 */ nop +/* 31D06C 802BD4FC C6400050 */ lwc1 $f0, 0x50($s2) +/* 31D070 802BD500 46020001 */ sub.s $f0, $f0, $f2 +/* 31D074 802BD504 E6200040 */ swc1 $f0, 0x40($s1) +/* 31D078 802BD508 C4400010 */ lwc1 $f0, 0x10($v0) +/* 31D07C 802BD50C C44C0014 */ lwc1 $f12, 0x14($v0) +/* 31D080 802BD510 0C00A6C9 */ jal clamp_angle +/* 31D084 802BD514 460C0301 */ sub.s $f12, $f0, $f12 +/* 31D088 802BD518 8E100000 */ lw $s0, ($s0) +/* 31D08C 802BD51C 3C0141A0 */ lui $at, 0x41a0 +/* 31D090 802BD520 44811000 */ mtc1 $at, $f2 +/* 31D094 802BD524 C604000C */ lwc1 $f4, 0xc($s0) +/* 31D098 802BD528 4604103C */ c.lt.s $f2, $f4 +/* 31D09C 802BD52C 00000000 */ nop +/* 31D0A0 802BD530 45000005 */ bc1f .L802BD548 +/* 31D0A4 802BD534 E6000010 */ swc1 $f0, 0x10($s0) +/* 31D0A8 802BD538 3C013F80 */ lui $at, 0x3f80 +/* 31D0AC 802BD53C 44810000 */ mtc1 $at, $f0 +/* 31D0B0 802BD540 080AF55D */ j .L802BD574 +/* 31D0B4 802BD544 46002001 */ sub.s $f0, $f4, $f0 +.L802BD548: +/* 31D0B8 802BD548 3C014198 */ lui $at, 0x4198 +/* 31D0BC 802BD54C 44810000 */ mtc1 $at, $f0 +/* 31D0C0 802BD550 00000000 */ nop +/* 31D0C4 802BD554 4600203C */ c.lt.s $f4, $f0 +/* 31D0C8 802BD558 00000000 */ nop +/* 31D0CC 802BD55C 45000006 */ bc1f .L802BD578 +/* 31D0D0 802BD560 00000000 */ nop +/* 31D0D4 802BD564 3C013F80 */ lui $at, 0x3f80 +/* 31D0D8 802BD568 44810000 */ mtc1 $at, $f0 +/* 31D0DC 802BD56C 00000000 */ nop +/* 31D0E0 802BD570 46002000 */ add.s $f0, $f4, $f0 +.L802BD574: +/* 31D0E4 802BD574 E600000C */ swc1 $f0, 0xc($s0) +.L802BD578: +/* 31D0E8 802BD578 3C10802C */ lui $s0, 0x802c +/* 31D0EC 802BD57C 2610E274 */ addiu $s0, $s0, -0x1d8c +/* 31D0F0 802BD580 8E020000 */ lw $v0, ($s0) +/* 31D0F4 802BD584 3C0140C9 */ lui $at, 0x40c9 +/* 31D0F8 802BD588 34210FD0 */ ori $at, $at, 0xfd0 +/* 31D0FC 802BD58C 44810000 */ mtc1 $at, $f0 +/* 31D100 802BD590 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 31D104 802BD594 46006302 */ mul.s $f12, $f12, $f0 +/* 31D108 802BD598 00000000 */ nop +/* 31D10C 802BD59C 3C0143B4 */ lui $at, 0x43b4 +/* 31D110 802BD5A0 4481A000 */ mtc1 $at, $f20 +/* 31D114 802BD5A4 0C00A85B */ jal sin_rad +/* 31D118 802BD5A8 46146303 */ div.s $f12, $f12, $f20 +/* 31D11C 802BD5AC 8E020000 */ lw $v0, ($s0) +/* 31D120 802BD5B0 3C014040 */ lui $at, 0x4040 +/* 31D124 802BD5B4 44812000 */ mtc1 $at, $f4 +/* 31D128 802BD5B8 C4420018 */ lwc1 $f2, 0x18($v0) +/* 31D12C 802BD5BC 46041080 */ add.s $f2, $f2, $f4 +/* 31D130 802BD5C0 3C014316 */ lui $at, 0x4316 +/* 31D134 802BD5C4 44813000 */ mtc1 $at, $f6 +/* 31D138 802BD5C8 00000000 */ nop +/* 31D13C 802BD5CC 4602303C */ c.lt.s $f6, $f2 +/* 31D140 802BD5D0 E4420018 */ swc1 $f2, 0x18($v0) +/* 31D144 802BD5D4 46040082 */ mul.s $f2, $f0, $f4 +/* 31D148 802BD5D8 00000000 */ nop +/* 31D14C 802BD5DC 45030001 */ bc1tl .L802BD5E4 +/* 31D150 802BD5E0 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD5E4: +/* 31D154 802BD5E4 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31D158 802BD5E8 46020000 */ add.s $f0, $f0, $f2 +/* 31D15C 802BD5EC 8E020000 */ lw $v0, ($s0) +/* 31D160 802BD5F0 E620003C */ swc1 $f0, 0x3c($s1) +/* 31D164 802BD5F4 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 31D168 802BD5F8 0C00A6C9 */ jal clamp_angle +/* 31D16C 802BD5FC 460CA301 */ sub.s $f12, $f20, $f12 +/* 31D170 802BD600 8E020000 */ lw $v0, ($s0) +/* 31D174 802BD604 E6200034 */ swc1 $f0, 0x34($s1) +/* 31D178 802BD608 C4400014 */ lwc1 $f0, 0x14($v0) +/* 31D17C 802BD60C 3C01802C */ lui $at, 0x802c +/* 31D180 802BD610 D422E2F0 */ ldc1 $f2, -0x1d10($at) +/* 31D184 802BD614 46000021 */ cvt.d.s $f0, $f0 +/* 31D188 802BD618 46220000 */ add.d $f0, $f0, $f2 +/* 31D18C 802BD61C 3C014220 */ lui $at, 0x4220 +/* 31D190 802BD620 44811000 */ mtc1 $at, $f2 +/* 31D194 802BD624 46200020 */ cvt.s.d $f0, $f0 +/* 31D198 802BD628 4600103C */ c.lt.s $f2, $f0 +/* 31D19C 802BD62C 00000000 */ nop +/* 31D1A0 802BD630 45000002 */ bc1f .L802BD63C +/* 31D1A4 802BD634 E4400014 */ swc1 $f0, 0x14($v0) +/* 31D1A8 802BD638 E4420014 */ swc1 $f2, 0x14($v0) +.L802BD63C: +/* 31D1AC 802BD63C 8E030000 */ lw $v1, ($s0) +/* 31D1B0 802BD640 8C620000 */ lw $v0, ($v1) +/* 31D1B4 802BD644 2442FFFF */ addiu $v0, $v0, -1 +/* 31D1B8 802BD648 14400018 */ bnez $v0, .L802BD6AC +/* 31D1BC 802BD64C AC620000 */ sw $v0, ($v1) +/* 31D1C0 802BD650 8C620004 */ lw $v0, 4($v1) +/* 31D1C4 802BD654 24420001 */ addiu $v0, $v0, 1 +/* 31D1C8 802BD658 080AF5AB */ j .L802BD6AC +/* 31D1CC 802BD65C AC620004 */ sw $v0, 4($v1) +.L802BD660: +/* 31D1D0 802BD660 8C820008 */ lw $v0, 8($a0) +/* 31D1D4 802BD664 AE220000 */ sw $v0, ($s1) +/* 31D1D8 802BD668 8C820004 */ lw $v0, 4($a0) +/* 31D1DC 802BD66C 2403001E */ addiu $v1, $zero, 0x1e +/* 31D1E0 802BD670 AC830000 */ sw $v1, ($a0) +/* 31D1E4 802BD674 24420001 */ addiu $v0, $v0, 1 +/* 31D1E8 802BD678 080AF5AB */ j .L802BD6AC +/* 31D1EC 802BD67C AC820004 */ sw $v0, 4($a0) +.L802BD680: +/* 31D1F0 802BD680 0C03B52E */ jal update_player_move_history +/* 31D1F4 802BD684 0220202D */ daddu $a0, $s1, $zero +/* 31D1F8 802BD688 0C03B574 */ jal func_800ED5D0 +/* 31D1FC 802BD68C 0220202D */ daddu $a0, $s1, $zero +/* 31D200 802BD690 8E030000 */ lw $v1, ($s0) +/* 31D204 802BD694 8C620000 */ lw $v0, ($v1) +/* 31D208 802BD698 2442FFFF */ addiu $v0, $v0, -1 +/* 31D20C 802BD69C 14400003 */ bnez $v0, .L802BD6AC +/* 31D210 802BD6A0 AC620000 */ sw $v0, ($v1) +/* 31D214 802BD6A4 AC600004 */ sw $zero, 4($v1) +/* 31D218 802BD6A8 AE600000 */ sw $zero, ($s3) +.L802BD6AC: +/* 31D21C 802BD6AC 3C03802C */ lui $v1, 0x802c +/* 31D220 802BD6B0 8C63E310 */ lw $v1, -0x1cf0($v1) +/* 31D224 802BD6B4 1060000E */ beqz $v1, .L802BD6F0 +/* 31D228 802BD6B8 0000102D */ daddu $v0, $zero, $zero +/* 31D22C 802BD6BC 8C62000C */ lw $v0, 0xc($v1) +/* 31D230 802BD6C0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 31D234 802BD6C4 3C014150 */ lui $at, 0x4150 +/* 31D238 802BD6C8 44811000 */ mtc1 $at, $f2 +/* 31D23C 802BD6CC E4400004 */ swc1 $f0, 4($v0) +/* 31D240 802BD6D0 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31D244 802BD6D4 46020000 */ add.s $f0, $f0, $f2 +/* 31D248 802BD6D8 8C62000C */ lw $v0, 0xc($v1) +/* 31D24C 802BD6DC E4400008 */ swc1 $f0, 8($v0) +/* 31D250 802BD6E0 8C62000C */ lw $v0, 0xc($v1) +/* 31D254 802BD6E4 C6200040 */ lwc1 $f0, 0x40($s1) +/* 31D258 802BD6E8 E440000C */ swc1 $f0, 0xc($v0) +/* 31D25C 802BD6EC 0000102D */ daddu $v0, $zero, $zero +.L802BD6F0: +/* 31D260 802BD6F0 8FBF0028 */ lw $ra, 0x28($sp) +/* 31D264 802BD6F4 8FB30024 */ lw $s3, 0x24($sp) +/* 31D268 802BD6F8 8FB20020 */ lw $s2, 0x20($sp) +/* 31D26C 802BD6FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 31D270 802BD700 8FB00018 */ lw $s0, 0x18($sp) +/* 31D274 802BD704 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 31D278 802BD708 03E00008 */ jr $ra +/* 31D27C 802BD70C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_31CC70/func_802BD710.s b/asm/nonmatchings/code_31CC70/func_802BD710.s new file mode 100644 index 0000000000..8914e50e16 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD710.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD710 +/* 31D280 802BD710 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31D284 802BD714 3C058011 */ lui $a1, 0x8011 +/* 31D288 802BD718 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 31D28C 802BD71C AFBF0010 */ sw $ra, 0x10($sp) +/* 31D290 802BD720 8CA20000 */ lw $v0, ($a1) +/* 31D294 802BD724 10400008 */ beqz $v0, .L802BD748 +/* 31D298 802BD728 00000000 */ nop +/* 31D29C 802BD72C 3C03802C */ lui $v1, 0x802c +/* 31D2A0 802BD730 8C63E274 */ lw $v1, -0x1d8c($v1) +/* 31D2A4 802BD734 8C620008 */ lw $v0, 8($v1) +/* 31D2A8 802BD738 ACA00000 */ sw $zero, ($a1) +/* 31D2AC 802BD73C AC820000 */ sw $v0, ($a0) +/* 31D2B0 802BD740 0C03BD17 */ jal clear_partner_move_history +/* 31D2B4 802BD744 AC600004 */ sw $zero, 4($v1) +.L802BD748: +/* 31D2B8 802BD748 8FBF0010 */ lw $ra, 0x10($sp) +/* 31D2BC 802BD74C 03E00008 */ jr $ra +/* 31D2C0 802BD750 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BD754.s b/asm/nonmatchings/code_31CC70/func_802BD754.s new file mode 100644 index 0000000000..28f3fea54b --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BD754.s @@ -0,0 +1,391 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD754 +/* 31D2C4 802BD754 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 31D2C8 802BD758 AFB3001C */ sw $s3, 0x1c($sp) +/* 31D2CC 802BD75C 0080982D */ daddu $s3, $a0, $zero +/* 31D2D0 802BD760 AFB20018 */ sw $s2, 0x18($sp) +/* 31D2D4 802BD764 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 31D2D8 802BD768 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 31D2DC 802BD76C AFB50024 */ sw $s5, 0x24($sp) +/* 31D2E0 802BD770 3C158011 */ lui $s5, %hi(D_8010EBB0) +/* 31D2E4 802BD774 26B5EBB0 */ addiu $s5, $s5, %lo(D_8010EBB0) +/* 31D2E8 802BD778 AFBF0028 */ sw $ra, 0x28($sp) +/* 31D2EC 802BD77C AFB40020 */ sw $s4, 0x20($sp) +/* 31D2F0 802BD780 AFB10014 */ sw $s1, 0x14($sp) +/* 31D2F4 802BD784 AFB00010 */ sw $s0, 0x10($sp) +/* 31D2F8 802BD788 10A0003B */ beqz $a1, .L802BD878 +/* 31D2FC 802BD78C 8E71014C */ lw $s1, 0x14c($s3) +/* 31D300 802BD790 0C0AF5C4 */ jal func_802BD710 +/* 31D304 802BD794 0220202D */ daddu $a0, $s1, $zero +/* 31D308 802BD798 8E430004 */ lw $v1, 4($s2) +/* 31D30C 802BD79C 3C020010 */ lui $v0, 0x10 +/* 31D310 802BD7A0 00621024 */ and $v0, $v1, $v0 +/* 31D314 802BD7A4 14400150 */ bnez $v0, .L802BDCE8 +/* 31D318 802BD7A8 24020002 */ addiu $v0, $zero, 2 +/* 31D31C 802BD7AC 82A20001 */ lb $v0, 1($s5) +/* 31D320 802BD7B0 14400026 */ bnez $v0, .L802BD84C +/* 31D324 802BD7B4 34620003 */ ori $v0, $v1, 3 +/* 31D328 802BD7B8 82A20000 */ lb $v0, ($s5) +/* 31D32C 802BD7BC 14400009 */ bnez $v0, .L802BD7E4 +/* 31D330 802BD7C0 00000000 */ nop +/* 31D334 802BD7C4 0C03A94B */ jal func_800EA52C +/* 31D338 802BD7C8 24040006 */ addiu $a0, $zero, 6 +/* 31D33C 802BD7CC 10400146 */ beqz $v0, .L802BDCE8 +/* 31D340 802BD7D0 24020002 */ addiu $v0, $zero, 2 +/* 31D344 802BD7D4 0C011052 */ jal func_80044148 +/* 31D348 802BD7D8 00000000 */ nop +/* 31D34C 802BD7DC 14400142 */ bnez $v0, .L802BDCE8 +/* 31D350 802BD7E0 24020002 */ addiu $v0, $zero, 2 +.L802BD7E4: +/* 31D354 802BD7E4 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31D358 802BD7E8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31D35C 802BD7EC 8042007D */ lb $v0, 0x7d($v0) +/* 31D360 802BD7F0 10400009 */ beqz $v0, .L802BD818 +/* 31D364 802BD7F4 00000000 */ nop +/* 31D368 802BD7F8 8E420004 */ lw $v0, 4($s2) +/* 31D36C 802BD7FC 30420003 */ andi $v0, $v0, 3 +/* 31D370 802BD800 1040000D */ beqz $v0, .L802BD838 +/* 31D374 802BD804 24020014 */ addiu $v0, $zero, 0x14 +/* 31D378 802BD808 3C01802C */ lui $at, 0x802c +/* 31D37C 802BD80C AC22E304 */ sw $v0, -0x1cfc($at) +/* 31D380 802BD810 080AF61E */ j .L802BD878 +/* 31D384 802BD814 00000000 */ nop +.L802BD818: +/* 31D388 802BD818 8E420004 */ lw $v0, 4($s2) +/* 31D38C 802BD81C 30420001 */ andi $v0, $v0, 1 +/* 31D390 802BD820 10400005 */ beqz $v0, .L802BD838 +/* 31D394 802BD824 24020002 */ addiu $v0, $zero, 2 +/* 31D398 802BD828 3C01802C */ lui $at, 0x802c +/* 31D39C 802BD82C AC22E304 */ sw $v0, -0x1cfc($at) +/* 31D3A0 802BD830 080AF61E */ j .L802BD878 +/* 31D3A4 802BD834 00000000 */ nop +.L802BD838: +/* 31D3A8 802BD838 24020028 */ addiu $v0, $zero, 0x28 +/* 31D3AC 802BD83C 3C01802C */ lui $at, 0x802c +/* 31D3B0 802BD840 AC22E304 */ sw $v0, -0x1cfc($at) +/* 31D3B4 802BD844 080AF61E */ j .L802BD878 +/* 31D3B8 802BD848 00000000 */ nop +.L802BD84C: +/* 31D3BC 802BD84C A2A00001 */ sb $zero, 1($s5) +/* 31D3C0 802BD850 0C0AF805 */ jal func_802BE014 +/* 31D3C4 802BD854 AE420004 */ sw $v0, 4($s2) +/* 31D3C8 802BD858 3C020006 */ lui $v0, 6 +/* 31D3CC 802BD85C 34420001 */ ori $v0, $v0, 1 +/* 31D3D0 802BD860 AE220028 */ sw $v0, 0x28($s1) +/* 31D3D4 802BD864 24020001 */ addiu $v0, $zero, 1 +/* 31D3D8 802BD868 3C01802C */ lui $at, 0x802c +/* 31D3DC 802BD86C AC22E304 */ sw $v0, -0x1cfc($at) +/* 31D3E0 802BD870 24020002 */ addiu $v0, $zero, 2 +/* 31D3E4 802BD874 AE620074 */ sw $v0, 0x74($s3) +.L802BD878: +/* 31D3E8 802BD878 3C10802C */ lui $s0, 0x802c +/* 31D3EC 802BD87C 2610E304 */ addiu $s0, $s0, -0x1cfc +/* 31D3F0 802BD880 8E030000 */ lw $v1, ($s0) +/* 31D3F4 802BD884 24020028 */ addiu $v0, $zero, 0x28 +/* 31D3F8 802BD888 10620005 */ beq $v1, $v0, .L802BD8A0 +/* 31D3FC 802BD88C 24020029 */ addiu $v0, $zero, 0x29 +/* 31D400 802BD890 1062000E */ beq $v1, $v0, .L802BD8CC +/* 31D404 802BD894 00000000 */ nop +/* 31D408 802BD898 080AF64C */ j .L802BD930 +/* 31D40C 802BD89C 00000000 */ nop +.L802BD8A0: +/* 31D410 802BD8A0 82420015 */ lb $v0, 0x15($s2) +/* 31D414 802BD8A4 10400003 */ beqz $v0, .L802BD8B4 +/* 31D418 802BD8A8 24020003 */ addiu $v0, $zero, 3 +/* 31D41C 802BD8AC 080AF73A */ j .L802BDCE8 +/* 31D420 802BD8B0 24020002 */ addiu $v0, $zero, 2 +.L802BD8B4: +/* 31D424 802BD8B4 AE620074 */ sw $v0, 0x74($s3) +/* 31D428 802BD8B8 82430015 */ lb $v1, 0x15($s2) +/* 31D42C 802BD8BC 24020029 */ addiu $v0, $zero, 0x29 +/* 31D430 802BD8C0 AE020000 */ sw $v0, ($s0) +/* 31D434 802BD8C4 080AF64C */ j .L802BD930 +/* 31D438 802BD8C8 AE630078 */ sw $v1, 0x78($s3) +.L802BD8CC: +/* 31D43C 802BD8CC 8E620074 */ lw $v0, 0x74($s3) +/* 31D440 802BD8D0 14400016 */ bnez $v0, .L802BD92C +/* 31D444 802BD8D4 2442FFFF */ addiu $v0, $v0, -1 +/* 31D448 802BD8D8 82430015 */ lb $v1, 0x15($s2) +/* 31D44C 802BD8DC 8E620078 */ lw $v0, 0x78($s3) +/* 31D450 802BD8E0 0043102A */ slt $v0, $v0, $v1 +/* 31D454 802BD8E4 14400100 */ bnez $v0, .L802BDCE8 +/* 31D458 802BD8E8 24020002 */ addiu $v0, $zero, 2 +/* 31D45C 802BD8EC 8E420004 */ lw $v0, 4($s2) +/* 31D460 802BD8F0 3C030010 */ lui $v1, 0x10 +/* 31D464 802BD8F4 00431024 */ and $v0, $v0, $v1 +/* 31D468 802BD8F8 144000FB */ bnez $v0, .L802BDCE8 +/* 31D46C 802BD8FC 24020002 */ addiu $v0, $zero, 2 +/* 31D470 802BD900 0C03A94B */ jal func_800EA52C +/* 31D474 802BD904 24040006 */ addiu $a0, $zero, 6 +/* 31D478 802BD908 104000F7 */ beqz $v0, .L802BDCE8 +/* 31D47C 802BD90C 24020002 */ addiu $v0, $zero, 2 +/* 31D480 802BD910 0C011052 */ jal func_80044148 +/* 31D484 802BD914 00000000 */ nop +/* 31D488 802BD918 144000F3 */ bnez $v0, .L802BDCE8 +/* 31D48C 802BD91C 24020002 */ addiu $v0, $zero, 2 +/* 31D490 802BD920 24020014 */ addiu $v0, $zero, 0x14 +/* 31D494 802BD924 080AF64C */ j .L802BD930 +/* 31D498 802BD928 AE020000 */ sw $v0, ($s0) +.L802BD92C: +/* 31D49C 802BD92C AE620074 */ sw $v0, 0x74($s3) +.L802BD930: +/* 31D4A0 802BD930 3C14802C */ lui $s4, 0x802c +/* 31D4A4 802BD934 2694E304 */ addiu $s4, $s4, -0x1cfc +/* 31D4A8 802BD938 8E830000 */ lw $v1, ($s4) +/* 31D4AC 802BD93C 24020014 */ addiu $v0, $zero, 0x14 +/* 31D4B0 802BD940 1062000C */ beq $v1, $v0, .L802BD974 +/* 31D4B4 802BD944 28620015 */ slti $v0, $v1, 0x15 +/* 31D4B8 802BD948 10400005 */ beqz $v0, .L802BD960 +/* 31D4BC 802BD94C 24020001 */ addiu $v0, $zero, 1 +/* 31D4C0 802BD950 10620099 */ beq $v1, $v0, .L802BDBB8 +/* 31D4C4 802BD954 00000000 */ nop +/* 31D4C8 802BD958 080AF707 */ j .L802BDC1C +/* 31D4CC 802BD95C 00000000 */ nop +.L802BD960: +/* 31D4D0 802BD960 24020015 */ addiu $v0, $zero, 0x15 +/* 31D4D4 802BD964 10620062 */ beq $v1, $v0, .L802BDAF0 +/* 31D4D8 802BD968 00000000 */ nop +/* 31D4DC 802BD96C 080AF707 */ j .L802BDC1C +/* 31D4E0 802BD970 00000000 */ nop +.L802BD974: +/* 31D4E4 802BD974 3C058007 */ lui $a1, %hi(gGameStatusPtr) +/* 31D4E8 802BD978 8CA5419C */ lw $a1, %lo(gGameStatusPtr)($a1) +/* 31D4EC 802BD97C 80A2007D */ lb $v0, 0x7d($a1) +/* 31D4F0 802BD980 10400030 */ beqz $v0, .L802BDA44 +/* 31D4F4 802BD984 24100001 */ addiu $s0, $zero, 1 +/* 31D4F8 802BD988 8E420004 */ lw $v0, 4($s2) +/* 31D4FC 802BD98C 3C0140A0 */ lui $at, 0x40a0 +/* 31D500 802BD990 44811000 */ mtc1 $at, $f2 +/* 31D504 802BD994 34420001 */ ori $v0, $v0, 1 +/* 31D508 802BD998 AE420004 */ sw $v0, 4($s2) +/* 31D50C 802BD99C 8E220000 */ lw $v0, ($s1) +/* 31D510 802BD9A0 2403F5FF */ addiu $v1, $zero, -0xa01 +/* 31D514 802BD9A4 3C01802C */ lui $at, 0x802c +/* 31D518 802BD9A8 AC30E30C */ sw $s0, -0x1cf4($at) +/* 31D51C 802BD9AC 34420108 */ ori $v0, $v0, 0x108 +/* 31D520 802BD9B0 00431024 */ and $v0, $v0, $v1 +/* 31D524 802BD9B4 AE220000 */ sw $v0, ($s1) +/* 31D528 802BD9B8 A0A0007D */ sb $zero, 0x7d($a1) +/* 31D52C 802BD9BC A2B00000 */ sb $s0, ($s5) +/* 31D530 802BD9C0 C6400028 */ lwc1 $f0, 0x28($s2) +/* 31D534 802BD9C4 24020006 */ addiu $v0, $zero, 6 +/* 31D538 802BD9C8 A2A20003 */ sb $v0, 3($s5) +/* 31D53C 802BD9CC E6200060 */ swc1 $f0, 0x60($s1) +/* 31D540 802BD9D0 C640002C */ lwc1 $f0, 0x2c($s2) +/* 31D544 802BD9D4 26240060 */ addiu $a0, $s1, 0x60 +/* 31D548 802BD9D8 46020000 */ add.s $f0, $f0, $f2 +/* 31D54C 802BD9DC 3C064170 */ lui $a2, 0x4170 +/* 31D550 802BD9E0 3C020006 */ lui $v0, 6 +/* 31D554 802BD9E4 E6200064 */ swc1 $f0, 0x64($s1) +/* 31D558 802BD9E8 C6400030 */ lwc1 $f0, 0x30($s2) +/* 31D55C 802BD9EC 34420002 */ ori $v0, $v0, 2 +/* 31D560 802BD9F0 AE220028 */ sw $v0, 0x28($s1) +/* 31D564 802BD9F4 E6200068 */ swc1 $f0, 0x68($s1) +/* 31D568 802BD9F8 8E470080 */ lw $a3, 0x80($s2) +/* 31D56C 802BD9FC 0C00A7E7 */ jal add_vec2D_polar +/* 31D570 802BDA00 26250068 */ addiu $a1, $s1, 0x68 +/* 31D574 802BDA04 3C020006 */ lui $v0, 6 +/* 31D578 802BDA08 C6400080 */ lwc1 $f0, 0x80($s2) +/* 31D57C 802BDA0C 00501025 */ or $v0, $v0, $s0 +/* 31D580 802BDA10 AE220028 */ sw $v0, 0x28($s1) +/* 31D584 802BDA14 E620000C */ swc1 $f0, 0xc($s1) +/* 31D588 802BDA18 8E420004 */ lw $v0, 4($s2) +/* 31D58C 802BDA1C 34420002 */ ori $v0, $v0, 2 +/* 31D590 802BDA20 0C0AF805 */ jal func_802BE014 +/* 31D594 802BDA24 AE420004 */ sw $v0, 4($s2) +/* 31D598 802BDA28 0220202D */ daddu $a0, $s1, $zero +/* 31D59C 802BDA2C 0C00ECF4 */ jal func_8003B3D0 +/* 31D5A0 802BDA30 0200282D */ daddu $a1, $s0, $zero +/* 31D5A4 802BDA34 24020002 */ addiu $v0, $zero, 2 +/* 31D5A8 802BDA38 AE620074 */ sw $v0, 0x74($s3) +/* 31D5AC 802BDA3C 080AF707 */ j .L802BDC1C +/* 31D5B0 802BDA40 AE900000 */ sw $s0, ($s4) +.L802BDA44: +/* 31D5B4 802BDA44 8E420004 */ lw $v0, 4($s2) +/* 31D5B8 802BDA48 24040001 */ addiu $a0, $zero, 1 +/* 31D5BC 802BDA4C 00441025 */ or $v0, $v0, $a0 +/* 31D5C0 802BDA50 AE420004 */ sw $v0, 4($s2) +/* 31D5C4 802BDA54 8E220000 */ lw $v0, ($s1) +/* 31D5C8 802BDA58 2403F5FF */ addiu $v1, $zero, -0xa01 +/* 31D5CC 802BDA5C 3C01802C */ lui $at, 0x802c +/* 31D5D0 802BDA60 AC24E30C */ sw $a0, -0x1cf4($at) +/* 31D5D4 802BDA64 00431024 */ and $v0, $v0, $v1 +/* 31D5D8 802BDA68 AE220000 */ sw $v0, ($s1) +/* 31D5DC 802BDA6C 24020006 */ addiu $v0, $zero, 6 +/* 31D5E0 802BDA70 A0A0007D */ sb $zero, 0x7d($a1) +/* 31D5E4 802BDA74 A2A40000 */ sb $a0, ($s5) +/* 31D5E8 802BDA78 0C03BD38 */ jal func_800EF4E0 +/* 31D5EC 802BDA7C A2A20003 */ sb $v0, 3($s5) +/* 31D5F0 802BDA80 C6400028 */ lwc1 $f0, 0x28($s2) +/* 31D5F4 802BDA84 3C0140A0 */ lui $at, 0x40a0 +/* 31D5F8 802BDA88 44811000 */ mtc1 $at, $f2 +/* 31D5FC 802BDA8C E6200060 */ swc1 $f0, 0x60($s1) +/* 31D600 802BDA90 C640002C */ lwc1 $f0, 0x2c($s2) +/* 31D604 802BDA94 3C020006 */ lui $v0, 6 +/* 31D608 802BDA98 46020000 */ add.s $f0, $f0, $f2 +/* 31D60C 802BDA9C 3C064170 */ lui $a2, 0x4170 +/* 31D610 802BDAA0 34420002 */ ori $v0, $v0, 2 +/* 31D614 802BDAA4 E6200064 */ swc1 $f0, 0x64($s1) +/* 31D618 802BDAA8 C6400030 */ lwc1 $f0, 0x30($s2) +/* 31D61C 802BDAAC 26240060 */ addiu $a0, $s1, 0x60 +/* 31D620 802BDAB0 AE220028 */ sw $v0, 0x28($s1) +/* 31D624 802BDAB4 E6200068 */ swc1 $f0, 0x68($s1) +/* 31D628 802BDAB8 8E470080 */ lw $a3, 0x80($s2) +/* 31D62C 802BDABC 0C00A7E7 */ jal add_vec2D_polar +/* 31D630 802BDAC0 26250068 */ addiu $a1, $s1, 0x68 +/* 31D634 802BDAC4 24020008 */ addiu $v0, $zero, 8 +/* 31D638 802BDAC8 A622008E */ sh $v0, 0x8e($s1) +/* 31D63C 802BDACC 8E460028 */ lw $a2, 0x28($s2) +/* 31D640 802BDAD0 8E470030 */ lw $a3, 0x30($s2) +/* 31D644 802BDAD4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 31D648 802BDAD8 0C00A720 */ jal atan2 +/* 31D64C 802BDADC C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31D650 802BDAE0 8E820000 */ lw $v0, ($s4) +/* 31D654 802BDAE4 E620000C */ swc1 $f0, 0xc($s1) +/* 31D658 802BDAE8 080AF706 */ j .L802BDC18 +/* 31D65C 802BDAEC 24420001 */ addiu $v0, $v0, 1 +.L802BDAF0: +/* 31D660 802BDAF0 C6200060 */ lwc1 $f0, 0x60($s1) +/* 31D664 802BDAF4 C62A0038 */ lwc1 $f10, 0x38($s1) +/* 31D668 802BDAF8 8622008E */ lh $v0, 0x8e($s1) +/* 31D66C 802BDAFC C6240064 */ lwc1 $f4, 0x64($s1) +/* 31D670 802BDB00 C628003C */ lwc1 $f8, 0x3c($s1) +/* 31D674 802BDB04 C6260040 */ lwc1 $f6, 0x40($s1) +/* 31D678 802BDB08 44821000 */ mtc1 $v0, $f2 +/* 31D67C 802BDB0C 00000000 */ nop +/* 31D680 802BDB10 468010A0 */ cvt.s.w $f2, $f2 +/* 31D684 802BDB14 0040202D */ daddu $a0, $v0, $zero +/* 31D688 802BDB18 460A0001 */ sub.s $f0, $f0, $f10 +/* 31D68C 802BDB1C 0080182D */ daddu $v1, $a0, $zero +/* 31D690 802BDB20 9622008E */ lhu $v0, 0x8e($s1) +/* 31D694 802BDB24 46082101 */ sub.s $f4, $f4, $f8 +/* 31D698 802BDB28 2442FFFF */ addiu $v0, $v0, -1 +/* 31D69C 802BDB2C A622008E */ sh $v0, 0x8e($s1) +/* 31D6A0 802BDB30 46020003 */ div.s $f0, $f0, $f2 +/* 31D6A4 802BDB34 46005280 */ add.s $f10, $f10, $f0 +/* 31D6A8 802BDB38 C6220068 */ lwc1 $f2, 0x68($s1) +/* 31D6AC 802BDB3C 00021400 */ sll $v0, $v0, 0x10 +/* 31D6B0 802BDB40 46061081 */ sub.s $f2, $f2, $f6 +/* 31D6B4 802BDB44 44840000 */ mtc1 $a0, $f0 +/* 31D6B8 802BDB48 00000000 */ nop +/* 31D6BC 802BDB4C 46800020 */ cvt.s.w $f0, $f0 +/* 31D6C0 802BDB50 46002103 */ div.s $f4, $f4, $f0 +/* 31D6C4 802BDB54 46044200 */ add.s $f8, $f8, $f4 +/* 31D6C8 802BDB58 44830000 */ mtc1 $v1, $f0 +/* 31D6CC 802BDB5C 00000000 */ nop +/* 31D6D0 802BDB60 46800020 */ cvt.s.w $f0, $f0 +/* 31D6D4 802BDB64 46001083 */ div.s $f2, $f2, $f0 +/* 31D6D8 802BDB68 46023180 */ add.s $f6, $f6, $f2 +/* 31D6DC 802BDB6C E62A0038 */ swc1 $f10, 0x38($s1) +/* 31D6E0 802BDB70 E628003C */ swc1 $f8, 0x3c($s1) +/* 31D6E4 802BDB74 14400029 */ bnez $v0, .L802BDC1C +/* 31D6E8 802BDB78 E6260040 */ swc1 $f6, 0x40($s1) +/* 31D6EC 802BDB7C 3C020006 */ lui $v0, 6 +/* 31D6F0 802BDB80 C6400080 */ lwc1 $f0, 0x80($s2) +/* 31D6F4 802BDB84 34420001 */ ori $v0, $v0, 1 +/* 31D6F8 802BDB88 AE220028 */ sw $v0, 0x28($s1) +/* 31D6FC 802BDB8C E620000C */ swc1 $f0, 0xc($s1) +/* 31D700 802BDB90 8E420004 */ lw $v0, 4($s2) +/* 31D704 802BDB94 24030006 */ addiu $v1, $zero, 6 +/* 31D708 802BDB98 A2A30003 */ sb $v1, 3($s5) +/* 31D70C 802BDB9C 34420002 */ ori $v0, $v0, 2 +/* 31D710 802BDBA0 0C0AF805 */ jal func_802BE014 +/* 31D714 802BDBA4 AE420004 */ sw $v0, 4($s2) +/* 31D718 802BDBA8 24020002 */ addiu $v0, $zero, 2 +/* 31D71C 802BDBAC AE620074 */ sw $v0, 0x74($s3) +/* 31D720 802BDBB0 080AF706 */ j .L802BDC18 +/* 31D724 802BDBB4 24020001 */ addiu $v0, $zero, 1 +.L802BDBB8: +/* 31D728 802BDBB8 0C0AF81C */ jal func_802BE070 +/* 31D72C 802BDBBC 00000000 */ nop +/* 31D730 802BDBC0 8E420000 */ lw $v0, ($s2) +/* 31D734 802BDBC4 30420800 */ andi $v0, $v0, 0x800 +/* 31D738 802BDBC8 14400013 */ bnez $v0, .L802BDC18 +/* 31D73C 802BDBCC 24020002 */ addiu $v0, $zero, 2 +/* 31D740 802BDBD0 824300B4 */ lb $v1, 0xb4($s2) +/* 31D744 802BDBD4 2402001D */ addiu $v0, $zero, 0x1d +/* 31D748 802BDBD8 10620010 */ beq $v1, $v0, .L802BDC1C +/* 31D74C 802BDBDC 00000000 */ nop +/* 31D750 802BDBE0 8E620074 */ lw $v0, 0x74($s3) +/* 31D754 802BDBE4 10400003 */ beqz $v0, .L802BDBF4 +/* 31D758 802BDBE8 2442FFFF */ addiu $v0, $v0, -1 +/* 31D75C 802BDBEC 080AF707 */ j .L802BDC1C +/* 31D760 802BDBF0 AE620074 */ sw $v0, 0x74($s3) +.L802BDBF4: +/* 31D764 802BDBF4 2C620003 */ sltiu $v0, $v1, 3 +/* 31D768 802BDBF8 14400003 */ bnez $v0, .L802BDC08 +/* 31D76C 802BDBFC 2402000A */ addiu $v0, $zero, 0xa +/* 31D770 802BDC00 14620006 */ bne $v1, $v0, .L802BDC1C +/* 31D774 802BDC04 00000000 */ nop +.L802BDC08: +/* 31D778 802BDC08 8EA2000C */ lw $v0, 0xc($s5) +/* 31D77C 802BDC0C 30424000 */ andi $v0, $v0, 0x4000 +/* 31D780 802BDC10 10400002 */ beqz $v0, .L802BDC1C +/* 31D784 802BDC14 24020002 */ addiu $v0, $zero, 2 +.L802BDC18: +/* 31D788 802BDC18 AE820000 */ sw $v0, ($s4) +.L802BDC1C: +/* 31D78C 802BDC1C 3C10802C */ lui $s0, 0x802c +/* 31D790 802BDC20 2610E304 */ addiu $s0, $s0, -0x1cfc +/* 31D794 802BDC24 8E030000 */ lw $v1, ($s0) +/* 31D798 802BDC28 24020002 */ addiu $v0, $zero, 2 +/* 31D79C 802BDC2C 1462001D */ bne $v1, $v0, .L802BDCA4 +/* 31D7A0 802BDC30 3C050006 */ lui $a1, 6 +/* 31D7A4 802BDC34 34A50001 */ ori $a1, $a1, 1 +/* 31D7A8 802BDC38 0220202D */ daddu $a0, $s1, $zero +/* 31D7AC 802BDC3C 8E420004 */ lw $v0, 4($s2) +/* 31D7B0 802BDC40 2403FFFC */ addiu $v1, $zero, -4 +/* 31D7B4 802BDC44 00431024 */ and $v0, $v0, $v1 +/* 31D7B8 802BDC48 AE420004 */ sw $v0, 4($s2) +/* 31D7BC 802BDC4C 0C03BD17 */ jal clear_partner_move_history +/* 31D7C0 802BDC50 AE250028 */ sw $a1, 0x28($s1) +/* 31D7C4 802BDC54 0220202D */ daddu $a0, $s1, $zero +/* 31D7C8 802BDC58 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31D7CC 802BDC5C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31D7D0 802BDC60 0000282D */ daddu $a1, $zero, $zero +/* 31D7D4 802BDC64 3C01802C */ lui $at, 0x802c +/* 31D7D8 802BDC68 AC20E30C */ sw $zero, -0x1cf4($at) +/* 31D7DC 802BDC6C A2A00003 */ sb $zero, 3($s5) +/* 31D7E0 802BDC70 A2A00000 */ sb $zero, ($s5) +/* 31D7E4 802BDC74 A040007D */ sb $zero, 0x7d($v0) +/* 31D7E8 802BDC78 24020014 */ addiu $v0, $zero, 0x14 +/* 31D7EC 802BDC7C 0C00ECF4 */ jal func_8003B3D0 +/* 31D7F0 802BDC80 AE020000 */ sw $v0, ($s0) +/* 31D7F4 802BDC84 8E420000 */ lw $v0, ($s2) +/* 31D7F8 802BDC88 30420800 */ andi $v0, $v0, 0x800 +/* 31D7FC 802BDC8C 14400016 */ bnez $v0, .L802BDCE8 +/* 31D800 802BDC90 24020001 */ addiu $v0, $zero, 1 +/* 31D804 802BDC94 0C039769 */ jal set_action_state +/* 31D808 802BDC98 0000202D */ daddu $a0, $zero, $zero +/* 31D80C 802BDC9C 080AF73A */ j .L802BDCE8 +/* 31D810 802BDCA0 24020001 */ addiu $v0, $zero, 1 +.L802BDCA4: +/* 31D814 802BDCA4 3C03802C */ lui $v1, 0x802c +/* 31D818 802BDCA8 8C63E310 */ lw $v1, -0x1cf0($v1) +/* 31D81C 802BDCAC 1060000E */ beqz $v1, .L802BDCE8 +/* 31D820 802BDCB0 0000102D */ daddu $v0, $zero, $zero +/* 31D824 802BDCB4 8C62000C */ lw $v0, 0xc($v1) +/* 31D828 802BDCB8 C6200038 */ lwc1 $f0, 0x38($s1) +/* 31D82C 802BDCBC 3C014150 */ lui $at, 0x4150 +/* 31D830 802BDCC0 44811000 */ mtc1 $at, $f2 +/* 31D834 802BDCC4 E4400004 */ swc1 $f0, 4($v0) +/* 31D838 802BDCC8 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31D83C 802BDCCC 46020000 */ add.s $f0, $f0, $f2 +/* 31D840 802BDCD0 8C62000C */ lw $v0, 0xc($v1) +/* 31D844 802BDCD4 E4400008 */ swc1 $f0, 8($v0) +/* 31D848 802BDCD8 8C62000C */ lw $v0, 0xc($v1) +/* 31D84C 802BDCDC C6200040 */ lwc1 $f0, 0x40($s1) +/* 31D850 802BDCE0 E440000C */ swc1 $f0, 0xc($v0) +/* 31D854 802BDCE4 0000102D */ daddu $v0, $zero, $zero +.L802BDCE8: +/* 31D858 802BDCE8 8FBF0028 */ lw $ra, 0x28($sp) +/* 31D85C 802BDCEC 8FB50024 */ lw $s5, 0x24($sp) +/* 31D860 802BDCF0 8FB40020 */ lw $s4, 0x20($sp) +/* 31D864 802BDCF4 8FB3001C */ lw $s3, 0x1c($sp) +/* 31D868 802BDCF8 8FB20018 */ lw $s2, 0x18($sp) +/* 31D86C 802BDCFC 8FB10014 */ lw $s1, 0x14($sp) +/* 31D870 802BDD00 8FB00010 */ lw $s0, 0x10($sp) +/* 31D874 802BDD04 03E00008 */ jr $ra +/* 31D878 802BDD08 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31CC70/func_802BDD0C.s b/asm/nonmatchings/code_31CC70/func_802BDD0C.s new file mode 100644 index 0000000000..ceaa6d3d1f --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BDD0C.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDD0C +/* 31D87C 802BDD0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 31D880 802BDD10 AFB20018 */ sw $s2, 0x18($sp) +/* 31D884 802BDD14 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 31D888 802BDD18 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 31D88C 802BDD1C AFB10014 */ sw $s1, 0x14($sp) +/* 31D890 802BDD20 3C118011 */ lui $s1, %hi(D_8010EBB0) +/* 31D894 802BDD24 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0) +/* 31D898 802BDD28 AFBF001C */ sw $ra, 0x1c($sp) +/* 31D89C 802BDD2C AFB00010 */ sw $s0, 0x10($sp) +/* 31D8A0 802BDD30 10A00011 */ beqz $a1, .L802BDD78 +/* 31D8A4 802BDD34 8C90014C */ lw $s0, 0x14c($a0) +/* 31D8A8 802BDD38 0C0AF460 */ jal func_802BD180_31CC70 +/* 31D8AC 802BDD3C 00000000 */ nop +/* 31D8B0 802BDD40 0C03BA65 */ jal func_800EE994 +/* 31D8B4 802BDD44 0200202D */ daddu $a0, $s0, $zero +/* 31D8B8 802BDD48 3C040001 */ lui $a0, 1 +/* 31D8BC 802BDD4C 0C037FD4 */ jal func_800DFF50 +/* 31D8C0 802BDD50 34840002 */ ori $a0, $a0, 2 +/* 31D8C4 802BDD54 2402FFFC */ addiu $v0, $zero, -4 +/* 31D8C8 802BDD58 A2200003 */ sb $zero, 3($s1) +/* 31D8CC 802BDD5C A2200000 */ sb $zero, ($s1) +/* 31D8D0 802BDD60 8E430004 */ lw $v1, 4($s2) +/* 31D8D4 802BDD64 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* 31D8D8 802BDD68 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* 31D8DC 802BDD6C 00621824 */ and $v1, $v1, $v0 +/* 31D8E0 802BDD70 AE430004 */ sw $v1, 4($s2) +/* 31D8E4 802BDD74 A080007D */ sb $zero, 0x7d($a0) +.L802BDD78: +/* 31D8E8 802BDD78 0C03BA6E */ jal func_800EE9B8 +/* 31D8EC 802BDD7C 0200202D */ daddu $a0, $s0, $zero +/* 31D8F0 802BDD80 8FBF001C */ lw $ra, 0x1c($sp) +/* 31D8F4 802BDD84 8FB20018 */ lw $s2, 0x18($sp) +/* 31D8F8 802BDD88 8FB10014 */ lw $s1, 0x14($sp) +/* 31D8FC 802BDD8C 8FB00010 */ lw $s0, 0x10($sp) +/* 31D900 802BDD90 0002102B */ sltu $v0, $zero, $v0 +/* 31D904 802BDD94 03E00008 */ jr $ra +/* 31D908 802BDD98 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31CC70/func_802BDD9C.s b/asm/nonmatchings/code_31CC70/func_802BDD9C.s new file mode 100644 index 0000000000..6029feaccd --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BDD9C.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDD9C +/* 31D90C 802BDD9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31D910 802BDDA0 3C02802C */ lui $v0, 0x802c +/* 31D914 802BDDA4 8C42E30C */ lw $v0, -0x1cf4($v0) +/* 31D918 802BDDA8 3C068011 */ lui $a2, %hi(D_8010EBB0) +/* 31D91C 802BDDAC 24C6EBB0 */ addiu $a2, $a2, %lo(D_8010EBB0) +/* 31D920 802BDDB0 10400012 */ beqz $v0, .L802BDDFC +/* 31D924 802BDDB4 AFBF0010 */ sw $ra, 0x10($sp) +/* 31D928 802BDDB8 24C30018 */ addiu $v1, $a2, 0x18 +/* 31D92C 802BDDBC 0080102D */ daddu $v0, $a0, $zero +/* 31D930 802BDDC0 24850340 */ addiu $a1, $a0, 0x340 +.L802BDDC4: +/* 31D934 802BDDC4 8C470000 */ lw $a3, ($v0) +/* 31D938 802BDDC8 8C480004 */ lw $t0, 4($v0) +/* 31D93C 802BDDCC 8C490008 */ lw $t1, 8($v0) +/* 31D940 802BDDD0 8C4A000C */ lw $t2, 0xc($v0) +/* 31D944 802BDDD4 AC670000 */ sw $a3, ($v1) +/* 31D948 802BDDD8 AC680004 */ sw $t0, 4($v1) +/* 31D94C 802BDDDC AC690008 */ sw $t1, 8($v1) +/* 31D950 802BDDE0 AC6A000C */ sw $t2, 0xc($v1) +/* 31D954 802BDDE4 24420010 */ addiu $v0, $v0, 0x10 +/* 31D958 802BDDE8 1445FFF6 */ bne $v0, $a1, .L802BDDC4 +/* 31D95C 802BDDEC 24630010 */ addiu $v1, $v1, 0x10 +/* 31D960 802BDDF0 24020001 */ addiu $v0, $zero, 1 +/* 31D964 802BDDF4 0C03BD17 */ jal clear_partner_move_history +/* 31D968 802BDDF8 A0C20001 */ sb $v0, 1($a2) +.L802BDDFC: +/* 31D96C 802BDDFC 0C0AF460 */ jal func_802BD180_31CC70 +/* 31D970 802BDE00 00000000 */ nop +/* 31D974 802BDE04 8FBF0010 */ lw $ra, 0x10($sp) +/* 31D978 802BDE08 03E00008 */ jr $ra +/* 31D97C 802BDE0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BDE10.s b/asm/nonmatchings/code_31CC70/func_802BDE10.s new file mode 100644 index 0000000000..24ebece388 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BDE10.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDE10 +/* 31D980 802BDE10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31D984 802BDE14 AFB00010 */ sw $s0, 0x10($sp) +/* 31D988 802BDE18 0080802D */ daddu $s0, $a0, $zero +/* 31D98C 802BDE1C 3C048011 */ lui $a0, %hi(D_8010EBB0) +/* 31D990 802BDE20 2484EBB0 */ addiu $a0, $a0, %lo(D_8010EBB0) +/* 31D994 802BDE24 AFBF0014 */ sw $ra, 0x14($sp) +/* 31D998 802BDE28 80820001 */ lb $v0, 1($a0) +/* 31D99C 802BDE2C 10400012 */ beqz $v0, .L802BDE78 +/* 31D9A0 802BDE30 0200182D */ daddu $v1, $s0, $zero +/* 31D9A4 802BDE34 24820018 */ addiu $v0, $a0, 0x18 +/* 31D9A8 802BDE38 24840358 */ addiu $a0, $a0, 0x358 +.L802BDE3C: +/* 31D9AC 802BDE3C 8C450000 */ lw $a1, ($v0) +/* 31D9B0 802BDE40 8C460004 */ lw $a2, 4($v0) +/* 31D9B4 802BDE44 8C470008 */ lw $a3, 8($v0) +/* 31D9B8 802BDE48 8C48000C */ lw $t0, 0xc($v0) +/* 31D9BC 802BDE4C AC650000 */ sw $a1, ($v1) +/* 31D9C0 802BDE50 AC660004 */ sw $a2, 4($v1) +/* 31D9C4 802BDE54 AC670008 */ sw $a3, 8($v1) +/* 31D9C8 802BDE58 AC68000C */ sw $t0, 0xc($v1) +/* 31D9CC 802BDE5C 24420010 */ addiu $v0, $v0, 0x10 +/* 31D9D0 802BDE60 1444FFF6 */ bne $v0, $a0, .L802BDE3C +/* 31D9D4 802BDE64 24630010 */ addiu $v1, $v1, 0x10 +/* 31D9D8 802BDE68 0C03ACC5 */ jal partner_use_ability +/* 31D9DC 802BDE6C 00000000 */ nop +/* 31D9E0 802BDE70 0C0AF440 */ jal func_802BD100_31CC70 +/* 31D9E4 802BDE74 0200202D */ daddu $a0, $s0, $zero +.L802BDE78: +/* 31D9E8 802BDE78 8FBF0014 */ lw $ra, 0x14($sp) +/* 31D9EC 802BDE7C 8FB00010 */ lw $s0, 0x10($sp) +/* 31D9F0 802BDE80 03E00008 */ jr $ra +/* 31D9F4 802BDE84 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BDE88.s b/asm/nonmatchings/code_31CC70/func_802BDE88.s new file mode 100644 index 0000000000..ccb89a94dd --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BDE88.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDE88 +/* 31D9F8 802BDE88 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 31D9FC 802BDE8C AFB10014 */ sw $s1, 0x14($sp) +/* 31DA00 802BDE90 0080882D */ daddu $s1, $a0, $zero +/* 31DA04 802BDE94 AFB00010 */ sw $s0, 0x10($sp) +/* 31DA08 802BDE98 00A0802D */ daddu $s0, $a1, $zero +/* 31DA0C 802BDE9C 2404FFFC */ addiu $a0, $zero, -4 +/* 31DA10 802BDEA0 AFBF0024 */ sw $ra, 0x24($sp) +/* 31DA14 802BDEA4 AFB40020 */ sw $s4, 0x20($sp) +/* 31DA18 802BDEA8 AFB3001C */ sw $s3, 0x1c($sp) +/* 31DA1C 802BDEAC 0C00EABB */ jal get_npc_unsafe +/* 31DA20 802BDEB0 AFB20018 */ sw $s2, 0x18($sp) +/* 31DA24 802BDEB4 3C148011 */ lui $s4, %hi(D_8010EBB0) +/* 31DA28 802BDEB8 2694EBB0 */ addiu $s4, $s4, %lo(D_8010EBB0) +/* 31DA2C 802BDEBC 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 31DA30 802BDEC0 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 31DA34 802BDEC4 12000002 */ beqz $s0, .L802BDED0 +/* 31DA38 802BDEC8 0040902D */ daddu $s2, $v0, $zero +/* 31DA3C 802BDECC AE200070 */ sw $zero, 0x70($s1) +.L802BDED0: +/* 31DA40 802BDED0 8E230070 */ lw $v1, 0x70($s1) +/* 31DA44 802BDED4 10600005 */ beqz $v1, .L802BDEEC +/* 31DA48 802BDED8 24020001 */ addiu $v0, $zero, 1 +/* 31DA4C 802BDEDC 10620037 */ beq $v1, $v0, .L802BDFBC +/* 31DA50 802BDEE0 0000102D */ daddu $v0, $zero, $zero +/* 31DA54 802BDEE4 080AF7FD */ j .L802BDFF4 +/* 31DA58 802BDEE8 00000000 */ nop +.L802BDEEC: +/* 31DA5C 802BDEEC 8E2200B4 */ lw $v0, 0xb4($s1) +/* 31DA60 802BDEF0 14400007 */ bnez $v0, .L802BDF10 +/* 31DA64 802BDEF4 00000000 */ nop +/* 31DA68 802BDEF8 0C03ADF3 */ jal partner_kill_ability_script +/* 31DA6C 802BDEFC 00000000 */ nop +/* 31DA70 802BDF00 0C0AF460 */ jal func_802BD180_31CC70 +/* 31DA74 802BDF04 00000000 */ nop +/* 31DA78 802BDF08 080AF7C6 */ j .L802BDF18 +/* 31DA7C 802BDF0C 00000000 */ nop +.L802BDF10: +/* 31DA80 802BDF10 0C0AF440 */ jal func_802BD100_31CC70 +/* 31DA84 802BDF14 0240202D */ daddu $a0, $s2, $zero +.L802BDF18: +/* 31DA88 802BDF18 C6220088 */ lwc1 $f2, 0x88($s1) +/* 31DA8C 802BDF1C 468010A0 */ cvt.s.w $f2, $f2 +/* 31DA90 802BDF20 44061000 */ mfc1 $a2, $f2 +/* 31DA94 802BDF24 C6220090 */ lwc1 $f2, 0x90($s1) +/* 31DA98 802BDF28 468010A0 */ cvt.s.w $f2, $f2 +/* 31DA9C 802BDF2C 8E220094 */ lw $v0, 0x94($s1) +/* 31DAA0 802BDF30 44071000 */ mfc1 $a3, $f2 +/* 31DAA4 802BDF34 AE220074 */ sw $v0, 0x74($s1) +/* 31DAA8 802BDF38 C66C0028 */ lwc1 $f12, 0x28($s3) +/* 31DAAC 802BDF3C 0C00A720 */ jal atan2 +/* 31DAB0 802BDF40 C66E0030 */ lwc1 $f14, 0x30($s3) +/* 31DAB4 802BDF44 E6600080 */ swc1 $f0, 0x80($s3) +/* 31DAB8 802BDF48 E66000A0 */ swc1 $f0, 0xa0($s3) +/* 31DABC 802BDF4C 8E240074 */ lw $a0, 0x74($s1) +/* 31DAC0 802BDF50 8E260098 */ lw $a2, 0x98($s1) +/* 31DAC4 802BDF54 44050000 */ mfc1 $a1, $f0 +/* 31DAC8 802BDF58 0C0389DE */ jal move_player +/* 31DACC 802BDF5C 00000000 */ nop +/* 31DAD0 802BDF60 0C0AF81C */ jal func_802BE070 +/* 31DAD4 802BDF64 00000000 */ nop +/* 31DAD8 802BDF68 8E420000 */ lw $v0, ($s2) +/* 31DADC 802BDF6C 2403FDFF */ addiu $v1, $zero, -0x201 +/* 31DAE0 802BDF70 00431024 */ and $v0, $v0, $v1 +/* 31DAE4 802BDF74 34420100 */ ori $v0, $v0, 0x100 +/* 31DAE8 802BDF78 AE420000 */ sw $v0, ($s2) +/* 31DAEC 802BDF7C 8E620004 */ lw $v0, 4($s3) +/* 31DAF0 802BDF80 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 31DAF4 802BDF84 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 31DAF8 802BDF88 34420003 */ ori $v0, $v0, 3 +/* 31DAFC 802BDF8C AE620004 */ sw $v0, 4($s3) +/* 31DB00 802BDF90 24020001 */ addiu $v0, $zero, 1 +/* 31DB04 802BDF94 A062007D */ sb $v0, 0x7d($v1) +/* 31DB08 802BDF98 A2820000 */ sb $v0, ($s4) +/* 31DB0C 802BDF9C 24020006 */ addiu $v0, $zero, 6 +/* 31DB10 802BDFA0 A2820003 */ sb $v0, 3($s4) +/* 31DB14 802BDFA4 8E220070 */ lw $v0, 0x70($s1) +/* 31DB18 802BDFA8 3C01802C */ lui $at, 0x802c +/* 31DB1C 802BDFAC AC20E308 */ sw $zero, -0x1cf8($at) +/* 31DB20 802BDFB0 24420001 */ addiu $v0, $v0, 1 +/* 31DB24 802BDFB4 080AF7FC */ j .L802BDFF0 +/* 31DB28 802BDFB8 AE220070 */ sw $v0, 0x70($s1) +.L802BDFBC: +/* 31DB2C 802BDFBC 0C0AF81C */ jal func_802BE070 +/* 31DB30 802BDFC0 00000000 */ nop +/* 31DB34 802BDFC4 8E220074 */ lw $v0, 0x74($s1) +/* 31DB38 802BDFC8 2442FFFF */ addiu $v0, $v0, -1 +/* 31DB3C 802BDFCC 14400008 */ bnez $v0, .L802BDFF0 +/* 31DB40 802BDFD0 AE220074 */ sw $v0, 0x74($s1) +/* 31DB44 802BDFD4 8E2200B4 */ lw $v0, 0xb4($s1) +/* 31DB48 802BDFD8 10400006 */ beqz $v0, .L802BDFF4 +/* 31DB4C 802BDFDC 24020002 */ addiu $v0, $zero, 2 +/* 31DB50 802BDFE0 0C03ACC5 */ jal partner_use_ability +/* 31DB54 802BDFE4 00000000 */ nop +/* 31DB58 802BDFE8 080AF7FD */ j .L802BDFF4 +/* 31DB5C 802BDFEC 24020002 */ addiu $v0, $zero, 2 +.L802BDFF0: +/* 31DB60 802BDFF0 0000102D */ daddu $v0, $zero, $zero +.L802BDFF4: +/* 31DB64 802BDFF4 8FBF0024 */ lw $ra, 0x24($sp) +/* 31DB68 802BDFF8 8FB40020 */ lw $s4, 0x20($sp) +/* 31DB6C 802BDFFC 8FB3001C */ lw $s3, 0x1c($sp) +/* 31DB70 802BE000 8FB20018 */ lw $s2, 0x18($sp) +/* 31DB74 802BE004 8FB10014 */ lw $s1, 0x14($sp) +/* 31DB78 802BE008 8FB00010 */ lw $s0, 0x10($sp) +/* 31DB7C 802BE00C 03E00008 */ jr $ra +/* 31DB80 802BE010 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31CC70/func_802BE014.s b/asm/nonmatchings/code_31CC70/func_802BE014.s new file mode 100644 index 0000000000..b29f1fdb58 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BE014.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE014 +/* 31DB84 802BE014 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31DB88 802BE018 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 31DB8C 802BE01C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 31DB90 802BE020 AFBF0010 */ sw $ra, 0x10($sp) +/* 31DB94 802BE024 C4420054 */ lwc1 $f2, 0x54($v0) +/* 31DB98 802BE028 C440005C */ lwc1 $f0, 0x5c($v0) +/* 31DB9C 802BE02C 4602003E */ c.le.s $f0, $f2 +/* 31DBA0 802BE030 00000000 */ nop +/* 31DBA4 802BE034 45000003 */ bc1f .L802BE044 +/* 31DBA8 802BE038 3C040006 */ lui $a0, 6 +/* 31DBAC 802BE03C 080AF817 */ j .L802BE05C +/* 31DBB0 802BE040 34840002 */ ori $a0, $a0, 2 +.L802BE044: +/* 31DBB4 802BE044 C4400058 */ lwc1 $f0, 0x58($v0) +/* 31DBB8 802BE048 4602003E */ c.le.s $f0, $f2 +/* 31DBBC 802BE04C 00000000 */ nop +/* 31DBC0 802BE050 45000002 */ bc1f .L802BE05C +/* 31DBC4 802BE054 34840007 */ ori $a0, $a0, 7 +/* 31DBC8 802BE058 3C040006 */ lui $a0, 6 +.L802BE05C: +/* 31DBCC 802BE05C 0C037FBF */ jal func_800DFEFC +/* 31DBD0 802BE060 00000000 */ nop +/* 31DBD4 802BE064 8FBF0010 */ lw $ra, 0x10($sp) +/* 31DBD8 802BE068 03E00008 */ jr $ra +/* 31DBDC 802BE06C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31CC70/func_802BE070.s b/asm/nonmatchings/code_31CC70/func_802BE070.s new file mode 100644 index 0000000000..6260eebe20 --- /dev/null +++ b/asm/nonmatchings/code_31CC70/func_802BE070.s @@ -0,0 +1,129 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE070 +/* 31DBE0 802BE070 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 31DBE4 802BE074 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 31DBE8 802BE078 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31DBEC 802BE07C AFBF0024 */ sw $ra, 0x24($sp) +/* 31DBF0 802BE080 AFB40020 */ sw $s4, 0x20($sp) +/* 31DBF4 802BE084 AFB3001C */ sw $s3, 0x1c($sp) +/* 31DBF8 802BE088 AFB20018 */ sw $s2, 0x18($sp) +/* 31DBFC 802BE08C AFB10014 */ sw $s1, 0x14($sp) +/* 31DC00 802BE090 AFB00010 */ sw $s0, 0x10($sp) +/* 31DC04 802BE094 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 31DC08 802BE098 10400060 */ beqz $v0, .L802BE21C +/* 31DC0C 802BE09C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 31DC10 802BE0A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 31DC14 802BE0A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 31DC18 802BE0A8 3C0142B4 */ lui $at, 0x42b4 +/* 31DC1C 802BE0AC 44810000 */ mtc1 $at, $f0 +/* 31DC20 802BE0B0 C44200A8 */ lwc1 $f2, 0xa8($v0) +/* 31DC24 802BE0B4 4600103C */ c.lt.s $f2, $f0 +/* 31DC28 802BE0B8 00000000 */ nop +/* 31DC2C 802BE0BC 45010008 */ bc1t .L802BE0E0 +/* 31DC30 802BE0C0 00000000 */ nop +/* 31DC34 802BE0C4 3C014387 */ lui $at, 0x4387 +/* 31DC38 802BE0C8 44810000 */ mtc1 $at, $f0 +/* 31DC3C 802BE0CC 00000000 */ nop +/* 31DC40 802BE0D0 4602003C */ c.lt.s $f0, $f2 +/* 31DC44 802BE0D4 00000000 */ nop +/* 31DC48 802BE0D8 45000008 */ bc1f .L802BE0FC +/* 31DC4C 802BE0DC 3C030100 */ lui $v1, 0x100 +.L802BE0E0: +/* 31DC50 802BE0E0 8C4200A4 */ lw $v0, 0xa4($v0) +/* 31DC54 802BE0E4 3C030100 */ lui $v1, 0x100 +/* 31DC58 802BE0E8 00431024 */ and $v0, $v0, $v1 +/* 31DC5C 802BE0EC 10400007 */ beqz $v0, .L802BE10C +/* 31DC60 802BE0F0 24030005 */ addiu $v1, $zero, 5 +/* 31DC64 802BE0F4 080AF844 */ j .L802BE110 +/* 31DC68 802BE0F8 00000000 */ nop +.L802BE0FC: +/* 31DC6C 802BE0FC 8C4200A4 */ lw $v0, 0xa4($v0) +/* 31DC70 802BE100 00431024 */ and $v0, $v0, $v1 +/* 31DC74 802BE104 10400002 */ beqz $v0, .L802BE110 +/* 31DC78 802BE108 24030005 */ addiu $v1, $zero, 5 +.L802BE10C: +/* 31DC7C 802BE10C 2403FFFB */ addiu $v1, $zero, -5 +.L802BE110: +/* 31DC80 802BE110 3C013F19 */ lui $at, 0x3f19 +/* 31DC84 802BE114 3421999A */ ori $at, $at, 0x999a +/* 31DC88 802BE118 4481B000 */ mtc1 $at, $f22 +/* 31DC8C 802BE11C 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* 31DC90 802BE120 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* 31DC94 802BE124 3C02800B */ lui $v0, %hi(gCameras) +/* 31DC98 802BE128 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 31DC9C 802BE12C C454006C */ lwc1 $f20, 0x6c($v0) +/* 31DCA0 802BE130 3C014387 */ lui $at, 0x4387 +/* 31DCA4 802BE134 44810000 */ mtc1 $at, $f0 +/* 31DCA8 802BE138 8E340000 */ lw $s4, ($s1) +/* 31DCAC 802BE13C 4600A500 */ add.s $f20, $f20, $f0 +/* 31DCB0 802BE140 C68000A8 */ lwc1 $f0, 0xa8($s4) +/* 31DCB4 802BE144 4600A501 */ sub.s $f20, $f20, $f0 +/* 31DCB8 802BE148 44830000 */ mtc1 $v1, $f0 +/* 31DCBC 802BE14C 00000000 */ nop +/* 31DCC0 802BE150 46800020 */ cvt.s.w $f0, $f0 +/* 31DCC4 802BE154 4600A500 */ add.s $f20, $f20, $f0 +/* 31DCC8 802BE158 3C0140C9 */ lui $at, 0x40c9 +/* 31DCCC 802BE15C 34210FD0 */ ori $at, $at, 0xfd0 +/* 31DCD0 802BE160 44810000 */ mtc1 $at, $f0 +/* 31DCD4 802BE164 00000000 */ nop +/* 31DCD8 802BE168 4600A502 */ mul.s $f20, $f20, $f0 +/* 31DCDC 802BE16C 00000000 */ nop +/* 31DCE0 802BE170 3C108011 */ lui $s0, 0x8011 +/* 31DCE4 802BE174 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 31DCE8 802BE178 3C0143B4 */ lui $at, 0x43b4 +/* 31DCEC 802BE17C 44810000 */ mtc1 $at, $f0 +/* 31DCF0 802BE180 8E120000 */ lw $s2, ($s0) +/* 31DCF4 802BE184 4600A503 */ div.s $f20, $f20, $f0 +/* 31DCF8 802BE188 0C00A85B */ jal sin_rad +/* 31DCFC 802BE18C 4600A306 */ mov.s $f12, $f20 +/* 31DD00 802BE190 8E330000 */ lw $s3, ($s1) +/* 31DD04 802BE194 866200B2 */ lh $v0, 0xb2($s3) +/* 31DD08 802BE198 44821000 */ mtc1 $v0, $f2 +/* 31DD0C 802BE19C 00000000 */ nop +/* 31DD10 802BE1A0 468010A0 */ cvt.s.w $f2, $f2 +/* 31DD14 802BE1A4 46020002 */ mul.s $f0, $f0, $f2 +/* 31DD18 802BE1A8 00000000 */ nop +/* 31DD1C 802BE1AC 46160002 */ mul.s $f0, $f0, $f22 +/* 31DD20 802BE1B0 00000000 */ nop +/* 31DD24 802BE1B4 C6820028 */ lwc1 $f2, 0x28($s4) +/* 31DD28 802BE1B8 46001080 */ add.s $f2, $f2, $f0 +/* 31DD2C 802BE1BC E6420038 */ swc1 $f2, 0x38($s2) +/* 31DD30 802BE1C0 8E120000 */ lw $s2, ($s0) +/* 31DD34 802BE1C4 0C00A874 */ jal cos_rad +/* 31DD38 802BE1C8 4600A306 */ mov.s $f12, $f20 +/* 31DD3C 802BE1CC 8E230000 */ lw $v1, ($s1) +/* 31DD40 802BE1D0 846200B2 */ lh $v0, 0xb2($v1) +/* 31DD44 802BE1D4 44821000 */ mtc1 $v0, $f2 +/* 31DD48 802BE1D8 00000000 */ nop +/* 31DD4C 802BE1DC 468010A0 */ cvt.s.w $f2, $f2 +/* 31DD50 802BE1E0 46020002 */ mul.s $f0, $f0, $f2 +/* 31DD54 802BE1E4 00000000 */ nop +/* 31DD58 802BE1E8 46160002 */ mul.s $f0, $f0, $f22 +/* 31DD5C 802BE1EC 00000000 */ nop +/* 31DD60 802BE1F0 C6620030 */ lwc1 $f2, 0x30($s3) +/* 31DD64 802BE1F4 46001081 */ sub.s $f2, $f2, $f0 +/* 31DD68 802BE1F8 E6420040 */ swc1 $f2, 0x40($s2) +/* 31DD6C 802BE1FC 8E020000 */ lw $v0, ($s0) +/* 31DD70 802BE200 C4600080 */ lwc1 $f0, 0x80($v1) +/* 31DD74 802BE204 3C0140A0 */ lui $at, 0x40a0 +/* 31DD78 802BE208 44811000 */ mtc1 $at, $f2 +/* 31DD7C 802BE20C E440000C */ swc1 $f0, 0xc($v0) +/* 31DD80 802BE210 C460002C */ lwc1 $f0, 0x2c($v1) +/* 31DD84 802BE214 46020000 */ add.s $f0, $f0, $f2 +/* 31DD88 802BE218 E440003C */ swc1 $f0, 0x3c($v0) +.L802BE21C: +/* 31DD8C 802BE21C 8FBF0024 */ lw $ra, 0x24($sp) +/* 31DD90 802BE220 8FB40020 */ lw $s4, 0x20($sp) +/* 31DD94 802BE224 8FB3001C */ lw $s3, 0x1c($sp) +/* 31DD98 802BE228 8FB20018 */ lw $s2, 0x18($sp) +/* 31DD9C 802BE22C 8FB10014 */ lw $s1, 0x14($sp) +/* 31DDA0 802BE230 8FB00010 */ lw $s0, 0x10($sp) +/* 31DDA4 802BE234 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 31DDA8 802BE238 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 31DDAC 802BE23C 03E00008 */ jr $ra +/* 31DDB0 802BE240 27BD0038 */ addiu $sp, $sp, 0x38 +/* 31DDB4 802BE244 00000000 */ nop +/* 31DDB8 802BE248 00000000 */ nop +/* 31DDBC 802BE24C 00000000 */ nop diff --git a/asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s b/asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s new file mode 100644 index 0000000000..39160cce39 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_31DE70 +/* 31DE70 802BD100 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 31DE74 802BD104 2404FFFC */ addiu $a0, $zero, -4 +/* 31DE78 802BD108 AFBF0014 */ sw $ra, 0x14($sp) +/* 31DE7C 802BD10C 0C00EABB */ jal get_npc_unsafe +/* 31DE80 802BD110 AFB00010 */ sw $s0, 0x10($sp) +/* 31DE84 802BD114 C4400038 */ lwc1 $f0, 0x38($v0) +/* 31DE88 802BD118 3C014180 */ lui $at, 0x4180 +/* 31DE8C 802BD11C 44811000 */ mtc1 $at, $f2 +/* 31DE90 802BD120 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 31DE94 802BD124 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 31DE98 802BD128 E6000028 */ swc1 $f0, 0x28($s0) +/* 31DE9C 802BD12C C440003C */ lwc1 $f0, 0x3c($v0) +/* 31DEA0 802BD130 46020000 */ add.s $f0, $f0, $f2 +/* 31DEA4 802BD134 C60400A8 */ lwc1 $f4, 0xa8($s0) +/* 31DEA8 802BD138 E600002C */ swc1 $f0, 0x2c($s0) +/* 31DEAC 802BD13C C4400040 */ lwc1 $f0, 0x40($v0) +/* 31DEB0 802BD140 E6000030 */ swc1 $f0, 0x30($s0) +/* 31DEB4 802BD144 3C0142B4 */ lui $at, 0x42b4 +/* 31DEB8 802BD148 44810000 */ mtc1 $at, $f0 +/* 31DEBC 802BD14C C442000C */ lwc1 $f2, 0xc($v0) +/* 31DEC0 802BD150 4600203C */ c.lt.s $f4, $f0 +/* 31DEC4 802BD154 00000000 */ nop +/* 31DEC8 802BD158 45010008 */ bc1t .L802BD17C +/* 31DECC 802BD15C E6020080 */ swc1 $f2, 0x80($s0) +/* 31DED0 802BD160 3C014387 */ lui $at, 0x4387 +/* 31DED4 802BD164 44810000 */ mtc1 $at, $f0 +/* 31DED8 802BD168 00000000 */ nop +/* 31DEDC 802BD16C 4604003C */ c.lt.s $f0, $f4 +/* 31DEE0 802BD170 00000000 */ nop +/* 31DEE4 802BD174 45000002 */ bc1f .L802BD180 +/* 31DEE8 802BD178 24030008 */ addiu $v1, $zero, 8 +.L802BD17C: +/* 31DEEC 802BD17C 2403FFF8 */ addiu $v1, $zero, -8 +.L802BD180: +/* 31DEF0 802BD180 3C02800B */ lui $v0, %hi(gCameras) +/* 31DEF4 802BD184 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 31DEF8 802BD188 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 31DEFC 802BD18C C60000A8 */ lwc1 $f0, 0xa8($s0) +/* 31DF00 802BD190 46006300 */ add.s $f12, $f12, $f0 +/* 31DF04 802BD194 3C0142B4 */ lui $at, 0x42b4 +/* 31DF08 802BD198 44810000 */ mtc1 $at, $f0 +/* 31DF0C 802BD19C 00000000 */ nop +/* 31DF10 802BD1A0 46006301 */ sub.s $f12, $f12, $f0 +/* 31DF14 802BD1A4 44830000 */ mtc1 $v1, $f0 +/* 31DF18 802BD1A8 00000000 */ nop +/* 31DF1C 802BD1AC 46800020 */ cvt.s.w $f0, $f0 +/* 31DF20 802BD1B0 46006300 */ add.s $f12, $f12, $f0 +/* 31DF24 802BD1B4 3C0140C9 */ lui $at, 0x40c9 +/* 31DF28 802BD1B8 34210FD0 */ ori $at, $at, 0xfd0 +/* 31DF2C 802BD1BC 44810000 */ mtc1 $at, $f0 +/* 31DF30 802BD1C0 00000000 */ nop +/* 31DF34 802BD1C4 46006302 */ mul.s $f12, $f12, $f0 +/* 31DF38 802BD1C8 00000000 */ nop +/* 31DF3C 802BD1CC 3C0143B4 */ lui $at, 0x43b4 +/* 31DF40 802BD1D0 44810000 */ mtc1 $at, $f0 +/* 31DF44 802BD1D4 0C00A874 */ jal cos_rad +/* 31DF48 802BD1D8 46006303 */ div.s $f12, $f12, $f0 +/* 31DF4C 802BD1DC 3C01C080 */ lui $at, 0xc080 +/* 31DF50 802BD1E0 44811000 */ mtc1 $at, $f2 +/* 31DF54 802BD1E4 00000000 */ nop +/* 31DF58 802BD1E8 46020002 */ mul.s $f0, $f0, $f2 +/* 31DF5C 802BD1EC 00000000 */ nop +/* 31DF60 802BD1F0 C6020030 */ lwc1 $f2, 0x30($s0) +/* 31DF64 802BD1F4 46001081 */ sub.s $f2, $f2, $f0 +/* 31DF68 802BD1F8 E6020030 */ swc1 $f2, 0x30($s0) +/* 31DF6C 802BD1FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 31DF70 802BD200 8FB00010 */ lw $s0, 0x10($sp) +/* 31DF74 802BD204 03E00008 */ jr $ra +/* 31DF78 802BD208 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31DE70/func_802BD20C.s b/asm/nonmatchings/code_31DE70/func_802BD20C.s new file mode 100644 index 0000000000..ec43e3ef1a --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BD20C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD20C +/* 31DF7C 802BD20C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31DF80 802BD210 AFB20018 */ sw $s2, 0x18($sp) +/* 31DF84 802BD214 0080902D */ daddu $s2, $a0, $zero +/* 31DF88 802BD218 AFB3001C */ sw $s3, 0x1c($sp) +/* 31DF8C 802BD21C 00A0982D */ daddu $s3, $a1, $zero +/* 31DF90 802BD220 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 31DF94 802BD224 4480A000 */ mtc1 $zero, $f20 +/* 31DF98 802BD228 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 31DF9C 802BD22C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 31DFA0 802BD230 AFB00010 */ sw $s0, 0x10($sp) +/* 31DFA4 802BD234 3C10802C */ lui $s0, 0x802c +/* 31DFA8 802BD238 2610FDB0 */ addiu $s0, $s0, -0x250 +/* 31DFAC 802BD23C AFB10014 */ sw $s1, 0x14($sp) +/* 31DFB0 802BD240 3C11802C */ lui $s1, 0x802c +/* 31DFB4 802BD244 2631FDB4 */ addiu $s1, $s1, -0x24c +/* 31DFB8 802BD248 AFBF0020 */ sw $ra, 0x20($sp) +/* 31DFBC 802BD24C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 31DFC0 802BD250 84620006 */ lh $v0, 6($v1) +/* 31DFC4 802BD254 4600A306 */ mov.s $f12, $f20 +/* 31DFC8 802BD258 44821000 */ mtc1 $v0, $f2 +/* 31DFCC 802BD25C 00000000 */ nop +/* 31DFD0 802BD260 468010A0 */ cvt.s.w $f2, $f2 +/* 31DFD4 802BD264 46001107 */ neg.s $f4, $f2 +/* 31DFD8 802BD268 84620004 */ lh $v0, 4($v1) +/* 31DFDC 802BD26C 44072000 */ mfc1 $a3, $f4 +/* 31DFE0 802BD270 44820000 */ mtc1 $v0, $f0 +/* 31DFE4 802BD274 00000000 */ nop +/* 31DFE8 802BD278 46800020 */ cvt.s.w $f0, $f0 +/* 31DFEC 802BD27C 44060000 */ mfc1 $a2, $f0 +/* 31DFF0 802BD280 4600A386 */ mov.s $f14, $f20 +/* 31DFF4 802BD284 AE060000 */ sw $a2, ($s0) +/* 31DFF8 802BD288 0C00A720 */ jal atan2 +/* 31DFFC 802BD28C E6220000 */ swc1 $f2, ($s1) +/* 31E000 802BD290 3C01800B */ lui $at, 0x800b +/* 31E004 802BD294 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 31E008 802BD298 0C00A6C9 */ jal clamp_angle +/* 31E00C 802BD29C 460C0300 */ add.s $f12, $f0, $f12 +/* 31E010 802BD2A0 4600A306 */ mov.s $f12, $f20 +/* 31E014 802BD2A4 4600A386 */ mov.s $f14, $f20 +/* 31E018 802BD2A8 C6220000 */ lwc1 $f2, ($s1) +/* 31E01C 802BD2AC 8E060000 */ lw $a2, ($s0) +/* 31E020 802BD2B0 46001087 */ neg.s $f2, $f2 +/* 31E024 802BD2B4 44071000 */ mfc1 $a3, $f2 +/* 31E028 802BD2B8 0C00A7B5 */ jal dist2D +/* 31E02C 802BD2BC 46000586 */ mov.s $f22, $f0 +/* 31E030 802BD2C0 3C013FF0 */ lui $at, 0x3ff0 +/* 31E034 802BD2C4 44811800 */ mtc1 $at, $f3 +/* 31E038 802BD2C8 44801000 */ mtc1 $zero, $f2 +/* 31E03C 802BD2CC 46000021 */ cvt.d.s $f0, $f0 +/* 31E040 802BD2D0 4620103E */ c.le.d $f2, $f0 +/* 31E044 802BD2D4 00000000 */ nop +/* 31E048 802BD2D8 45020019 */ bc1fl .L802BD340 +/* 31E04C 802BD2DC E6560000 */ swc1 $f22, ($s2) +/* 31E050 802BD2E0 C6000000 */ lwc1 $f0, ($s0) +/* 31E054 802BD2E4 46000002 */ mul.s $f0, $f0, $f0 +/* 31E058 802BD2E8 00000000 */ nop +/* 31E05C 802BD2EC C6220000 */ lwc1 $f2, ($s1) +/* 31E060 802BD2F0 46021082 */ mul.s $f2, $f2, $f2 +/* 31E064 802BD2F4 00000000 */ nop +/* 31E068 802BD2F8 46020000 */ add.s $f0, $f0, $f2 +/* 31E06C 802BD2FC 3C01453D */ lui $at, 0x453d +/* 31E070 802BD300 34211000 */ ori $at, $at, 0x1000 +/* 31E074 802BD304 44811000 */ mtc1 $at, $f2 +/* 31E078 802BD308 00000000 */ nop +/* 31E07C 802BD30C 4600103C */ c.lt.s $f2, $f0 +/* 31E080 802BD310 00000000 */ nop +/* 31E084 802BD314 45000007 */ bc1f .L802BD334 +/* 31E088 802BD318 00000000 */ nop +/* 31E08C 802BD31C 3C02802C */ lui $v0, 0x802c +/* 31E090 802BD320 8C42FEE4 */ lw $v0, -0x11c($v0) +/* 31E094 802BD324 3C014080 */ lui $at, 0x4080 +/* 31E098 802BD328 4481A000 */ mtc1 $at, $f20 +/* 31E09C 802BD32C 50400004 */ beql $v0, $zero, .L802BD340 +/* 31E0A0 802BD330 E6560000 */ swc1 $f22, ($s2) +.L802BD334: +/* 31E0A4 802BD334 3C014000 */ lui $at, 0x4000 +/* 31E0A8 802BD338 4481A000 */ mtc1 $at, $f20 +/* 31E0AC 802BD33C E6560000 */ swc1 $f22, ($s2) +.L802BD340: +/* 31E0B0 802BD340 E6740000 */ swc1 $f20, ($s3) +/* 31E0B4 802BD344 8FBF0020 */ lw $ra, 0x20($sp) +/* 31E0B8 802BD348 8FB3001C */ lw $s3, 0x1c($sp) +/* 31E0BC 802BD34C 8FB20018 */ lw $s2, 0x18($sp) +/* 31E0C0 802BD350 8FB10014 */ lw $s1, 0x14($sp) +/* 31E0C4 802BD354 8FB00010 */ lw $s0, 0x10($sp) +/* 31E0C8 802BD358 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 31E0CC 802BD35C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 31E0D0 802BD360 03E00008 */ jr $ra +/* 31E0D4 802BD364 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_31DE70/func_802BD368.s b/asm/nonmatchings/code_31DE70/func_802BD368.s new file mode 100644 index 0000000000..62dd04e912 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BD368.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD368 +/* 31E0D8 802BD368 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 31E0DC 802BD36C 3C0142C8 */ lui $at, 0x42c8 +/* 31E0E0 802BD370 44810000 */ mtc1 $at, $f0 +/* 31E0E4 802BD374 44864000 */ mtc1 $a2, $f8 +/* 31E0E8 802BD378 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 31E0EC 802BD37C C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 31E0F0 802BD380 27A20020 */ addiu $v0, $sp, 0x20 +/* 31E0F4 802BD384 AFB00028 */ sw $s0, 0x28($sp) +/* 31E0F8 802BD388 3C108016 */ lui $s0, 0x8016 +/* 31E0FC 802BD38C 2610A550 */ addiu $s0, $s0, -0x5ab0 +/* 31E100 802BD390 AFB1002C */ sw $s1, 0x2c($sp) +/* 31E104 802BD394 0200882D */ daddu $s1, $s0, $zero +/* 31E108 802BD398 AFA5003C */ sw $a1, 0x3c($sp) +/* 31E10C 802BD39C 27A5003C */ addiu $a1, $sp, 0x3c +/* 31E110 802BD3A0 AFA70044 */ sw $a3, 0x44($sp) +/* 31E114 802BD3A4 27A70044 */ addiu $a3, $sp, 0x44 +/* 31E118 802BD3A8 AFBF0030 */ sw $ra, 0x30($sp) +/* 31E11C 802BD3AC AFA60040 */ sw $a2, 0x40($sp) +/* 31E120 802BD3B0 46004080 */ add.s $f2, $f8, $f0 +/* 31E124 802BD3B4 3C014348 */ lui $at, 0x4348 +/* 31E128 802BD3B8 44810000 */ mtc1 $at, $f0 +/* 31E12C 802BD3BC 27A60040 */ addiu $a2, $sp, 0x40 +/* 31E130 802BD3C0 E7A20040 */ swc1 $f2, 0x40($sp) +/* 31E134 802BD3C4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31E138 802BD3C8 AFA20010 */ sw $v0, 0x10($sp) +/* 31E13C 802BD3CC E7A40014 */ swc1 $f4, 0x14($sp) +/* 31E140 802BD3D0 0C0371DE */ jal func_800DC778 +/* 31E144 802BD3D4 E7A60018 */ swc1 $f6, 0x18($sp) +/* 31E148 802BD3D8 14400003 */ bnez $v0, .L802BD3E8 +/* 31E14C 802BD3DC 2402FFFF */ addiu $v0, $zero, -1 +/* 31E150 802BD3E0 080AF500 */ j .L802BD400 +/* 31E154 802BD3E4 A6020002 */ sh $v0, 2($s0) +.L802BD3E8: +/* 31E158 802BD3E8 3C028011 */ lui $v0, 0x8011 +/* 31E15C 802BD3EC 9442C97A */ lhu $v0, -0x3686($v0) +/* 31E160 802BD3F0 A6220002 */ sh $v0, 2($s1) +/* 31E164 802BD3F4 C7A00040 */ lwc1 $f0, 0x40($sp) +/* 31E168 802BD3F8 3C01802C */ lui $at, 0x802c +/* 31E16C 802BD3FC E420FEE0 */ swc1 $f0, -0x120($at) +.L802BD400: +/* 31E170 802BD400 8FBF0030 */ lw $ra, 0x30($sp) +/* 31E174 802BD404 8FB1002C */ lw $s1, 0x2c($sp) +/* 31E178 802BD408 8FB00028 */ lw $s0, 0x28($sp) +/* 31E17C 802BD40C 03E00008 */ jr $ra +/* 31E180 802BD410 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_31DE70/func_802BD414.s b/asm/nonmatchings/code_31DE70/func_802BD414.s new file mode 100644 index 0000000000..e02d2dda93 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BD414.s @@ -0,0 +1,961 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD414 +/* 31E184 802BD414 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 31E188 802BD418 AFB00040 */ sw $s0, 0x40($sp) +/* 31E18C 802BD41C 0080802D */ daddu $s0, $a0, $zero +/* 31E190 802BD420 27A40020 */ addiu $a0, $sp, 0x20 +/* 31E194 802BD424 AFBF0058 */ sw $ra, 0x58($sp) +/* 31E198 802BD428 AFB50054 */ sw $s5, 0x54($sp) +/* 31E19C 802BD42C AFB40050 */ sw $s4, 0x50($sp) +/* 31E1A0 802BD430 AFB3004C */ sw $s3, 0x4c($sp) +/* 31E1A4 802BD434 AFB20048 */ sw $s2, 0x48($sp) +/* 31E1A8 802BD438 AFB10044 */ sw $s1, 0x44($sp) +/* 31E1AC 802BD43C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 31E1B0 802BD440 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 31E1B4 802BD444 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 31E1B8 802BD448 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 31E1BC 802BD44C 0C0AF483 */ jal func_802BD20C +/* 31E1C0 802BD450 27A50024 */ addiu $a1, $sp, 0x24 +/* 31E1C4 802BD454 3C148011 */ lui $s4, %hi(gPlayerStatus) +/* 31E1C8 802BD458 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) +/* 31E1CC 802BD45C 3C158011 */ lui $s5, %hi(D_8010EBB0) +/* 31E1D0 802BD460 26B5EBB0 */ addiu $s5, $s5, %lo(D_8010EBB0) +/* 31E1D4 802BD464 3C118016 */ lui $s1, 0x8016 +/* 31E1D8 802BD468 2631A550 */ addiu $s1, $s1, -0x5ab0 +/* 31E1DC 802BD46C 3C02802C */ lui $v0, 0x802c +/* 31E1E0 802BD470 8C42FEE4 */ lw $v0, -0x11c($v0) +/* 31E1E4 802BD474 3C014200 */ lui $at, 0x4200 +/* 31E1E8 802BD478 4481A000 */ mtc1 $at, $f20 +/* 31E1EC 802BD47C 10400003 */ beqz $v0, .L802BD48C +/* 31E1F0 802BD480 00000000 */ nop +/* 31E1F4 802BD484 3C0142A0 */ lui $at, 0x42a0 +/* 31E1F8 802BD488 4481A000 */ mtc1 $at, $f20 +.L802BD48C: +/* 31E1FC 802BD48C C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31E200 802BD490 44803000 */ mtc1 $zero, $f6 +/* 31E204 802BD494 00000000 */ nop +/* 31E208 802BD498 46060032 */ c.eq.s $f0, $f6 +/* 31E20C 802BD49C 00000000 */ nop +/* 31E210 802BD4A0 45010095 */ bc1t .L802BD6F8 +/* 31E214 802BD4A4 00000000 */ nop +/* 31E218 802BD4A8 3C02802C */ lui $v0, 0x802c +/* 31E21C 802BD4AC 2442FDB8 */ addiu $v0, $v0, -0x248 +/* 31E220 802BD4B0 3C01802C */ lui $at, 0x802c +/* 31E224 802BD4B4 C422FDB0 */ lwc1 $f2, -0x250($at) +/* 31E228 802BD4B8 C4440000 */ lwc1 $f4, ($v0) +/* 31E22C 802BD4BC 46041002 */ mul.s $f0, $f2, $f4 +/* 31E230 802BD4C0 00000000 */ nop +/* 31E234 802BD4C4 3C014100 */ lui $at, 0x4100 +/* 31E238 802BD4C8 44815000 */ mtc1 $at, $f10 +/* 31E23C 802BD4CC 3C014200 */ lui $at, 0x4200 +/* 31E240 802BD4D0 44814000 */ mtc1 $at, $f8 +/* 31E244 802BD4D4 4600303C */ c.lt.s $f6, $f0 +/* 31E248 802BD4D8 00000000 */ nop +/* 31E24C 802BD4DC 45020002 */ bc1fl .L802BD4E8 +/* 31E250 802BD4E0 460A1003 */ div.s $f0, $f2, $f10 +/* 31E254 802BD4E4 46081003 */ div.s $f0, $f2, $f8 +.L802BD4E8: +/* 31E258 802BD4E8 46002000 */ add.s $f0, $f4, $f0 +/* 31E25C 802BD4EC E4400000 */ swc1 $f0, ($v0) +/* 31E260 802BD4F0 3C01802C */ lui $at, 0x802c +/* 31E264 802BD4F4 C422FDB0 */ lwc1 $f2, -0x250($at) +/* 31E268 802BD4F8 44800000 */ mtc1 $zero, $f0 +/* 31E26C 802BD4FC 00000000 */ nop +/* 31E270 802BD500 4602003C */ c.lt.s $f0, $f2 +/* 31E274 802BD504 00000000 */ nop +/* 31E278 802BD508 45000007 */ bc1f .L802BD528 +/* 31E27C 802BD50C 00000000 */ nop +/* 31E280 802BD510 3C02802C */ lui $v0, 0x802c +/* 31E284 802BD514 2442FDB8 */ addiu $v0, $v0, -0x248 +/* 31E288 802BD518 C4400000 */ lwc1 $f0, ($v0) +/* 31E28C 802BD51C 4600103C */ c.lt.s $f2, $f0 +/* 31E290 802BD520 080AF54F */ j .L802BD53C +/* 31E294 802BD524 00000000 */ nop +.L802BD528: +/* 31E298 802BD528 3C02802C */ lui $v0, 0x802c +/* 31E29C 802BD52C 2442FDB8 */ addiu $v0, $v0, -0x248 +/* 31E2A0 802BD530 C4400000 */ lwc1 $f0, ($v0) +/* 31E2A4 802BD534 4602003C */ c.lt.s $f0, $f2 +/* 31E2A8 802BD538 00000000 */ nop +.L802BD53C: +/* 31E2AC 802BD53C 45030001 */ bc1tl .L802BD544 +/* 31E2B0 802BD540 E4420000 */ swc1 $f2, ($v0) +.L802BD544: +/* 31E2B4 802BD544 3C02802C */ lui $v0, 0x802c +/* 31E2B8 802BD548 2442FDBC */ addiu $v0, $v0, -0x244 +/* 31E2BC 802BD54C 3C01802C */ lui $at, 0x802c +/* 31E2C0 802BD550 C424FDB4 */ lwc1 $f4, -0x24c($at) +/* 31E2C4 802BD554 C4460000 */ lwc1 $f6, ($v0) +/* 31E2C8 802BD558 46062082 */ mul.s $f2, $f4, $f6 +/* 31E2CC 802BD55C 00000000 */ nop +/* 31E2D0 802BD560 44800000 */ mtc1 $zero, $f0 +/* 31E2D4 802BD564 00000000 */ nop +/* 31E2D8 802BD568 4602003C */ c.lt.s $f0, $f2 +/* 31E2DC 802BD56C 00000000 */ nop +/* 31E2E0 802BD570 45020002 */ bc1fl .L802BD57C +/* 31E2E4 802BD574 460A2003 */ div.s $f0, $f4, $f10 +/* 31E2E8 802BD578 46082003 */ div.s $f0, $f4, $f8 +.L802BD57C: +/* 31E2EC 802BD57C 46003000 */ add.s $f0, $f6, $f0 +/* 31E2F0 802BD580 E4400000 */ swc1 $f0, ($v0) +/* 31E2F4 802BD584 3C01802C */ lui $at, 0x802c +/* 31E2F8 802BD588 C422FDB4 */ lwc1 $f2, -0x24c($at) +/* 31E2FC 802BD58C 44800000 */ mtc1 $zero, $f0 +/* 31E300 802BD590 00000000 */ nop +/* 31E304 802BD594 4602003C */ c.lt.s $f0, $f2 +/* 31E308 802BD598 00000000 */ nop +/* 31E30C 802BD59C 45000007 */ bc1f .L802BD5BC +/* 31E310 802BD5A0 00000000 */ nop +/* 31E314 802BD5A4 3C02802C */ lui $v0, 0x802c +/* 31E318 802BD5A8 2442FDBC */ addiu $v0, $v0, -0x244 +/* 31E31C 802BD5AC C4400000 */ lwc1 $f0, ($v0) +/* 31E320 802BD5B0 4600103C */ c.lt.s $f2, $f0 +/* 31E324 802BD5B4 080AF574 */ j .L802BD5D0 +/* 31E328 802BD5B8 00000000 */ nop +.L802BD5BC: +/* 31E32C 802BD5BC 3C02802C */ lui $v0, 0x802c +/* 31E330 802BD5C0 2442FDBC */ addiu $v0, $v0, -0x244 +/* 31E334 802BD5C4 C4400000 */ lwc1 $f0, ($v0) +/* 31E338 802BD5C8 4602003C */ c.lt.s $f0, $f2 +/* 31E33C 802BD5CC 00000000 */ nop +.L802BD5D0: +/* 31E340 802BD5D0 45030001 */ bc1tl .L802BD5D8 +/* 31E344 802BD5D4 E4420000 */ swc1 $f2, ($v0) +.L802BD5D8: +/* 31E348 802BD5D8 3C06802C */ lui $a2, 0x802c +/* 31E34C 802BD5DC 8CC6FDB8 */ lw $a2, -0x248($a2) +/* 31E350 802BD5E0 3C01802C */ lui $at, 0x802c +/* 31E354 802BD5E4 C420FDBC */ lwc1 $f0, -0x244($at) +/* 31E358 802BD5E8 44806000 */ mtc1 $zero, $f12 +/* 31E35C 802BD5EC 46000007 */ neg.s $f0, $f0 +/* 31E360 802BD5F0 44070000 */ mfc1 $a3, $f0 +/* 31E364 802BD5F4 0C00A720 */ jal atan2 +/* 31E368 802BD5F8 46006386 */ mov.s $f14, $f12 +/* 31E36C 802BD5FC 3C01800B */ lui $at, 0x800b +/* 31E370 802BD600 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 31E374 802BD604 0C00A6C9 */ jal clamp_angle +/* 31E378 802BD608 460C0300 */ add.s $f12, $f0, $f12 +/* 31E37C 802BD60C 3C02802C */ lui $v0, 0x802c +/* 31E380 802BD610 2442FEF8 */ addiu $v0, $v0, -0x108 +/* 31E384 802BD614 C4420000 */ lwc1 $f2, ($v0) +/* 31E388 802BD618 C7A40024 */ lwc1 $f4, 0x24($sp) +/* 31E38C 802BD61C 4604103E */ c.le.s $f2, $f4 +/* 31E390 802BD620 00000000 */ nop +/* 31E394 802BD624 4500000A */ bc1f .L802BD650 +/* 31E398 802BD628 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31E39C 802BD62C 46022001 */ sub.s $f0, $f4, $f2 +/* 31E3A0 802BD630 46140003 */ div.s $f0, $f0, $f20 +/* 31E3A4 802BD634 46001000 */ add.s $f0, $f2, $f0 +/* 31E3A8 802BD638 4600203C */ c.lt.s $f4, $f0 +/* 31E3AC 802BD63C 00000000 */ nop +/* 31E3B0 802BD640 45000007 */ bc1f .L802BD660 +/* 31E3B4 802BD644 E4400000 */ swc1 $f0, ($v0) +/* 31E3B8 802BD648 080AF598 */ j .L802BD660 +/* 31E3BC 802BD64C E4440000 */ swc1 $f4, ($v0) +.L802BD650: +/* 31E3C0 802BD650 46022001 */ sub.s $f0, $f4, $f2 +/* 31E3C4 802BD654 46140003 */ div.s $f0, $f0, $f20 +/* 31E3C8 802BD658 46001000 */ add.s $f0, $f2, $f0 +/* 31E3CC 802BD65C E4400000 */ swc1 $f0, ($v0) +.L802BD660: +/* 31E3D0 802BD660 27A50028 */ addiu $a1, $sp, 0x28 +/* 31E3D4 802BD664 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 31E3D8 802BD668 3C0140C9 */ lui $at, 0x40c9 +/* 31E3DC 802BD66C 34210FD0 */ ori $at, $at, 0xfd0 +/* 31E3E0 802BD670 44816000 */ mtc1 $at, $f12 +/* 31E3E4 802BD674 3C01802C */ lui $at, 0x802c +/* 31E3E8 802BD678 C420FEF8 */ lwc1 $f0, -0x108($at) +/* 31E3EC 802BD67C 460C2302 */ mul.s $f12, $f4, $f12 +/* 31E3F0 802BD680 00000000 */ nop +/* 31E3F4 802BD684 3C0143B4 */ lui $at, 0x43b4 +/* 31E3F8 802BD688 44811000 */ mtc1 $at, $f2 +/* 31E3FC 802BD68C 27A6002C */ addiu $a2, $sp, 0x2c +/* 31E400 802BD690 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31E404 802BD694 3C01802C */ lui $at, 0x802c +/* 31E408 802BD698 E424FEFC */ swc1 $f4, -0x104($at) +/* 31E40C 802BD69C 0C00A82D */ jal sin_cos_rad +/* 31E410 802BD6A0 46026303 */ div.s $f12, $f12, $f2 +/* 31E414 802BD6A4 C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31E418 802BD6A8 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 31E41C 802BD6AC 46020082 */ mul.s $f2, $f0, $f2 +/* 31E420 802BD6B0 00000000 */ nop +/* 31E424 802BD6B4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 31E428 802BD6B8 46000007 */ neg.s $f0, $f0 +/* 31E42C 802BD6BC 46040002 */ mul.s $f0, $f0, $f4 +/* 31E430 802BD6C0 00000000 */ nop +/* 31E434 802BD6C4 3C03802C */ lui $v1, 0x802c +/* 31E438 802BD6C8 2463FF00 */ addiu $v1, $v1, -0x100 +/* 31E43C 802BD6CC 3C02802C */ lui $v0, 0x802c +/* 31E440 802BD6D0 2442FF04 */ addiu $v0, $v0, -0xfc +/* 31E444 802BD6D4 C4640000 */ lwc1 $f4, ($v1) +/* 31E448 802BD6D8 46141083 */ div.s $f2, $f2, $f20 +/* 31E44C 802BD6DC 46022100 */ add.s $f4, $f4, $f2 +/* 31E450 802BD6E0 C4420000 */ lwc1 $f2, ($v0) +/* 31E454 802BD6E4 46140003 */ div.s $f0, $f0, $f20 +/* 31E458 802BD6E8 46001080 */ add.s $f2, $f2, $f0 +/* 31E45C 802BD6EC E4640000 */ swc1 $f4, ($v1) +/* 31E460 802BD6F0 080AF5EB */ j .L802BD7AC +/* 31E464 802BD6F4 E4420000 */ swc1 $f2, ($v0) +.L802BD6F8: +/* 31E468 802BD6F8 3C02802C */ lui $v0, 0x802c +/* 31E46C 802BD6FC 2442FEF8 */ addiu $v0, $v0, -0x108 +/* 31E470 802BD700 C4400000 */ lwc1 $f0, ($v0) +/* 31E474 802BD704 3C01802C */ lui $at, 0x802c +/* 31E478 802BD708 D422FE50 */ ldc1 $f2, -0x1b0($at) +/* 31E47C 802BD70C 46000021 */ cvt.d.s $f0, $f0 +/* 31E480 802BD710 46220001 */ sub.d $f0, $f0, $f2 +/* 31E484 802BD714 46200020 */ cvt.s.d $f0, $f0 +/* 31E488 802BD718 4606003C */ c.lt.s $f0, $f6 +/* 31E48C 802BD71C 00000000 */ nop +/* 31E490 802BD720 45000006 */ bc1f .L802BD73C +/* 31E494 802BD724 E4400000 */ swc1 $f0, ($v0) +/* 31E498 802BD728 E4460000 */ swc1 $f6, ($v0) +/* 31E49C 802BD72C 3C01802C */ lui $at, 0x802c +/* 31E4A0 802BD730 E426FDBC */ swc1 $f6, -0x244($at) +/* 31E4A4 802BD734 3C01802C */ lui $at, 0x802c +/* 31E4A8 802BD738 E426FDB8 */ swc1 $f6, -0x248($at) +.L802BD73C: +/* 31E4AC 802BD73C 27A50028 */ addiu $a1, $sp, 0x28 +/* 31E4B0 802BD740 3C01802C */ lui $at, 0x802c +/* 31E4B4 802BD744 C424FEFC */ lwc1 $f4, -0x104($at) +/* 31E4B8 802BD748 3C0140C9 */ lui $at, 0x40c9 +/* 31E4BC 802BD74C 34210FD0 */ ori $at, $at, 0xfd0 +/* 31E4C0 802BD750 44816000 */ mtc1 $at, $f12 +/* 31E4C4 802BD754 C4400000 */ lwc1 $f0, ($v0) +/* 31E4C8 802BD758 460C2302 */ mul.s $f12, $f4, $f12 +/* 31E4CC 802BD75C 00000000 */ nop +/* 31E4D0 802BD760 3C0143B4 */ lui $at, 0x43b4 +/* 31E4D4 802BD764 44811000 */ mtc1 $at, $f2 +/* 31E4D8 802BD768 27A6002C */ addiu $a2, $sp, 0x2c +/* 31E4DC 802BD76C E7A00024 */ swc1 $f0, 0x24($sp) +/* 31E4E0 802BD770 E7A40020 */ swc1 $f4, 0x20($sp) +/* 31E4E4 802BD774 0C00A82D */ jal sin_cos_rad +/* 31E4E8 802BD778 46026303 */ div.s $f12, $f12, $f2 +/* 31E4EC 802BD77C C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31E4F0 802BD780 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 31E4F4 802BD784 46020082 */ mul.s $f2, $f0, $f2 +/* 31E4F8 802BD788 00000000 */ nop +/* 31E4FC 802BD78C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 31E500 802BD790 46000007 */ neg.s $f0, $f0 +/* 31E504 802BD794 46040002 */ mul.s $f0, $f0, $f4 +/* 31E508 802BD798 00000000 */ nop +/* 31E50C 802BD79C 3C01802C */ lui $at, 0x802c +/* 31E510 802BD7A0 E422FF00 */ swc1 $f2, -0x100($at) +/* 31E514 802BD7A4 3C01802C */ lui $at, 0x802c +/* 31E518 802BD7A8 E420FF04 */ swc1 $f0, -0xfc($at) +.L802BD7AC: +/* 31E51C 802BD7AC C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31E520 802BD7B0 44800000 */ mtc1 $zero, $f0 +/* 31E524 802BD7B4 00000000 */ nop +/* 31E528 802BD7B8 46001032 */ c.eq.s $f2, $f0 +/* 31E52C 802BD7BC 00000000 */ nop +/* 31E530 802BD7C0 450100D6 */ bc1t .L802BDB1C +/* 31E534 802BD7C4 E6020018 */ swc1 $f2, 0x18($s0) +/* 31E538 802BD7C8 860200A8 */ lh $v0, 0xa8($s0) +/* 31E53C 802BD7CC 3C013F00 */ lui $at, 0x3f00 +/* 31E540 802BD7D0 44810000 */ mtc1 $at, $f0 +/* 31E544 802BD7D4 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 31E548 802BD7D8 C6080038 */ lwc1 $f8, 0x38($s0) +/* 31E54C 802BD7DC 44823000 */ mtc1 $v0, $f6 +/* 31E550 802BD7E0 00000000 */ nop +/* 31E554 802BD7E4 468031A0 */ cvt.s.w $f6, $f6 +/* 31E558 802BD7E8 46003182 */ mul.s $f6, $f6, $f0 +/* 31E55C 802BD7EC 00000000 */ nop +/* 31E560 802BD7F0 E60A000C */ swc1 $f10, 0xc($s0) +/* 31E564 802BD7F4 868200B0 */ lh $v0, 0xb0($s4) +/* 31E568 802BD7F8 3C013F4C */ lui $at, 0x3f4c +/* 31E56C 802BD7FC 3421CCCD */ ori $at, $at, 0xcccd +/* 31E570 802BD800 44810000 */ mtc1 $at, $f0 +/* 31E574 802BD804 44821000 */ mtc1 $v0, $f2 +/* 31E578 802BD808 00000000 */ nop +/* 31E57C 802BD80C 468010A0 */ cvt.s.w $f2, $f2 +/* 31E580 802BD810 46001082 */ mul.s $f2, $f2, $f0 +/* 31E584 802BD814 00000000 */ nop +/* 31E588 802BD818 3C01C0C0 */ lui $at, 0xc0c0 +/* 31E58C 802BD81C 44812000 */ mtc1 $at, $f4 +/* 31E590 802BD820 C6000064 */ lwc1 $f0, 0x64($s0) +/* 31E594 802BD824 27A50030 */ addiu $a1, $sp, 0x30 +/* 31E598 802BD828 E7A80030 */ swc1 $f8, 0x30($sp) +/* 31E59C 802BD82C 46040000 */ add.s $f0, $f0, $f4 +/* 31E5A0 802BD830 C6080018 */ lwc1 $f8, 0x18($s0) +/* 31E5A4 802BD834 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31E5A8 802BD838 46023180 */ add.s $f6, $f6, $f2 +/* 31E5AC 802BD83C E7A40038 */ swc1 $f4, 0x38($sp) +/* 31E5B0 802BD840 E7A00034 */ swc1 $f0, 0x34($sp) +/* 31E5B4 802BD844 E7A6003C */ swc1 $f6, 0x3c($sp) +/* 31E5B8 802BD848 E7A80010 */ swc1 $f8, 0x10($sp) +/* 31E5BC 802BD84C E7AA0014 */ swc1 $f10, 0x14($sp) +/* 31E5C0 802BD850 E7A60018 */ swc1 $f6, 0x18($sp) +/* 31E5C4 802BD854 860200A6 */ lh $v0, 0xa6($s0) +/* 31E5C8 802BD858 27A60034 */ addiu $a2, $sp, 0x34 +/* 31E5CC 802BD85C 44820000 */ mtc1 $v0, $f0 +/* 31E5D0 802BD860 00000000 */ nop +/* 31E5D4 802BD864 46800020 */ cvt.s.w $f0, $f0 +/* 31E5D8 802BD868 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31E5DC 802BD86C 8E040080 */ lw $a0, 0x80($s0) +/* 31E5E0 802BD870 0C0376B9 */ jal func_800DDAE4 +/* 31E5E4 802BD874 27A70038 */ addiu $a3, $sp, 0x38 +/* 31E5E8 802BD878 10400025 */ beqz $v0, .L802BD910 +/* 31E5EC 802BD87C 00000000 */ nop +/* 31E5F0 802BD880 3C028011 */ lui $v0, 0x8011 +/* 31E5F4 802BD884 2442C978 */ addiu $v0, $v0, -0x3688 +/* 31E5F8 802BD888 8C440000 */ lw $a0, ($v0) +/* 31E5FC 802BD88C 94420002 */ lhu $v0, 2($v0) +/* 31E600 802BD890 0C016F6A */ jal get_collider_type_by_id +/* 31E604 802BD894 A6220000 */ sh $v0, ($s1) +/* 31E608 802BD898 304200FF */ andi $v0, $v0, 0xff +/* 31E60C 802BD89C 24030004 */ addiu $v1, $zero, 4 +/* 31E610 802BD8A0 14430007 */ bne $v0, $v1, .L802BD8C0 +/* 31E614 802BD8A4 00000000 */ nop +/* 31E618 802BD8A8 3C03802C */ lui $v1, 0x802c +/* 31E61C 802BD8AC 2463FEF0 */ addiu $v1, $v1, -0x110 +/* 31E620 802BD8B0 8C620000 */ lw $v0, ($v1) +/* 31E624 802BD8B4 24420001 */ addiu $v0, $v0, 1 +/* 31E628 802BD8B8 080AF632 */ j .L802BD8C8 +/* 31E62C 802BD8BC AC620000 */ sw $v0, ($v1) +.L802BD8C0: +/* 31E630 802BD8C0 3C01802C */ lui $at, 0x802c +/* 31E634 802BD8C4 AC20FEF0 */ sw $zero, -0x110($at) +.L802BD8C8: +/* 31E638 802BD8C8 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 31E63C 802BD8CC C6060038 */ lwc1 $f6, 0x38($s0) +/* 31E640 802BD8D0 46062101 */ sub.s $f4, $f4, $f6 +/* 31E644 802BD8D4 3C013F00 */ lui $at, 0x3f00 +/* 31E648 802BD8D8 44814000 */ mtc1 $at, $f8 +/* 31E64C 802BD8DC 00000000 */ nop +/* 31E650 802BD8E0 46082102 */ mul.s $f4, $f4, $f8 +/* 31E654 802BD8E4 00000000 */ nop +/* 31E658 802BD8E8 C7A00038 */ lwc1 $f0, 0x38($sp) +/* 31E65C 802BD8EC C6020040 */ lwc1 $f2, 0x40($s0) +/* 31E660 802BD8F0 46020001 */ sub.s $f0, $f0, $f2 +/* 31E664 802BD8F4 46080002 */ mul.s $f0, $f0, $f8 +/* 31E668 802BD8F8 00000000 */ nop +/* 31E66C 802BD8FC 46043180 */ add.s $f6, $f6, $f4 +/* 31E670 802BD900 46001080 */ add.s $f2, $f2, $f0 +/* 31E674 802BD904 E6060038 */ swc1 $f6, 0x38($s0) +/* 31E678 802BD908 080AF64A */ j .L802BD928 +/* 31E67C 802BD90C E6020040 */ swc1 $f2, 0x40($s0) +.L802BD910: +/* 31E680 802BD910 8FA50024 */ lw $a1, 0x24($sp) +/* 31E684 802BD914 8FA60020 */ lw $a2, 0x20($sp) +/* 31E688 802BD918 0C00EA95 */ jal npc_move_heading +/* 31E68C 802BD91C 0200202D */ daddu $a0, $s0, $zero +/* 31E690 802BD920 2402FFFF */ addiu $v0, $zero, -1 +/* 31E694 802BD924 A6220000 */ sh $v0, ($s1) +.L802BD928: +/* 31E698 802BD928 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31E69C 802BD92C 3C0141F0 */ lui $at, 0x41f0 +/* 31E6A0 802BD930 4481D000 */ mtc1 $at, $f26 +/* 31E6A4 802BD934 3C014000 */ lui $at, 0x4000 +/* 31E6A8 802BD938 44810000 */ mtc1 $at, $f0 +/* 31E6AC 802BD93C 461A6301 */ sub.s $f12, $f12, $f26 +/* 31E6B0 802BD940 0C00A6C9 */ jal clamp_angle +/* 31E6B4 802BD944 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31E6B8 802BD948 27B30030 */ addiu $s3, $sp, 0x30 +/* 31E6BC 802BD94C 0260282D */ daddu $a1, $s3, $zero +/* 31E6C0 802BD950 27B20034 */ addiu $s2, $sp, 0x34 +/* 31E6C4 802BD954 860200A8 */ lh $v0, 0xa8($s0) +/* 31E6C8 802BD958 3C013F00 */ lui $at, 0x3f00 +/* 31E6CC 802BD95C 4481C000 */ mtc1 $at, $f24 +/* 31E6D0 802BD960 44824000 */ mtc1 $v0, $f8 +/* 31E6D4 802BD964 00000000 */ nop +/* 31E6D8 802BD968 46804220 */ cvt.s.w $f8, $f8 +/* 31E6DC 802BD96C 46184202 */ mul.s $f8, $f8, $f24 +/* 31E6E0 802BD970 00000000 */ nop +/* 31E6E4 802BD974 0240302D */ daddu $a2, $s2, $zero +/* 31E6E8 802BD978 868200B0 */ lh $v0, 0xb0($s4) +/* 31E6EC 802BD97C 3C013F4C */ lui $at, 0x3f4c +/* 31E6F0 802BD980 3421CCCD */ ori $at, $at, 0xcccd +/* 31E6F4 802BD984 4481A000 */ mtc1 $at, $f20 +/* 31E6F8 802BD988 44822000 */ mtc1 $v0, $f4 +/* 31E6FC 802BD98C 00000000 */ nop +/* 31E700 802BD990 46802120 */ cvt.s.w $f4, $f4 +/* 31E704 802BD994 46142102 */ mul.s $f4, $f4, $f20 +/* 31E708 802BD998 00000000 */ nop +/* 31E70C 802BD99C C6060038 */ lwc1 $f6, 0x38($s0) +/* 31E710 802BD9A0 C6020064 */ lwc1 $f2, 0x64($s0) +/* 31E714 802BD9A4 3C01C0C0 */ lui $at, 0xc0c0 +/* 31E718 802BD9A8 4481B000 */ mtc1 $at, $f22 +/* 31E71C 802BD9AC C7AA0024 */ lwc1 $f10, 0x24($sp) +/* 31E720 802BD9B0 46161080 */ add.s $f2, $f2, $f22 +/* 31E724 802BD9B4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31E728 802BD9B8 E7A60030 */ swc1 $f6, 0x30($sp) +/* 31E72C 802BD9BC C6060040 */ lwc1 $f6, 0x40($s0) +/* 31E730 802BD9C0 46044200 */ add.s $f8, $f8, $f4 +/* 31E734 802BD9C4 E7A60038 */ swc1 $f6, 0x38($sp) +/* 31E738 802BD9C8 E7A20034 */ swc1 $f2, 0x34($sp) +/* 31E73C 802BD9CC E7A8003C */ swc1 $f8, 0x3c($sp) +/* 31E740 802BD9D0 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 31E744 802BD9D4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31E748 802BD9D8 E7A80018 */ swc1 $f8, 0x18($sp) +/* 31E74C 802BD9DC 860200A6 */ lh $v0, 0xa6($s0) +/* 31E750 802BD9E0 27B10038 */ addiu $s1, $sp, 0x38 +/* 31E754 802BD9E4 44820000 */ mtc1 $v0, $f0 +/* 31E758 802BD9E8 00000000 */ nop +/* 31E75C 802BD9EC 46800020 */ cvt.s.w $f0, $f0 +/* 31E760 802BD9F0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31E764 802BD9F4 8E040080 */ lw $a0, 0x80($s0) +/* 31E768 802BD9F8 0C0376B9 */ jal func_800DDAE4 +/* 31E76C 802BD9FC 0220382D */ daddu $a3, $s1, $zero +/* 31E770 802BDA00 1040000F */ beqz $v0, .L802BDA40 +/* 31E774 802BDA04 00000000 */ nop +/* 31E778 802BDA08 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 31E77C 802BDA0C C6060038 */ lwc1 $f6, 0x38($s0) +/* 31E780 802BDA10 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 31E784 802BDA14 46060001 */ sub.s $f0, $f0, $f6 +/* 31E788 802BDA18 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31E78C 802BDA1C 3C0140A0 */ lui $at, 0x40a0 +/* 31E790 802BDA20 44814000 */ mtc1 $at, $f8 +/* 31E794 802BDA24 46041081 */ sub.s $f2, $f2, $f4 +/* 31E798 802BDA28 46080003 */ div.s $f0, $f0, $f8 +/* 31E79C 802BDA2C 46003180 */ add.s $f6, $f6, $f0 +/* 31E7A0 802BDA30 46081083 */ div.s $f2, $f2, $f8 +/* 31E7A4 802BDA34 46022100 */ add.s $f4, $f4, $f2 +/* 31E7A8 802BDA38 E6060038 */ swc1 $f6, 0x38($s0) +/* 31E7AC 802BDA3C E6040040 */ swc1 $f4, 0x40($s0) +.L802BDA40: +/* 31E7B0 802BDA40 C60C000C */ lwc1 $f12, 0xc($s0) +/* 31E7B4 802BDA44 0C00A6C9 */ jal clamp_angle +/* 31E7B8 802BDA48 461A6300 */ add.s $f12, $f12, $f26 +/* 31E7BC 802BDA4C 860200A8 */ lh $v0, 0xa8($s0) +/* 31E7C0 802BDA50 44823000 */ mtc1 $v0, $f6 +/* 31E7C4 802BDA54 00000000 */ nop +/* 31E7C8 802BDA58 468031A0 */ cvt.s.w $f6, $f6 +/* 31E7CC 802BDA5C 46183182 */ mul.s $f6, $f6, $f24 +/* 31E7D0 802BDA60 00000000 */ nop +/* 31E7D4 802BDA64 868200B0 */ lh $v0, 0xb0($s4) +/* 31E7D8 802BDA68 44822000 */ mtc1 $v0, $f4 +/* 31E7DC 802BDA6C 00000000 */ nop +/* 31E7E0 802BDA70 46802120 */ cvt.s.w $f4, $f4 +/* 31E7E4 802BDA74 46142102 */ mul.s $f4, $f4, $f20 +/* 31E7E8 802BDA78 00000000 */ nop +/* 31E7EC 802BDA7C 0260282D */ daddu $a1, $s3, $zero +/* 31E7F0 802BDA80 C6080038 */ lwc1 $f8, 0x38($s0) +/* 31E7F4 802BDA84 C6020064 */ lwc1 $f2, 0x64($s0) +/* 31E7F8 802BDA88 C7AA0024 */ lwc1 $f10, 0x24($sp) +/* 31E7FC 802BDA8C 46161080 */ add.s $f2, $f2, $f22 +/* 31E800 802BDA90 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31E804 802BDA94 E7A80030 */ swc1 $f8, 0x30($sp) +/* 31E808 802BDA98 C6080040 */ lwc1 $f8, 0x40($s0) +/* 31E80C 802BDA9C 46043180 */ add.s $f6, $f6, $f4 +/* 31E810 802BDAA0 E7A80038 */ swc1 $f8, 0x38($sp) +/* 31E814 802BDAA4 E7A20034 */ swc1 $f2, 0x34($sp) +/* 31E818 802BDAA8 E7A6003C */ swc1 $f6, 0x3c($sp) +/* 31E81C 802BDAAC E7AA0010 */ swc1 $f10, 0x10($sp) +/* 31E820 802BDAB0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31E824 802BDAB4 E7A60018 */ swc1 $f6, 0x18($sp) +/* 31E828 802BDAB8 860200A6 */ lh $v0, 0xa6($s0) +/* 31E82C 802BDABC 0240302D */ daddu $a2, $s2, $zero +/* 31E830 802BDAC0 44820000 */ mtc1 $v0, $f0 +/* 31E834 802BDAC4 00000000 */ nop +/* 31E838 802BDAC8 46800020 */ cvt.s.w $f0, $f0 +/* 31E83C 802BDACC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31E840 802BDAD0 8E040080 */ lw $a0, 0x80($s0) +/* 31E844 802BDAD4 0C0376B9 */ jal func_800DDAE4 +/* 31E848 802BDAD8 0220382D */ daddu $a3, $s1, $zero +/* 31E84C 802BDADC 1040000F */ beqz $v0, .L802BDB1C +/* 31E850 802BDAE0 00000000 */ nop +/* 31E854 802BDAE4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 31E858 802BDAE8 C6060038 */ lwc1 $f6, 0x38($s0) +/* 31E85C 802BDAEC C7A20038 */ lwc1 $f2, 0x38($sp) +/* 31E860 802BDAF0 46060001 */ sub.s $f0, $f0, $f6 +/* 31E864 802BDAF4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31E868 802BDAF8 3C0140A0 */ lui $at, 0x40a0 +/* 31E86C 802BDAFC 44814000 */ mtc1 $at, $f8 +/* 31E870 802BDB00 46041081 */ sub.s $f2, $f2, $f4 +/* 31E874 802BDB04 46080003 */ div.s $f0, $f0, $f8 +/* 31E878 802BDB08 46003180 */ add.s $f6, $f6, $f0 +/* 31E87C 802BDB0C 46081083 */ div.s $f2, $f2, $f8 +/* 31E880 802BDB10 46022100 */ add.s $f4, $f4, $f2 +/* 31E884 802BDB14 E6060038 */ swc1 $f6, 0x38($s0) +/* 31E888 802BDB18 E6040040 */ swc1 $f4, 0x40($s0) +.L802BDB1C: +/* 31E88C 802BDB1C 3C11802C */ lui $s1, 0x802c +/* 31E890 802BDB20 2631FEE4 */ addiu $s1, $s1, -0x11c +/* 31E894 802BDB24 8E220000 */ lw $v0, ($s1) +/* 31E898 802BDB28 1440002C */ bnez $v0, .L802BDBDC +/* 31E89C 802BDB2C 00000000 */ nop +/* 31E8A0 802BDB30 C600000C */ lwc1 $f0, 0xc($s0) +/* 31E8A4 802BDB34 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31E8A8 802BDB38 860200A6 */ lh $v0, 0xa6($s0) +/* 31E8AC 802BDB3C 3C013F00 */ lui $at, 0x3f00 +/* 31E8B0 802BDB40 4481A000 */ mtc1 $at, $f20 +/* 31E8B4 802BDB44 44820000 */ mtc1 $v0, $f0 +/* 31E8B8 802BDB48 00000000 */ nop +/* 31E8BC 802BDB4C 46800020 */ cvt.s.w $f0, $f0 +/* 31E8C0 802BDB50 46140002 */ mul.s $f0, $f0, $f20 +/* 31E8C4 802BDB54 00000000 */ nop +/* 31E8C8 802BDB58 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31E8CC 802BDB5C 8E040080 */ lw $a0, 0x80($s0) +/* 31E8D0 802BDB60 8E050038 */ lw $a1, 0x38($s0) +/* 31E8D4 802BDB64 8E06003C */ lw $a2, 0x3c($s0) +/* 31E8D8 802BDB68 0C0AF4DA */ jal func_802BD368 +/* 31E8DC 802BDB6C 8E070040 */ lw $a3, 0x40($s0) +/* 31E8E0 802BDB70 8E220000 */ lw $v0, ($s1) +/* 31E8E4 802BDB74 14400019 */ bnez $v0, .L802BDBDC +/* 31E8E8 802BDB78 00000000 */ nop +/* 31E8EC 802BDB7C 860200A8 */ lh $v0, 0xa8($s0) +/* 31E8F0 802BDB80 44820000 */ mtc1 $v0, $f0 +/* 31E8F4 802BDB84 00000000 */ nop +/* 31E8F8 802BDB88 46800020 */ cvt.s.w $f0, $f0 +/* 31E8FC 802BDB8C 46140002 */ mul.s $f0, $f0, $f20 +/* 31E900 802BDB90 00000000 */ nop +/* 31E904 802BDB94 3C01802C */ lui $at, 0x802c +/* 31E908 802BDB98 C422FEE0 */ lwc1 $f2, -0x120($at) +/* 31E90C 802BDB9C 46001081 */ sub.s $f2, $f2, $f0 +/* 31E910 802BDBA0 3C014040 */ lui $at, 0x4040 +/* 31E914 802BDBA4 44810000 */ mtc1 $at, $f0 +/* 31E918 802BDBA8 00000000 */ nop +/* 31E91C 802BDBAC E6000018 */ swc1 $f0, 0x18($s0) +/* 31E920 802BDBB0 E6020064 */ swc1 $f2, 0x64($s0) +/* 31E924 802BDBB4 8EA2000C */ lw $v0, 0xc($s5) +/* 31E928 802BDBB8 3C01802C */ lui $at, 0x802c +/* 31E92C 802BDBBC AC20FEE8 */ sw $zero, -0x118($at) +/* 31E930 802BDBC0 30420004 */ andi $v0, $v0, 4 +/* 31E934 802BDBC4 104001A1 */ beqz $v0, .L802BE24C +/* 31E938 802BDBC8 24020001 */ addiu $v0, $zero, 1 +/* 31E93C 802BDBCC 3C014000 */ lui $at, 0x4000 +/* 31E940 802BDBD0 44810000 */ mtc1 $at, $f0 +/* 31E944 802BDBD4 AE220000 */ sw $v0, ($s1) +/* 31E948 802BDBD8 E6000018 */ swc1 $f0, 0x18($s0) +.L802BDBDC: +/* 31E94C 802BDBDC 3C04802C */ lui $a0, 0x802c +/* 31E950 802BDBE0 2484FEE4 */ addiu $a0, $a0, -0x11c +/* 31E954 802BDBE4 8C830000 */ lw $v1, ($a0) +/* 31E958 802BDBE8 24020001 */ addiu $v0, $zero, 1 +/* 31E95C 802BDBEC 1462000A */ bne $v1, $v0, .L802BDC18 +/* 31E960 802BDBF0 00000000 */ nop +/* 31E964 802BDBF4 8EA20008 */ lw $v0, 8($s5) +/* 31E968 802BDBF8 30420004 */ andi $v0, $v0, 4 +/* 31E96C 802BDBFC 10400006 */ beqz $v0, .L802BDC18 +/* 31E970 802BDC00 00000000 */ nop +/* 31E974 802BDC04 3C02802C */ lui $v0, 0x802c +/* 31E978 802BDC08 8C42FEE8 */ lw $v0, -0x118($v0) +/* 31E97C 802BDC0C 14400002 */ bnez $v0, .L802BDC18 +/* 31E980 802BDC10 24020002 */ addiu $v0, $zero, 2 +/* 31E984 802BDC14 AC820000 */ sw $v0, ($a0) +.L802BDC18: +/* 31E988 802BDC18 3C03802C */ lui $v1, 0x802c +/* 31E98C 802BDC1C 2463FEE8 */ addiu $v1, $v1, -0x118 +/* 31E990 802BDC20 8C620000 */ lw $v0, ($v1) +/* 31E994 802BDC24 24420001 */ addiu $v0, $v0, 1 +/* 31E998 802BDC28 AC620000 */ sw $v0, ($v1) +/* 31E99C 802BDC2C 3C03802C */ lui $v1, 0x802c +/* 31E9A0 802BDC30 8C63FEE4 */ lw $v1, -0x11c($v1) +/* 31E9A4 802BDC34 24020002 */ addiu $v0, $zero, 2 +/* 31E9A8 802BDC38 146200B1 */ bne $v1, $v0, .L802BDF00 +/* 31E9AC 802BDC3C 27A50030 */ addiu $a1, $sp, 0x30 +/* 31E9B0 802BDC40 C6000038 */ lwc1 $f0, 0x38($s0) +/* 31E9B4 802BDC44 C602003C */ lwc1 $f2, 0x3c($s0) +/* 31E9B8 802BDC48 C6040040 */ lwc1 $f4, 0x40($s0) +/* 31E9BC 802BDC4C 860200A8 */ lh $v0, 0xa8($s0) +/* 31E9C0 802BDC50 E7A00030 */ swc1 $f0, 0x30($sp) +/* 31E9C4 802BDC54 44820000 */ mtc1 $v0, $f0 +/* 31E9C8 802BDC58 00000000 */ nop +/* 31E9CC 802BDC5C 46800020 */ cvt.s.w $f0, $f0 +/* 31E9D0 802BDC60 27A2003C */ addiu $v0, $sp, 0x3c +/* 31E9D4 802BDC64 E7A20034 */ swc1 $f2, 0x34($sp) +/* 31E9D8 802BDC68 E7A40038 */ swc1 $f4, 0x38($sp) +/* 31E9DC 802BDC6C E7A0003C */ swc1 $f0, 0x3c($sp) +/* 31E9E0 802BDC70 AFA20010 */ sw $v0, 0x10($sp) +/* 31E9E4 802BDC74 C600000C */ lwc1 $f0, 0xc($s0) +/* 31E9E8 802BDC78 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31E9EC 802BDC7C 860200A6 */ lh $v0, 0xa6($s0) +/* 31E9F0 802BDC80 27A60034 */ addiu $a2, $sp, 0x34 +/* 31E9F4 802BDC84 44820000 */ mtc1 $v0, $f0 +/* 31E9F8 802BDC88 00000000 */ nop +/* 31E9FC 802BDC8C 46800020 */ cvt.s.w $f0, $f0 +/* 31EA00 802BDC90 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31EA04 802BDC94 8E040080 */ lw $a0, 0x80($s0) +/* 31EA08 802BDC98 0C0371DE */ jal func_800DC778 +/* 31EA0C 802BDC9C 27A70038 */ addiu $a3, $sp, 0x38 +/* 31EA10 802BDCA0 1040001D */ beqz $v0, .L802BDD18 +/* 31EA14 802BDCA4 00000000 */ nop +/* 31EA18 802BDCA8 868200B0 */ lh $v0, 0xb0($s4) +/* 31EA1C 802BDCAC 3C01802C */ lui $at, 0x802c +/* 31EA20 802BDCB0 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EA24 802BDCB4 00021040 */ sll $v0, $v0, 1 +/* 31EA28 802BDCB8 44821000 */ mtc1 $v0, $f2 +/* 31EA2C 802BDCBC 00000000 */ nop +/* 31EA30 802BDCC0 468010A0 */ cvt.s.w $f2, $f2 +/* 31EA34 802BDCC4 46020001 */ sub.s $f0, $f0, $f2 +/* 31EA38 802BDCC8 C6040064 */ lwc1 $f4, 0x64($s0) +/* 31EA3C 802BDCCC 46040001 */ sub.s $f0, $f0, $f4 +/* 31EA40 802BDCD0 3C013DCC */ lui $at, 0x3dcc +/* 31EA44 802BDCD4 3421CCCD */ ori $at, $at, 0xcccd +/* 31EA48 802BDCD8 44811000 */ mtc1 $at, $f2 +/* 31EA4C 802BDCDC 00000000 */ nop +/* 31EA50 802BDCE0 46020502 */ mul.s $f20, $f0, $f2 +/* 31EA54 802BDCE4 00000000 */ nop +/* 31EA58 802BDCE8 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 31EA5C 802BDCEC 46142100 */ add.s $f4, $f4, $f20 +/* 31EA60 802BDCF0 3C0140A0 */ lui $at, 0x40a0 +/* 31EA64 802BDCF4 44810000 */ mtc1 $at, $f0 +/* 31EA68 802BDCF8 00000000 */ nop +/* 31EA6C 802BDCFC 46001080 */ add.s $f2, $f2, $f0 +/* 31EA70 802BDD00 4602203C */ c.lt.s $f4, $f2 +/* 31EA74 802BDD04 00000000 */ nop +/* 31EA78 802BDD08 45000015 */ bc1f .L802BDD60 +/* 31EA7C 802BDD0C E6040064 */ swc1 $f4, 0x64($s0) +/* 31EA80 802BDD10 080AF758 */ j .L802BDD60 +/* 31EA84 802BDD14 E6020064 */ swc1 $f2, 0x64($s0) +.L802BDD18: +/* 31EA88 802BDD18 868200B0 */ lh $v0, 0xb0($s4) +/* 31EA8C 802BDD1C 3C01802C */ lui $at, 0x802c +/* 31EA90 802BDD20 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EA94 802BDD24 00021040 */ sll $v0, $v0, 1 +/* 31EA98 802BDD28 44821000 */ mtc1 $v0, $f2 +/* 31EA9C 802BDD2C 00000000 */ nop +/* 31EAA0 802BDD30 468010A0 */ cvt.s.w $f2, $f2 +/* 31EAA4 802BDD34 46020001 */ sub.s $f0, $f0, $f2 +/* 31EAA8 802BDD38 C6020064 */ lwc1 $f2, 0x64($s0) +/* 31EAAC 802BDD3C 46020001 */ sub.s $f0, $f0, $f2 +/* 31EAB0 802BDD40 3C013DCC */ lui $at, 0x3dcc +/* 31EAB4 802BDD44 3421CCCD */ ori $at, $at, 0xcccd +/* 31EAB8 802BDD48 44812000 */ mtc1 $at, $f4 +/* 31EABC 802BDD4C 00000000 */ nop +/* 31EAC0 802BDD50 46040502 */ mul.s $f20, $f0, $f4 +/* 31EAC4 802BDD54 00000000 */ nop +/* 31EAC8 802BDD58 46141080 */ add.s $f2, $f2, $f20 +/* 31EACC 802BDD5C E6020064 */ swc1 $f2, 0x64($s0) +.L802BDD60: +/* 31EAD0 802BDD60 3C022AAA */ lui $v0, 0x2aaa +/* 31EAD4 802BDD64 3C11802C */ lui $s1, 0x802c +/* 31EAD8 802BDD68 2631FEE8 */ addiu $s1, $s1, -0x118 +/* 31EADC 802BDD6C 8E240000 */ lw $a0, ($s1) +/* 31EAE0 802BDD70 3442AAAB */ ori $v0, $v0, 0xaaab +/* 31EAE4 802BDD74 00820018 */ mult $a0, $v0 +/* 31EAE8 802BDD78 00041FC3 */ sra $v1, $a0, 0x1f +/* 31EAEC 802BDD7C 00004010 */ mfhi $t0 +/* 31EAF0 802BDD80 01031823 */ subu $v1, $t0, $v1 +/* 31EAF4 802BDD84 00031040 */ sll $v0, $v1, 1 +/* 31EAF8 802BDD88 00431021 */ addu $v0, $v0, $v1 +/* 31EAFC 802BDD8C 00021040 */ sll $v0, $v0, 1 +/* 31EB00 802BDD90 14820015 */ bne $a0, $v0, .L802BDDE8 +/* 31EB04 802BDD94 00000000 */ nop +/* 31EB08 802BDD98 860200A8 */ lh $v0, 0xa8($s0) +/* 31EB0C 802BDD9C 3C013F00 */ lui $at, 0x3f00 +/* 31EB10 802BDDA0 44810000 */ mtc1 $at, $f0 +/* 31EB14 802BDDA4 44821000 */ mtc1 $v0, $f2 +/* 31EB18 802BDDA8 00000000 */ nop +/* 31EB1C 802BDDAC 468010A0 */ cvt.s.w $f2, $f2 +/* 31EB20 802BDDB0 46001082 */ mul.s $f2, $f2, $f0 +/* 31EB24 802BDDB4 00000000 */ nop +/* 31EB28 802BDDB8 C6040064 */ lwc1 $f4, 0x64($s0) +/* 31EB2C 802BDDBC 3C01802C */ lui $at, 0x802c +/* 31EB30 802BDDC0 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EB34 802BDDC4 46040001 */ sub.s $f0, $f0, $f4 +/* 31EB38 802BDDC8 46022100 */ add.s $f4, $f4, $f2 +/* 31EB3C 802BDDCC 46020001 */ sub.s $f0, $f0, $f2 +/* 31EB40 802BDDD0 44062000 */ mfc1 $a2, $f4 +/* 31EB44 802BDDD4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31EB48 802BDDD8 8E050038 */ lw $a1, 0x38($s0) +/* 31EB4C 802BDDDC 8E070040 */ lw $a3, 0x40($s0) +/* 31EB50 802BDDE0 0C01C16C */ jal func_800705B0 +/* 31EB54 802BDDE4 0000202D */ daddu $a0, $zero, $zero +.L802BDDE8: +/* 31EB58 802BDDE8 8E220000 */ lw $v0, ($s1) +/* 31EB5C 802BDDEC 24110001 */ addiu $s1, $zero, 1 +/* 31EB60 802BDDF0 14510007 */ bne $v0, $s1, .L802BDE10 +/* 31EB64 802BDDF4 00000000 */ nop +/* 31EB68 802BDDF8 3C040008 */ lui $a0, 8 +/* 31EB6C 802BDDFC 0C037FDE */ jal func_800DFF78 +/* 31EB70 802BDE00 34840010 */ ori $a0, $a0, 0x10 +/* 31EB74 802BDE04 3C020007 */ lui $v0, 7 +/* 31EB78 802BDE08 3442000A */ ori $v0, $v0, 0xa +/* 31EB7C 802BDE0C AE020028 */ sw $v0, 0x28($s0) +.L802BDE10: +/* 31EB80 802BDE10 3C03802C */ lui $v1, 0x802c +/* 31EB84 802BDE14 2463FEF4 */ addiu $v1, $v1, -0x10c +/* 31EB88 802BDE18 8C620000 */ lw $v0, ($v1) +/* 31EB8C 802BDE1C 14400023 */ bnez $v0, .L802BDEAC +/* 31EB90 802BDE20 00000000 */ nop +/* 31EB94 802BDE24 868200B0 */ lh $v0, 0xb0($s4) +/* 31EB98 802BDE28 3C013F00 */ lui $at, 0x3f00 +/* 31EB9C 802BDE2C 44811000 */ mtc1 $at, $f2 +/* 31EBA0 802BDE30 44820000 */ mtc1 $v0, $f0 +/* 31EBA4 802BDE34 00000000 */ nop +/* 31EBA8 802BDE38 46800020 */ cvt.s.w $f0, $f0 +/* 31EBAC 802BDE3C 46020002 */ mul.s $f0, $f0, $f2 +/* 31EBB0 802BDE40 00000000 */ nop +/* 31EBB4 802BDE44 C682002C */ lwc1 $f2, 0x2c($s4) +/* 31EBB8 802BDE48 46001080 */ add.s $f2, $f2, $f0 +/* 31EBBC 802BDE4C 3C01802C */ lui $at, 0x802c +/* 31EBC0 802BDE50 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EBC4 802BDE54 4600103C */ c.lt.s $f2, $f0 +/* 31EBC8 802BDE58 00000000 */ nop +/* 31EBCC 802BDE5C 45000013 */ bc1f .L802BDEAC +/* 31EBD0 802BDE60 24050004 */ addiu $a1, $zero, 4 +/* 31EBD4 802BDE64 24060002 */ addiu $a2, $zero, 2 +/* 31EBD8 802BDE68 0000382D */ daddu $a3, $zero, $zero +/* 31EBDC 802BDE6C 8E8400A4 */ lw $a0, 0xa4($s4) +/* 31EBE0 802BDE70 2402000D */ addiu $v0, $zero, 0xd +/* 31EBE4 802BDE74 AC710000 */ sw $s1, ($v1) +/* 31EBE8 802BDE78 A28200BE */ sb $v0, 0xbe($s4) +/* 31EBEC 802BDE7C AFA00010 */ sw $zero, 0x10($sp) +/* 31EBF0 802BDE80 AFA00014 */ sw $zero, 0x14($sp) +/* 31EBF4 802BDE84 0C0B77FE */ jal func_802DDFF8 +/* 31EBF8 802BDE88 AFA00018 */ sw $zero, 0x18($sp) +/* 31EBFC 802BDE8C 0200202D */ daddu $a0, $s0, $zero +/* 31EC00 802BDE90 24050004 */ addiu $a1, $zero, 4 +/* 31EC04 802BDE94 24060002 */ addiu $a2, $zero, 2 +/* 31EC08 802BDE98 0000382D */ daddu $a3, $zero, $zero +/* 31EC0C 802BDE9C AFA00010 */ sw $zero, 0x10($sp) +/* 31EC10 802BDEA0 AFA00014 */ sw $zero, 0x14($sp) +/* 31EC14 802BDEA4 0C00F589 */ jal func_8003D624 +/* 31EC18 802BDEA8 AFA00018 */ sw $zero, 0x18($sp) +.L802BDEAC: +/* 31EC1C 802BDEAC 3C03802C */ lui $v1, 0x802c +/* 31EC20 802BDEB0 8C63FEE8 */ lw $v1, -0x118($v1) +/* 31EC24 802BDEB4 2862000A */ slti $v0, $v1, 0xa +/* 31EC28 802BDEB8 14400011 */ bnez $v0, .L802BDF00 +/* 31EC2C 802BDEBC 00000000 */ nop +/* 31EC30 802BDEC0 8EA20008 */ lw $v0, 8($s5) +/* 31EC34 802BDEC4 30420004 */ andi $v0, $v0, 4 +/* 31EC38 802BDEC8 10400003 */ beqz $v0, .L802BDED8 +/* 31EC3C 802BDECC 2862001E */ slti $v0, $v1, 0x1e +/* 31EC40 802BDED0 1440000B */ bnez $v0, .L802BDF00 +/* 31EC44 802BDED4 00000000 */ nop +.L802BDED8: +/* 31EC48 802BDED8 3C020007 */ lui $v0, 7 +/* 31EC4C 802BDEDC 3442000C */ ori $v0, $v0, 0xc +/* 31EC50 802BDEE0 24040694 */ addiu $a0, $zero, 0x694 +/* 31EC54 802BDEE4 0000282D */ daddu $a1, $zero, $zero +/* 31EC58 802BDEE8 2406FFFC */ addiu $a2, $zero, -4 +/* 31EC5C 802BDEEC 0C052742 */ jal play_sound_at_npc +/* 31EC60 802BDEF0 AE020028 */ sw $v0, 0x28($s0) +/* 31EC64 802BDEF4 24020003 */ addiu $v0, $zero, 3 +/* 31EC68 802BDEF8 3C01802C */ lui $at, 0x802c +/* 31EC6C 802BDEFC AC22FEE4 */ sw $v0, -0x11c($at) +.L802BDF00: +/* 31EC70 802BDF00 860200A8 */ lh $v0, 0xa8($s0) +/* 31EC74 802BDF04 C6020038 */ lwc1 $f2, 0x38($s0) +/* 31EC78 802BDF08 3C013F00 */ lui $at, 0x3f00 +/* 31EC7C 802BDF0C 4481A000 */ mtc1 $at, $f20 +/* 31EC80 802BDF10 44820000 */ mtc1 $v0, $f0 +/* 31EC84 802BDF14 00000000 */ nop +/* 31EC88 802BDF18 46800020 */ cvt.s.w $f0, $f0 +/* 31EC8C 802BDF1C 868200B0 */ lh $v0, 0xb0($s4) +/* 31EC90 802BDF20 46140002 */ mul.s $f0, $f0, $f20 +/* 31EC94 802BDF24 00000000 */ nop +/* 31EC98 802BDF28 E7A20030 */ swc1 $f2, 0x30($sp) +/* 31EC9C 802BDF2C C6040064 */ lwc1 $f4, 0x64($s0) +/* 31ECA0 802BDF30 C6060040 */ lwc1 $f6, 0x40($s0) +/* 31ECA4 802BDF34 44821000 */ mtc1 $v0, $f2 +/* 31ECA8 802BDF38 00000000 */ nop +/* 31ECAC 802BDF3C 468010A0 */ cvt.s.w $f2, $f2 +/* 31ECB0 802BDF40 27A2003C */ addiu $v0, $sp, 0x3c +/* 31ECB4 802BDF44 46020000 */ add.s $f0, $f0, $f2 +/* 31ECB8 802BDF48 E7A40034 */ swc1 $f4, 0x34($sp) +/* 31ECBC 802BDF4C E7A60038 */ swc1 $f6, 0x38($sp) +/* 31ECC0 802BDF50 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 31ECC4 802BDF54 AFA20010 */ sw $v0, 0x10($sp) +/* 31ECC8 802BDF58 C600000C */ lwc1 $f0, 0xc($s0) +/* 31ECCC 802BDF5C E7A00014 */ swc1 $f0, 0x14($sp) +/* 31ECD0 802BDF60 860200A6 */ lh $v0, 0xa6($s0) +/* 31ECD4 802BDF64 3C013E99 */ lui $at, 0x3e99 +/* 31ECD8 802BDF68 3421999A */ ori $at, $at, 0x999a +/* 31ECDC 802BDF6C 44811000 */ mtc1 $at, $f2 +/* 31ECE0 802BDF70 44820000 */ mtc1 $v0, $f0 +/* 31ECE4 802BDF74 00000000 */ nop +/* 31ECE8 802BDF78 46800020 */ cvt.s.w $f0, $f0 +/* 31ECEC 802BDF7C 46020002 */ mul.s $f0, $f0, $f2 +/* 31ECF0 802BDF80 00000000 */ nop +/* 31ECF4 802BDF84 27A50030 */ addiu $a1, $sp, 0x30 +/* 31ECF8 802BDF88 27A60034 */ addiu $a2, $sp, 0x34 +/* 31ECFC 802BDF8C E7A00018 */ swc1 $f0, 0x18($sp) +/* 31ED00 802BDF90 8E040080 */ lw $a0, 0x80($s0) +/* 31ED04 802BDF94 0C03748A */ jal func_800DD228 +/* 31ED08 802BDF98 27A70038 */ addiu $a3, $sp, 0x38 +/* 31ED0C 802BDF9C 04400039 */ bltz $v0, .L802BE084 +/* 31ED10 802BDFA0 24020003 */ addiu $v0, $zero, 3 +/* 31ED14 802BDFA4 860200A8 */ lh $v0, 0xa8($s0) +/* 31ED18 802BDFA8 44822000 */ mtc1 $v0, $f4 +/* 31ED1C 802BDFAC 00000000 */ nop +/* 31ED20 802BDFB0 46802120 */ cvt.s.w $f4, $f4 +/* 31ED24 802BDFB4 46142102 */ mul.s $f4, $f4, $f20 +/* 31ED28 802BDFB8 00000000 */ nop +/* 31ED2C 802BDFBC C6060064 */ lwc1 $f6, 0x64($s0) +/* 31ED30 802BDFC0 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 31ED34 802BDFC4 C7A2003C */ lwc1 $f2, 0x3c($sp) +/* 31ED38 802BDFC8 46003001 */ sub.s $f0, $f6, $f0 +/* 31ED3C 802BDFCC 3C04802C */ lui $a0, 0x802c +/* 31ED40 802BDFD0 8C84FEE8 */ lw $a0, -0x118($a0) +/* 31ED44 802BDFD4 868200B0 */ lh $v0, 0xb0($s4) +/* 31ED48 802BDFD8 46020000 */ add.s $f0, $f0, $f2 +/* 31ED4C 802BDFDC 44821000 */ mtc1 $v0, $f2 +/* 31ED50 802BDFE0 00000000 */ nop +/* 31ED54 802BDFE4 468010A0 */ cvt.s.w $f2, $f2 +/* 31ED58 802BDFE8 3C0238E3 */ lui $v0, 0x38e3 +/* 31ED5C 802BDFEC 34428E39 */ ori $v0, $v0, 0x8e39 +/* 31ED60 802BDFF0 00820018 */ mult $a0, $v0 +/* 31ED64 802BDFF4 46022100 */ add.s $f4, $f4, $f2 +/* 31ED68 802BDFF8 46040001 */ sub.s $f0, $f0, $f4 +/* 31ED6C 802BDFFC 3C013E4C */ lui $at, 0x3e4c +/* 31ED70 802BE000 3421CCCD */ ori $at, $at, 0xcccd +/* 31ED74 802BE004 44811000 */ mtc1 $at, $f2 +/* 31ED78 802BE008 00000000 */ nop +/* 31ED7C 802BE00C 46020002 */ mul.s $f0, $f0, $f2 +/* 31ED80 802BE010 00000000 */ nop +/* 31ED84 802BE014 000417C3 */ sra $v0, $a0, 0x1f +/* 31ED88 802BE018 00004010 */ mfhi $t0 +/* 31ED8C 802BE01C 00081843 */ sra $v1, $t0, 1 +/* 31ED90 802BE020 00621823 */ subu $v1, $v1, $v0 +/* 31ED94 802BE024 46003180 */ add.s $f6, $f6, $f0 +/* 31ED98 802BE028 000310C0 */ sll $v0, $v1, 3 +/* 31ED9C 802BE02C 00431021 */ addu $v0, $v0, $v1 +/* 31EDA0 802BE030 14820086 */ bne $a0, $v0, .L802BE24C +/* 31EDA4 802BE034 E6060064 */ swc1 $f6, 0x64($s0) +/* 31EDA8 802BE038 860200A8 */ lh $v0, 0xa8($s0) +/* 31EDAC 802BE03C 44821000 */ mtc1 $v0, $f2 +/* 31EDB0 802BE040 00000000 */ nop +/* 31EDB4 802BE044 468010A0 */ cvt.s.w $f2, $f2 +/* 31EDB8 802BE048 46141082 */ mul.s $f2, $f2, $f20 +/* 31EDBC 802BE04C 00000000 */ nop +/* 31EDC0 802BE050 3C01802C */ lui $at, 0x802c +/* 31EDC4 802BE054 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EDC8 802BE058 46060001 */ sub.s $f0, $f0, $f6 +/* 31EDCC 802BE05C 46023180 */ add.s $f6, $f6, $f2 +/* 31EDD0 802BE060 46020001 */ sub.s $f0, $f0, $f2 +/* 31EDD4 802BE064 44063000 */ mfc1 $a2, $f6 +/* 31EDD8 802BE068 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31EDDC 802BE06C 8E050038 */ lw $a1, 0x38($s0) +/* 31EDE0 802BE070 8E070040 */ lw $a3, 0x40($s0) +/* 31EDE4 802BE074 0C01C16C */ jal func_800705B0 +/* 31EDE8 802BE078 0000202D */ daddu $a0, $zero, $zero +/* 31EDEC 802BE07C 080AF893 */ j .L802BE24C +/* 31EDF0 802BE080 00000000 */ nop +.L802BE084: +/* 31EDF4 802BE084 3C12802C */ lui $s2, 0x802c +/* 31EDF8 802BE088 2652FEE4 */ addiu $s2, $s2, -0x11c +/* 31EDFC 802BE08C 8E430000 */ lw $v1, ($s2) +/* 31EE00 802BE090 1462006E */ bne $v1, $v0, .L802BE24C +/* 31EE04 802BE094 00000000 */ nop +/* 31EE08 802BE098 3C03802C */ lui $v1, 0x802c +/* 31EE0C 802BE09C 2463FF08 */ addiu $v1, $v1, -0xf8 +/* 31EE10 802BE0A0 C4600000 */ lwc1 $f0, ($v1) +/* 31EE14 802BE0A4 3C01802C */ lui $at, 0x802c +/* 31EE18 802BE0A8 D422FE58 */ ldc1 $f2, -0x1a8($at) +/* 31EE1C 802BE0AC 46000021 */ cvt.d.s $f0, $f0 +/* 31EE20 802BE0B0 46220000 */ add.d $f0, $f0, $f2 +/* 31EE24 802BE0B4 3C01802C */ lui $at, 0x802c +/* 31EE28 802BE0B8 D424FE60 */ ldc1 $f4, -0x1a0($at) +/* 31EE2C 802BE0BC 46200020 */ cvt.s.d $f0, $f0 +/* 31EE30 802BE0C0 460000A1 */ cvt.d.s $f2, $f0 +/* 31EE34 802BE0C4 4622203C */ c.lt.d $f4, $f2 +/* 31EE38 802BE0C8 00000000 */ nop +/* 31EE3C 802BE0CC 45000006 */ bc1f .L802BE0E8 +/* 31EE40 802BE0D0 E4600000 */ swc1 $f0, ($v1) +/* 31EE44 802BE0D4 3C013FE6 */ lui $at, 0x3fe6 +/* 31EE48 802BE0D8 34216666 */ ori $at, $at, 0x6666 +/* 31EE4C 802BE0DC 44810000 */ mtc1 $at, $f0 +/* 31EE50 802BE0E0 00000000 */ nop +/* 31EE54 802BE0E4 E4600000 */ swc1 $f0, ($v1) +.L802BE0E8: +/* 31EE58 802BE0E8 3C0238E3 */ lui $v0, 0x38e3 +/* 31EE5C 802BE0EC 3C04802C */ lui $a0, 0x802c +/* 31EE60 802BE0F0 8C84FEE8 */ lw $a0, -0x118($a0) +/* 31EE64 802BE0F4 34428E39 */ ori $v0, $v0, 0x8e39 +/* 31EE68 802BE0F8 00820018 */ mult $a0, $v0 +/* 31EE6C 802BE0FC C6020064 */ lwc1 $f2, 0x64($s0) +/* 31EE70 802BE100 C4600000 */ lwc1 $f0, ($v1) +/* 31EE74 802BE104 46001100 */ add.s $f4, $f2, $f0 +/* 31EE78 802BE108 000417C3 */ sra $v0, $a0, 0x1f +/* 31EE7C 802BE10C 00004010 */ mfhi $t0 +/* 31EE80 802BE110 00081843 */ sra $v1, $t0, 1 +/* 31EE84 802BE114 00621823 */ subu $v1, $v1, $v0 +/* 31EE88 802BE118 000310C0 */ sll $v0, $v1, 3 +/* 31EE8C 802BE11C 00431021 */ addu $v0, $v0, $v1 +/* 31EE90 802BE120 14820012 */ bne $a0, $v0, .L802BE16C +/* 31EE94 802BE124 E6040064 */ swc1 $f4, 0x64($s0) +/* 31EE98 802BE128 860200A8 */ lh $v0, 0xa8($s0) +/* 31EE9C 802BE12C 44821000 */ mtc1 $v0, $f2 +/* 31EEA0 802BE130 00000000 */ nop +/* 31EEA4 802BE134 468010A0 */ cvt.s.w $f2, $f2 +/* 31EEA8 802BE138 46141082 */ mul.s $f2, $f2, $f20 +/* 31EEAC 802BE13C 00000000 */ nop +/* 31EEB0 802BE140 3C01802C */ lui $at, 0x802c +/* 31EEB4 802BE144 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31EEB8 802BE148 46040001 */ sub.s $f0, $f0, $f4 +/* 31EEBC 802BE14C 46022100 */ add.s $f4, $f4, $f2 +/* 31EEC0 802BE150 46020001 */ sub.s $f0, $f0, $f2 +/* 31EEC4 802BE154 44062000 */ mfc1 $a2, $f4 +/* 31EEC8 802BE158 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31EECC 802BE15C 8E050038 */ lw $a1, 0x38($s0) +/* 31EED0 802BE160 8E070040 */ lw $a3, 0x40($s0) +/* 31EED4 802BE164 0C01C16C */ jal func_800705B0 +/* 31EED8 802BE168 0000202D */ daddu $a0, $zero, $zero +.L802BE16C: +/* 31EEDC 802BE16C 860200A8 */ lh $v0, 0xa8($s0) +/* 31EEE0 802BE170 44822000 */ mtc1 $v0, $f4 +/* 31EEE4 802BE174 00000000 */ nop +/* 31EEE8 802BE178 46802120 */ cvt.s.w $f4, $f4 +/* 31EEEC 802BE17C 46142102 */ mul.s $f4, $f4, $f20 +/* 31EEF0 802BE180 00000000 */ nop +/* 31EEF4 802BE184 3C11802C */ lui $s1, 0x802c +/* 31EEF8 802BE188 2631FEE0 */ addiu $s1, $s1, -0x120 +/* 31EEFC 802BE18C C6200000 */ lwc1 $f0, ($s1) +/* 31EF00 802BE190 C6020064 */ lwc1 $f2, 0x64($s0) +/* 31EF04 802BE194 46020001 */ sub.s $f0, $f0, $f2 +/* 31EF08 802BE198 46040001 */ sub.s $f0, $f0, $f4 +/* 31EF0C 802BE19C 44801000 */ mtc1 $zero, $f2 +/* 31EF10 802BE1A0 00000000 */ nop +/* 31EF14 802BE1A4 4602003E */ c.le.s $f0, $f2 +/* 31EF18 802BE1A8 00000000 */ nop +/* 31EF1C 802BE1AC 45000027 */ bc1f .L802BE24C +/* 31EF20 802BE1B0 00000000 */ nop +/* 31EF24 802BE1B4 3C03802C */ lui $v1, 0x802c +/* 31EF28 802BE1B8 2463FEF4 */ addiu $v1, $v1, -0x10c +/* 31EF2C 802BE1BC 8C620000 */ lw $v0, ($v1) +/* 31EF30 802BE1C0 10400012 */ beqz $v0, .L802BE20C +/* 31EF34 802BE1C4 3C040001 */ lui $a0, 1 +/* 31EF38 802BE1C8 34840002 */ ori $a0, $a0, 2 +/* 31EF3C 802BE1CC 0000282D */ daddu $a1, $zero, $zero +/* 31EF40 802BE1D0 00A0302D */ daddu $a2, $a1, $zero +/* 31EF44 802BE1D4 00A0382D */ daddu $a3, $a1, $zero +/* 31EF48 802BE1D8 AC600000 */ sw $zero, ($v1) +/* 31EF4C 802BE1DC AFA00010 */ sw $zero, 0x10($sp) +/* 31EF50 802BE1E0 AFA00014 */ sw $zero, 0x14($sp) +/* 31EF54 802BE1E4 0C0B77FE */ jal func_802DDFF8 +/* 31EF58 802BE1E8 AFA00018 */ sw $zero, 0x18($sp) +/* 31EF5C 802BE1EC 0200202D */ daddu $a0, $s0, $zero +/* 31EF60 802BE1F0 0000282D */ daddu $a1, $zero, $zero +/* 31EF64 802BE1F4 00A0302D */ daddu $a2, $a1, $zero +/* 31EF68 802BE1F8 00A0382D */ daddu $a3, $a1, $zero +/* 31EF6C 802BE1FC AFA00010 */ sw $zero, 0x10($sp) +/* 31EF70 802BE200 AFA00014 */ sw $zero, 0x14($sp) +/* 31EF74 802BE204 0C00F589 */ jal func_8003D624 +/* 31EF78 802BE208 AFA00018 */ sw $zero, 0x18($sp) +.L802BE20C: +/* 31EF7C 802BE20C 860200A8 */ lh $v0, 0xa8($s0) +/* 31EF80 802BE210 3C030007 */ lui $v1, 7 +/* 31EF84 802BE214 44821000 */ mtc1 $v0, $f2 +/* 31EF88 802BE218 00000000 */ nop +/* 31EF8C 802BE21C 468010A0 */ cvt.s.w $f2, $f2 +/* 31EF90 802BE220 46141082 */ mul.s $f2, $f2, $f20 +/* 31EF94 802BE224 00000000 */ nop +/* 31EF98 802BE228 3463000A */ ori $v1, $v1, 0xa +/* 31EF9C 802BE22C 3C040008 */ lui $a0, 8 +/* 31EFA0 802BE230 C6200000 */ lwc1 $f0, ($s1) +/* 31EFA4 802BE234 3484000F */ ori $a0, $a0, 0xf +/* 31EFA8 802BE238 46020001 */ sub.s $f0, $f0, $f2 +/* 31EFAC 802BE23C AE400000 */ sw $zero, ($s2) +/* 31EFB0 802BE240 AE030028 */ sw $v1, 0x28($s0) +/* 31EFB4 802BE244 0C037FDE */ jal func_800DFF78 +/* 31EFB8 802BE248 E6000064 */ swc1 $f0, 0x64($s0) +.L802BE24C: +/* 31EFBC 802BE24C 8FBF0058 */ lw $ra, 0x58($sp) +/* 31EFC0 802BE250 8FB50054 */ lw $s5, 0x54($sp) +/* 31EFC4 802BE254 8FB40050 */ lw $s4, 0x50($sp) +/* 31EFC8 802BE258 8FB3004C */ lw $s3, 0x4c($sp) +/* 31EFCC 802BE25C 8FB20048 */ lw $s2, 0x48($sp) +/* 31EFD0 802BE260 8FB10044 */ lw $s1, 0x44($sp) +/* 31EFD4 802BE264 8FB00040 */ lw $s0, 0x40($sp) +/* 31EFD8 802BE268 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 31EFDC 802BE26C D7B80070 */ ldc1 $f24, 0x70($sp) +/* 31EFE0 802BE270 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 31EFE4 802BE274 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 31EFE8 802BE278 03E00008 */ jr $ra +/* 31EFEC 802BE27C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_31DE70/func_802BE280.s b/asm/nonmatchings/code_31DE70/func_802BE280.s new file mode 100644 index 0000000000..8329d5cb4e --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BE280.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE280 +/* 31EFF0 802BE280 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 31EFF4 802BE284 AFB3006C */ sw $s3, 0x6c($sp) +/* 31EFF8 802BE288 8FB300A0 */ lw $s3, 0xa0($sp) +/* 31EFFC 802BE28C 3C0140C9 */ lui $at, 0x40c9 +/* 31F000 802BE290 34210FD0 */ ori $at, $at, 0xfd0 +/* 31F004 802BE294 44810000 */ mtc1 $at, $f0 +/* 31F008 802BE298 AFB00060 */ sw $s0, 0x60($sp) +/* 31F00C 802BE29C 00A0802D */ daddu $s0, $a1, $zero +/* 31F010 802BE2A0 AFB10064 */ sw $s1, 0x64($sp) +/* 31F014 802BE2A4 00C0882D */ daddu $s1, $a2, $zero +/* 31F018 802BE2A8 AFB20068 */ sw $s2, 0x68($sp) +/* 31F01C 802BE2AC 00E0902D */ daddu $s2, $a3, $zero +/* 31F020 802BE2B0 AFBF0070 */ sw $ra, 0x70($sp) +/* 31F024 802BE2B4 F7B60080 */ sdc1 $f22, 0x80($sp) +/* 31F028 802BE2B8 F7B40078 */ sdc1 $f20, 0x78($sp) +/* 31F02C 802BE2BC C66C0000 */ lwc1 $f12, ($s3) +/* 31F030 802BE2C0 27A50038 */ addiu $a1, $sp, 0x38 +/* 31F034 802BE2C4 46006302 */ mul.s $f12, $f12, $f0 +/* 31F038 802BE2C8 00000000 */ nop +/* 31F03C 802BE2CC 27A6003C */ addiu $a2, $sp, 0x3c +/* 31F040 802BE2D0 C7B60098 */ lwc1 $f22, 0x98($sp) +/* 31F044 802BE2D4 3C0143B4 */ lui $at, 0x43b4 +/* 31F048 802BE2D8 44810000 */ mtc1 $at, $f0 +/* 31F04C 802BE2DC C7B4009C */ lwc1 $f20, 0x9c($sp) +/* 31F050 802BE2E0 0C00A82D */ jal sin_cos_rad +/* 31F054 802BE2E4 46006303 */ div.s $f12, $f12, $f0 +/* 31F058 802BE2E8 27A20040 */ addiu $v0, $sp, 0x40 +/* 31F05C 802BE2EC 4616A500 */ add.s $f20, $f20, $f22 +/* 31F060 802BE2F0 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 31F064 802BE2F4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 31F068 802BE2F8 46000007 */ neg.s $f0, $f0 +/* 31F06C 802BE2FC E7A0003C */ swc1 $f0, 0x3c($sp) +/* 31F070 802BE300 E7B4004C */ swc1 $f20, 0x4c($sp) +/* 31F074 802BE304 AFA2001C */ sw $v0, 0x1c($sp) +/* 31F078 802BE308 27A20044 */ addiu $v0, $sp, 0x44 +/* 31F07C 802BE30C AFA20020 */ sw $v0, 0x20($sp) +/* 31F080 802BE310 27A20048 */ addiu $v0, $sp, 0x48 +/* 31F084 802BE314 AFA20024 */ sw $v0, 0x24($sp) +/* 31F088 802BE318 27A2004C */ addiu $v0, $sp, 0x4c +/* 31F08C 802BE31C AFA20028 */ sw $v0, 0x28($sp) +/* 31F090 802BE320 27A20050 */ addiu $v0, $sp, 0x50 +/* 31F094 802BE324 AFA2002C */ sw $v0, 0x2c($sp) +/* 31F098 802BE328 27A20054 */ addiu $v0, $sp, 0x54 +/* 31F09C 802BE32C AFA20030 */ sw $v0, 0x30($sp) +/* 31F0A0 802BE330 27A20058 */ addiu $v0, $sp, 0x58 +/* 31F0A4 802BE334 E7A20010 */ swc1 $f2, 0x10($sp) +/* 31F0A8 802BE338 AFA00014 */ sw $zero, 0x14($sp) +/* 31F0AC 802BE33C E7A00018 */ swc1 $f0, 0x18($sp) +/* 31F0B0 802BE340 AFA20034 */ sw $v0, 0x34($sp) +/* 31F0B4 802BE344 8E050000 */ lw $a1, ($s0) +/* 31F0B8 802BE348 8E260000 */ lw $a2, ($s1) +/* 31F0BC 802BE34C 8E470000 */ lw $a3, ($s2) +/* 31F0C0 802BE350 0C017334 */ jal test_ray_colliders +/* 31F0C4 802BE354 3C040001 */ lui $a0, 1 +/* 31F0C8 802BE358 0040802D */ daddu $s0, $v0, $zero +/* 31F0CC 802BE35C 06000008 */ bltz $s0, .L802BE380 +/* 31F0D0 802BE360 0200102D */ daddu $v0, $s0, $zero +/* 31F0D4 802BE364 8FA60050 */ lw $a2, 0x50($sp) +/* 31F0D8 802BE368 44806000 */ mtc1 $zero, $f12 +/* 31F0DC 802BE36C 8FA70058 */ lw $a3, 0x58($sp) +/* 31F0E0 802BE370 0C00A720 */ jal atan2 +/* 31F0E4 802BE374 46006386 */ mov.s $f14, $f12 +/* 31F0E8 802BE378 E6600000 */ swc1 $f0, ($s3) +/* 31F0EC 802BE37C 0200102D */ daddu $v0, $s0, $zero +.L802BE380: +/* 31F0F0 802BE380 8FBF0070 */ lw $ra, 0x70($sp) +/* 31F0F4 802BE384 8FB3006C */ lw $s3, 0x6c($sp) +/* 31F0F8 802BE388 8FB20068 */ lw $s2, 0x68($sp) +/* 31F0FC 802BE38C 8FB10064 */ lw $s1, 0x64($sp) +/* 31F100 802BE390 8FB00060 */ lw $s0, 0x60($sp) +/* 31F104 802BE394 D7B60080 */ ldc1 $f22, 0x80($sp) +/* 31F108 802BE398 D7B40078 */ ldc1 $f20, 0x78($sp) +/* 31F10C 802BE39C 03E00008 */ jr $ra +/* 31F110 802BE3A0 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/code_31DE70/func_802BE3A4.s b/asm/nonmatchings/code_31DE70/func_802BE3A4.s new file mode 100644 index 0000000000..43cf91cf3e --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BE3A4.s @@ -0,0 +1,1153 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE3A4 +/* 31F114 802BE3A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 31F118 802BE3A8 AFB5005C */ sw $s5, 0x5c($sp) +/* 31F11C 802BE3AC 0080A82D */ daddu $s5, $a0, $zero +/* 31F120 802BE3B0 AFB20050 */ sw $s2, 0x50($sp) +/* 31F124 802BE3B4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 31F128 802BE3B8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 31F12C 802BE3BC AFB00048 */ sw $s0, 0x48($sp) +/* 31F130 802BE3C0 3C108011 */ lui $s0, %hi(gPlayerData) +/* 31F134 802BE3C4 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 31F138 802BE3C8 AFB60060 */ sw $s6, 0x60($sp) +/* 31F13C 802BE3CC 3C168016 */ lui $s6, 0x8016 +/* 31F140 802BE3D0 26D6A550 */ addiu $s6, $s6, -0x5ab0 +/* 31F144 802BE3D4 AFB40058 */ sw $s4, 0x58($sp) +/* 31F148 802BE3D8 3C148011 */ lui $s4, %hi(D_8010EBB0) +/* 31F14C 802BE3DC 2694EBB0 */ addiu $s4, $s4, %lo(D_8010EBB0) +/* 31F150 802BE3E0 AFBF0064 */ sw $ra, 0x64($sp) +/* 31F154 802BE3E4 AFB30054 */ sw $s3, 0x54($sp) +/* 31F158 802BE3E8 AFB1004C */ sw $s1, 0x4c($sp) +/* 31F15C 802BE3EC F7B40068 */ sdc1 $f20, 0x68($sp) +/* 31F160 802BE3F0 8EB1014C */ lw $s1, 0x14c($s5) +/* 31F164 802BE3F4 10A0000F */ beqz $a1, .L802BE434 +/* 31F168 802BE3F8 3C04FFBF */ lui $a0, 0xffbf +/* 31F16C 802BE3FC 0C0AFE48 */ jal func_802BF920 +/* 31F170 802BE400 0220202D */ daddu $a0, $s1, $zero +/* 31F174 802BE404 3C01802C */ lui $at, 0x802c +/* 31F178 802BE408 AC20FEFC */ sw $zero, -0x104($at) +/* 31F17C 802BE40C 3C01802C */ lui $at, 0x802c +/* 31F180 802BE410 AC20FEF8 */ sw $zero, -0x108($at) +/* 31F184 802BE414 3C01802C */ lui $at, 0x802c +/* 31F188 802BE418 AC20FF00 */ sw $zero, -0x100($at) +/* 31F18C 802BE41C 3C01802C */ lui $at, 0x802c +/* 31F190 802BE420 AC20FF04 */ sw $zero, -0xfc($at) +/* 31F194 802BE424 3C01802C */ lui $at, 0x802c +/* 31F198 802BE428 AC20FF08 */ sw $zero, -0xf8($at) +/* 31F19C 802BE42C AEA00070 */ sw $zero, 0x70($s5) +/* 31F1A0 802BE430 3C04FFBF */ lui $a0, 0xffbf +.L802BE434: +/* 31F1A4 802BE434 3484FFFF */ ori $a0, $a0, 0xffff +/* 31F1A8 802BE438 8E020310 */ lw $v0, 0x310($s0) +/* 31F1AC 802BE43C 8E430004 */ lw $v1, 4($s2) +/* 31F1B0 802BE440 24420001 */ addiu $v0, $v0, 1 +/* 31F1B4 802BE444 00641824 */ and $v1, $v1, $a0 +/* 31F1B8 802BE448 AE020310 */ sw $v0, 0x310($s0) +/* 31F1BC 802BE44C AE430004 */ sw $v1, 4($s2) +/* 31F1C0 802BE450 8EA30070 */ lw $v1, 0x70($s5) +/* 31F1C4 802BE454 2C62001A */ sltiu $v0, $v1, 0x1a +/* 31F1C8 802BE458 10400425 */ beqz $v0, .L802BF4F0 +/* 31F1CC 802BE45C 00031080 */ sll $v0, $v1, 2 +/* 31F1D0 802BE460 3C01802C */ lui $at, 0x802c +/* 31F1D4 802BE464 00220821 */ addu $at, $at, $v0 +/* 31F1D8 802BE468 8C22FE68 */ lw $v0, -0x198($at) +/* 31F1DC 802BE46C 00400008 */ jr $v0 +/* 31F1E0 802BE470 00000000 */ nop +/* 31F1E4 802BE474 3C138007 */ lui $s3, %hi(gGameStatusPtr) +/* 31F1E8 802BE478 2673419C */ addiu $s3, $s3, %lo(gGameStatusPtr) +/* 31F1EC 802BE47C 8E620000 */ lw $v0, ($s3) +/* 31F1F0 802BE480 8042007D */ lb $v0, 0x7d($v0) +/* 31F1F4 802BE484 14400012 */ bnez $v0, .L802BE4D0 +/* 31F1F8 802BE488 3C040008 */ lui $a0, 8 +/* 31F1FC 802BE48C 86C40012 */ lh $a0, 0x12($s6) +/* 31F200 802BE490 0480000A */ bltz $a0, .L802BE4BC +/* 31F204 802BE494 AFA40040 */ sw $a0, 0x40($sp) +/* 31F208 802BE498 30824000 */ andi $v0, $a0, 0x4000 +/* 31F20C 802BE49C 14400415 */ bnez $v0, .L802BF4F4 +/* 31F210 802BE4A0 24020001 */ addiu $v0, $zero, 1 +/* 31F214 802BE4A4 0C016F6A */ jal get_collider_type_by_id +/* 31F218 802BE4A8 00000000 */ nop +/* 31F21C 802BE4AC 304200FF */ andi $v0, $v0, 0xff +/* 31F220 802BE4B0 24030004 */ addiu $v1, $zero, 4 +/* 31F224 802BE4B4 10430003 */ beq $v0, $v1, .L802BE4C4 +/* 31F228 802BE4B8 AFA20040 */ sw $v0, 0x40($sp) +.L802BE4BC: +/* 31F22C 802BE4BC 080AFD3D */ j .L802BF4F4 +/* 31F230 802BE4C0 24020001 */ addiu $v0, $zero, 1 +.L802BE4C4: +/* 31F234 802BE4C4 24020014 */ addiu $v0, $zero, 0x14 +/* 31F238 802BE4C8 080AFD3C */ j .L802BF4F0 +/* 31F23C 802BE4CC AEA20070 */ sw $v0, 0x70($s5) +.L802BE4D0: +/* 31F240 802BE4D0 C622003C */ lwc1 $f2, 0x3c($s1) +/* 31F244 802BE4D4 3C014180 */ lui $at, 0x4180 +/* 31F248 802BE4D8 44810000 */ mtc1 $at, $f0 +/* 31F24C 802BE4DC 3484000F */ ori $a0, $a0, 0xf +/* 31F250 802BE4E0 46001000 */ add.s $f0, $f2, $f0 +/* 31F254 802BE4E4 24100001 */ addiu $s0, $zero, 1 +/* 31F258 802BE4E8 E6220064 */ swc1 $f2, 0x64($s1) +/* 31F25C 802BE4EC E640002C */ swc1 $f0, 0x2c($s2) +/* 31F260 802BE4F0 8E220000 */ lw $v0, ($s1) +/* 31F264 802BE4F4 2403FDFF */ addiu $v1, $zero, -0x201 +/* 31F268 802BE4F8 3C01802C */ lui $at, 0x802c +/* 31F26C 802BE4FC AC30FEEC */ sw $s0, -0x114($at) +/* 31F270 802BE500 34420008 */ ori $v0, $v0, 8 +/* 31F274 802BE504 00431024 */ and $v0, $v0, $v1 +/* 31F278 802BE508 34420100 */ ori $v0, $v0, 0x100 +/* 31F27C 802BE50C 0C037FDE */ jal func_800DFF78 +/* 31F280 802BE510 AE220000 */ sw $v0, ($s1) +/* 31F284 802BE514 0C038039 */ jal disable_player_shadow +/* 31F288 802BE518 00000000 */ nop +/* 31F28C 802BE51C 0C00EAFF */ jal disable_npc_shadow +/* 31F290 802BE520 0220202D */ daddu $a0, $s1, $zero +/* 31F294 802BE524 0220202D */ daddu $a0, $s1, $zero +/* 31F298 802BE528 24050004 */ addiu $a1, $zero, 4 +/* 31F29C 802BE52C 24060002 */ addiu $a2, $zero, 2 +/* 31F2A0 802BE530 0000382D */ daddu $a3, $zero, $zero +/* 31F2A4 802BE534 AFA00010 */ sw $zero, 0x10($sp) +/* 31F2A8 802BE538 AFA00014 */ sw $zero, 0x14($sp) +/* 31F2AC 802BE53C 0C00F589 */ jal func_8003D624 +/* 31F2B0 802BE540 AFA00018 */ sw $zero, 0x18($sp) +/* 31F2B4 802BE544 3C020007 */ lui $v0, 7 +/* 31F2B8 802BE548 3442000A */ ori $v0, $v0, 0xa +/* 31F2BC 802BE54C AE220028 */ sw $v0, 0x28($s1) +/* 31F2C0 802BE550 C640005C */ lwc1 $f0, 0x5c($s2) +/* 31F2C4 802BE554 8E620000 */ lw $v0, ($s3) +/* 31F2C8 802BE558 AE200014 */ sw $zero, 0x14($s1) +/* 31F2CC 802BE55C E6200018 */ swc1 $f0, 0x18($s1) +/* 31F2D0 802BE560 A2900000 */ sb $s0, ($s4) +/* 31F2D4 802BE564 A040007D */ sb $zero, 0x7d($v0) +/* 31F2D8 802BE568 24020007 */ addiu $v0, $zero, 7 +/* 31F2DC 802BE56C A2820003 */ sb $v0, 3($s4) +/* 31F2E0 802BE570 3C01802C */ lui $at, 0x802c +/* 31F2E4 802BE574 AC20FEE4 */ sw $zero, -0x11c($at) +/* 31F2E8 802BE578 3C01802C */ lui $at, 0x802c +/* 31F2EC 802BE57C AC20FEE8 */ sw $zero, -0x118($at) +/* 31F2F0 802BE580 AEA00078 */ sw $zero, 0x78($s5) +/* 31F2F4 802BE584 080AFD3C */ j .L802BF4F0 +/* 31F2F8 802BE588 AEB00070 */ sw $s0, 0x70($s5) +/* 31F2FC 802BE58C 86C40012 */ lh $a0, 0x12($s6) +/* 31F300 802BE590 0480FFCA */ bltz $a0, .L802BE4BC +/* 31F304 802BE594 27B00020 */ addiu $s0, $sp, 0x20 +/* 31F308 802BE598 0200282D */ daddu $a1, $s0, $zero +/* 31F30C 802BE59C 27B30024 */ addiu $s3, $sp, 0x24 +/* 31F310 802BE5A0 0260302D */ daddu $a2, $s3, $zero +/* 31F314 802BE5A4 27B40028 */ addiu $s4, $sp, 0x28 +/* 31F318 802BE5A8 0C016F84 */ jal get_collider_center +/* 31F31C 802BE5AC 0280382D */ daddu $a3, $s4, $zero +/* 31F320 802BE5B0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 31F324 802BE5B4 C7AE0028 */ lwc1 $f14, 0x28($sp) +/* 31F328 802BE5B8 8E460028 */ lw $a2, 0x28($s2) +/* 31F32C 802BE5BC 0C00A720 */ jal atan2 +/* 31F330 802BE5C0 8E470030 */ lw $a3, 0x30($s2) +/* 31F334 802BE5C4 0000202D */ daddu $a0, $zero, $zero +/* 31F338 802BE5C8 0200282D */ daddu $a1, $s0, $zero +/* 31F33C 802BE5CC 0260302D */ daddu $a2, $s3, $zero +/* 31F340 802BE5D0 864200B2 */ lh $v0, 0xb2($s2) +/* 31F344 802BE5D4 0280382D */ daddu $a3, $s4, $zero +/* 31F348 802BE5D8 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 31F34C 802BE5DC C6400028 */ lwc1 $f0, 0x28($s2) +/* 31F350 802BE5E0 C644002C */ lwc1 $f4, 0x2c($s2) +/* 31F354 802BE5E4 C6460030 */ lwc1 $f6, 0x30($s2) +/* 31F358 802BE5E8 3C013F00 */ lui $at, 0x3f00 +/* 31F35C 802BE5EC 4481A000 */ mtc1 $at, $f20 +/* 31F360 802BE5F0 44821000 */ mtc1 $v0, $f2 +/* 31F364 802BE5F4 00000000 */ nop +/* 31F368 802BE5F8 468010A0 */ cvt.s.w $f2, $f2 +/* 31F36C 802BE5FC 864200B2 */ lh $v0, 0xb2($s2) +/* 31F370 802BE600 46141082 */ mul.s $f2, $f2, $f20 +/* 31F374 802BE604 00000000 */ nop +/* 31F378 802BE608 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31F37C 802BE60C E7A40024 */ swc1 $f4, 0x24($sp) +/* 31F380 802BE610 E7A60028 */ swc1 $f6, 0x28($sp) +/* 31F384 802BE614 44820000 */ mtc1 $v0, $f0 +/* 31F388 802BE618 00000000 */ nop +/* 31F38C 802BE61C 46800020 */ cvt.s.w $f0, $f0 +/* 31F390 802BE620 46000000 */ add.s $f0, $f0, $f0 +/* 31F394 802BE624 27A2002C */ addiu $v0, $sp, 0x2c +/* 31F398 802BE628 AFA20018 */ sw $v0, 0x18($sp) +/* 31F39C 802BE62C E7A00014 */ swc1 $f0, 0x14($sp) +/* 31F3A0 802BE630 0C0AF8A0 */ jal func_802BE280 +/* 31F3A4 802BE634 E7A20010 */ swc1 $f2, 0x10($sp) +/* 31F3A8 802BE638 2403FFFF */ addiu $v1, $zero, -1 +/* 31F3AC 802BE63C 04400004 */ bltz $v0, .L802BE650 +/* 31F3B0 802BE640 AFA20040 */ sw $v0, 0x40($sp) +/* 31F3B4 802BE644 0C016F6A */ jal get_collider_type_by_id +/* 31F3B8 802BE648 0040202D */ daddu $a0, $v0, $zero +/* 31F3BC 802BE64C 304300FF */ andi $v1, $v0, 0xff +.L802BE650: +/* 31F3C0 802BE650 24020004 */ addiu $v0, $zero, 4 +/* 31F3C4 802BE654 146203A7 */ bne $v1, $v0, .L802BF4F4 +/* 31F3C8 802BE658 24020001 */ addiu $v0, $zero, 1 +/* 31F3CC 802BE65C 3C01802C */ lui $at, 0x802c +/* 31F3D0 802BE660 AC22FEEC */ sw $v0, -0x114($at) +/* 31F3D4 802BE664 0C039769 */ jal set_action_state +/* 31F3D8 802BE668 24040021 */ addiu $a0, $zero, 0x21 +/* 31F3DC 802BE66C 0C038045 */ jal disable_player_static_collisions +/* 31F3E0 802BE670 00000000 */ nop +/* 31F3E4 802BE674 0C03805E */ jal disable_player_input +/* 31F3E8 802BE678 00000000 */ nop +/* 31F3EC 802BE67C 3C020008 */ lui $v0, 8 +/* 31F3F0 802BE680 AE220080 */ sw $v0, 0x80($s1) +/* 31F3F4 802BE684 C6400028 */ lwc1 $f0, 0x28($s2) +/* 31F3F8 802BE688 3C064220 */ lui $a2, 0x4220 +/* 31F3FC 802BE68C E6200060 */ swc1 $f0, 0x60($s1) +/* 31F400 802BE690 C640002C */ lwc1 $f0, 0x2c($s2) +/* 31F404 802BE694 E6200064 */ swc1 $f0, 0x64($s1) +/* 31F408 802BE698 C6420030 */ lwc1 $f2, 0x30($s2) +/* 31F40C 802BE69C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 31F410 802BE6A0 26240060 */ addiu $a0, $s1, 0x60 +/* 31F414 802BE6A4 E620000C */ swc1 $f0, 0xc($s1) +/* 31F418 802BE6A8 E6220068 */ swc1 $f2, 0x68($s1) +/* 31F41C 802BE6AC E6400080 */ swc1 $f0, 0x80($s2) +/* 31F420 802BE6B0 8E27000C */ lw $a3, 0xc($s1) +/* 31F424 802BE6B4 3C0142B4 */ lui $at, 0x42b4 +/* 31F428 802BE6B8 44810000 */ mtc1 $at, $f0 +/* 31F42C 802BE6BC 26250068 */ addiu $a1, $s1, 0x68 +/* 31F430 802BE6C0 0C00A7E7 */ jal add_vec2D_polar +/* 31F434 802BE6C4 E6200034 */ swc1 $f0, 0x34($s1) +/* 31F438 802BE6C8 C6200060 */ lwc1 $f0, 0x60($s1) +/* 31F43C 802BE6CC C6220064 */ lwc1 $f2, 0x64($s1) +/* 31F440 802BE6D0 C6240068 */ lwc1 $f4, 0x68($s1) +/* 31F444 802BE6D4 3C0142C8 */ lui $at, 0x42c8 +/* 31F448 802BE6D8 44813000 */ mtc1 $at, $f6 +/* 31F44C 802BE6DC 27A20030 */ addiu $v0, $sp, 0x30 +/* 31F450 802BE6E0 E7A00020 */ swc1 $f0, 0x20($sp) +/* 31F454 802BE6E4 E7A20024 */ swc1 $f2, 0x24($sp) +/* 31F458 802BE6E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* 31F45C 802BE6EC E7A60030 */ swc1 $f6, 0x30($sp) +/* 31F460 802BE6F0 AFA20010 */ sw $v0, 0x10($sp) +/* 31F464 802BE6F4 C620000C */ lwc1 $f0, 0xc($s1) +/* 31F468 802BE6F8 0200282D */ daddu $a1, $s0, $zero +/* 31F46C 802BE6FC E7A00014 */ swc1 $f0, 0x14($sp) +/* 31F470 802BE700 862200A6 */ lh $v0, 0xa6($s1) +/* 31F474 802BE704 0260302D */ daddu $a2, $s3, $zero +/* 31F478 802BE708 44820000 */ mtc1 $v0, $f0 +/* 31F47C 802BE70C 00000000 */ nop +/* 31F480 802BE710 46800020 */ cvt.s.w $f0, $f0 +/* 31F484 802BE714 E7A00018 */ swc1 $f0, 0x18($sp) +/* 31F488 802BE718 8E240080 */ lw $a0, 0x80($s1) +/* 31F48C 802BE71C 0C0371DE */ jal func_800DC778 +/* 31F490 802BE720 0280382D */ daddu $a3, $s4, $zero +/* 31F494 802BE724 3C050007 */ lui $a1, 7 +/* 31F498 802BE728 34A50003 */ ori $a1, $a1, 3 +/* 31F49C 802BE72C 862300A8 */ lh $v1, 0xa8($s1) +/* 31F4A0 802BE730 3C040001 */ lui $a0, 1 +/* 31F4A4 802BE734 44830000 */ mtc1 $v1, $f0 +/* 31F4A8 802BE738 00000000 */ nop +/* 31F4AC 802BE73C 46800020 */ cvt.s.w $f0, $f0 +/* 31F4B0 802BE740 46140002 */ mul.s $f0, $f0, $f20 +/* 31F4B4 802BE744 00000000 */ nop +/* 31F4B8 802BE748 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 31F4BC 802BE74C 34840002 */ ori $a0, $a0, 2 +/* 31F4C0 802BE750 AFA20040 */ sw $v0, 0x40($sp) +/* 31F4C4 802BE754 2402000C */ addiu $v0, $zero, 0xc +/* 31F4C8 802BE758 46001081 */ sub.s $f2, $f2, $f0 +/* 31F4CC 802BE75C AE250028 */ sw $a1, 0x28($s1) +/* 31F4D0 802BE760 A622008E */ sh $v0, 0x8e($s1) +/* 31F4D4 802BE764 0C037FBF */ jal func_800DFEFC +/* 31F4D8 802BE768 E6220064 */ swc1 $f2, 0x64($s1) +/* 31F4DC 802BE76C 8EA20070 */ lw $v0, 0x70($s5) +/* 31F4E0 802BE770 24420001 */ addiu $v0, $v0, 1 +/* 31F4E4 802BE774 080AFD3C */ j .L802BF4F0 +/* 31F4E8 802BE778 AEA20070 */ sw $v0, 0x70($s5) +/* 31F4EC 802BE77C C6200060 */ lwc1 $f0, 0x60($s1) +/* 31F4F0 802BE780 C62A0038 */ lwc1 $f10, 0x38($s1) +/* 31F4F4 802BE784 8622008E */ lh $v0, 0x8e($s1) +/* 31F4F8 802BE788 C6240064 */ lwc1 $f4, 0x64($s1) +/* 31F4FC 802BE78C C628003C */ lwc1 $f8, 0x3c($s1) +/* 31F500 802BE790 C6260040 */ lwc1 $f6, 0x40($s1) +/* 31F504 802BE794 44821000 */ mtc1 $v0, $f2 +/* 31F508 802BE798 00000000 */ nop +/* 31F50C 802BE79C 468010A0 */ cvt.s.w $f2, $f2 +/* 31F510 802BE7A0 0040202D */ daddu $a0, $v0, $zero +/* 31F514 802BE7A4 460A0001 */ sub.s $f0, $f0, $f10 +/* 31F518 802BE7A8 0080182D */ daddu $v1, $a0, $zero +/* 31F51C 802BE7AC 9622008E */ lhu $v0, 0x8e($s1) +/* 31F520 802BE7B0 46082101 */ sub.s $f4, $f4, $f8 +/* 31F524 802BE7B4 2442FFFF */ addiu $v0, $v0, -1 +/* 31F528 802BE7B8 A622008E */ sh $v0, 0x8e($s1) +/* 31F52C 802BE7BC 00021400 */ sll $v0, $v0, 0x10 +/* 31F530 802BE7C0 46020003 */ div.s $f0, $f0, $f2 +/* 31F534 802BE7C4 46005280 */ add.s $f10, $f10, $f0 +/* 31F538 802BE7C8 C6220068 */ lwc1 $f2, 0x68($s1) +/* 31F53C 802BE7CC 44840000 */ mtc1 $a0, $f0 +/* 31F540 802BE7D0 00000000 */ nop +/* 31F544 802BE7D4 46800020 */ cvt.s.w $f0, $f0 +/* 31F548 802BE7D8 46061081 */ sub.s $f2, $f2, $f6 +/* 31F54C 802BE7DC 46002103 */ div.s $f4, $f4, $f0 +/* 31F550 802BE7E0 44830000 */ mtc1 $v1, $f0 +/* 31F554 802BE7E4 00000000 */ nop +/* 31F558 802BE7E8 46800020 */ cvt.s.w $f0, $f0 +/* 31F55C 802BE7EC 46044200 */ add.s $f8, $f8, $f4 +/* 31F560 802BE7F0 00021C03 */ sra $v1, $v0, 0x10 +/* 31F564 802BE7F4 46001083 */ div.s $f2, $f2, $f0 +/* 31F568 802BE7F8 46023180 */ add.s $f6, $f6, $f2 +/* 31F56C 802BE7FC E62A0038 */ swc1 $f10, 0x38($s1) +/* 31F570 802BE800 E628003C */ swc1 $f8, 0x3c($s1) +/* 31F574 802BE804 1060000D */ beqz $v1, .L802BE83C +/* 31F578 802BE808 E6260040 */ swc1 $f6, 0x40($s1) +/* 31F57C 802BE80C 24020002 */ addiu $v0, $zero, 2 +/* 31F580 802BE810 14620338 */ bne $v1, $v0, .L802BF4F4 +/* 31F584 802BE814 0000102D */ daddu $v0, $zero, $zero +/* 31F588 802BE818 24042081 */ addiu $a0, $zero, 0x2081 +/* 31F58C 802BE81C 0000282D */ daddu $a1, $zero, $zero +/* 31F590 802BE820 0C052742 */ jal play_sound_at_npc +/* 31F594 802BE824 2406FFFC */ addiu $a2, $zero, -4 +/* 31F598 802BE828 3C040001 */ lui $a0, 1 +/* 31F59C 802BE82C 0C037FBF */ jal func_800DFEFC +/* 31F5A0 802BE830 34840006 */ ori $a0, $a0, 6 +/* 31F5A4 802BE834 080AFD3D */ j .L802BF4F4 +/* 31F5A8 802BE838 0000102D */ daddu $v0, $zero, $zero +.L802BE83C: +/* 31F5AC 802BE83C 0220202D */ daddu $a0, $s1, $zero +/* 31F5B0 802BE840 8E220000 */ lw $v0, ($s1) +/* 31F5B4 802BE844 3C030001 */ lui $v1, 1 +/* 31F5B8 802BE848 AE230080 */ sw $v1, 0x80($s1) +/* 31F5BC 802BE84C 2403FDBF */ addiu $v1, $zero, -0x241 +/* 31F5C0 802BE850 34420008 */ ori $v0, $v0, 8 +/* 31F5C4 802BE854 00431024 */ and $v0, $v0, $v1 +/* 31F5C8 802BE858 0C00EAFF */ jal disable_npc_shadow +/* 31F5CC 802BE85C AE220000 */ sw $v0, ($s1) +/* 31F5D0 802BE860 0220202D */ daddu $a0, $s1, $zero +/* 31F5D4 802BE864 24050004 */ addiu $a1, $zero, 4 +/* 31F5D8 802BE868 24060002 */ addiu $a2, $zero, 2 +/* 31F5DC 802BE86C 0000382D */ daddu $a3, $zero, $zero +/* 31F5E0 802BE870 AFA00010 */ sw $zero, 0x10($sp) +/* 31F5E4 802BE874 AFA00014 */ sw $zero, 0x14($sp) +/* 31F5E8 802BE878 0C00F589 */ jal func_8003D624 +/* 31F5EC 802BE87C AFA00018 */ sw $zero, 0x18($sp) +/* 31F5F0 802BE880 3C020007 */ lui $v0, 7 +/* 31F5F4 802BE884 3442000A */ ori $v0, $v0, 0xa +/* 31F5F8 802BE888 3C030040 */ lui $v1, 0x40 +/* 31F5FC 802BE88C AE220028 */ sw $v0, 0x28($s1) +/* 31F600 802BE890 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 31F604 802BE894 8E420000 */ lw $v0, ($s2) +/* 31F608 802BE898 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 31F60C 802BE89C 00431025 */ or $v0, $v0, $v1 +/* 31F610 802BE8A0 AE420000 */ sw $v0, ($s2) +/* 31F614 802BE8A4 8E260060 */ lw $a2, 0x60($s1) +/* 31F618 802BE8A8 0C00A7B5 */ jal dist2D +/* 31F61C 802BE8AC 8E270068 */ lw $a3, 0x68($s1) +/* 31F620 802BE8B0 3C0140A0 */ lui $at, 0x40a0 +/* 31F624 802BE8B4 44811000 */ mtc1 $at, $f2 +/* 31F628 802BE8B8 3C013F19 */ lui $at, 0x3f19 +/* 31F62C 802BE8BC 3421999A */ ori $at, $at, 0x999a +/* 31F630 802BE8C0 44812000 */ mtc1 $at, $f4 +/* 31F634 802BE8C4 C6260064 */ lwc1 $f6, 0x64($s1) +/* 31F638 802BE8C8 E622001C */ swc1 $f2, 0x1c($s1) +/* 31F63C 802BE8CC E6240014 */ swc1 $f4, 0x14($s1) +/* 31F640 802BE8D0 C642002C */ lwc1 $f2, 0x2c($s2) +/* 31F644 802BE8D4 3C040001 */ lui $a0, 1 +/* 31F648 802BE8D8 46023181 */ sub.s $f6, $f6, $f2 +/* 31F64C 802BE8DC C622001C */ lwc1 $f2, 0x1c($s1) +/* 31F650 802BE8E0 34840007 */ ori $a0, $a0, 7 +/* 31F654 802BE8E4 46021080 */ add.s $f2, $f2, $f2 +/* 31F658 802BE8E8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 31F65C 802BE8EC E7A60024 */ swc1 $f6, 0x24($sp) +/* 31F660 802BE8F0 46041083 */ div.s $f2, $f2, $f4 +/* 31F664 802BE8F4 4600140D */ trunc.w.s $f16, $f2 +/* 31F668 802BE8F8 44028000 */ mfc1 $v0, $f16 +/* 31F66C 802BE8FC 00000000 */ nop +/* 31F670 802BE900 A622008E */ sh $v0, 0x8e($s1) +/* 31F674 802BE904 00021400 */ sll $v0, $v0, 0x10 +/* 31F678 802BE908 00021403 */ sra $v0, $v0, 0x10 +/* 31F67C 802BE90C 44824000 */ mtc1 $v0, $f8 +/* 31F680 802BE910 00000000 */ nop +/* 31F684 802BE914 46804220 */ cvt.s.w $f8, $f8 +/* 31F688 802BE918 8623008E */ lh $v1, 0x8e($s1) +/* 31F68C 802BE91C C622001C */ lwc1 $f2, 0x1c($s1) +/* 31F690 802BE920 44832000 */ mtc1 $v1, $f4 +/* 31F694 802BE924 00000000 */ nop +/* 31F698 802BE928 46802120 */ cvt.s.w $f4, $f4 +/* 31F69C 802BE92C 46043183 */ div.s $f6, $f6, $f4 +/* 31F6A0 802BE930 46061080 */ add.s $f2, $f2, $f6 +/* 31F6A4 802BE934 46080003 */ div.s $f0, $f0, $f8 +/* 31F6A8 802BE938 E6200018 */ swc1 $f0, 0x18($s1) +/* 31F6AC 802BE93C 0C037FBF */ jal func_800DFEFC +/* 31F6B0 802BE940 E622001C */ swc1 $f2, 0x1c($s1) +/* 31F6B4 802BE944 8EA20070 */ lw $v0, 0x70($s5) +/* 31F6B8 802BE948 24420001 */ addiu $v0, $v0, 1 +/* 31F6BC 802BE94C AEA20070 */ sw $v0, 0x70($s5) +/* 31F6C0 802BE950 862200A8 */ lh $v0, 0xa8($s1) +/* 31F6C4 802BE954 3C013F00 */ lui $at, 0x3f00 +/* 31F6C8 802BE958 44811000 */ mtc1 $at, $f2 +/* 31F6CC 802BE95C 44820000 */ mtc1 $v0, $f0 +/* 31F6D0 802BE960 00000000 */ nop +/* 31F6D4 802BE964 46800020 */ cvt.s.w $f0, $f0 +/* 31F6D8 802BE968 46020002 */ mul.s $f0, $f0, $f2 +/* 31F6DC 802BE96C 00000000 */ nop +/* 31F6E0 802BE970 C6220064 */ lwc1 $f2, 0x64($s1) +/* 31F6E4 802BE974 AFA00010 */ sw $zero, 0x10($sp) +/* 31F6E8 802BE978 46001080 */ add.s $f2, $f2, $f0 +/* 31F6EC 802BE97C 8E250038 */ lw $a1, 0x38($s1) +/* 31F6F0 802BE980 8E270040 */ lw $a3, 0x40($s1) +/* 31F6F4 802BE984 44061000 */ mfc1 $a2, $f2 +/* 31F6F8 802BE988 0C01C16C */ jal func_800705B0 +/* 31F6FC 802BE98C 0000202D */ daddu $a0, $zero, $zero +/* 31F700 802BE990 080AFD3D */ j .L802BF4F4 +/* 31F704 802BE994 0000102D */ daddu $v0, $zero, $zero +/* 31F708 802BE998 862200A8 */ lh $v0, 0xa8($s1) +/* 31F70C 802BE99C 3C013F00 */ lui $at, 0x3f00 +/* 31F710 802BE9A0 44811000 */ mtc1 $at, $f2 +/* 31F714 802BE9A4 44820000 */ mtc1 $v0, $f0 +/* 31F718 802BE9A8 00000000 */ nop +/* 31F71C 802BE9AC 46800020 */ cvt.s.w $f0, $f0 +/* 31F720 802BE9B0 46020002 */ mul.s $f0, $f0, $f2 +/* 31F724 802BE9B4 00000000 */ nop +/* 31F728 802BE9B8 C6220064 */ lwc1 $f2, 0x64($s1) +/* 31F72C 802BE9BC AFA00010 */ sw $zero, 0x10($sp) +/* 31F730 802BE9C0 46001080 */ add.s $f2, $f2, $f0 +/* 31F734 802BE9C4 8E250038 */ lw $a1, 0x38($s1) +/* 31F738 802BE9C8 8E270040 */ lw $a3, 0x40($s1) +/* 31F73C 802BE9CC 44061000 */ mfc1 $a2, $f2 +/* 31F740 802BE9D0 0C01C16C */ jal func_800705B0 +/* 31F744 802BE9D4 0000202D */ daddu $a0, $zero, $zero +/* 31F748 802BE9D8 8EA20070 */ lw $v0, 0x70($s5) +/* 31F74C 802BE9DC 24420001 */ addiu $v0, $v0, 1 +/* 31F750 802BE9E0 AEA20070 */ sw $v0, 0x70($s5) +/* 31F754 802BE9E4 C640002C */ lwc1 $f0, 0x2c($s2) +/* 31F758 802BE9E8 C622001C */ lwc1 $f2, 0x1c($s1) +/* 31F75C 802BE9EC 46020000 */ add.s $f0, $f0, $f2 +/* 31F760 802BE9F0 26440028 */ addiu $a0, $s2, 0x28 +/* 31F764 802BE9F4 E640002C */ swc1 $f0, 0x2c($s2) +/* 31F768 802BE9F8 C620001C */ lwc1 $f0, 0x1c($s1) +/* 31F76C 802BE9FC C6220014 */ lwc1 $f2, 0x14($s1) +/* 31F770 802BEA00 8E260018 */ lw $a2, 0x18($s1) +/* 31F774 802BEA04 46020001 */ sub.s $f0, $f0, $f2 +/* 31F778 802BEA08 8E27000C */ lw $a3, 0xc($s1) +/* 31F77C 802BEA0C 26450030 */ addiu $a1, $s2, 0x30 +/* 31F780 802BEA10 0C00A7E7 */ jal add_vec2D_polar +/* 31F784 802BEA14 E620001C */ swc1 $f0, 0x1c($s1) +/* 31F788 802BEA18 C622001C */ lwc1 $f2, 0x1c($s1) +/* 31F78C 802BEA1C 44800000 */ mtc1 $zero, $f0 +/* 31F790 802BEA20 00000000 */ nop +/* 31F794 802BEA24 4600103E */ c.le.s $f2, $f0 +/* 31F798 802BEA28 00000000 */ nop +/* 31F79C 802BEA2C 45000004 */ bc1f .L802BEA40 +/* 31F7A0 802BEA30 00000000 */ nop +/* 31F7A4 802BEA34 3C040001 */ lui $a0, 1 +/* 31F7A8 802BEA38 0C037FBF */ jal func_800DFEFC +/* 31F7AC 802BEA3C 34840008 */ ori $a0, $a0, 8 +.L802BEA40: +/* 31F7B0 802BEA40 C6400028 */ lwc1 $f0, 0x28($s2) +/* 31F7B4 802BEA44 C642002C */ lwc1 $f2, 0x2c($s2) +/* 31F7B8 802BEA48 C6440030 */ lwc1 $f4, 0x30($s2) +/* 31F7BC 802BEA4C 3C02800B */ lui $v0, %hi(gCameras) +/* 31F7C0 802BEA50 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 31F7C4 802BEA54 E4400060 */ swc1 $f0, 0x60($v0) +/* 31F7C8 802BEA58 E4420064 */ swc1 $f2, 0x64($v0) +/* 31F7CC 802BEA5C E4440068 */ swc1 $f4, 0x68($v0) +/* 31F7D0 802BEA60 8622008E */ lh $v0, 0x8e($s1) +/* 31F7D4 802BEA64 9623008E */ lhu $v1, 0x8e($s1) +/* 31F7D8 802BEA68 144002A0 */ bnez $v0, .L802BF4EC +/* 31F7DC 802BEA6C 2462FFFF */ addiu $v0, $v1, -1 +/* 31F7E0 802BEA70 0C039769 */ jal set_action_state +/* 31F7E4 802BEA74 24040021 */ addiu $a0, $zero, 0x21 +/* 31F7E8 802BEA78 0C038039 */ jal disable_player_shadow +/* 31F7EC 802BEA7C 00000000 */ nop +/* 31F7F0 802BEA80 3C03FFBF */ lui $v1, 0xffbf +/* 31F7F4 802BEA84 3463FFFF */ ori $v1, $v1, 0xffff +/* 31F7F8 802BEA88 3C040008 */ lui $a0, 8 +/* 31F7FC 802BEA8C 8E420000 */ lw $v0, ($s2) +/* 31F800 802BEA90 3484000F */ ori $a0, $a0, 0xf +/* 31F804 802BEA94 00431024 */ and $v0, $v0, $v1 +/* 31F808 802BEA98 0C037FDE */ jal func_800DFF78 +/* 31F80C 802BEA9C AE420000 */ sw $v0, ($s2) +/* 31F810 802BEAA0 24042013 */ addiu $a0, $zero, 0x2013 +/* 31F814 802BEAA4 0000282D */ daddu $a1, $zero, $zero +/* 31F818 802BEAA8 0C052742 */ jal play_sound_at_npc +/* 31F81C 802BEAAC 2406FFFC */ addiu $a2, $zero, -4 +/* 31F820 802BEAB0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 31F824 802BEAB4 3C014040 */ lui $at, 0x4040 +/* 31F828 802BEAB8 44811000 */ mtc1 $at, $f2 +/* 31F82C 802BEABC 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 31F830 802BEAC0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 31F834 802BEAC4 E6400028 */ swc1 $f0, 0x28($s2) +/* 31F838 802BEAC8 C620003C */ lwc1 $f0, 0x3c($s1) +/* 31F83C 802BEACC E640002C */ swc1 $f0, 0x2c($s2) +/* 31F840 802BEAD0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 31F844 802BEAD4 E6400030 */ swc1 $f0, 0x30($s2) +/* 31F848 802BEAD8 C620000C */ lwc1 $f0, 0xc($s1) +/* 31F84C 802BEADC 24020001 */ addiu $v0, $zero, 1 +/* 31F850 802BEAE0 E6400080 */ swc1 $f0, 0x80($s2) +/* 31F854 802BEAE4 E6220018 */ swc1 $f2, 0x18($s1) +/* 31F858 802BEAE8 A2820000 */ sb $v0, ($s4) +/* 31F85C 802BEAEC 24020007 */ addiu $v0, $zero, 7 +/* 31F860 802BEAF0 A060007D */ sb $zero, 0x7d($v1) +/* 31F864 802BEAF4 A2820003 */ sb $v0, 3($s4) +/* 31F868 802BEAF8 24020001 */ addiu $v0, $zero, 1 +/* 31F86C 802BEAFC 3C01802C */ lui $at, 0x802c +/* 31F870 802BEB00 AC20FEE4 */ sw $zero, -0x11c($at) +/* 31F874 802BEB04 3C01802C */ lui $at, 0x802c +/* 31F878 802BEB08 AC20FEE8 */ sw $zero, -0x118($at) +/* 31F87C 802BEB0C AEA00078 */ sw $zero, 0x78($s5) +/* 31F880 802BEB10 080AFD3C */ j .L802BF4F0 +/* 31F884 802BEB14 AEA20070 */ sw $v0, 0x70($s5) +/* 31F888 802BEB18 0220202D */ daddu $a0, $s1, $zero +/* 31F88C 802BEB1C 8E420004 */ lw $v0, 4($s2) +/* 31F890 802BEB20 3C030040 */ lui $v1, 0x40 +/* 31F894 802BEB24 00431025 */ or $v0, $v0, $v1 +/* 31F898 802BEB28 0C0AF505 */ jal func_802BD414 +/* 31F89C 802BEB2C AE420004 */ sw $v0, 4($s2) +/* 31F8A0 802BEB30 3C10802C */ lui $s0, 0x802c +/* 31F8A4 802BEB34 2610FEE4 */ addiu $s0, $s0, -0x11c +/* 31F8A8 802BEB38 8E020000 */ lw $v0, ($s0) +/* 31F8AC 802BEB3C 14400052 */ bnez $v0, .L802BEC88 +/* 31F8B0 802BEB40 00000000 */ nop +/* 31F8B4 802BEB44 8EA30078 */ lw $v1, 0x78($s5) +/* 31F8B8 802BEB48 24620001 */ addiu $v0, $v1, 1 +/* 31F8BC 802BEB4C AEA20078 */ sw $v0, 0x78($s5) +/* 31F8C0 802BEB50 28420015 */ slti $v0, $v0, 0x15 +/* 31F8C4 802BEB54 14400002 */ bnez $v0, .L802BEB60 +/* 31F8C8 802BEB58 2462FFD9 */ addiu $v0, $v1, -0x27 +/* 31F8CC 802BEB5C AEA20078 */ sw $v0, 0x78($s5) +.L802BEB60: +/* 31F8D0 802BEB60 8EA20078 */ lw $v0, 0x78($s5) +/* 31F8D4 802BEB64 3C013E00 */ lui $at, 0x3e00 +/* 31F8D8 802BEB68 44810000 */ mtc1 $at, $f0 +/* 31F8DC 802BEB6C 04420001 */ bltzl $v0, .L802BEB74 +/* 31F8E0 802BEB70 00021023 */ negu $v0, $v0 +.L802BEB74: +/* 31F8E4 802BEB74 44821000 */ mtc1 $v0, $f2 +/* 31F8E8 802BEB78 00000000 */ nop +/* 31F8EC 802BEB7C 468010A0 */ cvt.s.w $f2, $f2 +/* 31F8F0 802BEB80 46001082 */ mul.s $f2, $f2, $f0 +/* 31F8F4 802BEB84 00000000 */ nop +/* 31F8F8 802BEB88 C6200064 */ lwc1 $f0, 0x64($s1) +/* 31F8FC 802BEB8C 46020000 */ add.s $f0, $f0, $f2 +/* 31F900 802BEB90 E620003C */ swc1 $f0, 0x3c($s1) +/* 31F904 802BEB94 8EA30078 */ lw $v1, 0x78($s5) +/* 31F908 802BEB98 24020005 */ addiu $v0, $zero, 5 +/* 31F90C 802BEB9C 14620011 */ bne $v1, $v0, .L802BEBE4 +/* 31F910 802BEBA0 27A4002C */ addiu $a0, $sp, 0x2c +/* 31F914 802BEBA4 0C0AF483 */ jal func_802BD20C +/* 31F918 802BEBA8 27A50034 */ addiu $a1, $sp, 0x34 +/* 31F91C 802BEBAC 8E020000 */ lw $v0, ($s0) +/* 31F920 802BEBB0 1440000C */ bnez $v0, .L802BEBE4 +/* 31F924 802BEBB4 00000000 */ nop +/* 31F928 802BEBB8 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 31F92C 802BEBBC 44800000 */ mtc1 $zero, $f0 +/* 31F930 802BEBC0 00000000 */ nop +/* 31F934 802BEBC4 46001032 */ c.eq.s $f2, $f0 +/* 31F938 802BEBC8 00000000 */ nop +/* 31F93C 802BEBCC 45010002 */ bc1t .L802BEBD8 +/* 31F940 802BEBD0 24042014 */ addiu $a0, $zero, 0x2014 +/* 31F944 802BEBD4 24042015 */ addiu $a0, $zero, 0x2015 +.L802BEBD8: +/* 31F948 802BEBD8 0000282D */ daddu $a1, $zero, $zero +/* 31F94C 802BEBDC 0C052742 */ jal play_sound_at_npc +/* 31F950 802BEBE0 2406FFFC */ addiu $a2, $zero, -4 +.L802BEBE4: +/* 31F954 802BEBE4 3C01802C */ lui $at, 0x802c +/* 31F958 802BEBE8 C420FEF8 */ lwc1 $f0, -0x108($at) +/* 31F95C 802BEBEC 44802000 */ mtc1 $zero, $f4 +/* 31F960 802BEBF0 00000000 */ nop +/* 31F964 802BEBF4 46040032 */ c.eq.s $f0, $f4 +/* 31F968 802BEBF8 00000000 */ nop +/* 31F96C 802BEBFC 45000024 */ bc1f .L802BEC90 +/* 31F970 802BEC00 00000000 */ nop +/* 31F974 802BEC04 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31F978 802BEC08 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31F97C 802BEC0C 94430134 */ lhu $v1, 0x134($v0) +/* 31F980 802BEC10 3C02CCCC */ lui $v0, 0xcccc +/* 31F984 802BEC14 3442CCCD */ ori $v0, $v0, 0xcccd +/* 31F988 802BEC18 00620019 */ multu $v1, $v0 +/* 31F98C 802BEC1C 00004810 */ mfhi $t1 +/* 31F990 802BEC20 000920C2 */ srl $a0, $t1, 3 +/* 31F994 802BEC24 00041080 */ sll $v0, $a0, 2 +/* 31F998 802BEC28 00441021 */ addu $v0, $v0, $a0 +/* 31F99C 802BEC2C 00021040 */ sll $v0, $v0, 1 +/* 31F9A0 802BEC30 00621823 */ subu $v1, $v1, $v0 +/* 31F9A4 802BEC34 3063FFFF */ andi $v1, $v1, 0xffff +/* 31F9A8 802BEC38 14600015 */ bnez $v1, .L802BEC90 +/* 31F9AC 802BEC3C 00000000 */ nop +/* 31F9B0 802BEC40 862200A8 */ lh $v0, 0xa8($s1) +/* 31F9B4 802BEC44 3C013F00 */ lui $at, 0x3f00 +/* 31F9B8 802BEC48 44811000 */ mtc1 $at, $f2 +/* 31F9BC 802BEC4C 44820000 */ mtc1 $v0, $f0 +/* 31F9C0 802BEC50 00000000 */ nop +/* 31F9C4 802BEC54 46800020 */ cvt.s.w $f0, $f0 +/* 31F9C8 802BEC58 46020002 */ mul.s $f0, $f0, $f2 +/* 31F9CC 802BEC5C 00000000 */ nop +/* 31F9D0 802BEC60 C6220064 */ lwc1 $f2, 0x64($s1) +/* 31F9D4 802BEC64 E7A40010 */ swc1 $f4, 0x10($sp) +/* 31F9D8 802BEC68 46001080 */ add.s $f2, $f2, $f0 +/* 31F9DC 802BEC6C 8E250038 */ lw $a1, 0x38($s1) +/* 31F9E0 802BEC70 8E270040 */ lw $a3, 0x40($s1) +/* 31F9E4 802BEC74 44061000 */ mfc1 $a2, $f2 +/* 31F9E8 802BEC78 0C01C16C */ jal func_800705B0 +/* 31F9EC 802BEC7C 0000202D */ daddu $a0, $zero, $zero +/* 31F9F0 802BEC80 080AFB24 */ j .L802BEC90 +/* 31F9F4 802BEC84 00000000 */ nop +.L802BEC88: +/* 31F9F8 802BEC88 C6200064 */ lwc1 $f0, 0x64($s1) +/* 31F9FC 802BEC8C E620003C */ swc1 $f0, 0x3c($s1) +.L802BEC90: +/* 31FA00 802BEC90 8E420004 */ lw $v0, 4($s2) +/* 31FA04 802BEC94 3C030040 */ lui $v1, 0x40 +/* 31FA08 802BEC98 00431024 */ and $v0, $v0, $v1 +/* 31FA0C 802BEC9C 14400003 */ bnez $v0, .L802BECAC +/* 31FA10 802BECA0 00000000 */ nop +/* 31FA14 802BECA4 0C0AF440 */ jal func_802BD100_31DE70 +/* 31FA18 802BECA8 00000000 */ nop +.L802BECAC: +/* 31FA1C 802BECAC 3C06802C */ lui $a2, 0x802c +/* 31FA20 802BECB0 8CC6FEE4 */ lw $a2, -0x11c($a2) +/* 31FA24 802BECB4 24020001 */ addiu $v0, $zero, 1 +/* 31FA28 802BECB8 14C20028 */ bne $a2, $v0, .L802BED5C +/* 31FA2C 802BECBC 00000000 */ nop +/* 31FA30 802BECC0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31FA34 802BECC4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31FA38 802BECC8 94440134 */ lhu $a0, 0x134($v0) +/* 31FA3C 802BECCC 3C03AF28 */ lui $v1, 0xaf28 +/* 31FA40 802BECD0 34636BCB */ ori $v1, $v1, 0x6bcb +/* 31FA44 802BECD4 00830019 */ multu $a0, $v1 +/* 31FA48 802BECD8 00001810 */ mfhi $v1 +/* 31FA4C 802BECDC 00831023 */ subu $v0, $a0, $v1 +/* 31FA50 802BECE0 00021042 */ srl $v0, $v0, 1 +/* 31FA54 802BECE4 00621821 */ addu $v1, $v1, $v0 +/* 31FA58 802BECE8 00031902 */ srl $v1, $v1, 4 +/* 31FA5C 802BECEC 00031080 */ sll $v0, $v1, 2 +/* 31FA60 802BECF0 00431021 */ addu $v0, $v0, $v1 +/* 31FA64 802BECF4 00021080 */ sll $v0, $v0, 2 +/* 31FA68 802BECF8 00431023 */ subu $v0, $v0, $v1 +/* 31FA6C 802BECFC 00822023 */ subu $a0, $a0, $v0 +/* 31FA70 802BED00 3084FFFF */ andi $a0, $a0, 0xffff +/* 31FA74 802BED04 14800047 */ bnez $a0, .L802BEE24 +/* 31FA78 802BED08 00000000 */ nop +/* 31FA7C 802BED0C 862200A8 */ lh $v0, 0xa8($s1) +/* 31FA80 802BED10 3C013F00 */ lui $at, 0x3f00 +/* 31FA84 802BED14 44810000 */ mtc1 $at, $f0 +/* 31FA88 802BED18 44822000 */ mtc1 $v0, $f4 +/* 31FA8C 802BED1C 00000000 */ nop +/* 31FA90 802BED20 46802120 */ cvt.s.w $f4, $f4 +/* 31FA94 802BED24 46002102 */ mul.s $f4, $f4, $f0 +/* 31FA98 802BED28 00000000 */ nop +/* 31FA9C 802BED2C C622003C */ lwc1 $f2, 0x3c($s1) +/* 31FAA0 802BED30 3C01802C */ lui $at, 0x802c +/* 31FAA4 802BED34 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31FAA8 802BED38 46020001 */ sub.s $f0, $f0, $f2 +/* 31FAAC 802BED3C C6220064 */ lwc1 $f2, 0x64($s1) +/* 31FAB0 802BED40 E7A00010 */ swc1 $f0, 0x10($sp) +/* 31FAB4 802BED44 46041080 */ add.s $f2, $f2, $f4 +/* 31FAB8 802BED48 8E250038 */ lw $a1, 0x38($s1) +/* 31FABC 802BED4C 8E270040 */ lw $a3, 0x40($s1) +/* 31FAC0 802BED50 44061000 */ mfc1 $a2, $f2 +/* 31FAC4 802BED54 080AFB87 */ j .L802BEE1C +/* 31FAC8 802BED58 00000000 */ nop +.L802BED5C: +/* 31FACC 802BED5C 3C01802C */ lui $at, 0x802c +/* 31FAD0 802BED60 C420FEF8 */ lwc1 $f0, -0x108($at) +/* 31FAD4 802BED64 44803000 */ mtc1 $zero, $f6 +/* 31FAD8 802BED68 00000000 */ nop +/* 31FADC 802BED6C 46060032 */ c.eq.s $f0, $f6 +/* 31FAE0 802BED70 00000000 */ nop +/* 31FAE4 802BED74 4501002B */ bc1t .L802BEE24 +/* 31FAE8 802BED78 28C20002 */ slti $v0, $a2, 2 +/* 31FAEC 802BED7C 10400029 */ beqz $v0, .L802BEE24 +/* 31FAF0 802BED80 3C032492 */ lui $v1, 0x2492 +/* 31FAF4 802BED84 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 31FAF8 802BED88 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 31FAFC 802BED8C 94440134 */ lhu $a0, 0x134($v0) +/* 31FB00 802BED90 34634925 */ ori $v1, $v1, 0x4925 +/* 31FB04 802BED94 00830019 */ multu $a0, $v1 +/* 31FB08 802BED98 00001810 */ mfhi $v1 +/* 31FB0C 802BED9C 00831023 */ subu $v0, $a0, $v1 +/* 31FB10 802BEDA0 00021042 */ srl $v0, $v0, 1 +/* 31FB14 802BEDA4 00621821 */ addu $v1, $v1, $v0 +/* 31FB18 802BEDA8 00031882 */ srl $v1, $v1, 2 +/* 31FB1C 802BEDAC 000310C0 */ sll $v0, $v1, 3 +/* 31FB20 802BEDB0 00431023 */ subu $v0, $v0, $v1 +/* 31FB24 802BEDB4 00822023 */ subu $a0, $a0, $v0 +/* 31FB28 802BEDB8 3084FFFF */ andi $a0, $a0, 0xffff +/* 31FB2C 802BEDBC 14800019 */ bnez $a0, .L802BEE24 +/* 31FB30 802BEDC0 26250038 */ addiu $a1, $s1, 0x38 +/* 31FB34 802BEDC4 862200A8 */ lh $v0, 0xa8($s1) +/* 31FB38 802BEDC8 3C013F00 */ lui $at, 0x3f00 +/* 31FB3C 802BEDCC 44811000 */ mtc1 $at, $f2 +/* 31FB40 802BEDD0 44820000 */ mtc1 $v0, $f0 +/* 31FB44 802BEDD4 00000000 */ nop +/* 31FB48 802BEDD8 46800020 */ cvt.s.w $f0, $f0 +/* 31FB4C 802BEDDC 46020002 */ mul.s $f0, $f0, $f2 +/* 31FB50 802BEDE0 00000000 */ nop +/* 31FB54 802BEDE4 C6220064 */ lwc1 $f2, 0x64($s1) +/* 31FB58 802BEDE8 26270040 */ addiu $a3, $s1, 0x40 +/* 31FB5C 802BEDEC 10C00007 */ beqz $a2, .L802BEE0C +/* 31FB60 802BEDF0 46001100 */ add.s $f4, $f2, $f0 +/* 31FB64 802BEDF4 3C01802C */ lui $at, 0x802c +/* 31FB68 802BEDF8 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 31FB6C 802BEDFC C622003C */ lwc1 $f2, 0x3c($s1) +/* 31FB70 802BEE00 46020001 */ sub.s $f0, $f0, $f2 +/* 31FB74 802BEE04 080AFB84 */ j .L802BEE10 +/* 31FB78 802BEE08 E7A00010 */ swc1 $f0, 0x10($sp) +.L802BEE0C: +/* 31FB7C 802BEE0C E7A60010 */ swc1 $f6, 0x10($sp) +.L802BEE10: +/* 31FB80 802BEE10 8CA50000 */ lw $a1, ($a1) +/* 31FB84 802BEE14 44062000 */ mfc1 $a2, $f4 +/* 31FB88 802BEE18 8CE70000 */ lw $a3, ($a3) +.L802BEE1C: +/* 31FB8C 802BEE1C 0C01C16C */ jal func_800705B0 +/* 31FB90 802BEE20 0000202D */ daddu $a0, $zero, $zero +.L802BEE24: +/* 31FB94 802BEE24 C6200038 */ lwc1 $f0, 0x38($s1) +/* 31FB98 802BEE28 3C01802C */ lui $at, 0x802c +/* 31FB9C 802BEE2C C422FEE0 */ lwc1 $f2, -0x120($at) +/* 31FBA0 802BEE30 3C03800B */ lui $v1, %hi(gCameras) +/* 31FBA4 802BEE34 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 31FBA8 802BEE38 E4600060 */ swc1 $f0, 0x60($v1) +/* 31FBAC 802BEE3C E4620064 */ swc1 $f2, 0x64($v1) +/* 31FBB0 802BEE40 8E82000C */ lw $v0, 0xc($s4) +/* 31FBB4 802BEE44 C6200040 */ lwc1 $f0, 0x40($s1) +/* 31FBB8 802BEE48 30424004 */ andi $v0, $v0, 0x4004 +/* 31FBBC 802BEE4C 14400006 */ bnez $v0, .L802BEE68 +/* 31FBC0 802BEE50 E4600068 */ swc1 $f0, 0x68($v1) +/* 31FBC4 802BEE54 3C02802C */ lui $v0, 0x802c +/* 31FBC8 802BEE58 8C42FEF0 */ lw $v0, -0x110($v0) +/* 31FBCC 802BEE5C 2842001E */ slti $v0, $v0, 0x1e +/* 31FBD0 802BEE60 144001A4 */ bnez $v0, .L802BF4F4 +/* 31FBD4 802BEE64 0000102D */ daddu $v0, $zero, $zero +.L802BEE68: +/* 31FBD8 802BEE68 3C02802C */ lui $v0, 0x802c +/* 31FBDC 802BEE6C 8C42FEF4 */ lw $v0, -0x10c($v0) +/* 31FBE0 802BEE70 144001A0 */ bnez $v0, .L802BF4F4 +/* 31FBE4 802BEE74 0000102D */ daddu $v0, $zero, $zero +/* 31FBE8 802BEE78 862200A8 */ lh $v0, 0xa8($s1) +/* 31FBEC 802BEE7C C6260038 */ lwc1 $f6, 0x38($s1) +/* 31FBF0 802BEE80 C6200064 */ lwc1 $f0, 0x64($s1) +/* 31FBF4 802BEE84 C6220040 */ lwc1 $f2, 0x40($s1) +/* 31FBF8 802BEE88 3C014120 */ lui $at, 0x4120 +/* 31FBFC 802BEE8C 44814000 */ mtc1 $at, $f8 +/* 31FC00 802BEE90 44822000 */ mtc1 $v0, $f4 +/* 31FC04 802BEE94 00000000 */ nop +/* 31FC08 802BEE98 46802120 */ cvt.s.w $f4, $f4 +/* 31FC0C 802BEE9C 46040000 */ add.s $f0, $f0, $f4 +/* 31FC10 802BEEA0 E7A60020 */ swc1 $f6, 0x20($sp) +/* 31FC14 802BEEA4 E7A20028 */ swc1 $f2, 0x28($sp) +/* 31FC18 802BEEA8 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31FC1C 802BEEAC E7A80010 */ swc1 $f8, 0x10($sp) +/* 31FC20 802BEEB0 C620000C */ lwc1 $f0, 0xc($s1) +/* 31FC24 802BEEB4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31FC28 802BEEB8 862200A8 */ lh $v0, 0xa8($s1) +/* 31FC2C 802BEEBC 27A50020 */ addiu $a1, $sp, 0x20 +/* 31FC30 802BEEC0 44820000 */ mtc1 $v0, $f0 +/* 31FC34 802BEEC4 00000000 */ nop +/* 31FC38 802BEEC8 46800020 */ cvt.s.w $f0, $f0 +/* 31FC3C 802BEECC E7A00018 */ swc1 $f0, 0x18($sp) +/* 31FC40 802BEED0 862200A6 */ lh $v0, 0xa6($s1) +/* 31FC44 802BEED4 27A60024 */ addiu $a2, $sp, 0x24 +/* 31FC48 802BEED8 44820000 */ mtc1 $v0, $f0 +/* 31FC4C 802BEEDC 00000000 */ nop +/* 31FC50 802BEEE0 46800020 */ cvt.s.w $f0, $f0 +/* 31FC54 802BEEE4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 31FC58 802BEEE8 8E240080 */ lw $a0, 0x80($s1) +/* 31FC5C 802BEEEC 0C0376B9 */ jal func_800DDAE4 +/* 31FC60 802BEEF0 27A70028 */ addiu $a3, $sp, 0x28 +/* 31FC64 802BEEF4 10400004 */ beqz $v0, .L802BEF08 +/* 31FC68 802BEEF8 2402FFFF */ addiu $v0, $zero, -1 +/* 31FC6C 802BEEFC 3C028011 */ lui $v0, 0x8011 +/* 31FC70 802BEF00 9442C97A */ lhu $v0, -0x3686($v0) +/* 31FC74 802BEF04 A6220086 */ sh $v0, 0x86($s1) +.L802BEF08: +/* 31FC78 802BEF08 A6C20000 */ sh $v0, ($s6) +/* 31FC7C 802BEF0C 86240086 */ lh $a0, 0x86($s1) +/* 31FC80 802BEF10 96220086 */ lhu $v0, 0x86($s1) +/* 31FC84 802BEF14 04800009 */ bltz $a0, .L802BEF3C +/* 31FC88 802BEF18 30424000 */ andi $v0, $v0, 0x4000 +/* 31FC8C 802BEF1C 14400007 */ bnez $v0, .L802BEF3C +/* 31FC90 802BEF20 00000000 */ nop +/* 31FC94 802BEF24 0C016F6A */ jal get_collider_type_by_id +/* 31FC98 802BEF28 00000000 */ nop +/* 31FC9C 802BEF2C 304200FF */ andi $v0, $v0, 0xff +/* 31FCA0 802BEF30 24030004 */ addiu $v1, $zero, 4 +/* 31FCA4 802BEF34 10430011 */ beq $v0, $v1, .L802BEF7C +/* 31FCA8 802BEF38 AFA20040 */ sw $v0, 0x40($sp) +.L802BEF3C: +/* 31FCAC 802BEF3C 3C03802C */ lui $v1, 0x802c +/* 31FCB0 802BEF40 8C63FEE4 */ lw $v1, -0x11c($v1) +/* 31FCB4 802BEF44 24020002 */ addiu $v0, $zero, 2 +/* 31FCB8 802BEF48 1462016A */ bne $v1, $v0, .L802BF4F4 +/* 31FCBC 802BEF4C 0000102D */ daddu $v0, $zero, $zero +/* 31FCC0 802BEF50 3C03802C */ lui $v1, 0x802c +/* 31FCC4 802BEF54 8C63FEE8 */ lw $v1, -0x118($v1) +/* 31FCC8 802BEF58 24020001 */ addiu $v0, $zero, 1 +/* 31FCCC 802BEF5C 14620165 */ bne $v1, $v0, .L802BF4F4 +/* 31FCD0 802BEF60 0000102D */ daddu $v0, $zero, $zero +/* 31FCD4 802BEF64 24040294 */ addiu $a0, $zero, 0x294 +/* 31FCD8 802BEF68 0000282D */ daddu $a1, $zero, $zero +/* 31FCDC 802BEF6C 0C052742 */ jal play_sound_at_npc +/* 31FCE0 802BEF70 2406FFFC */ addiu $a2, $zero, -4 +/* 31FCE4 802BEF74 080AFD3D */ j .L802BF4F4 +/* 31FCE8 802BEF78 0000102D */ daddu $v0, $zero, $zero +.L802BEF7C: +/* 31FCEC 802BEF7C 27B00020 */ addiu $s0, $sp, 0x20 +/* 31FCF0 802BEF80 0200202D */ daddu $a0, $s0, $zero +/* 31FCF4 802BEF84 27B40028 */ addiu $s4, $sp, 0x28 +/* 31FCF8 802BEF88 3C064220 */ lui $a2, 0x4220 +/* 31FCFC 802BEF8C 8E27000C */ lw $a3, 0xc($s1) +/* 31FD00 802BEF90 C6240038 */ lwc1 $f4, 0x38($s1) +/* 31FD04 802BEF94 C6200064 */ lwc1 $f0, 0x64($s1) +/* 31FD08 802BEF98 3C0142C8 */ lui $at, 0x42c8 +/* 31FD0C 802BEF9C 4481A000 */ mtc1 $at, $f20 +/* 31FD10 802BEFA0 C6220040 */ lwc1 $f2, 0x40($s1) +/* 31FD14 802BEFA4 0280282D */ daddu $a1, $s4, $zero +/* 31FD18 802BEFA8 3C01802C */ lui $at, 0x802c +/* 31FD1C 802BEFAC AC20FEF0 */ sw $zero, -0x110($at) +/* 31FD20 802BEFB0 46140000 */ add.s $f0, $f0, $f20 +/* 31FD24 802BEFB4 E7A40020 */ swc1 $f4, 0x20($sp) +/* 31FD28 802BEFB8 E7A20028 */ swc1 $f2, 0x28($sp) +/* 31FD2C 802BEFBC 0C00A7E7 */ jal add_vec2D_polar +/* 31FD30 802BEFC0 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31FD34 802BEFC4 0200282D */ daddu $a1, $s0, $zero +/* 31FD38 802BEFC8 27B60030 */ addiu $s6, $sp, 0x30 +/* 31FD3C 802BEFCC 27B30024 */ addiu $s3, $sp, 0x24 +/* 31FD40 802BEFD0 E7B40030 */ swc1 $f20, 0x30($sp) +/* 31FD44 802BEFD4 AFB60010 */ sw $s6, 0x10($sp) +/* 31FD48 802BEFD8 C620000C */ lwc1 $f0, 0xc($s1) +/* 31FD4C 802BEFDC 0260302D */ daddu $a2, $s3, $zero +/* 31FD50 802BEFE0 AFA00018 */ sw $zero, 0x18($sp) +/* 31FD54 802BEFE4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31FD58 802BEFE8 8E240080 */ lw $a0, 0x80($s1) +/* 31FD5C 802BEFEC 0C0371DE */ jal func_800DC778 +/* 31FD60 802BEFF0 0280382D */ daddu $a3, $s4, $zero +/* 31FD64 802BEFF4 1040013E */ beqz $v0, .L802BF4F0 +/* 31FD68 802BEFF8 AFA20040 */ sw $v0, 0x40($sp) +/* 31FD6C 802BEFFC 0200282D */ daddu $a1, $s0, $zero +/* 31FD70 802BF000 0260302D */ daddu $a2, $s3, $zero +/* 31FD74 802BF004 86240086 */ lh $a0, 0x86($s1) +/* 31FD78 802BF008 0C016F84 */ jal get_collider_center +/* 31FD7C 802BF00C 0280382D */ daddu $a3, $s4, $zero +/* 31FD80 802BF010 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 31FD84 802BF014 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31FD88 802BF018 8FA60020 */ lw $a2, 0x20($sp) +/* 31FD8C 802BF01C 0C00A7B5 */ jal dist2D +/* 31FD90 802BF020 8FA70028 */ lw $a3, 0x28($sp) +/* 31FD94 802BF024 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 31FD98 802BF028 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 31FD9C 802BF02C 8FA60020 */ lw $a2, 0x20($sp) +/* 31FDA0 802BF030 8FA70028 */ lw $a3, 0x28($sp) +/* 31FDA4 802BF034 0C00A720 */ jal atan2 +/* 31FDA8 802BF038 E7A00030 */ swc1 $f0, 0x30($sp) +/* 31FDAC 802BF03C 3C0140C9 */ lui $at, 0x40c9 +/* 31FDB0 802BF040 34210FD0 */ ori $at, $at, 0xfd0 +/* 31FDB4 802BF044 44811000 */ mtc1 $at, $f2 +/* 31FDB8 802BF048 00000000 */ nop +/* 31FDBC 802BF04C 46020002 */ mul.s $f0, $f0, $f2 +/* 31FDC0 802BF050 00000000 */ nop +/* 31FDC4 802BF054 27A50038 */ addiu $a1, $sp, 0x38 +/* 31FDC8 802BF058 3C0143B4 */ lui $at, 0x43b4 +/* 31FDCC 802BF05C 44816000 */ mtc1 $at, $f12 +/* 31FDD0 802BF060 27A6003C */ addiu $a2, $sp, 0x3c +/* 31FDD4 802BF064 0C00A82D */ jal sin_cos_rad +/* 31FDD8 802BF068 460C0303 */ div.s $f12, $f0, $f12 +/* 31FDDC 802BF06C C7A60038 */ lwc1 $f6, 0x38($sp) +/* 31FDE0 802BF070 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 31FDE4 802BF074 46023182 */ mul.s $f6, $f6, $f2 +/* 31FDE8 802BF078 00000000 */ nop +/* 31FDEC 802BF07C 3C01802C */ lui $at, 0x802c +/* 31FDF0 802BF080 D420FED0 */ ldc1 $f0, -0x130($at) +/* 31FDF4 802BF084 460031A1 */ cvt.d.s $f6, $f6 +/* 31FDF8 802BF088 46203182 */ mul.d $f6, $f6, $f0 +/* 31FDFC 802BF08C 00000000 */ nop +/* 31FE00 802BF090 C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 31FE04 802BF094 46022102 */ mul.s $f4, $f4, $f2 +/* 31FE08 802BF098 00000000 */ nop +/* 31FE0C 802BF09C 46002121 */ cvt.d.s $f4, $f4 +/* 31FE10 802BF0A0 46202102 */ mul.d $f4, $f4, $f0 +/* 31FE14 802BF0A4 00000000 */ nop +/* 31FE18 802BF0A8 C6220038 */ lwc1 $f2, 0x38($s1) +/* 31FE1C 802BF0AC 460010A1 */ cvt.d.s $f2, $f2 +/* 31FE20 802BF0B0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 31FE24 802BF0B4 46261080 */ add.d $f2, $f2, $f6 +/* 31FE28 802BF0B8 0200282D */ daddu $a1, $s0, $zero +/* 31FE2C 802BF0BC 46000021 */ cvt.d.s $f0, $f0 +/* 31FE30 802BF0C0 46240001 */ sub.d $f0, $f0, $f4 +/* 31FE34 802BF0C4 E7B40030 */ swc1 $f20, 0x30($sp) +/* 31FE38 802BF0C8 462010A0 */ cvt.s.d $f2, $f2 +/* 31FE3C 802BF0CC 46200020 */ cvt.s.d $f0, $f0 +/* 31FE40 802BF0D0 E7A20020 */ swc1 $f2, 0x20($sp) +/* 31FE44 802BF0D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 31FE48 802BF0D8 AFB60010 */ sw $s6, 0x10($sp) +/* 31FE4C 802BF0DC C620000C */ lwc1 $f0, 0xc($s1) +/* 31FE50 802BF0E0 0260302D */ daddu $a2, $s3, $zero +/* 31FE54 802BF0E4 AFA00018 */ sw $zero, 0x18($sp) +/* 31FE58 802BF0E8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 31FE5C 802BF0EC 8E240080 */ lw $a0, 0x80($s1) +/* 31FE60 802BF0F0 0C0371DE */ jal func_800DC778 +/* 31FE64 802BF0F4 0280382D */ daddu $a3, $s4, $zero +/* 31FE68 802BF0F8 C7A00024 */ lwc1 $f0, 0x24($sp) +/* 31FE6C 802BF0FC C7A20020 */ lwc1 $f2, 0x20($sp) +/* 31FE70 802BF100 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 31FE74 802BF104 E6200064 */ swc1 $f0, 0x64($s1) +/* 31FE78 802BF108 E6220060 */ swc1 $f2, 0x60($s1) +/* 31FE7C 802BF10C E6240068 */ swc1 $f4, 0x68($s1) +/* 31FE80 802BF110 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 31FE84 802BF114 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 31FE88 802BF118 44061000 */ mfc1 $a2, $f2 +/* 31FE8C 802BF11C 44072000 */ mfc1 $a3, $f4 +/* 31FE90 802BF120 0C00A720 */ jal atan2 +/* 31FE94 802BF124 00000000 */ nop +/* 31FE98 802BF128 E6400080 */ swc1 $f0, 0x80($s2) +/* 31FE9C 802BF12C E620000C */ swc1 $f0, 0xc($s1) +/* 31FEA0 802BF130 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 31FEA4 802BF134 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 31FEA8 802BF138 8E260060 */ lw $a2, 0x60($s1) +/* 31FEAC 802BF13C 0C00A7B5 */ jal dist2D +/* 31FEB0 802BF140 8E270068 */ lw $a3, 0x68($s1) +/* 31FEB4 802BF144 3C0140A0 */ lui $at, 0x40a0 +/* 31FEB8 802BF148 44811000 */ mtc1 $at, $f2 +/* 31FEBC 802BF14C 3C013F19 */ lui $at, 0x3f19 +/* 31FEC0 802BF150 3421999A */ ori $at, $at, 0x999a +/* 31FEC4 802BF154 44812000 */ mtc1 $at, $f4 +/* 31FEC8 802BF158 24042081 */ addiu $a0, $zero, 0x2081 +/* 31FECC 802BF15C E622001C */ swc1 $f2, 0x1c($s1) +/* 31FED0 802BF160 46021080 */ add.s $f2, $f2, $f2 +/* 31FED4 802BF164 0000282D */ daddu $a1, $zero, $zero +/* 31FED8 802BF168 E6240014 */ swc1 $f4, 0x14($s1) +/* 31FEDC 802BF16C 46041083 */ div.s $f2, $f2, $f4 +/* 31FEE0 802BF170 4600140D */ trunc.w.s $f16, $f2 +/* 31FEE4 802BF174 44028000 */ mfc1 $v0, $f16 +/* 31FEE8 802BF178 00000000 */ nop +/* 31FEEC 802BF17C A622008E */ sh $v0, 0x8e($s1) +/* 31FEF0 802BF180 00021400 */ sll $v0, $v0, 0x10 +/* 31FEF4 802BF184 00021403 */ sra $v0, $v0, 0x10 +/* 31FEF8 802BF188 44821000 */ mtc1 $v0, $f2 +/* 31FEFC 802BF18C 00000000 */ nop +/* 31FF00 802BF190 468010A0 */ cvt.s.w $f2, $f2 +/* 31FF04 802BF194 46020083 */ div.s $f2, $f0, $f2 +/* 31FF08 802BF198 E6220018 */ swc1 $f2, 0x18($s1) +/* 31FF0C 802BF19C C6220064 */ lwc1 $f2, 0x64($s1) +/* 31FF10 802BF1A0 C644002C */ lwc1 $f4, 0x2c($s2) +/* 31FF14 802BF1A4 8622008E */ lh $v0, 0x8e($s1) +/* 31FF18 802BF1A8 46041081 */ sub.s $f2, $f2, $f4 +/* 31FF1C 802BF1AC 44823000 */ mtc1 $v0, $f6 +/* 31FF20 802BF1B0 00000000 */ nop +/* 31FF24 802BF1B4 468031A0 */ cvt.s.w $f6, $f6 +/* 31FF28 802BF1B8 C624001C */ lwc1 $f4, 0x1c($s1) +/* 31FF2C 802BF1BC 46061083 */ div.s $f2, $f2, $f6 +/* 31FF30 802BF1C0 46022100 */ add.s $f4, $f4, $f2 +/* 31FF34 802BF1C4 2406FFFC */ addiu $a2, $zero, -4 +/* 31FF38 802BF1C8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 31FF3C 802BF1CC 0C052742 */ jal play_sound_at_npc +/* 31FF40 802BF1D0 E624001C */ swc1 $f4, 0x1c($s1) +/* 31FF44 802BF1D4 3C040001 */ lui $a0, 1 +/* 31FF48 802BF1D8 0C037FBF */ jal func_800DFEFC +/* 31FF4C 802BF1DC 34840006 */ ori $a0, $a0, 6 +/* 31FF50 802BF1E0 0C03802C */ jal enable_player_shadow +/* 31FF54 802BF1E4 00000000 */ nop +/* 31FF58 802BF1E8 8E420000 */ lw $v0, ($s2) +/* 31FF5C 802BF1EC 3C030040 */ lui $v1, 0x40 +/* 31FF60 802BF1F0 00431025 */ or $v0, $v0, $v1 +/* 31FF64 802BF1F4 AE420000 */ sw $v0, ($s2) +/* 31FF68 802BF1F8 24020003 */ addiu $v0, $zero, 3 +/* 31FF6C 802BF1FC 080AFD3C */ j .L802BF4F0 +/* 31FF70 802BF200 AEA20070 */ sw $v0, 0x70($s5) +/* 31FF74 802BF204 3C040001 */ lui $a0, 1 +/* 31FF78 802BF208 0C037FBF */ jal func_800DFEFC +/* 31FF7C 802BF20C 34840007 */ ori $a0, $a0, 7 +/* 31FF80 802BF210 8EA20070 */ lw $v0, 0x70($s5) +/* 31FF84 802BF214 24420001 */ addiu $v0, $v0, 1 +/* 31FF88 802BF218 AEA20070 */ sw $v0, 0x70($s5) +/* 31FF8C 802BF21C C622001C */ lwc1 $f2, 0x1c($s1) +/* 31FF90 802BF220 44800000 */ mtc1 $zero, $f0 +/* 31FF94 802BF224 00000000 */ nop +/* 31FF98 802BF228 4600103E */ c.le.s $f2, $f0 +/* 31FF9C 802BF22C 00000000 */ nop +/* 31FFA0 802BF230 45000006 */ bc1f .L802BF24C +/* 31FFA4 802BF234 3C040001 */ lui $a0, 1 +/* 31FFA8 802BF238 0C037FBF */ jal func_800DFEFC +/* 31FFAC 802BF23C 34840008 */ ori $a0, $a0, 8 +/* 31FFB0 802BF240 8EA20070 */ lw $v0, 0x70($s5) +/* 31FFB4 802BF244 24420001 */ addiu $v0, $v0, 1 +/* 31FFB8 802BF248 AEA20070 */ sw $v0, 0x70($s5) +.L802BF24C: +/* 31FFBC 802BF24C C62C001C */ lwc1 $f12, 0x1c($s1) +/* 31FFC0 802BF250 44800000 */ mtc1 $zero, $f0 +/* 31FFC4 802BF254 00000000 */ nop +/* 31FFC8 802BF258 4600603E */ c.le.s $f12, $f0 +/* 31FFCC 802BF25C 00000000 */ nop +/* 31FFD0 802BF260 4500000C */ bc1f .L802BF294 +/* 31FFD4 802BF264 00000000 */ nop +/* 31FFD8 802BF268 0C038D45 */ jal func_800E3514 +/* 31FFDC 802BF26C 27A50040 */ addiu $a1, $sp, 0x40 +/* 31FFE0 802BF270 8FA20040 */ lw $v0, 0x40($sp) +/* 31FFE4 802BF274 E7A00024 */ swc1 $f0, 0x24($sp) +/* 31FFE8 802BF278 18400009 */ blez $v0, .L802BF2A0 +/* 31FFEC 802BF27C E640002C */ swc1 $f0, 0x2c($s2) +/* 31FFF0 802BF280 3C040001 */ lui $a0, 1 +/* 31FFF4 802BF284 0C037FBF */ jal func_800DFEFC +/* 31FFF8 802BF288 34840009 */ ori $a0, $a0, 9 +/* 31FFFC 802BF28C 080AFCA8 */ j .L802BF2A0 +/* 320000 802BF290 00000000 */ nop +.L802BF294: +/* 320004 802BF294 C640002C */ lwc1 $f0, 0x2c($s2) +/* 320008 802BF298 460C0000 */ add.s $f0, $f0, $f12 +/* 32000C 802BF29C E640002C */ swc1 $f0, 0x2c($s2) +.L802BF2A0: +/* 320010 802BF2A0 C620001C */ lwc1 $f0, 0x1c($s1) +/* 320014 802BF2A4 C6220014 */ lwc1 $f2, 0x14($s1) +/* 320018 802BF2A8 46020001 */ sub.s $f0, $f0, $f2 +/* 32001C 802BF2AC 3C02800B */ lui $v0, %hi(gCameras) +/* 320020 802BF2B0 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 320024 802BF2B4 E620001C */ swc1 $f0, 0x1c($s1) +/* 320028 802BF2B8 C6400028 */ lwc1 $f0, 0x28($s2) +/* 32002C 802BF2BC C642002C */ lwc1 $f2, 0x2c($s2) +/* 320030 802BF2C0 C6440030 */ lwc1 $f4, 0x30($s2) +/* 320034 802BF2C4 26440028 */ addiu $a0, $s2, 0x28 +/* 320038 802BF2C8 E4400060 */ swc1 $f0, 0x60($v0) +/* 32003C 802BF2CC E4420064 */ swc1 $f2, 0x64($v0) +/* 320040 802BF2D0 E4440068 */ swc1 $f4, 0x68($v0) +/* 320044 802BF2D4 8622008E */ lh $v0, 0x8e($s1) +/* 320048 802BF2D8 10400007 */ beqz $v0, .L802BF2F8 +/* 32004C 802BF2DC 26450030 */ addiu $a1, $s2, 0x30 +/* 320050 802BF2E0 8E260018 */ lw $a2, 0x18($s1) +/* 320054 802BF2E4 0C00A7E7 */ jal add_vec2D_polar +/* 320058 802BF2E8 8E27000C */ lw $a3, 0xc($s1) +/* 32005C 802BF2EC 9622008E */ lhu $v0, 0x8e($s1) +/* 320060 802BF2F0 080AFD3B */ j .L802BF4EC +/* 320064 802BF2F4 2442FFFF */ addiu $v0, $v0, -1 +.L802BF2F8: +/* 320068 802BF2F8 8FA20040 */ lw $v0, 0x40($sp) +/* 32006C 802BF2FC 0440007C */ bltz $v0, .L802BF4F0 +/* 320070 802BF300 3C03FFBF */ lui $v1, 0xffbf +/* 320074 802BF304 3463FFFF */ ori $v1, $v1, 0xffff +/* 320078 802BF308 3C040001 */ lui $a0, 1 +/* 32007C 802BF30C 8E420000 */ lw $v0, ($s2) +/* 320080 802BF310 34840002 */ ori $a0, $a0, 2 +/* 320084 802BF314 00431024 */ and $v0, $v0, $v1 +/* 320088 802BF318 0C037FBF */ jal func_800DFEFC +/* 32008C 802BF31C AE420000 */ sw $v0, ($s2) +/* 320090 802BF320 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 320094 802BF324 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 320098 802BF328 8E260060 */ lw $a2, 0x60($s1) +/* 32009C 802BF32C 8E220000 */ lw $v0, ($s1) +/* 3200A0 802BF330 8E270068 */ lw $a3, 0x68($s1) +/* 3200A4 802BF334 34420040 */ ori $v0, $v0, 0x40 +/* 3200A8 802BF338 0C00A7B5 */ jal dist2D +/* 3200AC 802BF33C AE220000 */ sw $v0, ($s1) +/* 3200B0 802BF340 864200B2 */ lh $v0, 0xb2($s2) +/* 3200B4 802BF344 3C013F00 */ lui $at, 0x3f00 +/* 3200B8 802BF348 44811000 */ mtc1 $at, $f2 +/* 3200BC 802BF34C 3C014100 */ lui $at, 0x4100 +/* 3200C0 802BF350 44814000 */ mtc1 $at, $f8 +/* 3200C4 802BF354 3C013F80 */ lui $at, 0x3f80 +/* 3200C8 802BF358 44815000 */ mtc1 $at, $f10 +/* 3200CC 802BF35C C6260064 */ lwc1 $f6, 0x64($s1) +/* 3200D0 802BF360 44822000 */ mtc1 $v0, $f4 +/* 3200D4 802BF364 00000000 */ nop +/* 3200D8 802BF368 46802120 */ cvt.s.w $f4, $f4 +/* 3200DC 802BF36C 46022102 */ mul.s $f4, $f4, $f2 +/* 3200E0 802BF370 00000000 */ nop +/* 3200E4 802BF374 C622003C */ lwc1 $f2, 0x3c($s1) +/* 3200E8 802BF378 E628001C */ swc1 $f8, 0x1c($s1) +/* 3200EC 802BF37C 3C014080 */ lui $at, 0x4080 +/* 3200F0 802BF380 44814000 */ mtc1 $at, $f8 +/* 3200F4 802BF384 46023181 */ sub.s $f6, $f6, $f2 +/* 3200F8 802BF388 C622001C */ lwc1 $f2, 0x1c($s1) +/* 3200FC 802BF38C E62A0014 */ swc1 $f10, 0x14($s1) +/* 320100 802BF390 46021080 */ add.s $f2, $f2, $f2 +/* 320104 802BF394 E6280018 */ swc1 $f8, 0x18($s1) +/* 320108 802BF398 E7A60024 */ swc1 $f6, 0x24($sp) +/* 32010C 802BF39C 460A1083 */ div.s $f2, $f2, $f10 +/* 320110 802BF3A0 4600140D */ trunc.w.s $f16, $f2 +/* 320114 802BF3A4 44028000 */ mfc1 $v0, $f16 +/* 320118 802BF3A8 00000000 */ nop +/* 32011C 802BF3AC A622008E */ sh $v0, 0x8e($s1) +/* 320120 802BF3B0 00021400 */ sll $v0, $v0, 0x10 +/* 320124 802BF3B4 00021403 */ sra $v0, $v0, 0x10 +/* 320128 802BF3B8 46040000 */ add.s $f0, $f0, $f4 +/* 32012C 802BF3BC 44824000 */ mtc1 $v0, $f8 +/* 320130 802BF3C0 00000000 */ nop +/* 320134 802BF3C4 46804220 */ cvt.s.w $f8, $f8 +/* 320138 802BF3C8 2402000A */ addiu $v0, $zero, 0xa +/* 32013C 802BF3CC E7A00030 */ swc1 $f0, 0x30($sp) +/* 320140 802BF3D0 8623008E */ lh $v1, 0x8e($s1) +/* 320144 802BF3D4 C622001C */ lwc1 $f2, 0x1c($s1) +/* 320148 802BF3D8 44832000 */ mtc1 $v1, $f4 +/* 32014C 802BF3DC 00000000 */ nop +/* 320150 802BF3E0 46802120 */ cvt.s.w $f4, $f4 +/* 320154 802BF3E4 46043183 */ div.s $f6, $f6, $f4 +/* 320158 802BF3E8 46061080 */ add.s $f2, $f2, $f6 +/* 32015C 802BF3EC 46080003 */ div.s $f0, $f0, $f8 +/* 320160 802BF3F0 E6200018 */ swc1 $f0, 0x18($s1) +/* 320164 802BF3F4 E622001C */ swc1 $f2, 0x1c($s1) +/* 320168 802BF3F8 080AFD3C */ j .L802BF4F0 +/* 32016C 802BF3FC AEA20070 */ sw $v0, 0x70($s5) +/* 320170 802BF400 26240038 */ addiu $a0, $s1, 0x38 +/* 320174 802BF404 C624003C */ lwc1 $f4, 0x3c($s1) +/* 320178 802BF408 C620001C */ lwc1 $f0, 0x1c($s1) +/* 32017C 802BF40C 8E260018 */ lw $a2, 0x18($s1) +/* 320180 802BF410 46002100 */ add.s $f4, $f4, $f0 +/* 320184 802BF414 C6220014 */ lwc1 $f2, 0x14($s1) +/* 320188 802BF418 8E27000C */ lw $a3, 0xc($s1) +/* 32018C 802BF41C 46020001 */ sub.s $f0, $f0, $f2 +/* 320190 802BF420 26250040 */ addiu $a1, $s1, 0x40 +/* 320194 802BF424 E624003C */ swc1 $f4, 0x3c($s1) +/* 320198 802BF428 0C00A7E7 */ jal add_vec2D_polar +/* 32019C 802BF42C E620001C */ swc1 $f0, 0x1c($s1) +/* 3201A0 802BF430 8622008E */ lh $v0, 0x8e($s1) +/* 3201A4 802BF434 9623008E */ lhu $v1, 0x8e($s1) +/* 3201A8 802BF438 1440002C */ bnez $v0, .L802BF4EC +/* 3201AC 802BF43C 2462FFFF */ addiu $v0, $v1, -1 +/* 3201B0 802BF440 0C038050 */ jal enable_player_static_collisions +/* 3201B4 802BF444 00000000 */ nop +/* 3201B8 802BF448 0C038069 */ jal enable_player_input +/* 3201BC 802BF44C 00000000 */ nop +/* 3201C0 802BF450 0C039769 */ jal set_action_state +/* 3201C4 802BF454 0000202D */ daddu $a0, $zero, $zero +/* 3201C8 802BF458 0C00EAE8 */ jal enable_npc_shadow +/* 3201CC 802BF45C 0220202D */ daddu $a0, $s1, $zero +/* 3201D0 802BF460 0C03BD17 */ jal clear_partner_move_history +/* 3201D4 802BF464 0220202D */ daddu $a0, $s1, $zero +/* 3201D8 802BF468 3C040001 */ lui $a0, 1 +/* 3201DC 802BF46C 34840002 */ ori $a0, $a0, 2 +/* 3201E0 802BF470 0000282D */ daddu $a1, $zero, $zero +/* 3201E4 802BF474 00A0302D */ daddu $a2, $a1, $zero +/* 3201E8 802BF478 00A0382D */ daddu $a3, $a1, $zero +/* 3201EC 802BF47C 8E220000 */ lw $v0, ($s1) +/* 3201F0 802BF480 3C088007 */ lui $t0, %hi(gGameStatusPtr) +/* 3201F4 802BF484 8D08419C */ lw $t0, %lo(gGameStatusPtr)($t0) +/* 3201F8 802BF488 2403FFF7 */ addiu $v1, $zero, -9 +/* 3201FC 802BF48C 3C01802C */ lui $at, 0x802c +/* 320200 802BF490 AC20FEEC */ sw $zero, -0x114($at) +/* 320204 802BF494 00431024 */ and $v0, $v0, $v1 +/* 320208 802BF498 34420200 */ ori $v0, $v0, 0x200 +/* 32020C 802BF49C 2403FFBF */ addiu $v1, $zero, -0x41 +/* 320210 802BF4A0 00431024 */ and $v0, $v0, $v1 +/* 320214 802BF4A4 AE220000 */ sw $v0, ($s1) +/* 320218 802BF4A8 A100007D */ sb $zero, 0x7d($t0) +/* 32021C 802BF4AC A2800000 */ sb $zero, ($s4) +/* 320220 802BF4B0 A2800003 */ sb $zero, 3($s4) +/* 320224 802BF4B4 AFA00010 */ sw $zero, 0x10($sp) +/* 320228 802BF4B8 AFA00014 */ sw $zero, 0x14($sp) +/* 32022C 802BF4BC 0C0B77FE */ jal func_802DDFF8 +/* 320230 802BF4C0 AFA00018 */ sw $zero, 0x18($sp) +/* 320234 802BF4C4 0220202D */ daddu $a0, $s1, $zero +/* 320238 802BF4C8 0000282D */ daddu $a1, $zero, $zero +/* 32023C 802BF4CC 00A0302D */ daddu $a2, $a1, $zero +/* 320240 802BF4D0 00A0382D */ daddu $a3, $a1, $zero +/* 320244 802BF4D4 AFA00010 */ sw $zero, 0x10($sp) +/* 320248 802BF4D8 AFA00014 */ sw $zero, 0x14($sp) +/* 32024C 802BF4DC 0C00F589 */ jal func_8003D624 +/* 320250 802BF4E0 AFA00018 */ sw $zero, 0x18($sp) +/* 320254 802BF4E4 080AFD3D */ j .L802BF4F4 +/* 320258 802BF4E8 24020001 */ addiu $v0, $zero, 1 +.L802BF4EC: +/* 32025C 802BF4EC A622008E */ sh $v0, 0x8e($s1) +.L802BF4F0: +/* 320260 802BF4F0 0000102D */ daddu $v0, $zero, $zero +.L802BF4F4: +/* 320264 802BF4F4 8FBF0064 */ lw $ra, 0x64($sp) +/* 320268 802BF4F8 8FB60060 */ lw $s6, 0x60($sp) +/* 32026C 802BF4FC 8FB5005C */ lw $s5, 0x5c($sp) +/* 320270 802BF500 8FB40058 */ lw $s4, 0x58($sp) +/* 320274 802BF504 8FB30054 */ lw $s3, 0x54($sp) +/* 320278 802BF508 8FB20050 */ lw $s2, 0x50($sp) +/* 32027C 802BF50C 8FB1004C */ lw $s1, 0x4c($sp) +/* 320280 802BF510 8FB00048 */ lw $s0, 0x48($sp) +/* 320284 802BF514 D7B40068 */ ldc1 $f20, 0x68($sp) +/* 320288 802BF518 03E00008 */ jr $ra +/* 32028C 802BF51C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_31DE70/func_802BF520.s b/asm/nonmatchings/code_31DE70/func_802BF520.s new file mode 100644 index 0000000000..3d55dc9bd4 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF520.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF520 +/* 320290 802BF520 24020018 */ addiu $v0, $zero, 0x18 +/* 320294 802BF524 A48200A8 */ sh $v0, 0xa8($a0) +/* 320298 802BF528 24020024 */ addiu $v0, $zero, 0x24 +/* 32029C 802BF52C A48200A6 */ sh $v0, 0xa6($a0) +/* 3202A0 802BF530 3C020001 */ lui $v0, 1 +/* 3202A4 802BF534 AC820080 */ sw $v0, 0x80($a0) +/* 3202A8 802BF538 3C01802C */ lui $at, 0x802c +/* 3202AC 802BF53C AC20FEEC */ sw $zero, -0x114($at) +/* 3202B0 802BF540 3C01802C */ lui $at, 0x802c +/* 3202B4 802BF544 AC20FEE4 */ sw $zero, -0x11c($at) +/* 3202B8 802BF548 3C01802C */ lui $at, 0x802c +/* 3202BC 802BF54C AC20FEE8 */ sw $zero, -0x118($at) +/* 3202C0 802BF550 3C01802C */ lui $at, 0x802c +/* 3202C4 802BF554 AC20FEF0 */ sw $zero, -0x110($at) +/* 3202C8 802BF558 3C01802C */ lui $at, 0x802c +/* 3202CC 802BF55C AC20FEF4 */ sw $zero, -0x10c($at) +/* 3202D0 802BF560 03E00008 */ jr $ra +/* 3202D4 802BF564 00000000 */ nop diff --git a/asm/nonmatchings/code_31DE70/func_802BF568.s b/asm/nonmatchings/code_31DE70/func_802BF568.s new file mode 100644 index 0000000000..dc0a0d5ae8 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF568.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF568 +/* 3202D8 802BF568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3202DC 802BF56C AFBF0014 */ sw $ra, 0x14($sp) +/* 3202E0 802BF570 AFB00010 */ sw $s0, 0x10($sp) +/* 3202E4 802BF574 10A00003 */ beqz $a1, .L802BF584 +/* 3202E8 802BF578 8C90014C */ lw $s0, 0x14c($a0) +/* 3202EC 802BF57C 0C03BB31 */ jal func_800EECC4 +/* 3202F0 802BF580 0200202D */ daddu $a0, $s0, $zero +.L802BF584: +/* 3202F4 802BF584 0C03BB3A */ jal func_800EECE8 +/* 3202F8 802BF588 0200202D */ daddu $a0, $s0, $zero +/* 3202FC 802BF58C 8FBF0014 */ lw $ra, 0x14($sp) +/* 320300 802BF590 8FB00010 */ lw $s0, 0x10($sp) +/* 320304 802BF594 0002102B */ sltu $v0, $zero, $v0 +/* 320308 802BF598 03E00008 */ jr $ra +/* 32030C 802BF59C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31DE70/func_802BF5A0.s b/asm/nonmatchings/code_31DE70/func_802BF5A0.s new file mode 100644 index 0000000000..fb9c86adda --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF5A0.s @@ -0,0 +1,242 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF5A0 +/* 320310 802BF5A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 320314 802BF5A4 AFBF0028 */ sw $ra, 0x28($sp) +/* 320318 802BF5A8 AFB30024 */ sw $s3, 0x24($sp) +/* 32031C 802BF5AC AFB20020 */ sw $s2, 0x20($sp) +/* 320320 802BF5B0 AFB1001C */ sw $s1, 0x1c($sp) +/* 320324 802BF5B4 AFB00018 */ sw $s0, 0x18($sp) +/* 320328 802BF5B8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 32032C 802BF5BC 8C91014C */ lw $s1, 0x14c($a0) +/* 320330 802BF5C0 10A00009 */ beqz $a1, .L802BF5E8 +/* 320334 802BF5C4 0220202D */ daddu $a0, $s1, $zero +/* 320338 802BF5C8 0C03AE2A */ jal enable_partner_walking +/* 32033C 802BF5CC 24050001 */ addiu $a1, $zero, 1 +/* 320340 802BF5D0 3C04802C */ lui $a0, 0x802c +/* 320344 802BF5D4 8C84FDF8 */ lw $a0, -0x208($a0) +/* 320348 802BF5D8 0C00A580 */ jal mem_clear +/* 32034C 802BF5DC 2405001C */ addiu $a1, $zero, 0x1c +/* 320350 802BF5E0 3C018011 */ lui $at, 0x8011 +/* 320354 802BF5E4 AC20C954 */ sw $zero, -0x36ac($at) +.L802BF5E8: +/* 320358 802BF5E8 3C138011 */ lui $s3, 0x8011 +/* 32035C 802BF5EC 2673C954 */ addiu $s3, $s3, -0x36ac +/* 320360 802BF5F0 8E720000 */ lw $s2, ($s3) +/* 320364 802BF5F4 16400007 */ bnez $s2, .L802BF614 +/* 320368 802BF5F8 24050001 */ addiu $a1, $zero, 1 +/* 32036C 802BF5FC 0C03AE8F */ jal func_800EBA3C +/* 320370 802BF600 0220202D */ daddu $a0, $s1, $zero +/* 320374 802BF604 0C03AED0 */ jal func_800EBB40 +/* 320378 802BF608 0220202D */ daddu $a0, $s1, $zero +/* 32037C 802BF60C 080AFE40 */ j .L802BF900 +/* 320380 802BF610 0000102D */ daddu $v0, $zero, $zero +.L802BF614: +/* 320384 802BF614 3C10802C */ lui $s0, 0x802c +/* 320388 802BF618 2610FDF8 */ addiu $s0, $s0, -0x208 +/* 32038C 802BF61C 8E040000 */ lw $a0, ($s0) +/* 320390 802BF620 8C830004 */ lw $v1, 4($a0) +/* 320394 802BF624 10650030 */ beq $v1, $a1, .L802BF6E8 +/* 320398 802BF628 28620002 */ slti $v0, $v1, 2 +/* 32039C 802BF62C 10400005 */ beqz $v0, .L802BF644 +/* 3203A0 802BF630 24020002 */ addiu $v0, $zero, 2 +/* 3203A4 802BF634 10600009 */ beqz $v1, .L802BF65C +/* 3203A8 802BF638 0000102D */ daddu $v0, $zero, $zero +/* 3203AC 802BF63C 080AFE40 */ j .L802BF900 +/* 3203B0 802BF640 00000000 */ nop +.L802BF644: +/* 3203B4 802BF644 1062009A */ beq $v1, $v0, .L802BF8B0 +/* 3203B8 802BF648 24020003 */ addiu $v0, $zero, 3 +/* 3203BC 802BF64C 106200A0 */ beq $v1, $v0, .L802BF8D0 +/* 3203C0 802BF650 0000102D */ daddu $v0, $zero, $zero +/* 3203C4 802BF654 080AFE40 */ j .L802BF900 +/* 3203C8 802BF658 00000000 */ nop +.L802BF65C: +/* 3203CC 802BF65C AC850004 */ sw $a1, 4($a0) +/* 3203D0 802BF660 8E220000 */ lw $v0, ($s1) +/* 3203D4 802BF664 AC820008 */ sw $v0, 8($a0) +/* 3203D8 802BF668 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 3203DC 802BF66C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 3203E0 802BF670 8E460048 */ lw $a2, 0x48($s2) +/* 3203E4 802BF674 0C00A7B5 */ jal dist2D +/* 3203E8 802BF678 8E470050 */ lw $a3, 0x50($s2) +/* 3203EC 802BF67C 8E020000 */ lw $v0, ($s0) +/* 3203F0 802BF680 46000005 */ abs.s $f0, $f0 +/* 3203F4 802BF684 E440000C */ swc1 $f0, 0xc($v0) +/* 3203F8 802BF688 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 3203FC 802BF68C C64E0050 */ lwc1 $f14, 0x50($s2) +/* 320400 802BF690 8E260038 */ lw $a2, 0x38($s1) +/* 320404 802BF694 0C00A720 */ jal atan2 +/* 320408 802BF698 8E270040 */ lw $a3, 0x40($s1) +/* 32040C 802BF69C 3C040004 */ lui $a0, 4 +/* 320410 802BF6A0 24020078 */ addiu $v0, $zero, 0x78 +/* 320414 802BF6A4 8E030000 */ lw $v1, ($s0) +/* 320418 802BF6A8 3C0140C0 */ lui $at, 0x40c0 +/* 32041C 802BF6AC 44811000 */ mtc1 $at, $f2 +/* 320420 802BF6B0 3C014248 */ lui $at, 0x4248 +/* 320424 802BF6B4 44812000 */ mtc1 $at, $f4 +/* 320428 802BF6B8 34840148 */ ori $a0, $a0, 0x148 +/* 32042C 802BF6BC E4600010 */ swc1 $f0, 0x10($v1) +/* 320430 802BF6C0 E4620014 */ swc1 $f2, 0x14($v1) +/* 320434 802BF6C4 E4640018 */ swc1 $f4, 0x18($v1) +/* 320438 802BF6C8 AC620000 */ sw $v0, ($v1) +/* 32043C 802BF6CC 8E220000 */ lw $v0, ($s1) +/* 320440 802BF6D0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 320444 802BF6D4 00441025 */ or $v0, $v0, $a0 +/* 320448 802BF6D8 00431024 */ and $v0, $v0, $v1 +/* 32044C 802BF6DC AE220000 */ sw $v0, ($s1) +/* 320450 802BF6E0 3C10802C */ lui $s0, 0x802c +/* 320454 802BF6E4 2610FDF8 */ addiu $s0, $s0, -0x208 +.L802BF6E8: +/* 320458 802BF6E8 8E020000 */ lw $v0, ($s0) +/* 32045C 802BF6EC 3C0140C9 */ lui $at, 0x40c9 +/* 320460 802BF6F0 34210FD0 */ ori $at, $at, 0xfd0 +/* 320464 802BF6F4 44810000 */ mtc1 $at, $f0 +/* 320468 802BF6F8 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 32046C 802BF6FC 46006302 */ mul.s $f12, $f12, $f0 +/* 320470 802BF700 00000000 */ nop +/* 320474 802BF704 27A50010 */ addiu $a1, $sp, 0x10 +/* 320478 802BF708 3C0143B4 */ lui $at, 0x43b4 +/* 32047C 802BF70C 44810000 */ mtc1 $at, $f0 +/* 320480 802BF710 27A60014 */ addiu $a2, $sp, 0x14 +/* 320484 802BF714 0C00A82D */ jal sin_cos_rad +/* 320488 802BF718 46006303 */ div.s $f12, $f12, $f0 +/* 32048C 802BF71C 8E020000 */ lw $v0, ($s0) +/* 320490 802BF720 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 320494 802BF724 C440000C */ lwc1 $f0, 0xc($v0) +/* 320498 802BF728 46001082 */ mul.s $f2, $f2, $f0 +/* 32049C 802BF72C 00000000 */ nop +/* 3204A0 802BF730 C6400048 */ lwc1 $f0, 0x48($s2) +/* 3204A4 802BF734 46020000 */ add.s $f0, $f0, $f2 +/* 3204A8 802BF738 E6200038 */ swc1 $f0, 0x38($s1) +/* 3204AC 802BF73C C7A20014 */ lwc1 $f2, 0x14($sp) +/* 3204B0 802BF740 C440000C */ lwc1 $f0, 0xc($v0) +/* 3204B4 802BF744 46001082 */ mul.s $f2, $f2, $f0 +/* 3204B8 802BF748 00000000 */ nop +/* 3204BC 802BF74C C6400050 */ lwc1 $f0, 0x50($s2) +/* 3204C0 802BF750 46020001 */ sub.s $f0, $f0, $f2 +/* 3204C4 802BF754 E6200040 */ swc1 $f0, 0x40($s1) +/* 3204C8 802BF758 C4400010 */ lwc1 $f0, 0x10($v0) +/* 3204CC 802BF75C C44C0014 */ lwc1 $f12, 0x14($v0) +/* 3204D0 802BF760 0C00A6C9 */ jal clamp_angle +/* 3204D4 802BF764 460C0301 */ sub.s $f12, $f0, $f12 +/* 3204D8 802BF768 8E100000 */ lw $s0, ($s0) +/* 3204DC 802BF76C 3C0141A0 */ lui $at, 0x41a0 +/* 3204E0 802BF770 44811000 */ mtc1 $at, $f2 +/* 3204E4 802BF774 C604000C */ lwc1 $f4, 0xc($s0) +/* 3204E8 802BF778 4604103C */ c.lt.s $f2, $f4 +/* 3204EC 802BF77C 00000000 */ nop +/* 3204F0 802BF780 45000005 */ bc1f .L802BF798 +/* 3204F4 802BF784 E6000010 */ swc1 $f0, 0x10($s0) +/* 3204F8 802BF788 3C013F80 */ lui $at, 0x3f80 +/* 3204FC 802BF78C 44810000 */ mtc1 $at, $f0 +/* 320500 802BF790 080AFDF1 */ j .L802BF7C4 +/* 320504 802BF794 46002001 */ sub.s $f0, $f4, $f0 +.L802BF798: +/* 320508 802BF798 3C014198 */ lui $at, 0x4198 +/* 32050C 802BF79C 44810000 */ mtc1 $at, $f0 +/* 320510 802BF7A0 00000000 */ nop +/* 320514 802BF7A4 4600203C */ c.lt.s $f4, $f0 +/* 320518 802BF7A8 00000000 */ nop +/* 32051C 802BF7AC 45000006 */ bc1f .L802BF7C8 +/* 320520 802BF7B0 00000000 */ nop +/* 320524 802BF7B4 3C013F80 */ lui $at, 0x3f80 +/* 320528 802BF7B8 44810000 */ mtc1 $at, $f0 +/* 32052C 802BF7BC 00000000 */ nop +/* 320530 802BF7C0 46002000 */ add.s $f0, $f4, $f0 +.L802BF7C4: +/* 320534 802BF7C4 E600000C */ swc1 $f0, 0xc($s0) +.L802BF7C8: +/* 320538 802BF7C8 3C10802C */ lui $s0, 0x802c +/* 32053C 802BF7CC 2610FDF8 */ addiu $s0, $s0, -0x208 +/* 320540 802BF7D0 8E020000 */ lw $v0, ($s0) +/* 320544 802BF7D4 3C0140C9 */ lui $at, 0x40c9 +/* 320548 802BF7D8 34210FD0 */ ori $at, $at, 0xfd0 +/* 32054C 802BF7DC 44810000 */ mtc1 $at, $f0 +/* 320550 802BF7E0 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 320554 802BF7E4 46006302 */ mul.s $f12, $f12, $f0 +/* 320558 802BF7E8 00000000 */ nop +/* 32055C 802BF7EC 3C0143B4 */ lui $at, 0x43b4 +/* 320560 802BF7F0 4481A000 */ mtc1 $at, $f20 +/* 320564 802BF7F4 0C00A85B */ jal sin_rad +/* 320568 802BF7F8 46146303 */ div.s $f12, $f12, $f20 +/* 32056C 802BF7FC 8E020000 */ lw $v0, ($s0) +/* 320570 802BF800 3C014040 */ lui $at, 0x4040 +/* 320574 802BF804 44812000 */ mtc1 $at, $f4 +/* 320578 802BF808 C4420018 */ lwc1 $f2, 0x18($v0) +/* 32057C 802BF80C 46041080 */ add.s $f2, $f2, $f4 +/* 320580 802BF810 3C014316 */ lui $at, 0x4316 +/* 320584 802BF814 44813000 */ mtc1 $at, $f6 +/* 320588 802BF818 00000000 */ nop +/* 32058C 802BF81C 4602303C */ c.lt.s $f6, $f2 +/* 320590 802BF820 E4420018 */ swc1 $f2, 0x18($v0) +/* 320594 802BF824 46040082 */ mul.s $f2, $f0, $f4 +/* 320598 802BF828 00000000 */ nop +/* 32059C 802BF82C 45030001 */ bc1tl .L802BF834 +/* 3205A0 802BF830 E4460018 */ swc1 $f6, 0x18($v0) +.L802BF834: +/* 3205A4 802BF834 C620003C */ lwc1 $f0, 0x3c($s1) +/* 3205A8 802BF838 46020000 */ add.s $f0, $f0, $f2 +/* 3205AC 802BF83C 8E020000 */ lw $v0, ($s0) +/* 3205B0 802BF840 E620003C */ swc1 $f0, 0x3c($s1) +/* 3205B4 802BF844 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 3205B8 802BF848 0C00A6C9 */ jal clamp_angle +/* 3205BC 802BF84C 460CA301 */ sub.s $f12, $f20, $f12 +/* 3205C0 802BF850 8E020000 */ lw $v0, ($s0) +/* 3205C4 802BF854 E6200034 */ swc1 $f0, 0x34($s1) +/* 3205C8 802BF858 C4400014 */ lwc1 $f0, 0x14($v0) +/* 3205CC 802BF85C 3C01802C */ lui $at, 0x802c +/* 3205D0 802BF860 D422FED8 */ ldc1 $f2, -0x128($at) +/* 3205D4 802BF864 46000021 */ cvt.d.s $f0, $f0 +/* 3205D8 802BF868 46220000 */ add.d $f0, $f0, $f2 +/* 3205DC 802BF86C 3C014220 */ lui $at, 0x4220 +/* 3205E0 802BF870 44811000 */ mtc1 $at, $f2 +/* 3205E4 802BF874 46200020 */ cvt.s.d $f0, $f0 +/* 3205E8 802BF878 4600103C */ c.lt.s $f2, $f0 +/* 3205EC 802BF87C 00000000 */ nop +/* 3205F0 802BF880 45000002 */ bc1f .L802BF88C +/* 3205F4 802BF884 E4400014 */ swc1 $f0, 0x14($v0) +/* 3205F8 802BF888 E4420014 */ swc1 $f2, 0x14($v0) +.L802BF88C: +/* 3205FC 802BF88C 8E030000 */ lw $v1, ($s0) +/* 320600 802BF890 8C620000 */ lw $v0, ($v1) +/* 320604 802BF894 2442FFFF */ addiu $v0, $v0, -1 +/* 320608 802BF898 14400018 */ bnez $v0, .L802BF8FC +/* 32060C 802BF89C AC620000 */ sw $v0, ($v1) +/* 320610 802BF8A0 8C620004 */ lw $v0, 4($v1) +/* 320614 802BF8A4 24420001 */ addiu $v0, $v0, 1 +/* 320618 802BF8A8 080AFE3F */ j .L802BF8FC +/* 32061C 802BF8AC AC620004 */ sw $v0, 4($v1) +.L802BF8B0: +/* 320620 802BF8B0 8C820008 */ lw $v0, 8($a0) +/* 320624 802BF8B4 AE220000 */ sw $v0, ($s1) +/* 320628 802BF8B8 8C820004 */ lw $v0, 4($a0) +/* 32062C 802BF8BC 2403001E */ addiu $v1, $zero, 0x1e +/* 320630 802BF8C0 AC830000 */ sw $v1, ($a0) +/* 320634 802BF8C4 24420001 */ addiu $v0, $v0, 1 +/* 320638 802BF8C8 080AFE3F */ j .L802BF8FC +/* 32063C 802BF8CC AC820004 */ sw $v0, 4($a0) +.L802BF8D0: +/* 320640 802BF8D0 0C03AE8F */ jal func_800EBA3C +/* 320644 802BF8D4 0220202D */ daddu $a0, $s1, $zero +/* 320648 802BF8D8 0C03AED0 */ jal func_800EBB40 +/* 32064C 802BF8DC 0220202D */ daddu $a0, $s1, $zero +/* 320650 802BF8E0 8E030000 */ lw $v1, ($s0) +/* 320654 802BF8E4 8C620000 */ lw $v0, ($v1) +/* 320658 802BF8E8 2442FFFF */ addiu $v0, $v0, -1 +/* 32065C 802BF8EC 14400003 */ bnez $v0, .L802BF8FC +/* 320660 802BF8F0 AC620000 */ sw $v0, ($v1) +/* 320664 802BF8F4 AC600004 */ sw $zero, 4($v1) +/* 320668 802BF8F8 AE600000 */ sw $zero, ($s3) +.L802BF8FC: +/* 32066C 802BF8FC 0000102D */ daddu $v0, $zero, $zero +.L802BF900: +/* 320670 802BF900 8FBF0028 */ lw $ra, 0x28($sp) +/* 320674 802BF904 8FB30024 */ lw $s3, 0x24($sp) +/* 320678 802BF908 8FB20020 */ lw $s2, 0x20($sp) +/* 32067C 802BF90C 8FB1001C */ lw $s1, 0x1c($sp) +/* 320680 802BF910 8FB00018 */ lw $s0, 0x18($sp) +/* 320684 802BF914 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 320688 802BF918 03E00008 */ jr $ra +/* 32068C 802BF91C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_31DE70/func_802BF920.s b/asm/nonmatchings/code_31DE70/func_802BF920.s new file mode 100644 index 0000000000..070072dcd8 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF920.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF920 +/* 320690 802BF920 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 320694 802BF924 3C058011 */ lui $a1, 0x8011 +/* 320698 802BF928 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 32069C 802BF92C AFBF0010 */ sw $ra, 0x10($sp) +/* 3206A0 802BF930 8CA20000 */ lw $v0, ($a1) +/* 3206A4 802BF934 10400008 */ beqz $v0, .L802BF958 +/* 3206A8 802BF938 00000000 */ nop +/* 3206AC 802BF93C 3C03802C */ lui $v1, 0x802c +/* 3206B0 802BF940 8C63FDF8 */ lw $v1, -0x208($v1) +/* 3206B4 802BF944 8C620008 */ lw $v0, 8($v1) +/* 3206B8 802BF948 ACA00000 */ sw $zero, ($a1) +/* 3206BC 802BF94C AC820000 */ sw $v0, ($a0) +/* 3206C0 802BF950 0C03BD17 */ jal clear_partner_move_history +/* 3206C4 802BF954 AC600004 */ sw $zero, 4($v1) +.L802BF958: +/* 3206C8 802BF958 8FBF0010 */ lw $ra, 0x10($sp) +/* 3206CC 802BF95C 03E00008 */ jr $ra +/* 3206D0 802BF960 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31DE70/func_802BF964.s b/asm/nonmatchings/code_31DE70/func_802BF964.s new file mode 100644 index 0000000000..63cd95fd59 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF964.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF964 +/* 3206D4 802BF964 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3206D8 802BF968 AFBF0014 */ sw $ra, 0x14($sp) +/* 3206DC 802BF96C AFB00010 */ sw $s0, 0x10($sp) +/* 3206E0 802BF970 10A0000A */ beqz $a1, .L802BF99C +/* 3206E4 802BF974 8C90014C */ lw $s0, 0x14c($a0) +/* 3206E8 802BF978 0C03BA65 */ jal func_800EE994 +/* 3206EC 802BF97C 0200202D */ daddu $a0, $s0, $zero +/* 3206F0 802BF980 3C04800F */ lui $a0, %hi(gPlayerStatusPtr) +/* 3206F4 802BF984 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0) +/* 3206F8 802BF988 3C03FFBF */ lui $v1, 0xffbf +/* 3206FC 802BF98C 8C820004 */ lw $v0, 4($a0) +/* 320700 802BF990 3463FFFF */ ori $v1, $v1, 0xffff +/* 320704 802BF994 00431024 */ and $v0, $v0, $v1 +/* 320708 802BF998 AC820004 */ sw $v0, 4($a0) +.L802BF99C: +/* 32070C 802BF99C 0C03BA6E */ jal func_800EE9B8 +/* 320710 802BF9A0 0200202D */ daddu $a0, $s0, $zero +/* 320714 802BF9A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 320718 802BF9A8 8FB00010 */ lw $s0, 0x10($sp) +/* 32071C 802BF9AC 0002102B */ sltu $v0, $zero, $v0 +/* 320720 802BF9B0 03E00008 */ jr $ra +/* 320724 802BF9B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31DE70/func_802BF9B8.s b/asm/nonmatchings/code_31DE70/func_802BF9B8.s new file mode 100644 index 0000000000..eae7346162 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BF9B8.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF9B8 +/* 320728 802BF9B8 3C02802C */ lui $v0, 0x802c +/* 32072C 802BF9BC 8C42FEEC */ lw $v0, -0x114($v0) +/* 320730 802BF9C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 320734 802BF9C4 AFB00010 */ sw $s0, 0x10($sp) +/* 320738 802BF9C8 0080802D */ daddu $s0, $a0, $zero +/* 32073C 802BF9CC AFB10014 */ sw $s1, 0x14($sp) +/* 320740 802BF9D0 3C118011 */ lui $s1, %hi(D_8010EBB0) +/* 320744 802BF9D4 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0) +/* 320748 802BF9D8 10400018 */ beqz $v0, .L802BFA3C +/* 32074C 802BF9DC AFBF0018 */ sw $ra, 0x18($sp) +/* 320750 802BF9E0 26230018 */ addiu $v1, $s1, 0x18 +/* 320754 802BF9E4 0200102D */ daddu $v0, $s0, $zero +/* 320758 802BF9E8 26040340 */ addiu $a0, $s0, 0x340 +.L802BF9EC: +/* 32075C 802BF9EC 8C450000 */ lw $a1, ($v0) +/* 320760 802BF9F0 8C460004 */ lw $a2, 4($v0) +/* 320764 802BF9F4 8C470008 */ lw $a3, 8($v0) +/* 320768 802BF9F8 8C48000C */ lw $t0, 0xc($v0) +/* 32076C 802BF9FC AC650000 */ sw $a1, ($v1) +/* 320770 802BFA00 AC660004 */ sw $a2, 4($v1) +/* 320774 802BFA04 AC670008 */ sw $a3, 8($v1) +/* 320778 802BFA08 AC68000C */ sw $t0, 0xc($v1) +/* 32077C 802BFA0C 24420010 */ addiu $v0, $v0, 0x10 +/* 320780 802BFA10 1444FFF6 */ bne $v0, $a0, .L802BF9EC +/* 320784 802BFA14 24630010 */ addiu $v1, $v1, 0x10 +/* 320788 802BFA18 24020001 */ addiu $v0, $zero, 1 +/* 32078C 802BFA1C 0C038050 */ jal enable_player_static_collisions +/* 320790 802BFA20 A2220001 */ sb $v0, 1($s1) +/* 320794 802BFA24 0C038069 */ jal enable_player_input +/* 320798 802BFA28 00000000 */ nop +/* 32079C 802BFA2C 0C039769 */ jal set_action_state +/* 3207A0 802BFA30 0000202D */ daddu $a0, $zero, $zero +/* 3207A4 802BFA34 0C03BD17 */ jal clear_partner_move_history +/* 3207A8 802BFA38 0200202D */ daddu $a0, $s0, $zero +.L802BFA3C: +/* 3207AC 802BFA3C 24020007 */ addiu $v0, $zero, 7 +/* 3207B0 802BFA40 A2220003 */ sb $v0, 3($s1) +/* 3207B4 802BFA44 8FBF0018 */ lw $ra, 0x18($sp) +/* 3207B8 802BFA48 8FB10014 */ lw $s1, 0x14($sp) +/* 3207BC 802BFA4C 8FB00010 */ lw $s0, 0x10($sp) +/* 3207C0 802BFA50 03E00008 */ jr $ra +/* 3207C4 802BFA54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31DE70/func_802BFA58.s b/asm/nonmatchings/code_31DE70/func_802BFA58.s new file mode 100644 index 0000000000..1a5e803331 --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BFA58.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFA58 +/* 3207C8 802BFA58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3207CC 802BFA5C 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 3207D0 802BFA60 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 3207D4 802BFA64 AFBF0010 */ sw $ra, 0x10($sp) +/* 3207D8 802BFA68 80620001 */ lb $v0, 1($v1) +/* 3207DC 802BFA6C 1040000F */ beqz $v0, .L802BFAAC +/* 3207E0 802BFA70 24620018 */ addiu $v0, $v1, 0x18 +/* 3207E4 802BFA74 24630358 */ addiu $v1, $v1, 0x358 +.L802BFA78: +/* 3207E8 802BFA78 8C450000 */ lw $a1, ($v0) +/* 3207EC 802BFA7C 8C460004 */ lw $a2, 4($v0) +/* 3207F0 802BFA80 8C470008 */ lw $a3, 8($v0) +/* 3207F4 802BFA84 8C48000C */ lw $t0, 0xc($v0) +/* 3207F8 802BFA88 AC850000 */ sw $a1, ($a0) +/* 3207FC 802BFA8C AC860004 */ sw $a2, 4($a0) +/* 320800 802BFA90 AC870008 */ sw $a3, 8($a0) +/* 320804 802BFA94 AC88000C */ sw $t0, 0xc($a0) +/* 320808 802BFA98 24420010 */ addiu $v0, $v0, 0x10 +/* 32080C 802BFA9C 1443FFF6 */ bne $v0, $v1, .L802BFA78 +/* 320810 802BFAA0 24840010 */ addiu $a0, $a0, 0x10 +/* 320814 802BFAA4 0C03ACC5 */ jal partner_use_ability +/* 320818 802BFAA8 00000000 */ nop +.L802BFAAC: +/* 32081C 802BFAAC 8FBF0010 */ lw $ra, 0x10($sp) +/* 320820 802BFAB0 03E00008 */ jr $ra +/* 320824 802BFAB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31DE70/func_802BFAB8.s b/asm/nonmatchings/code_31DE70/func_802BFAB8.s new file mode 100644 index 0000000000..f068b2dc5b --- /dev/null +++ b/asm/nonmatchings/code_31DE70/func_802BFAB8.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFAB8 +/* 320828 802BFAB8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 32082C 802BFABC AFB30024 */ sw $s3, 0x24($sp) +/* 320830 802BFAC0 0080982D */ daddu $s3, $a0, $zero +/* 320834 802BFAC4 AFB00018 */ sw $s0, 0x18($sp) +/* 320838 802BFAC8 00A0802D */ daddu $s0, $a1, $zero +/* 32083C 802BFACC AFBF0028 */ sw $ra, 0x28($sp) +/* 320840 802BFAD0 AFB20020 */ sw $s2, 0x20($sp) +/* 320844 802BFAD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 320848 802BFAD8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 32084C 802BFADC 0C00EABB */ jal get_npc_unsafe +/* 320850 802BFAE0 2404FFFC */ addiu $a0, $zero, -4 +/* 320854 802BFAE4 0040882D */ daddu $s1, $v0, $zero +/* 320858 802BFAE8 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 32085C 802BFAEC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 320860 802BFAF0 12000005 */ beqz $s0, .L802BFB08 +/* 320864 802BFAF4 0040902D */ daddu $s2, $v0, $zero +/* 320868 802BFAF8 AE600070 */ sw $zero, 0x70($s3) +/* 32086C 802BFAFC C440002C */ lwc1 $f0, 0x2c($v0) +/* 320870 802BFB00 3C01802C */ lui $at, 0x802c +/* 320874 802BFB04 E420FEE0 */ swc1 $f0, -0x120($at) +.L802BFB08: +/* 320878 802BFB08 8E700070 */ lw $s0, 0x70($s3) +/* 32087C 802BFB0C 12000005 */ beqz $s0, .L802BFB24 +/* 320880 802BFB10 24020001 */ addiu $v0, $zero, 1 +/* 320884 802BFB14 1202006D */ beq $s0, $v0, .L802BFCCC +/* 320888 802BFB18 0000102D */ daddu $v0, $zero, $zero +/* 32088C 802BFB1C 080AFF61 */ j .L802BFD84 +/* 320890 802BFB20 00000000 */ nop +.L802BFB24: +/* 320894 802BFB24 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 320898 802BFB28 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 32089C 802BFB2C 24020001 */ addiu $v0, $zero, 1 +/* 3208A0 802BFB30 0C038045 */ jal disable_player_static_collisions +/* 3208A4 802BFB34 A062007D */ sb $v0, 0x7d($v1) +/* 3208A8 802BFB38 0C03805E */ jal disable_player_input +/* 3208AC 802BFB3C 00000000 */ nop +/* 3208B0 802BFB40 C6400028 */ lwc1 $f0, 0x28($s2) +/* 3208B4 802BFB44 C622000C */ lwc1 $f2, 0xc($s1) +/* 3208B8 802BFB48 E6200038 */ swc1 $f0, 0x38($s1) +/* 3208BC 802BFB4C C6400030 */ lwc1 $f0, 0x30($s2) +/* 3208C0 802BFB50 E6200040 */ swc1 $f0, 0x40($s1) +/* 3208C4 802BFB54 C640002C */ lwc1 $f0, 0x2c($s2) +/* 3208C8 802BFB58 E620003C */ swc1 $f0, 0x3c($s1) +/* 3208CC 802BFB5C E7A20010 */ swc1 $f2, 0x10($sp) +/* 3208D0 802BFB60 862200A6 */ lh $v0, 0xa6($s1) +/* 3208D4 802BFB64 3C013F00 */ lui $at, 0x3f00 +/* 3208D8 802BFB68 4481A000 */ mtc1 $at, $f20 +/* 3208DC 802BFB6C 44820000 */ mtc1 $v0, $f0 +/* 3208E0 802BFB70 00000000 */ nop +/* 3208E4 802BFB74 46800020 */ cvt.s.w $f0, $f0 +/* 3208E8 802BFB78 46140002 */ mul.s $f0, $f0, $f20 +/* 3208EC 802BFB7C 00000000 */ nop +/* 3208F0 802BFB80 E7A00014 */ swc1 $f0, 0x14($sp) +/* 3208F4 802BFB84 8E240080 */ lw $a0, 0x80($s1) +/* 3208F8 802BFB88 8E250038 */ lw $a1, 0x38($s1) +/* 3208FC 802BFB8C 8E26003C */ lw $a2, 0x3c($s1) +/* 320900 802BFB90 0C0AF4DA */ jal func_802BD368 +/* 320904 802BFB94 8E270040 */ lw $a3, 0x40($s1) +/* 320908 802BFB98 862200A8 */ lh $v0, 0xa8($s1) +/* 32090C 802BFB9C 44821000 */ mtc1 $v0, $f2 +/* 320910 802BFBA0 00000000 */ nop +/* 320914 802BFBA4 468010A0 */ cvt.s.w $f2, $f2 +/* 320918 802BFBA8 46141082 */ mul.s $f2, $f2, $f20 +/* 32091C 802BFBAC 00000000 */ nop +/* 320920 802BFBB0 3C01802C */ lui $at, 0x802c +/* 320924 802BFBB4 C420FEE0 */ lwc1 $f0, -0x120($at) +/* 320928 802BFBB8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 32092C 802BFBBC 46020001 */ sub.s $f0, $f0, $f2 +/* 320930 802BFBC0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 320934 802BFBC4 E620003C */ swc1 $f0, 0x3c($s1) +/* 320938 802BFBC8 C66A0088 */ lwc1 $f10, 0x88($s3) +/* 32093C 802BFBCC 468052A0 */ cvt.s.w $f10, $f10 +/* 320940 802BFBD0 44065000 */ mfc1 $a2, $f10 +/* 320944 802BFBD4 C66A0090 */ lwc1 $f10, 0x90($s3) +/* 320948 802BFBD8 468052A0 */ cvt.s.w $f10, $f10 +/* 32094C 802BFBDC 44075000 */ mfc1 $a3, $f10 +/* 320950 802BFBE0 0C00A720 */ jal atan2 +/* 320954 802BFBE4 00000000 */ nop +/* 320958 802BFBE8 3C020007 */ lui $v0, 7 +/* 32095C 802BFBEC 3442000A */ ori $v0, $v0, 0xa +/* 320960 802BFBF0 3C014040 */ lui $at, 0x4040 +/* 320964 802BFBF4 44811000 */ mtc1 $at, $f2 +/* 320968 802BFBF8 C6240038 */ lwc1 $f4, 0x38($s1) +/* 32096C 802BFBFC C626003C */ lwc1 $f6, 0x3c($s1) +/* 320970 802BFC00 C6280040 */ lwc1 $f8, 0x40($s1) +/* 320974 802BFC04 8E230000 */ lw $v1, ($s1) +/* 320978 802BFC08 0220202D */ daddu $a0, $s1, $zero +/* 32097C 802BFC0C AE220028 */ sw $v0, 0x28($s1) +/* 320980 802BFC10 2402FDFF */ addiu $v0, $zero, -0x201 +/* 320984 802BFC14 E620000C */ swc1 $f0, 0xc($s1) +/* 320988 802BFC18 AE200014 */ sw $zero, 0x14($s1) +/* 32098C 802BFC1C 34630108 */ ori $v1, $v1, 0x108 +/* 320990 802BFC20 00621824 */ and $v1, $v1, $v0 +/* 320994 802BFC24 E6220018 */ swc1 $f2, 0x18($s1) +/* 320998 802BFC28 E6240060 */ swc1 $f4, 0x60($s1) +/* 32099C 802BFC2C E6260064 */ swc1 $f6, 0x64($s1) +/* 3209A0 802BFC30 E6280068 */ swc1 $f8, 0x68($s1) +/* 3209A4 802BFC34 0C00EAFF */ jal disable_npc_shadow +/* 3209A8 802BFC38 AE230000 */ sw $v1, ($s1) +/* 3209AC 802BFC3C 0C038039 */ jal disable_player_shadow +/* 3209B0 802BFC40 00000000 */ nop +/* 3209B4 802BFC44 8E6200B4 */ lw $v0, 0xb4($s3) +/* 3209B8 802BFC48 14400005 */ bnez $v0, .L802BFC60 +/* 3209BC 802BFC4C 3C040008 */ lui $a0, 8 +/* 3209C0 802BFC50 0C03ADF3 */ jal partner_kill_ability_script +/* 3209C4 802BFC54 00000000 */ nop +/* 3209C8 802BFC58 080AFF2F */ j .L802BFCBC +/* 3209CC 802BFC5C 24020019 */ addiu $v0, $zero, 0x19 +.L802BFC60: +/* 3209D0 802BFC60 0C037FDE */ jal func_800DFF78 +/* 3209D4 802BFC64 3484000F */ ori $a0, $a0, 0xf +/* 3209D8 802BFC68 C622000C */ lwc1 $f2, 0xc($s1) +/* 3209DC 802BFC6C 44800000 */ mtc1 $zero, $f0 +/* 3209E0 802BFC70 00000000 */ nop +/* 3209E4 802BFC74 4602003E */ c.le.s $f0, $f2 +/* 3209E8 802BFC78 00000000 */ nop +/* 3209EC 802BFC7C 4500000F */ bc1f .L802BFCBC +/* 3209F0 802BFC80 24020019 */ addiu $v0, $zero, 0x19 +/* 3209F4 802BFC84 3C014334 */ lui $at, 0x4334 +/* 3209F8 802BFC88 44810000 */ mtc1 $at, $f0 +/* 3209FC 802BFC8C 00000000 */ nop +/* 320A00 802BFC90 4600103E */ c.le.s $f2, $f0 +/* 320A04 802BFC94 00000000 */ nop +/* 320A08 802BFC98 45020009 */ bc1fl .L802BFCC0 +/* 320A0C 802BFC9C AE620074 */ sw $v0, 0x74($s3) +/* 320A10 802BFCA0 4600128D */ trunc.w.s $f10, $f2 +/* 320A14 802BFCA4 44025000 */ mfc1 $v0, $f10 +/* 320A18 802BFCA8 00000000 */ nop +/* 320A1C 802BFCAC A622008A */ sh $v0, 0x8a($s1) +/* 320A20 802BFCB0 24020001 */ addiu $v0, $zero, 1 +/* 320A24 802BFCB4 A6220088 */ sh $v0, 0x88($s1) +/* 320A28 802BFCB8 24020019 */ addiu $v0, $zero, 0x19 +.L802BFCBC: +/* 320A2C 802BFCBC AE620074 */ sw $v0, 0x74($s3) +.L802BFCC0: +/* 320A30 802BFCC0 24020001 */ addiu $v0, $zero, 1 +/* 320A34 802BFCC4 080AFF60 */ j .L802BFD80 +/* 320A38 802BFCC8 AE620070 */ sw $v0, 0x70($s3) +.L802BFCCC: +/* 320A3C 802BFCCC 8E250018 */ lw $a1, 0x18($s1) +/* 320A40 802BFCD0 8E26000C */ lw $a2, 0xc($s1) +/* 320A44 802BFCD4 0C00EA95 */ jal npc_move_heading +/* 320A48 802BFCD8 0220202D */ daddu $a0, $s1, $zero +/* 320A4C 802BFCDC 0C0AF440 */ jal func_802BD100_31DE70 +/* 320A50 802BFCE0 00000000 */ nop +/* 320A54 802BFCE4 8E620074 */ lw $v0, 0x74($s3) +/* 320A58 802BFCE8 30420003 */ andi $v0, $v0, 3 +/* 320A5C 802BFCEC 14400011 */ bnez $v0, .L802BFD34 +/* 320A60 802BFCF0 00000000 */ nop +/* 320A64 802BFCF4 862200A8 */ lh $v0, 0xa8($s1) +/* 320A68 802BFCF8 3C013F00 */ lui $at, 0x3f00 +/* 320A6C 802BFCFC 44811000 */ mtc1 $at, $f2 +/* 320A70 802BFD00 44820000 */ mtc1 $v0, $f0 +/* 320A74 802BFD04 00000000 */ nop +/* 320A78 802BFD08 46800020 */ cvt.s.w $f0, $f0 +/* 320A7C 802BFD0C 46020002 */ mul.s $f0, $f0, $f2 +/* 320A80 802BFD10 00000000 */ nop +/* 320A84 802BFD14 C6220064 */ lwc1 $f2, 0x64($s1) +/* 320A88 802BFD18 AFA00010 */ sw $zero, 0x10($sp) +/* 320A8C 802BFD1C 46001080 */ add.s $f2, $f2, $f0 +/* 320A90 802BFD20 8E250038 */ lw $a1, 0x38($s1) +/* 320A94 802BFD24 8E270040 */ lw $a3, 0x40($s1) +/* 320A98 802BFD28 44061000 */ mfc1 $a2, $f2 +/* 320A9C 802BFD2C 0C01C16C */ jal func_800705B0 +/* 320AA0 802BFD30 0000202D */ daddu $a0, $zero, $zero +.L802BFD34: +/* 320AA4 802BFD34 8E620074 */ lw $v0, 0x74($s3) +/* 320AA8 802BFD38 2442FFFF */ addiu $v0, $v0, -1 +/* 320AAC 802BFD3C 14400010 */ bnez $v0, .L802BFD80 +/* 320AB0 802BFD40 AE620074 */ sw $v0, 0x74($s3) +/* 320AB4 802BFD44 8E6200B4 */ lw $v0, 0xb4($s3) +/* 320AB8 802BFD48 14500007 */ bne $v0, $s0, .L802BFD68 +/* 320ABC 802BFD4C 00000000 */ nop +/* 320AC0 802BFD50 0C039769 */ jal set_action_state +/* 320AC4 802BFD54 24040021 */ addiu $a0, $zero, 0x21 +/* 320AC8 802BFD58 0C03ACC5 */ jal partner_use_ability +/* 320ACC 802BFD5C 00000000 */ nop +/* 320AD0 802BFD60 080AFF61 */ j .L802BFD84 +/* 320AD4 802BFD64 24020002 */ addiu $v0, $zero, 2 +.L802BFD68: +/* 320AD8 802BFD68 0C038050 */ jal enable_player_static_collisions +/* 320ADC 802BFD6C 00000000 */ nop +/* 320AE0 802BFD70 0C038069 */ jal enable_player_input +/* 320AE4 802BFD74 00000000 */ nop +/* 320AE8 802BFD78 080AFF61 */ j .L802BFD84 +/* 320AEC 802BFD7C 24020002 */ addiu $v0, $zero, 2 +.L802BFD80: +/* 320AF0 802BFD80 0000102D */ daddu $v0, $zero, $zero +.L802BFD84: +/* 320AF4 802BFD84 8FBF0028 */ lw $ra, 0x28($sp) +/* 320AF8 802BFD88 8FB30024 */ lw $s3, 0x24($sp) +/* 320AFC 802BFD8C 8FB20020 */ lw $s2, 0x20($sp) +/* 320B00 802BFD90 8FB1001C */ lw $s1, 0x1c($sp) +/* 320B04 802BFD94 8FB00018 */ lw $s0, 0x18($sp) +/* 320B08 802BFD98 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 320B0C 802BFD9C 03E00008 */ jr $ra +/* 320B10 802BFDA0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 320B14 802BFDA4 00000000 */ nop +/* 320B18 802BFDA8 00000000 */ nop +/* 320B1C 802BFDAC 00000000 */ nop diff --git a/asm/nonmatchings/code_320C50/func_802BD100_320C50.s b/asm/nonmatchings/code_320C50/func_802BD100_320C50.s new file mode 100644 index 0000000000..482166e8c2 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD100_320C50.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_320C50 +/* 320C50 802BD100 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 320C54 802BD104 2404FFFC */ addiu $a0, $zero, -4 +/* 320C58 802BD108 AFB10014 */ sw $s1, 0x14($sp) +/* 320C5C 802BD10C 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 320C60 802BD110 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 320C64 802BD114 AFBF0018 */ sw $ra, 0x18($sp) +/* 320C68 802BD118 0C00EABB */ jal get_npc_unsafe +/* 320C6C 802BD11C AFB00010 */ sw $s0, 0x10($sp) +/* 320C70 802BD120 8E230000 */ lw $v1, ($s1) +/* 320C74 802BD124 0040802D */ daddu $s0, $v0, $zero +/* 320C78 802BD128 30624000 */ andi $v0, $v1, 0x4000 +/* 320C7C 802BD12C 10400010 */ beqz $v0, .L802BD170 +/* 320C80 802BD130 3C020004 */ lui $v0, 4 +/* 320C84 802BD134 C6220054 */ lwc1 $f2, 0x54($s1) +/* 320C88 802BD138 00621024 */ and $v0, $v1, $v0 +/* 320C8C 802BD13C 10400006 */ beqz $v0, .L802BD158 +/* 320C90 802BD140 26040038 */ addiu $a0, $s0, 0x38 +/* 320C94 802BD144 3C013F00 */ lui $at, 0x3f00 +/* 320C98 802BD148 44810000 */ mtc1 $at, $f0 +/* 320C9C 802BD14C 00000000 */ nop +/* 320CA0 802BD150 46001082 */ mul.s $f2, $f2, $f0 +/* 320CA4 802BD154 00000000 */ nop +.L802BD158: +/* 320CA8 802BD158 44061000 */ mfc1 $a2, $f2 +/* 320CAC 802BD15C 8E2700A0 */ lw $a3, 0xa0($s1) +/* 320CB0 802BD160 0C00A7E7 */ jal add_vec2D_polar +/* 320CB4 802BD164 26050040 */ addiu $a1, $s0, 0x40 +/* 320CB8 802BD168 C6200080 */ lwc1 $f0, 0x80($s1) +/* 320CBC 802BD16C E600000C */ swc1 $f0, 0xc($s0) +.L802BD170: +/* 320CC0 802BD170 26240028 */ addiu $a0, $s1, 0x28 +/* 320CC4 802BD174 3C02802C */ lui $v0, 0x802c +/* 320CC8 802BD178 8C42FF18 */ lw $v0, -0xe8($v0) +/* 320CCC 802BD17C 3C013EAE */ lui $at, 0x3eae +/* 320CD0 802BD180 3421147B */ ori $at, $at, 0x147b +/* 320CD4 802BD184 44810000 */ mtc1 $at, $f0 +/* 320CD8 802BD188 C6020038 */ lwc1 $f2, 0x38($s0) +/* 320CDC 802BD18C 3C064000 */ lui $a2, 0x4000 +/* 320CE0 802BD190 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 320CE4 802BD194 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 320CE8 802BD198 04420001 */ bltzl $v0, .L802BD1A0 +/* 320CEC 802BD19C 00021023 */ negu $v0, $v0 +.L802BD1A0: +/* 320CF0 802BD1A0 44822000 */ mtc1 $v0, $f4 +/* 320CF4 802BD1A4 00000000 */ nop +/* 320CF8 802BD1A8 46802120 */ cvt.s.w $f4, $f4 +/* 320CFC 802BD1AC 00031080 */ sll $v0, $v1, 2 +/* 320D00 802BD1B0 46002102 */ mul.s $f4, $f4, $f0 +/* 320D04 802BD1B4 00000000 */ nop +/* 320D08 802BD1B8 E6220028 */ swc1 $f2, 0x28($s1) +/* 320D0C 802BD1BC C600003C */ lwc1 $f0, 0x3c($s0) +/* 320D10 802BD1C0 3C014120 */ lui $at, 0x4120 +/* 320D14 802BD1C4 44811000 */ mtc1 $at, $f2 +/* 320D18 802BD1C8 00431021 */ addu $v0, $v0, $v1 +/* 320D1C 802BD1CC 46020000 */ add.s $f0, $f0, $f2 +/* 320D20 802BD1D0 00021080 */ sll $v0, $v0, 2 +/* 320D24 802BD1D4 00431023 */ subu $v0, $v0, $v1 +/* 320D28 802BD1D8 46040000 */ add.s $f0, $f0, $f4 +/* 320D2C 802BD1DC 000218C0 */ sll $v1, $v0, 3 +/* 320D30 802BD1E0 00431021 */ addu $v0, $v0, $v1 +/* 320D34 802BD1E4 E620002C */ swc1 $f0, 0x2c($s1) +/* 320D38 802BD1E8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 320D3C 802BD1EC 000210C0 */ sll $v0, $v0, 3 +/* 320D40 802BD1F0 E6200030 */ swc1 $f0, 0x30($s1) +/* 320D44 802BD1F4 3C07800B */ lui $a3, 0x800b +/* 320D48 802BD1F8 00E23821 */ addu $a3, $a3, $v0 +/* 320D4C 802BD1FC 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 320D50 802BD200 0C00A7E7 */ jal add_vec2D_polar +/* 320D54 802BD204 26250030 */ addiu $a1, $s1, 0x30 +/* 320D58 802BD208 8FBF0018 */ lw $ra, 0x18($sp) +/* 320D5C 802BD20C 8FB10014 */ lw $s1, 0x14($sp) +/* 320D60 802BD210 8FB00010 */ lw $s0, 0x10($sp) +/* 320D64 802BD214 03E00008 */ jr $ra +/* 320D68 802BD218 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_320C50/func_802BD21C.s b/asm/nonmatchings/code_320C50/func_802BD21C.s new file mode 100644 index 0000000000..aff69c9b89 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD21C.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD21C +/* 320D6C 802BD21C C4800038 */ lwc1 $f0, 0x38($a0) +/* 320D70 802BD220 C482003C */ lwc1 $f2, 0x3c($a0) +/* 320D74 802BD224 C4840040 */ lwc1 $f4, 0x40($a0) +/* 320D78 802BD228 24020026 */ addiu $v0, $zero, 0x26 +/* 320D7C 802BD22C A48200A8 */ sh $v0, 0xa8($a0) +/* 320D80 802BD230 24020024 */ addiu $v0, $zero, 0x24 +/* 320D84 802BD234 A48200A6 */ sh $v0, 0xa6($a0) +/* 320D88 802BD238 3C020001 */ lui $v0, 1 +/* 320D8C 802BD23C AC820080 */ sw $v0, 0x80($a0) +/* 320D90 802BD240 24020001 */ addiu $v0, $zero, 1 +/* 320D94 802BD244 3C01802C */ lui $at, 0x802c +/* 320D98 802BD248 AC20FF18 */ sw $zero, -0xe8($at) +/* 320D9C 802BD24C 3C01802C */ lui $at, 0x802c +/* 320DA0 802BD250 AC20FF04 */ sw $zero, -0xfc($at) +/* 320DA4 802BD254 3C01802C */ lui $at, 0x802c +/* 320DA8 802BD258 AC20FF08 */ sw $zero, -0xf8($at) +/* 320DAC 802BD25C 3C01802C */ lui $at, 0x802c +/* 320DB0 802BD260 AC20FF0C */ sw $zero, -0xf4($at) +/* 320DB4 802BD264 3C01802C */ lui $at, 0x802c +/* 320DB8 802BD268 AC22FF10 */ sw $v0, -0xf0($at) +/* 320DBC 802BD26C 3C01802C */ lui $at, 0x802c +/* 320DC0 802BD270 AC20FF1C */ sw $zero, -0xe4($at) +/* 320DC4 802BD274 3C01802C */ lui $at, 0x802c +/* 320DC8 802BD278 AC20FF20 */ sw $zero, -0xe0($at) +/* 320DCC 802BD27C 3C01802C */ lui $at, 0x802c +/* 320DD0 802BD280 AC20FF24 */ sw $zero, -0xdc($at) +/* 320DD4 802BD284 3C01802C */ lui $at, 0x802c +/* 320DD8 802BD288 AC20FF28 */ sw $zero, -0xd8($at) +/* 320DDC 802BD28C E4800060 */ swc1 $f0, 0x60($a0) +/* 320DE0 802BD290 E4820064 */ swc1 $f2, 0x64($a0) +/* 320DE4 802BD294 03E00008 */ jr $ra +/* 320DE8 802BD298 E4840068 */ swc1 $f4, 0x68($a0) diff --git a/asm/nonmatchings/code_320C50/func_802BD29C.s b/asm/nonmatchings/code_320C50/func_802BD29C.s new file mode 100644 index 0000000000..dfe0941e34 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD29C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD29C +/* 320DEC 802BD29C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 320DF0 802BD2A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 320DF4 802BD2A4 AFB00010 */ sw $s0, 0x10($sp) +/* 320DF8 802BD2A8 10A00003 */ beqz $a1, .L802BD2B8 +/* 320DFC 802BD2AC 8C90014C */ lw $s0, 0x14c($a0) +/* 320E00 802BD2B0 0C03BB31 */ jal func_800EECC4 +/* 320E04 802BD2B4 0200202D */ daddu $a0, $s0, $zero +.L802BD2B8: +/* 320E08 802BD2B8 0C03BB3A */ jal func_800EECE8 +/* 320E0C 802BD2BC 0200202D */ daddu $a0, $s0, $zero +/* 320E10 802BD2C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 320E14 802BD2C4 8FB00010 */ lw $s0, 0x10($sp) +/* 320E18 802BD2C8 0002102B */ sltu $v0, $zero, $v0 +/* 320E1C 802BD2CC 03E00008 */ jr $ra +/* 320E20 802BD2D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_320C50/func_802BD2D4.s b/asm/nonmatchings/code_320C50/func_802BD2D4.s new file mode 100644 index 0000000000..ca88c5814b --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD2D4.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD2D4 +/* 320E24 802BD2D4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 320E28 802BD2D8 AFB00018 */ sw $s0, 0x18($sp) +/* 320E2C 802BD2DC 3C108011 */ lui $s0, %hi(gPlayerData) +/* 320E30 802BD2E0 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 320E34 802BD2E4 AFBF0028 */ sw $ra, 0x28($sp) +/* 320E38 802BD2E8 AFB30024 */ sw $s3, 0x24($sp) +/* 320E3C 802BD2EC AFB20020 */ sw $s2, 0x20($sp) +/* 320E40 802BD2F0 AFB1001C */ sw $s1, 0x1c($sp) +/* 320E44 802BD2F4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 320E48 802BD2F8 8C91014C */ lw $s1, 0x14c($a0) +/* 320E4C 802BD2FC 10A00009 */ beqz $a1, .L802BD324 +/* 320E50 802BD300 0220202D */ daddu $a0, $s1, $zero +/* 320E54 802BD304 0C03B4C4 */ jal enable_partner_flying +/* 320E58 802BD308 24050001 */ addiu $a1, $zero, 1 +/* 320E5C 802BD30C 3C04802C */ lui $a0, 0x802c +/* 320E60 802BD310 8C84FE7C */ lw $a0, -0x184($a0) +/* 320E64 802BD314 0C00A580 */ jal mem_clear +/* 320E68 802BD318 2405001C */ addiu $a1, $zero, 0x1c +/* 320E6C 802BD31C 3C018011 */ lui $at, 0x8011 +/* 320E70 802BD320 AC20C954 */ sw $zero, -0x36ac($at) +.L802BD324: +/* 320E74 802BD324 3C030001 */ lui $v1, 1 +/* 320E78 802BD328 8E020314 */ lw $v0, 0x314($s0) +/* 320E7C 802BD32C 3C138011 */ lui $s3, 0x8011 +/* 320E80 802BD330 2673C954 */ addiu $s3, $s3, -0x36ac +/* 320E84 802BD334 24420001 */ addiu $v0, $v0, 1 +/* 320E88 802BD338 AE020314 */ sw $v0, 0x314($s0) +/* 320E8C 802BD33C 8E220000 */ lw $v0, ($s1) +/* 320E90 802BD340 8E720000 */ lw $s2, ($s3) +/* 320E94 802BD344 00431025 */ or $v0, $v0, $v1 +/* 320E98 802BD348 16400007 */ bnez $s2, .L802BD368 +/* 320E9C 802BD34C AE220000 */ sw $v0, ($s1) +/* 320EA0 802BD350 0C03B52E */ jal update_player_move_history +/* 320EA4 802BD354 0220202D */ daddu $a0, $s1, $zero +/* 320EA8 802BD358 0C03B574 */ jal func_800ED5D0 +/* 320EAC 802BD35C 0220202D */ daddu $a0, $s1, $zero +/* 320EB0 802BD360 080AF596 */ j .L802BD658 +/* 320EB4 802BD364 0000102D */ daddu $v0, $zero, $zero +.L802BD368: +/* 320EB8 802BD368 3C10802C */ lui $s0, 0x802c +/* 320EBC 802BD36C 2610FE7C */ addiu $s0, $s0, -0x184 +/* 320EC0 802BD370 8E040000 */ lw $a0, ($s0) +/* 320EC4 802BD374 8C830004 */ lw $v1, 4($a0) +/* 320EC8 802BD378 24050001 */ addiu $a1, $zero, 1 +/* 320ECC 802BD37C 10650030 */ beq $v1, $a1, .L802BD440 +/* 320ED0 802BD380 28620002 */ slti $v0, $v1, 2 +/* 320ED4 802BD384 10400005 */ beqz $v0, .L802BD39C +/* 320ED8 802BD388 24020002 */ addiu $v0, $zero, 2 +/* 320EDC 802BD38C 10600009 */ beqz $v1, .L802BD3B4 +/* 320EE0 802BD390 0000102D */ daddu $v0, $zero, $zero +/* 320EE4 802BD394 080AF596 */ j .L802BD658 +/* 320EE8 802BD398 00000000 */ nop +.L802BD39C: +/* 320EEC 802BD39C 1062009A */ beq $v1, $v0, .L802BD608 +/* 320EF0 802BD3A0 24020003 */ addiu $v0, $zero, 3 +/* 320EF4 802BD3A4 106200A0 */ beq $v1, $v0, .L802BD628 +/* 320EF8 802BD3A8 0000102D */ daddu $v0, $zero, $zero +/* 320EFC 802BD3AC 080AF596 */ j .L802BD658 +/* 320F00 802BD3B0 00000000 */ nop +.L802BD3B4: +/* 320F04 802BD3B4 AC850004 */ sw $a1, 4($a0) +/* 320F08 802BD3B8 8E220000 */ lw $v0, ($s1) +/* 320F0C 802BD3BC AC820008 */ sw $v0, 8($a0) +/* 320F10 802BD3C0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 320F14 802BD3C4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 320F18 802BD3C8 8E460048 */ lw $a2, 0x48($s2) +/* 320F1C 802BD3CC 0C00A7B5 */ jal dist2D +/* 320F20 802BD3D0 8E470050 */ lw $a3, 0x50($s2) +/* 320F24 802BD3D4 8E020000 */ lw $v0, ($s0) +/* 320F28 802BD3D8 46000005 */ abs.s $f0, $f0 +/* 320F2C 802BD3DC E440000C */ swc1 $f0, 0xc($v0) +/* 320F30 802BD3E0 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 320F34 802BD3E4 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 320F38 802BD3E8 8E260038 */ lw $a2, 0x38($s1) +/* 320F3C 802BD3EC 0C00A720 */ jal atan2 +/* 320F40 802BD3F0 8E270040 */ lw $a3, 0x40($s1) +/* 320F44 802BD3F4 3C040004 */ lui $a0, 4 +/* 320F48 802BD3F8 24020078 */ addiu $v0, $zero, 0x78 +/* 320F4C 802BD3FC 8E030000 */ lw $v1, ($s0) +/* 320F50 802BD400 3C0140C0 */ lui $at, 0x40c0 +/* 320F54 802BD404 44811000 */ mtc1 $at, $f2 +/* 320F58 802BD408 3C014248 */ lui $at, 0x4248 +/* 320F5C 802BD40C 44812000 */ mtc1 $at, $f4 +/* 320F60 802BD410 34840148 */ ori $a0, $a0, 0x148 +/* 320F64 802BD414 E4600010 */ swc1 $f0, 0x10($v1) +/* 320F68 802BD418 E4620014 */ swc1 $f2, 0x14($v1) +/* 320F6C 802BD41C E4640018 */ swc1 $f4, 0x18($v1) +/* 320F70 802BD420 AC620000 */ sw $v0, ($v1) +/* 320F74 802BD424 8E220000 */ lw $v0, ($s1) +/* 320F78 802BD428 2403FDFF */ addiu $v1, $zero, -0x201 +/* 320F7C 802BD42C 00441025 */ or $v0, $v0, $a0 +/* 320F80 802BD430 00431024 */ and $v0, $v0, $v1 +/* 320F84 802BD434 AE220000 */ sw $v0, ($s1) +/* 320F88 802BD438 3C10802C */ lui $s0, 0x802c +/* 320F8C 802BD43C 2610FE7C */ addiu $s0, $s0, -0x184 +.L802BD440: +/* 320F90 802BD440 8E020000 */ lw $v0, ($s0) +/* 320F94 802BD444 3C0140C9 */ lui $at, 0x40c9 +/* 320F98 802BD448 34210FD0 */ ori $at, $at, 0xfd0 +/* 320F9C 802BD44C 44810000 */ mtc1 $at, $f0 +/* 320FA0 802BD450 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 320FA4 802BD454 46006302 */ mul.s $f12, $f12, $f0 +/* 320FA8 802BD458 00000000 */ nop +/* 320FAC 802BD45C 27A50010 */ addiu $a1, $sp, 0x10 +/* 320FB0 802BD460 3C0143B4 */ lui $at, 0x43b4 +/* 320FB4 802BD464 44810000 */ mtc1 $at, $f0 +/* 320FB8 802BD468 27A60014 */ addiu $a2, $sp, 0x14 +/* 320FBC 802BD46C 0C00A82D */ jal sin_cos_rad +/* 320FC0 802BD470 46006303 */ div.s $f12, $f12, $f0 +/* 320FC4 802BD474 8E020000 */ lw $v0, ($s0) +/* 320FC8 802BD478 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 320FCC 802BD47C C440000C */ lwc1 $f0, 0xc($v0) +/* 320FD0 802BD480 46001082 */ mul.s $f2, $f2, $f0 +/* 320FD4 802BD484 00000000 */ nop +/* 320FD8 802BD488 C6400048 */ lwc1 $f0, 0x48($s2) +/* 320FDC 802BD48C 46020000 */ add.s $f0, $f0, $f2 +/* 320FE0 802BD490 E6200038 */ swc1 $f0, 0x38($s1) +/* 320FE4 802BD494 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 320FE8 802BD498 C440000C */ lwc1 $f0, 0xc($v0) +/* 320FEC 802BD49C 46001082 */ mul.s $f2, $f2, $f0 +/* 320FF0 802BD4A0 00000000 */ nop +/* 320FF4 802BD4A4 C6400050 */ lwc1 $f0, 0x50($s2) +/* 320FF8 802BD4A8 46020001 */ sub.s $f0, $f0, $f2 +/* 320FFC 802BD4AC E6200040 */ swc1 $f0, 0x40($s1) +/* 321000 802BD4B0 C4400010 */ lwc1 $f0, 0x10($v0) +/* 321004 802BD4B4 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 321008 802BD4B8 0C00A6C9 */ jal clamp_angle +/* 32100C 802BD4BC 460C0301 */ sub.s $f12, $f0, $f12 +/* 321010 802BD4C0 8E100000 */ lw $s0, ($s0) +/* 321014 802BD4C4 3C0141A0 */ lui $at, 0x41a0 +/* 321018 802BD4C8 44811000 */ mtc1 $at, $f2 +/* 32101C 802BD4CC C604000C */ lwc1 $f4, 0xc($s0) +/* 321020 802BD4D0 4604103C */ c.lt.s $f2, $f4 +/* 321024 802BD4D4 00000000 */ nop +/* 321028 802BD4D8 45000005 */ bc1f .L802BD4F0 +/* 32102C 802BD4DC E6000010 */ swc1 $f0, 0x10($s0) +/* 321030 802BD4E0 3C013F80 */ lui $at, 0x3f80 +/* 321034 802BD4E4 44810000 */ mtc1 $at, $f0 +/* 321038 802BD4E8 080AF547 */ j .L802BD51C +/* 32103C 802BD4EC 46002001 */ sub.s $f0, $f4, $f0 +.L802BD4F0: +/* 321040 802BD4F0 3C014198 */ lui $at, 0x4198 +/* 321044 802BD4F4 44810000 */ mtc1 $at, $f0 +/* 321048 802BD4F8 00000000 */ nop +/* 32104C 802BD4FC 4600203C */ c.lt.s $f4, $f0 +/* 321050 802BD500 00000000 */ nop +/* 321054 802BD504 45000006 */ bc1f .L802BD520 +/* 321058 802BD508 00000000 */ nop +/* 32105C 802BD50C 3C013F80 */ lui $at, 0x3f80 +/* 321060 802BD510 44810000 */ mtc1 $at, $f0 +/* 321064 802BD514 00000000 */ nop +/* 321068 802BD518 46002000 */ add.s $f0, $f4, $f0 +.L802BD51C: +/* 32106C 802BD51C E600000C */ swc1 $f0, 0xc($s0) +.L802BD520: +/* 321070 802BD520 3C10802C */ lui $s0, 0x802c +/* 321074 802BD524 2610FE7C */ addiu $s0, $s0, -0x184 +/* 321078 802BD528 8E020000 */ lw $v0, ($s0) +/* 32107C 802BD52C 3C0140C9 */ lui $at, 0x40c9 +/* 321080 802BD530 34210FD0 */ ori $at, $at, 0xfd0 +/* 321084 802BD534 44810000 */ mtc1 $at, $f0 +/* 321088 802BD538 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 32108C 802BD53C 46006302 */ mul.s $f12, $f12, $f0 +/* 321090 802BD540 00000000 */ nop +/* 321094 802BD544 3C0143B4 */ lui $at, 0x43b4 +/* 321098 802BD548 4481A000 */ mtc1 $at, $f20 +/* 32109C 802BD54C 0C00A85B */ jal sin_rad +/* 3210A0 802BD550 46146303 */ div.s $f12, $f12, $f20 +/* 3210A4 802BD554 8E020000 */ lw $v0, ($s0) +/* 3210A8 802BD558 3C014040 */ lui $at, 0x4040 +/* 3210AC 802BD55C 44812000 */ mtc1 $at, $f4 +/* 3210B0 802BD560 C4420018 */ lwc1 $f2, 0x18($v0) +/* 3210B4 802BD564 46041080 */ add.s $f2, $f2, $f4 +/* 3210B8 802BD568 3C014316 */ lui $at, 0x4316 +/* 3210BC 802BD56C 44813000 */ mtc1 $at, $f6 +/* 3210C0 802BD570 00000000 */ nop +/* 3210C4 802BD574 4602303C */ c.lt.s $f6, $f2 +/* 3210C8 802BD578 E4420018 */ swc1 $f2, 0x18($v0) +/* 3210CC 802BD57C 46040082 */ mul.s $f2, $f0, $f4 +/* 3210D0 802BD580 00000000 */ nop +/* 3210D4 802BD584 45030001 */ bc1tl .L802BD58C +/* 3210D8 802BD588 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD58C: +/* 3210DC 802BD58C C620003C */ lwc1 $f0, 0x3c($s1) +/* 3210E0 802BD590 46020000 */ add.s $f0, $f0, $f2 +/* 3210E4 802BD594 8E020000 */ lw $v0, ($s0) +/* 3210E8 802BD598 E620003C */ swc1 $f0, 0x3c($s1) +/* 3210EC 802BD59C C44C0010 */ lwc1 $f12, 0x10($v0) +/* 3210F0 802BD5A0 0C00A6C9 */ jal clamp_angle +/* 3210F4 802BD5A4 460CA301 */ sub.s $f12, $f20, $f12 +/* 3210F8 802BD5A8 8E020000 */ lw $v0, ($s0) +/* 3210FC 802BD5AC E6200034 */ swc1 $f0, 0x34($s1) +/* 321100 802BD5B0 C4400014 */ lwc1 $f0, 0x14($v0) +/* 321104 802BD5B4 3C01802C */ lui $at, 0x802c +/* 321108 802BD5B8 D422FEF0 */ ldc1 $f2, -0x110($at) +/* 32110C 802BD5BC 46000021 */ cvt.d.s $f0, $f0 +/* 321110 802BD5C0 46220000 */ add.d $f0, $f0, $f2 +/* 321114 802BD5C4 3C014220 */ lui $at, 0x4220 +/* 321118 802BD5C8 44811000 */ mtc1 $at, $f2 +/* 32111C 802BD5CC 46200020 */ cvt.s.d $f0, $f0 +/* 321120 802BD5D0 4600103C */ c.lt.s $f2, $f0 +/* 321124 802BD5D4 00000000 */ nop +/* 321128 802BD5D8 45000002 */ bc1f .L802BD5E4 +/* 32112C 802BD5DC E4400014 */ swc1 $f0, 0x14($v0) +/* 321130 802BD5E0 E4420014 */ swc1 $f2, 0x14($v0) +.L802BD5E4: +/* 321134 802BD5E4 8E030000 */ lw $v1, ($s0) +/* 321138 802BD5E8 8C620000 */ lw $v0, ($v1) +/* 32113C 802BD5EC 2442FFFF */ addiu $v0, $v0, -1 +/* 321140 802BD5F0 14400018 */ bnez $v0, .L802BD654 +/* 321144 802BD5F4 AC620000 */ sw $v0, ($v1) +/* 321148 802BD5F8 8C620004 */ lw $v0, 4($v1) +/* 32114C 802BD5FC 24420001 */ addiu $v0, $v0, 1 +/* 321150 802BD600 080AF595 */ j .L802BD654 +/* 321154 802BD604 AC620004 */ sw $v0, 4($v1) +.L802BD608: +/* 321158 802BD608 8C820008 */ lw $v0, 8($a0) +/* 32115C 802BD60C AE220000 */ sw $v0, ($s1) +/* 321160 802BD610 8C820004 */ lw $v0, 4($a0) +/* 321164 802BD614 2403001E */ addiu $v1, $zero, 0x1e +/* 321168 802BD618 AC830000 */ sw $v1, ($a0) +/* 32116C 802BD61C 24420001 */ addiu $v0, $v0, 1 +/* 321170 802BD620 080AF595 */ j .L802BD654 +/* 321174 802BD624 AC820004 */ sw $v0, 4($a0) +.L802BD628: +/* 321178 802BD628 0C03B52E */ jal update_player_move_history +/* 32117C 802BD62C 0220202D */ daddu $a0, $s1, $zero +/* 321180 802BD630 0C03B574 */ jal func_800ED5D0 +/* 321184 802BD634 0220202D */ daddu $a0, $s1, $zero +/* 321188 802BD638 8E030000 */ lw $v1, ($s0) +/* 32118C 802BD63C 8C620000 */ lw $v0, ($v1) +/* 321190 802BD640 2442FFFF */ addiu $v0, $v0, -1 +/* 321194 802BD644 14400003 */ bnez $v0, .L802BD654 +/* 321198 802BD648 AC620000 */ sw $v0, ($v1) +/* 32119C 802BD64C AC600004 */ sw $zero, 4($v1) +/* 3211A0 802BD650 AE600000 */ sw $zero, ($s3) +.L802BD654: +/* 3211A4 802BD654 0000102D */ daddu $v0, $zero, $zero +.L802BD658: +/* 3211A8 802BD658 8FBF0028 */ lw $ra, 0x28($sp) +/* 3211AC 802BD65C 8FB30024 */ lw $s3, 0x24($sp) +/* 3211B0 802BD660 8FB20020 */ lw $s2, 0x20($sp) +/* 3211B4 802BD664 8FB1001C */ lw $s1, 0x1c($sp) +/* 3211B8 802BD668 8FB00018 */ lw $s0, 0x18($sp) +/* 3211BC 802BD66C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 3211C0 802BD670 03E00008 */ jr $ra +/* 3211C4 802BD674 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_320C50/func_802BD678.s b/asm/nonmatchings/code_320C50/func_802BD678.s new file mode 100644 index 0000000000..91ccbe072d --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD678.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD678 +/* 3211C8 802BD678 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3211CC 802BD67C 3C058011 */ lui $a1, 0x8011 +/* 3211D0 802BD680 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 3211D4 802BD684 AFBF0010 */ sw $ra, 0x10($sp) +/* 3211D8 802BD688 8CA20000 */ lw $v0, ($a1) +/* 3211DC 802BD68C 10400008 */ beqz $v0, .L802BD6B0 +/* 3211E0 802BD690 00000000 */ nop +/* 3211E4 802BD694 3C03802C */ lui $v1, 0x802c +/* 3211E8 802BD698 8C63FE7C */ lw $v1, -0x184($v1) +/* 3211EC 802BD69C 8C620008 */ lw $v0, 8($v1) +/* 3211F0 802BD6A0 ACA00000 */ sw $zero, ($a1) +/* 3211F4 802BD6A4 AC820000 */ sw $v0, ($a0) +/* 3211F8 802BD6A8 0C03BD17 */ jal clear_partner_move_history +/* 3211FC 802BD6AC AC600004 */ sw $zero, 4($v1) +.L802BD6B0: +/* 321200 802BD6B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 321204 802BD6B4 03E00008 */ jr $ra +/* 321208 802BD6B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_320C50/func_802BD6BC.s b/asm/nonmatchings/code_320C50/func_802BD6BC.s new file mode 100644 index 0000000000..2d292de307 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD6BC.s @@ -0,0 +1,77 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD6BC +/* 32120C 802BD6BC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 321210 802BD6C0 AFB00010 */ sw $s0, 0x10($sp) +/* 321214 802BD6C4 0080802D */ daddu $s0, $a0, $zero +/* 321218 802BD6C8 AFB10014 */ sw $s1, 0x14($sp) +/* 32121C 802BD6CC 00A0882D */ daddu $s1, $a1, $zero +/* 321220 802BD6D0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 321224 802BD6D4 4480A000 */ mtc1 $zero, $f20 +/* 321228 802BD6D8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 32122C 802BD6DC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 321230 802BD6E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 321234 802BD6E4 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 321238 802BD6E8 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 32123C 802BD6EC F7B60028 */ sdc1 $f22, 0x28($sp) +/* 321240 802BD6F0 84620004 */ lh $v0, 4($v1) +/* 321244 802BD6F4 4600A306 */ mov.s $f12, $f20 +/* 321248 802BD6F8 4482C000 */ mtc1 $v0, $f24 +/* 32124C 802BD6FC 00000000 */ nop +/* 321250 802BD700 4680C620 */ cvt.s.w $f24, $f24 +/* 321254 802BD704 84620006 */ lh $v0, 6($v1) +/* 321258 802BD708 4406C000 */ mfc1 $a2, $f24 +/* 32125C 802BD70C 4482D000 */ mtc1 $v0, $f26 +/* 321260 802BD710 00000000 */ nop +/* 321264 802BD714 4680D6A0 */ cvt.s.w $f26, $f26 +/* 321268 802BD718 4600D587 */ neg.s $f22, $f26 +/* 32126C 802BD71C 4407B000 */ mfc1 $a3, $f22 +/* 321270 802BD720 0C00A720 */ jal atan2 +/* 321274 802BD724 4600A386 */ mov.s $f14, $f20 +/* 321278 802BD728 3C01800B */ lui $at, 0x800b +/* 32127C 802BD72C C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 321280 802BD730 0C00A6C9 */ jal clamp_angle +/* 321284 802BD734 460C0300 */ add.s $f12, $f0, $f12 +/* 321288 802BD738 4600A306 */ mov.s $f12, $f20 +/* 32128C 802BD73C 4600A386 */ mov.s $f14, $f20 +/* 321290 802BD740 4406C000 */ mfc1 $a2, $f24 +/* 321294 802BD744 4407B000 */ mfc1 $a3, $f22 +/* 321298 802BD748 0C00A7B5 */ jal dist2D +/* 32129C 802BD74C 46000586 */ mov.s $f22, $f0 +/* 3212A0 802BD750 3C013FF0 */ lui $at, 0x3ff0 +/* 3212A4 802BD754 44811800 */ mtc1 $at, $f3 +/* 3212A8 802BD758 44801000 */ mtc1 $zero, $f2 +/* 3212AC 802BD75C 46000021 */ cvt.d.s $f0, $f0 +/* 3212B0 802BD760 4620103E */ c.le.d $f2, $f0 +/* 3212B4 802BD764 00000000 */ nop +/* 3212B8 802BD768 45000012 */ bc1f .L802BD7B4 +/* 3212BC 802BD76C E6160000 */ swc1 $f22, ($s0) +/* 3212C0 802BD770 4618C002 */ mul.s $f0, $f24, $f24 +/* 3212C4 802BD774 00000000 */ nop +/* 3212C8 802BD778 461AD082 */ mul.s $f2, $f26, $f26 +/* 3212CC 802BD77C 00000000 */ nop +/* 3212D0 802BD780 46020000 */ add.s $f0, $f0, $f2 +/* 3212D4 802BD784 3C01453D */ lui $at, 0x453d +/* 3212D8 802BD788 34211000 */ ori $at, $at, 0x1000 +/* 3212DC 802BD78C 44811000 */ mtc1 $at, $f2 +/* 3212E0 802BD790 3C014040 */ lui $at, 0x4040 +/* 3212E4 802BD794 4481A000 */ mtc1 $at, $f20 +/* 3212E8 802BD798 4600103C */ c.lt.s $f2, $f0 +/* 3212EC 802BD79C 00000000 */ nop +/* 3212F0 802BD7A0 45000004 */ bc1f .L802BD7B4 +/* 3212F4 802BD7A4 00000000 */ nop +/* 3212F8 802BD7A8 3C0140C0 */ lui $at, 0x40c0 +/* 3212FC 802BD7AC 4481A000 */ mtc1 $at, $f20 +/* 321300 802BD7B0 00000000 */ nop +.L802BD7B4: +/* 321304 802BD7B4 E6340000 */ swc1 $f20, ($s1) +/* 321308 802BD7B8 8FBF0018 */ lw $ra, 0x18($sp) +/* 32130C 802BD7BC 8FB10014 */ lw $s1, 0x14($sp) +/* 321310 802BD7C0 8FB00010 */ lw $s0, 0x10($sp) +/* 321314 802BD7C4 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 321318 802BD7C8 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 32131C 802BD7CC D7B60028 */ ldc1 $f22, 0x28($sp) +/* 321320 802BD7D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 321324 802BD7D4 03E00008 */ jr $ra +/* 321328 802BD7D8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/code_320C50/func_802BD7DC.s b/asm/nonmatchings/code_320C50/func_802BD7DC.s new file mode 100644 index 0000000000..f48ecc8070 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD7DC.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD7DC +/* 32132C 802BD7DC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 321330 802BD7E0 AFBF005C */ sw $ra, 0x5c($sp) +/* 321334 802BD7E4 AFB40058 */ sw $s4, 0x58($sp) +/* 321338 802BD7E8 AFB30054 */ sw $s3, 0x54($sp) +/* 32133C 802BD7EC AFB20050 */ sw $s2, 0x50($sp) +/* 321340 802BD7F0 AFB1004C */ sw $s1, 0x4c($sp) +/* 321344 802BD7F4 AFB00048 */ sw $s0, 0x48($sp) +/* 321348 802BD7F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 32134C 802BD7FC 0C00EABB */ jal get_npc_unsafe +/* 321350 802BD800 2404FFFC */ addiu $a0, $zero, -4 +/* 321354 802BD804 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 321358 802BD808 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 32135C 802BD80C 0040902D */ daddu $s2, $v0, $zero +/* 321360 802BD810 8E030004 */ lw $v1, 4($s0) +/* 321364 802BD814 3C022000 */ lui $v0, 0x2000 +/* 321368 802BD818 00621024 */ and $v0, $v1, $v0 +/* 32136C 802BD81C 10400007 */ beqz $v0, .L802BD83C +/* 321370 802BD820 0200982D */ daddu $s3, $s0, $zero +/* 321374 802BD824 3C02DFFF */ lui $v0, 0xdfff +/* 321378 802BD828 3442FFFF */ ori $v0, $v0, 0xffff +/* 32137C 802BD82C 00621024 */ and $v0, $v1, $v0 +/* 321380 802BD830 AE020004 */ sw $v0, 4($s0) +/* 321384 802BD834 080AF65E */ j .L802BD978 +/* 321388 802BD838 24020001 */ addiu $v0, $zero, 1 +.L802BD83C: +/* 32138C 802BD83C 0000A02D */ daddu $s4, $zero, $zero +/* 321390 802BD840 27B10028 */ addiu $s1, $sp, 0x28 +/* 321394 802BD844 0220202D */ daddu $a0, $s1, $zero +/* 321398 802BD848 27B0002C */ addiu $s0, $sp, 0x2c +/* 32139C 802BD84C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3213A0 802BD850 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3213A4 802BD854 3C064000 */ lui $a2, 0x4000 +/* 3213A8 802BD858 3C014180 */ lui $at, 0x4180 +/* 3213AC 802BD85C 4481A000 */ mtc1 $at, $f20 +/* 3213B0 802BD860 3C0140E0 */ lui $at, 0x40e0 +/* 3213B4 802BD864 44811000 */ mtc1 $at, $f2 +/* 3213B8 802BD868 00031080 */ sll $v0, $v1, 2 +/* 3213BC 802BD86C 00431021 */ addu $v0, $v0, $v1 +/* 3213C0 802BD870 00021080 */ sll $v0, $v0, 2 +/* 3213C4 802BD874 00431023 */ subu $v0, $v0, $v1 +/* 3213C8 802BD878 000218C0 */ sll $v1, $v0, 3 +/* 3213CC 802BD87C 00431021 */ addu $v0, $v0, $v1 +/* 3213D0 802BD880 000210C0 */ sll $v0, $v0, 3 +/* 3213D4 802BD884 3C07800B */ lui $a3, 0x800b +/* 3213D8 802BD888 00E23821 */ addu $a3, $a3, $v0 +/* 3213DC 802BD88C 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 3213E0 802BD890 0200282D */ daddu $a1, $s0, $zero +/* 3213E4 802BD894 E7B40034 */ swc1 $f20, 0x34($sp) +/* 3213E8 802BD898 C6400064 */ lwc1 $f0, 0x64($s2) +/* 3213EC 802BD89C C6640028 */ lwc1 $f4, 0x28($s3) +/* 3213F0 802BD8A0 C6660030 */ lwc1 $f6, 0x30($s3) +/* 3213F4 802BD8A4 46020000 */ add.s $f0, $f0, $f2 +/* 3213F8 802BD8A8 E7A40028 */ swc1 $f4, 0x28($sp) +/* 3213FC 802BD8AC E7A6002C */ swc1 $f6, 0x2c($sp) +/* 321400 802BD8B0 0C00A7E7 */ jal add_vec2D_polar +/* 321404 802BD8B4 E7A00030 */ swc1 $f0, 0x30($sp) +/* 321408 802BD8B8 0260202D */ daddu $a0, $s3, $zero +/* 32140C 802BD8BC 0220282D */ daddu $a1, $s1, $zero +/* 321410 802BD8C0 27A60030 */ addiu $a2, $sp, 0x30 +/* 321414 802BD8C4 0200382D */ daddu $a3, $s0, $zero +/* 321418 802BD8C8 27A20034 */ addiu $v0, $sp, 0x34 +/* 32141C 802BD8CC AFA20010 */ sw $v0, 0x10($sp) +/* 321420 802BD8D0 27A20038 */ addiu $v0, $sp, 0x38 +/* 321424 802BD8D4 AFA20014 */ sw $v0, 0x14($sp) +/* 321428 802BD8D8 27A2003C */ addiu $v0, $sp, 0x3c +/* 32142C 802BD8DC AFA20018 */ sw $v0, 0x18($sp) +/* 321430 802BD8E0 27A20040 */ addiu $v0, $sp, 0x40 +/* 321434 802BD8E4 AFA2001C */ sw $v0, 0x1c($sp) +/* 321438 802BD8E8 27A20044 */ addiu $v0, $sp, 0x44 +/* 32143C 802BD8EC 0C03791B */ jal func_800DE46C +/* 321440 802BD8F0 AFA20020 */ sw $v0, 0x20($sp) +/* 321444 802BD8F4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 321448 802BD8F8 4614003E */ c.le.s $f0, $f20 +/* 32144C 802BD8FC 00000000 */ nop +/* 321450 802BD900 4500001C */ bc1f .L802BD974 +/* 321454 802BD904 0040802D */ daddu $s0, $v0, $zero +/* 321458 802BD908 0600001A */ bltz $s0, .L802BD974 +/* 32145C 802BD90C 32024000 */ andi $v0, $s0, 0x4000 +/* 321460 802BD910 10400007 */ beqz $v0, .L802BD930 +/* 321464 802BD914 00000000 */ nop +/* 321468 802BD918 0C0441A9 */ jal get_entity_type +/* 32146C 802BD91C 0200202D */ daddu $a0, $s0, $zero +/* 321470 802BD920 2442FFD2 */ addiu $v0, $v0, -0x2e +/* 321474 802BD924 2C420002 */ sltiu $v0, $v0, 2 +/* 321478 802BD928 14400013 */ bnez $v0, .L802BD978 +/* 32147C 802BD92C 0280102D */ daddu $v0, $s4, $zero +.L802BD930: +/* 321480 802BD930 0C016F6A */ jal get_collider_type_by_id +/* 321484 802BD934 0200202D */ daddu $a0, $s0, $zero +/* 321488 802BD938 305000FF */ andi $s0, $v0, 0xff +/* 32148C 802BD93C 2602FFFF */ addiu $v0, $s0, -1 +/* 321490 802BD940 2C420003 */ sltiu $v0, $v0, 3 +/* 321494 802BD944 1440000C */ bnez $v0, .L802BD978 +/* 321498 802BD948 0280102D */ daddu $v0, $s4, $zero +/* 32149C 802BD94C 24020005 */ addiu $v0, $zero, 5 +/* 3214A0 802BD950 12020009 */ beq $s0, $v0, .L802BD978 +/* 3214A4 802BD954 0280102D */ daddu $v0, $s4, $zero +/* 3214A8 802BD958 C7A00028 */ lwc1 $f0, 0x28($sp) +/* 3214AC 802BD95C C7A20030 */ lwc1 $f2, 0x30($sp) +/* 3214B0 802BD960 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 3214B4 802BD964 24140001 */ addiu $s4, $zero, 1 +/* 3214B8 802BD968 E6400060 */ swc1 $f0, 0x60($s2) +/* 3214BC 802BD96C E6420064 */ swc1 $f2, 0x64($s2) +/* 3214C0 802BD970 E6440068 */ swc1 $f4, 0x68($s2) +.L802BD974: +/* 3214C4 802BD974 0280102D */ daddu $v0, $s4, $zero +.L802BD978: +/* 3214C8 802BD978 8FBF005C */ lw $ra, 0x5c($sp) +/* 3214CC 802BD97C 8FB40058 */ lw $s4, 0x58($sp) +/* 3214D0 802BD980 8FB30054 */ lw $s3, 0x54($sp) +/* 3214D4 802BD984 8FB20050 */ lw $s2, 0x50($sp) +/* 3214D8 802BD988 8FB1004C */ lw $s1, 0x4c($sp) +/* 3214DC 802BD98C 8FB00048 */ lw $s0, 0x48($sp) +/* 3214E0 802BD990 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 3214E4 802BD994 03E00008 */ jr $ra +/* 3214E8 802BD998 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_320C50/func_802BD99C.s b/asm/nonmatchings/code_320C50/func_802BD99C.s new file mode 100644 index 0000000000..acf84ea94a --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BD99C.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD99C +/* 3214EC 802BD99C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3214F0 802BD9A0 AFB1004C */ sw $s1, 0x4c($sp) +/* 3214F4 802BD9A4 0080882D */ daddu $s1, $a0, $zero +/* 3214F8 802BD9A8 AFB00048 */ sw $s0, 0x48($sp) +/* 3214FC 802BD9AC 3C10802C */ lui $s0, 0x802c +/* 321500 802BD9B0 2610FF24 */ addiu $s0, $s0, -0xdc +/* 321504 802BD9B4 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* 321508 802BD9B8 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* 32150C 802BD9BC 27A20034 */ addiu $v0, $sp, 0x34 +/* 321510 802BD9C0 AFA60034 */ sw $a2, 0x34($sp) +/* 321514 802BD9C4 27A6002C */ addiu $a2, $sp, 0x2c +/* 321518 802BD9C8 27A70030 */ addiu $a3, $sp, 0x30 +/* 32151C 802BD9CC AFBF0050 */ sw $ra, 0x50($sp) +/* 321520 802BD9D0 AE000000 */ sw $zero, ($s0) +/* 321524 802BD9D4 C4840028 */ lwc1 $f4, 0x28($a0) +/* 321528 802BD9D8 C480002C */ lwc1 $f0, 0x2c($a0) +/* 32152C 802BD9DC 44854000 */ mtc1 $a1, $f8 +/* 321530 802BD9E0 C4820030 */ lwc1 $f2, 0x30($a0) +/* 321534 802BD9E4 46080000 */ add.s $f0, $f0, $f8 +/* 321538 802BD9E8 27A50028 */ addiu $a1, $sp, 0x28 +/* 32153C 802BD9EC E7A40028 */ swc1 $f4, 0x28($sp) +/* 321540 802BD9F0 E7A20030 */ swc1 $f2, 0x30($sp) +/* 321544 802BD9F4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 321548 802BD9F8 AFA20010 */ sw $v0, 0x10($sp) +/* 32154C 802BD9FC 27A20038 */ addiu $v0, $sp, 0x38 +/* 321550 802BDA00 AFA20014 */ sw $v0, 0x14($sp) +/* 321554 802BDA04 27A2003C */ addiu $v0, $sp, 0x3c +/* 321558 802BDA08 AFA20018 */ sw $v0, 0x18($sp) +/* 32155C 802BDA0C 27A20040 */ addiu $v0, $sp, 0x40 +/* 321560 802BDA10 AFA2001C */ sw $v0, 0x1c($sp) +/* 321564 802BDA14 27A20044 */ addiu $v0, $sp, 0x44 +/* 321568 802BDA18 0C03791B */ jal func_800DE46C +/* 32156C 802BDA1C AFA20020 */ sw $v0, 0x20($sp) +/* 321570 802BDA20 04420016 */ bltzl $v0, .L802BDA7C +/* 321574 802BDA24 0000102D */ daddu $v0, $zero, $zero +/* 321578 802BDA28 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 32157C 802BDA2C C6200064 */ lwc1 $f0, 0x64($s1) +/* 321580 802BDA30 46003101 */ sub.s $f4, $f6, $f0 +/* 321584 802BDA34 44800000 */ mtc1 $zero, $f0 +/* 321588 802BDA38 00000000 */ nop +/* 32158C 802BDA3C 46002032 */ c.eq.s $f4, $f0 +/* 321590 802BDA40 00000000 */ nop +/* 321594 802BDA44 4501000D */ bc1t .L802BDA7C +/* 321598 802BDA48 24020001 */ addiu $v0, $zero, 1 +/* 32159C 802BDA4C 46002021 */ cvt.d.s $f0, $f4 +/* 3215A0 802BDA50 3C014024 */ lui $at, 0x4024 +/* 3215A4 802BDA54 44811800 */ mtc1 $at, $f3 +/* 3215A8 802BDA58 44801000 */ mtc1 $zero, $f2 +/* 3215AC 802BDA5C 46200005 */ abs.d $f0, $f0 +/* 3215B0 802BDA60 4622003C */ c.lt.d $f0, $f2 +/* 3215B4 802BDA64 00000000 */ nop +/* 3215B8 802BDA68 45020004 */ bc1fl .L802BDA7C +/* 3215BC 802BDA6C 0000102D */ daddu $v0, $zero, $zero +/* 3215C0 802BDA70 4600220D */ trunc.w.s $f8, $f4 +/* 3215C4 802BDA74 E6080000 */ swc1 $f8, ($s0) +/* 3215C8 802BDA78 E6260064 */ swc1 $f6, 0x64($s1) +.L802BDA7C: +/* 3215CC 802BDA7C 8FBF0050 */ lw $ra, 0x50($sp) +/* 3215D0 802BDA80 8FB1004C */ lw $s1, 0x4c($sp) +/* 3215D4 802BDA84 8FB00048 */ lw $s0, 0x48($sp) +/* 3215D8 802BDA88 03E00008 */ jr $ra +/* 3215DC 802BDA8C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_320C50/func_802BDA90.s b/asm/nonmatchings/code_320C50/func_802BDA90.s new file mode 100644 index 0000000000..f030cd60ef --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BDA90.s @@ -0,0 +1,224 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDA90 +/* 3215E0 802BDA90 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 3215E4 802BDA94 AFB00030 */ sw $s0, 0x30($sp) +/* 3215E8 802BDA98 0080802D */ daddu $s0, $a0, $zero +/* 3215EC 802BDA9C AFBF0034 */ sw $ra, 0x34($sp) +/* 3215F0 802BDAA0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3215F4 802BDAA4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 3215F8 802BDAA8 860200A6 */ lh $v0, 0xa6($s0) +/* 3215FC 802BDAAC 3C013F4C */ lui $at, 0x3f4c +/* 321600 802BDAB0 3421CCCD */ ori $at, $at, 0xcccd +/* 321604 802BDAB4 44811000 */ mtc1 $at, $f2 +/* 321608 802BDAB8 44820000 */ mtc1 $v0, $f0 +/* 32160C 802BDABC 00000000 */ nop +/* 321610 802BDAC0 46800020 */ cvt.s.w $f0, $f0 +/* 321614 802BDAC4 46020502 */ mul.s $f20, $f0, $f2 +/* 321618 802BDAC8 0C00A6C9 */ jal clamp_angle +/* 32161C 802BDACC 00000000 */ nop +/* 321620 802BDAD0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 321624 802BDAD4 C6040064 */ lwc1 $f4, 0x64($s0) +/* 321628 802BDAD8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 32162C 802BDADC 27A50020 */ addiu $a1, $sp, 0x20 +/* 321630 802BDAE0 E7A20020 */ swc1 $f2, 0x20($sp) +/* 321634 802BDAE4 E7A40024 */ swc1 $f4, 0x24($sp) +/* 321638 802BDAE8 E7A60028 */ swc1 $f6, 0x28($sp) +/* 32163C 802BDAEC AFA00010 */ sw $zero, 0x10($sp) +/* 321640 802BDAF0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 321644 802BDAF4 860200A8 */ lh $v0, 0xa8($s0) +/* 321648 802BDAF8 27A60024 */ addiu $a2, $sp, 0x24 +/* 32164C 802BDAFC 44820000 */ mtc1 $v0, $f0 +/* 321650 802BDB00 00000000 */ nop +/* 321654 802BDB04 46800020 */ cvt.s.w $f0, $f0 +/* 321658 802BDB08 E7A00018 */ swc1 $f0, 0x18($sp) +/* 32165C 802BDB0C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 321660 802BDB10 8E040080 */ lw $a0, 0x80($s0) +/* 321664 802BDB14 0C037765 */ jal func_800DDD94 +/* 321668 802BDB18 27A70028 */ addiu $a3, $sp, 0x28 +/* 32166C 802BDB1C 1040000C */ beqz $v0, .L802BDB50 +/* 321670 802BDB20 24039FFF */ addiu $v1, $zero, -0x6001 +/* 321674 802BDB24 8E020000 */ lw $v0, ($s0) +/* 321678 802BDB28 3C038011 */ lui $v1, 0x8011 +/* 32167C 802BDB2C 9463C97A */ lhu $v1, -0x3686($v1) +/* 321680 802BDB30 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 321684 802BDB34 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 321688 802BDB38 34426000 */ ori $v0, $v0, 0x6000 +/* 32168C 802BDB3C AE020000 */ sw $v0, ($s0) +/* 321690 802BDB40 A6030086 */ sh $v1, 0x86($s0) +/* 321694 802BDB44 E6000038 */ swc1 $f0, 0x38($s0) +/* 321698 802BDB48 080AF6D7 */ j .L802BDB5C +/* 32169C 802BDB4C E6020040 */ swc1 $f2, 0x40($s0) +.L802BDB50: +/* 3216A0 802BDB50 8E020000 */ lw $v0, ($s0) +/* 3216A4 802BDB54 00431024 */ and $v0, $v0, $v1 +/* 3216A8 802BDB58 AE020000 */ sw $v0, ($s0) +.L802BDB5C: +/* 3216AC 802BDB5C C600000C */ lwc1 $f0, 0xc($s0) +/* 3216B0 802BDB60 3C014234 */ lui $at, 0x4234 +/* 3216B4 802BDB64 44816000 */ mtc1 $at, $f12 +/* 3216B8 802BDB68 0C00A6C9 */ jal clamp_angle +/* 3216BC 802BDB6C 460C0300 */ add.s $f12, $f0, $f12 +/* 3216C0 802BDB70 C6020038 */ lwc1 $f2, 0x38($s0) +/* 3216C4 802BDB74 C6040064 */ lwc1 $f4, 0x64($s0) +/* 3216C8 802BDB78 C6060040 */ lwc1 $f6, 0x40($s0) +/* 3216CC 802BDB7C 27A50020 */ addiu $a1, $sp, 0x20 +/* 3216D0 802BDB80 E7A20020 */ swc1 $f2, 0x20($sp) +/* 3216D4 802BDB84 E7A40024 */ swc1 $f4, 0x24($sp) +/* 3216D8 802BDB88 E7A60028 */ swc1 $f6, 0x28($sp) +/* 3216DC 802BDB8C AFA00010 */ sw $zero, 0x10($sp) +/* 3216E0 802BDB90 E7A00014 */ swc1 $f0, 0x14($sp) +/* 3216E4 802BDB94 860200A8 */ lh $v0, 0xa8($s0) +/* 3216E8 802BDB98 27A60024 */ addiu $a2, $sp, 0x24 +/* 3216EC 802BDB9C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 3216F0 802BDBA0 44820000 */ mtc1 $v0, $f0 +/* 3216F4 802BDBA4 00000000 */ nop +/* 3216F8 802BDBA8 46800020 */ cvt.s.w $f0, $f0 +/* 3216FC 802BDBAC E7A00018 */ swc1 $f0, 0x18($sp) +/* 321700 802BDBB0 8E040080 */ lw $a0, 0x80($s0) +/* 321704 802BDBB4 0C0376B9 */ jal func_800DDAE4 +/* 321708 802BDBB8 27A70028 */ addiu $a3, $sp, 0x28 +/* 32170C 802BDBBC 10400008 */ beqz $v0, .L802BDBE0 +/* 321710 802BDBC0 2403DFFF */ addiu $v1, $zero, -0x2001 +/* 321714 802BDBC4 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 321718 802BDBC8 8E020000 */ lw $v0, ($s0) +/* 32171C 802BDBCC C7A20028 */ lwc1 $f2, 0x28($sp) +/* 321720 802BDBD0 34422000 */ ori $v0, $v0, 0x2000 +/* 321724 802BDBD4 E6000038 */ swc1 $f0, 0x38($s0) +/* 321728 802BDBD8 080AF6FA */ j .L802BDBE8 +/* 32172C 802BDBDC E6020040 */ swc1 $f2, 0x40($s0) +.L802BDBE0: +/* 321730 802BDBE0 8E020000 */ lw $v0, ($s0) +/* 321734 802BDBE4 00431024 */ and $v0, $v0, $v1 +.L802BDBE8: +/* 321738 802BDBE8 AE020000 */ sw $v0, ($s0) +/* 32173C 802BDBEC C600000C */ lwc1 $f0, 0xc($s0) +/* 321740 802BDBF0 3C014234 */ lui $at, 0x4234 +/* 321744 802BDBF4 44816000 */ mtc1 $at, $f12 +/* 321748 802BDBF8 0C00A6C9 */ jal clamp_angle +/* 32174C 802BDBFC 460C0301 */ sub.s $f12, $f0, $f12 +/* 321750 802BDC00 C6020038 */ lwc1 $f2, 0x38($s0) +/* 321754 802BDC04 C6040064 */ lwc1 $f4, 0x64($s0) +/* 321758 802BDC08 C6060040 */ lwc1 $f6, 0x40($s0) +/* 32175C 802BDC0C 27A50020 */ addiu $a1, $sp, 0x20 +/* 321760 802BDC10 E7A20020 */ swc1 $f2, 0x20($sp) +/* 321764 802BDC14 E7A40024 */ swc1 $f4, 0x24($sp) +/* 321768 802BDC18 E7A60028 */ swc1 $f6, 0x28($sp) +/* 32176C 802BDC1C AFA00010 */ sw $zero, 0x10($sp) +/* 321770 802BDC20 E7A00014 */ swc1 $f0, 0x14($sp) +/* 321774 802BDC24 860200A8 */ lh $v0, 0xa8($s0) +/* 321778 802BDC28 27A60024 */ addiu $a2, $sp, 0x24 +/* 32177C 802BDC2C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 321780 802BDC30 44820000 */ mtc1 $v0, $f0 +/* 321784 802BDC34 00000000 */ nop +/* 321788 802BDC38 46800020 */ cvt.s.w $f0, $f0 +/* 32178C 802BDC3C E7A00018 */ swc1 $f0, 0x18($sp) +/* 321790 802BDC40 8E040080 */ lw $a0, 0x80($s0) +/* 321794 802BDC44 0C0376B9 */ jal func_800DDAE4 +/* 321798 802BDC48 27A70028 */ addiu $a3, $sp, 0x28 +/* 32179C 802BDC4C 10400008 */ beqz $v0, .L802BDC70 +/* 3217A0 802BDC50 2403DFFF */ addiu $v1, $zero, -0x2001 +/* 3217A4 802BDC54 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 3217A8 802BDC58 8E020000 */ lw $v0, ($s0) +/* 3217AC 802BDC5C C7A20028 */ lwc1 $f2, 0x28($sp) +/* 3217B0 802BDC60 34422000 */ ori $v0, $v0, 0x2000 +/* 3217B4 802BDC64 E6000038 */ swc1 $f0, 0x38($s0) +/* 3217B8 802BDC68 080AF71E */ j .L802BDC78 +/* 3217BC 802BDC6C E6020040 */ swc1 $f2, 0x40($s0) +.L802BDC70: +/* 3217C0 802BDC70 8E020000 */ lw $v0, ($s0) +/* 3217C4 802BDC74 00431024 */ and $v0, $v0, $v1 +.L802BDC78: +/* 3217C8 802BDC78 AE020000 */ sw $v0, ($s0) +/* 3217CC 802BDC7C C60C000C */ lwc1 $f12, 0xc($s0) +/* 3217D0 802BDC80 3C014234 */ lui $at, 0x4234 +/* 3217D4 802BDC84 44810000 */ mtc1 $at, $f0 +/* 3217D8 802BDC88 00000000 */ nop +/* 3217DC 802BDC8C 46006300 */ add.s $f12, $f12, $f0 +/* 3217E0 802BDC90 3C014334 */ lui $at, 0x4334 +/* 3217E4 802BDC94 44810000 */ mtc1 $at, $f0 +/* 3217E8 802BDC98 0C00A6C9 */ jal clamp_angle +/* 3217EC 802BDC9C 46006300 */ add.s $f12, $f12, $f0 +/* 3217F0 802BDCA0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 3217F4 802BDCA4 C6040064 */ lwc1 $f4, 0x64($s0) +/* 3217F8 802BDCA8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 3217FC 802BDCAC 27A50020 */ addiu $a1, $sp, 0x20 +/* 321800 802BDCB0 E7A20020 */ swc1 $f2, 0x20($sp) +/* 321804 802BDCB4 E7A40024 */ swc1 $f4, 0x24($sp) +/* 321808 802BDCB8 E7A60028 */ swc1 $f6, 0x28($sp) +/* 32180C 802BDCBC AFA00010 */ sw $zero, 0x10($sp) +/* 321810 802BDCC0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 321814 802BDCC4 860200A8 */ lh $v0, 0xa8($s0) +/* 321818 802BDCC8 27A60024 */ addiu $a2, $sp, 0x24 +/* 32181C 802BDCCC E7B4001C */ swc1 $f20, 0x1c($sp) +/* 321820 802BDCD0 44820000 */ mtc1 $v0, $f0 +/* 321824 802BDCD4 00000000 */ nop +/* 321828 802BDCD8 46800020 */ cvt.s.w $f0, $f0 +/* 32182C 802BDCDC E7A00018 */ swc1 $f0, 0x18($sp) +/* 321830 802BDCE0 8E040080 */ lw $a0, 0x80($s0) +/* 321834 802BDCE4 0C037711 */ jal func_800DDC44 +/* 321838 802BDCE8 27A70028 */ addiu $a3, $sp, 0x28 +/* 32183C 802BDCEC 10400009 */ beqz $v0, .L802BDD14 +/* 321840 802BDCF0 2403DFFF */ addiu $v1, $zero, -0x2001 +/* 321844 802BDCF4 8E020000 */ lw $v0, ($s0) +/* 321848 802BDCF8 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 32184C 802BDCFC C7A20028 */ lwc1 $f2, 0x28($sp) +/* 321850 802BDD00 34422000 */ ori $v0, $v0, 0x2000 +/* 321854 802BDD04 AE020000 */ sw $v0, ($s0) +/* 321858 802BDD08 E6000038 */ swc1 $f0, 0x38($s0) +/* 32185C 802BDD0C 080AF748 */ j .L802BDD20 +/* 321860 802BDD10 E6020040 */ swc1 $f2, 0x40($s0) +.L802BDD14: +/* 321864 802BDD14 8E020000 */ lw $v0, ($s0) +/* 321868 802BDD18 00431024 */ and $v0, $v0, $v1 +/* 32186C 802BDD1C AE020000 */ sw $v0, ($s0) +.L802BDD20: +/* 321870 802BDD20 C60C000C */ lwc1 $f12, 0xc($s0) +/* 321874 802BDD24 3C014234 */ lui $at, 0x4234 +/* 321878 802BDD28 44810000 */ mtc1 $at, $f0 +/* 32187C 802BDD2C 00000000 */ nop +/* 321880 802BDD30 46006301 */ sub.s $f12, $f12, $f0 +/* 321884 802BDD34 3C014334 */ lui $at, 0x4334 +/* 321888 802BDD38 44810000 */ mtc1 $at, $f0 +/* 32188C 802BDD3C 0C00A6C9 */ jal clamp_angle +/* 321890 802BDD40 46006300 */ add.s $f12, $f12, $f0 +/* 321894 802BDD44 C6020038 */ lwc1 $f2, 0x38($s0) +/* 321898 802BDD48 C6040064 */ lwc1 $f4, 0x64($s0) +/* 32189C 802BDD4C C6060040 */ lwc1 $f6, 0x40($s0) +/* 3218A0 802BDD50 27A50020 */ addiu $a1, $sp, 0x20 +/* 3218A4 802BDD54 E7A20020 */ swc1 $f2, 0x20($sp) +/* 3218A8 802BDD58 E7A40024 */ swc1 $f4, 0x24($sp) +/* 3218AC 802BDD5C E7A60028 */ swc1 $f6, 0x28($sp) +/* 3218B0 802BDD60 AFA00010 */ sw $zero, 0x10($sp) +/* 3218B4 802BDD64 E7A00014 */ swc1 $f0, 0x14($sp) +/* 3218B8 802BDD68 860200A8 */ lh $v0, 0xa8($s0) +/* 3218BC 802BDD6C 27A60024 */ addiu $a2, $sp, 0x24 +/* 3218C0 802BDD70 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 3218C4 802BDD74 44820000 */ mtc1 $v0, $f0 +/* 3218C8 802BDD78 00000000 */ nop +/* 3218CC 802BDD7C 46800020 */ cvt.s.w $f0, $f0 +/* 3218D0 802BDD80 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3218D4 802BDD84 8E040080 */ lw $a0, 0x80($s0) +/* 3218D8 802BDD88 0C037711 */ jal func_800DDC44 +/* 3218DC 802BDD8C 27A70028 */ addiu $a3, $sp, 0x28 +/* 3218E0 802BDD90 10400009 */ beqz $v0, .L802BDDB8 +/* 3218E4 802BDD94 2403DFFF */ addiu $v1, $zero, -0x2001 +/* 3218E8 802BDD98 8E020000 */ lw $v0, ($s0) +/* 3218EC 802BDD9C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 3218F0 802BDDA0 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 3218F4 802BDDA4 34422000 */ ori $v0, $v0, 0x2000 +/* 3218F8 802BDDA8 AE020000 */ sw $v0, ($s0) +/* 3218FC 802BDDAC E6000038 */ swc1 $f0, 0x38($s0) +/* 321900 802BDDB0 080AF771 */ j .L802BDDC4 +/* 321904 802BDDB4 E6020040 */ swc1 $f2, 0x40($s0) +.L802BDDB8: +/* 321908 802BDDB8 8E020000 */ lw $v0, ($s0) +/* 32190C 802BDDBC 00431024 */ and $v0, $v0, $v1 +/* 321910 802BDDC0 AE020000 */ sw $v0, ($s0) +.L802BDDC4: +/* 321914 802BDDC4 8FBF0034 */ lw $ra, 0x34($sp) +/* 321918 802BDDC8 8FB00030 */ lw $s0, 0x30($sp) +/* 32191C 802BDDCC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 321920 802BDDD0 03E00008 */ jr $ra +/* 321924 802BDDD4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/code_320C50/func_802BDDD8.s b/asm/nonmatchings/code_320C50/func_802BDDD8.s new file mode 100644 index 0000000000..30e252d063 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BDDD8.s @@ -0,0 +1,588 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDDD8 +/* 321928 802BDDD8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 32192C 802BDDDC AFB20060 */ sw $s2, 0x60($sp) +/* 321930 802BDDE0 0080902D */ daddu $s2, $a0, $zero +/* 321934 802BDDE4 27A40028 */ addiu $a0, $sp, 0x28 +/* 321938 802BDDE8 F7B40078 */ sdc1 $f20, 0x78($sp) +/* 32193C 802BDDEC 4480A000 */ mtc1 $zero, $f20 +/* 321940 802BDDF0 27A5002C */ addiu $a1, $sp, 0x2c +/* 321944 802BDDF4 AFBF0070 */ sw $ra, 0x70($sp) +/* 321948 802BDDF8 AFB5006C */ sw $s5, 0x6c($sp) +/* 32194C 802BDDFC AFB40068 */ sw $s4, 0x68($sp) +/* 321950 802BDE00 AFB30064 */ sw $s3, 0x64($sp) +/* 321954 802BDE04 AFB1005C */ sw $s1, 0x5c($sp) +/* 321958 802BDE08 AFB00058 */ sw $s0, 0x58($sp) +/* 32195C 802BDE0C E7B40028 */ swc1 $f20, 0x28($sp) +/* 321960 802BDE10 0C0AF5AF */ jal func_802BD6BC +/* 321964 802BDE14 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 321968 802BDE18 86440084 */ lh $a0, 0x84($s2) +/* 32196C 802BDE1C 0C016F6A */ jal get_collider_type_by_id +/* 321970 802BDE20 00000000 */ nop +/* 321974 802BDE24 3C148011 */ lui $s4, %hi(gPlayerStatus) +/* 321978 802BDE28 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) +/* 32197C 802BDE2C 3C158016 */ lui $s5, 0x8016 +/* 321980 802BDE30 26B5A550 */ addiu $s5, $s5, -0x5ab0 +/* 321984 802BDE34 304200FF */ andi $v0, $v0, 0xff +/* 321988 802BDE38 24030003 */ addiu $v1, $zero, 3 +/* 32198C 802BDE3C 14430008 */ bne $v0, $v1, .L802BDE60 +/* 321990 802BDE40 00000000 */ nop +/* 321994 802BDE44 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 321998 802BDE48 3C013F00 */ lui $at, 0x3f00 +/* 32199C 802BDE4C 44811000 */ mtc1 $at, $f2 +/* 3219A0 802BDE50 00000000 */ nop +/* 3219A4 802BDE54 46020002 */ mul.s $f0, $f0, $f2 +/* 3219A8 802BDE58 00000000 */ nop +/* 3219AC 802BDE5C E7A0002C */ swc1 $f0, 0x2c($sp) +.L802BDE60: +/* 3219B0 802BDE60 3C01802C */ lui $at, 0x802c +/* 3219B4 802BDE64 C422FF28 */ lwc1 $f2, -0xd8($at) +/* 3219B8 802BDE68 3C0141A0 */ lui $at, 0x41a0 +/* 3219BC 802BDE6C 44810000 */ mtc1 $at, $f0 +/* 3219C0 802BDE70 00000000 */ nop +/* 3219C4 802BDE74 4602003E */ c.le.s $f0, $f2 +/* 3219C8 802BDE78 00000000 */ nop +/* 3219CC 802BDE7C 45000009 */ bc1f .L802BDEA4 +/* 3219D0 802BDE80 00000000 */ nop +/* 3219D4 802BDE84 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 3219D8 802BDE88 3C013F4C */ lui $at, 0x3f4c +/* 3219DC 802BDE8C 3421CCCD */ ori $at, $at, 0xcccd +/* 3219E0 802BDE90 44811000 */ mtc1 $at, $f2 +/* 3219E4 802BDE94 00000000 */ nop +/* 3219E8 802BDE98 46020002 */ mul.s $f0, $f0, $f2 +/* 3219EC 802BDE9C 00000000 */ nop +/* 3219F0 802BDEA0 E7A0002C */ swc1 $f0, 0x2c($sp) +.L802BDEA4: +/* 3219F4 802BDEA4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 3219F8 802BDEA8 46140032 */ c.eq.s $f0, $f20 +/* 3219FC 802BDEAC 00000000 */ nop +/* 321A00 802BDEB0 45010026 */ bc1t .L802BDF4C +/* 321A04 802BDEB4 E6400018 */ swc1 $f0, 0x18($s2) +/* 321A08 802BDEB8 3C02802C */ lui $v0, 0x802c +/* 321A0C 802BDEBC 2442FF1C */ addiu $v0, $v0, -0xe4 +/* 321A10 802BDEC0 3C07802C */ lui $a3, 0x802c +/* 321A14 802BDEC4 24E7FF20 */ addiu $a3, $a3, -0xe0 +/* 321A18 802BDEC8 8C430000 */ lw $v1, ($v0) +/* 321A1C 802BDECC 8CE40000 */ lw $a0, ($a3) +/* 321A20 802BDED0 24630001 */ addiu $v1, $v1, 1 +/* 321A24 802BDED4 AC430000 */ sw $v1, ($v0) +/* 321A28 802BDED8 24820001 */ addiu $v0, $a0, 1 +/* 321A2C 802BDEDC 30630007 */ andi $v1, $v1, 7 +/* 321A30 802BDEE0 1460001A */ bnez $v1, .L802BDF4C +/* 321A34 802BDEE4 ACE20000 */ sw $v0, ($a3) +/* 321A38 802BDEE8 28420078 */ slti $v0, $v0, 0x78 +/* 321A3C 802BDEEC 50400001 */ beql $v0, $zero, .L802BDEF4 +/* 321A40 802BDEF0 ACE00000 */ sw $zero, ($a3) +.L802BDEF4: +/* 321A44 802BDEF4 8CE70000 */ lw $a3, ($a3) +/* 321A48 802BDEF8 28E2003C */ slti $v0, $a3, 0x3c +/* 321A4C 802BDEFC 10400005 */ beqz $v0, .L802BDF14 +/* 321A50 802BDF00 0000202D */ daddu $a0, $zero, $zero +/* 321A54 802BDF04 4405A000 */ mfc1 $a1, $f20 +/* 321A58 802BDF08 3C0642C8 */ lui $a2, 0x42c8 +/* 321A5C 802BDF0C 080AF7C9 */ j .L802BDF24 +/* 321A60 802BDF10 2402003C */ addiu $v0, $zero, 0x3c +.L802BDF14: +/* 321A64 802BDF14 24E7FFC4 */ addiu $a3, $a3, -0x3c +/* 321A68 802BDF18 3C0542C8 */ lui $a1, 0x42c8 +/* 321A6C 802BDF1C 4406A000 */ mfc1 $a2, $f20 +/* 321A70 802BDF20 2402003C */ addiu $v0, $zero, 0x3c +.L802BDF24: +/* 321A74 802BDF24 0C00A8ED */ jal update_lerp +/* 321A78 802BDF28 AFA20010 */ sw $v0, 0x10($sp) +/* 321A7C 802BDF2C 4600028D */ trunc.w.s $f10, $f0 +/* 321A80 802BDF30 44075000 */ mfc1 $a3, $f10 +/* 321A84 802BDF34 24040295 */ addiu $a0, $zero, 0x295 +/* 321A88 802BDF38 0000282D */ daddu $a1, $zero, $zero +/* 321A8C 802BDF3C 24060040 */ addiu $a2, $zero, 0x40 +/* 321A90 802BDF40 00073C00 */ sll $a3, $a3, 0x10 +/* 321A94 802BDF44 0C0526AE */ jal _play_sound +/* 321A98 802BDF48 00073C03 */ sra $a3, $a3, 0x10 +.L802BDF4C: +/* 321A9C 802BDF4C C6400038 */ lwc1 $f0, 0x38($s2) +/* 321AA0 802BDF50 C6420064 */ lwc1 $f2, 0x64($s2) +/* 321AA4 802BDF54 C6440040 */ lwc1 $f4, 0x40($s2) +/* 321AA8 802BDF58 864200A6 */ lh $v0, 0xa6($s2) +/* 321AAC 802BDF5C E7A00030 */ swc1 $f0, 0x30($sp) +/* 321AB0 802BDF60 44820000 */ mtc1 $v0, $f0 +/* 321AB4 802BDF64 00000000 */ nop +/* 321AB8 802BDF68 46800020 */ cvt.s.w $f0, $f0 +/* 321ABC 802BDF6C E7A20034 */ swc1 $f2, 0x34($sp) +/* 321AC0 802BDF70 E7A40038 */ swc1 $f4, 0x38($sp) +/* 321AC4 802BDF74 E7A00010 */ swc1 $f0, 0x10($sp) +/* 321AC8 802BDF78 C640000C */ lwc1 $f0, 0xc($s2) +/* 321ACC 802BDF7C E7A00014 */ swc1 $f0, 0x14($sp) +/* 321AD0 802BDF80 864200A8 */ lh $v0, 0xa8($s2) +/* 321AD4 802BDF84 27A50030 */ addiu $a1, $sp, 0x30 +/* 321AD8 802BDF88 44820000 */ mtc1 $v0, $f0 +/* 321ADC 802BDF8C 00000000 */ nop +/* 321AE0 802BDF90 46800020 */ cvt.s.w $f0, $f0 +/* 321AE4 802BDF94 E7A00018 */ swc1 $f0, 0x18($sp) +/* 321AE8 802BDF98 864200A6 */ lh $v0, 0xa6($s2) +/* 321AEC 802BDF9C 27A60034 */ addiu $a2, $sp, 0x34 +/* 321AF0 802BDFA0 44820000 */ mtc1 $v0, $f0 +/* 321AF4 802BDFA4 00000000 */ nop +/* 321AF8 802BDFA8 46800020 */ cvt.s.w $f0, $f0 +/* 321AFC 802BDFAC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321B00 802BDFB0 8E440080 */ lw $a0, 0x80($s2) +/* 321B04 802BDFB4 0C0376B9 */ jal func_800DDAE4 +/* 321B08 802BDFB8 27A70038 */ addiu $a3, $sp, 0x38 +/* 321B0C 802BDFBC 1040000D */ beqz $v0, .L802BDFF4 +/* 321B10 802BDFC0 00000000 */ nop +/* 321B14 802BDFC4 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 321B18 802BDFC8 2442EBB0 */ addiu $v0, $v0, %lo(D_8010EBB0) +/* 321B1C 802BDFCC 8C42000C */ lw $v0, 0xc($v0) +/* 321B20 802BDFD0 30428000 */ andi $v0, $v0, 0x8000 +/* 321B24 802BDFD4 10400005 */ beqz $v0, .L802BDFEC +/* 321B28 802BDFD8 26A3000A */ addiu $v1, $s5, 0xa +/* 321B2C 802BDFDC 3C028011 */ lui $v0, 0x8011 +/* 321B30 802BDFE0 9442C97A */ lhu $v0, -0x3686($v0) +/* 321B34 802BDFE4 080AF7FD */ j .L802BDFF4 +/* 321B38 802BDFE8 A4620000 */ sh $v0, ($v1) +.L802BDFEC: +/* 321B3C 802BDFEC 2402FFFF */ addiu $v0, $zero, -1 +/* 321B40 802BDFF0 A4620000 */ sh $v0, ($v1) +.L802BDFF4: +/* 321B44 802BDFF4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 321B48 802BDFF8 44800000 */ mtc1 $zero, $f0 +/* 321B4C 802BDFFC 00000000 */ nop +/* 321B50 802BE000 46001032 */ c.eq.s $f2, $f0 +/* 321B54 802BE004 00000000 */ nop +/* 321B58 802BE008 4501009E */ bc1t .L802BE284 +/* 321B5C 802BE00C 27B30030 */ addiu $s3, $sp, 0x30 +/* 321B60 802BE010 C7A00028 */ lwc1 $f0, 0x28($sp) +/* 321B64 802BE014 C6420038 */ lwc1 $f2, 0x38($s2) +/* 321B68 802BE018 C6440064 */ lwc1 $f4, 0x64($s2) +/* 321B6C 802BE01C C6460040 */ lwc1 $f6, 0x40($s2) +/* 321B70 802BE020 C6480018 */ lwc1 $f8, 0x18($s2) +/* 321B74 802BE024 E640000C */ swc1 $f0, 0xc($s2) +/* 321B78 802BE028 E7A20030 */ swc1 $f2, 0x30($sp) +/* 321B7C 802BE02C E7A40034 */ swc1 $f4, 0x34($sp) +/* 321B80 802BE030 E7A60038 */ swc1 $f6, 0x38($sp) +/* 321B84 802BE034 E7A80010 */ swc1 $f8, 0x10($sp) +/* 321B88 802BE038 C640000C */ lwc1 $f0, 0xc($s2) +/* 321B8C 802BE03C E7A00014 */ swc1 $f0, 0x14($sp) +/* 321B90 802BE040 864200A8 */ lh $v0, 0xa8($s2) +/* 321B94 802BE044 27A50030 */ addiu $a1, $sp, 0x30 +/* 321B98 802BE048 44820000 */ mtc1 $v0, $f0 +/* 321B9C 802BE04C 00000000 */ nop +/* 321BA0 802BE050 46800020 */ cvt.s.w $f0, $f0 +/* 321BA4 802BE054 E7A00018 */ swc1 $f0, 0x18($sp) +/* 321BA8 802BE058 864200A6 */ lh $v0, 0xa6($s2) +/* 321BAC 802BE05C 27A60034 */ addiu $a2, $sp, 0x34 +/* 321BB0 802BE060 44820000 */ mtc1 $v0, $f0 +/* 321BB4 802BE064 00000000 */ nop +/* 321BB8 802BE068 46800020 */ cvt.s.w $f0, $f0 +/* 321BBC 802BE06C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321BC0 802BE070 8E440080 */ lw $a0, 0x80($s2) +/* 321BC4 802BE074 0C037765 */ jal func_800DDD94 +/* 321BC8 802BE078 27A70038 */ addiu $a3, $sp, 0x38 +/* 321BCC 802BE07C 10400017 */ beqz $v0, .L802BE0DC +/* 321BD0 802BE080 00000000 */ nop +/* 321BD4 802BE084 3C02802C */ lui $v0, 0x802c +/* 321BD8 802BE088 8C42FF10 */ lw $v0, -0xf0($v0) +/* 321BDC 802BE08C 10400004 */ beqz $v0, .L802BE0A0 +/* 321BE0 802BE090 00000000 */ nop +/* 321BE4 802BE094 3C028011 */ lui $v0, 0x8011 +/* 321BE8 802BE098 9442C97A */ lhu $v0, -0x3686($v0) +/* 321BEC 802BE09C A6A20000 */ sh $v0, ($s5) +.L802BE0A0: +/* 321BF0 802BE0A0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 321BF4 802BE0A4 C6460038 */ lwc1 $f6, 0x38($s2) +/* 321BF8 802BE0A8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 321BFC 802BE0AC 46060001 */ sub.s $f0, $f0, $f6 +/* 321C00 802BE0B0 C6440040 */ lwc1 $f4, 0x40($s2) +/* 321C04 802BE0B4 3C0140A0 */ lui $at, 0x40a0 +/* 321C08 802BE0B8 44814000 */ mtc1 $at, $f8 +/* 321C0C 802BE0BC 46041081 */ sub.s $f2, $f2, $f4 +/* 321C10 802BE0C0 46080003 */ div.s $f0, $f0, $f8 +/* 321C14 802BE0C4 46003180 */ add.s $f6, $f6, $f0 +/* 321C18 802BE0C8 46081083 */ div.s $f2, $f2, $f8 +/* 321C1C 802BE0CC 46022100 */ add.s $f4, $f4, $f2 +/* 321C20 802BE0D0 E6460038 */ swc1 $f6, 0x38($s2) +/* 321C24 802BE0D4 080AF840 */ j .L802BE100 +/* 321C28 802BE0D8 E6440040 */ swc1 $f4, 0x40($s2) +.L802BE0DC: +/* 321C2C 802BE0DC 8E450018 */ lw $a1, 0x18($s2) +/* 321C30 802BE0E0 8FA60028 */ lw $a2, 0x28($sp) +/* 321C34 802BE0E4 0C00EA95 */ jal npc_move_heading +/* 321C38 802BE0E8 0240202D */ daddu $a0, $s2, $zero +/* 321C3C 802BE0EC 3C02802C */ lui $v0, 0x802c +/* 321C40 802BE0F0 8C42FF10 */ lw $v0, -0xf0($v0) +/* 321C44 802BE0F4 10400002 */ beqz $v0, .L802BE100 +/* 321C48 802BE0F8 2402FFFF */ addiu $v0, $zero, -1 +/* 321C4C 802BE0FC A6A20000 */ sh $v0, ($s5) +.L802BE100: +/* 321C50 802BE100 C64C000C */ lwc1 $f12, 0xc($s2) +/* 321C54 802BE104 3C0141F0 */ lui $at, 0x41f0 +/* 321C58 802BE108 4481A000 */ mtc1 $at, $f20 +/* 321C5C 802BE10C 0C00A6C9 */ jal clamp_angle +/* 321C60 802BE110 46146301 */ sub.s $f12, $f12, $f20 +/* 321C64 802BE114 27B30030 */ addiu $s3, $sp, 0x30 +/* 321C68 802BE118 0260282D */ daddu $a1, $s3, $zero +/* 321C6C 802BE11C C6420038 */ lwc1 $f2, 0x38($s2) +/* 321C70 802BE120 C6440064 */ lwc1 $f4, 0x64($s2) +/* 321C74 802BE124 C6460040 */ lwc1 $f6, 0x40($s2) +/* 321C78 802BE128 C6480018 */ lwc1 $f8, 0x18($s2) +/* 321C7C 802BE12C 27B10034 */ addiu $s1, $sp, 0x34 +/* 321C80 802BE130 E7A00028 */ swc1 $f0, 0x28($sp) +/* 321C84 802BE134 E7A20030 */ swc1 $f2, 0x30($sp) +/* 321C88 802BE138 E7A40034 */ swc1 $f4, 0x34($sp) +/* 321C8C 802BE13C E7A60038 */ swc1 $f6, 0x38($sp) +/* 321C90 802BE140 E7A80010 */ swc1 $f8, 0x10($sp) +/* 321C94 802BE144 E7A00014 */ swc1 $f0, 0x14($sp) +/* 321C98 802BE148 864200A8 */ lh $v0, 0xa8($s2) +/* 321C9C 802BE14C 0220302D */ daddu $a2, $s1, $zero +/* 321CA0 802BE150 44820000 */ mtc1 $v0, $f0 +/* 321CA4 802BE154 00000000 */ nop +/* 321CA8 802BE158 46800020 */ cvt.s.w $f0, $f0 +/* 321CAC 802BE15C E7A00018 */ swc1 $f0, 0x18($sp) +/* 321CB0 802BE160 864200A6 */ lh $v0, 0xa6($s2) +/* 321CB4 802BE164 27B00038 */ addiu $s0, $sp, 0x38 +/* 321CB8 802BE168 44820000 */ mtc1 $v0, $f0 +/* 321CBC 802BE16C 00000000 */ nop +/* 321CC0 802BE170 46800020 */ cvt.s.w $f0, $f0 +/* 321CC4 802BE174 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321CC8 802BE178 8E440080 */ lw $a0, 0x80($s2) +/* 321CCC 802BE17C 0C0376B9 */ jal func_800DDAE4 +/* 321CD0 802BE180 0200382D */ daddu $a3, $s0, $zero +/* 321CD4 802BE184 1040000F */ beqz $v0, .L802BE1C4 +/* 321CD8 802BE188 00000000 */ nop +/* 321CDC 802BE18C C7A00030 */ lwc1 $f0, 0x30($sp) +/* 321CE0 802BE190 C6460038 */ lwc1 $f6, 0x38($s2) +/* 321CE4 802BE194 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 321CE8 802BE198 46060001 */ sub.s $f0, $f0, $f6 +/* 321CEC 802BE19C C6440040 */ lwc1 $f4, 0x40($s2) +/* 321CF0 802BE1A0 3C0140A0 */ lui $at, 0x40a0 +/* 321CF4 802BE1A4 44814000 */ mtc1 $at, $f8 +/* 321CF8 802BE1A8 46041081 */ sub.s $f2, $f2, $f4 +/* 321CFC 802BE1AC 46080003 */ div.s $f0, $f0, $f8 +/* 321D00 802BE1B0 46003180 */ add.s $f6, $f6, $f0 +/* 321D04 802BE1B4 46081083 */ div.s $f2, $f2, $f8 +/* 321D08 802BE1B8 46022100 */ add.s $f4, $f4, $f2 +/* 321D0C 802BE1BC E6460038 */ swc1 $f6, 0x38($s2) +/* 321D10 802BE1C0 E6440040 */ swc1 $f4, 0x40($s2) +.L802BE1C4: +/* 321D14 802BE1C4 C64C000C */ lwc1 $f12, 0xc($s2) +/* 321D18 802BE1C8 0C00A6C9 */ jal clamp_angle +/* 321D1C 802BE1CC 46146300 */ add.s $f12, $f12, $f20 +/* 321D20 802BE1D0 C6420038 */ lwc1 $f2, 0x38($s2) +/* 321D24 802BE1D4 C6440064 */ lwc1 $f4, 0x64($s2) +/* 321D28 802BE1D8 C6460040 */ lwc1 $f6, 0x40($s2) +/* 321D2C 802BE1DC C6480018 */ lwc1 $f8, 0x18($s2) +/* 321D30 802BE1E0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 321D34 802BE1E4 E7A20030 */ swc1 $f2, 0x30($sp) +/* 321D38 802BE1E8 E7A40034 */ swc1 $f4, 0x34($sp) +/* 321D3C 802BE1EC E7A60038 */ swc1 $f6, 0x38($sp) +/* 321D40 802BE1F0 E7A80010 */ swc1 $f8, 0x10($sp) +/* 321D44 802BE1F4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 321D48 802BE1F8 864200A8 */ lh $v0, 0xa8($s2) +/* 321D4C 802BE1FC 0260282D */ daddu $a1, $s3, $zero +/* 321D50 802BE200 44820000 */ mtc1 $v0, $f0 +/* 321D54 802BE204 00000000 */ nop +/* 321D58 802BE208 46800020 */ cvt.s.w $f0, $f0 +/* 321D5C 802BE20C E7A00018 */ swc1 $f0, 0x18($sp) +/* 321D60 802BE210 864200A6 */ lh $v0, 0xa6($s2) +/* 321D64 802BE214 0220302D */ daddu $a2, $s1, $zero +/* 321D68 802BE218 44820000 */ mtc1 $v0, $f0 +/* 321D6C 802BE21C 00000000 */ nop +/* 321D70 802BE220 46800020 */ cvt.s.w $f0, $f0 +/* 321D74 802BE224 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321D78 802BE228 8E440080 */ lw $a0, 0x80($s2) +/* 321D7C 802BE22C 0C0376B9 */ jal func_800DDAE4 +/* 321D80 802BE230 0200382D */ daddu $a3, $s0, $zero +/* 321D84 802BE234 1040000F */ beqz $v0, .L802BE274 +/* 321D88 802BE238 0240202D */ daddu $a0, $s2, $zero +/* 321D8C 802BE23C C7A00030 */ lwc1 $f0, 0x30($sp) +/* 321D90 802BE240 C6460038 */ lwc1 $f6, 0x38($s2) +/* 321D94 802BE244 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 321D98 802BE248 46060001 */ sub.s $f0, $f0, $f6 +/* 321D9C 802BE24C C6440040 */ lwc1 $f4, 0x40($s2) +/* 321DA0 802BE250 3C0140A0 */ lui $at, 0x40a0 +/* 321DA4 802BE254 44814000 */ mtc1 $at, $f8 +/* 321DA8 802BE258 46041081 */ sub.s $f2, $f2, $f4 +/* 321DAC 802BE25C 46080003 */ div.s $f0, $f0, $f8 +/* 321DB0 802BE260 46003180 */ add.s $f6, $f6, $f0 +/* 321DB4 802BE264 46081083 */ div.s $f2, $f2, $f8 +/* 321DB8 802BE268 46022100 */ add.s $f4, $f4, $f2 +/* 321DBC 802BE26C E6460038 */ swc1 $f6, 0x38($s2) +/* 321DC0 802BE270 E6440040 */ swc1 $f4, 0x40($s2) +.L802BE274: +/* 321DC4 802BE274 0C00F598 */ jal func_8003D660 +/* 321DC8 802BE278 24050001 */ addiu $a1, $zero, 1 +/* 321DCC 802BE27C 080AF8F9 */ j .L802BE3E4 +/* 321DD0 802BE280 00000000 */ nop +.L802BE284: +/* 321DD4 802BE284 0260282D */ daddu $a1, $s3, $zero +/* 321DD8 802BE288 3C0142B4 */ lui $at, 0x42b4 +/* 321DDC 802BE28C 44813000 */ mtc1 $at, $f6 +/* 321DE0 802BE290 C6400038 */ lwc1 $f0, 0x38($s2) +/* 321DE4 802BE294 C6420064 */ lwc1 $f2, 0x64($s2) +/* 321DE8 802BE298 C6440040 */ lwc1 $f4, 0x40($s2) +/* 321DEC 802BE29C 3C014080 */ lui $at, 0x4080 +/* 321DF0 802BE2A0 4481A000 */ mtc1 $at, $f20 +/* 321DF4 802BE2A4 27B10034 */ addiu $s1, $sp, 0x34 +/* 321DF8 802BE2A8 E7A60028 */ swc1 $f6, 0x28($sp) +/* 321DFC 802BE2AC E7A00030 */ swc1 $f0, 0x30($sp) +/* 321E00 802BE2B0 E7A20034 */ swc1 $f2, 0x34($sp) +/* 321E04 802BE2B4 E7A40038 */ swc1 $f4, 0x38($sp) +/* 321E08 802BE2B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 321E0C 802BE2BC E7A60014 */ swc1 $f6, 0x14($sp) +/* 321E10 802BE2C0 864200A8 */ lh $v0, 0xa8($s2) +/* 321E14 802BE2C4 0220302D */ daddu $a2, $s1, $zero +/* 321E18 802BE2C8 44820000 */ mtc1 $v0, $f0 +/* 321E1C 802BE2CC 00000000 */ nop +/* 321E20 802BE2D0 46800020 */ cvt.s.w $f0, $f0 +/* 321E24 802BE2D4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 321E28 802BE2D8 864200A6 */ lh $v0, 0xa6($s2) +/* 321E2C 802BE2DC 27B00038 */ addiu $s0, $sp, 0x38 +/* 321E30 802BE2E0 44820000 */ mtc1 $v0, $f0 +/* 321E34 802BE2E4 00000000 */ nop +/* 321E38 802BE2E8 46800020 */ cvt.s.w $f0, $f0 +/* 321E3C 802BE2EC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321E40 802BE2F0 8E440080 */ lw $a0, 0x80($s2) +/* 321E44 802BE2F4 0C0376B9 */ jal func_800DDAE4 +/* 321E48 802BE2F8 0200382D */ daddu $a3, $s0, $zero +/* 321E4C 802BE2FC 1040000F */ beqz $v0, .L802BE33C +/* 321E50 802BE300 00000000 */ nop +/* 321E54 802BE304 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 321E58 802BE308 C6460038 */ lwc1 $f6, 0x38($s2) +/* 321E5C 802BE30C C7A20038 */ lwc1 $f2, 0x38($sp) +/* 321E60 802BE310 46060001 */ sub.s $f0, $f0, $f6 +/* 321E64 802BE314 C6440040 */ lwc1 $f4, 0x40($s2) +/* 321E68 802BE318 3C0140A0 */ lui $at, 0x40a0 +/* 321E6C 802BE31C 44814000 */ mtc1 $at, $f8 +/* 321E70 802BE320 46041081 */ sub.s $f2, $f2, $f4 +/* 321E74 802BE324 46080003 */ div.s $f0, $f0, $f8 +/* 321E78 802BE328 46003180 */ add.s $f6, $f6, $f0 +/* 321E7C 802BE32C 46081083 */ div.s $f2, $f2, $f8 +/* 321E80 802BE330 46022100 */ add.s $f4, $f4, $f2 +/* 321E84 802BE334 E6460038 */ swc1 $f6, 0x38($s2) +/* 321E88 802BE338 E6440040 */ swc1 $f4, 0x40($s2) +.L802BE33C: +/* 321E8C 802BE33C 3C014387 */ lui $at, 0x4387 +/* 321E90 802BE340 44813000 */ mtc1 $at, $f6 +/* 321E94 802BE344 C6400038 */ lwc1 $f0, 0x38($s2) +/* 321E98 802BE348 C6420064 */ lwc1 $f2, 0x64($s2) +/* 321E9C 802BE34C C6440040 */ lwc1 $f4, 0x40($s2) +/* 321EA0 802BE350 E7A60028 */ swc1 $f6, 0x28($sp) +/* 321EA4 802BE354 E7A00030 */ swc1 $f0, 0x30($sp) +/* 321EA8 802BE358 E7A20034 */ swc1 $f2, 0x34($sp) +/* 321EAC 802BE35C E7A40038 */ swc1 $f4, 0x38($sp) +/* 321EB0 802BE360 E7B40010 */ swc1 $f20, 0x10($sp) +/* 321EB4 802BE364 E7A60014 */ swc1 $f6, 0x14($sp) +/* 321EB8 802BE368 864200A8 */ lh $v0, 0xa8($s2) +/* 321EBC 802BE36C 0260282D */ daddu $a1, $s3, $zero +/* 321EC0 802BE370 44820000 */ mtc1 $v0, $f0 +/* 321EC4 802BE374 00000000 */ nop +/* 321EC8 802BE378 46800020 */ cvt.s.w $f0, $f0 +/* 321ECC 802BE37C E7A00018 */ swc1 $f0, 0x18($sp) +/* 321ED0 802BE380 864200A6 */ lh $v0, 0xa6($s2) +/* 321ED4 802BE384 0220302D */ daddu $a2, $s1, $zero +/* 321ED8 802BE388 44820000 */ mtc1 $v0, $f0 +/* 321EDC 802BE38C 00000000 */ nop +/* 321EE0 802BE390 46800020 */ cvt.s.w $f0, $f0 +/* 321EE4 802BE394 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 321EE8 802BE398 8E440080 */ lw $a0, 0x80($s2) +/* 321EEC 802BE39C 0C0376B9 */ jal func_800DDAE4 +/* 321EF0 802BE3A0 0200382D */ daddu $a3, $s0, $zero +/* 321EF4 802BE3A4 1040000F */ beqz $v0, .L802BE3E4 +/* 321EF8 802BE3A8 00000000 */ nop +/* 321EFC 802BE3AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* 321F00 802BE3B0 C6460038 */ lwc1 $f6, 0x38($s2) +/* 321F04 802BE3B4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 321F08 802BE3B8 46060001 */ sub.s $f0, $f0, $f6 +/* 321F0C 802BE3BC C6440040 */ lwc1 $f4, 0x40($s2) +/* 321F10 802BE3C0 3C0140A0 */ lui $at, 0x40a0 +/* 321F14 802BE3C4 44814000 */ mtc1 $at, $f8 +/* 321F18 802BE3C8 46041081 */ sub.s $f2, $f2, $f4 +/* 321F1C 802BE3CC 46080003 */ div.s $f0, $f0, $f8 +/* 321F20 802BE3D0 46003180 */ add.s $f6, $f6, $f0 +/* 321F24 802BE3D4 46081083 */ div.s $f2, $f2, $f8 +/* 321F28 802BE3D8 46022100 */ add.s $f4, $f4, $f2 +/* 321F2C 802BE3DC E6460038 */ swc1 $f6, 0x38($s2) +/* 321F30 802BE3E0 E6440040 */ swc1 $f4, 0x40($s2) +.L802BE3E4: +/* 321F34 802BE3E4 0C0AF6A4 */ jal func_802BDA90 +/* 321F38 802BE3E8 0240202D */ daddu $a0, $s2, $zero +/* 321F3C 802BE3EC 27B00030 */ addiu $s0, $sp, 0x30 +/* 321F40 802BE3F0 0200202D */ daddu $a0, $s0, $zero +/* 321F44 802BE3F4 27B10038 */ addiu $s1, $sp, 0x38 +/* 321F48 802BE3F8 0220282D */ daddu $a1, $s1, $zero +/* 321F4C 802BE3FC 3C014140 */ lui $at, 0x4140 +/* 321F50 802BE400 44810000 */ mtc1 $at, $f0 +/* 321F54 802BE404 3C064000 */ lui $a2, 0x4000 +/* 321F58 802BE408 C6420064 */ lwc1 $f2, 0x64($s2) +/* 321F5C 802BE40C 864200A8 */ lh $v0, 0xa8($s2) +/* 321F60 802BE410 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 321F64 802BE414 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 321F68 802BE418 46000506 */ mov.s $f20, $f0 +/* 321F6C 802BE41C C6400014 */ lwc1 $f0, 0x14($s2) +/* 321F70 802BE420 24420002 */ addiu $v0, $v0, 2 +/* 321F74 802BE424 46001081 */ sub.s $f2, $f2, $f0 +/* 321F78 802BE428 44820000 */ mtc1 $v0, $f0 +/* 321F7C 802BE42C 00000000 */ nop +/* 321F80 802BE430 46800020 */ cvt.s.w $f0, $f0 +/* 321F84 802BE434 00031080 */ sll $v0, $v1, 2 +/* 321F88 802BE438 00431021 */ addu $v0, $v0, $v1 +/* 321F8C 802BE43C 00021080 */ sll $v0, $v0, 2 +/* 321F90 802BE440 00431023 */ subu $v0, $v0, $v1 +/* 321F94 802BE444 000218C0 */ sll $v1, $v0, 3 +/* 321F98 802BE448 00431021 */ addu $v0, $v0, $v1 +/* 321F9C 802BE44C 000210C0 */ sll $v0, $v0, 3 +/* 321FA0 802BE450 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 321FA4 802BE454 E6420064 */ swc1 $f2, 0x64($s2) +/* 321FA8 802BE458 46001006 */ mov.s $f0, $f2 +/* 321FAC 802BE45C 3C07800B */ lui $a3, 0x800b +/* 321FB0 802BE460 00E23821 */ addu $a3, $a3, $v0 +/* 321FB4 802BE464 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 321FB8 802BE468 C6820028 */ lwc1 $f2, 0x28($s4) +/* 321FBC 802BE46C C6840030 */ lwc1 $f4, 0x30($s4) +/* 321FC0 802BE470 46140000 */ add.s $f0, $f0, $f20 +/* 321FC4 802BE474 E7A20030 */ swc1 $f2, 0x30($sp) +/* 321FC8 802BE478 E7A40038 */ swc1 $f4, 0x38($sp) +/* 321FCC 802BE47C 0C00A7E7 */ jal add_vec2D_polar +/* 321FD0 802BE480 E7A00034 */ swc1 $f0, 0x34($sp) +/* 321FD4 802BE484 0280202D */ daddu $a0, $s4, $zero +/* 321FD8 802BE488 0200282D */ daddu $a1, $s0, $zero +/* 321FDC 802BE48C 27A60034 */ addiu $a2, $sp, 0x34 +/* 321FE0 802BE490 0220382D */ daddu $a3, $s1, $zero +/* 321FE4 802BE494 27A2003C */ addiu $v0, $sp, 0x3c +/* 321FE8 802BE498 AFA20010 */ sw $v0, 0x10($sp) +/* 321FEC 802BE49C 27A20040 */ addiu $v0, $sp, 0x40 +/* 321FF0 802BE4A0 AFA20014 */ sw $v0, 0x14($sp) +/* 321FF4 802BE4A4 27A20044 */ addiu $v0, $sp, 0x44 +/* 321FF8 802BE4A8 AFA20018 */ sw $v0, 0x18($sp) +/* 321FFC 802BE4AC 27A20048 */ addiu $v0, $sp, 0x48 +/* 322000 802BE4B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 322004 802BE4B4 27A2004C */ addiu $v0, $sp, 0x4c +/* 322008 802BE4B8 0C03791B */ jal func_800DE46C +/* 32200C 802BE4BC AFA20020 */ sw $v0, 0x20($sp) +/* 322010 802BE4C0 0C00A794 */ jal get_player_normal_pitch +/* 322014 802BE4C4 0040802D */ daddu $s0, $v0, $zero +/* 322018 802BE4C8 44801000 */ mtc1 $zero, $f2 +/* 32201C 802BE4CC 3C01802C */ lui $at, 0x802c +/* 322020 802BE4D0 E420FF28 */ swc1 $f0, -0xd8($at) +/* 322024 802BE4D4 46020032 */ c.eq.s $f0, $f2 +/* 322028 802BE4D8 00000000 */ nop +/* 32202C 802BE4DC 45010003 */ bc1t .L802BE4EC +/* 322030 802BE4E0 00000000 */ nop +/* 322034 802BE4E4 3C014200 */ lui $at, 0x4200 +/* 322038 802BE4E8 4481A000 */ mtc1 $at, $f20 +.L802BE4EC: +/* 32203C 802BE4EC 4600103C */ c.lt.s $f2, $f0 +/* 322040 802BE4F0 00000000 */ nop +/* 322044 802BE4F4 4500001B */ bc1f .L802BE564 +/* 322048 802BE4F8 00000000 */ nop +/* 32204C 802BE4FC 06000019 */ bltz $s0, .L802BE564 +/* 322050 802BE500 27A50050 */ addiu $a1, $sp, 0x50 +/* 322054 802BE504 3C0140C9 */ lui $at, 0x40c9 +/* 322058 802BE508 34210FD0 */ ori $at, $at, 0xfd0 +/* 32205C 802BE50C 44816000 */ mtc1 $at, $f12 +/* 322060 802BE510 00000000 */ nop +/* 322064 802BE514 460C0302 */ mul.s $f12, $f0, $f12 +/* 322068 802BE518 00000000 */ nop +/* 32206C 802BE51C 3C0143B4 */ lui $at, 0x43b4 +/* 322070 802BE520 44810000 */ mtc1 $at, $f0 +/* 322074 802BE524 27A60054 */ addiu $a2, $sp, 0x54 +/* 322078 802BE528 0C00A82D */ jal sin_cos_rad +/* 32207C 802BE52C 46006303 */ div.s $f12, $f12, $f0 +/* 322080 802BE530 C7A20050 */ lwc1 $f2, 0x50($sp) +/* 322084 802BE534 C7A00054 */ lwc1 $f0, 0x54($sp) +/* 322088 802BE538 C684005C */ lwc1 $f4, 0x5c($s4) +/* 32208C 802BE53C 46001083 */ div.s $f2, $f2, $f0 +/* 322090 802BE540 46041082 */ mul.s $f2, $f2, $f4 +/* 322094 802BE544 00000000 */ nop +/* 322098 802BE548 C640003C */ lwc1 $f0, 0x3c($s2) +/* 32209C 802BE54C 46000021 */ cvt.d.s $f0, $f0 +/* 3220A0 802BE550 460010A1 */ cvt.d.s $f2, $f2 +/* 3220A4 802BE554 46201085 */ abs.d $f2, $f2 +/* 3220A8 802BE558 46220000 */ add.d $f0, $f0, $f2 +/* 3220AC 802BE55C 46200020 */ cvt.s.d $f0, $f0 +/* 3220B0 802BE560 E640003C */ swc1 $f0, 0x3c($s2) +.L802BE564: +/* 3220B4 802BE564 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 3220B8 802BE568 4614003E */ c.le.s $f0, $f20 +/* 3220BC 802BE56C 00000000 */ nop +/* 3220C0 802BE570 4500002E */ bc1f .L802BE62C +/* 3220C4 802BE574 00000000 */ nop +/* 3220C8 802BE578 0600002C */ bltz $s0, .L802BE62C +/* 3220CC 802BE57C 0200202D */ daddu $a0, $s0, $zero +/* 3220D0 802BE580 C6400038 */ lwc1 $f0, 0x38($s2) +/* 3220D4 802BE584 4600028D */ trunc.w.s $f10, $f0 +/* 3220D8 802BE588 44025000 */ mfc1 $v0, $f10 +/* 3220DC 802BE58C 00000000 */ nop +/* 3220E0 802BE590 A6820016 */ sh $v0, 0x16($s4) +/* 3220E4 802BE594 C640003C */ lwc1 $f0, 0x3c($s2) +/* 3220E8 802BE598 4600028D */ trunc.w.s $f10, $f0 +/* 3220EC 802BE59C 44025000 */ mfc1 $v0, $f10 +/* 3220F0 802BE5A0 00000000 */ nop +/* 3220F4 802BE5A4 A6820018 */ sh $v0, 0x18($s4) +/* 3220F8 802BE5A8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 3220FC 802BE5AC A6A40002 */ sh $a0, 2($s5) +/* 322100 802BE5B0 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 322104 802BE5B4 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 322108 802BE5B8 C7A60038 */ lwc1 $f6, 0x38($sp) +/* 32210C 802BE5BC 4600028D */ trunc.w.s $f10, $f0 +/* 322110 802BE5C0 44025000 */ mfc1 $v0, $f10 +/* 322114 802BE5C4 00000000 */ nop +/* 322118 802BE5C8 A682001A */ sh $v0, 0x1a($s4) +/* 32211C 802BE5CC A6440084 */ sh $a0, 0x84($s2) +/* 322120 802BE5D0 E6420064 */ swc1 $f2, 0x64($s2) +/* 322124 802BE5D4 E6440060 */ swc1 $f4, 0x60($s2) +/* 322128 802BE5D8 E6460068 */ swc1 $f6, 0x68($s2) +/* 32212C 802BE5DC AE400014 */ sw $zero, 0x14($s2) +/* 322130 802BE5E0 0C016F6A */ jal get_collider_type_by_id +/* 322134 802BE5E4 A68000C0 */ sh $zero, 0xc0($s4) +/* 322138 802BE5E8 304200FF */ andi $v0, $v0, 0xff +/* 32213C 802BE5EC 24030003 */ addiu $v1, $zero, 3 +/* 322140 802BE5F0 14430009 */ bne $v0, $v1, .L802BE618 +/* 322144 802BE5F4 3C020008 */ lui $v0, 8 +/* 322148 802BE5F8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 32214C 802BE5FC 3C013F00 */ lui $at, 0x3f00 +/* 322150 802BE600 44811000 */ mtc1 $at, $f2 +/* 322154 802BE604 00000000 */ nop +/* 322158 802BE608 46020002 */ mul.s $f0, $f0, $f2 +/* 32215C 802BE60C 00000000 */ nop +/* 322160 802BE610 080AF988 */ j .L802BE620 +/* 322164 802BE614 34420006 */ ori $v0, $v0, 6 +.L802BE618: +/* 322168 802BE618 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 32216C 802BE61C 34420005 */ ori $v0, $v0, 5 +.L802BE620: +/* 322170 802BE620 AE420028 */ sw $v0, 0x28($s2) +/* 322174 802BE624 080AF99E */ j .L802BE678 +/* 322178 802BE628 E6400018 */ swc1 $f0, 0x18($s2) +.L802BE62C: +/* 32217C 802BE62C 968200C0 */ lhu $v0, 0xc0($s4) +/* 322180 802BE630 2403FFFF */ addiu $v1, $zero, -1 +/* 322184 802BE634 A6A30002 */ sh $v1, 2($s5) +/* 322188 802BE638 24420001 */ addiu $v0, $v0, 1 +/* 32218C 802BE63C A68200C0 */ sh $v0, 0xc0($s4) +/* 322190 802BE640 C6400014 */ lwc1 $f0, 0x14($s2) +/* 322194 802BE644 3C01802C */ lui $at, 0x802c +/* 322198 802BE648 D422FEF8 */ ldc1 $f2, -0x108($at) +/* 32219C 802BE64C 46000021 */ cvt.d.s $f0, $f0 +/* 3221A0 802BE650 46220000 */ add.d $f0, $f0, $f2 +/* 3221A4 802BE654 A6430084 */ sh $v1, 0x84($s2) +/* 3221A8 802BE658 3C014140 */ lui $at, 0x4140 +/* 3221AC 802BE65C 44811000 */ mtc1 $at, $f2 +/* 3221B0 802BE660 46200020 */ cvt.s.d $f0, $f0 +/* 3221B4 802BE664 4600103C */ c.lt.s $f2, $f0 +/* 3221B8 802BE668 00000000 */ nop +/* 3221BC 802BE66C 45000002 */ bc1f .L802BE678 +/* 3221C0 802BE670 E6400014 */ swc1 $f0, 0x14($s2) +/* 3221C4 802BE674 E6420014 */ swc1 $f2, 0x14($s2) +.L802BE678: +/* 3221C8 802BE678 8FBF0070 */ lw $ra, 0x70($sp) +/* 3221CC 802BE67C 8FB5006C */ lw $s5, 0x6c($sp) +/* 3221D0 802BE680 8FB40068 */ lw $s4, 0x68($sp) +/* 3221D4 802BE684 8FB30064 */ lw $s3, 0x64($sp) +/* 3221D8 802BE688 8FB20060 */ lw $s2, 0x60($sp) +/* 3221DC 802BE68C 8FB1005C */ lw $s1, 0x5c($sp) +/* 3221E0 802BE690 8FB00058 */ lw $s0, 0x58($sp) +/* 3221E4 802BE694 D7B40078 */ ldc1 $f20, 0x78($sp) +/* 3221E8 802BE698 03E00008 */ jr $ra +/* 3221EC 802BE69C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_320C50/func_802BE6A0.s b/asm/nonmatchings/code_320C50/func_802BE6A0.s new file mode 100644 index 0000000000..d1aa733a4f --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BE6A0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE6A0 +/* 3221F0 802BE6A0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 3221F4 802BE6A4 0080302D */ daddu $a2, $a0, $zero +/* 3221F8 802BE6A8 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* 3221FC 802BE6AC 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* 322200 802BE6B0 27A50028 */ addiu $a1, $sp, 0x28 +/* 322204 802BE6B4 AFBF0048 */ sw $ra, 0x48($sp) +/* 322208 802BE6B8 848200B0 */ lh $v0, 0xb0($a0) +/* 32220C 802BE6BC C480002C */ lwc1 $f0, 0x2c($a0) +/* 322210 802BE6C0 44821000 */ mtc1 $v0, $f2 +/* 322214 802BE6C4 00000000 */ nop +/* 322218 802BE6C8 468010A0 */ cvt.s.w $f2, $f2 +/* 32221C 802BE6CC 46020000 */ add.s $f0, $f0, $f2 +/* 322220 802BE6D0 27A7002C */ addiu $a3, $sp, 0x2c +/* 322224 802BE6D4 E7A20030 */ swc1 $f2, 0x30($sp) +/* 322228 802BE6D8 E4C00000 */ swc1 $f0, ($a2) +/* 32222C 802BE6DC C4800028 */ lwc1 $f0, 0x28($a0) +/* 322230 802BE6E0 C4820030 */ lwc1 $f2, 0x30($a0) +/* 322234 802BE6E4 27A20030 */ addiu $v0, $sp, 0x30 +/* 322238 802BE6E8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 32223C 802BE6EC E7A2002C */ swc1 $f2, 0x2c($sp) +/* 322240 802BE6F0 AFA20010 */ sw $v0, 0x10($sp) +/* 322244 802BE6F4 27A20034 */ addiu $v0, $sp, 0x34 +/* 322248 802BE6F8 AFA20014 */ sw $v0, 0x14($sp) +/* 32224C 802BE6FC 27A20038 */ addiu $v0, $sp, 0x38 +/* 322250 802BE700 AFA20018 */ sw $v0, 0x18($sp) +/* 322254 802BE704 27A2003C */ addiu $v0, $sp, 0x3c +/* 322258 802BE708 AFA2001C */ sw $v0, 0x1c($sp) +/* 32225C 802BE70C 27A20040 */ addiu $v0, $sp, 0x40 +/* 322260 802BE710 0C03791B */ jal func_800DE46C +/* 322264 802BE714 AFA20020 */ sw $v0, 0x20($sp) +/* 322268 802BE718 8FBF0048 */ lw $ra, 0x48($sp) +/* 32226C 802BE71C 03E00008 */ jr $ra +/* 322270 802BE720 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_320C50/func_802BE724.s b/asm/nonmatchings/code_320C50/func_802BE724.s new file mode 100644 index 0000000000..d3a690b21d --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BE724.s @@ -0,0 +1,942 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BE724 +/* 322274 802BE724 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 322278 802BE728 AFB40040 */ sw $s4, 0x40($sp) +/* 32227C 802BE72C 0080A02D */ daddu $s4, $a0, $zero +/* 322280 802BE730 3C03FFBF */ lui $v1, 0xffbf +/* 322284 802BE734 3463FFFF */ ori $v1, $v1, 0xffff +/* 322288 802BE738 AFB20038 */ sw $s2, 0x38($sp) +/* 32228C 802BE73C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 322290 802BE740 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 322294 802BE744 AFB50044 */ sw $s5, 0x44($sp) +/* 322298 802BE748 3C158011 */ lui $s5, %hi(D_8010EBB0) +/* 32229C 802BE74C 26B5EBB0 */ addiu $s5, $s5, %lo(D_8010EBB0) +/* 3222A0 802BE750 AFBF0048 */ sw $ra, 0x48($sp) +/* 3222A4 802BE754 AFB3003C */ sw $s3, 0x3c($sp) +/* 3222A8 802BE758 AFB10034 */ sw $s1, 0x34($sp) +/* 3222AC 802BE75C AFB00030 */ sw $s0, 0x30($sp) +/* 3222B0 802BE760 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 3222B4 802BE764 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 3222B8 802BE768 8E420004 */ lw $v0, 4($s2) +/* 3222BC 802BE76C 8E91014C */ lw $s1, 0x14c($s4) +/* 3222C0 802BE770 00431024 */ and $v0, $v0, $v1 +/* 3222C4 802BE774 10A00087 */ beqz $a1, .L802BE994 +/* 3222C8 802BE778 AE420004 */ sw $v0, 4($s2) +/* 3222CC 802BE77C 0C0AF59E */ jal func_802BD678 +/* 3222D0 802BE780 0220202D */ daddu $a0, $s1, $zero +/* 3222D4 802BE784 8E420004 */ lw $v0, 4($s2) +/* 3222D8 802BE788 3C030010 */ lui $v1, 0x10 +/* 3222DC 802BE78C 00431024 */ and $v0, $v0, $v1 +/* 3222E0 802BE790 1440034C */ bnez $v0, .L802BF4C4 +/* 3222E4 802BE794 24020002 */ addiu $v0, $zero, 2 +/* 3222E8 802BE798 2403FFBF */ addiu $v1, $zero, -0x41 +/* 3222EC 802BE79C 8E220000 */ lw $v0, ($s1) +/* 3222F0 802BE7A0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 3222F4 802BE7A4 C622003C */ lwc1 $f2, 0x3c($s1) +/* 3222F8 802BE7A8 C6240040 */ lwc1 $f4, 0x40($s1) +/* 3222FC 802BE7AC 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* 322300 802BE7B0 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* 322304 802BE7B4 00431024 */ and $v0, $v0, $v1 +/* 322308 802BE7B8 AE220000 */ sw $v0, ($s1) +/* 32230C 802BE7BC E6200060 */ swc1 $f0, 0x60($s1) +/* 322310 802BE7C0 E6220064 */ swc1 $f2, 0x64($s1) +/* 322314 802BE7C4 E6240068 */ swc1 $f4, 0x68($s1) +/* 322318 802BE7C8 8082007D */ lb $v0, 0x7d($a0) +/* 32231C 802BE7CC 14400005 */ bnez $v0, .L802BE7E4 +/* 322320 802BE7D0 3C030020 */ lui $v1, 0x20 +/* 322324 802BE7D4 8E420004 */ lw $v0, 4($s2) +/* 322328 802BE7D8 00431024 */ and $v0, $v0, $v1 +/* 32232C 802BE7DC 1040000A */ beqz $v0, .L802BE808 +/* 322330 802BE7E0 24020028 */ addiu $v0, $zero, 0x28 +.L802BE7E4: +/* 322334 802BE7E4 8E430004 */ lw $v1, 4($s2) +/* 322338 802BE7E8 3C020020 */ lui $v0, 0x20 +/* 32233C 802BE7EC 00621024 */ and $v0, $v1, $v0 +/* 322340 802BE7F0 10400004 */ beqz $v0, .L802BE804 +/* 322344 802BE7F4 3C02FFDF */ lui $v0, 0xffdf +/* 322348 802BE7F8 3442FFFF */ ori $v0, $v0, 0xffff +/* 32234C 802BE7FC 00621024 */ and $v0, $v1, $v0 +/* 322350 802BE800 AE420004 */ sw $v0, 4($s2) +.L802BE804: +/* 322354 802BE804 24020064 */ addiu $v0, $zero, 0x64 +.L802BE808: +/* 322358 802BE808 3C01802C */ lui $at, 0x802c +/* 32235C 802BE80C AC22FF14 */ sw $v0, -0xec($at) +/* 322360 802BE810 82A20001 */ lb $v0, 1($s5) +/* 322364 802BE814 14400015 */ bnez $v0, .L802BE86C +/* 322368 802BE818 24040021 */ addiu $a0, $zero, 0x21 +/* 32236C 802BE81C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 322370 802BE820 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 322374 802BE824 8042007D */ lb $v0, 0x7d($v0) +/* 322378 802BE828 1440005A */ bnez $v0, .L802BE994 +/* 32237C 802BE82C 24020021 */ addiu $v0, $zero, 0x21 +/* 322380 802BE830 824300B4 */ lb $v1, 0xb4($s2) +/* 322384 802BE834 10620009 */ beq $v1, $v0, .L802BE85C +/* 322388 802BE838 00000000 */ nop +/* 32238C 802BE83C 10600007 */ beqz $v1, .L802BE85C +/* 322390 802BE840 24020001 */ addiu $v0, $zero, 1 +/* 322394 802BE844 10620005 */ beq $v1, $v0, .L802BE85C +/* 322398 802BE848 24020002 */ addiu $v0, $zero, 2 +/* 32239C 802BE84C 10620003 */ beq $v1, $v0, .L802BE85C +/* 3223A0 802BE850 24020008 */ addiu $v0, $zero, 8 +/* 3223A4 802BE854 1462031B */ bne $v1, $v0, .L802BF4C4 +/* 3223A8 802BE858 24020002 */ addiu $v0, $zero, 2 +.L802BE85C: +/* 3223AC 802BE85C 8E420000 */ lw $v0, ($s2) +/* 3223B0 802BE860 34420100 */ ori $v0, $v0, 0x100 +/* 3223B4 802BE864 080AFA65 */ j .L802BE994 +/* 3223B8 802BE868 AE420000 */ sw $v0, ($s2) +.L802BE86C: +/* 3223BC 802BE86C A2A00001 */ sb $zero, 1($s5) +/* 3223C0 802BE870 8E420000 */ lw $v0, ($s2) +/* 3223C4 802BE874 2403FEFF */ addiu $v1, $zero, -0x101 +/* 3223C8 802BE878 00431024 */ and $v0, $v0, $v1 +/* 3223CC 802BE87C AE420000 */ sw $v0, ($s2) +/* 3223D0 802BE880 8E220000 */ lw $v0, ($s1) +/* 3223D4 802BE884 2410FFB7 */ addiu $s0, $zero, -0x49 +/* 3223D8 802BE888 00501024 */ and $v0, $v0, $s0 +/* 3223DC 802BE88C 34420100 */ ori $v0, $v0, 0x100 +/* 3223E0 802BE890 0C039769 */ jal set_action_state +/* 3223E4 802BE894 AE220000 */ sw $v0, ($s1) +/* 3223E8 802BE898 3C040008 */ lui $a0, 8 +/* 3223EC 802BE89C 0C037FDE */ jal func_800DFF78 +/* 3223F0 802BE8A0 3484000E */ ori $a0, $a0, 0xe +/* 3223F4 802BE8A4 3C050008 */ lui $a1, 8 +/* 3223F8 802BE8A8 34A50005 */ ori $a1, $a1, 5 +/* 3223FC 802BE8AC 3C030040 */ lui $v1, 0x40 +/* 322400 802BE8B0 34630100 */ ori $v1, $v1, 0x100 +/* 322404 802BE8B4 8E220000 */ lw $v0, ($s1) +/* 322408 802BE8B8 3C014040 */ lui $at, 0x4040 +/* 32240C 802BE8BC 44812000 */ mtc1 $at, $f4 +/* 322410 802BE8C0 00501024 */ and $v0, $v0, $s0 +/* 322414 802BE8C4 00431025 */ or $v0, $v0, $v1 +/* 322418 802BE8C8 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 32241C 802BE8CC 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 322420 802BE8D0 24130001 */ addiu $s3, $zero, 1 +/* 322424 802BE8D4 AE250028 */ sw $a1, 0x28($s1) +/* 322428 802BE8D8 3C01802C */ lui $at, 0x802c +/* 32242C 802BE8DC AC33FF0C */ sw $s3, -0xf4($at) +/* 322430 802BE8E0 AE220000 */ sw $v0, ($s1) +/* 322434 802BE8E4 24020008 */ addiu $v0, $zero, 8 +/* 322438 802BE8E8 A2A20003 */ sb $v0, 3($s5) +/* 32243C 802BE8EC A2B30000 */ sb $s3, ($s5) +/* 322440 802BE8F0 A060007D */ sb $zero, 0x7d($v1) +/* 322444 802BE8F4 C6400028 */ lwc1 $f0, 0x28($s2) +/* 322448 802BE8F8 C6220064 */ lwc1 $f2, 0x64($s1) +/* 32244C 802BE8FC 3C040008 */ lui $a0, 8 +/* 322450 802BE900 E6200038 */ swc1 $f0, 0x38($s1) +/* 322454 802BE904 E622003C */ swc1 $f2, 0x3c($s1) +/* 322458 802BE908 46001006 */ mov.s $f0, $f2 +/* 32245C 802BE90C 3C014120 */ lui $at, 0x4120 +/* 322460 802BE910 44811000 */ mtc1 $at, $f2 +/* 322464 802BE914 C6460030 */ lwc1 $f6, 0x30($s2) +/* 322468 802BE918 46020000 */ add.s $f0, $f0, $f2 +/* 32246C 802BE91C AE250028 */ sw $a1, 0x28($s1) +/* 322470 802BE920 E6260040 */ swc1 $f6, 0x40($s1) +/* 322474 802BE924 E640002C */ swc1 $f0, 0x2c($s2) +/* 322478 802BE928 E6240018 */ swc1 $f4, 0x18($s1) +/* 32247C 802BE92C AE200014 */ sw $zero, 0x14($s1) +/* 322480 802BE930 C6400080 */ lwc1 $f0, 0x80($s2) +/* 322484 802BE934 3484000E */ ori $a0, $a0, 0xe +/* 322488 802BE938 0C037FDE */ jal func_800DFF78 +/* 32248C 802BE93C E620000C */ swc1 $f0, 0xc($s1) +/* 322490 802BE940 0C039769 */ jal set_action_state +/* 322494 802BE944 24040021 */ addiu $a0, $zero, 0x21 +/* 322498 802BE948 0C038045 */ jal disable_player_static_collisions +/* 32249C 802BE94C 00000000 */ nop +/* 3224A0 802BE950 3C10802C */ lui $s0, 0x802c +/* 3224A4 802BE954 2610FF04 */ addiu $s0, $s0, -0xfc +/* 3224A8 802BE958 8E020000 */ lw $v0, ($s0) +/* 3224AC 802BE95C 3C01802C */ lui $at, 0x802c +/* 3224B0 802BE960 AC33FF08 */ sw $s3, -0xf8($at) +/* 3224B4 802BE964 14400004 */ bnez $v0, .L802BE978 +/* 3224B8 802BE968 00000000 */ nop +/* 3224BC 802BE96C 0C03805E */ jal disable_player_input +/* 3224C0 802BE970 00000000 */ nop +/* 3224C4 802BE974 AE130000 */ sw $s3, ($s0) +.L802BE978: +/* 3224C8 802BE978 8E220000 */ lw $v0, ($s1) +/* 3224CC 802BE97C 3C01802C */ lui $at, 0x802c +/* 3224D0 802BE980 AC20FF18 */ sw $zero, -0xe8($at) +/* 3224D4 802BE984 3C01802C */ lui $at, 0x802c +/* 3224D8 802BE988 AC33FF14 */ sw $s3, -0xec($at) +/* 3224DC 802BE98C 34420040 */ ori $v0, $v0, 0x40 +/* 3224E0 802BE990 AE220000 */ sw $v0, ($s1) +.L802BE994: +/* 3224E4 802BE994 3C10802C */ lui $s0, 0x802c +/* 3224E8 802BE998 2610FF14 */ addiu $s0, $s0, -0xec +/* 3224EC 802BE99C 8E030000 */ lw $v1, ($s0) +/* 3224F0 802BE9A0 24020028 */ addiu $v0, $zero, 0x28 +/* 3224F4 802BE9A4 10620005 */ beq $v1, $v0, .L802BE9BC +/* 3224F8 802BE9A8 24020029 */ addiu $v0, $zero, 0x29 +/* 3224FC 802BE9AC 10620019 */ beq $v1, $v0, .L802BEA14 +/* 322500 802BE9B0 24020064 */ addiu $v0, $zero, 0x64 +/* 322504 802BE9B4 080AFABA */ j .L802BEAE8 +/* 322508 802BE9B8 00000000 */ nop +.L802BE9BC: +/* 32250C 802BE9BC 8E430000 */ lw $v1, ($s2) +/* 322510 802BE9C0 30620800 */ andi $v0, $v1, 0x800 +/* 322514 802BE9C4 14400004 */ bnez $v0, .L802BE9D8 +/* 322518 802BE9C8 2402FEFF */ addiu $v0, $zero, -0x101 +/* 32251C 802BE9CC 82420015 */ lb $v0, 0x15($s2) +/* 322520 802BE9D0 10400005 */ beqz $v0, .L802BE9E8 +/* 322524 802BE9D4 2402FEFF */ addiu $v0, $zero, -0x101 +.L802BE9D8: +/* 322528 802BE9D8 00621024 */ and $v0, $v1, $v0 +/* 32252C 802BE9DC AE420000 */ sw $v0, ($s2) +.L802BE9E0: +/* 322530 802BE9E0 080AFD31 */ j .L802BF4C4 +/* 322534 802BE9E4 24020002 */ addiu $v0, $zero, 2 +.L802BE9E8: +/* 322538 802BE9E8 24020003 */ addiu $v0, $zero, 3 +/* 32253C 802BE9EC 0C03805E */ jal disable_player_input +/* 322540 802BE9F0 AE820074 */ sw $v0, 0x74($s4) +/* 322544 802BE9F4 AE820078 */ sw $v0, 0x78($s4) +/* 322548 802BE9F8 8E020000 */ lw $v0, ($s0) +/* 32254C 802BE9FC 24030001 */ addiu $v1, $zero, 1 +/* 322550 802BEA00 3C01802C */ lui $at, 0x802c +/* 322554 802BEA04 AC23FF04 */ sw $v1, -0xfc($at) +/* 322558 802BEA08 00431021 */ addu $v0, $v0, $v1 +/* 32255C 802BEA0C 080AFAB6 */ j .L802BEAD8 +/* 322560 802BEA10 AE020000 */ sw $v0, ($s0) +.L802BEA14: +/* 322564 802BEA14 8E440000 */ lw $a0, ($s2) +/* 322568 802BEA18 30820800 */ andi $v0, $a0, 0x800 +/* 32256C 802BEA1C 1040000B */ beqz $v0, .L802BEA4C +/* 322570 802BEA20 2402FEFF */ addiu $v0, $zero, -0x101 +/* 322574 802BEA24 3C10802C */ lui $s0, 0x802c +/* 322578 802BEA28 2610FF04 */ addiu $s0, $s0, -0xfc +/* 32257C 802BEA2C 8E030000 */ lw $v1, ($s0) +/* 322580 802BEA30 00821024 */ and $v0, $a0, $v0 +/* 322584 802BEA34 1060FFEA */ beqz $v1, .L802BE9E0 +/* 322588 802BEA38 AE420000 */ sw $v0, ($s2) +/* 32258C 802BEA3C 0C038069 */ jal enable_player_input +/* 322590 802BEA40 00000000 */ nop +/* 322594 802BEA44 080AFA78 */ j .L802BE9E0 +/* 322598 802BEA48 AE000000 */ sw $zero, ($s0) +.L802BEA4C: +/* 32259C 802BEA4C 8E420004 */ lw $v0, 4($s2) +/* 3225A0 802BEA50 3C030010 */ lui $v1, 0x10 +/* 3225A4 802BEA54 00431024 */ and $v0, $v0, $v1 +/* 3225A8 802BEA58 1040000C */ beqz $v0, .L802BEA8C +/* 3225AC 802BEA5C 00000000 */ nop +/* 3225B0 802BEA60 82430015 */ lb $v1, 0x15($s2) +/* 3225B4 802BEA64 8E820078 */ lw $v0, 0x78($s4) +/* 3225B8 802BEA68 0043102A */ slt $v0, $v0, $v1 +/* 3225BC 802BEA6C 1040026C */ beqz $v0, .L802BF420 +/* 3225C0 802BEA70 24020002 */ addiu $v0, $zero, 2 +/* 3225C4 802BEA74 0C038069 */ jal enable_player_input +/* 3225C8 802BEA78 00000000 */ nop +/* 3225CC 802BEA7C 3C01802C */ lui $at, 0x802c +/* 3225D0 802BEA80 AC20FF04 */ sw $zero, -0xfc($at) +/* 3225D4 802BEA84 080AFD08 */ j .L802BF420 +/* 3225D8 802BEA88 24020002 */ addiu $v0, $zero, 2 +.L802BEA8C: +/* 3225DC 802BEA8C 8E820074 */ lw $v0, 0x74($s4) +/* 3225E0 802BEA90 14400010 */ bnez $v0, .L802BEAD4 +/* 3225E4 802BEA94 2442FFFF */ addiu $v0, $v0, -1 +/* 3225E8 802BEA98 82430015 */ lb $v1, 0x15($s2) +/* 3225EC 802BEA9C 8E820078 */ lw $v0, 0x78($s4) +/* 3225F0 802BEAA0 0043102A */ slt $v0, $v0, $v1 +/* 3225F4 802BEAA4 10400009 */ beqz $v0, .L802BEACC +/* 3225F8 802BEAA8 24020064 */ addiu $v0, $zero, 0x64 +/* 3225FC 802BEAAC 0C038069 */ jal enable_player_input +/* 322600 802BEAB0 00000000 */ nop +/* 322604 802BEAB4 24020002 */ addiu $v0, $zero, 2 +/* 322608 802BEAB8 8E430000 */ lw $v1, ($s2) +/* 32260C 802BEABC 3C01802C */ lui $at, 0x802c +/* 322610 802BEAC0 AC20FF04 */ sw $zero, -0xfc($at) +/* 322614 802BEAC4 080AFD0A */ j .L802BF428 +/* 322618 802BEAC8 2404FEFF */ addiu $a0, $zero, -0x101 +.L802BEACC: +/* 32261C 802BEACC 080AFAB6 */ j .L802BEAD8 +/* 322620 802BEAD0 AE020000 */ sw $v0, ($s0) +.L802BEAD4: +/* 322624 802BEAD4 AE820074 */ sw $v0, 0x74($s4) +.L802BEAD8: +/* 322628 802BEAD8 3C10802C */ lui $s0, 0x802c +/* 32262C 802BEADC 2610FF14 */ addiu $s0, $s0, -0xec +/* 322630 802BEAE0 8E030000 */ lw $v1, ($s0) +/* 322634 802BEAE4 24020064 */ addiu $v0, $zero, 0x64 +.L802BEAE8: +/* 322638 802BEAE8 1062001E */ beq $v1, $v0, .L802BEB64 +/* 32263C 802BEAEC 28620065 */ slti $v0, $v1, 0x65 +/* 322640 802BEAF0 10400010 */ beqz $v0, .L802BEB34 +/* 322644 802BEAF4 24020003 */ addiu $v0, $zero, 3 +/* 322648 802BEAF8 10620165 */ beq $v1, $v0, .L802BF090 +/* 32264C 802BEAFC 28620004 */ slti $v0, $v1, 4 +/* 322650 802BEB00 10400005 */ beqz $v0, .L802BEB18 +/* 322654 802BEB04 24020001 */ addiu $v0, $zero, 1 +/* 322658 802BEB08 10620129 */ beq $v1, $v0, .L802BEFB0 +/* 32265C 802BEB0C 00000000 */ nop +/* 322660 802BEB10 080AFCD7 */ j .L802BF35C +/* 322664 802BEB14 00000000 */ nop +.L802BEB18: +/* 322668 802BEB18 24020004 */ addiu $v0, $zero, 4 +/* 32266C 802BEB1C 106201B6 */ beq $v1, $v0, .L802BF1F8 +/* 322670 802BEB20 24020005 */ addiu $v0, $zero, 5 +/* 322674 802BEB24 106201BB */ beq $v1, $v0, .L802BF214 +/* 322678 802BEB28 0240202D */ daddu $a0, $s2, $zero +/* 32267C 802BEB2C 080AFCD7 */ j .L802BF35C +/* 322680 802BEB30 00000000 */ nop +.L802BEB34: +/* 322684 802BEB34 24020066 */ addiu $v0, $zero, 0x66 +/* 322688 802BEB38 1062006F */ beq $v1, $v0, .L802BECF8 +/* 32268C 802BEB3C 0062102A */ slt $v0, $v1, $v0 +/* 322690 802BEB40 14400067 */ bnez $v0, .L802BECE0 +/* 322694 802BEB44 24042081 */ addiu $a0, $zero, 0x2081 +/* 322698 802BEB48 24020067 */ addiu $v0, $zero, 0x67 +/* 32269C 802BEB4C 1062006F */ beq $v1, $v0, .L802BED0C +/* 3226A0 802BEB50 24020068 */ addiu $v0, $zero, 0x68 +/* 3226A4 802BEB54 106200FC */ beq $v1, $v0, .L802BEF48 +/* 3226A8 802BEB58 00000000 */ nop +/* 3226AC 802BEB5C 080AFCD7 */ j .L802BF35C +/* 3226B0 802BEB60 00000000 */ nop +.L802BEB64: +/* 3226B4 802BEB64 0C038045 */ jal disable_player_static_collisions +/* 3226B8 802BEB68 24100001 */ addiu $s0, $zero, 1 +/* 3226BC 802BEB6C 3C13802C */ lui $s3, 0x802c +/* 3226C0 802BEB70 2673FF04 */ addiu $s3, $s3, -0xfc +/* 3226C4 802BEB74 8E620000 */ lw $v0, ($s3) +/* 3226C8 802BEB78 3C01802C */ lui $at, 0x802c +/* 3226CC 802BEB7C AC30FF08 */ sw $s0, -0xf8($at) +/* 3226D0 802BEB80 14400005 */ bnez $v0, .L802BEB98 +/* 3226D4 802BEB84 3C050040 */ lui $a1, 0x40 +/* 3226D8 802BEB88 0C03805E */ jal disable_player_input +/* 3226DC 802BEB8C 00000000 */ nop +/* 3226E0 802BEB90 AE700000 */ sw $s0, ($s3) +/* 3226E4 802BEB94 3C050040 */ lui $a1, 0x40 +.L802BEB98: +/* 3226E8 802BEB98 34A50100 */ ori $a1, $a1, 0x100 +/* 3226EC 802BEB9C 24040021 */ addiu $a0, $zero, 0x21 +/* 3226F0 802BEBA0 2403FFF7 */ addiu $v1, $zero, -9 +/* 3226F4 802BEBA4 4480A000 */ mtc1 $zero, $f20 +/* 3226F8 802BEBA8 8E220000 */ lw $v0, ($s1) +/* 3226FC 802BEBAC 3C0142B4 */ lui $at, 0x42b4 +/* 322700 802BEBB0 4481B000 */ mtc1 $at, $f22 +/* 322704 802BEBB4 00431024 */ and $v0, $v0, $v1 +/* 322708 802BEBB8 00451025 */ or $v0, $v0, $a1 +/* 32270C 802BEBBC 0C039769 */ jal set_action_state +/* 322710 802BEBC0 AE220000 */ sw $v0, ($s1) +/* 322714 802BEBC4 3C01802C */ lui $at, 0x802c +/* 322718 802BEBC8 AC30FF0C */ sw $s0, -0xf4($at) +/* 32271C 802BEBCC 0C03BD38 */ jal func_800EF4E0 +/* 322720 802BEBD0 0000802D */ daddu $s0, $zero, $zero +/* 322724 802BEBD4 C6400028 */ lwc1 $f0, 0x28($s2) +/* 322728 802BEBD8 E6200060 */ swc1 $f0, 0x60($s1) +/* 32272C 802BEBDC C640002C */ lwc1 $f0, 0x2c($s2) +/* 322730 802BEBE0 E6200064 */ swc1 $f0, 0x64($s1) +/* 322734 802BEBE4 C6400030 */ lwc1 $f0, 0x30($s2) +/* 322738 802BEBE8 E6200068 */ swc1 $f0, 0x68($s1) +.L802BEBEC: +/* 32273C 802BEBEC 3C040001 */ lui $a0, 1 +/* 322740 802BEBF0 27A50020 */ addiu $a1, $sp, 0x20 +/* 322744 802BEBF4 C6200060 */ lwc1 $f0, 0x60($s1) +/* 322748 802BEBF8 C6220064 */ lwc1 $f2, 0x64($s1) +/* 32274C 802BEBFC C6240068 */ lwc1 $f4, 0x68($s1) +/* 322750 802BEC00 C6260018 */ lwc1 $f6, 0x18($s1) +/* 322754 802BEC04 27A60024 */ addiu $a2, $sp, 0x24 +/* 322758 802BEC08 E7A00020 */ swc1 $f0, 0x20($sp) +/* 32275C 802BEC0C E7A20024 */ swc1 $f2, 0x24($sp) +/* 322760 802BEC10 E7A40028 */ swc1 $f4, 0x28($sp) +/* 322764 802BEC14 E7A60010 */ swc1 $f6, 0x10($sp) +/* 322768 802BEC18 E7B40014 */ swc1 $f20, 0x14($sp) +/* 32276C 802BEC1C 862200A8 */ lh $v0, 0xa8($s1) +/* 322770 802BEC20 27A70028 */ addiu $a3, $sp, 0x28 +/* 322774 802BEC24 44820000 */ mtc1 $v0, $f0 +/* 322778 802BEC28 00000000 */ nop +/* 32277C 802BEC2C 46800020 */ cvt.s.w $f0, $f0 +/* 322780 802BEC30 E7A00018 */ swc1 $f0, 0x18($sp) +/* 322784 802BEC34 862200A6 */ lh $v0, 0xa6($s1) +/* 322788 802BEC38 26100001 */ addiu $s0, $s0, 1 +/* 32278C 802BEC3C 44820000 */ mtc1 $v0, $f0 +/* 322790 802BEC40 00000000 */ nop +/* 322794 802BEC44 46800020 */ cvt.s.w $f0, $f0 +/* 322798 802BEC48 0C037711 */ jal func_800DDC44 +/* 32279C 802BEC4C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 3227A0 802BEC50 2A020004 */ slti $v0, $s0, 4 +/* 3227A4 802BEC54 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 3227A8 802BEC58 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 3227AC 802BEC5C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 3227B0 802BEC60 4616A500 */ add.s $f20, $f20, $f22 +/* 3227B4 802BEC64 E6200060 */ swc1 $f0, 0x60($s1) +/* 3227B8 802BEC68 E6220064 */ swc1 $f2, 0x64($s1) +/* 3227BC 802BEC6C 1440FFDF */ bnez $v0, .L802BEBEC +/* 3227C0 802BEC70 E6240068 */ swc1 $f4, 0x68($s1) +/* 3227C4 802BEC74 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 3227C8 802BEC78 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 3227CC 802BEC7C 44060000 */ mfc1 $a2, $f0 +/* 3227D0 802BEC80 44072000 */ mfc1 $a3, $f4 +/* 3227D4 802BEC84 0C00A720 */ jal atan2 +/* 3227D8 802BEC88 00000000 */ nop +/* 3227DC 802BEC8C 3C030008 */ lui $v1, 8 +/* 3227E0 802BEC90 34630005 */ ori $v1, $v1, 5 +/* 3227E4 802BEC94 3C040001 */ lui $a0, 1 +/* 3227E8 802BEC98 34840006 */ ori $a0, $a0, 6 +/* 3227EC 802BEC9C E620000C */ swc1 $f0, 0xc($s1) +/* 3227F0 802BECA0 3C014100 */ lui $at, 0x4100 +/* 3227F4 802BECA4 44810000 */ mtc1 $at, $f0 +/* 3227F8 802BECA8 3C013FB3 */ lui $at, 0x3fb3 +/* 3227FC 802BECAC 34213333 */ ori $at, $at, 0x3333 +/* 322800 802BECB0 44811000 */ mtc1 $at, $f2 +/* 322804 802BECB4 2402000C */ addiu $v0, $zero, 0xc +/* 322808 802BECB8 A622008E */ sh $v0, 0x8e($s1) +/* 32280C 802BECBC AE230028 */ sw $v1, 0x28($s1) +/* 322810 802BECC0 E620001C */ swc1 $f0, 0x1c($s1) +/* 322814 802BECC4 0C037FBF */ jal func_800DFEFC +/* 322818 802BECC8 E6220014 */ swc1 $f2, 0x14($s1) +/* 32281C 802BECCC 24020065 */ addiu $v0, $zero, 0x65 +/* 322820 802BECD0 3C01802C */ lui $at, 0x802c +/* 322824 802BECD4 AC22FF14 */ sw $v0, -0xec($at) +/* 322828 802BECD8 080AFCD7 */ j .L802BF35C +/* 32282C 802BECDC 00000000 */ nop +.L802BECE0: +/* 322830 802BECE0 0000282D */ daddu $a1, $zero, $zero +/* 322834 802BECE4 0C052742 */ jal play_sound_at_npc +/* 322838 802BECE8 2406FFFC */ addiu $a2, $zero, -4 +/* 32283C 802BECEC 3C040001 */ lui $a0, 1 +/* 322840 802BECF0 0C037FBF */ jal func_800DFEFC +/* 322844 802BECF4 34840007 */ ori $a0, $a0, 7 +.L802BECF8: +/* 322848 802BECF8 3C03802C */ lui $v1, 0x802c +/* 32284C 802BECFC 2463FF14 */ addiu $v1, $v1, -0xec +/* 322850 802BED00 8C620000 */ lw $v0, ($v1) +/* 322854 802BED04 24420001 */ addiu $v0, $v0, 1 +/* 322858 802BED08 AC620000 */ sw $v0, ($v1) +.L802BED0C: +/* 32285C 802BED0C 8E420000 */ lw $v0, ($s2) +/* 322860 802BED10 30420800 */ andi $v0, $v0, 0x800 +/* 322864 802BED14 1440017A */ bnez $v0, .L802BF300 +/* 322868 802BED18 2402000A */ addiu $v0, $zero, 0xa +/* 32286C 802BED1C C6200060 */ lwc1 $f0, 0x60($s1) +/* 322870 802BED20 C62A0038 */ lwc1 $f10, 0x38($s1) +/* 322874 802BED24 8622008E */ lh $v0, 0x8e($s1) +/* 322878 802BED28 460A0001 */ sub.s $f0, $f0, $f10 +/* 32287C 802BED2C C6280040 */ lwc1 $f8, 0x40($s1) +/* 322880 802BED30 44821000 */ mtc1 $v0, $f2 +/* 322884 802BED34 00000000 */ nop +/* 322888 802BED38 468010A0 */ cvt.s.w $f2, $f2 +/* 32288C 802BED3C 46020003 */ div.s $f0, $f0, $f2 +/* 322890 802BED40 46005280 */ add.s $f10, $f10, $f0 +/* 322894 802BED44 C6200068 */ lwc1 $f0, 0x68($s1) +/* 322898 802BED48 C626003C */ lwc1 $f6, 0x3c($s1) +/* 32289C 802BED4C 46080001 */ sub.s $f0, $f0, $f8 +/* 3228A0 802BED50 C6220064 */ lwc1 $f2, 0x64($s1) +/* 3228A4 802BED54 46061081 */ sub.s $f2, $f2, $f6 +/* 3228A8 802BED58 44822000 */ mtc1 $v0, $f4 +/* 3228AC 802BED5C 00000000 */ nop +/* 3228B0 802BED60 46802120 */ cvt.s.w $f4, $f4 +/* 3228B4 802BED64 46040003 */ div.s $f0, $f0, $f4 +/* 3228B8 802BED68 46004200 */ add.s $f8, $f8, $f0 +/* 3228BC 802BED6C 46002006 */ mov.s $f0, $f4 +/* 3228C0 802BED70 46001083 */ div.s $f2, $f2, $f0 +/* 3228C4 802BED74 46023180 */ add.s $f6, $f6, $f2 +/* 3228C8 802BED78 C622001C */ lwc1 $f2, 0x1c($s1) +/* 3228CC 802BED7C E62A0038 */ swc1 $f10, 0x38($s1) +/* 3228D0 802BED80 E6280040 */ swc1 $f8, 0x40($s1) +/* 3228D4 802BED84 E626003C */ swc1 $f6, 0x3c($s1) +/* 3228D8 802BED88 864200B0 */ lh $v0, 0xb0($s2) +/* 3228DC 802BED8C C640002C */ lwc1 $f0, 0x2c($s2) +/* 3228E0 802BED90 44828000 */ mtc1 $v0, $f16 +/* 3228E4 802BED94 00000000 */ nop +/* 3228E8 802BED98 46808420 */ cvt.s.w $f16, $f16 +/* 3228EC 802BED9C 00021040 */ sll $v0, $v0, 1 +/* 3228F0 802BEDA0 44058000 */ mfc1 $a1, $f16 +/* 3228F4 802BEDA4 44828000 */ mtc1 $v0, $f16 +/* 3228F8 802BEDA8 00000000 */ nop +/* 3228FC 802BEDAC 46808420 */ cvt.s.w $f16, $f16 +/* 322900 802BEDB0 46020000 */ add.s $f0, $f0, $f2 +/* 322904 802BEDB4 44068000 */ mfc1 $a2, $f16 +/* 322908 802BEDB8 0220202D */ daddu $a0, $s1, $zero +/* 32290C 802BEDBC 0C0AF667 */ jal func_802BD99C +/* 322910 802BEDC0 E640002C */ swc1 $f0, 0x2c($s2) +/* 322914 802BEDC4 C640002C */ lwc1 $f0, 0x2c($s2) +/* 322918 802BEDC8 3C01802C */ lui $at, 0x802c +/* 32291C 802BEDCC C422FF24 */ lwc1 $f2, -0xdc($at) +/* 322920 802BEDD0 468010A0 */ cvt.s.w $f2, $f2 +/* 322924 802BEDD4 46020000 */ add.s $f0, $f0, $f2 +/* 322928 802BEDD8 26300038 */ addiu $s0, $s1, 0x38 +/* 32292C 802BEDDC E640002C */ swc1 $f0, 0x2c($s2) +/* 322930 802BEDE0 C624003C */ lwc1 $f4, 0x3c($s1) +/* 322934 802BEDE4 C6200014 */ lwc1 $f0, 0x14($s1) +/* 322938 802BEDE8 46022100 */ add.s $f4, $f4, $f2 +/* 32293C 802BEDEC C622001C */ lwc1 $f2, 0x1c($s1) +/* 322940 802BEDF0 4480A000 */ mtc1 $zero, $f20 +/* 322944 802BEDF4 46001081 */ sub.s $f2, $f2, $f0 +/* 322948 802BEDF8 26330040 */ addiu $s3, $s1, 0x40 +/* 32294C 802BEDFC E624003C */ swc1 $f4, 0x3c($s1) +/* 322950 802BEE00 4614103E */ c.le.s $f2, $f20 +/* 322954 802BEE04 00000000 */ nop +/* 322958 802BEE08 45000004 */ bc1f .L802BEE1C +/* 32295C 802BEE0C E622001C */ swc1 $f2, 0x1c($s1) +/* 322960 802BEE10 3C040001 */ lui $a0, 1 +/* 322964 802BEE14 0C037FBF */ jal func_800DFEFC +/* 322968 802BEE18 34840008 */ ori $a0, $a0, 8 +.L802BEE1C: +/* 32296C 802BEE1C 9622008E */ lhu $v0, 0x8e($s1) +/* 322970 802BEE20 2442FFFF */ addiu $v0, $v0, -1 +/* 322974 802BEE24 A622008E */ sh $v0, 0x8e($s1) +/* 322978 802BEE28 00021400 */ sll $v0, $v0, 0x10 +/* 32297C 802BEE2C 00021C03 */ sra $v1, $v0, 0x10 +/* 322980 802BEE30 18600015 */ blez $v1, .L802BEE88 +/* 322984 802BEE34 24020001 */ addiu $v0, $zero, 1 +/* 322988 802BEE38 14620148 */ bne $v1, $v0, .L802BF35C +/* 32298C 802BEE3C 00000000 */ nop +/* 322990 802BEE40 0200202D */ daddu $a0, $s0, $zero +/* 322994 802BEE44 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* 322998 802BEE48 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* 32299C 802BEE4C 3C06C000 */ lui $a2, 0xc000 +/* 3229A0 802BEE50 00021880 */ sll $v1, $v0, 2 +/* 3229A4 802BEE54 00621821 */ addu $v1, $v1, $v0 +/* 3229A8 802BEE58 00031880 */ sll $v1, $v1, 2 +/* 3229AC 802BEE5C 00621823 */ subu $v1, $v1, $v0 +/* 3229B0 802BEE60 000310C0 */ sll $v0, $v1, 3 +/* 3229B4 802BEE64 00621821 */ addu $v1, $v1, $v0 +/* 3229B8 802BEE68 000318C0 */ sll $v1, $v1, 3 +/* 3229BC 802BEE6C 3C07800B */ lui $a3, 0x800b +/* 3229C0 802BEE70 00E33821 */ addu $a3, $a3, $v1 +/* 3229C4 802BEE74 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 3229C8 802BEE78 0C00A7E7 */ jal add_vec2D_polar +/* 3229CC 802BEE7C 0260282D */ daddu $a1, $s3, $zero +/* 3229D0 802BEE80 080AFCD7 */ j .L802BF35C +/* 3229D4 802BEE84 00000000 */ nop +.L802BEE88: +/* 3229D8 802BEE88 C622003C */ lwc1 $f2, 0x3c($s1) +/* 3229DC 802BEE8C 3C014120 */ lui $at, 0x4120 +/* 3229E0 802BEE90 44810000 */ mtc1 $at, $f0 +/* 3229E4 802BEE94 00000000 */ nop +/* 3229E8 802BEE98 46001080 */ add.s $f2, $f2, $f0 +/* 3229EC 802BEE9C C640005C */ lwc1 $f0, 0x5c($s2) +/* 3229F0 802BEEA0 24040021 */ addiu $a0, $zero, 0x21 +/* 3229F4 802BEEA4 E642002C */ swc1 $f2, 0x2c($s2) +/* 3229F8 802BEEA8 E6200018 */ swc1 $f0, 0x18($s1) +/* 3229FC 802BEEAC E6340014 */ swc1 $f20, 0x14($s1) +/* 322A00 802BEEB0 C6400080 */ lwc1 $f0, 0x80($s2) +/* 322A04 802BEEB4 24020003 */ addiu $v0, $zero, 3 +/* 322A08 802BEEB8 A622008E */ sh $v0, 0x8e($s1) +/* 322A0C 802BEEBC 0C039769 */ jal set_action_state +/* 322A10 802BEEC0 E620000C */ swc1 $f0, 0xc($s1) +/* 322A14 802BEEC4 3C040008 */ lui $a0, 8 +/* 322A18 802BEEC8 0C037FDE */ jal func_800DFF78 +/* 322A1C 802BEECC 3484000E */ ori $a0, $a0, 0xe +/* 322A20 802BEED0 0C038039 */ jal disable_player_shadow +/* 322A24 802BEED4 00000000 */ nop +/* 322A28 802BEED8 24020008 */ addiu $v0, $zero, 8 +/* 322A2C 802BEEDC A2A20003 */ sb $v0, 3($s5) +/* 322A30 802BEEE0 24020001 */ addiu $v0, $zero, 1 +/* 322A34 802BEEE4 3C014000 */ lui $at, 0x4000 +/* 322A38 802BEEE8 44816000 */ mtc1 $at, $f12 +/* 322A3C 802BEEEC 2403FEFF */ addiu $v1, $zero, -0x101 +/* 322A40 802BEEF0 A2A20000 */ sb $v0, ($s5) +/* 322A44 802BEEF4 8E420000 */ lw $v0, ($s2) +/* 322A48 802BEEF8 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* 322A4C 802BEEFC 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* 322A50 802BEF00 00431024 */ and $v0, $v0, $v1 +/* 322A54 802BEF04 AE420000 */ sw $v0, ($s2) +/* 322A58 802BEF08 24020002 */ addiu $v0, $zero, 2 +/* 322A5C 802BEF0C A080007D */ sb $zero, 0x7d($a0) +/* 322A60 802BEF10 3C01802C */ lui $at, 0x802c +/* 322A64 802BEF14 AC20FF18 */ sw $zero, -0xe8($at) +/* 322A68 802BEF18 3C01802C */ lui $at, 0x802c +/* 322A6C 802BEF1C AC22FF0C */ sw $v0, -0xf4($at) +/* 322A70 802BEF20 0C0AFED1 */ jal func_802BFB44 +/* 322A74 802BEF24 00000000 */ nop +/* 322A78 802BEF28 24020068 */ addiu $v0, $zero, 0x68 +/* 322A7C 802BEF2C 3C01802C */ lui $at, 0x802c +/* 322A80 802BEF30 AC22FF14 */ sw $v0, -0xec($at) +/* 322A84 802BEF34 8E420004 */ lw $v0, 4($s2) +/* 322A88 802BEF38 3C030040 */ lui $v1, 0x40 +/* 322A8C 802BEF3C 00431025 */ or $v0, $v0, $v1 +/* 322A90 802BEF40 080AFCD7 */ j .L802BF35C +/* 322A94 802BEF44 AE420004 */ sw $v0, 4($s2) +.L802BEF48: +/* 322A98 802BEF48 8E420000 */ lw $v0, ($s2) +/* 322A9C 802BEF4C 30420800 */ andi $v0, $v0, 0x800 +/* 322AA0 802BEF50 10400003 */ beqz $v0, .L802BEF60 +/* 322AA4 802BEF54 2402000A */ addiu $v0, $zero, 0xa +/* 322AA8 802BEF58 080AFCD7 */ j .L802BF35C +/* 322AAC 802BEF5C AE020000 */ sw $v0, ($s0) +.L802BEF60: +/* 322AB0 802BEF60 9622008E */ lhu $v0, 0x8e($s1) +/* 322AB4 802BEF64 2442FFFF */ addiu $v0, $v0, -1 +/* 322AB8 802BEF68 A622008E */ sh $v0, 0x8e($s1) +/* 322ABC 802BEF6C 00021400 */ sll $v0, $v0, 0x10 +/* 322AC0 802BEF70 1040000B */ beqz $v0, .L802BEFA0 +/* 322AC4 802BEF74 24030001 */ addiu $v1, $zero, 1 +/* 322AC8 802BEF78 8EA2000C */ lw $v0, 0xc($s5) +/* 322ACC 802BEF7C 30424004 */ andi $v0, $v0, 0x4004 +/* 322AD0 802BEF80 104000F6 */ beqz $v0, .L802BF35C +/* 322AD4 802BEF84 00000000 */ nop +/* 322AD8 802BEF88 0C0AF5F7 */ jal func_802BD7DC +/* 322ADC 802BEF8C 00000000 */ nop +/* 322AE0 802BEF90 104000F2 */ beqz $v0, .L802BF35C +/* 322AE4 802BEF94 24020003 */ addiu $v0, $zero, 3 +/* 322AE8 802BEF98 080AFCD7 */ j .L802BF35C +/* 322AEC 802BEF9C AE020000 */ sw $v0, ($s0) +.L802BEFA0: +/* 322AF0 802BEFA0 8E220000 */ lw $v0, ($s1) +/* 322AF4 802BEFA4 AE030000 */ sw $v1, ($s0) +/* 322AF8 802BEFA8 34420040 */ ori $v0, $v0, 0x40 +/* 322AFC 802BEFAC AE220000 */ sw $v0, ($s1) +.L802BEFB0: +/* 322B00 802BEFB0 0C0AF776 */ jal func_802BDDD8 +/* 322B04 802BEFB4 0220202D */ daddu $a0, $s1, $zero +/* 322B08 802BEFB8 3C030040 */ lui $v1, 0x40 +/* 322B0C 802BEFBC 3C04802C */ lui $a0, 0x802c +/* 322B10 802BEFC0 2484FF18 */ addiu $a0, $a0, -0xe8 +/* 322B14 802BEFC4 8E420004 */ lw $v0, 4($s2) +/* 322B18 802BEFC8 3C014000 */ lui $at, 0x4000 +/* 322B1C 802BEFCC 44811000 */ mtc1 $at, $f2 +/* 322B20 802BEFD0 00431025 */ or $v0, $v0, $v1 +/* 322B24 802BEFD4 AE420004 */ sw $v0, 4($s2) +/* 322B28 802BEFD8 8C830000 */ lw $v1, ($a0) +/* 322B2C 802BEFDC C6200064 */ lwc1 $f0, 0x64($s1) +/* 322B30 802BEFE0 24620001 */ addiu $v0, $v1, 1 +/* 322B34 802BEFE4 46020000 */ add.s $f0, $f0, $f2 +/* 322B38 802BEFE8 AC820000 */ sw $v0, ($a0) +/* 322B3C 802BEFEC 2842000A */ slti $v0, $v0, 0xa +/* 322B40 802BEFF0 14400003 */ bnez $v0, .L802BF000 +/* 322B44 802BEFF4 E620003C */ swc1 $f0, 0x3c($s1) +/* 322B48 802BEFF8 2462FFEF */ addiu $v0, $v1, -0x11 +/* 322B4C 802BEFFC AC820000 */ sw $v0, ($a0) +.L802BF000: +/* 322B50 802BF000 82A20014 */ lb $v0, 0x14($s5) +/* 322B54 802BF004 14400003 */ bnez $v0, .L802BF014 +/* 322B58 802BF008 00000000 */ nop +/* 322B5C 802BF00C C620000C */ lwc1 $f0, 0xc($s1) +/* 322B60 802BF010 E6400080 */ swc1 $f0, 0x80($s2) +.L802BF014: +/* 322B64 802BF014 8E420000 */ lw $v0, ($s2) +/* 322B68 802BF018 30420800 */ andi $v0, $v0, 0x800 +/* 322B6C 802BF01C 144000B8 */ bnez $v0, .L802BF300 +/* 322B70 802BF020 2402000A */ addiu $v0, $zero, 0xa +/* 322B74 802BF024 8EA2000C */ lw $v0, 0xc($s5) +/* 322B78 802BF028 30424004 */ andi $v0, $v0, 0x4004 +/* 322B7C 802BF02C 104000CB */ beqz $v0, .L802BF35C +/* 322B80 802BF030 00000000 */ nop +/* 322B84 802BF034 0C0AF5F7 */ jal func_802BD7DC +/* 322B88 802BF038 00000000 */ nop +/* 322B8C 802BF03C 10400005 */ beqz $v0, .L802BF054 +/* 322B90 802BF040 24020003 */ addiu $v0, $zero, 3 +/* 322B94 802BF044 3C01802C */ lui $at, 0x802c +/* 322B98 802BF048 AC22FF14 */ sw $v0, -0xec($at) +/* 322B9C 802BF04C 080AFCD7 */ j .L802BF35C +/* 322BA0 802BF050 00000000 */ nop +.L802BF054: +/* 322BA4 802BF054 8E420004 */ lw $v0, 4($s2) +/* 322BA8 802BF058 3C034000 */ lui $v1, 0x4000 +/* 322BAC 802BF05C 00431024 */ and $v0, $v0, $v1 +/* 322BB0 802BF060 14400006 */ bnez $v0, .L802BF07C +/* 322BB4 802BF064 3C03BFFF */ lui $v1, 0xbfff +/* 322BB8 802BF068 2404021D */ addiu $a0, $zero, 0x21d +/* 322BBC 802BF06C 0000282D */ daddu $a1, $zero, $zero +/* 322BC0 802BF070 0C052742 */ jal play_sound_at_npc +/* 322BC4 802BF074 2406FFFC */ addiu $a2, $zero, -4 +/* 322BC8 802BF078 3C03BFFF */ lui $v1, 0xbfff +.L802BF07C: +/* 322BCC 802BF07C 8E420004 */ lw $v0, 4($s2) +/* 322BD0 802BF080 3463FFFF */ ori $v1, $v1, 0xffff +/* 322BD4 802BF084 00431024 */ and $v0, $v0, $v1 +/* 322BD8 802BF088 080AFCD7 */ j .L802BF35C +/* 322BDC 802BF08C AE420004 */ sw $v0, 4($s2) +.L802BF090: +/* 322BE0 802BF090 8E220000 */ lw $v0, ($s1) +/* 322BE4 802BF094 2403FFBF */ addiu $v1, $zero, -0x41 +/* 322BE8 802BF098 00431024 */ and $v0, $v0, $v1 +/* 322BEC 802BF09C AE220000 */ sw $v0, ($s1) +/* 322BF0 802BF0A0 8E420000 */ lw $v0, ($s2) +/* 322BF4 802BF0A4 34420100 */ ori $v0, $v0, 0x100 +/* 322BF8 802BF0A8 0C0AF5F7 */ jal func_802BD7DC +/* 322BFC 802BF0AC AE420000 */ sw $v0, ($s2) +/* 322C00 802BF0B0 3C02800B */ lui $v0, %hi(gCameras) +/* 322C04 802BF0B4 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 322C08 802BF0B8 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 322C0C 802BF0BC 3C0142B4 */ lui $at, 0x42b4 +/* 322C10 802BF0C0 44813000 */ mtc1 $at, $f6 +/* 322C14 802BF0C4 C444006C */ lwc1 $f4, 0x6c($v0) +/* 322C18 802BF0C8 4602303E */ c.le.s $f6, $f2 +/* 322C1C 802BF0CC 00000000 */ nop +/* 322C20 802BF0D0 4500000E */ bc1f .L802BF10C +/* 322C24 802BF0D4 00000000 */ nop +/* 322C28 802BF0D8 3C014387 */ lui $at, 0x4387 +/* 322C2C 802BF0DC 44810000 */ mtc1 $at, $f0 +/* 322C30 802BF0E0 00000000 */ nop +/* 322C34 802BF0E4 4600103C */ c.lt.s $f2, $f0 +/* 322C38 802BF0E8 00000000 */ nop +/* 322C3C 802BF0EC 45000007 */ bc1f .L802BF10C +/* 322C40 802BF0F0 00000000 */ nop +/* 322C44 802BF0F4 3C014334 */ lui $at, 0x4334 +/* 322C48 802BF0F8 44810000 */ mtc1 $at, $f0 +/* 322C4C 802BF0FC 00000000 */ nop +/* 322C50 802BF100 46002000 */ add.s $f0, $f4, $f0 +/* 322C54 802BF104 080AFC4A */ j .L802BF128 +/* 322C58 802BF108 46060501 */ sub.s $f20, $f0, $f6 +.L802BF10C: +/* 322C5C 802BF10C 44800000 */ mtc1 $zero, $f0 +/* 322C60 802BF110 00000000 */ nop +/* 322C64 802BF114 46002000 */ add.s $f0, $f4, $f0 +/* 322C68 802BF118 3C0142B4 */ lui $at, 0x42b4 +/* 322C6C 802BF11C 44811000 */ mtc1 $at, $f2 +/* 322C70 802BF120 00000000 */ nop +/* 322C74 802BF124 46020501 */ sub.s $f20, $f0, $f2 +.L802BF128: +/* 322C78 802BF128 E634000C */ swc1 $f20, 0xc($s1) +/* 322C7C 802BF12C C64C0028 */ lwc1 $f12, 0x28($s2) +/* 322C80 802BF130 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 322C84 802BF134 8E260060 */ lw $a2, 0x60($s1) +/* 322C88 802BF138 0C00A7B5 */ jal dist2D +/* 322C8C 802BF13C 8E270068 */ lw $a3, 0x68($s1) +/* 322C90 802BF140 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 322C94 802BF144 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 322C98 802BF148 8E260060 */ lw $a2, 0x60($s1) +/* 322C9C 802BF14C 8E270068 */ lw $a3, 0x68($s1) +/* 322CA0 802BF150 0C00A720 */ jal atan2 +/* 322CA4 802BF154 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 322CA8 802BF158 C6240064 */ lwc1 $f4, 0x64($s1) +/* 322CAC 802BF15C C622003C */ lwc1 $f2, 0x3c($s1) +/* 322CB0 802BF160 E620000C */ swc1 $f0, 0xc($s1) +/* 322CB4 802BF164 3C013F99 */ lui $at, 0x3f99 +/* 322CB8 802BF168 3421999A */ ori $at, $at, 0x999a +/* 322CBC 802BF16C 44810000 */ mtc1 $at, $f0 +/* 322CC0 802BF170 2402000E */ addiu $v0, $zero, 0xe +/* 322CC4 802BF174 A622008E */ sh $v0, 0x8e($s1) +/* 322CC8 802BF178 4604103C */ c.lt.s $f2, $f4 +/* 322CCC 802BF17C 00000000 */ nop +/* 322CD0 802BF180 45000009 */ bc1f .L802BF1A8 +/* 322CD4 802BF184 E6200014 */ swc1 $f0, 0x14($s1) +/* 322CD8 802BF188 46022001 */ sub.s $f0, $f4, $f2 +/* 322CDC 802BF18C 3C014160 */ lui $at, 0x4160 +/* 322CE0 802BF190 44811000 */ mtc1 $at, $f2 +/* 322CE4 802BF194 3C0140C0 */ lui $at, 0x40c0 +/* 322CE8 802BF198 44812000 */ mtc1 $at, $f4 +/* 322CEC 802BF19C 46020003 */ div.s $f0, $f0, $f2 +/* 322CF0 802BF1A0 080AFC6D */ j .L802BF1B4 +/* 322CF4 802BF1A4 46040000 */ add.s $f0, $f0, $f4 +.L802BF1A8: +/* 322CF8 802BF1A8 3C0140C0 */ lui $at, 0x40c0 +/* 322CFC 802BF1AC 44810000 */ mtc1 $at, $f0 +/* 322D00 802BF1B0 00000000 */ nop +.L802BF1B4: +/* 322D04 802BF1B4 E620001C */ swc1 $f0, 0x1c($s1) +/* 322D08 802BF1B8 3C040001 */ lui $a0, 1 +/* 322D0C 802BF1BC 34840006 */ ori $a0, $a0, 6 +/* 322D10 802BF1C0 8622008E */ lh $v0, 0x8e($s1) +/* 322D14 802BF1C4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 322D18 802BF1C8 44821000 */ mtc1 $v0, $f2 +/* 322D1C 802BF1CC 00000000 */ nop +/* 322D20 802BF1D0 468010A0 */ cvt.s.w $f2, $f2 +/* 322D24 802BF1D4 46020003 */ div.s $f0, $f0, $f2 +/* 322D28 802BF1D8 0C037FBF */ jal func_800DFEFC +/* 322D2C 802BF1DC E6200018 */ swc1 $f0, 0x18($s1) +/* 322D30 802BF1E0 3C03802C */ lui $v1, 0x802c +/* 322D34 802BF1E4 2463FF14 */ addiu $v1, $v1, -0xec +/* 322D38 802BF1E8 8C620000 */ lw $v0, ($v1) +/* 322D3C 802BF1EC 24420001 */ addiu $v0, $v0, 1 +/* 322D40 802BF1F0 080AFCD7 */ j .L802BF35C +/* 322D44 802BF1F4 AC620000 */ sw $v0, ($v1) +.L802BF1F8: +/* 322D48 802BF1F8 3C040001 */ lui $a0, 1 +/* 322D4C 802BF1FC 0C037FBF */ jal func_800DFEFC +/* 322D50 802BF200 34840007 */ ori $a0, $a0, 7 +/* 322D54 802BF204 8E020000 */ lw $v0, ($s0) +/* 322D58 802BF208 24420001 */ addiu $v0, $v0, 1 +/* 322D5C 802BF20C AE020000 */ sw $v0, ($s0) +/* 322D60 802BF210 0240202D */ daddu $a0, $s2, $zero +.L802BF214: +/* 322D64 802BF214 3C08800B */ lui $t0, %hi(gCameras) +/* 322D68 802BF218 25081D80 */ addiu $t0, $t0, %lo(gCameras) +/* 322D6C 802BF21C 27A50020 */ addiu $a1, $sp, 0x20 +/* 322D70 802BF220 27B40024 */ addiu $s4, $sp, 0x24 +/* 322D74 802BF224 0280302D */ daddu $a2, $s4, $zero +/* 322D78 802BF228 27A70028 */ addiu $a3, $sp, 0x28 +/* 322D7C 802BF22C 26500028 */ addiu $s0, $s2, 0x28 +/* 322D80 802BF230 95020002 */ lhu $v0, 2($t0) +/* 322D84 802BF234 26530030 */ addiu $s3, $s2, 0x30 +/* 322D88 802BF238 34420001 */ ori $v0, $v0, 1 +/* 322D8C 802BF23C A5020002 */ sh $v0, 2($t0) +/* 322D90 802BF240 C640002C */ lwc1 $f0, 0x2c($s2) +/* 322D94 802BF244 C622001C */ lwc1 $f2, 0x1c($s1) +/* 322D98 802BF248 864200B0 */ lh $v0, 0xb0($s2) +/* 322D9C 802BF24C C6480028 */ lwc1 $f8, 0x28($s2) +/* 322DA0 802BF250 46020000 */ add.s $f0, $f0, $f2 +/* 322DA4 802BF254 3C013F00 */ lui $at, 0x3f00 +/* 322DA8 802BF258 44811000 */ mtc1 $at, $f2 +/* 322DAC 802BF25C 44826000 */ mtc1 $v0, $f12 +/* 322DB0 802BF260 00000000 */ nop +/* 322DB4 802BF264 46806320 */ cvt.s.w $f12, $f12 +/* 322DB8 802BF268 46026302 */ mul.s $f12, $f12, $f2 +/* 322DBC 802BF26C 00000000 */ nop +/* 322DC0 802BF270 C64A0030 */ lwc1 $f10, 0x30($s2) +/* 322DC4 802BF274 0040182D */ daddu $v1, $v0, $zero +/* 322DC8 802BF278 E640002C */ swc1 $f0, 0x2c($s2) +/* 322DCC 802BF27C 44830000 */ mtc1 $v1, $f0 +/* 322DD0 802BF280 00000000 */ nop +/* 322DD4 802BF284 46800020 */ cvt.s.w $f0, $f0 +/* 322DD8 802BF288 46020002 */ mul.s $f0, $f0, $f2 +/* 322DDC 802BF28C 00000000 */ nop +/* 322DE0 802BF290 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 322DE4 802BF294 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 322DE8 802BF298 C644002C */ lwc1 $f4, 0x2c($s2) +/* 322DEC 802BF29C 3C0142B4 */ lui $at, 0x42b4 +/* 322DF0 802BF2A0 44811000 */ mtc1 $at, $f2 +/* 322DF4 802BF2A4 00031080 */ sll $v0, $v1, 2 +/* 322DF8 802BF2A8 00431021 */ addu $v0, $v0, $v1 +/* 322DFC 802BF2AC 00021080 */ sll $v0, $v0, 2 +/* 322E00 802BF2B0 00431023 */ subu $v0, $v0, $v1 +/* 322E04 802BF2B4 000218C0 */ sll $v1, $v0, 3 +/* 322E08 802BF2B8 00431021 */ addu $v0, $v0, $v1 +/* 322E0C 802BF2BC 000210C0 */ sll $v0, $v0, 3 +/* 322E10 802BF2C0 00481021 */ addu $v0, $v0, $t0 +/* 322E14 802BF2C4 C446006C */ lwc1 $f6, 0x6c($v0) +/* 322E18 802BF2C8 46002100 */ add.s $f4, $f4, $f0 +/* 322E1C 802BF2CC C64000A8 */ lwc1 $f0, 0xa8($s2) +/* 322E20 802BF2D0 27A2002C */ addiu $v0, $sp, 0x2c +/* 322E24 802BF2D4 E7A80020 */ swc1 $f8, 0x20($sp) +/* 322E28 802BF2D8 46020001 */ sub.s $f0, $f0, $f2 +/* 322E2C 802BF2DC E7AA0028 */ swc1 $f10, 0x28($sp) +/* 322E30 802BF2E0 E7AC002C */ swc1 $f12, 0x2c($sp) +/* 322E34 802BF2E4 46060500 */ add.s $f20, $f0, $f6 +/* 322E38 802BF2E8 E7A40024 */ swc1 $f4, 0x24($sp) +/* 322E3C 802BF2EC AFA20010 */ sw $v0, 0x10($sp) +/* 322E40 802BF2F0 0C0379F9 */ jal collision_check_above +/* 322E44 802BF2F4 E7B40014 */ swc1 $f20, 0x14($sp) +/* 322E48 802BF2F8 04400005 */ bltz $v0, .L802BF310 +/* 322E4C 802BF2FC 2402000A */ addiu $v0, $zero, 0xa +.L802BF300: +/* 322E50 802BF300 3C01802C */ lui $at, 0x802c +/* 322E54 802BF304 AC22FF14 */ sw $v0, -0xec($at) +/* 322E58 802BF308 080AFCD7 */ j .L802BF35C +/* 322E5C 802BF30C 00000000 */ nop +.L802BF310: +/* 322E60 802BF310 0200202D */ daddu $a0, $s0, $zero +/* 322E64 802BF314 C620001C */ lwc1 $f0, 0x1c($s1) +/* 322E68 802BF318 C6220014 */ lwc1 $f2, 0x14($s1) +/* 322E6C 802BF31C 8E260018 */ lw $a2, 0x18($s1) +/* 322E70 802BF320 46020001 */ sub.s $f0, $f0, $f2 +/* 322E74 802BF324 8E27000C */ lw $a3, 0xc($s1) +/* 322E78 802BF328 0260282D */ daddu $a1, $s3, $zero +/* 322E7C 802BF32C 0C00A7E7 */ jal add_vec2D_polar +/* 322E80 802BF330 E620001C */ swc1 $f0, 0x1c($s1) +/* 322E84 802BF334 0C0392B6 */ jal func_800E4AD8 +/* 322E88 802BF338 0000202D */ daddu $a0, $zero, $zero +/* 322E8C 802BF33C 0C0AF9A8 */ jal func_802BE6A0 +/* 322E90 802BF340 0280202D */ daddu $a0, $s4, $zero +/* 322E94 802BF344 04400005 */ bltz $v0, .L802BF35C +/* 322E98 802BF348 2402000A */ addiu $v0, $zero, 0xa +/* 322E9C 802BF34C C7A00024 */ lwc1 $f0, 0x24($sp) +/* 322EA0 802BF350 3C01802C */ lui $at, 0x802c +/* 322EA4 802BF354 AC22FF14 */ sw $v0, -0xec($at) +/* 322EA8 802BF358 E640002C */ swc1 $f0, 0x2c($s2) +.L802BF35C: +/* 322EAC 802BF35C C6400028 */ lwc1 $f0, 0x28($s2) +/* 322EB0 802BF360 3C02800B */ lui $v0, %hi(gCameras) +/* 322EB4 802BF364 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 322EB8 802BF368 E4400060 */ swc1 $f0, 0x60($v0) +/* 322EBC 802BF36C C6400030 */ lwc1 $f0, 0x30($s2) +/* 322EC0 802BF370 C6220064 */ lwc1 $f2, 0x64($s1) +/* 322EC4 802BF374 3C10802C */ lui $s0, 0x802c +/* 322EC8 802BF378 2610FF14 */ addiu $s0, $s0, -0xec +/* 322ECC 802BF37C E4400068 */ swc1 $f0, 0x68($v0) +/* 322ED0 802BF380 E4420064 */ swc1 $f2, 0x64($v0) +/* 322ED4 802BF384 8E030000 */ lw $v1, ($s0) +/* 322ED8 802BF388 2402000A */ addiu $v0, $zero, 0xa +/* 322EDC 802BF38C 14620030 */ bne $v1, $v0, .L802BF450 +/* 322EE0 802BF390 2402000B */ addiu $v0, $zero, 0xb +/* 322EE4 802BF394 3C02FFBF */ lui $v0, 0xffbf +/* 322EE8 802BF398 3442FFB7 */ ori $v0, $v0, 0xffb7 +/* 322EEC 802BF39C 8E230000 */ lw $v1, ($s1) +/* 322EF0 802BF3A0 3C05802C */ lui $a1, 0x802c +/* 322EF4 802BF3A4 24A5FF08 */ addiu $a1, $a1, -0xf8 +/* 322EF8 802BF3A8 3C01802C */ lui $at, 0x802c +/* 322EFC 802BF3AC AC20FF0C */ sw $zero, -0xf4($at) +/* 322F00 802BF3B0 8CA40000 */ lw $a0, ($a1) +/* 322F04 802BF3B4 00621824 */ and $v1, $v1, $v0 +/* 322F08 802BF3B8 10800003 */ beqz $a0, .L802BF3C8 +/* 322F0C 802BF3BC AE230000 */ sw $v1, ($s1) +/* 322F10 802BF3C0 0C038050 */ jal enable_player_static_collisions +/* 322F14 802BF3C4 ACA00000 */ sw $zero, ($a1) +.L802BF3C8: +/* 322F18 802BF3C8 0C03802C */ jal enable_player_shadow +/* 322F1C 802BF3CC 00000000 */ nop +/* 322F20 802BF3D0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 322F24 802BF3D4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 322F28 802BF3D8 A040007D */ sb $zero, 0x7d($v0) +/* 322F2C 802BF3DC 8E420000 */ lw $v0, ($s2) +/* 322F30 802BF3E0 30420800 */ andi $v0, $v0, 0x800 +/* 322F34 802BF3E4 10400013 */ beqz $v0, .L802BF434 +/* 322F38 802BF3E8 00000000 */ nop +/* 322F3C 802BF3EC 3C03802C */ lui $v1, 0x802c +/* 322F40 802BF3F0 2463FF04 */ addiu $v1, $v1, -0xfc +/* 322F44 802BF3F4 8C620000 */ lw $v0, ($v1) +/* 322F48 802BF3F8 A2A00003 */ sb $zero, 3($s5) +/* 322F4C 802BF3FC 10400003 */ beqz $v0, .L802BF40C +/* 322F50 802BF400 A2A00000 */ sb $zero, ($s5) +/* 322F54 802BF404 0C038069 */ jal enable_player_input +/* 322F58 802BF408 AC600000 */ sw $zero, ($v1) +.L802BF40C: +/* 322F5C 802BF40C 0C03BD17 */ jal clear_partner_move_history +/* 322F60 802BF410 0220202D */ daddu $a0, $s1, $zero +/* 322F64 802BF414 0C039769 */ jal set_action_state +/* 322F68 802BF418 24040015 */ addiu $a0, $zero, 0x15 +/* 322F6C 802BF41C 24020001 */ addiu $v0, $zero, 1 +.L802BF420: +/* 322F70 802BF420 8E430000 */ lw $v1, ($s2) +/* 322F74 802BF424 2404FEFF */ addiu $a0, $zero, -0x101 +.L802BF428: +/* 322F78 802BF428 00641824 */ and $v1, $v1, $a0 +/* 322F7C 802BF42C 080AFD31 */ j .L802BF4C4 +/* 322F80 802BF430 AE430000 */ sw $v1, ($s2) +.L802BF434: +/* 322F84 802BF434 0C039769 */ jal set_action_state +/* 322F88 802BF438 24040008 */ addiu $a0, $zero, 8 +/* 322F8C 802BF43C 0C038C1B */ jal gravity_use_fall_parms +/* 322F90 802BF440 00000000 */ nop +/* 322F94 802BF444 2402000B */ addiu $v0, $zero, 0xb +/* 322F98 802BF448 080AFD30 */ j .L802BF4C0 +/* 322F9C 802BF44C AE020000 */ sw $v0, ($s0) +.L802BF450: +/* 322FA0 802BF450 1462001C */ bne $v1, $v0, .L802BF4C4 +/* 322FA4 802BF454 0000102D */ daddu $v0, $zero, $zero +/* 322FA8 802BF458 3C03FFBF */ lui $v1, 0xffbf +/* 322FAC 802BF45C 3463FFB7 */ ori $v1, $v1, 0xffb7 +/* 322FB0 802BF460 2404FEFF */ addiu $a0, $zero, -0x101 +/* 322FB4 802BF464 8E220000 */ lw $v0, ($s1) +/* 322FB8 802BF468 3C05802C */ lui $a1, 0x802c +/* 322FBC 802BF46C 24A5FF04 */ addiu $a1, $a1, -0xfc +/* 322FC0 802BF470 00431024 */ and $v0, $v0, $v1 +/* 322FC4 802BF474 AE220000 */ sw $v0, ($s1) +/* 322FC8 802BF478 A2A00003 */ sb $zero, 3($s5) +/* 322FCC 802BF47C A2A00000 */ sb $zero, ($s5) +/* 322FD0 802BF480 8E420000 */ lw $v0, ($s2) +/* 322FD4 802BF484 8CA30000 */ lw $v1, ($a1) +/* 322FD8 802BF488 00441024 */ and $v0, $v0, $a0 +/* 322FDC 802BF48C 10600003 */ beqz $v1, .L802BF49C +/* 322FE0 802BF490 AE420000 */ sw $v0, ($s2) +/* 322FE4 802BF494 0C038069 */ jal enable_player_input +/* 322FE8 802BF498 ACA00000 */ sw $zero, ($a1) +.L802BF49C: +/* 322FEC 802BF49C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 322FF0 802BF4A0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 322FF4 802BF4A4 0220202D */ daddu $a0, $s1, $zero +/* 322FF8 802BF4A8 0C03BD17 */ jal clear_partner_move_history +/* 322FFC 802BF4AC A040007D */ sb $zero, 0x7d($v0) +/* 323000 802BF4B0 0C03BCF5 */ jal func_800EF3D4 +/* 323004 802BF4B4 24040002 */ addiu $a0, $zero, 2 +/* 323008 802BF4B8 080AFD31 */ j .L802BF4C4 +/* 32300C 802BF4BC 24020001 */ addiu $v0, $zero, 1 +.L802BF4C0: +/* 323010 802BF4C0 0000102D */ daddu $v0, $zero, $zero +.L802BF4C4: +/* 323014 802BF4C4 8FBF0048 */ lw $ra, 0x48($sp) +/* 323018 802BF4C8 8FB50044 */ lw $s5, 0x44($sp) +/* 32301C 802BF4CC 8FB40040 */ lw $s4, 0x40($sp) +/* 323020 802BF4D0 8FB3003C */ lw $s3, 0x3c($sp) +/* 323024 802BF4D4 8FB20038 */ lw $s2, 0x38($sp) +/* 323028 802BF4D8 8FB10034 */ lw $s1, 0x34($sp) +/* 32302C 802BF4DC 8FB00030 */ lw $s0, 0x30($sp) +/* 323030 802BF4E0 D7B60058 */ ldc1 $f22, 0x58($sp) +/* 323034 802BF4E4 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 323038 802BF4E8 03E00008 */ jr $ra +/* 32303C 802BF4EC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_320C50/func_802BF4F0.s b/asm/nonmatchings/code_320C50/func_802BF4F0.s new file mode 100644 index 0000000000..e74e3be3ef --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BF4F0.s @@ -0,0 +1,352 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BF4F0 +/* 323040 802BF4F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 323044 802BF4F4 AFB20038 */ sw $s2, 0x38($sp) +/* 323048 802BF4F8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 32304C 802BF4FC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 323050 802BF500 AFB3003C */ sw $s3, 0x3c($sp) +/* 323054 802BF504 3C138011 */ lui $s3, %hi(D_8010EBB0) +/* 323058 802BF508 2673EBB0 */ addiu $s3, $s3, %lo(D_8010EBB0) +/* 32305C 802BF50C AFBF0040 */ sw $ra, 0x40($sp) +/* 323060 802BF510 AFB10034 */ sw $s1, 0x34($sp) +/* 323064 802BF514 AFB00030 */ sw $s0, 0x30($sp) +/* 323068 802BF518 10A00014 */ beqz $a1, .L802BF56C +/* 32306C 802BF51C 8C90014C */ lw $s0, 0x14c($a0) +/* 323070 802BF520 3C02802C */ lui $v0, 0x802c +/* 323074 802BF524 8C42FF0C */ lw $v0, -0xf4($v0) +/* 323078 802BF528 14400002 */ bnez $v0, .L802BF534 +/* 32307C 802BF52C 0000182D */ daddu $v1, $zero, $zero +/* 323080 802BF530 24030003 */ addiu $v1, $zero, 3 +.L802BF534: +/* 323084 802BF534 3C01802C */ lui $at, 0x802c +/* 323088 802BF538 AC23FF00 */ sw $v1, -0x100($at) +/* 32308C 802BF53C 0C03BA65 */ jal func_800EE994 +/* 323090 802BF540 0200202D */ daddu $a0, $s0, $zero +/* 323094 802BF544 0C0AF5F7 */ jal func_802BD7DC +/* 323098 802BF548 00000000 */ nop +/* 32309C 802BF54C 3C02FFBF */ lui $v0, 0xffbf +/* 3230A0 802BF550 3442FFFF */ ori $v0, $v0, 0xffff +/* 3230A4 802BF554 8E430004 */ lw $v1, 4($s2) +/* 3230A8 802BF558 8E440000 */ lw $a0, ($s2) +/* 3230AC 802BF55C 00621824 */ and $v1, $v1, $v0 +/* 3230B0 802BF560 34840100 */ ori $a0, $a0, 0x100 +/* 3230B4 802BF564 AE430004 */ sw $v1, 4($s2) +/* 3230B8 802BF568 AE440000 */ sw $a0, ($s2) +.L802BF56C: +/* 3230BC 802BF56C 3C11802C */ lui $s1, 0x802c +/* 3230C0 802BF570 2631FF00 */ addiu $s1, $s1, -0x100 +/* 3230C4 802BF574 8E230000 */ lw $v1, ($s1) +/* 3230C8 802BF578 24020001 */ addiu $v0, $zero, 1 +/* 3230CC 802BF57C 1062005F */ beq $v1, $v0, .L802BF6FC +/* 3230D0 802BF580 28620002 */ slti $v0, $v1, 2 +/* 3230D4 802BF584 10400005 */ beqz $v0, .L802BF59C +/* 3230D8 802BF588 24020002 */ addiu $v0, $zero, 2 +/* 3230DC 802BF58C 10600007 */ beqz $v1, .L802BF5AC +/* 3230E0 802BF590 00000000 */ nop +/* 3230E4 802BF594 080AFE0E */ j .L802BF838 +/* 3230E8 802BF598 00000000 */ nop +.L802BF59C: +/* 3230EC 802BF59C 1062005D */ beq $v1, $v0, .L802BF714 +/* 3230F0 802BF5A0 00000000 */ nop +/* 3230F4 802BF5A4 080AFE0E */ j .L802BF838 +/* 3230F8 802BF5A8 00000000 */ nop +.L802BF5AC: +/* 3230FC 802BF5AC 0C0AF5F7 */ jal func_802BD7DC +/* 323100 802BF5B0 00000000 */ nop +/* 323104 802BF5B4 3C02800B */ lui $v0, %hi(gCameras) +/* 323108 802BF5B8 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 32310C 802BF5BC C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 323110 802BF5C0 3C0142B4 */ lui $at, 0x42b4 +/* 323114 802BF5C4 44813000 */ mtc1 $at, $f6 +/* 323118 802BF5C8 C444006C */ lwc1 $f4, 0x6c($v0) +/* 32311C 802BF5CC 4602303E */ c.le.s $f6, $f2 +/* 323120 802BF5D0 00000000 */ nop +/* 323124 802BF5D4 4500000E */ bc1f .L802BF610 +/* 323128 802BF5D8 00000000 */ nop +/* 32312C 802BF5DC 3C014387 */ lui $at, 0x4387 +/* 323130 802BF5E0 44810000 */ mtc1 $at, $f0 +/* 323134 802BF5E4 00000000 */ nop +/* 323138 802BF5E8 4600103C */ c.lt.s $f2, $f0 +/* 32313C 802BF5EC 00000000 */ nop +/* 323140 802BF5F0 45000007 */ bc1f .L802BF610 +/* 323144 802BF5F4 00000000 */ nop +/* 323148 802BF5F8 3C014334 */ lui $at, 0x4334 +/* 32314C 802BF5FC 44810000 */ mtc1 $at, $f0 +/* 323150 802BF600 00000000 */ nop +/* 323154 802BF604 46002000 */ add.s $f0, $f4, $f0 +/* 323158 802BF608 080AFD8B */ j .L802BF62C +/* 32315C 802BF60C 46060001 */ sub.s $f0, $f0, $f6 +.L802BF610: +/* 323160 802BF610 44800000 */ mtc1 $zero, $f0 +/* 323164 802BF614 00000000 */ nop +/* 323168 802BF618 46002000 */ add.s $f0, $f4, $f0 +/* 32316C 802BF61C 3C0142B4 */ lui $at, 0x42b4 +/* 323170 802BF620 44811000 */ mtc1 $at, $f2 +/* 323174 802BF624 00000000 */ nop +/* 323178 802BF628 46020001 */ sub.s $f0, $f0, $f2 +.L802BF62C: +/* 32317C 802BF62C E600000C */ swc1 $f0, 0xc($s0) +/* 323180 802BF630 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 323184 802BF634 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 323188 802BF638 8E060060 */ lw $a2, 0x60($s0) +/* 32318C 802BF63C 0C00A7B5 */ jal dist2D +/* 323190 802BF640 8E070068 */ lw $a3, 0x68($s0) +/* 323194 802BF644 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 323198 802BF648 C6000064 */ lwc1 $f0, 0x64($s0) +/* 32319C 802BF64C C602003C */ lwc1 $f2, 0x3c($s0) +/* 3231A0 802BF650 2402000E */ addiu $v0, $zero, 0xe +/* 3231A4 802BF654 4600103C */ c.lt.s $f2, $f0 +/* 3231A8 802BF658 00000000 */ nop +/* 3231AC 802BF65C 45000009 */ bc1f .L802BF684 +/* 3231B0 802BF660 A602008E */ sh $v0, 0x8e($s0) +/* 3231B4 802BF664 46020001 */ sub.s $f0, $f0, $f2 +/* 3231B8 802BF668 3C014160 */ lui $at, 0x4160 +/* 3231BC 802BF66C 44811000 */ mtc1 $at, $f2 +/* 3231C0 802BF670 3C0140C0 */ lui $at, 0x40c0 +/* 3231C4 802BF674 44812000 */ mtc1 $at, $f4 +/* 3231C8 802BF678 46020003 */ div.s $f0, $f0, $f2 +/* 3231CC 802BF67C 080AFDA4 */ j .L802BF690 +/* 3231D0 802BF680 46040000 */ add.s $f0, $f0, $f4 +.L802BF684: +/* 3231D4 802BF684 3C0140C0 */ lui $at, 0x40c0 +/* 3231D8 802BF688 44810000 */ mtc1 $at, $f0 +/* 3231DC 802BF68C 00000000 */ nop +.L802BF690: +/* 3231E0 802BF690 E600001C */ swc1 $f0, 0x1c($s0) +/* 3231E4 802BF694 3C013F99 */ lui $at, 0x3f99 +/* 3231E8 802BF698 3421999A */ ori $at, $at, 0x999a +/* 3231EC 802BF69C 44810000 */ mtc1 $at, $f0 +/* 3231F0 802BF6A0 8E060060 */ lw $a2, 0x60($s0) +/* 3231F4 802BF6A4 8E070068 */ lw $a3, 0x68($s0) +/* 3231F8 802BF6A8 8602008E */ lh $v0, 0x8e($s0) +/* 3231FC 802BF6AC E6000014 */ swc1 $f0, 0x14($s0) +/* 323200 802BF6B0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 323204 802BF6B4 44821000 */ mtc1 $v0, $f2 +/* 323208 802BF6B8 00000000 */ nop +/* 32320C 802BF6BC 468010A0 */ cvt.s.w $f2, $f2 +/* 323210 802BF6C0 46020003 */ div.s $f0, $f0, $f2 +/* 323214 802BF6C4 E6000018 */ swc1 $f0, 0x18($s0) +/* 323218 802BF6C8 C64C0028 */ lwc1 $f12, 0x28($s2) +/* 32321C 802BF6CC 0C00A720 */ jal atan2 +/* 323220 802BF6D0 C64E0030 */ lwc1 $f14, 0x30($s2) +/* 323224 802BF6D4 3C040001 */ lui $a0, 1 +/* 323228 802BF6D8 34840006 */ ori $a0, $a0, 6 +/* 32322C 802BF6DC 0C037FBF */ jal func_800DFEFC +/* 323230 802BF6E0 E600000C */ swc1 $f0, 0xc($s0) +/* 323234 802BF6E4 3C03802C */ lui $v1, 0x802c +/* 323238 802BF6E8 2463FF00 */ addiu $v1, $v1, -0x100 +/* 32323C 802BF6EC 8C620000 */ lw $v0, ($v1) +/* 323240 802BF6F0 24420001 */ addiu $v0, $v0, 1 +/* 323244 802BF6F4 080AFE0E */ j .L802BF838 +/* 323248 802BF6F8 AC620000 */ sw $v0, ($v1) +.L802BF6FC: +/* 32324C 802BF6FC 3C040001 */ lui $a0, 1 +/* 323250 802BF700 0C037FBF */ jal func_800DFEFC +/* 323254 802BF704 34840007 */ ori $a0, $a0, 7 +/* 323258 802BF708 8E220000 */ lw $v0, ($s1) +/* 32325C 802BF70C 24420001 */ addiu $v0, $v0, 1 +/* 323260 802BF710 AE220000 */ sw $v0, ($s1) +.L802BF714: +/* 323264 802BF714 C640002C */ lwc1 $f0, 0x2c($s2) +/* 323268 802BF718 C602001C */ lwc1 $f2, 0x1c($s0) +/* 32326C 802BF71C 46020000 */ add.s $f0, $f0, $f2 +/* 323270 802BF720 26440028 */ addiu $a0, $s2, 0x28 +/* 323274 802BF724 E640002C */ swc1 $f0, 0x2c($s2) +/* 323278 802BF728 C600001C */ lwc1 $f0, 0x1c($s0) +/* 32327C 802BF72C C6020014 */ lwc1 $f2, 0x14($s0) +/* 323280 802BF730 8E060018 */ lw $a2, 0x18($s0) +/* 323284 802BF734 46020001 */ sub.s $f0, $f0, $f2 +/* 323288 802BF738 8E07000C */ lw $a3, 0xc($s0) +/* 32328C 802BF73C 26450030 */ addiu $a1, $s2, 0x30 +/* 323290 802BF740 0C00A7E7 */ jal add_vec2D_polar +/* 323294 802BF744 E600001C */ swc1 $f0, 0x1c($s0) +/* 323298 802BF748 0C0392B6 */ jal func_800E4AD8 +/* 32329C 802BF74C 0000202D */ daddu $a0, $zero, $zero +/* 3232A0 802BF750 C602001C */ lwc1 $f2, 0x1c($s0) +/* 3232A4 802BF754 44800000 */ mtc1 $zero, $f0 +/* 3232A8 802BF758 00000000 */ nop +/* 3232AC 802BF75C 4600103E */ c.le.s $f2, $f0 +/* 3232B0 802BF760 00000000 */ nop +/* 3232B4 802BF764 45000011 */ bc1f .L802BF7AC +/* 3232B8 802BF768 0000202D */ daddu $a0, $zero, $zero +/* 3232BC 802BF76C 8E420000 */ lw $v0, ($s2) +/* 3232C0 802BF770 34420004 */ ori $v0, $v0, 4 +/* 3232C4 802BF774 AE420000 */ sw $v0, ($s2) +/* 3232C8 802BF778 C600001C */ lwc1 $f0, 0x1c($s0) +/* 3232CC 802BF77C 3C01C024 */ lui $at, 0xc024 +/* 3232D0 802BF780 44811800 */ mtc1 $at, $f3 +/* 3232D4 802BF784 44801000 */ mtc1 $zero, $f2 +/* 3232D8 802BF788 46000021 */ cvt.d.s $f0, $f0 +/* 3232DC 802BF78C 4622003C */ c.lt.d $f0, $f2 +/* 3232E0 802BF790 00000000 */ nop +/* 3232E4 802BF794 45000005 */ bc1f .L802BF7AC +/* 3232E8 802BF798 00000000 */ nop +/* 3232EC 802BF79C 3C01C120 */ lui $at, 0xc120 +/* 3232F0 802BF7A0 44810000 */ mtc1 $at, $f0 +/* 3232F4 802BF7A4 00000000 */ nop +/* 3232F8 802BF7A8 E600001C */ swc1 $f0, 0x1c($s0) +.L802BF7AC: +/* 3232FC 802BF7AC C6420028 */ lwc1 $f2, 0x28($s2) +/* 323300 802BF7B0 864200B0 */ lh $v0, 0xb0($s2) +/* 323304 802BF7B4 C6400030 */ lwc1 $f0, 0x30($s2) +/* 323308 802BF7B8 27A50020 */ addiu $a1, $sp, 0x20 +/* 32330C 802BF7BC E7A00028 */ swc1 $f0, 0x28($sp) +/* 323310 802BF7C0 44820000 */ mtc1 $v0, $f0 +/* 323314 802BF7C4 00000000 */ nop +/* 323318 802BF7C8 46800020 */ cvt.s.w $f0, $f0 +/* 32331C 802BF7CC E7A20020 */ swc1 $f2, 0x20($sp) +/* 323320 802BF7D0 C642002C */ lwc1 $f2, 0x2c($s2) +/* 323324 802BF7D4 864200B0 */ lh $v0, 0xb0($s2) +/* 323328 802BF7D8 46001080 */ add.s $f2, $f2, $f0 +/* 32332C 802BF7DC 44820000 */ mtc1 $v0, $f0 +/* 323330 802BF7E0 00000000 */ nop +/* 323334 802BF7E4 46800020 */ cvt.s.w $f0, $f0 +/* 323338 802BF7E8 27A2002C */ addiu $v0, $sp, 0x2c +/* 32333C 802BF7EC E7A0002C */ swc1 $f0, 0x2c($sp) +/* 323340 802BF7F0 E7A20024 */ swc1 $f2, 0x24($sp) +/* 323344 802BF7F4 AFA20010 */ sw $v0, 0x10($sp) +/* 323348 802BF7F8 C600000C */ lwc1 $f0, 0xc($s0) +/* 32334C 802BF7FC 27A60024 */ addiu $a2, $sp, 0x24 +/* 323350 802BF800 E7A00014 */ swc1 $f0, 0x14($sp) +/* 323354 802BF804 860200A6 */ lh $v0, 0xa6($s0) +/* 323358 802BF808 27A70028 */ addiu $a3, $sp, 0x28 +/* 32335C 802BF80C 44820000 */ mtc1 $v0, $f0 +/* 323360 802BF810 00000000 */ nop +/* 323364 802BF814 46800020 */ cvt.s.w $f0, $f0 +/* 323368 802BF818 0C0371DE */ jal func_800DC778 +/* 32336C 802BF81C E7A00018 */ swc1 $f0, 0x18($sp) +/* 323370 802BF820 10400005 */ beqz $v0, .L802BF838 +/* 323374 802BF824 24020003 */ addiu $v0, $zero, 3 +/* 323378 802BF828 C7A00024 */ lwc1 $f0, 0x24($sp) +/* 32337C 802BF82C 3C01802C */ lui $at, 0x802c +/* 323380 802BF830 AC22FF00 */ sw $v0, -0x100($at) +/* 323384 802BF834 E640002C */ swc1 $f0, 0x2c($s2) +.L802BF838: +/* 323388 802BF838 3C02800B */ lui $v0, %hi(gCameras) +/* 32338C 802BF83C 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 323390 802BF840 C6400028 */ lwc1 $f0, 0x28($s2) +/* 323394 802BF844 C642002C */ lwc1 $f2, 0x2c($s2) +/* 323398 802BF848 C6440030 */ lwc1 $f4, 0x30($s2) +/* 32339C 802BF84C 3C11802C */ lui $s1, 0x802c +/* 3233A0 802BF850 2631FF00 */ addiu $s1, $s1, -0x100 +/* 3233A4 802BF854 E4400060 */ swc1 $f0, 0x60($v0) +/* 3233A8 802BF858 E4420064 */ swc1 $f2, 0x64($v0) +/* 3233AC 802BF85C E4440068 */ swc1 $f4, 0x68($v0) +/* 3233B0 802BF860 8E230000 */ lw $v1, ($s1) +/* 3233B4 802BF864 24020004 */ addiu $v0, $zero, 4 +/* 3233B8 802BF868 10620041 */ beq $v1, $v0, .L802BF970 +/* 3233BC 802BF86C 28620005 */ slti $v0, $v1, 5 +/* 3233C0 802BF870 10400005 */ beqz $v0, .L802BF888 +/* 3233C4 802BF874 24020003 */ addiu $v0, $zero, 3 +/* 3233C8 802BF878 10620008 */ beq $v1, $v0, .L802BF89C +/* 3233CC 802BF87C 0000102D */ daddu $v0, $zero, $zero +/* 3233D0 802BF880 080AFE79 */ j .L802BF9E4 +/* 3233D4 802BF884 00000000 */ nop +.L802BF888: +/* 3233D8 802BF888 24020005 */ addiu $v0, $zero, 5 +/* 3233DC 802BF88C 1062004F */ beq $v1, $v0, .L802BF9CC +/* 3233E0 802BF890 00000000 */ nop +/* 3233E4 802BF894 080AFE79 */ j .L802BF9E4 +/* 3233E8 802BF898 0000102D */ daddu $v0, $zero, $zero +.L802BF89C: +/* 3233EC 802BF89C 2402FFB7 */ addiu $v0, $zero, -0x49 +/* 3233F0 802BF8A0 3C05802C */ lui $a1, 0x802c +/* 3233F4 802BF8A4 24A5FF08 */ addiu $a1, $a1, -0xf8 +/* 3233F8 802BF8A8 8E030000 */ lw $v1, ($s0) +/* 3233FC 802BF8AC 8CA40000 */ lw $a0, ($a1) +/* 323400 802BF8B0 00621824 */ and $v1, $v1, $v0 +/* 323404 802BF8B4 10800003 */ beqz $a0, .L802BF8C4 +/* 323408 802BF8B8 AE030000 */ sw $v1, ($s0) +/* 32340C 802BF8BC 0C038050 */ jal enable_player_static_collisions +/* 323410 802BF8C0 ACA00000 */ sw $zero, ($a1) +.L802BF8C4: +/* 323414 802BF8C4 0C03802C */ jal enable_player_shadow +/* 323418 802BF8C8 00000000 */ nop +/* 32341C 802BF8CC 8E420000 */ lw $v0, ($s2) +/* 323420 802BF8D0 30420800 */ andi $v0, $v0, 0x800 +/* 323424 802BF8D4 10400014 */ beqz $v0, .L802BF928 +/* 323428 802BF8D8 00000000 */ nop +/* 32342C 802BF8DC 3C03802C */ lui $v1, 0x802c +/* 323430 802BF8E0 2463FF04 */ addiu $v1, $v1, -0xfc +/* 323434 802BF8E4 8C620000 */ lw $v0, ($v1) +/* 323438 802BF8E8 A2600003 */ sb $zero, 3($s3) +/* 32343C 802BF8EC 10400003 */ beqz $v0, .L802BF8FC +/* 323440 802BF8F0 A2600000 */ sb $zero, ($s3) +/* 323444 802BF8F4 0C038069 */ jal enable_player_input +/* 323448 802BF8F8 AC600000 */ sw $zero, ($v1) +.L802BF8FC: +/* 32344C 802BF8FC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 323450 802BF900 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 323454 802BF904 A040007D */ sb $zero, 0x7d($v0) +/* 323458 802BF908 3C01802C */ lui $at, 0x802c +/* 32345C 802BF90C AC20FF0C */ sw $zero, -0xf4($at) +/* 323460 802BF910 0C03BD17 */ jal clear_partner_move_history +/* 323464 802BF914 0200202D */ daddu $a0, $s0, $zero +/* 323468 802BF918 0C039769 */ jal set_action_state +/* 32346C 802BF91C 24040015 */ addiu $a0, $zero, 0x15 +/* 323470 802BF920 080AFE79 */ j .L802BF9E4 +/* 323474 802BF924 24020001 */ addiu $v0, $zero, 1 +.L802BF928: +/* 323478 802BF928 3C02802C */ lui $v0, 0x802c +/* 32347C 802BF92C 8C42FF0C */ lw $v0, -0xf4($v0) +/* 323480 802BF930 14400005 */ bnez $v0, .L802BF948 +/* 323484 802BF934 00000000 */ nop +/* 323488 802BF938 0C0391D1 */ jal func_800E4744 +/* 32348C 802BF93C 00000000 */ nop +/* 323490 802BF940 080AFE56 */ j .L802BF958 +/* 323494 802BF944 00000000 */ nop +.L802BF948: +/* 323498 802BF948 0C039769 */ jal set_action_state +/* 32349C 802BF94C 24040008 */ addiu $a0, $zero, 8 +/* 3234A0 802BF950 0C038C1B */ jal gravity_use_fall_parms +/* 3234A4 802BF954 00000000 */ nop +.L802BF958: +/* 3234A8 802BF958 3C03802C */ lui $v1, 0x802c +/* 3234AC 802BF95C 2463FF00 */ addiu $v1, $v1, -0x100 +/* 3234B0 802BF960 8C620000 */ lw $v0, ($v1) +/* 3234B4 802BF964 24420001 */ addiu $v0, $v0, 1 +/* 3234B8 802BF968 080AFE78 */ j .L802BF9E0 +/* 3234BC 802BF96C AC620000 */ sw $v0, ($v1) +.L802BF970: +/* 3234C0 802BF970 2402FEFF */ addiu $v0, $zero, -0x101 +/* 3234C4 802BF974 3C05802C */ lui $a1, 0x802c +/* 3234C8 802BF978 24A5FF04 */ addiu $a1, $a1, -0xfc +/* 3234CC 802BF97C A2600003 */ sb $zero, 3($s3) +/* 3234D0 802BF980 A2600000 */ sb $zero, ($s3) +/* 3234D4 802BF984 8E430000 */ lw $v1, ($s2) +/* 3234D8 802BF988 8CA40000 */ lw $a0, ($a1) +/* 3234DC 802BF98C 00621824 */ and $v1, $v1, $v0 +/* 3234E0 802BF990 10800003 */ beqz $a0, .L802BF9A0 +/* 3234E4 802BF994 AE430000 */ sw $v1, ($s2) +/* 3234E8 802BF998 0C038069 */ jal enable_player_input +/* 3234EC 802BF99C ACA00000 */ sw $zero, ($a1) +.L802BF9A0: +/* 3234F0 802BF9A0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 3234F4 802BF9A4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 3234F8 802BF9A8 A040007D */ sb $zero, 0x7d($v0) +/* 3234FC 802BF9AC 3C01802C */ lui $at, 0x802c +/* 323500 802BF9B0 AC20FF0C */ sw $zero, -0xf4($at) +/* 323504 802BF9B4 0C03BD17 */ jal clear_partner_move_history +/* 323508 802BF9B8 0200202D */ daddu $a0, $s0, $zero +/* 32350C 802BF9BC 8E220000 */ lw $v0, ($s1) +/* 323510 802BF9C0 24420001 */ addiu $v0, $v0, 1 +/* 323514 802BF9C4 080AFE78 */ j .L802BF9E0 +/* 323518 802BF9C8 AE220000 */ sw $v0, ($s1) +.L802BF9CC: +/* 32351C 802BF9CC 0C03BA6E */ jal func_800EE9B8 +/* 323520 802BF9D0 0200202D */ daddu $a0, $s0, $zero +/* 323524 802BF9D4 0040182D */ daddu $v1, $v0, $zero +/* 323528 802BF9D8 14600002 */ bnez $v1, .L802BF9E4 +/* 32352C 802BF9DC 24020001 */ addiu $v0, $zero, 1 +.L802BF9E0: +/* 323530 802BF9E0 0000102D */ daddu $v0, $zero, $zero +.L802BF9E4: +/* 323534 802BF9E4 8FBF0040 */ lw $ra, 0x40($sp) +/* 323538 802BF9E8 8FB3003C */ lw $s3, 0x3c($sp) +/* 32353C 802BF9EC 8FB20038 */ lw $s2, 0x38($sp) +/* 323540 802BF9F0 8FB10034 */ lw $s1, 0x34($sp) +/* 323544 802BF9F4 8FB00030 */ lw $s0, 0x30($sp) +/* 323548 802BF9F8 03E00008 */ jr $ra +/* 32354C 802BF9FC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_320C50/func_802BFA00.s b/asm/nonmatchings/code_320C50/func_802BFA00.s new file mode 100644 index 0000000000..469c543442 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BFA00.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFA00 +/* 323550 802BFA00 3C02802C */ lui $v0, 0x802c +/* 323554 802BFA04 8C42FF0C */ lw $v0, -0xf4($v0) +/* 323558 802BFA08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32355C 802BFA0C AFB00010 */ sw $s0, 0x10($sp) +/* 323560 802BFA10 0080802D */ daddu $s0, $a0, $zero +/* 323564 802BFA14 AFB10014 */ sw $s1, 0x14($sp) +/* 323568 802BFA18 3C118011 */ lui $s1, %hi(D_8010EBB0) +/* 32356C 802BFA1C 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0) +/* 323570 802BFA20 10400018 */ beqz $v0, .L802BFA84 +/* 323574 802BFA24 AFBF0018 */ sw $ra, 0x18($sp) +/* 323578 802BFA28 26230018 */ addiu $v1, $s1, 0x18 +/* 32357C 802BFA2C 0200102D */ daddu $v0, $s0, $zero +/* 323580 802BFA30 26040340 */ addiu $a0, $s0, 0x340 +.L802BFA34: +/* 323584 802BFA34 8C450000 */ lw $a1, ($v0) +/* 323588 802BFA38 8C460004 */ lw $a2, 4($v0) +/* 32358C 802BFA3C 8C470008 */ lw $a3, 8($v0) +/* 323590 802BFA40 8C48000C */ lw $t0, 0xc($v0) +/* 323594 802BFA44 AC650000 */ sw $a1, ($v1) +/* 323598 802BFA48 AC660004 */ sw $a2, 4($v1) +/* 32359C 802BFA4C AC670008 */ sw $a3, 8($v1) +/* 3235A0 802BFA50 AC68000C */ sw $t0, 0xc($v1) +/* 3235A4 802BFA54 24420010 */ addiu $v0, $v0, 0x10 +/* 3235A8 802BFA58 1444FFF6 */ bne $v0, $a0, .L802BFA34 +/* 3235AC 802BFA5C 24630010 */ addiu $v1, $v1, 0x10 +/* 3235B0 802BFA60 24020001 */ addiu $v0, $zero, 1 +/* 3235B4 802BFA64 0C038050 */ jal enable_player_static_collisions +/* 3235B8 802BFA68 A2220001 */ sb $v0, 1($s1) +/* 3235BC 802BFA6C 0C038069 */ jal enable_player_input +/* 3235C0 802BFA70 00000000 */ nop +/* 3235C4 802BFA74 0C039769 */ jal set_action_state +/* 3235C8 802BFA78 0000202D */ daddu $a0, $zero, $zero +/* 3235CC 802BFA7C 0C03BD17 */ jal clear_partner_move_history +/* 3235D0 802BFA80 0200202D */ daddu $a0, $s0, $zero +.L802BFA84: +/* 3235D4 802BFA84 24020008 */ addiu $v0, $zero, 8 +/* 3235D8 802BFA88 A2220003 */ sb $v0, 3($s1) +/* 3235DC 802BFA8C 8FBF0018 */ lw $ra, 0x18($sp) +/* 3235E0 802BFA90 8FB10014 */ lw $s1, 0x14($sp) +/* 3235E4 802BFA94 8FB00010 */ lw $s0, 0x10($sp) +/* 3235E8 802BFA98 3C01802C */ lui $at, 0x802c +/* 3235EC 802BFA9C AC20FF18 */ sw $zero, -0xe8($at) +/* 3235F0 802BFAA0 03E00008 */ jr $ra +/* 3235F4 802BFAA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_320C50/func_802BFAA8.s b/asm/nonmatchings/code_320C50/func_802BFAA8.s new file mode 100644 index 0000000000..2e21b504c2 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BFAA8.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFAA8 +/* 3235F8 802BFAA8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3235FC 802BFAAC AFB00010 */ sw $s0, 0x10($sp) +/* 323600 802BFAB0 3C108011 */ lui $s0, %hi(D_8010EBB0) +/* 323604 802BFAB4 2610EBB0 */ addiu $s0, $s0, %lo(D_8010EBB0) +/* 323608 802BFAB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 32360C 802BFABC 82020001 */ lb $v0, 1($s0) +/* 323610 802BFAC0 1040001C */ beqz $v0, .L802BFB34 +/* 323614 802BFAC4 00000000 */ nop +/* 323618 802BFAC8 3C02802C */ lui $v0, 0x802c +/* 32361C 802BFACC 8C42FF0C */ lw $v0, -0xf4($v0) +/* 323620 802BFAD0 10400018 */ beqz $v0, .L802BFB34 +/* 323624 802BFAD4 26020018 */ addiu $v0, $s0, 0x18 +/* 323628 802BFAD8 26030358 */ addiu $v1, $s0, 0x358 +.L802BFADC: +/* 32362C 802BFADC 8C450000 */ lw $a1, ($v0) +/* 323630 802BFAE0 8C460004 */ lw $a2, 4($v0) +/* 323634 802BFAE4 8C470008 */ lw $a3, 8($v0) +/* 323638 802BFAE8 8C48000C */ lw $t0, 0xc($v0) +/* 32363C 802BFAEC AC850000 */ sw $a1, ($a0) +/* 323640 802BFAF0 AC860004 */ sw $a2, 4($a0) +/* 323644 802BFAF4 AC870008 */ sw $a3, 8($a0) +/* 323648 802BFAF8 AC88000C */ sw $t0, 0xc($a0) +/* 32364C 802BFAFC 24420010 */ addiu $v0, $v0, 0x10 +/* 323650 802BFB00 1443FFF6 */ bne $v0, $v1, .L802BFADC +/* 323654 802BFB04 24840010 */ addiu $a0, $a0, 0x10 +/* 323658 802BFB08 24020001 */ addiu $v0, $zero, 1 +/* 32365C 802BFB0C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 323660 802BFB10 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 323664 802BFB14 24040021 */ addiu $a0, $zero, 0x21 +/* 323668 802BFB18 0C039769 */ jal set_action_state +/* 32366C 802BFB1C A062007D */ sb $v0, 0x7d($v1) +/* 323670 802BFB20 A2000003 */ sb $zero, 3($s0) +/* 323674 802BFB24 0C03805E */ jal disable_player_input +/* 323678 802BFB28 A2000000 */ sb $zero, ($s0) +/* 32367C 802BFB2C 0C03ACC5 */ jal partner_use_ability +/* 323680 802BFB30 00000000 */ nop +.L802BFB34: +/* 323684 802BFB34 8FBF0014 */ lw $ra, 0x14($sp) +/* 323688 802BFB38 8FB00010 */ lw $s0, 0x10($sp) +/* 32368C 802BFB3C 03E00008 */ jr $ra +/* 323690 802BFB40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_320C50/func_802BFB44.s b/asm/nonmatchings/code_320C50/func_802BFB44.s new file mode 100644 index 0000000000..d25db3cdfc --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BFB44.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFB44 +/* 323694 802BFB44 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 323698 802BFB48 3C058011 */ lui $a1, %hi(gPlayerStatus) +/* 32369C 802BFB4C 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus) +/* 3236A0 802BFB50 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3236A4 802BFB54 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3236A8 802BFB58 44066000 */ mfc1 $a2, $f12 +/* 3236AC 802BFB5C 24A40028 */ addiu $a0, $a1, 0x28 +/* 3236B0 802BFB60 AFBF0010 */ sw $ra, 0x10($sp) +/* 3236B4 802BFB64 00031080 */ sll $v0, $v1, 2 +/* 3236B8 802BFB68 00431021 */ addu $v0, $v0, $v1 +/* 3236BC 802BFB6C 00021080 */ sll $v0, $v0, 2 +/* 3236C0 802BFB70 00431023 */ subu $v0, $v0, $v1 +/* 3236C4 802BFB74 000218C0 */ sll $v1, $v0, 3 +/* 3236C8 802BFB78 00431021 */ addu $v0, $v0, $v1 +/* 3236CC 802BFB7C 000210C0 */ sll $v0, $v0, 3 +/* 3236D0 802BFB80 3C07800B */ lui $a3, 0x800b +/* 3236D4 802BFB84 00E23821 */ addu $a3, $a3, $v0 +/* 3236D8 802BFB88 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 3236DC 802BFB8C 0C00A7E7 */ jal add_vec2D_polar +/* 3236E0 802BFB90 24A50030 */ addiu $a1, $a1, 0x30 +/* 3236E4 802BFB94 8FBF0010 */ lw $ra, 0x10($sp) +/* 3236E8 802BFB98 03E00008 */ jr $ra +/* 3236EC 802BFB9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_320C50/func_802BFBA0.s b/asm/nonmatchings/code_320C50/func_802BFBA0.s new file mode 100644 index 0000000000..9bd24a8c78 --- /dev/null +++ b/asm/nonmatchings/code_320C50/func_802BFBA0.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BFBA0 +/* 3236F0 802BFBA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3236F4 802BFBA4 AFB3001C */ sw $s3, 0x1c($sp) +/* 3236F8 802BFBA8 0080982D */ daddu $s3, $a0, $zero +/* 3236FC 802BFBAC AFB00010 */ sw $s0, 0x10($sp) +/* 323700 802BFBB0 00A0802D */ daddu $s0, $a1, $zero +/* 323704 802BFBB4 2404FFFC */ addiu $a0, $zero, -4 +/* 323708 802BFBB8 AFBF0024 */ sw $ra, 0x24($sp) +/* 32370C 802BFBBC AFB40020 */ sw $s4, 0x20($sp) +/* 323710 802BFBC0 AFB20018 */ sw $s2, 0x18($sp) +/* 323714 802BFBC4 0C00EABB */ jal get_npc_unsafe +/* 323718 802BFBC8 AFB10014 */ sw $s1, 0x14($sp) +/* 32371C 802BFBCC 3C148011 */ lui $s4, %hi(D_8010EBB0) +/* 323720 802BFBD0 2694EBB0 */ addiu $s4, $s4, %lo(D_8010EBB0) +/* 323724 802BFBD4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 323728 802BFBD8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 32372C 802BFBDC 12000002 */ beqz $s0, .L802BFBE8 +/* 323730 802BFBE0 0040882D */ daddu $s1, $v0, $zero +/* 323734 802BFBE4 AE600070 */ sw $zero, 0x70($s3) +.L802BFBE8: +/* 323738 802BFBE8 8E700070 */ lw $s0, 0x70($s3) +/* 32373C 802BFBEC 12000005 */ beqz $s0, .L802BFC04 +/* 323740 802BFBF0 24020001 */ addiu $v0, $zero, 1 +/* 323744 802BFBF4 1202006A */ beq $s0, $v0, .L802BFDA0 +/* 323748 802BFBF8 0000102D */ daddu $v0, $zero, $zero +/* 32374C 802BFBFC 080AFF8D */ j .L802BFE34 +/* 323750 802BFC00 00000000 */ nop +.L802BFC04: +/* 323754 802BFC04 8E6200B4 */ lw $v0, 0xb4($s3) +/* 323758 802BFC08 1440000F */ bnez $v0, .L802BFC48 +/* 32375C 802BFC0C 00000000 */ nop +/* 323760 802BFC10 C6400028 */ lwc1 $f0, 0x28($s2) +/* 323764 802BFC14 3C014120 */ lui $at, 0x4120 +/* 323768 802BFC18 44811000 */ mtc1 $at, $f2 +/* 32376C 802BFC1C E6200038 */ swc1 $f0, 0x38($s1) +/* 323770 802BFC20 E6200060 */ swc1 $f0, 0x60($s1) +/* 323774 802BFC24 C620003C */ lwc1 $f0, 0x3c($s1) +/* 323778 802BFC28 C6440030 */ lwc1 $f4, 0x30($s2) +/* 32377C 802BFC2C 46020000 */ add.s $f0, $f0, $f2 +/* 323780 802BFC30 E6240040 */ swc1 $f4, 0x40($s1) +/* 323784 802BFC34 E6240068 */ swc1 $f4, 0x68($s1) +/* 323788 802BFC38 0C03ADF3 */ jal partner_kill_ability_script +/* 32378C 802BFC3C E640002C */ swc1 $f0, 0x2c($s2) +/* 323790 802BFC40 080AFF25 */ j .L802BFC94 +/* 323794 802BFC44 00000000 */ nop +.L802BFC48: +/* 323798 802BFC48 0C039769 */ jal set_action_state +/* 32379C 802BFC4C 24040021 */ addiu $a0, $zero, 0x21 +/* 3237A0 802BFC50 0C038045 */ jal disable_player_static_collisions +/* 3237A4 802BFC54 00000000 */ nop +/* 3237A8 802BFC58 0C03805E */ jal disable_player_input +/* 3237AC 802BFC5C 00000000 */ nop +/* 3237B0 802BFC60 C6400028 */ lwc1 $f0, 0x28($s2) +/* 3237B4 802BFC64 3C014120 */ lui $at, 0x4120 +/* 3237B8 802BFC68 44811000 */ mtc1 $at, $f2 +/* 3237BC 802BFC6C E6200038 */ swc1 $f0, 0x38($s1) +/* 3237C0 802BFC70 E6200060 */ swc1 $f0, 0x60($s1) +/* 3237C4 802BFC74 C640002C */ lwc1 $f0, 0x2c($s2) +/* 3237C8 802BFC78 E620003C */ swc1 $f0, 0x3c($s1) +/* 3237CC 802BFC7C E6200064 */ swc1 $f0, 0x64($s1) +/* 3237D0 802BFC80 C6440030 */ lwc1 $f4, 0x30($s2) +/* 3237D4 802BFC84 46020000 */ add.s $f0, $f0, $f2 +/* 3237D8 802BFC88 E6240040 */ swc1 $f4, 0x40($s1) +/* 3237DC 802BFC8C E6240068 */ swc1 $f4, 0x68($s1) +/* 3237E0 802BFC90 E640002C */ swc1 $f0, 0x2c($s2) +.L802BFC94: +/* 3237E4 802BFC94 C6660088 */ lwc1 $f6, 0x88($s3) +/* 3237E8 802BFC98 468031A0 */ cvt.s.w $f6, $f6 +/* 3237EC 802BFC9C 44063000 */ mfc1 $a2, $f6 +/* 3237F0 802BFCA0 C6660090 */ lwc1 $f6, 0x90($s3) +/* 3237F4 802BFCA4 468031A0 */ cvt.s.w $f6, $f6 +/* 3237F8 802BFCA8 8E620094 */ lw $v0, 0x94($s3) +/* 3237FC 802BFCAC 44073000 */ mfc1 $a3, $f6 +/* 323800 802BFCB0 AE620074 */ sw $v0, 0x74($s3) +/* 323804 802BFCB4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 323808 802BFCB8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 32380C 802BFCBC 0C00A720 */ jal atan2 +/* 323810 802BFCC0 26700098 */ addiu $s0, $s3, 0x98 +/* 323814 802BFCC4 46000086 */ mov.s $f2, $f0 +/* 323818 802BFCC8 E622000C */ swc1 $f2, 0xc($s1) +/* 32381C 802BFCCC 8E6200B4 */ lw $v0, 0xb4($s3) +/* 323820 802BFCD0 10400014 */ beqz $v0, .L802BFD24 +/* 323824 802BFCD4 24040295 */ addiu $a0, $zero, 0x295 +/* 323828 802BFCD8 44800000 */ mtc1 $zero, $f0 +/* 32382C 802BFCDC 00000000 */ nop +/* 323830 802BFCE0 4602003E */ c.le.s $f0, $f2 +/* 323834 802BFCE4 00000000 */ nop +/* 323838 802BFCE8 4500000F */ bc1f .L802BFD28 +/* 32383C 802BFCEC 0000282D */ daddu $a1, $zero, $zero +/* 323840 802BFCF0 3C014334 */ lui $at, 0x4334 +/* 323844 802BFCF4 44810000 */ mtc1 $at, $f0 +/* 323848 802BFCF8 00000000 */ nop +/* 32384C 802BFCFC 4600103E */ c.le.s $f2, $f0 +/* 323850 802BFD00 00000000 */ nop +/* 323854 802BFD04 45000008 */ bc1f .L802BFD28 +/* 323858 802BFD08 00000000 */ nop +/* 32385C 802BFD0C 4600118D */ trunc.w.s $f6, $f2 +/* 323860 802BFD10 44023000 */ mfc1 $v0, $f6 +/* 323864 802BFD14 00000000 */ nop +/* 323868 802BFD18 A622008A */ sh $v0, 0x8a($s1) +/* 32386C 802BFD1C 24020001 */ addiu $v0, $zero, 1 +/* 323870 802BFD20 A6220088 */ sh $v0, 0x88($s1) +.L802BFD24: +/* 323874 802BFD24 0000282D */ daddu $a1, $zero, $zero +.L802BFD28: +/* 323878 802BFD28 0C052742 */ jal play_sound_at_npc +/* 32387C 802BFD2C 2406FFFC */ addiu $a2, $zero, -4 +/* 323880 802BFD30 3C020008 */ lui $v0, 8 +/* 323884 802BFD34 3C014000 */ lui $at, 0x4000 +/* 323888 802BFD38 44816000 */ mtc1 $at, $f12 +/* 32388C 802BFD3C 3442000E */ ori $v0, $v0, 0xe +/* 323890 802BFD40 AE4200B8 */ sw $v0, 0xb8($s2) +/* 323894 802BFD44 8E420000 */ lw $v0, ($s2) +/* 323898 802BFD48 3C031000 */ lui $v1, 0x1000 +/* 32389C 802BFD4C A64000BC */ sh $zero, 0xbc($s2) +/* 3238A0 802BFD50 00431025 */ or $v0, $v0, $v1 +/* 3238A4 802BFD54 0C0AFED1 */ jal func_802BFB44 +/* 3238A8 802BFD58 AE420000 */ sw $v0, ($s2) +/* 3238AC 802BFD5C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 3238B0 802BFD60 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 3238B4 802BFD64 24020001 */ addiu $v0, $zero, 1 +/* 3238B8 802BFD68 A062007D */ sb $v0, 0x7d($v1) +/* 3238BC 802BFD6C 8E220000 */ lw $v0, ($s1) +/* 3238C0 802BFD70 34420100 */ ori $v0, $v0, 0x100 +/* 3238C4 802BFD74 AE220000 */ sw $v0, ($s1) +/* 3238C8 802BFD78 C6000000 */ lwc1 $f0, ($s0) +/* 3238CC 802BFD7C 24020001 */ addiu $v0, $zero, 1 +/* 3238D0 802BFD80 AE200014 */ sw $zero, 0x14($s1) +/* 3238D4 802BFD84 3C01802C */ lui $at, 0x802c +/* 3238D8 802BFD88 AC20FF10 */ sw $zero, -0xf0($at) +/* 3238DC 802BFD8C 3C01802C */ lui $at, 0x802c +/* 3238E0 802BFD90 AC20FF18 */ sw $zero, -0xe8($at) +/* 3238E4 802BFD94 E6200018 */ swc1 $f0, 0x18($s1) +/* 3238E8 802BFD98 080AFF8C */ j .L802BFE30 +/* 3238EC 802BFD9C AE620070 */ sw $v0, 0x70($s3) +.L802BFDA0: +/* 3238F0 802BFDA0 8E250018 */ lw $a1, 0x18($s1) +/* 3238F4 802BFDA4 8E26000C */ lw $a2, 0xc($s1) +/* 3238F8 802BFDA8 0C00EA95 */ jal npc_move_heading +/* 3238FC 802BFDAC 0220202D */ daddu $a0, $s1, $zero +/* 323900 802BFDB0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 323904 802BFDB4 3C014120 */ lui $at, 0x4120 +/* 323908 802BFDB8 44811000 */ mtc1 $at, $f2 +/* 32390C 802BFDBC E6400028 */ swc1 $f0, 0x28($s2) +/* 323910 802BFDC0 C620003C */ lwc1 $f0, 0x3c($s1) +/* 323914 802BFDC4 46020000 */ add.s $f0, $f0, $f2 +/* 323918 802BFDC8 3C014000 */ lui $at, 0x4000 +/* 32391C 802BFDCC 44816000 */ mtc1 $at, $f12 +/* 323920 802BFDD0 E640002C */ swc1 $f0, 0x2c($s2) +/* 323924 802BFDD4 C6200040 */ lwc1 $f0, 0x40($s1) +/* 323928 802BFDD8 E6400030 */ swc1 $f0, 0x30($s2) +/* 32392C 802BFDDC C620000C */ lwc1 $f0, 0xc($s1) +/* 323930 802BFDE0 0C0AFED1 */ jal func_802BFB44 +/* 323934 802BFDE4 E6400080 */ swc1 $f0, 0x80($s2) +/* 323938 802BFDE8 8E620074 */ lw $v0, 0x74($s3) +/* 32393C 802BFDEC 2442FFFF */ addiu $v0, $v0, -1 +/* 323940 802BFDF0 1440000F */ bnez $v0, .L802BFE30 +/* 323944 802BFDF4 AE620074 */ sw $v0, 0x74($s3) +/* 323948 802BFDF8 8E6200B4 */ lw $v0, 0xb4($s3) +/* 32394C 802BFDFC 1040000A */ beqz $v0, .L802BFE28 +/* 323950 802BFE00 24040021 */ addiu $a0, $zero, 0x21 +/* 323954 802BFE04 0C039769 */ jal set_action_state +/* 323958 802BFE08 A2900001 */ sb $s0, 1($s4) +/* 32395C 802BFE0C A2800003 */ sb $zero, 3($s4) +/* 323960 802BFE10 0C03ACC5 */ jal partner_use_ability +/* 323964 802BFE14 A2800000 */ sb $zero, ($s4) +/* 323968 802BFE18 0C038050 */ jal enable_player_static_collisions +/* 32396C 802BFE1C 00000000 */ nop +/* 323970 802BFE20 0C038069 */ jal enable_player_input +/* 323974 802BFE24 00000000 */ nop +.L802BFE28: +/* 323978 802BFE28 080AFF8D */ j .L802BFE34 +/* 32397C 802BFE2C 24020002 */ addiu $v0, $zero, 2 +.L802BFE30: +/* 323980 802BFE30 0000102D */ daddu $v0, $zero, $zero +.L802BFE34: +/* 323984 802BFE34 8FBF0024 */ lw $ra, 0x24($sp) +/* 323988 802BFE38 8FB40020 */ lw $s4, 0x20($sp) +/* 32398C 802BFE3C 8FB3001C */ lw $s3, 0x1c($sp) +/* 323990 802BFE40 8FB20018 */ lw $s2, 0x18($sp) +/* 323994 802BFE44 8FB10014 */ lw $s1, 0x14($sp) +/* 323998 802BFE48 8FB00010 */ lw $s0, 0x10($sp) +/* 32399C 802BFE4C 03E00008 */ jr $ra +/* 3239A0 802BFE50 27BD0028 */ addiu $sp, $sp, 0x28 +/* 3239A4 802BFE54 00000000 */ nop +/* 3239A8 802BFE58 00000000 */ nop +/* 3239AC 802BFE5C 00000000 */ nop diff --git a/asm/nonmatchings/code_323A50/func_802BD100_323A50.s b/asm/nonmatchings/code_323A50/func_802BD100_323A50.s new file mode 100644 index 0000000000..134ebfcaee --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD100_323A50.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_323A50 +/* 323A50 802BD100 2402001A */ addiu $v0, $zero, 0x1a +/* 323A54 802BD104 A48200A8 */ sh $v0, 0xa8($a0) +/* 323A58 802BD108 24020018 */ addiu $v0, $zero, 0x18 +/* 323A5C 802BD10C A48200A6 */ sh $v0, 0xa6($a0) +/* 323A60 802BD110 24020011 */ addiu $v0, $zero, 0x11 +/* 323A64 802BD114 A08200AA */ sb $v0, 0xaa($a0) +/* 323A68 802BD118 3C01802C */ lui $at, 0x802c +/* 323A6C 802BD11C AC20E0C4 */ sw $zero, -0x1f3c($at) +/* 323A70 802BD120 3C01802C */ lui $at, 0x802c +/* 323A74 802BD124 AC20E0C0 */ sw $zero, -0x1f40($at) +/* 323A78 802BD128 03E00008 */ jr $ra +/* 323A7C 802BD12C 00000000 */ nop diff --git a/asm/nonmatchings/code_323A50/func_802BD130.s b/asm/nonmatchings/code_323A50/func_802BD130.s new file mode 100644 index 0000000000..0c113fdc4c --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD130.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD130 +/* 323A80 802BD130 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 323A84 802BD134 AFBF0014 */ sw $ra, 0x14($sp) +/* 323A88 802BD138 AFB00010 */ sw $s0, 0x10($sp) +/* 323A8C 802BD13C 10A00003 */ beqz $a1, .L802BD14C +/* 323A90 802BD140 8C90014C */ lw $s0, 0x14c($a0) +/* 323A94 802BD144 0C03BB31 */ jal func_800EECC4 +/* 323A98 802BD148 0200202D */ daddu $a0, $s0, $zero +.L802BD14C: +/* 323A9C 802BD14C 0C03BB3A */ jal func_800EECE8 +/* 323AA0 802BD150 0200202D */ daddu $a0, $s0, $zero +/* 323AA4 802BD154 8FBF0014 */ lw $ra, 0x14($sp) +/* 323AA8 802BD158 8FB00010 */ lw $s0, 0x10($sp) +/* 323AAC 802BD15C 0002102B */ sltu $v0, $zero, $v0 +/* 323AB0 802BD160 03E00008 */ jr $ra +/* 323AB4 802BD164 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_323A50/func_802BD168.s b/asm/nonmatchings/code_323A50/func_802BD168.s new file mode 100644 index 0000000000..4506e06426 --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD168.s @@ -0,0 +1,247 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD168 +/* 323AB8 802BD168 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 323ABC 802BD16C AFB00018 */ sw $s0, 0x18($sp) +/* 323AC0 802BD170 3C108011 */ lui $s0, %hi(gPlayerData) +/* 323AC4 802BD174 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 323AC8 802BD178 AFBF0028 */ sw $ra, 0x28($sp) +/* 323ACC 802BD17C AFB30024 */ sw $s3, 0x24($sp) +/* 323AD0 802BD180 AFB20020 */ sw $s2, 0x20($sp) +/* 323AD4 802BD184 AFB1001C */ sw $s1, 0x1c($sp) +/* 323AD8 802BD188 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 323ADC 802BD18C 8C91014C */ lw $s1, 0x14c($a0) +/* 323AE0 802BD190 10A00009 */ beqz $a1, .L802BD1B8 +/* 323AE4 802BD194 0220202D */ daddu $a0, $s1, $zero +/* 323AE8 802BD198 0C03B4C4 */ jal enable_partner_flying +/* 323AEC 802BD19C 24050001 */ addiu $a1, $zero, 1 +/* 323AF0 802BD1A0 3C04802C */ lui $a0, 0x802c +/* 323AF4 802BD1A4 8C84DFFC */ lw $a0, -0x2004($a0) +/* 323AF8 802BD1A8 0C00A580 */ jal mem_clear +/* 323AFC 802BD1AC 2405001C */ addiu $a1, $zero, 0x1c +/* 323B00 802BD1B0 3C018011 */ lui $at, 0x8011 +/* 323B04 802BD1B4 AC20C954 */ sw $zero, -0x36ac($at) +.L802BD1B8: +/* 323B08 802BD1B8 3C138011 */ lui $s3, 0x8011 +/* 323B0C 802BD1BC 2673C954 */ addiu $s3, $s3, -0x36ac +/* 323B10 802BD1C0 8E020318 */ lw $v0, 0x318($s0) +/* 323B14 802BD1C4 8E720000 */ lw $s2, ($s3) +/* 323B18 802BD1C8 24420001 */ addiu $v0, $v0, 1 +/* 323B1C 802BD1CC 16400007 */ bnez $s2, .L802BD1EC +/* 323B20 802BD1D0 AE020318 */ sw $v0, 0x318($s0) +/* 323B24 802BD1D4 0C03B52E */ jal update_player_move_history +/* 323B28 802BD1D8 0220202D */ daddu $a0, $s1, $zero +/* 323B2C 802BD1DC 0C03B574 */ jal func_800ED5D0 +/* 323B30 802BD1E0 0220202D */ daddu $a0, $s1, $zero +/* 323B34 802BD1E4 080AF537 */ j .L802BD4DC +/* 323B38 802BD1E8 0000102D */ daddu $v0, $zero, $zero +.L802BD1EC: +/* 323B3C 802BD1EC 3C10802C */ lui $s0, 0x802c +/* 323B40 802BD1F0 2610DFFC */ addiu $s0, $s0, -0x2004 +/* 323B44 802BD1F4 8E040000 */ lw $a0, ($s0) +/* 323B48 802BD1F8 8C830004 */ lw $v1, 4($a0) +/* 323B4C 802BD1FC 24050001 */ addiu $a1, $zero, 1 +/* 323B50 802BD200 10650030 */ beq $v1, $a1, .L802BD2C4 +/* 323B54 802BD204 28620002 */ slti $v0, $v1, 2 +/* 323B58 802BD208 10400005 */ beqz $v0, .L802BD220 +/* 323B5C 802BD20C 24020002 */ addiu $v0, $zero, 2 +/* 323B60 802BD210 10600009 */ beqz $v1, .L802BD238 +/* 323B64 802BD214 0000102D */ daddu $v0, $zero, $zero +/* 323B68 802BD218 080AF537 */ j .L802BD4DC +/* 323B6C 802BD21C 00000000 */ nop +.L802BD220: +/* 323B70 802BD220 1062009A */ beq $v1, $v0, .L802BD48C +/* 323B74 802BD224 24020003 */ addiu $v0, $zero, 3 +/* 323B78 802BD228 106200A0 */ beq $v1, $v0, .L802BD4AC +/* 323B7C 802BD22C 0000102D */ daddu $v0, $zero, $zero +/* 323B80 802BD230 080AF537 */ j .L802BD4DC +/* 323B84 802BD234 00000000 */ nop +.L802BD238: +/* 323B88 802BD238 AC850004 */ sw $a1, 4($a0) +/* 323B8C 802BD23C 8E220000 */ lw $v0, ($s1) +/* 323B90 802BD240 AC820008 */ sw $v0, 8($a0) +/* 323B94 802BD244 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 323B98 802BD248 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 323B9C 802BD24C 8E460048 */ lw $a2, 0x48($s2) +/* 323BA0 802BD250 0C00A7B5 */ jal dist2D +/* 323BA4 802BD254 8E470050 */ lw $a3, 0x50($s2) +/* 323BA8 802BD258 8E020000 */ lw $v0, ($s0) +/* 323BAC 802BD25C 46000005 */ abs.s $f0, $f0 +/* 323BB0 802BD260 E440000C */ swc1 $f0, 0xc($v0) +/* 323BB4 802BD264 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 323BB8 802BD268 C64E0050 */ lwc1 $f14, 0x50($s2) +/* 323BBC 802BD26C 8E260038 */ lw $a2, 0x38($s1) +/* 323BC0 802BD270 0C00A720 */ jal atan2 +/* 323BC4 802BD274 8E270040 */ lw $a3, 0x40($s1) +/* 323BC8 802BD278 3C040004 */ lui $a0, 4 +/* 323BCC 802BD27C 24020078 */ addiu $v0, $zero, 0x78 +/* 323BD0 802BD280 8E030000 */ lw $v1, ($s0) +/* 323BD4 802BD284 3C0140C0 */ lui $at, 0x40c0 +/* 323BD8 802BD288 44811000 */ mtc1 $at, $f2 +/* 323BDC 802BD28C 3C014248 */ lui $at, 0x4248 +/* 323BE0 802BD290 44812000 */ mtc1 $at, $f4 +/* 323BE4 802BD294 34840148 */ ori $a0, $a0, 0x148 +/* 323BE8 802BD298 E4600010 */ swc1 $f0, 0x10($v1) +/* 323BEC 802BD29C E4620014 */ swc1 $f2, 0x14($v1) +/* 323BF0 802BD2A0 E4640018 */ swc1 $f4, 0x18($v1) +/* 323BF4 802BD2A4 AC620000 */ sw $v0, ($v1) +/* 323BF8 802BD2A8 8E220000 */ lw $v0, ($s1) +/* 323BFC 802BD2AC 2403FDFF */ addiu $v1, $zero, -0x201 +/* 323C00 802BD2B0 00441025 */ or $v0, $v0, $a0 +/* 323C04 802BD2B4 00431024 */ and $v0, $v0, $v1 +/* 323C08 802BD2B8 AE220000 */ sw $v0, ($s1) +/* 323C0C 802BD2BC 3C10802C */ lui $s0, 0x802c +/* 323C10 802BD2C0 2610DFFC */ addiu $s0, $s0, -0x2004 +.L802BD2C4: +/* 323C14 802BD2C4 8E020000 */ lw $v0, ($s0) +/* 323C18 802BD2C8 3C0140C9 */ lui $at, 0x40c9 +/* 323C1C 802BD2CC 34210FD0 */ ori $at, $at, 0xfd0 +/* 323C20 802BD2D0 44810000 */ mtc1 $at, $f0 +/* 323C24 802BD2D4 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 323C28 802BD2D8 46006302 */ mul.s $f12, $f12, $f0 +/* 323C2C 802BD2DC 00000000 */ nop +/* 323C30 802BD2E0 27A50010 */ addiu $a1, $sp, 0x10 +/* 323C34 802BD2E4 3C0143B4 */ lui $at, 0x43b4 +/* 323C38 802BD2E8 44810000 */ mtc1 $at, $f0 +/* 323C3C 802BD2EC 27A60014 */ addiu $a2, $sp, 0x14 +/* 323C40 802BD2F0 0C00A82D */ jal sin_cos_rad +/* 323C44 802BD2F4 46006303 */ div.s $f12, $f12, $f0 +/* 323C48 802BD2F8 8E020000 */ lw $v0, ($s0) +/* 323C4C 802BD2FC C7A20010 */ lwc1 $f2, 0x10($sp) +/* 323C50 802BD300 C440000C */ lwc1 $f0, 0xc($v0) +/* 323C54 802BD304 46001082 */ mul.s $f2, $f2, $f0 +/* 323C58 802BD308 00000000 */ nop +/* 323C5C 802BD30C C6400048 */ lwc1 $f0, 0x48($s2) +/* 323C60 802BD310 46020000 */ add.s $f0, $f0, $f2 +/* 323C64 802BD314 E6200038 */ swc1 $f0, 0x38($s1) +/* 323C68 802BD318 C7A20014 */ lwc1 $f2, 0x14($sp) +/* 323C6C 802BD31C C440000C */ lwc1 $f0, 0xc($v0) +/* 323C70 802BD320 46001082 */ mul.s $f2, $f2, $f0 +/* 323C74 802BD324 00000000 */ nop +/* 323C78 802BD328 C6400050 */ lwc1 $f0, 0x50($s2) +/* 323C7C 802BD32C 46020001 */ sub.s $f0, $f0, $f2 +/* 323C80 802BD330 E6200040 */ swc1 $f0, 0x40($s1) +/* 323C84 802BD334 C4400010 */ lwc1 $f0, 0x10($v0) +/* 323C88 802BD338 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 323C8C 802BD33C 0C00A6C9 */ jal clamp_angle +/* 323C90 802BD340 460C0301 */ sub.s $f12, $f0, $f12 +/* 323C94 802BD344 8E100000 */ lw $s0, ($s0) +/* 323C98 802BD348 3C0141A0 */ lui $at, 0x41a0 +/* 323C9C 802BD34C 44811000 */ mtc1 $at, $f2 +/* 323CA0 802BD350 C604000C */ lwc1 $f4, 0xc($s0) +/* 323CA4 802BD354 4604103C */ c.lt.s $f2, $f4 +/* 323CA8 802BD358 00000000 */ nop +/* 323CAC 802BD35C 45000005 */ bc1f .L802BD374 +/* 323CB0 802BD360 E6000010 */ swc1 $f0, 0x10($s0) +/* 323CB4 802BD364 3C013F80 */ lui $at, 0x3f80 +/* 323CB8 802BD368 44810000 */ mtc1 $at, $f0 +/* 323CBC 802BD36C 080AF4E8 */ j .L802BD3A0 +/* 323CC0 802BD370 46002001 */ sub.s $f0, $f4, $f0 +.L802BD374: +/* 323CC4 802BD374 3C014198 */ lui $at, 0x4198 +/* 323CC8 802BD378 44810000 */ mtc1 $at, $f0 +/* 323CCC 802BD37C 00000000 */ nop +/* 323CD0 802BD380 4600203C */ c.lt.s $f4, $f0 +/* 323CD4 802BD384 00000000 */ nop +/* 323CD8 802BD388 45000006 */ bc1f .L802BD3A4 +/* 323CDC 802BD38C 00000000 */ nop +/* 323CE0 802BD390 3C013F80 */ lui $at, 0x3f80 +/* 323CE4 802BD394 44810000 */ mtc1 $at, $f0 +/* 323CE8 802BD398 00000000 */ nop +/* 323CEC 802BD39C 46002000 */ add.s $f0, $f4, $f0 +.L802BD3A0: +/* 323CF0 802BD3A0 E600000C */ swc1 $f0, 0xc($s0) +.L802BD3A4: +/* 323CF4 802BD3A4 3C10802C */ lui $s0, 0x802c +/* 323CF8 802BD3A8 2610DFFC */ addiu $s0, $s0, -0x2004 +/* 323CFC 802BD3AC 8E020000 */ lw $v0, ($s0) +/* 323D00 802BD3B0 3C0140C9 */ lui $at, 0x40c9 +/* 323D04 802BD3B4 34210FD0 */ ori $at, $at, 0xfd0 +/* 323D08 802BD3B8 44810000 */ mtc1 $at, $f0 +/* 323D0C 802BD3BC C44C0018 */ lwc1 $f12, 0x18($v0) +/* 323D10 802BD3C0 46006302 */ mul.s $f12, $f12, $f0 +/* 323D14 802BD3C4 00000000 */ nop +/* 323D18 802BD3C8 3C0143B4 */ lui $at, 0x43b4 +/* 323D1C 802BD3CC 4481A000 */ mtc1 $at, $f20 +/* 323D20 802BD3D0 0C00A85B */ jal sin_rad +/* 323D24 802BD3D4 46146303 */ div.s $f12, $f12, $f20 +/* 323D28 802BD3D8 8E020000 */ lw $v0, ($s0) +/* 323D2C 802BD3DC 3C014040 */ lui $at, 0x4040 +/* 323D30 802BD3E0 44812000 */ mtc1 $at, $f4 +/* 323D34 802BD3E4 C4420018 */ lwc1 $f2, 0x18($v0) +/* 323D38 802BD3E8 46041080 */ add.s $f2, $f2, $f4 +/* 323D3C 802BD3EC 3C014316 */ lui $at, 0x4316 +/* 323D40 802BD3F0 44813000 */ mtc1 $at, $f6 +/* 323D44 802BD3F4 00000000 */ nop +/* 323D48 802BD3F8 4602303C */ c.lt.s $f6, $f2 +/* 323D4C 802BD3FC E4420018 */ swc1 $f2, 0x18($v0) +/* 323D50 802BD400 46040082 */ mul.s $f2, $f0, $f4 +/* 323D54 802BD404 00000000 */ nop +/* 323D58 802BD408 45030001 */ bc1tl .L802BD410 +/* 323D5C 802BD40C E4460018 */ swc1 $f6, 0x18($v0) +.L802BD410: +/* 323D60 802BD410 C620003C */ lwc1 $f0, 0x3c($s1) +/* 323D64 802BD414 46020000 */ add.s $f0, $f0, $f2 +/* 323D68 802BD418 8E020000 */ lw $v0, ($s0) +/* 323D6C 802BD41C E620003C */ swc1 $f0, 0x3c($s1) +/* 323D70 802BD420 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 323D74 802BD424 0C00A6C9 */ jal clamp_angle +/* 323D78 802BD428 460CA301 */ sub.s $f12, $f20, $f12 +/* 323D7C 802BD42C 8E020000 */ lw $v0, ($s0) +/* 323D80 802BD430 E6200034 */ swc1 $f0, 0x34($s1) +/* 323D84 802BD434 C4400014 */ lwc1 $f0, 0x14($v0) +/* 323D88 802BD438 3C01802C */ lui $at, 0x802c +/* 323D8C 802BD43C D422E060 */ ldc1 $f2, -0x1fa0($at) +/* 323D90 802BD440 46000021 */ cvt.d.s $f0, $f0 +/* 323D94 802BD444 46220000 */ add.d $f0, $f0, $f2 +/* 323D98 802BD448 3C014220 */ lui $at, 0x4220 +/* 323D9C 802BD44C 44811000 */ mtc1 $at, $f2 +/* 323DA0 802BD450 46200020 */ cvt.s.d $f0, $f0 +/* 323DA4 802BD454 4600103C */ c.lt.s $f2, $f0 +/* 323DA8 802BD458 00000000 */ nop +/* 323DAC 802BD45C 45000002 */ bc1f .L802BD468 +/* 323DB0 802BD460 E4400014 */ swc1 $f0, 0x14($v0) +/* 323DB4 802BD464 E4420014 */ swc1 $f2, 0x14($v0) +.L802BD468: +/* 323DB8 802BD468 8E030000 */ lw $v1, ($s0) +/* 323DBC 802BD46C 8C620000 */ lw $v0, ($v1) +/* 323DC0 802BD470 2442FFFF */ addiu $v0, $v0, -1 +/* 323DC4 802BD474 14400018 */ bnez $v0, .L802BD4D8 +/* 323DC8 802BD478 AC620000 */ sw $v0, ($v1) +/* 323DCC 802BD47C 8C620004 */ lw $v0, 4($v1) +/* 323DD0 802BD480 24420001 */ addiu $v0, $v0, 1 +/* 323DD4 802BD484 080AF536 */ j .L802BD4D8 +/* 323DD8 802BD488 AC620004 */ sw $v0, 4($v1) +.L802BD48C: +/* 323DDC 802BD48C 8C820008 */ lw $v0, 8($a0) +/* 323DE0 802BD490 AE220000 */ sw $v0, ($s1) +/* 323DE4 802BD494 8C820004 */ lw $v0, 4($a0) +/* 323DE8 802BD498 2403001E */ addiu $v1, $zero, 0x1e +/* 323DEC 802BD49C AC830000 */ sw $v1, ($a0) +/* 323DF0 802BD4A0 24420001 */ addiu $v0, $v0, 1 +/* 323DF4 802BD4A4 080AF536 */ j .L802BD4D8 +/* 323DF8 802BD4A8 AC820004 */ sw $v0, 4($a0) +.L802BD4AC: +/* 323DFC 802BD4AC 0C03B52E */ jal update_player_move_history +/* 323E00 802BD4B0 0220202D */ daddu $a0, $s1, $zero +/* 323E04 802BD4B4 0C03B574 */ jal func_800ED5D0 +/* 323E08 802BD4B8 0220202D */ daddu $a0, $s1, $zero +/* 323E0C 802BD4BC 8E030000 */ lw $v1, ($s0) +/* 323E10 802BD4C0 8C620000 */ lw $v0, ($v1) +/* 323E14 802BD4C4 2442FFFF */ addiu $v0, $v0, -1 +/* 323E18 802BD4C8 14400003 */ bnez $v0, .L802BD4D8 +/* 323E1C 802BD4CC AC620000 */ sw $v0, ($v1) +/* 323E20 802BD4D0 AC600004 */ sw $zero, 4($v1) +/* 323E24 802BD4D4 AE600000 */ sw $zero, ($s3) +.L802BD4D8: +/* 323E28 802BD4D8 0000102D */ daddu $v0, $zero, $zero +.L802BD4DC: +/* 323E2C 802BD4DC 8FBF0028 */ lw $ra, 0x28($sp) +/* 323E30 802BD4E0 8FB30024 */ lw $s3, 0x24($sp) +/* 323E34 802BD4E4 8FB20020 */ lw $s2, 0x20($sp) +/* 323E38 802BD4E8 8FB1001C */ lw $s1, 0x1c($sp) +/* 323E3C 802BD4EC 8FB00018 */ lw $s0, 0x18($sp) +/* 323E40 802BD4F0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 323E44 802BD4F4 03E00008 */ jr $ra +/* 323E48 802BD4F8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_323A50/func_802BD4FC.s b/asm/nonmatchings/code_323A50/func_802BD4FC.s new file mode 100644 index 0000000000..7ce3f7bbf6 --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD4FC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD4FC +/* 323E4C 802BD4FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 323E50 802BD500 3C058011 */ lui $a1, 0x8011 +/* 323E54 802BD504 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 323E58 802BD508 AFBF0010 */ sw $ra, 0x10($sp) +/* 323E5C 802BD50C 8CA20000 */ lw $v0, ($a1) +/* 323E60 802BD510 10400008 */ beqz $v0, .L802BD534 +/* 323E64 802BD514 00000000 */ nop +/* 323E68 802BD518 3C03802C */ lui $v1, 0x802c +/* 323E6C 802BD51C 8C63DFFC */ lw $v1, -0x2004($v1) +/* 323E70 802BD520 8C620008 */ lw $v0, 8($v1) +/* 323E74 802BD524 ACA00000 */ sw $zero, ($a1) +/* 323E78 802BD528 AC820000 */ sw $v0, ($a0) +/* 323E7C 802BD52C 0C03BD17 */ jal clear_partner_move_history +/* 323E80 802BD530 AC600004 */ sw $zero, 4($v1) +.L802BD534: +/* 323E84 802BD534 8FBF0010 */ lw $ra, 0x10($sp) +/* 323E88 802BD538 03E00008 */ jr $ra +/* 323E8C 802BD53C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_323A50/func_802BD540.s b/asm/nonmatchings/code_323A50/func_802BD540.s new file mode 100644 index 0000000000..f2ada528ff --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD540.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD540 +/* 323E90 802BD540 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 323E94 802BD544 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 323E98 802BD548 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 323E9C 802BD54C AFB20038 */ sw $s2, 0x38($sp) +/* 323EA0 802BD550 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 323EA4 802BD554 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 323EA8 802BD558 AFBF003C */ sw $ra, 0x3c($sp) +/* 323EAC 802BD55C AFB10034 */ sw $s1, 0x34($sp) +/* 323EB0 802BD560 AFB00030 */ sw $s0, 0x30($sp) +/* 323EB4 802BD564 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 323EB8 802BD568 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 323EBC 802BD56C 84430086 */ lh $v1, 0x86($v0) +/* 323EC0 802BD570 24020010 */ addiu $v0, $zero, 0x10 +/* 323EC4 802BD574 5462003F */ bnel $v1, $v0, .L802BD674 +/* 323EC8 802BD578 2402FFFF */ addiu $v0, $zero, -1 +/* 323ECC 802BD57C C640001C */ lwc1 $f0, 0x1c($s2) +/* 323ED0 802BD580 44801000 */ mtc1 $zero, $f2 +/* 323ED4 802BD584 00000000 */ nop +/* 323ED8 802BD588 46020032 */ c.eq.s $f0, $f2 +/* 323EDC 802BD58C 00000000 */ nop +/* 323EE0 802BD590 45000006 */ bc1f .L802BD5AC +/* 323EE4 802BD594 00000000 */ nop +/* 323EE8 802BD598 C6400024 */ lwc1 $f0, 0x24($s2) +/* 323EEC 802BD59C 46020032 */ c.eq.s $f0, $f2 +/* 323EF0 802BD5A0 00000000 */ nop +/* 323EF4 802BD5A4 45010033 */ bc1t .L802BD674 +/* 323EF8 802BD5A8 2402FFFF */ addiu $v0, $zero, -1 +.L802BD5AC: +/* 323EFC 802BD5AC 8E46001C */ lw $a2, 0x1c($s2) +/* 323F00 802BD5B0 44806000 */ mtc1 $zero, $f12 +/* 323F04 802BD5B4 8E470024 */ lw $a3, 0x24($s2) +/* 323F08 802BD5B8 0C00A720 */ jal atan2 +/* 323F0C 802BD5BC 46006386 */ mov.s $f14, $f12 +/* 323F10 802BD5C0 864200B0 */ lh $v0, 0xb0($s2) +/* 323F14 802BD5C4 3C013F00 */ lui $at, 0x3f00 +/* 323F18 802BD5C8 4481A000 */ mtc1 $at, $f20 +/* 323F1C 802BD5CC 44821000 */ mtc1 $v0, $f2 +/* 323F20 802BD5D0 00000000 */ nop +/* 323F24 802BD5D4 468010A0 */ cvt.s.w $f2, $f2 +/* 323F28 802BD5D8 46141082 */ mul.s $f2, $f2, $f20 +/* 323F2C 802BD5DC 00000000 */ nop +/* 323F30 802BD5E0 46000586 */ mov.s $f22, $f0 +/* 323F34 802BD5E4 3C014334 */ lui $at, 0x4334 +/* 323F38 802BD5E8 44816000 */ mtc1 $at, $f12 +/* 323F3C 802BD5EC C6460028 */ lwc1 $f6, 0x28($s2) +/* 323F40 802BD5F0 460CB300 */ add.s $f12, $f22, $f12 +/* 323F44 802BD5F4 C640002C */ lwc1 $f0, 0x2c($s2) +/* 323F48 802BD5F8 C6440030 */ lwc1 $f4, 0x30($s2) +/* 323F4C 802BD5FC 46020000 */ add.s $f0, $f0, $f2 +/* 323F50 802BD600 E7A60020 */ swc1 $f6, 0x20($sp) +/* 323F54 802BD604 E7A40024 */ swc1 $f4, 0x24($sp) +/* 323F58 802BD608 0C00A6C9 */ jal clamp_angle +/* 323F5C 802BD60C E7A00028 */ swc1 $f0, 0x28($sp) +/* 323F60 802BD610 864200B2 */ lh $v0, 0xb2($s2) +/* 323F64 802BD614 44821000 */ mtc1 $v0, $f2 +/* 323F68 802BD618 00000000 */ nop +/* 323F6C 802BD61C 468010A0 */ cvt.s.w $f2, $f2 +/* 323F70 802BD620 46141082 */ mul.s $f2, $f2, $f20 +/* 323F74 802BD624 00000000 */ nop +/* 323F78 802BD628 27B00020 */ addiu $s0, $sp, 0x20 +/* 323F7C 802BD62C 0200202D */ daddu $a0, $s0, $zero +/* 323F80 802BD630 27B10024 */ addiu $s1, $sp, 0x24 +/* 323F84 802BD634 44070000 */ mfc1 $a3, $f0 +/* 323F88 802BD638 44061000 */ mfc1 $a2, $f2 +/* 323F8C 802BD63C 0C00A7E7 */ jal add_vec2D_polar +/* 323F90 802BD640 0220282D */ daddu $a1, $s1, $zero +/* 323F94 802BD644 0000202D */ daddu $a0, $zero, $zero +/* 323F98 802BD648 0240282D */ daddu $a1, $s2, $zero +/* 323F9C 802BD64C 0200302D */ daddu $a2, $s0, $zero +/* 323FA0 802BD650 84A200B2 */ lh $v0, 0xb2($a1) +/* 323FA4 802BD654 27A70028 */ addiu $a3, $sp, 0x28 +/* 323FA8 802BD658 AFB10010 */ sw $s1, 0x10($sp) +/* 323FAC 802BD65C E7B60018 */ swc1 $f22, 0x18($sp) +/* 323FB0 802BD660 44820000 */ mtc1 $v0, $f0 +/* 323FB4 802BD664 00000000 */ nop +/* 323FB8 802BD668 46800020 */ cvt.s.w $f0, $f0 +/* 323FBC 802BD66C 0C037B01 */ jal do_lateral_collision +/* 323FC0 802BD670 E7A00014 */ swc1 $f0, 0x14($sp) +.L802BD674: +/* 323FC4 802BD674 8FBF003C */ lw $ra, 0x3c($sp) +/* 323FC8 802BD678 8FB20038 */ lw $s2, 0x38($sp) +/* 323FCC 802BD67C 8FB10034 */ lw $s1, 0x34($sp) +/* 323FD0 802BD680 8FB00030 */ lw $s0, 0x30($sp) +/* 323FD4 802BD684 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 323FD8 802BD688 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 323FDC 802BD68C 03E00008 */ jr $ra +/* 323FE0 802BD690 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_323A50/func_802BD694.s b/asm/nonmatchings/code_323A50/func_802BD694.s new file mode 100644 index 0000000000..abb68ebb57 --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BD694.s @@ -0,0 +1,497 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD694 +/* 323FE4 802BD694 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 323FE8 802BD698 AFB40030 */ sw $s4, 0x30($sp) +/* 323FEC 802BD69C 0080A02D */ daddu $s4, $a0, $zero +/* 323FF0 802BD6A0 AFB3002C */ sw $s3, 0x2c($sp) +/* 323FF4 802BD6A4 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 323FF8 802BD6A8 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 323FFC 802BD6AC AFB50034 */ sw $s5, 0x34($sp) +/* 324000 802BD6B0 3C158011 */ lui $s5, %hi(D_8010EBB0) +/* 324004 802BD6B4 26B5EBB0 */ addiu $s5, $s5, %lo(D_8010EBB0) +/* 324008 802BD6B8 AFB10024 */ sw $s1, 0x24($sp) +/* 32400C 802BD6BC 3C118016 */ lui $s1, 0x8016 +/* 324010 802BD6C0 2631A550 */ addiu $s1, $s1, -0x5ab0 +/* 324014 802BD6C4 AFBF0038 */ sw $ra, 0x38($sp) +/* 324018 802BD6C8 AFB20028 */ sw $s2, 0x28($sp) +/* 32401C 802BD6CC AFB00020 */ sw $s0, 0x20($sp) +/* 324020 802BD6D0 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 324024 802BD6D4 10A0001C */ beqz $a1, .L802BD748 +/* 324028 802BD6D8 8E92014C */ lw $s2, 0x14c($s4) +/* 32402C 802BD6DC 0C0AF53F */ jal func_802BD4FC +/* 324030 802BD6E0 0240202D */ daddu $a0, $s2, $zero +/* 324034 802BD6E4 8E620004 */ lw $v0, 4($s3) +/* 324038 802BD6E8 3C030010 */ lui $v1, 0x10 +/* 32403C 802BD6EC 00431024 */ and $v0, $v0, $v1 +/* 324040 802BD6F0 144001B5 */ bnez $v0, .L802BDDC8 +/* 324044 802BD6F4 24020002 */ addiu $v0, $zero, 2 +/* 324048 802BD6F8 0C03A94B */ jal func_800EA52C +/* 32404C 802BD6FC 24040009 */ addiu $a0, $zero, 9 +/* 324050 802BD700 1040001C */ beqz $v0, .L802BD774 +/* 324054 802BD704 3C020020 */ lui $v0, 0x20 +/* 324058 802BD708 8E630004 */ lw $v1, 4($s3) +/* 32405C 802BD70C 00621024 */ and $v0, $v1, $v0 +/* 324060 802BD710 1040000B */ beqz $v0, .L802BD740 +/* 324064 802BD714 3C02FFDF */ lui $v0, 0xffdf +/* 324068 802BD718 3442FFFF */ ori $v0, $v0, 0xffff +/* 32406C 802BD71C 00621024 */ and $v0, $v1, $v0 +/* 324070 802BD720 0C03805E */ jal disable_player_input +/* 324074 802BD724 AE620004 */ sw $v0, 4($s3) +/* 324078 802BD728 AE820078 */ sw $v0, 0x78($s4) +/* 32407C 802BD72C 24020001 */ addiu $v0, $zero, 1 +/* 324080 802BD730 3C01802C */ lui $at, 0x802c +/* 324084 802BD734 AC22E0C4 */ sw $v0, -0x1f3c($at) +/* 324088 802BD738 080AF5D1 */ j .L802BD744 +/* 32408C 802BD73C 24020014 */ addiu $v0, $zero, 0x14 +.L802BD740: +/* 324090 802BD740 24020028 */ addiu $v0, $zero, 0x28 +.L802BD744: +/* 324094 802BD744 AE820070 */ sw $v0, 0x70($s4) +.L802BD748: +/* 324098 802BD748 8E830070 */ lw $v1, 0x70($s4) +/* 32409C 802BD74C 24020028 */ addiu $v0, $zero, 0x28 +/* 3240A0 802BD750 10620005 */ beq $v1, $v0, .L802BD768 +/* 3240A4 802BD754 24020029 */ addiu $v0, $zero, 0x29 +/* 3240A8 802BD758 10620015 */ beq $v1, $v0, .L802BD7B0 +/* 3240AC 802BD75C 00000000 */ nop +/* 3240B0 802BD760 080AF61B */ j .L802BD86C +/* 3240B4 802BD764 00000000 */ nop +.L802BD768: +/* 3240B8 802BD768 82620015 */ lb $v0, 0x15($s3) +/* 3240BC 802BD76C 10400003 */ beqz $v0, .L802BD77C +/* 3240C0 802BD770 00000000 */ nop +.L802BD774: +/* 3240C4 802BD774 080AF772 */ j .L802BDDC8 +/* 3240C8 802BD778 24020002 */ addiu $v0, $zero, 2 +.L802BD77C: +/* 3240CC 802BD77C 8E620000 */ lw $v0, ($s3) +/* 3240D0 802BD780 34420100 */ ori $v0, $v0, 0x100 +/* 3240D4 802BD784 AE620000 */ sw $v0, ($s3) +/* 3240D8 802BD788 24020003 */ addiu $v0, $zero, 3 +/* 3240DC 802BD78C 0C03805E */ jal disable_player_input +/* 3240E0 802BD790 AE820074 */ sw $v0, 0x74($s4) +/* 3240E4 802BD794 AE820078 */ sw $v0, 0x78($s4) +/* 3240E8 802BD798 8E820070 */ lw $v0, 0x70($s4) +/* 3240EC 802BD79C 24030001 */ addiu $v1, $zero, 1 +/* 3240F0 802BD7A0 3C01802C */ lui $at, 0x802c +/* 3240F4 802BD7A4 AC23E0C4 */ sw $v1, -0x1f3c($at) +/* 3240F8 802BD7A8 080AF61A */ j .L802BD868 +/* 3240FC 802BD7AC 00431021 */ addu $v0, $v0, $v1 +.L802BD7B0: +/* 324100 802BD7B0 0C03A94B */ jal func_800EA52C +/* 324104 802BD7B4 24040009 */ addiu $a0, $zero, 9 +/* 324108 802BD7B8 10400005 */ beqz $v0, .L802BD7D0 +/* 32410C 802BD7BC 00000000 */ nop +/* 324110 802BD7C0 0C011052 */ jal func_80044148 +/* 324114 802BD7C4 00000000 */ nop +/* 324118 802BD7C8 10400010 */ beqz $v0, .L802BD80C +/* 32411C 802BD7CC 00000000 */ nop +.L802BD7D0: +/* 324120 802BD7D0 82630015 */ lb $v1, 0x15($s3) +/* 324124 802BD7D4 8E820078 */ lw $v0, 0x78($s4) +/* 324128 802BD7D8 0043102A */ slt $v0, $v0, $v1 +/* 32412C 802BD7DC 1040000B */ beqz $v0, .L802BD80C +/* 324130 802BD7E0 00000000 */ nop +/* 324134 802BD7E4 3C10802C */ lui $s0, 0x802c +/* 324138 802BD7E8 2610E0C4 */ addiu $s0, $s0, -0x1f3c +/* 32413C 802BD7EC 8E020000 */ lw $v0, ($s0) +/* 324140 802BD7F0 10400006 */ beqz $v0, .L802BD80C +/* 324144 802BD7F4 00000000 */ nop +/* 324148 802BD7F8 0C038069 */ jal enable_player_input +/* 32414C 802BD7FC 00000000 */ nop +/* 324150 802BD800 24020002 */ addiu $v0, $zero, 2 +/* 324154 802BD804 080AF615 */ j .L802BD854 +/* 324158 802BD808 AE000000 */ sw $zero, ($s0) +.L802BD80C: +/* 32415C 802BD80C 8E820074 */ lw $v0, 0x74($s4) +/* 324160 802BD810 2442FFFF */ addiu $v0, $v0, -1 +/* 324164 802BD814 14400015 */ bnez $v0, .L802BD86C +/* 324168 802BD818 AE820074 */ sw $v0, 0x74($s4) +/* 32416C 802BD81C 82630015 */ lb $v1, 0x15($s3) +/* 324170 802BD820 8E820078 */ lw $v0, 0x78($s4) +/* 324174 802BD824 0043102A */ slt $v0, $v0, $v1 +/* 324178 802BD828 1040000F */ beqz $v0, .L802BD868 +/* 32417C 802BD82C 24020014 */ addiu $v0, $zero, 0x14 +/* 324180 802BD830 3C10802C */ lui $s0, 0x802c +/* 324184 802BD834 2610E0C4 */ addiu $s0, $s0, -0x1f3c +/* 324188 802BD838 8E020000 */ lw $v0, ($s0) +/* 32418C 802BD83C 10400005 */ beqz $v0, .L802BD854 +/* 324190 802BD840 24020002 */ addiu $v0, $zero, 2 +/* 324194 802BD844 0C038069 */ jal enable_player_input +/* 324198 802BD848 00000000 */ nop +/* 32419C 802BD84C AE000000 */ sw $zero, ($s0) +/* 3241A0 802BD850 24020002 */ addiu $v0, $zero, 2 +.L802BD854: +/* 3241A4 802BD854 8E630000 */ lw $v1, ($s3) +/* 3241A8 802BD858 2404FEFF */ addiu $a0, $zero, -0x101 +/* 3241AC 802BD85C 00641824 */ and $v1, $v1, $a0 +/* 3241B0 802BD860 080AF772 */ j .L802BDDC8 +/* 3241B4 802BD864 AE630000 */ sw $v1, ($s3) +.L802BD868: +/* 3241B8 802BD868 AE820070 */ sw $v0, 0x70($s4) +.L802BD86C: +/* 3241BC 802BD86C 8E820070 */ lw $v0, 0x70($s4) +/* 3241C0 802BD870 2443FFFF */ addiu $v1, $v0, -1 +/* 3241C4 802BD874 2C620015 */ sltiu $v0, $v1, 0x15 +/* 3241C8 802BD878 10400152 */ beqz $v0, .L802BDDC4 +/* 3241CC 802BD87C 00031080 */ sll $v0, $v1, 2 +/* 3241D0 802BD880 3C01802C */ lui $at, 0x802c +/* 3241D4 802BD884 00220821 */ addu $at, $at, $v0 +/* 3241D8 802BD888 8C22E068 */ lw $v0, -0x1f98($at) +/* 3241DC 802BD88C 00400008 */ jr $v0 +/* 3241E0 802BD890 00000000 */ nop +/* 3241E4 802BD894 8E640000 */ lw $a0, ($s3) +/* 3241E8 802BD898 30820800 */ andi $v0, $a0, 0x800 +/* 3241EC 802BD89C 1040000B */ beqz $v0, .L802BD8CC +/* 3241F0 802BD8A0 2402FEFF */ addiu $v0, $zero, -0x101 +/* 3241F4 802BD8A4 3C10802C */ lui $s0, 0x802c +/* 3241F8 802BD8A8 2610E0C4 */ addiu $s0, $s0, -0x1f3c +/* 3241FC 802BD8AC 8E030000 */ lw $v1, ($s0) +/* 324200 802BD8B0 00821024 */ and $v0, $a0, $v0 +/* 324204 802BD8B4 1060FFAF */ beqz $v1, .L802BD774 +/* 324208 802BD8B8 AE620000 */ sw $v0, ($s3) +/* 32420C 802BD8BC 0C038069 */ jal enable_player_input +/* 324210 802BD8C0 00000000 */ nop +/* 324214 802BD8C4 080AF5DD */ j .L802BD774 +/* 324218 802BD8C8 AE000000 */ sw $zero, ($s0) +.L802BD8CC: +/* 32421C 802BD8CC 8E820078 */ lw $v0, 0x78($s4) +/* 324220 802BD8D0 10400003 */ beqz $v0, .L802BD8E0 +/* 324224 802BD8D4 24020001 */ addiu $v0, $zero, 1 +/* 324228 802BD8D8 3C01802C */ lui $at, 0x802c +/* 32422C 802BD8DC AC22E0C4 */ sw $v0, -0x1f3c($at) +.L802BD8E0: +/* 324230 802BD8E0 24040001 */ addiu $a0, $zero, 1 +/* 324234 802BD8E4 8E420000 */ lw $v0, ($s2) +/* 324238 802BD8E8 2403F5FF */ addiu $v1, $zero, -0xa01 +/* 32423C 802BD8EC 3C01802C */ lui $at, 0x802c +/* 324240 802BD8F0 AC24E0C0 */ sw $a0, -0x1f40($at) +/* 324244 802BD8F4 00431024 */ and $v0, $v0, $v1 +/* 324248 802BD8F8 AE420000 */ sw $v0, ($s2) +/* 32424C 802BD8FC A2A40000 */ sb $a0, ($s5) +/* 324250 802BD900 8E620000 */ lw $v0, ($s3) +/* 324254 802BD904 24030009 */ addiu $v1, $zero, 9 +/* 324258 802BD908 A2A30003 */ sb $v1, 3($s5) +/* 32425C 802BD90C 34428000 */ ori $v0, $v0, 0x8000 +/* 324260 802BD910 0C03BD38 */ jal func_800EF4E0 +/* 324264 802BD914 AE620000 */ sw $v0, ($s3) +/* 324268 802BD918 C6600028 */ lwc1 $f0, 0x28($s3) +/* 32426C 802BD91C 26510060 */ addiu $s1, $s2, 0x60 +/* 324270 802BD920 E6400060 */ swc1 $f0, 0x60($s2) +/* 324274 802BD924 866200B0 */ lh $v0, 0xb0($s3) +/* 324278 802BD928 3C013F00 */ lui $at, 0x3f00 +/* 32427C 802BD92C 4481A000 */ mtc1 $at, $f20 +/* 324280 802BD930 44820000 */ mtc1 $v0, $f0 +/* 324284 802BD934 00000000 */ nop +/* 324288 802BD938 46800020 */ cvt.s.w $f0, $f0 +/* 32428C 802BD93C 46140002 */ mul.s $f0, $f0, $f20 +/* 324290 802BD940 00000000 */ nop +/* 324294 802BD944 0220202D */ daddu $a0, $s1, $zero +/* 324298 802BD948 26500068 */ addiu $s0, $s2, 0x68 +/* 32429C 802BD94C C662002C */ lwc1 $f2, 0x2c($s3) +/* 3242A0 802BD950 3C06C000 */ lui $a2, 0xc000 +/* 3242A4 802BD954 46001080 */ add.s $f2, $f2, $f0 +/* 3242A8 802BD958 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3242AC 802BD95C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3242B0 802BD960 3C020005 */ lui $v0, 5 +/* 3242B4 802BD964 E6420064 */ swc1 $f2, 0x64($s2) +/* 3242B8 802BD968 C6600030 */ lwc1 $f0, 0x30($s3) +/* 3242BC 802BD96C 34420002 */ ori $v0, $v0, 2 +/* 3242C0 802BD970 AE420028 */ sw $v0, 0x28($s2) +/* 3242C4 802BD974 00031080 */ sll $v0, $v1, 2 +/* 3242C8 802BD978 00431021 */ addu $v0, $v0, $v1 +/* 3242CC 802BD97C 00021080 */ sll $v0, $v0, 2 +/* 3242D0 802BD980 00431023 */ subu $v0, $v0, $v1 +/* 3242D4 802BD984 000218C0 */ sll $v1, $v0, 3 +/* 3242D8 802BD988 00431021 */ addu $v0, $v0, $v1 +/* 3242DC 802BD98C E6400068 */ swc1 $f0, 0x68($s2) +/* 3242E0 802BD990 C6600080 */ lwc1 $f0, 0x80($s3) +/* 3242E4 802BD994 000210C0 */ sll $v0, $v0, 3 +/* 3242E8 802BD998 E640000C */ swc1 $f0, 0xc($s2) +/* 3242EC 802BD99C 3C07800B */ lui $a3, 0x800b +/* 3242F0 802BD9A0 00E23821 */ addu $a3, $a3, $v0 +/* 3242F4 802BD9A4 8CE71DEC */ lw $a3, 0x1dec($a3) +/* 3242F8 802BD9A8 0C00A7E7 */ jal add_vec2D_polar +/* 3242FC 802BD9AC 0200282D */ daddu $a1, $s0, $zero +/* 324300 802BD9B0 866200B2 */ lh $v0, 0xb2($s3) +/* 324304 802BD9B4 44820000 */ mtc1 $v0, $f0 +/* 324308 802BD9B8 00000000 */ nop +/* 32430C 802BD9BC 46800020 */ cvt.s.w $f0, $f0 +/* 324310 802BD9C0 46140002 */ mul.s $f0, $f0, $f20 +/* 324314 802BD9C4 00000000 */ nop +/* 324318 802BD9C8 0220202D */ daddu $a0, $s1, $zero +/* 32431C 802BD9CC 8E47000C */ lw $a3, 0xc($s2) +/* 324320 802BD9D0 44060000 */ mfc1 $a2, $f0 +/* 324324 802BD9D4 0C00A7E7 */ jal add_vec2D_polar +/* 324328 802BD9D8 0200282D */ daddu $a1, $s0, $zero +/* 32432C 802BD9DC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 324330 802BD9E0 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 324334 802BD9E4 24020005 */ addiu $v0, $zero, 5 +/* 324338 802BD9E8 A642008E */ sh $v0, 0x8e($s2) +/* 32433C 802BD9EC 8E660028 */ lw $a2, 0x28($s3) +/* 324340 802BD9F0 0C00A720 */ jal atan2 +/* 324344 802BD9F4 8E670030 */ lw $a3, 0x30($s3) +/* 324348 802BD9F8 24040021 */ addiu $a0, $zero, 0x21 +/* 32434C 802BD9FC 0C039769 */ jal set_action_state +/* 324350 802BDA00 E640000C */ swc1 $f0, 0xc($s2) +/* 324354 802BDA04 3C040001 */ lui $a0, 1 +/* 324358 802BDA08 0C037FBF */ jal func_800DFEFC +/* 32435C 802BDA0C 34840002 */ ori $a0, $a0, 2 +/* 324360 802BDA10 8E820070 */ lw $v0, 0x70($s4) +/* 324364 802BDA14 24420001 */ addiu $v0, $v0, 1 +/* 324368 802BDA18 080AF771 */ j .L802BDDC4 +/* 32436C 802BDA1C AE820070 */ sw $v0, 0x70($s4) +/* 324370 802BDA20 86220002 */ lh $v0, 2($s1) +/* 324374 802BDA24 04400092 */ bltz $v0, .L802BDC70 +/* 324378 802BDA28 3C030010 */ lui $v1, 0x10 +/* 32437C 802BDA2C 8E620004 */ lw $v0, 4($s3) +/* 324380 802BDA30 00431024 */ and $v0, $v0, $v1 +/* 324384 802BDA34 1440008E */ bnez $v0, .L802BDC70 +/* 324388 802BDA38 00000000 */ nop +/* 32438C 802BDA3C C6600028 */ lwc1 $f0, 0x28($s3) +/* 324390 802BDA40 E6400060 */ swc1 $f0, 0x60($s2) +/* 324394 802BDA44 866200B0 */ lh $v0, 0xb0($s3) +/* 324398 802BDA48 3C013F00 */ lui $at, 0x3f00 +/* 32439C 802BDA4C 44811000 */ mtc1 $at, $f2 +/* 3243A0 802BDA50 44820000 */ mtc1 $v0, $f0 +/* 3243A4 802BDA54 00000000 */ nop +/* 3243A8 802BDA58 46800020 */ cvt.s.w $f0, $f0 +/* 3243AC 802BDA5C 46020002 */ mul.s $f0, $f0, $f2 +/* 3243B0 802BDA60 00000000 */ nop +/* 3243B4 802BDA64 C64A0038 */ lwc1 $f10, 0x38($s2) +/* 3243B8 802BDA68 C648003C */ lwc1 $f8, 0x3c($s2) +/* 3243BC 802BDA6C C6420060 */ lwc1 $f2, 0x60($s2) +/* 3243C0 802BDA70 C6460040 */ lwc1 $f6, 0x40($s2) +/* 3243C4 802BDA74 460A1081 */ sub.s $f2, $f2, $f10 +/* 3243C8 802BDA78 C664002C */ lwc1 $f4, 0x2c($s3) +/* 3243CC 802BDA7C 8642008E */ lh $v0, 0x8e($s2) +/* 3243D0 802BDA80 46002100 */ add.s $f4, $f4, $f0 +/* 3243D4 802BDA84 44820000 */ mtc1 $v0, $f0 +/* 3243D8 802BDA88 00000000 */ nop +/* 3243DC 802BDA8C 46800020 */ cvt.s.w $f0, $f0 +/* 3243E0 802BDA90 46001083 */ div.s $f2, $f2, $f0 +/* 3243E4 802BDA94 46025280 */ add.s $f10, $f10, $f2 +/* 3243E8 802BDA98 E6440064 */ swc1 $f4, 0x64($s2) +/* 3243EC 802BDA9C 46002006 */ mov.s $f0, $f4 +/* 3243F0 802BDAA0 C6620030 */ lwc1 $f2, 0x30($s3) +/* 3243F4 802BDAA4 46080001 */ sub.s $f0, $f0, $f8 +/* 3243F8 802BDAA8 E6420068 */ swc1 $f2, 0x68($s2) +/* 3243FC 802BDAAC 46061081 */ sub.s $f2, $f2, $f6 +/* 324400 802BDAB0 44822000 */ mtc1 $v0, $f4 +/* 324404 802BDAB4 00000000 */ nop +/* 324408 802BDAB8 46802120 */ cvt.s.w $f4, $f4 +/* 32440C 802BDABC 46040003 */ div.s $f0, $f0, $f4 +/* 324410 802BDAC0 46004200 */ add.s $f8, $f8, $f0 +/* 324414 802BDAC4 46002006 */ mov.s $f0, $f4 +/* 324418 802BDAC8 9642008E */ lhu $v0, 0x8e($s2) +/* 32441C 802BDACC 46001083 */ div.s $f2, $f2, $f0 +/* 324420 802BDAD0 46023180 */ add.s $f6, $f6, $f2 +/* 324424 802BDAD4 E64A0038 */ swc1 $f10, 0x38($s2) +/* 324428 802BDAD8 E648003C */ swc1 $f8, 0x3c($s2) +/* 32442C 802BDADC E6460040 */ swc1 $f6, 0x40($s2) +/* 324430 802BDAE0 C6640028 */ lwc1 $f4, 0x28($s3) +/* 324434 802BDAE4 46005006 */ mov.s $f0, $f10 +/* 324438 802BDAE8 460A2101 */ sub.s $f4, $f4, $f10 +/* 32443C 802BDAEC C662002C */ lwc1 $f2, 0x2c($s3) +/* 324440 802BDAF0 46004006 */ mov.s $f0, $f8 +/* 324444 802BDAF4 46081081 */ sub.s $f2, $f2, $f8 +/* 324448 802BDAF8 C6600030 */ lwc1 $f0, 0x30($s3) +/* 32444C 802BDAFC 2442FFFF */ addiu $v0, $v0, -1 +/* 324450 802BDB00 A642008E */ sh $v0, 0x8e($s2) +/* 324454 802BDB04 00021400 */ sll $v0, $v0, 0x10 +/* 324458 802BDB08 46060001 */ sub.s $f0, $f0, $f6 +/* 32445C 802BDB0C 4600240D */ trunc.w.s $f16, $f4 +/* 324460 802BDB10 3C01802C */ lui $at, 0x802c +/* 324464 802BDB14 E430E0E4 */ swc1 $f16, -0x1f1c($at) +/* 324468 802BDB18 4600140D */ trunc.w.s $f16, $f2 +/* 32446C 802BDB1C 3C01802C */ lui $at, 0x802c +/* 324470 802BDB20 E430E0E8 */ swc1 $f16, -0x1f18($at) +/* 324474 802BDB24 4600040D */ trunc.w.s $f16, $f0 +/* 324478 802BDB28 3C01802C */ lui $at, 0x802c +/* 32447C 802BDB2C E430E0EC */ swc1 $f16, -0x1f14($at) +/* 324480 802BDB30 144000A5 */ bnez $v0, .L802BDDC8 +/* 324484 802BDB34 0000102D */ daddu $v0, $zero, $zero +/* 324488 802BDB38 0240202D */ daddu $a0, $s2, $zero +/* 32448C 802BDB3C C6600080 */ lwc1 $f0, 0x80($s3) +/* 324490 802BDB40 24050007 */ addiu $a1, $zero, 7 +/* 324494 802BDB44 E480000C */ swc1 $f0, 0xc($a0) +/* 324498 802BDB48 9266000E */ lbu $a2, 0xe($s3) +/* 32449C 802BDB4C 0000382D */ daddu $a3, $zero, $zero +/* 3244A0 802BDB50 AFA00010 */ sw $zero, 0x10($sp) +/* 3244A4 802BDB54 AFA00014 */ sw $zero, 0x14($sp) +/* 3244A8 802BDB58 0C00F589 */ jal func_8003D624 +/* 3244AC 802BDB5C AFA00018 */ sw $zero, 0x18($sp) +/* 3244B0 802BDB60 3C040001 */ lui $a0, 1 +/* 3244B4 802BDB64 0C037FDE */ jal func_800DFF78 +/* 3244B8 802BDB68 34840014 */ ori $a0, $a0, 0x14 +/* 3244BC 802BDB6C 2404200E */ addiu $a0, $zero, 0x200e +/* 3244C0 802BDB70 0000282D */ daddu $a1, $zero, $zero +/* 3244C4 802BDB74 0C052742 */ jal play_sound_at_npc +/* 3244C8 802BDB78 2406FFFC */ addiu $a2, $zero, -4 +/* 3244CC 802BDB7C 24020001 */ addiu $v0, $zero, 1 +/* 3244D0 802BDB80 080AF771 */ j .L802BDDC4 +/* 3244D4 802BDB84 AE820070 */ sw $v0, 0x70($s4) +/* 3244D8 802BDB88 86220002 */ lh $v0, 2($s1) +/* 3244DC 802BDB8C 04400038 */ bltz $v0, .L802BDC70 +/* 3244E0 802BDB90 00000000 */ nop +/* 3244E4 802BDB94 9262000E */ lbu $v0, 0xe($s3) +/* 3244E8 802BDB98 2442FFF8 */ addiu $v0, $v0, -8 +/* 3244EC 802BDB9C A262000E */ sb $v0, 0xe($s3) +/* 3244F0 802BDBA0 304200FF */ andi $v0, $v0, 0xff +/* 3244F4 802BDBA4 2C420081 */ sltiu $v0, $v0, 0x81 +/* 3244F8 802BDBA8 1040000E */ beqz $v0, .L802BDBE4 +/* 3244FC 802BDBAC 24020080 */ addiu $v0, $zero, 0x80 +/* 324500 802BDBB0 A262000E */ sb $v0, 0xe($s3) +/* 324504 802BDBB4 24020016 */ addiu $v0, $zero, 0x16 +/* 324508 802BDBB8 A24200AA */ sb $v0, 0xaa($s2) +/* 32450C 802BDBBC 8E820070 */ lw $v0, 0x70($s4) +/* 324510 802BDBC0 24420001 */ addiu $v0, $v0, 1 +/* 324514 802BDBC4 AE820070 */ sw $v0, 0x70($s4) +/* 324518 802BDBC8 8E620000 */ lw $v0, ($s3) +/* 32451C 802BDBCC 2403FEFF */ addiu $v1, $zero, -0x101 +/* 324520 802BDBD0 00431024 */ and $v0, $v0, $v1 +/* 324524 802BDBD4 AE620000 */ sw $v0, ($s3) +/* 324528 802BDBD8 8E420000 */ lw $v0, ($s2) +/* 32452C 802BDBDC 34420040 */ ori $v0, $v0, 0x40 +/* 324530 802BDBE0 AE420000 */ sw $v0, ($s2) +.L802BDBE4: +/* 324534 802BDBE4 0C044181 */ jal get_shadow_by_index +/* 324538 802BDBE8 8E440078 */ lw $a0, 0x78($s2) +/* 32453C 802BDBEC 0240202D */ daddu $a0, $s2, $zero +/* 324540 802BDBF0 9263000E */ lbu $v1, 0xe($s3) +/* 324544 802BDBF4 24050007 */ addiu $a1, $zero, 7 +/* 324548 802BDBF8 00031842 */ srl $v1, $v1, 1 +/* 32454C 802BDBFC A0430005 */ sb $v1, 5($v0) +/* 324550 802BDC00 9266000E */ lbu $a2, 0xe($s3) +/* 324554 802BDC04 0000382D */ daddu $a3, $zero, $zero +/* 324558 802BDC08 AFA00010 */ sw $zero, 0x10($sp) +/* 32455C 802BDC0C AFA00014 */ sw $zero, 0x14($sp) +/* 324560 802BDC10 0C00F589 */ jal func_8003D624 +/* 324564 802BDC14 AFA00018 */ sw $zero, 0x18($sp) +/* 324568 802BDC18 C6600028 */ lwc1 $f0, 0x28($s3) +/* 32456C 802BDC1C 3C01802C */ lui $at, 0x802c +/* 324570 802BDC20 C422E0E4 */ lwc1 $f2, -0x1f1c($at) +/* 324574 802BDC24 468010A0 */ cvt.s.w $f2, $f2 +/* 324578 802BDC28 46020001 */ sub.s $f0, $f0, $f2 +/* 32457C 802BDC2C E6400038 */ swc1 $f0, 0x38($s2) +/* 324580 802BDC30 C660002C */ lwc1 $f0, 0x2c($s3) +/* 324584 802BDC34 3C01802C */ lui $at, 0x802c +/* 324588 802BDC38 C422E0E8 */ lwc1 $f2, -0x1f18($at) +/* 32458C 802BDC3C 468010A0 */ cvt.s.w $f2, $f2 +/* 324590 802BDC40 46020001 */ sub.s $f0, $f0, $f2 +/* 324594 802BDC44 E640003C */ swc1 $f0, 0x3c($s2) +/* 324598 802BDC48 C6600030 */ lwc1 $f0, 0x30($s3) +/* 32459C 802BDC4C 3C01802C */ lui $at, 0x802c +/* 3245A0 802BDC50 C422E0EC */ lwc1 $f2, -0x1f14($at) +/* 3245A4 802BDC54 468010A0 */ cvt.s.w $f2, $f2 +/* 3245A8 802BDC58 46020001 */ sub.s $f0, $f0, $f2 +/* 3245AC 802BDC5C 080AF771 */ j .L802BDDC4 +/* 3245B0 802BDC60 E6400040 */ swc1 $f0, 0x40($s2) +/* 3245B4 802BDC64 86220002 */ lh $v0, 2($s1) +/* 3245B8 802BDC68 04410005 */ bgez $v0, .L802BDC80 +/* 3245BC 802BDC6C 00000000 */ nop +.L802BDC70: +/* 3245C0 802BDC70 0C0AF77C */ jal func_802BDDF0 +/* 3245C4 802BDC74 0240202D */ daddu $a0, $s2, $zero +/* 3245C8 802BDC78 080AF772 */ j .L802BDDC8 +/* 3245CC 802BDC7C 24020002 */ addiu $v0, $zero, 2 +.L802BDC80: +/* 3245D0 802BDC80 C6600028 */ lwc1 $f0, 0x28($s3) +/* 3245D4 802BDC84 3C01802C */ lui $at, 0x802c +/* 3245D8 802BDC88 C422E0E4 */ lwc1 $f2, -0x1f1c($at) +/* 3245DC 802BDC8C 468010A0 */ cvt.s.w $f2, $f2 +/* 3245E0 802BDC90 46020001 */ sub.s $f0, $f0, $f2 +/* 3245E4 802BDC94 E6400038 */ swc1 $f0, 0x38($s2) +/* 3245E8 802BDC98 C660002C */ lwc1 $f0, 0x2c($s3) +/* 3245EC 802BDC9C 3C01802C */ lui $at, 0x802c +/* 3245F0 802BDCA0 C422E0E8 */ lwc1 $f2, -0x1f18($at) +/* 3245F4 802BDCA4 468010A0 */ cvt.s.w $f2, $f2 +/* 3245F8 802BDCA8 46020001 */ sub.s $f0, $f0, $f2 +/* 3245FC 802BDCAC E640003C */ swc1 $f0, 0x3c($s2) +/* 324600 802BDCB0 C6600030 */ lwc1 $f0, 0x30($s3) +/* 324604 802BDCB4 3C01802C */ lui $at, 0x802c +/* 324608 802BDCB8 C422E0EC */ lwc1 $f2, -0x1f14($at) +/* 32460C 802BDCBC 468010A0 */ cvt.s.w $f2, $f2 +/* 324610 802BDCC0 46020001 */ sub.s $f0, $f0, $f2 +/* 324614 802BDCC4 44806000 */ mtc1 $zero, $f12 +/* 324618 802BDCC8 E6400040 */ swc1 $f0, 0x40($s2) +/* 32461C 802BDCCC 86A20004 */ lh $v0, 4($s5) +/* 324620 802BDCD0 86A30006 */ lh $v1, 6($s5) +/* 324624 802BDCD4 44828000 */ mtc1 $v0, $f16 +/* 324628 802BDCD8 00000000 */ nop +/* 32462C 802BDCDC 46808420 */ cvt.s.w $f16, $f16 +/* 324630 802BDCE0 44068000 */ mfc1 $a2, $f16 +/* 324634 802BDCE4 44838000 */ mtc1 $v1, $f16 +/* 324638 802BDCE8 00000000 */ nop +/* 32463C 802BDCEC 46808420 */ cvt.s.w $f16, $f16 +/* 324640 802BDCF0 44078000 */ mfc1 $a3, $f16 +/* 324644 802BDCF4 0C00A7B5 */ jal dist2D +/* 324648 802BDCF8 46006386 */ mov.s $f14, $f12 +/* 32464C 802BDCFC 86220002 */ lh $v0, 2($s1) +/* 324650 802BDD00 04400010 */ bltz $v0, .L802BDD44 +/* 324654 802BDD04 46000086 */ mov.s $f2, $f0 +/* 324658 802BDD08 3C014120 */ lui $at, 0x4120 +/* 32465C 802BDD0C 44810000 */ mtc1 $at, $f0 +/* 324660 802BDD10 00000000 */ nop +/* 324664 802BDD14 4602003C */ c.lt.s $f0, $f2 +/* 324668 802BDD18 00000000 */ nop +/* 32466C 802BDD1C 45010009 */ bc1t .L802BDD44 +/* 324670 802BDD20 00000000 */ nop +/* 324674 802BDD24 8EA2000C */ lw $v0, 0xc($s5) +/* 324678 802BDD28 30424004 */ andi $v0, $v0, 0x4004 +/* 32467C 802BDD2C 14400005 */ bnez $v0, .L802BDD44 +/* 324680 802BDD30 00000000 */ nop +/* 324684 802BDD34 8E620000 */ lw $v0, ($s3) +/* 324688 802BDD38 30420800 */ andi $v0, $v0, 0x800 +/* 32468C 802BDD3C 10400022 */ beqz $v0, .L802BDDC8 +/* 324690 802BDD40 0000102D */ daddu $v0, $zero, $zero +.L802BDD44: +/* 324694 802BDD44 0C0AF550 */ jal func_802BD540 +/* 324698 802BDD48 00000000 */ nop +/* 32469C 802BDD4C 0441001E */ bgez $v0, .L802BDDC8 +/* 3246A0 802BDD50 0000102D */ daddu $v0, $zero, $zero +/* 3246A4 802BDD54 8E820070 */ lw $v0, 0x70($s4) +/* 3246A8 802BDD58 24030003 */ addiu $v1, $zero, 3 +/* 3246AC 802BDD5C AE830074 */ sw $v1, 0x74($s4) +/* 3246B0 802BDD60 24420001 */ addiu $v0, $v0, 1 +/* 3246B4 802BDD64 AE820070 */ sw $v0, 0x70($s4) +/* 3246B8 802BDD68 82620015 */ lb $v0, 0x15($s3) +/* 3246BC 802BDD6C 080AF771 */ j .L802BDDC4 +/* 3246C0 802BDD70 AE820078 */ sw $v0, 0x78($s4) +/* 3246C4 802BDD74 8E820074 */ lw $v0, 0x74($s4) +/* 3246C8 802BDD78 14400008 */ bnez $v0, .L802BDD9C +/* 3246CC 802BDD7C 2442FFFF */ addiu $v0, $v0, -1 +/* 3246D0 802BDD80 82630015 */ lb $v1, 0x15($s3) +/* 3246D4 802BDD84 8E820078 */ lw $v0, 0x78($s4) +/* 3246D8 802BDD88 0043102A */ slt $v0, $v0, $v1 +/* 3246DC 802BDD8C 10400005 */ beqz $v0, .L802BDDA4 +/* 3246E0 802BDD90 24020002 */ addiu $v0, $zero, 2 +/* 3246E4 802BDD94 080AF771 */ j .L802BDDC4 +/* 3246E8 802BDD98 AE820070 */ sw $v0, 0x70($s4) +.L802BDD9C: +/* 3246EC 802BDD9C 080AF771 */ j .L802BDDC4 +/* 3246F0 802BDDA0 AE820074 */ sw $v0, 0x74($s4) +.L802BDDA4: +/* 3246F4 802BDDA4 2404200F */ addiu $a0, $zero, 0x200f +/* 3246F8 802BDDA8 0000282D */ daddu $a1, $zero, $zero +/* 3246FC 802BDDAC 0C052742 */ jal play_sound_at_npc +/* 324700 802BDDB0 2406FFFC */ addiu $a2, $zero, -4 +/* 324704 802BDDB4 0C0AF77C */ jal func_802BDDF0 +/* 324708 802BDDB8 0240202D */ daddu $a0, $s2, $zero +/* 32470C 802BDDBC 080AF772 */ j .L802BDDC8 +/* 324710 802BDDC0 24020001 */ addiu $v0, $zero, 1 +.L802BDDC4: +/* 324714 802BDDC4 0000102D */ daddu $v0, $zero, $zero +.L802BDDC8: +/* 324718 802BDDC8 8FBF0038 */ lw $ra, 0x38($sp) +/* 32471C 802BDDCC 8FB50034 */ lw $s5, 0x34($sp) +/* 324720 802BDDD0 8FB40030 */ lw $s4, 0x30($sp) +/* 324724 802BDDD4 8FB3002C */ lw $s3, 0x2c($sp) +/* 324728 802BDDD8 8FB20028 */ lw $s2, 0x28($sp) +/* 32472C 802BDDDC 8FB10024 */ lw $s1, 0x24($sp) +/* 324730 802BDDE0 8FB00020 */ lw $s0, 0x20($sp) +/* 324734 802BDDE4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 324738 802BDDE8 03E00008 */ jr $ra +/* 32473C 802BDDEC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_323A50/func_802BDDF0.s b/asm/nonmatchings/code_323A50/func_802BDDF0.s new file mode 100644 index 0000000000..83a66fa912 --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BDDF0.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDDF0 +/* 324740 802BDDF0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 324744 802BDDF4 AFB10024 */ sw $s1, 0x24($sp) +/* 324748 802BDDF8 0080882D */ daddu $s1, $a0, $zero +/* 32474C 802BDDFC AFB00020 */ sw $s0, 0x20($sp) +/* 324750 802BDE00 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 324754 802BDE04 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 324758 802BDE08 240200FF */ addiu $v0, $zero, 0xff +/* 32475C 802BDE0C 0000282D */ daddu $a1, $zero, $zero +/* 324760 802BDE10 00A0302D */ daddu $a2, $a1, $zero +/* 324764 802BDE14 00A0382D */ daddu $a3, $a1, $zero +/* 324768 802BDE18 AFBF0034 */ sw $ra, 0x34($sp) +/* 32476C 802BDE1C AFB40030 */ sw $s4, 0x30($sp) +/* 324770 802BDE20 AFB3002C */ sw $s3, 0x2c($sp) +/* 324774 802BDE24 AFB20028 */ sw $s2, 0x28($sp) +/* 324778 802BDE28 A202000E */ sb $v0, 0xe($s0) +/* 32477C 802BDE2C AFA00010 */ sw $zero, 0x10($sp) +/* 324780 802BDE30 AFA00014 */ sw $zero, 0x14($sp) +/* 324784 802BDE34 0C00F589 */ jal func_8003D624 +/* 324788 802BDE38 AFA00018 */ sw $zero, 0x18($sp) +/* 32478C 802BDE3C 8E240078 */ lw $a0, 0x78($s1) +/* 324790 802BDE40 24020011 */ addiu $v0, $zero, 0x11 +/* 324794 802BDE44 0C044181 */ jal get_shadow_by_index +/* 324798 802BDE48 A22200AA */ sb $v0, 0xaa($s1) +/* 32479C 802BDE4C 9203000E */ lbu $v1, 0xe($s0) +/* 3247A0 802BDE50 3C12802C */ lui $s2, 0x802c +/* 3247A4 802BDE54 2652E0C4 */ addiu $s2, $s2, -0x1f3c +/* 3247A8 802BDE58 00031842 */ srl $v1, $v1, 1 +/* 3247AC 802BDE5C A0430005 */ sb $v1, 5($v0) +/* 3247B0 802BDE60 8E420000 */ lw $v0, ($s2) +/* 3247B4 802BDE64 3C138011 */ lui $s3, %hi(D_8010EBB0) +/* 3247B8 802BDE68 2673EBB0 */ addiu $s3, $s3, %lo(D_8010EBB0) +/* 3247BC 802BDE6C 10400003 */ beqz $v0, .L802BDE7C +/* 3247C0 802BDE70 0200A02D */ daddu $s4, $s0, $zero +/* 3247C4 802BDE74 0C038069 */ jal enable_player_input +/* 3247C8 802BDE78 00000000 */ nop +.L802BDE7C: +/* 3247CC 802BDE7C 3C03FFFF */ lui $v1, 0xffff +/* 3247D0 802BDE80 8E020000 */ lw $v0, ($s0) +/* 3247D4 802BDE84 34637FFD */ ori $v1, $v1, 0x7ffd +/* 3247D8 802BDE88 00431024 */ and $v0, $v0, $v1 +/* 3247DC 802BDE8C AE020000 */ sw $v0, ($s0) +/* 3247E0 802BDE90 8E220000 */ lw $v0, ($s1) +/* 3247E4 802BDE94 2403FFBD */ addiu $v1, $zero, -0x43 +/* 3247E8 802BDE98 00431024 */ and $v0, $v0, $v1 +/* 3247EC 802BDE9C AE220000 */ sw $v0, ($s1) +/* 3247F0 802BDEA0 8E020000 */ lw $v0, ($s0) +/* 3247F4 802BDEA4 0000202D */ daddu $a0, $zero, $zero +/* 3247F8 802BDEA8 30420800 */ andi $v0, $v0, 0x800 +/* 3247FC 802BDEAC 10400002 */ beqz $v0, .L802BDEB8 +/* 324800 802BDEB0 AE400000 */ sw $zero, ($s2) +/* 324804 802BDEB4 24040017 */ addiu $a0, $zero, 0x17 +.L802BDEB8: +/* 324808 802BDEB8 0C039769 */ jal set_action_state +/* 32480C 802BDEBC 00000000 */ nop +/* 324810 802BDEC0 0220202D */ daddu $a0, $s1, $zero +/* 324814 802BDEC4 A2600000 */ sb $zero, ($s3) +/* 324818 802BDEC8 A2600003 */ sb $zero, 3($s3) +/* 32481C 802BDECC 8E820000 */ lw $v0, ($s4) +/* 324820 802BDED0 2403FEFF */ addiu $v1, $zero, -0x101 +/* 324824 802BDED4 00431024 */ and $v0, $v0, $v1 +/* 324828 802BDED8 0C03BD17 */ jal clear_partner_move_history +/* 32482C 802BDEDC AE820000 */ sw $v0, ($s4) +/* 324830 802BDEE0 8FBF0034 */ lw $ra, 0x34($sp) +/* 324834 802BDEE4 8FB40030 */ lw $s4, 0x30($sp) +/* 324838 802BDEE8 8FB3002C */ lw $s3, 0x2c($sp) +/* 32483C 802BDEEC 8FB20028 */ lw $s2, 0x28($sp) +/* 324840 802BDEF0 8FB10024 */ lw $s1, 0x24($sp) +/* 324844 802BDEF4 8FB00020 */ lw $s0, 0x20($sp) +/* 324848 802BDEF8 3C01802C */ lui $at, 0x802c +/* 32484C 802BDEFC AC20E0C0 */ sw $zero, -0x1f40($at) +/* 324850 802BDF00 03E00008 */ jr $ra +/* 324854 802BDF04 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_323A50/func_802BDF08.s b/asm/nonmatchings/code_323A50/func_802BDF08.s new file mode 100644 index 0000000000..1301eea41f --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BDF08.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDF08 +/* 324858 802BDF08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32485C 802BDF0C AFBF0014 */ sw $ra, 0x14($sp) +/* 324860 802BDF10 AFB00010 */ sw $s0, 0x10($sp) +/* 324864 802BDF14 10A0000C */ beqz $a1, .L802BDF48 +/* 324868 802BDF18 8C90014C */ lw $s0, 0x14c($a0) +/* 32486C 802BDF1C 0C03BA65 */ jal func_800EE994 +/* 324870 802BDF20 0200202D */ daddu $a0, $s0, $zero +/* 324874 802BDF24 3C02802C */ lui $v0, 0x802c +/* 324878 802BDF28 8C42E0C0 */ lw $v0, -0x1f40($v0) +/* 32487C 802BDF2C 10400004 */ beqz $v0, .L802BDF40 +/* 324880 802BDF30 2404200F */ addiu $a0, $zero, 0x200f +/* 324884 802BDF34 0000282D */ daddu $a1, $zero, $zero +/* 324888 802BDF38 0C052742 */ jal play_sound_at_npc +/* 32488C 802BDF3C 2406FFFC */ addiu $a2, $zero, -4 +.L802BDF40: +/* 324890 802BDF40 0C0AF77C */ jal func_802BDDF0 +/* 324894 802BDF44 0200202D */ daddu $a0, $s0, $zero +.L802BDF48: +/* 324898 802BDF48 0C03BA6E */ jal func_800EE9B8 +/* 32489C 802BDF4C 0200202D */ daddu $a0, $s0, $zero +/* 3248A0 802BDF50 8FBF0014 */ lw $ra, 0x14($sp) +/* 3248A4 802BDF54 8FB00010 */ lw $s0, 0x10($sp) +/* 3248A8 802BDF58 0002102B */ sltu $v0, $zero, $v0 +/* 3248AC 802BDF5C 03E00008 */ jr $ra +/* 3248B0 802BDF60 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_323A50/func_802BDF64.s b/asm/nonmatchings/code_323A50/func_802BDF64.s new file mode 100644 index 0000000000..d6b1dd3b85 --- /dev/null +++ b/asm/nonmatchings/code_323A50/func_802BDF64.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BDF64 +/* 3248B4 802BDF64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 3248B8 802BDF68 AFB00010 */ sw $s0, 0x10($sp) +/* 3248BC 802BDF6C AFB20018 */ sw $s2, 0x18($sp) +/* 3248C0 802BDF70 3C12802C */ lui $s2, 0x802c +/* 3248C4 802BDF74 2652E0C0 */ addiu $s2, $s2, -0x1f40 +/* 3248C8 802BDF78 AFBF001C */ sw $ra, 0x1c($sp) +/* 3248CC 802BDF7C AFB10014 */ sw $s1, 0x14($sp) +/* 3248D0 802BDF80 8E420000 */ lw $v0, ($s2) +/* 3248D4 802BDF84 3C118011 */ lui $s1, %hi(D_8010EBB0) +/* 3248D8 802BDF88 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0) +/* 3248DC 802BDF8C 1040000E */ beqz $v0, .L802BDFC8 +/* 3248E0 802BDF90 0080802D */ daddu $s0, $a0, $zero +/* 3248E4 802BDF94 0C038069 */ jal enable_player_input +/* 3248E8 802BDF98 00000000 */ nop +/* 3248EC 802BDF9C 0C039769 */ jal set_action_state +/* 3248F0 802BDFA0 0000202D */ daddu $a0, $zero, $zero +/* 3248F4 802BDFA4 0C03BD17 */ jal clear_partner_move_history +/* 3248F8 802BDFA8 0200202D */ daddu $a0, $s0, $zero +/* 3248FC 802BDFAC A2200000 */ sb $zero, ($s1) +/* 324900 802BDFB0 A2200003 */ sb $zero, 3($s1) +/* 324904 802BDFB4 AE400000 */ sw $zero, ($s2) +/* 324908 802BDFB8 8E020000 */ lw $v0, ($s0) +/* 32490C 802BDFBC 2403FFFD */ addiu $v1, $zero, -3 +/* 324910 802BDFC0 00431024 */ and $v0, $v0, $v1 +/* 324914 802BDFC4 AE020000 */ sw $v0, ($s0) +.L802BDFC8: +/* 324918 802BDFC8 8FBF001C */ lw $ra, 0x1c($sp) +/* 32491C 802BDFCC 8FB20018 */ lw $s2, 0x18($sp) +/* 324920 802BDFD0 8FB10014 */ lw $s1, 0x14($sp) +/* 324924 802BDFD4 8FB00010 */ lw $s0, 0x10($sp) +/* 324928 802BDFD8 03E00008 */ jr $ra +/* 32492C 802BDFDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_324A10/func_802BD100_324A10.s b/asm/nonmatchings/code_324A10/func_802BD100_324A10.s new file mode 100644 index 0000000000..b93061c346 --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD100_324A10.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_324A10 +/* 324A10 802BD100 24020018 */ addiu $v0, $zero, 0x18 +/* 324A14 802BD104 A48200A8 */ sh $v0, 0xa8($a0) +/* 324A18 802BD108 24020014 */ addiu $v0, $zero, 0x14 +/* 324A1C 802BD10C 03E00008 */ jr $ra +/* 324A20 802BD110 A48200A6 */ sh $v0, 0xa6($a0) diff --git a/asm/nonmatchings/code_324A10/func_802BD114.s b/asm/nonmatchings/code_324A10/func_802BD114.s new file mode 100644 index 0000000000..9466c90728 --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD114.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD114 +/* 324A24 802BD114 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 324A28 802BD118 AFBF0014 */ sw $ra, 0x14($sp) +/* 324A2C 802BD11C AFB00010 */ sw $s0, 0x10($sp) +/* 324A30 802BD120 10A00003 */ beqz $a1, .L802BD130 +/* 324A34 802BD124 8C90014C */ lw $s0, 0x14c($a0) +/* 324A38 802BD128 0C03BB31 */ jal func_800EECC4 +/* 324A3C 802BD12C 0200202D */ daddu $a0, $s0, $zero +.L802BD130: +/* 324A40 802BD130 0C03BB3A */ jal func_800EECE8 +/* 324A44 802BD134 0200202D */ daddu $a0, $s0, $zero +/* 324A48 802BD138 8FBF0014 */ lw $ra, 0x14($sp) +/* 324A4C 802BD13C 8FB00010 */ lw $s0, 0x10($sp) +/* 324A50 802BD140 0002102B */ sltu $v0, $zero, $v0 +/* 324A54 802BD144 03E00008 */ jr $ra +/* 324A58 802BD148 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_324A10/func_802BD14C.s b/asm/nonmatchings/code_324A10/func_802BD14C.s new file mode 100644 index 0000000000..78609a784f --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD14C.s @@ -0,0 +1,247 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD14C +/* 324A5C 802BD14C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 324A60 802BD150 AFB00018 */ sw $s0, 0x18($sp) +/* 324A64 802BD154 3C108011 */ lui $s0, %hi(gPlayerData) +/* 324A68 802BD158 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 324A6C 802BD15C AFBF0028 */ sw $ra, 0x28($sp) +/* 324A70 802BD160 AFB30024 */ sw $s3, 0x24($sp) +/* 324A74 802BD164 AFB20020 */ sw $s2, 0x20($sp) +/* 324A78 802BD168 AFB1001C */ sw $s1, 0x1c($sp) +/* 324A7C 802BD16C F7B40030 */ sdc1 $f20, 0x30($sp) +/* 324A80 802BD170 8C91014C */ lw $s1, 0x14c($a0) +/* 324A84 802BD174 10A00009 */ beqz $a1, .L802BD19C +/* 324A88 802BD178 0220202D */ daddu $a0, $s1, $zero +/* 324A8C 802BD17C 0C03AE2A */ jal enable_partner_walking +/* 324A90 802BD180 24050001 */ addiu $a1, $zero, 1 +/* 324A94 802BD184 3C04802C */ lui $a0, 0x802c +/* 324A98 802BD188 8C84D58C */ lw $a0, -0x2a74($a0) +/* 324A9C 802BD18C 0C00A580 */ jal mem_clear +/* 324AA0 802BD190 2405001C */ addiu $a1, $zero, 0x1c +/* 324AA4 802BD194 3C018011 */ lui $at, 0x8011 +/* 324AA8 802BD198 AC20C954 */ sw $zero, -0x36ac($at) +.L802BD19C: +/* 324AAC 802BD19C 3C138011 */ lui $s3, 0x8011 +/* 324AB0 802BD1A0 2673C954 */ addiu $s3, $s3, -0x36ac +/* 324AB4 802BD1A4 8E020308 */ lw $v0, 0x308($s0) +/* 324AB8 802BD1A8 8E720000 */ lw $s2, ($s3) +/* 324ABC 802BD1AC 24420001 */ addiu $v0, $v0, 1 +/* 324AC0 802BD1B0 16400007 */ bnez $s2, .L802BD1D0 +/* 324AC4 802BD1B4 AE020308 */ sw $v0, 0x308($s0) +/* 324AC8 802BD1B8 0C03AE8F */ jal func_800EBA3C +/* 324ACC 802BD1BC 0220202D */ daddu $a0, $s1, $zero +/* 324AD0 802BD1C0 0C03AED0 */ jal func_800EBB40 +/* 324AD4 802BD1C4 0220202D */ daddu $a0, $s1, $zero +/* 324AD8 802BD1C8 080AF530 */ j .L802BD4C0 +/* 324ADC 802BD1CC 0000102D */ daddu $v0, $zero, $zero +.L802BD1D0: +/* 324AE0 802BD1D0 3C10802C */ lui $s0, 0x802c +/* 324AE4 802BD1D4 2610D58C */ addiu $s0, $s0, -0x2a74 +/* 324AE8 802BD1D8 8E040000 */ lw $a0, ($s0) +/* 324AEC 802BD1DC 8C830004 */ lw $v1, 4($a0) +/* 324AF0 802BD1E0 24050001 */ addiu $a1, $zero, 1 +/* 324AF4 802BD1E4 10650030 */ beq $v1, $a1, .L802BD2A8 +/* 324AF8 802BD1E8 28620002 */ slti $v0, $v1, 2 +/* 324AFC 802BD1EC 10400005 */ beqz $v0, .L802BD204 +/* 324B00 802BD1F0 24020002 */ addiu $v0, $zero, 2 +/* 324B04 802BD1F4 10600009 */ beqz $v1, .L802BD21C +/* 324B08 802BD1F8 0000102D */ daddu $v0, $zero, $zero +/* 324B0C 802BD1FC 080AF530 */ j .L802BD4C0 +/* 324B10 802BD200 00000000 */ nop +.L802BD204: +/* 324B14 802BD204 1062009A */ beq $v1, $v0, .L802BD470 +/* 324B18 802BD208 24020003 */ addiu $v0, $zero, 3 +/* 324B1C 802BD20C 106200A0 */ beq $v1, $v0, .L802BD490 +/* 324B20 802BD210 0000102D */ daddu $v0, $zero, $zero +/* 324B24 802BD214 080AF530 */ j .L802BD4C0 +/* 324B28 802BD218 00000000 */ nop +.L802BD21C: +/* 324B2C 802BD21C AC850004 */ sw $a1, 4($a0) +/* 324B30 802BD220 8E220000 */ lw $v0, ($s1) +/* 324B34 802BD224 AC820008 */ sw $v0, 8($a0) +/* 324B38 802BD228 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 324B3C 802BD22C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 324B40 802BD230 8E460048 */ lw $a2, 0x48($s2) +/* 324B44 802BD234 0C00A7B5 */ jal dist2D +/* 324B48 802BD238 8E470050 */ lw $a3, 0x50($s2) +/* 324B4C 802BD23C 8E020000 */ lw $v0, ($s0) +/* 324B50 802BD240 46000005 */ abs.s $f0, $f0 +/* 324B54 802BD244 E440000C */ swc1 $f0, 0xc($v0) +/* 324B58 802BD248 C64C0048 */ lwc1 $f12, 0x48($s2) +/* 324B5C 802BD24C C64E0050 */ lwc1 $f14, 0x50($s2) +/* 324B60 802BD250 8E260038 */ lw $a2, 0x38($s1) +/* 324B64 802BD254 0C00A720 */ jal atan2 +/* 324B68 802BD258 8E270040 */ lw $a3, 0x40($s1) +/* 324B6C 802BD25C 3C040004 */ lui $a0, 4 +/* 324B70 802BD260 24020078 */ addiu $v0, $zero, 0x78 +/* 324B74 802BD264 8E030000 */ lw $v1, ($s0) +/* 324B78 802BD268 3C0140C0 */ lui $at, 0x40c0 +/* 324B7C 802BD26C 44811000 */ mtc1 $at, $f2 +/* 324B80 802BD270 3C014248 */ lui $at, 0x4248 +/* 324B84 802BD274 44812000 */ mtc1 $at, $f4 +/* 324B88 802BD278 34840148 */ ori $a0, $a0, 0x148 +/* 324B8C 802BD27C E4600010 */ swc1 $f0, 0x10($v1) +/* 324B90 802BD280 E4620014 */ swc1 $f2, 0x14($v1) +/* 324B94 802BD284 E4640018 */ swc1 $f4, 0x18($v1) +/* 324B98 802BD288 AC620000 */ sw $v0, ($v1) +/* 324B9C 802BD28C 8E220000 */ lw $v0, ($s1) +/* 324BA0 802BD290 2403FDFF */ addiu $v1, $zero, -0x201 +/* 324BA4 802BD294 00441025 */ or $v0, $v0, $a0 +/* 324BA8 802BD298 00431024 */ and $v0, $v0, $v1 +/* 324BAC 802BD29C AE220000 */ sw $v0, ($s1) +/* 324BB0 802BD2A0 3C10802C */ lui $s0, 0x802c +/* 324BB4 802BD2A4 2610D58C */ addiu $s0, $s0, -0x2a74 +.L802BD2A8: +/* 324BB8 802BD2A8 8E020000 */ lw $v0, ($s0) +/* 324BBC 802BD2AC 3C0140C9 */ lui $at, 0x40c9 +/* 324BC0 802BD2B0 34210FD0 */ ori $at, $at, 0xfd0 +/* 324BC4 802BD2B4 44810000 */ mtc1 $at, $f0 +/* 324BC8 802BD2B8 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 324BCC 802BD2BC 46006302 */ mul.s $f12, $f12, $f0 +/* 324BD0 802BD2C0 00000000 */ nop +/* 324BD4 802BD2C4 27A50010 */ addiu $a1, $sp, 0x10 +/* 324BD8 802BD2C8 3C0143B4 */ lui $at, 0x43b4 +/* 324BDC 802BD2CC 44810000 */ mtc1 $at, $f0 +/* 324BE0 802BD2D0 27A60014 */ addiu $a2, $sp, 0x14 +/* 324BE4 802BD2D4 0C00A82D */ jal sin_cos_rad +/* 324BE8 802BD2D8 46006303 */ div.s $f12, $f12, $f0 +/* 324BEC 802BD2DC 8E020000 */ lw $v0, ($s0) +/* 324BF0 802BD2E0 C7A20010 */ lwc1 $f2, 0x10($sp) +/* 324BF4 802BD2E4 C440000C */ lwc1 $f0, 0xc($v0) +/* 324BF8 802BD2E8 46001082 */ mul.s $f2, $f2, $f0 +/* 324BFC 802BD2EC 00000000 */ nop +/* 324C00 802BD2F0 C6400048 */ lwc1 $f0, 0x48($s2) +/* 324C04 802BD2F4 46020000 */ add.s $f0, $f0, $f2 +/* 324C08 802BD2F8 E6200038 */ swc1 $f0, 0x38($s1) +/* 324C0C 802BD2FC C7A20014 */ lwc1 $f2, 0x14($sp) +/* 324C10 802BD300 C440000C */ lwc1 $f0, 0xc($v0) +/* 324C14 802BD304 46001082 */ mul.s $f2, $f2, $f0 +/* 324C18 802BD308 00000000 */ nop +/* 324C1C 802BD30C C6400050 */ lwc1 $f0, 0x50($s2) +/* 324C20 802BD310 46020001 */ sub.s $f0, $f0, $f2 +/* 324C24 802BD314 E6200040 */ swc1 $f0, 0x40($s1) +/* 324C28 802BD318 C4400010 */ lwc1 $f0, 0x10($v0) +/* 324C2C 802BD31C C44C0014 */ lwc1 $f12, 0x14($v0) +/* 324C30 802BD320 0C00A6C9 */ jal clamp_angle +/* 324C34 802BD324 460C0301 */ sub.s $f12, $f0, $f12 +/* 324C38 802BD328 8E100000 */ lw $s0, ($s0) +/* 324C3C 802BD32C 3C0141A0 */ lui $at, 0x41a0 +/* 324C40 802BD330 44811000 */ mtc1 $at, $f2 +/* 324C44 802BD334 C604000C */ lwc1 $f4, 0xc($s0) +/* 324C48 802BD338 4604103C */ c.lt.s $f2, $f4 +/* 324C4C 802BD33C 00000000 */ nop +/* 324C50 802BD340 45000005 */ bc1f .L802BD358 +/* 324C54 802BD344 E6000010 */ swc1 $f0, 0x10($s0) +/* 324C58 802BD348 3C013F80 */ lui $at, 0x3f80 +/* 324C5C 802BD34C 44810000 */ mtc1 $at, $f0 +/* 324C60 802BD350 080AF4E1 */ j .L802BD384 +/* 324C64 802BD354 46002001 */ sub.s $f0, $f4, $f0 +.L802BD358: +/* 324C68 802BD358 3C014198 */ lui $at, 0x4198 +/* 324C6C 802BD35C 44810000 */ mtc1 $at, $f0 +/* 324C70 802BD360 00000000 */ nop +/* 324C74 802BD364 4600203C */ c.lt.s $f4, $f0 +/* 324C78 802BD368 00000000 */ nop +/* 324C7C 802BD36C 45000006 */ bc1f .L802BD388 +/* 324C80 802BD370 00000000 */ nop +/* 324C84 802BD374 3C013F80 */ lui $at, 0x3f80 +/* 324C88 802BD378 44810000 */ mtc1 $at, $f0 +/* 324C8C 802BD37C 00000000 */ nop +/* 324C90 802BD380 46002000 */ add.s $f0, $f4, $f0 +.L802BD384: +/* 324C94 802BD384 E600000C */ swc1 $f0, 0xc($s0) +.L802BD388: +/* 324C98 802BD388 3C10802C */ lui $s0, 0x802c +/* 324C9C 802BD38C 2610D58C */ addiu $s0, $s0, -0x2a74 +/* 324CA0 802BD390 8E020000 */ lw $v0, ($s0) +/* 324CA4 802BD394 3C0140C9 */ lui $at, 0x40c9 +/* 324CA8 802BD398 34210FD0 */ ori $at, $at, 0xfd0 +/* 324CAC 802BD39C 44810000 */ mtc1 $at, $f0 +/* 324CB0 802BD3A0 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 324CB4 802BD3A4 46006302 */ mul.s $f12, $f12, $f0 +/* 324CB8 802BD3A8 00000000 */ nop +/* 324CBC 802BD3AC 3C0143B4 */ lui $at, 0x43b4 +/* 324CC0 802BD3B0 4481A000 */ mtc1 $at, $f20 +/* 324CC4 802BD3B4 0C00A85B */ jal sin_rad +/* 324CC8 802BD3B8 46146303 */ div.s $f12, $f12, $f20 +/* 324CCC 802BD3BC 8E020000 */ lw $v0, ($s0) +/* 324CD0 802BD3C0 3C014040 */ lui $at, 0x4040 +/* 324CD4 802BD3C4 44812000 */ mtc1 $at, $f4 +/* 324CD8 802BD3C8 C4420018 */ lwc1 $f2, 0x18($v0) +/* 324CDC 802BD3CC 46041080 */ add.s $f2, $f2, $f4 +/* 324CE0 802BD3D0 3C014316 */ lui $at, 0x4316 +/* 324CE4 802BD3D4 44813000 */ mtc1 $at, $f6 +/* 324CE8 802BD3D8 00000000 */ nop +/* 324CEC 802BD3DC 4602303C */ c.lt.s $f6, $f2 +/* 324CF0 802BD3E0 E4420018 */ swc1 $f2, 0x18($v0) +/* 324CF4 802BD3E4 46040082 */ mul.s $f2, $f0, $f4 +/* 324CF8 802BD3E8 00000000 */ nop +/* 324CFC 802BD3EC 45030001 */ bc1tl .L802BD3F4 +/* 324D00 802BD3F0 E4460018 */ swc1 $f6, 0x18($v0) +.L802BD3F4: +/* 324D04 802BD3F4 C620003C */ lwc1 $f0, 0x3c($s1) +/* 324D08 802BD3F8 46020000 */ add.s $f0, $f0, $f2 +/* 324D0C 802BD3FC 8E020000 */ lw $v0, ($s0) +/* 324D10 802BD400 E620003C */ swc1 $f0, 0x3c($s1) +/* 324D14 802BD404 C44C0010 */ lwc1 $f12, 0x10($v0) +/* 324D18 802BD408 0C00A6C9 */ jal clamp_angle +/* 324D1C 802BD40C 460CA301 */ sub.s $f12, $f20, $f12 +/* 324D20 802BD410 8E020000 */ lw $v0, ($s0) +/* 324D24 802BD414 E6200034 */ swc1 $f0, 0x34($s1) +/* 324D28 802BD418 C4400014 */ lwc1 $f0, 0x14($v0) +/* 324D2C 802BD41C 3C01802C */ lui $at, 0x802c +/* 324D30 802BD420 D422D5F0 */ ldc1 $f2, -0x2a10($at) +/* 324D34 802BD424 46000021 */ cvt.d.s $f0, $f0 +/* 324D38 802BD428 46220000 */ add.d $f0, $f0, $f2 +/* 324D3C 802BD42C 3C014220 */ lui $at, 0x4220 +/* 324D40 802BD430 44811000 */ mtc1 $at, $f2 +/* 324D44 802BD434 46200020 */ cvt.s.d $f0, $f0 +/* 324D48 802BD438 4600103C */ c.lt.s $f2, $f0 +/* 324D4C 802BD43C 00000000 */ nop +/* 324D50 802BD440 45000002 */ bc1f .L802BD44C +/* 324D54 802BD444 E4400014 */ swc1 $f0, 0x14($v0) +/* 324D58 802BD448 E4420014 */ swc1 $f2, 0x14($v0) +.L802BD44C: +/* 324D5C 802BD44C 8E030000 */ lw $v1, ($s0) +/* 324D60 802BD450 8C620000 */ lw $v0, ($v1) +/* 324D64 802BD454 2442FFFF */ addiu $v0, $v0, -1 +/* 324D68 802BD458 14400018 */ bnez $v0, .L802BD4BC +/* 324D6C 802BD45C AC620000 */ sw $v0, ($v1) +/* 324D70 802BD460 8C620004 */ lw $v0, 4($v1) +/* 324D74 802BD464 24420001 */ addiu $v0, $v0, 1 +/* 324D78 802BD468 080AF52F */ j .L802BD4BC +/* 324D7C 802BD46C AC620004 */ sw $v0, 4($v1) +.L802BD470: +/* 324D80 802BD470 8C820008 */ lw $v0, 8($a0) +/* 324D84 802BD474 AE220000 */ sw $v0, ($s1) +/* 324D88 802BD478 8C820004 */ lw $v0, 4($a0) +/* 324D8C 802BD47C 2403001E */ addiu $v1, $zero, 0x1e +/* 324D90 802BD480 AC830000 */ sw $v1, ($a0) +/* 324D94 802BD484 24420001 */ addiu $v0, $v0, 1 +/* 324D98 802BD488 080AF52F */ j .L802BD4BC +/* 324D9C 802BD48C AC820004 */ sw $v0, 4($a0) +.L802BD490: +/* 324DA0 802BD490 0C03AE8F */ jal func_800EBA3C +/* 324DA4 802BD494 0220202D */ daddu $a0, $s1, $zero +/* 324DA8 802BD498 0C03AED0 */ jal func_800EBB40 +/* 324DAC 802BD49C 0220202D */ daddu $a0, $s1, $zero +/* 324DB0 802BD4A0 8E030000 */ lw $v1, ($s0) +/* 324DB4 802BD4A4 8C620000 */ lw $v0, ($v1) +/* 324DB8 802BD4A8 2442FFFF */ addiu $v0, $v0, -1 +/* 324DBC 802BD4AC 14400003 */ bnez $v0, .L802BD4BC +/* 324DC0 802BD4B0 AC620000 */ sw $v0, ($v1) +/* 324DC4 802BD4B4 AC600004 */ sw $zero, 4($v1) +/* 324DC8 802BD4B8 AE600000 */ sw $zero, ($s3) +.L802BD4BC: +/* 324DCC 802BD4BC 0000102D */ daddu $v0, $zero, $zero +.L802BD4C0: +/* 324DD0 802BD4C0 8FBF0028 */ lw $ra, 0x28($sp) +/* 324DD4 802BD4C4 8FB30024 */ lw $s3, 0x24($sp) +/* 324DD8 802BD4C8 8FB20020 */ lw $s2, 0x20($sp) +/* 324DDC 802BD4CC 8FB1001C */ lw $s1, 0x1c($sp) +/* 324DE0 802BD4D0 8FB00018 */ lw $s0, 0x18($sp) +/* 324DE4 802BD4D4 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 324DE8 802BD4D8 03E00008 */ jr $ra +/* 324DEC 802BD4DC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_324A10/func_802BD4E0.s b/asm/nonmatchings/code_324A10/func_802BD4E0.s new file mode 100644 index 0000000000..9c65df6bfb --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD4E0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD4E0 +/* 324DF0 802BD4E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 324DF4 802BD4E4 3C058011 */ lui $a1, 0x8011 +/* 324DF8 802BD4E8 24A5C954 */ addiu $a1, $a1, -0x36ac +/* 324DFC 802BD4EC AFBF0010 */ sw $ra, 0x10($sp) +/* 324E00 802BD4F0 8CA20000 */ lw $v0, ($a1) +/* 324E04 802BD4F4 10400008 */ beqz $v0, .L802BD518 +/* 324E08 802BD4F8 00000000 */ nop +/* 324E0C 802BD4FC 3C03802C */ lui $v1, 0x802c +/* 324E10 802BD500 8C63D58C */ lw $v1, -0x2a74($v1) +/* 324E14 802BD504 8C620008 */ lw $v0, 8($v1) +/* 324E18 802BD508 ACA00000 */ sw $zero, ($a1) +/* 324E1C 802BD50C AC820000 */ sw $v0, ($a0) +/* 324E20 802BD510 0C03BD17 */ jal clear_partner_move_history +/* 324E24 802BD514 AC600004 */ sw $zero, 4($v1) +.L802BD518: +/* 324E28 802BD518 8FBF0010 */ lw $ra, 0x10($sp) +/* 324E2C 802BD51C 03E00008 */ jr $ra +/* 324E30 802BD520 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_324A10/func_802BD524.s b/asm/nonmatchings/code_324A10/func_802BD524.s new file mode 100644 index 0000000000..08277634a7 --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD524.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD524 +/* 324E34 802BD524 03E00008 */ jr $ra +/* 324E38 802BD528 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/code_324A10/func_802BD52C.s b/asm/nonmatchings/code_324A10/func_802BD52C.s new file mode 100644 index 0000000000..47958dc8d4 --- /dev/null +++ b/asm/nonmatchings/code_324A10/func_802BD52C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD52C +/* 324E3C 802BD52C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 324E40 802BD530 AFBF0014 */ sw $ra, 0x14($sp) +/* 324E44 802BD534 AFB00010 */ sw $s0, 0x10($sp) +/* 324E48 802BD538 10A00003 */ beqz $a1, .L802BD548 +/* 324E4C 802BD53C 8C90014C */ lw $s0, 0x14c($a0) +/* 324E50 802BD540 0C03BA65 */ jal func_800EE994 +/* 324E54 802BD544 0200202D */ daddu $a0, $s0, $zero +.L802BD548: +/* 324E58 802BD548 0C03BA6E */ jal func_800EE9B8 +/* 324E5C 802BD54C 0200202D */ daddu $a0, $s0, $zero +/* 324E60 802BD550 8FBF0014 */ lw $ra, 0x14($sp) +/* 324E64 802BD554 8FB00010 */ lw $s0, 0x10($sp) +/* 324E68 802BD558 0002102B */ sltu $v0, $zero, $v0 +/* 324E6C 802BD55C 03E00008 */ jr $ra +/* 324E70 802BD560 27BD0018 */ addiu $sp, $sp, 0x18 +/* 324E74 802BD564 00000000 */ nop +/* 324E78 802BD568 00000000 */ nop +/* 324E7C 802BD56C 00000000 */ nop diff --git a/asm/nonmatchings/code_324F10/func_802BD100_324F10.s b/asm/nonmatchings/code_324F10/func_802BD100_324F10.s new file mode 100644 index 0000000000..5c9845f850 --- /dev/null +++ b/asm/nonmatchings/code_324F10/func_802BD100_324F10.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_324F10 +/* 324F10 802BD100 24020018 */ addiu $v0, $zero, 0x18 +/* 324F14 802BD104 A48200A8 */ sh $v0, 0xa8($a0) +/* 324F18 802BD108 24020014 */ addiu $v0, $zero, 0x14 +/* 324F1C 802BD10C 03E00008 */ jr $ra +/* 324F20 802BD110 A48200A6 */ sh $v0, 0xa6($a0) diff --git a/asm/nonmatchings/code_324F10/func_802BD114_324F10.s b/asm/nonmatchings/code_324F10/func_802BD114_324F10.s new file mode 100644 index 0000000000..c88c4d71f7 --- /dev/null +++ b/asm/nonmatchings/code_324F10/func_802BD114_324F10.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD114_324F10 +/* 324F24 802BD114 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 324F28 802BD118 AFBF0014 */ sw $ra, 0x14($sp) +/* 324F2C 802BD11C AFB00010 */ sw $s0, 0x10($sp) +/* 324F30 802BD120 10A00003 */ beqz $a1, .L802BD130 +/* 324F34 802BD124 8C90014C */ lw $s0, 0x14c($a0) +/* 324F38 802BD128 0C03BB31 */ jal func_800EECC4 +/* 324F3C 802BD12C 0200202D */ daddu $a0, $s0, $zero +.L802BD130: +/* 324F40 802BD130 0C03BB3A */ jal func_800EECE8 +/* 324F44 802BD134 0200202D */ daddu $a0, $s0, $zero +/* 324F48 802BD138 8FBF0014 */ lw $ra, 0x14($sp) +/* 324F4C 802BD13C 8FB00010 */ lw $s0, 0x10($sp) +/* 324F50 802BD140 0002102B */ sltu $v0, $zero, $v0 +/* 324F54 802BD144 03E00008 */ jr $ra +/* 324F58 802BD148 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_324F10/func_802BD14C_324F10.s b/asm/nonmatchings/code_324F10/func_802BD14C_324F10.s new file mode 100644 index 0000000000..810cda6b13 --- /dev/null +++ b/asm/nonmatchings/code_324F10/func_802BD14C_324F10.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD14C_324F10 +/* 324F5C 802BD14C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 324F60 802BD150 AFB10014 */ sw $s1, 0x14($sp) +/* 324F64 802BD154 3C118011 */ lui $s1, %hi(gPlayerData) +/* 324F68 802BD158 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 324F6C 802BD15C AFBF0018 */ sw $ra, 0x18($sp) +/* 324F70 802BD160 AFB00010 */ sw $s0, 0x10($sp) +/* 324F74 802BD164 8C90014C */ lw $s0, 0x14c($a0) +/* 324F78 802BD168 10A00003 */ beqz $a1, .L802BD178 +/* 324F7C 802BD16C 0200202D */ daddu $a0, $s0, $zero +/* 324F80 802BD170 0C03AE2A */ jal enable_partner_walking +/* 324F84 802BD174 24050001 */ addiu $a1, $zero, 1 +.L802BD178: +/* 324F88 802BD178 0C03AE8F */ jal func_800EBA3C +/* 324F8C 802BD17C 0200202D */ daddu $a0, $s0, $zero +/* 324F90 802BD180 0C03AED0 */ jal func_800EBB40 +/* 324F94 802BD184 0200202D */ daddu $a0, $s0, $zero +/* 324F98 802BD188 8E22031C */ lw $v0, 0x31c($s1) +/* 324F9C 802BD18C 24420001 */ addiu $v0, $v0, 1 +/* 324FA0 802BD190 AE22031C */ sw $v0, 0x31c($s1) +/* 324FA4 802BD194 8FBF0018 */ lw $ra, 0x18($sp) +/* 324FA8 802BD198 8FB10014 */ lw $s1, 0x14($sp) +/* 324FAC 802BD19C 8FB00010 */ lw $s0, 0x10($sp) +/* 324FB0 802BD1A0 0000102D */ daddu $v0, $zero, $zero +/* 324FB4 802BD1A4 03E00008 */ jr $ra +/* 324FB8 802BD1A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_324F10/func_802BD1AC_324F10.s b/asm/nonmatchings/code_324F10/func_802BD1AC_324F10.s new file mode 100644 index 0000000000..dbdb8d2016 --- /dev/null +++ b/asm/nonmatchings/code_324F10/func_802BD1AC_324F10.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1AC_324F10 +/* 324FBC 802BD1AC 03E00008 */ jr $ra +/* 324FC0 802BD1B0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/code_324F10/func_802BD1B4.s b/asm/nonmatchings/code_324F10/func_802BD1B4.s new file mode 100644 index 0000000000..3ceb9239aa --- /dev/null +++ b/asm/nonmatchings/code_324F10/func_802BD1B4.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1B4 +/* 324FC4 802BD1B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 324FC8 802BD1B8 AFBF0014 */ sw $ra, 0x14($sp) +/* 324FCC 802BD1BC AFB00010 */ sw $s0, 0x10($sp) +/* 324FD0 802BD1C0 10A00003 */ beqz $a1, .L802BD1D0 +/* 324FD4 802BD1C4 8C90014C */ lw $s0, 0x14c($a0) +/* 324FD8 802BD1C8 0C03BA65 */ jal func_800EE994 +/* 324FDC 802BD1CC 0200202D */ daddu $a0, $s0, $zero +.L802BD1D0: +/* 324FE0 802BD1D0 0C03BA6E */ jal func_800EE9B8 +/* 324FE4 802BD1D4 0200202D */ daddu $a0, $s0, $zero +/* 324FE8 802BD1D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 324FEC 802BD1DC 8FB00010 */ lw $s0, 0x10($sp) +/* 324FF0 802BD1E0 0002102B */ sltu $v0, $zero, $v0 +/* 324FF4 802BD1E4 03E00008 */ jr $ra +/* 324FF8 802BD1E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 324FFC 802BD1EC 00000000 */ nop diff --git a/asm/nonmatchings/code_325070/func_802BD100_325070.s b/asm/nonmatchings/code_325070/func_802BD100_325070.s new file mode 100644 index 0000000000..cccff73b5e --- /dev/null +++ b/asm/nonmatchings/code_325070/func_802BD100_325070.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_325070 +/* 325070 802BD100 24020014 */ addiu $v0, $zero, 0x14 +/* 325074 802BD104 A48200A8 */ sh $v0, 0xa8($a0) +/* 325078 802BD108 03E00008 */ jr $ra +/* 32507C 802BD10C A48200A6 */ sh $v0, 0xa6($a0) diff --git a/asm/nonmatchings/code_325070/func_802BD110.s b/asm/nonmatchings/code_325070/func_802BD110.s new file mode 100644 index 0000000000..f0ee911ea6 --- /dev/null +++ b/asm/nonmatchings/code_325070/func_802BD110.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD110 +/* 325080 802BD110 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 325084 802BD114 AFBF0014 */ sw $ra, 0x14($sp) +/* 325088 802BD118 AFB00010 */ sw $s0, 0x10($sp) +/* 32508C 802BD11C 10A00003 */ beqz $a1, .L802BD12C +/* 325090 802BD120 8C90014C */ lw $s0, 0x14c($a0) +/* 325094 802BD124 0C03BB31 */ jal func_800EECC4 +/* 325098 802BD128 0200202D */ daddu $a0, $s0, $zero +.L802BD12C: +/* 32509C 802BD12C 0C03BB3A */ jal func_800EECE8 +/* 3250A0 802BD130 0200202D */ daddu $a0, $s0, $zero +/* 3250A4 802BD134 8FBF0014 */ lw $ra, 0x14($sp) +/* 3250A8 802BD138 8FB00010 */ lw $s0, 0x10($sp) +/* 3250AC 802BD13C 0002102B */ sltu $v0, $zero, $v0 +/* 3250B0 802BD140 03E00008 */ jr $ra +/* 3250B4 802BD144 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_325070/func_802BD148_325070.s b/asm/nonmatchings/code_325070/func_802BD148_325070.s new file mode 100644 index 0000000000..fa75507479 --- /dev/null +++ b/asm/nonmatchings/code_325070/func_802BD148_325070.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD148_325070 +/* 3250B8 802BD148 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 3250BC 802BD14C AFB10014 */ sw $s1, 0x14($sp) +/* 3250C0 802BD150 3C118011 */ lui $s1, %hi(gPlayerData) +/* 3250C4 802BD154 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 3250C8 802BD158 AFBF0018 */ sw $ra, 0x18($sp) +/* 3250CC 802BD15C AFB00010 */ sw $s0, 0x10($sp) +/* 3250D0 802BD160 8C90014C */ lw $s0, 0x14c($a0) +/* 3250D4 802BD164 10A00003 */ beqz $a1, .L802BD174 +/* 3250D8 802BD168 0200202D */ daddu $a0, $s0, $zero +/* 3250DC 802BD16C 0C03B4C4 */ jal enable_partner_flying +/* 3250E0 802BD170 24050001 */ addiu $a1, $zero, 1 +.L802BD174: +/* 3250E4 802BD174 0C03B52E */ jal update_player_move_history +/* 3250E8 802BD178 0200202D */ daddu $a0, $s0, $zero +/* 3250EC 802BD17C 0C03B574 */ jal func_800ED5D0 +/* 3250F0 802BD180 0200202D */ daddu $a0, $s0, $zero +/* 3250F4 802BD184 8E220320 */ lw $v0, 0x320($s1) +/* 3250F8 802BD188 24420001 */ addiu $v0, $v0, 1 +/* 3250FC 802BD18C AE220320 */ sw $v0, 0x320($s1) +/* 325100 802BD190 8FBF0018 */ lw $ra, 0x18($sp) +/* 325104 802BD194 8FB10014 */ lw $s1, 0x14($sp) +/* 325108 802BD198 8FB00010 */ lw $s0, 0x10($sp) +/* 32510C 802BD19C 0000102D */ daddu $v0, $zero, $zero +/* 325110 802BD1A0 03E00008 */ jr $ra +/* 325114 802BD1A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_325070/func_802BD1A8.s b/asm/nonmatchings/code_325070/func_802BD1A8.s new file mode 100644 index 0000000000..5b20d7110d --- /dev/null +++ b/asm/nonmatchings/code_325070/func_802BD1A8.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1A8 +/* 325118 802BD1A8 03E00008 */ jr $ra +/* 32511C 802BD1AC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/code_325070/func_802BD1B0.s b/asm/nonmatchings/code_325070/func_802BD1B0.s new file mode 100644 index 0000000000..0810ce5340 --- /dev/null +++ b/asm/nonmatchings/code_325070/func_802BD1B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1B0 +/* 325120 802BD1B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 325124 802BD1B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 325128 802BD1B8 AFB00010 */ sw $s0, 0x10($sp) +/* 32512C 802BD1BC 10A00003 */ beqz $a1, .L802BD1CC +/* 325130 802BD1C0 8C90014C */ lw $s0, 0x14c($a0) +/* 325134 802BD1C4 0C03BA65 */ jal func_800EE994 +/* 325138 802BD1C8 0200202D */ daddu $a0, $s0, $zero +.L802BD1CC: +/* 32513C 802BD1CC 0C03BA6E */ jal func_800EE9B8 +/* 325140 802BD1D0 0200202D */ daddu $a0, $s0, $zero +/* 325144 802BD1D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 325148 802BD1D8 8FB00010 */ lw $s0, 0x10($sp) +/* 32514C 802BD1DC 0002102B */ sltu $v0, $zero, $v0 +/* 325150 802BD1E0 03E00008 */ jr $ra +/* 325154 802BD1E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 325158 802BD1E8 00000000 */ nop +/* 32515C 802BD1EC 00000000 */ nop diff --git a/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s b/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s new file mode 100644 index 0000000000..1332ccf32e --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD100_3251D0 +/* 3251D0 802BD100 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3251D4 802BD104 AFB1001C */ sw $s1, 0x1c($sp) +/* 3251D8 802BD108 0080882D */ daddu $s1, $a0, $zero +/* 3251DC 802BD10C AFBF0024 */ sw $ra, 0x24($sp) +/* 3251E0 802BD110 AFB20020 */ sw $s2, 0x20($sp) +/* 3251E4 802BD114 AFB00018 */ sw $s0, 0x18($sp) +/* 3251E8 802BD118 8E30000C */ lw $s0, 0xc($s1) +/* 3251EC 802BD11C 8E050000 */ lw $a1, ($s0) +/* 3251F0 802BD120 0C0B1EAF */ jal get_variable +/* 3251F4 802BD124 26100004 */ addiu $s0, $s0, 4 +/* 3251F8 802BD128 8E050000 */ lw $a1, ($s0) +/* 3251FC 802BD12C 26100004 */ addiu $s0, $s0, 4 +/* 325200 802BD130 0220202D */ daddu $a0, $s1, $zero +/* 325204 802BD134 0C0B1EAF */ jal get_variable +/* 325208 802BD138 0040902D */ daddu $s2, $v0, $zero +/* 32520C 802BD13C 0220202D */ daddu $a0, $s1, $zero +/* 325210 802BD140 8E050000 */ lw $a1, ($s0) +/* 325214 802BD144 0C0B1EAF */ jal get_variable +/* 325218 802BD148 0040802D */ daddu $s0, $v0, $zero +/* 32521C 802BD14C 44921000 */ mtc1 $s2, $f2 +/* 325220 802BD150 00000000 */ nop +/* 325224 802BD154 468010A0 */ cvt.s.w $f2, $f2 +/* 325228 802BD158 44051000 */ mfc1 $a1, $f2 +/* 32522C 802BD15C 44901000 */ mtc1 $s0, $f2 +/* 325230 802BD160 00000000 */ nop +/* 325234 802BD164 468010A0 */ cvt.s.w $f2, $f2 +/* 325238 802BD168 44061000 */ mfc1 $a2, $f2 +/* 32523C 802BD16C 44821000 */ mtc1 $v0, $f2 +/* 325240 802BD170 00000000 */ nop +/* 325244 802BD174 468010A0 */ cvt.s.w $f2, $f2 +/* 325248 802BD178 3C014270 */ lui $at, 0x4270 +/* 32524C 802BD17C 44810000 */ mtc1 $at, $f0 +/* 325250 802BD180 44071000 */ mfc1 $a3, $f2 +/* 325254 802BD184 0000202D */ daddu $a0, $zero, $zero +/* 325258 802BD188 0C01BFBC */ jal func_8006FEF0 +/* 32525C 802BD18C E7A00010 */ swc1 $f0, 0x10($sp) +/* 325260 802BD190 8FBF0024 */ lw $ra, 0x24($sp) +/* 325264 802BD194 8FB20020 */ lw $s2, 0x20($sp) +/* 325268 802BD198 8FB1001C */ lw $s1, 0x1c($sp) +/* 32526C 802BD19C 8FB00018 */ lw $s0, 0x18($sp) +/* 325270 802BD1A0 24020002 */ addiu $v0, $zero, 2 +/* 325274 802BD1A4 03E00008 */ jr $ra +/* 325278 802BD1A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s b/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s new file mode 100644 index 0000000000..22bab7d86d --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD1AC_3251D0 +/* 32527C 802BD1AC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 325280 802BD1B0 AFB1001C */ sw $s1, 0x1c($sp) +/* 325284 802BD1B4 0080882D */ daddu $s1, $a0, $zero +/* 325288 802BD1B8 AFBF0028 */ sw $ra, 0x28($sp) +/* 32528C 802BD1BC AFB30024 */ sw $s3, 0x24($sp) +/* 325290 802BD1C0 AFB20020 */ sw $s2, 0x20($sp) +/* 325294 802BD1C4 AFB00018 */ sw $s0, 0x18($sp) +/* 325298 802BD1C8 8E30000C */ lw $s0, 0xc($s1) +/* 32529C 802BD1CC 8E050000 */ lw $a1, ($s0) +/* 3252A0 802BD1D0 0C0B1EAF */ jal get_variable +/* 3252A4 802BD1D4 26100004 */ addiu $s0, $s0, 4 +/* 3252A8 802BD1D8 8E050000 */ lw $a1, ($s0) +/* 3252AC 802BD1DC 26100004 */ addiu $s0, $s0, 4 +/* 3252B0 802BD1E0 0220202D */ daddu $a0, $s1, $zero +/* 3252B4 802BD1E4 0C0B1EAF */ jal get_variable +/* 3252B8 802BD1E8 0040982D */ daddu $s3, $v0, $zero +/* 3252BC 802BD1EC 8E050000 */ lw $a1, ($s0) +/* 3252C0 802BD1F0 26100004 */ addiu $s0, $s0, 4 +/* 3252C4 802BD1F4 0220202D */ daddu $a0, $s1, $zero +/* 3252C8 802BD1F8 0C0B1EAF */ jal get_variable +/* 3252CC 802BD1FC 0040902D */ daddu $s2, $v0, $zero +/* 3252D0 802BD200 0220202D */ daddu $a0, $s1, $zero +/* 3252D4 802BD204 8E050000 */ lw $a1, ($s0) +/* 3252D8 802BD208 0C0B1EAF */ jal get_variable +/* 3252DC 802BD20C 0040802D */ daddu $s0, $v0, $zero +/* 3252E0 802BD210 44930000 */ mtc1 $s3, $f0 +/* 3252E4 802BD214 00000000 */ nop +/* 3252E8 802BD218 46800020 */ cvt.s.w $f0, $f0 +/* 3252EC 802BD21C 44050000 */ mfc1 $a1, $f0 +/* 3252F0 802BD220 44920000 */ mtc1 $s2, $f0 +/* 3252F4 802BD224 00000000 */ nop +/* 3252F8 802BD228 46800020 */ cvt.s.w $f0, $f0 +/* 3252FC 802BD22C 44060000 */ mfc1 $a2, $f0 +/* 325300 802BD230 44900000 */ mtc1 $s0, $f0 +/* 325304 802BD234 00000000 */ nop +/* 325308 802BD238 46800020 */ cvt.s.w $f0, $f0 +/* 32530C 802BD23C 44070000 */ mfc1 $a3, $f0 +/* 325310 802BD240 0000202D */ daddu $a0, $zero, $zero +/* 325314 802BD244 0C01C424 */ jal func_80071090 +/* 325318 802BD248 AFA20010 */ sw $v0, 0x10($sp) +/* 32531C 802BD24C 8FBF0028 */ lw $ra, 0x28($sp) +/* 325320 802BD250 8FB30024 */ lw $s3, 0x24($sp) +/* 325324 802BD254 8FB20020 */ lw $s2, 0x20($sp) +/* 325328 802BD258 8FB1001C */ lw $s1, 0x1c($sp) +/* 32532C 802BD25C 8FB00018 */ lw $s0, 0x18($sp) +/* 325330 802BD260 24020002 */ addiu $v0, $zero, 2 +/* 325334 802BD264 03E00008 */ jr $ra +/* 325338 802BD268 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_3251D0/func_802BD26C.s b/asm/nonmatchings/code_3251D0/func_802BD26C.s new file mode 100644 index 0000000000..2093876aa1 --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD26C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD26C +/* 32533C 802BD26C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 325340 802BD270 AFB1001C */ sw $s1, 0x1c($sp) +/* 325344 802BD274 0080882D */ daddu $s1, $a0, $zero +/* 325348 802BD278 AFBF0028 */ sw $ra, 0x28($sp) +/* 32534C 802BD27C AFB30024 */ sw $s3, 0x24($sp) +/* 325350 802BD280 AFB20020 */ sw $s2, 0x20($sp) +/* 325354 802BD284 AFB00018 */ sw $s0, 0x18($sp) +/* 325358 802BD288 8E30000C */ lw $s0, 0xc($s1) +/* 32535C 802BD28C 8E050000 */ lw $a1, ($s0) +/* 325360 802BD290 0C0B1EAF */ jal get_variable +/* 325364 802BD294 26100004 */ addiu $s0, $s0, 4 +/* 325368 802BD298 8E050000 */ lw $a1, ($s0) +/* 32536C 802BD29C 26100004 */ addiu $s0, $s0, 4 +/* 325370 802BD2A0 0220202D */ daddu $a0, $s1, $zero +/* 325374 802BD2A4 0C0B1EAF */ jal get_variable +/* 325378 802BD2A8 0040982D */ daddu $s3, $v0, $zero +/* 32537C 802BD2AC 8E050000 */ lw $a1, ($s0) +/* 325380 802BD2B0 26100004 */ addiu $s0, $s0, 4 +/* 325384 802BD2B4 0220202D */ daddu $a0, $s1, $zero +/* 325388 802BD2B8 0C0B1EAF */ jal get_variable +/* 32538C 802BD2BC 0040902D */ daddu $s2, $v0, $zero +/* 325390 802BD2C0 0220202D */ daddu $a0, $s1, $zero +/* 325394 802BD2C4 8E050000 */ lw $a1, ($s0) +/* 325398 802BD2C8 0C0B1EAF */ jal get_variable +/* 32539C 802BD2CC 0040802D */ daddu $s0, $v0, $zero +/* 3253A0 802BD2D0 44930000 */ mtc1 $s3, $f0 +/* 3253A4 802BD2D4 00000000 */ nop +/* 3253A8 802BD2D8 46800020 */ cvt.s.w $f0, $f0 +/* 3253AC 802BD2DC 44050000 */ mfc1 $a1, $f0 +/* 3253B0 802BD2E0 44920000 */ mtc1 $s2, $f0 +/* 3253B4 802BD2E4 00000000 */ nop +/* 3253B8 802BD2E8 46800020 */ cvt.s.w $f0, $f0 +/* 3253BC 802BD2EC 44060000 */ mfc1 $a2, $f0 +/* 3253C0 802BD2F0 44900000 */ mtc1 $s0, $f0 +/* 3253C4 802BD2F4 00000000 */ nop +/* 3253C8 802BD2F8 46800020 */ cvt.s.w $f0, $f0 +/* 3253CC 802BD2FC 44070000 */ mfc1 $a3, $f0 +/* 3253D0 802BD300 24040001 */ addiu $a0, $zero, 1 +/* 3253D4 802BD304 0C01C424 */ jal func_80071090 +/* 3253D8 802BD308 AFA20010 */ sw $v0, 0x10($sp) +/* 3253DC 802BD30C 8FBF0028 */ lw $ra, 0x28($sp) +/* 3253E0 802BD310 8FB30024 */ lw $s3, 0x24($sp) +/* 3253E4 802BD314 8FB20020 */ lw $s2, 0x20($sp) +/* 3253E8 802BD318 8FB1001C */ lw $s1, 0x1c($sp) +/* 3253EC 802BD31C 8FB00018 */ lw $s0, 0x18($sp) +/* 3253F0 802BD320 24020002 */ addiu $v0, $zero, 2 +/* 3253F4 802BD324 03E00008 */ jr $ra +/* 3253F8 802BD328 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_3251D0/func_802BD32C.s b/asm/nonmatchings/code_3251D0/func_802BD32C.s new file mode 100644 index 0000000000..9b3cb1f670 --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD32C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD32C +/* 3253FC 802BD32C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 325400 802BD330 AFBF0014 */ sw $ra, 0x14($sp) +/* 325404 802BD334 AFB00010 */ sw $s0, 0x10($sp) +/* 325408 802BD338 8C82000C */ lw $v0, 0xc($a0) +/* 32540C 802BD33C 0C0B1EAF */ jal get_variable +/* 325410 802BD340 8C450000 */ lw $a1, ($v0) +/* 325414 802BD344 3C038011 */ lui $v1, %hi(gPlayerData) +/* 325418 802BD348 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 32541C 802BD34C 80640002 */ lb $a0, 2($v1) +/* 325420 802BD350 80650003 */ lb $a1, 3($v1) +/* 325424 802BD354 00822021 */ addu $a0, $a0, $v0 +/* 325428 802BD358 00A4102A */ slt $v0, $a1, $a0 +/* 32542C 802BD35C 10400002 */ beqz $v0, .L802BD368 +/* 325430 802BD360 0060802D */ daddu $s0, $v1, $zero +/* 325434 802BD364 00A0202D */ daddu $a0, $a1, $zero +.L802BD368: +/* 325438 802BD368 58800001 */ blezl $a0, .L802BD370 +/* 32543C 802BD36C 24040001 */ addiu $a0, $zero, 1 +.L802BD370: +/* 325440 802BD370 A2040002 */ sb $a0, 2($s0) +/* 325444 802BD374 8FBF0014 */ lw $ra, 0x14($sp) +/* 325448 802BD378 8FB00010 */ lw $s0, 0x10($sp) +/* 32544C 802BD37C 24020002 */ addiu $v0, $zero, 2 +/* 325450 802BD380 03E00008 */ jr $ra +/* 325454 802BD384 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD388.s b/asm/nonmatchings/code_3251D0/func_802BD388.s new file mode 100644 index 0000000000..1f3b9f412c --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD388.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD388 +/* 325458 802BD388 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32545C 802BD38C AFBF0014 */ sw $ra, 0x14($sp) +/* 325460 802BD390 AFB00010 */ sw $s0, 0x10($sp) +/* 325464 802BD394 8C82000C */ lw $v0, 0xc($a0) +/* 325468 802BD398 0C0B1EAF */ jal get_variable +/* 32546C 802BD39C 8C450000 */ lw $a1, ($v0) +/* 325470 802BD3A0 3C038011 */ lui $v1, %hi(gPlayerData) +/* 325474 802BD3A4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 325478 802BD3A8 80640005 */ lb $a0, 5($v1) +/* 32547C 802BD3AC 80650006 */ lb $a1, 6($v1) +/* 325480 802BD3B0 00822021 */ addu $a0, $a0, $v0 +/* 325484 802BD3B4 00A4102A */ slt $v0, $a1, $a0 +/* 325488 802BD3B8 10400002 */ beqz $v0, .L802BD3C4 +/* 32548C 802BD3BC 0060802D */ daddu $s0, $v1, $zero +/* 325490 802BD3C0 00A0202D */ daddu $a0, $a1, $zero +.L802BD3C4: +/* 325494 802BD3C4 58800001 */ blezl $a0, .L802BD3CC +/* 325498 802BD3C8 24040001 */ addiu $a0, $zero, 1 +.L802BD3CC: +/* 32549C 802BD3CC A2040005 */ sb $a0, 5($s0) +/* 3254A0 802BD3D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 3254A4 802BD3D4 8FB00010 */ lw $s0, 0x10($sp) +/* 3254A8 802BD3D8 24020002 */ addiu $v0, $zero, 2 +/* 3254AC 802BD3DC 03E00008 */ jr $ra +/* 3254B0 802BD3E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD3E4.s b/asm/nonmatchings/code_3251D0/func_802BD3E4.s new file mode 100644 index 0000000000..7ca86e6e6f --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD3E4.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD3E4 +/* 3254B4 802BD3E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3254B8 802BD3E8 AFBF0010 */ sw $ra, 0x10($sp) +/* 3254BC 802BD3EC 0C009C22 */ jal func_80027088 +/* 3254C0 802BD3F0 24040002 */ addiu $a0, $zero, 2 +/* 3254C4 802BD3F4 3C02800A */ lui $v0, %hi(D_8009A650) +/* 3254C8 802BD3F8 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 3254CC 802BD3FC 8C430000 */ lw $v1, ($v0) +/* 3254D0 802BD400 3C040020 */ lui $a0, 0x20 +/* 3254D4 802BD404 00641825 */ or $v1, $v1, $a0 +/* 3254D8 802BD408 AC430000 */ sw $v1, ($v0) +/* 3254DC 802BD40C 8FBF0010 */ lw $ra, 0x10($sp) +/* 3254E0 802BD410 24020002 */ addiu $v0, $zero, 2 +/* 3254E4 802BD414 03E00008 */ jr $ra +/* 3254E8 802BD418 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD41C.s b/asm/nonmatchings/code_3251D0/func_802BD41C.s new file mode 100644 index 0000000000..ed2f368755 --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD41C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD41C +/* 3254EC 802BD41C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3254F0 802BD420 AFBF0010 */ sw $ra, 0x10($sp) +/* 3254F4 802BD424 0C009C22 */ jal func_80027088 +/* 3254F8 802BD428 0000202D */ daddu $a0, $zero, $zero +/* 3254FC 802BD42C 3C04FFDF */ lui $a0, 0xffdf +/* 325500 802BD430 3C03800A */ lui $v1, %hi(D_8009A650) +/* 325504 802BD434 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 325508 802BD438 8C620000 */ lw $v0, ($v1) +/* 32550C 802BD43C 3484FFFF */ ori $a0, $a0, 0xffff +/* 325510 802BD440 00441024 */ and $v0, $v0, $a0 +/* 325514 802BD444 AC620000 */ sw $v0, ($v1) +/* 325518 802BD448 8FBF0010 */ lw $ra, 0x10($sp) +/* 32551C 802BD44C 24020002 */ addiu $v0, $zero, 2 +/* 325520 802BD450 03E00008 */ jr $ra +/* 325524 802BD454 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD458.s b/asm/nonmatchings/code_3251D0/func_802BD458.s new file mode 100644 index 0000000000..9ecf03f36d --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD458.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD458 +/* 325528 802BD458 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32552C 802BD45C AFB00010 */ sw $s0, 0x10($sp) +/* 325530 802BD460 0080802D */ daddu $s0, $a0, $zero +/* 325534 802BD464 AFBF0014 */ sw $ra, 0x14($sp) +/* 325538 802BD468 8E02000C */ lw $v0, 0xc($s0) +/* 32553C 802BD46C 0C0B1EAF */ jal get_variable +/* 325540 802BD470 8C450000 */ lw $a1, ($v0) +/* 325544 802BD474 3C038008 */ lui $v1, %hi(gItemTable) +/* 325548 802BD478 246378E0 */ addiu $v1, $v1, %lo(gItemTable) +/* 32554C 802BD47C 00021140 */ sll $v0, $v0, 5 +/* 325550 802BD480 00431021 */ addu $v0, $v0, $v1 +/* 325554 802BD484 8043001B */ lb $v1, 0x1b($v0) +/* 325558 802BD488 AE0300B0 */ sw $v1, 0xb0($s0) +/* 32555C 802BD48C 8043001C */ lb $v1, 0x1c($v0) +/* 325560 802BD490 AE0000B8 */ sw $zero, 0xb8($s0) +/* 325564 802BD494 AE0300B4 */ sw $v1, 0xb4($s0) +/* 325568 802BD498 94420018 */ lhu $v0, 0x18($v0) +/* 32556C 802BD49C 30420100 */ andi $v0, $v0, 0x100 +/* 325570 802BD4A0 10400002 */ beqz $v0, .L802BD4AC +/* 325574 802BD4A4 24020001 */ addiu $v0, $zero, 1 +/* 325578 802BD4A8 AE0200B8 */ sw $v0, 0xb8($s0) +.L802BD4AC: +/* 32557C 802BD4AC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 325580 802BD4B0 04400006 */ bltz $v0, .L802BD4CC +/* 325584 802BD4B4 0000182D */ daddu $v1, $zero, $zero +/* 325588 802BD4B8 5C400006 */ bgtzl $v0, .L802BD4D4 +/* 32558C 802BD4BC AE0300C0 */ sw $v1, 0xc0($s0) +/* 325590 802BD4C0 8E0200B4 */ lw $v0, 0xb4($s0) +/* 325594 802BD4C4 04430003 */ bgezl $v0, .L802BD4D4 +/* 325598 802BD4C8 AE0300C0 */ sw $v1, 0xc0($s0) +.L802BD4CC: +/* 32559C 802BD4CC 24030001 */ addiu $v1, $zero, 1 +/* 3255A0 802BD4D0 AE0300C0 */ sw $v1, 0xc0($s0) +.L802BD4D4: +/* 3255A4 802BD4D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 3255A8 802BD4D8 8FB00010 */ lw $s0, 0x10($sp) +/* 3255AC 802BD4DC 24020002 */ addiu $v0, $zero, 2 +/* 3255B0 802BD4E0 03E00008 */ jr $ra +/* 3255B4 802BD4E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD4E8.s b/asm/nonmatchings/code_3251D0/func_802BD4E8.s new file mode 100644 index 0000000000..8b6d9e49ba --- /dev/null +++ b/asm/nonmatchings/code_3251D0/func_802BD4E8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802BD4E8 +/* 3255B8 802BD4E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3255BC 802BD4EC AFBF0010 */ sw $ra, 0x10($sp) +/* 3255C0 802BD4F0 0C03A91F */ jal remove_consumable +/* 3255C4 802BD4F4 00000000 */ nop +/* 3255C8 802BD4F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 3255CC 802BD4FC 24020002 */ addiu $v0, $zero, 2 +/* 3255D0 802BD500 03E00008 */ jr $ra +/* 3255D4 802BD504 27BD0018 */ addiu $sp, $sp, 0x18 +/* 3255D8 802BD508 00000000 */ nop +/* 3255DC 802BD50C 00000000 */ nop diff --git a/asm/nonmatchings/code_325AD0/func_E0200000.s b/asm/nonmatchings/code_325AD0/func_E0200000.s new file mode 100644 index 0000000000..53b6ea6bc7 --- /dev/null +++ b/asm/nonmatchings/code_325AD0/func_E0200000.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200000 +/* 325AD0 E0200000 3C05E020 */ lui $a1, 0xe020 +/* 325AD4 E0200004 24A50690 */ addiu $a1, $a1, 0x690 +/* 325AD8 E0200008 8CA20000 */ lw $v0, ($a1) +/* 325ADC E020000C 00021080 */ sll $v0, $v0, 2 +/* 325AE0 E0200010 24430002 */ addiu $v1, $v0, 2 +/* 325AE4 E0200014 24420003 */ addiu $v0, $v0, 3 +/* 325AE8 E0200018 00620018 */ mult $v1, $v0 +/* 325AEC E020001C 24840001 */ addiu $a0, $a0, 1 +/* 325AF0 E0200020 00001812 */ mflo $v1 +/* 325AF4 E0200024 00031882 */ srl $v1, $v1, 2 +/* 325AF8 E0200028 ACA30000 */ sw $v1, ($a1) +/* 325AFC E020002C 14800002 */ bnez $a0, .LE0200038 +/* 325B00 E0200030 0064001B */ divu $zero, $v1, $a0 +/* 325B04 E0200034 0007000D */ break 7 +.LE0200038: +/* 325B08 E0200038 00001010 */ mfhi $v0 +/* 325B0C E020003C 03E00008 */ jr $ra +/* 325B10 E0200040 00000000 */ nop diff --git a/asm/nonmatchings/code_325AD0/func_E0200044.s b/asm/nonmatchings/code_325AD0/func_E0200044.s new file mode 100644 index 0000000000..9f42e06329 --- /dev/null +++ b/asm/nonmatchings/code_325AD0/func_E0200044.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200044 +/* 325B14 E0200044 04A10002 */ bgez $a1, .LE0200050 +/* 325B18 E0200048 00A0102D */ daddu $v0, $a1, $zero +/* 325B1C E020004C 24A2007F */ addiu $v0, $a1, 0x7f +.LE0200050: +/* 325B20 E0200050 000211C3 */ sra $v0, $v0, 7 +/* 325B24 E0200054 000211C0 */ sll $v0, $v0, 7 +/* 325B28 E0200058 00A21023 */ subu $v0, $a1, $v0 +/* 325B2C E020005C 00021080 */ sll $v0, $v0, 2 +/* 325B30 E0200060 3C03E020 */ lui $v1, 0xe020 +/* 325B34 E0200064 24630734 */ addiu $v1, $v1, 0x734 +/* 325B38 E0200068 00431021 */ addu $v0, $v0, $v1 +/* 325B3C E020006C 8C420000 */ lw $v0, ($v0) +/* 325B40 E0200070 04420001 */ bltzl $v0, .LE0200078 +/* 325B44 E0200074 00021023 */ negu $v0, $v0 +.LE0200078: +/* 325B48 E0200078 24830001 */ addiu $v1, $a0, 1 +/* 325B4C E020007C 14600002 */ bnez $v1, .LE0200088 +/* 325B50 E0200080 0043001A */ div $zero, $v0, $v1 +/* 325B54 E0200084 0007000D */ break 7 +.LE0200088: +/* 325B58 E0200088 2401FFFF */ addiu $at, $zero, -1 +/* 325B5C E020008C 14610004 */ bne $v1, $at, .LE02000A0 +/* 325B60 E0200090 3C018000 */ lui $at, 0x8000 +/* 325B64 E0200094 14410002 */ bne $v0, $at, .LE02000A0 +/* 325B68 E0200098 00000000 */ nop +/* 325B6C E020009C 0006000D */ break 6 +.LE02000A0: +/* 325B70 E02000A0 00001010 */ mfhi $v0 +/* 325B74 E02000A4 03E00008 */ jr $ra +/* 325B78 E02000A8 00000000 */ nop diff --git a/asm/nonmatchings/code_325AD0/func_E02000AC.s b/asm/nonmatchings/code_325AD0/func_E02000AC.s new file mode 100644 index 0000000000..393a2238c1 --- /dev/null +++ b/asm/nonmatchings/code_325AD0/func_E02000AC.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02000AC +/* 325B7C E02000AC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 325B80 E02000B0 3C068080 */ lui $a2, 0x8080 +/* 325B84 E02000B4 34C680FF */ ori $a2, $a2, 0x80ff +/* 325B88 E02000B8 AFB50034 */ sw $s5, 0x34($sp) +/* 325B8C E02000BC 0000A82D */ daddu $s5, $zero, $zero +/* 325B90 E02000C0 3C02800A */ lui $v0, 0x800a +/* 325B94 E02000C4 2442A66C */ addiu $v0, $v0, -0x5994 +/* 325B98 E02000C8 0040502D */ daddu $t2, $v0, $zero +/* 325B9C E02000CC 3C0EF510 */ lui $t6, 0xf510 +/* 325BA0 E02000D0 35CE2800 */ ori $t6, $t6, 0x2800 +/* 325BA4 E02000D4 AFBE0040 */ sw $fp, 0x40($sp) +/* 325BA8 E02000D8 3C1E0701 */ lui $fp, 0x701 +/* 325BAC E02000DC 37DE8070 */ ori $fp, $fp, 0x8070 +/* 325BB0 E02000E0 AFB7003C */ sw $s7, 0x3c($sp) +/* 325BB4 E02000E4 3C17E700 */ lui $s7, 0xe700 +/* 325BB8 E02000E8 00041080 */ sll $v0, $a0, 2 +/* 325BBC E02000EC 30420FFF */ andi $v0, $v0, 0xfff +/* 325BC0 E02000F0 AFB3002C */ sw $s3, 0x2c($sp) +/* 325BC4 E02000F4 00029B00 */ sll $s3, $v0, 0xc +/* 325BC8 E02000F8 2482004F */ addiu $v0, $a0, 0x4f +/* 325BCC E02000FC 00021080 */ sll $v0, $v0, 2 +/* 325BD0 E0200100 30420FFF */ andi $v0, $v0, 0xfff +/* 325BD4 E0200104 00021300 */ sll $v0, $v0, 0xc +/* 325BD8 E0200108 AFAE0000 */ sw $t6, ($sp) +/* 325BDC E020010C 3C0EFD10 */ lui $t6, 0xfd10 +/* 325BE0 E0200110 35CE013F */ ori $t6, $t6, 0x13f +/* 325BE4 E0200114 AFB60038 */ sw $s6, 0x38($sp) +/* 325BE8 E0200118 24960050 */ addiu $s6, $a0, 0x50 +/* 325BEC E020011C AFAE0008 */ sw $t6, 8($sp) +/* 325BF0 E0200120 240E00A0 */ addiu $t6, $zero, 0xa0 +/* 325BF4 E0200124 00042540 */ sll $a0, $a0, 0x15 +/* 325BF8 E0200128 AFB20028 */ sw $s2, 0x28($sp) +/* 325BFC E020012C 24120014 */ addiu $s2, $zero, 0x14 +/* 325C00 E0200130 AFB10024 */ sw $s1, 0x24($sp) +/* 325C04 E0200134 02A0882D */ daddu $s1, $s5, $zero +/* 325C08 E0200138 AFB40030 */ sw $s4, 0x30($sp) +/* 325C0C E020013C AFB00020 */ sw $s0, 0x20($sp) +/* 325C10 E0200140 AFA20004 */ sw $v0, 4($sp) +/* 325C14 E0200144 AFAE000C */ sw $t6, 0xc($sp) +/* 325C18 E0200148 AFA40010 */ sw $a0, 0x10($sp) +/* 325C1C E020014C 8D420000 */ lw $v0, ($t2) +/* 325C20 E0200150 00A0582D */ daddu $t3, $a1, $zero +/* 325C24 E0200154 0040182D */ daddu $v1, $v0, $zero +/* 325C28 E0200158 24420008 */ addiu $v0, $v0, 8 +/* 325C2C E020015C AD420000 */ sw $v0, ($t2) +/* 325C30 E0200160 3C02FA00 */ lui $v0, 0xfa00 +/* 325C34 E0200164 AC620000 */ sw $v0, ($v1) +/* 325C38 E0200168 AC660004 */ sw $a2, 4($v1) +.LE020016C: +/* 325C3C E020016C 3C07FD10 */ lui $a3, 0xfd10 +/* 325C40 E0200170 34E7004F */ ori $a3, $a3, 0x4f +/* 325C44 E0200174 3C080713 */ lui $t0, 0x713 +/* 325C48 E0200178 3508C000 */ ori $t0, $t0, 0xc000 +/* 325C4C E020017C 3C090001 */ lui $t1, 1 +/* 325C50 E0200180 35298070 */ ori $t1, $t1, 0x8070 +/* 325C54 E0200184 3C03F510 */ lui $v1, 0xf510 +/* 325C58 E0200188 34630100 */ ori $v1, $v1, 0x100 +/* 325C5C E020018C 000B3080 */ sll $a2, $t3, 2 +/* 325C60 E0200190 30C60FFF */ andi $a2, $a2, 0xfff +/* 325C64 E0200194 25650005 */ addiu $a1, $t3, 5 +/* 325C68 E0200198 00052880 */ sll $a1, $a1, 2 +/* 325C6C E020019C 30A50FFF */ andi $a1, $a1, 0xfff +/* 325C70 E02001A0 8FAE000C */ lw $t6, 0xc($sp) +/* 325C74 E02001A4 02667825 */ or $t7, $s3, $a2 +/* 325C78 E02001A8 000E1180 */ sll $v0, $t6, 6 +/* 325C7C E02001AC 00436825 */ or $t5, $v0, $v1 +/* 325C80 E02001B0 3C0EF400 */ lui $t6, 0xf400 +/* 325C84 E02001B4 00CE1025 */ or $v0, $a2, $t6 +/* 325C88 E02001B8 0262A025 */ or $s4, $s3, $v0 +/* 325C8C E02001BC 26C3FFFF */ addiu $v1, $s6, -1 +/* 325C90 E02001C0 00031880 */ sll $v1, $v1, 2 +/* 325C94 E02001C4 30630FFF */ andi $v1, $v1, 0xfff +/* 325C98 E02001C8 00031B00 */ sll $v1, $v1, 0xc +/* 325C9C E02001CC 3C020700 */ lui $v0, 0x700 +/* 325CA0 E02001D0 00A21025 */ or $v0, $a1, $v0 +/* 325CA4 E02001D4 00628025 */ or $s0, $v1, $v0 +/* 325CA8 E02001D8 00161080 */ sll $v0, $s6, 2 +/* 325CAC E02001DC 30420FFF */ andi $v0, $v0, 0xfff +/* 325CB0 E02001E0 0002CB00 */ sll $t9, $v0, 0xc +/* 325CB4 E02001E4 25620006 */ addiu $v0, $t3, 6 +/* 325CB8 E02001E8 00021080 */ sll $v0, $v0, 2 +/* 325CBC E02001EC 30580FFF */ andi $t8, $v0, 0xfff +/* 325CC0 E02001F0 8D430000 */ lw $v1, ($t2) +/* 325CC4 E02001F4 3C0E800A */ lui $t6, 0x800a +/* 325CC8 E02001F8 8DCEA64C */ lw $t6, -0x59b4($t6) +/* 325CCC E02001FC 0060102D */ daddu $v0, $v1, $zero +/* 325CD0 E0200200 01C0202D */ daddu $a0, $t6, $zero +/* 325CD4 E0200204 24630008 */ addiu $v1, $v1, 8 +/* 325CD8 E0200208 AFAE0018 */ sw $t6, 0x18($sp) +/* 325CDC E020020C AD430000 */ sw $v1, ($t2) +/* 325CE0 E0200210 AC470000 */ sw $a3, ($v0) +/* 325CE4 E0200214 AC440004 */ sw $a0, 4($v0) +/* 325CE8 E0200218 24620008 */ addiu $v0, $v1, 8 +/* 325CEC E020021C AD420000 */ sw $v0, ($t2) +/* 325CF0 E0200220 8FAE0000 */ lw $t6, ($sp) +/* 325CF4 E0200224 24620010 */ addiu $v0, $v1, 0x10 +/* 325CF8 E0200228 AC7E0004 */ sw $fp, 4($v1) +/* 325CFC E020022C AC6E0000 */ sw $t6, ($v1) +/* 325D00 E0200230 3C0EE600 */ lui $t6, 0xe600 +/* 325D04 E0200234 AD420000 */ sw $v0, ($t2) +/* 325D08 E0200238 24620018 */ addiu $v0, $v1, 0x18 +/* 325D0C E020023C AC6E0008 */ sw $t6, 8($v1) +/* 325D10 E0200240 AC60000C */ sw $zero, 0xc($v1) +/* 325D14 E0200244 AD420000 */ sw $v0, ($t2) +/* 325D18 E0200248 32220FFF */ andi $v0, $s1, 0xfff +/* 325D1C E020024C 3C0EF400 */ lui $t6, 0xf400 +/* 325D20 E0200250 004E1025 */ or $v0, $v0, $t6 +/* 325D24 E0200254 AC620010 */ sw $v0, 0x10($v1) +/* 325D28 E0200258 32420FFF */ andi $v0, $s2, 0xfff +/* 325D2C E020025C 00481025 */ or $v0, $v0, $t0 +/* 325D30 E0200260 AC620014 */ sw $v0, 0x14($v1) +/* 325D34 E0200264 24620020 */ addiu $v0, $v1, 0x20 +/* 325D38 E0200268 AD420000 */ sw $v0, ($t2) +/* 325D3C E020026C 24620028 */ addiu $v0, $v1, 0x28 +/* 325D40 E0200270 AC770018 */ sw $s7, 0x18($v1) +/* 325D44 E0200274 AC60001C */ sw $zero, 0x1c($v1) +/* 325D48 E0200278 AD420000 */ sw $v0, ($t2) +/* 325D4C E020027C 8FAE0000 */ lw $t6, ($sp) +/* 325D50 E0200280 24620030 */ addiu $v0, $v1, 0x30 +/* 325D54 E0200284 AC690024 */ sw $t1, 0x24($v1) +/* 325D58 E0200288 AC6E0020 */ sw $t6, 0x20($v1) +/* 325D5C E020028C AD420000 */ sw $v0, ($t2) +/* 325D60 E0200290 3C02F200 */ lui $v0, 0xf200 +/* 325D64 E0200294 00C23025 */ or $a2, $a2, $v0 +/* 325D68 E0200298 02663025 */ or $a2, $s3, $a2 +/* 325D6C E020029C AC660028 */ sw $a2, 0x28($v1) +/* 325D70 E02002A0 8FAE0004 */ lw $t6, 4($sp) +/* 325D74 E02002A4 0000602D */ daddu $t4, $zero, $zero +/* 325D78 E02002A8 01C51025 */ or $v0, $t6, $a1 +/* 325D7C E02002AC AC62002C */ sw $v0, 0x2c($v1) +/* 325D80 E02002B0 24620038 */ addiu $v0, $v1, 0x38 +/* 325D84 E02002B4 AD420000 */ sw $v0, ($t2) +/* 325D88 E02002B8 3C020100 */ lui $v0, 0x100 +/* 325D8C E02002BC 00A22825 */ or $a1, $a1, $v0 +/* 325D90 E02002C0 01C52825 */ or $a1, $t6, $a1 +/* 325D94 E02002C4 AC660030 */ sw $a2, 0x30($v1) +/* 325D98 E02002C8 AC650034 */ sw $a1, 0x34($v1) +.LE02002CC: +/* 325D9C E02002CC 3C040101 */ lui $a0, 0x101 +/* 325DA0 E02002D0 34848070 */ ori $a0, $a0, 0x8070 +/* 325DA4 E02002D4 8D430000 */ lw $v1, ($t2) +/* 325DA8 E02002D8 3C050400 */ lui $a1, 0x400 +/* 325DAC E02002DC 0060102D */ daddu $v0, $v1, $zero +/* 325DB0 E02002E0 24630008 */ addiu $v1, $v1, 8 +/* 325DB4 E02002E4 AD430000 */ sw $v1, ($t2) +/* 325DB8 E02002E8 8FAE0008 */ lw $t6, 8($sp) +/* 325DBC E02002EC 34A50400 */ ori $a1, $a1, 0x400 +/* 325DC0 E02002F0 AC4E0000 */ sw $t6, ($v0) +/* 325DC4 E02002F4 8FAE0018 */ lw $t6, 0x18($sp) +/* 325DC8 E02002F8 258C0001 */ addiu $t4, $t4, 1 +/* 325DCC E02002FC AC4E0004 */ sw $t6, 4($v0) +/* 325DD0 E0200300 24620008 */ addiu $v0, $v1, 8 +/* 325DD4 E0200304 AD420000 */ sw $v0, ($t2) +/* 325DD8 E0200308 24620010 */ addiu $v0, $v1, 0x10 +/* 325DDC E020030C 3C0EE600 */ lui $t6, 0xe600 +/* 325DE0 E0200310 AC6D0000 */ sw $t5, ($v1) +/* 325DE4 E0200314 AC7E0004 */ sw $fp, 4($v1) +/* 325DE8 E0200318 AD420000 */ sw $v0, ($t2) +/* 325DEC E020031C 24620018 */ addiu $v0, $v1, 0x18 +/* 325DF0 E0200320 AC6E0008 */ sw $t6, 8($v1) +/* 325DF4 E0200324 AC60000C */ sw $zero, 0xc($v1) +/* 325DF8 E0200328 AD420000 */ sw $v0, ($t2) +/* 325DFC E020032C 24620020 */ addiu $v0, $v1, 0x20 +/* 325E00 E0200330 AC740010 */ sw $s4, 0x10($v1) +/* 325E04 E0200334 AC700014 */ sw $s0, 0x14($v1) +/* 325E08 E0200338 AD420000 */ sw $v0, ($t2) +/* 325E0C E020033C 24620028 */ addiu $v0, $v1, 0x28 +/* 325E10 E0200340 AC770018 */ sw $s7, 0x18($v1) +/* 325E14 E0200344 AC60001C */ sw $zero, 0x1c($v1) +/* 325E18 E0200348 AD420000 */ sw $v0, ($t2) +/* 325E1C E020034C 24620030 */ addiu $v0, $v1, 0x30 +/* 325E20 E0200350 AC6D0020 */ sw $t5, 0x20($v1) +/* 325E24 E0200354 AC640024 */ sw $a0, 0x24($v1) +/* 325E28 E0200358 AD420000 */ sw $v0, ($t2) +/* 325E2C E020035C 3C02E400 */ lui $v0, 0xe400 +/* 325E30 E0200360 03021025 */ or $v0, $t8, $v0 +/* 325E34 E0200364 03221025 */ or $v0, $t9, $v0 +/* 325E38 E0200368 AC620028 */ sw $v0, 0x28($v1) +/* 325E3C E020036C 24620038 */ addiu $v0, $v1, 0x38 +/* 325E40 E0200370 AC6F002C */ sw $t7, 0x2c($v1) +/* 325E44 E0200374 AD420000 */ sw $v0, ($t2) +/* 325E48 E0200378 3C02E100 */ lui $v0, 0xe100 +/* 325E4C E020037C AC620030 */ sw $v0, 0x30($v1) +/* 325E50 E0200380 000B1140 */ sll $v0, $t3, 5 +/* 325E54 E0200384 8FAE0010 */ lw $t6, 0x10($sp) +/* 325E58 E0200388 3042FFFF */ andi $v0, $v0, 0xffff +/* 325E5C E020038C 01C21025 */ or $v0, $t6, $v0 +/* 325E60 E0200390 AC620034 */ sw $v0, 0x34($v1) +/* 325E64 E0200394 24620040 */ addiu $v0, $v1, 0x40 +/* 325E68 E0200398 AD420000 */ sw $v0, ($t2) +/* 325E6C E020039C 3C02F100 */ lui $v0, 0xf100 +/* 325E70 E02003A0 AC620038 */ sw $v0, 0x38($v1) +/* 325E74 E02003A4 1980FFC9 */ blez $t4, .LE02002CC +/* 325E78 E02003A8 AC65003C */ sw $a1, 0x3c($v1) +/* 325E7C E02003AC 26520018 */ addiu $s2, $s2, 0x18 +/* 325E80 E02003B0 26310018 */ addiu $s1, $s1, 0x18 +/* 325E84 E02003B4 256B0006 */ addiu $t3, $t3, 6 +/* 325E88 E02003B8 8D420000 */ lw $v0, ($t2) +/* 325E8C E02003BC 26B50001 */ addiu $s5, $s5, 1 +/* 325E90 E02003C0 0040182D */ daddu $v1, $v0, $zero +/* 325E94 E02003C4 24420008 */ addiu $v0, $v0, 8 +/* 325E98 E02003C8 AD420000 */ sw $v0, ($t2) +/* 325E9C E02003CC 2AA2000A */ slti $v0, $s5, 0xa +/* 325EA0 E02003D0 AC770000 */ sw $s7, ($v1) +/* 325EA4 E02003D4 1440FF65 */ bnez $v0, .LE020016C +/* 325EA8 E02003D8 AC600004 */ sw $zero, 4($v1) +/* 325EAC E02003DC 8FBE0040 */ lw $fp, 0x40($sp) +/* 325EB0 E02003E0 8FB7003C */ lw $s7, 0x3c($sp) +/* 325EB4 E02003E4 8FB60038 */ lw $s6, 0x38($sp) +/* 325EB8 E02003E8 8FB50034 */ lw $s5, 0x34($sp) +/* 325EBC E02003EC 8FB40030 */ lw $s4, 0x30($sp) +/* 325EC0 E02003F0 8FB3002C */ lw $s3, 0x2c($sp) +/* 325EC4 E02003F4 8FB20028 */ lw $s2, 0x28($sp) +/* 325EC8 E02003F8 8FB10024 */ lw $s1, 0x24($sp) +/* 325ECC E02003FC 8FB00020 */ lw $s0, 0x20($sp) +/* 325ED0 E0200400 03E00008 */ jr $ra +/* 325ED4 E0200404 27BD0048 */ addiu $sp, $sp, 0x48 +/* 325ED8 E0200408 00000000 */ nop +/* 325EDC E020040C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200410.s b/asm/nonmatchings/code_325EE0/func_E0200410.s new file mode 100644 index 0000000000..3c7d2ced1d --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200410.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200410 +/* 325EE0 E0200410 3C01E020 */ lui $at, 0xe020 +/* 325EE4 E0200414 8C210694 */ lw $at, 0x694($at) +/* 325EE8 E0200418 00200008 */ jr $at +/* 325EEC E020041C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200420.s b/asm/nonmatchings/code_325EE0/func_E0200420.s new file mode 100644 index 0000000000..940e74bea1 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200420.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200420 +/* 325EF0 E0200420 3C01E020 */ lui $at, 0xe020 +/* 325EF4 E0200424 8C210698 */ lw $at, 0x698($at) +/* 325EF8 E0200428 00200008 */ jr $at +/* 325EFC E020042C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200430.s b/asm/nonmatchings/code_325EE0/func_E0200430.s new file mode 100644 index 0000000000..b5255367ec --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200430.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200430 +/* 325F00 E0200430 3C01E020 */ lui $at, 0xe020 +/* 325F04 E0200434 8C21069C */ lw $at, 0x69c($at) +/* 325F08 E0200438 00200008 */ jr $at +/* 325F0C E020043C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200440.s b/asm/nonmatchings/code_325EE0/func_E0200440.s new file mode 100644 index 0000000000..f166e28baf --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200440.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200440 +/* 325F10 E0200440 3C01E020 */ lui $at, 0xe020 +/* 325F14 E0200444 8C2106A0 */ lw $at, 0x6a0($at) +/* 325F18 E0200448 00200008 */ jr $at +/* 325F1C E020044C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200450.s b/asm/nonmatchings/code_325EE0/func_E0200450.s new file mode 100644 index 0000000000..2bb1c9b5c7 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200450.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200450 +/* 325F20 E0200450 3C01E020 */ lui $at, 0xe020 +/* 325F24 E0200454 8C2106A4 */ lw $at, 0x6a4($at) +/* 325F28 E0200458 00200008 */ jr $at +/* 325F2C E020045C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200460.s b/asm/nonmatchings/code_325EE0/func_E0200460.s new file mode 100644 index 0000000000..158699970f --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200460.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200460 +/* 325F30 E0200460 3C01E020 */ lui $at, 0xe020 +/* 325F34 E0200464 8C2106A8 */ lw $at, 0x6a8($at) +/* 325F38 E0200468 00200008 */ jr $at +/* 325F3C E020046C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200470.s b/asm/nonmatchings/code_325EE0/func_E0200470.s new file mode 100644 index 0000000000..fa3650b99d --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200470.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200470 +/* 325F40 E0200470 3C01E020 */ lui $at, 0xe020 +/* 325F44 E0200474 8C2106AC */ lw $at, 0x6ac($at) +/* 325F48 E0200478 00200008 */ jr $at +/* 325F4C E020047C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200480.s b/asm/nonmatchings/code_325EE0/func_E0200480.s new file mode 100644 index 0000000000..68cfe0e28d --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200480.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200480 +/* 325F50 E0200480 3C01E020 */ lui $at, 0xe020 +/* 325F54 E0200484 8C2106B0 */ lw $at, 0x6b0($at) +/* 325F58 E0200488 00200008 */ jr $at +/* 325F5C E020048C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200490.s b/asm/nonmatchings/code_325EE0/func_E0200490.s new file mode 100644 index 0000000000..c2026dfb71 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200490.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200490 +/* 325F60 E0200490 3C01E020 */ lui $at, 0xe020 +/* 325F64 E0200494 8C2106B4 */ lw $at, 0x6b4($at) +/* 325F68 E0200498 00200008 */ jr $at +/* 325F6C E020049C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004A0.s b/asm/nonmatchings/code_325EE0/func_E02004A0.s new file mode 100644 index 0000000000..f298bfb2b5 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004A0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004A0 +/* 325F70 E02004A0 3C01E020 */ lui $at, 0xe020 +/* 325F74 E02004A4 8C2106B8 */ lw $at, 0x6b8($at) +/* 325F78 E02004A8 00200008 */ jr $at +/* 325F7C E02004AC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004B0.s b/asm/nonmatchings/code_325EE0/func_E02004B0.s new file mode 100644 index 0000000000..4c02bebd0c --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004B0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004B0 +/* 325F80 E02004B0 3C01E020 */ lui $at, 0xe020 +/* 325F84 E02004B4 8C2106BC */ lw $at, 0x6bc($at) +/* 325F88 E02004B8 00200008 */ jr $at +/* 325F8C E02004BC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004C0.s b/asm/nonmatchings/code_325EE0/func_E02004C0.s new file mode 100644 index 0000000000..b811adba8a --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004C0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004C0 +/* 325F90 E02004C0 3C01E020 */ lui $at, 0xe020 +/* 325F94 E02004C4 8C2106C0 */ lw $at, 0x6c0($at) +/* 325F98 E02004C8 00200008 */ jr $at +/* 325F9C E02004CC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004D0.s b/asm/nonmatchings/code_325EE0/func_E02004D0.s new file mode 100644 index 0000000000..951644857c --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004D0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004D0 +/* 325FA0 E02004D0 3C01E020 */ lui $at, 0xe020 +/* 325FA4 E02004D4 8C2106C4 */ lw $at, 0x6c4($at) +/* 325FA8 E02004D8 00200008 */ jr $at +/* 325FAC E02004DC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004E0.s b/asm/nonmatchings/code_325EE0/func_E02004E0.s new file mode 100644 index 0000000000..e75d22fff9 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004E0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004E0 +/* 325FB0 E02004E0 3C01E020 */ lui $at, 0xe020 +/* 325FB4 E02004E4 8C2106C8 */ lw $at, 0x6c8($at) +/* 325FB8 E02004E8 00200008 */ jr $at +/* 325FBC E02004EC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02004F0.s b/asm/nonmatchings/code_325EE0/func_E02004F0.s new file mode 100644 index 0000000000..9ab7f27409 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02004F0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02004F0 +/* 325FC0 E02004F0 3C01E020 */ lui $at, 0xe020 +/* 325FC4 E02004F4 8C2106CC */ lw $at, 0x6cc($at) +/* 325FC8 E02004F8 00200008 */ jr $at +/* 325FCC E02004FC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200500.s b/asm/nonmatchings/code_325EE0/func_E0200500.s new file mode 100644 index 0000000000..e24691a7fd --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200500.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200500 +/* 325FD0 E0200500 3C01E020 */ lui $at, 0xe020 +/* 325FD4 E0200504 8C2106D0 */ lw $at, 0x6d0($at) +/* 325FD8 E0200508 00200008 */ jr $at +/* 325FDC E020050C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200510.s b/asm/nonmatchings/code_325EE0/func_E0200510.s new file mode 100644 index 0000000000..70dbd29cf3 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200510.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200510 +/* 325FE0 E0200510 3C01E020 */ lui $at, 0xe020 +/* 325FE4 E0200514 8C2106D4 */ lw $at, 0x6d4($at) +/* 325FE8 E0200518 00200008 */ jr $at +/* 325FEC E020051C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200520.s b/asm/nonmatchings/code_325EE0/func_E0200520.s new file mode 100644 index 0000000000..92264c401b --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200520.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200520 +/* 325FF0 E0200520 3C01E020 */ lui $at, 0xe020 +/* 325FF4 E0200524 8C2106D8 */ lw $at, 0x6d8($at) +/* 325FF8 E0200528 00200008 */ jr $at +/* 325FFC E020052C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200530.s b/asm/nonmatchings/code_325EE0/func_E0200530.s new file mode 100644 index 0000000000..a3c3e69543 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200530.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200530 +/* 326000 E0200530 3C01E020 */ lui $at, 0xe020 +/* 326004 E0200534 8C2106DC */ lw $at, 0x6dc($at) +/* 326008 E0200538 00200008 */ jr $at +/* 32600C E020053C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200540.s b/asm/nonmatchings/code_325EE0/func_E0200540.s new file mode 100644 index 0000000000..985edcaf1f --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200540.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200540 +/* 326010 E0200540 3C01E020 */ lui $at, 0xe020 +/* 326014 E0200544 8C2106E0 */ lw $at, 0x6e0($at) +/* 326018 E0200548 00200008 */ jr $at +/* 32601C E020054C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200550.s b/asm/nonmatchings/code_325EE0/func_E0200550.s new file mode 100644 index 0000000000..3a2fbbf786 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200550.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200550 +/* 326020 E0200550 3C01E020 */ lui $at, 0xe020 +/* 326024 E0200554 8C2106E4 */ lw $at, 0x6e4($at) +/* 326028 E0200558 00200008 */ jr $at +/* 32602C E020055C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200560.s b/asm/nonmatchings/code_325EE0/func_E0200560.s new file mode 100644 index 0000000000..cbd8a96fb1 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200560.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200560 +/* 326030 E0200560 3C01E020 */ lui $at, 0xe020 +/* 326034 E0200564 8C2106E8 */ lw $at, 0x6e8($at) +/* 326038 E0200568 00200008 */ jr $at +/* 32603C E020056C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200570.s b/asm/nonmatchings/code_325EE0/func_E0200570.s new file mode 100644 index 0000000000..d2d4d80266 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200570.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200570 +/* 326040 E0200570 3C01E020 */ lui $at, 0xe020 +/* 326044 E0200574 8C2106EC */ lw $at, 0x6ec($at) +/* 326048 E0200578 00200008 */ jr $at +/* 32604C E020057C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200580.s b/asm/nonmatchings/code_325EE0/func_E0200580.s new file mode 100644 index 0000000000..2fec4ae418 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200580.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200580 +/* 326050 E0200580 3C01E020 */ lui $at, 0xe020 +/* 326054 E0200584 8C2106F0 */ lw $at, 0x6f0($at) +/* 326058 E0200588 00200008 */ jr $at +/* 32605C E020058C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200590.s b/asm/nonmatchings/code_325EE0/func_E0200590.s new file mode 100644 index 0000000000..244fc8fd44 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200590.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200590 +/* 326060 E0200590 3C01E020 */ lui $at, 0xe020 +/* 326064 E0200594 8C2106F4 */ lw $at, 0x6f4($at) +/* 326068 E0200598 00200008 */ jr $at +/* 32606C E020059C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005A0.s b/asm/nonmatchings/code_325EE0/func_E02005A0.s new file mode 100644 index 0000000000..c49bf22441 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005A0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005A0 +/* 326070 E02005A0 3C01E020 */ lui $at, 0xe020 +/* 326074 E02005A4 8C2106F8 */ lw $at, 0x6f8($at) +/* 326078 E02005A8 00200008 */ jr $at +/* 32607C E02005AC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005B0.s b/asm/nonmatchings/code_325EE0/func_E02005B0.s new file mode 100644 index 0000000000..b8dc57e179 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005B0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005B0 +/* 326080 E02005B0 3C01E020 */ lui $at, 0xe020 +/* 326084 E02005B4 8C2106FC */ lw $at, 0x6fc($at) +/* 326088 E02005B8 00200008 */ jr $at +/* 32608C E02005BC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005C0.s b/asm/nonmatchings/code_325EE0/func_E02005C0.s new file mode 100644 index 0000000000..c9e05f6a79 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005C0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005C0 +/* 326090 E02005C0 3C01E020 */ lui $at, 0xe020 +/* 326094 E02005C4 8C210700 */ lw $at, 0x700($at) +/* 326098 E02005C8 00200008 */ jr $at +/* 32609C E02005CC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005D0.s b/asm/nonmatchings/code_325EE0/func_E02005D0.s new file mode 100644 index 0000000000..d2b3697d4c --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005D0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005D0 +/* 3260A0 E02005D0 3C01E020 */ lui $at, 0xe020 +/* 3260A4 E02005D4 8C210704 */ lw $at, 0x704($at) +/* 3260A8 E02005D8 00200008 */ jr $at +/* 3260AC E02005DC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005E0.s b/asm/nonmatchings/code_325EE0/func_E02005E0.s new file mode 100644 index 0000000000..5fee3a6526 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005E0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005E0 +/* 3260B0 E02005E0 3C01E020 */ lui $at, 0xe020 +/* 3260B4 E02005E4 8C210708 */ lw $at, 0x708($at) +/* 3260B8 E02005E8 00200008 */ jr $at +/* 3260BC E02005EC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E02005F0.s b/asm/nonmatchings/code_325EE0/func_E02005F0.s new file mode 100644 index 0000000000..ea44955874 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E02005F0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E02005F0 +/* 3260C0 E02005F0 3C01E020 */ lui $at, 0xe020 +/* 3260C4 E02005F4 8C21070C */ lw $at, 0x70c($at) +/* 3260C8 E02005F8 00200008 */ jr $at +/* 3260CC E02005FC 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200600.s b/asm/nonmatchings/code_325EE0/func_E0200600.s new file mode 100644 index 0000000000..e10c055867 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200600.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200600 +/* 3260D0 E0200600 3C01E020 */ lui $at, 0xe020 +/* 3260D4 E0200604 8C210710 */ lw $at, 0x710($at) +/* 3260D8 E0200608 00200008 */ jr $at +/* 3260DC E020060C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200610.s b/asm/nonmatchings/code_325EE0/func_E0200610.s new file mode 100644 index 0000000000..6b8df674a0 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200610.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200610 +/* 3260E0 E0200610 3C01E020 */ lui $at, 0xe020 +/* 3260E4 E0200614 8C210714 */ lw $at, 0x714($at) +/* 3260E8 E0200618 00200008 */ jr $at +/* 3260EC E020061C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200620.s b/asm/nonmatchings/code_325EE0/func_E0200620.s new file mode 100644 index 0000000000..bcbee21aac --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200620.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200620 +/* 3260F0 E0200620 3C01E020 */ lui $at, 0xe020 +/* 3260F4 E0200624 8C210718 */ lw $at, 0x718($at) +/* 3260F8 E0200628 00200008 */ jr $at +/* 3260FC E020062C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200630.s b/asm/nonmatchings/code_325EE0/func_E0200630.s new file mode 100644 index 0000000000..66ba96601f --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200630.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200630 +/* 326100 E0200630 3C01E020 */ lui $at, 0xe020 +/* 326104 E0200634 8C21071C */ lw $at, 0x71c($at) +/* 326108 E0200638 00200008 */ jr $at +/* 32610C E020063C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200640.s b/asm/nonmatchings/code_325EE0/func_E0200640.s new file mode 100644 index 0000000000..e649f2aa43 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200640.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200640 +/* 326110 E0200640 3C01E020 */ lui $at, 0xe020 +/* 326114 E0200644 8C210720 */ lw $at, 0x720($at) +/* 326118 E0200648 00200008 */ jr $at +/* 32611C E020064C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200650.s b/asm/nonmatchings/code_325EE0/func_E0200650.s new file mode 100644 index 0000000000..d8d2bdd424 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200650.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200650 +/* 326120 E0200650 3C01E020 */ lui $at, 0xe020 +/* 326124 E0200654 8C210724 */ lw $at, 0x724($at) +/* 326128 E0200658 00200008 */ jr $at +/* 32612C E020065C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200660.s b/asm/nonmatchings/code_325EE0/func_E0200660.s new file mode 100644 index 0000000000..1f64dafc1a --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200660.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200660 +/* 326130 E0200660 3C01E020 */ lui $at, 0xe020 +/* 326134 E0200664 8C210728 */ lw $at, 0x728($at) +/* 326138 E0200668 00200008 */ jr $at +/* 32613C E020066C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200670.s b/asm/nonmatchings/code_325EE0/func_E0200670.s new file mode 100644 index 0000000000..b435c41e33 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200670.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200670 +/* 326140 E0200670 3C01E020 */ lui $at, 0xe020 +/* 326144 E0200674 8C21072C */ lw $at, 0x72c($at) +/* 326148 E0200678 00200008 */ jr $at +/* 32614C E020067C 00000000 */ nop diff --git a/asm/nonmatchings/code_325EE0/func_E0200680.s b/asm/nonmatchings/code_325EE0/func_E0200680.s new file mode 100644 index 0000000000..3b14c838a4 --- /dev/null +++ b/asm/nonmatchings/code_325EE0/func_E0200680.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0200680 +/* 326150 E0200680 3C01E020 */ lui $at, 0xe020 +/* 326154 E0200684 8C210730 */ lw $at, 0x730($at) +/* 326158 E0200688 00200008 */ jr $at +/* 32615C E020068C 00000000 */ nop diff --git a/asm/nonmatchings/code_3278F0/func_E0002000.s b/asm/nonmatchings/code_3278F0/func_E0002000.s new file mode 100644 index 0000000000..234bc11cc5 --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E0002000.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0002000 +/* 3278F0 E0002000 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 3278F4 E0002004 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* 3278F8 E0002008 46006686 */ mov.s $f26, $f12 +/* 3278FC E000200C F7BC0068 */ sdc1 $f28, 0x68($sp) +/* 327900 E0002010 46007706 */ mov.s $f28, $f14 +/* 327904 E0002014 27A40010 */ addiu $a0, $sp, 0x10 +/* 327908 E0002018 F7BE0070 */ sdc1 $f30, 0x70($sp) +/* 32790C E000201C 4486F000 */ mtc1 $a2, $f30 +/* 327910 E0002020 3C02E000 */ lui $v0, 0xe000 +/* 327914 E0002024 244221B4 */ addiu $v0, $v0, 0x21b4 +/* 327918 E0002028 AFA20018 */ sw $v0, 0x18($sp) +/* 32791C E000202C 3C02E000 */ lui $v0, 0xe000 +/* 327920 E0002030 244221BC */ addiu $v0, $v0, 0x21bc +/* 327924 E0002034 AFA2001C */ sw $v0, 0x1c($sp) +/* 327928 E0002038 3C02E000 */ lui $v0, 0xe000 +/* 32792C E000203C 244222BC */ addiu $v0, $v0, 0x22bc +/* 327930 E0002040 AFA20020 */ sw $v0, 0x20($sp) +/* 327934 E0002044 24020001 */ addiu $v0, $zero, 1 +/* 327938 E0002048 AFBF0044 */ sw $ra, 0x44($sp) +/* 32793C E000204C AFB60040 */ sw $s6, 0x40($sp) +/* 327940 E0002050 AFB5003C */ sw $s5, 0x3c($sp) +/* 327944 E0002054 AFB40038 */ sw $s4, 0x38($sp) +/* 327948 E0002058 AFB30034 */ sw $s3, 0x34($sp) +/* 32794C E000205C AFB20030 */ sw $s2, 0x30($sp) +/* 327950 E0002060 AFB1002C */ sw $s1, 0x2c($sp) +/* 327954 E0002064 AFB00028 */ sw $s0, 0x28($sp) +/* 327958 E0002068 F7B80058 */ sdc1 $f24, 0x58($sp) +/* 32795C E000206C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 327960 E0002070 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 327964 E0002074 AFA00010 */ sw $zero, 0x10($sp) +/* 327968 E0002078 AFA00024 */ sw $zero, 0x24($sp) +/* 32796C E000207C 0C080124 */ jal func_E0200490 +/* 327970 E0002080 AFA20014 */ sw $v0, 0x14($sp) +/* 327974 E0002084 240401B8 */ addiu $a0, $zero, 0x1b8 +/* 327978 E0002088 2403000A */ addiu $v1, $zero, 0xa +/* 32797C E000208C 0040A82D */ daddu $s5, $v0, $zero +/* 327980 E0002090 0C08012C */ jal func_E02004B0 +/* 327984 E0002094 AEA30008 */ sw $v1, 8($s5) +/* 327988 E0002098 0040882D */ daddu $s1, $v0, $zero +/* 32798C E000209C 16200003 */ bnez $s1, .LE00020AC +/* 327990 E00020A0 AEB1000C */ sw $s1, 0xc($s5) +.LE00020A4: +/* 327994 E00020A4 08000829 */ j .LE00020A4 +/* 327998 E00020A8 00000000 */ nop +.LE00020AC: +/* 32799C E00020AC 8EA20008 */ lw $v0, 8($s5) +/* 3279A0 E00020B0 18400030 */ blez $v0, .LE0002174 +/* 3279A4 E00020B4 0000902D */ daddu $s2, $zero, $zero +/* 3279A8 E00020B8 24160004 */ addiu $s6, $zero, 4 +/* 3279AC E00020BC 3C0142B4 */ lui $at, 0x42b4 +/* 3279B0 E00020C0 4481C000 */ mtc1 $at, $f24 +/* 3279B4 E00020C4 26300024 */ addiu $s0, $s1, 0x24 +/* 3279B8 E00020C8 3C14E000 */ lui $s4, 0xe000 +/* 3279BC E00020CC 26942788 */ addiu $s4, $s4, 0x2788 +/* 3279C0 E00020D0 3C13E000 */ lui $s3, 0xe000 +/* 3279C4 E00020D4 26732760 */ addiu $s3, $s3, 0x2760 +.LE00020D8: +/* 3279C8 E00020D8 24040006 */ addiu $a0, $zero, 6 +/* 3279CC E00020DC 0C080000 */ jal func_E0200000 +/* 3279D0 E00020E0 A6200000 */ sh $zero, ($s1) +/* 3279D4 E00020E4 24420010 */ addiu $v0, $v0, 0x10 +/* 3279D8 E00020E8 A602FFE0 */ sh $v0, -0x20($s0) +/* 3279DC E00020EC A602FFDE */ sh $v0, -0x22($s0) +/* 3279E0 E00020F0 A616FFE2 */ sh $s6, -0x1e($s0) +/* 3279E4 E00020F4 AE00FFE4 */ sw $zero, -0x1c($s0) +/* 3279E8 E00020F8 E61AFFE8 */ swc1 $f26, -0x18($s0) +/* 3279EC E00020FC E61CFFEC */ swc1 $f28, -0x14($s0) +/* 3279F0 E0002100 E61EFFF0 */ swc1 $f30, -0x10($s0) +/* 3279F4 E0002104 AE00FFF4 */ sw $zero, -0xc($s0) +/* 3279F8 E0002108 AE00FFF8 */ sw $zero, -8($s0) +/* 3279FC E000210C C6760000 */ lwc1 $f22, ($s3) +/* 327A00 E0002110 C6940000 */ lwc1 $f20, ($s4) +/* 327A04 E0002114 4618B580 */ add.s $f22, $f22, $f24 +/* 327A08 E0002118 4600A521 */ cvt.d.s $f20, $f20 +/* 327A0C E000211C 4634A500 */ add.d $f20, $f20, $f20 +/* 327A10 E0002120 4600B306 */ mov.s $f12, $f22 +/* 327A14 E0002124 0C080140 */ jal func_E0200500 +/* 327A18 E0002128 4620A520 */ cvt.s.d $f20, $f20 +/* 327A1C E000212C 4600B306 */ mov.s $f12, $f22 +/* 327A20 E0002130 0C080144 */ jal func_E0200510 +/* 327A24 E0002134 46000586 */ mov.s $f22, $f0 +/* 327A28 E0002138 4616A582 */ mul.s $f22, $f20, $f22 +/* 327A2C E000213C 00000000 */ nop +/* 327A30 E0002140 26940004 */ addiu $s4, $s4, 4 +/* 327A34 E0002144 4600A507 */ neg.s $f20, $f20 +/* 327A38 E0002148 4600A502 */ mul.s $f20, $f20, $f0 +/* 327A3C E000214C 00000000 */ nop +/* 327A40 E0002150 26730004 */ addiu $s3, $s3, 4 +/* 327A44 E0002154 26520001 */ addiu $s2, $s2, 1 +/* 327A48 E0002158 2631002C */ addiu $s1, $s1, 0x2c +/* 327A4C E000215C E616FFFC */ swc1 $f22, -4($s0) +/* 327A50 E0002160 E6140000 */ swc1 $f20, ($s0) +/* 327A54 E0002164 8EA20008 */ lw $v0, 8($s5) +/* 327A58 E0002168 0242102A */ slt $v0, $s2, $v0 +/* 327A5C E000216C 1440FFDA */ bnez $v0, .LE00020D8 +/* 327A60 E0002170 2610002C */ addiu $s0, $s0, 0x2c +.LE0002174: +/* 327A64 E0002174 8FBF0044 */ lw $ra, 0x44($sp) +/* 327A68 E0002178 8FB60040 */ lw $s6, 0x40($sp) +/* 327A6C E000217C 8FB5003C */ lw $s5, 0x3c($sp) +/* 327A70 E0002180 8FB40038 */ lw $s4, 0x38($sp) +/* 327A74 E0002184 8FB30034 */ lw $s3, 0x34($sp) +/* 327A78 E0002188 8FB20030 */ lw $s2, 0x30($sp) +/* 327A7C E000218C 8FB1002C */ lw $s1, 0x2c($sp) +/* 327A80 E0002190 8FB00028 */ lw $s0, 0x28($sp) +/* 327A84 E0002194 D7BE0070 */ ldc1 $f30, 0x70($sp) +/* 327A88 E0002198 D7BC0068 */ ldc1 $f28, 0x68($sp) +/* 327A8C E000219C D7BA0060 */ ldc1 $f26, 0x60($sp) +/* 327A90 E00021A0 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 327A94 E00021A4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 327A98 E00021A8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 327A9C E00021AC 03E00008 */ jr $ra +/* 327AA0 E00021B0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/code_3278F0/func_E00021B4.s b/asm/nonmatchings/code_3278F0/func_E00021B4.s new file mode 100644 index 0000000000..a060bfc712 --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E00021B4.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00021B4 +/* 327AA4 E00021B4 03E00008 */ jr $ra +/* 327AA8 E00021B8 00000000 */ nop diff --git a/asm/nonmatchings/code_3278F0/func_E00021BC.s b/asm/nonmatchings/code_3278F0/func_E00021BC.s new file mode 100644 index 0000000000..aa53632528 --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E00021BC.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00021BC +/* 327AAC E00021BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 327AB0 E00021C0 0000302D */ daddu $a2, $zero, $zero +/* 327AB4 E00021C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 327AB8 E00021C8 8C820008 */ lw $v0, 8($a0) +/* 327ABC E00021CC 8C85000C */ lw $a1, 0xc($a0) +/* 327AC0 E00021D0 18400033 */ blez $v0, .LE00022A0 +/* 327AC4 E00021D4 00C0382D */ daddu $a3, $a2, $zero +/* 327AC8 E00021D8 3C013FF4 */ lui $at, 0x3ff4 +/* 327ACC E00021DC 44813800 */ mtc1 $at, $f7 +/* 327AD0 E00021E0 44803000 */ mtc1 $zero, $f6 +/* 327AD4 E00021E4 24A30024 */ addiu $v1, $a1, 0x24 +.LE00021E8: +/* 327AD8 E00021E8 8462FFDE */ lh $v0, -0x22($v1) +/* 327ADC E00021EC 04420027 */ bltzl $v0, .LE000228C +/* 327AE0 E00021F0 24C60001 */ addiu $a2, $a2, 1 +/* 327AE4 E00021F4 8C62FFE4 */ lw $v0, -0x1c($v1) +/* 327AE8 E00021F8 2442FFFF */ addiu $v0, $v0, -1 +/* 327AEC E00021FC 04410022 */ bgez $v0, .LE0002288 +/* 327AF0 E0002200 AC62FFE4 */ sw $v0, -0x1c($v1) +/* 327AF4 E0002204 C464FFF4 */ lwc1 $f4, -0xc($v1) +/* 327AF8 E0002208 C460FFFC */ lwc1 $f0, -4($v1) +/* 327AFC E000220C C462FFF8 */ lwc1 $f2, -8($v1) +/* 327B00 E0002210 46002100 */ add.s $f4, $f4, $f0 +/* 327B04 E0002214 C4600000 */ lwc1 $f0, ($v1) +/* 327B08 E0002218 46001080 */ add.s $f2, $f2, $f0 +/* 327B0C E000221C E464FFF4 */ swc1 $f4, -0xc($v1) +/* 327B10 E0002220 E462FFF8 */ swc1 $f2, -8($v1) +/* 327B14 E0002224 94A20000 */ lhu $v0, ($a1) +/* 327B18 E0002228 24420001 */ addiu $v0, $v0, 1 +/* 327B1C E000222C A4A20000 */ sh $v0, ($a1) +/* 327B20 E0002230 9462FFDE */ lhu $v0, -0x22($v1) +/* 327B24 E0002234 2442FFFF */ addiu $v0, $v0, -1 +/* 327B28 E0002238 A462FFDE */ sh $v0, -0x22($v1) +/* 327B2C E000223C 00021400 */ sll $v0, $v0, 0x10 +/* 327B30 E0002240 04400011 */ bltz $v0, .LE0002288 +/* 327B34 E0002244 24070001 */ addiu $a3, $zero, 1 +/* 327B38 E0002248 9462FFE2 */ lhu $v0, -0x1e($v1) +/* 327B3C E000224C 2442FFFF */ addiu $v0, $v0, -1 +/* 327B40 E0002250 A462FFE2 */ sh $v0, -0x1e($v1) +/* 327B44 E0002254 00021400 */ sll $v0, $v0, 0x10 +/* 327B48 E0002258 0443000C */ bgezl $v0, .LE000228C +/* 327B4C E000225C 24C60001 */ addiu $a2, $a2, 1 +/* 327B50 E0002260 C460FFFC */ lwc1 $f0, -4($v1) +/* 327B54 E0002264 C4620000 */ lwc1 $f2, ($v1) +/* 327B58 E0002268 46000021 */ cvt.d.s $f0, $f0 +/* 327B5C E000226C 46260003 */ div.d $f0, $f0, $f6 +/* 327B60 E0002270 46200020 */ cvt.s.d $f0, $f0 +/* 327B64 E0002274 460010A1 */ cvt.d.s $f2, $f2 +/* 327B68 E0002278 46261083 */ div.d $f2, $f2, $f6 +/* 327B6C E000227C 462010A0 */ cvt.s.d $f2, $f2 +/* 327B70 E0002280 E460FFFC */ swc1 $f0, -4($v1) +/* 327B74 E0002284 E4620000 */ swc1 $f2, ($v1) +.LE0002288: +/* 327B78 E0002288 24C60001 */ addiu $a2, $a2, 1 +.LE000228C: +/* 327B7C E000228C 2463002C */ addiu $v1, $v1, 0x2c +/* 327B80 E0002290 8C820008 */ lw $v0, 8($a0) +/* 327B84 E0002294 00C2102A */ slt $v0, $a2, $v0 +/* 327B88 E0002298 1440FFD3 */ bnez $v0, .LE00021E8 +/* 327B8C E000229C 24A5002C */ addiu $a1, $a1, 0x2c +.LE00022A0: +/* 327B90 E00022A0 14E00003 */ bnez $a3, .LE00022B0 +/* 327B94 E00022A4 00000000 */ nop +/* 327B98 E00022A8 0C080128 */ jal func_E02004A0 +/* 327B9C E00022AC 00000000 */ nop +.LE00022B0: +/* 327BA0 E00022B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 327BA4 E00022B4 03E00008 */ jr $ra +/* 327BA8 E00022B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3278F0/func_E00022BC.s b/asm/nonmatchings/code_3278F0/func_E00022BC.s new file mode 100644 index 0000000000..ef812f3b58 --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E00022BC.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00022BC +/* 327BAC E00022BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 327BB0 E00022C0 3C02E000 */ lui $v0, 0xe000 +/* 327BB4 E00022C4 24422300 */ addiu $v0, $v0, 0x2300 +/* 327BB8 E00022C8 AFA2001C */ sw $v0, 0x1c($sp) +/* 327BBC E00022CC 2402002D */ addiu $v0, $zero, 0x2d +/* 327BC0 E00022D0 AFA40018 */ sw $a0, 0x18($sp) +/* 327BC4 E00022D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 327BC8 E00022D8 AFBF0020 */ sw $ra, 0x20($sp) +/* 327BCC E00022DC AFA00014 */ sw $zero, 0x14($sp) +/* 327BD0 E00022E0 0C080120 */ jal func_E0200480 +/* 327BD4 E00022E4 AFA20010 */ sw $v0, 0x10($sp) +/* 327BD8 E00022E8 8C430000 */ lw $v1, ($v0) +/* 327BDC E00022EC 34630002 */ ori $v1, $v1, 2 +/* 327BE0 E00022F0 AC430000 */ sw $v1, ($v0) +/* 327BE4 E00022F4 8FBF0020 */ lw $ra, 0x20($sp) +/* 327BE8 E00022F8 03E00008 */ jr $ra +/* 327BEC E00022FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3278F0/func_E0002300.s b/asm/nonmatchings/code_3278F0/func_E0002300.s new file mode 100644 index 0000000000..2c871c23bd --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E0002300.s @@ -0,0 +1,281 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0002300 +/* 327BF0 E0002300 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 327BF4 E0002304 3C08DB06 */ lui $t0, 0xdb06 +/* 327BF8 E0002308 35080024 */ ori $t0, $t0, 0x24 +/* 327BFC E000230C AFB50074 */ sw $s5, 0x74($sp) +/* 327C00 E0002310 3C15800A */ lui $s5, 0x800a +/* 327C04 E0002314 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 327C08 E0002318 3C02E700 */ lui $v0, 0xe700 +/* 327C0C E000231C AFBF0084 */ sw $ra, 0x84($sp) +/* 327C10 E0002320 AFBE0080 */ sw $fp, 0x80($sp) +/* 327C14 E0002324 AFB7007C */ sw $s7, 0x7c($sp) +/* 327C18 E0002328 AFB60078 */ sw $s6, 0x78($sp) +/* 327C1C E000232C AFB40070 */ sw $s4, 0x70($sp) +/* 327C20 E0002330 AFB3006C */ sw $s3, 0x6c($sp) +/* 327C24 E0002334 AFB20068 */ sw $s2, 0x68($sp) +/* 327C28 E0002338 AFB10064 */ sw $s1, 0x64($sp) +/* 327C2C E000233C AFB00060 */ sw $s0, 0x60($sp) +/* 327C30 E0002340 F7B60090 */ sdc1 $f22, 0x90($sp) +/* 327C34 E0002344 F7B40088 */ sdc1 $f20, 0x88($sp) +/* 327C38 E0002348 AFA40098 */ sw $a0, 0x98($sp) +/* 327C3C E000234C 8EA60000 */ lw $a2, ($s5) +/* 327C40 E0002350 8FA90098 */ lw $t1, 0x98($sp) +/* 327C44 E0002354 4480A000 */ mtc1 $zero, $f20 +/* 327C48 E0002358 3C013F80 */ lui $at, 0x3f80 +/* 327C4C E000235C 44810000 */ mtc1 $at, $f0 +/* 327C50 E0002360 00C0182D */ daddu $v1, $a2, $zero +/* 327C54 E0002364 8D34000C */ lw $s4, 0xc($t1) +/* 327C58 E0002368 24C60008 */ addiu $a2, $a2, 8 +/* 327C5C E000236C AC620000 */ sw $v0, ($v1) +/* 327C60 E0002370 AC600004 */ sw $zero, 4($v1) +/* 327C64 E0002374 ACC80000 */ sw $t0, ($a2) +/* 327C68 E0002378 3C088000 */ lui $t0, 0x8000 +/* 327C6C E000237C 4405A000 */ mfc1 $a1, $f20 +/* 327C70 E0002380 8D220010 */ lw $v0, 0x10($t1) +/* 327C74 E0002384 4407A000 */ mfc1 $a3, $f20 +/* 327C78 E0002388 8C42001C */ lw $v0, 0x1c($v0) +/* 327C7C E000238C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 327C80 E0002390 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 327C84 E0002394 00481021 */ addu $v0, $v0, $t0 +/* 327C88 E0002398 ACC20004 */ sw $v0, 4($a2) +/* 327C8C E000239C 00031080 */ sll $v0, $v1, 2 +/* 327C90 E00023A0 00431021 */ addu $v0, $v0, $v1 +/* 327C94 E00023A4 00021080 */ sll $v0, $v0, 2 +/* 327C98 E00023A8 00431023 */ subu $v0, $v0, $v1 +/* 327C9C E00023AC 000218C0 */ sll $v1, $v0, 3 +/* 327CA0 E00023B0 00431021 */ addu $v0, $v0, $v1 +/* 327CA4 E00023B4 000210C0 */ sll $v0, $v0, 3 +/* 327CA8 E00023B8 3C01800B */ lui $at, 0x800b +/* 327CAC E00023BC 00220821 */ addu $at, $at, $v0 +/* 327CB0 E00023C0 C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 327CB4 E00023C4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 327CB8 E00023C8 C680000C */ lwc1 $f0, 0xc($s4) +/* 327CBC E00023CC 27A40020 */ addiu $a0, $sp, 0x20 +/* 327CC0 E00023D0 AEA60000 */ sw $a2, ($s5) +/* 327CC4 E00023D4 24C60008 */ addiu $a2, $a2, 8 +/* 327CC8 E00023D8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 327CCC E00023DC C6800010 */ lwc1 $f0, 0x10($s4) +/* 327CD0 E00023E0 46001087 */ neg.s $f2, $f2 +/* 327CD4 E00023E4 AEA60000 */ sw $a2, ($s5) +/* 327CD8 E00023E8 44061000 */ mfc1 $a2, $f2 +/* 327CDC E00023EC 3C100001 */ lui $s0, 1 +/* 327CE0 E00023F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 327CE4 E00023F4 C6800014 */ lwc1 $f0, 0x14($s4) +/* 327CE8 E00023F8 36101630 */ ori $s0, $s0, 0x1630 +/* 327CEC E00023FC 0C080180 */ jal func_E0200600 +/* 327CF0 E0002400 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 327CF4 E0002404 27A40020 */ addiu $a0, $sp, 0x20 +/* 327CF8 E0002408 3C118007 */ lui $s1, 0x8007 +/* 327CFC E000240C 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 327D00 E0002410 3C13800A */ lui $s3, 0x800a +/* 327D04 E0002414 2673A674 */ addiu $s3, $s3, -0x598c +/* 327D08 E0002418 96250000 */ lhu $a1, ($s1) +/* 327D0C E000241C 8E620000 */ lw $v0, ($s3) +/* 327D10 E0002420 00052980 */ sll $a1, $a1, 6 +/* 327D14 E0002424 00B02821 */ addu $a1, $a1, $s0 +/* 327D18 E0002428 0C080118 */ jal func_E0200460 +/* 327D1C E000242C 00452821 */ addu $a1, $v0, $a1 +/* 327D20 E0002430 8EA20000 */ lw $v0, ($s5) +/* 327D24 E0002434 0040282D */ daddu $a1, $v0, $zero +/* 327D28 E0002438 24420008 */ addiu $v0, $v0, 8 +/* 327D2C E000243C AEA20000 */ sw $v0, ($s5) +/* 327D30 E0002440 96240000 */ lhu $a0, ($s1) +/* 327D34 E0002444 3C02DA38 */ lui $v0, 0xda38 +/* 327D38 E0002448 ACA20000 */ sw $v0, ($a1) +/* 327D3C E000244C 8E630000 */ lw $v1, ($s3) +/* 327D40 E0002450 3082FFFF */ andi $v0, $a0, 0xffff +/* 327D44 E0002454 00021180 */ sll $v0, $v0, 6 +/* 327D48 E0002458 00501021 */ addu $v0, $v0, $s0 +/* 327D4C E000245C 00621821 */ addu $v1, $v1, $v0 +/* 327D50 E0002460 ACA30004 */ sw $v1, 4($a1) +/* 327D54 E0002464 8FA90098 */ lw $t1, 0x98($sp) +/* 327D58 E0002468 0000902D */ daddu $s2, $zero, $zero +/* 327D5C E000246C 8D220008 */ lw $v0, 8($t1) +/* 327D60 E0002470 24840001 */ addiu $a0, $a0, 1 +/* 327D64 E0002474 18400092 */ blez $v0, .LE00026C0 +/* 327D68 E0002478 A6240000 */ sh $a0, ($s1) +/* 327D6C E000247C 4600A586 */ mov.s $f22, $f20 +/* 327D70 E0002480 0260F02D */ daddu $fp, $s3, $zero +/* 327D74 E0002484 0220B82D */ daddu $s7, $s1, $zero +/* 327D78 E0002488 3C160001 */ lui $s6, 1 +/* 327D7C E000248C 36D61630 */ ori $s6, $s6, 0x1630 +/* 327D80 E0002490 02A0982D */ daddu $s3, $s5, $zero +/* 327D84 E0002494 3C15E000 */ lui $s5, 0xe000 +/* 327D88 E0002498 26B52800 */ addiu $s5, $s5, 0x2800 +/* 327D8C E000249C 3C0140E0 */ lui $at, 0x40e0 +/* 327D90 E00024A0 4481A000 */ mtc1 $at, $f20 +/* 327D94 E00024A4 26900004 */ addiu $s0, $s4, 4 +.LE00024A8: +/* 327D98 E00024A8 8603FFFE */ lh $v1, -2($s0) +/* 327D9C E00024AC 0462007E */ bltzl $v1, .LE00026A8 +/* 327DA0 E00024B0 26520001 */ addiu $s2, $s2, 1 +/* 327DA4 E00024B4 8E020004 */ lw $v0, 4($s0) +/* 327DA8 E00024B8 0443007B */ bgezl $v0, .LE00026A8 +/* 327DAC E00024BC 26520001 */ addiu $s2, $s2, 1 +/* 327DB0 E00024C0 0060882D */ daddu $s1, $v1, $zero +/* 327DB4 E00024C4 2A220011 */ slti $v0, $s1, 0x11 +/* 327DB8 E00024C8 50400001 */ beql $v0, $zero, .LE00024D0 +/* 327DBC E00024CC 24110010 */ addiu $s1, $zero, 0x10 +.LE00024D0: +/* 327DC0 E00024D0 00121080 */ sll $v0, $s2, 2 +/* 327DC4 E00024D4 3C01E000 */ lui $at, 0xe000 +/* 327DC8 E00024D8 00220821 */ addu $at, $at, $v0 +/* 327DCC E00024DC C42027B0 */ lwc1 $f0, 0x27b0($at) +/* 327DD0 E00024E0 4405B000 */ mfc1 $a1, $f22 +/* 327DD4 E00024E4 4406B000 */ mfc1 $a2, $f22 +/* 327DD8 E00024E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 327DDC E00024EC C6000014 */ lwc1 $f0, 0x14($s0) +/* 327DE0 E00024F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 327DE4 E00024F4 C6000018 */ lwc1 $f0, 0x18($s0) +/* 327DE8 E00024F8 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 327DEC E00024FC E7A00018 */ swc1 $f0, 0x18($sp) +/* 327DF0 E0002500 3C07E000 */ lui $a3, 0xe000 +/* 327DF4 E0002504 00E23821 */ addu $a3, $a3, $v0 +/* 327DF8 E0002508 8CE727D8 */ lw $a3, 0x27d8($a3) +/* 327DFC E000250C 0C080180 */ jal func_E0200600 +/* 327E00 E0002510 27A40020 */ addiu $a0, $sp, 0x20 +/* 327E04 E0002514 27A40020 */ addiu $a0, $sp, 0x20 +/* 327E08 E0002518 96E50000 */ lhu $a1, ($s7) +/* 327E0C E000251C 8FC20000 */ lw $v0, ($fp) +/* 327E10 E0002520 00052980 */ sll $a1, $a1, 6 +/* 327E14 E0002524 00B62821 */ addu $a1, $a1, $s6 +/* 327E18 E0002528 0C080118 */ jal func_E0200460 +/* 327E1C E000252C 00452821 */ addu $a1, $v0, $a1 +/* 327E20 E0002530 8E620000 */ lw $v0, ($s3) +/* 327E24 E0002534 0040282D */ daddu $a1, $v0, $zero +/* 327E28 E0002538 24420008 */ addiu $v0, $v0, 8 +/* 327E2C E000253C AE620000 */ sw $v0, ($s3) +/* 327E30 E0002540 96E40000 */ lhu $a0, ($s7) +/* 327E34 E0002544 3C02DA38 */ lui $v0, 0xda38 +/* 327E38 E0002548 ACA20000 */ sw $v0, ($a1) +/* 327E3C E000254C 8FC30000 */ lw $v1, ($fp) +/* 327E40 E0002550 3082FFFF */ andi $v0, $a0, 0xffff +/* 327E44 E0002554 00021180 */ sll $v0, $v0, 6 +/* 327E48 E0002558 00561021 */ addu $v0, $v0, $s6 +/* 327E4C E000255C 00621821 */ addu $v1, $v1, $v0 +/* 327E50 E0002560 ACA30004 */ sw $v1, 4($a1) +/* 327E54 E0002564 86820000 */ lh $v0, ($s4) +/* 327E58 E0002568 24840001 */ addiu $a0, $a0, 1 +/* 327E5C E000256C A6E40000 */ sh $a0, ($s7) +/* 327E60 E0002570 86030000 */ lh $v1, ($s0) +/* 327E64 E0002574 2442FFFF */ addiu $v0, $v0, -1 +/* 327E68 E0002578 44826000 */ mtc1 $v0, $f12 +/* 327E6C E000257C 00000000 */ nop +/* 327E70 E0002580 46806320 */ cvt.s.w $f12, $f12 +/* 327E74 E0002584 44831000 */ mtc1 $v1, $f2 +/* 327E78 E0002588 00000000 */ nop +/* 327E7C E000258C 468010A0 */ cvt.s.w $f2, $f2 +/* 327E80 E0002590 460C103E */ c.le.s $f2, $f12 +/* 327E84 E0002594 00000000 */ nop +/* 327E88 E0002598 45000004 */ bc1f .LE00025AC +/* 327E8C E000259C 240700FF */ addiu $a3, $zero, 0xff +/* 327E90 E00025A0 8EA80018 */ lw $t0, 0x18($s5) +/* 327E94 E00025A4 0800098B */ j .LE000262C +/* 327E98 E00025A8 3C06D838 */ lui $a2, 0xd838 +.LE00025AC: +/* 327E9C E00025AC 46146302 */ mul.s $f12, $f12, $f20 +/* 327EA0 E00025B0 00000000 */ nop +/* 327EA4 E00025B4 3C0142B4 */ lui $at, 0x42b4 +/* 327EA8 E00025B8 44810000 */ mtc1 $at, $f0 +/* 327EAC E00025BC 46026303 */ div.s $f12, $f12, $f2 +/* 327EB0 E00025C0 46006302 */ mul.s $f12, $f12, $f0 +/* 327EB4 E00025C4 00000000 */ nop +/* 327EB8 E00025C8 0C080140 */ jal func_E0200500 +/* 327EBC E00025CC 46146303 */ div.s $f12, $f12, $f20 +/* 327EC0 E00025D0 46140082 */ mul.s $f2, $f0, $f20 +/* 327EC4 E00025D4 00000000 */ nop +/* 327EC8 E00025D8 3C01437F */ lui $at, 0x437f +/* 327ECC E00025DC 44810000 */ mtc1 $at, $f0 +/* 327ED0 E00025E0 00000000 */ nop +/* 327ED4 E00025E4 46001002 */ mul.s $f0, $f2, $f0 +/* 327ED8 E00025E8 00000000 */ nop +/* 327EDC E00025EC 4600010D */ trunc.w.s $f4, $f0 +/* 327EE0 E00025F0 44032000 */ mfc1 $v1, $f4 +/* 327EE4 E00025F4 00000000 */ nop +/* 327EE8 E00025F8 04610002 */ bgez $v1, .LE0002604 +/* 327EEC E00025FC 0060102D */ daddu $v0, $v1, $zero +/* 327EF0 E0002600 246200FF */ addiu $v0, $v1, 0xff +.LE0002604: +/* 327EF4 E0002604 00023A03 */ sra $a3, $v0, 8 +/* 327EF8 E0002608 00071200 */ sll $v0, $a3, 8 +/* 327EFC E000260C 00623823 */ subu $a3, $v1, $v0 +/* 327F00 E0002610 4600110D */ trunc.w.s $f4, $f2 +/* 327F04 E0002614 44022000 */ mfc1 $v0, $f4 +/* 327F08 E0002618 00000000 */ nop +/* 327F0C E000261C 00021080 */ sll $v0, $v0, 2 +/* 327F10 E0002620 00551021 */ addu $v0, $v0, $s5 +/* 327F14 E0002624 8C480000 */ lw $t0, ($v0) +/* 327F18 E0002628 3C06D838 */ lui $a2, 0xd838 +.LE000262C: +/* 327F1C E000262C 34C60002 */ ori $a2, $a2, 2 +/* 327F20 E0002630 3C02FA00 */ lui $v0, 0xfa00 +/* 327F24 E0002634 001118C0 */ sll $v1, $s1, 3 +/* 327F28 E0002638 8E640000 */ lw $a0, ($s3) +/* 327F2C E000263C 00711823 */ subu $v1, $v1, $s1 +/* 327F30 E0002640 0080282D */ daddu $a1, $a0, $zero +/* 327F34 E0002644 24840008 */ addiu $a0, $a0, 8 +/* 327F38 E0002648 AE640000 */ sw $a0, ($s3) +/* 327F3C E000264C ACA20000 */ sw $v0, ($a1) +/* 327F40 E0002650 00031100 */ sll $v0, $v1, 4 +/* 327F44 E0002654 00431023 */ subu $v0, $v0, $v1 +/* 327F48 E0002658 000210C2 */ srl $v0, $v0, 3 +/* 327F4C E000265C 304200FF */ andi $v0, $v0, 0xff +/* 327F50 E0002660 ACA20004 */ sw $v0, 4($a1) +/* 327F54 E0002664 24820008 */ addiu $v0, $a0, 8 +/* 327F58 E0002668 AE620000 */ sw $v0, ($s3) +/* 327F5C E000266C 3C02FB00 */ lui $v0, 0xfb00 +/* 327F60 E0002670 AC820000 */ sw $v0, ($a0) +/* 327F64 E0002674 30E200FF */ andi $v0, $a3, 0xff +/* 327F68 E0002678 AC820004 */ sw $v0, 4($a0) +/* 327F6C E000267C 24820010 */ addiu $v0, $a0, 0x10 +/* 327F70 E0002680 AE620000 */ sw $v0, ($s3) +/* 327F74 E0002684 3C02DE00 */ lui $v0, 0xde00 +/* 327F78 E0002688 AC820008 */ sw $v0, 8($a0) +/* 327F7C E000268C 24820018 */ addiu $v0, $a0, 0x18 +/* 327F80 E0002690 AC88000C */ sw $t0, 0xc($a0) +/* 327F84 E0002694 AE620000 */ sw $v0, ($s3) +/* 327F88 E0002698 24020040 */ addiu $v0, $zero, 0x40 +/* 327F8C E000269C AC860010 */ sw $a2, 0x10($a0) +/* 327F90 E00026A0 AC820014 */ sw $v0, 0x14($a0) +/* 327F94 E00026A4 26520001 */ addiu $s2, $s2, 1 +.LE00026A8: +/* 327F98 E00026A8 8FA90098 */ lw $t1, 0x98($sp) +/* 327F9C E00026AC 2610002C */ addiu $s0, $s0, 0x2c +/* 327FA0 E00026B0 8D220008 */ lw $v0, 8($t1) +/* 327FA4 E00026B4 0242102A */ slt $v0, $s2, $v0 +/* 327FA8 E00026B8 1440FF7B */ bnez $v0, .LE00024A8 +/* 327FAC E00026BC 2694002C */ addiu $s4, $s4, 0x2c +.LE00026C0: +/* 327FB0 E00026C0 3C03D838 */ lui $v1, 0xd838 +/* 327FB4 E00026C4 3C04800A */ lui $a0, 0x800a +/* 327FB8 E00026C8 2484A66C */ addiu $a0, $a0, -0x5994 +/* 327FBC E00026CC 8C820000 */ lw $v0, ($a0) +/* 327FC0 E00026D0 34630002 */ ori $v1, $v1, 2 +/* 327FC4 E00026D4 0040282D */ daddu $a1, $v0, $zero +/* 327FC8 E00026D8 24420008 */ addiu $v0, $v0, 8 +/* 327FCC E00026DC AC820000 */ sw $v0, ($a0) +/* 327FD0 E00026E0 ACA30000 */ sw $v1, ($a1) +/* 327FD4 E00026E4 24030040 */ addiu $v1, $zero, 0x40 +/* 327FD8 E00026E8 ACA30004 */ sw $v1, 4($a1) +/* 327FDC E00026EC 24430008 */ addiu $v1, $v0, 8 +/* 327FE0 E00026F0 AC830000 */ sw $v1, ($a0) +/* 327FE4 E00026F4 3C03E700 */ lui $v1, 0xe700 +/* 327FE8 E00026F8 AC430000 */ sw $v1, ($v0) +/* 327FEC E00026FC AC400004 */ sw $zero, 4($v0) +/* 327FF0 E0002700 8FBF0084 */ lw $ra, 0x84($sp) +/* 327FF4 E0002704 8FBE0080 */ lw $fp, 0x80($sp) +/* 327FF8 E0002708 8FB7007C */ lw $s7, 0x7c($sp) +/* 327FFC E000270C 8FB60078 */ lw $s6, 0x78($sp) +/* 328000 E0002710 8FB50074 */ lw $s5, 0x74($sp) +/* 328004 E0002714 8FB40070 */ lw $s4, 0x70($sp) +/* 328008 E0002718 8FB3006C */ lw $s3, 0x6c($sp) +/* 32800C E000271C 8FB20068 */ lw $s2, 0x68($sp) +/* 328010 E0002720 8FB10064 */ lw $s1, 0x64($sp) +/* 328014 E0002724 8FB00060 */ lw $s0, 0x60($sp) +/* 328018 E0002728 D7B60090 */ ldc1 $f22, 0x90($sp) +/* 32801C E000272C D7B40088 */ ldc1 $f20, 0x88($sp) +/* 328020 E0002730 03E00008 */ jr $ra +/* 328024 E0002734 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/nonmatchings/code_3278F0/func_E0002738.s b/asm/nonmatchings/code_3278F0/func_E0002738.s new file mode 100644 index 0000000000..94ba4bf6f1 --- /dev/null +++ b/asm/nonmatchings/code_3278F0/func_E0002738.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0002738 +/* 328028 E0002738 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32802C E000273C AFBF0010 */ sw $ra, 0x10($sp) +/* 328030 E0002740 0C080128 */ jal func_E02004A0 +/* 328034 E0002744 00000000 */ nop +/* 328038 E0002748 8FBF0010 */ lw $ra, 0x10($sp) +/* 32803C E000274C 03E00008 */ jr $ra +/* 328040 E0002750 27BD0018 */ addiu $sp, $sp, 0x18 +/* 328044 E0002754 00000000 */ nop +/* 328048 E0002758 00000000 */ nop +/* 32804C E000275C 00000000 */ nop diff --git a/asm/nonmatchings/code_328110/func_E000C000.s b/asm/nonmatchings/code_328110/func_E000C000.s new file mode 100644 index 0000000000..2aa9ece420 --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C000.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C000 +/* 328110 E000C000 C4840018 */ lwc1 $f4, 0x18($a0) +/* 328114 E000C004 C480001C */ lwc1 $f0, 0x1c($a0) +/* 328118 E000C008 46002100 */ add.s $f4, $f4, $f0 +/* 32811C E000C00C C4880014 */ lwc1 $f8, 0x14($a0) +/* 328120 E000C010 46044200 */ add.s $f8, $f8, $f4 +/* 328124 E000C014 C4800010 */ lwc1 $f0, 0x10($a0) +/* 328128 E000C018 46080000 */ add.s $f0, $f0, $f8 +/* 32812C E000C01C C4820030 */ lwc1 $f2, 0x30($a0) +/* 328130 E000C020 46020082 */ mul.s $f2, $f0, $f2 +/* 328134 E000C024 00000000 */ nop +/* 328138 E000C028 E4800010 */ swc1 $f0, 0x10($a0) +/* 32813C E000C02C 46000286 */ mov.s $f10, $f0 +/* 328140 E000C030 C4800034 */ lwc1 $f0, 0x34($a0) +/* 328144 E000C034 46005282 */ mul.s $f10, $f10, $f0 +/* 328148 E000C038 00000000 */ nop +/* 32814C E000C03C C48C0004 */ lwc1 $f12, 4($a0) +/* 328150 E000C040 C4860020 */ lwc1 $f6, 0x20($a0) +/* 328154 E000C044 C4800028 */ lwc1 $f0, 0x28($a0) +/* 328158 E000C048 46026300 */ add.s $f12, $f12, $f2 +/* 32815C E000C04C C482002C */ lwc1 $f2, 0x2c($a0) +/* 328160 E000C050 E4840018 */ swc1 $f4, 0x18($a0) +/* 328164 E000C054 46020000 */ add.s $f0, $f0, $f2 +/* 328168 E000C058 C482000C */ lwc1 $f2, 0xc($a0) +/* 32816C E000C05C C4840024 */ lwc1 $f4, 0x24($a0) +/* 328170 E000C060 460A1080 */ add.s $f2, $f2, $f10 +/* 328174 E000C064 E4880014 */ swc1 $f8, 0x14($a0) +/* 328178 E000C068 46002100 */ add.s $f4, $f4, $f0 +/* 32817C E000C06C E4800028 */ swc1 $f0, 0x28($a0) +/* 328180 E000C070 C4800008 */ lwc1 $f0, 8($a0) +/* 328184 E000C074 46043180 */ add.s $f6, $f6, $f4 +/* 328188 E000C078 E48C0004 */ swc1 $f12, 4($a0) +/* 32818C E000C07C E482000C */ swc1 $f2, 0xc($a0) +/* 328190 E000C080 46060000 */ add.s $f0, $f0, $f6 +/* 328194 E000C084 E4840024 */ swc1 $f4, 0x24($a0) +/* 328198 E000C088 E4860020 */ swc1 $f6, 0x20($a0) +/* 32819C E000C08C 03E00008 */ jr $ra +/* 3281A0 E000C090 E4800008 */ swc1 $f0, 8($a0) diff --git a/asm/nonmatchings/code_328110/func_E000C094.s b/asm/nonmatchings/code_328110/func_E000C094.s new file mode 100644 index 0000000000..da53018c0a --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C094.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C094 +/* 3281A4 E000C094 C4860024 */ lwc1 $f6, 0x24($a0) +/* 3281A8 E000C098 C4800028 */ lwc1 $f0, 0x28($a0) +/* 3281AC E000C09C 46003182 */ mul.s $f6, $f6, $f0 +/* 3281B0 E000C0A0 00000000 */ nop +/* 3281B4 E000C0A4 C4840008 */ lwc1 $f4, 8($a0) +/* 3281B8 E000C0A8 C4800020 */ lwc1 $f0, 0x20($a0) +/* 3281BC E000C0AC 46002100 */ add.s $f4, $f4, $f0 +/* 3281C0 E000C0B0 C4820024 */ lwc1 $f2, 0x24($a0) +/* 3281C4 E000C0B4 46020000 */ add.s $f0, $f0, $f2 +/* 3281C8 E000C0B8 E4840008 */ swc1 $f4, 8($a0) +/* 3281CC E000C0BC E4800020 */ swc1 $f0, 0x20($a0) +/* 3281D0 E000C0C0 03E00008 */ jr $ra +/* 3281D4 E000C0C4 E4860024 */ swc1 $f6, 0x24($a0) diff --git a/asm/nonmatchings/code_328110/func_E000C0C8.s b/asm/nonmatchings/code_328110/func_E000C0C8.s new file mode 100644 index 0000000000..265cd844cc --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C0C8.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C0C8 +/* 3281D8 E000C0C8 C48C0010 */ lwc1 $f12, 0x10($a0) +/* 3281DC E000C0CC C4800030 */ lwc1 $f0, 0x30($a0) +/* 3281E0 E000C0D0 46006302 */ mul.s $f12, $f12, $f0 +/* 3281E4 E000C0D4 00000000 */ nop +/* 3281E8 E000C0D8 C48E0010 */ lwc1 $f14, 0x10($a0) +/* 3281EC E000C0DC C4800034 */ lwc1 $f0, 0x34($a0) +/* 3281F0 E000C0E0 46007382 */ mul.s $f14, $f14, $f0 +/* 3281F4 E000C0E4 00000000 */ nop +/* 3281F8 E000C0E8 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 3281FC E000C0EC C4800014 */ lwc1 $f0, 0x14($a0) +/* 328200 E000C0F0 46005282 */ mul.s $f10, $f10, $f0 +/* 328204 E000C0F4 00000000 */ nop +/* 328208 E000C0F8 C4800024 */ lwc1 $f0, 0x24($a0) +/* 32820C E000C0FC C4820020 */ lwc1 $f2, 0x20($a0) +/* 328210 E000C100 46000206 */ mov.s $f8, $f0 +/* 328214 E000C104 46001080 */ add.s $f2, $f2, $f0 +/* 328218 E000C108 C4800028 */ lwc1 $f0, 0x28($a0) +/* 32821C E000C10C C4840020 */ lwc1 $f4, 0x20($a0) +/* 328220 E000C110 46004202 */ mul.s $f8, $f8, $f0 +/* 328224 E000C114 00000000 */ nop +/* 328228 E000C118 C480002C */ lwc1 $f0, 0x2c($a0) +/* 32822C E000C11C E4820020 */ swc1 $f2, 0x20($a0) +/* 328230 E000C120 46001186 */ mov.s $f6, $f2 +/* 328234 E000C124 46003182 */ mul.s $f6, $f6, $f0 +/* 328238 E000C128 00000000 */ nop +/* 32823C E000C12C C4800008 */ lwc1 $f0, 8($a0) +/* 328240 E000C130 46040000 */ add.s $f0, $f0, $f4 +/* 328244 E000C134 C4820004 */ lwc1 $f2, 4($a0) +/* 328248 E000C138 460C1080 */ add.s $f2, $f2, $f12 +/* 32824C E000C13C C484000C */ lwc1 $f4, 0xc($a0) +/* 328250 E000C140 E48A0010 */ swc1 $f10, 0x10($a0) +/* 328254 E000C144 460E2100 */ add.s $f4, $f4, $f14 +/* 328258 E000C148 E4800008 */ swc1 $f0, 8($a0) +/* 32825C E000C14C E4880024 */ swc1 $f8, 0x24($a0) +/* 328260 E000C150 E4820004 */ swc1 $f2, 4($a0) +/* 328264 E000C154 E484000C */ swc1 $f4, 0xc($a0) +/* 328268 E000C158 03E00008 */ jr $ra +/* 32826C E000C15C E4860020 */ swc1 $f6, 0x20($a0) diff --git a/asm/nonmatchings/code_328110/func_E000C160.s b/asm/nonmatchings/code_328110/func_E000C160.s new file mode 100644 index 0000000000..ec9ecaf962 --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C160.s @@ -0,0 +1,340 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C160 +/* 328270 E000C160 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 328274 E000C164 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 328278 E000C168 4485A000 */ mtc1 $a1, $f20 +/* 32827C E000C16C AFB20030 */ sw $s2, 0x30($sp) +/* 328280 E000C170 0080902D */ daddu $s2, $a0, $zero +/* 328284 E000C174 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 328288 E000C178 4486B000 */ mtc1 $a2, $f22 +/* 32828C E000C17C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 328290 E000C180 4487C000 */ mtc1 $a3, $f24 +/* 328294 E000C184 24020003 */ addiu $v0, $zero, 3 +/* 328298 E000C188 AFBF003C */ sw $ra, 0x3c($sp) +/* 32829C E000C18C AFB40038 */ sw $s4, 0x38($sp) +/* 3282A0 E000C190 AFB30034 */ sw $s3, 0x34($sp) +/* 3282A4 E000C194 AFB1002C */ sw $s1, 0x2c($sp) +/* 3282A8 E000C198 AFB00028 */ sw $s0, 0x28($sp) +/* 3282AC E000C19C F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 3282B0 E000C1A0 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 3282B4 E000C1A4 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 3282B8 E000C1A8 1242000F */ beq $s2, $v0, .LE000C1E8 +/* 3282BC E000C1AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 3282C0 E000C1B0 2A420004 */ slti $v0, $s2, 4 +/* 3282C4 E000C1B4 10400005 */ beqz $v0, .LE000C1CC +/* 3282C8 E000C1B8 24020002 */ addiu $v0, $zero, 2 +/* 3282CC E000C1BC 12420008 */ beq $s2, $v0, .LE000C1E0 +/* 3282D0 E000C1C0 24130003 */ addiu $s3, $zero, 3 +/* 3282D4 E000C1C4 0800307D */ j .LE000C1F4 +/* 3282D8 E000C1C8 00000000 */ nop +.LE000C1CC: +/* 3282DC E000C1CC 24020004 */ addiu $v0, $zero, 4 +/* 3282E0 E000C1D0 12420007 */ beq $s2, $v0, .LE000C1F0 +/* 3282E4 E000C1D4 24130003 */ addiu $s3, $zero, 3 +/* 3282E8 E000C1D8 0800307D */ j .LE000C1F4 +/* 3282EC E000C1DC 00000000 */ nop +.LE000C1E0: +/* 3282F0 E000C1E0 0800307D */ j .LE000C1F4 +/* 3282F4 E000C1E4 24130001 */ addiu $s3, $zero, 1 +.LE000C1E8: +/* 3282F8 E000C1E8 0800307D */ j .LE000C1F4 +/* 3282FC E000C1EC 24130004 */ addiu $s3, $zero, 4 +.LE000C1F0: +/* 328300 E000C1F0 24130009 */ addiu $s3, $zero, 9 +.LE000C1F4: +/* 328304 E000C1F4 3C02E001 */ lui $v0, 0xe001 +/* 328308 E000C1F8 2442C64C */ addiu $v0, $v0, -0x39b4 +/* 32830C E000C1FC AC820008 */ sw $v0, 8($a0) +/* 328310 E000C200 3C02E001 */ lui $v0, 0xe001 +/* 328314 E000C204 2442C654 */ addiu $v0, $v0, -0x39ac +/* 328318 E000C208 AC82000C */ sw $v0, 0xc($a0) +/* 32831C E000C20C 3C02E001 */ lui $v0, 0xe001 +/* 328320 E000C210 2442C754 */ addiu $v0, $v0, -0x38ac +/* 328324 E000C214 AC820010 */ sw $v0, 0x10($a0) +/* 328328 E000C218 24020006 */ addiu $v0, $zero, 6 +/* 32832C E000C21C AC800000 */ sw $zero, ($a0) +/* 328330 E000C220 AC800014 */ sw $zero, 0x14($a0) +/* 328334 E000C224 0C080124 */ jal func_E0200490 +/* 328338 E000C228 AC820004 */ sw $v0, 4($a0) +/* 32833C E000C22C 00132100 */ sll $a0, $s3, 4 +/* 328340 E000C230 00932021 */ addu $a0, $a0, $s3 +/* 328344 E000C234 00042080 */ sll $a0, $a0, 2 +/* 328348 E000C238 0040802D */ daddu $s0, $v0, $zero +/* 32834C E000C23C 0C08012C */ jal func_E02004B0 +/* 328350 E000C240 AE130008 */ sw $s3, 8($s0) +/* 328354 E000C244 0040882D */ daddu $s1, $v0, $zero +/* 328358 E000C248 16200003 */ bnez $s1, .LE000C258 +/* 32835C E000C24C AE11000C */ sw $s1, 0xc($s0) +.LE000C250: +/* 328360 E000C250 08003094 */ j .LE000C250 +/* 328364 E000C254 00000000 */ nop +.LE000C258: +/* 328368 E000C258 0220202D */ daddu $a0, $s1, $zero +/* 32836C E000C25C 00132900 */ sll $a1, $s3, 4 +/* 328370 E000C260 00B32821 */ addu $a1, $a1, $s3 +/* 328374 E000C264 0C080130 */ jal func_E02004C0 +/* 328378 E000C268 00052880 */ sll $a1, $a1, 2 +/* 32837C E000C26C 2E420005 */ sltiu $v0, $s2, 5 +/* 328380 E000C270 1040000C */ beqz $v0, .LE000C2A4 +/* 328384 E000C274 00121080 */ sll $v0, $s2, 2 +/* 328388 E000C278 3C01E001 */ lui $at, 0xe001 +/* 32838C E000C27C 00220821 */ addu $at, $at, $v0 +/* 328390 E000C280 8C22CD40 */ lw $v0, -0x32c0($at) +/* 328394 E000C284 00400008 */ jr $v0 +/* 328398 E000C288 00000000 */ nop +/* 32839C E000C28C 080030A9 */ j .LE000C2A4 +/* 3283A0 E000C290 AE200038 */ sw $zero, 0x38($s1) +/* 3283A4 E000C294 080030A8 */ j .LE000C2A0 +/* 3283A8 E000C298 24020002 */ addiu $v0, $zero, 2 +/* 3283AC E000C29C 24020003 */ addiu $v0, $zero, 3 +.LE000C2A0: +/* 3283B0 E000C2A0 AE220038 */ sw $v0, 0x38($s1) +.LE000C2A4: +/* 3283B4 E000C2A4 AE20003C */ sw $zero, 0x3c($s1) +/* 3283B8 E000C2A8 A6320000 */ sh $s2, ($s1) +/* 3283BC E000C2AC E6340004 */ swc1 $f20, 4($s1) +/* 3283C0 E000C2B0 E6360008 */ swc1 $f22, 8($s1) +/* 3283C4 E000C2B4 E638000C */ swc1 $f24, 0xc($s1) +/* 3283C8 E000C2B8 2E420005 */ sltiu $v0, $s2, 5 +/* 3283CC E000C2BC 104000D5 */ beqz $v0, .LE000C614 +/* 3283D0 E000C2C0 26310044 */ addiu $s1, $s1, 0x44 +/* 3283D4 E000C2C4 00121080 */ sll $v0, $s2, 2 +/* 3283D8 E000C2C8 3C01E001 */ lui $at, 0xe001 +/* 3283DC E000C2CC 00220821 */ addu $at, $at, $v0 +/* 3283E0 E000C2D0 8C22CD58 */ lw $v0, -0x32a8($at) +/* 3283E4 E000C2D4 00400008 */ jr $v0 +/* 3283E8 E000C2D8 00000000 */ nop +/* 3283EC E000C2DC 24120001 */ addiu $s2, $zero, 1 +/* 3283F0 E000C2E0 0253102A */ slt $v0, $s2, $s3 +/* 3283F4 E000C2E4 104000CB */ beqz $v0, .LE000C614 +/* 3283F8 E000C2E8 26300034 */ addiu $s0, $s1, 0x34 +/* 3283FC E000C2EC 2411005A */ addiu $s1, $zero, 0x5a +/* 328400 E000C2F0 3C01C040 */ lui $at, 0xc040 +/* 328404 E000C2F4 4481F000 */ mtc1 $at, $f30 +/* 328408 E000C2F8 3C013E99 */ lui $at, 0x3e99 +/* 32840C E000C2FC 34219999 */ ori $at, $at, 0x9999 +/* 328410 E000C300 4481E000 */ mtc1 $at, $f28 +/* 328414 E000C304 3C013FE0 */ lui $at, 0x3fe0 +/* 328418 E000C308 4481D000 */ mtc1 $at, $f26 +/* 32841C E000C30C 3C01BE23 */ lui $at, 0xbe23 +/* 328420 E000C310 3421D70A */ ori $at, $at, 0xd70a +/* 328424 E000C314 4481C000 */ mtc1 $at, $f24 +/* 328428 E000C318 3C014080 */ lui $at, 0x4080 +/* 32842C E000C31C 4481B000 */ mtc1 $at, $f22 +.LE000C320: +/* 328430 E000C320 44916000 */ mtc1 $s1, $f12 +/* 328434 E000C324 00000000 */ nop +/* 328438 E000C328 46806320 */ cvt.s.w $f12, $f12 +/* 32843C E000C32C E61EFFDC */ swc1 $f30, -0x24($s0) +/* 328440 E000C330 E61CFFE0 */ swc1 $f28, -0x20($s0) +/* 328444 E000C334 AE00FFE4 */ sw $zero, -0x1c($s0) +/* 328448 E000C338 AE00FFE8 */ sw $zero, -0x18($s0) +/* 32844C E000C33C E61AFFEC */ swc1 $f26, -0x14($s0) +/* 328450 E000C340 E618FFF0 */ swc1 $f24, -0x10($s0) +/* 328454 E000C344 AE00FFF4 */ sw $zero, -0xc($s0) +/* 328458 E000C348 AE00FFF8 */ sw $zero, -8($s0) +/* 32845C E000C34C AE00FFD0 */ sw $zero, -0x30($s0) +/* 328460 E000C350 AE00FFD4 */ sw $zero, -0x2c($s0) +/* 328464 E000C354 0C08013C */ jal func_E02004F0 +/* 328468 E000C358 E616FFD8 */ swc1 $f22, -0x28($s0) +/* 32846C E000C35C 46000506 */ mov.s $f20, $f0 +/* 328470 E000C360 0C080140 */ jal func_E0200500 +/* 328474 E000C364 4600A306 */ mov.s $f12, $f20 +/* 328478 E000C368 4600A306 */ mov.s $f12, $f20 +/* 32847C E000C36C 0C080144 */ jal func_E0200510 +/* 328480 E000C370 E600FFFC */ swc1 $f0, -4($s0) +/* 328484 E000C374 263100B4 */ addiu $s1, $s1, 0xb4 +/* 328488 E000C378 26520001 */ addiu $s2, $s2, 1 +/* 32848C E000C37C E6000000 */ swc1 $f0, ($s0) +/* 328490 E000C380 0253102A */ slt $v0, $s2, $s3 +/* 328494 E000C384 1440FFE6 */ bnez $v0, .LE000C320 +/* 328498 E000C388 26100044 */ addiu $s0, $s0, 0x44 +/* 32849C E000C38C 08003185 */ j .LE000C614 +/* 3284A0 E000C390 00000000 */ nop +/* 3284A4 E000C394 24120001 */ addiu $s2, $zero, 1 +/* 3284A8 E000C398 0253102A */ slt $v0, $s2, $s3 +/* 3284AC E000C39C 1040009D */ beqz $v0, .LE000C614 +/* 3284B0 E000C3A0 26300034 */ addiu $s0, $s1, 0x34 +/* 3284B4 E000C3A4 3C0141C8 */ lui $at, 0x41c8 +/* 3284B8 E000C3A8 4481B000 */ mtc1 $at, $f22 +/* 3284BC E000C3AC 3C01BD23 */ lui $at, 0xbd23 +/* 3284C0 E000C3B0 3421D70A */ ori $at, $at, 0xd70a +/* 3284C4 E000C3B4 4481D000 */ mtc1 $at, $f26 +/* 3284C8 E000C3B8 3C013F70 */ lui $at, 0x3f70 +/* 3284CC E000C3BC 3421A3D7 */ ori $at, $at, 0xa3d7 +/* 3284D0 E000C3C0 4481C000 */ mtc1 $at, $f24 +.LE000C3C4: +/* 3284D4 E000C3C4 2643FFFF */ addiu $v1, $s2, -1 +/* 3284D8 E000C3C8 24020001 */ addiu $v0, $zero, 1 +/* 3284DC E000C3CC 1062001E */ beq $v1, $v0, .LE000C448 +/* 3284E0 E000C3D0 28620002 */ slti $v0, $v1, 2 +/* 3284E4 E000C3D4 10400005 */ beqz $v0, .LE000C3EC +/* 3284E8 E000C3D8 24020002 */ addiu $v0, $zero, 2 +/* 3284EC E000C3DC 10600007 */ beqz $v1, .LE000C3FC +/* 3284F0 E000C3E0 00000000 */ nop +/* 3284F4 E000C3E4 0800313E */ j .LE000C4F8 +/* 3284F8 E000C3E8 26520001 */ addiu $s2, $s2, 1 +.LE000C3EC: +/* 3284FC E000C3EC 1062002B */ beq $v1, $v0, .LE000C49C +/* 328500 E000C3F0 00000000 */ nop +/* 328504 E000C3F4 0800313E */ j .LE000C4F8 +/* 328508 E000C3F8 26520001 */ addiu $s2, $s2, 1 +.LE000C3FC: +/* 32850C E000C3FC 3C014307 */ lui $at, 0x4307 +/* 328510 E000C400 4481A000 */ mtc1 $at, $f20 +/* 328514 E000C404 0C080140 */ jal func_E0200500 +/* 328518 E000C408 4600A306 */ mov.s $f12, $f20 +/* 32851C E000C40C 46000007 */ neg.s $f0, $f0 +/* 328520 E000C410 46160002 */ mul.s $f0, $f0, $f22 +/* 328524 E000C414 00000000 */ nop +/* 328528 E000C418 4600A306 */ mov.s $f12, $f20 +/* 32852C E000C41C AE00FFD4 */ sw $zero, -0x2c($s0) +/* 328530 E000C420 0C080144 */ jal func_E0200510 +/* 328534 E000C424 E600FFD0 */ swc1 $f0, -0x30($s0) +/* 328538 E000C428 46000007 */ neg.s $f0, $f0 +/* 32853C E000C42C 46160002 */ mul.s $f0, $f0, $f22 +/* 328540 E000C430 00000000 */ nop +/* 328544 E000C434 3C013F73 */ lui $at, 0x3f73 +/* 328548 E000C438 34213333 */ ori $at, $at, 0x3333 +/* 32854C E000C43C 44811000 */ mtc1 $at, $f2 +/* 328550 E000C440 0800313A */ j .LE000C4E8 +/* 328554 E000C444 E61AFFF0 */ swc1 $f26, -0x10($s0) +.LE000C448: +/* 328558 E000C448 3C01C307 */ lui $at, 0xc307 +/* 32855C E000C44C 4481A000 */ mtc1 $at, $f20 +/* 328560 E000C450 0C080140 */ jal func_E0200500 +/* 328564 E000C454 4600A306 */ mov.s $f12, $f20 +/* 328568 E000C458 46000007 */ neg.s $f0, $f0 +/* 32856C E000C45C 46160002 */ mul.s $f0, $f0, $f22 +/* 328570 E000C460 00000000 */ nop +/* 328574 E000C464 3C014080 */ lui $at, 0x4080 +/* 328578 E000C468 44811000 */ mtc1 $at, $f2 +/* 32857C E000C46C 4600A306 */ mov.s $f12, $f20 +/* 328580 E000C470 E602FFD4 */ swc1 $f2, -0x2c($s0) +/* 328584 E000C474 0C080144 */ jal func_E0200510 +/* 328588 E000C478 E600FFD0 */ swc1 $f0, -0x30($s0) +/* 32858C E000C47C 46000007 */ neg.s $f0, $f0 +/* 328590 E000C480 46160002 */ mul.s $f0, $f0, $f22 +/* 328594 E000C484 00000000 */ nop +/* 328598 E000C488 3C013F59 */ lui $at, 0x3f59 +/* 32859C E000C48C 34219999 */ ori $at, $at, 0x9999 +/* 3285A0 E000C490 44811000 */ mtc1 $at, $f2 +/* 3285A4 E000C494 0800313A */ j .LE000C4E8 +/* 3285A8 E000C498 E61AFFF0 */ swc1 $f26, -0x10($s0) +.LE000C49C: +/* 3285AC E000C49C 3C0141A0 */ lui $at, 0x41a0 +/* 3285B0 E000C4A0 4481A000 */ mtc1 $at, $f20 +/* 3285B4 E000C4A4 0C080140 */ jal func_E0200500 +/* 3285B8 E000C4A8 4600A306 */ mov.s $f12, $f20 +/* 3285BC E000C4AC 46000007 */ neg.s $f0, $f0 +/* 3285C0 E000C4B0 46160002 */ mul.s $f0, $f0, $f22 +/* 3285C4 E000C4B4 00000000 */ nop +/* 3285C8 E000C4B8 3C014120 */ lui $at, 0x4120 +/* 3285CC E000C4BC 44811000 */ mtc1 $at, $f2 +/* 3285D0 E000C4C0 4600A306 */ mov.s $f12, $f20 +/* 3285D4 E000C4C4 E602FFD4 */ swc1 $f2, -0x2c($s0) +/* 3285D8 E000C4C8 0C080144 */ jal func_E0200510 +/* 3285DC E000C4CC E600FFD0 */ swc1 $f0, -0x30($s0) +/* 3285E0 E000C4D0 46000007 */ neg.s $f0, $f0 +/* 3285E4 E000C4D4 46160002 */ mul.s $f0, $f0, $f22 +/* 3285E8 E000C4D8 00000000 */ nop +/* 3285EC E000C4DC 3C013F40 */ lui $at, 0x3f40 +/* 3285F0 E000C4E0 44811000 */ mtc1 $at, $f2 +/* 3285F4 E000C4E4 E61AFFF0 */ swc1 $f26, -0x10($s0) +.LE000C4E8: +/* 3285F8 E000C4E8 E618FFF4 */ swc1 $f24, -0xc($s0) +/* 3285FC E000C4EC E602FFEC */ swc1 $f2, -0x14($s0) +/* 328600 E000C4F0 E600FFD8 */ swc1 $f0, -0x28($s0) +/* 328604 E000C4F4 26520001 */ addiu $s2, $s2, 1 +.LE000C4F8: +/* 328608 E000C4F8 AE00FFFC */ sw $zero, -4($s0) +/* 32860C E000C4FC AE000000 */ sw $zero, ($s0) +/* 328610 E000C500 0253102A */ slt $v0, $s2, $s3 +/* 328614 E000C504 1440FFAF */ bnez $v0, .LE000C3C4 +/* 328618 E000C508 26100044 */ addiu $s0, $s0, 0x44 +/* 32861C E000C50C 08003185 */ j .LE000C614 +/* 328620 E000C510 00000000 */ nop +/* 328624 E000C514 24120001 */ addiu $s2, $zero, 1 +/* 328628 E000C518 0253102A */ slt $v0, $s2, $s3 +/* 32862C E000C51C 1040003D */ beqz $v0, .LE000C614 +/* 328630 E000C520 2674FFFF */ addiu $s4, $s3, -1 +/* 328634 E000C524 26300034 */ addiu $s0, $s1, 0x34 +/* 328638 E000C528 0000882D */ daddu $s1, $zero, $zero +/* 32863C E000C52C 3C01C040 */ lui $at, 0xc040 +/* 328640 E000C530 4481F000 */ mtc1 $at, $f30 +/* 328644 E000C534 3C013F6E */ lui $at, 0x3f6e +/* 328648 E000C538 3421147B */ ori $at, $at, 0x147b +/* 32864C E000C53C 4481E000 */ mtc1 $at, $f28 +/* 328650 E000C540 3C013DCC */ lui $at, 0x3dcc +/* 328654 E000C544 3421CCCC */ ori $at, $at, 0xcccc +/* 328658 E000C548 4481D000 */ mtc1 $at, $f26 +/* 32865C E000C54C 3C013F70 */ lui $at, 0x3f70 +/* 328660 E000C550 3421A3D7 */ ori $at, $at, 0xa3d7 +/* 328664 E000C554 4481C000 */ mtc1 $at, $f24 +/* 328668 E000C558 3C014120 */ lui $at, 0x4120 +/* 32866C E000C55C 4481B000 */ mtc1 $at, $f22 +.LE000C560: +/* 328670 E000C560 16800002 */ bnez $s4, .LE000C56C +/* 328674 E000C564 0234001A */ div $zero, $s1, $s4 +/* 328678 E000C568 0007000D */ break 7 +.LE000C56C: +/* 32867C E000C56C 2401FFFF */ addiu $at, $zero, -1 +/* 328680 E000C570 16810004 */ bne $s4, $at, .LE000C584 +/* 328684 E000C574 3C018000 */ lui $at, 0x8000 +/* 328688 E000C578 16210002 */ bne $s1, $at, .LE000C584 +/* 32868C E000C57C 00000000 */ nop +/* 328690 E000C580 0006000D */ break 6 +.LE000C584: +/* 328694 E000C584 00001812 */ mflo $v1 +/* 328698 E000C588 E61EFFDC */ swc1 $f30, -0x24($s0) +/* 32869C E000C58C E61CFFE0 */ swc1 $f28, -0x20($s0) +/* 3286A0 E000C590 AE00FFEC */ sw $zero, -0x14($s0) +/* 3286A4 E000C594 E61AFFF0 */ swc1 $f26, -0x10($s0) +/* 3286A8 E000C598 C7A40080 */ lwc1 $f4, 0x80($sp) +/* 3286AC E000C59C 44830000 */ mtc1 $v1, $f0 +/* 3286B0 E000C5A0 00000000 */ nop +/* 3286B4 E000C5A4 46800020 */ cvt.s.w $f0, $f0 +/* 3286B8 E000C5A8 46002500 */ add.s $f20, $f4, $f0 +/* 3286BC E000C5AC E618FFF4 */ swc1 $f24, -0xc($s0) +/* 3286C0 E000C5B0 E618FFF8 */ swc1 $f24, -8($s0) +/* 3286C4 E000C5B4 0C080140 */ jal func_E0200500 +/* 3286C8 E000C5B8 4600A306 */ mov.s $f12, $f20 +/* 3286CC E000C5BC 46000007 */ neg.s $f0, $f0 +/* 3286D0 E000C5C0 46160002 */ mul.s $f0, $f0, $f22 +/* 3286D4 E000C5C4 00000000 */ nop +/* 3286D8 E000C5C8 4600A306 */ mov.s $f12, $f20 +/* 3286DC E000C5CC AE00FFD4 */ sw $zero, -0x2c($s0) +/* 3286E0 E000C5D0 0C080144 */ jal func_E0200510 +/* 3286E4 E000C5D4 E600FFD0 */ swc1 $f0, -0x30($s0) +/* 3286E8 E000C5D8 46000007 */ neg.s $f0, $f0 +/* 3286EC E000C5DC 46160002 */ mul.s $f0, $f0, $f22 +/* 3286F0 E000C5E0 00000000 */ nop +/* 3286F4 E000C5E4 26310168 */ addiu $s1, $s1, 0x168 +/* 3286F8 E000C5E8 26520001 */ addiu $s2, $s2, 1 +/* 3286FC E000C5EC 4600A306 */ mov.s $f12, $f20 +/* 328700 E000C5F0 0C080140 */ jal func_E0200500 +/* 328704 E000C5F4 E600FFD8 */ swc1 $f0, -0x28($s0) +/* 328708 E000C5F8 4600A306 */ mov.s $f12, $f20 +/* 32870C E000C5FC 0C080144 */ jal func_E0200510 +/* 328710 E000C600 E600FFFC */ swc1 $f0, -4($s0) +/* 328714 E000C604 E6000000 */ swc1 $f0, ($s0) +/* 328718 E000C608 0253102A */ slt $v0, $s2, $s3 +/* 32871C E000C60C 1440FFD4 */ bnez $v0, .LE000C560 +/* 328720 E000C610 26100044 */ addiu $s0, $s0, 0x44 +.LE000C614: +/* 328724 E000C614 8FBF003C */ lw $ra, 0x3c($sp) +/* 328728 E000C618 8FB40038 */ lw $s4, 0x38($sp) +/* 32872C E000C61C 8FB30034 */ lw $s3, 0x34($sp) +/* 328730 E000C620 8FB20030 */ lw $s2, 0x30($sp) +/* 328734 E000C624 8FB1002C */ lw $s1, 0x2c($sp) +/* 328738 E000C628 8FB00028 */ lw $s0, 0x28($sp) +/* 32873C E000C62C D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 328740 E000C630 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 328744 E000C634 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 328748 E000C638 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 32874C E000C63C D7B60048 */ ldc1 $f22, 0x48($sp) +/* 328750 E000C640 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 328754 E000C644 03E00008 */ jr $ra +/* 328758 E000C648 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_328110/func_E000C64C.s b/asm/nonmatchings/code_328110/func_E000C64C.s new file mode 100644 index 0000000000..773d6d3639 --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C64C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C64C +/* 32875C E000C64C 03E00008 */ jr $ra +/* 328760 E000C650 00000000 */ nop diff --git a/asm/nonmatchings/code_328110/func_E000C654.s b/asm/nonmatchings/code_328110/func_E000C654.s new file mode 100644 index 0000000000..b78d06f8e6 --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C654.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C654 +/* 328764 E000C654 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 328768 E000C658 AFB3001C */ sw $s3, 0x1c($sp) +/* 32876C E000C65C 0080982D */ daddu $s3, $a0, $zero +/* 328770 E000C660 AFBF0024 */ sw $ra, 0x24($sp) +/* 328774 E000C664 AFB40020 */ sw $s4, 0x20($sp) +/* 328778 E000C668 AFB20018 */ sw $s2, 0x18($sp) +/* 32877C E000C66C AFB10014 */ sw $s1, 0x14($sp) +/* 328780 E000C670 AFB00010 */ sw $s0, 0x10($sp) +/* 328784 E000C674 8E70000C */ lw $s0, 0xc($s3) +/* 328788 E000C678 8E020038 */ lw $v0, 0x38($s0) +/* 32878C E000C67C 8E03003C */ lw $v1, 0x3c($s0) +/* 328790 E000C680 00021080 */ sll $v0, $v0, 2 +/* 328794 E000C684 3C01E001 */ lui $at, 0xe001 +/* 328798 E000C688 00220821 */ addu $at, $at, $v0 +/* 32879C E000C68C 8C22CD24 */ lw $v0, -0x32dc($at) +/* 3287A0 E000C690 00431021 */ addu $v0, $v0, $v1 +/* 3287A4 E000C694 80420000 */ lb $v0, ($v0) +/* 3287A8 E000C698 24630001 */ addiu $v1, $v1, 1 +/* 3287AC E000C69C AE03003C */ sw $v1, 0x3c($s0) +/* 3287B0 E000C6A0 04410005 */ bgez $v0, .LE000C6B8 +/* 3287B4 E000C6A4 AE020040 */ sw $v0, 0x40($s0) +/* 3287B8 E000C6A8 0C080128 */ jal func_E02004A0 +/* 3287BC E000C6AC 00000000 */ nop +/* 3287C0 E000C6B0 080031CD */ j .LE000C734 +/* 3287C4 E000C6B4 00000000 */ nop +.LE000C6B8: +/* 3287C8 E000C6B8 96040000 */ lhu $a0, ($s0) +/* 3287CC E000C6BC 8E620008 */ lw $v0, 8($s3) +/* 3287D0 E000C6C0 24110001 */ addiu $s1, $zero, 1 +/* 3287D4 E000C6C4 0222102A */ slt $v0, $s1, $v0 +/* 3287D8 E000C6C8 1040001A */ beqz $v0, .LE000C734 +/* 3287DC E000C6CC 26100044 */ addiu $s0, $s0, 0x44 +/* 3287E0 E000C6D0 2C940005 */ sltiu $s4, $a0, 5 +/* 3287E4 E000C6D4 3C03E001 */ lui $v1, 0xe001 +/* 3287E8 E000C6D8 2463CD70 */ addiu $v1, $v1, -0x3290 +/* 3287EC E000C6DC 00041080 */ sll $v0, $a0, 2 +/* 3287F0 E000C6E0 00439021 */ addu $s2, $v0, $v1 +.LE000C6E4: +/* 3287F4 E000C6E4 5280000F */ beql $s4, $zero, .LE000C724 +/* 3287F8 E000C6E8 26310001 */ addiu $s1, $s1, 1 +/* 3287FC E000C6EC 8E420000 */ lw $v0, ($s2) +/* 328800 E000C6F0 00400008 */ jr $v0 +/* 328804 E000C6F4 00000000 */ nop +/* 328808 E000C6F8 0C003000 */ jal func_E000C000 +/* 32880C E000C6FC 0200202D */ daddu $a0, $s0, $zero +/* 328810 E000C700 080031C9 */ j .LE000C724 +/* 328814 E000C704 26310001 */ addiu $s1, $s1, 1 +/* 328818 E000C708 0C003025 */ jal func_E000C094 +/* 32881C E000C70C 0200202D */ daddu $a0, $s0, $zero +/* 328820 E000C710 080031C9 */ j .LE000C724 +/* 328824 E000C714 26310001 */ addiu $s1, $s1, 1 +/* 328828 E000C718 0C003032 */ jal func_E000C0C8 +/* 32882C E000C71C 0200202D */ daddu $a0, $s0, $zero +/* 328830 E000C720 26310001 */ addiu $s1, $s1, 1 +.LE000C724: +/* 328834 E000C724 8E620008 */ lw $v0, 8($s3) +/* 328838 E000C728 0222102A */ slt $v0, $s1, $v0 +/* 32883C E000C72C 1440FFED */ bnez $v0, .LE000C6E4 +/* 328840 E000C730 26100044 */ addiu $s0, $s0, 0x44 +.LE000C734: +/* 328844 E000C734 8FBF0024 */ lw $ra, 0x24($sp) +/* 328848 E000C738 8FB40020 */ lw $s4, 0x20($sp) +/* 32884C E000C73C 8FB3001C */ lw $s3, 0x1c($sp) +/* 328850 E000C740 8FB20018 */ lw $s2, 0x18($sp) +/* 328854 E000C744 8FB10014 */ lw $s1, 0x14($sp) +/* 328858 E000C748 8FB00010 */ lw $s0, 0x10($sp) +/* 32885C E000C74C 03E00008 */ jr $ra +/* 328860 E000C750 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_328110/func_E000C754.s b/asm/nonmatchings/code_328110/func_E000C754.s new file mode 100644 index 0000000000..505bbe915a --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C754.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C754 +/* 328864 E000C754 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 328868 E000C758 3C02E001 */ lui $v0, 0xe001 +/* 32886C E000C75C 2442C798 */ addiu $v0, $v0, -0x3868 +/* 328870 E000C760 AFA2001C */ sw $v0, 0x1c($sp) +/* 328874 E000C764 24020028 */ addiu $v0, $zero, 0x28 +/* 328878 E000C768 AFA40018 */ sw $a0, 0x18($sp) +/* 32887C E000C76C 27A40010 */ addiu $a0, $sp, 0x10 +/* 328880 E000C770 AFBF0020 */ sw $ra, 0x20($sp) +/* 328884 E000C774 AFA00014 */ sw $zero, 0x14($sp) +/* 328888 E000C778 0C080120 */ jal func_E0200480 +/* 32888C E000C77C AFA20010 */ sw $v0, 0x10($sp) +/* 328890 E000C780 8C430000 */ lw $v1, ($v0) +/* 328894 E000C784 34630002 */ ori $v1, $v1, 2 +/* 328898 E000C788 AC430000 */ sw $v1, ($v0) +/* 32889C E000C78C 8FBF0020 */ lw $ra, 0x20($sp) +/* 3288A0 E000C790 03E00008 */ jr $ra +/* 3288A4 E000C794 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_328110/func_E000C798.s b/asm/nonmatchings/code_328110/func_E000C798.s new file mode 100644 index 0000000000..104d897ea8 --- /dev/null +++ b/asm/nonmatchings/code_328110/func_E000C798.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000C798 +/* 3288A8 E000C798 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 3288AC E000C79C AFBE0100 */ sw $fp, 0x100($sp) +/* 3288B0 E000C7A0 0080F02D */ daddu $fp, $a0, $zero +/* 3288B4 E000C7A4 3C07DB06 */ lui $a3, 0xdb06 +/* 3288B8 E000C7A8 34E70024 */ ori $a3, $a3, 0x24 +/* 3288BC E000C7AC 27A40018 */ addiu $a0, $sp, 0x18 +/* 3288C0 E000C7B0 AFB200E8 */ sw $s2, 0xe8($sp) +/* 3288C4 E000C7B4 3C120001 */ lui $s2, 1 +/* 3288C8 E000C7B8 36521630 */ ori $s2, $s2, 0x1630 +/* 3288CC E000C7BC AFB300EC */ sw $s3, 0xec($sp) +/* 3288D0 E000C7C0 3C13800A */ lui $s3, 0x800a +/* 3288D4 E000C7C4 2673A66C */ addiu $s3, $s3, -0x5994 +/* 3288D8 E000C7C8 AFBF0104 */ sw $ra, 0x104($sp) +/* 3288DC E000C7CC AFB700FC */ sw $s7, 0xfc($sp) +/* 3288E0 E000C7D0 AFB600F8 */ sw $s6, 0xf8($sp) +/* 3288E4 E000C7D4 AFB500F4 */ sw $s5, 0xf4($sp) +/* 3288E8 E000C7D8 AFB400F0 */ sw $s4, 0xf0($sp) +/* 3288EC E000C7DC AFB100E4 */ sw $s1, 0xe4($sp) +/* 3288F0 E000C7E0 AFB000E0 */ sw $s0, 0xe0($sp) +/* 3288F4 E000C7E4 8E650000 */ lw $a1, ($s3) +/* 3288F8 E000C7E8 8FD4000C */ lw $s4, 0xc($fp) +/* 3288FC E000C7EC 00A0182D */ daddu $v1, $a1, $zero +/* 328900 E000C7F0 24A50008 */ addiu $a1, $a1, 8 +/* 328904 E000C7F4 AE650000 */ sw $a1, ($s3) +/* 328908 E000C7F8 96950000 */ lhu $s5, ($s4) +/* 32890C E000C7FC 24A20008 */ addiu $v0, $a1, 8 +/* 328910 E000C800 AE620000 */ sw $v0, ($s3) +/* 328914 E000C804 8E880040 */ lw $t0, 0x40($s4) +/* 328918 E000C808 00151080 */ sll $v0, $s5, 2 +/* 32891C E000C80C 3C17E001 */ lui $s7, 0xe001 +/* 328920 E000C810 02E2B821 */ addu $s7, $s7, $v0 +/* 328924 E000C814 8EF7CC10 */ lw $s7, -0x33f0($s7) +/* 328928 E000C818 3C06E001 */ lui $a2, 0xe001 +/* 32892C E000C81C 00C23021 */ addu $a2, $a2, $v0 +/* 328930 E000C820 8CC6CC24 */ lw $a2, -0x33dc($a2) +/* 328934 E000C824 3C02E700 */ lui $v0, 0xe700 +/* 328938 E000C828 AC620000 */ sw $v0, ($v1) +/* 32893C E000C82C AC600004 */ sw $zero, 4($v1) +/* 328940 E000C830 ACA70000 */ sw $a3, ($a1) +/* 328944 E000C834 8FC30010 */ lw $v1, 0x10($fp) +/* 328948 E000C838 24A20010 */ addiu $v0, $a1, 0x10 +/* 32894C E000C83C AE620000 */ sw $v0, ($s3) +/* 328950 E000C840 3C02DE00 */ lui $v0, 0xde00 +/* 328954 E000C844 8C63001C */ lw $v1, 0x1c($v1) +/* 328958 E000C848 310B0007 */ andi $t3, $t0, 7 +/* 32895C E000C84C ACA20008 */ sw $v0, 8($a1) +/* 328960 E000C850 3C028000 */ lui $v0, 0x8000 +/* 328964 E000C854 ACA6000C */ sw $a2, 0xc($a1) +/* 328968 E000C858 00621821 */ addu $v1, $v1, $v0 +/* 32896C E000C85C 31020038 */ andi $v0, $t0, 0x38 +/* 328970 E000C860 0002B080 */ sll $s6, $v0, 2 +/* 328974 E000C864 ACA30004 */ sw $v1, 4($a1) +/* 328978 E000C868 8E850004 */ lw $a1, 4($s4) +/* 32897C E000C86C 8E860008 */ lw $a2, 8($s4) +/* 328980 E000C870 8E87000C */ lw $a3, 0xc($s4) +/* 328984 E000C874 31080040 */ andi $t0, $t0, 0x40 +/* 328988 E000C878 AFAB00D8 */ sw $t3, 0xd8($sp) +/* 32898C E000C87C 0C080108 */ jal func_E0200420 +/* 328990 E000C880 AFA800DC */ sw $t0, 0xdc($sp) +/* 328994 E000C884 27B00058 */ addiu $s0, $sp, 0x58 +/* 328998 E000C888 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 32899C E000C88C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3289A0 E000C890 44800000 */ mtc1 $zero, $f0 +/* 3289A4 E000C894 00031080 */ sll $v0, $v1, 2 +/* 3289A8 E000C898 00431021 */ addu $v0, $v0, $v1 +/* 3289AC E000C89C 00021080 */ sll $v0, $v0, 2 +/* 3289B0 E000C8A0 00431023 */ subu $v0, $v0, $v1 +/* 3289B4 E000C8A4 000218C0 */ sll $v1, $v0, 3 +/* 3289B8 E000C8A8 00431021 */ addu $v0, $v0, $v1 +/* 3289BC E000C8AC 000210C0 */ sll $v0, $v0, 3 +/* 3289C0 E000C8B0 44060000 */ mfc1 $a2, $f0 +/* 3289C4 E000C8B4 3C01800B */ lui $at, 0x800b +/* 3289C8 E000C8B8 00220821 */ addu $at, $at, $v0 +/* 3289CC E000C8BC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3289D0 E000C8C0 3C073F80 */ lui $a3, 0x3f80 +/* 3289D4 E000C8C4 46000007 */ neg.s $f0, $f0 +/* 3289D8 E000C8C8 44050000 */ mfc1 $a1, $f0 +/* 3289DC E000C8CC 0200202D */ daddu $a0, $s0, $zero +/* 3289E0 E000C8D0 0C080104 */ jal func_E0200410 +/* 3289E4 E000C8D4 AFA60010 */ sw $a2, 0x10($sp) +/* 3289E8 E000C8D8 0200202D */ daddu $a0, $s0, $zero +/* 3289EC E000C8DC 27A50018 */ addiu $a1, $sp, 0x18 +/* 3289F0 E000C8E0 27B00098 */ addiu $s0, $sp, 0x98 +/* 3289F4 E000C8E4 0C080114 */ jal func_E0200450 +/* 3289F8 E000C8E8 0200302D */ daddu $a2, $s0, $zero +/* 3289FC E000C8EC 0200202D */ daddu $a0, $s0, $zero +/* 328A00 E000C8F0 3C108007 */ lui $s0, 0x8007 +/* 328A04 E000C8F4 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 328A08 E000C8F8 3C11800A */ lui $s1, 0x800a +/* 328A0C E000C8FC 2631A674 */ addiu $s1, $s1, -0x598c +/* 328A10 E000C900 96050000 */ lhu $a1, ($s0) +/* 328A14 E000C904 8E220000 */ lw $v0, ($s1) +/* 328A18 E000C908 00052980 */ sll $a1, $a1, 6 +/* 328A1C E000C90C 00B22821 */ addu $a1, $a1, $s2 +/* 328A20 E000C910 0C080118 */ jal func_E0200460 +/* 328A24 E000C914 00452821 */ addu $a1, $v0, $a1 +/* 328A28 E000C918 8E650000 */ lw $a1, ($s3) +/* 328A2C E000C91C 00A0202D */ daddu $a0, $a1, $zero +/* 328A30 E000C920 24A50008 */ addiu $a1, $a1, 8 +/* 328A34 E000C924 AE650000 */ sw $a1, ($s3) +/* 328A38 E000C928 96020000 */ lhu $v0, ($s0) +/* 328A3C E000C92C 3C03DA38 */ lui $v1, 0xda38 +/* 328A40 E000C930 AC830000 */ sw $v1, ($a0) +/* 328A44 E000C934 24430001 */ addiu $v1, $v0, 1 +/* 328A48 E000C938 3042FFFF */ andi $v0, $v0, 0xffff +/* 328A4C E000C93C 00021180 */ sll $v0, $v0, 6 +/* 328A50 E000C940 00521021 */ addu $v0, $v0, $s2 +/* 328A54 E000C944 A6030000 */ sh $v1, ($s0) +/* 328A58 E000C948 8E230000 */ lw $v1, ($s1) +/* 328A5C E000C94C 02C0802D */ daddu $s0, $s6, $zero +/* 328A60 E000C950 00621821 */ addu $v1, $v1, $v0 +/* 328A64 E000C954 06A0001D */ bltz $s5, .LE000C9CC +/* 328A68 E000C958 AC830004 */ sw $v1, 4($a0) +/* 328A6C E000C95C 2AA20002 */ slti $v0, $s5, 2 +/* 328A70 E000C960 1040000D */ beqz $v0, .LE000C998 +/* 328A74 E000C964 3C03E6DE */ lui $v1, 0xe6de +/* 328A78 E000C968 3463DE6E */ ori $v1, $v1, 0xde6e +/* 328A7C E000C96C 24A20008 */ addiu $v0, $a1, 8 +/* 328A80 E000C970 AE620000 */ sw $v0, ($s3) +/* 328A84 E000C974 3C02FA00 */ lui $v0, 0xfa00 +/* 328A88 E000C978 ACA20000 */ sw $v0, ($a1) +/* 328A8C E000C97C 24A20010 */ addiu $v0, $a1, 0x10 +/* 328A90 E000C980 ACA30004 */ sw $v1, 4($a1) +/* 328A94 E000C984 AE620000 */ sw $v0, ($s3) +/* 328A98 E000C988 3C02FB00 */ lui $v0, 0xfb00 +/* 328A9C E000C98C ACA20008 */ sw $v0, 8($a1) +/* 328AA0 E000C990 08003273 */ j .LE000C9CC +/* 328AA4 E000C994 ACB6000C */ sw $s6, 0xc($a1) +.LE000C998: +/* 328AA8 E000C998 2AA20005 */ slti $v0, $s5, 5 +/* 328AAC E000C99C 1040000B */ beqz $v0, .LE000C9CC +/* 328AB0 E000C9A0 3463DE82 */ ori $v1, $v1, 0xde82 +/* 328AB4 E000C9A4 24A20008 */ addiu $v0, $a1, 8 +/* 328AB8 E000C9A8 AE620000 */ sw $v0, ($s3) +/* 328ABC E000C9AC 3C02FA00 */ lui $v0, 0xfa00 +/* 328AC0 E000C9B0 ACA20000 */ sw $v0, ($a1) +/* 328AC4 E000C9B4 24A20010 */ addiu $v0, $a1, 0x10 +/* 328AC8 E000C9B8 ACA30004 */ sw $v1, 4($a1) +/* 328ACC E000C9BC AE620000 */ sw $v0, ($s3) +/* 328AD0 E000C9C0 3C02FB00 */ lui $v0, 0xfb00 +/* 328AD4 E000C9C4 ACA20008 */ sw $v0, 8($a1) +/* 328AD8 E000C9C8 ACB0000C */ sw $s0, 0xc($a1) +.LE000C9CC: +/* 328ADC E000C9CC 16A00002 */ bnez $s5, .LE000C9D8 +/* 328AE0 E000C9D0 24040020 */ addiu $a0, $zero, 0x20 +/* 328AE4 E000C9D4 24040018 */ addiu $a0, $zero, 0x18 +.LE000C9D8: +/* 328AE8 E000C9D8 3C0A800A */ lui $t2, 0x800a +/* 328AEC E000C9DC 254AA66C */ addiu $t2, $t2, -0x5994 +/* 328AF0 E000C9E0 3C09F200 */ lui $t1, 0xf200 +/* 328AF4 E000C9E4 8FAB00D8 */ lw $t3, 0xd8($sp) +/* 328AF8 E000C9E8 8D450000 */ lw $a1, ($t2) +/* 328AFC E000C9EC 01640018 */ mult $t3, $a0 +/* 328B00 E000C9F0 00043880 */ sll $a3, $a0, 2 +/* 328B04 E000C9F4 00A0182D */ daddu $v1, $a1, $zero +/* 328B08 E000C9F8 24A50008 */ addiu $a1, $a1, 8 +/* 328B0C E000C9FC AD450000 */ sw $a1, ($t2) +/* 328B10 E000CA00 00004012 */ mflo $t0 +/* 328B14 E000CA04 00081380 */ sll $v0, $t0, 0xe +/* 328B18 E000CA08 00491025 */ or $v0, $v0, $t1 +/* 328B1C E000CA0C AC620000 */ sw $v0, ($v1) +/* 328B20 E000CA10 01041021 */ addu $v0, $t0, $a0 +/* 328B24 E000CA14 00023380 */ sll $a2, $v0, 0xe +/* 328B28 E000CA18 00C71025 */ or $v0, $a2, $a3 +/* 328B2C E000CA1C AC620004 */ sw $v0, 4($v1) +/* 328B30 E000CA20 8FAB00DC */ lw $t3, 0xdc($sp) +/* 328B34 E000CA24 1160000C */ beqz $t3, .LE000CA58 +/* 328B38 E000CA28 24A20008 */ addiu $v0, $a1, 8 +/* 328B3C E000CA2C AD420000 */ sw $v0, ($t2) +/* 328B40 E000CA30 00E91025 */ or $v0, $a3, $t1 +/* 328B44 E000CA34 00C21025 */ or $v0, $a2, $v0 +/* 328B48 E000CA38 ACA20000 */ sw $v0, ($a1) +/* 328B4C E000CA3C 00041040 */ sll $v0, $a0, 1 +/* 328B50 E000CA40 01021021 */ addu $v0, $t0, $v0 +/* 328B54 E000CA44 00021380 */ sll $v0, $v0, 0xe +/* 328B58 E000CA48 000418C0 */ sll $v1, $a0, 3 +/* 328B5C E000CA4C 3C040100 */ lui $a0, 0x100 +/* 328B60 E000CA50 0800329E */ j .LE000CA78 +/* 328B64 E000CA54 00641825 */ or $v1, $v1, $a0 +.LE000CA58: +/* 328B68 E000CA58 AD420000 */ sw $v0, ($t2) +/* 328B6C E000CA5C 00C91025 */ or $v0, $a2, $t1 +/* 328B70 E000CA60 ACA20000 */ sw $v0, ($a1) +/* 328B74 E000CA64 00041040 */ sll $v0, $a0, 1 +/* 328B78 E000CA68 01021021 */ addu $v0, $t0, $v0 +/* 328B7C E000CA6C 00021380 */ sll $v0, $v0, 0xe +/* 328B80 E000CA70 3C030100 */ lui $v1, 0x100 +/* 328B84 E000CA74 00E31825 */ or $v1, $a3, $v1 +.LE000CA78: +/* 328B88 E000CA78 00431025 */ or $v0, $v0, $v1 +/* 328B8C E000CA7C ACA20004 */ sw $v0, 4($a1) +/* 328B90 E000CA80 24020002 */ addiu $v0, $zero, 2 +/* 328B94 E000CA84 16A2000A */ bne $s5, $v0, .LE000CAB0 +/* 328B98 E000CA88 00000000 */ nop +/* 328B9C E000CA8C 3C03800A */ lui $v1, 0x800a +/* 328BA0 E000CA90 2463A66C */ addiu $v1, $v1, -0x5994 +/* 328BA4 E000CA94 8C620000 */ lw $v0, ($v1) +/* 328BA8 E000CA98 0040202D */ daddu $a0, $v0, $zero +/* 328BAC E000CA9C 24420008 */ addiu $v0, $v0, 8 +/* 328BB0 E000CAA0 AC620000 */ sw $v0, ($v1) +/* 328BB4 E000CAA4 3C02DE00 */ lui $v0, 0xde00 +/* 328BB8 E000CAA8 AC820000 */ sw $v0, ($a0) +/* 328BBC E000CAAC AC970004 */ sw $s7, 4($a0) +.LE000CAB0: +/* 328BC0 E000CAB0 8FC20008 */ lw $v0, 8($fp) +/* 328BC4 E000CAB4 24110001 */ addiu $s1, $zero, 1 +/* 328BC8 E000CAB8 0222102A */ slt $v0, $s1, $v0 +/* 328BCC E000CABC 10400036 */ beqz $v0, .LE000CB98 +/* 328BD0 E000CAC0 26940044 */ addiu $s4, $s4, 0x44 +/* 328BD4 E000CAC4 3C16800A */ lui $s6, 0x800a +/* 328BD8 E000CAC8 26D6A674 */ addiu $s6, $s6, -0x598c +/* 328BDC E000CACC 3C158007 */ lui $s5, 0x8007 +/* 328BE0 E000CAD0 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 328BE4 E000CAD4 3C130001 */ lui $s3, 1 +/* 328BE8 E000CAD8 36731630 */ ori $s3, $s3, 0x1630 +/* 328BEC E000CADC 3C12800A */ lui $s2, 0x800a +/* 328BF0 E000CAE0 2652A66C */ addiu $s2, $s2, -0x5994 +/* 328BF4 E000CAE4 2690000C */ addiu $s0, $s4, 0xc +.LE000CAE8: +/* 328BF8 E000CAE8 27A40018 */ addiu $a0, $sp, 0x18 +/* 328BFC E000CAEC 26310001 */ addiu $s1, $s1, 1 +/* 328C00 E000CAF0 8E05FFF8 */ lw $a1, -8($s0) +/* 328C04 E000CAF4 8E06FFFC */ lw $a2, -4($s0) +/* 328C08 E000CAF8 8E070000 */ lw $a3, ($s0) +/* 328C0C E000CAFC 0C080108 */ jal func_E0200420 +/* 328C10 E000CB00 26100044 */ addiu $s0, $s0, 0x44 +/* 328C14 E000CB04 27A40018 */ addiu $a0, $sp, 0x18 +/* 328C18 E000CB08 96A50000 */ lhu $a1, ($s5) +/* 328C1C E000CB0C 8EC20000 */ lw $v0, ($s6) +/* 328C20 E000CB10 00052980 */ sll $a1, $a1, 6 +/* 328C24 E000CB14 00B32821 */ addu $a1, $a1, $s3 +/* 328C28 E000CB18 0C080118 */ jal func_E0200460 +/* 328C2C E000CB1C 00452821 */ addu $a1, $v0, $a1 +/* 328C30 E000CB20 3C06D838 */ lui $a2, 0xd838 +/* 328C34 E000CB24 8E440000 */ lw $a0, ($s2) +/* 328C38 E000CB28 34C60002 */ ori $a2, $a2, 2 +/* 328C3C E000CB2C 0080282D */ daddu $a1, $a0, $zero +/* 328C40 E000CB30 24840008 */ addiu $a0, $a0, 8 +/* 328C44 E000CB34 AE440000 */ sw $a0, ($s2) +/* 328C48 E000CB38 96A20000 */ lhu $v0, ($s5) +/* 328C4C E000CB3C 3C03DA38 */ lui $v1, 0xda38 +/* 328C50 E000CB40 ACA30000 */ sw $v1, ($a1) +/* 328C54 E000CB44 24430001 */ addiu $v1, $v0, 1 +/* 328C58 E000CB48 3042FFFF */ andi $v0, $v0, 0xffff +/* 328C5C E000CB4C 00021180 */ sll $v0, $v0, 6 +/* 328C60 E000CB50 A6A30000 */ sh $v1, ($s5) +/* 328C64 E000CB54 8EC30000 */ lw $v1, ($s6) +/* 328C68 E000CB58 00531021 */ addu $v0, $v0, $s3 +/* 328C6C E000CB5C 00621821 */ addu $v1, $v1, $v0 +/* 328C70 E000CB60 24820008 */ addiu $v0, $a0, 8 +/* 328C74 E000CB64 ACA30004 */ sw $v1, 4($a1) +/* 328C78 E000CB68 AE420000 */ sw $v0, ($s2) +/* 328C7C E000CB6C 3C02DE00 */ lui $v0, 0xde00 +/* 328C80 E000CB70 AC820000 */ sw $v0, ($a0) +/* 328C84 E000CB74 24020040 */ addiu $v0, $zero, 0x40 +/* 328C88 E000CB78 AC970004 */ sw $s7, 4($a0) +/* 328C8C E000CB7C AC860008 */ sw $a2, 8($a0) +/* 328C90 E000CB80 AC82000C */ sw $v0, 0xc($a0) +/* 328C94 E000CB84 8FC20008 */ lw $v0, 8($fp) +/* 328C98 E000CB88 24840010 */ addiu $a0, $a0, 0x10 +/* 328C9C E000CB8C 0222102A */ slt $v0, $s1, $v0 +/* 328CA0 E000CB90 1440FFD5 */ bnez $v0, .LE000CAE8 +/* 328CA4 E000CB94 AE440000 */ sw $a0, ($s2) +.LE000CB98: +/* 328CA8 E000CB98 3C03D838 */ lui $v1, 0xd838 +/* 328CAC E000CB9C 3C04800A */ lui $a0, 0x800a +/* 328CB0 E000CBA0 2484A66C */ addiu $a0, $a0, -0x5994 +/* 328CB4 E000CBA4 8C820000 */ lw $v0, ($a0) +/* 328CB8 E000CBA8 34630002 */ ori $v1, $v1, 2 +/* 328CBC E000CBAC 0040282D */ daddu $a1, $v0, $zero +/* 328CC0 E000CBB0 24420008 */ addiu $v0, $v0, 8 +/* 328CC4 E000CBB4 AC820000 */ sw $v0, ($a0) +/* 328CC8 E000CBB8 ACA30000 */ sw $v1, ($a1) +/* 328CCC E000CBBC 24030040 */ addiu $v1, $zero, 0x40 +/* 328CD0 E000CBC0 ACA30004 */ sw $v1, 4($a1) +/* 328CD4 E000CBC4 24430008 */ addiu $v1, $v0, 8 +/* 328CD8 E000CBC8 AC830000 */ sw $v1, ($a0) +/* 328CDC E000CBCC 3C03E700 */ lui $v1, 0xe700 +/* 328CE0 E000CBD0 AC430000 */ sw $v1, ($v0) +/* 328CE4 E000CBD4 AC400004 */ sw $zero, 4($v0) +/* 328CE8 E000CBD8 8FBF0104 */ lw $ra, 0x104($sp) +/* 328CEC E000CBDC 8FBE0100 */ lw $fp, 0x100($sp) +/* 328CF0 E000CBE0 8FB700FC */ lw $s7, 0xfc($sp) +/* 328CF4 E000CBE4 8FB600F8 */ lw $s6, 0xf8($sp) +/* 328CF8 E000CBE8 8FB500F4 */ lw $s5, 0xf4($sp) +/* 328CFC E000CBEC 8FB400F0 */ lw $s4, 0xf0($sp) +/* 328D00 E000CBF0 8FB300EC */ lw $s3, 0xec($sp) +/* 328D04 E000CBF4 8FB200E8 */ lw $s2, 0xe8($sp) +/* 328D08 E000CBF8 8FB100E4 */ lw $s1, 0xe4($sp) +/* 328D0C E000CBFC 8FB000E0 */ lw $s0, 0xe0($sp) +/* 328D10 E000CC00 03E00008 */ jr $ra +/* 328D14 E000CC04 27BD0108 */ addiu $sp, $sp, 0x108 +/* 328D18 E000CC08 00000000 */ nop +/* 328D1C E000CC0C 00000000 */ nop diff --git a/asm/nonmatchings/code_32C110/func_E000E000.s b/asm/nonmatchings/code_32C110/func_E000E000.s new file mode 100644 index 0000000000..4544f8f53a --- /dev/null +++ b/asm/nonmatchings/code_32C110/func_E000E000.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000E000 +/* 32C110 E000E000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 32C114 E000E004 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 32C118 E000E008 4485B000 */ mtc1 $a1, $f22 +/* 32C11C E000E00C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 32C120 E000E010 4486C000 */ mtc1 $a2, $f24 +/* 32C124 E000E014 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 32C128 E000E018 4487D000 */ mtc1 $a3, $f26 +/* 32C12C E000E01C AFB30034 */ sw $s3, 0x34($sp) +/* 32C130 E000E020 0080982D */ daddu $s3, $a0, $zero +/* 32C134 E000E024 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 32C138 E000E028 C7BC0078 */ lwc1 $f28, 0x78($sp) +/* 32C13C E000E02C 27A40010 */ addiu $a0, $sp, 0x10 +/* 32C140 E000E030 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 32C144 E000E034 C7B4007C */ lwc1 $f20, 0x7c($sp) +/* 32C148 E000E038 3C02E001 */ lui $v0, 0xe001 +/* 32C14C E000E03C 2442E16C */ addiu $v0, $v0, -0x1e94 +/* 32C150 E000E040 AFA20018 */ sw $v0, 0x18($sp) +/* 32C154 E000E044 3C02E001 */ lui $v0, 0xe001 +/* 32C158 E000E048 2442E174 */ addiu $v0, $v0, -0x1e8c +/* 32C15C E000E04C AFA2001C */ sw $v0, 0x1c($sp) +/* 32C160 E000E050 3C02E001 */ lui $v0, 0xe001 +/* 32C164 E000E054 2442E244 */ addiu $v0, $v0, -0x1dbc +/* 32C168 E000E058 AFA20020 */ sw $v0, 0x20($sp) +/* 32C16C E000E05C 24020007 */ addiu $v0, $zero, 7 +/* 32C170 E000E060 AFBF0038 */ sw $ra, 0x38($sp) +/* 32C174 E000E064 AFB20030 */ sw $s2, 0x30($sp) +/* 32C178 E000E068 AFB1002C */ sw $s1, 0x2c($sp) +/* 32C17C E000E06C AFB00028 */ sw $s0, 0x28($sp) +/* 32C180 E000E070 AFA00010 */ sw $zero, 0x10($sp) +/* 32C184 E000E074 AFA00024 */ sw $zero, 0x24($sp) +/* 32C188 E000E078 0C080124 */ jal func_E0200490 +/* 32C18C E000E07C AFA20014 */ sw $v0, 0x14($sp) +/* 32C190 E000E080 24040078 */ addiu $a0, $zero, 0x78 +/* 32C194 E000E084 24120001 */ addiu $s2, $zero, 1 +/* 32C198 E000E088 0040802D */ daddu $s0, $v0, $zero +/* 32C19C E000E08C 0C08012C */ jal func_E02004B0 +/* 32C1A0 E000E090 AE120008 */ sw $s2, 8($s0) +/* 32C1A4 E000E094 0040882D */ daddu $s1, $v0, $zero +/* 32C1A8 E000E098 16200003 */ bnez $s1, .LE000E0A8 +/* 32C1AC E000E09C AE11000C */ sw $s1, 0xc($s0) +.LE000E0A0: +/* 32C1B0 E000E0A0 08003828 */ j .LE000E0A0 +/* 32C1B4 E000E0A4 00000000 */ nop +.LE000E0A8: +/* 32C1B8 E000E0A8 0220202D */ daddu $a0, $s1, $zero +/* 32C1BC E000E0AC 00122900 */ sll $a1, $s2, 4 +/* 32C1C0 E000E0B0 00B22823 */ subu $a1, $a1, $s2 +/* 32C1C4 E000E0B4 0C080130 */ jal func_E02004C0 +/* 32C1C8 E000E0B8 000528C0 */ sll $a1, $a1, 3 +/* 32C1CC E000E0BC 0000202D */ daddu $a0, $zero, $zero +/* 32C1D0 E000E0C0 3A620002 */ xori $v0, $s3, 2 +/* 32C1D4 E000E0C4 2C420001 */ sltiu $v0, $v0, 1 +/* 32C1D8 E000E0C8 AE22006C */ sw $v0, 0x6c($s1) +/* 32C1DC E000E0CC 0092102A */ slt $v0, $a0, $s2 +/* 32C1E0 E000E0D0 AE200070 */ sw $zero, 0x70($s1) +/* 32C1E4 E000E0D4 10400019 */ beqz $v0, .LE000E13C +/* 32C1E8 E000E0D8 A6330004 */ sh $s3, 4($s1) +/* 32C1EC E000E0DC 24050001 */ addiu $a1, $zero, 1 +/* 32C1F0 E000E0E0 26230060 */ addiu $v1, $s1, 0x60 +/* 32C1F4 E000E0E4 3C013EAA */ lui $at, 0x3eaa +/* 32C1F8 E000E0E8 3421AAAB */ ori $at, $at, 0xaaab +/* 32C1FC E000E0EC 44812000 */ mtc1 $at, $f4 +/* 32C200 E000E0F0 3C013FE0 */ lui $at, 0x3fe0 +/* 32C204 E000E0F4 44811000 */ mtc1 $at, $f2 +/* 32C208 E000E0F8 3C01BE23 */ lui $at, 0xbe23 +/* 32C20C E000E0FC 3421D70A */ ori $at, $at, 0xd70a +/* 32C210 E000E100 44810000 */ mtc1 $at, $f0 +.LE000E104: +/* 32C214 E000E104 24840001 */ addiu $a0, $a0, 1 +/* 32C218 E000E108 AE250000 */ sw $a1, ($s1) +/* 32C21C E000E10C E47C0004 */ swc1 $f28, 4($v1) +/* 32C220 E000E110 E4740008 */ swc1 $f20, 8($v1) +/* 32C224 E000E114 E476FFA8 */ swc1 $f22, -0x58($v1) +/* 32C228 E000E118 E478FFAC */ swc1 $f24, -0x54($v1) +/* 32C22C E000E11C E47AFFB0 */ swc1 $f26, -0x50($v1) +/* 32C230 E000E120 E464FFF8 */ swc1 $f4, -8($v1) +/* 32C234 E000E124 E462FFFC */ swc1 $f2, -4($v1) +/* 32C238 E000E128 E4600000 */ swc1 $f0, ($v1) +/* 32C23C E000E12C 24630078 */ addiu $v1, $v1, 0x78 +/* 32C240 E000E130 0092102A */ slt $v0, $a0, $s2 +/* 32C244 E000E134 1440FFF3 */ bnez $v0, .LE000E104 +/* 32C248 E000E138 26310078 */ addiu $s1, $s1, 0x78 +.LE000E13C: +/* 32C24C E000E13C 8FBF0038 */ lw $ra, 0x38($sp) +/* 32C250 E000E140 8FB30034 */ lw $s3, 0x34($sp) +/* 32C254 E000E144 8FB20030 */ lw $s2, 0x30($sp) +/* 32C258 E000E148 8FB1002C */ lw $s1, 0x2c($sp) +/* 32C25C E000E14C 8FB00028 */ lw $s0, 0x28($sp) +/* 32C260 E000E150 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 32C264 E000E154 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 32C268 E000E158 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 32C26C E000E15C D7B60048 */ ldc1 $f22, 0x48($sp) +/* 32C270 E000E160 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 32C274 E000E164 03E00008 */ jr $ra +/* 32C278 E000E168 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_32C110/func_E000E16C.s b/asm/nonmatchings/code_32C110/func_E000E16C.s new file mode 100644 index 0000000000..85be6632b6 --- /dev/null +++ b/asm/nonmatchings/code_32C110/func_E000E16C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000E16C +/* 32C27C E000E16C 03E00008 */ jr $ra +/* 32C280 E000E170 00000000 */ nop diff --git a/asm/nonmatchings/code_32C110/func_E000E174.s b/asm/nonmatchings/code_32C110/func_E000E174.s new file mode 100644 index 0000000000..624a49ac11 --- /dev/null +++ b/asm/nonmatchings/code_32C110/func_E000E174.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000E174 +/* 32C284 E000E174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32C288 E000E178 AFBF0010 */ sw $ra, 0x10($sp) +/* 32C28C E000E17C 8C86000C */ lw $a2, 0xc($a0) +/* 32C290 E000E180 8CC2006C */ lw $v0, 0x6c($a2) +/* 32C294 E000E184 8CC30070 */ lw $v1, 0x70($a2) +/* 32C298 E000E188 00021080 */ sll $v0, $v0, 2 +/* 32C29C E000E18C 3C01E001 */ lui $at, 0xe001 +/* 32C2A0 E000E190 00220821 */ addu $at, $at, $v0 +/* 32C2A4 E000E194 8C22E684 */ lw $v0, -0x197c($at) +/* 32C2A8 E000E198 00431021 */ addu $v0, $v0, $v1 +/* 32C2AC E000E19C 80420000 */ lb $v0, ($v0) +/* 32C2B0 E000E1A0 24630001 */ addiu $v1, $v1, 1 +/* 32C2B4 E000E1A4 ACC30070 */ sw $v1, 0x70($a2) +/* 32C2B8 E000E1A8 04410005 */ bgez $v0, .LE000E1C0 +/* 32C2BC E000E1AC ACC20074 */ sw $v0, 0x74($a2) +/* 32C2C0 E000E1B0 0C080128 */ jal func_E02004A0 +/* 32C2C4 E000E1B4 00000000 */ nop +/* 32C2C8 E000E1B8 0800388E */ j .LE000E238 +/* 32C2CC E000E1BC 00000000 */ nop +.LE000E1C0: +/* 32C2D0 E000E1C0 8C820008 */ lw $v0, 8($a0) +/* 32C2D4 E000E1C4 1840001C */ blez $v0, .LE000E238 +/* 32C2D8 E000E1C8 0000282D */ daddu $a1, $zero, $zero +/* 32C2DC E000E1CC 24C3000C */ addiu $v1, $a2, 0xc +.LE000E1D0: +/* 32C2E0 E000E1D0 C462004C */ lwc1 $f2, 0x4c($v1) +/* 32C2E4 E000E1D4 C4600058 */ lwc1 $f0, 0x58($v1) +/* 32C2E8 E000E1D8 46001082 */ mul.s $f2, $f2, $f0 +/* 32C2EC E000E1DC 00000000 */ nop +/* 32C2F0 E000E1E0 C468004C */ lwc1 $f8, 0x4c($v1) +/* 32C2F4 E000E1E4 C460005C */ lwc1 $f0, 0x5c($v1) +/* 32C2F8 E000E1E8 46004202 */ mul.s $f8, $f8, $f0 +/* 32C2FC E000E1EC 00000000 */ nop +/* 32C300 E000E1F0 C466FFFC */ lwc1 $f6, -4($v1) +/* 32C304 E000E1F4 C4600054 */ lwc1 $f0, 0x54($v1) +/* 32C308 E000E1F8 46023180 */ add.s $f6, $f6, $f2 +/* 32C30C E000E1FC C4620050 */ lwc1 $f2, 0x50($v1) +/* 32C310 E000E200 46001080 */ add.s $f2, $f2, $f0 +/* 32C314 E000E204 C4640004 */ lwc1 $f4, 4($v1) +/* 32C318 E000E208 46082100 */ add.s $f4, $f4, $f8 +/* 32C31C E000E20C C4600000 */ lwc1 $f0, ($v1) +/* 32C320 E000E210 24A50001 */ addiu $a1, $a1, 1 +/* 32C324 E000E214 E466FFFC */ swc1 $f6, -4($v1) +/* 32C328 E000E218 46020000 */ add.s $f0, $f0, $f2 +/* 32C32C E000E21C E4620050 */ swc1 $f2, 0x50($v1) +/* 32C330 E000E220 E4640004 */ swc1 $f4, 4($v1) +/* 32C334 E000E224 E4600000 */ swc1 $f0, ($v1) +/* 32C338 E000E228 8C820008 */ lw $v0, 8($a0) +/* 32C33C E000E22C 00A2102A */ slt $v0, $a1, $v0 +/* 32C340 E000E230 1440FFE7 */ bnez $v0, .LE000E1D0 +/* 32C344 E000E234 24630078 */ addiu $v1, $v1, 0x78 +.LE000E238: +/* 32C348 E000E238 8FBF0010 */ lw $ra, 0x10($sp) +/* 32C34C E000E23C 03E00008 */ jr $ra +/* 32C350 E000E240 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_32C110/func_E000E244.s b/asm/nonmatchings/code_32C110/func_E000E244.s new file mode 100644 index 0000000000..829f12f3a4 --- /dev/null +++ b/asm/nonmatchings/code_32C110/func_E000E244.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000E244 +/* 32C354 E000E244 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32C358 E000E248 3C02E001 */ lui $v0, 0xe001 +/* 32C35C E000E24C 2442E288 */ addiu $v0, $v0, -0x1d78 +/* 32C360 E000E250 AFA2001C */ sw $v0, 0x1c($sp) +/* 32C364 E000E254 24020028 */ addiu $v0, $zero, 0x28 +/* 32C368 E000E258 AFA40018 */ sw $a0, 0x18($sp) +/* 32C36C E000E25C 27A40010 */ addiu $a0, $sp, 0x10 +/* 32C370 E000E260 AFBF0020 */ sw $ra, 0x20($sp) +/* 32C374 E000E264 AFA00014 */ sw $zero, 0x14($sp) +/* 32C378 E000E268 0C080120 */ jal func_E0200480 +/* 32C37C E000E26C AFA20010 */ sw $v0, 0x10($sp) +/* 32C380 E000E270 8C430000 */ lw $v1, ($v0) +/* 32C384 E000E274 34630002 */ ori $v1, $v1, 2 +/* 32C388 E000E278 AC430000 */ sw $v1, ($v0) +/* 32C38C E000E27C 8FBF0020 */ lw $ra, 0x20($sp) +/* 32C390 E000E280 03E00008 */ jr $ra +/* 32C394 E000E284 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32C110/func_E000E288.s b/asm/nonmatchings/code_32C110/func_E000E288.s new file mode 100644 index 0000000000..3d53499626 --- /dev/null +++ b/asm/nonmatchings/code_32C110/func_E000E288.s @@ -0,0 +1,262 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E000E288 +/* 32C398 E000E288 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 32C39C E000E28C AFB700B4 */ sw $s7, 0xb4($sp) +/* 32C3A0 E000E290 0080B82D */ daddu $s7, $a0, $zero +/* 32C3A4 E000E294 AFBF00BC */ sw $ra, 0xbc($sp) +/* 32C3A8 E000E298 AFBE00B8 */ sw $fp, 0xb8($sp) +/* 32C3AC E000E29C AFB600B0 */ sw $s6, 0xb0($sp) +/* 32C3B0 E000E2A0 AFB500AC */ sw $s5, 0xac($sp) +/* 32C3B4 E000E2A4 AFB400A8 */ sw $s4, 0xa8($sp) +/* 32C3B8 E000E2A8 AFB300A4 */ sw $s3, 0xa4($sp) +/* 32C3BC E000E2AC AFB200A0 */ sw $s2, 0xa0($sp) +/* 32C3C0 E000E2B0 AFB1009C */ sw $s1, 0x9c($sp) +/* 32C3C4 E000E2B4 AFB00098 */ sw $s0, 0x98($sp) +/* 32C3C8 E000E2B8 F7B400C0 */ sdc1 $f20, 0xc0($sp) +/* 32C3CC E000E2BC 8EE7000C */ lw $a3, 0xc($s7) +/* 32C3D0 E000E2C0 3C1E0900 */ lui $fp, 0x900 +/* 32C3D4 E000E2C4 27DE2B40 */ addiu $fp, $fp, 0x2b40 +/* 32C3D8 E000E2C8 94EB0004 */ lhu $t3, 4($a3) +/* 32C3DC E000E2CC 8CEC0074 */ lw $t4, 0x74($a3) +/* 32C3E0 E000E2D0 15600005 */ bnez $t3, .LE000E2E8 +/* 32C3E4 E000E2D4 0000682D */ daddu $t5, $zero, $zero +/* 32C3E8 E000E2D8 3C1E0900 */ lui $fp, 0x900 +/* 32C3EC E000E2DC 27DE2B20 */ addiu $fp, $fp, 0x2b20 +/* 32C3F0 E000E2E0 1160000A */ beqz $t3, .LE000E30C +/* 32C3F4 E000E2E4 00000000 */ nop +.LE000E2E8: +/* 32C3F8 E000E2E8 3C0A0900 */ lui $t2, 0x900 +/* 32C3FC E000E2EC 254A2950 */ addiu $t2, $t2, 0x2950 +/* 32C400 E000E2F0 24020001 */ addiu $v0, $zero, 1 +/* 32C404 E000E2F4 15620007 */ bne $t3, $v0, .LE000E314 +/* 32C408 E000E2F8 00000000 */ nop +/* 32C40C E000E2FC 3C0A0900 */ lui $t2, 0x900 +/* 32C410 E000E300 254A2868 */ addiu $t2, $t2, 0x2868 +/* 32C414 E000E304 080038C5 */ j .LE000E314 +/* 32C418 E000E308 00000000 */ nop +.LE000E30C: +/* 32C41C E000E30C 3C0A0900 */ lui $t2, 0x900 +/* 32C420 E000E310 254A2780 */ addiu $t2, $t2, 0x2780 +.LE000E314: +/* 32C424 E000E314 8CE3006C */ lw $v1, 0x6c($a3) +/* 32C428 E000E318 14600004 */ bnez $v1, .LE000E32C +/* 32C42C E000E31C 24020001 */ addiu $v0, $zero, 1 +/* 32C430 E000E320 24020006 */ addiu $v0, $zero, 6 +/* 32C434 E000E324 11820006 */ beq $t4, $v0, .LE000E340 +/* 32C438 E000E328 24020001 */ addiu $v0, $zero, 1 +.LE000E32C: +/* 32C43C E000E32C 14620006 */ bne $v1, $v0, .LE000E348 +/* 32C440 E000E330 3C04DB06 */ lui $a0, 0xdb06 +/* 32C444 E000E334 24020007 */ addiu $v0, $zero, 7 +/* 32C448 E000E338 15820004 */ bne $t4, $v0, .LE000E34C +/* 32C44C E000E33C 34840024 */ ori $a0, $a0, 0x24 +.LE000E340: +/* 32C450 E000E340 240D0001 */ addiu $t5, $zero, 1 +/* 32C454 E000E344 3C04DB06 */ lui $a0, 0xdb06 +.LE000E348: +/* 32C458 E000E348 34840024 */ ori $a0, $a0, 0x24 +.LE000E34C: +/* 32C45C E000E34C 3C05E6DE */ lui $a1, 0xe6de +/* 32C460 E000E350 34A5DE6E */ ori $a1, $a1, 0xde6e +/* 32C464 E000E354 3C08800A */ lui $t0, 0x800a +/* 32C468 E000E358 2508A66C */ addiu $t0, $t0, -0x5994 +/* 32C46C E000E35C 24090020 */ addiu $t1, $zero, 0x20 +/* 32C470 E000E360 8D060000 */ lw $a2, ($t0) +/* 32C474 E000E364 3C02E700 */ lui $v0, 0xe700 +/* 32C478 E000E368 00C0182D */ daddu $v1, $a2, $zero +/* 32C47C E000E36C 24C60008 */ addiu $a2, $a2, 8 +/* 32C480 E000E370 AD060000 */ sw $a2, ($t0) +/* 32C484 E000E374 AC620000 */ sw $v0, ($v1) +/* 32C488 E000E378 24C20008 */ addiu $v0, $a2, 8 +/* 32C48C E000E37C AC600004 */ sw $zero, 4($v1) +/* 32C490 E000E380 AD020000 */ sw $v0, ($t0) +/* 32C494 E000E384 24C20010 */ addiu $v0, $a2, 0x10 +/* 32C498 E000E388 ACC40000 */ sw $a0, ($a2) +/* 32C49C E000E38C AD020000 */ sw $v0, ($t0) +/* 32C4A0 E000E390 24C20018 */ addiu $v0, $a2, 0x18 +/* 32C4A4 E000E394 AD020000 */ sw $v0, ($t0) +/* 32C4A8 E000E398 8EE30010 */ lw $v1, 0x10($s7) +/* 32C4AC E000E39C 00C91021 */ addu $v0, $a2, $t1 +/* 32C4B0 E000E3A0 AD020000 */ sw $v0, ($t0) +/* 32C4B4 E000E3A4 8C63001C */ lw $v1, 0x1c($v1) +/* 32C4B8 E000E3A8 3C02DE00 */ lui $v0, 0xde00 +/* 32C4BC E000E3AC ACC20008 */ sw $v0, 8($a2) +/* 32C4C0 E000E3B0 3C02FB00 */ lui $v0, 0xfb00 +/* 32C4C4 E000E3B4 ACC20010 */ sw $v0, 0x10($a2) +/* 32C4C8 E000E3B8 2402007F */ addiu $v0, $zero, 0x7f +/* 32C4CC E000E3BC ACC20014 */ sw $v0, 0x14($a2) +/* 32C4D0 E000E3C0 3C02FA00 */ lui $v0, 0xfa00 +/* 32C4D4 E000E3C4 ACC20018 */ sw $v0, 0x18($a2) +/* 32C4D8 E000E3C8 3C028000 */ lui $v0, 0x8000 +/* 32C4DC E000E3CC ACCA000C */ sw $t2, 0xc($a2) +/* 32C4E0 E000E3D0 ACC5001C */ sw $a1, 0x1c($a2) +/* 32C4E4 E000E3D4 00621821 */ addu $v1, $v1, $v0 +/* 32C4E8 E000E3D8 15600002 */ bnez $t3, .LE000E3E4 +/* 32C4EC E000E3DC ACC30004 */ sw $v1, 4($a2) +/* 32C4F0 E000E3E0 24090018 */ addiu $t1, $zero, 0x18 +.LE000E3E4: +/* 32C4F4 E000E3E4 01890018 */ mult $t4, $t1 +/* 32C4F8 E000E3E8 24C20028 */ addiu $v0, $a2, 0x28 +/* 32C4FC E000E3EC 3C0BF200 */ lui $t3, 0xf200 +/* 32C500 E000E3F0 AD020000 */ sw $v0, ($t0) +/* 32C504 E000E3F4 00002812 */ mflo $a1 +/* 32C508 E000E3F8 00051080 */ sll $v0, $a1, 2 +/* 32C50C E000E3FC 30420FFF */ andi $v0, $v0, 0xfff +/* 32C510 E000E400 00021300 */ sll $v0, $v0, 0xc +/* 32C514 E000E404 004B1025 */ or $v0, $v0, $t3 +/* 32C518 E000E408 00A92021 */ addu $a0, $a1, $t1 +/* 32C51C E000E40C 2483FFFF */ addiu $v1, $a0, -1 +/* 32C520 E000E410 00031880 */ sll $v1, $v1, 2 +/* 32C524 E000E414 30630FFF */ andi $v1, $v1, 0xfff +/* 32C528 E000E418 00031B00 */ sll $v1, $v1, 0xc +/* 32C52C E000E41C ACC20020 */ sw $v0, 0x20($a2) +/* 32C530 E000E420 2522FFFF */ addiu $v0, $t1, -1 +/* 32C534 E000E424 00021080 */ sll $v0, $v0, 2 +/* 32C538 E000E428 304A0FFF */ andi $t2, $v0, 0xfff +/* 32C53C E000E42C 006A1825 */ or $v1, $v1, $t2 +/* 32C540 E000E430 11A00010 */ beqz $t5, .LE000E474 +/* 32C544 E000E434 ACC30024 */ sw $v1, 0x24($a2) +/* 32C548 E000E438 24C20030 */ addiu $v0, $a2, 0x30 +/* 32C54C E000E43C AD020000 */ sw $v0, ($t0) +/* 32C550 E000E440 00041080 */ sll $v0, $a0, 2 +/* 32C554 E000E444 30420FFF */ andi $v0, $v0, 0xfff +/* 32C558 E000E448 00021300 */ sll $v0, $v0, 0xc +/* 32C55C E000E44C 004B1025 */ or $v0, $v0, $t3 +/* 32C560 E000E450 ACC20028 */ sw $v0, 0x28($a2) +/* 32C564 E000E454 00091040 */ sll $v0, $t1, 1 +/* 32C568 E000E458 00A21021 */ addu $v0, $a1, $v0 +/* 32C56C E000E45C 2442FFFF */ addiu $v0, $v0, -1 +/* 32C570 E000E460 00021080 */ sll $v0, $v0, 2 +/* 32C574 E000E464 30420FFF */ andi $v0, $v0, 0xfff +/* 32C578 E000E468 00021300 */ sll $v0, $v0, 0xc +/* 32C57C E000E46C 0800392C */ j .LE000E4B0 +/* 32C580 E000E470 3C030100 */ lui $v1, 0x100 +.LE000E474: +/* 32C584 E000E474 24C20030 */ addiu $v0, $a2, 0x30 +/* 32C588 E000E478 AD020000 */ sw $v0, ($t0) +/* 32C58C E000E47C 00041080 */ sll $v0, $a0, 2 +/* 32C590 E000E480 30420FFF */ andi $v0, $v0, 0xfff +/* 32C594 E000E484 00021300 */ sll $v0, $v0, 0xc +/* 32C598 E000E488 004B1025 */ or $v0, $v0, $t3 +/* 32C59C E000E48C ACC20028 */ sw $v0, 0x28($a2) +/* 32C5A0 E000E490 00091040 */ sll $v0, $t1, 1 +/* 32C5A4 E000E494 00A21021 */ addu $v0, $a1, $v0 +/* 32C5A8 E000E498 2442FFFF */ addiu $v0, $v0, -1 +/* 32C5AC E000E49C 00021080 */ sll $v0, $v0, 2 +/* 32C5B0 E000E4A0 30420FFF */ andi $v0, $v0, 0xfff +/* 32C5B4 E000E4A4 00021300 */ sll $v0, $v0, 0xc +/* 32C5B8 E000E4A8 3C030100 */ lui $v1, 0x100 +/* 32C5BC E000E4AC 01431825 */ or $v1, $t2, $v1 +.LE000E4B0: +/* 32C5C0 E000E4B0 00431025 */ or $v0, $v0, $v1 +/* 32C5C4 E000E4B4 ACC2002C */ sw $v0, 0x2c($a2) +/* 32C5C8 E000E4B8 8EE20008 */ lw $v0, 8($s7) +/* 32C5CC E000E4BC 18400051 */ blez $v0, .LE000E604 +/* 32C5D0 E000E4C0 0000882D */ daddu $s1, $zero, $zero +/* 32C5D4 E000E4C4 27B40058 */ addiu $s4, $sp, 0x58 +/* 32C5D8 E000E4C8 4480A000 */ mtc1 $zero, $f20 +/* 32C5DC E000E4CC 3C16800A */ lui $s6, 0x800a +/* 32C5E0 E000E4D0 26D6A674 */ addiu $s6, $s6, -0x598c +/* 32C5E4 E000E4D4 3C158007 */ lui $s5, 0x8007 +/* 32C5E8 E000E4D8 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 32C5EC E000E4DC 3C130001 */ lui $s3, 1 +/* 32C5F0 E000E4E0 36731630 */ ori $s3, $s3, 0x1630 +/* 32C5F4 E000E4E4 3C12800A */ lui $s2, 0x800a +/* 32C5F8 E000E4E8 2652A66C */ addiu $s2, $s2, -0x5994 +/* 32C5FC E000E4EC 24F00010 */ addiu $s0, $a3, 0x10 +.LE000E4F0: +/* 32C600 E000E4F0 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C604 E000E4F4 26310001 */ addiu $s1, $s1, 1 +/* 32C608 E000E4F8 8E05FFF8 */ lw $a1, -8($s0) +/* 32C60C E000E4FC 8E06FFFC */ lw $a2, -4($s0) +/* 32C610 E000E500 8E070000 */ lw $a3, ($s0) +/* 32C614 E000E504 0C080108 */ jal func_E0200420 +/* 32C618 E000E508 26100078 */ addiu $s0, $s0, 0x78 +/* 32C61C E000E50C 3C0E800B */ lui $t6, %hi(gCameras) +/* 32C620 E000E510 25CE1D80 */ addiu $t6, $t6, %lo(gCameras) +/* 32C624 E000E514 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 32C628 E000E518 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 32C62C E000E51C 4406A000 */ mfc1 $a2, $f20 +/* 32C630 E000E520 00031080 */ sll $v0, $v1, 2 +/* 32C634 E000E524 00431021 */ addu $v0, $v0, $v1 +/* 32C638 E000E528 00021080 */ sll $v0, $v0, 2 +/* 32C63C E000E52C 00431023 */ subu $v0, $v0, $v1 +/* 32C640 E000E530 000218C0 */ sll $v1, $v0, 3 +/* 32C644 E000E534 00431021 */ addu $v0, $v0, $v1 +/* 32C648 E000E538 000210C0 */ sll $v0, $v0, 3 +/* 32C64C E000E53C 004E1021 */ addu $v0, $v0, $t6 +/* 32C650 E000E540 C440006C */ lwc1 $f0, 0x6c($v0) +/* 32C654 E000E544 3C073F80 */ lui $a3, 0x3f80 +/* 32C658 E000E548 46000007 */ neg.s $f0, $f0 +/* 32C65C E000E54C 44050000 */ mfc1 $a1, $f0 +/* 32C660 E000E550 0280202D */ daddu $a0, $s4, $zero +/* 32C664 E000E554 0C080104 */ jal func_E0200410 +/* 32C668 E000E558 E7B40010 */ swc1 $f20, 0x10($sp) +/* 32C66C E000E55C 0280202D */ daddu $a0, $s4, $zero +/* 32C670 E000E560 27A50018 */ addiu $a1, $sp, 0x18 +/* 32C674 E000E564 0C080114 */ jal func_E0200450 +/* 32C678 E000E568 00A0302D */ daddu $a2, $a1, $zero +/* 32C67C E000E56C 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C680 E000E570 96A50000 */ lhu $a1, ($s5) +/* 32C684 E000E574 8EC20000 */ lw $v0, ($s6) +/* 32C688 E000E578 00052980 */ sll $a1, $a1, 6 +/* 32C68C E000E57C 00B32821 */ addu $a1, $a1, $s3 +/* 32C690 E000E580 0C080118 */ jal func_E0200460 +/* 32C694 E000E584 00452821 */ addu $a1, $v0, $a1 +/* 32C698 E000E588 3C02DA38 */ lui $v0, 0xda38 +/* 32C69C E000E58C 34420002 */ ori $v0, $v0, 2 +/* 32C6A0 E000E590 3C06D838 */ lui $a2, 0xd838 +/* 32C6A4 E000E594 34C60002 */ ori $a2, $a2, 2 +/* 32C6A8 E000E598 8E440000 */ lw $a0, ($s2) +/* 32C6AC E000E59C 96A30000 */ lhu $v1, ($s5) +/* 32C6B0 E000E5A0 0080282D */ daddu $a1, $a0, $zero +/* 32C6B4 E000E5A4 24840008 */ addiu $a0, $a0, 8 +/* 32C6B8 E000E5A8 AE440000 */ sw $a0, ($s2) +/* 32C6BC E000E5AC ACA20000 */ sw $v0, ($a1) +/* 32C6C0 E000E5B0 24620001 */ addiu $v0, $v1, 1 +/* 32C6C4 E000E5B4 3063FFFF */ andi $v1, $v1, 0xffff +/* 32C6C8 E000E5B8 00031980 */ sll $v1, $v1, 6 +/* 32C6CC E000E5BC A6A20000 */ sh $v0, ($s5) +/* 32C6D0 E000E5C0 8EC20000 */ lw $v0, ($s6) +/* 32C6D4 E000E5C4 00731821 */ addu $v1, $v1, $s3 +/* 32C6D8 E000E5C8 00431021 */ addu $v0, $v0, $v1 +/* 32C6DC E000E5CC ACA20004 */ sw $v0, 4($a1) +/* 32C6E0 E000E5D0 24820008 */ addiu $v0, $a0, 8 +/* 32C6E4 E000E5D4 AE420000 */ sw $v0, ($s2) +/* 32C6E8 E000E5D8 3C02DE00 */ lui $v0, 0xde00 +/* 32C6EC E000E5DC AC820000 */ sw $v0, ($a0) +/* 32C6F0 E000E5E0 24020040 */ addiu $v0, $zero, 0x40 +/* 32C6F4 E000E5E4 AC9E0004 */ sw $fp, 4($a0) +/* 32C6F8 E000E5E8 AC860008 */ sw $a2, 8($a0) +/* 32C6FC E000E5EC AC82000C */ sw $v0, 0xc($a0) +/* 32C700 E000E5F0 8EE20008 */ lw $v0, 8($s7) +/* 32C704 E000E5F4 24840010 */ addiu $a0, $a0, 0x10 +/* 32C708 E000E5F8 0222102A */ slt $v0, $s1, $v0 +/* 32C70C E000E5FC 1440FFBC */ bnez $v0, .LE000E4F0 +/* 32C710 E000E600 AE440000 */ sw $a0, ($s2) +.LE000E604: +/* 32C714 E000E604 3C03800A */ lui $v1, 0x800a +/* 32C718 E000E608 2463A66C */ addiu $v1, $v1, -0x5994 +/* 32C71C E000E60C 8C620000 */ lw $v0, ($v1) +/* 32C720 E000E610 0040202D */ daddu $a0, $v0, $zero +/* 32C724 E000E614 24420008 */ addiu $v0, $v0, 8 +/* 32C728 E000E618 AC620000 */ sw $v0, ($v1) +/* 32C72C E000E61C 3C02E700 */ lui $v0, 0xe700 +/* 32C730 E000E620 AC820000 */ sw $v0, ($a0) +/* 32C734 E000E624 AC800004 */ sw $zero, 4($a0) +/* 32C738 E000E628 8FBF00BC */ lw $ra, 0xbc($sp) +/* 32C73C E000E62C 8FBE00B8 */ lw $fp, 0xb8($sp) +/* 32C740 E000E630 8FB700B4 */ lw $s7, 0xb4($sp) +/* 32C744 E000E634 8FB600B0 */ lw $s6, 0xb0($sp) +/* 32C748 E000E638 8FB500AC */ lw $s5, 0xac($sp) +/* 32C74C E000E63C 8FB400A8 */ lw $s4, 0xa8($sp) +/* 32C750 E000E640 8FB300A4 */ lw $s3, 0xa4($sp) +/* 32C754 E000E644 8FB200A0 */ lw $s2, 0xa0($sp) +/* 32C758 E000E648 8FB1009C */ lw $s1, 0x9c($sp) +/* 32C75C E000E64C 8FB00098 */ lw $s0, 0x98($sp) +/* 32C760 E000E650 D7B400C0 */ ldc1 $f20, 0xc0($sp) +/* 32C764 E000E654 03E00008 */ jr $ra +/* 32C768 E000E658 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 32C76C E000E65C 00000000 */ nop diff --git a/asm/nonmatchings/code_331940/func_E001E000.s b/asm/nonmatchings/code_331940/func_E001E000.s new file mode 100644 index 0000000000..14efedef76 --- /dev/null +++ b/asm/nonmatchings/code_331940/func_E001E000.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E001E000 +/* 331940 E001E000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 331944 E001E004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 331948 E001E008 4485A000 */ mtc1 $a1, $f20 +/* 33194C E001E00C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 331950 E001E010 4486B000 */ mtc1 $a2, $f22 +/* 331954 E001E014 AFB00028 */ sw $s0, 0x28($sp) +/* 331958 E001E018 0080802D */ daddu $s0, $a0, $zero +/* 33195C E001E01C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 331960 E001E020 4487D000 */ mtc1 $a3, $f26 +/* 331964 E001E024 27A40010 */ addiu $a0, $sp, 0x10 +/* 331968 E001E028 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 33196C E001E02C C7BE0084 */ lwc1 $f30, 0x84($sp) +/* 331970 E001E030 3C02E002 */ lui $v0, 0xe002 +/* 331974 E001E034 2442E370 */ addiu $v0, $v0, -0x1c90 +/* 331978 E001E038 AFA20018 */ sw $v0, 0x18($sp) +/* 33197C E001E03C 3C02E002 */ lui $v0, 0xe002 +/* 331980 E001E040 2442E378 */ addiu $v0, $v0, -0x1c88 +/* 331984 E001E044 AFA2001C */ sw $v0, 0x1c($sp) +/* 331988 E001E048 3C02E002 */ lui $v0, 0xe002 +/* 33198C E001E04C 2442E6E8 */ addiu $v0, $v0, -0x1918 +/* 331990 E001E050 AFA20020 */ sw $v0, 0x20($sp) +/* 331994 E001E054 2402000F */ addiu $v0, $zero, 0xf +/* 331998 E001E058 AFBF0034 */ sw $ra, 0x34($sp) +/* 33199C E001E05C AFB20030 */ sw $s2, 0x30($sp) +/* 3319A0 E001E060 AFB1002C */ sw $s1, 0x2c($sp) +/* 3319A4 E001E064 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 3319A8 E001E068 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3319AC E001E06C AFA00010 */ sw $zero, 0x10($sp) +/* 3319B0 E001E070 AFA00024 */ sw $zero, 0x24($sp) +/* 3319B4 E001E074 0C080124 */ jal func_E0200490 +/* 3319B8 E001E078 AFA20014 */ sw $v0, 0x14($sp) +/* 3319BC E001E07C 24040250 */ addiu $a0, $zero, 0x250 +/* 3319C0 E001E080 24030001 */ addiu $v1, $zero, 1 +/* 3319C4 E001E084 0040902D */ daddu $s2, $v0, $zero +/* 3319C8 E001E088 0C08012C */ jal func_E02004B0 +/* 3319CC E001E08C AE430008 */ sw $v1, 8($s2) +/* 3319D0 E001E090 0040882D */ daddu $s1, $v0, $zero +/* 3319D4 E001E094 16200003 */ bnez $s1, .LE001E0A4 +/* 3319D8 E001E098 AE42000C */ sw $v0, 0xc($s2) +.LE001E09C: +/* 3319DC E001E09C 08007827 */ j .LE001E09C +/* 3319E0 E001E0A0 00000000 */ nop +.LE001E0A4: +/* 3319E4 E001E0A4 24020001 */ addiu $v0, $zero, 1 +/* 3319E8 E001E0A8 AE220000 */ sw $v0, ($s1) +/* 3319EC E001E0AC 24020003 */ addiu $v0, $zero, 3 +/* 3319F0 E001E0B0 E6340004 */ swc1 $f20, 4($s1) +/* 3319F4 E001E0B4 E6360008 */ swc1 $f22, 8($s1) +/* 3319F8 E001E0B8 E63A000C */ swc1 $f26, 0xc($s1) +/* 3319FC E001E0BC AE20001C */ sw $zero, 0x1c($s1) +/* 331A00 E001E0C0 AE200024 */ sw $zero, 0x24($s1) +/* 331A04 E001E0C4 AE200028 */ sw $zero, 0x28($s1) +/* 331A08 E001E0C8 16020011 */ bne $s0, $v0, .LE001E110 +/* 331A0C E001E0CC AE300038 */ sw $s0, 0x38($s1) +/* 331A10 E001E0D0 3C013E4C */ lui $at, 0x3e4c +/* 331A14 E001E0D4 3421CCCD */ ori $at, $at, 0xcccd +/* 331A18 E001E0D8 44810000 */ mtc1 $at, $f0 +/* 331A1C E001E0DC 240400FF */ addiu $a0, $zero, 0xff +/* 331A20 E001E0E0 0C080138 */ jal func_E02004E0 +/* 331A24 E001E0E4 E6200240 */ swc1 $f0, 0x240($s1) +/* 331A28 E001E0E8 241000FF */ addiu $s0, $zero, 0xff +/* 331A2C E001E0EC 02022023 */ subu $a0, $s0, $v0 +/* 331A30 E001E0F0 0C080138 */ jal func_E02004E0 +/* 331A34 E001E0F4 AE220244 */ sw $v0, 0x244($s1) +/* 331A38 E001E0F8 8E230244 */ lw $v1, 0x244($s1) +/* 331A3C E001E0FC 02028023 */ subu $s0, $s0, $v0 +/* 331A40 E001E100 AE220248 */ sw $v0, 0x248($s1) +/* 331A44 E001E104 02038023 */ subu $s0, $s0, $v1 +/* 331A48 E001E108 0800784D */ j .LE001E134 +/* 331A4C E001E10C AE30024C */ sw $s0, 0x24c($s1) +.LE001E110: +/* 331A50 E001E110 3C013F00 */ lui $at, 0x3f00 +/* 331A54 E001E114 44810000 */ mtc1 $at, $f0 +/* 331A58 E001E118 240200D2 */ addiu $v0, $zero, 0xd2 +/* 331A5C E001E11C AE220244 */ sw $v0, 0x244($s1) +/* 331A60 E001E120 240200BA */ addiu $v0, $zero, 0xba +/* 331A64 E001E124 AE220248 */ sw $v0, 0x248($s1) +/* 331A68 E001E128 2402005A */ addiu $v0, $zero, 0x5a +/* 331A6C E001E12C AE22024C */ sw $v0, 0x24c($s1) +/* 331A70 E001E130 E6200240 */ swc1 $f0, 0x240($s1) +.LE001E134: +/* 331A74 E001E134 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 331A78 E001E138 46140601 */ sub.s $f24, $f0, $f20 +/* 331A7C E001E13C 4618C082 */ mul.s $f2, $f24, $f24 +/* 331A80 E001E140 00000000 */ nop +/* 331A84 E001E144 C7A0007C */ lwc1 $f0, 0x7c($sp) +/* 331A88 E001E148 46160581 */ sub.s $f22, $f0, $f22 +/* 331A8C E001E14C 4616B102 */ mul.s $f4, $f22, $f22 +/* 331A90 E001E150 00000000 */ nop +/* 331A94 E001E154 C7A00080 */ lwc1 $f0, 0x80($sp) +/* 331A98 E001E158 461A0501 */ sub.s $f20, $f0, $f26 +/* 331A9C E001E15C 4614A002 */ mul.s $f0, $f20, $f20 +/* 331AA0 E001E160 00000000 */ nop +/* 331AA4 E001E164 46041080 */ add.s $f2, $f2, $f4 +/* 331AA8 E001E168 46001680 */ add.s $f26, $f2, $f0 +/* 331AAC E001E16C 4480E000 */ mtc1 $zero, $f28 +/* 331AB0 E001E170 00000000 */ nop +/* 331AB4 E001E174 461CD032 */ c.eq.s $f26, $f28 +/* 331AB8 E001E178 00000000 */ nop +/* 331ABC E001E17C 45010005 */ bc1t .LE001E194 +/* 331AC0 E001E180 4600D106 */ mov.s $f4, $f26 +/* 331AC4 E001E184 0C080154 */ jal func_E0200550 +/* 331AC8 E001E188 4600D306 */ mov.s $f12, $f26 +/* 331ACC E001E18C 46000686 */ mov.s $f26, $f0 +/* 331AD0 E001E190 461AF103 */ div.s $f4, $f30, $f26 +.LE001E194: +/* 331AD4 E001E194 4604C002 */ mul.s $f0, $f24, $f4 +/* 331AD8 E001E198 00000000 */ nop +/* 331ADC E001E19C 4604B082 */ mul.s $f2, $f22, $f4 +/* 331AE0 E001E1A0 00000000 */ nop +/* 331AE4 E001E1A4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 331AE8 E001E1A8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 331AEC E001E1AC 4604A102 */ mul.s $f4, $f20, $f4 +/* 331AF0 E001E1B0 00000000 */ nop +/* 331AF4 E001E1B4 00031080 */ sll $v0, $v1, 2 +/* 331AF8 E001E1B8 00431021 */ addu $v0, $v0, $v1 +/* 331AFC E001E1BC 00021080 */ sll $v0, $v0, 2 +/* 331B00 E001E1C0 00431023 */ subu $v0, $v0, $v1 +/* 331B04 E001E1C4 000218C0 */ sll $v1, $v0, 3 +/* 331B08 E001E1C8 00431021 */ addu $v0, $v0, $v1 +/* 331B0C E001E1CC 000210C0 */ sll $v0, $v0, 3 +/* 331B10 E001E1D0 E6200010 */ swc1 $f0, 0x10($s1) +/* 331B14 E001E1D4 E6220014 */ swc1 $f2, 0x14($s1) +/* 331B18 E001E1D8 E6240018 */ swc1 $f4, 0x18($s1) +/* 331B1C E001E1DC 3C01800B */ lui $at, 0x800b +/* 331B20 E001E1E0 00220821 */ addu $at, $at, $v0 +/* 331B24 E001E1E4 C4341DEC */ lwc1 $f20, 0x1dec($at) +/* 331B28 E001E1E8 0C080144 */ jal func_E0200510 +/* 331B2C E001E1EC 4600A306 */ mov.s $f12, $f20 +/* 331B30 E001E1F0 4600A306 */ mov.s $f12, $f20 +/* 331B34 E001E1F4 0C080140 */ jal func_E0200500 +/* 331B38 E001E1F8 46000587 */ neg.s $f22, $f0 +/* 331B3C E001E1FC C6240010 */ lwc1 $f4, 0x10($s1) +/* 331B40 E001E200 4604B102 */ mul.s $f4, $f22, $f4 +/* 331B44 E001E204 00000000 */ nop +/* 331B48 E001E208 C6220018 */ lwc1 $f2, 0x18($s1) +/* 331B4C E001E20C 46000507 */ neg.s $f20, $f0 +/* 331B50 E001E210 4602A082 */ mul.s $f2, $f20, $f2 +/* 331B54 E001E214 00000000 */ nop +/* 331B58 E001E218 46042102 */ mul.s $f4, $f4, $f4 +/* 331B5C E001E21C 00000000 */ nop +/* 331B60 E001E220 46021082 */ mul.s $f2, $f2, $f2 +/* 331B64 E001E224 00000000 */ nop +/* 331B68 E001E228 46022300 */ add.s $f12, $f4, $f2 +/* 331B6C E001E22C 461C6032 */ c.eq.s $f12, $f28 +/* 331B70 E001E230 00000000 */ nop +/* 331B74 E001E234 45010004 */ bc1t .LE001E248 +/* 331B78 E001E238 00000000 */ nop +/* 331B7C E001E23C 0C080154 */ jal func_E0200550 +/* 331B80 E001E240 00000000 */ nop +/* 331B84 E001E244 46000306 */ mov.s $f12, $f0 +.LE001E248: +/* 331B88 E001E248 C6220010 */ lwc1 $f2, 0x10($s1) +/* 331B8C E001E24C 4602B082 */ mul.s $f2, $f22, $f2 +/* 331B90 E001E250 00000000 */ nop +/* 331B94 E001E254 C6200018 */ lwc1 $f0, 0x18($s1) +/* 331B98 E001E258 4600A002 */ mul.s $f0, $f20, $f0 +/* 331B9C E001E25C 00000000 */ nop +/* 331BA0 E001E260 46001080 */ add.s $f2, $f2, $f0 +/* 331BA4 E001E264 461C103C */ c.lt.s $f2, $f28 +/* 331BA8 E001E268 00000000 */ nop +/* 331BAC E001E26C 45000005 */ bc1f .LE001E284 +/* 331BB0 E001E270 00000000 */ nop +/* 331BB4 E001E274 3C01C1A0 */ lui $at, 0xc1a0 +/* 331BB8 E001E278 44810000 */ mtc1 $at, $f0 +/* 331BBC E001E27C 080078A4 */ j .LE001E290 +/* 331BC0 E001E280 46006307 */ neg.s $f12, $f12 +.LE001E284: +/* 331BC4 E001E284 3C0141A0 */ lui $at, 0x41a0 +/* 331BC8 E001E288 44810000 */ mtc1 $at, $f0 +/* 331BCC E001E28C 00000000 */ nop +.LE001E290: +/* 331BD0 E001E290 E620002C */ swc1 $f0, 0x2c($s1) +/* 331BD4 E001E294 46006507 */ neg.s $f20, $f12 +/* 331BD8 E001E298 4407A000 */ mfc1 $a3, $f20 +/* 331BDC E001E29C C6200014 */ lwc1 $f0, 0x14($s1) +/* 331BE0 E001E2A0 44806000 */ mtc1 $zero, $f12 +/* 331BE4 E001E2A4 46000007 */ neg.s $f0, $f0 +/* 331BE8 E001E2A8 44060000 */ mfc1 $a2, $f0 +/* 331BEC E001E2AC 0C080148 */ jal func_E0200520 +/* 331BF0 E001E2B0 46006386 */ mov.s $f14, $f12 +/* 331BF4 E001E2B4 461ED083 */ div.s $f2, $f26, $f30 +/* 331BF8 E001E2B8 4600118D */ trunc.w.s $f6, $f2 +/* 331BFC E001E2BC E6260030 */ swc1 $f6, 0x30($s1) +/* 331C00 E001E2C0 26300040 */ addiu $s0, $s1, 0x40 +/* 331C04 E001E2C4 8E260008 */ lw $a2, 8($s1) +/* 331C08 E001E2C8 8E27000C */ lw $a3, 0xc($s1) +/* 331C0C E001E2CC 8E250004 */ lw $a1, 4($s1) +/* 331C10 E001E2D0 0200202D */ daddu $a0, $s0, $zero +/* 331C14 E001E2D4 E6200024 */ swc1 $f0, 0x24($s1) +/* 331C18 E001E2D8 E6200020 */ swc1 $f0, 0x20($s1) +/* 331C1C E001E2DC 0C08010C */ jal func_E0200430 +/* 331C20 E001E2E0 E6340034 */ swc1 $f20, 0x34($s1) +/* 331C24 E001E2E4 24050001 */ addiu $a1, $zero, 1 +/* 331C28 E001E2E8 26260080 */ addiu $a2, $s1, 0x80 +/* 331C2C E001E2EC 0200202D */ daddu $a0, $s0, $zero +.LE001E2F0: +/* 331C30 E001E2F0 24830040 */ addiu $v1, $a0, 0x40 +/* 331C34 E001E2F4 0200102D */ daddu $v0, $s0, $zero +.LE001E2F8: +/* 331C38 E001E2F8 8C490000 */ lw $t1, ($v0) +/* 331C3C E001E2FC 8C4A0004 */ lw $t2, 4($v0) +/* 331C40 E001E300 8C4B0008 */ lw $t3, 8($v0) +/* 331C44 E001E304 8C48000C */ lw $t0, 0xc($v0) +/* 331C48 E001E308 AC690000 */ sw $t1, ($v1) +/* 331C4C E001E30C AC6A0004 */ sw $t2, 4($v1) +/* 331C50 E001E310 AC6B0008 */ sw $t3, 8($v1) +/* 331C54 E001E314 AC68000C */ sw $t0, 0xc($v1) +/* 331C58 E001E318 24420010 */ addiu $v0, $v0, 0x10 +/* 331C5C E001E31C 1446FFF6 */ bne $v0, $a2, .LE001E2F8 +/* 331C60 E001E320 24630010 */ addiu $v1, $v1, 0x10 +/* 331C64 E001E324 24A50001 */ addiu $a1, $a1, 1 +/* 331C68 E001E328 28A20008 */ slti $v0, $a1, 8 +/* 331C6C E001E32C 1440FFF0 */ bnez $v0, .LE001E2F0 +/* 331C70 E001E330 24840040 */ addiu $a0, $a0, 0x40 +/* 331C74 E001E334 2402FFFF */ addiu $v0, $zero, -1 +/* 331C78 E001E338 AE22003C */ sw $v0, 0x3c($s1) +/* 331C7C E001E33C 0240102D */ daddu $v0, $s2, $zero +/* 331C80 E001E340 8FBF0034 */ lw $ra, 0x34($sp) +/* 331C84 E001E344 8FB20030 */ lw $s2, 0x30($sp) +/* 331C88 E001E348 8FB1002C */ lw $s1, 0x2c($sp) +/* 331C8C E001E34C 8FB00028 */ lw $s0, 0x28($sp) +/* 331C90 E001E350 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 331C94 E001E354 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 331C98 E001E358 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 331C9C E001E35C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 331CA0 E001E360 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 331CA4 E001E364 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 331CA8 E001E368 03E00008 */ jr $ra +/* 331CAC E001E36C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_331940/func_E001E370.s b/asm/nonmatchings/code_331940/func_E001E370.s new file mode 100644 index 0000000000..69ec85588e --- /dev/null +++ b/asm/nonmatchings/code_331940/func_E001E370.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E001E370 +/* 331CB0 E001E370 03E00008 */ jr $ra +/* 331CB4 E001E374 00000000 */ nop diff --git a/asm/nonmatchings/code_331940/func_E001E378.s b/asm/nonmatchings/code_331940/func_E001E378.s new file mode 100644 index 0000000000..ef0eb5d08d --- /dev/null +++ b/asm/nonmatchings/code_331940/func_E001E378.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E001E378 +/* 331CB8 E001E378 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 331CBC E001E37C AFB1002C */ sw $s1, 0x2c($sp) +/* 331CC0 E001E380 0080882D */ daddu $s1, $a0, $zero +/* 331CC4 E001E384 AFBF0030 */ sw $ra, 0x30($sp) +/* 331CC8 E001E388 AFB00028 */ sw $s0, 0x28($sp) +/* 331CCC E001E38C F7B40038 */ sdc1 $f20, 0x38($sp) +/* 331CD0 E001E390 8E30000C */ lw $s0, 0xc($s1) +/* 331CD4 E001E394 8E020038 */ lw $v0, 0x38($s0) +/* 331CD8 E001E398 28420002 */ slti $v0, $v0, 2 +/* 331CDC E001E39C 144000AF */ bnez $v0, .LE001E65C +/* 331CE0 E001E3A0 00000000 */ nop +/* 331CE4 E001E3A4 C6040010 */ lwc1 $f4, 0x10($s0) +/* 331CE8 E001E3A8 46042102 */ mul.s $f4, $f4, $f4 +/* 331CEC E001E3AC 00000000 */ nop +/* 331CF0 E001E3B0 C6020014 */ lwc1 $f2, 0x14($s0) +/* 331CF4 E001E3B4 46021082 */ mul.s $f2, $f2, $f2 +/* 331CF8 E001E3B8 00000000 */ nop +/* 331CFC E001E3BC C6000018 */ lwc1 $f0, 0x18($s0) +/* 331D00 E001E3C0 46000002 */ mul.s $f0, $f0, $f0 +/* 331D04 E001E3C4 00000000 */ nop +/* 331D08 E001E3C8 46022100 */ add.s $f4, $f4, $f2 +/* 331D0C E001E3CC 46002300 */ add.s $f12, $f4, $f0 +/* 331D10 E001E3D0 3C013C23 */ lui $at, 0x3c23 +/* 331D14 E001E3D4 3421D70A */ ori $at, $at, 0xd70a +/* 331D18 E001E3D8 44810000 */ mtc1 $at, $f0 +/* 331D1C E001E3DC 00000000 */ nop +/* 331D20 E001E3E0 460C003C */ c.lt.s $f0, $f12 +/* 331D24 E001E3E4 00000000 */ nop +/* 331D28 E001E3E8 45000008 */ bc1f .LE001E40C +/* 331D2C E001E3EC E7AC0024 */ swc1 $f12, 0x24($sp) +/* 331D30 E001E3F0 0C080154 */ jal func_E0200550 +/* 331D34 E001E3F4 00000000 */ nop +/* 331D38 E001E3F8 3C013F80 */ lui $at, 0x3f80 +/* 331D3C E001E3FC 44811000 */ mtc1 $at, $f2 +/* 331D40 E001E400 00000000 */ nop +/* 331D44 E001E404 46001083 */ div.s $f2, $f2, $f0 +/* 331D48 E001E408 E7A20024 */ swc1 $f2, 0x24($sp) +.LE001E40C: +/* 331D4C E001E40C C60A0010 */ lwc1 $f10, 0x10($s0) +/* 331D50 E001E410 C7A00024 */ lwc1 $f0, 0x24($sp) +/* 331D54 E001E414 46005282 */ mul.s $f10, $f10, $f0 +/* 331D58 E001E418 00000000 */ nop +/* 331D5C E001E41C C6040014 */ lwc1 $f4, 0x14($s0) +/* 331D60 E001E420 46002102 */ mul.s $f4, $f4, $f0 +/* 331D64 E001E424 00000000 */ nop +/* 331D68 E001E428 C6060018 */ lwc1 $f6, 0x18($s0) +/* 331D6C E001E42C 46003182 */ mul.s $f6, $f6, $f0 +/* 331D70 E001E430 00000000 */ nop +/* 331D74 E001E434 3C014200 */ lui $at, 0x4200 +/* 331D78 E001E438 44811000 */ mtc1 $at, $f2 +/* 331D7C E001E43C 00000000 */ nop +/* 331D80 E001E440 46025282 */ mul.s $f10, $f10, $f2 +/* 331D84 E001E444 00000000 */ nop +/* 331D88 E001E448 46022102 */ mul.s $f4, $f4, $f2 +/* 331D8C E001E44C 00000000 */ nop +/* 331D90 E001E450 46023182 */ mul.s $f6, $f6, $f2 +/* 331D94 E001E454 00000000 */ nop +/* 331D98 E001E458 C6080004 */ lwc1 $f8, 4($s0) +/* 331D9C E001E45C 3C014280 */ lui $at, 0x4280 +/* 331DA0 E001E460 44810000 */ mtc1 $at, $f0 +/* 331DA4 E001E464 C6020008 */ lwc1 $f2, 8($s0) +/* 331DA8 E001E468 460A4201 */ sub.s $f8, $f8, $f10 +/* 331DAC E001E46C E7A00024 */ swc1 $f0, 0x24($sp) +/* 331DB0 E001E470 46041081 */ sub.s $f2, $f2, $f4 +/* 331DB4 E001E474 C600000C */ lwc1 $f0, 0xc($s0) +/* 331DB8 E001E478 8E020000 */ lw $v0, ($s0) +/* 331DBC E001E47C 46060001 */ sub.s $f0, $f0, $f6 +/* 331DC0 E001E480 E7A80018 */ swc1 $f8, 0x18($sp) +/* 331DC4 E001E484 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 331DC8 E001E488 1040005C */ beqz $v0, .LE001E5FC +/* 331DCC E001E48C E7A00020 */ swc1 $f0, 0x20($sp) +/* 331DD0 E001E490 C6000014 */ lwc1 $f0, 0x14($s0) +/* 331DD4 E001E494 4480A000 */ mtc1 $zero, $f20 +/* 331DD8 E001E498 00000000 */ nop +/* 331DDC E001E49C 4614003C */ c.lt.s $f0, $f20 +/* 331DE0 E001E4A0 00000000 */ nop +/* 331DE4 E001E4A4 45000055 */ bc1f .LE001E5FC +/* 331DE8 E001E4A8 27A20024 */ addiu $v0, $sp, 0x24 +/* 331DEC E001E4AC AFA20010 */ sw $v0, 0x10($sp) +/* 331DF0 E001E4B0 0000202D */ daddu $a0, $zero, $zero +/* 331DF4 E001E4B4 27A50018 */ addiu $a1, $sp, 0x18 +/* 331DF8 E001E4B8 27A6001C */ addiu $a2, $sp, 0x1c +/* 331DFC E001E4BC 0C08014C */ jal func_E0200530 +/* 331E00 E001E4C0 27A70020 */ addiu $a3, $sp, 0x20 +/* 331E04 E001E4C4 1040004D */ beqz $v0, .LE001E5FC +/* 331E08 E001E4C8 00000000 */ nop +/* 331E0C E001E4CC C7A20024 */ lwc1 $f2, 0x24($sp) +/* 331E10 E001E4D0 3C014228 */ lui $at, 0x4228 +/* 331E14 E001E4D4 44810000 */ mtc1 $at, $f0 +/* 331E18 E001E4D8 00000000 */ nop +/* 331E1C E001E4DC 4600103C */ c.lt.s $f2, $f0 +/* 331E20 E001E4E0 00000000 */ nop +/* 331E24 E001E4E4 45000045 */ bc1f .LE001E5FC +/* 331E28 E001E4E8 24040006 */ addiu $a0, $zero, 6 +/* 331E2C E001E4EC C6040014 */ lwc1 $f4, 0x14($s0) +/* 331E30 E001E4F0 3C01E002 */ lui $at, 0xe002 +/* 331E34 E001E4F4 D420ED50 */ ldc1 $f0, -0x12b0($at) +/* 331E38 E001E4F8 46002107 */ neg.s $f4, $f4 +/* 331E3C E001E4FC 46002121 */ cvt.d.s $f4, $f4 +/* 331E40 E001E500 46202102 */ mul.d $f4, $f4, $f0 +/* 331E44 E001E504 00000000 */ nop +/* 331E48 E001E508 C6060010 */ lwc1 $f6, 0x10($s0) +/* 331E4C E001E50C 3C01E002 */ lui $at, 0xe002 +/* 331E50 E001E510 D428ED58 */ ldc1 $f8, -0x12a8($at) +/* 331E54 E001E514 460031A1 */ cvt.d.s $f6, $f6 +/* 331E58 E001E518 46283182 */ mul.d $f6, $f6, $f8 +/* 331E5C E001E51C 00000000 */ nop +/* 331E60 E001E520 C6020034 */ lwc1 $f2, 0x34($s0) +/* 331E64 E001E524 460010A1 */ cvt.d.s $f2, $f2 +/* 331E68 E001E528 46281082 */ mul.d $f2, $f2, $f8 +/* 331E6C E001E52C 00000000 */ nop +/* 331E70 E001E530 C60A001C */ lwc1 $f10, 0x1c($s0) +/* 331E74 E001E534 3C013F80 */ lui $at, 0x3f80 +/* 331E78 E001E538 44810000 */ mtc1 $at, $f0 +/* 331E7C E001E53C 00000000 */ nop +/* 331E80 E001E540 46005280 */ add.s $f10, $f10, $f0 +/* 331E84 E001E544 C600002C */ lwc1 $f0, 0x2c($s0) +/* 331E88 E001E548 46000021 */ cvt.d.s $f0, $f0 +/* 331E8C E001E54C 46280002 */ mul.d $f0, $f0, $f8 +/* 331E90 E001E550 00000000 */ nop +/* 331E94 E001E554 E60A001C */ swc1 $f10, 0x1c($s0) +/* 331E98 E001E558 46202120 */ cvt.s.d $f4, $f4 +/* 331E9C E001E55C 462031A0 */ cvt.s.d $f6, $f6 +/* 331EA0 E001E560 462010A0 */ cvt.s.d $f2, $f2 +/* 331EA4 E001E564 E6040014 */ swc1 $f4, 0x14($s0) +/* 331EA8 E001E568 E6060010 */ swc1 $f6, 0x10($s0) +/* 331EAC E001E56C E6020034 */ swc1 $f2, 0x34($s0) +/* 331EB0 E001E570 46200020 */ cvt.s.d $f0, $f0 +/* 331EB4 E001E574 0C080150 */ jal func_E0200540 +/* 331EB8 E001E578 E600002C */ swc1 $f0, 0x2c($s0) +/* 331EBC E001E57C C6020008 */ lwc1 $f2, 8($s0) +/* 331EC0 E001E580 3C0140A0 */ lui $at, 0x40a0 +/* 331EC4 E001E584 44810000 */ mtc1 $at, $f0 +/* 331EC8 E001E588 E7B40010 */ swc1 $f20, 0x10($sp) +/* 331ECC E001E58C 46001081 */ sub.s $f2, $f2, $f0 +/* 331ED0 E001E590 8E050004 */ lw $a1, 4($s0) +/* 331ED4 E001E594 8E07000C */ lw $a3, 0xc($s0) +/* 331ED8 E001E598 44061000 */ mfc1 $a2, $f2 +/* 331EDC E001E59C 0C003058 */ jal func_E000C160 +/* 331EE0 E001E5A0 0000202D */ daddu $a0, $zero, $zero +/* 331EE4 E001E5A4 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 331EE8 E001E5A8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 331EEC E001E5AC 80420070 */ lb $v0, 0x70($v0) +/* 331EF0 E001E5B0 14400008 */ bnez $v0, .LE001E5D4 +/* 331EF4 E001E5B4 3C04B000 */ lui $a0, 0xb000 +/* 331EF8 E001E5B8 C600000C */ lwc1 $f0, 0xc($s0) +/* 331EFC E001E5BC 34840016 */ ori $a0, $a0, 0x16 +/* 331F00 E001E5C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 331F04 E001E5C4 8E060004 */ lw $a2, 4($s0) +/* 331F08 E001E5C8 8E070008 */ lw $a3, 8($s0) +/* 331F0C E001E5CC 0C0801A0 */ jal func_E0200680 +/* 331F10 E001E5D0 0000282D */ daddu $a1, $zero, $zero +.LE001E5D4: +/* 331F14 E001E5D4 C602001C */ lwc1 $f2, 0x1c($s0) +/* 331F18 E001E5D8 3C014120 */ lui $at, 0x4120 +/* 331F1C E001E5DC 44810000 */ mtc1 $at, $f0 +/* 331F20 E001E5E0 00000000 */ nop +/* 331F24 E001E5E4 4602003E */ c.le.s $f0, $f2 +/* 331F28 E001E5E8 00000000 */ nop +/* 331F2C E001E5EC 45000003 */ bc1f .LE001E5FC +/* 331F30 E001E5F0 AE000000 */ sw $zero, ($s0) +/* 331F34 E001E5F4 2402FFFF */ addiu $v0, $zero, -1 +/* 331F38 E001E5F8 AE020030 */ sw $v0, 0x30($s0) +.LE001E5FC: +/* 331F3C E001E5FC C600001C */ lwc1 $f0, 0x1c($s0) +/* 331F40 E001E600 44806000 */ mtc1 $zero, $f12 +/* 331F44 E001E604 00000000 */ nop +/* 331F48 E001E608 460C0032 */ c.eq.s $f0, $f12 +/* 331F4C E001E60C 00000000 */ nop +/* 331F50 E001E610 45010012 */ bc1t .LE001E65C +/* 331F54 E001E614 46006386 */ mov.s $f14, $f12 +/* 331F58 E001E618 C6000014 */ lwc1 $f0, 0x14($s0) +/* 331F5C E001E61C 3C01BFE0 */ lui $at, 0xbfe0 +/* 331F60 E001E620 44811800 */ mtc1 $at, $f3 +/* 331F64 E001E624 44801000 */ mtc1 $zero, $f2 +/* 331F68 E001E628 C604002C */ lwc1 $f4, 0x2c($s0) +/* 331F6C E001E62C 46000021 */ cvt.d.s $f0, $f0 +/* 331F70 E001E630 46220000 */ add.d $f0, $f0, $f2 +/* 331F74 E001E634 C6020024 */ lwc1 $f2, 0x24($s0) +/* 331F78 E001E638 8E070034 */ lw $a3, 0x34($s0) +/* 331F7C E001E63C 46041080 */ add.s $f2, $f2, $f4 +/* 331F80 E001E640 46200020 */ cvt.s.d $f0, $f0 +/* 331F84 E001E644 E6000014 */ swc1 $f0, 0x14($s0) +/* 331F88 E001E648 46000007 */ neg.s $f0, $f0 +/* 331F8C E001E64C 44060000 */ mfc1 $a2, $f0 +/* 331F90 E001E650 0C080148 */ jal func_E0200520 +/* 331F94 E001E654 E6020024 */ swc1 $f2, 0x24($s0) +/* 331F98 E001E658 E6000020 */ swc1 $f0, 0x20($s0) +.LE001E65C: +/* 331F9C E001E65C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 331FA0 E001E660 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 331FA4 E001E664 C440002C */ lwc1 $f0, 0x2c($v0) +/* 331FA8 E001E668 C6020008 */ lwc1 $f2, 8($s0) +/* 331FAC E001E66C 46020001 */ sub.s $f0, $f0, $f2 +/* 331FB0 E001E670 3C014396 */ lui $at, 0x4396 +/* 331FB4 E001E674 44811000 */ mtc1 $at, $f2 +/* 331FB8 E001E678 00000000 */ nop +/* 331FBC E001E67C 4600103C */ c.lt.s $f2, $f0 +/* 331FC0 E001E680 00000000 */ nop +/* 331FC4 E001E684 45000002 */ bc1f .LE001E690 +/* 331FC8 E001E688 2402FFFF */ addiu $v0, $zero, -1 +/* 331FCC E001E68C AE020030 */ sw $v0, 0x30($s0) +.LE001E690: +/* 331FD0 E001E690 C6060004 */ lwc1 $f6, 4($s0) +/* 331FD4 E001E694 C6000010 */ lwc1 $f0, 0x10($s0) +/* 331FD8 E001E698 C6020008 */ lwc1 $f2, 8($s0) +/* 331FDC E001E69C 46003180 */ add.s $f6, $f6, $f0 +/* 331FE0 E001E6A0 C6000014 */ lwc1 $f0, 0x14($s0) +/* 331FE4 E001E6A4 C6040018 */ lwc1 $f4, 0x18($s0) +/* 331FE8 E001E6A8 46001080 */ add.s $f2, $f2, $f0 +/* 331FEC E001E6AC C600000C */ lwc1 $f0, 0xc($s0) +/* 331FF0 E001E6B0 8E020030 */ lw $v0, 0x30($s0) +/* 331FF4 E001E6B4 46040000 */ add.s $f0, $f0, $f4 +/* 331FF8 E001E6B8 E6060004 */ swc1 $f6, 4($s0) +/* 331FFC E001E6BC E6020008 */ swc1 $f2, 8($s0) +/* 332000 E001E6C0 04410003 */ bgez $v0, .LE001E6D0 +/* 332004 E001E6C4 E600000C */ swc1 $f0, 0xc($s0) +/* 332008 E001E6C8 0C080128 */ jal func_E02004A0 +/* 33200C E001E6CC 0220202D */ daddu $a0, $s1, $zero +.LE001E6D0: +/* 332010 E001E6D0 8FBF0030 */ lw $ra, 0x30($sp) +/* 332014 E001E6D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 332018 E001E6D8 8FB00028 */ lw $s0, 0x28($sp) +/* 33201C E001E6DC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 332020 E001E6E0 03E00008 */ jr $ra +/* 332024 E001E6E4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/code_331940/func_E001E6E8.s b/asm/nonmatchings/code_331940/func_E001E6E8.s new file mode 100644 index 0000000000..a065fca920 --- /dev/null +++ b/asm/nonmatchings/code_331940/func_E001E6E8.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E001E6E8 +/* 332028 E001E6E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 33202C E001E6EC 0000282D */ daddu $a1, $zero, $zero +/* 332030 E001E6F0 AFBF0020 */ sw $ra, 0x20($sp) +/* 332034 E001E6F4 8C83000C */ lw $v1, 0xc($a0) +/* 332038 E001E6F8 3C02E002 */ lui $v0, 0xe002 +/* 33203C E001E6FC 2442E730 */ addiu $v0, $v0, -0x18d0 +/* 332040 E001E700 AFA40018 */ sw $a0, 0x18($sp) +/* 332044 E001E704 AFA2001C */ sw $v0, 0x1c($sp) +/* 332048 E001E708 AFA00014 */ sw $zero, 0x14($sp) +/* 33204C E001E70C 8C620038 */ lw $v0, 0x38($v1) +/* 332050 E001E710 10400002 */ beqz $v0, .LE001E71C +/* 332054 E001E714 27A40010 */ addiu $a0, $sp, 0x10 +/* 332058 E001E718 2405002D */ addiu $a1, $zero, 0x2d +.LE001E71C: +/* 33205C E001E71C 0C080120 */ jal func_E0200480 +/* 332060 E001E720 AFA50010 */ sw $a1, 0x10($sp) +/* 332064 E001E724 8FBF0020 */ lw $ra, 0x20($sp) +/* 332068 E001E728 03E00008 */ jr $ra +/* 33206C E001E72C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_331940/func_E001E730.s b/asm/nonmatchings/code_331940/func_E001E730.s new file mode 100644 index 0000000000..bead66095e --- /dev/null +++ b/asm/nonmatchings/code_331940/func_E001E730.s @@ -0,0 +1,414 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E001E730 +/* 332070 E001E730 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 332074 E001E734 3C03DB06 */ lui $v1, 0xdb06 +/* 332078 E001E738 AFB700BC */ sw $s7, 0xbc($sp) +/* 33207C E001E73C 3C17800A */ lui $s7, 0x800a +/* 332080 E001E740 26F7A66C */ addiu $s7, $s7, -0x5994 +/* 332084 E001E744 34630024 */ ori $v1, $v1, 0x24 +/* 332088 E001E748 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 33208C E001E74C AFBE00C0 */ sw $fp, 0xc0($sp) +/* 332090 E001E750 AFB600B8 */ sw $s6, 0xb8($sp) +/* 332094 E001E754 AFB500B4 */ sw $s5, 0xb4($sp) +/* 332098 E001E758 AFB400B0 */ sw $s4, 0xb0($sp) +/* 33209C E001E75C AFB300AC */ sw $s3, 0xac($sp) +/* 3320A0 E001E760 AFB200A8 */ sw $s2, 0xa8($sp) +/* 3320A4 E001E764 AFB100A4 */ sw $s1, 0xa4($sp) +/* 3320A8 E001E768 AFB000A0 */ sw $s0, 0xa0($sp) +/* 3320AC E001E76C F7B800D8 */ sdc1 $f24, 0xd8($sp) +/* 3320B0 E001E770 F7B600D0 */ sdc1 $f22, 0xd0($sp) +/* 3320B4 E001E774 F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 3320B8 E001E778 8EE60000 */ lw $a2, ($s7) +/* 3320BC E001E77C 4480A000 */ mtc1 $zero, $f20 +/* 3320C0 E001E780 8C96000C */ lw $s6, 0xc($a0) +/* 3320C4 E001E784 00C0102D */ daddu $v0, $a2, $zero +/* 3320C8 E001E788 24C60008 */ addiu $a2, $a2, 8 +/* 3320CC E001E78C C6D80240 */ lwc1 $f24, 0x240($s6) +/* 3320D0 E001E790 8EDE0038 */ lw $fp, 0x38($s6) +/* 3320D4 E001E794 8ED10244 */ lw $s1, 0x244($s6) +/* 3320D8 E001E798 8ED20248 */ lw $s2, 0x248($s6) +/* 3320DC E001E79C 8ED3024C */ lw $s3, 0x24c($s6) +/* 3320E0 E001E7A0 3C0EE700 */ lui $t6, 0xe700 +/* 3320E4 E001E7A4 AC4E0000 */ sw $t6, ($v0) +/* 3320E8 E001E7A8 AC400004 */ sw $zero, 4($v0) +/* 3320EC E001E7AC ACC30000 */ sw $v1, ($a2) +/* 3320F0 E001E7B0 8C820010 */ lw $v0, 0x10($a0) +/* 3320F4 E001E7B4 3C048000 */ lui $a0, 0x8000 +/* 3320F8 E001E7B8 4405A000 */ mfc1 $a1, $f20 +/* 3320FC E001E7BC 4407A000 */ mfc1 $a3, $f20 +/* 332100 E001E7C0 8C42001C */ lw $v0, 0x1c($v0) +/* 332104 E001E7C4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 332108 E001E7C8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33210C E001E7CC 00441021 */ addu $v0, $v0, $a0 +/* 332110 E001E7D0 ACC20004 */ sw $v0, 4($a2) +/* 332114 E001E7D4 00031080 */ sll $v0, $v1, 2 +/* 332118 E001E7D8 00431021 */ addu $v0, $v0, $v1 +/* 33211C E001E7DC 00021080 */ sll $v0, $v0, 2 +/* 332120 E001E7E0 00431023 */ subu $v0, $v0, $v1 +/* 332124 E001E7E4 000218C0 */ sll $v1, $v0, 3 +/* 332128 E001E7E8 00431021 */ addu $v0, $v0, $v1 +/* 33212C E001E7EC 000210C0 */ sll $v0, $v0, 3 +/* 332130 E001E7F0 3C01800B */ lui $at, 0x800b +/* 332134 E001E7F4 00220821 */ addu $at, $at, $v0 +/* 332138 E001E7F8 C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 33213C E001E7FC E7B80010 */ swc1 $f24, 0x10($sp) +/* 332140 E001E800 C6C00004 */ lwc1 $f0, 4($s6) +/* 332144 E001E804 AEE60000 */ sw $a2, ($s7) +/* 332148 E001E808 24C60008 */ addiu $a2, $a2, 8 +/* 33214C E001E80C E7A00014 */ swc1 $f0, 0x14($sp) +/* 332150 E001E810 C6C00008 */ lwc1 $f0, 8($s6) +/* 332154 E001E814 46001087 */ neg.s $f2, $f2 +/* 332158 E001E818 AEE60000 */ sw $a2, ($s7) +/* 33215C E001E81C 44061000 */ mfc1 $a2, $f2 +/* 332160 E001E820 3C150001 */ lui $s5, 1 +/* 332164 E001E824 E7A00018 */ swc1 $f0, 0x18($sp) +/* 332168 E001E828 C6C0000C */ lwc1 $f0, 0xc($s6) +/* 33216C E001E82C 27A40020 */ addiu $a0, $sp, 0x20 +/* 332170 E001E830 0C080180 */ jal func_E0200600 +/* 332174 E001E834 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 332178 E001E838 36B51630 */ ori $s5, $s5, 0x1630 +/* 33217C E001E83C 27B00060 */ addiu $s0, $sp, 0x60 +/* 332180 E001E840 4406A000 */ mfc1 $a2, $f20 +/* 332184 E001E844 3C013F80 */ lui $at, 0x3f80 +/* 332188 E001E848 44810000 */ mtc1 $at, $f0 +/* 33218C E001E84C 0200202D */ daddu $a0, $s0, $zero +/* 332190 E001E850 E7A00010 */ swc1 $f0, 0x10($sp) +/* 332194 E001E854 8EC50024 */ lw $a1, 0x24($s6) +/* 332198 E001E858 0C080104 */ jal func_E0200410 +/* 33219C E001E85C 00C0382D */ daddu $a3, $a2, $zero +/* 3321A0 E001E860 0200202D */ daddu $a0, $s0, $zero +/* 3321A4 E001E864 27A50020 */ addiu $a1, $sp, 0x20 +/* 3321A8 E001E868 0C080114 */ jal func_E0200450 +/* 3321AC E001E86C 00A0302D */ daddu $a2, $a1, $zero +/* 3321B0 E001E870 27A40020 */ addiu $a0, $sp, 0x20 +/* 3321B4 E001E874 3C108007 */ lui $s0, 0x8007 +/* 3321B8 E001E878 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 3321BC E001E87C 3C14800A */ lui $s4, 0x800a +/* 3321C0 E001E880 2694A674 */ addiu $s4, $s4, -0x598c +/* 3321C4 E001E884 96050000 */ lhu $a1, ($s0) +/* 3321C8 E001E888 8E820000 */ lw $v0, ($s4) +/* 3321CC E001E88C 00052980 */ sll $a1, $a1, 6 +/* 3321D0 E001E890 00B52821 */ addu $a1, $a1, $s5 +/* 3321D4 E001E894 0C080118 */ jal func_E0200460 +/* 3321D8 E001E898 00452821 */ addu $a1, $v0, $a1 +/* 3321DC E001E89C 3C05FA00 */ lui $a1, 0xfa00 +/* 3321E0 E001E8A0 34A50050 */ ori $a1, $a1, 0x50 +/* 3321E4 E001E8A4 3C067F7F */ lui $a2, 0x7f7f +/* 3321E8 E001E8A8 34C67F7F */ ori $a2, $a2, 0x7f7f +/* 3321EC E001E8AC 3C080900 */ lui $t0, 0x900 +/* 3321F0 E001E8B0 25081530 */ addiu $t0, $t0, 0x1530 +/* 3321F4 E001E8B4 3C03DA38 */ lui $v1, 0xda38 +/* 3321F8 E001E8B8 00118E00 */ sll $s1, $s1, 0x18 +/* 3321FC E001E8BC 325200FF */ andi $s2, $s2, 0xff +/* 332200 E001E8C0 00129400 */ sll $s2, $s2, 0x10 +/* 332204 E001E8C4 02328825 */ or $s1, $s1, $s2 +/* 332208 E001E8C8 327300FF */ andi $s3, $s3, 0xff +/* 33220C E001E8CC 00139A00 */ sll $s3, $s3, 8 +/* 332210 E001E8D0 8EE70000 */ lw $a3, ($s7) +/* 332214 E001E8D4 02338825 */ or $s1, $s1, $s3 +/* 332218 E001E8D8 00E0202D */ daddu $a0, $a3, $zero +/* 33221C E001E8DC 24E70008 */ addiu $a3, $a3, 8 +/* 332220 E001E8E0 AEE70000 */ sw $a3, ($s7) +/* 332224 E001E8E4 96020000 */ lhu $v0, ($s0) +/* 332228 E001E8E8 363100FF */ ori $s1, $s1, 0xff +/* 33222C E001E8EC AC830000 */ sw $v1, ($a0) +/* 332230 E001E8F0 24430001 */ addiu $v1, $v0, 1 +/* 332234 E001E8F4 3042FFFF */ andi $v0, $v0, 0xffff +/* 332238 E001E8F8 00021180 */ sll $v0, $v0, 6 +/* 33223C E001E8FC A6030000 */ sh $v1, ($s0) +/* 332240 E001E900 8E830000 */ lw $v1, ($s4) +/* 332244 E001E904 00551021 */ addu $v0, $v0, $s5 +/* 332248 E001E908 00621821 */ addu $v1, $v1, $v0 +/* 33224C E001E90C 24E20008 */ addiu $v0, $a3, 8 +/* 332250 E001E910 AC830004 */ sw $v1, 4($a0) +/* 332254 E001E914 AEE20000 */ sw $v0, ($s7) +/* 332258 E001E918 24E20010 */ addiu $v0, $a3, 0x10 +/* 33225C E001E91C ACE50000 */ sw $a1, ($a3) +/* 332260 E001E920 ACF10004 */ sw $s1, 4($a3) +/* 332264 E001E924 AEE20000 */ sw $v0, ($s7) +/* 332268 E001E928 3C02FB00 */ lui $v0, 0xfb00 +/* 33226C E001E92C ACE6000C */ sw $a2, 0xc($a3) +/* 332270 E001E930 3C06DE00 */ lui $a2, 0xde00 +/* 332274 E001E934 ACE20008 */ sw $v0, 8($a3) +/* 332278 E001E938 ACE60010 */ sw $a2, 0x10($a3) +/* 33227C E001E93C 8EC20038 */ lw $v0, 0x38($s6) +/* 332280 E001E940 24E50018 */ addiu $a1, $a3, 0x18 +/* 332284 E001E944 28420002 */ slti $v0, $v0, 2 +/* 332288 E001E948 14400003 */ bnez $v0, .LE001E958 +/* 33228C E001E94C AEE50000 */ sw $a1, ($s7) +/* 332290 E001E950 3C080900 */ lui $t0, 0x900 +/* 332294 E001E954 25081650 */ addiu $t0, $t0, 0x1650 +.LE001E958: +/* 332298 E001E958 3C02D838 */ lui $v0, 0xd838 +/* 33229C E001E95C 34420002 */ ori $v0, $v0, 2 +/* 3322A0 E001E960 02E0202D */ daddu $a0, $s7, $zero +/* 3322A4 E001E964 24E30020 */ addiu $v1, $a3, 0x20 +/* 3322A8 E001E968 ACE80014 */ sw $t0, 0x14($a3) +/* 3322AC E001E96C AC830000 */ sw $v1, ($a0) +/* 3322B0 E001E970 ACE20018 */ sw $v0, 0x18($a3) +/* 3322B4 E001E974 24020040 */ addiu $v0, $zero, 0x40 +/* 3322B8 E001E978 ACA20004 */ sw $v0, 4($a1) +/* 3322BC E001E97C 24E20028 */ addiu $v0, $a3, 0x28 +/* 3322C0 E001E980 3C0FE700 */ lui $t7, 0xe700 +/* 3322C4 E001E984 AC820000 */ sw $v0, ($a0) +/* 3322C8 E001E988 24020003 */ addiu $v0, $zero, 3 +/* 3322CC E001E98C ACEF0020 */ sw $t7, 0x20($a3) +/* 3322D0 E001E990 17C20007 */ bne $fp, $v0, .LE001E9B0 +/* 3322D4 E001E994 AC600004 */ sw $zero, 4($v1) +/* 3322D8 E001E998 24E20030 */ addiu $v0, $a3, 0x30 +/* 3322DC E001E99C AC820000 */ sw $v0, ($a0) +/* 3322E0 E001E9A0 3C020900 */ lui $v0, 0x900 +/* 3322E4 E001E9A4 244217D0 */ addiu $v0, $v0, 0x17d0 +/* 3322E8 E001E9A8 08007A71 */ j .LE001E9C4 +/* 3322EC E001E9AC AC660008 */ sw $a2, 8($v1) +.LE001E9B0: +/* 3322F0 E001E9B0 24E20030 */ addiu $v0, $a3, 0x30 +/* 3322F4 E001E9B4 AEE20000 */ sw $v0, ($s7) +/* 3322F8 E001E9B8 3C020900 */ lui $v0, 0x900 +/* 3322FC E001E9BC 24421780 */ addiu $v0, $v0, 0x1780 +/* 332300 E001E9C0 AC660008 */ sw $a2, 8($v1) +.LE001E9C4: +/* 332304 E001E9C4 AC62000C */ sw $v0, 0xc($v1) +/* 332308 E001E9C8 8EC2003C */ lw $v0, 0x3c($s6) +/* 33230C E001E9CC 24420001 */ addiu $v0, $v0, 1 +/* 332310 E001E9D0 AEC2003C */ sw $v0, 0x3c($s6) +/* 332314 E001E9D4 28420008 */ slti $v0, $v0, 8 +/* 332318 E001E9D8 50400001 */ beql $v0, $zero, .LE001E9E0 +/* 33231C E001E9DC AEC0003C */ sw $zero, 0x3c($s6) +.LE001E9E0: +/* 332320 E001E9E0 C6C0001C */ lwc1 $f0, 0x1c($s6) +/* 332324 E001E9E4 3C013F80 */ lui $at, 0x3f80 +/* 332328 E001E9E8 4481B000 */ mtc1 $at, $f22 +/* 33232C E001E9EC 00000000 */ nop +/* 332330 E001E9F0 4616003E */ c.le.s $f0, $f22 +/* 332334 E001E9F4 00000000 */ nop +/* 332338 E001E9F8 450000C5 */ bc1f .LE001ED10 +/* 33233C E001E9FC 00000000 */ nop +/* 332340 E001EA00 8EC2003C */ lw $v0, 0x3c($s6) +/* 332344 E001EA04 24440005 */ addiu $a0, $v0, 5 +/* 332348 E001EA08 04810002 */ bgez $a0, .LE001EA14 +/* 33234C E001EA0C 0080302D */ daddu $a2, $a0, $zero +/* 332350 E001EA10 2446000C */ addiu $a2, $v0, 0xc +.LE001EA14: +/* 332354 E001EA14 000688C3 */ sra $s1, $a2, 3 +/* 332358 E001EA18 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33235C E001EA1C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 332360 E001EA20 4480A000 */ mtc1 $zero, $f20 +/* 332364 E001EA24 00031080 */ sll $v0, $v1, 2 +/* 332368 E001EA28 00431021 */ addu $v0, $v0, $v1 +/* 33236C E001EA2C 00021080 */ sll $v0, $v0, 2 +/* 332370 E001EA30 00431023 */ subu $v0, $v0, $v1 +/* 332374 E001EA34 000218C0 */ sll $v1, $v0, 3 +/* 332378 E001EA38 00431021 */ addu $v0, $v0, $v1 +/* 33237C E001EA3C 000210C0 */ sll $v0, $v0, 3 +/* 332380 E001EA40 4405A000 */ mfc1 $a1, $f20 +/* 332384 E001EA44 4407A000 */ mfc1 $a3, $f20 +/* 332388 E001EA48 3C01800B */ lui $at, 0x800b +/* 33238C E001EA4C 00220821 */ addu $at, $at, $v0 +/* 332390 E001EA50 C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 332394 E001EA54 001110C0 */ sll $v0, $s1, 3 +/* 332398 E001EA58 E7B80010 */ swc1 $f24, 0x10($sp) +/* 33239C E001EA5C C6C00004 */ lwc1 $f0, 4($s6) +/* 3323A0 E001EA60 46001087 */ neg.s $f2, $f2 +/* 3323A4 E001EA64 E7A00014 */ swc1 $f0, 0x14($sp) +/* 3323A8 E001EA68 C6C00008 */ lwc1 $f0, 8($s6) +/* 3323AC E001EA6C 44061000 */ mfc1 $a2, $f2 +/* 3323B0 E001EA70 00828823 */ subu $s1, $a0, $v0 +/* 3323B4 E001EA74 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3323B8 E001EA78 C6C0000C */ lwc1 $f0, 0xc($s6) +/* 3323BC E001EA7C 27A40020 */ addiu $a0, $sp, 0x20 +/* 3323C0 E001EA80 0C080180 */ jal func_E0200600 +/* 3323C4 E001EA84 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 3323C8 E001EA88 27B00060 */ addiu $s0, $sp, 0x60 +/* 3323CC E001EA8C 4406A000 */ mfc1 $a2, $f20 +/* 3323D0 E001EA90 0200202D */ daddu $a0, $s0, $zero +/* 3323D4 E001EA94 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3323D8 E001EA98 8EC50020 */ lw $a1, 0x20($s6) +/* 3323DC E001EA9C 0C080104 */ jal func_E0200410 +/* 3323E0 E001EAA0 00C0382D */ daddu $a3, $a2, $zero +/* 3323E4 E001EAA4 0200202D */ daddu $a0, $s0, $zero +/* 3323E8 E001EAA8 27A50020 */ addiu $a1, $sp, 0x20 +/* 3323EC E001EAAC 0C080114 */ jal func_E0200450 +/* 3323F0 E001EAB0 00A0302D */ daddu $a2, $a1, $zero +/* 3323F4 E001EAB4 8EC5003C */ lw $a1, 0x3c($s6) +/* 3323F8 E001EAB8 27A40020 */ addiu $a0, $sp, 0x20 +/* 3323FC E001EABC 00052980 */ sll $a1, $a1, 6 +/* 332400 E001EAC0 24A50040 */ addiu $a1, $a1, 0x40 +/* 332404 E001EAC4 0C080118 */ jal func_E0200460 +/* 332408 E001EAC8 02C52821 */ addu $a1, $s6, $a1 +/* 33240C E001EACC 0000402D */ daddu $t0, $zero, $zero +/* 332410 E001EAD0 3C15800A */ lui $s5, 0x800a +/* 332414 E001EAD4 26B5A674 */ addiu $s5, $s5, -0x598c +/* 332418 E001EAD8 3C0D8007 */ lui $t5, 0x8007 +/* 33241C E001EADC 25AD41F0 */ addiu $t5, $t5, 0x41f0 +/* 332420 E001EAE0 3C0C0001 */ lui $t4, 1 +/* 332424 E001EAE4 358C1630 */ ori $t4, $t4, 0x1630 +/* 332428 E001EAE8 3C0B800A */ lui $t3, 0x800a +/* 33242C E001EAEC 256BA66C */ addiu $t3, $t3, -0x5994 +/* 332430 E001EAF0 3C13DA38 */ lui $s3, 0xda38 +/* 332434 E001EAF4 3C100100 */ lui $s0, 0x100 +/* 332438 E001EAF8 36102000 */ ori $s0, $s0, 0x2000 +/* 33243C E001EAFC 3C14D838 */ lui $s4, 0xd838 +/* 332440 E001EB00 36940002 */ ori $s4, $s4, 2 +/* 332444 E001EB04 24120040 */ addiu $s2, $zero, 0x40 +/* 332448 E001EB08 3C0A0900 */ lui $t2, 0x900 +/* 33244C E001EB0C 254A1400 */ addiu $t2, $t2, 0x1400 +/* 332450 E001EB10 24090002 */ addiu $t1, $zero, 2 +.LE001EB14: +/* 332454 E001EB14 02282023 */ subu $a0, $s1, $t0 +/* 332458 E001EB18 24830008 */ addiu $v1, $a0, 8 +/* 33245C E001EB1C 04610002 */ bgez $v1, .LE001EB28 +/* 332460 E001EB20 0060102D */ daddu $v0, $v1, $zero +/* 332464 E001EB24 2482000F */ addiu $v0, $a0, 0xf +.LE001EB28: +/* 332468 E001EB28 000210C3 */ sra $v0, $v0, 3 +/* 33246C E001EB2C 000210C0 */ sll $v0, $v0, 3 +/* 332470 E001EB30 00621023 */ subu $v0, $v1, $v0 +/* 332474 E001EB34 00021180 */ sll $v0, $v0, 6 +/* 332478 E001EB38 02C21021 */ addu $v0, $s6, $v0 +/* 33247C E001EB3C 24440040 */ addiu $a0, $v0, 0x40 +/* 332480 E001EB40 24450080 */ addiu $a1, $v0, 0x80 +/* 332484 E001EB44 95A20000 */ lhu $v0, ($t5) +/* 332488 E001EB48 8EA30000 */ lw $v1, ($s5) +/* 33248C E001EB4C 00021180 */ sll $v0, $v0, 6 +/* 332490 E001EB50 00621821 */ addu $v1, $v1, $v0 +/* 332494 E001EB54 006C1821 */ addu $v1, $v1, $t4 +.LE001EB58: +/* 332498 E001EB58 8C980000 */ lw $t8, ($a0) +/* 33249C E001EB5C 8C990004 */ lw $t9, 4($a0) +/* 3324A0 E001EB60 8C8E0008 */ lw $t6, 8($a0) +/* 3324A4 E001EB64 8C8F000C */ lw $t7, 0xc($a0) +/* 3324A8 E001EB68 AC780000 */ sw $t8, ($v1) +/* 3324AC E001EB6C AC790004 */ sw $t9, 4($v1) +/* 3324B0 E001EB70 AC6E0008 */ sw $t6, 8($v1) +/* 3324B4 E001EB74 AC6F000C */ sw $t7, 0xc($v1) +/* 3324B8 E001EB78 24840010 */ addiu $a0, $a0, 0x10 +/* 3324BC E001EB7C 1485FFF6 */ bne $a0, $a1, .LE001EB58 +/* 3324C0 E001EB80 24630010 */ addiu $v1, $v1, 0x10 +/* 3324C4 E001EB84 3126007F */ andi $a2, $t1, 0x7f +/* 3324C8 E001EB88 25290002 */ addiu $t1, $t1, 2 +/* 3324CC E001EB8C 25080001 */ addiu $t0, $t0, 1 +/* 3324D0 E001EB90 00063040 */ sll $a2, $a2, 1 +/* 3324D4 E001EB94 00D03025 */ or $a2, $a2, $s0 +/* 3324D8 E001EB98 8D640000 */ lw $a0, ($t3) +/* 3324DC E001EB9C 95A50000 */ lhu $a1, ($t5) +/* 3324E0 E001EBA0 0080382D */ daddu $a3, $a0, $zero +/* 3324E4 E001EBA4 24840008 */ addiu $a0, $a0, 8 +/* 3324E8 E001EBA8 30A2FFFF */ andi $v0, $a1, 0xffff +/* 3324EC E001EBAC 00021180 */ sll $v0, $v0, 6 +/* 3324F0 E001EBB0 004C1021 */ addu $v0, $v0, $t4 +/* 3324F4 E001EBB4 ACF30000 */ sw $s3, ($a3) +/* 3324F8 E001EBB8 8EA30000 */ lw $v1, ($s5) +/* 3324FC E001EBBC 24A50001 */ addiu $a1, $a1, 1 +/* 332500 E001EBC0 00621821 */ addu $v1, $v1, $v0 +/* 332504 E001EBC4 ACE30004 */ sw $v1, 4($a3) +/* 332508 E001EBC8 AC8A0004 */ sw $t2, 4($a0) +/* 33250C E001EBCC 254A0020 */ addiu $t2, $t2, 0x20 +/* 332510 E001EBD0 24820008 */ addiu $v0, $a0, 8 +/* 332514 E001EBD4 AD640000 */ sw $a0, ($t3) +/* 332518 E001EBD8 A5A50000 */ sh $a1, ($t5) +/* 33251C E001EBDC AD620000 */ sw $v0, ($t3) +/* 332520 E001EBE0 24820010 */ addiu $v0, $a0, 0x10 +/* 332524 E001EBE4 AC860000 */ sw $a2, ($a0) +/* 332528 E001EBE8 AD620000 */ sw $v0, ($t3) +/* 33252C E001EBEC 29020005 */ slti $v0, $t0, 5 +/* 332530 E001EBF0 AC940008 */ sw $s4, 8($a0) +/* 332534 E001EBF4 1440FFC7 */ bnez $v0, .LE001EB14 +/* 332538 E001EBF8 AC92000C */ sw $s2, 0xc($a0) +/* 33253C E001EBFC 0000402D */ daddu $t0, $zero, $zero +/* 332540 E001EC00 3C0C800A */ lui $t4, 0x800a +/* 332544 E001EC04 258CA66C */ addiu $t4, $t4, -0x5994 +/* 332548 E001EC08 3C0B0600 */ lui $t3, 0x600 +/* 33254C E001EC0C 240A0001 */ addiu $t2, $zero, 1 +/* 332550 E001EC10 3C0D0604 */ lui $t5, 0x604 +/* 332554 E001EC14 35AD0602 */ ori $t5, $t5, 0x602 +/* 332558 E001EC18 24070006 */ addiu $a3, $zero, 6 +/* 33255C E001EC1C 24050004 */ addiu $a1, $zero, 4 +/* 332560 E001EC20 0140302D */ daddu $a2, $t2, $zero +/* 332564 E001EC24 24090002 */ addiu $t1, $zero, 2 +.LE001EC28: +/* 332568 E001EC28 8D840000 */ lw $a0, ($t4) +/* 33256C E001EC2C 24820008 */ addiu $v0, $a0, 8 +/* 332570 E001EC30 AD820000 */ sw $v0, ($t4) +/* 332574 E001EC34 00081040 */ sll $v0, $t0, 1 +/* 332578 E001EC38 14400004 */ bnez $v0, .LE001EC4C +/* 33257C E001EC3C 00000000 */ nop +/* 332580 E001EC40 00081440 */ sll $v0, $t0, 0x11 +/* 332584 E001EC44 08007B1D */ j .LE001EC74 +/* 332588 E001EC48 34420204 */ ori $v0, $v0, 0x204 +.LE001EC4C: +/* 33258C E001EC4C 144A0003 */ bne $v0, $t2, .LE001EC5C +/* 332590 E001EC50 30A200FF */ andi $v0, $a1, 0xff +/* 332594 E001EC54 08007B1F */ j .LE001EC7C +/* 332598 E001EC58 AC8D0000 */ sw $t5, ($a0) +.LE001EC5C: +/* 33259C E001EC5C 00021400 */ sll $v0, $v0, 0x10 +/* 3325A0 E001EC60 00081A80 */ sll $v1, $t0, 0xa +/* 3325A4 E001EC64 3063FC00 */ andi $v1, $v1, 0xfc00 +/* 3325A8 E001EC68 00431025 */ or $v0, $v0, $v1 +/* 3325AC E001EC6C 312300FF */ andi $v1, $t1, 0xff +/* 3325B0 E001EC70 00431025 */ or $v0, $v0, $v1 +.LE001EC74: +/* 3325B4 E001EC74 004B1025 */ or $v0, $v0, $t3 +/* 3325B8 E001EC78 AC820000 */ sw $v0, ($a0) +.LE001EC7C: +/* 3325BC E001EC7C 14C00004 */ bnez $a2, .LE001EC90 +/* 3325C0 E001EC80 30E200FF */ andi $v0, $a3, 0xff +/* 3325C4 E001EC84 00021200 */ sll $v0, $v0, 8 +/* 3325C8 E001EC88 08007B32 */ j .LE001ECC8 +/* 3325CC E001EC8C 30A300FF */ andi $v1, $a1, 0xff +.LE001EC90: +/* 3325D0 E001EC90 14CA0008 */ bne $a2, $t2, .LE001ECB4 +/* 3325D4 E001EC94 30A200FF */ andi $v0, $a1, 0xff +/* 3325D8 E001EC98 30E300FF */ andi $v1, $a3, 0xff +/* 3325DC E001EC9C 00031C00 */ sll $v1, $v1, 0x10 +/* 3325E0 E001ECA0 00021200 */ sll $v0, $v0, 8 +/* 3325E4 E001ECA4 00621825 */ or $v1, $v1, $v0 +/* 3325E8 E001ECA8 34630002 */ ori $v1, $v1, 2 +/* 3325EC E001ECAC 08007B34 */ j .LE001ECD0 +/* 3325F0 E001ECB0 AC830004 */ sw $v1, 4($a0) +.LE001ECB4: +/* 3325F4 E001ECB4 00021400 */ sll $v0, $v0, 0x10 +/* 3325F8 E001ECB8 00061A40 */ sll $v1, $a2, 9 +/* 3325FC E001ECBC 3063FE00 */ andi $v1, $v1, 0xfe00 +/* 332600 E001ECC0 00431025 */ or $v0, $v0, $v1 +/* 332604 E001ECC4 30E300FF */ andi $v1, $a3, 0xff +.LE001ECC8: +/* 332608 E001ECC8 00431025 */ or $v0, $v0, $v1 +/* 33260C E001ECCC AC820004 */ sw $v0, 4($a0) +.LE001ECD0: +/* 332610 E001ECD0 24E70004 */ addiu $a3, $a3, 4 +/* 332614 E001ECD4 24A50004 */ addiu $a1, $a1, 4 +/* 332618 E001ECD8 24C60002 */ addiu $a2, $a2, 2 +/* 33261C E001ECDC 25080001 */ addiu $t0, $t0, 1 +/* 332620 E001ECE0 29020004 */ slti $v0, $t0, 4 +/* 332624 E001ECE4 1440FFD0 */ bnez $v0, .LE001EC28 +/* 332628 E001ECE8 25290004 */ addiu $t1, $t1, 4 +/* 33262C E001ECEC 3C03800A */ lui $v1, 0x800a +/* 332630 E001ECF0 2463A66C */ addiu $v1, $v1, -0x5994 +/* 332634 E001ECF4 8C620000 */ lw $v0, ($v1) +/* 332638 E001ECF8 0040202D */ daddu $a0, $v0, $zero +/* 33263C E001ECFC 24420008 */ addiu $v0, $v0, 8 +/* 332640 E001ED00 AC620000 */ sw $v0, ($v1) +/* 332644 E001ED04 3C02E700 */ lui $v0, 0xe700 +/* 332648 E001ED08 AC820000 */ sw $v0, ($a0) +/* 33264C E001ED0C AC800004 */ sw $zero, 4($a0) +.LE001ED10: +/* 332650 E001ED10 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 332654 E001ED14 8FBE00C0 */ lw $fp, 0xc0($sp) +/* 332658 E001ED18 8FB700BC */ lw $s7, 0xbc($sp) +/* 33265C E001ED1C 8FB600B8 */ lw $s6, 0xb8($sp) +/* 332660 E001ED20 8FB500B4 */ lw $s5, 0xb4($sp) +/* 332664 E001ED24 8FB400B0 */ lw $s4, 0xb0($sp) +/* 332668 E001ED28 8FB300AC */ lw $s3, 0xac($sp) +/* 33266C E001ED2C 8FB200A8 */ lw $s2, 0xa8($sp) +/* 332670 E001ED30 8FB100A4 */ lw $s1, 0xa4($sp) +/* 332674 E001ED34 8FB000A0 */ lw $s0, 0xa0($sp) +/* 332678 E001ED38 D7B800D8 */ ldc1 $f24, 0xd8($sp) +/* 33267C E001ED3C D7B600D0 */ ldc1 $f22, 0xd0($sp) +/* 332680 E001ED40 D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 332684 E001ED44 03E00008 */ jr $ra +/* 332688 E001ED48 27BD00E0 */ addiu $sp, $sp, 0xe0 +/* 33268C E001ED4C 00000000 */ nop diff --git a/asm/nonmatchings/code_333EC0/func_E0020000.s b/asm/nonmatchings/code_333EC0/func_E0020000.s new file mode 100644 index 0000000000..bd70181a9c --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E0020000.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0020000 +/* 333EC0 E0020000 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 333EC4 E0020004 AFB1005C */ sw $s1, 0x5c($sp) +/* 333EC8 E0020008 0080882D */ daddu $s1, $a0, $zero +/* 333ECC E002000C AFB30064 */ sw $s3, 0x64($sp) +/* 333ED0 E0020010 AFB00058 */ sw $s0, 0x58($sp) +/* 333ED4 E0020014 3C108007 */ lui $s0, %hi(gCurrentCameraID) +/* 333ED8 E0020018 26107410 */ addiu $s0, $s0, %lo(gCurrentCameraID) +/* 333EDC E002001C AFBF0068 */ sw $ra, 0x68($sp) +/* 333EE0 E0020020 AFB20060 */ sw $s2, 0x60($sp) +/* 333EE4 E0020024 F7B80080 */ sdc1 $f24, 0x80($sp) +/* 333EE8 E0020028 F7B60078 */ sdc1 $f22, 0x78($sp) +/* 333EEC E002002C F7B40070 */ sdc1 $f20, 0x70($sp) +/* 333EF0 E0020030 8E030000 */ lw $v1, ($s0) +/* 333EF4 E0020034 C638001C */ lwc1 $f24, 0x1c($s1) +/* 333EF8 E0020038 C6360020 */ lwc1 $f22, 0x20($s1) +/* 333EFC E002003C 00031080 */ sll $v0, $v1, 2 +/* 333F00 E0020040 00431021 */ addu $v0, $v0, $v1 +/* 333F04 E0020044 00021080 */ sll $v0, $v0, 2 +/* 333F08 E0020048 00431023 */ subu $v0, $v0, $v1 +/* 333F0C E002004C 000218C0 */ sll $v1, $v0, 3 +/* 333F10 E0020050 00431021 */ addu $v0, $v0, $v1 +/* 333F14 E0020054 000210C0 */ sll $v0, $v0, 3 +/* 333F18 E0020058 3C01800B */ lui $at, 0x800b +/* 333F1C E002005C 00220821 */ addu $at, $at, $v0 +/* 333F20 E0020060 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 333F24 E0020064 8E32003C */ lw $s2, 0x3c($s1) +/* 333F28 E0020068 0C080140 */ jal func_E0200500 +/* 333F2C E002006C 00A0982D */ daddu $s3, $a1, $zero +/* 333F30 E0020070 8E030000 */ lw $v1, ($s0) +/* 333F34 E0020074 00031080 */ sll $v0, $v1, 2 +/* 333F38 E0020078 00431021 */ addu $v0, $v0, $v1 +/* 333F3C E002007C 00021080 */ sll $v0, $v0, 2 +/* 333F40 E0020080 00431023 */ subu $v0, $v0, $v1 +/* 333F44 E0020084 000218C0 */ sll $v1, $v0, 3 +/* 333F48 E0020088 00431021 */ addu $v0, $v0, $v1 +/* 333F4C E002008C 000210C0 */ sll $v0, $v0, 3 +/* 333F50 E0020090 3C01800B */ lui $at, 0x800b +/* 333F54 E0020094 00220821 */ addu $at, $at, $v0 +/* 333F58 E0020098 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 333F5C E002009C 0C080144 */ jal func_E0200510 +/* 333F60 E00200A0 46000506 */ mov.s $f20, $f0 +/* 333F64 E00200A4 00131080 */ sll $v0, $s3, 2 +/* 333F68 E00200A8 46000007 */ neg.s $f0, $f0 +/* 333F6C E00200AC E7A00010 */ swc1 $f0, 0x10($sp) +/* 333F70 E00200B0 3C0141A0 */ lui $at, 0x41a0 +/* 333F74 E00200B4 44810000 */ mtc1 $at, $f0 +/* 333F78 E00200B8 00531021 */ addu $v0, $v0, $s3 +/* 333F7C E00200BC 4600C001 */ sub.s $f0, $f24, $f0 +/* 333F80 E00200C0 00021080 */ sll $v0, $v0, 2 +/* 333F84 E00200C4 44821000 */ mtc1 $v0, $f2 +/* 333F88 E00200C8 00000000 */ nop +/* 333F8C E00200CC 468010A0 */ cvt.s.w $f2, $f2 +/* 333F90 E00200D0 46020000 */ add.s $f0, $f0, $f2 +/* 333F94 E00200D4 27A40018 */ addiu $a0, $sp, 0x18 +/* 333F98 E00200D8 4406A000 */ mfc1 $a2, $f20 +/* 333F9C E00200DC 46000007 */ neg.s $f0, $f0 +/* 333FA0 E00200E0 44050000 */ mfc1 $a1, $f0 +/* 333FA4 E00200E4 0C080104 */ jal func_E0200410 +/* 333FA8 E00200E8 0000382D */ daddu $a3, $zero, $zero +/* 333FAC E00200EC 2402FFFF */ addiu $v0, $zero, -1 +/* 333FB0 E00200F0 1642001F */ bne $s2, $v0, .LE0020170 +/* 333FB4 E00200F4 00000000 */ nop +/* 333FB8 E00200F8 3C014180 */ lui $at, 0x4180 +/* 333FBC E00200FC 44813000 */ mtc1 $at, $f6 +/* 333FC0 E0020100 00000000 */ nop +/* 333FC4 E0020104 4606B180 */ add.s $f6, $f22, $f6 +/* 333FC8 E0020108 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 333FCC E002010C 46062102 */ mul.s $f4, $f4, $f6 +/* 333FD0 E0020110 00000000 */ nop +/* 333FD4 E0020114 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 333FD8 E0020118 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 333FDC E002011C C4400028 */ lwc1 $f0, 0x28($v0) +/* 333FE0 E0020120 C6220010 */ lwc1 $f2, 0x10($s1) +/* 333FE4 E0020124 46020000 */ add.s $f0, $f0, $f2 +/* 333FE8 E0020128 46040000 */ add.s $f0, $f0, $f4 +/* 333FEC E002012C E6200004 */ swc1 $f0, 4($s1) +/* 333FF0 E0020130 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 333FF4 E0020134 46062102 */ mul.s $f4, $f4, $f6 +/* 333FF8 E0020138 00000000 */ nop +/* 333FFC E002013C C6220014 */ lwc1 $f2, 0x14($s1) +/* 334000 E0020140 C440002C */ lwc1 $f0, 0x2c($v0) +/* 334004 E0020144 46020000 */ add.s $f0, $f0, $f2 +/* 334008 E0020148 46040000 */ add.s $f0, $f0, $f4 +/* 33400C E002014C E6200008 */ swc1 $f0, 8($s1) +/* 334010 E0020150 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 334014 E0020154 46062102 */ mul.s $f4, $f4, $f6 +/* 334018 E0020158 00000000 */ nop +/* 33401C E002015C C6220018 */ lwc1 $f2, 0x18($s1) +/* 334020 E0020160 C4400030 */ lwc1 $f0, 0x30($v0) +/* 334024 E0020164 46020000 */ add.s $f0, $f0, $f2 +/* 334028 E0020168 0800808F */ j .LE002023C +/* 33402C E002016C 46040000 */ add.s $f0, $f0, $f4 +.LE0020170: +/* 334030 E0020170 1240001D */ beqz $s2, .LE00201E8 +/* 334034 E0020174 00000000 */ nop +/* 334038 E0020178 3C014180 */ lui $at, 0x4180 +/* 33403C E002017C 44813000 */ mtc1 $at, $f6 +/* 334040 E0020180 00000000 */ nop +/* 334044 E0020184 4606B180 */ add.s $f6, $f22, $f6 +/* 334048 E0020188 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 33404C E002018C 46062102 */ mul.s $f4, $f4, $f6 +/* 334050 E0020190 00000000 */ nop +/* 334054 E0020194 C6400038 */ lwc1 $f0, 0x38($s2) +/* 334058 E0020198 C6220010 */ lwc1 $f2, 0x10($s1) +/* 33405C E002019C 46020000 */ add.s $f0, $f0, $f2 +/* 334060 E00201A0 46040000 */ add.s $f0, $f0, $f4 +/* 334064 E00201A4 E6200004 */ swc1 $f0, 4($s1) +/* 334068 E00201A8 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 33406C E00201AC 46062102 */ mul.s $f4, $f4, $f6 +/* 334070 E00201B0 00000000 */ nop +/* 334074 E00201B4 C6220014 */ lwc1 $f2, 0x14($s1) +/* 334078 E00201B8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 33407C E00201BC 46020000 */ add.s $f0, $f0, $f2 +/* 334080 E00201C0 46040000 */ add.s $f0, $f0, $f4 +/* 334084 E00201C4 E6200008 */ swc1 $f0, 8($s1) +/* 334088 E00201C8 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 33408C E00201CC 46062102 */ mul.s $f4, $f4, $f6 +/* 334090 E00201D0 00000000 */ nop +/* 334094 E00201D4 C6220018 */ lwc1 $f2, 0x18($s1) +/* 334098 E00201D8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 33409C E00201DC 46020000 */ add.s $f0, $f0, $f2 +/* 3340A0 E00201E0 0800808F */ j .LE002023C +/* 3340A4 E00201E4 46040000 */ add.s $f0, $f0, $f4 +.LE00201E8: +/* 3340A8 E00201E8 3C014180 */ lui $at, 0x4180 +/* 3340AC E00201EC 44812000 */ mtc1 $at, $f4 +/* 3340B0 E00201F0 00000000 */ nop +/* 3340B4 E00201F4 4604B100 */ add.s $f4, $f22, $f4 +/* 3340B8 E00201F8 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 3340BC E00201FC 46041082 */ mul.s $f2, $f2, $f4 +/* 3340C0 E0020200 00000000 */ nop +/* 3340C4 E0020204 C6200010 */ lwc1 $f0, 0x10($s1) +/* 3340C8 E0020208 46020000 */ add.s $f0, $f0, $f2 +/* 3340CC E002020C E6200004 */ swc1 $f0, 4($s1) +/* 3340D0 E0020210 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 3340D4 E0020214 46041082 */ mul.s $f2, $f2, $f4 +/* 3340D8 E0020218 00000000 */ nop +/* 3340DC E002021C C6200014 */ lwc1 $f0, 0x14($s1) +/* 3340E0 E0020220 46020000 */ add.s $f0, $f0, $f2 +/* 3340E4 E0020224 E6200008 */ swc1 $f0, 8($s1) +/* 3340E8 E0020228 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 3340EC E002022C 46041082 */ mul.s $f2, $f2, $f4 +/* 3340F0 E0020230 00000000 */ nop +/* 3340F4 E0020234 C6200018 */ lwc1 $f0, 0x18($s1) +/* 3340F8 E0020238 46020000 */ add.s $f0, $f0, $f2 +.LE002023C: +/* 3340FC E002023C E620000C */ swc1 $f0, 0xc($s1) +/* 334100 E0020240 3C014140 */ lui $at, 0x4140 +/* 334104 E0020244 44810000 */ mtc1 $at, $f0 +/* 334108 E0020248 3C013F00 */ lui $at, 0x3f00 +/* 33410C E002024C 44811000 */ mtc1 $at, $f2 +/* 334110 E0020250 4600B003 */ div.s $f0, $f22, $f0 +/* 334114 E0020254 46020002 */ mul.s $f0, $f0, $f2 +/* 334118 E0020258 00000000 */ nop +/* 33411C E002025C 00131080 */ sll $v0, $s3, 2 +/* 334120 E0020260 3C0141A0 */ lui $at, 0x41a0 +/* 334124 E0020264 44812000 */ mtc1 $at, $f4 +/* 334128 E0020268 00531021 */ addu $v0, $v0, $s3 +/* 33412C E002026C 4604C101 */ sub.s $f4, $f24, $f4 +/* 334130 E0020270 00021080 */ sll $v0, $v0, 2 +/* 334134 E0020274 44821000 */ mtc1 $v0, $f2 +/* 334138 E0020278 00000000 */ nop +/* 33413C E002027C 468010A0 */ cvt.s.w $f2, $f2 +/* 334140 E0020280 46022100 */ add.s $f4, $f4, $f2 +/* 334144 E0020284 3C013FE0 */ lui $at, 0x3fe0 +/* 334148 E0020288 44811800 */ mtc1 $at, $f3 +/* 33414C E002028C 44801000 */ mtc1 $zero, $f2 +/* 334150 E0020290 46000021 */ cvt.d.s $f0, $f0 +/* 334154 E0020294 46220000 */ add.d $f0, $f0, $f2 +/* 334158 E0020298 E6240024 */ swc1 $f4, 0x24($s1) +/* 33415C E002029C 46200020 */ cvt.s.d $f0, $f0 +/* 334160 E00202A0 E6200028 */ swc1 $f0, 0x28($s1) +/* 334164 E00202A4 8FBF0068 */ lw $ra, 0x68($sp) +/* 334168 E00202A8 8FB30064 */ lw $s3, 0x64($sp) +/* 33416C E00202AC 8FB20060 */ lw $s2, 0x60($sp) +/* 334170 E00202B0 8FB1005C */ lw $s1, 0x5c($sp) +/* 334174 E00202B4 8FB00058 */ lw $s0, 0x58($sp) +/* 334178 E00202B8 D7B80080 */ ldc1 $f24, 0x80($sp) +/* 33417C E00202BC D7B60078 */ ldc1 $f22, 0x78($sp) +/* 334180 E00202C0 D7B40070 */ ldc1 $f20, 0x70($sp) +/* 334184 E00202C4 03E00008 */ jr $ra +/* 334188 E00202C8 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/code_333EC0/func_E00202CC.s b/asm/nonmatchings/code_333EC0/func_E00202CC.s new file mode 100644 index 0000000000..6fb5175d3c --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E00202CC.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00202CC +/* 33418C E00202CC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 334190 E00202D0 F7B80058 */ sdc1 $f24, 0x58($sp) +/* 334194 E00202D4 4486C000 */ mtc1 $a2, $f24 +/* 334198 E00202D8 F7BC0068 */ sdc1 $f28, 0x68($sp) +/* 33419C E00202DC 4487E000 */ mtc1 $a3, $f28 +/* 3341A0 E00202E0 AFB00028 */ sw $s0, 0x28($sp) +/* 3341A4 E00202E4 8FB0008C */ lw $s0, 0x8c($sp) +/* 3341A8 E00202E8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 3341AC E00202EC C7B60080 */ lwc1 $f22, 0x80($sp) +/* 3341B0 E00202F0 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* 3341B4 E00202F4 C7BA0084 */ lwc1 $f26, 0x84($sp) +/* 3341B8 E00202F8 AFB20030 */ sw $s2, 0x30($sp) +/* 3341BC E00202FC 0080902D */ daddu $s2, $a0, $zero +/* 3341C0 E0020300 AFB5003C */ sw $s5, 0x3c($sp) +/* 3341C4 E0020304 00A0A82D */ daddu $s5, $a1, $zero +/* 3341C8 E0020308 AFB30034 */ sw $s3, 0x34($sp) +/* 3341CC E002030C 24130001 */ addiu $s3, $zero, 1 +/* 3341D0 E0020310 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 3341D4 E0020314 C7B40088 */ lwc1 $f20, 0x88($sp) +/* 3341D8 E0020318 27A40010 */ addiu $a0, $sp, 0x10 +/* 3341DC E002031C AFBF0040 */ sw $ra, 0x40($sp) +/* 3341E0 E0020320 AFB40038 */ sw $s4, 0x38($sp) +/* 3341E4 E0020324 16530002 */ bne $s2, $s3, .LE0020330 +/* 3341E8 E0020328 AFB1002C */ sw $s1, 0x2c($sp) +/* 3341EC E002032C 24130003 */ addiu $s3, $zero, 3 +.LE0020330: +/* 3341F0 E0020330 3C02E002 */ lui $v0, 0xe002 +/* 3341F4 E0020334 24420460 */ addiu $v0, $v0, 0x460 +/* 3341F8 E0020338 AFA20018 */ sw $v0, 0x18($sp) +/* 3341FC E002033C 3C02E002 */ lui $v0, 0xe002 +/* 334200 E0020340 24420468 */ addiu $v0, $v0, 0x468 +/* 334204 E0020344 AFA2001C */ sw $v0, 0x1c($sp) +/* 334208 E0020348 3C02E002 */ lui $v0, 0xe002 +/* 33420C E002034C 2442058C */ addiu $v0, $v0, 0x58c +/* 334210 E0020350 AFA20020 */ sw $v0, 0x20($sp) +/* 334214 E0020354 24020010 */ addiu $v0, $zero, 0x10 +/* 334218 E0020358 AFA00010 */ sw $zero, 0x10($sp) +/* 33421C E002035C AFA00024 */ sw $zero, 0x24($sp) +/* 334220 E0020360 0C080124 */ jal func_E0200490 +/* 334224 E0020364 AFA20014 */ sw $v0, 0x14($sp) +/* 334228 E0020368 00132180 */ sll $a0, $s3, 6 +/* 33422C E002036C 0040A02D */ daddu $s4, $v0, $zero +/* 334230 E0020370 0C08012C */ jal func_E02004B0 +/* 334234 E0020374 AE930008 */ sw $s3, 8($s4) +/* 334238 E0020378 0040882D */ daddu $s1, $v0, $zero +/* 33423C E002037C 16200003 */ bnez $s1, .LE002038C +/* 334240 E0020380 AE91000C */ sw $s1, 0xc($s4) +.LE0020384: +/* 334244 E0020384 080080E1 */ j .LE0020384 +/* 334248 E0020388 00000000 */ nop +.LE002038C: +/* 33424C E002038C AE35003C */ sw $s5, 0x3c($s1) +/* 334250 E0020390 AE320000 */ sw $s2, ($s1) +/* 334254 E0020394 1E000002 */ bgtz $s0, .LE00203A0 +/* 334258 E0020398 AE320030 */ sw $s2, 0x30($s1) +/* 33425C E002039C 24102710 */ addiu $s0, $zero, 0x2710 +.LE00203A0: +/* 334260 E00203A0 24020001 */ addiu $v0, $zero, 1 +/* 334264 E00203A4 AE30002C */ sw $s0, 0x2c($s1) +/* 334268 E00203A8 16420014 */ bne $s2, $v0, .LE00203FC +/* 33426C E00203AC AE200034 */ sw $zero, 0x34($s1) +/* 334270 E00203B0 1260001B */ beqz $s3, .LE0020420 +/* 334274 E00203B4 0000902D */ daddu $s2, $zero, $zero +/* 334278 E00203B8 2630003C */ addiu $s0, $s1, 0x3c +.LE00203BC: +/* 33427C E00203BC 0220202D */ daddu $a0, $s1, $zero +/* 334280 E00203C0 0240282D */ daddu $a1, $s2, $zero +/* 334284 E00203C4 E618FFD4 */ swc1 $f24, -0x2c($s0) +/* 334288 E00203C8 E61CFFD8 */ swc1 $f28, -0x28($s0) +/* 33428C E00203CC E616FFDC */ swc1 $f22, -0x24($s0) +/* 334290 E00203D0 E614FFE0 */ swc1 $f20, -0x20($s0) +/* 334294 E00203D4 E61AFFE4 */ swc1 $f26, -0x1c($s0) +/* 334298 E00203D8 0C008000 */ jal func_E0020000 +/* 33429C E00203DC AE150000 */ sw $s5, ($s0) +/* 3342A0 E00203E0 26520001 */ addiu $s2, $s2, 1 +/* 3342A4 E00203E4 26100040 */ addiu $s0, $s0, 0x40 +/* 3342A8 E00203E8 0253102A */ slt $v0, $s2, $s3 +/* 3342AC E00203EC 1440FFF3 */ bnez $v0, .LE00203BC +/* 3342B0 E00203F0 26310040 */ addiu $s1, $s1, 0x40 +/* 3342B4 E00203F4 08008108 */ j .LE0020420 +/* 3342B8 E00203F8 00000000 */ nop +.LE00203FC: +/* 3342BC E00203FC 0220202D */ daddu $a0, $s1, $zero +/* 3342C0 E0020400 24050001 */ addiu $a1, $zero, 1 +/* 3342C4 E0020404 E4980010 */ swc1 $f24, 0x10($a0) +/* 3342C8 E0020408 E49C0014 */ swc1 $f28, 0x14($a0) +/* 3342CC E002040C E4960018 */ swc1 $f22, 0x18($a0) +/* 3342D0 E0020410 E494001C */ swc1 $f20, 0x1c($a0) +/* 3342D4 E0020414 E49A0020 */ swc1 $f26, 0x20($a0) +/* 3342D8 E0020418 0C008000 */ jal func_E0020000 +/* 3342DC E002041C AC95003C */ sw $s5, 0x3c($a0) +.LE0020420: +/* 3342E0 E0020420 8FA20090 */ lw $v0, 0x90($sp) +/* 3342E4 E0020424 AC540000 */ sw $s4, ($v0) +/* 3342E8 E0020428 8FBF0040 */ lw $ra, 0x40($sp) +/* 3342EC E002042C 8FB5003C */ lw $s5, 0x3c($sp) +/* 3342F0 E0020430 8FB40038 */ lw $s4, 0x38($sp) +/* 3342F4 E0020434 8FB30034 */ lw $s3, 0x34($sp) +/* 3342F8 E0020438 8FB20030 */ lw $s2, 0x30($sp) +/* 3342FC E002043C 8FB1002C */ lw $s1, 0x2c($sp) +/* 334300 E0020440 8FB00028 */ lw $s0, 0x28($sp) +/* 334304 E0020444 D7BC0068 */ ldc1 $f28, 0x68($sp) +/* 334308 E0020448 D7BA0060 */ ldc1 $f26, 0x60($sp) +/* 33430C E002044C D7B80058 */ ldc1 $f24, 0x58($sp) +/* 334310 E0020450 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 334314 E0020454 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 334318 E0020458 03E00008 */ jr $ra +/* 33431C E002045C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_333EC0/func_E0020460.s b/asm/nonmatchings/code_333EC0/func_E0020460.s new file mode 100644 index 0000000000..6beaf975b6 --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E0020460.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0020460 +/* 334320 E0020460 03E00008 */ jr $ra +/* 334324 E0020464 00000000 */ nop diff --git a/asm/nonmatchings/code_333EC0/func_E0020468.s b/asm/nonmatchings/code_333EC0/func_E0020468.s new file mode 100644 index 0000000000..5180861add --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E0020468.s @@ -0,0 +1,84 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0020468 +/* 334328 E0020468 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 33432C E002046C AFB20018 */ sw $s2, 0x18($sp) +/* 334330 E0020470 0080902D */ daddu $s2, $a0, $zero +/* 334334 E0020474 AFBF001C */ sw $ra, 0x1c($sp) +/* 334338 E0020478 AFB10014 */ sw $s1, 0x14($sp) +/* 33433C E002047C AFB00010 */ sw $s0, 0x10($sp) +/* 334340 E0020480 8E51000C */ lw $s1, 0xc($s2) +/* 334344 E0020484 8E220030 */ lw $v0, 0x30($s1) +/* 334348 E0020488 8E230034 */ lw $v1, 0x34($s1) +/* 33434C E002048C 00021080 */ sll $v0, $v0, 2 +/* 334350 E0020490 3C01E002 */ lui $at, 0xe002 +/* 334354 E0020494 00220821 */ addu $at, $at, $v0 +/* 334358 E0020498 8C220D80 */ lw $v0, 0xd80($at) +/* 33435C E002049C 8E250000 */ lw $a1, ($s1) +/* 334360 E00204A0 00431021 */ addu $v0, $v0, $v1 +/* 334364 E00204A4 80440000 */ lb $a0, ($v0) +/* 334368 E00204A8 24630001 */ addiu $v1, $v1, 1 +/* 33436C E00204AC AE230034 */ sw $v1, 0x34($s1) +/* 334370 E00204B0 3C03E002 */ lui $v1, 0xe002 +/* 334374 E00204B4 24630D80 */ addiu $v1, $v1, 0xd80 +/* 334378 E00204B8 0481000E */ bgez $a0, .LE00204F4 +/* 33437C E00204BC AE240038 */ sw $a0, 0x38($s1) +/* 334380 E00204C0 2402FFFF */ addiu $v0, $zero, -1 +/* 334384 E00204C4 10820013 */ beq $a0, $v0, .LE0020514 +/* 334388 E00204C8 00041023 */ negu $v0, $a0 +/* 33438C E00204CC 2442FFF6 */ addiu $v0, $v0, -0xa +/* 334390 E00204D0 AE220030 */ sw $v0, 0x30($s1) +/* 334394 E00204D4 00021080 */ sll $v0, $v0, 2 +/* 334398 E00204D8 00431021 */ addu $v0, $v0, $v1 +/* 33439C E00204DC AE200034 */ sw $zero, 0x34($s1) +/* 3343A0 E00204E0 8C420000 */ lw $v0, ($v0) +/* 3343A4 E00204E4 80430000 */ lb $v1, ($v0) +/* 3343A8 E00204E8 24020001 */ addiu $v0, $zero, 1 +/* 3343AC E00204EC AE220034 */ sw $v0, 0x34($s1) +/* 3343B0 E00204F0 AE230038 */ sw $v1, 0x38($s1) +.LE00204F4: +/* 3343B4 E00204F4 8E23002C */ lw $v1, 0x2c($s1) +/* 3343B8 E00204F8 28622710 */ slti $v0, $v1, 0x2710 +/* 3343BC E00204FC 10400002 */ beqz $v0, .LE0020508 +/* 3343C0 E0020500 2462FFFF */ addiu $v0, $v1, -1 +/* 3343C4 E0020504 AE22002C */ sw $v0, 0x2c($s1) +.LE0020508: +/* 3343C8 E0020508 8E22002C */ lw $v0, 0x2c($s1) +/* 3343CC E002050C 04410005 */ bgez $v0, .LE0020524 +/* 3343D0 E0020510 00000000 */ nop +.LE0020514: +/* 3343D4 E0020514 0C080128 */ jal func_E02004A0 +/* 3343D8 E0020518 0240202D */ daddu $a0, $s2, $zero +/* 3343DC E002051C 0800815D */ j .LE0020574 +/* 3343E0 E0020520 00000000 */ nop +.LE0020524: +/* 3343E4 E0020524 8E22003C */ lw $v0, 0x3c($s1) +/* 3343E8 E0020528 10400012 */ beqz $v0, .LE0020574 +/* 3343EC E002052C 24020001 */ addiu $v0, $zero, 1 +/* 3343F0 E0020530 14A2000E */ bne $a1, $v0, .LE002056C +/* 3343F4 E0020534 0220202D */ daddu $a0, $s1, $zero +/* 3343F8 E0020538 8E420008 */ lw $v0, 8($s2) +/* 3343FC E002053C 1840000D */ blez $v0, .LE0020574 +/* 334400 E0020540 0000802D */ daddu $s0, $zero, $zero +.LE0020544: +/* 334404 E0020544 0220202D */ daddu $a0, $s1, $zero +/* 334408 E0020548 0C008000 */ jal func_E0020000 +/* 33440C E002054C 0200282D */ daddu $a1, $s0, $zero +/* 334410 E0020550 26100001 */ addiu $s0, $s0, 1 +/* 334414 E0020554 8E420008 */ lw $v0, 8($s2) +/* 334418 E0020558 0202102A */ slt $v0, $s0, $v0 +/* 33441C E002055C 1440FFF9 */ bnez $v0, .LE0020544 +/* 334420 E0020560 26310040 */ addiu $s1, $s1, 0x40 +/* 334424 E0020564 0800815D */ j .LE0020574 +/* 334428 E0020568 00000000 */ nop +.LE002056C: +/* 33442C E002056C 0C008000 */ jal func_E0020000 +/* 334430 E0020570 24050001 */ addiu $a1, $zero, 1 +.LE0020574: +/* 334434 E0020574 8FBF001C */ lw $ra, 0x1c($sp) +/* 334438 E0020578 8FB20018 */ lw $s2, 0x18($sp) +/* 33443C E002057C 8FB10014 */ lw $s1, 0x14($sp) +/* 334440 E0020580 8FB00010 */ lw $s0, 0x10($sp) +/* 334444 E0020584 03E00008 */ jr $ra +/* 334448 E0020588 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_333EC0/func_E002058C.s b/asm/nonmatchings/code_333EC0/func_E002058C.s new file mode 100644 index 0000000000..9cb78b972c --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E002058C.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002058C +/* 33444C E002058C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 334450 E0020590 3C02E002 */ lui $v0, 0xe002 +/* 334454 E0020594 244205D0 */ addiu $v0, $v0, 0x5d0 +/* 334458 E0020598 AFA2001C */ sw $v0, 0x1c($sp) +/* 33445C E002059C 2402002D */ addiu $v0, $zero, 0x2d +/* 334460 E00205A0 AFA40018 */ sw $a0, 0x18($sp) +/* 334464 E00205A4 27A40010 */ addiu $a0, $sp, 0x10 +/* 334468 E00205A8 AFBF0020 */ sw $ra, 0x20($sp) +/* 33446C E00205AC AFA00014 */ sw $zero, 0x14($sp) +/* 334470 E00205B0 0C080120 */ jal func_E0200480 +/* 334474 E00205B4 AFA20010 */ sw $v0, 0x10($sp) +/* 334478 E00205B8 8C430000 */ lw $v1, ($v0) +/* 33447C E00205BC 34630002 */ ori $v1, $v1, 2 +/* 334480 E00205C0 AC430000 */ sw $v1, ($v0) +/* 334484 E00205C4 8FBF0020 */ lw $ra, 0x20($sp) +/* 334488 E00205C8 03E00008 */ jr $ra +/* 33448C E00205CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_333EC0/func_E00205D0.s b/asm/nonmatchings/code_333EC0/func_E00205D0.s new file mode 100644 index 0000000000..5f0b998f94 --- /dev/null +++ b/asm/nonmatchings/code_333EC0/func_E00205D0.s @@ -0,0 +1,449 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00205D0 +/* 334490 E00205D0 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 334494 E00205D4 3C06DB06 */ lui $a2, 0xdb06 +/* 334498 E00205D8 AFB600C0 */ sw $s6, 0xc0($sp) +/* 33449C E00205DC 3C16800A */ lui $s6, 0x800a +/* 3344A0 E00205E0 26D6A66C */ addiu $s6, $s6, -0x5994 +/* 3344A4 E00205E4 34C60024 */ ori $a2, $a2, 0x24 +/* 3344A8 E00205E8 AFBF00CC */ sw $ra, 0xcc($sp) +/* 3344AC E00205EC AFBE00C8 */ sw $fp, 0xc8($sp) +/* 3344B0 E00205F0 AFB700C4 */ sw $s7, 0xc4($sp) +/* 3344B4 E00205F4 AFB500BC */ sw $s5, 0xbc($sp) +/* 3344B8 E00205F8 AFB400B8 */ sw $s4, 0xb8($sp) +/* 3344BC E00205FC AFB300B4 */ sw $s3, 0xb4($sp) +/* 3344C0 E0020600 AFB200B0 */ sw $s2, 0xb0($sp) +/* 3344C4 E0020604 AFB100AC */ sw $s1, 0xac($sp) +/* 3344C8 E0020608 AFB000A8 */ sw $s0, 0xa8($sp) +/* 3344CC E002060C F7B600D8 */ sdc1 $f22, 0xd8($sp) +/* 3344D0 E0020610 F7B400D0 */ sdc1 $f20, 0xd0($sp) +/* 3344D4 E0020614 8EC50000 */ lw $a1, ($s6) +/* 3344D8 E0020618 8C94000C */ lw $s4, 0xc($a0) +/* 3344DC E002061C 00A0182D */ daddu $v1, $a1, $zero +/* 3344E0 E0020620 24A50008 */ addiu $a1, $a1, 8 +/* 3344E4 E0020624 AEC50000 */ sw $a1, ($s6) +/* 3344E8 E0020628 8E950000 */ lw $s5, ($s4) +/* 3344EC E002062C 3C02E700 */ lui $v0, 0xe700 +/* 3344F0 E0020630 AC620000 */ sw $v0, ($v1) +/* 3344F4 E0020634 AC600004 */ sw $zero, 4($v1) +/* 3344F8 E0020638 ACA60000 */ sw $a2, ($a1) +/* 3344FC E002063C 8C830010 */ lw $v1, 0x10($a0) +/* 334500 E0020640 24A20008 */ addiu $v0, $a1, 8 +/* 334504 E0020644 AEC20000 */ sw $v0, ($s6) +/* 334508 E0020648 8C62001C */ lw $v0, 0x1c($v1) +/* 33450C E002064C 3C038000 */ lui $v1, 0x8000 +/* 334510 E0020650 00431021 */ addu $v0, $v0, $v1 +/* 334514 E0020654 ACA20004 */ sw $v0, 4($a1) +/* 334518 E0020658 24020001 */ addiu $v0, $zero, 1 +/* 33451C E002065C 12A2006D */ beq $s5, $v0, .LE0020814 +/* 334520 E0020660 27A40018 */ addiu $a0, $sp, 0x18 +/* 334524 E0020664 3C130001 */ lui $s3, 1 +/* 334528 E0020668 8E850004 */ lw $a1, 4($s4) +/* 33452C E002066C 8E860008 */ lw $a2, 8($s4) +/* 334530 E0020670 8E87000C */ lw $a3, 0xc($s4) +/* 334534 E0020674 0C080108 */ jal func_E0200420 +/* 334538 E0020678 36731630 */ ori $s3, $s3, 0x1630 +/* 33453C E002067C 27B00058 */ addiu $s0, $sp, 0x58 +/* 334540 E0020680 4480B000 */ mtc1 $zero, $f22 +/* 334544 E0020684 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 334548 E0020688 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33454C E002068C 3C013F80 */ lui $at, 0x3f80 +/* 334550 E0020690 4481A000 */ mtc1 $at, $f20 +/* 334554 E0020694 00031080 */ sll $v0, $v1, 2 +/* 334558 E0020698 00431021 */ addu $v0, $v0, $v1 +/* 33455C E002069C 00021080 */ sll $v0, $v0, 2 +/* 334560 E00206A0 00431023 */ subu $v0, $v0, $v1 +/* 334564 E00206A4 000218C0 */ sll $v1, $v0, 3 +/* 334568 E00206A8 00431021 */ addu $v0, $v0, $v1 +/* 33456C E00206AC 000210C0 */ sll $v0, $v0, 3 +/* 334570 E00206B0 4406B000 */ mfc1 $a2, $f22 +/* 334574 E00206B4 3C01800B */ lui $at, 0x800b +/* 334578 E00206B8 00220821 */ addu $at, $at, $v0 +/* 33457C E00206BC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 334580 E00206C0 4407A000 */ mfc1 $a3, $f20 +/* 334584 E00206C4 46000007 */ neg.s $f0, $f0 +/* 334588 E00206C8 44050000 */ mfc1 $a1, $f0 +/* 33458C E00206CC 0200202D */ daddu $a0, $s0, $zero +/* 334590 E00206D0 0C080104 */ jal func_E0200410 +/* 334594 E00206D4 E7B60010 */ swc1 $f22, 0x10($sp) +/* 334598 E00206D8 0200202D */ daddu $a0, $s0, $zero +/* 33459C E00206DC 27A50018 */ addiu $a1, $sp, 0x18 +/* 3345A0 E00206E0 0C080114 */ jal func_E0200450 +/* 3345A4 E00206E4 00A0302D */ daddu $a2, $a1, $zero +/* 3345A8 E00206E8 27A40018 */ addiu $a0, $sp, 0x18 +/* 3345AC E00206EC 3C118007 */ lui $s1, 0x8007 +/* 3345B0 E00206F0 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 3345B4 E00206F4 3C12800A */ lui $s2, 0x800a +/* 3345B8 E00206F8 2652A674 */ addiu $s2, $s2, -0x598c +/* 3345BC E00206FC 96220000 */ lhu $v0, ($s1) +/* 3345C0 E0020700 8E460000 */ lw $a2, ($s2) +/* 3345C4 E0020704 00022980 */ sll $a1, $v0, 6 +/* 3345C8 E0020708 00B32821 */ addu $a1, $a1, $s3 +/* 3345CC E002070C 00C52821 */ addu $a1, $a2, $a1 +/* 3345D0 E0020710 24430001 */ addiu $v1, $v0, 1 +/* 3345D4 E0020714 00021180 */ sll $v0, $v0, 6 +/* 3345D8 E0020718 00531021 */ addu $v0, $v0, $s3 +/* 3345DC E002071C 00C23021 */ addu $a2, $a2, $v0 +/* 3345E0 E0020720 A6230000 */ sh $v1, ($s1) +/* 3345E4 E0020724 0C080118 */ jal func_E0200460 +/* 3345E8 E0020728 AFA60098 */ sw $a2, 0x98($sp) +/* 3345EC E002072C 4405A000 */ mfc1 $a1, $f20 +/* 3345F0 E0020730 3C063F4C */ lui $a2, 0x3f4c +/* 3345F4 E0020734 34C6CCCD */ ori $a2, $a2, 0xcccd +/* 3345F8 E0020738 4407A000 */ mfc1 $a3, $f20 +/* 3345FC E002073C 0C080110 */ jal func_E0200440 +/* 334600 E0020740 0200202D */ daddu $a0, $s0, $zero +/* 334604 E0020744 0200202D */ daddu $a0, $s0, $zero +/* 334608 E0020748 27A50018 */ addiu $a1, $sp, 0x18 +/* 33460C E002074C 0C080114 */ jal func_E0200450 +/* 334610 E0020750 00A0302D */ daddu $a2, $a1, $zero +/* 334614 E0020754 4406B000 */ mfc1 $a2, $f22 +/* 334618 E0020758 0200202D */ daddu $a0, $s0, $zero +/* 33461C E002075C E7B40010 */ swc1 $f20, 0x10($sp) +/* 334620 E0020760 8E850024 */ lw $a1, 0x24($s4) +/* 334624 E0020764 0C080104 */ jal func_E0200410 +/* 334628 E0020768 00C0382D */ daddu $a3, $a2, $zero +/* 33462C E002076C 0200202D */ daddu $a0, $s0, $zero +/* 334630 E0020770 27A50018 */ addiu $a1, $sp, 0x18 +/* 334634 E0020774 0C080114 */ jal func_E0200450 +/* 334638 E0020778 00A0302D */ daddu $a2, $a1, $zero +/* 33463C E002077C 27A40018 */ addiu $a0, $sp, 0x18 +/* 334640 E0020780 96250000 */ lhu $a1, ($s1) +/* 334644 E0020784 8E420000 */ lw $v0, ($s2) +/* 334648 E0020788 00052980 */ sll $a1, $a1, 6 +/* 33464C E002078C 00B32821 */ addu $a1, $a1, $s3 +/* 334650 E0020790 0C080118 */ jal func_E0200460 +/* 334654 E0020794 00452821 */ addu $a1, $v0, $a1 +/* 334658 E0020798 3C03DA38 */ lui $v1, 0xda38 +/* 33465C E002079C 34630002 */ ori $v1, $v1, 2 +/* 334660 E00207A0 3C06D838 */ lui $a2, 0xd838 +/* 334664 E00207A4 34C60002 */ ori $a2, $a2, 2 +/* 334668 E00207A8 8EC40000 */ lw $a0, ($s6) +/* 33466C E00207AC 96220000 */ lhu $v0, ($s1) +/* 334670 E00207B0 0080282D */ daddu $a1, $a0, $zero +/* 334674 E00207B4 24840008 */ addiu $a0, $a0, 8 +/* 334678 E00207B8 AEC40000 */ sw $a0, ($s6) +/* 33467C E00207BC ACA30000 */ sw $v1, ($a1) +/* 334680 E00207C0 24430001 */ addiu $v1, $v0, 1 +/* 334684 E00207C4 3042FFFF */ andi $v0, $v0, 0xffff +/* 334688 E00207C8 00021180 */ sll $v0, $v0, 6 +/* 33468C E00207CC A6230000 */ sh $v1, ($s1) +/* 334690 E00207D0 8E430000 */ lw $v1, ($s2) +/* 334694 E00207D4 00531021 */ addu $v0, $v0, $s3 +/* 334698 E00207D8 00621821 */ addu $v1, $v1, $v0 +/* 33469C E00207DC 24820008 */ addiu $v0, $a0, 8 +/* 3346A0 E00207E0 ACA30004 */ sw $v1, 4($a1) +/* 3346A4 E00207E4 AEC20000 */ sw $v0, ($s6) +/* 3346A8 E00207E8 3C02DE00 */ lui $v0, 0xde00 +/* 3346AC E00207EC AC820000 */ sw $v0, ($a0) +/* 3346B0 E00207F0 3C020900 */ lui $v0, 0x900 +/* 3346B4 E00207F4 24422170 */ addiu $v0, $v0, 0x2170 +/* 3346B8 E00207F8 AC820004 */ sw $v0, 4($a0) +/* 3346BC E00207FC 24820010 */ addiu $v0, $a0, 0x10 +/* 3346C0 E0020800 AEC20000 */ sw $v0, ($s6) +/* 3346C4 E0020804 24020040 */ addiu $v0, $zero, 0x40 +/* 3346C8 E0020808 AC860008 */ sw $a2, 8($a0) +/* 3346CC E002080C 08008276 */ j .LE00209D8 +/* 3346D0 E0020810 AC82000C */ sw $v0, 0xc($a0) +.LE0020814: +/* 3346D4 E0020814 8E820038 */ lw $v0, 0x38($s4) +/* 3346D8 E0020818 1440010F */ bnez $v0, .LE0020C58 +/* 3346DC E002081C 0000982D */ daddu $s3, $zero, $zero +/* 3346E0 E0020820 27B10058 */ addiu $s1, $sp, 0x58 +/* 3346E4 E0020824 3C1E800A */ lui $fp, 0x800a +/* 3346E8 E0020828 27DEA674 */ addiu $fp, $fp, -0x598c +/* 3346EC E002082C 3C178007 */ lui $s7, 0x8007 +/* 3346F0 E0020830 26F741F0 */ addiu $s7, $s7, 0x41f0 +/* 3346F4 E0020834 3C150001 */ lui $s5, 1 +/* 3346F8 E0020838 36B51630 */ ori $s5, $s5, 0x1630 +/* 3346FC E002083C 02C0902D */ daddu $s2, $s6, $zero +/* 334700 E0020840 26900028 */ addiu $s0, $s4, 0x28 +/* 334704 E0020844 4480A000 */ mtc1 $zero, $f20 +/* 334708 E0020848 3C013F80 */ lui $at, 0x3f80 +/* 33470C E002084C 4481B000 */ mtc1 $at, $f22 +.LE0020850: +/* 334710 E0020850 27A40018 */ addiu $a0, $sp, 0x18 +/* 334714 E0020854 8E05FFDC */ lw $a1, -0x24($s0) +/* 334718 E0020858 8E06FFE0 */ lw $a2, -0x20($s0) +/* 33471C E002085C 8E07FFE4 */ lw $a3, -0x1c($s0) +/* 334720 E0020860 0C080108 */ jal func_E0200420 +/* 334724 E0020864 26730001 */ addiu $s3, $s3, 1 +/* 334728 E0020868 3C09800B */ lui $t1, %hi(gCameras) +/* 33472C E002086C 25291D80 */ addiu $t1, $t1, %lo(gCameras) +/* 334730 E0020870 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 334734 E0020874 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 334738 E0020878 4406A000 */ mfc1 $a2, $f20 +/* 33473C E002087C 00031080 */ sll $v0, $v1, 2 +/* 334740 E0020880 00431021 */ addu $v0, $v0, $v1 +/* 334744 E0020884 00021080 */ sll $v0, $v0, 2 +/* 334748 E0020888 00431023 */ subu $v0, $v0, $v1 +/* 33474C E002088C 000218C0 */ sll $v1, $v0, 3 +/* 334750 E0020890 00431021 */ addu $v0, $v0, $v1 +/* 334754 E0020894 000210C0 */ sll $v0, $v0, 3 +/* 334758 E0020898 00491021 */ addu $v0, $v0, $t1 +/* 33475C E002089C C440006C */ lwc1 $f0, 0x6c($v0) +/* 334760 E00208A0 4407B000 */ mfc1 $a3, $f22 +/* 334764 E00208A4 46000007 */ neg.s $f0, $f0 +/* 334768 E00208A8 44050000 */ mfc1 $a1, $f0 +/* 33476C E00208AC 0220202D */ daddu $a0, $s1, $zero +/* 334770 E00208B0 0C080104 */ jal func_E0200410 +/* 334774 E00208B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 334778 E00208B8 0220202D */ daddu $a0, $s1, $zero +/* 33477C E00208BC 27A50018 */ addiu $a1, $sp, 0x18 +/* 334780 E00208C0 0C080114 */ jal func_E0200450 +/* 334784 E00208C4 00A0302D */ daddu $a2, $a1, $zero +/* 334788 E00208C8 E7B60010 */ swc1 $f22, 0x10($sp) +/* 33478C E00208CC 8E05FFFC */ lw $a1, -4($s0) +/* 334790 E00208D0 4406A000 */ mfc1 $a2, $f20 +/* 334794 E00208D4 4407A000 */ mfc1 $a3, $f20 +/* 334798 E00208D8 0C080104 */ jal func_E0200410 +/* 33479C E00208DC 0220202D */ daddu $a0, $s1, $zero +/* 3347A0 E00208E0 0220202D */ daddu $a0, $s1, $zero +/* 3347A4 E00208E4 27A50018 */ addiu $a1, $sp, 0x18 +/* 3347A8 E00208E8 0C080114 */ jal func_E0200450 +/* 3347AC E00208EC 00A0302D */ daddu $a2, $a1, $zero +/* 3347B0 E00208F0 0220202D */ daddu $a0, $s1, $zero +/* 3347B4 E00208F4 8E050000 */ lw $a1, ($s0) +/* 3347B8 E00208F8 26100040 */ addiu $s0, $s0, 0x40 +/* 3347BC E00208FC 4407B000 */ mfc1 $a3, $f22 +/* 3347C0 E0020900 0C080110 */ jal func_E0200440 +/* 3347C4 E0020904 00A0302D */ daddu $a2, $a1, $zero +/* 3347C8 E0020908 0220202D */ daddu $a0, $s1, $zero +/* 3347CC E002090C 27A50018 */ addiu $a1, $sp, 0x18 +/* 3347D0 E0020910 0C080114 */ jal func_E0200450 +/* 3347D4 E0020914 00A0302D */ daddu $a2, $a1, $zero +/* 3347D8 E0020918 27A40018 */ addiu $a0, $sp, 0x18 +/* 3347DC E002091C 96E50000 */ lhu $a1, ($s7) +/* 3347E0 E0020920 8FC20000 */ lw $v0, ($fp) +/* 3347E4 E0020924 00052980 */ sll $a1, $a1, 6 +/* 3347E8 E0020928 00B52821 */ addu $a1, $a1, $s5 +/* 3347EC E002092C 0C080118 */ jal func_E0200460 +/* 3347F0 E0020930 00452821 */ addu $a1, $v0, $a1 +/* 3347F4 E0020934 3C05EB1C */ lui $a1, 0xeb1c +/* 3347F8 E0020938 34A500FF */ ori $a1, $a1, 0xff +/* 3347FC E002093C 3C06DA38 */ lui $a2, 0xda38 +/* 334800 E0020940 34C60002 */ ori $a2, $a2, 2 +/* 334804 E0020944 3C07D838 */ lui $a3, 0xd838 +/* 334808 E0020948 34E70002 */ ori $a3, $a3, 2 +/* 33480C E002094C 8E440000 */ lw $a0, ($s2) +/* 334810 E0020950 3C02FA00 */ lui $v0, 0xfa00 +/* 334814 E0020954 0080182D */ daddu $v1, $a0, $zero +/* 334818 E0020958 24840008 */ addiu $a0, $a0, 8 +/* 33481C E002095C AE440000 */ sw $a0, ($s2) +/* 334820 E0020960 AC620000 */ sw $v0, ($v1) +/* 334824 E0020964 AC650004 */ sw $a1, 4($v1) +/* 334828 E0020968 96E30000 */ lhu $v1, ($s7) +/* 33482C E002096C 24820008 */ addiu $v0, $a0, 8 +/* 334830 E0020970 AE420000 */ sw $v0, ($s2) +/* 334834 E0020974 AC860000 */ sw $a2, ($a0) +/* 334838 E0020978 24620001 */ addiu $v0, $v1, 1 +/* 33483C E002097C 3063FFFF */ andi $v1, $v1, 0xffff +/* 334840 E0020980 00031980 */ sll $v1, $v1, 6 +/* 334844 E0020984 A6E20000 */ sh $v0, ($s7) +/* 334848 E0020988 8FC20000 */ lw $v0, ($fp) +/* 33484C E002098C 00751821 */ addu $v1, $v1, $s5 +/* 334850 E0020990 00431021 */ addu $v0, $v0, $v1 +/* 334854 E0020994 AC820004 */ sw $v0, 4($a0) +/* 334858 E0020998 24820010 */ addiu $v0, $a0, 0x10 +/* 33485C E002099C AE420000 */ sw $v0, ($s2) +/* 334860 E00209A0 3C02DE00 */ lui $v0, 0xde00 +/* 334864 E00209A4 AC820008 */ sw $v0, 8($a0) +/* 334868 E00209A8 3C020900 */ lui $v0, 0x900 +/* 33486C E00209AC 24422578 */ addiu $v0, $v0, 0x2578 +/* 334870 E00209B0 AC82000C */ sw $v0, 0xc($a0) +/* 334874 E00209B4 24820018 */ addiu $v0, $a0, 0x18 +/* 334878 E00209B8 AE420000 */ sw $v0, ($s2) +/* 33487C E00209BC 24020040 */ addiu $v0, $zero, 0x40 +/* 334880 E00209C0 AC820014 */ sw $v0, 0x14($a0) +/* 334884 E00209C4 2A620003 */ slti $v0, $s3, 3 +/* 334888 E00209C8 1440FFA1 */ bnez $v0, .LE0020850 +/* 33488C E00209CC AC870010 */ sw $a3, 0x10($a0) +/* 334890 E00209D0 08008316 */ j .LE0020C58 +/* 334894 E00209D4 00000000 */ nop +.LE00209D8: +/* 334898 E00209D8 3C03DA38 */ lui $v1, 0xda38 +/* 33489C E00209DC 3C06800A */ lui $a2, 0x800a +/* 3348A0 E00209E0 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 3348A4 E00209E4 8CC50000 */ lw $a1, ($a2) +/* 3348A8 E00209E8 34630002 */ ori $v1, $v1, 2 +/* 3348AC E00209EC 00A0102D */ daddu $v0, $a1, $zero +/* 3348B0 E00209F0 24A50008 */ addiu $a1, $a1, 8 +/* 3348B4 E00209F4 ACC50000 */ sw $a1, ($a2) +/* 3348B8 E00209F8 AC430000 */ sw $v1, ($v0) +/* 3348BC E00209FC 8FA90098 */ lw $t1, 0x98($sp) +/* 3348C0 E0020A00 24030002 */ addiu $v1, $zero, 2 +/* 3348C4 E0020A04 AC490004 */ sw $t1, 4($v0) +/* 3348C8 E0020A08 00151080 */ sll $v0, $s5, 2 +/* 3348CC E0020A0C 8E840038 */ lw $a0, 0x38($s4) +/* 3348D0 E0020A10 3C07E002 */ lui $a3, 0xe002 +/* 3348D4 E0020A14 00E23821 */ addu $a3, $a3, $v0 +/* 3348D8 E0020A18 8CE70CA4 */ lw $a3, 0xca4($a3) +/* 3348DC E0020A1C 3C08E002 */ lui $t0, 0xe002 +/* 3348E0 E0020A20 01024021 */ addu $t0, $t0, $v0 +/* 3348E4 E0020A24 8D080C90 */ lw $t0, 0xc90($t0) +/* 3348E8 E0020A28 12A30016 */ beq $s5, $v1, .LE0020A84 +/* 3348EC E0020A2C 2AA20003 */ slti $v0, $s5, 3 +/* 3348F0 E0020A30 50400005 */ beql $v0, $zero, .LE0020A48 +/* 3348F4 E0020A34 24020003 */ addiu $v0, $zero, 3 +/* 3348F8 E0020A38 12A00009 */ beqz $s5, .LE0020A60 +/* 3348FC E0020A3C 24090010 */ addiu $t1, $zero, 0x10 +/* 334900 E0020A40 080082E2 */ j .LE0020B88 +/* 334904 E0020A44 00000000 */ nop +.LE0020A48: +/* 334908 E0020A48 12A2001E */ beq $s5, $v0, .LE0020AC4 +/* 33490C E0020A4C 24020004 */ addiu $v0, $zero, 4 +/* 334910 E0020A50 12A20046 */ beq $s5, $v0, .LE0020B6C +/* 334914 E0020A54 24090020 */ addiu $t1, $zero, 0x20 +/* 334918 E0020A58 080082E2 */ j .LE0020B88 +/* 33491C E0020A5C 00000000 */ nop +.LE0020A60: +/* 334920 E0020A60 00041900 */ sll $v1, $a0, 4 +/* 334924 E0020A64 24020080 */ addiu $v0, $zero, 0x80 +/* 334928 E0020A68 0043B823 */ subu $s7, $v0, $v1 +/* 33492C E0020A6C 0000F02D */ daddu $fp, $zero, $zero +/* 334930 E0020A70 3C03DC00 */ lui $v1, 0xdc00 +/* 334934 E0020A74 346300FF */ ori $v1, $v1, 0xff +/* 334938 E0020A78 24A20008 */ addiu $v0, $a1, 8 +/* 33493C E0020A7C 080082AB */ j .LE0020AAC +/* 334940 E0020A80 AFA9009C */ sw $t1, 0x9c($sp) +.LE0020A84: +/* 334944 E0020A84 24090020 */ addiu $t1, $zero, 0x20 +/* 334948 E0020A88 AFA9009C */ sw $t1, 0x9c($sp) +/* 33494C E0020A8C 24090030 */ addiu $t1, $zero, 0x30 +/* 334950 E0020A90 00041940 */ sll $v1, $a0, 5 +/* 334954 E0020A94 24020080 */ addiu $v0, $zero, 0x80 +/* 334958 E0020A98 0043B823 */ subu $s7, $v0, $v1 +/* 33495C E0020A9C 0000F02D */ daddu $fp, $zero, $zero +/* 334960 E0020AA0 3C03DC00 */ lui $v1, 0xdc00 +/* 334964 E0020AA4 346300FF */ ori $v1, $v1, 0xff +/* 334968 E0020AA8 24A20008 */ addiu $v0, $a1, 8 +.LE0020AAC: +/* 33496C E0020AAC AFA900A0 */ sw $t1, 0xa0($sp) +/* 334970 E0020AB0 ACC20000 */ sw $v0, ($a2) +/* 334974 E0020AB4 3C02FA00 */ lui $v0, 0xfa00 +/* 334978 E0020AB8 ACA20000 */ sw $v0, ($a1) +/* 33497C E0020ABC 080082E2 */ j .LE0020B88 +/* 334980 E0020AC0 ACA30004 */ sw $v1, 4($a1) +.LE0020AC4: +/* 334984 E0020AC4 24090020 */ addiu $t1, $zero, 0x20 +/* 334988 E0020AC8 00041940 */ sll $v1, $a0, 5 +/* 33498C E0020ACC 24020080 */ addiu $v0, $zero, 0x80 +/* 334990 E0020AD0 0043B823 */ subu $s7, $v0, $v1 +/* 334994 E0020AD4 0000F02D */ daddu $fp, $zero, $zero +/* 334998 E0020AD8 3C039249 */ lui $v1, 0x9249 +/* 33499C E0020ADC AFA9009C */ sw $t1, 0x9c($sp) +/* 3349A0 E0020AE0 AFA900A0 */ sw $t1, 0xa0($sp) +/* 3349A4 E0020AE4 8E82002C */ lw $v0, 0x2c($s4) +/* 3349A8 E0020AE8 34632493 */ ori $v1, $v1, 0x2493 +/* 3349AC E0020AEC 00022040 */ sll $a0, $v0, 1 +/* 3349B0 E0020AF0 00822021 */ addu $a0, $a0, $v0 +/* 3349B4 E0020AF4 24A20008 */ addiu $v0, $a1, 8 +/* 3349B8 E0020AF8 00830018 */ mult $a0, $v1 +/* 3349BC E0020AFC ACC20000 */ sw $v0, ($a2) +/* 3349C0 E0020B00 3C02FA00 */ lui $v0, 0xfa00 +/* 3349C4 E0020B04 00041FC3 */ sra $v1, $a0, 0x1f +/* 3349C8 E0020B08 ACA20000 */ sw $v0, ($a1) +/* 3349CC E0020B0C 00004810 */ mfhi $t1 +/* 3349D0 E0020B10 01241021 */ addu $v0, $t1, $a0 +/* 3349D4 E0020B14 00021083 */ sra $v0, $v0, 2 +/* 3349D8 E0020B18 00431823 */ subu $v1, $v0, $v1 +/* 3349DC E0020B1C 000310C0 */ sll $v0, $v1, 3 +/* 3349E0 E0020B20 00431023 */ subu $v0, $v0, $v1 +/* 3349E4 E0020B24 00821823 */ subu $v1, $a0, $v0 +/* 3349E8 E0020B28 3C02E002 */ lui $v0, 0xe002 +/* 3349EC E0020B2C 00431021 */ addu $v0, $v0, $v1 +/* 3349F0 E0020B30 90420D94 */ lbu $v0, 0xd94($v0) +/* 3349F4 E0020B34 3C04E002 */ lui $a0, 0xe002 +/* 3349F8 E0020B38 00832021 */ addu $a0, $a0, $v1 +/* 3349FC E0020B3C 90840D95 */ lbu $a0, 0xd95($a0) +/* 334A00 E0020B40 3C01E002 */ lui $at, 0xe002 +/* 334A04 E0020B44 00230821 */ addu $at, $at, $v1 +/* 334A08 E0020B48 90230D96 */ lbu $v1, 0xd96($at) +/* 334A0C E0020B4C 00021600 */ sll $v0, $v0, 0x18 +/* 334A10 E0020B50 00042400 */ sll $a0, $a0, 0x10 +/* 334A14 E0020B54 00441025 */ or $v0, $v0, $a0 +/* 334A18 E0020B58 00031A00 */ sll $v1, $v1, 8 +/* 334A1C E0020B5C 00431025 */ or $v0, $v0, $v1 +/* 334A20 E0020B60 344200FF */ ori $v0, $v0, 0xff +/* 334A24 E0020B64 080082E2 */ j .LE0020B88 +/* 334A28 E0020B68 ACA20004 */ sw $v0, 4($a1) +.LE0020B6C: +/* 334A2C E0020B6C AFA9009C */ sw $t1, 0x9c($sp) +/* 334A30 E0020B70 24090008 */ addiu $t1, $zero, 8 +/* 334A34 E0020B74 00041940 */ sll $v1, $a0, 5 +/* 334A38 E0020B78 24020080 */ addiu $v0, $zero, 0x80 +/* 334A3C E0020B7C 0043B823 */ subu $s7, $v0, $v1 +/* 334A40 E0020B80 0000F02D */ daddu $fp, $zero, $zero +/* 334A44 E0020B84 AFA900A0 */ sw $t1, 0xa0($sp) +.LE0020B88: +/* 334A48 E0020B88 10E0000A */ beqz $a3, .LE0020BB4 +/* 334A4C E0020B8C 00000000 */ nop +/* 334A50 E0020B90 3C03800A */ lui $v1, 0x800a +/* 334A54 E0020B94 2463A66C */ addiu $v1, $v1, -0x5994 +/* 334A58 E0020B98 8C620000 */ lw $v0, ($v1) +/* 334A5C E0020B9C 0040202D */ daddu $a0, $v0, $zero +/* 334A60 E0020BA0 24420008 */ addiu $v0, $v0, 8 +/* 334A64 E0020BA4 AC620000 */ sw $v0, ($v1) +/* 334A68 E0020BA8 3C02DE00 */ lui $v0, 0xde00 +/* 334A6C E0020BAC AC820000 */ sw $v0, ($a0) +/* 334A70 E0020BB0 AC870004 */ sw $a3, 4($a0) +.LE0020BB4: +/* 334A74 E0020BB4 3C07800A */ lui $a3, 0x800a +/* 334A78 E0020BB8 24E7A66C */ addiu $a3, $a3, -0x5994 +/* 334A7C E0020BBC 00171080 */ sll $v0, $s7, 2 +/* 334A80 E0020BC0 30420FFF */ andi $v0, $v0, 0xfff +/* 334A84 E0020BC4 00021300 */ sll $v0, $v0, 0xc +/* 334A88 E0020BC8 001E1880 */ sll $v1, $fp, 2 +/* 334A8C E0020BCC 30630FFF */ andi $v1, $v1, 0xfff +/* 334A90 E0020BD0 3C04F200 */ lui $a0, 0xf200 +/* 334A94 E0020BD4 00641825 */ or $v1, $v1, $a0 +/* 334A98 E0020BD8 8CE60000 */ lw $a2, ($a3) +/* 334A9C E0020BDC 00431025 */ or $v0, $v0, $v1 +/* 334AA0 E0020BE0 00C0282D */ daddu $a1, $a2, $zero +/* 334AA4 E0020BE4 24C60008 */ addiu $a2, $a2, 8 +/* 334AA8 E0020BE8 ACE60000 */ sw $a2, ($a3) +/* 334AAC E0020BEC ACA20000 */ sw $v0, ($a1) +/* 334AB0 E0020BF0 8FA9009C */ lw $t1, 0x9c($sp) +/* 334AB4 E0020BF4 02E91821 */ addu $v1, $s7, $t1 +/* 334AB8 E0020BF8 00031880 */ sll $v1, $v1, 2 +/* 334ABC E0020BFC 30630FFF */ andi $v1, $v1, 0xfff +/* 334AC0 E0020C00 8FA900A0 */ lw $t1, 0xa0($sp) +/* 334AC4 E0020C04 00031B00 */ sll $v1, $v1, 0xc +/* 334AC8 E0020C08 03C91021 */ addu $v0, $fp, $t1 +/* 334ACC E0020C0C 00021080 */ sll $v0, $v0, 2 +/* 334AD0 E0020C10 30420FFF */ andi $v0, $v0, 0xfff +/* 334AD4 E0020C14 00621825 */ or $v1, $v1, $v0 +/* 334AD8 E0020C18 11000006 */ beqz $t0, .LE0020C34 +/* 334ADC E0020C1C ACA30004 */ sw $v1, 4($a1) +/* 334AE0 E0020C20 24C20008 */ addiu $v0, $a2, 8 +/* 334AE4 E0020C24 ACE20000 */ sw $v0, ($a3) +/* 334AE8 E0020C28 3C02DE00 */ lui $v0, 0xde00 +/* 334AEC E0020C2C ACC20000 */ sw $v0, ($a2) +/* 334AF0 E0020C30 ACC80004 */ sw $t0, 4($a2) +.LE0020C34: +/* 334AF4 E0020C34 3C04D838 */ lui $a0, 0xd838 +/* 334AF8 E0020C38 8CE20000 */ lw $v0, ($a3) +/* 334AFC E0020C3C 34840002 */ ori $a0, $a0, 2 +/* 334B00 E0020C40 0040182D */ daddu $v1, $v0, $zero +/* 334B04 E0020C44 24420008 */ addiu $v0, $v0, 8 +/* 334B08 E0020C48 ACE20000 */ sw $v0, ($a3) +/* 334B0C E0020C4C 24020040 */ addiu $v0, $zero, 0x40 +/* 334B10 E0020C50 AC640000 */ sw $a0, ($v1) +/* 334B14 E0020C54 AC620004 */ sw $v0, 4($v1) +.LE0020C58: +/* 334B18 E0020C58 8FBF00CC */ lw $ra, 0xcc($sp) +/* 334B1C E0020C5C 8FBE00C8 */ lw $fp, 0xc8($sp) +/* 334B20 E0020C60 8FB700C4 */ lw $s7, 0xc4($sp) +/* 334B24 E0020C64 8FB600C0 */ lw $s6, 0xc0($sp) +/* 334B28 E0020C68 8FB500BC */ lw $s5, 0xbc($sp) +/* 334B2C E0020C6C 8FB400B8 */ lw $s4, 0xb8($sp) +/* 334B30 E0020C70 8FB300B4 */ lw $s3, 0xb4($sp) +/* 334B34 E0020C74 8FB200B0 */ lw $s2, 0xb0($sp) +/* 334B38 E0020C78 8FB100AC */ lw $s1, 0xac($sp) +/* 334B3C E0020C7C 8FB000A8 */ lw $s0, 0xa8($sp) +/* 334B40 E0020C80 D7B600D8 */ ldc1 $f22, 0xd8($sp) +/* 334B44 E0020C84 D7B400D0 */ ldc1 $f20, 0xd0($sp) +/* 334B48 E0020C88 03E00008 */ jr $ra +/* 334B4C E0020C8C 27BD00E0 */ addiu $sp, $sp, 0xe0 diff --git a/asm/nonmatchings/code_337240/func_E0022000.s b/asm/nonmatchings/code_337240/func_E0022000.s new file mode 100644 index 0000000000..be925d8866 --- /dev/null +++ b/asm/nonmatchings/code_337240/func_E0022000.s @@ -0,0 +1,357 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0022000 +/* 337240 E0022000 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 337244 E0022004 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 337248 E0022008 4485A000 */ mtc1 $a1, $f20 +/* 33724C E002200C AFB5003C */ sw $s5, 0x3c($sp) +/* 337250 E0022010 0080A82D */ daddu $s5, $a0, $zero +/* 337254 E0022014 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 337258 E0022018 4486B000 */ mtc1 $a2, $f22 +/* 33725C E002201C F7B80060 */ sdc1 $f24, 0x60($sp) +/* 337260 E0022020 4487C000 */ mtc1 $a3, $f24 +/* 337264 E0022024 24020001 */ addiu $v0, $zero, 1 +/* 337268 E0022028 AFBF0048 */ sw $ra, 0x48($sp) +/* 33726C E002202C AFB70044 */ sw $s7, 0x44($sp) +/* 337270 E0022030 AFB60040 */ sw $s6, 0x40($sp) +/* 337274 E0022034 AFB40038 */ sw $s4, 0x38($sp) +/* 337278 E0022038 AFB30034 */ sw $s3, 0x34($sp) +/* 33727C E002203C AFB20030 */ sw $s2, 0x30($sp) +/* 337280 E0022040 AFB1002C */ sw $s1, 0x2c($sp) +/* 337284 E0022044 AFB00028 */ sw $s0, 0x28($sp) +/* 337288 E0022048 F7BE0078 */ sdc1 $f30, 0x78($sp) +/* 33728C E002204C F7BC0070 */ sdc1 $f28, 0x70($sp) +/* 337290 E0022050 F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 337294 E0022054 12A20011 */ beq $s5, $v0, .LE002209C +/* 337298 E0022058 27A40010 */ addiu $a0, $sp, 0x10 +/* 33729C E002205C 2AA20002 */ slti $v0, $s5, 2 +/* 3372A0 E0022060 10400005 */ beqz $v0, .LE0022078 +/* 3372A4 E0022064 24020002 */ addiu $v0, $zero, 2 +/* 3372A8 E0022068 12A00009 */ beqz $s5, .LE0022090 +/* 3372AC E002206C 24120008 */ addiu $s2, $zero, 8 +/* 3372B0 E0022070 0800882E */ j .LE00220B8 +/* 3372B4 E0022074 00000000 */ nop +.LE0022078: +/* 3372B8 E0022078 12A2000B */ beq $s5, $v0, .LE00220A8 +/* 3372BC E002207C 24020003 */ addiu $v0, $zero, 3 +/* 3372C0 E0022080 12A2000C */ beq $s5, $v0, .LE00220B4 +/* 3372C4 E0022084 24120008 */ addiu $s2, $zero, 8 +/* 3372C8 E0022088 0800882E */ j .LE00220B8 +/* 3372CC E002208C 00000000 */ nop +.LE0022090: +/* 3372D0 E0022090 C7BE0090 */ lwc1 $f30, 0x90($sp) +/* 3372D4 E0022094 08008830 */ j .LE00220C0 +/* 3372D8 E0022098 24120024 */ addiu $s2, $zero, 0x24 +.LE002209C: +/* 3372DC E002209C C7BE0090 */ lwc1 $f30, 0x90($sp) +/* 3372E0 E00220A0 08008830 */ j .LE00220C0 +/* 3372E4 E00220A4 24120004 */ addiu $s2, $zero, 4 +.LE00220A8: +/* 3372E8 E00220A8 C7BE0090 */ lwc1 $f30, 0x90($sp) +/* 3372EC E00220AC 08008830 */ j .LE00220C0 +/* 3372F0 E00220B0 24120008 */ addiu $s2, $zero, 8 +.LE00220B4: +/* 3372F4 E00220B4 24120004 */ addiu $s2, $zero, 4 +.LE00220B8: +/* 3372F8 E00220B8 3C014100 */ lui $at, 0x4100 +/* 3372FC E00220BC 4481F000 */ mtc1 $at, $f30 +.LE00220C0: +/* 337300 E00220C0 26520001 */ addiu $s2, $s2, 1 +/* 337304 E00220C4 3C02E002 */ lui $v0, 0xe002 +/* 337308 E00220C8 24422544 */ addiu $v0, $v0, 0x2544 +/* 33730C E00220CC AC820008 */ sw $v0, 8($a0) +/* 337310 E00220D0 3C02E002 */ lui $v0, 0xe002 +/* 337314 E00220D4 2442254C */ addiu $v0, $v0, 0x254c +/* 337318 E00220D8 AC82000C */ sw $v0, 0xc($a0) +/* 33731C E00220DC 3C02E002 */ lui $v0, 0xe002 +/* 337320 E00220E0 24422960 */ addiu $v0, $v0, 0x2960 +/* 337324 E00220E4 AC820010 */ sw $v0, 0x10($a0) +/* 337328 E00220E8 24020011 */ addiu $v0, $zero, 0x11 +/* 33732C E00220EC AC800000 */ sw $zero, ($a0) +/* 337330 E00220F0 AC800014 */ sw $zero, 0x14($a0) +/* 337334 E00220F4 0C080124 */ jal func_E0200490 +/* 337338 E00220F8 AC820004 */ sw $v0, 4($a0) +/* 33733C E00220FC 00122040 */ sll $a0, $s2, 1 +/* 337340 E0022100 00922021 */ addu $a0, $a0, $s2 +/* 337344 E0022104 00042100 */ sll $a0, $a0, 4 +/* 337348 E0022108 0040802D */ daddu $s0, $v0, $zero +/* 33734C E002210C 0C08012C */ jal func_E02004B0 +/* 337350 E0022110 AE120008 */ sw $s2, 8($s0) +/* 337354 E0022114 0040202D */ daddu $a0, $v0, $zero +/* 337358 E0022118 14800003 */ bnez $a0, .LE0022128 +/* 33735C E002211C AE04000C */ sw $a0, 0xc($s0) +.LE0022120: +/* 337360 E0022120 08008848 */ j .LE0022120 +/* 337364 E0022124 00000000 */ nop +.LE0022128: +/* 337368 E0022128 2402001E */ addiu $v0, $zero, 0x1e +/* 33736C E002212C E4940004 */ swc1 $f20, 4($a0) +/* 337370 E0022130 E4960008 */ swc1 $f22, 8($a0) +/* 337374 E0022134 E498000C */ swc1 $f24, 0xc($a0) +/* 337378 E0022138 AC800020 */ sw $zero, 0x20($a0) +/* 33737C E002213C AC950000 */ sw $s5, ($a0) +/* 337380 E0022140 AC820024 */ sw $v0, 0x24($a0) +/* 337384 E0022144 24110001 */ addiu $s1, $zero, 1 +/* 337388 E0022148 0232102A */ slt $v0, $s1, $s2 +/* 33738C E002214C 104000EC */ beqz $v0, .LE0022500 +/* 337390 E0022150 24840030 */ addiu $a0, $a0, 0x30 +/* 337394 E0022154 3C03E002 */ lui $v1, 0xe002 +/* 337398 E0022158 24632D30 */ addiu $v1, $v1, 0x2d30 +/* 33739C E002215C 3C01447A */ lui $at, 0x447a +/* 3373A0 E0022160 4481E000 */ mtc1 $at, $f28 +/* 3373A4 E0022164 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 3373A8 E0022168 00151080 */ sll $v0, $s5, 2 +/* 3373AC E002216C 461C3002 */ mul.s $f0, $f6, $f28 +/* 3373B0 E0022170 00000000 */ nop +/* 3373B4 E0022174 0043B821 */ addu $s7, $v0, $v1 +/* 3373B8 E0022178 2654FFFF */ addiu $s4, $s2, -1 +/* 3373BC E002217C 24900020 */ addiu $s0, $a0, 0x20 +/* 3373C0 E0022180 24130002 */ addiu $s3, $zero, 2 +/* 3373C4 E0022184 4600018D */ trunc.w.s $f6, $f0 +/* 3373C8 E0022188 44163000 */ mfc1 $s6, $f6 +.LE002218C: +/* 3373CC E002218C 0C080138 */ jal func_E02004E0 +/* 3373D0 E0022190 02C0202D */ daddu $a0, $s6, $zero +/* 3373D4 E0022194 461CF002 */ mul.s $f0, $f30, $f28 +/* 3373D8 E0022198 00000000 */ nop +/* 3373DC E002219C 4600018D */ trunc.w.s $f6, $f0 +/* 3373E0 E00221A0 44043000 */ mfc1 $a0, $f6 +/* 3373E4 E00221A4 44820000 */ mtc1 $v0, $f0 +/* 3373E8 E00221A8 00000000 */ nop +/* 3373EC E00221AC 46800020 */ cvt.s.w $f0, $f0 +/* 3373F0 E00221B0 0C080138 */ jal func_E02004E0 +/* 3373F4 E00221B4 461C0503 */ div.s $f20, $f0, $f28 +/* 3373F8 E00221B8 44820000 */ mtc1 $v0, $f0 +/* 3373FC E00221BC 00000000 */ nop +/* 337400 E00221C0 46800020 */ cvt.s.w $f0, $f0 +/* 337404 E00221C4 2EA20005 */ sltiu $v0, $s5, 5 +/* 337408 E00221C8 10400088 */ beqz $v0, .LE00223EC +/* 33740C E00221CC 461C0583 */ div.s $f22, $f0, $f28 +/* 337410 E00221D0 8EE20000 */ lw $v0, ($s7) +/* 337414 E00221D4 00400008 */ jr $v0 +/* 337418 E00221D8 00000000 */ nop +/* 33741C E00221DC 44942000 */ mtc1 $s4, $f4 +/* 337420 E00221E0 00000000 */ nop +/* 337424 E00221E4 46802120 */ cvt.s.w $f4, $f4 +/* 337428 E00221E8 3C0143B4 */ lui $at, 0x43b4 +/* 33742C E00221EC 44813000 */ mtc1 $at, $f6 +/* 337430 E00221F0 44911000 */ mtc1 $s1, $f2 +/* 337434 E00221F4 00000000 */ nop +/* 337438 E00221F8 468010A0 */ cvt.s.w $f2, $f2 +/* 33743C E00221FC 46043003 */ div.s $f0, $f6, $f4 +/* 337440 E0022200 46020682 */ mul.s $f26, $f0, $f2 +/* 337444 E0022204 00000000 */ nop +/* 337448 E0022208 3C0144E1 */ lui $at, 0x44e1 +/* 33744C E002220C 4481B000 */ mtc1 $at, $f22 +/* 337450 E0022210 00000000 */ nop +/* 337454 E0022214 4604B583 */ div.s $f22, $f22, $f4 +/* 337458 E0022218 4602B582 */ mul.s $f22, $f22, $f2 +/* 33745C E002221C 00000000 */ nop +/* 337460 E0022220 AE00FFF8 */ sw $zero, -8($s0) +/* 337464 E0022224 3C0142B4 */ lui $at, 0x42b4 +/* 337468 E0022228 44810000 */ mtc1 $at, $f0 +/* 33746C E002222C 4600D306 */ mov.s $f12, $f26 +/* 337470 E0022230 0C080140 */ jal func_E0200500 +/* 337474 E0022234 4600B581 */ sub.s $f22, $f22, $f0 +/* 337478 E0022238 46000506 */ mov.s $f20, $f0 +/* 33747C E002223C 0C080140 */ jal func_E0200500 +/* 337480 E0022240 4600B306 */ mov.s $f12, $f22 +/* 337484 E0022244 3C014170 */ lui $at, 0x4170 +/* 337488 E0022248 44813000 */ mtc1 $at, $f6 +/* 33748C E002224C 00000000 */ nop +/* 337490 E0022250 46060002 */ mul.s $f0, $f0, $f6 +/* 337494 E0022254 00000000 */ nop +/* 337498 E0022258 32230001 */ andi $v1, $s1, 1 +/* 33749C E002225C 3C0142AA */ lui $at, 0x42aa +/* 3374A0 E0022260 44813000 */ mtc1 $at, $f6 +/* 3374A4 E0022264 00031080 */ sll $v0, $v1, 2 +/* 3374A8 E0022268 46003001 */ sub.s $f0, $f6, $f0 +/* 3374AC E002226C 00431021 */ addu $v0, $v0, $v1 +/* 3374B0 E0022270 4482C000 */ mtc1 $v0, $f24 +/* 3374B4 E0022274 00000000 */ nop +/* 3374B8 E0022278 4680C620 */ cvt.s.w $f24, $f24 +/* 3374BC E002227C 46180001 */ sub.s $f0, $f0, $f24 +/* 3374C0 E0022280 4600A502 */ mul.s $f20, $f20, $f0 +/* 3374C4 E0022284 00000000 */ nop +/* 3374C8 E0022288 3C0142C8 */ lui $at, 0x42c8 +/* 3374CC E002228C 44813000 */ mtc1 $at, $f6 +/* 3374D0 E0022290 00000000 */ nop +/* 3374D4 E0022294 4606A503 */ div.s $f20, $f20, $f6 +/* 3374D8 E0022298 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 3374DC E002229C 4606A502 */ mul.s $f20, $f20, $f6 +/* 3374E0 E00222A0 00000000 */ nop +/* 3374E4 E00222A4 4600D306 */ mov.s $f12, $f26 +/* 3374E8 E00222A8 0C080144 */ jal func_E0200510 +/* 3374EC E00222AC E614FFF0 */ swc1 $f20, -0x10($s0) +/* 3374F0 E00222B0 4600B306 */ mov.s $f12, $f22 +/* 3374F4 E00222B4 0C080140 */ jal func_E0200500 +/* 3374F8 E00222B8 46000506 */ mov.s $f20, $f0 +/* 3374FC E00222BC 3C014170 */ lui $at, 0x4170 +/* 337500 E00222C0 44813000 */ mtc1 $at, $f6 +/* 337504 E00222C4 00000000 */ nop +/* 337508 E00222C8 46060002 */ mul.s $f0, $f0, $f6 +/* 33750C E00222CC 00000000 */ nop +/* 337510 E00222D0 3C0142AA */ lui $at, 0x42aa +/* 337514 E00222D4 44813000 */ mtc1 $at, $f6 +/* 337518 E00222D8 00000000 */ nop +/* 33751C E00222DC 46003001 */ sub.s $f0, $f6, $f0 +/* 337520 E00222E0 46180001 */ sub.s $f0, $f0, $f24 +/* 337524 E00222E4 4600A502 */ mul.s $f20, $f20, $f0 +/* 337528 E00222E8 00000000 */ nop +/* 33752C E00222EC 3C0142C8 */ lui $at, 0x42c8 +/* 337530 E00222F0 44813000 */ mtc1 $at, $f6 +/* 337534 E00222F4 00000000 */ nop +/* 337538 E00222F8 4606A503 */ div.s $f20, $f20, $f6 +/* 33753C E00222FC C7A60090 */ lwc1 $f6, 0x90($sp) +/* 337540 E0022300 4606A502 */ mul.s $f20, $f20, $f6 +/* 337544 E0022304 00000000 */ nop +/* 337548 E0022308 AE00FFEC */ sw $zero, -0x14($s0) +/* 33754C E002230C AE000008 */ sw $zero, 8($s0) +/* 337550 E0022310 0800893B */ j .LE00224EC +/* 337554 E0022314 E614FFF4 */ swc1 $f20, -0xc($s0) +/* 337558 E0022318 0C080138 */ jal func_E02004E0 +/* 33755C E002231C 24040167 */ addiu $a0, $zero, 0x167 +/* 337560 E0022320 44941000 */ mtc1 $s4, $f2 +/* 337564 E0022324 00000000 */ nop +/* 337568 E0022328 468010A0 */ cvt.s.w $f2, $f2 +/* 33756C E002232C 3C0143B4 */ lui $at, 0x43b4 +/* 337570 E0022330 44813000 */ mtc1 $at, $f6 +/* 337574 E0022334 44910000 */ mtc1 $s1, $f0 +/* 337578 E0022338 00000000 */ nop +/* 33757C E002233C 46800020 */ cvt.s.w $f0, $f0 +/* 337580 E0022340 46023083 */ div.s $f2, $f6, $f2 +/* 337584 E0022344 46001082 */ mul.s $f2, $f2, $f0 +/* 337588 E0022348 00000000 */ nop +/* 33758C E002234C 44820000 */ mtc1 $v0, $f0 +/* 337590 E0022350 00000000 */ nop +/* 337594 E0022354 46800020 */ cvt.s.w $f0, $f0 +/* 337598 E0022358 32220001 */ andi $v0, $s1, 1 +/* 33759C E002235C 10400014 */ beqz $v0, .LE00223B0 +/* 3375A0 E0022360 46001680 */ add.s $f26, $f2, $f0 +/* 3375A4 E0022364 0C080138 */ jal func_E02004E0 +/* 3375A8 E0022368 24040032 */ addiu $a0, $zero, 0x32 +/* 3375AC E002236C 3C031062 */ lui $v1, 0x1062 +/* 3375B0 E0022370 34634DD3 */ ori $v1, $v1, 0x4dd3 +/* 3375B4 E0022374 00430018 */ mult $v0, $v1 +/* 3375B8 E0022378 000217C3 */ sra $v0, $v0, 0x1f +/* 3375BC E002237C 3C01E002 */ lui $at, 0xe002 +/* 3375C0 E0022380 D4222D48 */ ldc1 $f2, 0x2d48($at) +/* 3375C4 E0022384 00004010 */ mfhi $t0 +/* 3375C8 E0022388 00081983 */ sra $v1, $t0, 6 +/* 3375CC E002238C 00621823 */ subu $v1, $v1, $v0 +/* 3375D0 E0022390 44830000 */ mtc1 $v1, $f0 +/* 3375D4 E0022394 00000000 */ nop +/* 3375D8 E0022398 46800021 */ cvt.d.w $f0, $f0 +/* 3375DC E002239C 46220000 */ add.d $f0, $f0, $f2 +/* 3375E0 E00223A0 46200007 */ neg.d $f0, $f0 +/* 3375E4 E00223A4 46200020 */ cvt.s.d $f0, $f0 +/* 3375E8 E00223A8 080088ED */ j .LE00223B4 +/* 3375EC E00223AC E600FFF8 */ swc1 $f0, -8($s0) +.LE00223B0: +/* 3375F0 E00223B0 AE00FFF8 */ sw $zero, -8($s0) +.LE00223B4: +/* 3375F4 E00223B4 4600D306 */ mov.s $f12, $f26 +/* 3375F8 E00223B8 AE00FFF0 */ sw $zero, -0x10($s0) +/* 3375FC E00223BC 0C080140 */ jal func_E0200500 +/* 337600 E00223C0 AE00FFF4 */ sw $zero, -0xc($s0) +/* 337604 E00223C4 4600A002 */ mul.s $f0, $f20, $f0 +/* 337608 E00223C8 00000000 */ nop +/* 33760C E00223CC 4600D306 */ mov.s $f12, $f26 +/* 337610 E00223D0 0C080144 */ jal func_E0200510 +/* 337614 E00223D4 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 337618 E00223D8 3C035555 */ lui $v1, 0x5555 +/* 33761C E00223DC 34635556 */ ori $v1, $v1, 0x5556 +/* 337620 E00223E0 02230018 */ mult $s1, $v1 +/* 337624 E00223E4 0800892B */ j .LE00224AC +/* 337628 E00223E8 2662001E */ addiu $v0, $s3, 0x1e +.LE00223EC: +/* 33762C E00223EC 0C080138 */ jal func_E02004E0 +/* 337630 E00223F0 24040167 */ addiu $a0, $zero, 0x167 +/* 337634 E00223F4 44941000 */ mtc1 $s4, $f2 +/* 337638 E00223F8 00000000 */ nop +/* 33763C E00223FC 468010A0 */ cvt.s.w $f2, $f2 +/* 337640 E0022400 3C0143B4 */ lui $at, 0x43b4 +/* 337644 E0022404 44813000 */ mtc1 $at, $f6 +/* 337648 E0022408 44910000 */ mtc1 $s1, $f0 +/* 33764C E002240C 00000000 */ nop +/* 337650 E0022410 46800020 */ cvt.s.w $f0, $f0 +/* 337654 E0022414 46023083 */ div.s $f2, $f6, $f2 +/* 337658 E0022418 46001082 */ mul.s $f2, $f2, $f0 +/* 33765C E002241C 00000000 */ nop +/* 337660 E0022420 24040032 */ addiu $a0, $zero, 0x32 +/* 337664 E0022424 44820000 */ mtc1 $v0, $f0 +/* 337668 E0022428 00000000 */ nop +/* 33766C E002242C 46800020 */ cvt.s.w $f0, $f0 +/* 337670 E0022430 0C080138 */ jal func_E02004E0 +/* 337674 E0022434 46001680 */ add.s $f26, $f2, $f0 +/* 337678 E0022438 3C031062 */ lui $v1, 0x1062 +/* 33767C E002243C 34634DD3 */ ori $v1, $v1, 0x4dd3 +/* 337680 E0022440 00430018 */ mult $v0, $v1 +/* 337684 E0022444 3C01E002 */ lui $at, 0xe002 +/* 337688 E0022448 D4222D50 */ ldc1 $f2, 0x2d50($at) +/* 33768C E002244C 000217C3 */ sra $v0, $v0, 0x1f +/* 337690 E0022450 AE00FFF0 */ sw $zero, -0x10($s0) +/* 337694 E0022454 00004010 */ mfhi $t0 +/* 337698 E0022458 00081983 */ sra $v1, $t0, 6 +/* 33769C E002245C 00621823 */ subu $v1, $v1, $v0 +/* 3376A0 E0022460 44830000 */ mtc1 $v1, $f0 +/* 3376A4 E0022464 00000000 */ nop +/* 3376A8 E0022468 46800021 */ cvt.d.w $f0, $f0 +/* 3376AC E002246C 46220000 */ add.d $f0, $f0, $f2 +/* 3376B0 E0022470 AE00FFF4 */ sw $zero, -0xc($s0) +/* 3376B4 E0022474 4600D306 */ mov.s $f12, $f26 +/* 3376B8 E0022478 46200007 */ neg.d $f0, $f0 +/* 3376BC E002247C 46200020 */ cvt.s.d $f0, $f0 +/* 3376C0 E0022480 0C080140 */ jal func_E0200500 +/* 3376C4 E0022484 E600FFF8 */ swc1 $f0, -8($s0) +/* 3376C8 E0022488 4600A002 */ mul.s $f0, $f20, $f0 +/* 3376CC E002248C 00000000 */ nop +/* 3376D0 E0022490 4600D306 */ mov.s $f12, $f26 +/* 3376D4 E0022494 0C080144 */ jal func_E0200510 +/* 3376D8 E0022498 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 3376DC E002249C 3C035555 */ lui $v1, 0x5555 +/* 3376E0 E00224A0 34635556 */ ori $v1, $v1, 0x5556 +/* 3376E4 E00224A4 02230018 */ mult $s1, $v1 +/* 3376E8 E00224A8 26620012 */ addiu $v0, $s3, 0x12 +.LE00224AC: +/* 3376EC E00224AC 00111FC3 */ sra $v1, $s1, 0x1f +/* 3376F0 E00224B0 3C013F80 */ lui $at, 0x3f80 +/* 3376F4 E00224B4 44811000 */ mtc1 $at, $f2 +/* 3376F8 E00224B8 4600B002 */ mul.s $f0, $f22, $f0 +/* 3376FC E00224BC 00000000 */ nop +/* 337700 E00224C0 AE00FFEC */ sw $zero, -0x14($s0) +/* 337704 E00224C4 AE020004 */ sw $v0, 4($s0) +/* 337708 E00224C8 AE000000 */ sw $zero, ($s0) +/* 33770C E00224CC E602FFFC */ swc1 $f2, -4($s0) +/* 337710 E00224D0 00004010 */ mfhi $t0 +/* 337714 E00224D4 01031823 */ subu $v1, $t0, $v1 +/* 337718 E00224D8 00031040 */ sll $v0, $v1, 1 +/* 33771C E00224DC 00431021 */ addu $v0, $v0, $v1 +/* 337720 E00224E0 02221023 */ subu $v0, $s1, $v0 +/* 337724 E00224E4 E600FFE8 */ swc1 $f0, -0x18($s0) +/* 337728 E00224E8 AE020008 */ sw $v0, 8($s0) +.LE00224EC: +/* 33772C E00224EC 26730002 */ addiu $s3, $s3, 2 +/* 337730 E00224F0 26310001 */ addiu $s1, $s1, 1 +/* 337734 E00224F4 0232102A */ slt $v0, $s1, $s2 +/* 337738 E00224F8 1440FF24 */ bnez $v0, .LE002218C +/* 33773C E00224FC 26100030 */ addiu $s0, $s0, 0x30 +.LE0022500: +/* 337740 E0022500 8FBF0048 */ lw $ra, 0x48($sp) +/* 337744 E0022504 8FB70044 */ lw $s7, 0x44($sp) +/* 337748 E0022508 8FB60040 */ lw $s6, 0x40($sp) +/* 33774C E002250C 8FB5003C */ lw $s5, 0x3c($sp) +/* 337750 E0022510 8FB40038 */ lw $s4, 0x38($sp) +/* 337754 E0022514 8FB30034 */ lw $s3, 0x34($sp) +/* 337758 E0022518 8FB20030 */ lw $s2, 0x30($sp) +/* 33775C E002251C 8FB1002C */ lw $s1, 0x2c($sp) +/* 337760 E0022520 8FB00028 */ lw $s0, 0x28($sp) +/* 337764 E0022524 D7BE0078 */ ldc1 $f30, 0x78($sp) +/* 337768 E0022528 D7BC0070 */ ldc1 $f28, 0x70($sp) +/* 33776C E002252C D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 337770 E0022530 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 337774 E0022534 D7B60058 */ ldc1 $f22, 0x58($sp) +/* 337778 E0022538 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 33777C E002253C 03E00008 */ jr $ra +/* 337780 E0022540 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_337240/func_E0022544.s b/asm/nonmatchings/code_337240/func_E0022544.s new file mode 100644 index 0000000000..d962edb69e --- /dev/null +++ b/asm/nonmatchings/code_337240/func_E0022544.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0022544 +/* 337784 E0022544 03E00008 */ jr $ra +/* 337788 E0022548 00000000 */ nop diff --git a/asm/nonmatchings/code_337240/func_E002254C.s b/asm/nonmatchings/code_337240/func_E002254C.s new file mode 100644 index 0000000000..034b0fedc9 --- /dev/null +++ b/asm/nonmatchings/code_337240/func_E002254C.s @@ -0,0 +1,280 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002254C +/* 33778C E002254C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 337790 E0022550 AFB50024 */ sw $s5, 0x24($sp) +/* 337794 E0022554 0080A82D */ daddu $s5, $a0, $zero +/* 337798 E0022558 AFBF0034 */ sw $ra, 0x34($sp) +/* 33779C E002255C AFBE0030 */ sw $fp, 0x30($sp) +/* 3377A0 E0022560 AFB7002C */ sw $s7, 0x2c($sp) +/* 3377A4 E0022564 AFB60028 */ sw $s6, 0x28($sp) +/* 3377A8 E0022568 AFB40020 */ sw $s4, 0x20($sp) +/* 3377AC E002256C AFB3001C */ sw $s3, 0x1c($sp) +/* 3377B0 E0022570 AFB20018 */ sw $s2, 0x18($sp) +/* 3377B4 E0022574 AFB10014 */ sw $s1, 0x14($sp) +/* 3377B8 E0022578 AFB00010 */ sw $s0, 0x10($sp) +/* 3377BC E002257C F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 3377C0 E0022580 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 3377C4 E0022584 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3377C8 E0022588 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3377CC E002258C F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3377D0 E0022590 8EA4000C */ lw $a0, 0xc($s5) +/* 3377D4 E0022594 0000A02D */ daddu $s4, $zero, $zero +/* 3377D8 E0022598 0080F02D */ daddu $fp, $a0, $zero +/* 3377DC E002259C 8C830020 */ lw $v1, 0x20($a0) +/* 3377E0 E00225A0 8C820024 */ lw $v0, 0x24($a0) +/* 3377E4 E00225A4 8C930000 */ lw $s3, ($a0) +/* 3377E8 E00225A8 24630001 */ addiu $v1, $v1, 1 +/* 3377EC E00225AC 0060902D */ daddu $s2, $v1, $zero +/* 3377F0 E00225B0 2442FFFF */ addiu $v0, $v0, -1 +/* 3377F4 E00225B4 AC820024 */ sw $v0, 0x24($a0) +/* 3377F8 E00225B8 12600004 */ beqz $s3, .LE00225CC +/* 3377FC E00225BC AC920020 */ sw $s2, 0x20($a0) +/* 337800 E00225C0 2402000A */ addiu $v0, $zero, 0xa +/* 337804 E00225C4 56620004 */ bnel $s3, $v0, .LE00225D8 +/* 337808 E00225C8 24840030 */ addiu $a0, $a0, 0x30 +.LE00225CC: +/* 33780C E00225CC 8C820024 */ lw $v0, 0x24($a0) +/* 337810 E00225D0 044000D0 */ bltz $v0, .LE0022914 +/* 337814 E00225D4 24840030 */ addiu $a0, $a0, 0x30 +.LE00225D8: +/* 337818 E00225D8 8EA20008 */ lw $v0, 8($s5) +/* 33781C E00225DC 2442FFFF */ addiu $v0, $v0, -1 +/* 337820 E00225E0 184000C3 */ blez $v0, .LE00228F0 +/* 337824 E00225E4 0000882D */ daddu $s1, $zero, $zero +/* 337828 E00225E8 2417000A */ addiu $s7, $zero, 0xa +/* 33782C E00225EC 3C16E002 */ lui $s6, 0xe002 +/* 337830 E00225F0 26D62D1C */ addiu $s6, $s6, 0x2d1c +/* 337834 E00225F4 2490001C */ addiu $s0, $a0, 0x1c +/* 337838 E00225F8 3C01E002 */ lui $at, 0xe002 +/* 33783C E00225FC D43A2D58 */ ldc1 $f26, 0x2d58($at) +/* 337840 E0022600 3C01E002 */ lui $at, 0xe002 +/* 337844 E0022604 D43C2D60 */ ldc1 $f28, 0x2d60($at) +/* 337848 E0022608 3C01E002 */ lui $at, 0xe002 +/* 33784C E002260C D4382D68 */ ldc1 $f24, 0x2d68($at) +.LE0022610: +/* 337850 E0022610 02511021 */ addu $v0, $s2, $s1 +/* 337854 E0022614 30420007 */ andi $v0, $v0, 7 +/* 337858 E0022618 12600005 */ beqz $s3, .LE0022630 +/* 33785C E002261C AE020010 */ sw $v0, 0x10($s0) +/* 337860 E0022620 12770057 */ beq $s3, $s7, .LE0022780 +/* 337864 E0022624 00000000 */ nop +/* 337868 E0022628 08008A00 */ j .LE0022800 +/* 33786C E002262C 00000000 */ nop +.LE0022630: +/* 337870 E0022630 C600FFFC */ lwc1 $f0, -4($s0) +/* 337874 E0022634 3C01E002 */ lui $at, 0xe002 +/* 337878 E0022638 D4222D70 */ ldc1 $f2, 0x2d70($at) +/* 33787C E002263C 46000021 */ cvt.d.s $f0, $f0 +/* 337880 E0022640 46220000 */ add.d $f0, $f0, $f2 +/* 337884 E0022644 2644FFFF */ addiu $a0, $s2, -1 +/* 337888 E0022648 28820007 */ slti $v0, $a0, 7 +/* 33788C E002264C 46200020 */ cvt.s.d $f0, $f0 +/* 337890 E0022650 10400029 */ beqz $v0, .LE00226F8 +/* 337894 E0022654 E600FFFC */ swc1 $f0, -4($s0) +/* 337898 E0022658 3C03E002 */ lui $v1, 0xe002 +/* 33789C E002265C 24632D14 */ addiu $v1, $v1, 0x2d14 +/* 3378A0 E0022660 00831821 */ addu $v1, $a0, $v1 +/* 3378A4 E0022664 90620000 */ lbu $v0, ($v1) +/* 3378A8 E0022668 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 3378AC E002266C 44821000 */ mtc1 $v0, $f2 +/* 3378B0 E0022670 00000000 */ nop +/* 3378B4 E0022674 468010A0 */ cvt.s.w $f2, $f2 +/* 3378B8 E0022678 46020002 */ mul.s $f0, $f0, $f2 +/* 3378BC E002267C 00000000 */ nop +/* 3378C0 E0022680 46000021 */ cvt.d.s $f0, $f0 +/* 3378C4 E0022684 463A0002 */ mul.d $f0, $f0, $f26 +/* 3378C8 E0022688 00000000 */ nop +/* 3378CC E002268C 46200020 */ cvt.s.d $f0, $f0 +/* 3378D0 E0022690 E600FFE8 */ swc1 $f0, -0x18($s0) +/* 3378D4 E0022694 90620000 */ lbu $v0, ($v1) +/* 3378D8 E0022698 C602FFF8 */ lwc1 $f2, -8($s0) +/* 3378DC E002269C 44820000 */ mtc1 $v0, $f0 +/* 3378E0 E00226A0 00000000 */ nop +/* 3378E4 E00226A4 46800020 */ cvt.s.w $f0, $f0 +/* 3378E8 E00226A8 46001082 */ mul.s $f2, $f2, $f0 +/* 3378EC E00226AC 00000000 */ nop +/* 3378F0 E00226B0 460010A1 */ cvt.d.s $f2, $f2 +/* 3378F4 E00226B4 463A1082 */ mul.d $f2, $f2, $f26 +/* 3378F8 E00226B8 00000000 */ nop +/* 3378FC E00226BC C600FFFC */ lwc1 $f0, -4($s0) +/* 337900 E00226C0 46000021 */ cvt.d.s $f0, $f0 +/* 337904 E00226C4 46201080 */ add.d $f2, $f2, $f0 +/* 337908 E00226C8 00961021 */ addu $v0, $a0, $s6 +/* 33790C E00226CC 462010A0 */ cvt.s.d $f2, $f2 +/* 337910 E00226D0 E602FFEC */ swc1 $f2, -0x14($s0) +/* 337914 E00226D4 90420000 */ lbu $v0, ($v0) +/* 337918 E00226D8 44820000 */ mtc1 $v0, $f0 +/* 33791C E00226DC 00000000 */ nop +/* 337920 E00226E0 46800020 */ cvt.s.w $f0, $f0 +/* 337924 E00226E4 46000021 */ cvt.d.s $f0, $f0 +/* 337928 E00226E8 463A0002 */ mul.d $f0, $f0, $f26 +/* 33792C E00226EC 00000000 */ nop +/* 337930 E00226F0 08008A35 */ j .LE00228D4 +/* 337934 E00226F4 46200020 */ cvt.s.d $f0, $f0 +.LE00226F8: +/* 337938 E00226F8 24040168 */ addiu $a0, $zero, 0x168 +/* 33793C E00226FC 0C080011 */ jal func_E0200044 +/* 337940 E0022700 262500B1 */ addiu $a1, $s1, 0xb1 +/* 337944 E0022704 32230003 */ andi $v1, $s1, 3 +/* 337948 E0022708 3C013F00 */ lui $at, 0x3f00 +/* 33794C E002270C 44810000 */ mtc1 $at, $f0 +/* 337950 E0022710 4483A000 */ mtc1 $v1, $f20 +/* 337954 E0022714 00000000 */ nop +/* 337958 E0022718 4680A520 */ cvt.s.w $f20, $f20 +/* 33795C E002271C 4600A502 */ mul.s $f20, $f20, $f0 +/* 337960 E0022720 00000000 */ nop +/* 337964 E0022724 4482B000 */ mtc1 $v0, $f22 +/* 337968 E0022728 00000000 */ nop +/* 33796C E002272C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 337970 E0022730 3C013F80 */ lui $at, 0x3f80 +/* 337974 E0022734 44810000 */ mtc1 $at, $f0 +/* 337978 E0022738 4600B306 */ mov.s $f12, $f22 +/* 33797C E002273C 4600A500 */ add.s $f20, $f20, $f0 +/* 337980 E0022740 0C080140 */ jal func_E0200500 +/* 337984 E0022744 AFD70000 */ sw $s7, ($fp) +/* 337988 E0022748 4600A002 */ mul.s $f0, $f20, $f0 +/* 33798C E002274C 00000000 */ nop +/* 337990 E0022750 4600B306 */ mov.s $f12, $f22 +/* 337994 E0022754 0C080144 */ jal func_E0200510 +/* 337998 E0022758 E600FFF4 */ swc1 $f0, -0xc($s0) +/* 33799C E002275C 4600A502 */ mul.s $f20, $f20, $f0 +/* 3379A0 E0022760 00000000 */ nop +/* 3379A4 E0022764 3C01BD4C */ lui $at, 0xbd4c +/* 3379A8 E0022768 3421CCCD */ ori $at, $at, 0xcccd +/* 3379AC E002276C 44810000 */ mtc1 $at, $f0 +/* 3379B0 E0022770 00000000 */ nop +/* 3379B4 E0022774 E600FFFC */ swc1 $f0, -4($s0) +/* 3379B8 E0022778 08008A36 */ j .LE00228D8 +/* 3379BC E002277C E614FFF8 */ swc1 $f20, -8($s0) +.LE0022780: +/* 3379C0 E0022780 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 3379C4 E0022784 46000021 */ cvt.d.s $f0, $f0 +/* 3379C8 E0022788 463C0002 */ mul.d $f0, $f0, $f28 +/* 3379CC E002278C 00000000 */ nop +/* 3379D0 E0022790 C602FFF8 */ lwc1 $f2, -8($s0) +/* 3379D4 E0022794 460010A1 */ cvt.d.s $f2, $f2 +/* 3379D8 E0022798 463C1082 */ mul.d $f2, $f2, $f28 +/* 3379DC E002279C 00000000 */ nop +/* 3379E0 E00227A0 C6040000 */ lwc1 $f4, ($s0) +/* 3379E4 E00227A4 46002121 */ cvt.d.s $f4, $f4 +/* 3379E8 E00227A8 4624C181 */ sub.d $f6, $f24, $f4 +/* 3379EC E00227AC 46383182 */ mul.d $f6, $f6, $f24 +/* 3379F0 E00227B0 00000000 */ nop +/* 3379F4 E00227B4 C608FFE8 */ lwc1 $f8, -0x18($s0) +/* 3379F8 E00227B8 46200020 */ cvt.s.d $f0, $f0 +/* 3379FC E00227BC E600FFF4 */ swc1 $f0, -0xc($s0) +/* 337A00 E00227C0 C600FFFC */ lwc1 $f0, -4($s0) +/* 337A04 E00227C4 462010A0 */ cvt.s.d $f2, $f2 +/* 337A08 E00227C8 46001000 */ add.s $f0, $f2, $f0 +/* 337A0C E00227CC C60AFFF4 */ lwc1 $f10, -0xc($s0) +/* 337A10 E00227D0 460A4200 */ add.s $f8, $f8, $f10 +/* 337A14 E00227D4 E602FFF8 */ swc1 $f2, -8($s0) +/* 337A18 E00227D8 46262100 */ add.d $f4, $f4, $f6 +/* 337A1C E00227DC E600FFF8 */ swc1 $f0, -8($s0) +/* 337A20 E00227E0 C600FFEC */ lwc1 $f0, -0x14($s0) +/* 337A24 E00227E4 C602FFF8 */ lwc1 $f2, -8($s0) +/* 337A28 E00227E8 E608FFE8 */ swc1 $f8, -0x18($s0) +/* 337A2C E00227EC 46020000 */ add.s $f0, $f0, $f2 +/* 337A30 E00227F0 46202120 */ cvt.s.d $f4, $f4 +/* 337A34 E00227F4 E6040000 */ swc1 $f4, ($s0) +/* 337A38 E00227F8 08008A36 */ j .LE00228D8 +/* 337A3C E00227FC E600FFEC */ swc1 $f0, -0x14($s0) +.LE0022800: +/* 337A40 E0022800 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 337A44 E0022804 3C01E002 */ lui $at, 0xe002 +/* 337A48 E0022808 D4222D78 */ ldc1 $f2, 0x2d78($at) +/* 337A4C E002280C 46000021 */ cvt.d.s $f0, $f0 +/* 337A50 E0022810 46220002 */ mul.d $f0, $f0, $f2 +/* 337A54 E0022814 00000000 */ nop +/* 337A58 E0022818 C604FFF8 */ lwc1 $f4, -8($s0) +/* 337A5C E002281C C602FFFC */ lwc1 $f2, -4($s0) +/* 337A60 E0022820 46022100 */ add.s $f4, $f4, $f2 +/* 337A64 E0022824 8E020008 */ lw $v0, 8($s0) +/* 337A68 E0022828 E604FFF8 */ swc1 $f4, -8($s0) +/* 337A6C E002282C 46200020 */ cvt.s.d $f0, $f0 +/* 337A70 E0022830 E600FFF4 */ swc1 $f0, -0xc($s0) +/* 337A74 E0022834 04410002 */ bgez $v0, .LE0022840 +/* 337A78 E0022838 46000086 */ mov.s $f2, $f0 +/* 337A7C E002283C 26940001 */ addiu $s4, $s4, 1 +.LE0022840: +/* 337A80 E0022840 C600FFE8 */ lwc1 $f0, -0x18($s0) +/* 337A84 E0022844 8E020008 */ lw $v0, 8($s0) +/* 337A88 E0022848 46020000 */ add.s $f0, $f0, $f2 +/* 337A8C E002284C C602FFEC */ lwc1 $f2, -0x14($s0) +/* 337A90 E0022850 2442FFFF */ addiu $v0, $v0, -1 +/* 337A94 E0022854 AE020008 */ sw $v0, 8($s0) +/* 337A98 E0022858 46041080 */ add.s $f2, $f2, $f4 +/* 337A9C E002285C 2C420015 */ sltiu $v0, $v0, 0x15 +/* 337AA0 E0022860 E600FFE8 */ swc1 $f0, -0x18($s0) +/* 337AA4 E0022864 14400004 */ bnez $v0, .LE0022878 +/* 337AA8 E0022868 E602FFEC */ swc1 $f2, -0x14($s0) +/* 337AAC E002286C 2402FFFF */ addiu $v0, $zero, -1 +/* 337AB0 E0022870 08008A36 */ j .LE00228D8 +/* 337AB4 E0022874 AE020010 */ sw $v0, 0x10($s0) +.LE0022878: +/* 337AB8 E0022878 8E030004 */ lw $v1, 4($s0) +/* 337ABC E002287C 24620001 */ addiu $v0, $v1, 1 +/* 337AC0 E0022880 0040902D */ daddu $s2, $v0, $zero +/* 337AC4 E0022884 28620007 */ slti $v0, $v1, 7 +/* 337AC8 E0022888 1040000B */ beqz $v0, .LE00228B8 +/* 337ACC E002288C AE120004 */ sw $s2, 4($s0) +/* 337AD0 E0022890 00761021 */ addu $v0, $v1, $s6 +/* 337AD4 E0022894 90420000 */ lbu $v0, ($v0) +/* 337AD8 E0022898 44820000 */ mtc1 $v0, $f0 +/* 337ADC E002289C 00000000 */ nop +/* 337AE0 E00228A0 46800020 */ cvt.s.w $f0, $f0 +/* 337AE4 E00228A4 46000021 */ cvt.d.s $f0, $f0 +/* 337AE8 E00228A8 463A0002 */ mul.d $f0, $f0, $f26 +/* 337AEC E00228AC 00000000 */ nop +/* 337AF0 E00228B0 08008A35 */ j .LE00228D4 +/* 337AF4 E00228B4 46200020 */ cvt.s.d $f0, $f0 +.LE00228B8: +/* 337AF8 E00228B8 C6000000 */ lwc1 $f0, ($s0) +/* 337AFC E00228BC 46000021 */ cvt.d.s $f0, $f0 +/* 337B00 E00228C0 4620C081 */ sub.d $f2, $f24, $f0 +/* 337B04 E00228C4 46381082 */ mul.d $f2, $f2, $f24 +/* 337B08 E00228C8 00000000 */ nop +/* 337B0C E00228CC 46220000 */ add.d $f0, $f0, $f2 +/* 337B10 E00228D0 46200020 */ cvt.s.d $f0, $f0 +.LE00228D4: +/* 337B14 E00228D4 E6000000 */ swc1 $f0, ($s0) +.LE00228D8: +/* 337B18 E00228D8 26310001 */ addiu $s1, $s1, 1 +/* 337B1C E00228DC 8EA20008 */ lw $v0, 8($s5) +/* 337B20 E00228E0 2442FFFF */ addiu $v0, $v0, -1 +/* 337B24 E00228E4 0222102A */ slt $v0, $s1, $v0 +/* 337B28 E00228E8 1440FF49 */ bnez $v0, .LE0022610 +/* 337B2C E00228EC 26100030 */ addiu $s0, $s0, 0x30 +.LE00228F0: +/* 337B30 E00228F0 1260000A */ beqz $s3, .LE002291C +/* 337B34 E00228F4 2402000A */ addiu $v0, $zero, 0xa +/* 337B38 E00228F8 12620008 */ beq $s3, $v0, .LE002291C +/* 337B3C E00228FC 00000000 */ nop +/* 337B40 E0022900 8EA20008 */ lw $v0, 8($s5) +/* 337B44 E0022904 2442FFFF */ addiu $v0, $v0, -1 +/* 337B48 E0022908 0282102A */ slt $v0, $s4, $v0 +/* 337B4C E002290C 14400003 */ bnez $v0, .LE002291C +/* 337B50 E0022910 00000000 */ nop +.LE0022914: +/* 337B54 E0022914 0C080128 */ jal func_E02004A0 +/* 337B58 E0022918 02A0202D */ daddu $a0, $s5, $zero +.LE002291C: +/* 337B5C E002291C 8FBF0034 */ lw $ra, 0x34($sp) +/* 337B60 E0022920 8FBE0030 */ lw $fp, 0x30($sp) +/* 337B64 E0022924 8FB7002C */ lw $s7, 0x2c($sp) +/* 337B68 E0022928 8FB60028 */ lw $s6, 0x28($sp) +/* 337B6C E002292C 8FB50024 */ lw $s5, 0x24($sp) +/* 337B70 E0022930 8FB40020 */ lw $s4, 0x20($sp) +/* 337B74 E0022934 8FB3001C */ lw $s3, 0x1c($sp) +/* 337B78 E0022938 8FB20018 */ lw $s2, 0x18($sp) +/* 337B7C E002293C 8FB10014 */ lw $s1, 0x14($sp) +/* 337B80 E0022940 8FB00010 */ lw $s0, 0x10($sp) +/* 337B84 E0022944 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 337B88 E0022948 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 337B8C E002294C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 337B90 E0022950 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 337B94 E0022954 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 337B98 E0022958 03E00008 */ jr $ra +/* 337B9C E002295C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_337240/func_E0022960.s b/asm/nonmatchings/code_337240/func_E0022960.s new file mode 100644 index 0000000000..570b5fd459 --- /dev/null +++ b/asm/nonmatchings/code_337240/func_E0022960.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0022960 +/* 337BA0 E0022960 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 337BA4 E0022964 3C02E002 */ lui $v0, 0xe002 +/* 337BA8 E0022968 24422998 */ addiu $v0, $v0, 0x2998 +/* 337BAC E002296C AFA2001C */ sw $v0, 0x1c($sp) +/* 337BB0 E0022970 2402002D */ addiu $v0, $zero, 0x2d +/* 337BB4 E0022974 AFA40018 */ sw $a0, 0x18($sp) +/* 337BB8 E0022978 27A40010 */ addiu $a0, $sp, 0x10 +/* 337BBC E002297C AFBF0020 */ sw $ra, 0x20($sp) +/* 337BC0 E0022980 AFA00014 */ sw $zero, 0x14($sp) +/* 337BC4 E0022984 0C080120 */ jal func_E0200480 +/* 337BC8 E0022988 AFA20010 */ sw $v0, 0x10($sp) +/* 337BCC E002298C 8FBF0020 */ lw $ra, 0x20($sp) +/* 337BD0 E0022990 03E00008 */ jr $ra +/* 337BD4 E0022994 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_337240/func_E0022998.s b/asm/nonmatchings/code_337240/func_E0022998.s new file mode 100644 index 0000000000..7216aaca69 --- /dev/null +++ b/asm/nonmatchings/code_337240/func_E0022998.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0022998 +/* 337BD8 E0022998 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 337BDC E002299C 3C06DB06 */ lui $a2, 0xdb06 +/* 337BE0 E00229A0 34C60024 */ ori $a2, $a2, 0x24 +/* 337BE4 E00229A4 AFA40100 */ sw $a0, 0x100($sp) +/* 337BE8 E00229A8 27A40018 */ addiu $a0, $sp, 0x18 +/* 337BEC E00229AC AFB300E4 */ sw $s3, 0xe4($sp) +/* 337BF0 E00229B0 3C13800A */ lui $s3, 0x800a +/* 337BF4 E00229B4 2673A66C */ addiu $s3, $s3, -0x5994 +/* 337BF8 E00229B8 3C02E700 */ lui $v0, 0xe700 +/* 337BFC E00229BC AFBF00FC */ sw $ra, 0xfc($sp) +/* 337C00 E00229C0 AFBE00F8 */ sw $fp, 0xf8($sp) +/* 337C04 E00229C4 AFB700F4 */ sw $s7, 0xf4($sp) +/* 337C08 E00229C8 AFB600F0 */ sw $s6, 0xf0($sp) +/* 337C0C E00229CC AFB500EC */ sw $s5, 0xec($sp) +/* 337C10 E00229D0 AFB400E8 */ sw $s4, 0xe8($sp) +/* 337C14 E00229D4 AFB200E0 */ sw $s2, 0xe0($sp) +/* 337C18 E00229D8 AFB100DC */ sw $s1, 0xdc($sp) +/* 337C1C E00229DC AFB000D8 */ sw $s0, 0xd8($sp) +/* 337C20 E00229E0 8E630000 */ lw $v1, ($s3) +/* 337C24 E00229E4 8FAA0100 */ lw $t2, 0x100($sp) +/* 337C28 E00229E8 0060282D */ daddu $a1, $v1, $zero +/* 337C2C E00229EC 8D50000C */ lw $s0, 0xc($t2) +/* 337C30 E00229F0 24630008 */ addiu $v1, $v1, 8 +/* 337C34 E00229F4 AE630000 */ sw $v1, ($s3) +/* 337C38 E00229F8 ACA20000 */ sw $v0, ($a1) +/* 337C3C E00229FC 24620008 */ addiu $v0, $v1, 8 +/* 337C40 E0022A00 ACA00004 */ sw $zero, 4($a1) +/* 337C44 E0022A04 AE620000 */ sw $v0, ($s3) +/* 337C48 E0022A08 AC660000 */ sw $a2, ($v1) +/* 337C4C E0022A0C 8D450010 */ lw $a1, 0x10($t2) +/* 337C50 E0022A10 24620010 */ addiu $v0, $v1, 0x10 +/* 337C54 E0022A14 AE620000 */ sw $v0, ($s3) +/* 337C58 E0022A18 8CA5001C */ lw $a1, 0x1c($a1) +/* 337C5C E0022A1C 3C02DE00 */ lui $v0, 0xde00 +/* 337C60 E0022A20 AC620008 */ sw $v0, 8($v1) +/* 337C64 E0022A24 3C020900 */ lui $v0, 0x900 +/* 337C68 E0022A28 24420F20 */ addiu $v0, $v0, 0xf20 +/* 337C6C E0022A2C AC62000C */ sw $v0, 0xc($v1) +/* 337C70 E0022A30 3C028000 */ lui $v0, 0x8000 +/* 337C74 E0022A34 00A22821 */ addu $a1, $a1, $v0 +/* 337C78 E0022A38 AC650004 */ sw $a1, 4($v1) +/* 337C7C E0022A3C 8E050004 */ lw $a1, 4($s0) +/* 337C80 E0022A40 8E060008 */ lw $a2, 8($s0) +/* 337C84 E0022A44 8E020020 */ lw $v0, 0x20($s0) +/* 337C88 E0022A48 8E07000C */ lw $a3, 0xc($s0) +/* 337C8C E0022A4C 2442FFFF */ addiu $v0, $v0, -1 +/* 337C90 E0022A50 00021840 */ sll $v1, $v0, 1 +/* 337C94 E0022A54 0C080108 */ jal func_E0200420 +/* 337C98 E0022A58 00628821 */ addu $s1, $v1, $v0 +/* 337C9C E0022A5C 27B20058 */ addiu $s2, $sp, 0x58 +/* 337CA0 E0022A60 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 337CA4 E0022A64 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 337CA8 E0022A68 44800000 */ mtc1 $zero, $f0 +/* 337CAC E0022A6C 00031080 */ sll $v0, $v1, 2 +/* 337CB0 E0022A70 00431021 */ addu $v0, $v0, $v1 +/* 337CB4 E0022A74 00021080 */ sll $v0, $v0, 2 +/* 337CB8 E0022A78 00431023 */ subu $v0, $v0, $v1 +/* 337CBC E0022A7C 000218C0 */ sll $v1, $v0, 3 +/* 337CC0 E0022A80 00431021 */ addu $v0, $v0, $v1 +/* 337CC4 E0022A84 000210C0 */ sll $v0, $v0, 3 +/* 337CC8 E0022A88 44060000 */ mfc1 $a2, $f0 +/* 337CCC E0022A8C 3C01800B */ lui $at, 0x800b +/* 337CD0 E0022A90 00220821 */ addu $at, $at, $v0 +/* 337CD4 E0022A94 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 337CD8 E0022A98 3C073F80 */ lui $a3, 0x3f80 +/* 337CDC E0022A9C 46000007 */ neg.s $f0, $f0 +/* 337CE0 E0022AA0 44050000 */ mfc1 $a1, $f0 +/* 337CE4 E0022AA4 0240202D */ daddu $a0, $s2, $zero +/* 337CE8 E0022AA8 0C080104 */ jal func_E0200410 +/* 337CEC E0022AAC AFA60010 */ sw $a2, 0x10($sp) +/* 337CF0 E0022AB0 0240202D */ daddu $a0, $s2, $zero +/* 337CF4 E0022AB4 27A50018 */ addiu $a1, $sp, 0x18 +/* 337CF8 E0022AB8 0C080114 */ jal func_E0200450 +/* 337CFC E0022ABC 27A60098 */ addiu $a2, $sp, 0x98 +/* 337D00 E0022AC0 8FAA0100 */ lw $t2, 0x100($sp) +/* 337D04 E0022AC4 0000A02D */ daddu $s4, $zero, $zero +/* 337D08 E0022AC8 8D420008 */ lw $v0, 8($t2) +/* 337D0C E0022ACC 2442FFFF */ addiu $v0, $v0, -1 +/* 337D10 E0022AD0 18400069 */ blez $v0, .LE0022C78 +/* 337D14 E0022AD4 26100030 */ addiu $s0, $s0, 0x30 +/* 337D18 E0022AD8 0240B02D */ daddu $s6, $s2, $zero +/* 337D1C E0022ADC 3C1E8007 */ lui $fp, 0x8007 +/* 337D20 E0022AE0 27DE41F0 */ addiu $fp, $fp, 0x41f0 +/* 337D24 E0022AE4 3C150001 */ lui $s5, 1 +/* 337D28 E0022AE8 36B51630 */ ori $s5, $s5, 0x1630 +/* 337D2C E0022AEC 0260902D */ daddu $s2, $s3, $zero +/* 337D30 E0022AF0 3C17E002 */ lui $s7, 0xe002 +/* 337D34 E0022AF4 26F72CF0 */ addiu $s7, $s7, 0x2cf0 +/* 337D38 E0022AF8 2610001C */ addiu $s0, $s0, 0x1c +.LE0022AFC: +/* 337D3C E0022AFC 8E130010 */ lw $s3, 0x10($s0) +/* 337D40 E0022B00 06600056 */ bltz $s3, .LE0022C5C +/* 337D44 E0022B04 02C0202D */ daddu $a0, $s6, $zero +/* 337D48 E0022B08 8E05FFE8 */ lw $a1, -0x18($s0) +/* 337D4C E0022B0C 8E06FFEC */ lw $a2, -0x14($s0) +/* 337D50 E0022B10 8E07FFF0 */ lw $a3, -0x10($s0) +/* 337D54 E0022B14 0C080108 */ jal func_E0200420 +/* 337D58 E0022B18 26310003 */ addiu $s1, $s1, 3 +/* 337D5C E0022B1C C6000000 */ lwc1 $f0, ($s0) +/* 337D60 E0022B20 02C0202D */ daddu $a0, $s6, $zero +/* 337D64 E0022B24 E7A00058 */ swc1 $f0, 0x58($sp) +/* 337D68 E0022B28 C6000000 */ lwc1 $f0, ($s0) +/* 337D6C E0022B2C 27A50098 */ addiu $a1, $sp, 0x98 +/* 337D70 E0022B30 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 337D74 E0022B34 C6000000 */ lwc1 $f0, ($s0) +/* 337D78 E0022B38 27A60018 */ addiu $a2, $sp, 0x18 +/* 337D7C E0022B3C 0C080114 */ jal func_E0200450 +/* 337D80 E0022B40 E7A00080 */ swc1 $f0, 0x80($sp) +/* 337D84 E0022B44 27A40018 */ addiu $a0, $sp, 0x18 +/* 337D88 E0022B48 97C50000 */ lhu $a1, ($fp) +/* 337D8C E0022B4C 3C02800A */ lui $v0, 0x800a +/* 337D90 E0022B50 8C42A674 */ lw $v0, -0x598c($v0) +/* 337D94 E0022B54 00052980 */ sll $a1, $a1, 6 +/* 337D98 E0022B58 00B52821 */ addu $a1, $a1, $s5 +/* 337D9C E0022B5C 0C080118 */ jal func_E0200460 +/* 337DA0 E0022B60 00452821 */ addu $a1, $v0, $a1 +/* 337DA4 E0022B64 3C0238E3 */ lui $v0, 0x38e3 +/* 337DA8 E0022B68 34428E39 */ ori $v0, $v0, 0x8e39 +/* 337DAC E0022B6C 3C09D838 */ lui $t1, 0xd838 +/* 337DB0 E0022B70 35290002 */ ori $t1, $t1, 2 +/* 337DB4 E0022B74 02220018 */ mult $s1, $v0 +/* 337DB8 E0022B78 8E470000 */ lw $a3, ($s2) +/* 337DBC E0022B7C 3C02FA00 */ lui $v0, 0xfa00 +/* 337DC0 E0022B80 00E0402D */ daddu $t0, $a3, $zero +/* 337DC4 E0022B84 24E70008 */ addiu $a3, $a3, 8 +/* 337DC8 E0022B88 AE470000 */ sw $a3, ($s2) +/* 337DCC E0022B8C AD020000 */ sw $v0, ($t0) +/* 337DD0 E0022B90 001117C3 */ sra $v0, $s1, 0x1f +/* 337DD4 E0022B94 00005010 */ mfhi $t2 +/* 337DD8 E0022B98 000A18C3 */ sra $v1, $t2, 3 +/* 337DDC E0022B9C 00621823 */ subu $v1, $v1, $v0 +/* 337DE0 E0022BA0 000310C0 */ sll $v0, $v1, 3 +/* 337DE4 E0022BA4 00431021 */ addu $v0, $v0, $v1 +/* 337DE8 E0022BA8 00021080 */ sll $v0, $v0, 2 +/* 337DEC E0022BAC 02228823 */ subu $s1, $s1, $v0 +/* 337DF0 E0022BB0 02371021 */ addu $v0, $s1, $s7 +/* 337DF4 E0022BB4 0040202D */ daddu $a0, $v0, $zero +/* 337DF8 E0022BB8 0040282D */ daddu $a1, $v0, $zero +/* 337DFC E0022BBC 90430000 */ lbu $v1, ($v0) +/* 337E00 E0022BC0 24E20008 */ addiu $v0, $a3, 8 +/* 337E04 E0022BC4 90860001 */ lbu $a2, 1($a0) +/* 337E08 E0022BC8 90A50002 */ lbu $a1, 2($a1) +/* 337E0C E0022BCC 97C40000 */ lhu $a0, ($fp) +/* 337E10 E0022BD0 3C0AE002 */ lui $t2, 0xe002 +/* 337E14 E0022BD4 254A2CD0 */ addiu $t2, $t2, 0x2cd0 +/* 337E18 E0022BD8 AE420000 */ sw $v0, ($s2) +/* 337E1C E0022BDC 24820001 */ addiu $v0, $a0, 1 +/* 337E20 E0022BE0 A7C20000 */ sh $v0, ($fp) +/* 337E24 E0022BE4 24E20010 */ addiu $v0, $a3, 0x10 +/* 337E28 E0022BE8 00031E00 */ sll $v1, $v1, 0x18 +/* 337E2C E0022BEC 00063400 */ sll $a2, $a2, 0x10 +/* 337E30 E0022BF0 00661825 */ or $v1, $v1, $a2 +/* 337E34 E0022BF4 00052A00 */ sll $a1, $a1, 8 +/* 337E38 E0022BF8 00651825 */ or $v1, $v1, $a1 +/* 337E3C E0022BFC 346300FF */ ori $v1, $v1, 0xff +/* 337E40 E0022C00 AE420000 */ sw $v0, ($s2) +/* 337E44 E0022C04 3C02DA38 */ lui $v0, 0xda38 +/* 337E48 E0022C08 3084FFFF */ andi $a0, $a0, 0xffff +/* 337E4C E0022C0C 00042180 */ sll $a0, $a0, 6 +/* 337E50 E0022C10 AD030004 */ sw $v1, 4($t0) +/* 337E54 E0022C14 ACE20000 */ sw $v0, ($a3) +/* 337E58 E0022C18 3C02800A */ lui $v0, 0x800a +/* 337E5C E0022C1C 8C42A674 */ lw $v0, -0x598c($v0) +/* 337E60 E0022C20 00952021 */ addu $a0, $a0, $s5 +/* 337E64 E0022C24 00441021 */ addu $v0, $v0, $a0 +/* 337E68 E0022C28 ACE20004 */ sw $v0, 4($a3) +/* 337E6C E0022C2C 3C02DE00 */ lui $v0, 0xde00 +/* 337E70 E0022C30 ACE20008 */ sw $v0, 8($a3) +/* 337E74 E0022C34 32620007 */ andi $v0, $s3, 7 +/* 337E78 E0022C38 00021080 */ sll $v0, $v0, 2 +/* 337E7C E0022C3C 004A1021 */ addu $v0, $v0, $t2 +/* 337E80 E0022C40 8C430000 */ lw $v1, ($v0) +/* 337E84 E0022C44 24E20018 */ addiu $v0, $a3, 0x18 +/* 337E88 E0022C48 AE420000 */ sw $v0, ($s2) +/* 337E8C E0022C4C 24020040 */ addiu $v0, $zero, 0x40 +/* 337E90 E0022C50 ACE90010 */ sw $t1, 0x10($a3) +/* 337E94 E0022C54 ACE20014 */ sw $v0, 0x14($a3) +/* 337E98 E0022C58 ACE3000C */ sw $v1, 0xc($a3) +.LE0022C5C: +/* 337E9C E0022C5C 8FAA0100 */ lw $t2, 0x100($sp) +/* 337EA0 E0022C60 26940001 */ addiu $s4, $s4, 1 +/* 337EA4 E0022C64 8D420008 */ lw $v0, 8($t2) +/* 337EA8 E0022C68 2442FFFF */ addiu $v0, $v0, -1 +/* 337EAC E0022C6C 0282102A */ slt $v0, $s4, $v0 +/* 337EB0 E0022C70 1440FFA2 */ bnez $v0, .LE0022AFC +/* 337EB4 E0022C74 26100030 */ addiu $s0, $s0, 0x30 +.LE0022C78: +/* 337EB8 E0022C78 3C03800A */ lui $v1, 0x800a +/* 337EBC E0022C7C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 337EC0 E0022C80 8C620000 */ lw $v0, ($v1) +/* 337EC4 E0022C84 0040202D */ daddu $a0, $v0, $zero +/* 337EC8 E0022C88 24420008 */ addiu $v0, $v0, 8 +/* 337ECC E0022C8C AC620000 */ sw $v0, ($v1) +/* 337ED0 E0022C90 3C02E700 */ lui $v0, 0xe700 +/* 337ED4 E0022C94 AC820000 */ sw $v0, ($a0) +/* 337ED8 E0022C98 AC800004 */ sw $zero, 4($a0) +/* 337EDC E0022C9C 8FBF00FC */ lw $ra, 0xfc($sp) +/* 337EE0 E0022CA0 8FBE00F8 */ lw $fp, 0xf8($sp) +/* 337EE4 E0022CA4 8FB700F4 */ lw $s7, 0xf4($sp) +/* 337EE8 E0022CA8 8FB600F0 */ lw $s6, 0xf0($sp) +/* 337EEC E0022CAC 8FB500EC */ lw $s5, 0xec($sp) +/* 337EF0 E0022CB0 8FB400E8 */ lw $s4, 0xe8($sp) +/* 337EF4 E0022CB4 8FB300E4 */ lw $s3, 0xe4($sp) +/* 337EF8 E0022CB8 8FB200E0 */ lw $s2, 0xe0($sp) +/* 337EFC E0022CBC 8FB100DC */ lw $s1, 0xdc($sp) +/* 337F00 E0022CC0 8FB000D8 */ lw $s0, 0xd8($sp) +/* 337F04 E0022CC4 03E00008 */ jr $ra +/* 337F08 E0022CC8 27BD0100 */ addiu $sp, $sp, 0x100 +/* 337F0C E0022CCC 00000000 */ nop diff --git a/asm/nonmatchings/code_339250/func_E0024000.s b/asm/nonmatchings/code_339250/func_E0024000.s new file mode 100644 index 0000000000..1e28831a6d --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E0024000.s @@ -0,0 +1,104 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0024000 +/* 339250 E0024000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 339254 E0024004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 339258 E0024008 4485A000 */ mtc1 $a1, $f20 +/* 33925C E002400C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 339260 E0024010 4486B000 */ mtc1 $a2, $f22 +/* 339264 E0024014 AFB1002C */ sw $s1, 0x2c($sp) +/* 339268 E0024018 0080882D */ daddu $s1, $a0, $zero +/* 33926C E002401C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 339270 E0024020 4487C000 */ mtc1 $a3, $f24 +/* 339274 E0024024 27A40010 */ addiu $a0, $sp, 0x10 +/* 339278 E0024028 AFB20030 */ sw $s2, 0x30($sp) +/* 33927C E002402C 8FB2006C */ lw $s2, 0x6c($sp) +/* 339280 E0024030 3C02E002 */ lui $v0, 0xe002 +/* 339284 E0024034 24424180 */ addiu $v0, $v0, 0x4180 +/* 339288 E0024038 AFA20018 */ sw $v0, 0x18($sp) +/* 33928C E002403C 3C02E002 */ lui $v0, 0xe002 +/* 339290 E0024040 24424188 */ addiu $v0, $v0, 0x4188 +/* 339294 E0024044 AFA2001C */ sw $v0, 0x1c($sp) +/* 339298 E0024048 3C02E002 */ lui $v0, 0xe002 +/* 33929C E002404C 244242E0 */ addiu $v0, $v0, 0x42e0 +/* 3392A0 E0024050 AFA20020 */ sw $v0, 0x20($sp) +/* 3392A4 E0024054 24020012 */ addiu $v0, $zero, 0x12 +/* 3392A8 E0024058 AFBF0034 */ sw $ra, 0x34($sp) +/* 3392AC E002405C AFB00028 */ sw $s0, 0x28($sp) +/* 3392B0 E0024060 AFA00010 */ sw $zero, 0x10($sp) +/* 3392B4 E0024064 AFA00024 */ sw $zero, 0x24($sp) +/* 3392B8 E0024068 0C080124 */ jal func_E0200490 +/* 3392BC E002406C AFA20014 */ sw $v0, 0x14($sp) +/* 3392C0 E0024070 24040038 */ addiu $a0, $zero, 0x38 +/* 3392C4 E0024074 24030001 */ addiu $v1, $zero, 1 +/* 3392C8 E0024078 0040802D */ daddu $s0, $v0, $zero +/* 3392CC E002407C 0C08012C */ jal func_E02004B0 +/* 3392D0 E0024080 AE030008 */ sw $v1, 8($s0) +/* 3392D4 E0024084 0040182D */ daddu $v1, $v0, $zero +/* 3392D8 E0024088 14600003 */ bnez $v1, .LE0024098 +/* 3392DC E002408C AE02000C */ sw $v0, 0xc($s0) +.LE0024090: +/* 3392E0 E0024090 08009024 */ j .LE0024090 +/* 3392E4 E0024094 00000000 */ nop +.LE0024098: +/* 3392E8 E0024098 3C013F80 */ lui $at, 0x3f80 +/* 3392EC E002409C 44810000 */ mtc1 $at, $f0 +/* 3392F0 E00240A0 240200FF */ addiu $v0, $zero, 0xff +/* 3392F4 E00240A4 AC60002C */ sw $zero, 0x2c($v1) +/* 3392F8 E00240A8 AC710000 */ sw $s1, ($v1) +/* 3392FC E00240AC AC620034 */ sw $v0, 0x34($v1) +/* 339300 E00240B0 E4740004 */ swc1 $f20, 4($v1) +/* 339304 E00240B4 E4760008 */ swc1 $f22, 8($v1) +/* 339308 E00240B8 E478000C */ swc1 $f24, 0xc($v1) +/* 33930C E00240BC 16200019 */ bnez $s1, .LE0024124 +/* 339310 E00240C0 E4600028 */ swc1 $f0, 0x28($v1) +/* 339314 E00240C4 C7A60060 */ lwc1 $f6, 0x60($sp) +/* 339318 E00240C8 46143181 */ sub.s $f6, $f6, $f20 +/* 33931C E00240CC 44921000 */ mtc1 $s2, $f2 +/* 339320 E00240D0 00000000 */ nop +/* 339324 E00240D4 468010A0 */ cvt.s.w $f2, $f2 +/* 339328 E00240D8 46020083 */ div.s $f2, $f0, $f2 +/* 33932C E00240DC 46023182 */ mul.s $f6, $f6, $f2 +/* 339330 E00240E0 00000000 */ nop +/* 339334 E00240E4 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 339338 E00240E8 46162101 */ sub.s $f4, $f4, $f22 +/* 33933C E00240EC 46022102 */ mul.s $f4, $f4, $f2 +/* 339340 E00240F0 00000000 */ nop +/* 339344 E00240F4 C7A00068 */ lwc1 $f0, 0x68($sp) +/* 339348 E00240F8 46180001 */ sub.s $f0, $f0, $f24 +/* 33934C E00240FC AC600010 */ sw $zero, 0x10($v1) +/* 339350 E0024100 AC600014 */ sw $zero, 0x14($v1) +/* 339354 E0024104 46020002 */ mul.s $f0, $f0, $f2 +/* 339358 E0024108 00000000 */ nop +/* 33935C E002410C AC600018 */ sw $zero, 0x18($v1) +/* 339360 E0024110 AC720030 */ sw $s2, 0x30($v1) +/* 339364 E0024114 E466001C */ swc1 $f6, 0x1c($v1) +/* 339368 E0024118 E4640020 */ swc1 $f4, 0x20($v1) +/* 33936C E002411C 08009056 */ j .LE0024158 +/* 339370 E0024120 E4600024 */ swc1 $f0, 0x24($v1) +.LE0024124: +/* 339374 E0024124 3C0141E8 */ lui $at, 0x41e8 +/* 339378 E0024128 44810000 */ mtc1 $at, $f0 +/* 33937C E002412C 3C0140C6 */ lui $at, 0x40c6 +/* 339380 E0024130 34216666 */ ori $at, $at, 0x6666 +/* 339384 E0024134 44811000 */ mtc1 $at, $f2 +/* 339388 E0024138 24020018 */ addiu $v0, $zero, 0x18 +/* 33938C E002413C AC600014 */ sw $zero, 0x14($v1) +/* 339390 E0024140 AC600018 */ sw $zero, 0x18($v1) +/* 339394 E0024144 AC600020 */ sw $zero, 0x20($v1) +/* 339398 E0024148 AC600024 */ sw $zero, 0x24($v1) +/* 33939C E002414C AC620030 */ sw $v0, 0x30($v1) +/* 3393A0 E0024150 E4600010 */ swc1 $f0, 0x10($v1) +/* 3393A4 E0024154 E462001C */ swc1 $f2, 0x1c($v1) +.LE0024158: +/* 3393A8 E0024158 0200102D */ daddu $v0, $s0, $zero +/* 3393AC E002415C 8FBF0034 */ lw $ra, 0x34($sp) +/* 3393B0 E0024160 8FB20030 */ lw $s2, 0x30($sp) +/* 3393B4 E0024164 8FB1002C */ lw $s1, 0x2c($sp) +/* 3393B8 E0024168 8FB00028 */ lw $s0, 0x28($sp) +/* 3393BC E002416C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3393C0 E0024170 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3393C4 E0024174 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3393C8 E0024178 03E00008 */ jr $ra +/* 3393CC E002417C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_339250/func_E0024180.s b/asm/nonmatchings/code_339250/func_E0024180.s new file mode 100644 index 0000000000..7c6fc1a9a8 --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E0024180.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0024180 +/* 3393D0 E0024180 03E00008 */ jr $ra +/* 3393D4 E0024184 00000000 */ nop diff --git a/asm/nonmatchings/code_339250/func_E0024188.s b/asm/nonmatchings/code_339250/func_E0024188.s new file mode 100644 index 0000000000..18b4010e77 --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E0024188.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0024188 +/* 3393D8 E0024188 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 3393DC E002418C AFBF0028 */ sw $ra, 0x28($sp) +/* 3393E0 E0024190 AFB10024 */ sw $s1, 0x24($sp) +/* 3393E4 E0024194 AFB00020 */ sw $s0, 0x20($sp) +/* 3393E8 E0024198 8C830000 */ lw $v1, ($a0) +/* 3393EC E002419C 8C90000C */ lw $s0, 0xc($a0) +/* 3393F0 E00241A0 30620010 */ andi $v0, $v1, 0x10 +/* 3393F4 E00241A4 10400004 */ beqz $v0, .LE00241B8 +/* 3393F8 E00241A8 2402FFEF */ addiu $v0, $zero, -0x11 +/* 3393FC E00241AC 00621024 */ and $v0, $v1, $v0 +/* 339400 E00241B0 AC820000 */ sw $v0, ($a0) +/* 339404 E00241B4 AE000030 */ sw $zero, 0x30($s0) +.LE00241B8: +/* 339408 E00241B8 8E020030 */ lw $v0, 0x30($s0) +/* 33940C E00241BC 2442FFFF */ addiu $v0, $v0, -1 +/* 339410 E00241C0 AE020030 */ sw $v0, 0x30($s0) +/* 339414 E00241C4 8E02002C */ lw $v0, 0x2c($s0) +/* 339418 E00241C8 8E030030 */ lw $v1, 0x30($s0) +/* 33941C E00241CC 24420001 */ addiu $v0, $v0, 1 +/* 339420 E00241D0 04610005 */ bgez $v1, .LE00241E8 +/* 339424 E00241D4 AE02002C */ sw $v0, 0x2c($s0) +/* 339428 E00241D8 0C080128 */ jal func_E02004A0 +/* 33942C E00241DC 00000000 */ nop +/* 339430 E00241E0 080090B3 */ j .LE00242CC +/* 339434 E00241E4 00000000 */ nop +.LE00241E8: +/* 339438 E00241E8 8E110000 */ lw $s1, ($s0) +/* 33943C E00241EC 16200019 */ bnez $s1, .LE0024254 +/* 339440 E00241F0 24020001 */ addiu $v0, $zero, 1 +/* 339444 E00241F4 14600017 */ bnez $v1, .LE0024254 +/* 339448 E00241F8 24040001 */ addiu $a0, $zero, 1 +/* 33944C E00241FC C6020004 */ lwc1 $f2, 4($s0) +/* 339450 E0024200 C6000010 */ lwc1 $f0, 0x10($s0) +/* 339454 E0024204 C606000C */ lwc1 $f6, 0xc($s0) +/* 339458 E0024208 46001080 */ add.s $f2, $f2, $f0 +/* 33945C E002420C C6040018 */ lwc1 $f4, 0x18($s0) +/* 339460 E0024210 46043180 */ add.s $f6, $f6, $f4 +/* 339464 E0024214 C6000014 */ lwc1 $f0, 0x14($s0) +/* 339468 E0024218 44051000 */ mfc1 $a1, $f2 +/* 33946C E002421C C6020008 */ lwc1 $f2, 8($s0) +/* 339470 E0024220 46001080 */ add.s $f2, $f2, $f0 +/* 339474 E0024224 44073000 */ mfc1 $a3, $f6 +/* 339478 E0024228 44061000 */ mfc1 $a2, $f2 +/* 33947C E002422C 24020018 */ addiu $v0, $zero, 0x18 +/* 339480 E0024230 AFA00010 */ sw $zero, 0x10($sp) +/* 339484 E0024234 AFA00014 */ sw $zero, 0x14($sp) +/* 339488 E0024238 AFA00018 */ sw $zero, 0x18($sp) +/* 33948C E002423C 0C009000 */ jal func_E0024000 +/* 339490 E0024240 AFA2001C */ sw $v0, 0x1c($sp) +/* 339494 E0024244 8C42000C */ lw $v0, 0xc($v0) +/* 339498 E0024248 C6000028 */ lwc1 $f0, 0x28($s0) +/* 33949C E002424C E4400028 */ swc1 $f0, 0x28($v0) +/* 3394A0 E0024250 24020001 */ addiu $v0, $zero, 1 +.LE0024254: +/* 3394A4 E0024254 16220011 */ bne $s1, $v0, .LE002429C +/* 3394A8 E0024258 00000000 */ nop +/* 3394AC E002425C 3C01E002 */ lui $at, 0xe002 +/* 3394B0 E0024260 D4204CF0 */ ldc1 $f0, 0x4cf0($at) +/* 3394B4 E0024264 C6020034 */ lwc1 $f2, 0x34($s0) +/* 3394B8 E0024268 468010A1 */ cvt.d.w $f2, $f2 +/* 3394BC E002426C 46201082 */ mul.d $f2, $f2, $f0 +/* 3394C0 E0024270 00000000 */ nop +/* 3394C4 E0024274 C600001C */ lwc1 $f0, 0x1c($s0) +/* 3394C8 E0024278 3C01E002 */ lui $at, 0xe002 +/* 3394CC E002427C D4244CF8 */ ldc1 $f4, 0x4cf8($at) +/* 3394D0 E0024280 46000021 */ cvt.d.s $f0, $f0 +/* 3394D4 E0024284 46240002 */ mul.d $f0, $f0, $f4 +/* 3394D8 E0024288 00000000 */ nop +/* 3394DC E002428C 4620120D */ trunc.w.d $f8, $f2 +/* 3394E0 E0024290 E6080034 */ swc1 $f8, 0x34($s0) +/* 3394E4 E0024294 46200020 */ cvt.s.d $f0, $f0 +/* 3394E8 E0024298 E600001C */ swc1 $f0, 0x1c($s0) +.LE002429C: +/* 3394EC E002429C C6060010 */ lwc1 $f6, 0x10($s0) +/* 3394F0 E00242A0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 3394F4 E00242A4 C6040014 */ lwc1 $f4, 0x14($s0) +/* 3394F8 E00242A8 46003180 */ add.s $f6, $f6, $f0 +/* 3394FC E00242AC C6000020 */ lwc1 $f0, 0x20($s0) +/* 339500 E00242B0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 339504 E00242B4 46002100 */ add.s $f4, $f4, $f0 +/* 339508 E00242B8 C6000024 */ lwc1 $f0, 0x24($s0) +/* 33950C E00242BC 46001080 */ add.s $f2, $f2, $f0 +/* 339510 E00242C0 E6060010 */ swc1 $f6, 0x10($s0) +/* 339514 E00242C4 E6040014 */ swc1 $f4, 0x14($s0) +/* 339518 E00242C8 E6020018 */ swc1 $f2, 0x18($s0) +.LE00242CC: +/* 33951C E00242CC 8FBF0028 */ lw $ra, 0x28($sp) +/* 339520 E00242D0 8FB10024 */ lw $s1, 0x24($sp) +/* 339524 E00242D4 8FB00020 */ lw $s0, 0x20($sp) +/* 339528 E00242D8 03E00008 */ jr $ra +/* 33952C E00242DC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_339250/func_E00242E0.s b/asm/nonmatchings/code_339250/func_E00242E0.s new file mode 100644 index 0000000000..f09c0bce5b --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E00242E0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00242E0 +/* 339530 E00242E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 339534 E00242E4 3C02E002 */ lui $v0, 0xe002 +/* 339538 E00242E8 24424454 */ addiu $v0, $v0, 0x4454 +/* 33953C E00242EC AFA2001C */ sw $v0, 0x1c($sp) +/* 339540 E00242F0 2402002D */ addiu $v0, $zero, 0x2d +/* 339544 E00242F4 AFA40018 */ sw $a0, 0x18($sp) +/* 339548 E00242F8 27A40010 */ addiu $a0, $sp, 0x10 +/* 33954C E00242FC AFBF0020 */ sw $ra, 0x20($sp) +/* 339550 E0024300 AFA00014 */ sw $zero, 0x14($sp) +/* 339554 E0024304 0C080120 */ jal func_E0200480 +/* 339558 E0024308 AFA20010 */ sw $v0, 0x10($sp) +/* 33955C E002430C 8C430000 */ lw $v1, ($v0) +/* 339560 E0024310 34630002 */ ori $v1, $v1, 2 +/* 339564 E0024314 AC430000 */ sw $v1, ($v0) +/* 339568 E0024318 8FBF0020 */ lw $ra, 0x20($sp) +/* 33956C E002431C 03E00008 */ jr $ra +/* 339570 E0024320 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_339250/func_E0024324.s b/asm/nonmatchings/code_339250/func_E0024324.s new file mode 100644 index 0000000000..d07e0c7813 --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E0024324.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0024324 +/* 339574 E0024324 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 339578 E0024328 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 33957C E002432C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 339580 E0024330 AFBF0014 */ sw $ra, 0x14($sp) +/* 339584 E0024334 AFB00010 */ sw $s0, 0x10($sp) +/* 339588 E0024338 94420134 */ lhu $v0, 0x134($v0) +/* 33958C E002433C 00021140 */ sll $v0, $v0, 5 +/* 339590 E0024340 00451021 */ addu $v0, $v0, $a1 +/* 339594 E0024344 44826000 */ mtc1 $v0, $f12 +/* 339598 E0024348 00000000 */ nop +/* 33959C E002434C 46806320 */ cvt.s.w $f12, $f12 +/* 3395A0 E0024350 0C080140 */ jal func_E0200500 +/* 3395A4 E0024354 0080802D */ daddu $s0, $a0, $zero +/* 3395A8 E0024358 240200FF */ addiu $v0, $zero, 0xff +/* 3395AC E002435C 00501023 */ subu $v0, $v0, $s0 +/* 3395B0 E0024360 44821000 */ mtc1 $v0, $f2 +/* 3395B4 E0024364 00000000 */ nop +/* 3395B8 E0024368 468010A0 */ cvt.s.w $f2, $f2 +/* 3395BC E002436C 46020002 */ mul.s $f0, $f0, $f2 +/* 3395C0 E0024370 00000000 */ nop +/* 3395C4 E0024374 46020000 */ add.s $f0, $f0, $f2 +/* 3395C8 E0024378 3C013FE0 */ lui $at, 0x3fe0 +/* 3395CC E002437C 44811800 */ mtc1 $at, $f3 +/* 3395D0 E0024380 44801000 */ mtc1 $zero, $f2 +/* 3395D4 E0024384 46000021 */ cvt.d.s $f0, $f0 +/* 3395D8 E0024388 46220002 */ mul.d $f0, $f0, $f2 +/* 3395DC E002438C 00000000 */ nop +/* 3395E0 E0024390 44901000 */ mtc1 $s0, $f2 +/* 3395E4 E0024394 00000000 */ nop +/* 3395E8 E0024398 468010A1 */ cvt.d.w $f2, $f2 +/* 3395EC E002439C 46220000 */ add.d $f0, $f0, $f2 +/* 3395F0 E00243A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 3395F4 E00243A4 8FB00010 */ lw $s0, 0x10($sp) +/* 3395F8 E00243A8 46200020 */ cvt.s.d $f0, $f0 +/* 3395FC E00243AC 4600010D */ trunc.w.s $f4, $f0 +/* 339600 E00243B0 44022000 */ mfc1 $v0, $f4 +/* 339604 E00243B4 03E00008 */ jr $ra +/* 339608 E00243B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_339250/func_E00243BC.s b/asm/nonmatchings/code_339250/func_E00243BC.s new file mode 100644 index 0000000000..f6873d6598 --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E00243BC.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00243BC +/* 33960C E00243BC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 339610 E00243C0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 339614 E00243C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 339618 E00243C8 AFB00010 */ sw $s0, 0x10($sp) +/* 33961C E00243CC AFBF0014 */ sw $ra, 0x14($sp) +/* 339620 E00243D0 94420134 */ lhu $v0, 0x134($v0) +/* 339624 E00243D4 24A500B4 */ addiu $a1, $a1, 0xb4 +/* 339628 E00243D8 00021140 */ sll $v0, $v0, 5 +/* 33962C E00243DC 00451021 */ addu $v0, $v0, $a1 +/* 339630 E00243E0 44826000 */ mtc1 $v0, $f12 +/* 339634 E00243E4 00000000 */ nop +/* 339638 E00243E8 46806320 */ cvt.s.w $f12, $f12 +/* 33963C E00243EC 0C080140 */ jal func_E0200500 +/* 339640 E00243F0 0080802D */ daddu $s0, $a0, $zero +/* 339644 E00243F4 00101023 */ negu $v0, $s0 +/* 339648 E00243F8 44821000 */ mtc1 $v0, $f2 +/* 33964C E00243FC 00000000 */ nop +/* 339650 E0024400 468010A0 */ cvt.s.w $f2, $f2 +/* 339654 E0024404 46020002 */ mul.s $f0, $f0, $f2 +/* 339658 E0024408 00000000 */ nop +/* 33965C E002440C 46020000 */ add.s $f0, $f0, $f2 +/* 339660 E0024410 3C013FE0 */ lui $at, 0x3fe0 +/* 339664 E0024414 44811800 */ mtc1 $at, $f3 +/* 339668 E0024418 44801000 */ mtc1 $zero, $f2 +/* 33966C E002441C 46000021 */ cvt.d.s $f0, $f0 +/* 339670 E0024420 46220002 */ mul.d $f0, $f0, $f2 +/* 339674 E0024424 00000000 */ nop +/* 339678 E0024428 44901000 */ mtc1 $s0, $f2 +/* 33967C E002442C 00000000 */ nop +/* 339680 E0024430 468010A1 */ cvt.d.w $f2, $f2 +/* 339684 E0024434 46220000 */ add.d $f0, $f0, $f2 +/* 339688 E0024438 8FBF0014 */ lw $ra, 0x14($sp) +/* 33968C E002443C 8FB00010 */ lw $s0, 0x10($sp) +/* 339690 E0024440 46200020 */ cvt.s.d $f0, $f0 +/* 339694 E0024444 4600010D */ trunc.w.s $f4, $f0 +/* 339698 E0024448 44022000 */ mfc1 $v0, $f4 +/* 33969C E002444C 03E00008 */ jr $ra +/* 3396A0 E0024450 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_339250/func_E0024454.s b/asm/nonmatchings/code_339250/func_E0024454.s new file mode 100644 index 0000000000..677f7f80e4 --- /dev/null +++ b/asm/nonmatchings/code_339250/func_E0024454.s @@ -0,0 +1,557 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0024454 +/* 3396A4 E0024454 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 3396A8 E0024458 3C07DB06 */ lui $a3, 0xdb06 +/* 3396AC E002445C 3C05800A */ lui $a1, 0x800a +/* 3396B0 E0024460 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 3396B4 E0024464 34E70024 */ ori $a3, $a3, 0x24 +/* 3396B8 E0024468 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 3396BC E002446C AFBE00B0 */ sw $fp, 0xb0($sp) +/* 3396C0 E0024470 AFB700AC */ sw $s7, 0xac($sp) +/* 3396C4 E0024474 AFB600A8 */ sw $s6, 0xa8($sp) +/* 3396C8 E0024478 AFB500A4 */ sw $s5, 0xa4($sp) +/* 3396CC E002447C AFB400A0 */ sw $s4, 0xa0($sp) +/* 3396D0 E0024480 AFB3009C */ sw $s3, 0x9c($sp) +/* 3396D4 E0024484 AFB20098 */ sw $s2, 0x98($sp) +/* 3396D8 E0024488 AFB10094 */ sw $s1, 0x94($sp) +/* 3396DC E002448C AFB00090 */ sw $s0, 0x90($sp) +/* 3396E0 E0024490 F7BE00E0 */ sdc1 $f30, 0xe0($sp) +/* 3396E4 E0024494 F7BC00D8 */ sdc1 $f28, 0xd8($sp) +/* 3396E8 E0024498 F7BA00D0 */ sdc1 $f26, 0xd0($sp) +/* 3396EC E002449C F7B800C8 */ sdc1 $f24, 0xc8($sp) +/* 3396F0 E00244A0 F7B600C0 */ sdc1 $f22, 0xc0($sp) +/* 3396F4 E00244A4 F7B400B8 */ sdc1 $f20, 0xb8($sp) +/* 3396F8 E00244A8 8CA30000 */ lw $v1, ($a1) +/* 3396FC E00244AC 8C96000C */ lw $s6, 0xc($a0) +/* 339700 E00244B0 0060302D */ daddu $a2, $v1, $zero +/* 339704 E00244B4 24630008 */ addiu $v1, $v1, 8 +/* 339708 E00244B8 ACA30000 */ sw $v1, ($a1) +/* 33970C E00244BC C6C40028 */ lwc1 $f4, 0x28($s6) +/* 339710 E00244C0 3C02E700 */ lui $v0, 0xe700 +/* 339714 E00244C4 E7A4007C */ swc1 $f4, 0x7c($sp) +/* 339718 E00244C8 ACC20000 */ sw $v0, ($a2) +/* 33971C E00244CC 24620008 */ addiu $v0, $v1, 8 +/* 339720 E00244D0 ACC00004 */ sw $zero, 4($a2) +/* 339724 E00244D4 ACA20000 */ sw $v0, ($a1) +/* 339728 E00244D8 AC670000 */ sw $a3, ($v1) +/* 33972C E00244DC 24670010 */ addiu $a3, $v1, 0x10 +/* 339730 E00244E0 ACA70000 */ sw $a3, ($a1) +/* 339734 E00244E4 8C820010 */ lw $v0, 0x10($a0) +/* 339738 E00244E8 24660018 */ addiu $a2, $v1, 0x18 +/* 33973C E00244EC ACA60000 */ sw $a2, ($a1) +/* 339740 E00244F0 8C44001C */ lw $a0, 0x1c($v0) +/* 339744 E00244F4 3C02DE00 */ lui $v0, 0xde00 +/* 339748 E00244F8 AC620008 */ sw $v0, 8($v1) +/* 33974C E00244FC 3C020900 */ lui $v0, 0x900 +/* 339750 E0024500 24421080 */ addiu $v0, $v0, 0x1080 +/* 339754 E0024504 AC62000C */ sw $v0, 0xc($v1) +/* 339758 E0024508 3C028000 */ lui $v0, 0x8000 +/* 33975C E002450C 00822021 */ addu $a0, $a0, $v0 +/* 339760 E0024510 AC640004 */ sw $a0, 4($v1) +/* 339764 E0024514 8EC80034 */ lw $t0, 0x34($s6) +/* 339768 E0024518 AFA80080 */ sw $t0, 0x80($sp) +/* 33976C E002451C C6C40014 */ lwc1 $f4, 0x14($s6) +/* 339770 E0024520 C6DA0010 */ lwc1 $f26, 0x10($s6) +/* 339774 E0024524 E7A40084 */ swc1 $f4, 0x84($sp) +/* 339778 E0024528 C6C40018 */ lwc1 $f4, 0x18($s6) +/* 33977C E002452C AFA70078 */ sw $a3, 0x78($sp) +/* 339780 E0024530 AFA60074 */ sw $a2, 0x74($sp) +/* 339784 E0024534 E7A40088 */ swc1 $f4, 0x88($sp) +/* 339788 E0024538 8EC80000 */ lw $t0, ($s6) +/* 33978C E002453C AFA80070 */ sw $t0, 0x70($sp) +/* 339790 E0024540 8EC30030 */ lw $v1, 0x30($s6) +/* 339794 E0024544 15000018 */ bnez $t0, .LE00245A8 +/* 339798 E0024548 00031040 */ sll $v0, $v1, 1 +/* 33979C E002454C 000310C0 */ sll $v0, $v1, 3 +/* 3397A0 E0024550 00431021 */ addu $v0, $v0, $v1 +/* 3397A4 E0024554 00021080 */ sll $v0, $v0, 2 +/* 3397A8 E0024558 00431023 */ subu $v0, $v0, $v1 +/* 3397AC E002455C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3397B0 E0024560 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3397B4 E0024564 4482B000 */ mtc1 $v0, $f22 +/* 3397B8 E0024568 00000000 */ nop +/* 3397BC E002456C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 3397C0 E0024570 00031080 */ sll $v0, $v1, 2 +/* 3397C4 E0024574 00431021 */ addu $v0, $v0, $v1 +/* 3397C8 E0024578 00021080 */ sll $v0, $v0, 2 +/* 3397CC E002457C 00431023 */ subu $v0, $v0, $v1 +/* 3397D0 E0024580 000218C0 */ sll $v1, $v0, 3 +/* 3397D4 E0024584 00431021 */ addu $v0, $v0, $v1 +/* 3397D8 E0024588 000210C0 */ sll $v0, $v0, 3 +/* 3397DC E002458C 3C01800B */ lui $at, 0x800b +/* 3397E0 E0024590 00220821 */ addu $at, $at, $v0 +/* 3397E4 E0024594 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3397E8 E0024598 3C014110 */ lui $at, 0x4110 +/* 3397EC E002459C 4481C000 */ mtc1 $at, $f24 +/* 3397F0 E00245A0 08009176 */ j .LE00245D8 +/* 3397F4 E00245A4 46000787 */ neg.s $f30, $f0 +.LE00245A8: +/* 3397F8 E00245A8 00431021 */ addu $v0, $v0, $v1 +/* 3397FC E00245AC 000210C0 */ sll $v0, $v0, 3 +/* 339800 E00245B0 00431021 */ addu $v0, $v0, $v1 +/* 339804 E00245B4 4482B000 */ mtc1 $v0, $f22 +/* 339808 E00245B8 00000000 */ nop +/* 33980C E00245BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 339810 E00245C0 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 339814 E00245C4 3C0140C0 */ lui $at, 0x40c0 +/* 339818 E00245C8 4481C000 */ mtc1 $at, $f24 +/* 33981C E00245CC 4480F000 */ mtc1 $zero, $f30 +/* 339820 E00245D0 4604D682 */ mul.s $f26, $f26, $f4 +/* 339824 E00245D4 00000000 */ nop +.LE00245D8: +/* 339828 E00245D8 0000B82D */ daddu $s7, $zero, $zero +/* 33982C E00245DC 3C1E8007 */ lui $fp, 0x8007 +/* 339830 E00245E0 27DE41F0 */ addiu $fp, $fp, 0x41f0 +/* 339834 E00245E4 3C080001 */ lui $t0, 1 +/* 339838 E00245E8 35081630 */ ori $t0, $t0, 0x1630 +/* 33983C E00245EC 4480E000 */ mtc1 $zero, $f28 +/* 339840 E00245F0 3C15800A */ lui $s5, 0x800a +/* 339844 E00245F4 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 339848 E00245F8 AFA8008C */ sw $t0, 0x8c($sp) +.LE00245FC: +/* 33984C E00245FC 1AE00033 */ blez $s7, .LE00246CC +/* 339850 E0024600 00000000 */ nop +/* 339854 E0024604 8FA80070 */ lw $t0, 0x70($sp) +/* 339858 E0024608 15000013 */ bnez $t0, .LE0024658 +/* 33985C E002460C 00000000 */ nop +/* 339860 E0024610 3C01428C */ lui $at, 0x428c +/* 339864 E0024614 44810000 */ mtc1 $at, $f0 +/* 339868 E0024618 00000000 */ nop +/* 33986C E002461C 4600B581 */ sub.s $f22, $f22, $f0 +/* 339870 E0024620 C6C0001C */ lwc1 $f0, 0x1c($s6) +/* 339874 E0024624 46000000 */ add.s $f0, $f0, $f0 +/* 339878 E0024628 4600D681 */ sub.s $f26, $f26, $f0 +/* 33987C E002462C C6C00020 */ lwc1 $f0, 0x20($s6) +/* 339880 E0024630 46000000 */ add.s $f0, $f0, $f0 +/* 339884 E0024634 C7A40084 */ lwc1 $f4, 0x84($sp) +/* 339888 E0024638 46002101 */ sub.s $f4, $f4, $f0 +/* 33988C E002463C E7A40084 */ swc1 $f4, 0x84($sp) +/* 339890 E0024640 C6C00024 */ lwc1 $f0, 0x24($s6) +/* 339894 E0024644 46000000 */ add.s $f0, $f0, $f0 +/* 339898 E0024648 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 33989C E002464C 46002101 */ sub.s $f4, $f4, $f0 +/* 3398A0 E0024650 080091A4 */ j .LE0024690 +/* 3398A4 E0024654 E7A40088 */ swc1 $f4, 0x88($sp) +.LE0024658: +/* 3398A8 E0024658 C6C0001C */ lwc1 $f0, 0x1c($s6) +/* 3398AC E002465C 3C01E002 */ lui $at, 0xe002 +/* 3398B0 E0024660 D4224D00 */ ldc1 $f2, 0x4d00($at) +/* 3398B4 E0024664 46000021 */ cvt.d.s $f0, $f0 +/* 3398B8 E0024668 46220002 */ mul.d $f0, $f0, $f2 +/* 3398BC E002466C 00000000 */ nop +/* 3398C0 E0024670 46200000 */ add.d $f0, $f0, $f0 +/* 3398C4 E0024674 4600D0A1 */ cvt.d.s $f2, $f26 +/* 3398C8 E0024678 46201081 */ sub.d $f2, $f2, $f0 +/* 3398CC E002467C 3C014248 */ lui $at, 0x4248 +/* 3398D0 E0024680 44810000 */ mtc1 $at, $f0 +/* 3398D4 E0024684 00000000 */ nop +/* 3398D8 E0024688 4600B581 */ sub.s $f22, $f22, $f0 +/* 3398DC E002468C 462016A0 */ cvt.s.d $f26, $f2 +.LE0024690: +/* 3398E0 E0024690 3C048080 */ lui $a0, 0x8080 +/* 3398E4 E0024694 8EC30034 */ lw $v1, 0x34($s6) +/* 3398E8 E0024698 34848081 */ ori $a0, $a0, 0x8081 +/* 3398EC E002469C 00031040 */ sll $v0, $v1, 1 +/* 3398F0 E00246A0 00431021 */ addu $v0, $v0, $v1 +/* 3398F4 E00246A4 000210C0 */ sll $v0, $v0, 3 +/* 3398F8 E00246A8 00431021 */ addu $v0, $v0, $v1 +/* 3398FC E00246AC 00021080 */ sll $v0, $v0, 2 +/* 339900 E00246B0 00440018 */ mult $v0, $a0 +/* 339904 E00246B4 00004010 */ mfhi $t0 +/* 339908 E00246B8 01021821 */ addu $v1, $t0, $v0 +/* 33990C E00246BC 000319C3 */ sra $v1, $v1, 7 +/* 339910 E00246C0 000217C3 */ sra $v0, $v0, 0x1f +/* 339914 E00246C4 00621823 */ subu $v1, $v1, $v0 +/* 339918 E00246C8 AFA30080 */ sw $v1, 0x80($sp) +.LE00246CC: +/* 33991C E00246CC C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 339920 E00246D0 4405E000 */ mfc1 $a1, $f28 +/* 339924 E00246D4 4406F000 */ mfc1 $a2, $f30 +/* 339928 E00246D8 4407E000 */ mfc1 $a3, $f28 +/* 33992C E00246DC E7A40010 */ swc1 $f4, 0x10($sp) +/* 339930 E00246E0 C7A40084 */ lwc1 $f4, 0x84($sp) +/* 339934 E00246E4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 339938 E00246E8 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 33993C E00246EC 27A40020 */ addiu $a0, $sp, 0x20 +/* 339940 E00246F0 E7BA0014 */ swc1 $f26, 0x14($sp) +/* 339944 E00246F4 0C080180 */ jal func_E0200600 +/* 339948 E00246F8 E7A4001C */ swc1 $f4, 0x1c($sp) +/* 33994C E00246FC 27A40020 */ addiu $a0, $sp, 0x20 +/* 339950 E0024700 97C50000 */ lhu $a1, ($fp) +/* 339954 E0024704 3C02800A */ lui $v0, 0x800a +/* 339958 E0024708 8C42A674 */ lw $v0, -0x598c($v0) +/* 33995C E002470C 8FA8008C */ lw $t0, 0x8c($sp) +/* 339960 E0024710 00052980 */ sll $a1, $a1, 6 +/* 339964 E0024714 00A82821 */ addu $a1, $a1, $t0 +/* 339968 E0024718 0C080118 */ jal func_E0200460 +/* 33996C E002471C 00452821 */ addu $a1, $v0, $a1 +/* 339970 E0024720 8EA20000 */ lw $v0, ($s5) +/* 339974 E0024724 4600B306 */ mov.s $f12, $f22 +/* 339978 E0024728 0040202D */ daddu $a0, $v0, $zero +/* 33997C E002472C 24420008 */ addiu $v0, $v0, 8 +/* 339980 E0024730 AEA20000 */ sw $v0, ($s5) +/* 339984 E0024734 97C20000 */ lhu $v0, ($fp) +/* 339988 E0024738 3C03DA38 */ lui $v1, 0xda38 +/* 33998C E002473C AC830000 */ sw $v1, ($a0) +/* 339990 E0024740 24430001 */ addiu $v1, $v0, 1 +/* 339994 E0024744 3042FFFF */ andi $v0, $v0, 0xffff +/* 339998 E0024748 00021180 */ sll $v0, $v0, 6 +/* 33999C E002474C A7C30000 */ sh $v1, ($fp) +/* 3399A0 E0024750 8FA8008C */ lw $t0, 0x8c($sp) +/* 3399A4 E0024754 3C03800A */ lui $v1, 0x800a +/* 3399A8 E0024758 8C63A674 */ lw $v1, -0x598c($v1) +/* 3399AC E002475C 00481021 */ addu $v0, $v0, $t0 +/* 3399B0 E0024760 00621821 */ addu $v1, $v1, $v0 +/* 3399B4 E0024764 0C080140 */ jal func_E0200500 +/* 3399B8 E0024768 AC830004 */ sw $v1, 4($a0) +/* 3399BC E002476C 46180502 */ mul.s $f20, $f0, $f24 +/* 3399C0 E0024770 00000000 */ nop +/* 3399C4 E0024774 0C080144 */ jal func_E0200510 +/* 3399C8 E0024778 4600B306 */ mov.s $f12, $f22 +/* 3399CC E002477C 46180002 */ mul.s $f0, $f0, $f24 +/* 3399D0 E0024780 00000000 */ nop +/* 3399D4 E0024784 27A40020 */ addiu $a0, $sp, 0x20 +/* 3399D8 E0024788 4407E000 */ mfc1 $a3, $f28 +/* 3399DC E002478C 3C0142F0 */ lui $at, 0x42f0 +/* 3399E0 E0024790 44812000 */ mtc1 $at, $f4 +/* 3399E4 E0024794 44060000 */ mfc1 $a2, $f0 +/* 3399E8 E0024798 4405A000 */ mfc1 $a1, $f20 +/* 3399EC E002479C 0C080108 */ jal func_E0200420 +/* 3399F0 E00247A0 4604B580 */ add.s $f22, $f22, $f4 +/* 3399F4 E00247A4 27A40020 */ addiu $a0, $sp, 0x20 +/* 3399F8 E00247A8 97C30000 */ lhu $v1, ($fp) +/* 3399FC E00247AC 3C05800A */ lui $a1, 0x800a +/* 339A00 E00247B0 8CA5A674 */ lw $a1, -0x598c($a1) +/* 339A04 E00247B4 8FA8008C */ lw $t0, 0x8c($sp) +/* 339A08 E00247B8 3062FFFF */ andi $v0, $v1, 0xffff +/* 339A0C E00247BC 00021180 */ sll $v0, $v0, 6 +/* 339A10 E00247C0 00481021 */ addu $v0, $v0, $t0 +/* 339A14 E00247C4 00A22821 */ addu $a1, $a1, $v0 +/* 339A18 E00247C8 24630001 */ addiu $v1, $v1, 1 +/* 339A1C E00247CC A7C30000 */ sh $v1, ($fp) +/* 339A20 E00247D0 0C080118 */ jal func_E0200460 +/* 339A24 E00247D4 AFA50060 */ sw $a1, 0x60($sp) +/* 339A28 E00247D8 0C080140 */ jal func_E0200500 +/* 339A2C E00247DC 4600B306 */ mov.s $f12, $f22 +/* 339A30 E00247E0 46180502 */ mul.s $f20, $f0, $f24 +/* 339A34 E00247E4 00000000 */ nop +/* 339A38 E00247E8 0C080144 */ jal func_E0200510 +/* 339A3C E00247EC 4600B306 */ mov.s $f12, $f22 +/* 339A40 E00247F0 46180002 */ mul.s $f0, $f0, $f24 +/* 339A44 E00247F4 00000000 */ nop +/* 339A48 E00247F8 27A40020 */ addiu $a0, $sp, 0x20 +/* 339A4C E00247FC 4407E000 */ mfc1 $a3, $f28 +/* 339A50 E0024800 3C0142F0 */ lui $at, 0x42f0 +/* 339A54 E0024804 44812000 */ mtc1 $at, $f4 +/* 339A58 E0024808 44060000 */ mfc1 $a2, $f0 +/* 339A5C E002480C 4405A000 */ mfc1 $a1, $f20 +/* 339A60 E0024810 0C080108 */ jal func_E0200420 +/* 339A64 E0024814 4604B580 */ add.s $f22, $f22, $f4 +/* 339A68 E0024818 27A40020 */ addiu $a0, $sp, 0x20 +/* 339A6C E002481C 97C30000 */ lhu $v1, ($fp) +/* 339A70 E0024820 3C05800A */ lui $a1, 0x800a +/* 339A74 E0024824 8CA5A674 */ lw $a1, -0x598c($a1) +/* 339A78 E0024828 8FA8008C */ lw $t0, 0x8c($sp) +/* 339A7C E002482C 3062FFFF */ andi $v0, $v1, 0xffff +/* 339A80 E0024830 00021180 */ sll $v0, $v0, 6 +/* 339A84 E0024834 00481021 */ addu $v0, $v0, $t0 +/* 339A88 E0024838 00A22821 */ addu $a1, $a1, $v0 +/* 339A8C E002483C 24630001 */ addiu $v1, $v1, 1 +/* 339A90 E0024840 A7C30000 */ sh $v1, ($fp) +/* 339A94 E0024844 0C080118 */ jal func_E0200460 +/* 339A98 E0024848 AFA50064 */ sw $a1, 0x64($sp) +/* 339A9C E002484C 0C080140 */ jal func_E0200500 +/* 339AA0 E0024850 4600B306 */ mov.s $f12, $f22 +/* 339AA4 E0024854 46180502 */ mul.s $f20, $f0, $f24 +/* 339AA8 E0024858 00000000 */ nop +/* 339AAC E002485C 0C080144 */ jal func_E0200510 +/* 339AB0 E0024860 4600B306 */ mov.s $f12, $f22 +/* 339AB4 E0024864 46180002 */ mul.s $f0, $f0, $f24 +/* 339AB8 E0024868 00000000 */ nop +/* 339ABC E002486C 0000A02D */ daddu $s4, $zero, $zero +/* 339AC0 E0024870 3C13E002 */ lui $s3, 0xe002 +/* 339AC4 E0024874 26734CC0 */ addiu $s3, $s3, 0x4cc0 +/* 339AC8 E0024878 4407E000 */ mfc1 $a3, $f28 +/* 339ACC E002487C 44060000 */ mfc1 $a2, $f0 +/* 339AD0 E0024880 4405A000 */ mfc1 $a1, $f20 +/* 339AD4 E0024884 0C080108 */ jal func_E0200420 +/* 339AD8 E0024888 27A40020 */ addiu $a0, $sp, 0x20 +/* 339ADC E002488C 27A40020 */ addiu $a0, $sp, 0x20 +/* 339AE0 E0024890 97C30000 */ lhu $v1, ($fp) +/* 339AE4 E0024894 3C05800A */ lui $a1, 0x800a +/* 339AE8 E0024898 8CA5A674 */ lw $a1, -0x598c($a1) +/* 339AEC E002489C 8FA8008C */ lw $t0, 0x8c($sp) +/* 339AF0 E00248A0 3062FFFF */ andi $v0, $v1, 0xffff +/* 339AF4 E00248A4 00021180 */ sll $v0, $v0, 6 +/* 339AF8 E00248A8 00481021 */ addu $v0, $v0, $t0 +/* 339AFC E00248AC 00A22821 */ addu $a1, $a1, $v0 +/* 339B00 E00248B0 24630001 */ addiu $v1, $v1, 1 +/* 339B04 E00248B4 A7C30000 */ sh $v1, ($fp) +/* 339B08 E00248B8 0C080118 */ jal func_E0200460 +/* 339B0C E00248BC AFA50068 */ sw $a1, 0x68($sp) +.LE00248C0: +/* 339B10 E00248C0 8EB20000 */ lw $s2, ($s5) +/* 339B14 E00248C4 3C02DA38 */ lui $v0, 0xda38 +/* 339B18 E00248C8 0240202D */ daddu $a0, $s2, $zero +/* 339B1C E00248CC 26520008 */ addiu $s2, $s2, 8 +/* 339B20 E00248D0 AEB20000 */ sw $s2, ($s5) +/* 339B24 E00248D4 AC820000 */ sw $v0, ($a0) +/* 339B28 E00248D8 00141080 */ sll $v0, $s4, 2 +/* 339B2C E00248DC 03A21021 */ addu $v0, $sp, $v0 +/* 339B30 E00248E0 8C430060 */ lw $v1, 0x60($v0) +/* 339B34 E00248E4 26420008 */ addiu $v0, $s2, 8 +/* 339B38 E00248E8 AEA20000 */ sw $v0, ($s5) +/* 339B3C E00248EC 3C02FA00 */ lui $v0, 0xfa00 +/* 339B40 E00248F0 AC830004 */ sw $v1, 4($a0) +/* 339B44 E00248F4 AE420000 */ sw $v0, ($s2) +/* 339B48 E00248F8 92640001 */ lbu $a0, 1($s3) +/* 339B4C E00248FC 0C0090EF */ jal func_E00243BC +/* 339B50 E0024900 92650000 */ lbu $a1, ($s3) +/* 339B54 E0024904 92640002 */ lbu $a0, 2($s3) +/* 339B58 E0024908 92650000 */ lbu $a1, ($s3) +/* 339B5C E002490C 0C0090EF */ jal func_E00243BC +/* 339B60 E0024910 0040882D */ daddu $s1, $v0, $zero +/* 339B64 E0024914 92640003 */ lbu $a0, 3($s3) +/* 339B68 E0024918 92650000 */ lbu $a1, ($s3) +/* 339B6C E002491C 0C0090EF */ jal func_E00243BC +/* 339B70 E0024920 0040802D */ daddu $s0, $v0, $zero +/* 339B74 E0024924 00118E00 */ sll $s1, $s1, 0x18 +/* 339B78 E0024928 321000FF */ andi $s0, $s0, 0xff +/* 339B7C E002492C 00108400 */ sll $s0, $s0, 0x10 +/* 339B80 E0024930 02308825 */ or $s1, $s1, $s0 +/* 339B84 E0024934 304200FF */ andi $v0, $v0, 0xff +/* 339B88 E0024938 00021200 */ sll $v0, $v0, 8 +/* 339B8C E002493C 02228825 */ or $s1, $s1, $v0 +/* 339B90 E0024940 8FA80080 */ lw $t0, 0x80($sp) +/* 339B94 E0024944 8EA30000 */ lw $v1, ($s5) +/* 339B98 E0024948 310200FF */ andi $v0, $t0, 0xff +/* 339B9C E002494C 02228825 */ or $s1, $s1, $v0 +/* 339BA0 E0024950 AE510004 */ sw $s1, 4($s2) +/* 339BA4 E0024954 0060902D */ daddu $s2, $v1, $zero +/* 339BA8 E0024958 24630008 */ addiu $v1, $v1, 8 +/* 339BAC E002495C 3C02FB00 */ lui $v0, 0xfb00 +/* 339BB0 E0024960 AEA30000 */ sw $v1, ($s5) +/* 339BB4 E0024964 AE420000 */ sw $v0, ($s2) +/* 339BB8 E0024968 92640001 */ lbu $a0, 1($s3) +/* 339BBC E002496C 0C0090C9 */ jal func_E0024324 +/* 339BC0 E0024970 92650000 */ lbu $a1, ($s3) +/* 339BC4 E0024974 92640002 */ lbu $a0, 2($s3) +/* 339BC8 E0024978 92650000 */ lbu $a1, ($s3) +/* 339BCC E002497C 0C0090C9 */ jal func_E0024324 +/* 339BD0 E0024980 0040882D */ daddu $s1, $v0, $zero +/* 339BD4 E0024984 92640003 */ lbu $a0, 3($s3) +/* 339BD8 E0024988 92650000 */ lbu $a1, ($s3) +/* 339BDC E002498C 0C0090C9 */ jal func_E0024324 +/* 339BE0 E0024990 0040802D */ daddu $s0, $v0, $zero +/* 339BE4 E0024994 00118E00 */ sll $s1, $s1, 0x18 +/* 339BE8 E0024998 321000FF */ andi $s0, $s0, 0xff +/* 339BEC E002499C 00108400 */ sll $s0, $s0, 0x10 +/* 339BF0 E00249A0 02308825 */ or $s1, $s1, $s0 +/* 339BF4 E00249A4 304200FF */ andi $v0, $v0, 0xff +/* 339BF8 E00249A8 00021200 */ sll $v0, $v0, 8 +/* 339BFC E00249AC 02228825 */ or $s1, $s1, $v0 +/* 339C00 E00249B0 363100FF */ ori $s1, $s1, 0xff +/* 339C04 E00249B4 8EA40000 */ lw $a0, ($s5) +/* 339C08 E00249B8 3C02DE00 */ lui $v0, 0xde00 +/* 339C0C E00249BC AE510004 */ sw $s1, 4($s2) +/* 339C10 E00249C0 0080182D */ daddu $v1, $a0, $zero +/* 339C14 E00249C4 24840008 */ addiu $a0, $a0, 8 +/* 339C18 E00249C8 AEA40000 */ sw $a0, ($s5) +/* 339C1C E00249CC AC620000 */ sw $v0, ($v1) +/* 339C20 E00249D0 8FA80070 */ lw $t0, 0x70($sp) +/* 339C24 E00249D4 15000004 */ bnez $t0, .LE00249E8 +/* 339C28 E00249D8 24630004 */ addiu $v1, $v1, 4 +/* 339C2C E00249DC 8E640004 */ lw $a0, 4($s3) +/* 339C30 E00249E0 0800927C */ j .LE00249F0 +/* 339C34 E00249E4 3C05D838 */ lui $a1, 0xd838 +.LE00249E8: +/* 339C38 E00249E8 8E640008 */ lw $a0, 8($s3) +/* 339C3C E00249EC 3C05D838 */ lui $a1, 0xd838 +.LE00249F0: +/* 339C40 E00249F0 34A50002 */ ori $a1, $a1, 2 +/* 339C44 E00249F4 2673000C */ addiu $s3, $s3, 0xc +/* 339C48 E00249F8 8EA20000 */ lw $v0, ($s5) +/* 339C4C E00249FC 26940001 */ addiu $s4, $s4, 1 +/* 339C50 E0024A00 AC640000 */ sw $a0, ($v1) +/* 339C54 E0024A04 24040040 */ addiu $a0, $zero, 0x40 +/* 339C58 E0024A08 0040182D */ daddu $v1, $v0, $zero +/* 339C5C E0024A0C 24420008 */ addiu $v0, $v0, 8 +/* 339C60 E0024A10 AEA20000 */ sw $v0, ($s5) +/* 339C64 E0024A14 2A820003 */ slti $v0, $s4, 3 +/* 339C68 E0024A18 AC650000 */ sw $a1, ($v1) +/* 339C6C E0024A1C 1440FFA8 */ bnez $v0, .LE00248C0 +/* 339C70 E0024A20 AC640004 */ sw $a0, 4($v1) +/* 339C74 E0024A24 8EA20000 */ lw $v0, ($s5) +/* 339C78 E0024A28 26F70001 */ addiu $s7, $s7, 1 +/* 339C7C E0024A2C 0040182D */ daddu $v1, $v0, $zero +/* 339C80 E0024A30 24420008 */ addiu $v0, $v0, 8 +/* 339C84 E0024A34 AEA20000 */ sw $v0, ($s5) +/* 339C88 E0024A38 2AE20003 */ slti $v0, $s7, 3 +/* 339C8C E0024A3C AC650000 */ sw $a1, ($v1) +/* 339C90 E0024A40 1440FEEE */ bnez $v0, .LE00245FC +/* 339C94 E0024A44 AC640004 */ sw $a0, 4($v1) +/* 339C98 E0024A48 3C02800A */ lui $v0, 0x800a +/* 339C9C E0024A4C 2442A66C */ addiu $v0, $v0, -0x5994 +/* 339CA0 E0024A50 8C430000 */ lw $v1, ($v0) +/* 339CA4 E0024A54 0060202D */ daddu $a0, $v1, $zero +/* 339CA8 E0024A58 24630008 */ addiu $v1, $v1, 8 +/* 339CAC E0024A5C AC430000 */ sw $v1, ($v0) +/* 339CB0 E0024A60 3C02DF00 */ lui $v0, 0xdf00 +/* 339CB4 E0024A64 AC820000 */ sw $v0, ($a0) +/* 339CB8 E0024A68 AC800004 */ sw $zero, 4($a0) +/* 339CBC E0024A6C 8FA80078 */ lw $t0, 0x78($sp) +/* 339CC0 E0024A70 3C02DE01 */ lui $v0, 0xde01 +/* 339CC4 E0024A74 AD020000 */ sw $v0, ($t0) +/* 339CC8 E0024A78 AD030004 */ sw $v1, 4($t0) +/* 339CCC E0024A7C 8FA80070 */ lw $t0, 0x70($sp) +/* 339CD0 E0024A80 15000004 */ bnez $t0, .LE0024A94 +/* 339CD4 E0024A84 00000000 */ nop +/* 339CD8 E0024A88 4480F000 */ mtc1 $zero, $f30 +/* 339CDC E0024A8C 080092B2 */ j .LE0024AC8 +/* 339CE0 E0024A90 00000000 */ nop +.LE0024A94: +/* 339CE4 E0024A94 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 339CE8 E0024A98 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 339CEC E0024A9C 00031080 */ sll $v0, $v1, 2 +/* 339CF0 E0024AA0 00431021 */ addu $v0, $v0, $v1 +/* 339CF4 E0024AA4 00021080 */ sll $v0, $v0, 2 +/* 339CF8 E0024AA8 00431023 */ subu $v0, $v0, $v1 +/* 339CFC E0024AAC 000218C0 */ sll $v1, $v0, 3 +/* 339D00 E0024AB0 00431021 */ addu $v0, $v0, $v1 +/* 339D04 E0024AB4 000210C0 */ sll $v0, $v0, 3 +/* 339D08 E0024AB8 3C01800B */ lui $at, 0x800b +/* 339D0C E0024ABC 00220821 */ addu $at, $at, $v0 +/* 339D10 E0024AC0 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 339D14 E0024AC4 46000787 */ neg.s $f30, $f0 +.LE0024AC8: +/* 339D18 E0024AC8 4480A000 */ mtc1 $zero, $f20 +/* 339D1C E0024ACC 3C013F80 */ lui $at, 0x3f80 +/* 339D20 E0024AD0 4481B000 */ mtc1 $at, $f22 +/* 339D24 E0024AD4 4406F000 */ mfc1 $a2, $f30 +/* 339D28 E0024AD8 4405A000 */ mfc1 $a1, $f20 +/* 339D2C E0024ADC 4407A000 */ mfc1 $a3, $f20 +/* 339D30 E0024AE0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 339D34 E0024AE4 C6C00004 */ lwc1 $f0, 4($s6) +/* 339D38 E0024AE8 27A40020 */ addiu $a0, $sp, 0x20 +/* 339D3C E0024AEC E7A00014 */ swc1 $f0, 0x14($sp) +/* 339D40 E0024AF0 C6C00008 */ lwc1 $f0, 8($s6) +/* 339D44 E0024AF4 3C100001 */ lui $s0, 1 +/* 339D48 E0024AF8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 339D4C E0024AFC C6C0000C */ lwc1 $f0, 0xc($s6) +/* 339D50 E0024B00 36101630 */ ori $s0, $s0, 0x1630 +/* 339D54 E0024B04 0C080180 */ jal func_E0200600 +/* 339D58 E0024B08 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 339D5C E0024B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* 339D60 E0024B10 3C118007 */ lui $s1, 0x8007 +/* 339D64 E0024B14 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 339D68 E0024B18 3C13800A */ lui $s3, 0x800a +/* 339D6C E0024B1C 2673A674 */ addiu $s3, $s3, -0x598c +/* 339D70 E0024B20 96250000 */ lhu $a1, ($s1) +/* 339D74 E0024B24 8E620000 */ lw $v0, ($s3) +/* 339D78 E0024B28 00052980 */ sll $a1, $a1, 6 +/* 339D7C E0024B2C 00B02821 */ addu $a1, $a1, $s0 +/* 339D80 E0024B30 0C080118 */ jal func_E0200460 +/* 339D84 E0024B34 00452821 */ addu $a1, $v0, $a1 +/* 339D88 E0024B38 3C12800A */ lui $s2, 0x800a +/* 339D8C E0024B3C 2652A66C */ addiu $s2, $s2, -0x5994 +/* 339D90 E0024B40 8E450000 */ lw $a1, ($s2) +/* 339D94 E0024B44 00A0202D */ daddu $a0, $a1, $zero +/* 339D98 E0024B48 24A50008 */ addiu $a1, $a1, 8 +/* 339D9C E0024B4C AE450000 */ sw $a1, ($s2) +/* 339DA0 E0024B50 96220000 */ lhu $v0, ($s1) +/* 339DA4 E0024B54 3C03DA38 */ lui $v1, 0xda38 +/* 339DA8 E0024B58 AC830000 */ sw $v1, ($a0) +/* 339DAC E0024B5C 24430001 */ addiu $v1, $v0, 1 +/* 339DB0 E0024B60 3042FFFF */ andi $v0, $v0, 0xffff +/* 339DB4 E0024B64 00021180 */ sll $v0, $v0, 6 +/* 339DB8 E0024B68 A6230000 */ sh $v1, ($s1) +/* 339DBC E0024B6C 8E630000 */ lw $v1, ($s3) +/* 339DC0 E0024B70 00501021 */ addu $v0, $v0, $s0 +/* 339DC4 E0024B74 00621821 */ addu $v1, $v1, $v0 +/* 339DC8 E0024B78 AC830004 */ sw $v1, 4($a0) +/* 339DCC E0024B7C 8FA80070 */ lw $t0, 0x70($sp) +/* 339DD0 E0024B80 15000008 */ bnez $t0, .LE0024BA4 +/* 339DD4 E0024B84 27A40020 */ addiu $a0, $sp, 0x20 +/* 339DD8 E0024B88 24A20008 */ addiu $v0, $a1, 8 +/* 339DDC E0024B8C AE420000 */ sw $v0, ($s2) +/* 339DE0 E0024B90 3C02DE00 */ lui $v0, 0xde00 +/* 339DE4 E0024B94 ACA20000 */ sw $v0, ($a1) +/* 339DE8 E0024B98 8FA80074 */ lw $t0, 0x74($sp) +/* 339DEC E0024B9C 0800930C */ j .LE0024C30 +/* 339DF0 E0024BA0 ACA80004 */ sw $t0, 4($a1) +.LE0024BA4: +/* 339DF4 E0024BA4 3C0541F0 */ lui $a1, 0x41f0 +/* 339DF8 E0024BA8 4406A000 */ mfc1 $a2, $f20 +/* 339DFC E0024BAC 0000B82D */ daddu $s7, $zero, $zero +/* 339E00 E0024BB0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 339E04 E0024BB4 0C080104 */ jal func_E0200410 +/* 339E08 E0024BB8 00C0382D */ daddu $a3, $a2, $zero +/* 339E0C E0024BBC 27A40020 */ addiu $a0, $sp, 0x20 +/* 339E10 E0024BC0 96220000 */ lhu $v0, ($s1) +/* 339E14 E0024BC4 8E650000 */ lw $a1, ($s3) +/* 339E18 E0024BC8 3043FFFF */ andi $v1, $v0, 0xffff +/* 339E1C E0024BCC 00031980 */ sll $v1, $v1, 6 +/* 339E20 E0024BD0 00701821 */ addu $v1, $v1, $s0 +/* 339E24 E0024BD4 00A38021 */ addu $s0, $a1, $v1 +/* 339E28 E0024BD8 0200282D */ daddu $a1, $s0, $zero +/* 339E2C E0024BDC 24420001 */ addiu $v0, $v0, 1 +/* 339E30 E0024BE0 0C080118 */ jal func_E0200460 +/* 339E34 E0024BE4 A6220000 */ sh $v0, ($s1) +/* 339E38 E0024BE8 0240202D */ daddu $a0, $s2, $zero +/* 339E3C E0024BEC 3C05DA38 */ lui $a1, 0xda38 +/* 339E40 E0024BF0 34A50001 */ ori $a1, $a1, 1 +/* 339E44 E0024BF4 3C06DE00 */ lui $a2, 0xde00 +.LE0024BF8: +/* 339E48 E0024BF8 8C830000 */ lw $v1, ($a0) +/* 339E4C E0024BFC 26F70001 */ addiu $s7, $s7, 1 +/* 339E50 E0024C00 0060102D */ daddu $v0, $v1, $zero +/* 339E54 E0024C04 24630008 */ addiu $v1, $v1, 8 +/* 339E58 E0024C08 AC830000 */ sw $v1, ($a0) +/* 339E5C E0024C0C AC450000 */ sw $a1, ($v0) +/* 339E60 E0024C10 AC500004 */ sw $s0, 4($v0) +/* 339E64 E0024C14 24620008 */ addiu $v0, $v1, 8 +/* 339E68 E0024C18 AC820000 */ sw $v0, ($a0) +/* 339E6C E0024C1C AC660000 */ sw $a2, ($v1) +/* 339E70 E0024C20 8FA80074 */ lw $t0, 0x74($sp) +/* 339E74 E0024C24 2AE2000C */ slti $v0, $s7, 0xc +/* 339E78 E0024C28 1440FFF3 */ bnez $v0, .LE0024BF8 +/* 339E7C E0024C2C AC680004 */ sw $t0, 4($v1) +.LE0024C30: +/* 339E80 E0024C30 3C03D838 */ lui $v1, 0xd838 +/* 339E84 E0024C34 3C04800A */ lui $a0, 0x800a +/* 339E88 E0024C38 2484A66C */ addiu $a0, $a0, -0x5994 +/* 339E8C E0024C3C 8C820000 */ lw $v0, ($a0) +/* 339E90 E0024C40 34630002 */ ori $v1, $v1, 2 +/* 339E94 E0024C44 0040282D */ daddu $a1, $v0, $zero +/* 339E98 E0024C48 24420008 */ addiu $v0, $v0, 8 +/* 339E9C E0024C4C AC820000 */ sw $v0, ($a0) +/* 339EA0 E0024C50 ACA30000 */ sw $v1, ($a1) +/* 339EA4 E0024C54 24030040 */ addiu $v1, $zero, 0x40 +/* 339EA8 E0024C58 ACA30004 */ sw $v1, 4($a1) +/* 339EAC E0024C5C 24430008 */ addiu $v1, $v0, 8 +/* 339EB0 E0024C60 AC830000 */ sw $v1, ($a0) +/* 339EB4 E0024C64 3C03E700 */ lui $v1, 0xe700 +/* 339EB8 E0024C68 AC430000 */ sw $v1, ($v0) +/* 339EBC E0024C6C AC400004 */ sw $zero, 4($v0) +/* 339EC0 E0024C70 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 339EC4 E0024C74 8FBE00B0 */ lw $fp, 0xb0($sp) +/* 339EC8 E0024C78 8FB700AC */ lw $s7, 0xac($sp) +/* 339ECC E0024C7C 8FB600A8 */ lw $s6, 0xa8($sp) +/* 339ED0 E0024C80 8FB500A4 */ lw $s5, 0xa4($sp) +/* 339ED4 E0024C84 8FB400A0 */ lw $s4, 0xa0($sp) +/* 339ED8 E0024C88 8FB3009C */ lw $s3, 0x9c($sp) +/* 339EDC E0024C8C 8FB20098 */ lw $s2, 0x98($sp) +/* 339EE0 E0024C90 8FB10094 */ lw $s1, 0x94($sp) +/* 339EE4 E0024C94 8FB00090 */ lw $s0, 0x90($sp) +/* 339EE8 E0024C98 D7BE00E0 */ ldc1 $f30, 0xe0($sp) +/* 339EEC E0024C9C D7BC00D8 */ ldc1 $f28, 0xd8($sp) +/* 339EF0 E0024CA0 D7BA00D0 */ ldc1 $f26, 0xd0($sp) +/* 339EF4 E0024CA4 D7B800C8 */ ldc1 $f24, 0xc8($sp) +/* 339EF8 E0024CA8 D7B600C0 */ ldc1 $f22, 0xc0($sp) +/* 339EFC E0024CAC D7B400B8 */ ldc1 $f20, 0xb8($sp) +/* 339F00 E0024CB0 03E00008 */ jr $ra +/* 339F04 E0024CB4 27BD00E8 */ addiu $sp, $sp, 0xe8 +/* 339F08 E0024CB8 00000000 */ nop +/* 339F0C E0024CBC 00000000 */ nop diff --git a/asm/nonmatchings/code_33B180/func_E0026000.s b/asm/nonmatchings/code_33B180/func_E0026000.s new file mode 100644 index 0000000000..217b739f85 --- /dev/null +++ b/asm/nonmatchings/code_33B180/func_E0026000.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0026000 +/* 33B180 E0026000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 33B184 E0026004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 33B188 E0026008 4485A000 */ mtc1 $a1, $f20 +/* 33B18C E002600C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 33B190 E0026010 4486B000 */ mtc1 $a2, $f22 +/* 33B194 E0026014 AFB1002C */ sw $s1, 0x2c($sp) +/* 33B198 E0026018 0080882D */ daddu $s1, $a0, $zero +/* 33B19C E002601C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 33B1A0 E0026020 4487C000 */ mtc1 $a3, $f24 +/* 33B1A4 E0026024 27A40010 */ addiu $a0, $sp, 0x10 +/* 33B1A8 E0026028 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 33B1AC E002602C C7BA0068 */ lwc1 $f26, 0x68($sp) +/* 33B1B0 E0026030 3C02E002 */ lui $v0, 0xe002 +/* 33B1B4 E0026034 24426184 */ addiu $v0, $v0, 0x6184 +/* 33B1B8 E0026038 AFA20018 */ sw $v0, 0x18($sp) +/* 33B1BC E002603C 3C02E002 */ lui $v0, 0xe002 +/* 33B1C0 E0026040 2442618C */ addiu $v0, $v0, 0x618c +/* 33B1C4 E0026044 AFA2001C */ sw $v0, 0x1c($sp) +/* 33B1C8 E0026048 3C02E002 */ lui $v0, 0xe002 +/* 33B1CC E002604C 244264B0 */ addiu $v0, $v0, 0x64b0 +/* 33B1D0 E0026050 AFA20020 */ sw $v0, 0x20($sp) +/* 33B1D4 E0026054 24020013 */ addiu $v0, $zero, 0x13 +/* 33B1D8 E0026058 AFBF0030 */ sw $ra, 0x30($sp) +/* 33B1DC E002605C AFB00028 */ sw $s0, 0x28($sp) +/* 33B1E0 E0026060 AFA00010 */ sw $zero, 0x10($sp) +/* 33B1E4 E0026064 AFA00024 */ sw $zero, 0x24($sp) +/* 33B1E8 E0026068 0C080124 */ jal func_E0200490 +/* 33B1EC E002606C AFA20014 */ sw $v0, 0x14($sp) +/* 33B1F0 E0026070 24040060 */ addiu $a0, $zero, 0x60 +/* 33B1F4 E0026074 24030001 */ addiu $v1, $zero, 1 +/* 33B1F8 E0026078 0040802D */ daddu $s0, $v0, $zero +/* 33B1FC E002607C 0C08012C */ jal func_E02004B0 +/* 33B200 E0026080 AE030008 */ sw $v1, 8($s0) +/* 33B204 E0026084 AE02000C */ sw $v0, 0xc($s0) +/* 33B208 E0026088 0040802D */ daddu $s0, $v0, $zero +/* 33B20C E002608C 56000003 */ bnel $s0, $zero, .LE002609C +/* 33B210 E0026090 AE110000 */ sw $s1, ($s0) +.LE0026094: +/* 33B214 E0026094 08009825 */ j .LE0026094 +/* 33B218 E0026098 00000000 */ nop +.LE002609C: +/* 33B21C E002609C 3C014120 */ lui $at, 0x4120 +/* 33B220 E00260A0 44810000 */ mtc1 $at, $f0 +/* 33B224 E00260A4 8FA2006C */ lw $v0, 0x6c($sp) +/* 33B228 E00260A8 24040168 */ addiu $a0, $zero, 0x168 +/* 33B22C E00260AC AE00002C */ sw $zero, 0x2c($s0) +/* 33B230 E00260B0 AE000024 */ sw $zero, 0x24($s0) +/* 33B234 E00260B4 E6140010 */ swc1 $f20, 0x10($s0) +/* 33B238 E00260B8 E6160014 */ swc1 $f22, 0x14($s0) +/* 33B23C E00260BC E6180018 */ swc1 $f24, 0x18($s0) +/* 33B240 E00260C0 AE000044 */ sw $zero, 0x44($s0) +/* 33B244 E00260C4 AE000040 */ sw $zero, 0x40($s0) +/* 33B248 E00260C8 AE00004C */ sw $zero, 0x4c($s0) +/* 33B24C E00260CC AE000048 */ sw $zero, 0x48($s0) +/* 33B250 E00260D0 AE000034 */ sw $zero, 0x34($s0) +/* 33B254 E00260D4 AE000030 */ sw $zero, 0x30($s0) +/* 33B258 E00260D8 AE00003C */ sw $zero, 0x3c($s0) +/* 33B25C E00260DC AE000038 */ sw $zero, 0x38($s0) +/* 33B260 E00260E0 E6140004 */ swc1 $f20, 4($s0) +/* 33B264 E00260E4 E6160008 */ swc1 $f22, 8($s0) +/* 33B268 E00260E8 E618000C */ swc1 $f24, 0xc($s0) +/* 33B26C E00260EC AE020028 */ sw $v0, 0x28($s0) +/* 33B270 E00260F0 0C080000 */ jal func_E0200000 +/* 33B274 E00260F4 E600001C */ swc1 $f0, 0x1c($s0) +/* 33B278 E00260F8 44820000 */ mtc1 $v0, $f0 +/* 33B27C E00260FC 00000000 */ nop +/* 33B280 E0026100 46800020 */ cvt.s.w $f0, $f0 +/* 33B284 E0026104 3C014080 */ lui $at, 0x4080 +/* 33B288 E0026108 44811000 */ mtc1 $at, $f2 +/* 33B28C E002610C 24020001 */ addiu $v0, $zero, 1 +/* 33B290 E0026110 E6000058 */ swc1 $f0, 0x58($s0) +/* 33B294 E0026114 AE000050 */ sw $zero, 0x50($s0) +/* 33B298 E0026118 AE000054 */ sw $zero, 0x54($s0) +/* 33B29C E002611C 16220005 */ bne $s1, $v0, .LE0026134 +/* 33B2A0 E0026120 E602005C */ swc1 $f2, 0x5c($s0) +/* 33B2A4 E0026124 24020060 */ addiu $v0, $zero, 0x60 +/* 33B2A8 E0026128 AE02003C */ sw $v0, 0x3c($s0) +/* 33B2AC E002612C 08009858 */ j .LE0026160 +/* 33B2B0 E0026130 E61A0020 */ swc1 $f26, 0x20($s0) +.LE0026134: +/* 33B2B4 E0026134 3C01E002 */ lui $at, 0xe002 +/* 33B2B8 E0026138 D4226A20 */ ldc1 $f2, 0x6a20($at) +/* 33B2BC E002613C 4600D021 */ cvt.d.s $f0, $f26 +/* 33B2C0 E0026140 46220002 */ mul.d $f0, $f0, $f2 +/* 33B2C4 E0026144 00000000 */ nop +/* 33B2C8 E0026148 2402FFFE */ addiu $v0, $zero, -2 +/* 33B2CC E002614C AE020044 */ sw $v0, 0x44($s0) +/* 33B2D0 E0026150 2402FFFC */ addiu $v0, $zero, -4 +/* 33B2D4 E0026154 AE02004C */ sw $v0, 0x4c($s0) +/* 33B2D8 E0026158 46200020 */ cvt.s.d $f0, $f0 +/* 33B2DC E002615C E6000020 */ swc1 $f0, 0x20($s0) +.LE0026160: +/* 33B2E0 E0026160 8FBF0030 */ lw $ra, 0x30($sp) +/* 33B2E4 E0026164 8FB1002C */ lw $s1, 0x2c($sp) +/* 33B2E8 E0026168 8FB00028 */ lw $s0, 0x28($sp) +/* 33B2EC E002616C D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 33B2F0 E0026170 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 33B2F4 E0026174 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 33B2F8 E0026178 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 33B2FC E002617C 03E00008 */ jr $ra +/* 33B300 E0026180 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_33B180/func_E0026184.s b/asm/nonmatchings/code_33B180/func_E0026184.s new file mode 100644 index 0000000000..0b6f1a738d --- /dev/null +++ b/asm/nonmatchings/code_33B180/func_E0026184.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0026184 +/* 33B304 E0026184 03E00008 */ jr $ra +/* 33B308 E0026188 00000000 */ nop diff --git a/asm/nonmatchings/code_33B180/func_E002618C.s b/asm/nonmatchings/code_33B180/func_E002618C.s new file mode 100644 index 0000000000..bd0d02a398 --- /dev/null +++ b/asm/nonmatchings/code_33B180/func_E002618C.s @@ -0,0 +1,215 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002618C +/* 33B30C E002618C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 33B310 E0026190 AFB1003C */ sw $s1, 0x3c($sp) +/* 33B314 E0026194 0080882D */ daddu $s1, $a0, $zero +/* 33B318 E0026198 AFBF0040 */ sw $ra, 0x40($sp) +/* 33B31C E002619C AFB00038 */ sw $s0, 0x38($sp) +/* 33B320 E00261A0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 33B324 E00261A4 8E30000C */ lw $s0, 0xc($s1) +/* 33B328 E00261A8 8E020028 */ lw $v0, 0x28($s0) +/* 33B32C E00261AC 2442FFFF */ addiu $v0, $v0, -1 +/* 33B330 E00261B0 AE020028 */ sw $v0, 0x28($s0) +/* 33B334 E00261B4 8E02002C */ lw $v0, 0x2c($s0) +/* 33B338 E00261B8 8E030028 */ lw $v1, 0x28($s0) +/* 33B33C E00261BC 24440001 */ addiu $a0, $v0, 1 +/* 33B340 E00261C0 04610005 */ bgez $v1, .LE00261D8 +/* 33B344 E00261C4 AE04002C */ sw $a0, 0x2c($s0) +/* 33B348 E00261C8 0C080128 */ jal func_E02004A0 +/* 33B34C E00261CC 0220202D */ daddu $a0, $s1, $zero +/* 33B350 E00261D0 08009926 */ j .LE0026498 +/* 33B354 E00261D4 00000000 */ nop +.LE00261D8: +/* 33B358 E00261D8 2882000B */ slti $v0, $a0, 0xb +/* 33B35C E00261DC 1040000B */ beqz $v0, .LE002620C +/* 33B360 E00261E0 0060282D */ daddu $a1, $v1, $zero +/* 33B364 E00261E4 3C036666 */ lui $v1, 0x6666 +/* 33B368 E00261E8 34636667 */ ori $v1, $v1, 0x6667 +/* 33B36C E00261EC 00041200 */ sll $v0, $a0, 8 +/* 33B370 E00261F0 00441023 */ subu $v0, $v0, $a0 +/* 33B374 E00261F4 00430018 */ mult $v0, $v1 +/* 33B378 E00261F8 000217C3 */ sra $v0, $v0, 0x1f +/* 33B37C E00261FC 00004010 */ mfhi $t0 +/* 33B380 E0026200 00081883 */ sra $v1, $t0, 2 +/* 33B384 E0026204 00621823 */ subu $v1, $v1, $v0 +/* 33B388 E0026208 AE030024 */ sw $v1, 0x24($s0) +.LE002620C: +/* 33B38C E002620C 28A20006 */ slti $v0, $a1, 6 +/* 33B390 E0026210 10400009 */ beqz $v0, .LE0026238 +/* 33B394 E0026214 3C032AAA */ lui $v1, 0x2aaa +/* 33B398 E0026218 3463AAAB */ ori $v1, $v1, 0xaaab +/* 33B39C E002621C 00051200 */ sll $v0, $a1, 8 +/* 33B3A0 E0026220 00451023 */ subu $v0, $v0, $a1 +/* 33B3A4 E0026224 00430018 */ mult $v0, $v1 +/* 33B3A8 E0026228 000217C3 */ sra $v0, $v0, 0x1f +/* 33B3AC E002622C 00004010 */ mfhi $t0 +/* 33B3B0 E0026230 01021023 */ subu $v0, $t0, $v0 +/* 33B3B4 E0026234 AE020024 */ sw $v0, 0x24($s0) +.LE0026238: +/* 33B3B8 E0026238 28A2000A */ slti $v0, $a1, 0xa +/* 33B3BC E002623C 1040000C */ beqz $v0, .LE0026270 +/* 33B3C0 E0026240 00000000 */ nop +/* 33B3C4 E0026244 8E020000 */ lw $v0, ($s0) +/* 33B3C8 E0026248 14400009 */ bnez $v0, .LE0026270 +/* 33B3CC E002624C 00000000 */ nop +/* 33B3D0 E0026250 C600001C */ lwc1 $f0, 0x1c($s0) +/* 33B3D4 E0026254 3C01E002 */ lui $at, 0xe002 +/* 33B3D8 E0026258 D4226A28 */ ldc1 $f2, 0x6a28($at) +/* 33B3DC E002625C 46000021 */ cvt.d.s $f0, $f0 +/* 33B3E0 E0026260 46220002 */ mul.d $f0, $f0, $f2 +/* 33B3E4 E0026264 00000000 */ nop +/* 33B3E8 E0026268 46200020 */ cvt.s.d $f0, $f0 +/* 33B3EC E002626C E600001C */ swc1 $f0, 0x1c($s0) +.LE0026270: +/* 33B3F0 E0026270 8E030000 */ lw $v1, ($s0) +/* 33B3F4 E0026274 24020001 */ addiu $v0, $zero, 1 +/* 33B3F8 E0026278 14620017 */ bne $v1, $v0, .LE00262D8 +/* 33B3FC E002627C 00051080 */ sll $v0, $a1, 2 +/* 33B400 E0026280 00451021 */ addu $v0, $v0, $a1 +/* 33B404 E0026284 00021040 */ sll $v0, $v0, 1 +/* 33B408 E0026288 44826000 */ mtc1 $v0, $f12 +/* 33B40C E002628C 00000000 */ nop +/* 33B410 E0026290 0C080140 */ jal func_E0200500 +/* 33B414 E0026294 46806320 */ cvt.s.w $f12, $f12 +/* 33B418 E0026298 3C01E002 */ lui $at, 0xe002 +/* 33B41C E002629C D4226A30 */ ldc1 $f2, 0x6a30($at) +/* 33B420 E00262A0 46000021 */ cvt.d.s $f0, $f0 +/* 33B424 E00262A4 46220002 */ mul.d $f0, $f0, $f2 +/* 33B428 E00262A8 00000000 */ nop +/* 33B42C E00262AC C6020020 */ lwc1 $f2, 0x20($s0) +/* 33B430 E00262B0 460010A1 */ cvt.d.s $f2, $f2 +/* 33B434 E00262B4 46220002 */ mul.d $f0, $f0, $f2 +/* 33B438 E00262B8 00000000 */ nop +/* 33B43C E00262BC C604001C */ lwc1 $f4, 0x1c($s0) +/* 33B440 E00262C0 46201080 */ add.d $f2, $f2, $f0 +/* 33B444 E00262C4 46002121 */ cvt.d.s $f4, $f4 +/* 33B448 E00262C8 3C01E002 */ lui $at, 0xe002 +/* 33B44C E00262CC D4206A38 */ ldc1 $f0, 0x6a38($at) +/* 33B450 E00262D0 080098CB */ j .LE002632C +/* 33B454 E00262D4 46241081 */ sub.d $f2, $f2, $f4 +.LE00262D8: +/* 33B458 E00262D8 00451021 */ addu $v0, $v0, $a1 +/* 33B45C E00262DC 00021040 */ sll $v0, $v0, 1 +/* 33B460 E00262E0 44826000 */ mtc1 $v0, $f12 +/* 33B464 E00262E4 00000000 */ nop +/* 33B468 E00262E8 0C080140 */ jal func_E0200500 +/* 33B46C E00262EC 46806320 */ cvt.s.w $f12, $f12 +/* 33B470 E00262F0 3C01E002 */ lui $at, 0xe002 +/* 33B474 E00262F4 D4226A40 */ ldc1 $f2, 0x6a40($at) +/* 33B478 E00262F8 46000021 */ cvt.d.s $f0, $f0 +/* 33B47C E00262FC 46220002 */ mul.d $f0, $f0, $f2 +/* 33B480 E0026300 00000000 */ nop +/* 33B484 E0026304 C6020020 */ lwc1 $f2, 0x20($s0) +/* 33B488 E0026308 460010A1 */ cvt.d.s $f2, $f2 +/* 33B48C E002630C 46220002 */ mul.d $f0, $f0, $f2 +/* 33B490 E0026310 00000000 */ nop +/* 33B494 E0026314 C604001C */ lwc1 $f4, 0x1c($s0) +/* 33B498 E0026318 46201080 */ add.d $f2, $f2, $f0 +/* 33B49C E002631C 46002121 */ cvt.d.s $f4, $f4 +/* 33B4A0 E0026320 46241081 */ sub.d $f2, $f2, $f4 +/* 33B4A4 E0026324 3C01E002 */ lui $at, 0xe002 +/* 33B4A8 E0026328 D4206A48 */ ldc1 $f0, 0x6a48($at) +.LE002632C: +/* 33B4AC E002632C 46201082 */ mul.d $f2, $f2, $f0 +/* 33B4B0 E0026330 00000000 */ nop +/* 33B4B4 E0026334 46222100 */ add.d $f4, $f4, $f2 +/* 33B4B8 E0026338 46202120 */ cvt.s.d $f4, $f4 +/* 33B4BC E002633C E604001C */ swc1 $f4, 0x1c($s0) +/* 33B4C0 E0026340 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33B4C4 E0026344 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33B4C8 E0026348 3C013F80 */ lui $at, 0x3f80 +/* 33B4CC E002634C 4481A000 */ mtc1 $at, $f20 +/* 33B4D0 E0026350 27A20028 */ addiu $v0, $sp, 0x28 +/* 33B4D4 E0026354 AFA20014 */ sw $v0, 0x14($sp) +/* 33B4D8 E0026358 27A2002C */ addiu $v0, $sp, 0x2c +/* 33B4DC E002635C AFA20018 */ sw $v0, 0x18($sp) +/* 33B4E0 E0026360 27A20030 */ addiu $v0, $sp, 0x30 +/* 33B4E4 E0026364 AFA2001C */ sw $v0, 0x1c($sp) +/* 33B4E8 E0026368 27A20034 */ addiu $v0, $sp, 0x34 +/* 33B4EC E002636C AFA20020 */ sw $v0, 0x20($sp) +/* 33B4F0 E0026370 00032080 */ sll $a0, $v1, 2 +/* 33B4F4 E0026374 00832021 */ addu $a0, $a0, $v1 +/* 33B4F8 E0026378 00042080 */ sll $a0, $a0, 2 +/* 33B4FC E002637C 00832023 */ subu $a0, $a0, $v1 +/* 33B500 E0026380 000410C0 */ sll $v0, $a0, 3 +/* 33B504 E0026384 00822021 */ addu $a0, $a0, $v0 +/* 33B508 E0026388 000420C0 */ sll $a0, $a0, 3 +/* 33B50C E002638C 3C02800B */ lui $v0, 0x800b +/* 33B510 E0026390 24421E54 */ addiu $v0, $v0, 0x1e54 +/* 33B514 E0026394 E7B40010 */ swc1 $f20, 0x10($sp) +/* 33B518 E0026398 8E050004 */ lw $a1, 4($s0) +/* 33B51C E002639C 8E060008 */ lw $a2, 8($s0) +/* 33B520 E00263A0 8E07000C */ lw $a3, 0xc($s0) +/* 33B524 E00263A4 0C080168 */ jal func_E02005A0 +/* 33B528 E00263A8 00822021 */ addu $a0, $a0, $v0 +/* 33B52C E00263AC C7A00034 */ lwc1 $f0, 0x34($sp) +/* 33B530 E00263B0 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 33B534 E00263B4 4600A503 */ div.s $f20, $f20, $f0 +/* 33B538 E00263B8 46142102 */ mul.s $f4, $f4, $f20 +/* 33B53C E00263BC 00000000 */ nop +/* 33B540 E00263C0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 33B544 E00263C4 46140002 */ mul.s $f0, $f0, $f20 +/* 33B548 E00263C8 00000000 */ nop +/* 33B54C E00263CC C7A20030 */ lwc1 $f2, 0x30($sp) +/* 33B550 E00263D0 46141082 */ mul.s $f2, $f2, $f20 +/* 33B554 E00263D4 00000000 */ nop +/* 33B558 E00263D8 AE000018 */ sw $zero, 0x18($s0) +/* 33B55C E00263DC E6040010 */ swc1 $f4, 0x10($s0) +/* 33B560 E00263E0 E6000014 */ swc1 $f0, 0x14($s0) +/* 33B564 E00263E4 8E220008 */ lw $v0, 8($s1) +/* 33B568 E00263E8 0000382D */ daddu $a3, $zero, $zero +/* 33B56C E00263EC E7B40034 */ swc1 $f20, 0x34($sp) +/* 33B570 E00263F0 E7A40028 */ swc1 $f4, 0x28($sp) +/* 33B574 E00263F4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 33B578 E00263F8 18400027 */ blez $v0, .LE0026498 +/* 33B57C E00263FC E7A20030 */ swc1 $f2, 0x30($sp) +/* 33B580 E0026400 26060048 */ addiu $a2, $s0, 0x48 +.LE0026404: +/* 33B584 E0026404 8CC2FFE8 */ lw $v0, -0x18($a2) +/* 33B588 E0026408 8CC3FFEC */ lw $v1, -0x14($a2) +/* 33B58C E002640C 8CC4FFF4 */ lw $a0, -0xc($a2) +/* 33B590 E0026410 8CC5FFFC */ lw $a1, -4($a2) +/* 33B594 E0026414 C4C40010 */ lwc1 $f4, 0x10($a2) +/* 33B598 E0026418 C4C00014 */ lwc1 $f0, 0x14($a2) +/* 33B59C E002641C C4C2000C */ lwc1 $f2, 0xc($a2) +/* 33B5A0 E0026420 00431021 */ addu $v0, $v0, $v1 +/* 33B5A4 E0026424 8CC3FFF8 */ lw $v1, -8($a2) +/* 33B5A8 E0026428 46002100 */ add.s $f4, $f4, $f0 +/* 33B5AC E002642C ACC2FFE8 */ sw $v0, -0x18($a2) +/* 33B5B0 E0026430 8CC2FFF0 */ lw $v0, -0x10($a2) +/* 33B5B4 E0026434 00651821 */ addu $v1, $v1, $a1 +/* 33B5B8 E0026438 ACC3FFF8 */ sw $v1, -8($a2) +/* 33B5BC E002643C 8CC30000 */ lw $v1, ($a2) +/* 33B5C0 E0026440 00441021 */ addu $v0, $v0, $a0 +/* 33B5C4 E0026444 ACC2FFF0 */ sw $v0, -0x10($a2) +/* 33B5C8 E0026448 8CC20004 */ lw $v0, 4($a2) +/* 33B5CC E002644C C4C00008 */ lwc1 $f0, 8($a2) +/* 33B5D0 E0026450 00621821 */ addu $v1, $v1, $v0 +/* 33B5D4 E0026454 8CC2FFF8 */ lw $v0, -8($a2) +/* 33B5D8 E0026458 46020000 */ add.s $f0, $f0, $f2 +/* 33B5DC E002645C ACC30000 */ sw $v1, ($a2) +/* 33B5E0 E0026460 E4C40010 */ swc1 $f4, 0x10($a2) +/* 33B5E4 E0026464 04410003 */ bgez $v0, .LE0026474 +/* 33B5E8 E0026468 E4C00008 */ swc1 $f0, 8($a2) +/* 33B5EC E002646C 24420100 */ addiu $v0, $v0, 0x100 +/* 33B5F0 E0026470 ACC2FFF8 */ sw $v0, -8($a2) +.LE0026474: +/* 33B5F4 E0026474 8CC20000 */ lw $v0, ($a2) +/* 33B5F8 E0026478 04410003 */ bgez $v0, .LE0026488 +/* 33B5FC E002647C 24E70001 */ addiu $a3, $a3, 1 +/* 33B600 E0026480 24420100 */ addiu $v0, $v0, 0x100 +/* 33B604 E0026484 ACC20000 */ sw $v0, ($a2) +.LE0026488: +/* 33B608 E0026488 8E220008 */ lw $v0, 8($s1) +/* 33B60C E002648C 00E2102A */ slt $v0, $a3, $v0 +/* 33B610 E0026490 1440FFDC */ bnez $v0, .LE0026404 +/* 33B614 E0026494 24C60060 */ addiu $a2, $a2, 0x60 +.LE0026498: +/* 33B618 E0026498 8FBF0040 */ lw $ra, 0x40($sp) +/* 33B61C E002649C 8FB1003C */ lw $s1, 0x3c($sp) +/* 33B620 E00264A0 8FB00038 */ lw $s0, 0x38($sp) +/* 33B624 E00264A4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 33B628 E00264A8 03E00008 */ jr $ra +/* 33B62C E00264AC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_33B180/func_E00264B0.s b/asm/nonmatchings/code_33B180/func_E00264B0.s new file mode 100644 index 0000000000..7c92203d9d --- /dev/null +++ b/asm/nonmatchings/code_33B180/func_E00264B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00264B0 +/* 33B630 E00264B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 33B634 E00264B4 3C02E002 */ lui $v0, 0xe002 +/* 33B638 E00264B8 244264F4 */ addiu $v0, $v0, 0x64f4 +/* 33B63C E00264BC AFA2001C */ sw $v0, 0x1c($sp) +/* 33B640 E00264C0 2402002D */ addiu $v0, $zero, 0x2d +/* 33B644 E00264C4 AFA40018 */ sw $a0, 0x18($sp) +/* 33B648 E00264C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 33B64C E00264CC AFBF0020 */ sw $ra, 0x20($sp) +/* 33B650 E00264D0 AFA00014 */ sw $zero, 0x14($sp) +/* 33B654 E00264D4 0C080120 */ jal func_E0200480 +/* 33B658 E00264D8 AFA20010 */ sw $v0, 0x10($sp) +/* 33B65C E00264DC 8C430000 */ lw $v1, ($v0) +/* 33B660 E00264E0 34630002 */ ori $v1, $v1, 2 +/* 33B664 E00264E4 AC430000 */ sw $v1, ($v0) +/* 33B668 E00264E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 33B66C E00264EC 03E00008 */ jr $ra +/* 33B670 E00264F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_33B180/func_E00264F4.s b/asm/nonmatchings/code_33B180/func_E00264F4.s new file mode 100644 index 0000000000..00e826f333 --- /dev/null +++ b/asm/nonmatchings/code_33B180/func_E00264F4.s @@ -0,0 +1,329 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00264F4 +/* 33B674 E00264F4 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 33B678 E00264F8 AFB70104 */ sw $s7, 0x104($sp) +/* 33B67C E00264FC 0080B82D */ daddu $s7, $a0, $zero +/* 33B680 E0026500 3C07DB06 */ lui $a3, 0xdb06 +/* 33B684 E0026504 34E70024 */ ori $a3, $a3, 0x24 +/* 33B688 E0026508 AFB500FC */ sw $s5, 0xfc($sp) +/* 33B68C E002650C 3C15800A */ lui $s5, 0x800a +/* 33B690 E0026510 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 33B694 E0026514 27A40020 */ addiu $a0, $sp, 0x20 +/* 33B698 E0026518 3C08800B */ lui $t0, %hi(gCameras) +/* 33B69C E002651C 25081D80 */ addiu $t0, $t0, %lo(gCameras) +/* 33B6A0 E0026520 AFBF010C */ sw $ra, 0x10c($sp) +/* 33B6A4 E0026524 AFBE0108 */ sw $fp, 0x108($sp) +/* 33B6A8 E0026528 AFB60100 */ sw $s6, 0x100($sp) +/* 33B6AC E002652C AFB400F8 */ sw $s4, 0xf8($sp) +/* 33B6B0 E0026530 AFB300F4 */ sw $s3, 0xf4($sp) +/* 33B6B4 E0026534 AFB200F0 */ sw $s2, 0xf0($sp) +/* 33B6B8 E0026538 AFB100EC */ sw $s1, 0xec($sp) +/* 33B6BC E002653C AFB000E8 */ sw $s0, 0xe8($sp) +/* 33B6C0 E0026540 F7B40110 */ sdc1 $f20, 0x110($sp) +/* 33B6C4 E0026544 8EA50000 */ lw $a1, ($s5) +/* 33B6C8 E0026548 8EF3000C */ lw $s3, 0xc($s7) +/* 33B6CC E002654C 00A0182D */ daddu $v1, $a1, $zero +/* 33B6D0 E0026550 24A50008 */ addiu $a1, $a1, 8 +/* 33B6D4 E0026554 AEA50000 */ sw $a1, ($s5) +/* 33B6D8 E0026558 8E740000 */ lw $s4, ($s3) +/* 33B6DC E002655C 24A20008 */ addiu $v0, $a1, 8 +/* 33B6E0 E0026560 AEA20000 */ sw $v0, ($s5) +/* 33B6E4 E0026564 00141080 */ sll $v0, $s4, 2 +/* 33B6E8 E0026568 3C06E002 */ lui $a2, 0xe002 +/* 33B6EC E002656C 00C23021 */ addu $a2, $a2, $v0 +/* 33B6F0 E0026570 8CC669F8 */ lw $a2, 0x69f8($a2) +/* 33B6F4 E0026574 3C1EE002 */ lui $fp, 0xe002 +/* 33B6F8 E0026578 03C2F021 */ addu $fp, $fp, $v0 +/* 33B6FC E002657C 8FDE69F0 */ lw $fp, 0x69f0($fp) +/* 33B700 E0026580 3C02E700 */ lui $v0, 0xe700 +/* 33B704 E0026584 AC620000 */ sw $v0, ($v1) +/* 33B708 E0026588 AC600004 */ sw $zero, 4($v1) +/* 33B70C E002658C ACA70000 */ sw $a3, ($a1) +/* 33B710 E0026590 8EE30010 */ lw $v1, 0x10($s7) +/* 33B714 E0026594 24A20010 */ addiu $v0, $a1, 0x10 +/* 33B718 E0026598 AEA20000 */ sw $v0, ($s5) +/* 33B71C E002659C 8C63001C */ lw $v1, 0x1c($v1) +/* 33B720 E00265A0 3C02DE00 */ lui $v0, 0xde00 +/* 33B724 E00265A4 ACA20008 */ sw $v0, 8($a1) +/* 33B728 E00265A8 3C028000 */ lui $v0, 0x8000 +/* 33B72C E00265AC ACA6000C */ sw $a2, 0xc($a1) +/* 33B730 E00265B0 00621821 */ addu $v1, $v1, $v0 +/* 33B734 E00265B4 ACA30004 */ sw $v1, 4($a1) +/* 33B738 E00265B8 8E650010 */ lw $a1, 0x10($s3) +/* 33B73C E00265BC 8E660014 */ lw $a2, 0x14($s3) +/* 33B740 E00265C0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33B744 E00265C4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33B748 E00265C8 8E670018 */ lw $a3, 0x18($s3) +/* 33B74C E00265CC 00031080 */ sll $v0, $v1, 2 +/* 33B750 E00265D0 00431021 */ addu $v0, $v0, $v1 +/* 33B754 E00265D4 00021080 */ sll $v0, $v0, 2 +/* 33B758 E00265D8 00431023 */ subu $v0, $v0, $v1 +/* 33B75C E00265DC 000218C0 */ sll $v1, $v0, 3 +/* 33B760 E00265E0 00431021 */ addu $v0, $v0, $v1 +/* 33B764 E00265E4 000210C0 */ sll $v0, $v0, 3 +/* 33B768 E00265E8 0C080108 */ jal func_E0200420 +/* 33B76C E00265EC 00488821 */ addu $s1, $v0, $t0 +/* 33B770 E00265F0 27B00060 */ addiu $s0, $sp, 0x60 +/* 33B774 E00265F4 0200202D */ daddu $a0, $s0, $zero +/* 33B778 E00265F8 3C013F80 */ lui $at, 0x3f80 +/* 33B77C E00265FC 4481A000 */ mtc1 $at, $f20 +/* 33B780 E0026600 8E65001C */ lw $a1, 0x1c($s3) +/* 33B784 E0026604 4407A000 */ mfc1 $a3, $f20 +/* 33B788 E0026608 0C080110 */ jal func_E0200440 +/* 33B78C E002660C 00A0302D */ daddu $a2, $a1, $zero +/* 33B790 E0026610 0200202D */ daddu $a0, $s0, $zero +/* 33B794 E0026614 27A50020 */ addiu $a1, $sp, 0x20 +/* 33B798 E0026618 0C080114 */ jal func_E0200450 +/* 33B79C E002661C 00A0302D */ daddu $a2, $a1, $zero +/* 33B7A0 E0026620 24160001 */ addiu $s6, $zero, 1 +/* 33B7A4 E0026624 3C0141F0 */ lui $at, 0x41f0 +/* 33B7A8 E0026628 44810000 */ mtc1 $at, $f0 +/* 33B7AC E002662C 16960003 */ bne $s4, $s6, .LE002663C +/* 33B7B0 E0026630 27A500E0 */ addiu $a1, $sp, 0xe0 +/* 33B7B4 E0026634 3C014302 */ lui $at, 0x4302 +/* 33B7B8 E0026638 44810000 */ mtc1 $at, $f0 +.LE002663C: +/* 33B7BC E002663C 0200202D */ daddu $a0, $s0, $zero +/* 33B7C0 E0026640 3C120001 */ lui $s2, 1 +/* 33B7C4 E0026644 44060000 */ mfc1 $a2, $f0 +/* 33B7C8 E0026648 8622000A */ lh $v0, 0xa($s1) +/* 33B7CC E002664C 8623000C */ lh $v1, 0xc($s1) +/* 33B7D0 E0026650 3C014080 */ lui $at, 0x4080 +/* 33B7D4 E0026654 44811000 */ mtc1 $at, $f2 +/* 33B7D8 E0026658 3C014680 */ lui $at, 0x4680 +/* 33B7DC E002665C 44812000 */ mtc1 $at, $f4 +/* 33B7E0 E0026660 44823000 */ mtc1 $v0, $f6 +/* 33B7E4 E0026664 00000000 */ nop +/* 33B7E8 E0026668 468031A0 */ cvt.s.w $f6, $f6 +/* 33B7EC E002666C 44830000 */ mtc1 $v1, $f0 +/* 33B7F0 E0026670 00000000 */ nop +/* 33B7F4 E0026674 46800020 */ cvt.s.w $f0, $f0 +/* 33B7F8 E0026678 46003183 */ div.s $f6, $f6, $f0 +/* 33B7FC E002667C 44073000 */ mfc1 $a3, $f6 +/* 33B800 E0026680 36521630 */ ori $s2, $s2, 0x1630 +/* 33B804 E0026684 E7B40018 */ swc1 $f20, 0x18($sp) +/* 33B808 E0026688 E7A20010 */ swc1 $f2, 0x10($sp) +/* 33B80C E002668C 0C080160 */ jal func_E0200580 +/* 33B810 E0026690 E7A40014 */ swc1 $f4, 0x14($sp) +/* 33B814 E0026694 0200202D */ daddu $a0, $s0, $zero +/* 33B818 E0026698 27A50020 */ addiu $a1, $sp, 0x20 +/* 33B81C E002669C 0C080114 */ jal func_E0200450 +/* 33B820 E00266A0 00A0302D */ daddu $a2, $a1, $zero +/* 33B824 E00266A4 27A40020 */ addiu $a0, $sp, 0x20 +/* 33B828 E00266A8 3C108007 */ lui $s0, 0x8007 +/* 33B82C E00266AC 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 33B830 E00266B0 3C11800A */ lui $s1, 0x800a +/* 33B834 E00266B4 2631A674 */ addiu $s1, $s1, -0x598c +/* 33B838 E00266B8 96050000 */ lhu $a1, ($s0) +/* 33B83C E00266BC 8E220000 */ lw $v0, ($s1) +/* 33B840 E00266C0 00052980 */ sll $a1, $a1, 6 +/* 33B844 E00266C4 00B22821 */ addu $a1, $a1, $s2 +/* 33B848 E00266C8 0C080118 */ jal func_E0200460 +/* 33B84C E00266CC 00452821 */ addu $a1, $v0, $a1 +/* 33B850 E00266D0 3C04DA38 */ lui $a0, 0xda38 +/* 33B854 E00266D4 34840007 */ ori $a0, $a0, 7 +/* 33B858 E00266D8 8EA30000 */ lw $v1, ($s5) +/* 33B85C E00266DC 96020000 */ lhu $v0, ($s0) +/* 33B860 E00266E0 0060282D */ daddu $a1, $v1, $zero +/* 33B864 E00266E4 24630008 */ addiu $v1, $v1, 8 +/* 33B868 E00266E8 AEA30000 */ sw $v1, ($s5) +/* 33B86C E00266EC 24430001 */ addiu $v1, $v0, 1 +/* 33B870 E00266F0 3042FFFF */ andi $v0, $v0, 0xffff +/* 33B874 E00266F4 00021180 */ sll $v0, $v0, 6 +/* 33B878 E00266F8 ACA40000 */ sw $a0, ($a1) +/* 33B87C E00266FC A6030000 */ sh $v1, ($s0) +/* 33B880 E0026700 8E230000 */ lw $v1, ($s1) +/* 33B884 E0026704 00521021 */ addu $v0, $v0, $s2 +/* 33B888 E0026708 00621821 */ addu $v1, $v1, $v0 +/* 33B88C E002670C 12800009 */ beqz $s4, .LE0026734 +/* 33B890 E0026710 ACA30004 */ sw $v1, 4($a1) +/* 33B894 E0026714 1696000E */ bne $s4, $s6, .LE0026750 +/* 33B898 E0026718 3C120001 */ lui $s2, 1 +/* 33B89C E002671C 44800000 */ mtc1 $zero, $f0 +/* 33B8A0 E0026720 00000000 */ nop +/* 33B8A4 E0026724 44050000 */ mfc1 $a1, $f0 +/* 33B8A8 E0026728 3C07C28C */ lui $a3, 0xc28c +/* 33B8AC E002672C 080099D1 */ j .LE0026744 +/* 33B8B0 E0026730 27A40020 */ addiu $a0, $sp, 0x20 +.LE0026734: +/* 33B8B4 E0026734 44800000 */ mtc1 $zero, $f0 +/* 33B8B8 E0026738 27A40020 */ addiu $a0, $sp, 0x20 +/* 33B8BC E002673C 44050000 */ mfc1 $a1, $f0 +/* 33B8C0 E0026740 3C07C2A0 */ lui $a3, 0xc2a0 +.LE0026744: +/* 33B8C4 E0026744 0C080108 */ jal func_E0200420 +/* 33B8C8 E0026748 00A0302D */ daddu $a2, $a1, $zero +/* 33B8CC E002674C 3C120001 */ lui $s2, 1 +.LE0026750: +/* 33B8D0 E0026750 36521630 */ ori $s2, $s2, 0x1630 +/* 33B8D4 E0026754 27A40020 */ addiu $a0, $sp, 0x20 +/* 33B8D8 E0026758 3C108007 */ lui $s0, 0x8007 +/* 33B8DC E002675C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 33B8E0 E0026760 3C11800A */ lui $s1, 0x800a +/* 33B8E4 E0026764 2631A674 */ addiu $s1, $s1, -0x598c +/* 33B8E8 E0026768 96050000 */ lhu $a1, ($s0) +/* 33B8EC E002676C 8E220000 */ lw $v0, ($s1) +/* 33B8F0 E0026770 00052980 */ sll $a1, $a1, 6 +/* 33B8F4 E0026774 00B22821 */ addu $a1, $a1, $s2 +/* 33B8F8 E0026778 0C080118 */ jal func_E0200460 +/* 33B8FC E002677C 00452821 */ addu $a1, $v0, $a1 +/* 33B900 E0026780 3C03DA38 */ lui $v1, 0xda38 +/* 33B904 E0026784 34630002 */ ori $v1, $v1, 2 +/* 33B908 E0026788 3C06800A */ lui $a2, 0x800a +/* 33B90C E002678C 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 33B910 E0026790 8CC20000 */ lw $v0, ($a2) +/* 33B914 E0026794 96040000 */ lhu $a0, ($s0) +/* 33B918 E0026798 0040282D */ daddu $a1, $v0, $zero +/* 33B91C E002679C 24420008 */ addiu $v0, $v0, 8 +/* 33B920 E00267A0 ACC20000 */ sw $v0, ($a2) +/* 33B924 E00267A4 3082FFFF */ andi $v0, $a0, 0xffff +/* 33B928 E00267A8 00021180 */ sll $v0, $v0, 6 +/* 33B92C E00267AC ACA30000 */ sw $v1, ($a1) +/* 33B930 E00267B0 8E230000 */ lw $v1, ($s1) +/* 33B934 E00267B4 00521021 */ addu $v0, $v0, $s2 +/* 33B938 E00267B8 00621821 */ addu $v1, $v1, $v0 +/* 33B93C E00267BC ACA30004 */ sw $v1, 4($a1) +/* 33B940 E00267C0 8E63002C */ lw $v1, 0x2c($s3) +/* 33B944 E00267C4 24840001 */ addiu $a0, $a0, 1 +/* 33B948 E00267C8 A6040000 */ sh $a0, ($s0) +/* 33B94C E00267CC 00031040 */ sll $v0, $v1, 1 +/* 33B950 E00267D0 00434821 */ addu $t1, $v0, $v1 +/* 33B954 E00267D4 8EE20008 */ lw $v0, 8($s7) +/* 33B958 E00267D8 8E630024 */ lw $v1, 0x24($s3) +/* 33B95C E00267DC 18400059 */ blez $v0, .LE0026944 +/* 33B960 E00267E0 0000602D */ daddu $t4, $zero, $zero +/* 33B964 E00267E4 3C112AAA */ lui $s1, 0x2aaa +/* 33B968 E00267E8 3631AAAB */ ori $s1, $s1, 0xaaab +/* 33B96C E00267EC 00C0582D */ daddu $t3, $a2, $zero +/* 33B970 E00267F0 3C14FB00 */ lui $s4, 0xfb00 +/* 33B974 E00267F4 000317C2 */ srl $v0, $v1, 0x1f +/* 33B978 E00267F8 00621021 */ addu $v0, $v1, $v0 +/* 33B97C E00267FC 00021043 */ sra $v0, $v0, 1 +/* 33B980 E0026800 305000FF */ andi $s0, $v0, 0xff +/* 33B984 E0026804 3C12FA00 */ lui $s2, 0xfa00 +/* 33B988 E0026808 3C0EE002 */ lui $t6, 0xe002 +/* 33B98C E002680C 25CE6A00 */ addiu $t6, $t6, 0x6a00 +/* 33B990 E0026810 306F00FF */ andi $t7, $v1, 0xff +/* 33B994 E0026814 3C0DF200 */ lui $t5, 0xf200 +/* 33B998 E0026818 266A0048 */ addiu $t2, $s3, 0x48 +.LE002681C: +/* 33B99C E002681C 2529001E */ addiu $t1, $t1, 0x1e +/* 33B9A0 E0026820 258C0001 */ addiu $t4, $t4, 1 +/* 33B9A4 E0026824 8D660000 */ lw $a2, ($t3) +/* 33B9A8 E0026828 01310018 */ mult $t1, $s1 +/* 33B9AC E002682C 00C0102D */ daddu $v0, $a2, $zero +/* 33B9B0 E0026830 24C60008 */ addiu $a2, $a2, 8 +/* 33B9B4 E0026834 AD660000 */ sw $a2, ($t3) +/* 33B9B8 E0026838 AC540000 */ sw $s4, ($v0) +/* 33B9BC E002683C AC500004 */ sw $s0, 4($v0) +/* 33B9C0 E0026840 24C20008 */ addiu $v0, $a2, 8 +/* 33B9C4 E0026844 AD620000 */ sw $v0, ($t3) +/* 33B9C8 E0026848 000917C3 */ sra $v0, $t1, 0x1f +/* 33B9CC E002684C ACD20000 */ sw $s2, ($a2) +/* 33B9D0 E0026850 0000C010 */ mfhi $t8 +/* 33B9D4 E0026854 00181883 */ sra $v1, $t8, 2 +/* 33B9D8 E0026858 00621823 */ subu $v1, $v1, $v0 +/* 33B9DC E002685C 00031040 */ sll $v0, $v1, 1 +/* 33B9E0 E0026860 00431021 */ addu $v0, $v0, $v1 +/* 33B9E4 E0026864 000210C0 */ sll $v0, $v0, 3 +/* 33B9E8 E0026868 01224823 */ subu $t1, $t1, $v0 +/* 33B9EC E002686C 012E1021 */ addu $v0, $t1, $t6 +/* 33B9F0 E0026870 0040202D */ daddu $a0, $v0, $zero +/* 33B9F4 E0026874 90430000 */ lbu $v1, ($v0) +/* 33B9F8 E0026878 90840002 */ lbu $a0, 2($a0) +/* 33B9FC E002687C 24C20010 */ addiu $v0, $a2, 0x10 +/* 33BA00 E0026880 AD620000 */ sw $v0, ($t3) +/* 33BA04 E0026884 24C20018 */ addiu $v0, $a2, 0x18 +/* 33BA08 E0026888 AD620000 */ sw $v0, ($t3) +/* 33BA0C E002688C 24C20020 */ addiu $v0, $a2, 0x20 +/* 33BA10 E0026890 AD620000 */ sw $v0, ($t3) +/* 33BA14 E0026894 00031E00 */ sll $v1, $v1, 0x18 +/* 33BA18 E0026898 00042200 */ sll $a0, $a0, 8 +/* 33BA1C E002689C 00641825 */ or $v1, $v1, $a0 +/* 33BA20 E00268A0 006F1825 */ or $v1, $v1, $t7 +/* 33BA24 E00268A4 ACC30004 */ sw $v1, 4($a2) +/* 33BA28 E00268A8 8D44FFE8 */ lw $a0, -0x18($t2) +/* 33BA2C E00268AC 8D47FFF8 */ lw $a3, -8($t2) +/* 33BA30 E00268B0 8D45FFF0 */ lw $a1, -0x10($t2) +/* 33BA34 E00268B4 8D480000 */ lw $t0, ($t2) +/* 33BA38 E00268B8 3C02DE00 */ lui $v0, 0xde00 +/* 33BA3C E00268BC ACC20018 */ sw $v0, 0x18($a2) +/* 33BA40 E00268C0 ACDE001C */ sw $fp, 0x1c($a2) +/* 33BA44 E00268C4 30830FFF */ andi $v1, $a0, 0xfff +/* 33BA48 E00268C8 00031B00 */ sll $v1, $v1, 0xc +/* 33BA4C E00268CC 30E20FFF */ andi $v0, $a3, 0xfff +/* 33BA50 E00268D0 004D1025 */ or $v0, $v0, $t5 +/* 33BA54 E00268D4 00621825 */ or $v1, $v1, $v0 +/* 33BA58 E00268D8 24840100 */ addiu $a0, $a0, 0x100 +/* 33BA5C E00268DC 30840FFF */ andi $a0, $a0, 0xfff +/* 33BA60 E00268E0 00042300 */ sll $a0, $a0, 0xc +/* 33BA64 E00268E4 24E70100 */ addiu $a3, $a3, 0x100 +/* 33BA68 E00268E8 30E70FFF */ andi $a3, $a3, 0xfff +/* 33BA6C E00268EC 00872025 */ or $a0, $a0, $a3 +/* 33BA70 E00268F0 ACC30008 */ sw $v1, 8($a2) +/* 33BA74 E00268F4 30A30FFF */ andi $v1, $a1, 0xfff +/* 33BA78 E00268F8 00031B00 */ sll $v1, $v1, 0xc +/* 33BA7C E00268FC 31020FFF */ andi $v0, $t0, 0xfff +/* 33BA80 E0026900 004D1025 */ or $v0, $v0, $t5 +/* 33BA84 E0026904 00621825 */ or $v1, $v1, $v0 +/* 33BA88 E0026908 24A50100 */ addiu $a1, $a1, 0x100 +/* 33BA8C E002690C 30A50FFF */ andi $a1, $a1, 0xfff +/* 33BA90 E0026910 00052B00 */ sll $a1, $a1, 0xc +/* 33BA94 E0026914 25080100 */ addiu $t0, $t0, 0x100 +/* 33BA98 E0026918 31080FFF */ andi $t0, $t0, 0xfff +/* 33BA9C E002691C 3C020100 */ lui $v0, 0x100 +/* 33BAA0 E0026920 01024025 */ or $t0, $t0, $v0 +/* 33BAA4 E0026924 00A82825 */ or $a1, $a1, $t0 +/* 33BAA8 E0026928 ACC4000C */ sw $a0, 0xc($a2) +/* 33BAAC E002692C ACC30010 */ sw $v1, 0x10($a2) +/* 33BAB0 E0026930 ACC50014 */ sw $a1, 0x14($a2) +/* 33BAB4 E0026934 8EE20008 */ lw $v0, 8($s7) +/* 33BAB8 E0026938 0182102A */ slt $v0, $t4, $v0 +/* 33BABC E002693C 1440FFB7 */ bnez $v0, .LE002681C +/* 33BAC0 E0026940 254A0060 */ addiu $t2, $t2, 0x60 +.LE0026944: +/* 33BAC4 E0026944 3C02D838 */ lui $v0, 0xd838 +/* 33BAC8 E0026948 34420002 */ ori $v0, $v0, 2 +/* 33BACC E002694C 3C05800A */ lui $a1, 0x800a +/* 33BAD0 E0026950 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 33BAD4 E0026954 8CA40000 */ lw $a0, ($a1) +/* 33BAD8 E0026958 3C06DA38 */ lui $a2, 0xda38 +/* 33BADC E002695C 0080182D */ daddu $v1, $a0, $zero +/* 33BAE0 E0026960 24840008 */ addiu $a0, $a0, 8 +/* 33BAE4 E0026964 ACA40000 */ sw $a0, ($a1) +/* 33BAE8 E0026968 AC620000 */ sw $v0, ($v1) +/* 33BAEC E002696C 24020040 */ addiu $v0, $zero, 0x40 +/* 33BAF0 E0026970 AC620004 */ sw $v0, 4($v1) +/* 33BAF4 E0026974 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33BAF8 E0026978 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33BAFC E002697C 24820008 */ addiu $v0, $a0, 8 +/* 33BB00 E0026980 ACA20000 */ sw $v0, ($a1) +/* 33BB04 E0026984 3C02800A */ lui $v0, 0x800a +/* 33BB08 E0026988 8C42A674 */ lw $v0, -0x598c($v0) +/* 33BB0C E002698C 34C60007 */ ori $a2, $a2, 7 +/* 33BB10 E0026990 AC860000 */ sw $a2, ($a0) +/* 33BB14 E0026994 00031980 */ sll $v1, $v1, 6 +/* 33BB18 E0026998 24630030 */ addiu $v1, $v1, 0x30 +/* 33BB1C E002699C 00431021 */ addu $v0, $v0, $v1 +/* 33BB20 E00269A0 AC820004 */ sw $v0, 4($a0) +/* 33BB24 E00269A4 24820010 */ addiu $v0, $a0, 0x10 +/* 33BB28 E00269A8 ACA20000 */ sw $v0, ($a1) +/* 33BB2C E00269AC 3C02E700 */ lui $v0, 0xe700 +/* 33BB30 E00269B0 AC820008 */ sw $v0, 8($a0) +/* 33BB34 E00269B4 AC80000C */ sw $zero, 0xc($a0) +/* 33BB38 E00269B8 8FBF010C */ lw $ra, 0x10c($sp) +/* 33BB3C E00269BC 8FBE0108 */ lw $fp, 0x108($sp) +/* 33BB40 E00269C0 8FB70104 */ lw $s7, 0x104($sp) +/* 33BB44 E00269C4 8FB60100 */ lw $s6, 0x100($sp) +/* 33BB48 E00269C8 8FB500FC */ lw $s5, 0xfc($sp) +/* 33BB4C E00269CC 8FB400F8 */ lw $s4, 0xf8($sp) +/* 33BB50 E00269D0 8FB300F4 */ lw $s3, 0xf4($sp) +/* 33BB54 E00269D4 8FB200F0 */ lw $s2, 0xf0($sp) +/* 33BB58 E00269D8 8FB100EC */ lw $s1, 0xec($sp) +/* 33BB5C E00269DC 8FB000E8 */ lw $s0, 0xe8($sp) +/* 33BB60 E00269E0 D7B40110 */ ldc1 $f20, 0x110($sp) +/* 33BB64 E00269E4 03E00008 */ jr $ra +/* 33BB68 E00269E8 27BD0118 */ addiu $sp, $sp, 0x118 +/* 33BB6C E00269EC 00000000 */ nop diff --git a/asm/nonmatchings/code_33CDF0/func_E0028000.s b/asm/nonmatchings/code_33CDF0/func_E0028000.s new file mode 100644 index 0000000000..0283586b4e --- /dev/null +++ b/asm/nonmatchings/code_33CDF0/func_E0028000.s @@ -0,0 +1,154 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0028000 +/* 33CDF0 E0028000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 33CDF4 E0028004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 33CDF8 E0028008 4485A000 */ mtc1 $a1, $f20 +/* 33CDFC E002800C AFB30034 */ sw $s3, 0x34($sp) +/* 33CE00 E0028010 0080982D */ daddu $s3, $a0, $zero +/* 33CE04 E0028014 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 33CE08 E0028018 4486B000 */ mtc1 $a2, $f22 +/* 33CE0C E002801C 27A40010 */ addiu $a0, $sp, 0x10 +/* 33CE10 E0028020 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 33CE14 E0028024 4487C000 */ mtc1 $a3, $f24 +/* 33CE18 E0028028 3C02E003 */ lui $v0, 0xe003 +/* 33CE1C E002802C 24428240 */ addiu $v0, $v0, -0x7dc0 +/* 33CE20 E0028030 AFA20018 */ sw $v0, 0x18($sp) +/* 33CE24 E0028034 3C02E003 */ lui $v0, 0xe003 +/* 33CE28 E0028038 24428248 */ addiu $v0, $v0, -0x7db8 +/* 33CE2C E002803C AFA2001C */ sw $v0, 0x1c($sp) +/* 33CE30 E0028040 3C02E003 */ lui $v0, 0xe003 +/* 33CE34 E0028044 244284E8 */ addiu $v0, $v0, -0x7b18 +/* 33CE38 E0028048 AFA20020 */ sw $v0, 0x20($sp) +/* 33CE3C E002804C 24020014 */ addiu $v0, $zero, 0x14 +/* 33CE40 E0028050 AFBF0038 */ sw $ra, 0x38($sp) +/* 33CE44 E0028054 AFB20030 */ sw $s2, 0x30($sp) +/* 33CE48 E0028058 AFB1002C */ sw $s1, 0x2c($sp) +/* 33CE4C E002805C AFB00028 */ sw $s0, 0x28($sp) +/* 33CE50 E0028060 AFA00010 */ sw $zero, 0x10($sp) +/* 33CE54 E0028064 AFA00024 */ sw $zero, 0x24($sp) +/* 33CE58 E0028068 0C080124 */ jal func_E0200490 +/* 33CE5C E002806C AFA20014 */ sw $v0, 0x14($sp) +/* 33CE60 E0028070 240400F0 */ addiu $a0, $zero, 0xf0 +/* 33CE64 E0028074 24120005 */ addiu $s2, $zero, 5 +/* 33CE68 E0028078 0040802D */ daddu $s0, $v0, $zero +/* 33CE6C E002807C 0C08012C */ jal func_E02004B0 +/* 33CE70 E0028080 AE120008 */ sw $s2, 8($s0) +/* 33CE74 E0028084 0040182D */ daddu $v1, $v0, $zero +/* 33CE78 E0028088 14600003 */ bnez $v1, .LE0028098 +/* 33CE7C E002808C AE03000C */ sw $v1, 0xc($s0) +.LE0028090: +/* 33CE80 E0028090 0800A024 */ j .LE0028090 +/* 33CE84 E0028094 00000000 */ nop +.LE0028098: +/* 33CE88 E0028098 AC730000 */ sw $s3, ($v1) +/* 33CE8C E002809C E4740004 */ swc1 $f20, 4($v1) +/* 33CE90 E00280A0 E4760008 */ swc1 $f22, 8($v1) +/* 33CE94 E00280A4 E478000C */ swc1 $f24, 0xc($v1) +/* 33CE98 E00280A8 8FA20068 */ lw $v0, 0x68($sp) +/* 33CE9C E00280AC 24110001 */ addiu $s1, $zero, 1 +/* 33CEA0 E00280B0 AC60002C */ sw $zero, 0x2c($v1) +/* 33CEA4 E00280B4 AC600024 */ sw $zero, 0x24($v1) +/* 33CEA8 E00280B8 AC620028 */ sw $v0, 0x28($v1) +/* 33CEAC E00280BC 0232102A */ slt $v0, $s1, $s2 +/* 33CEB0 E00280C0 10400055 */ beqz $v0, .LE0028218 +/* 33CEB4 E00280C4 24630030 */ addiu $v1, $v1, 0x30 +/* 33CEB8 E00280C8 3C014120 */ lui $at, 0x4120 +/* 33CEBC E00280CC 4481A000 */ mtc1 $at, $f20 +/* 33CEC0 E00280D0 24700014 */ addiu $s0, $v1, 0x14 +.LE00280D4: +/* 33CEC4 E00280D4 16600026 */ bnez $s3, .LE0028170 +/* 33CEC8 E00280D8 00000000 */ nop +/* 33CECC E00280DC 0C080000 */ jal func_E0200000 +/* 33CED0 E00280E0 24040032 */ addiu $a0, $zero, 0x32 +/* 33CED4 E00280E4 24040032 */ addiu $a0, $zero, 0x32 +/* 33CED8 E00280E8 2442FFE7 */ addiu $v0, $v0, -0x19 +/* 33CEDC E00280EC 44820000 */ mtc1 $v0, $f0 +/* 33CEE0 E00280F0 00000000 */ nop +/* 33CEE4 E00280F4 46800020 */ cvt.s.w $f0, $f0 +/* 33CEE8 E00280F8 0C080000 */ jal func_E0200000 +/* 33CEEC E00280FC E600FFF0 */ swc1 $f0, -0x10($s0) +/* 33CEF0 E0028100 24040168 */ addiu $a0, $zero, 0x168 +/* 33CEF4 E0028104 2442FFE7 */ addiu $v0, $v0, -0x19 +/* 33CEF8 E0028108 44820000 */ mtc1 $v0, $f0 +/* 33CEFC E002810C 00000000 */ nop +/* 33CF00 E0028110 46800020 */ cvt.s.w $f0, $f0 +/* 33CF04 E0028114 E600FFF4 */ swc1 $f0, -0xc($s0) +/* 33CF08 E0028118 0C080000 */ jal func_E0200000 +/* 33CF0C E002811C AE00FFF8 */ sw $zero, -8($s0) +/* 33CF10 E0028120 24040168 */ addiu $a0, $zero, 0x168 +/* 33CF14 E0028124 44820000 */ mtc1 $v0, $f0 +/* 33CF18 E0028128 00000000 */ nop +/* 33CF1C E002812C 46800020 */ cvt.s.w $f0, $f0 +/* 33CF20 E0028130 0C080000 */ jal func_E0200000 +/* 33CF24 E0028134 E6000004 */ swc1 $f0, 4($s0) +/* 33CF28 E0028138 24040064 */ addiu $a0, $zero, 0x64 +/* 33CF2C E002813C 44820000 */ mtc1 $v0, $f0 +/* 33CF30 E0028140 00000000 */ nop +/* 33CF34 E0028144 46800020 */ cvt.s.w $f0, $f0 +/* 33CF38 E0028148 0C080000 */ jal func_E0200000 +/* 33CF3C E002814C E600000C */ swc1 $f0, 0xc($s0) +/* 33CF40 E0028150 44820000 */ mtc1 $v0, $f0 +/* 33CF44 E0028154 00000000 */ nop +/* 33CF48 E0028158 46800020 */ cvt.s.w $f0, $f0 +/* 33CF4C E002815C 46140003 */ div.s $f0, $f0, $f20 +/* 33CF50 E0028160 E6000008 */ swc1 $f0, 8($s0) +/* 33CF54 E0028164 AE00FFFC */ sw $zero, -4($s0) +/* 33CF58 E0028168 0800A082 */ j .LE0028208 +/* 33CF5C E002816C AE000000 */ sw $zero, ($s0) +.LE0028170: +/* 33CF60 E0028170 0C080000 */ jal func_E0200000 +/* 33CF64 E0028174 2404000A */ addiu $a0, $zero, 0xa +/* 33CF68 E0028178 2404000A */ addiu $a0, $zero, 0xa +/* 33CF6C E002817C 2442FFFB */ addiu $v0, $v0, -5 +/* 33CF70 E0028180 44820000 */ mtc1 $v0, $f0 +/* 33CF74 E0028184 00000000 */ nop +/* 33CF78 E0028188 46800020 */ cvt.s.w $f0, $f0 +/* 33CF7C E002818C 0C080000 */ jal func_E0200000 +/* 33CF80 E0028190 E600FFF0 */ swc1 $f0, -0x10($s0) +/* 33CF84 E0028194 24040168 */ addiu $a0, $zero, 0x168 +/* 33CF88 E0028198 24420005 */ addiu $v0, $v0, 5 +/* 33CF8C E002819C 44820000 */ mtc1 $v0, $f0 +/* 33CF90 E00281A0 00000000 */ nop +/* 33CF94 E00281A4 46800020 */ cvt.s.w $f0, $f0 +/* 33CF98 E00281A8 E600FFF4 */ swc1 $f0, -0xc($s0) +/* 33CF9C E00281AC 0C080000 */ jal func_E0200000 +/* 33CFA0 E00281B0 E614FFF8 */ swc1 $f20, -8($s0) +/* 33CFA4 E00281B4 24040168 */ addiu $a0, $zero, 0x168 +/* 33CFA8 E00281B8 44820000 */ mtc1 $v0, $f0 +/* 33CFAC E00281BC 00000000 */ nop +/* 33CFB0 E00281C0 46800020 */ cvt.s.w $f0, $f0 +/* 33CFB4 E00281C4 0C080000 */ jal func_E0200000 +/* 33CFB8 E00281C8 E6000004 */ swc1 $f0, 4($s0) +/* 33CFBC E00281CC 24040064 */ addiu $a0, $zero, 0x64 +/* 33CFC0 E00281D0 44820000 */ mtc1 $v0, $f0 +/* 33CFC4 E00281D4 00000000 */ nop +/* 33CFC8 E00281D8 46800020 */ cvt.s.w $f0, $f0 +/* 33CFCC E00281DC 0C080000 */ jal func_E0200000 +/* 33CFD0 E00281E0 E600000C */ swc1 $f0, 0xc($s0) +/* 33CFD4 E00281E4 44820000 */ mtc1 $v0, $f0 +/* 33CFD8 E00281E8 00000000 */ nop +/* 33CFDC E00281EC 46800020 */ cvt.s.w $f0, $f0 +/* 33CFE0 E00281F0 3C014000 */ lui $at, 0x4000 +/* 33CFE4 E00281F4 44811000 */ mtc1 $at, $f2 +/* 33CFE8 E00281F8 46140003 */ div.s $f0, $f0, $f20 +/* 33CFEC E00281FC E6000008 */ swc1 $f0, 8($s0) +/* 33CFF0 E0028200 AE00FFFC */ sw $zero, -4($s0) +/* 33CFF4 E0028204 E6020000 */ swc1 $f2, ($s0) +.LE0028208: +/* 33CFF8 E0028208 26310001 */ addiu $s1, $s1, 1 +/* 33CFFC E002820C 0232102A */ slt $v0, $s1, $s2 +/* 33D000 E0028210 1440FFB0 */ bnez $v0, .LE00280D4 +/* 33D004 E0028214 26100030 */ addiu $s0, $s0, 0x30 +.LE0028218: +/* 33D008 E0028218 8FBF0038 */ lw $ra, 0x38($sp) +/* 33D00C E002821C 8FB30034 */ lw $s3, 0x34($sp) +/* 33D010 E0028220 8FB20030 */ lw $s2, 0x30($sp) +/* 33D014 E0028224 8FB1002C */ lw $s1, 0x2c($sp) +/* 33D018 E0028228 8FB00028 */ lw $s0, 0x28($sp) +/* 33D01C E002822C D7B80050 */ ldc1 $f24, 0x50($sp) +/* 33D020 E0028230 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 33D024 E0028234 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 33D028 E0028238 03E00008 */ jr $ra +/* 33D02C E002823C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_33CDF0/func_E0028240.s b/asm/nonmatchings/code_33CDF0/func_E0028240.s new file mode 100644 index 0000000000..b23abf2e20 --- /dev/null +++ b/asm/nonmatchings/code_33CDF0/func_E0028240.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0028240 +/* 33D030 E0028240 03E00008 */ jr $ra +/* 33D034 E0028244 00000000 */ nop diff --git a/asm/nonmatchings/code_33CDF0/func_E0028248.s b/asm/nonmatchings/code_33CDF0/func_E0028248.s new file mode 100644 index 0000000000..a31dfbd117 --- /dev/null +++ b/asm/nonmatchings/code_33CDF0/func_E0028248.s @@ -0,0 +1,179 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0028248 +/* 33D038 E0028248 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 33D03C E002824C AFB3001C */ sw $s3, 0x1c($sp) +/* 33D040 E0028250 0080982D */ daddu $s3, $a0, $zero +/* 33D044 E0028254 AFBF0024 */ sw $ra, 0x24($sp) +/* 33D048 E0028258 AFB40020 */ sw $s4, 0x20($sp) +/* 33D04C E002825C AFB20018 */ sw $s2, 0x18($sp) +/* 33D050 E0028260 AFB10014 */ sw $s1, 0x14($sp) +/* 33D054 E0028264 AFB00010 */ sw $s0, 0x10($sp) +/* 33D058 E0028268 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 33D05C E002826C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 33D060 E0028270 8E64000C */ lw $a0, 0xc($s3) +/* 33D064 E0028274 8C820028 */ lw $v0, 0x28($a0) +/* 33D068 E0028278 8C85002C */ lw $a1, 0x2c($a0) +/* 33D06C E002827C 2442FFFF */ addiu $v0, $v0, -1 +/* 33D070 E0028280 AC820028 */ sw $v0, 0x28($a0) +/* 33D074 E0028284 0040302D */ daddu $a2, $v0, $zero +/* 33D078 E0028288 24A20001 */ addiu $v0, $a1, 1 +/* 33D07C E002828C 04C10005 */ bgez $a2, .LE00282A4 +/* 33D080 E0028290 AC82002C */ sw $v0, 0x2c($a0) +/* 33D084 E0028294 0C080128 */ jal func_E02004A0 +/* 33D088 E0028298 0260202D */ daddu $a0, $s3, $zero +/* 33D08C E002829C 0800A130 */ j .LE00284C0 +/* 33D090 E00282A0 00000000 */ nop +.LE00282A4: +/* 33D094 E00282A4 8C940000 */ lw $s4, ($a0) +/* 33D098 E00282A8 2842000A */ slti $v0, $v0, 0xa +/* 33D09C E00282AC 10400010 */ beqz $v0, .LE00282F0 +/* 33D0A0 E00282B0 240200FF */ addiu $v0, $zero, 0xff +/* 33D0A4 E00282B4 8C830024 */ lw $v1, 0x24($a0) +/* 33D0A8 E00282B8 3C01E003 */ lui $at, 0xe003 +/* 33D0AC E00282BC D42087E0 */ ldc1 $f0, -0x7820($at) +/* 33D0B0 E00282C0 00431023 */ subu $v0, $v0, $v1 +/* 33D0B4 E00282C4 44821000 */ mtc1 $v0, $f2 +/* 33D0B8 E00282C8 00000000 */ nop +/* 33D0BC E00282CC 468010A1 */ cvt.d.w $f2, $f2 +/* 33D0C0 E00282D0 46201082 */ mul.d $f2, $f2, $f0 +/* 33D0C4 E00282D4 00000000 */ nop +/* 33D0C8 E00282D8 44830000 */ mtc1 $v1, $f0 +/* 33D0CC E00282DC 00000000 */ nop +/* 33D0D0 E00282E0 46800021 */ cvt.d.w $f0, $f0 +/* 33D0D4 E00282E4 46220000 */ add.d $f0, $f0, $f2 +/* 33D0D8 E00282E8 4620020D */ trunc.w.d $f8, $f0 +/* 33D0DC E00282EC E4880024 */ swc1 $f8, 0x24($a0) +.LE00282F0: +/* 33D0E0 E00282F0 28C2000A */ slti $v0, $a2, 0xa +/* 33D0E4 E00282F4 10400009 */ beqz $v0, .LE002831C +/* 33D0E8 E00282F8 00000000 */ nop +/* 33D0EC E00282FC 3C01E003 */ lui $at, 0xe003 +/* 33D0F0 E0028300 D42287E8 */ ldc1 $f2, -0x7818($at) +/* 33D0F4 E0028304 C4800024 */ lwc1 $f0, 0x24($a0) +/* 33D0F8 E0028308 46800021 */ cvt.d.w $f0, $f0 +/* 33D0FC E002830C 46220002 */ mul.d $f0, $f0, $f2 +/* 33D100 E0028310 00000000 */ nop +/* 33D104 E0028314 4620020D */ trunc.w.d $f8, $f0 +/* 33D108 E0028318 E4880024 */ swc1 $f8, 0x24($a0) +.LE002831C: +/* 33D10C E002831C 8E620008 */ lw $v0, 8($s3) +/* 33D110 E0028320 24110001 */ addiu $s1, $zero, 1 +/* 33D114 E0028324 0222102A */ slt $v0, $s1, $v0 +/* 33D118 E0028328 10400065 */ beqz $v0, .LE00284C0 +/* 33D11C E002832C 24840030 */ addiu $a0, $a0, 0x30 +/* 33D120 E0028330 24900008 */ addiu $s0, $a0, 8 +/* 33D124 E0028334 24B20015 */ addiu $s2, $a1, 0x15 +/* 33D128 E0028338 3C01BD4C */ lui $at, 0xbd4c +/* 33D12C E002833C 3421CCCD */ ori $at, $at, 0xcccd +/* 33D130 E0028340 4481B000 */ mtc1 $at, $f22 +/* 33D134 E0028344 3C014120 */ lui $at, 0x4120 +/* 33D138 E0028348 4481A000 */ mtc1 $at, $f20 +.LE002834C: +/* 33D13C E002834C C60C0010 */ lwc1 $f12, 0x10($s0) +/* 33D140 E0028350 0C080140 */ jal func_E0200500 +/* 33D144 E0028354 460C6300 */ add.s $f12, $f12, $f12 +/* 33D148 E0028358 3C01E003 */ lui $at, 0xe003 +/* 33D14C E002835C D42287F0 */ ldc1 $f2, -0x7810($at) +/* 33D150 E0028360 46000021 */ cvt.d.s $f0, $f0 +/* 33D154 E0028364 46220002 */ mul.d $f0, $f0, $f2 +/* 33D158 E0028368 00000000 */ nop +/* 33D15C E002836C C602000C */ lwc1 $f2, 0xc($s0) +/* 33D160 E0028370 46161080 */ add.s $f2, $f2, $f22 +/* 33D164 E0028374 C6040008 */ lwc1 $f4, 8($s0) +/* 33D168 E0028378 46200020 */ cvt.s.d $f0, $f0 +/* 33D16C E002837C 46002000 */ add.s $f0, $f4, $f0 +/* 33D170 E0028380 E602000C */ swc1 $f2, 0xc($s0) +/* 33D174 E0028384 16800019 */ bnez $s4, .LE00283EC +/* 33D178 E0028388 E6000008 */ swc1 $f0, 8($s0) +/* 33D17C E002838C 3C01E003 */ lui $at, 0xe003 +/* 33D180 E0028390 D42287F8 */ ldc1 $f2, -0x7808($at) +/* 33D184 E0028394 46000021 */ cvt.d.s $f0, $f0 +/* 33D188 E0028398 46220002 */ mul.d $f0, $f0, $f2 +/* 33D18C E002839C 00000000 */ nop +/* 33D190 E00283A0 C60C0010 */ lwc1 $f12, 0x10($s0) +/* 33D194 E00283A4 46200020 */ cvt.s.d $f0, $f0 +/* 33D198 E00283A8 0C080140 */ jal func_E0200500 +/* 33D19C E00283AC E6000008 */ swc1 $f0, 8($s0) +/* 33D1A0 E00283B0 3C01E003 */ lui $at, 0xe003 +/* 33D1A4 E00283B4 D4228800 */ ldc1 $f2, -0x7800($at) +/* 33D1A8 E00283B8 46000021 */ cvt.d.s $f0, $f0 +/* 33D1AC E00283BC 46220002 */ mul.d $f0, $f0, $f2 +/* 33D1B0 E00283C0 00000000 */ nop +/* 33D1B4 E00283C4 3C01E003 */ lui $at, 0xe003 +/* 33D1B8 E00283C8 D4248808 */ ldc1 $f4, -0x77f8($at) +/* 33D1BC E00283CC C602000C */ lwc1 $f2, 0xc($s0) +/* 33D1C0 E00283D0 46240000 */ add.d $f0, $f0, $f4 +/* 33D1C4 E00283D4 460010A1 */ cvt.d.s $f2, $f2 +/* 33D1C8 E00283D8 46201082 */ mul.d $f2, $f2, $f0 +/* 33D1CC E00283DC 00000000 */ nop +/* 33D1D0 E00283E0 462010A0 */ cvt.s.d $f2, $f2 +/* 33D1D4 E00283E4 0800A106 */ j .LE0028418 +/* 33D1D8 E00283E8 E602000C */ swc1 $f2, 0xc($s0) +.LE00283EC: +/* 33D1DC E00283EC C6000008 */ lwc1 $f0, 8($s0) +/* 33D1E0 E00283F0 3C01E003 */ lui $at, 0xe003 +/* 33D1E4 E00283F4 D4228810 */ ldc1 $f2, -0x77f0($at) +/* 33D1E8 E00283F8 46000021 */ cvt.d.s $f0, $f0 +/* 33D1EC E00283FC 46220002 */ mul.d $f0, $f0, $f2 +/* 33D1F0 E0028400 00000000 */ nop +/* 33D1F4 E0028404 C602000C */ lwc1 $f2, 0xc($s0) +/* 33D1F8 E0028408 46161080 */ add.s $f2, $f2, $f22 +/* 33D1FC E002840C E602000C */ swc1 $f2, 0xc($s0) +/* 33D200 E0028410 46200020 */ cvt.s.d $f0, $f0 +/* 33D204 E0028414 E6000008 */ swc1 $f0, 8($s0) +.LE0028418: +/* 33D208 E0028418 24040032 */ addiu $a0, $zero, 0x32 +/* 33D20C E002841C 0C080011 */ jal func_E0200044 +/* 33D210 E0028420 0240282D */ daddu $a1, $s2, $zero +/* 33D214 E0028424 2442FFE7 */ addiu $v0, $v0, -0x19 +/* 33D218 E0028428 C60C0014 */ lwc1 $f12, 0x14($s0) +/* 33D21C E002842C 44820000 */ mtc1 $v0, $f0 +/* 33D220 E0028430 00000000 */ nop +/* 33D224 E0028434 46800020 */ cvt.s.w $f0, $f0 +/* 33D228 E0028438 46006300 */ add.s $f12, $f12, $f0 +/* 33D22C E002843C 0C080140 */ jal func_E0200500 +/* 33D230 E0028440 E60C0014 */ swc1 $f12, 0x14($s0) +/* 33D234 E0028444 46140002 */ mul.s $f0, $f0, $f20 +/* 33D238 E0028448 00000000 */ nop +/* 33D23C E002844C C6020014 */ lwc1 $f2, 0x14($s0) +/* 33D240 E0028450 3C013F00 */ lui $at, 0x3f00 +/* 33D244 E0028454 44816000 */ mtc1 $at, $f12 +/* 33D248 E0028458 00000000 */ nop +/* 33D24C E002845C 460C1302 */ mul.s $f12, $f2, $f12 +/* 33D250 E0028460 00000000 */ nop +/* 33D254 E0028464 C6020010 */ lwc1 $f2, 0x10($s0) +/* 33D258 E0028468 46001080 */ add.s $f2, $f2, $f0 +/* 33D25C E002846C 0C080144 */ jal func_E0200510 +/* 33D260 E0028470 E6020010 */ swc1 $f2, 0x10($s0) +/* 33D264 E0028474 46140002 */ mul.s $f0, $f0, $f20 +/* 33D268 E0028478 00000000 */ nop +/* 33D26C E002847C C606FFFC */ lwc1 $f6, -4($s0) +/* 33D270 E0028480 C6020008 */ lwc1 $f2, 8($s0) +/* 33D274 E0028484 C6040000 */ lwc1 $f4, ($s0) +/* 33D278 E0028488 46023180 */ add.s $f6, $f6, $f2 +/* 33D27C E002848C C602000C */ lwc1 $f2, 0xc($s0) +/* 33D280 E0028490 26520014 */ addiu $s2, $s2, 0x14 +/* 33D284 E0028494 46022100 */ add.s $f4, $f4, $f2 +/* 33D288 E0028498 C6020018 */ lwc1 $f2, 0x18($s0) +/* 33D28C E002849C 26310001 */ addiu $s1, $s1, 1 +/* 33D290 E00284A0 46001080 */ add.s $f2, $f2, $f0 +/* 33D294 E00284A4 E606FFFC */ swc1 $f6, -4($s0) +/* 33D298 E00284A8 E6040000 */ swc1 $f4, ($s0) +/* 33D29C E00284AC E6020018 */ swc1 $f2, 0x18($s0) +/* 33D2A0 E00284B0 8E620008 */ lw $v0, 8($s3) +/* 33D2A4 E00284B4 0222102A */ slt $v0, $s1, $v0 +/* 33D2A8 E00284B8 1440FFA4 */ bnez $v0, .LE002834C +/* 33D2AC E00284BC 26100030 */ addiu $s0, $s0, 0x30 +.LE00284C0: +/* 33D2B0 E00284C0 8FBF0024 */ lw $ra, 0x24($sp) +/* 33D2B4 E00284C4 8FB40020 */ lw $s4, 0x20($sp) +/* 33D2B8 E00284C8 8FB3001C */ lw $s3, 0x1c($sp) +/* 33D2BC E00284CC 8FB20018 */ lw $s2, 0x18($sp) +/* 33D2C0 E00284D0 8FB10014 */ lw $s1, 0x14($sp) +/* 33D2C4 E00284D4 8FB00010 */ lw $s0, 0x10($sp) +/* 33D2C8 E00284D8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 33D2CC E00284DC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 33D2D0 E00284E0 03E00008 */ jr $ra +/* 33D2D4 E00284E4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_33CDF0/func_E00284E8.s b/asm/nonmatchings/code_33CDF0/func_E00284E8.s new file mode 100644 index 0000000000..da58d94774 --- /dev/null +++ b/asm/nonmatchings/code_33CDF0/func_E00284E8.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00284E8 +/* 33D2D8 E00284E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 33D2DC E00284EC 3C02E003 */ lui $v0, 0xe003 +/* 33D2E0 E00284F0 2442852C */ addiu $v0, $v0, -0x7ad4 +/* 33D2E4 E00284F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 33D2E8 E00284F8 2402002D */ addiu $v0, $zero, 0x2d +/* 33D2EC E00284FC AFA40018 */ sw $a0, 0x18($sp) +/* 33D2F0 E0028500 27A40010 */ addiu $a0, $sp, 0x10 +/* 33D2F4 E0028504 AFBF0020 */ sw $ra, 0x20($sp) +/* 33D2F8 E0028508 AFA00014 */ sw $zero, 0x14($sp) +/* 33D2FC E002850C 0C080120 */ jal func_E0200480 +/* 33D300 E0028510 AFA20010 */ sw $v0, 0x10($sp) +/* 33D304 E0028514 8C430000 */ lw $v1, ($v0) +/* 33D308 E0028518 34630002 */ ori $v1, $v1, 2 +/* 33D30C E002851C AC430000 */ sw $v1, ($v0) +/* 33D310 E0028520 8FBF0020 */ lw $ra, 0x20($sp) +/* 33D314 E0028524 03E00008 */ jr $ra +/* 33D318 E0028528 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_33CDF0/func_E002852C.s b/asm/nonmatchings/code_33CDF0/func_E002852C.s new file mode 100644 index 0000000000..03bc1e65b2 --- /dev/null +++ b/asm/nonmatchings/code_33CDF0/func_E002852C.s @@ -0,0 +1,179 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002852C +/* 33D31C E002852C 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* 33D320 E0028530 AFB700F4 */ sw $s7, 0xf4($sp) +/* 33D324 E0028534 0080B82D */ daddu $s7, $a0, $zero +/* 33D328 E0028538 3C02DB06 */ lui $v0, 0xdb06 +/* 33D32C E002853C 34420024 */ ori $v0, $v0, 0x24 +/* 33D330 E0028540 3C061464 */ lui $a2, 0x1464 +/* 33D334 E0028544 34C61400 */ ori $a2, $a2, 0x1400 +/* 33D338 E0028548 AFB300E4 */ sw $s3, 0xe4($sp) +/* 33D33C E002854C 3C13800A */ lui $s3, 0x800a +/* 33D340 E0028550 2673A66C */ addiu $s3, $s3, -0x5994 +/* 33D344 E0028554 AFBF00F8 */ sw $ra, 0xf8($sp) +/* 33D348 E0028558 AFB600F0 */ sw $s6, 0xf0($sp) +/* 33D34C E002855C AFB500EC */ sw $s5, 0xec($sp) +/* 33D350 E0028560 AFB400E8 */ sw $s4, 0xe8($sp) +/* 33D354 E0028564 AFB200E0 */ sw $s2, 0xe0($sp) +/* 33D358 E0028568 AFB100DC */ sw $s1, 0xdc($sp) +/* 33D35C E002856C AFB000D8 */ sw $s0, 0xd8($sp) +/* 33D360 E0028570 F7B60108 */ sdc1 $f22, 0x108($sp) +/* 33D364 E0028574 F7B40100 */ sdc1 $f20, 0x100($sp) +/* 33D368 E0028578 8E650000 */ lw $a1, ($s3) +/* 33D36C E002857C 8EF0000C */ lw $s0, 0xc($s7) +/* 33D370 E0028580 00A0202D */ daddu $a0, $a1, $zero +/* 33D374 E0028584 24A50008 */ addiu $a1, $a1, 8 +/* 33D378 E0028588 AE650000 */ sw $a1, ($s3) +/* 33D37C E002858C AC820000 */ sw $v0, ($a0) +/* 33D380 E0028590 24A20008 */ addiu $v0, $a1, 8 +/* 33D384 E0028594 AE620000 */ sw $v0, ($s3) +/* 33D388 E0028598 8EE30010 */ lw $v1, 0x10($s7) +/* 33D38C E002859C 24A20010 */ addiu $v0, $a1, 0x10 +/* 33D390 E00285A0 AE620000 */ sw $v0, ($s3) +/* 33D394 E00285A4 8C62001C */ lw $v0, 0x1c($v1) +/* 33D398 E00285A8 3C038000 */ lui $v1, 0x8000 +/* 33D39C E00285AC 00431021 */ addu $v0, $v0, $v1 +/* 33D3A0 E00285B0 AC820004 */ sw $v0, 4($a0) +/* 33D3A4 E00285B4 3C02DE00 */ lui $v0, 0xde00 +/* 33D3A8 E00285B8 ACA20000 */ sw $v0, ($a1) +/* 33D3AC E00285BC 3C020900 */ lui $v0, 0x900 +/* 33D3B0 E00285C0 24421180 */ addiu $v0, $v0, 0x1180 +/* 33D3B4 E00285C4 ACA20004 */ sw $v0, 4($a1) +/* 33D3B8 E00285C8 3C02FA00 */ lui $v0, 0xfa00 +/* 33D3BC E00285CC ACA20008 */ sw $v0, 8($a1) +/* 33D3C0 E00285D0 92020027 */ lbu $v0, 0x27($s0) +/* 33D3C4 E00285D4 24120001 */ addiu $s2, $zero, 1 +/* 33D3C8 E00285D8 00461025 */ or $v0, $v0, $a2 +/* 33D3CC E00285DC ACA2000C */ sw $v0, 0xc($a1) +/* 33D3D0 E00285E0 8E050004 */ lw $a1, 4($s0) +/* 33D3D4 E00285E4 8E060008 */ lw $a2, 8($s0) +/* 33D3D8 E00285E8 8E07000C */ lw $a3, 0xc($s0) +/* 33D3DC E00285EC 0C080108 */ jal func_E0200420 +/* 33D3E0 E00285F0 27A40018 */ addiu $a0, $sp, 0x18 +/* 33D3E4 E00285F4 27B10058 */ addiu $s1, $sp, 0x58 +/* 33D3E8 E00285F8 4480A000 */ mtc1 $zero, $f20 +/* 33D3EC E00285FC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33D3F0 E0028600 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33D3F4 E0028604 3C013F80 */ lui $at, 0x3f80 +/* 33D3F8 E0028608 4481B000 */ mtc1 $at, $f22 +/* 33D3FC E002860C 00031080 */ sll $v0, $v1, 2 +/* 33D400 E0028610 00431021 */ addu $v0, $v0, $v1 +/* 33D404 E0028614 00021080 */ sll $v0, $v0, 2 +/* 33D408 E0028618 00431023 */ subu $v0, $v0, $v1 +/* 33D40C E002861C 000218C0 */ sll $v1, $v0, 3 +/* 33D410 E0028620 00431021 */ addu $v0, $v0, $v1 +/* 33D414 E0028624 000210C0 */ sll $v0, $v0, 3 +/* 33D418 E0028628 4406A000 */ mfc1 $a2, $f20 +/* 33D41C E002862C 3C01800B */ lui $at, 0x800b +/* 33D420 E0028630 00220821 */ addu $at, $at, $v0 +/* 33D424 E0028634 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 33D428 E0028638 4407B000 */ mfc1 $a3, $f22 +/* 33D42C E002863C 46000007 */ neg.s $f0, $f0 +/* 33D430 E0028640 44050000 */ mfc1 $a1, $f0 +/* 33D434 E0028644 0220202D */ daddu $a0, $s1, $zero +/* 33D438 E0028648 0C080104 */ jal func_E0200410 +/* 33D43C E002864C E7B40010 */ swc1 $f20, 0x10($sp) +/* 33D440 E0028650 0220202D */ daddu $a0, $s1, $zero +/* 33D444 E0028654 27A50018 */ addiu $a1, $sp, 0x18 +/* 33D448 E0028658 0C080114 */ jal func_E0200450 +/* 33D44C E002865C 27A60098 */ addiu $a2, $sp, 0x98 +/* 33D450 E0028660 8EE20008 */ lw $v0, 8($s7) +/* 33D454 E0028664 0242102A */ slt $v0, $s2, $v0 +/* 33D458 E0028668 1040004E */ beqz $v0, .LE00287A4 +/* 33D45C E002866C 26100030 */ addiu $s0, $s0, 0x30 +/* 33D460 E0028670 3C16800A */ lui $s6, 0x800a +/* 33D464 E0028674 26D6A674 */ addiu $s6, $s6, -0x598c +/* 33D468 E0028678 3C158007 */ lui $s5, 0x8007 +/* 33D46C E002867C 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 33D470 E0028680 3C140001 */ lui $s4, 1 +/* 33D474 E0028684 36941630 */ ori $s4, $s4, 0x1630 +/* 33D478 E0028688 26100020 */ addiu $s0, $s0, 0x20 +.LE002868C: +/* 33D47C E002868C 0220202D */ daddu $a0, $s1, $zero +/* 33D480 E0028690 8E05FFE4 */ lw $a1, -0x1c($s0) +/* 33D484 E0028694 8E06FFE8 */ lw $a2, -0x18($s0) +/* 33D488 E0028698 8E07FFEC */ lw $a3, -0x14($s0) +/* 33D48C E002869C 0C080108 */ jal func_E0200420 +/* 33D490 E00286A0 26520001 */ addiu $s2, $s2, 1 +/* 33D494 E00286A4 0220202D */ daddu $a0, $s1, $zero +/* 33D498 E00286A8 27A50098 */ addiu $a1, $sp, 0x98 +/* 33D49C E00286AC 0C080114 */ jal func_E0200450 +/* 33D4A0 E00286B0 27A60018 */ addiu $a2, $sp, 0x18 +/* 33D4A4 E00286B4 E7B60010 */ swc1 $f22, 0x10($sp) +/* 33D4A8 E00286B8 8E05FFF8 */ lw $a1, -8($s0) +/* 33D4AC E00286BC 4406A000 */ mfc1 $a2, $f20 +/* 33D4B0 E00286C0 4407A000 */ mfc1 $a3, $f20 +/* 33D4B4 E00286C4 0C080104 */ jal func_E0200410 +/* 33D4B8 E00286C8 0220202D */ daddu $a0, $s1, $zero +/* 33D4BC E00286CC 0220202D */ daddu $a0, $s1, $zero +/* 33D4C0 E00286D0 27A50018 */ addiu $a1, $sp, 0x18 +/* 33D4C4 E00286D4 0C080114 */ jal func_E0200450 +/* 33D4C8 E00286D8 00A0302D */ daddu $a2, $a1, $zero +/* 33D4CC E00286DC 0220202D */ daddu $a0, $s1, $zero +/* 33D4D0 E00286E0 E7B40010 */ swc1 $f20, 0x10($sp) +/* 33D4D4 E00286E4 8E050000 */ lw $a1, ($s0) +/* 33D4D8 E00286E8 4406A000 */ mfc1 $a2, $f20 +/* 33D4DC E00286EC 4407B000 */ mfc1 $a3, $f22 +/* 33D4E0 E00286F0 0C080104 */ jal func_E0200410 +/* 33D4E4 E00286F4 26100030 */ addiu $s0, $s0, 0x30 +/* 33D4E8 E00286F8 0220202D */ daddu $a0, $s1, $zero +/* 33D4EC E00286FC 27A50018 */ addiu $a1, $sp, 0x18 +/* 33D4F0 E0028700 0C080114 */ jal func_E0200450 +/* 33D4F4 E0028704 00A0302D */ daddu $a2, $a1, $zero +/* 33D4F8 E0028708 27A40018 */ addiu $a0, $sp, 0x18 +/* 33D4FC E002870C 96A50000 */ lhu $a1, ($s5) +/* 33D500 E0028710 8EC20000 */ lw $v0, ($s6) +/* 33D504 E0028714 00052980 */ sll $a1, $a1, 6 +/* 33D508 E0028718 00B42821 */ addu $a1, $a1, $s4 +/* 33D50C E002871C 0C080118 */ jal func_E0200460 +/* 33D510 E0028720 00452821 */ addu $a1, $v0, $a1 +/* 33D514 E0028724 3C06D838 */ lui $a2, 0xd838 +/* 33D518 E0028728 8E640000 */ lw $a0, ($s3) +/* 33D51C E002872C 34C60002 */ ori $a2, $a2, 2 +/* 33D520 E0028730 0080282D */ daddu $a1, $a0, $zero +/* 33D524 E0028734 24840008 */ addiu $a0, $a0, 8 +/* 33D528 E0028738 AE640000 */ sw $a0, ($s3) +/* 33D52C E002873C 96A20000 */ lhu $v0, ($s5) +/* 33D530 E0028740 3C03DA38 */ lui $v1, 0xda38 +/* 33D534 E0028744 ACA30000 */ sw $v1, ($a1) +/* 33D538 E0028748 24430001 */ addiu $v1, $v0, 1 +/* 33D53C E002874C 3042FFFF */ andi $v0, $v0, 0xffff +/* 33D540 E0028750 00021180 */ sll $v0, $v0, 6 +/* 33D544 E0028754 A6A30000 */ sh $v1, ($s5) +/* 33D548 E0028758 8EC30000 */ lw $v1, ($s6) +/* 33D54C E002875C 00541021 */ addu $v0, $v0, $s4 +/* 33D550 E0028760 00621821 */ addu $v1, $v1, $v0 +/* 33D554 E0028764 24820008 */ addiu $v0, $a0, 8 +/* 33D558 E0028768 ACA30004 */ sw $v1, 4($a1) +/* 33D55C E002876C AE620000 */ sw $v0, ($s3) +/* 33D560 E0028770 3C02DE00 */ lui $v0, 0xde00 +/* 33D564 E0028774 AC820000 */ sw $v0, ($a0) +/* 33D568 E0028778 3C020900 */ lui $v0, 0x900 +/* 33D56C E002877C 24421230 */ addiu $v0, $v0, 0x1230 +/* 33D570 E0028780 AC820004 */ sw $v0, 4($a0) +/* 33D574 E0028784 24020040 */ addiu $v0, $zero, 0x40 +/* 33D578 E0028788 AC860008 */ sw $a2, 8($a0) +/* 33D57C E002878C AC82000C */ sw $v0, 0xc($a0) +/* 33D580 E0028790 8EE20008 */ lw $v0, 8($s7) +/* 33D584 E0028794 24840010 */ addiu $a0, $a0, 0x10 +/* 33D588 E0028798 0242102A */ slt $v0, $s2, $v0 +/* 33D58C E002879C 1440FFBB */ bnez $v0, .LE002868C +/* 33D590 E00287A0 AE640000 */ sw $a0, ($s3) +.LE00287A4: +/* 33D594 E00287A4 8FBF00F8 */ lw $ra, 0xf8($sp) +/* 33D598 E00287A8 8FB700F4 */ lw $s7, 0xf4($sp) +/* 33D59C E00287AC 8FB600F0 */ lw $s6, 0xf0($sp) +/* 33D5A0 E00287B0 8FB500EC */ lw $s5, 0xec($sp) +/* 33D5A4 E00287B4 8FB400E8 */ lw $s4, 0xe8($sp) +/* 33D5A8 E00287B8 8FB300E4 */ lw $s3, 0xe4($sp) +/* 33D5AC E00287BC 8FB200E0 */ lw $s2, 0xe0($sp) +/* 33D5B0 E00287C0 8FB100DC */ lw $s1, 0xdc($sp) +/* 33D5B4 E00287C4 8FB000D8 */ lw $s0, 0xd8($sp) +/* 33D5B8 E00287C8 D7B60108 */ ldc1 $f22, 0x108($sp) +/* 33D5BC E00287CC D7B40100 */ ldc1 $f20, 0x100($sp) +/* 33D5C0 E00287D0 03E00008 */ jr $ra +/* 33D5C4 E00287D4 27BD0110 */ addiu $sp, $sp, 0x110 +/* 33D5C8 E00287D8 00000000 */ nop +/* 33D5CC E00287DC 00000000 */ nop diff --git a/asm/nonmatchings/code_33E8C0/func_E002A000.s b/asm/nonmatchings/code_33E8C0/func_E002A000.s new file mode 100644 index 0000000000..bed00ed6fb --- /dev/null +++ b/asm/nonmatchings/code_33E8C0/func_E002A000.s @@ -0,0 +1,175 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002A000 +/* 33E8C0 E002A000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 33E8C4 E002A004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 33E8C8 E002A008 4485A000 */ mtc1 $a1, $f20 +/* 33E8CC E002A00C AFB40038 */ sw $s4, 0x38($sp) +/* 33E8D0 E002A010 0080A02D */ daddu $s4, $a0, $zero +/* 33E8D4 E002A014 AFB20030 */ sw $s2, 0x30($sp) +/* 33E8D8 E002A018 24120004 */ addiu $s2, $zero, 4 +/* 33E8DC E002A01C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 33E8E0 E002A020 4486B000 */ mtc1 $a2, $f22 +/* 33E8E4 E002A024 27A40010 */ addiu $a0, $sp, 0x10 +/* 33E8E8 E002A028 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 33E8EC E002A02C 4487C000 */ mtc1 $a3, $f24 +/* 33E8F0 E002A030 2A820002 */ slti $v0, $s4, 2 +/* 33E8F4 E002A034 AFBF003C */ sw $ra, 0x3c($sp) +/* 33E8F8 E002A038 AFB30034 */ sw $s3, 0x34($sp) +/* 33E8FC E002A03C AFB1002C */ sw $s1, 0x2c($sp) +/* 33E900 E002A040 10400002 */ beqz $v0, .LE002A04C +/* 33E904 E002A044 AFB00028 */ sw $s0, 0x28($sp) +/* 33E908 E002A048 24120005 */ addiu $s2, $zero, 5 +.LE002A04C: +/* 33E90C E002A04C 3C02E003 */ lui $v0, 0xe003 +/* 33E910 E002A050 2442A284 */ addiu $v0, $v0, -0x5d7c +/* 33E914 E002A054 AFA20018 */ sw $v0, 0x18($sp) +/* 33E918 E002A058 3C02E003 */ lui $v0, 0xe003 +/* 33E91C E002A05C 2442A28C */ addiu $v0, $v0, -0x5d74 +/* 33E920 E002A060 AFA2001C */ sw $v0, 0x1c($sp) +/* 33E924 E002A064 3C02E003 */ lui $v0, 0xe003 +/* 33E928 E002A068 2442A380 */ addiu $v0, $v0, -0x5c80 +/* 33E92C E002A06C AFA20020 */ sw $v0, 0x20($sp) +/* 33E930 E002A070 24020015 */ addiu $v0, $zero, 0x15 +/* 33E934 E002A074 AFA00010 */ sw $zero, 0x10($sp) +/* 33E938 E002A078 AFA00024 */ sw $zero, 0x24($sp) +/* 33E93C E002A07C 0C080124 */ jal func_E0200490 +/* 33E940 E002A080 AFA20014 */ sw $v0, 0x14($sp) +/* 33E944 E002A084 001220C0 */ sll $a0, $s2, 3 +/* 33E948 E002A088 00922021 */ addu $a0, $a0, $s2 +/* 33E94C E002A08C 000420C0 */ sll $a0, $a0, 3 +/* 33E950 E002A090 0040982D */ daddu $s3, $v0, $zero +/* 33E954 E002A094 0C08012C */ jal func_E02004B0 +/* 33E958 E002A098 AE720008 */ sw $s2, 8($s3) +/* 33E95C E002A09C 0040202D */ daddu $a0, $v0, $zero +/* 33E960 E002A0A0 14800003 */ bnez $a0, .LE002A0B0 +/* 33E964 E002A0A4 AE64000C */ sw $a0, 0xc($s3) +.LE002A0A8: +/* 33E968 E002A0A8 0800A82A */ j .LE002A0A8 +/* 33E96C E002A0AC 00000000 */ nop +.LE002A0B0: +/* 33E970 E002A0B0 2403008C */ addiu $v1, $zero, 0x8c +/* 33E974 E002A0B4 AC940000 */ sw $s4, ($a0) +/* 33E978 E002A0B8 E4940004 */ swc1 $f20, 4($a0) +/* 33E97C E002A0BC E4960008 */ swc1 $f22, 8($a0) +/* 33E980 E002A0C0 E498000C */ swc1 $f24, 0xc($a0) +/* 33E984 E002A0C4 8FA20068 */ lw $v0, 0x68($sp) +/* 33E988 E002A0C8 24110001 */ addiu $s1, $zero, 1 +/* 33E98C E002A0CC AC830038 */ sw $v1, 0x38($a0) +/* 33E990 E002A0D0 AC830044 */ sw $v1, 0x44($a0) +/* 33E994 E002A0D4 AC82002C */ sw $v0, 0x2c($a0) +/* 33E998 E002A0D8 240200FF */ addiu $v0, $zero, 0xff +/* 33E99C E002A0DC AC820018 */ sw $v0, 0x18($a0) +/* 33E9A0 E002A0E0 240200A0 */ addiu $v0, $zero, 0xa0 +/* 33E9A4 E002A0E4 AC820030 */ sw $v0, 0x30($a0) +/* 33E9A8 E002A0E8 AC820034 */ sw $v0, 0x34($a0) +/* 33E9AC E002A0EC AC82003C */ sw $v0, 0x3c($a0) +/* 33E9B0 E002A0F0 AC820040 */ sw $v0, 0x40($a0) +/* 33E9B4 E002A0F4 0232102A */ slt $v0, $s1, $s2 +/* 33E9B8 E002A0F8 10400056 */ beqz $v0, .LE002A254 +/* 33E9BC E002A0FC 24840048 */ addiu $a0, $a0, 0x48 +/* 33E9C0 E002A100 24900008 */ addiu $s0, $a0, 8 +/* 33E9C4 E002A104 3C013F80 */ lui $at, 0x3f80 +/* 33E9C8 E002A108 4481C000 */ mtc1 $at, $f24 +/* 33E9CC E002A10C 3C01E003 */ lui $at, 0xe003 +/* 33E9D0 E002A110 D434A720 */ ldc1 $f20, -0x58e0($at) +/* 33E9D4 E002A114 3C013ECC */ lui $at, 0x3ecc +/* 33E9D8 E002A118 3421CCCD */ ori $at, $at, 0xcccd +/* 33E9DC E002A11C 4481B000 */ mtc1 $at, $f22 +.LE002A120: +/* 33E9E0 E002A120 0C080138 */ jal func_E02004E0 +/* 33E9E4 E002A124 240400C8 */ addiu $a0, $zero, 0xc8 +/* 33E9E8 E002A128 24040032 */ addiu $a0, $zero, 0x32 +/* 33E9EC E002A12C 2442FF9C */ addiu $v0, $v0, -0x64 +/* 33E9F0 E002A130 44820000 */ mtc1 $v0, $f0 +/* 33E9F4 E002A134 00000000 */ nop +/* 33E9F8 E002A138 46800020 */ cvt.s.w $f0, $f0 +/* 33E9FC E002A13C 0C080138 */ jal func_E02004E0 +/* 33EA00 E002A140 E600FFFC */ swc1 $f0, -4($s0) +/* 33EA04 E002A144 2404000A */ addiu $a0, $zero, 0xa +/* 33EA08 E002A148 3C01BF80 */ lui $at, 0xbf80 +/* 33EA0C E002A14C 44811000 */ mtc1 $at, $f2 +/* 33EA10 E002A150 44820000 */ mtc1 $v0, $f0 +/* 33EA14 E002A154 00000000 */ nop +/* 33EA18 E002A158 46800020 */ cvt.s.w $f0, $f0 +/* 33EA1C E002A15C E6000000 */ swc1 $f0, ($s0) +/* 33EA20 E002A160 AE000004 */ sw $zero, 4($s0) +/* 33EA24 E002A164 AE00000C */ sw $zero, 0xc($s0) +/* 33EA28 E002A168 E6180014 */ swc1 $f24, 0x14($s0) +/* 33EA2C E002A16C E6180018 */ swc1 $f24, 0x18($s0) +/* 33EA30 E002A170 0C080138 */ jal func_E02004E0 +/* 33EA34 E002A174 E6020008 */ swc1 $f2, 8($s0) +/* 33EA38 E002A178 3C0351EB */ lui $v1, 0x51eb +/* 33EA3C E002A17C 3463851F */ ori $v1, $v1, 0x851f +/* 33EA40 E002A180 00430018 */ mult $v0, $v1 +/* 33EA44 E002A184 000217C3 */ sra $v0, $v0, 0x1f +/* 33EA48 E002A188 00004010 */ mfhi $t0 +/* 33EA4C E002A18C 00081983 */ sra $v1, $t0, 6 +/* 33EA50 E002A190 00621823 */ subu $v1, $v1, $v0 +/* 33EA54 E002A194 44830000 */ mtc1 $v1, $f0 +/* 33EA58 E002A198 00000000 */ nop +/* 33EA5C E002A19C 46800020 */ cvt.s.w $f0, $f0 +/* 33EA60 E002A1A0 12800006 */ beqz $s4, .LE002A1BC +/* 33EA64 E002A1A4 E600001C */ swc1 $f0, 0x1c($s0) +/* 33EA68 E002A1A8 24020001 */ addiu $v0, $zero, 1 +/* 33EA6C E002A1AC 12820008 */ beq $s4, $v0, .LE002A1D0 +/* 33EA70 E002A1B0 24040028 */ addiu $a0, $zero, 0x28 +/* 33EA74 E002A1B4 0800A87C */ j .LE002A1F0 +/* 33EA78 E002A1B8 E616001C */ swc1 $f22, 0x1c($s0) +.LE002A1BC: +/* 33EA7C E002A1BC 46000021 */ cvt.d.s $f0, $f0 +/* 33EA80 E002A1C0 46340002 */ mul.d $f0, $f0, $f20 +/* 33EA84 E002A1C4 00000000 */ nop +/* 33EA88 E002A1C8 0800A87A */ j .LE002A1E8 +/* 33EA8C E002A1CC 46200020 */ cvt.s.d $f0, $f0 +.LE002A1D0: +/* 33EA90 E002A1D0 3C01E003 */ lui $at, 0xe003 +/* 33EA94 E002A1D4 D422A728 */ ldc1 $f2, -0x58d8($at) +/* 33EA98 E002A1D8 46000021 */ cvt.d.s $f0, $f0 +/* 33EA9C E002A1DC 46220002 */ mul.d $f0, $f0, $f2 +/* 33EAA0 E002A1E0 00000000 */ nop +/* 33EAA4 E002A1E4 46200020 */ cvt.s.d $f0, $f0 +.LE002A1E8: +/* 33EAA8 E002A1E8 0800A891 */ j .LE002A244 +/* 33EAAC E002A1EC E6000020 */ swc1 $f0, 0x20($s0) +.LE002A1F0: +/* 33EAB0 E002A1F0 E6160020 */ swc1 $f22, 0x20($s0) +/* 33EAB4 E002A1F4 0C080138 */ jal func_E02004E0 +/* 33EAB8 E002A1F8 AE000008 */ sw $zero, 8($s0) +/* 33EABC E002A1FC 2442FFEC */ addiu $v0, $v0, -0x14 +/* 33EAC0 E002A200 44820000 */ mtc1 $v0, $f0 +/* 33EAC4 E002A204 00000000 */ nop +/* 33EAC8 E002A208 46800021 */ cvt.d.w $f0, $f0 +/* 33EACC E002A20C 46340002 */ mul.d $f0, $f0, $f20 +/* 33EAD0 E002A210 00000000 */ nop +/* 33EAD4 E002A214 24040028 */ addiu $a0, $zero, 0x28 +/* 33EAD8 E002A218 46200020 */ cvt.s.d $f0, $f0 +/* 33EADC E002A21C 0C080138 */ jal func_E02004E0 +/* 33EAE0 E002A220 E600FFFC */ swc1 $f0, -4($s0) +/* 33EAE4 E002A224 2442FFEC */ addiu $v0, $v0, -0x14 +/* 33EAE8 E002A228 44820000 */ mtc1 $v0, $f0 +/* 33EAEC E002A22C 00000000 */ nop +/* 33EAF0 E002A230 46800021 */ cvt.d.w $f0, $f0 +/* 33EAF4 E002A234 46340002 */ mul.d $f0, $f0, $f20 +/* 33EAF8 E002A238 00000000 */ nop +/* 33EAFC E002A23C 46200020 */ cvt.s.d $f0, $f0 +/* 33EB00 E002A240 E6000000 */ swc1 $f0, ($s0) +.LE002A244: +/* 33EB04 E002A244 26310001 */ addiu $s1, $s1, 1 +/* 33EB08 E002A248 0232102A */ slt $v0, $s1, $s2 +/* 33EB0C E002A24C 1440FFB4 */ bnez $v0, .LE002A120 +/* 33EB10 E002A250 26100048 */ addiu $s0, $s0, 0x48 +.LE002A254: +/* 33EB14 E002A254 0260102D */ daddu $v0, $s3, $zero +/* 33EB18 E002A258 8FBF003C */ lw $ra, 0x3c($sp) +/* 33EB1C E002A25C 8FB40038 */ lw $s4, 0x38($sp) +/* 33EB20 E002A260 8FB30034 */ lw $s3, 0x34($sp) +/* 33EB24 E002A264 8FB20030 */ lw $s2, 0x30($sp) +/* 33EB28 E002A268 8FB1002C */ lw $s1, 0x2c($sp) +/* 33EB2C E002A26C 8FB00028 */ lw $s0, 0x28($sp) +/* 33EB30 E002A270 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 33EB34 E002A274 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 33EB38 E002A278 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 33EB3C E002A27C 03E00008 */ jr $ra +/* 33EB40 E002A280 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_33E8C0/func_E002A284.s b/asm/nonmatchings/code_33E8C0/func_E002A284.s new file mode 100644 index 0000000000..a13fd83cc0 --- /dev/null +++ b/asm/nonmatchings/code_33E8C0/func_E002A284.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002A284 +/* 33EB44 E002A284 03E00008 */ jr $ra +/* 33EB48 E002A288 00000000 */ nop diff --git a/asm/nonmatchings/code_33E8C0/func_E002A28C.s b/asm/nonmatchings/code_33E8C0/func_E002A28C.s new file mode 100644 index 0000000000..e27d469db0 --- /dev/null +++ b/asm/nonmatchings/code_33E8C0/func_E002A28C.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002A28C +/* 33EB4C E002A28C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 33EB50 E002A290 AFBF0010 */ sw $ra, 0x10($sp) +/* 33EB54 E002A294 8C83000C */ lw $v1, 0xc($a0) +/* 33EB58 E002A298 8C62002C */ lw $v0, 0x2c($v1) +/* 33EB5C E002A29C 2442FFFF */ addiu $v0, $v0, -1 +/* 33EB60 E002A2A0 04410005 */ bgez $v0, .LE002A2B8 +/* 33EB64 E002A2A4 AC62002C */ sw $v0, 0x2c($v1) +/* 33EB68 E002A2A8 0C080128 */ jal func_E02004A0 +/* 33EB6C E002A2AC 00000000 */ nop +/* 33EB70 E002A2B0 0800A8DD */ j .LE002A374 +/* 33EB74 E002A2B4 00000000 */ nop +.LE002A2B8: +/* 33EB78 E002A2B8 8C660000 */ lw $a2, ($v1) +/* 33EB7C E002A2BC 28420018 */ slti $v0, $v0, 0x18 +/* 33EB80 E002A2C0 10400009 */ beqz $v0, .LE002A2E8 +/* 33EB84 E002A2C4 00000000 */ nop +/* 33EB88 E002A2C8 3C01E003 */ lui $at, 0xe003 +/* 33EB8C E002A2CC D422A730 */ ldc1 $f2, -0x58d0($at) +/* 33EB90 E002A2D0 C4600018 */ lwc1 $f0, 0x18($v1) +/* 33EB94 E002A2D4 46800021 */ cvt.d.w $f0, $f0 +/* 33EB98 E002A2D8 46220002 */ mul.d $f0, $f0, $f2 +/* 33EB9C E002A2DC 00000000 */ nop +/* 33EBA0 E002A2E0 4620020D */ trunc.w.d $f8, $f0 +/* 33EBA4 E002A2E4 E4680018 */ swc1 $f8, 0x18($v1) +.LE002A2E8: +/* 33EBA8 E002A2E8 8C820008 */ lw $v0, 8($a0) +/* 33EBAC E002A2EC 24050001 */ addiu $a1, $zero, 1 +/* 33EBB0 E002A2F0 00A2102A */ slt $v0, $a1, $v0 +/* 33EBB4 E002A2F4 1040001F */ beqz $v0, .LE002A374 +/* 33EBB8 E002A2F8 24630048 */ addiu $v1, $v1, 0x48 +/* 33EBBC E002A2FC 28C60002 */ slti $a2, $a2, 2 +/* 33EBC0 E002A300 3C01E003 */ lui $at, 0xe003 +/* 33EBC4 E002A304 D426A738 */ ldc1 $f6, -0x58c8($at) +/* 33EBC8 E002A308 24630020 */ addiu $v1, $v1, 0x20 +.LE002A30C: +/* 33EBCC E002A30C C460FFF0 */ lwc1 $f0, -0x10($v1) +/* 33EBD0 E002A310 C462FFF4 */ lwc1 $f2, -0xc($v1) +/* 33EBD4 E002A314 46020000 */ add.s $f0, $f0, $f2 +/* 33EBD8 E002A318 C462FFE8 */ lwc1 $f2, -0x18($v1) +/* 33EBDC E002A31C 46001080 */ add.s $f2, $f2, $f0 +/* 33EBE0 E002A320 E460FFF0 */ swc1 $f0, -0x10($v1) +/* 33EBE4 E002A324 10C00006 */ beqz $a2, .LE002A340 +/* 33EBE8 E002A328 E462FFE8 */ swc1 $f2, -0x18($v1) +/* 33EBEC E002A32C C4600004 */ lwc1 $f0, 4($v1) +/* 33EBF0 E002A330 46000021 */ cvt.d.s $f0, $f0 +/* 33EBF4 E002A334 46260000 */ add.d $f0, $f0, $f6 +/* 33EBF8 E002A338 46200020 */ cvt.s.d $f0, $f0 +/* 33EBFC E002A33C E4600004 */ swc1 $f0, 4($v1) +.LE002A340: +/* 33EC00 E002A340 C464FFFC */ lwc1 $f4, -4($v1) +/* 33EC04 E002A344 C4600004 */ lwc1 $f0, 4($v1) +/* 33EC08 E002A348 C4620000 */ lwc1 $f2, ($v1) +/* 33EC0C E002A34C 46002100 */ add.s $f4, $f4, $f0 +/* 33EC10 E002A350 C4600008 */ lwc1 $f0, 8($v1) +/* 33EC14 E002A354 46001080 */ add.s $f2, $f2, $f0 +/* 33EC18 E002A358 24A50001 */ addiu $a1, $a1, 1 +/* 33EC1C E002A35C E464FFFC */ swc1 $f4, -4($v1) +/* 33EC20 E002A360 E4620000 */ swc1 $f2, ($v1) +/* 33EC24 E002A364 8C820008 */ lw $v0, 8($a0) +/* 33EC28 E002A368 00A2102A */ slt $v0, $a1, $v0 +/* 33EC2C E002A36C 1440FFE7 */ bnez $v0, .LE002A30C +/* 33EC30 E002A370 24630048 */ addiu $v1, $v1, 0x48 +.LE002A374: +/* 33EC34 E002A374 8FBF0010 */ lw $ra, 0x10($sp) +/* 33EC38 E002A378 03E00008 */ jr $ra +/* 33EC3C E002A37C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_33E8C0/func_E002A380.s b/asm/nonmatchings/code_33E8C0/func_E002A380.s new file mode 100644 index 0000000000..58b9e6c1c4 --- /dev/null +++ b/asm/nonmatchings/code_33E8C0/func_E002A380.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002A380 +/* 33EC40 E002A380 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 33EC44 E002A384 3C02E003 */ lui $v0, 0xe003 +/* 33EC48 E002A388 2442A3C4 */ addiu $v0, $v0, -0x5c3c +/* 33EC4C E002A38C AFA2001C */ sw $v0, 0x1c($sp) +/* 33EC50 E002A390 24020011 */ addiu $v0, $zero, 0x11 +/* 33EC54 E002A394 AFA40018 */ sw $a0, 0x18($sp) +/* 33EC58 E002A398 27A40010 */ addiu $a0, $sp, 0x10 +/* 33EC5C E002A39C AFBF0020 */ sw $ra, 0x20($sp) +/* 33EC60 E002A3A0 AFA00014 */ sw $zero, 0x14($sp) +/* 33EC64 E002A3A4 0C080120 */ jal func_E0200480 +/* 33EC68 E002A3A8 AFA20010 */ sw $v0, 0x10($sp) +/* 33EC6C E002A3AC 8C430000 */ lw $v1, ($v0) +/* 33EC70 E002A3B0 34630002 */ ori $v1, $v1, 2 +/* 33EC74 E002A3B4 AC430000 */ sw $v1, ($v0) +/* 33EC78 E002A3B8 8FBF0020 */ lw $ra, 0x20($sp) +/* 33EC7C E002A3BC 03E00008 */ jr $ra +/* 33EC80 E002A3C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_33E8C0/func_E002A3C4.s b/asm/nonmatchings/code_33E8C0/func_E002A3C4.s new file mode 100644 index 0000000000..95c9f4558f --- /dev/null +++ b/asm/nonmatchings/code_33E8C0/func_E002A3C4.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002A3C4 +/* 33EC84 E002A3C4 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 33EC88 E002A3C8 3C02DB06 */ lui $v0, 0xdb06 +/* 33EC8C E002A3CC 34420024 */ ori $v0, $v0, 0x24 +/* 33EC90 E002A3D0 AFB200E8 */ sw $s2, 0xe8($sp) +/* 33EC94 E002A3D4 3C12800A */ lui $s2, 0x800a +/* 33EC98 E002A3D8 2652A66C */ addiu $s2, $s2, -0x5994 +/* 33EC9C E002A3DC AFBF0104 */ sw $ra, 0x104($sp) +/* 33ECA0 E002A3E0 AFBE0100 */ sw $fp, 0x100($sp) +/* 33ECA4 E002A3E4 AFB700FC */ sw $s7, 0xfc($sp) +/* 33ECA8 E002A3E8 AFB600F8 */ sw $s6, 0xf8($sp) +/* 33ECAC E002A3EC AFB500F4 */ sw $s5, 0xf4($sp) +/* 33ECB0 E002A3F0 AFB400F0 */ sw $s4, 0xf0($sp) +/* 33ECB4 E002A3F4 AFB300EC */ sw $s3, 0xec($sp) +/* 33ECB8 E002A3F8 AFB100E4 */ sw $s1, 0xe4($sp) +/* 33ECBC E002A3FC AFB000E0 */ sw $s0, 0xe0($sp) +/* 33ECC0 E002A400 AFA40108 */ sw $a0, 0x108($sp) +/* 33ECC4 E002A404 8E490000 */ lw $t1, ($s2) +/* 33ECC8 E002A408 8C90000C */ lw $s0, 0xc($a0) +/* 33ECCC E002A40C 0120202D */ daddu $a0, $t1, $zero +/* 33ECD0 E002A410 AC820000 */ sw $v0, ($a0) +/* 33ECD4 E002A414 8FAB0108 */ lw $t3, 0x108($sp) +/* 33ECD8 E002A418 3C050900 */ lui $a1, 0x900 +/* 33ECDC E002A41C 24A50D68 */ addiu $a1, $a1, 0xd68 +/* 33ECE0 E002A420 8D620010 */ lw $v0, 0x10($t3) +/* 33ECE4 E002A424 25290008 */ addiu $t1, $t1, 8 +/* 33ECE8 E002A428 AE490000 */ sw $t1, ($s2) +/* 33ECEC E002A42C 8C42001C */ lw $v0, 0x1c($v0) +/* 33ECF0 E002A430 3C038000 */ lui $v1, 0x8000 +/* 33ECF4 E002A434 00431021 */ addu $v0, $v0, $v1 +/* 33ECF8 E002A438 AC820004 */ sw $v0, 4($a0) +/* 33ECFC E002A43C 3C02DE00 */ lui $v0, 0xde00 +/* 33ED00 E002A440 AD220000 */ sw $v0, ($t1) +/* 33ED04 E002A444 8E020000 */ lw $v0, ($s0) +/* 33ED08 E002A448 252A0008 */ addiu $t2, $t1, 8 +/* 33ED0C E002A44C 14400003 */ bnez $v0, .LE002A45C +/* 33ED10 E002A450 AE4A0000 */ sw $t2, ($s2) +/* 33ED14 E002A454 3C050900 */ lui $a1, 0x900 +/* 33ED18 E002A458 24A50CC0 */ addiu $a1, $a1, 0xcc0 +.LE002A45C: +/* 33ED1C E002A45C 25280010 */ addiu $t0, $t1, 0x10 +/* 33ED20 E002A460 3C02FA00 */ lui $v0, 0xfa00 +/* 33ED24 E002A464 AD250004 */ sw $a1, 4($t1) +/* 33ED28 E002A468 AE480000 */ sw $t0, ($s2) +/* 33ED2C E002A46C AD220008 */ sw $v0, 8($t1) +/* 33ED30 E002A470 92020033 */ lbu $v0, 0x33($s0) +/* 33ED34 E002A474 92050037 */ lbu $a1, 0x37($s0) +/* 33ED38 E002A478 9206003B */ lbu $a2, 0x3b($s0) +/* 33ED3C E002A47C 9207001B */ lbu $a3, 0x1b($s0) +/* 33ED40 E002A480 25230018 */ addiu $v1, $t1, 0x18 +/* 33ED44 E002A484 AE430000 */ sw $v1, ($s2) +/* 33ED48 E002A488 00021600 */ sll $v0, $v0, 0x18 +/* 33ED4C E002A48C 00052C00 */ sll $a1, $a1, 0x10 +/* 33ED50 E002A490 00451025 */ or $v0, $v0, $a1 +/* 33ED54 E002A494 00063200 */ sll $a2, $a2, 8 +/* 33ED58 E002A498 00461025 */ or $v0, $v0, $a2 +/* 33ED5C E002A49C 00471025 */ or $v0, $v0, $a3 +/* 33ED60 E002A4A0 AD420004 */ sw $v0, 4($t2) +/* 33ED64 E002A4A4 3C02FB00 */ lui $v0, 0xfb00 +/* 33ED68 E002A4A8 AD220010 */ sw $v0, 0x10($t1) +/* 33ED6C E002A4AC 9202003F */ lbu $v0, 0x3f($s0) +/* 33ED70 E002A4B0 92050043 */ lbu $a1, 0x43($s0) +/* 33ED74 E002A4B4 92030047 */ lbu $v1, 0x47($s0) +/* 33ED78 E002A4B8 00021600 */ sll $v0, $v0, 0x18 +/* 33ED7C E002A4BC 00052C00 */ sll $a1, $a1, 0x10 +/* 33ED80 E002A4C0 00451025 */ or $v0, $v0, $a1 +/* 33ED84 E002A4C4 00031A00 */ sll $v1, $v1, 8 +/* 33ED88 E002A4C8 00431025 */ or $v0, $v0, $v1 +/* 33ED8C E002A4CC AD020004 */ sw $v0, 4($t0) +/* 33ED90 E002A4D0 8E050004 */ lw $a1, 4($s0) +/* 33ED94 E002A4D4 8E060008 */ lw $a2, 8($s0) +/* 33ED98 E002A4D8 8E07000C */ lw $a3, 0xc($s0) +/* 33ED9C E002A4DC 0C080108 */ jal func_E0200420 +/* 33EDA0 E002A4E0 27A40018 */ addiu $a0, $sp, 0x18 +/* 33EDA4 E002A4E4 27B10058 */ addiu $s1, $sp, 0x58 +/* 33EDA8 E002A4E8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 33EDAC E002A4EC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 33EDB0 E002A4F0 44800000 */ mtc1 $zero, $f0 +/* 33EDB4 E002A4F4 00031080 */ sll $v0, $v1, 2 +/* 33EDB8 E002A4F8 00431021 */ addu $v0, $v0, $v1 +/* 33EDBC E002A4FC 00021080 */ sll $v0, $v0, 2 +/* 33EDC0 E002A500 00431023 */ subu $v0, $v0, $v1 +/* 33EDC4 E002A504 000218C0 */ sll $v1, $v0, 3 +/* 33EDC8 E002A508 00431021 */ addu $v0, $v0, $v1 +/* 33EDCC E002A50C 000210C0 */ sll $v0, $v0, 3 +/* 33EDD0 E002A510 44060000 */ mfc1 $a2, $f0 +/* 33EDD4 E002A514 3C01800B */ lui $at, 0x800b +/* 33EDD8 E002A518 00220821 */ addu $at, $at, $v0 +/* 33EDDC E002A51C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 33EDE0 E002A520 3C073F80 */ lui $a3, 0x3f80 +/* 33EDE4 E002A524 46000007 */ neg.s $f0, $f0 +/* 33EDE8 E002A528 44050000 */ mfc1 $a1, $f0 +/* 33EDEC E002A52C 0220202D */ daddu $a0, $s1, $zero +/* 33EDF0 E002A530 0C080104 */ jal func_E0200410 +/* 33EDF4 E002A534 AFA60010 */ sw $a2, 0x10($sp) +/* 33EDF8 E002A538 0220202D */ daddu $a0, $s1, $zero +/* 33EDFC E002A53C 27A50018 */ addiu $a1, $sp, 0x18 +/* 33EE00 E002A540 0C080114 */ jal func_E0200450 +/* 33EE04 E002A544 27A60098 */ addiu $a2, $sp, 0x98 +/* 33EE08 E002A548 8E0B0000 */ lw $t3, ($s0) +/* 33EE0C E002A54C AFAB00D8 */ sw $t3, 0xd8($sp) +/* 33EE10 E002A550 8FAB0108 */ lw $t3, 0x108($sp) +/* 33EE14 E002A554 24130001 */ addiu $s3, $zero, 1 +/* 33EE18 E002A558 8D620008 */ lw $v0, 8($t3) +/* 33EE1C E002A55C 0262102A */ slt $v0, $s3, $v0 +/* 33EE20 E002A560 10400061 */ beqz $v0, .LE002A6E8 +/* 33EE24 E002A564 26100048 */ addiu $s0, $s0, 0x48 +/* 33EE28 E002A568 3C17800A */ lui $s7, 0x800a +/* 33EE2C E002A56C 26F7A674 */ addiu $s7, $s7, -0x598c +/* 33EE30 E002A570 3C148007 */ lui $s4, 0x8007 +/* 33EE34 E002A574 269441F0 */ addiu $s4, $s4, 0x41f0 +/* 33EE38 E002A578 3C150001 */ lui $s5, 1 +/* 33EE3C E002A57C 36B51630 */ ori $s5, $s5, 0x1630 +/* 33EE40 E002A580 0220B02D */ daddu $s6, $s1, $zero +/* 33EE44 E002A584 3C1EDE00 */ lui $fp, 0xde00 +/* 33EE48 E002A588 2611000C */ addiu $s1, $s0, 0xc +.LE002A58C: +/* 33EE4C E002A58C 27A40018 */ addiu $a0, $sp, 0x18 +/* 33EE50 E002A590 8E250014 */ lw $a1, 0x14($s1) +/* 33EE54 E002A594 8E260010 */ lw $a2, 0x10($s1) +/* 33EE58 E002A598 96820000 */ lhu $v0, ($s4) +/* 33EE5C E002A59C 00A0382D */ daddu $a3, $a1, $zero +/* 33EE60 E002A5A0 24430001 */ addiu $v1, $v0, 1 +/* 33EE64 E002A5A4 3042FFFF */ andi $v0, $v0, 0xffff +/* 33EE68 E002A5A8 00021180 */ sll $v0, $v0, 6 +/* 33EE6C E002A5AC A6830000 */ sh $v1, ($s4) +/* 33EE70 E002A5B0 8EF00000 */ lw $s0, ($s7) +/* 33EE74 E002A5B4 00551021 */ addu $v0, $v0, $s5 +/* 33EE78 E002A5B8 0C080110 */ jal func_E0200440 +/* 33EE7C E002A5BC 02028021 */ addu $s0, $s0, $v0 +/* 33EE80 E002A5C0 27A40018 */ addiu $a0, $sp, 0x18 +/* 33EE84 E002A5C4 0C080118 */ jal func_E0200460 +/* 33EE88 E002A5C8 0200282D */ daddu $a1, $s0, $zero +/* 33EE8C E002A5CC 8E25FFF8 */ lw $a1, -8($s1) +/* 33EE90 E002A5D0 8E26FFFC */ lw $a2, -4($s1) +/* 33EE94 E002A5D4 8E270000 */ lw $a3, ($s1) +/* 33EE98 E002A5D8 0C080108 */ jal func_E0200420 +/* 33EE9C E002A5DC 02C0202D */ daddu $a0, $s6, $zero +/* 33EEA0 E002A5E0 02C0202D */ daddu $a0, $s6, $zero +/* 33EEA4 E002A5E4 27A50098 */ addiu $a1, $sp, 0x98 +/* 33EEA8 E002A5E8 0C080114 */ jal func_E0200450 +/* 33EEAC E002A5EC 27A60018 */ addiu $a2, $sp, 0x18 +/* 33EEB0 E002A5F0 27A40018 */ addiu $a0, $sp, 0x18 +/* 33EEB4 E002A5F4 96850000 */ lhu $a1, ($s4) +/* 33EEB8 E002A5F8 8EE20000 */ lw $v0, ($s7) +/* 33EEBC E002A5FC 00052980 */ sll $a1, $a1, 6 +/* 33EEC0 E002A600 00B52821 */ addu $a1, $a1, $s5 +/* 33EEC4 E002A604 0C080118 */ jal func_E0200460 +/* 33EEC8 E002A608 00452821 */ addu $a1, $v0, $a1 +/* 33EECC E002A60C 3C05DA38 */ lui $a1, 0xda38 +/* 33EED0 E002A610 8E460000 */ lw $a2, ($s2) +/* 33EED4 E002A614 34A50001 */ ori $a1, $a1, 1 +/* 33EED8 E002A618 00C0202D */ daddu $a0, $a2, $zero +/* 33EEDC E002A61C 24C60008 */ addiu $a2, $a2, 8 +/* 33EEE0 E002A620 AE460000 */ sw $a2, ($s2) +/* 33EEE4 E002A624 96820000 */ lhu $v0, ($s4) +/* 33EEE8 E002A628 3C03DA38 */ lui $v1, 0xda38 +/* 33EEEC E002A62C AC830000 */ sw $v1, ($a0) +/* 33EEF0 E002A630 24430001 */ addiu $v1, $v0, 1 +/* 33EEF4 E002A634 3042FFFF */ andi $v0, $v0, 0xffff +/* 33EEF8 E002A638 00021180 */ sll $v0, $v0, 6 +/* 33EEFC E002A63C A6830000 */ sh $v1, ($s4) +/* 33EF00 E002A640 8EE30000 */ lw $v1, ($s7) +/* 33EF04 E002A644 00551021 */ addu $v0, $v0, $s5 +/* 33EF08 E002A648 00621821 */ addu $v1, $v1, $v0 +/* 33EF0C E002A64C 24C20008 */ addiu $v0, $a2, 8 +/* 33EF10 E002A650 AC830004 */ sw $v1, 4($a0) +/* 33EF14 E002A654 AE420000 */ sw $v0, ($s2) +/* 33EF18 E002A658 ACC50000 */ sw $a1, ($a2) +/* 33EF1C E002A65C ACD00004 */ sw $s0, 4($a2) +/* 33EF20 E002A660 8FAB00D8 */ lw $t3, 0xd8($sp) +/* 33EF24 E002A664 29620002 */ slti $v0, $t3, 2 +/* 33EF28 E002A668 1040000B */ beqz $v0, .LE002A698 +/* 33EF2C E002A66C 24C20010 */ addiu $v0, $a2, 0x10 +/* 33EF30 E002A670 3C030900 */ lui $v1, 0x900 +/* 33EF34 E002A674 24630E38 */ addiu $v1, $v1, 0xe38 +/* 33EF38 E002A678 AE420000 */ sw $v0, ($s2) +/* 33EF3C E002A67C 32620001 */ andi $v0, $s3, 1 +/* 33EF40 E002A680 10400003 */ beqz $v0, .LE002A690 +/* 33EF44 E002A684 ACDE0008 */ sw $fp, 8($a2) +/* 33EF48 E002A688 3C030900 */ lui $v1, 0x900 +/* 33EF4C E002A68C 24630E18 */ addiu $v1, $v1, 0xe18 +.LE002A690: +/* 33EF50 E002A690 0800A9AB */ j .LE002A6AC +/* 33EF54 E002A694 ACC3000C */ sw $v1, 0xc($a2) +.LE002A698: +/* 33EF58 E002A698 AE420000 */ sw $v0, ($s2) +/* 33EF5C E002A69C 3C020900 */ lui $v0, 0x900 +/* 33EF60 E002A6A0 24420E58 */ addiu $v0, $v0, 0xe58 +/* 33EF64 E002A6A4 ACDE0008 */ sw $fp, 8($a2) +/* 33EF68 E002A6A8 ACC2000C */ sw $v0, 0xc($a2) +.LE002A6AC: +/* 33EF6C E002A6AC 3C02D838 */ lui $v0, 0xd838 +/* 33EF70 E002A6B0 34420002 */ ori $v0, $v0, 2 +/* 33EF74 E002A6B4 8E440000 */ lw $a0, ($s2) +/* 33EF78 E002A6B8 26730001 */ addiu $s3, $s3, 1 +/* 33EF7C E002A6BC 0080182D */ daddu $v1, $a0, $zero +/* 33EF80 E002A6C0 AC620000 */ sw $v0, ($v1) +/* 33EF84 E002A6C4 24020040 */ addiu $v0, $zero, 0x40 +/* 33EF88 E002A6C8 AC620004 */ sw $v0, 4($v1) +/* 33EF8C E002A6CC 8FAB0108 */ lw $t3, 0x108($sp) +/* 33EF90 E002A6D0 26310048 */ addiu $s1, $s1, 0x48 +/* 33EF94 E002A6D4 8D620008 */ lw $v0, 8($t3) +/* 33EF98 E002A6D8 24840008 */ addiu $a0, $a0, 8 +/* 33EF9C E002A6DC 0262102A */ slt $v0, $s3, $v0 +/* 33EFA0 E002A6E0 1440FFAA */ bnez $v0, .LE002A58C +/* 33EFA4 E002A6E4 AE440000 */ sw $a0, ($s2) +.LE002A6E8: +/* 33EFA8 E002A6E8 8FBF0104 */ lw $ra, 0x104($sp) +/* 33EFAC E002A6EC 8FBE0100 */ lw $fp, 0x100($sp) +/* 33EFB0 E002A6F0 8FB700FC */ lw $s7, 0xfc($sp) +/* 33EFB4 E002A6F4 8FB600F8 */ lw $s6, 0xf8($sp) +/* 33EFB8 E002A6F8 8FB500F4 */ lw $s5, 0xf4($sp) +/* 33EFBC E002A6FC 8FB400F0 */ lw $s4, 0xf0($sp) +/* 33EFC0 E002A700 8FB300EC */ lw $s3, 0xec($sp) +/* 33EFC4 E002A704 8FB200E8 */ lw $s2, 0xe8($sp) +/* 33EFC8 E002A708 8FB100E4 */ lw $s1, 0xe4($sp) +/* 33EFCC E002A70C 8FB000E0 */ lw $s0, 0xe0($sp) +/* 33EFD0 E002A710 03E00008 */ jr $ra +/* 33EFD4 E002A714 27BD0108 */ addiu $sp, $sp, 0x108 +/* 33EFD8 E002A718 00000000 */ nop +/* 33EFDC E002A71C 00000000 */ nop diff --git a/asm/nonmatchings/code_33FE80/func_E002C000.s b/asm/nonmatchings/code_33FE80/func_E002C000.s new file mode 100644 index 0000000000..e046185c3c --- /dev/null +++ b/asm/nonmatchings/code_33FE80/func_E002C000.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002C000 +/* 33FE80 E002C000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 33FE84 E002C004 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 33FE88 E002C008 4485A000 */ mtc1 $a1, $f20 +/* 33FE8C E002C00C F7B60058 */ sdc1 $f22, 0x58($sp) +/* 33FE90 E002C010 4486B000 */ mtc1 $a2, $f22 +/* 33FE94 E002C014 27A40010 */ addiu $a0, $sp, 0x10 +/* 33FE98 E002C018 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 33FE9C E002C01C 4487C000 */ mtc1 $a3, $f24 +/* 33FEA0 E002C020 3C02E003 */ lui $v0, 0xe003 +/* 33FEA4 E002C024 2442C234 */ addiu $v0, $v0, -0x3dcc +/* 33FEA8 E002C028 AFA20018 */ sw $v0, 0x18($sp) +/* 33FEAC E002C02C 3C02E003 */ lui $v0, 0xe003 +/* 33FEB0 E002C030 2442C23C */ addiu $v0, $v0, -0x3dc4 +/* 33FEB4 E002C034 AFA2001C */ sw $v0, 0x1c($sp) +/* 33FEB8 E002C038 3C02E003 */ lui $v0, 0xe003 +/* 33FEBC E002C03C 2442C3D0 */ addiu $v0, $v0, -0x3c30 +/* 33FEC0 E002C040 AFA20020 */ sw $v0, 0x20($sp) +/* 33FEC4 E002C044 24020016 */ addiu $v0, $zero, 0x16 +/* 33FEC8 E002C048 AFBF0048 */ sw $ra, 0x48($sp) +/* 33FECC E002C04C AFB70044 */ sw $s7, 0x44($sp) +/* 33FED0 E002C050 AFB60040 */ sw $s6, 0x40($sp) +/* 33FED4 E002C054 AFB5003C */ sw $s5, 0x3c($sp) +/* 33FED8 E002C058 AFB40038 */ sw $s4, 0x38($sp) +/* 33FEDC E002C05C AFB30034 */ sw $s3, 0x34($sp) +/* 33FEE0 E002C060 AFB20030 */ sw $s2, 0x30($sp) +/* 33FEE4 E002C064 AFB1002C */ sw $s1, 0x2c($sp) +/* 33FEE8 E002C068 AFB00028 */ sw $s0, 0x28($sp) +/* 33FEEC E002C06C AFA00010 */ sw $zero, 0x10($sp) +/* 33FEF0 E002C070 AFA00024 */ sw $zero, 0x24($sp) +/* 33FEF4 E002C074 0C080124 */ jal func_E0200490 +/* 33FEF8 E002C078 AFA20014 */ sw $v0, 0x14($sp) +/* 33FEFC E002C07C 24040240 */ addiu $a0, $zero, 0x240 +/* 33FF00 E002C080 24150009 */ addiu $s5, $zero, 9 +/* 33FF04 E002C084 0040802D */ daddu $s0, $v0, $zero +/* 33FF08 E002C088 0C08012C */ jal func_E02004B0 +/* 33FF0C E002C08C AE150008 */ sw $s5, 8($s0) +/* 33FF10 E002C090 0040882D */ daddu $s1, $v0, $zero +/* 33FF14 E002C094 16200003 */ bnez $s1, .LE002C0A4 +/* 33FF18 E002C098 AE11000C */ sw $s1, 0xc($s0) +.LE002C09C: +/* 33FF1C E002C09C 0800B027 */ j .LE002C09C +/* 33FF20 E002C0A0 00000000 */ nop +.LE002C0A4: +/* 33FF24 E002C0A4 3C01C000 */ lui $at, 0xc000 +/* 33FF28 E002C0A8 44811000 */ mtc1 $at, $f2 +/* 33FF2C E002C0AC AE200024 */ sw $zero, 0x24($s1) +/* 33FF30 E002C0B0 E6340000 */ swc1 $f20, ($s1) +/* 33FF34 E002C0B4 E6360004 */ swc1 $f22, 4($s1) +/* 33FF38 E002C0B8 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 33FF3C E002C0BC 2404003C */ addiu $a0, $zero, 0x3c +/* 33FF40 E002C0C0 E6380008 */ swc1 $f24, 8($s1) +/* 33FF44 E002C0C4 AE20002C */ sw $zero, 0x2c($s1) +/* 33FF48 E002C0C8 AE200030 */ sw $zero, 0x30($s1) +/* 33FF4C E002C0CC E620000C */ swc1 $f0, 0xc($s1) +/* 33FF50 E002C0D0 0C080138 */ jal func_E02004E0 +/* 33FF54 E002C0D4 E6220014 */ swc1 $f2, 0x14($s1) +/* 33FF58 E002C0D8 2404003C */ addiu $a0, $zero, 0x3c +/* 33FF5C E002C0DC 2442FFE2 */ addiu $v0, $v0, -0x1e +/* 33FF60 E002C0E0 44820000 */ mtc1 $v0, $f0 +/* 33FF64 E002C0E4 00000000 */ nop +/* 33FF68 E002C0E8 46800020 */ cvt.s.w $f0, $f0 +/* 33FF6C E002C0EC 240200FF */ addiu $v0, $zero, 0xff +/* 33FF70 E002C0F0 E6200034 */ swc1 $f0, 0x34($s1) +/* 33FF74 E002C0F4 0C080138 */ jal func_E02004E0 +/* 33FF78 E002C0F8 AE220028 */ sw $v0, 0x28($s1) +/* 33FF7C E002C0FC 2442FFE2 */ addiu $v0, $v0, -0x1e +/* 33FF80 E002C100 44822000 */ mtc1 $v0, $f4 +/* 33FF84 E002C104 00000000 */ nop +/* 33FF88 E002C108 46802120 */ cvt.s.w $f4, $f4 +/* 33FF8C E002C10C 3C013FD0 */ lui $at, 0x3fd0 +/* 33FF90 E002C110 44811800 */ mtc1 $at, $f3 +/* 33FF94 E002C114 44801000 */ mtc1 $zero, $f2 +/* 33FF98 E002C118 46002021 */ cvt.d.s $f0, $f4 +/* 33FF9C E002C11C 46220002 */ mul.d $f0, $f0, $f2 +/* 33FFA0 E002C120 00000000 */ nop +/* 33FFA4 E002C124 24120001 */ addiu $s2, $zero, 1 +/* 33FFA8 E002C128 24020014 */ addiu $v0, $zero, 0x14 +/* 33FFAC E002C12C AE220020 */ sw $v0, 0x20($s1) +/* 33FFB0 E002C130 0255102A */ slt $v0, $s2, $s5 +/* 33FFB4 E002C134 E6240038 */ swc1 $f4, 0x38($s1) +/* 33FFB8 E002C138 46200020 */ cvt.s.d $f0, $f0 +/* 33FFBC E002C13C E620003C */ swc1 $f0, 0x3c($s1) +/* 33FFC0 E002C140 1040002E */ beqz $v0, .LE002C1FC +/* 33FFC4 E002C144 26310040 */ addiu $s1, $s1, 0x40 +/* 33FFC8 E002C148 3C17E003 */ lui $s7, 0xe003 +/* 33FFCC E002C14C 26F7C984 */ addiu $s7, $s7, -0x367c +/* 33FFD0 E002C150 3C16E003 */ lui $s6, 0xe003 +/* 33FFD4 E002C154 26D6C964 */ addiu $s6, $s6, -0x369c +/* 33FFD8 E002C158 26300034 */ addiu $s0, $s1, 0x34 +/* 33FFDC E002C15C 0000A02D */ daddu $s4, $zero, $zero +/* 33FFE0 E002C160 0280982D */ daddu $s3, $s4, $zero +/* 33FFE4 E002C164 3C01E003 */ lui $at, 0xe003 +/* 33FFE8 E002C168 D436C9D0 */ ldc1 $f22, -0x3630($at) +/* 33FFEC E002C16C 3C013FF0 */ lui $at, 0x3ff0 +/* 33FFF0 E002C170 4481A800 */ mtc1 $at, $f21 +/* 33FFF4 E002C174 4480A000 */ mtc1 $zero, $f20 +.LE002C178: +/* 33FFF8 E002C178 02771021 */ addu $v0, $s3, $s7 +/* 33FFFC E002C17C C4400000 */ lwc1 $f0, ($v0) +/* 340000 E002C180 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 340004 E002C184 C4400004 */ lwc1 $f0, 4($v0) +/* 340008 E002C188 02961021 */ addu $v0, $s4, $s6 +/* 34000C E002C18C E600FFE8 */ swc1 $f0, -0x18($s0) +/* 340010 E002C190 AE200000 */ sw $zero, ($s1) +/* 340014 E002C194 AE00FFD0 */ sw $zero, -0x30($s0) +/* 340018 E002C198 AE00FFD4 */ sw $zero, -0x2c($s0) +/* 34001C E002C19C C4400000 */ lwc1 $f0, ($v0) +/* 340020 E002C1A0 46000000 */ add.s $f0, $f0, $f0 +/* 340024 E002C1A4 2404000A */ addiu $a0, $zero, 0xa +/* 340028 E002C1A8 0C080138 */ jal func_E02004E0 +/* 34002C E002C1AC E600FFDC */ swc1 $f0, -0x24($s0) +/* 340030 E002C1B0 44820000 */ mtc1 $v0, $f0 +/* 340034 E002C1B4 00000000 */ nop +/* 340038 E002C1B8 46800020 */ cvt.s.w $f0, $f0 +/* 34003C E002C1BC 46000021 */ cvt.d.s $f0, $f0 +/* 340040 E002C1C0 46360002 */ mul.d $f0, $f0, $f22 +/* 340044 E002C1C4 00000000 */ nop +/* 340048 E002C1C8 26940004 */ addiu $s4, $s4, 4 +/* 34004C E002C1CC 26730008 */ addiu $s3, $s3, 8 +/* 340050 E002C1D0 26520001 */ addiu $s2, $s2, 1 +/* 340054 E002C1D4 46200000 */ add.d $f0, $f0, $f0 +/* 340058 E002C1D8 26310040 */ addiu $s1, $s1, 0x40 +/* 34005C E002C1DC 0255102A */ slt $v0, $s2, $s5 +/* 340060 E002C1E0 46340000 */ add.d $f0, $f0, $f20 +/* 340064 E002C1E4 AE00FFF8 */ sw $zero, -8($s0) +/* 340068 E002C1E8 AE000000 */ sw $zero, ($s0) +/* 34006C E002C1EC 46200020 */ cvt.s.d $f0, $f0 +/* 340070 E002C1F0 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 340074 E002C1F4 1440FFE0 */ bnez $v0, .LE002C178 +/* 340078 E002C1F8 26100040 */ addiu $s0, $s0, 0x40 +.LE002C1FC: +/* 34007C E002C1FC 8FBF0048 */ lw $ra, 0x48($sp) +/* 340080 E002C200 8FB70044 */ lw $s7, 0x44($sp) +/* 340084 E002C204 8FB60040 */ lw $s6, 0x40($sp) +/* 340088 E002C208 8FB5003C */ lw $s5, 0x3c($sp) +/* 34008C E002C20C 8FB40038 */ lw $s4, 0x38($sp) +/* 340090 E002C210 8FB30034 */ lw $s3, 0x34($sp) +/* 340094 E002C214 8FB20030 */ lw $s2, 0x30($sp) +/* 340098 E002C218 8FB1002C */ lw $s1, 0x2c($sp) +/* 34009C E002C21C 8FB00028 */ lw $s0, 0x28($sp) +/* 3400A0 E002C220 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 3400A4 E002C224 D7B60058 */ ldc1 $f22, 0x58($sp) +/* 3400A8 E002C228 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 3400AC E002C22C 03E00008 */ jr $ra +/* 3400B0 E002C230 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_33FE80/func_E002C234.s b/asm/nonmatchings/code_33FE80/func_E002C234.s new file mode 100644 index 0000000000..6629d65b99 --- /dev/null +++ b/asm/nonmatchings/code_33FE80/func_E002C234.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002C234 +/* 3400B4 E002C234 03E00008 */ jr $ra +/* 3400B8 E002C238 00000000 */ nop diff --git a/asm/nonmatchings/code_33FE80/func_E002C23C.s b/asm/nonmatchings/code_33FE80/func_E002C23C.s new file mode 100644 index 0000000000..d411ba7c02 --- /dev/null +++ b/asm/nonmatchings/code_33FE80/func_E002C23C.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002C23C +/* 3400BC E002C23C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3400C0 E002C240 AFBF0010 */ sw $ra, 0x10($sp) +/* 3400C4 E002C244 8C85000C */ lw $a1, 0xc($a0) +/* 3400C8 E002C248 8CA20024 */ lw $v0, 0x24($a1) +/* 3400CC E002C24C 1440001A */ bnez $v0, .LE002C2B8 +/* 3400D0 E002C250 00000000 */ nop +/* 3400D4 E002C254 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 3400D8 E002C258 3C01E003 */ lui $at, 0xe003 +/* 3400DC E002C25C D422C9D8 */ ldc1 $f2, -0x3628($at) +/* 3400E0 E002C260 C4A6002C */ lwc1 $f6, 0x2c($a1) +/* 3400E4 E002C264 46000021 */ cvt.d.s $f0, $f0 +/* 3400E8 E002C268 46220000 */ add.d $f0, $f0, $f2 +/* 3400EC E002C26C C4A40038 */ lwc1 $f4, 0x38($a1) +/* 3400F0 E002C270 C4A8000C */ lwc1 $f8, 0xc($a1) +/* 3400F4 E002C274 46043180 */ add.s $f6, $f6, $f4 +/* 3400F8 E002C278 C4A20004 */ lwc1 $f2, 4($a1) +/* 3400FC E002C27C 46200020 */ cvt.s.d $f0, $f0 +/* 340100 E002C280 46001080 */ add.s $f2, $f2, $f0 +/* 340104 E002C284 C4A4003C */ lwc1 $f4, 0x3c($a1) +/* 340108 E002C288 E4A20004 */ swc1 $f2, 4($a1) +/* 34010C E002C28C C4A20030 */ lwc1 $f2, 0x30($a1) +/* 340110 E002C290 C4AA0004 */ lwc1 $f10, 4($a1) +/* 340114 E002C294 46041080 */ add.s $f2, $f2, $f4 +/* 340118 E002C298 E4A00014 */ swc1 $f0, 0x14($a1) +/* 34011C E002C29C E4A6002C */ swc1 $f6, 0x2c($a1) +/* 340120 E002C2A0 4608503E */ c.le.s $f10, $f8 +/* 340124 E002C2A4 00000000 */ nop +/* 340128 E002C2A8 45000003 */ bc1f .LE002C2B8 +/* 34012C E002C2AC E4A20030 */ swc1 $f2, 0x30($a1) +/* 340130 E002C2B0 24020001 */ addiu $v0, $zero, 1 +/* 340134 E002C2B4 ACA20024 */ sw $v0, 0x24($a1) +.LE002C2B8: +/* 340138 E002C2B8 8CA30024 */ lw $v1, 0x24($a1) +/* 34013C E002C2BC 24020001 */ addiu $v0, $zero, 1 +/* 340140 E002C2C0 14620040 */ bne $v1, $v0, .LE002C3C4 +/* 340144 E002C2C4 00000000 */ nop +/* 340148 E002C2C8 8CA20020 */ lw $v0, 0x20($a1) +/* 34014C E002C2CC 2442FFFF */ addiu $v0, $v0, -1 +/* 340150 E002C2D0 04410005 */ bgez $v0, .LE002C2E8 +/* 340154 E002C2D4 ACA20020 */ sw $v0, 0x20($a1) +/* 340158 E002C2D8 0C080128 */ jal func_E02004A0 +/* 34015C E002C2DC 00000000 */ nop +/* 340160 E002C2E0 0800B0F1 */ j .LE002C3C4 +/* 340164 E002C2E4 00000000 */ nop +.LE002C2E8: +/* 340168 E002C2E8 2842000A */ slti $v0, $v0, 0xa +/* 34016C E002C2EC 10400009 */ beqz $v0, .LE002C314 +/* 340170 E002C2F0 00000000 */ nop +/* 340174 E002C2F4 3C01E003 */ lui $at, 0xe003 +/* 340178 E002C2F8 D422C9E0 */ ldc1 $f2, -0x3620($at) +/* 34017C E002C2FC C4A00028 */ lwc1 $f0, 0x28($a1) +/* 340180 E002C300 46800021 */ cvt.d.w $f0, $f0 +/* 340184 E002C304 46220002 */ mul.d $f0, $f0, $f2 +/* 340188 E002C308 00000000 */ nop +/* 34018C E002C30C 4620038D */ trunc.w.d $f14, $f0 +/* 340190 E002C310 E4AE0028 */ swc1 $f14, 0x28($a1) +.LE002C314: +/* 340194 E002C314 8C820008 */ lw $v0, 8($a0) +/* 340198 E002C318 24060001 */ addiu $a2, $zero, 1 +/* 34019C E002C31C 00C2102A */ slt $v0, $a2, $v0 +/* 3401A0 E002C320 10400028 */ beqz $v0, .LE002C3C4 +/* 3401A4 E002C324 24A50040 */ addiu $a1, $a1, 0x40 +/* 3401A8 E002C328 24A30034 */ addiu $v1, $a1, 0x34 +/* 3401AC E002C32C 3C01E003 */ lui $at, 0xe003 +/* 3401B0 E002C330 D428C9E8 */ ldc1 $f8, -0x3618($at) +/* 3401B4 E002C334 3C01E003 */ lui $at, 0xe003 +/* 3401B8 E002C338 D426C9F0 */ ldc1 $f6, -0x3610($at) +/* 3401BC E002C33C 3C014120 */ lui $at, 0x4120 +/* 3401C0 E002C340 44816000 */ mtc1 $at, $f12 +/* 3401C4 E002C344 3C0141A0 */ lui $at, 0x41a0 +/* 3401C8 E002C348 44815000 */ mtc1 $at, $f10 +.LE002C34C: +/* 3401CC E002C34C C462FFDC */ lwc1 $f2, -0x24($v1) +/* 3401D0 E002C350 460010A1 */ cvt.d.s $f2, $f2 +/* 3401D4 E002C354 46261082 */ mul.d $f2, $f2, $f6 +/* 3401D8 E002C358 00000000 */ nop +/* 3401DC E002C35C C460FFE0 */ lwc1 $f0, -0x20($v1) +/* 3401E0 E002C360 46000021 */ cvt.d.s $f0, $f0 +/* 3401E4 E002C364 46280000 */ add.d $f0, $f0, $f8 +/* 3401E8 E002C368 46200020 */ cvt.s.d $f0, $f0 +/* 3401EC E002C36C E460FFE0 */ swc1 $f0, -0x20($v1) +/* 3401F0 E002C370 462010A0 */ cvt.s.d $f2, $f2 +/* 3401F4 E002C374 E462FFDC */ swc1 $f2, -0x24($v1) +/* 3401F8 E002C378 C4A00000 */ lwc1 $f0, ($a1) +/* 3401FC E002C37C 46020000 */ add.s $f0, $f0, $f2 +/* 340200 E002C380 E4A00000 */ swc1 $f0, ($a1) +/* 340204 E002C384 C464FFD0 */ lwc1 $f4, -0x30($v1) +/* 340208 E002C388 C460FFE0 */ lwc1 $f0, -0x20($v1) +/* 34020C E002C38C 46002100 */ add.s $f4, $f4, $f0 +/* 340210 E002C390 C462FFF8 */ lwc1 $f2, -8($v1) +/* 340214 E002C394 24C60001 */ addiu $a2, $a2, 1 +/* 340218 E002C398 460C1080 */ add.s $f2, $f2, $f12 +/* 34021C E002C39C C4600000 */ lwc1 $f0, ($v1) +/* 340220 E002C3A0 24A50040 */ addiu $a1, $a1, 0x40 +/* 340224 E002C3A4 460A0000 */ add.s $f0, $f0, $f10 +/* 340228 E002C3A8 E464FFD0 */ swc1 $f4, -0x30($v1) +/* 34022C E002C3AC E462FFF8 */ swc1 $f2, -8($v1) +/* 340230 E002C3B0 E4600000 */ swc1 $f0, ($v1) +/* 340234 E002C3B4 8C820008 */ lw $v0, 8($a0) +/* 340238 E002C3B8 00C2102A */ slt $v0, $a2, $v0 +/* 34023C E002C3BC 1440FFE3 */ bnez $v0, .LE002C34C +/* 340240 E002C3C0 24630040 */ addiu $v1, $v1, 0x40 +.LE002C3C4: +/* 340244 E002C3C4 8FBF0010 */ lw $ra, 0x10($sp) +/* 340248 E002C3C8 03E00008 */ jr $ra +/* 34024C E002C3CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_33FE80/func_E002C3D0.s b/asm/nonmatchings/code_33FE80/func_E002C3D0.s new file mode 100644 index 0000000000..598c478fd3 --- /dev/null +++ b/asm/nonmatchings/code_33FE80/func_E002C3D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002C3D0 +/* 340250 E002C3D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 340254 E002C3D4 3C02E003 */ lui $v0, 0xe003 +/* 340258 E002C3D8 2442C414 */ addiu $v0, $v0, -0x3bec +/* 34025C E002C3DC AFA2001C */ sw $v0, 0x1c($sp) +/* 340260 E002C3E0 2402002D */ addiu $v0, $zero, 0x2d +/* 340264 E002C3E4 AFA40018 */ sw $a0, 0x18($sp) +/* 340268 E002C3E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 34026C E002C3EC AFBF0020 */ sw $ra, 0x20($sp) +/* 340270 E002C3F0 AFA00014 */ sw $zero, 0x14($sp) +/* 340274 E002C3F4 0C080120 */ jal func_E0200480 +/* 340278 E002C3F8 AFA20010 */ sw $v0, 0x10($sp) +/* 34027C E002C3FC 8C430000 */ lw $v1, ($v0) +/* 340280 E002C400 34630002 */ ori $v1, $v1, 2 +/* 340284 E002C404 AC430000 */ sw $v1, ($v0) +/* 340288 E002C408 8FBF0020 */ lw $ra, 0x20($sp) +/* 34028C E002C40C 03E00008 */ jr $ra +/* 340290 E002C410 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_33FE80/func_E002C414.s b/asm/nonmatchings/code_33FE80/func_E002C414.s new file mode 100644 index 0000000000..4cdf80e378 --- /dev/null +++ b/asm/nonmatchings/code_33FE80/func_E002C414.s @@ -0,0 +1,338 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002C414 +/* 340294 E002C414 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* 340298 E002C418 3C02DB06 */ lui $v0, 0xdb06 +/* 34029C E002C41C 34420024 */ ori $v0, $v0, 0x24 +/* 3402A0 E002C420 AFB40138 */ sw $s4, 0x138($sp) +/* 3402A4 E002C424 3C14800A */ lui $s4, 0x800a +/* 3402A8 E002C428 2694A66C */ addiu $s4, $s4, -0x5994 +/* 3402AC E002C42C AFA40160 */ sw $a0, 0x160($sp) +/* 3402B0 E002C430 8FA80160 */ lw $t0, 0x160($sp) +/* 3402B4 E002C434 3C038000 */ lui $v1, 0x8000 +/* 3402B8 E002C438 AFBF014C */ sw $ra, 0x14c($sp) +/* 3402BC E002C43C AFBE0148 */ sw $fp, 0x148($sp) +/* 3402C0 E002C440 AFB70144 */ sw $s7, 0x144($sp) +/* 3402C4 E002C444 AFB60140 */ sw $s6, 0x140($sp) +/* 3402C8 E002C448 AFB5013C */ sw $s5, 0x13c($sp) +/* 3402CC E002C44C AFB30134 */ sw $s3, 0x134($sp) +/* 3402D0 E002C450 AFB20130 */ sw $s2, 0x130($sp) +/* 3402D4 E002C454 AFB1012C */ sw $s1, 0x12c($sp) +/* 3402D8 E002C458 AFB00128 */ sw $s0, 0x128($sp) +/* 3402DC E002C45C F7B60158 */ sdc1 $f22, 0x158($sp) +/* 3402E0 E002C460 F7B40150 */ sdc1 $f20, 0x150($sp) +/* 3402E4 E002C464 8E840000 */ lw $a0, ($s4) +/* 3402E8 E002C468 8D13000C */ lw $s3, 0xc($t0) +/* 3402EC E002C46C 0080282D */ daddu $a1, $a0, $zero +/* 3402F0 E002C470 ACA20000 */ sw $v0, ($a1) +/* 3402F4 E002C474 8D020010 */ lw $v0, 0x10($t0) +/* 3402F8 E002C478 24840008 */ addiu $a0, $a0, 8 +/* 3402FC E002C47C AE840000 */ sw $a0, ($s4) +/* 340300 E002C480 8C42001C */ lw $v0, 0x1c($v0) +/* 340304 E002C484 3C15DE00 */ lui $s5, 0xde00 +/* 340308 E002C488 00431021 */ addu $v0, $v0, $v1 +/* 34030C E002C48C ACA20004 */ sw $v0, 4($a1) +/* 340310 E002C490 3C020900 */ lui $v0, 0x900 +/* 340314 E002C494 24420C00 */ addiu $v0, $v0, 0xc00 +/* 340318 E002C498 AC950000 */ sw $s5, ($a0) +/* 34031C E002C49C AC820004 */ sw $v0, 4($a0) +/* 340320 E002C4A0 8E620024 */ lw $v0, 0x24($s3) +/* 340324 E002C4A4 24840008 */ addiu $a0, $a0, 8 +/* 340328 E002C4A8 1440007E */ bnez $v0, .LE002C6A4 +/* 34032C E002C4AC AE840000 */ sw $a0, ($s4) +/* 340330 E002C4B0 27A40020 */ addiu $a0, $sp, 0x20 +/* 340334 E002C4B4 8E650000 */ lw $a1, ($s3) +/* 340338 E002C4B8 8E660004 */ lw $a2, 4($s3) +/* 34033C E002C4BC 8E670008 */ lw $a3, 8($s3) +/* 340340 E002C4C0 0C080108 */ jal func_E0200420 +/* 340344 E002C4C4 3C120001 */ lui $s2, 1 +/* 340348 E002C4C8 36521630 */ ori $s2, $s2, 0x1630 +/* 34034C E002C4CC 3C013FC0 */ lui $at, 0x3fc0 +/* 340350 E002C4D0 44810000 */ mtc1 $at, $f0 +/* 340354 E002C4D4 27B10060 */ addiu $s1, $sp, 0x60 +/* 340358 E002C4D8 44050000 */ mfc1 $a1, $f0 +/* 34035C E002C4DC 0220202D */ daddu $a0, $s1, $zero +/* 340360 E002C4E0 00A0302D */ daddu $a2, $a1, $zero +/* 340364 E002C4E4 0C080110 */ jal func_E0200440 +/* 340368 E002C4E8 00A0382D */ daddu $a3, $a1, $zero +/* 34036C E002C4EC 0220202D */ daddu $a0, $s1, $zero +/* 340370 E002C4F0 27A50020 */ addiu $a1, $sp, 0x20 +/* 340374 E002C4F4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* 340378 E002C4F8 0C080114 */ jal func_E0200450 +/* 34037C E002C4FC 0200302D */ daddu $a2, $s0, $zero +/* 340380 E002C500 4480A000 */ mtc1 $zero, $f20 +/* 340384 E002C504 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 340388 E002C508 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 34038C E002C50C 3C013F80 */ lui $at, 0x3f80 +/* 340390 E002C510 4481B000 */ mtc1 $at, $f22 +/* 340394 E002C514 00031080 */ sll $v0, $v1, 2 +/* 340398 E002C518 00431021 */ addu $v0, $v0, $v1 +/* 34039C E002C51C 00021080 */ sll $v0, $v0, 2 +/* 3403A0 E002C520 00431023 */ subu $v0, $v0, $v1 +/* 3403A4 E002C524 000218C0 */ sll $v1, $v0, 3 +/* 3403A8 E002C528 00431021 */ addu $v0, $v0, $v1 +/* 3403AC E002C52C 000210C0 */ sll $v0, $v0, 3 +/* 3403B0 E002C530 4406A000 */ mfc1 $a2, $f20 +/* 3403B4 E002C534 3C01800B */ lui $at, 0x800b +/* 3403B8 E002C538 00220821 */ addu $at, $at, $v0 +/* 3403BC E002C53C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3403C0 E002C540 4407B000 */ mfc1 $a3, $f22 +/* 3403C4 E002C544 46000007 */ neg.s $f0, $f0 +/* 3403C8 E002C548 44050000 */ mfc1 $a1, $f0 +/* 3403CC E002C54C 0220202D */ daddu $a0, $s1, $zero +/* 3403D0 E002C550 0C080104 */ jal func_E0200410 +/* 3403D4 E002C554 E7B40010 */ swc1 $f20, 0x10($sp) +/* 3403D8 E002C558 0220202D */ daddu $a0, $s1, $zero +/* 3403DC E002C55C 0200282D */ daddu $a1, $s0, $zero +/* 3403E0 E002C560 0C080114 */ jal func_E0200450 +/* 3403E4 E002C564 0200302D */ daddu $a2, $s0, $zero +/* 3403E8 E002C568 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3403EC E002C56C 8E650034 */ lw $a1, 0x34($s3) +/* 3403F0 E002C570 4406A000 */ mfc1 $a2, $f20 +/* 3403F4 E002C574 4407A000 */ mfc1 $a3, $f20 +/* 3403F8 E002C578 0C080104 */ jal func_E0200410 +/* 3403FC E002C57C 0220202D */ daddu $a0, $s1, $zero +/* 340400 E002C580 0220202D */ daddu $a0, $s1, $zero +/* 340404 E002C584 0200282D */ daddu $a1, $s0, $zero +/* 340408 E002C588 0C080114 */ jal func_E0200450 +/* 34040C E002C58C 0200302D */ daddu $a2, $s0, $zero +/* 340410 E002C590 E7B40010 */ swc1 $f20, 0x10($sp) +/* 340414 E002C594 8E65002C */ lw $a1, 0x2c($s3) +/* 340418 E002C598 4406B000 */ mfc1 $a2, $f22 +/* 34041C E002C59C 4407A000 */ mfc1 $a3, $f20 +/* 340420 E002C5A0 0C080104 */ jal func_E0200410 +/* 340424 E002C5A4 0220202D */ daddu $a0, $s1, $zero +/* 340428 E002C5A8 0220202D */ daddu $a0, $s1, $zero +/* 34042C E002C5AC 0200282D */ daddu $a1, $s0, $zero +/* 340430 E002C5B0 0C080114 */ jal func_E0200450 +/* 340434 E002C5B4 0200302D */ daddu $a2, $s0, $zero +/* 340438 E002C5B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 34043C E002C5BC 8E650030 */ lw $a1, 0x30($s3) +/* 340440 E002C5C0 4406A000 */ mfc1 $a2, $f20 +/* 340444 E002C5C4 4407B000 */ mfc1 $a3, $f22 +/* 340448 E002C5C8 0C080104 */ jal func_E0200410 +/* 34044C E002C5CC 0220202D */ daddu $a0, $s1, $zero +/* 340450 E002C5D0 0220202D */ daddu $a0, $s1, $zero +/* 340454 E002C5D4 0200282D */ daddu $a1, $s0, $zero +/* 340458 E002C5D8 0C080114 */ jal func_E0200450 +/* 34045C E002C5DC 0200302D */ daddu $a2, $s0, $zero +/* 340460 E002C5E0 0200202D */ daddu $a0, $s0, $zero +/* 340464 E002C5E4 3C108007 */ lui $s0, 0x8007 +/* 340468 E002C5E8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 34046C E002C5EC 3C11800A */ lui $s1, 0x800a +/* 340470 E002C5F0 2631A674 */ addiu $s1, $s1, -0x598c +/* 340474 E002C5F4 96050000 */ lhu $a1, ($s0) +/* 340478 E002C5F8 8E220000 */ lw $v0, ($s1) +/* 34047C E002C5FC 00052980 */ sll $a1, $a1, 6 +/* 340480 E002C600 00B22821 */ addu $a1, $a1, $s2 +/* 340484 E002C604 0C080118 */ jal func_E0200460 +/* 340488 E002C608 00452821 */ addu $a1, $v0, $a1 +/* 34048C E002C60C 3C06666D */ lui $a2, 0x666d +/* 340490 E002C610 34C67B00 */ ori $a2, $a2, 0x7b00 +/* 340494 E002C614 3C07D838 */ lui $a3, 0xd838 +/* 340498 E002C618 8E840000 */ lw $a0, ($s4) +/* 34049C E002C61C 34E70002 */ ori $a3, $a3, 2 +/* 3404A0 E002C620 0080282D */ daddu $a1, $a0, $zero +/* 3404A4 E002C624 24840008 */ addiu $a0, $a0, 8 +/* 3404A8 E002C628 AE840000 */ sw $a0, ($s4) +/* 3404AC E002C62C 96020000 */ lhu $v0, ($s0) +/* 3404B0 E002C630 3C03DA38 */ lui $v1, 0xda38 +/* 3404B4 E002C634 ACA30000 */ sw $v1, ($a1) +/* 3404B8 E002C638 24430001 */ addiu $v1, $v0, 1 +/* 3404BC E002C63C 3042FFFF */ andi $v0, $v0, 0xffff +/* 3404C0 E002C640 00021180 */ sll $v0, $v0, 6 +/* 3404C4 E002C644 A6030000 */ sh $v1, ($s0) +/* 3404C8 E002C648 8E230000 */ lw $v1, ($s1) +/* 3404CC E002C64C 00521021 */ addu $v0, $v0, $s2 +/* 3404D0 E002C650 00621821 */ addu $v1, $v1, $v0 +/* 3404D4 E002C654 24820008 */ addiu $v0, $a0, 8 +/* 3404D8 E002C658 ACA30004 */ sw $v1, 4($a1) +/* 3404DC E002C65C AE820000 */ sw $v0, ($s4) +/* 3404E0 E002C660 3C02FA00 */ lui $v0, 0xfa00 +/* 3404E4 E002C664 AC820000 */ sw $v0, ($a0) +/* 3404E8 E002C668 9263002B */ lbu $v1, 0x2b($s3) +/* 3404EC E002C66C 24820010 */ addiu $v0, $a0, 0x10 +/* 3404F0 E002C670 AE820000 */ sw $v0, ($s4) +/* 3404F4 E002C674 AC950008 */ sw $s5, 8($a0) +/* 3404F8 E002C678 00661825 */ or $v1, $v1, $a2 +/* 3404FC E002C67C AC830004 */ sw $v1, 4($a0) +/* 340500 E002C680 3C03E003 */ lui $v1, 0xe003 +/* 340504 E002C684 8C63C940 */ lw $v1, -0x36c0($v1) +/* 340508 E002C688 24820018 */ addiu $v0, $a0, 0x18 +/* 34050C E002C68C AE820000 */ sw $v0, ($s4) +/* 340510 E002C690 24020040 */ addiu $v0, $zero, 0x40 +/* 340514 E002C694 AC870010 */ sw $a3, 0x10($a0) +/* 340518 E002C698 AC820014 */ sw $v0, 0x14($a0) +/* 34051C E002C69C 0800B241 */ j .LE002C904 +/* 340520 E002C6A0 AC83000C */ sw $v1, 0xc($a0) +.LE002C6A4: +/* 340524 E002C6A4 8E650000 */ lw $a1, ($s3) +/* 340528 E002C6A8 8E660004 */ lw $a2, 4($s3) +/* 34052C E002C6AC 8E670008 */ lw $a3, 8($s3) +/* 340530 E002C6B0 8E760028 */ lw $s6, 0x28($s3) +/* 340534 E002C6B4 0C080108 */ jal func_E0200420 +/* 340538 E002C6B8 27A40020 */ addiu $a0, $sp, 0x20 +/* 34053C E002C6BC 3C013FC0 */ lui $at, 0x3fc0 +/* 340540 E002C6C0 44810000 */ mtc1 $at, $f0 +/* 340544 E002C6C4 27B10060 */ addiu $s1, $sp, 0x60 +/* 340548 E002C6C8 44050000 */ mfc1 $a1, $f0 +/* 34054C E002C6CC 0220202D */ daddu $a0, $s1, $zero +/* 340550 E002C6D0 00A0302D */ daddu $a2, $a1, $zero +/* 340554 E002C6D4 0C080110 */ jal func_E0200440 +/* 340558 E002C6D8 00A0382D */ daddu $a3, $a1, $zero +/* 34055C E002C6DC 0220202D */ daddu $a0, $s1, $zero +/* 340560 E002C6E0 27A50020 */ addiu $a1, $sp, 0x20 +/* 340564 E002C6E4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* 340568 E002C6E8 0C080114 */ jal func_E0200450 +/* 34056C E002C6EC 0200302D */ daddu $a2, $s0, $zero +/* 340570 E002C6F0 4480B000 */ mtc1 $zero, $f22 +/* 340574 E002C6F4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 340578 E002C6F8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 34057C E002C6FC 3C013F80 */ lui $at, 0x3f80 +/* 340580 E002C700 4481A000 */ mtc1 $at, $f20 +/* 340584 E002C704 00031080 */ sll $v0, $v1, 2 +/* 340588 E002C708 00431021 */ addu $v0, $v0, $v1 +/* 34058C E002C70C 00021080 */ sll $v0, $v0, 2 +/* 340590 E002C710 00431023 */ subu $v0, $v0, $v1 +/* 340594 E002C714 000218C0 */ sll $v1, $v0, 3 +/* 340598 E002C718 00431021 */ addu $v0, $v0, $v1 +/* 34059C E002C71C 000210C0 */ sll $v0, $v0, 3 +/* 3405A0 E002C720 4406B000 */ mfc1 $a2, $f22 +/* 3405A4 E002C724 3C01800B */ lui $at, 0x800b +/* 3405A8 E002C728 00220821 */ addu $at, $at, $v0 +/* 3405AC E002C72C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3405B0 E002C730 4407A000 */ mfc1 $a3, $f20 +/* 3405B4 E002C734 46000007 */ neg.s $f0, $f0 +/* 3405B8 E002C738 44050000 */ mfc1 $a1, $f0 +/* 3405BC E002C73C 0220202D */ daddu $a0, $s1, $zero +/* 3405C0 E002C740 0C080104 */ jal func_E0200410 +/* 3405C4 E002C744 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3405C8 E002C748 0220202D */ daddu $a0, $s1, $zero +/* 3405CC E002C74C 0200282D */ daddu $a1, $s0, $zero +/* 3405D0 E002C750 0C080114 */ jal func_E0200450 +/* 3405D4 E002C754 00A0302D */ daddu $a2, $a1, $zero +/* 3405D8 E002C758 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3405DC E002C75C 8E65002C */ lw $a1, 0x2c($s3) +/* 3405E0 E002C760 4406A000 */ mfc1 $a2, $f20 +/* 3405E4 E002C764 4407B000 */ mfc1 $a3, $f22 +/* 3405E8 E002C768 0C080104 */ jal func_E0200410 +/* 3405EC E002C76C 27A400E0 */ addiu $a0, $sp, 0xe0 +/* 3405F0 E002C770 8FA80160 */ lw $t0, 0x160($sp) +/* 3405F4 E002C774 24150001 */ addiu $s5, $zero, 1 +/* 3405F8 E002C778 8D020008 */ lw $v0, 8($t0) +/* 3405FC E002C77C 02A2102A */ slt $v0, $s5, $v0 +/* 340600 E002C780 10400060 */ beqz $v0, .LE002C904 +/* 340604 E002C784 26730040 */ addiu $s3, $s3, 0x40 +/* 340608 E002C788 0220902D */ daddu $s2, $s1, $zero +/* 34060C E002C78C 4600B506 */ mov.s $f20, $f22 +/* 340610 E002C790 3C1E8007 */ lui $fp, 0x8007 +/* 340614 E002C794 27DE41F0 */ addiu $fp, $fp, 0x41f0 +/* 340618 E002C798 3C170001 */ lui $s7, 1 +/* 34061C E002C79C 36F71630 */ ori $s7, $s7, 0x1630 +/* 340620 E002C7A0 3C039696 */ lui $v1, 0x9696 +/* 340624 E002C7A4 3463C800 */ ori $v1, $v1, 0xc800 +/* 340628 E002C7A8 32C200FF */ andi $v0, $s6, 0xff +/* 34062C E002C7AC 00431025 */ or $v0, $v0, $v1 +/* 340630 E002C7B0 AFA20120 */ sw $v0, 0x120($sp) +/* 340634 E002C7B4 26710034 */ addiu $s1, $s3, 0x34 +/* 340638 E002C7B8 3C16E003 */ lui $s6, 0xe003 +/* 34063C E002C7BC 26D6C944 */ addiu $s6, $s6, -0x36bc +.LE002C7C0: +/* 340640 E002C7C0 8E650000 */ lw $a1, ($s3) +/* 340644 E002C7C4 8E26FFD0 */ lw $a2, -0x30($s1) +/* 340648 E002C7C8 8E27FFD4 */ lw $a3, -0x2c($s1) +/* 34064C E002C7CC 8ED00000 */ lw $s0, ($s6) +/* 340650 E002C7D0 0C080108 */ jal func_E0200420 +/* 340654 E002C7D4 0240202D */ daddu $a0, $s2, $zero +/* 340658 E002C7D8 0240202D */ daddu $a0, $s2, $zero +/* 34065C E002C7DC 27A500A0 */ addiu $a1, $sp, 0xa0 +/* 340660 E002C7E0 0C080114 */ jal func_E0200450 +/* 340664 E002C7E4 27A60020 */ addiu $a2, $sp, 0x20 +/* 340668 E002C7E8 27A400E0 */ addiu $a0, $sp, 0xe0 +/* 34066C E002C7EC 27A50020 */ addiu $a1, $sp, 0x20 +/* 340670 E002C7F0 0C080114 */ jal func_E0200450 +/* 340674 E002C7F4 00A0302D */ daddu $a2, $a1, $zero +/* 340678 E002C7F8 4406A000 */ mfc1 $a2, $f20 +/* 34067C E002C7FC 3C013F80 */ lui $at, 0x3f80 +/* 340680 E002C800 44810000 */ mtc1 $at, $f0 +/* 340684 E002C804 26D60004 */ addiu $s6, $s6, 4 +/* 340688 E002C808 E7A00010 */ swc1 $f0, 0x10($sp) +/* 34068C E002C80C C620FFE4 */ lwc1 $f0, -0x1c($s1) +/* 340690 E002C810 26B50001 */ addiu $s5, $s5, 1 +/* 340694 E002C814 E7A00014 */ swc1 $f0, 0x14($sp) +/* 340698 E002C818 C620FFE8 */ lwc1 $f0, -0x18($s1) +/* 34069C E002C81C 26730040 */ addiu $s3, $s3, 0x40 +/* 3406A0 E002C820 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 3406A4 E002C824 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3406A8 E002C828 8E25FFF8 */ lw $a1, -8($s1) +/* 3406AC E002C82C 8E270000 */ lw $a3, ($s1) +/* 3406B0 E002C830 0C080180 */ jal func_E0200600 +/* 3406B4 E002C834 0240202D */ daddu $a0, $s2, $zero +/* 3406B8 E002C838 0240202D */ daddu $a0, $s2, $zero +/* 3406BC E002C83C 27A50020 */ addiu $a1, $sp, 0x20 +/* 3406C0 E002C840 0C080114 */ jal func_E0200450 +/* 3406C4 E002C844 00A0302D */ daddu $a2, $a1, $zero +/* 3406C8 E002C848 27A40020 */ addiu $a0, $sp, 0x20 +/* 3406CC E002C84C 97C50000 */ lhu $a1, ($fp) +/* 3406D0 E002C850 3C02800A */ lui $v0, 0x800a +/* 3406D4 E002C854 8C42A674 */ lw $v0, -0x598c($v0) +/* 3406D8 E002C858 00052980 */ sll $a1, $a1, 6 +/* 3406DC E002C85C 00B72821 */ addu $a1, $a1, $s7 +/* 3406E0 E002C860 0C080118 */ jal func_E0200460 +/* 3406E4 E002C864 00452821 */ addu $a1, $v0, $a1 +/* 3406E8 E002C868 3C06D838 */ lui $a2, 0xd838 +/* 3406EC E002C86C 8E840000 */ lw $a0, ($s4) +/* 3406F0 E002C870 34C60002 */ ori $a2, $a2, 2 +/* 3406F4 E002C874 0080282D */ daddu $a1, $a0, $zero +/* 3406F8 E002C878 24840008 */ addiu $a0, $a0, 8 +/* 3406FC E002C87C AE840000 */ sw $a0, ($s4) +/* 340700 E002C880 97C20000 */ lhu $v0, ($fp) +/* 340704 E002C884 3C03DA38 */ lui $v1, 0xda38 +/* 340708 E002C888 ACA30000 */ sw $v1, ($a1) +/* 34070C E002C88C 24430001 */ addiu $v1, $v0, 1 +/* 340710 E002C890 3042FFFF */ andi $v0, $v0, 0xffff +/* 340714 E002C894 00021180 */ sll $v0, $v0, 6 +/* 340718 E002C898 A7C30000 */ sh $v1, ($fp) +/* 34071C E002C89C 3C03800A */ lui $v1, 0x800a +/* 340720 E002C8A0 8C63A674 */ lw $v1, -0x598c($v1) +/* 340724 E002C8A4 00571021 */ addu $v0, $v0, $s7 +/* 340728 E002C8A8 00621821 */ addu $v1, $v1, $v0 +/* 34072C E002C8AC 24820008 */ addiu $v0, $a0, 8 +/* 340730 E002C8B0 ACA30004 */ sw $v1, 4($a1) +/* 340734 E002C8B4 AE820000 */ sw $v0, ($s4) +/* 340738 E002C8B8 3C02FA00 */ lui $v0, 0xfa00 +/* 34073C E002C8BC AC820000 */ sw $v0, ($a0) +/* 340740 E002C8C0 8FA80120 */ lw $t0, 0x120($sp) +/* 340744 E002C8C4 24820010 */ addiu $v0, $a0, 0x10 +/* 340748 E002C8C8 AC880004 */ sw $t0, 4($a0) +/* 34074C E002C8CC AE820000 */ sw $v0, ($s4) +/* 340750 E002C8D0 3C02DE00 */ lui $v0, 0xde00 +/* 340754 E002C8D4 AC820008 */ sw $v0, 8($a0) +/* 340758 E002C8D8 24020040 */ addiu $v0, $zero, 0x40 +/* 34075C E002C8DC AC90000C */ sw $s0, 0xc($a0) +/* 340760 E002C8E0 AC860010 */ sw $a2, 0x10($a0) +/* 340764 E002C8E4 AC820014 */ sw $v0, 0x14($a0) +/* 340768 E002C8E8 8FA80160 */ lw $t0, 0x160($sp) +/* 34076C E002C8EC 26310040 */ addiu $s1, $s1, 0x40 +/* 340770 E002C8F0 8D020008 */ lw $v0, 8($t0) +/* 340774 E002C8F4 24840018 */ addiu $a0, $a0, 0x18 +/* 340778 E002C8F8 02A2102A */ slt $v0, $s5, $v0 +/* 34077C E002C8FC 1440FFB0 */ bnez $v0, .LE002C7C0 +/* 340780 E002C900 AE840000 */ sw $a0, ($s4) +.LE002C904: +/* 340784 E002C904 8FBF014C */ lw $ra, 0x14c($sp) +/* 340788 E002C908 8FBE0148 */ lw $fp, 0x148($sp) +/* 34078C E002C90C 8FB70144 */ lw $s7, 0x144($sp) +/* 340790 E002C910 8FB60140 */ lw $s6, 0x140($sp) +/* 340794 E002C914 8FB5013C */ lw $s5, 0x13c($sp) +/* 340798 E002C918 8FB40138 */ lw $s4, 0x138($sp) +/* 34079C E002C91C 8FB30134 */ lw $s3, 0x134($sp) +/* 3407A0 E002C920 8FB20130 */ lw $s2, 0x130($sp) +/* 3407A4 E002C924 8FB1012C */ lw $s1, 0x12c($sp) +/* 3407A8 E002C928 8FB00128 */ lw $s0, 0x128($sp) +/* 3407AC E002C92C D7B60158 */ ldc1 $f22, 0x158($sp) +/* 3407B0 E002C930 D7B40150 */ ldc1 $f20, 0x150($sp) +/* 3407B4 E002C934 03E00008 */ jr $ra +/* 3407B8 E002C938 27BD0160 */ addiu $sp, $sp, 0x160 +/* 3407BC E002C93C 00000000 */ nop diff --git a/asm/nonmatchings/code_3419E0/func_E002E000.s b/asm/nonmatchings/code_3419E0/func_E002E000.s new file mode 100644 index 0000000000..f7b28d1e19 --- /dev/null +++ b/asm/nonmatchings/code_3419E0/func_E002E000.s @@ -0,0 +1,160 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002E000 +/* 3419E0 E002E000 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 3419E4 E002E004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3419E8 E002E008 4485A000 */ mtc1 $a1, $f20 +/* 3419EC E002E00C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3419F0 E002E010 4486C000 */ mtc1 $a2, $f24 +/* 3419F4 E002E014 AFB20030 */ sw $s2, 0x30($sp) +/* 3419F8 E002E018 0080902D */ daddu $s2, $a0, $zero +/* 3419FC E002E01C F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 341A00 E002E020 4487D000 */ mtc1 $a3, $f26 +/* 341A04 E002E024 AFBF003C */ sw $ra, 0x3c($sp) +/* 341A08 E002E028 AFB40038 */ sw $s4, 0x38($sp) +/* 341A0C E002E02C AFB30034 */ sw $s3, 0x34($sp) +/* 341A10 E002E030 AFB1002C */ sw $s1, 0x2c($sp) +/* 341A14 E002E034 AFB00028 */ sw $s0, 0x28($sp) +/* 341A18 E002E038 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 341A1C E002E03C F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 341A20 E002E040 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 341A24 E002E044 12400006 */ beqz $s2, .LE002E060 +/* 341A28 E002E048 27A40010 */ addiu $a0, $sp, 0x10 +/* 341A2C E002E04C 24020001 */ addiu $v0, $zero, 1 +/* 341A30 E002E050 12420007 */ beq $s2, $v0, .LE002E070 +/* 341A34 E002E054 2413000B */ addiu $s3, $zero, 0xb +/* 341A38 E002E058 0800B820 */ j .LE002E080 +/* 341A3C E002E05C 00000000 */ nop +.LE002E060: +/* 341A40 E002E060 3C014160 */ lui $at, 0x4160 +/* 341A44 E002E064 4481B000 */ mtc1 $at, $f22 +/* 341A48 E002E068 0800B822 */ j .LE002E088 +/* 341A4C E002E06C 24130007 */ addiu $s3, $zero, 7 +.LE002E070: +/* 341A50 E002E070 3C0141E0 */ lui $at, 0x41e0 +/* 341A54 E002E074 4481B000 */ mtc1 $at, $f22 +/* 341A58 E002E078 0800B822 */ j .LE002E088 +/* 341A5C E002E07C 24130009 */ addiu $s3, $zero, 9 +.LE002E080: +/* 341A60 E002E080 3C014228 */ lui $at, 0x4228 +/* 341A64 E002E084 4481B000 */ mtc1 $at, $f22 +.LE002E088: +/* 341A68 E002E088 3C02E003 */ lui $v0, 0xe003 +/* 341A6C E002E08C 2442E248 */ addiu $v0, $v0, -0x1db8 +/* 341A70 E002E090 AC820008 */ sw $v0, 8($a0) +/* 341A74 E002E094 3C02E003 */ lui $v0, 0xe003 +/* 341A78 E002E098 2442E250 */ addiu $v0, $v0, -0x1db0 +/* 341A7C E002E09C AC82000C */ sw $v0, 0xc($a0) +/* 341A80 E002E0A0 3C02E003 */ lui $v0, 0xe003 +/* 341A84 E002E0A4 2442E330 */ addiu $v0, $v0, -0x1cd0 +/* 341A88 E002E0A8 AC820010 */ sw $v0, 0x10($a0) +/* 341A8C E002E0AC 24020017 */ addiu $v0, $zero, 0x17 +/* 341A90 E002E0B0 AC800000 */ sw $zero, ($a0) +/* 341A94 E002E0B4 AC800014 */ sw $zero, 0x14($a0) +/* 341A98 E002E0B8 0C080124 */ jal func_E0200490 +/* 341A9C E002E0BC AC820004 */ sw $v0, 4($a0) +/* 341AA0 E002E0C0 00132100 */ sll $a0, $s3, 4 +/* 341AA4 E002E0C4 00932021 */ addu $a0, $a0, $s3 +/* 341AA8 E002E0C8 00042080 */ sll $a0, $a0, 2 +/* 341AAC E002E0CC 0040802D */ daddu $s0, $v0, $zero +/* 341AB0 E002E0D0 0C08012C */ jal func_E02004B0 +/* 341AB4 E002E0D4 AE130008 */ sw $s3, 8($s0) +/* 341AB8 E002E0D8 0040882D */ daddu $s1, $v0, $zero +/* 341ABC E002E0DC 16200003 */ bnez $s1, .LE002E0EC +/* 341AC0 E002E0E0 AE11000C */ sw $s1, 0xc($s0) +.LE002E0E4: +/* 341AC4 E002E0E4 0800B839 */ j .LE002E0E4 +/* 341AC8 E002E0E8 00000000 */ nop +.LE002E0EC: +/* 341ACC E002E0EC 0220202D */ daddu $a0, $s1, $zero +/* 341AD0 E002E0F0 00132900 */ sll $a1, $s3, 4 +/* 341AD4 E002E0F4 00B32821 */ addu $a1, $a1, $s3 +/* 341AD8 E002E0F8 0C080130 */ jal func_E02004C0 +/* 341ADC E002E0FC 00052880 */ sll $a1, $a1, 2 +/* 341AE0 E002E100 AE200038 */ sw $zero, 0x38($s1) +/* 341AE4 E002E104 AE20003C */ sw $zero, 0x3c($s1) +/* 341AE8 E002E108 A6320000 */ sh $s2, ($s1) +/* 341AEC E002E10C E6340004 */ swc1 $f20, 4($s1) +/* 341AF0 E002E110 E6380008 */ swc1 $f24, 8($s1) +/* 341AF4 E002E114 E63A000C */ swc1 $f26, 0xc($s1) +/* 341AF8 E002E118 24120001 */ addiu $s2, $zero, 1 +/* 341AFC E002E11C 0253102A */ slt $v0, $s2, $s3 +/* 341B00 E002E120 1040003B */ beqz $v0, .LE002E210 +/* 341B04 E002E124 26310044 */ addiu $s1, $s1, 0x44 +/* 341B08 E002E128 2674FFFF */ addiu $s4, $s3, -1 +/* 341B0C E002E12C 26300034 */ addiu $s0, $s1, 0x34 +/* 341B10 E002E130 0000882D */ daddu $s1, $zero, $zero +/* 341B14 E002E134 3C01C040 */ lui $at, 0xc040 +/* 341B18 E002E138 4481F000 */ mtc1 $at, $f30 +/* 341B1C E002E13C 3C013E4C */ lui $at, 0x3e4c +/* 341B20 E002E140 3421CCCC */ ori $at, $at, 0xcccc +/* 341B24 E002E144 4481E000 */ mtc1 $at, $f28 +/* 341B28 E002E148 3C013FE0 */ lui $at, 0x3fe0 +/* 341B2C E002E14C 4481D000 */ mtc1 $at, $f26 +/* 341B30 E002E150 3C01BE23 */ lui $at, 0xbe23 +/* 341B34 E002E154 3421D70A */ ori $at, $at, 0xd70a +/* 341B38 E002E158 4481C000 */ mtc1 $at, $f24 +.LE002E15C: +/* 341B3C E002E15C 16800002 */ bnez $s4, .LE002E168 +/* 341B40 E002E160 0234001A */ div $zero, $s1, $s4 +/* 341B44 E002E164 0007000D */ break 7 +.LE002E168: +/* 341B48 E002E168 2401FFFF */ addiu $at, $zero, -1 +/* 341B4C E002E16C 16810004 */ bne $s4, $at, .LE002E180 +/* 341B50 E002E170 3C018000 */ lui $at, 0x8000 +/* 341B54 E002E174 16210002 */ bne $s1, $at, .LE002E180 +/* 341B58 E002E178 00000000 */ nop +/* 341B5C E002E17C 0006000D */ break 6 +.LE002E180: +/* 341B60 E002E180 00001812 */ mflo $v1 +/* 341B64 E002E184 E61EFFDC */ swc1 $f30, -0x24($s0) +/* 341B68 E002E188 E61CFFE0 */ swc1 $f28, -0x20($s0) +/* 341B6C E002E18C AE00FFE4 */ sw $zero, -0x1c($s0) +/* 341B70 E002E190 AE00FFE8 */ sw $zero, -0x18($s0) +/* 341B74 E002E194 E61AFFEC */ swc1 $f26, -0x14($s0) +/* 341B78 E002E198 E618FFF0 */ swc1 $f24, -0x10($s0) +/* 341B7C E002E19C AE00FFF4 */ sw $zero, -0xc($s0) +/* 341B80 E002E1A0 AE00FFF8 */ sw $zero, -8($s0) +/* 341B84 E002E1A4 4483A000 */ mtc1 $v1, $f20 +/* 341B88 E002E1A8 00000000 */ nop +/* 341B8C E002E1AC 4680A520 */ cvt.s.w $f20, $f20 +/* 341B90 E002E1B0 0C080140 */ jal func_E0200500 +/* 341B94 E002E1B4 4600A306 */ mov.s $f12, $f20 +/* 341B98 E002E1B8 46000007 */ neg.s $f0, $f0 +/* 341B9C E002E1BC 46160002 */ mul.s $f0, $f0, $f22 +/* 341BA0 E002E1C0 00000000 */ nop +/* 341BA4 E002E1C4 4600A306 */ mov.s $f12, $f20 +/* 341BA8 E002E1C8 0C080144 */ jal func_E0200510 +/* 341BAC E002E1CC E600FFD0 */ swc1 $f0, -0x30($s0) +/* 341BB0 E002E1D0 46000007 */ neg.s $f0, $f0 +/* 341BB4 E002E1D4 46160002 */ mul.s $f0, $f0, $f22 +/* 341BB8 E002E1D8 00000000 */ nop +/* 341BBC E002E1DC 26310168 */ addiu $s1, $s1, 0x168 +/* 341BC0 E002E1E0 26520001 */ addiu $s2, $s2, 1 +/* 341BC4 E002E1E4 4600A306 */ mov.s $f12, $f20 +/* 341BC8 E002E1E8 AE00FFD8 */ sw $zero, -0x28($s0) +/* 341BCC E002E1EC 0C080140 */ jal func_E0200500 +/* 341BD0 E002E1F0 E600FFD4 */ swc1 $f0, -0x2c($s0) +/* 341BD4 E002E1F4 4600A306 */ mov.s $f12, $f20 +/* 341BD8 E002E1F8 0C080144 */ jal func_E0200510 +/* 341BDC E002E1FC E600FFFC */ swc1 $f0, -4($s0) +/* 341BE0 E002E200 E6000000 */ swc1 $f0, ($s0) +/* 341BE4 E002E204 0253102A */ slt $v0, $s2, $s3 +/* 341BE8 E002E208 1440FFD4 */ bnez $v0, .LE002E15C +/* 341BEC E002E20C 26100044 */ addiu $s0, $s0, 0x44 +.LE002E210: +/* 341BF0 E002E210 8FBF003C */ lw $ra, 0x3c($sp) +/* 341BF4 E002E214 8FB40038 */ lw $s4, 0x38($sp) +/* 341BF8 E002E218 8FB30034 */ lw $s3, 0x34($sp) +/* 341BFC E002E21C 8FB20030 */ lw $s2, 0x30($sp) +/* 341C00 E002E220 8FB1002C */ lw $s1, 0x2c($sp) +/* 341C04 E002E224 8FB00028 */ lw $s0, 0x28($sp) +/* 341C08 E002E228 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 341C0C E002E22C D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 341C10 E002E230 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 341C14 E002E234 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 341C18 E002E238 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 341C1C E002E23C D7B40040 */ ldc1 $f20, 0x40($sp) +/* 341C20 E002E240 03E00008 */ jr $ra +/* 341C24 E002E244 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_3419E0/func_E002E248.s b/asm/nonmatchings/code_3419E0/func_E002E248.s new file mode 100644 index 0000000000..9dbefbb779 --- /dev/null +++ b/asm/nonmatchings/code_3419E0/func_E002E248.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002E248 +/* 341C28 E002E248 03E00008 */ jr $ra +/* 341C2C E002E24C 00000000 */ nop diff --git a/asm/nonmatchings/code_3419E0/func_E002E250.s b/asm/nonmatchings/code_3419E0/func_E002E250.s new file mode 100644 index 0000000000..83e60c1dbc --- /dev/null +++ b/asm/nonmatchings/code_3419E0/func_E002E250.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002E250 +/* 341C30 E002E250 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 341C34 E002E254 AFBF0010 */ sw $ra, 0x10($sp) +/* 341C38 E002E258 8C85000C */ lw $a1, 0xc($a0) +/* 341C3C E002E25C 8CA20038 */ lw $v0, 0x38($a1) +/* 341C40 E002E260 8CA3003C */ lw $v1, 0x3c($a1) +/* 341C44 E002E264 00021080 */ sll $v0, $v0, 2 +/* 341C48 E002E268 3C01E003 */ lui $at, 0xe003 +/* 341C4C E002E26C 00220821 */ addu $at, $at, $v0 +/* 341C50 E002E270 8C22E754 */ lw $v0, -0x18ac($at) +/* 341C54 E002E274 00431021 */ addu $v0, $v0, $v1 +/* 341C58 E002E278 80420000 */ lb $v0, ($v0) +/* 341C5C E002E27C 24630001 */ addiu $v1, $v1, 1 +/* 341C60 E002E280 ACA3003C */ sw $v1, 0x3c($a1) +/* 341C64 E002E284 04410005 */ bgez $v0, .LE002E29C +/* 341C68 E002E288 ACA20040 */ sw $v0, 0x40($a1) +/* 341C6C E002E28C 0C080128 */ jal func_E02004A0 +/* 341C70 E002E290 00000000 */ nop +/* 341C74 E002E294 0800B8C9 */ j .LE002E324 +/* 341C78 E002E298 00000000 */ nop +.LE002E29C: +/* 341C7C E002E29C 8C820008 */ lw $v0, 8($a0) +/* 341C80 E002E2A0 24060001 */ addiu $a2, $zero, 1 +/* 341C84 E002E2A4 00C2102A */ slt $v0, $a2, $v0 +/* 341C88 E002E2A8 1040001E */ beqz $v0, .LE002E324 +/* 341C8C E002E2AC 24A50044 */ addiu $a1, $a1, 0x44 +/* 341C90 E002E2B0 24A30008 */ addiu $v1, $a1, 8 +.LE002E2B4: +/* 341C94 E002E2B4 C46A0010 */ lwc1 $f10, 0x10($v1) +/* 341C98 E002E2B8 C4600014 */ lwc1 $f0, 0x14($v1) +/* 341C9C E002E2BC 46005280 */ add.s $f10, $f10, $f0 +/* 341CA0 E002E2C0 C468000C */ lwc1 $f8, 0xc($v1) +/* 341CA4 E002E2C4 460A4200 */ add.s $f8, $f8, $f10 +/* 341CA8 E002E2C8 C4600008 */ lwc1 $f0, 8($v1) +/* 341CAC E002E2CC 46080000 */ add.s $f0, $f0, $f8 +/* 341CB0 E002E2D0 C4620028 */ lwc1 $f2, 0x28($v1) +/* 341CB4 E002E2D4 46020082 */ mul.s $f2, $f0, $f2 +/* 341CB8 E002E2D8 00000000 */ nop +/* 341CBC E002E2DC E4600008 */ swc1 $f0, 8($v1) +/* 341CC0 E002E2E0 46000186 */ mov.s $f6, $f0 +/* 341CC4 E002E2E4 C460002C */ lwc1 $f0, 0x2c($v1) +/* 341CC8 E002E2E8 46003182 */ mul.s $f6, $f6, $f0 +/* 341CCC E002E2EC 00000000 */ nop +/* 341CD0 E002E2F0 C464FFFC */ lwc1 $f4, -4($v1) +/* 341CD4 E002E2F4 C4600000 */ lwc1 $f0, ($v1) +/* 341CD8 E002E2F8 46022100 */ add.s $f4, $f4, $f2 +/* 341CDC E002E2FC 24C60001 */ addiu $a2, $a2, 1 +/* 341CE0 E002E300 E46A0010 */ swc1 $f10, 0x10($v1) +/* 341CE4 E002E304 46060000 */ add.s $f0, $f0, $f6 +/* 341CE8 E002E308 E468000C */ swc1 $f8, 0xc($v1) +/* 341CEC E002E30C E464FFFC */ swc1 $f4, -4($v1) +/* 341CF0 E002E310 E4600000 */ swc1 $f0, ($v1) +/* 341CF4 E002E314 8C820008 */ lw $v0, 8($a0) +/* 341CF8 E002E318 00C2102A */ slt $v0, $a2, $v0 +/* 341CFC E002E31C 1440FFE5 */ bnez $v0, .LE002E2B4 +/* 341D00 E002E320 24630044 */ addiu $v1, $v1, 0x44 +.LE002E324: +/* 341D04 E002E324 8FBF0010 */ lw $ra, 0x10($sp) +/* 341D08 E002E328 03E00008 */ jr $ra +/* 341D0C E002E32C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3419E0/func_E002E330.s b/asm/nonmatchings/code_3419E0/func_E002E330.s new file mode 100644 index 0000000000..b446170992 --- /dev/null +++ b/asm/nonmatchings/code_3419E0/func_E002E330.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002E330 +/* 341D10 E002E330 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 341D14 E002E334 3C02E003 */ lui $v0, 0xe003 +/* 341D18 E002E338 2442E368 */ addiu $v0, $v0, -0x1c98 +/* 341D1C E002E33C AFA2001C */ sw $v0, 0x1c($sp) +/* 341D20 E002E340 24020028 */ addiu $v0, $zero, 0x28 +/* 341D24 E002E344 AFA40018 */ sw $a0, 0x18($sp) +/* 341D28 E002E348 27A40010 */ addiu $a0, $sp, 0x10 +/* 341D2C E002E34C AFBF0020 */ sw $ra, 0x20($sp) +/* 341D30 E002E350 AFA00014 */ sw $zero, 0x14($sp) +/* 341D34 E002E354 0C080120 */ jal func_E0200480 +/* 341D38 E002E358 AFA20010 */ sw $v0, 0x10($sp) +/* 341D3C E002E35C 8FBF0020 */ lw $ra, 0x20($sp) +/* 341D40 E002E360 03E00008 */ jr $ra +/* 341D44 E002E364 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3419E0/func_E002E368.s b/asm/nonmatchings/code_3419E0/func_E002E368.s new file mode 100644 index 0000000000..131cfe116c --- /dev/null +++ b/asm/nonmatchings/code_3419E0/func_E002E368.s @@ -0,0 +1,255 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E002E368 +/* 341D48 E002E368 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 341D4C E002E36C AFBE0100 */ sw $fp, 0x100($sp) +/* 341D50 E002E370 0080F02D */ daddu $fp, $a0, $zero +/* 341D54 E002E374 AFBF0104 */ sw $ra, 0x104($sp) +/* 341D58 E002E378 AFB700FC */ sw $s7, 0xfc($sp) +/* 341D5C E002E37C AFB600F8 */ sw $s6, 0xf8($sp) +/* 341D60 E002E380 AFB500F4 */ sw $s5, 0xf4($sp) +/* 341D64 E002E384 AFB400F0 */ sw $s4, 0xf0($sp) +/* 341D68 E002E388 AFB300EC */ sw $s3, 0xec($sp) +/* 341D6C E002E38C AFB200E8 */ sw $s2, 0xe8($sp) +/* 341D70 E002E390 AFB100E4 */ sw $s1, 0xe4($sp) +/* 341D74 E002E394 AFB000E0 */ sw $s0, 0xe0($sp) +/* 341D78 E002E398 8FD4000C */ lw $s4, 0xc($fp) +/* 341D7C E002E39C 8E820040 */ lw $v0, 0x40($s4) +/* 341D80 E002E3A0 3C170900 */ lui $s7, 0x900 +/* 341D84 E002E3A4 26F72B40 */ addiu $s7, $s7, 0x2b40 +/* 341D88 E002E3A8 30550007 */ andi $s5, $v0, 7 +/* 341D8C E002E3AC 30430038 */ andi $v1, $v0, 0x38 +/* 341D90 E002E3B0 0003B080 */ sll $s6, $v1, 2 +/* 341D94 E002E3B4 96830000 */ lhu $v1, ($s4) +/* 341D98 E002E3B8 30420040 */ andi $v0, $v0, 0x40 +/* 341D9C E002E3BC 10600003 */ beqz $v1, .LE002E3CC +/* 341DA0 E002E3C0 AFA200D8 */ sw $v0, 0xd8($sp) +/* 341DA4 E002E3C4 3C170900 */ lui $s7, 0x900 +/* 341DA8 E002E3C8 26F72B60 */ addiu $s7, $s7, 0x2b60 +.LE002E3CC: +/* 341DAC E002E3CC 3C06DB06 */ lui $a2, 0xdb06 +/* 341DB0 E002E3D0 34C60024 */ ori $a2, $a2, 0x24 +/* 341DB4 E002E3D4 27A40018 */ addiu $a0, $sp, 0x18 +/* 341DB8 E002E3D8 3C120001 */ lui $s2, 1 +/* 341DBC E002E3DC 3C13800A */ lui $s3, 0x800a +/* 341DC0 E002E3E0 2673A66C */ addiu $s3, $s3, -0x5994 +/* 341DC4 E002E3E4 36521630 */ ori $s2, $s2, 0x1630 +/* 341DC8 E002E3E8 8E630000 */ lw $v1, ($s3) +/* 341DCC E002E3EC 3C02E700 */ lui $v0, 0xe700 +/* 341DD0 E002E3F0 0060282D */ daddu $a1, $v1, $zero +/* 341DD4 E002E3F4 24630008 */ addiu $v1, $v1, 8 +/* 341DD8 E002E3F8 AE630000 */ sw $v1, ($s3) +/* 341DDC E002E3FC ACA20000 */ sw $v0, ($a1) +/* 341DE0 E002E400 ACA00004 */ sw $zero, 4($a1) +/* 341DE4 E002E404 AC660000 */ sw $a2, ($v1) +/* 341DE8 E002E408 8FC50010 */ lw $a1, 0x10($fp) +/* 341DEC E002E40C 24620008 */ addiu $v0, $v1, 8 +/* 341DF0 E002E410 AE620000 */ sw $v0, ($s3) +/* 341DF4 E002E414 8CA5001C */ lw $a1, 0x1c($a1) +/* 341DF8 E002E418 3C02DE00 */ lui $v0, 0xde00 +/* 341DFC E002E41C AC620008 */ sw $v0, 8($v1) +/* 341E00 E002E420 3C020900 */ lui $v0, 0x900 +/* 341E04 E002E424 24422950 */ addiu $v0, $v0, 0x2950 +/* 341E08 E002E428 AC62000C */ sw $v0, 0xc($v1) +/* 341E0C E002E42C 3C028000 */ lui $v0, 0x8000 +/* 341E10 E002E430 00A22821 */ addu $a1, $a1, $v0 +/* 341E14 E002E434 AC650004 */ sw $a1, 4($v1) +/* 341E18 E002E438 8E850004 */ lw $a1, 4($s4) +/* 341E1C E002E43C 8E860008 */ lw $a2, 8($s4) +/* 341E20 E002E440 8E87000C */ lw $a3, 0xc($s4) +/* 341E24 E002E444 24630010 */ addiu $v1, $v1, 0x10 +/* 341E28 E002E448 0C080108 */ jal func_E0200420 +/* 341E2C E002E44C AE630000 */ sw $v1, ($s3) +/* 341E30 E002E450 27B00058 */ addiu $s0, $sp, 0x58 +/* 341E34 E002E454 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 341E38 E002E458 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 341E3C E002E45C 44800000 */ mtc1 $zero, $f0 +/* 341E40 E002E460 00031080 */ sll $v0, $v1, 2 +/* 341E44 E002E464 00431021 */ addu $v0, $v0, $v1 +/* 341E48 E002E468 00021080 */ sll $v0, $v0, 2 +/* 341E4C E002E46C 00431023 */ subu $v0, $v0, $v1 +/* 341E50 E002E470 000218C0 */ sll $v1, $v0, 3 +/* 341E54 E002E474 00431021 */ addu $v0, $v0, $v1 +/* 341E58 E002E478 000210C0 */ sll $v0, $v0, 3 +/* 341E5C E002E47C 44060000 */ mfc1 $a2, $f0 +/* 341E60 E002E480 3C01800B */ lui $at, 0x800b +/* 341E64 E002E484 00220821 */ addu $at, $at, $v0 +/* 341E68 E002E488 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 341E6C E002E48C 3C073F80 */ lui $a3, 0x3f80 +/* 341E70 E002E490 46000007 */ neg.s $f0, $f0 +/* 341E74 E002E494 44050000 */ mfc1 $a1, $f0 +/* 341E78 E002E498 0200202D */ daddu $a0, $s0, $zero +/* 341E7C E002E49C 0C080104 */ jal func_E0200410 +/* 341E80 E002E4A0 AFA60010 */ sw $a2, 0x10($sp) +/* 341E84 E002E4A4 0200202D */ daddu $a0, $s0, $zero +/* 341E88 E002E4A8 27A50018 */ addiu $a1, $sp, 0x18 +/* 341E8C E002E4AC 27B00098 */ addiu $s0, $sp, 0x98 +/* 341E90 E002E4B0 0C080114 */ jal func_E0200450 +/* 341E94 E002E4B4 0200302D */ daddu $a2, $s0, $zero +/* 341E98 E002E4B8 0200202D */ daddu $a0, $s0, $zero +/* 341E9C E002E4BC 3C108007 */ lui $s0, 0x8007 +/* 341EA0 E002E4C0 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 341EA4 E002E4C4 3C11800A */ lui $s1, 0x800a +/* 341EA8 E002E4C8 2631A674 */ addiu $s1, $s1, -0x598c +/* 341EAC E002E4CC 96050000 */ lhu $a1, ($s0) +/* 341EB0 E002E4D0 8E220000 */ lw $v0, ($s1) +/* 341EB4 E002E4D4 00052980 */ sll $a1, $a1, 6 +/* 341EB8 E002E4D8 00B22821 */ addu $a1, $a1, $s2 +/* 341EBC E002E4DC 0C080118 */ jal func_E0200460 +/* 341EC0 E002E4E0 00452821 */ addu $a1, $v0, $a1 +/* 341EC4 E002E4E4 3C05EEDC */ lui $a1, 0xeedc +/* 341EC8 E002E4E8 8E660000 */ lw $a2, ($s3) +/* 341ECC E002E4EC 34A5D7A0 */ ori $a1, $a1, 0xd7a0 +/* 341ED0 E002E4F0 00C0202D */ daddu $a0, $a2, $zero +/* 341ED4 E002E4F4 24C60008 */ addiu $a2, $a2, 8 +/* 341ED8 E002E4F8 AE660000 */ sw $a2, ($s3) +/* 341EDC E002E4FC 96020000 */ lhu $v0, ($s0) +/* 341EE0 E002E500 3C03DA38 */ lui $v1, 0xda38 +/* 341EE4 E002E504 AC830000 */ sw $v1, ($a0) +/* 341EE8 E002E508 24430001 */ addiu $v1, $v0, 1 +/* 341EEC E002E50C 3042FFFF */ andi $v0, $v0, 0xffff +/* 341EF0 E002E510 00021180 */ sll $v0, $v0, 6 +/* 341EF4 E002E514 A6030000 */ sh $v1, ($s0) +/* 341EF8 E002E518 8E230000 */ lw $v1, ($s1) +/* 341EFC E002E51C 00521021 */ addu $v0, $v0, $s2 +/* 341F00 E002E520 00621821 */ addu $v1, $v1, $v0 +/* 341F04 E002E524 24C20008 */ addiu $v0, $a2, 8 +/* 341F08 E002E528 AC830004 */ sw $v1, 4($a0) +/* 341F0C E002E52C AE620000 */ sw $v0, ($s3) +/* 341F10 E002E530 3C02FA00 */ lui $v0, 0xfa00 +/* 341F14 E002E534 ACC20000 */ sw $v0, ($a2) +/* 341F18 E002E538 24C20010 */ addiu $v0, $a2, 0x10 +/* 341F1C E002E53C ACC50004 */ sw $a1, 4($a2) +/* 341F20 E002E540 AE620000 */ sw $v0, ($s3) +/* 341F24 E002E544 3C02FB00 */ lui $v0, 0xfb00 +/* 341F28 E002E548 ACC20008 */ sw $v0, 8($a2) +/* 341F2C E002E54C 24C20018 */ addiu $v0, $a2, 0x18 +/* 341F30 E002E550 ACD6000C */ sw $s6, 0xc($a2) +/* 341F34 E002E554 AE620000 */ sw $v0, ($s3) +/* 341F38 E002E558 001514C0 */ sll $v0, $s5, 0x13 +/* 341F3C E002E55C 3C04F200 */ lui $a0, 0xf200 +/* 341F40 E002E560 00441025 */ or $v0, $v0, $a0 +/* 341F44 E002E564 00152940 */ sll $a1, $s5, 5 +/* 341F48 E002E568 ACC20010 */ sw $v0, 0x10($a2) +/* 341F4C E002E56C 24A2001F */ addiu $v0, $a1, 0x1f +/* 341F50 E002E570 00021380 */ sll $v0, $v0, 0xe +/* 341F54 E002E574 3442007C */ ori $v0, $v0, 0x7c +/* 341F58 E002E578 ACC20014 */ sw $v0, 0x14($a2) +/* 341F5C E002E57C 8FA800D8 */ lw $t0, 0xd8($sp) +/* 341F60 E002E580 1100000E */ beqz $t0, .LE002E5BC +/* 341F64 E002E584 24A70020 */ addiu $a3, $a1, 0x20 +/* 341F68 E002E588 0080182D */ daddu $v1, $a0, $zero +/* 341F6C E002E58C 34630080 */ ori $v1, $v1, 0x80 +/* 341F70 E002E590 3C040100 */ lui $a0, 0x100 +/* 341F74 E002E594 348400FC */ ori $a0, $a0, 0xfc +/* 341F78 E002E598 24C20020 */ addiu $v0, $a2, 0x20 +/* 341F7C E002E59C AE620000 */ sw $v0, ($s3) +/* 341F80 E002E5A0 00071380 */ sll $v0, $a3, 0xe +/* 341F84 E002E5A4 00431025 */ or $v0, $v0, $v1 +/* 341F88 E002E5A8 ACC20018 */ sw $v0, 0x18($a2) +/* 341F8C E002E5AC 24A2003F */ addiu $v0, $a1, 0x3f +/* 341F90 E002E5B0 00021380 */ sll $v0, $v0, 0xe +/* 341F94 E002E5B4 0800B979 */ j .LE002E5E4 +/* 341F98 E002E5B8 00441025 */ or $v0, $v0, $a0 +.LE002E5BC: +/* 341F9C E002E5BC 3C030100 */ lui $v1, 0x100 +/* 341FA0 E002E5C0 3463007C */ ori $v1, $v1, 0x7c +/* 341FA4 E002E5C4 24C20020 */ addiu $v0, $a2, 0x20 +/* 341FA8 E002E5C8 AE620000 */ sw $v0, ($s3) +/* 341FAC E002E5CC 00071380 */ sll $v0, $a3, 0xe +/* 341FB0 E002E5D0 00441025 */ or $v0, $v0, $a0 +/* 341FB4 E002E5D4 ACC20018 */ sw $v0, 0x18($a2) +/* 341FB8 E002E5D8 24A2003F */ addiu $v0, $a1, 0x3f +/* 341FBC E002E5DC 00021380 */ sll $v0, $v0, 0xe +/* 341FC0 E002E5E0 00431025 */ or $v0, $v0, $v1 +.LE002E5E4: +/* 341FC4 E002E5E4 ACC2001C */ sw $v0, 0x1c($a2) +/* 341FC8 E002E5E8 8FC20008 */ lw $v0, 8($fp) +/* 341FCC E002E5EC 24110001 */ addiu $s1, $zero, 1 +/* 341FD0 E002E5F0 0222102A */ slt $v0, $s1, $v0 +/* 341FD4 E002E5F4 10400036 */ beqz $v0, .LE002E6D0 +/* 341FD8 E002E5F8 26940044 */ addiu $s4, $s4, 0x44 +/* 341FDC E002E5FC 3C16800A */ lui $s6, 0x800a +/* 341FE0 E002E600 26D6A674 */ addiu $s6, $s6, -0x598c +/* 341FE4 E002E604 3C158007 */ lui $s5, 0x8007 +/* 341FE8 E002E608 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 341FEC E002E60C 3C130001 */ lui $s3, 1 +/* 341FF0 E002E610 36731630 */ ori $s3, $s3, 0x1630 +/* 341FF4 E002E614 3C12800A */ lui $s2, 0x800a +/* 341FF8 E002E618 2652A66C */ addiu $s2, $s2, -0x5994 +/* 341FFC E002E61C 2690000C */ addiu $s0, $s4, 0xc +.LE002E620: +/* 342000 E002E620 27A40018 */ addiu $a0, $sp, 0x18 +/* 342004 E002E624 26310001 */ addiu $s1, $s1, 1 +/* 342008 E002E628 8E05FFF8 */ lw $a1, -8($s0) +/* 34200C E002E62C 8E06FFFC */ lw $a2, -4($s0) +/* 342010 E002E630 8E070000 */ lw $a3, ($s0) +/* 342014 E002E634 0C080108 */ jal func_E0200420 +/* 342018 E002E638 26100044 */ addiu $s0, $s0, 0x44 +/* 34201C E002E63C 27A40018 */ addiu $a0, $sp, 0x18 +/* 342020 E002E640 96A50000 */ lhu $a1, ($s5) +/* 342024 E002E644 8EC20000 */ lw $v0, ($s6) +/* 342028 E002E648 00052980 */ sll $a1, $a1, 6 +/* 34202C E002E64C 00B32821 */ addu $a1, $a1, $s3 +/* 342030 E002E650 0C080118 */ jal func_E0200460 +/* 342034 E002E654 00452821 */ addu $a1, $v0, $a1 +/* 342038 E002E658 3C06D838 */ lui $a2, 0xd838 +/* 34203C E002E65C 8E440000 */ lw $a0, ($s2) +/* 342040 E002E660 34C60002 */ ori $a2, $a2, 2 +/* 342044 E002E664 0080282D */ daddu $a1, $a0, $zero +/* 342048 E002E668 24840008 */ addiu $a0, $a0, 8 +/* 34204C E002E66C AE440000 */ sw $a0, ($s2) +/* 342050 E002E670 96A20000 */ lhu $v0, ($s5) +/* 342054 E002E674 3C03DA38 */ lui $v1, 0xda38 +/* 342058 E002E678 ACA30000 */ sw $v1, ($a1) +/* 34205C E002E67C 24430001 */ addiu $v1, $v0, 1 +/* 342060 E002E680 3042FFFF */ andi $v0, $v0, 0xffff +/* 342064 E002E684 00021180 */ sll $v0, $v0, 6 +/* 342068 E002E688 A6A30000 */ sh $v1, ($s5) +/* 34206C E002E68C 8EC30000 */ lw $v1, ($s6) +/* 342070 E002E690 00531021 */ addu $v0, $v0, $s3 +/* 342074 E002E694 00621821 */ addu $v1, $v1, $v0 +/* 342078 E002E698 24820008 */ addiu $v0, $a0, 8 +/* 34207C E002E69C ACA30004 */ sw $v1, 4($a1) +/* 342080 E002E6A0 AE420000 */ sw $v0, ($s2) +/* 342084 E002E6A4 3C02DE00 */ lui $v0, 0xde00 +/* 342088 E002E6A8 AC820000 */ sw $v0, ($a0) +/* 34208C E002E6AC 24020040 */ addiu $v0, $zero, 0x40 +/* 342090 E002E6B0 AC970004 */ sw $s7, 4($a0) +/* 342094 E002E6B4 AC860008 */ sw $a2, 8($a0) +/* 342098 E002E6B8 AC82000C */ sw $v0, 0xc($a0) +/* 34209C E002E6BC 8FC20008 */ lw $v0, 8($fp) +/* 3420A0 E002E6C0 24840010 */ addiu $a0, $a0, 0x10 +/* 3420A4 E002E6C4 0222102A */ slt $v0, $s1, $v0 +/* 3420A8 E002E6C8 1440FFD5 */ bnez $v0, .LE002E620 +/* 3420AC E002E6CC AE440000 */ sw $a0, ($s2) +.LE002E6D0: +/* 3420B0 E002E6D0 3C03D838 */ lui $v1, 0xd838 +/* 3420B4 E002E6D4 3C04800A */ lui $a0, 0x800a +/* 3420B8 E002E6D8 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3420BC E002E6DC 8C820000 */ lw $v0, ($a0) +/* 3420C0 E002E6E0 34630002 */ ori $v1, $v1, 2 +/* 3420C4 E002E6E4 0040282D */ daddu $a1, $v0, $zero +/* 3420C8 E002E6E8 24420008 */ addiu $v0, $v0, 8 +/* 3420CC E002E6EC AC820000 */ sw $v0, ($a0) +/* 3420D0 E002E6F0 ACA30000 */ sw $v1, ($a1) +/* 3420D4 E002E6F4 24030040 */ addiu $v1, $zero, 0x40 +/* 3420D8 E002E6F8 ACA30004 */ sw $v1, 4($a1) +/* 3420DC E002E6FC 24430008 */ addiu $v1, $v0, 8 +/* 3420E0 E002E700 AC830000 */ sw $v1, ($a0) +/* 3420E4 E002E704 3C03E700 */ lui $v1, 0xe700 +/* 3420E8 E002E708 AC430000 */ sw $v1, ($v0) +/* 3420EC E002E70C AC400004 */ sw $zero, 4($v0) +/* 3420F0 E002E710 8FBF0104 */ lw $ra, 0x104($sp) +/* 3420F4 E002E714 8FBE0100 */ lw $fp, 0x100($sp) +/* 3420F8 E002E718 8FB700FC */ lw $s7, 0xfc($sp) +/* 3420FC E002E71C 8FB600F8 */ lw $s6, 0xf8($sp) +/* 342100 E002E720 8FB500F4 */ lw $s5, 0xf4($sp) +/* 342104 E002E724 8FB400F0 */ lw $s4, 0xf0($sp) +/* 342108 E002E728 8FB300EC */ lw $s3, 0xec($sp) +/* 34210C E002E72C 8FB200E8 */ lw $s2, 0xe8($sp) +/* 342110 E002E730 8FB100E4 */ lw $s1, 0xe4($sp) +/* 342114 E002E734 8FB000E0 */ lw $s0, 0xe0($sp) +/* 342118 E002E738 03E00008 */ jr $ra +/* 34211C E002E73C 27BD0108 */ addiu $sp, $sp, 0x108 diff --git a/asm/nonmatchings/code_342140/func_E0030000.s b/asm/nonmatchings/code_342140/func_E0030000.s new file mode 100644 index 0000000000..bc64fc1bf9 --- /dev/null +++ b/asm/nonmatchings/code_342140/func_E0030000.s @@ -0,0 +1,485 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0030000 +/* 342140 E0030000 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 342144 E0030004 F7B600A8 */ sdc1 $f22, 0xa8($sp) +/* 342148 E0030008 C7B600E0 */ lwc1 $f22, 0xe0($sp) +/* 34214C E003000C F7B800B0 */ sdc1 $f24, 0xb0($sp) +/* 342150 E0030010 C7B800E4 */ lwc1 $f24, 0xe4($sp) +/* 342154 E0030014 F7BA00B8 */ sdc1 $f26, 0xb8($sp) +/* 342158 E0030018 C7BA00E8 */ lwc1 $f26, 0xe8($sp) +/* 34215C E003001C 8FA800EC */ lw $t0, 0xec($sp) +/* 342160 E0030020 AFB60090 */ sw $s6, 0x90($sp) +/* 342164 E0030024 0080B02D */ daddu $s6, $a0, $zero +/* 342168 E0030028 AFB00078 */ sw $s0, 0x78($sp) +/* 34216C E003002C 27B00018 */ addiu $s0, $sp, 0x18 +/* 342170 E0030030 AFBF009C */ sw $ra, 0x9c($sp) +/* 342174 E0030034 AFBE0098 */ sw $fp, 0x98($sp) +/* 342178 E0030038 AFB70094 */ sw $s7, 0x94($sp) +/* 34217C E003003C AFB5008C */ sw $s5, 0x8c($sp) +/* 342180 E0030040 AFB40088 */ sw $s4, 0x88($sp) +/* 342184 E0030044 AFB30084 */ sw $s3, 0x84($sp) +/* 342188 E0030048 AFB20080 */ sw $s2, 0x80($sp) +/* 34218C E003004C AFB1007C */ sw $s1, 0x7c($sp) +/* 342190 E0030050 F7BE00C8 */ sdc1 $f30, 0xc8($sp) +/* 342194 E0030054 F7BC00C0 */ sdc1 $f28, 0xc0($sp) +/* 342198 E0030058 F7B400A0 */ sdc1 $f20, 0xa0($sp) +/* 34219C E003005C AFA500D4 */ sw $a1, 0xd4($sp) +/* 3421A0 E0030060 AFA600D8 */ sw $a2, 0xd8($sp) +/* 3421A4 E0030064 1100019E */ beqz $t0, .LE00306E0 +/* 3421A8 E0030068 AFA700DC */ sw $a3, 0xdc($sp) +/* 3421AC E003006C 4616B002 */ mul.s $f0, $f22, $f22 +/* 3421B0 E0030070 00000000 */ nop +/* 3421B4 E0030074 4618C082 */ mul.s $f2, $f24, $f24 +/* 3421B8 E0030078 00000000 */ nop +/* 3421BC E003007C 461AD102 */ mul.s $f4, $f26, $f26 +/* 3421C0 E0030080 00000000 */ nop +/* 3421C4 E0030084 46020000 */ add.s $f0, $f0, $f2 +/* 3421C8 E0030088 46040300 */ add.s $f12, $f0, $f4 +/* 3421CC E003008C 4480A000 */ mtc1 $zero, $f20 +/* 3421D0 E0030090 00000000 */ nop +/* 3421D4 E0030094 46146032 */ c.eq.s $f12, $f20 +/* 3421D8 E0030098 00000000 */ nop +/* 3421DC E003009C 45010190 */ bc1t .LE00306E0 +/* 3421E0 E00300A0 00000000 */ nop +/* 3421E4 E00300A4 0C080154 */ jal func_E0200550 +/* 3421E8 E00300A8 00000000 */ nop +/* 3421EC E00300AC 3C01BF80 */ lui $at, 0xbf80 +/* 3421F0 E00300B0 44811000 */ mtc1 $at, $f2 +/* 3421F4 E00300B4 00000000 */ nop +/* 3421F8 E00300B8 46001303 */ div.s $f12, $f2, $f0 +/* 3421FC E00300BC 460CB582 */ mul.s $f22, $f22, $f12 +/* 342200 E00300C0 00000000 */ nop +/* 342204 E00300C4 460CC602 */ mul.s $f24, $f24, $f12 +/* 342208 E00300C8 00000000 */ nop +/* 34220C E00300CC 460CD682 */ mul.s $f26, $f26, $f12 +/* 342210 E00300D0 00000000 */ nop +/* 342214 E00300D4 4614B032 */ c.eq.s $f22, $f20 +/* 342218 E00300D8 00000000 */ nop +/* 34221C E00300DC 45010007 */ bc1t .LE00300FC +/* 342220 E00300E0 4600A706 */ mov.s $f28, $f20 +/* 342224 E00300E4 4600C007 */ neg.s $f0, $f24 +/* 342228 E00300E8 46160783 */ div.s $f30, $f0, $f22 +/* 34222C E00300EC 3C013F80 */ lui $at, 0x3f80 +/* 342230 E00300F0 44813000 */ mtc1 $at, $f6 +/* 342234 E00300F4 0800C04D */ j .LE0030134 +/* 342238 E00300F8 E7A60070 */ swc1 $f6, 0x70($sp) +.LE00300FC: +/* 34223C E00300FC 4614C032 */ c.eq.s $f24, $f20 +/* 342240 E0030100 00000000 */ nop +/* 342244 E0030104 45010007 */ bc1t .LE0030124 +/* 342248 E0030108 4600B007 */ neg.s $f0, $f22 +/* 34224C E003010C 46180003 */ div.s $f0, $f0, $f24 +/* 342250 E0030110 3C013F80 */ lui $at, 0x3f80 +/* 342254 E0030114 4481F000 */ mtc1 $at, $f30 +/* 342258 E0030118 4600A706 */ mov.s $f28, $f20 +/* 34225C E003011C 0800C04D */ j .LE0030134 +/* 342260 E0030120 E7A00070 */ swc1 $f0, 0x70($sp) +.LE0030124: +/* 342264 E0030124 3C013F80 */ lui $at, 0x3f80 +/* 342268 E0030128 4481F000 */ mtc1 $at, $f30 +/* 34226C E003012C 461A0703 */ div.s $f28, $f0, $f26 +/* 342270 E0030130 E7B40070 */ swc1 $f20, 0x70($sp) +.LE0030134: +/* 342274 E0030134 461EF002 */ mul.s $f0, $f30, $f30 +/* 342278 E0030138 00000000 */ nop +/* 34227C E003013C 461CE102 */ mul.s $f4, $f28, $f28 +/* 342280 E0030140 00000000 */ nop +/* 342284 E0030144 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 342288 E0030148 46004186 */ mov.s $f6, $f8 +/* 34228C E003014C 46064082 */ mul.s $f2, $f8, $f6 +/* 342290 E0030150 00000000 */ nop +/* 342294 E0030154 46020000 */ add.s $f0, $f0, $f2 +/* 342298 E0030158 46040300 */ add.s $f12, $f0, $f4 +/* 34229C E003015C 44800000 */ mtc1 $zero, $f0 +/* 3422A0 E0030160 00000000 */ nop +/* 3422A4 E0030164 46006032 */ c.eq.s $f12, $f0 +/* 3422A8 E0030168 00000000 */ nop +/* 3422AC E003016C 4501015C */ bc1t .LE00306E0 +/* 3422B0 E0030170 00000000 */ nop +/* 3422B4 E0030174 0C080154 */ jal func_E0200550 +/* 3422B8 E0030178 00000000 */ nop +/* 3422BC E003017C 3C013F80 */ lui $at, 0x3f80 +/* 3422C0 E0030180 44811000 */ mtc1 $at, $f2 +/* 3422C4 E0030184 00000000 */ nop +/* 3422C8 E0030188 46001303 */ div.s $f12, $f2, $f0 +/* 3422CC E003018C 460CF782 */ mul.s $f30, $f30, $f12 +/* 3422D0 E0030190 00000000 */ nop +/* 3422D4 E0030194 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 3422D8 E0030198 460C4202 */ mul.s $f8, $f8, $f12 +/* 3422DC E003019C 00000000 */ nop +/* 3422E0 E00301A0 460CE702 */ mul.s $f28, $f28, $f12 +/* 3422E4 E00301A4 00000000 */ nop +/* 3422E8 E00301A8 3C014100 */ lui $at, 0x4100 +/* 3422EC E00301AC 44810000 */ mtc1 $at, $f0 +/* 3422F0 E00301B0 00000000 */ nop +/* 3422F4 E00301B4 4600B582 */ mul.s $f22, $f22, $f0 +/* 3422F8 E00301B8 00000000 */ nop +/* 3422FC E00301BC 4600C602 */ mul.s $f24, $f24, $f0 +/* 342300 E00301C0 00000000 */ nop +/* 342304 E00301C4 4600D682 */ mul.s $f26, $f26, $f0 +/* 342308 E00301C8 00000000 */ nop +/* 34230C E00301CC 4600F782 */ mul.s $f30, $f30, $f0 +/* 342310 E00301D0 00000000 */ nop +/* 342314 E00301D4 0200202D */ daddu $a0, $s0, $zero +/* 342318 E00301D8 3C02E003 */ lui $v0, 0xe003 +/* 34231C E00301DC 24420728 */ addiu $v0, $v0, 0x728 +/* 342320 E00301E0 AC820008 */ sw $v0, 8($a0) +/* 342324 E00301E4 46004202 */ mul.s $f8, $f8, $f0 +/* 342328 E00301E8 00000000 */ nop +/* 34232C E00301EC 3C02E003 */ lui $v0, 0xe003 +/* 342330 E00301F0 24420730 */ addiu $v0, $v0, 0x730 +/* 342334 E00301F4 AC82000C */ sw $v0, 0xc($a0) +/* 342338 E00301F8 3C02E003 */ lui $v0, 0xe003 +/* 34233C E00301FC 24420A24 */ addiu $v0, $v0, 0xa24 +/* 342340 E0030200 AC800000 */ sw $zero, ($a0) +/* 342344 E0030204 4600E702 */ mul.s $f28, $f28, $f0 +/* 342348 E0030208 00000000 */ nop +/* 34234C E003020C E7A80070 */ swc1 $f8, 0x70($sp) +/* 342350 E0030210 AC820010 */ sw $v0, 0x10($a0) +/* 342354 E0030214 24020018 */ addiu $v0, $zero, 0x18 +/* 342358 E0030218 AC800014 */ sw $zero, 0x14($a0) +/* 34235C E003021C 0C080124 */ jal func_E0200490 +/* 342360 E0030220 AC820004 */ sw $v0, 4($a0) +/* 342364 E0030224 8FA800EC */ lw $t0, 0xec($sp) +/* 342368 E0030228 0040802D */ daddu $s0, $v0, $zero +/* 34236C E003022C 00082040 */ sll $a0, $t0, 1 +/* 342370 E0030230 00882021 */ addu $a0, $a0, $t0 +/* 342374 E0030234 00042100 */ sll $a0, $a0, 4 +/* 342378 E0030238 0C08012C */ jal func_E02004B0 +/* 34237C E003023C AE080008 */ sw $t0, 8($s0) +/* 342380 E0030240 0040982D */ daddu $s3, $v0, $zero +/* 342384 E0030244 16600003 */ bnez $s3, .LE0030254 +/* 342388 E0030248 AE13000C */ sw $s3, 0xc($s0) +.LE003024C: +/* 34238C E003024C 0800C093 */ j .LE003024C +/* 342390 E0030250 00000000 */ nop +.LE0030254: +/* 342394 E0030254 8FA800EC */ lw $t0, 0xec($sp) +/* 342398 E0030258 19000112 */ blez $t0, .LE00306A4 +/* 34239C E003025C 0000902D */ daddu $s2, $zero, $zero +/* 3423A0 E0030260 2511FFFF */ addiu $s1, $t0, -1 +/* 3423A4 E0030264 3C1E800B */ lui $fp, %hi(gCameras) +/* 3423A8 E0030268 27DE1D80 */ addiu $fp, $fp, %lo(gCameras) +/* 3423AC E003026C 3C178007 */ lui $s7, %hi(gCurrentCameraID) +/* 3423B0 E0030270 26F77410 */ addiu $s7, $s7, %lo(gCurrentCameraID) +/* 3423B4 E0030274 27A80030 */ addiu $t0, $sp, 0x30 +/* 3423B8 E0030278 AFA80074 */ sw $t0, 0x74($sp) +/* 3423BC E003027C 26700024 */ addiu $s0, $s3, 0x24 +/* 3423C0 E0030280 0240A82D */ daddu $s5, $s2, $zero +/* 3423C4 E0030284 0240A02D */ daddu $s4, $s2, $zero +.LE0030288: +/* 3423C8 E0030288 AE760000 */ sw $s6, ($s3) +/* 3423CC E003028C C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 3423D0 E0030290 E606FFE0 */ swc1 $f6, -0x20($s0) +/* 3423D4 E0030294 C7A800D8 */ lwc1 $f8, 0xd8($sp) +/* 3423D8 E0030298 E608FFE4 */ swc1 $f8, -0x1c($s0) +/* 3423DC E003029C C7A600DC */ lwc1 $f6, 0xdc($sp) +/* 3423E0 E00302A0 24020003 */ addiu $v0, $zero, 3 +/* 3423E4 E00302A4 12C20042 */ beq $s6, $v0, .LE00303B0 +/* 3423E8 E00302A8 E606FFE8 */ swc1 $f6, -0x18($s0) +/* 3423EC E00302AC 2AC20004 */ slti $v0, $s6, 4 +/* 3423F0 E00302B0 14400005 */ bnez $v0, .LE00302C8 +/* 3423F4 E00302B4 24020004 */ addiu $v0, $zero, 4 +/* 3423F8 E00302B8 12C2006E */ beq $s6, $v0, .LE0030474 +/* 3423FC E00302BC 2EC20005 */ sltiu $v0, $s6, 5 +/* 342400 E00302C0 0800C16C */ j .LE00305B0 +/* 342404 E00302C4 00000000 */ nop +.LE00302C8: +/* 342408 E00302C8 06C000B8 */ bltz $s6, .LE00305AC +/* 34240C E00302CC 27A40030 */ addiu $a0, $sp, 0x30 +/* 342410 E00302D0 16200002 */ bnez $s1, .LE00302DC +/* 342414 E00302D4 0291001A */ div $zero, $s4, $s1 +/* 342418 E00302D8 0007000D */ break 7 +.LE00302DC: +/* 34241C E00302DC 2401FFFF */ addiu $at, $zero, -1 +/* 342420 E00302E0 16210004 */ bne $s1, $at, .LE00302F4 +/* 342424 E00302E4 3C018000 */ lui $at, 0x8000 +/* 342428 E00302E8 16810002 */ bne $s4, $at, .LE00302F4 +/* 34242C E00302EC 00000000 */ nop +/* 342430 E00302F0 0006000D */ break 6 +.LE00302F4: +/* 342434 E00302F4 00001812 */ mflo $v1 +/* 342438 E00302F8 4406B000 */ mfc1 $a2, $f22 +/* 34243C E00302FC 4407C000 */ mfc1 $a3, $f24 +/* 342440 E0030300 44833000 */ mtc1 $v1, $f6 +/* 342444 E0030304 00000000 */ nop +/* 342448 E0030308 468031A0 */ cvt.s.w $f6, $f6 +/* 34244C E003030C 44053000 */ mfc1 $a1, $f6 +/* 342450 E0030310 0C080104 */ jal func_E0200410 +/* 342454 E0030314 E7BA0010 */ swc1 $f26, 0x10($sp) +/* 342458 E0030318 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 34245C E003031C 461E0002 */ mul.s $f0, $f0, $f30 +/* 342460 E0030320 00000000 */ nop +/* 342464 E0030324 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 342468 E0030328 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 34246C E003032C 46082102 */ mul.s $f4, $f4, $f8 +/* 342470 E0030330 00000000 */ nop +/* 342474 E0030334 C7A20050 */ lwc1 $f2, 0x50($sp) +/* 342478 E0030338 461C1082 */ mul.s $f2, $f2, $f28 +/* 34247C E003033C 00000000 */ nop +/* 342480 E0030340 4600B000 */ add.s $f0, $f22, $f0 +/* 342484 E0030344 46040000 */ add.s $f0, $f0, $f4 +/* 342488 E0030348 46020000 */ add.s $f0, $f0, $f2 +/* 34248C E003034C E600FFEC */ swc1 $f0, -0x14($s0) +/* 342490 E0030350 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 342494 E0030354 461E0002 */ mul.s $f0, $f0, $f30 +/* 342498 E0030358 00000000 */ nop +/* 34249C E003035C C7A40044 */ lwc1 $f4, 0x44($sp) +/* 3424A0 E0030360 46082102 */ mul.s $f4, $f4, $f8 +/* 3424A4 E0030364 00000000 */ nop +/* 3424A8 E0030368 C7A20054 */ lwc1 $f2, 0x54($sp) +/* 3424AC E003036C 461C1082 */ mul.s $f2, $f2, $f28 +/* 3424B0 E0030370 00000000 */ nop +/* 3424B4 E0030374 4600C000 */ add.s $f0, $f24, $f0 +/* 3424B8 E0030378 46040000 */ add.s $f0, $f0, $f4 +/* 3424BC E003037C 46020000 */ add.s $f0, $f0, $f2 +/* 3424C0 E0030380 E600FFF0 */ swc1 $f0, -0x10($s0) +/* 3424C4 E0030384 C7A00038 */ lwc1 $f0, 0x38($sp) +/* 3424C8 E0030388 461E0002 */ mul.s $f0, $f0, $f30 +/* 3424CC E003038C 00000000 */ nop +/* 3424D0 E0030390 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 3424D4 E0030394 46082102 */ mul.s $f4, $f4, $f8 +/* 3424D8 E0030398 00000000 */ nop +/* 3424DC E003039C C7A20058 */ lwc1 $f2, 0x58($sp) +/* 3424E0 E00303A0 461C1082 */ mul.s $f2, $f2, $f28 +/* 3424E4 E00303A4 00000000 */ nop +/* 3424E8 E00303A8 0800C168 */ j .LE00305A0 +/* 3424EC E00303AC 4600D000 */ add.s $f0, $f26, $f0 +.LE00303B0: +/* 3424F0 E00303B0 8EE30000 */ lw $v1, ($s7) +/* 3424F4 E00303B4 00031080 */ sll $v0, $v1, 2 +/* 3424F8 E00303B8 00431021 */ addu $v0, $v0, $v1 +/* 3424FC E00303BC 00021080 */ sll $v0, $v0, 2 +/* 342500 E00303C0 00431023 */ subu $v0, $v0, $v1 +/* 342504 E00303C4 000218C0 */ sll $v1, $v0, 3 +/* 342508 E00303C8 00431021 */ addu $v0, $v0, $v1 +/* 34250C E00303CC 000210C0 */ sll $v0, $v0, 3 +/* 342510 E00303D0 005E1021 */ addu $v0, $v0, $fp +/* 342514 E00303D4 0C080140 */ jal func_E0200500 +/* 342518 E00303D8 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 34251C E00303DC 8EE30000 */ lw $v1, ($s7) +/* 342520 E00303E0 00031080 */ sll $v0, $v1, 2 +/* 342524 E00303E4 00431021 */ addu $v0, $v0, $v1 +/* 342528 E00303E8 00021080 */ sll $v0, $v0, 2 +/* 34252C E00303EC 00431023 */ subu $v0, $v0, $v1 +/* 342530 E00303F0 000218C0 */ sll $v1, $v0, 3 +/* 342534 E00303F4 00431021 */ addu $v0, $v0, $v1 +/* 342538 E00303F8 000210C0 */ sll $v0, $v0, 3 +/* 34253C E00303FC 005E1021 */ addu $v0, $v0, $fp +/* 342540 E0030400 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 342544 E0030404 0C080144 */ jal func_E0200510 +/* 342548 E0030408 46000506 */ mov.s $f20, $f0 +/* 34254C E003040C 24020001 */ addiu $v0, $zero, 1 +/* 342550 E0030410 8FA800EC */ lw $t0, 0xec($sp) +/* 342554 E0030414 11020010 */ beq $t0, $v0, .LE0030458 +/* 342558 E0030418 46000007 */ neg.s $f0, $f0 +/* 34255C E003041C 16200002 */ bnez $s1, .LE0030428 +/* 342560 E0030420 02B1001A */ div $zero, $s5, $s1 +/* 342564 E0030424 0007000D */ break 7 +.LE0030428: +/* 342568 E0030428 2401FFFF */ addiu $at, $zero, -1 +/* 34256C E003042C 16210004 */ bne $s1, $at, .LE0030440 +/* 342570 E0030430 3C018000 */ lui $at, 0x8000 +/* 342574 E0030434 16A10002 */ bne $s5, $at, .LE0030440 +/* 342578 E0030438 00000000 */ nop +/* 34257C E003043C 0006000D */ break 6 +.LE0030440: +/* 342580 E0030440 00001012 */ mflo $v0 +/* 342584 E0030444 2442FFCE */ addiu $v0, $v0, -0x32 +/* 342588 E0030448 44821000 */ mtc1 $v0, $f2 +/* 34258C E003044C 00000000 */ nop +/* 342590 E0030450 0800C117 */ j .LE003045C +/* 342594 E0030454 468010A0 */ cvt.s.w $f2, $f2 +.LE0030458: +/* 342598 E0030458 44801000 */ mtc1 $zero, $f2 +.LE003045C: +/* 34259C E003045C 8FA40074 */ lw $a0, 0x74($sp) +/* 3425A0 E0030460 44051000 */ mfc1 $a1, $f2 +/* 3425A4 E0030464 4406A000 */ mfc1 $a2, $f20 +/* 3425A8 E0030468 0000382D */ daddu $a3, $zero, $zero +/* 3425AC E003046C 0800C145 */ j .LE0030514 +/* 3425B0 E0030470 E7A00010 */ swc1 $f0, 0x10($sp) +.LE0030474: +/* 3425B4 E0030474 8EE30000 */ lw $v1, ($s7) +/* 3425B8 E0030478 00031080 */ sll $v0, $v1, 2 +/* 3425BC E003047C 00431021 */ addu $v0, $v0, $v1 +/* 3425C0 E0030480 00021080 */ sll $v0, $v0, 2 +/* 3425C4 E0030484 00431023 */ subu $v0, $v0, $v1 +/* 3425C8 E0030488 000218C0 */ sll $v1, $v0, 3 +/* 3425CC E003048C 00431021 */ addu $v0, $v0, $v1 +/* 3425D0 E0030490 000210C0 */ sll $v0, $v0, 3 +/* 3425D4 E0030494 005E1021 */ addu $v0, $v0, $fp +/* 3425D8 E0030498 0C080140 */ jal func_E0200500 +/* 3425DC E003049C C44C006C */ lwc1 $f12, 0x6c($v0) +/* 3425E0 E00304A0 8EE30000 */ lw $v1, ($s7) +/* 3425E4 E00304A4 00031080 */ sll $v0, $v1, 2 +/* 3425E8 E00304A8 00431021 */ addu $v0, $v0, $v1 +/* 3425EC E00304AC 00021080 */ sll $v0, $v0, 2 +/* 3425F0 E00304B0 00431023 */ subu $v0, $v0, $v1 +/* 3425F4 E00304B4 000218C0 */ sll $v1, $v0, 3 +/* 3425F8 E00304B8 00431021 */ addu $v0, $v0, $v1 +/* 3425FC E00304BC 000210C0 */ sll $v0, $v0, 3 +/* 342600 E00304C0 005E1021 */ addu $v0, $v0, $fp +/* 342604 E00304C4 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 342608 E00304C8 0C080144 */ jal func_E0200510 +/* 34260C E00304CC 46000506 */ mov.s $f20, $f0 +/* 342610 E00304D0 3C0143B4 */ lui $at, 0x43b4 +/* 342614 E00304D4 44811000 */ mtc1 $at, $f2 +/* 342618 E00304D8 44922000 */ mtc1 $s2, $f4 +/* 34261C E00304DC 00000000 */ nop +/* 342620 E00304E0 46802120 */ cvt.s.w $f4, $f4 +/* 342624 E00304E4 46022102 */ mul.s $f4, $f4, $f2 +/* 342628 E00304E8 00000000 */ nop +/* 34262C E00304EC 27A40030 */ addiu $a0, $sp, 0x30 +/* 342630 E00304F0 46000007 */ neg.s $f0, $f0 +/* 342634 E00304F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 342638 E00304F8 44910000 */ mtc1 $s1, $f0 +/* 34263C E00304FC 00000000 */ nop +/* 342640 E0030500 46800020 */ cvt.s.w $f0, $f0 +/* 342644 E0030504 4406A000 */ mfc1 $a2, $f20 +/* 342648 E0030508 46002103 */ div.s $f4, $f4, $f0 +/* 34264C E003050C 44052000 */ mfc1 $a1, $f4 +/* 342650 E0030510 0000382D */ daddu $a3, $zero, $zero +.LE0030514: +/* 342654 E0030514 0C080104 */ jal func_E0200410 +/* 342658 E0030518 00000000 */ nop +/* 34265C E003051C C7A00030 */ lwc1 $f0, 0x30($sp) +/* 342660 E0030520 46160002 */ mul.s $f0, $f0, $f22 +/* 342664 E0030524 00000000 */ nop +/* 342668 E0030528 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 34266C E003052C 46182102 */ mul.s $f4, $f4, $f24 +/* 342670 E0030530 00000000 */ nop +/* 342674 E0030534 C7A20050 */ lwc1 $f2, 0x50($sp) +/* 342678 E0030538 461A1082 */ mul.s $f2, $f2, $f26 +/* 34267C E003053C 00000000 */ nop +/* 342680 E0030540 46040000 */ add.s $f0, $f0, $f4 +/* 342684 E0030544 46020000 */ add.s $f0, $f0, $f2 +/* 342688 E0030548 E600FFEC */ swc1 $f0, -0x14($s0) +/* 34268C E003054C C7A00034 */ lwc1 $f0, 0x34($sp) +/* 342690 E0030550 46160002 */ mul.s $f0, $f0, $f22 +/* 342694 E0030554 00000000 */ nop +/* 342698 E0030558 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 34269C E003055C 46182102 */ mul.s $f4, $f4, $f24 +/* 3426A0 E0030560 00000000 */ nop +/* 3426A4 E0030564 C7A20054 */ lwc1 $f2, 0x54($sp) +/* 3426A8 E0030568 461A1082 */ mul.s $f2, $f2, $f26 +/* 3426AC E003056C 00000000 */ nop +/* 3426B0 E0030570 46040000 */ add.s $f0, $f0, $f4 +/* 3426B4 E0030574 46020000 */ add.s $f0, $f0, $f2 +/* 3426B8 E0030578 E600FFF0 */ swc1 $f0, -0x10($s0) +/* 3426BC E003057C C7A00038 */ lwc1 $f0, 0x38($sp) +/* 3426C0 E0030580 46160002 */ mul.s $f0, $f0, $f22 +/* 3426C4 E0030584 00000000 */ nop +/* 3426C8 E0030588 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 3426CC E003058C 46182102 */ mul.s $f4, $f4, $f24 +/* 3426D0 E0030590 00000000 */ nop +/* 3426D4 E0030594 C7A20058 */ lwc1 $f2, 0x58($sp) +/* 3426D8 E0030598 461A1082 */ mul.s $f2, $f2, $f26 +/* 3426DC E003059C 00000000 */ nop +.LE00305A0: +/* 3426E0 E00305A0 46040000 */ add.s $f0, $f0, $f4 +/* 3426E4 E00305A4 46020000 */ add.s $f0, $f0, $f2 +/* 3426E8 E00305A8 E600FFF4 */ swc1 $f0, -0xc($s0) +.LE00305AC: +/* 3426EC E00305AC 2EC20005 */ sltiu $v0, $s6, 5 +.LE00305B0: +/* 3426F0 E00305B0 10400030 */ beqz $v0, .LE0030674 +/* 3426F4 E00305B4 00161080 */ sll $v0, $s6, 2 +/* 3426F8 E00305B8 3C08E003 */ lui $t0, 0xe003 +/* 3426FC E00305BC 25080EC0 */ addiu $t0, $t0, 0xec0 +/* 342700 E00305C0 00481021 */ addu $v0, $v0, $t0 +/* 342704 E00305C4 8C420000 */ lw $v0, ($v0) +/* 342708 E00305C8 00400008 */ jr $v0 +/* 34270C E00305CC 00000000 */ nop +/* 342710 E00305D0 24080018 */ addiu $t0, $zero, 0x18 +/* 342714 E00305D4 0800C19C */ j .LE0030670 +/* 342718 E00305D8 AE00FFFC */ sw $zero, -4($s0) +/* 34271C E00305DC 3C0141A0 */ lui $at, 0x41a0 +/* 342720 E00305E0 44813000 */ mtc1 $at, $f6 +/* 342724 E00305E4 24080018 */ addiu $t0, $zero, 0x18 +/* 342728 E00305E8 AE080004 */ sw $t0, 4($s0) +/* 34272C E00305EC 0800C19D */ j .LE0030674 +/* 342730 E00305F0 E606FFFC */ swc1 $f6, -4($s0) +/* 342734 E00305F4 C604FFEC */ lwc1 $f4, -0x14($s0) +/* 342738 E00305F8 3C013FE0 */ lui $at, 0x3fe0 +/* 34273C E00305FC 44813800 */ mtc1 $at, $f7 +/* 342740 E0030600 44803000 */ mtc1 $zero, $f6 +/* 342744 E0030604 46002121 */ cvt.d.s $f4, $f4 +/* 342748 E0030608 46262102 */ mul.d $f4, $f4, $f6 +/* 34274C E003060C 00000000 */ nop +/* 342750 E0030610 C602FFF0 */ lwc1 $f2, -0x10($s0) +/* 342754 E0030614 460010A1 */ cvt.d.s $f2, $f2 +/* 342758 E0030618 46261082 */ mul.d $f2, $f2, $f6 +/* 34275C E003061C 00000000 */ nop +/* 342760 E0030620 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 342764 E0030624 46000021 */ cvt.d.s $f0, $f0 +/* 342768 E0030628 46260002 */ mul.d $f0, $f0, $f6 +/* 34276C E003062C 00000000 */ nop +/* 342770 E0030630 3C0141A0 */ lui $at, 0x41a0 +/* 342774 E0030634 44814000 */ mtc1 $at, $f8 +/* 342778 E0030638 24020028 */ addiu $v0, $zero, 0x28 +/* 34277C E003063C AE020004 */ sw $v0, 4($s0) +/* 342780 E0030640 E608FFFC */ swc1 $f8, -4($s0) +/* 342784 E0030644 46202120 */ cvt.s.d $f4, $f4 +/* 342788 E0030648 462010A0 */ cvt.s.d $f2, $f2 +/* 34278C E003064C 46200020 */ cvt.s.d $f0, $f0 +/* 342790 E0030650 E604FFEC */ swc1 $f4, -0x14($s0) +/* 342794 E0030654 E602FFF0 */ swc1 $f2, -0x10($s0) +/* 342798 E0030658 0800C19D */ j .LE0030674 +/* 34279C E003065C E600FFF4 */ swc1 $f0, -0xc($s0) +/* 3427A0 E0030660 3C0141A0 */ lui $at, 0x41a0 +/* 3427A4 E0030664 44813000 */ mtc1 $at, $f6 +/* 3427A8 E0030668 24080018 */ addiu $t0, $zero, 0x18 +/* 3427AC E003066C E606FFFC */ swc1 $f6, -4($s0) +.LE0030670: +/* 3427B0 E0030670 AE080004 */ sw $t0, 4($s0) +.LE0030674: +/* 3427B4 E0030674 26B50064 */ addiu $s5, $s5, 0x64 +/* 3427B8 E0030678 26940168 */ addiu $s4, $s4, 0x168 +/* 3427BC E003067C 26520001 */ addiu $s2, $s2, 1 +/* 3427C0 E0030680 240200FF */ addiu $v0, $zero, 0xff +/* 3427C4 E0030684 AE00FFF8 */ sw $zero, -8($s0) +/* 3427C8 E0030688 AE000008 */ sw $zero, 8($s0) +/* 3427CC E003068C AE020000 */ sw $v0, ($s0) +/* 3427D0 E0030690 26100030 */ addiu $s0, $s0, 0x30 +/* 3427D4 E0030694 8FA800EC */ lw $t0, 0xec($sp) +/* 3427D8 E0030698 0248102A */ slt $v0, $s2, $t0 +/* 3427DC E003069C 1440FEFA */ bnez $v0, .LE0030288 +/* 3427E0 E00306A0 26730030 */ addiu $s3, $s3, 0x30 +.LE00306A4: +/* 3427E4 E00306A4 3C02E003 */ lui $v0, 0xe003 +/* 3427E8 E00306A8 24420EB4 */ addiu $v0, $v0, 0xeb4 +/* 3427EC E00306AC C4400000 */ lwc1 $f0, ($v0) +/* 3427F0 E00306B0 3C014170 */ lui $at, 0x4170 +/* 3427F4 E00306B4 44811000 */ mtc1 $at, $f2 +/* 3427F8 E00306B8 00000000 */ nop +/* 3427FC E00306BC 46020000 */ add.s $f0, $f0, $f2 +/* 342800 E00306C0 3C0143B4 */ lui $at, 0x43b4 +/* 342804 E00306C4 44811000 */ mtc1 $at, $f2 +/* 342808 E00306C8 00000000 */ nop +/* 34280C E00306CC 4600103C */ c.lt.s $f2, $f0 +/* 342810 E00306D0 00000000 */ nop +/* 342814 E00306D4 45000002 */ bc1f .LE00306E0 +/* 342818 E00306D8 E4400000 */ swc1 $f0, ($v0) +/* 34281C E00306DC AC400000 */ sw $zero, ($v0) +.LE00306E0: +/* 342820 E00306E0 8FBF009C */ lw $ra, 0x9c($sp) +/* 342824 E00306E4 8FBE0098 */ lw $fp, 0x98($sp) +/* 342828 E00306E8 8FB70094 */ lw $s7, 0x94($sp) +/* 34282C E00306EC 8FB60090 */ lw $s6, 0x90($sp) +/* 342830 E00306F0 8FB5008C */ lw $s5, 0x8c($sp) +/* 342834 E00306F4 8FB40088 */ lw $s4, 0x88($sp) +/* 342838 E00306F8 8FB30084 */ lw $s3, 0x84($sp) +/* 34283C E00306FC 8FB20080 */ lw $s2, 0x80($sp) +/* 342840 E0030700 8FB1007C */ lw $s1, 0x7c($sp) +/* 342844 E0030704 8FB00078 */ lw $s0, 0x78($sp) +/* 342848 E0030708 D7BE00C8 */ ldc1 $f30, 0xc8($sp) +/* 34284C E003070C D7BC00C0 */ ldc1 $f28, 0xc0($sp) +/* 342850 E0030710 D7BA00B8 */ ldc1 $f26, 0xb8($sp) +/* 342854 E0030714 D7B800B0 */ ldc1 $f24, 0xb0($sp) +/* 342858 E0030718 D7B600A8 */ ldc1 $f22, 0xa8($sp) +/* 34285C E003071C D7B400A0 */ ldc1 $f20, 0xa0($sp) +/* 342860 E0030720 03E00008 */ jr $ra +/* 342864 E0030724 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/asm/nonmatchings/code_342140/func_E0030728.s b/asm/nonmatchings/code_342140/func_E0030728.s new file mode 100644 index 0000000000..c53a07e380 --- /dev/null +++ b/asm/nonmatchings/code_342140/func_E0030728.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0030728 +/* 342868 E0030728 03E00008 */ jr $ra +/* 34286C E003072C 00000000 */ nop diff --git a/asm/nonmatchings/code_342140/func_E0030730.s b/asm/nonmatchings/code_342140/func_E0030730.s new file mode 100644 index 0000000000..5c9821b9d0 --- /dev/null +++ b/asm/nonmatchings/code_342140/func_E0030730.s @@ -0,0 +1,201 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0030730 +/* 342870 E0030730 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 342874 E0030734 AFB40020 */ sw $s4, 0x20($sp) +/* 342878 E0030738 0080A02D */ daddu $s4, $a0, $zero +/* 34287C E003073C AFBF002C */ sw $ra, 0x2c($sp) +/* 342880 E0030740 AFB60028 */ sw $s6, 0x28($sp) +/* 342884 E0030744 AFB50024 */ sw $s5, 0x24($sp) +/* 342888 E0030748 AFB3001C */ sw $s3, 0x1c($sp) +/* 34288C E003074C AFB20018 */ sw $s2, 0x18($sp) +/* 342890 E0030750 AFB10014 */ sw $s1, 0x14($sp) +/* 342894 E0030754 AFB00010 */ sw $s0, 0x10($sp) +/* 342898 E0030758 F7BA0048 */ sdc1 $f26, 0x48($sp) +/* 34289C E003075C F7B80040 */ sdc1 $f24, 0x40($sp) +/* 3428A0 E0030760 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 3428A4 E0030764 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 3428A8 E0030768 8E91000C */ lw $s1, 0xc($s4) +/* 3428AC E003076C 8E220028 */ lw $v0, 0x28($s1) +/* 3428B0 E0030770 2442FFFF */ addiu $v0, $v0, -1 +/* 3428B4 E0030774 AE220028 */ sw $v0, 0x28($s1) +/* 3428B8 E0030778 8E22002C */ lw $v0, 0x2c($s1) +/* 3428BC E003077C 8E240028 */ lw $a0, 0x28($s1) +/* 3428C0 E0030780 24430001 */ addiu $v1, $v0, 1 +/* 3428C4 E0030784 04810005 */ bgez $a0, .LE003079C +/* 3428C8 E0030788 AE23002C */ sw $v1, 0x2c($s1) +/* 3428CC E003078C 0C080128 */ jal func_E02004A0 +/* 3428D0 E0030790 0280202D */ daddu $a0, $s4, $zero +/* 3428D4 E0030794 0800C27B */ j .LE00309EC +/* 3428D8 E0030798 00000000 */ nop +.LE003079C: +/* 3428DC E003079C 0000902D */ daddu $s2, $zero, $zero +/* 3428E0 E00307A0 8E820008 */ lw $v0, 8($s4) +/* 3428E4 E00307A4 18400091 */ blez $v0, .LE00309EC +/* 3428E8 E00307A8 0080982D */ daddu $s3, $a0, $zero +/* 3428EC E00307AC 00031040 */ sll $v0, $v1, 1 +/* 3428F0 E00307B0 00431021 */ addu $v0, $v0, $v1 +/* 3428F4 E00307B4 0002B040 */ sll $s6, $v0, 1 +/* 3428F8 E00307B8 2662FFFA */ addiu $v0, $s3, -6 +/* 3428FC E00307BC 2C55000E */ sltiu $s5, $v0, 0xe +/* 342900 E00307C0 2630001C */ addiu $s0, $s1, 0x1c +/* 342904 E00307C4 3C01E003 */ lui $at, 0xe003 +/* 342908 E00307C8 D43A0ED8 */ ldc1 $f26, 0xed8($at) +/* 34290C E00307CC 3C01E003 */ lui $at, 0xe003 +/* 342910 E00307D0 D4340EE0 */ ldc1 $f20, 0xee0($at) +/* 342914 E00307D4 3C01E003 */ lui $at, 0xe003 +/* 342918 E00307D8 D4380EE8 */ ldc1 $f24, 0xee8($at) +/* 34291C E00307DC 3C01E003 */ lui $at, 0xe003 +/* 342920 E00307E0 D4360EF0 */ ldc1 $f22, 0xef0($at) +.LE00307E4: +/* 342924 E00307E4 8E230000 */ lw $v1, ($s1) +/* 342928 E00307E8 24020002 */ addiu $v0, $zero, 2 +/* 34292C E00307EC 14620029 */ bne $v1, $v0, .LE0030894 +/* 342930 E00307F0 2A620006 */ slti $v0, $s3, 6 +/* 342934 E00307F4 44966000 */ mtc1 $s6, $f12 +/* 342938 E00307F8 00000000 */ nop +/* 34293C E00307FC 0C080144 */ jal func_E0200510 +/* 342940 E0030800 46806320 */ cvt.s.w $f12, $f12 +/* 342944 E0030804 C604FFF4 */ lwc1 $f4, -0xc($s0) +/* 342948 E0030808 46002121 */ cvt.d.s $f4, $f4 +/* 34294C E003080C 463A2102 */ mul.d $f4, $f4, $f26 +/* 342950 E0030810 00000000 */ nop +/* 342954 E0030814 3C014080 */ lui $at, 0x4080 +/* 342958 E0030818 44811000 */ mtc1 $at, $f2 +/* 34295C E003081C 00000000 */ nop +/* 342960 E0030820 46020002 */ mul.s $f0, $f0, $f2 +/* 342964 E0030824 00000000 */ nop +/* 342968 E0030828 C602FFFC */ lwc1 $f2, -4($s0) +/* 34296C E003082C 460010A1 */ cvt.d.s $f2, $f2 +/* 342970 E0030830 463A1082 */ mul.d $f2, $f2, $f26 +/* 342974 E0030834 00000000 */ nop +/* 342978 E0030838 E600FFF8 */ swc1 $f0, -8($s0) +/* 34297C E003083C 46202120 */ cvt.s.d $f4, $f4 +/* 342980 E0030840 E604FFF4 */ swc1 $f4, -0xc($s0) +/* 342984 E0030844 46000106 */ mov.s $f4, $f0 +/* 342988 E0030848 44800000 */ mtc1 $zero, $f0 +/* 34298C E003084C 462010A0 */ cvt.s.d $f2, $f2 +/* 342990 E0030850 4600203C */ c.lt.s $f4, $f0 +/* 342994 E0030854 00000000 */ nop +/* 342998 E0030858 4500004E */ bc1f .LE0030994 +/* 34299C E003085C E602FFFC */ swc1 $f2, -4($s0) +/* 3429A0 E0030860 C6020008 */ lwc1 $f2, 8($s0) +/* 3429A4 E0030864 468010A1 */ cvt.d.w $f2, $f2 +/* 3429A8 E0030868 46381082 */ mul.d $f2, $f2, $f24 +/* 3429AC E003086C 00000000 */ nop +/* 3429B0 E0030870 C6000004 */ lwc1 $f0, 4($s0) +/* 3429B4 E0030874 46000021 */ cvt.d.s $f0, $f0 +/* 3429B8 E0030878 46340002 */ mul.d $f0, $f0, $f20 +/* 3429BC E003087C 00000000 */ nop +/* 3429C0 E0030880 4620128D */ trunc.w.d $f10, $f2 +/* 3429C4 E0030884 E60A0008 */ swc1 $f10, 8($s0) +/* 3429C8 E0030888 46200020 */ cvt.s.d $f0, $f0 +/* 3429CC E003088C 0800C265 */ j .LE0030994 +/* 3429D0 E0030890 E6000004 */ swc1 $f0, 4($s0) +.LE0030894: +/* 3429D4 E0030894 14400013 */ bnez $v0, .LE00308E4 +/* 3429D8 E0030898 00000000 */ nop +/* 3429DC E003089C C604FFF4 */ lwc1 $f4, -0xc($s0) +/* 3429E0 E00308A0 46002121 */ cvt.d.s $f4, $f4 +/* 3429E4 E00308A4 46342102 */ mul.d $f4, $f4, $f20 +/* 3429E8 E00308A8 00000000 */ nop +/* 3429EC E00308AC C602FFF8 */ lwc1 $f2, -8($s0) +/* 3429F0 E00308B0 460010A1 */ cvt.d.s $f2, $f2 +/* 3429F4 E00308B4 46341082 */ mul.d $f2, $f2, $f20 +/* 3429F8 E00308B8 00000000 */ nop +/* 3429FC E00308BC C600FFFC */ lwc1 $f0, -4($s0) +/* 342A00 E00308C0 46000021 */ cvt.d.s $f0, $f0 +/* 342A04 E00308C4 46340002 */ mul.d $f0, $f0, $f20 +/* 342A08 E00308C8 00000000 */ nop +/* 342A0C E00308CC 46202120 */ cvt.s.d $f4, $f4 +/* 342A10 E00308D0 462010A0 */ cvt.s.d $f2, $f2 +/* 342A14 E00308D4 46200020 */ cvt.s.d $f0, $f0 +/* 342A18 E00308D8 E604FFF4 */ swc1 $f4, -0xc($s0) +/* 342A1C E00308DC E602FFF8 */ swc1 $f2, -8($s0) +/* 342A20 E00308E0 E600FFFC */ swc1 $f0, -4($s0) +.LE00308E4: +/* 342A24 E00308E4 12A0000B */ beqz $s5, .LE0030914 +/* 342A28 E00308E8 2A620005 */ slti $v0, $s3, 5 +/* 342A2C E00308EC 8E220000 */ lw $v0, ($s1) +/* 342A30 E00308F0 54400029 */ bnel $v0, $zero, .LE0030998 +/* 342A34 E00308F4 26520001 */ addiu $s2, $s2, 1 +/* 342A38 E00308F8 C6000004 */ lwc1 $f0, 4($s0) +/* 342A3C E00308FC 3C013F80 */ lui $at, 0x3f80 +/* 342A40 E0030900 44811000 */ mtc1 $at, $f2 +/* 342A44 E0030904 00000000 */ nop +/* 342A48 E0030908 46020000 */ add.s $f0, $f0, $f2 +/* 342A4C E003090C 0800C265 */ j .LE0030994 +/* 342A50 E0030910 E6000004 */ swc1 $f0, 4($s0) +.LE0030914: +/* 342A54 E0030914 50400020 */ beql $v0, $zero, .LE0030998 +/* 342A58 E0030918 26520001 */ addiu $s2, $s2, 1 +/* 342A5C E003091C C6080008 */ lwc1 $f8, 8($s0) +/* 342A60 E0030920 46804221 */ cvt.d.w $f8, $f8 +/* 342A64 E0030924 46384202 */ mul.d $f8, $f8, $f24 +/* 342A68 E0030928 00000000 */ nop +/* 342A6C E003092C C6060004 */ lwc1 $f6, 4($s0) +/* 342A70 E0030930 460031A1 */ cvt.d.s $f6, $f6 +/* 342A74 E0030934 46343182 */ mul.d $f6, $f6, $f20 +/* 342A78 E0030938 00000000 */ nop +/* 342A7C E003093C C604FFF4 */ lwc1 $f4, -0xc($s0) +/* 342A80 E0030940 46002121 */ cvt.d.s $f4, $f4 +/* 342A84 E0030944 46362102 */ mul.d $f4, $f4, $f22 +/* 342A88 E0030948 00000000 */ nop +/* 342A8C E003094C C602FFF8 */ lwc1 $f2, -8($s0) +/* 342A90 E0030950 460010A1 */ cvt.d.s $f2, $f2 +/* 342A94 E0030954 46361082 */ mul.d $f2, $f2, $f22 +/* 342A98 E0030958 00000000 */ nop +/* 342A9C E003095C C600FFFC */ lwc1 $f0, -4($s0) +/* 342AA0 E0030960 46000021 */ cvt.d.s $f0, $f0 +/* 342AA4 E0030964 46360002 */ mul.d $f0, $f0, $f22 +/* 342AA8 E0030968 00000000 */ nop +/* 342AAC E003096C 4620428D */ trunc.w.d $f10, $f8 +/* 342AB0 E0030970 E60A0008 */ swc1 $f10, 8($s0) +/* 342AB4 E0030974 462031A0 */ cvt.s.d $f6, $f6 +/* 342AB8 E0030978 46202120 */ cvt.s.d $f4, $f4 +/* 342ABC E003097C 462010A0 */ cvt.s.d $f2, $f2 +/* 342AC0 E0030980 46200020 */ cvt.s.d $f0, $f0 +/* 342AC4 E0030984 E6060004 */ swc1 $f6, 4($s0) +/* 342AC8 E0030988 E604FFF4 */ swc1 $f4, -0xc($s0) +/* 342ACC E003098C E602FFF8 */ swc1 $f2, -8($s0) +/* 342AD0 E0030990 E600FFFC */ swc1 $f0, -4($s0) +.LE0030994: +/* 342AD4 E0030994 26520001 */ addiu $s2, $s2, 1 +.LE0030998: +/* 342AD8 E0030998 C608FFE8 */ lwc1 $f8, -0x18($s0) +/* 342ADC E003099C C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 342AE0 E00309A0 C606FFEC */ lwc1 $f6, -0x14($s0) +/* 342AE4 E00309A4 46004200 */ add.s $f8, $f8, $f0 +/* 342AE8 E00309A8 C600FFF8 */ lwc1 $f0, -8($s0) +/* 342AEC E00309AC C604FFF0 */ lwc1 $f4, -0x10($s0) +/* 342AF0 E00309B0 46003180 */ add.s $f6, $f6, $f0 +/* 342AF4 E00309B4 C600FFFC */ lwc1 $f0, -4($s0) +/* 342AF8 E00309B8 C6020004 */ lwc1 $f2, 4($s0) +/* 342AFC E00309BC 46002100 */ add.s $f4, $f4, $f0 +/* 342B00 E00309C0 C6000000 */ lwc1 $f0, ($s0) +/* 342B04 E00309C4 26310030 */ addiu $s1, $s1, 0x30 +/* 342B08 E00309C8 E608FFE8 */ swc1 $f8, -0x18($s0) +/* 342B0C E00309CC 46020000 */ add.s $f0, $f0, $f2 +/* 342B10 E00309D0 E606FFEC */ swc1 $f6, -0x14($s0) +/* 342B14 E00309D4 E604FFF0 */ swc1 $f4, -0x10($s0) +/* 342B18 E00309D8 E6000000 */ swc1 $f0, ($s0) +/* 342B1C E00309DC 8E820008 */ lw $v0, 8($s4) +/* 342B20 E00309E0 0242102A */ slt $v0, $s2, $v0 +/* 342B24 E00309E4 1440FF7F */ bnez $v0, .LE00307E4 +/* 342B28 E00309E8 26100030 */ addiu $s0, $s0, 0x30 +.LE00309EC: +/* 342B2C E00309EC 8FBF002C */ lw $ra, 0x2c($sp) +/* 342B30 E00309F0 8FB60028 */ lw $s6, 0x28($sp) +/* 342B34 E00309F4 8FB50024 */ lw $s5, 0x24($sp) +/* 342B38 E00309F8 8FB40020 */ lw $s4, 0x20($sp) +/* 342B3C E00309FC 8FB3001C */ lw $s3, 0x1c($sp) +/* 342B40 E0030A00 8FB20018 */ lw $s2, 0x18($sp) +/* 342B44 E0030A04 8FB10014 */ lw $s1, 0x14($sp) +/* 342B48 E0030A08 8FB00010 */ lw $s0, 0x10($sp) +/* 342B4C E0030A0C D7BA0048 */ ldc1 $f26, 0x48($sp) +/* 342B50 E0030A10 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 342B54 E0030A14 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 342B58 E0030A18 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 342B5C E0030A1C 03E00008 */ jr $ra +/* 342B60 E0030A20 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_342140/func_E0030A24.s b/asm/nonmatchings/code_342140/func_E0030A24.s new file mode 100644 index 0000000000..c03f9619d0 --- /dev/null +++ b/asm/nonmatchings/code_342140/func_E0030A24.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0030A24 +/* 342B64 E0030A24 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 342B68 E0030A28 3C02E003 */ lui $v0, 0xe003 +/* 342B6C E0030A2C 24420A68 */ addiu $v0, $v0, 0xa68 +/* 342B70 E0030A30 AFA2001C */ sw $v0, 0x1c($sp) +/* 342B74 E0030A34 2402002D */ addiu $v0, $zero, 0x2d +/* 342B78 E0030A38 AFA40018 */ sw $a0, 0x18($sp) +/* 342B7C E0030A3C 27A40010 */ addiu $a0, $sp, 0x10 +/* 342B80 E0030A40 AFBF0020 */ sw $ra, 0x20($sp) +/* 342B84 E0030A44 AFA00014 */ sw $zero, 0x14($sp) +/* 342B88 E0030A48 0C080120 */ jal func_E0200480 +/* 342B8C E0030A4C AFA20010 */ sw $v0, 0x10($sp) +/* 342B90 E0030A50 8C430000 */ lw $v1, ($v0) +/* 342B94 E0030A54 34630002 */ ori $v1, $v1, 2 +/* 342B98 E0030A58 AC430000 */ sw $v1, ($v0) +/* 342B9C E0030A5C 8FBF0020 */ lw $ra, 0x20($sp) +/* 342BA0 E0030A60 03E00008 */ jr $ra +/* 342BA4 E0030A64 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_342140/func_E0030A68.s b/asm/nonmatchings/code_342140/func_E0030A68.s new file mode 100644 index 0000000000..c94402ebf5 --- /dev/null +++ b/asm/nonmatchings/code_342140/func_E0030A68.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0030A68 +/* 342BA8 E0030A68 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 342BAC E0030A6C 3C05DB06 */ lui $a1, 0xdb06 +/* 342BB0 E0030A70 34A50024 */ ori $a1, $a1, 0x24 +/* 342BB4 E0030A74 3C09800A */ lui $t1, 0x800a +/* 342BB8 E0030A78 2529A66C */ addiu $t1, $t1, -0x5994 +/* 342BBC E0030A7C 3C0638E3 */ lui $a2, 0x38e3 +/* 342BC0 E0030A80 3C02E700 */ lui $v0, 0xe700 +/* 342BC4 E0030A84 AFBF00CC */ sw $ra, 0xcc($sp) +/* 342BC8 E0030A88 AFBE00C8 */ sw $fp, 0xc8($sp) +/* 342BCC E0030A8C AFB700C4 */ sw $s7, 0xc4($sp) +/* 342BD0 E0030A90 AFB600C0 */ sw $s6, 0xc0($sp) +/* 342BD4 E0030A94 AFB500BC */ sw $s5, 0xbc($sp) +/* 342BD8 E0030A98 AFB400B8 */ sw $s4, 0xb8($sp) +/* 342BDC E0030A9C AFB300B4 */ sw $s3, 0xb4($sp) +/* 342BE0 E0030AA0 AFB200B0 */ sw $s2, 0xb0($sp) +/* 342BE4 E0030AA4 AFB100AC */ sw $s1, 0xac($sp) +/* 342BE8 E0030AA8 AFB000A8 */ sw $s0, 0xa8($sp) +/* 342BEC E0030AAC F7B600D8 */ sdc1 $f22, 0xd8($sp) +/* 342BF0 E0030AB0 F7B400D0 */ sdc1 $f20, 0xd0($sp) +/* 342BF4 E0030AB4 AFA400E0 */ sw $a0, 0xe0($sp) +/* 342BF8 E0030AB8 8D240000 */ lw $a0, ($t1) +/* 342BFC E0030ABC 8FAA00E0 */ lw $t2, 0xe0($sp) +/* 342C00 E0030AC0 0080182D */ daddu $v1, $a0, $zero +/* 342C04 E0030AC4 8D47000C */ lw $a3, 0xc($t2) +/* 342C08 E0030AC8 24840008 */ addiu $a0, $a0, 8 +/* 342C0C E0030ACC AC620000 */ sw $v0, ($v1) +/* 342C10 E0030AD0 AC600004 */ sw $zero, 4($v1) +/* 342C14 E0030AD4 AC850000 */ sw $a1, ($a0) +/* 342C18 E0030AD8 8D420010 */ lw $v0, 0x10($t2) +/* 342C1C E0030ADC 34C68E39 */ ori $a2, $a2, 0x8e39 +/* 342C20 E0030AE0 8C43001C */ lw $v1, 0x1c($v0) +/* 342C24 E0030AE4 3C02DE00 */ lui $v0, 0xde00 +/* 342C28 E0030AE8 AC820008 */ sw $v0, 8($a0) +/* 342C2C E0030AEC 3C020900 */ lui $v0, 0x900 +/* 342C30 E0030AF0 244204C0 */ addiu $v0, $v0, 0x4c0 +/* 342C34 E0030AF4 AC82000C */ sw $v0, 0xc($a0) +/* 342C38 E0030AF8 3C028000 */ lui $v0, 0x8000 +/* 342C3C E0030AFC 00621821 */ addu $v1, $v1, $v0 +/* 342C40 E0030B00 AC830004 */ sw $v1, 4($a0) +/* 342C44 E0030B04 8CE2002C */ lw $v0, 0x2c($a3) +/* 342C48 E0030B08 0000A82D */ daddu $s5, $zero, $zero +/* 342C4C E0030B0C AD240000 */ sw $a0, ($t1) +/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, -1 +/* 342C54 E0030B14 00021840 */ sll $v1, $v0, 1 +/* 342C58 E0030B18 0062A021 */ addu $s4, $v1, $v0 +/* 342C5C E0030B1C 24820008 */ addiu $v0, $a0, 8 +/* 342C60 E0030B20 02860018 */ mult $s4, $a2 +/* 342C64 E0030B24 24840010 */ addiu $a0, $a0, 0x10 +/* 342C68 E0030B28 AD220000 */ sw $v0, ($t1) +/* 342C6C E0030B2C 001417C3 */ sra $v0, $s4, 0x1f +/* 342C70 E0030B30 AD240000 */ sw $a0, ($t1) +/* 342C74 E0030B34 00005010 */ mfhi $t2 +/* 342C78 E0030B38 000A18C3 */ sra $v1, $t2, 3 +/* 342C7C E0030B3C 00621823 */ subu $v1, $v1, $v0 +/* 342C80 E0030B40 000310C0 */ sll $v0, $v1, 3 +/* 342C84 E0030B44 00431021 */ addu $v0, $v0, $v1 +/* 342C88 E0030B48 8FAA00E0 */ lw $t2, 0xe0($sp) +/* 342C8C E0030B4C 00021080 */ sll $v0, $v0, 2 +/* 342C90 E0030B50 8D430008 */ lw $v1, 8($t2) +/* 342C94 E0030B54 186000BE */ blez $v1, .LE0030E50 +/* 342C98 E0030B58 0282A023 */ subu $s4, $s4, $v0 +/* 342C9C E0030B5C 0120882D */ daddu $s1, $t1, $zero +/* 342CA0 E0030B60 3C0A38E3 */ lui $t2, 0x38e3 +/* 342CA4 E0030B64 354A8E39 */ ori $t2, $t2, 0x8e39 +/* 342CA8 E0030B68 AFAA0098 */ sw $t2, 0x98($sp) +/* 342CAC E0030B6C 27AA0058 */ addiu $t2, $sp, 0x58 +/* 342CB0 E0030B70 3C168007 */ lui $s6, 0x8007 +/* 342CB4 E0030B74 26D641F0 */ addiu $s6, $s6, 0x41f0 +/* 342CB8 E0030B78 3C130001 */ lui $s3, 1 +/* 342CBC E0030B7C 36731630 */ ori $s3, $s3, 0x1630 +/* 342CC0 E0030B80 AFAA009C */ sw $t2, 0x9c($sp) +/* 342CC4 E0030B84 3C0AD838 */ lui $t2, 0xd838 +/* 342CC8 E0030B88 354A0002 */ ori $t2, $t2, 2 +/* 342CCC E0030B8C 24F0001C */ addiu $s0, $a3, 0x1c +/* 342CD0 E0030B90 241E0002 */ addiu $fp, $zero, 2 +/* 342CD4 E0030B94 24170001 */ addiu $s7, $zero, 1 +/* 342CD8 E0030B98 4480A000 */ mtc1 $zero, $f20 +/* 342CDC E0030B9C 3C013F80 */ lui $at, 0x3f80 +/* 342CE0 E0030BA0 4481B000 */ mtc1 $at, $f22 +/* 342CE4 E0030BA4 0280902D */ daddu $s2, $s4, $zero +/* 342CE8 E0030BA8 AFAA00A0 */ sw $t2, 0xa0($sp) +.LE0030BAC: +/* 342CEC E0030BAC 27A40018 */ addiu $a0, $sp, 0x18 +/* 342CF0 E0030BB0 029E3821 */ addu $a3, $s4, $fp +/* 342CF4 E0030BB4 02973021 */ addu $a2, $s4, $s7 +/* 342CF8 E0030BB8 8E220000 */ lw $v0, ($s1) +/* 342CFC E0030BBC 8FAA0098 */ lw $t2, 0x98($sp) +/* 342D00 E0030BC0 0040402D */ daddu $t0, $v0, $zero +/* 342D04 E0030BC4 24420008 */ addiu $v0, $v0, 8 +/* 342D08 E0030BC8 024A0018 */ mult $s2, $t2 +/* 342D0C E0030BCC AE220000 */ sw $v0, ($s1) +/* 342D10 E0030BD0 3C02FA00 */ lui $v0, 0xfa00 +/* 342D14 E0030BD4 AD020000 */ sw $v0, ($t0) +/* 342D18 E0030BD8 001217C3 */ sra $v0, $s2, 0x1f +/* 342D1C E0030BDC 00005010 */ mfhi $t2 +/* 342D20 E0030BE0 000A18C3 */ sra $v1, $t2, 3 +/* 342D24 E0030BE4 00621823 */ subu $v1, $v1, $v0 +/* 342D28 E0030BE8 000328C0 */ sll $a1, $v1, 3 +/* 342D2C E0030BEC 00A32821 */ addu $a1, $a1, $v1 +/* 342D30 E0030BF0 00052880 */ sll $a1, $a1, 2 +/* 342D34 E0030BF4 8FAA0098 */ lw $t2, 0x98($sp) +/* 342D38 E0030BF8 02452823 */ subu $a1, $s2, $a1 +/* 342D3C E0030BFC 00CA0018 */ mult $a2, $t2 +/* 342D40 E0030C00 000617C3 */ sra $v0, $a2, 0x1f +/* 342D44 E0030C04 3C0AE003 */ lui $t2, 0xe003 +/* 342D48 E0030C08 254A0E90 */ addiu $t2, $t2, 0xe90 +/* 342D4C E0030C0C 00AA2821 */ addu $a1, $a1, $t2 +/* 342D50 E0030C10 90A50000 */ lbu $a1, ($a1) +/* 342D54 E0030C14 00005010 */ mfhi $t2 +/* 342D58 E0030C18 000A18C3 */ sra $v1, $t2, 3 +/* 342D5C E0030C1C 00621823 */ subu $v1, $v1, $v0 +/* 342D60 E0030C20 000310C0 */ sll $v0, $v1, 3 +/* 342D64 E0030C24 00431021 */ addu $v0, $v0, $v1 +/* 342D68 E0030C28 00021080 */ sll $v0, $v0, 2 +/* 342D6C E0030C2C 00C23023 */ subu $a2, $a2, $v0 +/* 342D70 E0030C30 3C0AE003 */ lui $t2, 0xe003 +/* 342D74 E0030C34 254A0E90 */ addiu $t2, $t2, 0xe90 +/* 342D78 E0030C38 00CA3021 */ addu $a2, $a2, $t2 +/* 342D7C E0030C3C 8FAA0098 */ lw $t2, 0x98($sp) +/* 342D80 E0030C40 00052E00 */ sll $a1, $a1, 0x18 +/* 342D84 E0030C44 00EA0018 */ mult $a3, $t2 +/* 342D88 E0030C48 90C60000 */ lbu $a2, ($a2) +/* 342D8C E0030C4C 000717C3 */ sra $v0, $a3, 0x1f +/* 342D90 E0030C50 00063400 */ sll $a2, $a2, 0x10 +/* 342D94 E0030C54 00A62825 */ or $a1, $a1, $a2 +/* 342D98 E0030C58 00005010 */ mfhi $t2 +/* 342D9C E0030C5C 000A18C3 */ sra $v1, $t2, 3 +/* 342DA0 E0030C60 00621823 */ subu $v1, $v1, $v0 +/* 342DA4 E0030C64 000310C0 */ sll $v0, $v1, 3 +/* 342DA8 E0030C68 00431021 */ addu $v0, $v0, $v1 +/* 342DAC E0030C6C 00021080 */ sll $v0, $v0, 2 +/* 342DB0 E0030C70 00E23823 */ subu $a3, $a3, $v0 +/* 342DB4 E0030C74 3C0AE003 */ lui $t2, 0xe003 +/* 342DB8 E0030C78 254A0E90 */ addiu $t2, $t2, 0xe90 +/* 342DBC E0030C7C 00EA3821 */ addu $a3, $a3, $t2 +/* 342DC0 E0030C80 90E20000 */ lbu $v0, ($a3) +/* 342DC4 E0030C84 9203000B */ lbu $v1, 0xb($s0) +/* 342DC8 E0030C88 00021200 */ sll $v0, $v0, 8 +/* 342DCC E0030C8C 00A22825 */ or $a1, $a1, $v0 +/* 342DD0 E0030C90 00A32825 */ or $a1, $a1, $v1 +/* 342DD4 E0030C94 AD050004 */ sw $a1, 4($t0) +/* 342DD8 E0030C98 8E05FFE8 */ lw $a1, -0x18($s0) +/* 342DDC E0030C9C 8E06FFEC */ lw $a2, -0x14($s0) +/* 342DE0 E0030CA0 8E07FFF0 */ lw $a3, -0x10($s0) +/* 342DE4 E0030CA4 0C080108 */ jal func_E0200420 +/* 342DE8 E0030CA8 27DE0003 */ addiu $fp, $fp, 3 +/* 342DEC E0030CAC 3C0A800B */ lui $t2, %hi(gCameras) +/* 342DF0 E0030CB0 254A1D80 */ addiu $t2, $t2, %lo(gCameras) +/* 342DF4 E0030CB4 4406A000 */ mfc1 $a2, $f20 +/* 342DF8 E0030CB8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 342DFC E0030CBC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 342E00 E0030CC0 4407B000 */ mfc1 $a3, $f22 +/* 342E04 E0030CC4 00031080 */ sll $v0, $v1, 2 +/* 342E08 E0030CC8 00431021 */ addu $v0, $v0, $v1 +/* 342E0C E0030CCC 00021080 */ sll $v0, $v0, 2 +/* 342E10 E0030CD0 00431023 */ subu $v0, $v0, $v1 +/* 342E14 E0030CD4 000218C0 */ sll $v1, $v0, 3 +/* 342E18 E0030CD8 00431021 */ addu $v0, $v0, $v1 +/* 342E1C E0030CDC 000210C0 */ sll $v0, $v0, 3 +/* 342E20 E0030CE0 004A1021 */ addu $v0, $v0, $t2 +/* 342E24 E0030CE4 C440006C */ lwc1 $f0, 0x6c($v0) +/* 342E28 E0030CE8 8FA4009C */ lw $a0, 0x9c($sp) +/* 342E2C E0030CEC 46000007 */ neg.s $f0, $f0 +/* 342E30 E0030CF0 44050000 */ mfc1 $a1, $f0 +/* 342E34 E0030CF4 26F70003 */ addiu $s7, $s7, 3 +/* 342E38 E0030CF8 0C080104 */ jal func_E0200410 +/* 342E3C E0030CFC E7B40010 */ swc1 $f20, 0x10($sp) +/* 342E40 E0030D00 27A50018 */ addiu $a1, $sp, 0x18 +/* 342E44 E0030D04 8FA4009C */ lw $a0, 0x9c($sp) +/* 342E48 E0030D08 0C080114 */ jal func_E0200450 +/* 342E4C E0030D0C 00A0302D */ daddu $a2, $a1, $zero +/* 342E50 E0030D10 27A40018 */ addiu $a0, $sp, 0x18 +/* 342E54 E0030D14 96C50000 */ lhu $a1, ($s6) +/* 342E58 E0030D18 3C02800A */ lui $v0, 0x800a +/* 342E5C E0030D1C 8C42A674 */ lw $v0, -0x598c($v0) +/* 342E60 E0030D20 00052980 */ sll $a1, $a1, 6 +/* 342E64 E0030D24 00B32821 */ addu $a1, $a1, $s3 +/* 342E68 E0030D28 0C080118 */ jal func_E0200460 +/* 342E6C E0030D2C 00452821 */ addu $a1, $v0, $a1 +/* 342E70 E0030D30 27A40018 */ addiu $a0, $sp, 0x18 +/* 342E74 E0030D34 8E290000 */ lw $t1, ($s1) +/* 342E78 E0030D38 4406A000 */ mfc1 $a2, $f20 +/* 342E7C E0030D3C 4407A000 */ mfc1 $a3, $f20 +/* 342E80 E0030D40 96C80000 */ lhu $t0, ($s6) +/* 342E84 E0030D44 3C03800A */ lui $v1, 0x800a +/* 342E88 E0030D48 8C63A674 */ lw $v1, -0x598c($v1) +/* 342E8C E0030D4C 0120282D */ daddu $a1, $t1, $zero +/* 342E90 E0030D50 3C0ADA38 */ lui $t2, 0xda38 +/* 342E94 E0030D54 3102FFFF */ andi $v0, $t0, 0xffff +/* 342E98 E0030D58 00021180 */ sll $v0, $v0, 6 +/* 342E9C E0030D5C 00531021 */ addu $v0, $v0, $s3 +/* 342EA0 E0030D60 00621821 */ addu $v1, $v1, $v0 +/* 342EA4 E0030D64 25290008 */ addiu $t1, $t1, 8 +/* 342EA8 E0030D68 ACAA0000 */ sw $t2, ($a1) +/* 342EAC E0030D6C ACA30004 */ sw $v1, 4($a1) +/* 342EB0 E0030D70 E7B60010 */ swc1 $f22, 0x10($sp) +/* 342EB4 E0030D74 8E050000 */ lw $a1, ($s0) +/* 342EB8 E0030D78 25080001 */ addiu $t0, $t0, 1 +/* 342EBC E0030D7C AE290000 */ sw $t1, ($s1) +/* 342EC0 E0030D80 0C080104 */ jal func_E0200410 +/* 342EC4 E0030D84 A6C80000 */ sh $t0, ($s6) +/* 342EC8 E0030D88 27A40018 */ addiu $a0, $sp, 0x18 +/* 342ECC E0030D8C 96C50000 */ lhu $a1, ($s6) +/* 342ED0 E0030D90 3C02800A */ lui $v0, 0x800a +/* 342ED4 E0030D94 8C42A674 */ lw $v0, -0x598c($v0) +/* 342ED8 E0030D98 00052980 */ sll $a1, $a1, 6 +/* 342EDC E0030D9C 00B32821 */ addu $a1, $a1, $s3 +/* 342EE0 E0030DA0 0C080118 */ jal func_E0200460 +/* 342EE4 E0030DA4 00452821 */ addu $a1, $v0, $a1 +/* 342EE8 E0030DA8 8E240000 */ lw $a0, ($s1) +/* 342EEC E0030DAC 96C30000 */ lhu $v1, ($s6) +/* 342EF0 E0030DB0 0080282D */ daddu $a1, $a0, $zero +/* 342EF4 E0030DB4 24840008 */ addiu $a0, $a0, 8 +/* 342EF8 E0030DB8 3C0ADA38 */ lui $t2, 0xda38 +/* 342EFC E0030DBC 24620001 */ addiu $v0, $v1, 1 +/* 342F00 E0030DC0 3063FFFF */ andi $v1, $v1, 0xffff +/* 342F04 E0030DC4 00031980 */ sll $v1, $v1, 6 +/* 342F08 E0030DC8 AE240000 */ sw $a0, ($s1) +/* 342F0C E0030DCC ACAA0000 */ sw $t2, ($a1) +/* 342F10 E0030DD0 A6C20000 */ sh $v0, ($s6) +/* 342F14 E0030DD4 3C02800A */ lui $v0, 0x800a +/* 342F18 E0030DD8 8C42A674 */ lw $v0, -0x598c($v0) +/* 342F1C E0030DDC 00731821 */ addu $v1, $v1, $s3 +/* 342F20 E0030DE0 00431021 */ addu $v0, $v0, $v1 +/* 342F24 E0030DE4 ACA20004 */ sw $v0, 4($a1) +/* 342F28 E0030DE8 24820008 */ addiu $v0, $a0, 8 +/* 342F2C E0030DEC AE220000 */ sw $v0, ($s1) +/* 342F30 E0030DF0 3C02DE00 */ lui $v0, 0xde00 +/* 342F34 E0030DF4 AC820000 */ sw $v0, ($a0) +/* 342F38 E0030DF8 3C020900 */ lui $v0, 0x900 +/* 342F3C E0030DFC 244205E0 */ addiu $v0, $v0, 0x5e0 +/* 342F40 E0030E00 AC820004 */ sw $v0, 4($a0) +/* 342F44 E0030E04 24820010 */ addiu $v0, $a0, 0x10 +/* 342F48 E0030E08 AE220000 */ sw $v0, ($s1) +/* 342F4C E0030E0C 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 342F50 E0030E10 26B50001 */ addiu $s5, $s5, 1 +/* 342F54 E0030E14 AC8A0008 */ sw $t2, 8($a0) +/* 342F58 E0030E18 240A0040 */ addiu $t2, $zero, 0x40 +/* 342F5C E0030E1C AC8A000C */ sw $t2, 0xc($a0) +/* 342F60 E0030E20 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 342F64 E0030E24 26520003 */ addiu $s2, $s2, 3 +/* 342F68 E0030E28 AC8A0010 */ sw $t2, 0x10($a0) +/* 342F6C E0030E2C 240A0040 */ addiu $t2, $zero, 0x40 +/* 342F70 E0030E30 AC8A0014 */ sw $t2, 0x14($a0) +/* 342F74 E0030E34 8FAA00E0 */ lw $t2, 0xe0($sp) +/* 342F78 E0030E38 26100030 */ addiu $s0, $s0, 0x30 +/* 342F7C E0030E3C 8D420008 */ lw $v0, 8($t2) +/* 342F80 E0030E40 24840018 */ addiu $a0, $a0, 0x18 +/* 342F84 E0030E44 02A2102A */ slt $v0, $s5, $v0 +/* 342F88 E0030E48 1440FF58 */ bnez $v0, .LE0030BAC +/* 342F8C E0030E4C AE240000 */ sw $a0, ($s1) +.LE0030E50: +/* 342F90 E0030E50 8FBF00CC */ lw $ra, 0xcc($sp) +/* 342F94 E0030E54 8FBE00C8 */ lw $fp, 0xc8($sp) +/* 342F98 E0030E58 8FB700C4 */ lw $s7, 0xc4($sp) +/* 342F9C E0030E5C 8FB600C0 */ lw $s6, 0xc0($sp) +/* 342FA0 E0030E60 8FB500BC */ lw $s5, 0xbc($sp) +/* 342FA4 E0030E64 8FB400B8 */ lw $s4, 0xb8($sp) +/* 342FA8 E0030E68 8FB300B4 */ lw $s3, 0xb4($sp) +/* 342FAC E0030E6C 8FB200B0 */ lw $s2, 0xb0($sp) +/* 342FB0 E0030E70 8FB100AC */ lw $s1, 0xac($sp) +/* 342FB4 E0030E74 8FB000A8 */ lw $s0, 0xa8($sp) +/* 342FB8 E0030E78 D7B600D8 */ ldc1 $f22, 0xd8($sp) +/* 342FBC E0030E7C D7B400D0 */ ldc1 $f20, 0xd0($sp) +/* 342FC0 E0030E80 03E00008 */ jr $ra +/* 342FC4 E0030E84 27BD00E0 */ addiu $sp, $sp, 0xe0 +/* 342FC8 E0030E88 00000000 */ nop +/* 342FCC E0030E8C 00000000 */ nop diff --git a/asm/nonmatchings/code_343680/func_E0032000.s b/asm/nonmatchings/code_343680/func_E0032000.s new file mode 100644 index 0000000000..c7a4dcf275 --- /dev/null +++ b/asm/nonmatchings/code_343680/func_E0032000.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0032000 +/* 343680 E0032000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 343684 E0032004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 343688 E0032008 4485A000 */ mtc1 $a1, $f20 +/* 34368C E003200C AFB1002C */ sw $s1, 0x2c($sp) +/* 343690 E0032010 0080882D */ daddu $s1, $a0, $zero +/* 343694 E0032014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 343698 E0032018 4486B000 */ mtc1 $a2, $f22 +/* 34369C E003201C 27A40010 */ addiu $a0, $sp, 0x10 +/* 3436A0 E0032020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3436A4 E0032024 4487C000 */ mtc1 $a3, $f24 +/* 3436A8 E0032028 3C02E003 */ lui $v0, 0xe003 +/* 3436AC E003202C 244221D0 */ addiu $v0, $v0, 0x21d0 +/* 3436B0 E0032030 AFBF0030 */ sw $ra, 0x30($sp) +/* 3436B4 E0032034 AFB00028 */ sw $s0, 0x28($sp) +/* 3436B8 E0032038 AFA00010 */ sw $zero, 0x10($sp) +/* 3436BC E003203C AC820008 */ sw $v0, 8($a0) +/* 3436C0 E0032040 3C02E003 */ lui $v0, 0xe003 +/* 3436C4 E0032044 244221D8 */ addiu $v0, $v0, 0x21d8 +/* 3436C8 E0032048 AC82000C */ sw $v0, 0xc($a0) +/* 3436CC E003204C 3C02E003 */ lui $v0, 0xe003 +/* 3436D0 E0032050 24422420 */ addiu $v0, $v0, 0x2420 +/* 3436D4 E0032054 AC820010 */ sw $v0, 0x10($a0) +/* 3436D8 E0032058 24020019 */ addiu $v0, $zero, 0x19 +/* 3436DC E003205C AC800014 */ sw $zero, 0x14($a0) +/* 3436E0 E0032060 0C080124 */ jal func_E0200490 +/* 3436E4 E0032064 AC820004 */ sw $v0, 4($a0) +/* 3436E8 E0032068 240400B4 */ addiu $a0, $zero, 0xb4 +/* 3436EC E003206C 24030003 */ addiu $v1, $zero, 3 +/* 3436F0 E0032070 0040802D */ daddu $s0, $v0, $zero +/* 3436F4 E0032074 0C08012C */ jal func_E02004B0 +/* 3436F8 E0032078 AE030008 */ sw $v1, 8($s0) +/* 3436FC E003207C 0040182D */ daddu $v1, $v0, $zero +/* 343700 E0032080 14600003 */ bnez $v1, .LE0032090 +/* 343704 E0032084 AE03000C */ sw $v1, 0xc($s0) +.LE0032088: +/* 343708 E0032088 0800C822 */ j .LE0032088 +/* 34370C E003208C 00000000 */ nop +.LE0032090: +/* 343710 E0032090 2402003C */ addiu $v0, $zero, 0x3c +/* 343714 E0032094 E4740004 */ swc1 $f20, 4($v1) +/* 343718 E0032098 E4760008 */ swc1 $f22, 8($v1) +/* 34371C E003209C E478000C */ swc1 $f24, 0xc($v1) +/* 343720 E00320A0 AC600034 */ sw $zero, 0x34($v1) +/* 343724 E00320A4 AC620030 */ sw $v0, 0x30($v1) +/* 343728 E00320A8 AC710000 */ sw $s1, ($v1) +/* 34372C E00320AC 00621821 */ addu $v1, $v1, $v0 +/* 343730 E00320B0 16200003 */ bnez $s1, .LE00320C0 +/* 343734 E00320B4 AC710000 */ sw $s1, ($v1) +/* 343738 E00320B8 2402FFFF */ addiu $v0, $zero, -1 +/* 34373C E00320BC AC620000 */ sw $v0, ($v1) +.LE00320C0: +/* 343740 E00320C0 24020001 */ addiu $v0, $zero, 1 +/* 343744 E00320C4 16220005 */ bne $s1, $v0, .LE00320DC +/* 343748 E00320C8 AC600038 */ sw $zero, 0x38($v1) +/* 34374C E00320CC 3C013F80 */ lui $at, 0x3f80 +/* 343750 E00320D0 44810000 */ mtc1 $at, $f0 +/* 343754 E00320D4 0800C83C */ j .LE00320F0 +/* 343758 E00320D8 E4600020 */ swc1 $f0, 0x20($v1) +.LE00320DC: +/* 34375C E00320DC 3C014040 */ lui $at, 0x4040 +/* 343760 E00320E0 44810000 */ mtc1 $at, $f0 +/* 343764 E00320E4 00000000 */ nop +/* 343768 E00320E8 E4600020 */ swc1 $f0, 0x20($v1) +/* 34376C E00320EC 24020001 */ addiu $v0, $zero, 1 +.LE00320F0: +/* 343770 E00320F0 16220005 */ bne $s1, $v0, .LE0032108 +/* 343774 E00320F4 00000000 */ nop +/* 343778 E00320F8 3C013F80 */ lui $at, 0x3f80 +/* 34377C E00320FC 44810000 */ mtc1 $at, $f0 +/* 343780 E0032100 0800C846 */ j .LE0032118 +/* 343784 E0032104 E4600024 */ swc1 $f0, 0x24($v1) +.LE0032108: +/* 343788 E0032108 3C014040 */ lui $at, 0x4040 +/* 34378C E003210C 44810000 */ mtc1 $at, $f0 +/* 343790 E0032110 00000000 */ nop +/* 343794 E0032114 E4600024 */ swc1 $f0, 0x24($v1) +.LE0032118: +/* 343798 E0032118 2463003C */ addiu $v1, $v1, 0x3c +/* 34379C E003211C 240200FF */ addiu $v0, $zero, 0xff +/* 3437A0 E0032120 AC710000 */ sw $s1, ($v1) +/* 3437A4 E0032124 12200006 */ beqz $s1, .LE0032140 +/* 3437A8 E0032128 AC620038 */ sw $v0, 0x38($v1) +/* 3437AC E003212C 24020001 */ addiu $v0, $zero, 1 +/* 3437B0 E0032130 1222000B */ beq $s1, $v0, .LE0032160 +/* 3437B4 E0032134 00000000 */ nop +/* 3437B8 E0032138 0800C860 */ j .LE0032180 +/* 3437BC E003213C 00000000 */ nop +.LE0032140: +/* 3437C0 E0032140 3C01411E */ lui $at, 0x411e +/* 3437C4 E0032144 34216666 */ ori $at, $at, 0x6666 +/* 3437C8 E0032148 44810000 */ mtc1 $at, $f0 +/* 3437CC E003214C 3C013FCC */ lui $at, 0x3fcc +/* 3437D0 E0032150 3421CCCD */ ori $at, $at, 0xcccd +/* 3437D4 E0032154 44811000 */ mtc1 $at, $f2 +/* 3437D8 E0032158 0800C867 */ j .LE003219C +/* 3437DC E003215C E4600020 */ swc1 $f0, 0x20($v1) +.LE0032160: +/* 3437E0 E0032160 3C01415E */ lui $at, 0x415e +/* 3437E4 E0032164 34216666 */ ori $at, $at, 0x6666 +/* 3437E8 E0032168 44810000 */ mtc1 $at, $f0 +/* 3437EC E003216C 3C014019 */ lui $at, 0x4019 +/* 3437F0 E0032170 3421999A */ ori $at, $at, 0x999a +/* 3437F4 E0032174 44811000 */ mtc1 $at, $f2 +/* 3437F8 E0032178 0800C867 */ j .LE003219C +/* 3437FC E003217C E4600020 */ swc1 $f0, 0x20($v1) +.LE0032180: +/* 343800 E0032180 3C01418E */ lui $at, 0x418e +/* 343804 E0032184 34216666 */ ori $at, $at, 0x6666 +/* 343808 E0032188 44810000 */ mtc1 $at, $f0 +/* 34380C E003218C 3C01404C */ lui $at, 0x404c +/* 343810 E0032190 3421CCCD */ ori $at, $at, 0xcccd +/* 343814 E0032194 44811000 */ mtc1 $at, $f2 +/* 343818 E0032198 E4600020 */ swc1 $f0, 0x20($v1) +.LE003219C: +/* 34381C E003219C E4620024 */ swc1 $f2, 0x24($v1) +/* 343820 E00321A0 3C0141F0 */ lui $at, 0x41f0 +/* 343824 E00321A4 44810000 */ mtc1 $at, $f0 +/* 343828 E00321A8 AC600028 */ sw $zero, 0x28($v1) +/* 34382C E00321AC E460002C */ swc1 $f0, 0x2c($v1) +/* 343830 E00321B0 8FBF0030 */ lw $ra, 0x30($sp) +/* 343834 E00321B4 8FB1002C */ lw $s1, 0x2c($sp) +/* 343838 E00321B8 8FB00028 */ lw $s0, 0x28($sp) +/* 34383C E00321BC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 343840 E00321C0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 343844 E00321C4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 343848 E00321C8 03E00008 */ jr $ra +/* 34384C E00321CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_343680/func_E00321D0.s b/asm/nonmatchings/code_343680/func_E00321D0.s new file mode 100644 index 0000000000..2c14e4e595 --- /dev/null +++ b/asm/nonmatchings/code_343680/func_E00321D0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00321D0 +/* 343850 E00321D0 03E00008 */ jr $ra +/* 343854 E00321D4 00000000 */ nop diff --git a/asm/nonmatchings/code_343680/func_E00321D8.s b/asm/nonmatchings/code_343680/func_E00321D8.s new file mode 100644 index 0000000000..e62ed3286b --- /dev/null +++ b/asm/nonmatchings/code_343680/func_E00321D8.s @@ -0,0 +1,161 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00321D8 +/* 343858 E00321D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 34385C E00321DC AFBF0024 */ sw $ra, 0x24($sp) +/* 343860 E00321E0 AFB20020 */ sw $s2, 0x20($sp) +/* 343864 E00321E4 AFB1001C */ sw $s1, 0x1c($sp) +/* 343868 E00321E8 AFB00018 */ sw $s0, 0x18($sp) +/* 34386C E00321EC 8C90000C */ lw $s0, 0xc($a0) +/* 343870 E00321F0 8E020030 */ lw $v0, 0x30($s0) +/* 343874 E00321F4 2442FFFF */ addiu $v0, $v0, -1 +/* 343878 E00321F8 04410005 */ bgez $v0, .LE0032210 +/* 34387C E00321FC AE020030 */ sw $v0, 0x30($s0) +/* 343880 E0032200 0C080128 */ jal func_E02004A0 +/* 343884 E0032204 00000000 */ nop +/* 343888 E0032208 0800C902 */ j .LE0032408 +/* 34388C E003220C 00000000 */ nop +.LE0032210: +/* 343890 E0032210 8E020034 */ lw $v0, 0x34($s0) +/* 343894 E0032214 8E110000 */ lw $s1, ($s0) +/* 343898 E0032218 24420001 */ addiu $v0, $v0, 1 +/* 34389C E003221C 0040902D */ daddu $s2, $v0, $zero +/* 3438A0 E0032220 AE020034 */ sw $v0, 0x34($s0) +/* 3438A4 E0032224 24020007 */ addiu $v0, $zero, 7 +/* 3438A8 E0032228 1642000A */ bne $s2, $v0, .LE0032254 +/* 3438AC E003222C 24020001 */ addiu $v0, $zero, 1 +/* 3438B0 E0032230 0C080150 */ jal func_E0200540 +/* 3438B4 E0032234 24040017 */ addiu $a0, $zero, 0x17 +/* 3438B8 E0032238 8E050004 */ lw $a1, 4($s0) +/* 3438BC E003223C 8E060008 */ lw $a2, 8($s0) +/* 3438C0 E0032240 8E07000C */ lw $a3, 0xc($s0) +/* 3438C4 E0032244 0C00B800 */ jal func_E002E000 +/* 3438C8 E0032248 0220202D */ daddu $a0, $s1, $zero +/* 3438CC E003224C 0800C8A4 */ j .LE0032290 +/* 3438D0 E0032250 2610003C */ addiu $s0, $s0, 0x3c +.LE0032254: +/* 3438D4 E0032254 5642000E */ bnel $s2, $v0, .LE0032290 +/* 3438D8 E0032258 2610003C */ addiu $s0, $s0, 0x3c +/* 3438DC E003225C 0C080150 */ jal func_E0200540 +/* 3438E0 E0032260 24040044 */ addiu $a0, $zero, 0x44 +/* 3438E4 E0032264 3C013F80 */ lui $at, 0x3f80 +/* 3438E8 E0032268 44810000 */ mtc1 $at, $f0 +/* 3438EC E003226C 24020032 */ addiu $v0, $zero, 0x32 +/* 3438F0 E0032270 AFA20014 */ sw $v0, 0x14($sp) +/* 3438F4 E0032274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 3438F8 E0032278 8E050004 */ lw $a1, 4($s0) +/* 3438FC E003227C 8E060008 */ lw $a2, 8($s0) +/* 343900 E0032280 8E07000C */ lw $a3, 0xc($s0) +/* 343904 E0032284 0C02205F */ jal func_E008817C +/* 343908 E0032288 26240004 */ addiu $a0, $s1, 4 +/* 34390C E003228C 2610003C */ addiu $s0, $s0, 0x3c +.LE0032290: +/* 343910 E0032290 C6000020 */ lwc1 $f0, 0x20($s0) +/* 343914 E0032294 C6020024 */ lwc1 $f2, 0x24($s0) +/* 343918 E0032298 46020000 */ add.s $f0, $f0, $f2 +/* 34391C E003229C 26030024 */ addiu $v1, $s0, 0x24 +/* 343920 E00322A0 2A420008 */ slti $v0, $s2, 8 +/* 343924 E00322A4 1040001D */ beqz $v0, .LE003231C +/* 343928 E00322A8 E6000020 */ swc1 $f0, 0x20($s0) +/* 34392C E00322AC 46001006 */ mov.s $f0, $f2 +/* 343930 E00322B0 460000A1 */ cvt.d.s $f2, $f0 +/* 343934 E00322B4 24020002 */ addiu $v0, $zero, 2 +/* 343938 E00322B8 3C01E003 */ lui $at, 0xe003 +/* 34393C E00322BC D42028C0 */ ldc1 $f0, 0x28c0($at) +/* 343940 E00322C0 56220006 */ bnel $s1, $v0, .LE00322DC +/* 343944 E00322C4 46201000 */ add.d $f0, $f2, $f0 +/* 343948 E00322C8 3C013FF0 */ lui $at, 0x3ff0 +/* 34394C E00322CC 44810800 */ mtc1 $at, $f1 +/* 343950 E00322D0 44800000 */ mtc1 $zero, $f0 +/* 343954 E00322D4 00000000 */ nop +/* 343958 E00322D8 46201000 */ add.d $f0, $f2, $f0 +.LE00322DC: +/* 34395C E00322DC 46200020 */ cvt.s.d $f0, $f0 +/* 343960 E00322E0 240200FF */ addiu $v0, $zero, 0xff +/* 343964 E00322E4 E4600000 */ swc1 $f0, ($v1) +/* 343968 E00322E8 8E030038 */ lw $v1, 0x38($s0) +/* 34396C E00322EC 3C01E003 */ lui $at, 0xe003 +/* 343970 E00322F0 D42228C8 */ ldc1 $f2, 0x28c8($at) +/* 343974 E00322F4 00431023 */ subu $v0, $v0, $v1 +/* 343978 E00322F8 44820000 */ mtc1 $v0, $f0 +/* 34397C E00322FC 00000000 */ nop +/* 343980 E0032300 46800021 */ cvt.d.w $f0, $f0 +/* 343984 E0032304 46220002 */ mul.d $f0, $f0, $f2 +/* 343988 E0032308 00000000 */ nop +/* 34398C E003230C 4620018D */ trunc.w.d $f6, $f0 +/* 343990 E0032310 E6060038 */ swc1 $f6, 0x38($s0) +/* 343994 E0032314 0800C8D8 */ j .LE0032360 +/* 343998 E0032318 2610003C */ addiu $s0, $s0, 0x3c +.LE003231C: +/* 34399C E003231C 3C01E003 */ lui $at, 0xe003 +/* 3439A0 E0032320 D42028D0 */ ldc1 $f0, 0x28d0($at) +/* 3439A4 E0032324 C6020038 */ lwc1 $f2, 0x38($s0) +/* 3439A8 E0032328 468010A1 */ cvt.d.w $f2, $f2 +/* 3439AC E003232C 46201082 */ mul.d $f2, $f2, $f0 +/* 3439B0 E0032330 00000000 */ nop +/* 3439B4 E0032334 C6000024 */ lwc1 $f0, 0x24($s0) +/* 3439B8 E0032338 3C01E003 */ lui $at, 0xe003 +/* 3439BC E003233C D42428D8 */ ldc1 $f4, 0x28d8($at) +/* 3439C0 E0032340 46000021 */ cvt.d.s $f0, $f0 +/* 3439C4 E0032344 46240002 */ mul.d $f0, $f0, $f4 +/* 3439C8 E0032348 00000000 */ nop +/* 3439CC E003234C 4620118D */ trunc.w.d $f6, $f2 +/* 3439D0 E0032350 E6060038 */ swc1 $f6, 0x38($s0) +/* 3439D4 E0032354 46200020 */ cvt.s.d $f0, $f0 +/* 3439D8 E0032358 E6000024 */ swc1 $f0, 0x24($s0) +/* 3439DC E003235C 2610003C */ addiu $s0, $s0, 0x3c +.LE0032360: +/* 3439E0 E0032360 2A420003 */ slti $v0, $s2, 3 +/* 3439E4 E0032364 14400024 */ bnez $v0, .LE00323F8 +/* 3439E8 E0032368 24020003 */ addiu $v0, $zero, 3 +/* 3439EC E003236C 16420005 */ bne $s2, $v0, .LE0032384 +/* 3439F0 E0032370 00000000 */ nop +/* 3439F4 E0032374 3C013F80 */ lui $at, 0x3f80 +/* 3439F8 E0032378 44810000 */ mtc1 $at, $f0 +/* 3439FC E003237C 00000000 */ nop +/* 343A00 E0032380 E6000020 */ swc1 $f0, 0x20($s0) +.LE0032384: +/* 343A04 E0032384 C6000020 */ lwc1 $f0, 0x20($s0) +/* 343A08 E0032388 C6020024 */ lwc1 $f2, 0x24($s0) +/* 343A0C E003238C 46020000 */ add.s $f0, $f0, $f2 +/* 343A10 E0032390 2A420006 */ slti $v0, $s2, 6 +/* 343A14 E0032394 10400007 */ beqz $v0, .LE00323B4 +/* 343A18 E0032398 E6000020 */ swc1 $f0, 0x20($s0) +/* 343A1C E003239C 46001006 */ mov.s $f0, $f2 +/* 343A20 E00323A0 3C01E003 */ lui $at, 0xe003 +/* 343A24 E00323A4 D42228E0 */ ldc1 $f2, 0x28e0($at) +/* 343A28 E00323A8 46000021 */ cvt.d.s $f0, $f0 +/* 343A2C E00323AC 0800C8FC */ j .LE00323F0 +/* 343A30 E00323B0 46220000 */ add.d $f0, $f0, $f2 +.LE00323B4: +/* 343A34 E00323B4 3C01E003 */ lui $at, 0xe003 +/* 343A38 E00323B8 D42028E8 */ ldc1 $f0, 0x28e8($at) +/* 343A3C E00323BC C6020038 */ lwc1 $f2, 0x38($s0) +/* 343A40 E00323C0 468010A1 */ cvt.d.w $f2, $f2 +/* 343A44 E00323C4 46201082 */ mul.d $f2, $f2, $f0 +/* 343A48 E00323C8 00000000 */ nop +/* 343A4C E00323CC C6000024 */ lwc1 $f0, 0x24($s0) +/* 343A50 E00323D0 3C013FE0 */ lui $at, 0x3fe0 +/* 343A54 E00323D4 44812800 */ mtc1 $at, $f5 +/* 343A58 E00323D8 44802000 */ mtc1 $zero, $f4 +/* 343A5C E00323DC 46000021 */ cvt.d.s $f0, $f0 +/* 343A60 E00323E0 46240002 */ mul.d $f0, $f0, $f4 +/* 343A64 E00323E4 00000000 */ nop +/* 343A68 E00323E8 4620118D */ trunc.w.d $f6, $f2 +/* 343A6C E00323EC E6060038 */ swc1 $f6, 0x38($s0) +.LE00323F0: +/* 343A70 E00323F0 46200020 */ cvt.s.d $f0, $f0 +/* 343A74 E00323F4 E6000024 */ swc1 $f0, 0x24($s0) +.LE00323F8: +/* 343A78 E00323F8 C6000028 */ lwc1 $f0, 0x28($s0) +/* 343A7C E00323FC C602002C */ lwc1 $f2, 0x2c($s0) +/* 343A80 E0032400 46020000 */ add.s $f0, $f0, $f2 +/* 343A84 E0032404 E6000028 */ swc1 $f0, 0x28($s0) +.LE0032408: +/* 343A88 E0032408 8FBF0024 */ lw $ra, 0x24($sp) +/* 343A8C E003240C 8FB20020 */ lw $s2, 0x20($sp) +/* 343A90 E0032410 8FB1001C */ lw $s1, 0x1c($sp) +/* 343A94 E0032414 8FB00018 */ lw $s0, 0x18($sp) +/* 343A98 E0032418 03E00008 */ jr $ra +/* 343A9C E003241C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_343680/func_E0032420.s b/asm/nonmatchings/code_343680/func_E0032420.s new file mode 100644 index 0000000000..e0f5247c1c --- /dev/null +++ b/asm/nonmatchings/code_343680/func_E0032420.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0032420 +/* 343AA0 E0032420 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 343AA4 E0032424 3C02E003 */ lui $v0, 0xe003 +/* 343AA8 E0032428 2442245C */ addiu $v0, $v0, 0x245c +/* 343AAC E003242C AFA2001C */ sw $v0, 0x1c($sp) +/* 343AB0 E0032430 2402000A */ addiu $v0, $zero, 0xa +/* 343AB4 E0032434 AFA20014 */ sw $v0, 0x14($sp) +/* 343AB8 E0032438 2402002D */ addiu $v0, $zero, 0x2d +/* 343ABC E003243C AFA40018 */ sw $a0, 0x18($sp) +/* 343AC0 E0032440 27A40010 */ addiu $a0, $sp, 0x10 +/* 343AC4 E0032444 AFBF0020 */ sw $ra, 0x20($sp) +/* 343AC8 E0032448 0C080120 */ jal func_E0200480 +/* 343ACC E003244C AFA20010 */ sw $v0, 0x10($sp) +/* 343AD0 E0032450 8FBF0020 */ lw $ra, 0x20($sp) +/* 343AD4 E0032454 03E00008 */ jr $ra +/* 343AD8 E0032458 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_343680/func_E003245C.s b/asm/nonmatchings/code_343680/func_E003245C.s new file mode 100644 index 0000000000..a32ff135d4 --- /dev/null +++ b/asm/nonmatchings/code_343680/func_E003245C.s @@ -0,0 +1,286 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003245C +/* 343ADC E003245C 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 343AE0 E0032460 0080302D */ daddu $a2, $a0, $zero +/* 343AE4 E0032464 3C07DB06 */ lui $a3, 0xdb06 +/* 343AE8 E0032468 34E70024 */ ori $a3, $a3, 0x24 +/* 343AEC E003246C 27A40018 */ addiu $a0, $sp, 0x18 +/* 343AF0 E0032470 AFB600B0 */ sw $s6, 0xb0($sp) +/* 343AF4 E0032474 3C160001 */ lui $s6, 1 +/* 343AF8 E0032478 36D61630 */ ori $s6, $s6, 0x1630 +/* 343AFC E003247C AFB200A0 */ sw $s2, 0xa0($sp) +/* 343B00 E0032480 3C12800A */ lui $s2, 0x800a +/* 343B04 E0032484 2652A66C */ addiu $s2, $s2, -0x5994 +/* 343B08 E0032488 AFBF00B8 */ sw $ra, 0xb8($sp) +/* 343B0C E003248C AFB700B4 */ sw $s7, 0xb4($sp) +/* 343B10 E0032490 AFB500AC */ sw $s5, 0xac($sp) +/* 343B14 E0032494 AFB400A8 */ sw $s4, 0xa8($sp) +/* 343B18 E0032498 AFB300A4 */ sw $s3, 0xa4($sp) +/* 343B1C E003249C AFB1009C */ sw $s1, 0x9c($sp) +/* 343B20 E00324A0 AFB00098 */ sw $s0, 0x98($sp) +/* 343B24 E00324A4 F7B600C8 */ sdc1 $f22, 0xc8($sp) +/* 343B28 E00324A8 F7B400C0 */ sdc1 $f20, 0xc0($sp) +/* 343B2C E00324AC 8E450000 */ lw $a1, ($s2) +/* 343B30 E00324B0 8CD1000C */ lw $s1, 0xc($a2) +/* 343B34 E00324B4 00A0182D */ daddu $v1, $a1, $zero +/* 343B38 E00324B8 24A50008 */ addiu $a1, $a1, 8 +/* 343B3C E00324BC AE450000 */ sw $a1, ($s2) +/* 343B40 E00324C0 8E330034 */ lw $s3, 0x34($s1) +/* 343B44 E00324C4 3C02E700 */ lui $v0, 0xe700 +/* 343B48 E00324C8 AC620000 */ sw $v0, ($v1) +/* 343B4C E00324CC AC600004 */ sw $zero, 4($v1) +/* 343B50 E00324D0 ACA70000 */ sw $a3, ($a1) +/* 343B54 E00324D4 8CC30010 */ lw $v1, 0x10($a2) +/* 343B58 E00324D8 24A20008 */ addiu $v0, $a1, 8 +/* 343B5C E00324DC AE420000 */ sw $v0, ($s2) +/* 343B60 E00324E0 8C62001C */ lw $v0, 0x1c($v1) +/* 343B64 E00324E4 3C038000 */ lui $v1, 0x8000 +/* 343B68 E00324E8 00431021 */ addu $v0, $v0, $v1 +/* 343B6C E00324EC ACA20004 */ sw $v0, 4($a1) +/* 343B70 E00324F0 8E250004 */ lw $a1, 4($s1) +/* 343B74 E00324F4 8E260008 */ lw $a2, 8($s1) +/* 343B78 E00324F8 8E27000C */ lw $a3, 0xc($s1) +/* 343B7C E00324FC 0C080108 */ jal func_E0200420 +/* 343B80 E0032500 2631003C */ addiu $s1, $s1, 0x3c +/* 343B84 E0032504 27B50058 */ addiu $s5, $sp, 0x58 +/* 343B88 E0032508 4480B000 */ mtc1 $zero, $f22 +/* 343B8C E003250C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 343B90 E0032510 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 343B94 E0032514 3C013F80 */ lui $at, 0x3f80 +/* 343B98 E0032518 4481A000 */ mtc1 $at, $f20 +/* 343B9C E003251C 00031080 */ sll $v0, $v1, 2 +/* 343BA0 E0032520 00431021 */ addu $v0, $v0, $v1 +/* 343BA4 E0032524 00021080 */ sll $v0, $v0, 2 +/* 343BA8 E0032528 00431023 */ subu $v0, $v0, $v1 +/* 343BAC E003252C 000218C0 */ sll $v1, $v0, 3 +/* 343BB0 E0032530 00431021 */ addu $v0, $v0, $v1 +/* 343BB4 E0032534 000210C0 */ sll $v0, $v0, 3 +/* 343BB8 E0032538 4406B000 */ mfc1 $a2, $f22 +/* 343BBC E003253C 3C01800B */ lui $at, 0x800b +/* 343BC0 E0032540 00220821 */ addu $at, $at, $v0 +/* 343BC4 E0032544 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 343BC8 E0032548 4407A000 */ mfc1 $a3, $f20 +/* 343BCC E003254C 46000007 */ neg.s $f0, $f0 +/* 343BD0 E0032550 44050000 */ mfc1 $a1, $f0 +/* 343BD4 E0032554 02A0202D */ daddu $a0, $s5, $zero +/* 343BD8 E0032558 0C080104 */ jal func_E0200410 +/* 343BDC E003255C E7B60010 */ swc1 $f22, 0x10($sp) +/* 343BE0 E0032560 02A0202D */ daddu $a0, $s5, $zero +/* 343BE4 E0032564 27A50018 */ addiu $a1, $sp, 0x18 +/* 343BE8 E0032568 0C080114 */ jal func_E0200450 +/* 343BEC E003256C 00A0302D */ daddu $a2, $a1, $zero +/* 343BF0 E0032570 27A40018 */ addiu $a0, $sp, 0x18 +/* 343BF4 E0032574 3C148007 */ lui $s4, 0x8007 +/* 343BF8 E0032578 269441F0 */ addiu $s4, $s4, 0x41f0 +/* 343BFC E003257C 3C17800A */ lui $s7, 0x800a +/* 343C00 E0032580 26F7A674 */ addiu $s7, $s7, -0x598c +/* 343C04 E0032584 96850000 */ lhu $a1, ($s4) +/* 343C08 E0032588 8EE20000 */ lw $v0, ($s7) +/* 343C0C E003258C 00052980 */ sll $a1, $a1, 6 +/* 343C10 E0032590 00B62821 */ addu $a1, $a1, $s6 +/* 343C14 E0032594 0C080118 */ jal func_E0200460 +/* 343C18 E0032598 00452821 */ addu $a1, $v0, $a1 +/* 343C1C E003259C 3C03DA38 */ lui $v1, 0xda38 +/* 343C20 E00325A0 34630002 */ ori $v1, $v1, 2 +/* 343C24 E00325A4 8E460000 */ lw $a2, ($s2) +/* 343C28 E00325A8 96820000 */ lhu $v0, ($s4) +/* 343C2C E00325AC 00C0202D */ daddu $a0, $a2, $zero +/* 343C30 E00325B0 24C60008 */ addiu $a2, $a2, 8 +/* 343C34 E00325B4 AE460000 */ sw $a2, ($s2) +/* 343C38 E00325B8 AC830000 */ sw $v1, ($a0) +/* 343C3C E00325BC 24430001 */ addiu $v1, $v0, 1 +/* 343C40 E00325C0 3042FFFF */ andi $v0, $v0, 0xffff +/* 343C44 E00325C4 00021180 */ sll $v0, $v0, 6 +/* 343C48 E00325C8 A6830000 */ sh $v1, ($s4) +/* 343C4C E00325CC 8EE30000 */ lw $v1, ($s7) +/* 343C50 E00325D0 00561021 */ addu $v0, $v0, $s6 +/* 343C54 E00325D4 00621821 */ addu $v1, $v1, $v0 +/* 343C58 E00325D8 AC830004 */ sw $v1, 4($a0) +/* 343C5C E00325DC 8E230000 */ lw $v1, ($s1) +/* 343C60 E00325E0 2402FFFF */ addiu $v0, $zero, -1 +/* 343C64 E00325E4 10620037 */ beq $v1, $v0, .LE00326C4 +/* 343C68 E00325E8 27A40018 */ addiu $a0, $sp, 0x18 +/* 343C6C E00325EC 3C10DE00 */ lui $s0, 0xde00 +/* 343C70 E00325F0 3C020900 */ lui $v0, 0x900 +/* 343C74 E00325F4 24420840 */ addiu $v0, $v0, 0x840 +/* 343C78 E00325F8 ACD00000 */ sw $s0, ($a2) +/* 343C7C E00325FC ACC20004 */ sw $v0, 4($a2) +/* 343C80 E0032600 8E250020 */ lw $a1, 0x20($s1) +/* 343C84 E0032604 4407A000 */ mfc1 $a3, $f20 +/* 343C88 E0032608 24C20008 */ addiu $v0, $a2, 8 +/* 343C8C E003260C AE420000 */ sw $v0, ($s2) +/* 343C90 E0032610 0C080110 */ jal func_E0200440 +/* 343C94 E0032614 00A0302D */ daddu $a2, $a1, $zero +/* 343C98 E0032618 27A40018 */ addiu $a0, $sp, 0x18 +/* 343C9C E003261C 96850000 */ lhu $a1, ($s4) +/* 343CA0 E0032620 8EE20000 */ lw $v0, ($s7) +/* 343CA4 E0032624 00052980 */ sll $a1, $a1, 6 +/* 343CA8 E0032628 00B62821 */ addu $a1, $a1, $s6 +/* 343CAC E003262C 0C080118 */ jal func_E0200460 +/* 343CB0 E0032630 00452821 */ addu $a1, $v0, $a1 +/* 343CB4 E0032634 3C07D838 */ lui $a3, 0xd838 +/* 343CB8 E0032638 34E70002 */ ori $a3, $a3, 2 +/* 343CBC E003263C 8E440000 */ lw $a0, ($s2) +/* 343CC0 E0032640 3C02FA00 */ lui $v0, 0xfa00 +/* 343CC4 E0032644 0080302D */ daddu $a2, $a0, $zero +/* 343CC8 E0032648 24840008 */ addiu $a0, $a0, 8 +/* 343CCC E003264C AE440000 */ sw $a0, ($s2) +/* 343CD0 E0032650 ACC20000 */ sw $v0, ($a2) +/* 343CD4 E0032654 9225003B */ lbu $a1, 0x3b($s1) +/* 343CD8 E0032658 96830000 */ lhu $v1, ($s4) +/* 343CDC E003265C 24820008 */ addiu $v0, $a0, 8 +/* 343CE0 E0032660 AE420000 */ sw $v0, ($s2) +/* 343CE4 E0032664 24620001 */ addiu $v0, $v1, 1 +/* 343CE8 E0032668 A6820000 */ sh $v0, ($s4) +/* 343CEC E003266C 24820010 */ addiu $v0, $a0, 0x10 +/* 343CF0 E0032670 AE420000 */ sw $v0, ($s2) +/* 343CF4 E0032674 24820018 */ addiu $v0, $a0, 0x18 +/* 343CF8 E0032678 AE420000 */ sw $v0, ($s2) +/* 343CFC E003267C 2402F000 */ addiu $v0, $zero, -0x1000 +/* 343D00 E0032680 00A22825 */ or $a1, $a1, $v0 +/* 343D04 E0032684 3C02DA38 */ lui $v0, 0xda38 +/* 343D08 E0032688 3063FFFF */ andi $v1, $v1, 0xffff +/* 343D0C E003268C 00031980 */ sll $v1, $v1, 6 +/* 343D10 E0032690 ACC50004 */ sw $a1, 4($a2) +/* 343D14 E0032694 AC820000 */ sw $v0, ($a0) +/* 343D18 E0032698 8EE20000 */ lw $v0, ($s7) +/* 343D1C E003269C 00761821 */ addu $v1, $v1, $s6 +/* 343D20 E00326A0 AC900008 */ sw $s0, 8($a0) +/* 343D24 E00326A4 AC870010 */ sw $a3, 0x10($a0) +/* 343D28 E00326A8 00431021 */ addu $v0, $v0, $v1 +/* 343D2C E00326AC AC820004 */ sw $v0, 4($a0) +/* 343D30 E00326B0 3C020900 */ lui $v0, 0x900 +/* 343D34 E00326B4 244208F0 */ addiu $v0, $v0, 0x8f0 +/* 343D38 E00326B8 AC82000C */ sw $v0, 0xc($a0) +/* 343D3C E00326BC 24020040 */ addiu $v0, $zero, 0x40 +/* 343D40 E00326C0 AC820014 */ sw $v0, 0x14($a0) +.LE00326C4: +/* 343D44 E00326C4 2631003C */ addiu $s1, $s1, 0x3c +/* 343D48 E00326C8 27A40018 */ addiu $a0, $sp, 0x18 +/* 343D4C E00326CC 8E430000 */ lw $v1, ($s2) +/* 343D50 E00326D0 3C02DE00 */ lui $v0, 0xde00 +/* 343D54 E00326D4 0060282D */ daddu $a1, $v1, $zero +/* 343D58 E00326D8 ACA20000 */ sw $v0, ($a1) +/* 343D5C E00326DC 3C020900 */ lui $v0, 0x900 +/* 343D60 E00326E0 24420910 */ addiu $v0, $v0, 0x910 +/* 343D64 E00326E4 ACA20004 */ sw $v0, 4($a1) +/* 343D68 E00326E8 8E250020 */ lw $a1, 0x20($s1) +/* 343D6C E00326EC 24630008 */ addiu $v1, $v1, 8 +/* 343D70 E00326F0 AE430000 */ sw $v1, ($s2) +/* 343D74 E00326F4 00A0302D */ daddu $a2, $a1, $zero +/* 343D78 E00326F8 0C080110 */ jal func_E0200440 +/* 343D7C E00326FC 00A0382D */ daddu $a3, $a1, $zero +/* 343D80 E0032700 4406B000 */ mfc1 $a2, $f22 +/* 343D84 E0032704 02A0202D */ daddu $a0, $s5, $zero +/* 343D88 E0032708 E7B40010 */ swc1 $f20, 0x10($sp) +/* 343D8C E003270C 8E250028 */ lw $a1, 0x28($s1) +/* 343D90 E0032710 0C080104 */ jal func_E0200410 +/* 343D94 E0032714 00C0382D */ daddu $a3, $a2, $zero +/* 343D98 E0032718 02A0202D */ daddu $a0, $s5, $zero +/* 343D9C E003271C 27A50018 */ addiu $a1, $sp, 0x18 +/* 343DA0 E0032720 0C080114 */ jal func_E0200450 +/* 343DA4 E0032724 00A0302D */ daddu $a2, $a1, $zero +/* 343DA8 E0032728 27A40018 */ addiu $a0, $sp, 0x18 +/* 343DAC E003272C 96850000 */ lhu $a1, ($s4) +/* 343DB0 E0032730 8EE20000 */ lw $v0, ($s7) +/* 343DB4 E0032734 00052980 */ sll $a1, $a1, 6 +/* 343DB8 E0032738 00B62821 */ addu $a1, $a1, $s6 +/* 343DBC E003273C 0C080118 */ jal func_E0200460 +/* 343DC0 E0032740 00452821 */ addu $a1, $v0, $a1 +/* 343DC4 E0032744 24020001 */ addiu $v0, $zero, 1 +/* 343DC8 E0032748 12620006 */ beq $s3, $v0, .LE0032764 +/* 343DCC E003274C 24020002 */ addiu $v0, $zero, 2 +/* 343DD0 E0032750 12620005 */ beq $s3, $v0, .LE0032768 +/* 343DD4 E0032754 240400FF */ addiu $a0, $zero, 0xff +/* 343DD8 E0032758 8E240038 */ lw $a0, 0x38($s1) +/* 343DDC E003275C 0800C9DB */ j .LE003276C +/* 343DE0 E0032760 2A620003 */ slti $v0, $s3, 3 +.LE0032764: +/* 343DE4 E0032764 240400C0 */ addiu $a0, $zero, 0xc0 +.LE0032768: +/* 343DE8 E0032768 2A620003 */ slti $v0, $s3, 3 +.LE003276C: +/* 343DEC E003276C 14400005 */ bnez $v0, .LE0032784 +/* 343DF0 E0032770 240300FF */ addiu $v1, $zero, 0xff +/* 343DF4 E0032774 2A620008 */ slti $v0, $s3, 8 +/* 343DF8 E0032778 10400002 */ beqz $v0, .LE0032784 +/* 343DFC E003277C 00131100 */ sll $v0, $s3, 4 +/* 343E00 E0032780 24430080 */ addiu $v1, $v0, 0x80 +.LE0032784: +/* 343E04 E0032784 3C080001 */ lui $t0, 1 +/* 343E08 E0032788 35081630 */ ori $t0, $t0, 0x1630 +/* 343E0C E003278C 3C0A5555 */ lui $t2, 0x5555 +/* 343E10 E0032790 354A5556 */ ori $t2, $t2, 0x5556 +/* 343E14 E0032794 3C09D838 */ lui $t1, 0xd838 +/* 343E18 E0032798 3C06800A */ lui $a2, 0x800a +/* 343E1C E003279C 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 343E20 E00327A0 35290002 */ ori $t1, $t1, 2 +/* 343E24 E00327A4 3C02FA00 */ lui $v0, 0xfa00 +/* 343E28 E00327A8 306300FF */ andi $v1, $v1, 0xff +/* 343E2C E00327AC 00031A00 */ sll $v1, $v1, 8 +/* 343E30 E00327B0 8CC50000 */ lw $a1, ($a2) +/* 343E34 E00327B4 026A0018 */ mult $s3, $t2 +/* 343E38 E00327B8 00A0382D */ daddu $a3, $a1, $zero +/* 343E3C E00327BC 24A50008 */ addiu $a1, $a1, 8 +/* 343E40 E00327C0 ACC50000 */ sw $a1, ($a2) +/* 343E44 E00327C4 ACE20000 */ sw $v0, ($a3) +/* 343E48 E00327C8 308200FF */ andi $v0, $a0, 0xff +/* 343E4C E00327CC 3C04FFFF */ lui $a0, 0xffff +/* 343E50 E00327D0 00441025 */ or $v0, $v0, $a0 +/* 343E54 E00327D4 00621825 */ or $v1, $v1, $v0 +/* 343E58 E00327D8 24A20008 */ addiu $v0, $a1, 8 +/* 343E5C E00327DC 3C048007 */ lui $a0, 0x8007 +/* 343E60 E00327E0 248441F0 */ addiu $a0, $a0, 0x41f0 +/* 343E64 E00327E4 ACE30004 */ sw $v1, 4($a3) +/* 343E68 E00327E8 ACC20000 */ sw $v0, ($a2) +/* 343E6C E00327EC 94820000 */ lhu $v0, ($a0) +/* 343E70 E00327F0 3C03DA38 */ lui $v1, 0xda38 +/* 343E74 E00327F4 ACA30000 */ sw $v1, ($a1) +/* 343E78 E00327F8 24430001 */ addiu $v1, $v0, 1 +/* 343E7C E00327FC 3042FFFF */ andi $v0, $v0, 0xffff +/* 343E80 E0032800 00021180 */ sll $v0, $v0, 6 +/* 343E84 E0032804 A4830000 */ sh $v1, ($a0) +/* 343E88 E0032808 3C03800A */ lui $v1, 0x800a +/* 343E8C E003280C 8C63A674 */ lw $v1, -0x598c($v1) +/* 343E90 E0032810 00481021 */ addu $v0, $v0, $t0 +/* 343E94 E0032814 00621821 */ addu $v1, $v1, $v0 +/* 343E98 E0032818 24A20010 */ addiu $v0, $a1, 0x10 +/* 343E9C E003281C ACA30004 */ sw $v1, 4($a1) +/* 343EA0 E0032820 ACC20000 */ sw $v0, ($a2) +/* 343EA4 E0032824 3C02DE00 */ lui $v0, 0xde00 +/* 343EA8 E0032828 ACA20008 */ sw $v0, 8($a1) +/* 343EAC E003282C 24A20018 */ addiu $v0, $a1, 0x18 +/* 343EB0 E0032830 00131FC3 */ sra $v1, $s3, 0x1f +/* 343EB4 E0032834 ACC20000 */ sw $v0, ($a2) +/* 343EB8 E0032838 00005810 */ mfhi $t3 +/* 343EBC E003283C 01631823 */ subu $v1, $t3, $v1 +/* 343EC0 E0032840 00031040 */ sll $v0, $v1, 1 +/* 343EC4 E0032844 00431021 */ addu $v0, $v0, $v1 +/* 343EC8 E0032848 02621023 */ subu $v0, $s3, $v0 +/* 343ECC E003284C 00021080 */ sll $v0, $v0, 2 +/* 343ED0 E0032850 3C03E003 */ lui $v1, 0xe003 +/* 343ED4 E0032854 00621821 */ addu $v1, $v1, $v0 +/* 343ED8 E0032858 8C6328B0 */ lw $v1, 0x28b0($v1) +/* 343EDC E003285C 24A20020 */ addiu $v0, $a1, 0x20 +/* 343EE0 E0032860 ACC20000 */ sw $v0, ($a2) +/* 343EE4 E0032864 24020040 */ addiu $v0, $zero, 0x40 +/* 343EE8 E0032868 ACA90010 */ sw $t1, 0x10($a1) +/* 343EEC E003286C ACA20014 */ sw $v0, 0x14($a1) +/* 343EF0 E0032870 ACA90018 */ sw $t1, 0x18($a1) +/* 343EF4 E0032874 ACA2001C */ sw $v0, 0x1c($a1) +/* 343EF8 E0032878 ACA3000C */ sw $v1, 0xc($a1) +/* 343EFC E003287C 8FBF00B8 */ lw $ra, 0xb8($sp) +/* 343F00 E0032880 8FB700B4 */ lw $s7, 0xb4($sp) +/* 343F04 E0032884 8FB600B0 */ lw $s6, 0xb0($sp) +/* 343F08 E0032888 8FB500AC */ lw $s5, 0xac($sp) +/* 343F0C E003288C 8FB400A8 */ lw $s4, 0xa8($sp) +/* 343F10 E0032890 8FB300A4 */ lw $s3, 0xa4($sp) +/* 343F14 E0032894 8FB200A0 */ lw $s2, 0xa0($sp) +/* 343F18 E0032898 8FB1009C */ lw $s1, 0x9c($sp) +/* 343F1C E003289C 8FB00098 */ lw $s0, 0x98($sp) +/* 343F20 E00328A0 D7B600C8 */ ldc1 $f22, 0xc8($sp) +/* 343F24 E00328A4 D7B400C0 */ ldc1 $f20, 0xc0($sp) +/* 343F28 E00328A8 03E00008 */ jr $ra +/* 343F2C E00328AC 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/asm/nonmatchings/code_344A10/func_E0034000.s b/asm/nonmatchings/code_344A10/func_E0034000.s new file mode 100644 index 0000000000..9d15da1ae2 --- /dev/null +++ b/asm/nonmatchings/code_344A10/func_E0034000.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0034000 +/* 344A10 E0034000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 344A14 E0034004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 344A18 E0034008 4485A000 */ mtc1 $a1, $f20 +/* 344A1C E003400C AFB1002C */ sw $s1, 0x2c($sp) +/* 344A20 E0034010 0080882D */ daddu $s1, $a0, $zero +/* 344A24 E0034014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 344A28 E0034018 4486B000 */ mtc1 $a2, $f22 +/* 344A2C E003401C 27A40010 */ addiu $a0, $sp, 0x10 +/* 344A30 E0034020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 344A34 E0034024 4487C000 */ mtc1 $a3, $f24 +/* 344A38 E0034028 3C02E003 */ lui $v0, 0xe003 +/* 344A3C E003402C 24424108 */ addiu $v0, $v0, 0x4108 +/* 344A40 E0034030 AFA20018 */ sw $v0, 0x18($sp) +/* 344A44 E0034034 3C02E003 */ lui $v0, 0xe003 +/* 344A48 E0034038 24424110 */ addiu $v0, $v0, 0x4110 +/* 344A4C E003403C AFA2001C */ sw $v0, 0x1c($sp) +/* 344A50 E0034040 3C02E003 */ lui $v0, 0xe003 +/* 344A54 E0034044 244242C8 */ addiu $v0, $v0, 0x42c8 +/* 344A58 E0034048 AFA20020 */ sw $v0, 0x20($sp) +/* 344A5C E003404C 2402001A */ addiu $v0, $zero, 0x1a +/* 344A60 E0034050 AFBF0030 */ sw $ra, 0x30($sp) +/* 344A64 E0034054 AFB00028 */ sw $s0, 0x28($sp) +/* 344A68 E0034058 AFA00010 */ sw $zero, 0x10($sp) +/* 344A6C E003405C AFA00024 */ sw $zero, 0x24($sp) +/* 344A70 E0034060 0C080124 */ jal func_E0200490 +/* 344A74 E0034064 AFA20014 */ sw $v0, 0x14($sp) +/* 344A78 E0034068 24040034 */ addiu $a0, $zero, 0x34 +/* 344A7C E003406C 24030001 */ addiu $v1, $zero, 1 +/* 344A80 E0034070 0040802D */ daddu $s0, $v0, $zero +/* 344A84 E0034074 0C08012C */ jal func_E02004B0 +/* 344A88 E0034078 AE030008 */ sw $v1, 8($s0) +/* 344A8C E003407C 0040182D */ daddu $v1, $v0, $zero +/* 344A90 E0034080 14600003 */ bnez $v1, .LE0034090 +/* 344A94 E0034084 AE02000C */ sw $v0, 0xc($s0) +.LE0034088: +/* 344A98 E0034088 0800D022 */ j .LE0034088 +/* 344A9C E003408C 00000000 */ nop +.LE0034090: +/* 344AA0 E0034090 AC710000 */ sw $s1, ($v1) +/* 344AA4 E0034094 E4740004 */ swc1 $f20, 4($v1) +/* 344AA8 E0034098 E4760008 */ swc1 $f22, 8($v1) +/* 344AAC E003409C E478000C */ swc1 $f24, 0xc($v1) +/* 344AB0 E00340A0 8FA20060 */ lw $v0, 0x60($sp) +/* 344AB4 E00340A4 AC600030 */ sw $zero, 0x30($v1) +/* 344AB8 E00340A8 AC600024 */ sw $zero, 0x24($v1) +/* 344ABC E00340AC AC600010 */ sw $zero, 0x10($v1) +/* 344AC0 E00340B0 16200005 */ bnez $s1, .LE00340C8 +/* 344AC4 E00340B4 AC62002C */ sw $v0, 0x2c($v1) +/* 344AC8 E00340B8 3C0141F0 */ lui $at, 0x41f0 +/* 344ACC E00340BC 44810000 */ mtc1 $at, $f0 +/* 344AD0 E00340C0 0800D033 */ j .LE00340CC +/* 344AD4 E00340C4 E4600014 */ swc1 $f0, 0x14($v1) +.LE00340C8: +/* 344AD8 E00340C8 AC600014 */ sw $zero, 0x14($v1) +.LE00340CC: +/* 344ADC E00340CC 3C013F4C */ lui $at, 0x3f4c +/* 344AE0 E00340D0 3421CCCD */ ori $at, $at, 0xcccd +/* 344AE4 E00340D4 44810000 */ mtc1 $at, $f0 +/* 344AE8 E00340D8 AC600018 */ sw $zero, 0x18($v1) +/* 344AEC E00340DC AC600028 */ sw $zero, 0x28($v1) +/* 344AF0 E00340E0 AC600020 */ sw $zero, 0x20($v1) +/* 344AF4 E00340E4 E460001C */ swc1 $f0, 0x1c($v1) +/* 344AF8 E00340E8 8FBF0030 */ lw $ra, 0x30($sp) +/* 344AFC E00340EC 8FB1002C */ lw $s1, 0x2c($sp) +/* 344B00 E00340F0 8FB00028 */ lw $s0, 0x28($sp) +/* 344B04 E00340F4 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 344B08 E00340F8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 344B0C E00340FC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 344B10 E0034100 03E00008 */ jr $ra +/* 344B14 E0034104 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_344A10/func_E0034108.s b/asm/nonmatchings/code_344A10/func_E0034108.s new file mode 100644 index 0000000000..32681b8ee6 --- /dev/null +++ b/asm/nonmatchings/code_344A10/func_E0034108.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0034108 +/* 344B18 E0034108 03E00008 */ jr $ra +/* 344B1C E003410C 00000000 */ nop diff --git a/asm/nonmatchings/code_344A10/func_E0034110.s b/asm/nonmatchings/code_344A10/func_E0034110.s new file mode 100644 index 0000000000..248c00a36e --- /dev/null +++ b/asm/nonmatchings/code_344A10/func_E0034110.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0034110 +/* 344B20 E0034110 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 344B24 E0034114 AFBF0018 */ sw $ra, 0x18($sp) +/* 344B28 E0034118 AFB10014 */ sw $s1, 0x14($sp) +/* 344B2C E003411C AFB00010 */ sw $s0, 0x10($sp) +/* 344B30 E0034120 8C90000C */ lw $s0, 0xc($a0) +/* 344B34 E0034124 8E02002C */ lw $v0, 0x2c($s0) +/* 344B38 E0034128 2442FFFF */ addiu $v0, $v0, -1 +/* 344B3C E003412C AE02002C */ sw $v0, 0x2c($s0) +/* 344B40 E0034130 8E020030 */ lw $v0, 0x30($s0) +/* 344B44 E0034134 8E03002C */ lw $v1, 0x2c($s0) +/* 344B48 E0034138 24420001 */ addiu $v0, $v0, 1 +/* 344B4C E003413C 04610005 */ bgez $v1, .LE0034154 +/* 344B50 E0034140 AE020030 */ sw $v0, 0x30($s0) +/* 344B54 E0034144 0C080128 */ jal func_E02004A0 +/* 344B58 E0034148 00000000 */ nop +/* 344B5C E003414C 0800D0AD */ j .LE00342B4 +/* 344B60 E0034150 00000000 */ nop +.LE0034154: +/* 344B64 E0034154 28420007 */ slti $v0, $v0, 7 +/* 344B68 E0034158 10400011 */ beqz $v0, .LE00341A0 +/* 344B6C E003415C 0060882D */ daddu $s1, $v1, $zero +/* 344B70 E0034160 240200DA */ addiu $v0, $zero, 0xda +/* 344B74 E0034164 8E030024 */ lw $v1, 0x24($s0) +/* 344B78 E0034168 3C013FE0 */ lui $at, 0x3fe0 +/* 344B7C E003416C 44810800 */ mtc1 $at, $f1 +/* 344B80 E0034170 44800000 */ mtc1 $zero, $f0 +/* 344B84 E0034174 00431023 */ subu $v0, $v0, $v1 +/* 344B88 E0034178 44821000 */ mtc1 $v0, $f2 +/* 344B8C E003417C 00000000 */ nop +/* 344B90 E0034180 468010A1 */ cvt.d.w $f2, $f2 +/* 344B94 E0034184 46201082 */ mul.d $f2, $f2, $f0 +/* 344B98 E0034188 00000000 */ nop +/* 344B9C E003418C 44830000 */ mtc1 $v1, $f0 +/* 344BA0 E0034190 00000000 */ nop +/* 344BA4 E0034194 46800021 */ cvt.d.w $f0, $f0 +/* 344BA8 E0034198 0800D06E */ j .LE00341B8 +/* 344BAC E003419C 46220000 */ add.d $f0, $f0, $f2 +.LE00341A0: +/* 344BB0 E00341A0 3C01E003 */ lui $at, 0xe003 +/* 344BB4 E00341A4 D42247B0 */ ldc1 $f2, 0x47b0($at) +/* 344BB8 E00341A8 C6000024 */ lwc1 $f0, 0x24($s0) +/* 344BBC E00341AC 46800021 */ cvt.d.w $f0, $f0 +/* 344BC0 E00341B0 46220002 */ mul.d $f0, $f0, $f2 +/* 344BC4 E00341B4 00000000 */ nop +.LE00341B8: +/* 344BC8 E00341B8 4620028D */ trunc.w.d $f10, $f0 +/* 344BCC E00341BC E60A0024 */ swc1 $f10, 0x24($s0) +/* 344BD0 E00341C0 00111040 */ sll $v0, $s1, 1 +/* 344BD4 E00341C4 00511021 */ addu $v0, $v0, $s1 +/* 344BD8 E00341C8 C6040014 */ lwc1 $f4, 0x14($s0) +/* 344BDC E00341CC 3C01E003 */ lui $at, 0xe003 +/* 344BE0 E00341D0 D42247B8 */ ldc1 $f2, 0x47b8($at) +/* 344BE4 E00341D4 46002121 */ cvt.d.s $f4, $f4 +/* 344BE8 E00341D8 46222102 */ mul.d $f4, $f4, $f2 +/* 344BEC E00341DC 00000000 */ nop +/* 344BF0 E00341E0 000210C0 */ sll $v0, $v0, 3 +/* 344BF4 E00341E4 00511021 */ addu $v0, $v0, $s1 +/* 344BF8 E00341E8 00021040 */ sll $v0, $v0, 1 +/* 344BFC E00341EC C600001C */ lwc1 $f0, 0x1c($s0) +/* 344C00 E00341F0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 344C04 E00341F4 C602001C */ lwc1 $f2, 0x1c($s0) +/* 344C08 E00341F8 C6080014 */ lwc1 $f8, 0x14($s0) +/* 344C0C E00341FC 46023180 */ add.s $f6, $f6, $f2 +/* 344C10 E0034200 3C01E003 */ lui $at, 0xe003 +/* 344C14 E0034204 D42247C0 */ ldc1 $f2, 0x47c0($at) +/* 344C18 E0034208 46000021 */ cvt.d.s $f0, $f0 +/* 344C1C E003420C 46220000 */ add.d $f0, $f0, $f2 +/* 344C20 E0034210 C6020010 */ lwc1 $f2, 0x10($s0) +/* 344C24 E0034214 44826000 */ mtc1 $v0, $f12 +/* 344C28 E0034218 00000000 */ nop +/* 344C2C E003421C 46806320 */ cvt.s.w $f12, $f12 +/* 344C30 E0034220 46081080 */ add.s $f2, $f2, $f8 +/* 344C34 E0034224 E6060018 */ swc1 $f6, 0x18($s0) +/* 344C38 E0034228 46200020 */ cvt.s.d $f0, $f0 +/* 344C3C E003422C E600001C */ swc1 $f0, 0x1c($s0) +/* 344C40 E0034230 E6020010 */ swc1 $f2, 0x10($s0) +/* 344C44 E0034234 46202120 */ cvt.s.d $f4, $f4 +/* 344C48 E0034238 0C080140 */ jal func_E0200500 +/* 344C4C E003423C E6040014 */ swc1 $f4, 0x14($s0) +/* 344C50 E0034240 3C013FE0 */ lui $at, 0x3fe0 +/* 344C54 E0034244 44811800 */ mtc1 $at, $f3 +/* 344C58 E0034248 44801000 */ mtc1 $zero, $f2 +/* 344C5C E003424C 46000021 */ cvt.d.s $f0, $f0 +/* 344C60 E0034250 46220002 */ mul.d $f0, $f0, $f2 +/* 344C64 E0034254 00000000 */ nop +/* 344C68 E0034258 00111080 */ sll $v0, $s1, 2 +/* 344C6C E003425C 3C01E003 */ lui $at, 0xe003 +/* 344C70 E0034260 D42247C8 */ ldc1 $f2, 0x47c8($at) +/* 344C74 E0034264 00511021 */ addu $v0, $v0, $s1 +/* 344C78 E0034268 46220000 */ add.d $f0, $f0, $f2 +/* 344C7C E003426C 000210C0 */ sll $v0, $v0, 3 +/* 344C80 E0034270 44826000 */ mtc1 $v0, $f12 +/* 344C84 E0034274 00000000 */ nop +/* 344C88 E0034278 46806320 */ cvt.s.w $f12, $f12 +/* 344C8C E003427C 46200020 */ cvt.s.d $f0, $f0 +/* 344C90 E0034280 0C080140 */ jal func_E0200500 +/* 344C94 E0034284 E6000020 */ swc1 $f0, 0x20($s0) +/* 344C98 E0034288 3C014280 */ lui $at, 0x4280 +/* 344C9C E003428C 44811000 */ mtc1 $at, $f2 +/* 344CA0 E0034290 00000000 */ nop +/* 344CA4 E0034294 46020002 */ mul.s $f0, $f0, $f2 +/* 344CA8 E0034298 00000000 */ nop +/* 344CAC E003429C 3C014310 */ lui $at, 0x4310 +/* 344CB0 E00342A0 44811000 */ mtc1 $at, $f2 +/* 344CB4 E00342A4 00000000 */ nop +/* 344CB8 E00342A8 46020000 */ add.s $f0, $f0, $f2 +/* 344CBC E00342AC 4600028D */ trunc.w.s $f10, $f0 +/* 344CC0 E00342B0 E60A0028 */ swc1 $f10, 0x28($s0) +.LE00342B4: +/* 344CC4 E00342B4 8FBF0018 */ lw $ra, 0x18($sp) +/* 344CC8 E00342B8 8FB10014 */ lw $s1, 0x14($sp) +/* 344CCC E00342BC 8FB00010 */ lw $s0, 0x10($sp) +/* 344CD0 E00342C0 03E00008 */ jr $ra +/* 344CD4 E00342C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_344A10/func_E00342C8.s b/asm/nonmatchings/code_344A10/func_E00342C8.s new file mode 100644 index 0000000000..7d0540d18a --- /dev/null +++ b/asm/nonmatchings/code_344A10/func_E00342C8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00342C8 +/* 344CD8 E00342C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 344CDC E00342CC 3C02E003 */ lui $v0, 0xe003 +/* 344CE0 E00342D0 24424310 */ addiu $v0, $v0, 0x4310 +/* 344CE4 E00342D4 AFA2001C */ sw $v0, 0x1c($sp) +/* 344CE8 E00342D8 24020014 */ addiu $v0, $zero, 0x14 +/* 344CEC E00342DC AFA20014 */ sw $v0, 0x14($sp) +/* 344CF0 E00342E0 2402002D */ addiu $v0, $zero, 0x2d +/* 344CF4 E00342E4 AFA40018 */ sw $a0, 0x18($sp) +/* 344CF8 E00342E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 344CFC E00342EC AFBF0020 */ sw $ra, 0x20($sp) +/* 344D00 E00342F0 0C080120 */ jal func_E0200480 +/* 344D04 E00342F4 AFA20010 */ sw $v0, 0x10($sp) +/* 344D08 E00342F8 8C430000 */ lw $v1, ($v0) +/* 344D0C E00342FC 34630002 */ ori $v1, $v1, 2 +/* 344D10 E0034300 AC430000 */ sw $v1, ($v0) +/* 344D14 E0034304 8FBF0020 */ lw $ra, 0x20($sp) +/* 344D18 E0034308 03E00008 */ jr $ra +/* 344D1C E003430C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_344A10/func_E0034310.s b/asm/nonmatchings/code_344A10/func_E0034310.s new file mode 100644 index 0000000000..475f299c50 --- /dev/null +++ b/asm/nonmatchings/code_344A10/func_E0034310.s @@ -0,0 +1,291 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0034310 +/* 344D20 E0034310 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 344D24 E0034314 3C03DB06 */ lui $v1, 0xdb06 +/* 344D28 E0034318 AFB600F8 */ sw $s6, 0xf8($sp) +/* 344D2C E003431C 3C16800A */ lui $s6, 0x800a +/* 344D30 E0034320 26D6A66C */ addiu $s6, $s6, -0x5994 +/* 344D34 E0034324 34630024 */ ori $v1, $v1, 0x24 +/* 344D38 E0034328 AFBF0104 */ sw $ra, 0x104($sp) +/* 344D3C E003432C AFBE0100 */ sw $fp, 0x100($sp) +/* 344D40 E0034330 AFB700FC */ sw $s7, 0xfc($sp) +/* 344D44 E0034334 AFB500F4 */ sw $s5, 0xf4($sp) +/* 344D48 E0034338 AFB400F0 */ sw $s4, 0xf0($sp) +/* 344D4C E003433C AFB300EC */ sw $s3, 0xec($sp) +/* 344D50 E0034340 AFB200E8 */ sw $s2, 0xe8($sp) +/* 344D54 E0034344 AFB100E4 */ sw $s1, 0xe4($sp) +/* 344D58 E0034348 AFB000E0 */ sw $s0, 0xe0($sp) +/* 344D5C E003434C F7B60110 */ sdc1 $f22, 0x110($sp) +/* 344D60 E0034350 F7B40108 */ sdc1 $f20, 0x108($sp) +/* 344D64 E0034354 8EC80000 */ lw $t0, ($s6) +/* 344D68 E0034358 8C94000C */ lw $s4, 0xc($a0) +/* 344D6C E003435C 0100102D */ daddu $v0, $t0, $zero +/* 344D70 E0034360 25080008 */ addiu $t0, $t0, 8 +/* 344D74 E0034364 8E900000 */ lw $s0, ($s4) +/* 344D78 E0034368 3C0BE700 */ lui $t3, 0xe700 +/* 344D7C E003436C AC4B0000 */ sw $t3, ($v0) +/* 344D80 E0034370 AC400004 */ sw $zero, 4($v0) +/* 344D84 E0034374 AD030000 */ sw $v1, ($t0) +/* 344D88 E0034378 8C820010 */ lw $v0, 0x10($a0) +/* 344D8C E003437C 27A40018 */ addiu $a0, $sp, 0x18 +/* 344D90 E0034380 AEC80000 */ sw $t0, ($s6) +/* 344D94 E0034384 8C43001C */ lw $v1, 0x1c($v0) +/* 344D98 E0034388 3C0BDE00 */ lui $t3, 0xde00 +/* 344D9C E003438C 3C028000 */ lui $v0, 0x8000 +/* 344DA0 E0034390 AD0B0008 */ sw $t3, 8($t0) +/* 344DA4 E0034394 00105880 */ sll $t3, $s0, 2 +/* 344DA8 E0034398 00621821 */ addu $v1, $v1, $v0 +/* 344DAC E003439C AD030004 */ sw $v1, 4($t0) +/* 344DB0 E00343A0 AFAB00D8 */ sw $t3, 0xd8($sp) +/* 344DB4 E00343A4 3C03E003 */ lui $v1, 0xe003 +/* 344DB8 E00343A8 006B1821 */ addu $v1, $v1, $t3 +/* 344DBC E00343AC 8C634788 */ lw $v1, 0x4788($v1) +/* 344DC0 E00343B0 25020008 */ addiu $v0, $t0, 8 +/* 344DC4 E00343B4 AEC20000 */ sw $v0, ($s6) +/* 344DC8 E00343B8 AD03000C */ sw $v1, 0xc($t0) +/* 344DCC E00343BC 8E850004 */ lw $a1, 4($s4) +/* 344DD0 E00343C0 8E860008 */ lw $a2, 8($s4) +/* 344DD4 E00343C4 8E87000C */ lw $a3, 0xc($s4) +/* 344DD8 E00343C8 25080010 */ addiu $t0, $t0, 0x10 +/* 344DDC E00343CC 0C080108 */ jal func_E0200420 +/* 344DE0 E00343D0 AEC80000 */ sw $t0, ($s6) +/* 344DE4 E00343D4 27B50058 */ addiu $s5, $sp, 0x58 +/* 344DE8 E00343D8 4480A000 */ mtc1 $zero, $f20 +/* 344DEC E00343DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 344DF0 E00343E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 344DF4 E00343E4 3C013F80 */ lui $at, 0x3f80 +/* 344DF8 E00343E8 4481B000 */ mtc1 $at, $f22 +/* 344DFC E00343EC 00031080 */ sll $v0, $v1, 2 +/* 344E00 E00343F0 00431021 */ addu $v0, $v0, $v1 +/* 344E04 E00343F4 00021080 */ sll $v0, $v0, 2 +/* 344E08 E00343F8 00431023 */ subu $v0, $v0, $v1 +/* 344E0C E00343FC 000218C0 */ sll $v1, $v0, 3 +/* 344E10 E0034400 00431021 */ addu $v0, $v0, $v1 +/* 344E14 E0034404 000210C0 */ sll $v0, $v0, 3 +/* 344E18 E0034408 4406A000 */ mfc1 $a2, $f20 +/* 344E1C E003440C 3C01800B */ lui $at, 0x800b +/* 344E20 E0034410 00220821 */ addu $at, $at, $v0 +/* 344E24 E0034414 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 344E28 E0034418 4407B000 */ mfc1 $a3, $f22 +/* 344E2C E003441C 46000007 */ neg.s $f0, $f0 +/* 344E30 E0034420 44050000 */ mfc1 $a1, $f0 +/* 344E34 E0034424 02A0202D */ daddu $a0, $s5, $zero +/* 344E38 E0034428 0C080104 */ jal func_E0200410 +/* 344E3C E003442C E7B40010 */ swc1 $f20, 0x10($sp) +/* 344E40 E0034430 02A0202D */ daddu $a0, $s5, $zero +/* 344E44 E0034434 27A50018 */ addiu $a1, $sp, 0x18 +/* 344E48 E0034438 27BE0098 */ addiu $fp, $sp, 0x98 +/* 344E4C E003443C 0C080114 */ jal func_E0200450 +/* 344E50 E0034440 03C0302D */ daddu $a2, $fp, $zero +/* 344E54 E0034444 8E830030 */ lw $v1, 0x30($s4) +/* 344E58 E0034448 8E970028 */ lw $s7, 0x28($s4) +/* 344E5C E003444C 00031040 */ sll $v0, $v1, 1 +/* 344E60 E0034450 16000054 */ bnez $s0, .LE00345A4 +/* 344E64 E0034454 00439821 */ addu $s3, $v0, $v1 +/* 344E68 E0034458 02A0202D */ daddu $a0, $s5, $zero +/* 344E6C E003445C 3C120001 */ lui $s2, 1 +/* 344E70 E0034460 8E850020 */ lw $a1, 0x20($s4) +/* 344E74 E0034464 36521630 */ ori $s2, $s2, 0x1630 +/* 344E78 E0034468 00A0302D */ daddu $a2, $a1, $zero +/* 344E7C E003446C 0C080110 */ jal func_E0200440 +/* 344E80 E0034470 00A0382D */ daddu $a3, $a1, $zero +/* 344E84 E0034474 02A0202D */ daddu $a0, $s5, $zero +/* 344E88 E0034478 03C0282D */ daddu $a1, $fp, $zero +/* 344E8C E003447C 0C080114 */ jal func_E0200450 +/* 344E90 E0034480 27A60018 */ addiu $a2, $sp, 0x18 +/* 344E94 E0034484 27A40018 */ addiu $a0, $sp, 0x18 +/* 344E98 E0034488 3C108007 */ lui $s0, 0x8007 +/* 344E9C E003448C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 344EA0 E0034490 3C11800A */ lui $s1, 0x800a +/* 344EA4 E0034494 2631A674 */ addiu $s1, $s1, -0x598c +/* 344EA8 E0034498 96050000 */ lhu $a1, ($s0) +/* 344EAC E003449C 8E220000 */ lw $v0, ($s1) +/* 344EB0 E00344A0 00052980 */ sll $a1, $a1, 6 +/* 344EB4 E00344A4 00B22821 */ addu $a1, $a1, $s2 +/* 344EB8 E00344A8 0C080118 */ jal func_E0200460 +/* 344EBC E00344AC 00452821 */ addu $a1, $v0, $a1 +/* 344EC0 E00344B0 3C022AAA */ lui $v0, 0x2aaa +/* 344EC4 E00344B4 3442AAAB */ ori $v0, $v0, 0xaaab +/* 344EC8 E00344B8 3C09D838 */ lui $t1, 0xd838 +/* 344ECC E00344BC 35290002 */ ori $t1, $t1, 2 +/* 344ED0 E00344C0 02620018 */ mult $s3, $v0 +/* 344ED4 E00344C4 8EC50000 */ lw $a1, ($s6) +/* 344ED8 E00344C8 3C02FA00 */ lui $v0, 0xfa00 +/* 344EDC E00344CC 00A0402D */ daddu $t0, $a1, $zero +/* 344EE0 E00344D0 24A50008 */ addiu $a1, $a1, 8 +/* 344EE4 E00344D4 AEC50000 */ sw $a1, ($s6) +/* 344EE8 E00344D8 AD020000 */ sw $v0, ($t0) +/* 344EEC E00344DC 001317C3 */ sra $v0, $s3, 0x1f +/* 344EF0 E00344E0 96040000 */ lhu $a0, ($s0) +/* 344EF4 E00344E4 00005810 */ mfhi $t3 +/* 344EF8 E00344E8 000B1883 */ sra $v1, $t3, 2 +/* 344EFC E00344EC 00621823 */ subu $v1, $v1, $v0 +/* 344F00 E00344F0 00031040 */ sll $v0, $v1, 1 +/* 344F04 E00344F4 00431021 */ addu $v0, $v0, $v1 +/* 344F08 E00344F8 000210C0 */ sll $v0, $v0, 3 +/* 344F0C E00344FC 02629823 */ subu $s3, $s3, $v0 +/* 344F10 E0034500 3C03E003 */ lui $v1, 0xe003 +/* 344F14 E0034504 00731821 */ addu $v1, $v1, $s3 +/* 344F18 E0034508 90634790 */ lbu $v1, 0x4790($v1) +/* 344F1C E003450C 3C06E003 */ lui $a2, 0xe003 +/* 344F20 E0034510 00D33021 */ addu $a2, $a2, $s3 +/* 344F24 E0034514 90C64791 */ lbu $a2, 0x4791($a2) +/* 344F28 E0034518 3C07E003 */ lui $a3, 0xe003 +/* 344F2C E003451C 00F33821 */ addu $a3, $a3, $s3 +/* 344F30 E0034520 90E74792 */ lbu $a3, 0x4792($a3) +/* 344F34 E0034524 24A20008 */ addiu $v0, $a1, 8 +/* 344F38 E0034528 AEC20000 */ sw $v0, ($s6) +/* 344F3C E003452C 24820001 */ addiu $v0, $a0, 1 +/* 344F40 E0034530 A6020000 */ sh $v0, ($s0) +/* 344F44 E0034534 24A20010 */ addiu $v0, $a1, 0x10 +/* 344F48 E0034538 AEC20000 */ sw $v0, ($s6) +/* 344F4C E003453C 32E200FF */ andi $v0, $s7, 0xff +/* 344F50 E0034540 3084FFFF */ andi $a0, $a0, 0xffff +/* 344F54 E0034544 00042180 */ sll $a0, $a0, 6 +/* 344F58 E0034548 00922021 */ addu $a0, $a0, $s2 +/* 344F5C E003454C 00031E00 */ sll $v1, $v1, 0x18 +/* 344F60 E0034550 00063400 */ sll $a2, $a2, 0x10 +/* 344F64 E0034554 00661825 */ or $v1, $v1, $a2 +/* 344F68 E0034558 00073A00 */ sll $a3, $a3, 8 +/* 344F6C E003455C 00671825 */ or $v1, $v1, $a3 +/* 344F70 E0034560 00621825 */ or $v1, $v1, $v0 +/* 344F74 E0034564 3C02DA38 */ lui $v0, 0xda38 +/* 344F78 E0034568 AD030004 */ sw $v1, 4($t0) +/* 344F7C E003456C ACA20000 */ sw $v0, ($a1) +/* 344F80 E0034570 8E220000 */ lw $v0, ($s1) +/* 344F84 E0034574 3C0BDE00 */ lui $t3, 0xde00 +/* 344F88 E0034578 ACAB0008 */ sw $t3, 8($a1) +/* 344F8C E003457C 00441021 */ addu $v0, $v0, $a0 +/* 344F90 E0034580 ACA20004 */ sw $v0, 4($a1) +/* 344F94 E0034584 3C03E003 */ lui $v1, 0xe003 +/* 344F98 E0034588 8C634780 */ lw $v1, 0x4780($v1) +/* 344F9C E003458C 24A20018 */ addiu $v0, $a1, 0x18 +/* 344FA0 E0034590 AEC20000 */ sw $v0, ($s6) +/* 344FA4 E0034594 24020040 */ addiu $v0, $zero, 0x40 +/* 344FA8 E0034598 ACA90010 */ sw $t1, 0x10($a1) +/* 344FAC E003459C ACA20014 */ sw $v0, 0x14($a1) +/* 344FB0 E00345A0 ACA3000C */ sw $v1, 0xc($a1) +.LE00345A4: +/* 344FB4 E00345A4 8E970024 */ lw $s7, 0x24($s4) +/* 344FB8 E00345A8 2AE20100 */ slti $v0, $s7, 0x100 +/* 344FBC E00345AC 50400001 */ beql $v0, $zero, .LE00345B4 +/* 344FC0 E00345B0 241700FF */ addiu $s7, $zero, 0xff +.LE00345B4: +/* 344FC4 E00345B4 1AE0005A */ blez $s7, .LE0034720 +/* 344FC8 E00345B8 02A0202D */ daddu $a0, $s5, $zero +/* 344FCC E00345BC 3C120001 */ lui $s2, 1 +/* 344FD0 E00345C0 8E850018 */ lw $a1, 0x18($s4) +/* 344FD4 E00345C4 36521630 */ ori $s2, $s2, 0x1630 +/* 344FD8 E00345C8 00A0302D */ daddu $a2, $a1, $zero +/* 344FDC E00345CC 0C080110 */ jal func_E0200440 +/* 344FE0 E00345D0 00A0382D */ daddu $a3, $a1, $zero +/* 344FE4 E00345D4 02A0202D */ daddu $a0, $s5, $zero +/* 344FE8 E00345D8 03C0282D */ daddu $a1, $fp, $zero +/* 344FEC E00345DC 0C080114 */ jal func_E0200450 +/* 344FF0 E00345E0 27A60018 */ addiu $a2, $sp, 0x18 +/* 344FF4 E00345E4 4406A000 */ mfc1 $a2, $f20 +/* 344FF8 E00345E8 02A0202D */ daddu $a0, $s5, $zero +/* 344FFC E00345EC E7B60010 */ swc1 $f22, 0x10($sp) +/* 345000 E00345F0 8E850010 */ lw $a1, 0x10($s4) +/* 345004 E00345F4 0C080104 */ jal func_E0200410 +/* 345008 E00345F8 00C0382D */ daddu $a3, $a2, $zero +/* 34500C E00345FC 02A0202D */ daddu $a0, $s5, $zero +/* 345010 E0034600 27A50018 */ addiu $a1, $sp, 0x18 +/* 345014 E0034604 0C080114 */ jal func_E0200450 +/* 345018 E0034608 00A0302D */ daddu $a2, $a1, $zero +/* 34501C E003460C 27A40018 */ addiu $a0, $sp, 0x18 +/* 345020 E0034610 3C108007 */ lui $s0, 0x8007 +/* 345024 E0034614 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 345028 E0034618 3C11800A */ lui $s1, 0x800a +/* 34502C E003461C 2631A674 */ addiu $s1, $s1, -0x598c +/* 345030 E0034620 96050000 */ lhu $a1, ($s0) +/* 345034 E0034624 8E220000 */ lw $v0, ($s1) +/* 345038 E0034628 00052980 */ sll $a1, $a1, 6 +/* 34503C E003462C 00B22821 */ addu $a1, $a1, $s2 +/* 345040 E0034630 0C080118 */ jal func_E0200460 +/* 345044 E0034634 00452821 */ addu $a1, $v0, $a1 +/* 345048 E0034638 3C0AD838 */ lui $t2, 0xd838 +/* 34504C E003463C 8EC50000 */ lw $a1, ($s6) +/* 345050 E0034640 3C08FA00 */ lui $t0, 0xfa00 +/* 345054 E0034644 00A0482D */ daddu $t1, $a1, $zero +/* 345058 E0034648 24A50008 */ addiu $a1, $a1, 8 +/* 34505C E003464C AEC50000 */ sw $a1, ($s6) +/* 345060 E0034650 AD280000 */ sw $t0, ($t1) +/* 345064 E0034654 3C04E003 */ lui $a0, 0xe003 +/* 345068 E0034658 00932021 */ addu $a0, $a0, $s3 +/* 34506C E003465C 90844790 */ lbu $a0, 0x4790($a0) +/* 345070 E0034660 3C03E003 */ lui $v1, 0xe003 +/* 345074 E0034664 00731821 */ addu $v1, $v1, $s3 +/* 345078 E0034668 90634791 */ lbu $v1, 0x4791($v1) +/* 34507C E003466C 3C07E003 */ lui $a3, 0xe003 +/* 345080 E0034670 00F33821 */ addu $a3, $a3, $s3 +/* 345084 E0034674 90E74792 */ lbu $a3, 0x4792($a3) +/* 345088 E0034678 24A20008 */ addiu $v0, $a1, 8 +/* 34508C E003467C AEC20000 */ sw $v0, ($s6) +/* 345090 E0034680 96060000 */ lhu $a2, ($s0) +/* 345094 E0034684 24A20010 */ addiu $v0, $a1, 0x10 +/* 345098 E0034688 AEC20000 */ sw $v0, ($s6) +/* 34509C E003468C 24C20001 */ addiu $v0, $a2, 1 +/* 3450A0 E0034690 A6020000 */ sh $v0, ($s0) +/* 3450A4 E0034694 24A20018 */ addiu $v0, $a1, 0x18 +/* 3450A8 E0034698 00042600 */ sll $a0, $a0, 0x18 +/* 3450AC E003469C 00031C00 */ sll $v1, $v1, 0x10 +/* 3450B0 E00346A0 00832025 */ or $a0, $a0, $v1 +/* 3450B4 E00346A4 00073A00 */ sll $a3, $a3, 8 +/* 3450B8 E00346A8 00872025 */ or $a0, $a0, $a3 +/* 3450BC E00346AC 32E300FF */ andi $v1, $s7, 0xff +/* 3450C0 E00346B0 00832025 */ or $a0, $a0, $v1 +/* 3450C4 E00346B4 AEC20000 */ sw $v0, ($s6) +/* 3450C8 E00346B8 2402FF00 */ addiu $v0, $zero, -0x100 +/* 3450CC E00346BC 00621825 */ or $v1, $v1, $v0 +/* 3450D0 E00346C0 3C02DA38 */ lui $v0, 0xda38 +/* 3450D4 E00346C4 30C6FFFF */ andi $a2, $a2, 0xffff +/* 3450D8 E00346C8 00063180 */ sll $a2, $a2, 6 +/* 3450DC E00346CC 00D23021 */ addu $a2, $a2, $s2 +/* 3450E0 E00346D0 AD240004 */ sw $a0, 4($t1) +/* 3450E4 E00346D4 ACA80000 */ sw $t0, ($a1) +/* 3450E8 E00346D8 ACA30004 */ sw $v1, 4($a1) +/* 3450EC E00346DC ACA20008 */ sw $v0, 8($a1) +/* 3450F0 E00346E0 8E220000 */ lw $v0, ($s1) +/* 3450F4 E00346E4 3C0BDE00 */ lui $t3, 0xde00 +/* 3450F8 E00346E8 ACAB0010 */ sw $t3, 0x10($a1) +/* 3450FC E00346EC 00461021 */ addu $v0, $v0, $a2 +/* 345100 E00346F0 ACA2000C */ sw $v0, 0xc($a1) +/* 345104 E00346F4 8FAB00D8 */ lw $t3, 0xd8($sp) +/* 345108 E00346F8 354A0002 */ ori $t2, $t2, 2 +/* 34510C E00346FC 3C03E003 */ lui $v1, 0xe003 +/* 345110 E0034700 006B1821 */ addu $v1, $v1, $t3 +/* 345114 E0034704 8C634780 */ lw $v1, 0x4780($v1) +/* 345118 E0034708 24A20020 */ addiu $v0, $a1, 0x20 +/* 34511C E003470C AEC20000 */ sw $v0, ($s6) +/* 345120 E0034710 24020040 */ addiu $v0, $zero, 0x40 +/* 345124 E0034714 ACAA0018 */ sw $t2, 0x18($a1) +/* 345128 E0034718 ACA2001C */ sw $v0, 0x1c($a1) +/* 34512C E003471C ACA30014 */ sw $v1, 0x14($a1) +.LE0034720: +/* 345130 E0034720 8EC20000 */ lw $v0, ($s6) +/* 345134 E0034724 0040182D */ daddu $v1, $v0, $zero +/* 345138 E0034728 24420008 */ addiu $v0, $v0, 8 +/* 34513C E003472C 3C0BE700 */ lui $t3, 0xe700 +/* 345140 E0034730 AEC20000 */ sw $v0, ($s6) +/* 345144 E0034734 AC6B0000 */ sw $t3, ($v1) +/* 345148 E0034738 AC600004 */ sw $zero, 4($v1) +/* 34514C E003473C 8FBF0104 */ lw $ra, 0x104($sp) +/* 345150 E0034740 8FBE0100 */ lw $fp, 0x100($sp) +/* 345154 E0034744 8FB700FC */ lw $s7, 0xfc($sp) +/* 345158 E0034748 8FB600F8 */ lw $s6, 0xf8($sp) +/* 34515C E003474C 8FB500F4 */ lw $s5, 0xf4($sp) +/* 345160 E0034750 8FB400F0 */ lw $s4, 0xf0($sp) +/* 345164 E0034754 8FB300EC */ lw $s3, 0xec($sp) +/* 345168 E0034758 8FB200E8 */ lw $s2, 0xe8($sp) +/* 34516C E003475C 8FB100E4 */ lw $s1, 0xe4($sp) +/* 345170 E0034760 8FB000E0 */ lw $s0, 0xe0($sp) +/* 345174 E0034764 D7B60110 */ ldc1 $f22, 0x110($sp) +/* 345178 E0034768 D7B40108 */ ldc1 $f20, 0x108($sp) +/* 34517C E003476C 03E00008 */ jr $ra +/* 345180 E0034770 27BD0118 */ addiu $sp, $sp, 0x118 +/* 345184 E0034774 00000000 */ nop +/* 345188 E0034778 00000000 */ nop +/* 34518C E003477C 00000000 */ nop diff --git a/asm/nonmatchings/code_3454E0/func_E0036000.s b/asm/nonmatchings/code_3454E0/func_E0036000.s new file mode 100644 index 0000000000..d7d0c5b29d --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E0036000.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0036000 +/* 3454E0 E0036000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 3454E4 E0036004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3454E8 E0036008 4485A000 */ mtc1 $a1, $f20 +/* 3454EC E003600C AFB1002C */ sw $s1, 0x2c($sp) +/* 3454F0 E0036010 0080882D */ daddu $s1, $a0, $zero +/* 3454F4 E0036014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3454F8 E0036018 4486B000 */ mtc1 $a2, $f22 +/* 3454FC E003601C 27A40010 */ addiu $a0, $sp, 0x10 +/* 345500 E0036020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 345504 E0036024 4487C000 */ mtc1 $a3, $f24 +/* 345508 E0036028 3C02E003 */ lui $v0, 0xe003 +/* 34550C E003602C 244260DC */ addiu $v0, $v0, 0x60dc +/* 345510 E0036030 AFA20018 */ sw $v0, 0x18($sp) +/* 345514 E0036034 3C02E003 */ lui $v0, 0xe003 +/* 345518 E0036038 244260E4 */ addiu $v0, $v0, 0x60e4 +/* 34551C E003603C AFA2001C */ sw $v0, 0x1c($sp) +/* 345520 E0036040 3C02E003 */ lui $v0, 0xe003 +/* 345524 E0036044 244261D8 */ addiu $v0, $v0, 0x61d8 +/* 345528 E0036048 AFA20020 */ sw $v0, 0x20($sp) +/* 34552C E003604C 2402001B */ addiu $v0, $zero, 0x1b +/* 345530 E0036050 AFBF0030 */ sw $ra, 0x30($sp) +/* 345534 E0036054 AFB00028 */ sw $s0, 0x28($sp) +/* 345538 E0036058 AFA00010 */ sw $zero, 0x10($sp) +/* 34553C E003605C AFA00024 */ sw $zero, 0x24($sp) +/* 345540 E0036060 0C080124 */ jal func_E0200490 +/* 345544 E0036064 AFA20014 */ sw $v0, 0x14($sp) +/* 345548 E0036068 24040020 */ addiu $a0, $zero, 0x20 +/* 34554C E003606C 24030001 */ addiu $v1, $zero, 1 +/* 345550 E0036070 0040802D */ daddu $s0, $v0, $zero +/* 345554 E0036074 0C08012C */ jal func_E02004B0 +/* 345558 E0036078 AE030008 */ sw $v1, 8($s0) +/* 34555C E003607C 0040182D */ daddu $v1, $v0, $zero +/* 345560 E0036080 14600003 */ bnez $v1, .LE0036090 +/* 345564 E0036084 AE02000C */ sw $v0, 0xc($s0) +.LE0036088: +/* 345568 E0036088 0800D822 */ j .LE0036088 +/* 34556C E003608C 00000000 */ nop +.LE0036090: +/* 345570 E0036090 24020064 */ addiu $v0, $zero, 0x64 +/* 345574 E0036094 AC620014 */ sw $v0, 0x14($v1) +/* 345578 E0036098 240200FF */ addiu $v0, $zero, 0xff +/* 34557C E003609C AC710000 */ sw $s1, ($v1) +/* 345580 E00360A0 AC600010 */ sw $zero, 0x10($v1) +/* 345584 E00360A4 E4740004 */ swc1 $f20, 4($v1) +/* 345588 E00360A8 E4760008 */ swc1 $f22, 8($v1) +/* 34558C E00360AC E478000C */ swc1 $f24, 0xc($v1) +/* 345590 E00360B0 AC62001C */ sw $v0, 0x1c($v1) +/* 345594 E00360B4 8FA20064 */ lw $v0, 0x64($sp) +/* 345598 E00360B8 AC500000 */ sw $s0, ($v0) +/* 34559C E00360BC 8FBF0030 */ lw $ra, 0x30($sp) +/* 3455A0 E00360C0 8FB1002C */ lw $s1, 0x2c($sp) +/* 3455A4 E00360C4 8FB00028 */ lw $s0, 0x28($sp) +/* 3455A8 E00360C8 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3455AC E00360CC D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3455B0 E00360D0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3455B4 E00360D4 03E00008 */ jr $ra +/* 3455B8 E00360D8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_3454E0/func_E00360DC.s b/asm/nonmatchings/code_3454E0/func_E00360DC.s new file mode 100644 index 0000000000..ca6495ba8a --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E00360DC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00360DC +/* 3455BC E00360DC 03E00008 */ jr $ra +/* 3455C0 E00360E0 00000000 */ nop diff --git a/asm/nonmatchings/code_3454E0/func_E00360E4.s b/asm/nonmatchings/code_3454E0/func_E00360E4.s new file mode 100644 index 0000000000..581885c0c5 --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E00360E4.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00360E4 +/* 3455C4 E00360E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3455C8 E00360E8 AFBF0010 */ sw $ra, 0x10($sp) +/* 3455CC E00360EC 8C85000C */ lw $a1, 0xc($a0) +/* 3455D0 E00360F0 8CA30014 */ lw $v1, 0x14($a1) +/* 3455D4 E00360F4 28620064 */ slti $v0, $v1, 0x64 +/* 3455D8 E00360F8 10400007 */ beqz $v0, .LE0036118 +/* 3455DC E00360FC 2462FFFF */ addiu $v0, $v1, -1 +/* 3455E0 E0036100 04410005 */ bgez $v0, .LE0036118 +/* 3455E4 E0036104 ACA20014 */ sw $v0, 0x14($a1) +/* 3455E8 E0036108 0C080128 */ jal func_E02004A0 +/* 3455EC E003610C 00000000 */ nop +/* 3455F0 E0036110 0800D873 */ j .LE00361CC +/* 3455F4 E0036114 00000000 */ nop +.LE0036118: +/* 3455F8 E0036118 8CA40010 */ lw $a0, 0x10($a1) +/* 3455FC E003611C 8CA30014 */ lw $v1, 0x14($a1) +/* 345600 E0036120 24820001 */ addiu $v0, $a0, 1 +/* 345604 E0036124 0040302D */ daddu $a2, $v0, $zero +/* 345608 E0036128 ACA20010 */ sw $v0, 0x10($a1) +/* 34560C E003612C 28620006 */ slti $v0, $v1, 6 +/* 345610 E0036130 10400012 */ beqz $v0, .LE003617C +/* 345614 E0036134 24020005 */ addiu $v0, $zero, 5 +/* 345618 E0036138 00431023 */ subu $v0, $v0, $v1 +/* 34561C E003613C 3C01E003 */ lui $at, 0xe003 +/* 345620 E0036140 00220821 */ addu $at, $at, $v0 +/* 345624 E0036144 90226648 */ lbu $v0, 0x6648($at) +/* 345628 E0036148 3C014316 */ lui $at, 0x4316 +/* 34562C E003614C 44811000 */ mtc1 $at, $f2 +/* 345630 E0036150 44820000 */ mtc1 $v0, $f0 +/* 345634 E0036154 00000000 */ nop +/* 345638 E0036158 46800020 */ cvt.s.w $f0, $f0 +/* 34563C E003615C 8CA2001C */ lw $v0, 0x1c($a1) +/* 345640 E0036160 46020003 */ div.s $f0, $f0, $f2 +/* 345644 E0036164 E4A00018 */ swc1 $f0, 0x18($a1) +/* 345648 E0036168 00021FC2 */ srl $v1, $v0, 0x1f +/* 34564C E003616C 00431021 */ addu $v0, $v0, $v1 +/* 345650 E0036170 00021043 */ sra $v0, $v0, 1 +/* 345654 E0036174 0800D873 */ j .LE00361CC +/* 345658 E0036178 ACA2001C */ sw $v0, 0x1c($a1) +.LE003617C: +/* 34565C E003617C 28C20007 */ slti $v0, $a2, 7 +/* 345660 E0036180 1040000B */ beqz $v0, .LE00361B0 +/* 345664 E0036184 00000000 */ nop +/* 345668 E0036188 3C02E003 */ lui $v0, 0xe003 +/* 34566C E003618C 00441021 */ addu $v0, $v0, $a0 +/* 345670 E0036190 90426640 */ lbu $v0, 0x6640($v0) +/* 345674 E0036194 3C014316 */ lui $at, 0x4316 +/* 345678 E0036198 44811000 */ mtc1 $at, $f2 +/* 34567C E003619C 44820000 */ mtc1 $v0, $f0 +/* 345680 E00361A0 00000000 */ nop +/* 345684 E00361A4 46800020 */ cvt.s.w $f0, $f0 +/* 345688 E00361A8 0800D86E */ j .LE00361B8 +/* 34568C E00361AC 46020003 */ div.s $f0, $f0, $f2 +.LE00361B0: +/* 345690 E00361B0 3C013F80 */ lui $at, 0x3f80 +/* 345694 E00361B4 44810000 */ mtc1 $at, $f0 +.LE00361B8: +/* 345698 E00361B8 28C20007 */ slti $v0, $a2, 7 +/* 34569C E00361BC 14400003 */ bnez $v0, .LE00361CC +/* 3456A0 E00361C0 E4A00018 */ swc1 $f0, 0x18($a1) +/* 3456A4 E00361C4 24020007 */ addiu $v0, $zero, 7 +/* 3456A8 E00361C8 ACA20010 */ sw $v0, 0x10($a1) +.LE00361CC: +/* 3456AC E00361CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 3456B0 E00361D0 03E00008 */ jr $ra +/* 3456B4 E00361D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3454E0/func_E00361D8.s b/asm/nonmatchings/code_3454E0/func_E00361D8.s new file mode 100644 index 0000000000..28bfe6bdaa --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E00361D8.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00361D8 +/* 3456B8 E00361D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3456BC E00361DC 3C02E003 */ lui $v0, 0xe003 +/* 3456C0 E00361E0 24426224 */ addiu $v0, $v0, 0x6224 +/* 3456C4 E00361E4 AFA2001C */ sw $v0, 0x1c($sp) +/* 3456C8 E00361E8 2402002D */ addiu $v0, $zero, 0x2d +/* 3456CC E00361EC AFA40018 */ sw $a0, 0x18($sp) +/* 3456D0 E00361F0 27A40010 */ addiu $a0, $sp, 0x10 +/* 3456D4 E00361F4 AFBF0020 */ sw $ra, 0x20($sp) +/* 3456D8 E00361F8 AFA00014 */ sw $zero, 0x14($sp) +/* 3456DC E00361FC 0C080120 */ jal func_E0200480 +/* 3456E0 E0036200 AFA20010 */ sw $v0, 0x10($sp) +/* 3456E4 E0036204 8C430000 */ lw $v1, ($v0) +/* 3456E8 E0036208 34630002 */ ori $v1, $v1, 2 +/* 3456EC E003620C AC430000 */ sw $v1, ($v0) +/* 3456F0 E0036210 8FBF0020 */ lw $ra, 0x20($sp) +/* 3456F4 E0036214 03E00008 */ jr $ra +/* 3456F8 E0036218 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3454E0/func_E003621C.s b/asm/nonmatchings/code_3454E0/func_E003621C.s new file mode 100644 index 0000000000..260bd15018 --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E003621C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003621C +/* 3456FC E003621C 03E00008 */ jr $ra +/* 345700 E0036220 00000000 */ nop diff --git a/asm/nonmatchings/code_3454E0/func_E0036224.s b/asm/nonmatchings/code_3454E0/func_E0036224.s new file mode 100644 index 0000000000..fa93752329 --- /dev/null +++ b/asm/nonmatchings/code_3454E0/func_E0036224.s @@ -0,0 +1,268 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0036224 +/* 345704 E0036224 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 345708 E0036228 0080402D */ daddu $t0, $a0, $zero +/* 34570C E003622C AFBF00B8 */ sw $ra, 0xb8($sp) +/* 345710 E0036230 AFB700B4 */ sw $s7, 0xb4($sp) +/* 345714 E0036234 AFB600B0 */ sw $s6, 0xb0($sp) +/* 345718 E0036238 AFB500AC */ sw $s5, 0xac($sp) +/* 34571C E003623C AFB400A8 */ sw $s4, 0xa8($sp) +/* 345720 E0036240 AFB300A4 */ sw $s3, 0xa4($sp) +/* 345724 E0036244 AFB200A0 */ sw $s2, 0xa0($sp) +/* 345728 E0036248 AFB1009C */ sw $s1, 0x9c($sp) +/* 34572C E003624C AFB00098 */ sw $s0, 0x98($sp) +/* 345730 E0036250 F7B800D0 */ sdc1 $f24, 0xd0($sp) +/* 345734 E0036254 F7B600C8 */ sdc1 $f22, 0xc8($sp) +/* 345738 E0036258 F7B400C0 */ sdc1 $f20, 0xc0($sp) +/* 34573C E003625C 8D07000C */ lw $a3, 0xc($t0) +/* 345740 E0036260 44800000 */ mtc1 $zero, $f0 +/* 345744 E0036264 C4F80018 */ lwc1 $f24, 0x18($a3) +/* 345748 E0036268 8CF30000 */ lw $s3, ($a3) +/* 34574C E003626C 4600C032 */ c.eq.s $f24, $f0 +/* 345750 E0036270 00000000 */ nop +/* 345754 E0036274 450100E0 */ bc1t .LE00365F8 +/* 345758 E0036278 3C04DB06 */ lui $a0, 0xdb06 +/* 34575C E003627C 3C06800A */ lui $a2, 0x800a +/* 345760 E0036280 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 345764 E0036284 34840024 */ ori $a0, $a0, 0x24 +/* 345768 E0036288 8CC50000 */ lw $a1, ($a2) +/* 34576C E003628C 3C02E700 */ lui $v0, 0xe700 +/* 345770 E0036290 00A0182D */ daddu $v1, $a1, $zero +/* 345774 E0036294 24A50008 */ addiu $a1, $a1, 8 +/* 345778 E0036298 ACC50000 */ sw $a1, ($a2) +/* 34577C E003629C AC620000 */ sw $v0, ($v1) +/* 345780 E00362A0 24A20008 */ addiu $v0, $a1, 8 +/* 345784 E00362A4 AC600004 */ sw $zero, 4($v1) +/* 345788 E00362A8 ACC20000 */ sw $v0, ($a2) +/* 34578C E00362AC ACA40000 */ sw $a0, ($a1) +/* 345790 E00362B0 8D030010 */ lw $v1, 0x10($t0) +/* 345794 E00362B4 24A20010 */ addiu $v0, $a1, 0x10 +/* 345798 E00362B8 ACC20000 */ sw $v0, ($a2) +/* 34579C E00362BC 8C63001C */ lw $v1, 0x1c($v1) +/* 3457A0 E00362C0 3C02DE00 */ lui $v0, 0xde00 +/* 3457A4 E00362C4 ACA20008 */ sw $v0, 8($a1) +/* 3457A8 E00362C8 3C020901 */ lui $v0, 0x901 +/* 3457AC E00362CC 24428100 */ addiu $v0, $v0, -0x7f00 +/* 3457B0 E00362D0 ACA2000C */ sw $v0, 0xc($a1) +/* 3457B4 E00362D4 3C028000 */ lui $v0, 0x8000 +/* 3457B8 E00362D8 00621821 */ addu $v1, $v1, $v0 +/* 3457BC E00362DC 1660000E */ bnez $s3, .LE0036318 +/* 3457C0 E00362E0 ACA30004 */ sw $v1, 4($a1) +/* 3457C4 E00362E4 24A20018 */ addiu $v0, $a1, 0x18 +/* 3457C8 E00362E8 ACC20000 */ sw $v0, ($a2) +/* 3457CC E00362EC 3C02FA00 */ lui $v0, 0xfa00 +/* 3457D0 E00362F0 ACA20010 */ sw $v0, 0x10($a1) +/* 3457D4 E00362F4 90E3001F */ lbu $v1, 0x1f($a3) +/* 3457D8 E00362F8 24A20020 */ addiu $v0, $a1, 0x20 +/* 3457DC E00362FC ACC20000 */ sw $v0, ($a2) +/* 3457E0 E0036300 3C02FB00 */ lui $v0, 0xfb00 +/* 3457E4 E0036304 ACA20018 */ sw $v0, 0x18($a1) +/* 3457E8 E0036308 240200FF */ addiu $v0, $zero, 0xff +/* 3457EC E003630C ACA2001C */ sw $v0, 0x1c($a1) +/* 3457F0 E0036310 0800D8D3 */ j .LE003634C +/* 3457F4 E0036314 2402FF00 */ addiu $v0, $zero, -0x100 +.LE0036318: +/* 3457F8 E0036318 3C04FFFF */ lui $a0, 0xffff +/* 3457FC E003631C 348400FF */ ori $a0, $a0, 0xff +/* 345800 E0036320 24A20018 */ addiu $v0, $a1, 0x18 +/* 345804 E0036324 ACC20000 */ sw $v0, ($a2) +/* 345808 E0036328 3C02FA00 */ lui $v0, 0xfa00 +/* 34580C E003632C ACA20010 */ sw $v0, 0x10($a1) +/* 345810 E0036330 90E3001F */ lbu $v1, 0x1f($a3) +/* 345814 E0036334 24A20020 */ addiu $v0, $a1, 0x20 +/* 345818 E0036338 ACC20000 */ sw $v0, ($a2) +/* 34581C E003633C 3C02FB00 */ lui $v0, 0xfb00 +/* 345820 E0036340 ACA20018 */ sw $v0, 0x18($a1) +/* 345824 E0036344 2402FF00 */ addiu $v0, $zero, -0x100 +/* 345828 E0036348 ACA4001C */ sw $a0, 0x1c($a1) +.LE003634C: +/* 34582C E003634C 00621825 */ or $v1, $v1, $v0 +/* 345830 E0036350 ACA30014 */ sw $v1, 0x14($a1) +/* 345834 E0036354 8CE50004 */ lw $a1, 4($a3) +/* 345838 E0036358 8CE60008 */ lw $a2, 8($a3) +/* 34583C E003635C 8CE7000C */ lw $a3, 0xc($a3) +/* 345840 E0036360 0C080108 */ jal func_E0200420 +/* 345844 E0036364 27A40018 */ addiu $a0, $sp, 0x18 +/* 345848 E0036368 27B00058 */ addiu $s0, $sp, 0x58 +/* 34584C E003636C 4480A000 */ mtc1 $zero, $f20 +/* 345850 E0036370 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 345854 E0036374 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 345858 E0036378 3C013F80 */ lui $at, 0x3f80 +/* 34585C E003637C 4481B000 */ mtc1 $at, $f22 +/* 345860 E0036380 00031080 */ sll $v0, $v1, 2 +/* 345864 E0036384 00431021 */ addu $v0, $v0, $v1 +/* 345868 E0036388 00021080 */ sll $v0, $v0, 2 +/* 34586C E003638C 00431023 */ subu $v0, $v0, $v1 +/* 345870 E0036390 000218C0 */ sll $v1, $v0, 3 +/* 345874 E0036394 00431021 */ addu $v0, $v0, $v1 +/* 345878 E0036398 000210C0 */ sll $v0, $v0, 3 +/* 34587C E003639C 4406A000 */ mfc1 $a2, $f20 +/* 345880 E00363A0 3C01800B */ lui $at, 0x800b +/* 345884 E00363A4 00220821 */ addu $at, $at, $v0 +/* 345888 E00363A8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 34588C E00363AC 4407B000 */ mfc1 $a3, $f22 +/* 345890 E00363B0 46000007 */ neg.s $f0, $f0 +/* 345894 E00363B4 44050000 */ mfc1 $a1, $f0 +/* 345898 E00363B8 0200202D */ daddu $a0, $s0, $zero +/* 34589C E00363BC 0C080104 */ jal func_E0200410 +/* 3458A0 E00363C0 E7B40010 */ swc1 $f20, 0x10($sp) +/* 3458A4 E00363C4 0200202D */ daddu $a0, $s0, $zero +/* 3458A8 E00363C8 27A50018 */ addiu $a1, $sp, 0x18 +/* 3458AC E00363CC 0C080114 */ jal func_E0200450 +/* 3458B0 E00363D0 00A0302D */ daddu $a2, $a1, $zero +/* 3458B4 E00363D4 0200202D */ daddu $a0, $s0, $zero +/* 3458B8 E00363D8 4405A000 */ mfc1 $a1, $f20 +/* 3458BC E00363DC 3C07C000 */ lui $a3, 0xc000 +/* 3458C0 E00363E0 0C080108 */ jal func_E0200420 +/* 3458C4 E00363E4 00A0302D */ daddu $a2, $a1, $zero +/* 3458C8 E00363E8 0200202D */ daddu $a0, $s0, $zero +/* 3458CC E00363EC 27A50018 */ addiu $a1, $sp, 0x18 +/* 3458D0 E00363F0 0C080114 */ jal func_E0200450 +/* 3458D4 E00363F4 00A0302D */ daddu $a2, $a1, $zero +/* 3458D8 E00363F8 3C01E003 */ lui $at, 0xe003 +/* 3458DC E00363FC D4226650 */ ldc1 $f2, 0x6650($at) +/* 3458E0 E0036400 4600C021 */ cvt.d.s $f0, $f24 +/* 3458E4 E0036404 46220002 */ mul.d $f0, $f0, $f2 +/* 3458E8 E0036408 00000000 */ nop +/* 3458EC E003640C 3C120001 */ lui $s2, 1 +/* 3458F0 E0036410 36521630 */ ori $s2, $s2, 0x1630 +/* 3458F4 E0036414 0200202D */ daddu $a0, $s0, $zero +/* 3458F8 E0036418 46200620 */ cvt.s.d $f24, $f0 +/* 3458FC E003641C 4405C000 */ mfc1 $a1, $f24 +/* 345900 E0036420 4407B000 */ mfc1 $a3, $f22 +/* 345904 E0036424 0C080110 */ jal func_E0200440 +/* 345908 E0036428 00A0302D */ daddu $a2, $a1, $zero +/* 34590C E003642C 0200202D */ daddu $a0, $s0, $zero +/* 345910 E0036430 27A50018 */ addiu $a1, $sp, 0x18 +/* 345914 E0036434 0C080114 */ jal func_E0200450 +/* 345918 E0036438 00A0302D */ daddu $a2, $a1, $zero +/* 34591C E003643C 27A40018 */ addiu $a0, $sp, 0x18 +/* 345920 E0036440 3C108007 */ lui $s0, 0x8007 +/* 345924 E0036444 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 345928 E0036448 3C11800A */ lui $s1, 0x800a +/* 34592C E003644C 2631A674 */ addiu $s1, $s1, -0x598c +/* 345930 E0036450 96050000 */ lhu $a1, ($s0) +/* 345934 E0036454 8E220000 */ lw $v0, ($s1) +/* 345938 E0036458 00052980 */ sll $a1, $a1, 6 +/* 34593C E003645C 00B22821 */ addu $a1, $a1, $s2 +/* 345940 E0036460 0C080118 */ jal func_E0200460 +/* 345944 E0036464 00452821 */ addu $a1, $v0, $a1 +/* 345948 E0036468 3C05DA38 */ lui $a1, 0xda38 +/* 34594C E003646C 34A50002 */ ori $a1, $a1, 2 +/* 345950 E0036470 0000482D */ daddu $t1, $zero, $zero +/* 345954 E0036474 3C170900 */ lui $s7, 0x900 +/* 345958 E0036478 26F70000 */ addiu $s7, $s7, 0 +/* 34595C E003647C 3C160900 */ lui $s6, 0x900 +/* 345960 E0036480 26D64000 */ addiu $s6, $s6, 0x4000 +/* 345964 E0036484 3C02800A */ lui $v0, 0x800a +/* 345968 E0036488 2442A66C */ addiu $v0, $v0, -0x5994 +/* 34596C E003648C 0040302D */ daddu $a2, $v0, $zero +/* 345970 E0036490 3C0DFD68 */ lui $t5, 0xfd68 +/* 345974 E0036494 35AD007F */ ori $t5, $t5, 0x7f +/* 345978 E0036498 3C0AF568 */ lui $t2, 0xf568 +/* 34597C E003649C 354A2000 */ ori $t2, $t2, 0x2000 +/* 345980 E00364A0 3C150700 */ lui $s5, 0x700 +/* 345984 E00364A4 3C14E600 */ lui $s4, 0xe600 +/* 345988 E00364A8 3C19F400 */ lui $t9, 0xf400 +/* 34598C E00364AC 3C0C071F */ lui $t4, 0x71f +/* 345990 E00364B0 358CC07C */ ori $t4, $t4, 0xc07c +/* 345994 E00364B4 3C18E700 */ lui $t8, 0xe700 +/* 345998 E00364B8 3C0FF200 */ lui $t7, 0xf200 +/* 34599C E00364BC 3C0B001F */ lui $t3, 0x1f +/* 3459A0 E00364C0 356BC07C */ ori $t3, $t3, 0xc07c +/* 3459A4 E00364C4 3C0EDE00 */ lui $t6, 0xde00 +/* 3459A8 E00364C8 3C08E003 */ lui $t0, 0xe003 +/* 3459AC E00364CC 25086630 */ addiu $t0, $t0, 0x6630 +/* 3459B0 E00364D0 0120382D */ daddu $a3, $t1, $zero +/* 3459B4 E00364D4 8CC30000 */ lw $v1, ($a2) +/* 3459B8 E00364D8 96020000 */ lhu $v0, ($s0) +/* 3459BC E00364DC 0060202D */ daddu $a0, $v1, $zero +/* 3459C0 E00364E0 24630008 */ addiu $v1, $v1, 8 +/* 3459C4 E00364E4 ACC30000 */ sw $v1, ($a2) +/* 3459C8 E00364E8 24430001 */ addiu $v1, $v0, 1 +/* 3459CC E00364EC 3042FFFF */ andi $v0, $v0, 0xffff +/* 3459D0 E00364F0 00021180 */ sll $v0, $v0, 6 +/* 3459D4 E00364F4 AC850000 */ sw $a1, ($a0) +/* 3459D8 E00364F8 A6030000 */ sh $v1, ($s0) +/* 3459DC E00364FC 8E230000 */ lw $v1, ($s1) +/* 3459E0 E0036500 00521021 */ addu $v0, $v0, $s2 +/* 3459E4 E0036504 00621821 */ addu $v1, $v1, $v0 +/* 3459E8 E0036508 AC830004 */ sw $v1, 4($a0) +.LE003650C: +/* 3459EC E003650C 16600002 */ bnez $s3, .LE0036518 +/* 3459F0 E0036510 00F62021 */ addu $a0, $a3, $s6 +/* 3459F4 E0036514 00F72021 */ addu $a0, $a3, $s7 +.LE0036518: +/* 3459F8 E0036518 24E71000 */ addiu $a3, $a3, 0x1000 +/* 3459FC E003651C 8CC30000 */ lw $v1, ($a2) +/* 345A00 E0036520 25290001 */ addiu $t1, $t1, 1 +/* 345A04 E0036524 0060102D */ daddu $v0, $v1, $zero +/* 345A08 E0036528 24630008 */ addiu $v1, $v1, 8 +/* 345A0C E003652C AC4D0000 */ sw $t5, ($v0) +/* 345A10 E0036530 AC440004 */ sw $a0, 4($v0) +/* 345A14 E0036534 AC6A0000 */ sw $t2, ($v1) +/* 345A18 E0036538 AC750004 */ sw $s5, 4($v1) +/* 345A1C E003653C AC740008 */ sw $s4, 8($v1) +/* 345A20 E0036540 AC60000C */ sw $zero, 0xc($v1) +/* 345A24 E0036544 AC790010 */ sw $t9, 0x10($v1) +/* 345A28 E0036548 AC6C0014 */ sw $t4, 0x14($v1) +/* 345A2C E003654C AC780018 */ sw $t8, 0x18($v1) +/* 345A30 E0036550 AC60001C */ sw $zero, 0x1c($v1) +/* 345A34 E0036554 AC6A0020 */ sw $t2, 0x20($v1) +/* 345A38 E0036558 AC600024 */ sw $zero, 0x24($v1) +/* 345A3C E003655C AC6F0028 */ sw $t7, 0x28($v1) +/* 345A40 E0036560 AC6B002C */ sw $t3, 0x2c($v1) +/* 345A44 E0036564 AC6E0030 */ sw $t6, 0x30($v1) +/* 345A48 E0036568 8D040000 */ lw $a0, ($t0) +/* 345A4C E003656C 25080004 */ addiu $t0, $t0, 4 +/* 345A50 E0036570 24620008 */ addiu $v0, $v1, 8 +/* 345A54 E0036574 ACC30000 */ sw $v1, ($a2) +/* 345A58 E0036578 ACC20000 */ sw $v0, ($a2) +/* 345A5C E003657C 24620010 */ addiu $v0, $v1, 0x10 +/* 345A60 E0036580 ACC20000 */ sw $v0, ($a2) +/* 345A64 E0036584 24620018 */ addiu $v0, $v1, 0x18 +/* 345A68 E0036588 ACC20000 */ sw $v0, ($a2) +/* 345A6C E003658C 24620020 */ addiu $v0, $v1, 0x20 +/* 345A70 E0036590 ACC20000 */ sw $v0, ($a2) +/* 345A74 E0036594 24620028 */ addiu $v0, $v1, 0x28 +/* 345A78 E0036598 ACC20000 */ sw $v0, ($a2) +/* 345A7C E003659C 24620030 */ addiu $v0, $v1, 0x30 +/* 345A80 E00365A0 ACC20000 */ sw $v0, ($a2) +/* 345A84 E00365A4 24620038 */ addiu $v0, $v1, 0x38 +/* 345A88 E00365A8 ACC20000 */ sw $v0, ($a2) +/* 345A8C E00365AC 29220004 */ slti $v0, $t1, 4 +/* 345A90 E00365B0 1440FFD6 */ bnez $v0, .LE003650C +/* 345A94 E00365B4 AC640034 */ sw $a0, 0x34($v1) +/* 345A98 E00365B8 3C03D838 */ lui $v1, 0xd838 +/* 345A9C E00365BC 3C04800A */ lui $a0, 0x800a +/* 345AA0 E00365C0 2484A66C */ addiu $a0, $a0, -0x5994 +/* 345AA4 E00365C4 8C820000 */ lw $v0, ($a0) +/* 345AA8 E00365C8 34630002 */ ori $v1, $v1, 2 +/* 345AAC E00365CC 0040282D */ daddu $a1, $v0, $zero +/* 345AB0 E00365D0 24420008 */ addiu $v0, $v0, 8 +/* 345AB4 E00365D4 AC820000 */ sw $v0, ($a0) +/* 345AB8 E00365D8 ACA30000 */ sw $v1, ($a1) +/* 345ABC E00365DC 24030040 */ addiu $v1, $zero, 0x40 +/* 345AC0 E00365E0 ACA30004 */ sw $v1, 4($a1) +/* 345AC4 E00365E4 24430008 */ addiu $v1, $v0, 8 +/* 345AC8 E00365E8 AC830000 */ sw $v1, ($a0) +/* 345ACC E00365EC 3C03E700 */ lui $v1, 0xe700 +/* 345AD0 E00365F0 AC430000 */ sw $v1, ($v0) +/* 345AD4 E00365F4 AC400004 */ sw $zero, 4($v0) +.LE00365F8: +/* 345AD8 E00365F8 8FBF00B8 */ lw $ra, 0xb8($sp) +/* 345ADC E00365FC 8FB700B4 */ lw $s7, 0xb4($sp) +/* 345AE0 E0036600 8FB600B0 */ lw $s6, 0xb0($sp) +/* 345AE4 E0036604 8FB500AC */ lw $s5, 0xac($sp) +/* 345AE8 E0036608 8FB400A8 */ lw $s4, 0xa8($sp) +/* 345AEC E003660C 8FB300A4 */ lw $s3, 0xa4($sp) +/* 345AF0 E0036610 8FB200A0 */ lw $s2, 0xa0($sp) +/* 345AF4 E0036614 8FB1009C */ lw $s1, 0x9c($sp) +/* 345AF8 E0036618 8FB00098 */ lw $s0, 0x98($sp) +/* 345AFC E003661C D7B800D0 */ ldc1 $f24, 0xd0($sp) +/* 345B00 E0036620 D7B600C8 */ ldc1 $f22, 0xc8($sp) +/* 345B04 E0036624 D7B400C0 */ ldc1 $f20, 0xc0($sp) +/* 345B08 E0036628 03E00008 */ jr $ra +/* 345B0C E003662C 27BD00D8 */ addiu $sp, $sp, 0xd8 diff --git a/asm/nonmatchings/code_34EC80/func_E003A000.s b/asm/nonmatchings/code_34EC80/func_E003A000.s new file mode 100644 index 0000000000..c778fc3b6e --- /dev/null +++ b/asm/nonmatchings/code_34EC80/func_E003A000.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003A000 +/* 34EC80 E003A000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 34EC84 E003A004 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 34EC88 E003A008 4485A000 */ mtc1 $a1, $f20 +/* 34EC8C E003A00C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 34EC90 E003A010 4486B000 */ mtc1 $a2, $f22 +/* 34EC94 E003A014 F7B80058 */ sdc1 $f24, 0x58($sp) +/* 34EC98 E003A018 4487C000 */ mtc1 $a3, $f24 +/* 34EC9C E003A01C AFB30034 */ sw $s3, 0x34($sp) +/* 34ECA0 E003A020 8FB3007C */ lw $s3, 0x7c($sp) +/* 34ECA4 E003A024 AFB5003C */ sw $s5, 0x3c($sp) +/* 34ECA8 E003A028 0080A82D */ daddu $s5, $a0, $zero +/* 34ECAC E003A02C F7BA0060 */ sdc1 $f26, 0x60($sp) +/* 34ECB0 E003A030 C7BA0080 */ lwc1 $f26, 0x80($sp) +/* 34ECB4 E003A034 27A40010 */ addiu $a0, $sp, 0x10 +/* 34ECB8 E003A038 AFB40038 */ sw $s4, 0x38($sp) +/* 34ECBC E003A03C 8FB40084 */ lw $s4, 0x84($sp) +/* 34ECC0 E003A040 3C02E004 */ lui $v0, 0xe004 +/* 34ECC4 E003A044 2442A1D4 */ addiu $v0, $v0, -0x5e2c +/* 34ECC8 E003A048 AFA20018 */ sw $v0, 0x18($sp) +/* 34ECCC E003A04C 3C02E004 */ lui $v0, 0xe004 +/* 34ECD0 E003A050 2442A1DC */ addiu $v0, $v0, -0x5e24 +/* 34ECD4 E003A054 AFA2001C */ sw $v0, 0x1c($sp) +/* 34ECD8 E003A058 3C02E004 */ lui $v0, 0xe004 +/* 34ECDC E003A05C 2442A310 */ addiu $v0, $v0, -0x5cf0 +/* 34ECE0 E003A060 AFA20020 */ sw $v0, 0x20($sp) +/* 34ECE4 E003A064 2402001D */ addiu $v0, $zero, 0x1d +/* 34ECE8 E003A068 AFBF0040 */ sw $ra, 0x40($sp) +/* 34ECEC E003A06C AFB20030 */ sw $s2, 0x30($sp) +/* 34ECF0 E003A070 AFB1002C */ sw $s1, 0x2c($sp) +/* 34ECF4 E003A074 AFB00028 */ sw $s0, 0x28($sp) +/* 34ECF8 E003A078 AFA00010 */ sw $zero, 0x10($sp) +/* 34ECFC E003A07C AFA00024 */ sw $zero, 0x24($sp) +/* 34ED00 E003A080 AFA20014 */ sw $v0, 0x14($sp) +/* 34ED04 E003A084 0C080124 */ jal func_E0200490 +/* 34ED08 E003A088 26730001 */ addiu $s3, $s3, 1 +/* 34ED0C E003A08C 00132040 */ sll $a0, $s3, 1 +/* 34ED10 E003A090 00932021 */ addu $a0, $a0, $s3 +/* 34ED14 E003A094 00042080 */ sll $a0, $a0, 2 +/* 34ED18 E003A098 00932021 */ addu $a0, $a0, $s3 +/* 34ED1C E003A09C 00042080 */ sll $a0, $a0, 2 +/* 34ED20 E003A0A0 0040802D */ daddu $s0, $v0, $zero +/* 34ED24 E003A0A4 0C08012C */ jal func_E02004B0 +/* 34ED28 E003A0A8 AE130008 */ sw $s3, 8($s0) +/* 34ED2C E003A0AC 0040882D */ daddu $s1, $v0, $zero +/* 34ED30 E003A0B0 16200003 */ bnez $s1, .LE003A0C0 +/* 34ED34 E003A0B4 AE11000C */ sw $s1, 0xc($s0) +.LE003A0B8: +/* 34ED38 E003A0B8 0800E82E */ j .LE003A0B8 +/* 34ED3C E003A0BC 00000000 */ nop +.LE003A0C0: +/* 34ED40 E003A0C0 0220202D */ daddu $a0, $s1, $zero +/* 34ED44 E003A0C4 00132840 */ sll $a1, $s3, 1 +/* 34ED48 E003A0C8 00B32821 */ addu $a1, $a1, $s3 +/* 34ED4C E003A0CC 00052880 */ sll $a1, $a1, 2 +/* 34ED50 E003A0D0 00B32821 */ addu $a1, $a1, $s3 +/* 34ED54 E003A0D4 0C080130 */ jal func_E02004C0 +/* 34ED58 E003A0D8 00052880 */ sll $a1, $a1, 2 +/* 34ED5C E003A0DC 3C014120 */ lui $at, 0x4120 +/* 34ED60 E003A0E0 44811000 */ mtc1 $at, $f2 +/* 34ED64 E003A0E4 24120001 */ addiu $s2, $zero, 1 +/* 34ED68 E003A0E8 AE340024 */ sw $s4, 0x24($s1) +/* 34ED6C E003A0EC AE200028 */ sw $zero, 0x28($s1) +/* 34ED70 E003A0F0 AE34002C */ sw $s4, 0x2c($s1) +/* 34ED74 E003A0F4 AE200030 */ sw $zero, 0x30($s1) +/* 34ED78 E003A0F8 A6350000 */ sh $s5, ($s1) +/* 34ED7C E003A0FC E6340004 */ swc1 $f20, 4($s1) +/* 34ED80 E003A100 E6360008 */ swc1 $f22, 8($s1) +/* 34ED84 E003A104 E638000C */ swc1 $f24, 0xc($s1) +/* 34ED88 E003A108 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 34ED8C E003A10C 0253102A */ slt $v0, $s2, $s3 +/* 34ED90 E003A110 E6200020 */ swc1 $f0, 0x20($s1) +/* 34ED94 E003A114 E622001C */ swc1 $f2, 0x1c($s1) +/* 34ED98 E003A118 10400021 */ beqz $v0, .LE003A1A0 +/* 34ED9C E003A11C 26310034 */ addiu $s1, $s1, 0x34 +/* 34EDA0 E003A120 2674FFFF */ addiu $s4, $s3, -1 +/* 34EDA4 E003A124 26300018 */ addiu $s0, $s1, 0x18 +/* 34EDA8 E003A128 0000882D */ daddu $s1, $zero, $zero +.LE003A12C: +/* 34EDAC E003A12C 16800002 */ bnez $s4, .LE003A138 +/* 34EDB0 E003A130 0234001A */ div $zero, $s1, $s4 +/* 34EDB4 E003A134 0007000D */ break 7 +.LE003A138: +/* 34EDB8 E003A138 2401FFFF */ addiu $at, $zero, -1 +/* 34EDBC E003A13C 16810004 */ bne $s4, $at, .LE003A150 +/* 34EDC0 E003A140 3C018000 */ lui $at, 0x8000 +/* 34EDC4 E003A144 16210002 */ bne $s1, $at, .LE003A150 +/* 34EDC8 E003A148 00000000 */ nop +/* 34EDCC E003A14C 0006000D */ break 6 +.LE003A150: +/* 34EDD0 E003A150 00001812 */ mflo $v1 +/* 34EDD4 E003A154 26310168 */ addiu $s1, $s1, 0x168 +/* 34EDD8 E003A158 26520001 */ addiu $s2, $s2, 1 +/* 34EDDC E003A15C AE00FFEC */ sw $zero, -0x14($s0) +/* 34EDE0 E003A160 4483A000 */ mtc1 $v1, $f20 +/* 34EDE4 E003A164 00000000 */ nop +/* 34EDE8 E003A168 4680A520 */ cvt.s.w $f20, $f20 +/* 34EDEC E003A16C 4614D500 */ add.s $f20, $f26, $f20 +/* 34EDF0 E003A170 AE00FFF0 */ sw $zero, -0x10($s0) +/* 34EDF4 E003A174 AE00FFF4 */ sw $zero, -0xc($s0) +/* 34EDF8 E003A178 0C080140 */ jal func_E0200500 +/* 34EDFC E003A17C 4600A306 */ mov.s $f12, $f20 +/* 34EE00 E003A180 4600A306 */ mov.s $f12, $f20 +/* 34EE04 E003A184 E600FFF8 */ swc1 $f0, -8($s0) +/* 34EE08 E003A188 0C080144 */ jal func_E0200510 +/* 34EE0C E003A18C AE00FFFC */ sw $zero, -4($s0) +/* 34EE10 E003A190 E6000000 */ swc1 $f0, ($s0) +/* 34EE14 E003A194 0253102A */ slt $v0, $s2, $s3 +/* 34EE18 E003A198 1440FFE4 */ bnez $v0, .LE003A12C +/* 34EE1C E003A19C 26100034 */ addiu $s0, $s0, 0x34 +.LE003A1A0: +/* 34EE20 E003A1A0 8FBF0040 */ lw $ra, 0x40($sp) +/* 34EE24 E003A1A4 8FB5003C */ lw $s5, 0x3c($sp) +/* 34EE28 E003A1A8 8FB40038 */ lw $s4, 0x38($sp) +/* 34EE2C E003A1AC 8FB30034 */ lw $s3, 0x34($sp) +/* 34EE30 E003A1B0 8FB20030 */ lw $s2, 0x30($sp) +/* 34EE34 E003A1B4 8FB1002C */ lw $s1, 0x2c($sp) +/* 34EE38 E003A1B8 8FB00028 */ lw $s0, 0x28($sp) +/* 34EE3C E003A1BC D7BA0060 */ ldc1 $f26, 0x60($sp) +/* 34EE40 E003A1C0 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 34EE44 E003A1C4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 34EE48 E003A1C8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 34EE4C E003A1CC 03E00008 */ jr $ra +/* 34EE50 E003A1D0 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_34EC80/func_E003A1D4.s b/asm/nonmatchings/code_34EC80/func_E003A1D4.s new file mode 100644 index 0000000000..a479a16dfa --- /dev/null +++ b/asm/nonmatchings/code_34EC80/func_E003A1D4.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003A1D4 +/* 34EE54 E003A1D4 03E00008 */ jr $ra +/* 34EE58 E003A1D8 00000000 */ nop diff --git a/asm/nonmatchings/code_34EC80/func_E003A1DC.s b/asm/nonmatchings/code_34EC80/func_E003A1DC.s new file mode 100644 index 0000000000..ec4635bf3f --- /dev/null +++ b/asm/nonmatchings/code_34EC80/func_E003A1DC.s @@ -0,0 +1,84 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003A1DC +/* 34EE5C E003A1DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 34EE60 E003A1E0 AFBF0010 */ sw $ra, 0x10($sp) +/* 34EE64 E003A1E4 8C85000C */ lw $a1, 0xc($a0) +/* 34EE68 E003A1E8 3C014100 */ lui $at, 0x4100 +/* 34EE6C E003A1EC 44810000 */ mtc1 $at, $f0 +/* 34EE70 E003A1F0 8CA20028 */ lw $v0, 0x28($a1) +/* 34EE74 E003A1F4 8CA30024 */ lw $v1, 0x24($a1) +/* 34EE78 E003A1F8 44821000 */ mtc1 $v0, $f2 +/* 34EE7C E003A1FC 00000000 */ nop +/* 34EE80 E003A200 468010A0 */ cvt.s.w $f2, $f2 +/* 34EE84 E003A204 24420001 */ addiu $v0, $v0, 1 +/* 34EE88 E003A208 46001082 */ mul.s $f2, $f2, $f0 +/* 34EE8C E003A20C 00000000 */ nop +/* 34EE90 E003A210 2463FFFF */ addiu $v1, $v1, -1 +/* 34EE94 E003A214 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 34EE98 E003A218 46800020 */ cvt.s.w $f0, $f0 +/* 34EE9C E003A21C ACA20028 */ sw $v0, 0x28($a1) +/* 34EEA0 E003A220 ACA30024 */ sw $v1, 0x24($a1) +/* 34EEA4 E003A224 46001083 */ div.s $f2, $f2, $f0 +/* 34EEA8 E003A228 04610005 */ bgez $v1, .LE003A240 +/* 34EEAC E003A22C E4A20030 */ swc1 $f2, 0x30($a1) +/* 34EEB0 E003A230 0C080128 */ jal func_E02004A0 +/* 34EEB4 E003A234 00000000 */ nop +/* 34EEB8 E003A238 0800E8C1 */ j .LE003A304 +/* 34EEBC E003A23C 00000000 */ nop +.LE003A240: +/* 34EEC0 E003A240 C4A2001C */ lwc1 $f2, 0x1c($a1) +/* 34EEC4 E003A244 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 34EEC8 E003A248 46020001 */ sub.s $f0, $f0, $f2 +/* 34EECC E003A24C 3C01E004 */ lui $at, 0xe004 +/* 34EED0 E003A250 D424A820 */ ldc1 $f4, -0x57e0($at) +/* 34EED4 E003A254 46000021 */ cvt.d.s $f0, $f0 +/* 34EED8 E003A258 46240002 */ mul.d $f0, $f0, $f4 +/* 34EEDC E003A25C 00000000 */ nop +/* 34EEE0 E003A260 460010A1 */ cvt.d.s $f2, $f2 +/* 34EEE4 E003A264 46201080 */ add.d $f2, $f2, $f0 +/* 34EEE8 E003A268 24060001 */ addiu $a2, $zero, 1 +/* 34EEEC E003A26C 462010A0 */ cvt.s.d $f2, $f2 +/* 34EEF0 E003A270 E4A2001C */ swc1 $f2, 0x1c($a1) +/* 34EEF4 E003A274 24A50034 */ addiu $a1, $a1, 0x34 +/* 34EEF8 E003A278 8C820008 */ lw $v0, 8($a0) +/* 34EEFC E003A27C 00C2102A */ slt $v0, $a2, $v0 +/* 34EF00 E003A280 10400020 */ beqz $v0, .LE003A304 +/* 34EF04 E003A284 46001206 */ mov.s $f8, $f2 +/* 34EF08 E003A288 24A3000C */ addiu $v1, $a1, 0xc +/* 34EF0C E003A28C 3C01E004 */ lui $at, 0xe004 +/* 34EF10 E003A290 D42CA828 */ ldc1 $f12, -0x57d8($at) +/* 34EF14 E003A294 3C01E004 */ lui $at, 0xe004 +/* 34EF18 E003A298 D42AA830 */ ldc1 $f10, -0x57d0($at) +.LE003A29C: +/* 34EF1C E003A29C C4600008 */ lwc1 $f0, 8($v1) +/* 34EF20 E003A2A0 46000021 */ cvt.d.s $f0, $f0 +/* 34EF24 E003A2A4 462C0000 */ add.d $f0, $f0, $f12 +/* 34EF28 E003A2A8 46200020 */ cvt.s.d $f0, $f0 +/* 34EF2C E003A2AC 46000021 */ cvt.d.s $f0, $f0 +/* 34EF30 E003A2B0 462A0002 */ mul.d $f0, $f0, $f10 +/* 34EF34 E003A2B4 00000000 */ nop +/* 34EF38 E003A2B8 C4660004 */ lwc1 $f6, 4($v1) +/* 34EF3C E003A2BC 46064182 */ mul.s $f6, $f8, $f6 +/* 34EF40 E003A2C0 00000000 */ nop +/* 34EF44 E003A2C4 C464000C */ lwc1 $f4, 0xc($v1) +/* 34EF48 E003A2C8 46044102 */ mul.s $f4, $f8, $f4 +/* 34EF4C E003A2CC 00000000 */ nop +/* 34EF50 E003A2D0 46200020 */ cvt.s.d $f0, $f0 +/* 34EF54 E003A2D4 E4600008 */ swc1 $f0, 8($v1) +/* 34EF58 E003A2D8 C460FFFC */ lwc1 $f0, -4($v1) +/* 34EF5C E003A2DC C4620008 */ lwc1 $f2, 8($v1) +/* 34EF60 E003A2E0 24C60001 */ addiu $a2, $a2, 1 +/* 34EF64 E003A2E4 46020000 */ add.s $f0, $f0, $f2 +/* 34EF68 E003A2E8 E466FFF8 */ swc1 $f6, -8($v1) +/* 34EF6C E003A2EC E4640000 */ swc1 $f4, ($v1) +/* 34EF70 E003A2F0 E460FFFC */ swc1 $f0, -4($v1) +/* 34EF74 E003A2F4 8C820008 */ lw $v0, 8($a0) +/* 34EF78 E003A2F8 00C2102A */ slt $v0, $a2, $v0 +/* 34EF7C E003A2FC 1440FFE7 */ bnez $v0, .LE003A29C +/* 34EF80 E003A300 24630034 */ addiu $v1, $v1, 0x34 +.LE003A304: +/* 34EF84 E003A304 8FBF0010 */ lw $ra, 0x10($sp) +/* 34EF88 E003A308 03E00008 */ jr $ra +/* 34EF8C E003A30C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_34EC80/func_E003A310.s b/asm/nonmatchings/code_34EC80/func_E003A310.s new file mode 100644 index 0000000000..69af5cd51a --- /dev/null +++ b/asm/nonmatchings/code_34EC80/func_E003A310.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003A310 +/* 34EF90 E003A310 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 34EF94 E003A314 3C02E004 */ lui $v0, 0xe004 +/* 34EF98 E003A318 2442A354 */ addiu $v0, $v0, -0x5cac +/* 34EF9C E003A31C AFA2001C */ sw $v0, 0x1c($sp) +/* 34EFA0 E003A320 24020028 */ addiu $v0, $zero, 0x28 +/* 34EFA4 E003A324 AFA40018 */ sw $a0, 0x18($sp) +/* 34EFA8 E003A328 27A40010 */ addiu $a0, $sp, 0x10 +/* 34EFAC E003A32C AFBF0020 */ sw $ra, 0x20($sp) +/* 34EFB0 E003A330 AFA00014 */ sw $zero, 0x14($sp) +/* 34EFB4 E003A334 0C080120 */ jal func_E0200480 +/* 34EFB8 E003A338 AFA20010 */ sw $v0, 0x10($sp) +/* 34EFBC E003A33C 8C430000 */ lw $v1, ($v0) +/* 34EFC0 E003A340 34630002 */ ori $v1, $v1, 2 +/* 34EFC4 E003A344 AC430000 */ sw $v1, ($v0) +/* 34EFC8 E003A348 8FBF0020 */ lw $ra, 0x20($sp) +/* 34EFCC E003A34C 03E00008 */ jr $ra +/* 34EFD0 E003A350 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_34EC80/func_E003A354.s b/asm/nonmatchings/code_34EC80/func_E003A354.s new file mode 100644 index 0000000000..85677e9a40 --- /dev/null +++ b/asm/nonmatchings/code_34EC80/func_E003A354.s @@ -0,0 +1,310 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003A354 +/* 34EFD4 E003A354 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 34EFD8 E003A358 AFBE0100 */ sw $fp, 0x100($sp) +/* 34EFDC E003A35C 0080F02D */ daddu $fp, $a0, $zero +/* 34EFE0 E003A360 3C07DB06 */ lui $a3, 0xdb06 +/* 34EFE4 E003A364 34E70024 */ ori $a3, $a3, 0x24 +/* 34EFE8 E003A368 27A40018 */ addiu $a0, $sp, 0x18 +/* 34EFEC E003A36C AFB200E8 */ sw $s2, 0xe8($sp) +/* 34EFF0 E003A370 3C120001 */ lui $s2, 1 +/* 34EFF4 E003A374 AFB300EC */ sw $s3, 0xec($sp) +/* 34EFF8 E003A378 3C13800A */ lui $s3, 0x800a +/* 34EFFC E003A37C 2673A66C */ addiu $s3, $s3, -0x5994 +/* 34F000 E003A380 AFBF0104 */ sw $ra, 0x104($sp) +/* 34F004 E003A384 AFB700FC */ sw $s7, 0xfc($sp) +/* 34F008 E003A388 AFB600F8 */ sw $s6, 0xf8($sp) +/* 34F00C E003A38C AFB500F4 */ sw $s5, 0xf4($sp) +/* 34F010 E003A390 AFB400F0 */ sw $s4, 0xf0($sp) +/* 34F014 E003A394 AFB100E4 */ sw $s1, 0xe4($sp) +/* 34F018 E003A398 AFB000E0 */ sw $s0, 0xe0($sp) +/* 34F01C E003A39C 8E630000 */ lw $v1, ($s3) +/* 34F020 E003A3A0 8FD4000C */ lw $s4, 0xc($fp) +/* 34F024 E003A3A4 0060282D */ daddu $a1, $v1, $zero +/* 34F028 E003A3A8 24630008 */ addiu $v1, $v1, 8 +/* 34F02C E003A3AC AE630000 */ sw $v1, ($s3) +/* 34F030 E003A3B0 96970000 */ lhu $s7, ($s4) +/* 34F034 E003A3B4 24620008 */ addiu $v0, $v1, 8 +/* 34F038 E003A3B8 AE620000 */ sw $v0, ($s3) +/* 34F03C E003A3BC C6820030 */ lwc1 $f2, 0x30($s4) +/* 34F040 E003A3C0 00171080 */ sll $v0, $s7, 2 +/* 34F044 E003A3C4 3C09E004 */ lui $t1, 0xe004 +/* 34F048 E003A3C8 01224821 */ addu $t1, $t1, $v0 +/* 34F04C E003A3CC 8D29A800 */ lw $t1, -0x5800($t1) +/* 34F050 E003A3D0 36521630 */ ori $s2, $s2, 0x1630 +/* 34F054 E003A3D4 AFA900D8 */ sw $t1, 0xd8($sp) +/* 34F058 E003A3D8 3C06E004 */ lui $a2, 0xe004 +/* 34F05C E003A3DC 00C23021 */ addu $a2, $a2, $v0 +/* 34F060 E003A3E0 8CC6A80C */ lw $a2, -0x57f4($a2) +/* 34F064 E003A3E4 3C02E700 */ lui $v0, 0xe700 +/* 34F068 E003A3E8 4600110D */ trunc.w.s $f4, $f2 +/* 34F06C E003A3EC 44152000 */ mfc1 $s5, $f4 +/* 34F070 E003A3F0 00000000 */ nop +/* 34F074 E003A3F4 44950000 */ mtc1 $s5, $f0 +/* 34F078 E003A3F8 00000000 */ nop +/* 34F07C E003A3FC 46800020 */ cvt.s.w $f0, $f0 +/* 34F080 E003A400 46001081 */ sub.s $f2, $f2, $f0 +/* 34F084 E003A404 ACA20000 */ sw $v0, ($a1) +/* 34F088 E003A408 ACA00004 */ sw $zero, 4($a1) +/* 34F08C E003A40C AC670000 */ sw $a3, ($v1) +/* 34F090 E003A410 8FC50010 */ lw $a1, 0x10($fp) +/* 34F094 E003A414 3C014380 */ lui $at, 0x4380 +/* 34F098 E003A418 44810000 */ mtc1 $at, $f0 +/* 34F09C E003A41C 24620010 */ addiu $v0, $v1, 0x10 +/* 34F0A0 E003A420 AE620000 */ sw $v0, ($s3) +/* 34F0A4 E003A424 8CA5001C */ lw $a1, 0x1c($a1) +/* 34F0A8 E003A428 3C02DE00 */ lui $v0, 0xde00 +/* 34F0AC E003A42C AC620008 */ sw $v0, 8($v1) +/* 34F0B0 E003A430 3C028000 */ lui $v0, 0x8000 +/* 34F0B4 E003A434 AC66000C */ sw $a2, 0xc($v1) +/* 34F0B8 E003A438 00A22821 */ addu $a1, $a1, $v0 +/* 34F0BC E003A43C 3AA20007 */ xori $v0, $s5, 7 +/* 34F0C0 E003A440 46001082 */ mul.s $f2, $f2, $f0 +/* 34F0C4 E003A444 00000000 */ nop +/* 34F0C8 E003A448 AC650004 */ sw $a1, 4($v1) +/* 34F0CC E003A44C 8E850004 */ lw $a1, 4($s4) +/* 34F0D0 E003A450 8E860008 */ lw $a2, 8($s4) +/* 34F0D4 E003A454 8E87000C */ lw $a3, 0xc($s4) +/* 34F0D8 E003A458 2C420001 */ sltiu $v0, $v0, 1 +/* 34F0DC E003A45C 4600110D */ trunc.w.s $f4, $f2 +/* 34F0E0 E003A460 44162000 */ mfc1 $s6, $f4 +/* 34F0E4 E003A464 0C080108 */ jal func_E0200420 +/* 34F0E8 E003A468 AFA200DC */ sw $v0, 0xdc($sp) +/* 34F0EC E003A46C 27B00058 */ addiu $s0, $sp, 0x58 +/* 34F0F0 E003A470 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 34F0F4 E003A474 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 34F0F8 E003A478 44800000 */ mtc1 $zero, $f0 +/* 34F0FC E003A47C 00031080 */ sll $v0, $v1, 2 +/* 34F100 E003A480 00431021 */ addu $v0, $v0, $v1 +/* 34F104 E003A484 00021080 */ sll $v0, $v0, 2 +/* 34F108 E003A488 00431023 */ subu $v0, $v0, $v1 +/* 34F10C E003A48C 000218C0 */ sll $v1, $v0, 3 +/* 34F110 E003A490 00431021 */ addu $v0, $v0, $v1 +/* 34F114 E003A494 000210C0 */ sll $v0, $v0, 3 +/* 34F118 E003A498 44060000 */ mfc1 $a2, $f0 +/* 34F11C E003A49C 3C01800B */ lui $at, 0x800b +/* 34F120 E003A4A0 00220821 */ addu $at, $at, $v0 +/* 34F124 E003A4A4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 34F128 E003A4A8 3C073F80 */ lui $a3, 0x3f80 +/* 34F12C E003A4AC 46000007 */ neg.s $f0, $f0 +/* 34F130 E003A4B0 44050000 */ mfc1 $a1, $f0 +/* 34F134 E003A4B4 0200202D */ daddu $a0, $s0, $zero +/* 34F138 E003A4B8 0C080104 */ jal func_E0200410 +/* 34F13C E003A4BC AFA60010 */ sw $a2, 0x10($sp) +/* 34F140 E003A4C0 0200202D */ daddu $a0, $s0, $zero +/* 34F144 E003A4C4 27A50018 */ addiu $a1, $sp, 0x18 +/* 34F148 E003A4C8 27B00098 */ addiu $s0, $sp, 0x98 +/* 34F14C E003A4CC 0C080114 */ jal func_E0200450 +/* 34F150 E003A4D0 0200302D */ daddu $a2, $s0, $zero +/* 34F154 E003A4D4 0200202D */ daddu $a0, $s0, $zero +/* 34F158 E003A4D8 3C108007 */ lui $s0, 0x8007 +/* 34F15C E003A4DC 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 34F160 E003A4E0 3C11800A */ lui $s1, 0x800a +/* 34F164 E003A4E4 2631A674 */ addiu $s1, $s1, -0x598c +/* 34F168 E003A4E8 96050000 */ lhu $a1, ($s0) +/* 34F16C E003A4EC 8E220000 */ lw $v0, ($s1) +/* 34F170 E003A4F0 00052980 */ sll $a1, $a1, 6 +/* 34F174 E003A4F4 00B22821 */ addu $a1, $a1, $s2 +/* 34F178 E003A4F8 0C080118 */ jal func_E0200460 +/* 34F17C E003A4FC 00452821 */ addu $a1, $v0, $a1 +/* 34F180 E003A500 8E650000 */ lw $a1, ($s3) +/* 34F184 E003A504 00A0202D */ daddu $a0, $a1, $zero +/* 34F188 E003A508 24A50008 */ addiu $a1, $a1, 8 +/* 34F18C E003A50C AE650000 */ sw $a1, ($s3) +/* 34F190 E003A510 96020000 */ lhu $v0, ($s0) +/* 34F194 E003A514 3C03DA38 */ lui $v1, 0xda38 +/* 34F198 E003A518 AC830000 */ sw $v1, ($a0) +/* 34F19C E003A51C 24430001 */ addiu $v1, $v0, 1 +/* 34F1A0 E003A520 3042FFFF */ andi $v0, $v0, 0xffff +/* 34F1A4 E003A524 00021180 */ sll $v0, $v0, 6 +/* 34F1A8 E003A528 A6030000 */ sh $v1, ($s0) +/* 34F1AC E003A52C 8E230000 */ lw $v1, ($s1) +/* 34F1B0 E003A530 00521021 */ addu $v0, $v0, $s2 +/* 34F1B4 E003A534 00621821 */ addu $v1, $v1, $v0 +/* 34F1B8 E003A538 2AE20002 */ slti $v0, $s7, 2 +/* 34F1BC E003A53C 10400009 */ beqz $v0, .LE003A564 +/* 34F1C0 E003A540 AC830004 */ sw $v1, 4($a0) +/* 34F1C4 E003A544 3C02E6DE */ lui $v0, 0xe6de +/* 34F1C8 E003A548 3442DE82 */ ori $v0, $v0, 0xde82 +/* 34F1CC E003A54C 24A30008 */ addiu $v1, $a1, 8 +/* 34F1D0 E003A550 AE630000 */ sw $v1, ($s3) +/* 34F1D4 E003A554 3C03FA00 */ lui $v1, 0xfa00 +/* 34F1D8 E003A558 ACA30000 */ sw $v1, ($a1) +/* 34F1DC E003A55C 0800E967 */ j .LE003A59C +/* 34F1E0 E003A560 ACA20004 */ sw $v0, 4($a1) +.LE003A564: +/* 34F1E4 E003A564 3C03FF28 */ lui $v1, 0xff28 +/* 34F1E8 E003A568 34630AA0 */ ori $v1, $v1, 0xaa0 +/* 34F1EC E003A56C 3C04E200 */ lui $a0, 0xe200 +/* 34F1F0 E003A570 34841E01 */ ori $a0, $a0, 0x1e01 +/* 34F1F4 E003A574 24A20008 */ addiu $v0, $a1, 8 +/* 34F1F8 E003A578 AE620000 */ sw $v0, ($s3) +/* 34F1FC E003A57C 3C02FA00 */ lui $v0, 0xfa00 +/* 34F200 E003A580 ACA20000 */ sw $v0, ($a1) +/* 34F204 E003A584 24A20010 */ addiu $v0, $a1, 0x10 +/* 34F208 E003A588 ACA30004 */ sw $v1, 4($a1) +/* 34F20C E003A58C AE620000 */ sw $v0, ($s3) +/* 34F210 E003A590 24020003 */ addiu $v0, $zero, 3 +/* 34F214 E003A594 ACA40008 */ sw $a0, 8($a1) +/* 34F218 E003A598 ACA2000C */ sw $v0, 0xc($a1) +.LE003A59C: +/* 34F21C E003A59C 3C08800A */ lui $t0, 0x800a +/* 34F220 E003A5A0 2508A66C */ addiu $t0, $t0, -0x5994 +/* 34F224 E003A5A4 3C02FB00 */ lui $v0, 0xfb00 +/* 34F228 E003A5A8 3C04F200 */ lui $a0, 0xf200 +/* 34F22C E003A5AC 8D050000 */ lw $a1, ($t0) +/* 34F230 E003A5B0 00153940 */ sll $a3, $s5, 5 +/* 34F234 E003A5B4 00A0182D */ daddu $v1, $a1, $zero +/* 34F238 E003A5B8 24A50008 */ addiu $a1, $a1, 8 +/* 34F23C E003A5BC AD050000 */ sw $a1, ($t0) +/* 34F240 E003A5C0 AC620000 */ sw $v0, ($v1) +/* 34F244 E003A5C4 32C200FF */ andi $v0, $s6, 0xff +/* 34F248 E003A5C8 AC620004 */ sw $v0, 4($v1) +/* 34F24C E003A5CC 24A20008 */ addiu $v0, $a1, 8 +/* 34F250 E003A5D0 AD020000 */ sw $v0, ($t0) +/* 34F254 E003A5D4 001511C0 */ sll $v0, $s5, 7 +/* 34F258 E003A5D8 30420FFF */ andi $v0, $v0, 0xfff +/* 34F25C E003A5DC 00021300 */ sll $v0, $v0, 0xc +/* 34F260 E003A5E0 00441025 */ or $v0, $v0, $a0 +/* 34F264 E003A5E4 ACA20000 */ sw $v0, ($a1) +/* 34F268 E003A5E8 24E20020 */ addiu $v0, $a3, 0x20 +/* 34F26C E003A5EC 00021080 */ sll $v0, $v0, 2 +/* 34F270 E003A5F0 30420FFF */ andi $v0, $v0, 0xfff +/* 34F274 E003A5F4 00023300 */ sll $a2, $v0, 0xc +/* 34F278 E003A5F8 34C20080 */ ori $v0, $a2, 0x80 +/* 34F27C E003A5FC ACA20004 */ sw $v0, 4($a1) +/* 34F280 E003A600 8FA900DC */ lw $t1, 0xdc($sp) +/* 34F284 E003A604 1120000E */ beqz $t1, .LE003A640 +/* 34F288 E003A608 0080182D */ daddu $v1, $a0, $zero +/* 34F28C E003A60C 34630080 */ ori $v1, $v1, 0x80 +/* 34F290 E003A610 3C040100 */ lui $a0, 0x100 +/* 34F294 E003A614 34840100 */ ori $a0, $a0, 0x100 +/* 34F298 E003A618 24A20010 */ addiu $v0, $a1, 0x10 +/* 34F29C E003A61C 00C31825 */ or $v1, $a2, $v1 +/* 34F2A0 E003A620 AD020000 */ sw $v0, ($t0) +/* 34F2A4 E003A624 24E20040 */ addiu $v0, $a3, 0x40 +/* 34F2A8 E003A628 00021080 */ sll $v0, $v0, 2 +/* 34F2AC E003A62C 30420FFF */ andi $v0, $v0, 0xfff +/* 34F2B0 E003A630 00021300 */ sll $v0, $v0, 0xc +/* 34F2B4 E003A634 00441025 */ or $v0, $v0, $a0 +/* 34F2B8 E003A638 0800E99B */ j .LE003A66C +/* 34F2BC E003A63C ACA30008 */ sw $v1, 8($a1) +.LE003A640: +/* 34F2C0 E003A640 3C030100 */ lui $v1, 0x100 +/* 34F2C4 E003A644 34630080 */ ori $v1, $v1, 0x80 +/* 34F2C8 E003A648 24A20010 */ addiu $v0, $a1, 0x10 +/* 34F2CC E003A64C AD020000 */ sw $v0, ($t0) +/* 34F2D0 E003A650 00C41025 */ or $v0, $a2, $a0 +/* 34F2D4 E003A654 ACA20008 */ sw $v0, 8($a1) +/* 34F2D8 E003A658 24E20040 */ addiu $v0, $a3, 0x40 +/* 34F2DC E003A65C 00021080 */ sll $v0, $v0, 2 +/* 34F2E0 E003A660 30420FFF */ andi $v0, $v0, 0xfff +/* 34F2E4 E003A664 00021300 */ sll $v0, $v0, 0xc +/* 34F2E8 E003A668 00431025 */ or $v0, $v0, $v1 +.LE003A66C: +/* 34F2EC E003A66C ACA2000C */ sw $v0, 0xc($a1) +/* 34F2F0 E003A670 8FC20008 */ lw $v0, 8($fp) +/* 34F2F4 E003A674 24110001 */ addiu $s1, $zero, 1 +/* 34F2F8 E003A678 0222102A */ slt $v0, $s1, $v0 +/* 34F2FC E003A67C 10400037 */ beqz $v0, .LE003A75C +/* 34F300 E003A680 26940034 */ addiu $s4, $s4, 0x34 +/* 34F304 E003A684 3C16800A */ lui $s6, 0x800a +/* 34F308 E003A688 26D6A674 */ addiu $s6, $s6, -0x598c +/* 34F30C E003A68C 3C158007 */ lui $s5, 0x8007 +/* 34F310 E003A690 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 34F314 E003A694 3C130001 */ lui $s3, 1 +/* 34F318 E003A698 36731630 */ ori $s3, $s3, 0x1630 +/* 34F31C E003A69C 3C12800A */ lui $s2, 0x800a +/* 34F320 E003A6A0 2652A66C */ addiu $s2, $s2, -0x5994 +/* 34F324 E003A6A4 2690000C */ addiu $s0, $s4, 0xc +.LE003A6A8: +/* 34F328 E003A6A8 27A40018 */ addiu $a0, $sp, 0x18 +/* 34F32C E003A6AC 26310001 */ addiu $s1, $s1, 1 +/* 34F330 E003A6B0 8E05FFF8 */ lw $a1, -8($s0) +/* 34F334 E003A6B4 8E06FFFC */ lw $a2, -4($s0) +/* 34F338 E003A6B8 8E070000 */ lw $a3, ($s0) +/* 34F33C E003A6BC 0C080108 */ jal func_E0200420 +/* 34F340 E003A6C0 26100034 */ addiu $s0, $s0, 0x34 +/* 34F344 E003A6C4 27A40018 */ addiu $a0, $sp, 0x18 +/* 34F348 E003A6C8 96A50000 */ lhu $a1, ($s5) +/* 34F34C E003A6CC 8EC20000 */ lw $v0, ($s6) +/* 34F350 E003A6D0 00052980 */ sll $a1, $a1, 6 +/* 34F354 E003A6D4 00B32821 */ addu $a1, $a1, $s3 +/* 34F358 E003A6D8 0C080118 */ jal func_E0200460 +/* 34F35C E003A6DC 00452821 */ addu $a1, $v0, $a1 +/* 34F360 E003A6E0 3C06D838 */ lui $a2, 0xd838 +/* 34F364 E003A6E4 8E440000 */ lw $a0, ($s2) +/* 34F368 E003A6E8 34C60002 */ ori $a2, $a2, 2 +/* 34F36C E003A6EC 0080282D */ daddu $a1, $a0, $zero +/* 34F370 E003A6F0 24840008 */ addiu $a0, $a0, 8 +/* 34F374 E003A6F4 AE440000 */ sw $a0, ($s2) +/* 34F378 E003A6F8 96A20000 */ lhu $v0, ($s5) +/* 34F37C E003A6FC 3C03DA38 */ lui $v1, 0xda38 +/* 34F380 E003A700 ACA30000 */ sw $v1, ($a1) +/* 34F384 E003A704 24430001 */ addiu $v1, $v0, 1 +/* 34F388 E003A708 3042FFFF */ andi $v0, $v0, 0xffff +/* 34F38C E003A70C 00021180 */ sll $v0, $v0, 6 +/* 34F390 E003A710 A6A30000 */ sh $v1, ($s5) +/* 34F394 E003A714 8EC30000 */ lw $v1, ($s6) +/* 34F398 E003A718 00531021 */ addu $v0, $v0, $s3 +/* 34F39C E003A71C 00621821 */ addu $v1, $v1, $v0 +/* 34F3A0 E003A720 24820008 */ addiu $v0, $a0, 8 +/* 34F3A4 E003A724 ACA30004 */ sw $v1, 4($a1) +/* 34F3A8 E003A728 AE420000 */ sw $v0, ($s2) +/* 34F3AC E003A72C 3C02DE00 */ lui $v0, 0xde00 +/* 34F3B0 E003A730 AC820000 */ sw $v0, ($a0) +/* 34F3B4 E003A734 8FA900D8 */ lw $t1, 0xd8($sp) +/* 34F3B8 E003A738 24020040 */ addiu $v0, $zero, 0x40 +/* 34F3BC E003A73C AC860008 */ sw $a2, 8($a0) +/* 34F3C0 E003A740 AC82000C */ sw $v0, 0xc($a0) +/* 34F3C4 E003A744 AC890004 */ sw $t1, 4($a0) +/* 34F3C8 E003A748 8FC20008 */ lw $v0, 8($fp) +/* 34F3CC E003A74C 24840010 */ addiu $a0, $a0, 0x10 +/* 34F3D0 E003A750 0222102A */ slt $v0, $s1, $v0 +/* 34F3D4 E003A754 1440FFD4 */ bnez $v0, .LE003A6A8 +/* 34F3D8 E003A758 AE440000 */ sw $a0, ($s2) +.LE003A75C: +/* 34F3DC E003A75C 3C02D838 */ lui $v0, 0xd838 +/* 34F3E0 E003A760 3C05800A */ lui $a1, 0x800a +/* 34F3E4 E003A764 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 34F3E8 E003A768 8CA40000 */ lw $a0, ($a1) +/* 34F3EC E003A76C 34420002 */ ori $v0, $v0, 2 +/* 34F3F0 E003A770 0080182D */ daddu $v1, $a0, $zero +/* 34F3F4 E003A774 24840008 */ addiu $a0, $a0, 8 +/* 34F3F8 E003A778 ACA40000 */ sw $a0, ($a1) +/* 34F3FC E003A77C AC620000 */ sw $v0, ($v1) +/* 34F400 E003A780 24020040 */ addiu $v0, $zero, 0x40 +/* 34F404 E003A784 AC620004 */ sw $v0, 4($v1) +/* 34F408 E003A788 24020002 */ addiu $v0, $zero, 2 +/* 34F40C E003A78C 16E20006 */ bne $s7, $v0, .LE003A7A8 +/* 34F410 E003A790 3C03E200 */ lui $v1, 0xe200 +/* 34F414 E003A794 34631E01 */ ori $v1, $v1, 0x1e01 +/* 34F418 E003A798 24820008 */ addiu $v0, $a0, 8 +/* 34F41C E003A79C ACA20000 */ sw $v0, ($a1) +/* 34F420 E003A7A0 AC830000 */ sw $v1, ($a0) +/* 34F424 E003A7A4 AC800004 */ sw $zero, 4($a0) +.LE003A7A8: +/* 34F428 E003A7A8 8CA20000 */ lw $v0, ($a1) +/* 34F42C E003A7AC 0040182D */ daddu $v1, $v0, $zero +/* 34F430 E003A7B0 24420008 */ addiu $v0, $v0, 8 +/* 34F434 E003A7B4 ACA20000 */ sw $v0, ($a1) +/* 34F438 E003A7B8 3C02E700 */ lui $v0, 0xe700 +/* 34F43C E003A7BC AC620000 */ sw $v0, ($v1) +/* 34F440 E003A7C0 AC600004 */ sw $zero, 4($v1) +/* 34F444 E003A7C4 8FBF0104 */ lw $ra, 0x104($sp) +/* 34F448 E003A7C8 8FBE0100 */ lw $fp, 0x100($sp) +/* 34F44C E003A7CC 8FB700FC */ lw $s7, 0xfc($sp) +/* 34F450 E003A7D0 8FB600F8 */ lw $s6, 0xf8($sp) +/* 34F454 E003A7D4 8FB500F4 */ lw $s5, 0xf4($sp) +/* 34F458 E003A7D8 8FB400F0 */ lw $s4, 0xf0($sp) +/* 34F45C E003A7DC 8FB300EC */ lw $s3, 0xec($sp) +/* 34F460 E003A7E0 8FB200E8 */ lw $s2, 0xe8($sp) +/* 34F464 E003A7E4 8FB100E4 */ lw $s1, 0xe4($sp) +/* 34F468 E003A7E8 8FB000E0 */ lw $s0, 0xe0($sp) +/* 34F46C E003A7EC 03E00008 */ jr $ra +/* 34F470 E003A7F0 27BD0108 */ addiu $sp, $sp, 0x108 +/* 34F474 E003A7F4 00000000 */ nop +/* 34F478 E003A7F8 00000000 */ nop +/* 34F47C E003A7FC 00000000 */ nop diff --git a/asm/nonmatchings/code_34F4C0/func_E003C000.s b/asm/nonmatchings/code_34F4C0/func_E003C000.s new file mode 100644 index 0000000000..4957a7f1e7 --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C000.s @@ -0,0 +1,152 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C000 +/* 34F4C0 E003C000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 34F4C4 E003C004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 34F4C8 E003C008 4485A000 */ mtc1 $a1, $f20 +/* 34F4CC E003C00C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 34F4D0 E003C010 4486B000 */ mtc1 $a2, $f22 +/* 34F4D4 E003C014 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 34F4D8 E003C018 4487D000 */ mtc1 $a3, $f26 +/* 34F4DC E003C01C AFB20030 */ sw $s2, 0x30($sp) +/* 34F4E0 E003C020 8FB20080 */ lw $s2, 0x80($sp) +/* 34F4E4 E003C024 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 34F4E8 E003C028 C7B80078 */ lwc1 $f24, 0x78($sp) +/* 34F4EC E003C02C AFB1002C */ sw $s1, 0x2c($sp) +/* 34F4F0 E003C030 0080882D */ daddu $s1, $a0, $zero +/* 34F4F4 E003C034 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 34F4F8 E003C038 C7BC007C */ lwc1 $f28, 0x7c($sp) +/* 34F4FC E003C03C 27A40010 */ addiu $a0, $sp, 0x10 +/* 34F500 E003C040 AFBF0038 */ sw $ra, 0x38($sp) +/* 34F504 E003C044 AFB30034 */ sw $s3, 0x34($sp) +/* 34F508 E003C048 AFB00028 */ sw $s0, 0x28($sp) +/* 34F50C E003C04C 2A420015 */ slti $v0, $s2, 0x15 +/* 34F510 E003C050 14400002 */ bnez $v0, .LE003C05C +/* 34F514 E003C054 0240802D */ daddu $s0, $s2, $zero +/* 34F518 E003C058 24120014 */ addiu $s2, $zero, 0x14 +.LE003C05C: +/* 34F51C E003C05C 26520001 */ addiu $s2, $s2, 1 +/* 34F520 E003C060 3C02E004 */ lui $v0, 0xe004 +/* 34F524 E003C064 2442C23C */ addiu $v0, $v0, -0x3dc4 +/* 34F528 E003C068 AFA20018 */ sw $v0, 0x18($sp) +/* 34F52C E003C06C 3C02E004 */ lui $v0, 0xe004 +/* 34F530 E003C070 2442C244 */ addiu $v0, $v0, -0x3dbc +/* 34F534 E003C074 AFA2001C */ sw $v0, 0x1c($sp) +/* 34F538 E003C078 3C02E004 */ lui $v0, 0xe004 +/* 34F53C E003C07C 2442C474 */ addiu $v0, $v0, -0x3b8c +/* 34F540 E003C080 AFA20020 */ sw $v0, 0x20($sp) +/* 34F544 E003C084 3C02E004 */ lui $v0, 0xe004 +/* 34F548 E003C088 2442C47C */ addiu $v0, $v0, -0x3b84 +/* 34F54C E003C08C AFA20024 */ sw $v0, 0x24($sp) +/* 34F550 E003C090 2402001E */ addiu $v0, $zero, 0x1e +/* 34F554 E003C094 AFA00010 */ sw $zero, 0x10($sp) +/* 34F558 E003C098 0C080124 */ jal func_E0200490 +/* 34F55C E003C09C AFA20014 */ sw $v0, 0x14($sp) +/* 34F560 E003C0A0 00122180 */ sll $a0, $s2, 6 +/* 34F564 E003C0A4 0040982D */ daddu $s3, $v0, $zero +/* 34F568 E003C0A8 0C08012C */ jal func_E02004B0 +/* 34F56C E003C0AC AE720008 */ sw $s2, 8($s3) +/* 34F570 E003C0B0 0040182D */ daddu $v1, $v0, $zero +/* 34F574 E003C0B4 14600003 */ bnez $v1, .LE003C0C4 +/* 34F578 E003C0B8 AE63000C */ sw $v1, 0xc($s3) +.LE003C0BC: +/* 34F57C E003C0BC 0800F02F */ j .LE003C0BC +/* 34F580 E003C0C0 00000000 */ nop +.LE003C0C4: +/* 34F584 E003C0C4 24020064 */ addiu $v0, $zero, 0x64 +/* 34F588 E003C0C8 AC710000 */ sw $s1, ($v1) +/* 34F58C E003C0CC E4740004 */ swc1 $f20, 4($v1) +/* 34F590 E003C0D0 E4760008 */ swc1 $f22, 8($v1) +/* 34F594 E003C0D4 E47A000C */ swc1 $f26, 0xc($v1) +/* 34F598 E003C0D8 E4780028 */ swc1 $f24, 0x28($v1) +/* 34F59C E003C0DC AC620030 */ sw $v0, 0x30($v1) +/* 34F5A0 E003C0E0 AC600034 */ sw $zero, 0x34($v1) +/* 34F5A4 E003C0E4 AC70003C */ sw $s0, 0x3c($v1) +/* 34F5A8 E003C0E8 24110001 */ addiu $s1, $zero, 1 +/* 34F5AC E003C0EC 0232102A */ slt $v0, $s1, $s2 +/* 34F5B0 E003C0F0 10400044 */ beqz $v0, .LE003C204 +/* 34F5B4 E003C0F4 24630040 */ addiu $v1, $v1, 0x40 +/* 34F5B8 E003C0F8 2470002C */ addiu $s0, $v1, 0x2c +/* 34F5BC E003C0FC 44920000 */ mtc1 $s2, $f0 +/* 34F5C0 E003C100 00000000 */ nop +/* 34F5C4 E003C104 46800020 */ cvt.s.w $f0, $f0 +/* 34F5C8 E003C108 3C0141F0 */ lui $at, 0x41f0 +/* 34F5CC E003C10C 44811000 */ mtc1 $at, $f2 +/* 34F5D0 E003C110 3C013FF8 */ lui $at, 0x3ff8 +/* 34F5D4 E003C114 4481B800 */ mtc1 $at, $f23 +/* 34F5D8 E003C118 4480B000 */ mtc1 $zero, $f22 +/* 34F5DC E003C11C 46001681 */ sub.s $f26, $f2, $f0 +.LE003C120: +/* 34F5E0 E003C120 001117C2 */ srl $v0, $s1, 0x1f +/* 34F5E4 E003C124 02221021 */ addu $v0, $s1, $v0 +/* 34F5E8 E003C128 00021043 */ sra $v0, $v0, 1 +/* 34F5EC E003C12C 00021040 */ sll $v0, $v0, 1 +/* 34F5F0 E003C130 02221023 */ subu $v0, $s1, $v0 +/* 34F5F4 E003C134 00021040 */ sll $v0, $v0, 1 +/* 34F5F8 E003C138 AE00FFD8 */ sw $zero, -0x28($s0) +/* 34F5FC E003C13C C600FFD8 */ lwc1 $f0, -0x28($s0) +/* 34F600 E003C140 2442FFFF */ addiu $v0, $v0, -1 +/* 34F604 E003C144 AE00FFDC */ sw $zero, -0x24($s0) +/* 34F608 E003C148 00510018 */ mult $v0, $s1 +/* 34F60C E003C14C C602FFDC */ lwc1 $f2, -0x24($s0) +/* 34F610 E003C150 AE00FFE0 */ sw $zero, -0x20($s0) +/* 34F614 E003C154 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 34F618 E003C158 00001012 */ mflo $v0 +/* 34F61C E003C15C 00021FC2 */ srl $v1, $v0, 0x1f +/* 34F620 E003C160 00431021 */ addu $v0, $v0, $v1 +/* 34F624 E003C164 00021043 */ sra $v0, $v0, 1 +/* 34F628 E003C168 4482A000 */ mtc1 $v0, $f20 +/* 34F62C E003C16C 00000000 */ nop +/* 34F630 E003C170 4680A520 */ cvt.s.w $f20, $f20 +/* 34F634 E003C174 461AA502 */ mul.s $f20, $f20, $f26 +/* 34F638 E003C178 00000000 */ nop +/* 34F63C E003C17C C600FFE0 */ lwc1 $f0, -0x20($s0) +/* 34F640 E003C180 E602FFE8 */ swc1 $f2, -0x18($s0) +/* 34F644 E003C184 3C013E4C */ lui $at, 0x3e4c +/* 34F648 E003C188 3421CCCD */ ori $at, $at, 0xcccd +/* 34F64C E003C18C 44811000 */ mtc1 $at, $f2 +/* 34F650 E003C190 4614E500 */ add.s $f20, $f28, $f20 +/* 34F654 E003C194 E600FFEC */ swc1 $f0, -0x14($s0) +/* 34F658 E003C198 E602000C */ swc1 $f2, 0xc($s0) +/* 34F65C E003C19C 0C080140 */ jal func_E0200500 +/* 34F660 E003C1A0 4600A306 */ mov.s $f12, $f20 +/* 34F664 E003C1A4 46000007 */ neg.s $f0, $f0 +/* 34F668 E003C1A8 46180002 */ mul.s $f0, $f0, $f24 +/* 34F66C E003C1AC 00000000 */ nop +/* 34F670 E003C1B0 46000021 */ cvt.d.s $f0, $f0 +/* 34F674 E003C1B4 46360002 */ mul.d $f0, $f0, $f22 +/* 34F678 E003C1B8 00000000 */ nop +/* 34F67C E003C1BC 4600A306 */ mov.s $f12, $f20 +/* 34F680 E003C1C0 46200020 */ cvt.s.d $f0, $f0 +/* 34F684 E003C1C4 0C080144 */ jal func_E0200510 +/* 34F688 E003C1C8 E600FFF0 */ swc1 $f0, -0x10($s0) +/* 34F68C E003C1CC 46180002 */ mul.s $f0, $f0, $f24 +/* 34F690 E003C1D0 00000000 */ nop +/* 34F694 E003C1D4 46000021 */ cvt.d.s $f0, $f0 +/* 34F698 E003C1D8 46360002 */ mul.d $f0, $f0, $f22 +/* 34F69C E003C1DC 00000000 */ nop +/* 34F6A0 E003C1E0 26310001 */ addiu $s1, $s1, 1 +/* 34F6A4 E003C1E4 240200FF */ addiu $v0, $zero, 0xff +/* 34F6A8 E003C1E8 AE020000 */ sw $v0, ($s0) +/* 34F6AC E003C1EC 0232102A */ slt $v0, $s1, $s2 +/* 34F6B0 E003C1F0 AE00FFF8 */ sw $zero, -8($s0) +/* 34F6B4 E003C1F4 46200020 */ cvt.s.d $f0, $f0 +/* 34F6B8 E003C1F8 E600FFF4 */ swc1 $f0, -0xc($s0) +/* 34F6BC E003C1FC 1440FFC8 */ bnez $v0, .LE003C120 +/* 34F6C0 E003C200 26100040 */ addiu $s0, $s0, 0x40 +.LE003C204: +/* 34F6C4 E003C204 8FA20084 */ lw $v0, 0x84($sp) +/* 34F6C8 E003C208 AC530000 */ sw $s3, ($v0) +/* 34F6CC E003C20C 8FBF0038 */ lw $ra, 0x38($sp) +/* 34F6D0 E003C210 8FB30034 */ lw $s3, 0x34($sp) +/* 34F6D4 E003C214 8FB20030 */ lw $s2, 0x30($sp) +/* 34F6D8 E003C218 8FB1002C */ lw $s1, 0x2c($sp) +/* 34F6DC E003C21C 8FB00028 */ lw $s0, 0x28($sp) +/* 34F6E0 E003C220 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 34F6E4 E003C224 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 34F6E8 E003C228 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 34F6EC E003C22C D7B60048 */ ldc1 $f22, 0x48($sp) +/* 34F6F0 E003C230 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 34F6F4 E003C234 03E00008 */ jr $ra +/* 34F6F8 E003C238 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_34F4C0/func_E003C23C.s b/asm/nonmatchings/code_34F4C0/func_E003C23C.s new file mode 100644 index 0000000000..7fb6bd3830 --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C23C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C23C +/* 34F6FC E003C23C 03E00008 */ jr $ra +/* 34F700 E003C240 00000000 */ nop diff --git a/asm/nonmatchings/code_34F4C0/func_E003C244.s b/asm/nonmatchings/code_34F4C0/func_E003C244.s new file mode 100644 index 0000000000..a72b11d70b --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C244.s @@ -0,0 +1,153 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C244 +/* 34F704 E003C244 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 34F708 E003C248 AFBF0010 */ sw $ra, 0x10($sp) +/* 34F70C E003C24C F7B40018 */ sdc1 $f20, 0x18($sp) +/* 34F710 E003C250 8C85000C */ lw $a1, 0xc($a0) +/* 34F714 E003C254 8CA30030 */ lw $v1, 0x30($a1) +/* 34F718 E003C258 28620064 */ slti $v0, $v1, 0x64 +/* 34F71C E003C25C 10400002 */ beqz $v0, .LE003C268 +/* 34F720 E003C260 2462FFFF */ addiu $v0, $v1, -1 +/* 34F724 E003C264 ACA20030 */ sw $v0, 0x30($a1) +.LE003C268: +/* 34F728 E003C268 8CA60034 */ lw $a2, 0x34($a1) +/* 34F72C E003C26C 8CA30030 */ lw $v1, 0x30($a1) +/* 34F730 E003C270 24C80001 */ addiu $t0, $a2, 1 +/* 34F734 E003C274 04610005 */ bgez $v1, .LE003C28C +/* 34F738 E003C278 ACA80034 */ sw $t0, 0x34($a1) +/* 34F73C E003C27C 0C080128 */ jal func_E02004A0 +/* 34F740 E003C280 00000000 */ nop +/* 34F744 E003C284 0800F119 */ j .LE003C464 +/* 34F748 E003C288 00000000 */ nop +.LE003C28C: +/* 34F74C E003C28C 8C820008 */ lw $v0, 8($a0) +/* 34F750 E003C290 24070001 */ addiu $a3, $zero, 1 +/* 34F754 E003C294 00E2102A */ slt $v0, $a3, $v0 +/* 34F758 E003C298 10400072 */ beqz $v0, .LE003C464 +/* 34F75C E003C29C 24A50040 */ addiu $a1, $a1, 0x40 +/* 34F760 E003C2A0 286C0006 */ slti $t4, $v1, 6 +/* 34F764 E003C2A4 286B0005 */ slti $t3, $v1, 5 +/* 34F768 E003C2A8 28CA0009 */ slti $t2, $a2, 9 +/* 34F76C E003C2AC 3C02E004 */ lui $v0, 0xe004 +/* 34F770 E003C2B0 2442CD1C */ addiu $v0, $v0, -0x32e4 +/* 34F774 E003C2B4 00061880 */ sll $v1, $a2, 2 +/* 34F778 E003C2B8 00624821 */ addu $t1, $v1, $v0 +/* 34F77C E003C2BC 29080029 */ slti $t0, $t0, 0x29 +/* 34F780 E003C2C0 3C02E004 */ lui $v0, 0xe004 +/* 34F784 E003C2C4 2442CCD0 */ addiu $v0, $v0, -0x3330 +/* 34F788 E003C2C8 00C21821 */ addu $v1, $a2, $v0 +/* 34F78C E003C2CC 24A50038 */ addiu $a1, $a1, 0x38 +/* 34F790 E003C2D0 3C013FE8 */ lui $at, 0x3fe8 +/* 34F794 E003C2D4 44818800 */ mtc1 $at, $f17 +/* 34F798 E003C2D8 44808000 */ mtc1 $zero, $f16 +/* 34F79C E003C2DC 3C01E004 */ lui $at, 0xe004 +/* 34F7A0 E003C2E0 D432CD40 */ ldc1 $f18, -0x32c0($at) +/* 34F7A4 E003C2E4 3C01E004 */ lui $at, 0xe004 +/* 34F7A8 E003C2E8 D42ECD48 */ ldc1 $f14, -0x32b8($at) +.LE003C2EC: +/* 34F7AC E003C2EC 15800013 */ bnez $t4, .LE003C33C +/* 34F7B0 E003C2F0 00000000 */ nop +/* 34F7B4 E003C2F4 C4A4FFE4 */ lwc1 $f4, -0x1c($a1) +/* 34F7B8 E003C2F8 46002121 */ cvt.d.s $f4, $f4 +/* 34F7BC E003C2FC 46302102 */ mul.d $f4, $f4, $f16 +/* 34F7C0 E003C300 00000000 */ nop +/* 34F7C4 E003C304 C4A2FFE8 */ lwc1 $f2, -0x18($a1) +/* 34F7C8 E003C308 460010A1 */ cvt.d.s $f2, $f2 +/* 34F7CC E003C30C 46301082 */ mul.d $f2, $f2, $f16 +/* 34F7D0 E003C310 00000000 */ nop +/* 34F7D4 E003C314 C4A0FFEC */ lwc1 $f0, -0x14($a1) +/* 34F7D8 E003C318 46000021 */ cvt.d.s $f0, $f0 +/* 34F7DC E003C31C 46300002 */ mul.d $f0, $f0, $f16 +/* 34F7E0 E003C320 00000000 */ nop +/* 34F7E4 E003C324 46202120 */ cvt.s.d $f4, $f4 +/* 34F7E8 E003C328 462010A0 */ cvt.s.d $f2, $f2 +/* 34F7EC E003C32C 46200020 */ cvt.s.d $f0, $f0 +/* 34F7F0 E003C330 E4A4FFE4 */ swc1 $f4, -0x1c($a1) +/* 34F7F4 E003C334 E4A2FFE8 */ swc1 $f2, -0x18($a1) +/* 34F7F8 E003C338 E4A0FFEC */ swc1 $f0, -0x14($a1) +.LE003C33C: +/* 34F7FC E003C33C 11600019 */ beqz $t3, .LE003C3A4 +/* 34F800 E003C340 00000000 */ nop +/* 34F804 E003C344 C4A6FFF4 */ lwc1 $f6, -0xc($a1) +/* 34F808 E003C348 468031A1 */ cvt.d.w $f6, $f6 +/* 34F80C E003C34C 46323182 */ mul.d $f6, $f6, $f18 +/* 34F810 E003C350 00000000 */ nop +/* 34F814 E003C354 C4A4FFE4 */ lwc1 $f4, -0x1c($a1) +/* 34F818 E003C358 46002121 */ cvt.d.s $f4, $f4 +/* 34F81C E003C35C 462E2102 */ mul.d $f4, $f4, $f14 +/* 34F820 E003C360 00000000 */ nop +/* 34F824 E003C364 C4A2FFE8 */ lwc1 $f2, -0x18($a1) +/* 34F828 E003C368 460010A1 */ cvt.d.s $f2, $f2 +/* 34F82C E003C36C 462E1082 */ mul.d $f2, $f2, $f14 +/* 34F830 E003C370 00000000 */ nop +/* 34F834 E003C374 C4A0FFEC */ lwc1 $f0, -0x14($a1) +/* 34F838 E003C378 46000021 */ cvt.d.s $f0, $f0 +/* 34F83C E003C37C 462E0002 */ mul.d $f0, $f0, $f14 +/* 34F840 E003C380 00000000 */ nop +/* 34F844 E003C384 4620350D */ trunc.w.d $f20, $f6 +/* 34F848 E003C388 E4B4FFF4 */ swc1 $f20, -0xc($a1) +/* 34F84C E003C38C 46202120 */ cvt.s.d $f4, $f4 +/* 34F850 E003C390 462010A0 */ cvt.s.d $f2, $f2 +/* 34F854 E003C394 46200020 */ cvt.s.d $f0, $f0 +/* 34F858 E003C398 E4A4FFE4 */ swc1 $f4, -0x1c($a1) +/* 34F85C E003C39C E4A2FFE8 */ swc1 $f2, -0x18($a1) +/* 34F860 E003C3A0 E4A0FFEC */ swc1 $f0, -0x14($a1) +.LE003C3A4: +/* 34F864 E003C3A4 3C013F80 */ lui $at, 0x3f80 +/* 34F868 E003C3A8 44816000 */ mtc1 $at, $f12 +/* 34F86C E003C3AC 11400002 */ beqz $t2, .LE003C3B8 +/* 34F870 E003C3B0 00000000 */ nop +/* 34F874 E003C3B4 C52C0000 */ lwc1 $f12, ($t1) +.LE003C3B8: +/* 34F878 E003C3B8 C4AAFFCC */ lwc1 $f10, -0x34($a1) +/* 34F87C E003C3BC 460C5282 */ mul.s $f10, $f10, $f12 +/* 34F880 E003C3C0 00000000 */ nop +/* 34F884 E003C3C4 C4A8FFD0 */ lwc1 $f8, -0x30($a1) +/* 34F888 E003C3C8 460C4202 */ mul.s $f8, $f8, $f12 +/* 34F88C E003C3CC 00000000 */ nop +/* 34F890 E003C3D0 C4A6FFCC */ lwc1 $f6, -0x34($a1) +/* 34F894 E003C3D4 C4A0FFE4 */ lwc1 $f0, -0x1c($a1) +/* 34F898 E003C3D8 C4A4FFD0 */ lwc1 $f4, -0x30($a1) +/* 34F89C E003C3DC 46003180 */ add.s $f6, $f6, $f0 +/* 34F8A0 E003C3E0 C4A0FFE8 */ lwc1 $f0, -0x18($a1) +/* 34F8A4 E003C3E4 C4A2FFD4 */ lwc1 $f2, -0x2c($a1) +/* 34F8A8 E003C3E8 46002100 */ add.s $f4, $f4, $f0 +/* 34F8AC E003C3EC C4A0FFEC */ lwc1 $f0, -0x14($a1) +/* 34F8B0 E003C3F0 46001080 */ add.s $f2, $f2, $f0 +/* 34F8B4 E003C3F4 C4A0FFD4 */ lwc1 $f0, -0x2c($a1) +/* 34F8B8 E003C3F8 E4A6FFCC */ swc1 $f6, -0x34($a1) +/* 34F8BC E003C3FC 460C0002 */ mul.s $f0, $f0, $f12 +/* 34F8C0 E003C400 00000000 */ nop +/* 34F8C4 E003C404 E4A4FFD0 */ swc1 $f4, -0x30($a1) +/* 34F8C8 E003C408 E4A2FFD4 */ swc1 $f2, -0x2c($a1) +/* 34F8CC E003C40C E4AAFFD8 */ swc1 $f10, -0x28($a1) +/* 34F8D0 E003C410 E4A8FFDC */ swc1 $f8, -0x24($a1) +/* 34F8D4 E003C414 1100000D */ beqz $t0, .LE003C44C +/* 34F8D8 E003C418 E4A0FFE0 */ swc1 $f0, -0x20($a1) +/* 34F8DC E003C41C 90620000 */ lbu $v0, ($v1) +/* 34F8E0 E003C420 3C01E004 */ lui $at, 0xe004 +/* 34F8E4 E003C424 D422CD50 */ ldc1 $f2, -0x32b0($at) +/* 34F8E8 E003C428 44820000 */ mtc1 $v0, $f0 +/* 34F8EC E003C42C 00000000 */ nop +/* 34F8F0 E003C430 46800020 */ cvt.s.w $f0, $f0 +/* 34F8F4 E003C434 46000021 */ cvt.d.s $f0, $f0 +/* 34F8F8 E003C438 46220002 */ mul.d $f0, $f0, $f2 +/* 34F8FC E003C43C 00000000 */ nop +/* 34F900 E003C440 46200020 */ cvt.s.d $f0, $f0 +/* 34F904 E003C444 0800F114 */ j .LE003C450 +/* 34F908 E003C448 E4A00000 */ swc1 $f0, ($a1) +.LE003C44C: +/* 34F90C E003C44C ACA00000 */ sw $zero, ($a1) +.LE003C450: +/* 34F910 E003C450 24E70001 */ addiu $a3, $a3, 1 +/* 34F914 E003C454 8C820008 */ lw $v0, 8($a0) +/* 34F918 E003C458 00E2102A */ slt $v0, $a3, $v0 +/* 34F91C E003C45C 1440FFA3 */ bnez $v0, .LE003C2EC +/* 34F920 E003C460 24A50040 */ addiu $a1, $a1, 0x40 +.LE003C464: +/* 34F924 E003C464 8FBF0010 */ lw $ra, 0x10($sp) +/* 34F928 E003C468 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 34F92C E003C46C 03E00008 */ jr $ra +/* 34F930 E003C470 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_34F4C0/func_E003C474.s b/asm/nonmatchings/code_34F4C0/func_E003C474.s new file mode 100644 index 0000000000..65e1ca4529 --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C474.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C474 +/* 34F934 E003C474 03E00008 */ jr $ra +/* 34F938 E003C478 00000000 */ nop diff --git a/asm/nonmatchings/code_34F4C0/func_E003C47C.s b/asm/nonmatchings/code_34F4C0/func_E003C47C.s new file mode 100644 index 0000000000..b9eb5ae20b --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C47C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C47C +/* 34F93C E003C47C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 34F940 E003C480 AFBF0010 */ sw $ra, 0x10($sp) +/* 34F944 E003C484 0C00F126 */ jal func_E003C498 +/* 34F948 E003C488 00000000 */ nop +/* 34F94C E003C48C 8FBF0010 */ lw $ra, 0x10($sp) +/* 34F950 E003C490 03E00008 */ jr $ra +/* 34F954 E003C494 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_34F4C0/func_E003C498.s b/asm/nonmatchings/code_34F4C0/func_E003C498.s new file mode 100644 index 0000000000..dd127d752c --- /dev/null +++ b/asm/nonmatchings/code_34F4C0/func_E003C498.s @@ -0,0 +1,528 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003C498 +/* 34F958 E003C498 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 34F95C E003C49C 3C05DB06 */ lui $a1, 0xdb06 +/* 34F960 E003C4A0 34A50024 */ ori $a1, $a1, 0x24 +/* 34F964 E003C4A4 AFA400E8 */ sw $a0, 0xe8($sp) +/* 34F968 E003C4A8 27A40020 */ addiu $a0, $sp, 0x20 +/* 34F96C E003C4AC AFB300BC */ sw $s3, 0xbc($sp) +/* 34F970 E003C4B0 3C13800A */ lui $s3, 0x800a +/* 34F974 E003C4B4 2673A66C */ addiu $s3, $s3, -0x5994 +/* 34F978 E003C4B8 8FAA00E8 */ lw $t2, 0xe8($sp) +/* 34F97C E003C4BC 3C02E700 */ lui $v0, 0xe700 +/* 34F980 E003C4C0 AFBF00D4 */ sw $ra, 0xd4($sp) +/* 34F984 E003C4C4 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 34F988 E003C4C8 AFB700CC */ sw $s7, 0xcc($sp) +/* 34F98C E003C4CC AFB600C8 */ sw $s6, 0xc8($sp) +/* 34F990 E003C4D0 AFB500C4 */ sw $s5, 0xc4($sp) +/* 34F994 E003C4D4 AFB400C0 */ sw $s4, 0xc0($sp) +/* 34F998 E003C4D8 AFB200B8 */ sw $s2, 0xb8($sp) +/* 34F99C E003C4DC AFB100B4 */ sw $s1, 0xb4($sp) +/* 34F9A0 E003C4E0 AFB000B0 */ sw $s0, 0xb0($sp) +/* 34F9A4 E003C4E4 F7B600E0 */ sdc1 $f22, 0xe0($sp) +/* 34F9A8 E003C4E8 F7B400D8 */ sdc1 $f20, 0xd8($sp) +/* 34F9AC E003C4EC 8E680000 */ lw $t0, ($s3) +/* 34F9B0 E003C4F0 8D54000C */ lw $s4, 0xc($t2) +/* 34F9B4 E003C4F4 0100182D */ daddu $v1, $t0, $zero +/* 34F9B8 E003C4F8 8E8A003C */ lw $t2, 0x3c($s4) +/* 34F9BC E003C4FC 25080008 */ addiu $t0, $t0, 8 +/* 34F9C0 E003C500 AFAA00A8 */ sw $t2, 0xa8($sp) +/* 34F9C4 E003C504 AC620000 */ sw $v0, ($v1) +/* 34F9C8 E003C508 AC600004 */ sw $zero, 4($v1) +/* 34F9CC E003C50C AD050000 */ sw $a1, ($t0) +/* 34F9D0 E003C510 8FAA00E8 */ lw $t2, 0xe8($sp) +/* 34F9D4 E003C514 3C120001 */ lui $s2, 1 +/* 34F9D8 E003C518 8D420010 */ lw $v0, 0x10($t2) +/* 34F9DC E003C51C 36521630 */ ori $s2, $s2, 0x1630 +/* 34F9E0 E003C520 AE680000 */ sw $t0, ($s3) +/* 34F9E4 E003C524 8C42001C */ lw $v0, 0x1c($v0) +/* 34F9E8 E003C528 3C038000 */ lui $v1, 0x8000 +/* 34F9EC E003C52C 00431021 */ addu $v0, $v0, $v1 +/* 34F9F0 E003C530 AD020004 */ sw $v0, 4($t0) +/* 34F9F4 E003C534 8E850004 */ lw $a1, 4($s4) +/* 34F9F8 E003C538 8E860008 */ lw $a2, 8($s4) +/* 34F9FC E003C53C 8E87000C */ lw $a3, 0xc($s4) +/* 34FA00 E003C540 25080008 */ addiu $t0, $t0, 8 +/* 34FA04 E003C544 0C080108 */ jal func_E0200420 +/* 34FA08 E003C548 AE680000 */ sw $t0, ($s3) +/* 34FA0C E003C54C 27B00060 */ addiu $s0, $sp, 0x60 +/* 34FA10 E003C550 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 34FA14 E003C554 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 34FA18 E003C558 44800000 */ mtc1 $zero, $f0 +/* 34FA1C E003C55C 00031080 */ sll $v0, $v1, 2 +/* 34FA20 E003C560 00431021 */ addu $v0, $v0, $v1 +/* 34FA24 E003C564 00021080 */ sll $v0, $v0, 2 +/* 34FA28 E003C568 00431023 */ subu $v0, $v0, $v1 +/* 34FA2C E003C56C 000218C0 */ sll $v1, $v0, 3 +/* 34FA30 E003C570 00431021 */ addu $v0, $v0, $v1 +/* 34FA34 E003C574 000210C0 */ sll $v0, $v0, 3 +/* 34FA38 E003C578 44060000 */ mfc1 $a2, $f0 +/* 34FA3C E003C57C 3C01800B */ lui $at, 0x800b +/* 34FA40 E003C580 00220821 */ addu $at, $at, $v0 +/* 34FA44 E003C584 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 34FA48 E003C588 3C073F80 */ lui $a3, 0x3f80 +/* 34FA4C E003C58C 46000007 */ neg.s $f0, $f0 +/* 34FA50 E003C590 44050000 */ mfc1 $a1, $f0 +/* 34FA54 E003C594 0200202D */ daddu $a0, $s0, $zero +/* 34FA58 E003C598 0C080104 */ jal func_E0200410 +/* 34FA5C E003C59C AFA60010 */ sw $a2, 0x10($sp) +/* 34FA60 E003C5A0 0200202D */ daddu $a0, $s0, $zero +/* 34FA64 E003C5A4 27A50020 */ addiu $a1, $sp, 0x20 +/* 34FA68 E003C5A8 0C080114 */ jal func_E0200450 +/* 34FA6C E003C5AC 00A0302D */ daddu $a2, $a1, $zero +/* 34FA70 E003C5B0 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FA74 E003C5B4 3C108007 */ lui $s0, 0x8007 +/* 34FA78 E003C5B8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 34FA7C E003C5BC 3C11800A */ lui $s1, 0x800a +/* 34FA80 E003C5C0 2631A674 */ addiu $s1, $s1, -0x598c +/* 34FA84 E003C5C4 96050000 */ lhu $a1, ($s0) +/* 34FA88 E003C5C8 8E220000 */ lw $v0, ($s1) +/* 34FA8C E003C5CC 00052980 */ sll $a1, $a1, 6 +/* 34FA90 E003C5D0 00B22821 */ addu $a1, $a1, $s2 +/* 34FA94 E003C5D4 0C080118 */ jal func_E0200460 +/* 34FA98 E003C5D8 00452821 */ addu $a1, $v0, $a1 +/* 34FA9C E003C5DC 8E670000 */ lw $a3, ($s3) +/* 34FAA0 E003C5E0 00E0282D */ daddu $a1, $a3, $zero +/* 34FAA4 E003C5E4 24E70008 */ addiu $a3, $a3, 8 +/* 34FAA8 E003C5E8 AE670000 */ sw $a3, ($s3) +/* 34FAAC E003C5EC 96040000 */ lhu $a0, ($s0) +/* 34FAB0 E003C5F0 3C02DA38 */ lui $v0, 0xda38 +/* 34FAB4 E003C5F4 ACA20000 */ sw $v0, ($a1) +/* 34FAB8 E003C5F8 8E230000 */ lw $v1, ($s1) +/* 34FABC E003C5FC 3082FFFF */ andi $v0, $a0, 0xffff +/* 34FAC0 E003C600 00021180 */ sll $v0, $v0, 6 +/* 34FAC4 E003C604 00521021 */ addu $v0, $v0, $s2 +/* 34FAC8 E003C608 00621821 */ addu $v1, $v1, $v0 +/* 34FACC E003C60C ACA30004 */ sw $v1, 4($a1) +/* 34FAD0 E003C610 8FAA00E8 */ lw $t2, 0xe8($sp) +/* 34FAD4 E003C614 8D450008 */ lw $a1, 8($t2) +/* 34FAD8 E003C618 24840001 */ addiu $a0, $a0, 1 +/* 34FADC E003C61C A6040000 */ sh $a0, ($s0) +/* 34FAE0 E003C620 8D43000C */ lw $v1, 0xc($t2) +/* 34FAE4 E003C624 8E840034 */ lw $a0, 0x34($s4) +/* 34FAE8 E003C628 00051180 */ sll $v0, $a1, 6 +/* 34FAEC E003C62C 2442FFC0 */ addiu $v0, $v0, -0x40 +/* 34FAF0 E003C630 0062A021 */ addu $s4, $v1, $v0 +/* 34FAF4 E003C634 2484FFFF */ addiu $a0, $a0, -1 +/* 34FAF8 E003C638 24A5FFFF */ addiu $a1, $a1, -1 +/* 34FAFC E003C63C AFA400A0 */ sw $a0, 0xa0($sp) +/* 34FB00 E003C640 AFA500A4 */ sw $a1, 0xa4($sp) +/* 34FB04 E003C644 8E83002C */ lw $v1, 0x2c($s4) +/* 34FB08 E003C648 240200FF */ addiu $v0, $zero, 0xff +/* 34FB0C E003C64C 14620005 */ bne $v1, $v0, .LE003C664 +/* 34FB10 E003C650 3C05E200 */ lui $a1, 0xe200 +/* 34FB14 E003C654 34A5001C */ ori $a1, $a1, 0x1c +/* 34FB18 E003C658 3C030055 */ lui $v1, 0x55 +/* 34FB1C E003C65C 0800F19C */ j .LE003C670 +/* 34FB20 E003C660 34633048 */ ori $v1, $v1, 0x3048 +.LE003C664: +/* 34FB24 E003C664 34A5001C */ ori $a1, $a1, 0x1c +/* 34FB28 E003C668 3C030050 */ lui $v1, 0x50 +/* 34FB2C E003C66C 34634340 */ ori $v1, $v1, 0x4340 +.LE003C670: +/* 34FB30 E003C670 3C06FC62 */ lui $a2, 0xfc62 +/* 34FB34 E003C674 34C632C4 */ ori $a2, $a2, 0x32c4 +/* 34FB38 E003C678 3C04FF65 */ lui $a0, 0xff65 +/* 34FB3C E003C67C 3484FEFF */ ori $a0, $a0, 0xfeff +/* 34FB40 E003C680 24E20008 */ addiu $v0, $a3, 8 +/* 34FB44 E003C684 AE620000 */ sw $v0, ($s3) +/* 34FB48 E003C688 24E20010 */ addiu $v0, $a3, 0x10 +/* 34FB4C E003C68C ACE50000 */ sw $a1, ($a3) +/* 34FB50 E003C690 ACE30004 */ sw $v1, 4($a3) +/* 34FB54 E003C694 AE620000 */ sw $v0, ($s3) +/* 34FB58 E003C698 ACE60008 */ sw $a2, 8($a3) +/* 34FB5C E003C69C ACE4000C */ sw $a0, 0xc($a3) +/* 34FB60 E003C6A0 8FAA00E8 */ lw $t2, 0xe8($sp) +/* 34FB64 E003C6A4 8D420008 */ lw $v0, 8($t2) +/* 34FB68 E003C6A8 24120001 */ addiu $s2, $zero, 1 +/* 34FB6C E003C6AC 0242102A */ slt $v0, $s2, $v0 +/* 34FB70 E003C6B0 10400161 */ beqz $v0, .LE003CC38 +/* 34FB74 E003C6B4 3C15DE00 */ lui $s5, 0xde00 +/* 34FB78 E003C6B8 3C10800A */ lui $s0, 0x800a +/* 34FB7C E003C6BC 2610A66C */ addiu $s0, $s0, -0x5994 +/* 34FB80 E003C6C0 3C17800A */ lui $s7, 0x800a +/* 34FB84 E003C6C4 26F7A674 */ addiu $s7, $s7, -0x598c +/* 34FB88 E003C6C8 3C168007 */ lui $s6, 0x8007 +/* 34FB8C E003C6CC 26D641F0 */ addiu $s6, $s6, 0x41f0 +/* 34FB90 E003C6D0 3C130001 */ lui $s3, 1 +/* 34FB94 E003C6D4 36731630 */ ori $s3, $s3, 0x1630 +/* 34FB98 E003C6D8 3C1ED838 */ lui $fp, 0xd838 +/* 34FB9C E003C6DC 37DE0002 */ ori $fp, $fp, 2 +/* 34FBA0 E003C6E0 26910038 */ addiu $s1, $s4, 0x38 +/* 34FBA4 E003C6E4 4480A000 */ mtc1 $zero, $f20 +/* 34FBA8 E003C6E8 3C013FE0 */ lui $at, 0x3fe0 +/* 34FBAC E003C6EC 4481B800 */ mtc1 $at, $f23 +/* 34FBB0 E003C6F0 4480B000 */ mtc1 $zero, $f22 +.LE003C6F4: +/* 34FBB4 E003C6F4 3C022AAA */ lui $v0, 0x2aaa +/* 34FBB8 E003C6F8 3442AAAB */ ori $v0, $v0, 0xaaab +/* 34FBBC E003C6FC 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 34FBC0 E003C700 8E060000 */ lw $a2, ($s0) +/* 34FBC4 E003C704 024A2021 */ addu $a0, $s2, $t2 +/* 34FBC8 E003C708 00C0402D */ daddu $t0, $a2, $zero +/* 34FBCC E003C70C 24C60008 */ addiu $a2, $a2, 8 +/* 34FBD0 E003C710 00820018 */ mult $a0, $v0 +/* 34FBD4 E003C714 3C02FA00 */ lui $v0, 0xfa00 +/* 34FBD8 E003C718 AE060000 */ sw $a2, ($s0) +/* 34FBDC E003C71C AD020000 */ sw $v0, ($t0) +/* 34FBE0 E003C720 000417C3 */ sra $v0, $a0, 0x1f +/* 34FBE4 E003C724 9227FFF7 */ lbu $a3, -9($s1) +/* 34FBE8 E003C728 00005010 */ mfhi $t2 +/* 34FBEC E003C72C 000A1843 */ sra $v1, $t2, 1 +/* 34FBF0 E003C730 00621823 */ subu $v1, $v1, $v0 +/* 34FBF4 E003C734 00031040 */ sll $v0, $v1, 1 +/* 34FBF8 E003C738 00431021 */ addu $v0, $v0, $v1 +/* 34FBFC E003C73C 00021080 */ sll $v0, $v0, 2 +/* 34FC00 E003C740 00822023 */ subu $a0, $a0, $v0 +/* 34FC04 E003C744 00041040 */ sll $v0, $a0, 1 +/* 34FC08 E003C748 00441021 */ addu $v0, $v0, $a0 +/* 34FC0C E003C74C 3C0AE004 */ lui $t2, 0xe004 +/* 34FC10 E003C750 254ACCF8 */ addiu $t2, $t2, -0x3308 +/* 34FC14 E003C754 004A1821 */ addu $v1, $v0, $t2 +/* 34FC18 E003C758 0060202D */ daddu $a0, $v1, $zero +/* 34FC1C E003C75C 0060102D */ daddu $v0, $v1, $zero +/* 34FC20 E003C760 90630000 */ lbu $v1, ($v1) +/* 34FC24 E003C764 90840001 */ lbu $a0, 1($a0) +/* 34FC28 E003C768 90450002 */ lbu $a1, 2($v0) +/* 34FC2C E003C76C 24C20008 */ addiu $v0, $a2, 8 +/* 34FC30 E003C770 AE020000 */ sw $v0, ($s0) +/* 34FC34 E003C774 00031E00 */ sll $v1, $v1, 0x18 +/* 34FC38 E003C778 00042400 */ sll $a0, $a0, 0x10 +/* 34FC3C E003C77C 00641825 */ or $v1, $v1, $a0 +/* 34FC40 E003C780 00052A00 */ sll $a1, $a1, 8 +/* 34FC44 E003C784 00651825 */ or $v1, $v1, $a1 +/* 34FC48 E003C788 00671825 */ or $v1, $v1, $a3 +/* 34FC4C E003C78C AD030004 */ sw $v1, 4($t0) +/* 34FC50 E003C790 3C0A0900 */ lui $t2, 0x900 +/* 34FC54 E003C794 254A1D40 */ addiu $t2, $t2, 0x1d40 +/* 34FC58 E003C798 ACD50000 */ sw $s5, ($a2) +/* 34FC5C E003C79C ACCA0004 */ sw $t2, 4($a2) +/* 34FC60 E003C7A0 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 34FC64 E003C7A4 164A006E */ bne $s2, $t2, .LE003C960 +/* 34FC68 E003C7A8 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FC6C E003C7AC C6200000 */ lwc1 $f0, ($s1) +/* 34FC70 E003C7B0 4405A000 */ mfc1 $a1, $f20 +/* 34FC74 E003C7B4 4406A000 */ mfc1 $a2, $f20 +/* 34FC78 E003C7B8 4407A000 */ mfc1 $a3, $f20 +/* 34FC7C E003C7BC E7A00010 */ swc1 $f0, 0x10($sp) +/* 34FC80 E003C7C0 C620FFD8 */ lwc1 $f0, -0x28($s1) +/* 34FC84 E003C7C4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 34FC88 E003C7C8 C620FFDC */ lwc1 $f0, -0x24($s1) +/* 34FC8C E003C7CC E7A00018 */ swc1 $f0, 0x18($sp) +/* 34FC90 E003C7D0 C620FFE0 */ lwc1 $f0, -0x20($s1) +/* 34FC94 E003C7D4 0C080180 */ jal func_E0200600 +/* 34FC98 E003C7D8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 34FC9C E003C7DC 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FCA0 E003C7E0 96C50000 */ lhu $a1, ($s6) +/* 34FCA4 E003C7E4 8EE20000 */ lw $v0, ($s7) +/* 34FCA8 E003C7E8 00052980 */ sll $a1, $a1, 6 +/* 34FCAC E003C7EC 00B32821 */ addu $a1, $a1, $s3 +/* 34FCB0 E003C7F0 0C080118 */ jal func_E0200460 +/* 34FCB4 E003C7F4 00452821 */ addu $a1, $v0, $a1 +/* 34FCB8 E003C7F8 8E080000 */ lw $t0, ($s0) +/* 34FCBC E003C7FC 96C90000 */ lhu $t1, ($s6) +/* 34FCC0 E003C800 0100202D */ daddu $a0, $t0, $zero +/* 34FCC4 E003C804 25080008 */ addiu $t0, $t0, 8 +/* 34FCC8 E003C808 3C0ADA38 */ lui $t2, 0xda38 +/* 34FCCC E003C80C 3122FFFF */ andi $v0, $t1, 0xffff +/* 34FCD0 E003C810 00021180 */ sll $v0, $v0, 6 +/* 34FCD4 E003C814 AC8A0000 */ sw $t2, ($a0) +/* 34FCD8 E003C818 8EE30000 */ lw $v1, ($s7) +/* 34FCDC E003C81C 00531021 */ addu $v0, $v0, $s3 +/* 34FCE0 E003C820 00621821 */ addu $v1, $v1, $v0 +/* 34FCE4 E003C824 3C020900 */ lui $v0, 0x900 +/* 34FCE8 E003C828 24422150 */ addiu $v0, $v0, 0x2150 +/* 34FCEC E003C82C AC830004 */ sw $v1, 4($a0) +/* 34FCF0 E003C830 240A0040 */ addiu $t2, $zero, 0x40 +/* 34FCF4 E003C834 AD150000 */ sw $s5, ($t0) +/* 34FCF8 E003C838 AD020004 */ sw $v0, 4($t0) +/* 34FCFC E003C83C AD1E0008 */ sw $fp, 8($t0) +/* 34FD00 E003C840 AD0A000C */ sw $t2, 0xc($t0) +/* 34FD04 E003C844 C6200000 */ lwc1 $f0, ($s1) +/* 34FD08 E003C848 E7A00010 */ swc1 $f0, 0x10($sp) +/* 34FD0C E003C84C C620FFD8 */ lwc1 $f0, -0x28($s1) +/* 34FD10 E003C850 C622FFCC */ lwc1 $f2, -0x34($s1) +/* 34FD14 E003C854 46020000 */ add.s $f0, $f0, $f2 +/* 34FD18 E003C858 46000021 */ cvt.d.s $f0, $f0 +/* 34FD1C E003C85C 46360002 */ mul.d $f0, $f0, $f22 +/* 34FD20 E003C860 00000000 */ nop +/* 34FD24 E003C864 46200020 */ cvt.s.d $f0, $f0 +/* 34FD28 E003C868 E7A00014 */ swc1 $f0, 0x14($sp) +/* 34FD2C E003C86C C620FFDC */ lwc1 $f0, -0x24($s1) +/* 34FD30 E003C870 C622FFD0 */ lwc1 $f2, -0x30($s1) +/* 34FD34 E003C874 46020000 */ add.s $f0, $f0, $f2 +/* 34FD38 E003C878 46000021 */ cvt.d.s $f0, $f0 +/* 34FD3C E003C87C 46360002 */ mul.d $f0, $f0, $f22 +/* 34FD40 E003C880 00000000 */ nop +/* 34FD44 E003C884 4405A000 */ mfc1 $a1, $f20 +/* 34FD48 E003C888 46200020 */ cvt.s.d $f0, $f0 +/* 34FD4C E003C88C E7A00018 */ swc1 $f0, 0x18($sp) +/* 34FD50 E003C890 C620FFE0 */ lwc1 $f0, -0x20($s1) +/* 34FD54 E003C894 C622FFD4 */ lwc1 $f2, -0x2c($s1) +/* 34FD58 E003C898 4406A000 */ mfc1 $a2, $f20 +/* 34FD5C E003C89C 46020000 */ add.s $f0, $f0, $f2 +/* 34FD60 E003C8A0 4407A000 */ mfc1 $a3, $f20 +/* 34FD64 E003C8A4 25290001 */ addiu $t1, $t1, 1 +/* 34FD68 E003C8A8 46000021 */ cvt.d.s $f0, $f0 +/* 34FD6C E003C8AC 46360002 */ mul.d $f0, $f0, $f22 +/* 34FD70 E003C8B0 00000000 */ nop +/* 34FD74 E003C8B4 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FD78 E003C8B8 25020008 */ addiu $v0, $t0, 8 +/* 34FD7C E003C8BC AE080000 */ sw $t0, ($s0) +/* 34FD80 E003C8C0 25080010 */ addiu $t0, $t0, 0x10 +/* 34FD84 E003C8C4 A6C90000 */ sh $t1, ($s6) +/* 34FD88 E003C8C8 AE020000 */ sw $v0, ($s0) +/* 34FD8C E003C8CC AE080000 */ sw $t0, ($s0) +/* 34FD90 E003C8D0 46200020 */ cvt.s.d $f0, $f0 +/* 34FD94 E003C8D4 0C080180 */ jal func_E0200600 +/* 34FD98 E003C8D8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 34FD9C E003C8DC 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FDA0 E003C8E0 96C50000 */ lhu $a1, ($s6) +/* 34FDA4 E003C8E4 8EE20000 */ lw $v0, ($s7) +/* 34FDA8 E003C8E8 00052980 */ sll $a1, $a1, 6 +/* 34FDAC E003C8EC 00B32821 */ addu $a1, $a1, $s3 +/* 34FDB0 E003C8F0 0C080118 */ jal func_E0200460 +/* 34FDB4 E003C8F4 00452821 */ addu $a1, $v0, $a1 +/* 34FDB8 E003C8F8 8E040000 */ lw $a0, ($s0) +/* 34FDBC E003C8FC 96C30000 */ lhu $v1, ($s6) +/* 34FDC0 E003C900 0080282D */ daddu $a1, $a0, $zero +/* 34FDC4 E003C904 24840008 */ addiu $a0, $a0, 8 +/* 34FDC8 E003C908 3C0ADA38 */ lui $t2, 0xda38 +/* 34FDCC E003C90C 24620001 */ addiu $v0, $v1, 1 +/* 34FDD0 E003C910 3063FFFF */ andi $v1, $v1, 0xffff +/* 34FDD4 E003C914 00031980 */ sll $v1, $v1, 6 +/* 34FDD8 E003C918 AE040000 */ sw $a0, ($s0) +/* 34FDDC E003C91C ACAA0000 */ sw $t2, ($a1) +/* 34FDE0 E003C920 A6C20000 */ sh $v0, ($s6) +/* 34FDE4 E003C924 8EE20000 */ lw $v0, ($s7) +/* 34FDE8 E003C928 00731821 */ addu $v1, $v1, $s3 +/* 34FDEC E003C92C 00431021 */ addu $v0, $v0, $v1 +/* 34FDF0 E003C930 ACA20004 */ sw $v0, 4($a1) +/* 34FDF4 E003C934 24820008 */ addiu $v0, $a0, 8 +/* 34FDF8 E003C938 AE020000 */ sw $v0, ($s0) +/* 34FDFC E003C93C 3C020900 */ lui $v0, 0x900 +/* 34FE00 E003C940 24422160 */ addiu $v0, $v0, 0x2160 +/* 34FE04 E003C944 AC820004 */ sw $v0, 4($a0) +/* 34FE08 E003C948 24820010 */ addiu $v0, $a0, 0x10 +/* 34FE0C E003C94C 240A0040 */ addiu $t2, $zero, 0x40 +/* 34FE10 E003C950 AC950000 */ sw $s5, ($a0) +/* 34FE14 E003C954 AE020000 */ sw $v0, ($s0) +/* 34FE18 E003C958 AC9E0008 */ sw $fp, 8($a0) +/* 34FE1C E003C95C AC8A000C */ sw $t2, 0xc($a0) +.LE003C960: +/* 34FE20 E003C960 8E030000 */ lw $v1, ($s0) +/* 34FE24 E003C964 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FE28 E003C968 0060102D */ daddu $v0, $v1, $zero +/* 34FE2C E003C96C 3C0A0900 */ lui $t2, 0x900 +/* 34FE30 E003C970 254A1D40 */ addiu $t2, $t2, 0x1d40 +/* 34FE34 E003C974 AC550000 */ sw $s5, ($v0) +/* 34FE38 E003C978 AC4A0004 */ sw $t2, 4($v0) +/* 34FE3C E003C97C 8E25FFCC */ lw $a1, -0x34($s1) +/* 34FE40 E003C980 8E26FFD0 */ lw $a2, -0x30($s1) +/* 34FE44 E003C984 8E27FFD4 */ lw $a3, -0x2c($s1) +/* 34FE48 E003C988 24630008 */ addiu $v1, $v1, 8 +/* 34FE4C E003C98C 0C080108 */ jal func_E0200420 +/* 34FE50 E003C990 AE030000 */ sw $v1, ($s0) +/* 34FE54 E003C994 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FE58 E003C998 96C50000 */ lhu $a1, ($s6) +/* 34FE5C E003C99C 8EE20000 */ lw $v0, ($s7) +/* 34FE60 E003C9A0 00052980 */ sll $a1, $a1, 6 +/* 34FE64 E003C9A4 00B32821 */ addu $a1, $a1, $s3 +/* 34FE68 E003C9A8 0C080118 */ jal func_E0200460 +/* 34FE6C E003C9AC 00452821 */ addu $a1, $v0, $a1 +/* 34FE70 E003C9B0 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FE74 E003C9B4 8E060000 */ lw $a2, ($s0) +/* 34FE78 E003C9B8 3C073F80 */ lui $a3, 0x3f80 +/* 34FE7C E003C9BC 96C80000 */ lhu $t0, ($s6) +/* 34FE80 E003C9C0 00C0282D */ daddu $a1, $a2, $zero +/* 34FE84 E003C9C4 3C0ADA38 */ lui $t2, 0xda38 +/* 34FE88 E003C9C8 3102FFFF */ andi $v0, $t0, 0xffff +/* 34FE8C E003C9CC 00021180 */ sll $v0, $v0, 6 +/* 34FE90 E003C9D0 00531021 */ addu $v0, $v0, $s3 +/* 34FE94 E003C9D4 ACAA0000 */ sw $t2, ($a1) +/* 34FE98 E003C9D8 8EE30000 */ lw $v1, ($s7) +/* 34FE9C E003C9DC 24C60008 */ addiu $a2, $a2, 8 +/* 34FEA0 E003C9E0 00621821 */ addu $v1, $v1, $v0 +/* 34FEA4 E003C9E4 ACA30004 */ sw $v1, 4($a1) +/* 34FEA8 E003C9E8 8E250000 */ lw $a1, ($s1) +/* 34FEAC E003C9EC 25080001 */ addiu $t0, $t0, 1 +/* 34FEB0 E003C9F0 AE060000 */ sw $a2, ($s0) +/* 34FEB4 E003C9F4 A6C80000 */ sh $t0, ($s6) +/* 34FEB8 E003C9F8 0C080110 */ jal func_E0200440 +/* 34FEBC E003C9FC 00A0302D */ daddu $a2, $a1, $zero +/* 34FEC0 E003CA00 27A40020 */ addiu $a0, $sp, 0x20 +/* 34FEC4 E003CA04 96C50000 */ lhu $a1, ($s6) +/* 34FEC8 E003CA08 8EE20000 */ lw $v0, ($s7) +/* 34FECC E003CA0C 00052980 */ sll $a1, $a1, 6 +/* 34FED0 E003CA10 00B32821 */ addu $a1, $a1, $s3 +/* 34FED4 E003CA14 0C080118 */ jal func_E0200460 +/* 34FED8 E003CA18 00452821 */ addu $a1, $v0, $a1 +/* 34FEDC E003CA1C 8E050000 */ lw $a1, ($s0) +/* 34FEE0 E003CA20 96C30000 */ lhu $v1, ($s6) +/* 34FEE4 E003CA24 00A0202D */ daddu $a0, $a1, $zero +/* 34FEE8 E003CA28 24A50008 */ addiu $a1, $a1, 8 +/* 34FEEC E003CA2C 3C0ADA38 */ lui $t2, 0xda38 +/* 34FEF0 E003CA30 24620001 */ addiu $v0, $v1, 1 +/* 34FEF4 E003CA34 3063FFFF */ andi $v1, $v1, 0xffff +/* 34FEF8 E003CA38 00031980 */ sll $v1, $v1, 6 +/* 34FEFC E003CA3C AE050000 */ sw $a1, ($s0) +/* 34FF00 E003CA40 AC8A0000 */ sw $t2, ($a0) +/* 34FF04 E003CA44 A6C20000 */ sh $v0, ($s6) +/* 34FF08 E003CA48 8EE20000 */ lw $v0, ($s7) +/* 34FF0C E003CA4C 00731821 */ addu $v1, $v1, $s3 +/* 34FF10 E003CA50 00431021 */ addu $v0, $v0, $v1 +/* 34FF14 E003CA54 AC820004 */ sw $v0, 4($a0) +/* 34FF18 E003CA58 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 34FF1C E003CA5C 164A0006 */ bne $s2, $t2, .LE003CA78 +/* 34FF20 E003CA60 24A20008 */ addiu $v0, $a1, 8 +/* 34FF24 E003CA64 AE020000 */ sw $v0, ($s0) +/* 34FF28 E003CA68 3C020900 */ lui $v0, 0x900 +/* 34FF2C E003CA6C 24422170 */ addiu $v0, $v0, 0x2170 +/* 34FF30 E003CA70 0800F2A2 */ j .LE003CA88 +/* 34FF34 E003CA74 ACB50000 */ sw $s5, ($a1) +.LE003CA78: +/* 34FF38 E003CA78 AE020000 */ sw $v0, ($s0) +/* 34FF3C E003CA7C 3C020900 */ lui $v0, 0x900 +/* 34FF40 E003CA80 24422180 */ addiu $v0, $v0, 0x2180 +/* 34FF44 E003CA84 ACB50000 */ sw $s5, ($a1) +.LE003CA88: +/* 34FF48 E003CA88 ACA20004 */ sw $v0, 4($a1) +/* 34FF4C E003CA8C 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 34FF50 E003CA90 164A0050 */ bne $s2, $t2, .LE003CBD4 +/* 34FF54 E003CA94 240A0040 */ addiu $t2, $zero, 0x40 +/* 34FF58 E003CA98 8E050000 */ lw $a1, ($s0) +/* 34FF5C E003CA9C 3C020900 */ lui $v0, 0x900 +/* 34FF60 E003CAA0 244221A8 */ addiu $v0, $v0, 0x21a8 +/* 34FF64 E003CAA4 00A0182D */ daddu $v1, $a1, $zero +/* 34FF68 E003CAA8 24A50008 */ addiu $a1, $a1, 8 +/* 34FF6C E003CAAC AE050000 */ sw $a1, ($s0) +/* 34FF70 E003CAB0 AC620004 */ sw $v0, 4($v1) +/* 34FF74 E003CAB4 24A20008 */ addiu $v0, $a1, 8 +/* 34FF78 E003CAB8 AC750000 */ sw $s5, ($v1) +/* 34FF7C E003CABC AE020000 */ sw $v0, ($s0) +/* 34FF80 E003CAC0 24A20010 */ addiu $v0, $a1, 0x10 +/* 34FF84 E003CAC4 ACBE0000 */ sw $fp, ($a1) +/* 34FF88 E003CAC8 ACAA0004 */ sw $t2, 4($a1) +/* 34FF8C E003CACC AE020000 */ sw $v0, ($s0) +/* 34FF90 E003CAD0 3C020900 */ lui $v0, 0x900 +/* 34FF94 E003CAD4 24421DE0 */ addiu $v0, $v0, 0x1de0 +/* 34FF98 E003CAD8 ACB50008 */ sw $s5, 8($a1) +/* 34FF9C E003CADC ACA2000C */ sw $v0, 0xc($a1) +/* 34FFA0 E003CAE0 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 34FFA4 E003CAE4 2942000A */ slti $v0, $t2, 0xa +/* 34FFA8 E003CAE8 10400010 */ beqz $v0, .LE003CB2C +/* 34FFAC E003CAEC 24A20018 */ addiu $v0, $a1, 0x18 +/* 34FFB0 E003CAF0 AE020000 */ sw $v0, ($s0) +/* 34FFB4 E003CAF4 00121080 */ sll $v0, $s2, 2 +/* 34FFB8 E003CAF8 3C0AE004 */ lui $t2, 0xe004 +/* 34FFBC E003CAFC 254ACCA0 */ addiu $t2, $t2, -0x3360 +/* 34FFC0 E003CB00 004A1021 */ addu $v0, $v0, $t2 +/* 34FFC4 E003CB04 ACB50010 */ sw $s5, 0x10($a1) +/* 34FFC8 E003CB08 8C430000 */ lw $v1, ($v0) +/* 34FFCC E003CB0C 24A20020 */ addiu $v0, $a1, 0x20 +/* 34FFD0 E003CB10 AE020000 */ sw $v0, ($s0) +/* 34FFD4 E003CB14 3C020900 */ lui $v0, 0x900 +/* 34FFD8 E003CB18 244221C0 */ addiu $v0, $v0, 0x21c0 +/* 34FFDC E003CB1C ACB50018 */ sw $s5, 0x18($a1) +/* 34FFE0 E003CB20 ACA2001C */ sw $v0, 0x1c($a1) +/* 34FFE4 E003CB24 0800F301 */ j .LE003CC04 +/* 34FFE8 E003CB28 ACA30014 */ sw $v1, 0x14($a1) +.LE003CB2C: +/* 34FFEC E003CB2C 3C036666 */ lui $v1, 0x6666 +/* 34FFF0 E003CB30 34636667 */ ori $v1, $v1, 0x6667 +/* 34FFF4 E003CB34 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 34FFF8 E003CB38 01430018 */ mult $t2, $v1 +/* 34FFFC E003CB3C AE020000 */ sw $v0, ($s0) +/* 350000 E003CB40 24A20020 */ addiu $v0, $a1, 0x20 +/* 350004 E003CB44 ACB50010 */ sw $s5, 0x10($a1) +/* 350008 E003CB48 AE020000 */ sw $v0, ($s0) +/* 35000C E003CB4C 00005010 */ mfhi $t2 +/* 350010 E003CB50 000A1883 */ sra $v1, $t2, 2 +/* 350014 E003CB54 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 350018 E003CB58 000A17C3 */ sra $v0, $t2, 0x1f +/* 35001C E003CB5C 00621023 */ subu $v0, $v1, $v0 +/* 350020 E003CB60 0040182D */ daddu $v1, $v0, $zero +/* 350024 E003CB64 00031080 */ sll $v0, $v1, 2 +/* 350028 E003CB68 00431021 */ addu $v0, $v0, $v1 +/* 35002C E003CB6C 00021040 */ sll $v0, $v0, 1 +/* 350030 E003CB70 01421023 */ subu $v0, $t2, $v0 +/* 350034 E003CB74 00021080 */ sll $v0, $v0, 2 +/* 350038 E003CB78 3C0AE004 */ lui $t2, 0xe004 +/* 35003C E003CB7C 254ACCA0 */ addiu $t2, $t2, -0x3360 +/* 350040 E003CB80 004A1021 */ addu $v0, $v0, $t2 +/* 350044 E003CB84 8C440000 */ lw $a0, ($v0) +/* 350048 E003CB88 24A20028 */ addiu $v0, $a1, 0x28 +/* 35004C E003CB8C AE020000 */ sw $v0, ($s0) +/* 350050 E003CB90 3C020900 */ lui $v0, 0x900 +/* 350054 E003CB94 24422200 */ addiu $v0, $v0, 0x2200 +/* 350058 E003CB98 00031880 */ sll $v1, $v1, 2 +/* 35005C E003CB9C 006A1821 */ addu $v1, $v1, $t2 +/* 350060 E003CBA0 ACB50018 */ sw $s5, 0x18($a1) +/* 350064 E003CBA4 ACA2001C */ sw $v0, 0x1c($a1) +/* 350068 E003CBA8 ACB50020 */ sw $s5, 0x20($a1) +/* 35006C E003CBAC ACA40014 */ sw $a0, 0x14($a1) +/* 350070 E003CBB0 8C630000 */ lw $v1, ($v1) +/* 350074 E003CBB4 24A20030 */ addiu $v0, $a1, 0x30 +/* 350078 E003CBB8 AE020000 */ sw $v0, ($s0) +/* 35007C E003CBBC 3C020900 */ lui $v0, 0x900 +/* 350080 E003CBC0 244221E0 */ addiu $v0, $v0, 0x21e0 +/* 350084 E003CBC4 ACB50028 */ sw $s5, 0x28($a1) +/* 350088 E003CBC8 ACA2002C */ sw $v0, 0x2c($a1) +/* 35008C E003CBCC 0800F301 */ j .LE003CC04 +/* 350090 E003CBD0 ACA30024 */ sw $v1, 0x24($a1) +.LE003CBD4: +/* 350094 E003CBD4 8E030000 */ lw $v1, ($s0) +/* 350098 E003CBD8 3C020900 */ lui $v0, 0x900 +/* 35009C E003CBDC 24422190 */ addiu $v0, $v0, 0x2190 +/* 3500A0 E003CBE0 0060202D */ daddu $a0, $v1, $zero +/* 3500A4 E003CBE4 24630008 */ addiu $v1, $v1, 8 +/* 3500A8 E003CBE8 AE030000 */ sw $v1, ($s0) +/* 3500AC E003CBEC AC820004 */ sw $v0, 4($a0) +/* 3500B0 E003CBF0 24620008 */ addiu $v0, $v1, 8 +/* 3500B4 E003CBF4 AC950000 */ sw $s5, ($a0) +/* 3500B8 E003CBF8 AE020000 */ sw $v0, ($s0) +/* 3500BC E003CBFC AC7E0000 */ sw $fp, ($v1) +/* 3500C0 E003CC00 AC6A0004 */ sw $t2, 4($v1) +.LE003CC04: +/* 3500C4 E003CC04 8E020000 */ lw $v0, ($s0) +/* 3500C8 E003CC08 26520001 */ addiu $s2, $s2, 1 +/* 3500CC E003CC0C 0040182D */ daddu $v1, $v0, $zero +/* 3500D0 E003CC10 240A0040 */ addiu $t2, $zero, 0x40 +/* 3500D4 E003CC14 AC7E0000 */ sw $fp, ($v1) +/* 3500D8 E003CC18 AC6A0004 */ sw $t2, 4($v1) +/* 3500DC E003CC1C 8FAA00E8 */ lw $t2, 0xe8($sp) +/* 3500E0 E003CC20 2631FFC0 */ addiu $s1, $s1, -0x40 +/* 3500E4 E003CC24 8D430008 */ lw $v1, 8($t2) +/* 3500E8 E003CC28 24420008 */ addiu $v0, $v0, 8 +/* 3500EC E003CC2C 0243182A */ slt $v1, $s2, $v1 +/* 3500F0 E003CC30 1460FEB0 */ bnez $v1, .LE003C6F4 +/* 3500F4 E003CC34 AE020000 */ sw $v0, ($s0) +.LE003CC38: +/* 3500F8 E003CC38 3C05D838 */ lui $a1, 0xd838 +/* 3500FC E003CC3C 3C03800A */ lui $v1, 0x800a +/* 350100 E003CC40 2463A66C */ addiu $v1, $v1, -0x5994 +/* 350104 E003CC44 8C620000 */ lw $v0, ($v1) +/* 350108 E003CC48 34A50002 */ ori $a1, $a1, 2 +/* 35010C E003CC4C 0040202D */ daddu $a0, $v0, $zero +/* 350110 E003CC50 24420008 */ addiu $v0, $v0, 8 +/* 350114 E003CC54 AC620000 */ sw $v0, ($v1) +/* 350118 E003CC58 24020040 */ addiu $v0, $zero, 0x40 +/* 35011C E003CC5C AC850000 */ sw $a1, ($a0) +/* 350120 E003CC60 AC820004 */ sw $v0, 4($a0) +/* 350124 E003CC64 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 350128 E003CC68 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 35012C E003CC6C 8FB700CC */ lw $s7, 0xcc($sp) +/* 350130 E003CC70 8FB600C8 */ lw $s6, 0xc8($sp) +/* 350134 E003CC74 8FB500C4 */ lw $s5, 0xc4($sp) +/* 350138 E003CC78 8FB400C0 */ lw $s4, 0xc0($sp) +/* 35013C E003CC7C 8FB300BC */ lw $s3, 0xbc($sp) +/* 350140 E003CC80 8FB200B8 */ lw $s2, 0xb8($sp) +/* 350144 E003CC84 8FB100B4 */ lw $s1, 0xb4($sp) +/* 350148 E003CC88 8FB000B0 */ lw $s0, 0xb0($sp) +/* 35014C E003CC8C D7B600E0 */ ldc1 $f22, 0xe0($sp) +/* 350150 E003CC90 D7B400D8 */ ldc1 $f20, 0xd8($sp) +/* 350154 E003CC94 03E00008 */ jr $ra +/* 350158 E003CC98 27BD00E8 */ addiu $sp, $sp, 0xe8 +/* 35015C E003CC9C 00000000 */ nop diff --git a/asm/nonmatchings/code_352440/func_E003E000.s b/asm/nonmatchings/code_352440/func_E003E000.s new file mode 100644 index 0000000000..b5f3b9284f --- /dev/null +++ b/asm/nonmatchings/code_352440/func_E003E000.s @@ -0,0 +1,266 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003E000 +/* 352440 E003E000 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 352444 E003E004 F7BA00A0 */ sdc1 $f26, 0xa0($sp) +/* 352448 E003E008 C7BA00C8 */ lwc1 $f26, 0xc8($sp) +/* 35244C E003E00C F7BE00B0 */ sdc1 $f30, 0xb0($sp) +/* 352450 E003E010 C7BE00CC */ lwc1 $f30, 0xcc($sp) +/* 352454 E003E014 44800000 */ mtc1 $zero, $f0 +/* 352458 E003E018 F7BC00A8 */ sdc1 $f28, 0xa8($sp) +/* 35245C E003E01C C7BC00D0 */ lwc1 $f28, 0xd0($sp) +/* 352460 E003E020 AFB20080 */ sw $s2, 0x80($sp) +/* 352464 E003E024 0080902D */ daddu $s2, $a0, $zero +/* 352468 E003E028 AFB00078 */ sw $s0, 0x78($sp) +/* 35246C E003E02C 27B00010 */ addiu $s0, $sp, 0x10 +/* 352470 E003E030 AFB1007C */ sw $s1, 0x7c($sp) +/* 352474 E003E034 24110001 */ addiu $s1, $zero, 1 +/* 352478 E003E038 AFBF0084 */ sw $ra, 0x84($sp) +/* 35247C E003E03C F7B80098 */ sdc1 $f24, 0x98($sp) +/* 352480 E003E040 F7B60090 */ sdc1 $f22, 0x90($sp) +/* 352484 E003E044 F7B40088 */ sdc1 $f20, 0x88($sp) +/* 352488 E003E048 AFA500BC */ sw $a1, 0xbc($sp) +/* 35248C E003E04C AFA600C0 */ sw $a2, 0xc0($sp) +/* 352490 E003E050 4600D032 */ c.eq.s $f26, $f0 +/* 352494 E003E054 00000000 */ nop +/* 352498 E003E058 45000009 */ bc1f .LE003E080 +/* 35249C E003E05C AFA700C4 */ sw $a3, 0xc4($sp) +/* 3524A0 E003E060 4600F032 */ c.eq.s $f30, $f0 +/* 3524A4 E003E064 00000000 */ nop +/* 3524A8 E003E068 45000005 */ bc1f .LE003E080 +/* 3524AC E003E06C 00000000 */ nop +/* 3524B0 E003E070 4600E032 */ c.eq.s $f28, $f0 +/* 3524B4 E003E074 00000000 */ nop +/* 3524B8 E003E078 450100D3 */ bc1t .LE003E3C8 +/* 3524BC E003E07C 0000102D */ daddu $v0, $zero, $zero +.LE003E080: +/* 3524C0 E003E080 461AD002 */ mul.s $f0, $f26, $f26 +/* 3524C4 E003E084 00000000 */ nop +/* 3524C8 E003E088 461EF082 */ mul.s $f2, $f30, $f30 +/* 3524CC E003E08C 00000000 */ nop +/* 3524D0 E003E090 461CE102 */ mul.s $f4, $f28, $f28 +/* 3524D4 E003E094 00000000 */ nop +/* 3524D8 E003E098 46020000 */ add.s $f0, $f0, $f2 +/* 3524DC E003E09C 46040300 */ add.s $f12, $f0, $f4 +/* 3524E0 E003E0A0 4480A000 */ mtc1 $zero, $f20 +/* 3524E4 E003E0A4 00000000 */ nop +/* 3524E8 E003E0A8 46146032 */ c.eq.s $f12, $f20 +/* 3524EC E003E0AC 00000000 */ nop +/* 3524F0 E003E0B0 450100C5 */ bc1t .LE003E3C8 +/* 3524F4 E003E0B4 0000102D */ daddu $v0, $zero, $zero +/* 3524F8 E003E0B8 0C080154 */ jal func_E0200550 +/* 3524FC E003E0BC 00000000 */ nop +/* 352500 E003E0C0 3C013F80 */ lui $at, 0x3f80 +/* 352504 E003E0C4 44811000 */ mtc1 $at, $f2 +/* 352508 E003E0C8 00000000 */ nop +/* 35250C E003E0CC 46001303 */ div.s $f12, $f2, $f0 +/* 352510 E003E0D0 460CD682 */ mul.s $f26, $f26, $f12 +/* 352514 E003E0D4 00000000 */ nop +/* 352518 E003E0D8 460CF782 */ mul.s $f30, $f30, $f12 +/* 35251C E003E0DC 00000000 */ nop +/* 352520 E003E0E0 460CE702 */ mul.s $f28, $f28, $f12 +/* 352524 E003E0E4 00000000 */ nop +/* 352528 E003E0E8 4614D032 */ c.eq.s $f26, $f20 +/* 35252C E003E0EC 00000000 */ nop +/* 352530 E003E0F0 45000006 */ bc1f .LE003E10C +/* 352534 E003E0F4 4600E586 */ mov.s $f22, $f28 +/* 352538 E003E0F8 4614E032 */ c.eq.s $f28, $f20 +/* 35253C E003E0FC 00000000 */ nop +/* 352540 E003E100 45010005 */ bc1t .LE003E118 +/* 352544 E003E104 46001586 */ mov.s $f22, $f2 +/* 352548 E003E108 4600E586 */ mov.s $f22, $f28 +.LE003E10C: +/* 35254C E003E10C 4600A606 */ mov.s $f24, $f20 +/* 352550 E003E110 0800F847 */ j .LE003E11C +/* 352554 E003E114 4600D507 */ neg.s $f20, $f26 +.LE003E118: +/* 352558 E003E118 4600A606 */ mov.s $f24, $f20 +.LE003E11C: +/* 35255C E003E11C 4616B002 */ mul.s $f0, $f22, $f22 +/* 352560 E003E120 00000000 */ nop +/* 352564 E003E124 4618C082 */ mul.s $f2, $f24, $f24 +/* 352568 E003E128 00000000 */ nop +/* 35256C E003E12C 4614A102 */ mul.s $f4, $f20, $f20 +/* 352570 E003E130 00000000 */ nop +/* 352574 E003E134 46020000 */ add.s $f0, $f0, $f2 +/* 352578 E003E138 46040300 */ add.s $f12, $f0, $f4 +/* 35257C E003E13C 44808000 */ mtc1 $zero, $f16 +/* 352580 E003E140 00000000 */ nop +/* 352584 E003E144 46106032 */ c.eq.s $f12, $f16 +/* 352588 E003E148 00000000 */ nop +/* 35258C E003E14C 4501009E */ bc1t .LE003E3C8 +/* 352590 E003E150 0000102D */ daddu $v0, $zero, $zero +/* 352594 E003E154 0C080154 */ jal func_E0200550 +/* 352598 E003E158 00000000 */ nop +/* 35259C E003E15C 3C013F80 */ lui $at, 0x3f80 +/* 3525A0 E003E160 44819000 */ mtc1 $at, $f18 +/* 3525A4 E003E164 00000000 */ nop +/* 3525A8 E003E168 46009303 */ div.s $f12, $f18, $f0 +/* 3525AC E003E16C 460CB582 */ mul.s $f22, $f22, $f12 +/* 3525B0 E003E170 00000000 */ nop +/* 3525B4 E003E174 460CC602 */ mul.s $f24, $f24, $f12 +/* 3525B8 E003E178 00000000 */ nop +/* 3525BC E003E17C 460CA502 */ mul.s $f20, $f20, $f12 +/* 3525C0 E003E180 00000000 */ nop +/* 3525C4 E003E184 461CC102 */ mul.s $f4, $f24, $f28 +/* 3525C8 E003E188 00000000 */ nop +/* 3525CC E003E18C 461EA002 */ mul.s $f0, $f20, $f30 +/* 3525D0 E003E190 00000000 */ nop +/* 3525D4 E003E194 461AA202 */ mul.s $f8, $f20, $f26 +/* 3525D8 E003E198 00000000 */ nop +/* 3525DC E003E19C 461CB082 */ mul.s $f2, $f22, $f28 +/* 3525E0 E003E1A0 00000000 */ nop +/* 3525E4 E003E1A4 461EB282 */ mul.s $f10, $f22, $f30 +/* 3525E8 E003E1A8 00000000 */ nop +/* 3525EC E003E1AC 461AC182 */ mul.s $f6, $f24, $f26 +/* 3525F0 E003E1B0 00000000 */ nop +/* 3525F4 E003E1B4 46002101 */ sub.s $f4, $f4, $f0 +/* 3525F8 E003E1B8 46042002 */ mul.s $f0, $f4, $f4 +/* 3525FC E003E1BC 00000000 */ nop +/* 352600 E003E1C0 46024201 */ sub.s $f8, $f8, $f2 +/* 352604 E003E1C4 E7A40068 */ swc1 $f4, 0x68($sp) +/* 352608 E003E1C8 46084102 */ mul.s $f4, $f8, $f8 +/* 35260C E003E1CC 00000000 */ nop +/* 352610 E003E1D0 46065281 */ sub.s $f10, $f10, $f6 +/* 352614 E003E1D4 460A5082 */ mul.s $f2, $f10, $f10 +/* 352618 E003E1D8 00000000 */ nop +/* 35261C E003E1DC 46040000 */ add.s $f0, $f0, $f4 +/* 352620 E003E1E0 44808000 */ mtc1 $zero, $f16 +/* 352624 E003E1E4 46020300 */ add.s $f12, $f0, $f2 +/* 352628 E003E1E8 E7A8006C */ swc1 $f8, 0x6c($sp) +/* 35262C E003E1EC 46106032 */ c.eq.s $f12, $f16 +/* 352630 E003E1F0 00000000 */ nop +/* 352634 E003E1F4 45000003 */ bc1f .LE003E204 +/* 352638 E003E1F8 E7AA0070 */ swc1 $f10, 0x70($sp) +/* 35263C E003E1FC 0800F8F2 */ j .LE003E3C8 +/* 352640 E003E200 0000102D */ daddu $v0, $zero, $zero +.LE003E204: +/* 352644 E003E204 0C080154 */ jal func_E0200550 +/* 352648 E003E208 00000000 */ nop +/* 35264C E003E20C 3C013F80 */ lui $at, 0x3f80 +/* 352650 E003E210 44819000 */ mtc1 $at, $f18 +/* 352654 E003E214 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 352658 E003E218 46009303 */ div.s $f12, $f18, $f0 +/* 35265C E003E21C 460C8402 */ mul.s $f16, $f16, $f12 +/* 352660 E003E220 00000000 */ nop +/* 352664 E003E224 C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 352668 E003E228 460C9482 */ mul.s $f18, $f18, $f12 +/* 35266C E003E22C 00000000 */ nop +/* 352670 E003E230 E7B00068 */ swc1 $f16, 0x68($sp) +/* 352674 E003E234 C7B00070 */ lwc1 $f16, 0x70($sp) +/* 352678 E003E238 460C8402 */ mul.s $f16, $f16, $f12 +/* 35267C E003E23C 00000000 */ nop +/* 352680 E003E240 0200202D */ daddu $a0, $s0, $zero +/* 352684 E003E244 3C02E004 */ lui $v0, 0xe004 +/* 352688 E003E248 2442E3F8 */ addiu $v0, $v0, -0x1c08 +/* 35268C E003E24C E7B2006C */ swc1 $f18, 0x6c($sp) +/* 352690 E003E250 E7B00070 */ swc1 $f16, 0x70($sp) +/* 352694 E003E254 AC820008 */ sw $v0, 8($a0) +/* 352698 E003E258 3C02E004 */ lui $v0, 0xe004 +/* 35269C E003E25C 2442E400 */ addiu $v0, $v0, -0x1c00 +/* 3526A0 E003E260 AC82000C */ sw $v0, 0xc($a0) +/* 3526A4 E003E264 3C02E004 */ lui $v0, 0xe004 +/* 3526A8 E003E268 2442E5F4 */ addiu $v0, $v0, -0x1a0c +/* 3526AC E003E26C AC820010 */ sw $v0, 0x10($a0) +/* 3526B0 E003E270 2402001F */ addiu $v0, $zero, 0x1f +/* 3526B4 E003E274 AC800000 */ sw $zero, ($a0) +/* 3526B8 E003E278 AC800014 */ sw $zero, 0x14($a0) +/* 3526BC E003E27C 0C080124 */ jal func_E0200490 +/* 3526C0 E003E280 AC820004 */ sw $v0, 4($a0) +/* 3526C4 E003E284 00112140 */ sll $a0, $s1, 5 +/* 3526C8 E003E288 00912023 */ subu $a0, $a0, $s1 +/* 3526CC E003E28C 00042080 */ sll $a0, $a0, 2 +/* 3526D0 E003E290 0040802D */ daddu $s0, $v0, $zero +/* 3526D4 E003E294 0C08012C */ jal func_E02004B0 +/* 3526D8 E003E298 AE110008 */ sw $s1, 8($s0) +/* 3526DC E003E29C 0040302D */ daddu $a2, $v0, $zero +/* 3526E0 E003E2A0 14C00003 */ bnez $a2, .LE003E2B0 +/* 3526E4 E003E2A4 AE02000C */ sw $v0, 0xc($s0) +.LE003E2A8: +/* 3526E8 E003E2A8 0800F8AA */ j .LE003E2A8 +/* 3526EC E003E2AC 00000000 */ nop +.LE003E2B0: +/* 3526F0 E003E2B0 24030010 */ addiu $v1, $zero, 0x10 +/* 3526F4 E003E2B4 240500F8 */ addiu $a1, $zero, 0xf8 +/* 3526F8 E003E2B8 4600D307 */ neg.s $f12, $f26 +/* 3526FC E003E2BC ACD20000 */ sw $s2, ($a2) +/* 352700 E003E2C0 C7B200BC */ lwc1 $f18, 0xbc($sp) +/* 352704 E003E2C4 3C01E004 */ lui $at, 0xe004 +/* 352708 E003E2C8 D422E870 */ ldc1 $f2, -0x1790($at) +/* 35270C E003E2CC 3C014080 */ lui $at, 0x4080 +/* 352710 E003E2D0 44815000 */ mtc1 $at, $f10 +/* 352714 E003E2D4 3C01438B */ lui $at, 0x438b +/* 352718 E003E2D8 44813000 */ mtc1 $at, $f6 +/* 35271C E003E2DC 460A6302 */ mul.s $f12, $f12, $f10 +/* 352720 E003E2E0 00000000 */ nop +/* 352724 E003E2E4 3C014200 */ lui $at, 0x4200 +/* 352728 E003E2E8 44814000 */ mtc1 $at, $f8 +/* 35272C E003E2EC 2404005C */ addiu $a0, $zero, 0x5c +/* 352730 E003E2F0 E4D20004 */ swc1 $f18, 4($a2) +/* 352734 E003E2F4 C7B000C0 */ lwc1 $f16, 0xc0($sp) +/* 352738 E003E2F8 4600F107 */ neg.s $f4, $f30 +/* 35273C E003E2FC E4D00008 */ swc1 $f16, 8($a2) +/* 352740 E003E300 C7B200C4 */ lwc1 $f18, 0xc4($sp) +/* 352744 E003E304 460A2102 */ mul.s $f4, $f4, $f10 +/* 352748 E003E308 00000000 */ nop +/* 35274C E003E30C E4D2000C */ swc1 $f18, 0xc($a2) +/* 352750 E003E310 ACC3006C */ sw $v1, 0x6c($a2) +/* 352754 E003E314 240300E5 */ addiu $v1, $zero, 0xe5 +/* 352758 E003E318 ACC00068 */ sw $zero, 0x68($a2) +/* 35275C E003E31C ACC00070 */ sw $zero, 0x70($a2) +/* 352760 E003E320 A0C50074 */ sb $a1, 0x74($a2) +/* 352764 E003E324 A0C40075 */ sb $a0, 0x75($a2) +/* 352768 E003E328 A0C30076 */ sb $v1, 0x76($a2) +/* 35276C E003E32C A0C50077 */ sb $a1, 0x77($a2) +/* 352770 E003E330 A0C40078 */ sb $a0, 0x78($a2) +/* 352774 E003E334 A0C30079 */ sb $v1, 0x79($a2) +/* 352778 E003E338 E4D6001C */ swc1 $f22, 0x1c($a2) +/* 35277C E003E33C C7A000D4 */ lwc1 $f0, 0xd4($sp) +/* 352780 E003E340 3C013F80 */ lui $at, 0x3f80 +/* 352784 E003E344 44817000 */ mtc1 $at, $f14 +/* 352788 E003E348 46000021 */ cvt.d.s $f0, $f0 +/* 35278C E003E34C 46220002 */ mul.d $f0, $f0, $f2 +/* 352790 E003E350 00000000 */ nop +/* 352794 E003E354 E4D80020 */ swc1 $f24, 0x20($a2) +/* 352798 E003E358 E4D40024 */ swc1 $f20, 0x24($a2) +/* 35279C E003E35C ACC00028 */ sw $zero, 0x28($a2) +/* 3527A0 E003E360 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 3527A4 E003E364 0200102D */ daddu $v0, $s0, $zero +/* 3527A8 E003E368 E4D0002C */ swc1 $f16, 0x2c($a2) +/* 3527AC E003E36C C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 3527B0 E003E370 4600E087 */ neg.s $f2, $f28 +/* 3527B4 E003E374 E4D20030 */ swc1 $f18, 0x30($a2) +/* 3527B8 E003E378 C7B00070 */ lwc1 $f16, 0x70($sp) +/* 3527BC E003E37C 460A1082 */ mul.s $f2, $f2, $f10 +/* 3527C0 E003E380 00000000 */ nop +/* 3527C4 E003E384 E4D00034 */ swc1 $f16, 0x34($a2) +/* 3527C8 E003E388 ACC00038 */ sw $zero, 0x38($a2) +/* 3527CC E003E38C E4DA003C */ swc1 $f26, 0x3c($a2) +/* 3527D0 E003E390 E4DE0040 */ swc1 $f30, 0x40($a2) +/* 3527D4 E003E394 E4DC0044 */ swc1 $f28, 0x44($a2) +/* 3527D8 E003E398 ACC00048 */ sw $zero, 0x48($a2) +/* 3527DC E003E39C ACC0004C */ sw $zero, 0x4c($a2) +/* 3527E0 E003E3A0 ACC00050 */ sw $zero, 0x50($a2) +/* 3527E4 E003E3A4 ACC00054 */ sw $zero, 0x54($a2) +/* 3527E8 E003E3A8 E4C6005C */ swc1 $f6, 0x5c($a2) +/* 3527EC E003E3AC E4C80060 */ swc1 $f8, 0x60($a2) +/* 3527F0 E003E3B0 E4CC0010 */ swc1 $f12, 0x10($a2) +/* 3527F4 E003E3B4 E4C40014 */ swc1 $f4, 0x14($a2) +/* 3527F8 E003E3B8 E4C20018 */ swc1 $f2, 0x18($a2) +/* 3527FC E003E3BC E4CE0058 */ swc1 $f14, 0x58($a2) +/* 352800 E003E3C0 46200020 */ cvt.s.d $f0, $f0 +/* 352804 E003E3C4 E4C00064 */ swc1 $f0, 0x64($a2) +.LE003E3C8: +/* 352808 E003E3C8 8FBF0084 */ lw $ra, 0x84($sp) +/* 35280C E003E3CC 8FB20080 */ lw $s2, 0x80($sp) +/* 352810 E003E3D0 8FB1007C */ lw $s1, 0x7c($sp) +/* 352814 E003E3D4 8FB00078 */ lw $s0, 0x78($sp) +/* 352818 E003E3D8 D7BE00B0 */ ldc1 $f30, 0xb0($sp) +/* 35281C E003E3DC D7BC00A8 */ ldc1 $f28, 0xa8($sp) +/* 352820 E003E3E0 D7BA00A0 */ ldc1 $f26, 0xa0($sp) +/* 352824 E003E3E4 D7B80098 */ ldc1 $f24, 0x98($sp) +/* 352828 E003E3E8 D7B60090 */ ldc1 $f22, 0x90($sp) +/* 35282C E003E3EC D7B40088 */ ldc1 $f20, 0x88($sp) +/* 352830 E003E3F0 03E00008 */ jr $ra +/* 352834 E003E3F4 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_352440/func_E003E3F8.s b/asm/nonmatchings/code_352440/func_E003E3F8.s new file mode 100644 index 0000000000..de1333a43e --- /dev/null +++ b/asm/nonmatchings/code_352440/func_E003E3F8.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003E3F8 +/* 352838 E003E3F8 03E00008 */ jr $ra +/* 35283C E003E3FC 00000000 */ nop diff --git a/asm/nonmatchings/code_352440/func_E003E400.s b/asm/nonmatchings/code_352440/func_E003E400.s new file mode 100644 index 0000000000..487541e043 --- /dev/null +++ b/asm/nonmatchings/code_352440/func_E003E400.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003E400 +/* 352840 E003E400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 352844 E003E404 AFBF0010 */ sw $ra, 0x10($sp) +/* 352848 E003E408 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 35284C E003E40C F7B40018 */ sdc1 $f20, 0x18($sp) +/* 352850 E003E410 8C83000C */ lw $v1, 0xc($a0) +/* 352854 E003E414 8C62006C */ lw $v0, 0x6c($v1) +/* 352858 E003E418 2442FFFF */ addiu $v0, $v0, -1 +/* 35285C E003E41C AC62006C */ sw $v0, 0x6c($v1) +/* 352860 E003E420 8C620070 */ lw $v0, 0x70($v1) +/* 352864 E003E424 8C65006C */ lw $a1, 0x6c($v1) +/* 352868 E003E428 24420001 */ addiu $v0, $v0, 1 +/* 35286C E003E42C 04A10005 */ bgez $a1, .LE003E444 +/* 352870 E003E430 AC620070 */ sw $v0, 0x70($v1) +/* 352874 E003E434 0C080128 */ jal func_E02004A0 +/* 352878 E003E438 00000000 */ nop +/* 35287C E003E43C 0800F978 */ j .LE003E5E0 +/* 352880 E003E440 00000000 */ nop +.LE003E444: +/* 352884 E003E444 8C820008 */ lw $v0, 8($a0) +/* 352888 E003E448 18400065 */ blez $v0, .LE003E5E0 +/* 35288C E003E44C 0000302D */ daddu $a2, $zero, $zero +/* 352890 E003E450 28A80006 */ slti $t0, $a1, 6 +/* 352894 E003E454 240900FF */ addiu $t1, $zero, 0xff +/* 352898 E003E458 28A70005 */ slti $a3, $a1, 5 +/* 35289C E003E45C 24650064 */ addiu $a1, $v1, 0x64 +/* 3528A0 E003E460 3C01E004 */ lui $at, 0xe004 +/* 3528A4 E003E464 D434E878 */ ldc1 $f20, -0x1788($at) +/* 3528A8 E003E468 3C01E004 */ lui $at, 0xe004 +/* 3528AC E003E46C D42EE880 */ ldc1 $f14, -0x1780($at) +/* 3528B0 E003E470 3C01E004 */ lui $at, 0xe004 +/* 3528B4 E003E474 D432E888 */ ldc1 $f18, -0x1778($at) +/* 3528B8 E003E478 3C01E004 */ lui $at, 0xe004 +/* 3528BC E003E47C D42CE890 */ ldc1 $f12, -0x1770($at) +/* 3528C0 E003E480 3C01E004 */ lui $at, 0xe004 +/* 3528C4 E003E484 D430E898 */ ldc1 $f16, -0x1768($at) +.LE003E488: +/* 3528C8 E003E488 15000020 */ bnez $t0, .LE003E50C +/* 3528CC E003E48C 00000000 */ nop +/* 3528D0 E003E490 C4A2FFAC */ lwc1 $f2, -0x54($a1) +/* 3528D4 E003E494 460010A1 */ cvt.d.s $f2, $f2 +/* 3528D8 E003E498 462E1082 */ mul.d $f2, $f2, $f14 +/* 3528DC E003E49C 00000000 */ nop +/* 3528E0 E003E4A0 C4A0FFB0 */ lwc1 $f0, -0x50($a1) +/* 3528E4 E003E4A4 46000021 */ cvt.d.s $f0, $f0 +/* 3528E8 E003E4A8 462E0002 */ mul.d $f0, $f0, $f14 +/* 3528EC E003E4AC 00000000 */ nop +/* 3528F0 E003E4B0 C4A4FFB4 */ lwc1 $f4, -0x4c($a1) +/* 3528F4 E003E4B4 46002121 */ cvt.d.s $f4, $f4 +/* 3528F8 E003E4B8 462E2102 */ mul.d $f4, $f4, $f14 +/* 3528FC E003E4BC 00000000 */ nop +/* 352900 E003E4C0 8CA30004 */ lw $v1, 4($a1) +/* 352904 E003E4C4 01231023 */ subu $v0, $t1, $v1 +/* 352908 E003E4C8 44823000 */ mtc1 $v0, $f6 +/* 35290C E003E4CC 00000000 */ nop +/* 352910 E003E4D0 468031A1 */ cvt.d.w $f6, $f6 +/* 352914 E003E4D4 46343182 */ mul.d $f6, $f6, $f20 +/* 352918 E003E4D8 00000000 */ nop +/* 35291C E003E4DC 462010A0 */ cvt.s.d $f2, $f2 +/* 352920 E003E4E0 46200020 */ cvt.s.d $f0, $f0 +/* 352924 E003E4E4 E4A0FFB0 */ swc1 $f0, -0x50($a1) +/* 352928 E003E4E8 44830000 */ mtc1 $v1, $f0 +/* 35292C E003E4EC 00000000 */ nop +/* 352930 E003E4F0 46800021 */ cvt.d.w $f0, $f0 +/* 352934 E003E4F4 46202120 */ cvt.s.d $f4, $f4 +/* 352938 E003E4F8 46260000 */ add.d $f0, $f0, $f6 +/* 35293C E003E4FC E4A2FFAC */ swc1 $f2, -0x54($a1) +/* 352940 E003E500 E4A4FFB4 */ swc1 $f4, -0x4c($a1) +/* 352944 E003E504 4620058D */ trunc.w.d $f22, $f0 +/* 352948 E003E508 E4B60004 */ swc1 $f22, 4($a1) +.LE003E50C: +/* 35294C E003E50C 10E00019 */ beqz $a3, .LE003E574 +/* 352950 E003E510 00000000 */ nop +/* 352954 E003E514 C4A60004 */ lwc1 $f6, 4($a1) +/* 352958 E003E518 468031A1 */ cvt.d.w $f6, $f6 +/* 35295C E003E51C 46323182 */ mul.d $f6, $f6, $f18 +/* 352960 E003E520 00000000 */ nop +/* 352964 E003E524 C4A4FFAC */ lwc1 $f4, -0x54($a1) +/* 352968 E003E528 46002121 */ cvt.d.s $f4, $f4 +/* 35296C E003E52C 462C2102 */ mul.d $f4, $f4, $f12 +/* 352970 E003E530 00000000 */ nop +/* 352974 E003E534 C4A2FFB0 */ lwc1 $f2, -0x50($a1) +/* 352978 E003E538 460010A1 */ cvt.d.s $f2, $f2 +/* 35297C E003E53C 462C1082 */ mul.d $f2, $f2, $f12 +/* 352980 E003E540 00000000 */ nop +/* 352984 E003E544 C4A0FFB4 */ lwc1 $f0, -0x4c($a1) +/* 352988 E003E548 46000021 */ cvt.d.s $f0, $f0 +/* 35298C E003E54C 462C0002 */ mul.d $f0, $f0, $f12 +/* 352990 E003E550 00000000 */ nop +/* 352994 E003E554 4620358D */ trunc.w.d $f22, $f6 +/* 352998 E003E558 E4B60004 */ swc1 $f22, 4($a1) +/* 35299C E003E55C 46202120 */ cvt.s.d $f4, $f4 +/* 3529A0 E003E560 462010A0 */ cvt.s.d $f2, $f2 +/* 3529A4 E003E564 46200020 */ cvt.s.d $f0, $f0 +/* 3529A8 E003E568 E4A4FFAC */ swc1 $f4, -0x54($a1) +/* 3529AC E003E56C E4A2FFB0 */ swc1 $f2, -0x50($a1) +/* 3529B0 E003E570 E4A0FFB4 */ swc1 $f0, -0x4c($a1) +.LE003E574: +/* 3529B4 E003E574 C4A20000 */ lwc1 $f2, ($a1) +/* 3529B8 E003E578 460010A1 */ cvt.d.s $f2, $f2 +/* 3529BC E003E57C 46301082 */ mul.d $f2, $f2, $f16 +/* 3529C0 E003E580 00000000 */ nop +/* 3529C4 E003E584 C4AAFFA0 */ lwc1 $f10, -0x60($a1) +/* 3529C8 E003E588 C4A0FFAC */ lwc1 $f0, -0x54($a1) +/* 3529CC E003E58C C4A8FFA4 */ lwc1 $f8, -0x5c($a1) +/* 3529D0 E003E590 46005280 */ add.s $f10, $f10, $f0 +/* 3529D4 E003E594 C4A0FFB0 */ lwc1 $f0, -0x50($a1) +/* 3529D8 E003E598 C4A4FFA8 */ lwc1 $f4, -0x58($a1) +/* 3529DC E003E59C 46004200 */ add.s $f8, $f8, $f0 +/* 3529E0 E003E5A0 C4A0FFB4 */ lwc1 $f0, -0x4c($a1) +/* 3529E4 E003E5A4 C4A6FFFC */ lwc1 $f6, -4($a1) +/* 3529E8 E003E5A8 46002100 */ add.s $f4, $f4, $f0 +/* 3529EC E003E5AC C4A0FFF8 */ lwc1 $f0, -8($a1) +/* 3529F0 E003E5B0 24C60001 */ addiu $a2, $a2, 1 +/* 3529F4 E003E5B4 E4AAFFA0 */ swc1 $f10, -0x60($a1) +/* 3529F8 E003E5B8 46060000 */ add.s $f0, $f0, $f6 +/* 3529FC E003E5BC E4A8FFA4 */ swc1 $f8, -0x5c($a1) +/* 352A00 E003E5C0 E4A4FFA8 */ swc1 $f4, -0x58($a1) +/* 352A04 E003E5C4 E4A0FFF8 */ swc1 $f0, -8($a1) +/* 352A08 E003E5C8 462010A0 */ cvt.s.d $f2, $f2 +/* 352A0C E003E5CC E4A20000 */ swc1 $f2, ($a1) +/* 352A10 E003E5D0 8C820008 */ lw $v0, 8($a0) +/* 352A14 E003E5D4 00C2102A */ slt $v0, $a2, $v0 +/* 352A18 E003E5D8 1440FFAB */ bnez $v0, .LE003E488 +/* 352A1C E003E5DC 24A5007C */ addiu $a1, $a1, 0x7c +.LE003E5E0: +/* 352A20 E003E5E0 8FBF0010 */ lw $ra, 0x10($sp) +/* 352A24 E003E5E4 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 352A28 E003E5E8 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 352A2C E003E5EC 03E00008 */ jr $ra +/* 352A30 E003E5F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_352440/func_E003E5F4.s b/asm/nonmatchings/code_352440/func_E003E5F4.s new file mode 100644 index 0000000000..b44dfe3ee7 --- /dev/null +++ b/asm/nonmatchings/code_352440/func_E003E5F4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003E5F4 +/* 352A34 E003E5F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 352A38 E003E5F8 3C02E004 */ lui $v0, 0xe004 +/* 352A3C E003E5FC 2442E638 */ addiu $v0, $v0, -0x19c8 +/* 352A40 E003E600 AFA2001C */ sw $v0, 0x1c($sp) +/* 352A44 E003E604 2402002D */ addiu $v0, $zero, 0x2d +/* 352A48 E003E608 AFA40018 */ sw $a0, 0x18($sp) +/* 352A4C E003E60C 27A40010 */ addiu $a0, $sp, 0x10 +/* 352A50 E003E610 AFBF0020 */ sw $ra, 0x20($sp) +/* 352A54 E003E614 AFA00014 */ sw $zero, 0x14($sp) +/* 352A58 E003E618 0C080120 */ jal func_E0200480 +/* 352A5C E003E61C AFA20010 */ sw $v0, 0x10($sp) +/* 352A60 E003E620 8C430000 */ lw $v1, ($v0) +/* 352A64 E003E624 34630002 */ ori $v1, $v1, 2 +/* 352A68 E003E628 AC430000 */ sw $v1, ($v0) +/* 352A6C E003E62C 8FBF0020 */ lw $ra, 0x20($sp) +/* 352A70 E003E630 03E00008 */ jr $ra +/* 352A74 E003E634 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_352440/func_E003E638.s b/asm/nonmatchings/code_352440/func_E003E638.s new file mode 100644 index 0000000000..c5e2dc29f9 --- /dev/null +++ b/asm/nonmatchings/code_352440/func_E003E638.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E003E638 +/* 352A78 E003E638 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 352A7C E003E63C 0080182D */ daddu $v1, $a0, $zero +/* 352A80 E003E640 3C05DB06 */ lui $a1, 0xdb06 +/* 352A84 E003E644 34A50024 */ ori $a1, $a1, 0x24 +/* 352A88 E003E648 27A40010 */ addiu $a0, $sp, 0x10 +/* 352A8C E003E64C AFB500A4 */ sw $s5, 0xa4($sp) +/* 352A90 E003E650 3C150001 */ lui $s5, 1 +/* 352A94 E003E654 AFB20098 */ sw $s2, 0x98($sp) +/* 352A98 E003E658 3C12800A */ lui $s2, 0x800a +/* 352A9C E003E65C 2652A66C */ addiu $s2, $s2, -0x5994 +/* 352AA0 E003E660 AFB600A8 */ sw $s6, 0xa8($sp) +/* 352AA4 E003E664 3C16E700 */ lui $s6, 0xe700 +/* 352AA8 E003E668 AFBF00AC */ sw $ra, 0xac($sp) +/* 352AAC E003E66C AFB400A0 */ sw $s4, 0xa0($sp) +/* 352AB0 E003E670 AFB3009C */ sw $s3, 0x9c($sp) +/* 352AB4 E003E674 AFB10094 */ sw $s1, 0x94($sp) +/* 352AB8 E003E678 AFB00090 */ sw $s0, 0x90($sp) +/* 352ABC E003E67C 8E460000 */ lw $a2, ($s2) +/* 352AC0 E003E680 8C70000C */ lw $s0, 0xc($v1) +/* 352AC4 E003E684 00C0102D */ daddu $v0, $a2, $zero +/* 352AC8 E003E688 24C60008 */ addiu $a2, $a2, 8 +/* 352ACC E003E68C AE460000 */ sw $a2, ($s2) +/* 352AD0 E003E690 C600005C */ lwc1 $f0, 0x5c($s0) +/* 352AD4 E003E694 3C14DE00 */ lui $s4, 0xde00 +/* 352AD8 E003E698 AC560000 */ sw $s6, ($v0) +/* 352ADC E003E69C AC400004 */ sw $zero, 4($v0) +/* 352AE0 E003E6A0 24C20008 */ addiu $v0, $a2, 8 +/* 352AE4 E003E6A4 AE420000 */ sw $v0, ($s2) +/* 352AE8 E003E6A8 24C20010 */ addiu $v0, $a2, 0x10 +/* 352AEC E003E6AC ACC50000 */ sw $a1, ($a2) +/* 352AF0 E003E6B0 AE420000 */ sw $v0, ($s2) +/* 352AF4 E003E6B4 8C630010 */ lw $v1, 0x10($v1) +/* 352AF8 E003E6B8 24C20018 */ addiu $v0, $a2, 0x18 +/* 352AFC E003E6BC AE420000 */ sw $v0, ($s2) +/* 352B00 E003E6C0 8C63001C */ lw $v1, 0x1c($v1) +/* 352B04 E003E6C4 3C020900 */ lui $v0, 0x900 +/* 352B08 E003E6C8 24420200 */ addiu $v0, $v0, 0x200 +/* 352B0C E003E6CC ACC2000C */ sw $v0, 0xc($a2) +/* 352B10 E003E6D0 3C02FA00 */ lui $v0, 0xfa00 +/* 352B14 E003E6D4 ACC20010 */ sw $v0, 0x10($a2) +/* 352B18 E003E6D8 3C028000 */ lui $v0, 0x8000 +/* 352B1C E003E6DC ACD40008 */ sw $s4, 8($a2) +/* 352B20 E003E6E0 00621821 */ addu $v1, $v1, $v0 +/* 352B24 E003E6E4 ACC30004 */ sw $v1, 4($a2) +/* 352B28 E003E6E8 92020074 */ lbu $v0, 0x74($s0) +/* 352B2C E003E6EC 92030075 */ lbu $v1, 0x75($s0) +/* 352B30 E003E6F0 92050076 */ lbu $a1, 0x76($s0) +/* 352B34 E003E6F4 00021600 */ sll $v0, $v0, 0x18 +/* 352B38 E003E6F8 00031C00 */ sll $v1, $v1, 0x10 +/* 352B3C E003E6FC 00431025 */ or $v0, $v0, $v1 +/* 352B40 E003E700 00052A00 */ sll $a1, $a1, 8 +/* 352B44 E003E704 9203006B */ lbu $v1, 0x6b($s0) +/* 352B48 E003E708 00451025 */ or $v0, $v0, $a1 +/* 352B4C E003E70C 00431025 */ or $v0, $v0, $v1 +/* 352B50 E003E710 ACC20014 */ sw $v0, 0x14($a2) +/* 352B54 E003E714 8E050004 */ lw $a1, 4($s0) +/* 352B58 E003E718 8E060008 */ lw $a2, 8($s0) +/* 352B5C E003E71C 8E07000C */ lw $a3, 0xc($s0) +/* 352B60 E003E720 4600008D */ trunc.w.s $f2, $f0 +/* 352B64 E003E724 44111000 */ mfc1 $s1, $f2 +/* 352B68 E003E728 0C080108 */ jal func_E0200420 +/* 352B6C E003E72C 36B51630 */ ori $s5, $s5, 0x1630 +/* 352B70 E003E730 2604001C */ addiu $a0, $s0, 0x1c +/* 352B74 E003E734 27A50010 */ addiu $a1, $sp, 0x10 +/* 352B78 E003E738 0C080114 */ jal func_E0200450 +/* 352B7C E003E73C 00A0302D */ daddu $a2, $a1, $zero +/* 352B80 E003E740 8E050064 */ lw $a1, 0x64($s0) +/* 352B84 E003E744 27B00050 */ addiu $s0, $sp, 0x50 +/* 352B88 E003E748 0200202D */ daddu $a0, $s0, $zero +/* 352B8C E003E74C 00A0302D */ daddu $a2, $a1, $zero +/* 352B90 E003E750 0C080110 */ jal func_E0200440 +/* 352B94 E003E754 00A0382D */ daddu $a3, $a1, $zero +/* 352B98 E003E758 0200202D */ daddu $a0, $s0, $zero +/* 352B9C E003E75C 27A50010 */ addiu $a1, $sp, 0x10 +/* 352BA0 E003E760 0C080114 */ jal func_E0200450 +/* 352BA4 E003E764 00A0302D */ daddu $a2, $a1, $zero +/* 352BA8 E003E768 27A40010 */ addiu $a0, $sp, 0x10 +/* 352BAC E003E76C 3C108007 */ lui $s0, 0x8007 +/* 352BB0 E003E770 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 352BB4 E003E774 3C13800A */ lui $s3, 0x800a +/* 352BB8 E003E778 2673A674 */ addiu $s3, $s3, -0x598c +/* 352BBC E003E77C 96050000 */ lhu $a1, ($s0) +/* 352BC0 E003E780 8E620000 */ lw $v0, ($s3) +/* 352BC4 E003E784 00052980 */ sll $a1, $a1, 6 +/* 352BC8 E003E788 00B52821 */ addu $a1, $a1, $s5 +/* 352BCC E003E78C 0C080118 */ jal func_E0200460 +/* 352BD0 E003E790 00452821 */ addu $a1, $v0, $a1 +/* 352BD4 E003E794 3C06D838 */ lui $a2, 0xd838 +/* 352BD8 E003E798 8E440000 */ lw $a0, ($s2) +/* 352BDC E003E79C 34C60002 */ ori $a2, $a2, 2 +/* 352BE0 E003E7A0 0080282D */ daddu $a1, $a0, $zero +/* 352BE4 E003E7A4 24840008 */ addiu $a0, $a0, 8 +/* 352BE8 E003E7A8 AE440000 */ sw $a0, ($s2) +/* 352BEC E003E7AC 96020000 */ lhu $v0, ($s0) +/* 352BF0 E003E7B0 3C03DA38 */ lui $v1, 0xda38 +/* 352BF4 E003E7B4 ACA30000 */ sw $v1, ($a1) +/* 352BF8 E003E7B8 24430001 */ addiu $v1, $v0, 1 +/* 352BFC E003E7BC 3042FFFF */ andi $v0, $v0, 0xffff +/* 352C00 E003E7C0 00021180 */ sll $v0, $v0, 6 +/* 352C04 E003E7C4 A6030000 */ sh $v1, ($s0) +/* 352C08 E003E7C8 8E630000 */ lw $v1, ($s3) +/* 352C0C E003E7CC 00551021 */ addu $v0, $v0, $s5 +/* 352C10 E003E7D0 00621821 */ addu $v1, $v1, $v0 +/* 352C14 E003E7D4 24820008 */ addiu $v0, $a0, 8 +/* 352C18 E003E7D8 ACA30004 */ sw $v1, 4($a1) +/* 352C1C E003E7DC AE420000 */ sw $v0, ($s2) +/* 352C20 E003E7E0 32220FFF */ andi $v0, $s1, 0xfff +/* 352C24 E003E7E4 3C03F200 */ lui $v1, 0xf200 +/* 352C28 E003E7E8 00431025 */ or $v0, $v0, $v1 +/* 352C2C E003E7EC AC820000 */ sw $v0, ($a0) +/* 352C30 E003E7F0 3C020010 */ lui $v0, 0x10 +/* 352C34 E003E7F4 26310040 */ addiu $s1, $s1, 0x40 +/* 352C38 E003E7F8 32310FFF */ andi $s1, $s1, 0xfff +/* 352C3C E003E7FC 02228825 */ or $s1, $s1, $v0 +/* 352C40 E003E800 24820010 */ addiu $v0, $a0, 0x10 +/* 352C44 E003E804 AC910004 */ sw $s1, 4($a0) +/* 352C48 E003E808 AE420000 */ sw $v0, ($s2) +/* 352C4C E003E80C 3C020900 */ lui $v0, 0x900 +/* 352C50 E003E810 244204E8 */ addiu $v0, $v0, 0x4e8 +/* 352C54 E003E814 AC82000C */ sw $v0, 0xc($a0) +/* 352C58 E003E818 24820018 */ addiu $v0, $a0, 0x18 +/* 352C5C E003E81C AC940008 */ sw $s4, 8($a0) +/* 352C60 E003E820 AE420000 */ sw $v0, ($s2) +/* 352C64 E003E824 24020040 */ addiu $v0, $zero, 0x40 +/* 352C68 E003E828 AC820014 */ sw $v0, 0x14($a0) +/* 352C6C E003E82C 24820020 */ addiu $v0, $a0, 0x20 +/* 352C70 E003E830 AC860010 */ sw $a2, 0x10($a0) +/* 352C74 E003E834 AE420000 */ sw $v0, ($s2) +/* 352C78 E003E838 AC960018 */ sw $s6, 0x18($a0) +/* 352C7C E003E83C AC80001C */ sw $zero, 0x1c($a0) +/* 352C80 E003E840 8FBF00AC */ lw $ra, 0xac($sp) +/* 352C84 E003E844 8FB600A8 */ lw $s6, 0xa8($sp) +/* 352C88 E003E848 8FB500A4 */ lw $s5, 0xa4($sp) +/* 352C8C E003E84C 8FB400A0 */ lw $s4, 0xa0($sp) +/* 352C90 E003E850 8FB3009C */ lw $s3, 0x9c($sp) +/* 352C94 E003E854 8FB20098 */ lw $s2, 0x98($sp) +/* 352C98 E003E858 8FB10094 */ lw $s1, 0x94($sp) +/* 352C9C E003E85C 8FB00090 */ lw $s0, 0x90($sp) +/* 352CA0 E003E860 03E00008 */ jr $ra +/* 352CA4 E003E864 27BD00B0 */ addiu $sp, $sp, 0xb0 +/* 352CA8 E003E868 00000000 */ nop +/* 352CAC E003E86C 00000000 */ nop diff --git a/asm/nonmatchings/code_354F60/func_E0044000.s b/asm/nonmatchings/code_354F60/func_E0044000.s new file mode 100644 index 0000000000..443008e9a4 --- /dev/null +++ b/asm/nonmatchings/code_354F60/func_E0044000.s @@ -0,0 +1,275 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0044000 +/* 354F60 E0044000 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 354F64 E0044004 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 354F68 E0044008 4485A000 */ mtc1 $a1, $f20 +/* 354F6C E004400C F7B60058 */ sdc1 $f22, 0x58($sp) +/* 354F70 E0044010 4486B000 */ mtc1 $a2, $f22 +/* 354F74 E0044014 AFB3003C */ sw $s3, 0x3c($sp) +/* 354F78 E0044018 0080982D */ daddu $s3, $a0, $zero +/* 354F7C E004401C F7B80060 */ sdc1 $f24, 0x60($sp) +/* 354F80 E0044020 4487C000 */ mtc1 $a3, $f24 +/* 354F84 E0044024 27A40010 */ addiu $a0, $sp, 0x10 +/* 354F88 E0044028 AFB20038 */ sw $s2, 0x38($sp) +/* 354F8C E004402C 8FB20098 */ lw $s2, 0x98($sp) +/* 354F90 E0044030 3C02E004 */ lui $v0, 0xe004 +/* 354F94 E0044034 2442441C */ addiu $v0, $v0, 0x441c +/* 354F98 E0044038 AFA20018 */ sw $v0, 0x18($sp) +/* 354F9C E004403C 3C02E004 */ lui $v0, 0xe004 +/* 354FA0 E0044040 24424424 */ addiu $v0, $v0, 0x4424 +/* 354FA4 E0044044 AFA2001C */ sw $v0, 0x1c($sp) +/* 354FA8 E0044048 3C02E004 */ lui $v0, 0xe004 +/* 354FAC E004404C 244248E4 */ addiu $v0, $v0, 0x48e4 +/* 354FB0 E0044050 AFA20020 */ sw $v0, 0x20($sp) +/* 354FB4 E0044054 24020022 */ addiu $v0, $zero, 0x22 +/* 354FB8 E0044058 AFBF0048 */ sw $ra, 0x48($sp) +/* 354FBC E004405C AFB50044 */ sw $s5, 0x44($sp) +/* 354FC0 E0044060 AFB40040 */ sw $s4, 0x40($sp) +/* 354FC4 E0044064 AFB10034 */ sw $s1, 0x34($sp) +/* 354FC8 E0044068 AFB00030 */ sw $s0, 0x30($sp) +/* 354FCC E004406C F7BE0078 */ sdc1 $f30, 0x78($sp) +/* 354FD0 E0044070 F7BC0070 */ sdc1 $f28, 0x70($sp) +/* 354FD4 E0044074 F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 354FD8 E0044078 AFA00010 */ sw $zero, 0x10($sp) +/* 354FDC E004407C AFA00024 */ sw $zero, 0x24($sp) +/* 354FE0 E0044080 AFA20014 */ sw $v0, 0x14($sp) +/* 354FE4 E0044084 0C080124 */ jal func_E0200490 +/* 354FE8 E0044088 26520001 */ addiu $s2, $s2, 1 +/* 354FEC E004408C 00122040 */ sll $a0, $s2, 1 +/* 354FF0 E0044090 00922021 */ addu $a0, $a0, $s2 +/* 354FF4 E0044094 00042080 */ sll $a0, $a0, 2 +/* 354FF8 E0044098 00922023 */ subu $a0, $a0, $s2 +/* 354FFC E004409C 00042080 */ sll $a0, $a0, 2 +/* 355000 E00440A0 0040802D */ daddu $s0, $v0, $zero +/* 355004 E00440A4 0C08012C */ jal func_E02004B0 +/* 355008 E00440A8 AE120008 */ sw $s2, 8($s0) +/* 35500C E00440AC 0040182D */ daddu $v1, $v0, $zero +/* 355010 E00440B0 14600003 */ bnez $v1, .LE00440C0 +/* 355014 E00440B4 AE03000C */ sw $v1, 0xc($s0) +.LE00440B8: +/* 355018 E00440B8 0801102E */ j .LE00440B8 +/* 35501C E00440BC 00000000 */ nop +.LE00440C0: +/* 355020 E00440C0 24020006 */ addiu $v0, $zero, 6 +/* 355024 E00440C4 56620004 */ bnel $s3, $v0, .LE00440D8 +/* 355028 E00440C8 A4600000 */ sh $zero, ($v1) +/* 35502C E00440CC 24020001 */ addiu $v0, $zero, 1 +/* 355030 E00440D0 A4620000 */ sh $v0, ($v1) +/* 355034 E00440D4 24130003 */ addiu $s3, $zero, 3 +.LE00440D8: +/* 355038 E00440D8 E4740004 */ swc1 $f20, 4($v1) +/* 35503C E00440DC E4760008 */ swc1 $f22, 8($v1) +/* 355040 E00440E0 E478000C */ swc1 $f24, 0xc($v1) +/* 355044 E00440E4 AC600020 */ sw $zero, 0x20($v1) +/* 355048 E00440E8 A4730002 */ sh $s3, 2($v1) +/* 35504C E00440EC 8FA2009C */ lw $v0, 0x9c($sp) +/* 355050 E00440F0 24110001 */ addiu $s1, $zero, 1 +/* 355054 E00440F4 AC620024 */ sw $v0, 0x24($v1) +/* 355058 E00440F8 0232102A */ slt $v0, $s1, $s2 +/* 35505C E00440FC 104000B8 */ beqz $v0, .LE00443E0 +/* 355060 E0044100 2463002C */ addiu $v1, $v1, 0x2c +/* 355064 E0044104 3C15E004 */ lui $s5, 0xe004 +/* 355068 E0044108 26B54E40 */ addiu $s5, $s5, 0x4e40 +/* 35506C E004410C 24700018 */ addiu $s0, $v1, 0x18 +/* 355070 E0044110 2654FFFF */ addiu $s4, $s2, -1 +/* 355074 E0044114 44940000 */ mtc1 $s4, $f0 +/* 355078 E0044118 00000000 */ nop +/* 35507C E004411C 46800020 */ cvt.s.w $f0, $f0 +/* 355080 E0044120 4480D000 */ mtc1 $zero, $f26 +/* 355084 E0044124 3C01E004 */ lui $at, 0xe004 +/* 355088 E0044128 D43E4E20 */ ldc1 $f30, 0x4e20($at) +/* 35508C E004412C 3C0143B4 */ lui $at, 0x43b4 +/* 355090 E0044130 44811000 */ mtc1 $at, $f2 +/* 355094 E0044134 3C01E004 */ lui $at, 0xe004 +/* 355098 E0044138 D43C4E28 */ ldc1 $f28, 0x4e28($at) +/* 35509C E004413C 46001083 */ div.s $f2, $f2, $f0 +/* 3550A0 E0044140 E7A20028 */ swc1 $f2, 0x28($sp) +.LE0044144: +/* 3550A4 E0044144 44910000 */ mtc1 $s1, $f0 +/* 3550A8 E0044148 00000000 */ nop +/* 3550AC E004414C 46800020 */ cvt.s.w $f0, $f0 +/* 3550B0 E0044150 C7AA0028 */ lwc1 $f10, 0x28($sp) +/* 3550B4 E0044154 2A620002 */ slti $v0, $s3, 2 +/* 3550B8 E0044158 46005582 */ mul.s $f22, $f10, $f0 +/* 3550BC E004415C 00000000 */ nop +/* 3550C0 E0044160 54400007 */ bnel $v0, $zero, .LE0044180 +/* 3550C4 E0044164 461AB600 */ add.s $f24, $f22, $f26 +/* 3550C8 E0044168 0C080138 */ jal func_E02004E0 +/* 3550CC E004416C 24040167 */ addiu $a0, $zero, 0x167 +/* 3550D0 E0044170 44820000 */ mtc1 $v0, $f0 +/* 3550D4 E0044174 00000000 */ nop +/* 3550D8 E0044178 46800020 */ cvt.s.w $f0, $f0 +/* 3550DC E004417C 4600B600 */ add.s $f24, $f22, $f0 +.LE0044180: +/* 3550E0 E0044180 3C014120 */ lui $at, 0x4120 +/* 3550E4 E0044184 4481A000 */ mtc1 $at, $f20 +/* 3550E8 E0044188 00000000 */ nop +/* 3550EC E004418C 4614B502 */ mul.s $f20, $f22, $f20 +/* 3550F0 E0044190 00000000 */ nop +/* 3550F4 E0044194 3C0142B4 */ lui $at, 0x42b4 +/* 3550F8 E0044198 44810000 */ mtc1 $at, $f0 +/* 3550FC E004419C 4600C306 */ mov.s $f12, $f24 +/* 355100 E00441A0 0C080140 */ jal func_E0200500 +/* 355104 E00441A4 4600A501 */ sub.s $f20, $f20, $f0 +/* 355108 E00441A8 4600C306 */ mov.s $f12, $f24 +/* 35510C E00441AC 0C080144 */ jal func_E0200510 +/* 355110 E00441B0 46000586 */ mov.s $f22, $f0 +/* 355114 E00441B4 4600A306 */ mov.s $f12, $f20 +/* 355118 E00441B8 0C080140 */ jal func_E0200500 +/* 35511C E00441BC 46000506 */ mov.s $f20, $f0 +/* 355120 E00441C0 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 355124 E00441C4 460050A1 */ cvt.d.s $f2, $f10 +/* 355128 E00441C8 3C01E004 */ lui $at, 0xe004 +/* 35512C E00441CC D42A4E30 */ ldc1 $f10, 0x4e30($at) +/* 355130 E00441D0 462A1202 */ mul.d $f8, $f2, $f10 +/* 355134 E00441D4 00000000 */ nop +/* 355138 E00441D8 463E1082 */ mul.d $f2, $f2, $f30 +/* 35513C E00441DC 00000000 */ nop +/* 355140 E00441E0 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 355144 E00441E4 46005121 */ cvt.d.s $f4, $f10 +/* 355148 E00441E8 463E2182 */ mul.d $f6, $f4, $f30 +/* 35514C E00441EC 00000000 */ nop +/* 355150 E00441F0 3C01E004 */ lui $at, 0xe004 +/* 355154 E00441F4 D42A4E38 */ ldc1 $f10, 0x4e38($at) +/* 355158 E00441F8 462A2102 */ mul.d $f4, $f4, $f10 +/* 35515C E00441FC 00000000 */ nop +/* 355160 E0044200 46000021 */ cvt.d.s $f0, $f0 +/* 355164 E0044204 46201082 */ mul.d $f2, $f2, $f0 +/* 355168 E0044208 00000000 */ nop +/* 35516C E004420C 46203182 */ mul.d $f6, $f6, $f0 +/* 355170 E0044210 00000000 */ nop +/* 355174 E0044214 2622001E */ addiu $v0, $s1, 0x1e +/* 355178 E0044218 AE02000C */ sw $v0, 0xc($s0) +/* 35517C E004421C 3C013F80 */ lui $at, 0x3f80 +/* 355180 E0044220 44810000 */ mtc1 $at, $f0 +/* 355184 E0044224 2622FFFF */ addiu $v0, $s1, -1 +/* 355188 E0044228 AE000008 */ sw $zero, 8($s0) +/* 35518C E004422C E6000004 */ swc1 $f0, 4($s0) +/* 355190 E0044230 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 355194 E0044234 46224201 */ sub.d $f8, $f8, $f2 +/* 355198 E0044238 44940000 */ mtc1 $s4, $f0 +/* 35519C E004423C 00000000 */ nop +/* 3551A0 E0044240 46800020 */ cvt.s.w $f0, $f0 +/* 3551A4 E0044244 46005003 */ div.s $f0, $f10, $f0 +/* 3551A8 E0044248 46262101 */ sub.d $f4, $f4, $f6 +/* 3551AC E004424C 44821000 */ mtc1 $v0, $f2 +/* 3551B0 E0044250 00000000 */ nop +/* 3551B4 E0044254 468010A0 */ cvt.s.w $f2, $f2 +/* 3551B8 E0044258 2E620006 */ sltiu $v0, $s3, 6 +/* 3551BC E004425C 46020182 */ mul.s $f6, $f0, $f2 +/* 3551C0 E0044260 00000000 */ nop +/* 3551C4 E0044264 46204220 */ cvt.s.d $f8, $f8 +/* 3551C8 E0044268 10400036 */ beqz $v0, .LE0044344 +/* 3551CC E004426C 46202120 */ cvt.s.d $f4, $f4 +/* 3551D0 E0044270 00131080 */ sll $v0, $s3, 2 +/* 3551D4 E0044274 00551021 */ addu $v0, $v0, $s5 +/* 3551D8 E0044278 8C420000 */ lw $v0, ($v0) +/* 3551DC E004427C 00400008 */ jr $v0 +/* 3551E0 E0044280 00000000 */ nop +/* 3551E4 E0044284 4608B002 */ mul.s $f0, $f22, $f8 +/* 3551E8 E0044288 00000000 */ nop +/* 3551EC E004428C 4604A082 */ mul.s $f2, $f20, $f4 +/* 3551F0 E0044290 00000000 */ nop +/* 3551F4 E0044294 AE000000 */ sw $zero, ($s0) +/* 3551F8 E0044298 AE00FFF4 */ sw $zero, -0xc($s0) +/* 3551FC E004429C E600FFF8 */ swc1 $f0, -8($s0) +/* 355200 E00442A0 080110F4 */ j .LE00443D0 +/* 355204 E00442A4 E602FFFC */ swc1 $f2, -4($s0) +/* 355208 E00442A8 0C080138 */ jal func_E02004E0 +/* 35520C E00442AC 24040064 */ addiu $a0, $zero, 0x64 +/* 355210 E00442B0 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 355214 E00442B4 460AB002 */ mul.s $f0, $f22, $f10 +/* 355218 E00442B8 00000000 */ nop +/* 35521C E00442BC 44821000 */ mtc1 $v0, $f2 +/* 355220 E00442C0 00000000 */ nop +/* 355224 E00442C4 468010A0 */ cvt.s.w $f2, $f2 +/* 355228 E00442C8 46020002 */ mul.s $f0, $f0, $f2 +/* 35522C E00442CC 00000000 */ nop +/* 355230 E00442D0 46000021 */ cvt.d.s $f0, $f0 +/* 355234 E00442D4 463C0002 */ mul.d $f0, $f0, $f28 +/* 355238 E00442D8 00000000 */ nop +/* 35523C E00442DC 24040064 */ addiu $a0, $zero, 0x64 +/* 355240 E00442E0 46200020 */ cvt.s.d $f0, $f0 +/* 355244 E00442E4 0C080138 */ jal func_E02004E0 +/* 355248 E00442E8 E600FFEC */ swc1 $f0, -0x14($s0) +/* 35524C E00442EC C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 355250 E00442F0 460AA002 */ mul.s $f0, $f20, $f10 +/* 355254 E00442F4 00000000 */ nop +/* 355258 E00442F8 44821000 */ mtc1 $v0, $f2 +/* 35525C E00442FC 00000000 */ nop +/* 355260 E0044300 468010A0 */ cvt.s.w $f2, $f2 +/* 355264 E0044304 46020002 */ mul.s $f0, $f0, $f2 +/* 355268 E0044308 00000000 */ nop +/* 35526C E004430C 8E02000C */ lw $v0, 0xc($s0) +/* 355270 E0044310 46000021 */ cvt.d.s $f0, $f0 +/* 355274 E0044314 463C0002 */ mul.d $f0, $f0, $f28 +/* 355278 E0044318 00000000 */ nop +/* 35527C E004431C 00111840 */ sll $v1, $s1, 1 +/* 355280 E0044320 AE00FFF4 */ sw $zero, -0xc($s0) +/* 355284 E0044324 E61AFFFC */ swc1 $f26, -4($s0) +/* 355288 E0044328 E61AFFF8 */ swc1 $f26, -8($s0) +/* 35528C E004432C E61A0000 */ swc1 $f26, ($s0) +/* 355290 E0044330 00431021 */ addu $v0, $v0, $v1 +/* 355294 E0044334 AE02000C */ sw $v0, 0xc($s0) +/* 355298 E0044338 46200020 */ cvt.s.d $f0, $f0 +/* 35529C E004433C 080110F4 */ j .LE00443D0 +/* 3552A0 E0044340 E600FFF0 */ swc1 $f0, -0x10($s0) +.LE0044344: +/* 3552A4 E0044344 4608B002 */ mul.s $f0, $f22, $f8 +/* 3552A8 E0044348 00000000 */ nop +/* 3552AC E004434C 4608A082 */ mul.s $f2, $f20, $f8 +/* 3552B0 E0044350 00000000 */ nop +/* 3552B4 E0044354 2404000A */ addiu $a0, $zero, 0xa +/* 3552B8 E0044358 E606FFF0 */ swc1 $f6, -0x10($s0) +/* 3552BC E004435C E600FFF8 */ swc1 $f0, -8($s0) +/* 3552C0 E0044360 0C080138 */ jal func_E02004E0 +/* 3552C4 E0044364 E602FFF4 */ swc1 $f2, -0xc($s0) +/* 3552C8 E0044368 00021023 */ negu $v0, $v0 +/* 3552CC E004436C 3C013CF5 */ lui $at, 0x3cf5 +/* 3552D0 E0044370 3421C28F */ ori $at, $at, 0xc28f +/* 3552D4 E0044374 44811000 */ mtc1 $at, $f2 +/* 3552D8 E0044378 44820000 */ mtc1 $v0, $f0 +/* 3552DC E004437C 00000000 */ nop +/* 3552E0 E0044380 46800020 */ cvt.s.w $f0, $f0 +/* 3552E4 E0044384 46020002 */ mul.s $f0, $f0, $f2 +/* 3552E8 E0044388 00000000 */ nop +/* 3552EC E004438C 2404000A */ addiu $a0, $zero, 0xa +/* 3552F0 E0044390 0C080138 */ jal func_E02004E0 +/* 3552F4 E0044394 E600FFFC */ swc1 $f0, -4($s0) +/* 3552F8 E0044398 3C013D23 */ lui $at, 0x3d23 +/* 3552FC E004439C 3421D70A */ ori $at, $at, 0xd70a +/* 355300 E00443A0 44811000 */ mtc1 $at, $f2 +/* 355304 E00443A4 44820000 */ mtc1 $v0, $f0 +/* 355308 E00443A8 00000000 */ nop +/* 35530C E00443AC 46800020 */ cvt.s.w $f0, $f0 +/* 355310 E00443B0 46020002 */ mul.s $f0, $f0, $f2 +/* 355314 E00443B4 00000000 */ nop +/* 355318 E00443B8 3C01E004 */ lui $at, 0xe004 +/* 35531C E00443BC D4224E58 */ ldc1 $f2, 0x4e58($at) +/* 355320 E00443C0 46000021 */ cvt.d.s $f0, $f0 +/* 355324 E00443C4 46220000 */ add.d $f0, $f0, $f2 +/* 355328 E00443C8 46200020 */ cvt.s.d $f0, $f0 +/* 35532C E00443CC E6000000 */ swc1 $f0, ($s0) +.LE00443D0: +/* 355330 E00443D0 26310001 */ addiu $s1, $s1, 1 +/* 355334 E00443D4 0232102A */ slt $v0, $s1, $s2 +/* 355338 E00443D8 1440FF5A */ bnez $v0, .LE0044144 +/* 35533C E00443DC 2610002C */ addiu $s0, $s0, 0x2c +.LE00443E0: +/* 355340 E00443E0 8FBF0048 */ lw $ra, 0x48($sp) +/* 355344 E00443E4 8FB50044 */ lw $s5, 0x44($sp) +/* 355348 E00443E8 8FB40040 */ lw $s4, 0x40($sp) +/* 35534C E00443EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 355350 E00443F0 8FB20038 */ lw $s2, 0x38($sp) +/* 355354 E00443F4 8FB10034 */ lw $s1, 0x34($sp) +/* 355358 E00443F8 8FB00030 */ lw $s0, 0x30($sp) +/* 35535C E00443FC D7BE0078 */ ldc1 $f30, 0x78($sp) +/* 355360 E0044400 D7BC0070 */ ldc1 $f28, 0x70($sp) +/* 355364 E0044404 D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 355368 E0044408 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 35536C E004440C D7B60058 */ ldc1 $f22, 0x58($sp) +/* 355370 E0044410 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 355374 E0044414 03E00008 */ jr $ra +/* 355378 E0044418 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_354F60/func_E004441C.s b/asm/nonmatchings/code_354F60/func_E004441C.s new file mode 100644 index 0000000000..216f961330 --- /dev/null +++ b/asm/nonmatchings/code_354F60/func_E004441C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004441C +/* 35537C E004441C 03E00008 */ jr $ra +/* 355380 E0044420 00000000 */ nop diff --git a/asm/nonmatchings/code_354F60/func_E0044424.s b/asm/nonmatchings/code_354F60/func_E0044424.s new file mode 100644 index 0000000000..362a9260df --- /dev/null +++ b/asm/nonmatchings/code_354F60/func_E0044424.s @@ -0,0 +1,326 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0044424 +/* 355384 E0044424 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 355388 E0044428 AFB40020 */ sw $s4, 0x20($sp) +/* 35538C E004442C 0080A02D */ daddu $s4, $a0, $zero +/* 355390 E0044430 AFBF0034 */ sw $ra, 0x34($sp) +/* 355394 E0044434 AFBE0030 */ sw $fp, 0x30($sp) +/* 355398 E0044438 AFB7002C */ sw $s7, 0x2c($sp) +/* 35539C E004443C AFB60028 */ sw $s6, 0x28($sp) +/* 3553A0 E0044440 AFB50024 */ sw $s5, 0x24($sp) +/* 3553A4 E0044444 AFB3001C */ sw $s3, 0x1c($sp) +/* 3553A8 E0044448 AFB20018 */ sw $s2, 0x18($sp) +/* 3553AC E004444C AFB10014 */ sw $s1, 0x14($sp) +/* 3553B0 E0044450 AFB00010 */ sw $s0, 0x10($sp) +/* 3553B4 E0044454 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 3553B8 E0044458 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3553BC E004445C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3553C0 E0044460 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3553C4 E0044464 8E84000C */ lw $a0, 0xc($s4) +/* 3553C8 E0044468 0000A82D */ daddu $s5, $zero, $zero +/* 3553CC E004446C 0080B02D */ daddu $s6, $a0, $zero +/* 3553D0 E0044470 8C820020 */ lw $v0, 0x20($a0) +/* 3553D4 E0044474 8C830024 */ lw $v1, 0x24($a0) +/* 3553D8 E0044478 84930002 */ lh $s3, 2($a0) +/* 3553DC E004447C 24420001 */ addiu $v0, $v0, 1 +/* 3553E0 E0044480 0040902D */ daddu $s2, $v0, $zero +/* 3553E4 E0044484 2463FFFF */ addiu $v1, $v1, -1 +/* 3553E8 E0044488 2E620002 */ sltiu $v0, $s3, 2 +/* 3553EC E004448C AC830024 */ sw $v1, 0x24($a0) +/* 3553F0 E0044490 14400006 */ bnez $v0, .LE00444AC +/* 3553F4 E0044494 AC920020 */ sw $s2, 0x20($a0) +/* 3553F8 E0044498 24020003 */ addiu $v0, $zero, 3 +/* 3553FC E004449C 12620003 */ beq $s3, $v0, .LE00444AC +/* 355400 E00444A0 2A62000A */ slti $v0, $s3, 0xa +/* 355404 E00444A4 54400004 */ bnel $v0, $zero, .LE00444B8 +/* 355408 E00444A8 2484002C */ addiu $a0, $a0, 0x2c +.LE00444AC: +/* 35540C E00444AC 8C820024 */ lw $v0, 0x24($a0) +/* 355410 E00444B0 044000FA */ bltz $v0, .LE004489C +/* 355414 E00444B4 2484002C */ addiu $a0, $a0, 0x2c +.LE00444B8: +/* 355418 E00444B8 8E820008 */ lw $v0, 8($s4) +/* 35541C E00444BC 2442FFFF */ addiu $v0, $v0, -1 +/* 355420 E00444C0 184000EA */ blez $v0, .LE004486C +/* 355424 E00444C4 0000882D */ daddu $s1, $zero, $zero +/* 355428 E00444C8 3C03E004 */ lui $v1, 0xe004 +/* 35542C E00444CC 24634E78 */ addiu $v1, $v1, 0x4e78 +/* 355430 E00444D0 00131080 */ sll $v0, $s3, 2 +/* 355434 E00444D4 0043F021 */ addu $fp, $v0, $v1 +/* 355438 E00444D8 3C17E004 */ lui $s7, 0xe004 +/* 35543C E00444DC 26F74E04 */ addiu $s7, $s7, 0x4e04 +/* 355440 E00444E0 24900014 */ addiu $s0, $a0, 0x14 +/* 355444 E00444E4 3C01E004 */ lui $at, 0xe004 +/* 355448 E00444E8 D4384E60 */ ldc1 $f24, 0x4e60($at) +/* 35544C E00444EC 3C01E004 */ lui $at, 0xe004 +/* 355450 E00444F0 D43A4E68 */ ldc1 $f26, 0x4e68($at) +/* 355454 E00444F4 3C01E004 */ lui $at, 0xe004 +/* 355458 E00444F8 D4364E70 */ ldc1 $f22, 0x4e70($at) +.LE00444FC: +/* 35545C E00444FC 2E62001F */ sltiu $v0, $s3, 0x1f +/* 355460 E0044500 10400081 */ beqz $v0, .LE0044708 +/* 355464 E0044504 02511021 */ addu $v0, $s2, $s1 +/* 355468 E0044508 8FC20000 */ lw $v0, ($fp) +/* 35546C E004450C 00400008 */ jr $v0 +/* 355470 E0044510 00000000 */ nop +/* 355474 E0044514 02511021 */ addu $v0, $s2, $s1 +/* 355478 E0044518 30420007 */ andi $v0, $v0, 7 +/* 35547C E004451C 2643FFFF */ addiu $v1, $s2, -1 +/* 355480 E0044520 C6000004 */ lwc1 $f0, 4($s0) +/* 355484 E0044524 3C01E004 */ lui $at, 0xe004 +/* 355488 E0044528 D4224EF8 */ ldc1 $f2, 0x4ef8($at) +/* 35548C E004452C 46000021 */ cvt.d.s $f0, $f0 +/* 355490 E0044530 46220000 */ add.d $f0, $f0, $f2 +/* 355494 E0044534 AE020014 */ sw $v0, 0x14($s0) +/* 355498 E0044538 2862000E */ slti $v0, $v1, 0xe +/* 35549C E004453C 46200020 */ cvt.s.d $f0, $f0 +/* 3554A0 E0044540 10400017 */ beqz $v0, .LE00445A0 +/* 3554A4 E0044544 E6000004 */ swc1 $f0, 4($s0) +/* 3554A8 E0044548 3C02E004 */ lui $v0, 0xe004 +/* 3554AC E004454C 00431021 */ addu $v0, $v0, $v1 +/* 3554B0 E0044550 90424DF4 */ lbu $v0, 0x4df4($v0) +/* 3554B4 E0044554 44820000 */ mtc1 $v0, $f0 +/* 3554B8 E0044558 00000000 */ nop +/* 3554BC E004455C 46800020 */ cvt.s.w $f0, $f0 +/* 3554C0 E0044560 46000021 */ cvt.d.s $f0, $f0 +/* 3554C4 E0044564 46380002 */ mul.d $f0, $f0, $f24 +/* 3554C8 E0044568 00000000 */ nop +/* 3554CC E004456C C604FFFC */ lwc1 $f4, -4($s0) +/* 3554D0 E0044570 46200020 */ cvt.s.d $f0, $f0 +/* 3554D4 E0044574 46002102 */ mul.s $f4, $f4, $f0 +/* 3554D8 E0044578 00000000 */ nop +/* 3554DC E004457C C6020000 */ lwc1 $f2, ($s0) +/* 3554E0 E0044580 46001082 */ mul.s $f2, $f2, $f0 +/* 3554E4 E0044584 00000000 */ nop +/* 3554E8 E0044588 C6000004 */ lwc1 $f0, 4($s0) +/* 3554EC E004458C 46001080 */ add.s $f2, $f2, $f0 +/* 3554F0 E0044590 00771021 */ addu $v0, $v1, $s7 +/* 3554F4 E0044594 E604FFF0 */ swc1 $f4, -0x10($s0) +/* 3554F8 E0044598 080111B4 */ j .LE00446D0 +/* 3554FC E004459C E602FFF4 */ swc1 $f2, -0xc($s0) +.LE00445A0: +/* 355500 E00445A0 8E820008 */ lw $v0, 8($s4) +/* 355504 E00445A4 3C0143B4 */ lui $at, 0x43b4 +/* 355508 E00445A8 44811000 */ mtc1 $at, $f2 +/* 35550C E00445AC 2442FFFF */ addiu $v0, $v0, -1 +/* 355510 E00445B0 44820000 */ mtc1 $v0, $f0 +/* 355514 E00445B4 00000000 */ nop +/* 355518 E00445B8 46800020 */ cvt.s.w $f0, $f0 +/* 35551C E00445BC 46001083 */ div.s $f2, $f2, $f0 +/* 355520 E00445C0 44910000 */ mtc1 $s1, $f0 +/* 355524 E00445C4 00000000 */ nop +/* 355528 E00445C8 46800020 */ cvt.s.w $f0, $f0 +/* 35552C E00445CC 46001082 */ mul.s $f2, $f2, $f0 +/* 355530 E00445D0 00000000 */ nop +/* 355534 E00445D4 3C014270 */ lui $at, 0x4270 +/* 355538 E00445D8 44810000 */ mtc1 $at, $f0 +/* 35553C E00445DC 32220001 */ andi $v0, $s1, 1 +/* 355540 E00445E0 10400005 */ beqz $v0, .LE00445F8 +/* 355544 E00445E4 46001500 */ add.s $f20, $f2, $f0 +/* 355548 E00445E8 3C0142F0 */ lui $at, 0x42f0 +/* 35554C E00445EC 44810000 */ mtc1 $at, $f0 +/* 355550 E00445F0 00000000 */ nop +/* 355554 E00445F4 4600A501 */ sub.s $f20, $f20, $f0 +.LE00445F8: +/* 355558 E00445F8 4600A306 */ mov.s $f12, $f20 +/* 35555C E00445FC 2402000A */ addiu $v0, $zero, 0xa +/* 355560 E0044600 0C080140 */ jal func_E0200500 +/* 355564 E0044604 A6C20002 */ sh $v0, 2($s6) +/* 355568 E0044608 4600A306 */ mov.s $f12, $f20 +/* 35556C E004460C 0C080144 */ jal func_E0200510 +/* 355570 E0044610 E600FFFC */ swc1 $f0, -4($s0) +/* 355574 E0044614 3C01BD4C */ lui $at, 0xbd4c +/* 355578 E0044618 3421CCCD */ ori $at, $at, 0xcccd +/* 35557C E004461C 44811000 */ mtc1 $at, $f2 +/* 355580 E0044620 E6000000 */ swc1 $f0, ($s0) +/* 355584 E0044624 08011215 */ j .LE0044854 +/* 355588 E0044628 E6020004 */ swc1 $f2, 4($s0) +/* 35558C E004462C C6020000 */ lwc1 $f2, ($s0) +/* 355590 E0044630 460010A1 */ cvt.d.s $f2, $f2 +/* 355594 E0044634 463A1082 */ mul.d $f2, $f2, $f26 +/* 355598 E0044638 00000000 */ nop +/* 35559C E004463C C600FFFC */ lwc1 $f0, -4($s0) +/* 3555A0 E0044640 46000021 */ cvt.d.s $f0, $f0 +/* 3555A4 E0044644 463A0002 */ mul.d $f0, $f0, $f26 +/* 3555A8 E0044648 00000000 */ nop +/* 3555AC E004464C C6040008 */ lwc1 $f4, 8($s0) +/* 3555B0 E0044650 46002121 */ cvt.d.s $f4, $f4 +/* 3555B4 E0044654 4624B181 */ sub.d $f6, $f22, $f4 +/* 3555B8 E0044658 46363182 */ mul.d $f6, $f6, $f22 +/* 3555BC E004465C 00000000 */ nop +/* 3555C0 E0044660 02511021 */ addu $v0, $s2, $s1 +/* 3555C4 E0044664 30420007 */ andi $v0, $v0, 7 +/* 3555C8 E0044668 C6080004 */ lwc1 $f8, 4($s0) +/* 3555CC E004466C 462010A0 */ cvt.s.d $f2, $f2 +/* 3555D0 E0044670 E6020000 */ swc1 $f2, ($s0) +/* 3555D4 E0044674 46081200 */ add.s $f8, $f2, $f8 +/* 3555D8 E0044678 C602FFF0 */ lwc1 $f2, -0x10($s0) +/* 3555DC E004467C 46200020 */ cvt.s.d $f0, $f0 +/* 3555E0 E0044680 46001080 */ add.s $f2, $f2, $f0 +/* 3555E4 E0044684 E600FFFC */ swc1 $f0, -4($s0) +/* 3555E8 E0044688 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 3555EC E004468C 46262100 */ add.d $f4, $f4, $f6 +/* 3555F0 E0044690 AE020014 */ sw $v0, 0x14($s0) +/* 3555F4 E0044694 E6080000 */ swc1 $f8, ($s0) +/* 3555F8 E0044698 46080000 */ add.s $f0, $f0, $f8 +/* 3555FC E004469C E602FFF0 */ swc1 $f2, -0x10($s0) +/* 355600 E00446A0 46202120 */ cvt.s.d $f4, $f4 +/* 355604 E00446A4 E6040008 */ swc1 $f4, 8($s0) +/* 355608 E00446A8 08011215 */ j .LE0044854 +/* 35560C E00446AC E600FFF4 */ swc1 $f0, -0xc($s0) +/* 355610 E00446B0 02511021 */ addu $v0, $s2, $s1 +/* 355614 E00446B4 00511021 */ addu $v0, $v0, $s1 +/* 355618 E00446B8 30420007 */ andi $v0, $v0, 7 +/* 35561C E00446BC AE020014 */ sw $v0, 0x14($s0) +/* 355620 E00446C0 2643FFFF */ addiu $v1, $s2, -1 +/* 355624 E00446C4 2862000E */ slti $v0, $v1, 0xe +/* 355628 E00446C8 1040000B */ beqz $v0, .LE00446F8 +/* 35562C E00446CC 00771021 */ addu $v0, $v1, $s7 +.LE00446D0: +/* 355630 E00446D0 90420000 */ lbu $v0, ($v0) +/* 355634 E00446D4 44820000 */ mtc1 $v0, $f0 +/* 355638 E00446D8 00000000 */ nop +/* 35563C E00446DC 46800020 */ cvt.s.w $f0, $f0 +/* 355640 E00446E0 46000021 */ cvt.d.s $f0, $f0 +/* 355644 E00446E4 46380002 */ mul.d $f0, $f0, $f24 +/* 355648 E00446E8 00000000 */ nop +/* 35564C E00446EC 46200020 */ cvt.s.d $f0, $f0 +/* 355650 E00446F0 08011215 */ j .LE0044854 +/* 355654 E00446F4 E6000008 */ swc1 $f0, 8($s0) +.LE00446F8: +/* 355658 E00446F8 2402001E */ addiu $v0, $zero, 0x1e +/* 35565C E00446FC 08011215 */ j .LE0044854 +/* 355660 E0044700 A6C20002 */ sh $v0, 2($s6) +/* 355664 E0044704 02511021 */ addu $v0, $s2, $s1 +.LE0044708: +/* 355668 E0044708 00511021 */ addu $v0, $v0, $s1 +/* 35566C E004470C 8E030010 */ lw $v1, 0x10($s0) +/* 355670 E0044710 30420007 */ andi $v0, $v0, 7 +/* 355674 E0044714 04610002 */ bgez $v1, .LE0044720 +/* 355678 E0044718 AE020014 */ sw $v0, 0x14($s0) +/* 35567C E004471C 26B50001 */ addiu $s5, $s5, 1 +.LE0044720: +/* 355680 E0044720 2462FFFF */ addiu $v0, $v1, -1 +/* 355684 E0044724 AE020010 */ sw $v0, 0x10($s0) +/* 355688 E0044728 2C42001F */ sltiu $v0, $v0, 0x1f +/* 35568C E004472C 14400003 */ bnez $v0, .LE004473C +/* 355690 E0044730 2402FFFF */ addiu $v0, $zero, -1 +/* 355694 E0044734 08011215 */ j .LE0044854 +/* 355698 E0044738 AE020014 */ sw $v0, 0x14($s0) +.LE004473C: +/* 35569C E004473C 8E03000C */ lw $v1, 0xc($s0) +/* 3556A0 E0044740 24620001 */ addiu $v0, $v1, 1 +/* 3556A4 E0044744 0040902D */ daddu $s2, $v0, $zero +/* 3556A8 E0044748 2862000E */ slti $v0, $v1, 0xe +/* 3556AC E004474C 10400015 */ beqz $v0, .LE00447A4 +/* 3556B0 E0044750 AE12000C */ sw $s2, 0xc($s0) +/* 3556B4 E0044754 00771021 */ addu $v0, $v1, $s7 +/* 3556B8 E0044758 90420000 */ lbu $v0, ($v0) +/* 3556BC E004475C 44820000 */ mtc1 $v0, $f0 +/* 3556C0 E0044760 00000000 */ nop +/* 3556C4 E0044764 46800020 */ cvt.s.w $f0, $f0 +/* 3556C8 E0044768 46000021 */ cvt.d.s $f0, $f0 +/* 3556CC E004476C 46380002 */ mul.d $f0, $f0, $f24 +/* 3556D0 E0044770 00000000 */ nop +/* 3556D4 E0044774 24020005 */ addiu $v0, $zero, 5 +/* 3556D8 E0044778 46200020 */ cvt.s.d $f0, $f0 +/* 3556DC E004477C 16620018 */ bne $s3, $v0, .LE00447E0 +/* 3556E0 E0044780 E6000008 */ swc1 $f0, 8($s0) +/* 3556E4 E0044784 C6000000 */ lwc1 $f0, ($s0) +/* 3556E8 E0044788 C6020004 */ lwc1 $f2, 4($s0) +/* 3556EC E004478C 46020000 */ add.s $f0, $f0, $f2 +/* 3556F0 E0044790 C602FFF4 */ lwc1 $f2, -0xc($s0) +/* 3556F4 E0044794 46001080 */ add.s $f2, $f2, $f0 +/* 3556F8 E0044798 E6000000 */ swc1 $f0, ($s0) +/* 3556FC E004479C 080111F8 */ j .LE00447E0 +/* 355700 E00447A0 E602FFF4 */ swc1 $f2, -0xc($s0) +.LE00447A4: +/* 355704 E00447A4 C6000008 */ lwc1 $f0, 8($s0) +/* 355708 E00447A8 46000021 */ cvt.d.s $f0, $f0 +/* 35570C E00447AC 4620B101 */ sub.d $f4, $f22, $f0 +/* 355710 E00447B0 46362102 */ mul.d $f4, $f4, $f22 +/* 355714 E00447B4 00000000 */ nop +/* 355718 E00447B8 C6060000 */ lwc1 $f6, ($s0) +/* 35571C E00447BC C6020004 */ lwc1 $f2, 4($s0) +/* 355720 E00447C0 46023180 */ add.s $f6, $f6, $f2 +/* 355724 E00447C4 C602FFF4 */ lwc1 $f2, -0xc($s0) +/* 355728 E00447C8 46061080 */ add.s $f2, $f2, $f6 +/* 35572C E00447CC 46240000 */ add.d $f0, $f0, $f4 +/* 355730 E00447D0 E6060000 */ swc1 $f6, ($s0) +/* 355734 E00447D4 E602FFF4 */ swc1 $f2, -0xc($s0) +/* 355738 E00447D8 46200020 */ cvt.s.d $f0, $f0 +/* 35573C E00447DC E6000008 */ swc1 $f0, 8($s0) +.LE00447E0: +/* 355740 E00447E0 24020004 */ addiu $v0, $zero, 4 +/* 355744 E00447E4 16620013 */ bne $s3, $v0, .LE0044834 +/* 355748 E00447E8 00121040 */ sll $v0, $s2, 1 +/* 35574C E00447EC 00521021 */ addu $v0, $v0, $s2 +/* 355750 E00447F0 00021080 */ sll $v0, $v0, 2 +/* 355754 E00447F4 4482A000 */ mtc1 $v0, $f20 +/* 355758 E00447F8 00000000 */ nop +/* 35575C E00447FC 4680A520 */ cvt.s.w $f20, $f20 +/* 355760 E0044800 0C080140 */ jal func_E0200500 +/* 355764 E0044804 4600A306 */ mov.s $f12, $f20 +/* 355768 E0044808 C602FFFC */ lwc1 $f2, -4($s0) +/* 35576C E004480C 46001082 */ mul.s $f2, $f2, $f0 +/* 355770 E0044810 00000000 */ nop +/* 355774 E0044814 4600A306 */ mov.s $f12, $f20 +/* 355778 E0044818 0C080144 */ jal func_E0200510 +/* 35577C E004481C E602FFF0 */ swc1 $f2, -0x10($s0) +/* 355780 E0044820 C602FFFC */ lwc1 $f2, -4($s0) +/* 355784 E0044824 46001082 */ mul.s $f2, $f2, $f0 +/* 355788 E0044828 00000000 */ nop +/* 35578C E004482C 0801120F */ j .LE004483C +/* 355790 E0044830 E602FFF8 */ swc1 $f2, -8($s0) +.LE0044834: +/* 355794 E0044834 C600FFFC */ lwc1 $f0, -4($s0) +/* 355798 E0044838 E600FFF0 */ swc1 $f0, -0x10($s0) +.LE004483C: +/* 35579C E004483C C6000000 */ lwc1 $f0, ($s0) +/* 3557A0 E0044840 46000021 */ cvt.d.s $f0, $f0 +/* 3557A4 E0044844 463A0002 */ mul.d $f0, $f0, $f26 +/* 3557A8 E0044848 00000000 */ nop +/* 3557AC E004484C 46200020 */ cvt.s.d $f0, $f0 +/* 3557B0 E0044850 E6000000 */ swc1 $f0, ($s0) +.LE0044854: +/* 3557B4 E0044854 26310001 */ addiu $s1, $s1, 1 +/* 3557B8 E0044858 8E820008 */ lw $v0, 8($s4) +/* 3557BC E004485C 2442FFFF */ addiu $v0, $v0, -1 +/* 3557C0 E0044860 0222102A */ slt $v0, $s1, $v0 +/* 3557C4 E0044864 1440FF25 */ bnez $v0, .LE00444FC +/* 3557C8 E0044868 2610002C */ addiu $s0, $s0, 0x2c +.LE004486C: +/* 3557CC E004486C 2E620002 */ sltiu $v0, $s3, 2 +/* 3557D0 E0044870 1440000C */ bnez $v0, .LE00448A4 +/* 3557D4 E0044874 24020003 */ addiu $v0, $zero, 3 +/* 3557D8 E0044878 1262000A */ beq $s3, $v0, .LE00448A4 +/* 3557DC E004487C 2A62000A */ slti $v0, $s3, 0xa +/* 3557E0 E0044880 10400008 */ beqz $v0, .LE00448A4 +/* 3557E4 E0044884 00000000 */ nop +/* 3557E8 E0044888 8E820008 */ lw $v0, 8($s4) +/* 3557EC E004488C 2442FFFF */ addiu $v0, $v0, -1 +/* 3557F0 E0044890 02A2102A */ slt $v0, $s5, $v0 +/* 3557F4 E0044894 14400003 */ bnez $v0, .LE00448A4 +/* 3557F8 E0044898 00000000 */ nop +.LE004489C: +/* 3557FC E004489C 0C080128 */ jal func_E02004A0 +/* 355800 E00448A0 0280202D */ daddu $a0, $s4, $zero +.LE00448A4: +/* 355804 E00448A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 355808 E00448A8 8FBE0030 */ lw $fp, 0x30($sp) +/* 35580C E00448AC 8FB7002C */ lw $s7, 0x2c($sp) +/* 355810 E00448B0 8FB60028 */ lw $s6, 0x28($sp) +/* 355814 E00448B4 8FB50024 */ lw $s5, 0x24($sp) +/* 355818 E00448B8 8FB40020 */ lw $s4, 0x20($sp) +/* 35581C E00448BC 8FB3001C */ lw $s3, 0x1c($sp) +/* 355820 E00448C0 8FB20018 */ lw $s2, 0x18($sp) +/* 355824 E00448C4 8FB10014 */ lw $s1, 0x14($sp) +/* 355828 E00448C8 8FB00010 */ lw $s0, 0x10($sp) +/* 35582C E00448CC D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 355830 E00448D0 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 355834 E00448D4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 355838 E00448D8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 35583C E00448DC 03E00008 */ jr $ra +/* 355840 E00448E0 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_354F60/func_E00448E4.s b/asm/nonmatchings/code_354F60/func_E00448E4.s new file mode 100644 index 0000000000..cc31d87d52 --- /dev/null +++ b/asm/nonmatchings/code_354F60/func_E00448E4.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00448E4 +/* 355844 E00448E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 355848 E00448E8 3C02E004 */ lui $v0, 0xe004 +/* 35584C E00448EC 2442491C */ addiu $v0, $v0, 0x491c +/* 355850 E00448F0 AFA2001C */ sw $v0, 0x1c($sp) +/* 355854 E00448F4 2402002D */ addiu $v0, $zero, 0x2d +/* 355858 E00448F8 AFA40018 */ sw $a0, 0x18($sp) +/* 35585C E00448FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 355860 E0044900 AFBF0020 */ sw $ra, 0x20($sp) +/* 355864 E0044904 AFA00014 */ sw $zero, 0x14($sp) +/* 355868 E0044908 0C080120 */ jal func_E0200480 +/* 35586C E004490C AFA20010 */ sw $v0, 0x10($sp) +/* 355870 E0044910 8FBF0020 */ lw $ra, 0x20($sp) +/* 355874 E0044914 03E00008 */ jr $ra +/* 355878 E0044918 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_354F60/func_E004491C.s b/asm/nonmatchings/code_354F60/func_E004491C.s new file mode 100644 index 0000000000..6969657718 --- /dev/null +++ b/asm/nonmatchings/code_354F60/func_E004491C.s @@ -0,0 +1,306 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004491C +/* 35587C E004491C 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 355880 E0044920 3C07DB06 */ lui $a3, 0xdb06 +/* 355884 E0044924 34E70024 */ ori $a3, $a3, 0x24 +/* 355888 E0044928 AFA40118 */ sw $a0, 0x118($sp) +/* 35588C E004492C 27A40018 */ addiu $a0, $sp, 0x18 +/* 355890 E0044930 3C05800A */ lui $a1, 0x800a +/* 355894 E0044934 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 355898 E0044938 AFBF00FC */ sw $ra, 0xfc($sp) +/* 35589C E004493C AFBE00F8 */ sw $fp, 0xf8($sp) +/* 3558A0 E0044940 AFB700F4 */ sw $s7, 0xf4($sp) +/* 3558A4 E0044944 AFB600F0 */ sw $s6, 0xf0($sp) +/* 3558A8 E0044948 AFB500EC */ sw $s5, 0xec($sp) +/* 3558AC E004494C AFB400E8 */ sw $s4, 0xe8($sp) +/* 3558B0 E0044950 AFB300E4 */ sw $s3, 0xe4($sp) +/* 3558B4 E0044954 AFB200E0 */ sw $s2, 0xe0($sp) +/* 3558B8 E0044958 AFB100DC */ sw $s1, 0xdc($sp) +/* 3558BC E004495C AFB000D8 */ sw $s0, 0xd8($sp) +/* 3558C0 E0044960 F7B80110 */ sdc1 $f24, 0x110($sp) +/* 3558C4 E0044964 F7B60108 */ sdc1 $f22, 0x108($sp) +/* 3558C8 E0044968 F7B40100 */ sdc1 $f20, 0x100($sp) +/* 3558CC E004496C 8CA30000 */ lw $v1, ($a1) +/* 3558D0 E0044970 8FA90118 */ lw $t1, 0x118($sp) +/* 3558D4 E0044974 0060302D */ daddu $a2, $v1, $zero +/* 3558D8 E0044978 8D31000C */ lw $s1, 0xc($t1) +/* 3558DC E004497C 24630008 */ addiu $v1, $v1, 8 +/* 3558E0 E0044980 ACA30000 */ sw $v1, ($a1) +/* 3558E4 E0044984 86320002 */ lh $s2, 2($s1) +/* 3558E8 E0044988 3C02E700 */ lui $v0, 0xe700 +/* 3558EC E004498C ACC20000 */ sw $v0, ($a2) +/* 3558F0 E0044990 24620008 */ addiu $v0, $v1, 8 +/* 3558F4 E0044994 ACC00004 */ sw $zero, 4($a2) +/* 3558F8 E0044998 ACA20000 */ sw $v0, ($a1) +/* 3558FC E004499C AC670000 */ sw $a3, ($v1) +/* 355900 E00449A0 8D260010 */ lw $a2, 0x10($t1) +/* 355904 E00449A4 24620010 */ addiu $v0, $v1, 0x10 +/* 355908 E00449A8 ACA20000 */ sw $v0, ($a1) +/* 35590C E00449AC 8CC5001C */ lw $a1, 0x1c($a2) +/* 355910 E00449B0 3C02DE00 */ lui $v0, 0xde00 +/* 355914 E00449B4 AC620008 */ sw $v0, 8($v1) +/* 355918 E00449B8 3C020900 */ lui $v0, 0x900 +/* 35591C E00449BC 24420F20 */ addiu $v0, $v0, 0xf20 +/* 355920 E00449C0 AC62000C */ sw $v0, 0xc($v1) +/* 355924 E00449C4 3C028000 */ lui $v0, 0x8000 +/* 355928 E00449C8 00A22821 */ addu $a1, $a1, $v0 +/* 35592C E00449CC AC650004 */ sw $a1, 4($v1) +/* 355930 E00449D0 8E250004 */ lw $a1, 4($s1) +/* 355934 E00449D4 8E260008 */ lw $a2, 8($s1) +/* 355938 E00449D8 8E220020 */ lw $v0, 0x20($s1) +/* 35593C E00449DC 8E27000C */ lw $a3, 0xc($s1) +/* 355940 E00449E0 2442FFFF */ addiu $v0, $v0, -1 +/* 355944 E00449E4 00021840 */ sll $v1, $v0, 1 +/* 355948 E00449E8 0C080108 */ jal func_E0200420 +/* 35594C E00449EC 0062A021 */ addu $s4, $v1, $v0 +/* 355950 E00449F0 27B00058 */ addiu $s0, $sp, 0x58 +/* 355954 E00449F4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 355958 E00449F8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 35595C E00449FC 44800000 */ mtc1 $zero, $f0 +/* 355960 E0044A00 00031080 */ sll $v0, $v1, 2 +/* 355964 E0044A04 00431021 */ addu $v0, $v0, $v1 +/* 355968 E0044A08 00021080 */ sll $v0, $v0, 2 +/* 35596C E0044A0C 00431023 */ subu $v0, $v0, $v1 +/* 355970 E0044A10 000218C0 */ sll $v1, $v0, 3 +/* 355974 E0044A14 00431021 */ addu $v0, $v0, $v1 +/* 355978 E0044A18 000210C0 */ sll $v0, $v0, 3 +/* 35597C E0044A1C 44060000 */ mfc1 $a2, $f0 +/* 355980 E0044A20 3C01800B */ lui $at, 0x800b +/* 355984 E0044A24 00220821 */ addu $at, $at, $v0 +/* 355988 E0044A28 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 35598C E0044A2C 3C073F80 */ lui $a3, 0x3f80 +/* 355990 E0044A30 46000007 */ neg.s $f0, $f0 +/* 355994 E0044A34 44050000 */ mfc1 $a1, $f0 +/* 355998 E0044A38 0200202D */ daddu $a0, $s0, $zero +/* 35599C E0044A3C 0C080104 */ jal func_E0200410 +/* 3559A0 E0044A40 AFA60010 */ sw $a2, 0x10($sp) +/* 3559A4 E0044A44 0200202D */ daddu $a0, $s0, $zero +/* 3559A8 E0044A48 27A50018 */ addiu $a1, $sp, 0x18 +/* 3559AC E0044A4C 0C080114 */ jal func_E0200450 +/* 3559B0 E0044A50 27A60098 */ addiu $a2, $sp, 0x98 +/* 3559B4 E0044A54 2E42001F */ sltiu $v0, $s2, 0x1f +/* 3559B8 E0044A58 1040002E */ beqz $v0, .LE0044B14 +/* 3559BC E0044A5C 00121080 */ sll $v0, $s2, 2 +/* 3559C0 E0044A60 3C01E004 */ lui $at, 0xe004 +/* 3559C4 E0044A64 00220821 */ addu $at, $at, $v0 +/* 3559C8 E0044A68 8C224F00 */ lw $v0, 0x4f00($at) +/* 3559CC E0044A6C 00400008 */ jr $v0 +/* 3559D0 E0044A70 00000000 */ nop +/* 3559D4 E0044A74 3C013F80 */ lui $at, 0x3f80 +/* 3559D8 E0044A78 4481C000 */ mtc1 $at, $f24 +/* 3559DC E0044A7C 3C013F00 */ lui $at, 0x3f00 +/* 3559E0 E0044A80 4481B000 */ mtc1 $at, $f22 +/* 3559E4 E0044A84 3C013DCC */ lui $at, 0x3dcc +/* 3559E8 E0044A88 3421CCCD */ ori $at, $at, 0xcccd +/* 3559EC E0044A8C 4481A000 */ mtc1 $at, $f20 +/* 3559F0 E0044A90 080112CC */ j .LE0044B30 +/* 3559F4 E0044A94 00000000 */ nop +/* 3559F8 E0044A98 3C013F80 */ lui $at, 0x3f80 +/* 3559FC E0044A9C 4481C000 */ mtc1 $at, $f24 +/* 355A00 E0044AA0 3C013F4C */ lui $at, 0x3f4c +/* 355A04 E0044AA4 3421CCCD */ ori $at, $at, 0xcccd +/* 355A08 E0044AA8 4481B000 */ mtc1 $at, $f22 +/* 355A0C E0044AAC 86220000 */ lh $v0, ($s1) +/* 355A10 E0044AB0 3C013F33 */ lui $at, 0x3f33 +/* 355A14 E0044AB4 34213333 */ ori $at, $at, 0x3333 +/* 355A18 E0044AB8 4481A000 */ mtc1 $at, $f20 +/* 355A1C E0044ABC 1040001C */ beqz $v0, .LE0044B30 +/* 355A20 E0044AC0 3C06E200 */ lui $a2, 0xe200 +/* 355A24 E0044AC4 34C6001C */ ori $a2, $a2, 0x1c +/* 355A28 E0044AC8 3C050050 */ lui $a1, 0x50 +/* 355A2C E0044ACC 3C04800A */ lui $a0, 0x800a +/* 355A30 E0044AD0 2484A66C */ addiu $a0, $a0, -0x5994 +/* 355A34 E0044AD4 8C820000 */ lw $v0, ($a0) +/* 355A38 E0044AD8 34A54B50 */ ori $a1, $a1, 0x4b50 +/* 355A3C E0044ADC 0040182D */ daddu $v1, $v0, $zero +/* 355A40 E0044AE0 24420008 */ addiu $v0, $v0, 8 +/* 355A44 E0044AE4 AC820000 */ sw $v0, ($a0) +/* 355A48 E0044AE8 AC660000 */ sw $a2, ($v1) +/* 355A4C E0044AEC 080112CC */ j .LE0044B30 +/* 355A50 E0044AF0 AC650004 */ sw $a1, 4($v1) +/* 355A54 E0044AF4 3C013FB3 */ lui $at, 0x3fb3 +/* 355A58 E0044AF8 34213333 */ ori $at, $at, 0x3333 +/* 355A5C E0044AFC 4481B000 */ mtc1 $at, $f22 +/* 355A60 E0044B00 3C013F33 */ lui $at, 0x3f33 +/* 355A64 E0044B04 34213333 */ ori $at, $at, 0x3333 +/* 355A68 E0044B08 4481A000 */ mtc1 $at, $f20 +/* 355A6C E0044B0C 080112CC */ j .LE0044B30 +/* 355A70 E0044B10 4600B606 */ mov.s $f24, $f22 +.LE0044B14: +/* 355A74 E0044B14 3C013F33 */ lui $at, 0x3f33 +/* 355A78 E0044B18 34213333 */ ori $at, $at, 0x3333 +/* 355A7C E0044B1C 4481A000 */ mtc1 $at, $f20 +/* 355A80 E0044B20 3C013FB3 */ lui $at, 0x3fb3 +/* 355A84 E0044B24 34213333 */ ori $at, $at, 0x3333 +/* 355A88 E0044B28 4481C000 */ mtc1 $at, $f24 +/* 355A8C E0044B2C 4600A586 */ mov.s $f22, $f20 +.LE0044B30: +/* 355A90 E0044B30 8FA90118 */ lw $t1, 0x118($sp) +/* 355A94 E0044B34 2631002C */ addiu $s1, $s1, 0x2c +/* 355A98 E0044B38 8D220008 */ lw $v0, 8($t1) +/* 355A9C E0044B3C 2442FFFF */ addiu $v0, $v0, -1 +/* 355AA0 E0044B40 18400083 */ blez $v0, .LE0044D50 +/* 355AA4 E0044B44 0000902D */ daddu $s2, $zero, $zero +/* 355AA8 E0044B48 27B60058 */ addiu $s6, $sp, 0x58 +/* 355AAC E0044B4C 3C178007 */ lui $s7, 0x8007 +/* 355AB0 E0044B50 26F741F0 */ addiu $s7, $s7, 0x41f0 +/* 355AB4 E0044B54 3C150001 */ lui $s5, 1 +/* 355AB8 E0044B58 36B51630 */ ori $s5, $s5, 0x1630 +/* 355ABC E0044B5C 3C13800A */ lui $s3, 0x800a +/* 355AC0 E0044B60 2673A66C */ addiu $s3, $s3, -0x5994 +/* 355AC4 E0044B64 2631001C */ addiu $s1, $s1, 0x1c +/* 355AC8 E0044B68 3C1EE004 */ lui $fp, 0xe004 +/* 355ACC E0044B6C 27DE4DD0 */ addiu $fp, $fp, 0x4dd0 +/* 355AD0 E0044B70 029E8021 */ addu $s0, $s4, $fp +.LE0044B74: +/* 355AD4 E0044B74 8E34000C */ lw $s4, 0xc($s1) +/* 355AD8 E0044B78 0680006E */ bltz $s4, .LE0044D34 +/* 355ADC E0044B7C 00000000 */ nop +/* 355AE0 E0044B80 8E25FFE8 */ lw $a1, -0x18($s1) +/* 355AE4 E0044B84 8E26FFEC */ lw $a2, -0x14($s1) +/* 355AE8 E0044B88 8E27FFF0 */ lw $a3, -0x10($s1) +/* 355AEC E0044B8C 0C080108 */ jal func_E0200420 +/* 355AF0 E0044B90 02C0202D */ daddu $a0, $s6, $zero +/* 355AF4 E0044B94 02C0202D */ daddu $a0, $s6, $zero +/* 355AF8 E0044B98 27A50098 */ addiu $a1, $sp, 0x98 +/* 355AFC E0044B9C C6200000 */ lwc1 $f0, ($s1) +/* 355B00 E0044BA0 27A60018 */ addiu $a2, $sp, 0x18 +/* 355B04 E0044BA4 E7A00080 */ swc1 $f0, 0x80($sp) +/* 355B08 E0044BA8 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 355B0C E0044BAC 0C080114 */ jal func_E0200450 +/* 355B10 E0044BB0 E7A00058 */ swc1 $f0, 0x58($sp) +/* 355B14 E0044BB4 27A40018 */ addiu $a0, $sp, 0x18 +/* 355B18 E0044BB8 96E50000 */ lhu $a1, ($s7) +/* 355B1C E0044BBC 3C02800A */ lui $v0, 0x800a +/* 355B20 E0044BC0 8C42A674 */ lw $v0, -0x598c($v0) +/* 355B24 E0044BC4 00052980 */ sll $a1, $a1, 6 +/* 355B28 E0044BC8 00B52821 */ addu $a1, $a1, $s5 +/* 355B2C E0044BCC 0C080118 */ jal func_E0200460 +/* 355B30 E0044BD0 00452821 */ addu $a1, $v0, $a1 +/* 355B34 E0044BD4 27C20024 */ addiu $v0, $fp, 0x24 +/* 355B38 E0044BD8 0202102A */ slt $v0, $s0, $v0 +/* 355B3C E0044BDC 50400001 */ beql $v0, $zero, .LE0044BE4 +/* 355B40 E0044BE0 03C0802D */ daddu $s0, $fp, $zero +.LE0044BE4: +/* 355B44 E0044BE4 92020000 */ lbu $v0, ($s0) +/* 355B48 E0044BE8 44822000 */ mtc1 $v0, $f4 +/* 355B4C E0044BEC 00000000 */ nop +/* 355B50 E0044BF0 46802120 */ cvt.s.w $f4, $f4 +/* 355B54 E0044BF4 46182102 */ mul.s $f4, $f4, $f24 +/* 355B58 E0044BF8 00000000 */ nop +/* 355B5C E0044BFC 26100001 */ addiu $s0, $s0, 1 +/* 355B60 E0044C00 92020000 */ lbu $v0, ($s0) +/* 355B64 E0044C04 44821000 */ mtc1 $v0, $f2 +/* 355B68 E0044C08 00000000 */ nop +/* 355B6C E0044C0C 468010A0 */ cvt.s.w $f2, $f2 +/* 355B70 E0044C10 46161082 */ mul.s $f2, $f2, $f22 +/* 355B74 E0044C14 00000000 */ nop +/* 355B78 E0044C18 26100001 */ addiu $s0, $s0, 1 +/* 355B7C E0044C1C 92020000 */ lbu $v0, ($s0) +/* 355B80 E0044C20 44820000 */ mtc1 $v0, $f0 +/* 355B84 E0044C24 00000000 */ nop +/* 355B88 E0044C28 46800020 */ cvt.s.w $f0, $f0 +/* 355B8C E0044C2C 46140002 */ mul.s $f0, $f0, $f20 +/* 355B90 E0044C30 00000000 */ nop +/* 355B94 E0044C34 4600218D */ trunc.w.s $f6, $f4 +/* 355B98 E0044C38 44033000 */ mfc1 $v1, $f6 +/* 355B9C E0044C3C 00000000 */ nop +/* 355BA0 E0044C40 28620100 */ slti $v0, $v1, 0x100 +/* 355BA4 E0044C44 4600118D */ trunc.w.s $f6, $f2 +/* 355BA8 E0044C48 44073000 */ mfc1 $a3, $f6 +/* 355BAC E0044C4C 4600018D */ trunc.w.s $f6, $f0 +/* 355BB0 E0044C50 44083000 */ mfc1 $t0, $f6 +/* 355BB4 E0044C54 14400002 */ bnez $v0, .LE0044C60 +/* 355BB8 E0044C58 26100001 */ addiu $s0, $s0, 1 +/* 355BBC E0044C5C 240300FF */ addiu $v1, $zero, 0xff +.LE0044C60: +/* 355BC0 E0044C60 28E20100 */ slti $v0, $a3, 0x100 +/* 355BC4 E0044C64 50400001 */ beql $v0, $zero, .LE0044C6C +/* 355BC8 E0044C68 240700FF */ addiu $a3, $zero, 0xff +.LE0044C6C: +/* 355BCC E0044C6C 29020100 */ slti $v0, $t0, 0x100 +/* 355BD0 E0044C70 50400001 */ beql $v0, $zero, .LE0044C78 +/* 355BD4 E0044C74 240800FF */ addiu $t0, $zero, 0xff +.LE0044C78: +/* 355BD8 E0044C78 3C06D838 */ lui $a2, 0xd838 +/* 355BDC E0044C7C 34C60002 */ ori $a2, $a2, 2 +/* 355BE0 E0044C80 3C02FA00 */ lui $v0, 0xfa00 +/* 355BE4 E0044C84 00031E00 */ sll $v1, $v1, 0x18 +/* 355BE8 E0044C88 8E640000 */ lw $a0, ($s3) +/* 355BEC E0044C8C 3C09E004 */ lui $t1, 0xe004 +/* 355BF0 E0044C90 25294DB0 */ addiu $t1, $t1, 0x4db0 +/* 355BF4 E0044C94 0080282D */ daddu $a1, $a0, $zero +/* 355BF8 E0044C98 24840008 */ addiu $a0, $a0, 8 +/* 355BFC E0044C9C AE640000 */ sw $a0, ($s3) +/* 355C00 E0044CA0 ACA20000 */ sw $v0, ($a1) +/* 355C04 E0044CA4 30E200FF */ andi $v0, $a3, 0xff +/* 355C08 E0044CA8 00021400 */ sll $v0, $v0, 0x10 +/* 355C0C E0044CAC 00621825 */ or $v1, $v1, $v0 +/* 355C10 E0044CB0 310200FF */ andi $v0, $t0, 0xff +/* 355C14 E0044CB4 00021200 */ sll $v0, $v0, 8 +/* 355C18 E0044CB8 00621825 */ or $v1, $v1, $v0 +/* 355C1C E0044CBC 346300FF */ ori $v1, $v1, 0xff +/* 355C20 E0044CC0 24820008 */ addiu $v0, $a0, 8 +/* 355C24 E0044CC4 ACA30004 */ sw $v1, 4($a1) +/* 355C28 E0044CC8 AE620000 */ sw $v0, ($s3) +/* 355C2C E0044CCC 96E20000 */ lhu $v0, ($s7) +/* 355C30 E0044CD0 3C03DA38 */ lui $v1, 0xda38 +/* 355C34 E0044CD4 AC830000 */ sw $v1, ($a0) +/* 355C38 E0044CD8 24430001 */ addiu $v1, $v0, 1 +/* 355C3C E0044CDC 3042FFFF */ andi $v0, $v0, 0xffff +/* 355C40 E0044CE0 00021180 */ sll $v0, $v0, 6 +/* 355C44 E0044CE4 A6E30000 */ sh $v1, ($s7) +/* 355C48 E0044CE8 3C03800A */ lui $v1, 0x800a +/* 355C4C E0044CEC 8C63A674 */ lw $v1, -0x598c($v1) +/* 355C50 E0044CF0 00551021 */ addu $v0, $v0, $s5 +/* 355C54 E0044CF4 00621821 */ addu $v1, $v1, $v0 +/* 355C58 E0044CF8 24820010 */ addiu $v0, $a0, 0x10 +/* 355C5C E0044CFC AC830004 */ sw $v1, 4($a0) +/* 355C60 E0044D00 AE620000 */ sw $v0, ($s3) +/* 355C64 E0044D04 3C02DE00 */ lui $v0, 0xde00 +/* 355C68 E0044D08 AC820008 */ sw $v0, 8($a0) +/* 355C6C E0044D0C 32820007 */ andi $v0, $s4, 7 +/* 355C70 E0044D10 00021080 */ sll $v0, $v0, 2 +/* 355C74 E0044D14 00491021 */ addu $v0, $v0, $t1 +/* 355C78 E0044D18 8C430000 */ lw $v1, ($v0) +/* 355C7C E0044D1C 24820018 */ addiu $v0, $a0, 0x18 +/* 355C80 E0044D20 AE620000 */ sw $v0, ($s3) +/* 355C84 E0044D24 24020040 */ addiu $v0, $zero, 0x40 +/* 355C88 E0044D28 AC860010 */ sw $a2, 0x10($a0) +/* 355C8C E0044D2C AC820014 */ sw $v0, 0x14($a0) +/* 355C90 E0044D30 AC83000C */ sw $v1, 0xc($a0) +.LE0044D34: +/* 355C94 E0044D34 8FA90118 */ lw $t1, 0x118($sp) +/* 355C98 E0044D38 26520001 */ addiu $s2, $s2, 1 +/* 355C9C E0044D3C 8D220008 */ lw $v0, 8($t1) +/* 355CA0 E0044D40 2442FFFF */ addiu $v0, $v0, -1 +/* 355CA4 E0044D44 0242102A */ slt $v0, $s2, $v0 +/* 355CA8 E0044D48 1440FF8A */ bnez $v0, .LE0044B74 +/* 355CAC E0044D4C 2631002C */ addiu $s1, $s1, 0x2c +.LE0044D50: +/* 355CB0 E0044D50 3C03800A */ lui $v1, 0x800a +/* 355CB4 E0044D54 2463A66C */ addiu $v1, $v1, -0x5994 +/* 355CB8 E0044D58 8C620000 */ lw $v0, ($v1) +/* 355CBC E0044D5C 0040202D */ daddu $a0, $v0, $zero +/* 355CC0 E0044D60 24420008 */ addiu $v0, $v0, 8 +/* 355CC4 E0044D64 AC620000 */ sw $v0, ($v1) +/* 355CC8 E0044D68 3C02E700 */ lui $v0, 0xe700 +/* 355CCC E0044D6C AC820000 */ sw $v0, ($a0) +/* 355CD0 E0044D70 AC800004 */ sw $zero, 4($a0) +/* 355CD4 E0044D74 8FBF00FC */ lw $ra, 0xfc($sp) +/* 355CD8 E0044D78 8FBE00F8 */ lw $fp, 0xf8($sp) +/* 355CDC E0044D7C 8FB700F4 */ lw $s7, 0xf4($sp) +/* 355CE0 E0044D80 8FB600F0 */ lw $s6, 0xf0($sp) +/* 355CE4 E0044D84 8FB500EC */ lw $s5, 0xec($sp) +/* 355CE8 E0044D88 8FB400E8 */ lw $s4, 0xe8($sp) +/* 355CEC E0044D8C 8FB300E4 */ lw $s3, 0xe4($sp) +/* 355CF0 E0044D90 8FB200E0 */ lw $s2, 0xe0($sp) +/* 355CF4 E0044D94 8FB100DC */ lw $s1, 0xdc($sp) +/* 355CF8 E0044D98 8FB000D8 */ lw $s0, 0xd8($sp) +/* 355CFC E0044D9C D7B80110 */ ldc1 $f24, 0x110($sp) +/* 355D00 E0044DA0 D7B60108 */ ldc1 $f22, 0x108($sp) +/* 355D04 E0044DA4 D7B40100 */ ldc1 $f20, 0x100($sp) +/* 355D08 E0044DA8 03E00008 */ jr $ra +/* 355D0C E0044DAC 27BD0118 */ addiu $sp, $sp, 0x118 diff --git a/asm/nonmatchings/code_355EE0/func_E0046000.s b/asm/nonmatchings/code_355EE0/func_E0046000.s new file mode 100644 index 0000000000..3c61ab248e --- /dev/null +++ b/asm/nonmatchings/code_355EE0/func_E0046000.s @@ -0,0 +1,94 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0046000 +/* 355EE0 E0046000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 355EE4 E0046004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 355EE8 E0046008 4485A000 */ mtc1 $a1, $f20 +/* 355EEC E004600C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 355EF0 E0046010 4486C000 */ mtc1 $a2, $f24 +/* 355EF4 E0046014 AFB1002C */ sw $s1, 0x2c($sp) +/* 355EF8 E0046018 0080882D */ daddu $s1, $a0, $zero +/* 355EFC E004601C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 355F00 E0046020 4487B000 */ mtc1 $a3, $f22 +/* 355F04 E0046024 27A40010 */ addiu $a0, $sp, 0x10 +/* 355F08 E0046028 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 355F0C E004602C C7BA0068 */ lwc1 $f26, 0x68($sp) +/* 355F10 E0046030 3C02E004 */ lui $v0, 0xe004 +/* 355F14 E0046034 24426158 */ addiu $v0, $v0, 0x6158 +/* 355F18 E0046038 AFA20018 */ sw $v0, 0x18($sp) +/* 355F1C E004603C 3C02E004 */ lui $v0, 0xe004 +/* 355F20 E0046040 24426160 */ addiu $v0, $v0, 0x6160 +/* 355F24 E0046044 AFA2001C */ sw $v0, 0x1c($sp) +/* 355F28 E0046048 3C02E004 */ lui $v0, 0xe004 +/* 355F2C E004604C 2442627C */ addiu $v0, $v0, 0x627c +/* 355F30 E0046050 AFA20020 */ sw $v0, 0x20($sp) +/* 355F34 E0046054 24020023 */ addiu $v0, $zero, 0x23 +/* 355F38 E0046058 AFBF0030 */ sw $ra, 0x30($sp) +/* 355F3C E004605C AFB00028 */ sw $s0, 0x28($sp) +/* 355F40 E0046060 AFA00010 */ sw $zero, 0x10($sp) +/* 355F44 E0046064 AFA00024 */ sw $zero, 0x24($sp) +/* 355F48 E0046068 0C080124 */ jal func_E0200490 +/* 355F4C E004606C AFA20014 */ sw $v0, 0x14($sp) +/* 355F50 E0046070 24040028 */ addiu $a0, $zero, 0x28 +/* 355F54 E0046074 24030001 */ addiu $v1, $zero, 1 +/* 355F58 E0046078 0040802D */ daddu $s0, $v0, $zero +/* 355F5C E004607C 0C08012C */ jal func_E02004B0 +/* 355F60 E0046080 AE030008 */ sw $v1, 8($s0) +/* 355F64 E0046084 AE02000C */ sw $v0, 0xc($s0) +/* 355F68 E0046088 0040802D */ daddu $s0, $v0, $zero +/* 355F6C E004608C 56000003 */ bnel $s0, $zero, .LE004609C +/* 355F70 E0046090 AE110000 */ sw $s1, ($s0) +.LE0046094: +/* 355F74 E0046094 08011825 */ j .LE0046094 +/* 355F78 E0046098 00000000 */ nop +.LE004609C: +/* 355F7C E004609C 44800000 */ mtc1 $zero, $f0 +/* 355F80 E00460A0 E6140004 */ swc1 $f20, 4($s0) +/* 355F84 E00460A4 E6180008 */ swc1 $f24, 8($s0) +/* 355F88 E00460A8 E616000C */ swc1 $f22, 0xc($s0) +/* 355F8C E00460AC AE000014 */ sw $zero, 0x14($s0) +/* 355F90 E00460B0 4600D032 */ c.eq.s $f26, $f0 +/* 355F94 E00460B4 00000000 */ nop +/* 355F98 E00460B8 45010013 */ bc1t .LE0046108 +/* 355F9C E00460BC AE00001C */ sw $zero, 0x1c($s0) +/* 355FA0 E00460C0 0C080138 */ jal func_E02004E0 +/* 355FA4 E00460C4 24040003 */ addiu $a0, $zero, 3 +/* 355FA8 E00460C8 3C01E004 */ lui $at, 0xe004 +/* 355FAC E00460CC D4226620 */ ldc1 $f2, 0x6620($at) +/* 355FB0 E00460D0 44820000 */ mtc1 $v0, $f0 +/* 355FB4 E00460D4 00000000 */ nop +/* 355FB8 E00460D8 46800021 */ cvt.d.w $f0, $f0 +/* 355FBC E00460DC 46220002 */ mul.d $f0, $f0, $f2 +/* 355FC0 E00460E0 00000000 */ nop +/* 355FC4 E00460E4 3C01E004 */ lui $at, 0xe004 +/* 355FC8 E00460E8 D4226628 */ ldc1 $f2, 0x6628($at) +/* 355FCC E00460EC 46220000 */ add.d $f0, $f0, $f2 +/* 355FD0 E00460F0 3C01E004 */ lui $at, 0xe004 +/* 355FD4 E00460F4 D4226630 */ ldc1 $f2, 0x6630($at) +/* 355FD8 E00460F8 46220002 */ mul.d $f0, $f0, $f2 +/* 355FDC E00460FC 00000000 */ nop +/* 355FE0 E0046100 08011845 */ j .LE0046114 +/* 355FE4 E0046104 46200020 */ cvt.s.d $f0, $f0 +.LE0046108: +/* 355FE8 E0046108 3C013F80 */ lui $at, 0x3f80 +/* 355FEC E004610C 44810000 */ mtc1 $at, $f0 +/* 355FF0 E0046110 00000000 */ nop +.LE0046114: +/* 355FF4 E0046114 E6000010 */ swc1 $f0, 0x10($s0) +/* 355FF8 E0046118 2404001F */ addiu $a0, $zero, 0x1f +/* 355FFC E004611C 24020020 */ addiu $v0, $zero, 0x20 +/* 356000 E0046120 0C080138 */ jal func_E02004E0 +/* 356004 E0046124 AE020018 */ sw $v0, 0x18($s0) +/* 356008 E0046128 461AC000 */ add.s $f0, $f24, $f26 +/* 35600C E004612C AE020020 */ sw $v0, 0x20($s0) +/* 356010 E0046130 E6000024 */ swc1 $f0, 0x24($s0) +/* 356014 E0046134 8FBF0030 */ lw $ra, 0x30($sp) +/* 356018 E0046138 8FB1002C */ lw $s1, 0x2c($sp) +/* 35601C E004613C 8FB00028 */ lw $s0, 0x28($sp) +/* 356020 E0046140 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 356024 E0046144 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 356028 E0046148 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 35602C E004614C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 356030 E0046150 03E00008 */ jr $ra +/* 356034 E0046154 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_355EE0/func_E0046158.s b/asm/nonmatchings/code_355EE0/func_E0046158.s new file mode 100644 index 0000000000..72c2522e5b --- /dev/null +++ b/asm/nonmatchings/code_355EE0/func_E0046158.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0046158 +/* 356038 E0046158 03E00008 */ jr $ra +/* 35603C E004615C 00000000 */ nop diff --git a/asm/nonmatchings/code_355EE0/func_E0046160.s b/asm/nonmatchings/code_355EE0/func_E0046160.s new file mode 100644 index 0000000000..083b0ad6fb --- /dev/null +++ b/asm/nonmatchings/code_355EE0/func_E0046160.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0046160 +/* 356040 E0046160 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 356044 E0046164 AFBF0010 */ sw $ra, 0x10($sp) +/* 356048 E0046168 8C85000C */ lw $a1, 0xc($a0) +/* 35604C E004616C C4A20008 */ lwc1 $f2, 8($a1) +/* 356050 E0046170 C4A00024 */ lwc1 $f0, 0x24($a1) +/* 356054 E0046174 8CA60018 */ lw $a2, 0x18($a1) +/* 356058 E0046178 4602003E */ c.le.s $f0, $f2 +/* 35605C E004617C 00000000 */ nop +/* 356060 E0046180 45000031 */ bc1f .LE0046248 +/* 356064 E0046184 24C2FFFF */ addiu $v0, $a2, -1 +/* 356068 E0046188 ACA20018 */ sw $v0, 0x18($a1) +/* 35606C E004618C 8CA2001C */ lw $v0, 0x1c($a1) +/* 356070 E0046190 8CA30018 */ lw $v1, 0x18($a1) +/* 356074 E0046194 24420001 */ addiu $v0, $v0, 1 +/* 356078 E0046198 04610005 */ bgez $v1, .LE00461B0 +/* 35607C E004619C ACA2001C */ sw $v0, 0x1c($a1) +/* 356080 E00461A0 0C080128 */ jal func_E02004A0 +/* 356084 E00461A4 00000000 */ nop +/* 356088 E00461A8 0801189C */ j .LE0046270 +/* 35608C E00461AC 00000000 */ nop +.LE00461B0: +/* 356090 E00461B0 28C20006 */ slti $v0, $a2, 6 +/* 356094 E00461B4 14400012 */ bnez $v0, .LE0046200 +/* 356098 E00461B8 00061080 */ sll $v0, $a2, 2 +/* 35609C E00461BC 24020078 */ addiu $v0, $zero, 0x78 +/* 3560A0 E00461C0 8CA30014 */ lw $v1, 0x14($a1) +/* 3560A4 E00461C4 3C01E004 */ lui $at, 0xe004 +/* 3560A8 E00461C8 D4206638 */ ldc1 $f0, 0x6638($at) +/* 3560AC E00461CC 00431023 */ subu $v0, $v0, $v1 +/* 3560B0 E00461D0 44821000 */ mtc1 $v0, $f2 +/* 3560B4 E00461D4 00000000 */ nop +/* 3560B8 E00461D8 468010A1 */ cvt.d.w $f2, $f2 +/* 3560BC E00461DC 46201082 */ mul.d $f2, $f2, $f0 +/* 3560C0 E00461E0 00000000 */ nop +/* 3560C4 E00461E4 44830000 */ mtc1 $v1, $f0 +/* 3560C8 E00461E8 00000000 */ nop +/* 3560CC E00461EC 46800021 */ cvt.d.w $f0, $f0 +/* 3560D0 E00461F0 46220000 */ add.d $f0, $f0, $f2 +/* 3560D4 E00461F4 4620010D */ trunc.w.d $f4, $f0 +/* 3560D8 E00461F8 08011883 */ j .LE004620C +/* 3560DC E00461FC E4A40014 */ swc1 $f4, 0x14($a1) +.LE0046200: +/* 3560E0 E0046200 00461021 */ addu $v0, $v0, $a2 +/* 3560E4 E0046204 00021080 */ sll $v0, $v0, 2 +/* 3560E8 E0046208 ACA20014 */ sw $v0, 0x14($a1) +.LE004620C: +/* 3560EC E004620C 8CA30020 */ lw $v1, 0x20($a1) +/* 3560F0 E0046210 24620001 */ addiu $v0, $v1, 1 +/* 3560F4 E0046214 ACA20020 */ sw $v0, 0x20($a1) +/* 3560F8 E0046218 28420020 */ slti $v0, $v0, 0x20 +/* 3560FC E004621C 14400002 */ bnez $v0, .LE0046228 +/* 356100 E0046220 2462FFE1 */ addiu $v0, $v1, -0x1f +/* 356104 E0046224 ACA20020 */ sw $v0, 0x20($a1) +.LE0046228: +/* 356108 E0046228 C4A00010 */ lwc1 $f0, 0x10($a1) +/* 35610C E004622C 3C01E004 */ lui $at, 0xe004 +/* 356110 E0046230 D4226640 */ ldc1 $f2, 0x6640($at) +/* 356114 E0046234 46000021 */ cvt.d.s $f0, $f0 +/* 356118 E0046238 46220000 */ add.d $f0, $f0, $f2 +/* 35611C E004623C 46200020 */ cvt.s.d $f0, $f0 +/* 356120 E0046240 0801189C */ j .LE0046270 +/* 356124 E0046244 E4A00010 */ swc1 $f0, 0x10($a1) +.LE0046248: +/* 356128 E0046248 C4A00008 */ lwc1 $f0, 8($a1) +/* 35612C E004624C 3C014000 */ lui $at, 0x4000 +/* 356130 E0046250 44811000 */ mtc1 $at, $f2 +/* 356134 E0046254 240200FF */ addiu $v0, $zero, 0xff +/* 356138 E0046258 ACA20014 */ sw $v0, 0x14($a1) +/* 35613C E004625C 8CA2001C */ lw $v0, 0x1c($a1) +/* 356140 E0046260 46020000 */ add.s $f0, $f0, $f2 +/* 356144 E0046264 24420001 */ addiu $v0, $v0, 1 +/* 356148 E0046268 ACA2001C */ sw $v0, 0x1c($a1) +/* 35614C E004626C E4A00008 */ swc1 $f0, 8($a1) +.LE0046270: +/* 356150 E0046270 8FBF0010 */ lw $ra, 0x10($sp) +/* 356154 E0046274 03E00008 */ jr $ra +/* 356158 E0046278 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_355EE0/func_E004627C.s b/asm/nonmatchings/code_355EE0/func_E004627C.s new file mode 100644 index 0000000000..bb4ea5fe13 --- /dev/null +++ b/asm/nonmatchings/code_355EE0/func_E004627C.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004627C +/* 35615C E004627C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 356160 E0046280 3C02E004 */ lui $v0, 0xe004 +/* 356164 E0046284 244262C0 */ addiu $v0, $v0, 0x62c0 +/* 356168 E0046288 AFA2001C */ sw $v0, 0x1c($sp) +/* 35616C E004628C 2402002D */ addiu $v0, $zero, 0x2d +/* 356170 E0046290 AFA40018 */ sw $a0, 0x18($sp) +/* 356174 E0046294 27A40010 */ addiu $a0, $sp, 0x10 +/* 356178 E0046298 AFBF0020 */ sw $ra, 0x20($sp) +/* 35617C E004629C AFA00014 */ sw $zero, 0x14($sp) +/* 356180 E00462A0 0C080120 */ jal func_E0200480 +/* 356184 E00462A4 AFA20010 */ sw $v0, 0x10($sp) +/* 356188 E00462A8 8C430000 */ lw $v1, ($v0) +/* 35618C E00462AC 34630002 */ ori $v1, $v1, 2 +/* 356190 E00462B0 AC430000 */ sw $v1, ($v0) +/* 356194 E00462B4 8FBF0020 */ lw $ra, 0x20($sp) +/* 356198 E00462B8 03E00008 */ jr $ra +/* 35619C E00462BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_355EE0/func_E00462C0.s b/asm/nonmatchings/code_355EE0/func_E00462C0.s new file mode 100644 index 0000000000..f079f8fcc8 --- /dev/null +++ b/asm/nonmatchings/code_355EE0/func_E00462C0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00462C0 +/* 3561A0 E00462C0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 3561A4 E00462C4 3C05DB06 */ lui $a1, 0xdb06 +/* 3561A8 E00462C8 3C09800A */ lui $t1, 0x800a +/* 3561AC E00462CC 2529A66C */ addiu $t1, $t1, -0x5994 +/* 3561B0 E00462D0 34A50024 */ ori $a1, $a1, 0x24 +/* 3561B4 E00462D4 3C02E700 */ lui $v0, 0xe700 +/* 3561B8 E00462D8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 3561BC E00462DC AFB400B0 */ sw $s4, 0xb0($sp) +/* 3561C0 E00462E0 AFB300AC */ sw $s3, 0xac($sp) +/* 3561C4 E00462E4 AFB200A8 */ sw $s2, 0xa8($sp) +/* 3561C8 E00462E8 AFB100A4 */ sw $s1, 0xa4($sp) +/* 3561CC E00462EC AFB000A0 */ sw $s0, 0xa0($sp) +/* 3561D0 E00462F0 8D280000 */ lw $t0, ($t1) +/* 3561D4 E00462F4 8C93000C */ lw $s3, 0xc($a0) +/* 3561D8 E00462F8 0100182D */ daddu $v1, $t0, $zero +/* 3561DC E00462FC 8E74001C */ lw $s4, 0x1c($s3) +/* 3561E0 E0046300 25080008 */ addiu $t0, $t0, 8 +/* 3561E4 E0046304 AC620000 */ sw $v0, ($v1) +/* 3561E8 E0046308 AC600004 */ sw $zero, 4($v1) +/* 3561EC E004630C AD050000 */ sw $a1, ($t0) +/* 3561F0 E0046310 8C820010 */ lw $v0, 0x10($a0) +/* 3561F4 E0046314 AD280000 */ sw $t0, ($t1) +/* 3561F8 E0046318 8C42001C */ lw $v0, 0x1c($v0) +/* 3561FC E004631C 3C038000 */ lui $v1, 0x8000 +/* 356200 E0046320 00431021 */ addu $v0, $v0, $v1 +/* 356204 E0046324 AD020004 */ sw $v0, 4($t0) +/* 356208 E0046328 C6620008 */ lwc1 $f2, 8($s3) +/* 35620C E004632C C6600024 */ lwc1 $f0, 0x24($s3) +/* 356210 E0046330 25020008 */ addiu $v0, $t0, 8 +/* 356214 E0046334 4602003E */ c.le.s $f0, $f2 +/* 356218 E0046338 00000000 */ nop +/* 35621C E004633C 45000032 */ bc1f .LE0046408 +/* 356220 E0046340 AD220000 */ sw $v0, ($t1) +/* 356224 E0046344 3C047F7F */ lui $a0, 0x7f7f +/* 356228 E0046348 25020010 */ addiu $v0, $t0, 0x10 +/* 35622C E004634C AD220000 */ sw $v0, ($t1) +/* 356230 E0046350 3C02DE00 */ lui $v0, 0xde00 +/* 356234 E0046354 AD020008 */ sw $v0, 8($t0) +/* 356238 E0046358 25020018 */ addiu $v0, $t0, 0x18 +/* 35623C E004635C AD220000 */ sw $v0, ($t1) +/* 356240 E0046360 3C02FA00 */ lui $v0, 0xfa00 +/* 356244 E0046364 3C03E004 */ lui $v1, 0xe004 +/* 356248 E0046368 8C636614 */ lw $v1, 0x6614($v1) +/* 35624C E004636C 34847F00 */ ori $a0, $a0, 0x7f00 +/* 356250 E0046370 AD020010 */ sw $v0, 0x10($t0) +/* 356254 E0046374 AD03000C */ sw $v1, 0xc($t0) +/* 356258 E0046378 92620017 */ lbu $v0, 0x17($s3) +/* 35625C E004637C 3C05F200 */ lui $a1, 0xf200 +/* 356260 E0046380 00441025 */ or $v0, $v0, $a0 +/* 356264 E0046384 AD020014 */ sw $v0, 0x14($t0) +/* 356268 E0046388 8E630020 */ lw $v1, 0x20($s3) +/* 35626C E004638C 27A40020 */ addiu $a0, $sp, 0x20 +/* 356270 E0046390 00031080 */ sll $v0, $v1, 2 +/* 356274 E0046394 30420FFF */ andi $v0, $v0, 0xfff +/* 356278 E0046398 00451025 */ or $v0, $v0, $a1 +/* 35627C E004639C 3C050008 */ lui $a1, 8 +/* 356280 E00463A0 24630020 */ addiu $v1, $v1, 0x20 +/* 356284 E00463A4 00031880 */ sll $v1, $v1, 2 +/* 356288 E00463A8 30630FFF */ andi $v1, $v1, 0xfff +/* 35628C E00463AC AD020018 */ sw $v0, 0x18($t0) +/* 356290 E00463B0 3C020100 */ lui $v0, 0x100 +/* 356294 E00463B4 00621825 */ or $v1, $v1, $v0 +/* 356298 E00463B8 00651825 */ or $v1, $v1, $a1 +/* 35629C E00463BC AD03001C */ sw $v1, 0x1c($t0) +/* 3562A0 E00463C0 8E650004 */ lw $a1, 4($s3) +/* 3562A4 E00463C4 8E660008 */ lw $a2, 8($s3) +/* 3562A8 E00463C8 8E67000C */ lw $a3, 0xc($s3) +/* 3562AC E00463CC 25020020 */ addiu $v0, $t0, 0x20 +/* 3562B0 E00463D0 0C080108 */ jal func_E0200420 +/* 3562B4 E00463D4 AD220000 */ sw $v0, ($t1) +/* 3562B8 E00463D8 27B00060 */ addiu $s0, $sp, 0x60 +/* 3562BC E00463DC 0200202D */ daddu $a0, $s0, $zero +/* 3562C0 E00463E0 8E650010 */ lw $a1, 0x10($s3) +/* 3562C4 E00463E4 3C063F80 */ lui $a2, 0x3f80 +/* 3562C8 E00463E8 0C080110 */ jal func_E0200440 +/* 3562CC E00463EC 00A0382D */ daddu $a3, $a1, $zero +/* 3562D0 E00463F0 0200202D */ daddu $a0, $s0, $zero +/* 3562D4 E00463F4 27A50020 */ addiu $a1, $sp, 0x20 +/* 3562D8 E00463F8 0C080114 */ jal func_E0200450 +/* 3562DC E00463FC 00A0302D */ daddu $a2, $a1, $zero +/* 3562E0 E0046400 08011936 */ j .LE00464D8 +/* 3562E4 E0046404 3C120001 */ lui $s2, 1 +.LE0046408: +/* 3562E8 E0046408 3C048080 */ lui $a0, 0x8080 +/* 3562EC E004640C 3484FF00 */ ori $a0, $a0, 0xff00 +/* 3562F0 E0046410 44800000 */ mtc1 $zero, $f0 +/* 3562F4 E0046414 25020010 */ addiu $v0, $t0, 0x10 +/* 3562F8 E0046418 AD220000 */ sw $v0, ($t1) +/* 3562FC E004641C 3C02DE00 */ lui $v0, 0xde00 +/* 356300 E0046420 AD020008 */ sw $v0, 8($t0) +/* 356304 E0046424 25020018 */ addiu $v0, $t0, 0x18 +/* 356308 E0046428 AD220000 */ sw $v0, ($t1) +/* 35630C E004642C 3C03E004 */ lui $v1, 0xe004 +/* 356310 E0046430 8C636618 */ lw $v1, 0x6618($v1) +/* 356314 E0046434 3C02FA00 */ lui $v0, 0xfa00 +/* 356318 E0046438 AD020010 */ sw $v0, 0x10($t0) +/* 35631C E004643C AD03000C */ sw $v1, 0xc($t0) +/* 356320 E0046440 92630017 */ lbu $v1, 0x17($s3) +/* 356324 E0046444 25020020 */ addiu $v0, $t0, 0x20 +/* 356328 E0046448 AD220000 */ sw $v0, ($t1) +/* 35632C E004644C 3C02FB00 */ lui $v0, 0xfb00 +/* 356330 E0046450 AD020018 */ sw $v0, 0x18($t0) +/* 356334 E0046454 2402FF00 */ addiu $v0, $zero, -0x100 +/* 356338 E0046458 44050000 */ mfc1 $a1, $f0 +/* 35633C E004645C 00621825 */ or $v1, $v1, $v0 +/* 356340 E0046460 AD030014 */ sw $v1, 0x14($t0) +/* 356344 E0046464 92620017 */ lbu $v0, 0x17($s3) +/* 356348 E0046468 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 35634C E004646C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 356350 E0046470 00441025 */ or $v0, $v0, $a0 +/* 356354 E0046474 AD02001C */ sw $v0, 0x1c($t0) +/* 356358 E0046478 00031080 */ sll $v0, $v1, 2 +/* 35635C E004647C 00431021 */ addu $v0, $v0, $v1 +/* 356360 E0046480 00021080 */ sll $v0, $v0, 2 +/* 356364 E0046484 00431023 */ subu $v0, $v0, $v1 +/* 356368 E0046488 000218C0 */ sll $v1, $v0, 3 +/* 35636C E004648C 00431021 */ addu $v0, $v0, $v1 +/* 356370 E0046490 000210C0 */ sll $v0, $v0, 3 +/* 356374 E0046494 3C01800B */ lui $at, 0x800b +/* 356378 E0046498 00220821 */ addu $at, $at, $v0 +/* 35637C E004649C C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 356380 E00464A0 C6600010 */ lwc1 $f0, 0x10($s3) +/* 356384 E00464A4 46001087 */ neg.s $f2, $f2 +/* 356388 E00464A8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 35638C E00464AC C6600004 */ lwc1 $f0, 4($s3) +/* 356390 E00464B0 44061000 */ mfc1 $a2, $f2 +/* 356394 E00464B4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 356398 E00464B8 C6600008 */ lwc1 $f0, 8($s3) +/* 35639C E00464BC 00A0382D */ daddu $a3, $a1, $zero +/* 3563A0 E00464C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3563A4 E00464C4 C660000C */ lwc1 $f0, 0xc($s3) +/* 3563A8 E00464C8 27A40020 */ addiu $a0, $sp, 0x20 +/* 3563AC E00464CC 0C080180 */ jal func_E0200600 +/* 3563B0 E00464D0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 3563B4 E00464D4 3C120001 */ lui $s2, 1 +.LE00464D8: +/* 3563B8 E00464D8 36521630 */ ori $s2, $s2, 0x1630 +/* 3563BC E00464DC 27A40020 */ addiu $a0, $sp, 0x20 +/* 3563C0 E00464E0 3C108007 */ lui $s0, 0x8007 +/* 3563C4 E00464E4 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 3563C8 E00464E8 3C11800A */ lui $s1, 0x800a +/* 3563CC E00464EC 2631A674 */ addiu $s1, $s1, -0x598c +/* 3563D0 E00464F0 96050000 */ lhu $a1, ($s0) +/* 3563D4 E00464F4 8E220000 */ lw $v0, ($s1) +/* 3563D8 E00464F8 00052980 */ sll $a1, $a1, 6 +/* 3563DC E00464FC 00B22821 */ addu $a1, $a1, $s2 +/* 3563E0 E0046500 0C080118 */ jal func_E0200460 +/* 3563E4 E0046504 00452821 */ addu $a1, $v0, $a1 +/* 3563E8 E0046508 3C07800A */ lui $a3, 0x800a +/* 3563EC E004650C 24E7A66C */ addiu $a3, $a3, -0x5994 +/* 3563F0 E0046510 8CE60000 */ lw $a2, ($a3) +/* 3563F4 E0046514 00C0282D */ daddu $a1, $a2, $zero +/* 3563F8 E0046518 24C60008 */ addiu $a2, $a2, 8 +/* 3563FC E004651C ACE60000 */ sw $a2, ($a3) +/* 356400 E0046520 96040000 */ lhu $a0, ($s0) +/* 356404 E0046524 3C02DA38 */ lui $v0, 0xda38 +/* 356408 E0046528 ACA20000 */ sw $v0, ($a1) +/* 35640C E004652C 8E230000 */ lw $v1, ($s1) +/* 356410 E0046530 3082FFFF */ andi $v0, $a0, 0xffff +/* 356414 E0046534 00021180 */ sll $v0, $v0, 6 +/* 356418 E0046538 00521021 */ addu $v0, $v0, $s2 +/* 35641C E004653C 00621821 */ addu $v1, $v1, $v0 +/* 356420 E0046540 ACA30004 */ sw $v1, 4($a1) +/* 356424 E0046544 C6620008 */ lwc1 $f2, 8($s3) +/* 356428 E0046548 C6600024 */ lwc1 $f0, 0x24($s3) +/* 35642C E004654C 24840001 */ addiu $a0, $a0, 1 +/* 356430 E0046550 4602003E */ c.le.s $f0, $f2 +/* 356434 E0046554 00000000 */ nop +/* 356438 E0046558 45000007 */ bc1f .LE0046578 +/* 35643C E004655C A6040000 */ sh $a0, ($s0) +/* 356440 E0046560 3C02DE00 */ lui $v0, 0xde00 +/* 356444 E0046564 ACC20000 */ sw $v0, ($a2) +/* 356448 E0046568 3C03E004 */ lui $v1, 0xe004 +/* 35644C E004656C 8C636600 */ lw $v1, 0x6600($v1) +/* 356450 E0046570 08011966 */ j .LE0046598 +/* 356454 E0046574 24C20008 */ addiu $v0, $a2, 8 +.LE0046578: +/* 356458 E0046578 3C02DE00 */ lui $v0, 0xde00 +/* 35645C E004657C ACC20000 */ sw $v0, ($a2) +/* 356460 E0046580 00141040 */ sll $v0, $s4, 1 +/* 356464 E0046584 3042000C */ andi $v0, $v0, 0xc +/* 356468 E0046588 3C03E004 */ lui $v1, 0xe004 +/* 35646C E004658C 00621821 */ addu $v1, $v1, $v0 +/* 356470 E0046590 8C636604 */ lw $v1, 0x6604($v1) +/* 356474 E0046594 24C20008 */ addiu $v0, $a2, 8 +.LE0046598: +/* 356478 E0046598 ACE20000 */ sw $v0, ($a3) +/* 35647C E004659C ACC30004 */ sw $v1, 4($a2) +/* 356480 E00465A0 3C03D838 */ lui $v1, 0xd838 +/* 356484 E00465A4 3C04800A */ lui $a0, 0x800a +/* 356488 E00465A8 2484A66C */ addiu $a0, $a0, -0x5994 +/* 35648C E00465AC 8C820000 */ lw $v0, ($a0) +/* 356490 E00465B0 34630002 */ ori $v1, $v1, 2 +/* 356494 E00465B4 0040282D */ daddu $a1, $v0, $zero +/* 356498 E00465B8 24420008 */ addiu $v0, $v0, 8 +/* 35649C E00465BC AC820000 */ sw $v0, ($a0) +/* 3564A0 E00465C0 ACA30000 */ sw $v1, ($a1) +/* 3564A4 E00465C4 24030040 */ addiu $v1, $zero, 0x40 +/* 3564A8 E00465C8 ACA30004 */ sw $v1, 4($a1) +/* 3564AC E00465CC 24430008 */ addiu $v1, $v0, 8 +/* 3564B0 E00465D0 AC830000 */ sw $v1, ($a0) +/* 3564B4 E00465D4 3C03E700 */ lui $v1, 0xe700 +/* 3564B8 E00465D8 AC430000 */ sw $v1, ($v0) +/* 3564BC E00465DC AC400004 */ sw $zero, 4($v0) +/* 3564C0 E00465E0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 3564C4 E00465E4 8FB400B0 */ lw $s4, 0xb0($sp) +/* 3564C8 E00465E8 8FB300AC */ lw $s3, 0xac($sp) +/* 3564CC E00465EC 8FB200A8 */ lw $s2, 0xa8($sp) +/* 3564D0 E00465F0 8FB100A4 */ lw $s1, 0xa4($sp) +/* 3564D4 E00465F4 8FB000A0 */ lw $s0, 0xa0($sp) +/* 3564D8 E00465F8 03E00008 */ jr $ra +/* 3564DC E00465FC 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_356980/func_E0048000.s b/asm/nonmatchings/code_356980/func_E0048000.s new file mode 100644 index 0000000000..e98935a23e --- /dev/null +++ b/asm/nonmatchings/code_356980/func_E0048000.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0048000 +/* 356980 E0048000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 356984 E0048004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 356988 E0048008 4485A000 */ mtc1 $a1, $f20 +/* 35698C E004800C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 356990 E0048010 4486B000 */ mtc1 $a2, $f22 +/* 356994 E0048014 AFB30034 */ sw $s3, 0x34($sp) +/* 356998 E0048018 0080982D */ daddu $s3, $a0, $zero +/* 35699C E004801C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3569A0 E0048020 4487C000 */ mtc1 $a3, $f24 +/* 3569A4 E0048024 27A40010 */ addiu $a0, $sp, 0x10 +/* 3569A8 E0048028 AFB20030 */ sw $s2, 0x30($sp) +/* 3569AC E004802C 8FB2006C */ lw $s2, 0x6c($sp) +/* 3569B0 E0048030 3C02E005 */ lui $v0, 0xe005 +/* 3569B4 E0048034 24428128 */ addiu $v0, $v0, -0x7ed8 +/* 3569B8 E0048038 AFA20018 */ sw $v0, 0x18($sp) +/* 3569BC E004803C 3C02E005 */ lui $v0, 0xe005 +/* 3569C0 E0048040 24428130 */ addiu $v0, $v0, -0x7ed0 +/* 3569C4 E0048044 AFA2001C */ sw $v0, 0x1c($sp) +/* 3569C8 E0048048 3C02E005 */ lui $v0, 0xe005 +/* 3569CC E004804C 244281D4 */ addiu $v0, $v0, -0x7e2c +/* 3569D0 E0048050 AFA20020 */ sw $v0, 0x20($sp) +/* 3569D4 E0048054 24020024 */ addiu $v0, $zero, 0x24 +/* 3569D8 E0048058 AFBF0038 */ sw $ra, 0x38($sp) +/* 3569DC E004805C AFB1002C */ sw $s1, 0x2c($sp) +/* 3569E0 E0048060 AFB00028 */ sw $s0, 0x28($sp) +/* 3569E4 E0048064 AFA00010 */ sw $zero, 0x10($sp) +/* 3569E8 E0048068 AFA00024 */ sw $zero, 0x24($sp) +/* 3569EC E004806C 0C080124 */ jal func_E0200490 +/* 3569F0 E0048070 AFA20014 */ sw $v0, 0x14($sp) +/* 3569F4 E0048074 2404002C */ addiu $a0, $zero, 0x2c +/* 3569F8 E0048078 24110001 */ addiu $s1, $zero, 1 +/* 3569FC E004807C 0040802D */ daddu $s0, $v0, $zero +/* 356A00 E0048080 0C08012C */ jal func_E02004B0 +/* 356A04 E0048084 AE110008 */ sw $s1, 8($s0) +/* 356A08 E0048088 AE02000C */ sw $v0, 0xc($s0) +/* 356A0C E004808C 0040802D */ daddu $s0, $v0, $zero +/* 356A10 E0048090 16000003 */ bnez $s0, .LE00480A0 +/* 356A14 E0048094 0200202D */ daddu $a0, $s0, $zero +.LE0048098: +/* 356A18 E0048098 08012026 */ j .LE0048098 +/* 356A1C E004809C 00000000 */ nop +.LE00480A0: +/* 356A20 E00480A0 00112840 */ sll $a1, $s1, 1 +/* 356A24 E00480A4 00B12821 */ addu $a1, $a1, $s1 +/* 356A28 E00480A8 00052880 */ sll $a1, $a1, 2 +/* 356A2C E00480AC 00B12823 */ subu $a1, $a1, $s1 +/* 356A30 E00480B0 0C080130 */ jal func_E02004C0 +/* 356A34 E00480B4 00052880 */ sll $a1, $a1, 2 +/* 356A38 E00480B8 AE120014 */ sw $s2, 0x14($s0) +/* 356A3C E00480BC AE000018 */ sw $zero, 0x18($s0) +/* 356A40 E00480C0 AE12001C */ sw $s2, 0x1c($s0) +/* 356A44 E00480C4 AE000020 */ sw $zero, 0x20($s0) +/* 356A48 E00480C8 A6130000 */ sh $s3, ($s0) +/* 356A4C E00480CC E6140004 */ swc1 $f20, 4($s0) +/* 356A50 E00480D0 E6160008 */ swc1 $f22, 8($s0) +/* 356A54 E00480D4 E618000C */ swc1 $f24, 0xc($s0) +/* 356A58 E00480D8 C7A00068 */ lwc1 $f0, 0x68($sp) +/* 356A5C E00480DC AE000024 */ sw $zero, 0x24($s0) +/* 356A60 E00480E0 16600003 */ bnez $s3, .LE00480F0 +/* 356A64 E00480E4 E6000010 */ swc1 $f0, 0x10($s0) +/* 356A68 E00480E8 08012040 */ j .LE0048100 +/* 356A6C E00480EC AE000028 */ sw $zero, 0x28($s0) +.LE00480F0: +/* 356A70 E00480F0 3C014220 */ lui $at, 0x4220 +/* 356A74 E00480F4 44810000 */ mtc1 $at, $f0 +/* 356A78 E00480F8 00000000 */ nop +/* 356A7C E00480FC E6000028 */ swc1 $f0, 0x28($s0) +.LE0048100: +/* 356A80 E0048100 8FBF0038 */ lw $ra, 0x38($sp) +/* 356A84 E0048104 8FB30034 */ lw $s3, 0x34($sp) +/* 356A88 E0048108 8FB20030 */ lw $s2, 0x30($sp) +/* 356A8C E004810C 8FB1002C */ lw $s1, 0x2c($sp) +/* 356A90 E0048110 8FB00028 */ lw $s0, 0x28($sp) +/* 356A94 E0048114 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 356A98 E0048118 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 356A9C E004811C D7B40040 */ ldc1 $f20, 0x40($sp) +/* 356AA0 E0048120 03E00008 */ jr $ra +/* 356AA4 E0048124 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_356980/func_E0048128.s b/asm/nonmatchings/code_356980/func_E0048128.s new file mode 100644 index 0000000000..43705d75ad --- /dev/null +++ b/asm/nonmatchings/code_356980/func_E0048128.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0048128 +/* 356AA8 E0048128 03E00008 */ jr $ra +/* 356AAC E004812C 00000000 */ nop diff --git a/asm/nonmatchings/code_356980/func_E0048130.s b/asm/nonmatchings/code_356980/func_E0048130.s new file mode 100644 index 0000000000..0d4cb26b7a --- /dev/null +++ b/asm/nonmatchings/code_356980/func_E0048130.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0048130 +/* 356AB0 E0048130 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 356AB4 E0048134 AFBF0010 */ sw $ra, 0x10($sp) +/* 356AB8 E0048138 8C85000C */ lw $a1, 0xc($a0) +/* 356ABC E004813C 3C014100 */ lui $at, 0x4100 +/* 356AC0 E0048140 44810000 */ mtc1 $at, $f0 +/* 356AC4 E0048144 8CA20018 */ lw $v0, 0x18($a1) +/* 356AC8 E0048148 8CA30014 */ lw $v1, 0x14($a1) +/* 356ACC E004814C 44821000 */ mtc1 $v0, $f2 +/* 356AD0 E0048150 00000000 */ nop +/* 356AD4 E0048154 468010A0 */ cvt.s.w $f2, $f2 +/* 356AD8 E0048158 24420001 */ addiu $v0, $v0, 1 +/* 356ADC E004815C 46001082 */ mul.s $f2, $f2, $f0 +/* 356AE0 E0048160 00000000 */ nop +/* 356AE4 E0048164 2463FFFF */ addiu $v1, $v1, -1 +/* 356AE8 E0048168 C4A0001C */ lwc1 $f0, 0x1c($a1) +/* 356AEC E004816C 46800020 */ cvt.s.w $f0, $f0 +/* 356AF0 E0048170 ACA20018 */ sw $v0, 0x18($a1) +/* 356AF4 E0048174 ACA30014 */ sw $v1, 0x14($a1) +/* 356AF8 E0048178 46001083 */ div.s $f2, $f2, $f0 +/* 356AFC E004817C 04610005 */ bgez $v1, .LE0048194 +/* 356B00 E0048180 E4A20020 */ swc1 $f2, 0x20($a1) +/* 356B04 E0048184 0C080128 */ jal func_E02004A0 +/* 356B08 E0048188 00000000 */ nop +/* 356B0C E004818C 08012072 */ j .LE00481C8 +/* 356B10 E0048190 00000000 */ nop +.LE0048194: +/* 356B14 E0048194 C4A00024 */ lwc1 $f0, 0x24($a1) +/* 356B18 E0048198 C4A20028 */ lwc1 $f2, 0x28($a1) +/* 356B1C E004819C 46020000 */ add.s $f0, $f0, $f2 +/* 356B20 E00481A0 94A20000 */ lhu $v0, ($a1) +/* 356B24 E00481A4 14400008 */ bnez $v0, .LE00481C8 +/* 356B28 E00481A8 E4A00024 */ swc1 $f0, 0x24($a1) +/* 356B2C E00481AC C4A00010 */ lwc1 $f0, 0x10($a1) +/* 356B30 E00481B0 3C01E005 */ lui $at, 0xe005 +/* 356B34 E00481B4 D4228A10 */ ldc1 $f2, -0x75f0($at) +/* 356B38 E00481B8 46000021 */ cvt.d.s $f0, $f0 +/* 356B3C E00481BC 46220000 */ add.d $f0, $f0, $f2 +/* 356B40 E00481C0 46200020 */ cvt.s.d $f0, $f0 +/* 356B44 E00481C4 E4A00010 */ swc1 $f0, 0x10($a1) +.LE00481C8: +/* 356B48 E00481C8 8FBF0010 */ lw $ra, 0x10($sp) +/* 356B4C E00481CC 03E00008 */ jr $ra +/* 356B50 E00481D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_356980/func_E00481D4.s b/asm/nonmatchings/code_356980/func_E00481D4.s new file mode 100644 index 0000000000..c93d4e30b1 --- /dev/null +++ b/asm/nonmatchings/code_356980/func_E00481D4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00481D4 +/* 356B54 E00481D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 356B58 E00481D8 3C02E005 */ lui $v0, 0xe005 +/* 356B5C E00481DC 24428218 */ addiu $v0, $v0, -0x7de8 +/* 356B60 E00481E0 AFA2001C */ sw $v0, 0x1c($sp) +/* 356B64 E00481E4 24020028 */ addiu $v0, $zero, 0x28 +/* 356B68 E00481E8 AFA40018 */ sw $a0, 0x18($sp) +/* 356B6C E00481EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 356B70 E00481F0 AFBF0020 */ sw $ra, 0x20($sp) +/* 356B74 E00481F4 AFA00014 */ sw $zero, 0x14($sp) +/* 356B78 E00481F8 0C080120 */ jal func_E0200480 +/* 356B7C E00481FC AFA20010 */ sw $v0, 0x10($sp) +/* 356B80 E0048200 8C430000 */ lw $v1, ($v0) +/* 356B84 E0048204 34630002 */ ori $v1, $v1, 2 +/* 356B88 E0048208 AC430000 */ sw $v1, ($v0) +/* 356B8C E004820C 8FBF0020 */ lw $ra, 0x20($sp) +/* 356B90 E0048210 03E00008 */ jr $ra +/* 356B94 E0048214 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_356980/func_E0048218.s b/asm/nonmatchings/code_356980/func_E0048218.s new file mode 100644 index 0000000000..772eb3459b --- /dev/null +++ b/asm/nonmatchings/code_356980/func_E0048218.s @@ -0,0 +1,533 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0048218 +/* 356B98 E0048218 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 356B9C E004821C 0080302D */ daddu $a2, $a0, $zero +/* 356BA0 E0048220 3C07DB06 */ lui $a3, 0xdb06 +/* 356BA4 E0048224 34E70024 */ ori $a3, $a3, 0x24 +/* 356BA8 E0048228 27A40020 */ addiu $a0, $sp, 0x20 +/* 356BAC E004822C AFB500BC */ sw $s5, 0xbc($sp) +/* 356BB0 E0048230 3C15800A */ lui $s5, 0x800a +/* 356BB4 E0048234 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 356BB8 E0048238 AFB300B4 */ sw $s3, 0xb4($sp) +/* 356BBC E004823C 3C130001 */ lui $s3, 1 +/* 356BC0 E0048240 36731630 */ ori $s3, $s3, 0x1630 +/* 356BC4 E0048244 AFBF00CC */ sw $ra, 0xcc($sp) +/* 356BC8 E0048248 AFBE00C8 */ sw $fp, 0xc8($sp) +/* 356BCC E004824C AFB700C4 */ sw $s7, 0xc4($sp) +/* 356BD0 E0048250 AFB600C0 */ sw $s6, 0xc0($sp) +/* 356BD4 E0048254 AFB400B8 */ sw $s4, 0xb8($sp) +/* 356BD8 E0048258 AFB200B0 */ sw $s2, 0xb0($sp) +/* 356BDC E004825C AFB100AC */ sw $s1, 0xac($sp) +/* 356BE0 E0048260 AFB000A8 */ sw $s0, 0xa8($sp) +/* 356BE4 E0048264 F7B600D8 */ sdc1 $f22, 0xd8($sp) +/* 356BE8 E0048268 F7B400D0 */ sdc1 $f20, 0xd0($sp) +/* 356BEC E004826C 8EA80000 */ lw $t0, ($s5) +/* 356BF0 E0048270 8CD4000C */ lw $s4, 0xc($a2) +/* 356BF4 E0048274 4480A000 */ mtc1 $zero, $f20 +/* 356BF8 E0048278 3C014380 */ lui $at, 0x4380 +/* 356BFC E004827C 44812000 */ mtc1 $at, $f4 +/* 356C00 E0048280 3C013F80 */ lui $at, 0x3f80 +/* 356C04 E0048284 4481B000 */ mtc1 $at, $f22 +/* 356C08 E0048288 0100182D */ daddu $v1, $t0, $zero +/* 356C0C E004828C 96920000 */ lhu $s2, ($s4) +/* 356C10 E0048290 4405A000 */ mfc1 $a1, $f20 +/* 356C14 E0048294 C6860020 */ lwc1 $f6, 0x20($s4) +/* 356C18 E0048298 00121080 */ sll $v0, $s2, 2 +/* 356C1C E004829C 3C0AE005 */ lui $t2, 0xe005 +/* 356C20 E00482A0 01425021 */ addu $t2, $t2, $v0 +/* 356C24 E00482A4 8D4A8A00 */ lw $t2, -0x7600($t2) +/* 356C28 E00482A8 25080008 */ addiu $t0, $t0, 8 +/* 356C2C E00482AC AFAA00A0 */ sw $t2, 0xa0($sp) +/* 356C30 E00482B0 3C09E005 */ lui $t1, 0xe005 +/* 356C34 E00482B4 01224821 */ addu $t1, $t1, $v0 +/* 356C38 E00482B8 8D298A08 */ lw $t1, -0x75f8($t1) +/* 356C3C E00482BC 3C02E700 */ lui $v0, 0xe700 +/* 356C40 E00482C0 4600328D */ trunc.w.s $f10, $f6 +/* 356C44 E00482C4 44165000 */ mfc1 $s6, $f10 +/* 356C48 E00482C8 00000000 */ nop +/* 356C4C E00482CC 44961000 */ mtc1 $s6, $f2 +/* 356C50 E00482D0 00000000 */ nop +/* 356C54 E00482D4 468010A0 */ cvt.s.w $f2, $f2 +/* 356C58 E00482D8 46023181 */ sub.s $f6, $f6, $f2 +/* 356C5C E00482DC AC620000 */ sw $v0, ($v1) +/* 356C60 E00482E0 AC600004 */ sw $zero, 4($v1) +/* 356C64 E00482E4 AD070000 */ sw $a3, ($t0) +/* 356C68 E00482E8 8CC20010 */ lw $v0, 0x10($a2) +/* 356C6C E00482EC 4407A000 */ mfc1 $a3, $f20 +/* 356C70 E00482F0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 356C74 E00482F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 356C78 E00482F8 8C46001C */ lw $a2, 0x1c($v0) +/* 356C7C E00482FC 3C02DE00 */ lui $v0, 0xde00 +/* 356C80 E0048300 AD020008 */ sw $v0, 8($t0) +/* 356C84 E0048304 3C028000 */ lui $v0, 0x8000 +/* 356C88 E0048308 AD09000C */ sw $t1, 0xc($t0) +/* 356C8C E004830C 00C23021 */ addu $a2, $a2, $v0 +/* 356C90 E0048310 00031080 */ sll $v0, $v1, 2 +/* 356C94 E0048314 00431021 */ addu $v0, $v0, $v1 +/* 356C98 E0048318 00021080 */ sll $v0, $v0, 2 +/* 356C9C E004831C 00431023 */ subu $v0, $v0, $v1 +/* 356CA0 E0048320 000218C0 */ sll $v1, $v0, 3 +/* 356CA4 E0048324 00431021 */ addu $v0, $v0, $v1 +/* 356CA8 E0048328 000210C0 */ sll $v0, $v0, 3 +/* 356CAC E004832C AD060004 */ sw $a2, 4($t0) +/* 356CB0 E0048330 3C01800B */ lui $at, 0x800b +/* 356CB4 E0048334 00220821 */ addu $at, $at, $v0 +/* 356CB8 E0048338 C4281DEC */ lwc1 $f8, 0x1dec($at) +/* 356CBC E004833C C6800010 */ lwc1 $f0, 0x10($s4) +/* 356CC0 E0048340 25020008 */ addiu $v0, $t0, 8 +/* 356CC4 E0048344 AEA80000 */ sw $t0, ($s5) +/* 356CC8 E0048348 25080010 */ addiu $t0, $t0, 0x10 +/* 356CCC E004834C 46004207 */ neg.s $f8, $f8 +/* 356CD0 E0048350 E7A00010 */ swc1 $f0, 0x10($sp) +/* 356CD4 E0048354 C6800004 */ lwc1 $f0, 4($s4) +/* 356CD8 E0048358 44064000 */ mfc1 $a2, $f8 +/* 356CDC E004835C 46043182 */ mul.s $f6, $f6, $f4 +/* 356CE0 E0048360 00000000 */ nop +/* 356CE4 E0048364 AEA20000 */ sw $v0, ($s5) +/* 356CE8 E0048368 3AC20007 */ xori $v0, $s6, 7 +/* 356CEC E004836C E7A00014 */ swc1 $f0, 0x14($sp) +/* 356CF0 E0048370 C6800008 */ lwc1 $f0, 8($s4) +/* 356CF4 E0048374 2C5E0001 */ sltiu $fp, $v0, 1 +/* 356CF8 E0048378 AEA80000 */ sw $t0, ($s5) +/* 356CFC E004837C E7A00018 */ swc1 $f0, 0x18($sp) +/* 356D00 E0048380 C680000C */ lwc1 $f0, 0xc($s4) +/* 356D04 E0048384 4600328D */ trunc.w.s $f10, $f6 +/* 356D08 E0048388 44175000 */ mfc1 $s7, $f10 +/* 356D0C E004838C 0C080180 */ jal func_E0200600 +/* 356D10 E0048390 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 356D14 E0048394 27B00060 */ addiu $s0, $sp, 0x60 +/* 356D18 E0048398 E7B60010 */ swc1 $f22, 0x10($sp) +/* 356D1C E004839C 8E850024 */ lw $a1, 0x24($s4) +/* 356D20 E00483A0 4406A000 */ mfc1 $a2, $f20 +/* 356D24 E00483A4 4407A000 */ mfc1 $a3, $f20 +/* 356D28 E00483A8 0C080104 */ jal func_E0200410 +/* 356D2C E00483AC 0200202D */ daddu $a0, $s0, $zero +/* 356D30 E00483B0 0200202D */ daddu $a0, $s0, $zero +/* 356D34 E00483B4 27A50020 */ addiu $a1, $sp, 0x20 +/* 356D38 E00483B8 0C080114 */ jal func_E0200450 +/* 356D3C E00483BC 00A0302D */ daddu $a2, $a1, $zero +/* 356D40 E00483C0 27A40020 */ addiu $a0, $sp, 0x20 +/* 356D44 E00483C4 3C108007 */ lui $s0, 0x8007 +/* 356D48 E00483C8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 356D4C E00483CC 3C11800A */ lui $s1, 0x800a +/* 356D50 E00483D0 2631A674 */ addiu $s1, $s1, -0x598c +/* 356D54 E00483D4 96050000 */ lhu $a1, ($s0) +/* 356D58 E00483D8 8E220000 */ lw $v0, ($s1) +/* 356D5C E00483DC 00052980 */ sll $a1, $a1, 6 +/* 356D60 E00483E0 00B32821 */ addu $a1, $a1, $s3 +/* 356D64 E00483E4 0C080118 */ jal func_E0200460 +/* 356D68 E00483E8 00452821 */ addu $a1, $v0, $a1 +/* 356D6C E00483EC 8EA60000 */ lw $a2, ($s5) +/* 356D70 E00483F0 00C0202D */ daddu $a0, $a2, $zero +/* 356D74 E00483F4 24C60008 */ addiu $a2, $a2, 8 +/* 356D78 E00483F8 AEA60000 */ sw $a2, ($s5) +/* 356D7C E00483FC 96020000 */ lhu $v0, ($s0) +/* 356D80 E0048400 3C03DA38 */ lui $v1, 0xda38 +/* 356D84 E0048404 AC830000 */ sw $v1, ($a0) +/* 356D88 E0048408 24430001 */ addiu $v1, $v0, 1 +/* 356D8C E004840C 3042FFFF */ andi $v0, $v0, 0xffff +/* 356D90 E0048410 00021180 */ sll $v0, $v0, 6 +/* 356D94 E0048414 A6030000 */ sh $v1, ($s0) +/* 356D98 E0048418 8E230000 */ lw $v1, ($s1) +/* 356D9C E004841C 00531021 */ addu $v0, $v0, $s3 +/* 356DA0 E0048420 00621821 */ addu $v1, $v1, $v0 +/* 356DA4 E0048424 1640010F */ bnez $s2, .LE0048864 +/* 356DA8 E0048428 AC830004 */ sw $v1, 4($a0) +/* 356DAC E004842C C6800020 */ lwc1 $f0, 0x20($s4) +/* 356DB0 E0048430 3C0140A0 */ lui $at, 0x40a0 +/* 356DB4 E0048434 44811000 */ mtc1 $at, $f2 +/* 356DB8 E0048438 00000000 */ nop +/* 356DBC E004843C 4600103C */ c.lt.s $f2, $f0 +/* 356DC0 E0048440 00000000 */ nop +/* 356DC4 E0048444 45000007 */ bc1f .LE0048464 +/* 356DC8 E0048448 4600B106 */ mov.s $f4, $f22 +/* 356DCC E004844C 46020001 */ sub.s $f0, $f0, $f2 +/* 356DD0 E0048450 46002101 */ sub.s $f4, $f4, $f0 +/* 356DD4 E0048454 4614203C */ c.lt.s $f4, $f20 +/* 356DD8 E0048458 00000000 */ nop +/* 356DDC E004845C 45030001 */ bc1tl .LE0048464 +/* 356DE0 E0048460 4600A106 */ mov.s $f4, $f20 +.LE0048464: +/* 356DE4 E0048464 3C03800A */ lui $v1, 0x800a +/* 356DE8 E0048468 2463A66C */ addiu $v1, $v1, -0x5994 +/* 356DEC E004846C 8C620000 */ lw $v0, ($v1) +/* 356DF0 E0048470 3C01437F */ lui $at, 0x437f +/* 356DF4 E0048474 44810000 */ mtc1 $at, $f0 +/* 356DF8 E0048478 3C014F00 */ lui $at, 0x4f00 +/* 356DFC E004847C 44811000 */ mtc1 $at, $f2 +/* 356E00 E0048480 0040202D */ daddu $a0, $v0, $zero +/* 356E04 E0048484 24420008 */ addiu $v0, $v0, 8 +/* 356E08 E0048488 46002002 */ mul.s $f0, $f4, $f0 +/* 356E0C E004848C 00000000 */ nop +/* 356E10 E0048490 AC620000 */ sw $v0, ($v1) +/* 356E14 E0048494 3C02FA00 */ lui $v0, 0xfa00 +/* 356E18 E0048498 AC820000 */ sw $v0, ($a0) +/* 356E1C E004849C 4600103E */ c.le.s $f2, $f0 +/* 356E20 E00484A0 00000000 */ nop +/* 356E24 E00484A4 45010005 */ bc1t .LE00484BC +/* 356E28 E00484A8 24840004 */ addiu $a0, $a0, 4 +/* 356E2C E00484AC 4600028D */ trunc.w.s $f10, $f0 +/* 356E30 E00484B0 44035000 */ mfc1 $v1, $f10 +/* 356E34 E00484B4 08012135 */ j .LE00484D4 +/* 356E38 E00484B8 00000000 */ nop +.LE00484BC: +/* 356E3C E00484BC 46020001 */ sub.s $f0, $f0, $f2 +/* 356E40 E00484C0 3C028000 */ lui $v0, 0x8000 +/* 356E44 E00484C4 4600028D */ trunc.w.s $f10, $f0 +/* 356E48 E00484C8 44035000 */ mfc1 $v1, $f10 +/* 356E4C E00484CC 00000000 */ nop +/* 356E50 E00484D0 00621825 */ or $v1, $v1, $v0 +.LE00484D4: +/* 356E54 E00484D4 3C014190 */ lui $at, 0x4190 +/* 356E58 E00484D8 44810000 */ mtc1 $at, $f0 +/* 356E5C E00484DC 00000000 */ nop +/* 356E60 E00484E0 46002002 */ mul.s $f0, $f4, $f0 +/* 356E64 E00484E4 00000000 */ nop +/* 356E68 E00484E8 3C014F00 */ lui $at, 0x4f00 +/* 356E6C E00484EC 44811000 */ mtc1 $at, $f2 +/* 356E70 E00484F0 00000000 */ nop +/* 356E74 E00484F4 4600103E */ c.le.s $f2, $f0 +/* 356E78 E00484F8 00000000 */ nop +/* 356E7C E00484FC 45010005 */ bc1t .LE0048514 +/* 356E80 E0048500 00032E00 */ sll $a1, $v1, 0x18 +/* 356E84 E0048504 4600028D */ trunc.w.s $f10, $f0 +/* 356E88 E0048508 44035000 */ mfc1 $v1, $f10 +/* 356E8C E004850C 0801214B */ j .LE004852C +/* 356E90 E0048510 00000000 */ nop +.LE0048514: +/* 356E94 E0048514 46020001 */ sub.s $f0, $f0, $f2 +/* 356E98 E0048518 3C028000 */ lui $v0, 0x8000 +/* 356E9C E004851C 4600028D */ trunc.w.s $f10, $f0 +/* 356EA0 E0048520 44035000 */ mfc1 $v1, $f10 +/* 356EA4 E0048524 00000000 */ nop +/* 356EA8 E0048528 00621825 */ or $v1, $v1, $v0 +.LE004852C: +/* 356EAC E004852C 3C01426C */ lui $at, 0x426c +/* 356EB0 E0048530 44810000 */ mtc1 $at, $f0 +/* 356EB4 E0048534 00000000 */ nop +/* 356EB8 E0048538 46002002 */ mul.s $f0, $f4, $f0 +/* 356EBC E004853C 00000000 */ nop +/* 356EC0 E0048540 306200FF */ andi $v0, $v1, 0xff +/* 356EC4 E0048544 00021400 */ sll $v0, $v0, 0x10 +/* 356EC8 E0048548 3C014F00 */ lui $at, 0x4f00 +/* 356ECC E004854C 44811000 */ mtc1 $at, $f2 +/* 356ED0 E0048550 00000000 */ nop +/* 356ED4 E0048554 4600103E */ c.le.s $f2, $f0 +/* 356ED8 E0048558 00000000 */ nop +/* 356EDC E004855C 45010005 */ bc1t .LE0048574 +/* 356EE0 E0048560 00A23825 */ or $a3, $a1, $v0 +/* 356EE4 E0048564 4600028D */ trunc.w.s $f10, $f0 +/* 356EE8 E0048568 44065000 */ mfc1 $a2, $f10 +/* 356EEC E004856C 08012163 */ j .LE004858C +/* 356EF0 E0048570 00000000 */ nop +.LE0048574: +/* 356EF4 E0048574 46020001 */ sub.s $f0, $f0, $f2 +/* 356EF8 E0048578 3C028000 */ lui $v0, 0x8000 +/* 356EFC E004857C 4600028D */ trunc.w.s $f10, $f0 +/* 356F00 E0048580 44065000 */ mfc1 $a2, $f10 +/* 356F04 E0048584 00000000 */ nop +/* 356F08 E0048588 00C23025 */ or $a2, $a2, $v0 +.LE004858C: +/* 356F0C E004858C 3C05800A */ lui $a1, 0x800a +/* 356F10 E0048590 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 356F14 E0048594 30C200FF */ andi $v0, $a2, 0xff +/* 356F18 E0048598 00021200 */ sll $v0, $v0, 8 +/* 356F1C E004859C 8CA30000 */ lw $v1, ($a1) +/* 356F20 E00485A0 00E21025 */ or $v0, $a3, $v0 +/* 356F24 E00485A4 AC820000 */ sw $v0, ($a0) +/* 356F28 E00485A8 3C02FB00 */ lui $v0, 0xfb00 +/* 356F2C E00485AC 3C01437F */ lui $at, 0x437f +/* 356F30 E00485B0 44810000 */ mtc1 $at, $f0 +/* 356F34 E00485B4 3C014F00 */ lui $at, 0x4f00 +/* 356F38 E00485B8 44811000 */ mtc1 $at, $f2 +/* 356F3C E00485BC 0060202D */ daddu $a0, $v1, $zero +/* 356F40 E00485C0 46002002 */ mul.s $f0, $f4, $f0 +/* 356F44 E00485C4 00000000 */ nop +/* 356F48 E00485C8 24630008 */ addiu $v1, $v1, 8 +/* 356F4C E00485CC 24870004 */ addiu $a3, $a0, 4 +/* 356F50 E00485D0 ACA30000 */ sw $v1, ($a1) +/* 356F54 E00485D4 4600103E */ c.le.s $f2, $f0 +/* 356F58 E00485D8 00000000 */ nop +/* 356F5C E00485DC 45010005 */ bc1t .LE00485F4 +/* 356F60 E00485E0 AC820000 */ sw $v0, ($a0) +/* 356F64 E00485E4 4600028D */ trunc.w.s $f10, $f0 +/* 356F68 E00485E8 44035000 */ mfc1 $v1, $f10 +/* 356F6C E00485EC 08012183 */ j .LE004860C +/* 356F70 E00485F0 00000000 */ nop +.LE00485F4: +/* 356F74 E00485F4 46020001 */ sub.s $f0, $f0, $f2 +/* 356F78 E00485F8 3C028000 */ lui $v0, 0x8000 +/* 356F7C E00485FC 4600028D */ trunc.w.s $f10, $f0 +/* 356F80 E0048600 44035000 */ mfc1 $v1, $f10 +/* 356F84 E0048604 00000000 */ nop +/* 356F88 E0048608 00621825 */ or $v1, $v1, $v0 +.LE004860C: +/* 356F8C E004860C 3C014254 */ lui $at, 0x4254 +/* 356F90 E0048610 44810000 */ mtc1 $at, $f0 +/* 356F94 E0048614 00000000 */ nop +/* 356F98 E0048618 46002002 */ mul.s $f0, $f4, $f0 +/* 356F9C E004861C 00000000 */ nop +/* 356FA0 E0048620 3C014F00 */ lui $at, 0x4f00 +/* 356FA4 E0048624 44811000 */ mtc1 $at, $f2 +/* 356FA8 E0048628 00000000 */ nop +/* 356FAC E004862C 4600103E */ c.le.s $f2, $f0 +/* 356FB0 E0048630 00000000 */ nop +/* 356FB4 E0048634 45010005 */ bc1t .LE004864C +/* 356FB8 E0048638 00032600 */ sll $a0, $v1, 0x18 +/* 356FBC E004863C 4600028D */ trunc.w.s $f10, $f0 +/* 356FC0 E0048640 44035000 */ mfc1 $v1, $f10 +/* 356FC4 E0048644 08012199 */ j .LE0048664 +/* 356FC8 E0048648 00000000 */ nop +.LE004864C: +/* 356FCC E004864C 46020001 */ sub.s $f0, $f0, $f2 +/* 356FD0 E0048650 3C028000 */ lui $v0, 0x8000 +/* 356FD4 E0048654 4600028D */ trunc.w.s $f10, $f0 +/* 356FD8 E0048658 44035000 */ mfc1 $v1, $f10 +/* 356FDC E004865C 00000000 */ nop +/* 356FE0 E0048660 00621825 */ or $v1, $v1, $v0 +.LE0048664: +/* 356FE4 E0048664 3C0141C0 */ lui $at, 0x41c0 +/* 356FE8 E0048668 44810000 */ mtc1 $at, $f0 +/* 356FEC E004866C 00000000 */ nop +/* 356FF0 E0048670 46002002 */ mul.s $f0, $f4, $f0 +/* 356FF4 E0048674 00000000 */ nop +/* 356FF8 E0048678 306200FF */ andi $v0, $v1, 0xff +/* 356FFC E004867C 00021400 */ sll $v0, $v0, 0x10 +/* 357000 E0048680 3C014F00 */ lui $at, 0x4f00 +/* 357004 E0048684 44811000 */ mtc1 $at, $f2 +/* 357008 E0048688 00000000 */ nop +/* 35700C E004868C 4600103E */ c.le.s $f2, $f0 +/* 357010 E0048690 00000000 */ nop +/* 357014 E0048694 45010005 */ bc1t .LE00486AC +/* 357018 E0048698 00823025 */ or $a2, $a0, $v0 +/* 35701C E004869C 4600028D */ trunc.w.s $f10, $f0 +/* 357020 E00486A0 44035000 */ mfc1 $v1, $f10 +/* 357024 E00486A4 080121B1 */ j .LE00486C4 +/* 357028 E00486A8 00000000 */ nop +.LE00486AC: +/* 35702C E00486AC 46020001 */ sub.s $f0, $f0, $f2 +/* 357030 E00486B0 3C028000 */ lui $v0, 0x8000 +/* 357034 E00486B4 4600028D */ trunc.w.s $f10, $f0 +/* 357038 E00486B8 44035000 */ mfc1 $v1, $f10 +/* 35703C E00486BC 00000000 */ nop +/* 357040 E00486C0 00621825 */ or $v1, $v1, $v0 +.LE00486C4: +/* 357044 E00486C4 3C05800A */ lui $a1, 0x800a +/* 357048 E00486C8 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 35704C E00486CC 306200FF */ andi $v0, $v1, 0xff +/* 357050 E00486D0 00021200 */ sll $v0, $v0, 8 +/* 357054 E00486D4 00C21025 */ or $v0, $a2, $v0 +/* 357058 E00486D8 32E300FF */ andi $v1, $s7, 0xff +/* 35705C E00486DC 8CA40000 */ lw $a0, ($a1) +/* 357060 E00486E0 00431025 */ or $v0, $v0, $v1 +/* 357064 E00486E4 ACE20000 */ sw $v0, ($a3) +/* 357068 E00486E8 3C02EB00 */ lui $v0, 0xeb00 +/* 35706C E00486EC 3C014353 */ lui $at, 0x4353 +/* 357070 E00486F0 44810000 */ mtc1 $at, $f0 +/* 357074 E00486F4 3C014F00 */ lui $at, 0x4f00 +/* 357078 E00486F8 44811000 */ mtc1 $at, $f2 +/* 35707C E00486FC 0080182D */ daddu $v1, $a0, $zero +/* 357080 E0048700 46002002 */ mul.s $f0, $f4, $f0 +/* 357084 E0048704 00000000 */ nop +/* 357088 E0048708 24840008 */ addiu $a0, $a0, 8 +/* 35708C E004870C 24660004 */ addiu $a2, $v1, 4 +/* 357090 E0048710 ACA40000 */ sw $a0, ($a1) +/* 357094 E0048714 4600103E */ c.le.s $f2, $f0 +/* 357098 E0048718 00000000 */ nop +/* 35709C E004871C 45010005 */ bc1t .LE0048734 +/* 3570A0 E0048720 AC620000 */ sw $v0, ($v1) +/* 3570A4 E0048724 4600028D */ trunc.w.s $f10, $f0 +/* 3570A8 E0048728 44055000 */ mfc1 $a1, $f10 +/* 3570AC E004872C 080121D3 */ j .LE004874C +/* 3570B0 E0048730 00000000 */ nop +.LE0048734: +/* 3570B4 E0048734 46020001 */ sub.s $f0, $f0, $f2 +/* 3570B8 E0048738 3C028000 */ lui $v0, 0x8000 +/* 3570BC E004873C 4600028D */ trunc.w.s $f10, $f0 +/* 3570C0 E0048740 44055000 */ mfc1 $a1, $f10 +/* 3570C4 E0048744 00000000 */ nop +/* 3570C8 E0048748 00A22825 */ or $a1, $a1, $v0 +.LE004874C: +/* 3570CC E004874C 3C04800A */ lui $a0, 0x800a +/* 3570D0 E0048750 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3570D4 E0048754 30A200FF */ andi $v0, $a1, 0xff +/* 3570D8 E0048758 8C830000 */ lw $v1, ($a0) +/* 3570DC E004875C 00021200 */ sll $v0, $v0, 8 +/* 3570E0 E0048760 ACC20000 */ sw $v0, ($a2) +/* 3570E4 E0048764 3C02EA00 */ lui $v0, 0xea00 +/* 3570E8 E0048768 3C01437F */ lui $at, 0x437f +/* 3570EC E004876C 44810000 */ mtc1 $at, $f0 +/* 3570F0 E0048770 3C014F00 */ lui $at, 0x4f00 +/* 3570F4 E0048774 44811000 */ mtc1 $at, $f2 +/* 3570F8 E0048778 0060282D */ daddu $a1, $v1, $zero +/* 3570FC E004877C 46002002 */ mul.s $f0, $f4, $f0 +/* 357100 E0048780 00000000 */ nop +/* 357104 E0048784 24630008 */ addiu $v1, $v1, 8 +/* 357108 E0048788 24A90004 */ addiu $t1, $a1, 4 +/* 35710C E004878C AC830000 */ sw $v1, ($a0) +/* 357110 E0048790 4600103E */ c.le.s $f2, $f0 +/* 357114 E0048794 00000000 */ nop +/* 357118 E0048798 45010005 */ bc1t .LE00487B0 +/* 35711C E004879C ACA20000 */ sw $v0, ($a1) +/* 357120 E00487A0 4600028D */ trunc.w.s $f10, $f0 +/* 357124 E00487A4 44035000 */ mfc1 $v1, $f10 +/* 357128 E00487A8 080121F2 */ j .LE00487C8 +/* 35712C E00487AC 00000000 */ nop +.LE00487B0: +/* 357130 E00487B0 46020001 */ sub.s $f0, $f0, $f2 +/* 357134 E00487B4 3C028000 */ lui $v0, 0x8000 +/* 357138 E00487B8 4600028D */ trunc.w.s $f10, $f0 +/* 35713C E00487BC 44035000 */ mfc1 $v1, $f10 +/* 357140 E00487C0 00000000 */ nop +/* 357144 E00487C4 00621825 */ or $v1, $v1, $v0 +.LE00487C8: +/* 357148 E00487C8 3C014358 */ lui $at, 0x4358 +/* 35714C E00487CC 44810000 */ mtc1 $at, $f0 +/* 357150 E00487D0 00000000 */ nop +/* 357154 E00487D4 46002002 */ mul.s $f0, $f4, $f0 +/* 357158 E00487D8 00000000 */ nop +/* 35715C E00487DC 3C014F00 */ lui $at, 0x4f00 +/* 357160 E00487E0 44811000 */ mtc1 $at, $f2 +/* 357164 E00487E4 00000000 */ nop +/* 357168 E00487E8 4600103E */ c.le.s $f2, $f0 +/* 35716C E00487EC 00000000 */ nop +/* 357170 E00487F0 45010005 */ bc1t .LE0048808 +/* 357174 E00487F4 00034600 */ sll $t0, $v1, 0x18 +/* 357178 E00487F8 4600028D */ trunc.w.s $f10, $f0 +/* 35717C E00487FC 44075000 */ mfc1 $a3, $f10 +/* 357180 E0048800 08012209 */ j .LE0048824 +/* 357184 E0048804 3C06FC26 */ lui $a2, 0xfc26 +.LE0048808: +/* 357188 E0048808 46020001 */ sub.s $f0, $f0, $f2 +/* 35718C E004880C 3C028000 */ lui $v0, 0x8000 +/* 357190 E0048810 4600028D */ trunc.w.s $f10, $f0 +/* 357194 E0048814 44075000 */ mfc1 $a3, $f10 +/* 357198 E0048818 00000000 */ nop +/* 35719C E004881C 00E23825 */ or $a3, $a3, $v0 +/* 3571A0 E0048820 3C06FC26 */ lui $a2, 0xfc26 +.LE0048824: +/* 3571A4 E0048824 34C62A60 */ ori $a2, $a2, 0x2a60 +/* 3571A8 E0048828 3C0516FC */ lui $a1, 0x16fc +/* 3571AC E004882C 34A59378 */ ori $a1, $a1, 0x9378 +/* 3571B0 E0048830 3C04800A */ lui $a0, 0x800a +/* 3571B4 E0048834 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3571B8 E0048838 30E200FF */ andi $v0, $a3, 0xff +/* 3571BC E004883C 00021200 */ sll $v0, $v0, 8 +/* 3571C0 E0048840 8C830000 */ lw $v1, ($a0) +/* 3571C4 E0048844 01021025 */ or $v0, $t0, $v0 +/* 3571C8 E0048848 AD220000 */ sw $v0, ($t1) +/* 3571CC E004884C 0060102D */ daddu $v0, $v1, $zero +/* 3571D0 E0048850 24630008 */ addiu $v1, $v1, 8 +/* 3571D4 E0048854 AC830000 */ sw $v1, ($a0) +/* 3571D8 E0048858 AC460000 */ sw $a2, ($v0) +/* 3571DC E004885C 08012230 */ j .LE00488C0 +/* 3571E0 E0048860 AC450004 */ sw $a1, 4($v0) +.LE0048864: +/* 3571E4 E0048864 3C04FC26 */ lui $a0, 0xfc26 +/* 3571E8 E0048868 34842AC3 */ ori $a0, $a0, 0x2ac3 +/* 3571EC E004886C 3C0310FC */ lui $v1, 0x10fc +/* 3571F0 E0048870 34639238 */ ori $v1, $v1, 0x9238 +/* 3571F4 E0048874 3C05FFFF */ lui $a1, 0xffff +/* 3571F8 E0048878 34A5287F */ ori $a1, $a1, 0x287f +/* 3571FC E004887C 24C20008 */ addiu $v0, $a2, 8 +/* 357200 E0048880 AEA20000 */ sw $v0, ($s5) +/* 357204 E0048884 24C20010 */ addiu $v0, $a2, 0x10 +/* 357208 E0048888 ACC40000 */ sw $a0, ($a2) +/* 35720C E004888C ACC30004 */ sw $v1, 4($a2) +/* 357210 E0048890 AEA20000 */ sw $v0, ($s5) +/* 357214 E0048894 3C02FA00 */ lui $v0, 0xfa00 +/* 357218 E0048898 ACC20008 */ sw $v0, 8($a2) +/* 35721C E004889C 24C20018 */ addiu $v0, $a2, 0x18 +/* 357220 E00488A0 ACC5000C */ sw $a1, 0xc($a2) +/* 357224 E00488A4 AEA20000 */ sw $v0, ($s5) +/* 357228 E00488A8 3C02FB00 */ lui $v0, 0xfb00 +/* 35722C E00488AC ACC20010 */ sw $v0, 0x10($a2) +/* 357230 E00488B0 32E200FF */ andi $v0, $s7, 0xff +/* 357234 E00488B4 24038B00 */ addiu $v1, $zero, -0x7500 +/* 357238 E00488B8 00431025 */ or $v0, $v0, $v1 +/* 35723C E00488BC ACC20014 */ sw $v0, 0x14($a2) +.LE00488C0: +/* 357240 E00488C0 3C08800A */ lui $t0, 0x800a +/* 357244 E00488C4 2508A66C */ addiu $t0, $t0, -0x5994 +/* 357248 E00488C8 001611C0 */ sll $v0, $s6, 7 +/* 35724C E00488CC 30420FFF */ andi $v0, $v0, 0xfff +/* 357250 E00488D0 00021300 */ sll $v0, $v0, 0xc +/* 357254 E00488D4 3C04F200 */ lui $a0, 0xf200 +/* 357258 E00488D8 00441025 */ or $v0, $v0, $a0 +/* 35725C E00488DC 8D050000 */ lw $a1, ($t0) +/* 357260 E00488E0 00163940 */ sll $a3, $s6, 5 +/* 357264 E00488E4 00A0182D */ daddu $v1, $a1, $zero +/* 357268 E00488E8 24A50008 */ addiu $a1, $a1, 8 +/* 35726C E00488EC AD050000 */ sw $a1, ($t0) +/* 357270 E00488F0 AC620000 */ sw $v0, ($v1) +/* 357274 E00488F4 24E20020 */ addiu $v0, $a3, 0x20 +/* 357278 E00488F8 00021080 */ sll $v0, $v0, 2 +/* 35727C E00488FC 30420FFF */ andi $v0, $v0, 0xfff +/* 357280 E0048900 00023300 */ sll $a2, $v0, 0xc +/* 357284 E0048904 34C20080 */ ori $v0, $a2, 0x80 +/* 357288 E0048908 13C0000F */ beqz $fp, .LE0048948 +/* 35728C E004890C AC620004 */ sw $v0, 4($v1) +/* 357290 E0048910 0080182D */ daddu $v1, $a0, $zero +/* 357294 E0048914 34630080 */ ori $v1, $v1, 0x80 +/* 357298 E0048918 3C040100 */ lui $a0, 0x100 +/* 35729C E004891C 34840100 */ ori $a0, $a0, 0x100 +/* 3572A0 E0048920 24A20008 */ addiu $v0, $a1, 8 +/* 3572A4 E0048924 00C31825 */ or $v1, $a2, $v1 +/* 3572A8 E0048928 AD020000 */ sw $v0, ($t0) +/* 3572AC E004892C 24E20040 */ addiu $v0, $a3, 0x40 +/* 3572B0 E0048930 00021080 */ sll $v0, $v0, 2 +/* 3572B4 E0048934 30420FFF */ andi $v0, $v0, 0xfff +/* 3572B8 E0048938 00021300 */ sll $v0, $v0, 0xc +/* 3572BC E004893C 00441025 */ or $v0, $v0, $a0 +/* 3572C0 E0048940 0801225D */ j .LE0048974 +/* 3572C4 E0048944 ACA30000 */ sw $v1, ($a1) +.LE0048948: +/* 3572C8 E0048948 3C030100 */ lui $v1, 0x100 +/* 3572CC E004894C 34630080 */ ori $v1, $v1, 0x80 +/* 3572D0 E0048950 24A20008 */ addiu $v0, $a1, 8 +/* 3572D4 E0048954 AD020000 */ sw $v0, ($t0) +/* 3572D8 E0048958 00C41025 */ or $v0, $a2, $a0 +/* 3572DC E004895C ACA20000 */ sw $v0, ($a1) +/* 3572E0 E0048960 24E20040 */ addiu $v0, $a3, 0x40 +/* 3572E4 E0048964 00021080 */ sll $v0, $v0, 2 +/* 3572E8 E0048968 30420FFF */ andi $v0, $v0, 0xfff +/* 3572EC E004896C 00021300 */ sll $v0, $v0, 0xc +/* 3572F0 E0048970 00431025 */ or $v0, $v0, $v1 +.LE0048974: +/* 3572F4 E0048974 ACA20004 */ sw $v0, 4($a1) +/* 3572F8 E0048978 3C06D838 */ lui $a2, 0xd838 +/* 3572FC E004897C 3C04800A */ lui $a0, 0x800a +/* 357300 E0048980 2484A66C */ addiu $a0, $a0, -0x5994 +/* 357304 E0048984 34C60002 */ ori $a2, $a2, 2 +/* 357308 E0048988 8C820000 */ lw $v0, ($a0) +/* 35730C E004898C 3C03DE00 */ lui $v1, 0xde00 +/* 357310 E0048990 0040282D */ daddu $a1, $v0, $zero +/* 357314 E0048994 24420008 */ addiu $v0, $v0, 8 +/* 357318 E0048998 AC820000 */ sw $v0, ($a0) +/* 35731C E004899C ACA30000 */ sw $v1, ($a1) +/* 357320 E00489A0 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 357324 E00489A4 24430008 */ addiu $v1, $v0, 8 +/* 357328 E00489A8 ACAA0004 */ sw $t2, 4($a1) +/* 35732C E00489AC AC830000 */ sw $v1, ($a0) +/* 357330 E00489B0 24030040 */ addiu $v1, $zero, 0x40 +/* 357334 E00489B4 AC460000 */ sw $a2, ($v0) +/* 357338 E00489B8 AC430004 */ sw $v1, 4($v0) +/* 35733C E00489BC 8FBF00CC */ lw $ra, 0xcc($sp) +/* 357340 E00489C0 8FBE00C8 */ lw $fp, 0xc8($sp) +/* 357344 E00489C4 8FB700C4 */ lw $s7, 0xc4($sp) +/* 357348 E00489C8 8FB600C0 */ lw $s6, 0xc0($sp) +/* 35734C E00489CC 8FB500BC */ lw $s5, 0xbc($sp) +/* 357350 E00489D0 8FB400B8 */ lw $s4, 0xb8($sp) +/* 357354 E00489D4 8FB300B4 */ lw $s3, 0xb4($sp) +/* 357358 E00489D8 8FB200B0 */ lw $s2, 0xb0($sp) +/* 35735C E00489DC 8FB100AC */ lw $s1, 0xac($sp) +/* 357360 E00489E0 8FB000A8 */ lw $s0, 0xa8($sp) +/* 357364 E00489E4 D7B600D8 */ ldc1 $f22, 0xd8($sp) +/* 357368 E00489E8 D7B400D0 */ ldc1 $f20, 0xd0($sp) +/* 35736C E00489EC 03E00008 */ jr $ra +/* 357370 E00489F0 27BD00E0 */ addiu $sp, $sp, 0xe0 +/* 357374 E00489F4 00000000 */ nop +/* 357378 E00489F8 00000000 */ nop +/* 35737C E00489FC 00000000 */ nop diff --git a/asm/nonmatchings/code_3584C0/func_E004A000.s b/asm/nonmatchings/code_3584C0/func_E004A000.s new file mode 100644 index 0000000000..35e910ba85 --- /dev/null +++ b/asm/nonmatchings/code_3584C0/func_E004A000.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004A000 +/* 3584C0 E004A000 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 3584C4 E004A004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3584C8 E004A008 4485A000 */ mtc1 $a1, $f20 +/* 3584CC E004A00C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3584D0 E004A010 4486B000 */ mtc1 $a2, $f22 +/* 3584D4 E004A014 AFB20030 */ sw $s2, 0x30($sp) +/* 3584D8 E004A018 0080902D */ daddu $s2, $a0, $zero +/* 3584DC E004A01C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3584E0 E004A020 4487C000 */ mtc1 $a3, $f24 +/* 3584E4 E004A024 27A40010 */ addiu $a0, $sp, 0x10 +/* 3584E8 E004A028 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 3584EC E004A02C 4480D000 */ mtc1 $zero, $f26 +/* 3584F0 E004A030 24020001 */ addiu $v0, $zero, 1 +/* 3584F4 E004A034 AFBF0038 */ sw $ra, 0x38($sp) +/* 3584F8 E004A038 AFB30034 */ sw $s3, 0x34($sp) +/* 3584FC E004A03C AFB1002C */ sw $s1, 0x2c($sp) +/* 358500 E004A040 1242000E */ beq $s2, $v0, .LE004A07C +/* 358504 E004A044 AFB00028 */ sw $s0, 0x28($sp) +/* 358508 E004A048 2A420002 */ slti $v0, $s2, 2 +/* 35850C E004A04C 10400005 */ beqz $v0, .LE004A064 +/* 358510 E004A050 24020002 */ addiu $v0, $zero, 2 +/* 358514 E004A054 12400007 */ beqz $s2, .LE004A074 +/* 358518 E004A058 24120005 */ addiu $s2, $zero, 5 +/* 35851C E004A05C 08012823 */ j .LE004A08C +/* 358520 E004A060 24020001 */ addiu $v0, $zero, 1 +.LE004A064: +/* 358524 E004A064 12420007 */ beq $s2, $v0, .LE004A084 +/* 358528 E004A068 24120005 */ addiu $s2, $zero, 5 +/* 35852C E004A06C 08012823 */ j .LE004A08C +/* 358530 E004A070 24020001 */ addiu $v0, $zero, 1 +.LE004A074: +/* 358534 E004A074 08012822 */ j .LE004A088 +/* 358538 E004A078 24120003 */ addiu $s2, $zero, 3 +.LE004A07C: +/* 35853C E004A07C 08012822 */ j .LE004A088 +/* 358540 E004A080 24120002 */ addiu $s2, $zero, 2 +.LE004A084: +/* 358544 E004A084 24120004 */ addiu $s2, $zero, 4 +.LE004A088: +/* 358548 E004A088 24020001 */ addiu $v0, $zero, 1 +.LE004A08C: +/* 35854C E004A08C 1242000D */ beq $s2, $v0, .LE004A0C4 +/* 358550 E004A090 2A420002 */ slti $v0, $s2, 2 +/* 358554 E004A094 10400005 */ beqz $v0, .LE004A0AC +/* 358558 E004A098 24020002 */ addiu $v0, $zero, 2 +/* 35855C E004A09C 1240000B */ beqz $s2, .LE004A0CC +/* 358560 E004A0A0 24130002 */ addiu $s3, $zero, 2 +/* 358564 E004A0A4 08012835 */ j .LE004A0D4 +/* 358568 E004A0A8 26730001 */ addiu $s3, $s3, 1 +.LE004A0AC: +/* 35856C E004A0AC 12420007 */ beq $s2, $v0, .LE004A0CC +/* 358570 E004A0B0 24020005 */ addiu $v0, $zero, 5 +/* 358574 E004A0B4 12420005 */ beq $s2, $v0, .LE004A0CC +/* 358578 E004A0B8 24130002 */ addiu $s3, $zero, 2 +/* 35857C E004A0BC 08012835 */ j .LE004A0D4 +/* 358580 E004A0C0 26730001 */ addiu $s3, $s3, 1 +.LE004A0C4: +/* 358584 E004A0C4 08012834 */ j .LE004A0D0 +/* 358588 E004A0C8 24130001 */ addiu $s3, $zero, 1 +.LE004A0CC: +/* 35858C E004A0CC 24130003 */ addiu $s3, $zero, 3 +.LE004A0D0: +/* 358590 E004A0D0 26730001 */ addiu $s3, $s3, 1 +.LE004A0D4: +/* 358594 E004A0D4 3C02E005 */ lui $v0, 0xe005 +/* 358598 E004A0D8 2442A328 */ addiu $v0, $v0, -0x5cd8 +/* 35859C E004A0DC AC820008 */ sw $v0, 8($a0) +/* 3585A0 E004A0E0 3C02E005 */ lui $v0, 0xe005 +/* 3585A4 E004A0E4 2442A330 */ addiu $v0, $v0, -0x5cd0 +/* 3585A8 E004A0E8 AC82000C */ sw $v0, 0xc($a0) +/* 3585AC E004A0EC 3C02E005 */ lui $v0, 0xe005 +/* 3585B0 E004A0F0 2442A748 */ addiu $v0, $v0, -0x58b8 +/* 3585B4 E004A0F4 AC820010 */ sw $v0, 0x10($a0) +/* 3585B8 E004A0F8 24020025 */ addiu $v0, $zero, 0x25 +/* 3585BC E004A0FC AC800000 */ sw $zero, ($a0) +/* 3585C0 E004A100 AC800014 */ sw $zero, 0x14($a0) +/* 3585C4 E004A104 0C080124 */ jal func_E0200490 +/* 3585C8 E004A108 AC820004 */ sw $v0, 4($a0) +/* 3585CC E004A10C 00132040 */ sll $a0, $s3, 1 +/* 3585D0 E004A110 00932021 */ addu $a0, $a0, $s3 +/* 3585D4 E004A114 00042080 */ sll $a0, $a0, 2 +/* 3585D8 E004A118 00932023 */ subu $a0, $a0, $s3 +/* 3585DC E004A11C 000420C0 */ sll $a0, $a0, 3 +/* 3585E0 E004A120 0040802D */ daddu $s0, $v0, $zero +/* 3585E4 E004A124 0C08012C */ jal func_E02004B0 +/* 3585E8 E004A128 AE130008 */ sw $s3, 8($s0) +/* 3585EC E004A12C 0040882D */ daddu $s1, $v0, $zero +/* 3585F0 E004A130 16200003 */ bnez $s1, .LE004A140 +/* 3585F4 E004A134 AE11000C */ sw $s1, 0xc($s0) +.LE004A138: +/* 3585F8 E004A138 0801284E */ j .LE004A138 +/* 3585FC E004A13C 00000000 */ nop +.LE004A140: +/* 358600 E004A140 0220202D */ daddu $a0, $s1, $zero +/* 358604 E004A144 00132840 */ sll $a1, $s3, 1 +/* 358608 E004A148 00B32821 */ addu $a1, $a1, $s3 +/* 35860C E004A14C 00052880 */ sll $a1, $a1, 2 +/* 358610 E004A150 00B32823 */ subu $a1, $a1, $s3 +/* 358614 E004A154 0C080130 */ jal func_E02004C0 +/* 358618 E004A158 000528C0 */ sll $a1, $a1, 3 +/* 35861C E004A15C 2A420002 */ slti $v0, $s2, 2 +/* 358620 E004A160 14400002 */ bnez $v0, .LE004A16C +/* 358624 E004A164 2402001E */ addiu $v0, $zero, 0x1e +/* 358628 E004A168 2402003C */ addiu $v0, $zero, 0x3c +.LE004A16C: +/* 35862C E004A16C AE220028 */ sw $v0, 0x28($s1) +/* 358630 E004A170 240200FF */ addiu $v0, $zero, 0xff +/* 358634 E004A174 AE220038 */ sw $v0, 0x38($s1) +/* 358638 E004A178 2E420006 */ sltiu $v0, $s2, 6 +/* 35863C E004A17C AE20002C */ sw $zero, 0x2c($s1) +/* 358640 E004A180 A6320000 */ sh $s2, ($s1) +/* 358644 E004A184 E6340004 */ swc1 $f20, 4($s1) +/* 358648 E004A188 E6360008 */ swc1 $f22, 8($s1) +/* 35864C E004A18C 10400033 */ beqz $v0, .LE004A25C +/* 358650 E004A190 E638000C */ swc1 $f24, 0xc($s1) +/* 358654 E004A194 00121080 */ sll $v0, $s2, 2 +/* 358658 E004A198 3C01E005 */ lui $at, 0xe005 +/* 35865C E004A19C 00220821 */ addu $at, $at, $v0 +/* 358660 E004A1A0 8C22AE80 */ lw $v0, -0x5180($at) +/* 358664 E004A1A4 00400008 */ jr $v0 +/* 358668 E004A1A8 00000000 */ nop +/* 35866C E004A1AC 240300FF */ addiu $v1, $zero, 0xff +/* 358670 E004A1B0 2402007A */ addiu $v0, $zero, 0x7a +/* 358674 E004A1B4 A2220052 */ sb $v0, 0x52($s1) +/* 358678 E004A1B8 240200F0 */ addiu $v0, $zero, 0xf0 +/* 35867C E004A1BC A2220053 */ sb $v0, 0x53($s1) +/* 358680 E004A1C0 240200FA */ addiu $v0, $zero, 0xfa +/* 358684 E004A1C4 A2200050 */ sb $zero, 0x50($s1) +/* 358688 E004A1C8 A2230051 */ sb $v1, 0x51($s1) +/* 35868C E004A1CC 080128A4 */ j .LE004A290 +/* 358690 E004A1D0 A2230054 */ sb $v1, 0x54($s1) +/* 358694 E004A1D4 2402007D */ addiu $v0, $zero, 0x7d +/* 358698 E004A1D8 A2220050 */ sb $v0, 0x50($s1) +/* 35869C E004A1DC 24020078 */ addiu $v0, $zero, 0x78 +/* 3586A0 E004A1E0 A2220051 */ sb $v0, 0x51($s1) +/* 3586A4 E004A1E4 24020064 */ addiu $v0, $zero, 0x64 +/* 3586A8 E004A1E8 A2220052 */ sb $v0, 0x52($s1) +/* 3586AC E004A1EC 240200FF */ addiu $v0, $zero, 0xff +/* 3586B0 E004A1F0 A2220053 */ sb $v0, 0x53($s1) +/* 3586B4 E004A1F4 A2220054 */ sb $v0, 0x54($s1) +/* 3586B8 E004A1F8 080128A4 */ j .LE004A290 +/* 3586BC E004A1FC 240200F0 */ addiu $v0, $zero, 0xf0 +/* 3586C0 E004A200 240200DC */ addiu $v0, $zero, 0xdc +/* 3586C4 E004A204 A2220050 */ sb $v0, 0x50($s1) +/* 3586C8 E004A208 240200D2 */ addiu $v0, $zero, 0xd2 +/* 3586CC E004A20C A2220051 */ sb $v0, 0x51($s1) +/* 3586D0 E004A210 240200C8 */ addiu $v0, $zero, 0xc8 +/* 3586D4 E004A214 A2220052 */ sb $v0, 0x52($s1) +/* 3586D8 E004A218 240200FF */ addiu $v0, $zero, 0xff +/* 3586DC E004A21C A2220053 */ sb $v0, 0x53($s1) +/* 3586E0 E004A220 A2220054 */ sb $v0, 0x54($s1) +/* 3586E4 E004A224 080128A4 */ j .LE004A290 +/* 3586E8 E004A228 240200FA */ addiu $v0, $zero, 0xfa +/* 3586EC E004A22C 240200E1 */ addiu $v0, $zero, 0xe1 +/* 3586F0 E004A230 A2220050 */ sb $v0, 0x50($s1) +/* 3586F4 E004A234 240200CC */ addiu $v0, $zero, 0xcc +/* 3586F8 E004A238 A2220051 */ sb $v0, 0x51($s1) +/* 3586FC E004A23C 2402005D */ addiu $v0, $zero, 0x5d +/* 358700 E004A240 A2220052 */ sb $v0, 0x52($s1) +/* 358704 E004A244 240200E8 */ addiu $v0, $zero, 0xe8 +/* 358708 E004A248 A2220053 */ sb $v0, 0x53($s1) +/* 35870C E004A24C 240200E7 */ addiu $v0, $zero, 0xe7 +/* 358710 E004A250 A2220054 */ sb $v0, 0x54($s1) +/* 358714 E004A254 080128A4 */ j .LE004A290 +/* 358718 E004A258 240200AB */ addiu $v0, $zero, 0xab +.LE004A25C: +/* 35871C E004A25C 24020032 */ addiu $v0, $zero, 0x32 +/* 358720 E004A260 AE220028 */ sw $v0, 0x28($s1) +/* 358724 E004A264 240200D0 */ addiu $v0, $zero, 0xd0 +/* 358728 E004A268 A2220050 */ sb $v0, 0x50($s1) +/* 35872C E004A26C 24020088 */ addiu $v0, $zero, 0x88 +/* 358730 E004A270 A2220051 */ sb $v0, 0x51($s1) +/* 358734 E004A274 24020028 */ addiu $v0, $zero, 0x28 +/* 358738 E004A278 A2220052 */ sb $v0, 0x52($s1) +/* 35873C E004A27C 240200D8 */ addiu $v0, $zero, 0xd8 +/* 358740 E004A280 A2220053 */ sb $v0, 0x53($s1) +/* 358744 E004A284 240200A9 */ addiu $v0, $zero, 0xa9 +/* 358748 E004A288 A2220054 */ sb $v0, 0x54($s1) +/* 35874C E004A28C 24020041 */ addiu $v0, $zero, 0x41 +.LE004A290: +/* 358750 E004A290 A2220055 */ sb $v0, 0x55($s1) +/* 358754 E004A294 24030001 */ addiu $v1, $zero, 1 +/* 358758 E004A298 0073102A */ slt $v0, $v1, $s3 +/* 35875C E004A29C 10400017 */ beqz $v0, .LE004A2FC +/* 358760 E004A2A0 26310058 */ addiu $s1, $s1, 0x58 +/* 358764 E004A2A4 2A480002 */ slti $t0, $s2, 2 +/* 358768 E004A2A8 26240030 */ addiu $a0, $s1, 0x30 +/* 35876C E004A2AC 2407001E */ addiu $a3, $zero, 0x1e +/* 358770 E004A2B0 2406FFFF */ addiu $a2, $zero, -1 +/* 358774 E004A2B4 00C0282D */ daddu $a1, $a2, $zero +.LE004A2B8: +/* 358778 E004A2B8 51000004 */ beql $t0, $zero, .LE004A2CC +/* 35877C E004A2BC AC86001C */ sw $a2, 0x1c($a0) +/* 358780 E004A2C0 06420002 */ bltzl $s2, .LE004A2CC +/* 358784 E004A2C4 AC86001C */ sw $a2, 0x1c($a0) +/* 358788 E004A2C8 AC85001C */ sw $a1, 0x1c($a0) +.LE004A2CC: +/* 35878C E004A2CC 44870000 */ mtc1 $a3, $f0 +/* 358790 E004A2D0 00000000 */ nop +/* 358794 E004A2D4 46800020 */ cvt.s.w $f0, $f0 +/* 358798 E004A2D8 24E7001E */ addiu $a3, $a3, 0x1e +/* 35879C E004A2DC 24C6FFFD */ addiu $a2, $a2, -3 +/* 3587A0 E004A2E0 24A5FFFE */ addiu $a1, $a1, -2 +/* 3587A4 E004A2E4 24630001 */ addiu $v1, $v1, 1 +/* 3587A8 E004A2E8 E49A0004 */ swc1 $f26, 4($a0) +/* 3587AC E004A2EC E4800000 */ swc1 $f0, ($a0) +/* 3587B0 E004A2F0 0073102A */ slt $v0, $v1, $s3 +/* 3587B4 E004A2F4 1440FFF0 */ bnez $v0, .LE004A2B8 +/* 3587B8 E004A2F8 24840058 */ addiu $a0, $a0, 0x58 +.LE004A2FC: +/* 3587BC E004A2FC 8FBF0038 */ lw $ra, 0x38($sp) +/* 3587C0 E004A300 8FB30034 */ lw $s3, 0x34($sp) +/* 3587C4 E004A304 8FB20030 */ lw $s2, 0x30($sp) +/* 3587C8 E004A308 8FB1002C */ lw $s1, 0x2c($sp) +/* 3587CC E004A30C 8FB00028 */ lw $s0, 0x28($sp) +/* 3587D0 E004A310 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 3587D4 E004A314 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 3587D8 E004A318 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 3587DC E004A31C D7B40040 */ ldc1 $f20, 0x40($sp) +/* 3587E0 E004A320 03E00008 */ jr $ra +/* 3587E4 E004A324 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_3584C0/func_E004A328.s b/asm/nonmatchings/code_3584C0/func_E004A328.s new file mode 100644 index 0000000000..acb3d3c8a1 --- /dev/null +++ b/asm/nonmatchings/code_3584C0/func_E004A328.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004A328 +/* 3587E8 E004A328 03E00008 */ jr $ra +/* 3587EC E004A32C 00000000 */ nop diff --git a/asm/nonmatchings/code_3584C0/func_E004A330.s b/asm/nonmatchings/code_3584C0/func_E004A330.s new file mode 100644 index 0000000000..7d1b0bcfa1 --- /dev/null +++ b/asm/nonmatchings/code_3584C0/func_E004A330.s @@ -0,0 +1,283 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004A330 +/* 3587F0 E004A330 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3587F4 E004A334 AFB40020 */ sw $s4, 0x20($sp) +/* 3587F8 E004A338 0080A02D */ daddu $s4, $a0, $zero +/* 3587FC E004A33C AFBF0028 */ sw $ra, 0x28($sp) +/* 358800 E004A340 AFB50024 */ sw $s5, 0x24($sp) +/* 358804 E004A344 AFB3001C */ sw $s3, 0x1c($sp) +/* 358808 E004A348 AFB20018 */ sw $s2, 0x18($sp) +/* 35880C E004A34C AFB10014 */ sw $s1, 0x14($sp) +/* 358810 E004A350 AFB00010 */ sw $s0, 0x10($sp) +/* 358814 E004A354 F7BC0050 */ sdc1 $f28, 0x50($sp) +/* 358818 E004A358 F7BA0048 */ sdc1 $f26, 0x48($sp) +/* 35881C E004A35C F7B80040 */ sdc1 $f24, 0x40($sp) +/* 358820 E004A360 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 358824 E004A364 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 358828 E004A368 8E84000C */ lw $a0, 0xc($s4) +/* 35882C E004A36C 8C82002C */ lw $v0, 0x2c($a0) +/* 358830 E004A370 8C830028 */ lw $v1, 0x28($a0) +/* 358834 E004A374 24420001 */ addiu $v0, $v0, 1 +/* 358838 E004A378 2463FFFF */ addiu $v1, $v1, -1 +/* 35883C E004A37C AC82002C */ sw $v0, 0x2c($a0) +/* 358840 E004A380 04610005 */ bgez $v1, .LE004A398 +/* 358844 E004A384 AC830028 */ sw $v1, 0x28($a0) +/* 358848 E004A388 0C080128 */ jal func_E02004A0 +/* 35884C E004A38C 0280202D */ daddu $a0, $s4, $zero +/* 358850 E004A390 080129C4 */ j .LE004A710 +/* 358854 E004A394 00000000 */ nop +.LE004A398: +/* 358858 E004A398 94920000 */ lhu $s2, ($a0) +/* 35885C E004A39C 8C83002C */ lw $v1, 0x2c($a0) +/* 358860 E004A3A0 2A420002 */ slti $v0, $s2, 2 +/* 358864 E004A3A4 10400008 */ beqz $v0, .LE004A3C8 +/* 358868 E004A3A8 28620008 */ slti $v0, $v1, 8 +/* 35886C E004A3AC 06400006 */ bltz $s2, .LE004A3C8 +/* 358870 E004A3B0 00000000 */ nop +/* 358874 E004A3B4 1440000E */ bnez $v0, .LE004A3F0 +/* 358878 E004A3B8 00000000 */ nop +/* 35887C E004A3BC 3C01E005 */ lui $at, 0xe005 +/* 358880 E004A3C0 080128F6 */ j .LE004A3D8 +/* 358884 E004A3C4 D422AE98 */ ldc1 $f2, -0x5168($at) +.LE004A3C8: +/* 358888 E004A3C8 14400009 */ bnez $v0, .LE004A3F0 +/* 35888C E004A3CC 00000000 */ nop +/* 358890 E004A3D0 3C01E005 */ lui $at, 0xe005 +/* 358894 E004A3D4 D422AEA0 */ ldc1 $f2, -0x5160($at) +.LE004A3D8: +/* 358898 E004A3D8 C4800038 */ lwc1 $f0, 0x38($a0) +/* 35889C E004A3DC 46800021 */ cvt.d.w $f0, $f0 +/* 3588A0 E004A3E0 46220002 */ mul.d $f0, $f0, $f2 +/* 3588A4 E004A3E4 00000000 */ nop +/* 3588A8 E004A3E8 4620018D */ trunc.w.d $f6, $f0 +/* 3588AC E004A3EC E4860038 */ swc1 $f6, 0x38($a0) +.LE004A3F0: +/* 3588B0 E004A3F0 8E820008 */ lw $v0, 8($s4) +/* 3588B4 E004A3F4 24110001 */ addiu $s1, $zero, 1 +/* 3588B8 E004A3F8 0222102A */ slt $v0, $s1, $v0 +/* 3588BC E004A3FC 104000C4 */ beqz $v0, .LE004A710 +/* 3588C0 E004A400 24840058 */ addiu $a0, $a0, 0x58 +/* 3588C4 E004A404 3C03E005 */ lui $v1, 0xe005 +/* 3588C8 E004A408 2463AEB0 */ addiu $v1, $v1, -0x5150 +/* 3588CC E004A40C 00121080 */ sll $v0, $s2, 2 +/* 3588D0 E004A410 0043A821 */ addu $s5, $v0, $v1 +/* 3588D4 E004A414 2490003C */ addiu $s0, $a0, 0x3c +/* 3588D8 E004A418 24130004 */ addiu $s3, $zero, 4 +/* 3588DC E004A41C 3C013FE0 */ lui $at, 0x3fe0 +/* 3588E0 E004A420 4481A800 */ mtc1 $at, $f21 +/* 3588E4 E004A424 4480A000 */ mtc1 $zero, $f20 +/* 3588E8 E004A428 3C014200 */ lui $at, 0x4200 +/* 3588EC E004A42C 4481C000 */ mtc1 $at, $f24 +/* 3588F0 E004A430 3C014180 */ lui $at, 0x4180 +/* 3588F4 E004A434 4481B000 */ mtc1 $at, $f22 +/* 3588F8 E004A438 3C013FE8 */ lui $at, 0x3fe8 +/* 3588FC E004A43C 4481E800 */ mtc1 $at, $f29 +/* 358900 E004A440 4480E000 */ mtc1 $zero, $f28 +/* 358904 E004A444 3C01E005 */ lui $at, 0xe005 +/* 358908 E004A448 D43AAEA8 */ ldc1 $f26, -0x5158($at) +.LE004A44C: +/* 35890C E004A44C 8E020010 */ lw $v0, 0x10($s0) +/* 358910 E004A450 24420001 */ addiu $v0, $v0, 1 +/* 358914 E004A454 044000A8 */ bltz $v0, .LE004A6F8 +/* 358918 E004A458 AE020010 */ sw $v0, 0x10($s0) +/* 35891C E004A45C 14400060 */ bnez $v0, .LE004A5E0 +/* 358920 E004A460 00000000 */ nop +/* 358924 E004A464 C60CFFF8 */ lwc1 $f12, -8($s0) +/* 358928 E004A468 AE00FFC8 */ sw $zero, -0x38($s0) +/* 35892C E004A46C AE00FFCC */ sw $zero, -0x34($s0) +/* 358930 E004A470 0C080140 */ jal func_E0200500 +/* 358934 E004A474 AE00FFD0 */ sw $zero, -0x30($s0) +/* 358938 E004A478 46000007 */ neg.s $f0, $f0 +/* 35893C E004A47C 46000021 */ cvt.d.s $f0, $f0 +/* 358940 E004A480 46340002 */ mul.d $f0, $f0, $f20 +/* 358944 E004A484 00000000 */ nop +/* 358948 E004A488 C60CFFF8 */ lwc1 $f12, -8($s0) +/* 35894C E004A48C 46200020 */ cvt.s.d $f0, $f0 +/* 358950 E004A490 0C080144 */ jal func_E0200510 +/* 358954 E004A494 E600FFD4 */ swc1 $f0, -0x2c($s0) +/* 358958 E004A498 46000021 */ cvt.d.s $f0, $f0 +/* 35895C E004A49C 46340002 */ mul.d $f0, $f0, $f20 +/* 358960 E004A4A0 00000000 */ nop +/* 358964 E004A4A4 44911000 */ mtc1 $s1, $f2 +/* 358968 E004A4A8 00000000 */ nop +/* 35896C E004A4AC 468010A0 */ cvt.s.w $f2, $f2 +/* 358970 E004A4B0 460010A1 */ cvt.d.s $f2, $f2 +/* 358974 E004A4B4 3C014020 */ lui $at, 0x4020 +/* 358978 E004A4B8 44812800 */ mtc1 $at, $f5 +/* 35897C E004A4BC 44802000 */ mtc1 $zero, $f4 +/* 358980 E004A4C0 2E420006 */ sltiu $v0, $s2, 6 +/* 358984 E004A4C4 AE00FFDC */ sw $zero, -0x24($s0) +/* 358988 E004A4C8 E6180000 */ swc1 $f24, ($s0) +/* 35898C E004A4CC 46222101 */ sub.d $f4, $f4, $f2 +/* 358990 E004A4D0 E6180004 */ swc1 $f24, 4($s0) +/* 358994 E004A4D4 E618000C */ swc1 $f24, 0xc($s0) +/* 358998 E004A4D8 46202120 */ cvt.s.d $f4, $f4 +/* 35899C E004A4DC E604FFE4 */ swc1 $f4, -0x1c($s0) +/* 3589A0 E004A4E0 46200020 */ cvt.s.d $f0, $f0 +/* 3589A4 E004A4E4 10400027 */ beqz $v0, .LE004A584 +/* 3589A8 E004A4E8 E600FFD8 */ swc1 $f0, -0x28($s0) +/* 3589AC E004A4EC 8EA20000 */ lw $v0, ($s5) +/* 3589B0 E004A4F0 00400008 */ jr $v0 +/* 3589B4 E004A4F4 00000000 */ nop +/* 3589B8 E004A4F8 44910000 */ mtc1 $s1, $f0 +/* 3589BC E004A4FC 00000000 */ nop +/* 3589C0 E004A500 46800021 */ cvt.d.w $f0, $f0 +/* 3589C4 E004A504 46340000 */ add.d $f0, $f0, $f20 +/* 3589C8 E004A508 46340082 */ mul.d $f2, $f0, $f20 +/* 3589CC E004A50C 00000000 */ nop +/* 3589D0 E004A510 46200020 */ cvt.s.d $f0, $f0 +/* 3589D4 E004A514 08012975 */ j .LE004A5D4 +/* 3589D8 E004A518 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 3589DC E004A51C 26220002 */ addiu $v0, $s1, 2 +/* 3589E0 E004A520 44820000 */ mtc1 $v0, $f0 +/* 3589E4 E004A524 00000000 */ nop +/* 3589E8 E004A528 46800021 */ cvt.d.w $f0, $f0 +/* 3589EC E004A52C 46340002 */ mul.d $f0, $f0, $f20 +/* 3589F0 E004A530 00000000 */ nop +/* 3589F4 E004A534 44821000 */ mtc1 $v0, $f2 +/* 3589F8 E004A538 00000000 */ nop +/* 3589FC E004A53C 468010A0 */ cvt.s.w $f2, $f2 +/* 358A00 E004A540 0801295E */ j .LE004A578 +/* 358A04 E004A544 E602FFE0 */ swc1 $f2, -0x20($s0) +/* 358A08 E004A548 44930000 */ mtc1 $s3, $f0 +/* 358A0C E004A54C 00000000 */ nop +/* 358A10 E004A550 46800021 */ cvt.d.w $f0, $f0 +/* 358A14 E004A554 46340002 */ mul.d $f0, $f0, $f20 +/* 358A18 E004A558 00000000 */ nop +/* 358A1C E004A55C 44931000 */ mtc1 $s3, $f2 +/* 358A20 E004A560 00000000 */ nop +/* 358A24 E004A564 468010A0 */ cvt.s.w $f2, $f2 +/* 358A28 E004A568 E602FFE0 */ swc1 $f2, -0x20($s0) +/* 358A2C E004A56C E6160000 */ swc1 $f22, ($s0) +/* 358A30 E004A570 E6160004 */ swc1 $f22, 4($s0) +/* 358A34 E004A574 E616000C */ swc1 $f22, 0xc($s0) +.LE004A578: +/* 358A38 E004A578 46200020 */ cvt.s.d $f0, $f0 +/* 358A3C E004A57C 08012977 */ j .LE004A5DC +/* 358A40 E004A580 E600FFE8 */ swc1 $f0, -0x18($s0) +.LE004A584: +/* 358A44 E004A584 44932000 */ mtc1 $s3, $f4 +/* 358A48 E004A588 00000000 */ nop +/* 358A4C E004A58C 46802121 */ cvt.d.w $f4, $f4 +/* 358A50 E004A590 46342102 */ mul.d $f4, $f4, $f20 +/* 358A54 E004A594 00000000 */ nop +/* 358A58 E004A598 C600FFE4 */ lwc1 $f0, -0x1c($s0) +/* 358A5C E004A59C 3C01E005 */ lui $at, 0xe005 +/* 358A60 E004A5A0 D422AEC8 */ ldc1 $f2, -0x5138($at) +/* 358A64 E004A5A4 46000021 */ cvt.d.s $f0, $f0 +/* 358A68 E004A5A8 46220002 */ mul.d $f0, $f0, $f2 +/* 358A6C E004A5AC 00000000 */ nop +/* 358A70 E004A5B0 46342082 */ mul.d $f2, $f4, $f20 +/* 358A74 E004A5B4 00000000 */ nop +/* 358A78 E004A5B8 E6160000 */ swc1 $f22, ($s0) +/* 358A7C E004A5BC E6160004 */ swc1 $f22, 4($s0) +/* 358A80 E004A5C0 E616000C */ swc1 $f22, 0xc($s0) +/* 358A84 E004A5C4 46202120 */ cvt.s.d $f4, $f4 +/* 358A88 E004A5C8 E604FFE0 */ swc1 $f4, -0x20($s0) +/* 358A8C E004A5CC 46200020 */ cvt.s.d $f0, $f0 +/* 358A90 E004A5D0 E600FFE4 */ swc1 $f0, -0x1c($s0) +.LE004A5D4: +/* 358A94 E004A5D4 462010A0 */ cvt.s.d $f2, $f2 +/* 358A98 E004A5D8 E602FFE8 */ swc1 $f2, -0x18($s0) +.LE004A5DC: +/* 358A9C E004A5DC E6180008 */ swc1 $f24, 8($s0) +.LE004A5E0: +/* 358AA0 E004A5E0 C6040000 */ lwc1 $f4, ($s0) +/* 358AA4 E004A5E4 C6000004 */ lwc1 $f0, 4($s0) +/* 358AA8 E004A5E8 C6020008 */ lwc1 $f2, 8($s0) +/* 358AAC E004A5EC 46002100 */ add.s $f4, $f4, $f0 +/* 358AB0 E004A5F0 C600000C */ lwc1 $f0, 0xc($s0) +/* 358AB4 E004A5F4 46001080 */ add.s $f2, $f2, $f0 +/* 358AB8 E004A5F8 24020002 */ addiu $v0, $zero, 2 +/* 358ABC E004A5FC E6040000 */ swc1 $f4, ($s0) +/* 358AC0 E004A600 12420013 */ beq $s2, $v0, .LE004A650 +/* 358AC4 E004A604 E6020008 */ swc1 $f2, 8($s0) +/* 358AC8 E004A608 2A420003 */ slti $v0, $s2, 3 +/* 358ACC E004A60C 14400005 */ bnez $v0, .LE004A624 +/* 358AD0 E004A610 24020005 */ addiu $v0, $zero, 5 +/* 358AD4 E004A614 1242000E */ beq $s2, $v0, .LE004A650 +/* 358AD8 E004A618 00000000 */ nop +/* 358ADC E004A61C 0801299D */ j .LE004A674 +/* 358AE0 E004A620 00000000 */ nop +.LE004A624: +/* 358AE4 E004A624 06400013 */ bltz $s2, .LE004A674 +/* 358AE8 E004A628 00000000 */ nop +/* 358AEC E004A62C C6000004 */ lwc1 $f0, 4($s0) +/* 358AF0 E004A630 3C01E005 */ lui $at, 0xe005 +/* 358AF4 E004A634 D422AED0 */ ldc1 $f2, -0x5130($at) +/* 358AF8 E004A638 46000021 */ cvt.d.s $f0, $f0 +/* 358AFC E004A63C 46220002 */ mul.d $f0, $f0, $f2 +/* 358B00 E004A640 00000000 */ nop +/* 358B04 E004A644 46200020 */ cvt.s.d $f0, $f0 +/* 358B08 E004A648 080129AB */ j .LE004A6AC +/* 358B0C E004A64C E6000004 */ swc1 $f0, 4($s0) +.LE004A650: +/* 358B10 E004A650 C6000004 */ lwc1 $f0, 4($s0) +/* 358B14 E004A654 46000021 */ cvt.d.s $f0, $f0 +/* 358B18 E004A658 463C0002 */ mul.d $f0, $f0, $f28 +/* 358B1C E004A65C 00000000 */ nop +/* 358B20 E004A660 C602000C */ lwc1 $f2, 0xc($s0) +/* 358B24 E004A664 3C01E005 */ lui $at, 0xe005 +/* 358B28 E004A668 D424AED8 */ ldc1 $f4, -0x5128($at) +/* 358B2C E004A66C 080129A5 */ j .LE004A694 +/* 358B30 E004A670 460010A1 */ cvt.d.s $f2, $f2 +.LE004A674: +/* 358B34 E004A674 C6000004 */ lwc1 $f0, 4($s0) +/* 358B38 E004A678 46000021 */ cvt.d.s $f0, $f0 +/* 358B3C E004A67C 463C0002 */ mul.d $f0, $f0, $f28 +/* 358B40 E004A680 00000000 */ nop +/* 358B44 E004A684 C602000C */ lwc1 $f2, 0xc($s0) +/* 358B48 E004A688 3C01E005 */ lui $at, 0xe005 +/* 358B4C E004A68C D424AEE0 */ ldc1 $f4, -0x5120($at) +/* 358B50 E004A690 460010A1 */ cvt.d.s $f2, $f2 +.LE004A694: +/* 358B54 E004A694 46241082 */ mul.d $f2, $f2, $f4 +/* 358B58 E004A698 00000000 */ nop +/* 358B5C E004A69C 46200020 */ cvt.s.d $f0, $f0 +/* 358B60 E004A6A0 462010A0 */ cvt.s.d $f2, $f2 +/* 358B64 E004A6A4 E6000004 */ swc1 $f0, 4($s0) +/* 358B68 E004A6A8 E602000C */ swc1 $f2, 0xc($s0) +.LE004A6AC: +/* 358B6C E004A6AC C600FFE0 */ lwc1 $f0, -0x20($s0) +/* 358B70 E004A6B0 46000021 */ cvt.d.s $f0, $f0 +/* 358B74 E004A6B4 463A0002 */ mul.d $f0, $f0, $f26 +/* 358B78 E004A6B8 00000000 */ nop +/* 358B7C E004A6BC C602FFE8 */ lwc1 $f2, -0x18($s0) +/* 358B80 E004A6C0 460010A1 */ cvt.d.s $f2, $f2 +/* 358B84 E004A6C4 463A1082 */ mul.d $f2, $f2, $f26 +/* 358B88 E004A6C8 00000000 */ nop +/* 358B8C E004A6CC 3C014300 */ lui $at, 0x4300 +/* 358B90 E004A6D0 44812000 */ mtc1 $at, $f4 +/* 358B94 E004A6D4 46200020 */ cvt.s.d $f0, $f0 +/* 358B98 E004A6D8 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 358B9C E004A6DC C6000000 */ lwc1 $f0, ($s0) +/* 358BA0 E004A6E0 462010A0 */ cvt.s.d $f2, $f2 +/* 358BA4 E004A6E4 4600203C */ c.lt.s $f4, $f0 +/* 358BA8 E004A6E8 00000000 */ nop +/* 358BAC E004A6EC 45000002 */ bc1f .LE004A6F8 +/* 358BB0 E004A6F0 E602FFE8 */ swc1 $f2, -0x18($s0) +/* 358BB4 E004A6F4 E6040000 */ swc1 $f4, ($s0) +.LE004A6F8: +/* 358BB8 E004A6F8 26730001 */ addiu $s3, $s3, 1 +/* 358BBC E004A6FC 26310001 */ addiu $s1, $s1, 1 +/* 358BC0 E004A700 8E820008 */ lw $v0, 8($s4) +/* 358BC4 E004A704 0222102A */ slt $v0, $s1, $v0 +/* 358BC8 E004A708 1440FF50 */ bnez $v0, .LE004A44C +/* 358BCC E004A70C 26100058 */ addiu $s0, $s0, 0x58 +.LE004A710: +/* 358BD0 E004A710 8FBF0028 */ lw $ra, 0x28($sp) +/* 358BD4 E004A714 8FB50024 */ lw $s5, 0x24($sp) +/* 358BD8 E004A718 8FB40020 */ lw $s4, 0x20($sp) +/* 358BDC E004A71C 8FB3001C */ lw $s3, 0x1c($sp) +/* 358BE0 E004A720 8FB20018 */ lw $s2, 0x18($sp) +/* 358BE4 E004A724 8FB10014 */ lw $s1, 0x14($sp) +/* 358BE8 E004A728 8FB00010 */ lw $s0, 0x10($sp) +/* 358BEC E004A72C D7BC0050 */ ldc1 $f28, 0x50($sp) +/* 358BF0 E004A730 D7BA0048 */ ldc1 $f26, 0x48($sp) +/* 358BF4 E004A734 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 358BF8 E004A738 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 358BFC E004A73C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 358C00 E004A740 03E00008 */ jr $ra +/* 358C04 E004A744 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_3584C0/func_E004A748.s b/asm/nonmatchings/code_3584C0/func_E004A748.s new file mode 100644 index 0000000000..fc03432846 --- /dev/null +++ b/asm/nonmatchings/code_3584C0/func_E004A748.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004A748 +/* 358C08 E004A748 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 358C0C E004A74C 3C02E005 */ lui $v0, 0xe005 +/* 358C10 E004A750 2442A78C */ addiu $v0, $v0, -0x5874 +/* 358C14 E004A754 AFA2001C */ sw $v0, 0x1c($sp) +/* 358C18 E004A758 24020028 */ addiu $v0, $zero, 0x28 +/* 358C1C E004A75C AFA40018 */ sw $a0, 0x18($sp) +/* 358C20 E004A760 27A40010 */ addiu $a0, $sp, 0x10 +/* 358C24 E004A764 AFBF0020 */ sw $ra, 0x20($sp) +/* 358C28 E004A768 AFA00014 */ sw $zero, 0x14($sp) +/* 358C2C E004A76C 0C080120 */ jal func_E0200480 +/* 358C30 E004A770 AFA20010 */ sw $v0, 0x10($sp) +/* 358C34 E004A774 8C430000 */ lw $v1, ($v0) +/* 358C38 E004A778 34630002 */ ori $v1, $v1, 2 +/* 358C3C E004A77C AC430000 */ sw $v1, ($v0) +/* 358C40 E004A780 8FBF0020 */ lw $ra, 0x20($sp) +/* 358C44 E004A784 03E00008 */ jr $ra +/* 358C48 E004A788 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3584C0/func_E004A78C.s b/asm/nonmatchings/code_3584C0/func_E004A78C.s new file mode 100644 index 0000000000..771f943add --- /dev/null +++ b/asm/nonmatchings/code_3584C0/func_E004A78C.s @@ -0,0 +1,445 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004A78C +/* 358C4C E004A78C 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 358C50 E004A790 AFBF00FC */ sw $ra, 0xfc($sp) +/* 358C54 E004A794 AFBE00F8 */ sw $fp, 0xf8($sp) +/* 358C58 E004A798 AFB700F4 */ sw $s7, 0xf4($sp) +/* 358C5C E004A79C AFB600F0 */ sw $s6, 0xf0($sp) +/* 358C60 E004A7A0 AFB500EC */ sw $s5, 0xec($sp) +/* 358C64 E004A7A4 AFB400E8 */ sw $s4, 0xe8($sp) +/* 358C68 E004A7A8 AFB300E4 */ sw $s3, 0xe4($sp) +/* 358C6C E004A7AC AFB200E0 */ sw $s2, 0xe0($sp) +/* 358C70 E004A7B0 AFB100DC */ sw $s1, 0xdc($sp) +/* 358C74 E004A7B4 AFB000D8 */ sw $s0, 0xd8($sp) +/* 358C78 E004A7B8 F7B80110 */ sdc1 $f24, 0x110($sp) +/* 358C7C E004A7BC F7B60108 */ sdc1 $f22, 0x108($sp) +/* 358C80 E004A7C0 F7B40100 */ sdc1 $f20, 0x100($sp) +/* 358C84 E004A7C4 AFA40118 */ sw $a0, 0x118($sp) +/* 358C88 E004A7C8 8C91000C */ lw $s1, 0xc($a0) +/* 358C8C E004A7CC 922F0050 */ lbu $t7, 0x50($s1) +/* 358C90 E004A7D0 AFAF00A4 */ sw $t7, 0xa4($sp) +/* 358C94 E004A7D4 922F0051 */ lbu $t7, 0x51($s1) +/* 358C98 E004A7D8 AFAF00A8 */ sw $t7, 0xa8($sp) +/* 358C9C E004A7DC 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 358CA0 E004A7E0 AFAF00BC */ sw $t7, 0xbc($sp) +/* 358CA4 E004A7E4 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 358CA8 E004A7E8 AFAF00C0 */ sw $t7, 0xc0($sp) +/* 358CAC E004A7EC 922F0052 */ lbu $t7, 0x52($s1) +/* 358CB0 E004A7F0 AFAF00AC */ sw $t7, 0xac($sp) +/* 358CB4 E004A7F4 922F0053 */ lbu $t7, 0x53($s1) +/* 358CB8 E004A7F8 AFAF00B0 */ sw $t7, 0xb0($sp) +/* 358CBC E004A7FC 8FAF00AC */ lw $t7, 0xac($sp) +/* 358CC0 E004A800 AFAF00C4 */ sw $t7, 0xc4($sp) +/* 358CC4 E004A804 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 358CC8 E004A808 AFAF00C8 */ sw $t7, 0xc8($sp) +/* 358CCC E004A80C 922F0054 */ lbu $t7, 0x54($s1) +/* 358CD0 E004A810 AFAF00B4 */ sw $t7, 0xb4($sp) +/* 358CD4 E004A814 922F0055 */ lbu $t7, 0x55($s1) +/* 358CD8 E004A818 AFAF00B8 */ sw $t7, 0xb8($sp) +/* 358CDC E004A81C 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 358CE0 E004A820 AFAF00CC */ sw $t7, 0xcc($sp) +/* 358CE4 E004A824 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 358CE8 E004A828 AFAF00D0 */ sw $t7, 0xd0($sp) +/* 358CEC E004A82C 96220000 */ lhu $v0, ($s1) +/* 358CF0 E004A830 00021880 */ sll $v1, $v0, 2 +/* 358CF4 E004A834 28420002 */ slti $v0, $v0, 2 +/* 358CF8 E004A838 3C09E005 */ lui $t1, 0xe005 +/* 358CFC E004A83C 01234821 */ addu $t1, $t1, $v1 +/* 358D00 E004A840 8D29AE60 */ lw $t1, -0x51a0($t1) +/* 358D04 E004A844 14400013 */ bnez $v0, .LE004A894 +/* 358D08 E004A848 3C06DB06 */ lui $a2, 0xdb06 +/* 358D0C E004A84C 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 358D10 E004A850 000F7883 */ sra $t7, $t7, 2 +/* 358D14 E004A854 AFAF00BC */ sw $t7, 0xbc($sp) +/* 358D18 E004A858 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 358D1C E004A85C 000F7883 */ sra $t7, $t7, 2 +/* 358D20 E004A860 AFAF00C0 */ sw $t7, 0xc0($sp) +/* 358D24 E004A864 8FAF00AC */ lw $t7, 0xac($sp) +/* 358D28 E004A868 000F7883 */ sra $t7, $t7, 2 +/* 358D2C E004A86C AFAF00C4 */ sw $t7, 0xc4($sp) +/* 358D30 E004A870 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 358D34 E004A874 000F7883 */ sra $t7, $t7, 2 +/* 358D38 E004A878 AFAF00C8 */ sw $t7, 0xc8($sp) +/* 358D3C E004A87C 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 358D40 E004A880 000F7883 */ sra $t7, $t7, 2 +/* 358D44 E004A884 AFAF00CC */ sw $t7, 0xcc($sp) +/* 358D48 E004A888 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 358D4C E004A88C 000F7883 */ sra $t7, $t7, 2 +/* 358D50 E004A890 AFAF00D0 */ sw $t7, 0xd0($sp) +.LE004A894: +/* 358D54 E004A894 34C60024 */ ori $a2, $a2, 0x24 +/* 358D58 E004A898 27A40020 */ addiu $a0, $sp, 0x20 +/* 358D5C E004A89C 3C13800A */ lui $s3, 0x800a +/* 358D60 E004A8A0 2673A66C */ addiu $s3, $s3, -0x5994 +/* 358D64 E004A8A4 3C02E700 */ lui $v0, 0xe700 +/* 358D68 E004A8A8 8E680000 */ lw $t0, ($s3) +/* 358D6C E004A8AC 4480A000 */ mtc1 $zero, $f20 +/* 358D70 E004A8B0 3C013F80 */ lui $at, 0x3f80 +/* 358D74 E004A8B4 4481C000 */ mtc1 $at, $f24 +/* 358D78 E004A8B8 0100182D */ daddu $v1, $t0, $zero +/* 358D7C E004A8BC 4405A000 */ mfc1 $a1, $f20 +/* 358D80 E004A8C0 25080008 */ addiu $t0, $t0, 8 +/* 358D84 E004A8C4 AC620000 */ sw $v0, ($v1) +/* 358D88 E004A8C8 AC600004 */ sw $zero, 4($v1) +/* 358D8C E004A8CC AD060000 */ sw $a2, ($t0) +/* 358D90 E004A8D0 8FAF0118 */ lw $t7, 0x118($sp) +/* 358D94 E004A8D4 4407A000 */ mfc1 $a3, $f20 +/* 358D98 E004A8D8 8DE20010 */ lw $v0, 0x10($t7) +/* 358D9C E004A8DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 358DA0 E004A8E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 358DA4 E004A8E4 8C46001C */ lw $a2, 0x1c($v0) +/* 358DA8 E004A8E8 3C02DE00 */ lui $v0, 0xde00 +/* 358DAC E004A8EC AD020008 */ sw $v0, 8($t0) +/* 358DB0 E004A8F0 3C028000 */ lui $v0, 0x8000 +/* 358DB4 E004A8F4 AD09000C */ sw $t1, 0xc($t0) +/* 358DB8 E004A8F8 00C23021 */ addu $a2, $a2, $v0 +/* 358DBC E004A8FC 00031080 */ sll $v0, $v1, 2 +/* 358DC0 E004A900 00431021 */ addu $v0, $v0, $v1 +/* 358DC4 E004A904 00021080 */ sll $v0, $v0, 2 +/* 358DC8 E004A908 00431023 */ subu $v0, $v0, $v1 +/* 358DCC E004A90C 000218C0 */ sll $v1, $v0, 3 +/* 358DD0 E004A910 00431021 */ addu $v0, $v0, $v1 +/* 358DD4 E004A914 000210C0 */ sll $v0, $v0, 3 +/* 358DD8 E004A918 AD060004 */ sw $a2, 4($t0) +/* 358DDC E004A91C 3C01800B */ lui $at, 0x800b +/* 358DE0 E004A920 00220821 */ addu $at, $at, $v0 +/* 358DE4 E004A924 C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 358DE8 E004A928 3C100001 */ lui $s0, 1 +/* 358DEC E004A92C AE680000 */ sw $t0, ($s3) +/* 358DF0 E004A930 E7B80010 */ swc1 $f24, 0x10($sp) +/* 358DF4 E004A934 C6200004 */ lwc1 $f0, 4($s1) +/* 358DF8 E004A938 25020008 */ addiu $v0, $t0, 8 +/* 358DFC E004A93C AE620000 */ sw $v0, ($s3) +/* 358E00 E004A940 46001087 */ neg.s $f2, $f2 +/* 358E04 E004A944 E7A00014 */ swc1 $f0, 0x14($sp) +/* 358E08 E004A948 C6200008 */ lwc1 $f0, 8($s1) +/* 358E0C E004A94C 44061000 */ mfc1 $a2, $f2 +/* 358E10 E004A950 25080010 */ addiu $t0, $t0, 0x10 +/* 358E14 E004A954 AE680000 */ sw $t0, ($s3) +/* 358E18 E004A958 E7A00018 */ swc1 $f0, 0x18($sp) +/* 358E1C E004A95C C620000C */ lwc1 $f0, 0xc($s1) +/* 358E20 E004A960 36101630 */ ori $s0, $s0, 0x1630 +/* 358E24 E004A964 0C080180 */ jal func_E0200600 +/* 358E28 E004A968 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 358E2C E004A96C 27A40020 */ addiu $a0, $sp, 0x20 +/* 358E30 E004A970 3C158007 */ lui $s5, 0x8007 +/* 358E34 E004A974 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 358E38 E004A978 3C16800A */ lui $s6, 0x800a +/* 358E3C E004A97C 26D6A674 */ addiu $s6, $s6, -0x598c +/* 358E40 E004A980 96A50000 */ lhu $a1, ($s5) +/* 358E44 E004A984 8EC20000 */ lw $v0, ($s6) +/* 358E48 E004A988 00052980 */ sll $a1, $a1, 6 +/* 358E4C E004A98C 00B02821 */ addu $a1, $a1, $s0 +/* 358E50 E004A990 0C080118 */ jal func_E0200460 +/* 358E54 E004A994 00452821 */ addu $a1, $v0, $a1 +/* 358E58 E004A998 24140001 */ addiu $s4, $zero, 1 +/* 358E5C E004A99C 3C02DA38 */ lui $v0, 0xda38 +/* 358E60 E004A9A0 8E650000 */ lw $a1, ($s3) +/* 358E64 E004A9A4 96A40000 */ lhu $a0, ($s5) +/* 358E68 E004A9A8 00A0302D */ daddu $a2, $a1, $zero +/* 358E6C E004A9AC 24A50008 */ addiu $a1, $a1, 8 +/* 358E70 E004A9B0 ACC20000 */ sw $v0, ($a2) +/* 358E74 E004A9B4 3082FFFF */ andi $v0, $a0, 0xffff +/* 358E78 E004A9B8 00021180 */ sll $v0, $v0, 6 +/* 358E7C E004A9BC 00501021 */ addu $v0, $v0, $s0 +/* 358E80 E004A9C0 00942021 */ addu $a0, $a0, $s4 +/* 358E84 E004A9C4 8EC30000 */ lw $v1, ($s6) +/* 358E88 E004A9C8 00A0B82D */ daddu $s7, $a1, $zero +/* 358E8C E004A9CC 00621821 */ addu $v1, $v1, $v0 +/* 358E90 E004A9D0 ACC30004 */ sw $v1, 4($a2) +/* 358E94 E004A9D4 8E2F0038 */ lw $t7, 0x38($s1) +/* 358E98 E004A9D8 26E30008 */ addiu $v1, $s7, 8 +/* 358E9C E004A9DC AFAF00A0 */ sw $t7, 0xa0($sp) +/* 358EA0 E004A9E0 AE650000 */ sw $a1, ($s3) +/* 358EA4 E004A9E4 A6A40000 */ sh $a0, ($s5) +/* 358EA8 E004A9E8 AE630000 */ sw $v1, ($s3) +/* 358EAC E004A9EC 8FAF0118 */ lw $t7, 0x118($sp) +/* 358EB0 E004A9F0 8DE20008 */ lw $v0, 8($t7) +/* 358EB4 E004A9F4 26310058 */ addiu $s1, $s1, 0x58 +/* 358EB8 E004A9F8 0282102A */ slt $v0, $s4, $v0 +/* 358EBC E004A9FC 10400090 */ beqz $v0, .LE004AC40 +/* 358EC0 E004AA00 AFA300D4 */ sw $v1, 0xd4($sp) +/* 358EC4 E004AA04 27B20060 */ addiu $s2, $sp, 0x60 +/* 358EC8 E004AA08 4600A586 */ mov.s $f22, $f20 +/* 358ECC E004AA0C 3C01E005 */ lui $at, 0xe005 +/* 358ED0 E004AA10 D434AEE8 */ ldc1 $f20, -0x5118($at) +/* 358ED4 E004AA14 02A0B02D */ daddu $s6, $s5, $zero +/* 358ED8 E004AA18 3C150001 */ lui $s5, 1 +/* 358EDC E004AA1C 36B51630 */ ori $s5, $s5, 0x1630 +/* 358EE0 E004AA20 3C1EF200 */ lui $fp, 0xf200 +/* 358EE4 E004AA24 26300044 */ addiu $s0, $s1, 0x44 +.LE004AA28: +/* 358EE8 E004AA28 8E020008 */ lw $v0, 8($s0) +/* 358EEC E004AA2C 0440007E */ bltz $v0, .LE004AC28 +/* 358EF0 E004AA30 00000000 */ nop +/* 358EF4 E004AA34 8E05FFC0 */ lw $a1, -0x40($s0) +/* 358EF8 E004AA38 8E06FFC4 */ lw $a2, -0x3c($s0) +/* 358EFC E004AA3C 8E07FFC8 */ lw $a3, -0x38($s0) +/* 358F00 E004AA40 0C080108 */ jal func_E0200420 +/* 358F04 E004AA44 27A40020 */ addiu $a0, $sp, 0x20 +/* 358F08 E004AA48 E7B80010 */ swc1 $f24, 0x10($sp) +/* 358F0C E004AA4C 8E05FFF0 */ lw $a1, -0x10($s0) +/* 358F10 E004AA50 4406B000 */ mfc1 $a2, $f22 +/* 358F14 E004AA54 4407B000 */ mfc1 $a3, $f22 +/* 358F18 E004AA58 0C080104 */ jal func_E0200410 +/* 358F1C E004AA5C 0240202D */ daddu $a0, $s2, $zero +/* 358F20 E004AA60 0240202D */ daddu $a0, $s2, $zero +/* 358F24 E004AA64 27A50020 */ addiu $a1, $sp, 0x20 +/* 358F28 E004AA68 0C080114 */ jal func_E0200450 +/* 358F2C E004AA6C 00A0302D */ daddu $a2, $a1, $zero +/* 358F30 E004AA70 C604FFD8 */ lwc1 $f4, -0x28($s0) +/* 358F34 E004AA74 46002121 */ cvt.d.s $f4, $f4 +/* 358F38 E004AA78 46342102 */ mul.d $f4, $f4, $f20 +/* 358F3C E004AA7C 00000000 */ nop +/* 358F40 E004AA80 C602FFDC */ lwc1 $f2, -0x24($s0) +/* 358F44 E004AA84 460010A1 */ cvt.d.s $f2, $f2 +/* 358F48 E004AA88 46341082 */ mul.d $f2, $f2, $f20 +/* 358F4C E004AA8C 00000000 */ nop +/* 358F50 E004AA90 C600FFE0 */ lwc1 $f0, -0x20($s0) +/* 358F54 E004AA94 46000021 */ cvt.d.s $f0, $f0 +/* 358F58 E004AA98 46340002 */ mul.d $f0, $f0, $f20 +/* 358F5C E004AA9C 00000000 */ nop +/* 358F60 E004AAA0 46202120 */ cvt.s.d $f4, $f4 +/* 358F64 E004AAA4 462010A0 */ cvt.s.d $f2, $f2 +/* 358F68 E004AAA8 46200020 */ cvt.s.d $f0, $f0 +/* 358F6C E004AAAC 44052000 */ mfc1 $a1, $f4 +/* 358F70 E004AAB0 44061000 */ mfc1 $a2, $f2 +/* 358F74 E004AAB4 44070000 */ mfc1 $a3, $f0 +/* 358F78 E004AAB8 0C080110 */ jal func_E0200440 +/* 358F7C E004AABC 0240202D */ daddu $a0, $s2, $zero +/* 358F80 E004AAC0 0240202D */ daddu $a0, $s2, $zero +/* 358F84 E004AAC4 27A50020 */ addiu $a1, $sp, 0x20 +/* 358F88 E004AAC8 0C080114 */ jal func_E0200450 +/* 358F8C E004AACC 00A0302D */ daddu $a2, $a1, $zero +/* 358F90 E004AAD0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 358F94 E004AAD4 8E05FFEC */ lw $a1, -0x14($s0) +/* 358F98 E004AAD8 4406B000 */ mfc1 $a2, $f22 +/* 358F9C E004AADC 4407C000 */ mfc1 $a3, $f24 +/* 358FA0 E004AAE0 0C080104 */ jal func_E0200410 +/* 358FA4 E004AAE4 0240202D */ daddu $a0, $s2, $zero +/* 358FA8 E004AAE8 0240202D */ daddu $a0, $s2, $zero +/* 358FAC E004AAEC 27A50020 */ addiu $a1, $sp, 0x20 +/* 358FB0 E004AAF0 0C080114 */ jal func_E0200450 +/* 358FB4 E004AAF4 00A0302D */ daddu $a2, $a1, $zero +/* 358FB8 E004AAF8 27A40020 */ addiu $a0, $sp, 0x20 +/* 358FBC E004AAFC 96C50000 */ lhu $a1, ($s6) +/* 358FC0 E004AB00 3C02800A */ lui $v0, 0x800a +/* 358FC4 E004AB04 8C42A674 */ lw $v0, -0x598c($v0) +/* 358FC8 E004AB08 00052980 */ sll $a1, $a1, 6 +/* 358FCC E004AB0C 00B52821 */ addu $a1, $a1, $s5 +/* 358FD0 E004AB10 0C080118 */ jal func_E0200460 +/* 358FD4 E004AB14 00452821 */ addu $a1, $v0, $a1 +/* 358FD8 E004AB18 3C06000F */ lui $a2, 0xf +/* 358FDC E004AB1C 34C6C000 */ ori $a2, $a2, 0xc000 +/* 358FE0 E004AB20 3C080107 */ lui $t0, 0x107 +/* 358FE4 E004AB24 3508C000 */ ori $t0, $t0, 0xc000 +/* 358FE8 E004AB28 3C07D838 */ lui $a3, 0xd838 +/* 358FEC E004AB2C 34E70002 */ ori $a3, $a3, 2 +/* 358FF0 E004AB30 8E630000 */ lw $v1, ($s3) +/* 358FF4 E004AB34 C600FFF8 */ lwc1 $f0, -8($s0) +/* 358FF8 E004AB38 0060282D */ daddu $a1, $v1, $zero +/* 358FFC E004AB3C 24630008 */ addiu $v1, $v1, 8 +/* 359000 E004AB40 4600018D */ trunc.w.s $f6, $f0 +/* 359004 E004AB44 44023000 */ mfc1 $v0, $f6 +/* 359008 E004AB48 00000000 */ nop +/* 35900C E004AB4C 30420FFF */ andi $v0, $v0, 0xfff +/* 359010 E004AB50 005E1025 */ or $v0, $v0, $fp +/* 359014 E004AB54 AE630000 */ sw $v1, ($s3) +/* 359018 E004AB58 ACA20000 */ sw $v0, ($a1) +/* 35901C E004AB5C 24620008 */ addiu $v0, $v1, 8 +/* 359020 E004AB60 AE620000 */ sw $v0, ($s3) +/* 359024 E004AB64 96C40000 */ lhu $a0, ($s6) +/* 359028 E004AB68 24620010 */ addiu $v0, $v1, 0x10 +/* 35902C E004AB6C AE620000 */ sw $v0, ($s3) +/* 359030 E004AB70 24820001 */ addiu $v0, $a0, 1 +/* 359034 E004AB74 A6C20000 */ sh $v0, ($s6) +/* 359038 E004AB78 24620018 */ addiu $v0, $v1, 0x18 +/* 35903C E004AB7C 3084FFFF */ andi $a0, $a0, 0xffff +/* 359040 E004AB80 00042180 */ sll $a0, $a0, 6 +/* 359044 E004AB84 C600FFF8 */ lwc1 $f0, -8($s0) +/* 359048 E004AB88 00952021 */ addu $a0, $a0, $s5 +/* 35904C E004AB8C AE620000 */ sw $v0, ($s3) +/* 359050 E004AB90 4600018D */ trunc.w.s $f6, $f0 +/* 359054 E004AB94 44023000 */ mfc1 $v0, $f6 +/* 359058 E004AB98 00000000 */ nop +/* 35905C E004AB9C 2442007C */ addiu $v0, $v0, 0x7c +/* 359060 E004ABA0 30420FFF */ andi $v0, $v0, 0xfff +/* 359064 E004ABA4 00461025 */ or $v0, $v0, $a2 +/* 359068 E004ABA8 ACA20004 */ sw $v0, 4($a1) +/* 35906C E004ABAC C6000000 */ lwc1 $f0, ($s0) +/* 359070 E004ABB0 24620020 */ addiu $v0, $v1, 0x20 +/* 359074 E004ABB4 AE620000 */ sw $v0, ($s3) +/* 359078 E004ABB8 4600018D */ trunc.w.s $f6, $f0 +/* 35907C E004ABBC 44023000 */ mfc1 $v0, $f6 +/* 359080 E004ABC0 00000000 */ nop +/* 359084 E004ABC4 30420FFF */ andi $v0, $v0, 0xfff +/* 359088 E004ABC8 005E1025 */ or $v0, $v0, $fp +/* 35908C E004ABCC AC620000 */ sw $v0, ($v1) +/* 359090 E004ABD0 C6000000 */ lwc1 $f0, ($s0) +/* 359094 E004ABD4 3C02DA38 */ lui $v0, 0xda38 +/* 359098 E004ABD8 AC620008 */ sw $v0, 8($v1) +/* 35909C E004ABDC 3C02800A */ lui $v0, 0x800a +/* 3590A0 E004ABE0 8C42A674 */ lw $v0, -0x598c($v0) +/* 3590A4 E004ABE4 3C0F0900 */ lui $t7, 0x900 +/* 3590A8 E004ABE8 25EF0940 */ addiu $t7, $t7, 0x940 +/* 3590AC E004ABEC AC6F0014 */ sw $t7, 0x14($v1) +/* 3590B0 E004ABF0 AC670018 */ sw $a3, 0x18($v1) +/* 3590B4 E004ABF4 00441021 */ addu $v0, $v0, $a0 +/* 3590B8 E004ABF8 AC62000C */ sw $v0, 0xc($v1) +/* 3590BC E004ABFC 3C02DE00 */ lui $v0, 0xde00 +/* 3590C0 E004AC00 AC620010 */ sw $v0, 0x10($v1) +/* 3590C4 E004AC04 24020040 */ addiu $v0, $zero, 0x40 +/* 3590C8 E004AC08 AC62001C */ sw $v0, 0x1c($v1) +/* 3590CC E004AC0C 4600018D */ trunc.w.s $f6, $f0 +/* 3590D0 E004AC10 44023000 */ mfc1 $v0, $f6 +/* 3590D4 E004AC14 00000000 */ nop +/* 3590D8 E004AC18 2442007C */ addiu $v0, $v0, 0x7c +/* 3590DC E004AC1C 30420FFF */ andi $v0, $v0, 0xfff +/* 3590E0 E004AC20 00481025 */ or $v0, $v0, $t0 +/* 3590E4 E004AC24 AC620004 */ sw $v0, 4($v1) +.LE004AC28: +/* 3590E8 E004AC28 8FAF0118 */ lw $t7, 0x118($sp) +/* 3590EC E004AC2C 26940001 */ addiu $s4, $s4, 1 +/* 3590F0 E004AC30 8DE20008 */ lw $v0, 8($t7) +/* 3590F4 E004AC34 0282102A */ slt $v0, $s4, $v0 +/* 3590F8 E004AC38 1440FF7B */ bnez $v0, .LE004AA28 +/* 3590FC E004AC3C 26100058 */ addiu $s0, $s0, 0x58 +.LE004AC40: +/* 359100 E004AC40 3C0AD9FF */ lui $t2, 0xd9ff +/* 359104 E004AC44 354AF9FF */ ori $t2, $t2, 0xf9ff +/* 359108 E004AC48 3C0BD9FF */ lui $t3, 0xd9ff +/* 35910C E004AC4C 356BFFFF */ ori $t3, $t3, 0xffff +/* 359110 E004AC50 3C05800A */ lui $a1, 0x800a +/* 359114 E004AC54 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 359118 E004AC58 3C02DF00 */ lui $v0, 0xdf00 +/* 35911C E004AC5C 8CA30000 */ lw $v1, ($a1) +/* 359120 E004AC60 3C09FA00 */ lui $t1, 0xfa00 +/* 359124 E004AC64 0060202D */ daddu $a0, $v1, $zero +/* 359128 E004AC68 24630008 */ addiu $v1, $v1, 8 +/* 35912C E004AC6C ACA30000 */ sw $v1, ($a1) +/* 359130 E004AC70 AC820000 */ sw $v0, ($a0) +/* 359134 E004AC74 3C02DE01 */ lui $v0, 0xde01 +/* 359138 E004AC78 AC800004 */ sw $zero, 4($a0) +/* 35913C E004AC7C AEE20000 */ sw $v0, ($s7) +/* 359140 E004AC80 24620008 */ addiu $v0, $v1, 8 +/* 359144 E004AC84 AEE30004 */ sw $v1, 4($s7) +/* 359148 E004AC88 ACA20000 */ sw $v0, ($a1) +/* 35914C E004AC8C AC690000 */ sw $t1, ($v1) +/* 359150 E004AC90 8FAF00BC */ lw $t7, 0xbc($sp) +/* 359154 E004AC94 3C0CE300 */ lui $t4, 0xe300 +/* 359158 E004AC98 000F1600 */ sll $v0, $t7, 0x18 +/* 35915C E004AC9C 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 359160 E004ACA0 3C07FB00 */ lui $a3, 0xfb00 +/* 359164 E004ACA4 000F2400 */ sll $a0, $t7, 0x10 +/* 359168 E004ACA8 8FAF00C4 */ lw $t7, 0xc4($sp) +/* 35916C E004ACAC 00441025 */ or $v0, $v0, $a0 +/* 359170 E004ACB0 000F2200 */ sll $a0, $t7, 8 +/* 359174 E004ACB4 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 359178 E004ACB8 00441025 */ or $v0, $v0, $a0 +/* 35917C E004ACBC 31E800FF */ andi $t0, $t7, 0xff +/* 359180 E004ACC0 00481025 */ or $v0, $v0, $t0 +/* 359184 E004ACC4 AC620004 */ sw $v0, 4($v1) +/* 359188 E004ACC8 24620010 */ addiu $v0, $v1, 0x10 +/* 35918C E004ACCC ACA20000 */ sw $v0, ($a1) +/* 359190 E004ACD0 AC670008 */ sw $a3, 8($v1) +/* 359194 E004ACD4 8FAF00C8 */ lw $t7, 0xc8($sp) +/* 359198 E004ACD8 358C1801 */ ori $t4, $t4, 0x1801 +/* 35919C E004ACDC 000F1600 */ sll $v0, $t7, 0x18 +/* 3591A0 E004ACE0 8FAF00CC */ lw $t7, 0xcc($sp) +/* 3591A4 E004ACE4 3C06DE00 */ lui $a2, 0xde00 +/* 3591A8 E004ACE8 000F2400 */ sll $a0, $t7, 0x10 +/* 3591AC E004ACEC 8FAF00D0 */ lw $t7, 0xd0($sp) +/* 3591B0 E004ACF0 00441025 */ or $v0, $v0, $a0 +/* 3591B4 E004ACF4 000F2200 */ sll $a0, $t7, 8 +/* 3591B8 E004ACF8 00441025 */ or $v0, $v0, $a0 +/* 3591BC E004ACFC AC62000C */ sw $v0, 0xc($v1) +/* 3591C0 E004AD00 24620018 */ addiu $v0, $v1, 0x18 +/* 3591C4 E004AD04 ACA20000 */ sw $v0, ($a1) +/* 3591C8 E004AD08 24620020 */ addiu $v0, $v1, 0x20 +/* 3591CC E004AD0C AC6A0010 */ sw $t2, 0x10($v1) +/* 3591D0 E004AD10 AC600014 */ sw $zero, 0x14($v1) +/* 3591D4 E004AD14 ACA20000 */ sw $v0, ($a1) +/* 3591D8 E004AD18 24020200 */ addiu $v0, $zero, 0x200 +/* 3591DC E004AD1C AC62001C */ sw $v0, 0x1c($v1) +/* 3591E0 E004AD20 24620028 */ addiu $v0, $v1, 0x28 +/* 3591E4 E004AD24 AC6B0018 */ sw $t3, 0x18($v1) +/* 3591E8 E004AD28 ACA20000 */ sw $v0, ($a1) +/* 3591EC E004AD2C AC660020 */ sw $a2, 0x20($v1) +/* 3591F0 E004AD30 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 3591F4 E004AD34 24620030 */ addiu $v0, $v1, 0x30 +/* 3591F8 E004AD38 AC6F0024 */ sw $t7, 0x24($v1) +/* 3591FC E004AD3C ACA20000 */ sw $v0, ($a1) +/* 359200 E004AD40 AC690028 */ sw $t1, 0x28($v1) +/* 359204 E004AD44 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 359208 E004AD48 3C0DE300 */ lui $t5, 0xe300 +/* 35920C E004AD4C 000F1600 */ sll $v0, $t7, 0x18 +/* 359210 E004AD50 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 359214 E004AD54 35AD1A01 */ ori $t5, $t5, 0x1a01 +/* 359218 E004AD58 000F2400 */ sll $a0, $t7, 0x10 +/* 35921C E004AD5C 8FAF00AC */ lw $t7, 0xac($sp) +/* 359220 E004AD60 00441025 */ or $v0, $v0, $a0 +/* 359224 E004AD64 000F2200 */ sll $a0, $t7, 8 +/* 359228 E004AD68 00441025 */ or $v0, $v0, $a0 +/* 35922C E004AD6C 00481025 */ or $v0, $v0, $t0 +/* 359230 E004AD70 AC62002C */ sw $v0, 0x2c($v1) +/* 359234 E004AD74 24620038 */ addiu $v0, $v1, 0x38 +/* 359238 E004AD78 ACA20000 */ sw $v0, ($a1) +/* 35923C E004AD7C AC670030 */ sw $a3, 0x30($v1) +/* 359240 E004AD80 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 359244 E004AD84 3C0ED838 */ lui $t6, 0xd838 +/* 359248 E004AD88 000F1600 */ sll $v0, $t7, 0x18 +/* 35924C E004AD8C 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 359250 E004AD90 35CE0002 */ ori $t6, $t6, 2 +/* 359254 E004AD94 000F2400 */ sll $a0, $t7, 0x10 +/* 359258 E004AD98 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 35925C E004AD9C 00441025 */ or $v0, $v0, $a0 +/* 359260 E004ADA0 000F2200 */ sll $a0, $t7, 8 +/* 359264 E004ADA4 00441025 */ or $v0, $v0, $a0 +/* 359268 E004ADA8 AC620034 */ sw $v0, 0x34($v1) +/* 35926C E004ADAC 24620040 */ addiu $v0, $v1, 0x40 +/* 359270 E004ADB0 ACA20000 */ sw $v0, ($a1) +/* 359274 E004ADB4 24620048 */ addiu $v0, $v1, 0x48 +/* 359278 E004ADB8 AC6A0038 */ sw $t2, 0x38($v1) +/* 35927C E004ADBC AC60003C */ sw $zero, 0x3c($v1) +/* 359280 E004ADC0 ACA20000 */ sw $v0, ($a1) +/* 359284 E004ADC4 24020400 */ addiu $v0, $zero, 0x400 +/* 359288 E004ADC8 AC620044 */ sw $v0, 0x44($v1) +/* 35928C E004ADCC 24620050 */ addiu $v0, $v1, 0x50 +/* 359290 E004ADD0 AC6B0040 */ sw $t3, 0x40($v1) +/* 359294 E004ADD4 ACA20000 */ sw $v0, ($a1) +/* 359298 E004ADD8 AC660048 */ sw $a2, 0x48($v1) +/* 35929C E004ADDC 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 3592A0 E004ADE0 24620058 */ addiu $v0, $v1, 0x58 +/* 3592A4 E004ADE4 AC6F004C */ sw $t7, 0x4c($v1) +/* 3592A8 E004ADE8 ACA20000 */ sw $v0, ($a1) +/* 3592AC E004ADEC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 3592B0 E004ADF0 AC6C0050 */ sw $t4, 0x50($v1) +/* 3592B4 E004ADF4 AC620054 */ sw $v0, 0x54($v1) +/* 3592B8 E004ADF8 24620060 */ addiu $v0, $v1, 0x60 +/* 3592BC E004ADFC ACA20000 */ sw $v0, ($a1) +/* 3592C0 E004AE00 24020030 */ addiu $v0, $zero, 0x30 +/* 3592C4 E004AE04 AC62005C */ sw $v0, 0x5c($v1) +/* 3592C8 E004AE08 24620068 */ addiu $v0, $v1, 0x68 +/* 3592CC E004AE0C AC6D0058 */ sw $t5, 0x58($v1) +/* 3592D0 E004AE10 ACA20000 */ sw $v0, ($a1) +/* 3592D4 E004AE14 24020040 */ addiu $v0, $zero, 0x40 +/* 3592D8 E004AE18 AC6E0060 */ sw $t6, 0x60($v1) +/* 3592DC E004AE1C AC620064 */ sw $v0, 0x64($v1) +/* 3592E0 E004AE20 8FBF00FC */ lw $ra, 0xfc($sp) +/* 3592E4 E004AE24 8FBE00F8 */ lw $fp, 0xf8($sp) +/* 3592E8 E004AE28 8FB700F4 */ lw $s7, 0xf4($sp) +/* 3592EC E004AE2C 8FB600F0 */ lw $s6, 0xf0($sp) +/* 3592F0 E004AE30 8FB500EC */ lw $s5, 0xec($sp) +/* 3592F4 E004AE34 8FB400E8 */ lw $s4, 0xe8($sp) +/* 3592F8 E004AE38 8FB300E4 */ lw $s3, 0xe4($sp) +/* 3592FC E004AE3C 8FB200E0 */ lw $s2, 0xe0($sp) +/* 359300 E004AE40 8FB100DC */ lw $s1, 0xdc($sp) +/* 359304 E004AE44 8FB000D8 */ lw $s0, 0xd8($sp) +/* 359308 E004AE48 D7B80110 */ ldc1 $f24, 0x110($sp) +/* 35930C E004AE4C D7B60108 */ ldc1 $f22, 0x108($sp) +/* 359310 E004AE50 D7B40100 */ ldc1 $f20, 0x100($sp) +/* 359314 E004AE54 03E00008 */ jr $ra +/* 359318 E004AE58 27BD0118 */ addiu $sp, $sp, 0x118 +/* 35931C E004AE5C 00000000 */ nop diff --git a/asm/nonmatchings/code_35B9D0/func_E004E000.s b/asm/nonmatchings/code_35B9D0/func_E004E000.s new file mode 100644 index 0000000000..cc02c57d4e --- /dev/null +++ b/asm/nonmatchings/code_35B9D0/func_E004E000.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004E000 +/* 35B9D0 E004E000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 35B9D4 E004E004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 35B9D8 E004E008 4485A000 */ mtc1 $a1, $f20 +/* 35B9DC E004E00C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 35B9E0 E004E010 4486B000 */ mtc1 $a2, $f22 +/* 35B9E4 E004E014 AFB20030 */ sw $s2, 0x30($sp) +/* 35B9E8 E004E018 0080902D */ daddu $s2, $a0, $zero +/* 35B9EC E004E01C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 35B9F0 E004E020 4487C000 */ mtc1 $a3, $f24 +/* 35B9F4 E004E024 27A40010 */ addiu $a0, $sp, 0x10 +/* 35B9F8 E004E028 AFB30034 */ sw $s3, 0x34($sp) +/* 35B9FC E004E02C 8FB3006C */ lw $s3, 0x6c($sp) +/* 35BA00 E004E030 3C02E005 */ lui $v0, 0xe005 +/* 35BA04 E004E034 2442E15C */ addiu $v0, $v0, -0x1ea4 +/* 35BA08 E004E038 AFA20018 */ sw $v0, 0x18($sp) +/* 35BA0C E004E03C 3C02E005 */ lui $v0, 0xe005 +/* 35BA10 E004E040 2442E164 */ addiu $v0, $v0, -0x1e9c +/* 35BA14 E004E044 AFA2001C */ sw $v0, 0x1c($sp) +/* 35BA18 E004E048 3C02E005 */ lui $v0, 0xe005 +/* 35BA1C E004E04C 2442E1D0 */ addiu $v0, $v0, -0x1e30 +/* 35BA20 E004E050 AFA20020 */ sw $v0, 0x20($sp) +/* 35BA24 E004E054 24020027 */ addiu $v0, $zero, 0x27 +/* 35BA28 E004E058 AFBF0038 */ sw $ra, 0x38($sp) +/* 35BA2C E004E05C AFB1002C */ sw $s1, 0x2c($sp) +/* 35BA30 E004E060 AFB00028 */ sw $s0, 0x28($sp) +/* 35BA34 E004E064 AFA00010 */ sw $zero, 0x10($sp) +/* 35BA38 E004E068 AFA00024 */ sw $zero, 0x24($sp) +/* 35BA3C E004E06C 0C080124 */ jal func_E0200490 +/* 35BA40 E004E070 AFA20014 */ sw $v0, 0x14($sp) +/* 35BA44 E004E074 24040028 */ addiu $a0, $zero, 0x28 +/* 35BA48 E004E078 24110001 */ addiu $s1, $zero, 1 +/* 35BA4C E004E07C 0040802D */ daddu $s0, $v0, $zero +/* 35BA50 E004E080 0C08012C */ jal func_E02004B0 +/* 35BA54 E004E084 AE110008 */ sw $s1, 8($s0) +/* 35BA58 E004E088 AE02000C */ sw $v0, 0xc($s0) +/* 35BA5C E004E08C 0040802D */ daddu $s0, $v0, $zero +/* 35BA60 E004E090 16000003 */ bnez $s0, .LE004E0A0 +/* 35BA64 E004E094 0200202D */ daddu $a0, $s0, $zero +.LE004E098: +/* 35BA68 E004E098 08013826 */ j .LE004E098 +/* 35BA6C E004E09C 00000000 */ nop +.LE004E0A0: +/* 35BA70 E004E0A0 00112880 */ sll $a1, $s1, 2 +/* 35BA74 E004E0A4 00B12821 */ addu $a1, $a1, $s1 +/* 35BA78 E004E0A8 0C080130 */ jal func_E02004C0 +/* 35BA7C E004E0AC 000528C0 */ sll $a1, $a1, 3 +/* 35BA80 E004E0B0 AE130014 */ sw $s3, 0x14($s0) +/* 35BA84 E004E0B4 AE000018 */ sw $zero, 0x18($s0) +/* 35BA88 E004E0B8 AE13001C */ sw $s3, 0x1c($s0) +/* 35BA8C E004E0BC AE000020 */ sw $zero, 0x20($s0) +/* 35BA90 E004E0C0 A6120000 */ sh $s2, ($s0) +/* 35BA94 E004E0C4 E6140004 */ swc1 $f20, 4($s0) +/* 35BA98 E004E0C8 E6160008 */ swc1 $f22, 8($s0) +/* 35BA9C E004E0CC E618000C */ swc1 $f24, 0xc($s0) +/* 35BAA0 E004E0D0 C7A00068 */ lwc1 $f0, 0x68($sp) +/* 35BAA4 E004E0D4 12400006 */ beqz $s2, .LE004E0F0 +/* 35BAA8 E004E0D8 E6000010 */ swc1 $f0, 0x10($s0) +/* 35BAAC E004E0DC 24020001 */ addiu $v0, $zero, 1 +/* 35BAB0 E004E0E0 12420008 */ beq $s2, $v0, .LE004E104 +/* 35BAB4 E004E0E4 240200E1 */ addiu $v0, $zero, 0xe1 +/* 35BAB8 E004E0E8 08013847 */ j .LE004E11C +/* 35BABC E004E0EC A2020024 */ sb $v0, 0x24($s0) +.LE004E0F0: +/* 35BAC0 E004E0F0 24020082 */ addiu $v0, $zero, 0x82 +/* 35BAC4 E004E0F4 A2000026 */ sb $zero, 0x26($s0) +/* 35BAC8 E004E0F8 A2000025 */ sb $zero, 0x25($s0) +/* 35BACC E004E0FC 0801384C */ j .LE004E130 +/* 35BAD0 E004E100 A2000024 */ sb $zero, 0x24($s0) +.LE004E104: +/* 35BAD4 E004E104 240200FF */ addiu $v0, $zero, 0xff +/* 35BAD8 E004E108 A2020024 */ sb $v0, 0x24($s0) +/* 35BADC E004E10C 24020082 */ addiu $v0, $zero, 0x82 +/* 35BAE0 E004E110 A2000026 */ sb $zero, 0x26($s0) +/* 35BAE4 E004E114 0801384C */ j .LE004E130 +/* 35BAE8 E004E118 A2000025 */ sb $zero, 0x25($s0) +.LE004E11C: +/* 35BAEC E004E11C 240200D7 */ addiu $v0, $zero, 0xd7 +/* 35BAF0 E004E120 A2020025 */ sb $v0, 0x25($s0) +/* 35BAF4 E004E124 240200FF */ addiu $v0, $zero, 0xff +/* 35BAF8 E004E128 A2020026 */ sb $v0, 0x26($s0) +/* 35BAFC E004E12C 240200B4 */ addiu $v0, $zero, 0xb4 +.LE004E130: +/* 35BB00 E004E130 A2020027 */ sb $v0, 0x27($s0) +/* 35BB04 E004E134 8FBF0038 */ lw $ra, 0x38($sp) +/* 35BB08 E004E138 8FB30034 */ lw $s3, 0x34($sp) +/* 35BB0C E004E13C 8FB20030 */ lw $s2, 0x30($sp) +/* 35BB10 E004E140 8FB1002C */ lw $s1, 0x2c($sp) +/* 35BB14 E004E144 8FB00028 */ lw $s0, 0x28($sp) +/* 35BB18 E004E148 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 35BB1C E004E14C D7B60048 */ ldc1 $f22, 0x48($sp) +/* 35BB20 E004E150 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 35BB24 E004E154 03E00008 */ jr $ra +/* 35BB28 E004E158 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_35B9D0/func_E004E15C.s b/asm/nonmatchings/code_35B9D0/func_E004E15C.s new file mode 100644 index 0000000000..c4b61646fe --- /dev/null +++ b/asm/nonmatchings/code_35B9D0/func_E004E15C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004E15C +/* 35BB2C E004E15C 03E00008 */ jr $ra +/* 35BB30 E004E160 00000000 */ nop diff --git a/asm/nonmatchings/code_35B9D0/func_E004E164.s b/asm/nonmatchings/code_35B9D0/func_E004E164.s new file mode 100644 index 0000000000..91f7c38391 --- /dev/null +++ b/asm/nonmatchings/code_35B9D0/func_E004E164.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004E164 +/* 35BB34 E004E164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 35BB38 E004E168 0080282D */ daddu $a1, $a0, $zero +/* 35BB3C E004E16C AFBF0010 */ sw $ra, 0x10($sp) +/* 35BB40 E004E170 8CA2000C */ lw $v0, 0xc($a1) +/* 35BB44 E004E174 3C014100 */ lui $at, 0x4100 +/* 35BB48 E004E178 44810000 */ mtc1 $at, $f0 +/* 35BB4C E004E17C 8C430018 */ lw $v1, 0x18($v0) +/* 35BB50 E004E180 8C440014 */ lw $a0, 0x14($v0) +/* 35BB54 E004E184 44831000 */ mtc1 $v1, $f2 +/* 35BB58 E004E188 00000000 */ nop +/* 35BB5C E004E18C 468010A0 */ cvt.s.w $f2, $f2 +/* 35BB60 E004E190 24630001 */ addiu $v1, $v1, 1 +/* 35BB64 E004E194 46001082 */ mul.s $f2, $f2, $f0 +/* 35BB68 E004E198 00000000 */ nop +/* 35BB6C E004E19C 2484FFFF */ addiu $a0, $a0, -1 +/* 35BB70 E004E1A0 C440001C */ lwc1 $f0, 0x1c($v0) +/* 35BB74 E004E1A4 46800020 */ cvt.s.w $f0, $f0 +/* 35BB78 E004E1A8 AC430018 */ sw $v1, 0x18($v0) +/* 35BB7C E004E1AC AC440014 */ sw $a0, 0x14($v0) +/* 35BB80 E004E1B0 46001083 */ div.s $f2, $f2, $f0 +/* 35BB84 E004E1B4 04810003 */ bgez $a0, .LE004E1C4 +/* 35BB88 E004E1B8 E4420020 */ swc1 $f2, 0x20($v0) +/* 35BB8C E004E1BC 0C080128 */ jal func_E02004A0 +/* 35BB90 E004E1C0 00A0202D */ daddu $a0, $a1, $zero +.LE004E1C4: +/* 35BB94 E004E1C4 8FBF0010 */ lw $ra, 0x10($sp) +/* 35BB98 E004E1C8 03E00008 */ jr $ra +/* 35BB9C E004E1CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_35B9D0/func_E004E1D0.s b/asm/nonmatchings/code_35B9D0/func_E004E1D0.s new file mode 100644 index 0000000000..6bc5afde43 --- /dev/null +++ b/asm/nonmatchings/code_35B9D0/func_E004E1D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004E1D0 +/* 35BBA0 E004E1D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 35BBA4 E004E1D4 3C02E005 */ lui $v0, 0xe005 +/* 35BBA8 E004E1D8 2442E214 */ addiu $v0, $v0, -0x1dec +/* 35BBAC E004E1DC AFA2001C */ sw $v0, 0x1c($sp) +/* 35BBB0 E004E1E0 24020028 */ addiu $v0, $zero, 0x28 +/* 35BBB4 E004E1E4 AFA40018 */ sw $a0, 0x18($sp) +/* 35BBB8 E004E1E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 35BBBC E004E1EC AFBF0020 */ sw $ra, 0x20($sp) +/* 35BBC0 E004E1F0 AFA00014 */ sw $zero, 0x14($sp) +/* 35BBC4 E004E1F4 0C080120 */ jal func_E0200480 +/* 35BBC8 E004E1F8 AFA20010 */ sw $v0, 0x10($sp) +/* 35BBCC E004E1FC 8C430000 */ lw $v1, ($v0) +/* 35BBD0 E004E200 34630002 */ ori $v1, $v1, 2 +/* 35BBD4 E004E204 AC430000 */ sw $v1, ($v0) +/* 35BBD8 E004E208 8FBF0020 */ lw $ra, 0x20($sp) +/* 35BBDC E004E20C 03E00008 */ jr $ra +/* 35BBE0 E004E210 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_35B9D0/func_E004E214.s b/asm/nonmatchings/code_35B9D0/func_E004E214.s new file mode 100644 index 0000000000..3b6ce67086 --- /dev/null +++ b/asm/nonmatchings/code_35B9D0/func_E004E214.s @@ -0,0 +1,249 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E004E214 +/* 35BBE4 E004E214 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 35BBE8 E004E218 0080302D */ daddu $a2, $a0, $zero +/* 35BBEC E004E21C 3C07DB06 */ lui $a3, 0xdb06 +/* 35BBF0 E004E220 34E70024 */ ori $a3, $a3, 0x24 +/* 35BBF4 E004E224 27A40020 */ addiu $a0, $sp, 0x20 +/* 35BBF8 E004E228 AFB700BC */ sw $s7, 0xbc($sp) +/* 35BBFC E004E22C 3C17800A */ lui $s7, 0x800a +/* 35BC00 E004E230 26F7A66C */ addiu $s7, $s7, -0x5994 +/* 35BC04 E004E234 AFB600B8 */ sw $s6, 0xb8($sp) +/* 35BC08 E004E238 3C160001 */ lui $s6, 1 +/* 35BC0C E004E23C 36D61630 */ ori $s6, $s6, 0x1630 +/* 35BC10 E004E240 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 35BC14 E004E244 AFBE00C0 */ sw $fp, 0xc0($sp) +/* 35BC18 E004E248 AFB500B4 */ sw $s5, 0xb4($sp) +/* 35BC1C E004E24C AFB400B0 */ sw $s4, 0xb0($sp) +/* 35BC20 E004E250 AFB300AC */ sw $s3, 0xac($sp) +/* 35BC24 E004E254 AFB200A8 */ sw $s2, 0xa8($sp) +/* 35BC28 E004E258 AFB100A4 */ sw $s1, 0xa4($sp) +/* 35BC2C E004E25C AFB000A0 */ sw $s0, 0xa0($sp) +/* 35BC30 E004E260 F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 35BC34 E004E264 8EE80000 */ lw $t0, ($s7) +/* 35BC38 E004E268 8CD1000C */ lw $s1, 0xc($a2) +/* 35BC3C E004E26C 4480A000 */ mtc1 $zero, $f20 +/* 35BC40 E004E270 3C09E005 */ lui $t1, 0xe005 +/* 35BC44 E004E274 8D29E5EC */ lw $t1, -0x1a14($t1) +/* 35BC48 E004E278 3C014380 */ lui $at, 0x4380 +/* 35BC4C E004E27C 44812000 */ mtc1 $at, $f4 +/* 35BC50 E004E280 0100182D */ daddu $v1, $t0, $zero +/* 35BC54 E004E284 25080008 */ addiu $t0, $t0, 8 +/* 35BC58 E004E288 96220000 */ lhu $v0, ($s1) +/* 35BC5C E004E28C 4405A000 */ mfc1 $a1, $f20 +/* 35BC60 E004E290 C6260020 */ lwc1 $f6, 0x20($s1) +/* 35BC64 E004E294 00021080 */ sll $v0, $v0, 2 +/* 35BC68 E004E298 3C1EE005 */ lui $fp, 0xe005 +/* 35BC6C E004E29C 03C2F021 */ addu $fp, $fp, $v0 +/* 35BC70 E004E2A0 8FDEE5E0 */ lw $fp, -0x1a20($fp) +/* 35BC74 E004E2A4 3C02E700 */ lui $v0, 0xe700 +/* 35BC78 E004E2A8 4600328D */ trunc.w.s $f10, $f6 +/* 35BC7C E004E2AC 44145000 */ mfc1 $s4, $f10 +/* 35BC80 E004E2B0 00000000 */ nop +/* 35BC84 E004E2B4 44941000 */ mtc1 $s4, $f2 +/* 35BC88 E004E2B8 00000000 */ nop +/* 35BC8C E004E2BC 468010A0 */ cvt.s.w $f2, $f2 +/* 35BC90 E004E2C0 3A950007 */ xori $s5, $s4, 7 +/* 35BC94 E004E2C4 2EB50001 */ sltiu $s5, $s5, 1 +/* 35BC98 E004E2C8 46023181 */ sub.s $f6, $f6, $f2 +/* 35BC9C E004E2CC AC620000 */ sw $v0, ($v1) +/* 35BCA0 E004E2D0 AC600004 */ sw $zero, 4($v1) +/* 35BCA4 E004E2D4 AD070000 */ sw $a3, ($t0) +/* 35BCA8 E004E2D8 8CC20010 */ lw $v0, 0x10($a2) +/* 35BCAC E004E2DC 4407A000 */ mfc1 $a3, $f20 +/* 35BCB0 E004E2E0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 35BCB4 E004E2E4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 35BCB8 E004E2E8 8C46001C */ lw $a2, 0x1c($v0) +/* 35BCBC E004E2EC 3C02DE00 */ lui $v0, 0xde00 +/* 35BCC0 E004E2F0 AD020008 */ sw $v0, 8($t0) +/* 35BCC4 E004E2F4 3C028000 */ lui $v0, 0x8000 +/* 35BCC8 E004E2F8 AD09000C */ sw $t1, 0xc($t0) +/* 35BCCC E004E2FC 00C23021 */ addu $a2, $a2, $v0 +/* 35BCD0 E004E300 00031080 */ sll $v0, $v1, 2 +/* 35BCD4 E004E304 00431021 */ addu $v0, $v0, $v1 +/* 35BCD8 E004E308 00021080 */ sll $v0, $v0, 2 +/* 35BCDC E004E30C 00431023 */ subu $v0, $v0, $v1 +/* 35BCE0 E004E310 000218C0 */ sll $v1, $v0, 3 +/* 35BCE4 E004E314 00431021 */ addu $v0, $v0, $v1 +/* 35BCE8 E004E318 000210C0 */ sll $v0, $v0, 3 +/* 35BCEC E004E31C AD060004 */ sw $a2, 4($t0) +/* 35BCF0 E004E320 3C01800B */ lui $at, 0x800b +/* 35BCF4 E004E324 00220821 */ addu $at, $at, $v0 +/* 35BCF8 E004E328 C4281DEC */ lwc1 $f8, 0x1dec($at) +/* 35BCFC E004E32C C6200010 */ lwc1 $f0, 0x10($s1) +/* 35BD00 E004E330 25020008 */ addiu $v0, $t0, 8 +/* 35BD04 E004E334 AEE80000 */ sw $t0, ($s7) +/* 35BD08 E004E338 46004207 */ neg.s $f8, $f8 +/* 35BD0C E004E33C E7A00010 */ swc1 $f0, 0x10($sp) +/* 35BD10 E004E340 C6200004 */ lwc1 $f0, 4($s1) +/* 35BD14 E004E344 44064000 */ mfc1 $a2, $f8 +/* 35BD18 E004E348 46043182 */ mul.s $f6, $f6, $f4 +/* 35BD1C E004E34C 00000000 */ nop +/* 35BD20 E004E350 AEE20000 */ sw $v0, ($s7) +/* 35BD24 E004E354 E7A00014 */ swc1 $f0, 0x14($sp) +/* 35BD28 E004E358 C6200008 */ lwc1 $f0, 8($s1) +/* 35BD2C E004E35C 25080010 */ addiu $t0, $t0, 0x10 +/* 35BD30 E004E360 AEE80000 */ sw $t0, ($s7) +/* 35BD34 E004E364 E7A00018 */ swc1 $f0, 0x18($sp) +/* 35BD38 E004E368 C620000C */ lwc1 $f0, 0xc($s1) +/* 35BD3C E004E36C 4600328D */ trunc.w.s $f10, $f6 +/* 35BD40 E004E370 44135000 */ mfc1 $s3, $f10 +/* 35BD44 E004E374 0C080180 */ jal func_E0200600 +/* 35BD48 E004E378 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 35BD4C E004E37C 27B00060 */ addiu $s0, $sp, 0x60 +/* 35BD50 E004E380 0200202D */ daddu $a0, $s0, $zero +/* 35BD54 E004E384 3C0541A0 */ lui $a1, 0x41a0 +/* 35BD58 E004E388 4406A000 */ mfc1 $a2, $f20 +/* 35BD5C E004E38C 3C013F80 */ lui $at, 0x3f80 +/* 35BD60 E004E390 44810000 */ mtc1 $at, $f0 +/* 35BD64 E004E394 00C0382D */ daddu $a3, $a2, $zero +/* 35BD68 E004E398 0C080104 */ jal func_E0200410 +/* 35BD6C E004E39C E7A00010 */ swc1 $f0, 0x10($sp) +/* 35BD70 E004E3A0 0200202D */ daddu $a0, $s0, $zero +/* 35BD74 E004E3A4 27A50020 */ addiu $a1, $sp, 0x20 +/* 35BD78 E004E3A8 0C080114 */ jal func_E0200450 +/* 35BD7C E004E3AC 00A0302D */ daddu $a2, $a1, $zero +/* 35BD80 E004E3B0 27A40020 */ addiu $a0, $sp, 0x20 +/* 35BD84 E004E3B4 3C108007 */ lui $s0, 0x8007 +/* 35BD88 E004E3B8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 35BD8C E004E3BC 3C12800A */ lui $s2, 0x800a +/* 35BD90 E004E3C0 2652A674 */ addiu $s2, $s2, -0x598c +/* 35BD94 E004E3C4 96050000 */ lhu $a1, ($s0) +/* 35BD98 E004E3C8 8E420000 */ lw $v0, ($s2) +/* 35BD9C E004E3CC 00052980 */ sll $a1, $a1, 6 +/* 35BDA0 E004E3D0 00B62821 */ addu $a1, $a1, $s6 +/* 35BDA4 E004E3D4 0C080118 */ jal func_E0200460 +/* 35BDA8 E004E3D8 00452821 */ addu $a1, $v0, $a1 +/* 35BDAC E004E3DC 3C07E200 */ lui $a3, 0xe200 +/* 35BDB0 E004E3E0 34E71E01 */ ori $a3, $a3, 0x1e01 +/* 35BDB4 E004E3E4 8EE80000 */ lw $t0, ($s7) +/* 35BDB8 E004E3E8 3C03DA38 */ lui $v1, 0xda38 +/* 35BDBC E004E3EC 0100202D */ daddu $a0, $t0, $zero +/* 35BDC0 E004E3F0 25080008 */ addiu $t0, $t0, 8 +/* 35BDC4 E004E3F4 AEE80000 */ sw $t0, ($s7) +/* 35BDC8 E004E3F8 96020000 */ lhu $v0, ($s0) +/* 35BDCC E004E3FC 327300FF */ andi $s3, $s3, 0xff +/* 35BDD0 E004E400 AC830000 */ sw $v1, ($a0) +/* 35BDD4 E004E404 24430001 */ addiu $v1, $v0, 1 +/* 35BDD8 E004E408 3042FFFF */ andi $v0, $v0, 0xffff +/* 35BDDC E004E40C 00021180 */ sll $v0, $v0, 6 +/* 35BDE0 E004E410 A6030000 */ sh $v1, ($s0) +/* 35BDE4 E004E414 8E430000 */ lw $v1, ($s2) +/* 35BDE8 E004E418 00561021 */ addu $v0, $v0, $s6 +/* 35BDEC E004E41C 00621821 */ addu $v1, $v1, $v0 +/* 35BDF0 E004E420 25020008 */ addiu $v0, $t0, 8 +/* 35BDF4 E004E424 AC830004 */ sw $v1, 4($a0) +/* 35BDF8 E004E428 AEE20000 */ sw $v0, ($s7) +/* 35BDFC E004E42C 3C02FA00 */ lui $v0, 0xfa00 +/* 35BE00 E004E430 AD020000 */ sw $v0, ($t0) +/* 35BE04 E004E434 92230024 */ lbu $v1, 0x24($s1) +/* 35BE08 E004E438 92240025 */ lbu $a0, 0x25($s1) +/* 35BE0C E004E43C 92250026 */ lbu $a1, 0x26($s1) +/* 35BE10 E004E440 92260027 */ lbu $a2, 0x27($s1) +/* 35BE14 E004E444 25020010 */ addiu $v0, $t0, 0x10 +/* 35BE18 E004E448 AEE20000 */ sw $v0, ($s7) +/* 35BE1C E004E44C 3C02FB00 */ lui $v0, 0xfb00 +/* 35BE20 E004E450 AD020008 */ sw $v0, 8($t0) +/* 35BE24 E004E454 25020018 */ addiu $v0, $t0, 0x18 +/* 35BE28 E004E458 AD13000C */ sw $s3, 0xc($t0) +/* 35BE2C E004E45C AEE20000 */ sw $v0, ($s7) +/* 35BE30 E004E460 24020003 */ addiu $v0, $zero, 3 +/* 35BE34 E004E464 AD020014 */ sw $v0, 0x14($t0) +/* 35BE38 E004E468 25020020 */ addiu $v0, $t0, 0x20 +/* 35BE3C E004E46C AD070010 */ sw $a3, 0x10($t0) +/* 35BE40 E004E470 AEE20000 */ sw $v0, ($s7) +/* 35BE44 E004E474 001411C0 */ sll $v0, $s4, 7 +/* 35BE48 E004E478 30420FFF */ andi $v0, $v0, 0xfff +/* 35BE4C E004E47C 00021300 */ sll $v0, $v0, 0xc +/* 35BE50 E004E480 3C07F200 */ lui $a3, 0xf200 +/* 35BE54 E004E484 00471025 */ or $v0, $v0, $a3 +/* 35BE58 E004E488 0014A140 */ sll $s4, $s4, 5 +/* 35BE5C E004E48C AD020018 */ sw $v0, 0x18($t0) +/* 35BE60 E004E490 2682001F */ addiu $v0, $s4, 0x1f +/* 35BE64 E004E494 00021080 */ sll $v0, $v0, 2 +/* 35BE68 E004E498 30420FFF */ andi $v0, $v0, 0xfff +/* 35BE6C E004E49C 00021300 */ sll $v0, $v0, 0xc +/* 35BE70 E004E4A0 3442007C */ ori $v0, $v0, 0x7c +/* 35BE74 E004E4A4 AD02001C */ sw $v0, 0x1c($t0) +/* 35BE78 E004E4A8 00031E00 */ sll $v1, $v1, 0x18 +/* 35BE7C E004E4AC 00042400 */ sll $a0, $a0, 0x10 +/* 35BE80 E004E4B0 00641825 */ or $v1, $v1, $a0 +/* 35BE84 E004E4B4 00052A00 */ sll $a1, $a1, 8 +/* 35BE88 E004E4B8 00651825 */ or $v1, $v1, $a1 +/* 35BE8C E004E4BC 00661825 */ or $v1, $v1, $a2 +/* 35BE90 E004E4C0 26850020 */ addiu $a1, $s4, 0x20 +/* 35BE94 E004E4C4 12A00012 */ beqz $s5, .LE004E510 +/* 35BE98 E004E4C8 AD030004 */ sw $v1, 4($t0) +/* 35BE9C E004E4CC 00E0182D */ daddu $v1, $a3, $zero +/* 35BEA0 E004E4D0 34630080 */ ori $v1, $v1, 0x80 +/* 35BEA4 E004E4D4 3C040100 */ lui $a0, 0x100 +/* 35BEA8 E004E4D8 348400FC */ ori $a0, $a0, 0xfc +/* 35BEAC E004E4DC 25020028 */ addiu $v0, $t0, 0x28 +/* 35BEB0 E004E4E0 AEE20000 */ sw $v0, ($s7) +/* 35BEB4 E004E4E4 00051080 */ sll $v0, $a1, 2 +/* 35BEB8 E004E4E8 30420FFF */ andi $v0, $v0, 0xfff +/* 35BEBC E004E4EC 00021300 */ sll $v0, $v0, 0xc +/* 35BEC0 E004E4F0 00431025 */ or $v0, $v0, $v1 +/* 35BEC4 E004E4F4 AD020020 */ sw $v0, 0x20($t0) +/* 35BEC8 E004E4F8 2682003F */ addiu $v0, $s4, 0x3f +/* 35BECC E004E4FC 00021080 */ sll $v0, $v0, 2 +/* 35BED0 E004E500 30420FFF */ andi $v0, $v0, 0xfff +/* 35BED4 E004E504 00021300 */ sll $v0, $v0, 0xc +/* 35BED8 E004E508 08013952 */ j .LE004E548 +/* 35BEDC E004E50C 00441025 */ or $v0, $v0, $a0 +.LE004E510: +/* 35BEE0 E004E510 3C030100 */ lui $v1, 0x100 +/* 35BEE4 E004E514 3463007C */ ori $v1, $v1, 0x7c +/* 35BEE8 E004E518 25020028 */ addiu $v0, $t0, 0x28 +/* 35BEEC E004E51C AEE20000 */ sw $v0, ($s7) +/* 35BEF0 E004E520 00051080 */ sll $v0, $a1, 2 +/* 35BEF4 E004E524 30420FFF */ andi $v0, $v0, 0xfff +/* 35BEF8 E004E528 00021300 */ sll $v0, $v0, 0xc +/* 35BEFC E004E52C 00471025 */ or $v0, $v0, $a3 +/* 35BF00 E004E530 AD020020 */ sw $v0, 0x20($t0) +/* 35BF04 E004E534 2682003F */ addiu $v0, $s4, 0x3f +/* 35BF08 E004E538 00021080 */ sll $v0, $v0, 2 +/* 35BF0C E004E53C 30420FFF */ andi $v0, $v0, 0xfff +/* 35BF10 E004E540 00021300 */ sll $v0, $v0, 0xc +/* 35BF14 E004E544 00431025 */ or $v0, $v0, $v1 +.LE004E548: +/* 35BF18 E004E548 AD020024 */ sw $v0, 0x24($t0) +/* 35BF1C E004E54C 3C06E200 */ lui $a2, 0xe200 +/* 35BF20 E004E550 34C61E01 */ ori $a2, $a2, 0x1e01 +/* 35BF24 E004E554 3C07D838 */ lui $a3, 0xd838 +/* 35BF28 E004E558 3C04800A */ lui $a0, 0x800a +/* 35BF2C E004E55C 2484A66C */ addiu $a0, $a0, -0x5994 +/* 35BF30 E004E560 34E70002 */ ori $a3, $a3, 2 +/* 35BF34 E004E564 8C820000 */ lw $v0, ($a0) +/* 35BF38 E004E568 3C03DE00 */ lui $v1, 0xde00 +/* 35BF3C E004E56C 0040282D */ daddu $a1, $v0, $zero +/* 35BF40 E004E570 24420008 */ addiu $v0, $v0, 8 +/* 35BF44 E004E574 AC820000 */ sw $v0, ($a0) +/* 35BF48 E004E578 ACA30000 */ sw $v1, ($a1) +/* 35BF4C E004E57C 24430008 */ addiu $v1, $v0, 8 +/* 35BF50 E004E580 ACBE0004 */ sw $fp, 4($a1) +/* 35BF54 E004E584 AC830000 */ sw $v1, ($a0) +/* 35BF58 E004E588 24430010 */ addiu $v1, $v0, 0x10 +/* 35BF5C E004E58C AC460000 */ sw $a2, ($v0) +/* 35BF60 E004E590 AC400004 */ sw $zero, 4($v0) +/* 35BF64 E004E594 AC830000 */ sw $v1, ($a0) +/* 35BF68 E004E598 24030040 */ addiu $v1, $zero, 0x40 +/* 35BF6C E004E59C AC470008 */ sw $a3, 8($v0) +/* 35BF70 E004E5A0 AC43000C */ sw $v1, 0xc($v0) +/* 35BF74 E004E5A4 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 35BF78 E004E5A8 8FBE00C0 */ lw $fp, 0xc0($sp) +/* 35BF7C E004E5AC 8FB700BC */ lw $s7, 0xbc($sp) +/* 35BF80 E004E5B0 8FB600B8 */ lw $s6, 0xb8($sp) +/* 35BF84 E004E5B4 8FB500B4 */ lw $s5, 0xb4($sp) +/* 35BF88 E004E5B8 8FB400B0 */ lw $s4, 0xb0($sp) +/* 35BF8C E004E5BC 8FB300AC */ lw $s3, 0xac($sp) +/* 35BF90 E004E5C0 8FB200A8 */ lw $s2, 0xa8($sp) +/* 35BF94 E004E5C4 8FB100A4 */ lw $s1, 0xa4($sp) +/* 35BF98 E004E5C8 8FB000A0 */ lw $s0, 0xa0($sp) +/* 35BF9C E004E5CC D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 35BFA0 E004E5D0 03E00008 */ jr $ra +/* 35BFA4 E004E5D4 27BD00D0 */ addiu $sp, $sp, 0xd0 +/* 35BFA8 E004E5D8 00000000 */ nop +/* 35BFAC E004E5DC 00000000 */ nop diff --git a/asm/nonmatchings/code_35BFD0/func_E0050000.s b/asm/nonmatchings/code_35BFD0/func_E0050000.s new file mode 100644 index 0000000000..e099d5db70 --- /dev/null +++ b/asm/nonmatchings/code_35BFD0/func_E0050000.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0050000 +/* 35BFD0 E0050000 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 35BFD4 E0050004 F7B80090 */ sdc1 $f24, 0x90($sp) +/* 35BFD8 E0050008 4485C000 */ mtc1 $a1, $f24 +/* 35BFDC E005000C F7BA0098 */ sdc1 $f26, 0x98($sp) +/* 35BFE0 E0050010 4486D000 */ mtc1 $a2, $f26 +/* 35BFE4 E0050014 AFB20078 */ sw $s2, 0x78($sp) +/* 35BFE8 E0050018 0080902D */ daddu $s2, $a0, $zero +/* 35BFEC E005001C F7BC00A0 */ sdc1 $f28, 0xa0($sp) +/* 35BFF0 E0050020 4487E000 */ mtc1 $a3, $f28 +/* 35BFF4 E0050024 27A40018 */ addiu $a0, $sp, 0x18 +/* 35BFF8 E0050028 F7B60088 */ sdc1 $f22, 0x88($sp) +/* 35BFFC E005002C C7B600BC */ lwc1 $f22, 0xbc($sp) +/* 35C000 E0050030 3C02E005 */ lui $v0, 0xe005 +/* 35C004 E0050034 244201D0 */ addiu $v0, $v0, 0x1d0 +/* 35C008 E0050038 AFA20020 */ sw $v0, 0x20($sp) +/* 35C00C E005003C 3C02E005 */ lui $v0, 0xe005 +/* 35C010 E0050040 244201D8 */ addiu $v0, $v0, 0x1d8 +/* 35C014 E0050044 AFA20024 */ sw $v0, 0x24($sp) +/* 35C018 E0050048 3C02E005 */ lui $v0, 0xe005 +/* 35C01C E005004C 244202C4 */ addiu $v0, $v0, 0x2c4 +/* 35C020 E0050050 AFA20028 */ sw $v0, 0x28($sp) +/* 35C024 E0050054 24020028 */ addiu $v0, $zero, 0x28 +/* 35C028 E0050058 AFBF007C */ sw $ra, 0x7c($sp) +/* 35C02C E005005C AFB10074 */ sw $s1, 0x74($sp) +/* 35C030 E0050060 AFB00070 */ sw $s0, 0x70($sp) +/* 35C034 E0050064 F7B40080 */ sdc1 $f20, 0x80($sp) +/* 35C038 E0050068 AFA00018 */ sw $zero, 0x18($sp) +/* 35C03C E005006C AFA0002C */ sw $zero, 0x2c($sp) +/* 35C040 E0050070 0C080124 */ jal func_E0200490 +/* 35C044 E0050074 AFA2001C */ sw $v0, 0x1c($sp) +/* 35C048 E0050078 24040028 */ addiu $a0, $zero, 0x28 +/* 35C04C E005007C 24030001 */ addiu $v1, $zero, 1 +/* 35C050 E0050080 0040802D */ daddu $s0, $v0, $zero +/* 35C054 E0050084 0C08012C */ jal func_E02004B0 +/* 35C058 E0050088 AE030008 */ sw $v1, 8($s0) +/* 35C05C E005008C 0040882D */ daddu $s1, $v0, $zero +/* 35C060 E0050090 16200003 */ bnez $s1, .LE00500A0 +/* 35C064 E0050094 AE02000C */ sw $v0, 0xc($s0) +.LE0050098: +/* 35C068 E0050098 08014026 */ j .LE0050098 +/* 35C06C E005009C 00000000 */ nop +.LE00500A0: +/* 35C070 E00500A0 3C108007 */ lui $s0, %hi(gCurrentCameraID) +/* 35C074 E00500A4 26107410 */ addiu $s0, $s0, %lo(gCurrentCameraID) +/* 35C078 E00500A8 8E030000 */ lw $v1, ($s0) +/* 35C07C E00500AC AE320000 */ sw $s2, ($s1) +/* 35C080 E00500B0 00031080 */ sll $v0, $v1, 2 +/* 35C084 E00500B4 00431021 */ addu $v0, $v0, $v1 +/* 35C088 E00500B8 00021080 */ sll $v0, $v0, 2 +/* 35C08C E00500BC 00431023 */ subu $v0, $v0, $v1 +/* 35C090 E00500C0 000218C0 */ sll $v1, $v0, 3 +/* 35C094 E00500C4 00431021 */ addu $v0, $v0, $v1 +/* 35C098 E00500C8 000210C0 */ sll $v0, $v0, 3 +/* 35C09C E00500CC 3C01800B */ lui $at, 0x800b +/* 35C0A0 E00500D0 00220821 */ addu $at, $at, $v0 +/* 35C0A4 E00500D4 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 35C0A8 E00500D8 0C080140 */ jal func_E0200500 +/* 35C0AC E00500DC 00000000 */ nop +/* 35C0B0 E00500E0 8E030000 */ lw $v1, ($s0) +/* 35C0B4 E00500E4 00031080 */ sll $v0, $v1, 2 +/* 35C0B8 E00500E8 00431021 */ addu $v0, $v0, $v1 +/* 35C0BC E00500EC 00021080 */ sll $v0, $v0, 2 +/* 35C0C0 E00500F0 00431023 */ subu $v0, $v0, $v1 +/* 35C0C4 E00500F4 000218C0 */ sll $v1, $v0, 3 +/* 35C0C8 E00500F8 00431021 */ addu $v0, $v0, $v1 +/* 35C0CC E00500FC 000210C0 */ sll $v0, $v0, 3 +/* 35C0D0 E0050100 3C01800B */ lui $at, 0x800b +/* 35C0D4 E0050104 00220821 */ addu $at, $at, $v0 +/* 35C0D8 E0050108 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 35C0DC E005010C 0C080144 */ jal func_E0200510 +/* 35C0E0 E0050110 46000506 */ mov.s $f20, $f0 +/* 35C0E4 E0050114 27A40030 */ addiu $a0, $sp, 0x30 +/* 35C0E8 E0050118 0000382D */ daddu $a3, $zero, $zero +/* 35C0EC E005011C 4600B107 */ neg.s $f4, $f22 +/* 35C0F0 E0050120 4406A000 */ mfc1 $a2, $f20 +/* 35C0F4 E0050124 44052000 */ mfc1 $a1, $f4 +/* 35C0F8 E0050128 46000007 */ neg.s $f0, $f0 +/* 35C0FC E005012C 0C080104 */ jal func_E0200410 +/* 35C100 E0050130 E7A00010 */ swc1 $f0, 0x10($sp) +/* 35C104 E0050134 3C014180 */ lui $at, 0x4180 +/* 35C108 E0050138 44810000 */ mtc1 $at, $f0 +/* 35C10C E005013C C7A200B8 */ lwc1 $f2, 0xb8($sp) +/* 35C110 E0050140 46001080 */ add.s $f2, $f2, $f0 +/* 35C114 E0050144 C7A00040 */ lwc1 $f0, 0x40($sp) +/* 35C118 E0050148 46020002 */ mul.s $f0, $f0, $f2 +/* 35C11C E005014C 00000000 */ nop +/* 35C120 E0050150 4600C000 */ add.s $f0, $f24, $f0 +/* 35C124 E0050154 E6200004 */ swc1 $f0, 4($s1) +/* 35C128 E0050158 C7A00044 */ lwc1 $f0, 0x44($sp) +/* 35C12C E005015C 46020002 */ mul.s $f0, $f0, $f2 +/* 35C130 E0050160 00000000 */ nop +/* 35C134 E0050164 4600D000 */ add.s $f0, $f26, $f0 +/* 35C138 E0050168 E6200008 */ swc1 $f0, 8($s1) +/* 35C13C E005016C C7A00048 */ lwc1 $f0, 0x48($sp) +/* 35C140 E0050170 46020002 */ mul.s $f0, $f0, $f2 +/* 35C144 E0050174 00000000 */ nop +/* 35C148 E0050178 4600E000 */ add.s $f0, $f28, $f0 +/* 35C14C E005017C E620000C */ swc1 $f0, 0xc($s1) +/* 35C150 E0050180 C7A00040 */ lwc1 $f0, 0x40($sp) +/* 35C154 E0050184 E6200018 */ swc1 $f0, 0x18($s1) +/* 35C158 E0050188 C7A00044 */ lwc1 $f0, 0x44($sp) +/* 35C15C E005018C E620001C */ swc1 $f0, 0x1c($s1) +/* 35C160 E0050190 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 35C164 E0050194 E6360010 */ swc1 $f22, 0x10($s1) +/* 35C168 E0050198 8FA200C0 */ lw $v0, 0xc0($sp) +/* 35C16C E005019C AE220024 */ sw $v0, 0x24($s1) +/* 35C170 E00501A0 E6200020 */ swc1 $f0, 0x20($s1) +/* 35C174 E00501A4 8FBF007C */ lw $ra, 0x7c($sp) +/* 35C178 E00501A8 8FB20078 */ lw $s2, 0x78($sp) +/* 35C17C E00501AC 8FB10074 */ lw $s1, 0x74($sp) +/* 35C180 E00501B0 8FB00070 */ lw $s0, 0x70($sp) +/* 35C184 E00501B4 D7BC00A0 */ ldc1 $f28, 0xa0($sp) +/* 35C188 E00501B8 D7BA0098 */ ldc1 $f26, 0x98($sp) +/* 35C18C E00501BC D7B80090 */ ldc1 $f24, 0x90($sp) +/* 35C190 E00501C0 D7B60088 */ ldc1 $f22, 0x88($sp) +/* 35C194 E00501C4 D7B40080 */ ldc1 $f20, 0x80($sp) +/* 35C198 E00501C8 03E00008 */ jr $ra +/* 35C19C E00501CC 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/asm/nonmatchings/code_35BFD0/func_E00501D0.s b/asm/nonmatchings/code_35BFD0/func_E00501D0.s new file mode 100644 index 0000000000..6d0497e5bd --- /dev/null +++ b/asm/nonmatchings/code_35BFD0/func_E00501D0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00501D0 +/* 35C1A0 E00501D0 03E00008 */ jr $ra +/* 35C1A4 E00501D4 00000000 */ nop diff --git a/asm/nonmatchings/code_35BFD0/func_E00501D8.s b/asm/nonmatchings/code_35BFD0/func_E00501D8.s new file mode 100644 index 0000000000..9ea407b475 --- /dev/null +++ b/asm/nonmatchings/code_35BFD0/func_E00501D8.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00501D8 +/* 35C1A8 E00501D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 35C1AC E00501DC AFBF0010 */ sw $ra, 0x10($sp) +/* 35C1B0 E00501E0 8C83000C */ lw $v1, 0xc($a0) +/* 35C1B4 E00501E4 8C620024 */ lw $v0, 0x24($v1) +/* 35C1B8 E00501E8 2442FFFF */ addiu $v0, $v0, -1 +/* 35C1BC E00501EC 04410005 */ bgez $v0, .LE0050204 +/* 35C1C0 E00501F0 AC620024 */ sw $v0, 0x24($v1) +/* 35C1C4 E00501F4 0C080128 */ jal func_E02004A0 +/* 35C1C8 E00501F8 00000000 */ nop +/* 35C1CC E00501FC 080140AE */ j .LE00502B8 +/* 35C1D0 E0050200 00000000 */ nop +.LE0050204: +/* 35C1D4 E0050204 C4620018 */ lwc1 $f2, 0x18($v1) +/* 35C1D8 E0050208 3C01E005 */ lui $at, 0xe005 +/* 35C1DC E005020C D42A0560 */ ldc1 $f10, 0x560($at) +/* 35C1E0 E0050210 460010A1 */ cvt.d.s $f2, $f2 +/* 35C1E4 E0050214 462A1082 */ mul.d $f2, $f2, $f10 +/* 35C1E8 E0050218 00000000 */ nop +/* 35C1EC E005021C C4640004 */ lwc1 $f4, 4($v1) +/* 35C1F0 E0050220 C4600018 */ lwc1 $f0, 0x18($v1) +/* 35C1F4 E0050224 C4680008 */ lwc1 $f8, 8($v1) +/* 35C1F8 E0050228 46002100 */ add.s $f4, $f4, $f0 +/* 35C1FC E005022C C460001C */ lwc1 $f0, 0x1c($v1) +/* 35C200 E0050230 C466000C */ lwc1 $f6, 0xc($v1) +/* 35C204 E0050234 46004200 */ add.s $f8, $f8, $f0 +/* 35C208 E0050238 C4600020 */ lwc1 $f0, 0x20($v1) +/* 35C20C E005023C 46003180 */ add.s $f6, $f6, $f0 +/* 35C210 E0050240 C460001C */ lwc1 $f0, 0x1c($v1) +/* 35C214 E0050244 E4640004 */ swc1 $f4, 4($v1) +/* 35C218 E0050248 3C01E005 */ lui $at, 0xe005 +/* 35C21C E005024C D4240568 */ ldc1 $f4, 0x568($at) +/* 35C220 E0050250 46000021 */ cvt.d.s $f0, $f0 +/* 35C224 E0050254 46240001 */ sub.d $f0, $f0, $f4 +/* 35C228 E0050258 E4680008 */ swc1 $f8, 8($v1) +/* 35C22C E005025C E466000C */ swc1 $f6, 0xc($v1) +/* 35C230 E0050260 46200020 */ cvt.s.d $f0, $f0 +/* 35C234 E0050264 E460001C */ swc1 $f0, 0x1c($v1) +/* 35C238 E0050268 462010A0 */ cvt.s.d $f2, $f2 +/* 35C23C E005026C E4620018 */ swc1 $f2, 0x18($v1) +/* 35C240 E0050270 3C01E005 */ lui $at, 0xe005 +/* 35C244 E0050274 D4220570 */ ldc1 $f2, 0x570($at) +/* 35C248 E0050278 46000021 */ cvt.d.s $f0, $f0 +/* 35C24C E005027C 4622003C */ c.lt.d $f0, $f2 +/* 35C250 E0050280 00000000 */ nop +/* 35C254 E0050284 45000006 */ bc1f .LE00502A0 +/* 35C258 E0050288 00000000 */ nop +/* 35C25C E005028C 3C01BDCC */ lui $at, 0xbdcc +/* 35C260 E0050290 3421CCCD */ ori $at, $at, 0xcccd +/* 35C264 E0050294 44810000 */ mtc1 $at, $f0 +/* 35C268 E0050298 00000000 */ nop +/* 35C26C E005029C E460001C */ swc1 $f0, 0x1c($v1) +.LE00502A0: +/* 35C270 E00502A0 C4600020 */ lwc1 $f0, 0x20($v1) +/* 35C274 E00502A4 46000021 */ cvt.d.s $f0, $f0 +/* 35C278 E00502A8 462A0002 */ mul.d $f0, $f0, $f10 +/* 35C27C E00502AC 00000000 */ nop +/* 35C280 E00502B0 46200020 */ cvt.s.d $f0, $f0 +/* 35C284 E00502B4 E4600020 */ swc1 $f0, 0x20($v1) +.LE00502B8: +/* 35C288 E00502B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 35C28C E00502BC 03E00008 */ jr $ra +/* 35C290 E00502C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_35BFD0/func_E00502C4.s b/asm/nonmatchings/code_35BFD0/func_E00502C4.s new file mode 100644 index 0000000000..b25cfd56c0 --- /dev/null +++ b/asm/nonmatchings/code_35BFD0/func_E00502C4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00502C4 +/* 35C294 E00502C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 35C298 E00502C8 3C02E005 */ lui $v0, 0xe005 +/* 35C29C E00502CC 24420308 */ addiu $v0, $v0, 0x308 +/* 35C2A0 E00502D0 AFA2001C */ sw $v0, 0x1c($sp) +/* 35C2A4 E00502D4 2402002D */ addiu $v0, $zero, 0x2d +/* 35C2A8 E00502D8 AFA40018 */ sw $a0, 0x18($sp) +/* 35C2AC E00502DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 35C2B0 E00502E0 AFBF0020 */ sw $ra, 0x20($sp) +/* 35C2B4 E00502E4 AFA00014 */ sw $zero, 0x14($sp) +/* 35C2B8 E00502E8 0C080120 */ jal func_E0200480 +/* 35C2BC E00502EC AFA20010 */ sw $v0, 0x10($sp) +/* 35C2C0 E00502F0 8C430000 */ lw $v1, ($v0) +/* 35C2C4 E00502F4 34630002 */ ori $v1, $v1, 2 +/* 35C2C8 E00502F8 AC430000 */ sw $v1, ($v0) +/* 35C2CC E00502FC 8FBF0020 */ lw $ra, 0x20($sp) +/* 35C2D0 E0050300 03E00008 */ jr $ra +/* 35C2D4 E0050304 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_35BFD0/func_E0050308.s b/asm/nonmatchings/code_35BFD0/func_E0050308.s new file mode 100644 index 0000000000..ce3f6568f7 --- /dev/null +++ b/asm/nonmatchings/code_35BFD0/func_E0050308.s @@ -0,0 +1,157 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0050308 +/* 35C2D8 E0050308 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 35C2DC E005030C 0080282D */ daddu $a1, $a0, $zero +/* 35C2E0 E0050310 3C06DB06 */ lui $a2, 0xdb06 +/* 35C2E4 E0050314 34C60024 */ ori $a2, $a2, 0x24 +/* 35C2E8 E0050318 27A40018 */ addiu $a0, $sp, 0x18 +/* 35C2EC E005031C AFB400A8 */ sw $s4, 0xa8($sp) +/* 35C2F0 E0050320 3C14800A */ lui $s4, 0x800a +/* 35C2F4 E0050324 2694A66C */ addiu $s4, $s4, -0x5994 +/* 35C2F8 E0050328 AFB200A0 */ sw $s2, 0xa0($sp) +/* 35C2FC E005032C 3C120001 */ lui $s2, 1 +/* 35C300 E0050330 3C02E700 */ lui $v0, 0xe700 +/* 35C304 E0050334 AFBF00AC */ sw $ra, 0xac($sp) +/* 35C308 E0050338 AFB300A4 */ sw $s3, 0xa4($sp) +/* 35C30C E005033C AFB1009C */ sw $s1, 0x9c($sp) +/* 35C310 E0050340 AFB00098 */ sw $s0, 0x98($sp) +/* 35C314 E0050344 F7B600B8 */ sdc1 $f22, 0xb8($sp) +/* 35C318 E0050348 F7B400B0 */ sdc1 $f20, 0xb0($sp) +/* 35C31C E005034C 8E880000 */ lw $t0, ($s4) +/* 35C320 E0050350 8CB3000C */ lw $s3, 0xc($a1) +/* 35C324 E0050354 0100182D */ daddu $v1, $t0, $zero +/* 35C328 E0050358 25080008 */ addiu $t0, $t0, 8 +/* 35C32C E005035C AC620000 */ sw $v0, ($v1) +/* 35C330 E0050360 AC600004 */ sw $zero, 4($v1) +/* 35C334 E0050364 AD060000 */ sw $a2, ($t0) +/* 35C338 E0050368 8CA20010 */ lw $v0, 0x10($a1) +/* 35C33C E005036C 36521630 */ ori $s2, $s2, 0x1630 +/* 35C340 E0050370 AE880000 */ sw $t0, ($s4) +/* 35C344 E0050374 8C42001C */ lw $v0, 0x1c($v0) +/* 35C348 E0050378 3C038000 */ lui $v1, 0x8000 +/* 35C34C E005037C 00431021 */ addu $v0, $v0, $v1 +/* 35C350 E0050380 AD020004 */ sw $v0, 4($t0) +/* 35C354 E0050384 8E650004 */ lw $a1, 4($s3) +/* 35C358 E0050388 8E660008 */ lw $a2, 8($s3) +/* 35C35C E005038C 8E67000C */ lw $a3, 0xc($s3) +/* 35C360 E0050390 25080008 */ addiu $t0, $t0, 8 +/* 35C364 E0050394 0C080108 */ jal func_E0200420 +/* 35C368 E0050398 AE880000 */ sw $t0, ($s4) +/* 35C36C E005039C 27B00058 */ addiu $s0, $sp, 0x58 +/* 35C370 E00503A0 4480A000 */ mtc1 $zero, $f20 +/* 35C374 E00503A4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 35C378 E00503A8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 35C37C E00503AC 3C013F80 */ lui $at, 0x3f80 +/* 35C380 E00503B0 4481B000 */ mtc1 $at, $f22 +/* 35C384 E00503B4 00031080 */ sll $v0, $v1, 2 +/* 35C388 E00503B8 00431021 */ addu $v0, $v0, $v1 +/* 35C38C E00503BC 00021080 */ sll $v0, $v0, 2 +/* 35C390 E00503C0 00431023 */ subu $v0, $v0, $v1 +/* 35C394 E00503C4 000218C0 */ sll $v1, $v0, 3 +/* 35C398 E00503C8 00431021 */ addu $v0, $v0, $v1 +/* 35C39C E00503CC 000210C0 */ sll $v0, $v0, 3 +/* 35C3A0 E00503D0 4406A000 */ mfc1 $a2, $f20 +/* 35C3A4 E00503D4 3C01800B */ lui $at, 0x800b +/* 35C3A8 E00503D8 00220821 */ addu $at, $at, $v0 +/* 35C3AC E00503DC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 35C3B0 E00503E0 4407B000 */ mfc1 $a3, $f22 +/* 35C3B4 E00503E4 46000007 */ neg.s $f0, $f0 +/* 35C3B8 E00503E8 44050000 */ mfc1 $a1, $f0 +/* 35C3BC E00503EC 0200202D */ daddu $a0, $s0, $zero +/* 35C3C0 E00503F0 0C080104 */ jal func_E0200410 +/* 35C3C4 E00503F4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 35C3C8 E00503F8 0200202D */ daddu $a0, $s0, $zero +/* 35C3CC E00503FC 27A50018 */ addiu $a1, $sp, 0x18 +/* 35C3D0 E0050400 0C080114 */ jal func_E0200450 +/* 35C3D4 E0050404 00A0302D */ daddu $a2, $a1, $zero +/* 35C3D8 E0050408 E7B60010 */ swc1 $f22, 0x10($sp) +/* 35C3DC E005040C 8E650010 */ lw $a1, 0x10($s3) +/* 35C3E0 E0050410 4406A000 */ mfc1 $a2, $f20 +/* 35C3E4 E0050414 4407A000 */ mfc1 $a3, $f20 +/* 35C3E8 E0050418 0C080104 */ jal func_E0200410 +/* 35C3EC E005041C 0200202D */ daddu $a0, $s0, $zero +/* 35C3F0 E0050420 0200202D */ daddu $a0, $s0, $zero +/* 35C3F4 E0050424 27A50018 */ addiu $a1, $sp, 0x18 +/* 35C3F8 E0050428 0C080114 */ jal func_E0200450 +/* 35C3FC E005042C 00A0302D */ daddu $a2, $a1, $zero +/* 35C400 E0050430 27A40018 */ addiu $a0, $sp, 0x18 +/* 35C404 E0050434 3C108007 */ lui $s0, 0x8007 +/* 35C408 E0050438 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 35C40C E005043C 3C11800A */ lui $s1, 0x800a +/* 35C410 E0050440 2631A674 */ addiu $s1, $s1, -0x598c +/* 35C414 E0050444 96050000 */ lhu $a1, ($s0) +/* 35C418 E0050448 8E220000 */ lw $v0, ($s1) +/* 35C41C E005044C 00052980 */ sll $a1, $a1, 6 +/* 35C420 E0050450 00B22821 */ addu $a1, $a1, $s2 +/* 35C424 E0050454 0C080118 */ jal func_E0200460 +/* 35C428 E0050458 00452821 */ addu $a1, $v0, $a1 +/* 35C42C E005045C 3C02DA38 */ lui $v0, 0xda38 +/* 35C430 E0050460 34420002 */ ori $v0, $v0, 2 +/* 35C434 E0050464 8E860000 */ lw $a2, ($s4) +/* 35C438 E0050468 96040000 */ lhu $a0, ($s0) +/* 35C43C E005046C 00C0282D */ daddu $a1, $a2, $zero +/* 35C440 E0050470 24C60008 */ addiu $a2, $a2, 8 +/* 35C444 E0050474 AE860000 */ sw $a2, ($s4) +/* 35C448 E0050478 ACA20000 */ sw $v0, ($a1) +/* 35C44C E005047C 3082FFFF */ andi $v0, $a0, 0xffff +/* 35C450 E0050480 00021180 */ sll $v0, $v0, 6 +/* 35C454 E0050484 8E230000 */ lw $v1, ($s1) +/* 35C458 E0050488 00521021 */ addu $v0, $v0, $s2 +/* 35C45C E005048C 00621821 */ addu $v1, $v1, $v0 +/* 35C460 E0050490 ACA30004 */ sw $v1, 4($a1) +/* 35C464 E0050494 C6600010 */ lwc1 $f0, 0x10($s3) +/* 35C468 E0050498 24840001 */ addiu $a0, $a0, 1 +/* 35C46C E005049C 4600A03C */ c.lt.s $f20, $f0 +/* 35C470 E00504A0 00000000 */ nop +/* 35C474 E00504A4 4500000D */ bc1f .LE00504DC +/* 35C478 E00504A8 A6040000 */ sh $a0, ($s0) +/* 35C47C E00504AC 3C040900 */ lui $a0, 0x900 +/* 35C480 E00504B0 248402C8 */ addiu $a0, $a0, 0x2c8 +/* 35C484 E00504B4 3C02DE00 */ lui $v0, 0xde00 +/* 35C488 E00504B8 ACC20000 */ sw $v0, ($a2) +/* 35C48C E00504BC 8E630000 */ lw $v1, ($s3) +/* 35C490 E00504C0 24C20008 */ addiu $v0, $a2, 8 +/* 35C494 E00504C4 1460000F */ bnez $v1, .LE0050504 +/* 35C498 E00504C8 AE820000 */ sw $v0, ($s4) +/* 35C49C E00504CC 3C040900 */ lui $a0, 0x900 +/* 35C4A0 E00504D0 24840200 */ addiu $a0, $a0, 0x200 +/* 35C4A4 E00504D4 08014142 */ j .LE0050508 +/* 35C4A8 E00504D8 ACC40004 */ sw $a0, 4($a2) +.LE00504DC: +/* 35C4AC E00504DC 3C040900 */ lui $a0, 0x900 +/* 35C4B0 E00504E0 24840460 */ addiu $a0, $a0, 0x460 +/* 35C4B4 E00504E4 3C02DE00 */ lui $v0, 0xde00 +/* 35C4B8 E00504E8 ACC20000 */ sw $v0, ($a2) +/* 35C4BC E00504EC 8E630000 */ lw $v1, ($s3) +/* 35C4C0 E00504F0 24C20008 */ addiu $v0, $a2, 8 +/* 35C4C4 E00504F4 14600003 */ bnez $v1, .LE0050504 +/* 35C4C8 E00504F8 AE820000 */ sw $v0, ($s4) +/* 35C4CC E00504FC 3C040900 */ lui $a0, 0x900 +/* 35C4D0 E0050500 24840390 */ addiu $a0, $a0, 0x390 +.LE0050504: +/* 35C4D4 E0050504 ACC40004 */ sw $a0, 4($a2) +.LE0050508: +/* 35C4D8 E0050508 3C05D838 */ lui $a1, 0xd838 +/* 35C4DC E005050C 3C03800A */ lui $v1, 0x800a +/* 35C4E0 E0050510 2463A66C */ addiu $v1, $v1, -0x5994 +/* 35C4E4 E0050514 8C620000 */ lw $v0, ($v1) +/* 35C4E8 E0050518 34A50002 */ ori $a1, $a1, 2 +/* 35C4EC E005051C 0040202D */ daddu $a0, $v0, $zero +/* 35C4F0 E0050520 24420008 */ addiu $v0, $v0, 8 +/* 35C4F4 E0050524 AC620000 */ sw $v0, ($v1) +/* 35C4F8 E0050528 24020040 */ addiu $v0, $zero, 0x40 +/* 35C4FC E005052C AC850000 */ sw $a1, ($a0) +/* 35C500 E0050530 AC820004 */ sw $v0, 4($a0) +/* 35C504 E0050534 8FBF00AC */ lw $ra, 0xac($sp) +/* 35C508 E0050538 8FB400A8 */ lw $s4, 0xa8($sp) +/* 35C50C E005053C 8FB300A4 */ lw $s3, 0xa4($sp) +/* 35C510 E0050540 8FB200A0 */ lw $s2, 0xa0($sp) +/* 35C514 E0050544 8FB1009C */ lw $s1, 0x9c($sp) +/* 35C518 E0050548 8FB00098 */ lw $s0, 0x98($sp) +/* 35C51C E005054C D7B600B8 */ ldc1 $f22, 0xb8($sp) +/* 35C520 E0050550 D7B400B0 */ ldc1 $f20, 0xb0($sp) +/* 35C524 E0050554 03E00008 */ jr $ra +/* 35C528 E0050558 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 35C52C E005055C 00000000 */ nop diff --git a/asm/nonmatchings/code_3602C0/func_E005A000.s b/asm/nonmatchings/code_3602C0/func_E005A000.s new file mode 100644 index 0000000000..d640c09d0f --- /dev/null +++ b/asm/nonmatchings/code_3602C0/func_E005A000.s @@ -0,0 +1,135 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E005A000 +/* 3602C0 E005A000 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 3602C4 E005A004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3602C8 E005A008 4485A000 */ mtc1 $a1, $f20 +/* 3602CC E005A00C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3602D0 E005A010 4486B000 */ mtc1 $a2, $f22 +/* 3602D4 E005A014 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3602D8 E005A018 4487C000 */ mtc1 $a3, $f24 +/* 3602DC E005A01C AFB40038 */ sw $s4, 0x38($sp) +/* 3602E0 E005A020 0080A02D */ daddu $s4, $a0, $zero +/* 3602E4 E005A024 AFB30034 */ sw $s3, 0x34($sp) +/* 3602E8 E005A028 8FB30070 */ lw $s3, 0x70($sp) +/* 3602EC E005A02C 27A40010 */ addiu $a0, $sp, 0x10 +/* 3602F0 E005A030 AFB20030 */ sw $s2, 0x30($sp) +/* 3602F4 E005A034 8FB20074 */ lw $s2, 0x74($sp) +/* 3602F8 E005A038 3C02E006 */ lui $v0, 0xe006 +/* 3602FC E005A03C 2442A1F4 */ addiu $v0, $v0, -0x5e0c +/* 360300 E005A040 AFA20018 */ sw $v0, 0x18($sp) +/* 360304 E005A044 3C02E006 */ lui $v0, 0xe006 +/* 360308 E005A048 2442A1FC */ addiu $v0, $v0, -0x5e04 +/* 36030C E005A04C AFA2001C */ sw $v0, 0x1c($sp) +/* 360310 E005A050 3C02E006 */ lui $v0, 0xe006 +/* 360314 E005A054 2442A3B0 */ addiu $v0, $v0, -0x5c50 +/* 360318 E005A058 AFA20020 */ sw $v0, 0x20($sp) +/* 36031C E005A05C 2402002D */ addiu $v0, $zero, 0x2d +/* 360320 E005A060 AFBF003C */ sw $ra, 0x3c($sp) +/* 360324 E005A064 AFB1002C */ sw $s1, 0x2c($sp) +/* 360328 E005A068 AFB00028 */ sw $s0, 0x28($sp) +/* 36032C E005A06C F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 360330 E005A070 AFA00010 */ sw $zero, 0x10($sp) +/* 360334 E005A074 AFA00024 */ sw $zero, 0x24($sp) +/* 360338 E005A078 AFA20014 */ sw $v0, 0x14($sp) +/* 36033C E005A07C 0C080124 */ jal func_E0200490 +/* 360340 E005A080 26730001 */ addiu $s3, $s3, 1 +/* 360344 E005A084 00132040 */ sll $a0, $s3, 1 +/* 360348 E005A088 00932021 */ addu $a0, $a0, $s3 +/* 36034C E005A08C 00042080 */ sll $a0, $a0, 2 +/* 360350 E005A090 00932021 */ addu $a0, $a0, $s3 +/* 360354 E005A094 00042080 */ sll $a0, $a0, 2 +/* 360358 E005A098 0040802D */ daddu $s0, $v0, $zero +/* 36035C E005A09C 0C08012C */ jal func_E02004B0 +/* 360360 E005A0A0 AE130008 */ sw $s3, 8($s0) +/* 360364 E005A0A4 0040882D */ daddu $s1, $v0, $zero +/* 360368 E005A0A8 16200003 */ bnez $s1, .LE005A0B8 +/* 36036C E005A0AC AE11000C */ sw $s1, 0xc($s0) +.LE005A0B0: +/* 360370 E005A0B0 0801682C */ j .LE005A0B0 +/* 360374 E005A0B4 00000000 */ nop +.LE005A0B8: +/* 360378 E005A0B8 0220202D */ daddu $a0, $s1, $zero +/* 36037C E005A0BC 00132840 */ sll $a1, $s3, 1 +/* 360380 E005A0C0 00B32821 */ addu $a1, $a1, $s3 +/* 360384 E005A0C4 00052880 */ sll $a1, $a1, 2 +/* 360388 E005A0C8 00B32821 */ addu $a1, $a1, $s3 +/* 36038C E005A0CC 0C080130 */ jal func_E02004C0 +/* 360390 E005A0D0 00052880 */ sll $a1, $a1, 2 +/* 360394 E005A0D4 AE320024 */ sw $s2, 0x24($s1) +/* 360398 E005A0D8 AE200028 */ sw $zero, 0x28($s1) +/* 36039C E005A0DC AE32002C */ sw $s2, 0x2c($s1) +/* 3603A0 E005A0E0 A6340000 */ sh $s4, ($s1) +/* 3603A4 E005A0E4 E6340004 */ swc1 $f20, 4($s1) +/* 3603A8 E005A0E8 E6360008 */ swc1 $f22, 8($s1) +/* 3603AC E005A0EC E638000C */ swc1 $f24, 0xc($s1) +/* 3603B0 E005A0F0 24120001 */ addiu $s2, $zero, 1 +/* 3603B4 E005A0F4 0253102A */ slt $v0, $s2, $s3 +/* 3603B8 E005A0F8 10400032 */ beqz $v0, .LE005A1C4 +/* 3603BC E005A0FC 26310034 */ addiu $s1, $s1, 0x34 +/* 3603C0 E005A100 2674FFFF */ addiu $s4, $s3, -1 +/* 3603C4 E005A104 26300030 */ addiu $s0, $s1, 0x30 +/* 3603C8 E005A108 0000882D */ daddu $s1, $zero, $zero +/* 3603CC E005A10C 3C014020 */ lui $at, 0x4020 +/* 3603D0 E005A110 4481B800 */ mtc1 $at, $f23 +/* 3603D4 E005A114 4480B000 */ mtc1 $zero, $f22 +/* 3603D8 E005A118 3C0141A0 */ lui $at, 0x41a0 +/* 3603DC E005A11C 4481D000 */ mtc1 $at, $f26 +/* 3603E0 E005A120 3C013F80 */ lui $at, 0x3f80 +/* 3603E4 E005A124 4481C000 */ mtc1 $at, $f24 +.LE005A128: +/* 3603E8 E005A128 16800002 */ bnez $s4, .LE005A134 +/* 3603EC E005A12C 0234001A */ div $zero, $s1, $s4 +/* 3603F0 E005A130 0007000D */ break 7 +.LE005A134: +/* 3603F4 E005A134 2401FFFF */ addiu $at, $zero, -1 +/* 3603F8 E005A138 16810004 */ bne $s4, $at, .LE005A14C +/* 3603FC E005A13C 3C018000 */ lui $at, 0x8000 +/* 360400 E005A140 16210002 */ bne $s1, $at, .LE005A14C +/* 360404 E005A144 00000000 */ nop +/* 360408 E005A148 0006000D */ break 6 +.LE005A14C: +/* 36040C E005A14C 00001812 */ mflo $v1 +/* 360410 E005A150 AE00FFD4 */ sw $zero, -0x2c($s0) +/* 360414 E005A154 AE00FFD8 */ sw $zero, -0x28($s0) +/* 360418 E005A158 AE00FFDC */ sw $zero, -0x24($s0) +/* 36041C E005A15C 4483A000 */ mtc1 $v1, $f20 +/* 360420 E005A160 00000000 */ nop +/* 360424 E005A164 4680A520 */ cvt.s.w $f20, $f20 +/* 360428 E005A168 0C080140 */ jal func_E0200500 +/* 36042C E005A16C 4600A306 */ mov.s $f12, $f20 +/* 360430 E005A170 46000021 */ cvt.d.s $f0, $f0 +/* 360434 E005A174 46360002 */ mul.d $f0, $f0, $f22 +/* 360438 E005A178 00000000 */ nop +/* 36043C E005A17C 4600A306 */ mov.s $f12, $f20 +/* 360440 E005A180 46200020 */ cvt.s.d $f0, $f0 +/* 360444 E005A184 0C080144 */ jal func_E0200510 +/* 360448 E005A188 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 36044C E005A18C 46000021 */ cvt.d.s $f0, $f0 +/* 360450 E005A190 46360002 */ mul.d $f0, $f0, $f22 +/* 360454 E005A194 00000000 */ nop +/* 360458 E005A198 26310168 */ addiu $s1, $s1, 0x168 +/* 36045C E005A19C 26520001 */ addiu $s2, $s2, 1 +/* 360460 E005A1A0 0253102A */ slt $v0, $s2, $s3 +/* 360464 E005A1A4 AE00FFE8 */ sw $zero, -0x18($s0) +/* 360468 E005A1A8 AE00FFEC */ sw $zero, -0x14($s0) +/* 36046C E005A1AC E61AFFF0 */ swc1 $f26, -0x10($s0) +/* 360470 E005A1B0 E6180000 */ swc1 $f24, ($s0) +/* 360474 E005A1B4 46200020 */ cvt.s.d $f0, $f0 +/* 360478 E005A1B8 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 36047C E005A1BC 1440FFDA */ bnez $v0, .LE005A128 +/* 360480 E005A1C0 26100034 */ addiu $s0, $s0, 0x34 +.LE005A1C4: +/* 360484 E005A1C4 8FBF003C */ lw $ra, 0x3c($sp) +/* 360488 E005A1C8 8FB40038 */ lw $s4, 0x38($sp) +/* 36048C E005A1CC 8FB30034 */ lw $s3, 0x34($sp) +/* 360490 E005A1D0 8FB20030 */ lw $s2, 0x30($sp) +/* 360494 E005A1D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 360498 E005A1D8 8FB00028 */ lw $s0, 0x28($sp) +/* 36049C E005A1DC D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 3604A0 E005A1E0 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 3604A4 E005A1E4 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 3604A8 E005A1E8 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 3604AC E005A1EC 03E00008 */ jr $ra +/* 3604B0 E005A1F0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_3602C0/func_E005A1F4.s b/asm/nonmatchings/code_3602C0/func_E005A1F4.s new file mode 100644 index 0000000000..4b428a2827 --- /dev/null +++ b/asm/nonmatchings/code_3602C0/func_E005A1F4.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E005A1F4 +/* 3604B4 E005A1F4 03E00008 */ jr $ra +/* 3604B8 E005A1F8 00000000 */ nop diff --git a/asm/nonmatchings/code_3602C0/func_E005A1FC.s b/asm/nonmatchings/code_3602C0/func_E005A1FC.s new file mode 100644 index 0000000000..cee6d04a34 --- /dev/null +++ b/asm/nonmatchings/code_3602C0/func_E005A1FC.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E005A1FC +/* 3604BC E005A1FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3604C0 E005A200 AFBF0010 */ sw $ra, 0x10($sp) +/* 3604C4 E005A204 8C85000C */ lw $a1, 0xc($a0) +/* 3604C8 E005A208 8CA20028 */ lw $v0, 0x28($a1) +/* 3604CC E005A20C 8CA30024 */ lw $v1, 0x24($a1) +/* 3604D0 E005A210 24420001 */ addiu $v0, $v0, 1 +/* 3604D4 E005A214 2463FFFF */ addiu $v1, $v1, -1 +/* 3604D8 E005A218 ACA20028 */ sw $v0, 0x28($a1) +/* 3604DC E005A21C 04610005 */ bgez $v1, .LE005A234 +/* 3604E0 E005A220 ACA30024 */ sw $v1, 0x24($a1) +/* 3604E4 E005A224 0C080128 */ jal func_E02004A0 +/* 3604E8 E005A228 00000000 */ nop +/* 3604EC E005A22C 080168E9 */ j .LE005A3A4 +/* 3604F0 E005A230 00000000 */ nop +.LE005A234: +/* 3604F4 E005A234 8CA7002C */ lw $a3, 0x2c($a1) +/* 3604F8 E005A238 8C820008 */ lw $v0, 8($a0) +/* 3604FC E005A23C 24060001 */ addiu $a2, $zero, 1 +/* 360500 E005A240 00C2102A */ slt $v0, $a2, $v0 +/* 360504 E005A244 10400057 */ beqz $v0, .LE005A3A4 +/* 360508 E005A248 24A50034 */ addiu $a1, $a1, 0x34 +/* 36050C E005A24C 28690006 */ slti $t1, $v1, 6 +/* 360510 E005A250 28680005 */ slti $t0, $v1, 5 +/* 360514 E005A254 00C31004 */ sllv $v0, $v1, $a2 +/* 360518 E005A258 0047382A */ slt $a3, $v0, $a3 +/* 36051C E005A25C 24A3001C */ addiu $v1, $a1, 0x1c +/* 360520 E005A260 3C01E006 */ lui $at, 0xe006 +/* 360524 E005A264 D428A750 */ ldc1 $f8, -0x58b0($at) +/* 360528 E005A268 3C01E006 */ lui $at, 0xe006 +/* 36052C E005A26C D42AA758 */ ldc1 $f10, -0x58a8($at) +/* 360530 E005A270 3C01E006 */ lui $at, 0xe006 +/* 360534 E005A274 D42CA760 */ ldc1 $f12, -0x58a0($at) +.LE005A278: +/* 360538 E005A278 15200013 */ bnez $t1, .LE005A2C8 +/* 36053C E005A27C 00000000 */ nop +/* 360540 E005A280 C464FFF4 */ lwc1 $f4, -0xc($v1) +/* 360544 E005A284 46002121 */ cvt.d.s $f4, $f4 +/* 360548 E005A288 46282102 */ mul.d $f4, $f4, $f8 +/* 36054C E005A28C 00000000 */ nop +/* 360550 E005A290 C462FFF8 */ lwc1 $f2, -8($v1) +/* 360554 E005A294 460010A1 */ cvt.d.s $f2, $f2 +/* 360558 E005A298 46281082 */ mul.d $f2, $f2, $f8 +/* 36055C E005A29C 00000000 */ nop +/* 360560 E005A2A0 C460FFFC */ lwc1 $f0, -4($v1) +/* 360564 E005A2A4 46000021 */ cvt.d.s $f0, $f0 +/* 360568 E005A2A8 46280002 */ mul.d $f0, $f0, $f8 +/* 36056C E005A2AC 00000000 */ nop +/* 360570 E005A2B0 46202120 */ cvt.s.d $f4, $f4 +/* 360574 E005A2B4 462010A0 */ cvt.s.d $f2, $f2 +/* 360578 E005A2B8 46200020 */ cvt.s.d $f0, $f0 +/* 36057C E005A2BC E464FFF4 */ swc1 $f4, -0xc($v1) +/* 360580 E005A2C0 E462FFF8 */ swc1 $f2, -8($v1) +/* 360584 E005A2C4 E460FFFC */ swc1 $f0, -4($v1) +.LE005A2C8: +/* 360588 E005A2C8 11000019 */ beqz $t0, .LE005A330 +/* 36058C E005A2CC 00000000 */ nop +/* 360590 E005A2D0 C4660004 */ lwc1 $f6, 4($v1) +/* 360594 E005A2D4 460031A1 */ cvt.d.s $f6, $f6 +/* 360598 E005A2D8 46283182 */ mul.d $f6, $f6, $f8 +/* 36059C E005A2DC 00000000 */ nop +/* 3605A0 E005A2E0 C464FFF4 */ lwc1 $f4, -0xc($v1) +/* 3605A4 E005A2E4 46002121 */ cvt.d.s $f4, $f4 +/* 3605A8 E005A2E8 462A2102 */ mul.d $f4, $f4, $f10 +/* 3605AC E005A2EC 00000000 */ nop +/* 3605B0 E005A2F0 C462FFF8 */ lwc1 $f2, -8($v1) +/* 3605B4 E005A2F4 460010A1 */ cvt.d.s $f2, $f2 +/* 3605B8 E005A2F8 462A1082 */ mul.d $f2, $f2, $f10 +/* 3605BC E005A2FC 00000000 */ nop +/* 3605C0 E005A300 C460FFFC */ lwc1 $f0, -4($v1) +/* 3605C4 E005A304 46000021 */ cvt.d.s $f0, $f0 +/* 3605C8 E005A308 462A0002 */ mul.d $f0, $f0, $f10 +/* 3605CC E005A30C 00000000 */ nop +/* 3605D0 E005A310 462031A0 */ cvt.s.d $f6, $f6 +/* 3605D4 E005A314 46202120 */ cvt.s.d $f4, $f4 +/* 3605D8 E005A318 462010A0 */ cvt.s.d $f2, $f2 +/* 3605DC E005A31C 46200020 */ cvt.s.d $f0, $f0 +/* 3605E0 E005A320 E4660004 */ swc1 $f6, 4($v1) +/* 3605E4 E005A324 E464FFF4 */ swc1 $f4, -0xc($v1) +/* 3605E8 E005A328 E462FFF8 */ swc1 $f2, -8($v1) +/* 3605EC E005A32C E460FFFC */ swc1 $f0, -4($v1) +.LE005A330: +/* 3605F0 E005A330 10E0000A */ beqz $a3, .LE005A35C +/* 3605F4 E005A334 00000000 */ nop +/* 3605F8 E005A338 C4600014 */ lwc1 $f0, 0x14($v1) +/* 3605FC E005A33C 46000087 */ neg.s $f2, $f0 +/* 360600 E005A340 460010A1 */ cvt.d.s $f2, $f2 +/* 360604 E005A344 462C1082 */ mul.d $f2, $f2, $f12 +/* 360608 E005A348 00000000 */ nop +/* 36060C E005A34C 46000021 */ cvt.d.s $f0, $f0 +/* 360610 E005A350 46220000 */ add.d $f0, $f0, $f2 +/* 360614 E005A354 46200020 */ cvt.s.d $f0, $f0 +/* 360618 E005A358 E4600014 */ swc1 $f0, 0x14($v1) +.LE005A35C: +/* 36061C E005A35C C466FFE8 */ lwc1 $f6, -0x18($v1) +/* 360620 E005A360 C460FFF4 */ lwc1 $f0, -0xc($v1) +/* 360624 E005A364 C462FFEC */ lwc1 $f2, -0x14($v1) +/* 360628 E005A368 46003180 */ add.s $f6, $f6, $f0 +/* 36062C E005A36C C460FFF8 */ lwc1 $f0, -8($v1) +/* 360630 E005A370 C4640004 */ lwc1 $f4, 4($v1) +/* 360634 E005A374 46001080 */ add.s $f2, $f2, $f0 +/* 360638 E005A378 C4600000 */ lwc1 $f0, ($v1) +/* 36063C E005A37C 24C60001 */ addiu $a2, $a2, 1 +/* 360640 E005A380 AC60FFF0 */ sw $zero, -0x10($v1) +/* 360644 E005A384 46040000 */ add.s $f0, $f0, $f4 +/* 360648 E005A388 E466FFE8 */ swc1 $f6, -0x18($v1) +/* 36064C E005A38C E462FFEC */ swc1 $f2, -0x14($v1) +/* 360650 E005A390 E4600000 */ swc1 $f0, ($v1) +/* 360654 E005A394 8C820008 */ lw $v0, 8($a0) +/* 360658 E005A398 00C2102A */ slt $v0, $a2, $v0 +/* 36065C E005A39C 1440FFB6 */ bnez $v0, .LE005A278 +/* 360660 E005A3A0 24630034 */ addiu $v1, $v1, 0x34 +.LE005A3A4: +/* 360664 E005A3A4 8FBF0010 */ lw $ra, 0x10($sp) +/* 360668 E005A3A8 03E00008 */ jr $ra +/* 36066C E005A3AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3602C0/func_E005A3B0.s b/asm/nonmatchings/code_3602C0/func_E005A3B0.s new file mode 100644 index 0000000000..76495edf05 --- /dev/null +++ b/asm/nonmatchings/code_3602C0/func_E005A3B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E005A3B0 +/* 360670 E005A3B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 360674 E005A3B4 3C02E006 */ lui $v0, 0xe006 +/* 360678 E005A3B8 2442A3F4 */ addiu $v0, $v0, -0x5c0c +/* 36067C E005A3BC AFA2001C */ sw $v0, 0x1c($sp) +/* 360680 E005A3C0 24020028 */ addiu $v0, $zero, 0x28 +/* 360684 E005A3C4 AFA40018 */ sw $a0, 0x18($sp) +/* 360688 E005A3C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 36068C E005A3CC AFBF0020 */ sw $ra, 0x20($sp) +/* 360690 E005A3D0 AFA00014 */ sw $zero, 0x14($sp) +/* 360694 E005A3D4 0C080120 */ jal func_E0200480 +/* 360698 E005A3D8 AFA20010 */ sw $v0, 0x10($sp) +/* 36069C E005A3DC 8C430000 */ lw $v1, ($v0) +/* 3606A0 E005A3E0 34630002 */ ori $v1, $v1, 2 +/* 3606A4 E005A3E4 AC430000 */ sw $v1, ($v0) +/* 3606A8 E005A3E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 3606AC E005A3EC 03E00008 */ jr $ra +/* 3606B0 E005A3F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3602C0/func_E005A3F4.s b/asm/nonmatchings/code_3602C0/func_E005A3F4.s new file mode 100644 index 0000000000..fe8cd97673 --- /dev/null +++ b/asm/nonmatchings/code_3602C0/func_E005A3F4.s @@ -0,0 +1,221 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E005A3F4 +/* 3606B4 E005A3F4 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 3606B8 E005A3F8 AFBE00B8 */ sw $fp, 0xb8($sp) +/* 3606BC E005A3FC 0080F02D */ daddu $fp, $a0, $zero +/* 3606C0 E005A400 3C06DB06 */ lui $a2, 0xdb06 +/* 3606C4 E005A404 34C60024 */ ori $a2, $a2, 0x24 +/* 3606C8 E005A408 27A40018 */ addiu $a0, $sp, 0x18 +/* 3606CC E005A40C AFB00098 */ sw $s0, 0x98($sp) +/* 3606D0 E005A410 3C100001 */ lui $s0, 1 +/* 3606D4 E005A414 36101630 */ ori $s0, $s0, 0x1630 +/* 3606D8 E005A418 AFB200A0 */ sw $s2, 0xa0($sp) +/* 3606DC E005A41C 3C12800A */ lui $s2, 0x800a +/* 3606E0 E005A420 2652A66C */ addiu $s2, $s2, -0x5994 +/* 3606E4 E005A424 3C02E700 */ lui $v0, 0xe700 +/* 3606E8 E005A428 AFBF00BC */ sw $ra, 0xbc($sp) +/* 3606EC E005A42C AFB700B4 */ sw $s7, 0xb4($sp) +/* 3606F0 E005A430 AFB600B0 */ sw $s6, 0xb0($sp) +/* 3606F4 E005A434 AFB500AC */ sw $s5, 0xac($sp) +/* 3606F8 E005A438 AFB400A8 */ sw $s4, 0xa8($sp) +/* 3606FC E005A43C AFB300A4 */ sw $s3, 0xa4($sp) +/* 360700 E005A440 AFB1009C */ sw $s1, 0x9c($sp) +/* 360704 E005A444 F7B800D0 */ sdc1 $f24, 0xd0($sp) +/* 360708 E005A448 F7B600C8 */ sdc1 $f22, 0xc8($sp) +/* 36070C E005A44C F7B400C0 */ sdc1 $f20, 0xc0($sp) +/* 360710 E005A450 8E430000 */ lw $v1, ($s2) +/* 360714 E005A454 8FD3000C */ lw $s3, 0xc($fp) +/* 360718 E005A458 0060282D */ daddu $a1, $v1, $zero +/* 36071C E005A45C 24630008 */ addiu $v1, $v1, 8 +/* 360720 E005A460 AE430000 */ sw $v1, ($s2) +/* 360724 E005A464 ACA20000 */ sw $v0, ($a1) +/* 360728 E005A468 24620008 */ addiu $v0, $v1, 8 +/* 36072C E005A46C ACA00004 */ sw $zero, 4($a1) +/* 360730 E005A470 AE420000 */ sw $v0, ($s2) +/* 360734 E005A474 AC660000 */ sw $a2, ($v1) +/* 360738 E005A478 8FC50010 */ lw $a1, 0x10($fp) +/* 36073C E005A47C 24620010 */ addiu $v0, $v1, 0x10 +/* 360740 E005A480 AE420000 */ sw $v0, ($s2) +/* 360744 E005A484 8CA5001C */ lw $a1, 0x1c($a1) +/* 360748 E005A488 3C02DE00 */ lui $v0, 0xde00 +/* 36074C E005A48C AC620008 */ sw $v0, 8($v1) +/* 360750 E005A490 3C020900 */ lui $v0, 0x900 +/* 360754 E005A494 24420440 */ addiu $v0, $v0, 0x440 +/* 360758 E005A498 AC62000C */ sw $v0, 0xc($v1) +/* 36075C E005A49C 3C028000 */ lui $v0, 0x8000 +/* 360760 E005A4A0 00A22821 */ addu $a1, $a1, $v0 +/* 360764 E005A4A4 AC650004 */ sw $a1, 4($v1) +/* 360768 E005A4A8 8E650004 */ lw $a1, 4($s3) +/* 36076C E005A4AC 8E660008 */ lw $a2, 8($s3) +/* 360770 E005A4B0 8E67000C */ lw $a3, 0xc($s3) +/* 360774 E005A4B4 0C080108 */ jal func_E0200420 +/* 360778 E005A4B8 24140001 */ addiu $s4, $zero, 1 +/* 36077C E005A4BC 27B10058 */ addiu $s1, $sp, 0x58 +/* 360780 E005A4C0 4480A000 */ mtc1 $zero, $f20 +/* 360784 E005A4C4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 360788 E005A4C8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 36078C E005A4CC 3C013F80 */ lui $at, 0x3f80 +/* 360790 E005A4D0 4481C000 */ mtc1 $at, $f24 +/* 360794 E005A4D4 00031080 */ sll $v0, $v1, 2 +/* 360798 E005A4D8 00431021 */ addu $v0, $v0, $v1 +/* 36079C E005A4DC 00021080 */ sll $v0, $v0, 2 +/* 3607A0 E005A4E0 00431023 */ subu $v0, $v0, $v1 +/* 3607A4 E005A4E4 000218C0 */ sll $v1, $v0, 3 +/* 3607A8 E005A4E8 00431021 */ addu $v0, $v0, $v1 +/* 3607AC E005A4EC 000210C0 */ sll $v0, $v0, 3 +/* 3607B0 E005A4F0 4406A000 */ mfc1 $a2, $f20 +/* 3607B4 E005A4F4 3C01800B */ lui $at, 0x800b +/* 3607B8 E005A4F8 00220821 */ addu $at, $at, $v0 +/* 3607BC E005A4FC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3607C0 E005A500 4407C000 */ mfc1 $a3, $f24 +/* 3607C4 E005A504 46000007 */ neg.s $f0, $f0 +/* 3607C8 E005A508 44050000 */ mfc1 $a1, $f0 +/* 3607CC E005A50C 0220202D */ daddu $a0, $s1, $zero +/* 3607D0 E005A510 0C080104 */ jal func_E0200410 +/* 3607D4 E005A514 E7B40010 */ swc1 $f20, 0x10($sp) +/* 3607D8 E005A518 0220202D */ daddu $a0, $s1, $zero +/* 3607DC E005A51C 27A50018 */ addiu $a1, $sp, 0x18 +/* 3607E0 E005A520 0C080114 */ jal func_E0200450 +/* 3607E4 E005A524 00A0302D */ daddu $a2, $a1, $zero +/* 3607E8 E005A528 27A40018 */ addiu $a0, $sp, 0x18 +/* 3607EC E005A52C 3C158007 */ lui $s5, 0x8007 +/* 3607F0 E005A530 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 3607F4 E005A534 3C16800A */ lui $s6, 0x800a +/* 3607F8 E005A538 26D6A674 */ addiu $s6, $s6, -0x598c +/* 3607FC E005A53C 96A50000 */ lhu $a1, ($s5) +/* 360800 E005A540 8EC20000 */ lw $v0, ($s6) +/* 360804 E005A544 00052980 */ sll $a1, $a1, 6 +/* 360808 E005A548 00B02821 */ addu $a1, $a1, $s0 +/* 36080C E005A54C 0C080118 */ jal func_E0200460 +/* 360810 E005A550 00452821 */ addu $a1, $v0, $a1 +/* 360814 E005A554 3C06DCDC */ lui $a2, 0xdcdc +/* 360818 E005A558 8E440000 */ lw $a0, ($s2) +/* 36081C E005A55C 34C628E6 */ ori $a2, $a2, 0x28e6 +/* 360820 E005A560 0080282D */ daddu $a1, $a0, $zero +/* 360824 E005A564 24840008 */ addiu $a0, $a0, 8 +/* 360828 E005A568 AE440000 */ sw $a0, ($s2) +/* 36082C E005A56C 96A20000 */ lhu $v0, ($s5) +/* 360830 E005A570 3C03DA38 */ lui $v1, 0xda38 +/* 360834 E005A574 ACA30000 */ sw $v1, ($a1) +/* 360838 E005A578 00541821 */ addu $v1, $v0, $s4 +/* 36083C E005A57C 3042FFFF */ andi $v0, $v0, 0xffff +/* 360840 E005A580 00021180 */ sll $v0, $v0, 6 +/* 360844 E005A584 A6A30000 */ sh $v1, ($s5) +/* 360848 E005A588 8EC30000 */ lw $v1, ($s6) +/* 36084C E005A58C 00501021 */ addu $v0, $v0, $s0 +/* 360850 E005A590 00621821 */ addu $v1, $v1, $v0 +/* 360854 E005A594 24820008 */ addiu $v0, $a0, 8 +/* 360858 E005A598 ACA30004 */ sw $v1, 4($a1) +/* 36085C E005A59C AE420000 */ sw $v0, ($s2) +/* 360860 E005A5A0 3C02FA00 */ lui $v0, 0xfa00 +/* 360864 E005A5A4 AC820000 */ sw $v0, ($a0) +/* 360868 E005A5A8 AC860004 */ sw $a2, 4($a0) +/* 36086C E005A5AC 8FC20008 */ lw $v0, 8($fp) +/* 360870 E005A5B0 0282102A */ slt $v0, $s4, $v0 +/* 360874 E005A5B4 10400049 */ beqz $v0, .LE005A6DC +/* 360878 E005A5B8 26730034 */ addiu $s3, $s3, 0x34 +/* 36087C E005A5BC 4600A586 */ mov.s $f22, $f20 +/* 360880 E005A5C0 4600C506 */ mov.s $f20, $f24 +/* 360884 E005A5C4 02C0B82D */ daddu $s7, $s6, $zero +/* 360888 E005A5C8 02A0B02D */ daddu $s6, $s5, $zero +/* 36088C E005A5CC 3C150001 */ lui $s5, 1 +/* 360890 E005A5D0 36B51630 */ ori $s5, $s5, 0x1630 +/* 360894 E005A5D4 26700030 */ addiu $s0, $s3, 0x30 +.LE005A5D8: +/* 360898 E005A5D8 27A40018 */ addiu $a0, $sp, 0x18 +/* 36089C E005A5DC 8E05FFD4 */ lw $a1, -0x2c($s0) +/* 3608A0 E005A5E0 8E06FFD8 */ lw $a2, -0x28($s0) +/* 3608A4 E005A5E4 8E07FFDC */ lw $a3, -0x24($s0) +/* 3608A8 E005A5E8 0C080108 */ jal func_E0200420 +/* 3608AC E005A5EC 26940001 */ addiu $s4, $s4, 1 +/* 3608B0 E005A5F0 E7B40010 */ swc1 $f20, 0x10($sp) +/* 3608B4 E005A5F4 8E05FFEC */ lw $a1, -0x14($s0) +/* 3608B8 E005A5F8 4406B000 */ mfc1 $a2, $f22 +/* 3608BC E005A5FC 4407B000 */ mfc1 $a3, $f22 +/* 3608C0 E005A600 0C080104 */ jal func_E0200410 +/* 3608C4 E005A604 0220202D */ daddu $a0, $s1, $zero +/* 3608C8 E005A608 0220202D */ daddu $a0, $s1, $zero +/* 3608CC E005A60C 27A50018 */ addiu $a1, $sp, 0x18 +/* 3608D0 E005A610 0C080114 */ jal func_E0200450 +/* 3608D4 E005A614 00A0302D */ daddu $a2, $a1, $zero +/* 3608D8 E005A618 0220202D */ daddu $a0, $s1, $zero +/* 3608DC E005A61C 8E050000 */ lw $a1, ($s0) +/* 3608E0 E005A620 26100034 */ addiu $s0, $s0, 0x34 +/* 3608E4 E005A624 4407A000 */ mfc1 $a3, $f20 +/* 3608E8 E005A628 0C080110 */ jal func_E0200440 +/* 3608EC E005A62C 00A0302D */ daddu $a2, $a1, $zero +/* 3608F0 E005A630 0220202D */ daddu $a0, $s1, $zero +/* 3608F4 E005A634 27A50018 */ addiu $a1, $sp, 0x18 +/* 3608F8 E005A638 0C080114 */ jal func_E0200450 +/* 3608FC E005A63C 00A0302D */ daddu $a2, $a1, $zero +/* 360900 E005A640 27A40018 */ addiu $a0, $sp, 0x18 +/* 360904 E005A644 96C50000 */ lhu $a1, ($s6) +/* 360908 E005A648 8EE20000 */ lw $v0, ($s7) +/* 36090C E005A64C 00052980 */ sll $a1, $a1, 6 +/* 360910 E005A650 00B52821 */ addu $a1, $a1, $s5 +/* 360914 E005A654 0C080118 */ jal func_E0200460 +/* 360918 E005A658 00452821 */ addu $a1, $v0, $a1 +/* 36091C E005A65C 3C06D838 */ lui $a2, 0xd838 +/* 360920 E005A660 8E440000 */ lw $a0, ($s2) +/* 360924 E005A664 34C60002 */ ori $a2, $a2, 2 +/* 360928 E005A668 0080282D */ daddu $a1, $a0, $zero +/* 36092C E005A66C 24840008 */ addiu $a0, $a0, 8 +/* 360930 E005A670 AE440000 */ sw $a0, ($s2) +/* 360934 E005A674 96C20000 */ lhu $v0, ($s6) +/* 360938 E005A678 3C03DA38 */ lui $v1, 0xda38 +/* 36093C E005A67C ACA30000 */ sw $v1, ($a1) +/* 360940 E005A680 24430001 */ addiu $v1, $v0, 1 +/* 360944 E005A684 3042FFFF */ andi $v0, $v0, 0xffff +/* 360948 E005A688 00021180 */ sll $v0, $v0, 6 +/* 36094C E005A68C A6C30000 */ sh $v1, ($s6) +/* 360950 E005A690 8EE30000 */ lw $v1, ($s7) +/* 360954 E005A694 00551021 */ addu $v0, $v0, $s5 +/* 360958 E005A698 00621821 */ addu $v1, $v1, $v0 +/* 36095C E005A69C 24820008 */ addiu $v0, $a0, 8 +/* 360960 E005A6A0 ACA30004 */ sw $v1, 4($a1) +/* 360964 E005A6A4 AE420000 */ sw $v0, ($s2) +/* 360968 E005A6A8 3C02DE00 */ lui $v0, 0xde00 +/* 36096C E005A6AC 3C080900 */ lui $t0, 0x900 +/* 360970 E005A6B0 250804F0 */ addiu $t0, $t0, 0x4f0 +/* 360974 E005A6B4 AC820000 */ sw $v0, ($a0) +/* 360978 E005A6B8 24020040 */ addiu $v0, $zero, 0x40 +/* 36097C E005A6BC AC880004 */ sw $t0, 4($a0) +/* 360980 E005A6C0 AC860008 */ sw $a2, 8($a0) +/* 360984 E005A6C4 AC82000C */ sw $v0, 0xc($a0) +/* 360988 E005A6C8 8FC20008 */ lw $v0, 8($fp) +/* 36098C E005A6CC 24840010 */ addiu $a0, $a0, 0x10 +/* 360990 E005A6D0 0282102A */ slt $v0, $s4, $v0 +/* 360994 E005A6D4 1440FFC0 */ bnez $v0, .LE005A5D8 +/* 360998 E005A6D8 AE440000 */ sw $a0, ($s2) +.LE005A6DC: +/* 36099C E005A6DC 3C05D838 */ lui $a1, 0xd838 +/* 3609A0 E005A6E0 3C03800A */ lui $v1, 0x800a +/* 3609A4 E005A6E4 2463A66C */ addiu $v1, $v1, -0x5994 +/* 3609A8 E005A6E8 8C620000 */ lw $v0, ($v1) +/* 3609AC E005A6EC 34A50002 */ ori $a1, $a1, 2 +/* 3609B0 E005A6F0 0040202D */ daddu $a0, $v0, $zero +/* 3609B4 E005A6F4 24420008 */ addiu $v0, $v0, 8 +/* 3609B8 E005A6F8 AC620000 */ sw $v0, ($v1) +/* 3609BC E005A6FC 24020040 */ addiu $v0, $zero, 0x40 +/* 3609C0 E005A700 AC850000 */ sw $a1, ($a0) +/* 3609C4 E005A704 AC820004 */ sw $v0, 4($a0) +/* 3609C8 E005A708 8FBF00BC */ lw $ra, 0xbc($sp) +/* 3609CC E005A70C 8FBE00B8 */ lw $fp, 0xb8($sp) +/* 3609D0 E005A710 8FB700B4 */ lw $s7, 0xb4($sp) +/* 3609D4 E005A714 8FB600B0 */ lw $s6, 0xb0($sp) +/* 3609D8 E005A718 8FB500AC */ lw $s5, 0xac($sp) +/* 3609DC E005A71C 8FB400A8 */ lw $s4, 0xa8($sp) +/* 3609E0 E005A720 8FB300A4 */ lw $s3, 0xa4($sp) +/* 3609E4 E005A724 8FB200A0 */ lw $s2, 0xa0($sp) +/* 3609E8 E005A728 8FB1009C */ lw $s1, 0x9c($sp) +/* 3609EC E005A72C 8FB00098 */ lw $s0, 0x98($sp) +/* 3609F0 E005A730 D7B800D0 */ ldc1 $f24, 0xd0($sp) +/* 3609F4 E005A734 D7B600C8 */ ldc1 $f22, 0xc8($sp) +/* 3609F8 E005A738 D7B400C0 */ ldc1 $f20, 0xc0($sp) +/* 3609FC E005A73C 03E00008 */ jr $ra +/* 360A00 E005A740 27BD00D8 */ addiu $sp, $sp, 0xd8 +/* 360A04 E005A744 00000000 */ nop +/* 360A08 E005A748 00000000 */ nop +/* 360A0C E005A74C 00000000 */ nop diff --git a/asm/nonmatchings/code_366030/func_E0066000.s b/asm/nonmatchings/code_366030/func_E0066000.s new file mode 100644 index 0000000000..ee5cf234a4 --- /dev/null +++ b/asm/nonmatchings/code_366030/func_E0066000.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0066000 +/* 366030 E0066000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 366034 E0066004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 366038 E0066008 4485A000 */ mtc1 $a1, $f20 +/* 36603C E006600C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 366040 E0066010 4486B000 */ mtc1 $a2, $f22 +/* 366044 E0066014 AFB1002C */ sw $s1, 0x2c($sp) +/* 366048 E0066018 0080882D */ daddu $s1, $a0, $zero +/* 36604C E006601C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 366050 E0066020 4487C000 */ mtc1 $a3, $f24 +/* 366054 E0066024 27A40010 */ addiu $a0, $sp, 0x10 +/* 366058 E0066028 AFB00028 */ sw $s0, 0x28($sp) +/* 36605C E006602C 8FB00064 */ lw $s0, 0x64($sp) +/* 366060 E0066030 3C02E006 */ lui $v0, 0xe006 +/* 366064 E0066034 24426490 */ addiu $v0, $v0, 0x6490 +/* 366068 E0066038 AFA20018 */ sw $v0, 0x18($sp) +/* 36606C E006603C 3C02E006 */ lui $v0, 0xe006 +/* 366070 E0066040 24426498 */ addiu $v0, $v0, 0x6498 +/* 366074 E0066044 AFA2001C */ sw $v0, 0x1c($sp) +/* 366078 E0066048 3C02E006 */ lui $v0, 0xe006 +/* 36607C E006604C 2442672C */ addiu $v0, $v0, 0x672c +/* 366080 E0066050 AFA20020 */ sw $v0, 0x20($sp) +/* 366084 E0066054 24020033 */ addiu $v0, $zero, 0x33 +/* 366088 E0066058 AFBF0034 */ sw $ra, 0x34($sp) +/* 36608C E006605C AFB20030 */ sw $s2, 0x30($sp) +/* 366090 E0066060 AFA00010 */ sw $zero, 0x10($sp) +/* 366094 E0066064 AFA00024 */ sw $zero, 0x24($sp) +/* 366098 E0066068 0C080124 */ jal func_E0200490 +/* 36609C E006606C AFA20014 */ sw $v0, 0x14($sp) +/* 3660A0 E0066070 24040070 */ addiu $a0, $zero, 0x70 +/* 3660A4 E0066074 24030001 */ addiu $v1, $zero, 1 +/* 3660A8 E0066078 0040902D */ daddu $s2, $v0, $zero +/* 3660AC E006607C 0C08012C */ jal func_E02004B0 +/* 3660B0 E0066080 AE430008 */ sw $v1, 8($s2) +/* 3660B4 E0066084 0040202D */ daddu $a0, $v0, $zero +/* 3660B8 E0066088 14800003 */ bnez $a0, .LE0066098 +/* 3660BC E006608C AE42000C */ sw $v0, 0xc($s2) +.LE0066090: +/* 3660C0 E0066090 08019824 */ j .LE0066090 +/* 3660C4 E0066094 00000000 */ nop +.LE0066098: +/* 3660C8 E0066098 AC910000 */ sw $s1, ($a0) +/* 3660CC E006609C AC900028 */ sw $s0, 0x28($a0) +/* 3660D0 E00660A0 AC80002C */ sw $zero, 0x2c($a0) +/* 3660D4 E00660A4 AC800024 */ sw $zero, 0x24($a0) +/* 3660D8 E00660A8 E4940010 */ swc1 $f20, 0x10($a0) +/* 3660DC E00660AC E4960014 */ swc1 $f22, 0x14($a0) +/* 3660E0 E00660B0 E4980018 */ swc1 $f24, 0x18($a0) +/* 3660E4 E00660B4 E4940004 */ swc1 $f20, 4($a0) +/* 3660E8 E00660B8 E4960008 */ swc1 $f22, 8($a0) +/* 3660EC E00660BC E498000C */ swc1 $f24, 0xc($a0) +/* 3660F0 E00660C0 C7A00060 */ lwc1 $f0, 0x60($sp) +/* 3660F4 E00660C4 3C014080 */ lui $at, 0x4080 +/* 3660F8 E00660C8 44811000 */ mtc1 $at, $f2 +/* 3660FC E00660CC 3C014120 */ lui $at, 0x4120 +/* 366100 E00660D0 44812000 */ mtc1 $at, $f4 +/* 366104 E00660D4 3C014248 */ lui $at, 0x4248 +/* 366108 E00660D8 44813000 */ mtc1 $at, $f6 +/* 36610C E00660DC 240200FF */ addiu $v0, $zero, 0xff +/* 366110 E00660E0 A0820068 */ sb $v0, 0x68($a0) +/* 366114 E00660E4 A0820069 */ sb $v0, 0x69($a0) +/* 366118 E00660E8 A082006B */ sb $v0, 0x6b($a0) +/* 36611C E00660EC A082006C */ sb $v0, 0x6c($a0) +/* 366120 E00660F0 A082006D */ sb $v0, 0x6d($a0) +/* 366124 E00660F4 E4800020 */ swc1 $f0, 0x20($a0) +/* 366128 E00660F8 44800000 */ mtc1 $zero, $f0 +/* 36612C E00660FC 2E22000F */ sltiu $v0, $s1, 0xf +/* 366130 E0066100 A080006A */ sb $zero, 0x6a($a0) +/* 366134 E0066104 E482005C */ swc1 $f2, 0x5c($a0) +/* 366138 E0066108 E484001C */ swc1 $f4, 0x1c($a0) +/* 36613C E006610C E4860060 */ swc1 $f6, 0x60($a0) +/* 366140 E0066110 E4800044 */ swc1 $f0, 0x44($a0) +/* 366144 E0066114 E4800040 */ swc1 $f0, 0x40($a0) +/* 366148 E0066118 E480004C */ swc1 $f0, 0x4c($a0) +/* 36614C E006611C E4800048 */ swc1 $f0, 0x48($a0) +/* 366150 E0066120 E4800034 */ swc1 $f0, 0x34($a0) +/* 366154 E0066124 E4800030 */ swc1 $f0, 0x30($a0) +/* 366158 E0066128 E480003C */ swc1 $f0, 0x3c($a0) +/* 36615C E006612C E4800038 */ swc1 $f0, 0x38($a0) +/* 366160 E0066130 E4800058 */ swc1 $f0, 0x58($a0) +/* 366164 E0066134 E4800050 */ swc1 $f0, 0x50($a0) +/* 366168 E0066138 E4800054 */ swc1 $f0, 0x54($a0) +/* 36616C E006613C 104000BB */ beqz $v0, .LE006642C +/* 366170 E0066140 E4800064 */ swc1 $f0, 0x64($a0) +/* 366174 E0066144 00111080 */ sll $v0, $s1, 2 +/* 366178 E0066148 3C01E006 */ lui $at, 0xe006 +/* 36617C E006614C 00220821 */ addu $at, $at, $v0 +/* 366180 E0066150 8C226CE0 */ lw $v0, 0x6ce0($at) +/* 366184 E0066154 00400008 */ jr $v0 +/* 366188 E0066158 00000000 */ nop +/* 36618C E006615C 3C014300 */ lui $at, 0x4300 +/* 366190 E0066160 44810000 */ mtc1 $at, $f0 +/* 366194 E0066164 3C01428C */ lui $at, 0x428c +/* 366198 E0066168 44812000 */ mtc1 $at, $f4 +/* 36619C E006616C 3C01C2C8 */ lui $at, 0xc2c8 +/* 3661A0 E0066170 44813000 */ mtc1 $at, $f6 +/* 3661A4 E0066174 44901000 */ mtc1 $s0, $f2 +/* 3661A8 E0066178 00000000 */ nop +/* 3661AC E006617C 468010A0 */ cvt.s.w $f2, $f2 +/* 3661B0 E0066180 E4800040 */ swc1 $f0, 0x40($a0) +/* 3661B4 E0066184 46020003 */ div.s $f0, $f0, $f2 +/* 3661B8 E0066188 E4800044 */ swc1 $f0, 0x44($a0) +/* 3661BC E006618C E4840060 */ swc1 $f4, 0x60($a0) +/* 3661C0 E0066190 0801991A */ j .LE0066468 +/* 3661C4 E0066194 E4860064 */ swc1 $f6, 0x64($a0) +/* 3661C8 E0066198 3C0140E0 */ lui $at, 0x40e0 +/* 3661CC E006619C 44810000 */ mtc1 $at, $f0 +/* 3661D0 E00661A0 3C01C040 */ lui $at, 0xc040 +/* 3661D4 E00661A4 44811000 */ mtc1 $at, $f2 +/* 3661D8 E00661A8 3C014040 */ lui $at, 0x4040 +/* 3661DC E00661AC 44812000 */ mtc1 $at, $f4 +/* 3661E0 E00661B0 3C01C0E0 */ lui $at, 0xc0e0 +/* 3661E4 E00661B4 44813000 */ mtc1 $at, $f6 +/* 3661E8 E00661B8 08019907 */ j .LE006641C +/* 3661EC E00661BC E4800034 */ swc1 $f0, 0x34($a0) +/* 3661F0 E00661C0 3C014380 */ lui $at, 0x4380 +/* 3661F4 E00661C4 44810000 */ mtc1 $at, $f0 +/* 3661F8 E00661C8 3C0140E0 */ lui $at, 0x40e0 +/* 3661FC E00661CC 44812000 */ mtc1 $at, $f4 +/* 366200 E00661D0 3C01C040 */ lui $at, 0xc040 +/* 366204 E00661D4 44811000 */ mtc1 $at, $f2 +/* 366208 E00661D8 3C01C080 */ lui $at, 0xc080 +/* 36620C E00661DC 44813000 */ mtc1 $at, $f6 +/* 366210 E00661E0 240200EB */ addiu $v0, $zero, 0xeb +/* 366214 E00661E4 A0820068 */ sb $v0, 0x68($a0) +/* 366218 E00661E8 A0820069 */ sb $v0, 0x69($a0) +/* 36621C E00661EC A082006A */ sb $v0, 0x6a($a0) +/* 366220 E00661F0 E4800040 */ swc1 $f0, 0x40($a0) +/* 366224 E00661F4 E4800048 */ swc1 $f0, 0x48($a0) +/* 366228 E00661F8 E4840034 */ swc1 $f4, 0x34($a0) +/* 36622C E00661FC E4820044 */ swc1 $f2, 0x44($a0) +/* 366230 E0066200 E482003C */ swc1 $f2, 0x3c($a0) +/* 366234 E0066204 0801991A */ j .LE0066468 +/* 366238 E0066208 E486004C */ swc1 $f6, 0x4c($a0) +/* 36623C E006620C 3C0140E0 */ lui $at, 0x40e0 +/* 366240 E0066210 44811000 */ mtc1 $at, $f2 +/* 366244 E0066214 3C01C040 */ lui $at, 0xc040 +/* 366248 E0066218 44810000 */ mtc1 $at, $f0 +/* 36624C E006621C 3C01C0A0 */ lui $at, 0xc0a0 +/* 366250 E0066220 44812000 */ mtc1 $at, $f4 +/* 366254 E0066224 24020014 */ addiu $v0, $zero, 0x14 +/* 366258 E0066228 A0820068 */ sb $v0, 0x68($a0) +/* 36625C E006622C 240200C8 */ addiu $v0, $zero, 0xc8 +/* 366260 E0066230 A0820069 */ sb $v0, 0x69($a0) +/* 366264 E0066234 24020020 */ addiu $v0, $zero, 0x20 +/* 366268 E0066238 080198E6 */ j .LE0066398 +/* 36626C E006623C A082006A */ sb $v0, 0x6a($a0) +/* 366270 E0066240 3C0140E0 */ lui $at, 0x40e0 +/* 366274 E0066244 44810000 */ mtc1 $at, $f0 +/* 366278 E0066248 3C014040 */ lui $at, 0x4040 +/* 36627C E006624C 44811000 */ mtc1 $at, $f2 +/* 366280 E0066250 3C0140A0 */ lui $at, 0x40a0 +/* 366284 E0066254 44812000 */ mtc1 $at, $f4 +/* 366288 E0066258 E4800034 */ swc1 $f0, 0x34($a0) +/* 36628C E006625C E4820044 */ swc1 $f2, 0x44($a0) +/* 366290 E0066260 E482003C */ swc1 $f2, 0x3c($a0) +/* 366294 E0066264 0801991A */ j .LE0066468 +/* 366298 E0066268 E484004C */ swc1 $f4, 0x4c($a0) +/* 36629C E006626C 3C0140E0 */ lui $at, 0x40e0 +/* 3662A0 E0066270 44810000 */ mtc1 $at, $f0 +/* 3662A4 E0066274 3C014040 */ lui $at, 0x4040 +/* 3662A8 E0066278 44811000 */ mtc1 $at, $f2 +/* 3662AC E006627C 3C01C040 */ lui $at, 0xc040 +/* 3662B0 E0066280 44812000 */ mtc1 $at, $f4 +/* 3662B4 E0066284 3C014080 */ lui $at, 0x4080 +/* 3662B8 E0066288 44813000 */ mtc1 $at, $f6 +/* 3662BC E006628C 240200EB */ addiu $v0, $zero, 0xeb +/* 3662C0 E0066290 A0820068 */ sb $v0, 0x68($a0) +/* 3662C4 E0066294 A0820069 */ sb $v0, 0x69($a0) +/* 3662C8 E0066298 08019906 */ j .LE0066418 +/* 3662CC E006629C A082006A */ sb $v0, 0x6a($a0) +/* 3662D0 E00662A0 3C0140E0 */ lui $at, 0x40e0 +/* 3662D4 E00662A4 44810000 */ mtc1 $at, $f0 +/* 3662D8 E00662A8 3C014040 */ lui $at, 0x4040 +/* 3662DC E00662AC 44811000 */ mtc1 $at, $f2 +/* 3662E0 E00662B0 3C01C040 */ lui $at, 0xc040 +/* 3662E4 E00662B4 44812000 */ mtc1 $at, $f4 +/* 3662E8 E00662B8 3C0140A0 */ lui $at, 0x40a0 +/* 3662EC E00662BC 44813000 */ mtc1 $at, $f6 +/* 3662F0 E00662C0 240200FF */ addiu $v0, $zero, 0xff +/* 3662F4 E00662C4 A0820068 */ sb $v0, 0x68($a0) +/* 3662F8 E00662C8 24020064 */ addiu $v0, $zero, 0x64 +/* 3662FC E00662CC A0820069 */ sb $v0, 0x69($a0) +/* 366300 E00662D0 24020020 */ addiu $v0, $zero, 0x20 +/* 366304 E00662D4 08019906 */ j .LE0066418 +/* 366308 E00662D8 A082006A */ sb $v0, 0x6a($a0) +/* 36630C E00662DC 240300D7 */ addiu $v1, $zero, 0xd7 +/* 366310 E00662E0 3C0140E0 */ lui $at, 0x40e0 +/* 366314 E00662E4 44811000 */ mtc1 $at, $f2 +/* 366318 E00662E8 3C01C040 */ lui $at, 0xc040 +/* 36631C E00662EC 44810000 */ mtc1 $at, $f0 +/* 366320 E00662F0 3C01C000 */ lui $at, 0xc000 +/* 366324 E00662F4 44812000 */ mtc1 $at, $f4 +/* 366328 E00662F8 240200D0 */ addiu $v0, $zero, 0xd0 +/* 36632C E00662FC A0820069 */ sb $v0, 0x69($a0) +/* 366330 E0066300 240200FF */ addiu $v0, $zero, 0xff +/* 366334 E0066304 A0830068 */ sb $v1, 0x68($a0) +/* 366338 E0066308 A080006A */ sb $zero, 0x6a($a0) +/* 36633C E006630C A083006B */ sb $v1, 0x6b($a0) +/* 366340 E0066310 080198E5 */ j .LE0066394 +/* 366344 E0066314 A082006C */ sb $v0, 0x6c($a0) +/* 366348 E0066318 3C014300 */ lui $at, 0x4300 +/* 36634C E006631C 44810000 */ mtc1 $at, $f0 +/* 366350 E0066320 3C01C2C8 */ lui $at, 0xc2c8 +/* 366354 E0066324 44812000 */ mtc1 $at, $f4 +/* 366358 E0066328 44901000 */ mtc1 $s0, $f2 +/* 36635C E006632C 00000000 */ nop +/* 366360 E0066330 468010A0 */ cvt.s.w $f2, $f2 +/* 366364 E0066334 E4800040 */ swc1 $f0, 0x40($a0) +/* 366368 E0066338 46020003 */ div.s $f0, $f0, $f2 +/* 36636C E006633C E4800044 */ swc1 $f0, 0x44($a0) +/* 366370 E0066340 0801991A */ j .LE0066468 +/* 366374 E0066344 E4840064 */ swc1 $f4, 0x64($a0) +/* 366378 E0066348 24020020 */ addiu $v0, $zero, 0x20 +/* 36637C E006634C 3C0140E0 */ lui $at, 0x40e0 +/* 366380 E0066350 44811000 */ mtc1 $at, $f2 +/* 366384 E0066354 3C01C040 */ lui $at, 0xc040 +/* 366388 E0066358 44810000 */ mtc1 $at, $f0 +/* 36638C E006635C 3C01C000 */ lui $at, 0xc000 +/* 366390 E0066360 44812000 */ mtc1 $at, $f4 +/* 366394 E0066364 240300FF */ addiu $v1, $zero, 0xff +/* 366398 E0066368 A0820069 */ sb $v0, 0x69($a0) +/* 36639C E006636C 24020007 */ addiu $v0, $zero, 7 +/* 3663A0 E0066370 A0800068 */ sb $zero, 0x68($a0) +/* 3663A4 E0066374 A0820068 */ sb $v0, 0x68($a0) +/* 3663A8 E0066378 240200D8 */ addiu $v0, $zero, 0xd8 +/* 3663AC E006637C A083006A */ sb $v1, 0x6a($a0) +/* 3663B0 E0066380 A082006A */ sb $v0, 0x6a($a0) +/* 3663B4 E0066384 240200E4 */ addiu $v0, $zero, 0xe4 +/* 3663B8 E0066388 A0800069 */ sb $zero, 0x69($a0) +/* 3663BC E006638C A082006B */ sb $v0, 0x6b($a0) +/* 3663C0 E0066390 A083006C */ sb $v1, 0x6c($a0) +.LE0066394: +/* 3663C4 E0066394 A080006D */ sb $zero, 0x6d($a0) +.LE0066398: +/* 3663C8 E0066398 E4820034 */ swc1 $f2, 0x34($a0) +/* 3663CC E006639C E4800044 */ swc1 $f0, 0x44($a0) +/* 3663D0 E00663A0 E480003C */ swc1 $f0, 0x3c($a0) +/* 3663D4 E00663A4 0801991A */ j .LE0066468 +/* 3663D8 E00663A8 E484004C */ swc1 $f4, 0x4c($a0) +/* 3663DC E00663AC 3C0140E0 */ lui $at, 0x40e0 +/* 3663E0 E00663B0 44810000 */ mtc1 $at, $f0 +/* 3663E4 E00663B4 3C014100 */ lui $at, 0x4100 +/* 3663E8 E00663B8 44811000 */ mtc1 $at, $f2 +/* 3663EC E00663BC 3C01C040 */ lui $at, 0xc040 +/* 3663F0 E00663C0 44812000 */ mtc1 $at, $f4 +/* 3663F4 E00663C4 3C0140C0 */ lui $at, 0x40c0 +/* 3663F8 E00663C8 44813000 */ mtc1 $at, $f6 +/* 3663FC E00663CC 24020007 */ addiu $v0, $zero, 7 +/* 366400 E00663D0 A0820068 */ sb $v0, 0x68($a0) +/* 366404 E00663D4 240200D8 */ addiu $v0, $zero, 0xd8 +/* 366408 E00663D8 A082006A */ sb $v0, 0x6a($a0) +/* 36640C E00663DC 240200E4 */ addiu $v0, $zero, 0xe4 +/* 366410 E00663E0 A082006B */ sb $v0, 0x6b($a0) +/* 366414 E00663E4 240200FF */ addiu $v0, $zero, 0xff +/* 366418 E00663E8 A0800069 */ sb $zero, 0x69($a0) +/* 36641C E00663EC A082006C */ sb $v0, 0x6c($a0) +/* 366420 E00663F0 08019906 */ j .LE0066418 +/* 366424 E00663F4 A080006D */ sb $zero, 0x6d($a0) +/* 366428 E00663F8 3C0140E0 */ lui $at, 0x40e0 +/* 36642C E00663FC 44810000 */ mtc1 $at, $f0 +/* 366430 E0066400 3C01C040 */ lui $at, 0xc040 +/* 366434 E0066404 44811000 */ mtc1 $at, $f2 +/* 366438 E0066408 3C01C0A0 */ lui $at, 0xc0a0 +/* 36643C E006640C 44812000 */ mtc1 $at, $f4 +/* 366440 E0066410 3C01C080 */ lui $at, 0xc080 +/* 366444 E0066414 44813000 */ mtc1 $at, $f6 +.LE0066418: +/* 366448 E0066418 E4800034 */ swc1 $f0, 0x34($a0) +.LE006641C: +/* 36644C E006641C E4820044 */ swc1 $f2, 0x44($a0) +/* 366450 E0066420 E484003C */ swc1 $f4, 0x3c($a0) +/* 366454 E0066424 0801991A */ j .LE0066468 +/* 366458 E0066428 E486004C */ swc1 $f6, 0x4c($a0) +.LE006642C: +/* 36645C E006642C 3C014080 */ lui $at, 0x4080 +/* 366460 E0066430 44810000 */ mtc1 $at, $f0 +/* 366464 E0066434 3C0140E0 */ lui $at, 0x40e0 +/* 366468 E0066438 44811000 */ mtc1 $at, $f2 +/* 36646C E006643C 3C014060 */ lui $at, 0x4060 +/* 366470 E0066440 44812000 */ mtc1 $at, $f4 +/* 366474 E0066444 3C0141A0 */ lui $at, 0x41a0 +/* 366478 E0066448 44813000 */ mtc1 $at, $f6 +/* 36647C E006644C 3C01C2D4 */ lui $at, 0xc2d4 +/* 366480 E0066450 44814000 */ mtc1 $at, $f8 +/* 366484 E0066454 E4800040 */ swc1 $f0, 0x40($a0) +/* 366488 E0066458 E4820034 */ swc1 $f2, 0x34($a0) +/* 36648C E006645C E484004C */ swc1 $f4, 0x4c($a0) +/* 366490 E0066460 E4860060 */ swc1 $f6, 0x60($a0) +/* 366494 E0066464 E4880064 */ swc1 $f8, 0x64($a0) +.LE0066468: +/* 366498 E0066468 0240102D */ daddu $v0, $s2, $zero +/* 36649C E006646C 8FBF0034 */ lw $ra, 0x34($sp) +/* 3664A0 E0066470 8FB20030 */ lw $s2, 0x30($sp) +/* 3664A4 E0066474 8FB1002C */ lw $s1, 0x2c($sp) +/* 3664A8 E0066478 8FB00028 */ lw $s0, 0x28($sp) +/* 3664AC E006647C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3664B0 E0066480 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3664B4 E0066484 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3664B8 E0066488 03E00008 */ jr $ra +/* 3664BC E006648C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_366030/func_E0066490.s b/asm/nonmatchings/code_366030/func_E0066490.s new file mode 100644 index 0000000000..460a38c517 --- /dev/null +++ b/asm/nonmatchings/code_366030/func_E0066490.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0066490 +/* 3664C0 E0066490 03E00008 */ jr $ra +/* 3664C4 E0066494 00000000 */ nop diff --git a/asm/nonmatchings/code_366030/func_E0066498.s b/asm/nonmatchings/code_366030/func_E0066498.s new file mode 100644 index 0000000000..f89ce98ada --- /dev/null +++ b/asm/nonmatchings/code_366030/func_E0066498.s @@ -0,0 +1,178 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0066498 +/* 3664C8 E0066498 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 3664CC E006649C AFB1003C */ sw $s1, 0x3c($sp) +/* 3664D0 E00664A0 0080882D */ daddu $s1, $a0, $zero +/* 3664D4 E00664A4 AFBF0040 */ sw $ra, 0x40($sp) +/* 3664D8 E00664A8 AFB00038 */ sw $s0, 0x38($sp) +/* 3664DC E00664AC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 3664E0 E00664B0 8E30000C */ lw $s0, 0xc($s1) +/* 3664E4 E00664B4 8E020028 */ lw $v0, 0x28($s0) +/* 3664E8 E00664B8 8E03002C */ lw $v1, 0x2c($s0) +/* 3664EC E00664BC 2442FFFF */ addiu $v0, $v0, -1 +/* 3664F0 E00664C0 24630001 */ addiu $v1, $v1, 1 +/* 3664F4 E00664C4 AE020028 */ sw $v0, 0x28($s0) +/* 3664F8 E00664C8 AE03002C */ sw $v1, 0x2c($s0) +/* 3664FC E00664CC 8E230000 */ lw $v1, ($s1) +/* 366500 E00664D0 30620010 */ andi $v0, $v1, 0x10 +/* 366504 E00664D4 10400005 */ beqz $v0, .LE00664EC +/* 366508 E00664D8 2402FFEF */ addiu $v0, $zero, -0x11 +/* 36650C E00664DC 00621024 */ and $v0, $v1, $v0 +/* 366510 E00664E0 AE220000 */ sw $v0, ($s1) +/* 366514 E00664E4 24020010 */ addiu $v0, $zero, 0x10 +/* 366518 E00664E8 AE020028 */ sw $v0, 0x28($s0) +.LE00664EC: +/* 36651C E00664EC 8E050028 */ lw $a1, 0x28($s0) +/* 366520 E00664F0 04A10005 */ bgez $a1, .LE0066508 +/* 366524 E00664F4 00000000 */ nop +/* 366528 E00664F8 0C080128 */ jal func_E02004A0 +/* 36652C E00664FC 0220202D */ daddu $a0, $s1, $zero +/* 366530 E0066500 080199C5 */ j .LE0066714 +/* 366534 E0066504 00000000 */ nop +.LE0066508: +/* 366538 E0066508 8E04002C */ lw $a0, 0x2c($s0) +/* 36653C E006650C 2882000B */ slti $v0, $a0, 0xb +/* 366540 E0066510 1040000A */ beqz $v0, .LE006653C +/* 366544 E0066514 3C036666 */ lui $v1, 0x6666 +/* 366548 E0066518 34636667 */ ori $v1, $v1, 0x6667 +/* 36654C E006651C 00041200 */ sll $v0, $a0, 8 +/* 366550 E0066520 00441023 */ subu $v0, $v0, $a0 +/* 366554 E0066524 00430018 */ mult $v0, $v1 +/* 366558 E0066528 000217C3 */ sra $v0, $v0, 0x1f +/* 36655C E006652C 00004010 */ mfhi $t0 +/* 366560 E0066530 00081883 */ sra $v1, $t0, 2 +/* 366564 E0066534 00621823 */ subu $v1, $v1, $v0 +/* 366568 E0066538 AE030024 */ sw $v1, 0x24($s0) +.LE006653C: +/* 36656C E006653C 28A20006 */ slti $v0, $a1, 6 +/* 366570 E0066540 10400009 */ beqz $v0, .LE0066568 +/* 366574 E0066544 3C032AAA */ lui $v1, 0x2aaa +/* 366578 E0066548 3463AAAB */ ori $v1, $v1, 0xaaab +/* 36657C E006654C 00051200 */ sll $v0, $a1, 8 +/* 366580 E0066550 00451023 */ subu $v0, $v0, $a1 +/* 366584 E0066554 00430018 */ mult $v0, $v1 +/* 366588 E0066558 000217C3 */ sra $v0, $v0, 0x1f +/* 36658C E006655C 00004010 */ mfhi $t0 +/* 366590 E0066560 01021023 */ subu $v0, $t0, $v0 +/* 366594 E0066564 AE020024 */ sw $v0, 0x24($s0) +.LE0066568: +/* 366598 E0066568 28A2000A */ slti $v0, $a1, 0xa +/* 36659C E006656C 1040000C */ beqz $v0, .LE00665A0 +/* 3665A0 E0066570 24020004 */ addiu $v0, $zero, 4 +/* 3665A4 E0066574 8E030000 */ lw $v1, ($s0) +/* 3665A8 E0066578 14620009 */ bne $v1, $v0, .LE00665A0 +/* 3665AC E006657C 00000000 */ nop +/* 3665B0 E0066580 C600001C */ lwc1 $f0, 0x1c($s0) +/* 3665B4 E0066584 3C01E006 */ lui $at, 0xe006 +/* 3665B8 E0066588 D4226D20 */ ldc1 $f2, 0x6d20($at) +/* 3665BC E006658C 46000021 */ cvt.d.s $f0, $f0 +/* 3665C0 E0066590 46220002 */ mul.d $f0, $f0, $f2 +/* 3665C4 E0066594 00000000 */ nop +/* 3665C8 E0066598 46200020 */ cvt.s.d $f0, $f0 +/* 3665CC E006659C E600001C */ swc1 $f0, 0x1c($s0) +.LE00665A0: +/* 3665D0 E00665A0 C6000020 */ lwc1 $f0, 0x20($s0) +/* 3665D4 E00665A4 3C013F80 */ lui $at, 0x3f80 +/* 3665D8 E00665A8 4481A000 */ mtc1 $at, $f20 +/* 3665DC E00665AC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3665E0 E00665B0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3665E4 E00665B4 27A20028 */ addiu $v0, $sp, 0x28 +/* 3665E8 E00665B8 E600001C */ swc1 $f0, 0x1c($s0) +/* 3665EC E00665BC AFA20014 */ sw $v0, 0x14($sp) +/* 3665F0 E00665C0 27A2002C */ addiu $v0, $sp, 0x2c +/* 3665F4 E00665C4 AFA20018 */ sw $v0, 0x18($sp) +/* 3665F8 E00665C8 27A20030 */ addiu $v0, $sp, 0x30 +/* 3665FC E00665CC AFA2001C */ sw $v0, 0x1c($sp) +/* 366600 E00665D0 27A20034 */ addiu $v0, $sp, 0x34 +/* 366604 E00665D4 00032080 */ sll $a0, $v1, 2 +/* 366608 E00665D8 00832021 */ addu $a0, $a0, $v1 +/* 36660C E00665DC 00042080 */ sll $a0, $a0, 2 +/* 366610 E00665E0 00832023 */ subu $a0, $a0, $v1 +/* 366614 E00665E4 AFA20020 */ sw $v0, 0x20($sp) +/* 366618 E00665E8 000410C0 */ sll $v0, $a0, 3 +/* 36661C E00665EC 00822021 */ addu $a0, $a0, $v0 +/* 366620 E00665F0 000420C0 */ sll $a0, $a0, 3 +/* 366624 E00665F4 3C02800B */ lui $v0, 0x800b +/* 366628 E00665F8 24421E54 */ addiu $v0, $v0, 0x1e54 +/* 36662C E00665FC E7B40010 */ swc1 $f20, 0x10($sp) +/* 366630 E0066600 8E050004 */ lw $a1, 4($s0) +/* 366634 E0066604 8E060008 */ lw $a2, 8($s0) +/* 366638 E0066608 8E07000C */ lw $a3, 0xc($s0) +/* 36663C E006660C 0C080168 */ jal func_E02005A0 +/* 366640 E0066610 00822021 */ addu $a0, $a0, $v0 +/* 366644 E0066614 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 366648 E0066618 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 36664C E006661C 4600A503 */ div.s $f20, $f20, $f0 +/* 366650 E0066620 46142102 */ mul.s $f4, $f4, $f20 +/* 366654 E0066624 00000000 */ nop +/* 366658 E0066628 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 36665C E006662C 46140002 */ mul.s $f0, $f0, $f20 +/* 366660 E0066630 00000000 */ nop +/* 366664 E0066634 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 366668 E0066638 46141082 */ mul.s $f2, $f2, $f20 +/* 36666C E006663C 00000000 */ nop +/* 366670 E0066640 AE000018 */ sw $zero, 0x18($s0) +/* 366674 E0066644 E6040010 */ swc1 $f4, 0x10($s0) +/* 366678 E0066648 E6000014 */ swc1 $f0, 0x14($s0) +/* 36667C E006664C 8E220008 */ lw $v0, 8($s1) +/* 366680 E0066650 0000202D */ daddu $a0, $zero, $zero +/* 366684 E0066654 E7B40034 */ swc1 $f20, 0x34($sp) +/* 366688 E0066658 E7A40028 */ swc1 $f4, 0x28($sp) +/* 36668C E006665C E7A0002C */ swc1 $f0, 0x2c($sp) +/* 366690 E0066660 1840002C */ blez $v0, .LE0066714 +/* 366694 E0066664 E7A20030 */ swc1 $f2, 0x30($sp) +/* 366698 E0066668 26030048 */ addiu $v1, $s0, 0x48 +/* 36669C E006666C C60E0018 */ lwc1 $f14, 0x18($s0) +/* 3666A0 E0066670 3C014400 */ lui $at, 0x4400 +/* 3666A4 E0066674 44816000 */ mtc1 $at, $f12 +.LE0066678: +/* 3666A8 E0066678 C4620010 */ lwc1 $f2, 0x10($v1) +/* 3666AC E006667C C4600014 */ lwc1 $f0, 0x14($v1) +/* 3666B0 E0066680 C4680008 */ lwc1 $f8, 8($v1) +/* 3666B4 E0066684 C464FFF8 */ lwc1 $f4, -8($v1) +/* 3666B8 E0066688 46001080 */ add.s $f2, $f2, $f0 +/* 3666BC E006668C C460000C */ lwc1 $f0, 0xc($v1) +/* 3666C0 E0066690 C46AFFE8 */ lwc1 $f10, -0x18($v1) +/* 3666C4 E0066694 46004200 */ add.s $f8, $f8, $f0 +/* 3666C8 E0066698 C460FFFC */ lwc1 $f0, -4($v1) +/* 3666CC E006669C C466FFF0 */ lwc1 $f6, -0x10($v1) +/* 3666D0 E00666A0 46002100 */ add.s $f4, $f4, $f0 +/* 3666D4 E00666A4 C460FFEC */ lwc1 $f0, -0x14($v1) +/* 3666D8 E00666A8 E4620010 */ swc1 $f2, 0x10($v1) +/* 3666DC E00666AC 46005280 */ add.s $f10, $f10, $f0 +/* 3666E0 E00666B0 C462FFF4 */ lwc1 $f2, -0xc($v1) +/* 3666E4 E00666B4 46023180 */ add.s $f6, $f6, $f2 +/* 3666E8 E00666B8 C4600000 */ lwc1 $f0, ($v1) +/* 3666EC E00666BC C4620004 */ lwc1 $f2, 4($v1) +/* 3666F0 E00666C0 46020000 */ add.s $f0, $f0, $f2 +/* 3666F4 E00666C4 E4680008 */ swc1 $f8, 8($v1) +/* 3666F8 E00666C8 460E203C */ c.lt.s $f4, $f14 +/* 3666FC E00666CC E464FFF8 */ swc1 $f4, -8($v1) +/* 366700 E00666D0 E46AFFE8 */ swc1 $f10, -0x18($v1) +/* 366704 E00666D4 E466FFF0 */ swc1 $f6, -0x10($v1) +/* 366708 E00666D8 45000003 */ bc1f .LE00666E8 +/* 36670C E00666DC E4600000 */ swc1 $f0, ($v1) +/* 366710 E00666E0 460C2000 */ add.s $f0, $f4, $f12 +/* 366714 E00666E4 E460FFF8 */ swc1 $f0, -8($v1) +.LE00666E8: +/* 366718 E00666E8 C4600000 */ lwc1 $f0, ($v1) +/* 36671C E00666EC 460E003C */ c.lt.s $f0, $f14 +/* 366720 E00666F0 00000000 */ nop +/* 366724 E00666F4 45000003 */ bc1f .LE0066704 +/* 366728 E00666F8 24840001 */ addiu $a0, $a0, 1 +/* 36672C E00666FC 460C0000 */ add.s $f0, $f0, $f12 +/* 366730 E0066700 E4600000 */ swc1 $f0, ($v1) +.LE0066704: +/* 366734 E0066704 8E220008 */ lw $v0, 8($s1) +/* 366738 E0066708 0082102A */ slt $v0, $a0, $v0 +/* 36673C E006670C 1440FFDA */ bnez $v0, .LE0066678 +/* 366740 E0066710 24630070 */ addiu $v1, $v1, 0x70 +.LE0066714: +/* 366744 E0066714 8FBF0040 */ lw $ra, 0x40($sp) +/* 366748 E0066718 8FB1003C */ lw $s1, 0x3c($sp) +/* 36674C E006671C 8FB00038 */ lw $s0, 0x38($sp) +/* 366750 E0066720 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 366754 E0066724 03E00008 */ jr $ra +/* 366758 E0066728 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_366030/func_E006672C.s b/asm/nonmatchings/code_366030/func_E006672C.s new file mode 100644 index 0000000000..19888e01b8 --- /dev/null +++ b/asm/nonmatchings/code_366030/func_E006672C.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006672C +/* 36675C E006672C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 366760 E0066730 3C02E006 */ lui $v0, 0xe006 +/* 366764 E0066734 24426770 */ addiu $v0, $v0, 0x6770 +/* 366768 E0066738 AFA2001C */ sw $v0, 0x1c($sp) +/* 36676C E006673C 2402002D */ addiu $v0, $zero, 0x2d +/* 366770 E0066740 AFA40018 */ sw $a0, 0x18($sp) +/* 366774 E0066744 27A40010 */ addiu $a0, $sp, 0x10 +/* 366778 E0066748 AFBF0020 */ sw $ra, 0x20($sp) +/* 36677C E006674C AFA00014 */ sw $zero, 0x14($sp) +/* 366780 E0066750 0C080120 */ jal func_E0200480 +/* 366784 E0066754 AFA20010 */ sw $v0, 0x10($sp) +/* 366788 E0066758 8C430000 */ lw $v1, ($v0) +/* 36678C E006675C 34630002 */ ori $v1, $v1, 2 +/* 366790 E0066760 AC430000 */ sw $v1, ($v0) +/* 366794 E0066764 8FBF0020 */ lw $ra, 0x20($sp) +/* 366798 E0066768 03E00008 */ jr $ra +/* 36679C E006676C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_366030/func_E0066770.s b/asm/nonmatchings/code_366030/func_E0066770.s new file mode 100644 index 0000000000..743177a347 --- /dev/null +++ b/asm/nonmatchings/code_366030/func_E0066770.s @@ -0,0 +1,321 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0066770 +/* 3667A0 E0066770 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 3667A4 E0066774 AFB700C4 */ sw $s7, 0xc4($sp) +/* 3667A8 E0066778 0080B82D */ daddu $s7, $a0, $zero +/* 3667AC E006677C 3C06DB06 */ lui $a2, 0xdb06 +/* 3667B0 E0066780 34C60024 */ ori $a2, $a2, 0x24 +/* 3667B4 E0066784 27A40020 */ addiu $a0, $sp, 0x20 +/* 3667B8 E0066788 AFB200B0 */ sw $s2, 0xb0($sp) +/* 3667BC E006678C 3C120001 */ lui $s2, 1 +/* 3667C0 E0066790 36521630 */ ori $s2, $s2, 0x1630 +/* 3667C4 E0066794 AFB600C0 */ sw $s6, 0xc0($sp) +/* 3667C8 E0066798 3C16800A */ lui $s6, 0x800a +/* 3667CC E006679C 26D6A66C */ addiu $s6, $s6, -0x5994 +/* 3667D0 E00667A0 AFBF00CC */ sw $ra, 0xcc($sp) +/* 3667D4 E00667A4 AFBE00C8 */ sw $fp, 0xc8($sp) +/* 3667D8 E00667A8 AFB500BC */ sw $s5, 0xbc($sp) +/* 3667DC E00667AC AFB400B8 */ sw $s4, 0xb8($sp) +/* 3667E0 E00667B0 AFB300B4 */ sw $s3, 0xb4($sp) +/* 3667E4 E00667B4 AFB100AC */ sw $s1, 0xac($sp) +/* 3667E8 E00667B8 AFB000A8 */ sw $s0, 0xa8($sp) +/* 3667EC E00667BC F7B400D0 */ sdc1 $f20, 0xd0($sp) +/* 3667F0 E00667C0 8EC50000 */ lw $a1, ($s6) +/* 3667F4 E00667C4 8EF4000C */ lw $s4, 0xc($s7) +/* 3667F8 E00667C8 00A0182D */ daddu $v1, $a1, $zero +/* 3667FC E00667CC 8E950000 */ lw $s5, ($s4) +/* 366800 E00667D0 24A50008 */ addiu $a1, $a1, 8 +/* 366804 E00667D4 AEC50000 */ sw $a1, ($s6) +/* 366808 E00667D8 00151080 */ sll $v0, $s5, 2 +/* 36680C E00667DC 3C13E006 */ lui $s3, 0xe006 +/* 366810 E00667E0 02629821 */ addu $s3, $s3, $v0 +/* 366814 E00667E4 8E736C8C */ lw $s3, 0x6c8c($s3) +/* 366818 E00667E8 3C1EE006 */ lui $fp, 0xe006 +/* 36681C E00667EC 03C2F021 */ addu $fp, $fp, $v0 +/* 366820 E00667F0 8FDE6C50 */ lw $fp, 0x6c50($fp) +/* 366824 E00667F4 3C02E700 */ lui $v0, 0xe700 +/* 366828 E00667F8 AC620000 */ sw $v0, ($v1) +/* 36682C E00667FC AC600004 */ sw $zero, 4($v1) +/* 366830 E0066800 ACA60000 */ sw $a2, ($a1) +/* 366834 E0066804 8EE30010 */ lw $v1, 0x10($s7) +/* 366838 E0066808 24A20008 */ addiu $v0, $a1, 8 +/* 36683C E006680C AEC20000 */ sw $v0, ($s6) +/* 366840 E0066810 8C62001C */ lw $v0, 0x1c($v1) +/* 366844 E0066814 3C038000 */ lui $v1, 0x8000 +/* 366848 E0066818 00431021 */ addu $v0, $v0, $v1 +/* 36684C E006681C 3C03800B */ lui $v1, %hi(gCameras) +/* 366850 E0066820 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 366854 E0066824 ACA20004 */ sw $v0, 4($a1) +/* 366858 E0066828 8E850010 */ lw $a1, 0x10($s4) +/* 36685C E006682C 8E860014 */ lw $a2, 0x14($s4) +/* 366860 E0066830 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* 366864 E0066834 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* 366868 E0066838 8E870018 */ lw $a3, 0x18($s4) +/* 36686C E006683C 00028080 */ sll $s0, $v0, 2 +/* 366870 E0066840 02028021 */ addu $s0, $s0, $v0 +/* 366874 E0066844 00108080 */ sll $s0, $s0, 2 +/* 366878 E0066848 02028023 */ subu $s0, $s0, $v0 +/* 36687C E006684C 001010C0 */ sll $v0, $s0, 3 +/* 366880 E0066850 02028021 */ addu $s0, $s0, $v0 +/* 366884 E0066854 001080C0 */ sll $s0, $s0, 3 +/* 366888 E0066858 0C080108 */ jal func_E0200420 +/* 36688C E006685C 02038021 */ addu $s0, $s0, $v1 +/* 366890 E0066860 27B10060 */ addiu $s1, $sp, 0x60 +/* 366894 E0066864 0220202D */ daddu $a0, $s1, $zero +/* 366898 E0066868 3C013F80 */ lui $at, 0x3f80 +/* 36689C E006686C 4481A000 */ mtc1 $at, $f20 +/* 3668A0 E0066870 8E85001C */ lw $a1, 0x1c($s4) +/* 3668A4 E0066874 4407A000 */ mfc1 $a3, $f20 +/* 3668A8 E0066878 0C080110 */ jal func_E0200440 +/* 3668AC E006687C 00A0302D */ daddu $a2, $a1, $zero +/* 3668B0 E0066880 0220202D */ daddu $a0, $s1, $zero +/* 3668B4 E0066884 27A50020 */ addiu $a1, $sp, 0x20 +/* 3668B8 E0066888 0C080114 */ jal func_E0200450 +/* 3668BC E006688C 00A0302D */ daddu $a2, $a1, $zero +/* 3668C0 E0066890 8602000A */ lh $v0, 0xa($s0) +/* 3668C4 E0066894 8603000C */ lh $v1, 0xc($s0) +/* 3668C8 E0066898 3C014080 */ lui $at, 0x4080 +/* 3668CC E006689C 44810000 */ mtc1 $at, $f0 +/* 3668D0 E00668A0 3C014680 */ lui $at, 0x4680 +/* 3668D4 E00668A4 44811000 */ mtc1 $at, $f2 +/* 3668D8 E00668A8 0220202D */ daddu $a0, $s1, $zero +/* 3668DC E00668AC E7B40018 */ swc1 $f20, 0x18($sp) +/* 3668E0 E00668B0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 3668E4 E00668B4 44821000 */ mtc1 $v0, $f2 +/* 3668E8 E00668B8 00000000 */ nop +/* 3668EC E00668BC 468010A0 */ cvt.s.w $f2, $f2 +/* 3668F0 E00668C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 3668F4 E00668C4 44830000 */ mtc1 $v1, $f0 +/* 3668F8 E00668C8 00000000 */ nop +/* 3668FC E00668CC 46800020 */ cvt.s.w $f0, $f0 +/* 366900 E00668D0 46001083 */ div.s $f2, $f2, $f0 +/* 366904 E00668D4 8E860060 */ lw $a2, 0x60($s4) +/* 366908 E00668D8 44071000 */ mfc1 $a3, $f2 +/* 36690C E00668DC 0C080160 */ jal func_E0200580 +/* 366910 E00668E0 27A500A0 */ addiu $a1, $sp, 0xa0 +/* 366914 E00668E4 0220202D */ daddu $a0, $s1, $zero +/* 366918 E00668E8 27A50020 */ addiu $a1, $sp, 0x20 +/* 36691C E00668EC 0C080114 */ jal func_E0200450 +/* 366920 E00668F0 00A0302D */ daddu $a2, $a1, $zero +/* 366924 E00668F4 27A40020 */ addiu $a0, $sp, 0x20 +/* 366928 E00668F8 3C108007 */ lui $s0, 0x8007 +/* 36692C E00668FC 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 366930 E0066900 3C11800A */ lui $s1, 0x800a +/* 366934 E0066904 2631A674 */ addiu $s1, $s1, -0x598c +/* 366938 E0066908 96050000 */ lhu $a1, ($s0) +/* 36693C E006690C 8E220000 */ lw $v0, ($s1) +/* 366940 E0066910 00052980 */ sll $a1, $a1, 6 +/* 366944 E0066914 00B22821 */ addu $a1, $a1, $s2 +/* 366948 E0066918 0C080118 */ jal func_E0200460 +/* 36694C E006691C 00452821 */ addu $a1, $v0, $a1 +/* 366950 E0066920 3C02DA38 */ lui $v0, 0xda38 +/* 366954 E0066924 34420007 */ ori $v0, $v0, 7 +/* 366958 E0066928 27A40020 */ addiu $a0, $sp, 0x20 +/* 36695C E006692C 44800000 */ mtc1 $zero, $f0 +/* 366960 E0066930 8EC90000 */ lw $t1, ($s6) +/* 366964 E0066934 96080000 */ lhu $t0, ($s0) +/* 366968 E0066938 0120382D */ daddu $a3, $t1, $zero +/* 36696C E006693C ACE20000 */ sw $v0, ($a3) +/* 366970 E0066940 3102FFFF */ andi $v0, $t0, 0xffff +/* 366974 E0066944 00021180 */ sll $v0, $v0, 6 +/* 366978 E0066948 00521021 */ addu $v0, $v0, $s2 +/* 36697C E006694C 25290008 */ addiu $t1, $t1, 8 +/* 366980 E0066950 25080001 */ addiu $t0, $t0, 1 +/* 366984 E0066954 8E230000 */ lw $v1, ($s1) +/* 366988 E0066958 44050000 */ mfc1 $a1, $f0 +/* 36698C E006695C 00621821 */ addu $v1, $v1, $v0 +/* 366990 E0066960 ACE30004 */ sw $v1, 4($a3) +/* 366994 E0066964 8E870064 */ lw $a3, 0x64($s4) +/* 366998 E0066968 00A0302D */ daddu $a2, $a1, $zero +/* 36699C E006696C AEC90000 */ sw $t1, ($s6) +/* 3669A0 E0066970 0C080108 */ jal func_E0200420 +/* 3669A4 E0066974 A6080000 */ sh $t0, ($s0) +/* 3669A8 E0066978 27A40020 */ addiu $a0, $sp, 0x20 +/* 3669AC E006697C 96050000 */ lhu $a1, ($s0) +/* 3669B0 E0066980 8E220000 */ lw $v0, ($s1) +/* 3669B4 E0066984 00052980 */ sll $a1, $a1, 6 +/* 3669B8 E0066988 00B22821 */ addu $a1, $a1, $s2 +/* 3669BC E006698C 0C080118 */ jal func_E0200460 +/* 3669C0 E0066990 00452821 */ addu $a1, $v0, $a1 +/* 3669C4 E0066994 3C03DA38 */ lui $v1, 0xda38 +/* 3669C8 E0066998 34630002 */ ori $v1, $v1, 2 +/* 3669CC E006699C 0000602D */ daddu $t4, $zero, $zero +/* 3669D0 E00669A0 8EC50000 */ lw $a1, ($s6) +/* 3669D4 E00669A4 96020000 */ lhu $v0, ($s0) +/* 3669D8 E00669A8 00A0202D */ daddu $a0, $a1, $zero +/* 3669DC E00669AC 24A50008 */ addiu $a1, $a1, 8 +/* 3669E0 E00669B0 AEC50000 */ sw $a1, ($s6) +/* 3669E4 E00669B4 AC830000 */ sw $v1, ($a0) +/* 3669E8 E00669B8 24430001 */ addiu $v1, $v0, 1 +/* 3669EC E00669BC 3042FFFF */ andi $v0, $v0, 0xffff +/* 3669F0 E00669C0 00021180 */ sll $v0, $v0, 6 +/* 3669F4 E00669C4 A6030000 */ sh $v1, ($s0) +/* 3669F8 E00669C8 8E230000 */ lw $v1, ($s1) +/* 3669FC E00669CC 00521021 */ addu $v0, $v0, $s2 +/* 366A00 E00669D0 00621821 */ addu $v1, $v1, $v0 +/* 366A04 E00669D4 24A20008 */ addiu $v0, $a1, 8 +/* 366A08 E00669D8 AC830004 */ sw $v1, 4($a0) +/* 366A0C E00669DC AEC20000 */ sw $v0, ($s6) +/* 366A10 E00669E0 8E870024 */ lw $a3, 0x24($s4) +/* 366A14 E00669E4 3C02FB00 */ lui $v0, 0xfb00 +/* 366A18 E00669E8 ACA20000 */ sw $v0, ($a1) +/* 366A1C E00669EC 9282006B */ lbu $v0, 0x6b($s4) +/* 366A20 E00669F0 9284006C */ lbu $a0, 0x6c($s4) +/* 366A24 E00669F4 9286006D */ lbu $a2, 0x6d($s4) +/* 366A28 E00669F8 3C03DE00 */ lui $v1, 0xde00 +/* 366A2C E00669FC ACA30008 */ sw $v1, 8($a1) +/* 366A30 E0066A00 ACB3000C */ sw $s3, 0xc($a1) +/* 366A34 E0066A04 00021600 */ sll $v0, $v0, 0x18 +/* 366A38 E0066A08 00042400 */ sll $a0, $a0, 0x10 +/* 366A3C E0066A0C 00441025 */ or $v0, $v0, $a0 +/* 366A40 E0066A10 00063200 */ sll $a2, $a2, 8 +/* 366A44 E0066A14 00461025 */ or $v0, $v0, $a2 +/* 366A48 E0066A18 3442007F */ ori $v0, $v0, 0x7f +/* 366A4C E0066A1C ACA20004 */ sw $v0, 4($a1) +/* 366A50 E0066A20 8EE20008 */ lw $v0, 8($s7) +/* 366A54 E0066A24 24A50010 */ addiu $a1, $a1, 0x10 +/* 366A58 E0066A28 1840005E */ blez $v0, .LE0066BA4 +/* 366A5C E0066A2C AEC50000 */ sw $a1, ($s6) +/* 366A60 E0066A30 02C0582D */ daddu $t3, $s6, $zero +/* 366A64 E0066A34 3C16FA00 */ lui $s6, 0xfa00 +/* 366A68 E0066A38 30F000FF */ andi $s0, $a3, 0xff +/* 366A6C E0066A3C 24130008 */ addiu $s3, $zero, 8 +/* 366A70 E0066A40 2AAF0009 */ slti $t7, $s5, 9 +/* 366A74 E0066A44 2412000B */ addiu $s2, $zero, 0xb +/* 366A78 E0066A48 2AAE0002 */ slti $t6, $s5, 2 +/* 366A7C E0066A4C 3C0DF200 */ lui $t5, 0xf200 +/* 366A80 E0066A50 3C110100 */ lui $s1, 0x100 +/* 366A84 E0066A54 268A0048 */ addiu $t2, $s4, 0x48 +.LE0066A58: +/* 366A88 E0066A58 8D620000 */ lw $v0, ($t3) +/* 366A8C E0066A5C 0040282D */ daddu $a1, $v0, $zero +/* 366A90 E0066A60 24420008 */ addiu $v0, $v0, 8 +/* 366A94 E0066A64 AD620000 */ sw $v0, ($t3) +/* 366A98 E0066A68 ACB60000 */ sw $s6, ($a1) +/* 366A9C E0066A6C 91420020 */ lbu $v0, 0x20($t2) +/* 366AA0 E0066A70 91440021 */ lbu $a0, 0x21($t2) +/* 366AA4 E0066A74 91430022 */ lbu $v1, 0x22($t2) +/* 366AA8 E0066A78 00021600 */ sll $v0, $v0, 0x18 +/* 366AAC E0066A7C 00042400 */ sll $a0, $a0, 0x10 +/* 366AB0 E0066A80 00441025 */ or $v0, $v0, $a0 +/* 366AB4 E0066A84 00031A00 */ sll $v1, $v1, 8 +/* 366AB8 E0066A88 00431025 */ or $v0, $v0, $v1 +/* 366ABC E0066A8C 00501025 */ or $v0, $v0, $s0 +/* 366AC0 E0066A90 12B30007 */ beq $s5, $s3, .LE0066AB0 +/* 366AC4 E0066A94 ACA20004 */ sw $v0, 4($a1) +/* 366AC8 E0066A98 15E00008 */ bnez $t7, .LE0066ABC +/* 366ACC E0066A9C 2409003F */ addiu $t1, $zero, 0x3f +/* 366AD0 E0066AA0 12B20007 */ beq $s5, $s2, .LE0066AC0 +/* 366AD4 E0066AA4 240700FF */ addiu $a3, $zero, 0xff +/* 366AD8 E0066AA8 08019AB0 */ j .LE0066AC0 +/* 366ADC E0066AAC 240701FF */ addiu $a3, $zero, 0x1ff +.LE0066AB0: +/* 366AE0 E0066AB0 2409003F */ addiu $t1, $zero, 0x3f +/* 366AE4 E0066AB4 08019AB0 */ j .LE0066AC0 +/* 366AE8 E0066AB8 2407007F */ addiu $a3, $zero, 0x7f +.LE0066ABC: +/* 366AEC E0066ABC 240701FF */ addiu $a3, $zero, 0x1ff +.LE0066AC0: +/* 366AF0 E0066AC0 258C0001 */ addiu $t4, $t4, 1 +/* 366AF4 E0066AC4 C540FFE8 */ lwc1 $f0, -0x18($t2) +/* 366AF8 E0066AC8 C542FFF8 */ lwc1 $f2, -8($t2) +/* 366AFC E0066ACC C544FFF0 */ lwc1 $f4, -0x10($t2) +/* 366B00 E0066AD0 C5460000 */ lwc1 $f6, ($t2) +/* 366B04 E0066AD4 254A0070 */ addiu $t2, $t2, 0x70 +/* 366B08 E0066AD8 00094880 */ sll $t1, $t1, 2 +/* 366B0C E0066ADC 8D660000 */ lw $a2, ($t3) +/* 366B10 E0066AE0 00073880 */ sll $a3, $a3, 2 +/* 366B14 E0066AE4 00C0402D */ daddu $t0, $a2, $zero +/* 366B18 E0066AE8 24C60008 */ addiu $a2, $a2, 8 +/* 366B1C E0066AEC 4600020D */ trunc.w.s $f8, $f0 +/* 366B20 E0066AF0 44044000 */ mfc1 $a0, $f8 +/* 366B24 E0066AF4 4600120D */ trunc.w.s $f8, $f2 +/* 366B28 E0066AF8 44054000 */ mfc1 $a1, $f8 +/* 366B2C E0066AFC 30830FFF */ andi $v1, $a0, 0xfff +/* 366B30 E0066B00 00031B00 */ sll $v1, $v1, 0xc +/* 366B34 E0066B04 30A20FFF */ andi $v0, $a1, 0xfff +/* 366B38 E0066B08 004D1025 */ or $v0, $v0, $t5 +/* 366B3C E0066B0C 00621825 */ or $v1, $v1, $v0 +/* 366B40 E0066B10 00892021 */ addu $a0, $a0, $t1 +/* 366B44 E0066B14 30840FFF */ andi $a0, $a0, 0xfff +/* 366B48 E0066B18 00042300 */ sll $a0, $a0, 0xc +/* 366B4C E0066B1C 00A72821 */ addu $a1, $a1, $a3 +/* 366B50 E0066B20 30A50FFF */ andi $a1, $a1, 0xfff +/* 366B54 E0066B24 00852025 */ or $a0, $a0, $a1 +/* 366B58 E0066B28 24C20008 */ addiu $v0, $a2, 8 +/* 366B5C E0066B2C AD660000 */ sw $a2, ($t3) +/* 366B60 E0066B30 AD040004 */ sw $a0, 4($t0) +/* 366B64 E0066B34 4600220D */ trunc.w.s $f8, $f4 +/* 366B68 E0066B38 44044000 */ mfc1 $a0, $f8 +/* 366B6C E0066B3C 4600320D */ trunc.w.s $f8, $f6 +/* 366B70 E0066B40 44054000 */ mfc1 $a1, $f8 +/* 366B74 E0066B44 AD030000 */ sw $v1, ($t0) +/* 366B78 E0066B48 30830FFF */ andi $v1, $a0, 0xfff +/* 366B7C E0066B4C 00031B00 */ sll $v1, $v1, 0xc +/* 366B80 E0066B50 AD620000 */ sw $v0, ($t3) +/* 366B84 E0066B54 30A20FFF */ andi $v0, $a1, 0xfff +/* 366B88 E0066B58 004D1025 */ or $v0, $v0, $t5 +/* 366B8C E0066B5C 00621825 */ or $v1, $v1, $v0 +/* 366B90 E0066B60 00892021 */ addu $a0, $a0, $t1 +/* 366B94 E0066B64 30840FFF */ andi $a0, $a0, 0xfff +/* 366B98 E0066B68 00042300 */ sll $a0, $a0, 0xc +/* 366B9C E0066B6C 00A72821 */ addu $a1, $a1, $a3 +/* 366BA0 E0066B70 30A50FFF */ andi $a1, $a1, 0xfff +/* 366BA4 E0066B74 00B12825 */ or $a1, $a1, $s1 +/* 366BA8 E0066B78 00852025 */ or $a0, $a0, $a1 +/* 366BAC E0066B7C 3C02DE00 */ lui $v0, 0xde00 +/* 366BB0 E0066B80 ACC30000 */ sw $v1, ($a2) +/* 366BB4 E0066B84 ACC40004 */ sw $a0, 4($a2) +/* 366BB8 E0066B88 ACC20008 */ sw $v0, 8($a2) +/* 366BBC E0066B8C ACDE000C */ sw $fp, 0xc($a2) +/* 366BC0 E0066B90 8EE20008 */ lw $v0, 8($s7) +/* 366BC4 E0066B94 24C60010 */ addiu $a2, $a2, 0x10 +/* 366BC8 E0066B98 0182102A */ slt $v0, $t4, $v0 +/* 366BCC E0066B9C 1440FFAE */ bnez $v0, .LE0066A58 +/* 366BD0 E0066BA0 AD660000 */ sw $a2, ($t3) +.LE0066BA4: +/* 366BD4 E0066BA4 3C02D838 */ lui $v0, 0xd838 +/* 366BD8 E0066BA8 34420002 */ ori $v0, $v0, 2 +/* 366BDC E0066BAC 3C05800A */ lui $a1, 0x800a +/* 366BE0 E0066BB0 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 366BE4 E0066BB4 8CA40000 */ lw $a0, ($a1) +/* 366BE8 E0066BB8 3C06DA38 */ lui $a2, 0xda38 +/* 366BEC E0066BBC 0080182D */ daddu $v1, $a0, $zero +/* 366BF0 E0066BC0 24840008 */ addiu $a0, $a0, 8 +/* 366BF4 E0066BC4 ACA40000 */ sw $a0, ($a1) +/* 366BF8 E0066BC8 AC620000 */ sw $v0, ($v1) +/* 366BFC E0066BCC 24020040 */ addiu $v0, $zero, 0x40 +/* 366C00 E0066BD0 AC620004 */ sw $v0, 4($v1) +/* 366C04 E0066BD4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 366C08 E0066BD8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 366C0C E0066BDC 24820008 */ addiu $v0, $a0, 8 +/* 366C10 E0066BE0 ACA20000 */ sw $v0, ($a1) +/* 366C14 E0066BE4 3C02800A */ lui $v0, 0x800a +/* 366C18 E0066BE8 8C42A674 */ lw $v0, -0x598c($v0) +/* 366C1C E0066BEC 34C60007 */ ori $a2, $a2, 7 +/* 366C20 E0066BF0 AC860000 */ sw $a2, ($a0) +/* 366C24 E0066BF4 00031980 */ sll $v1, $v1, 6 +/* 366C28 E0066BF8 24630030 */ addiu $v1, $v1, 0x30 +/* 366C2C E0066BFC 00431021 */ addu $v0, $v0, $v1 +/* 366C30 E0066C00 AC820004 */ sw $v0, 4($a0) +/* 366C34 E0066C04 24820010 */ addiu $v0, $a0, 0x10 +/* 366C38 E0066C08 ACA20000 */ sw $v0, ($a1) +/* 366C3C E0066C0C 3C02E700 */ lui $v0, 0xe700 +/* 366C40 E0066C10 AC820008 */ sw $v0, 8($a0) +/* 366C44 E0066C14 AC80000C */ sw $zero, 0xc($a0) +/* 366C48 E0066C18 8FBF00CC */ lw $ra, 0xcc($sp) +/* 366C4C E0066C1C 8FBE00C8 */ lw $fp, 0xc8($sp) +/* 366C50 E0066C20 8FB700C4 */ lw $s7, 0xc4($sp) +/* 366C54 E0066C24 8FB600C0 */ lw $s6, 0xc0($sp) +/* 366C58 E0066C28 8FB500BC */ lw $s5, 0xbc($sp) +/* 366C5C E0066C2C 8FB400B8 */ lw $s4, 0xb8($sp) +/* 366C60 E0066C30 8FB300B4 */ lw $s3, 0xb4($sp) +/* 366C64 E0066C34 8FB200B0 */ lw $s2, 0xb0($sp) +/* 366C68 E0066C38 8FB100AC */ lw $s1, 0xac($sp) +/* 366C6C E0066C3C 8FB000A8 */ lw $s0, 0xa8($sp) +/* 366C70 E0066C40 D7B400D0 */ ldc1 $f20, 0xd0($sp) +/* 366C74 E0066C44 03E00008 */ jr $ra +/* 366C78 E0066C48 27BD00D8 */ addiu $sp, $sp, 0xd8 +/* 366C7C E0066C4C 00000000 */ nop diff --git a/asm/nonmatchings/code_36A8D0/func_E0068000.s b/asm/nonmatchings/code_36A8D0/func_E0068000.s new file mode 100644 index 0000000000..d97b4a37b0 --- /dev/null +++ b/asm/nonmatchings/code_36A8D0/func_E0068000.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0068000 +/* 36A8D0 E0068000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 36A8D4 E0068004 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 36A8D8 E0068008 4485B000 */ mtc1 $a1, $f22 +/* 36A8DC E006800C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 36A8E0 E0068010 4486C000 */ mtc1 $a2, $f24 +/* 36A8E4 E0068014 AFB1002C */ sw $s1, 0x2c($sp) +/* 36A8E8 E0068018 0080882D */ daddu $s1, $a0, $zero +/* 36A8EC E006801C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 36A8F0 E0068020 4487D000 */ mtc1 $a3, $f26 +/* 36A8F4 E0068024 27A40010 */ addiu $a0, $sp, 0x10 +/* 36A8F8 E0068028 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 36A8FC E006802C C7B40068 */ lwc1 $f20, 0x68($sp) +/* 36A900 E0068030 3C02E007 */ lui $v0, 0xe007 +/* 36A904 E0068034 24428140 */ addiu $v0, $v0, -0x7ec0 +/* 36A908 E0068038 AFA20018 */ sw $v0, 0x18($sp) +/* 36A90C E006803C 3C02E007 */ lui $v0, 0xe007 +/* 36A910 E0068040 24428148 */ addiu $v0, $v0, -0x7eb8 +/* 36A914 E0068044 AFA2001C */ sw $v0, 0x1c($sp) +/* 36A918 E0068048 3C02E007 */ lui $v0, 0xe007 +/* 36A91C E006804C 244281D8 */ addiu $v0, $v0, -0x7e28 +/* 36A920 E0068050 AFA20020 */ sw $v0, 0x20($sp) +/* 36A924 E0068054 24020034 */ addiu $v0, $zero, 0x34 +/* 36A928 E0068058 AFBF0030 */ sw $ra, 0x30($sp) +/* 36A92C E006805C AFB00028 */ sw $s0, 0x28($sp) +/* 36A930 E0068060 AFA00010 */ sw $zero, 0x10($sp) +/* 36A934 E0068064 AFA00024 */ sw $zero, 0x24($sp) +/* 36A938 E0068068 0C080124 */ jal func_E0200490 +/* 36A93C E006806C AFA20014 */ sw $v0, 0x14($sp) +/* 36A940 E0068070 2404002C */ addiu $a0, $zero, 0x2c +/* 36A944 E0068074 24030001 */ addiu $v1, $zero, 1 +/* 36A948 E0068078 0040802D */ daddu $s0, $v0, $zero +/* 36A94C E006807C 0C08012C */ jal func_E02004B0 +/* 36A950 E0068080 AE030008 */ sw $v1, 8($s0) +/* 36A954 E0068084 0040202D */ daddu $a0, $v0, $zero +/* 36A958 E0068088 14800003 */ bnez $a0, .LE0068098 +/* 36A95C E006808C AE02000C */ sw $v0, 0xc($s0) +.LE0068090: +/* 36A960 E0068090 0801A024 */ j .LE0068090 +/* 36A964 E0068094 00000000 */ nop +.LE0068098: +/* 36A968 E0068098 240300FF */ addiu $v1, $zero, 0xff +/* 36A96C E006809C 24020064 */ addiu $v0, $zero, 0x64 +/* 36A970 E00680A0 AC910000 */ sw $s1, ($a0) +/* 36A974 E00680A4 E4960004 */ swc1 $f22, 4($a0) +/* 36A978 E00680A8 E4980008 */ swc1 $f24, 8($a0) +/* 36A97C E00680AC E49A000C */ swc1 $f26, 0xc($a0) +/* 36A980 E00680B0 AC830018 */ sw $v1, 0x18($a0) +/* 36A984 E00680B4 E4940014 */ swc1 $f20, 0x14($a0) +/* 36A988 E00680B8 E4940010 */ swc1 $f20, 0x10($a0) +/* 36A98C E00680BC AC82001C */ sw $v0, 0x1c($a0) +/* 36A990 E00680C0 0620000B */ bltz $s1, .LE00680F0 +/* 36A994 E00680C4 AC800020 */ sw $zero, 0x20($a0) +/* 36A998 E00680C8 2A220002 */ slti $v0, $s1, 2 +/* 36A99C E00680CC 10400009 */ beqz $v0, .LE00680F4 +/* 36A9A0 E00680D0 240200FF */ addiu $v0, $zero, 0xff +/* 36A9A4 E00680D4 A0800024 */ sb $zero, 0x24($a0) +/* 36A9A8 E00680D8 A0800025 */ sb $zero, 0x25($a0) +/* 36A9AC E00680DC A0800026 */ sb $zero, 0x26($a0) +/* 36A9B0 E00680E0 A0830027 */ sb $v1, 0x27($a0) +/* 36A9B4 E00680E4 A0830028 */ sb $v1, 0x28($a0) +/* 36A9B8 E00680E8 0801A045 */ j .LE0068114 +/* 36A9BC E00680EC A0830029 */ sb $v1, 0x29($a0) +.LE00680F0: +/* 36A9C0 E00680F0 240200FF */ addiu $v0, $zero, 0xff +.LE00680F4: +/* 36A9C4 E00680F4 240300E1 */ addiu $v1, $zero, 0xe1 +/* 36A9C8 E00680F8 A0820024 */ sb $v0, 0x24($a0) +/* 36A9CC E00680FC A0820025 */ sb $v0, 0x25($a0) +/* 36A9D0 E0068100 A0820026 */ sb $v0, 0x26($a0) +/* 36A9D4 E0068104 A0820028 */ sb $v0, 0x28($a0) +/* 36A9D8 E0068108 240200EB */ addiu $v0, $zero, 0xeb +/* 36A9DC E006810C A0830027 */ sb $v1, 0x27($a0) +/* 36A9E0 E0068110 A0820029 */ sb $v0, 0x29($a0) +.LE0068114: +/* 36A9E4 E0068114 8FA2006C */ lw $v0, 0x6c($sp) +/* 36A9E8 E0068118 AC500000 */ sw $s0, ($v0) +/* 36A9EC E006811C 8FBF0030 */ lw $ra, 0x30($sp) +/* 36A9F0 E0068120 8FB1002C */ lw $s1, 0x2c($sp) +/* 36A9F4 E0068124 8FB00028 */ lw $s0, 0x28($sp) +/* 36A9F8 E0068128 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 36A9FC E006812C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 36AA00 E0068130 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 36AA04 E0068134 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 36AA08 E0068138 03E00008 */ jr $ra +/* 36AA0C E006813C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_36A8D0/func_E0068140.s b/asm/nonmatchings/code_36A8D0/func_E0068140.s new file mode 100644 index 0000000000..a01f5bd0f6 --- /dev/null +++ b/asm/nonmatchings/code_36A8D0/func_E0068140.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0068140 +/* 36AA10 E0068140 03E00008 */ jr $ra +/* 36AA14 E0068144 00000000 */ nop diff --git a/asm/nonmatchings/code_36A8D0/func_E0068148.s b/asm/nonmatchings/code_36A8D0/func_E0068148.s new file mode 100644 index 0000000000..da4bc9b943 --- /dev/null +++ b/asm/nonmatchings/code_36A8D0/func_E0068148.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0068148 +/* 36AA18 E0068148 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 36AA1C E006814C AFBF0010 */ sw $ra, 0x10($sp) +/* 36AA20 E0068150 8C850000 */ lw $a1, ($a0) +/* 36AA24 E0068154 8C83000C */ lw $v1, 0xc($a0) +/* 36AA28 E0068158 30A20010 */ andi $v0, $a1, 0x10 +/* 36AA2C E006815C 10400005 */ beqz $v0, .LE0068174 +/* 36AA30 E0068160 2402FFEF */ addiu $v0, $zero, -0x11 +/* 36AA34 E0068164 00A21024 */ and $v0, $a1, $v0 +/* 36AA38 E0068168 AC820000 */ sw $v0, ($a0) +/* 36AA3C E006816C 2402000A */ addiu $v0, $zero, 0xa +/* 36AA40 E0068170 AC62001C */ sw $v0, 0x1c($v1) +.LE0068174: +/* 36AA44 E0068174 8C65001C */ lw $a1, 0x1c($v1) +/* 36AA48 E0068178 28A2000B */ slti $v0, $a1, 0xb +/* 36AA4C E006817C 10400002 */ beqz $v0, .LE0068188 +/* 36AA50 E0068180 24A2FFFF */ addiu $v0, $a1, -1 +/* 36AA54 E0068184 AC62001C */ sw $v0, 0x1c($v1) +.LE0068188: +/* 36AA58 E0068188 8C620020 */ lw $v0, 0x20($v1) +/* 36AA5C E006818C 8C65001C */ lw $a1, 0x1c($v1) +/* 36AA60 E0068190 24420001 */ addiu $v0, $v0, 1 +/* 36AA64 E0068194 04A10005 */ bgez $a1, .LE00681AC +/* 36AA68 E0068198 AC620020 */ sw $v0, 0x20($v1) +/* 36AA6C E006819C 0C080128 */ jal func_E02004A0 +/* 36AA70 E00681A0 00000000 */ nop +/* 36AA74 E00681A4 0801A073 */ j .LE00681CC +/* 36AA78 E00681A8 00000000 */ nop +.LE00681AC: +/* 36AA7C E00681AC 28A2000A */ slti $v0, $a1, 0xa +/* 36AA80 E00681B0 10400006 */ beqz $v0, .LE00681CC +/* 36AA84 E00681B4 00000000 */ nop +/* 36AA88 E00681B8 8C620018 */ lw $v0, 0x18($v1) +/* 36AA8C E00681BC 2442FFE7 */ addiu $v0, $v0, -0x19 +/* 36AA90 E00681C0 04410002 */ bgez $v0, .LE00681CC +/* 36AA94 E00681C4 AC620018 */ sw $v0, 0x18($v1) +/* 36AA98 E00681C8 AC600018 */ sw $zero, 0x18($v1) +.LE00681CC: +/* 36AA9C E00681CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 36AAA0 E00681D0 03E00008 */ jr $ra +/* 36AAA4 E00681D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_36A8D0/func_E00681D8.s b/asm/nonmatchings/code_36A8D0/func_E00681D8.s new file mode 100644 index 0000000000..8edc209a56 --- /dev/null +++ b/asm/nonmatchings/code_36A8D0/func_E00681D8.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00681D8 +/* 36AAA8 E00681D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 36AAAC E00681DC AFBF0020 */ sw $ra, 0x20($sp) +/* 36AAB0 E00681E0 8C83000C */ lw $v1, 0xc($a0) +/* 36AAB4 E00681E4 3C02E007 */ lui $v0, 0xe007 +/* 36AAB8 E00681E8 24428234 */ addiu $v0, $v0, -0x7dcc +/* 36AABC E00681EC AFA2001C */ sw $v0, 0x1c($sp) +/* 36AAC0 E00681F0 2402000A */ addiu $v0, $zero, 0xa +/* 36AAC4 E00681F4 AFA40018 */ sw $a0, 0x18($sp) +/* 36AAC8 E00681F8 AFA20014 */ sw $v0, 0x14($sp) +/* 36AACC E00681FC 8C620000 */ lw $v0, ($v1) +/* 36AAD0 E0068200 14400003 */ bnez $v0, .LE0068210 +/* 36AAD4 E0068204 27A40010 */ addiu $a0, $sp, 0x10 +/* 36AAD8 E0068208 0801A085 */ j .LE0068214 +/* 36AADC E006820C 24020001 */ addiu $v0, $zero, 1 +.LE0068210: +/* 36AAE0 E0068210 2402002D */ addiu $v0, $zero, 0x2d +.LE0068214: +/* 36AAE4 E0068214 0C080120 */ jal func_E0200480 +/* 36AAE8 E0068218 AFA20010 */ sw $v0, 0x10($sp) +/* 36AAEC E006821C 8C430000 */ lw $v1, ($v0) +/* 36AAF0 E0068220 34630002 */ ori $v1, $v1, 2 +/* 36AAF4 E0068224 AC430000 */ sw $v1, ($v0) +/* 36AAF8 E0068228 8FBF0020 */ lw $ra, 0x20($sp) +/* 36AAFC E006822C 03E00008 */ jr $ra +/* 36AB00 E0068230 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_36A8D0/func_E0068234.s b/asm/nonmatchings/code_36A8D0/func_E0068234.s new file mode 100644 index 0000000000..7c4599c65f --- /dev/null +++ b/asm/nonmatchings/code_36A8D0/func_E0068234.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0068234 +/* 36AB04 E0068234 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 36AB08 E0068238 3C07DB06 */ lui $a3, 0xdb06 +/* 36AB0C E006823C AFB10064 */ sw $s1, 0x64($sp) +/* 36AB10 E0068240 3C11800A */ lui $s1, 0x800a +/* 36AB14 E0068244 2631A66C */ addiu $s1, $s1, -0x5994 +/* 36AB18 E0068248 34E70024 */ ori $a3, $a3, 0x24 +/* 36AB1C E006824C AFB3006C */ sw $s3, 0x6c($sp) +/* 36AB20 E0068250 3C130001 */ lui $s3, 1 +/* 36AB24 E0068254 AFBF0080 */ sw $ra, 0x80($sp) +/* 36AB28 E0068258 AFB7007C */ sw $s7, 0x7c($sp) +/* 36AB2C E006825C AFB60078 */ sw $s6, 0x78($sp) +/* 36AB30 E0068260 AFB50074 */ sw $s5, 0x74($sp) +/* 36AB34 E0068264 AFB40070 */ sw $s4, 0x70($sp) +/* 36AB38 E0068268 AFB20068 */ sw $s2, 0x68($sp) +/* 36AB3C E006826C AFB00060 */ sw $s0, 0x60($sp) +/* 36AB40 E0068270 8E260000 */ lw $a2, ($s1) +/* 36AB44 E0068274 8C94000C */ lw $s4, 0xc($a0) +/* 36AB48 E0068278 44800000 */ mtc1 $zero, $f0 +/* 36AB4C E006827C 00C0182D */ daddu $v1, $a2, $zero +/* 36AB50 E0068280 24C60008 */ addiu $a2, $a2, 8 +/* 36AB54 E0068284 8E820000 */ lw $v0, ($s4) +/* 36AB58 E0068288 44050000 */ mfc1 $a1, $f0 +/* 36AB5C E006828C 8E960020 */ lw $s6, 0x20($s4) +/* 36AB60 E0068290 00021080 */ sll $v0, $v0, 2 +/* 36AB64 E0068294 3C15E007 */ lui $s5, 0xe007 +/* 36AB68 E0068298 02A2A821 */ addu $s5, $s5, $v0 +/* 36AB6C E006829C 8EB585B0 */ lw $s5, -0x7a50($s5) +/* 36AB70 E00682A0 3C17E007 */ lui $s7, 0xe007 +/* 36AB74 E00682A4 02E2B821 */ addu $s7, $s7, $v0 +/* 36AB78 E00682A8 8EF785F4 */ lw $s7, -0x7a0c($s7) +/* 36AB7C E00682AC 3C02E700 */ lui $v0, 0xe700 +/* 36AB80 E00682B0 AC620000 */ sw $v0, ($v1) +/* 36AB84 E00682B4 AC600004 */ sw $zero, 4($v1) +/* 36AB88 E00682B8 ACC70000 */ sw $a3, ($a2) +/* 36AB8C E00682BC 8C820010 */ lw $v0, 0x10($a0) +/* 36AB90 E00682C0 3C048000 */ lui $a0, 0x8000 +/* 36AB94 E00682C4 8C42001C */ lw $v0, 0x1c($v0) +/* 36AB98 E00682C8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 36AB9C E00682CC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 36ABA0 E00682D0 00441021 */ addu $v0, $v0, $a0 +/* 36ABA4 E00682D4 ACC20004 */ sw $v0, 4($a2) +/* 36ABA8 E00682D8 00031080 */ sll $v0, $v1, 2 +/* 36ABAC E00682DC 00431021 */ addu $v0, $v0, $v1 +/* 36ABB0 E00682E0 00021080 */ sll $v0, $v0, 2 +/* 36ABB4 E00682E4 00431023 */ subu $v0, $v0, $v1 +/* 36ABB8 E00682E8 000218C0 */ sll $v1, $v0, 3 +/* 36ABBC E00682EC 00431021 */ addu $v0, $v0, $v1 +/* 36ABC0 E00682F0 000210C0 */ sll $v0, $v0, 3 +/* 36ABC4 E00682F4 3C01800B */ lui $at, 0x800b +/* 36ABC8 E00682F8 00220821 */ addu $at, $at, $v0 +/* 36ABCC E00682FC C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 36ABD0 E0068300 C6800010 */ lwc1 $f0, 0x10($s4) +/* 36ABD4 E0068304 36731630 */ ori $s3, $s3, 0x1630 +/* 36ABD8 E0068308 E7A00010 */ swc1 $f0, 0x10($sp) +/* 36ABDC E006830C C6800004 */ lwc1 $f0, 4($s4) +/* 36ABE0 E0068310 00A0382D */ daddu $a3, $a1, $zero +/* 36ABE4 E0068314 E7A00014 */ swc1 $f0, 0x14($sp) +/* 36ABE8 E0068318 C6800008 */ lwc1 $f0, 8($s4) +/* 36ABEC E006831C 46001087 */ neg.s $f2, $f2 +/* 36ABF0 E0068320 AE260000 */ sw $a2, ($s1) +/* 36ABF4 E0068324 E7A00018 */ swc1 $f0, 0x18($sp) +/* 36ABF8 E0068328 C680000C */ lwc1 $f0, 0xc($s4) +/* 36ABFC E006832C 24C60008 */ addiu $a2, $a2, 8 +/* 36AC00 E0068330 AE260000 */ sw $a2, ($s1) +/* 36AC04 E0068334 44061000 */ mfc1 $a2, $f2 +/* 36AC08 E0068338 27A40020 */ addiu $a0, $sp, 0x20 +/* 36AC0C E006833C 0C080180 */ jal func_E0200600 +/* 36AC10 E0068340 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 36AC14 E0068344 27A40020 */ addiu $a0, $sp, 0x20 +/* 36AC18 E0068348 3C108007 */ lui $s0, 0x8007 +/* 36AC1C E006834C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 36AC20 E0068350 3C12800A */ lui $s2, 0x800a +/* 36AC24 E0068354 2652A674 */ addiu $s2, $s2, -0x598c +/* 36AC28 E0068358 96050000 */ lhu $a1, ($s0) +/* 36AC2C E006835C 8E420000 */ lw $v0, ($s2) +/* 36AC30 E0068360 00052980 */ sll $a1, $a1, 6 +/* 36AC34 E0068364 00B32821 */ addu $a1, $a1, $s3 +/* 36AC38 E0068368 0C080118 */ jal func_E0200460 +/* 36AC3C E006836C 00452821 */ addu $a1, $v0, $a1 +/* 36AC40 E0068370 8E220000 */ lw $v0, ($s1) +/* 36AC44 E0068374 0040202D */ daddu $a0, $v0, $zero +/* 36AC48 E0068378 24420008 */ addiu $v0, $v0, 8 +/* 36AC4C E006837C AE220000 */ sw $v0, ($s1) +/* 36AC50 E0068380 96020000 */ lhu $v0, ($s0) +/* 36AC54 E0068384 3C03DA38 */ lui $v1, 0xda38 +/* 36AC58 E0068388 AC830000 */ sw $v1, ($a0) +/* 36AC5C E006838C 24430001 */ addiu $v1, $v0, 1 +/* 36AC60 E0068390 3042FFFF */ andi $v0, $v0, 0xffff +/* 36AC64 E0068394 00021180 */ sll $v0, $v0, 6 +/* 36AC68 E0068398 A6030000 */ sh $v1, ($s0) +/* 36AC6C E006839C 8E430000 */ lw $v1, ($s2) +/* 36AC70 E00683A0 00531021 */ addu $v0, $v0, $s3 +/* 36AC74 E00683A4 00621821 */ addu $v1, $v1, $v0 +/* 36AC78 E00683A8 AC830004 */ sw $v1, 4($a0) +/* 36AC7C E00683AC C6820018 */ lwc1 $f2, 0x18($s4) +/* 36AC80 E00683B0 468010A1 */ cvt.d.w $f2, $f2 +/* 36AC84 E00683B4 32C20001 */ andi $v0, $s6, 1 +/* 36AC88 E00683B8 14400009 */ bnez $v0, .LE00683E0 +/* 36AC8C E00683BC 3C031A79 */ lui $v1, 0x1a79 +/* 36AC90 E00683C0 3C01E007 */ lui $at, 0xe007 +/* 36AC94 E00683C4 D4208600 */ ldc1 $f0, -0x7a00($at) +/* 36AC98 E00683C8 46201002 */ mul.d $f0, $f2, $f0 +/* 36AC9C E00683CC 00000000 */ nop +/* 36ACA0 E00683D0 4620010D */ trunc.w.d $f4, $f0 +/* 36ACA4 E00683D4 44092000 */ mfc1 $t1, $f4 +/* 36ACA8 E00683D8 0801A0FB */ j .LE00683EC +/* 36ACAC E00683DC 34631D9E */ ori $v1, $v1, 0x1d9e +.LE00683E0: +/* 36ACB0 E00683E0 4620110D */ trunc.w.d $f4, $f2 +/* 36ACB4 E00683E4 44092000 */ mfc1 $t1, $f4 +/* 36ACB8 E00683E8 34631D9E */ ori $v1, $v1, 0x1d9e +.LE00683EC: +/* 36ACBC E00683EC 3C0AE300 */ lui $t2, 0xe300 +/* 36ACC0 E00683F0 354A1801 */ ori $t2, $t2, 0x1801 +/* 36ACC4 E00683F4 3C0BE300 */ lui $t3, 0xe300 +/* 36ACC8 E00683F8 3C08800A */ lui $t0, 0x800a +/* 36ACCC E00683FC 2508A66C */ addiu $t0, $t0, -0x5994 +/* 36ACD0 E0068400 356B1A01 */ ori $t3, $t3, 0x1a01 +/* 36ACD4 E0068404 3C06FB00 */ lui $a2, 0xfb00 +/* 36ACD8 E0068408 240D0040 */ addiu $t5, $zero, 0x40 +/* 36ACDC E006840C 8D070000 */ lw $a3, ($t0) +/* 36ACE0 E0068410 3C0CDE00 */ lui $t4, 0xde00 +/* 36ACE4 E0068414 00E0102D */ daddu $v0, $a3, $zero +/* 36ACE8 E0068418 24E70008 */ addiu $a3, $a3, 8 +/* 36ACEC E006841C AD070000 */ sw $a3, ($t0) +/* 36ACF0 E0068420 AC460000 */ sw $a2, ($v0) +/* 36ACF4 E0068424 AC430004 */ sw $v1, 4($v0) +/* 36ACF8 E0068428 24E20008 */ addiu $v0, $a3, 8 +/* 36ACFC E006842C AD020000 */ sw $v0, ($t0) +/* 36AD00 E0068430 24E20010 */ addiu $v0, $a3, 0x10 +/* 36AD04 E0068434 ACEA0000 */ sw $t2, ($a3) +/* 36AD08 E0068438 ACED0004 */ sw $t5, 4($a3) +/* 36AD0C E006843C AD020000 */ sw $v0, ($t0) +/* 36AD10 E0068440 24E20018 */ addiu $v0, $a3, 0x18 +/* 36AD14 E0068444 ACEB0008 */ sw $t3, 8($a3) +/* 36AD18 E0068448 ACE0000C */ sw $zero, 0xc($a3) +/* 36AD1C E006844C AD020000 */ sw $v0, ($t0) +/* 36AD20 E0068450 24E20020 */ addiu $v0, $a3, 0x20 +/* 36AD24 E0068454 ACEC0010 */ sw $t4, 0x10($a3) +/* 36AD28 E0068458 ACF70014 */ sw $s7, 0x14($a3) +/* 36AD2C E006845C AD020000 */ sw $v0, ($t0) +/* 36AD30 E0068460 3C02FA00 */ lui $v0, 0xfa00 +/* 36AD34 E0068464 ACE20018 */ sw $v0, 0x18($a3) +/* 36AD38 E0068468 92820024 */ lbu $v0, 0x24($s4) +/* 36AD3C E006846C 92840025 */ lbu $a0, 0x25($s4) +/* 36AD40 E0068470 92850026 */ lbu $a1, 0x26($s4) +/* 36AD44 E0068474 24E30028 */ addiu $v1, $a3, 0x28 +/* 36AD48 E0068478 AD030000 */ sw $v1, ($t0) +/* 36AD4C E006847C 312300FF */ andi $v1, $t1, 0xff +/* 36AD50 E0068480 ACE60020 */ sw $a2, 0x20($a3) +/* 36AD54 E0068484 00021600 */ sll $v0, $v0, 0x18 +/* 36AD58 E0068488 00042400 */ sll $a0, $a0, 0x10 +/* 36AD5C E006848C 00441025 */ or $v0, $v0, $a0 +/* 36AD60 E0068490 00052A00 */ sll $a1, $a1, 8 +/* 36AD64 E0068494 00451025 */ or $v0, $v0, $a1 +/* 36AD68 E0068498 00431025 */ or $v0, $v0, $v1 +/* 36AD6C E006849C ACE2001C */ sw $v0, 0x1c($a3) +/* 36AD70 E00684A0 92820027 */ lbu $v0, 0x27($s4) +/* 36AD74 E00684A4 92840028 */ lbu $a0, 0x28($s4) +/* 36AD78 E00684A8 92830029 */ lbu $v1, 0x29($s4) +/* 36AD7C E00684AC 00021600 */ sll $v0, $v0, 0x18 +/* 36AD80 E00684B0 00042400 */ sll $a0, $a0, 0x10 +/* 36AD84 E00684B4 00441025 */ or $v0, $v0, $a0 +/* 36AD88 E00684B8 00031A00 */ sll $v1, $v1, 8 +/* 36AD8C E00684BC 00431025 */ or $v0, $v0, $v1 +/* 36AD90 E00684C0 ACE20024 */ sw $v0, 0x24($a3) +/* 36AD94 E00684C4 3C020900 */ lui $v0, 0x900 +/* 36AD98 E00684C8 24421E40 */ addiu $v0, $v0, 0x1e40 +/* 36AD9C E00684CC 16A20010 */ bne $s5, $v0, .LE0068510 +/* 36ADA0 E00684D0 3C03D838 */ lui $v1, 0xd838 +/* 36ADA4 E00684D4 00161842 */ srl $v1, $s6, 1 +/* 36ADA8 E00684D8 3C029249 */ lui $v0, 0x9249 +/* 36ADAC E00684DC 34422493 */ ori $v0, $v0, 0x2493 +/* 36ADB0 E00684E0 00620019 */ multu $v1, $v0 +/* 36ADB4 E00684E4 00007010 */ mfhi $t6 +/* 36ADB8 E00684E8 000E1882 */ srl $v1, $t6, 2 +/* 36ADBC E00684EC 000310C0 */ sll $v0, $v1, 3 +/* 36ADC0 E00684F0 00431023 */ subu $v0, $v0, $v1 +/* 36ADC4 E00684F4 00021040 */ sll $v0, $v0, 1 +/* 36ADC8 E00684F8 02C21023 */ subu $v0, $s6, $v0 +/* 36ADCC E00684FC 00021080 */ sll $v0, $v0, 2 +/* 36ADD0 E0068500 3C15E007 */ lui $s5, 0xe007 +/* 36ADD4 E0068504 02A2A821 */ addu $s5, $s5, $v0 +/* 36ADD8 E0068508 8EB585BC */ lw $s5, -0x7a44($s5) +/* 36ADDC E006850C 3C03D838 */ lui $v1, 0xd838 +.LE0068510: +/* 36ADE0 E0068510 34630002 */ ori $v1, $v1, 2 +/* 36ADE4 E0068514 24E20030 */ addiu $v0, $a3, 0x30 +/* 36ADE8 E0068518 AD020000 */ sw $v0, ($t0) +/* 36ADEC E006851C 24E20038 */ addiu $v0, $a3, 0x38 +/* 36ADF0 E0068520 ACEC0028 */ sw $t4, 0x28($a3) +/* 36ADF4 E0068524 ACF5002C */ sw $s5, 0x2c($a3) +/* 36ADF8 E0068528 AD020000 */ sw $v0, ($t0) +/* 36ADFC E006852C 24E20040 */ addiu $v0, $a3, 0x40 +/* 36AE00 E0068530 ACE30030 */ sw $v1, 0x30($a3) +/* 36AE04 E0068534 3C03E700 */ lui $v1, 0xe700 +/* 36AE08 E0068538 ACED0034 */ sw $t5, 0x34($a3) +/* 36AE0C E006853C AD020000 */ sw $v0, ($t0) +/* 36AE10 E0068540 24E20048 */ addiu $v0, $a3, 0x48 +/* 36AE14 E0068544 ACE30038 */ sw $v1, 0x38($a3) +/* 36AE18 E0068548 ACE0003C */ sw $zero, 0x3c($a3) +/* 36AE1C E006854C AD020000 */ sw $v0, ($t0) +/* 36AE20 E0068550 240200C0 */ addiu $v0, $zero, 0xc0 +/* 36AE24 E0068554 ACE20044 */ sw $v0, 0x44($a3) +/* 36AE28 E0068558 24E20050 */ addiu $v0, $a3, 0x50 +/* 36AE2C E006855C ACEA0040 */ sw $t2, 0x40($a3) +/* 36AE30 E0068560 AD020000 */ sw $v0, ($t0) +/* 36AE34 E0068564 24020030 */ addiu $v0, $zero, 0x30 +/* 36AE38 E0068568 ACE2004C */ sw $v0, 0x4c($a3) +/* 36AE3C E006856C 24E20058 */ addiu $v0, $a3, 0x58 +/* 36AE40 E0068570 ACEB0048 */ sw $t3, 0x48($a3) +/* 36AE44 E0068574 AD020000 */ sw $v0, ($t0) +/* 36AE48 E0068578 ACE30050 */ sw $v1, 0x50($a3) +/* 36AE4C E006857C ACE00054 */ sw $zero, 0x54($a3) +/* 36AE50 E0068580 8FBF0080 */ lw $ra, 0x80($sp) +/* 36AE54 E0068584 8FB7007C */ lw $s7, 0x7c($sp) +/* 36AE58 E0068588 8FB60078 */ lw $s6, 0x78($sp) +/* 36AE5C E006858C 8FB50074 */ lw $s5, 0x74($sp) +/* 36AE60 E0068590 8FB40070 */ lw $s4, 0x70($sp) +/* 36AE64 E0068594 8FB3006C */ lw $s3, 0x6c($sp) +/* 36AE68 E0068598 8FB20068 */ lw $s2, 0x68($sp) +/* 36AE6C E006859C 8FB10064 */ lw $s1, 0x64($sp) +/* 36AE70 E00685A0 8FB00060 */ lw $s0, 0x60($sp) +/* 36AE74 E00685A4 03E00008 */ jr $ra +/* 36AE78 E00685A8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 36AE7C E00685AC 00000000 */ nop diff --git a/asm/nonmatchings/code_36D020/func_E006A000.s b/asm/nonmatchings/code_36D020/func_E006A000.s new file mode 100644 index 0000000000..3a543d7e8d --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A000.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A000 +/* 36D020 E006A000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 36D024 E006A004 AFB00010 */ sw $s0, 0x10($sp) +/* 36D028 E006A008 0080802D */ daddu $s0, $a0, $zero +/* 36D02C E006A00C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 36D030 E006A010 AFB10014 */ sw $s1, 0x14($sp) +/* 36D034 E006A014 00058840 */ sll $s1, $a1, 1 +/* 36D038 E006A018 02258821 */ addu $s1, $s1, $a1 +/* 36D03C E006A01C AFBF0018 */ sw $ra, 0x18($sp) +/* 36D040 E006A020 0C080011 */ jal func_E0200044 +/* 36D044 E006A024 0220282D */ daddu $a1, $s1, $zero +/* 36D048 E006A028 240400B4 */ addiu $a0, $zero, 0xb4 +/* 36D04C E006A02C 26250001 */ addiu $a1, $s1, 1 +/* 36D050 E006A030 44820000 */ mtc1 $v0, $f0 +/* 36D054 E006A034 00000000 */ nop +/* 36D058 E006A038 46800020 */ cvt.s.w $f0, $f0 +/* 36D05C E006A03C 0C080011 */ jal func_E0200044 +/* 36D060 E006A040 E6000070 */ swc1 $f0, 0x70($s0) +/* 36D064 E006A044 240400B4 */ addiu $a0, $zero, 0xb4 +/* 36D068 E006A048 26250002 */ addiu $a1, $s1, 2 +/* 36D06C E006A04C 44820000 */ mtc1 $v0, $f0 +/* 36D070 E006A050 00000000 */ nop +/* 36D074 E006A054 46800020 */ cvt.s.w $f0, $f0 +/* 36D078 E006A058 0C080011 */ jal func_E0200044 +/* 36D07C E006A05C E6000074 */ swc1 $f0, 0x74($s0) +/* 36D080 E006A060 44820000 */ mtc1 $v0, $f0 +/* 36D084 E006A064 00000000 */ nop +/* 36D088 E006A068 46800020 */ cvt.s.w $f0, $f0 +/* 36D08C E006A06C E6000078 */ swc1 $f0, 0x78($s0) +/* 36D090 E006A070 C6000068 */ lwc1 $f0, 0x68($s0) +/* 36D094 E006A074 8E02007C */ lw $v0, 0x7c($s0) +/* 36D098 E006A078 C602006C */ lwc1 $f2, 0x6c($s0) +/* 36D09C E006A07C C6040070 */ lwc1 $f4, 0x70($s0) +/* 36D0A0 E006A080 C6060074 */ lwc1 $f6, 0x74($s0) +/* 36D0A4 E006A084 C6080078 */ lwc1 $f8, 0x78($s0) +/* 36D0A8 E006A088 AE000024 */ sw $zero, 0x24($s0) +/* 36D0AC E006A08C AE00002C */ sw $zero, 0x2c($s0) +/* 36D0B0 E006A090 E6000058 */ swc1 $f0, 0x58($s0) +/* 36D0B4 E006A094 AE020028 */ sw $v0, 0x28($s0) +/* 36D0B8 E006A098 E602008C */ swc1 $f2, 0x8c($s0) +/* 36D0BC E006A09C E604005C */ swc1 $f4, 0x5c($s0) +/* 36D0C0 E006A0A0 E6060060 */ swc1 $f6, 0x60($s0) +/* 36D0C4 E006A0A4 E6080064 */ swc1 $f8, 0x64($s0) +/* 36D0C8 E006A0A8 8FBF0018 */ lw $ra, 0x18($sp) +/* 36D0CC E006A0AC 8FB10014 */ lw $s1, 0x14($sp) +/* 36D0D0 E006A0B0 8FB00010 */ lw $s0, 0x10($sp) +/* 36D0D4 E006A0B4 03E00008 */ jr $ra +/* 36D0D8 E006A0B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_36D020/func_E006A0BC.s b/asm/nonmatchings/code_36D020/func_E006A0BC.s new file mode 100644 index 0000000000..7125ae8b56 --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A0BC.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A0BC +/* 36D0DC E006A0BC 24A2FFFF */ addiu $v0, $a1, -1 +/* 36D0E0 E006A0C0 00021880 */ sll $v1, $v0, 2 +/* 36D0E4 E006A0C4 00621821 */ addu $v1, $v1, $v0 +/* 36D0E8 E006A0C8 00031080 */ sll $v0, $v1, 2 +/* 36D0EC E006A0CC 24630001 */ addiu $v1, $v1, 1 +/* 36D0F0 E006A0D0 00033080 */ sll $a2, $v1, 2 +/* 36D0F4 E006A0D4 24630001 */ addiu $v1, $v1, 1 +/* 36D0F8 E006A0D8 00033880 */ sll $a3, $v1, 2 +/* 36D0FC E006A0DC 24630001 */ addiu $v1, $v1, 1 +/* 36D100 E006A0E0 00052840 */ sll $a1, $a1, 1 +/* 36D104 E006A0E4 24A5001E */ addiu $a1, $a1, 0x1e +/* 36D108 E006A0E8 AC800058 */ sw $zero, 0x58($a0) +/* 36D10C E006A0EC AC850028 */ sw $a1, 0x28($a0) +/* 36D110 E006A0F0 3C01E007 */ lui $at, 0xe007 +/* 36D114 E006A0F4 00220821 */ addu $at, $at, $v0 +/* 36D118 E006A0F8 C420AE10 */ lwc1 $f0, -0x51f0($at) +/* 36D11C E006A0FC 46800020 */ cvt.s.w $f0, $f0 +/* 36D120 E006A100 E480005C */ swc1 $f0, 0x5c($a0) +/* 36D124 E006A104 3C01E007 */ lui $at, 0xe007 +/* 36D128 E006A108 00260821 */ addu $at, $at, $a2 +/* 36D12C E006A10C C420AE10 */ lwc1 $f0, -0x51f0($at) +/* 36D130 E006A110 46800020 */ cvt.s.w $f0, $f0 +/* 36D134 E006A114 E4800060 */ swc1 $f0, 0x60($a0) +/* 36D138 E006A118 3C01E007 */ lui $at, 0xe007 +/* 36D13C E006A11C 00270821 */ addu $at, $at, $a3 +/* 36D140 E006A120 C420AE10 */ lwc1 $f0, -0x51f0($at) +/* 36D144 E006A124 46800020 */ cvt.s.w $f0, $f0 +/* 36D148 E006A128 44801000 */ mtc1 $zero, $f2 +/* 36D14C E006A12C 3C01BF19 */ lui $at, 0xbf19 +/* 36D150 E006A130 3421999A */ ori $at, $at, 0x999a +/* 36D154 E006A134 44812000 */ mtc1 $at, $f4 +/* 36D158 E006A138 3C014120 */ lui $at, 0x4120 +/* 36D15C E006A13C 44813000 */ mtc1 $at, $f6 +/* 36D160 E006A140 3C013F19 */ lui $at, 0x3f19 +/* 36D164 E006A144 3421999A */ ori $at, $at, 0x999a +/* 36D168 E006A148 44814000 */ mtc1 $at, $f8 +/* 36D16C E006A14C 00031080 */ sll $v0, $v1, 2 +/* 36D170 E006A150 E4800064 */ swc1 $f0, 0x64($a0) +/* 36D174 E006A154 AC800024 */ sw $zero, 0x24($a0) +/* 36D178 E006A158 AC80002C */ sw $zero, 0x2c($a0) +/* 36D17C E006A15C E4820038 */ swc1 $f2, 0x38($a0) +/* 36D180 E006A160 E4820034 */ swc1 $f2, 0x34($a0) +/* 36D184 E006A164 E4820048 */ swc1 $f2, 0x48($a0) +/* 36D188 E006A168 E484004C */ swc1 $f4, 0x4c($a0) +/* 36D18C E006A16C E486003C */ swc1 $f6, 0x3c($a0) +/* 36D190 E006A170 E4820040 */ swc1 $f2, 0x40($a0) +/* 36D194 E006A174 E4820050 */ swc1 $f2, 0x50($a0) +/* 36D198 E006A178 E4880054 */ swc1 $f8, 0x54($a0) +/* 36D19C E006A17C E4820080 */ swc1 $f2, 0x80($a0) +/* 36D1A0 E006A180 3C01E007 */ lui $at, 0xe007 +/* 36D1A4 E006A184 00220821 */ addu $at, $at, $v0 +/* 36D1A8 E006A188 C420AE10 */ lwc1 $f0, -0x51f0($at) +/* 36D1AC E006A18C 46800020 */ cvt.s.w $f0, $f0 +/* 36D1B0 E006A190 44801000 */ mtc1 $zero, $f2 +/* 36D1B4 E006A194 44801800 */ mtc1 $zero, $f3 +/* 36D1B8 E006A198 46000021 */ cvt.d.s $f0, $f0 +/* 36D1BC E006A19C 46220002 */ mul.d $f0, $f0, $f2 +/* 36D1C0 E006A1A0 00000000 */ nop +/* 36D1C4 E006A1A4 24630001 */ addiu $v1, $v1, 1 +/* 36D1C8 E006A1A8 00031880 */ sll $v1, $v1, 2 +/* 36D1CC E006A1AC 3C01E007 */ lui $at, 0xe007 +/* 36D1D0 E006A1B0 D422AF50 */ ldc1 $f2, -0x50b0($at) +/* 36D1D4 E006A1B4 46200020 */ cvt.s.d $f0, $f0 +/* 36D1D8 E006A1B8 E4800084 */ swc1 $f0, 0x84($a0) +/* 36D1DC E006A1BC 3C01E007 */ lui $at, 0xe007 +/* 36D1E0 E006A1C0 00230821 */ addu $at, $at, $v1 +/* 36D1E4 E006A1C4 C420AE10 */ lwc1 $f0, -0x51f0($at) +/* 36D1E8 E006A1C8 46800020 */ cvt.s.w $f0, $f0 +/* 36D1EC E006A1CC 46000021 */ cvt.d.s $f0, $f0 +/* 36D1F0 E006A1D0 46220002 */ mul.d $f0, $f0, $f2 +/* 36D1F4 E006A1D4 00000000 */ nop +/* 36D1F8 E006A1D8 AC800090 */ sw $zero, 0x90($a0) +/* 36D1FC E006A1DC 46200020 */ cvt.s.d $f0, $f0 +/* 36D200 E006A1E0 03E00008 */ jr $ra +/* 36D204 E006A1E4 E4800088 */ swc1 $f0, 0x88($a0) diff --git a/asm/nonmatchings/code_36D020/func_E006A1E8.s b/asm/nonmatchings/code_36D020/func_E006A1E8.s new file mode 100644 index 0000000000..7fc3b5beea --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A1E8.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A1E8 +/* 36D208 E006A1E8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 36D20C E006A1EC F7B60058 */ sdc1 $f22, 0x58($sp) +/* 36D210 E006A1F0 4485B000 */ mtc1 $a1, $f22 +/* 36D214 E006A1F4 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 36D218 E006A1F8 4486C000 */ mtc1 $a2, $f24 +/* 36D21C E006A1FC AFB00028 */ sw $s0, 0x28($sp) +/* 36D220 E006A200 0080802D */ daddu $s0, $a0, $zero +/* 36D224 E006A204 AFB20030 */ sw $s2, 0x30($sp) +/* 36D228 E006A208 24120011 */ addiu $s2, $zero, 0x11 +/* 36D22C E006A20C F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 36D230 E006A210 4487D000 */ mtc1 $a3, $f26 +/* 36D234 E006A214 27A40010 */ addiu $a0, $sp, 0x10 +/* 36D238 E006A218 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 36D23C E006A21C C7B40080 */ lwc1 $f20, 0x80($sp) +/* 36D240 E006A220 2A020002 */ slti $v0, $s0, 2 +/* 36D244 E006A224 AFBF0048 */ sw $ra, 0x48($sp) +/* 36D248 E006A228 AFB70044 */ sw $s7, 0x44($sp) +/* 36D24C E006A22C AFB60040 */ sw $s6, 0x40($sp) +/* 36D250 E006A230 AFB5003C */ sw $s5, 0x3c($sp) +/* 36D254 E006A234 AFB40038 */ sw $s4, 0x38($sp) +/* 36D258 E006A238 AFB30034 */ sw $s3, 0x34($sp) +/* 36D25C E006A23C 10400002 */ beqz $v0, .LE006A248 +/* 36D260 E006A240 AFB1002C */ sw $s1, 0x2c($sp) +/* 36D264 E006A244 24120009 */ addiu $s2, $zero, 9 +.LE006A248: +/* 36D268 E006A248 3C02E007 */ lui $v0, 0xe007 +/* 36D26C E006A24C 2442A45C */ addiu $v0, $v0, -0x5ba4 +/* 36D270 E006A250 AFA20018 */ sw $v0, 0x18($sp) +/* 36D274 E006A254 3C02E007 */ lui $v0, 0xe007 +/* 36D278 E006A258 2442A580 */ addiu $v0, $v0, -0x5a80 +/* 36D27C E006A25C AFA2001C */ sw $v0, 0x1c($sp) +/* 36D280 E006A260 3C02E007 */ lui $v0, 0xe007 +/* 36D284 E006A264 2442A814 */ addiu $v0, $v0, -0x57ec +/* 36D288 E006A268 AFA20020 */ sw $v0, 0x20($sp) +/* 36D28C E006A26C 24020035 */ addiu $v0, $zero, 0x35 +/* 36D290 E006A270 AFA00010 */ sw $zero, 0x10($sp) +/* 36D294 E006A274 AFA00024 */ sw $zero, 0x24($sp) +/* 36D298 E006A278 0C080124 */ jal func_E0200490 +/* 36D29C E006A27C AFA20014 */ sw $v0, 0x14($sp) +/* 36D2A0 E006A280 001220C0 */ sll $a0, $s2, 3 +/* 36D2A4 E006A284 00922021 */ addu $a0, $a0, $s2 +/* 36D2A8 E006A288 00042080 */ sll $a0, $a0, 2 +/* 36D2AC E006A28C 00922021 */ addu $a0, $a0, $s2 +/* 36D2B0 E006A290 00042080 */ sll $a0, $a0, 2 +/* 36D2B4 E006A294 0040B02D */ daddu $s6, $v0, $zero +/* 36D2B8 E006A298 0C08012C */ jal func_E02004B0 +/* 36D2BC E006A29C AED20008 */ sw $s2, 8($s6) +/* 36D2C0 E006A2A0 0040882D */ daddu $s1, $v0, $zero +/* 36D2C4 E006A2A4 16200003 */ bnez $s1, .LE006A2B4 +/* 36D2C8 E006A2A8 AED1000C */ sw $s1, 0xc($s6) +.LE006A2AC: +/* 36D2CC E006A2AC 0801A8AB */ j .LE006A2AC +/* 36D2D0 E006A2B0 00000000 */ nop +.LE006A2B4: +/* 36D2D4 E006A2B4 24020064 */ addiu $v0, $zero, 0x64 +/* 36D2D8 E006A2B8 AE220028 */ sw $v0, 0x28($s1) +/* 36D2DC E006A2BC 2A020002 */ slti $v0, $s0, 2 +/* 36D2E0 E006A2C0 AE300000 */ sw $s0, ($s1) +/* 36D2E4 E006A2C4 AE20002C */ sw $zero, 0x2c($s1) +/* 36D2E8 E006A2C8 E6360010 */ swc1 $f22, 0x10($s1) +/* 36D2EC E006A2CC E6380014 */ swc1 $f24, 0x14($s1) +/* 36D2F0 E006A2D0 E63A0018 */ swc1 $f26, 0x18($s1) +/* 36D2F4 E006A2D4 E6340020 */ swc1 $f20, 0x20($s1) +/* 36D2F8 E006A2D8 10400042 */ beqz $v0, .LE006A3E4 +/* 36D2FC E006A2DC E634001C */ swc1 $f20, 0x1c($s1) +/* 36D300 E006A2E0 06000040 */ bltz $s0, .LE006A3E4 +/* 36D304 E006A2E4 24100001 */ addiu $s0, $zero, 1 +/* 36D308 E006A2E8 8EC20008 */ lw $v0, 8($s6) +/* 36D30C E006A2EC 0202102A */ slt $v0, $s0, $v0 +/* 36D310 E006A2F0 10400049 */ beqz $v0, .LE006A418 +/* 36D314 E006A2F4 26310094 */ addiu $s1, $s1, 0x94 +/* 36D318 E006A2F8 2655FFFF */ addiu $s5, $s2, -1 +/* 36D31C E006A2FC 24170032 */ addiu $s7, $zero, 0x32 +/* 36D320 E006A300 2632006C */ addiu $s2, $s1, 0x6c +/* 36D324 E006A304 0000A02D */ daddu $s4, $zero, $zero +/* 36D328 E006A308 0280982D */ daddu $s3, $s4, $zero +/* 36D32C E006A30C 3C0141C8 */ lui $at, 0x41c8 +/* 36D330 E006A310 4481B000 */ mtc1 $at, $f22 +/* 36D334 E006A314 3C014004 */ lui $at, 0x4004 +/* 36D338 E006A318 4481A800 */ mtc1 $at, $f21 +/* 36D33C E006A31C 4480A000 */ mtc1 $zero, $f20 +.LE006A320: +/* 36D340 E006A320 16A00002 */ bnez $s5, .LE006A32C +/* 36D344 E006A324 0275001A */ div $zero, $s3, $s5 +/* 36D348 E006A328 0007000D */ break 7 +.LE006A32C: +/* 36D34C E006A32C 2401FFFF */ addiu $at, $zero, -1 +/* 36D350 E006A330 16A10004 */ bne $s5, $at, .LE006A344 +/* 36D354 E006A334 3C018000 */ lui $at, 0x8000 +/* 36D358 E006A338 16610002 */ bne $s3, $at, .LE006A344 +/* 36D35C E006A33C 00000000 */ nop +/* 36D360 E006A340 0006000D */ break 6 +.LE006A344: +/* 36D364 E006A344 00001812 */ mflo $v1 +/* 36D368 E006A348 00000000 */ nop +/* 36D36C E006A34C 16A00002 */ bnez $s5, .LE006A358 +/* 36D370 E006A350 0295001A */ div $zero, $s4, $s5 +/* 36D374 E006A354 0007000D */ break 7 +.LE006A358: +/* 36D378 E006A358 2401FFFF */ addiu $at, $zero, -1 +/* 36D37C E006A35C 16A10004 */ bne $s5, $at, .LE006A370 +/* 36D380 E006A360 3C018000 */ lui $at, 0x8000 +/* 36D384 E006A364 16810002 */ bne $s4, $at, .LE006A370 +/* 36D388 E006A368 00000000 */ nop +/* 36D38C E006A36C 0006000D */ break 6 +.LE006A370: +/* 36D390 E006A370 00003012 */ mflo $a2 +/* 36D394 E006A374 0220202D */ daddu $a0, $s1, $zero +/* 36D398 E006A378 0200282D */ daddu $a1, $s0, $zero +/* 36D39C E006A37C 26940014 */ addiu $s4, $s4, 0x14 +/* 36D3A0 E006A380 2673001E */ addiu $s3, $s3, 0x1e +/* 36D3A4 E006A384 26100001 */ addiu $s0, $s0, 1 +/* 36D3A8 E006A388 26310094 */ addiu $s1, $s1, 0x94 +/* 36D3AC E006A38C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 36D3B0 E006A390 44831000 */ mtc1 $v1, $f2 +/* 36D3B4 E006A394 00000000 */ nop +/* 36D3B8 E006A398 468010A0 */ cvt.s.w $f2, $f2 +/* 36D3BC E006A39C 02E63023 */ subu $a2, $s7, $a2 +/* 36D3C0 E006A3A0 44860000 */ mtc1 $a2, $f0 +/* 36D3C4 E006A3A4 00000000 */ nop +/* 36D3C8 E006A3A8 46800020 */ cvt.s.w $f0, $f0 +/* 36D3CC E006A3AC 4600B003 */ div.s $f0, $f22, $f0 +/* 36D3D0 E006A3B0 46000021 */ cvt.d.s $f0, $f0 +/* 36D3D4 E006A3B4 46340000 */ add.d $f0, $f0, $f20 +/* 36D3D8 E006A3B8 E642FFFC */ swc1 $f2, -4($s2) +/* 36D3DC E006A3BC AE460010 */ sw $a2, 0x10($s2) +/* 36D3E0 E006A3C0 46200020 */ cvt.s.d $f0, $f0 +/* 36D3E4 E006A3C4 0C01A800 */ jal func_E006A000 +/* 36D3E8 E006A3C8 E6400000 */ swc1 $f0, ($s2) +/* 36D3EC E006A3CC 8EC20008 */ lw $v0, 8($s6) +/* 36D3F0 E006A3D0 0202102A */ slt $v0, $s0, $v0 +/* 36D3F4 E006A3D4 1440FFD2 */ bnez $v0, .LE006A320 +/* 36D3F8 E006A3D8 26520094 */ addiu $s2, $s2, 0x94 +/* 36D3FC E006A3DC 0801A906 */ j .LE006A418 +/* 36D400 E006A3E0 00000000 */ nop +.LE006A3E4: +/* 36D404 E006A3E4 8EC20008 */ lw $v0, 8($s6) +/* 36D408 E006A3E8 24100001 */ addiu $s0, $zero, 1 +/* 36D40C E006A3EC 0202102A */ slt $v0, $s0, $v0 +/* 36D410 E006A3F0 10400009 */ beqz $v0, .LE006A418 +/* 36D414 E006A3F4 26310094 */ addiu $s1, $s1, 0x94 +.LE006A3F8: +/* 36D418 E006A3F8 0220202D */ daddu $a0, $s1, $zero +/* 36D41C E006A3FC 0C01A82F */ jal func_E006A0BC +/* 36D420 E006A400 0200282D */ daddu $a1, $s0, $zero +/* 36D424 E006A404 26100001 */ addiu $s0, $s0, 1 +/* 36D428 E006A408 8EC20008 */ lw $v0, 8($s6) +/* 36D42C E006A40C 0202102A */ slt $v0, $s0, $v0 +/* 36D430 E006A410 1440FFF9 */ bnez $v0, .LE006A3F8 +/* 36D434 E006A414 26310094 */ addiu $s1, $s1, 0x94 +.LE006A418: +/* 36D438 E006A418 8FA20084 */ lw $v0, 0x84($sp) +/* 36D43C E006A41C AC560000 */ sw $s6, ($v0) +/* 36D440 E006A420 8FBF0048 */ lw $ra, 0x48($sp) +/* 36D444 E006A424 8FB70044 */ lw $s7, 0x44($sp) +/* 36D448 E006A428 8FB60040 */ lw $s6, 0x40($sp) +/* 36D44C E006A42C 8FB5003C */ lw $s5, 0x3c($sp) +/* 36D450 E006A430 8FB40038 */ lw $s4, 0x38($sp) +/* 36D454 E006A434 8FB30034 */ lw $s3, 0x34($sp) +/* 36D458 E006A438 8FB20030 */ lw $s2, 0x30($sp) +/* 36D45C E006A43C 8FB1002C */ lw $s1, 0x2c($sp) +/* 36D460 E006A440 8FB00028 */ lw $s0, 0x28($sp) +/* 36D464 E006A444 D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 36D468 E006A448 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 36D46C E006A44C D7B60058 */ ldc1 $f22, 0x58($sp) +/* 36D470 E006A450 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 36D474 E006A454 03E00008 */ jr $ra +/* 36D478 E006A458 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_36D020/func_E006A45C.s b/asm/nonmatchings/code_36D020/func_E006A45C.s new file mode 100644 index 0000000000..3f3cc568ee --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A45C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A45C +/* 36D47C E006A45C 03E00008 */ jr $ra +/* 36D480 E006A460 00000000 */ nop diff --git a/asm/nonmatchings/code_36D020/func_E006A464.s b/asm/nonmatchings/code_36D020/func_E006A464.s new file mode 100644 index 0000000000..09daaa31d7 --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A464.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A464 +/* 36D484 E006A464 C4820034 */ lwc1 $f2, 0x34($a0) +/* 36D488 E006A468 C4800048 */ lwc1 $f0, 0x48($a0) +/* 36D48C E006A46C 46001000 */ add.s $f0, $f2, $f0 +/* 36D490 E006A470 3C014380 */ lui $at, 0x4380 +/* 36D494 E006A474 44812000 */ mtc1 $at, $f4 +/* 36D498 E006A478 00000000 */ nop +/* 36D49C E006A47C 4600203C */ c.lt.s $f4, $f0 +/* 36D4A0 E006A480 00000000 */ nop +/* 36D4A4 E006A484 45000003 */ bc1f .LE006A494 +/* 36D4A8 E006A488 E4800034 */ swc1 $f0, 0x34($a0) +/* 36D4AC E006A48C 46040001 */ sub.s $f0, $f0, $f4 +/* 36D4B0 E006A490 E4800034 */ swc1 $f0, 0x34($a0) +.LE006A494: +/* 36D4B4 E006A494 C4800034 */ lwc1 $f0, 0x34($a0) +/* 36D4B8 E006A498 44803000 */ mtc1 $zero, $f6 +/* 36D4BC E006A49C 00000000 */ nop +/* 36D4C0 E006A4A0 4606003C */ c.lt.s $f0, $f6 +/* 36D4C4 E006A4A4 00000000 */ nop +/* 36D4C8 E006A4A8 45000003 */ bc1f .LE006A4B8 +/* 36D4CC E006A4AC 00000000 */ nop +/* 36D4D0 E006A4B0 46040000 */ add.s $f0, $f0, $f4 +/* 36D4D4 E006A4B4 E4800034 */ swc1 $f0, 0x34($a0) +.LE006A4B8: +/* 36D4D8 E006A4B8 C482003C */ lwc1 $f2, 0x3c($a0) +/* 36D4DC E006A4BC C4800050 */ lwc1 $f0, 0x50($a0) +/* 36D4E0 E006A4C0 46001000 */ add.s $f0, $f2, $f0 +/* 36D4E4 E006A4C4 4600203C */ c.lt.s $f4, $f0 +/* 36D4E8 E006A4C8 00000000 */ nop +/* 36D4EC E006A4CC 45000003 */ bc1f .LE006A4DC +/* 36D4F0 E006A4D0 E480003C */ swc1 $f0, 0x3c($a0) +/* 36D4F4 E006A4D4 46040001 */ sub.s $f0, $f0, $f4 +/* 36D4F8 E006A4D8 E480003C */ swc1 $f0, 0x3c($a0) +.LE006A4DC: +/* 36D4FC E006A4DC C480003C */ lwc1 $f0, 0x3c($a0) +/* 36D500 E006A4E0 4606003C */ c.lt.s $f0, $f6 +/* 36D504 E006A4E4 00000000 */ nop +/* 36D508 E006A4E8 45000003 */ bc1f .LE006A4F8 +/* 36D50C E006A4EC 00000000 */ nop +/* 36D510 E006A4F0 46040000 */ add.s $f0, $f0, $f4 +/* 36D514 E006A4F4 E480003C */ swc1 $f0, 0x3c($a0) +.LE006A4F8: +/* 36D518 E006A4F8 C4820038 */ lwc1 $f2, 0x38($a0) +/* 36D51C E006A4FC C480004C */ lwc1 $f0, 0x4c($a0) +/* 36D520 E006A500 46001000 */ add.s $f0, $f2, $f0 +/* 36D524 E006A504 4600203C */ c.lt.s $f4, $f0 +/* 36D528 E006A508 00000000 */ nop +/* 36D52C E006A50C 45000003 */ bc1f .LE006A51C +/* 36D530 E006A510 E4800038 */ swc1 $f0, 0x38($a0) +/* 36D534 E006A514 46040001 */ sub.s $f0, $f0, $f4 +/* 36D538 E006A518 E4800038 */ swc1 $f0, 0x38($a0) +.LE006A51C: +/* 36D53C E006A51C C4800038 */ lwc1 $f0, 0x38($a0) +/* 36D540 E006A520 4606003C */ c.lt.s $f0, $f6 +/* 36D544 E006A524 00000000 */ nop +/* 36D548 E006A528 45000003 */ bc1f .LE006A538 +/* 36D54C E006A52C 00000000 */ nop +/* 36D550 E006A530 46040000 */ add.s $f0, $f0, $f4 +/* 36D554 E006A534 E4800038 */ swc1 $f0, 0x38($a0) +.LE006A538: +/* 36D558 E006A538 C4820040 */ lwc1 $f2, 0x40($a0) +/* 36D55C E006A53C C4800054 */ lwc1 $f0, 0x54($a0) +/* 36D560 E006A540 46001000 */ add.s $f0, $f2, $f0 +/* 36D564 E006A544 4600203C */ c.lt.s $f4, $f0 +/* 36D568 E006A548 00000000 */ nop +/* 36D56C E006A54C 45000003 */ bc1f .LE006A55C +/* 36D570 E006A550 E4800040 */ swc1 $f0, 0x40($a0) +/* 36D574 E006A554 46040001 */ sub.s $f0, $f0, $f4 +/* 36D578 E006A558 E4800040 */ swc1 $f0, 0x40($a0) +.LE006A55C: +/* 36D57C E006A55C C4800040 */ lwc1 $f0, 0x40($a0) +/* 36D580 E006A560 4606003C */ c.lt.s $f0, $f6 +/* 36D584 E006A564 00000000 */ nop +/* 36D588 E006A568 45000003 */ bc1f .LE006A578 +/* 36D58C E006A56C 00000000 */ nop +/* 36D590 E006A570 46040000 */ add.s $f0, $f0, $f4 +/* 36D594 E006A574 E4800040 */ swc1 $f0, 0x40($a0) +.LE006A578: +/* 36D598 E006A578 03E00008 */ jr $ra +/* 36D59C E006A57C 00000000 */ nop diff --git a/asm/nonmatchings/code_36D020/func_E006A580.s b/asm/nonmatchings/code_36D020/func_E006A580.s new file mode 100644 index 0000000000..1b61addb36 --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A580.s @@ -0,0 +1,185 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A580 +/* 36D5A0 E006A580 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 36D5A4 E006A584 AFB40020 */ sw $s4, 0x20($sp) +/* 36D5A8 E006A588 0080A02D */ daddu $s4, $a0, $zero +/* 36D5AC E006A58C AFBF0024 */ sw $ra, 0x24($sp) +/* 36D5B0 E006A590 AFB3001C */ sw $s3, 0x1c($sp) +/* 36D5B4 E006A594 AFB20018 */ sw $s2, 0x18($sp) +/* 36D5B8 E006A598 AFB10014 */ sw $s1, 0x14($sp) +/* 36D5BC E006A59C AFB00010 */ sw $s0, 0x10($sp) +/* 36D5C0 E006A5A0 8E91000C */ lw $s1, 0xc($s4) +/* 36D5C4 E006A5A4 8E230028 */ lw $v1, 0x28($s1) +/* 36D5C8 E006A5A8 8E240000 */ lw $a0, ($s1) +/* 36D5CC E006A5AC 2862000B */ slti $v0, $v1, 0xb +/* 36D5D0 E006A5B0 10400002 */ beqz $v0, .LE006A5BC +/* 36D5D4 E006A5B4 2462FFFF */ addiu $v0, $v1, -1 +/* 36D5D8 E006A5B8 AE220028 */ sw $v0, 0x28($s1) +.LE006A5BC: +/* 36D5DC E006A5BC 8E22002C */ lw $v0, 0x2c($s1) +/* 36D5E0 E006A5C0 24420001 */ addiu $v0, $v0, 1 +/* 36D5E4 E006A5C4 AE22002C */ sw $v0, 0x2c($s1) +/* 36D5E8 E006A5C8 8E830000 */ lw $v1, ($s4) +/* 36D5EC E006A5CC 30620010 */ andi $v0, $v1, 0x10 +/* 36D5F0 E006A5D0 10400005 */ beqz $v0, .LE006A5E8 +/* 36D5F4 E006A5D4 2402FFEF */ addiu $v0, $zero, -0x11 +/* 36D5F8 E006A5D8 00621024 */ and $v0, $v1, $v0 +/* 36D5FC E006A5DC AE820000 */ sw $v0, ($s4) +/* 36D600 E006A5E0 2402000A */ addiu $v0, $zero, 0xa +/* 36D604 E006A5E4 AE220028 */ sw $v0, 0x28($s1) +.LE006A5E8: +/* 36D608 E006A5E8 8E220028 */ lw $v0, 0x28($s1) +/* 36D60C E006A5EC 04410005 */ bgez $v0, .LE006A604 +/* 36D610 E006A5F0 0040982D */ daddu $s3, $v0, $zero +/* 36D614 E006A5F4 0C080128 */ jal func_E02004A0 +/* 36D618 E006A5F8 0280202D */ daddu $a0, $s4, $zero +/* 36D61C E006A5FC 0801A9FD */ j .LE006A7F4 +/* 36D620 E006A600 00000000 */ nop +.LE006A604: +/* 36D624 E006A604 8E23002C */ lw $v1, 0x2c($s1) +/* 36D628 E006A608 28820002 */ slti $v0, $a0, 2 +/* 36D62C E006A60C 10400030 */ beqz $v0, .LE006A6D0 +/* 36D630 E006A610 00000000 */ nop +/* 36D634 E006A614 0480002E */ bltz $a0, .LE006A6D0 +/* 36D638 E006A618 24120001 */ addiu $s2, $zero, 1 +/* 36D63C E006A61C 8E820008 */ lw $v0, 8($s4) +/* 36D640 E006A620 0242102A */ slt $v0, $s2, $v0 +/* 36D644 E006A624 10400073 */ beqz $v0, .LE006A7F4 +/* 36D648 E006A628 26310094 */ addiu $s1, $s1, 0x94 +/* 36D64C E006A62C 00031080 */ sll $v0, $v1, 2 +/* 36D650 E006A630 00431021 */ addu $v0, $v0, $v1 +/* 36D654 E006A634 02429804 */ sllv $s3, $v0, $s2 +/* 36D658 E006A638 26300028 */ addiu $s0, $s1, 0x28 +.LE006A63C: +/* 36D65C E006A63C 8E020000 */ lw $v0, ($s0) +/* 36D660 E006A640 8E030004 */ lw $v1, 4($s0) +/* 36D664 E006A644 2442FFFF */ addiu $v0, $v0, -1 +/* 36D668 E006A648 24630001 */ addiu $v1, $v1, 1 +/* 36D66C E006A64C AE020000 */ sw $v0, ($s0) +/* 36D670 E006A650 2862000A */ slti $v0, $v1, 0xa +/* 36D674 E006A654 10400005 */ beqz $v0, .LE006A66C +/* 36D678 E006A658 AE030004 */ sw $v1, 4($s0) +/* 36D67C E006A65C 00031040 */ sll $v0, $v1, 1 +/* 36D680 E006A660 00431021 */ addu $v0, $v0, $v1 +/* 36D684 E006A664 00021080 */ sll $v0, $v0, 2 +/* 36D688 E006A668 AE02FFFC */ sw $v0, -4($s0) +.LE006A66C: +/* 36D68C E006A66C 8E030000 */ lw $v1, ($s0) +/* 36D690 E006A670 28620005 */ slti $v0, $v1, 5 +/* 36D694 E006A674 10400005 */ beqz $v0, .LE006A68C +/* 36D698 E006A678 00031040 */ sll $v0, $v1, 1 +/* 36D69C E006A67C 00431021 */ addu $v0, $v0, $v1 +/* 36D6A0 E006A680 000210C0 */ sll $v0, $v0, 3 +/* 36D6A4 E006A684 00431021 */ addu $v0, $v0, $v1 +/* 36D6A8 E006A688 AE02FFFC */ sw $v0, -4($s0) +.LE006A68C: +/* 36D6AC E006A68C C6000030 */ lwc1 $f0, 0x30($s0) +/* 36D6B0 E006A690 C6020064 */ lwc1 $f2, 0x64($s0) +/* 36D6B4 E006A694 46020000 */ add.s $f0, $f0, $f2 +/* 36D6B8 E006A698 8E020000 */ lw $v0, ($s0) +/* 36D6BC E006A69C 1C400004 */ bgtz $v0, .LE006A6B0 +/* 36D6C0 E006A6A0 E6000030 */ swc1 $f0, 0x30($s0) +/* 36D6C4 E006A6A4 0220202D */ daddu $a0, $s1, $zero +/* 36D6C8 E006A6A8 0C01A800 */ jal func_E006A000 +/* 36D6CC E006A6AC 26650001 */ addiu $a1, $s3, 1 +.LE006A6B0: +/* 36D6D0 E006A6B0 26520001 */ addiu $s2, $s2, 1 +/* 36D6D4 E006A6B4 26100094 */ addiu $s0, $s0, 0x94 +/* 36D6D8 E006A6B8 8E820008 */ lw $v0, 8($s4) +/* 36D6DC E006A6BC 0242102A */ slt $v0, $s2, $v0 +/* 36D6E0 E006A6C0 1440FFDE */ bnez $v0, .LE006A63C +/* 36D6E4 E006A6C4 26310094 */ addiu $s1, $s1, 0x94 +/* 36D6E8 E006A6C8 0801A9FD */ j .LE006A7F4 +/* 36D6EC E006A6CC 00000000 */ nop +.LE006A6D0: +/* 36D6F0 E006A6D0 8E820008 */ lw $v0, 8($s4) +/* 36D6F4 E006A6D4 24120001 */ addiu $s2, $zero, 1 +/* 36D6F8 E006A6D8 0242102A */ slt $v0, $s2, $v0 +/* 36D6FC E006A6DC 10400045 */ beqz $v0, .LE006A7F4 +/* 36D700 E006A6E0 26310094 */ addiu $s1, $s1, 0x94 +/* 36D704 E006A6E4 26300064 */ addiu $s0, $s1, 0x64 +.LE006A6E8: +/* 36D708 E006A6E8 0C01A919 */ jal func_E006A464 +/* 36D70C E006A6EC 0220202D */ daddu $a0, $s1, $zero +/* 36D710 E006A6F0 8E02FFC4 */ lw $v0, -0x3c($s0) +/* 36D714 E006A6F4 8E03FFC8 */ lw $v1, -0x38($s0) +/* 36D718 E006A6F8 2442FFFF */ addiu $v0, $v0, -1 +/* 36D71C E006A6FC 24630001 */ addiu $v1, $v1, 1 +/* 36D720 E006A700 AE02FFC4 */ sw $v0, -0x3c($s0) +/* 36D724 E006A704 28620005 */ slti $v0, $v1, 5 +/* 36D728 E006A708 10400007 */ beqz $v0, .LE006A728 +/* 36D72C E006A70C AE03FFC8 */ sw $v1, -0x38($s0) +/* 36D730 E006A710 00031040 */ sll $v0, $v1, 1 +/* 36D734 E006A714 00431021 */ addu $v0, $v0, $v1 +/* 36D738 E006A718 000210C0 */ sll $v0, $v0, 3 +/* 36D73C E006A71C 00431021 */ addu $v0, $v0, $v1 +/* 36D740 E006A720 00021040 */ sll $v0, $v0, 1 +/* 36D744 E006A724 AE02FFC0 */ sw $v0, -0x40($s0) +.LE006A728: +/* 36D748 E006A728 8E03FFC4 */ lw $v1, -0x3c($s0) +/* 36D74C E006A72C 28620005 */ slti $v0, $v1, 5 +/* 36D750 E006A730 10400006 */ beqz $v0, .LE006A74C +/* 36D754 E006A734 00031040 */ sll $v0, $v1, 1 +/* 36D758 E006A738 00431021 */ addu $v0, $v0, $v1 +/* 36D75C E006A73C 000210C0 */ sll $v0, $v0, 3 +/* 36D760 E006A740 00431021 */ addu $v0, $v0, $v1 +/* 36D764 E006A744 00021040 */ sll $v0, $v0, 1 +/* 36D768 E006A748 AE02FFC0 */ sw $v0, -0x40($s0) +.LE006A74C: +/* 36D76C E006A74C 2A62000A */ slti $v0, $s3, 0xa +/* 36D770 E006A750 1040000C */ beqz $v0, .LE006A784 +/* 36D774 E006A754 3C026666 */ lui $v0, 0x6666 +/* 36D778 E006A758 8E03FFC0 */ lw $v1, -0x40($s0) +/* 36D77C E006A75C 00730018 */ mult $v1, $s3 +/* 36D780 E006A760 00001812 */ mflo $v1 +/* 36D784 E006A764 34426667 */ ori $v0, $v0, 0x6667 +/* 36D788 E006A768 00000000 */ nop +/* 36D78C E006A76C 00620018 */ mult $v1, $v0 +/* 36D790 E006A770 00031FC3 */ sra $v1, $v1, 0x1f +/* 36D794 E006A774 00001010 */ mfhi $v0 +/* 36D798 E006A778 00021083 */ sra $v0, $v0, 2 +/* 36D79C E006A77C 00431023 */ subu $v0, $v0, $v1 +/* 36D7A0 E006A780 AE02FFC0 */ sw $v0, -0x40($s0) +.LE006A784: +/* 36D7A4 E006A784 8E02FFC4 */ lw $v0, -0x3c($s0) +/* 36D7A8 E006A788 1C400003 */ bgtz $v0, .LE006A798 +/* 36D7AC E006A78C 0220202D */ daddu $a0, $s1, $zero +/* 36D7B0 E006A790 0C01A82F */ jal func_E006A0BC +/* 36D7B4 E006A794 0240282D */ daddu $a1, $s2, $zero +.LE006A798: +/* 36D7B8 E006A798 8E02002C */ lw $v0, 0x2c($s0) +/* 36D7BC E006A79C 18400003 */ blez $v0, .LE006A7AC +/* 36D7C0 E006A7A0 2442FFFF */ addiu $v0, $v0, -1 +/* 36D7C4 E006A7A4 1C40000D */ bgtz $v0, .LE006A7DC +/* 36D7C8 E006A7A8 AE02002C */ sw $v0, 0x2c($s0) +.LE006A7AC: +/* 36D7CC E006A7AC C606FFF8 */ lwc1 $f6, -8($s0) +/* 36D7D0 E006A7B0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 36D7D4 E006A7B4 C604FFFC */ lwc1 $f4, -4($s0) +/* 36D7D8 E006A7B8 46003180 */ add.s $f6, $f6, $f0 +/* 36D7DC E006A7BC C6000020 */ lwc1 $f0, 0x20($s0) +/* 36D7E0 E006A7C0 C6020000 */ lwc1 $f2, ($s0) +/* 36D7E4 E006A7C4 46002100 */ add.s $f4, $f4, $f0 +/* 36D7E8 E006A7C8 C6000024 */ lwc1 $f0, 0x24($s0) +/* 36D7EC E006A7CC 46001080 */ add.s $f2, $f2, $f0 +/* 36D7F0 E006A7D0 E606FFF8 */ swc1 $f6, -8($s0) +/* 36D7F4 E006A7D4 E604FFFC */ swc1 $f4, -4($s0) +/* 36D7F8 E006A7D8 E6020000 */ swc1 $f2, ($s0) +.LE006A7DC: +/* 36D7FC E006A7DC 26520001 */ addiu $s2, $s2, 1 +/* 36D800 E006A7E0 26100094 */ addiu $s0, $s0, 0x94 +/* 36D804 E006A7E4 8E820008 */ lw $v0, 8($s4) +/* 36D808 E006A7E8 0242102A */ slt $v0, $s2, $v0 +/* 36D80C E006A7EC 1440FFBE */ bnez $v0, .LE006A6E8 +/* 36D810 E006A7F0 26310094 */ addiu $s1, $s1, 0x94 +.LE006A7F4: +/* 36D814 E006A7F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 36D818 E006A7F8 8FB40020 */ lw $s4, 0x20($sp) +/* 36D81C E006A7FC 8FB3001C */ lw $s3, 0x1c($sp) +/* 36D820 E006A800 8FB20018 */ lw $s2, 0x18($sp) +/* 36D824 E006A804 8FB10014 */ lw $s1, 0x14($sp) +/* 36D828 E006A808 8FB00010 */ lw $s0, 0x10($sp) +/* 36D82C E006A80C 03E00008 */ jr $ra +/* 36D830 E006A810 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_36D020/func_E006A814.s b/asm/nonmatchings/code_36D020/func_E006A814.s new file mode 100644 index 0000000000..0b525292fd --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A814.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A814 +/* 36D834 E006A814 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 36D838 E006A818 3C02E007 */ lui $v0, 0xe007 +/* 36D83C E006A81C 2442A94C */ addiu $v0, $v0, -0x56b4 +/* 36D840 E006A820 AFA2001C */ sw $v0, 0x1c($sp) +/* 36D844 E006A824 2402000A */ addiu $v0, $zero, 0xa +/* 36D848 E006A828 AFA20014 */ sw $v0, 0x14($sp) +/* 36D84C E006A82C 2402002D */ addiu $v0, $zero, 0x2d +/* 36D850 E006A830 AFA40018 */ sw $a0, 0x18($sp) +/* 36D854 E006A834 27A40010 */ addiu $a0, $sp, 0x10 +/* 36D858 E006A838 AFBF0020 */ sw $ra, 0x20($sp) +/* 36D85C E006A83C 0C080120 */ jal func_E0200480 +/* 36D860 E006A840 AFA20010 */ sw $v0, 0x10($sp) +/* 36D864 E006A844 8C430000 */ lw $v1, ($v0) +/* 36D868 E006A848 34630002 */ ori $v1, $v1, 2 +/* 36D86C E006A84C AC430000 */ sw $v1, ($v0) +/* 36D870 E006A850 8FBF0020 */ lw $ra, 0x20($sp) +/* 36D874 E006A854 03E00008 */ jr $ra +/* 36D878 E006A858 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_36D020/func_E006A85C.s b/asm/nonmatchings/code_36D020/func_E006A85C.s new file mode 100644 index 0000000000..19bc4c37a8 --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A85C.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A85C +/* 36D87C E006A85C 3C03800A */ lui $v1, 0x800a +/* 36D880 E006A860 2463A66C */ addiu $v1, $v1, -0x5994 +/* 36D884 E006A864 C4820034 */ lwc1 $f2, 0x34($a0) +/* 36D888 E006A868 3C014080 */ lui $at, 0x4080 +/* 36D88C E006A86C 44812000 */ mtc1 $at, $f4 +/* 36D890 E006A870 3C08F200 */ lui $t0, 0xf200 +/* 36D894 E006A874 46041082 */ mul.s $f2, $f2, $f4 +/* 36D898 E006A878 00000000 */ nop +/* 36D89C E006A87C 8C670000 */ lw $a3, ($v1) +/* 36D8A0 E006A880 C4800038 */ lwc1 $f0, 0x38($a0) +/* 36D8A4 E006A884 00E0482D */ daddu $t1, $a3, $zero +/* 36D8A8 E006A888 24E70008 */ addiu $a3, $a3, 8 +/* 36D8AC E006A88C 46040002 */ mul.s $f0, $f0, $f4 +/* 36D8B0 E006A890 00000000 */ nop +/* 36D8B4 E006A894 24E20008 */ addiu $v0, $a3, 8 +/* 36D8B8 E006A898 AC670000 */ sw $a3, ($v1) +/* 36D8BC E006A89C AC620000 */ sw $v0, ($v1) +/* 36D8C0 E006A8A0 4600118D */ trunc.w.s $f6, $f2 +/* 36D8C4 E006A8A4 44023000 */ mfc1 $v0, $f6 +/* 36D8C8 E006A8A8 4600018D */ trunc.w.s $f6, $f0 +/* 36D8CC E006A8AC 44063000 */ mfc1 $a2, $f6 +/* 36D8D0 E006A8B0 30450FFF */ andi $a1, $v0, 0xfff +/* 36D8D4 E006A8B4 00052B00 */ sll $a1, $a1, 0xc +/* 36D8D8 E006A8B8 30C30FFF */ andi $v1, $a2, 0xfff +/* 36D8DC E006A8BC 00681825 */ or $v1, $v1, $t0 +/* 36D8E0 E006A8C0 00A32825 */ or $a1, $a1, $v1 +/* 36D8E4 E006A8C4 24420200 */ addiu $v0, $v0, 0x200 +/* 36D8E8 E006A8C8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 36D8EC E006A8CC 30420FFF */ andi $v0, $v0, 0xfff +/* 36D8F0 E006A8D0 46040002 */ mul.s $f0, $f0, $f4 +/* 36D8F4 E006A8D4 00000000 */ nop +/* 36D8F8 E006A8D8 00021300 */ sll $v0, $v0, 0xc +/* 36D8FC E006A8DC 24C60100 */ addiu $a2, $a2, 0x100 +/* 36D900 E006A8E0 C4820040 */ lwc1 $f2, 0x40($a0) +/* 36D904 E006A8E4 30C60FFF */ andi $a2, $a2, 0xfff +/* 36D908 E006A8E8 46041082 */ mul.s $f2, $f2, $f4 +/* 36D90C E006A8EC 00000000 */ nop +/* 36D910 E006A8F0 00461025 */ or $v0, $v0, $a2 +/* 36D914 E006A8F4 AD250000 */ sw $a1, ($t1) +/* 36D918 E006A8F8 AD220004 */ sw $v0, 4($t1) +/* 36D91C E006A8FC 4600018D */ trunc.w.s $f6, $f0 +/* 36D920 E006A900 44043000 */ mfc1 $a0, $f6 +/* 36D924 E006A904 4600118D */ trunc.w.s $f6, $f2 +/* 36D928 E006A908 44053000 */ mfc1 $a1, $f6 +/* 36D92C E006A90C 30830FFF */ andi $v1, $a0, 0xfff +/* 36D930 E006A910 00031B00 */ sll $v1, $v1, 0xc +/* 36D934 E006A914 30A20FFF */ andi $v0, $a1, 0xfff +/* 36D938 E006A918 00481025 */ or $v0, $v0, $t0 +/* 36D93C E006A91C 00621825 */ or $v1, $v1, $v0 +/* 36D940 E006A920 24840200 */ addiu $a0, $a0, 0x200 +/* 36D944 E006A924 30840FFF */ andi $a0, $a0, 0xfff +/* 36D948 E006A928 00042300 */ sll $a0, $a0, 0xc +/* 36D94C E006A92C 24A50100 */ addiu $a1, $a1, 0x100 +/* 36D950 E006A930 30A50FFF */ andi $a1, $a1, 0xfff +/* 36D954 E006A934 3C020100 */ lui $v0, 0x100 +/* 36D958 E006A938 00A22825 */ or $a1, $a1, $v0 +/* 36D95C E006A93C 00852025 */ or $a0, $a0, $a1 +/* 36D960 E006A940 ACE30000 */ sw $v1, ($a3) +/* 36D964 E006A944 03E00008 */ jr $ra +/* 36D968 E006A948 ACE40004 */ sw $a0, 4($a3) diff --git a/asm/nonmatchings/code_36D020/func_E006A94C.s b/asm/nonmatchings/code_36D020/func_E006A94C.s new file mode 100644 index 0000000000..db6e7fe633 --- /dev/null +++ b/asm/nonmatchings/code_36D020/func_E006A94C.s @@ -0,0 +1,313 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006A94C +/* 36D96C E006A94C 27BDFEE0 */ addiu $sp, $sp, -0x120 +/* 36D970 E006A950 AFA40120 */ sw $a0, 0x120($sp) +/* 36D974 E006A954 8FA80120 */ lw $t0, 0x120($sp) +/* 36D978 E006A958 3C07DB06 */ lui $a3, 0xdb06 +/* 36D97C E006A95C AFB100E4 */ sw $s1, 0xe4($sp) +/* 36D980 E006A960 3C11800A */ lui $s1, 0x800a +/* 36D984 E006A964 2631A66C */ addiu $s1, $s1, -0x5994 +/* 36D988 E006A968 AFBF0104 */ sw $ra, 0x104($sp) +/* 36D98C E006A96C AFBE0100 */ sw $fp, 0x100($sp) +/* 36D990 E006A970 AFB700FC */ sw $s7, 0xfc($sp) +/* 36D994 E006A974 AFB600F8 */ sw $s6, 0xf8($sp) +/* 36D998 E006A978 AFB500F4 */ sw $s5, 0xf4($sp) +/* 36D99C E006A97C AFB400F0 */ sw $s4, 0xf0($sp) +/* 36D9A0 E006A980 AFB300EC */ sw $s3, 0xec($sp) +/* 36D9A4 E006A984 AFB200E8 */ sw $s2, 0xe8($sp) +/* 36D9A8 E006A988 AFB000E0 */ sw $s0, 0xe0($sp) +/* 36D9AC E006A98C F7B80118 */ sdc1 $f24, 0x118($sp) +/* 36D9B0 E006A990 F7B60110 */ sdc1 $f22, 0x110($sp) +/* 36D9B4 E006A994 F7B40108 */ sdc1 $f20, 0x108($sp) +/* 36D9B8 E006A998 8E230000 */ lw $v1, ($s1) +/* 36D9BC E006A99C 8D12000C */ lw $s2, 0xc($t0) +/* 36D9C0 E006A9A0 0060282D */ daddu $a1, $v1, $zero +/* 36D9C4 E006A9A4 8E570000 */ lw $s7, ($s2) +/* 36D9C8 E006A9A8 24630008 */ addiu $v1, $v1, 8 +/* 36D9CC E006A9AC AE230000 */ sw $v1, ($s1) +/* 36D9D0 E006A9B0 00171080 */ sll $v0, $s7, 2 +/* 36D9D4 E006A9B4 3C08E007 */ lui $t0, 0xe007 +/* 36D9D8 E006A9B8 01024021 */ addu $t0, $t0, $v0 +/* 36D9DC E006A9BC 8D08ADF0 */ lw $t0, -0x5210($t0) +/* 36D9E0 E006A9C0 34E70024 */ ori $a3, $a3, 0x24 +/* 36D9E4 E006A9C4 AFA800D8 */ sw $t0, 0xd8($sp) +/* 36D9E8 E006A9C8 3C06E007 */ lui $a2, 0xe007 +/* 36D9EC E006A9CC 00C23021 */ addu $a2, $a2, $v0 +/* 36D9F0 E006A9D0 8CC6AE00 */ lw $a2, -0x5200($a2) +/* 36D9F4 E006A9D4 3C02E700 */ lui $v0, 0xe700 +/* 36D9F8 E006A9D8 ACA20000 */ sw $v0, ($a1) +/* 36D9FC E006A9DC ACA00004 */ sw $zero, 4($a1) +/* 36DA00 E006A9E0 AC670000 */ sw $a3, ($v1) +/* 36DA04 E006A9E4 8FA80120 */ lw $t0, 0x120($sp) +/* 36DA08 E006A9E8 27A40098 */ addiu $a0, $sp, 0x98 +/* 36DA0C E006A9EC 8D050010 */ lw $a1, 0x10($t0) +/* 36DA10 E006A9F0 24620008 */ addiu $v0, $v1, 8 +/* 36DA14 E006A9F4 AE220000 */ sw $v0, ($s1) +/* 36DA18 E006A9F8 8CA5001C */ lw $a1, 0x1c($a1) +/* 36DA1C E006A9FC 3C02DE00 */ lui $v0, 0xde00 +/* 36DA20 E006AA00 AC620008 */ sw $v0, 8($v1) +/* 36DA24 E006AA04 3C028000 */ lui $v0, 0x8000 +/* 36DA28 E006AA08 AC66000C */ sw $a2, 0xc($v1) +/* 36DA2C E006AA0C 00A22821 */ addu $a1, $a1, $v0 +/* 36DA30 E006AA10 AC650004 */ sw $a1, 4($v1) +/* 36DA34 E006AA14 8E450010 */ lw $a1, 0x10($s2) +/* 36DA38 E006AA18 8E460014 */ lw $a2, 0x14($s2) +/* 36DA3C E006AA1C 8E470018 */ lw $a3, 0x18($s2) +/* 36DA40 E006AA20 24630010 */ addiu $v1, $v1, 0x10 +/* 36DA44 E006AA24 0C080108 */ jal func_E0200420 +/* 36DA48 E006AA28 AE230000 */ sw $v1, ($s1) +/* 36DA4C E006AA2C 8FA80120 */ lw $t0, 0x120($sp) +/* 36DA50 E006AA30 24140001 */ addiu $s4, $zero, 1 +/* 36DA54 E006AA34 8D020008 */ lw $v0, 8($t0) +/* 36DA58 E006AA38 0282102A */ slt $v0, $s4, $v0 +/* 36DA5C E006AA3C 104000D2 */ beqz $v0, .LE006AD88 +/* 36DA60 E006AA40 26520094 */ addiu $s2, $s2, 0x94 +/* 36DA64 E006AA44 2AF60002 */ slti $s6, $s7, 2 +/* 36DA68 E006AA48 27B00058 */ addiu $s0, $sp, 0x58 +/* 36DA6C E006AA4C 0220982D */ daddu $s3, $s1, $zero +/* 36DA70 E006AA50 3C1E8007 */ lui $fp, 0x8007 +/* 36DA74 E006AA54 27DE41F0 */ addiu $fp, $fp, 0x41f0 +/* 36DA78 E006AA58 3C150001 */ lui $s5, 1 +/* 36DA7C E006AA5C 36B51630 */ ori $s5, $s5, 0x1630 +/* 36DA80 E006AA60 26510024 */ addiu $s1, $s2, 0x24 +/* 36DA84 E006AA64 3C013F80 */ lui $at, 0x3f80 +/* 36DA88 E006AA68 4481C000 */ mtc1 $at, $f24 +/* 36DA8C E006AA6C 4480B000 */ mtc1 $zero, $f22 +.LE006AA70: +/* 36DA90 E006AA70 3C01437F */ lui $at, 0x437f +/* 36DA94 E006AA74 44811000 */ mtc1 $at, $f2 +/* 36DA98 E006AA78 C6200000 */ lwc1 $f0, ($s1) +/* 36DA9C E006AA7C 46800020 */ cvt.s.w $f0, $f0 +/* 36DAA0 E006AA80 16C00003 */ bnez $s6, .LE006AA90 +/* 36DAA4 E006AA84 46020503 */ div.s $f20, $f0, $f2 +/* 36DAA8 E006AA88 0C01AA17 */ jal func_E006A85C +/* 36DAAC E006AA8C 0240202D */ daddu $a0, $s2, $zero +.LE006AA90: +/* 36DAB0 E006AA90 E7B60010 */ swc1 $f22, 0x10($sp) +/* 36DAB4 E006AA94 8E250038 */ lw $a1, 0x38($s1) +/* 36DAB8 E006AA98 4406C000 */ mfc1 $a2, $f24 +/* 36DABC E006AA9C 4407B000 */ mfc1 $a3, $f22 +/* 36DAC0 E006AAA0 0C080104 */ jal func_E0200410 +/* 36DAC4 E006AAA4 0200202D */ daddu $a0, $s0, $zero +/* 36DAC8 E006AAA8 0200202D */ daddu $a0, $s0, $zero +/* 36DACC E006AAAC 27A50098 */ addiu $a1, $sp, 0x98 +/* 36DAD0 E006AAB0 0C080114 */ jal func_E0200450 +/* 36DAD4 E006AAB4 27A60018 */ addiu $a2, $sp, 0x18 +/* 36DAD8 E006AAB8 56C00060 */ bnel $s6, $zero, .LE006AC3C +/* 36DADC E006AABC E7B60010 */ swc1 $f22, 0x10($sp) +/* 36DAE0 E006AAC0 C6220040 */ lwc1 $f2, 0x40($s1) +/* 36DAE4 E006AAC4 24020003 */ addiu $v0, $zero, 3 +/* 36DAE8 E006AAC8 56E20005 */ bnel $s7, $v0, .LE006AAE0 +/* 36DAEC E006AACC 46161000 */ add.s $f0, $f2, $f22 +/* 36DAF0 E006AAD0 3C014234 */ lui $at, 0x4234 +/* 36DAF4 E006AAD4 44810000 */ mtc1 $at, $f0 +/* 36DAF8 E006AAD8 00000000 */ nop +/* 36DAFC E006AADC 46001000 */ add.s $f0, $f2, $f0 +.LE006AAE0: +/* 36DB00 E006AAE0 44050000 */ mfc1 $a1, $f0 +/* 36DB04 E006AAE4 4406B000 */ mfc1 $a2, $f22 +/* 36DB08 E006AAE8 4407B000 */ mfc1 $a3, $f22 +/* 36DB0C E006AAEC 0200202D */ daddu $a0, $s0, $zero +/* 36DB10 E006AAF0 0C080104 */ jal func_E0200410 +/* 36DB14 E006AAF4 E7B80010 */ swc1 $f24, 0x10($sp) +/* 36DB18 E006AAF8 0200202D */ daddu $a0, $s0, $zero +/* 36DB1C E006AAFC 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DB20 E006AB00 0C080114 */ jal func_E0200450 +/* 36DB24 E006AB04 00A0302D */ daddu $a2, $a1, $zero +/* 36DB28 E006AB08 E7B60010 */ swc1 $f22, 0x10($sp) +/* 36DB2C E006AB0C 8E25003C */ lw $a1, 0x3c($s1) +/* 36DB30 E006AB10 4406B000 */ mfc1 $a2, $f22 +/* 36DB34 E006AB14 4407C000 */ mfc1 $a3, $f24 +/* 36DB38 E006AB18 0C080104 */ jal func_E0200410 +/* 36DB3C E006AB1C 0200202D */ daddu $a0, $s0, $zero +/* 36DB40 E006AB20 0200202D */ daddu $a0, $s0, $zero +/* 36DB44 E006AB24 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DB48 E006AB28 0C080114 */ jal func_E0200450 +/* 36DB4C E006AB2C 00A0302D */ daddu $a2, $a1, $zero +/* 36DB50 E006AB30 8E250034 */ lw $a1, 0x34($s1) +/* 36DB54 E006AB34 4406B000 */ mfc1 $a2, $f22 +/* 36DB58 E006AB38 4407B000 */ mfc1 $a3, $f22 +/* 36DB5C E006AB3C 0C080108 */ jal func_E0200420 +/* 36DB60 E006AB40 0200202D */ daddu $a0, $s0, $zero +/* 36DB64 E006AB44 0200202D */ daddu $a0, $s0, $zero +/* 36DB68 E006AB48 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DB6C E006AB4C 0C080114 */ jal func_E0200450 +/* 36DB70 E006AB50 00A0302D */ daddu $a2, $a1, $zero +/* 36DB74 E006AB54 3C014040 */ lui $at, 0x4040 +/* 36DB78 E006AB58 44810000 */ mtc1 $at, $f0 +/* 36DB7C E006AB5C 00000000 */ nop +/* 36DB80 E006AB60 4600A000 */ add.s $f0, $f20, $f0 +/* 36DB84 E006AB64 3C013FD0 */ lui $at, 0x3fd0 +/* 36DB88 E006AB68 44811800 */ mtc1 $at, $f3 +/* 36DB8C E006AB6C 44801000 */ mtc1 $zero, $f2 +/* 36DB90 E006AB70 46000021 */ cvt.d.s $f0, $f0 +/* 36DB94 E006AB74 46220002 */ mul.d $f0, $f0, $f2 +/* 36DB98 E006AB78 00000000 */ nop +/* 36DB9C E006AB7C 32830003 */ andi $v1, $s4, 3 +/* 36DBA0 E006AB80 24020001 */ addiu $v0, $zero, 1 +/* 36DBA4 E006AB84 46200120 */ cvt.s.d $f4, $f0 +/* 36DBA8 E006AB88 10620010 */ beq $v1, $v0, .LE006ABCC +/* 36DBAC E006AB8C 46002186 */ mov.s $f6, $f4 +/* 36DBB0 E006AB90 28620002 */ slti $v0, $v1, 2 +/* 36DBB4 E006AB94 10400005 */ beqz $v0, .LE006ABAC +/* 36DBB8 E006AB98 24020002 */ addiu $v0, $zero, 2 +/* 36DBBC E006AB9C 10600007 */ beqz $v1, .LE006ABBC +/* 36DBC0 E006ABA0 00000000 */ nop +/* 36DBC4 E006ABA4 0801AAFD */ j .LE006ABF4 +/* 36DBC8 E006ABA8 4600A006 */ mov.s $f0, $f20 +.LE006ABAC: +/* 36DBCC E006ABAC 5062000C */ beql $v1, $v0, .LE006ABE0 +/* 36DBD0 E006ABB0 4600A021 */ cvt.d.s $f0, $f20 +/* 36DBD4 E006ABB4 0801AAFD */ j .LE006ABF4 +/* 36DBD8 E006ABB8 4600A006 */ mov.s $f0, $f20 +.LE006ABBC: +/* 36DBDC E006ABBC 3C01E007 */ lui $at, 0xe007 +/* 36DBE0 E006ABC0 D422AF58 */ ldc1 $f2, -0x50a8($at) +/* 36DBE4 E006ABC4 0801AAFA */ j .LE006ABE8 +/* 36DBE8 E006ABC8 4600A021 */ cvt.d.s $f0, $f20 +.LE006ABCC: +/* 36DBEC E006ABCC 3C013FE0 */ lui $at, 0x3fe0 +/* 36DBF0 E006ABD0 44811800 */ mtc1 $at, $f3 +/* 36DBF4 E006ABD4 44801000 */ mtc1 $zero, $f2 +/* 36DBF8 E006ABD8 0801AAFA */ j .LE006ABE8 +/* 36DBFC E006ABDC 4600A021 */ cvt.d.s $f0, $f20 +.LE006ABE0: +/* 36DC00 E006ABE0 3C01E007 */ lui $at, 0xe007 +/* 36DC04 E006ABE4 D422AF60 */ ldc1 $f2, -0x50a0($at) +.LE006ABE8: +/* 36DC08 E006ABE8 46220002 */ mul.d $f0, $f0, $f2 +/* 36DC0C E006ABEC 00000000 */ nop +/* 36DC10 E006ABF0 46200020 */ cvt.s.d $f0, $f0 +.LE006ABF4: +/* 36DC14 E006ABF4 44053000 */ mfc1 $a1, $f6 +/* 36DC18 E006ABF8 44060000 */ mfc1 $a2, $f0 +/* 36DC1C E006ABFC 44072000 */ mfc1 $a3, $f4 +/* 36DC20 E006AC00 0C080110 */ jal func_E0200440 +/* 36DC24 E006AC04 0200202D */ daddu $a0, $s0, $zero +/* 36DC28 E006AC08 0200202D */ daddu $a0, $s0, $zero +/* 36DC2C E006AC0C 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DC30 E006AC10 0C080114 */ jal func_E0200450 +/* 36DC34 E006AC14 00A0302D */ daddu $a2, $a1, $zero +/* 36DC38 E006AC18 8E620000 */ lw $v0, ($s3) +/* 36DC3C E006AC1C 0040202D */ daddu $a0, $v0, $zero +/* 36DC40 E006AC20 24420008 */ addiu $v0, $v0, 8 +/* 36DC44 E006AC24 AE620000 */ sw $v0, ($s3) +/* 36DC48 E006AC28 3C02FA00 */ lui $v0, 0xfa00 +/* 36DC4C E006AC2C AC820000 */ sw $v0, ($a0) +/* 36DC50 E006AC30 92220003 */ lbu $v0, 3($s1) +/* 36DC54 E006AC34 0801AB33 */ j .LE006ACCC +/* 36DC58 E006AC38 2403F000 */ addiu $v1, $zero, -0x1000 +.LE006AC3C: +/* 36DC5C E006AC3C 8E25003C */ lw $a1, 0x3c($s1) +/* 36DC60 E006AC40 4406B000 */ mfc1 $a2, $f22 +/* 36DC64 E006AC44 4407C000 */ mfc1 $a3, $f24 +/* 36DC68 E006AC48 0C080104 */ jal func_E0200410 +/* 36DC6C E006AC4C 0200202D */ daddu $a0, $s0, $zero +/* 36DC70 E006AC50 0200202D */ daddu $a0, $s0, $zero +/* 36DC74 E006AC54 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DC78 E006AC58 0C080114 */ jal func_E0200450 +/* 36DC7C E006AC5C 00A0302D */ daddu $a2, $a1, $zero +/* 36DC80 E006AC60 E7B80010 */ swc1 $f24, 0x10($sp) +/* 36DC84 E006AC64 8E250040 */ lw $a1, 0x40($s1) +/* 36DC88 E006AC68 4406B000 */ mfc1 $a2, $f22 +/* 36DC8C E006AC6C 4407B000 */ mfc1 $a3, $f22 +/* 36DC90 E006AC70 0C080104 */ jal func_E0200410 +/* 36DC94 E006AC74 0200202D */ daddu $a0, $s0, $zero +/* 36DC98 E006AC78 0200202D */ daddu $a0, $s0, $zero +/* 36DC9C E006AC7C 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DCA0 E006AC80 0C080114 */ jal func_E0200450 +/* 36DCA4 E006AC84 00A0302D */ daddu $a2, $a1, $zero +/* 36DCA8 E006AC88 8E250034 */ lw $a1, 0x34($s1) +/* 36DCAC E006AC8C 4406B000 */ mfc1 $a2, $f22 +/* 36DCB0 E006AC90 4407B000 */ mfc1 $a3, $f22 +/* 36DCB4 E006AC94 0C080108 */ jal func_E0200420 +/* 36DCB8 E006AC98 0200202D */ daddu $a0, $s0, $zero +/* 36DCBC E006AC9C 0200202D */ daddu $a0, $s0, $zero +/* 36DCC0 E006ACA0 27A50018 */ addiu $a1, $sp, 0x18 +/* 36DCC4 E006ACA4 0C080114 */ jal func_E0200450 +/* 36DCC8 E006ACA8 00A0302D */ daddu $a2, $a1, $zero +/* 36DCCC E006ACAC 8E620000 */ lw $v0, ($s3) +/* 36DCD0 E006ACB0 0040202D */ daddu $a0, $v0, $zero +/* 36DCD4 E006ACB4 24420008 */ addiu $v0, $v0, 8 +/* 36DCD8 E006ACB8 AE620000 */ sw $v0, ($s3) +/* 36DCDC E006ACBC 3C02FA00 */ lui $v0, 0xfa00 +/* 36DCE0 E006ACC0 AC820000 */ sw $v0, ($a0) +/* 36DCE4 E006ACC4 92220003 */ lbu $v0, 3($s1) +/* 36DCE8 E006ACC8 2403B500 */ addiu $v1, $zero, -0x4b00 +.LE006ACCC: +/* 36DCEC E006ACCC 00431025 */ or $v0, $v0, $v1 +/* 36DCF0 E006ACD0 AC820004 */ sw $v0, 4($a0) +/* 36DCF4 E006ACD4 27A40018 */ addiu $a0, $sp, 0x18 +/* 36DCF8 E006ACD8 26940001 */ addiu $s4, $s4, 1 +/* 36DCFC E006ACDC 26310094 */ addiu $s1, $s1, 0x94 +/* 36DD00 E006ACE0 97C50000 */ lhu $a1, ($fp) +/* 36DD04 E006ACE4 3C02800A */ lui $v0, 0x800a +/* 36DD08 E006ACE8 8C42A674 */ lw $v0, -0x598c($v0) +/* 36DD0C E006ACEC 00052980 */ sll $a1, $a1, 6 +/* 36DD10 E006ACF0 00B52821 */ addu $a1, $a1, $s5 +/* 36DD14 E006ACF4 0C080118 */ jal func_E0200460 +/* 36DD18 E006ACF8 00452821 */ addu $a1, $v0, $a1 +/* 36DD1C E006ACFC 3C02DA38 */ lui $v0, 0xda38 +/* 36DD20 E006AD00 34420002 */ ori $v0, $v0, 2 +/* 36DD24 E006AD04 3C06D838 */ lui $a2, 0xd838 +/* 36DD28 E006AD08 34C60002 */ ori $a2, $a2, 2 +/* 36DD2C E006AD0C 8E640000 */ lw $a0, ($s3) +/* 36DD30 E006AD10 97C30000 */ lhu $v1, ($fp) +/* 36DD34 E006AD14 0080282D */ daddu $a1, $a0, $zero +/* 36DD38 E006AD18 24840008 */ addiu $a0, $a0, 8 +/* 36DD3C E006AD1C AE640000 */ sw $a0, ($s3) +/* 36DD40 E006AD20 ACA20000 */ sw $v0, ($a1) +/* 36DD44 E006AD24 24620001 */ addiu $v0, $v1, 1 +/* 36DD48 E006AD28 3063FFFF */ andi $v1, $v1, 0xffff +/* 36DD4C E006AD2C 00031980 */ sll $v1, $v1, 6 +/* 36DD50 E006AD30 A7C20000 */ sh $v0, ($fp) +/* 36DD54 E006AD34 3C02800A */ lui $v0, 0x800a +/* 36DD58 E006AD38 8C42A674 */ lw $v0, -0x598c($v0) +/* 36DD5C E006AD3C 00751821 */ addu $v1, $v1, $s5 +/* 36DD60 E006AD40 00431021 */ addu $v0, $v0, $v1 +/* 36DD64 E006AD44 ACA20004 */ sw $v0, 4($a1) +/* 36DD68 E006AD48 24820008 */ addiu $v0, $a0, 8 +/* 36DD6C E006AD4C AE620000 */ sw $v0, ($s3) +/* 36DD70 E006AD50 3C02DE00 */ lui $v0, 0xde00 +/* 36DD74 E006AD54 AC820000 */ sw $v0, ($a0) +/* 36DD78 E006AD58 8FA800D8 */ lw $t0, 0xd8($sp) +/* 36DD7C E006AD5C 24020040 */ addiu $v0, $zero, 0x40 +/* 36DD80 E006AD60 AC860008 */ sw $a2, 8($a0) +/* 36DD84 E006AD64 AC82000C */ sw $v0, 0xc($a0) +/* 36DD88 E006AD68 AC880004 */ sw $t0, 4($a0) +/* 36DD8C E006AD6C 8FA80120 */ lw $t0, 0x120($sp) +/* 36DD90 E006AD70 26520094 */ addiu $s2, $s2, 0x94 +/* 36DD94 E006AD74 8D020008 */ lw $v0, 8($t0) +/* 36DD98 E006AD78 24840010 */ addiu $a0, $a0, 0x10 +/* 36DD9C E006AD7C 0282102A */ slt $v0, $s4, $v0 +/* 36DDA0 E006AD80 1440FF3B */ bnez $v0, .LE006AA70 +/* 36DDA4 E006AD84 AE640000 */ sw $a0, ($s3) +.LE006AD88: +/* 36DDA8 E006AD88 3C03800A */ lui $v1, 0x800a +/* 36DDAC E006AD8C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 36DDB0 E006AD90 8C620000 */ lw $v0, ($v1) +/* 36DDB4 E006AD94 0040202D */ daddu $a0, $v0, $zero +/* 36DDB8 E006AD98 24420008 */ addiu $v0, $v0, 8 +/* 36DDBC E006AD9C AC620000 */ sw $v0, ($v1) +/* 36DDC0 E006ADA0 3C02E700 */ lui $v0, 0xe700 +/* 36DDC4 E006ADA4 AC820000 */ sw $v0, ($a0) +/* 36DDC8 E006ADA8 AC800004 */ sw $zero, 4($a0) +/* 36DDCC E006ADAC 8FBF0104 */ lw $ra, 0x104($sp) +/* 36DDD0 E006ADB0 8FBE0100 */ lw $fp, 0x100($sp) +/* 36DDD4 E006ADB4 8FB700FC */ lw $s7, 0xfc($sp) +/* 36DDD8 E006ADB8 8FB600F8 */ lw $s6, 0xf8($sp) +/* 36DDDC E006ADBC 8FB500F4 */ lw $s5, 0xf4($sp) +/* 36DDE0 E006ADC0 8FB400F0 */ lw $s4, 0xf0($sp) +/* 36DDE4 E006ADC4 8FB300EC */ lw $s3, 0xec($sp) +/* 36DDE8 E006ADC8 8FB200E8 */ lw $s2, 0xe8($sp) +/* 36DDEC E006ADCC 8FB100E4 */ lw $s1, 0xe4($sp) +/* 36DDF0 E006ADD0 8FB000E0 */ lw $s0, 0xe0($sp) +/* 36DDF4 E006ADD4 D7B80118 */ ldc1 $f24, 0x118($sp) +/* 36DDF8 E006ADD8 D7B60110 */ ldc1 $f22, 0x110($sp) +/* 36DDFC E006ADDC D7B40108 */ ldc1 $f20, 0x108($sp) +/* 36DE00 E006ADE0 03E00008 */ jr $ra +/* 36DE04 E006ADE4 27BD0120 */ addiu $sp, $sp, 0x120 +/* 36DE08 E006ADE8 00000000 */ nop +/* 36DE0C E006ADEC 00000000 */ nop diff --git a/asm/nonmatchings/code_36E1D0/func_E006C000.s b/asm/nonmatchings/code_36E1D0/func_E006C000.s new file mode 100644 index 0000000000..666aca725c --- /dev/null +++ b/asm/nonmatchings/code_36E1D0/func_E006C000.s @@ -0,0 +1,179 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006C000 +/* 36E1D0 E006C000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 36E1D4 E006C004 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 36E1D8 E006C008 4485B000 */ mtc1 $a1, $f22 +/* 36E1DC E006C00C AFB40040 */ sw $s4, 0x40($sp) +/* 36E1E0 E006C010 0080A02D */ daddu $s4, $a0, $zero +/* 36E1E4 E006C014 F7B80058 */ sdc1 $f24, 0x58($sp) +/* 36E1E8 E006C018 4486C000 */ mtc1 $a2, $f24 +/* 36E1EC E006C01C 27A40018 */ addiu $a0, $sp, 0x18 +/* 36E1F0 E006C020 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* 36E1F4 E006C024 4487D000 */ mtc1 $a3, $f26 +/* 36E1F8 E006C028 3C02E007 */ lui $v0, 0xe007 +/* 36E1FC E006C02C 2442C298 */ addiu $v0, $v0, -0x3d68 +/* 36E200 E006C030 AFA20020 */ sw $v0, 0x20($sp) +/* 36E204 E006C034 3C02E007 */ lui $v0, 0xe007 +/* 36E208 E006C038 2442C2A0 */ addiu $v0, $v0, -0x3d60 +/* 36E20C E006C03C AFA20024 */ sw $v0, 0x24($sp) +/* 36E210 E006C040 3C02E007 */ lui $v0, 0xe007 +/* 36E214 E006C044 2442C5A0 */ addiu $v0, $v0, -0x3a60 +/* 36E218 E006C048 AFA20028 */ sw $v0, 0x28($sp) +/* 36E21C E006C04C 24020036 */ addiu $v0, $zero, 0x36 +/* 36E220 E006C050 AFBF0044 */ sw $ra, 0x44($sp) +/* 36E224 E006C054 AFB3003C */ sw $s3, 0x3c($sp) +/* 36E228 E006C058 AFB20038 */ sw $s2, 0x38($sp) +/* 36E22C E006C05C AFB10034 */ sw $s1, 0x34($sp) +/* 36E230 E006C060 AFB00030 */ sw $s0, 0x30($sp) +/* 36E234 E006C064 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 36E238 E006C068 AFA00018 */ sw $zero, 0x18($sp) +/* 36E23C E006C06C AFA0002C */ sw $zero, 0x2c($sp) +/* 36E240 E006C070 0C080124 */ jal func_E0200490 +/* 36E244 E006C074 AFA2001C */ sw $v0, 0x1c($sp) +/* 36E248 E006C078 2404004C */ addiu $a0, $zero, 0x4c +/* 36E24C E006C07C 24030001 */ addiu $v1, $zero, 1 +/* 36E250 E006C080 0040982D */ daddu $s3, $v0, $zero +/* 36E254 E006C084 0C08012C */ jal func_E02004B0 +/* 36E258 E006C088 AE630008 */ sw $v1, 8($s3) +/* 36E25C E006C08C 0040802D */ daddu $s0, $v0, $zero +/* 36E260 E006C090 16000003 */ bnez $s0, .LE006C0A0 +/* 36E264 E006C094 AE62000C */ sw $v0, 0xc($s3) +.LE006C098: +/* 36E268 E006C098 0801B026 */ j .LE006C098 +/* 36E26C E006C09C 00000000 */ nop +.LE006C0A0: +/* 36E270 E006C0A0 2A820003 */ slti $v0, $s4, 3 +/* 36E274 E006C0A4 AE140000 */ sw $s4, ($s0) +/* 36E278 E006C0A8 14400003 */ bnez $v0, .LE006C0B8 +/* 36E27C E006C0AC AE000018 */ sw $zero, 0x18($s0) +/* 36E280 E006C0B0 0801B02F */ j .LE006C0BC +/* 36E284 E006C0B4 2402001E */ addiu $v0, $zero, 0x1e +.LE006C0B8: +/* 36E288 E006C0B8 24020064 */ addiu $v0, $zero, 0x64 +.LE006C0BC: +/* 36E28C E006C0BC AE020014 */ sw $v0, 0x14($s0) +/* 36E290 E006C0C0 241100FF */ addiu $s1, $zero, 0xff +/* 36E294 E006C0C4 24020004 */ addiu $v0, $zero, 4 +/* 36E298 E006C0C8 AE02003C */ sw $v0, 0x3c($s0) +/* 36E29C E006C0CC 24020002 */ addiu $v0, $zero, 2 +/* 36E2A0 E006C0D0 26120048 */ addiu $s2, $s0, 0x48 +/* 36E2A4 E006C0D4 AE020040 */ sw $v0, 0x40($s0) +/* 36E2A8 E006C0D8 2682FFFF */ addiu $v0, $s4, -1 +/* 36E2AC E006C0DC 44800000 */ mtc1 $zero, $f0 +/* 36E2B0 E006C0E0 3C014240 */ lui $at, 0x4240 +/* 36E2B4 E006C0E4 44812000 */ mtc1 $at, $f4 +/* 36E2B8 E006C0E8 3C014200 */ lui $at, 0x4200 +/* 36E2BC E006C0EC 44811000 */ mtc1 $at, $f2 +/* 36E2C0 E006C0F0 3C014100 */ lui $at, 0x4100 +/* 36E2C4 E006C0F4 44813000 */ mtc1 $at, $f6 +/* 36E2C8 E006C0F8 2C420002 */ sltiu $v0, $v0, 2 +/* 36E2CC E006C0FC AE110010 */ sw $s1, 0x10($s0) +/* 36E2D0 E006C100 E6160004 */ swc1 $f22, 4($s0) +/* 36E2D4 E006C104 E6180008 */ swc1 $f24, 8($s0) +/* 36E2D8 E006C108 E61A000C */ swc1 $f26, 0xc($s0) +/* 36E2DC E006C10C AE000048 */ sw $zero, 0x48($s0) +/* 36E2E0 E006C110 AE000044 */ sw $zero, 0x44($s0) +/* 36E2E4 E006C114 E6000020 */ swc1 $f0, 0x20($s0) +/* 36E2E8 E006C118 E600001C */ swc1 $f0, 0x1c($s0) +/* 36E2EC E006C11C E604002C */ swc1 $f4, 0x2c($s0) +/* 36E2F0 E006C120 E6020030 */ swc1 $f2, 0x30($s0) +/* 36E2F4 E006C124 E6000028 */ swc1 $f0, 0x28($s0) +/* 36E2F8 E006C128 E6000024 */ swc1 $f0, 0x24($s0) +/* 36E2FC E006C12C E6060034 */ swc1 $f6, 0x34($s0) +/* 36E300 E006C130 10400039 */ beqz $v0, .LE006C218 +/* 36E304 E006C134 E6020038 */ swc1 $f2, 0x38($s0) +/* 36E308 E006C138 24020001 */ addiu $v0, $zero, 1 +/* 36E30C E006C13C 16820019 */ bne $s4, $v0, .LE006C1A4 +/* 36E310 E006C140 00000000 */ nop +/* 36E314 E006C144 0C080150 */ jal func_E0200540 +/* 36E318 E006C148 24040047 */ addiu $a0, $zero, 0x47 +/* 36E31C E006C14C 0000202D */ daddu $a0, $zero, $zero +/* 36E320 E006C150 3C05C2EC */ lui $a1, 0xc2ec +/* 36E324 E006C154 3C064338 */ lui $a2, 0x4338 +/* 36E328 E006C158 3C07429E */ lui $a3, 0x429e +/* 36E32C E006C15C 3C013F80 */ lui $at, 0x3f80 +/* 36E330 E006C160 4481A000 */ mtc1 $at, $f20 +/* 36E334 E006C164 2402FFFF */ addiu $v0, $zero, -1 +/* 36E338 E006C168 AFA20014 */ sw $v0, 0x14($sp) +/* 36E33C E006C16C 0C023800 */ jal func_E008E000 +/* 36E340 E006C170 E7B40010 */ swc1 $f20, 0x10($sp) +/* 36E344 E006C174 2404003C */ addiu $a0, $zero, 0x3c +/* 36E348 E006C178 0C080150 */ jal func_E0200540 +/* 36E34C E006C17C AE020044 */ sw $v0, 0x44($s0) +/* 36E350 E006C180 3C05C2F0 */ lui $a1, 0xc2f0 +/* 36E354 E006C184 3C06433D */ lui $a2, 0x433d +/* 36E358 E006C188 3C07429A */ lui $a3, 0x429a +/* 36E35C E006C18C 0000202D */ daddu $a0, $zero, $zero +/* 36E360 E006C190 E7B40010 */ swc1 $f20, 0x10($sp) +/* 36E364 E006C194 0C01E000 */ jal func_E0078000 +/* 36E368 E006C198 AFB20014 */ sw $s2, 0x14($sp) +/* 36E36C E006C19C 0801B087 */ j .LE006C21C +/* 36E370 E006C1A0 2A820003 */ slti $v0, $s4, 3 +.LE006C1A4: +/* 36E374 E006C1A4 0C080150 */ jal func_E0200540 +/* 36E378 E006C1A8 24040057 */ addiu $a0, $zero, 0x57 +/* 36E37C E006C1AC 3C05C2F0 */ lui $a1, 0xc2f0 +/* 36E380 E006C1B0 3C06433D */ lui $a2, 0x433d +/* 36E384 E006C1B4 3C074290 */ lui $a3, 0x4290 +/* 36E388 E006C1B8 3C013F80 */ lui $at, 0x3f80 +/* 36E38C E006C1BC 44810000 */ mtc1 $at, $f0 +/* 36E390 E006C1C0 0000202D */ daddu $a0, $zero, $zero +/* 36E394 E006C1C4 AFA00014 */ sw $zero, 0x14($sp) +/* 36E398 E006C1C8 0C02B800 */ jal func_E00AE000 +/* 36E39C E006C1CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 36E3A0 E006C1D0 AE020048 */ sw $v0, 0x48($s0) +/* 36E3A4 E006C1D4 8C42000C */ lw $v0, 0xc($v0) +/* 36E3A8 E006C1D8 AC510028 */ sw $s1, 0x28($v0) +/* 36E3AC E006C1DC 8E020048 */ lw $v0, 0x48($s0) +/* 36E3B0 E006C1E0 8C42000C */ lw $v0, 0xc($v0) +/* 36E3B4 E006C1E4 AC51002C */ sw $s1, 0x2c($v0) +/* 36E3B8 E006C1E8 8E020048 */ lw $v0, 0x48($s0) +/* 36E3BC E006C1EC 8C42000C */ lw $v0, 0xc($v0) +/* 36E3C0 E006C1F0 AC510030 */ sw $s1, 0x30($v0) +/* 36E3C4 E006C1F4 8E020048 */ lw $v0, 0x48($s0) +/* 36E3C8 E006C1F8 8C42000C */ lw $v0, 0xc($v0) +/* 36E3CC E006C1FC AC510018 */ sw $s1, 0x18($v0) +/* 36E3D0 E006C200 8E020048 */ lw $v0, 0x48($s0) +/* 36E3D4 E006C204 8C42000C */ lw $v0, 0xc($v0) +/* 36E3D8 E006C208 AC40001C */ sw $zero, 0x1c($v0) +/* 36E3DC E006C20C 8E020048 */ lw $v0, 0x48($s0) +/* 36E3E0 E006C210 8C42000C */ lw $v0, 0xc($v0) +/* 36E3E4 E006C214 AC510020 */ sw $s1, 0x20($v0) +.LE006C218: +/* 36E3E8 E006C218 2A820003 */ slti $v0, $s4, 3 +.LE006C21C: +/* 36E3EC E006C21C 14400012 */ bnez $v0, .LE006C268 +/* 36E3F0 E006C220 0260102D */ daddu $v0, $s3, $zero +/* 36E3F4 E006C224 0C080150 */ jal func_E0200540 +/* 36E3F8 E006C228 2404004A */ addiu $a0, $zero, 0x4a +/* 36E3FC E006C22C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 36E400 E006C230 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 36E404 E006C234 80420070 */ lb $v0, 0x70($v0) +/* 36E408 E006C238 24040001 */ addiu $a0, $zero, 1 +/* 36E40C E006C23C 50440001 */ beql $v0, $a0, .LE006C244 +/* 36E410 E006C240 24040003 */ addiu $a0, $zero, 3 +.LE006C244: +/* 36E414 E006C244 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 36E418 E006C248 4405B000 */ mfc1 $a1, $f22 +/* 36E41C E006C24C 4406C000 */ mfc1 $a2, $f24 +/* 36E420 E006C250 4407D000 */ mfc1 $a3, $f26 +/* 36E424 E006C254 E7A00010 */ swc1 $f0, 0x10($sp) +/* 36E428 E006C258 C7A0007C */ lwc1 $f0, 0x7c($sp) +/* 36E42C E006C25C 0C025000 */ jal func_E0094000 +/* 36E430 E006C260 E7A00014 */ swc1 $f0, 0x14($sp) +/* 36E434 E006C264 0260102D */ daddu $v0, $s3, $zero +.LE006C268: +/* 36E438 E006C268 8FBF0044 */ lw $ra, 0x44($sp) +/* 36E43C E006C26C 8FB40040 */ lw $s4, 0x40($sp) +/* 36E440 E006C270 8FB3003C */ lw $s3, 0x3c($sp) +/* 36E444 E006C274 8FB20038 */ lw $s2, 0x38($sp) +/* 36E448 E006C278 8FB10034 */ lw $s1, 0x34($sp) +/* 36E44C E006C27C 8FB00030 */ lw $s0, 0x30($sp) +/* 36E450 E006C280 D7BA0060 */ ldc1 $f26, 0x60($sp) +/* 36E454 E006C284 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 36E458 E006C288 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 36E45C E006C28C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 36E460 E006C290 03E00008 */ jr $ra +/* 36E464 E006C294 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_36E1D0/func_E006C298.s b/asm/nonmatchings/code_36E1D0/func_E006C298.s new file mode 100644 index 0000000000..95aa20e3bd --- /dev/null +++ b/asm/nonmatchings/code_36E1D0/func_E006C298.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006C298 +/* 36E468 E006C298 03E00008 */ jr $ra +/* 36E46C E006C29C 00000000 */ nop diff --git a/asm/nonmatchings/code_36E1D0/func_E006C2A0.s b/asm/nonmatchings/code_36E1D0/func_E006C2A0.s new file mode 100644 index 0000000000..a42b791ac6 --- /dev/null +++ b/asm/nonmatchings/code_36E1D0/func_E006C2A0.s @@ -0,0 +1,222 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006C2A0 +/* 36E470 E006C2A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 36E474 E006C2A4 AFBF0020 */ sw $ra, 0x20($sp) +/* 36E478 E006C2A8 AFB3001C */ sw $s3, 0x1c($sp) +/* 36E47C E006C2AC AFB20018 */ sw $s2, 0x18($sp) +/* 36E480 E006C2B0 AFB10014 */ sw $s1, 0x14($sp) +/* 36E484 E006C2B4 AFB00010 */ sw $s0, 0x10($sp) +/* 36E488 E006C2B8 8C830000 */ lw $v1, ($a0) +/* 36E48C E006C2BC 8C90000C */ lw $s0, 0xc($a0) +/* 36E490 E006C2C0 30620010 */ andi $v0, $v1, 0x10 +/* 36E494 E006C2C4 10400004 */ beqz $v0, .LE006C2D8 +/* 36E498 E006C2C8 2402FFEF */ addiu $v0, $zero, -0x11 +/* 36E49C E006C2CC 00621024 */ and $v0, $v1, $v0 +/* 36E4A0 E006C2D0 AC820000 */ sw $v0, ($a0) +/* 36E4A4 E006C2D4 AE000014 */ sw $zero, 0x14($s0) +.LE006C2D8: +/* 36E4A8 E006C2D8 8E030014 */ lw $v1, 0x14($s0) +/* 36E4AC E006C2DC 8E120000 */ lw $s2, ($s0) +/* 36E4B0 E006C2E0 28620064 */ slti $v0, $v1, 0x64 +/* 36E4B4 E006C2E4 10400002 */ beqz $v0, .LE006C2F0 +/* 36E4B8 E006C2E8 2462FFFF */ addiu $v0, $v1, -1 +/* 36E4BC E006C2EC AE020014 */ sw $v0, 0x14($s0) +.LE006C2F0: +/* 36E4C0 E006C2F0 8E020018 */ lw $v0, 0x18($s0) +/* 36E4C4 E006C2F4 8E050014 */ lw $a1, 0x14($s0) +/* 36E4C8 E006C2F8 24420001 */ addiu $v0, $v0, 1 +/* 36E4CC E006C2FC 04A10010 */ bgez $a1, .LE006C340 +/* 36E4D0 E006C300 AE020018 */ sw $v0, 0x18($s0) +/* 36E4D4 E006C304 0C080128 */ jal func_E02004A0 +/* 36E4D8 E006C308 00000000 */ nop +/* 36E4DC E006C30C 8E040048 */ lw $a0, 0x48($s0) +/* 36E4E0 E006C310 10800004 */ beqz $a0, .LE006C324 +/* 36E4E4 E006C314 00000000 */ nop +/* 36E4E8 E006C318 0C080128 */ jal func_E02004A0 +/* 36E4EC E006C31C 00000000 */ nop +/* 36E4F0 E006C320 AE000048 */ sw $zero, 0x48($s0) +.LE006C324: +/* 36E4F4 E006C324 8E040044 */ lw $a0, 0x44($s0) +/* 36E4F8 E006C328 10800096 */ beqz $a0, .LE006C584 +/* 36E4FC E006C32C 00000000 */ nop +/* 36E500 E006C330 0C080128 */ jal func_E02004A0 +/* 36E504 E006C334 00000000 */ nop +/* 36E508 E006C338 0801B161 */ j .LE006C584 +/* 36E50C E006C33C AE000044 */ sw $zero, 0x44($s0) +.LE006C340: +/* 36E510 E006C340 00A0982D */ daddu $s3, $a1, $zero +/* 36E514 E006C344 8E040044 */ lw $a0, 0x44($s0) +/* 36E518 E006C348 10800007 */ beqz $a0, .LE006C368 +/* 36E51C E006C34C 0040882D */ daddu $s1, $v0, $zero +/* 36E520 E006C350 2A220012 */ slti $v0, $s1, 0x12 +/* 36E524 E006C354 14400005 */ bnez $v0, .LE006C36C +/* 36E528 E006C358 2A420003 */ slti $v0, $s2, 3 +/* 36E52C E006C35C 0C080128 */ jal func_E02004A0 +/* 36E530 E006C360 00000000 */ nop +/* 36E534 E006C364 AE000044 */ sw $zero, 0x44($s0) +.LE006C368: +/* 36E538 E006C368 2A420003 */ slti $v0, $s2, 3 +.LE006C36C: +/* 36E53C E006C36C 14400003 */ bnez $v0, .LE006C37C +/* 36E540 E006C370 2A220007 */ slti $v0, $s1, 7 +/* 36E544 E006C374 10400074 */ beqz $v0, .LE006C548 +/* 36E548 E006C378 2A420003 */ slti $v0, $s2, 3 +.LE006C37C: +/* 36E54C E006C37C C600001C */ lwc1 $f0, 0x1c($s0) +/* 36E550 E006C380 C602002C */ lwc1 $f2, 0x2c($s0) +/* 36E554 E006C384 46020080 */ add.s $f2, $f0, $f2 +/* 36E558 E006C388 44800000 */ mtc1 $zero, $f0 +/* 36E55C E006C38C 00000000 */ nop +/* 36E560 E006C390 4600103C */ c.lt.s $f2, $f0 +/* 36E564 E006C394 00000000 */ nop +/* 36E568 E006C398 45000005 */ bc1f .LE006C3B0 +/* 36E56C E006C39C E602001C */ swc1 $f2, 0x1c($s0) +/* 36E570 E006C3A0 3C014380 */ lui $at, 0x4380 +/* 36E574 E006C3A4 44810000 */ mtc1 $at, $f0 +/* 36E578 E006C3A8 0801B0F4 */ j .LE006C3D0 +/* 36E57C E006C3AC 46001000 */ add.s $f0, $f2, $f0 +.LE006C3B0: +/* 36E580 E006C3B0 3C014380 */ lui $at, 0x4380 +/* 36E584 E006C3B4 44810000 */ mtc1 $at, $f0 +/* 36E588 E006C3B8 00000000 */ nop +/* 36E58C E006C3BC 4602003C */ c.lt.s $f0, $f2 +/* 36E590 E006C3C0 00000000 */ nop +/* 36E594 E006C3C4 45000003 */ bc1f .LE006C3D4 +/* 36E598 E006C3C8 00000000 */ nop +/* 36E59C E006C3CC 46001001 */ sub.s $f0, $f2, $f0 +.LE006C3D0: +/* 36E5A0 E006C3D0 E600001C */ swc1 $f0, 0x1c($s0) +.LE006C3D4: +/* 36E5A4 E006C3D4 8E02003C */ lw $v0, 0x3c($s0) +/* 36E5A8 E006C3D8 14400002 */ bnez $v0, .LE006C3E4 +/* 36E5AC E006C3DC 0222001A */ div $zero, $s1, $v0 +/* 36E5B0 E006C3E0 0007000D */ break 7 +.LE006C3E4: +/* 36E5B4 E006C3E4 2401FFFF */ addiu $at, $zero, -1 +/* 36E5B8 E006C3E8 14410004 */ bne $v0, $at, .LE006C3FC +/* 36E5BC E006C3EC 3C018000 */ lui $at, 0x8000 +/* 36E5C0 E006C3F0 16210002 */ bne $s1, $at, .LE006C3FC +/* 36E5C4 E006C3F4 00000000 */ nop +/* 36E5C8 E006C3F8 0006000D */ break 6 +.LE006C3FC: +/* 36E5CC E006C3FC 00001810 */ mfhi $v1 +/* 36E5D0 E006C400 14600017 */ bnez $v1, .LE006C460 +/* 36E5D4 E006C404 00000000 */ nop +/* 36E5D8 E006C408 C6000020 */ lwc1 $f0, 0x20($s0) +/* 36E5DC E006C40C C6020030 */ lwc1 $f2, 0x30($s0) +/* 36E5E0 E006C410 46020080 */ add.s $f2, $f0, $f2 +/* 36E5E4 E006C414 44800000 */ mtc1 $zero, $f0 +/* 36E5E8 E006C418 00000000 */ nop +/* 36E5EC E006C41C 4600103C */ c.lt.s $f2, $f0 +/* 36E5F0 E006C420 00000000 */ nop +/* 36E5F4 E006C424 45000005 */ bc1f .LE006C43C +/* 36E5F8 E006C428 E6020020 */ swc1 $f2, 0x20($s0) +/* 36E5FC E006C42C 3C014280 */ lui $at, 0x4280 +/* 36E600 E006C430 44810000 */ mtc1 $at, $f0 +/* 36E604 E006C434 0801B117 */ j .LE006C45C +/* 36E608 E006C438 46001000 */ add.s $f0, $f2, $f0 +.LE006C43C: +/* 36E60C E006C43C 3C014280 */ lui $at, 0x4280 +/* 36E610 E006C440 44810000 */ mtc1 $at, $f0 +/* 36E614 E006C444 00000000 */ nop +/* 36E618 E006C448 4602003C */ c.lt.s $f0, $f2 +/* 36E61C E006C44C 00000000 */ nop +/* 36E620 E006C450 45000003 */ bc1f .LE006C460 +/* 36E624 E006C454 00000000 */ nop +/* 36E628 E006C458 46001001 */ sub.s $f0, $f2, $f0 +.LE006C45C: +/* 36E62C E006C45C E6000020 */ swc1 $f0, 0x20($s0) +.LE006C460: +/* 36E630 E006C460 8E020040 */ lw $v0, 0x40($s0) +/* 36E634 E006C464 14400002 */ bnez $v0, .LE006C470 +/* 36E638 E006C468 0222001A */ div $zero, $s1, $v0 +/* 36E63C E006C46C 0007000D */ break 7 +.LE006C470: +/* 36E640 E006C470 2401FFFF */ addiu $at, $zero, -1 +/* 36E644 E006C474 14410004 */ bne $v0, $at, .LE006C488 +/* 36E648 E006C478 3C018000 */ lui $at, 0x8000 +/* 36E64C E006C47C 16210002 */ bne $s1, $at, .LE006C488 +/* 36E650 E006C480 00000000 */ nop +/* 36E654 E006C484 0006000D */ break 6 +.LE006C488: +/* 36E658 E006C488 00001810 */ mfhi $v1 +/* 36E65C E006C48C 14600017 */ bnez $v1, .LE006C4EC +/* 36E660 E006C490 00000000 */ nop +/* 36E664 E006C494 C6000024 */ lwc1 $f0, 0x24($s0) +/* 36E668 E006C498 C6020034 */ lwc1 $f2, 0x34($s0) +/* 36E66C E006C49C 46020080 */ add.s $f2, $f0, $f2 +/* 36E670 E006C4A0 44800000 */ mtc1 $zero, $f0 +/* 36E674 E006C4A4 00000000 */ nop +/* 36E678 E006C4A8 4600103C */ c.lt.s $f2, $f0 +/* 36E67C E006C4AC 00000000 */ nop +/* 36E680 E006C4B0 45000005 */ bc1f .LE006C4C8 +/* 36E684 E006C4B4 E6020024 */ swc1 $f2, 0x24($s0) +/* 36E688 E006C4B8 3C014380 */ lui $at, 0x4380 +/* 36E68C E006C4BC 44810000 */ mtc1 $at, $f0 +/* 36E690 E006C4C0 0801B13A */ j .LE006C4E8 +/* 36E694 E006C4C4 46001000 */ add.s $f0, $f2, $f0 +.LE006C4C8: +/* 36E698 E006C4C8 3C014380 */ lui $at, 0x4380 +/* 36E69C E006C4CC 44810000 */ mtc1 $at, $f0 +/* 36E6A0 E006C4D0 00000000 */ nop +/* 36E6A4 E006C4D4 4602003C */ c.lt.s $f0, $f2 +/* 36E6A8 E006C4D8 00000000 */ nop +/* 36E6AC E006C4DC 45000003 */ bc1f .LE006C4EC +/* 36E6B0 E006C4E0 00000000 */ nop +/* 36E6B4 E006C4E4 46001001 */ sub.s $f0, $f2, $f0 +.LE006C4E8: +/* 36E6B8 E006C4E8 E6000024 */ swc1 $f0, 0x24($s0) +.LE006C4EC: +/* 36E6BC E006C4EC C6000028 */ lwc1 $f0, 0x28($s0) +/* 36E6C0 E006C4F0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 36E6C4 E006C4F4 46020080 */ add.s $f2, $f0, $f2 +/* 36E6C8 E006C4F8 44800000 */ mtc1 $zero, $f0 +/* 36E6CC E006C4FC 00000000 */ nop +/* 36E6D0 E006C500 4600103C */ c.lt.s $f2, $f0 +/* 36E6D4 E006C504 00000000 */ nop +/* 36E6D8 E006C508 45000005 */ bc1f .LE006C520 +/* 36E6DC E006C50C E6020028 */ swc1 $f2, 0x28($s0) +/* 36E6E0 E006C510 3C014280 */ lui $at, 0x4280 +/* 36E6E4 E006C514 44810000 */ mtc1 $at, $f0 +/* 36E6E8 E006C518 0801B150 */ j .LE006C540 +/* 36E6EC E006C51C 46001000 */ add.s $f0, $f2, $f0 +.LE006C520: +/* 36E6F0 E006C520 3C014280 */ lui $at, 0x4280 +/* 36E6F4 E006C524 44810000 */ mtc1 $at, $f0 +/* 36E6F8 E006C528 00000000 */ nop +/* 36E6FC E006C52C 4602003C */ c.lt.s $f0, $f2 +/* 36E700 E006C530 00000000 */ nop +/* 36E704 E006C534 45000004 */ bc1f .LE006C548 +/* 36E708 E006C538 2A420003 */ slti $v0, $s2, 3 +/* 36E70C E006C53C 46001001 */ sub.s $f0, $f2, $f0 +.LE006C540: +/* 36E710 E006C540 E6000028 */ swc1 $f0, 0x28($s0) +/* 36E714 E006C544 2A420003 */ slti $v0, $s2, 3 +.LE006C548: +/* 36E718 E006C548 14400007 */ bnez $v0, .LE006C568 +/* 36E71C E006C54C 2A62000A */ slti $v0, $s3, 0xa +/* 36E720 E006C550 2A220007 */ slti $v0, $s1, 7 +/* 36E724 E006C554 1440000B */ bnez $v0, .LE006C584 +/* 36E728 E006C558 00000000 */ nop +/* 36E72C E006C55C 8E020010 */ lw $v0, 0x10($s0) +/* 36E730 E006C560 0801B15E */ j .LE006C578 +/* 36E734 E006C564 2442FFF3 */ addiu $v0, $v0, -0xd +.LE006C568: +/* 36E738 E006C568 10400006 */ beqz $v0, .LE006C584 +/* 36E73C E006C56C 00000000 */ nop +/* 36E740 E006C570 8E020010 */ lw $v0, 0x10($s0) +/* 36E744 E006C574 2442FFE7 */ addiu $v0, $v0, -0x19 +.LE006C578: +/* 36E748 E006C578 04410002 */ bgez $v0, .LE006C584 +/* 36E74C E006C57C AE020010 */ sw $v0, 0x10($s0) +/* 36E750 E006C580 AE000010 */ sw $zero, 0x10($s0) +.LE006C584: +/* 36E754 E006C584 8FBF0020 */ lw $ra, 0x20($sp) +/* 36E758 E006C588 8FB3001C */ lw $s3, 0x1c($sp) +/* 36E75C E006C58C 8FB20018 */ lw $s2, 0x18($sp) +/* 36E760 E006C590 8FB10014 */ lw $s1, 0x14($sp) +/* 36E764 E006C594 8FB00010 */ lw $s0, 0x10($sp) +/* 36E768 E006C598 03E00008 */ jr $ra +/* 36E76C E006C59C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_36E1D0/func_E006C5A0.s b/asm/nonmatchings/code_36E1D0/func_E006C5A0.s new file mode 100644 index 0000000000..f3f376564f --- /dev/null +++ b/asm/nonmatchings/code_36E1D0/func_E006C5A0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006C5A0 +/* 36E770 E006C5A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 36E774 E006C5A4 3C02E007 */ lui $v0, 0xe007 +/* 36E778 E006C5A8 2442C5E8 */ addiu $v0, $v0, -0x3a18 +/* 36E77C E006C5AC AFA2001C */ sw $v0, 0x1c($sp) +/* 36E780 E006C5B0 2402000A */ addiu $v0, $zero, 0xa +/* 36E784 E006C5B4 AFA20014 */ sw $v0, 0x14($sp) +/* 36E788 E006C5B8 24020022 */ addiu $v0, $zero, 0x22 +/* 36E78C E006C5BC AFA40018 */ sw $a0, 0x18($sp) +/* 36E790 E006C5C0 27A40010 */ addiu $a0, $sp, 0x10 +/* 36E794 E006C5C4 AFBF0020 */ sw $ra, 0x20($sp) +/* 36E798 E006C5C8 0C080120 */ jal func_E0200480 +/* 36E79C E006C5CC AFA20010 */ sw $v0, 0x10($sp) +/* 36E7A0 E006C5D0 8C430000 */ lw $v1, ($v0) +/* 36E7A4 E006C5D4 34630002 */ ori $v1, $v1, 2 +/* 36E7A8 E006C5D8 AC430000 */ sw $v1, ($v0) +/* 36E7AC E006C5DC 8FBF0020 */ lw $ra, 0x20($sp) +/* 36E7B0 E006C5E0 03E00008 */ jr $ra +/* 36E7B4 E006C5E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_36E1D0/func_E006C5E8.s b/asm/nonmatchings/code_36E1D0/func_E006C5E8.s new file mode 100644 index 0000000000..bf43074acf --- /dev/null +++ b/asm/nonmatchings/code_36E1D0/func_E006C5E8.s @@ -0,0 +1,360 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006C5E8 +/* 36E7B8 E006C5E8 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 36E7BC E006C5EC 3C05DB06 */ lui $a1, 0xdb06 +/* 36E7C0 E006C5F0 AFB400C0 */ sw $s4, 0xc0($sp) +/* 36E7C4 E006C5F4 3C14800A */ lui $s4, 0x800a +/* 36E7C8 E006C5F8 2694A66C */ addiu $s4, $s4, -0x5994 +/* 36E7CC E006C5FC AFBF00D4 */ sw $ra, 0xd4($sp) +/* 36E7D0 E006C600 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 36E7D4 E006C604 AFB700CC */ sw $s7, 0xcc($sp) +/* 36E7D8 E006C608 AFB600C8 */ sw $s6, 0xc8($sp) +/* 36E7DC E006C60C AFB500C4 */ sw $s5, 0xc4($sp) +/* 36E7E0 E006C610 AFB300BC */ sw $s3, 0xbc($sp) +/* 36E7E4 E006C614 AFB200B8 */ sw $s2, 0xb8($sp) +/* 36E7E8 E006C618 AFB100B4 */ sw $s1, 0xb4($sp) +/* 36E7EC E006C61C AFB000B0 */ sw $s0, 0xb0($sp) +/* 36E7F0 E006C620 F7B600E0 */ sdc1 $f22, 0xe0($sp) +/* 36E7F4 E006C624 F7B400D8 */ sdc1 $f20, 0xd8($sp) +/* 36E7F8 E006C628 8E860000 */ lw $a2, ($s4) +/* 36E7FC E006C62C 8C93000C */ lw $s3, 0xc($a0) +/* 36E800 E006C630 00C0182D */ daddu $v1, $a2, $zero +/* 36E804 E006C634 8E750000 */ lw $s5, ($s3) +/* 36E808 E006C638 24C60008 */ addiu $a2, $a2, 8 +/* 36E80C E006C63C AE860000 */ sw $a2, ($s4) +/* 36E810 E006C640 8E670018 */ lw $a3, 0x18($s3) +/* 36E814 E006C644 00151080 */ sll $v0, $s5, 2 +/* 36E818 E006C648 3C0AE007 */ lui $t2, 0xe007 +/* 36E81C E006C64C 01425021 */ addu $t2, $t2, $v0 +/* 36E820 E006C650 8D4ACB60 */ lw $t2, -0x34a0($t2) +/* 36E824 E006C654 34A50024 */ ori $a1, $a1, 0x24 +/* 36E828 E006C658 AFAA00A4 */ sw $t2, 0xa4($sp) +/* 36E82C E006C65C 3C08E007 */ lui $t0, 0xe007 +/* 36E830 E006C660 01024021 */ addu $t0, $t0, $v0 +/* 36E834 E006C664 8D08CB78 */ lw $t0, -0x3488($t0) +/* 36E838 E006C668 3C02E700 */ lui $v0, 0xe700 +/* 36E83C E006C66C AC620000 */ sw $v0, ($v1) +/* 36E840 E006C670 AC600004 */ sw $zero, 4($v1) +/* 36E844 E006C674 ACC50000 */ sw $a1, ($a2) +/* 36E848 E006C678 8C830010 */ lw $v1, 0x10($a0) +/* 36E84C E006C67C 24C20008 */ addiu $v0, $a2, 8 +/* 36E850 E006C680 AE820000 */ sw $v0, ($s4) +/* 36E854 E006C684 8C62001C */ lw $v0, 0x1c($v1) +/* 36E858 E006C688 3C038000 */ lui $v1, 0x8000 +/* 36E85C E006C68C 00431021 */ addu $v0, $v0, $v1 +/* 36E860 E006C690 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 36E864 E006C694 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 36E868 E006C698 3C04800B */ lui $a0, %hi(gCameras) +/* 36E86C E006C69C 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* 36E870 E006C6A0 ACC20004 */ sw $v0, 4($a2) +/* 36E874 E006C6A4 00031080 */ sll $v0, $v1, 2 +/* 36E878 E006C6A8 00431021 */ addu $v0, $v0, $v1 +/* 36E87C E006C6AC 00021080 */ sll $v0, $v0, 2 +/* 36E880 E006C6B0 00431023 */ subu $v0, $v0, $v1 +/* 36E884 E006C6B4 000218C0 */ sll $v1, $v0, 3 +/* 36E888 E006C6B8 00431021 */ addu $v0, $v0, $v1 +/* 36E88C E006C6BC 000210C0 */ sll $v0, $v0, 3 +/* 36E890 E006C6C0 00441821 */ addu $v1, $v0, $a0 +/* 36E894 E006C6C4 24020001 */ addiu $v0, $zero, 1 +/* 36E898 E006C6C8 16A20004 */ bne $s5, $v0, .LE006C6DC +/* 36E89C E006C6CC 3C02DE00 */ lui $v0, 0xde00 +/* 36E8A0 E006C6D0 28E20012 */ slti $v0, $a3, 0x12 +/* 36E8A4 E006C6D4 14400111 */ bnez $v0, .LE006CB1C +/* 36E8A8 E006C6D8 3C02DE00 */ lui $v0, 0xde00 +.LE006C6DC: +/* 36E8AC E006C6DC ACC20008 */ sw $v0, 8($a2) +/* 36E8B0 E006C6E0 ACC8000C */ sw $t0, 0xc($a2) +/* 36E8B4 E006C6E4 C666001C */ lwc1 $f6, 0x1c($s3) +/* 36E8B8 E006C6E8 3C014080 */ lui $at, 0x4080 +/* 36E8BC E006C6EC 44814000 */ mtc1 $at, $f8 +/* 36E8C0 E006C6F0 00000000 */ nop +/* 36E8C4 E006C6F4 46083182 */ mul.s $f6, $f6, $f8 +/* 36E8C8 E006C6F8 00000000 */ nop +/* 36E8CC E006C6FC C6640020 */ lwc1 $f4, 0x20($s3) +/* 36E8D0 E006C700 46082102 */ mul.s $f4, $f4, $f8 +/* 36E8D4 E006C704 00000000 */ nop +/* 36E8D8 E006C708 C6620024 */ lwc1 $f2, 0x24($s3) +/* 36E8DC E006C70C 46081082 */ mul.s $f2, $f2, $f8 +/* 36E8E0 E006C710 00000000 */ nop +/* 36E8E4 E006C714 24C20010 */ addiu $v0, $a2, 0x10 +/* 36E8E8 E006C718 AE820000 */ sw $v0, ($s4) +/* 36E8EC E006C71C C6600028 */ lwc1 $f0, 0x28($s3) +/* 36E8F0 E006C720 46080002 */ mul.s $f0, $f0, $f8 +/* 36E8F4 E006C724 00000000 */ nop +/* 36E8F8 E006C728 2AA20003 */ slti $v0, $s5, 3 +/* 36E8FC E006C72C 4600328D */ trunc.w.s $f10, $f6 +/* 36E900 E006C730 44165000 */ mfc1 $s6, $f10 +/* 36E904 E006C734 4600228D */ trunc.w.s $f10, $f4 +/* 36E908 E006C738 44175000 */ mfc1 $s7, $f10 +/* 36E90C E006C73C 4600128D */ trunc.w.s $f10, $f2 +/* 36E910 E006C740 441E5000 */ mfc1 $fp, $f10 +/* 36E914 E006C744 4600028D */ trunc.w.s $f10, $f0 +/* 36E918 E006C748 E7AA00A8 */ swc1 $f10, 0xa8($sp) +/* 36E91C E006C74C 10400057 */ beqz $v0, .LE006C8AC +/* 36E920 E006C750 27A40020 */ addiu $a0, $sp, 0x20 +/* 36E924 E006C754 06A00056 */ bltz $s5, .LE006C8B0 +/* 36E928 E006C758 3C120001 */ lui $s2, 1 +/* 36E92C E006C75C 27A500A0 */ addiu $a1, $sp, 0xa0 +/* 36E930 E006C760 3C0641F0 */ lui $a2, 0x41f0 +/* 36E934 E006C764 8462000A */ lh $v0, 0xa($v1) +/* 36E938 E006C768 8463000C */ lh $v1, 0xc($v1) +/* 36E93C E006C76C 3C014680 */ lui $at, 0x4680 +/* 36E940 E006C770 44811000 */ mtc1 $at, $f2 +/* 36E944 E006C774 3C013F80 */ lui $at, 0x3f80 +/* 36E948 E006C778 44812000 */ mtc1 $at, $f4 +/* 36E94C E006C77C 44823000 */ mtc1 $v0, $f6 +/* 36E950 E006C780 00000000 */ nop +/* 36E954 E006C784 468031A0 */ cvt.s.w $f6, $f6 +/* 36E958 E006C788 44830000 */ mtc1 $v1, $f0 +/* 36E95C E006C78C 00000000 */ nop +/* 36E960 E006C790 46800020 */ cvt.s.w $f0, $f0 +/* 36E964 E006C794 46003183 */ div.s $f6, $f6, $f0 +/* 36E968 E006C798 44073000 */ mfc1 $a3, $f6 +/* 36E96C E006C79C 36521630 */ ori $s2, $s2, 0x1630 +/* 36E970 E006C7A0 E7A80010 */ swc1 $f8, 0x10($sp) +/* 36E974 E006C7A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 36E978 E006C7A8 0C080160 */ jal func_E0200580 +/* 36E97C E006C7AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 36E980 E006C7B0 27A40020 */ addiu $a0, $sp, 0x20 +/* 36E984 E006C7B4 3C108007 */ lui $s0, 0x8007 +/* 36E988 E006C7B8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 36E98C E006C7BC 3C11800A */ lui $s1, 0x800a +/* 36E990 E006C7C0 2631A674 */ addiu $s1, $s1, -0x598c +/* 36E994 E006C7C4 96050000 */ lhu $a1, ($s0) +/* 36E998 E006C7C8 8E220000 */ lw $v0, ($s1) +/* 36E99C E006C7CC 00052980 */ sll $a1, $a1, 6 +/* 36E9A0 E006C7D0 00B22821 */ addu $a1, $a1, $s2 +/* 36E9A4 E006C7D4 0C080118 */ jal func_E0200460 +/* 36E9A8 E006C7D8 00452821 */ addu $a1, $v0, $a1 +/* 36E9AC E006C7DC 3C02DA38 */ lui $v0, 0xda38 +/* 36E9B0 E006C7E0 34420007 */ ori $v0, $v0, 7 +/* 36E9B4 E006C7E4 27A40020 */ addiu $a0, $sp, 0x20 +/* 36E9B8 E006C7E8 8E880000 */ lw $t0, ($s4) +/* 36E9BC E006C7EC 3C07C3FA */ lui $a3, 0xc3fa +/* 36E9C0 E006C7F0 96090000 */ lhu $t1, ($s0) +/* 36E9C4 E006C7F4 0100282D */ daddu $a1, $t0, $zero +/* 36E9C8 E006C7F8 ACA20000 */ sw $v0, ($a1) +/* 36E9CC E006C7FC 3122FFFF */ andi $v0, $t1, 0xffff +/* 36E9D0 E006C800 00021180 */ sll $v0, $v0, 6 +/* 36E9D4 E006C804 00521021 */ addu $v0, $v0, $s2 +/* 36E9D8 E006C808 8E230000 */ lw $v1, ($s1) +/* 36E9DC E006C80C 25080008 */ addiu $t0, $t0, 8 +/* 36E9E0 E006C810 00621821 */ addu $v1, $v1, $v0 +/* 36E9E4 E006C814 ACA30004 */ sw $v1, 4($a1) +/* 36E9E8 E006C818 8E650004 */ lw $a1, 4($s3) +/* 36E9EC E006C81C 8E660008 */ lw $a2, 8($s3) +/* 36E9F0 E006C820 25290001 */ addiu $t1, $t1, 1 +/* 36E9F4 E006C824 AE880000 */ sw $t0, ($s4) +/* 36E9F8 E006C828 0C080108 */ jal func_E0200420 +/* 36E9FC E006C82C A6090000 */ sh $t1, ($s0) +/* 36EA00 E006C830 27A40020 */ addiu $a0, $sp, 0x20 +/* 36EA04 E006C834 96050000 */ lhu $a1, ($s0) +/* 36EA08 E006C838 8E220000 */ lw $v0, ($s1) +/* 36EA0C E006C83C 00052980 */ sll $a1, $a1, 6 +/* 36EA10 E006C840 00B22821 */ addu $a1, $a1, $s2 +/* 36EA14 E006C844 0C080118 */ jal func_E0200460 +/* 36EA18 E006C848 00452821 */ addu $a1, $v0, $a1 +/* 36EA1C E006C84C 3C03DA38 */ lui $v1, 0xda38 +/* 36EA20 E006C850 34630002 */ ori $v1, $v1, 2 +/* 36EA24 E006C854 3C06FF2F */ lui $a2, 0xff2f +/* 36EA28 E006C858 34C6C6FF */ ori $a2, $a2, 0xc6ff +/* 36EA2C E006C85C 8E840000 */ lw $a0, ($s4) +/* 36EA30 E006C860 96020000 */ lhu $v0, ($s0) +/* 36EA34 E006C864 0080282D */ daddu $a1, $a0, $zero +/* 36EA38 E006C868 24840008 */ addiu $a0, $a0, 8 +/* 36EA3C E006C86C AE840000 */ sw $a0, ($s4) +/* 36EA40 E006C870 ACA30000 */ sw $v1, ($a1) +/* 36EA44 E006C874 24430001 */ addiu $v1, $v0, 1 +/* 36EA48 E006C878 3042FFFF */ andi $v0, $v0, 0xffff +/* 36EA4C E006C87C 00021180 */ sll $v0, $v0, 6 +/* 36EA50 E006C880 A6030000 */ sh $v1, ($s0) +/* 36EA54 E006C884 8E230000 */ lw $v1, ($s1) +/* 36EA58 E006C888 00521021 */ addu $v0, $v0, $s2 +/* 36EA5C E006C88C 00621821 */ addu $v1, $v1, $v0 +/* 36EA60 E006C890 24820008 */ addiu $v0, $a0, 8 +/* 36EA64 E006C894 ACA30004 */ sw $v1, 4($a1) +/* 36EA68 E006C898 AE820000 */ sw $v0, ($s4) +/* 36EA6C E006C89C 3C02FA00 */ lui $v0, 0xfa00 +/* 36EA70 E006C8A0 AC820000 */ sw $v0, ($a0) +/* 36EA74 E006C8A4 0801B27A */ j .LE006C9E8 +/* 36EA78 E006C8A8 AC860004 */ sw $a2, 4($a0) +.LE006C8AC: +/* 36EA7C E006C8AC 3C120001 */ lui $s2, 1 +.LE006C8B0: +/* 36EA80 E006C8B0 8E650004 */ lw $a1, 4($s3) +/* 36EA84 E006C8B4 8E660008 */ lw $a2, 8($s3) +/* 36EA88 E006C8B8 8E67000C */ lw $a3, 0xc($s3) +/* 36EA8C E006C8BC 0C080108 */ jal func_E0200420 +/* 36EA90 E006C8C0 36521630 */ ori $s2, $s2, 0x1630 +/* 36EA94 E006C8C4 27B00060 */ addiu $s0, $sp, 0x60 +/* 36EA98 E006C8C8 4480A000 */ mtc1 $zero, $f20 +/* 36EA9C E006C8CC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 36EAA0 E006C8D0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 36EAA4 E006C8D4 3C013F80 */ lui $at, 0x3f80 +/* 36EAA8 E006C8D8 4481B000 */ mtc1 $at, $f22 +/* 36EAAC E006C8DC 00031080 */ sll $v0, $v1, 2 +/* 36EAB0 E006C8E0 00431021 */ addu $v0, $v0, $v1 +/* 36EAB4 E006C8E4 00021080 */ sll $v0, $v0, 2 +/* 36EAB8 E006C8E8 00431023 */ subu $v0, $v0, $v1 +/* 36EABC E006C8EC 000218C0 */ sll $v1, $v0, 3 +/* 36EAC0 E006C8F0 00431021 */ addu $v0, $v0, $v1 +/* 36EAC4 E006C8F4 000210C0 */ sll $v0, $v0, 3 +/* 36EAC8 E006C8F8 4406A000 */ mfc1 $a2, $f20 +/* 36EACC E006C8FC 3C01800B */ lui $at, 0x800b +/* 36EAD0 E006C900 00220821 */ addu $at, $at, $v0 +/* 36EAD4 E006C904 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 36EAD8 E006C908 4407B000 */ mfc1 $a3, $f22 +/* 36EADC E006C90C 46000007 */ neg.s $f0, $f0 +/* 36EAE0 E006C910 44050000 */ mfc1 $a1, $f0 +/* 36EAE4 E006C914 0200202D */ daddu $a0, $s0, $zero +/* 36EAE8 E006C918 0C080104 */ jal func_E0200410 +/* 36EAEC E006C91C E7B40010 */ swc1 $f20, 0x10($sp) +/* 36EAF0 E006C920 0200202D */ daddu $a0, $s0, $zero +/* 36EAF4 E006C924 27A50020 */ addiu $a1, $sp, 0x20 +/* 36EAF8 E006C928 0C080114 */ jal func_E0200450 +/* 36EAFC E006C92C 00A0302D */ daddu $a2, $a1, $zero +/* 36EB00 E006C930 0200202D */ daddu $a0, $s0, $zero +/* 36EB04 E006C934 4405A000 */ mfc1 $a1, $f20 +/* 36EB08 E006C938 4407B000 */ mfc1 $a3, $f22 +/* 36EB0C E006C93C 0C080108 */ jal func_E0200420 +/* 36EB10 E006C940 00A0302D */ daddu $a2, $a1, $zero +/* 36EB14 E006C944 0200202D */ daddu $a0, $s0, $zero +/* 36EB18 E006C948 27A50020 */ addiu $a1, $sp, 0x20 +/* 36EB1C E006C94C 0C080114 */ jal func_E0200450 +/* 36EB20 E006C950 00A0302D */ daddu $a2, $a1, $zero +/* 36EB24 E006C954 27A40020 */ addiu $a0, $sp, 0x20 +/* 36EB28 E006C958 3C108007 */ lui $s0, 0x8007 +/* 36EB2C E006C95C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 36EB30 E006C960 3C11800A */ lui $s1, 0x800a +/* 36EB34 E006C964 2631A674 */ addiu $s1, $s1, -0x598c +/* 36EB38 E006C968 96050000 */ lhu $a1, ($s0) +/* 36EB3C E006C96C 8E220000 */ lw $v0, ($s1) +/* 36EB40 E006C970 00052980 */ sll $a1, $a1, 6 +/* 36EB44 E006C974 00B22821 */ addu $a1, $a1, $s2 +/* 36EB48 E006C978 0C080118 */ jal func_E0200460 +/* 36EB4C E006C97C 00452821 */ addu $a1, $v0, $a1 +/* 36EB50 E006C980 3C03DA38 */ lui $v1, 0xda38 +/* 36EB54 E006C984 3C05800A */ lui $a1, 0x800a +/* 36EB58 E006C988 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 36EB5C E006C98C 34630002 */ ori $v1, $v1, 2 +/* 36EB60 E006C990 8CA40000 */ lw $a0, ($a1) +/* 36EB64 E006C994 96020000 */ lhu $v0, ($s0) +/* 36EB68 E006C998 0080302D */ daddu $a2, $a0, $zero +/* 36EB6C E006C99C 24840008 */ addiu $a0, $a0, 8 +/* 36EB70 E006C9A0 ACA40000 */ sw $a0, ($a1) +/* 36EB74 E006C9A4 ACC30000 */ sw $v1, ($a2) +/* 36EB78 E006C9A8 24430001 */ addiu $v1, $v0, 1 +/* 36EB7C E006C9AC 3042FFFF */ andi $v0, $v0, 0xffff +/* 36EB80 E006C9B0 00021180 */ sll $v0, $v0, 6 +/* 36EB84 E006C9B4 A6030000 */ sh $v1, ($s0) +/* 36EB88 E006C9B8 8E230000 */ lw $v1, ($s1) +/* 36EB8C E006C9BC 00521021 */ addu $v0, $v0, $s2 +/* 36EB90 E006C9C0 00621821 */ addu $v1, $v1, $v0 +/* 36EB94 E006C9C4 24820008 */ addiu $v0, $a0, 8 +/* 36EB98 E006C9C8 ACC30004 */ sw $v1, 4($a2) +/* 36EB9C E006C9CC ACA20000 */ sw $v0, ($a1) +/* 36EBA0 E006C9D0 3C02FA00 */ lui $v0, 0xfa00 +/* 36EBA4 E006C9D4 AC820000 */ sw $v0, ($a0) +/* 36EBA8 E006C9D8 92620013 */ lbu $v0, 0x13($s3) +/* 36EBAC E006C9DC 3C03FFFF */ lui $v1, 0xffff +/* 36EBB0 E006C9E0 00431025 */ or $v0, $v0, $v1 +/* 36EBB4 E006C9E4 AC820004 */ sw $v0, 4($a0) +.LE006C9E8: +/* 36EBB8 E006C9E8 3C06D838 */ lui $a2, 0xd838 +/* 36EBBC E006C9EC 3C08800A */ lui $t0, 0x800a +/* 36EBC0 E006C9F0 2508A66C */ addiu $t0, $t0, -0x5994 +/* 36EBC4 E006C9F4 34C60002 */ ori $a2, $a2, 2 +/* 36EBC8 E006C9F8 32C30FFF */ andi $v1, $s6, 0xfff +/* 36EBCC E006C9FC 00031B00 */ sll $v1, $v1, 0xc +/* 36EBD0 E006CA00 32E20FFF */ andi $v0, $s7, 0xfff +/* 36EBD4 E006CA04 3C05F200 */ lui $a1, 0xf200 +/* 36EBD8 E006CA08 00451025 */ or $v0, $v0, $a1 +/* 36EBDC E006CA0C 00621825 */ or $v1, $v1, $v0 +/* 36EBE0 E006CA10 26C203FC */ addiu $v0, $s6, 0x3fc +/* 36EBE4 E006CA14 30420FFF */ andi $v0, $v0, 0xfff +/* 36EBE8 E006CA18 8D070000 */ lw $a3, ($t0) +/* 36EBEC E006CA1C 00021300 */ sll $v0, $v0, 0xc +/* 36EBF0 E006CA20 00E0202D */ daddu $a0, $a3, $zero +/* 36EBF4 E006CA24 24E70008 */ addiu $a3, $a3, 8 +/* 36EBF8 E006CA28 AD070000 */ sw $a3, ($t0) +/* 36EBFC E006CA2C AC830000 */ sw $v1, ($a0) +/* 36EC00 E006CA30 26E3007C */ addiu $v1, $s7, 0x7c +/* 36EC04 E006CA34 30630FFF */ andi $v1, $v1, 0xfff +/* 36EC08 E006CA38 00431025 */ or $v0, $v0, $v1 +/* 36EC0C E006CA3C AC820004 */ sw $v0, 4($a0) +/* 36EC10 E006CA40 24E20008 */ addiu $v0, $a3, 8 +/* 36EC14 E006CA44 33C30FFF */ andi $v1, $fp, 0xfff +/* 36EC18 E006CA48 00031B00 */ sll $v1, $v1, 0xc +/* 36EC1C E006CA4C AD020000 */ sw $v0, ($t0) +/* 36EC20 E006CA50 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 36EC24 E006CA54 3C040100 */ lui $a0, 0x100 +/* 36EC28 E006CA58 31420FFF */ andi $v0, $t2, 0xfff +/* 36EC2C E006CA5C 00451025 */ or $v0, $v0, $a1 +/* 36EC30 E006CA60 00621825 */ or $v1, $v1, $v0 +/* 36EC34 E006CA64 27C203FC */ addiu $v0, $fp, 0x3fc +/* 36EC38 E006CA68 30420FFF */ andi $v0, $v0, 0xfff +/* 36EC3C E006CA6C 00021300 */ sll $v0, $v0, 0xc +/* 36EC40 E006CA70 ACE30000 */ sw $v1, ($a3) +/* 36EC44 E006CA74 2543007C */ addiu $v1, $t2, 0x7c +/* 36EC48 E006CA78 30630FFF */ andi $v1, $v1, 0xfff +/* 36EC4C E006CA7C 00641825 */ or $v1, $v1, $a0 +/* 36EC50 E006CA80 00431025 */ or $v0, $v0, $v1 +/* 36EC54 E006CA84 ACE20004 */ sw $v0, 4($a3) +/* 36EC58 E006CA88 24E20010 */ addiu $v0, $a3, 0x10 +/* 36EC5C E006CA8C AD020000 */ sw $v0, ($t0) +/* 36EC60 E006CA90 3C02DE00 */ lui $v0, 0xde00 +/* 36EC64 E006CA94 ACE20008 */ sw $v0, 8($a3) +/* 36EC68 E006CA98 24E20018 */ addiu $v0, $a3, 0x18 +/* 36EC6C E006CA9C 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 36EC70 E006CAA0 3C05E700 */ lui $a1, 0xe700 +/* 36EC74 E006CAA4 ACEA000C */ sw $t2, 0xc($a3) +/* 36EC78 E006CAA8 AD020000 */ sw $v0, ($t0) +/* 36EC7C E006CAAC 24E20020 */ addiu $v0, $a3, 0x20 +/* 36EC80 E006CAB0 ACE50010 */ sw $a1, 0x10($a3) +/* 36EC84 E006CAB4 ACE00014 */ sw $zero, 0x14($a3) +/* 36EC88 E006CAB8 AD020000 */ sw $v0, ($t0) +/* 36EC8C E006CABC 24020040 */ addiu $v0, $zero, 0x40 +/* 36EC90 E006CAC0 ACE2001C */ sw $v0, 0x1c($a3) +/* 36EC94 E006CAC4 2AA20003 */ slti $v0, $s5, 3 +/* 36EC98 E006CAC8 1040000E */ beqz $v0, .LE006CB04 +/* 36EC9C E006CACC ACE60018 */ sw $a2, 0x18($a3) +/* 36ECA0 E006CAD0 3C04DA38 */ lui $a0, 0xda38 +/* 36ECA4 E006CAD4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 36ECA8 E006CAD8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 36ECAC E006CADC 24E20028 */ addiu $v0, $a3, 0x28 +/* 36ECB0 E006CAE0 AD020000 */ sw $v0, ($t0) +/* 36ECB4 E006CAE4 3C02800A */ lui $v0, 0x800a +/* 36ECB8 E006CAE8 8C42A674 */ lw $v0, -0x598c($v0) +/* 36ECBC E006CAEC 34840007 */ ori $a0, $a0, 7 +/* 36ECC0 E006CAF0 ACE40020 */ sw $a0, 0x20($a3) +/* 36ECC4 E006CAF4 00031980 */ sll $v1, $v1, 6 +/* 36ECC8 E006CAF8 24630030 */ addiu $v1, $v1, 0x30 +/* 36ECCC E006CAFC 00431021 */ addu $v0, $v0, $v1 +/* 36ECD0 E006CB00 ACE20024 */ sw $v0, 0x24($a3) +.LE006CB04: +/* 36ECD4 E006CB04 8D020000 */ lw $v0, ($t0) +/* 36ECD8 E006CB08 0040182D */ daddu $v1, $v0, $zero +/* 36ECDC E006CB0C 24420008 */ addiu $v0, $v0, 8 +/* 36ECE0 E006CB10 AD020000 */ sw $v0, ($t0) +/* 36ECE4 E006CB14 AC650000 */ sw $a1, ($v1) +/* 36ECE8 E006CB18 AC600004 */ sw $zero, 4($v1) +.LE006CB1C: +/* 36ECEC E006CB1C 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 36ECF0 E006CB20 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 36ECF4 E006CB24 8FB700CC */ lw $s7, 0xcc($sp) +/* 36ECF8 E006CB28 8FB600C8 */ lw $s6, 0xc8($sp) +/* 36ECFC E006CB2C 8FB500C4 */ lw $s5, 0xc4($sp) +/* 36ED00 E006CB30 8FB400C0 */ lw $s4, 0xc0($sp) +/* 36ED04 E006CB34 8FB300BC */ lw $s3, 0xbc($sp) +/* 36ED08 E006CB38 8FB200B8 */ lw $s2, 0xb8($sp) +/* 36ED0C E006CB3C 8FB100B4 */ lw $s1, 0xb4($sp) +/* 36ED10 E006CB40 8FB000B0 */ lw $s0, 0xb0($sp) +/* 36ED14 E006CB44 D7B600E0 */ ldc1 $f22, 0xe0($sp) +/* 36ED18 E006CB48 D7B400D8 */ ldc1 $f20, 0xd8($sp) +/* 36ED1C E006CB4C 03E00008 */ jr $ra +/* 36ED20 E006CB50 27BD00E8 */ addiu $sp, $sp, 0xe8 +/* 36ED24 E006CB54 00000000 */ nop +/* 36ED28 E006CB58 00000000 */ nop +/* 36ED2C E006CB5C 00000000 */ nop diff --git a/asm/nonmatchings/code_372790/func_E006E000.s b/asm/nonmatchings/code_372790/func_E006E000.s new file mode 100644 index 0000000000..e46d48f7c0 --- /dev/null +++ b/asm/nonmatchings/code_372790/func_E006E000.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006E000 +/* 372790 E006E000 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 372794 E006E004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 372798 E006E008 4485A000 */ mtc1 $a1, $f20 +/* 37279C E006E00C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3727A0 E006E010 4486C000 */ mtc1 $a2, $f24 +/* 3727A4 E006E014 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 3727A8 E006E018 4487E000 */ mtc1 $a3, $f28 +/* 3727AC E006E01C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3727B0 E006E020 C7B60080 */ lwc1 $f22, 0x80($sp) +/* 3727B4 E006E024 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 3727B8 E006E028 C7BA0084 */ lwc1 $f26, 0x84($sp) +/* 3727BC E006E02C F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 3727C0 E006E030 C7BE0088 */ lwc1 $f30, 0x88($sp) +/* 3727C4 E006E034 AFB30034 */ sw $s3, 0x34($sp) +/* 3727C8 E006E038 0080982D */ daddu $s3, $a0, $zero +/* 3727CC E006E03C AFB1002C */ sw $s1, 0x2c($sp) +/* 3727D0 E006E040 8FB10090 */ lw $s1, 0x90($sp) +/* 3727D4 E006E044 27A40010 */ addiu $a0, $sp, 0x10 +/* 3727D8 E006E048 AFB40038 */ sw $s4, 0x38($sp) +/* 3727DC E006E04C 8FB40094 */ lw $s4, 0x94($sp) +/* 3727E0 E006E050 3C02E007 */ lui $v0, 0xe007 +/* 3727E4 E006E054 2442E354 */ addiu $v0, $v0, -0x1cac +/* 3727E8 E006E058 AFA20018 */ sw $v0, 0x18($sp) +/* 3727EC E006E05C 3C02E007 */ lui $v0, 0xe007 +/* 3727F0 E006E060 2442E35C */ addiu $v0, $v0, -0x1ca4 +/* 3727F4 E006E064 AFA2001C */ sw $v0, 0x1c($sp) +/* 3727F8 E006E068 3C02E007 */ lui $v0, 0xe007 +/* 3727FC E006E06C 2442E6E4 */ addiu $v0, $v0, -0x191c +/* 372800 E006E070 AFA20020 */ sw $v0, 0x20($sp) +/* 372804 E006E074 24020037 */ addiu $v0, $zero, 0x37 +/* 372808 E006E078 AFBF003C */ sw $ra, 0x3c($sp) +/* 37280C E006E07C AFB20030 */ sw $s2, 0x30($sp) +/* 372810 E006E080 AFB00028 */ sw $s0, 0x28($sp) +/* 372814 E006E084 AFA00010 */ sw $zero, 0x10($sp) +/* 372818 E006E088 AFA00024 */ sw $zero, 0x24($sp) +/* 37281C E006E08C 0C080124 */ jal func_E0200490 +/* 372820 E006E090 AFA20014 */ sw $v0, 0x14($sp) +/* 372824 E006E094 2404007C */ addiu $a0, $zero, 0x7c +/* 372828 E006E098 24030001 */ addiu $v1, $zero, 1 +/* 37282C E006E09C 0040902D */ daddu $s2, $v0, $zero +/* 372830 E006E0A0 0C08012C */ jal func_E02004B0 +/* 372834 E006E0A4 AE430008 */ sw $v1, 8($s2) +/* 372838 E006E0A8 0040802D */ daddu $s0, $v0, $zero +/* 37283C E006E0AC 16000003 */ bnez $s0, .LE006E0BC +/* 372840 E006E0B0 AE42000C */ sw $v0, 0xc($s2) +.LE006E0B4: +/* 372844 E006E0B4 0801B82D */ j .LE006E0B4 +/* 372848 E006E0B8 00000000 */ nop +.LE006E0BC: +/* 37284C E006E0BC AE130000 */ sw $s3, ($s0) +/* 372850 E006E0C0 8FA2008C */ lw $v0, 0x8c($sp) +/* 372854 E006E0C4 AE110008 */ sw $s1, 8($s0) +/* 372858 E006E0C8 E614000C */ swc1 $f20, 0xc($s0) +/* 37285C E006E0CC E6180010 */ swc1 $f24, 0x10($s0) +/* 372860 E006E0D0 E61C0014 */ swc1 $f28, 0x14($s0) +/* 372864 E006E0D4 E6140018 */ swc1 $f20, 0x18($s0) +/* 372868 E006E0D8 E618001C */ swc1 $f24, 0x1c($s0) +/* 37286C E006E0DC E61C0020 */ swc1 $f28, 0x20($s0) +/* 372870 E006E0E0 E6160024 */ swc1 $f22, 0x24($s0) +/* 372874 E006E0E4 E61A0028 */ swc1 $f26, 0x28($s0) +/* 372878 E006E0E8 E61E002C */ swc1 $f30, 0x2c($s0) +/* 37287C E006E0EC 16600006 */ bnez $s3, .LE006E108 +/* 372880 E006E0F0 AE020004 */ sw $v0, 4($s0) +/* 372884 E006E0F4 3C013D4C */ lui $at, 0x3d4c +/* 372888 E006E0F8 3421CCCD */ ori $at, $at, 0xcccd +/* 37288C E006E0FC 44810000 */ mtc1 $at, $f0 +/* 372890 E006E100 0801B847 */ j .LE006E11C +/* 372894 E006E104 E6000038 */ swc1 $f0, 0x38($s0) +.LE006E108: +/* 372898 E006E108 3C013D23 */ lui $at, 0x3d23 +/* 37289C E006E10C 3421D70A */ ori $at, $at, 0xd70a +/* 3728A0 E006E110 44810000 */ mtc1 $at, $f0 +/* 3728A4 E006E114 00000000 */ nop +/* 3728A8 E006E118 E6000038 */ swc1 $f0, 0x38($s0) +.LE006E11C: +/* 3728AC E006E11C C6000038 */ lwc1 $f0, 0x38($s0) +/* 3728B0 E006E120 E6000030 */ swc1 $f0, 0x30($s0) +/* 3728B4 E006E124 3C013DCC */ lui $at, 0x3dcc +/* 3728B8 E006E128 3421CCCD */ ori $at, $at, 0xcccd +/* 3728BC E006E12C 44810000 */ mtc1 $at, $f0 +/* 3728C0 E006E130 C6020030 */ lwc1 $f2, 0x30($s0) +/* 3728C4 E006E134 240200FF */ addiu $v0, $zero, 0xff +/* 3728C8 E006E138 AE140044 */ sw $s4, 0x44($s0) +/* 3728CC E006E13C AE140048 */ sw $s4, 0x48($s0) +/* 3728D0 E006E140 AE00004C */ sw $zero, 0x4c($s0) +/* 3728D4 E006E144 AE020040 */ sw $v0, 0x40($s0) +/* 3728D8 E006E148 AE00005C */ sw $zero, 0x5c($s0) +/* 3728DC E006E14C E600003C */ swc1 $f0, 0x3c($s0) +/* 3728E0 E006E150 16600036 */ bnez $s3, .LE006E22C +/* 3728E4 E006E154 E6020034 */ swc1 $f2, 0x34($s0) +/* 3728E8 E006E158 2404000A */ addiu $a0, $zero, 0xa +/* 3728EC E006E15C 0C080011 */ jal func_E0200044 +/* 3728F0 E006E160 0220282D */ daddu $a1, $s1, $zero +/* 3728F4 E006E164 4614B001 */ sub.s $f0, $f22, $f20 +/* 3728F8 E006E168 3C01E007 */ lui $at, 0xe007 +/* 3728FC E006E16C D434EC20 */ ldc1 $f20, -0x13e0($at) +/* 372900 E006E170 46000021 */ cvt.d.s $f0, $f0 +/* 372904 E006E174 46340002 */ mul.d $f0, $f0, $f20 +/* 372908 E006E178 00000000 */ nop +/* 37290C E006E17C 2442FFFB */ addiu $v0, $v0, -5 +/* 372910 E006E180 44821000 */ mtc1 $v0, $f2 +/* 372914 E006E184 00000000 */ nop +/* 372918 E006E188 468010A1 */ cvt.d.w $f2, $f2 +/* 37291C E006E18C 46220002 */ mul.d $f0, $f0, $f2 +/* 372920 E006E190 00000000 */ nop +/* 372924 E006E194 46340002 */ mul.d $f0, $f0, $f20 +/* 372928 E006E198 00000000 */ nop +/* 37292C E006E19C 2404000A */ addiu $a0, $zero, 0xa +/* 372930 E006E1A0 26250001 */ addiu $a1, $s1, 1 +/* 372934 E006E1A4 46200020 */ cvt.s.d $f0, $f0 +/* 372938 E006E1A8 0C080011 */ jal func_E0200044 +/* 37293C E006E1AC E6000050 */ swc1 $f0, 0x50($s0) +/* 372940 E006E1B0 4618D001 */ sub.s $f0, $f26, $f24 +/* 372944 E006E1B4 46000021 */ cvt.d.s $f0, $f0 +/* 372948 E006E1B8 46340002 */ mul.d $f0, $f0, $f20 +/* 37294C E006E1BC 00000000 */ nop +/* 372950 E006E1C0 2442FFFB */ addiu $v0, $v0, -5 +/* 372954 E006E1C4 44821000 */ mtc1 $v0, $f2 +/* 372958 E006E1C8 00000000 */ nop +/* 37295C E006E1CC 468010A1 */ cvt.d.w $f2, $f2 +/* 372960 E006E1D0 46220002 */ mul.d $f0, $f0, $f2 +/* 372964 E006E1D4 00000000 */ nop +/* 372968 E006E1D8 46340002 */ mul.d $f0, $f0, $f20 +/* 37296C E006E1DC 00000000 */ nop +/* 372970 E006E1E0 2404000A */ addiu $a0, $zero, 0xa +/* 372974 E006E1E4 26250002 */ addiu $a1, $s1, 2 +/* 372978 E006E1E8 46200020 */ cvt.s.d $f0, $f0 +/* 37297C E006E1EC 0C080011 */ jal func_E0200044 +/* 372980 E006E1F0 E6000054 */ swc1 $f0, 0x54($s0) +/* 372984 E006E1F4 461CF001 */ sub.s $f0, $f30, $f28 +/* 372988 E006E1F8 46000021 */ cvt.d.s $f0, $f0 +/* 37298C E006E1FC 46340002 */ mul.d $f0, $f0, $f20 +/* 372990 E006E200 00000000 */ nop +/* 372994 E006E204 2442FFFB */ addiu $v0, $v0, -5 +/* 372998 E006E208 44821000 */ mtc1 $v0, $f2 +/* 37299C E006E20C 00000000 */ nop +/* 3729A0 E006E210 468010A1 */ cvt.d.w $f2, $f2 +/* 3729A4 E006E214 46220002 */ mul.d $f0, $f0, $f2 +/* 3729A8 E006E218 00000000 */ nop +/* 3729AC E006E21C 46340002 */ mul.d $f0, $f0, $f20 +/* 3729B0 E006E220 00000000 */ nop +/* 3729B4 E006E224 0801B8B9 */ j .LE006E2E4 +/* 3729B8 E006E228 46200020 */ cvt.s.d $f0, $f0 +.LE006E22C: +/* 3729BC E006E22C 2404000A */ addiu $a0, $zero, 0xa +/* 3729C0 E006E230 0C080011 */ jal func_E0200044 +/* 3729C4 E006E234 26250003 */ addiu $a1, $s1, 3 +/* 3729C8 E006E238 4614B001 */ sub.s $f0, $f22, $f20 +/* 3729CC E006E23C 3C01E007 */ lui $at, 0xe007 +/* 3729D0 E006E240 D434EC28 */ ldc1 $f20, -0x13d8($at) +/* 3729D4 E006E244 46000021 */ cvt.d.s $f0, $f0 +/* 3729D8 E006E248 46340002 */ mul.d $f0, $f0, $f20 +/* 3729DC E006E24C 00000000 */ nop +/* 3729E0 E006E250 2442FFFB */ addiu $v0, $v0, -5 +/* 3729E4 E006E254 44821000 */ mtc1 $v0, $f2 +/* 3729E8 E006E258 00000000 */ nop +/* 3729EC E006E25C 468010A1 */ cvt.d.w $f2, $f2 +/* 3729F0 E006E260 46220002 */ mul.d $f0, $f0, $f2 +/* 3729F4 E006E264 00000000 */ nop +/* 3729F8 E006E268 2404000A */ addiu $a0, $zero, 0xa +/* 3729FC E006E26C 26250004 */ addiu $a1, $s1, 4 +/* 372A00 E006E270 46200020 */ cvt.s.d $f0, $f0 +/* 372A04 E006E274 0C080011 */ jal func_E0200044 +/* 372A08 E006E278 E6000050 */ swc1 $f0, 0x50($s0) +/* 372A0C E006E27C 4618D001 */ sub.s $f0, $f26, $f24 +/* 372A10 E006E280 46000021 */ cvt.d.s $f0, $f0 +/* 372A14 E006E284 46340002 */ mul.d $f0, $f0, $f20 +/* 372A18 E006E288 00000000 */ nop +/* 372A1C E006E28C 2442FFFB */ addiu $v0, $v0, -5 +/* 372A20 E006E290 44821000 */ mtc1 $v0, $f2 +/* 372A24 E006E294 00000000 */ nop +/* 372A28 E006E298 468010A1 */ cvt.d.w $f2, $f2 +/* 372A2C E006E29C 46220002 */ mul.d $f0, $f0, $f2 +/* 372A30 E006E2A0 00000000 */ nop +/* 372A34 E006E2A4 2404000A */ addiu $a0, $zero, 0xa +/* 372A38 E006E2A8 26250005 */ addiu $a1, $s1, 5 +/* 372A3C E006E2AC 46200020 */ cvt.s.d $f0, $f0 +/* 372A40 E006E2B0 0C080011 */ jal func_E0200044 +/* 372A44 E006E2B4 E6000054 */ swc1 $f0, 0x54($s0) +/* 372A48 E006E2B8 461CF001 */ sub.s $f0, $f30, $f28 +/* 372A4C E006E2BC 46000021 */ cvt.d.s $f0, $f0 +/* 372A50 E006E2C0 46340002 */ mul.d $f0, $f0, $f20 +/* 372A54 E006E2C4 00000000 */ nop +/* 372A58 E006E2C8 2442FFFB */ addiu $v0, $v0, -5 +/* 372A5C E006E2CC 44821000 */ mtc1 $v0, $f2 +/* 372A60 E006E2D0 00000000 */ nop +/* 372A64 E006E2D4 468010A1 */ cvt.d.w $f2, $f2 +/* 372A68 E006E2D8 46220002 */ mul.d $f0, $f0, $f2 +/* 372A6C E006E2DC 00000000 */ nop +/* 372A70 E006E2E0 46200020 */ cvt.s.d $f0, $f0 +.LE006E2E4: +/* 372A74 E006E2E4 E6000058 */ swc1 $f0, 0x58($s0) +/* 372A78 E006E2E8 0240102D */ daddu $v0, $s2, $zero +/* 372A7C E006E2EC 240300FF */ addiu $v1, $zero, 0xff +/* 372A80 E006E2F0 AE030064 */ sw $v1, 0x64($s0) +/* 372A84 E006E2F4 240300AA */ addiu $v1, $zero, 0xaa +/* 372A88 E006E2F8 AE030068 */ sw $v1, 0x68($s0) +/* 372A8C E006E2FC 2403002A */ addiu $v1, $zero, 0x2a +/* 372A90 E006E300 AE03006C */ sw $v1, 0x6c($s0) +/* 372A94 E006E304 240300F3 */ addiu $v1, $zero, 0xf3 +/* 372A98 E006E308 AE030070 */ sw $v1, 0x70($s0) +/* 372A9C E006E30C 24030030 */ addiu $v1, $zero, 0x30 +/* 372AA0 E006E310 AE000060 */ sw $zero, 0x60($s0) +/* 372AA4 E006E314 AE030074 */ sw $v1, 0x74($s0) +/* 372AA8 E006E318 AE000078 */ sw $zero, 0x78($s0) +/* 372AAC E006E31C 8FBF003C */ lw $ra, 0x3c($sp) +/* 372AB0 E006E320 8FB40038 */ lw $s4, 0x38($sp) +/* 372AB4 E006E324 8FB30034 */ lw $s3, 0x34($sp) +/* 372AB8 E006E328 8FB20030 */ lw $s2, 0x30($sp) +/* 372ABC E006E32C 8FB1002C */ lw $s1, 0x2c($sp) +/* 372AC0 E006E330 8FB00028 */ lw $s0, 0x28($sp) +/* 372AC4 E006E334 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 372AC8 E006E338 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 372ACC E006E33C D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 372AD0 E006E340 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 372AD4 E006E344 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 372AD8 E006E348 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 372ADC E006E34C 03E00008 */ jr $ra +/* 372AE0 E006E350 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_372790/func_E006E354.s b/asm/nonmatchings/code_372790/func_E006E354.s new file mode 100644 index 0000000000..3890d395f0 --- /dev/null +++ b/asm/nonmatchings/code_372790/func_E006E354.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006E354 +/* 372AE4 E006E354 03E00008 */ jr $ra +/* 372AE8 E006E358 00000000 */ nop diff --git a/asm/nonmatchings/code_372790/func_E006E35C.s b/asm/nonmatchings/code_372790/func_E006E35C.s new file mode 100644 index 0000000000..b5d9175318 --- /dev/null +++ b/asm/nonmatchings/code_372790/func_E006E35C.s @@ -0,0 +1,241 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006E35C +/* 372AEC E006E35C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 372AF0 E006E360 AFBF0034 */ sw $ra, 0x34($sp) +/* 372AF4 E006E364 AFB20030 */ sw $s2, 0x30($sp) +/* 372AF8 E006E368 AFB1002C */ sw $s1, 0x2c($sp) +/* 372AFC E006E36C AFB00028 */ sw $s0, 0x28($sp) +/* 372B00 E006E370 8C90000C */ lw $s0, 0xc($a0) +/* 372B04 E006E374 3C014080 */ lui $at, 0x4080 +/* 372B08 E006E378 44811000 */ mtc1 $at, $f2 +/* 372B0C E006E37C C600004C */ lwc1 $f0, 0x4c($s0) +/* 372B10 E006E380 46800020 */ cvt.s.w $f0, $f0 +/* 372B14 E006E384 8E020048 */ lw $v0, 0x48($s0) +/* 372B18 E006E388 46020002 */ mul.s $f0, $f0, $f2 +/* 372B1C E006E38C 00000000 */ nop +/* 372B20 E006E390 2442FFFF */ addiu $v0, $v0, -1 +/* 372B24 E006E394 AE020048 */ sw $v0, 0x48($s0) +/* 372B28 E006E398 8E02004C */ lw $v0, 0x4c($s0) +/* 372B2C E006E39C 3C014120 */ lui $at, 0x4120 +/* 372B30 E006E3A0 44811000 */ mtc1 $at, $f2 +/* 372B34 E006E3A4 24430001 */ addiu $v1, $v0, 1 +/* 372B38 E006E3A8 8E020048 */ lw $v0, 0x48($s0) +/* 372B3C E006E3AC AE03004C */ sw $v1, 0x4c($s0) +/* 372B40 E006E3B0 46020003 */ div.s $f0, $f0, $f2 +/* 372B44 E006E3B4 04410005 */ bgez $v0, .LE006E3CC +/* 372B48 E006E3B8 E600005C */ swc1 $f0, 0x5c($s0) +/* 372B4C E006E3BC 0C080128 */ jal func_E02004A0 +/* 372B50 E006E3C0 00000000 */ nop +/* 372B54 E006E3C4 0801B9B3 */ j .LE006E6CC +/* 372B58 E006E3C8 00000000 */ nop +.LE006E3CC: +/* 372B5C E006E3CC 0040882D */ daddu $s1, $v0, $zero +/* 372B60 E006E3D0 8E120044 */ lw $s2, 0x44($s0) +/* 372B64 E006E3D4 2A220006 */ slti $v0, $s1, 6 +/* 372B68 E006E3D8 14400011 */ bnez $v0, .LE006E420 +/* 372B6C E006E3DC 0060202D */ daddu $a0, $v1, $zero +/* 372B70 E006E3E0 8E020000 */ lw $v0, ($s0) +/* 372B74 E006E3E4 1440000E */ bnez $v0, .LE006E420 +/* 372B78 E006E3E8 00000000 */ nop +/* 372B7C E006E3EC C6000038 */ lwc1 $f0, 0x38($s0) +/* 372B80 E006E3F0 3C014004 */ lui $at, 0x4004 +/* 372B84 E006E3F4 44811800 */ mtc1 $at, $f3 +/* 372B88 E006E3F8 44801000 */ mtc1 $zero, $f2 +/* 372B8C E006E3FC 46000021 */ cvt.d.s $f0, $f0 +/* 372B90 E006E400 46201081 */ sub.d $f2, $f2, $f0 +/* 372B94 E006E404 3C01E007 */ lui $at, 0xe007 +/* 372B98 E006E408 D424EC30 */ ldc1 $f4, -0x13d0($at) +/* 372B9C E006E40C 46241082 */ mul.d $f2, $f2, $f4 +/* 372BA0 E006E410 00000000 */ nop +/* 372BA4 E006E414 46220000 */ add.d $f0, $f0, $f2 +/* 372BA8 E006E418 46200020 */ cvt.s.d $f0, $f0 +/* 372BAC E006E41C E6000038 */ swc1 $f0, 0x38($s0) +.LE006E420: +/* 372BB0 E006E420 C6060024 */ lwc1 $f6, 0x24($s0) +/* 372BB4 E006E424 C60C0018 */ lwc1 $f12, 0x18($s0) +/* 372BB8 E006E428 460C3181 */ sub.s $f6, $f6, $f12 +/* 372BBC E006E42C C6000050 */ lwc1 $f0, 0x50($s0) +/* 372BC0 E006E430 46003180 */ add.s $f6, $f6, $f0 +/* 372BC4 E006E434 44847000 */ mtc1 $a0, $f14 +/* 372BC8 E006E438 00000000 */ nop +/* 372BCC E006E43C 468073A0 */ cvt.s.w $f14, $f14 +/* 372BD0 E006E440 460E3182 */ mul.s $f6, $f6, $f14 +/* 372BD4 E006E444 00000000 */ nop +/* 372BD8 E006E448 C6040028 */ lwc1 $f4, 0x28($s0) +/* 372BDC E006E44C C60A001C */ lwc1 $f10, 0x1c($s0) +/* 372BE0 E006E450 460A2101 */ sub.s $f4, $f4, $f10 +/* 372BE4 E006E454 C6000054 */ lwc1 $f0, 0x54($s0) +/* 372BE8 E006E458 46002100 */ add.s $f4, $f4, $f0 +/* 372BEC E006E45C 460E2102 */ mul.s $f4, $f4, $f14 +/* 372BF0 E006E460 00000000 */ nop +/* 372BF4 E006E464 C6080020 */ lwc1 $f8, 0x20($s0) +/* 372BF8 E006E468 C600002C */ lwc1 $f0, 0x2c($s0) +/* 372BFC E006E46C 46080001 */ sub.s $f0, $f0, $f8 +/* 372C00 E006E470 C6020058 */ lwc1 $f2, 0x58($s0) +/* 372C04 E006E474 46020000 */ add.s $f0, $f0, $f2 +/* 372C08 E006E478 460E0002 */ mul.s $f0, $f0, $f14 +/* 372C0C E006E47C 00000000 */ nop +/* 372C10 E006E480 44921000 */ mtc1 $s2, $f2 +/* 372C14 E006E484 00000000 */ nop +/* 372C18 E006E488 468010A0 */ cvt.s.w $f2, $f2 +/* 372C1C E006E48C 46023183 */ div.s $f6, $f6, $f2 +/* 372C20 E006E490 46066300 */ add.s $f12, $f12, $f6 +/* 372C24 E006E494 24020001 */ addiu $v0, $zero, 1 +/* 372C28 E006E498 46022103 */ div.s $f4, $f4, $f2 +/* 372C2C E006E49C 46045280 */ add.s $f10, $f10, $f4 +/* 372C30 E006E4A0 8E030000 */ lw $v1, ($s0) +/* 372C34 E006E4A4 46020003 */ div.s $f0, $f0, $f2 +/* 372C38 E006E4A8 46004200 */ add.s $f8, $f8, $f0 +/* 372C3C E006E4AC E60C000C */ swc1 $f12, 0xc($s0) +/* 372C40 E006E4B0 E60A0010 */ swc1 $f10, 0x10($s0) +/* 372C44 E006E4B4 1462000E */ bne $v1, $v0, .LE006E4F0 +/* 372C48 E006E4B8 E6080014 */ swc1 $f8, 0x14($s0) +/* 372C4C E006E4BC 3C01E007 */ lui $at, 0xe007 +/* 372C50 E006E4C0 D420EC38 */ ldc1 $f0, -0x13c8($at) +/* 372C54 E006E4C4 460070A1 */ cvt.d.s $f2, $f14 +/* 372C58 E006E4C8 46201082 */ mul.d $f2, $f2, $f0 +/* 372C5C E006E4CC 00000000 */ nop +/* 372C60 E006E4D0 C6000060 */ lwc1 $f0, 0x60($s0) +/* 372C64 E006E4D4 46000021 */ cvt.d.s $f0, $f0 +/* 372C68 E006E4D8 46220000 */ add.d $f0, $f0, $f2 +/* 372C6C E006E4DC 46005086 */ mov.s $f2, $f10 +/* 372C70 E006E4E0 46200020 */ cvt.s.d $f0, $f0 +/* 372C74 E006E4E4 46001080 */ add.s $f2, $f2, $f0 +/* 372C78 E006E4E8 E6000060 */ swc1 $f0, 0x60($s0) +/* 372C7C E006E4EC E6020010 */ swc1 $f2, 0x10($s0) +.LE006E4F0: +/* 372C80 E006E4F0 8E020008 */ lw $v0, 8($s0) +/* 372C84 E006E4F4 24420001 */ addiu $v0, $v0, 1 +/* 372C88 E006E4F8 14820034 */ bne $a0, $v0, .LE006E5CC +/* 372C8C E006E4FC 2A22000A */ slti $v0, $s1, 0xa +/* 372C90 E006E500 8E020004 */ lw $v0, 4($s0) +/* 372C94 E006E504 18400031 */ blez $v0, .LE006E5CC +/* 372C98 E006E508 2A22000A */ slti $v0, $s1, 0xa +/* 372C9C E006E50C 0C080150 */ jal func_E0200540 +/* 372CA0 E006E510 24040037 */ addiu $a0, $zero, 0x37 +/* 372CA4 E006E514 C6000024 */ lwc1 $f0, 0x24($s0) +/* 372CA8 E006E518 E7A00010 */ swc1 $f0, 0x10($sp) +/* 372CAC E006E51C C6000028 */ lwc1 $f0, 0x28($s0) +/* 372CB0 E006E520 E7A00014 */ swc1 $f0, 0x14($sp) +/* 372CB4 E006E524 C600002C */ lwc1 $f0, 0x2c($s0) +/* 372CB8 E006E528 E7A00018 */ swc1 $f0, 0x18($sp) +/* 372CBC E006E52C 8E020004 */ lw $v0, 4($s0) +/* 372CC0 E006E530 2442FFFF */ addiu $v0, $v0, -1 +/* 372CC4 E006E534 AFA2001C */ sw $v0, 0x1c($sp) +/* 372CC8 E006E538 8E020008 */ lw $v0, 8($s0) +/* 372CCC E006E53C AFB20024 */ sw $s2, 0x24($sp) +/* 372CD0 E006E540 AFA20020 */ sw $v0, 0x20($sp) +/* 372CD4 E006E544 8E040000 */ lw $a0, ($s0) +/* 372CD8 E006E548 8E050018 */ lw $a1, 0x18($s0) +/* 372CDC E006E54C 8E06001C */ lw $a2, 0x1c($s0) +/* 372CE0 E006E550 0C01B800 */ jal func_E006E000 +/* 372CE4 E006E554 8E070020 */ lw $a3, 0x20($s0) +/* 372CE8 E006E558 8C44000C */ lw $a0, 0xc($v0) +/* 372CEC E006E55C 8E030064 */ lw $v1, 0x64($s0) +/* 372CF0 E006E560 AC830064 */ sw $v1, 0x64($a0) +/* 372CF4 E006E564 8C44000C */ lw $a0, 0xc($v0) +/* 372CF8 E006E568 8E030068 */ lw $v1, 0x68($s0) +/* 372CFC E006E56C AC830068 */ sw $v1, 0x68($a0) +/* 372D00 E006E570 8C44000C */ lw $a0, 0xc($v0) +/* 372D04 E006E574 8E03006C */ lw $v1, 0x6c($s0) +/* 372D08 E006E578 AC83006C */ sw $v1, 0x6c($a0) +/* 372D0C E006E57C 8C44000C */ lw $a0, 0xc($v0) +/* 372D10 E006E580 8E030070 */ lw $v1, 0x70($s0) +/* 372D14 E006E584 AC830070 */ sw $v1, 0x70($a0) +/* 372D18 E006E588 8C44000C */ lw $a0, 0xc($v0) +/* 372D1C E006E58C 8E030074 */ lw $v1, 0x74($s0) +/* 372D20 E006E590 AC830074 */ sw $v1, 0x74($a0) +/* 372D24 E006E594 8C44000C */ lw $a0, 0xc($v0) +/* 372D28 E006E598 8E030078 */ lw $v1, 0x78($s0) +/* 372D2C E006E59C AC830078 */ sw $v1, 0x78($a0) +/* 372D30 E006E5A0 8C43000C */ lw $v1, 0xc($v0) +/* 372D34 E006E5A4 C6000030 */ lwc1 $f0, 0x30($s0) +/* 372D38 E006E5A8 E4600038 */ swc1 $f0, 0x38($v1) +/* 372D3C E006E5AC E4600030 */ swc1 $f0, 0x30($v1) +/* 372D40 E006E5B0 8C43000C */ lw $v1, 0xc($v0) +/* 372D44 E006E5B4 C6000034 */ lwc1 $f0, 0x34($s0) +/* 372D48 E006E5B8 E4600034 */ swc1 $f0, 0x34($v1) +/* 372D4C E006E5BC 8C42000C */ lw $v0, 0xc($v0) +/* 372D50 E006E5C0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 372D54 E006E5C4 E440003C */ swc1 $f0, 0x3c($v0) +/* 372D58 E006E5C8 2A22000A */ slti $v0, $s1, 0xa +.LE006E5CC: +/* 372D5C E006E5CC 10400008 */ beqz $v0, .LE006E5F0 +/* 372D60 E006E5D0 00000000 */ nop +/* 372D64 E006E5D4 8E020000 */ lw $v0, ($s0) +/* 372D68 E006E5D8 14400005 */ bnez $v0, .LE006E5F0 +/* 372D6C E006E5DC 00111040 */ sll $v0, $s1, 1 +/* 372D70 E006E5E0 00511021 */ addu $v0, $v0, $s1 +/* 372D74 E006E5E4 000210C0 */ sll $v0, $v0, 3 +/* 372D78 E006E5E8 00511021 */ addu $v0, $v0, $s1 +/* 372D7C E006E5EC AE020040 */ sw $v0, 0x40($s0) +.LE006E5F0: +/* 372D80 E006E5F0 8E030000 */ lw $v1, ($s0) +/* 372D84 E006E5F4 24020001 */ addiu $v0, $zero, 1 +/* 372D88 E006E5F8 1462001D */ bne $v1, $v0, .LE006E670 +/* 372D8C E006E5FC 24020002 */ addiu $v0, $zero, 2 +/* 372D90 E006E600 001110C0 */ sll $v0, $s1, 3 +/* 372D94 E006E604 00511023 */ subu $v0, $v0, $s1 +/* 372D98 E006E608 00021140 */ sll $v0, $v0, 5 +/* 372D9C E006E60C 16400002 */ bnez $s2, .LE006E618 +/* 372DA0 E006E610 0052001A */ div $zero, $v0, $s2 +/* 372DA4 E006E614 0007000D */ break 7 +.LE006E618: +/* 372DA8 E006E618 2401FFFF */ addiu $at, $zero, -1 +/* 372DAC E006E61C 16410004 */ bne $s2, $at, .LE006E630 +/* 372DB0 E006E620 3C018000 */ lui $at, 0x8000 +/* 372DB4 E006E624 14410002 */ bne $v0, $at, .LE006E630 +/* 372DB8 E006E628 00000000 */ nop +/* 372DBC E006E62C 0006000D */ break 6 +.LE006E630: +/* 372DC0 E006E630 00001012 */ mflo $v0 +/* 372DC4 E006E634 C6000038 */ lwc1 $f0, 0x38($s0) +/* 372DC8 E006E638 3C01E007 */ lui $at, 0xe007 +/* 372DCC E006E63C D422EC40 */ ldc1 $f2, -0x13c0($at) +/* 372DD0 E006E640 46000021 */ cvt.d.s $f0, $f0 +/* 372DD4 E006E644 46201081 */ sub.d $f2, $f2, $f0 +/* 372DD8 E006E648 3C01E007 */ lui $at, 0xe007 +/* 372DDC E006E64C D424EC48 */ ldc1 $f4, -0x13b8($at) +/* 372DE0 E006E650 46241082 */ mul.d $f2, $f2, $f4 +/* 372DE4 E006E654 00000000 */ nop +/* 372DE8 E006E658 46220000 */ add.d $f0, $f0, $f2 +/* 372DEC E006E65C 46200020 */ cvt.s.d $f0, $f0 +/* 372DF0 E006E660 E6000038 */ swc1 $f0, 0x38($s0) +/* 372DF4 E006E664 AE020040 */ sw $v0, 0x40($s0) +/* 372DF8 E006E668 8E030000 */ lw $v1, ($s0) +/* 372DFC E006E66C 24020002 */ addiu $v0, $zero, 2 +.LE006E670: +/* 372E00 E006E670 14620016 */ bne $v1, $v0, .LE006E6CC +/* 372E04 E006E674 001110C0 */ sll $v0, $s1, 3 +/* 372E08 E006E678 00511023 */ subu $v0, $v0, $s1 +/* 372E0C E006E67C 00021140 */ sll $v0, $v0, 5 +/* 372E10 E006E680 16400002 */ bnez $s2, .LE006E68C +/* 372E14 E006E684 0052001A */ div $zero, $v0, $s2 +/* 372E18 E006E688 0007000D */ break 7 +.LE006E68C: +/* 372E1C E006E68C 2401FFFF */ addiu $at, $zero, -1 +/* 372E20 E006E690 16410004 */ bne $s2, $at, .LE006E6A4 +/* 372E24 E006E694 3C018000 */ lui $at, 0x8000 +/* 372E28 E006E698 14410002 */ bne $v0, $at, .LE006E6A4 +/* 372E2C E006E69C 00000000 */ nop +/* 372E30 E006E6A0 0006000D */ break 6 +.LE006E6A4: +/* 372E34 E006E6A4 00001012 */ mflo $v0 +/* 372E38 E006E6A8 C6000034 */ lwc1 $f0, 0x34($s0) +/* 372E3C E006E6AC C6020038 */ lwc1 $f2, 0x38($s0) +/* 372E40 E006E6B0 46020001 */ sub.s $f0, $f0, $f2 +/* 372E44 E006E6B4 C604003C */ lwc1 $f4, 0x3c($s0) +/* 372E48 E006E6B8 46040002 */ mul.s $f0, $f0, $f4 +/* 372E4C E006E6BC 00000000 */ nop +/* 372E50 E006E6C0 46001080 */ add.s $f2, $f2, $f0 +/* 372E54 E006E6C4 E6020038 */ swc1 $f2, 0x38($s0) +/* 372E58 E006E6C8 AE020040 */ sw $v0, 0x40($s0) +.LE006E6CC: +/* 372E5C E006E6CC 8FBF0034 */ lw $ra, 0x34($sp) +/* 372E60 E006E6D0 8FB20030 */ lw $s2, 0x30($sp) +/* 372E64 E006E6D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 372E68 E006E6D8 8FB00028 */ lw $s0, 0x28($sp) +/* 372E6C E006E6DC 03E00008 */ jr $ra +/* 372E70 E006E6E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_372790/func_E006E6E4.s b/asm/nonmatchings/code_372790/func_E006E6E4.s new file mode 100644 index 0000000000..e095f3dc9c --- /dev/null +++ b/asm/nonmatchings/code_372790/func_E006E6E4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006E6E4 +/* 372E74 E006E6E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 372E78 E006E6E8 AFBF0020 */ sw $ra, 0x20($sp) +/* 372E7C E006E6EC 8C85000C */ lw $a1, 0xc($a0) +/* 372E80 E006E6F0 3C02E007 */ lui $v0, 0xe007 +/* 372E84 E006E6F4 2442E764 */ addiu $v0, $v0, -0x189c +/* 372E88 E006E6F8 AFA2001C */ sw $v0, 0x1c($sp) +/* 372E8C E006E6FC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 372E90 E006E700 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 372E94 E006E704 AFA40018 */ sw $a0, 0x18($sp) +/* 372E98 E006E708 80430070 */ lb $v1, 0x70($v0) +/* 372E9C E006E70C 24020001 */ addiu $v0, $zero, 1 +/* 372EA0 E006E710 1462000A */ bne $v1, $v0, .LE006E73C +/* 372EA4 E006E714 27A40010 */ addiu $a0, $sp, 0x10 +/* 372EA8 E006E718 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 372EAC E006E71C 3C01447A */ lui $at, 0x447a +/* 372EB0 E006E720 44811000 */ mtc1 $at, $f2 +/* 372EB4 E006E724 00000000 */ nop +/* 372EB8 E006E728 46020000 */ add.s $f0, $f0, $f2 +/* 372EBC E006E72C 4600010D */ trunc.w.s $f4, $f0 +/* 372EC0 E006E730 E7A40014 */ swc1 $f4, 0x14($sp) +/* 372EC4 E006E734 0801B9D1 */ j .LE006E744 +/* 372EC8 E006E738 2402002D */ addiu $v0, $zero, 0x2d +.LE006E73C: +/* 372ECC E006E73C AFA00014 */ sw $zero, 0x14($sp) +/* 372ED0 E006E740 2402002D */ addiu $v0, $zero, 0x2d +.LE006E744: +/* 372ED4 E006E744 0C080120 */ jal func_E0200480 +/* 372ED8 E006E748 AC820000 */ sw $v0, ($a0) +/* 372EDC E006E74C 8C430000 */ lw $v1, ($v0) +/* 372EE0 E006E750 34630002 */ ori $v1, $v1, 2 +/* 372EE4 E006E754 AC430000 */ sw $v1, ($v0) +/* 372EE8 E006E758 8FBF0020 */ lw $ra, 0x20($sp) +/* 372EEC E006E75C 03E00008 */ jr $ra +/* 372EF0 E006E760 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_372790/func_E006E764.s b/asm/nonmatchings/code_372790/func_E006E764.s new file mode 100644 index 0000000000..c4e1af06a6 --- /dev/null +++ b/asm/nonmatchings/code_372790/func_E006E764.s @@ -0,0 +1,300 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E006E764 +/* 372EF4 E006E764 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 372EF8 E006E768 3C07DB06 */ lui $a3, 0xdb06 +/* 372EFC E006E76C AFB500B4 */ sw $s5, 0xb4($sp) +/* 372F00 E006E770 3C15800A */ lui $s5, 0x800a +/* 372F04 E006E774 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 372F08 E006E778 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 372F0C E006E77C AFBE00C0 */ sw $fp, 0xc0($sp) +/* 372F10 E006E780 AFB700BC */ sw $s7, 0xbc($sp) +/* 372F14 E006E784 AFB600B8 */ sw $s6, 0xb8($sp) +/* 372F18 E006E788 AFB400B0 */ sw $s4, 0xb0($sp) +/* 372F1C E006E78C AFB300AC */ sw $s3, 0xac($sp) +/* 372F20 E006E790 AFB200A8 */ sw $s2, 0xa8($sp) +/* 372F24 E006E794 AFB100A4 */ sw $s1, 0xa4($sp) +/* 372F28 E006E798 AFB000A0 */ sw $s0, 0xa0($sp) +/* 372F2C E006E79C F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 372F30 E006E7A0 8EA50000 */ lw $a1, ($s5) +/* 372F34 E006E7A4 8C94000C */ lw $s4, 0xc($a0) +/* 372F38 E006E7A8 00A0182D */ daddu $v1, $a1, $zero +/* 372F3C E006E7AC 24A50008 */ addiu $a1, $a1, 8 +/* 372F40 E006E7B0 AEA50000 */ sw $a1, ($s5) +/* 372F44 E006E7B4 8E860000 */ lw $a2, ($s4) +/* 372F48 E006E7B8 24A20008 */ addiu $v0, $a1, 8 +/* 372F4C E006E7BC AEA20000 */ sw $v0, ($s5) +/* 372F50 E006E7C0 C682005C */ lwc1 $f2, 0x5c($s4) +/* 372F54 E006E7C4 00061080 */ sll $v0, $a2, 2 +/* 372F58 E006E7C8 3C0CE007 */ lui $t4, 0xe007 +/* 372F5C E006E7CC 01826021 */ addu $t4, $t4, $v0 +/* 372F60 E006E7D0 8D8CEC00 */ lw $t4, -0x1400($t4) +/* 372F64 E006E7D4 34E70024 */ ori $a3, $a3, 0x24 +/* 372F68 E006E7D8 AFAC0098 */ sw $t4, 0x98($sp) +/* 372F6C E006E7DC 3C17E007 */ lui $s7, 0xe007 +/* 372F70 E006E7E0 02E2B821 */ addu $s7, $s7, $v0 +/* 372F74 E006E7E4 8EF7EC0C */ lw $s7, -0x13f4($s7) +/* 372F78 E006E7E8 3C02E700 */ lui $v0, 0xe700 +/* 372F7C E006E7EC 4600110D */ trunc.w.s $f4, $f2 +/* 372F80 E006E7F0 44162000 */ mfc1 $s6, $f4 +/* 372F84 E006E7F4 00000000 */ nop +/* 372F88 E006E7F8 44960000 */ mtc1 $s6, $f0 +/* 372F8C E006E7FC 00000000 */ nop +/* 372F90 E006E800 46800020 */ cvt.s.w $f0, $f0 +/* 372F94 E006E804 46001081 */ sub.s $f2, $f2, $f0 +/* 372F98 E006E808 AC620000 */ sw $v0, ($v1) +/* 372F9C E006E80C AC600004 */ sw $zero, 4($v1) +/* 372FA0 E006E810 ACA70000 */ sw $a3, ($a1) +/* 372FA4 E006E814 8C820010 */ lw $v0, 0x10($a0) +/* 372FA8 E006E818 3C014380 */ lui $at, 0x4380 +/* 372FAC E006E81C 44810000 */ mtc1 $at, $f0 +/* 372FB0 E006E820 8C42001C */ lw $v0, 0x1c($v0) +/* 372FB4 E006E824 46001082 */ mul.s $f2, $f2, $f0 +/* 372FB8 E006E828 00000000 */ nop +/* 372FBC E006E82C 3C038000 */ lui $v1, 0x8000 +/* 372FC0 E006E830 00431021 */ addu $v0, $v0, $v1 +/* 372FC4 E006E834 ACA20004 */ sw $v0, 4($a1) +/* 372FC8 E006E838 24020001 */ addiu $v0, $zero, 1 +/* 372FCC E006E83C 4600110D */ trunc.w.s $f4, $f2 +/* 372FD0 E006E840 441E2000 */ mfc1 $fp, $f4 +/* 372FD4 E006E844 14C20051 */ bne $a2, $v0, .LE006E98C +/* 372FD8 E006E848 3C0B0100 */ lui $t3, 0x100 +/* 372FDC E006E84C 27A40018 */ addiu $a0, $sp, 0x18 +/* 372FE0 E006E850 3C120001 */ lui $s2, 1 +/* 372FE4 E006E854 8E850018 */ lw $a1, 0x18($s4) +/* 372FE8 E006E858 8E86001C */ lw $a2, 0x1c($s4) +/* 372FEC E006E85C 8E870020 */ lw $a3, 0x20($s4) +/* 372FF0 E006E860 0C080108 */ jal func_E0200420 +/* 372FF4 E006E864 36521630 */ ori $s2, $s2, 0x1630 +/* 372FF8 E006E868 27B00058 */ addiu $s0, $sp, 0x58 +/* 372FFC E006E86C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 373000 E006E870 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 373004 E006E874 44800000 */ mtc1 $zero, $f0 +/* 373008 E006E878 00031080 */ sll $v0, $v1, 2 +/* 37300C E006E87C 00431021 */ addu $v0, $v0, $v1 +/* 373010 E006E880 00021080 */ sll $v0, $v0, 2 +/* 373014 E006E884 00431023 */ subu $v0, $v0, $v1 +/* 373018 E006E888 000218C0 */ sll $v1, $v0, 3 +/* 37301C E006E88C 00431021 */ addu $v0, $v0, $v1 +/* 373020 E006E890 000210C0 */ sll $v0, $v0, 3 +/* 373024 E006E894 44060000 */ mfc1 $a2, $f0 +/* 373028 E006E898 3C01800B */ lui $at, 0x800b +/* 37302C E006E89C 00220821 */ addu $at, $at, $v0 +/* 373030 E006E8A0 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 373034 E006E8A4 3C073F80 */ lui $a3, 0x3f80 +/* 373038 E006E8A8 46000007 */ neg.s $f0, $f0 +/* 37303C E006E8AC 44050000 */ mfc1 $a1, $f0 +/* 373040 E006E8B0 0200202D */ daddu $a0, $s0, $zero +/* 373044 E006E8B4 0C080104 */ jal func_E0200410 +/* 373048 E006E8B8 AFA60010 */ sw $a2, 0x10($sp) +/* 37304C E006E8BC 0200202D */ daddu $a0, $s0, $zero +/* 373050 E006E8C0 27A50018 */ addiu $a1, $sp, 0x18 +/* 373054 E006E8C4 0C080114 */ jal func_E0200450 +/* 373058 E006E8C8 00A0302D */ daddu $a2, $a1, $zero +/* 37305C E006E8CC 27A40018 */ addiu $a0, $sp, 0x18 +/* 373060 E006E8D0 3C108007 */ lui $s0, 0x8007 +/* 373064 E006E8D4 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 373068 E006E8D8 3C11800A */ lui $s1, 0x800a +/* 37306C E006E8DC 2631A674 */ addiu $s1, $s1, -0x598c +/* 373070 E006E8E0 96050000 */ lhu $a1, ($s0) +/* 373074 E006E8E4 8E220000 */ lw $v0, ($s1) +/* 373078 E006E8E8 00052980 */ sll $a1, $a1, 6 +/* 37307C E006E8EC 00B22821 */ addu $a1, $a1, $s2 +/* 373080 E006E8F0 0C080118 */ jal func_E0200460 +/* 373084 E006E8F4 00452821 */ addu $a1, $v0, $a1 +/* 373088 E006E8F8 3C03DA38 */ lui $v1, 0xda38 +/* 37308C E006E8FC 34630002 */ ori $v1, $v1, 2 +/* 373090 E006E900 3C06D838 */ lui $a2, 0xd838 +/* 373094 E006E904 34C60002 */ ori $a2, $a2, 2 +/* 373098 E006E908 8EA40000 */ lw $a0, ($s5) +/* 37309C E006E90C 96020000 */ lhu $v0, ($s0) +/* 3730A0 E006E910 0080282D */ daddu $a1, $a0, $zero +/* 3730A4 E006E914 24840008 */ addiu $a0, $a0, 8 +/* 3730A8 E006E918 AEA40000 */ sw $a0, ($s5) +/* 3730AC E006E91C ACA30000 */ sw $v1, ($a1) +/* 3730B0 E006E920 24430001 */ addiu $v1, $v0, 1 +/* 3730B4 E006E924 3042FFFF */ andi $v0, $v0, 0xffff +/* 3730B8 E006E928 00021180 */ sll $v0, $v0, 6 +/* 3730BC E006E92C A6030000 */ sh $v1, ($s0) +/* 3730C0 E006E930 8E230000 */ lw $v1, ($s1) +/* 3730C4 E006E934 00521021 */ addu $v0, $v0, $s2 +/* 3730C8 E006E938 00621821 */ addu $v1, $v1, $v0 +/* 3730CC E006E93C 24820008 */ addiu $v0, $a0, 8 +/* 3730D0 E006E940 ACA30004 */ sw $v1, 4($a1) +/* 3730D4 E006E944 3C03DE00 */ lui $v1, 0xde00 +/* 3730D8 E006E948 AEA20000 */ sw $v0, ($s5) +/* 3730DC E006E94C 3C020900 */ lui $v0, 0x900 +/* 3730E0 E006E950 24420C20 */ addiu $v0, $v0, 0xc20 +/* 3730E4 E006E954 AC820004 */ sw $v0, 4($a0) +/* 3730E8 E006E958 24820010 */ addiu $v0, $a0, 0x10 +/* 3730EC E006E95C AC830000 */ sw $v1, ($a0) +/* 3730F0 E006E960 AEA20000 */ sw $v0, ($s5) +/* 3730F4 E006E964 3C020900 */ lui $v0, 0x900 +/* 3730F8 E006E968 24420C00 */ addiu $v0, $v0, 0xc00 +/* 3730FC E006E96C AC82000C */ sw $v0, 0xc($a0) +/* 373100 E006E970 24820018 */ addiu $v0, $a0, 0x18 +/* 373104 E006E974 AC830008 */ sw $v1, 8($a0) +/* 373108 E006E978 AEA20000 */ sw $v0, ($s5) +/* 37310C E006E97C 24020040 */ addiu $v0, $zero, 0x40 +/* 373110 E006E980 AC860010 */ sw $a2, 0x10($a0) +/* 373114 E006E984 AC820014 */ sw $v0, 0x14($a0) +/* 373118 E006E988 3C0B0100 */ lui $t3, 0x100 +.LE006E98C: +/* 37311C E006E98C 356B0080 */ ori $t3, $t3, 0x80 +/* 373120 E006E990 27A40018 */ addiu $a0, $sp, 0x18 +/* 373124 E006E994 3C130001 */ lui $s3, 1 +/* 373128 E006E998 3C12DE00 */ lui $s2, 0xde00 +/* 37312C E006E99C 8EA60000 */ lw $a2, ($s5) +/* 373130 E006E9A0 3C0AF200 */ lui $t2, 0xf200 +/* 373134 E006E9A4 00C0102D */ daddu $v0, $a2, $zero +/* 373138 E006E9A8 24C60008 */ addiu $a2, $a2, 8 +/* 37313C E006E9AC AEA60000 */ sw $a2, ($s5) +/* 373140 E006E9B0 AC520000 */ sw $s2, ($v0) +/* 373144 E006E9B4 AC570004 */ sw $s7, 4($v0) +/* 373148 E006E9B8 24C20008 */ addiu $v0, $a2, 8 +/* 37314C E006E9BC AEA20000 */ sw $v0, ($s5) +/* 373150 E006E9C0 3C02FA00 */ lui $v0, 0xfa00 +/* 373154 E006E9C4 ACC20000 */ sw $v0, ($a2) +/* 373158 E006E9C8 92820067 */ lbu $v0, 0x67($s4) +/* 37315C E006E9CC 9285006B */ lbu $a1, 0x6b($s4) +/* 373160 E006E9D0 9287006F */ lbu $a3, 0x6f($s4) +/* 373164 E006E9D4 92880043 */ lbu $t0, 0x43($s4) +/* 373168 E006E9D8 24C30010 */ addiu $v1, $a2, 0x10 +/* 37316C E006E9DC AEA30000 */ sw $v1, ($s5) +/* 373170 E006E9E0 3C03FB00 */ lui $v1, 0xfb00 +/* 373174 E006E9E4 ACC30008 */ sw $v1, 8($a2) +/* 373178 E006E9E8 00161940 */ sll $v1, $s6, 5 +/* 37317C E006E9EC 00021600 */ sll $v0, $v0, 0x18 +/* 373180 E006E9F0 00052C00 */ sll $a1, $a1, 0x10 +/* 373184 E006E9F4 00451025 */ or $v0, $v0, $a1 +/* 373188 E006E9F8 00073A00 */ sll $a3, $a3, 8 +/* 37318C E006E9FC 00471025 */ or $v0, $v0, $a3 +/* 373190 E006EA00 00481025 */ or $v0, $v0, $t0 +/* 373194 E006EA04 ACC20004 */ sw $v0, 4($a2) +/* 373198 E006EA08 92870073 */ lbu $a3, 0x73($s4) +/* 37319C E006EA0C 92880077 */ lbu $t0, 0x77($s4) +/* 3731A0 E006EA10 9289007B */ lbu $t1, 0x7b($s4) +/* 3731A4 E006EA14 24C20018 */ addiu $v0, $a2, 0x18 +/* 3731A8 E006EA18 AEA20000 */ sw $v0, ($s5) +/* 3731AC E006EA1C 001611C0 */ sll $v0, $s6, 7 +/* 3731B0 E006EA20 30420FFF */ andi $v0, $v0, 0xfff +/* 3731B4 E006EA24 00021300 */ sll $v0, $v0, 0xc +/* 3731B8 E006EA28 004A1025 */ or $v0, $v0, $t2 +/* 3731BC E006EA2C ACC20010 */ sw $v0, 0x10($a2) +/* 3731C0 E006EA30 24620020 */ addiu $v0, $v1, 0x20 +/* 3731C4 E006EA34 00021080 */ sll $v0, $v0, 2 +/* 3731C8 E006EA38 30420FFF */ andi $v0, $v0, 0xfff +/* 3731CC E006EA3C 00021300 */ sll $v0, $v0, 0xc +/* 3731D0 E006EA40 34450080 */ ori $a1, $v0, 0x80 +/* 3731D4 E006EA44 ACC50014 */ sw $a1, 0x14($a2) +/* 3731D8 E006EA48 24C50020 */ addiu $a1, $a2, 0x20 +/* 3731DC E006EA4C 004A1025 */ or $v0, $v0, $t2 +/* 3731E0 E006EA50 24630040 */ addiu $v1, $v1, 0x40 +/* 3731E4 E006EA54 00031880 */ sll $v1, $v1, 2 +/* 3731E8 E006EA58 30630FFF */ andi $v1, $v1, 0xfff +/* 3731EC E006EA5C 00031B00 */ sll $v1, $v1, 0xc +/* 3731F0 E006EA60 006B1825 */ or $v1, $v1, $t3 +/* 3731F4 E006EA64 AEA50000 */ sw $a1, ($s5) +/* 3731F8 E006EA68 ACC20018 */ sw $v0, 0x18($a2) +/* 3731FC E006EA6C 33C200FF */ andi $v0, $fp, 0xff +/* 373200 E006EA70 ACC3001C */ sw $v1, 0x1c($a2) +/* 373204 E006EA74 00073E00 */ sll $a3, $a3, 0x18 +/* 373208 E006EA78 00084400 */ sll $t0, $t0, 0x10 +/* 37320C E006EA7C 00E83825 */ or $a3, $a3, $t0 +/* 373210 E006EA80 00094A00 */ sll $t1, $t1, 8 +/* 373214 E006EA84 00E93825 */ or $a3, $a3, $t1 +/* 373218 E006EA88 00E23825 */ or $a3, $a3, $v0 +/* 37321C E006EA8C ACC7000C */ sw $a3, 0xc($a2) +/* 373220 E006EA90 8E85000C */ lw $a1, 0xc($s4) +/* 373224 E006EA94 8E860010 */ lw $a2, 0x10($s4) +/* 373228 E006EA98 8E870014 */ lw $a3, 0x14($s4) +/* 37322C E006EA9C 4480A000 */ mtc1 $zero, $f20 +/* 373230 E006EAA0 0C080108 */ jal func_E0200420 +/* 373234 E006EAA4 36731630 */ ori $s3, $s3, 0x1630 +/* 373238 E006EAA8 27B00058 */ addiu $s0, $sp, 0x58 +/* 37323C E006EAAC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 373240 E006EAB0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 373244 E006EAB4 4406A000 */ mfc1 $a2, $f20 +/* 373248 E006EAB8 00031080 */ sll $v0, $v1, 2 +/* 37324C E006EABC 00431021 */ addu $v0, $v0, $v1 +/* 373250 E006EAC0 00021080 */ sll $v0, $v0, 2 +/* 373254 E006EAC4 00431023 */ subu $v0, $v0, $v1 +/* 373258 E006EAC8 000218C0 */ sll $v1, $v0, 3 +/* 37325C E006EACC 00431021 */ addu $v0, $v0, $v1 +/* 373260 E006EAD0 000210C0 */ sll $v0, $v0, 3 +/* 373264 E006EAD4 3C01800B */ lui $at, 0x800b +/* 373268 E006EAD8 00220821 */ addu $at, $at, $v0 +/* 37326C E006EADC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 373270 E006EAE0 3C073F80 */ lui $a3, 0x3f80 +/* 373274 E006EAE4 46000007 */ neg.s $f0, $f0 +/* 373278 E006EAE8 44050000 */ mfc1 $a1, $f0 +/* 37327C E006EAEC 0200202D */ daddu $a0, $s0, $zero +/* 373280 E006EAF0 0C080104 */ jal func_E0200410 +/* 373284 E006EAF4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 373288 E006EAF8 0200202D */ daddu $a0, $s0, $zero +/* 37328C E006EAFC 27A50018 */ addiu $a1, $sp, 0x18 +/* 373290 E006EB00 0C080114 */ jal func_E0200450 +/* 373294 E006EB04 00A0302D */ daddu $a2, $a1, $zero +/* 373298 E006EB08 0200202D */ daddu $a0, $s0, $zero +/* 37329C E006EB0C 8E850038 */ lw $a1, 0x38($s4) +/* 3732A0 E006EB10 4407A000 */ mfc1 $a3, $f20 +/* 3732A4 E006EB14 0C080110 */ jal func_E0200440 +/* 3732A8 E006EB18 00A0302D */ daddu $a2, $a1, $zero +/* 3732AC E006EB1C 0200202D */ daddu $a0, $s0, $zero +/* 3732B0 E006EB20 27A50018 */ addiu $a1, $sp, 0x18 +/* 3732B4 E006EB24 0C080114 */ jal func_E0200450 +/* 3732B8 E006EB28 00A0302D */ daddu $a2, $a1, $zero +/* 3732BC E006EB2C 27A40018 */ addiu $a0, $sp, 0x18 +/* 3732C0 E006EB30 3C108007 */ lui $s0, 0x8007 +/* 3732C4 E006EB34 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 3732C8 E006EB38 3C11800A */ lui $s1, 0x800a +/* 3732CC E006EB3C 2631A674 */ addiu $s1, $s1, -0x598c +/* 3732D0 E006EB40 96050000 */ lhu $a1, ($s0) +/* 3732D4 E006EB44 8E220000 */ lw $v0, ($s1) +/* 3732D8 E006EB48 00052980 */ sll $a1, $a1, 6 +/* 3732DC E006EB4C 00B32821 */ addu $a1, $a1, $s3 +/* 3732E0 E006EB50 0C080118 */ jal func_E0200460 +/* 3732E4 E006EB54 00452821 */ addu $a1, $v0, $a1 +/* 3732E8 E006EB58 3C06D838 */ lui $a2, 0xd838 +/* 3732EC E006EB5C 8EA40000 */ lw $a0, ($s5) +/* 3732F0 E006EB60 34C60002 */ ori $a2, $a2, 2 +/* 3732F4 E006EB64 0080282D */ daddu $a1, $a0, $zero +/* 3732F8 E006EB68 24840008 */ addiu $a0, $a0, 8 +/* 3732FC E006EB6C AEA40000 */ sw $a0, ($s5) +/* 373300 E006EB70 96020000 */ lhu $v0, ($s0) +/* 373304 E006EB74 3C03DA38 */ lui $v1, 0xda38 +/* 373308 E006EB78 ACA30000 */ sw $v1, ($a1) +/* 37330C E006EB7C 24430001 */ addiu $v1, $v0, 1 +/* 373310 E006EB80 3042FFFF */ andi $v0, $v0, 0xffff +/* 373314 E006EB84 00021180 */ sll $v0, $v0, 6 +/* 373318 E006EB88 A6030000 */ sh $v1, ($s0) +/* 37331C E006EB8C 8E230000 */ lw $v1, ($s1) +/* 373320 E006EB90 00531021 */ addu $v0, $v0, $s3 +/* 373324 E006EB94 00621821 */ addu $v1, $v1, $v0 +/* 373328 E006EB98 24820008 */ addiu $v0, $a0, 8 +/* 37332C E006EB9C ACA30004 */ sw $v1, 4($a1) +/* 373330 E006EBA0 AEA20000 */ sw $v0, ($s5) +/* 373334 E006EBA4 AC920000 */ sw $s2, ($a0) +/* 373338 E006EBA8 8FAC0098 */ lw $t4, 0x98($sp) +/* 37333C E006EBAC 24820010 */ addiu $v0, $a0, 0x10 +/* 373340 E006EBB0 AC8C0004 */ sw $t4, 4($a0) +/* 373344 E006EBB4 AEA20000 */ sw $v0, ($s5) +/* 373348 E006EBB8 24020040 */ addiu $v0, $zero, 0x40 +/* 37334C E006EBBC AC860008 */ sw $a2, 8($a0) +/* 373350 E006EBC0 AC82000C */ sw $v0, 0xc($a0) +/* 373354 E006EBC4 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 373358 E006EBC8 8FBE00C0 */ lw $fp, 0xc0($sp) +/* 37335C E006EBCC 8FB700BC */ lw $s7, 0xbc($sp) +/* 373360 E006EBD0 8FB600B8 */ lw $s6, 0xb8($sp) +/* 373364 E006EBD4 8FB500B4 */ lw $s5, 0xb4($sp) +/* 373368 E006EBD8 8FB400B0 */ lw $s4, 0xb0($sp) +/* 37336C E006EBDC 8FB300AC */ lw $s3, 0xac($sp) +/* 373370 E006EBE0 8FB200A8 */ lw $s2, 0xa8($sp) +/* 373374 E006EBE4 8FB100A4 */ lw $s1, 0xa4($sp) +/* 373378 E006EBE8 8FB000A0 */ lw $s0, 0xa0($sp) +/* 37337C E006EBEC D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 373380 E006EBF0 03E00008 */ jr $ra +/* 373384 E006EBF4 27BD00D0 */ addiu $sp, $sp, 0xd0 +/* 373388 E006EBF8 00000000 */ nop +/* 37338C E006EBFC 00000000 */ nop diff --git a/asm/nonmatchings/code_3740B0/func_E0070000.s b/asm/nonmatchings/code_3740B0/func_E0070000.s new file mode 100644 index 0000000000..eefc8272c8 --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E0070000.s @@ -0,0 +1,137 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0070000 +/* 3740B0 E0070000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3740B4 E0070004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3740B8 E0070008 4485A000 */ mtc1 $a1, $f20 +/* 3740BC E007000C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3740C0 E0070010 4486B000 */ mtc1 $a2, $f22 +/* 3740C4 E0070014 AFB30034 */ sw $s3, 0x34($sp) +/* 3740C8 E0070018 0080982D */ daddu $s3, $a0, $zero +/* 3740CC E007001C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3740D0 E0070020 4487C000 */ mtc1 $a3, $f24 +/* 3740D4 E0070024 27A40010 */ addiu $a0, $sp, 0x10 +/* 3740D8 E0070028 AFB20030 */ sw $s2, 0x30($sp) +/* 3740DC E007002C 8FB2006C */ lw $s2, 0x6c($sp) +/* 3740E0 E0070030 3C02E007 */ lui $v0, 0xe007 +/* 3740E4 E0070034 244201EC */ addiu $v0, $v0, 0x1ec +/* 3740E8 E0070038 AFA20018 */ sw $v0, 0x18($sp) +/* 3740EC E007003C 3C02E007 */ lui $v0, 0xe007 +/* 3740F0 E0070040 244201F4 */ addiu $v0, $v0, 0x1f4 +/* 3740F4 E0070044 AFA2001C */ sw $v0, 0x1c($sp) +/* 3740F8 E0070048 3C02E007 */ lui $v0, 0xe007 +/* 3740FC E007004C 244206F0 */ addiu $v0, $v0, 0x6f0 +/* 374100 E0070050 AFA20020 */ sw $v0, 0x20($sp) +/* 374104 E0070054 24020038 */ addiu $v0, $zero, 0x38 +/* 374108 E0070058 AFBF0038 */ sw $ra, 0x38($sp) +/* 37410C E007005C AFB1002C */ sw $s1, 0x2c($sp) +/* 374110 E0070060 AFB00028 */ sw $s0, 0x28($sp) +/* 374114 E0070064 AFA00010 */ sw $zero, 0x10($sp) +/* 374118 E0070068 AFA00024 */ sw $zero, 0x24($sp) +/* 37411C E007006C 0C080124 */ jal func_E0200490 +/* 374120 E0070070 AFA20014 */ sw $v0, 0x14($sp) +/* 374124 E0070074 240419BC */ addiu $a0, $zero, 0x19bc +/* 374128 E0070078 2411003D */ addiu $s1, $zero, 0x3d +/* 37412C E007007C 0040802D */ daddu $s0, $v0, $zero +/* 374130 E0070080 0C08012C */ jal func_E02004B0 +/* 374134 E0070084 AE110008 */ sw $s1, 8($s0) +/* 374138 E0070088 0040182D */ daddu $v1, $v0, $zero +/* 37413C E007008C 14600003 */ bnez $v1, .LE007009C +/* 374140 E0070090 AE03000C */ sw $v1, 0xc($s0) +.LE0070094: +/* 374144 E0070094 0801C025 */ j .LE0070094 +/* 374148 E0070098 00000000 */ nop +.LE007009C: +/* 37414C E007009C AC730000 */ sw $s3, ($v1) +/* 374150 E00700A0 1E400004 */ bgtz $s2, .LE00700B4 +/* 374154 E00700A4 AC60003C */ sw $zero, 0x3c($v1) +/* 374158 E00700A8 240203E8 */ addiu $v0, $zero, 0x3e8 +/* 37415C E00700AC 0801C02E */ j .LE00700B8 +/* 374160 E00700B0 AC620038 */ sw $v0, 0x38($v1) +.LE00700B4: +/* 374164 E00700B4 AC720038 */ sw $s2, 0x38($v1) +.LE00700B8: +/* 374168 E00700B8 240400FF */ addiu $a0, $zero, 0xff +/* 37416C E00700BC AC64004C */ sw $a0, 0x4c($v1) +/* 374170 E00700C0 E4740004 */ swc1 $f20, 4($v1) +/* 374174 E00700C4 E4760008 */ swc1 $f22, 8($v1) +/* 374178 E00700C8 E478000C */ swc1 $f24, 0xc($v1) +/* 37417C E00700CC C7A00068 */ lwc1 $f0, 0x68($sp) +/* 374180 E00700D0 2402001E */ addiu $v0, $zero, 0x1e +/* 374184 E00700D4 AC640040 */ sw $a0, 0x40($v1) +/* 374188 E00700D8 AC640044 */ sw $a0, 0x44($v1) +/* 37418C E00700DC AC640048 */ sw $a0, 0x48($v1) +/* 374190 E00700E0 E4600060 */ swc1 $f0, 0x60($v1) +/* 374194 E00700E4 44820000 */ mtc1 $v0, $f0 +/* 374198 E00700E8 00000000 */ nop +/* 37419C E00700EC 46800020 */ cvt.s.w $f0, $f0 +/* 3741A0 E00700F0 E4600010 */ swc1 $f0, 0x10($v1) +/* 3741A4 E00700F4 16600007 */ bnez $s3, .LE0070114 +/* 3741A8 E00700F8 E4600014 */ swc1 $f0, 0x14($v1) +/* 3741AC E00700FC 240200D7 */ addiu $v0, $zero, 0xd7 +/* 3741B0 E0070100 AC620050 */ sw $v0, 0x50($v1) +/* 3741B4 E0070104 240200EB */ addiu $v0, $zero, 0xeb +/* 3741B8 E0070108 AC640054 */ sw $a0, 0x54($v1) +/* 3741BC E007010C 0801C049 */ j .LE0070124 +/* 3741C0 E0070110 AC620058 */ sw $v0, 0x58($v1) +.LE0070114: +/* 3741C4 E0070114 2402007F */ addiu $v0, $zero, 0x7f +/* 3741C8 E0070118 AC640050 */ sw $a0, 0x50($v1) +/* 3741CC E007011C AC620054 */ sw $v0, 0x54($v1) +/* 3741D0 E0070120 AC640058 */ sw $a0, 0x58($v1) +.LE0070124: +/* 3741D4 E0070124 AC64005C */ sw $a0, 0x5c($v1) +/* 3741D8 E0070128 2A420014 */ slti $v0, $s2, 0x14 +/* 3741DC E007012C 10400009 */ beqz $v0, .LE0070154 +/* 3741E0 E0070130 2463006C */ addiu $v1, $v1, 0x6c +/* 3741E4 E0070134 2622FFFF */ addiu $v0, $s1, -1 +/* 3741E8 E0070138 3C0141A0 */ lui $at, 0x41a0 +/* 3741EC E007013C 44811000 */ mtc1 $at, $f2 +/* 3741F0 E0070140 44820000 */ mtc1 $v0, $f0 +/* 3741F4 E0070144 00000000 */ nop +/* 3741F8 E0070148 46800020 */ cvt.s.w $f0, $f0 +/* 3741FC E007014C 0801C05D */ j .LE0070174 +/* 374200 E0070150 46001083 */ div.s $f2, $f2, $f0 +.LE0070154: +/* 374204 E0070154 44920000 */ mtc1 $s2, $f0 +/* 374208 E0070158 00000000 */ nop +/* 37420C E007015C 46800020 */ cvt.s.w $f0, $f0 +/* 374210 E0070160 2622FFFF */ addiu $v0, $s1, -1 +/* 374214 E0070164 44821000 */ mtc1 $v0, $f2 +/* 374218 E0070168 00000000 */ nop +/* 37421C E007016C 468010A0 */ cvt.s.w $f2, $f2 +/* 374220 E0070170 46020083 */ div.s $f2, $f0, $f2 +.LE0070174: +/* 374224 E0070174 24040001 */ addiu $a0, $zero, 1 +/* 374228 E0070178 0091102A */ slt $v0, $a0, $s1 +/* 37422C E007017C 10400011 */ beqz $v0, .LE00701C4 +/* 374230 E0070180 0200102D */ daddu $v0, $s0, $zero +.LE0070184: +/* 374234 E0070184 44840000 */ mtc1 $a0, $f0 +/* 374238 E0070188 00000000 */ nop +/* 37423C E007018C 46800020 */ cvt.s.w $f0, $f0 +/* 374240 E0070190 46000007 */ neg.s $f0, $f0 +/* 374244 E0070194 46020002 */ mul.s $f0, $f0, $f2 +/* 374248 E0070198 00000000 */ nop +/* 37424C E007019C 24840001 */ addiu $a0, $a0, 1 +/* 374250 E00701A0 4600010D */ trunc.w.s $f4, $f0 +/* 374254 E00701A4 44022000 */ mfc1 $v0, $f4 +/* 374258 E00701A8 00000000 */ nop +/* 37425C E00701AC 2442FFFF */ addiu $v0, $v0, -1 +/* 374260 E00701B0 AC620030 */ sw $v0, 0x30($v1) +/* 374264 E00701B4 0091102A */ slt $v0, $a0, $s1 +/* 374268 E00701B8 1440FFF2 */ bnez $v0, .LE0070184 +/* 37426C E00701BC 2463006C */ addiu $v1, $v1, 0x6c +/* 374270 E00701C0 0200102D */ daddu $v0, $s0, $zero +.LE00701C4: +/* 374274 E00701C4 8FBF0038 */ lw $ra, 0x38($sp) +/* 374278 E00701C8 8FB30034 */ lw $s3, 0x34($sp) +/* 37427C E00701CC 8FB20030 */ lw $s2, 0x30($sp) +/* 374280 E00701D0 8FB1002C */ lw $s1, 0x2c($sp) +/* 374284 E00701D4 8FB00028 */ lw $s0, 0x28($sp) +/* 374288 E00701D8 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 37428C E00701DC D7B60048 */ ldc1 $f22, 0x48($sp) +/* 374290 E00701E0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 374294 E00701E4 03E00008 */ jr $ra +/* 374298 E00701E8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_3740B0/func_E00701EC.s b/asm/nonmatchings/code_3740B0/func_E00701EC.s new file mode 100644 index 0000000000..167655b808 --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E00701EC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00701EC +/* 37429C E00701EC 03E00008 */ jr $ra +/* 3742A0 E00701F0 00000000 */ nop diff --git a/asm/nonmatchings/code_3740B0/func_E00701F4.s b/asm/nonmatchings/code_3740B0/func_E00701F4.s new file mode 100644 index 0000000000..5a640e7971 --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E00701F4.s @@ -0,0 +1,334 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00701F4 +/* 3742A4 E00701F4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 3742A8 E00701F8 AFB20028 */ sw $s2, 0x28($sp) +/* 3742AC E00701FC 0080902D */ daddu $s2, $a0, $zero +/* 3742B0 E0070200 AFBF0034 */ sw $ra, 0x34($sp) +/* 3742B4 E0070204 AFB40030 */ sw $s4, 0x30($sp) +/* 3742B8 E0070208 AFB3002C */ sw $s3, 0x2c($sp) +/* 3742BC E007020C AFB10024 */ sw $s1, 0x24($sp) +/* 3742C0 E0070210 AFB00020 */ sw $s0, 0x20($sp) +/* 3742C4 E0070214 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 3742C8 E0070218 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 3742CC E007021C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 3742D0 E0070220 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3742D4 E0070224 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3742D8 E0070228 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3742DC E007022C 8E440000 */ lw $a0, ($s2) +/* 3742E0 E0070230 8E43000C */ lw $v1, 0xc($s2) +/* 3742E4 E0070234 30820010 */ andi $v0, $a0, 0x10 +/* 3742E8 E0070238 8C740000 */ lw $s4, ($v1) +/* 3742EC E007023C 10400005 */ beqz $v0, .LE0070254 +/* 3742F0 E0070240 2402FFEF */ addiu $v0, $zero, -0x11 +/* 3742F4 E0070244 00821024 */ and $v0, $a0, $v0 +/* 3742F8 E0070248 AE420000 */ sw $v0, ($s2) +/* 3742FC E007024C 24020010 */ addiu $v0, $zero, 0x10 +/* 374300 E0070250 AC620038 */ sw $v0, 0x38($v1) +.LE0070254: +/* 374304 E0070254 8C640038 */ lw $a0, 0x38($v1) +/* 374308 E0070258 288203E8 */ slti $v0, $a0, 0x3e8 +/* 37430C E007025C 10400002 */ beqz $v0, .LE0070268 +/* 374310 E0070260 2482FFFF */ addiu $v0, $a0, -1 +/* 374314 E0070264 AC620038 */ sw $v0, 0x38($v1) +.LE0070268: +/* 374318 E0070268 8C62003C */ lw $v0, 0x3c($v1) +/* 37431C E007026C 8C640038 */ lw $a0, 0x38($v1) +/* 374320 E0070270 24420001 */ addiu $v0, $v0, 1 +/* 374324 E0070274 04810005 */ bgez $a0, .LE007028C +/* 374328 E0070278 AC62003C */ sw $v0, 0x3c($v1) +/* 37432C E007027C 0C080128 */ jal func_E02004A0 +/* 374330 E0070280 0240202D */ daddu $a0, $s2, $zero +/* 374334 E0070284 0801C1AE */ j .LE00706B8 +/* 374338 E0070288 00000000 */ nop +.LE007028C: +/* 37433C E007028C 28820008 */ slti $v0, $a0, 8 +/* 374340 E0070290 10400002 */ beqz $v0, .LE007029C +/* 374344 E0070294 00041140 */ sll $v0, $a0, 5 +/* 374348 E0070298 AC62004C */ sw $v0, 0x4c($v1) +.LE007029C: +/* 37434C E007029C C47A0010 */ lwc1 $f26, 0x10($v1) +/* 374350 E00702A0 C4780014 */ lwc1 $f24, 0x14($v1) +/* 374354 E00702A4 E7B80010 */ swc1 $f24, 0x10($sp) +/* 374358 E00702A8 8E420008 */ lw $v0, 8($s2) +/* 37435C E00702AC 24110001 */ addiu $s1, $zero, 1 +/* 374360 E00702B0 0222102A */ slt $v0, $s1, $v0 +/* 374364 E00702B4 10400100 */ beqz $v0, .LE00706B8 +/* 374368 E00702B8 2463006C */ addiu $v1, $v1, 0x6c +/* 37436C E00702BC 4600D60D */ trunc.w.s $f24, $f26 +/* 374370 E00702C0 4413C000 */ mfc1 $s3, $f24 +/* 374374 E00702C4 24700020 */ addiu $s0, $v1, 0x20 +/* 374378 E00702C8 3C01E007 */ lui $at, 0xe007 +/* 37437C E00702CC D43E0D60 */ ldc1 $f30, 0xd60($at) +/* 374380 E00702D0 3C01E007 */ lui $at, 0xe007 +/* 374384 E00702D4 D43C0D68 */ ldc1 $f28, 0xd68($at) +.LE00702D8: +/* 374388 E00702D8 8E020010 */ lw $v0, 0x10($s0) +/* 37438C E00702DC 24420001 */ addiu $v0, $v0, 1 +/* 374390 E00702E0 AE020010 */ sw $v0, 0x10($s0) +/* 374394 E00702E4 28420014 */ slti $v0, $v0, 0x14 +/* 374398 E00702E8 50400001 */ beql $v0, $zero, .LE00702F0 +/* 37439C E00702EC AE000010 */ sw $zero, 0x10($s0) +.LE00702F0: +/* 3743A0 E00702F0 8E020010 */ lw $v0, 0x10($s0) +/* 3743A4 E00702F4 044200EC */ bltzl $v0, .LE00706A8 +/* 3743A8 E00702F8 26310001 */ addiu $s1, $s1, 1 +/* 3743AC E00702FC 144000A6 */ bnez $v0, .LE0070598 +/* 3743B0 E0070300 00000000 */ nop +/* 3743B4 E0070304 0C080138 */ jal func_E02004E0 +/* 3743B8 E0070308 24040167 */ addiu $a0, $zero, 0x167 +/* 3743BC E007030C 24040167 */ addiu $a0, $zero, 0x167 +/* 3743C0 E0070310 4482C000 */ mtc1 $v0, $f24 +/* 3743C4 E0070314 00000000 */ nop +/* 3743C8 E0070318 4680C620 */ cvt.s.w $f24, $f24 +/* 3743CC E007031C 0C080138 */ jal func_E02004E0 +/* 3743D0 E0070320 E7B80018 */ swc1 $f24, 0x18($sp) +/* 3743D4 E0070324 4482B000 */ mtc1 $v0, $f22 +/* 3743D8 E0070328 00000000 */ nop +/* 3743DC E007032C 1680003F */ bnez $s4, .LE007042C +/* 3743E0 E0070330 4680B5A0 */ cvt.s.w $f22, $f22 +/* 3743E4 E0070334 0C080140 */ jal func_E0200500 +/* 3743E8 E0070338 C7AC0018 */ lwc1 $f12, 0x18($sp) +/* 3743EC E007033C 4600B306 */ mov.s $f12, $f22 +/* 3743F0 E0070340 0C080144 */ jal func_E0200510 +/* 3743F4 E0070344 46000506 */ mov.s $f20, $f0 +/* 3743F8 E0070348 4614D502 */ mul.s $f20, $f26, $f20 +/* 3743FC E007034C 00000000 */ nop +/* 374400 E0070350 4600A502 */ mul.s $f20, $f20, $f0 +/* 374404 E0070354 00000000 */ nop +/* 374408 E0070358 C7AC0018 */ lwc1 $f12, 0x18($sp) +/* 37440C E007035C 0C080144 */ jal func_E0200510 +/* 374410 E0070360 E614FFE4 */ swc1 $f20, -0x1c($s0) +/* 374414 E0070364 4600B306 */ mov.s $f12, $f22 +/* 374418 E0070368 0C080144 */ jal func_E0200510 +/* 37441C E007036C 46000506 */ mov.s $f20, $f0 +/* 374420 E0070370 C7B80010 */ lwc1 $f24, 0x10($sp) +/* 374424 E0070374 4614C502 */ mul.s $f20, $f24, $f20 +/* 374428 E0070378 00000000 */ nop +/* 37442C E007037C 4600A502 */ mul.s $f20, $f20, $f0 +/* 374430 E0070380 00000000 */ nop +/* 374434 E0070384 4600B306 */ mov.s $f12, $f22 +/* 374438 E0070388 0C080140 */ jal func_E0200500 +/* 37443C E007038C E614FFE8 */ swc1 $f20, -0x18($s0) +/* 374440 E0070390 C602FFE4 */ lwc1 $f2, -0x1c($s0) +/* 374444 E0070394 3C01E007 */ lui $at, 0xe007 +/* 374448 E0070398 D4380D70 */ ldc1 $f24, 0xd70($at) +/* 37444C E007039C 460010A1 */ cvt.d.s $f2, $f2 +/* 374450 E00703A0 46381082 */ mul.d $f2, $f2, $f24 +/* 374454 E00703A4 00000000 */ nop +/* 374458 E00703A8 C604FFE8 */ lwc1 $f4, -0x18($s0) +/* 37445C E00703AC 46002121 */ cvt.d.s $f4, $f4 +/* 374460 E00703B0 46382102 */ mul.d $f4, $f4, $f24 +/* 374464 E00703B4 00000000 */ nop +/* 374468 E00703B8 4600D002 */ mul.s $f0, $f26, $f0 +/* 37446C E00703BC 00000000 */ nop +/* 374470 E00703C0 E600FFEC */ swc1 $f0, -0x14($s0) +/* 374474 E00703C4 46000021 */ cvt.d.s $f0, $f0 +/* 374478 E00703C8 46380002 */ mul.d $f0, $f0, $f24 +/* 37447C E00703CC 00000000 */ nop +/* 374480 E00703D0 3C01E007 */ lui $at, 0xe007 +/* 374484 E00703D4 D4380D78 */ ldc1 $f24, 0xd78($at) +/* 374488 E00703D8 462010A0 */ cvt.s.d $f2, $f2 +/* 37448C E00703DC E602FFF8 */ swc1 $f2, -8($s0) +/* 374490 E00703E0 46001186 */ mov.s $f6, $f2 +/* 374494 E00703E4 460031A1 */ cvt.d.s $f6, $f6 +/* 374498 E00703E8 46383182 */ mul.d $f6, $f6, $f24 +/* 37449C E00703EC 00000000 */ nop +/* 3744A0 E00703F0 46202120 */ cvt.s.d $f4, $f4 +/* 3744A4 E00703F4 E604FFFC */ swc1 $f4, -4($s0) +/* 3744A8 E00703F8 46002086 */ mov.s $f2, $f4 +/* 3744AC E00703FC 460010A1 */ cvt.d.s $f2, $f2 +/* 3744B0 E0070400 46381082 */ mul.d $f2, $f2, $f24 +/* 3744B4 E0070404 00000000 */ nop +/* 3744B8 E0070408 46200020 */ cvt.s.d $f0, $f0 +/* 3744BC E007040C E6000000 */ swc1 $f0, ($s0) +/* 3744C0 E0070410 46000021 */ cvt.d.s $f0, $f0 +/* 3744C4 E0070414 46380002 */ mul.d $f0, $f0, $f24 +/* 3744C8 E0070418 00000000 */ nop +/* 3744CC E007041C 462031A0 */ cvt.s.d $f6, $f6 +/* 3744D0 E0070420 462010A0 */ cvt.s.d $f2, $f2 +/* 3744D4 E0070424 0801C154 */ j .LE0070550 +/* 3744D8 E0070428 E6060004 */ swc1 $f6, 4($s0) +.LE007042C: +/* 3744DC E007042C 0C080138 */ jal func_E02004E0 +/* 3744E0 E0070430 0260202D */ daddu $a0, $s3, $zero +/* 3744E4 E0070434 3C013FE0 */ lui $at, 0x3fe0 +/* 3744E8 E0070438 4481C800 */ mtc1 $at, $f25 +/* 3744EC E007043C 4480C000 */ mtc1 $zero, $f24 +/* 3744F0 E0070440 4600D521 */ cvt.d.s $f20, $f26 +/* 3744F4 E0070444 4638A502 */ mul.d $f20, $f20, $f24 +/* 3744F8 E0070448 00000000 */ nop +/* 3744FC E007044C 44820000 */ mtc1 $v0, $f0 +/* 374500 E0070450 00000000 */ nop +/* 374504 E0070454 46800021 */ cvt.d.w $f0, $f0 +/* 374508 E0070458 C7B80010 */ lwc1 $f24, 0x10($sp) +/* 37450C E007045C 46340001 */ sub.d $f0, $f0, $f20 +/* 374510 E0070460 4600C60D */ trunc.w.s $f24, $f24 +/* 374514 E0070464 4404C000 */ mfc1 $a0, $f24 +/* 374518 E0070468 46200020 */ cvt.s.d $f0, $f0 +/* 37451C E007046C 0C080138 */ jal func_E02004E0 +/* 374520 E0070470 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 374524 E0070474 C7B80010 */ lwc1 $f24, 0x10($sp) +/* 374528 E0070478 4600C0A1 */ cvt.d.s $f2, $f24 +/* 37452C E007047C 3C013FE0 */ lui $at, 0x3fe0 +/* 374530 E0070480 4481C800 */ mtc1 $at, $f25 +/* 374534 E0070484 4480C000 */ mtc1 $zero, $f24 +/* 374538 E0070488 00000000 */ nop +/* 37453C E007048C 46381082 */ mul.d $f2, $f2, $f24 +/* 374540 E0070490 00000000 */ nop +/* 374544 E0070494 44820000 */ mtc1 $v0, $f0 +/* 374548 E0070498 00000000 */ nop +/* 37454C E007049C 46800021 */ cvt.d.w $f0, $f0 +/* 374550 E00704A0 46220001 */ sub.d $f0, $f0, $f2 +/* 374554 E00704A4 0260202D */ daddu $a0, $s3, $zero +/* 374558 E00704A8 46200020 */ cvt.s.d $f0, $f0 +/* 37455C E00704AC 0C080138 */ jal func_E02004E0 +/* 374560 E00704B0 E600FFE8 */ swc1 $f0, -0x18($s0) +/* 374564 E00704B4 C602FFE4 */ lwc1 $f2, -0x1c($s0) +/* 374568 E00704B8 3C01E007 */ lui $at, 0xe007 +/* 37456C E00704BC D4380D80 */ ldc1 $f24, 0xd80($at) +/* 374570 E00704C0 460010A1 */ cvt.d.s $f2, $f2 +/* 374574 E00704C4 46381082 */ mul.d $f2, $f2, $f24 +/* 374578 E00704C8 00000000 */ nop +/* 37457C E00704CC C606FFE8 */ lwc1 $f6, -0x18($s0) +/* 374580 E00704D0 460031A1 */ cvt.d.s $f6, $f6 +/* 374584 E00704D4 46383182 */ mul.d $f6, $f6, $f24 +/* 374588 E00704D8 00000000 */ nop +/* 37458C E00704DC 44820000 */ mtc1 $v0, $f0 +/* 374590 E00704E0 00000000 */ nop +/* 374594 E00704E4 46800021 */ cvt.d.w $f0, $f0 +/* 374598 E00704E8 46340001 */ sub.d $f0, $f0, $f20 +/* 37459C E00704EC 46200020 */ cvt.s.d $f0, $f0 +/* 3745A0 E00704F0 E600FFEC */ swc1 $f0, -0x14($s0) +/* 3745A4 E00704F4 46000021 */ cvt.d.s $f0, $f0 +/* 3745A8 E00704F8 46380002 */ mul.d $f0, $f0, $f24 +/* 3745AC E00704FC 00000000 */ nop +/* 3745B0 E0070500 462010A0 */ cvt.s.d $f2, $f2 +/* 3745B4 E0070504 E602FFF8 */ swc1 $f2, -8($s0) +/* 3745B8 E0070508 46001106 */ mov.s $f4, $f2 +/* 3745BC E007050C 46002121 */ cvt.d.s $f4, $f4 +/* 3745C0 E0070510 463E2102 */ mul.d $f4, $f4, $f30 +/* 3745C4 E0070514 00000000 */ nop +/* 3745C8 E0070518 462031A0 */ cvt.s.d $f6, $f6 +/* 3745CC E007051C E606FFFC */ swc1 $f6, -4($s0) +/* 3745D0 E0070520 46003086 */ mov.s $f2, $f6 +/* 3745D4 E0070524 460010A1 */ cvt.d.s $f2, $f2 +/* 3745D8 E0070528 463E1082 */ mul.d $f2, $f2, $f30 +/* 3745DC E007052C 00000000 */ nop +/* 3745E0 E0070530 46200020 */ cvt.s.d $f0, $f0 +/* 3745E4 E0070534 E6000000 */ swc1 $f0, ($s0) +/* 3745E8 E0070538 46000021 */ cvt.d.s $f0, $f0 +/* 3745EC E007053C 463E0002 */ mul.d $f0, $f0, $f30 +/* 3745F0 E0070540 00000000 */ nop +/* 3745F4 E0070544 46202120 */ cvt.s.d $f4, $f4 +/* 3745F8 E0070548 462010A0 */ cvt.s.d $f2, $f2 +/* 3745FC E007054C E6040004 */ swc1 $f4, 4($s0) +.LE0070550: +/* 374600 E0070550 E6020008 */ swc1 $f2, 8($s0) +/* 374604 E0070554 46200020 */ cvt.s.d $f0, $f0 +/* 374608 E0070558 E600000C */ swc1 $f0, 0xc($s0) +/* 37460C E007055C 0C080138 */ jal func_E02004E0 +/* 374610 E0070560 2404000F */ addiu $a0, $zero, 0xf +/* 374614 E0070564 2404000F */ addiu $a0, $zero, 0xf +/* 374618 E0070568 44820000 */ mtc1 $v0, $f0 +/* 37461C E007056C 00000000 */ nop +/* 374620 E0070570 46800020 */ cvt.s.w $f0, $f0 +/* 374624 E0070574 0C080138 */ jal func_E02004E0 +/* 374628 E0070578 E6000044 */ swc1 $f0, 0x44($s0) +/* 37462C E007057C 44820000 */ mtc1 $v0, $f0 +/* 374630 E0070580 00000000 */ nop +/* 374634 E0070584 46800020 */ cvt.s.w $f0, $f0 +/* 374638 E0070588 240200FF */ addiu $v0, $zero, 0xff +/* 37463C E007058C E6000048 */ swc1 $f0, 0x48($s0) +/* 374640 E0070590 AE000014 */ sw $zero, 0x14($s0) +/* 374644 E0070594 AE02002C */ sw $v0, 0x2c($s0) +.LE0070598: +/* 374648 E0070598 C610FFF8 */ lwc1 $f16, -8($s0) +/* 37464C E007059C C60A0004 */ lwc1 $f10, 4($s0) +/* 374650 E00705A0 46105281 */ sub.s $f10, $f10, $f16 +/* 374654 E00705A4 460052A1 */ cvt.d.s $f10, $f10 +/* 374658 E00705A8 463C5282 */ mul.d $f10, $f10, $f28 +/* 37465C E00705AC 00000000 */ nop +/* 374660 E00705B0 C60EFFFC */ lwc1 $f14, -4($s0) +/* 374664 E00705B4 C60C0008 */ lwc1 $f12, 8($s0) +/* 374668 E00705B8 460E6301 */ sub.s $f12, $f12, $f14 +/* 37466C E00705BC 46006321 */ cvt.d.s $f12, $f12 +/* 374670 E00705C0 463C6302 */ mul.d $f12, $f12, $f28 +/* 374674 E00705C4 00000000 */ nop +/* 374678 E00705C8 C6060000 */ lwc1 $f6, ($s0) +/* 37467C E00705CC C608000C */ lwc1 $f8, 0xc($s0) +/* 374680 E00705D0 46064201 */ sub.s $f8, $f8, $f6 +/* 374684 E00705D4 46004221 */ cvt.d.s $f8, $f8 +/* 374688 E00705D8 463C4202 */ mul.d $f8, $f8, $f28 +/* 37468C E00705DC 00000000 */ nop +/* 374690 E00705E0 8E020010 */ lw $v0, 0x10($s0) +/* 374694 E00705E4 C6160014 */ lwc1 $f22, 0x14($s0) +/* 374698 E00705E8 3C014080 */ lui $at, 0x4080 +/* 37469C E00705EC 44810000 */ mtc1 $at, $f0 +/* 3746A0 E00705F0 C604FFE4 */ lwc1 $f4, -0x1c($s0) +/* 3746A4 E00705F4 C614FFE8 */ lwc1 $f20, -0x18($s0) +/* 3746A8 E00705F8 C612FFEC */ lwc1 $f18, -0x14($s0) +/* 3746AC E00705FC 4600B580 */ add.s $f22, $f22, $f0 +/* 3746B0 E0070600 00021080 */ sll $v0, $v0, 2 +/* 3746B4 E0070604 46008006 */ mov.s $f0, $f16 +/* 3746B8 E0070608 46002100 */ add.s $f4, $f4, $f0 +/* 3746BC E007060C 46007006 */ mov.s $f0, $f14 +/* 3746C0 E0070610 46008421 */ cvt.d.s $f16, $f16 +/* 3746C4 E0070614 3C01E007 */ lui $at, 0xe007 +/* 3746C8 E0070618 00220821 */ addu $at, $at, $v0 +/* 3746CC E007061C C4220CF0 */ lwc1 $f2, 0xcf0($at) +/* 3746D0 E0070620 4600A500 */ add.s $f20, $f20, $f0 +/* 3746D4 E0070624 E6020040 */ swc1 $f2, 0x40($s0) +/* 3746D8 E0070628 46003086 */ mov.s $f2, $f6 +/* 3746DC E007062C 46029480 */ add.s $f18, $f18, $f2 +/* 3746E0 E0070630 C6020044 */ lwc1 $f2, 0x44($s0) +/* 3746E4 E0070634 3C01E007 */ lui $at, 0xe007 +/* 3746E8 E0070638 D4200D88 */ ldc1 $f0, 0xd88($at) +/* 3746EC E007063C 460010A1 */ cvt.d.s $f2, $f2 +/* 3746F0 E0070640 46201080 */ add.d $f2, $f2, $f0 +/* 3746F4 E0070644 C6000048 */ lwc1 $f0, 0x48($s0) +/* 3746F8 E0070648 460073A1 */ cvt.d.s $f14, $f14 +/* 3746FC E007064C E604FFE4 */ swc1 $f4, -0x1c($s0) +/* 374700 E0070650 3C01E007 */ lui $at, 0xe007 +/* 374704 E0070654 D4240D90 */ ldc1 $f4, 0xd90($at) +/* 374708 E0070658 460031A1 */ cvt.d.s $f6, $f6 +/* 37470C E007065C E6160014 */ swc1 $f22, 0x14($s0) +/* 374710 E0070660 46000021 */ cvt.d.s $f0, $f0 +/* 374714 E0070664 46240000 */ add.d $f0, $f0, $f4 +/* 374718 E0070668 E614FFE8 */ swc1 $f20, -0x18($s0) +/* 37471C E007066C E612FFEC */ swc1 $f18, -0x14($s0) +/* 374720 E0070670 462A8400 */ add.d $f16, $f16, $f10 +/* 374724 E0070674 462010A0 */ cvt.s.d $f2, $f2 +/* 374728 E0070678 E6020044 */ swc1 $f2, 0x44($s0) +/* 37472C E007067C 462C7380 */ add.d $f14, $f14, $f12 +/* 374730 E0070680 46200020 */ cvt.s.d $f0, $f0 +/* 374734 E0070684 E6000048 */ swc1 $f0, 0x48($s0) +/* 374738 E0070688 46283180 */ add.d $f6, $f6, $f8 +/* 37473C E007068C 46208420 */ cvt.s.d $f16, $f16 +/* 374740 E0070690 462073A0 */ cvt.s.d $f14, $f14 +/* 374744 E0070694 462031A0 */ cvt.s.d $f6, $f6 +/* 374748 E0070698 E610FFF8 */ swc1 $f16, -8($s0) +/* 37474C E007069C E60EFFFC */ swc1 $f14, -4($s0) +/* 374750 E00706A0 E6060000 */ swc1 $f6, ($s0) +/* 374754 E00706A4 26310001 */ addiu $s1, $s1, 1 +.LE00706A8: +/* 374758 E00706A8 8E420008 */ lw $v0, 8($s2) +/* 37475C E00706AC 0222102A */ slt $v0, $s1, $v0 +/* 374760 E00706B0 1440FF09 */ bnez $v0, .LE00702D8 +/* 374764 E00706B4 2610006C */ addiu $s0, $s0, 0x6c +.LE00706B8: +/* 374768 E00706B8 8FBF0034 */ lw $ra, 0x34($sp) +/* 37476C E00706BC 8FB40030 */ lw $s4, 0x30($sp) +/* 374770 E00706C0 8FB3002C */ lw $s3, 0x2c($sp) +/* 374774 E00706C4 8FB20028 */ lw $s2, 0x28($sp) +/* 374778 E00706C8 8FB10024 */ lw $s1, 0x24($sp) +/* 37477C E00706CC 8FB00020 */ lw $s0, 0x20($sp) +/* 374780 E00706D0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 374784 E00706D4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 374788 E00706D8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 37478C E00706DC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 374790 E00706E0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 374794 E00706E4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 374798 E00706E8 03E00008 */ jr $ra +/* 37479C E00706EC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_3740B0/func_E00706F0.s b/asm/nonmatchings/code_3740B0/func_E00706F0.s new file mode 100644 index 0000000000..2b105fc3ca --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E00706F0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00706F0 +/* 3747A0 E00706F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3747A4 E00706F4 3C02E007 */ lui $v0, 0xe007 +/* 3747A8 E00706F8 24420740 */ addiu $v0, $v0, 0x740 +/* 3747AC E00706FC AFA2001C */ sw $v0, 0x1c($sp) +/* 3747B0 E0070700 2402000A */ addiu $v0, $zero, 0xa +/* 3747B4 E0070704 AFA20014 */ sw $v0, 0x14($sp) +/* 3747B8 E0070708 2402002D */ addiu $v0, $zero, 0x2d +/* 3747BC E007070C AFA40018 */ sw $a0, 0x18($sp) +/* 3747C0 E0070710 27A40010 */ addiu $a0, $sp, 0x10 +/* 3747C4 E0070714 AFBF0020 */ sw $ra, 0x20($sp) +/* 3747C8 E0070718 0C080120 */ jal func_E0200480 +/* 3747CC E007071C AFA20010 */ sw $v0, 0x10($sp) +/* 3747D0 E0070720 8C430000 */ lw $v1, ($v0) +/* 3747D4 E0070724 34630002 */ ori $v1, $v1, 2 +/* 3747D8 E0070728 AC430000 */ sw $v1, ($v0) +/* 3747DC E007072C 8FBF0020 */ lw $ra, 0x20($sp) +/* 3747E0 E0070730 03E00008 */ jr $ra +/* 3747E4 E0070734 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3740B0/func_E0070738.s b/asm/nonmatchings/code_3740B0/func_E0070738.s new file mode 100644 index 0000000000..9b5601f86c --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E0070738.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0070738 +/* 3747E8 E0070738 03E00008 */ jr $ra +/* 3747EC E007073C 00000000 */ nop diff --git a/asm/nonmatchings/code_3740B0/func_E0070740.s b/asm/nonmatchings/code_3740B0/func_E0070740.s new file mode 100644 index 0000000000..38023185ed --- /dev/null +++ b/asm/nonmatchings/code_3740B0/func_E0070740.s @@ -0,0 +1,365 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0070740 +/* 3747F0 E0070740 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 3747F4 E0070744 3C06DB06 */ lui $a2, 0xdb06 +/* 3747F8 E0070748 34C60024 */ ori $a2, $a2, 0x24 +/* 3747FC E007074C AFA400F0 */ sw $a0, 0xf0($sp) +/* 374800 E0070750 27A40020 */ addiu $a0, $sp, 0x20 +/* 374804 E0070754 AFB100B4 */ sw $s1, 0xb4($sp) +/* 374808 E0070758 3C110001 */ lui $s1, 1 +/* 37480C E007075C 36311630 */ ori $s1, $s1, 0x1630 +/* 374810 E0070760 AFB500C4 */ sw $s5, 0xc4($sp) +/* 374814 E0070764 3C15800A */ lui $s5, 0x800a +/* 374818 E0070768 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 37481C E007076C AFBF00D4 */ sw $ra, 0xd4($sp) +/* 374820 E0070770 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 374824 E0070774 AFB700CC */ sw $s7, 0xcc($sp) +/* 374828 E0070778 AFB600C8 */ sw $s6, 0xc8($sp) +/* 37482C E007077C AFB400C0 */ sw $s4, 0xc0($sp) +/* 374830 E0070780 AFB300BC */ sw $s3, 0xbc($sp) +/* 374834 E0070784 AFB200B8 */ sw $s2, 0xb8($sp) +/* 374838 E0070788 AFB000B0 */ sw $s0, 0xb0($sp) +/* 37483C E007078C F7B800E8 */ sdc1 $f24, 0xe8($sp) +/* 374840 E0070790 F7B600E0 */ sdc1 $f22, 0xe0($sp) +/* 374844 E0070794 F7B400D8 */ sdc1 $f20, 0xd8($sp) +/* 374848 E0070798 8EA50000 */ lw $a1, ($s5) +/* 37484C E007079C 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 374850 E00707A0 00A0182D */ daddu $v1, $a1, $zero +/* 374854 E00707A4 8D52000C */ lw $s2, 0xc($t2) +/* 374858 E00707A8 24A50008 */ addiu $a1, $a1, 8 +/* 37485C E00707AC AEA50000 */ sw $a1, ($s5) +/* 374860 E00707B0 8E4A0050 */ lw $t2, 0x50($s2) +/* 374864 E00707B4 C642004C */ lwc1 $f2, 0x4c($s2) +/* 374868 E00707B8 468010A0 */ cvt.s.w $f2, $f2 +/* 37486C E00707BC AFAA00A0 */ sw $t2, 0xa0($sp) +/* 374870 E00707C0 8E4A0054 */ lw $t2, 0x54($s2) +/* 374874 E00707C4 24130001 */ addiu $s3, $zero, 1 +/* 374878 E00707C8 AFAA00A4 */ sw $t2, 0xa4($sp) +/* 37487C E00707CC 8E4A0058 */ lw $t2, 0x58($s2) +/* 374880 E00707D0 3C02E700 */ lui $v0, 0xe700 +/* 374884 E00707D4 AFAA00A8 */ sw $t2, 0xa8($sp) +/* 374888 E00707D8 AC620000 */ sw $v0, ($v1) +/* 37488C E00707DC AC600004 */ sw $zero, 4($v1) +/* 374890 E00707E0 ACA60000 */ sw $a2, ($a1) +/* 374894 E00707E4 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 374898 E00707E8 3C01437F */ lui $at, 0x437f +/* 37489C E00707EC 44810000 */ mtc1 $at, $f0 +/* 3748A0 E00707F0 8D430010 */ lw $v1, 0x10($t2) +/* 3748A4 E00707F4 24A20008 */ addiu $v0, $a1, 8 +/* 3748A8 E00707F8 AEA20000 */ sw $v0, ($s5) +/* 3748AC E00707FC 8C62001C */ lw $v0, 0x1c($v1) +/* 3748B0 E0070800 3C038000 */ lui $v1, 0x8000 +/* 3748B4 E0070804 00431021 */ addu $v0, $v0, $v1 +/* 3748B8 E0070808 ACA20004 */ sw $v0, 4($a1) +/* 3748BC E007080C 8E450004 */ lw $a1, 4($s2) +/* 3748C0 E0070810 8E460008 */ lw $a2, 8($s2) +/* 3748C4 E0070814 8E47000C */ lw $a3, 0xc($s2) +/* 3748C8 E0070818 0C080108 */ jal func_E0200420 +/* 3748CC E007081C 46001503 */ div.s $f20, $f2, $f0 +/* 3748D0 E0070820 27B00060 */ addiu $s0, $sp, 0x60 +/* 3748D4 E0070824 8E450060 */ lw $a1, 0x60($s2) +/* 3748D8 E0070828 0200202D */ daddu $a0, $s0, $zero +/* 3748DC E007082C 00A0302D */ daddu $a2, $a1, $zero +/* 3748E0 E0070830 0C080110 */ jal func_E0200440 +/* 3748E4 E0070834 00A0382D */ daddu $a3, $a1, $zero +/* 3748E8 E0070838 0200202D */ daddu $a0, $s0, $zero +/* 3748EC E007083C 27A50020 */ addiu $a1, $sp, 0x20 +/* 3748F0 E0070840 0C080114 */ jal func_E0200450 +/* 3748F4 E0070844 00A0302D */ daddu $a2, $a1, $zero +/* 3748F8 E0070848 27A40020 */ addiu $a0, $sp, 0x20 +/* 3748FC E007084C 3C108007 */ lui $s0, 0x8007 +/* 374900 E0070850 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 374904 E0070854 3C16800A */ lui $s6, 0x800a +/* 374908 E0070858 26D6A674 */ addiu $s6, $s6, -0x598c +/* 37490C E007085C 96050000 */ lhu $a1, ($s0) +/* 374910 E0070860 8EC20000 */ lw $v0, ($s6) +/* 374914 E0070864 00052980 */ sll $a1, $a1, 6 +/* 374918 E0070868 00B12821 */ addu $a1, $a1, $s1 +/* 37491C E007086C 0C080118 */ jal func_E0200460 +/* 374920 E0070870 00452821 */ addu $a1, $v0, $a1 +/* 374924 E0070874 3C03DA38 */ lui $v1, 0xda38 +/* 374928 E0070878 34630002 */ ori $v1, $v1, 2 +/* 37492C E007087C 8EA40000 */ lw $a0, ($s5) +/* 374930 E0070880 96020000 */ lhu $v0, ($s0) +/* 374934 E0070884 0080282D */ daddu $a1, $a0, $zero +/* 374938 E0070888 24840008 */ addiu $a0, $a0, 8 +/* 37493C E007088C AEA40000 */ sw $a0, ($s5) +/* 374940 E0070890 ACA30000 */ sw $v1, ($a1) +/* 374944 E0070894 00531821 */ addu $v1, $v0, $s3 +/* 374948 E0070898 3042FFFF */ andi $v0, $v0, 0xffff +/* 37494C E007089C 00021180 */ sll $v0, $v0, 6 +/* 374950 E00708A0 00511021 */ addu $v0, $v0, $s1 +/* 374954 E00708A4 A6030000 */ sh $v1, ($s0) +/* 374958 E00708A8 8EC30000 */ lw $v1, ($s6) +/* 37495C E00708AC 24870010 */ addiu $a3, $a0, 0x10 +/* 374960 E00708B0 00621821 */ addu $v1, $v1, $v0 +/* 374964 E00708B4 24820008 */ addiu $v0, $a0, 8 +/* 374968 E00708B8 ACA30004 */ sw $v1, 4($a1) +/* 37496C E00708BC AEA20000 */ sw $v0, ($s5) +/* 374970 E00708C0 3C02FB00 */ lui $v0, 0xfb00 +/* 374974 E00708C4 AC820000 */ sw $v0, ($a0) +/* 374978 E00708C8 92430043 */ lbu $v1, 0x43($s2) +/* 37497C E00708CC 92450047 */ lbu $a1, 0x47($s2) +/* 374980 E00708D0 9246004B */ lbu $a2, 0x4b($s2) +/* 374984 E00708D4 9248005F */ lbu $t0, 0x5f($s2) +/* 374988 E00708D8 3C02DE00 */ lui $v0, 0xde00 +/* 37498C E00708DC AEA70000 */ sw $a3, ($s5) +/* 374990 E00708E0 AC820008 */ sw $v0, 8($a0) +/* 374994 E00708E4 3C020900 */ lui $v0, 0x900 +/* 374998 E00708E8 24420F20 */ addiu $v0, $v0, 0xf20 +/* 37499C E00708EC AC82000C */ sw $v0, 0xc($a0) +/* 3749A0 E00708F0 24820018 */ addiu $v0, $a0, 0x18 +/* 3749A4 E00708F4 AEA20000 */ sw $v0, ($s5) +/* 3749A8 E00708F8 00031E00 */ sll $v1, $v1, 0x18 +/* 3749AC E00708FC 00052C00 */ sll $a1, $a1, 0x10 +/* 3749B0 E0070900 00651825 */ or $v1, $v1, $a1 +/* 3749B4 E0070904 00063200 */ sll $a2, $a2, 8 +/* 3749B8 E0070908 00661825 */ or $v1, $v1, $a2 +/* 3749BC E007090C 00681825 */ or $v1, $v1, $t0 +/* 3749C0 E0070910 AC830004 */ sw $v1, 4($a0) +/* 3749C4 E0070914 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 3749C8 E0070918 00E0A02D */ daddu $s4, $a3, $zero +/* 3749CC E007091C 8D420008 */ lw $v0, 8($t2) +/* 3749D0 E0070920 0262102A */ slt $v0, $s3, $v0 +/* 3749D4 E0070924 1040006E */ beqz $v0, .LE0070AE0 +/* 3749D8 E0070928 2652006C */ addiu $s2, $s2, 0x6c +/* 3749DC E007092C 02C0F02D */ daddu $fp, $s6, $zero +/* 3749E0 E0070930 0200B82D */ daddu $s7, $s0, $zero +/* 3749E4 E0070934 3C160001 */ lui $s6, 1 +/* 3749E8 E0070938 36D61630 */ ori $s6, $s6, 0x1630 +/* 3749EC E007093C 02A0882D */ daddu $s1, $s5, $zero +/* 3749F0 E0070940 2650004C */ addiu $s0, $s2, 0x4c +/* 3749F4 E0070944 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 3749F8 E0070948 4480C000 */ mtc1 $zero, $f24 +/* 3749FC E007094C 000A1600 */ sll $v0, $t2, 0x18 +/* 374A00 E0070950 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 374A04 E0070954 3C014F00 */ lui $at, 0x4f00 +/* 374A08 E0070958 4481B000 */ mtc1 $at, $f22 +/* 374A0C E007095C 314300FF */ andi $v1, $t2, 0xff +/* 374A10 E0070960 00031C00 */ sll $v1, $v1, 0x10 +/* 374A14 E0070964 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 374A18 E0070968 00431025 */ or $v0, $v0, $v1 +/* 374A1C E007096C 314300FF */ andi $v1, $t2, 0xff +/* 374A20 E0070970 00031A00 */ sll $v1, $v1, 8 +/* 374A24 E0070974 0043A825 */ or $s5, $v0, $v1 +.LE0070978: +/* 374A28 E0070978 8E02FFE4 */ lw $v0, -0x1c($s0) +/* 374A2C E007097C 04400052 */ bltz $v0, .LE0070AC8 +/* 374A30 E0070980 00000000 */ nop +/* 374A34 E0070984 C6000014 */ lwc1 $f0, 0x14($s0) +/* 374A38 E0070988 46140002 */ mul.s $f0, $f0, $f20 +/* 374A3C E007098C 00000000 */ nop +/* 374A40 E0070990 4405C000 */ mfc1 $a1, $f24 +/* 374A44 E0070994 4406C000 */ mfc1 $a2, $f24 +/* 374A48 E0070998 E7A00010 */ swc1 $f0, 0x10($sp) +/* 374A4C E007099C C600FFB8 */ lwc1 $f0, -0x48($s0) +/* 374A50 E00709A0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 374A54 E00709A4 C600FFBC */ lwc1 $f0, -0x44($s0) +/* 374A58 E00709A8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 374A5C E00709AC C600FFC0 */ lwc1 $f0, -0x40($s0) +/* 374A60 E00709B0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 374A64 E00709B4 8E07FFE8 */ lw $a3, -0x18($s0) +/* 374A68 E00709B8 0C080180 */ jal func_E0200600 +/* 374A6C E00709BC 27A40020 */ addiu $a0, $sp, 0x20 +/* 374A70 E00709C0 27A40020 */ addiu $a0, $sp, 0x20 +/* 374A74 E00709C4 96E50000 */ lhu $a1, ($s7) +/* 374A78 E00709C8 8FC20000 */ lw $v0, ($fp) +/* 374A7C E00709CC 00052980 */ sll $a1, $a1, 6 +/* 374A80 E00709D0 00B62821 */ addu $a1, $a1, $s6 +/* 374A84 E00709D4 0C080118 */ jal func_E0200460 +/* 374A88 E00709D8 00452821 */ addu $a1, $v0, $a1 +/* 374A8C E00709DC 8E240000 */ lw $a0, ($s1) +/* 374A90 E00709E0 0080302D */ daddu $a2, $a0, $zero +/* 374A94 E00709E4 24840008 */ addiu $a0, $a0, 8 +/* 374A98 E00709E8 AE240000 */ sw $a0, ($s1) +/* 374A9C E00709EC 96E50000 */ lhu $a1, ($s7) +/* 374AA0 E00709F0 3C02DA38 */ lui $v0, 0xda38 +/* 374AA4 E00709F4 ACC20000 */ sw $v0, ($a2) +/* 374AA8 E00709F8 8FC30000 */ lw $v1, ($fp) +/* 374AAC E00709FC 30A2FFFF */ andi $v0, $a1, 0xffff +/* 374AB0 E0070A00 00021180 */ sll $v0, $v0, 6 +/* 374AB4 E0070A04 00561021 */ addu $v0, $v0, $s6 +/* 374AB8 E0070A08 00621821 */ addu $v1, $v1, $v0 +/* 374ABC E0070A0C 3C02FA00 */ lui $v0, 0xfa00 +/* 374AC0 E0070A10 24A50001 */ addiu $a1, $a1, 1 +/* 374AC4 E0070A14 ACC30004 */ sw $v1, 4($a2) +/* 374AC8 E0070A18 AC820000 */ sw $v0, ($a0) +/* 374ACC E0070A1C C6000000 */ lwc1 $f0, ($s0) +/* 374AD0 E0070A20 46800020 */ cvt.s.w $f0, $f0 +/* 374AD4 E0070A24 46140002 */ mul.s $f0, $f0, $f20 +/* 374AD8 E0070A28 00000000 */ nop +/* 374ADC E0070A2C 24820008 */ addiu $v0, $a0, 8 +/* 374AE0 E0070A30 24840004 */ addiu $a0, $a0, 4 +/* 374AE4 E0070A34 A6E50000 */ sh $a1, ($s7) +/* 374AE8 E0070A38 4600B03E */ c.le.s $f22, $f0 +/* 374AEC E0070A3C 00000000 */ nop +/* 374AF0 E0070A40 45010005 */ bc1t .LE0070A58 +/* 374AF4 E0070A44 AE220000 */ sw $v0, ($s1) +/* 374AF8 E0070A48 4600010D */ trunc.w.s $f4, $f0 +/* 374AFC E0070A4C 44052000 */ mfc1 $a1, $f4 +/* 374B00 E0070A50 0801C29D */ j .LE0070A74 +/* 374B04 E0070A54 3C06D838 */ lui $a2, 0xd838 +.LE0070A58: +/* 374B08 E0070A58 46160001 */ sub.s $f0, $f0, $f22 +/* 374B0C E0070A5C 3C028000 */ lui $v0, 0x8000 +/* 374B10 E0070A60 4600010D */ trunc.w.s $f4, $f0 +/* 374B14 E0070A64 44052000 */ mfc1 $a1, $f4 +/* 374B18 E0070A68 00000000 */ nop +/* 374B1C E0070A6C 00A22825 */ or $a1, $a1, $v0 +/* 374B20 E0070A70 3C06D838 */ lui $a2, 0xd838 +.LE0070A74: +/* 374B24 E0070A74 34C60002 */ ori $a2, $a2, 2 +/* 374B28 E0070A78 30A200FF */ andi $v0, $a1, 0xff +/* 374B2C E0070A7C 8E230000 */ lw $v1, ($s1) +/* 374B30 E0070A80 02A21025 */ or $v0, $s5, $v0 +/* 374B34 E0070A84 AC820000 */ sw $v0, ($a0) +/* 374B38 E0070A88 3C02DE00 */ lui $v0, 0xde00 +/* 374B3C E0070A8C 0060282D */ daddu $a1, $v1, $zero +/* 374B40 E0070A90 24630008 */ addiu $v1, $v1, 8 +/* 374B44 E0070A94 AE230000 */ sw $v1, ($s1) +/* 374B48 E0070A98 ACA20000 */ sw $v0, ($a1) +/* 374B4C E0070A9C 32620007 */ andi $v0, $s3, 7 +/* 374B50 E0070AA0 00021080 */ sll $v0, $v0, 2 +/* 374B54 E0070AA4 3C04E007 */ lui $a0, 0xe007 +/* 374B58 E0070AA8 00822021 */ addu $a0, $a0, $v0 +/* 374B5C E0070AAC 8C840CD0 */ lw $a0, 0xcd0($a0) +/* 374B60 E0070AB0 24620008 */ addiu $v0, $v1, 8 +/* 374B64 E0070AB4 AE220000 */ sw $v0, ($s1) +/* 374B68 E0070AB8 24020040 */ addiu $v0, $zero, 0x40 +/* 374B6C E0070ABC ACA40004 */ sw $a0, 4($a1) +/* 374B70 E0070AC0 AC660000 */ sw $a2, ($v1) +/* 374B74 E0070AC4 AC620004 */ sw $v0, 4($v1) +.LE0070AC8: +/* 374B78 E0070AC8 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 374B7C E0070ACC 26730001 */ addiu $s3, $s3, 1 +/* 374B80 E0070AD0 8D420008 */ lw $v0, 8($t2) +/* 374B84 E0070AD4 0262102A */ slt $v0, $s3, $v0 +/* 374B88 E0070AD8 1440FFA7 */ bnez $v0, .LE0070978 +/* 374B8C E0070ADC 2610006C */ addiu $s0, $s0, 0x6c +.LE0070AE0: +/* 374B90 E0070AE0 27A40020 */ addiu $a0, $sp, 0x20 +/* 374B94 E0070AE4 3C150001 */ lui $s5, 1 +/* 374B98 E0070AE8 36B51630 */ ori $s5, $s5, 0x1630 +/* 374B9C E0070AEC 3C1ED838 */ lui $fp, 0xd838 +/* 374BA0 E0070AF0 37DE0002 */ ori $fp, $fp, 2 +/* 374BA4 E0070AF4 3C10800A */ lui $s0, 0x800a +/* 374BA8 E0070AF8 2610A66C */ addiu $s0, $s0, -0x5994 +/* 374BAC E0070AFC 3C02DF00 */ lui $v0, 0xdf00 +/* 374BB0 E0070B00 3C16DE00 */ lui $s6, 0xde00 +/* 374BB4 E0070B04 8E030000 */ lw $v1, ($s0) +/* 374BB8 E0070B08 3C0542F0 */ lui $a1, 0x42f0 +/* 374BBC E0070B0C 3C013ECC */ lui $at, 0x3ecc +/* 374BC0 E0070B10 3421CCCD */ ori $at, $at, 0xcccd +/* 374BC4 E0070B14 4481A000 */ mtc1 $at, $f20 +/* 374BC8 E0070B18 4480B000 */ mtc1 $zero, $f22 +/* 374BCC E0070B1C 3C013F4C */ lui $at, 0x3f4c +/* 374BD0 E0070B20 3421CCCD */ ori $at, $at, 0xcccd +/* 374BD4 E0070B24 4481C000 */ mtc1 $at, $f24 +/* 374BD8 E0070B28 0060402D */ daddu $t0, $v1, $zero +/* 374BDC E0070B2C 4406A000 */ mfc1 $a2, $f20 +/* 374BE0 E0070B30 4407B000 */ mfc1 $a3, $f22 +/* 374BE4 E0070B34 24630008 */ addiu $v1, $v1, 8 +/* 374BE8 E0070B38 AE030000 */ sw $v1, ($s0) +/* 374BEC E0070B3C AD020000 */ sw $v0, ($t0) +/* 374BF0 E0070B40 3C02DE01 */ lui $v0, 0xde01 +/* 374BF4 E0070B44 AD000004 */ sw $zero, 4($t0) +/* 374BF8 E0070B48 AE820000 */ sw $v0, ($s4) +/* 374BFC E0070B4C 24620008 */ addiu $v0, $v1, 8 +/* 374C00 E0070B50 AE830004 */ sw $v1, 4($s4) +/* 374C04 E0070B54 26940008 */ addiu $s4, $s4, 8 +/* 374C08 E0070B58 AE020000 */ sw $v0, ($s0) +/* 374C0C E0070B5C AC760000 */ sw $s6, ($v1) +/* 374C10 E0070B60 AC740004 */ sw $s4, 4($v1) +/* 374C14 E0070B64 0C080104 */ jal func_E0200410 +/* 374C18 E0070B68 E7B80010 */ swc1 $f24, 0x10($sp) +/* 374C1C E0070B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* 374C20 E0070B70 3C118007 */ lui $s1, 0x8007 +/* 374C24 E0070B74 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 374C28 E0070B78 3C13800A */ lui $s3, 0x800a +/* 374C2C E0070B7C 2673A674 */ addiu $s3, $s3, -0x598c +/* 374C30 E0070B80 96250000 */ lhu $a1, ($s1) +/* 374C34 E0070B84 8E620000 */ lw $v0, ($s3) +/* 374C38 E0070B88 00052980 */ sll $a1, $a1, 6 +/* 374C3C E0070B8C 00B52821 */ addu $a1, $a1, $s5 +/* 374C40 E0070B90 0C080118 */ jal func_E0200460 +/* 374C44 E0070B94 00452821 */ addu $a1, $v0, $a1 +/* 374C48 E0070B98 27A40020 */ addiu $a0, $sp, 0x20 +/* 374C4C E0070B9C 3C17DA38 */ lui $s7, 0xda38 +/* 374C50 E0070BA0 8E080000 */ lw $t0, ($s0) +/* 374C54 E0070BA4 3C05C2F0 */ lui $a1, 0xc2f0 +/* 374C58 E0070BA8 4406A000 */ mfc1 $a2, $f20 +/* 374C5C E0070BAC 4407B000 */ mfc1 $a3, $f22 +/* 374C60 E0070BB0 0100482D */ daddu $t1, $t0, $zero +/* 374C64 E0070BB4 25080008 */ addiu $t0, $t0, 8 +/* 374C68 E0070BB8 AE080000 */ sw $t0, ($s0) +/* 374C6C E0070BBC 96220000 */ lhu $v0, ($s1) +/* 374C70 E0070BC0 24120040 */ addiu $s2, $zero, 0x40 +/* 374C74 E0070BC4 AD370000 */ sw $s7, ($t1) +/* 374C78 E0070BC8 24430001 */ addiu $v1, $v0, 1 +/* 374C7C E0070BCC 3042FFFF */ andi $v0, $v0, 0xffff +/* 374C80 E0070BD0 00021180 */ sll $v0, $v0, 6 +/* 374C84 E0070BD4 A6230000 */ sh $v1, ($s1) +/* 374C88 E0070BD8 8E630000 */ lw $v1, ($s3) +/* 374C8C E0070BDC 00551021 */ addu $v0, $v0, $s5 +/* 374C90 E0070BE0 00621821 */ addu $v1, $v1, $v0 +/* 374C94 E0070BE4 25020008 */ addiu $v0, $t0, 8 +/* 374C98 E0070BE8 AD230004 */ sw $v1, 4($t1) +/* 374C9C E0070BEC AE020000 */ sw $v0, ($s0) +/* 374CA0 E0070BF0 25020010 */ addiu $v0, $t0, 0x10 +/* 374CA4 E0070BF4 AD160000 */ sw $s6, ($t0) +/* 374CA8 E0070BF8 AD140004 */ sw $s4, 4($t0) +/* 374CAC E0070BFC AE020000 */ sw $v0, ($s0) +/* 374CB0 E0070C00 AD1E0008 */ sw $fp, 8($t0) +/* 374CB4 E0070C04 AD12000C */ sw $s2, 0xc($t0) +/* 374CB8 E0070C08 0C080104 */ jal func_E0200410 +/* 374CBC E0070C0C E7B80010 */ swc1 $f24, 0x10($sp) +/* 374CC0 E0070C10 27A40020 */ addiu $a0, $sp, 0x20 +/* 374CC4 E0070C14 96250000 */ lhu $a1, ($s1) +/* 374CC8 E0070C18 8E620000 */ lw $v0, ($s3) +/* 374CCC E0070C1C 00052980 */ sll $a1, $a1, 6 +/* 374CD0 E0070C20 00B52821 */ addu $a1, $a1, $s5 +/* 374CD4 E0070C24 0C080118 */ jal func_E0200460 +/* 374CD8 E0070C28 00452821 */ addu $a1, $v0, $a1 +/* 374CDC E0070C2C 8E040000 */ lw $a0, ($s0) +/* 374CE0 E0070C30 96220000 */ lhu $v0, ($s1) +/* 374CE4 E0070C34 0080282D */ daddu $a1, $a0, $zero +/* 374CE8 E0070C38 24840008 */ addiu $a0, $a0, 8 +/* 374CEC E0070C3C 24430001 */ addiu $v1, $v0, 1 +/* 374CF0 E0070C40 3042FFFF */ andi $v0, $v0, 0xffff +/* 374CF4 E0070C44 00021180 */ sll $v0, $v0, 6 +/* 374CF8 E0070C48 AE040000 */ sw $a0, ($s0) +/* 374CFC E0070C4C ACB70000 */ sw $s7, ($a1) +/* 374D00 E0070C50 A6230000 */ sh $v1, ($s1) +/* 374D04 E0070C54 8E630000 */ lw $v1, ($s3) +/* 374D08 E0070C58 00551021 */ addu $v0, $v0, $s5 +/* 374D0C E0070C5C 00621821 */ addu $v1, $v1, $v0 +/* 374D10 E0070C60 24820008 */ addiu $v0, $a0, 8 +/* 374D14 E0070C64 ACA30004 */ sw $v1, 4($a1) +/* 374D18 E0070C68 AE020000 */ sw $v0, ($s0) +/* 374D1C E0070C6C 24820010 */ addiu $v0, $a0, 0x10 +/* 374D20 E0070C70 AC960000 */ sw $s6, ($a0) +/* 374D24 E0070C74 AC940004 */ sw $s4, 4($a0) +/* 374D28 E0070C78 AE020000 */ sw $v0, ($s0) +/* 374D2C E0070C7C 24820018 */ addiu $v0, $a0, 0x18 +/* 374D30 E0070C80 AC9E0008 */ sw $fp, 8($a0) +/* 374D34 E0070C84 AC92000C */ sw $s2, 0xc($a0) +/* 374D38 E0070C88 AE020000 */ sw $v0, ($s0) +/* 374D3C E0070C8C AC9E0010 */ sw $fp, 0x10($a0) +/* 374D40 E0070C90 AC920014 */ sw $s2, 0x14($a0) +/* 374D44 E0070C94 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 374D48 E0070C98 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 374D4C E0070C9C 8FB700CC */ lw $s7, 0xcc($sp) +/* 374D50 E0070CA0 8FB600C8 */ lw $s6, 0xc8($sp) +/* 374D54 E0070CA4 8FB500C4 */ lw $s5, 0xc4($sp) +/* 374D58 E0070CA8 8FB400C0 */ lw $s4, 0xc0($sp) +/* 374D5C E0070CAC 8FB300BC */ lw $s3, 0xbc($sp) +/* 374D60 E0070CB0 8FB200B8 */ lw $s2, 0xb8($sp) +/* 374D64 E0070CB4 8FB100B4 */ lw $s1, 0xb4($sp) +/* 374D68 E0070CB8 8FB000B0 */ lw $s0, 0xb0($sp) +/* 374D6C E0070CBC D7B800E8 */ ldc1 $f24, 0xe8($sp) +/* 374D70 E0070CC0 D7B600E0 */ ldc1 $f22, 0xe0($sp) +/* 374D74 E0070CC4 D7B400D8 */ ldc1 $f20, 0xd8($sp) +/* 374D78 E0070CC8 03E00008 */ jr $ra +/* 374D7C E0070CCC 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/code_374E50/func_E0072000.s b/asm/nonmatchings/code_374E50/func_E0072000.s new file mode 100644 index 0000000000..99b397a5d1 --- /dev/null +++ b/asm/nonmatchings/code_374E50/func_E0072000.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0072000 +/* 374E50 E0072000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 374E54 E0072004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 374E58 E0072008 4485A000 */ mtc1 $a1, $f20 +/* 374E5C E007200C AFB1002C */ sw $s1, 0x2c($sp) +/* 374E60 E0072010 0080882D */ daddu $s1, $a0, $zero +/* 374E64 E0072014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 374E68 E0072018 4486B000 */ mtc1 $a2, $f22 +/* 374E6C E007201C 27A40010 */ addiu $a0, $sp, 0x10 +/* 374E70 E0072020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 374E74 E0072024 4487C000 */ mtc1 $a3, $f24 +/* 374E78 E0072028 3C02E007 */ lui $v0, 0xe007 +/* 374E7C E007202C 24422148 */ addiu $v0, $v0, 0x2148 +/* 374E80 E0072030 AFA20018 */ sw $v0, 0x18($sp) +/* 374E84 E0072034 3C02E007 */ lui $v0, 0xe007 +/* 374E88 E0072038 24422150 */ addiu $v0, $v0, 0x2150 +/* 374E8C E007203C AFA2001C */ sw $v0, 0x1c($sp) +/* 374E90 E0072040 3C02E007 */ lui $v0, 0xe007 +/* 374E94 E0072044 2442238C */ addiu $v0, $v0, 0x238c +/* 374E98 E0072048 AFA20020 */ sw $v0, 0x20($sp) +/* 374E9C E007204C 24020039 */ addiu $v0, $zero, 0x39 +/* 374EA0 E0072050 AFBF0030 */ sw $ra, 0x30($sp) +/* 374EA4 E0072054 AFB00028 */ sw $s0, 0x28($sp) +/* 374EA8 E0072058 AFA00010 */ sw $zero, 0x10($sp) +/* 374EAC E007205C AFA00024 */ sw $zero, 0x24($sp) +/* 374EB0 E0072060 0C080124 */ jal func_E0200490 +/* 374EB4 E0072064 AFA20014 */ sw $v0, 0x14($sp) +/* 374EB8 E0072068 24040A2C */ addiu $a0, $zero, 0xa2c +/* 374EBC E007206C 2403001F */ addiu $v1, $zero, 0x1f +/* 374EC0 E0072070 0040802D */ daddu $s0, $v0, $zero +/* 374EC4 E0072074 0C08012C */ jal func_E02004B0 +/* 374EC8 E0072078 AE030008 */ sw $v1, 8($s0) +/* 374ECC E007207C 0040202D */ daddu $a0, $v0, $zero +/* 374ED0 E0072080 14800003 */ bnez $a0, .LE0072090 +/* 374ED4 E0072084 AE02000C */ sw $v0, 0xc($s0) +.LE0072088: +/* 374ED8 E0072088 0801C822 */ j .LE0072088 +/* 374EDC E007208C 00000000 */ nop +.LE0072090: +/* 374EE0 E0072090 240300FF */ addiu $v1, $zero, 0xff +/* 374EE4 E0072094 AC910000 */ sw $s1, ($a0) +/* 374EE8 E0072098 E4940004 */ swc1 $f20, 4($a0) +/* 374EEC E007209C E4960008 */ swc1 $f22, 8($a0) +/* 374EF0 E00720A0 E498000C */ swc1 $f24, 0xc($a0) +/* 374EF4 E00720A4 AC830024 */ sw $v1, 0x24($a0) +/* 374EF8 E00720A8 8FA20064 */ lw $v0, 0x64($sp) +/* 374EFC E00720AC 3C01E007 */ lui $at, 0xe007 +/* 374F00 E00720B0 D42226B0 */ ldc1 $f2, 0x26b0($at) +/* 374F04 E00720B4 AC80002C */ sw $zero, 0x2c($a0) +/* 374F08 E00720B8 AC800030 */ sw $zero, 0x30($a0) +/* 374F0C E00720BC AC800034 */ sw $zero, 0x34($a0) +/* 374F10 E00720C0 AC800038 */ sw $zero, 0x38($a0) +/* 374F14 E00720C4 AC80003C */ sw $zero, 0x3c($a0) +/* 374F18 E00720C8 AC800044 */ sw $zero, 0x44($a0) +/* 374F1C E00720CC AC80001C */ sw $zero, 0x1c($a0) +/* 374F20 E00720D0 A0830050 */ sb $v1, 0x50($a0) +/* 374F24 E00720D4 A0830051 */ sb $v1, 0x51($a0) +/* 374F28 E00720D8 AC820028 */ sw $v0, 0x28($a0) +/* 374F2C E00720DC C7A00060 */ lwc1 $f0, 0x60($sp) +/* 374F30 E00720E0 3C013ECC */ lui $at, 0x3ecc +/* 374F34 E00720E4 3421CCCD */ ori $at, $at, 0xcccd +/* 374F38 E00720E8 44812000 */ mtc1 $at, $f4 +/* 374F3C E00720EC 46000021 */ cvt.d.s $f0, $f0 +/* 374F40 E00720F0 46220002 */ mul.d $f0, $f0, $f2 +/* 374F44 E00720F4 00000000 */ nop +/* 374F48 E00720F8 3C013F80 */ lui $at, 0x3f80 +/* 374F4C E00720FC 44813000 */ mtc1 $at, $f6 +/* 374F50 E0072100 3C01BF8C */ lui $at, 0xbf8c +/* 374F54 E0072104 3421CCCD */ ori $at, $at, 0xcccd +/* 374F58 E0072108 44811000 */ mtc1 $at, $f2 +/* 374F5C E007210C 24020040 */ addiu $v0, $zero, 0x40 +/* 374F60 E0072110 A0820052 */ sb $v0, 0x52($a0) +/* 374F64 E0072114 E4840048 */ swc1 $f4, 0x48($a0) +/* 374F68 E0072118 E486004C */ swc1 $f6, 0x4c($a0) +/* 374F6C E007211C E4820040 */ swc1 $f2, 0x40($a0) +/* 374F70 E0072120 46200020 */ cvt.s.d $f0, $f0 +/* 374F74 E0072124 E4800020 */ swc1 $f0, 0x20($a0) +/* 374F78 E0072128 8FBF0030 */ lw $ra, 0x30($sp) +/* 374F7C E007212C 8FB1002C */ lw $s1, 0x2c($sp) +/* 374F80 E0072130 8FB00028 */ lw $s0, 0x28($sp) +/* 374F84 E0072134 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 374F88 E0072138 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 374F8C E007213C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 374F90 E0072140 03E00008 */ jr $ra +/* 374F94 E0072144 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_374E50/func_E0072148.s b/asm/nonmatchings/code_374E50/func_E0072148.s new file mode 100644 index 0000000000..12432672aa --- /dev/null +++ b/asm/nonmatchings/code_374E50/func_E0072148.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0072148 +/* 374F98 E0072148 03E00008 */ jr $ra +/* 374F9C E007214C 00000000 */ nop diff --git a/asm/nonmatchings/code_374E50/func_E0072150.s b/asm/nonmatchings/code_374E50/func_E0072150.s new file mode 100644 index 0000000000..88b509de55 --- /dev/null +++ b/asm/nonmatchings/code_374E50/func_E0072150.s @@ -0,0 +1,158 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0072150 +/* 374FA0 E0072150 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 374FA4 E0072154 AFBF002C */ sw $ra, 0x2c($sp) +/* 374FA8 E0072158 AFB20028 */ sw $s2, 0x28($sp) +/* 374FAC E007215C AFB10024 */ sw $s1, 0x24($sp) +/* 374FB0 E0072160 AFB00020 */ sw $s0, 0x20($sp) +/* 374FB4 E0072164 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 374FB8 E0072168 8C90000C */ lw $s0, 0xc($a0) +/* 374FBC E007216C 8E020028 */ lw $v0, 0x28($s0) +/* 374FC0 E0072170 2442FFFF */ addiu $v0, $v0, -1 +/* 374FC4 E0072174 AE020028 */ sw $v0, 0x28($s0) +/* 374FC8 E0072178 8E02002C */ lw $v0, 0x2c($s0) +/* 374FCC E007217C 8E120028 */ lw $s2, 0x28($s0) +/* 374FD0 E0072180 24510001 */ addiu $s1, $v0, 1 +/* 374FD4 E0072184 06410005 */ bgez $s2, .LE007219C +/* 374FD8 E0072188 AE11002C */ sw $s1, 0x2c($s0) +/* 374FDC E007218C 0C080128 */ jal func_E02004A0 +/* 374FE0 E0072190 00000000 */ nop +/* 374FE4 E0072194 0801C8DC */ j .LE0072370 +/* 374FE8 E0072198 00000000 */ nop +.LE007219C: +/* 374FEC E007219C 32220001 */ andi $v0, $s1, 1 +/* 374FF0 E00721A0 1040001E */ beqz $v0, .LE007221C +/* 374FF4 E00721A4 00000000 */ nop +/* 374FF8 E00721A8 24040168 */ addiu $a0, $zero, 0x168 +/* 374FFC E00721AC 0C080011 */ jal func_E0200044 +/* 375000 E00721B0 0220282D */ daddu $a1, $s1, $zero +/* 375004 E00721B4 4482A000 */ mtc1 $v0, $f20 +/* 375008 E00721B8 00000000 */ nop +/* 37500C E00721BC 4680A520 */ cvt.s.w $f20, $f20 +/* 375010 E00721C0 0C080140 */ jal func_E0200500 +/* 375014 E00721C4 4600A306 */ mov.s $f12, $f20 +/* 375018 E00721C8 0C080144 */ jal func_E0200510 +/* 37501C E00721CC 4600A306 */ mov.s $f12, $f20 +/* 375020 E00721D0 0C080150 */ jal func_E0200540 +/* 375024 E00721D4 2404003A */ addiu $a0, $zero, 0x3a +/* 375028 E00721D8 001110C0 */ sll $v0, $s1, 3 +/* 37502C E00721DC 44820000 */ mtc1 $v0, $f0 +/* 375030 E00721E0 00000000 */ nop +/* 375034 E00721E4 46800020 */ cvt.s.w $f0, $f0 +/* 375038 E00721E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 37503C E00721EC 3C014120 */ lui $at, 0x4120 +/* 375040 E00721F0 44810000 */ mtc1 $at, $f0 +/* 375044 E00721F4 2402000A */ addiu $v0, $zero, 0xa +/* 375048 E00721F8 AFA20018 */ sw $v0, 0x18($sp) +/* 37504C E00721FC 24020014 */ addiu $v0, $zero, 0x14 +/* 375050 E0072200 AFA2001C */ sw $v0, 0x1c($sp) +/* 375054 E0072204 E7A00014 */ swc1 $f0, 0x14($sp) +/* 375058 E0072208 8E050004 */ lw $a1, 4($s0) +/* 37505C E007220C 8E060008 */ lw $a2, 8($s0) +/* 375060 E0072210 8E07000C */ lw $a3, 0xc($s0) +/* 375064 E0072214 0C01D000 */ jal func_E0074000 +/* 375068 E0072218 0000202D */ daddu $a0, $zero, $zero +.LE007221C: +/* 37506C E007221C C600001C */ lwc1 $f0, 0x1c($s0) +/* 375070 E0072220 C6020020 */ lwc1 $f2, 0x20($s0) +/* 375074 E0072224 46020000 */ add.s $f0, $f0, $f2 +/* 375078 E0072228 2A42000A */ slti $v0, $s2, 0xa +/* 37507C E007222C 10400006 */ beqz $v0, .LE0072248 +/* 375080 E0072230 E600001C */ swc1 $f0, 0x1c($s0) +/* 375084 E0072234 00121040 */ sll $v0, $s2, 1 +/* 375088 E0072238 00521021 */ addu $v0, $v0, $s2 +/* 37508C E007223C 000210C0 */ sll $v0, $v0, 3 +/* 375090 E0072240 00521021 */ addu $v0, $v0, $s2 +/* 375094 E0072244 AE020024 */ sw $v0, 0x24($s0) +.LE0072248: +/* 375098 E0072248 C6020030 */ lwc1 $f2, 0x30($s0) +/* 37509C E007224C C6000040 */ lwc1 $f0, 0x40($s0) +/* 3750A0 E0072250 C6060034 */ lwc1 $f6, 0x34($s0) +/* 3750A4 E0072254 46001080 */ add.s $f2, $f2, $f0 +/* 3750A8 E0072258 C6000044 */ lwc1 $f0, 0x44($s0) +/* 3750AC E007225C C6040038 */ lwc1 $f4, 0x38($s0) +/* 3750B0 E0072260 46003180 */ add.s $f6, $f6, $f0 +/* 3750B4 E0072264 C6000048 */ lwc1 $f0, 0x48($s0) +/* 3750B8 E0072268 46002100 */ add.s $f4, $f4, $f0 +/* 3750BC E007226C C600003C */ lwc1 $f0, 0x3c($s0) +/* 3750C0 E0072270 E6020030 */ swc1 $f2, 0x30($s0) +/* 3750C4 E0072274 C602004C */ lwc1 $f2, 0x4c($s0) +/* 3750C8 E0072278 3C014300 */ lui $at, 0x4300 +/* 3750CC E007227C 44814000 */ mtc1 $at, $f8 +/* 3750D0 E0072280 46020000 */ add.s $f0, $f0, $f2 +/* 3750D4 E0072284 C60A0030 */ lwc1 $f10, 0x30($s0) +/* 3750D8 E0072288 460A403C */ c.lt.s $f8, $f10 +/* 3750DC E007228C E6060034 */ swc1 $f6, 0x34($s0) +/* 3750E0 E0072290 E6040038 */ swc1 $f4, 0x38($s0) +/* 3750E4 E0072294 45000003 */ bc1f .LE00722A4 +/* 3750E8 E0072298 E600003C */ swc1 $f0, 0x3c($s0) +/* 3750EC E007229C 46085001 */ sub.s $f0, $f10, $f8 +/* 3750F0 E00722A0 E6000030 */ swc1 $f0, 0x30($s0) +.LE00722A4: +/* 3750F4 E00722A4 C6000034 */ lwc1 $f0, 0x34($s0) +/* 3750F8 E00722A8 4600403C */ c.lt.s $f8, $f0 +/* 3750FC E00722AC 00000000 */ nop +/* 375100 E00722B0 45000003 */ bc1f .LE00722C0 +/* 375104 E00722B4 00000000 */ nop +/* 375108 E00722B8 46080001 */ sub.s $f0, $f0, $f8 +/* 37510C E00722BC E6000034 */ swc1 $f0, 0x34($s0) +.LE00722C0: +/* 375110 E00722C0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 375114 E00722C4 4600403C */ c.lt.s $f8, $f0 +/* 375118 E00722C8 00000000 */ nop +/* 37511C E00722CC 45000003 */ bc1f .LE00722DC +/* 375120 E00722D0 00000000 */ nop +/* 375124 E00722D4 46080001 */ sub.s $f0, $f0, $f8 +/* 375128 E00722D8 E6000038 */ swc1 $f0, 0x38($s0) +.LE00722DC: +/* 37512C E00722DC C600003C */ lwc1 $f0, 0x3c($s0) +/* 375130 E00722E0 4600403C */ c.lt.s $f8, $f0 +/* 375134 E00722E4 00000000 */ nop +/* 375138 E00722E8 45000003 */ bc1f .LE00722F8 +/* 37513C E00722EC 00000000 */ nop +/* 375140 E00722F0 46080001 */ sub.s $f0, $f0, $f8 +/* 375144 E00722F4 E600003C */ swc1 $f0, 0x3c($s0) +.LE00722F8: +/* 375148 E00722F8 C6000030 */ lwc1 $f0, 0x30($s0) +/* 37514C E00722FC 44801000 */ mtc1 $zero, $f2 +/* 375150 E0072300 00000000 */ nop +/* 375154 E0072304 4602003C */ c.lt.s $f0, $f2 +/* 375158 E0072308 00000000 */ nop +/* 37515C E007230C 45000003 */ bc1f .LE007231C +/* 375160 E0072310 00000000 */ nop +/* 375164 E0072314 46080000 */ add.s $f0, $f0, $f8 +/* 375168 E0072318 E6000030 */ swc1 $f0, 0x30($s0) +.LE007231C: +/* 37516C E007231C C6000034 */ lwc1 $f0, 0x34($s0) +/* 375170 E0072320 4602003C */ c.lt.s $f0, $f2 +/* 375174 E0072324 00000000 */ nop +/* 375178 E0072328 45000003 */ bc1f .LE0072338 +/* 37517C E007232C 00000000 */ nop +/* 375180 E0072330 46080000 */ add.s $f0, $f0, $f8 +/* 375184 E0072334 E6000034 */ swc1 $f0, 0x34($s0) +.LE0072338: +/* 375188 E0072338 C6000038 */ lwc1 $f0, 0x38($s0) +/* 37518C E007233C 4602003C */ c.lt.s $f0, $f2 +/* 375190 E0072340 00000000 */ nop +/* 375194 E0072344 45000003 */ bc1f .LE0072354 +/* 375198 E0072348 00000000 */ nop +/* 37519C E007234C 46080000 */ add.s $f0, $f0, $f8 +/* 3751A0 E0072350 E6000038 */ swc1 $f0, 0x38($s0) +.LE0072354: +/* 3751A4 E0072354 C600003C */ lwc1 $f0, 0x3c($s0) +/* 3751A8 E0072358 4602003C */ c.lt.s $f0, $f2 +/* 3751AC E007235C 00000000 */ nop +/* 3751B0 E0072360 45000003 */ bc1f .LE0072370 +/* 3751B4 E0072364 00000000 */ nop +/* 3751B8 E0072368 46080000 */ add.s $f0, $f0, $f8 +/* 3751BC E007236C E600003C */ swc1 $f0, 0x3c($s0) +.LE0072370: +/* 3751C0 E0072370 8FBF002C */ lw $ra, 0x2c($sp) +/* 3751C4 E0072374 8FB20028 */ lw $s2, 0x28($sp) +/* 3751C8 E0072378 8FB10024 */ lw $s1, 0x24($sp) +/* 3751CC E007237C 8FB00020 */ lw $s0, 0x20($sp) +/* 3751D0 E0072380 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 3751D4 E0072384 03E00008 */ jr $ra +/* 3751D8 E0072388 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_374E50/func_E007238C.s b/asm/nonmatchings/code_374E50/func_E007238C.s new file mode 100644 index 0000000000..b620946ff2 --- /dev/null +++ b/asm/nonmatchings/code_374E50/func_E007238C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007238C +/* 3751DC E007238C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3751E0 E0072390 3C02E007 */ lui $v0, 0xe007 +/* 3751E4 E0072394 244223D4 */ addiu $v0, $v0, 0x23d4 +/* 3751E8 E0072398 AFA2001C */ sw $v0, 0x1c($sp) +/* 3751EC E007239C 2402000A */ addiu $v0, $zero, 0xa +/* 3751F0 E00723A0 AFA20014 */ sw $v0, 0x14($sp) +/* 3751F4 E00723A4 24020022 */ addiu $v0, $zero, 0x22 +/* 3751F8 E00723A8 AFA40018 */ sw $a0, 0x18($sp) +/* 3751FC E00723AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 375200 E00723B0 AFBF0020 */ sw $ra, 0x20($sp) +/* 375204 E00723B4 0C080120 */ jal func_E0200480 +/* 375208 E00723B8 AFA20010 */ sw $v0, 0x10($sp) +/* 37520C E00723BC 8C430000 */ lw $v1, ($v0) +/* 375210 E00723C0 34630002 */ ori $v1, $v1, 2 +/* 375214 E00723C4 AC430000 */ sw $v1, ($v0) +/* 375218 E00723C8 8FBF0020 */ lw $ra, 0x20($sp) +/* 37521C E00723CC 03E00008 */ jr $ra +/* 375220 E00723D0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_374E50/func_E00723D4.s b/asm/nonmatchings/code_374E50/func_E00723D4.s new file mode 100644 index 0000000000..33570f89cb --- /dev/null +++ b/asm/nonmatchings/code_374E50/func_E00723D4.s @@ -0,0 +1,187 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00723D4 +/* 375224 E00723D4 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 375228 E00723D8 3C03DB06 */ lui $v1, 0xdb06 +/* 37522C E00723DC 34630024 */ ori $v1, $v1, 0x24 +/* 375230 E00723E0 3C05FFB3 */ lui $a1, 0xffb3 +/* 375234 E00723E4 AFB10094 */ sw $s1, 0x94($sp) +/* 375238 E00723E8 3C11800A */ lui $s1, 0x800a +/* 37523C E00723EC 2631A66C */ addiu $s1, $s1, -0x5994 +/* 375240 E00723F0 34A51E00 */ ori $a1, $a1, 0x1e00 +/* 375244 E00723F4 AFB500A4 */ sw $s5, 0xa4($sp) +/* 375248 E00723F8 3C15E700 */ lui $s5, 0xe700 +/* 37524C E00723FC AFBF00A8 */ sw $ra, 0xa8($sp) +/* 375250 E0072400 AFB400A0 */ sw $s4, 0xa0($sp) +/* 375254 E0072404 AFB3009C */ sw $s3, 0x9c($sp) +/* 375258 E0072408 AFB20098 */ sw $s2, 0x98($sp) +/* 37525C E007240C AFB00090 */ sw $s0, 0x90($sp) +/* 375260 E0072410 8E280000 */ lw $t0, ($s1) +/* 375264 E0072414 3C014080 */ lui $at, 0x4080 +/* 375268 E0072418 44812000 */ mtc1 $at, $f4 +/* 37526C E007241C 0100102D */ daddu $v0, $t0, $zero +/* 375270 E0072420 25080008 */ addiu $t0, $t0, 8 +/* 375274 E0072424 AE280000 */ sw $t0, ($s1) +/* 375278 E0072428 8C90000C */ lw $s0, 0xc($a0) +/* 37527C E007242C 3C14DE00 */ lui $s4, 0xde00 +/* 375280 E0072430 AC550000 */ sw $s5, ($v0) +/* 375284 E0072434 AC400004 */ sw $zero, 4($v0) +/* 375288 E0072438 25020008 */ addiu $v0, $t0, 8 +/* 37528C E007243C AE220000 */ sw $v0, ($s1) +/* 375290 E0072440 25020010 */ addiu $v0, $t0, 0x10 +/* 375294 E0072444 AD030000 */ sw $v1, ($t0) +/* 375298 E0072448 AE220000 */ sw $v0, ($s1) +/* 37529C E007244C 8C830010 */ lw $v1, 0x10($a0) +/* 3752A0 E0072450 25020018 */ addiu $v0, $t0, 0x18 +/* 3752A4 E0072454 AE220000 */ sw $v0, ($s1) +/* 3752A8 E0072458 8C63001C */ lw $v1, 0x1c($v1) +/* 3752AC E007245C 3C020900 */ lui $v0, 0x900 +/* 3752B0 E0072460 24420E60 */ addiu $v0, $v0, 0xe60 +/* 3752B4 E0072464 AD02000C */ sw $v0, 0xc($t0) +/* 3752B8 E0072468 3C02FA00 */ lui $v0, 0xfa00 +/* 3752BC E007246C AD020010 */ sw $v0, 0x10($t0) +/* 3752C0 E0072470 3C028000 */ lui $v0, 0x8000 +/* 3752C4 E0072474 AD140008 */ sw $s4, 8($t0) +/* 3752C8 E0072478 00621821 */ addu $v1, $v1, $v0 +/* 3752CC E007247C AD030004 */ sw $v1, 4($t0) +/* 3752D0 E0072480 92030027 */ lbu $v1, 0x27($s0) +/* 3752D4 E0072484 25020020 */ addiu $v0, $t0, 0x20 +/* 3752D8 E0072488 AE220000 */ sw $v0, ($s1) +/* 3752DC E007248C 3C02FB00 */ lui $v0, 0xfb00 +/* 3752E0 E0072490 AD020018 */ sw $v0, 0x18($t0) +/* 3752E4 E0072494 00651825 */ or $v1, $v1, $a1 +/* 3752E8 E0072498 AD030014 */ sw $v1, 0x14($t0) +/* 3752EC E007249C 92020050 */ lbu $v0, 0x50($s0) +/* 3752F0 E00724A0 92040051 */ lbu $a0, 0x51($s0) +/* 3752F4 E00724A4 92030052 */ lbu $v1, 0x52($s0) +/* 3752F8 E00724A8 00021600 */ sll $v0, $v0, 0x18 +/* 3752FC E00724AC 00042400 */ sll $a0, $a0, 0x10 +/* 375300 E00724B0 00441025 */ or $v0, $v0, $a0 +/* 375304 E00724B4 00031A00 */ sll $v1, $v1, 8 +/* 375308 E00724B8 00431025 */ or $v0, $v0, $v1 +/* 37530C E00724BC 34420080 */ ori $v0, $v0, 0x80 +/* 375310 E00724C0 AD02001C */ sw $v0, 0x1c($t0) +/* 375314 E00724C4 C6020030 */ lwc1 $f2, 0x30($s0) +/* 375318 E00724C8 46041082 */ mul.s $f2, $f2, $f4 +/* 37531C E00724CC 00000000 */ nop +/* 375320 E00724D0 3C130001 */ lui $s3, 1 +/* 375324 E00724D4 36731630 */ ori $s3, $s3, 0x1630 +/* 375328 E00724D8 C6000034 */ lwc1 $f0, 0x34($s0) +/* 37532C E00724DC 3C07F200 */ lui $a3, 0xf200 +/* 375330 E00724E0 46040002 */ mul.s $f0, $f0, $f4 +/* 375334 E00724E4 00000000 */ nop +/* 375338 E00724E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 37533C E00724EC 25020028 */ addiu $v0, $t0, 0x28 +/* 375340 E00724F0 AE220000 */ sw $v0, ($s1) +/* 375344 E00724F4 4600118D */ trunc.w.s $f6, $f2 +/* 375348 E00724F8 44023000 */ mfc1 $v0, $f6 +/* 37534C E00724FC 4600018D */ trunc.w.s $f6, $f0 +/* 375350 E0072500 44063000 */ mfc1 $a2, $f6 +/* 375354 E0072504 30450FFF */ andi $a1, $v0, 0xfff +/* 375358 E0072508 00052B00 */ sll $a1, $a1, 0xc +/* 37535C E007250C 30C30FFF */ andi $v1, $a2, 0xfff +/* 375360 E0072510 00671825 */ or $v1, $v1, $a3 +/* 375364 E0072514 00A32825 */ or $a1, $a1, $v1 +/* 375368 E0072518 244200FC */ addiu $v0, $v0, 0xfc +/* 37536C E007251C C6000038 */ lwc1 $f0, 0x38($s0) +/* 375370 E0072520 30420FFF */ andi $v0, $v0, 0xfff +/* 375374 E0072524 46040002 */ mul.s $f0, $f0, $f4 +/* 375378 E0072528 00000000 */ nop +/* 37537C E007252C 00021300 */ sll $v0, $v0, 0xc +/* 375380 E0072530 24C600FC */ addiu $a2, $a2, 0xfc +/* 375384 E0072534 C602003C */ lwc1 $f2, 0x3c($s0) +/* 375388 E0072538 30C60FFF */ andi $a2, $a2, 0xfff +/* 37538C E007253C 46041082 */ mul.s $f2, $f2, $f4 +/* 375390 E0072540 00000000 */ nop +/* 375394 E0072544 00461025 */ or $v0, $v0, $a2 +/* 375398 E0072548 AD050020 */ sw $a1, 0x20($t0) +/* 37539C E007254C AD020024 */ sw $v0, 0x24($t0) +/* 3753A0 E0072550 4600018D */ trunc.w.s $f6, $f0 +/* 3753A4 E0072554 44053000 */ mfc1 $a1, $f6 +/* 3753A8 E0072558 4600118D */ trunc.w.s $f6, $f2 +/* 3753AC E007255C 44063000 */ mfc1 $a2, $f6 +/* 3753B0 E0072560 30A30FFF */ andi $v1, $a1, 0xfff +/* 3753B4 E0072564 00031B00 */ sll $v1, $v1, 0xc +/* 3753B8 E0072568 30C20FFF */ andi $v0, $a2, 0xfff +/* 3753BC E007256C 00471025 */ or $v0, $v0, $a3 +/* 3753C0 E0072570 00621825 */ or $v1, $v1, $v0 +/* 3753C4 E0072574 24A5007C */ addiu $a1, $a1, 0x7c +/* 3753C8 E0072578 30A50FFF */ andi $a1, $a1, 0xfff +/* 3753CC E007257C 00052B00 */ sll $a1, $a1, 0xc +/* 3753D0 E0072580 24C6007C */ addiu $a2, $a2, 0x7c +/* 3753D4 E0072584 30C60FFF */ andi $a2, $a2, 0xfff +/* 3753D8 E0072588 3C020100 */ lui $v0, 0x100 +/* 3753DC E007258C 00C23025 */ or $a2, $a2, $v0 +/* 3753E0 E0072590 00A62825 */ or $a1, $a1, $a2 +/* 3753E4 E0072594 AD030028 */ sw $v1, 0x28($t0) +/* 3753E8 E0072598 AD05002C */ sw $a1, 0x2c($t0) +/* 3753EC E007259C 8E050004 */ lw $a1, 4($s0) +/* 3753F0 E00725A0 8E060008 */ lw $a2, 8($s0) +/* 3753F4 E00725A4 8E07000C */ lw $a3, 0xc($s0) +/* 3753F8 E00725A8 25080030 */ addiu $t0, $t0, 0x30 +/* 3753FC E00725AC 0C080108 */ jal func_E0200420 +/* 375400 E00725B0 AE280000 */ sw $t0, ($s1) +/* 375404 E00725B4 8E05001C */ lw $a1, 0x1c($s0) +/* 375408 E00725B8 27B00050 */ addiu $s0, $sp, 0x50 +/* 37540C E00725BC 0200202D */ daddu $a0, $s0, $zero +/* 375410 E00725C0 00A0302D */ daddu $a2, $a1, $zero +/* 375414 E00725C4 0C080110 */ jal func_E0200440 +/* 375418 E00725C8 00A0382D */ daddu $a3, $a1, $zero +/* 37541C E00725CC 0200202D */ daddu $a0, $s0, $zero +/* 375420 E00725D0 27A50010 */ addiu $a1, $sp, 0x10 +/* 375424 E00725D4 0C080114 */ jal func_E0200450 +/* 375428 E00725D8 00A0302D */ daddu $a2, $a1, $zero +/* 37542C E00725DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 375430 E00725E0 3C108007 */ lui $s0, 0x8007 +/* 375434 E00725E4 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 375438 E00725E8 3C12800A */ lui $s2, 0x800a +/* 37543C E00725EC 2652A674 */ addiu $s2, $s2, -0x598c +/* 375440 E00725F0 96050000 */ lhu $a1, ($s0) +/* 375444 E00725F4 8E420000 */ lw $v0, ($s2) +/* 375448 E00725F8 00052980 */ sll $a1, $a1, 6 +/* 37544C E00725FC 00B32821 */ addu $a1, $a1, $s3 +/* 375450 E0072600 0C080118 */ jal func_E0200460 +/* 375454 E0072604 00452821 */ addu $a1, $v0, $a1 +/* 375458 E0072608 3C06D838 */ lui $a2, 0xd838 +/* 37545C E007260C 8E240000 */ lw $a0, ($s1) +/* 375460 E0072610 34C60002 */ ori $a2, $a2, 2 +/* 375464 E0072614 0080282D */ daddu $a1, $a0, $zero +/* 375468 E0072618 24840008 */ addiu $a0, $a0, 8 +/* 37546C E007261C AE240000 */ sw $a0, ($s1) +/* 375470 E0072620 96020000 */ lhu $v0, ($s0) +/* 375474 E0072624 3C03DA38 */ lui $v1, 0xda38 +/* 375478 E0072628 ACA30000 */ sw $v1, ($a1) +/* 37547C E007262C 24430001 */ addiu $v1, $v0, 1 +/* 375480 E0072630 3042FFFF */ andi $v0, $v0, 0xffff +/* 375484 E0072634 00021180 */ sll $v0, $v0, 6 +/* 375488 E0072638 A6030000 */ sh $v1, ($s0) +/* 37548C E007263C 8E430000 */ lw $v1, ($s2) +/* 375490 E0072640 00531021 */ addu $v0, $v0, $s3 +/* 375494 E0072644 00621821 */ addu $v1, $v1, $v0 +/* 375498 E0072648 24820008 */ addiu $v0, $a0, 8 +/* 37549C E007264C ACA30004 */ sw $v1, 4($a1) +/* 3754A0 E0072650 AE220000 */ sw $v0, ($s1) +/* 3754A4 E0072654 3C020900 */ lui $v0, 0x900 +/* 3754A8 E0072658 24420DC0 */ addiu $v0, $v0, 0xdc0 +/* 3754AC E007265C AC820004 */ sw $v0, 4($a0) +/* 3754B0 E0072660 24820010 */ addiu $v0, $a0, 0x10 +/* 3754B4 E0072664 AC940000 */ sw $s4, ($a0) +/* 3754B8 E0072668 AE220000 */ sw $v0, ($s1) +/* 3754BC E007266C 24020040 */ addiu $v0, $zero, 0x40 +/* 3754C0 E0072670 AC82000C */ sw $v0, 0xc($a0) +/* 3754C4 E0072674 24820018 */ addiu $v0, $a0, 0x18 +/* 3754C8 E0072678 AC860008 */ sw $a2, 8($a0) +/* 3754CC E007267C AE220000 */ sw $v0, ($s1) +/* 3754D0 E0072680 AC950010 */ sw $s5, 0x10($a0) +/* 3754D4 E0072684 AC800014 */ sw $zero, 0x14($a0) +/* 3754D8 E0072688 8FBF00A8 */ lw $ra, 0xa8($sp) +/* 3754DC E007268C 8FB500A4 */ lw $s5, 0xa4($sp) +/* 3754E0 E0072690 8FB400A0 */ lw $s4, 0xa0($sp) +/* 3754E4 E0072694 8FB3009C */ lw $s3, 0x9c($sp) +/* 3754E8 E0072698 8FB20098 */ lw $s2, 0x98($sp) +/* 3754EC E007269C 8FB10094 */ lw $s1, 0x94($sp) +/* 3754F0 E00726A0 8FB00090 */ lw $s0, 0x90($sp) +/* 3754F4 E00726A4 03E00008 */ jr $ra +/* 3754F8 E00726A8 27BD00B0 */ addiu $sp, $sp, 0xb0 +/* 3754FC E00726AC 00000000 */ nop diff --git a/asm/nonmatchings/code_376460/func_E0074000.s b/asm/nonmatchings/code_376460/func_E0074000.s new file mode 100644 index 0000000000..46fef219a4 --- /dev/null +++ b/asm/nonmatchings/code_376460/func_E0074000.s @@ -0,0 +1,132 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0074000 +/* 376460 E0074000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 376464 E0074004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 376468 E0074008 4485A000 */ mtc1 $a1, $f20 +/* 37646C E007400C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 376470 E0074010 4486B000 */ mtc1 $a2, $f22 +/* 376474 E0074014 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 376478 E0074018 4487C000 */ mtc1 $a3, $f24 +/* 37647C E007401C AFB30034 */ sw $s3, 0x34($sp) +/* 376480 E0074020 0080982D */ daddu $s3, $a0, $zero +/* 376484 E0074024 AFB00028 */ sw $s0, 0x28($sp) +/* 376488 E0074028 8FB00070 */ lw $s0, 0x70($sp) +/* 37648C E007402C 27A40010 */ addiu $a0, $sp, 0x10 +/* 376490 E0074030 AFB20030 */ sw $s2, 0x30($sp) +/* 376494 E0074034 8FB20074 */ lw $s2, 0x74($sp) +/* 376498 E0074038 3C02E007 */ lui $v0, 0xe007 +/* 37649C E007403C 244241E0 */ addiu $v0, $v0, 0x41e0 +/* 3764A0 E0074040 AFA20018 */ sw $v0, 0x18($sp) +/* 3764A4 E0074044 3C02E007 */ lui $v0, 0xe007 +/* 3764A8 E0074048 244241E8 */ addiu $v0, $v0, 0x41e8 +/* 3764AC E007404C AFA2001C */ sw $v0, 0x1c($sp) +/* 3764B0 E0074050 3C02E007 */ lui $v0, 0xe007 +/* 3764B4 E0074054 24424598 */ addiu $v0, $v0, 0x4598 +/* 3764B8 E0074058 AFA20020 */ sw $v0, 0x20($sp) +/* 3764BC E007405C 2402003A */ addiu $v0, $zero, 0x3a +/* 3764C0 E0074060 AFBF0038 */ sw $ra, 0x38($sp) +/* 3764C4 E0074064 AFB1002C */ sw $s1, 0x2c($sp) +/* 3764C8 E0074068 AFA00010 */ sw $zero, 0x10($sp) +/* 3764CC E007406C AFA00024 */ sw $zero, 0x24($sp) +/* 3764D0 E0074070 AFA20014 */ sw $v0, 0x14($sp) +/* 3764D4 E0074074 0C080124 */ jal func_E0200490 +/* 3764D8 E0074078 26100001 */ addiu $s0, $s0, 1 +/* 3764DC E007407C 001020C0 */ sll $a0, $s0, 3 +/* 3764E0 E0074080 00902023 */ subu $a0, $a0, $s0 +/* 3764E4 E0074084 00042080 */ sll $a0, $a0, 2 +/* 3764E8 E0074088 00902023 */ subu $a0, $a0, $s0 +/* 3764EC E007408C 00042080 */ sll $a0, $a0, 2 +/* 3764F0 E0074090 0040882D */ daddu $s1, $v0, $zero +/* 3764F4 E0074094 0C08012C */ jal func_E02004B0 +/* 3764F8 E0074098 AE300008 */ sw $s0, 8($s1) +/* 3764FC E007409C 0040202D */ daddu $a0, $v0, $zero +/* 376500 E00740A0 14800003 */ bnez $a0, .LE00740B0 +/* 376504 E00740A4 AE24000C */ sw $a0, 0xc($s1) +.LE00740A8: +/* 376508 E00740A8 0801D02A */ j .LE00740A8 +/* 37650C E00740AC 00000000 */ nop +.LE00740B0: +/* 376510 E00740B0 AC930000 */ sw $s3, ($a0) +/* 376514 E00740B4 1E400004 */ bgtz $s2, .LE00740C8 +/* 376518 E00740B8 AC80003C */ sw $zero, 0x3c($a0) +/* 37651C E00740BC 240203E8 */ addiu $v0, $zero, 0x3e8 +/* 376520 E00740C0 0801D033 */ j .LE00740CC +/* 376524 E00740C4 AC820038 */ sw $v0, 0x38($a0) +.LE00740C8: +/* 376528 E00740C8 AC920038 */ sw $s2, 0x38($a0) +.LE00740CC: +/* 37652C E00740CC 3C013F80 */ lui $at, 0x3f80 +/* 376530 E00740D0 44810000 */ mtc1 $at, $f0 +/* 376534 E00740D4 240300FF */ addiu $v1, $zero, 0xff +/* 376538 E00740D8 AC83004C */ sw $v1, 0x4c($a0) +/* 37653C E00740DC E4940004 */ swc1 $f20, 4($a0) +/* 376540 E00740E0 E4960008 */ swc1 $f22, 8($a0) +/* 376544 E00740E4 E498000C */ swc1 $f24, 0xc($a0) +/* 376548 E00740E8 E4800060 */ swc1 $f0, 0x60($a0) +/* 37654C E00740EC C7A00068 */ lwc1 $f0, 0x68($sp) +/* 376550 E00740F0 E4800010 */ swc1 $f0, 0x10($a0) +/* 376554 E00740F4 C7A0006C */ lwc1 $f0, 0x6c($sp) +/* 376558 E00740F8 2402007F */ addiu $v0, $zero, 0x7f +/* 37655C E00740FC AC820058 */ sw $v0, 0x58($a0) +/* 376560 E0074100 2A420014 */ slti $v0, $s2, 0x14 +/* 376564 E0074104 AC830040 */ sw $v1, 0x40($a0) +/* 376568 E0074108 AC830044 */ sw $v1, 0x44($a0) +/* 37656C E007410C AC830048 */ sw $v1, 0x48($a0) +/* 376570 E0074110 AC830050 */ sw $v1, 0x50($a0) +/* 376574 E0074114 AC830054 */ sw $v1, 0x54($a0) +/* 376578 E0074118 AC83005C */ sw $v1, 0x5c($a0) +/* 37657C E007411C E4800014 */ swc1 $f0, 0x14($a0) +/* 376580 E0074120 10400009 */ beqz $v0, .LE0074148 +/* 376584 E0074124 2484006C */ addiu $a0, $a0, 0x6c +/* 376588 E0074128 2602FFFF */ addiu $v0, $s0, -1 +/* 37658C E007412C 3C0141A0 */ lui $at, 0x41a0 +/* 376590 E0074130 44811000 */ mtc1 $at, $f2 +/* 376594 E0074134 44820000 */ mtc1 $v0, $f0 +/* 376598 E0074138 00000000 */ nop +/* 37659C E007413C 46800020 */ cvt.s.w $f0, $f0 +/* 3765A0 E0074140 0801D05A */ j .LE0074168 +/* 3765A4 E0074144 46001083 */ div.s $f2, $f2, $f0 +.LE0074148: +/* 3765A8 E0074148 44920000 */ mtc1 $s2, $f0 +/* 3765AC E007414C 00000000 */ nop +/* 3765B0 E0074150 46800020 */ cvt.s.w $f0, $f0 +/* 3765B4 E0074154 2602FFFF */ addiu $v0, $s0, -1 +/* 3765B8 E0074158 44821000 */ mtc1 $v0, $f2 +/* 3765BC E007415C 00000000 */ nop +/* 3765C0 E0074160 468010A0 */ cvt.s.w $f2, $f2 +/* 3765C4 E0074164 46020083 */ div.s $f2, $f0, $f2 +.LE0074168: +/* 3765C8 E0074168 24030001 */ addiu $v1, $zero, 1 +/* 3765CC E007416C 0070102A */ slt $v0, $v1, $s0 +/* 3765D0 E0074170 10400011 */ beqz $v0, .LE00741B8 +/* 3765D4 E0074174 0220102D */ daddu $v0, $s1, $zero +.LE0074178: +/* 3765D8 E0074178 44830000 */ mtc1 $v1, $f0 +/* 3765DC E007417C 00000000 */ nop +/* 3765E0 E0074180 46800020 */ cvt.s.w $f0, $f0 +/* 3765E4 E0074184 46000007 */ neg.s $f0, $f0 +/* 3765E8 E0074188 46020002 */ mul.s $f0, $f0, $f2 +/* 3765EC E007418C 00000000 */ nop +/* 3765F0 E0074190 24630001 */ addiu $v1, $v1, 1 +/* 3765F4 E0074194 4600010D */ trunc.w.s $f4, $f0 +/* 3765F8 E0074198 44022000 */ mfc1 $v0, $f4 +/* 3765FC E007419C 00000000 */ nop +/* 376600 E00741A0 2442FFFF */ addiu $v0, $v0, -1 +/* 376604 E00741A4 AC820030 */ sw $v0, 0x30($a0) +/* 376608 E00741A8 0070102A */ slt $v0, $v1, $s0 +/* 37660C E00741AC 1440FFF2 */ bnez $v0, .LE0074178 +/* 376610 E00741B0 2484006C */ addiu $a0, $a0, 0x6c +/* 376614 E00741B4 0220102D */ daddu $v0, $s1, $zero +.LE00741B8: +/* 376618 E00741B8 8FBF0038 */ lw $ra, 0x38($sp) +/* 37661C E00741BC 8FB30034 */ lw $s3, 0x34($sp) +/* 376620 E00741C0 8FB20030 */ lw $s2, 0x30($sp) +/* 376624 E00741C4 8FB1002C */ lw $s1, 0x2c($sp) +/* 376628 E00741C8 8FB00028 */ lw $s0, 0x28($sp) +/* 37662C E00741CC D7B80050 */ ldc1 $f24, 0x50($sp) +/* 376630 E00741D0 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 376634 E00741D4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 376638 E00741D8 03E00008 */ jr $ra +/* 37663C E00741DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_376460/func_E00741E0.s b/asm/nonmatchings/code_376460/func_E00741E0.s new file mode 100644 index 0000000000..b38d781191 --- /dev/null +++ b/asm/nonmatchings/code_376460/func_E00741E0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00741E0 +/* 376640 E00741E0 03E00008 */ jr $ra +/* 376644 E00741E4 00000000 */ nop diff --git a/asm/nonmatchings/code_376460/func_E00741E8.s b/asm/nonmatchings/code_376460/func_E00741E8.s new file mode 100644 index 0000000000..50aeb7a64d --- /dev/null +++ b/asm/nonmatchings/code_376460/func_E00741E8.s @@ -0,0 +1,249 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00741E8 +/* 376648 E00741E8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 37664C E00741EC AFB20020 */ sw $s2, 0x20($sp) +/* 376650 E00741F0 0080902D */ daddu $s2, $a0, $zero +/* 376654 E00741F4 AFBF0028 */ sw $ra, 0x28($sp) +/* 376658 E00741F8 AFB30024 */ sw $s3, 0x24($sp) +/* 37665C E00741FC AFB1001C */ sw $s1, 0x1c($sp) +/* 376660 E0074200 AFB00018 */ sw $s0, 0x18($sp) +/* 376664 E0074204 F7BE0058 */ sdc1 $f30, 0x58($sp) +/* 376668 E0074208 F7BC0050 */ sdc1 $f28, 0x50($sp) +/* 37666C E007420C F7BA0048 */ sdc1 $f26, 0x48($sp) +/* 376670 E0074210 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 376674 E0074214 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 376678 E0074218 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 37667C E007421C 8E440000 */ lw $a0, ($s2) +/* 376680 E0074220 8E43000C */ lw $v1, 0xc($s2) +/* 376684 E0074224 30820010 */ andi $v0, $a0, 0x10 +/* 376688 E0074228 10400005 */ beqz $v0, .LE0074240 +/* 37668C E007422C 2402FFEF */ addiu $v0, $zero, -0x11 +/* 376690 E0074230 00821024 */ and $v0, $a0, $v0 +/* 376694 E0074234 AE420000 */ sw $v0, ($s2) +/* 376698 E0074238 24020010 */ addiu $v0, $zero, 0x10 +/* 37669C E007423C AC620038 */ sw $v0, 0x38($v1) +.LE0074240: +/* 3766A0 E0074240 8C640038 */ lw $a0, 0x38($v1) +/* 3766A4 E0074244 288203E8 */ slti $v0, $a0, 0x3e8 +/* 3766A8 E0074248 10400002 */ beqz $v0, .LE0074254 +/* 3766AC E007424C 2482FFFF */ addiu $v0, $a0, -1 +/* 3766B0 E0074250 AC620038 */ sw $v0, 0x38($v1) +.LE0074254: +/* 3766B4 E0074254 8C62003C */ lw $v0, 0x3c($v1) +/* 3766B8 E0074258 8C640038 */ lw $a0, 0x38($v1) +/* 3766BC E007425C 24420001 */ addiu $v0, $v0, 1 +/* 3766C0 E0074260 04810005 */ bgez $a0, .LE0074278 +/* 3766C4 E0074264 AC62003C */ sw $v0, 0x3c($v1) +/* 3766C8 E0074268 0C080128 */ jal func_E02004A0 +/* 3766CC E007426C 0240202D */ daddu $a0, $s2, $zero +/* 3766D0 E0074270 0801D159 */ j .LE0074564 +/* 3766D4 E0074274 00000000 */ nop +.LE0074278: +/* 3766D8 E0074278 28820008 */ slti $v0, $a0, 8 +/* 3766DC E007427C 10400002 */ beqz $v0, .LE0074288 +/* 3766E0 E0074280 00041140 */ sll $v0, $a0, 5 +/* 3766E4 E0074284 AC62004C */ sw $v0, 0x4c($v1) +.LE0074288: +/* 3766E8 E0074288 C47E0010 */ lwc1 $f30, 0x10($v1) +/* 3766EC E007428C C47C0014 */ lwc1 $f28, 0x14($v1) +/* 3766F0 E0074290 E7BC0010 */ swc1 $f28, 0x10($sp) +/* 3766F4 E0074294 8E420008 */ lw $v0, 8($s2) +/* 3766F8 E0074298 24110001 */ addiu $s1, $zero, 1 +/* 3766FC E007429C 0222102A */ slt $v0, $s1, $v0 +/* 376700 E00742A0 104000B0 */ beqz $v0, .LE0074564 +/* 376704 E00742A4 2463006C */ addiu $v1, $v1, 0x6c +/* 376708 E00742A8 3C13E007 */ lui $s3, 0xe007 +/* 37670C E00742AC 26734B80 */ addiu $s3, $s3, 0x4b80 +/* 376710 E00742B0 24700020 */ addiu $s0, $v1, 0x20 +/* 376714 E00742B4 3C013FE0 */ lui $at, 0x3fe0 +/* 376718 E00742B8 4481C800 */ mtc1 $at, $f25 +/* 37671C E00742BC 4480C000 */ mtc1 $zero, $f24 +/* 376720 E00742C0 3C01E007 */ lui $at, 0xe007 +/* 376724 E00742C4 D43A4BF0 */ ldc1 $f26, 0x4bf0($at) +.LE00742C8: +/* 376728 E00742C8 8E020010 */ lw $v0, 0x10($s0) +/* 37672C E00742CC 24420001 */ addiu $v0, $v0, 1 +/* 376730 E00742D0 AE020010 */ sw $v0, 0x10($s0) +/* 376734 E00742D4 28420014 */ slti $v0, $v0, 0x14 +/* 376738 E00742D8 50400001 */ beql $v0, $zero, .LE00742E0 +/* 37673C E00742DC AE000010 */ sw $zero, 0x10($s0) +.LE00742E0: +/* 376740 E00742E0 8E020010 */ lw $v0, 0x10($s0) +/* 376744 E00742E4 0442009B */ bltzl $v0, .LE0074554 +/* 376748 E00742E8 26310001 */ addiu $s1, $s1, 1 +/* 37674C E00742EC 14400055 */ bnez $v0, .LE0074444 +/* 376750 E00742F0 00000000 */ nop +/* 376754 E00742F4 0C080138 */ jal func_E02004E0 +/* 376758 E00742F8 24040167 */ addiu $a0, $zero, 0x167 +/* 37675C E00742FC 4482A000 */ mtc1 $v0, $f20 +/* 376760 E0074300 00000000 */ nop +/* 376764 E0074304 4680A520 */ cvt.s.w $f20, $f20 +/* 376768 E0074308 0C080138 */ jal func_E02004E0 +/* 37676C E007430C 24040167 */ addiu $a0, $zero, 0x167 +/* 376770 E0074310 0C080140 */ jal func_E0200500 +/* 376774 E0074314 4600A306 */ mov.s $f12, $f20 +/* 376778 E0074318 4600F002 */ mul.s $f0, $f30, $f0 +/* 37677C E007431C 00000000 */ nop +/* 376780 E0074320 C7BC0010 */ lwc1 $f28, 0x10($sp) +/* 376784 E0074324 4600E70D */ trunc.w.s $f28, $f28 +/* 376788 E0074328 4404E000 */ mfc1 $a0, $f28 +/* 37678C E007432C 0C080138 */ jal func_E02004E0 +/* 376790 E0074330 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 376794 E0074334 C7BC0010 */ lwc1 $f28, 0x10($sp) +/* 376798 E0074338 4600E0A1 */ cvt.d.s $f2, $f28 +/* 37679C E007433C 46381082 */ mul.d $f2, $f2, $f24 +/* 3767A0 E0074340 00000000 */ nop +/* 3767A4 E0074344 44820000 */ mtc1 $v0, $f0 +/* 3767A8 E0074348 00000000 */ nop +/* 3767AC E007434C 46800021 */ cvt.d.w $f0, $f0 +/* 3767B0 E0074350 46220001 */ sub.d $f0, $f0, $f2 +/* 3767B4 E0074354 4600A306 */ mov.s $f12, $f20 +/* 3767B8 E0074358 46200020 */ cvt.s.d $f0, $f0 +/* 3767BC E007435C 0C080144 */ jal func_E0200510 +/* 3767C0 E0074360 E600FFE8 */ swc1 $f0, -0x18($s0) +/* 3767C4 E0074364 4600F002 */ mul.s $f0, $f30, $f0 +/* 3767C8 E0074368 00000000 */ nop +/* 3767CC E007436C 4600A306 */ mov.s $f12, $f20 +/* 3767D0 E0074370 0C080140 */ jal func_E0200500 +/* 3767D4 E0074374 E600FFEC */ swc1 $f0, -0x14($s0) +/* 3767D8 E0074378 C602FFE8 */ lwc1 $f2, -0x18($s0) +/* 3767DC E007437C 3C01E007 */ lui $at, 0xe007 +/* 3767E0 E0074380 D4244BF8 */ ldc1 $f4, 0x4bf8($at) +/* 3767E4 E0074384 460010A1 */ cvt.d.s $f2, $f2 +/* 3767E8 E0074388 46241082 */ mul.d $f2, $f2, $f4 +/* 3767EC E007438C 00000000 */ nop +/* 3767F0 E0074390 3C014170 */ lui $at, 0x4170 +/* 3767F4 E0074394 4481E000 */ mtc1 $at, $f28 +/* 3767F8 E0074398 00000000 */ nop +/* 3767FC E007439C 461C0002 */ mul.s $f0, $f0, $f28 +/* 376800 E00743A0 00000000 */ nop +/* 376804 E00743A4 4600A306 */ mov.s $f12, $f20 +/* 376808 E00743A8 E600FFF8 */ swc1 $f0, -8($s0) +/* 37680C E00743AC 462010A0 */ cvt.s.d $f2, $f2 +/* 376810 E00743B0 0C080144 */ jal func_E0200510 +/* 376814 E00743B4 E602FFFC */ swc1 $f2, -4($s0) +/* 376818 E00743B8 C604FFF8 */ lwc1 $f4, -8($s0) +/* 37681C E00743BC 46002121 */ cvt.d.s $f4, $f4 +/* 376820 E00743C0 46382102 */ mul.d $f4, $f4, $f24 +/* 376824 E00743C4 00000000 */ nop +/* 376828 E00743C8 C602FFFC */ lwc1 $f2, -4($s0) +/* 37682C E00743CC 460010A1 */ cvt.d.s $f2, $f2 +/* 376830 E00743D0 46381082 */ mul.d $f2, $f2, $f24 +/* 376834 E00743D4 00000000 */ nop +/* 376838 E00743D8 461C0002 */ mul.s $f0, $f0, $f28 +/* 37683C E00743DC 00000000 */ nop +/* 376840 E00743E0 E6000000 */ swc1 $f0, ($s0) +/* 376844 E00743E4 46000021 */ cvt.d.s $f0, $f0 +/* 376848 E00743E8 46380002 */ mul.d $f0, $f0, $f24 +/* 37684C E00743EC 00000000 */ nop +/* 376850 E00743F0 2404000F */ addiu $a0, $zero, 0xf +/* 376854 E00743F4 46202120 */ cvt.s.d $f4, $f4 +/* 376858 E00743F8 462010A0 */ cvt.s.d $f2, $f2 +/* 37685C E00743FC E6040004 */ swc1 $f4, 4($s0) +/* 376860 E0074400 E6020008 */ swc1 $f2, 8($s0) +/* 376864 E0074404 46200020 */ cvt.s.d $f0, $f0 +/* 376868 E0074408 0C080138 */ jal func_E02004E0 +/* 37686C E007440C E600000C */ swc1 $f0, 0xc($s0) +/* 376870 E0074410 2404000F */ addiu $a0, $zero, 0xf +/* 376874 E0074414 44820000 */ mtc1 $v0, $f0 +/* 376878 E0074418 00000000 */ nop +/* 37687C E007441C 46800020 */ cvt.s.w $f0, $f0 +/* 376880 E0074420 0C080138 */ jal func_E02004E0 +/* 376884 E0074424 E6000044 */ swc1 $f0, 0x44($s0) +/* 376888 E0074428 44820000 */ mtc1 $v0, $f0 +/* 37688C E007442C 00000000 */ nop +/* 376890 E0074430 46800020 */ cvt.s.w $f0, $f0 +/* 376894 E0074434 240200FF */ addiu $v0, $zero, 0xff +/* 376898 E0074438 E6000048 */ swc1 $f0, 0x48($s0) +/* 37689C E007443C AE000014 */ sw $zero, 0x14($s0) +/* 3768A0 E0074440 AE02002C */ sw $v0, 0x2c($s0) +.LE0074444: +/* 3768A4 E0074444 C610FFF8 */ lwc1 $f16, -8($s0) +/* 3768A8 E0074448 C60A0004 */ lwc1 $f10, 4($s0) +/* 3768AC E007444C 46105281 */ sub.s $f10, $f10, $f16 +/* 3768B0 E0074450 460052A1 */ cvt.d.s $f10, $f10 +/* 3768B4 E0074454 463A5282 */ mul.d $f10, $f10, $f26 +/* 3768B8 E0074458 00000000 */ nop +/* 3768BC E007445C C60EFFFC */ lwc1 $f14, -4($s0) +/* 3768C0 E0074460 C60C0008 */ lwc1 $f12, 8($s0) +/* 3768C4 E0074464 460E6301 */ sub.s $f12, $f12, $f14 +/* 3768C8 E0074468 46006321 */ cvt.d.s $f12, $f12 +/* 3768CC E007446C 463A6302 */ mul.d $f12, $f12, $f26 +/* 3768D0 E0074470 00000000 */ nop +/* 3768D4 E0074474 C6060000 */ lwc1 $f6, ($s0) +/* 3768D8 E0074478 C608000C */ lwc1 $f8, 0xc($s0) +/* 3768DC E007447C 46064201 */ sub.s $f8, $f8, $f6 +/* 3768E0 E0074480 8E020010 */ lw $v0, 0x10($s0) +/* 3768E4 E0074484 46004221 */ cvt.d.s $f8, $f8 +/* 3768E8 E0074488 463A4202 */ mul.d $f8, $f8, $f26 +/* 3768EC E007448C 00000000 */ nop +/* 3768F0 E0074490 C6000014 */ lwc1 $f0, 0x14($s0) +/* 3768F4 E0074494 3C014080 */ lui $at, 0x4080 +/* 3768F8 E0074498 44811000 */ mtc1 $at, $f2 +/* 3768FC E007449C C614FFE4 */ lwc1 $f20, -0x1c($s0) +/* 376900 E00744A0 C612FFE8 */ lwc1 $f18, -0x18($s0) +/* 376904 E00744A4 C604FFEC */ lwc1 $f4, -0x14($s0) +/* 376908 E00744A8 00021080 */ sll $v0, $v0, 2 +/* 37690C E00744AC 00531021 */ addu $v0, $v0, $s3 +/* 376910 E00744B0 46020000 */ add.s $f0, $f0, $f2 +/* 376914 E00744B4 C4560000 */ lwc1 $f22, ($v0) +/* 376918 E00744B8 C6020044 */ lwc1 $f2, 0x44($s0) +/* 37691C E00744BC 4616B580 */ add.s $f22, $f22, $f22 +/* 376920 E00744C0 E6000014 */ swc1 $f0, 0x14($s0) +/* 376924 E00744C4 46008006 */ mov.s $f0, $f16 +/* 376928 E00744C8 4600A500 */ add.s $f20, $f20, $f0 +/* 37692C E00744CC 460010A1 */ cvt.d.s $f2, $f2 +/* 376930 E00744D0 46007006 */ mov.s $f0, $f14 +/* 376934 E00744D4 46009480 */ add.s $f18, $f18, $f0 +/* 376938 E00744D8 46003006 */ mov.s $f0, $f6 +/* 37693C E00744DC 46008421 */ cvt.d.s $f16, $f16 +/* 376940 E00744E0 46002100 */ add.s $f4, $f4, $f0 +/* 376944 E00744E4 460073A1 */ cvt.d.s $f14, $f14 +/* 376948 E00744E8 460031A1 */ cvt.d.s $f6, $f6 +/* 37694C E00744EC E604FFEC */ swc1 $f4, -0x14($s0) +/* 376950 E00744F0 3C01E007 */ lui $at, 0xe007 +/* 376954 E00744F4 D4244C00 */ ldc1 $f4, 0x4c00($at) +/* 376958 E00744F8 C6000048 */ lwc1 $f0, 0x48($s0) +/* 37695C E00744FC 46241080 */ add.d $f2, $f2, $f4 +/* 376960 E0074500 3C01E007 */ lui $at, 0xe007 +/* 376964 E0074504 D4244C08 */ ldc1 $f4, 0x4c08($at) +/* 376968 E0074508 46000021 */ cvt.d.s $f0, $f0 +/* 37696C E007450C E6160040 */ swc1 $f22, 0x40($s0) +/* 376970 E0074510 46240000 */ add.d $f0, $f0, $f4 +/* 376974 E0074514 E614FFE4 */ swc1 $f20, -0x1c($s0) +/* 376978 E0074518 E612FFE8 */ swc1 $f18, -0x18($s0) +/* 37697C E007451C 462A8400 */ add.d $f16, $f16, $f10 +/* 376980 E0074520 462010A0 */ cvt.s.d $f2, $f2 +/* 376984 E0074524 E6020044 */ swc1 $f2, 0x44($s0) +/* 376988 E0074528 462C7380 */ add.d $f14, $f14, $f12 +/* 37698C E007452C 46200020 */ cvt.s.d $f0, $f0 +/* 376990 E0074530 E6000048 */ swc1 $f0, 0x48($s0) +/* 376994 E0074534 46283180 */ add.d $f6, $f6, $f8 +/* 376998 E0074538 46208420 */ cvt.s.d $f16, $f16 +/* 37699C E007453C 462073A0 */ cvt.s.d $f14, $f14 +/* 3769A0 E0074540 462031A0 */ cvt.s.d $f6, $f6 +/* 3769A4 E0074544 E610FFF8 */ swc1 $f16, -8($s0) +/* 3769A8 E0074548 E60EFFFC */ swc1 $f14, -4($s0) +/* 3769AC E007454C E6060000 */ swc1 $f6, ($s0) +/* 3769B0 E0074550 26310001 */ addiu $s1, $s1, 1 +.LE0074554: +/* 3769B4 E0074554 8E420008 */ lw $v0, 8($s2) +/* 3769B8 E0074558 0222102A */ slt $v0, $s1, $v0 +/* 3769BC E007455C 1440FF5A */ bnez $v0, .LE00742C8 +/* 3769C0 E0074560 2610006C */ addiu $s0, $s0, 0x6c +.LE0074564: +/* 3769C4 E0074564 8FBF0028 */ lw $ra, 0x28($sp) +/* 3769C8 E0074568 8FB30024 */ lw $s3, 0x24($sp) +/* 3769CC E007456C 8FB20020 */ lw $s2, 0x20($sp) +/* 3769D0 E0074570 8FB1001C */ lw $s1, 0x1c($sp) +/* 3769D4 E0074574 8FB00018 */ lw $s0, 0x18($sp) +/* 3769D8 E0074578 D7BE0058 */ ldc1 $f30, 0x58($sp) +/* 3769DC E007457C D7BC0050 */ ldc1 $f28, 0x50($sp) +/* 3769E0 E0074580 D7BA0048 */ ldc1 $f26, 0x48($sp) +/* 3769E4 E0074584 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 3769E8 E0074588 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 3769EC E007458C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 3769F0 E0074590 03E00008 */ jr $ra +/* 3769F4 E0074594 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_376460/func_E0074598.s b/asm/nonmatchings/code_376460/func_E0074598.s new file mode 100644 index 0000000000..2890a947cf --- /dev/null +++ b/asm/nonmatchings/code_376460/func_E0074598.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0074598 +/* 3769F8 E0074598 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3769FC E007459C 3C02E007 */ lui $v0, 0xe007 +/* 376A00 E00745A0 244245E0 */ addiu $v0, $v0, 0x45e0 +/* 376A04 E00745A4 AFA2001C */ sw $v0, 0x1c($sp) +/* 376A08 E00745A8 2402000A */ addiu $v0, $zero, 0xa +/* 376A0C E00745AC AFA20014 */ sw $v0, 0x14($sp) +/* 376A10 E00745B0 2402002D */ addiu $v0, $zero, 0x2d +/* 376A14 E00745B4 AFA40018 */ sw $a0, 0x18($sp) +/* 376A18 E00745B8 27A40010 */ addiu $a0, $sp, 0x10 +/* 376A1C E00745BC AFBF0020 */ sw $ra, 0x20($sp) +/* 376A20 E00745C0 0C080120 */ jal func_E0200480 +/* 376A24 E00745C4 AFA20010 */ sw $v0, 0x10($sp) +/* 376A28 E00745C8 8C430000 */ lw $v1, ($v0) +/* 376A2C E00745CC 34630002 */ ori $v1, $v1, 2 +/* 376A30 E00745D0 AC430000 */ sw $v1, ($v0) +/* 376A34 E00745D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 376A38 E00745D8 03E00008 */ jr $ra +/* 376A3C E00745DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_376460/func_E00745E0.s b/asm/nonmatchings/code_376460/func_E00745E0.s new file mode 100644 index 0000000000..eee81cd275 --- /dev/null +++ b/asm/nonmatchings/code_376460/func_E00745E0.s @@ -0,0 +1,361 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00745E0 +/* 376A40 E00745E0 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 376A44 E00745E4 3C06DB06 */ lui $a2, 0xdb06 +/* 376A48 E00745E8 34C60024 */ ori $a2, $a2, 0x24 +/* 376A4C E00745EC AFA400F0 */ sw $a0, 0xf0($sp) +/* 376A50 E00745F0 27A40020 */ addiu $a0, $sp, 0x20 +/* 376A54 E00745F4 AFB100B4 */ sw $s1, 0xb4($sp) +/* 376A58 E00745F8 3C110001 */ lui $s1, 1 +/* 376A5C E00745FC 36311630 */ ori $s1, $s1, 0x1630 +/* 376A60 E0074600 AFB500C4 */ sw $s5, 0xc4($sp) +/* 376A64 E0074604 3C15800A */ lui $s5, 0x800a +/* 376A68 E0074608 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 376A6C E007460C AFBF00D4 */ sw $ra, 0xd4($sp) +/* 376A70 E0074610 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 376A74 E0074614 AFB700CC */ sw $s7, 0xcc($sp) +/* 376A78 E0074618 AFB600C8 */ sw $s6, 0xc8($sp) +/* 376A7C E007461C AFB400C0 */ sw $s4, 0xc0($sp) +/* 376A80 E0074620 AFB300BC */ sw $s3, 0xbc($sp) +/* 376A84 E0074624 AFB200B8 */ sw $s2, 0xb8($sp) +/* 376A88 E0074628 AFB000B0 */ sw $s0, 0xb0($sp) +/* 376A8C E007462C F7B800E8 */ sdc1 $f24, 0xe8($sp) +/* 376A90 E0074630 F7B600E0 */ sdc1 $f22, 0xe0($sp) +/* 376A94 E0074634 F7B400D8 */ sdc1 $f20, 0xd8($sp) +/* 376A98 E0074638 8EA50000 */ lw $a1, ($s5) +/* 376A9C E007463C 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 376AA0 E0074640 00A0182D */ daddu $v1, $a1, $zero +/* 376AA4 E0074644 8D52000C */ lw $s2, 0xc($t2) +/* 376AA8 E0074648 24A50008 */ addiu $a1, $a1, 8 +/* 376AAC E007464C AEA50000 */ sw $a1, ($s5) +/* 376AB0 E0074650 8E4A0050 */ lw $t2, 0x50($s2) +/* 376AB4 E0074654 C642004C */ lwc1 $f2, 0x4c($s2) +/* 376AB8 E0074658 468010A0 */ cvt.s.w $f2, $f2 +/* 376ABC E007465C AFAA00A0 */ sw $t2, 0xa0($sp) +/* 376AC0 E0074660 8E4A0054 */ lw $t2, 0x54($s2) +/* 376AC4 E0074664 24130001 */ addiu $s3, $zero, 1 +/* 376AC8 E0074668 AFAA00A4 */ sw $t2, 0xa4($sp) +/* 376ACC E007466C 8E4A0058 */ lw $t2, 0x58($s2) +/* 376AD0 E0074670 3C02E700 */ lui $v0, 0xe700 +/* 376AD4 E0074674 AFAA00A8 */ sw $t2, 0xa8($sp) +/* 376AD8 E0074678 AC620000 */ sw $v0, ($v1) +/* 376ADC E007467C AC600004 */ sw $zero, 4($v1) +/* 376AE0 E0074680 ACA60000 */ sw $a2, ($a1) +/* 376AE4 E0074684 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 376AE8 E0074688 3C01437F */ lui $at, 0x437f +/* 376AEC E007468C 44810000 */ mtc1 $at, $f0 +/* 376AF0 E0074690 8D430010 */ lw $v1, 0x10($t2) +/* 376AF4 E0074694 24A20008 */ addiu $v0, $a1, 8 +/* 376AF8 E0074698 AEA20000 */ sw $v0, ($s5) +/* 376AFC E007469C 8C62001C */ lw $v0, 0x1c($v1) +/* 376B00 E00746A0 3C038000 */ lui $v1, 0x8000 +/* 376B04 E00746A4 00431021 */ addu $v0, $v0, $v1 +/* 376B08 E00746A8 ACA20004 */ sw $v0, 4($a1) +/* 376B0C E00746AC 8E450004 */ lw $a1, 4($s2) +/* 376B10 E00746B0 8E460008 */ lw $a2, 8($s2) +/* 376B14 E00746B4 8E47000C */ lw $a3, 0xc($s2) +/* 376B18 E00746B8 0C080108 */ jal func_E0200420 +/* 376B1C E00746BC 46001503 */ div.s $f20, $f2, $f0 +/* 376B20 E00746C0 27B00060 */ addiu $s0, $sp, 0x60 +/* 376B24 E00746C4 8E450060 */ lw $a1, 0x60($s2) +/* 376B28 E00746C8 0200202D */ daddu $a0, $s0, $zero +/* 376B2C E00746CC 00A0302D */ daddu $a2, $a1, $zero +/* 376B30 E00746D0 0C080110 */ jal func_E0200440 +/* 376B34 E00746D4 00A0382D */ daddu $a3, $a1, $zero +/* 376B38 E00746D8 0200202D */ daddu $a0, $s0, $zero +/* 376B3C E00746DC 27A50020 */ addiu $a1, $sp, 0x20 +/* 376B40 E00746E0 0C080114 */ jal func_E0200450 +/* 376B44 E00746E4 00A0302D */ daddu $a2, $a1, $zero +/* 376B48 E00746E8 27A40020 */ addiu $a0, $sp, 0x20 +/* 376B4C E00746EC 3C108007 */ lui $s0, 0x8007 +/* 376B50 E00746F0 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 376B54 E00746F4 3C16800A */ lui $s6, 0x800a +/* 376B58 E00746F8 26D6A674 */ addiu $s6, $s6, -0x598c +/* 376B5C E00746FC 96050000 */ lhu $a1, ($s0) +/* 376B60 E0074700 8EC20000 */ lw $v0, ($s6) +/* 376B64 E0074704 00052980 */ sll $a1, $a1, 6 +/* 376B68 E0074708 00B12821 */ addu $a1, $a1, $s1 +/* 376B6C E007470C 0C080118 */ jal func_E0200460 +/* 376B70 E0074710 00452821 */ addu $a1, $v0, $a1 +/* 376B74 E0074714 3C03DA38 */ lui $v1, 0xda38 +/* 376B78 E0074718 34630002 */ ori $v1, $v1, 2 +/* 376B7C E007471C 8EA40000 */ lw $a0, ($s5) +/* 376B80 E0074720 96020000 */ lhu $v0, ($s0) +/* 376B84 E0074724 0080282D */ daddu $a1, $a0, $zero +/* 376B88 E0074728 24840008 */ addiu $a0, $a0, 8 +/* 376B8C E007472C AEA40000 */ sw $a0, ($s5) +/* 376B90 E0074730 ACA30000 */ sw $v1, ($a1) +/* 376B94 E0074734 00531821 */ addu $v1, $v0, $s3 +/* 376B98 E0074738 3042FFFF */ andi $v0, $v0, 0xffff +/* 376B9C E007473C 00021180 */ sll $v0, $v0, 6 +/* 376BA0 E0074740 00511021 */ addu $v0, $v0, $s1 +/* 376BA4 E0074744 A6030000 */ sh $v1, ($s0) +/* 376BA8 E0074748 8EC30000 */ lw $v1, ($s6) +/* 376BAC E007474C 24870010 */ addiu $a3, $a0, 0x10 +/* 376BB0 E0074750 00621821 */ addu $v1, $v1, $v0 +/* 376BB4 E0074754 24820008 */ addiu $v0, $a0, 8 +/* 376BB8 E0074758 ACA30004 */ sw $v1, 4($a1) +/* 376BBC E007475C AEA20000 */ sw $v0, ($s5) +/* 376BC0 E0074760 3C02FB00 */ lui $v0, 0xfb00 +/* 376BC4 E0074764 AC820000 */ sw $v0, ($a0) +/* 376BC8 E0074768 92430043 */ lbu $v1, 0x43($s2) +/* 376BCC E007476C 92450047 */ lbu $a1, 0x47($s2) +/* 376BD0 E0074770 9246004B */ lbu $a2, 0x4b($s2) +/* 376BD4 E0074774 9248005F */ lbu $t0, 0x5f($s2) +/* 376BD8 E0074778 3C02DE00 */ lui $v0, 0xde00 +/* 376BDC E007477C AEA70000 */ sw $a3, ($s5) +/* 376BE0 E0074780 AC820008 */ sw $v0, 8($a0) +/* 376BE4 E0074784 3C020900 */ lui $v0, 0x900 +/* 376BE8 E0074788 24420F20 */ addiu $v0, $v0, 0xf20 +/* 376BEC E007478C AC82000C */ sw $v0, 0xc($a0) +/* 376BF0 E0074790 24820018 */ addiu $v0, $a0, 0x18 +/* 376BF4 E0074794 AEA20000 */ sw $v0, ($s5) +/* 376BF8 E0074798 00031E00 */ sll $v1, $v1, 0x18 +/* 376BFC E007479C 00052C00 */ sll $a1, $a1, 0x10 +/* 376C00 E00747A0 00651825 */ or $v1, $v1, $a1 +/* 376C04 E00747A4 00063200 */ sll $a2, $a2, 8 +/* 376C08 E00747A8 00661825 */ or $v1, $v1, $a2 +/* 376C0C E00747AC 00681825 */ or $v1, $v1, $t0 +/* 376C10 E00747B0 AC830004 */ sw $v1, 4($a0) +/* 376C14 E00747B4 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 376C18 E00747B8 00E0A02D */ daddu $s4, $a3, $zero +/* 376C1C E00747BC 8D420008 */ lw $v0, 8($t2) +/* 376C20 E00747C0 0262102A */ slt $v0, $s3, $v0 +/* 376C24 E00747C4 1040006E */ beqz $v0, .LE0074980 +/* 376C28 E00747C8 2652006C */ addiu $s2, $s2, 0x6c +/* 376C2C E00747CC 02C0F02D */ daddu $fp, $s6, $zero +/* 376C30 E00747D0 0200B82D */ daddu $s7, $s0, $zero +/* 376C34 E00747D4 3C160001 */ lui $s6, 1 +/* 376C38 E00747D8 36D61630 */ ori $s6, $s6, 0x1630 +/* 376C3C E00747DC 02A0882D */ daddu $s1, $s5, $zero +/* 376C40 E00747E0 2650004C */ addiu $s0, $s2, 0x4c +/* 376C44 E00747E4 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 376C48 E00747E8 4480C000 */ mtc1 $zero, $f24 +/* 376C4C E00747EC 000A1600 */ sll $v0, $t2, 0x18 +/* 376C50 E00747F0 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 376C54 E00747F4 3C014F00 */ lui $at, 0x4f00 +/* 376C58 E00747F8 4481B000 */ mtc1 $at, $f22 +/* 376C5C E00747FC 314300FF */ andi $v1, $t2, 0xff +/* 376C60 E0074800 00031C00 */ sll $v1, $v1, 0x10 +/* 376C64 E0074804 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 376C68 E0074808 00431025 */ or $v0, $v0, $v1 +/* 376C6C E007480C 314300FF */ andi $v1, $t2, 0xff +/* 376C70 E0074810 00031A00 */ sll $v1, $v1, 8 +/* 376C74 E0074814 0043A825 */ or $s5, $v0, $v1 +.LE0074818: +/* 376C78 E0074818 8E02FFE4 */ lw $v0, -0x1c($s0) +/* 376C7C E007481C 04400052 */ bltz $v0, .LE0074968 +/* 376C80 E0074820 00000000 */ nop +/* 376C84 E0074824 C6000014 */ lwc1 $f0, 0x14($s0) +/* 376C88 E0074828 46140002 */ mul.s $f0, $f0, $f20 +/* 376C8C E007482C 00000000 */ nop +/* 376C90 E0074830 4405C000 */ mfc1 $a1, $f24 +/* 376C94 E0074834 4406C000 */ mfc1 $a2, $f24 +/* 376C98 E0074838 E7A00010 */ swc1 $f0, 0x10($sp) +/* 376C9C E007483C C600FFB8 */ lwc1 $f0, -0x48($s0) +/* 376CA0 E0074840 E7A00014 */ swc1 $f0, 0x14($sp) +/* 376CA4 E0074844 C600FFBC */ lwc1 $f0, -0x44($s0) +/* 376CA8 E0074848 E7A00018 */ swc1 $f0, 0x18($sp) +/* 376CAC E007484C C600FFC0 */ lwc1 $f0, -0x40($s0) +/* 376CB0 E0074850 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 376CB4 E0074854 8E07FFE8 */ lw $a3, -0x18($s0) +/* 376CB8 E0074858 0C080180 */ jal func_E0200600 +/* 376CBC E007485C 27A40020 */ addiu $a0, $sp, 0x20 +/* 376CC0 E0074860 27A40020 */ addiu $a0, $sp, 0x20 +/* 376CC4 E0074864 96E50000 */ lhu $a1, ($s7) +/* 376CC8 E0074868 8FC20000 */ lw $v0, ($fp) +/* 376CCC E007486C 00052980 */ sll $a1, $a1, 6 +/* 376CD0 E0074870 00B62821 */ addu $a1, $a1, $s6 +/* 376CD4 E0074874 0C080118 */ jal func_E0200460 +/* 376CD8 E0074878 00452821 */ addu $a1, $v0, $a1 +/* 376CDC E007487C 8E240000 */ lw $a0, ($s1) +/* 376CE0 E0074880 0080302D */ daddu $a2, $a0, $zero +/* 376CE4 E0074884 24840008 */ addiu $a0, $a0, 8 +/* 376CE8 E0074888 AE240000 */ sw $a0, ($s1) +/* 376CEC E007488C 96E50000 */ lhu $a1, ($s7) +/* 376CF0 E0074890 3C02DA38 */ lui $v0, 0xda38 +/* 376CF4 E0074894 ACC20000 */ sw $v0, ($a2) +/* 376CF8 E0074898 8FC30000 */ lw $v1, ($fp) +/* 376CFC E007489C 30A2FFFF */ andi $v0, $a1, 0xffff +/* 376D00 E00748A0 00021180 */ sll $v0, $v0, 6 +/* 376D04 E00748A4 00561021 */ addu $v0, $v0, $s6 +/* 376D08 E00748A8 00621821 */ addu $v1, $v1, $v0 +/* 376D0C E00748AC 3C02FA00 */ lui $v0, 0xfa00 +/* 376D10 E00748B0 24A50001 */ addiu $a1, $a1, 1 +/* 376D14 E00748B4 ACC30004 */ sw $v1, 4($a2) +/* 376D18 E00748B8 AC820000 */ sw $v0, ($a0) +/* 376D1C E00748BC C6000000 */ lwc1 $f0, ($s0) +/* 376D20 E00748C0 46800020 */ cvt.s.w $f0, $f0 +/* 376D24 E00748C4 46140002 */ mul.s $f0, $f0, $f20 +/* 376D28 E00748C8 00000000 */ nop +/* 376D2C E00748CC 24820008 */ addiu $v0, $a0, 8 +/* 376D30 E00748D0 24840004 */ addiu $a0, $a0, 4 +/* 376D34 E00748D4 A6E50000 */ sh $a1, ($s7) +/* 376D38 E00748D8 4600B03E */ c.le.s $f22, $f0 +/* 376D3C E00748DC 00000000 */ nop +/* 376D40 E00748E0 45010005 */ bc1t .LE00748F8 +/* 376D44 E00748E4 AE220000 */ sw $v0, ($s1) +/* 376D48 E00748E8 4600010D */ trunc.w.s $f4, $f0 +/* 376D4C E00748EC 44052000 */ mfc1 $a1, $f4 +/* 376D50 E00748F0 0801D245 */ j .LE0074914 +/* 376D54 E00748F4 3C06D838 */ lui $a2, 0xd838 +.LE00748F8: +/* 376D58 E00748F8 46160001 */ sub.s $f0, $f0, $f22 +/* 376D5C E00748FC 3C028000 */ lui $v0, 0x8000 +/* 376D60 E0074900 4600010D */ trunc.w.s $f4, $f0 +/* 376D64 E0074904 44052000 */ mfc1 $a1, $f4 +/* 376D68 E0074908 00000000 */ nop +/* 376D6C E007490C 00A22825 */ or $a1, $a1, $v0 +/* 376D70 E0074910 3C06D838 */ lui $a2, 0xd838 +.LE0074914: +/* 376D74 E0074914 34C60002 */ ori $a2, $a2, 2 +/* 376D78 E0074918 30A200FF */ andi $v0, $a1, 0xff +/* 376D7C E007491C 8E230000 */ lw $v1, ($s1) +/* 376D80 E0074920 02A21025 */ or $v0, $s5, $v0 +/* 376D84 E0074924 AC820000 */ sw $v0, ($a0) +/* 376D88 E0074928 3C02DE00 */ lui $v0, 0xde00 +/* 376D8C E007492C 0060282D */ daddu $a1, $v1, $zero +/* 376D90 E0074930 24630008 */ addiu $v1, $v1, 8 +/* 376D94 E0074934 AE230000 */ sw $v1, ($s1) +/* 376D98 E0074938 ACA20000 */ sw $v0, ($a1) +/* 376D9C E007493C 32620007 */ andi $v0, $s3, 7 +/* 376DA0 E0074940 00021080 */ sll $v0, $v0, 2 +/* 376DA4 E0074944 3C04E007 */ lui $a0, 0xe007 +/* 376DA8 E0074948 00822021 */ addu $a0, $a0, $v0 +/* 376DAC E007494C 8C844B60 */ lw $a0, 0x4b60($a0) +/* 376DB0 E0074950 24620008 */ addiu $v0, $v1, 8 +/* 376DB4 E0074954 AE220000 */ sw $v0, ($s1) +/* 376DB8 E0074958 24020040 */ addiu $v0, $zero, 0x40 +/* 376DBC E007495C ACA40004 */ sw $a0, 4($a1) +/* 376DC0 E0074960 AC660000 */ sw $a2, ($v1) +/* 376DC4 E0074964 AC620004 */ sw $v0, 4($v1) +.LE0074968: +/* 376DC8 E0074968 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 376DCC E007496C 26730001 */ addiu $s3, $s3, 1 +/* 376DD0 E0074970 8D420008 */ lw $v0, 8($t2) +/* 376DD4 E0074974 0262102A */ slt $v0, $s3, $v0 +/* 376DD8 E0074978 1440FFA7 */ bnez $v0, .LE0074818 +/* 376DDC E007497C 2610006C */ addiu $s0, $s0, 0x6c +.LE0074980: +/* 376DE0 E0074980 27A40020 */ addiu $a0, $sp, 0x20 +/* 376DE4 E0074984 3C150001 */ lui $s5, 1 +/* 376DE8 E0074988 36B51630 */ ori $s5, $s5, 0x1630 +/* 376DEC E007498C 3C1ED838 */ lui $fp, 0xd838 +/* 376DF0 E0074990 37DE0002 */ ori $fp, $fp, 2 +/* 376DF4 E0074994 3C10800A */ lui $s0, 0x800a +/* 376DF8 E0074998 2610A66C */ addiu $s0, $s0, -0x5994 +/* 376DFC E007499C 3C02DF00 */ lui $v0, 0xdf00 +/* 376E00 E00749A0 3C16DE00 */ lui $s6, 0xde00 +/* 376E04 E00749A4 8E030000 */ lw $v1, ($s0) +/* 376E08 E00749A8 3C0542F0 */ lui $a1, 0x42f0 +/* 376E0C E00749AC 4480A000 */ mtc1 $zero, $f20 +/* 376E10 E00749B0 3C013F80 */ lui $at, 0x3f80 +/* 376E14 E00749B4 4481B000 */ mtc1 $at, $f22 +/* 376E18 E00749B8 0060402D */ daddu $t0, $v1, $zero +/* 376E1C E00749BC 4406A000 */ mfc1 $a2, $f20 +/* 376E20 E00749C0 4407B000 */ mfc1 $a3, $f22 +/* 376E24 E00749C4 24630008 */ addiu $v1, $v1, 8 +/* 376E28 E00749C8 AE030000 */ sw $v1, ($s0) +/* 376E2C E00749CC AD020000 */ sw $v0, ($t0) +/* 376E30 E00749D0 3C02DE01 */ lui $v0, 0xde01 +/* 376E34 E00749D4 AD000004 */ sw $zero, 4($t0) +/* 376E38 E00749D8 AE820000 */ sw $v0, ($s4) +/* 376E3C E00749DC 24620008 */ addiu $v0, $v1, 8 +/* 376E40 E00749E0 AE830004 */ sw $v1, 4($s4) +/* 376E44 E00749E4 26940008 */ addiu $s4, $s4, 8 +/* 376E48 E00749E8 AE020000 */ sw $v0, ($s0) +/* 376E4C E00749EC AC760000 */ sw $s6, ($v1) +/* 376E50 E00749F0 AC740004 */ sw $s4, 4($v1) +/* 376E54 E00749F4 0C080104 */ jal func_E0200410 +/* 376E58 E00749F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 376E5C E00749FC 27A40020 */ addiu $a0, $sp, 0x20 +/* 376E60 E0074A00 3C118007 */ lui $s1, 0x8007 +/* 376E64 E0074A04 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 376E68 E0074A08 3C13800A */ lui $s3, 0x800a +/* 376E6C E0074A0C 2673A674 */ addiu $s3, $s3, -0x598c +/* 376E70 E0074A10 96250000 */ lhu $a1, ($s1) +/* 376E74 E0074A14 8E620000 */ lw $v0, ($s3) +/* 376E78 E0074A18 00052980 */ sll $a1, $a1, 6 +/* 376E7C E0074A1C 00B52821 */ addu $a1, $a1, $s5 +/* 376E80 E0074A20 0C080118 */ jal func_E0200460 +/* 376E84 E0074A24 00452821 */ addu $a1, $v0, $a1 +/* 376E88 E0074A28 27A40020 */ addiu $a0, $sp, 0x20 +/* 376E8C E0074A2C 3C17DA38 */ lui $s7, 0xda38 +/* 376E90 E0074A30 8E080000 */ lw $t0, ($s0) +/* 376E94 E0074A34 3C05C2F0 */ lui $a1, 0xc2f0 +/* 376E98 E0074A38 4406A000 */ mfc1 $a2, $f20 +/* 376E9C E0074A3C 4407B000 */ mfc1 $a3, $f22 +/* 376EA0 E0074A40 0100482D */ daddu $t1, $t0, $zero +/* 376EA4 E0074A44 25080008 */ addiu $t0, $t0, 8 +/* 376EA8 E0074A48 AE080000 */ sw $t0, ($s0) +/* 376EAC E0074A4C 96220000 */ lhu $v0, ($s1) +/* 376EB0 E0074A50 24120040 */ addiu $s2, $zero, 0x40 +/* 376EB4 E0074A54 AD370000 */ sw $s7, ($t1) +/* 376EB8 E0074A58 24430001 */ addiu $v1, $v0, 1 +/* 376EBC E0074A5C 3042FFFF */ andi $v0, $v0, 0xffff +/* 376EC0 E0074A60 00021180 */ sll $v0, $v0, 6 +/* 376EC4 E0074A64 A6230000 */ sh $v1, ($s1) +/* 376EC8 E0074A68 8E630000 */ lw $v1, ($s3) +/* 376ECC E0074A6C 00551021 */ addu $v0, $v0, $s5 +/* 376ED0 E0074A70 00621821 */ addu $v1, $v1, $v0 +/* 376ED4 E0074A74 25020008 */ addiu $v0, $t0, 8 +/* 376ED8 E0074A78 AD230004 */ sw $v1, 4($t1) +/* 376EDC E0074A7C AE020000 */ sw $v0, ($s0) +/* 376EE0 E0074A80 25020010 */ addiu $v0, $t0, 0x10 +/* 376EE4 E0074A84 AD160000 */ sw $s6, ($t0) +/* 376EE8 E0074A88 AD140004 */ sw $s4, 4($t0) +/* 376EEC E0074A8C AE020000 */ sw $v0, ($s0) +/* 376EF0 E0074A90 AD1E0008 */ sw $fp, 8($t0) +/* 376EF4 E0074A94 AD12000C */ sw $s2, 0xc($t0) +/* 376EF8 E0074A98 0C080104 */ jal func_E0200410 +/* 376EFC E0074A9C AFA60010 */ sw $a2, 0x10($sp) +/* 376F00 E0074AA0 27A40020 */ addiu $a0, $sp, 0x20 +/* 376F04 E0074AA4 96250000 */ lhu $a1, ($s1) +/* 376F08 E0074AA8 8E620000 */ lw $v0, ($s3) +/* 376F0C E0074AAC 00052980 */ sll $a1, $a1, 6 +/* 376F10 E0074AB0 00B52821 */ addu $a1, $a1, $s5 +/* 376F14 E0074AB4 0C080118 */ jal func_E0200460 +/* 376F18 E0074AB8 00452821 */ addu $a1, $v0, $a1 +/* 376F1C E0074ABC 8E040000 */ lw $a0, ($s0) +/* 376F20 E0074AC0 96220000 */ lhu $v0, ($s1) +/* 376F24 E0074AC4 0080282D */ daddu $a1, $a0, $zero +/* 376F28 E0074AC8 24840008 */ addiu $a0, $a0, 8 +/* 376F2C E0074ACC 24430001 */ addiu $v1, $v0, 1 +/* 376F30 E0074AD0 3042FFFF */ andi $v0, $v0, 0xffff +/* 376F34 E0074AD4 00021180 */ sll $v0, $v0, 6 +/* 376F38 E0074AD8 AE040000 */ sw $a0, ($s0) +/* 376F3C E0074ADC ACB70000 */ sw $s7, ($a1) +/* 376F40 E0074AE0 A6230000 */ sh $v1, ($s1) +/* 376F44 E0074AE4 8E630000 */ lw $v1, ($s3) +/* 376F48 E0074AE8 00551021 */ addu $v0, $v0, $s5 +/* 376F4C E0074AEC 00621821 */ addu $v1, $v1, $v0 +/* 376F50 E0074AF0 24820008 */ addiu $v0, $a0, 8 +/* 376F54 E0074AF4 ACA30004 */ sw $v1, 4($a1) +/* 376F58 E0074AF8 AE020000 */ sw $v0, ($s0) +/* 376F5C E0074AFC 24820010 */ addiu $v0, $a0, 0x10 +/* 376F60 E0074B00 AC960000 */ sw $s6, ($a0) +/* 376F64 E0074B04 AC940004 */ sw $s4, 4($a0) +/* 376F68 E0074B08 AE020000 */ sw $v0, ($s0) +/* 376F6C E0074B0C 24820018 */ addiu $v0, $a0, 0x18 +/* 376F70 E0074B10 AC9E0008 */ sw $fp, 8($a0) +/* 376F74 E0074B14 AC92000C */ sw $s2, 0xc($a0) +/* 376F78 E0074B18 AE020000 */ sw $v0, ($s0) +/* 376F7C E0074B1C AC9E0010 */ sw $fp, 0x10($a0) +/* 376F80 E0074B20 AC920014 */ sw $s2, 0x14($a0) +/* 376F84 E0074B24 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 376F88 E0074B28 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 376F8C E0074B2C 8FB700CC */ lw $s7, 0xcc($sp) +/* 376F90 E0074B30 8FB600C8 */ lw $s6, 0xc8($sp) +/* 376F94 E0074B34 8FB500C4 */ lw $s5, 0xc4($sp) +/* 376F98 E0074B38 8FB400C0 */ lw $s4, 0xc0($sp) +/* 376F9C E0074B3C 8FB300BC */ lw $s3, 0xbc($sp) +/* 376FA0 E0074B40 8FB200B8 */ lw $s2, 0xb8($sp) +/* 376FA4 E0074B44 8FB100B4 */ lw $s1, 0xb4($sp) +/* 376FA8 E0074B48 8FB000B0 */ lw $s0, 0xb0($sp) +/* 376FAC E0074B4C D7B800E8 */ ldc1 $f24, 0xe8($sp) +/* 376FB0 E0074B50 D7B600E0 */ ldc1 $f22, 0xe0($sp) +/* 376FB4 E0074B54 D7B400D8 */ ldc1 $f20, 0xd8($sp) +/* 376FB8 E0074B58 03E00008 */ jr $ra +/* 376FBC E0074B5C 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/code_377070/func_E0076000.s b/asm/nonmatchings/code_377070/func_E0076000.s new file mode 100644 index 0000000000..99cf55e72b --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E0076000.s @@ -0,0 +1,233 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0076000 +/* 377070 E0076000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 377074 E0076004 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 377078 E0076008 4485B000 */ mtc1 $a1, $f22 +/* 37707C E007600C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 377080 E0076010 4486C000 */ mtc1 $a2, $f24 +/* 377084 E0076014 AFB00028 */ sw $s0, 0x28($sp) +/* 377088 E0076018 0080802D */ daddu $s0, $a0, $zero +/* 37708C E007601C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 377090 E0076020 4487D000 */ mtc1 $a3, $f26 +/* 377094 E0076024 27A40010 */ addiu $a0, $sp, 0x10 +/* 377098 E0076028 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 37709C E007602C C7B40068 */ lwc1 $f20, 0x68($sp) +/* 3770A0 E0076030 3C02E007 */ lui $v0, 0xe007 +/* 3770A4 E0076034 24426370 */ addiu $v0, $v0, 0x6370 +/* 3770A8 E0076038 AFA20018 */ sw $v0, 0x18($sp) +/* 3770AC E007603C 3C02E007 */ lui $v0, 0xe007 +/* 3770B0 E0076040 24426378 */ addiu $v0, $v0, 0x6378 +/* 3770B4 E0076044 AFA2001C */ sw $v0, 0x1c($sp) +/* 3770B8 E0076048 3C02E007 */ lui $v0, 0xe007 +/* 3770BC E007604C 24426808 */ addiu $v0, $v0, 0x6808 +/* 3770C0 E0076050 AFA20020 */ sw $v0, 0x20($sp) +/* 3770C4 E0076054 2402003B */ addiu $v0, $zero, 0x3b +/* 3770C8 E0076058 AFBF0030 */ sw $ra, 0x30($sp) +/* 3770CC E007605C AFB1002C */ sw $s1, 0x2c($sp) +/* 3770D0 E0076060 AFA00010 */ sw $zero, 0x10($sp) +/* 3770D4 E0076064 AFA00024 */ sw $zero, 0x24($sp) +/* 3770D8 E0076068 0C080124 */ jal func_E0200490 +/* 3770DC E007606C AFA20014 */ sw $v0, 0x14($sp) +/* 3770E0 E0076070 24040070 */ addiu $a0, $zero, 0x70 +/* 3770E4 E0076074 24030001 */ addiu $v1, $zero, 1 +/* 3770E8 E0076078 0040882D */ daddu $s1, $v0, $zero +/* 3770EC E007607C 0C08012C */ jal func_E02004B0 +/* 3770F0 E0076080 AE230008 */ sw $v1, 8($s1) +/* 3770F4 E0076084 0040182D */ daddu $v1, $v0, $zero +/* 3770F8 E0076088 14600003 */ bnez $v1, .LE0076098 +/* 3770FC E007608C AE22000C */ sw $v0, 0xc($s1) +.LE0076090: +/* 377100 E0076090 0801D824 */ j .LE0076090 +/* 377104 E0076094 00000000 */ nop +.LE0076098: +/* 377108 E0076098 AC600064 */ sw $zero, 0x64($v1) +/* 37710C E007609C C46A0064 */ lwc1 $f10, 0x64($v1) +/* 377110 E00760A0 24020064 */ addiu $v0, $zero, 0x64 +/* 377114 E00760A4 AC62002C */ sw $v0, 0x2c($v1) +/* 377118 E00760A8 24020001 */ addiu $v0, $zero, 1 +/* 37711C E00760AC AC700000 */ sw $s0, ($v1) +/* 377120 E00760B0 AC600030 */ sw $zero, 0x30($v1) +/* 377124 E00760B4 AC600028 */ sw $zero, 0x28($v1) +/* 377128 E00760B8 E4760004 */ swc1 $f22, 4($v1) +/* 37712C E00760BC E4780008 */ swc1 $f24, 8($v1) +/* 377130 E00760C0 E47A000C */ swc1 $f26, 0xc($v1) +/* 377134 E00760C4 E46A0040 */ swc1 $f10, 0x40($v1) +/* 377138 E00760C8 E46A0034 */ swc1 $f10, 0x34($v1) +/* 37713C E00760CC E46A0058 */ swc1 $f10, 0x58($v1) +/* 377140 E00760D0 12020033 */ beq $s0, $v0, .LE00761A0 +/* 377144 E00760D4 E46A004C */ swc1 $f10, 0x4c($v1) +/* 377148 E00760D8 2A020002 */ slti $v0, $s0, 2 +/* 37714C E00760DC 10400005 */ beqz $v0, .LE00760F4 +/* 377150 E00760E0 24020002 */ addiu $v0, $zero, 2 +/* 377154 E00760E4 12000007 */ beqz $s0, .LE0076104 +/* 377158 E00760E8 2402004B */ addiu $v0, $zero, 0x4b +/* 37715C E00760EC 0801D8A4 */ j .LE0076290 +/* 377160 E00760F0 00000000 */ nop +.LE00760F4: +/* 377164 E00760F4 12020045 */ beq $s0, $v0, .LE007620C +/* 377168 E00760F8 24020019 */ addiu $v0, $zero, 0x19 +/* 37716C E00760FC 0801D8A4 */ j .LE0076290 +/* 377170 E0076100 00000000 */ nop +.LE0076104: +/* 377174 E0076104 A0620068 */ sb $v0, 0x68($v1) +/* 377178 E0076108 A0620069 */ sb $v0, 0x69($v1) +/* 37717C E007610C A062006A */ sb $v0, 0x6a($v1) +/* 377180 E0076110 240200FF */ addiu $v0, $zero, 0xff +/* 377184 E0076114 4600A021 */ cvt.d.s $f0, $f20 +/* 377188 E0076118 3C01E007 */ lui $at, 0xe007 +/* 37718C E007611C D4226EE0 */ ldc1 $f2, 0x6ee0($at) +/* 377190 E0076120 3C01BF66 */ lui $at, 0xbf66 +/* 377194 E0076124 34216666 */ ori $at, $at, 0x6666 +/* 377198 E0076128 44813000 */ mtc1 $at, $f6 +/* 37719C E007612C 3C013D23 */ lui $at, 0x3d23 +/* 3771A0 E0076130 3421D70A */ ori $at, $at, 0xd70a +/* 3771A4 E0076134 44812000 */ mtc1 $at, $f4 +/* 3771A8 E0076138 3C013F66 */ lui $at, 0x3f66 +/* 3771AC E007613C 34216666 */ ori $at, $at, 0x6666 +/* 3771B0 E0076140 44814000 */ mtc1 $at, $f8 +/* 3771B4 E0076144 46220082 */ mul.d $f2, $f0, $f2 +/* 3771B8 E0076148 00000000 */ nop +/* 3771BC E007614C A062006B */ sb $v0, 0x6b($v1) +/* 3771C0 E0076150 240200F7 */ addiu $v0, $zero, 0xf7 +/* 3771C4 E0076154 A062006C */ sb $v0, 0x6c($v1) +/* 3771C8 E0076158 2402009B */ addiu $v0, $zero, 0x9b +/* 3771CC E007615C A062006D */ sb $v0, 0x6d($v1) +/* 3771D0 E0076160 A060006E */ sb $zero, 0x6e($v1) +/* 3771D4 E0076164 E4740024 */ swc1 $f20, 0x24($v1) +/* 3771D8 E0076168 46200000 */ add.d $f0, $f0, $f0 +/* 3771DC E007616C E4660038 */ swc1 $f6, 0x38($v1) +/* 3771E0 E0076170 E4640044 */ swc1 $f4, 0x44($v1) +/* 3771E4 E0076174 E464003C */ swc1 $f4, 0x3c($v1) +/* 3771E8 E0076178 E4680048 */ swc1 $f8, 0x48($v1) +/* 3771EC E007617C E4660050 */ swc1 $f6, 0x50($v1) +/* 3771F0 E0076180 E464005C */ swc1 $f4, 0x5c($v1) +/* 3771F4 E0076184 E4640054 */ swc1 $f4, 0x54($v1) +/* 3771F8 E0076188 E4680060 */ swc1 $f8, 0x60($v1) +/* 3771FC E007618C 46200020 */ cvt.s.d $f0, $f0 +/* 377200 E0076190 E460001C */ swc1 $f0, 0x1c($v1) +/* 377204 E0076194 462010A0 */ cvt.s.d $f2, $f2 +/* 377208 E0076198 0801D8CB */ j .LE007632C +/* 37720C E007619C E4620020 */ swc1 $f2, 0x20($v1) +.LE00761A0: +/* 377210 E00761A0 3C013D23 */ lui $at, 0x3d23 +/* 377214 E00761A4 3421D70A */ ori $at, $at, 0xd70a +/* 377218 E00761A8 44810000 */ mtc1 $at, $f0 +/* 37721C E00761AC 3C013F66 */ lui $at, 0x3f66 +/* 377220 E00761B0 34216666 */ ori $at, $at, 0x6666 +/* 377224 E00761B4 44811000 */ mtc1 $at, $f2 +/* 377228 E00761B8 2402004B */ addiu $v0, $zero, 0x4b +/* 37722C E00761BC A0620068 */ sb $v0, 0x68($v1) +/* 377230 E00761C0 A0620069 */ sb $v0, 0x69($v1) +/* 377234 E00761C4 A062006A */ sb $v0, 0x6a($v1) +/* 377238 E00761C8 240200FF */ addiu $v0, $zero, 0xff +/* 37723C E00761CC A062006B */ sb $v0, 0x6b($v1) +/* 377240 E00761D0 A060006C */ sb $zero, 0x6c($v1) +/* 377244 E00761D4 A060006D */ sb $zero, 0x6d($v1) +/* 377248 E00761D8 A060006E */ sb $zero, 0x6e($v1) +/* 37724C E00761DC E474001C */ swc1 $f20, 0x1c($v1) +/* 377250 E00761E0 E4740020 */ swc1 $f20, 0x20($v1) +/* 377254 E00761E4 E4740024 */ swc1 $f20, 0x24($v1) +/* 377258 E00761E8 E46A0038 */ swc1 $f10, 0x38($v1) +/* 37725C E00761EC E46A0050 */ swc1 $f10, 0x50($v1) +/* 377260 E00761F0 E4600044 */ swc1 $f0, 0x44($v1) +/* 377264 E00761F4 E460003C */ swc1 $f0, 0x3c($v1) +/* 377268 E00761F8 E4620048 */ swc1 $f2, 0x48($v1) +/* 37726C E00761FC E460005C */ swc1 $f0, 0x5c($v1) +/* 377270 E0076200 E4600054 */ swc1 $f0, 0x54($v1) +/* 377274 E0076204 0801D8CB */ j .LE007632C +/* 377278 E0076208 E4620060 */ swc1 $f2, 0x60($v1) +.LE007620C: +/* 37727C E007620C 3C013D23 */ lui $at, 0x3d23 +/* 377280 E0076210 3421D70A */ ori $at, $at, 0xd70a +/* 377284 E0076214 44810000 */ mtc1 $at, $f0 +/* 377288 E0076218 3C013E4C */ lui $at, 0x3e4c +/* 37728C E007621C 3421CCCD */ ori $at, $at, 0xcccd +/* 377290 E0076220 44811000 */ mtc1 $at, $f2 +/* 377294 E0076224 3C013FA6 */ lui $at, 0x3fa6 +/* 377298 E0076228 34216666 */ ori $at, $at, 0x6666 +/* 37729C E007622C 44812000 */ mtc1 $at, $f4 +/* 3772A0 E0076230 3C013E23 */ lui $at, 0x3e23 +/* 3772A4 E0076234 3421D70A */ ori $at, $at, 0xd70a +/* 3772A8 E0076238 44813000 */ mtc1 $at, $f6 +/* 3772AC E007623C 3C013F85 */ lui $at, 0x3f85 +/* 3772B0 E0076240 34211EB8 */ ori $at, $at, 0x1eb8 +/* 3772B4 E0076244 44814000 */ mtc1 $at, $f8 +/* 3772B8 E0076248 A0620068 */ sb $v0, 0x68($v1) +/* 3772BC E007624C 24020079 */ addiu $v0, $zero, 0x79 +/* 3772C0 E0076250 A0620069 */ sb $v0, 0x69($v1) +/* 3772C4 E0076254 2402008E */ addiu $v0, $zero, 0x8e +/* 3772C8 E0076258 A062006A */ sb $v0, 0x6a($v1) +/* 3772CC E007625C 24020022 */ addiu $v0, $zero, 0x22 +/* 3772D0 E0076260 A062006B */ sb $v0, 0x6b($v1) +/* 3772D4 E0076264 240200FF */ addiu $v0, $zero, 0xff +/* 3772D8 E0076268 A062006D */ sb $v0, 0x6d($v1) +/* 3772DC E007626C 24020051 */ addiu $v0, $zero, 0x51 +/* 3772E0 E0076270 A060006C */ sb $zero, 0x6c($v1) +/* 3772E4 E0076274 A062006E */ sb $v0, 0x6e($v1) +/* 3772E8 E0076278 E474001C */ swc1 $f20, 0x1c($v1) +/* 3772EC E007627C E4740020 */ swc1 $f20, 0x20($v1) +/* 3772F0 E0076280 E4740024 */ swc1 $f20, 0x24($v1) +/* 3772F4 E0076284 E46A0038 */ swc1 $f10, 0x38($v1) +/* 3772F8 E0076288 0801D8C5 */ j .LE0076314 +/* 3772FC E007628C E46A0050 */ swc1 $f10, 0x50($v1) +.LE0076290: +/* 377300 E0076290 3C013D23 */ lui $at, 0x3d23 +/* 377304 E0076294 3421D70A */ ori $at, $at, 0xd70a +/* 377308 E0076298 44810000 */ mtc1 $at, $f0 +/* 37730C E007629C 3C013DCC */ lui $at, 0x3dcc +/* 377310 E00762A0 3421CCCD */ ori $at, $at, 0xcccd +/* 377314 E00762A4 44811000 */ mtc1 $at, $f2 +/* 377318 E00762A8 3C013FD9 */ lui $at, 0x3fd9 +/* 37731C E00762AC 3421999A */ ori $at, $at, 0x999a +/* 377320 E00762B0 44812000 */ mtc1 $at, $f4 +/* 377324 E00762B4 3C013DA3 */ lui $at, 0x3da3 +/* 377328 E00762B8 3421D70A */ ori $at, $at, 0xd70a +/* 37732C E00762BC 44813000 */ mtc1 $at, $f6 +/* 377330 E00762C0 3C013FAE */ lui $at, 0x3fae +/* 377334 E00762C4 3421147B */ ori $at, $at, 0x147b +/* 377338 E00762C8 44814000 */ mtc1 $at, $f8 +/* 37733C E00762CC 240200B3 */ addiu $v0, $zero, 0xb3 +/* 377340 E00762D0 A0620068 */ sb $v0, 0x68($v1) +/* 377344 E00762D4 240200A9 */ addiu $v0, $zero, 0xa9 +/* 377348 E00762D8 A0620069 */ sb $v0, 0x69($v1) +/* 37734C E00762DC 24020055 */ addiu $v0, $zero, 0x55 +/* 377350 E00762E0 A062006A */ sb $v0, 0x6a($v1) +/* 377354 E00762E4 24020022 */ addiu $v0, $zero, 0x22 +/* 377358 E00762E8 A062006B */ sb $v0, 0x6b($v1) +/* 37735C E00762EC 240200FF */ addiu $v0, $zero, 0xff +/* 377360 E00762F0 A062006D */ sb $v0, 0x6d($v1) +/* 377364 E00762F4 2402003F */ addiu $v0, $zero, 0x3f +/* 377368 E00762F8 A060006C */ sb $zero, 0x6c($v1) +/* 37736C E00762FC A062006E */ sb $v0, 0x6e($v1) +/* 377370 E0076300 E474001C */ swc1 $f20, 0x1c($v1) +/* 377374 E0076304 E4740020 */ swc1 $f20, 0x20($v1) +/* 377378 E0076308 E4740024 */ swc1 $f20, 0x24($v1) +/* 37737C E007630C AC600038 */ sw $zero, 0x38($v1) +/* 377380 E0076310 AC600050 */ sw $zero, 0x50($v1) +.LE0076314: +/* 377384 E0076314 E4600044 */ swc1 $f0, 0x44($v1) +/* 377388 E0076318 E462003C */ swc1 $f2, 0x3c($v1) +/* 37738C E007631C E4640048 */ swc1 $f4, 0x48($v1) +/* 377390 E0076320 E460005C */ swc1 $f0, 0x5c($v1) +/* 377394 E0076324 E4660054 */ swc1 $f6, 0x54($v1) +/* 377398 E0076328 E4680060 */ swc1 $f8, 0x60($v1) +.LE007632C: +/* 37739C E007632C C4600004 */ lwc1 $f0, 4($v1) +/* 3773A0 E0076330 C4620008 */ lwc1 $f2, 8($v1) +/* 3773A4 E0076334 C464000C */ lwc1 $f4, 0xc($v1) +/* 3773A8 E0076338 E4600010 */ swc1 $f0, 0x10($v1) +/* 3773AC E007633C E4620014 */ swc1 $f2, 0x14($v1) +/* 3773B0 E0076340 E4640018 */ swc1 $f4, 0x18($v1) +/* 3773B4 E0076344 8FA2006C */ lw $v0, 0x6c($sp) +/* 3773B8 E0076348 AC510000 */ sw $s1, ($v0) +/* 3773BC E007634C 8FBF0030 */ lw $ra, 0x30($sp) +/* 3773C0 E0076350 8FB1002C */ lw $s1, 0x2c($sp) +/* 3773C4 E0076354 8FB00028 */ lw $s0, 0x28($sp) +/* 3773C8 E0076358 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 3773CC E007635C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3773D0 E0076360 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3773D4 E0076364 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3773D8 E0076368 03E00008 */ jr $ra +/* 3773DC E007636C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_377070/func_E0076370.s b/asm/nonmatchings/code_377070/func_E0076370.s new file mode 100644 index 0000000000..99f9635a82 --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E0076370.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0076370 +/* 3773E0 E0076370 03E00008 */ jr $ra +/* 3773E4 E0076374 00000000 */ nop diff --git a/asm/nonmatchings/code_377070/func_E0076378.s b/asm/nonmatchings/code_377070/func_E0076378.s new file mode 100644 index 0000000000..86b96681e1 --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E0076378.s @@ -0,0 +1,319 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0076378 +/* 3773E8 E0076378 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3773EC E007637C AFBF0010 */ sw $ra, 0x10($sp) +/* 3773F0 E0076380 8C830000 */ lw $v1, ($a0) +/* 3773F4 E0076384 8C85000C */ lw $a1, 0xc($a0) +/* 3773F8 E0076388 30620010 */ andi $v0, $v1, 0x10 +/* 3773FC E007638C 10400005 */ beqz $v0, .LE00763A4 +/* 377400 E0076390 2402FFEF */ addiu $v0, $zero, -0x11 +/* 377404 E0076394 00621024 */ and $v0, $v1, $v0 +/* 377408 E0076398 AC820000 */ sw $v0, ($a0) +/* 37740C E007639C 24020005 */ addiu $v0, $zero, 5 +/* 377410 E00763A0 ACA2002C */ sw $v0, 0x2c($a1) +.LE00763A4: +/* 377414 E00763A4 3C030004 */ lui $v1, 4 +/* 377418 E00763A8 8CA20030 */ lw $v0, 0x30($a1) +/* 37741C E00763AC 3463F1A0 */ ori $v1, $v1, 0xf1a0 +/* 377420 E00763B0 24420001 */ addiu $v0, $v0, 1 +/* 377424 E00763B4 0062182A */ slt $v1, $v1, $v0 +/* 377428 E00763B8 10600003 */ beqz $v1, .LE00763C8 +/* 37742C E00763BC ACA20030 */ sw $v0, 0x30($a1) +/* 377430 E00763C0 24020100 */ addiu $v0, $zero, 0x100 +/* 377434 E00763C4 ACA20030 */ sw $v0, 0x30($a1) +.LE00763C8: +/* 377438 E00763C8 8CA3002C */ lw $v1, 0x2c($a1) +/* 37743C E00763CC 2862000B */ slti $v0, $v1, 0xb +/* 377440 E00763D0 10400002 */ beqz $v0, .LE00763DC +/* 377444 E00763D4 2462FFFF */ addiu $v0, $v1, -1 +/* 377448 E00763D8 ACA2002C */ sw $v0, 0x2c($a1) +.LE00763DC: +/* 37744C E00763DC 8CA2002C */ lw $v0, 0x2c($a1) +/* 377450 E00763E0 04410005 */ bgez $v0, .LE00763F8 +/* 377454 E00763E4 0040382D */ daddu $a3, $v0, $zero +/* 377458 E00763E8 0C080128 */ jal func_E02004A0 +/* 37745C E00763EC 00000000 */ nop +/* 377460 E00763F0 0801D9FF */ j .LE00767FC +/* 377464 E00763F4 00000000 */ nop +.LE00763F8: +/* 377468 E00763F8 8CA60000 */ lw $a2, ($a1) +/* 37746C E00763FC 8CA40030 */ lw $a0, 0x30($a1) +/* 377470 E0076400 28C20002 */ slti $v0, $a2, 2 +/* 377474 E0076404 10400015 */ beqz $v0, .LE007645C +/* 377478 E0076408 2882000B */ slti $v0, $a0, 0xb +/* 37747C E007640C 1040001E */ beqz $v0, .LE0076488 +/* 377480 E0076410 24020080 */ addiu $v0, $zero, 0x80 +/* 377484 E0076414 8CA30028 */ lw $v1, 0x28($a1) +/* 377488 E0076418 3C013FE0 */ lui $at, 0x3fe0 +/* 37748C E007641C 44810800 */ mtc1 $at, $f1 +/* 377490 E0076420 44800000 */ mtc1 $zero, $f0 +/* 377494 E0076424 00431023 */ subu $v0, $v0, $v1 +/* 377498 E0076428 44821000 */ mtc1 $v0, $f2 +/* 37749C E007642C 00000000 */ nop +/* 3774A0 E0076430 468010A1 */ cvt.d.w $f2, $f2 +/* 3774A4 E0076434 46201082 */ mul.d $f2, $f2, $f0 +/* 3774A8 E0076438 00000000 */ nop +/* 3774AC E007643C 44830000 */ mtc1 $v1, $f0 +/* 3774B0 E0076440 00000000 */ nop +/* 3774B4 E0076444 46800021 */ cvt.d.w $f0, $f0 +/* 3774B8 E0076448 46220000 */ add.d $f0, $f0, $f2 +/* 3774BC E007644C 4620048D */ trunc.w.d $f18, $f0 +/* 3774C0 E0076450 E4B20028 */ swc1 $f18, 0x28($a1) +/* 3774C4 E0076454 0801D923 */ j .LE007648C +/* 3774C8 E0076458 28E2000A */ slti $v0, $a3, 0xa +.LE007645C: +/* 3774CC E007645C 1040000A */ beqz $v0, .LE0076488 +/* 3774D0 E0076460 3C036666 */ lui $v1, 0x6666 +/* 3774D4 E0076464 34636667 */ ori $v1, $v1, 0x6667 +/* 3774D8 E0076468 00041200 */ sll $v0, $a0, 8 +/* 3774DC E007646C 00441023 */ subu $v0, $v0, $a0 +/* 3774E0 E0076470 00430018 */ mult $v0, $v1 +/* 3774E4 E0076474 000217C3 */ sra $v0, $v0, 0x1f +/* 3774E8 E0076478 00004010 */ mfhi $t0 +/* 3774EC E007647C 00081883 */ sra $v1, $t0, 2 +/* 3774F0 E0076480 00621823 */ subu $v1, $v1, $v0 +/* 3774F4 E0076484 ACA30028 */ sw $v1, 0x28($a1) +.LE0076488: +/* 3774F8 E0076488 28E2000A */ slti $v0, $a3, 0xa +.LE007648C: +/* 3774FC E007648C 1040000A */ beqz $v0, .LE00764B8 +/* 377500 E0076490 00000000 */ nop +/* 377504 E0076494 3C013FE0 */ lui $at, 0x3fe0 +/* 377508 E0076498 44811800 */ mtc1 $at, $f3 +/* 37750C E007649C 44801000 */ mtc1 $zero, $f2 +/* 377510 E00764A0 C4A00028 */ lwc1 $f0, 0x28($a1) +/* 377514 E00764A4 46800021 */ cvt.d.w $f0, $f0 +/* 377518 E00764A8 46220002 */ mul.d $f0, $f0, $f2 +/* 37751C E00764AC 00000000 */ nop +/* 377520 E00764B0 4620048D */ trunc.w.d $f18, $f0 +/* 377524 E00764B4 E4B20028 */ swc1 $f18, 0x28($a1) +.LE00764B8: +/* 377528 E00764B8 14C0002E */ bnez $a2, .LE0076574 +/* 37752C E00764BC 00000000 */ nop +/* 377530 E00764C0 C4AE0038 */ lwc1 $f14, 0x38($a1) +/* 377534 E00764C4 C4AA003C */ lwc1 $f10, 0x3c($a1) +/* 377538 E00764C8 460E5281 */ sub.s $f10, $f10, $f14 +/* 37753C E00764CC 3C01E007 */ lui $at, 0xe007 +/* 377540 E00764D0 D4206EE8 */ ldc1 $f0, 0x6ee8($at) +/* 377544 E00764D4 460052A1 */ cvt.d.s $f10, $f10 +/* 377548 E00764D8 46205282 */ mul.d $f10, $f10, $f0 +/* 37754C E00764DC 00000000 */ nop +/* 377550 E00764E0 C4AC0044 */ lwc1 $f12, 0x44($a1) +/* 377554 E00764E4 C4A40048 */ lwc1 $f4, 0x48($a1) +/* 377558 E00764E8 460C2101 */ sub.s $f4, $f4, $f12 +/* 37755C E00764EC 46002121 */ cvt.d.s $f4, $f4 +/* 377560 E00764F0 46202102 */ mul.d $f4, $f4, $f0 +/* 377564 E00764F4 00000000 */ nop +/* 377568 E00764F8 C4A8001C */ lwc1 $f8, 0x1c($a1) +/* 37756C E00764FC C4A60024 */ lwc1 $f6, 0x24($a1) +/* 377570 E0076500 46083181 */ sub.s $f6, $f6, $f8 +/* 377574 E0076504 3C01E007 */ lui $at, 0xe007 +/* 377578 E0076508 D4306EF0 */ ldc1 $f16, 0x6ef0($at) +/* 37757C E007650C 460031A1 */ cvt.d.s $f6, $f6 +/* 377580 E0076510 46303182 */ mul.d $f6, $f6, $f16 +/* 377584 E0076514 00000000 */ nop +/* 377588 E0076518 C4A20020 */ lwc1 $f2, 0x20($a1) +/* 37758C E007651C C4A00024 */ lwc1 $f0, 0x24($a1) +/* 377590 E0076520 46020001 */ sub.s $f0, $f0, $f2 +/* 377594 E0076524 46000021 */ cvt.d.s $f0, $f0 +/* 377598 E0076528 46300002 */ mul.d $f0, $f0, $f16 +/* 37759C E007652C 00000000 */ nop +/* 3775A0 E0076530 460073A1 */ cvt.d.s $f14, $f14 +/* 3775A4 E0076534 462A7380 */ add.d $f14, $f14, $f10 +/* 3775A8 E0076538 46006321 */ cvt.d.s $f12, $f12 +/* 3775AC E007653C 46246300 */ add.d $f12, $f12, $f4 +/* 3775B0 E0076540 46004221 */ cvt.d.s $f8, $f8 +/* 3775B4 E0076544 460010A1 */ cvt.d.s $f2, $f2 +/* 3775B8 E0076548 46264200 */ add.d $f8, $f8, $f6 +/* 3775BC E007654C 462073A0 */ cvt.s.d $f14, $f14 +/* 3775C0 E0076550 46206320 */ cvt.s.d $f12, $f12 +/* 3775C4 E0076554 46204220 */ cvt.s.d $f8, $f8 +/* 3775C8 E0076558 E4AE0038 */ swc1 $f14, 0x38($a1) +/* 3775CC E007655C 46201080 */ add.d $f2, $f2, $f0 +/* 3775D0 E0076560 E4AC0044 */ swc1 $f12, 0x44($a1) +/* 3775D4 E0076564 E4A8001C */ swc1 $f8, 0x1c($a1) +/* 3775D8 E0076568 462010A0 */ cvt.s.d $f2, $f2 +/* 3775DC E007656C 0801D987 */ j .LE007661C +/* 3775E0 E0076570 E4A20020 */ swc1 $f2, 0x20($a1) +.LE0076574: +/* 3775E4 E0076574 C4AE0038 */ lwc1 $f14, 0x38($a1) +/* 3775E8 E0076578 C4AA003C */ lwc1 $f10, 0x3c($a1) +/* 3775EC E007657C 460E5281 */ sub.s $f10, $f10, $f14 +/* 3775F0 E0076580 3C01E007 */ lui $at, 0xe007 +/* 3775F4 E0076584 D4306EF8 */ ldc1 $f16, 0x6ef8($at) +/* 3775F8 E0076588 460052A1 */ cvt.d.s $f10, $f10 +/* 3775FC E007658C 46305282 */ mul.d $f10, $f10, $f16 +/* 377600 E0076590 00000000 */ nop +/* 377604 E0076594 C4AC0044 */ lwc1 $f12, 0x44($a1) +/* 377608 E0076598 C4A20048 */ lwc1 $f2, 0x48($a1) +/* 37760C E007659C 460C1081 */ sub.s $f2, $f2, $f12 +/* 377610 E00765A0 460010A1 */ cvt.d.s $f2, $f2 +/* 377614 E00765A4 46301082 */ mul.d $f2, $f2, $f16 +/* 377618 E00765A8 00000000 */ nop +/* 37761C E00765AC C4A80050 */ lwc1 $f8, 0x50($a1) +/* 377620 E00765B0 C4A40054 */ lwc1 $f4, 0x54($a1) +/* 377624 E00765B4 46082101 */ sub.s $f4, $f4, $f8 +/* 377628 E00765B8 46002121 */ cvt.d.s $f4, $f4 +/* 37762C E00765BC 46302102 */ mul.d $f4, $f4, $f16 +/* 377630 E00765C0 00000000 */ nop +/* 377634 E00765C4 C4A6005C */ lwc1 $f6, 0x5c($a1) +/* 377638 E00765C8 C4A00060 */ lwc1 $f0, 0x60($a1) +/* 37763C E00765CC 46060001 */ sub.s $f0, $f0, $f6 +/* 377640 E00765D0 46000021 */ cvt.d.s $f0, $f0 +/* 377644 E00765D4 46300002 */ mul.d $f0, $f0, $f16 +/* 377648 E00765D8 00000000 */ nop +/* 37764C E00765DC 460073A1 */ cvt.d.s $f14, $f14 +/* 377650 E00765E0 462A7380 */ add.d $f14, $f14, $f10 +/* 377654 E00765E4 46006321 */ cvt.d.s $f12, $f12 +/* 377658 E00765E8 46226300 */ add.d $f12, $f12, $f2 +/* 37765C E00765EC 46004221 */ cvt.d.s $f8, $f8 +/* 377660 E00765F0 46244200 */ add.d $f8, $f8, $f4 +/* 377664 E00765F4 460031A1 */ cvt.d.s $f6, $f6 +/* 377668 E00765F8 46203180 */ add.d $f6, $f6, $f0 +/* 37766C E00765FC 462073A0 */ cvt.s.d $f14, $f14 +/* 377670 E0076600 46206320 */ cvt.s.d $f12, $f12 +/* 377674 E0076604 46204220 */ cvt.s.d $f8, $f8 +/* 377678 E0076608 462031A0 */ cvt.s.d $f6, $f6 +/* 37767C E007660C E4AE0038 */ swc1 $f14, 0x38($a1) +/* 377680 E0076610 E4AC0044 */ swc1 $f12, 0x44($a1) +/* 377684 E0076614 E4A80050 */ swc1 $f8, 0x50($a1) +/* 377688 E0076618 E4A6005C */ swc1 $f6, 0x5c($a1) +.LE007661C: +/* 37768C E007661C C4A00034 */ lwc1 $f0, 0x34($a1) +/* 377690 E0076620 C4A20038 */ lwc1 $f2, 0x38($a1) +/* 377694 E0076624 46020080 */ add.s $f2, $f0, $f2 +/* 377698 E0076628 44800000 */ mtc1 $zero, $f0 +/* 37769C E007662C 00000000 */ nop +/* 3776A0 E0076630 4600103C */ c.lt.s $f2, $f0 +/* 3776A4 E0076634 00000000 */ nop +/* 3776A8 E0076638 45000005 */ bc1f .LE0076650 +/* 3776AC E007663C E4A20034 */ swc1 $f2, 0x34($a1) +/* 3776B0 E0076640 3C014280 */ lui $at, 0x4280 +/* 3776B4 E0076644 44810000 */ mtc1 $at, $f0 +/* 3776B8 E0076648 0801D99C */ j .LE0076670 +/* 3776BC E007664C 46001000 */ add.s $f0, $f2, $f0 +.LE0076650: +/* 3776C0 E0076650 3C014280 */ lui $at, 0x4280 +/* 3776C4 E0076654 44810000 */ mtc1 $at, $f0 +/* 3776C8 E0076658 00000000 */ nop +/* 3776CC E007665C 4602003C */ c.lt.s $f0, $f2 +/* 3776D0 E0076660 00000000 */ nop +/* 3776D4 E0076664 45000003 */ bc1f .LE0076674 +/* 3776D8 E0076668 00000000 */ nop +/* 3776DC E007666C 46001001 */ sub.s $f0, $f2, $f0 +.LE0076670: +/* 3776E0 E0076670 E4A00034 */ swc1 $f0, 0x34($a1) +.LE0076674: +/* 3776E4 E0076674 C4A00040 */ lwc1 $f0, 0x40($a1) +/* 3776E8 E0076678 C4A20044 */ lwc1 $f2, 0x44($a1) +/* 3776EC E007667C 46020080 */ add.s $f2, $f0, $f2 +/* 3776F0 E0076680 44800000 */ mtc1 $zero, $f0 +/* 3776F4 E0076684 00000000 */ nop +/* 3776F8 E0076688 4600103C */ c.lt.s $f2, $f0 +/* 3776FC E007668C 00000000 */ nop +/* 377700 E0076690 45000005 */ bc1f .LE00766A8 +/* 377704 E0076694 E4A20040 */ swc1 $f2, 0x40($a1) +/* 377708 E0076698 3C014300 */ lui $at, 0x4300 +/* 37770C E007669C 44810000 */ mtc1 $at, $f0 +/* 377710 E00766A0 0801D9B2 */ j .LE00766C8 +/* 377714 E00766A4 46001000 */ add.s $f0, $f2, $f0 +.LE00766A8: +/* 377718 E00766A8 3C014300 */ lui $at, 0x4300 +/* 37771C E00766AC 44810000 */ mtc1 $at, $f0 +/* 377720 E00766B0 00000000 */ nop +/* 377724 E00766B4 4602003C */ c.lt.s $f0, $f2 +/* 377728 E00766B8 00000000 */ nop +/* 37772C E00766BC 45000003 */ bc1f .LE00766CC +/* 377730 E00766C0 00000000 */ nop +/* 377734 E00766C4 46001001 */ sub.s $f0, $f2, $f0 +.LE00766C8: +/* 377738 E00766C8 E4A00040 */ swc1 $f0, 0x40($a1) +.LE00766CC: +/* 37773C E00766CC C4A0004C */ lwc1 $f0, 0x4c($a1) +/* 377740 E00766D0 C4A20050 */ lwc1 $f2, 0x50($a1) +/* 377744 E00766D4 46020080 */ add.s $f2, $f0, $f2 +/* 377748 E00766D8 44800000 */ mtc1 $zero, $f0 +/* 37774C E00766DC 00000000 */ nop +/* 377750 E00766E0 4600103C */ c.lt.s $f2, $f0 +/* 377754 E00766E4 00000000 */ nop +/* 377758 E00766E8 45000005 */ bc1f .LE0076700 +/* 37775C E00766EC E4A2004C */ swc1 $f2, 0x4c($a1) +/* 377760 E00766F0 3C014280 */ lui $at, 0x4280 +/* 377764 E00766F4 44810000 */ mtc1 $at, $f0 +/* 377768 E00766F8 0801D9C8 */ j .LE0076720 +/* 37776C E00766FC 46001000 */ add.s $f0, $f2, $f0 +.LE0076700: +/* 377770 E0076700 3C014280 */ lui $at, 0x4280 +/* 377774 E0076704 44810000 */ mtc1 $at, $f0 +/* 377778 E0076708 00000000 */ nop +/* 37777C E007670C 4602003C */ c.lt.s $f0, $f2 +/* 377780 E0076710 00000000 */ nop +/* 377784 E0076714 45000003 */ bc1f .LE0076724 +/* 377788 E0076718 00000000 */ nop +/* 37778C E007671C 46001001 */ sub.s $f0, $f2, $f0 +.LE0076720: +/* 377790 E0076720 E4A0004C */ swc1 $f0, 0x4c($a1) +.LE0076724: +/* 377794 E0076724 C4A00058 */ lwc1 $f0, 0x58($a1) +/* 377798 E0076728 C4A2005C */ lwc1 $f2, 0x5c($a1) +/* 37779C E007672C 46020080 */ add.s $f2, $f0, $f2 +/* 3777A0 E0076730 44800000 */ mtc1 $zero, $f0 +/* 3777A4 E0076734 00000000 */ nop +/* 3777A8 E0076738 4600103C */ c.lt.s $f2, $f0 +/* 3777AC E007673C 00000000 */ nop +/* 3777B0 E0076740 45000005 */ bc1f .LE0076758 +/* 3777B4 E0076744 E4A20058 */ swc1 $f2, 0x58($a1) +/* 3777B8 E0076748 3C014300 */ lui $at, 0x4300 +/* 3777BC E007674C 44810000 */ mtc1 $at, $f0 +/* 3777C0 E0076750 0801D9DE */ j .LE0076778 +/* 3777C4 E0076754 46001000 */ add.s $f0, $f2, $f0 +.LE0076758: +/* 3777C8 E0076758 3C014300 */ lui $at, 0x4300 +/* 3777CC E007675C 44810000 */ mtc1 $at, $f0 +/* 3777D0 E0076760 00000000 */ nop +/* 3777D4 E0076764 4602003C */ c.lt.s $f0, $f2 +/* 3777D8 E0076768 00000000 */ nop +/* 3777DC E007676C 45000003 */ bc1f .LE007677C +/* 3777E0 E0076770 00000000 */ nop +/* 3777E4 E0076774 46001001 */ sub.s $f0, $f2, $f0 +.LE0076778: +/* 3777E8 E0076778 E4A00058 */ swc1 $f0, 0x58($a1) +.LE007677C: +/* 3777EC E007677C C4AA0010 */ lwc1 $f10, 0x10($a1) +/* 3777F0 E0076780 C4A60004 */ lwc1 $f6, 4($a1) +/* 3777F4 E0076784 460A3181 */ sub.s $f6, $f6, $f10 +/* 3777F8 E0076788 3C01E007 */ lui $at, 0xe007 +/* 3777FC E007678C D42C6F00 */ ldc1 $f12, 0x6f00($at) +/* 377800 E0076790 460031A1 */ cvt.d.s $f6, $f6 +/* 377804 E0076794 462C3182 */ mul.d $f6, $f6, $f12 +/* 377808 E0076798 00000000 */ nop +/* 37780C E007679C C4A80014 */ lwc1 $f8, 0x14($a1) +/* 377810 E00767A0 C4A20008 */ lwc1 $f2, 8($a1) +/* 377814 E00767A4 46081081 */ sub.s $f2, $f2, $f8 +/* 377818 E00767A8 460010A1 */ cvt.d.s $f2, $f2 +/* 37781C E00767AC 462C1082 */ mul.d $f2, $f2, $f12 +/* 377820 E00767B0 00000000 */ nop +/* 377824 E00767B4 C4A40018 */ lwc1 $f4, 0x18($a1) +/* 377828 E00767B8 C4A0000C */ lwc1 $f0, 0xc($a1) +/* 37782C E00767BC 46040001 */ sub.s $f0, $f0, $f4 +/* 377830 E00767C0 46000021 */ cvt.d.s $f0, $f0 +/* 377834 E00767C4 462C0002 */ mul.d $f0, $f0, $f12 +/* 377838 E00767C8 00000000 */ nop +/* 37783C E00767CC 460052A1 */ cvt.d.s $f10, $f10 +/* 377840 E00767D0 46265280 */ add.d $f10, $f10, $f6 +/* 377844 E00767D4 46004221 */ cvt.d.s $f8, $f8 +/* 377848 E00767D8 46224200 */ add.d $f8, $f8, $f2 +/* 37784C E00767DC 46002121 */ cvt.d.s $f4, $f4 +/* 377850 E00767E0 46202100 */ add.d $f4, $f4, $f0 +/* 377854 E00767E4 462052A0 */ cvt.s.d $f10, $f10 +/* 377858 E00767E8 46204220 */ cvt.s.d $f8, $f8 +/* 37785C E00767EC 46202120 */ cvt.s.d $f4, $f4 +/* 377860 E00767F0 E4AA0010 */ swc1 $f10, 0x10($a1) +/* 377864 E00767F4 E4A80014 */ swc1 $f8, 0x14($a1) +/* 377868 E00767F8 E4A40018 */ swc1 $f4, 0x18($a1) +.LE00767FC: +/* 37786C E00767FC 8FBF0010 */ lw $ra, 0x10($sp) +/* 377870 E0076800 03E00008 */ jr $ra +/* 377874 E0076804 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_377070/func_E0076808.s b/asm/nonmatchings/code_377070/func_E0076808.s new file mode 100644 index 0000000000..6ed5cb36ae --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E0076808.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0076808 +/* 377878 E0076808 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 37787C E007680C 3C02E007 */ lui $v0, 0xe007 +/* 377880 E0076810 2442685C */ addiu $v0, $v0, 0x685c +/* 377884 E0076814 AFA2001C */ sw $v0, 0x1c($sp) +/* 377888 E0076818 2402002D */ addiu $v0, $zero, 0x2d +/* 37788C E007681C AFA40018 */ sw $a0, 0x18($sp) +/* 377890 E0076820 27A40010 */ addiu $a0, $sp, 0x10 +/* 377894 E0076824 AFBF0020 */ sw $ra, 0x20($sp) +/* 377898 E0076828 AFA00014 */ sw $zero, 0x14($sp) +/* 37789C E007682C 0C080120 */ jal func_E0200480 +/* 3778A0 E0076830 AFA20010 */ sw $v0, 0x10($sp) +/* 3778A4 E0076834 8C430000 */ lw $v1, ($v0) +/* 3778A8 E0076838 34630002 */ ori $v1, $v1, 2 +/* 3778AC E007683C AC430000 */ sw $v1, ($v0) +/* 3778B0 E0076840 8FBF0020 */ lw $ra, 0x20($sp) +/* 3778B4 E0076844 03E00008 */ jr $ra +/* 3778B8 E0076848 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_377070/func_E007684C.s b/asm/nonmatchings/code_377070/func_E007684C.s new file mode 100644 index 0000000000..5d507204ae --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E007684C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007684C +/* 3778BC E007684C 03E00008 */ jr $ra +/* 3778C0 E0076850 00000000 */ nop diff --git a/asm/nonmatchings/code_377070/func_E0076854.s b/asm/nonmatchings/code_377070/func_E0076854.s new file mode 100644 index 0000000000..700fa70365 --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E0076854.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0076854 +/* 3778C4 E0076854 03E00008 */ jr $ra +/* 3778C8 E0076858 00000000 */ nop diff --git a/asm/nonmatchings/code_377070/func_E007685C.s b/asm/nonmatchings/code_377070/func_E007685C.s new file mode 100644 index 0000000000..429006c746 --- /dev/null +++ b/asm/nonmatchings/code_377070/func_E007685C.s @@ -0,0 +1,407 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007685C +/* 3778CC E007685C 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 3778D0 E0076860 3C02DB06 */ lui $v0, 0xdb06 +/* 3778D4 E0076864 34420024 */ ori $v0, $v0, 0x24 +/* 3778D8 E0076868 3C09800A */ lui $t1, 0x800a +/* 3778DC E007686C 2529A66C */ addiu $t1, $t1, -0x5994 +/* 3778E0 E0076870 AFBF00F4 */ sw $ra, 0xf4($sp) +/* 3778E4 E0076874 AFB600F0 */ sw $s6, 0xf0($sp) +/* 3778E8 E0076878 AFB500EC */ sw $s5, 0xec($sp) +/* 3778EC E007687C AFB400E8 */ sw $s4, 0xe8($sp) +/* 3778F0 E0076880 AFB300E4 */ sw $s3, 0xe4($sp) +/* 3778F4 E0076884 AFB200E0 */ sw $s2, 0xe0($sp) +/* 3778F8 E0076888 AFB100DC */ sw $s1, 0xdc($sp) +/* 3778FC E007688C AFB000D8 */ sw $s0, 0xd8($sp) +/* 377900 E0076890 F7B400F8 */ sdc1 $f20, 0xf8($sp) +/* 377904 E0076894 8C93000C */ lw $s3, 0xc($a0) +/* 377908 E0076898 8D280000 */ lw $t0, ($t1) +/* 37790C E007689C 8E750000 */ lw $s5, ($s3) +/* 377910 E00768A0 8E760028 */ lw $s6, 0x28($s3) +/* 377914 E00768A4 0100282D */ daddu $a1, $t0, $zero +/* 377918 E00768A8 ACA20000 */ sw $v0, ($a1) +/* 37791C E00768AC 8C820010 */ lw $v0, 0x10($a0) +/* 377920 E00768B0 3C038000 */ lui $v1, 0x8000 +/* 377924 E00768B4 8C42001C */ lw $v0, 0x1c($v0) +/* 377928 E00768B8 25080008 */ addiu $t0, $t0, 8 +/* 37792C E00768BC 00431021 */ addu $v0, $v0, $v1 +/* 377930 E00768C0 ACA20004 */ sw $v0, 4($a1) +/* 377934 E00768C4 3C02DE00 */ lui $v0, 0xde00 +/* 377938 E00768C8 AD020000 */ sw $v0, ($t0) +/* 37793C E00768CC 00151080 */ sll $v0, $s5, 2 +/* 377940 E00768D0 3C01E007 */ lui $at, 0xe007 +/* 377944 E00768D4 00220821 */ addu $at, $at, $v0 +/* 377948 E00768D8 8C226ED0 */ lw $v0, 0x6ed0($at) +/* 37794C E00768DC 27A40018 */ addiu $a0, $sp, 0x18 +/* 377950 E00768E0 AD280000 */ sw $t0, ($t1) +/* 377954 E00768E4 AD020004 */ sw $v0, 4($t0) +/* 377958 E00768E8 8E650010 */ lw $a1, 0x10($s3) +/* 37795C E00768EC 8E660014 */ lw $a2, 0x14($s3) +/* 377960 E00768F0 8E670018 */ lw $a3, 0x18($s3) +/* 377964 E00768F4 25080008 */ addiu $t0, $t0, 8 +/* 377968 E00768F8 0C080108 */ jal func_E0200420 +/* 37796C E00768FC AD280000 */ sw $t0, ($t1) +/* 377970 E0076900 24020002 */ addiu $v0, $zero, 2 +/* 377974 E0076904 16A20008 */ bne $s5, $v0, .LE0076928 +/* 377978 E0076908 27A40058 */ addiu $a0, $sp, 0x58 +/* 37797C E007690C 44800000 */ mtc1 $zero, $f0 +/* 377980 E0076910 3C073F80 */ lui $a3, 0x3f80 +/* 377984 E0076914 E7A00010 */ swc1 $f0, 0x10($sp) +/* 377988 E0076918 8E650064 */ lw $a1, 0x64($s3) +/* 37798C E007691C 44060000 */ mfc1 $a2, $f0 +/* 377990 E0076920 0801DA5C */ j .LE0076970 +/* 377994 E0076924 00000000 */ nop +.LE0076928: +/* 377998 E0076928 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 37799C E007692C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3779A0 E0076930 44800000 */ mtc1 $zero, $f0 +/* 3779A4 E0076934 00031080 */ sll $v0, $v1, 2 +/* 3779A8 E0076938 00431021 */ addu $v0, $v0, $v1 +/* 3779AC E007693C 00021080 */ sll $v0, $v0, 2 +/* 3779B0 E0076940 00431023 */ subu $v0, $v0, $v1 +/* 3779B4 E0076944 000218C0 */ sll $v1, $v0, 3 +/* 3779B8 E0076948 00431021 */ addu $v0, $v0, $v1 +/* 3779BC E007694C 000210C0 */ sll $v0, $v0, 3 +/* 3779C0 E0076950 44060000 */ mfc1 $a2, $f0 +/* 3779C4 E0076954 3C01800B */ lui $at, 0x800b +/* 3779C8 E0076958 00220821 */ addu $at, $at, $v0 +/* 3779CC E007695C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3779D0 E0076960 3C073F80 */ lui $a3, 0x3f80 +/* 3779D4 E0076964 46000007 */ neg.s $f0, $f0 +/* 3779D8 E0076968 44050000 */ mfc1 $a1, $f0 +/* 3779DC E007696C AFA60010 */ sw $a2, 0x10($sp) +.LE0076970: +/* 3779E0 E0076970 0C080104 */ jal func_E0200410 +/* 3779E4 E0076974 00000000 */ nop +/* 3779E8 E0076978 27B40058 */ addiu $s4, $sp, 0x58 +/* 3779EC E007697C 0280202D */ daddu $a0, $s4, $zero +/* 3779F0 E0076980 27A50018 */ addiu $a1, $sp, 0x18 +/* 3779F4 E0076984 27B00098 */ addiu $s0, $sp, 0x98 +/* 3779F8 E0076988 0C080114 */ jal func_E0200450 +/* 3779FC E007698C 0200302D */ daddu $a2, $s0, $zero +/* 377A00 E0076990 8E65001C */ lw $a1, 0x1c($s3) +/* 377A04 E0076994 3C013F80 */ lui $at, 0x3f80 +/* 377A08 E0076998 4481A000 */ mtc1 $at, $f20 +/* 377A0C E007699C 8E660020 */ lw $a2, 0x20($s3) +/* 377A10 E00769A0 4407A000 */ mfc1 $a3, $f20 +/* 377A14 E00769A4 0C080110 */ jal func_E0200440 +/* 377A18 E00769A8 0280202D */ daddu $a0, $s4, $zero +/* 377A1C E00769AC 0280202D */ daddu $a0, $s4, $zero +/* 377A20 E00769B0 0200282D */ daddu $a1, $s0, $zero +/* 377A24 E00769B4 0C080114 */ jal func_E0200450 +/* 377A28 E00769B8 0200302D */ daddu $a2, $s0, $zero +/* 377A2C E00769BC 16A00016 */ bnez $s5, .LE0076A18 +/* 377A30 E00769C0 3C120001 */ lui $s2, 1 +/* 377A34 E00769C4 C660001C */ lwc1 $f0, 0x1c($s3) +/* 377A38 E00769C8 C6640024 */ lwc1 $f4, 0x24($s3) +/* 377A3C E00769CC 46040001 */ sub.s $f0, $f0, $f4 +/* 377A40 E00769D0 3C014120 */ lui $at, 0x4120 +/* 377A44 E00769D4 44811000 */ mtc1 $at, $f2 +/* 377A48 E00769D8 46000007 */ neg.s $f0, $f0 +/* 377A4C E00769DC 46040003 */ div.s $f0, $f0, $f4 +/* 377A50 E00769E0 46020002 */ mul.s $f0, $f0, $f2 +/* 377A54 E00769E4 00000000 */ nop +/* 377A58 E00769E8 44050000 */ mfc1 $a1, $f0 +/* 377A5C E00769EC 44800000 */ mtc1 $zero, $f0 +/* 377A60 E00769F0 00000000 */ nop +/* 377A64 E00769F4 44060000 */ mfc1 $a2, $f0 +/* 377A68 E00769F8 0280202D */ daddu $a0, $s4, $zero +/* 377A6C E00769FC 0C080108 */ jal func_E0200420 +/* 377A70 E0076A00 00C0382D */ daddu $a3, $a2, $zero +/* 377A74 E0076A04 0280202D */ daddu $a0, $s4, $zero +/* 377A78 E0076A08 0200282D */ daddu $a1, $s0, $zero +/* 377A7C E0076A0C 0C080114 */ jal func_E0200450 +/* 377A80 E0076A10 0200302D */ daddu $a2, $s0, $zero +/* 377A84 E0076A14 3C120001 */ lui $s2, 1 +.LE0076A18: +/* 377A88 E0076A18 36521630 */ ori $s2, $s2, 0x1630 +/* 377A8C E0076A1C 0200202D */ daddu $a0, $s0, $zero +/* 377A90 E0076A20 3C108007 */ lui $s0, 0x8007 +/* 377A94 E0076A24 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 377A98 E0076A28 3C11800A */ lui $s1, 0x800a +/* 377A9C E0076A2C 2631A674 */ addiu $s1, $s1, -0x598c +/* 377AA0 E0076A30 96050000 */ lhu $a1, ($s0) +/* 377AA4 E0076A34 8E220000 */ lw $v0, ($s1) +/* 377AA8 E0076A38 00052980 */ sll $a1, $a1, 6 +/* 377AAC E0076A3C 00B22821 */ addu $a1, $a1, $s2 +/* 377AB0 E0076A40 0C080118 */ jal func_E0200460 +/* 377AB4 E0076A44 00452821 */ addu $a1, $v0, $a1 +/* 377AB8 E0076A48 3C03DA38 */ lui $v1, 0xda38 +/* 377ABC E0076A4C 34630002 */ ori $v1, $v1, 2 +/* 377AC0 E0076A50 3C06D838 */ lui $a2, 0xd838 +/* 377AC4 E0076A54 34C60002 */ ori $a2, $a2, 2 +/* 377AC8 E0076A58 3C09800A */ lui $t1, 0x800a +/* 377ACC E0076A5C 2529A66C */ addiu $t1, $t1, -0x5994 +/* 377AD0 E0076A60 27A40018 */ addiu $a0, $sp, 0x18 +/* 377AD4 E0076A64 8D280000 */ lw $t0, ($t1) +/* 377AD8 E0076A68 96020000 */ lhu $v0, ($s0) +/* 377ADC E0076A6C 0100282D */ daddu $a1, $t0, $zero +/* 377AE0 E0076A70 25080008 */ addiu $t0, $t0, 8 +/* 377AE4 E0076A74 AD280000 */ sw $t0, ($t1) +/* 377AE8 E0076A78 ACA30000 */ sw $v1, ($a1) +/* 377AEC E0076A7C 24430001 */ addiu $v1, $v0, 1 +/* 377AF0 E0076A80 3042FFFF */ andi $v0, $v0, 0xffff +/* 377AF4 E0076A84 00021180 */ sll $v0, $v0, 6 +/* 377AF8 E0076A88 A6030000 */ sh $v1, ($s0) +/* 377AFC E0076A8C 8E230000 */ lw $v1, ($s1) +/* 377B00 E0076A90 00521021 */ addu $v0, $v0, $s2 +/* 377B04 E0076A94 00621821 */ addu $v1, $v1, $v0 +/* 377B08 E0076A98 3C02DE00 */ lui $v0, 0xde00 +/* 377B0C E0076A9C ACA30004 */ sw $v1, 4($a1) +/* 377B10 E0076AA0 AD020000 */ sw $v0, ($t0) +/* 377B14 E0076AA4 00151080 */ sll $v0, $s5, 2 +/* 377B18 E0076AA8 3C03E007 */ lui $v1, 0xe007 +/* 377B1C E0076AAC 00621821 */ addu $v1, $v1, $v0 +/* 377B20 E0076AB0 8C636EC0 */ lw $v1, 0x6ec0($v1) +/* 377B24 E0076AB4 25020008 */ addiu $v0, $t0, 8 +/* 377B28 E0076AB8 AD220000 */ sw $v0, ($t1) +/* 377B2C E0076ABC 24020040 */ addiu $v0, $zero, 0x40 +/* 377B30 E0076AC0 AD060008 */ sw $a2, 8($t0) +/* 377B34 E0076AC4 AD02000C */ sw $v0, 0xc($t0) +/* 377B38 E0076AC8 AD030004 */ sw $v1, 4($t0) +/* 377B3C E0076ACC 8E650004 */ lw $a1, 4($s3) +/* 377B40 E0076AD0 8E660008 */ lw $a2, 8($s3) +/* 377B44 E0076AD4 8E67000C */ lw $a3, 0xc($s3) +/* 377B48 E0076AD8 25080010 */ addiu $t0, $t0, 0x10 +/* 377B4C E0076ADC 0C080108 */ jal func_E0200420 +/* 377B50 E0076AE0 AD280000 */ sw $t0, ($t1) +/* 377B54 E0076AE4 24020002 */ addiu $v0, $zero, 2 +/* 377B58 E0076AE8 16A20008 */ bne $s5, $v0, .LE0076B0C +/* 377B5C E0076AEC 0280202D */ daddu $a0, $s4, $zero +/* 377B60 E0076AF0 44800000 */ mtc1 $zero, $f0 +/* 377B64 E0076AF4 4407A000 */ mfc1 $a3, $f20 +/* 377B68 E0076AF8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 377B6C E0076AFC 8E650064 */ lw $a1, 0x64($s3) +/* 377B70 E0076B00 44060000 */ mfc1 $a2, $f0 +/* 377B74 E0076B04 0801DAD5 */ j .LE0076B54 +/* 377B78 E0076B08 00000000 */ nop +.LE0076B0C: +/* 377B7C E0076B0C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 377B80 E0076B10 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 377B84 E0076B14 44800000 */ mtc1 $zero, $f0 +/* 377B88 E0076B18 00031080 */ sll $v0, $v1, 2 +/* 377B8C E0076B1C 00431021 */ addu $v0, $v0, $v1 +/* 377B90 E0076B20 00021080 */ sll $v0, $v0, 2 +/* 377B94 E0076B24 00431023 */ subu $v0, $v0, $v1 +/* 377B98 E0076B28 000218C0 */ sll $v1, $v0, 3 +/* 377B9C E0076B2C 00431021 */ addu $v0, $v0, $v1 +/* 377BA0 E0076B30 000210C0 */ sll $v0, $v0, 3 +/* 377BA4 E0076B34 44060000 */ mfc1 $a2, $f0 +/* 377BA8 E0076B38 3C01800B */ lui $at, 0x800b +/* 377BAC E0076B3C 00220821 */ addu $at, $at, $v0 +/* 377BB0 E0076B40 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 377BB4 E0076B44 4407A000 */ mfc1 $a3, $f20 +/* 377BB8 E0076B48 46000007 */ neg.s $f0, $f0 +/* 377BBC E0076B4C 44050000 */ mfc1 $a1, $f0 +/* 377BC0 E0076B50 AFA60010 */ sw $a2, 0x10($sp) +.LE0076B54: +/* 377BC4 E0076B54 0C080104 */ jal func_E0200410 +/* 377BC8 E0076B58 00000000 */ nop +/* 377BCC E0076B5C 27B10058 */ addiu $s1, $sp, 0x58 +/* 377BD0 E0076B60 0220202D */ daddu $a0, $s1, $zero +/* 377BD4 E0076B64 27A50018 */ addiu $a1, $sp, 0x18 +/* 377BD8 E0076B68 27B00098 */ addiu $s0, $sp, 0x98 +/* 377BDC E0076B6C 0C080114 */ jal func_E0200450 +/* 377BE0 E0076B70 0200302D */ daddu $a2, $s0, $zero +/* 377BE4 E0076B74 8E65001C */ lw $a1, 0x1c($s3) +/* 377BE8 E0076B78 8E660020 */ lw $a2, 0x20($s3) +/* 377BEC E0076B7C 3C073F80 */ lui $a3, 0x3f80 +/* 377BF0 E0076B80 0C080110 */ jal func_E0200440 +/* 377BF4 E0076B84 0220202D */ daddu $a0, $s1, $zero +/* 377BF8 E0076B88 0220202D */ daddu $a0, $s1, $zero +/* 377BFC E0076B8C 0200282D */ daddu $a1, $s0, $zero +/* 377C00 E0076B90 0C080114 */ jal func_E0200450 +/* 377C04 E0076B94 0200302D */ daddu $a2, $s0, $zero +/* 377C08 E0076B98 16A00016 */ bnez $s5, .LE0076BF4 +/* 377C0C E0076B9C 3C120001 */ lui $s2, 1 +/* 377C10 E0076BA0 C660001C */ lwc1 $f0, 0x1c($s3) +/* 377C14 E0076BA4 C6640024 */ lwc1 $f4, 0x24($s3) +/* 377C18 E0076BA8 46040001 */ sub.s $f0, $f0, $f4 +/* 377C1C E0076BAC 3C014120 */ lui $at, 0x4120 +/* 377C20 E0076BB0 44811000 */ mtc1 $at, $f2 +/* 377C24 E0076BB4 46000007 */ neg.s $f0, $f0 +/* 377C28 E0076BB8 46040003 */ div.s $f0, $f0, $f4 +/* 377C2C E0076BBC 46020002 */ mul.s $f0, $f0, $f2 +/* 377C30 E0076BC0 00000000 */ nop +/* 377C34 E0076BC4 44050000 */ mfc1 $a1, $f0 +/* 377C38 E0076BC8 44800000 */ mtc1 $zero, $f0 +/* 377C3C E0076BCC 00000000 */ nop +/* 377C40 E0076BD0 44060000 */ mfc1 $a2, $f0 +/* 377C44 E0076BD4 0220202D */ daddu $a0, $s1, $zero +/* 377C48 E0076BD8 0C080108 */ jal func_E0200420 +/* 377C4C E0076BDC 00C0382D */ daddu $a3, $a2, $zero +/* 377C50 E0076BE0 0220202D */ daddu $a0, $s1, $zero +/* 377C54 E0076BE4 0200282D */ daddu $a1, $s0, $zero +/* 377C58 E0076BE8 0C080114 */ jal func_E0200450 +/* 377C5C E0076BEC 0200302D */ daddu $a2, $s0, $zero +/* 377C60 E0076BF0 3C120001 */ lui $s2, 1 +.LE0076BF4: +/* 377C64 E0076BF4 36521630 */ ori $s2, $s2, 0x1630 +/* 377C68 E0076BF8 0200202D */ daddu $a0, $s0, $zero +/* 377C6C E0076BFC 3C108007 */ lui $s0, 0x8007 +/* 377C70 E0076C00 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 377C74 E0076C04 3C11800A */ lui $s1, 0x800a +/* 377C78 E0076C08 2631A674 */ addiu $s1, $s1, -0x598c +/* 377C7C E0076C0C 96050000 */ lhu $a1, ($s0) +/* 377C80 E0076C10 8E220000 */ lw $v0, ($s1) +/* 377C84 E0076C14 00052980 */ sll $a1, $a1, 6 +/* 377C88 E0076C18 00B22821 */ addu $a1, $a1, $s2 +/* 377C8C E0076C1C 0C080118 */ jal func_E0200460 +/* 377C90 E0076C20 00452821 */ addu $a1, $v0, $a1 +/* 377C94 E0076C24 3C03DA38 */ lui $v1, 0xda38 +/* 377C98 E0076C28 34630002 */ ori $v1, $v1, 2 +/* 377C9C E0076C2C 3C06D838 */ lui $a2, 0xd838 +/* 377CA0 E0076C30 3C07800A */ lui $a3, 0x800a +/* 377CA4 E0076C34 24E7A66C */ addiu $a3, $a3, -0x5994 +/* 377CA8 E0076C38 34C60002 */ ori $a2, $a2, 2 +/* 377CAC E0076C3C 3C08DE00 */ lui $t0, 0xde00 +/* 377CB0 E0076C40 00154880 */ sll $t1, $s5, 2 +/* 377CB4 E0076C44 8CE50000 */ lw $a1, ($a3) +/* 377CB8 E0076C48 96020000 */ lhu $v0, ($s0) +/* 377CBC E0076C4C 3C014080 */ lui $at, 0x4080 +/* 377CC0 E0076C50 44812000 */ mtc1 $at, $f4 +/* 377CC4 E0076C54 00A0202D */ daddu $a0, $a1, $zero +/* 377CC8 E0076C58 24A50008 */ addiu $a1, $a1, 8 +/* 377CCC E0076C5C ACE50000 */ sw $a1, ($a3) +/* 377CD0 E0076C60 AC830000 */ sw $v1, ($a0) +/* 377CD4 E0076C64 24430001 */ addiu $v1, $v0, 1 +/* 377CD8 E0076C68 3042FFFF */ andi $v0, $v0, 0xffff +/* 377CDC E0076C6C 00021180 */ sll $v0, $v0, 6 +/* 377CE0 E0076C70 A6030000 */ sh $v1, ($s0) +/* 377CE4 E0076C74 8E230000 */ lw $v1, ($s1) +/* 377CE8 E0076C78 00521021 */ addu $v0, $v0, $s2 +/* 377CEC E0076C7C 00621821 */ addu $v1, $v1, $v0 +/* 377CF0 E0076C80 24A20008 */ addiu $v0, $a1, 8 +/* 377CF4 E0076C84 AC830004 */ sw $v1, 4($a0) +/* 377CF8 E0076C88 ACE20000 */ sw $v0, ($a3) +/* 377CFC E0076C8C ACA80000 */ sw $t0, ($a1) +/* 377D00 E0076C90 3C03E007 */ lui $v1, 0xe007 +/* 377D04 E0076C94 00691821 */ addu $v1, $v1, $t1 +/* 377D08 E0076C98 8C636EB0 */ lw $v1, 0x6eb0($v1) +/* 377D0C E0076C9C 24A20010 */ addiu $v0, $a1, 0x10 +/* 377D10 E0076CA0 ACE20000 */ sw $v0, ($a3) +/* 377D14 E0076CA4 24020040 */ addiu $v0, $zero, 0x40 +/* 377D18 E0076CA8 ACA2000C */ sw $v0, 0xc($a1) +/* 377D1C E0076CAC 24A20018 */ addiu $v0, $a1, 0x18 +/* 377D20 E0076CB0 ACA60008 */ sw $a2, 8($a1) +/* 377D24 E0076CB4 ACE20000 */ sw $v0, ($a3) +/* 377D28 E0076CB8 3C02FA00 */ lui $v0, 0xfa00 +/* 377D2C E0076CBC ACA20010 */ sw $v0, 0x10($a1) +/* 377D30 E0076CC0 ACA30004 */ sw $v1, 4($a1) +/* 377D34 E0076CC4 92620068 */ lbu $v0, 0x68($s3) +/* 377D38 E0076CC8 92640069 */ lbu $a0, 0x69($s3) +/* 377D3C E0076CCC 9266006A */ lbu $a2, 0x6a($s3) +/* 377D40 E0076CD0 24A30020 */ addiu $v1, $a1, 0x20 +/* 377D44 E0076CD4 ACE30000 */ sw $v1, ($a3) +/* 377D48 E0076CD8 3C03FB00 */ lui $v1, 0xfb00 +/* 377D4C E0076CDC ACA30018 */ sw $v1, 0x18($a1) +/* 377D50 E0076CE0 32C300FF */ andi $v1, $s6, 0xff +/* 377D54 E0076CE4 00021600 */ sll $v0, $v0, 0x18 +/* 377D58 E0076CE8 00042400 */ sll $a0, $a0, 0x10 +/* 377D5C E0076CEC 00441025 */ or $v0, $v0, $a0 +/* 377D60 E0076CF0 00063200 */ sll $a2, $a2, 8 +/* 377D64 E0076CF4 00461025 */ or $v0, $v0, $a2 +/* 377D68 E0076CF8 00431025 */ or $v0, $v0, $v1 +/* 377D6C E0076CFC ACA20014 */ sw $v0, 0x14($a1) +/* 377D70 E0076D00 9262006B */ lbu $v0, 0x6b($s3) +/* 377D74 E0076D04 9263006C */ lbu $v1, 0x6c($s3) +/* 377D78 E0076D08 9264006D */ lbu $a0, 0x6d($s3) +/* 377D7C E0076D0C 00021600 */ sll $v0, $v0, 0x18 +/* 377D80 E0076D10 00031C00 */ sll $v1, $v1, 0x10 +/* 377D84 E0076D14 00431025 */ or $v0, $v0, $v1 +/* 377D88 E0076D18 00042200 */ sll $a0, $a0, 8 +/* 377D8C E0076D1C 9263006E */ lbu $v1, 0x6e($s3) +/* 377D90 E0076D20 00441025 */ or $v0, $v0, $a0 +/* 377D94 E0076D24 00431025 */ or $v0, $v0, $v1 +/* 377D98 E0076D28 ACA2001C */ sw $v0, 0x1c($a1) +/* 377D9C E0076D2C C6620034 */ lwc1 $f2, 0x34($s3) +/* 377DA0 E0076D30 46041082 */ mul.s $f2, $f2, $f4 +/* 377DA4 E0076D34 00000000 */ nop +/* 377DA8 E0076D38 3C06F200 */ lui $a2, 0xf200 +/* 377DAC E0076D3C 3C040100 */ lui $a0, 0x100 +/* 377DB0 E0076D40 C6600040 */ lwc1 $f0, 0x40($s3) +/* 377DB4 E0076D44 24A20028 */ addiu $v0, $a1, 0x28 +/* 377DB8 E0076D48 46040002 */ mul.s $f0, $f0, $f4 +/* 377DBC E0076D4C 00000000 */ nop +/* 377DC0 E0076D50 ACE20000 */ sw $v0, ($a3) +/* 377DC4 E0076D54 24A20030 */ addiu $v0, $a1, 0x30 +/* 377DC8 E0076D58 ACE20000 */ sw $v0, ($a3) +/* 377DCC E0076D5C 4600118D */ trunc.w.s $f6, $f2 +/* 377DD0 E0076D60 440A3000 */ mfc1 $t2, $f6 +/* 377DD4 E0076D64 4600018D */ trunc.w.s $f6, $f0 +/* 377DD8 E0076D68 440B3000 */ mfc1 $t3, $f6 +/* 377DDC E0076D6C 31430FFF */ andi $v1, $t2, 0xfff +/* 377DE0 E0076D70 00031B00 */ sll $v1, $v1, 0xc +/* 377DE4 E0076D74 31620FFF */ andi $v0, $t3, 0xfff +/* 377DE8 E0076D78 00461025 */ or $v0, $v0, $a2 +/* 377DEC E0076D7C 00621825 */ or $v1, $v1, $v0 +/* 377DF0 E0076D80 2542007C */ addiu $v0, $t2, 0x7c +/* 377DF4 E0076D84 30420FFF */ andi $v0, $v0, 0xfff +/* 377DF8 E0076D88 00021300 */ sll $v0, $v0, 0xc +/* 377DFC E0076D8C ACA30020 */ sw $v1, 0x20($a1) +/* 377E00 E0076D90 256301FC */ addiu $v1, $t3, 0x1fc +/* 377E04 E0076D94 30630FFF */ andi $v1, $v1, 0xfff +/* 377E08 E0076D98 00641825 */ or $v1, $v1, $a0 +/* 377E0C E0076D9C 00431025 */ or $v0, $v0, $v1 +/* 377E10 E0076DA0 ACA20024 */ sw $v0, 0x24($a1) +/* 377E14 E0076DA4 ACA80028 */ sw $t0, 0x28($a1) +/* 377E18 E0076DA8 3C02E007 */ lui $v0, 0xe007 +/* 377E1C E0076DAC 00491021 */ addu $v0, $v0, $t1 +/* 377E20 E0076DB0 8C426E90 */ lw $v0, 0x6e90($v0) +/* 377E24 E0076DB4 ACA2002C */ sw $v0, 0x2c($a1) +/* 377E28 E0076DB8 C662004C */ lwc1 $f2, 0x4c($s3) +/* 377E2C E0076DBC 24A20038 */ addiu $v0, $a1, 0x38 +/* 377E30 E0076DC0 46041082 */ mul.s $f2, $f2, $f4 +/* 377E34 E0076DC4 00000000 */ nop +/* 377E38 E0076DC8 ACE20000 */ sw $v0, ($a3) +/* 377E3C E0076DCC C6600058 */ lwc1 $f0, 0x58($s3) +/* 377E40 E0076DD0 24A20040 */ addiu $v0, $a1, 0x40 +/* 377E44 E0076DD4 ACE20000 */ sw $v0, ($a3) +/* 377E48 E0076DD8 46040002 */ mul.s $f0, $f0, $f4 +/* 377E4C E0076DDC 00000000 */ nop +/* 377E50 E0076DE0 24A20048 */ addiu $v0, $a1, 0x48 +/* 377E54 E0076DE4 ACE20000 */ sw $v0, ($a3) +/* 377E58 E0076DE8 ACA80038 */ sw $t0, 0x38($a1) +/* 377E5C E0076DEC 4600118D */ trunc.w.s $f6, $f2 +/* 377E60 E0076DF0 440A3000 */ mfc1 $t2, $f6 +/* 377E64 E0076DF4 4600018D */ trunc.w.s $f6, $f0 +/* 377E68 E0076DF8 440B3000 */ mfc1 $t3, $f6 +/* 377E6C E0076DFC 2543001E */ addiu $v1, $t2, 0x1e +/* 377E70 E0076E00 30630FFF */ andi $v1, $v1, 0xfff +/* 377E74 E0076E04 00031B00 */ sll $v1, $v1, 0xc +/* 377E78 E0076E08 2562001E */ addiu $v0, $t3, 0x1e +/* 377E7C E0076E0C 30420FFF */ andi $v0, $v0, 0xfff +/* 377E80 E0076E10 00461025 */ or $v0, $v0, $a2 +/* 377E84 E0076E14 00621825 */ or $v1, $v1, $v0 +/* 377E88 E0076E18 ACA30030 */ sw $v1, 0x30($a1) +/* 377E8C E0076E1C 2543011A */ addiu $v1, $t2, 0x11a +/* 377E90 E0076E20 30630FFF */ andi $v1, $v1, 0xfff +/* 377E94 E0076E24 00031B00 */ sll $v1, $v1, 0xc +/* 377E98 E0076E28 2562021A */ addiu $v0, $t3, 0x21a +/* 377E9C E0076E2C 30420FFF */ andi $v0, $v0, 0xfff +/* 377EA0 E0076E30 00441025 */ or $v0, $v0, $a0 +/* 377EA4 E0076E34 00621825 */ or $v1, $v1, $v0 +/* 377EA8 E0076E38 ACA30034 */ sw $v1, 0x34($a1) +/* 377EAC E0076E3C 3C03E007 */ lui $v1, 0xe007 +/* 377EB0 E0076E40 00691821 */ addu $v1, $v1, $t1 +/* 377EB4 E0076E44 8C636EA0 */ lw $v1, 0x6ea0($v1) +/* 377EB8 E0076E48 3C02E700 */ lui $v0, 0xe700 +/* 377EBC E0076E4C ACA20040 */ sw $v0, 0x40($a1) +/* 377EC0 E0076E50 ACA00044 */ sw $zero, 0x44($a1) +/* 377EC4 E0076E54 ACA3003C */ sw $v1, 0x3c($a1) +/* 377EC8 E0076E58 8FBF00F4 */ lw $ra, 0xf4($sp) +/* 377ECC E0076E5C 8FB600F0 */ lw $s6, 0xf0($sp) +/* 377ED0 E0076E60 8FB500EC */ lw $s5, 0xec($sp) +/* 377ED4 E0076E64 8FB400E8 */ lw $s4, 0xe8($sp) +/* 377ED8 E0076E68 8FB300E4 */ lw $s3, 0xe4($sp) +/* 377EDC E0076E6C 8FB200E0 */ lw $s2, 0xe0($sp) +/* 377EE0 E0076E70 8FB100DC */ lw $s1, 0xdc($sp) +/* 377EE4 E0076E74 8FB000D8 */ lw $s0, 0xd8($sp) +/* 377EE8 E0076E78 D7B400F8 */ ldc1 $f20, 0xf8($sp) +/* 377EEC E0076E7C 03E00008 */ jr $ra +/* 377EF0 E0076E80 27BD0100 */ addiu $sp, $sp, 0x100 +/* 377EF4 E0076E84 00000000 */ nop +/* 377EF8 E0076E88 00000000 */ nop +/* 377EFC E0076E8C 00000000 */ nop diff --git a/asm/nonmatchings/code_37A3F0/func_E0078000.s b/asm/nonmatchings/code_37A3F0/func_E0078000.s new file mode 100644 index 0000000000..75f844cf69 --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E0078000.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0078000 +/* 37A3F0 E0078000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 37A3F4 E0078004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 37A3F8 E0078008 4485A000 */ mtc1 $a1, $f20 +/* 37A3FC E007800C AFB20030 */ sw $s2, 0x30($sp) +/* 37A400 E0078010 0080902D */ daddu $s2, $a0, $zero +/* 37A404 E0078014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 37A408 E0078018 4486B000 */ mtc1 $a2, $f22 +/* 37A40C E007801C 27A40010 */ addiu $a0, $sp, 0x10 +/* 37A410 E0078020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 37A414 E0078024 4487C000 */ mtc1 $a3, $f24 +/* 37A418 E0078028 3C02E008 */ lui $v0, 0xe008 +/* 37A41C E007802C 24428124 */ addiu $v0, $v0, -0x7edc +/* 37A420 E0078030 AFA20018 */ sw $v0, 0x18($sp) +/* 37A424 E0078034 3C02E008 */ lui $v0, 0xe008 +/* 37A428 E0078038 2442812C */ addiu $v0, $v0, -0x7ed4 +/* 37A42C E007803C AFA2001C */ sw $v0, 0x1c($sp) +/* 37A430 E0078040 3C02E008 */ lui $v0, 0xe008 +/* 37A434 E0078044 24428210 */ addiu $v0, $v0, -0x7df0 +/* 37A438 E0078048 AFA20020 */ sw $v0, 0x20($sp) +/* 37A43C E007804C 2402003C */ addiu $v0, $zero, 0x3c +/* 37A440 E0078050 AFBF0034 */ sw $ra, 0x34($sp) +/* 37A444 E0078054 AFB1002C */ sw $s1, 0x2c($sp) +/* 37A448 E0078058 AFB00028 */ sw $s0, 0x28($sp) +/* 37A44C E007805C AFA00010 */ sw $zero, 0x10($sp) +/* 37A450 E0078060 AFA00024 */ sw $zero, 0x24($sp) +/* 37A454 E0078064 0C080124 */ jal func_E0200490 +/* 37A458 E0078068 AFA20014 */ sw $v0, 0x14($sp) +/* 37A45C E007806C 24040024 */ addiu $a0, $zero, 0x24 +/* 37A460 E0078070 24030001 */ addiu $v1, $zero, 1 +/* 37A464 E0078074 0040882D */ daddu $s1, $v0, $zero +/* 37A468 E0078078 0C08012C */ jal func_E02004B0 +/* 37A46C E007807C AE230008 */ sw $v1, 8($s1) +/* 37A470 E0078080 0040802D */ daddu $s0, $v0, $zero +/* 37A474 E0078084 16000003 */ bnez $s0, .LE0078094 +/* 37A478 E0078088 AE22000C */ sw $v0, 0xc($s1) +.LE007808C: +/* 37A47C E007808C 0801E023 */ j .LE007808C +/* 37A480 E0078090 00000000 */ nop +.LE0078094: +/* 37A484 E0078094 324200FF */ andi $v0, $s2, 0xff +/* 37A488 E0078098 AE020000 */ sw $v0, ($s0) +/* 37A48C E007809C 2A420100 */ slti $v0, $s2, 0x100 +/* 37A490 E00780A0 14400002 */ bnez $v0, .LE00780AC +/* 37A494 E00780A4 24020064 */ addiu $v0, $zero, 0x64 +/* 37A498 E00780A8 24020050 */ addiu $v0, $zero, 0x50 +.LE00780AC: +/* 37A49C E00780AC AE020014 */ sw $v0, 0x14($s0) +/* 37A4A0 E00780B0 3C04E008 */ lui $a0, 0xe008 +/* 37A4A4 E00780B4 248489A8 */ addiu $a0, $a0, -0x7658 +/* 37A4A8 E00780B8 AE000018 */ sw $zero, 0x18($s0) +/* 37A4AC E00780BC 8C820000 */ lw $v0, ($a0) +/* 37A4B0 E00780C0 2403007F */ addiu $v1, $zero, 0x7f +/* 37A4B4 E00780C4 AE030010 */ sw $v1, 0x10($s0) +/* 37A4B8 E00780C8 E6140004 */ swc1 $f20, 4($s0) +/* 37A4BC E00780CC E6160008 */ swc1 $f22, 8($s0) +/* 37A4C0 E00780D0 E618000C */ swc1 $f24, 0xc($s0) +/* 37A4C4 E00780D4 AE02001C */ sw $v0, 0x1c($s0) +/* 37A4C8 E00780D8 24420001 */ addiu $v0, $v0, 1 +/* 37A4CC E00780DC AC820000 */ sw $v0, ($a0) +/* 37A4D0 E00780E0 28420010 */ slti $v0, $v0, 0x10 +/* 37A4D4 E00780E4 50400001 */ beql $v0, $zero, .LE00780EC +/* 37A4D8 E00780E8 AC800000 */ sw $zero, ($a0) +.LE00780EC: +/* 37A4DC E00780EC 0C080138 */ jal func_E02004E0 +/* 37A4E0 E00780F0 24040007 */ addiu $a0, $zero, 7 +/* 37A4E4 E00780F4 AE020020 */ sw $v0, 0x20($s0) +/* 37A4E8 E00780F8 8FA20064 */ lw $v0, 0x64($sp) +/* 37A4EC E00780FC AC510000 */ sw $s1, ($v0) +/* 37A4F0 E0078100 8FBF0034 */ lw $ra, 0x34($sp) +/* 37A4F4 E0078104 8FB20030 */ lw $s2, 0x30($sp) +/* 37A4F8 E0078108 8FB1002C */ lw $s1, 0x2c($sp) +/* 37A4FC E007810C 8FB00028 */ lw $s0, 0x28($sp) +/* 37A500 E0078110 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 37A504 E0078114 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 37A508 E0078118 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 37A50C E007811C 03E00008 */ jr $ra +/* 37A510 E0078120 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_37A3F0/func_E0078124.s b/asm/nonmatchings/code_37A3F0/func_E0078124.s new file mode 100644 index 0000000000..7f45141048 --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E0078124.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0078124 +/* 37A514 E0078124 03E00008 */ jr $ra +/* 37A518 E0078128 00000000 */ nop diff --git a/asm/nonmatchings/code_37A3F0/func_E007812C.s b/asm/nonmatchings/code_37A3F0/func_E007812C.s new file mode 100644 index 0000000000..693d737362 --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E007812C.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007812C +/* 37A51C E007812C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 37A520 E0078130 AFBF0010 */ sw $ra, 0x10($sp) +/* 37A524 E0078134 8C850000 */ lw $a1, ($a0) +/* 37A528 E0078138 8C83000C */ lw $v1, 0xc($a0) +/* 37A52C E007813C 30A20010 */ andi $v0, $a1, 0x10 +/* 37A530 E0078140 10400005 */ beqz $v0, .LE0078158 +/* 37A534 E0078144 2402FFEF */ addiu $v0, $zero, -0x11 +/* 37A538 E0078148 00A21024 */ and $v0, $a1, $v0 +/* 37A53C E007814C AC820000 */ sw $v0, ($a0) +/* 37A540 E0078150 2402000A */ addiu $v0, $zero, 0xa +/* 37A544 E0078154 AC620014 */ sw $v0, 0x14($v1) +.LE0078158: +/* 37A548 E0078158 8C620018 */ lw $v0, 0x18($v1) +/* 37A54C E007815C 8C650014 */ lw $a1, 0x14($v1) +/* 37A550 E0078160 24420001 */ addiu $v0, $v0, 1 +/* 37A554 E0078164 AC620018 */ sw $v0, 0x18($v1) +/* 37A558 E0078168 28A20064 */ slti $v0, $a1, 0x64 +/* 37A55C E007816C 10400002 */ beqz $v0, .LE0078178 +/* 37A560 E0078170 24A2FFFF */ addiu $v0, $a1, -1 +/* 37A564 E0078174 AC620014 */ sw $v0, 0x14($v1) +.LE0078178: +/* 37A568 E0078178 8C620014 */ lw $v0, 0x14($v1) +/* 37A56C E007817C 04410005 */ bgez $v0, .LE0078194 +/* 37A570 E0078180 00000000 */ nop +/* 37A574 E0078184 0C080128 */ jal func_E02004A0 +/* 37A578 E0078188 00000000 */ nop +/* 37A57C E007818C 0801E081 */ j .LE0078204 +/* 37A580 E0078190 00000000 */ nop +.LE0078194: +/* 37A584 E0078194 8C620000 */ lw $v0, ($v1) +/* 37A588 E0078198 8C640018 */ lw $a0, 0x18($v1) +/* 37A58C E007819C 14400019 */ bnez $v0, .LE0078204 +/* 37A590 E00781A0 2882000B */ slti $v0, $a0, 0xb +/* 37A594 E00781A4 10400005 */ beqz $v0, .LE00781BC +/* 37A598 E00781A8 00041040 */ sll $v0, $a0, 1 +/* 37A59C E00781AC 00441021 */ addu $v0, $v0, $a0 +/* 37A5A0 E00781B0 00021040 */ sll $v0, $v0, 1 +/* 37A5A4 E00781B4 0801E070 */ j .LE00781C0 +/* 37A5A8 E00781B8 24420004 */ addiu $v0, $v0, 4 +.LE00781BC: +/* 37A5AC E00781BC 24020040 */ addiu $v0, $zero, 0x40 +.LE00781C0: +/* 37A5B0 E00781C0 AC620010 */ sw $v0, 0x10($v1) +/* 37A5B4 E00781C4 30820001 */ andi $v0, $a0, 1 +/* 37A5B8 E00781C8 10400009 */ beqz $v0, .LE00781F0 +/* 37A5BC E00781CC 2882000F */ slti $v0, $a0, 0xf +/* 37A5C0 E00781D0 3C01E008 */ lui $at, 0xe008 +/* 37A5C4 E00781D4 D42289D0 */ ldc1 $f2, -0x7630($at) +/* 37A5C8 E00781D8 C4600010 */ lwc1 $f0, 0x10($v1) +/* 37A5CC E00781DC 46800021 */ cvt.d.w $f0, $f0 +/* 37A5D0 E00781E0 46220002 */ mul.d $f0, $f0, $f2 +/* 37A5D4 E00781E4 00000000 */ nop +/* 37A5D8 E00781E8 4620010D */ trunc.w.d $f4, $f0 +/* 37A5DC E00781EC E4640010 */ swc1 $f4, 0x10($v1) +.LE00781F0: +/* 37A5E0 E00781F0 14400004 */ bnez $v0, .LE0078204 +/* 37A5E4 E00781F4 24020004 */ addiu $v0, $zero, 4 +/* 37A5E8 E00781F8 AC620000 */ sw $v0, ($v1) +/* 37A5EC E00781FC 2402007F */ addiu $v0, $zero, 0x7f +/* 37A5F0 E0078200 AC620010 */ sw $v0, 0x10($v1) +.LE0078204: +/* 37A5F4 E0078204 8FBF0010 */ lw $ra, 0x10($sp) +/* 37A5F8 E0078208 03E00008 */ jr $ra +/* 37A5FC E007820C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_37A3F0/func_E0078210.s b/asm/nonmatchings/code_37A3F0/func_E0078210.s new file mode 100644 index 0000000000..ed5c9d00e2 --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E0078210.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0078210 +/* 37A600 E0078210 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 37A604 E0078214 AFBF0020 */ sw $ra, 0x20($sp) +/* 37A608 E0078218 8C83000C */ lw $v1, 0xc($a0) +/* 37A60C E007821C 3C02E008 */ lui $v0, 0xe008 +/* 37A610 E0078220 2442827C */ addiu $v0, $v0, -0x7d84 +/* 37A614 E0078224 AFA40018 */ sw $a0, 0x18($sp) +/* 37A618 E0078228 AFA2001C */ sw $v0, 0x1c($sp) +/* 37A61C E007822C 8C630000 */ lw $v1, ($v1) +/* 37A620 E0078230 24020005 */ addiu $v0, $zero, 5 +/* 37A624 E0078234 14620004 */ bne $v1, $v0, .LE0078248 +/* 37A628 E0078238 27A40010 */ addiu $a0, $sp, 0x10 +/* 37A62C E007823C 24020001 */ addiu $v0, $zero, 1 +/* 37A630 E0078240 0801E095 */ j .LE0078254 +/* 37A634 E0078244 AFA00014 */ sw $zero, 0x14($sp) +.LE0078248: +/* 37A638 E0078248 2402FF9C */ addiu $v0, $zero, -0x64 +/* 37A63C E007824C AFA20014 */ sw $v0, 0x14($sp) +/* 37A640 E0078250 2402002D */ addiu $v0, $zero, 0x2d +.LE0078254: +/* 37A644 E0078254 0C080120 */ jal func_E0200480 +/* 37A648 E0078258 AFA20010 */ sw $v0, 0x10($sp) +/* 37A64C E007825C 8C430000 */ lw $v1, ($v0) +/* 37A650 E0078260 34630002 */ ori $v1, $v1, 2 +/* 37A654 E0078264 AC430000 */ sw $v1, ($v0) +/* 37A658 E0078268 8FBF0020 */ lw $ra, 0x20($sp) +/* 37A65C E007826C 03E00008 */ jr $ra +/* 37A660 E0078270 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_37A3F0/func_E0078274.s b/asm/nonmatchings/code_37A3F0/func_E0078274.s new file mode 100644 index 0000000000..66ada643a3 --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E0078274.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0078274 +/* 37A664 E0078274 03E00008 */ jr $ra +/* 37A668 E0078278 00000000 */ nop diff --git a/asm/nonmatchings/code_37A3F0/func_E007827C.s b/asm/nonmatchings/code_37A3F0/func_E007827C.s new file mode 100644 index 0000000000..5fc16a0b8e --- /dev/null +++ b/asm/nonmatchings/code_37A3F0/func_E007827C.s @@ -0,0 +1,434 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007827C +/* 37A66C E007827C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 37A670 E0078280 0080302D */ daddu $a2, $a0, $zero +/* 37A674 E0078284 AFBF005C */ sw $ra, 0x5c($sp) +/* 37A678 E0078288 AFBE0058 */ sw $fp, 0x58($sp) +/* 37A67C E007828C AFB70054 */ sw $s7, 0x54($sp) +/* 37A680 E0078290 AFB60050 */ sw $s6, 0x50($sp) +/* 37A684 E0078294 AFB5004C */ sw $s5, 0x4c($sp) +/* 37A688 E0078298 AFB40048 */ sw $s4, 0x48($sp) +/* 37A68C E007829C AFB30044 */ sw $s3, 0x44($sp) +/* 37A690 E00782A0 AFB20040 */ sw $s2, 0x40($sp) +/* 37A694 E00782A4 AFB1003C */ sw $s1, 0x3c($sp) +/* 37A698 E00782A8 AFB00038 */ sw $s0, 0x38($sp) +/* 37A69C E00782AC 8CD0000C */ lw $s0, 0xc($a2) +/* 37A6A0 E00782B0 8E140010 */ lw $s4, 0x10($s0) +/* 37A6A4 E00782B4 8E120000 */ lw $s2, ($s0) +/* 37A6A8 E00782B8 2A820080 */ slti $v0, $s4, 0x80 +/* 37A6AC E00782BC 50400001 */ beql $v0, $zero, .LE00782C4 +/* 37A6B0 E00782C0 2414007F */ addiu $s4, $zero, 0x7f +.LE00782C4: +/* 37A6B4 E00782C4 3C05DB06 */ lui $a1, 0xdb06 +/* 37A6B8 E00782C8 3C15800A */ lui $s5, 0x800a +/* 37A6BC E00782CC 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 37A6C0 E00782D0 34A50024 */ ori $a1, $a1, 0x24 +/* 37A6C4 E00782D4 8EA40000 */ lw $a0, ($s5) +/* 37A6C8 E00782D8 3C02E700 */ lui $v0, 0xe700 +/* 37A6CC E00782DC 0080182D */ daddu $v1, $a0, $zero +/* 37A6D0 E00782E0 24840008 */ addiu $a0, $a0, 8 +/* 37A6D4 E00782E4 AC620000 */ sw $v0, ($v1) +/* 37A6D8 E00782E8 AC600004 */ sw $zero, 4($v1) +/* 37A6DC E00782EC AC850000 */ sw $a1, ($a0) +/* 37A6E0 E00782F0 8CC20010 */ lw $v0, 0x10($a2) +/* 37A6E4 E00782F4 AEA40000 */ sw $a0, ($s5) +/* 37A6E8 E00782F8 8C42001C */ lw $v0, 0x1c($v0) +/* 37A6EC E00782FC 3C038000 */ lui $v1, 0x8000 +/* 37A6F0 E0078300 00431021 */ addu $v0, $v0, $v1 +/* 37A6F4 E0078304 3C03E008 */ lui $v1, 0xe008 +/* 37A6F8 E0078308 24638918 */ addiu $v1, $v1, -0x76e8 +/* 37A6FC E007830C AC820004 */ sw $v0, 4($a0) +/* 37A700 E0078310 00121040 */ sll $v0, $s2, 1 +/* 37A704 E0078314 00521021 */ addu $v0, $v0, $s2 +/* 37A708 E0078318 000210C0 */ sll $v0, $v0, 3 +/* 37A70C E007831C 00438821 */ addu $s1, $v0, $v1 +/* 37A710 E0078320 8E360010 */ lw $s6, 0x10($s1) +/* 37A714 E0078324 8E330014 */ lw $s3, 0x14($s1) +/* 37A718 E0078328 27A20018 */ addiu $v0, $sp, 0x18 +/* 37A71C E007832C AFA20010 */ sw $v0, 0x10($sp) +/* 37A720 E0078330 27A2001C */ addiu $v0, $sp, 0x1c +/* 37A724 E0078334 AFA20014 */ sw $v0, 0x14($sp) +/* 37A728 E0078338 C60C0004 */ lwc1 $f12, 4($s0) +/* 37A72C E007833C C60E0008 */ lwc1 $f14, 8($s0) +/* 37A730 E0078340 8E06000C */ lw $a2, 0xc($s0) +/* 37A734 E0078344 8E07001C */ lw $a3, 0x1c($s0) +/* 37A738 E0078348 24840008 */ addiu $a0, $a0, 8 +/* 37A73C E007834C 0C08015C */ jal func_E0200570 +/* 37A740 E0078350 AEA40000 */ sw $a0, ($s5) +/* 37A744 E0078354 0040182D */ daddu $v1, $v0, $zero +/* 37A748 E0078358 24020005 */ addiu $v0, $zero, 5 +/* 37A74C E007835C 52420001 */ beql $s2, $v0, .LE0078364 +/* 37A750 E0078360 24030001 */ addiu $v1, $zero, 1 +.LE0078364: +/* 37A754 E0078364 10600157 */ beqz $v1, .LE00788C4 +/* 37A758 E0078368 00000000 */ nop +/* 37A75C E007836C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 37A760 E0078370 44800000 */ mtc1 $zero, $f0 +/* 37A764 E0078374 00000000 */ nop +/* 37A768 E0078378 4600103C */ c.lt.s $f2, $f0 +/* 37A76C E007837C 00000000 */ nop +/* 37A770 E0078380 45010150 */ bc1t .LE00788C4 +/* 37A774 E0078384 00000000 */ nop +/* 37A778 E0078388 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 37A77C E007838C 4600203C */ c.lt.s $f4, $f0 +/* 37A780 E0078390 00000000 */ nop +/* 37A784 E0078394 4501014B */ bc1t .LE00788C4 +/* 37A788 E0078398 00000000 */ nop +/* 37A78C E007839C 3C0143A0 */ lui $at, 0x43a0 +/* 37A790 E00783A0 44810000 */ mtc1 $at, $f0 +/* 37A794 E00783A4 00000000 */ nop +/* 37A798 E00783A8 4602003E */ c.le.s $f0, $f2 +/* 37A79C E00783AC 00000000 */ nop +/* 37A7A0 E00783B0 45010144 */ bc1t .LE00788C4 +/* 37A7A4 E00783B4 00000000 */ nop +/* 37A7A8 E00783B8 3C014370 */ lui $at, 0x4370 +/* 37A7AC E00783BC 44810000 */ mtc1 $at, $f0 +/* 37A7B0 E00783C0 00000000 */ nop +/* 37A7B4 E00783C4 4604003E */ c.le.s $f0, $f4 +/* 37A7B8 E00783C8 00000000 */ nop +/* 37A7BC E00783CC 4501013D */ bc1t .LE00788C4 +/* 37A7C0 E00783D0 3C02DE00 */ lui $v0, 0xde00 +/* 37A7C4 E00783D4 8EA70000 */ lw $a3, ($s5) +/* 37A7C8 E00783D8 00E0182D */ daddu $v1, $a3, $zero +/* 37A7CC E00783DC AC620000 */ sw $v0, ($v1) +/* 37A7D0 E00783E0 00121080 */ sll $v0, $s2, 2 +/* 37A7D4 E00783E4 3C01E008 */ lui $at, 0xe008 +/* 37A7D8 E00783E8 00220821 */ addu $at, $at, $v0 +/* 37A7DC E00783EC 8C228900 */ lw $v0, -0x7700($at) +/* 37A7E0 E00783F0 24E70008 */ addiu $a3, $a3, 8 +/* 37A7E4 E00783F4 AEA70000 */ sw $a3, ($s5) +/* 37A7E8 E00783F8 AC620004 */ sw $v0, 4($v1) +/* 37A7EC E00783FC 8E030020 */ lw $v1, 0x20($s0) +/* 37A7F0 E0078400 3C04E008 */ lui $a0, 0xe008 +/* 37A7F4 E0078404 248489AC */ addiu $a0, $a0, -0x7654 +/* 37A7F8 E0078408 00031040 */ sll $v0, $v1, 1 +/* 37A7FC E007840C 00431021 */ addu $v0, $v0, $v1 +/* 37A800 E0078410 00441021 */ addu $v0, $v0, $a0 +/* 37A804 E0078414 90430000 */ lbu $v1, ($v0) +/* 37A808 E0078418 00144040 */ sll $t0, $s4, 1 +/* 37A80C E007841C 00680018 */ mult $v1, $t0 +/* 37A810 E0078420 00001812 */ mflo $v1 +/* 37A814 E0078424 3C098080 */ lui $t1, 0x8080 +/* 37A818 E0078428 35298081 */ ori $t1, $t1, 0x8081 +/* 37A81C E007842C 00690018 */ mult $v1, $t1 +/* 37A820 E0078430 44960000 */ mtc1 $s6, $f0 +/* 37A824 E0078434 00000000 */ nop +/* 37A828 E0078438 46800020 */ cvt.s.w $f0, $f0 +/* 37A82C E007843C 46001081 */ sub.s $f2, $f2, $f0 +/* 37A830 E0078440 46002001 */ sub.s $f0, $f4, $f0 +/* 37A834 E0078444 4600118D */ trunc.w.s $f6, $f2 +/* 37A838 E0078448 E7A60020 */ swc1 $f6, 0x20($sp) +/* 37A83C E007844C 00007010 */ mfhi $t6 +/* 37A840 E0078450 90460001 */ lbu $a2, 1($v0) +/* 37A844 E0078454 00000000 */ nop +/* 37A848 E0078458 00C80018 */ mult $a2, $t0 +/* 37A84C E007845C 00162040 */ sll $a0, $s6, 1 +/* 37A850 E0078460 90450002 */ lbu $a1, 2($v0) +/* 37A854 E0078464 24E20008 */ addiu $v0, $a3, 8 +/* 37A858 E0078468 8FB70020 */ lw $s7, 0x20($sp) +/* 37A85C E007846C 00003012 */ mflo $a2 +/* 37A860 E0078470 AEA20000 */ sw $v0, ($s5) +/* 37A864 E0078474 3C02FA00 */ lui $v0, 0xfa00 +/* 37A868 E0078478 00C90018 */ mult $a2, $t1 +/* 37A86C E007847C ACE20000 */ sw $v0, ($a3) +/* 37A870 E0078480 02E47821 */ addu $t7, $s7, $a0 +/* 37A874 E0078484 4600018D */ trunc.w.s $f6, $f0 +/* 37A878 E0078488 440A3000 */ mfc1 $t2, $f6 +/* 37A87C E007848C 00000000 */ nop +/* 37A880 E0078490 01446021 */ addu $t4, $t2, $a0 +/* 37A884 E0078494 00005810 */ mfhi $t3 +/* 37A888 E0078498 01C32021 */ addu $a0, $t6, $v1 +/* 37A88C E007849C 000421C3 */ sra $a0, $a0, 7 +/* 37A890 E00784A0 00A80018 */ mult $a1, $t0 +/* 37A894 E00784A4 00031FC3 */ sra $v1, $v1, 0x1f +/* 37A898 E00784A8 00832023 */ subu $a0, $a0, $v1 +/* 37A89C E00784AC 00042600 */ sll $a0, $a0, 0x18 +/* 37A8A0 E00784B0 01661821 */ addu $v1, $t3, $a2 +/* 37A8A4 E00784B4 00002812 */ mflo $a1 +/* 37A8A8 E00784B8 000319C3 */ sra $v1, $v1, 7 +/* 37A8AC E00784BC 000637C3 */ sra $a2, $a2, 0x1f +/* 37A8B0 E00784C0 00A90018 */ mult $a1, $t1 +/* 37A8B4 E00784C4 00661823 */ subu $v1, $v1, $a2 +/* 37A8B8 E00784C8 306300FF */ andi $v1, $v1, 0xff +/* 37A8BC E00784CC 00031C00 */ sll $v1, $v1, 0x10 +/* 37A8C0 E00784D0 00832025 */ or $a0, $a0, $v1 +/* 37A8C4 E00784D4 00004010 */ mfhi $t0 +/* 37A8C8 E00784D8 01051021 */ addu $v0, $t0, $a1 +/* 37A8CC E00784DC 000211C3 */ sra $v0, $v0, 7 +/* 37A8D0 E00784E0 00052FC3 */ sra $a1, $a1, 0x1f +/* 37A8D4 E00784E4 00451023 */ subu $v0, $v0, $a1 +/* 37A8D8 E00784E8 304200FF */ andi $v0, $v0, 0xff +/* 37A8DC E00784EC 00021200 */ sll $v0, $v0, 8 +/* 37A8E0 E00784F0 00822025 */ or $a0, $a0, $v0 +/* 37A8E4 E00784F4 3484007F */ ori $a0, $a0, 0x7f +/* 37A8E8 E00784F8 ACE40004 */ sw $a0, 4($a3) +/* 37A8EC E00784FC 8FB70020 */ lw $s7, 0x20($sp) +/* 37A8F0 E0078500 06E10002 */ bgez $s7, .LE007850C +/* 37A8F4 E0078504 0000682D */ daddu $t5, $zero, $zero +/* 37A8F8 E0078508 00176823 */ negu $t5, $s7 +.LE007850C: +/* 37A8FC E007850C 05410002 */ bgez $t2, .LE0078518 +/* 37A900 E0078510 0000182D */ daddu $v1, $zero, $zero +/* 37A904 E0078514 000A1823 */ negu $v1, $t2 +.LE0078518: +/* 37A908 E0078518 29E20141 */ slti $v0, $t7, 0x141 +/* 37A90C E007851C 50400001 */ beql $v0, $zero, .LE0078524 +/* 37A910 E0078520 240F013F */ addiu $t7, $zero, 0x13f +.LE0078524: +/* 37A914 E0078524 298200F1 */ slti $v0, $t4, 0xf1 +/* 37A918 E0078528 50400001 */ beql $v0, $zero, .LE0078530 +/* 37A91C E007852C 240C00EF */ addiu $t4, $zero, 0xef +.LE0078530: +/* 37A920 E0078530 16600002 */ bnez $s3, .LE007853C +/* 37A924 E0078534 0073001A */ div $zero, $v1, $s3 +/* 37A928 E0078538 0007000D */ break 7 +.LE007853C: +/* 37A92C E007853C 2401FFFF */ addiu $at, $zero, -1 +/* 37A930 E0078540 16610004 */ bne $s3, $at, .LE0078554 +/* 37A934 E0078544 3C018000 */ lui $at, 0x8000 +/* 37A938 E0078548 14610002 */ bne $v1, $at, .LE0078554 +/* 37A93C E007854C 00000000 */ nop +/* 37A940 E0078550 0006000D */ break 6 +.LE0078554: +/* 37A944 E0078554 00005812 */ mflo $t3 +/* 37A948 E0078558 018A1023 */ subu $v0, $t4, $t2 +/* 37A94C E007855C 16600002 */ bnez $s3, .LE0078568 +/* 37A950 E0078560 0053001A */ div $zero, $v0, $s3 +/* 37A954 E0078564 0007000D */ break 7 +.LE0078568: +/* 37A958 E0078568 2401FFFF */ addiu $at, $zero, -1 +/* 37A95C E007856C 16610004 */ bne $s3, $at, .LE0078580 +/* 37A960 E0078570 3C018000 */ lui $at, 0x8000 +/* 37A964 E0078574 14410002 */ bne $v0, $at, .LE0078580 +/* 37A968 E0078578 00000000 */ nop +/* 37A96C E007857C 0006000D */ break 6 +.LE0078580: +/* 37A970 E0078580 0000B812 */ mflo $s7 +/* 37A974 E0078584 0177102A */ slt $v0, $t3, $s7 +/* 37A978 E0078588 104000CE */ beqz $v0, .LE00788C4 +/* 37A97C E007858C AFB70024 */ sw $s7, 0x24($sp) +/* 37A980 E0078590 02A0482D */ daddu $t1, $s5, $zero +/* 37A984 E0078594 8FB70020 */ lw $s7, 0x20($sp) +/* 37A988 E0078598 01730018 */ mult $t3, $s3 +/* 37A98C E007859C 02EDB021 */ addu $s6, $s7, $t5 +/* 37A990 E00785A0 01F61023 */ subu $v0, $t7, $s6 +/* 37A994 E00785A4 00021040 */ sll $v0, $v0, 1 +/* 37A998 E00785A8 AFA20028 */ sw $v0, 0x28($sp) +/* 37A99C E00785AC 0000B812 */ mflo $s7 +/* 37A9A0 E00785B0 02EA5021 */ addu $t2, $s7, $t2 +.LE00785B4: +/* 37A9A4 E00785B4 01531021 */ addu $v0, $t2, $s3 +/* 37A9A8 E00785B8 284200F0 */ slti $v0, $v0, 0xf0 +/* 37A9AC E00785BC 104000C1 */ beqz $v0, .LE00788C4 +/* 37A9B0 E00785C0 3C03F510 */ lui $v1, 0xf510 +/* 37A9B4 E00785C4 000A3080 */ sll $a2, $t2, 2 +/* 37A9B8 E00785C8 00CA1021 */ addu $v0, $a2, $t2 +/* 37A9BC E00785CC 0002F1C0 */ sll $fp, $v0, 7 +/* 37A9C0 E00785D0 34630100 */ ori $v1, $v1, 0x100 +/* 37A9C4 E00785D4 8FB70028 */ lw $s7, 0x28($sp) +/* 37A9C8 E00785D8 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 37A9CC E00785DC 46802120 */ cvt.s.w $f4, $f4 +/* 37A9D0 E00785E0 26E20007 */ addiu $v0, $s7, 7 +/* 37A9D4 E00785E4 000210C3 */ sra $v0, $v0, 3 +/* 37A9D8 E00785E8 304201FF */ andi $v0, $v0, 0x1ff +/* 37A9DC E00785EC 00021240 */ sll $v0, $v0, 9 +/* 37A9E0 E00785F0 00437025 */ or $t6, $v0, $v1 +/* 37A9E4 E00785F4 00161080 */ sll $v0, $s6, 2 +/* 37A9E8 E00785F8 30420FFF */ andi $v0, $v0, 0xfff +/* 37A9EC E00785FC 00026B00 */ sll $t5, $v0, 0xc +/* 37A9F0 E0078600 3C02F400 */ lui $v0, 0xf400 +/* 37A9F4 E0078604 01A21025 */ or $v0, $t5, $v0 +/* 37A9F8 E0078608 AFA20030 */ sw $v0, 0x30($sp) +/* 37A9FC E007860C 25E2FFFF */ addiu $v0, $t7, -1 +/* 37AA00 E0078610 00021080 */ sll $v0, $v0, 2 +/* 37AA04 E0078614 30420FFF */ andi $v0, $v0, 0xfff +/* 37AA08 E0078618 00029300 */ sll $s2, $v0, 0xc +/* 37AA0C E007861C 2662FFFF */ addiu $v0, $s3, -1 +/* 37AA10 E0078620 00021080 */ sll $v0, $v0, 2 +/* 37AA14 E0078624 30500FFF */ andi $s0, $v0, 0xfff +/* 37AA18 E0078628 3C020700 */ lui $v0, 0x700 +/* 37AA1C E007862C C6200008 */ lwc1 $f0, 8($s1) +/* 37AA20 E0078630 02021025 */ or $v0, $s0, $v0 +/* 37AA24 E0078634 46002002 */ mul.s $f0, $f4, $f0 +/* 37AA28 E0078638 00000000 */ nop +/* 37AA2C E007863C 0242C825 */ or $t9, $s2, $v0 +/* 37AA30 E0078640 8E220014 */ lw $v0, 0x14($s1) +/* 37AA34 E0078644 8D250000 */ lw $a1, ($t1) +/* 37AA38 E0078648 8E240004 */ lw $a0, 4($s1) +/* 37AA3C E007864C 01620018 */ mult $t3, $v0 +/* 37AA40 E0078650 00A0382D */ daddu $a3, $a1, $zero +/* 37AA44 E0078654 00041080 */ sll $v0, $a0, 2 +/* 37AA48 E0078658 00441021 */ addu $v0, $v0, $a0 +/* 37AA4C E007865C 4600018D */ trunc.w.s $f6, $f0 +/* 37AA50 E0078660 44033000 */ mfc1 $v1, $f6 +/* 37AA54 E0078664 0000B812 */ mflo $s7 +/* 37AA58 E0078668 C620000C */ lwc1 $f0, 0xc($s1) +/* 37AA5C E007866C 44971000 */ mtc1 $s7, $f2 +/* 37AA60 E0078670 00000000 */ nop +/* 37AA64 E0078674 468010A0 */ cvt.s.w $f2, $f2 +/* 37AA68 E0078678 46001082 */ mul.s $f2, $f2, $f0 +/* 37AA6C E007867C 00000000 */ nop +/* 37AA70 E0078680 00021080 */ sll $v0, $v0, 2 +/* 37AA74 E0078684 24A50008 */ addiu $a1, $a1, 8 +/* 37AA78 E0078688 00031880 */ sll $v1, $v1, 2 +/* 37AA7C E007868C 44820000 */ mtc1 $v0, $f0 +/* 37AA80 E0078690 00000000 */ nop +/* 37AA84 E0078694 46800020 */ cvt.s.w $f0, $f0 +/* 37AA88 E0078698 46020001 */ sub.s $f0, $f0, $f2 +/* 37AA8C E007869C 30630FFF */ andi $v1, $v1, 0xfff +/* 37AA90 E00786A0 00031B00 */ sll $v1, $v1, 0xc +/* 37AA94 E00786A4 4600018D */ trunc.w.s $f6, $f0 +/* 37AA98 E00786A8 44023000 */ mfc1 $v0, $f6 +/* 37AA9C E00786AC 00000000 */ nop +/* 37AAA0 E00786B0 00021080 */ sll $v0, $v0, 2 +/* 37AAA4 E00786B4 30420FFF */ andi $v0, $v0, 0xfff +/* 37AAA8 E00786B8 3C17F200 */ lui $s7, 0xf200 +/* 37AAAC E00786BC 00571025 */ or $v0, $v0, $s7 +/* 37AAB0 E00786C0 00621825 */ or $v1, $v1, $v0 +/* 37AAB4 E00786C4 32C201FF */ andi $v0, $s6, 0x1ff +/* 37AAB8 E00786C8 ACE30000 */ sw $v1, ($a3) +/* 37AABC E00786CC C6200008 */ lwc1 $f0, 8($s1) +/* 37AAC0 E00786D0 0002A540 */ sll $s4, $v0, 0x15 +/* 37AAC4 E00786D4 46002102 */ mul.s $f4, $f4, $f0 +/* 37AAC8 E00786D8 00000000 */ nop +/* 37AACC E00786DC C6200000 */ lwc1 $f0, ($s1) +/* 37AAD0 E00786E0 46800020 */ cvt.s.w $f0, $f0 +/* 37AAD4 E00786E4 AD250000 */ sw $a1, ($t1) +/* 37AAD8 E00786E8 8E220014 */ lw $v0, 0x14($s1) +/* 37AADC E00786EC 0000602D */ daddu $t4, $zero, $zero +/* 37AAE0 E00786F0 01620018 */ mult $t3, $v0 +/* 37AAE4 E00786F4 3C15E700 */ lui $s5, 0xe700 +/* 37AAE8 E00786F8 30C60FFF */ andi $a2, $a2, 0xfff +/* 37AAEC E00786FC 01A6C025 */ or $t8, $t5, $a2 +/* 37AAF0 E0078700 8E240004 */ lw $a0, 4($s1) +/* 37AAF4 E0078704 46002100 */ add.s $f4, $f4, $f0 +/* 37AAF8 E0078708 00041080 */ sll $v0, $a0, 2 +/* 37AAFC E007870C 00441021 */ addu $v0, $v0, $a0 +/* 37AB00 E0078710 4600218D */ trunc.w.s $f6, $f4 +/* 37AB04 E0078714 44033000 */ mfc1 $v1, $f6 +/* 37AB08 E0078718 0000B812 */ mflo $s7 +/* 37AB0C E007871C C620000C */ lwc1 $f0, 0xc($s1) +/* 37AB10 E0078720 44971000 */ mtc1 $s7, $f2 +/* 37AB14 E0078724 00000000 */ nop +/* 37AB18 E0078728 468010A0 */ cvt.s.w $f2, $f2 +/* 37AB1C E007872C 46001082 */ mul.s $f2, $f2, $f0 +/* 37AB20 E0078730 00000000 */ nop +/* 37AB24 E0078734 00021080 */ sll $v0, $v0, 2 +/* 37AB28 E0078738 00441021 */ addu $v0, $v0, $a0 +/* 37AB2C E007873C 00031880 */ sll $v1, $v1, 2 +/* 37AB30 E0078740 44820000 */ mtc1 $v0, $f0 +/* 37AB34 E0078744 00000000 */ nop +/* 37AB38 E0078748 46800020 */ cvt.s.w $f0, $f0 +/* 37AB3C E007874C 46020001 */ sub.s $f0, $f0, $f2 +/* 37AB40 E0078750 30630FFF */ andi $v1, $v1, 0xfff +/* 37AB44 E0078754 00031B00 */ sll $v1, $v1, 0xc +/* 37AB48 E0078758 4600018D */ trunc.w.s $f6, $f0 +/* 37AB4C E007875C 44023000 */ mfc1 $v0, $f6 +/* 37AB50 E0078760 00000000 */ nop +/* 37AB54 E0078764 00021080 */ sll $v0, $v0, 2 +/* 37AB58 E0078768 30420FFF */ andi $v0, $v0, 0xfff +/* 37AB5C E007876C 00621825 */ or $v1, $v1, $v0 +/* 37AB60 E0078770 ACE30004 */ sw $v1, 4($a3) +.LE0078774: +/* 37AB64 E0078774 3C02FD10 */ lui $v0, 0xfd10 +/* 37AB68 E0078778 3442013F */ ori $v0, $v0, 0x13f +/* 37AB6C E007877C 3C060702 */ lui $a2, 0x702 +/* 37AB70 E0078780 34C60090 */ ori $a2, $a2, 0x90 +/* 37AB74 E0078784 3C070102 */ lui $a3, 0x102 +/* 37AB78 E0078788 34E70090 */ ori $a3, $a3, 0x90 +/* 37AB7C E007878C 3C080400 */ lui $t0, 0x400 +/* 37AB80 E0078790 35080400 */ ori $t0, $t0, 0x400 +/* 37AB84 E0078794 258C0001 */ addiu $t4, $t4, 1 +/* 37AB88 E0078798 8D250000 */ lw $a1, ($t1) +/* 37AB8C E007879C 3C03800A */ lui $v1, 0x800a +/* 37AB90 E00787A0 8C63A64C */ lw $v1, -0x59b4($v1) +/* 37AB94 E00787A4 00A0202D */ daddu $a0, $a1, $zero +/* 37AB98 E00787A8 24A50008 */ addiu $a1, $a1, 8 +/* 37AB9C E00787AC 007E1821 */ addu $v1, $v1, $fp +/* 37ABA0 E00787B0 AD250000 */ sw $a1, ($t1) +/* 37ABA4 E00787B4 AC820000 */ sw $v0, ($a0) +/* 37ABA8 E00787B8 3C028000 */ lui $v0, 0x8000 +/* 37ABAC E00787BC 00621821 */ addu $v1, $v1, $v0 +/* 37ABB0 E00787C0 24A20008 */ addiu $v0, $a1, 8 +/* 37ABB4 E00787C4 AC830004 */ sw $v1, 4($a0) +/* 37ABB8 E00787C8 AD220000 */ sw $v0, ($t1) +/* 37ABBC E00787CC 24A20010 */ addiu $v0, $a1, 0x10 +/* 37ABC0 E00787D0 ACAE0000 */ sw $t6, ($a1) +/* 37ABC4 E00787D4 ACA60004 */ sw $a2, 4($a1) +/* 37ABC8 E00787D8 AD220000 */ sw $v0, ($t1) +/* 37ABCC E00787DC 3C02E600 */ lui $v0, 0xe600 +/* 37ABD0 E00787E0 ACA20008 */ sw $v0, 8($a1) +/* 37ABD4 E00787E4 24A20018 */ addiu $v0, $a1, 0x18 +/* 37ABD8 E00787E8 ACA0000C */ sw $zero, 0xc($a1) +/* 37ABDC E00787EC AD220000 */ sw $v0, ($t1) +/* 37ABE0 E00787F0 24A20020 */ addiu $v0, $a1, 0x20 +/* 37ABE4 E00787F4 000F2080 */ sll $a0, $t7, 2 +/* 37ABE8 E00787F8 30840FFF */ andi $a0, $a0, 0xfff +/* 37ABEC E00787FC 00042300 */ sll $a0, $a0, 0xc +/* 37ABF0 E0078800 01533021 */ addu $a2, $t2, $s3 +/* 37ABF4 E0078804 8FB70030 */ lw $s7, 0x30($sp) +/* 37ABF8 E0078808 3C03E400 */ lui $v1, 0xe400 +/* 37ABFC E007880C ACB90014 */ sw $t9, 0x14($a1) +/* 37AC00 E0078810 ACB70010 */ sw $s7, 0x10($a1) +/* 37AC04 E0078814 AD220000 */ sw $v0, ($t1) +/* 37AC08 E0078818 24A20028 */ addiu $v0, $a1, 0x28 +/* 37AC0C E007881C ACB50018 */ sw $s5, 0x18($a1) +/* 37AC10 E0078820 ACA0001C */ sw $zero, 0x1c($a1) +/* 37AC14 E0078824 AD220000 */ sw $v0, ($t1) +/* 37AC18 E0078828 24A20030 */ addiu $v0, $a1, 0x30 +/* 37AC1C E007882C 3C17F200 */ lui $s7, 0xf200 +/* 37AC20 E0078830 ACAE0020 */ sw $t6, 0x20($a1) +/* 37AC24 E0078834 ACA70024 */ sw $a3, 0x24($a1) +/* 37AC28 E0078838 AD220000 */ sw $v0, ($t1) +/* 37AC2C E007883C 01B71025 */ or $v0, $t5, $s7 +/* 37AC30 E0078840 ACA20028 */ sw $v0, 0x28($a1) +/* 37AC34 E0078844 3C020100 */ lui $v0, 0x100 +/* 37AC38 E0078848 02021025 */ or $v0, $s0, $v0 +/* 37AC3C E007884C 02421025 */ or $v0, $s2, $v0 +/* 37AC40 E0078850 ACA2002C */ sw $v0, 0x2c($a1) +/* 37AC44 E0078854 24A20038 */ addiu $v0, $a1, 0x38 +/* 37AC48 E0078858 AD220000 */ sw $v0, ($t1) +/* 37AC4C E007885C 00061080 */ sll $v0, $a2, 2 +/* 37AC50 E0078860 30420FFF */ andi $v0, $v0, 0xfff +/* 37AC54 E0078864 00431025 */ or $v0, $v0, $v1 +/* 37AC58 E0078868 00822025 */ or $a0, $a0, $v0 +/* 37AC5C E007886C 24A20040 */ addiu $v0, $a1, 0x40 +/* 37AC60 E0078870 ACA40030 */ sw $a0, 0x30($a1) +/* 37AC64 E0078874 ACB80034 */ sw $t8, 0x34($a1) +/* 37AC68 E0078878 AD220000 */ sw $v0, ($t1) +/* 37AC6C E007887C 3C02E100 */ lui $v0, 0xe100 +/* 37AC70 E0078880 ACA20038 */ sw $v0, 0x38($a1) +/* 37AC74 E0078884 24A20048 */ addiu $v0, $a1, 0x48 +/* 37AC78 E0078888 ACB4003C */ sw $s4, 0x3c($a1) +/* 37AC7C E007888C AD220000 */ sw $v0, ($t1) +/* 37AC80 E0078890 3C02F100 */ lui $v0, 0xf100 +/* 37AC84 E0078894 ACA20040 */ sw $v0, 0x40($a1) +/* 37AC88 E0078898 24A20050 */ addiu $v0, $a1, 0x50 +/* 37AC8C E007889C ACA80044 */ sw $t0, 0x44($a1) +/* 37AC90 E00788A0 AD220000 */ sw $v0, ($t1) +/* 37AC94 E00788A4 ACB50048 */ sw $s5, 0x48($a1) +/* 37AC98 E00788A8 1980FFB2 */ blez $t4, .LE0078774 +/* 37AC9C E00788AC ACA0004C */ sw $zero, 0x4c($a1) +/* 37ACA0 E00788B0 8FB70024 */ lw $s7, 0x24($sp) +/* 37ACA4 E00788B4 256B0001 */ addiu $t3, $t3, 1 +/* 37ACA8 E00788B8 0177102A */ slt $v0, $t3, $s7 +/* 37ACAC E00788BC 1440FF3D */ bnez $v0, .LE00785B4 +/* 37ACB0 E00788C0 00C0502D */ daddu $t2, $a2, $zero +.LE00788C4: +/* 37ACB4 E00788C4 8FBF005C */ lw $ra, 0x5c($sp) +/* 37ACB8 E00788C8 8FBE0058 */ lw $fp, 0x58($sp) +/* 37ACBC E00788CC 8FB70054 */ lw $s7, 0x54($sp) +/* 37ACC0 E00788D0 8FB60050 */ lw $s6, 0x50($sp) +/* 37ACC4 E00788D4 8FB5004C */ lw $s5, 0x4c($sp) +/* 37ACC8 E00788D8 8FB40048 */ lw $s4, 0x48($sp) +/* 37ACCC E00788DC 8FB30044 */ lw $s3, 0x44($sp) +/* 37ACD0 E00788E0 8FB20040 */ lw $s2, 0x40($sp) +/* 37ACD4 E00788E4 8FB1003C */ lw $s1, 0x3c($sp) +/* 37ACD8 E00788E8 8FB00038 */ lw $s0, 0x38($sp) +/* 37ACDC E00788EC 03E00008 */ jr $ra +/* 37ACE0 E00788F0 27BD0060 */ addiu $sp, $sp, 0x60 +/* 37ACE4 E00788F4 00000000 */ nop +/* 37ACE8 E00788F8 00000000 */ nop +/* 37ACEC E00788FC 00000000 */ nop diff --git a/asm/nonmatchings/code_37F720/func_E007E000.s b/asm/nonmatchings/code_37F720/func_E007E000.s new file mode 100644 index 0000000000..8bed1fba70 --- /dev/null +++ b/asm/nonmatchings/code_37F720/func_E007E000.s @@ -0,0 +1,135 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007E000 +/* 37F720 E007E000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 37F724 E007E004 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 37F728 E007E008 4485A000 */ mtc1 $a1, $f20 +/* 37F72C E007E00C AFB00028 */ sw $s0, 0x28($sp) +/* 37F730 E007E010 0080802D */ daddu $s0, $a0, $zero +/* 37F734 E007E014 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 37F738 E007E018 4486B000 */ mtc1 $a2, $f22 +/* 37F73C E007E01C 27A40010 */ addiu $a0, $sp, 0x10 +/* 37F740 E007E020 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 37F744 E007E024 4487C000 */ mtc1 $a3, $f24 +/* 37F748 E007E028 3C02E008 */ lui $v0, 0xe008 +/* 37F74C E007E02C 2442E1FC */ addiu $v0, $v0, -0x1e04 +/* 37F750 E007E030 AFA20018 */ sw $v0, 0x18($sp) +/* 37F754 E007E034 3C02E008 */ lui $v0, 0xe008 +/* 37F758 E007E038 2442E204 */ addiu $v0, $v0, -0x1dfc +/* 37F75C E007E03C AFA2001C */ sw $v0, 0x1c($sp) +/* 37F760 E007E040 3C02E008 */ lui $v0, 0xe008 +/* 37F764 E007E044 2442E508 */ addiu $v0, $v0, -0x1af8 +/* 37F768 E007E048 AFA20020 */ sw $v0, 0x20($sp) +/* 37F76C E007E04C 2402003F */ addiu $v0, $zero, 0x3f +/* 37F770 E007E050 AFBF0048 */ sw $ra, 0x48($sp) +/* 37F774 E007E054 AFB70044 */ sw $s7, 0x44($sp) +/* 37F778 E007E058 AFB60040 */ sw $s6, 0x40($sp) +/* 37F77C E007E05C AFB5003C */ sw $s5, 0x3c($sp) +/* 37F780 E007E060 AFB40038 */ sw $s4, 0x38($sp) +/* 37F784 E007E064 AFB30034 */ sw $s3, 0x34($sp) +/* 37F788 E007E068 AFB20030 */ sw $s2, 0x30($sp) +/* 37F78C E007E06C AFB1002C */ sw $s1, 0x2c($sp) +/* 37F790 E007E070 AFA00010 */ sw $zero, 0x10($sp) +/* 37F794 E007E074 AFA00024 */ sw $zero, 0x24($sp) +/* 37F798 E007E078 0C080124 */ jal func_E0200490 +/* 37F79C E007E07C AFA20014 */ sw $v0, 0x14($sp) +/* 37F7A0 E007E080 24040934 */ addiu $a0, $zero, 0x934 +/* 37F7A4 E007E084 2414001F */ addiu $s4, $zero, 0x1f +/* 37F7A8 E007E088 0040982D */ daddu $s3, $v0, $zero +/* 37F7AC E007E08C 0C08012C */ jal func_E02004B0 +/* 37F7B0 E007E090 AE740008 */ sw $s4, 8($s3) +/* 37F7B4 E007E094 0040882D */ daddu $s1, $v0, $zero +/* 37F7B8 E007E098 16200003 */ bnez $s1, .LE007E0A8 +/* 37F7BC E007E09C AE71000C */ sw $s1, 0xc($s3) +.LE007E0A0: +/* 37F7C0 E007E0A0 0801F828 */ j .LE007E0A0 +/* 37F7C4 E007E0A4 00000000 */ nop +.LE007E0A8: +/* 37F7C8 E007E0A8 AE200004 */ sw $zero, 4($s1) +/* 37F7CC E007E0AC AE300000 */ sw $s0, ($s1) +/* 37F7D0 E007E0B0 E6340008 */ swc1 $f20, 8($s1) +/* 37F7D4 E007E0B4 E636000C */ swc1 $f22, 0xc($s1) +/* 37F7D8 E007E0B8 E6380010 */ swc1 $f24, 0x10($s1) +/* 37F7DC E007E0BC 8FA20078 */ lw $v0, 0x78($sp) +/* 37F7E0 E007E0C0 3C013F00 */ lui $at, 0x3f00 +/* 37F7E4 E007E0C4 44810000 */ mtc1 $at, $f0 +/* 37F7E8 E007E0C8 3C01C120 */ lui $at, 0xc120 +/* 37F7EC E007E0CC 44811000 */ mtc1 $at, $f2 +/* 37F7F0 E007E0D0 24120001 */ addiu $s2, $zero, 1 +/* 37F7F4 E007E0D4 AE200044 */ sw $zero, 0x44($s1) +/* 37F7F8 E007E0D8 AE200034 */ sw $zero, 0x34($s1) +/* 37F7FC E007E0DC AE200038 */ sw $zero, 0x38($s1) +/* 37F800 E007E0E0 AE200028 */ sw $zero, 0x28($s1) +/* 37F804 E007E0E4 AE220040 */ sw $v0, 0x40($s1) +/* 37F808 E007E0E8 240200FF */ addiu $v0, $zero, 0xff +/* 37F80C E007E0EC AE22003C */ sw $v0, 0x3c($s1) +/* 37F810 E007E0F0 E6200030 */ swc1 $f0, 0x30($s1) +/* 37F814 E007E0F4 E622002C */ swc1 $f2, 0x2c($s1) +/* 37F818 E007E0F8 0254102A */ slt $v0, $s2, $s4 +/* 37F81C E007E0FC 10400030 */ beqz $v0, .LE007E1C0 +/* 37F820 E007E100 2631004C */ addiu $s1, $s1, 0x4c +/* 37F824 E007E104 0240B82D */ daddu $s7, $s2, $zero +/* 37F828 E007E108 241600FF */ addiu $s6, $zero, 0xff +/* 37F82C E007E10C 2415000A */ addiu $s5, $zero, 0xa +/* 37F830 E007E110 26300040 */ addiu $s0, $s1, 0x40 +/* 37F834 E007E114 3C014100 */ lui $at, 0x4100 +/* 37F838 E007E118 4481B000 */ mtc1 $at, $f22 +/* 37F83C E007E11C 3C01E008 */ lui $at, 0xe008 +/* 37F840 E007E120 D434EC40 */ ldc1 $f20, -0x13c0($at) +.LE007E124: +/* 37F844 E007E124 24040014 */ addiu $a0, $zero, 0x14 +/* 37F848 E007E128 AE370000 */ sw $s7, ($s1) +/* 37F84C E007E12C AE00FFC8 */ sw $zero, -0x38($s0) +/* 37F850 E007E130 AE00FFCC */ sw $zero, -0x34($s0) +/* 37F854 E007E134 AE00FFD0 */ sw $zero, -0x30($s0) +/* 37F858 E007E138 E616FFD4 */ swc1 $f22, -0x2c($s0) +/* 37F85C E007E13C 0C080000 */ jal func_E0200000 +/* 37F860 E007E140 AE00FFD8 */ sw $zero, -0x28($s0) +/* 37F864 E007E144 2404000A */ addiu $a0, $zero, 0xa +/* 37F868 E007E148 2442FFF8 */ addiu $v0, $v0, -8 +/* 37F86C E007E14C 44820000 */ mtc1 $v0, $f0 +/* 37F870 E007E150 00000000 */ nop +/* 37F874 E007E154 46800020 */ cvt.s.w $f0, $f0 +/* 37F878 E007E158 0C080000 */ jal func_E0200000 +/* 37F87C E007E15C E600FFDC */ swc1 $f0, -0x24($s0) +/* 37F880 E007E160 2442FFFB */ addiu $v0, $v0, -5 +/* 37F884 E007E164 44820000 */ mtc1 $v0, $f0 +/* 37F888 E007E168 00000000 */ nop +/* 37F88C E007E16C 46800021 */ cvt.d.w $f0, $f0 +/* 37F890 E007E170 46340002 */ mul.d $f0, $f0, $f20 +/* 37F894 E007E174 00000000 */ nop +/* 37F898 E007E178 24040050 */ addiu $a0, $zero, 0x50 +/* 37F89C E007E17C 2631004C */ addiu $s1, $s1, 0x4c +/* 37F8A0 E007E180 46200020 */ cvt.s.d $f0, $f0 +/* 37F8A4 E007E184 0C080000 */ jal func_E0200000 +/* 37F8A8 E007E188 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 37F8AC E007E18C 2643FFFF */ addiu $v1, $s2, -1 +/* 37F8B0 E007E190 26520001 */ addiu $s2, $s2, 1 +/* 37F8B4 E007E194 24420005 */ addiu $v0, $v0, 5 +/* 37F8B8 E007E198 44820000 */ mtc1 $v0, $f0 +/* 37F8BC E007E19C 00000000 */ nop +/* 37F8C0 E007E1A0 46800020 */ cvt.s.w $f0, $f0 +/* 37F8C4 E007E1A4 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 37F8C8 E007E1A8 AE16FFFC */ sw $s6, -4($s0) +/* 37F8CC E007E1AC AE030008 */ sw $v1, 8($s0) +/* 37F8D0 E007E1B0 AE150000 */ sw $s5, ($s0) +/* 37F8D4 E007E1B4 0254102A */ slt $v0, $s2, $s4 +/* 37F8D8 E007E1B8 1440FFDA */ bnez $v0, .LE007E124 +/* 37F8DC E007E1BC 2610004C */ addiu $s0, $s0, 0x4c +.LE007E1C0: +/* 37F8E0 E007E1C0 0260102D */ daddu $v0, $s3, $zero +/* 37F8E4 E007E1C4 8FBF0048 */ lw $ra, 0x48($sp) +/* 37F8E8 E007E1C8 8FB70044 */ lw $s7, 0x44($sp) +/* 37F8EC E007E1CC 8FB60040 */ lw $s6, 0x40($sp) +/* 37F8F0 E007E1D0 8FB5003C */ lw $s5, 0x3c($sp) +/* 37F8F4 E007E1D4 8FB40038 */ lw $s4, 0x38($sp) +/* 37F8F8 E007E1D8 8FB30034 */ lw $s3, 0x34($sp) +/* 37F8FC E007E1DC 8FB20030 */ lw $s2, 0x30($sp) +/* 37F900 E007E1E0 8FB1002C */ lw $s1, 0x2c($sp) +/* 37F904 E007E1E4 8FB00028 */ lw $s0, 0x28($sp) +/* 37F908 E007E1E8 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 37F90C E007E1EC D7B60058 */ ldc1 $f22, 0x58($sp) +/* 37F910 E007E1F0 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 37F914 E007E1F4 03E00008 */ jr $ra +/* 37F918 E007E1F8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_37F720/func_E007E1FC.s b/asm/nonmatchings/code_37F720/func_E007E1FC.s new file mode 100644 index 0000000000..fb01efbfc6 --- /dev/null +++ b/asm/nonmatchings/code_37F720/func_E007E1FC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007E1FC +/* 37F91C E007E1FC 03E00008 */ jr $ra +/* 37F920 E007E200 00000000 */ nop diff --git a/asm/nonmatchings/code_37F720/func_E007E204.s b/asm/nonmatchings/code_37F720/func_E007E204.s new file mode 100644 index 0000000000..e9b7ad82e5 --- /dev/null +++ b/asm/nonmatchings/code_37F720/func_E007E204.s @@ -0,0 +1,211 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007E204 +/* 37F924 E007E204 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 37F928 E007E208 AFB1001C */ sw $s1, 0x1c($sp) +/* 37F92C E007E20C 0080882D */ daddu $s1, $a0, $zero +/* 37F930 E007E210 AFBF0020 */ sw $ra, 0x20($sp) +/* 37F934 E007E214 AFB00018 */ sw $s0, 0x18($sp) +/* 37F938 E007E218 8E30000C */ lw $s0, 0xc($s1) +/* 37F93C E007E21C 8E050004 */ lw $a1, 4($s0) +/* 37F940 E007E220 8E020044 */ lw $v0, 0x44($s0) +/* 37F944 E007E224 8E030040 */ lw $v1, 0x40($s0) +/* 37F948 E007E228 24420001 */ addiu $v0, $v0, 1 +/* 37F94C E007E22C 24630001 */ addiu $v1, $v1, 1 +/* 37F950 E007E230 AE020044 */ sw $v0, 0x44($s0) +/* 37F954 E007E234 24020007 */ addiu $v0, $zero, 7 +/* 37F958 E007E238 14A20005 */ bne $a1, $v0, .LE007E250 +/* 37F95C E007E23C AE030040 */ sw $v1, 0x40($s0) +/* 37F960 E007E240 0C080128 */ jal func_E02004A0 +/* 37F964 E007E244 00000000 */ nop +/* 37F968 E007E248 0801F93D */ j .LE007E4F4 +/* 37F96C E007E24C 00000000 */ nop +.LE007E250: +/* 37F970 E007E250 2CA20007 */ sltiu $v0, $a1, 7 +/* 37F974 E007E254 10400075 */ beqz $v0, .LE007E42C +/* 37F978 E007E258 00051080 */ sll $v0, $a1, 2 +/* 37F97C E007E25C 3C01E008 */ lui $at, 0xe008 +/* 37F980 E007E260 00220821 */ addu $at, $at, $v0 +/* 37F984 E007E264 8C22EC48 */ lw $v0, -0x13b8($at) +/* 37F988 E007E268 00400008 */ jr $v0 +/* 37F98C E007E26C 00000000 */ nop +/* 37F990 E007E270 0C080150 */ jal func_E0200540 +/* 37F994 E007E274 2404002D */ addiu $a0, $zero, 0x2d +/* 37F998 E007E278 C6020008 */ lwc1 $f2, 8($s0) +/* 37F99C E007E27C 3C014120 */ lui $at, 0x4120 +/* 37F9A0 E007E280 44810000 */ mtc1 $at, $f0 +/* 37F9A4 E007E284 24020007 */ addiu $v0, $zero, 7 +/* 37F9A8 E007E288 AFA20010 */ sw $v0, 0x10($sp) +/* 37F9AC E007E28C 24020014 */ addiu $v0, $zero, 0x14 +/* 37F9B0 E007E290 AFA20014 */ sw $v0, 0x14($sp) +/* 37F9B4 E007E294 46001081 */ sub.s $f2, $f2, $f0 +/* 37F9B8 E007E298 8E06000C */ lw $a2, 0xc($s0) +/* 37F9BC E007E29C 8E070010 */ lw $a3, 0x10($s0) +/* 37F9C0 E007E2A0 44051000 */ mfc1 $a1, $f2 +/* 37F9C4 E007E2A4 0C016800 */ jal func_E005A000 +/* 37F9C8 E007E2A8 0000202D */ daddu $a0, $zero, $zero +/* 37F9CC E007E2AC 8E020004 */ lw $v0, 4($s0) +/* 37F9D0 E007E2B0 AE000034 */ sw $zero, 0x34($s0) +/* 37F9D4 E007E2B4 AE000038 */ sw $zero, 0x38($s0) +/* 37F9D8 E007E2B8 0801F909 */ j .LE007E424 +/* 37F9DC E007E2BC AE000040 */ sw $zero, 0x40($s0) +/* 37F9E0 E007E2C0 28620008 */ slti $v0, $v1, 8 +/* 37F9E4 E007E2C4 14400004 */ bnez $v0, .LE007E2D8 +/* 37F9E8 E007E2C8 00000000 */ nop +/* 37F9EC E007E2CC 8E020004 */ lw $v0, 4($s0) +/* 37F9F0 E007E2D0 0801F909 */ j .LE007E424 +/* 37F9F4 E007E2D4 AE000040 */ sw $zero, 0x40($s0) +.LE007E2D8: +/* 37F9F8 E007E2D8 3C02E008 */ lui $v0, 0xe008 +/* 37F9FC E007E2DC 00431021 */ addu $v0, $v0, $v1 +/* 37FA00 E007E2E0 8042EC2F */ lb $v0, -0x13d1($v0) +/* 37FA04 E007E2E4 3C01E008 */ lui $at, 0xe008 +/* 37FA08 E007E2E8 D422EC68 */ ldc1 $f2, -0x1398($at) +/* 37FA0C E007E2EC 44820000 */ mtc1 $v0, $f0 +/* 37FA10 E007E2F0 00000000 */ nop +/* 37FA14 E007E2F4 46800021 */ cvt.d.w $f0, $f0 +/* 37FA18 E007E2F8 46220002 */ mul.d $f0, $f0, $f2 +/* 37FA1C E007E2FC 00000000 */ nop +/* 37FA20 E007E300 AE000034 */ sw $zero, 0x34($s0) +/* 37FA24 E007E304 AE000038 */ sw $zero, 0x38($s0) +/* 37FA28 E007E308 46200020 */ cvt.s.d $f0, $f0 +/* 37FA2C E007E30C 0801F90B */ j .LE007E42C +/* 37FA30 E007E310 E6000030 */ swc1 $f0, 0x30($s0) +/* 37FA34 E007E314 28620002 */ slti $v0, $v1, 2 +/* 37FA38 E007E318 14400004 */ bnez $v0, .LE007E32C +/* 37FA3C E007E31C 24020001 */ addiu $v0, $zero, 1 +/* 37FA40 E007E320 8E020004 */ lw $v0, 4($s0) +/* 37FA44 E007E324 0801F909 */ j .LE007E424 +/* 37FA48 E007E328 AE000040 */ sw $zero, 0x40($s0) +.LE007E32C: +/* 37FA4C E007E32C 0801F90B */ j .LE007E42C +/* 37FA50 E007E330 AE020034 */ sw $v0, 0x34($s0) +/* 37FA54 E007E334 2862000F */ slti $v0, $v1, 0xf +/* 37FA58 E007E338 14400004 */ bnez $v0, .LE007E34C +/* 37FA5C E007E33C 24020002 */ addiu $v0, $zero, 2 +/* 37FA60 E007E340 8E020004 */ lw $v0, 4($s0) +/* 37FA64 E007E344 0801F909 */ j .LE007E424 +/* 37FA68 E007E348 AE000040 */ sw $zero, 0x40($s0) +.LE007E34C: +/* 37FA6C E007E34C 0801F90B */ j .LE007E42C +/* 37FA70 E007E350 AE020034 */ sw $v0, 0x34($s0) +/* 37FA74 E007E354 2862002D */ slti $v0, $v1, 0x2d +/* 37FA78 E007E358 14400004 */ bnez $v0, .LE007E36C +/* 37FA7C E007E35C 24020003 */ addiu $v0, $zero, 3 +/* 37FA80 E007E360 8E020004 */ lw $v0, 4($s0) +/* 37FA84 E007E364 0801F909 */ j .LE007E424 +/* 37FA88 E007E368 AE000040 */ sw $zero, 0x40($s0) +.LE007E36C: +/* 37FA8C E007E36C AE020034 */ sw $v0, 0x34($s0) +/* 37FA90 E007E370 30620001 */ andi $v0, $v1, 1 +/* 37FA94 E007E374 10400005 */ beqz $v0, .LE007E38C +/* 37FA98 E007E378 AE00002C */ sw $zero, 0x2c($s0) +/* 37FA9C E007E37C 3C013F80 */ lui $at, 0x3f80 +/* 37FAA0 E007E380 44810000 */ mtc1 $at, $f0 +/* 37FAA4 E007E384 0801F90B */ j .LE007E42C +/* 37FAA8 E007E388 E6000030 */ swc1 $f0, 0x30($s0) +.LE007E38C: +/* 37FAAC E007E38C 3C013F86 */ lui $at, 0x3f86 +/* 37FAB0 E007E390 34216666 */ ori $at, $at, 0x6666 +/* 37FAB4 E007E394 44810000 */ mtc1 $at, $f0 +/* 37FAB8 E007E398 0801F90B */ j .LE007E42C +/* 37FABC E007E39C E6000030 */ swc1 $f0, 0x30($s0) +/* 37FAC0 E007E3A0 2862000A */ slti $v0, $v1, 0xa +/* 37FAC4 E007E3A4 54400004 */ bnel $v0, $zero, .LE007E3B8 +/* 37FAC8 E007E3A8 AE000034 */ sw $zero, 0x34($s0) +/* 37FACC E007E3AC 8E020004 */ lw $v0, 4($s0) +/* 37FAD0 E007E3B0 0801F909 */ j .LE007E424 +/* 37FAD4 E007E3B4 AE000040 */ sw $zero, 0x40($s0) +.LE007E3B8: +/* 37FAD8 E007E3B8 3C01C120 */ lui $at, 0xc120 +/* 37FADC E007E3BC 44810000 */ mtc1 $at, $f0 +/* 37FAE0 E007E3C0 0801F90B */ j .LE007E42C +/* 37FAE4 E007E3C4 E600002C */ swc1 $f0, 0x2c($s0) +/* 37FAE8 E007E3C8 C6040028 */ lwc1 $f4, 0x28($s0) +/* 37FAEC E007E3CC 3C014210 */ lui $at, 0x4210 +/* 37FAF0 E007E3D0 44810000 */ mtc1 $at, $f0 +/* 37FAF4 E007E3D4 00000000 */ nop +/* 37FAF8 E007E3D8 46002100 */ add.s $f4, $f4, $f0 +/* 37FAFC E007E3DC 3C01E008 */ lui $at, 0xe008 +/* 37FB00 E007E3E0 D422EC70 */ ldc1 $f2, -0x1390($at) +/* 37FB04 E007E3E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 37FB08 E007E3E8 46800021 */ cvt.d.w $f0, $f0 +/* 37FB0C E007E3EC 46220002 */ mul.d $f0, $f0, $f2 +/* 37FB10 E007E3F0 00000000 */ nop +/* 37FB14 E007E3F4 E6040028 */ swc1 $f4, 0x28($s0) +/* 37FB18 E007E3F8 46002086 */ mov.s $f2, $f4 +/* 37FB1C E007E3FC 3C014434 */ lui $at, 0x4434 +/* 37FB20 E007E400 44812000 */ mtc1 $at, $f4 +/* 37FB24 E007E404 AE000034 */ sw $zero, 0x34($s0) +/* 37FB28 E007E408 4602203E */ c.le.s $f4, $f2 +/* 37FB2C E007E40C 4620028D */ trunc.w.d $f10, $f0 +/* 37FB30 E007E410 E60A003C */ swc1 $f10, 0x3c($s0) +/* 37FB34 E007E414 45000005 */ bc1f .LE007E42C +/* 37FB38 E007E418 00000000 */ nop +/* 37FB3C E007E41C 8E020004 */ lw $v0, 4($s0) +/* 37FB40 E007E420 E6040028 */ swc1 $f4, 0x28($s0) +.LE007E424: +/* 37FB44 E007E424 24420001 */ addiu $v0, $v0, 1 +/* 37FB48 E007E428 AE020004 */ sw $v0, 4($s0) +.LE007E42C: +/* 37FB4C E007E42C 8E050004 */ lw $a1, 4($s0) +/* 37FB50 E007E430 24A2FFFC */ addiu $v0, $a1, -4 +/* 37FB54 E007E434 2C420003 */ sltiu $v0, $v0, 3 +/* 37FB58 E007E438 1040002E */ beqz $v0, .LE007E4F4 +/* 37FB5C E007E43C 2610004C */ addiu $s0, $s0, 0x4c +/* 37FB60 E007E440 8E220008 */ lw $v0, 8($s1) +/* 37FB64 E007E444 24040001 */ addiu $a0, $zero, 1 +/* 37FB68 E007E448 0082102A */ slt $v0, $a0, $v0 +/* 37FB6C E007E44C 10400029 */ beqz $v0, .LE007E4F4 +/* 37FB70 E007E450 00000000 */ nop +/* 37FB74 E007E454 24060004 */ addiu $a2, $zero, 4 +/* 37FB78 E007E458 3C014348 */ lui $at, 0x4348 +/* 37FB7C E007E45C 44814000 */ mtc1 $at, $f8 +/* 37FB80 E007E460 26030010 */ addiu $v1, $s0, 0x10 +.LE007E464: +/* 37FB84 E007E464 8C620038 */ lw $v0, 0x38($v1) +/* 37FB88 E007E468 18400003 */ blez $v0, .LE007E478 +/* 37FB8C E007E46C 2442FFFF */ addiu $v0, $v0, -1 +/* 37FB90 E007E470 1C40001B */ bgtz $v0, .LE007E4E0 +/* 37FB94 E007E474 AC620038 */ sw $v0, 0x38($v1) +.LE007E478: +/* 37FB98 E007E478 C4620008 */ lwc1 $f2, 8($v1) +/* 37FB9C E007E47C C4600010 */ lwc1 $f0, 0x10($v1) +/* 37FBA0 E007E480 C466FFF8 */ lwc1 $f6, -8($v1) +/* 37FBA4 E007E484 46001080 */ add.s $f2, $f2, $f0 +/* 37FBA8 E007E488 C4600004 */ lwc1 $f0, 4($v1) +/* 37FBAC E007E48C C4640000 */ lwc1 $f4, ($v1) +/* 37FBB0 E007E490 46003180 */ add.s $f6, $f6, $f0 +/* 37FBB4 E007E494 C460000C */ lwc1 $f0, 0xc($v1) +/* 37FBB8 E007E498 46002100 */ add.s $f4, $f4, $f0 +/* 37FBBC E007E49C E4620008 */ swc1 $f2, 8($v1) +/* 37FBC0 E007E4A0 C462FFFC */ lwc1 $f2, -4($v1) +/* 37FBC4 E007E4A4 C4600008 */ lwc1 $f0, 8($v1) +/* 37FBC8 E007E4A8 46001080 */ add.s $f2, $f2, $f0 +/* 37FBCC E007E4AC E466FFF8 */ swc1 $f6, -8($v1) +/* 37FBD0 E007E4B0 E4640000 */ swc1 $f4, ($v1) +/* 37FBD4 E007E4B4 14A6000A */ bne $a1, $a2, .LE007E4E0 +/* 37FBD8 E007E4B8 E462FFFC */ swc1 $f2, -4($v1) +/* 37FBDC E007E4BC 46003006 */ mov.s $f0, $f6 +/* 37FBE0 E007E4C0 4600403C */ c.lt.s $f8, $f0 +/* 37FBE4 E007E4C4 00000000 */ nop +/* 37FBE8 E007E4C8 45020006 */ bc1fl .LE007E4E4 +/* 37FBEC E007E4CC 24840001 */ addiu $a0, $a0, 1 +/* 37FBF0 E007E4D0 AC60FFF8 */ sw $zero, -8($v1) +/* 37FBF4 E007E4D4 AC60FFFC */ sw $zero, -4($v1) +/* 37FBF8 E007E4D8 AC600008 */ sw $zero, 8($v1) +/* 37FBFC E007E4DC AC600000 */ sw $zero, ($v1) +.LE007E4E0: +/* 37FC00 E007E4E0 24840001 */ addiu $a0, $a0, 1 +.LE007E4E4: +/* 37FC04 E007E4E4 8E220008 */ lw $v0, 8($s1) +/* 37FC08 E007E4E8 0082102A */ slt $v0, $a0, $v0 +/* 37FC0C E007E4EC 1440FFDD */ bnez $v0, .LE007E464 +/* 37FC10 E007E4F0 2463004C */ addiu $v1, $v1, 0x4c +.LE007E4F4: +/* 37FC14 E007E4F4 8FBF0020 */ lw $ra, 0x20($sp) +/* 37FC18 E007E4F8 8FB1001C */ lw $s1, 0x1c($sp) +/* 37FC1C E007E4FC 8FB00018 */ lw $s0, 0x18($sp) +/* 37FC20 E007E500 03E00008 */ jr $ra +/* 37FC24 E007E504 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_37F720/func_E007E508.s b/asm/nonmatchings/code_37F720/func_E007E508.s new file mode 100644 index 0000000000..193a53a982 --- /dev/null +++ b/asm/nonmatchings/code_37F720/func_E007E508.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007E508 +/* 37FC28 E007E508 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 37FC2C E007E50C 3C02E008 */ lui $v0, 0xe008 +/* 37FC30 E007E510 2442E54C */ addiu $v0, $v0, -0x1ab4 +/* 37FC34 E007E514 AFA2001C */ sw $v0, 0x1c($sp) +/* 37FC38 E007E518 2402002D */ addiu $v0, $zero, 0x2d +/* 37FC3C E007E51C AFA40018 */ sw $a0, 0x18($sp) +/* 37FC40 E007E520 27A40010 */ addiu $a0, $sp, 0x10 +/* 37FC44 E007E524 AFBF0020 */ sw $ra, 0x20($sp) +/* 37FC48 E007E528 AFA00014 */ sw $zero, 0x14($sp) +/* 37FC4C E007E52C 0C080120 */ jal func_E0200480 +/* 37FC50 E007E530 AFA20010 */ sw $v0, 0x10($sp) +/* 37FC54 E007E534 8C430000 */ lw $v1, ($v0) +/* 37FC58 E007E538 34630002 */ ori $v1, $v1, 2 +/* 37FC5C E007E53C AC430000 */ sw $v1, ($v0) +/* 37FC60 E007E540 8FBF0020 */ lw $ra, 0x20($sp) +/* 37FC64 E007E544 03E00008 */ jr $ra +/* 37FC68 E007E548 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_37F720/func_E007E54C.s b/asm/nonmatchings/code_37F720/func_E007E54C.s new file mode 100644 index 0000000000..aad68be424 --- /dev/null +++ b/asm/nonmatchings/code_37F720/func_E007E54C.s @@ -0,0 +1,450 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E007E54C +/* 37FC6C E007E54C 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 37FC70 E007E550 3C06DB06 */ lui $a2, 0xdb06 +/* 37FC74 E007E554 34C60024 */ ori $a2, $a2, 0x24 +/* 37FC78 E007E558 AFA400E8 */ sw $a0, 0xe8($sp) +/* 37FC7C E007E55C 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FC80 E007E560 AFB600B8 */ sw $s6, 0xb8($sp) +/* 37FC84 E007E564 3C16800A */ lui $s6, 0x800a +/* 37FC88 E007E568 26D6A66C */ addiu $s6, $s6, -0x5994 +/* 37FC8C E007E56C AFBF00C4 */ sw $ra, 0xc4($sp) +/* 37FC90 E007E570 AFBE00C0 */ sw $fp, 0xc0($sp) +/* 37FC94 E007E574 AFB700BC */ sw $s7, 0xbc($sp) +/* 37FC98 E007E578 AFB500B4 */ sw $s5, 0xb4($sp) +/* 37FC9C E007E57C AFB400B0 */ sw $s4, 0xb0($sp) +/* 37FCA0 E007E580 AFB300AC */ sw $s3, 0xac($sp) +/* 37FCA4 E007E584 AFB200A8 */ sw $s2, 0xa8($sp) +/* 37FCA8 E007E588 AFB100A4 */ sw $s1, 0xa4($sp) +/* 37FCAC E007E58C AFB000A0 */ sw $s0, 0xa0($sp) +/* 37FCB0 E007E590 F7BA00E0 */ sdc1 $f26, 0xe0($sp) +/* 37FCB4 E007E594 F7B800D8 */ sdc1 $f24, 0xd8($sp) +/* 37FCB8 E007E598 F7B600D0 */ sdc1 $f22, 0xd0($sp) +/* 37FCBC E007E59C F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 37FCC0 E007E5A0 8EC50000 */ lw $a1, ($s6) +/* 37FCC4 E007E5A4 8FB900E8 */ lw $t9, 0xe8($sp) +/* 37FCC8 E007E5A8 00A0182D */ daddu $v1, $a1, $zero +/* 37FCCC E007E5AC 8F31000C */ lw $s1, 0xc($t9) +/* 37FCD0 E007E5B0 24A50008 */ addiu $a1, $a1, 8 +/* 37FCD4 E007E5B4 AEC50000 */ sw $a1, ($s6) +/* 37FCD8 E007E5B8 8E390034 */ lw $t9, 0x34($s1) +/* 37FCDC E007E5BC 3C140001 */ lui $s4, 1 +/* 37FCE0 E007E5C0 AFB90098 */ sw $t9, 0x98($sp) +/* 37FCE4 E007E5C4 C6380030 */ lwc1 $f24, 0x30($s1) +/* 37FCE8 E007E5C8 8E300004 */ lw $s0, 4($s1) +/* 37FCEC E007E5CC C63A0028 */ lwc1 $f26, 0x28($s1) +/* 37FCF0 E007E5D0 C636002C */ lwc1 $f22, 0x2c($s1) +/* 37FCF4 E007E5D4 3C02E700 */ lui $v0, 0xe700 +/* 37FCF8 E007E5D8 AC620000 */ sw $v0, ($v1) +/* 37FCFC E007E5DC AC600004 */ sw $zero, 4($v1) +/* 37FD00 E007E5E0 ACA60000 */ sw $a2, ($a1) +/* 37FD04 E007E5E4 8FB900E8 */ lw $t9, 0xe8($sp) +/* 37FD08 E007E5E8 8F230010 */ lw $v1, 0x10($t9) +/* 37FD0C E007E5EC 24A20008 */ addiu $v0, $a1, 8 +/* 37FD10 E007E5F0 AEC20000 */ sw $v0, ($s6) +/* 37FD14 E007E5F4 8C62001C */ lw $v0, 0x1c($v1) +/* 37FD18 E007E5F8 3C038000 */ lui $v1, 0x8000 +/* 37FD1C E007E5FC 00431021 */ addu $v0, $v0, $v1 +/* 37FD20 E007E600 ACA20004 */ sw $v0, 4($a1) +/* 37FD24 E007E604 8E250008 */ lw $a1, 8($s1) +/* 37FD28 E007E608 8E26000C */ lw $a2, 0xc($s1) +/* 37FD2C E007E60C 8E270010 */ lw $a3, 0x10($s1) +/* 37FD30 E007E610 4480A000 */ mtc1 $zero, $f20 +/* 37FD34 E007E614 0C080108 */ jal func_E0200420 +/* 37FD38 E007E618 36941630 */ ori $s4, $s4, 0x1630 +/* 37FD3C E007E61C 27B50058 */ addiu $s5, $sp, 0x58 +/* 37FD40 E007E620 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 37FD44 E007E624 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 37FD48 E007E628 4406A000 */ mfc1 $a2, $f20 +/* 37FD4C E007E62C 00031080 */ sll $v0, $v1, 2 +/* 37FD50 E007E630 00431021 */ addu $v0, $v0, $v1 +/* 37FD54 E007E634 00021080 */ sll $v0, $v0, 2 +/* 37FD58 E007E638 00431023 */ subu $v0, $v0, $v1 +/* 37FD5C E007E63C 000218C0 */ sll $v1, $v0, 3 +/* 37FD60 E007E640 00431021 */ addu $v0, $v0, $v1 +/* 37FD64 E007E644 000210C0 */ sll $v0, $v0, 3 +/* 37FD68 E007E648 3C01800B */ lui $at, 0x800b +/* 37FD6C E007E64C 00220821 */ addu $at, $at, $v0 +/* 37FD70 E007E650 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 37FD74 E007E654 3C073F80 */ lui $a3, 0x3f80 +/* 37FD78 E007E658 46000007 */ neg.s $f0, $f0 +/* 37FD7C E007E65C 44050000 */ mfc1 $a1, $f0 +/* 37FD80 E007E660 02A0202D */ daddu $a0, $s5, $zero +/* 37FD84 E007E664 0C080104 */ jal func_E0200410 +/* 37FD88 E007E668 E7B40010 */ swc1 $f20, 0x10($sp) +/* 37FD8C E007E66C 02A0202D */ daddu $a0, $s5, $zero +/* 37FD90 E007E670 27A50018 */ addiu $a1, $sp, 0x18 +/* 37FD94 E007E674 0C080114 */ jal func_E0200450 +/* 37FD98 E007E678 00A0302D */ daddu $a2, $a1, $zero +/* 37FD9C E007E67C 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FDA0 E007E680 3C138007 */ lui $s3, 0x8007 +/* 37FDA4 E007E684 267341F0 */ addiu $s3, $s3, 0x41f0 +/* 37FDA8 E007E688 3C17800A */ lui $s7, 0x800a +/* 37FDAC E007E68C 26F7A674 */ addiu $s7, $s7, -0x598c +/* 37FDB0 E007E690 96650000 */ lhu $a1, ($s3) +/* 37FDB4 E007E694 8EE20000 */ lw $v0, ($s7) +/* 37FDB8 E007E698 00052980 */ sll $a1, $a1, 6 +/* 37FDBC E007E69C 00B42821 */ addu $a1, $a1, $s4 +/* 37FDC0 E007E6A0 0C080118 */ jal func_E0200460 +/* 37FDC4 E007E6A4 00452821 */ addu $a1, $v0, $a1 +/* 37FDC8 E007E6A8 3C03DA38 */ lui $v1, 0xda38 +/* 37FDCC E007E6AC 34630002 */ ori $v1, $v1, 2 +/* 37FDD0 E007E6B0 2610FFFC */ addiu $s0, $s0, -4 +/* 37FDD4 E007E6B4 8EC40000 */ lw $a0, ($s6) +/* 37FDD8 E007E6B8 96620000 */ lhu $v0, ($s3) +/* 37FDDC E007E6BC 0080282D */ daddu $a1, $a0, $zero +/* 37FDE0 E007E6C0 24840008 */ addiu $a0, $a0, 8 +/* 37FDE4 E007E6C4 AEC40000 */ sw $a0, ($s6) +/* 37FDE8 E007E6C8 ACA30000 */ sw $v1, ($a1) +/* 37FDEC E007E6CC 24430001 */ addiu $v1, $v0, 1 +/* 37FDF0 E007E6D0 3042FFFF */ andi $v0, $v0, 0xffff +/* 37FDF4 E007E6D4 00021180 */ sll $v0, $v0, 6 +/* 37FDF8 E007E6D8 A6630000 */ sh $v1, ($s3) +/* 37FDFC E007E6DC 8EE30000 */ lw $v1, ($s7) +/* 37FE00 E007E6E0 00541021 */ addu $v0, $v0, $s4 +/* 37FE04 E007E6E4 00621821 */ addu $v1, $v1, $v0 +/* 37FE08 E007E6E8 24820008 */ addiu $v0, $a0, 8 +/* 37FE0C E007E6EC ACA30004 */ sw $v1, 4($a1) +/* 37FE10 E007E6F0 AEC20000 */ sw $v0, ($s6) +/* 37FE14 E007E6F4 3C02FA00 */ lui $v0, 0xfa00 +/* 37FE18 E007E6F8 AC820000 */ sw $v0, ($a0) +/* 37FE1C E007E6FC 9223003F */ lbu $v1, 0x3f($s1) +/* 37FE20 E007E700 24820010 */ addiu $v0, $a0, 0x10 +/* 37FE24 E007E704 AEC20000 */ sw $v0, ($s6) +/* 37FE28 E007E708 3C02FB00 */ lui $v0, 0xfb00 +/* 37FE2C E007E70C 3C05FF00 */ lui $a1, 0xff00 +/* 37FE30 E007E710 AC820008 */ sw $v0, 8($a0) +/* 37FE34 E007E714 00651825 */ or $v1, $v1, $a1 +/* 37FE38 E007E718 AC830004 */ sw $v1, 4($a0) +/* 37FE3C E007E71C 9222003B */ lbu $v0, 0x3b($s1) +/* 37FE40 E007E720 2E100003 */ sltiu $s0, $s0, 3 +/* 37FE44 E007E724 00451025 */ or $v0, $v0, $a1 +/* 37FE48 E007E728 1200007F */ beqz $s0, .LE007E928 +/* 37FE4C E007E72C AC82000C */ sw $v0, 0xc($a0) +/* 37FE50 E007E730 4405A000 */ mfc1 $a1, $f20 +/* 37FE54 E007E734 3C064180 */ lui $a2, 0x4180 +/* 37FE58 E007E738 4407A000 */ mfc1 $a3, $f20 +/* 37FE5C E007E73C 0C080108 */ jal func_E0200420 +/* 37FE60 E007E740 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FE64 E007E744 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FE68 E007E748 96650000 */ lhu $a1, ($s3) +/* 37FE6C E007E74C 8EE20000 */ lw $v0, ($s7) +/* 37FE70 E007E750 00052980 */ sll $a1, $a1, 6 +/* 37FE74 E007E754 00B42821 */ addu $a1, $a1, $s4 +/* 37FE78 E007E758 0C080118 */ jal func_E0200460 +/* 37FE7C E007E75C 00452821 */ addu $a1, $v0, $a1 +/* 37FE80 E007E760 8EC40000 */ lw $a0, ($s6) +/* 37FE84 E007E764 24120001 */ addiu $s2, $zero, 1 +/* 37FE88 E007E768 0080282D */ daddu $a1, $a0, $zero +/* 37FE8C E007E76C 24840008 */ addiu $a0, $a0, 8 +/* 37FE90 E007E770 AEC40000 */ sw $a0, ($s6) +/* 37FE94 E007E774 96620000 */ lhu $v0, ($s3) +/* 37FE98 E007E778 3C03DA38 */ lui $v1, 0xda38 +/* 37FE9C E007E77C ACA30000 */ sw $v1, ($a1) +/* 37FEA0 E007E780 00521821 */ addu $v1, $v0, $s2 +/* 37FEA4 E007E784 3042FFFF */ andi $v0, $v0, 0xffff +/* 37FEA8 E007E788 00021180 */ sll $v0, $v0, 6 +/* 37FEAC E007E78C A6630000 */ sh $v1, ($s3) +/* 37FEB0 E007E790 8EE30000 */ lw $v1, ($s7) +/* 37FEB4 E007E794 00541021 */ addu $v0, $v0, $s4 +/* 37FEB8 E007E798 00621821 */ addu $v1, $v1, $v0 +/* 37FEBC E007E79C 3C02DE00 */ lui $v0, 0xde00 +/* 37FEC0 E007E7A0 ACA30004 */ sw $v1, 4($a1) +/* 37FEC4 E007E7A4 AC820000 */ sw $v0, ($a0) +/* 37FEC8 E007E7A8 3C020900 */ lui $v0, 0x900 +/* 37FECC E007E7AC 24420DE0 */ addiu $v0, $v0, 0xde0 +/* 37FED0 E007E7B0 AC820004 */ sw $v0, 4($a0) +/* 37FED4 E007E7B4 8FB900E8 */ lw $t9, 0xe8($sp) +/* 37FED8 E007E7B8 2631004C */ addiu $s1, $s1, 0x4c +/* 37FEDC E007E7BC 8F220008 */ lw $v0, 8($t9) +/* 37FEE0 E007E7C0 24840008 */ addiu $a0, $a0, 8 +/* 37FEE4 E007E7C4 0242102A */ slt $v0, $s2, $v0 +/* 37FEE8 E007E7C8 1040004C */ beqz $v0, .LE007E8FC +/* 37FEEC E007E7CC AEC40000 */ sw $a0, ($s6) +/* 37FEF0 E007E7D0 02E0F02D */ daddu $fp, $s7, $zero +/* 37FEF4 E007E7D4 0260B82D */ daddu $s7, $s3, $zero +/* 37FEF8 E007E7D8 3C140001 */ lui $s4, 1 +/* 37FEFC E007E7DC 36941630 */ ori $s4, $s4, 0x1630 +/* 37FF00 E007E7E0 02C0982D */ daddu $s3, $s6, $zero +/* 37FF04 E007E7E4 26300010 */ addiu $s0, $s1, 0x10 +.LE007E7E8: +/* 37FF08 E007E7E8 8E020038 */ lw $v0, 0x38($s0) +/* 37FF0C E007E7EC 5440003D */ bnel $v0, $zero, .LE007E8E4 +/* 37FF10 E007E7F0 26520001 */ addiu $s2, $s2, 1 +/* 37FF14 E007E7F4 3C013F80 */ lui $at, 0x3f80 +/* 37FF18 E007E7F8 44810000 */ mtc1 $at, $f0 +/* 37FF1C E007E7FC 4406A000 */ mfc1 $a2, $f20 +/* 37FF20 E007E800 4407A000 */ mfc1 $a3, $f20 +/* 37FF24 E007E804 E7A00010 */ swc1 $f0, 0x10($sp) +/* 37FF28 E007E808 8E050014 */ lw $a1, 0x14($s0) +/* 37FF2C E007E80C 0C080104 */ jal func_E0200410 +/* 37FF30 E007E810 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FF34 E007E814 8E05FFF8 */ lw $a1, -8($s0) +/* 37FF38 E007E818 8E06FFFC */ lw $a2, -4($s0) +/* 37FF3C E007E81C 8E070000 */ lw $a3, ($s0) +/* 37FF40 E007E820 0C080108 */ jal func_E0200420 +/* 37FF44 E007E824 02A0202D */ daddu $a0, $s5, $zero +/* 37FF48 E007E828 02A0202D */ daddu $a0, $s5, $zero +/* 37FF4C E007E82C 27A50018 */ addiu $a1, $sp, 0x18 +/* 37FF50 E007E830 0C080114 */ jal func_E0200450 +/* 37FF54 E007E834 00A0302D */ daddu $a2, $a1, $zero +/* 37FF58 E007E838 27A40018 */ addiu $a0, $sp, 0x18 +/* 37FF5C E007E83C 96E50000 */ lhu $a1, ($s7) +/* 37FF60 E007E840 8FC20000 */ lw $v0, ($fp) +/* 37FF64 E007E844 00052980 */ sll $a1, $a1, 6 +/* 37FF68 E007E848 00B42821 */ addu $a1, $a1, $s4 +/* 37FF6C E007E84C 0C080118 */ jal func_E0200460 +/* 37FF70 E007E850 00452821 */ addu $a1, $v0, $a1 +/* 37FF74 E007E854 8E650000 */ lw $a1, ($s3) +/* 37FF78 E007E858 3C060900 */ lui $a2, 0x900 +/* 37FF7C E007E85C 24C60EB8 */ addiu $a2, $a2, 0xeb8 +/* 37FF80 E007E860 00A0202D */ daddu $a0, $a1, $zero +/* 37FF84 E007E864 24A50008 */ addiu $a1, $a1, 8 +/* 37FF88 E007E868 AE650000 */ sw $a1, ($s3) +/* 37FF8C E007E86C 96E20000 */ lhu $v0, ($s7) +/* 37FF90 E007E870 3C03DA38 */ lui $v1, 0xda38 +/* 37FF94 E007E874 AC830000 */ sw $v1, ($a0) +/* 37FF98 E007E878 24430001 */ addiu $v1, $v0, 1 +/* 37FF9C E007E87C 3042FFFF */ andi $v0, $v0, 0xffff +/* 37FFA0 E007E880 00021180 */ sll $v0, $v0, 6 +/* 37FFA4 E007E884 A6E30000 */ sh $v1, ($s7) +/* 37FFA8 E007E888 8FC30000 */ lw $v1, ($fp) +/* 37FFAC E007E88C 00541021 */ addu $v0, $v0, $s4 +/* 37FFB0 E007E890 00621821 */ addu $v1, $v1, $v0 +/* 37FFB4 E007E894 3C02DE00 */ lui $v0, 0xde00 +/* 37FFB8 E007E898 AC830004 */ sw $v1, 4($a0) +/* 37FFBC E007E89C ACA20000 */ sw $v0, ($a1) +/* 37FFC0 E007E8A0 8E230000 */ lw $v1, ($s1) +/* 37FFC4 E007E8A4 24A20008 */ addiu $v0, $a1, 8 +/* 37FFC8 E007E8A8 10600003 */ beqz $v1, .LE007E8B8 +/* 37FFCC E007E8AC AE620000 */ sw $v0, ($s3) +/* 37FFD0 E007E8B0 3C060900 */ lui $a2, 0x900 +/* 37FFD4 E007E8B4 24C60ED8 */ addiu $a2, $a2, 0xed8 +.LE007E8B8: +/* 37FFD8 E007E8B8 3C04D838 */ lui $a0, 0xd838 +/* 37FFDC E007E8BC 8E620000 */ lw $v0, ($s3) +/* 37FFE0 E007E8C0 34840002 */ ori $a0, $a0, 2 +/* 37FFE4 E007E8C4 ACA60004 */ sw $a2, 4($a1) +/* 37FFE8 E007E8C8 0040182D */ daddu $v1, $v0, $zero +/* 37FFEC E007E8CC 24420008 */ addiu $v0, $v0, 8 +/* 37FFF0 E007E8D0 AE620000 */ sw $v0, ($s3) +/* 37FFF4 E007E8D4 24020040 */ addiu $v0, $zero, 0x40 +/* 37FFF8 E007E8D8 AC640000 */ sw $a0, ($v1) +/* 37FFFC E007E8DC AC620004 */ sw $v0, 4($v1) +/* 380000 E007E8E0 26520001 */ addiu $s2, $s2, 1 +.LE007E8E4: +/* 380004 E007E8E4 8FB900E8 */ lw $t9, 0xe8($sp) +/* 380008 E007E8E8 2610004C */ addiu $s0, $s0, 0x4c +/* 38000C E007E8EC 8F220008 */ lw $v0, 8($t9) +/* 380010 E007E8F0 0242102A */ slt $v0, $s2, $v0 +/* 380014 E007E8F4 1440FFBC */ bnez $v0, .LE007E7E8 +/* 380018 E007E8F8 2631004C */ addiu $s1, $s1, 0x4c +.LE007E8FC: +/* 38001C E007E8FC 3C05D838 */ lui $a1, 0xd838 +/* 380020 E007E900 3C03800A */ lui $v1, 0x800a +/* 380024 E007E904 2463A66C */ addiu $v1, $v1, -0x5994 +/* 380028 E007E908 8C620000 */ lw $v0, ($v1) +/* 38002C E007E90C 34A50002 */ ori $a1, $a1, 2 +/* 380030 E007E910 0040202D */ daddu $a0, $v0, $zero +/* 380034 E007E914 24420008 */ addiu $v0, $v0, 8 +/* 380038 E007E918 AC620000 */ sw $v0, ($v1) +/* 38003C E007E91C 24020040 */ addiu $v0, $zero, 0x40 +/* 380040 E007E920 AC850000 */ sw $a1, ($a0) +/* 380044 E007E924 AC820004 */ sw $v0, 4($a0) +.LE007E928: +/* 380048 E007E928 3C0DFD48 */ lui $t5, 0xfd48 +/* 38004C E007E92C 35AD000F */ ori $t5, $t5, 0xf +/* 380050 E007E930 3C09F548 */ lui $t1, 0xf548 +/* 380054 E007E934 35290400 */ ori $t1, $t1, 0x400 +/* 380058 E007E938 3C0E0705 */ lui $t6, 0x705 +/* 38005C E007E93C 35CE4150 */ ori $t6, $t6, 0x4150 +/* 380060 E007E940 3C0F0703 */ lui $t7, 0x703 +/* 380064 E007E944 35EFE07C */ ori $t7, $t7, 0xe07c +/* 380068 E007E948 3C12F540 */ lui $s2, 0xf540 +/* 38006C E007E94C 36520400 */ ori $s2, $s2, 0x400 +/* 380070 E007E950 3C100005 */ lui $s0, 5 +/* 380074 E007E954 36104150 */ ori $s0, $s0, 0x4150 +/* 380078 E007E958 3C130007 */ lui $s3, 7 +/* 38007C E007E95C 3673C07C */ ori $s3, $s3, 0xc07c +/* 380080 E007E960 3C14F548 */ lui $s4, 0xf548 +/* 380084 E007E964 36940480 */ ori $s4, $s4, 0x480 +/* 380088 E007E968 3C17F540 */ lui $s7, 0xf540 +/* 38008C E007E96C 36F70480 */ ori $s7, $s7, 0x480 +/* 380090 E007E970 3C160105 */ lui $s6, 0x105 +/* 380094 E007E974 36D64150 */ ori $s6, $s6, 0x4150 +/* 380098 E007E978 3C180107 */ lui $t8, 0x107 +/* 38009C E007E97C 3718C07C */ ori $t8, $t8, 0xc07c +/* 3800A0 E007E980 27A40018 */ addiu $a0, $sp, 0x18 +/* 3800A4 E007E984 3C1E0001 */ lui $fp, 1 +/* 3800A8 E007E988 37DE1630 */ ori $fp, $fp, 0x1630 +/* 3800AC E007E98C 3C11800A */ lui $s1, 0x800a +/* 3800B0 E007E990 2631A66C */ addiu $s1, $s1, -0x5994 +/* 3800B4 E007E994 3C15DE00 */ lui $s5, 0xde00 +/* 3800B8 E007E998 3C020900 */ lui $v0, 0x900 +/* 3800BC E007E99C 24420D40 */ addiu $v0, $v0, 0xd40 +/* 3800C0 E007E9A0 3C0C0900 */ lui $t4, 0x900 +/* 3800C4 E007E9A4 258C0000 */ addiu $t4, $t4, 0 +/* 3800C8 E007E9A8 3C0BE600 */ lui $t3, 0xe600 +/* 3800CC E007E9AC 3C0AF400 */ lui $t2, 0xf400 +/* 3800D0 E007E9B0 8E230000 */ lw $v1, ($s1) +/* 3800D4 E007E9B4 4480A000 */ mtc1 $zero, $f20 +/* 3800D8 E007E9B8 4405B000 */ mfc1 $a1, $f22 +/* 3800DC E007E9BC 0060402D */ daddu $t0, $v1, $zero +/* 3800E0 E007E9C0 24630008 */ addiu $v1, $v1, 8 +/* 3800E4 E007E9C4 AE230000 */ sw $v1, ($s1) +/* 3800E8 E007E9C8 AD020004 */ sw $v0, 4($t0) +/* 3800EC E007E9CC 24620008 */ addiu $v0, $v1, 8 +/* 3800F0 E007E9D0 AD150000 */ sw $s5, ($t0) +/* 3800F4 E007E9D4 AE220000 */ sw $v0, ($s1) +/* 3800F8 E007E9D8 24020003 */ addiu $v0, $zero, 3 +/* 3800FC E007E9DC 4406A000 */ mfc1 $a2, $f20 +/* 380100 E007E9E0 3C08F200 */ lui $t0, 0xf200 +/* 380104 E007E9E4 AC6D0000 */ sw $t5, ($v1) +/* 380108 E007E9E8 8FB90098 */ lw $t9, 0x98($sp) +/* 38010C E007E9EC 4407A000 */ mfc1 $a3, $f20 +/* 380110 E007E9F0 00591023 */ subu $v0, $v0, $t9 +/* 380114 E007E9F4 00021240 */ sll $v0, $v0, 9 +/* 380118 E007E9F8 004C1021 */ addu $v0, $v0, $t4 +/* 38011C E007E9FC AC620004 */ sw $v0, 4($v1) +/* 380120 E007EA00 24620010 */ addiu $v0, $v1, 0x10 +/* 380124 E007EA04 AE220000 */ sw $v0, ($s1) +/* 380128 E007EA08 24620018 */ addiu $v0, $v1, 0x18 +/* 38012C E007EA0C AC690008 */ sw $t1, 8($v1) +/* 380130 E007EA10 AC6E000C */ sw $t6, 0xc($v1) +/* 380134 E007EA14 AE220000 */ sw $v0, ($s1) +/* 380138 E007EA18 24620020 */ addiu $v0, $v1, 0x20 +/* 38013C E007EA1C AC6B0010 */ sw $t3, 0x10($v1) +/* 380140 E007EA20 AC600014 */ sw $zero, 0x14($v1) +/* 380144 E007EA24 AE220000 */ sw $v0, ($s1) +/* 380148 E007EA28 24620028 */ addiu $v0, $v1, 0x28 +/* 38014C E007EA2C 3C09E700 */ lui $t1, 0xe700 +/* 380150 E007EA30 AC6A0018 */ sw $t2, 0x18($v1) +/* 380154 E007EA34 AC6F001C */ sw $t7, 0x1c($v1) +/* 380158 E007EA38 AE220000 */ sw $v0, ($s1) +/* 38015C E007EA3C 24620030 */ addiu $v0, $v1, 0x30 +/* 380160 E007EA40 AC690020 */ sw $t1, 0x20($v1) +/* 380164 E007EA44 AC600024 */ sw $zero, 0x24($v1) +/* 380168 E007EA48 AE220000 */ sw $v0, ($s1) +/* 38016C E007EA4C 24620038 */ addiu $v0, $v1, 0x38 +/* 380170 E007EA50 AC720028 */ sw $s2, 0x28($v1) +/* 380174 E007EA54 AC70002C */ sw $s0, 0x2c($v1) +/* 380178 E007EA58 AE220000 */ sw $v0, ($s1) +/* 38017C E007EA5C 24620040 */ addiu $v0, $v1, 0x40 +/* 380180 E007EA60 AC680030 */ sw $t0, 0x30($v1) +/* 380184 E007EA64 AC730034 */ sw $s3, 0x34($v1) +/* 380188 E007EA68 AE220000 */ sw $v0, ($s1) +/* 38018C E007EA6C 24020002 */ addiu $v0, $zero, 2 +/* 380190 E007EA70 AC6D0038 */ sw $t5, 0x38($v1) +/* 380194 E007EA74 00591023 */ subu $v0, $v0, $t9 +/* 380198 E007EA78 00021240 */ sll $v0, $v0, 9 +/* 38019C E007EA7C 004C1021 */ addu $v0, $v0, $t4 +/* 3801A0 E007EA80 AC62003C */ sw $v0, 0x3c($v1) +/* 3801A4 E007EA84 24620048 */ addiu $v0, $v1, 0x48 +/* 3801A8 E007EA88 AE220000 */ sw $v0, ($s1) +/* 3801AC E007EA8C 24620050 */ addiu $v0, $v1, 0x50 +/* 3801B0 E007EA90 AC740040 */ sw $s4, 0x40($v1) +/* 3801B4 E007EA94 AC6E0044 */ sw $t6, 0x44($v1) +/* 3801B8 E007EA98 AE220000 */ sw $v0, ($s1) +/* 3801BC E007EA9C 24620058 */ addiu $v0, $v1, 0x58 +/* 3801C0 E007EAA0 AC6B0048 */ sw $t3, 0x48($v1) +/* 3801C4 E007EAA4 AC60004C */ sw $zero, 0x4c($v1) +/* 3801C8 E007EAA8 AE220000 */ sw $v0, ($s1) +/* 3801CC E007EAAC 24620060 */ addiu $v0, $v1, 0x60 +/* 3801D0 E007EAB0 AC6A0050 */ sw $t2, 0x50($v1) +/* 3801D4 E007EAB4 AC6F0054 */ sw $t7, 0x54($v1) +/* 3801D8 E007EAB8 AE220000 */ sw $v0, ($s1) +/* 3801DC E007EABC 24620068 */ addiu $v0, $v1, 0x68 +/* 3801E0 E007EAC0 AC690058 */ sw $t1, 0x58($v1) +/* 3801E4 E007EAC4 AC60005C */ sw $zero, 0x5c($v1) +/* 3801E8 E007EAC8 AE220000 */ sw $v0, ($s1) +/* 3801EC E007EACC 24620070 */ addiu $v0, $v1, 0x70 +/* 3801F0 E007EAD0 AC770060 */ sw $s7, 0x60($v1) +/* 3801F4 E007EAD4 AC760064 */ sw $s6, 0x64($v1) +/* 3801F8 E007EAD8 AE220000 */ sw $v0, ($s1) +/* 3801FC E007EADC AC680068 */ sw $t0, 0x68($v1) +/* 380200 E007EAE0 0C080108 */ jal func_E0200420 +/* 380204 E007EAE4 AC78006C */ sw $t8, 0x6c($v1) +/* 380208 E007EAE8 27B00058 */ addiu $s0, $sp, 0x58 +/* 38020C E007EAEC 4405C000 */ mfc1 $a1, $f24 +/* 380210 E007EAF0 0200202D */ daddu $a0, $s0, $zero +/* 380214 E007EAF4 00A0302D */ daddu $a2, $a1, $zero +/* 380218 E007EAF8 0C080110 */ jal func_E0200440 +/* 38021C E007EAFC 00A0382D */ daddu $a3, $a1, $zero +/* 380220 E007EB00 0200202D */ daddu $a0, $s0, $zero +/* 380224 E007EB04 27A50018 */ addiu $a1, $sp, 0x18 +/* 380228 E007EB08 0C080114 */ jal func_E0200450 +/* 38022C E007EB0C 00A0302D */ daddu $a2, $a1, $zero +/* 380230 E007EB10 4405D000 */ mfc1 $a1, $f26 +/* 380234 E007EB14 4406A000 */ mfc1 $a2, $f20 +/* 380238 E007EB18 3C073F80 */ lui $a3, 0x3f80 +/* 38023C E007EB1C 0200202D */ daddu $a0, $s0, $zero +/* 380240 E007EB20 0C080104 */ jal func_E0200410 +/* 380244 E007EB24 AFA60010 */ sw $a2, 0x10($sp) +/* 380248 E007EB28 0200202D */ daddu $a0, $s0, $zero +/* 38024C E007EB2C 27A50018 */ addiu $a1, $sp, 0x18 +/* 380250 E007EB30 0C080114 */ jal func_E0200450 +/* 380254 E007EB34 00A0302D */ daddu $a2, $a1, $zero +/* 380258 E007EB38 27A40018 */ addiu $a0, $sp, 0x18 +/* 38025C E007EB3C 3C108007 */ lui $s0, 0x8007 +/* 380260 E007EB40 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 380264 E007EB44 3C12800A */ lui $s2, 0x800a +/* 380268 E007EB48 2652A674 */ addiu $s2, $s2, -0x598c +/* 38026C E007EB4C 96050000 */ lhu $a1, ($s0) +/* 380270 E007EB50 8E420000 */ lw $v0, ($s2) +/* 380274 E007EB54 00052980 */ sll $a1, $a1, 6 +/* 380278 E007EB58 00BE2821 */ addu $a1, $a1, $fp +/* 38027C E007EB5C 0C080118 */ jal func_E0200460 +/* 380280 E007EB60 00452821 */ addu $a1, $v0, $a1 +/* 380284 E007EB64 3C06D838 */ lui $a2, 0xd838 +/* 380288 E007EB68 8E240000 */ lw $a0, ($s1) +/* 38028C E007EB6C 34C60002 */ ori $a2, $a2, 2 +/* 380290 E007EB70 0080282D */ daddu $a1, $a0, $zero +/* 380294 E007EB74 24840008 */ addiu $a0, $a0, 8 +/* 380298 E007EB78 AE240000 */ sw $a0, ($s1) +/* 38029C E007EB7C 96020000 */ lhu $v0, ($s0) +/* 3802A0 E007EB80 3C03DA38 */ lui $v1, 0xda38 +/* 3802A4 E007EB84 ACA30000 */ sw $v1, ($a1) +/* 3802A8 E007EB88 24430001 */ addiu $v1, $v0, 1 +/* 3802AC E007EB8C 3042FFFF */ andi $v0, $v0, 0xffff +/* 3802B0 E007EB90 00021180 */ sll $v0, $v0, 6 +/* 3802B4 E007EB94 A6030000 */ sh $v1, ($s0) +/* 3802B8 E007EB98 8E430000 */ lw $v1, ($s2) +/* 3802BC E007EB9C 005E1021 */ addu $v0, $v0, $fp +/* 3802C0 E007EBA0 00621821 */ addu $v1, $v1, $v0 +/* 3802C4 E007EBA4 24820008 */ addiu $v0, $a0, 8 +/* 3802C8 E007EBA8 ACA30004 */ sw $v1, 4($a1) +/* 3802CC E007EBAC AE220000 */ sw $v0, ($s1) +/* 3802D0 E007EBB0 3C020900 */ lui $v0, 0x900 +/* 3802D4 E007EBB4 24420EF8 */ addiu $v0, $v0, 0xef8 +/* 3802D8 E007EBB8 AC820004 */ sw $v0, 4($a0) +/* 3802DC E007EBBC 24820010 */ addiu $v0, $a0, 0x10 +/* 3802E0 E007EBC0 24030040 */ addiu $v1, $zero, 0x40 +/* 3802E4 E007EBC4 AC950000 */ sw $s5, ($a0) +/* 3802E8 E007EBC8 AE220000 */ sw $v0, ($s1) +/* 3802EC E007EBCC 24820018 */ addiu $v0, $a0, 0x18 +/* 3802F0 E007EBD0 AC860008 */ sw $a2, 8($a0) +/* 3802F4 E007EBD4 AC83000C */ sw $v1, 0xc($a0) +/* 3802F8 E007EBD8 AE220000 */ sw $v0, ($s1) +/* 3802FC E007EBDC AC860010 */ sw $a2, 0x10($a0) +/* 380300 E007EBE0 AC830014 */ sw $v1, 0x14($a0) +/* 380304 E007EBE4 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 380308 E007EBE8 8FBE00C0 */ lw $fp, 0xc0($sp) +/* 38030C E007EBEC 8FB700BC */ lw $s7, 0xbc($sp) +/* 380310 E007EBF0 8FB600B8 */ lw $s6, 0xb8($sp) +/* 380314 E007EBF4 8FB500B4 */ lw $s5, 0xb4($sp) +/* 380318 E007EBF8 8FB400B0 */ lw $s4, 0xb0($sp) +/* 38031C E007EBFC 8FB300AC */ lw $s3, 0xac($sp) +/* 380320 E007EC00 8FB200A8 */ lw $s2, 0xa8($sp) +/* 380324 E007EC04 8FB100A4 */ lw $s1, 0xa4($sp) +/* 380328 E007EC08 8FB000A0 */ lw $s0, 0xa0($sp) +/* 38032C E007EC0C D7BA00E0 */ ldc1 $f26, 0xe0($sp) +/* 380330 E007EC10 D7B800D8 */ ldc1 $f24, 0xd8($sp) +/* 380334 E007EC14 D7B600D0 */ ldc1 $f22, 0xd0($sp) +/* 380338 E007EC18 D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 38033C E007EC1C 03E00008 */ jr $ra +/* 380340 E007EC20 27BD00E8 */ addiu $sp, $sp, 0xe8 +/* 380344 E007EC24 00000000 */ nop +/* 380348 E007EC28 00000000 */ nop +/* 38034C E007EC2C 00000000 */ nop diff --git a/asm/nonmatchings/code_3812C0/func_E0080000.s b/asm/nonmatchings/code_3812C0/func_E0080000.s new file mode 100644 index 0000000000..08d28c37e9 --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E0080000.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0080000 +/* 3812C0 E0080000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3812C4 E0080004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3812C8 E0080008 4485A000 */ mtc1 $a1, $f20 +/* 3812CC E008000C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3812D0 E0080010 4486B000 */ mtc1 $a2, $f22 +/* 3812D4 E0080014 AFB30034 */ sw $s3, 0x34($sp) +/* 3812D8 E0080018 0080982D */ daddu $s3, $a0, $zero +/* 3812DC E008001C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3812E0 E0080020 4487C000 */ mtc1 $a3, $f24 +/* 3812E4 E0080024 27A40010 */ addiu $a0, $sp, 0x10 +/* 3812E8 E0080028 AFB00028 */ sw $s0, 0x28($sp) +/* 3812EC E008002C 8FB00068 */ lw $s0, 0x68($sp) +/* 3812F0 E0080030 3C02E008 */ lui $v0, 0xe008 +/* 3812F4 E0080034 244201C8 */ addiu $v0, $v0, 0x1c8 +/* 3812F8 E0080038 AFA20018 */ sw $v0, 0x18($sp) +/* 3812FC E008003C 3C02E008 */ lui $v0, 0xe008 +/* 381300 E0080040 244201D0 */ addiu $v0, $v0, 0x1d0 +/* 381304 E0080044 AFA2001C */ sw $v0, 0x1c($sp) +/* 381308 E0080048 3C02E008 */ lui $v0, 0xe008 +/* 38130C E008004C 24420424 */ addiu $v0, $v0, 0x424 +/* 381310 E0080050 AFA20020 */ sw $v0, 0x20($sp) +/* 381314 E0080054 3C02E008 */ lui $v0, 0xe008 +/* 381318 E0080058 2442042C */ addiu $v0, $v0, 0x42c +/* 38131C E008005C AFA20024 */ sw $v0, 0x24($sp) +/* 381320 E0080060 24020040 */ addiu $v0, $zero, 0x40 +/* 381324 E0080064 AFBF0038 */ sw $ra, 0x38($sp) +/* 381328 E0080068 AFB20030 */ sw $s2, 0x30($sp) +/* 38132C E008006C AFB1002C */ sw $s1, 0x2c($sp) +/* 381330 E0080070 AFA00010 */ sw $zero, 0x10($sp) +/* 381334 E0080074 0C080124 */ jal func_E0200490 +/* 381338 E0080078 AFA20014 */ sw $v0, 0x14($sp) +/* 38133C E008007C 24040090 */ addiu $a0, $zero, 0x90 +/* 381340 E0080080 24120002 */ addiu $s2, $zero, 2 +/* 381344 E0080084 0040882D */ daddu $s1, $v0, $zero +/* 381348 E0080088 0C08012C */ jal func_E02004B0 +/* 38134C E008008C AE320008 */ sw $s2, 8($s1) +/* 381350 E0080090 0040182D */ daddu $v1, $v0, $zero +/* 381354 E0080094 14600003 */ bnez $v1, .LE00800A4 +/* 381358 E0080098 AE23000C */ sw $v1, 0xc($s1) +.LE008009C: +/* 38135C E008009C 08020027 */ j .LE008009C +/* 381360 E00800A0 00000000 */ nop +.LE00800A4: +/* 381364 E00800A4 2402002E */ addiu $v0, $zero, 0x2e +/* 381368 E00800A8 AC730000 */ sw $s3, ($v1) +/* 38136C E00800AC E4740004 */ swc1 $f20, 4($v1) +/* 381370 E00800B0 E4760008 */ swc1 $f22, 8($v1) +/* 381374 E00800B4 E478000C */ swc1 $f24, 0xc($v1) +/* 381378 E00800B8 AC62002C */ sw $v0, 0x2c($v1) +/* 38137C E00800BC 06010005 */ bgez $s0, .LE00800D4 +/* 381380 E00800C0 AC600030 */ sw $zero, 0x30($v1) +/* 381384 E00800C4 24020001 */ addiu $v0, $zero, 1 +/* 381388 E00800C8 AC620044 */ sw $v0, 0x44($v1) +/* 38138C E00800CC 08020036 */ j .LE00800D8 +/* 381390 E00800D0 00108023 */ negu $s0, $s0 +.LE00800D4: +/* 381394 E00800D4 AC600044 */ sw $zero, 0x44($v1) +.LE00800D8: +/* 381398 E00800D8 AC700040 */ sw $s0, 0x40($v1) +/* 38139C E00800DC 24050001 */ addiu $a1, $zero, 1 +/* 3813A0 E00800E0 00B2102A */ slt $v0, $a1, $s2 +/* 3813A4 E00800E4 1040002D */ beqz $v0, .LE008019C +/* 3813A8 E00800E8 24630048 */ addiu $v1, $v1, 0x48 +/* 3813AC E00800EC 00A0382D */ daddu $a3, $a1, $zero +/* 3813B0 E00800F0 3C013FB3 */ lui $at, 0x3fb3 +/* 3813B4 E00800F4 34213333 */ ori $at, $at, 0x3333 +/* 3813B8 E00800F8 44811000 */ mtc1 $at, $f2 +/* 3813BC E00800FC 240600FF */ addiu $a2, $zero, 0xff +/* 3813C0 E0080100 24640028 */ addiu $a0, $v1, 0x28 +.LE0080104: +/* 3813C4 E0080104 AC80FFDC */ sw $zero, -0x24($a0) +/* 3813C8 E0080108 AC80FFE0 */ sw $zero, -0x20($a0) +/* 3813CC E008010C AC80FFE4 */ sw $zero, -0x1c($a0) +/* 3813D0 E0080110 AC80FFFC */ sw $zero, -4($a0) +/* 3813D4 E0080114 AC80FFE8 */ sw $zero, -0x18($a0) +/* 3813D8 E0080118 AC80FFF0 */ sw $zero, -0x10($a0) +/* 3813DC E008011C AC80FFF8 */ sw $zero, -8($a0) +/* 3813E0 E0080120 14A70007 */ bne $a1, $a3, .LE0080140 +/* 3813E4 E0080124 AC80FFF4 */ sw $zero, -0xc($a0) +/* 3813E8 E0080128 AC80FFDC */ sw $zero, -0x24($a0) +/* 3813EC E008012C AC80000C */ sw $zero, 0xc($a0) +/* 3813F0 E0080130 AC800010 */ sw $zero, 0x10($a0) +/* 3813F4 E0080134 AC800014 */ sw $zero, 0x14($a0) +/* 3813F8 E0080138 08020061 */ j .LE0080184 +/* 3813FC E008013C E482FFEC */ swc1 $f2, -0x14($a0) +.LE0080140: +/* 381400 E0080140 30A30001 */ andi $v1, $a1, 1 +/* 381404 E0080144 00031840 */ sll $v1, $v1, 1 +/* 381408 E0080148 2463FFFF */ addiu $v1, $v1, -1 +/* 38140C E008014C 24A2FFFF */ addiu $v0, $a1, -1 +/* 381410 E0080150 00021043 */ sra $v0, $v0, 1 +/* 381414 E0080154 00620018 */ mult $v1, $v0 +/* 381418 E0080158 24A2000A */ addiu $v0, $a1, 0xa +/* 38141C E008015C E482FFEC */ swc1 $f2, -0x14($a0) +/* 381420 E0080160 AC82000C */ sw $v0, 0xc($a0) +/* 381424 E0080164 AC800010 */ sw $zero, 0x10($a0) +/* 381428 E0080168 AC800014 */ sw $zero, 0x14($a0) +/* 38142C E008016C 00004012 */ mflo $t0 +/* 381430 E0080170 00081080 */ sll $v0, $t0, 2 +/* 381434 E0080174 44820000 */ mtc1 $v0, $f0 +/* 381438 E0080178 00000000 */ nop +/* 38143C E008017C 46800020 */ cvt.s.w $f0, $f0 +/* 381440 E0080180 E480FFDC */ swc1 $f0, -0x24($a0) +.LE0080184: +/* 381444 E0080184 24A50001 */ addiu $a1, $a1, 1 +/* 381448 E0080188 AC800004 */ sw $zero, 4($a0) +/* 38144C E008018C AC860000 */ sw $a2, ($a0) +/* 381450 E0080190 00B2102A */ slt $v0, $a1, $s2 +/* 381454 E0080194 1440FFDB */ bnez $v0, .LE0080104 +/* 381458 E0080198 24840048 */ addiu $a0, $a0, 0x48 +.LE008019C: +/* 38145C E008019C 0220102D */ daddu $v0, $s1, $zero +/* 381460 E00801A0 8FBF0038 */ lw $ra, 0x38($sp) +/* 381464 E00801A4 8FB30034 */ lw $s3, 0x34($sp) +/* 381468 E00801A8 8FB20030 */ lw $s2, 0x30($sp) +/* 38146C E00801AC 8FB1002C */ lw $s1, 0x2c($sp) +/* 381470 E00801B0 8FB00028 */ lw $s0, 0x28($sp) +/* 381474 E00801B4 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 381478 E00801B8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 38147C E00801BC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 381480 E00801C0 03E00008 */ jr $ra +/* 381484 E00801C4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_3812C0/func_E00801C8.s b/asm/nonmatchings/code_3812C0/func_E00801C8.s new file mode 100644 index 0000000000..72e65265da --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E00801C8.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00801C8 +/* 381488 E00801C8 03E00008 */ jr $ra +/* 38148C E00801CC 00000000 */ nop diff --git a/asm/nonmatchings/code_3812C0/func_E00801D0.s b/asm/nonmatchings/code_3812C0/func_E00801D0.s new file mode 100644 index 0000000000..f1d7d9f2f8 --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E00801D0.s @@ -0,0 +1,162 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00801D0 +/* 381490 E00801D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 381494 E00801D4 AFB50024 */ sw $s5, 0x24($sp) +/* 381498 E00801D8 0080A82D */ daddu $s5, $a0, $zero +/* 38149C E00801DC AFBF0030 */ sw $ra, 0x30($sp) +/* 3814A0 E00801E0 AFB7002C */ sw $s7, 0x2c($sp) +/* 3814A4 E00801E4 AFB60028 */ sw $s6, 0x28($sp) +/* 3814A8 E00801E8 AFB40020 */ sw $s4, 0x20($sp) +/* 3814AC E00801EC AFB3001C */ sw $s3, 0x1c($sp) +/* 3814B0 E00801F0 AFB20018 */ sw $s2, 0x18($sp) +/* 3814B4 E00801F4 AFB10014 */ sw $s1, 0x14($sp) +/* 3814B8 E00801F8 AFB00010 */ sw $s0, 0x10($sp) +/* 3814BC E00801FC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3814C0 E0080200 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3814C4 E0080204 8EA3000C */ lw $v1, 0xc($s5) +/* 3814C8 E0080208 8C62002C */ lw $v0, 0x2c($v1) +/* 3814CC E008020C 2442FFFF */ addiu $v0, $v0, -1 +/* 3814D0 E0080210 AC62002C */ sw $v0, 0x2c($v1) +/* 3814D4 E0080214 8C620030 */ lw $v0, 0x30($v1) +/* 3814D8 E0080218 8C64002C */ lw $a0, 0x2c($v1) +/* 3814DC E008021C 24420001 */ addiu $v0, $v0, 1 +/* 3814E0 E0080220 04810005 */ bgez $a0, .LE0080238 +/* 3814E4 E0080224 AC620030 */ sw $v0, 0x30($v1) +/* 3814E8 E0080228 0C080128 */ jal func_E02004A0 +/* 3814EC E008022C 02A0202D */ daddu $a0, $s5, $zero +/* 3814F0 E0080230 080200FC */ j .LE00803F0 +/* 3814F4 E0080234 00000000 */ nop +.LE0080238: +/* 3814F8 E0080238 24630048 */ addiu $v1, $v1, 0x48 +/* 3814FC E008023C 24120001 */ addiu $s2, $zero, 1 +/* 381500 E0080240 8EA20008 */ lw $v0, 8($s5) +/* 381504 E0080244 0242102A */ slt $v0, $s2, $v0 +/* 381508 E0080248 10400069 */ beqz $v0, .LE00803F0 +/* 38150C E008024C 0080882D */ daddu $s1, $a0, $zero +/* 381510 E0080250 3C013F80 */ lui $at, 0x3f80 +/* 381514 E0080254 4481B000 */ mtc1 $at, $f22 +/* 381518 E0080258 3C17E008 */ lui $s7, 0xe008 +/* 38151C E008025C 26F70AF0 */ addiu $s7, $s7, 0xaf0 +/* 381520 E0080260 02511004 */ sllv $v0, $s1, $s2 +/* 381524 E0080264 0051A021 */ addu $s4, $v0, $s1 +/* 381528 E0080268 001410C0 */ sll $v0, $s4, 3 +/* 38152C E008026C 0051B021 */ addu $s6, $v0, $s1 +/* 381530 E0080270 2470002C */ addiu $s0, $v1, 0x2c +/* 381534 E0080274 24130026 */ addiu $s3, $zero, 0x26 +.LE0080278: +/* 381538 E0080278 8E020008 */ lw $v0, 8($s0) +/* 38153C E008027C 8E030000 */ lw $v1, ($s0) +/* 381540 E0080280 18400003 */ blez $v0, .LE0080290 +/* 381544 E0080284 2442FFFF */ addiu $v0, $v0, -1 +/* 381548 E0080288 1C400053 */ bgtz $v0, .LE00803D8 +/* 38154C E008028C AE020008 */ sw $v0, 8($s0) +.LE0080290: +/* 381550 E0080290 28620007 */ slti $v0, $v1, 7 +/* 381554 E0080294 14400004 */ bnez $v0, .LE00802A8 +/* 381558 E0080298 00031880 */ sll $v1, $v1, 2 +/* 38155C E008029C E6160010 */ swc1 $f22, 0x10($s0) +/* 381560 E00802A0 080200B1 */ j .LE00802C4 +/* 381564 E00802A4 E616000C */ swc1 $f22, 0xc($s0) +.LE00802A8: +/* 381568 E00802A8 00771021 */ addu $v0, $v1, $s7 +/* 38156C E00802AC C4400000 */ lwc1 $f0, ($v0) +/* 381570 E00802B0 E600000C */ swc1 $f0, 0xc($s0) +/* 381574 E00802B4 3C01E008 */ lui $at, 0xe008 +/* 381578 E00802B8 00230821 */ addu $at, $at, $v1 +/* 38157C E00802BC C4200B0C */ lwc1 $f0, 0xb0c($at) +/* 381580 E00802C0 E6000010 */ swc1 $f0, 0x10($s0) +.LE00802C4: +/* 381584 E00802C4 00141080 */ sll $v0, $s4, 2 +/* 381588 E00802C8 02621021 */ addu $v0, $s3, $v0 +/* 38158C E00802CC 4482A000 */ mtc1 $v0, $f20 +/* 381590 E00802D0 00000000 */ nop +/* 381594 E00802D4 4680A520 */ cvt.s.w $f20, $f20 +/* 381598 E00802D8 C606FFD8 */ lwc1 $f6, -0x28($s0) +/* 38159C E00802DC C600FFE4 */ lwc1 $f0, -0x1c($s0) +/* 3815A0 E00802E0 C604FFDC */ lwc1 $f4, -0x24($s0) +/* 3815A4 E00802E4 46003180 */ add.s $f6, $f6, $f0 +/* 3815A8 E00802E8 C600FFE8 */ lwc1 $f0, -0x18($s0) +/* 3815AC E00802EC C602FFEC */ lwc1 $f2, -0x14($s0) +/* 3815B0 E00802F0 46002100 */ add.s $f4, $f4, $f0 +/* 3815B4 E00802F4 C600FFE0 */ lwc1 $f0, -0x20($s0) +/* 3815B8 E00802F8 4600A306 */ mov.s $f12, $f20 +/* 3815BC E00802FC 46020000 */ add.s $f0, $f0, $f2 +/* 3815C0 E0080300 E606FFD8 */ swc1 $f6, -0x28($s0) +/* 3815C4 E0080304 E604FFDC */ swc1 $f4, -0x24($s0) +/* 3815C8 E0080308 0C080140 */ jal func_E0200500 +/* 3815CC E008030C E600FFE0 */ swc1 $f0, -0x20($s0) +/* 3815D0 E0080310 3C01C1F0 */ lui $at, 0xc1f0 +/* 3815D4 E0080314 44811000 */ mtc1 $at, $f2 +/* 3815D8 E0080318 00000000 */ nop +/* 3815DC E008031C 46020002 */ mul.s $f0, $f0, $f2 +/* 3815E0 E0080320 00000000 */ nop +/* 3815E4 E0080324 4600A306 */ mov.s $f12, $f20 +/* 3815E8 E0080328 0C080144 */ jal func_E0200510 +/* 3815EC E008032C E600FFF0 */ swc1 $f0, -0x10($s0) +/* 3815F0 E0080330 3C014100 */ lui $at, 0x4100 +/* 3815F4 E0080334 44811000 */ mtc1 $at, $f2 +/* 3815F8 E0080338 00000000 */ nop +/* 3815FC E008033C 46020082 */ mul.s $f2, $f0, $f2 +/* 381600 E0080340 00000000 */ nop +/* 381604 E0080344 2A220014 */ slti $v0, $s1, 0x14 +/* 381608 E0080348 10400014 */ beqz $v0, .LE008039C +/* 38160C E008034C E602FFF8 */ swc1 $f2, -8($s0) +/* 381610 E0080350 44912000 */ mtc1 $s1, $f4 +/* 381614 E0080354 00000000 */ nop +/* 381618 E0080358 46802120 */ cvt.s.w $f4, $f4 +/* 38161C E008035C 3C01E008 */ lui $at, 0xe008 +/* 381620 E0080360 D4200B30 */ ldc1 $f0, 0xb30($at) +/* 381624 E0080364 46002121 */ cvt.d.s $f4, $f4 +/* 381628 E0080368 46202102 */ mul.d $f4, $f4, $f0 +/* 38162C E008036C 00000000 */ nop +/* 381630 E0080370 460010A1 */ cvt.d.s $f2, $f2 +/* 381634 E0080374 46241082 */ mul.d $f2, $f2, $f4 +/* 381638 E0080378 00000000 */ nop +/* 38163C E008037C C600FFF0 */ lwc1 $f0, -0x10($s0) +/* 381640 E0080380 46000021 */ cvt.d.s $f0, $f0 +/* 381644 E0080384 46240002 */ mul.d $f0, $f0, $f4 +/* 381648 E0080388 00000000 */ nop +/* 38164C E008038C 462010A0 */ cvt.s.d $f2, $f2 +/* 381650 E0080390 46200020 */ cvt.s.d $f0, $f0 +/* 381654 E0080394 E602FFF8 */ swc1 $f2, -8($s0) +/* 381658 E0080398 E600FFF0 */ swc1 $f0, -0x10($s0) +.LE008039C: +/* 38165C E008039C 2A22000A */ slti $v0, $s1, 0xa +/* 381660 E00803A0 1040000A */ beqz $v0, .LE00803CC +/* 381664 E00803A4 00000000 */ nop +/* 381668 E00803A8 C600FFE8 */ lwc1 $f0, -0x18($s0) +/* 38166C E00803AC 3C01E008 */ lui $at, 0xe008 +/* 381670 E00803B0 D4220B38 */ ldc1 $f2, 0xb38($at) +/* 381674 E00803B4 46000021 */ cvt.d.s $f0, $f0 +/* 381678 E00803B8 46220002 */ mul.d $f0, $f0, $f2 +/* 38167C E00803BC 00000000 */ nop +/* 381680 E00803C0 AE16FFFC */ sw $s6, -4($s0) +/* 381684 E00803C4 46200020 */ cvt.s.d $f0, $f0 +/* 381688 E00803C8 E600FFE8 */ swc1 $f0, -0x18($s0) +.LE00803CC: +/* 38168C E00803CC 8E020000 */ lw $v0, ($s0) +/* 381690 E00803D0 24420001 */ addiu $v0, $v0, 1 +/* 381694 E00803D4 AE020000 */ sw $v0, ($s0) +.LE00803D8: +/* 381698 E00803D8 26730026 */ addiu $s3, $s3, 0x26 +/* 38169C E00803DC 26520001 */ addiu $s2, $s2, 1 +/* 3816A0 E00803E0 8EA20008 */ lw $v0, 8($s5) +/* 3816A4 E00803E4 0242102A */ slt $v0, $s2, $v0 +/* 3816A8 E00803E8 1440FFA3 */ bnez $v0, .LE0080278 +/* 3816AC E00803EC 26100048 */ addiu $s0, $s0, 0x48 +.LE00803F0: +/* 3816B0 E00803F0 8FBF0030 */ lw $ra, 0x30($sp) +/* 3816B4 E00803F4 8FB7002C */ lw $s7, 0x2c($sp) +/* 3816B8 E00803F8 8FB60028 */ lw $s6, 0x28($sp) +/* 3816BC E00803FC 8FB50024 */ lw $s5, 0x24($sp) +/* 3816C0 E0080400 8FB40020 */ lw $s4, 0x20($sp) +/* 3816C4 E0080404 8FB3001C */ lw $s3, 0x1c($sp) +/* 3816C8 E0080408 8FB20018 */ lw $s2, 0x18($sp) +/* 3816CC E008040C 8FB10014 */ lw $s1, 0x14($sp) +/* 3816D0 E0080410 8FB00010 */ lw $s0, 0x10($sp) +/* 3816D4 E0080414 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3816D8 E0080418 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3816DC E008041C 03E00008 */ jr $ra +/* 3816E0 E0080420 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_3812C0/func_E0080424.s b/asm/nonmatchings/code_3812C0/func_E0080424.s new file mode 100644 index 0000000000..0e07704ece --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E0080424.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0080424 +/* 3816E4 E0080424 03E00008 */ jr $ra +/* 3816E8 E0080428 00000000 */ nop diff --git a/asm/nonmatchings/code_3812C0/func_E008042C.s b/asm/nonmatchings/code_3812C0/func_E008042C.s new file mode 100644 index 0000000000..5b7db07373 --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E008042C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008042C +/* 3816EC E008042C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3816F0 E0080430 AFBF0010 */ sw $ra, 0x10($sp) +/* 3816F4 E0080434 0C020112 */ jal func_E0080448 +/* 3816F8 E0080438 00000000 */ nop +/* 3816FC E008043C 8FBF0010 */ lw $ra, 0x10($sp) +/* 381700 E0080440 03E00008 */ jr $ra +/* 381704 E0080444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3812C0/func_E0080448.s b/asm/nonmatchings/code_3812C0/func_E0080448.s new file mode 100644 index 0000000000..7155eb5a62 --- /dev/null +++ b/asm/nonmatchings/code_3812C0/func_E0080448.s @@ -0,0 +1,434 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0080448 +/* 381708 E0080448 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 38170C E008044C 3C05DB06 */ lui $a1, 0xdb06 +/* 381710 E0080450 34A50024 */ ori $a1, $a1, 0x24 +/* 381714 E0080454 AFA40118 */ sw $a0, 0x118($sp) +/* 381718 E0080458 27A40018 */ addiu $a0, $sp, 0x18 +/* 38171C E008045C AFB300F4 */ sw $s3, 0xf4($sp) +/* 381720 E0080460 3C13800A */ lui $s3, 0x800a +/* 381724 E0080464 2673A66C */ addiu $s3, $s3, -0x5994 +/* 381728 E0080468 8FAA0118 */ lw $t2, 0x118($sp) +/* 38172C E008046C 3C02E700 */ lui $v0, 0xe700 +/* 381730 E0080470 AFBF010C */ sw $ra, 0x10c($sp) +/* 381734 E0080474 AFBE0108 */ sw $fp, 0x108($sp) +/* 381738 E0080478 AFB70104 */ sw $s7, 0x104($sp) +/* 38173C E008047C AFB60100 */ sw $s6, 0x100($sp) +/* 381740 E0080480 AFB500FC */ sw $s5, 0xfc($sp) +/* 381744 E0080484 AFB400F8 */ sw $s4, 0xf8($sp) +/* 381748 E0080488 AFB200F0 */ sw $s2, 0xf0($sp) +/* 38174C E008048C AFB100EC */ sw $s1, 0xec($sp) +/* 381750 E0080490 AFB000E8 */ sw $s0, 0xe8($sp) +/* 381754 E0080494 F7B40110 */ sdc1 $f20, 0x110($sp) +/* 381758 E0080498 8E680000 */ lw $t0, ($s3) +/* 38175C E008049C 8D52000C */ lw $s2, 0xc($t2) +/* 381760 E00804A0 0100182D */ daddu $v1, $t0, $zero +/* 381764 E00804A4 8E4A0044 */ lw $t2, 0x44($s2) +/* 381768 E00804A8 25080008 */ addiu $t0, $t0, 8 +/* 38176C E00804AC AFAA00DC */ sw $t2, 0xdc($sp) +/* 381770 E00804B0 AC620000 */ sw $v0, ($v1) +/* 381774 E00804B4 AC600004 */ sw $zero, 4($v1) +/* 381778 E00804B8 AD050000 */ sw $a1, ($t0) +/* 38177C E00804BC 8FAA0118 */ lw $t2, 0x118($sp) +/* 381780 E00804C0 3C110001 */ lui $s1, 1 +/* 381784 E00804C4 8D420010 */ lw $v0, 0x10($t2) +/* 381788 E00804C8 36311630 */ ori $s1, $s1, 0x1630 +/* 38178C E00804CC AE680000 */ sw $t0, ($s3) +/* 381790 E00804D0 8C42001C */ lw $v0, 0x1c($v0) +/* 381794 E00804D4 3C038000 */ lui $v1, 0x8000 +/* 381798 E00804D8 00431021 */ addu $v0, $v0, $v1 +/* 38179C E00804DC AD020004 */ sw $v0, 4($t0) +/* 3817A0 E00804E0 8E450004 */ lw $a1, 4($s2) +/* 3817A4 E00804E4 8E460008 */ lw $a2, 8($s2) +/* 3817A8 E00804E8 8E47000C */ lw $a3, 0xc($s2) +/* 3817AC E00804EC 25080008 */ addiu $t0, $t0, 8 +/* 3817B0 E00804F0 0C080108 */ jal func_E0200420 +/* 3817B4 E00804F4 AE680000 */ sw $t0, ($s3) +/* 3817B8 E00804F8 27B50058 */ addiu $s5, $sp, 0x58 +/* 3817BC E00804FC 3C013F80 */ lui $at, 0x3f80 +/* 3817C0 E0080500 4481A000 */ mtc1 $at, $f20 +/* 3817C4 E0080504 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 3817C8 E0080508 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 3817CC E008050C 44800000 */ mtc1 $zero, $f0 +/* 3817D0 E0080510 00031080 */ sll $v0, $v1, 2 +/* 3817D4 E0080514 00431021 */ addu $v0, $v0, $v1 +/* 3817D8 E0080518 00021080 */ sll $v0, $v0, 2 +/* 3817DC E008051C 00431023 */ subu $v0, $v0, $v1 +/* 3817E0 E0080520 000218C0 */ sll $v1, $v0, 3 +/* 3817E4 E0080524 00431021 */ addu $v0, $v0, $v1 +/* 3817E8 E0080528 000210C0 */ sll $v0, $v0, 3 +/* 3817EC E008052C 44060000 */ mfc1 $a2, $f0 +/* 3817F0 E0080530 3C01800B */ lui $at, 0x800b +/* 3817F4 E0080534 00220821 */ addu $at, $at, $v0 +/* 3817F8 E0080538 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 3817FC E008053C 4407A000 */ mfc1 $a3, $f20 +/* 381800 E0080540 46000007 */ neg.s $f0, $f0 +/* 381804 E0080544 44050000 */ mfc1 $a1, $f0 +/* 381808 E0080548 02A0202D */ daddu $a0, $s5, $zero +/* 38180C E008054C 0C080104 */ jal func_E0200410 +/* 381810 E0080550 AFA60010 */ sw $a2, 0x10($sp) +/* 381814 E0080554 02A0202D */ daddu $a0, $s5, $zero +/* 381818 E0080558 27A50018 */ addiu $a1, $sp, 0x18 +/* 38181C E008055C 27B00098 */ addiu $s0, $sp, 0x98 +/* 381820 E0080560 0C080114 */ jal func_E0200450 +/* 381824 E0080564 0200302D */ daddu $a2, $s0, $zero +/* 381828 E0080568 0200202D */ daddu $a0, $s0, $zero +/* 38182C E008056C 3C168007 */ lui $s6, 0x8007 +/* 381830 E0080570 26D641F0 */ addiu $s6, $s6, 0x41f0 +/* 381834 E0080574 3C1E800A */ lui $fp, 0x800a +/* 381838 E0080578 27DEA674 */ addiu $fp, $fp, -0x598c +/* 38183C E008057C 96C50000 */ lhu $a1, ($s6) +/* 381840 E0080580 8FC20000 */ lw $v0, ($fp) +/* 381844 E0080584 00052980 */ sll $a1, $a1, 6 +/* 381848 E0080588 00B12821 */ addu $a1, $a1, $s1 +/* 38184C E008058C 0C080118 */ jal func_E0200460 +/* 381850 E0080590 00452821 */ addu $a1, $v0, $a1 +/* 381854 E0080594 240A0001 */ addiu $t2, $zero, 1 +/* 381858 E0080598 8E650000 */ lw $a1, ($s3) +/* 38185C E008059C 3C02DA38 */ lui $v0, 0xda38 +/* 381860 E00805A0 AFAA00D8 */ sw $t2, 0xd8($sp) +/* 381864 E00805A4 96C40000 */ lhu $a0, ($s6) +/* 381868 E00805A8 00A0302D */ daddu $a2, $a1, $zero +/* 38186C E00805AC ACC20000 */ sw $v0, ($a2) +/* 381870 E00805B0 3082FFFF */ andi $v0, $a0, 0xffff +/* 381874 E00805B4 00021180 */ sll $v0, $v0, 6 +/* 381878 E00805B8 8FC30000 */ lw $v1, ($fp) +/* 38187C E00805BC 00511021 */ addu $v0, $v0, $s1 +/* 381880 E00805C0 00621821 */ addu $v1, $v1, $v0 +/* 381884 E00805C4 ACC30004 */ sw $v1, 4($a2) +/* 381888 E00805C8 8E540000 */ lw $s4, ($s2) +/* 38188C E00805CC 8E570040 */ lw $s7, 0x40($s2) +/* 381890 E00805D0 24A50008 */ addiu $a1, $a1, 8 +/* 381894 E00805D4 AE650000 */ sw $a1, ($s3) +/* 381898 E00805D8 8FAA0118 */ lw $t2, 0x118($sp) +/* 38189C E00805DC 8D420008 */ lw $v0, 8($t2) +/* 3818A0 E00805E0 24840001 */ addiu $a0, $a0, 1 +/* 3818A4 E00805E4 A6C40000 */ sh $a0, ($s6) +/* 3818A8 E00805E8 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 3818AC E00805EC 0142102A */ slt $v0, $t2, $v0 +/* 3818B0 E00805F0 10400118 */ beqz $v0, .LE0080A54 +/* 3818B4 E00805F4 26520048 */ addiu $s2, $s2, 0x48 +/* 3818B8 E00805F8 0260802D */ daddu $s0, $s3, $zero +/* 3818BC E00805FC 3C13DE00 */ lui $s3, 0xde00 +/* 3818C0 E0080600 AFB500E0 */ sw $s5, 0xe0($sp) +/* 3818C4 E0080604 3C150001 */ lui $s5, 1 +/* 3818C8 E0080608 36B51630 */ ori $s5, $s5, 0x1630 +/* 3818CC E008060C 3C1ED838 */ lui $fp, 0xd838 +/* 3818D0 E0080610 37DE0002 */ ori $fp, $fp, 2 +/* 3818D4 E0080614 2651001C */ addiu $s1, $s2, 0x1c +.LE0080618: +/* 3818D8 E0080618 8E220018 */ lw $v0, 0x18($s1) +/* 3818DC E008061C 1C400104 */ bgtz $v0, .LE0080A30 +/* 3818E0 E0080620 3C02FA00 */ lui $v0, 0xfa00 +/* 3818E4 E0080624 8E070000 */ lw $a3, ($s0) +/* 3818E8 E0080628 00E0182D */ daddu $v1, $a3, $zero +/* 3818EC E008062C 24E70008 */ addiu $a3, $a3, 8 +/* 3818F0 E0080630 AE070000 */ sw $a3, ($s0) +/* 3818F4 E0080634 AC620000 */ sw $v0, ($v1) +/* 3818F8 E0080638 9222000F */ lbu $v0, 0xf($s1) +/* 3818FC E008063C AC620004 */ sw $v0, 4($v1) +/* 381900 E0080640 8E23000C */ lw $v1, 0xc($s1) +/* 381904 E0080644 240200FF */ addiu $v0, $zero, 0xff +/* 381908 E0080648 14620011 */ bne $v1, $v0, .LE0080690 +/* 38190C E008064C 3C05E200 */ lui $a1, 0xe200 +/* 381910 E0080650 3C04E200 */ lui $a0, 0xe200 +/* 381914 E0080654 3484001C */ ori $a0, $a0, 0x1c +/* 381918 E0080658 3C030055 */ lui $v1, 0x55 +/* 38191C E008065C 34631208 */ ori $v1, $v1, 0x1208 +/* 381920 E0080660 3C05FC12 */ lui $a1, 0xfc12 +/* 381924 E0080664 34A57E24 */ ori $a1, $a1, 0x7e24 +/* 381928 E0080668 24E20008 */ addiu $v0, $a3, 8 +/* 38192C E008066C AE020000 */ sw $v0, ($s0) +/* 381930 E0080670 24E20010 */ addiu $v0, $a3, 0x10 +/* 381934 E0080674 ACE40000 */ sw $a0, ($a3) +/* 381938 E0080678 ACE30004 */ sw $v1, 4($a3) +/* 38193C E008067C AE020000 */ sw $v0, ($s0) +/* 381940 E0080680 2402F3F9 */ addiu $v0, $zero, -0xc07 +/* 381944 E0080684 ACE50008 */ sw $a1, 8($a3) +/* 381948 E0080688 080201B3 */ j .LE00806CC +/* 38194C E008068C ACE2000C */ sw $v0, 0xc($a3) +.LE0080690: +/* 381950 E0080690 34A5001C */ ori $a1, $a1, 0x1c +/* 381954 E0080694 3C030050 */ lui $v1, 0x50 +/* 381958 E0080698 34634340 */ ori $v1, $v1, 0x4340 +/* 38195C E008069C 3C06FC12 */ lui $a2, 0xfc12 +/* 381960 E00806A0 34C63224 */ ori $a2, $a2, 0x3224 +/* 381964 E00806A4 3C04FF67 */ lui $a0, 0xff67 +/* 381968 E00806A8 3484FFFF */ ori $a0, $a0, 0xffff +/* 38196C E00806AC 24E20008 */ addiu $v0, $a3, 8 +/* 381970 E00806B0 AE020000 */ sw $v0, ($s0) +/* 381974 E00806B4 24E20010 */ addiu $v0, $a3, 0x10 +/* 381978 E00806B8 ACE50000 */ sw $a1, ($a3) +/* 38197C E00806BC ACE30004 */ sw $v1, 4($a3) +/* 381980 E00806C0 AE020000 */ sw $v0, ($s0) +/* 381984 E00806C4 ACE60008 */ sw $a2, 8($a3) +/* 381988 E00806C8 ACE4000C */ sw $a0, 0xc($a3) +.LE00806CC: +/* 38198C E00806CC 8E020000 */ lw $v0, ($s0) +/* 381990 E00806D0 0040182D */ daddu $v1, $v0, $zero +/* 381994 E00806D4 24420008 */ addiu $v0, $v0, 8 +/* 381998 E00806D8 AE020000 */ sw $v0, ($s0) +/* 38199C E00806DC AC730000 */ sw $s3, ($v1) +/* 3819A0 E00806E0 12800004 */ beqz $s4, .LE00806F4 +/* 3819A4 E00806E4 24630004 */ addiu $v1, $v1, 4 +/* 3819A8 E00806E8 24020002 */ addiu $v0, $zero, 2 +/* 3819AC E00806EC 1682000A */ bne $s4, $v0, .LE0080718 +/* 3819B0 E00806F0 00000000 */ nop +.LE00806F4: +/* 3819B4 E00806F4 8FAA00DC */ lw $t2, 0xdc($sp) +/* 3819B8 E00806F8 3C020900 */ lui $v0, 0x900 +/* 3819BC E00806FC 24423298 */ addiu $v0, $v0, 0x3298 +/* 3819C0 E0080700 55400008 */ bnel $t2, $zero, .LE0080724 +/* 3819C4 E0080704 AC620000 */ sw $v0, ($v1) +/* 3819C8 E0080708 3C020900 */ lui $v0, 0x900 +/* 3819CC E008070C 24423200 */ addiu $v0, $v0, 0x3200 +/* 3819D0 E0080710 080201C9 */ j .LE0080724 +/* 3819D4 E0080714 AC620000 */ sw $v0, ($v1) +.LE0080718: +/* 3819D8 E0080718 3C020900 */ lui $v0, 0x900 +/* 3819DC E008071C 24423330 */ addiu $v0, $v0, 0x3330 +/* 3819E0 E0080720 AC620000 */ sw $v0, ($v1) +.LE0080724: +/* 3819E4 E0080724 C622FFE8 */ lwc1 $f2, -0x18($s1) +/* 3819E8 E0080728 C6200008 */ lwc1 $f0, 8($s1) +/* 3819EC E008072C 46001080 */ add.s $f2, $f2, $f0 +/* 3819F0 E0080730 8E26FFEC */ lw $a2, -0x14($s1) +/* 3819F4 E0080734 8E27FFF0 */ lw $a3, -0x10($s1) +/* 3819F8 E0080738 44051000 */ mfc1 $a1, $f2 +/* 3819FC E008073C 0C080108 */ jal func_E0200420 +/* 381A00 E0080740 27A40018 */ addiu $a0, $sp, 0x18 +/* 381A04 E0080744 8E25001C */ lw $a1, 0x1c($s1) +/* 381A08 E0080748 8E260020 */ lw $a2, 0x20($s1) +/* 381A0C E008074C 4407A000 */ mfc1 $a3, $f20 +/* 381A10 E0080750 0C080110 */ jal func_E0200440 +/* 381A14 E0080754 8FA400E0 */ lw $a0, 0xe0($sp) +/* 381A18 E0080758 27A50018 */ addiu $a1, $sp, 0x18 +/* 381A1C E008075C 8FA400E0 */ lw $a0, 0xe0($sp) +/* 381A20 E0080760 0C080114 */ jal func_E0200450 +/* 381A24 E0080764 00A0302D */ daddu $a2, $a1, $zero +/* 381A28 E0080768 27A40018 */ addiu $a0, $sp, 0x18 +/* 381A2C E008076C 96C50000 */ lhu $a1, ($s6) +/* 381A30 E0080770 3C02800A */ lui $v0, 0x800a +/* 381A34 E0080774 8C42A674 */ lw $v0, -0x598c($v0) +/* 381A38 E0080778 00052980 */ sll $a1, $a1, 6 +/* 381A3C E008077C 00B52821 */ addu $a1, $a1, $s5 +/* 381A40 E0080780 0C080118 */ jal func_E0200460 +/* 381A44 E0080784 00452821 */ addu $a1, $v0, $a1 +/* 381A48 E0080788 27A40018 */ addiu $a0, $sp, 0x18 +/* 381A4C E008078C 8E080000 */ lw $t0, ($s0) +/* 381A50 E0080790 96C90000 */ lhu $t1, ($s6) +/* 381A54 E0080794 3C03800A */ lui $v1, 0x800a +/* 381A58 E0080798 8C63A674 */ lw $v1, -0x598c($v1) +/* 381A5C E008079C 44800000 */ mtc1 $zero, $f0 +/* 381A60 E00807A0 0100282D */ daddu $a1, $t0, $zero +/* 381A64 E00807A4 3C0ADA38 */ lui $t2, 0xda38 +/* 381A68 E00807A8 3122FFFF */ andi $v0, $t1, 0xffff +/* 381A6C E00807AC 00021180 */ sll $v0, $v0, 6 +/* 381A70 E00807B0 00551021 */ addu $v0, $v0, $s5 +/* 381A74 E00807B4 00621821 */ addu $v1, $v1, $v0 +/* 381A78 E00807B8 25080008 */ addiu $t0, $t0, 8 +/* 381A7C E00807BC ACAA0000 */ sw $t2, ($a1) +/* 381A80 E00807C0 ACA30004 */ sw $v1, 4($a1) +/* 381A84 E00807C4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 381A88 E00807C8 8E250000 */ lw $a1, ($s1) +/* 381A8C E00807CC 44060000 */ mfc1 $a2, $f0 +/* 381A90 E00807D0 25290001 */ addiu $t1, $t1, 1 +/* 381A94 E00807D4 AE080000 */ sw $t0, ($s0) +/* 381A98 E00807D8 A6C90000 */ sh $t1, ($s6) +/* 381A9C E00807DC 0C080104 */ jal func_E0200410 +/* 381AA0 E00807E0 00C0382D */ daddu $a3, $a2, $zero +/* 381AA4 E00807E4 27A40018 */ addiu $a0, $sp, 0x18 +/* 381AA8 E00807E8 96C50000 */ lhu $a1, ($s6) +/* 381AAC E00807EC 3C02800A */ lui $v0, 0x800a +/* 381AB0 E00807F0 8C42A674 */ lw $v0, -0x598c($v0) +/* 381AB4 E00807F4 00052980 */ sll $a1, $a1, 6 +/* 381AB8 E00807F8 00B52821 */ addu $a1, $a1, $s5 +/* 381ABC E00807FC 0C080118 */ jal func_E0200460 +/* 381AC0 E0080800 00452821 */ addu $a1, $v0, $a1 +/* 381AC4 E0080804 8E050000 */ lw $a1, ($s0) +/* 381AC8 E0080808 96C30000 */ lhu $v1, ($s6) +/* 381ACC E008080C 00A0202D */ daddu $a0, $a1, $zero +/* 381AD0 E0080810 24A50008 */ addiu $a1, $a1, 8 +/* 381AD4 E0080814 3C0ADA38 */ lui $t2, 0xda38 +/* 381AD8 E0080818 24620001 */ addiu $v0, $v1, 1 +/* 381ADC E008081C 3063FFFF */ andi $v1, $v1, 0xffff +/* 381AE0 E0080820 00031980 */ sll $v1, $v1, 6 +/* 381AE4 E0080824 AE050000 */ sw $a1, ($s0) +/* 381AE8 E0080828 AC8A0000 */ sw $t2, ($a0) +/* 381AEC E008082C A6C20000 */ sh $v0, ($s6) +/* 381AF0 E0080830 3C02800A */ lui $v0, 0x800a +/* 381AF4 E0080834 8C42A674 */ lw $v0, -0x598c($v0) +/* 381AF8 E0080838 00751821 */ addu $v1, $v1, $s5 +/* 381AFC E008083C 00431021 */ addu $v0, $v0, $v1 +/* 381B00 E0080840 AC820004 */ sw $v0, 4($a0) +/* 381B04 E0080844 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 381B08 E0080848 24020001 */ addiu $v0, $zero, 1 +/* 381B0C E008084C 15420064 */ bne $t2, $v0, .LE00809E0 +/* 381B10 E0080850 24020002 */ addiu $v0, $zero, 2 +/* 381B14 E0080854 12820062 */ beq $s4, $v0, .LE00809E0 +/* 381B18 E0080858 24A20008 */ addiu $v0, $a1, 8 +/* 381B1C E008085C AE020000 */ sw $v0, ($s0) +/* 381B20 E0080860 3C020900 */ lui $v0, 0x900 +/* 381B24 E0080864 244233D0 */ addiu $v0, $v0, 0x33d0 +/* 381B28 E0080868 ACA20004 */ sw $v0, 4($a1) +/* 381B2C E008086C 24A20010 */ addiu $v0, $a1, 0x10 +/* 381B30 E0080870 240A0040 */ addiu $t2, $zero, 0x40 +/* 381B34 E0080874 ACB30000 */ sw $s3, ($a1) +/* 381B38 E0080878 AE020000 */ sw $v0, ($s0) +/* 381B3C E008087C 24A20018 */ addiu $v0, $a1, 0x18 +/* 381B40 E0080880 ACBE0008 */ sw $fp, 8($a1) +/* 381B44 E0080884 ACAA000C */ sw $t2, 0xc($a1) +/* 381B48 E0080888 AE020000 */ sw $v0, ($s0) +/* 381B4C E008088C 3C020900 */ lui $v0, 0x900 +/* 381B50 E0080890 244234D0 */ addiu $v0, $v0, 0x34d0 +/* 381B54 E0080894 ACA20014 */ sw $v0, 0x14($a1) +/* 381B58 E0080898 2AE2000A */ slti $v0, $s7, 0xa +/* 381B5C E008089C 10400017 */ beqz $v0, .LE00808FC +/* 381B60 E00808A0 ACB30010 */ sw $s3, 0x10($a1) +/* 381B64 E00808A4 8FAA00DC */ lw $t2, 0xdc($sp) +/* 381B68 E00808A8 15400015 */ bnez $t2, .LE0080900 +/* 381B6C E00808AC 3C026666 */ lui $v0, 0x6666 +/* 381B70 E00808B0 3C040900 */ lui $a0, 0x900 +/* 381B74 E00808B4 24843470 */ addiu $a0, $a0, 0x3470 +/* 381B78 E00808B8 24A20020 */ addiu $v0, $a1, 0x20 +/* 381B7C E00808BC AE020000 */ sw $v0, ($s0) +/* 381B80 E00808C0 00171080 */ sll $v0, $s7, 2 +/* 381B84 E00808C4 3C0AE008 */ lui $t2, 0xe008 +/* 381B88 E00808C8 254A0AC0 */ addiu $t2, $t2, 0xac0 +/* 381B8C E00808CC 004A1021 */ addu $v0, $v0, $t2 +/* 381B90 E00808D0 ACB30018 */ sw $s3, 0x18($a1) +/* 381B94 E00808D4 8C430000 */ lw $v1, ($v0) +/* 381B98 E00808D8 24A20028 */ addiu $v0, $a1, 0x28 +/* 381B9C E00808DC AE020000 */ sw $v0, ($s0) +/* 381BA0 E00808E0 ACB30020 */ sw $s3, 0x20($a1) +/* 381BA4 E00808E4 16800003 */ bnez $s4, .LE00808F4 +/* 381BA8 E00808E8 ACA3001C */ sw $v1, 0x1c($a1) +/* 381BAC E00808EC 3C040900 */ lui $a0, 0x900 +/* 381BB0 E00808F0 24843410 */ addiu $a0, $a0, 0x3410 +.LE00808F4: +/* 381BB4 E00808F4 08020285 */ j .LE0080A14 +/* 381BB8 E00808F8 ACA40024 */ sw $a0, 0x24($a1) +.LE00808FC: +/* 381BBC E00808FC 3C026666 */ lui $v0, 0x6666 +.LE0080900: +/* 381BC0 E0080900 34426667 */ ori $v0, $v0, 0x6667 +/* 381BC4 E0080904 02E20018 */ mult $s7, $v0 +/* 381BC8 E0080908 2409000A */ addiu $t1, $zero, 0xa +/* 381BCC E008090C 001717C3 */ sra $v0, $s7, 0x1f +/* 381BD0 E0080910 00005010 */ mfhi $t2 +/* 381BD4 E0080914 000A1883 */ sra $v1, $t2, 2 +/* 381BD8 E0080918 00621023 */ subu $v0, $v1, $v0 +/* 381BDC E008091C 0040202D */ daddu $a0, $v0, $zero +/* 381BE0 E0080920 00041080 */ sll $v0, $a0, 2 +/* 381BE4 E0080924 00441021 */ addu $v0, $v0, $a0 +/* 381BE8 E0080928 00021040 */ sll $v0, $v0, 1 +/* 381BEC E008092C 8FAA00DC */ lw $t2, 0xdc($sp) +/* 381BF0 E0080930 15400002 */ bnez $t2, .LE008093C +/* 381BF4 E0080934 02E21023 */ subu $v0, $s7, $v0 +/* 381BF8 E0080938 0080482D */ daddu $t1, $a0, $zero +.LE008093C: +/* 381BFC E008093C 3C080900 */ lui $t0, 0x900 +/* 381C00 E0080940 250834B0 */ addiu $t0, $t0, 0x34b0 +/* 381C04 E0080944 00021080 */ sll $v0, $v0, 2 +/* 381C08 E0080948 3C0AE008 */ lui $t2, 0xe008 +/* 381C0C E008094C 254A0AC0 */ addiu $t2, $t2, 0xac0 +/* 381C10 E0080950 8E060000 */ lw $a2, ($s0) +/* 381C14 E0080954 004A1021 */ addu $v0, $v0, $t2 +/* 381C18 E0080958 00C0202D */ daddu $a0, $a2, $zero +/* 381C1C E008095C 24C60008 */ addiu $a2, $a2, 8 +/* 381C20 E0080960 AE060000 */ sw $a2, ($s0) +/* 381C24 E0080964 AC930000 */ sw $s3, ($a0) +/* 381C28 E0080968 8C430000 */ lw $v1, ($v0) +/* 381C2C E008096C 24C20008 */ addiu $v0, $a2, 8 +/* 381C30 E0080970 AE020000 */ sw $v0, ($s0) +/* 381C34 E0080974 AC830004 */ sw $v1, 4($a0) +/* 381C38 E0080978 16800003 */ bnez $s4, .LE0080988 +/* 381C3C E008097C ACD30000 */ sw $s3, ($a2) +/* 381C40 E0080980 3C080900 */ lui $t0, 0x900 +/* 381C44 E0080984 25083450 */ addiu $t0, $t0, 0x3450 +.LE0080988: +/* 381C48 E0080988 3C070900 */ lui $a3, 0x900 +/* 381C4C E008098C 24E73490 */ addiu $a3, $a3, 0x3490 +/* 381C50 E0080990 00091080 */ sll $v0, $t1, 2 +/* 381C54 E0080994 3C0AE008 */ lui $t2, 0xe008 +/* 381C58 E0080998 254A0AC0 */ addiu $t2, $t2, 0xac0 +/* 381C5C E008099C 8E050000 */ lw $a1, ($s0) +/* 381C60 E00809A0 004A1021 */ addu $v0, $v0, $t2 +/* 381C64 E00809A4 ACC80004 */ sw $t0, 4($a2) +/* 381C68 E00809A8 00A0202D */ daddu $a0, $a1, $zero +/* 381C6C E00809AC 24A50008 */ addiu $a1, $a1, 8 +/* 381C70 E00809B0 AE050000 */ sw $a1, ($s0) +/* 381C74 E00809B4 AC930000 */ sw $s3, ($a0) +/* 381C78 E00809B8 8C430000 */ lw $v1, ($v0) +/* 381C7C E00809BC 24A20008 */ addiu $v0, $a1, 8 +/* 381C80 E00809C0 AE020000 */ sw $v0, ($s0) +/* 381C84 E00809C4 AC830004 */ sw $v1, 4($a0) +/* 381C88 E00809C8 16800003 */ bnez $s4, .LE00809D8 +/* 381C8C E00809CC ACB30000 */ sw $s3, ($a1) +/* 381C90 E00809D0 3C070900 */ lui $a3, 0x900 +/* 381C94 E00809D4 24E73430 */ addiu $a3, $a3, 0x3430 +.LE00809D8: +/* 381C98 E00809D8 08020285 */ j .LE0080A14 +/* 381C9C E00809DC ACA70004 */ sw $a3, 4($a1) +.LE00809E0: +/* 381CA0 E00809E0 8E030000 */ lw $v1, ($s0) +/* 381CA4 E00809E4 3C020900 */ lui $v0, 0x900 +/* 381CA8 E00809E8 244233F0 */ addiu $v0, $v0, 0x33f0 +/* 381CAC E00809EC 0060202D */ daddu $a0, $v1, $zero +/* 381CB0 E00809F0 24630008 */ addiu $v1, $v1, 8 +/* 381CB4 E00809F4 AE030000 */ sw $v1, ($s0) +/* 381CB8 E00809F8 AC820004 */ sw $v0, 4($a0) +/* 381CBC E00809FC 24620008 */ addiu $v0, $v1, 8 +/* 381CC0 E0080A00 AC930000 */ sw $s3, ($a0) +/* 381CC4 E0080A04 240A0040 */ addiu $t2, $zero, 0x40 +/* 381CC8 E0080A08 AE020000 */ sw $v0, ($s0) +/* 381CCC E0080A0C AC7E0000 */ sw $fp, ($v1) +/* 381CD0 E0080A10 AC6A0004 */ sw $t2, 4($v1) +.LE0080A14: +/* 381CD4 E0080A14 8E020000 */ lw $v0, ($s0) +/* 381CD8 E0080A18 0040182D */ daddu $v1, $v0, $zero +/* 381CDC E0080A1C 24420008 */ addiu $v0, $v0, 8 +/* 381CE0 E0080A20 240A0040 */ addiu $t2, $zero, 0x40 +/* 381CE4 E0080A24 AE020000 */ sw $v0, ($s0) +/* 381CE8 E0080A28 AC7E0000 */ sw $fp, ($v1) +/* 381CEC E0080A2C AC6A0004 */ sw $t2, 4($v1) +.LE0080A30: +/* 381CF0 E0080A30 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 381CF4 E0080A34 254A0001 */ addiu $t2, $t2, 1 +/* 381CF8 E0080A38 AFAA00D8 */ sw $t2, 0xd8($sp) +/* 381CFC E0080A3C 8FAA0118 */ lw $t2, 0x118($sp) +/* 381D00 E0080A40 8D420008 */ lw $v0, 8($t2) +/* 381D04 E0080A44 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 381D08 E0080A48 0142102A */ slt $v0, $t2, $v0 +/* 381D0C E0080A4C 1440FEF2 */ bnez $v0, .LE0080618 +/* 381D10 E0080A50 26310048 */ addiu $s1, $s1, 0x48 +.LE0080A54: +/* 381D14 E0080A54 3C05D838 */ lui $a1, 0xd838 +/* 381D18 E0080A58 3C03800A */ lui $v1, 0x800a +/* 381D1C E0080A5C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 381D20 E0080A60 8C620000 */ lw $v0, ($v1) +/* 381D24 E0080A64 34A50002 */ ori $a1, $a1, 2 +/* 381D28 E0080A68 0040202D */ daddu $a0, $v0, $zero +/* 381D2C E0080A6C 24420008 */ addiu $v0, $v0, 8 +/* 381D30 E0080A70 AC620000 */ sw $v0, ($v1) +/* 381D34 E0080A74 24020040 */ addiu $v0, $zero, 0x40 +/* 381D38 E0080A78 AC850000 */ sw $a1, ($a0) +/* 381D3C E0080A7C AC820004 */ sw $v0, 4($a0) +/* 381D40 E0080A80 8FBF010C */ lw $ra, 0x10c($sp) +/* 381D44 E0080A84 8FBE0108 */ lw $fp, 0x108($sp) +/* 381D48 E0080A88 8FB70104 */ lw $s7, 0x104($sp) +/* 381D4C E0080A8C 8FB60100 */ lw $s6, 0x100($sp) +/* 381D50 E0080A90 8FB500FC */ lw $s5, 0xfc($sp) +/* 381D54 E0080A94 8FB400F8 */ lw $s4, 0xf8($sp) +/* 381D58 E0080A98 8FB300F4 */ lw $s3, 0xf4($sp) +/* 381D5C E0080A9C 8FB200F0 */ lw $s2, 0xf0($sp) +/* 381D60 E0080AA0 8FB100EC */ lw $s1, 0xec($sp) +/* 381D64 E0080AA4 8FB000E8 */ lw $s0, 0xe8($sp) +/* 381D68 E0080AA8 D7B40110 */ ldc1 $f20, 0x110($sp) +/* 381D6C E0080AAC 03E00008 */ jr $ra +/* 381D70 E0080AB0 27BD0118 */ addiu $sp, $sp, 0x118 +/* 381D74 E0080AB4 00000000 */ nop +/* 381D78 E0080AB8 00000000 */ nop +/* 381D7C E0080ABC 00000000 */ nop diff --git a/asm/nonmatchings/code_385640/func_E0082000.s b/asm/nonmatchings/code_385640/func_E0082000.s new file mode 100644 index 0000000000..8576cdf477 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E0082000.s @@ -0,0 +1,124 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0082000 +/* 385640 E0082000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 385644 E0082004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 385648 E0082008 4485A000 */ mtc1 $a1, $f20 +/* 38564C E008200C AFB00028 */ sw $s0, 0x28($sp) +/* 385650 E0082010 0080802D */ daddu $s0, $a0, $zero +/* 385654 E0082014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 385658 E0082018 4486B000 */ mtc1 $a2, $f22 +/* 38565C E008201C 27A40010 */ addiu $a0, $sp, 0x10 +/* 385660 E0082020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 385664 E0082024 4487C000 */ mtc1 $a3, $f24 +/* 385668 E0082028 3C02E008 */ lui $v0, 0xe008 +/* 38566C E008202C 244221B0 */ addiu $v0, $v0, 0x21b0 +/* 385670 E0082030 AFA20018 */ sw $v0, 0x18($sp) +/* 385674 E0082034 3C02E008 */ lui $v0, 0xe008 +/* 385678 E0082038 244221B8 */ addiu $v0, $v0, 0x21b8 +/* 38567C E008203C AFA2001C */ sw $v0, 0x1c($sp) +/* 385680 E0082040 3C02E008 */ lui $v0, 0xe008 +/* 385684 E0082044 24422520 */ addiu $v0, $v0, 0x2520 +/* 385688 E0082048 AFA20020 */ sw $v0, 0x20($sp) +/* 38568C E008204C 3C02E008 */ lui $v0, 0xe008 +/* 385690 E0082050 24422528 */ addiu $v0, $v0, 0x2528 +/* 385694 E0082054 AFA20024 */ sw $v0, 0x24($sp) +/* 385698 E0082058 24020041 */ addiu $v0, $zero, 0x41 +/* 38569C E008205C AFBF0034 */ sw $ra, 0x34($sp) +/* 3856A0 E0082060 AFB20030 */ sw $s2, 0x30($sp) +/* 3856A4 E0082064 AFB1002C */ sw $s1, 0x2c($sp) +/* 3856A8 E0082068 AFA00010 */ sw $zero, 0x10($sp) +/* 3856AC E008206C 0C080124 */ jal func_E0200490 +/* 3856B0 E0082070 AFA20014 */ sw $v0, 0x14($sp) +/* 3856B4 E0082074 24040090 */ addiu $a0, $zero, 0x90 +/* 3856B8 E0082078 24120002 */ addiu $s2, $zero, 2 +/* 3856BC E008207C 0040882D */ daddu $s1, $v0, $zero +/* 3856C0 E0082080 0C08012C */ jal func_E02004B0 +/* 3856C4 E0082084 AE320008 */ sw $s2, 8($s1) +/* 3856C8 E0082088 0040182D */ daddu $v1, $v0, $zero +/* 3856CC E008208C 14600003 */ bnez $v1, .LE008209C +/* 3856D0 E0082090 AE23000C */ sw $v1, 0xc($s1) +.LE0082094: +/* 3856D4 E0082094 08020825 */ j .LE0082094 +/* 3856D8 E0082098 00000000 */ nop +.LE008209C: +/* 3856DC E008209C 3C013F80 */ lui $at, 0x3f80 +/* 3856E0 E00820A0 44810000 */ mtc1 $at, $f0 +/* 3856E4 E00820A4 24020001 */ addiu $v0, $zero, 1 +/* 3856E8 E00820A8 AC700000 */ sw $s0, ($v1) +/* 3856EC E00820AC 16020004 */ bne $s0, $v0, .LE00820C0 +/* 3856F0 E00820B0 E4600034 */ swc1 $f0, 0x34($v1) +/* 3856F4 E00820B4 AC700038 */ sw $s0, 0x38($v1) +/* 3856F8 E00820B8 08020834 */ j .LE00820D0 +/* 3856FC E00820BC AC60003C */ sw $zero, 0x3c($v1) +.LE00820C0: +/* 385700 E00820C0 AC600038 */ sw $zero, 0x38($v1) +/* 385704 E00820C4 8FA20060 */ lw $v0, 0x60($sp) +/* 385708 E00820C8 AC62003C */ sw $v0, 0x3c($v1) +/* 38570C E00820CC 24020001 */ addiu $v0, $zero, 1 +.LE00820D0: +/* 385710 E00820D0 E4740008 */ swc1 $f20, 8($v1) +/* 385714 E00820D4 E476000C */ swc1 $f22, 0xc($v1) +/* 385718 E00820D8 1202000E */ beq $s0, $v0, .LE0082114 +/* 38571C E00820DC E4780010 */ swc1 $f24, 0x10($v1) +/* 385720 E00820E0 2A020002 */ slti $v0, $s0, 2 +/* 385724 E00820E4 10400005 */ beqz $v0, .LE00820FC +/* 385728 E00820E8 2402000A */ addiu $v0, $zero, 0xa +/* 38572C E00820EC 12000007 */ beqz $s0, .LE008210C +/* 385730 E00820F0 24020001 */ addiu $v0, $zero, 1 +/* 385734 E00820F4 0802084B */ j .LE008212C +/* 385738 E00820F8 AC60002C */ sw $zero, 0x2c($v1) +.LE00820FC: +/* 38573C E00820FC 12020007 */ beq $s0, $v0, .LE008211C +/* 385740 E0082100 24020001 */ addiu $v0, $zero, 1 +/* 385744 E0082104 0802084B */ j .LE008212C +/* 385748 E0082108 AC60002C */ sw $zero, 0x2c($v1) +.LE008210C: +/* 38574C E008210C 08020848 */ j .LE0082120 +/* 385750 E0082110 24020064 */ addiu $v0, $zero, 0x64 +.LE0082114: +/* 385754 E0082114 08020848 */ j .LE0082120 +/* 385758 E0082118 24020064 */ addiu $v0, $zero, 0x64 +.LE008211C: +/* 38575C E008211C 24020015 */ addiu $v0, $zero, 0x15 +.LE0082120: +/* 385760 E0082120 AC620028 */ sw $v0, 0x28($v1) +/* 385764 E0082124 24020001 */ addiu $v0, $zero, 1 +/* 385768 E0082128 AC60002C */ sw $zero, 0x2c($v1) +.LE008212C: +/* 38576C E008212C AC600044 */ sw $zero, 0x44($v1) +/* 385770 E0082130 AC620004 */ sw $v0, 4($v1) +/* 385774 E0082134 0040202D */ daddu $a0, $v0, $zero +/* 385778 E0082138 0092102A */ slt $v0, $a0, $s2 +/* 38577C E008213C 10400012 */ beqz $v0, .LE0082188 +/* 385780 E0082140 24630048 */ addiu $v1, $v1, 0x48 +/* 385784 E0082144 44800000 */ mtc1 $zero, $f0 +/* 385788 E0082148 240500FF */ addiu $a1, $zero, 0xff +/* 38578C E008214C 24630024 */ addiu $v1, $v1, 0x24 +.LE0082150: +/* 385790 E0082150 24840001 */ addiu $a0, $a0, 1 +/* 385794 E0082154 E460FFEC */ swc1 $f0, -0x14($v1) +/* 385798 E0082158 E460FFE8 */ swc1 $f0, -0x18($v1) +/* 38579C E008215C E460FFE4 */ swc1 $f0, -0x1c($v1) +/* 3857A0 E0082160 E460FFFC */ swc1 $f0, -4($v1) +/* 3857A4 E0082164 E460FFF8 */ swc1 $f0, -8($v1) +/* 3857A8 E0082168 E460FFF4 */ swc1 $f0, -0xc($v1) +/* 3857AC E008216C E460FFF0 */ swc1 $f0, -0x10($v1) +/* 3857B0 E0082170 E460001C */ swc1 $f0, 0x1c($v1) +/* 3857B4 E0082174 AC600004 */ sw $zero, 4($v1) +/* 3857B8 E0082178 AC650000 */ sw $a1, ($v1) +/* 3857BC E008217C 0092102A */ slt $v0, $a0, $s2 +/* 3857C0 E0082180 1440FFF3 */ bnez $v0, .LE0082150 +/* 3857C4 E0082184 24630048 */ addiu $v1, $v1, 0x48 +.LE0082188: +/* 3857C8 E0082188 0220102D */ daddu $v0, $s1, $zero +/* 3857CC E008218C 8FBF0034 */ lw $ra, 0x34($sp) +/* 3857D0 E0082190 8FB20030 */ lw $s2, 0x30($sp) +/* 3857D4 E0082194 8FB1002C */ lw $s1, 0x2c($sp) +/* 3857D8 E0082198 8FB00028 */ lw $s0, 0x28($sp) +/* 3857DC E008219C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3857E0 E00821A0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3857E4 E00821A4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3857E8 E00821A8 03E00008 */ jr $ra +/* 3857EC E00821AC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_385640/func_E00821B0.s b/asm/nonmatchings/code_385640/func_E00821B0.s new file mode 100644 index 0000000000..824d51c1a3 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E00821B0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00821B0 +/* 3857F0 E00821B0 03E00008 */ jr $ra +/* 3857F4 E00821B4 00000000 */ nop diff --git a/asm/nonmatchings/code_385640/func_E00821B8.s b/asm/nonmatchings/code_385640/func_E00821B8.s new file mode 100644 index 0000000000..711c8ae449 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E00821B8.s @@ -0,0 +1,240 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00821B8 +/* 3857F8 E00821B8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 3857FC E00821BC AFB40028 */ sw $s4, 0x28($sp) +/* 385800 E00821C0 0080A02D */ daddu $s4, $a0, $zero +/* 385804 E00821C4 AFBF0038 */ sw $ra, 0x38($sp) +/* 385808 E00821C8 AFB70034 */ sw $s7, 0x34($sp) +/* 38580C E00821CC AFB60030 */ sw $s6, 0x30($sp) +/* 385810 E00821D0 AFB5002C */ sw $s5, 0x2c($sp) +/* 385814 E00821D4 AFB30024 */ sw $s3, 0x24($sp) +/* 385818 E00821D8 AFB20020 */ sw $s2, 0x20($sp) +/* 38581C E00821DC AFB1001C */ sw $s1, 0x1c($sp) +/* 385820 E00821E0 AFB00018 */ sw $s0, 0x18($sp) +/* 385824 E00821E4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 385828 E00821E8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 38582C E00821EC 8E830000 */ lw $v1, ($s4) +/* 385830 E00821F0 8E90000C */ lw $s0, 0xc($s4) +/* 385834 E00821F4 30620010 */ andi $v0, $v1, 0x10 +/* 385838 E00821F8 10400005 */ beqz $v0, .LE0082210 +/* 38583C E00821FC 2402FFEF */ addiu $v0, $zero, -0x11 +/* 385840 E0082200 00621024 */ and $v0, $v1, $v0 +/* 385844 E0082204 AE820000 */ sw $v0, ($s4) +/* 385848 E0082208 24020015 */ addiu $v0, $zero, 0x15 +/* 38584C E008220C AE020028 */ sw $v0, 0x28($s0) +.LE0082210: +/* 385850 E0082210 8E030028 */ lw $v1, 0x28($s0) +/* 385854 E0082214 28620064 */ slti $v0, $v1, 0x64 +/* 385858 E0082218 10400002 */ beqz $v0, .LE0082224 +/* 38585C E008221C 2462FFFF */ addiu $v0, $v1, -1 +/* 385860 E0082220 AE020028 */ sw $v0, 0x28($s0) +.LE0082224: +/* 385864 E0082224 8E020028 */ lw $v0, 0x28($s0) +/* 385868 E0082228 04410005 */ bgez $v0, .LE0082240 +/* 38586C E008222C 3C030004 */ lui $v1, 4 +/* 385870 E0082230 0C080128 */ jal func_E02004A0 +/* 385874 E0082234 0280202D */ daddu $a0, $s4, $zero +/* 385878 E0082238 0802093B */ j .LE00824EC +/* 38587C E008223C 00000000 */ nop +.LE0082240: +/* 385880 E0082240 8E02002C */ lw $v0, 0x2c($s0) +/* 385884 E0082244 3463F1A0 */ ori $v1, $v1, 0xf1a0 +/* 385888 E0082248 24420001 */ addiu $v0, $v0, 1 +/* 38588C E008224C 0062182A */ slt $v1, $v1, $v0 +/* 385890 E0082250 10600003 */ beqz $v1, .LE0082260 +/* 385894 E0082254 AE02002C */ sw $v0, 0x2c($s0) +/* 385898 E0082258 24020100 */ addiu $v0, $zero, 0x100 +/* 38589C E008225C AE02002C */ sw $v0, 0x2c($s0) +.LE0082260: +/* 3858A0 E0082260 8E03003C */ lw $v1, 0x3c($s0) +/* 3858A4 E0082264 8E130000 */ lw $s3, ($s0) +/* 3858A8 E0082268 8E120028 */ lw $s2, 0x28($s0) +/* 3858AC E008226C 8E15002C */ lw $s5, 0x2c($s0) +/* 3858B0 E0082270 8E040038 */ lw $a0, 0x38($s0) +/* 3858B4 E0082274 16600034 */ bnez $s3, .LE0082348 +/* 3858B8 E0082278 C6160034 */ lwc1 $f22, 0x34($s0) +/* 3858BC E008227C 8E020044 */ lw $v0, 0x44($s0) +/* 3858C0 E0082280 1C400030 */ bgtz $v0, .LE0082344 +/* 3858C4 E0082284 2442FFFF */ addiu $v0, $v0, -1 +/* 3858C8 E0082288 1064002F */ beq $v1, $a0, .LE0082348 +/* 3858CC E008228C 00000000 */ nop +/* 3858D0 E0082290 04620001 */ bltzl $v1, .LE0082298 +/* 3858D4 E0082294 0000182D */ daddu $v1, $zero, $zero +.LE0082298: +/* 3858D8 E0082298 0083102A */ slt $v0, $a0, $v1 +/* 3858DC E008229C 10400017 */ beqz $v0, .LE00822FC +/* 3858E0 E00822A0 24020064 */ addiu $v0, $zero, 0x64 +/* 3858E4 E00822A4 AE020028 */ sw $v0, 0x28($s0) +/* 3858E8 E00822A8 24020001 */ addiu $v0, $zero, 1 +/* 3858EC E00822AC AE02002C */ sw $v0, 0x2c($s0) +/* 3858F0 E00822B0 8E020038 */ lw $v0, 0x38($s0) +/* 3858F4 E00822B4 C602000C */ lwc1 $f2, 0xc($s0) +/* 3858F8 E00822B8 3C01C3FA */ lui $at, 0xc3fa +/* 3858FC E00822BC 44810000 */ mtc1 $at, $f0 +/* 385900 E00822C0 AE000070 */ sw $zero, 0x70($s0) +/* 385904 E00822C4 24420001 */ addiu $v0, $v0, 1 +/* 385908 E00822C8 4602003C */ c.lt.s $f0, $f2 +/* 38590C E00822CC 00000000 */ nop +/* 385910 E00822D0 4500001B */ bc1f .LE0082340 +/* 385914 E00822D4 AE020038 */ sw $v0, 0x38($s0) +/* 385918 E00822D8 C6000010 */ lwc1 $f0, 0x10($s0) +/* 38591C E00822DC 24042107 */ addiu $a0, $zero, 0x2107 +/* 385920 E00822E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 385924 E00822E4 8E060008 */ lw $a2, 8($s0) +/* 385928 E00822E8 8E07000C */ lw $a3, 0xc($s0) +/* 38592C E00822EC 0C0801A0 */ jal func_E0200680 +/* 385930 E00822F0 0000282D */ daddu $a1, $zero, $zero +/* 385934 E00822F4 080208D1 */ j .LE0082344 +/* 385938 E00822F8 24020008 */ addiu $v0, $zero, 8 +.LE00822FC: +/* 38593C E00822FC 0064102A */ slt $v0, $v1, $a0 +/* 385940 E0082300 10400010 */ beqz $v0, .LE0082344 +/* 385944 E0082304 24020008 */ addiu $v0, $zero, 8 +/* 385948 E0082308 0C080150 */ jal func_E0200540 +/* 38594C E008230C 24040041 */ addiu $a0, $zero, 0x41 +/* 385950 E0082310 C602000C */ lwc1 $f2, 0xc($s0) +/* 385954 E0082314 C6000068 */ lwc1 $f0, 0x68($s0) +/* 385958 E0082318 AFA00010 */ sw $zero, 0x10($sp) +/* 38595C E008231C 46001080 */ add.s $f2, $f2, $f0 +/* 385960 E0082320 8E050008 */ lw $a1, 8($s0) +/* 385964 E0082324 8E070010 */ lw $a3, 0x10($s0) +/* 385968 E0082328 44061000 */ mfc1 $a2, $f2 +/* 38596C E008232C 0C020800 */ jal func_E0082000 +/* 385970 E0082330 2404000A */ addiu $a0, $zero, 0xa +/* 385974 E0082334 8E020038 */ lw $v0, 0x38($s0) +/* 385978 E0082338 2442FFFF */ addiu $v0, $v0, -1 +/* 38597C E008233C AE020038 */ sw $v0, 0x38($s0) +.LE0082340: +/* 385980 E0082340 24020008 */ addiu $v0, $zero, 8 +.LE0082344: +/* 385984 E0082344 AE020044 */ sw $v0, 0x44($s0) +.LE0082348: +/* 385988 E0082348 8E820008 */ lw $v0, 8($s4) +/* 38598C E008234C 24110001 */ addiu $s1, $zero, 1 +/* 385990 E0082350 0222102A */ slt $v0, $s1, $v0 +/* 385994 E0082354 10400065 */ beqz $v0, .LE00824EC +/* 385998 E0082358 26100048 */ addiu $s0, $s0, 0x48 +/* 38599C E008235C 3C17E008 */ lui $s7, 0xe008 +/* 3859A0 E0082360 26F72D30 */ addiu $s7, $s7, 0x2d30 +/* 3859A4 E0082364 02351004 */ sllv $v0, $s5, $s1 +/* 3859A8 E0082368 00551021 */ addu $v0, $v0, $s5 +/* 3859AC E008236C 0002B080 */ sll $s6, $v0, 2 +/* 3859B0 E0082370 3C014080 */ lui $at, 0x4080 +/* 3859B4 E0082374 4481A000 */ mtc1 $at, $f20 +/* 3859B8 E0082378 02321004 */ sllv $v0, $s2, $s1 +/* 3859BC E008237C 00521021 */ addu $v0, $v0, $s2 +/* 3859C0 E0082380 000210C0 */ sll $v0, $v0, 3 +/* 3859C4 E0082384 0052A821 */ addu $s5, $v0, $s2 +/* 3859C8 E0082388 26100028 */ addiu $s0, $s0, 0x28 +.LE008238C: +/* 3859CC E008238C 8E030000 */ lw $v1, ($s0) +/* 3859D0 E0082390 28620009 */ slti $v0, $v1, 9 +/* 3859D4 E0082394 10400007 */ beqz $v0, .LE00823B4 +/* 3859D8 E0082398 2402000A */ addiu $v0, $zero, 0xa +/* 3859DC E008239C 12620005 */ beq $s3, $v0, .LE00823B4 +/* 3859E0 E00823A0 00031080 */ sll $v0, $v1, 2 +/* 3859E4 E00823A4 00571021 */ addu $v0, $v0, $s7 +/* 3859E8 E00823A8 C4400000 */ lwc1 $f0, ($v0) +/* 3859EC E00823AC 080208F1 */ j .LE00823C4 +/* 3859F0 E00823B0 E6000008 */ swc1 $f0, 8($s0) +.LE00823B4: +/* 3859F4 E00823B4 3C013F80 */ lui $at, 0x3f80 +/* 3859F8 E00823B8 44810000 */ mtc1 $at, $f0 +/* 3859FC E00823BC 00000000 */ nop +/* 385A00 E00823C0 E6000008 */ swc1 $f0, 8($s0) +.LE00823C4: +/* 385A04 E00823C4 C6000008 */ lwc1 $f0, 8($s0) +/* 385A08 E00823C8 46160002 */ mul.s $f0, $f0, $f22 +/* 385A0C E00823CC 00000000 */ nop +/* 385A10 E00823D0 2E620002 */ sltiu $v0, $s3, 2 +/* 385A14 E00823D4 10400009 */ beqz $v0, .LE00823FC +/* 385A18 E00823D8 E6000008 */ swc1 $f0, 8($s0) +/* 385A1C E00823DC 44966000 */ mtc1 $s6, $f12 +/* 385A20 E00823E0 00000000 */ nop +/* 385A24 E00823E4 0C080144 */ jal func_E0200510 +/* 385A28 E00823E8 46806320 */ cvt.s.w $f12, $f12 +/* 385A2C E00823EC 46140002 */ mul.s $f0, $f0, $f20 +/* 385A30 E00823F0 00000000 */ nop +/* 385A34 E00823F4 08020900 */ j .LE0082400 +/* 385A38 E00823F8 E600FFF8 */ swc1 $f0, -8($s0) +.LE00823FC: +/* 385A3C E00823FC AE00FFF8 */ sw $zero, -8($s0) +.LE0082400: +/* 385A40 E0082400 C606FFE0 */ lwc1 $f6, -0x20($s0) +/* 385A44 E0082404 C600FFEC */ lwc1 $f0, -0x14($s0) +/* 385A48 E0082408 C604FFE4 */ lwc1 $f4, -0x1c($s0) +/* 385A4C E008240C 46003180 */ add.s $f6, $f6, $f0 +/* 385A50 E0082410 C600FFF0 */ lwc1 $f0, -0x10($s0) +/* 385A54 E0082414 C602FFE8 */ lwc1 $f2, -0x18($s0) +/* 385A58 E0082418 46002100 */ add.s $f4, $f4, $f0 +/* 385A5C E008241C C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 385A60 E0082420 24020014 */ addiu $v0, $zero, 0x14 +/* 385A64 E0082424 46001080 */ add.s $f2, $f2, $f0 +/* 385A68 E0082428 E606FFE0 */ swc1 $f6, -0x20($s0) +/* 385A6C E008242C E604FFE4 */ swc1 $f4, -0x1c($s0) +/* 385A70 E0082430 16420005 */ bne $s2, $v0, .LE0082448 +/* 385A74 E0082434 E602FFE8 */ swc1 $f2, -0x18($s0) +/* 385A78 E0082438 3C01C000 */ lui $at, 0xc000 +/* 385A7C E008243C 44810000 */ mtc1 $at, $f0 +/* 385A80 E0082440 E614FFF0 */ swc1 $f20, -0x10($s0) +/* 385A84 E0082444 E600FFEC */ swc1 $f0, -0x14($s0) +.LE0082448: +/* 385A88 E0082448 2A420014 */ slti $v0, $s2, 0x14 +/* 385A8C E008244C 1040001D */ beqz $v0, .LE00824C4 +/* 385A90 E0082450 2A42000A */ slti $v0, $s2, 0xa +/* 385A94 E0082454 44920000 */ mtc1 $s2, $f0 +/* 385A98 E0082458 00000000 */ nop +/* 385A9C E008245C 46800020 */ cvt.s.w $f0, $f0 +/* 385AA0 E0082460 3C01E008 */ lui $at, 0xe008 +/* 385AA4 E0082464 D4222D60 */ ldc1 $f2, 0x2d60($at) +/* 385AA8 E0082468 46000021 */ cvt.d.s $f0, $f0 +/* 385AAC E008246C 46220002 */ mul.d $f0, $f0, $f2 +/* 385AB0 E0082470 00000000 */ nop +/* 385AB4 E0082474 C602FFF8 */ lwc1 $f2, -8($s0) +/* 385AB8 E0082478 460010A1 */ cvt.d.s $f2, $f2 +/* 385ABC E008247C 46201082 */ mul.d $f2, $f2, $f0 +/* 385AC0 E0082480 00000000 */ nop +/* 385AC4 E0082484 3C01BFE0 */ lui $at, 0xbfe0 +/* 385AC8 E0082488 44812800 */ mtc1 $at, $f5 +/* 385ACC E008248C 44802000 */ mtc1 $zero, $f4 +/* 385AD0 E0082490 C600FFF0 */ lwc1 $f0, -0x10($s0) +/* 385AD4 E0082494 C6060018 */ lwc1 $f6, 0x18($s0) +/* 385AD8 E0082498 46000021 */ cvt.d.s $f0, $f0 +/* 385ADC E008249C 46240000 */ add.d $f0, $f0, $f4 +/* 385AE0 E00824A0 3C014120 */ lui $at, 0x4120 +/* 385AE4 E00824A4 44812000 */ mtc1 $at, $f4 +/* 385AE8 E00824A8 00000000 */ nop +/* 385AEC E00824AC 46043180 */ add.s $f6, $f6, $f4 +/* 385AF0 E00824B0 46200020 */ cvt.s.d $f0, $f0 +/* 385AF4 E00824B4 E600FFF0 */ swc1 $f0, -0x10($s0) +/* 385AF8 E00824B8 E6060018 */ swc1 $f6, 0x18($s0) +/* 385AFC E00824BC 462010A0 */ cvt.s.d $f2, $f2 +/* 385B00 E00824C0 E602FFF8 */ swc1 $f2, -8($s0) +.LE00824C4: +/* 385B04 E00824C4 54400001 */ bnel $v0, $zero, .LE00824CC +/* 385B08 E00824C8 AE15FFFC */ sw $s5, -4($s0) +.LE00824CC: +/* 385B0C E00824CC 8E020000 */ lw $v0, ($s0) +/* 385B10 E00824D0 26310001 */ addiu $s1, $s1, 1 +/* 385B14 E00824D4 24420001 */ addiu $v0, $v0, 1 +/* 385B18 E00824D8 AE020000 */ sw $v0, ($s0) +/* 385B1C E00824DC 8E820008 */ lw $v0, 8($s4) +/* 385B20 E00824E0 0222102A */ slt $v0, $s1, $v0 +/* 385B24 E00824E4 1440FFA9 */ bnez $v0, .LE008238C +/* 385B28 E00824E8 26100048 */ addiu $s0, $s0, 0x48 +.LE00824EC: +/* 385B2C E00824EC 8FBF0038 */ lw $ra, 0x38($sp) +/* 385B30 E00824F0 8FB70034 */ lw $s7, 0x34($sp) +/* 385B34 E00824F4 8FB60030 */ lw $s6, 0x30($sp) +/* 385B38 E00824F8 8FB5002C */ lw $s5, 0x2c($sp) +/* 385B3C E00824FC 8FB40028 */ lw $s4, 0x28($sp) +/* 385B40 E0082500 8FB30024 */ lw $s3, 0x24($sp) +/* 385B44 E0082504 8FB20020 */ lw $s2, 0x20($sp) +/* 385B48 E0082508 8FB1001C */ lw $s1, 0x1c($sp) +/* 385B4C E008250C 8FB00018 */ lw $s0, 0x18($sp) +/* 385B50 E0082510 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 385B54 E0082514 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 385B58 E0082518 03E00008 */ jr $ra +/* 385B5C E008251C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_385640/func_E0082520.s b/asm/nonmatchings/code_385640/func_E0082520.s new file mode 100644 index 0000000000..cd2c14fda2 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E0082520.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0082520 +/* 385B60 E0082520 03E00008 */ jr $ra +/* 385B64 E0082524 00000000 */ nop diff --git a/asm/nonmatchings/code_385640/func_E0082528.s b/asm/nonmatchings/code_385640/func_E0082528.s new file mode 100644 index 0000000000..d10bcd3f10 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E0082528.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0082528 +/* 385B68 E0082528 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 385B6C E008252C AFB10014 */ sw $s1, 0x14($sp) +/* 385B70 E0082530 0080882D */ daddu $s1, $a0, $zero +/* 385B74 E0082534 AFBF0018 */ sw $ra, 0x18($sp) +/* 385B78 E0082538 AFB00010 */ sw $s0, 0x10($sp) +/* 385B7C E008253C 8E30000C */ lw $s0, 0xc($s1) +/* 385B80 E0082540 8E020004 */ lw $v0, 4($s0) +/* 385B84 E0082544 10400009 */ beqz $v0, .LE008256C +/* 385B88 E0082548 00000000 */ nop +/* 385B8C E008254C 0C020A2D */ jal func_E00828B4 +/* 385B90 E0082550 00000000 */ nop +/* 385B94 E0082554 8E030000 */ lw $v1, ($s0) +/* 385B98 E0082558 24020001 */ addiu $v0, $zero, 1 +/* 385B9C E008255C 10620003 */ beq $v1, $v0, .LE008256C +/* 385BA0 E0082560 00000000 */ nop +/* 385BA4 E0082564 0C020AA1 */ jal func_E0082A84 +/* 385BA8 E0082568 0220202D */ daddu $a0, $s1, $zero +.LE008256C: +/* 385BAC E008256C 8FBF0018 */ lw $ra, 0x18($sp) +/* 385BB0 E0082570 8FB10014 */ lw $s1, 0x14($sp) +/* 385BB4 E0082574 8FB00010 */ lw $s0, 0x10($sp) +/* 385BB8 E0082578 03E00008 */ jr $ra +/* 385BBC E008257C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_385640/func_E0082580.s b/asm/nonmatchings/code_385640/func_E0082580.s new file mode 100644 index 0000000000..1011c5ae0c --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E0082580.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0082580 +/* 385BC0 E0082580 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 385BC4 E0082584 AFB00098 */ sw $s0, 0x98($sp) +/* 385BC8 E0082588 0080802D */ daddu $s0, $a0, $zero +/* 385BCC E008258C 27A40018 */ addiu $a0, $sp, 0x18 +/* 385BD0 E0082590 AFB200A0 */ sw $s2, 0xa0($sp) +/* 385BD4 E0082594 3C120001 */ lui $s2, 1 +/* 385BD8 E0082598 AFBF00A4 */ sw $ra, 0xa4($sp) +/* 385BDC E008259C AFB1009C */ sw $s1, 0x9c($sp) +/* 385BE0 E00825A0 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* 385BE4 E00825A4 8E050008 */ lw $a1, 8($s0) +/* 385BE8 E00825A8 8E06000C */ lw $a2, 0xc($s0) +/* 385BEC E00825AC 8E070010 */ lw $a3, 0x10($s0) +/* 385BF0 E00825B0 0C080108 */ jal func_E0200420 +/* 385BF4 E00825B4 36521630 */ ori $s2, $s2, 0x1630 +/* 385BF8 E00825B8 27B10058 */ addiu $s1, $sp, 0x58 +/* 385BFC E00825BC 0220202D */ daddu $a0, $s1, $zero +/* 385C00 E00825C0 3C013F80 */ lui $at, 0x3f80 +/* 385C04 E00825C4 4481A000 */ mtc1 $at, $f20 +/* 385C08 E00825C8 8E050034 */ lw $a1, 0x34($s0) +/* 385C0C E00825CC 4407A000 */ mfc1 $a3, $f20 +/* 385C10 E00825D0 0C080110 */ jal func_E0200440 +/* 385C14 E00825D4 00A0302D */ daddu $a2, $a1, $zero +/* 385C18 E00825D8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 385C1C E00825DC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 385C20 E00825E0 44800000 */ mtc1 $zero, $f0 +/* 385C24 E00825E4 00031080 */ sll $v0, $v1, 2 +/* 385C28 E00825E8 00431021 */ addu $v0, $v0, $v1 +/* 385C2C E00825EC 00021080 */ sll $v0, $v0, 2 +/* 385C30 E00825F0 00431023 */ subu $v0, $v0, $v1 +/* 385C34 E00825F4 000218C0 */ sll $v1, $v0, 3 +/* 385C38 E00825F8 00431021 */ addu $v0, $v0, $v1 +/* 385C3C E00825FC 000210C0 */ sll $v0, $v0, 3 +/* 385C40 E0082600 44060000 */ mfc1 $a2, $f0 +/* 385C44 E0082604 3C01800B */ lui $at, 0x800b +/* 385C48 E0082608 00220821 */ addu $at, $at, $v0 +/* 385C4C E008260C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 385C50 E0082610 4407A000 */ mfc1 $a3, $f20 +/* 385C54 E0082614 46000007 */ neg.s $f0, $f0 +/* 385C58 E0082618 44050000 */ mfc1 $a1, $f0 +/* 385C5C E008261C 0220202D */ daddu $a0, $s1, $zero +/* 385C60 E0082620 0C080104 */ jal func_E0200410 +/* 385C64 E0082624 AFA60010 */ sw $a2, 0x10($sp) +/* 385C68 E0082628 0220202D */ daddu $a0, $s1, $zero +/* 385C6C E008262C 27A50018 */ addiu $a1, $sp, 0x18 +/* 385C70 E0082630 0C080114 */ jal func_E0200450 +/* 385C74 E0082634 00A0302D */ daddu $a2, $a1, $zero +/* 385C78 E0082638 27A40018 */ addiu $a0, $sp, 0x18 +/* 385C7C E008263C 3C108007 */ lui $s0, 0x8007 +/* 385C80 E0082640 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 385C84 E0082644 3C11800A */ lui $s1, 0x800a +/* 385C88 E0082648 2631A674 */ addiu $s1, $s1, -0x598c +/* 385C8C E008264C 96050000 */ lhu $a1, ($s0) +/* 385C90 E0082650 8E220000 */ lw $v0, ($s1) +/* 385C94 E0082654 00052980 */ sll $a1, $a1, 6 +/* 385C98 E0082658 00B22821 */ addu $a1, $a1, $s2 +/* 385C9C E008265C 0C080118 */ jal func_E0200460 +/* 385CA0 E0082660 00452821 */ addu $a1, $v0, $a1 +/* 385CA4 E0082664 3C03800A */ lui $v1, 0x800a +/* 385CA8 E0082668 2463A66C */ addiu $v1, $v1, -0x5994 +/* 385CAC E008266C 8C620000 */ lw $v0, ($v1) +/* 385CB0 E0082670 0040202D */ daddu $a0, $v0, $zero +/* 385CB4 E0082674 24420008 */ addiu $v0, $v0, 8 +/* 385CB8 E0082678 AC620000 */ sw $v0, ($v1) +/* 385CBC E008267C 96020000 */ lhu $v0, ($s0) +/* 385CC0 E0082680 3C03DA38 */ lui $v1, 0xda38 +/* 385CC4 E0082684 AC830000 */ sw $v1, ($a0) +/* 385CC8 E0082688 24430001 */ addiu $v1, $v0, 1 +/* 385CCC E008268C 3042FFFF */ andi $v0, $v0, 0xffff +/* 385CD0 E0082690 00021180 */ sll $v0, $v0, 6 +/* 385CD4 E0082694 A6030000 */ sh $v1, ($s0) +/* 385CD8 E0082698 8E230000 */ lw $v1, ($s1) +/* 385CDC E008269C 00521021 */ addu $v0, $v0, $s2 +/* 385CE0 E00826A0 00621821 */ addu $v1, $v1, $v0 +/* 385CE4 E00826A4 AC830004 */ sw $v1, 4($a0) +/* 385CE8 E00826A8 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 385CEC E00826AC 8FB200A0 */ lw $s2, 0xa0($sp) +/* 385CF0 E00826B0 8FB1009C */ lw $s1, 0x9c($sp) +/* 385CF4 E00826B4 8FB00098 */ lw $s0, 0x98($sp) +/* 385CF8 E00826B8 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* 385CFC E00826BC 03E00008 */ jr $ra +/* 385D00 E00826C0 27BD00B0 */ addiu $sp, $sp, 0xb0 diff --git a/asm/nonmatchings/code_385640/func_E00826C4.s b/asm/nonmatchings/code_385640/func_E00826C4.s new file mode 100644 index 0000000000..20599c2831 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E00826C4.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00826C4 +/* 385D04 E00826C4 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 385D08 E00826C8 AFB1009C */ sw $s1, 0x9c($sp) +/* 385D0C E00826CC 0080882D */ daddu $s1, $a0, $zero +/* 385D10 E00826D0 27A40018 */ addiu $a0, $sp, 0x18 +/* 385D14 E00826D4 AFB300A4 */ sw $s3, 0xa4($sp) +/* 385D18 E00826D8 3C130001 */ lui $s3, 1 +/* 385D1C E00826DC AFBF00A8 */ sw $ra, 0xa8($sp) +/* 385D20 E00826E0 AFB200A0 */ sw $s2, 0xa0($sp) +/* 385D24 E00826E4 AFB00098 */ sw $s0, 0x98($sp) +/* 385D28 E00826E8 F7B400B0 */ sdc1 $f20, 0xb0($sp) +/* 385D2C E00826EC 8E250008 */ lw $a1, 8($s1) +/* 385D30 E00826F0 8E26000C */ lw $a2, 0xc($s1) +/* 385D34 E00826F4 8E270010 */ lw $a3, 0x10($s1) +/* 385D38 E00826F8 0C080108 */ jal func_E0200420 +/* 385D3C E00826FC 36731630 */ ori $s3, $s3, 0x1630 +/* 385D40 E0082700 27B00058 */ addiu $s0, $sp, 0x58 +/* 385D44 E0082704 0200202D */ daddu $a0, $s0, $zero +/* 385D48 E0082708 3C013F80 */ lui $at, 0x3f80 +/* 385D4C E008270C 4481A000 */ mtc1 $at, $f20 +/* 385D50 E0082710 8E250030 */ lw $a1, 0x30($s1) +/* 385D54 E0082714 4407A000 */ mfc1 $a3, $f20 +/* 385D58 E0082718 0C080110 */ jal func_E0200440 +/* 385D5C E008271C 00A0302D */ daddu $a2, $a1, $zero +/* 385D60 E0082720 0200202D */ daddu $a0, $s0, $zero +/* 385D64 E0082724 27A50018 */ addiu $a1, $sp, 0x18 +/* 385D68 E0082728 0C080114 */ jal func_E0200450 +/* 385D6C E008272C 00A0302D */ daddu $a2, $a1, $zero +/* 385D70 E0082730 E7B40010 */ swc1 $f20, 0x10($sp) +/* 385D74 E0082734 4480A000 */ mtc1 $zero, $f20 +/* 385D78 E0082738 8E250040 */ lw $a1, 0x40($s1) +/* 385D7C E008273C 4406A000 */ mfc1 $a2, $f20 +/* 385D80 E0082740 4407A000 */ mfc1 $a3, $f20 +/* 385D84 E0082744 0C080104 */ jal func_E0200410 +/* 385D88 E0082748 0200202D */ daddu $a0, $s0, $zero +/* 385D8C E008274C 0200202D */ daddu $a0, $s0, $zero +/* 385D90 E0082750 27A50018 */ addiu $a1, $sp, 0x18 +/* 385D94 E0082754 0C080114 */ jal func_E0200450 +/* 385D98 E0082758 00A0302D */ daddu $a2, $a1, $zero +/* 385D9C E008275C 0200202D */ daddu $a0, $s0, $zero +/* 385DA0 E0082760 4405A000 */ mfc1 $a1, $f20 +/* 385DA4 E0082764 8E260020 */ lw $a2, 0x20($s1) +/* 385DA8 E0082768 0C080108 */ jal func_E0200420 +/* 385DAC E008276C 00A0382D */ daddu $a3, $a1, $zero +/* 385DB0 E0082770 0200202D */ daddu $a0, $s0, $zero +/* 385DB4 E0082774 27A50018 */ addiu $a1, $sp, 0x18 +/* 385DB8 E0082778 0C080114 */ jal func_E0200450 +/* 385DBC E008277C 00A0302D */ daddu $a2, $a1, $zero +/* 385DC0 E0082780 27A40018 */ addiu $a0, $sp, 0x18 +/* 385DC4 E0082784 3C108007 */ lui $s0, 0x8007 +/* 385DC8 E0082788 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 385DCC E008278C 3C12800A */ lui $s2, 0x800a +/* 385DD0 E0082790 2652A674 */ addiu $s2, $s2, -0x598c +/* 385DD4 E0082794 96050000 */ lhu $a1, ($s0) +/* 385DD8 E0082798 8E420000 */ lw $v0, ($s2) +/* 385DDC E008279C 00052980 */ sll $a1, $a1, 6 +/* 385DE0 E00827A0 00B32821 */ addu $a1, $a1, $s3 +/* 385DE4 E00827A4 0C080118 */ jal func_E0200460 +/* 385DE8 E00827A8 00452821 */ addu $a1, $v0, $a1 +/* 385DEC E00827AC 3C08800A */ lui $t0, 0x800a +/* 385DF0 E00827B0 2508A66C */ addiu $t0, $t0, -0x5994 +/* 385DF4 E00827B4 8D070000 */ lw $a3, ($t0) +/* 385DF8 E00827B8 00E0202D */ daddu $a0, $a3, $zero +/* 385DFC E00827BC 24E70008 */ addiu $a3, $a3, 8 +/* 385E00 E00827C0 AD070000 */ sw $a3, ($t0) +/* 385E04 E00827C4 96020000 */ lhu $v0, ($s0) +/* 385E08 E00827C8 3C03DA38 */ lui $v1, 0xda38 +/* 385E0C E00827CC AC830000 */ sw $v1, ($a0) +/* 385E10 E00827D0 24430001 */ addiu $v1, $v0, 1 +/* 385E14 E00827D4 3042FFFF */ andi $v0, $v0, 0xffff +/* 385E18 E00827D8 00021180 */ sll $v0, $v0, 6 +/* 385E1C E00827DC A6030000 */ sh $v1, ($s0) +/* 385E20 E00827E0 8E430000 */ lw $v1, ($s2) +/* 385E24 E00827E4 00531021 */ addu $v0, $v0, $s3 +/* 385E28 E00827E8 00621821 */ addu $v1, $v1, $v0 +/* 385E2C E00827EC 24E20008 */ addiu $v0, $a3, 8 +/* 385E30 E00827F0 AC830004 */ sw $v1, 4($a0) +/* 385E34 E00827F4 AD020000 */ sw $v0, ($t0) +/* 385E38 E00827F8 3C02FA00 */ lui $v0, 0xfa00 +/* 385E3C E00827FC ACE20000 */ sw $v0, ($a3) +/* 385E40 E0082800 92220027 */ lbu $v0, 0x27($s1) +/* 385E44 E0082804 ACE20004 */ sw $v0, 4($a3) +/* 385E48 E0082808 8E230024 */ lw $v1, 0x24($s1) +/* 385E4C E008280C 240200FF */ addiu $v0, $zero, 0xff +/* 385E50 E0082810 14620011 */ bne $v1, $v0, .LE0082858 +/* 385E54 E0082814 3C05E200 */ lui $a1, 0xe200 +/* 385E58 E0082818 3C04E200 */ lui $a0, 0xe200 +/* 385E5C E008281C 3484001C */ ori $a0, $a0, 0x1c +/* 385E60 E0082820 3C030055 */ lui $v1, 0x55 +/* 385E64 E0082824 34631208 */ ori $v1, $v1, 0x1208 +/* 385E68 E0082828 3C05FC12 */ lui $a1, 0xfc12 +/* 385E6C E008282C 34A57E24 */ ori $a1, $a1, 0x7e24 +/* 385E70 E0082830 24E20010 */ addiu $v0, $a3, 0x10 +/* 385E74 E0082834 AD020000 */ sw $v0, ($t0) +/* 385E78 E0082838 24E20018 */ addiu $v0, $a3, 0x18 +/* 385E7C E008283C ACE40008 */ sw $a0, 8($a3) +/* 385E80 E0082840 ACE3000C */ sw $v1, 0xc($a3) +/* 385E84 E0082844 AD020000 */ sw $v0, ($t0) +/* 385E88 E0082848 2402F3F9 */ addiu $v0, $zero, -0xc07 +/* 385E8C E008284C ACE50010 */ sw $a1, 0x10($a3) +/* 385E90 E0082850 08020A25 */ j .LE0082894 +/* 385E94 E0082854 ACE20014 */ sw $v0, 0x14($a3) +.LE0082858: +/* 385E98 E0082858 34A5001C */ ori $a1, $a1, 0x1c +/* 385E9C E008285C 3C030050 */ lui $v1, 0x50 +/* 385EA0 E0082860 34634340 */ ori $v1, $v1, 0x4340 +/* 385EA4 E0082864 3C06FC12 */ lui $a2, 0xfc12 +/* 385EA8 E0082868 34C63224 */ ori $a2, $a2, 0x3224 +/* 385EAC E008286C 3C04FF67 */ lui $a0, 0xff67 +/* 385EB0 E0082870 3484FFFF */ ori $a0, $a0, 0xffff +/* 385EB4 E0082874 24E20010 */ addiu $v0, $a3, 0x10 +/* 385EB8 E0082878 AD020000 */ sw $v0, ($t0) +/* 385EBC E008287C 24E20018 */ addiu $v0, $a3, 0x18 +/* 385EC0 E0082880 ACE50008 */ sw $a1, 8($a3) +/* 385EC4 E0082884 ACE3000C */ sw $v1, 0xc($a3) +/* 385EC8 E0082888 AD020000 */ sw $v0, ($t0) +/* 385ECC E008288C ACE60010 */ sw $a2, 0x10($a3) +/* 385ED0 E0082890 ACE40014 */ sw $a0, 0x14($a3) +.LE0082894: +/* 385ED4 E0082894 8FBF00A8 */ lw $ra, 0xa8($sp) +/* 385ED8 E0082898 8FB300A4 */ lw $s3, 0xa4($sp) +/* 385EDC E008289C 8FB200A0 */ lw $s2, 0xa0($sp) +/* 385EE0 E00828A0 8FB1009C */ lw $s1, 0x9c($sp) +/* 385EE4 E00828A4 8FB00098 */ lw $s0, 0x98($sp) +/* 385EE8 E00828A8 D7B400B0 */ ldc1 $f20, 0xb0($sp) +/* 385EEC E00828AC 03E00008 */ jr $ra +/* 385EF0 E00828B0 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_385640/func_E00828B4.s b/asm/nonmatchings/code_385640/func_E00828B4.s new file mode 100644 index 0000000000..42dcc947e1 --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E00828B4.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00828B4 +/* 385EF4 E00828B4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 385EF8 E00828B8 AFB50024 */ sw $s5, 0x24($sp) +/* 385EFC E00828BC 0080A82D */ daddu $s5, $a0, $zero +/* 385F00 E00828C0 3C06DB06 */ lui $a2, 0xdb06 +/* 385F04 E00828C4 34C60024 */ ori $a2, $a2, 0x24 +/* 385F08 E00828C8 AFB20018 */ sw $s2, 0x18($sp) +/* 385F0C E00828CC 24120001 */ addiu $s2, $zero, 1 +/* 385F10 E00828D0 AFB00010 */ sw $s0, 0x10($sp) +/* 385F14 E00828D4 3C10800A */ lui $s0, 0x800a +/* 385F18 E00828D8 2610A66C */ addiu $s0, $s0, -0x5994 +/* 385F1C E00828DC 3C02E700 */ lui $v0, 0xe700 +/* 385F20 E00828E0 AFBF0034 */ sw $ra, 0x34($sp) +/* 385F24 E00828E4 AFBE0030 */ sw $fp, 0x30($sp) +/* 385F28 E00828E8 AFB7002C */ sw $s7, 0x2c($sp) +/* 385F2C E00828EC AFB60028 */ sw $s6, 0x28($sp) +/* 385F30 E00828F0 AFB40020 */ sw $s4, 0x20($sp) +/* 385F34 E00828F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 385F38 E00828F8 AFB10014 */ sw $s1, 0x14($sp) +/* 385F3C E00828FC 8E050000 */ lw $a1, ($s0) +/* 385F40 E0082900 8EB1000C */ lw $s1, 0xc($s5) +/* 385F44 E0082904 00A0182D */ daddu $v1, $a1, $zero +/* 385F48 E0082908 24A50008 */ addiu $a1, $a1, 8 +/* 385F4C E008290C 0220202D */ daddu $a0, $s1, $zero +/* 385F50 E0082910 AE050000 */ sw $a1, ($s0) +/* 385F54 E0082914 AC620000 */ sw $v0, ($v1) +/* 385F58 E0082918 AC600004 */ sw $zero, 4($v1) +/* 385F5C E008291C ACA60000 */ sw $a2, ($a1) +/* 385F60 E0082920 8EA30010 */ lw $v1, 0x10($s5) +/* 385F64 E0082924 24A20008 */ addiu $v0, $a1, 8 +/* 385F68 E0082928 AE020000 */ sw $v0, ($s0) +/* 385F6C E008292C 8C62001C */ lw $v0, 0x1c($v1) +/* 385F70 E0082930 3C038000 */ lui $v1, 0x8000 +/* 385F74 E0082934 00431021 */ addu $v0, $v0, $v1 +/* 385F78 E0082938 0C020960 */ jal func_E0082580 +/* 385F7C E008293C ACA20004 */ sw $v0, 4($a1) +/* 385F80 E0082940 8E360038 */ lw $s6, 0x38($s1) +/* 385F84 E0082944 8E330000 */ lw $s3, ($s1) +/* 385F88 E0082948 8EA20008 */ lw $v0, 8($s5) +/* 385F8C E008294C 0242102A */ slt $v0, $s2, $v0 +/* 385F90 E0082950 10400030 */ beqz $v0, .LE0082A14 +/* 385F94 E0082954 26310048 */ addiu $s1, $s1, 0x48 +/* 385F98 E0082958 0240F02D */ daddu $fp, $s2, $zero +/* 385F9C E008295C 3C14DE00 */ lui $s4, 0xde00 +/* 385FA0 E0082960 3C170900 */ lui $s7, 0x900 +/* 385FA4 E0082964 26F72198 */ addiu $s7, $s7, 0x2198 +.LE0082968: +/* 385FA8 E0082968 1EC00003 */ bgtz $s6, .LE0082978 +/* 385FAC E008296C 2407000A */ addiu $a3, $zero, 0xa +/* 385FB0 E0082970 56670024 */ bnel $s3, $a3, .LE0082A04 +/* 385FB4 E0082974 26520001 */ addiu $s2, $s2, 1 +.LE0082978: +/* 385FB8 E0082978 167E0008 */ bne $s3, $fp, .LE008299C +/* 385FBC E008297C 00000000 */ nop +/* 385FC0 E0082980 8E020000 */ lw $v0, ($s0) +/* 385FC4 E0082984 0040182D */ daddu $v1, $v0, $zero +/* 385FC8 E0082988 24420008 */ addiu $v0, $v0, 8 +/* 385FCC E008298C AE020000 */ sw $v0, ($s0) +/* 385FD0 E0082990 AC740000 */ sw $s4, ($v1) +/* 385FD4 E0082994 08020A6F */ j .LE00829BC +/* 385FD8 E0082998 AC770004 */ sw $s7, 4($v1) +.LE008299C: +/* 385FDC E008299C 8E020000 */ lw $v0, ($s0) +/* 385FE0 E00829A0 0040182D */ daddu $v1, $v0, $zero +/* 385FE4 E00829A4 24420008 */ addiu $v0, $v0, 8 +/* 385FE8 E00829A8 AE020000 */ sw $v0, ($s0) +/* 385FEC E00829AC 3C020900 */ lui $v0, 0x900 +/* 385FF0 E00829B0 24422100 */ addiu $v0, $v0, 0x2100 +/* 385FF4 E00829B4 AC740000 */ sw $s4, ($v1) +/* 385FF8 E00829B8 AC620004 */ sw $v0, 4($v1) +.LE00829BC: +/* 385FFC E00829BC 0C0209B1 */ jal func_E00826C4 +/* 386000 E00829C0 0220202D */ daddu $a0, $s1, $zero +/* 386004 E00829C4 3C05D838 */ lui $a1, 0xd838 +/* 386008 E00829C8 34A50002 */ ori $a1, $a1, 2 +/* 38600C E00829CC 8E030000 */ lw $v1, ($s0) +/* 386010 E00829D0 3C020900 */ lui $v0, 0x900 +/* 386014 E00829D4 24422230 */ addiu $v0, $v0, 0x2230 +/* 386018 E00829D8 0060202D */ daddu $a0, $v1, $zero +/* 38601C E00829DC 24630008 */ addiu $v1, $v1, 8 +/* 386020 E00829E0 AE030000 */ sw $v1, ($s0) +/* 386024 E00829E4 AC820004 */ sw $v0, 4($a0) +/* 386028 E00829E8 24620008 */ addiu $v0, $v1, 8 +/* 38602C E00829EC AC940000 */ sw $s4, ($a0) +/* 386030 E00829F0 AE020000 */ sw $v0, ($s0) +/* 386034 E00829F4 24020040 */ addiu $v0, $zero, 0x40 +/* 386038 E00829F8 AC650000 */ sw $a1, ($v1) +/* 38603C E00829FC AC620004 */ sw $v0, 4($v1) +/* 386040 E0082A00 26520001 */ addiu $s2, $s2, 1 +.LE0082A04: +/* 386044 E0082A04 8EA20008 */ lw $v0, 8($s5) +/* 386048 E0082A08 0242102A */ slt $v0, $s2, $v0 +/* 38604C E0082A0C 1440FFD6 */ bnez $v0, .LE0082968 +/* 386050 E0082A10 26310048 */ addiu $s1, $s1, 0x48 +.LE0082A14: +/* 386054 E0082A14 3C03D838 */ lui $v1, 0xd838 +/* 386058 E0082A18 3C04800A */ lui $a0, 0x800a +/* 38605C E0082A1C 2484A66C */ addiu $a0, $a0, -0x5994 +/* 386060 E0082A20 8C820000 */ lw $v0, ($a0) +/* 386064 E0082A24 34630002 */ ori $v1, $v1, 2 +/* 386068 E0082A28 0040282D */ daddu $a1, $v0, $zero +/* 38606C E0082A2C 24420008 */ addiu $v0, $v0, 8 +/* 386070 E0082A30 AC820000 */ sw $v0, ($a0) +/* 386074 E0082A34 ACA30000 */ sw $v1, ($a1) +/* 386078 E0082A38 24030040 */ addiu $v1, $zero, 0x40 +/* 38607C E0082A3C ACA30004 */ sw $v1, 4($a1) +/* 386080 E0082A40 24430008 */ addiu $v1, $v0, 8 +/* 386084 E0082A44 AC830000 */ sw $v1, ($a0) +/* 386088 E0082A48 3C03E700 */ lui $v1, 0xe700 +/* 38608C E0082A4C AC430000 */ sw $v1, ($v0) +/* 386090 E0082A50 AC400004 */ sw $zero, 4($v0) +/* 386094 E0082A54 8FBF0034 */ lw $ra, 0x34($sp) +/* 386098 E0082A58 8FBE0030 */ lw $fp, 0x30($sp) +/* 38609C E0082A5C 8FB7002C */ lw $s7, 0x2c($sp) +/* 3860A0 E0082A60 8FB60028 */ lw $s6, 0x28($sp) +/* 3860A4 E0082A64 8FB50024 */ lw $s5, 0x24($sp) +/* 3860A8 E0082A68 8FB40020 */ lw $s4, 0x20($sp) +/* 3860AC E0082A6C 8FB3001C */ lw $s3, 0x1c($sp) +/* 3860B0 E0082A70 8FB20018 */ lw $s2, 0x18($sp) +/* 3860B4 E0082A74 8FB10014 */ lw $s1, 0x14($sp) +/* 3860B8 E0082A78 8FB00010 */ lw $s0, 0x10($sp) +/* 3860BC E0082A7C 03E00008 */ jr $ra +/* 3860C0 E0082A80 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_385640/func_E0082A84.s b/asm/nonmatchings/code_385640/func_E0082A84.s new file mode 100644 index 0000000000..e483777bdc --- /dev/null +++ b/asm/nonmatchings/code_385640/func_E0082A84.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0082A84 +/* 3860C4 E0082A84 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 3860C8 E0082A88 AFB60028 */ sw $s6, 0x28($sp) +/* 3860CC E0082A8C 0080B02D */ daddu $s6, $a0, $zero +/* 3860D0 E0082A90 3C06DB06 */ lui $a2, 0xdb06 +/* 3860D4 E0082A94 34C60024 */ ori $a2, $a2, 0x24 +/* 3860D8 E0082A98 AFB40020 */ sw $s4, 0x20($sp) +/* 3860DC E0082A9C 24140001 */ addiu $s4, $zero, 1 +/* 3860E0 E0082AA0 AFB00010 */ sw $s0, 0x10($sp) +/* 3860E4 E0082AA4 3C10800A */ lui $s0, 0x800a +/* 3860E8 E0082AA8 2610A66C */ addiu $s0, $s0, -0x5994 +/* 3860EC E0082AAC 3C02E700 */ lui $v0, 0xe700 +/* 3860F0 E0082AB0 AFBF0034 */ sw $ra, 0x34($sp) +/* 3860F4 E0082AB4 AFBE0030 */ sw $fp, 0x30($sp) +/* 3860F8 E0082AB8 AFB7002C */ sw $s7, 0x2c($sp) +/* 3860FC E0082ABC AFB50024 */ sw $s5, 0x24($sp) +/* 386100 E0082AC0 AFB3001C */ sw $s3, 0x1c($sp) +/* 386104 E0082AC4 AFB20018 */ sw $s2, 0x18($sp) +/* 386108 E0082AC8 AFB10014 */ sw $s1, 0x14($sp) +/* 38610C E0082ACC 8E050000 */ lw $a1, ($s0) +/* 386110 E0082AD0 8ED3000C */ lw $s3, 0xc($s6) +/* 386114 E0082AD4 00A0182D */ daddu $v1, $a1, $zero +/* 386118 E0082AD8 24A50008 */ addiu $a1, $a1, 8 +/* 38611C E0082ADC 0260202D */ daddu $a0, $s3, $zero +/* 386120 E0082AE0 AE050000 */ sw $a1, ($s0) +/* 386124 E0082AE4 AC620000 */ sw $v0, ($v1) +/* 386128 E0082AE8 AC600004 */ sw $zero, 4($v1) +/* 38612C E0082AEC ACA60000 */ sw $a2, ($a1) +/* 386130 E0082AF0 8EC30010 */ lw $v1, 0x10($s6) +/* 386134 E0082AF4 24A20008 */ addiu $v0, $a1, 8 +/* 386138 E0082AF8 AE020000 */ sw $v0, ($s0) +/* 38613C E0082AFC 8C62001C */ lw $v0, 0x1c($v1) +/* 386140 E0082B00 3C038000 */ lui $v1, 0x8000 +/* 386144 E0082B04 00431021 */ addu $v0, $v0, $v1 +/* 386148 E0082B08 0C020960 */ jal func_E0082580 +/* 38614C E0082B0C ACA20004 */ sw $v0, 4($a1) +/* 386150 E0082B10 8E720038 */ lw $s2, 0x38($s3) +/* 386154 E0082B14 8EC20008 */ lw $v0, 8($s6) +/* 386158 E0082B18 0282102A */ slt $v0, $s4, $v0 +/* 38615C E0082B1C 10400059 */ beqz $v0, .LE0082C84 +/* 386160 E0082B20 26730048 */ addiu $s3, $s3, 0x48 +/* 386164 E0082B24 3C026666 */ lui $v0, 0x6666 +/* 386168 E0082B28 34426667 */ ori $v0, $v0, 0x6667 +/* 38616C E0082B2C 02420018 */ mult $s2, $v0 +/* 386170 E0082B30 3C11DE00 */ lui $s1, 0xde00 +/* 386174 E0082B34 3C15E008 */ lui $s5, 0xe008 +/* 386178 E0082B38 26B52D00 */ addiu $s5, $s5, 0x2d00 +/* 38617C E0082B3C 00121080 */ sll $v0, $s2, 2 +/* 386180 E0082B40 0055F021 */ addu $fp, $v0, $s5 +/* 386184 E0082B44 00003810 */ mfhi $a3 +/* 386188 E0082B48 0007B883 */ sra $s7, $a3, 2 +.LE0082B4C: +/* 38618C E0082B4C 0C0209B1 */ jal func_E00826C4 +/* 386190 E0082B50 0260202D */ daddu $a0, $s3, $zero +/* 386194 E0082B54 1A40003E */ blez $s2, .LE0082C50 +/* 386198 E0082B58 3C02D838 */ lui $v0, 0xd838 +/* 38619C E0082B5C 8E050000 */ lw $a1, ($s0) +/* 3861A0 E0082B60 3C030900 */ lui $v1, 0x900 +/* 3861A4 E0082B64 246322B0 */ addiu $v1, $v1, 0x22b0 +/* 3861A8 E0082B68 00A0102D */ daddu $v0, $a1, $zero +/* 3861AC E0082B6C 24A50008 */ addiu $a1, $a1, 8 +/* 3861B0 E0082B70 AE050000 */ sw $a1, ($s0) +/* 3861B4 E0082B74 AC510000 */ sw $s1, ($v0) +/* 3861B8 E0082B78 AC430004 */ sw $v1, 4($v0) +/* 3861BC E0082B7C 2A42000A */ slti $v0, $s2, 0xa +/* 3861C0 E0082B80 1040000C */ beqz $v0, .LE0082BB4 +/* 3861C4 E0082B84 24A20008 */ addiu $v0, $a1, 8 +/* 3861C8 E0082B88 AE020000 */ sw $v0, ($s0) +/* 3861CC E0082B8C ACB10000 */ sw $s1, ($a1) +/* 3861D0 E0082B90 8FC30000 */ lw $v1, ($fp) +/* 3861D4 E0082B94 24A20010 */ addiu $v0, $a1, 0x10 +/* 3861D8 E0082B98 AE020000 */ sw $v0, ($s0) +/* 3861DC E0082B9C 3C020900 */ lui $v0, 0x900 +/* 3861E0 E0082BA0 24422250 */ addiu $v0, $v0, 0x2250 +/* 3861E4 E0082BA4 ACB10008 */ sw $s1, 8($a1) +/* 3861E8 E0082BA8 ACA2000C */ sw $v0, 0xc($a1) +/* 3861EC E0082BAC 08020B13 */ j .LE0082C4C +/* 3861F0 E0082BB0 ACA30004 */ sw $v1, 4($a1) +.LE0082BB4: +/* 3861F4 E0082BB4 001217C3 */ sra $v0, $s2, 0x1f +/* 3861F8 E0082BB8 02E22023 */ subu $a0, $s7, $v0 +/* 3861FC E0082BBC 0080182D */ daddu $v1, $a0, $zero +/* 386200 E0082BC0 00031080 */ sll $v0, $v1, 2 +/* 386204 E0082BC4 00431021 */ addu $v0, $v0, $v1 +/* 386208 E0082BC8 00021040 */ sll $v0, $v0, 1 +/* 38620C E0082BCC 02422023 */ subu $a0, $s2, $v0 +/* 386210 E0082BD0 24A20008 */ addiu $v0, $a1, 8 +/* 386214 E0082BD4 AE020000 */ sw $v0, ($s0) +/* 386218 E0082BD8 00041080 */ sll $v0, $a0, 2 +/* 38621C E0082BDC 00551021 */ addu $v0, $v0, $s5 +/* 386220 E0082BE0 ACB10000 */ sw $s1, ($a1) +/* 386224 E0082BE4 8C440000 */ lw $a0, ($v0) +/* 386228 E0082BE8 24A20010 */ addiu $v0, $a1, 0x10 +/* 38622C E0082BEC AE020000 */ sw $v0, ($s0) +/* 386230 E0082BF0 24A20018 */ addiu $v0, $a1, 0x18 +/* 386234 E0082BF4 00031880 */ sll $v1, $v1, 2 +/* 386238 E0082BF8 00751821 */ addu $v1, $v1, $s5 +/* 38623C E0082BFC ACB10008 */ sw $s1, 8($a1) +/* 386240 E0082C00 AE020000 */ sw $v0, ($s0) +/* 386244 E0082C04 ACA40004 */ sw $a0, 4($a1) +/* 386248 E0082C08 8C640000 */ lw $a0, ($v1) +/* 38624C E0082C0C 24A20020 */ addiu $v0, $a1, 0x20 +/* 386250 E0082C10 AE020000 */ sw $v0, ($s0) +/* 386254 E0082C14 3C020900 */ lui $v0, 0x900 +/* 386258 E0082C18 24422290 */ addiu $v0, $v0, 0x2290 +/* 38625C E0082C1C ACB10010 */ sw $s1, 0x10($a1) +/* 386260 E0082C20 ACA20014 */ sw $v0, 0x14($a1) +/* 386264 E0082C24 ACB10018 */ sw $s1, 0x18($a1) +/* 386268 E0082C28 ACA4000C */ sw $a0, 0xc($a1) +/* 38626C E0082C2C 8C630000 */ lw $v1, ($v1) +/* 386270 E0082C30 24A20028 */ addiu $v0, $a1, 0x28 +/* 386274 E0082C34 AE020000 */ sw $v0, ($s0) +/* 386278 E0082C38 3C020900 */ lui $v0, 0x900 +/* 38627C E0082C3C 24422270 */ addiu $v0, $v0, 0x2270 +/* 386280 E0082C40 ACB10020 */ sw $s1, 0x20($a1) +/* 386284 E0082C44 ACA20024 */ sw $v0, 0x24($a1) +/* 386288 E0082C48 ACA3001C */ sw $v1, 0x1c($a1) +.LE0082C4C: +/* 38628C E0082C4C 3C02D838 */ lui $v0, 0xd838 +.LE0082C50: +/* 386290 E0082C50 34420002 */ ori $v0, $v0, 2 +/* 386294 E0082C54 26940001 */ addiu $s4, $s4, 1 +/* 386298 E0082C58 8E040000 */ lw $a0, ($s0) +/* 38629C E0082C5C 26730048 */ addiu $s3, $s3, 0x48 +/* 3862A0 E0082C60 0080182D */ daddu $v1, $a0, $zero +/* 3862A4 E0082C64 AC620000 */ sw $v0, ($v1) +/* 3862A8 E0082C68 24020040 */ addiu $v0, $zero, 0x40 +/* 3862AC E0082C6C AC620004 */ sw $v0, 4($v1) +/* 3862B0 E0082C70 8EC20008 */ lw $v0, 8($s6) +/* 3862B4 E0082C74 24840008 */ addiu $a0, $a0, 8 +/* 3862B8 E0082C78 0282102A */ slt $v0, $s4, $v0 +/* 3862BC E0082C7C 1440FFB3 */ bnez $v0, .LE0082B4C +/* 3862C0 E0082C80 AE040000 */ sw $a0, ($s0) +.LE0082C84: +/* 3862C4 E0082C84 3C03D838 */ lui $v1, 0xd838 +/* 3862C8 E0082C88 3C04800A */ lui $a0, 0x800a +/* 3862CC E0082C8C 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3862D0 E0082C90 8C820000 */ lw $v0, ($a0) +/* 3862D4 E0082C94 34630002 */ ori $v1, $v1, 2 +/* 3862D8 E0082C98 0040282D */ daddu $a1, $v0, $zero +/* 3862DC E0082C9C 24420008 */ addiu $v0, $v0, 8 +/* 3862E0 E0082CA0 AC820000 */ sw $v0, ($a0) +/* 3862E4 E0082CA4 ACA30000 */ sw $v1, ($a1) +/* 3862E8 E0082CA8 24030040 */ addiu $v1, $zero, 0x40 +/* 3862EC E0082CAC ACA30004 */ sw $v1, 4($a1) +/* 3862F0 E0082CB0 24430008 */ addiu $v1, $v0, 8 +/* 3862F4 E0082CB4 AC830000 */ sw $v1, ($a0) +/* 3862F8 E0082CB8 3C03E700 */ lui $v1, 0xe700 +/* 3862FC E0082CBC AC430000 */ sw $v1, ($v0) +/* 386300 E0082CC0 AC400004 */ sw $zero, 4($v0) +/* 386304 E0082CC4 8FBF0034 */ lw $ra, 0x34($sp) +/* 386308 E0082CC8 8FBE0030 */ lw $fp, 0x30($sp) +/* 38630C E0082CCC 8FB7002C */ lw $s7, 0x2c($sp) +/* 386310 E0082CD0 8FB60028 */ lw $s6, 0x28($sp) +/* 386314 E0082CD4 8FB50024 */ lw $s5, 0x24($sp) +/* 386318 E0082CD8 8FB40020 */ lw $s4, 0x20($sp) +/* 38631C E0082CDC 8FB3001C */ lw $s3, 0x1c($sp) +/* 386320 E0082CE0 8FB20018 */ lw $s2, 0x18($sp) +/* 386324 E0082CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 386328 E0082CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 38632C E0082CEC 03E00008 */ jr $ra +/* 386330 E0082CF0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 386334 E0082CF4 00000000 */ nop +/* 386338 E0082CF8 00000000 */ nop +/* 38633C E0082CFC 00000000 */ nop diff --git a/asm/nonmatchings/code_3889D0/func_E0084000.s b/asm/nonmatchings/code_3889D0/func_E0084000.s new file mode 100644 index 0000000000..2f9579dc79 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084000.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084000 +/* 3889D0 E0084000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3889D4 E0084004 8FA20038 */ lw $v0, 0x38($sp) +/* 3889D8 E0084008 8FA3003C */ lw $v1, 0x3c($sp) +/* 3889DC E008400C 8FA80040 */ lw $t0, 0x40($sp) +/* 3889E0 E0084010 AFA20010 */ sw $v0, 0x10($sp) +/* 3889E4 E0084014 3C02E008 */ lui $v0, 0xe008 +/* 3889E8 E0084018 8C424E34 */ lw $v0, 0x4e34($v0) +/* 3889EC E008401C 3084FFFF */ andi $a0, $a0, 0xffff +/* 3889F0 E0084020 AFBF0020 */ sw $ra, 0x20($sp) +/* 3889F4 E0084024 AFA30014 */ sw $v1, 0x14($sp) +/* 3889F8 E0084028 0040F809 */ jalr $v0 +/* 3889FC E008402C AFA80018 */ sw $t0, 0x18($sp) +/* 388A00 E0084030 8FBF0020 */ lw $ra, 0x20($sp) +/* 388A04 E0084034 03E00008 */ jr $ra +/* 388A08 E0084038 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3889D0/func_E008403C.s b/asm/nonmatchings/code_3889D0/func_E008403C.s new file mode 100644 index 0000000000..d00f4d6cad --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E008403C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008403C +/* 388A0C E008403C 3C02E008 */ lui $v0, 0xe008 +/* 388A10 E0084040 8C424E38 */ lw $v0, 0x4e38($v0) +/* 388A14 E0084044 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 388A18 E0084048 AFBF0010 */ sw $ra, 0x10($sp) +/* 388A1C E008404C 0040F809 */ jalr $v0 +/* 388A20 E0084050 00000000 */ nop +/* 388A24 E0084054 8FBF0010 */ lw $ra, 0x10($sp) +/* 388A28 E0084058 03E00008 */ jr $ra +/* 388A2C E008405C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3889D0/func_E0084060.s b/asm/nonmatchings/code_3889D0/func_E0084060.s new file mode 100644 index 0000000000..2748296d16 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084060.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084060 +/* 388A30 E0084060 3C02E008 */ lui $v0, 0xe008 +/* 388A34 E0084064 8C424E3C */ lw $v0, 0x4e3c($v0) +/* 388A38 E0084068 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 388A3C E008406C AFBF0010 */ sw $ra, 0x10($sp) +/* 388A40 E0084070 0040F809 */ jalr $v0 +/* 388A44 E0084074 00000000 */ nop +/* 388A48 E0084078 8FBF0010 */ lw $ra, 0x10($sp) +/* 388A4C E008407C 03E00008 */ jr $ra +/* 388A50 E0084080 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3889D0/func_E0084084.s b/asm/nonmatchings/code_3889D0/func_E0084084.s new file mode 100644 index 0000000000..d9642b6776 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084084.s @@ -0,0 +1,399 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084084 +/* 388A54 E0084084 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 388A58 E0084088 AFB5007C */ sw $s5, 0x7c($sp) +/* 388A5C E008408C 0080A82D */ daddu $s5, $a0, $zero +/* 388A60 E0084090 30A4FFFF */ andi $a0, $a1, 0xffff +/* 388A64 E0084094 27A20044 */ addiu $v0, $sp, 0x44 +/* 388A68 E0084098 AFA20010 */ sw $v0, 0x10($sp) +/* 388A6C E008409C 27A20048 */ addiu $v0, $sp, 0x48 +/* 388A70 E00840A0 AFA20014 */ sw $v0, 0x14($sp) +/* 388A74 E00840A4 27A2004C */ addiu $v0, $sp, 0x4c +/* 388A78 E00840A8 AFB60080 */ sw $s6, 0x80($sp) +/* 388A7C E00840AC 00C0B02D */ daddu $s6, $a2, $zero +/* 388A80 E00840B0 27A50038 */ addiu $a1, $sp, 0x38 +/* 388A84 E00840B4 27A6003C */ addiu $a2, $sp, 0x3c +/* 388A88 E00840B8 F7B60090 */ sdc1 $f22, 0x90($sp) +/* 388A8C E00840BC 4487B000 */ mtc1 $a3, $f22 +/* 388A90 E00840C0 27A70040 */ addiu $a3, $sp, 0x40 +/* 388A94 E00840C4 AFBF0084 */ sw $ra, 0x84($sp) +/* 388A98 E00840C8 AFB40078 */ sw $s4, 0x78($sp) +/* 388A9C E00840CC AFB30074 */ sw $s3, 0x74($sp) +/* 388AA0 E00840D0 AFB20070 */ sw $s2, 0x70($sp) +/* 388AA4 E00840D4 AFB1006C */ sw $s1, 0x6c($sp) +/* 388AA8 E00840D8 AFB00068 */ sw $s0, 0x68($sp) +/* 388AAC E00840DC F7BE00B0 */ sdc1 $f30, 0xb0($sp) +/* 388AB0 E00840E0 F7BC00A8 */ sdc1 $f28, 0xa8($sp) +/* 388AB4 E00840E4 F7BA00A0 */ sdc1 $f26, 0xa0($sp) +/* 388AB8 E00840E8 F7B80098 */ sdc1 $f24, 0x98($sp) +/* 388ABC E00840EC F7B40088 */ sdc1 $f20, 0x88($sp) +/* 388AC0 E00840F0 0C021000 */ jal func_E0084000 +/* 388AC4 E00840F4 AFA20018 */ sw $v0, 0x18($sp) +/* 388AC8 E00840F8 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 388ACC E00840FC 3C013D80 */ lui $at, 0x3d80 +/* 388AD0 E0084100 44810000 */ mtc1 $at, $f0 +/* 388AD4 E0084104 00000000 */ nop +/* 388AD8 E0084108 46004182 */ mul.s $f6, $f8, $f0 +/* 388ADC E008410C 00000000 */ nop +/* 388AE0 E0084110 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 388AE4 E0084114 46005102 */ mul.s $f4, $f10, $f0 +/* 388AE8 E0084118 00000000 */ nop +/* 388AEC E008411C C7AC004C */ lwc1 $f12, 0x4c($sp) +/* 388AF0 E0084120 46006002 */ mul.s $f0, $f12, $f0 +/* 388AF4 E0084124 00000000 */ nop +/* 388AF8 E0084128 3C013F80 */ lui $at, 0x3f80 +/* 388AFC E008412C 44811000 */ mtc1 $at, $f2 +/* 388B00 E0084130 00000000 */ nop +/* 388B04 E0084134 46023180 */ add.s $f6, $f6, $f2 +/* 388B08 E0084138 27B00020 */ addiu $s0, $sp, 0x20 +/* 388B0C E008413C 46022100 */ add.s $f4, $f4, $f2 +/* 388B10 E0084140 4600470D */ trunc.w.s $f28, $f8 +/* 388B14 E0084144 4403E000 */ mfc1 $v1, $f28 +/* 388B18 E0084148 46020000 */ add.s $f0, $f0, $f2 +/* 388B1C E008414C 4600370D */ trunc.w.s $f28, $f6 +/* 388B20 E0084150 4412E000 */ mfc1 $s2, $f28 +/* 388B24 E0084154 4600270D */ trunc.w.s $f28, $f4 +/* 388B28 E0084158 4413E000 */ mfc1 $s3, $f28 +/* 388B2C E008415C 4600070D */ trunc.w.s $f28, $f0 +/* 388B30 E0084160 4411E000 */ mfc1 $s1, $f28 +/* 388B34 E0084164 04610002 */ bgez $v1, .LE0084170 +/* 388B38 E0084168 0060102D */ daddu $v0, $v1, $zero +/* 388B3C E008416C 2462000F */ addiu $v0, $v1, 0xf +.LE0084170: +/* 388B40 E0084170 00021103 */ sra $v0, $v0, 4 +/* 388B44 E0084174 00021100 */ sll $v0, $v0, 4 +/* 388B48 E0084178 00621023 */ subu $v0, $v1, $v0 +/* 388B4C E008417C 4482A000 */ mtc1 $v0, $f20 +/* 388B50 E0084180 00000000 */ nop +/* 388B54 E0084184 4680A520 */ cvt.s.w $f20, $f20 +/* 388B58 E0084188 4600570D */ trunc.w.s $f28, $f10 +/* 388B5C E008418C 4403E000 */ mfc1 $v1, $f28 +/* 388B60 E0084190 00000000 */ nop +/* 388B64 E0084194 04610002 */ bgez $v1, .LE00841A0 +/* 388B68 E0084198 0060102D */ daddu $v0, $v1, $zero +/* 388B6C E008419C 2462000F */ addiu $v0, $v1, 0xf +.LE00841A0: +/* 388B70 E00841A0 00021103 */ sra $v0, $v0, 4 +/* 388B74 E00841A4 00021100 */ sll $v0, $v0, 4 +/* 388B78 E00841A8 00621023 */ subu $v0, $v1, $v0 +/* 388B7C E00841AC 4482F000 */ mtc1 $v0, $f30 +/* 388B80 E00841B0 00000000 */ nop +/* 388B84 E00841B4 4680F7A0 */ cvt.s.w $f30, $f30 +/* 388B88 E00841B8 3C013FE0 */ lui $at, 0x3fe0 +/* 388B8C E00841BC 44810800 */ mtc1 $at, $f1 +/* 388B90 E00841C0 44800000 */ mtc1 $zero, $f0 +/* 388B94 E00841C4 4600A121 */ cvt.d.s $f4, $f20 +/* 388B98 E00841C8 46202102 */ mul.d $f4, $f4, $f0 +/* 388B9C E00841CC 00000000 */ nop +/* 388BA0 E00841D0 4600F0A1 */ cvt.d.s $f2, $f30 +/* 388BA4 E00841D4 46201082 */ mul.d $f2, $f2, $f0 +/* 388BA8 E00841D8 00000000 */ nop +/* 388BAC E00841DC 0200202D */ daddu $a0, $s0, $zero +/* 388BB0 E00841E0 3C02E008 */ lui $v0, 0xe008 +/* 388BB4 E00841E4 24424658 */ addiu $v0, $v0, 0x4658 +/* 388BB8 E00841E8 AFA20028 */ sw $v0, 0x28($sp) +/* 388BBC E00841EC 02530018 */ mult $s2, $s3 +/* 388BC0 E00841F0 3C02E008 */ lui $v0, 0xe008 +/* 388BC4 E00841F4 24424660 */ addiu $v0, $v0, 0x4660 +/* 388BC8 E00841F8 AFA2002C */ sw $v0, 0x2c($sp) +/* 388BCC E00841FC 3C02E008 */ lui $v0, 0xe008 +/* 388BD0 E0084200 244248E4 */ addiu $v0, $v0, 0x48e4 +/* 388BD4 E0084204 AFA20030 */ sw $v0, 0x30($sp) +/* 388BD8 E0084208 00004012 */ mflo $t0 +/* 388BDC E008420C 24020042 */ addiu $v0, $zero, 0x42 +/* 388BE0 E0084210 AFA00020 */ sw $zero, 0x20($sp) +/* 388BE4 E0084214 01110018 */ mult $t0, $s1 +/* 388BE8 E0084218 AFA00034 */ sw $zero, 0x34($sp) +/* 388BEC E008421C AFA20024 */ sw $v0, 0x24($sp) +/* 388BF0 E0084220 46202520 */ cvt.s.d $f20, $f4 +/* 388BF4 E0084224 462017A0 */ cvt.s.d $f30, $f2 +/* 388BF8 E0084228 00004012 */ mflo $t0 +/* 388BFC E008422C 0C080124 */ jal func_E0200490 +/* 388C00 E0084230 25100001 */ addiu $s0, $t0, 1 +/* 388C04 E0084234 00102080 */ sll $a0, $s0, 2 +/* 388C08 E0084238 00902021 */ addu $a0, $a0, $s0 +/* 388C0C E008423C 00042100 */ sll $a0, $a0, 4 +/* 388C10 E0084240 0040A02D */ daddu $s4, $v0, $zero +/* 388C14 E0084244 0C08012C */ jal func_E02004B0 +/* 388C18 E0084248 AE900008 */ sw $s0, 8($s4) +/* 388C1C E008424C 0040202D */ daddu $a0, $v0, $zero +/* 388C20 E0084250 14800003 */ bnez $a0, .LE0084260 +/* 388C24 E0084254 AE84000C */ sw $a0, 0xc($s4) +.LE0084258: +/* 388C28 E0084258 08021096 */ j .LE0084258 +/* 388C2C E008425C 00000000 */ nop +.LE0084260: +/* 388C30 E0084260 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 388C34 E0084264 3C013FE0 */ lui $at, 0x3fe0 +/* 388C38 E0084268 44815800 */ mtc1 $at, $f11 +/* 388C3C E008426C 44805000 */ mtc1 $zero, $f10 +/* 388C40 E0084270 46000107 */ neg.s $f4, $f0 +/* 388C44 E0084274 46002121 */ cvt.d.s $f4, $f4 +/* 388C48 E0084278 462A2102 */ mul.d $f4, $f4, $f10 +/* 388C4C E008427C 00000000 */ nop +/* 388C50 E0084280 8FA200CC */ lw $v0, 0xcc($sp) +/* 388C54 E0084284 3C01E008 */ lui $at, 0xe008 +/* 388C58 E0084288 D4224E40 */ ldc1 $f2, 0x4e40($at) +/* 388C5C E008428C AC800048 */ sw $zero, 0x48($a0) +/* 388C60 E0084290 A4950000 */ sh $s5, ($a0) +/* 388C64 E0084294 E4960038 */ swc1 $f22, 0x38($a0) +/* 388C68 E0084298 46000021 */ cvt.d.s $f0, $f0 +/* 388C6C E008429C 46220002 */ mul.d $f0, $f0, $f2 +/* 388C70 E00842A0 00000000 */ nop +/* 388C74 E00842A4 AC820044 */ sw $v0, 0x44($a0) +/* 388C78 E00842A8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 388C7C E00842AC 240200FF */ addiu $v0, $zero, 0xff +/* 388C80 E00842B0 AC82004C */ sw $v0, 0x4c($a0) +/* 388C84 E00842B4 A4960002 */ sh $s6, 2($a0) +/* 388C88 E00842B8 E4820008 */ swc1 $f2, 8($a0) +/* 388C8C E00842BC C7A2003C */ lwc1 $f2, 0x3c($sp) +/* 388C90 E00842C0 C7A60040 */ lwc1 $f6, 0x40($sp) +/* 388C94 E00842C4 4616B200 */ add.s $f8, $f22, $f22 +/* 388C98 E00842C8 E482000C */ swc1 $f2, 0xc($a0) +/* 388C9C E00842CC 3C013F80 */ lui $at, 0x3f80 +/* 388CA0 E00842D0 44811000 */ mtc1 $at, $f2 +/* 388CA4 E00842D4 E488003C */ swc1 $f8, 0x3c($a0) +/* 388CA8 E00842D8 E4860010 */ swc1 $f6, 0x10($a0) +/* 388CAC E00842DC 46200020 */ cvt.s.d $f0, $f0 +/* 388CB0 E00842E0 46202120 */ cvt.s.d $f4, $f4 +/* 388CB4 E00842E4 4602003C */ c.lt.s $f0, $f2 +/* 388CB8 E00842E8 E4840004 */ swc1 $f4, 4($a0) +/* 388CBC E00842EC 45000002 */ bc1f .LE00842F8 +/* 388CC0 E00842F0 E4800040 */ swc1 $f0, 0x40($a0) +/* 388CC4 E00842F4 E4820040 */ swc1 $f2, 0x40($a0) +.LE00842F8: +/* 388CC8 E00842F8 24840050 */ addiu $a0, $a0, 0x50 +/* 388CCC E00842FC 1A4000C5 */ blez $s2, .LE0084614 +/* 388CD0 E0084300 0000382D */ daddu $a3, $zero, $zero +/* 388CD4 E0084304 C7BA0044 */ lwc1 $f26, 0x44($sp) +/* 388CD8 E0084308 46205486 */ mov.d $f18, $f10 +/* 388CDC E008430C 4600D0A1 */ cvt.d.s $f2, $f26 +/* 388CE0 E0084310 46321082 */ mul.d $f2, $f2, $f18 +/* 388CE4 E0084314 00000000 */ nop +/* 388CE8 E0084318 C7BC0048 */ lwc1 $f28, 0x48($sp) +/* 388CEC E008431C C7B6004C */ lwc1 $f22, 0x4c($sp) +/* 388CF0 E0084320 3C01E008 */ lui $at, 0xe008 +/* 388CF4 E0084324 D42C4E48 */ ldc1 $f12, 0x4e48($at) +/* 388CF8 E0084328 4480C000 */ mtc1 $zero, $f24 +/* 388CFC E008432C 4600A021 */ cvt.d.s $f0, $f20 +/* 388D00 E0084330 E7BC0058 */ swc1 $f28, 0x58($sp) +/* 388D04 E0084334 46220001 */ sub.d $f0, $f0, $f2 +/* 388D08 E0084338 F7A00050 */ sdc1 $f0, 0x50($sp) +.LE008433C: +/* 388D0C E008433C 3C014180 */ lui $at, 0x4180 +/* 388D10 E0084340 4481E000 */ mtc1 $at, $f28 +/* 388D14 E0084344 44870000 */ mtc1 $a3, $f0 +/* 388D18 E0084348 00000000 */ nop +/* 388D1C E008434C 46800020 */ cvt.s.w $f0, $f0 +/* 388D20 E0084350 461C0002 */ mul.s $f0, $f0, $f28 +/* 388D24 E0084354 00000000 */ nop +/* 388D28 E0084358 D7BC0050 */ ldc1 $f28, 0x50($sp) +/* 388D2C E008435C 46000021 */ cvt.d.s $f0, $f0 +/* 388D30 E0084360 4620E000 */ add.d $f0, $f28, $f0 +/* 388D34 E0084364 0000302D */ daddu $a2, $zero, $zero +/* 388D38 E0084368 46200020 */ cvt.s.d $f0, $f0 +/* 388D3C E008436C 1A6000A5 */ blez $s3, .LE0084604 +/* 388D40 E0084370 E7A00038 */ swc1 $f0, 0x38($sp) +/* 388D44 E0084374 C7BC0058 */ lwc1 $f28, 0x58($sp) +/* 388D48 E0084378 4600E0A1 */ cvt.d.s $f2, $f28 +/* 388D4C E008437C 46321082 */ mul.d $f2, $f2, $f18 +/* 388D50 E0084380 00000000 */ nop +/* 388D54 E0084384 46000186 */ mov.s $f6, $f0 +/* 388D58 E0084388 4600F021 */ cvt.d.s $f0, $f30 +/* 388D5C E008438C 46220001 */ sub.d $f0, $f0, $f2 +/* 388D60 E0084390 F7A00060 */ sdc1 $f0, 0x60($sp) +.LE0084394: +/* 388D64 E0084394 3C014180 */ lui $at, 0x4180 +/* 388D68 E0084398 4481E000 */ mtc1 $at, $f28 +/* 388D6C E008439C 44860000 */ mtc1 $a2, $f0 +/* 388D70 E00843A0 00000000 */ nop +/* 388D74 E00843A4 46800020 */ cvt.s.w $f0, $f0 +/* 388D78 E00843A8 461C0002 */ mul.s $f0, $f0, $f28 +/* 388D7C E00843AC 00000000 */ nop +/* 388D80 E00843B0 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 388D84 E00843B4 46000021 */ cvt.d.s $f0, $f0 +/* 388D88 E00843B8 4620E000 */ add.d $f0, $f28, $f0 +/* 388D8C E00843BC 0000282D */ daddu $a1, $zero, $zero +/* 388D90 E00843C0 46200020 */ cvt.s.d $f0, $f0 +/* 388D94 E00843C4 1A20008B */ blez $s1, .LE00845F4 +/* 388D98 E00843C8 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 388D9C E00843CC 4600B0A1 */ cvt.d.s $f2, $f22 +/* 388DA0 E00843D0 46321082 */ mul.d $f2, $f2, $f18 +/* 388DA4 E00843D4 00000000 */ nop +/* 388DA8 E00843D8 46000286 */ mov.s $f10, $f0 +/* 388DAC E00843DC 2483004C */ addiu $v1, $a0, 0x4c +/* 388DB0 E00843E0 4600F021 */ cvt.d.s $f0, $f30 +/* 388DB4 E00843E4 3C01BFF0 */ lui $at, 0xbff0 +/* 388DB8 E00843E8 44818800 */ mtc1 $at, $f17 +/* 388DBC E00843EC 44808000 */ mtc1 $zero, $f16 +/* 388DC0 E00843F0 3C013FF0 */ lui $at, 0x3ff0 +/* 388DC4 E00843F4 44817800 */ mtc1 $at, $f15 +/* 388DC8 E00843F8 44807000 */ mtc1 $zero, $f14 +/* 388DCC E00843FC 44804000 */ mtc1 $zero, $f8 +/* 388DD0 E0084400 44804800 */ mtc1 $zero, $f9 +/* 388DD4 E0084404 46220501 */ sub.d $f20, $f0, $f2 +.LE0084408: +/* 388DD8 E0084408 3C014180 */ lui $at, 0x4180 +/* 388DDC E008440C 4481E000 */ mtc1 $at, $f28 +/* 388DE0 E0084410 44850000 */ mtc1 $a1, $f0 +/* 388DE4 E0084414 00000000 */ nop +/* 388DE8 E0084418 46800020 */ cvt.s.w $f0, $f0 +/* 388DEC E008441C 461C0002 */ mul.s $f0, $f0, $f28 +/* 388DF0 E0084420 00000000 */ nop +/* 388DF4 E0084424 4616D03C */ c.lt.s $f26, $f22 +/* 388DF8 E0084428 E466FFC8 */ swc1 $f6, -0x38($v1) +/* 388DFC E008442C E466FFBC */ swc1 $f6, -0x44($v1) +/* 388E00 E0084430 46000021 */ cvt.d.s $f0, $f0 +/* 388E04 E0084434 4620A000 */ add.d $f0, $f20, $f0 +/* 388E08 E0084438 E46AFFCC */ swc1 $f10, -0x34($v1) +/* 388E0C E008443C E46AFFC0 */ swc1 $f10, -0x40($v1) +/* 388E10 E0084440 46200020 */ cvt.s.d $f0, $f0 +/* 388E14 E0084444 E7A00040 */ swc1 $f0, 0x40($sp) +/* 388E18 E0084448 E460FFD0 */ swc1 $f0, -0x30($v1) +/* 388E1C E008444C 45000017 */ bc1f .LE00844AC +/* 388E20 E0084450 E460FFC4 */ swc1 $f0, -0x3c($v1) +/* 388E24 E0084454 2A420002 */ slti $v0, $s2, 2 +/* 388E28 E0084458 5440000A */ bnel $v0, $zero, .LE0084484 +/* 388E2C E008445C 30A20001 */ andi $v0, $a1, 1 +/* 388E30 E0084460 4600D0A1 */ cvt.d.s $f2, $f26 +/* 388E34 E0084464 46321082 */ mul.d $f2, $f2, $f18 +/* 388E38 E0084468 00000000 */ nop +/* 388E3C E008446C 46003021 */ cvt.d.s $f0, $f6 +/* 388E40 E0084470 46220003 */ div.d $f0, $f0, $f2 +/* 388E44 E0084474 46200000 */ add.d $f0, $f0, $f0 +/* 388E48 E0084478 46200020 */ cvt.s.d $f0, $f0 +/* 388E4C E008447C 08021129 */ j .LE00844A4 +/* 388E50 E0084480 E460FFD4 */ swc1 $f0, -0x2c($v1) +.LE0084484: +/* 388E54 E0084484 3C01C000 */ lui $at, 0xc000 +/* 388E58 E0084488 4481E000 */ mtc1 $at, $f28 +/* 388E5C E008448C 50400005 */ beql $v0, $zero, .LE00844A4 +/* 388E60 E0084490 E47CFFD4 */ swc1 $f28, -0x2c($v1) +/* 388E64 E0084494 3C014000 */ lui $at, 0x4000 +/* 388E68 E0084498 4481E000 */ mtc1 $at, $f28 +/* 388E6C E008449C 00000000 */ nop +/* 388E70 E00844A0 E47CFFD4 */ swc1 $f28, -0x2c($v1) +.LE00844A4: +/* 388E74 E00844A4 08021140 */ j .LE0084500 +/* 388E78 E00844A8 AC60FFDC */ sw $zero, -0x24($v1) +.LE00844AC: +/* 388E7C E00844AC 2A220002 */ slti $v0, $s1, 2 +/* 388E80 E00844B0 1440000A */ bnez $v0, .LE00844DC +/* 388E84 E00844B4 AC60FFD4 */ sw $zero, -0x2c($v1) +/* 388E88 E00844B8 4600B0A1 */ cvt.d.s $f2, $f22 +/* 388E8C E00844BC 46321082 */ mul.d $f2, $f2, $f18 +/* 388E90 E00844C0 00000000 */ nop +/* 388E94 E00844C4 46000021 */ cvt.d.s $f0, $f0 +/* 388E98 E00844C8 46220003 */ div.d $f0, $f0, $f2 +/* 388E9C E00844CC 46200000 */ add.d $f0, $f0, $f0 +/* 388EA0 E00844D0 46200020 */ cvt.s.d $f0, $f0 +/* 388EA4 E00844D4 08021140 */ j .LE0084500 +/* 388EA8 E00844D8 E460FFDC */ swc1 $f0, -0x24($v1) +.LE00844DC: +/* 388EAC E00844DC 30E20001 */ andi $v0, $a3, 1 +/* 388EB0 E00844E0 3C01C000 */ lui $at, 0xc000 +/* 388EB4 E00844E4 4481E000 */ mtc1 $at, $f28 +/* 388EB8 E00844E8 50400005 */ beql $v0, $zero, .LE0084500 +/* 388EBC E00844EC E47CFFDC */ swc1 $f28, -0x24($v1) +/* 388EC0 E00844F0 3C014000 */ lui $at, 0x4000 +/* 388EC4 E00844F4 4481E000 */ mtc1 $at, $f28 +/* 388EC8 E00844F8 00000000 */ nop +/* 388ECC E00844FC E47CFFDC */ swc1 $f28, -0x24($v1) +.LE0084500: +/* 388ED0 E0084500 46005021 */ cvt.d.s $f0, $f10 +/* 388ED4 E0084504 462C0002 */ mul.d $f0, $f0, $f12 +/* 388ED8 E0084508 00000000 */ nop +/* 388EDC E008450C C7A20040 */ lwc1 $f2, 0x40($sp) +/* 388EE0 E0084510 4602303C */ c.lt.s $f6, $f2 +/* 388EE4 E0084514 46200020 */ cvt.s.d $f0, $f0 +/* 388EE8 E0084518 E460FFD8 */ swc1 $f0, -0x28($v1) +/* 388EEC E008451C 46001021 */ cvt.d.s $f0, $f2 +/* 388EF0 E0084520 462C0002 */ mul.d $f0, $f0, $f12 +/* 388EF4 E0084524 00000000 */ nop +/* 388EF8 E0084528 4500000D */ bc1f .LE0084560 +/* 388EFC E008452C 2482002C */ addiu $v0, $a0, 0x2c +/* 388F00 E0084530 4618103C */ c.lt.s $f2, $f24 +/* 388F04 E0084534 00000000 */ nop +/* 388F08 E0084538 45000003 */ bc1f .LE0084548 +/* 388F0C E008453C 00000000 */ nop +/* 388F10 E0084540 08021159 */ j .LE0084564 +/* 388F14 E0084544 46300080 */ add.d $f2, $f0, $f16 +.LE0084548: +/* 388F18 E0084548 4602C03C */ c.lt.s $f24, $f2 +/* 388F1C E008454C 00000000 */ nop +/* 388F20 E0084550 45020004 */ bc1fl .LE0084564 +/* 388F24 E0084554 46280080 */ add.d $f2, $f0, $f8 +/* 388F28 E0084558 08021159 */ j .LE0084564 +/* 388F2C E008455C 462E0080 */ add.d $f2, $f0, $f14 +.LE0084560: +/* 388F30 E0084560 46280080 */ add.d $f2, $f0, $f8 +.LE0084564: +/* 388F34 E0084564 46005021 */ cvt.d.s $f0, $f10 +/* 388F38 E0084568 462C0002 */ mul.d $f0, $f0, $f12 +/* 388F3C E008456C 00000000 */ nop +/* 388F40 E0084570 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 388F44 E0084574 462010A0 */ cvt.s.d $f2, $f2 +/* 388F48 E0084578 E4420000 */ swc1 $f2, ($v0) +/* 388F4C E008457C 4606203C */ c.lt.s $f4, $f6 +/* 388F50 E0084580 46200020 */ cvt.s.d $f0, $f0 +/* 388F54 E0084584 E460FFE4 */ swc1 $f0, -0x1c($v1) +/* 388F58 E0084588 46003021 */ cvt.d.s $f0, $f6 +/* 388F5C E008458C 462C0002 */ mul.d $f0, $f0, $f12 +/* 388F60 E0084590 00000000 */ nop +/* 388F64 E0084594 4500000D */ bc1f .LE00845CC +/* 388F68 E0084598 24820034 */ addiu $v0, $a0, 0x34 +/* 388F6C E008459C 4618303C */ c.lt.s $f6, $f24 +/* 388F70 E00845A0 00000000 */ nop +/* 388F74 E00845A4 45000003 */ bc1f .LE00845B4 +/* 388F78 E00845A8 00000000 */ nop +/* 388F7C E00845AC 08021174 */ j .LE00845D0 +/* 388F80 E00845B0 46300000 */ add.d $f0, $f0, $f16 +.LE00845B4: +/* 388F84 E00845B4 4606C03C */ c.lt.s $f24, $f6 +/* 388F88 E00845B8 00000000 */ nop +/* 388F8C E00845BC 45020004 */ bc1fl .LE00845D0 +/* 388F90 E00845C0 46280000 */ add.d $f0, $f0, $f8 +/* 388F94 E00845C4 08021174 */ j .LE00845D0 +/* 388F98 E00845C8 462E0000 */ add.d $f0, $f0, $f14 +.LE00845CC: +/* 388F9C E00845CC 46280000 */ add.d $f0, $f0, $f8 +.LE00845D0: +/* 388FA0 E00845D0 46200020 */ cvt.s.d $f0, $f0 +/* 388FA4 E00845D4 E4400000 */ swc1 $f0, ($v0) +/* 388FA8 E00845D8 240200FF */ addiu $v0, $zero, 0xff +/* 388FAC E00845DC AC620000 */ sw $v0, ($v1) +/* 388FB0 E00845E0 24630050 */ addiu $v1, $v1, 0x50 +/* 388FB4 E00845E4 24A50001 */ addiu $a1, $a1, 1 +/* 388FB8 E00845E8 00B1102A */ slt $v0, $a1, $s1 +/* 388FBC E00845EC 1440FF86 */ bnez $v0, .LE0084408 +/* 388FC0 E00845F0 24840050 */ addiu $a0, $a0, 0x50 +.LE00845F4: +/* 388FC4 E00845F4 24C60001 */ addiu $a2, $a2, 1 +/* 388FC8 E00845F8 00D3102A */ slt $v0, $a2, $s3 +/* 388FCC E00845FC 1440FF65 */ bnez $v0, .LE0084394 +/* 388FD0 E0084600 00000000 */ nop +.LE0084604: +/* 388FD4 E0084604 24E70001 */ addiu $a3, $a3, 1 +/* 388FD8 E0084608 00F2102A */ slt $v0, $a3, $s2 +/* 388FDC E008460C 1440FF4B */ bnez $v0, .LE008433C +/* 388FE0 E0084610 00000000 */ nop +.LE0084614: +/* 388FE4 E0084614 0280102D */ daddu $v0, $s4, $zero +/* 388FE8 E0084618 8FBF0084 */ lw $ra, 0x84($sp) +/* 388FEC E008461C 8FB60080 */ lw $s6, 0x80($sp) +/* 388FF0 E0084620 8FB5007C */ lw $s5, 0x7c($sp) +/* 388FF4 E0084624 8FB40078 */ lw $s4, 0x78($sp) +/* 388FF8 E0084628 8FB30074 */ lw $s3, 0x74($sp) +/* 388FFC E008462C 8FB20070 */ lw $s2, 0x70($sp) +/* 389000 E0084630 8FB1006C */ lw $s1, 0x6c($sp) +/* 389004 E0084634 8FB00068 */ lw $s0, 0x68($sp) +/* 389008 E0084638 D7BE00B0 */ ldc1 $f30, 0xb0($sp) +/* 38900C E008463C D7BC00A8 */ ldc1 $f28, 0xa8($sp) +/* 389010 E0084640 D7BA00A0 */ ldc1 $f26, 0xa0($sp) +/* 389014 E0084644 D7B80098 */ ldc1 $f24, 0x98($sp) +/* 389018 E0084648 D7B60090 */ ldc1 $f22, 0x90($sp) +/* 38901C E008464C D7B40088 */ ldc1 $f20, 0x88($sp) +/* 389020 E0084650 03E00008 */ jr $ra +/* 389024 E0084654 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_3889D0/func_E0084658.s b/asm/nonmatchings/code_3889D0/func_E0084658.s new file mode 100644 index 0000000000..b92c433be5 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084658.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084658 +/* 389028 E0084658 03E00008 */ jr $ra +/* 38902C E008465C 00000000 */ nop diff --git a/asm/nonmatchings/code_3889D0/func_E0084660.s b/asm/nonmatchings/code_3889D0/func_E0084660.s new file mode 100644 index 0000000000..c2e5321ffb --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084660.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084660 +/* 389030 E0084660 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 389034 E0084664 AFBF0010 */ sw $ra, 0x10($sp) +/* 389038 E0084668 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 38903C E008466C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 389040 E0084670 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 389044 E0084674 8C85000C */ lw $a1, 0xc($a0) +/* 389048 E0084678 8CA20048 */ lw $v0, 0x48($a1) +/* 38904C E008467C 8CA30044 */ lw $v1, 0x44($a1) +/* 389050 E0084680 24420001 */ addiu $v0, $v0, 1 +/* 389054 E0084684 2463FFFF */ addiu $v1, $v1, -1 +/* 389058 E0084688 ACA20048 */ sw $v0, 0x48($a1) +/* 38905C E008468C 04610005 */ bgez $v1, .LE00846A4 +/* 389060 E0084690 ACA30044 */ sw $v1, 0x44($a1) +/* 389064 E0084694 0C080128 */ jal func_E02004A0 +/* 389068 E0084698 00000000 */ nop +/* 38906C E008469C 08021233 */ j .LE00848CC +/* 389070 E00846A0 00000000 */ nop +.LE00846A4: +/* 389074 E00846A4 44831000 */ mtc1 $v1, $f2 +/* 389078 E00846A8 00000000 */ nop +/* 38907C E00846AC 468010A0 */ cvt.s.w $f2, $f2 +/* 389080 E00846B0 3C0141C8 */ lui $at, 0x41c8 +/* 389084 E00846B4 44810000 */ mtc1 $at, $f0 +/* 389088 E00846B8 C4AA0004 */ lwc1 $f10, 4($a1) +/* 38908C E00846BC 4600103C */ c.lt.s $f2, $f0 +/* 389090 E00846C0 00000000 */ nop +/* 389094 E00846C4 45000008 */ bc1f .LE00846E8 +/* 389098 E00846C8 00000000 */ nop +/* 38909C E00846CC 3C014120 */ lui $at, 0x4120 +/* 3890A0 E00846D0 44810000 */ mtc1 $at, $f0 +/* 3890A4 E00846D4 00000000 */ nop +/* 3890A8 E00846D8 46001002 */ mul.s $f0, $f2, $f0 +/* 3890AC E00846DC 00000000 */ nop +/* 3890B0 E00846E0 4600060D */ trunc.w.s $f24, $f0 +/* 3890B4 E00846E4 E4B8004C */ swc1 $f24, 0x4c($a1) +.LE00846E8: +/* 3890B8 E00846E8 C4A20038 */ lwc1 $f2, 0x38($a1) +/* 3890BC E00846EC C4A0003C */ lwc1 $f0, 0x3c($a1) +/* 3890C0 E00846F0 46020001 */ sub.s $f0, $f0, $f2 +/* 3890C4 E00846F4 3C01E008 */ lui $at, 0xe008 +/* 3890C8 E00846F8 D4244E50 */ ldc1 $f4, 0x4e50($at) +/* 3890CC E00846FC 46000021 */ cvt.d.s $f0, $f0 +/* 3890D0 E0084700 46240002 */ mul.d $f0, $f0, $f4 +/* 3890D4 E0084704 00000000 */ nop +/* 3890D8 E0084708 460010A1 */ cvt.d.s $f2, $f2 +/* 3890DC E008470C 46201080 */ add.d $f2, $f2, $f0 +/* 3890E0 E0084710 24060001 */ addiu $a2, $zero, 1 +/* 3890E4 E0084714 462010A0 */ cvt.s.d $f2, $f2 +/* 3890E8 E0084718 E4A20038 */ swc1 $f2, 0x38($a1) +/* 3890EC E008471C 8C820008 */ lw $v0, 8($a0) +/* 3890F0 E0084720 00C2102A */ slt $v0, $a2, $v0 +/* 3890F4 E0084724 10400069 */ beqz $v0, .LE00848CC +/* 3890F8 E0084728 24A50050 */ addiu $a1, $a1, 0x50 +/* 3890FC E008472C 24A30030 */ addiu $v1, $a1, 0x30 +/* 389100 E0084730 3C01E008 */ lui $at, 0xe008 +/* 389104 E0084734 D42C4E58 */ ldc1 $f12, 0x4e58($at) +/* 389108 E0084738 44808000 */ mtc1 $zero, $f16 +/* 38910C E008473C 3C01E008 */ lui $at, 0xe008 +/* 389110 E0084740 D4364E60 */ ldc1 $f22, 0x4e60($at) +/* 389114 E0084744 3C01E008 */ lui $at, 0xe008 +/* 389118 E0084748 D42E4E68 */ ldc1 $f14, 0x4e68($at) +/* 38911C E008474C 3C01E008 */ lui $at, 0xe008 +/* 389120 E0084750 D4344E70 */ ldc1 $f20, 0x4e70($at) +/* 389124 E0084754 3C01E008 */ lui $at, 0xe008 +/* 389128 E0084758 D4324E78 */ ldc1 $f18, 0x4e78($at) +.LE008475C: +/* 38912C E008475C C460FFF0 */ lwc1 $f0, -0x10($v1) +/* 389130 E0084760 46000021 */ cvt.d.s $f0, $f0 +/* 389134 E0084764 462C0002 */ mul.d $f0, $f0, $f12 +/* 389138 E0084768 00000000 */ nop +/* 38913C E008476C C462FFF4 */ lwc1 $f2, -0xc($v1) +/* 389140 E0084770 460010A1 */ cvt.d.s $f2, $f2 +/* 389144 E0084774 462C1082 */ mul.d $f2, $f2, $f12 +/* 389148 E0084778 00000000 */ nop +/* 38914C E008477C C464FFF8 */ lwc1 $f4, -8($v1) +/* 389150 E0084780 46002121 */ cvt.d.s $f4, $f4 +/* 389154 E0084784 462C2102 */ mul.d $f4, $f4, $f12 +/* 389158 E0084788 00000000 */ nop +/* 38915C E008478C C468FFD8 */ lwc1 $f8, -0x28($v1) +/* 389160 E0084790 C466FFDC */ lwc1 $f6, -0x24($v1) +/* 389164 E0084794 46200020 */ cvt.s.d $f0, $f0 +/* 389168 E0084798 462010A0 */ cvt.s.d $f2, $f2 +/* 38916C E008479C E460FFF0 */ swc1 $f0, -0x10($v1) +/* 389170 E00847A0 46004200 */ add.s $f8, $f8, $f0 +/* 389174 E00847A4 E462FFF4 */ swc1 $f2, -0xc($v1) +/* 389178 E00847A8 46001006 */ mov.s $f0, $f2 +/* 38917C E00847AC 46003180 */ add.s $f6, $f6, $f0 +/* 389180 E00847B0 C460FFE0 */ lwc1 $f0, -0x20($v1) +/* 389184 E00847B4 46202120 */ cvt.s.d $f4, $f4 +/* 389188 E00847B8 E464FFF8 */ swc1 $f4, -8($v1) +/* 38918C E00847BC 46002086 */ mov.s $f2, $f4 +/* 389190 E00847C0 46020000 */ add.s $f0, $f0, $f2 +/* 389194 E00847C4 E466FFDC */ swc1 $f6, -0x24($v1) +/* 389198 E00847C8 46003086 */ mov.s $f2, $f6 +/* 38919C E00847CC E468FFD8 */ swc1 $f8, -0x28($v1) +/* 3891A0 E00847D0 460A103C */ c.lt.s $f2, $f10 +/* 3891A4 E00847D4 00000000 */ nop +/* 3891A8 E00847D8 4500000C */ bc1f .LE008480C +/* 3891AC E00847DC E460FFE0 */ swc1 $f0, -0x20($v1) +/* 3891B0 E00847E0 C460FFF4 */ lwc1 $f0, -0xc($v1) +/* 3891B4 E00847E4 4610003C */ c.lt.s $f0, $f16 +/* 3891B8 E00847E8 00000000 */ nop +/* 3891BC E00847EC 45000007 */ bc1f .LE008480C +/* 3891C0 E00847F0 00000000 */ nop +/* 3891C4 E00847F4 46000021 */ cvt.d.s $f0, $f0 +/* 3891C8 E00847F8 46360002 */ mul.d $f0, $f0, $f22 +/* 3891CC E00847FC 00000000 */ nop +/* 3891D0 E0084800 E46AFFDC */ swc1 $f10, -0x24($v1) +/* 3891D4 E0084804 46200020 */ cvt.s.d $f0, $f0 +/* 3891D8 E0084808 E460FFF4 */ swc1 $f0, -0xc($v1) +.LE008480C: +/* 3891DC E008480C C460FFFC */ lwc1 $f0, -4($v1) +/* 3891E0 E0084810 46000021 */ cvt.d.s $f0, $f0 +/* 3891E4 E0084814 462E0002 */ mul.d $f0, $f0, $f14 +/* 3891E8 E0084818 00000000 */ nop +/* 3891EC E008481C C4640004 */ lwc1 $f4, 4($v1) +/* 3891F0 E0084820 46002121 */ cvt.d.s $f4, $f4 +/* 3891F4 E0084824 462E2102 */ mul.d $f4, $f4, $f14 +/* 3891F8 E0084828 00000000 */ nop +/* 3891FC E008482C C4620000 */ lwc1 $f2, ($v1) +/* 389200 E0084830 460010A1 */ cvt.d.s $f2, $f2 +/* 389204 E0084834 46341081 */ sub.d $f2, $f2, $f20 +/* 389208 E0084838 C466FFE4 */ lwc1 $f6, -0x1c($v1) +/* 38920C E008483C 462010A0 */ cvt.s.d $f2, $f2 +/* 389210 E0084840 E4620000 */ swc1 $f2, ($v1) +/* 389214 E0084844 C462FFE8 */ lwc1 $f2, -0x18($v1) +/* 389218 E0084848 46200020 */ cvt.s.d $f0, $f0 +/* 38921C E008484C 46003180 */ add.s $f6, $f6, $f0 +/* 389220 E0084850 E460FFFC */ swc1 $f0, -4($v1) +/* 389224 E0084854 C4600000 */ lwc1 $f0, ($v1) +/* 389228 E0084858 46202120 */ cvt.s.d $f4, $f4 +/* 38922C E008485C E4640004 */ swc1 $f4, 4($v1) +/* 389230 E0084860 C464FFEC */ lwc1 $f4, -0x14($v1) +/* 389234 E0084864 46001080 */ add.s $f2, $f2, $f0 +/* 389238 E0084868 C4600004 */ lwc1 $f0, 4($v1) +/* 38923C E008486C 46002100 */ add.s $f4, $f4, $f0 +/* 389240 E0084870 E466FFE4 */ swc1 $f6, -0x1c($v1) +/* 389244 E0084874 E462FFE8 */ swc1 $f2, -0x18($v1) +/* 389248 E0084878 46001006 */ mov.s $f0, $f2 +/* 38924C E008487C 460A003C */ c.lt.s $f0, $f10 +/* 389250 E0084880 00000000 */ nop +/* 389254 E0084884 4500000C */ bc1f .LE00848B8 +/* 389258 E0084888 E464FFEC */ swc1 $f4, -0x14($v1) +/* 38925C E008488C C4600000 */ lwc1 $f0, ($v1) +/* 389260 E0084890 4610003C */ c.lt.s $f0, $f16 +/* 389264 E0084894 00000000 */ nop +/* 389268 E0084898 45020008 */ bc1fl .LE00848BC +/* 38926C E008489C 24C60001 */ addiu $a2, $a2, 1 +/* 389270 E00848A0 46000021 */ cvt.d.s $f0, $f0 +/* 389274 E00848A4 46320002 */ mul.d $f0, $f0, $f18 +/* 389278 E00848A8 00000000 */ nop +/* 38927C E00848AC E46AFFE8 */ swc1 $f10, -0x18($v1) +/* 389280 E00848B0 46200020 */ cvt.s.d $f0, $f0 +/* 389284 E00848B4 E4600000 */ swc1 $f0, ($v1) +.LE00848B8: +/* 389288 E00848B8 24C60001 */ addiu $a2, $a2, 1 +.LE00848BC: +/* 38928C E00848BC 8C820008 */ lw $v0, 8($a0) +/* 389290 E00848C0 00C2102A */ slt $v0, $a2, $v0 +/* 389294 E00848C4 1440FFA5 */ bnez $v0, .LE008475C +/* 389298 E00848C8 24630050 */ addiu $v1, $v1, 0x50 +.LE00848CC: +/* 38929C E00848CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 3892A0 E00848D0 D7B80028 */ ldc1 $f24, 0x28($sp) +/* 3892A4 E00848D4 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 3892A8 E00848D8 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 3892AC E00848DC 03E00008 */ jr $ra +/* 3892B0 E00848E0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_3889D0/func_E00848E4.s b/asm/nonmatchings/code_3889D0/func_E00848E4.s new file mode 100644 index 0000000000..2edfc96f88 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E00848E4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00848E4 +/* 3892B4 E00848E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3892B8 E00848E8 3C02E008 */ lui $v0, 0xe008 +/* 3892BC E00848EC 24424928 */ addiu $v0, $v0, 0x4928 +/* 3892C0 E00848F0 AFA2001C */ sw $v0, 0x1c($sp) +/* 3892C4 E00848F4 24020028 */ addiu $v0, $zero, 0x28 +/* 3892C8 E00848F8 AFA40018 */ sw $a0, 0x18($sp) +/* 3892CC E00848FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 3892D0 E0084900 AFBF0020 */ sw $ra, 0x20($sp) +/* 3892D4 E0084904 AFA00014 */ sw $zero, 0x14($sp) +/* 3892D8 E0084908 0C080120 */ jal func_E0200480 +/* 3892DC E008490C AFA20010 */ sw $v0, 0x10($sp) +/* 3892E0 E0084910 8C430000 */ lw $v1, ($v0) +/* 3892E4 E0084914 34630002 */ ori $v1, $v1, 2 +/* 3892E8 E0084918 AC430000 */ sw $v1, ($v0) +/* 3892EC E008491C 8FBF0020 */ lw $ra, 0x20($sp) +/* 3892F0 E0084920 03E00008 */ jr $ra +/* 3892F4 E0084924 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3889D0/func_E0084928.s b/asm/nonmatchings/code_3889D0/func_E0084928.s new file mode 100644 index 0000000000..46904709c3 --- /dev/null +++ b/asm/nonmatchings/code_3889D0/func_E0084928.s @@ -0,0 +1,322 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0084928 +/* 3892F8 E0084928 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 3892FC E008492C 3C06DB06 */ lui $a2, 0xdb06 +/* 389300 E0084930 AFA400A8 */ sw $a0, 0xa8($sp) +/* 389304 E0084934 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 389308 E0084938 34C60024 */ ori $a2, $a2, 0x24 +/* 38930C E008493C AFB3007C */ sw $s3, 0x7c($sp) +/* 389310 E0084940 3C13800A */ lui $s3, 0x800a +/* 389314 E0084944 2673A66C */ addiu $s3, $s3, -0x5994 +/* 389318 E0084948 AFBF0094 */ sw $ra, 0x94($sp) +/* 38931C E008494C AFBE0090 */ sw $fp, 0x90($sp) +/* 389320 E0084950 AFB7008C */ sw $s7, 0x8c($sp) +/* 389324 E0084954 AFB60088 */ sw $s6, 0x88($sp) +/* 389328 E0084958 AFB50084 */ sw $s5, 0x84($sp) +/* 38932C E008495C AFB40080 */ sw $s4, 0x80($sp) +/* 389330 E0084960 AFB20078 */ sw $s2, 0x78($sp) +/* 389334 E0084964 AFB10074 */ sw $s1, 0x74($sp) +/* 389338 E0084968 AFB00070 */ sw $s0, 0x70($sp) +/* 38933C E008496C F7B600A0 */ sdc1 $f22, 0xa0($sp) +/* 389340 E0084970 F7B40098 */ sdc1 $f20, 0x98($sp) +/* 389344 E0084974 8E650000 */ lw $a1, ($s3) +/* 389348 E0084978 8D51000C */ lw $s1, 0xc($t2) +/* 38934C E008497C 00A0182D */ daddu $v1, $a1, $zero +/* 389350 E0084980 8E360044 */ lw $s6, 0x44($s1) +/* 389354 E0084984 96220000 */ lhu $v0, ($s1) +/* 389358 E0084988 24A50008 */ addiu $a1, $a1, 8 +/* 38935C E008498C AE650000 */ sw $a1, ($s3) +/* 389360 E0084990 0002F080 */ sll $fp, $v0, 2 +/* 389364 E0084994 3C0AE008 */ lui $t2, 0xe008 +/* 389368 E0084998 015E5021 */ addu $t2, $t2, $fp +/* 38936C E008499C 8D4A4E10 */ lw $t2, 0x4e10($t2) +/* 389370 E00849A0 27A40020 */ addiu $a0, $sp, 0x20 +/* 389374 E00849A4 AFAA0060 */ sw $t2, 0x60($sp) +/* 389378 E00849A8 3C0AE008 */ lui $t2, 0xe008 +/* 38937C E00849AC 015E5021 */ addu $t2, $t2, $fp +/* 389380 E00849B0 8D4A4E28 */ lw $t2, 0x4e28($t2) +/* 389384 E00849B4 3C100001 */ lui $s0, 1 +/* 389388 E00849B8 AFAA0064 */ sw $t2, 0x64($sp) +/* 38938C E00849BC C6360038 */ lwc1 $f22, 0x38($s1) +/* 389390 E00849C0 C6340040 */ lwc1 $f20, 0x40($s1) +/* 389394 E00849C4 8E2A004C */ lw $t2, 0x4c($s1) +/* 389398 E00849C8 3C02E700 */ lui $v0, 0xe700 +/* 38939C E00849CC AFAA0068 */ sw $t2, 0x68($sp) +/* 3893A0 E00849D0 AC620000 */ sw $v0, ($v1) +/* 3893A4 E00849D4 AC600004 */ sw $zero, 4($v1) +/* 3893A8 E00849D8 ACA60000 */ sw $a2, ($a1) +/* 3893AC E00849DC 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 3893B0 E00849E0 36101630 */ ori $s0, $s0, 0x1630 +/* 3893B4 E00849E4 8D430010 */ lw $v1, 0x10($t2) +/* 3893B8 E00849E8 24A20008 */ addiu $v0, $a1, 8 +/* 3893BC E00849EC AE620000 */ sw $v0, ($s3) +/* 3893C0 E00849F0 8C62001C */ lw $v0, 0x1c($v1) +/* 3893C4 E00849F4 3C038000 */ lui $v1, 0x8000 +/* 3893C8 E00849F8 00431021 */ addu $v0, $v0, $v1 +/* 3893CC E00849FC ACA20004 */ sw $v0, 4($a1) +/* 3893D0 E0084A00 8E250008 */ lw $a1, 8($s1) +/* 3893D4 E0084A04 8E26000C */ lw $a2, 0xc($s1) +/* 3893D8 E0084A08 8E270010 */ lw $a3, 0x10($s1) +/* 3893DC E0084A0C 0C080108 */ jal func_E0200420 +/* 3893E0 E0084A10 24120001 */ addiu $s2, $zero, 1 +/* 3893E4 E0084A14 27A40020 */ addiu $a0, $sp, 0x20 +/* 3893E8 E0084A18 3C148007 */ lui $s4, 0x8007 +/* 3893EC E0084A1C 269441F0 */ addiu $s4, $s4, 0x41f0 +/* 3893F0 E0084A20 3C15800A */ lui $s5, 0x800a +/* 3893F4 E0084A24 26B5A674 */ addiu $s5, $s5, -0x598c +/* 3893F8 E0084A28 96850000 */ lhu $a1, ($s4) +/* 3893FC E0084A2C 8EA20000 */ lw $v0, ($s5) +/* 389400 E0084A30 00052980 */ sll $a1, $a1, 6 +/* 389404 E0084A34 00B02821 */ addu $a1, $a1, $s0 +/* 389408 E0084A38 0C080118 */ jal func_E0200460 +/* 38940C E0084A3C 00452821 */ addu $a1, $v0, $a1 +/* 389410 E0084A40 0260202D */ daddu $a0, $s3, $zero +/* 389414 E0084A44 3C02DA38 */ lui $v0, 0xda38 +/* 389418 E0084A48 8E670000 */ lw $a3, ($s3) +/* 38941C E0084A4C 96860000 */ lhu $a2, ($s4) +/* 389420 E0084A50 00E0282D */ daddu $a1, $a3, $zero +/* 389424 E0084A54 ACA20000 */ sw $v0, ($a1) +/* 389428 E0084A58 30C2FFFF */ andi $v0, $a2, 0xffff +/* 38942C E0084A5C 00021180 */ sll $v0, $v0, 6 +/* 389430 E0084A60 00501021 */ addu $v0, $v0, $s0 +/* 389434 E0084A64 8EA30000 */ lw $v1, ($s5) +/* 389438 E0084A68 24E70008 */ addiu $a3, $a3, 8 +/* 38943C E0084A6C 00621821 */ addu $v1, $v1, $v0 +/* 389440 E0084A70 ACA30004 */ sw $v1, 4($a1) +/* 389444 E0084A74 96250002 */ lhu $a1, 2($s1) +/* 389448 E0084A78 00D23021 */ addu $a2, $a2, $s2 +/* 38944C E0084A7C AE670000 */ sw $a3, ($s3) +/* 389450 E0084A80 0C080158 */ jal func_E0200560 +/* 389454 E0084A84 A6860000 */ sh $a2, ($s4) +/* 389458 E0084A88 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 38945C E0084A8C 0016B080 */ sll $s6, $s6, 2 +/* 389460 E0084A90 8D420008 */ lw $v0, 8($t2) +/* 389464 E0084A94 0242102A */ slt $v0, $s2, $v0 +/* 389468 E0084A98 10400051 */ beqz $v0, .LE0084BE0 +/* 38946C E0084A9C 26310050 */ addiu $s1, $s1, 0x50 +/* 389470 E0084AA0 3C170001 */ lui $s7, 1 +/* 389474 E0084AA4 36F71630 */ ori $s7, $s7, 0x1630 +/* 389478 E0084AA8 0260A82D */ daddu $s5, $s3, $zero +/* 38947C E0084AAC 3C02E008 */ lui $v0, 0xe008 +/* 389480 E0084AB0 24424E1C */ addiu $v0, $v0, 0x4e1c +/* 389484 E0084AB4 03C2F021 */ addu $fp, $fp, $v0 +/* 389488 E0084AB8 2630001C */ addiu $s0, $s1, 0x1c +/* 38948C E0084ABC 26D40050 */ addiu $s4, $s6, 0x50 +/* 389490 E0084AC0 26D3FFD8 */ addiu $s3, $s6, -0x28 +/* 389494 E0084AC4 26D10082 */ addiu $s1, $s6, 0x82 +.LE0084AC8: +/* 389498 E0084AC8 27A40020 */ addiu $a0, $sp, 0x20 +/* 38949C E0084ACC 44912000 */ mtc1 $s1, $f4 +/* 3894A0 E0084AD0 00000000 */ nop +/* 3894A4 E0084AD4 46802120 */ cvt.s.w $f4, $f4 +/* 3894A8 E0084AD8 44052000 */ mfc1 $a1, $f4 +/* 3894AC E0084ADC 44932000 */ mtc1 $s3, $f4 +/* 3894B0 E0084AE0 00000000 */ nop +/* 3894B4 E0084AE4 46802120 */ cvt.s.w $f4, $f4 +/* 3894B8 E0084AE8 44062000 */ mfc1 $a2, $f4 +/* 3894BC E0084AEC 44942000 */ mtc1 $s4, $f4 +/* 3894C0 E0084AF0 00000000 */ nop +/* 3894C4 E0084AF4 46802120 */ cvt.s.w $f4, $f4 +/* 3894C8 E0084AF8 44072000 */ mfc1 $a3, $f4 +/* 3894CC E0084AFC 26940050 */ addiu $s4, $s4, 0x50 +/* 3894D0 E0084B00 E7B40010 */ swc1 $f20, 0x10($sp) +/* 3894D4 E0084B04 C600FFF8 */ lwc1 $f0, -8($s0) +/* 3894D8 E0084B08 2673FFD8 */ addiu $s3, $s3, -0x28 +/* 3894DC E0084B0C E7A00014 */ swc1 $f0, 0x14($sp) +/* 3894E0 E0084B10 C600FFFC */ lwc1 $f0, -4($s0) +/* 3894E4 E0084B14 26310082 */ addiu $s1, $s1, 0x82 +/* 3894E8 E0084B18 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3894EC E0084B1C C6000000 */ lwc1 $f0, ($s0) +/* 3894F0 E0084B20 26520001 */ addiu $s2, $s2, 1 +/* 3894F4 E0084B24 0C080180 */ jal func_E0200600 +/* 3894F8 E0084B28 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 3894FC E0084B2C 27A40020 */ addiu $a0, $sp, 0x20 +/* 389500 E0084B30 3C058007 */ lui $a1, 0x8007 +/* 389504 E0084B34 94A541F0 */ lhu $a1, 0x41f0($a1) +/* 389508 E0084B38 3C02800A */ lui $v0, 0x800a +/* 38950C E0084B3C 8C42A674 */ lw $v0, -0x598c($v0) +/* 389510 E0084B40 00052980 */ sll $a1, $a1, 6 +/* 389514 E0084B44 00B72821 */ addu $a1, $a1, $s7 +/* 389518 E0084B48 0C080118 */ jal func_E0200460 +/* 38951C E0084B4C 00452821 */ addu $a1, $v0, $a1 +/* 389520 E0084B50 3C06D838 */ lui $a2, 0xd838 +/* 389524 E0084B54 8EA40000 */ lw $a0, ($s5) +/* 389528 E0084B58 34C60002 */ ori $a2, $a2, 2 +/* 38952C E0084B5C 0080282D */ daddu $a1, $a0, $zero +/* 389530 E0084B60 24840008 */ addiu $a0, $a0, 8 +/* 389534 E0084B64 AEA40000 */ sw $a0, ($s5) +/* 389538 E0084B68 3C028007 */ lui $v0, 0x8007 +/* 38953C E0084B6C 944241F0 */ lhu $v0, 0x41f0($v0) +/* 389540 E0084B70 3C03DA38 */ lui $v1, 0xda38 +/* 389544 E0084B74 ACA30000 */ sw $v1, ($a1) +/* 389548 E0084B78 24430001 */ addiu $v1, $v0, 1 +/* 38954C E0084B7C 3042FFFF */ andi $v0, $v0, 0xffff +/* 389550 E0084B80 00021180 */ sll $v0, $v0, 6 +/* 389554 E0084B84 3C018007 */ lui $at, 0x8007 +/* 389558 E0084B88 A42341F0 */ sh $v1, 0x41f0($at) +/* 38955C E0084B8C 3C03800A */ lui $v1, 0x800a +/* 389560 E0084B90 8C63A674 */ lw $v1, -0x598c($v1) +/* 389564 E0084B94 00571021 */ addu $v0, $v0, $s7 +/* 389568 E0084B98 00621821 */ addu $v1, $v1, $v0 +/* 38956C E0084B9C 3C02DE00 */ lui $v0, 0xde00 +/* 389570 E0084BA0 ACA30004 */ sw $v1, 4($a1) +/* 389574 E0084BA4 AC820000 */ sw $v0, ($a0) +/* 389578 E0084BA8 8FC30000 */ lw $v1, ($fp) +/* 38957C E0084BAC 24820008 */ addiu $v0, $a0, 8 +/* 389580 E0084BB0 AEA20000 */ sw $v0, ($s5) +/* 389584 E0084BB4 24020040 */ addiu $v0, $zero, 0x40 +/* 389588 E0084BB8 AC860008 */ sw $a2, 8($a0) +/* 38958C E0084BBC AC82000C */ sw $v0, 0xc($a0) +/* 389590 E0084BC0 AC830004 */ sw $v1, 4($a0) +/* 389594 E0084BC4 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 389598 E0084BC8 26100050 */ addiu $s0, $s0, 0x50 +/* 38959C E0084BCC 8D420008 */ lw $v0, 8($t2) +/* 3895A0 E0084BD0 24840010 */ addiu $a0, $a0, 0x10 +/* 3895A4 E0084BD4 0242102A */ slt $v0, $s2, $v0 +/* 3895A8 E0084BD8 1440FFBB */ bnez $v0, .LE0084AC8 +/* 3895AC E0084BDC AEA40000 */ sw $a0, ($s5) +.LE0084BE0: +/* 3895B0 E0084BE0 3C08800A */ lui $t0, 0x800a +/* 3895B4 E0084BE4 2508A66C */ addiu $t0, $t0, -0x5994 +/* 3895B8 E0084BE8 8D030000 */ lw $v1, ($t0) +/* 3895BC E0084BEC 3C02DE00 */ lui $v0, 0xde00 +/* 3895C0 E0084BF0 0060202D */ daddu $a0, $v1, $zero +/* 3895C4 E0084BF4 AC820000 */ sw $v0, ($a0) +/* 3895C8 E0084BF8 8FAA0064 */ lw $t2, 0x64($sp) +/* 3895CC E0084BFC AC8A0004 */ sw $t2, 4($a0) +/* 3895D0 E0084C00 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 3895D4 E0084C04 24120001 */ addiu $s2, $zero, 1 +/* 3895D8 E0084C08 8D51000C */ lw $s1, 0xc($t2) +/* 3895DC E0084C0C 24630008 */ addiu $v1, $v1, 8 +/* 3895E0 E0084C10 AD030000 */ sw $v1, ($t0) +/* 3895E4 E0084C14 8D420008 */ lw $v0, 8($t2) +/* 3895E8 E0084C18 0242102A */ slt $v0, $s2, $v0 +/* 3895EC E0084C1C 10400062 */ beqz $v0, .LE0084DA8 +/* 3895F0 E0084C20 26310050 */ addiu $s1, $s1, 0x50 +/* 3895F4 E0084C24 0100982D */ daddu $s3, $t0, $zero +/* 3895F8 E0084C28 4480A000 */ mtc1 $zero, $f20 +/* 3895FC E0084C2C 3C17800B */ lui $s7, %hi(gCameras) +/* 389600 E0084C30 26F71D80 */ addiu $s7, $s7, %lo(gCameras) +/* 389604 E0084C34 3C16800A */ lui $s6, 0x800a +/* 389608 E0084C38 26D6A674 */ addiu $s6, $s6, -0x598c +/* 38960C E0084C3C 3C158007 */ lui $s5, 0x8007 +/* 389610 E0084C40 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 389614 E0084C44 3C140001 */ lui $s4, 1 +/* 389618 E0084C48 36941630 */ ori $s4, $s4, 0x1630 +/* 38961C E0084C4C 26300010 */ addiu $s0, $s1, 0x10 +.LE0084C50: +/* 389620 E0084C50 8E680000 */ lw $t0, ($s3) +/* 389624 E0084C54 3C02FA00 */ lui $v0, 0xfa00 +/* 389628 E0084C58 0100482D */ daddu $t1, $t0, $zero +/* 38962C E0084C5C AD220000 */ sw $v0, ($t1) +/* 389630 E0084C60 8E03003C */ lw $v1, 0x3c($s0) +/* 389634 E0084C64 8FAA0068 */ lw $t2, 0x68($sp) +/* 389638 E0084C68 006A0018 */ mult $v1, $t2 +/* 38963C E0084C6C 00001812 */ mflo $v1 +/* 389640 E0084C70 3C028080 */ lui $v0, 0x8080 +/* 389644 E0084C74 34428081 */ ori $v0, $v0, 0x8081 +/* 389648 E0084C78 00620018 */ mult $v1, $v0 +/* 38964C E0084C7C 4405A000 */ mfc1 $a1, $f20 +/* 389650 E0084C80 4407A000 */ mfc1 $a3, $f20 +/* 389654 E0084C84 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 389658 E0084C88 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 38965C E0084C8C 00001010 */ mfhi $v0 +/* 389660 E0084C90 00431021 */ addu $v0, $v0, $v1 +/* 389664 E0084C94 000211C3 */ sra $v0, $v0, 7 +/* 389668 E0084C98 00031FC3 */ sra $v1, $v1, 0x1f +/* 38966C E0084C9C 00431023 */ subu $v0, $v0, $v1 +/* 389670 E0084CA0 2403FF00 */ addiu $v1, $zero, -0x100 +/* 389674 E0084CA4 00431025 */ or $v0, $v0, $v1 +/* 389678 E0084CA8 AD220004 */ sw $v0, 4($t1) +/* 38967C E0084CAC 00061080 */ sll $v0, $a2, 2 +/* 389680 E0084CB0 00461021 */ addu $v0, $v0, $a2 +/* 389684 E0084CB4 00021080 */ sll $v0, $v0, 2 +/* 389688 E0084CB8 00461023 */ subu $v0, $v0, $a2 +/* 38968C E0084CBC 000218C0 */ sll $v1, $v0, 3 +/* 389690 E0084CC0 00431021 */ addu $v0, $v0, $v1 +/* 389694 E0084CC4 000210C0 */ sll $v0, $v0, 3 +/* 389698 E0084CC8 00571021 */ addu $v0, $v0, $s7 +/* 38969C E0084CCC C442006C */ lwc1 $f2, 0x6c($v0) +/* 3896A0 E0084CD0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3896A4 E0084CD4 C600FFF8 */ lwc1 $f0, -8($s0) +/* 3896A8 E0084CD8 25080008 */ addiu $t0, $t0, 8 +/* 3896AC E0084CDC AE680000 */ sw $t0, ($s3) +/* 3896B0 E0084CE0 46001087 */ neg.s $f2, $f2 +/* 3896B4 E0084CE4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 3896B8 E0084CE8 C600FFFC */ lwc1 $f0, -4($s0) +/* 3896BC E0084CEC 44061000 */ mfc1 $a2, $f2 +/* 3896C0 E0084CF0 27A40020 */ addiu $a0, $sp, 0x20 +/* 3896C4 E0084CF4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 3896C8 E0084CF8 C6000000 */ lwc1 $f0, ($s0) +/* 3896CC E0084CFC 26520001 */ addiu $s2, $s2, 1 +/* 3896D0 E0084D00 0C080180 */ jal func_E0200600 +/* 3896D4 E0084D04 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 3896D8 E0084D08 27A40020 */ addiu $a0, $sp, 0x20 +/* 3896DC E0084D0C 96A50000 */ lhu $a1, ($s5) +/* 3896E0 E0084D10 8EC20000 */ lw $v0, ($s6) +/* 3896E4 E0084D14 00052980 */ sll $a1, $a1, 6 +/* 3896E8 E0084D18 00B42821 */ addu $a1, $a1, $s4 +/* 3896EC E0084D1C 0C080118 */ jal func_E0200460 +/* 3896F0 E0084D20 00452821 */ addu $a1, $v0, $a1 +/* 3896F4 E0084D24 3C06D838 */ lui $a2, 0xd838 +/* 3896F8 E0084D28 8E640000 */ lw $a0, ($s3) +/* 3896FC E0084D2C 34C60002 */ ori $a2, $a2, 2 +/* 389700 E0084D30 0080282D */ daddu $a1, $a0, $zero +/* 389704 E0084D34 24840008 */ addiu $a0, $a0, 8 +/* 389708 E0084D38 AE640000 */ sw $a0, ($s3) +/* 38970C E0084D3C 96A20000 */ lhu $v0, ($s5) +/* 389710 E0084D40 3C03DA38 */ lui $v1, 0xda38 +/* 389714 E0084D44 ACA30000 */ sw $v1, ($a1) +/* 389718 E0084D48 24430001 */ addiu $v1, $v0, 1 +/* 38971C E0084D4C 3042FFFF */ andi $v0, $v0, 0xffff +/* 389720 E0084D50 00021180 */ sll $v0, $v0, 6 +/* 389724 E0084D54 A6A30000 */ sh $v1, ($s5) +/* 389728 E0084D58 8EC30000 */ lw $v1, ($s6) +/* 38972C E0084D5C 00541021 */ addu $v0, $v0, $s4 +/* 389730 E0084D60 00621821 */ addu $v1, $v1, $v0 +/* 389734 E0084D64 24820008 */ addiu $v0, $a0, 8 +/* 389738 E0084D68 ACA30004 */ sw $v1, 4($a1) +/* 38973C E0084D6C AE620000 */ sw $v0, ($s3) +/* 389740 E0084D70 3C02DE00 */ lui $v0, 0xde00 +/* 389744 E0084D74 AC820000 */ sw $v0, ($a0) +/* 389748 E0084D78 8FAA0060 */ lw $t2, 0x60($sp) +/* 38974C E0084D7C 24020040 */ addiu $v0, $zero, 0x40 +/* 389750 E0084D80 AC860008 */ sw $a2, 8($a0) +/* 389754 E0084D84 AC82000C */ sw $v0, 0xc($a0) +/* 389758 E0084D88 AC8A0004 */ sw $t2, 4($a0) +/* 38975C E0084D8C 8FAA00A8 */ lw $t2, 0xa8($sp) +/* 389760 E0084D90 26100050 */ addiu $s0, $s0, 0x50 +/* 389764 E0084D94 8D420008 */ lw $v0, 8($t2) +/* 389768 E0084D98 24840010 */ addiu $a0, $a0, 0x10 +/* 38976C E0084D9C 0242102A */ slt $v0, $s2, $v0 +/* 389770 E0084DA0 1440FFAB */ bnez $v0, .LE0084C50 +/* 389774 E0084DA4 AE640000 */ sw $a0, ($s3) +.LE0084DA8: +/* 389778 E0084DA8 3C05D838 */ lui $a1, 0xd838 +/* 38977C E0084DAC 3C03800A */ lui $v1, 0x800a +/* 389780 E0084DB0 2463A66C */ addiu $v1, $v1, -0x5994 +/* 389784 E0084DB4 8C620000 */ lw $v0, ($v1) +/* 389788 E0084DB8 34A50002 */ ori $a1, $a1, 2 +/* 38978C E0084DBC 0040202D */ daddu $a0, $v0, $zero +/* 389790 E0084DC0 24420008 */ addiu $v0, $v0, 8 +/* 389794 E0084DC4 AC620000 */ sw $v0, ($v1) +/* 389798 E0084DC8 24020040 */ addiu $v0, $zero, 0x40 +/* 38979C E0084DCC AC850000 */ sw $a1, ($a0) +/* 3897A0 E0084DD0 AC820004 */ sw $v0, 4($a0) +/* 3897A4 E0084DD4 8FBF0094 */ lw $ra, 0x94($sp) +/* 3897A8 E0084DD8 8FBE0090 */ lw $fp, 0x90($sp) +/* 3897AC E0084DDC 8FB7008C */ lw $s7, 0x8c($sp) +/* 3897B0 E0084DE0 8FB60088 */ lw $s6, 0x88($sp) +/* 3897B4 E0084DE4 8FB50084 */ lw $s5, 0x84($sp) +/* 3897B8 E0084DE8 8FB40080 */ lw $s4, 0x80($sp) +/* 3897BC E0084DEC 8FB3007C */ lw $s3, 0x7c($sp) +/* 3897C0 E0084DF0 8FB20078 */ lw $s2, 0x78($sp) +/* 3897C4 E0084DF4 8FB10074 */ lw $s1, 0x74($sp) +/* 3897C8 E0084DF8 8FB00070 */ lw $s0, 0x70($sp) +/* 3897CC E0084DFC D7B600A0 */ ldc1 $f22, 0xa0($sp) +/* 3897D0 E0084E00 D7B40098 */ ldc1 $f20, 0x98($sp) +/* 3897D4 E0084E04 03E00008 */ jr $ra +/* 3897D8 E0084E08 27BD00A8 */ addiu $sp, $sp, 0xa8 +/* 3897DC E0084E0C 00000000 */ nop diff --git a/asm/nonmatchings/code_389850/func_E0086000.s b/asm/nonmatchings/code_389850/func_E0086000.s new file mode 100644 index 0000000000..4f3ae66d82 --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E0086000.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0086000 +/* 389850 E0086000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 389854 E0086004 AFB00028 */ sw $s0, 0x28($sp) +/* 389858 E0086008 0080802D */ daddu $s0, $a0, $zero +/* 38985C E008600C F7B40050 */ sdc1 $f20, 0x50($sp) +/* 389860 E0086010 4485A000 */ mtc1 $a1, $f20 +/* 389864 E0086014 3C055555 */ lui $a1, 0x5555 +/* 389868 E0086018 34A55556 */ ori $a1, $a1, 0x5556 +/* 38986C E008601C F7B60058 */ sdc1 $f22, 0x58($sp) +/* 389870 E0086020 4486B000 */ mtc1 $a2, $f22 +/* 389874 E0086024 27A40010 */ addiu $a0, $sp, 0x10 +/* 389878 E0086028 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 38987C E008602C 4487C000 */ mtc1 $a3, $f24 +/* 389880 E0086030 8FA3007C */ lw $v1, 0x7c($sp) +/* 389884 E0086034 3C02E008 */ lui $v0, 0xe008 +/* 389888 E0086038 24426270 */ addiu $v0, $v0, 0x6270 +/* 38988C E008603C AFA20018 */ sw $v0, 0x18($sp) +/* 389890 E0086040 3C02E008 */ lui $v0, 0xe008 +/* 389894 E0086044 24426278 */ addiu $v0, $v0, 0x6278 +/* 389898 E0086048 AFA2001C */ sw $v0, 0x1c($sp) +/* 38989C E008604C 3C02E008 */ lui $v0, 0xe008 +/* 3898A0 E0086050 24426390 */ addiu $v0, $v0, 0x6390 +/* 3898A4 E0086054 AFBF0048 */ sw $ra, 0x48($sp) +/* 3898A8 E0086058 AFB70044 */ sw $s7, 0x44($sp) +/* 3898AC E008605C AFB60040 */ sw $s6, 0x40($sp) +/* 3898B0 E0086060 AFB5003C */ sw $s5, 0x3c($sp) +/* 3898B4 E0086064 AFB40038 */ sw $s4, 0x38($sp) +/* 3898B8 E0086068 AFB30034 */ sw $s3, 0x34($sp) +/* 3898BC E008606C AFB20030 */ sw $s2, 0x30($sp) +/* 3898C0 E0086070 AFB1002C */ sw $s1, 0x2c($sp) +/* 3898C4 E0086074 AFA00010 */ sw $zero, 0x10($sp) +/* 3898C8 E0086078 AFA20020 */ sw $v0, 0x20($sp) +/* 3898CC E008607C 00031080 */ sll $v0, $v1, 2 +/* 3898D0 E0086080 00431021 */ addu $v0, $v0, $v1 +/* 3898D4 E0086084 24420014 */ addiu $v0, $v0, 0x14 +/* 3898D8 E0086088 3C03E008 */ lui $v1, 0xe008 +/* 3898DC E008608C 24636398 */ addiu $v1, $v1, 0x6398 +/* 3898E0 E0086090 00450018 */ mult $v0, $a1 +/* 3898E4 E0086094 AFA30024 */ sw $v1, 0x24($sp) +/* 3898E8 E0086098 24030043 */ addiu $v1, $zero, 0x43 +/* 3898EC E008609C 000217C3 */ sra $v0, $v0, 0x1f +/* 3898F0 E00860A0 AFA30014 */ sw $v1, 0x14($sp) +/* 3898F4 E00860A4 00004010 */ mfhi $t0 +/* 3898F8 E00860A8 01021023 */ subu $v0, $t0, $v0 +/* 3898FC E00860AC 0C080124 */ jal func_E0200490 +/* 389900 E00860B0 24550001 */ addiu $s5, $v0, 1 +/* 389904 E00860B4 00152100 */ sll $a0, $s5, 4 +/* 389908 E00860B8 00952021 */ addu $a0, $a0, $s5 +/* 38990C E00860BC 00042080 */ sll $a0, $a0, 2 +/* 389910 E00860C0 0040B02D */ daddu $s6, $v0, $zero +/* 389914 E00860C4 0C08012C */ jal func_E02004B0 +/* 389918 E00860C8 AED50008 */ sw $s5, 8($s6) +/* 38991C E00860CC 0040882D */ daddu $s1, $v0, $zero +/* 389920 E00860D0 16200003 */ bnez $s1, .LE00860E0 +/* 389924 E00860D4 AED1000C */ sw $s1, 0xc($s6) +.LE00860D8: +/* 389928 E00860D8 08021836 */ j .LE00860D8 +/* 38992C E00860DC 00000000 */ nop +.LE00860E0: +/* 389930 E00860E0 AE300000 */ sw $s0, ($s1) +/* 389934 E00860E4 E6340004 */ swc1 $f20, 4($s1) +/* 389938 E00860E8 E6360008 */ swc1 $f22, 8($s1) +/* 38993C E00860EC E638000C */ swc1 $f24, 0xc($s1) +/* 389940 E00860F0 3C02E008 */ lui $v0, 0xe008 +/* 389944 E00860F4 00501021 */ addu $v0, $v0, $s0 +/* 389948 E00860F8 90426AC0 */ lbu $v0, 0x6ac0($v0) +/* 38994C E00860FC AE200034 */ sw $zero, 0x34($s1) +/* 389950 E0086100 AE200038 */ sw $zero, 0x38($s1) +/* 389954 E0086104 AE220030 */ sw $v0, 0x30($s1) +/* 389958 E0086108 24020001 */ addiu $v0, $zero, 1 +/* 38995C E008610C 1202000C */ beq $s0, $v0, .LE0086140 +/* 389960 E0086110 2A020002 */ slti $v0, $s0, 2 +/* 389964 E0086114 10400012 */ beqz $v0, .LE0086160 +/* 389968 E0086118 240200FF */ addiu $v0, $zero, 0xff +/* 38996C E008611C 16000011 */ bnez $s0, .LE0086164 +/* 389970 E0086120 240300C8 */ addiu $v1, $zero, 0xc8 +/* 389974 E0086124 240200FF */ addiu $v0, $zero, 0xff +/* 389978 E0086128 A222003C */ sb $v0, 0x3c($s1) +/* 38997C E008612C A222003D */ sb $v0, 0x3d($s1) +/* 389980 E0086130 A222003E */ sb $v0, 0x3e($s1) +/* 389984 E0086134 A222003F */ sb $v0, 0x3f($s1) +/* 389988 E0086138 0802185F */ j .LE008617C +/* 38998C E008613C A2220040 */ sb $v0, 0x40($s1) +.LE0086140: +/* 389990 E0086140 240200FF */ addiu $v0, $zero, 0xff +/* 389994 E0086144 A222003C */ sb $v0, 0x3c($s1) +/* 389998 E0086148 A222003D */ sb $v0, 0x3d($s1) +/* 38999C E008614C A220003E */ sb $zero, 0x3e($s1) +/* 3899A0 E0086150 A222003F */ sb $v0, 0x3f($s1) +/* 3899A4 E0086154 A2200040 */ sb $zero, 0x40($s1) +/* 3899A8 E0086158 08021860 */ j .LE0086180 +/* 3899AC E008615C A2200041 */ sb $zero, 0x41($s1) +.LE0086160: +/* 3899B0 E0086160 240300C8 */ addiu $v1, $zero, 0xc8 +.LE0086164: +/* 3899B4 E0086164 A222003C */ sb $v0, 0x3c($s1) +/* 3899B8 E0086168 A222003D */ sb $v0, 0x3d($s1) +/* 3899BC E008616C A2220040 */ sb $v0, 0x40($s1) +/* 3899C0 E0086170 240200E6 */ addiu $v0, $zero, 0xe6 +/* 3899C4 E0086174 A220003E */ sb $zero, 0x3e($s1) +/* 3899C8 E0086178 A223003F */ sb $v1, 0x3f($s1) +.LE008617C: +/* 3899CC E008617C A2220041 */ sb $v0, 0x41($s1) +.LE0086180: +/* 3899D0 E0086180 24130001 */ addiu $s3, $zero, 1 +/* 3899D4 E0086184 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 3899D8 E0086188 0275102A */ slt $v0, $s3, $s5 +/* 3899DC E008618C E6200028 */ swc1 $f0, 0x28($s1) +/* 3899E0 E0086190 10400028 */ beqz $v0, .LE0086234 +/* 3899E4 E0086194 26310044 */ addiu $s1, $s1, 0x44 +/* 3899E8 E0086198 26B4FFFF */ addiu $s4, $s5, -1 +/* 3899EC E008619C 241700FF */ addiu $s7, $zero, 0xff +/* 3899F0 E00861A0 2630002C */ addiu $s0, $s1, 0x2c +/* 3899F4 E00861A4 24120168 */ addiu $s2, $zero, 0x168 +.LE00861A8: +/* 3899F8 E00861A8 16800002 */ bnez $s4, .LE00861B4 +/* 3899FC E00861AC 0254001A */ div $zero, $s2, $s4 +/* 389A00 E00861B0 0007000D */ break 7 +.LE00861B4: +/* 389A04 E00861B4 2401FFFF */ addiu $at, $zero, -1 +/* 389A08 E00861B8 16810004 */ bne $s4, $at, .LE00861CC +/* 389A0C E00861BC 3C018000 */ lui $at, 0x8000 +/* 389A10 E00861C0 16410002 */ bne $s2, $at, .LE00861CC +/* 389A14 E00861C4 00000000 */ nop +/* 389A18 E00861C8 0006000D */ break 6 +.LE00861CC: +/* 389A1C E00861CC 00001812 */ mflo $v1 +/* 389A20 E00861D0 24040167 */ addiu $a0, $zero, 0x167 +/* 389A24 E00861D4 26520168 */ addiu $s2, $s2, 0x168 +/* 389A28 E00861D8 4483A000 */ mtc1 $v1, $f20 +/* 389A2C E00861DC 00000000 */ nop +/* 389A30 E00861E0 4680A520 */ cvt.s.w $f20, $f20 +/* 389A34 E00861E4 0C080138 */ jal func_E02004E0 +/* 389A38 E00861E8 26730001 */ addiu $s3, $s3, 1 +/* 389A3C E00861EC 44820000 */ mtc1 $v0, $f0 +/* 389A40 E00861F0 00000000 */ nop +/* 389A44 E00861F4 46800020 */ cvt.s.w $f0, $f0 +/* 389A48 E00861F8 AE00FFD8 */ sw $zero, -0x28($s0) +/* 389A4C E00861FC AE00FFDC */ sw $zero, -0x24($s0) +/* 389A50 E0086200 AE00FFE0 */ sw $zero, -0x20($s0) +/* 389A54 E0086204 AE00FFE4 */ sw $zero, -0x1c($s0) +/* 389A58 E0086208 AE00FFE8 */ sw $zero, -0x18($s0) +/* 389A5C E008620C AE00FFF4 */ sw $zero, -0xc($s0) +/* 389A60 E0086210 AE200000 */ sw $zero, ($s1) +/* 389A64 E0086214 E614FFF0 */ swc1 $f20, -0x10($s0) +/* 389A68 E0086218 E600FFF8 */ swc1 $f0, -8($s0) +/* 389A6C E008621C AE00FFE4 */ sw $zero, -0x1c($s0) +/* 389A70 E0086220 AE170000 */ sw $s7, ($s0) +/* 389A74 E0086224 26100044 */ addiu $s0, $s0, 0x44 +/* 389A78 E0086228 0275102A */ slt $v0, $s3, $s5 +/* 389A7C E008622C 1440FFDE */ bnez $v0, .LE00861A8 +/* 389A80 E0086230 26310044 */ addiu $s1, $s1, 0x44 +.LE0086234: +/* 389A84 E0086234 02C0102D */ daddu $v0, $s6, $zero +/* 389A88 E0086238 8FBF0048 */ lw $ra, 0x48($sp) +/* 389A8C E008623C 8FB70044 */ lw $s7, 0x44($sp) +/* 389A90 E0086240 8FB60040 */ lw $s6, 0x40($sp) +/* 389A94 E0086244 8FB5003C */ lw $s5, 0x3c($sp) +/* 389A98 E0086248 8FB40038 */ lw $s4, 0x38($sp) +/* 389A9C E008624C 8FB30034 */ lw $s3, 0x34($sp) +/* 389AA0 E0086250 8FB20030 */ lw $s2, 0x30($sp) +/* 389AA4 E0086254 8FB1002C */ lw $s1, 0x2c($sp) +/* 389AA8 E0086258 8FB00028 */ lw $s0, 0x28($sp) +/* 389AAC E008625C D7B80060 */ ldc1 $f24, 0x60($sp) +/* 389AB0 E0086260 D7B60058 */ ldc1 $f22, 0x58($sp) +/* 389AB4 E0086264 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 389AB8 E0086268 03E00008 */ jr $ra +/* 389ABC E008626C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_389850/func_E0086270.s b/asm/nonmatchings/code_389850/func_E0086270.s new file mode 100644 index 0000000000..ef0f0a8b4e --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E0086270.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0086270 +/* 389AC0 E0086270 03E00008 */ jr $ra +/* 389AC4 E0086274 00000000 */ nop diff --git a/asm/nonmatchings/code_389850/func_E0086278.s b/asm/nonmatchings/code_389850/func_E0086278.s new file mode 100644 index 0000000000..4b68b3f274 --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E0086278.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0086278 +/* 389AC8 E0086278 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 389ACC E008627C AFBF0010 */ sw $ra, 0x10($sp) +/* 389AD0 E0086280 8C83000C */ lw $v1, 0xc($a0) +/* 389AD4 E0086284 8C620030 */ lw $v0, 0x30($v1) +/* 389AD8 E0086288 8C660034 */ lw $a2, 0x34($v1) +/* 389ADC E008628C 8C680000 */ lw $t0, ($v1) +/* 389AE0 E0086290 2442FFFF */ addiu $v0, $v0, -1 +/* 389AE4 E0086294 24C50001 */ addiu $a1, $a2, 1 +/* 389AE8 E0086298 AC620030 */ sw $v0, 0x30($v1) +/* 389AEC E008629C 04410005 */ bgez $v0, .LE00862B4 +/* 389AF0 E00862A0 AC650034 */ sw $a1, 0x34($v1) +/* 389AF4 E00862A4 0C080128 */ jal func_E02004A0 +/* 389AF8 E00862A8 00000000 */ nop +/* 389AFC E00862AC 080218E1 */ j .LE0086384 +/* 389B00 E00862B0 00000000 */ nop +.LE00862B4: +/* 389B04 E00862B4 3C02E008 */ lui $v0, 0xe008 +/* 389B08 E00862B8 00481021 */ addu $v0, $v0, $t0 +/* 389B0C E00862BC 90426AC0 */ lbu $v0, 0x6ac0($v0) +/* 389B10 E00862C0 00A0382D */ daddu $a3, $a1, $zero +/* 389B14 E00862C4 0047102A */ slt $v0, $v0, $a3 +/* 389B18 E00862C8 1440000D */ bnez $v0, .LE0086300 +/* 389B1C E00862CC 00000000 */ nop +/* 389B20 E00862D0 3C02E008 */ lui $v0, 0xe008 +/* 389B24 E00862D4 00461021 */ addu $v0, $v0, $a2 +/* 389B28 E00862D8 90426AC4 */ lbu $v0, 0x6ac4($v0) +/* 389B2C E00862DC 3C013B80 */ lui $at, 0x3b80 +/* 389B30 E00862E0 44811000 */ mtc1 $at, $f2 +/* 389B34 E00862E4 44820000 */ mtc1 $v0, $f0 +/* 389B38 E00862E8 00000000 */ nop +/* 389B3C E00862EC 46800020 */ cvt.s.w $f0, $f0 +/* 389B40 E00862F0 46020002 */ mul.s $f0, $f0, $f2 +/* 389B44 E00862F4 00000000 */ nop +/* 389B48 E00862F8 080218C4 */ j .LE0086310 +/* 389B4C E00862FC E4600038 */ swc1 $f0, 0x38($v1) +.LE0086300: +/* 389B50 E0086300 3C013F80 */ lui $at, 0x3f80 +/* 389B54 E0086304 44810000 */ mtc1 $at, $f0 +/* 389B58 E0086308 00000000 */ nop +/* 389B5C E008630C E4600038 */ swc1 $f0, 0x38($v1) +.LE0086310: +/* 389B60 E0086310 8C820008 */ lw $v0, 8($a0) +/* 389B64 E0086314 24060001 */ addiu $a2, $zero, 1 +/* 389B68 E0086318 00C2102A */ slt $v0, $a2, $v0 +/* 389B6C E008631C 10400019 */ beqz $v0, .LE0086384 +/* 389B70 E0086320 24630044 */ addiu $v1, $v1, 0x44 +/* 389B74 E0086324 3C02E008 */ lui $v0, 0xe008 +/* 389B78 E0086328 24426AC0 */ addiu $v0, $v0, 0x6ac0 +/* 389B7C E008632C 01024021 */ addu $t0, $t0, $v0 +/* 389B80 E0086330 3C09E008 */ lui $t1, 0xe008 +/* 389B84 E0086334 25296AD4 */ addiu $t1, $t1, 0x6ad4 +/* 389B88 E0086338 2465000C */ addiu $a1, $v1, 0xc +.LE008633C: +/* 389B8C E008633C 91020000 */ lbu $v0, ($t0) +/* 389B90 E0086340 0047102A */ slt $v0, $v0, $a3 +/* 389B94 E0086344 14400002 */ bnez $v0, .LE0086350 +/* 389B98 E0086348 2403000C */ addiu $v1, $zero, 0xc +/* 389B9C E008634C 24E3FFFF */ addiu $v1, $a3, -1 +.LE0086350: +/* 389BA0 E0086350 00691021 */ addu $v0, $v1, $t1 +/* 389BA4 E0086354 90420000 */ lbu $v0, ($v0) +/* 389BA8 E0086358 24C60001 */ addiu $a2, $a2, 1 +/* 389BAC E008635C ACA0FFFC */ sw $zero, -4($a1) +/* 389BB0 E0086360 ACA00000 */ sw $zero, ($a1) +/* 389BB4 E0086364 44820000 */ mtc1 $v0, $f0 +/* 389BB8 E0086368 00000000 */ nop +/* 389BBC E008636C 46800020 */ cvt.s.w $f0, $f0 +/* 389BC0 E0086370 E4A0FFF8 */ swc1 $f0, -8($a1) +/* 389BC4 E0086374 8C820008 */ lw $v0, 8($a0) +/* 389BC8 E0086378 00C2102A */ slt $v0, $a2, $v0 +/* 389BCC E008637C 1440FFEF */ bnez $v0, .LE008633C +/* 389BD0 E0086380 24A50044 */ addiu $a1, $a1, 0x44 +.LE0086384: +/* 389BD4 E0086384 8FBF0010 */ lw $ra, 0x10($sp) +/* 389BD8 E0086388 03E00008 */ jr $ra +/* 389BDC E008638C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_389850/func_E0086390.s b/asm/nonmatchings/code_389850/func_E0086390.s new file mode 100644 index 0000000000..9cf9db6f99 --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E0086390.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0086390 +/* 389BE0 E0086390 03E00008 */ jr $ra +/* 389BE4 E0086394 00000000 */ nop diff --git a/asm/nonmatchings/code_389850/func_E0086398.s b/asm/nonmatchings/code_389850/func_E0086398.s new file mode 100644 index 0000000000..1cf4474356 --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E0086398.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0086398 +/* 389BE8 E0086398 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 389BEC E008639C AFBF0010 */ sw $ra, 0x10($sp) +/* 389BF0 E00863A0 0C0218ED */ jal func_E00863B4 +/* 389BF4 E00863A4 00000000 */ nop +/* 389BF8 E00863A8 8FBF0010 */ lw $ra, 0x10($sp) +/* 389BFC E00863AC 03E00008 */ jr $ra +/* 389C00 E00863B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_389850/func_E00863B4.s b/asm/nonmatchings/code_389850/func_E00863B4.s new file mode 100644 index 0000000000..f468effdec --- /dev/null +++ b/asm/nonmatchings/code_389850/func_E00863B4.s @@ -0,0 +1,456 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00863B4 +/* 389C04 E00863B4 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 389C08 E00863B8 AFBF00EC */ sw $ra, 0xec($sp) +/* 389C0C E00863BC AFBE00E8 */ sw $fp, 0xe8($sp) +/* 389C10 E00863C0 AFB700E4 */ sw $s7, 0xe4($sp) +/* 389C14 E00863C4 AFB600E0 */ sw $s6, 0xe0($sp) +/* 389C18 E00863C8 AFB500DC */ sw $s5, 0xdc($sp) +/* 389C1C E00863CC AFB400D8 */ sw $s4, 0xd8($sp) +/* 389C20 E00863D0 AFB300D4 */ sw $s3, 0xd4($sp) +/* 389C24 E00863D4 AFB200D0 */ sw $s2, 0xd0($sp) +/* 389C28 E00863D8 AFB100CC */ sw $s1, 0xcc($sp) +/* 389C2C E00863DC AFB000C8 */ sw $s0, 0xc8($sp) +/* 389C30 E00863E0 F7B600F8 */ sdc1 $f22, 0xf8($sp) +/* 389C34 E00863E4 F7B400F0 */ sdc1 $f20, 0xf0($sp) +/* 389C38 E00863E8 AFA40100 */ sw $a0, 0x100($sp) +/* 389C3C E00863EC 8C94000C */ lw $s4, 0xc($a0) +/* 389C40 E00863F0 3C0140A0 */ lui $at, 0x40a0 +/* 389C44 E00863F4 44810000 */ mtc1 $at, $f0 +/* 389C48 E00863F8 C6820038 */ lwc1 $f2, 0x38($s4) +/* 389C4C E00863FC 46001502 */ mul.s $f20, $f2, $f0 +/* 389C50 E0086400 00000000 */ nop +/* 389C54 E0086404 4600A10D */ trunc.w.s $f4, $f20 +/* 389C58 E0086408 E7A400A4 */ swc1 $f4, 0xa4($sp) +/* 389C5C E008640C 8FA900A4 */ lw $t1, 0xa4($sp) +/* 389C60 E0086410 8E960034 */ lw $s6, 0x34($s4) +/* 389C64 E0086414 8E950000 */ lw $s5, ($s4) +/* 389C68 E0086418 29220005 */ slti $v0, $t1, 5 +/* 389C6C E008641C 10400191 */ beqz $v0, .LE0086A64 +/* 389C70 E0086420 3C08DB06 */ lui $t0, 0xdb06 +/* 389C74 E0086424 35080024 */ ori $t0, $t0, 0x24 +/* 389C78 E0086428 3C11800A */ lui $s1, 0x800a +/* 389C7C E008642C 2631A66C */ addiu $s1, $s1, -0x5994 +/* 389C80 E0086430 3C02E700 */ lui $v0, 0xe700 +/* 389C84 E0086434 8E260000 */ lw $a2, ($s1) +/* 389C88 E0086438 44800000 */ mtc1 $zero, $f0 +/* 389C8C E008643C 00C0182D */ daddu $v1, $a2, $zero +/* 389C90 E0086440 24C60008 */ addiu $a2, $a2, 8 +/* 389C94 E0086444 AC620000 */ sw $v0, ($v1) +/* 389C98 E0086448 AC600004 */ sw $zero, 4($v1) +/* 389C9C E008644C ACC80000 */ sw $t0, ($a2) +/* 389CA0 E0086450 8FA90100 */ lw $t1, 0x100($sp) +/* 389CA4 E0086454 3C088000 */ lui $t0, 0x8000 +/* 389CA8 E0086458 8D220010 */ lw $v0, 0x10($t1) +/* 389CAC E008645C 44050000 */ mfc1 $a1, $f0 +/* 389CB0 E0086460 8C42001C */ lw $v0, 0x1c($v0) +/* 389CB4 E0086464 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 389CB8 E0086468 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 389CBC E008646C 00481021 */ addu $v0, $v0, $t0 +/* 389CC0 E0086470 ACC20004 */ sw $v0, 4($a2) +/* 389CC4 E0086474 00031080 */ sll $v0, $v1, 2 +/* 389CC8 E0086478 00431021 */ addu $v0, $v0, $v1 +/* 389CCC E008647C 00021080 */ sll $v0, $v0, 2 +/* 389CD0 E0086480 00431023 */ subu $v0, $v0, $v1 +/* 389CD4 E0086484 000218C0 */ sll $v1, $v0, 3 +/* 389CD8 E0086488 00431021 */ addu $v0, $v0, $v1 +/* 389CDC E008648C 000210C0 */ sll $v0, $v0, 3 +/* 389CE0 E0086490 C6800028 */ lwc1 $f0, 0x28($s4) +/* 389CE4 E0086494 3C01800B */ lui $at, 0x800b +/* 389CE8 E0086498 00220821 */ addu $at, $at, $v0 +/* 389CEC E008649C C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 389CF0 E00864A0 27A40020 */ addiu $a0, $sp, 0x20 +/* 389CF4 E00864A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 389CF8 E00864A8 C6800004 */ lwc1 $f0, 4($s4) +/* 389CFC E00864AC 3C130001 */ lui $s3, 1 +/* 389D00 E00864B0 AE260000 */ sw $a2, ($s1) +/* 389D04 E00864B4 24C60008 */ addiu $a2, $a2, 8 +/* 389D08 E00864B8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 389D0C E00864BC C6800008 */ lwc1 $f0, 8($s4) +/* 389D10 E00864C0 46001087 */ neg.s $f2, $f2 +/* 389D14 E00864C4 AE260000 */ sw $a2, ($s1) +/* 389D18 E00864C8 44061000 */ mfc1 $a2, $f2 +/* 389D1C E00864CC 36731630 */ ori $s3, $s3, 0x1630 +/* 389D20 E00864D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 389D24 E00864D4 C680000C */ lwc1 $f0, 0xc($s4) +/* 389D28 E00864D8 00A0382D */ daddu $a3, $a1, $zero +/* 389D2C E00864DC 0C080180 */ jal func_E0200600 +/* 389D30 E00864E0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 389D34 E00864E4 27A40020 */ addiu $a0, $sp, 0x20 +/* 389D38 E00864E8 3C108007 */ lui $s0, 0x8007 +/* 389D3C E00864EC 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 389D40 E00864F0 3C12800A */ lui $s2, 0x800a +/* 389D44 E00864F4 2652A674 */ addiu $s2, $s2, -0x598c +/* 389D48 E00864F8 96050000 */ lhu $a1, ($s0) +/* 389D4C E00864FC 8E420000 */ lw $v0, ($s2) +/* 389D50 E0086500 00052980 */ sll $a1, $a1, 6 +/* 389D54 E0086504 00B32821 */ addu $a1, $a1, $s3 +/* 389D58 E0086508 0C080118 */ jal func_E0200460 +/* 389D5C E008650C 00452821 */ addu $a1, $v0, $a1 +/* 389D60 E0086510 8E220000 */ lw $v0, ($s1) +/* 389D64 E0086514 3C014380 */ lui $at, 0x4380 +/* 389D68 E0086518 44811000 */ mtc1 $at, $f2 +/* 389D6C E008651C 0040202D */ daddu $a0, $v0, $zero +/* 389D70 E0086520 24420008 */ addiu $v0, $v0, 8 +/* 389D74 E0086524 AE220000 */ sw $v0, ($s1) +/* 389D78 E0086528 96030000 */ lhu $v1, ($s0) +/* 389D7C E008652C 3C02DA38 */ lui $v0, 0xda38 +/* 389D80 E0086530 AC820000 */ sw $v0, ($a0) +/* 389D84 E0086534 24620001 */ addiu $v0, $v1, 1 +/* 389D88 E0086538 A6020000 */ sh $v0, ($s0) +/* 389D8C E008653C C7A000A4 */ lwc1 $f0, 0xa4($sp) +/* 389D90 E0086540 46800020 */ cvt.s.w $f0, $f0 +/* 389D94 E0086544 4600A001 */ sub.s $f0, $f20, $f0 +/* 389D98 E0086548 3063FFFF */ andi $v1, $v1, 0xffff +/* 389D9C E008654C 00031980 */ sll $v1, $v1, 6 +/* 389DA0 E0086550 46020002 */ mul.s $f0, $f0, $f2 +/* 389DA4 E0086554 00000000 */ nop +/* 389DA8 E0086558 8E420000 */ lw $v0, ($s2) +/* 389DAC E008655C 00731821 */ addu $v1, $v1, $s3 +/* 389DB0 E0086560 00431021 */ addu $v0, $v0, $v1 +/* 389DB4 E0086564 AC820004 */ sw $v0, 4($a0) +/* 389DB8 E0086568 4600010D */ trunc.w.s $f4, $f0 +/* 389DBC E008656C E7A400A0 */ swc1 $f4, 0xa0($sp) +/* 389DC0 E0086570 8FA900A4 */ lw $t1, 0xa4($sp) +/* 389DC4 E0086574 29220004 */ slti $v0, $t1, 4 +/* 389DC8 E0086578 38480001 */ xori $t0, $v0, 1 +/* 389DCC E008657C 8E89002C */ lw $t1, 0x2c($s4) +/* 389DD0 E0086580 24020001 */ addiu $v0, $zero, 1 +/* 389DD4 E0086584 12A20008 */ beq $s5, $v0, .LE00865A8 +/* 389DD8 E0086588 AFA900BC */ sw $t1, 0xbc($sp) +/* 389DDC E008658C 2AA20002 */ slti $v0, $s5, 2 +/* 389DE0 E0086590 14400035 */ bnez $v0, .LE0086668 +/* 389DE4 E0086594 24020002 */ addiu $v0, $zero, 2 +/* 389DE8 E0086598 12A20028 */ beq $s5, $v0, .LE008663C +/* 389DEC E008659C 32C20001 */ andi $v0, $s6, 1 +/* 389DF0 E00865A0 0802199A */ j .LE0086668 +/* 389DF4 E00865A4 00000000 */ nop +.LE00865A8: +/* 389DF8 E00865A8 26C3FFFF */ addiu $v1, $s6, -1 +/* 389DFC E00865AC 2862000D */ slti $v0, $v1, 0xd +/* 389E00 E00865B0 50400004 */ beql $v0, $zero, .LE00865C4 +/* 389E04 E00865B4 0000182D */ daddu $v1, $zero, $zero +/* 389E08 E00865B8 3C01E008 */ lui $at, 0xe008 +/* 389E0C E00865BC 00230821 */ addu $at, $at, $v1 +/* 389E10 E00865C0 90236AE4 */ lbu $v1, 0x6ae4($at) +.LE00865C4: +/* 389E14 E00865C4 9282003D */ lbu $v0, 0x3d($s4) +/* 389E18 E00865C8 00430018 */ mult $v0, $v1 +/* 389E1C E00865CC 00003812 */ mflo $a3 +/* 389E20 E00865D0 9282003E */ lbu $v0, 0x3e($s4) +/* 389E24 E00865D4 00000000 */ nop +/* 389E28 E00865D8 00430018 */ mult $v0, $v1 +/* 389E2C E00865DC 00003012 */ mflo $a2 +/* 389E30 E00865E0 9282003F */ lbu $v0, 0x3f($s4) +/* 389E34 E00865E4 00000000 */ nop +/* 389E38 E00865E8 00430018 */ mult $v0, $v1 +/* 389E3C E00865EC 00002812 */ mflo $a1 +/* 389E40 E00865F0 92820040 */ lbu $v0, 0x40($s4) +/* 389E44 E00865F4 00000000 */ nop +/* 389E48 E00865F8 00430018 */ mult $v0, $v1 +/* 389E4C E00865FC 9289003C */ lbu $t1, 0x3c($s4) +/* 389E50 E0086600 00073A03 */ sra $a3, $a3, 8 +/* 389E54 E0086604 0006F203 */ sra $fp, $a2, 8 +/* 389E58 E0086608 92820041 */ lbu $v0, 0x41($s4) +/* 389E5C E008660C 00002012 */ mflo $a0 +/* 389E60 E0086610 00052A03 */ sra $a1, $a1, 8 +/* 389E64 E0086614 AFA900A8 */ sw $t1, 0xa8($sp) +/* 389E68 E0086618 00430018 */ mult $v0, $v1 +/* 389E6C E008661C AFA700AC */ sw $a3, 0xac($sp) +/* 389E70 E0086620 AFA500B0 */ sw $a1, 0xb0($sp) +/* 389E74 E0086624 00042203 */ sra $a0, $a0, 8 +/* 389E78 E0086628 AFA400B4 */ sw $a0, 0xb4($sp) +/* 389E7C E008662C 00001012 */ mflo $v0 +/* 389E80 E0086630 00021203 */ sra $v0, $v0, 8 +/* 389E84 E0086634 080219A5 */ j .LE0086694 +/* 389E88 E0086638 AFA200B8 */ sw $v0, 0xb8($sp) +.LE008663C: +/* 389E8C E008663C 1440000A */ bnez $v0, .LE0086668 +/* 389E90 E0086640 0000F02D */ daddu $fp, $zero, $zero +/* 389E94 E0086644 AFA000A8 */ sw $zero, 0xa8($sp) +/* 389E98 E0086648 AFA000AC */ sw $zero, 0xac($sp) +/* 389E9C E008664C 9289003C */ lbu $t1, 0x3c($s4) +/* 389EA0 E0086650 AFA900B0 */ sw $t1, 0xb0($sp) +/* 389EA4 E0086654 9289003D */ lbu $t1, 0x3d($s4) +/* 389EA8 E0086658 AFA900B4 */ sw $t1, 0xb4($sp) +/* 389EAC E008665C 9289003E */ lbu $t1, 0x3e($s4) +/* 389EB0 E0086660 080219A5 */ j .LE0086694 +/* 389EB4 E0086664 AFA900B8 */ sw $t1, 0xb8($sp) +.LE0086668: +/* 389EB8 E0086668 9289003C */ lbu $t1, 0x3c($s4) +/* 389EBC E008666C AFA900A8 */ sw $t1, 0xa8($sp) +/* 389EC0 E0086670 9289003D */ lbu $t1, 0x3d($s4) +/* 389EC4 E0086674 AFA900AC */ sw $t1, 0xac($sp) +/* 389EC8 E0086678 9289003F */ lbu $t1, 0x3f($s4) +/* 389ECC E008667C 929E003E */ lbu $fp, 0x3e($s4) +/* 389ED0 E0086680 AFA900B0 */ sw $t1, 0xb0($sp) +/* 389ED4 E0086684 92890040 */ lbu $t1, 0x40($s4) +/* 389ED8 E0086688 AFA900B4 */ sw $t1, 0xb4($sp) +/* 389EDC E008668C 92890041 */ lbu $t1, 0x41($s4) +/* 389EE0 E0086690 AFA900B8 */ sw $t1, 0xb8($sp) +.LE0086694: +/* 389EE4 E0086694 3C04800A */ lui $a0, 0x800a +/* 389EE8 E0086698 2484A66C */ addiu $a0, $a0, -0x5994 +/* 389EEC E008669C 8C930000 */ lw $s3, ($a0) +/* 389EF0 E00866A0 3C02DE00 */ lui $v0, 0xde00 +/* 389EF4 E00866A4 AE620008 */ sw $v0, 8($s3) +/* 389EF8 E00866A8 00151080 */ sll $v0, $s5, 2 +/* 389EFC E00866AC 3C03E008 */ lui $v1, 0xe008 +/* 389F00 E00866B0 00621821 */ addu $v1, $v1, $v0 +/* 389F04 E00866B4 8C636AB4 */ lw $v1, 0x6ab4($v1) +/* 389F08 E00866B8 26620010 */ addiu $v0, $s3, 0x10 +/* 389F0C E00866BC AC820000 */ sw $v0, ($a0) +/* 389F10 E00866C0 AE63000C */ sw $v1, 0xc($s3) +/* 389F14 E00866C4 3C03E008 */ lui $v1, 0xe008 +/* 389F18 E00866C8 24636AB4 */ addiu $v1, $v1, 0x6ab4 +/* 389F1C E00866CC 11000007 */ beqz $t0, .LE00866EC +/* 389F20 E00866D0 26940044 */ addiu $s4, $s4, 0x44 +/* 389F24 E00866D4 26620018 */ addiu $v0, $s3, 0x18 +/* 389F28 E00866D8 AC820000 */ sw $v0, ($a0) +/* 389F2C E00866DC 3C02F200 */ lui $v0, 0xf200 +/* 389F30 E00866E0 AE620010 */ sw $v0, 0x10($s3) +/* 389F34 E00866E4 3C020100 */ lui $v0, 0x100 +/* 389F38 E00866E8 AE620014 */ sw $v0, 0x14($s3) +.LE00866EC: +/* 389F3C E00866EC 8FA90100 */ lw $t1, 0x100($sp) +/* 389F40 E00866F0 8D220008 */ lw $v0, 8($t1) +/* 389F44 E00866F4 24120001 */ addiu $s2, $zero, 1 +/* 389F48 E00866F8 0242102A */ slt $v0, $s2, $v0 +/* 389F4C E00866FC 10400063 */ beqz $v0, .LE008688C +/* 389F50 E0086700 0080A82D */ daddu $s5, $a0, $zero +/* 389F54 E0086704 27B10060 */ addiu $s1, $sp, 0x60 +/* 389F58 E0086708 3C178007 */ lui $s7, 0x8007 +/* 389F5C E008670C 26F741F0 */ addiu $s7, $s7, 0x41f0 +/* 389F60 E0086710 3C160001 */ lui $s6, 1 +/* 389F64 E0086714 36D61630 */ ori $s6, $s6, 0x1630 +/* 389F68 E0086718 3C03E008 */ lui $v1, 0xe008 +/* 389F6C E008671C 24636AA0 */ addiu $v1, $v1, 0x6aa0 +/* 389F70 E0086720 2690000C */ addiu $s0, $s4, 0xc +/* 389F74 E0086724 8FA900A4 */ lw $t1, 0xa4($sp) +/* 389F78 E0086728 4480A000 */ mtc1 $zero, $f20 +/* 389F7C E008672C 3C013F80 */ lui $at, 0x3f80 +/* 389F80 E0086730 4481B000 */ mtc1 $at, $f22 +/* 389F84 E0086734 00091080 */ sll $v0, $t1, 2 +/* 389F88 E0086738 00431021 */ addu $v0, $v0, $v1 +/* 389F8C E008673C AFA200C0 */ sw $v0, 0xc0($sp) +.LE0086740: +/* 389F90 E0086740 27A40020 */ addiu $a0, $sp, 0x20 +/* 389F94 E0086744 26520001 */ addiu $s2, $s2, 1 +/* 389F98 E0086748 8EA30000 */ lw $v1, ($s5) +/* 389F9C E008674C 4406A000 */ mfc1 $a2, $f20 +/* 389FA0 E0086750 4407A000 */ mfc1 $a3, $f20 +/* 389FA4 E0086754 0060282D */ daddu $a1, $v1, $zero +/* 389FA8 E0086758 3C09DE00 */ lui $t1, 0xde00 +/* 389FAC E008675C ACA90000 */ sw $t1, ($a1) +/* 389FB0 E0086760 8E820000 */ lw $v0, ($s4) +/* 389FB4 E0086764 3C09E008 */ lui $t1, 0xe008 +/* 389FB8 E0086768 25296AB4 */ addiu $t1, $t1, 0x6ab4 +/* 389FBC E008676C 00021080 */ sll $v0, $v0, 2 +/* 389FC0 E0086770 00491021 */ addu $v0, $v0, $t1 +/* 389FC4 E0086774 8C420000 */ lw $v0, ($v0) +/* 389FC8 E0086778 24630008 */ addiu $v1, $v1, 8 +/* 389FCC E008677C ACA20004 */ sw $v0, 4($a1) +/* 389FD0 E0086780 E7B60010 */ swc1 $f22, 0x10($sp) +/* 389FD4 E0086784 8E050010 */ lw $a1, 0x10($s0) +/* 389FD8 E0086788 26940044 */ addiu $s4, $s4, 0x44 +/* 389FDC E008678C 0C080104 */ jal func_E0200410 +/* 389FE0 E0086790 AEA30000 */ sw $v1, ($s5) +/* 389FE4 E0086794 E7B40010 */ swc1 $f20, 0x10($sp) +/* 389FE8 E0086798 8E050018 */ lw $a1, 0x18($s0) +/* 389FEC E008679C 4406A000 */ mfc1 $a2, $f20 +/* 389FF0 E00867A0 4407B000 */ mfc1 $a3, $f22 +/* 389FF4 E00867A4 0C080104 */ jal func_E0200410 +/* 389FF8 E00867A8 0220202D */ daddu $a0, $s1, $zero +/* 389FFC E00867AC 0220202D */ daddu $a0, $s1, $zero +/* 38A000 E00867B0 27A50020 */ addiu $a1, $sp, 0x20 +/* 38A004 E00867B4 0C080114 */ jal func_E0200450 +/* 38A008 E00867B8 00A0302D */ daddu $a2, $a1, $zero +/* 38A00C E00867BC 8E05FFF8 */ lw $a1, -8($s0) +/* 38A010 E00867C0 8E06FFFC */ lw $a2, -4($s0) +/* 38A014 E00867C4 8E070000 */ lw $a3, ($s0) +/* 38A018 E00867C8 0C080108 */ jal func_E0200420 +/* 38A01C E00867CC 0220202D */ daddu $a0, $s1, $zero +/* 38A020 E00867D0 0220202D */ daddu $a0, $s1, $zero +/* 38A024 E00867D4 27A50020 */ addiu $a1, $sp, 0x20 +/* 38A028 E00867D8 0C080114 */ jal func_E0200450 +/* 38A02C E00867DC 00A0302D */ daddu $a2, $a1, $zero +/* 38A030 E00867E0 27A40020 */ addiu $a0, $sp, 0x20 +/* 38A034 E00867E4 96E50000 */ lhu $a1, ($s7) +/* 38A038 E00867E8 3C02800A */ lui $v0, 0x800a +/* 38A03C E00867EC 8C42A674 */ lw $v0, -0x598c($v0) +/* 38A040 E00867F0 00052980 */ sll $a1, $a1, 6 +/* 38A044 E00867F4 00B62821 */ addu $a1, $a1, $s6 +/* 38A048 E00867F8 0C080118 */ jal func_E0200460 +/* 38A04C E00867FC 00452821 */ addu $a1, $v0, $a1 +/* 38A050 E0086800 8EA40000 */ lw $a0, ($s5) +/* 38A054 E0086804 3C06D838 */ lui $a2, 0xd838 +/* 38A058 E0086808 0080282D */ daddu $a1, $a0, $zero +/* 38A05C E008680C 24840008 */ addiu $a0, $a0, 8 +/* 38A060 E0086810 AEA40000 */ sw $a0, ($s5) +/* 38A064 E0086814 96E20000 */ lhu $v0, ($s7) +/* 38A068 E0086818 3C03DA38 */ lui $v1, 0xda38 +/* 38A06C E008681C ACA30000 */ sw $v1, ($a1) +/* 38A070 E0086820 24430001 */ addiu $v1, $v0, 1 +/* 38A074 E0086824 3042FFFF */ andi $v0, $v0, 0xffff +/* 38A078 E0086828 00021180 */ sll $v0, $v0, 6 +/* 38A07C E008682C A6E30000 */ sh $v1, ($s7) +/* 38A080 E0086830 3C03800A */ lui $v1, 0x800a +/* 38A084 E0086834 8C63A674 */ lw $v1, -0x598c($v1) +/* 38A088 E0086838 00561021 */ addu $v0, $v0, $s6 +/* 38A08C E008683C 00621821 */ addu $v1, $v1, $v0 +/* 38A090 E0086840 ACA30004 */ sw $v1, 4($a1) +/* 38A094 E0086844 3C09DE00 */ lui $t1, 0xde00 +/* 38A098 E0086848 AC890000 */ sw $t1, ($a0) +/* 38A09C E008684C 8FA900C0 */ lw $t1, 0xc0($sp) +/* 38A0A0 E0086850 34C60002 */ ori $a2, $a2, 2 +/* 38A0A4 E0086854 8D230000 */ lw $v1, ($t1) +/* 38A0A8 E0086858 24820008 */ addiu $v0, $a0, 8 +/* 38A0AC E008685C AEA20000 */ sw $v0, ($s5) +/* 38A0B0 E0086860 24020040 */ addiu $v0, $zero, 0x40 +/* 38A0B4 E0086864 AC860008 */ sw $a2, 8($a0) +/* 38A0B8 E0086868 AC82000C */ sw $v0, 0xc($a0) +/* 38A0BC E008686C AC830004 */ sw $v1, 4($a0) +/* 38A0C0 E0086870 8FA90100 */ lw $t1, 0x100($sp) +/* 38A0C4 E0086874 26100044 */ addiu $s0, $s0, 0x44 +/* 38A0C8 E0086878 8D220008 */ lw $v0, 8($t1) +/* 38A0CC E008687C 24840010 */ addiu $a0, $a0, 0x10 +/* 38A0D0 E0086880 0242102A */ slt $v0, $s2, $v0 +/* 38A0D4 E0086884 1440FFAE */ bnez $v0, .LE0086740 +/* 38A0D8 E0086888 AEA40000 */ sw $a0, ($s5) +.LE008688C: +/* 38A0DC E008688C 27A40020 */ addiu $a0, $sp, 0x20 +/* 38A0E0 E0086890 3C150001 */ lui $s5, 1 +/* 38A0E4 E0086894 36B51630 */ ori $s5, $s5, 0x1630 +/* 38A0E8 E0086898 3C10800A */ lui $s0, 0x800a +/* 38A0EC E008689C 2610A66C */ addiu $s0, $s0, -0x5994 +/* 38A0F0 E00868A0 3C02DF00 */ lui $v0, 0xdf00 +/* 38A0F4 E00868A4 3C14DE00 */ lui $s4, 0xde00 +/* 38A0F8 E00868A8 8E080000 */ lw $t0, ($s0) +/* 38A0FC E00868AC 3C013F80 */ lui $at, 0x3f80 +/* 38A100 E00868B0 44810000 */ mtc1 $at, $f0 +/* 38A104 E00868B4 0100182D */ daddu $v1, $t0, $zero +/* 38A108 E00868B8 25080008 */ addiu $t0, $t0, 8 +/* 38A10C E00868BC AE080000 */ sw $t0, ($s0) +/* 38A110 E00868C0 AC620000 */ sw $v0, ($v1) +/* 38A114 E00868C4 3C02DE01 */ lui $v0, 0xde01 +/* 38A118 E00868C8 AC600004 */ sw $zero, 4($v1) +/* 38A11C E00868CC AE620000 */ sw $v0, ($s3) +/* 38A120 E00868D0 25020008 */ addiu $v0, $t0, 8 +/* 38A124 E00868D4 AE680004 */ sw $t0, 4($s3) +/* 38A128 E00868D8 AE020000 */ sw $v0, ($s0) +/* 38A12C E00868DC 3C02FA00 */ lui $v0, 0xfa00 +/* 38A130 E00868E0 AD020000 */ sw $v0, ($t0) +/* 38A134 E00868E4 8FA900A8 */ lw $t1, 0xa8($sp) +/* 38A138 E00868E8 3C0542F0 */ lui $a1, 0x42f0 +/* 38A13C E00868EC 00091E00 */ sll $v1, $t1, 0x18 +/* 38A140 E00868F0 8FA900AC */ lw $t1, 0xac($sp) +/* 38A144 E00868F4 26730008 */ addiu $s3, $s3, 8 +/* 38A148 E00868F8 312200FF */ andi $v0, $t1, 0xff +/* 38A14C E00868FC 00021400 */ sll $v0, $v0, 0x10 +/* 38A150 E0086900 00621825 */ or $v1, $v1, $v0 +/* 38A154 E0086904 33C200FF */ andi $v0, $fp, 0xff +/* 38A158 E0086908 00021200 */ sll $v0, $v0, 8 +/* 38A15C E008690C 8FA900BC */ lw $t1, 0xbc($sp) +/* 38A160 E0086910 00621825 */ or $v1, $v1, $v0 +/* 38A164 E0086914 312200FF */ andi $v0, $t1, 0xff +/* 38A168 E0086918 00621825 */ or $v1, $v1, $v0 +/* 38A16C E008691C 25020010 */ addiu $v0, $t0, 0x10 +/* 38A170 E0086920 AD030004 */ sw $v1, 4($t0) +/* 38A174 E0086924 AE020000 */ sw $v0, ($s0) +/* 38A178 E0086928 3C02FB00 */ lui $v0, 0xfb00 +/* 38A17C E008692C AD020008 */ sw $v0, 8($t0) +/* 38A180 E0086930 8FA900B0 */ lw $t1, 0xb0($sp) +/* 38A184 E0086934 44060000 */ mfc1 $a2, $f0 +/* 38A188 E0086938 00091E00 */ sll $v1, $t1, 0x18 +/* 38A18C E008693C 8FA900B4 */ lw $t1, 0xb4($sp) +/* 38A190 E0086940 00C0382D */ daddu $a3, $a2, $zero +/* 38A194 E0086944 312200FF */ andi $v0, $t1, 0xff +/* 38A198 E0086948 00021400 */ sll $v0, $v0, 0x10 +/* 38A19C E008694C 8FA900B8 */ lw $t1, 0xb8($sp) +/* 38A1A0 E0086950 00621825 */ or $v1, $v1, $v0 +/* 38A1A4 E0086954 312200FF */ andi $v0, $t1, 0xff +/* 38A1A8 E0086958 00021200 */ sll $v0, $v0, 8 +/* 38A1AC E008695C 8FA900A0 */ lw $t1, 0xa0($sp) +/* 38A1B0 E0086960 00621825 */ or $v1, $v1, $v0 +/* 38A1B4 E0086964 312200FF */ andi $v0, $t1, 0xff +/* 38A1B8 E0086968 00621825 */ or $v1, $v1, $v0 +/* 38A1BC E008696C 25020018 */ addiu $v0, $t0, 0x18 +/* 38A1C0 E0086970 AD03000C */ sw $v1, 0xc($t0) +/* 38A1C4 E0086974 AE020000 */ sw $v0, ($s0) +/* 38A1C8 E0086978 AD140010 */ sw $s4, 0x10($t0) +/* 38A1CC E008697C AD130014 */ sw $s3, 0x14($t0) +/* 38A1D0 E0086980 0C080104 */ jal func_E0200410 +/* 38A1D4 E0086984 AFA60010 */ sw $a2, 0x10($sp) +/* 38A1D8 E0086988 27A40020 */ addiu $a0, $sp, 0x20 +/* 38A1DC E008698C 3C118007 */ lui $s1, 0x8007 +/* 38A1E0 E0086990 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 38A1E4 E0086994 3C12800A */ lui $s2, 0x800a +/* 38A1E8 E0086998 2652A674 */ addiu $s2, $s2, -0x598c +/* 38A1EC E008699C 96250000 */ lhu $a1, ($s1) +/* 38A1F0 E00869A0 8E420000 */ lw $v0, ($s2) +/* 38A1F4 E00869A4 00052980 */ sll $a1, $a1, 6 +/* 38A1F8 E00869A8 00B52821 */ addu $a1, $a1, $s5 +/* 38A1FC E00869AC 0C080118 */ jal func_E0200460 +/* 38A200 E00869B0 00452821 */ addu $a1, $v0, $a1 +/* 38A204 E00869B4 3C06DA38 */ lui $a2, 0xda38 +/* 38A208 E00869B8 34C60001 */ ori $a2, $a2, 1 +/* 38A20C E00869BC 3C07D838 */ lui $a3, 0xd838 +/* 38A210 E00869C0 34E70002 */ ori $a3, $a3, 2 +/* 38A214 E00869C4 8E030000 */ lw $v1, ($s0) +/* 38A218 E00869C8 96220000 */ lhu $v0, ($s1) +/* 38A21C E00869CC 0060202D */ daddu $a0, $v1, $zero +/* 38A220 E00869D0 24630008 */ addiu $v1, $v1, 8 +/* 38A224 E00869D4 00021180 */ sll $v0, $v0, 6 +/* 38A228 E00869D8 AE030000 */ sw $v1, ($s0) +/* 38A22C E00869DC AC860000 */ sw $a2, ($a0) +/* 38A230 E00869E0 8E450000 */ lw $a1, ($s2) +/* 38A234 E00869E4 00551021 */ addu $v0, $v0, $s5 +/* 38A238 E00869E8 00A21021 */ addu $v0, $a1, $v0 +/* 38A23C E00869EC AC820004 */ sw $v0, 4($a0) +/* 38A240 E00869F0 24620008 */ addiu $v0, $v1, 8 +/* 38A244 E00869F4 AE020000 */ sw $v0, ($s0) +/* 38A248 E00869F8 AC740000 */ sw $s4, ($v1) +/* 38A24C E00869FC AC730004 */ sw $s3, 4($v1) +/* 38A250 E0086A00 96220000 */ lhu $v0, ($s1) +/* 38A254 E0086A04 24640010 */ addiu $a0, $v1, 0x10 +/* 38A258 E0086A08 AE040000 */ sw $a0, ($s0) +/* 38A25C E0086A0C AC660008 */ sw $a2, 8($v1) +/* 38A260 E0086A10 24440001 */ addiu $a0, $v0, 1 +/* 38A264 E0086A14 3042FFFF */ andi $v0, $v0, 0xffff +/* 38A268 E0086A18 00021180 */ sll $v0, $v0, 6 +/* 38A26C E0086A1C 00551021 */ addu $v0, $v0, $s5 +/* 38A270 E0086A20 00A22821 */ addu $a1, $a1, $v0 +/* 38A274 E0086A24 24620018 */ addiu $v0, $v1, 0x18 +/* 38A278 E0086A28 A6240000 */ sh $a0, ($s1) +/* 38A27C E0086A2C AC65000C */ sw $a1, 0xc($v1) +/* 38A280 E0086A30 AE020000 */ sw $v0, ($s0) +/* 38A284 E0086A34 24620020 */ addiu $v0, $v1, 0x20 +/* 38A288 E0086A38 AC740010 */ sw $s4, 0x10($v1) +/* 38A28C E0086A3C AC730014 */ sw $s3, 0x14($v1) +/* 38A290 E0086A40 AE020000 */ sw $v0, ($s0) +/* 38A294 E0086A44 24020040 */ addiu $v0, $zero, 0x40 +/* 38A298 E0086A48 AC62001C */ sw $v0, 0x1c($v1) +/* 38A29C E0086A4C 24620028 */ addiu $v0, $v1, 0x28 +/* 38A2A0 E0086A50 AC670018 */ sw $a3, 0x18($v1) +/* 38A2A4 E0086A54 AE020000 */ sw $v0, ($s0) +/* 38A2A8 E0086A58 3C02E700 */ lui $v0, 0xe700 +/* 38A2AC E0086A5C AC620020 */ sw $v0, 0x20($v1) +/* 38A2B0 E0086A60 AC600024 */ sw $zero, 0x24($v1) +.LE0086A64: +/* 38A2B4 E0086A64 8FBF00EC */ lw $ra, 0xec($sp) +/* 38A2B8 E0086A68 8FBE00E8 */ lw $fp, 0xe8($sp) +/* 38A2BC E0086A6C 8FB700E4 */ lw $s7, 0xe4($sp) +/* 38A2C0 E0086A70 8FB600E0 */ lw $s6, 0xe0($sp) +/* 38A2C4 E0086A74 8FB500DC */ lw $s5, 0xdc($sp) +/* 38A2C8 E0086A78 8FB400D8 */ lw $s4, 0xd8($sp) +/* 38A2CC E0086A7C 8FB300D4 */ lw $s3, 0xd4($sp) +/* 38A2D0 E0086A80 8FB200D0 */ lw $s2, 0xd0($sp) +/* 38A2D4 E0086A84 8FB100CC */ lw $s1, 0xcc($sp) +/* 38A2D8 E0086A88 8FB000C8 */ lw $s0, 0xc8($sp) +/* 38A2DC E0086A8C D7B600F8 */ ldc1 $f22, 0xf8($sp) +/* 38A2E0 E0086A90 D7B400F0 */ ldc1 $f20, 0xf0($sp) +/* 38A2E4 E0086A94 03E00008 */ jr $ra +/* 38A2E8 E0086A98 27BD0100 */ addiu $sp, $sp, 0x100 +/* 38A2EC E0086A9C 00000000 */ nop diff --git a/asm/nonmatchings/code_38ADF0/func_E0088000.s b/asm/nonmatchings/code_38ADF0/func_E0088000.s new file mode 100644 index 0000000000..07174ef475 --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E0088000.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0088000 +/* 38ADF0 E0088000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 38ADF4 E0088004 AFB00010 */ sw $s0, 0x10($sp) +/* 38ADF8 E0088008 0080802D */ daddu $s0, $a0, $zero +/* 38ADFC E008800C AFBF0014 */ sw $ra, 0x14($sp) +/* 38AE00 E0088010 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 38AE04 E0088014 0C080138 */ jal func_E02004E0 +/* 38AE08 E0088018 240402BC */ addiu $a0, $zero, 0x2bc +/* 38AE0C E008801C 3C013DCC */ lui $at, 0x3dcc +/* 38AE10 E0088020 3421CCCD */ ori $at, $at, 0xcccd +/* 38AE14 E0088024 4481A000 */ mtc1 $at, $f20 +/* 38AE18 E0088028 44820000 */ mtc1 $v0, $f0 +/* 38AE1C E008802C 00000000 */ nop +/* 38AE20 E0088030 46800020 */ cvt.s.w $f0, $f0 +/* 38AE24 E0088034 46140002 */ mul.s $f0, $f0, $f20 +/* 38AE28 E0088038 00000000 */ nop +/* 38AE2C E008803C 3C01420C */ lui $at, 0x420c +/* 38AE30 E0088040 44811000 */ mtc1 $at, $f2 +/* 38AE34 E0088044 00000000 */ nop +/* 38AE38 E0088048 46020001 */ sub.s $f0, $f0, $f2 +/* 38AE3C E008804C 2404012C */ addiu $a0, $zero, 0x12c +/* 38AE40 E0088050 AE000008 */ sw $zero, 8($s0) +/* 38AE44 E0088054 0C080138 */ jal func_E02004E0 +/* 38AE48 E0088058 E6000004 */ swc1 $f0, 4($s0) +/* 38AE4C E008805C 44820000 */ mtc1 $v0, $f0 +/* 38AE50 E0088060 00000000 */ nop +/* 38AE54 E0088064 46800020 */ cvt.s.w $f0, $f0 +/* 38AE58 E0088068 46140002 */ mul.s $f0, $f0, $f20 +/* 38AE5C E008806C 00000000 */ nop +/* 38AE60 E0088070 3C014170 */ lui $at, 0x4170 +/* 38AE64 E0088074 44811000 */ mtc1 $at, $f2 +/* 38AE68 E0088078 00000000 */ nop +/* 38AE6C E008807C 46020001 */ sub.s $f0, $f0, $f2 +/* 38AE70 E0088080 24040064 */ addiu $a0, $zero, 0x64 +/* 38AE74 E0088084 0C080138 */ jal func_E02004E0 +/* 38AE78 E0088088 E600000C */ swc1 $f0, 0xc($s0) +/* 38AE7C E008808C 44821000 */ mtc1 $v0, $f2 +/* 38AE80 E0088090 00000000 */ nop +/* 38AE84 E0088094 468010A0 */ cvt.s.w $f2, $f2 +/* 38AE88 E0088098 46141082 */ mul.s $f2, $f2, $f20 +/* 38AE8C E008809C 00000000 */ nop +/* 38AE90 E00880A0 C6000004 */ lwc1 $f0, 4($s0) +/* 38AE94 E00880A4 46020000 */ add.s $f0, $f0, $f2 +/* 38AE98 E00880A8 3C0140A0 */ lui $at, 0x40a0 +/* 38AE9C E00880AC 44811000 */ mtc1 $at, $f2 +/* 38AEA0 E00880B0 00000000 */ nop +/* 38AEA4 E00880B4 46020001 */ sub.s $f0, $f0, $f2 +/* 38AEA8 E00880B8 3C01E009 */ lui $at, 0xe009 +/* 38AEAC E00880BC D4228D10 */ ldc1 $f2, -0x72f0($at) +/* 38AEB0 E00880C0 46000021 */ cvt.d.s $f0, $f0 +/* 38AEB4 E00880C4 46220002 */ mul.d $f0, $f0, $f2 +/* 38AEB8 E00880C8 00000000 */ nop +/* 38AEBC E00880CC 24040320 */ addiu $a0, $zero, 0x320 +/* 38AEC0 E00880D0 46200020 */ cvt.s.d $f0, $f0 +/* 38AEC4 E00880D4 0C080138 */ jal func_E02004E0 +/* 38AEC8 E00880D8 E6000010 */ swc1 $f0, 0x10($s0) +/* 38AECC E00880DC 44820000 */ mtc1 $v0, $f0 +/* 38AED0 E00880E0 00000000 */ nop +/* 38AED4 E00880E4 46800020 */ cvt.s.w $f0, $f0 +/* 38AED8 E00880E8 46140002 */ mul.s $f0, $f0, $f20 +/* 38AEDC E00880EC 00000000 */ nop +/* 38AEE0 E00880F0 3C01E009 */ lui $at, 0xe009 +/* 38AEE4 E00880F4 D4228D18 */ ldc1 $f2, -0x72e8($at) +/* 38AEE8 E00880F8 46000021 */ cvt.d.s $f0, $f0 +/* 38AEEC E00880FC 46220002 */ mul.d $f0, $f0, $f2 +/* 38AEF0 E0088100 00000000 */ nop +/* 38AEF4 E0088104 3C01E009 */ lui $at, 0xe009 +/* 38AEF8 E0088108 D4228D20 */ ldc1 $f2, -0x72e0($at) +/* 38AEFC E008810C 46201081 */ sub.d $f2, $f2, $f0 +/* 38AF00 E0088110 240400C8 */ addiu $a0, $zero, 0xc8 +/* 38AF04 E0088114 462010A0 */ cvt.s.d $f2, $f2 +/* 38AF08 E0088118 0C080138 */ jal func_E02004E0 +/* 38AF0C E008811C E6020014 */ swc1 $f2, 0x14($s0) +/* 38AF10 E0088120 44820000 */ mtc1 $v0, $f0 +/* 38AF14 E0088124 00000000 */ nop +/* 38AF18 E0088128 46800020 */ cvt.s.w $f0, $f0 +/* 38AF1C E008812C 46140002 */ mul.s $f0, $f0, $f20 +/* 38AF20 E0088130 00000000 */ nop +/* 38AF24 E0088134 3C014120 */ lui $at, 0x4120 +/* 38AF28 E0088138 44811000 */ mtc1 $at, $f2 +/* 38AF2C E008813C 00000000 */ nop +/* 38AF30 E0088140 46020001 */ sub.s $f0, $f0, $f2 +/* 38AF34 E0088144 3C01E009 */ lui $at, 0xe009 +/* 38AF38 E0088148 D4228D28 */ ldc1 $f2, -0x72d8($at) +/* 38AF3C E008814C 46000021 */ cvt.d.s $f0, $f0 +/* 38AF40 E0088150 46220002 */ mul.d $f0, $f0, $f2 +/* 38AF44 E0088154 00000000 */ nop +/* 38AF48 E0088158 24020078 */ addiu $v0, $zero, 0x78 +/* 38AF4C E008815C AE020020 */ sw $v0, 0x20($s0) +/* 38AF50 E0088160 46200020 */ cvt.s.d $f0, $f0 +/* 38AF54 E0088164 E6000018 */ swc1 $f0, 0x18($s0) +/* 38AF58 E0088168 8FBF0014 */ lw $ra, 0x14($sp) +/* 38AF5C E008816C 8FB00010 */ lw $s0, 0x10($sp) +/* 38AF60 E0088170 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 38AF64 E0088174 03E00008 */ jr $ra +/* 38AF68 E0088178 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_38ADF0/func_E008817C.s b/asm/nonmatchings/code_38ADF0/func_E008817C.s new file mode 100644 index 0000000000..8e90c2ae7f --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E008817C.s @@ -0,0 +1,283 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008817C +/* 38AF6C E008817C 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 38AF70 E0088180 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 38AF74 E0088184 4485A000 */ mtc1 $a1, $f20 +/* 38AF78 E0088188 AFB50044 */ sw $s5, 0x44($sp) +/* 38AF7C E008818C 0080A82D */ daddu $s5, $a0, $zero +/* 38AF80 E0088190 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 38AF84 E0088194 4486B000 */ mtc1 $a2, $f22 +/* 38AF88 E0088198 F7B80068 */ sdc1 $f24, 0x68($sp) +/* 38AF8C E008819C 4487C000 */ mtc1 $a3, $f24 +/* 38AF90 E00881A0 2EA20007 */ sltiu $v0, $s5, 7 +/* 38AF94 E00881A4 AFBF0054 */ sw $ra, 0x54($sp) +/* 38AF98 E00881A8 AFBE0050 */ sw $fp, 0x50($sp) +/* 38AF9C E00881AC AFB7004C */ sw $s7, 0x4c($sp) +/* 38AFA0 E00881B0 AFB60048 */ sw $s6, 0x48($sp) +/* 38AFA4 E00881B4 AFB40040 */ sw $s4, 0x40($sp) +/* 38AFA8 E00881B8 AFB3003C */ sw $s3, 0x3c($sp) +/* 38AFAC E00881BC AFB20038 */ sw $s2, 0x38($sp) +/* 38AFB0 E00881C0 AFB10034 */ sw $s1, 0x34($sp) +/* 38AFB4 E00881C4 AFB00030 */ sw $s0, 0x30($sp) +/* 38AFB8 E00881C8 F7BE0080 */ sdc1 $f30, 0x80($sp) +/* 38AFBC E00881CC F7BC0078 */ sdc1 $f28, 0x78($sp) +/* 38AFC0 E00881D0 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 38AFC4 E00881D4 1040000D */ beqz $v0, .LE008820C +/* 38AFC8 E00881D8 27A40010 */ addiu $a0, $sp, 0x10 +/* 38AFCC E00881DC 00151080 */ sll $v0, $s5, 2 +/* 38AFD0 E00881E0 3C01E009 */ lui $at, 0xe009 +/* 38AFD4 E00881E4 00220821 */ addu $at, $at, $v0 +/* 38AFD8 E00881E8 8C228D30 */ lw $v0, -0x72d0($at) +/* 38AFDC E00881EC 00400008 */ jr $v0 +/* 38AFE0 E00881F0 00000000 */ nop +/* 38AFE4 E00881F4 08022084 */ j .LE0088210 +/* 38AFE8 E00881F8 2413000C */ addiu $s3, $zero, 0xc +/* 38AFEC E00881FC 08022084 */ j .LE0088210 +/* 38AFF0 E0088200 24130012 */ addiu $s3, $zero, 0x12 +/* 38AFF4 E0088204 08022084 */ j .LE0088210 +/* 38AFF8 E0088208 24130018 */ addiu $s3, $zero, 0x18 +.LE008820C: +/* 38AFFC E008820C 24130030 */ addiu $s3, $zero, 0x30 +.LE0088210: +/* 38B000 E0088210 2EA20007 */ sltiu $v0, $s5, 7 +/* 38B004 E0088214 1040000E */ beqz $v0, .LE0088250 +/* 38B008 E0088218 00151080 */ sll $v0, $s5, 2 +/* 38B00C E008821C 3C01E009 */ lui $at, 0xe009 +/* 38B010 E0088220 00220821 */ addu $at, $at, $v0 +/* 38B014 E0088224 8C228D50 */ lw $v0, -0x72b0($at) +/* 38B018 E0088228 00400008 */ jr $v0 +/* 38B01C E008822C 00000000 */ nop +/* 38B020 E0088230 3C014040 */ lui $at, 0x4040 +/* 38B024 E0088234 44818000 */ mtc1 $at, $f16 +/* 38B028 E0088238 08022098 */ j .LE0088260 +/* 38B02C E008823C E7B00028 */ swc1 $f16, 0x28($sp) +/* 38B030 E0088240 3C014080 */ lui $at, 0x4080 +/* 38B034 E0088244 44818000 */ mtc1 $at, $f16 +/* 38B038 E0088248 08022098 */ j .LE0088260 +/* 38B03C E008824C E7B00028 */ swc1 $f16, 0x28($sp) +.LE0088250: +/* 38B040 E0088250 3C0140A0 */ lui $at, 0x40a0 +/* 38B044 E0088254 44818000 */ mtc1 $at, $f16 +/* 38B048 E0088258 00000000 */ nop +/* 38B04C E008825C E7B00028 */ swc1 $f16, 0x28($sp) +.LE0088260: +/* 38B050 E0088260 3C02E009 */ lui $v0, 0xe009 +/* 38B054 E0088264 244285A0 */ addiu $v0, $v0, -0x7a60 +/* 38B058 E0088268 AC820008 */ sw $v0, 8($a0) +/* 38B05C E008826C 3C02E009 */ lui $v0, 0xe009 +/* 38B060 E0088270 244285A8 */ addiu $v0, $v0, -0x7a58 +/* 38B064 E0088274 AC82000C */ sw $v0, 0xc($a0) +/* 38B068 E0088278 3C02E009 */ lui $v0, 0xe009 +/* 38B06C E008827C 244287A8 */ addiu $v0, $v0, -0x7858 +/* 38B070 E0088280 AC820010 */ sw $v0, 0x10($a0) +/* 38B074 E0088284 24020044 */ addiu $v0, $zero, 0x44 +/* 38B078 E0088288 AC800000 */ sw $zero, ($a0) +/* 38B07C E008828C AC800014 */ sw $zero, 0x14($a0) +/* 38B080 E0088290 0C080124 */ jal func_E0200490 +/* 38B084 E0088294 AC820004 */ sw $v0, 4($a0) +/* 38B088 E0088298 26630001 */ addiu $v1, $s3, 1 +/* 38B08C E008829C 00032040 */ sll $a0, $v1, 1 +/* 38B090 E00882A0 00832021 */ addu $a0, $a0, $v1 +/* 38B094 E00882A4 00042080 */ sll $a0, $a0, 2 +/* 38B098 E00882A8 00832021 */ addu $a0, $a0, $v1 +/* 38B09C E00882AC 00042080 */ sll $a0, $a0, 2 +/* 38B0A0 E00882B0 0040B02D */ daddu $s6, $v0, $zero +/* 38B0A4 E00882B4 0C08012C */ jal func_E02004B0 +/* 38B0A8 E00882B8 AEC30008 */ sw $v1, 8($s6) +/* 38B0AC E00882BC 0040902D */ daddu $s2, $v0, $zero +/* 38B0B0 E00882C0 16400003 */ bnez $s2, .LE00882D0 +/* 38B0B4 E00882C4 AED2000C */ sw $s2, 0xc($s6) +.LE00882C8: +/* 38B0B8 E00882C8 080220B2 */ j .LE00882C8 +/* 38B0BC E00882CC 00000000 */ nop +.LE00882D0: +/* 38B0C0 E00882D0 E6540004 */ swc1 $f20, 4($s2) +/* 38B0C4 E00882D4 E6560008 */ swc1 $f22, 8($s2) +/* 38B0C8 E00882D8 E658000C */ swc1 $f24, 0xc($s2) +/* 38B0CC E00882DC AE400024 */ sw $zero, 0x24($s2) +/* 38B0D0 E00882E0 8FA2009C */ lw $v0, 0x9c($sp) +/* 38B0D4 E00882E4 24040168 */ addiu $a0, $zero, 0x168 +/* 38B0D8 E00882E8 AE550000 */ sw $s5, ($s2) +/* 38B0DC E00882EC AE53002C */ sw $s3, 0x2c($s2) +/* 38B0E0 E00882F0 AE420020 */ sw $v0, 0x20($s2) +/* 38B0E4 E00882F4 240200FF */ addiu $v0, $zero, 0xff +/* 38B0E8 E00882F8 AE420028 */ sw $v0, 0x28($s2) +/* 38B0EC E00882FC 0C080138 */ jal func_E02004E0 +/* 38B0F0 E0088300 26520034 */ addiu $s2, $s2, 0x34 +/* 38B0F4 E0088304 0000882D */ daddu $s1, $zero, $zero +/* 38B0F8 E0088308 12600092 */ beqz $s3, .LE0088554 +/* 38B0FC E008830C 0040F02D */ daddu $fp, $v0, $zero +/* 38B100 E0088310 3C03E009 */ lui $v1, 0xe009 +/* 38B104 E0088314 24638D70 */ addiu $v1, $v1, -0x7290 +/* 38B108 E0088318 00151080 */ sll $v0, $s5, 2 +/* 38B10C E008831C 0043B821 */ addu $s7, $v0, $v1 +/* 38B110 E0088320 26500030 */ addiu $s0, $s2, 0x30 +/* 38B114 E0088324 0220A02D */ daddu $s4, $s1, $zero +.LE0088328: +/* 38B118 E0088328 0C080000 */ jal func_E0200000 +/* 38B11C E008832C 24040064 */ addiu $a0, $zero, 0x64 +/* 38B120 E0088330 3C013C23 */ lui $at, 0x3c23 +/* 38B124 E0088334 3421D70A */ ori $at, $at, 0xd70a +/* 38B128 E0088338 44810000 */ mtc1 $at, $f0 +/* 38B12C E008833C 44821000 */ mtc1 $v0, $f2 +/* 38B130 E0088340 00000000 */ nop +/* 38B134 E0088344 468010A0 */ cvt.s.w $f2, $f2 +/* 38B138 E0088348 46001082 */ mul.s $f2, $f2, $f0 +/* 38B13C E008834C 00000000 */ nop +/* 38B140 E0088350 C7B00028 */ lwc1 $f16, 0x28($sp) +/* 38B144 E0088354 2EA20007 */ sltiu $v0, $s5, 7 +/* 38B148 E0088358 46028782 */ mul.s $f30, $f16, $f2 +/* 38B14C E008835C 00000000 */ nop +/* 38B150 E0088360 10400006 */ beqz $v0, .LE008837C +/* 38B154 E0088364 46008021 */ cvt.d.s $f0, $f16 +/* 38B158 E0088368 8EE20000 */ lw $v0, ($s7) +/* 38B15C E008836C 080220DF */ j .LE008837C +/* 38B160 E0088370 00000000 */ nop +/* 38B164 E0088374 C7B00028 */ lwc1 $f16, 0x28($sp) +/* 38B168 E0088378 46008021 */ cvt.d.s $f0, $f16 +.LE008837C: +/* 38B16C E008837C 3C013FE0 */ lui $at, 0x3fe0 +/* 38B170 E0088380 44818800 */ mtc1 $at, $f17 +/* 38B174 E0088384 44808000 */ mtc1 $zero, $f16 +/* 38B178 E0088388 00000000 */ nop +/* 38B17C E008838C 46300002 */ mul.d $f0, $f0, $f16 +/* 38B180 E0088390 00000000 */ nop +/* 38B184 E0088394 46200000 */ add.d $f0, $f0, $f0 +/* 38B188 E0088398 0220102D */ daddu $v0, $s1, $zero +/* 38B18C E008839C 06210002 */ bgez $s1, .LE00883A8 +/* 38B190 E00883A0 46200720 */ cvt.s.d $f28, $f0 +/* 38B194 E00883A4 26220003 */ addiu $v0, $s1, 3 +.LE00883A8: +/* 38B198 E00883A8 00021083 */ sra $v0, $v0, 2 +/* 38B19C E00883AC 4491A000 */ mtc1 $s1, $f20 +/* 38B1A0 E00883B0 00000000 */ nop +/* 38B1A4 E00883B4 4680A520 */ cvt.s.w $f20, $f20 +/* 38B1A8 E00883B8 00021080 */ sll $v0, $v0, 2 +/* 38B1AC E00883BC 3C0143B4 */ lui $at, 0x43b4 +/* 38B1B0 E00883C0 44810000 */ mtc1 $at, $f0 +/* 38B1B4 E00883C4 02221023 */ subu $v0, $s1, $v0 +/* 38B1B8 E00883C8 4600A502 */ mul.s $f20, $f20, $f0 +/* 38B1BC E00883CC 00000000 */ nop +/* 38B1C0 E00883D0 3C08E009 */ lui $t0, 0xe009 +/* 38B1C4 E00883D4 25088D08 */ addiu $t0, $t0, -0x72f8 +/* 38B1C8 E00883D8 00481021 */ addu $v0, $v0, $t0 +/* 38B1CC E00883DC 90420000 */ lbu $v0, ($v0) +/* 38B1D0 E00883E0 44930000 */ mtc1 $s3, $f0 +/* 38B1D4 E00883E4 00000000 */ nop +/* 38B1D8 E00883E8 46800020 */ cvt.s.w $f0, $f0 +/* 38B1DC E00883EC 4600A503 */ div.s $f20, $f20, $f0 +/* 38B1E0 E00883F0 449E0000 */ mtc1 $fp, $f0 +/* 38B1E4 E00883F4 00000000 */ nop +/* 38B1E8 E00883F8 46800020 */ cvt.s.w $f0, $f0 +/* 38B1EC E00883FC 4600A500 */ add.s $f20, $f20, $f0 +/* 38B1F0 E0088400 AE550000 */ sw $s5, ($s2) +/* 38B1F4 E0088404 4482B000 */ mtc1 $v0, $f22 +/* 38B1F8 E0088408 00000000 */ nop +/* 38B1FC E008840C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 38B200 E0088410 0C080140 */ jal func_E0200500 +/* 38B204 E0088414 4600A306 */ mov.s $f12, $f20 +/* 38B208 E0088418 4600A306 */ mov.s $f12, $f20 +/* 38B20C E008841C 0C080144 */ jal func_E0200510 +/* 38B210 E0088420 46000606 */ mov.s $f24, $f0 +/* 38B214 E0088424 4600B306 */ mov.s $f12, $f22 +/* 38B218 E0088428 0C080140 */ jal func_E0200500 +/* 38B21C E008842C 46000686 */ mov.s $f26, $f0 +/* 38B220 E0088430 4600B306 */ mov.s $f12, $f22 +/* 38B224 E0088434 0C080144 */ jal func_E0200510 +/* 38B228 E0088438 46000506 */ mov.s $f20, $f0 +/* 38B22C E008843C 24020003 */ addiu $v0, $zero, 3 +/* 38B230 E0088440 16A20005 */ bne $s5, $v0, .LE0088458 +/* 38B234 E0088444 46000386 */ mov.s $f14, $f0 +/* 38B238 E0088448 0C022000 */ jal func_E0088000 +/* 38B23C E008844C 0240202D */ daddu $a0, $s2, $zero +/* 38B240 E0088450 0802214F */ j .LE008853C +/* 38B244 E0088454 AE140000 */ sw $s4, ($s0) +.LE0088458: +/* 38B248 E0088458 4618F182 */ mul.s $f6, $f30, $f24 +/* 38B24C E008845C 00000000 */ nop +/* 38B250 E0088460 461AF202 */ mul.s $f8, $f30, $f26 +/* 38B254 E0088464 00000000 */ nop +/* 38B258 E0088468 4618E082 */ mul.s $f2, $f28, $f24 +/* 38B25C E008846C 00000000 */ nop +/* 38B260 E0088470 4614F302 */ mul.s $f12, $f30, $f20 +/* 38B264 E0088474 00000000 */ nop +/* 38B268 E0088478 461AE002 */ mul.s $f0, $f28, $f26 +/* 38B26C E008847C 00000000 */ nop +/* 38B270 E0088480 4614E102 */ mul.s $f4, $f28, $f20 +/* 38B274 E0088484 00000000 */ nop +/* 38B278 E0088488 460E3182 */ mul.s $f6, $f6, $f14 +/* 38B27C E008848C 00000000 */ nop +/* 38B280 E0088490 460E4202 */ mul.s $f8, $f8, $f14 +/* 38B284 E0088494 00000000 */ nop +/* 38B288 E0088498 460E1082 */ mul.s $f2, $f2, $f14 +/* 38B28C E008849C 00000000 */ nop +/* 38B290 E00884A0 3C013F80 */ lui $at, 0x3f80 +/* 38B294 E00884A4 44815000 */ mtc1 $at, $f10 +/* 38B298 E00884A8 460E0002 */ mul.s $f0, $f0, $f14 +/* 38B29C E00884AC 00000000 */ nop +/* 38B2A0 E00884B0 2AA20004 */ slti $v0, $s5, 4 +/* 38B2A4 E00884B4 E60CFFDC */ swc1 $f12, -0x24($s0) +/* 38B2A8 E00884B8 E604FFE8 */ swc1 $f4, -0x18($s0) +/* 38B2AC E00884BC E606FFD4 */ swc1 $f6, -0x2c($s0) +/* 38B2B0 E00884C0 460A0000 */ add.s $f0, $f0, $f10 +/* 38B2B4 E00884C4 E608FFD8 */ swc1 $f8, -0x28($s0) +/* 38B2B8 E00884C8 E602FFE0 */ swc1 $f2, -0x20($s0) +/* 38B2BC E00884CC 14400018 */ bnez $v0, .LE0088530 +/* 38B2C0 E00884D0 E600FFE4 */ swc1 $f0, -0x1c($s0) +/* 38B2C4 E00884D4 3C025555 */ lui $v0, 0x5555 +/* 38B2C8 E00884D8 34425556 */ ori $v0, $v0, 0x5556 +/* 38B2CC E00884DC 26240001 */ addiu $a0, $s1, 1 +/* 38B2D0 E00884E0 00820018 */ mult $a0, $v0 +/* 38B2D4 E00884E4 00041FC3 */ sra $v1, $a0, 0x1f +/* 38B2D8 E00884E8 3C01E009 */ lui $at, 0xe009 +/* 38B2DC E00884EC D4208D90 */ ldc1 $f0, -0x7270($at) +/* 38B2E0 E00884F0 00004010 */ mfhi $t0 +/* 38B2E4 E00884F4 01031823 */ subu $v1, $t0, $v1 +/* 38B2E8 E00884F8 00031040 */ sll $v0, $v1, 1 +/* 38B2EC E00884FC 00431021 */ addu $v0, $v0, $v1 +/* 38B2F0 E0088500 00822023 */ subu $a0, $a0, $v0 +/* 38B2F4 E0088504 44841000 */ mtc1 $a0, $f2 +/* 38B2F8 E0088508 00000000 */ nop +/* 38B2FC E008850C 468010A1 */ cvt.d.w $f2, $f2 +/* 38B300 E0088510 46201082 */ mul.d $f2, $f2, $f0 +/* 38B304 E0088514 00000000 */ nop +/* 38B308 E0088518 3C01E009 */ lui $at, 0xe009 +/* 38B30C E008851C D4208D98 */ ldc1 $f0, -0x7268($at) +/* 38B310 E0088520 46220001 */ sub.d $f0, $f0, $f2 +/* 38B314 E0088524 46200020 */ cvt.s.d $f0, $f0 +/* 38B318 E0088528 0802214D */ j .LE0088534 +/* 38B31C E008852C E600FFEC */ swc1 $f0, -0x14($s0) +.LE0088530: +/* 38B320 E0088530 AE00FFEC */ sw $zero, -0x14($s0) +.LE0088534: +/* 38B324 E0088534 32220003 */ andi $v0, $s1, 3 +/* 38B328 E0088538 AE020000 */ sw $v0, ($s0) +.LE008853C: +/* 38B32C E008853C 26940003 */ addiu $s4, $s4, 3 +/* 38B330 E0088540 26310001 */ addiu $s1, $s1, 1 +/* 38B334 E0088544 26100034 */ addiu $s0, $s0, 0x34 +/* 38B338 E0088548 0233102A */ slt $v0, $s1, $s3 +/* 38B33C E008854C 1440FF76 */ bnez $v0, .LE0088328 +/* 38B340 E0088550 26520034 */ addiu $s2, $s2, 0x34 +.LE0088554: +/* 38B344 E0088554 02C0102D */ daddu $v0, $s6, $zero +/* 38B348 E0088558 8FBF0054 */ lw $ra, 0x54($sp) +/* 38B34C E008855C 8FBE0050 */ lw $fp, 0x50($sp) +/* 38B350 E0088560 8FB7004C */ lw $s7, 0x4c($sp) +/* 38B354 E0088564 8FB60048 */ lw $s6, 0x48($sp) +/* 38B358 E0088568 8FB50044 */ lw $s5, 0x44($sp) +/* 38B35C E008856C 8FB40040 */ lw $s4, 0x40($sp) +/* 38B360 E0088570 8FB3003C */ lw $s3, 0x3c($sp) +/* 38B364 E0088574 8FB20038 */ lw $s2, 0x38($sp) +/* 38B368 E0088578 8FB10034 */ lw $s1, 0x34($sp) +/* 38B36C E008857C 8FB00030 */ lw $s0, 0x30($sp) +/* 38B370 E0088580 D7BE0080 */ ldc1 $f30, 0x80($sp) +/* 38B374 E0088584 D7BC0078 */ ldc1 $f28, 0x78($sp) +/* 38B378 E0088588 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 38B37C E008858C D7B80068 */ ldc1 $f24, 0x68($sp) +/* 38B380 E0088590 D7B60060 */ ldc1 $f22, 0x60($sp) +/* 38B384 E0088594 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 38B388 E0088598 03E00008 */ jr $ra +/* 38B38C E008859C 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/code_38ADF0/func_E00885A0.s b/asm/nonmatchings/code_38ADF0/func_E00885A0.s new file mode 100644 index 0000000000..abd6334881 --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E00885A0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00885A0 +/* 38B390 E00885A0 03E00008 */ jr $ra +/* 38B394 E00885A4 00000000 */ nop diff --git a/asm/nonmatchings/code_38ADF0/func_E00885A8.s b/asm/nonmatchings/code_38ADF0/func_E00885A8.s new file mode 100644 index 0000000000..e13a08b9d1 --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E00885A8.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00885A8 +/* 38B398 E00885A8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 38B39C E00885AC AFBF0028 */ sw $ra, 0x28($sp) +/* 38B3A0 E00885B0 AFB50024 */ sw $s5, 0x24($sp) +/* 38B3A4 E00885B4 AFB40020 */ sw $s4, 0x20($sp) +/* 38B3A8 E00885B8 AFB3001C */ sw $s3, 0x1c($sp) +/* 38B3AC E00885BC AFB20018 */ sw $s2, 0x18($sp) +/* 38B3B0 E00885C0 AFB10014 */ sw $s1, 0x14($sp) +/* 38B3B4 E00885C4 AFB00010 */ sw $s0, 0x10($sp) +/* 38B3B8 E00885C8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 38B3BC E00885CC 8C91000C */ lw $s1, 0xc($a0) +/* 38B3C0 E00885D0 8E220020 */ lw $v0, 0x20($s1) +/* 38B3C4 E00885D4 2442FFFF */ addiu $v0, $v0, -1 +/* 38B3C8 E00885D8 04410005 */ bgez $v0, .LE00885F0 +/* 38B3CC E00885DC AE220020 */ sw $v0, 0x20($s1) +/* 38B3D0 E00885E0 0C080128 */ jal func_E02004A0 +/* 38B3D4 E00885E4 00000000 */ nop +/* 38B3D8 E00885E8 080221E0 */ j .LE0088780 +/* 38B3DC E00885EC 00000000 */ nop +.LE00885F0: +/* 38B3E0 E00885F0 3C030004 */ lui $v1, 4 +/* 38B3E4 E00885F4 8E220024 */ lw $v0, 0x24($s1) +/* 38B3E8 E00885F8 3463F1A0 */ ori $v1, $v1, 0xf1a0 +/* 38B3EC E00885FC 24420001 */ addiu $v0, $v0, 1 +/* 38B3F0 E0088600 0062182A */ slt $v1, $v1, $v0 +/* 38B3F4 E0088604 10600003 */ beqz $v1, .LE0088614 +/* 38B3F8 E0088608 AE220024 */ sw $v0, 0x24($s1) +/* 38B3FC E008860C 2402000A */ addiu $v0, $zero, 0xa +/* 38B400 E0088610 AE220024 */ sw $v0, 0x24($s1) +.LE0088614: +/* 38B404 E0088614 8E230020 */ lw $v1, 0x20($s1) +/* 38B408 E0088618 8E350024 */ lw $s5, 0x24($s1) +/* 38B40C E008861C 8E330000 */ lw $s3, ($s1) +/* 38B410 E0088620 8E34002C */ lw $s4, 0x2c($s1) +/* 38B414 E0088624 2862000A */ slti $v0, $v1, 0xa +/* 38B418 E0088628 10400005 */ beqz $v0, .LE0088640 +/* 38B41C E008862C 00031040 */ sll $v0, $v1, 1 +/* 38B420 E0088630 00431021 */ addu $v0, $v0, $v1 +/* 38B424 E0088634 000210C0 */ sll $v0, $v0, 3 +/* 38B428 E0088638 00431021 */ addu $v0, $v0, $v1 +/* 38B42C E008863C AE220028 */ sw $v0, 0x28($s1) +.LE0088640: +/* 38B430 E0088640 26310034 */ addiu $s1, $s1, 0x34 +/* 38B434 E0088644 1A80004E */ blez $s4, .LE0088780 +/* 38B438 E0088648 0000902D */ daddu $s2, $zero, $zero +/* 38B43C E008864C 3C01E009 */ lui $at, 0xe009 +/* 38B440 E0088650 D4348DA0 */ ldc1 $f20, -0x7260($at) +/* 38B444 E0088654 2630000C */ addiu $s0, $s1, 0xc +.LE0088658: +/* 38B448 E0088658 24020003 */ addiu $v0, $zero, 3 +/* 38B44C E008865C 16620010 */ bne $s3, $v0, .LE00886A0 +/* 38B450 E0088660 00000000 */ nop +/* 38B454 E0088664 8E020024 */ lw $v0, 0x24($s0) +/* 38B458 E0088668 18400003 */ blez $v0, .LE0088678 +/* 38B45C E008866C 2442FFFF */ addiu $v0, $v0, -1 +/* 38B460 E0088670 1C40003E */ bgtz $v0, .LE008876C +/* 38B464 E0088674 AE020024 */ sw $v0, 0x24($s0) +.LE0088678: +/* 38B468 E0088678 8E020014 */ lw $v0, 0x14($s0) +/* 38B46C E008867C 2442FFFF */ addiu $v0, $v0, -1 +/* 38B470 E0088680 0441002E */ bgez $v0, .LE008873C +/* 38B474 E0088684 AE020014 */ sw $v0, 0x14($s0) +/* 38B478 E0088688 0C022000 */ jal func_E0088000 +/* 38B47C E008868C 0220202D */ daddu $a0, $s1, $zero +/* 38B480 E0088690 8E020014 */ lw $v0, 0x14($s0) +/* 38B484 E0088694 2442FFFF */ addiu $v0, $v0, -1 +/* 38B488 E0088698 080221CF */ j .LE008873C +/* 38B48C E008869C AE020014 */ sw $v0, 0x14($s0) +.LE00886A0: +/* 38B490 E00886A0 8E020024 */ lw $v0, 0x24($s0) +/* 38B494 E00886A4 18400003 */ blez $v0, .LE00886B4 +/* 38B498 E00886A8 2442FFFF */ addiu $v0, $v0, -1 +/* 38B49C E00886AC 1C40002F */ bgtz $v0, .LE008876C +/* 38B4A0 E00886B0 AE020024 */ sw $v0, 0x24($s0) +.LE00886B4: +/* 38B4A4 E00886B4 2A620004 */ slti $v0, $s3, 4 +/* 38B4A8 E00886B8 14400020 */ bnez $v0, .LE008873C +/* 38B4AC E00886BC 2AA20006 */ slti $v0, $s5, 6 +/* 38B4B0 E00886C0 C6040004 */ lwc1 $f4, 4($s0) +/* 38B4B4 E00886C4 46002121 */ cvt.d.s $f4, $f4 +/* 38B4B8 E00886C8 46342102 */ mul.d $f4, $f4, $f20 +/* 38B4BC E00886CC 00000000 */ nop +/* 38B4C0 E00886D0 C6020008 */ lwc1 $f2, 8($s0) +/* 38B4C4 E00886D4 460010A1 */ cvt.d.s $f2, $f2 +/* 38B4C8 E00886D8 46341082 */ mul.d $f2, $f2, $f20 +/* 38B4CC E00886DC 00000000 */ nop +/* 38B4D0 E00886E0 C600000C */ lwc1 $f0, 0xc($s0) +/* 38B4D4 E00886E4 46000021 */ cvt.d.s $f0, $f0 +/* 38B4D8 E00886E8 46340002 */ mul.d $f0, $f0, $f20 +/* 38B4DC E00886EC 00000000 */ nop +/* 38B4E0 E00886F0 46202120 */ cvt.s.d $f4, $f4 +/* 38B4E4 E00886F4 462010A0 */ cvt.s.d $f2, $f2 +/* 38B4E8 E00886F8 46200020 */ cvt.s.d $f0, $f0 +/* 38B4EC E00886FC E6040004 */ swc1 $f4, 4($s0) +/* 38B4F0 E0088700 E6020008 */ swc1 $f2, 8($s0) +/* 38B4F4 E0088704 1440000D */ bnez $v0, .LE008873C +/* 38B4F8 E0088708 E600000C */ swc1 $f0, 0xc($s0) +/* 38B4FC E008870C 46001106 */ mov.s $f4, $f2 +/* 38B500 E0088710 3C01BFE0 */ lui $at, 0xbfe0 +/* 38B504 E0088714 44811800 */ mtc1 $at, $f3 +/* 38B508 E0088718 44801000 */ mtc1 $zero, $f2 +/* 38B50C E008871C 46002021 */ cvt.d.s $f0, $f4 +/* 38B510 E0088720 4620103C */ c.lt.d $f2, $f0 +/* 38B514 E0088724 00000000 */ nop +/* 38B518 E0088728 45000004 */ bc1f .LE008873C +/* 38B51C E008872C 00000000 */ nop +/* 38B520 E0088730 C6000010 */ lwc1 $f0, 0x10($s0) +/* 38B524 E0088734 46002000 */ add.s $f0, $f4, $f0 +/* 38B528 E0088738 E6000008 */ swc1 $f0, 8($s0) +.LE008873C: +/* 38B52C E008873C C606FFF8 */ lwc1 $f6, -8($s0) +/* 38B530 E0088740 C6000004 */ lwc1 $f0, 4($s0) +/* 38B534 E0088744 C604FFFC */ lwc1 $f4, -4($s0) +/* 38B538 E0088748 46003180 */ add.s $f6, $f6, $f0 +/* 38B53C E008874C C6000008 */ lwc1 $f0, 8($s0) +/* 38B540 E0088750 C6020000 */ lwc1 $f2, ($s0) +/* 38B544 E0088754 46002100 */ add.s $f4, $f4, $f0 +/* 38B548 E0088758 C600000C */ lwc1 $f0, 0xc($s0) +/* 38B54C E008875C 46001080 */ add.s $f2, $f2, $f0 +/* 38B550 E0088760 E606FFF8 */ swc1 $f6, -8($s0) +/* 38B554 E0088764 E604FFFC */ swc1 $f4, -4($s0) +/* 38B558 E0088768 E6020000 */ swc1 $f2, ($s0) +.LE008876C: +/* 38B55C E008876C 26520001 */ addiu $s2, $s2, 1 +/* 38B560 E0088770 26100034 */ addiu $s0, $s0, 0x34 +/* 38B564 E0088774 0254102A */ slt $v0, $s2, $s4 +/* 38B568 E0088778 1440FFB7 */ bnez $v0, .LE0088658 +/* 38B56C E008877C 26310034 */ addiu $s1, $s1, 0x34 +.LE0088780: +/* 38B570 E0088780 8FBF0028 */ lw $ra, 0x28($sp) +/* 38B574 E0088784 8FB50024 */ lw $s5, 0x24($sp) +/* 38B578 E0088788 8FB40020 */ lw $s4, 0x20($sp) +/* 38B57C E008878C 8FB3001C */ lw $s3, 0x1c($sp) +/* 38B580 E0088790 8FB20018 */ lw $s2, 0x18($sp) +/* 38B584 E0088794 8FB10014 */ lw $s1, 0x14($sp) +/* 38B588 E0088798 8FB00010 */ lw $s0, 0x10($sp) +/* 38B58C E008879C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 38B590 E00887A0 03E00008 */ jr $ra +/* 38B594 E00887A4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_38ADF0/func_E00887A8.s b/asm/nonmatchings/code_38ADF0/func_E00887A8.s new file mode 100644 index 0000000000..c95226a72e --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E00887A8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00887A8 +/* 38B598 E00887A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 38B59C E00887AC 3C02E009 */ lui $v0, 0xe009 +/* 38B5A0 E00887B0 244287E0 */ addiu $v0, $v0, -0x7820 +/* 38B5A4 E00887B4 AFA2001C */ sw $v0, 0x1c($sp) +/* 38B5A8 E00887B8 2402002D */ addiu $v0, $zero, 0x2d +/* 38B5AC E00887BC AFA40018 */ sw $a0, 0x18($sp) +/* 38B5B0 E00887C0 27A40010 */ addiu $a0, $sp, 0x10 +/* 38B5B4 E00887C4 AFBF0020 */ sw $ra, 0x20($sp) +/* 38B5B8 E00887C8 AFA00014 */ sw $zero, 0x14($sp) +/* 38B5BC E00887CC 0C080120 */ jal func_E0200480 +/* 38B5C0 E00887D0 AFA20010 */ sw $v0, 0x10($sp) +/* 38B5C4 E00887D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 38B5C8 E00887D8 03E00008 */ jr $ra +/* 38B5CC E00887DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_38ADF0/func_E00887E0.s b/asm/nonmatchings/code_38ADF0/func_E00887E0.s new file mode 100644 index 0000000000..caa28eb8aa --- /dev/null +++ b/asm/nonmatchings/code_38ADF0/func_E00887E0.s @@ -0,0 +1,326 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00887E0 +/* 38B5D0 E00887E0 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 38B5D4 E00887E4 0080382D */ daddu $a3, $a0, $zero +/* 38B5D8 E00887E8 3C08DB06 */ lui $t0, 0xdb06 +/* 38B5DC E00887EC 35080024 */ ori $t0, $t0, 0x24 +/* 38B5E0 E00887F0 27A40018 */ addiu $a0, $sp, 0x18 +/* 38B5E4 E00887F4 AFB200B0 */ sw $s2, 0xb0($sp) +/* 38B5E8 E00887F8 3C120001 */ lui $s2, 1 +/* 38B5EC E00887FC AFB500BC */ sw $s5, 0xbc($sp) +/* 38B5F0 E0088800 3C15800A */ lui $s5, 0x800a +/* 38B5F4 E0088804 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 38B5F8 E0088808 AFBF00CC */ sw $ra, 0xcc($sp) +/* 38B5FC E008880C AFBE00C8 */ sw $fp, 0xc8($sp) +/* 38B600 E0088810 AFB700C4 */ sw $s7, 0xc4($sp) +/* 38B604 E0088814 AFB600C0 */ sw $s6, 0xc0($sp) +/* 38B608 E0088818 AFB400B8 */ sw $s4, 0xb8($sp) +/* 38B60C E008881C AFB300B4 */ sw $s3, 0xb4($sp) +/* 38B610 E0088820 AFB100AC */ sw $s1, 0xac($sp) +/* 38B614 E0088824 AFB000A8 */ sw $s0, 0xa8($sp) +/* 38B618 E0088828 8EA30000 */ lw $v1, ($s5) +/* 38B61C E008882C 8CF3000C */ lw $s3, 0xc($a3) +/* 38B620 E0088830 0060302D */ daddu $a2, $v1, $zero +/* 38B624 E0088834 24630008 */ addiu $v1, $v1, 8 +/* 38B628 E0088838 AEA30000 */ sw $v1, ($s5) +/* 38B62C E008883C 8E650000 */ lw $a1, ($s3) +/* 38B630 E0088840 24620008 */ addiu $v0, $v1, 8 +/* 38B634 E0088844 AEA20000 */ sw $v0, ($s5) +/* 38B638 E0088848 8E7E0024 */ lw $fp, 0x24($s3) +/* 38B63C E008884C 8E69002C */ lw $t1, 0x2c($s3) +/* 38B640 E0088850 36521630 */ ori $s2, $s2, 0x1630 +/* 38B644 E0088854 AFA9009C */ sw $t1, 0x9c($sp) +/* 38B648 E0088858 8E690028 */ lw $t1, 0x28($s3) +/* 38B64C E008885C 00052880 */ sll $a1, $a1, 2 +/* 38B650 E0088860 AFA90098 */ sw $t1, 0x98($sp) +/* 38B654 E0088864 3C01E009 */ lui $at, 0xe009 +/* 38B658 E0088868 00250821 */ addu $at, $at, $a1 +/* 38B65C E008886C 8C258CC0 */ lw $a1, -0x7340($at) +/* 38B660 E0088870 3C02E700 */ lui $v0, 0xe700 +/* 38B664 E0088874 AFA500A0 */ sw $a1, 0xa0($sp) +/* 38B668 E0088878 ACC20000 */ sw $v0, ($a2) +/* 38B66C E008887C ACC00004 */ sw $zero, 4($a2) +/* 38B670 E0088880 AC680000 */ sw $t0, ($v1) +/* 38B674 E0088884 8CE50010 */ lw $a1, 0x10($a3) +/* 38B678 E0088888 24620010 */ addiu $v0, $v1, 0x10 +/* 38B67C E008888C AEA20000 */ sw $v0, ($s5) +/* 38B680 E0088890 8CA5001C */ lw $a1, 0x1c($a1) +/* 38B684 E0088894 3C02DE00 */ lui $v0, 0xde00 +/* 38B688 E0088898 AC620008 */ sw $v0, 8($v1) +/* 38B68C E008889C 3C020900 */ lui $v0, 0x900 +/* 38B690 E00888A0 24420940 */ addiu $v0, $v0, 0x940 +/* 38B694 E00888A4 AC62000C */ sw $v0, 0xc($v1) +/* 38B698 E00888A8 3C028000 */ lui $v0, 0x8000 +/* 38B69C E00888AC 00A22821 */ addu $a1, $a1, $v0 +/* 38B6A0 E00888B0 AC650004 */ sw $a1, 4($v1) +/* 38B6A4 E00888B4 8E650004 */ lw $a1, 4($s3) +/* 38B6A8 E00888B8 8E660008 */ lw $a2, 8($s3) +/* 38B6AC E00888BC 8E67000C */ lw $a3, 0xc($s3) +/* 38B6B0 E00888C0 0C080108 */ jal func_E0200420 +/* 38B6B4 E00888C4 0000A02D */ daddu $s4, $zero, $zero +/* 38B6B8 E00888C8 27B00058 */ addiu $s0, $sp, 0x58 +/* 38B6BC E00888CC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38B6C0 E00888D0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38B6C4 E00888D4 44800000 */ mtc1 $zero, $f0 +/* 38B6C8 E00888D8 00031080 */ sll $v0, $v1, 2 +/* 38B6CC E00888DC 00431021 */ addu $v0, $v0, $v1 +/* 38B6D0 E00888E0 00021080 */ sll $v0, $v0, 2 +/* 38B6D4 E00888E4 00431023 */ subu $v0, $v0, $v1 +/* 38B6D8 E00888E8 000218C0 */ sll $v1, $v0, 3 +/* 38B6DC E00888EC 00431021 */ addu $v0, $v0, $v1 +/* 38B6E0 E00888F0 000210C0 */ sll $v0, $v0, 3 +/* 38B6E4 E00888F4 44060000 */ mfc1 $a2, $f0 +/* 38B6E8 E00888F8 3C01800B */ lui $at, 0x800b +/* 38B6EC E00888FC 00220821 */ addu $at, $at, $v0 +/* 38B6F0 E0088900 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 38B6F4 E0088904 3C073F80 */ lui $a3, 0x3f80 +/* 38B6F8 E0088908 46000007 */ neg.s $f0, $f0 +/* 38B6FC E008890C 44050000 */ mfc1 $a1, $f0 +/* 38B700 E0088910 0200202D */ daddu $a0, $s0, $zero +/* 38B704 E0088914 0C080104 */ jal func_E0200410 +/* 38B708 E0088918 AFA60010 */ sw $a2, 0x10($sp) +/* 38B70C E008891C 0200202D */ daddu $a0, $s0, $zero +/* 38B710 E0088920 27A50018 */ addiu $a1, $sp, 0x18 +/* 38B714 E0088924 0C080114 */ jal func_E0200450 +/* 38B718 E0088928 00A0302D */ daddu $a2, $a1, $zero +/* 38B71C E008892C 27A40018 */ addiu $a0, $sp, 0x18 +/* 38B720 E0088930 3C108007 */ lui $s0, 0x8007 +/* 38B724 E0088934 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 38B728 E0088938 3C11800A */ lui $s1, 0x800a +/* 38B72C E008893C 2631A674 */ addiu $s1, $s1, -0x598c +/* 38B730 E0088940 96050000 */ lhu $a1, ($s0) +/* 38B734 E0088944 8E220000 */ lw $v0, ($s1) +/* 38B738 E0088948 00052980 */ sll $a1, $a1, 6 +/* 38B73C E008894C 00B22821 */ addu $a1, $a1, $s2 +/* 38B740 E0088950 0C080118 */ jal func_E0200460 +/* 38B744 E0088954 00452821 */ addu $a1, $v0, $a1 +/* 38B748 E0088958 3C04DA38 */ lui $a0, 0xda38 +/* 38B74C E008895C 34840002 */ ori $a0, $a0, 2 +/* 38B750 E0088960 8EA30000 */ lw $v1, ($s5) +/* 38B754 E0088964 96020000 */ lhu $v0, ($s0) +/* 38B758 E0088968 0060282D */ daddu $a1, $v1, $zero +/* 38B75C E008896C 24630008 */ addiu $v1, $v1, 8 +/* 38B760 E0088970 0060B02D */ daddu $s6, $v1, $zero +/* 38B764 E0088974 24430001 */ addiu $v1, $v0, 1 +/* 38B768 E0088978 3042FFFF */ andi $v0, $v0, 0xffff +/* 38B76C E008897C 00021180 */ sll $v0, $v0, 6 +/* 38B770 E0088980 AEB60000 */ sw $s6, ($s5) +/* 38B774 E0088984 ACA40000 */ sw $a0, ($a1) +/* 38B778 E0088988 A6030000 */ sh $v1, ($s0) +/* 38B77C E008898C 8E230000 */ lw $v1, ($s1) +/* 38B780 E0088990 00521021 */ addu $v0, $v0, $s2 +/* 38B784 E0088994 00621821 */ addu $v1, $v1, $v0 +/* 38B788 E0088998 26C20008 */ addiu $v0, $s6, 8 +/* 38B78C E008899C ACA30004 */ sw $v1, 4($a1) +/* 38B790 E00889A0 AEA20000 */ sw $v0, ($s5) +/* 38B794 E00889A4 8FA9009C */ lw $t1, 0x9c($sp) +/* 38B798 E00889A8 1920009B */ blez $t1, .LE0088C18 +/* 38B79C E00889AC 26730034 */ addiu $s3, $s3, 0x34 +/* 38B7A0 E00889B0 3C092AAA */ lui $t1, 0x2aaa +/* 38B7A4 E00889B4 3529AAAB */ ori $t1, $t1, 0xaaab +/* 38B7A8 E00889B8 AFA900A4 */ sw $t1, 0xa4($sp) +/* 38B7AC E00889BC 3C170001 */ lui $s7, 1 +/* 38B7B0 E00889C0 36F71630 */ ori $s7, $s7, 0x1630 +/* 38B7B4 E00889C4 02A0882D */ daddu $s1, $s5, $zero +/* 38B7B8 E00889C8 03C90018 */ mult $fp, $t1 +/* 38B7BC E00889CC 3C15FC11 */ lui $s5, 0xfc11 +/* 38B7C0 E00889D0 36B5B223 */ ori $s5, $s5, 0xb223 +/* 38B7C4 E00889D4 2672000C */ addiu $s2, $s3, 0xc +/* 38B7C8 E00889D8 001E17C3 */ sra $v0, $fp, 0x1f +/* 38B7CC E00889DC 00004810 */ mfhi $t1 +/* 38B7D0 E00889E0 01229823 */ subu $s3, $t1, $v0 +.LE00889E4: +/* 38B7D4 E00889E4 8FA900A4 */ lw $t1, 0xa4($sp) +/* 38B7D8 E00889E8 02890018 */ mult $s4, $t1 +/* 38B7DC E00889EC 001417C3 */ sra $v0, $s4, 0x1f +/* 38B7E0 E00889F0 00004810 */ mfhi $t1 +/* 38B7E4 E00889F4 00091843 */ sra $v1, $t1, 1 +/* 38B7E8 E00889F8 00621823 */ subu $v1, $v1, $v0 +/* 38B7EC E00889FC 00031040 */ sll $v0, $v1, 1 +/* 38B7F0 E0088A00 00431021 */ addu $v0, $v0, $v1 +/* 38B7F4 E0088A04 00021080 */ sll $v0, $v0, 2 +/* 38B7F8 E0088A08 02821023 */ subu $v0, $s4, $v0 +/* 38B7FC E0088A0C 00021840 */ sll $v1, $v0, 1 +/* 38B800 E0088A10 00621821 */ addu $v1, $v1, $v0 +/* 38B804 E0088A14 3C09E009 */ lui $t1, 0xe009 +/* 38B808 E0088A18 25298CDC */ addiu $t1, $t1, -0x7324 +/* 38B80C E0088A1C 8E420024 */ lw $v0, 0x24($s2) +/* 38B810 E0088A20 1C400078 */ bgtz $v0, .LE0088C04 +/* 38B814 E0088A24 00698021 */ addu $s0, $v1, $t1 +/* 38B818 E0088A28 8E45FFF8 */ lw $a1, -8($s2) +/* 38B81C E0088A2C 8E46FFFC */ lw $a2, -4($s2) +/* 38B820 E0088A30 8E470000 */ lw $a3, ($s2) +/* 38B824 E0088A34 0C080108 */ jal func_E0200420 +/* 38B828 E0088A38 27A40018 */ addiu $a0, $sp, 0x18 +/* 38B82C E0088A3C 27A40018 */ addiu $a0, $sp, 0x18 +/* 38B830 E0088A40 3C058007 */ lui $a1, 0x8007 +/* 38B834 E0088A44 94A541F0 */ lhu $a1, 0x41f0($a1) +/* 38B838 E0088A48 3C02800A */ lui $v0, 0x800a +/* 38B83C E0088A4C 8C42A674 */ lw $v0, -0x598c($v0) +/* 38B840 E0088A50 00052980 */ sll $a1, $a1, 6 +/* 38B844 E0088A54 00B72821 */ addu $a1, $a1, $s7 +/* 38B848 E0088A58 0C080118 */ jal func_E0200460 +/* 38B84C E0088A5C 00452821 */ addu $a1, $v0, $a1 +/* 38B850 E0088A60 3C065555 */ lui $a2, 0x5555 +/* 38B854 E0088A64 34C65556 */ ori $a2, $a2, 0x5556 +/* 38B858 E0088A68 8E270000 */ lw $a3, ($s1) +/* 38B85C E0088A6C 3C02FA00 */ lui $v0, 0xfa00 +/* 38B860 E0088A70 00E0282D */ daddu $a1, $a3, $zero +/* 38B864 E0088A74 24E70008 */ addiu $a3, $a3, 8 +/* 38B868 E0088A78 AE270000 */ sw $a3, ($s1) +/* 38B86C E0088A7C ACA20000 */ sw $v0, ($a1) +/* 38B870 E0088A80 92030000 */ lbu $v1, ($s0) +/* 38B874 E0088A84 92040001 */ lbu $a0, 1($s0) +/* 38B878 E0088A88 92020002 */ lbu $v0, 2($s0) +/* 38B87C E0088A8C 8FA90098 */ lw $t1, 0x98($sp) +/* 38B880 E0088A90 00031E00 */ sll $v1, $v1, 0x18 +/* 38B884 E0088A94 00042400 */ sll $a0, $a0, 0x10 +/* 38B888 E0088A98 00641825 */ or $v1, $v1, $a0 +/* 38B88C E0088A9C 00021200 */ sll $v0, $v0, 8 +/* 38B890 E0088AA0 00621825 */ or $v1, $v1, $v0 +/* 38B894 E0088AA4 03D42021 */ addu $a0, $fp, $s4 +/* 38B898 E0088AA8 00860018 */ mult $a0, $a2 +/* 38B89C E0088AAC 312200FF */ andi $v0, $t1, 0xff +/* 38B8A0 E0088AB0 00621825 */ or $v1, $v1, $v0 +/* 38B8A4 E0088AB4 ACA30004 */ sw $v1, 4($a1) +/* 38B8A8 E0088AB8 00041FC3 */ sra $v1, $a0, 0x1f +/* 38B8AC E0088ABC 00004810 */ mfhi $t1 +/* 38B8B0 E0088AC0 01231823 */ subu $v1, $t1, $v1 +/* 38B8B4 E0088AC4 00031040 */ sll $v0, $v1, 1 +/* 38B8B8 E0088AC8 00431021 */ addu $v0, $v0, $v1 +/* 38B8BC E0088ACC 00822023 */ subu $a0, $a0, $v0 +/* 38B8C0 E0088AD0 24020001 */ addiu $v0, $zero, 1 +/* 38B8C4 E0088AD4 1082000D */ beq $a0, $v0, .LE0088B0C +/* 38B8C8 E0088AD8 28820002 */ slti $v0, $a0, 2 +/* 38B8CC E0088ADC 10400005 */ beqz $v0, .LE0088AF4 +/* 38B8D0 E0088AE0 24020002 */ addiu $v0, $zero, 2 +/* 38B8D4 E0088AE4 10800007 */ beqz $a0, .LE0088B04 +/* 38B8D8 E0088AE8 3C06D838 */ lui $a2, 0xd838 +/* 38B8DC E0088AEC 080222CE */ j .LE0088B38 +/* 38B8E0 E0088AF0 34C60002 */ ori $a2, $a2, 2 +.LE0088AF4: +/* 38B8E4 E0088AF4 10820008 */ beq $a0, $v0, .LE0088B18 +/* 38B8E8 E0088AF8 3C06D838 */ lui $a2, 0xd838 +/* 38B8EC E0088AFC 080222CE */ j .LE0088B38 +/* 38B8F0 E0088B00 34C60002 */ ori $a2, $a2, 2 +.LE0088B04: +/* 38B8F4 E0088B04 080222C7 */ j .LE0088B1C +/* 38B8F8 E0088B08 3C03F566 */ lui $v1, 0xf566 +.LE0088B0C: +/* 38B8FC E0088B0C 3C03FF66 */ lui $v1, 0xff66 +/* 38B900 E0088B10 080222C8 */ j .LE0088B20 +/* 38B904 E0088B14 3463FF7F */ ori $v1, $v1, 0xff7f +.LE0088B18: +/* 38B908 E0088B18 3C03FF66 */ lui $v1, 0xff66 +.LE0088B1C: +/* 38B90C E0088B1C 3463FFFF */ ori $v1, $v1, 0xffff +.LE0088B20: +/* 38B910 E0088B20 24E20008 */ addiu $v0, $a3, 8 +/* 38B914 E0088B24 AE220000 */ sw $v0, ($s1) +/* 38B918 E0088B28 ACF50000 */ sw $s5, ($a3) +/* 38B91C E0088B2C ACE30004 */ sw $v1, 4($a3) +/* 38B920 E0088B30 3C06D838 */ lui $a2, 0xd838 +/* 38B924 E0088B34 34C60002 */ ori $a2, $a2, 2 +.LE0088B38: +/* 38B928 E0088B38 00131040 */ sll $v0, $s3, 1 +/* 38B92C E0088B3C 00531021 */ addu $v0, $v0, $s3 +/* 38B930 E0088B40 00021040 */ sll $v0, $v0, 1 +/* 38B934 E0088B44 03C21023 */ subu $v0, $fp, $v0 +/* 38B938 E0088B48 3C09E009 */ lui $t1, 0xe009 +/* 38B93C E0088B4C 25298D00 */ addiu $t1, $t1, -0x7300 +/* 38B940 E0088B50 00491021 */ addu $v0, $v0, $t1 +/* 38B944 E0088B54 90430000 */ lbu $v1, ($v0) +/* 38B948 E0088B58 3C02F200 */ lui $v0, 0xf200 +/* 38B94C E0088B5C 8E240000 */ lw $a0, ($s1) +/* 38B950 E0088B60 2409003C */ addiu $t1, $zero, 0x3c +/* 38B954 E0088B64 0080282D */ daddu $a1, $a0, $zero +/* 38B958 E0088B68 24840008 */ addiu $a0, $a0, 8 +/* 38B95C E0088B6C 02831821 */ addu $v1, $s4, $v1 +/* 38B960 E0088B70 3063000F */ andi $v1, $v1, 0xf +/* 38B964 E0088B74 00031980 */ sll $v1, $v1, 6 +/* 38B968 E0088B78 00621025 */ or $v0, $v1, $v0 +/* 38B96C E0088B7C 34420000 */ ori $v0, $v0, 0 +/* 38B970 E0088B80 AE240000 */ sw $a0, ($s1) +/* 38B974 E0088B84 ACA20000 */ sw $v0, ($a1) +/* 38B978 E0088B88 00091300 */ sll $v0, $t1, 0xc +/* 38B97C E0088B8C 00691825 */ or $v1, $v1, $t1 +/* 38B980 E0088B90 00431025 */ or $v0, $v0, $v1 +/* 38B984 E0088B94 ACA20004 */ sw $v0, 4($a1) +/* 38B988 E0088B98 24820008 */ addiu $v0, $a0, 8 +/* 38B98C E0088B9C 3C058007 */ lui $a1, 0x8007 +/* 38B990 E0088BA0 24A541F0 */ addiu $a1, $a1, 0x41f0 +/* 38B994 E0088BA4 AE220000 */ sw $v0, ($s1) +/* 38B998 E0088BA8 94A20000 */ lhu $v0, ($a1) +/* 38B99C E0088BAC 3C03DA38 */ lui $v1, 0xda38 +/* 38B9A0 E0088BB0 AC830000 */ sw $v1, ($a0) +/* 38B9A4 E0088BB4 24430001 */ addiu $v1, $v0, 1 +/* 38B9A8 E0088BB8 3042FFFF */ andi $v0, $v0, 0xffff +/* 38B9AC E0088BBC 00021180 */ sll $v0, $v0, 6 +/* 38B9B0 E0088BC0 A4A30000 */ sh $v1, ($a1) +/* 38B9B4 E0088BC4 3C03800A */ lui $v1, 0x800a +/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, -0x598c($v1) +/* 38B9BC E0088BCC 00571021 */ addu $v0, $v0, $s7 +/* 38B9C0 E0088BD0 00621821 */ addu $v1, $v1, $v0 +/* 38B9C4 E0088BD4 24820010 */ addiu $v0, $a0, 0x10 +/* 38B9C8 E0088BD8 AC830004 */ sw $v1, 4($a0) +/* 38B9CC E0088BDC AE220000 */ sw $v0, ($s1) +/* 38B9D0 E0088BE0 3C02DE00 */ lui $v0, 0xde00 +/* 38B9D4 E0088BE4 AC820008 */ sw $v0, 8($a0) +/* 38B9D8 E0088BE8 8FA900A0 */ lw $t1, 0xa0($sp) +/* 38B9DC E0088BEC 24820018 */ addiu $v0, $a0, 0x18 +/* 38B9E0 E0088BF0 AC89000C */ sw $t1, 0xc($a0) +/* 38B9E4 E0088BF4 AE220000 */ sw $v0, ($s1) +/* 38B9E8 E0088BF8 24020040 */ addiu $v0, $zero, 0x40 +/* 38B9EC E0088BFC AC860010 */ sw $a2, 0x10($a0) +/* 38B9F0 E0088C00 AC820014 */ sw $v0, 0x14($a0) +.LE0088C04: +/* 38B9F4 E0088C04 26940001 */ addiu $s4, $s4, 1 +/* 38B9F8 E0088C08 8FA9009C */ lw $t1, 0x9c($sp) +/* 38B9FC E0088C0C 0289102A */ slt $v0, $s4, $t1 +/* 38BA00 E0088C10 1440FF74 */ bnez $v0, .LE00889E4 +/* 38BA04 E0088C14 26520034 */ addiu $s2, $s2, 0x34 +.LE0088C18: +/* 38BA08 E0088C18 3C06D838 */ lui $a2, 0xd838 +/* 38BA0C E0088C1C 3C05800A */ lui $a1, 0x800a +/* 38BA10 E0088C20 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 38BA14 E0088C24 34C60002 */ ori $a2, $a2, 2 +/* 38BA18 E0088C28 8CA30000 */ lw $v1, ($a1) +/* 38BA1C E0088C2C 3C02DF00 */ lui $v0, 0xdf00 +/* 38BA20 E0088C30 0060202D */ daddu $a0, $v1, $zero +/* 38BA24 E0088C34 24630008 */ addiu $v1, $v1, 8 +/* 38BA28 E0088C38 AC820000 */ sw $v0, ($a0) +/* 38BA2C E0088C3C 3C02DE01 */ lui $v0, 0xde01 +/* 38BA30 E0088C40 AC800004 */ sw $zero, 4($a0) +/* 38BA34 E0088C44 AEC20000 */ sw $v0, ($s6) +/* 38BA38 E0088C48 AEC30004 */ sw $v1, 4($s6) +/* 38BA3C E0088C4C 26D60008 */ addiu $s6, $s6, 8 +/* 38BA40 E0088C50 24620008 */ addiu $v0, $v1, 8 +/* 38BA44 E0088C54 ACA30000 */ sw $v1, ($a1) +/* 38BA48 E0088C58 ACA20000 */ sw $v0, ($a1) +/* 38BA4C E0088C5C 3C02DE00 */ lui $v0, 0xde00 +/* 38BA50 E0088C60 AC620000 */ sw $v0, ($v1) +/* 38BA54 E0088C64 24620010 */ addiu $v0, $v1, 0x10 +/* 38BA58 E0088C68 AC760004 */ sw $s6, 4($v1) +/* 38BA5C E0088C6C ACA20000 */ sw $v0, ($a1) +/* 38BA60 E0088C70 24020040 */ addiu $v0, $zero, 0x40 +/* 38BA64 E0088C74 AC62000C */ sw $v0, 0xc($v1) +/* 38BA68 E0088C78 24620018 */ addiu $v0, $v1, 0x18 +/* 38BA6C E0088C7C AC660008 */ sw $a2, 8($v1) +/* 38BA70 E0088C80 ACA20000 */ sw $v0, ($a1) +/* 38BA74 E0088C84 3C02E700 */ lui $v0, 0xe700 +/* 38BA78 E0088C88 AC620010 */ sw $v0, 0x10($v1) +/* 38BA7C E0088C8C AC600014 */ sw $zero, 0x14($v1) +/* 38BA80 E0088C90 8FBF00CC */ lw $ra, 0xcc($sp) +/* 38BA84 E0088C94 8FBE00C8 */ lw $fp, 0xc8($sp) +/* 38BA88 E0088C98 8FB700C4 */ lw $s7, 0xc4($sp) +/* 38BA8C E0088C9C 8FB600C0 */ lw $s6, 0xc0($sp) +/* 38BA90 E0088CA0 8FB500BC */ lw $s5, 0xbc($sp) +/* 38BA94 E0088CA4 8FB400B8 */ lw $s4, 0xb8($sp) +/* 38BA98 E0088CA8 8FB300B4 */ lw $s3, 0xb4($sp) +/* 38BA9C E0088CAC 8FB200B0 */ lw $s2, 0xb0($sp) +/* 38BAA0 E0088CB0 8FB100AC */ lw $s1, 0xac($sp) +/* 38BAA4 E0088CB4 8FB000A8 */ lw $s0, 0xa8($sp) +/* 38BAA8 E0088CB8 03E00008 */ jr $ra +/* 38BAAC E0088CBC 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/asm/nonmatchings/code_38EE60/func_E008E000.s b/asm/nonmatchings/code_38EE60/func_E008E000.s new file mode 100644 index 0000000000..391145ad0b --- /dev/null +++ b/asm/nonmatchings/code_38EE60/func_E008E000.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008E000 +/* 38EE60 E008E000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 38EE64 E008E004 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 38EE68 E008E008 4485A000 */ mtc1 $a1, $f20 +/* 38EE6C E008E00C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 38EE70 E008E010 4486B000 */ mtc1 $a2, $f22 +/* 38EE74 E008E014 AFB30034 */ sw $s3, 0x34($sp) +/* 38EE78 E008E018 0080982D */ daddu $s3, $a0, $zero +/* 38EE7C E008E01C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 38EE80 E008E020 4487C000 */ mtc1 $a3, $f24 +/* 38EE84 E008E024 27A40010 */ addiu $a0, $sp, 0x10 +/* 38EE88 E008E028 AFB20030 */ sw $s2, 0x30($sp) +/* 38EE8C E008E02C 8FB2006C */ lw $s2, 0x6c($sp) +/* 38EE90 E008E030 3C02E009 */ lui $v0, 0xe009 +/* 38EE94 E008E034 2442E1FC */ addiu $v0, $v0, -0x1e04 +/* 38EE98 E008E038 AFA20018 */ sw $v0, 0x18($sp) +/* 38EE9C E008E03C 3C02E009 */ lui $v0, 0xe009 +/* 38EEA0 E008E040 2442E204 */ addiu $v0, $v0, -0x1dfc +/* 38EEA4 E008E044 AFA2001C */ sw $v0, 0x1c($sp) +/* 38EEA8 E008E048 3C02E009 */ lui $v0, 0xe009 +/* 38EEAC E008E04C 2442E498 */ addiu $v0, $v0, -0x1b68 +/* 38EEB0 E008E050 AFA20020 */ sw $v0, 0x20($sp) +/* 38EEB4 E008E054 24020047 */ addiu $v0, $zero, 0x47 +/* 38EEB8 E008E058 AFBF0038 */ sw $ra, 0x38($sp) +/* 38EEBC E008E05C AFB1002C */ sw $s1, 0x2c($sp) +/* 38EEC0 E008E060 AFB00028 */ sw $s0, 0x28($sp) +/* 38EEC4 E008E064 AFA00010 */ sw $zero, 0x10($sp) +/* 38EEC8 E008E068 AFA00024 */ sw $zero, 0x24($sp) +/* 38EECC E008E06C 0C080124 */ jal func_E0200490 +/* 38EED0 E008E070 AFA20014 */ sw $v0, 0x14($sp) +/* 38EED4 E008E074 240408B8 */ addiu $a0, $zero, 0x8b8 +/* 38EED8 E008E078 2411001F */ addiu $s1, $zero, 0x1f +/* 38EEDC E008E07C 0040802D */ daddu $s0, $v0, $zero +/* 38EEE0 E008E080 0C08012C */ jal func_E02004B0 +/* 38EEE4 E008E084 AE110008 */ sw $s1, 8($s0) +/* 38EEE8 E008E088 0040282D */ daddu $a1, $v0, $zero +/* 38EEEC E008E08C 14A00003 */ bnez $a1, .LE008E09C +/* 38EEF0 E008E090 AE05000C */ sw $a1, 0xc($s0) +.LE008E094: +/* 38EEF4 E008E094 08023825 */ j .LE008E094 +/* 38EEF8 E008E098 00000000 */ nop +.LE008E09C: +/* 38EEFC E008E09C ACB30004 */ sw $s3, 4($a1) +/* 38EF00 E008E0A0 1E400004 */ bgtz $s2, .LE008E0B4 +/* 38EF04 E008E0A4 ACA0001C */ sw $zero, 0x1c($a1) +/* 38EF08 E008E0A8 24020064 */ addiu $v0, $zero, 0x64 +/* 38EF0C E008E0AC 0802382E */ j .LE008E0B8 +/* 38EF10 E008E0B0 ACA20018 */ sw $v0, 0x18($a1) +.LE008E0B4: +/* 38EF14 E008E0B4 ACB20018 */ sw $s2, 0x18($a1) +.LE008E0B8: +/* 38EF18 E008E0B8 ACA00014 */ sw $zero, 0x14($a1) +/* 38EF1C E008E0BC E4B40008 */ swc1 $f20, 8($a1) +/* 38EF20 E008E0C0 E4B6000C */ swc1 $f22, 0xc($a1) +/* 38EF24 E008E0C4 16600008 */ bnez $s3, .LE008E0E8 +/* 38EF28 E008E0C8 E4B80010 */ swc1 $f24, 0x10($a1) +/* 38EF2C E008E0CC 240200FF */ addiu $v0, $zero, 0xff +/* 38EF30 E008E0D0 ACA20030 */ sw $v0, 0x30($a1) +/* 38EF34 E008E0D4 ACA00034 */ sw $zero, 0x34($a1) +/* 38EF38 E008E0D8 ACA20038 */ sw $v0, 0x38($a1) +/* 38EF3C E008E0DC ACA2003C */ sw $v0, 0x3c($a1) +/* 38EF40 E008E0E0 08023844 */ j .LE008E110 +/* 38EF44 E008E0E4 ACA20040 */ sw $v0, 0x40($a1) +.LE008E0E8: +/* 38EF48 E008E0E8 240200FF */ addiu $v0, $zero, 0xff +/* 38EF4C E008E0EC 24030014 */ addiu $v1, $zero, 0x14 +/* 38EF50 E008E0F0 ACA20030 */ sw $v0, 0x30($a1) +/* 38EF54 E008E0F4 24020021 */ addiu $v0, $zero, 0x21 +/* 38EF58 E008E0F8 ACA20038 */ sw $v0, 0x38($a1) +/* 38EF5C E008E0FC 24020032 */ addiu $v0, $zero, 0x32 +/* 38EF60 E008E100 ACA2003C */ sw $v0, 0x3c($a1) +/* 38EF64 E008E104 2402000A */ addiu $v0, $zero, 0xa +/* 38EF68 E008E108 ACA30034 */ sw $v1, 0x34($a1) +/* 38EF6C E008E10C ACA30040 */ sw $v1, 0x40($a1) +.LE008E110: +/* 38EF70 E008E110 ACA20044 */ sw $v0, 0x44($a1) +/* 38EF74 E008E114 240A0001 */ addiu $t2, $zero, 1 +/* 38EF78 E008E118 0151102A */ slt $v0, $t2, $s1 +/* 38EF7C E008E11C 1040002C */ beqz $v0, .LE008E1D0 +/* 38EF80 E008E120 24A50048 */ addiu $a1, $a1, 0x48 +/* 38EF84 E008E124 2629FFFF */ addiu $t1, $s1, -1 +/* 38EF88 E008E128 44801000 */ mtc1 $zero, $f2 +/* 38EF8C E008E12C 24A6002C */ addiu $a2, $a1, 0x2c +/* 38EF90 E008E130 0000402D */ daddu $t0, $zero, $zero +/* 38EF94 E008E134 0100382D */ daddu $a3, $t0, $zero +.LE008E138: +/* 38EF98 E008E138 15200002 */ bnez $t1, .LE008E144 +/* 38EF9C E008E13C 00E9001A */ div $zero, $a3, $t1 +/* 38EFA0 E008E140 0007000D */ break 7 +.LE008E144: +/* 38EFA4 E008E144 2401FFFF */ addiu $at, $zero, -1 +/* 38EFA8 E008E148 15210004 */ bne $t1, $at, .LE008E15C +/* 38EFAC E008E14C 3C018000 */ lui $at, 0x8000 +/* 38EFB0 E008E150 14E10002 */ bne $a3, $at, .LE008E15C +/* 38EFB4 E008E154 00000000 */ nop +/* 38EFB8 E008E158 0006000D */ break 6 +.LE008E15C: +/* 38EFBC E008E15C 00001812 */ mflo $v1 +/* 38EFC0 E008E160 00000000 */ nop +/* 38EFC4 E008E164 15200002 */ bnez $t1, .LE008E170 +/* 38EFC8 E008E168 0109001A */ div $zero, $t0, $t1 +/* 38EFCC E008E16C 0007000D */ break 7 +.LE008E170: +/* 38EFD0 E008E170 2401FFFF */ addiu $at, $zero, -1 +/* 38EFD4 E008E174 15210004 */ bne $t1, $at, .LE008E188 +/* 38EFD8 E008E178 3C018000 */ lui $at, 0x8000 +/* 38EFDC E008E17C 15010002 */ bne $t0, $at, .LE008E188 +/* 38EFE0 E008E180 00000000 */ nop +/* 38EFE4 E008E184 0006000D */ break 6 +.LE008E188: +/* 38EFE8 E008E188 00002012 */ mflo $a0 +/* 38EFEC E008E18C 25080064 */ addiu $t0, $t0, 0x64 +/* 38EFF0 E008E190 24E70CA8 */ addiu $a3, $a3, 0xca8 +/* 38EFF4 E008E194 254A0001 */ addiu $t2, $t2, 1 +/* 38EFF8 E008E198 0151102A */ slt $v0, $t2, $s1 +/* 38EFFC E008E19C E4C2FFF8 */ swc1 $f2, -8($a2) +/* 38F000 E008E1A0 44830000 */ mtc1 $v1, $f0 +/* 38F004 E008E1A4 00000000 */ nop +/* 38F008 E008E1A8 46800020 */ cvt.s.w $f0, $f0 +/* 38F00C E008E1AC E4C0FFF4 */ swc1 $f0, -0xc($a2) +/* 38F010 E008E1B0 44840000 */ mtc1 $a0, $f0 +/* 38F014 E008E1B4 00000000 */ nop +/* 38F018 E008E1B8 46800020 */ cvt.s.w $f0, $f0 +/* 38F01C E008E1BC E4C00000 */ swc1 $f0, ($a2) +/* 38F020 E008E1C0 24C60048 */ addiu $a2, $a2, 0x48 +/* 38F024 E008E1C4 ACA00000 */ sw $zero, ($a1) +/* 38F028 E008E1C8 1440FFDB */ bnez $v0, .LE008E138 +/* 38F02C E008E1CC 24A50048 */ addiu $a1, $a1, 0x48 +.LE008E1D0: +/* 38F030 E008E1D0 0200102D */ daddu $v0, $s0, $zero +/* 38F034 E008E1D4 8FBF0038 */ lw $ra, 0x38($sp) +/* 38F038 E008E1D8 8FB30034 */ lw $s3, 0x34($sp) +/* 38F03C E008E1DC 8FB20030 */ lw $s2, 0x30($sp) +/* 38F040 E008E1E0 8FB1002C */ lw $s1, 0x2c($sp) +/* 38F044 E008E1E4 8FB00028 */ lw $s0, 0x28($sp) +/* 38F048 E008E1E8 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 38F04C E008E1EC D7B60048 */ ldc1 $f22, 0x48($sp) +/* 38F050 E008E1F0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 38F054 E008E1F4 03E00008 */ jr $ra +/* 38F058 E008E1F8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_38EE60/func_E008E1FC.s b/asm/nonmatchings/code_38EE60/func_E008E1FC.s new file mode 100644 index 0000000000..50d584cefa --- /dev/null +++ b/asm/nonmatchings/code_38EE60/func_E008E1FC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008E1FC +/* 38F05C E008E1FC 03E00008 */ jr $ra +/* 38F060 E008E200 00000000 */ nop diff --git a/asm/nonmatchings/code_38EE60/func_E008E204.s b/asm/nonmatchings/code_38EE60/func_E008E204.s new file mode 100644 index 0000000000..8faadc4cd6 --- /dev/null +++ b/asm/nonmatchings/code_38EE60/func_E008E204.s @@ -0,0 +1,181 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008E204 +/* 38F064 E008E204 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 38F068 E008E208 AFB3001C */ sw $s3, 0x1c($sp) +/* 38F06C E008E20C 0080982D */ daddu $s3, $a0, $zero +/* 38F070 E008E210 AFBF0020 */ sw $ra, 0x20($sp) +/* 38F074 E008E214 AFB20018 */ sw $s2, 0x18($sp) +/* 38F078 E008E218 AFB10014 */ sw $s1, 0x14($sp) +/* 38F07C E008E21C AFB00010 */ sw $s0, 0x10($sp) +/* 38F080 E008E220 F7BE0050 */ sdc1 $f30, 0x50($sp) +/* 38F084 E008E224 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 38F088 E008E228 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 38F08C E008E22C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 38F090 E008E230 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 38F094 E008E234 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 38F098 E008E238 8E64000C */ lw $a0, 0xc($s3) +/* 38F09C E008E23C 8C830018 */ lw $v1, 0x18($a0) +/* 38F0A0 E008E240 28620064 */ slti $v0, $v1, 0x64 +/* 38F0A4 E008E244 10400002 */ beqz $v0, .LE008E250 +/* 38F0A8 E008E248 2462FFFF */ addiu $v0, $v1, -1 +/* 38F0AC E008E24C AC820018 */ sw $v0, 0x18($a0) +.LE008E250: +/* 38F0B0 E008E250 8C82001C */ lw $v0, 0x1c($a0) +/* 38F0B4 E008E254 8C830018 */ lw $v1, 0x18($a0) +/* 38F0B8 E008E258 24420001 */ addiu $v0, $v0, 1 +/* 38F0BC E008E25C 04610005 */ bgez $v1, .LE008E274 +/* 38F0C0 E008E260 AC82001C */ sw $v0, 0x1c($a0) +/* 38F0C4 E008E264 0C080128 */ jal func_E02004A0 +/* 38F0C8 E008E268 0260202D */ daddu $a0, $s3, $zero +/* 38F0CC E008E26C 08023919 */ j .LE008E464 +/* 38F0D0 E008E270 00000000 */ nop +.LE008E274: +/* 38F0D4 E008E274 0040182D */ daddu $v1, $v0, $zero +/* 38F0D8 E008E278 28620015 */ slti $v0, $v1, 0x15 +/* 38F0DC E008E27C 10400004 */ beqz $v0, .LE008E290 +/* 38F0E0 E008E280 00031040 */ sll $v0, $v1, 1 +/* 38F0E4 E008E284 00431021 */ addu $v0, $v0, $v1 +/* 38F0E8 E008E288 080238A5 */ j .LE008E294 +/* 38F0EC E008E28C 00021080 */ sll $v0, $v0, 2 +.LE008E290: +/* 38F0F0 E008E290 240200FF */ addiu $v0, $zero, 0xff +.LE008E294: +/* 38F0F4 E008E294 AC820014 */ sw $v0, 0x14($a0) +/* 38F0F8 E008E298 30620001 */ andi $v0, $v1, 1 +/* 38F0FC E008E29C 1040000A */ beqz $v0, .LE008E2C8 +/* 38F100 E008E2A0 00000000 */ nop +/* 38F104 E008E2A4 3C013FE0 */ lui $at, 0x3fe0 +/* 38F108 E008E2A8 44811800 */ mtc1 $at, $f3 +/* 38F10C E008E2AC 44801000 */ mtc1 $zero, $f2 +/* 38F110 E008E2B0 C4800014 */ lwc1 $f0, 0x14($a0) +/* 38F114 E008E2B4 46800021 */ cvt.d.w $f0, $f0 +/* 38F118 E008E2B8 46220002 */ mul.d $f0, $f0, $f2 +/* 38F11C E008E2BC 00000000 */ nop +/* 38F120 E008E2C0 4620018D */ trunc.w.d $f6, $f0 +/* 38F124 E008E2C4 E4860014 */ swc1 $f6, 0x14($a0) +.LE008E2C8: +/* 38F128 E008E2C8 8C83001C */ lw $v1, 0x1c($a0) +/* 38F12C E008E2CC 8E620008 */ lw $v0, 8($s3) +/* 38F130 E008E2D0 24110001 */ addiu $s1, $zero, 1 +/* 38F134 E008E2D4 0222102A */ slt $v0, $s1, $v0 +/* 38F138 E008E2D8 10400062 */ beqz $v0, .LE008E464 +/* 38F13C E008E2DC 24840048 */ addiu $a0, $a0, 0x48 +/* 38F140 E008E2E0 00719024 */ and $s2, $v1, $s1 +/* 38F144 E008E2E4 24900024 */ addiu $s0, $a0, 0x24 +/* 38F148 E008E2E8 4480E000 */ mtc1 $zero, $f28 +/* 38F14C E008E2EC 3C014000 */ lui $at, 0x4000 +/* 38F150 E008E2F0 4481F000 */ mtc1 $at, $f30 +.LE008E2F4: +/* 38F154 E008E2F4 C614FFFC */ lwc1 $f20, -4($s0) +/* 38F158 E008E2F8 C6180008 */ lwc1 $f24, 8($s0) +/* 38F15C E008E2FC C61A0000 */ lwc1 $f26, ($s0) +/* 38F160 E008E300 0C080140 */ jal func_E0200500 +/* 38F164 E008E304 4600A306 */ mov.s $f12, $f20 +/* 38F168 E008E308 4600A306 */ mov.s $f12, $f20 +/* 38F16C E008E30C 0C080144 */ jal func_E0200510 +/* 38F170 E008E310 46000586 */ mov.s $f22, $f0 +/* 38F174 E008E314 4600D306 */ mov.s $f12, $f26 +/* 38F178 E008E318 0C080140 */ jal func_E0200500 +/* 38F17C E008E31C 46000506 */ mov.s $f20, $f0 +/* 38F180 E008E320 4600D306 */ mov.s $f12, $f26 +/* 38F184 E008E324 0C080144 */ jal func_E0200510 +/* 38F188 E008E328 46000686 */ mov.s $f26, $f0 +/* 38F18C E008E32C 4616C582 */ mul.s $f22, $f24, $f22 +/* 38F190 E008E330 00000000 */ nop +/* 38F194 E008E334 4614C502 */ mul.s $f20, $f24, $f20 +/* 38F198 E008E338 00000000 */ nop +/* 38F19C E008E33C 461AC602 */ mul.s $f24, $f24, $f26 +/* 38F1A0 E008E340 00000000 */ nop +/* 38F1A4 E008E344 4600B582 */ mul.s $f22, $f22, $f0 +/* 38F1A8 E008E348 00000000 */ nop +/* 38F1AC E008E34C 4600A502 */ mul.s $f20, $f20, $f0 +/* 38F1B0 E008E350 00000000 */ nop +/* 38F1B4 E008E354 3C0142C8 */ lui $at, 0x42c8 +/* 38F1B8 E008E358 44813000 */ mtc1 $at, $f6 +/* 38F1BC E008E35C C6000008 */ lwc1 $f0, 8($s0) +/* 38F1C0 E008E360 46003001 */ sub.s $f0, $f6, $f0 +/* 38F1C4 E008E364 3C01437F */ lui $at, 0x437f +/* 38F1C8 E008E368 44811000 */ mtc1 $at, $f2 +/* 38F1CC E008E36C 00000000 */ nop +/* 38F1D0 E008E370 46020002 */ mul.s $f0, $f0, $f2 +/* 38F1D4 E008E374 00000000 */ nop +/* 38F1D8 E008E378 E618FFEC */ swc1 $f24, -0x14($s0) +/* 38F1DC E008E37C 46000000 */ add.s $f0, $f0, $f0 +/* 38F1E0 E008E380 E616FFE4 */ swc1 $f22, -0x1c($s0) +/* 38F1E4 E008E384 E614FFE8 */ swc1 $f20, -0x18($s0) +/* 38F1E8 E008E388 46060003 */ div.s $f0, $f0, $f6 +/* 38F1EC E008E38C 4600018D */ trunc.w.s $f6, $f0 +/* 38F1F0 E008E390 44023000 */ mfc1 $v0, $f6 +/* 38F1F4 E008E394 00000000 */ nop +/* 38F1F8 E008E398 AE02FFF0 */ sw $v0, -0x10($s0) +/* 38F1FC E008E39C 28420100 */ slti $v0, $v0, 0x100 +/* 38F200 E008E3A0 14400004 */ bnez $v0, .LE008E3B4 +/* 38F204 E008E3A4 32220003 */ andi $v0, $s1, 3 +/* 38F208 E008E3A8 240200FF */ addiu $v0, $zero, 0xff +/* 38F20C E008E3AC AE02FFF0 */ sw $v0, -0x10($s0) +/* 38F210 E008E3B0 32220003 */ andi $v0, $s1, 3 +.LE008E3B4: +/* 38F214 E008E3B4 00021040 */ sll $v0, $v0, 1 +/* 38F218 E008E3B8 C6000008 */ lwc1 $f0, 8($s0) +/* 38F21C E008E3BC 3C0142A0 */ lui $at, 0x42a0 +/* 38F220 E008E3C0 44811000 */ mtc1 $at, $f2 +/* 38F224 E008E3C4 24420002 */ addiu $v0, $v0, 2 +/* 38F228 E008E3C8 46020003 */ div.s $f0, $f0, $f2 +/* 38F22C E008E3CC 3C01E009 */ lui $at, 0xe009 +/* 38F230 E008E3D0 D422E8A0 */ ldc1 $f2, -0x1760($at) +/* 38F234 E008E3D4 46000021 */ cvt.d.s $f0, $f0 +/* 38F238 E008E3D8 46220000 */ add.d $f0, $f0, $f2 +/* 38F23C E008E3DC C6040008 */ lwc1 $f4, 8($s0) +/* 38F240 E008E3E0 44821000 */ mtc1 $v0, $f2 +/* 38F244 E008E3E4 00000000 */ nop +/* 38F248 E008E3E8 468010A0 */ cvt.s.w $f2, $f2 +/* 38F24C E008E3EC 46022101 */ sub.s $f4, $f4, $f2 +/* 38F250 E008E3F0 46200020 */ cvt.s.d $f0, $f0 +/* 38F254 E008E3F4 461C203C */ c.lt.s $f4, $f28 +/* 38F258 E008E3F8 E6000004 */ swc1 $f0, 4($s0) +/* 38F25C E008E3FC 45000003 */ bc1f .LE008E40C +/* 38F260 E008E400 E6040008 */ swc1 $f4, 8($s0) +/* 38F264 E008E404 E61C0008 */ swc1 $f28, 8($s0) +/* 38F268 E008E408 E61C0004 */ swc1 $f28, 4($s0) +.LE008E40C: +/* 38F26C E008E40C C600FFFC */ lwc1 $f0, -4($s0) +/* 38F270 E008E410 52400005 */ beql $s2, $zero, .LE008E428 +/* 38F274 E008E414 461E0000 */ add.s $f0, $f0, $f30 +/* 38F278 E008E418 3C0140A0 */ lui $at, 0x40a0 +/* 38F27C E008E41C 44813000 */ mtc1 $at, $f6 +/* 38F280 E008E420 00000000 */ nop +/* 38F284 E008E424 46060000 */ add.s $f0, $f0, $f6 +.LE008E428: +/* 38F288 E008E428 E600FFFC */ swc1 $f0, -4($s0) +/* 38F28C E008E42C 12400003 */ beqz $s2, .LE008E43C +/* 38F290 E008E430 C6000000 */ lwc1 $f0, ($s0) +/* 38F294 E008E434 08023913 */ j .LE008E44C +/* 38F298 E008E438 461E0000 */ add.s $f0, $f0, $f30 +.LE008E43C: +/* 38F29C E008E43C 3C0140A0 */ lui $at, 0x40a0 +/* 38F2A0 E008E440 44813000 */ mtc1 $at, $f6 +/* 38F2A4 E008E444 00000000 */ nop +/* 38F2A8 E008E448 46060000 */ add.s $f0, $f0, $f6 +.LE008E44C: +/* 38F2AC E008E44C E6000000 */ swc1 $f0, ($s0) +/* 38F2B0 E008E450 26310001 */ addiu $s1, $s1, 1 +/* 38F2B4 E008E454 8E620008 */ lw $v0, 8($s3) +/* 38F2B8 E008E458 0222102A */ slt $v0, $s1, $v0 +/* 38F2BC E008E45C 1440FFA5 */ bnez $v0, .LE008E2F4 +/* 38F2C0 E008E460 26100048 */ addiu $s0, $s0, 0x48 +.LE008E464: +/* 38F2C4 E008E464 8FBF0020 */ lw $ra, 0x20($sp) +/* 38F2C8 E008E468 8FB3001C */ lw $s3, 0x1c($sp) +/* 38F2CC E008E46C 8FB20018 */ lw $s2, 0x18($sp) +/* 38F2D0 E008E470 8FB10014 */ lw $s1, 0x14($sp) +/* 38F2D4 E008E474 8FB00010 */ lw $s0, 0x10($sp) +/* 38F2D8 E008E478 D7BE0050 */ ldc1 $f30, 0x50($sp) +/* 38F2DC E008E47C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 38F2E0 E008E480 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 38F2E4 E008E484 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 38F2E8 E008E488 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 38F2EC E008E48C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 38F2F0 E008E490 03E00008 */ jr $ra +/* 38F2F4 E008E494 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_38EE60/func_E008E498.s b/asm/nonmatchings/code_38EE60/func_E008E498.s new file mode 100644 index 0000000000..693c18204c --- /dev/null +++ b/asm/nonmatchings/code_38EE60/func_E008E498.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008E498 +/* 38F2F8 E008E498 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 38F2FC E008E49C 3C02E009 */ lui $v0, 0xe009 +/* 38F300 E008E4A0 2442E4E0 */ addiu $v0, $v0, -0x1b20 +/* 38F304 E008E4A4 AFA2001C */ sw $v0, 0x1c($sp) +/* 38F308 E008E4A8 2402000A */ addiu $v0, $zero, 0xa +/* 38F30C E008E4AC AFA20014 */ sw $v0, 0x14($sp) +/* 38F310 E008E4B0 24020022 */ addiu $v0, $zero, 0x22 +/* 38F314 E008E4B4 AFA40018 */ sw $a0, 0x18($sp) +/* 38F318 E008E4B8 27A40010 */ addiu $a0, $sp, 0x10 +/* 38F31C E008E4BC AFBF0020 */ sw $ra, 0x20($sp) +/* 38F320 E008E4C0 0C080120 */ jal func_E0200480 +/* 38F324 E008E4C4 AFA20010 */ sw $v0, 0x10($sp) +/* 38F328 E008E4C8 8C430000 */ lw $v1, ($v0) +/* 38F32C E008E4CC 34630002 */ ori $v1, $v1, 2 +/* 38F330 E008E4D0 AC430000 */ sw $v1, ($v0) +/* 38F334 E008E4D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 38F338 E008E4D8 03E00008 */ jr $ra +/* 38F33C E008E4DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_38EE60/func_E008E4E0.s b/asm/nonmatchings/code_38EE60/func_E008E4E0.s new file mode 100644 index 0000000000..09ddc7e8cd --- /dev/null +++ b/asm/nonmatchings/code_38EE60/func_E008E4E0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008E4E0 +/* 38F340 E008E4E0 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 38F344 E008E4E4 3C05DB06 */ lui $a1, 0xdb06 +/* 38F348 E008E4E8 34A50024 */ ori $a1, $a1, 0x24 +/* 38F34C E008E4EC AFA40108 */ sw $a0, 0x108($sp) +/* 38F350 E008E4F0 27A40018 */ addiu $a0, $sp, 0x18 +/* 38F354 E008E4F4 AFB100DC */ sw $s1, 0xdc($sp) +/* 38F358 E008E4F8 3C110001 */ lui $s1, 1 +/* 38F35C E008E4FC 36311630 */ ori $s1, $s1, 0x1630 +/* 38F360 E008E500 AFB400E8 */ sw $s4, 0xe8($sp) +/* 38F364 E008E504 3C14800A */ lui $s4, 0x800a +/* 38F368 E008E508 2694A66C */ addiu $s4, $s4, -0x5994 +/* 38F36C E008E50C 8FA90108 */ lw $t1, 0x108($sp) +/* 38F370 E008E510 3C02E700 */ lui $v0, 0xe700 +/* 38F374 E008E514 AFBF00FC */ sw $ra, 0xfc($sp) +/* 38F378 E008E518 AFBE00F8 */ sw $fp, 0xf8($sp) +/* 38F37C E008E51C AFB700F4 */ sw $s7, 0xf4($sp) +/* 38F380 E008E520 AFB600F0 */ sw $s6, 0xf0($sp) +/* 38F384 E008E524 AFB500EC */ sw $s5, 0xec($sp) +/* 38F388 E008E528 AFB300E4 */ sw $s3, 0xe4($sp) +/* 38F38C E008E52C AFB200E0 */ sw $s2, 0xe0($sp) +/* 38F390 E008E530 AFB000D8 */ sw $s0, 0xd8($sp) +/* 38F394 E008E534 F7B40100 */ sdc1 $f20, 0x100($sp) +/* 38F398 E008E538 8E880000 */ lw $t0, ($s4) +/* 38F39C E008E53C 8D32000C */ lw $s2, 0xc($t1) +/* 38F3A0 E008E540 0100182D */ daddu $v1, $t0, $zero +/* 38F3A4 E008E544 8E550030 */ lw $s5, 0x30($s2) +/* 38F3A8 E008E548 8E570034 */ lw $s7, 0x34($s2) +/* 38F3AC E008E54C 8E5E0038 */ lw $fp, 0x38($s2) +/* 38F3B0 E008E550 25080008 */ addiu $t0, $t0, 8 +/* 38F3B4 E008E554 AC620000 */ sw $v0, ($v1) +/* 38F3B8 E008E558 AC600004 */ sw $zero, 4($v1) +/* 38F3BC E008E55C AD050000 */ sw $a1, ($t0) +/* 38F3C0 E008E560 8D220010 */ lw $v0, 0x10($t1) +/* 38F3C4 E008E564 24130001 */ addiu $s3, $zero, 1 +/* 38F3C8 E008E568 AE880000 */ sw $t0, ($s4) +/* 38F3CC E008E56C 8C42001C */ lw $v0, 0x1c($v0) +/* 38F3D0 E008E570 3C038000 */ lui $v1, 0x8000 +/* 38F3D4 E008E574 00431021 */ addu $v0, $v0, $v1 +/* 38F3D8 E008E578 AD020004 */ sw $v0, 4($t0) +/* 38F3DC E008E57C 8E450008 */ lw $a1, 8($s2) +/* 38F3E0 E008E580 8E46000C */ lw $a2, 0xc($s2) +/* 38F3E4 E008E584 8E470010 */ lw $a3, 0x10($s2) +/* 38F3E8 E008E588 25080008 */ addiu $t0, $t0, 8 +/* 38F3EC E008E58C 0C080108 */ jal func_E0200420 +/* 38F3F0 E008E590 AE880000 */ sw $t0, ($s4) +/* 38F3F4 E008E594 27B00098 */ addiu $s0, $sp, 0x98 +/* 38F3F8 E008E598 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38F3FC E008E59C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38F400 E008E5A0 44800000 */ mtc1 $zero, $f0 +/* 38F404 E008E5A4 00031080 */ sll $v0, $v1, 2 +/* 38F408 E008E5A8 00431021 */ addu $v0, $v0, $v1 +/* 38F40C E008E5AC 00021080 */ sll $v0, $v0, 2 +/* 38F410 E008E5B0 00431023 */ subu $v0, $v0, $v1 +/* 38F414 E008E5B4 000218C0 */ sll $v1, $v0, 3 +/* 38F418 E008E5B8 00431021 */ addu $v0, $v0, $v1 +/* 38F41C E008E5BC 000210C0 */ sll $v0, $v0, 3 +/* 38F420 E008E5C0 44060000 */ mfc1 $a2, $f0 +/* 38F424 E008E5C4 3C01800B */ lui $at, 0x800b +/* 38F428 E008E5C8 00220821 */ addu $at, $at, $v0 +/* 38F42C E008E5CC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 38F430 E008E5D0 3C073F80 */ lui $a3, 0x3f80 +/* 38F434 E008E5D4 46000007 */ neg.s $f0, $f0 +/* 38F438 E008E5D8 44050000 */ mfc1 $a1, $f0 +/* 38F43C E008E5DC 0200202D */ daddu $a0, $s0, $zero +/* 38F440 E008E5E0 0C080104 */ jal func_E0200410 +/* 38F444 E008E5E4 AFA60010 */ sw $a2, 0x10($sp) +/* 38F448 E008E5E8 0200202D */ daddu $a0, $s0, $zero +/* 38F44C E008E5EC 27A50018 */ addiu $a1, $sp, 0x18 +/* 38F450 E008E5F0 0C080114 */ jal func_E0200450 +/* 38F454 E008E5F4 00A0302D */ daddu $a2, $a1, $zero +/* 38F458 E008E5F8 27A40018 */ addiu $a0, $sp, 0x18 +/* 38F45C E008E5FC 3C108007 */ lui $s0, 0x8007 +/* 38F460 E008E600 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 38F464 E008E604 3C16800A */ lui $s6, 0x800a +/* 38F468 E008E608 26D6A674 */ addiu $s6, $s6, -0x598c +/* 38F46C E008E60C 96050000 */ lhu $a1, ($s0) +/* 38F470 E008E610 8EC20000 */ lw $v0, ($s6) +/* 38F474 E008E614 00052980 */ sll $a1, $a1, 6 +/* 38F478 E008E618 00B12821 */ addu $a1, $a1, $s1 +/* 38F47C E008E61C 0C080118 */ jal func_E0200460 +/* 38F480 E008E620 00452821 */ addu $a1, $v0, $a1 +/* 38F484 E008E624 3C03DA38 */ lui $v1, 0xda38 +/* 38F488 E008E628 34630002 */ ori $v1, $v1, 2 +/* 38F48C E008E62C 8E850000 */ lw $a1, ($s4) +/* 38F490 E008E630 96020000 */ lhu $v0, ($s0) +/* 38F494 E008E634 00A0202D */ daddu $a0, $a1, $zero +/* 38F498 E008E638 24A50008 */ addiu $a1, $a1, 8 +/* 38F49C E008E63C AE850000 */ sw $a1, ($s4) +/* 38F4A0 E008E640 AC830000 */ sw $v1, ($a0) +/* 38F4A4 E008E644 00531821 */ addu $v1, $v0, $s3 +/* 38F4A8 E008E648 3042FFFF */ andi $v0, $v0, 0xffff +/* 38F4AC E008E64C 00021180 */ sll $v0, $v0, 6 +/* 38F4B0 E008E650 A6030000 */ sh $v1, ($s0) +/* 38F4B4 E008E654 8EC30000 */ lw $v1, ($s6) +/* 38F4B8 E008E658 00511021 */ addu $v0, $v0, $s1 +/* 38F4BC E008E65C 00621821 */ addu $v1, $v1, $v0 +/* 38F4C0 E008E660 24A20008 */ addiu $v0, $a1, 8 +/* 38F4C4 E008E664 AC830004 */ sw $v1, 4($a0) +/* 38F4C8 E008E668 AE820000 */ sw $v0, ($s4) +/* 38F4CC E008E66C 3C02DE00 */ lui $v0, 0xde00 +/* 38F4D0 E008E670 ACA20000 */ sw $v0, ($a1) +/* 38F4D4 E008E674 3C020900 */ lui $v0, 0x900 +/* 38F4D8 E008E678 24420080 */ addiu $v0, $v0, 0x80 +/* 38F4DC E008E67C ACA20004 */ sw $v0, 4($a1) +/* 38F4E0 E008E680 24A20010 */ addiu $v0, $a1, 0x10 +/* 38F4E4 E008E684 AE820000 */ sw $v0, ($s4) +/* 38F4E8 E008E688 3C02FB00 */ lui $v0, 0xfb00 +/* 38F4EC E008E68C ACA20008 */ sw $v0, 8($a1) +/* 38F4F0 E008E690 9242003F */ lbu $v0, 0x3f($s2) +/* 38F4F4 E008E694 92440043 */ lbu $a0, 0x43($s2) +/* 38F4F8 E008E698 92430047 */ lbu $v1, 0x47($s2) +/* 38F4FC E008E69C 00021600 */ sll $v0, $v0, 0x18 +/* 38F500 E008E6A0 00042400 */ sll $a0, $a0, 0x10 +/* 38F504 E008E6A4 00441025 */ or $v0, $v0, $a0 +/* 38F508 E008E6A8 00031A00 */ sll $v1, $v1, 8 +/* 38F50C E008E6AC 00431025 */ or $v0, $v0, $v1 +/* 38F510 E008E6B0 ACA2000C */ sw $v0, 0xc($a1) +/* 38F514 E008E6B4 8FA90108 */ lw $t1, 0x108($sp) +/* 38F518 E008E6B8 8D220008 */ lw $v0, 8($t1) +/* 38F51C E008E6BC 0262102A */ slt $v0, $s3, $v0 +/* 38F520 E008E6C0 1040005A */ beqz $v0, .LE008E82C +/* 38F524 E008E6C4 26520048 */ addiu $s2, $s2, 0x48 +/* 38F528 E008E6C8 0280882D */ daddu $s1, $s4, $zero +/* 38F52C E008E6CC 00151600 */ sll $v0, $s5, 0x18 +/* 38F530 E008E6D0 32E300FF */ andi $v1, $s7, 0xff +/* 38F534 E008E6D4 00031C00 */ sll $v1, $v1, 0x10 +/* 38F538 E008E6D8 00431025 */ or $v0, $v0, $v1 +/* 38F53C E008E6DC 33C300FF */ andi $v1, $fp, 0xff +/* 38F540 E008E6E0 00031A00 */ sll $v1, $v1, 8 +/* 38F544 E008E6E4 0043F025 */ or $fp, $v0, $v1 +/* 38F548 E008E6E8 27B50058 */ addiu $s5, $sp, 0x58 +/* 38F54C E008E6EC 02C0B82D */ daddu $s7, $s6, $zero +/* 38F550 E008E6F0 0200B02D */ daddu $s6, $s0, $zero +/* 38F554 E008E6F4 3C140001 */ lui $s4, 1 +/* 38F558 E008E6F8 36941630 */ ori $s4, $s4, 0x1630 +/* 38F55C E008E6FC 26500010 */ addiu $s0, $s2, 0x10 +.LE008E700: +/* 38F560 E008E700 C6140018 */ lwc1 $f20, 0x18($s0) +/* 38F564 E008E704 44800000 */ mtc1 $zero, $f0 +/* 38F568 E008E708 00000000 */ nop +/* 38F56C E008E70C 4600A032 */ c.eq.s $f20, $f0 +/* 38F570 E008E710 00000000 */ nop +/* 38F574 E008E714 4501003F */ bc1t .LE008E814 +/* 38F578 E008E718 00000000 */ nop +/* 38F57C E008E71C 8E220000 */ lw $v0, ($s1) +/* 38F580 E008E720 0040182D */ daddu $v1, $v0, $zero +/* 38F584 E008E724 24420008 */ addiu $v0, $v0, 8 +/* 38F588 E008E728 AE220000 */ sw $v0, ($s1) +/* 38F58C E008E72C 3C02FA00 */ lui $v0, 0xfa00 +/* 38F590 E008E730 AC620000 */ sw $v0, ($v1) +/* 38F594 E008E734 92020007 */ lbu $v0, 7($s0) +/* 38F598 E008E738 03C21025 */ or $v0, $fp, $v0 +/* 38F59C E008E73C AC620004 */ sw $v0, 4($v1) +/* 38F5A0 E008E740 8E05FFF8 */ lw $a1, -8($s0) +/* 38F5A4 E008E744 8E06FFFC */ lw $a2, -4($s0) +/* 38F5A8 E008E748 8E070000 */ lw $a3, ($s0) +/* 38F5AC E008E74C 0C080108 */ jal func_E0200420 +/* 38F5B0 E008E750 27A40018 */ addiu $a0, $sp, 0x18 +/* 38F5B4 E008E754 4405A000 */ mfc1 $a1, $f20 +/* 38F5B8 E008E758 02A0202D */ daddu $a0, $s5, $zero +/* 38F5BC E008E75C 00A0302D */ daddu $a2, $a1, $zero +/* 38F5C0 E008E760 0C080110 */ jal func_E0200440 +/* 38F5C4 E008E764 00A0382D */ daddu $a3, $a1, $zero +/* 38F5C8 E008E768 02A0202D */ daddu $a0, $s5, $zero +/* 38F5CC E008E76C 27A50018 */ addiu $a1, $sp, 0x18 +/* 38F5D0 E008E770 0C080114 */ jal func_E0200450 +/* 38F5D4 E008E774 00A0302D */ daddu $a2, $a1, $zero +/* 38F5D8 E008E778 27A40018 */ addiu $a0, $sp, 0x18 +/* 38F5DC E008E77C 96C50000 */ lhu $a1, ($s6) +/* 38F5E0 E008E780 8EE20000 */ lw $v0, ($s7) +/* 38F5E4 E008E784 00052980 */ sll $a1, $a1, 6 +/* 38F5E8 E008E788 00B42821 */ addu $a1, $a1, $s4 +/* 38F5EC E008E78C 0C080118 */ jal func_E0200460 +/* 38F5F0 E008E790 00452821 */ addu $a1, $v0, $a1 +/* 38F5F4 E008E794 3C06D838 */ lui $a2, 0xd838 +/* 38F5F8 E008E798 8E240000 */ lw $a0, ($s1) +/* 38F5FC E008E79C 34C60002 */ ori $a2, $a2, 2 +/* 38F600 E008E7A0 0080282D */ daddu $a1, $a0, $zero +/* 38F604 E008E7A4 24840008 */ addiu $a0, $a0, 8 +/* 38F608 E008E7A8 AE240000 */ sw $a0, ($s1) +/* 38F60C E008E7AC 96C20000 */ lhu $v0, ($s6) +/* 38F610 E008E7B0 3C03DA38 */ lui $v1, 0xda38 +/* 38F614 E008E7B4 ACA30000 */ sw $v1, ($a1) +/* 38F618 E008E7B8 24430001 */ addiu $v1, $v0, 1 +/* 38F61C E008E7BC 3042FFFF */ andi $v0, $v0, 0xffff +/* 38F620 E008E7C0 00021180 */ sll $v0, $v0, 6 +/* 38F624 E008E7C4 A6C30000 */ sh $v1, ($s6) +/* 38F628 E008E7C8 8EE30000 */ lw $v1, ($s7) +/* 38F62C E008E7CC 00541021 */ addu $v0, $v0, $s4 +/* 38F630 E008E7D0 00621821 */ addu $v1, $v1, $v0 +/* 38F634 E008E7D4 24820008 */ addiu $v0, $a0, 8 +/* 38F638 E008E7D8 ACA30004 */ sw $v1, 4($a1) +/* 38F63C E008E7DC AE220000 */ sw $v0, ($s1) +/* 38F640 E008E7E0 3C02DE00 */ lui $v0, 0xde00 +/* 38F644 E008E7E4 AC820000 */ sw $v0, ($a0) +/* 38F648 E008E7E8 32620001 */ andi $v0, $s3, 1 +/* 38F64C E008E7EC 00021080 */ sll $v0, $v0, 2 +/* 38F650 E008E7F0 3C03E009 */ lui $v1, 0xe009 +/* 38F654 E008E7F4 00621821 */ addu $v1, $v1, $v0 +/* 38F658 E008E7F8 8C63E890 */ lw $v1, -0x1770($v1) +/* 38F65C E008E7FC 24820010 */ addiu $v0, $a0, 0x10 +/* 38F660 E008E800 AE220000 */ sw $v0, ($s1) +/* 38F664 E008E804 24020040 */ addiu $v0, $zero, 0x40 +/* 38F668 E008E808 AC860008 */ sw $a2, 8($a0) +/* 38F66C E008E80C AC82000C */ sw $v0, 0xc($a0) +/* 38F670 E008E810 AC830004 */ sw $v1, 4($a0) +.LE008E814: +/* 38F674 E008E814 8FA90108 */ lw $t1, 0x108($sp) +/* 38F678 E008E818 26730001 */ addiu $s3, $s3, 1 +/* 38F67C E008E81C 8D220008 */ lw $v0, 8($t1) +/* 38F680 E008E820 0262102A */ slt $v0, $s3, $v0 +/* 38F684 E008E824 1440FFB6 */ bnez $v0, .LE008E700 +/* 38F688 E008E828 26100048 */ addiu $s0, $s0, 0x48 +.LE008E82C: +/* 38F68C E008E82C 3C05D838 */ lui $a1, 0xd838 +/* 38F690 E008E830 3C03800A */ lui $v1, 0x800a +/* 38F694 E008E834 2463A66C */ addiu $v1, $v1, -0x5994 +/* 38F698 E008E838 8C620000 */ lw $v0, ($v1) +/* 38F69C E008E83C 34A50002 */ ori $a1, $a1, 2 +/* 38F6A0 E008E840 0040202D */ daddu $a0, $v0, $zero +/* 38F6A4 E008E844 24420008 */ addiu $v0, $v0, 8 +/* 38F6A8 E008E848 AC620000 */ sw $v0, ($v1) +/* 38F6AC E008E84C 24020040 */ addiu $v0, $zero, 0x40 +/* 38F6B0 E008E850 AC850000 */ sw $a1, ($a0) +/* 38F6B4 E008E854 AC820004 */ sw $v0, 4($a0) +/* 38F6B8 E008E858 8FBF00FC */ lw $ra, 0xfc($sp) +/* 38F6BC E008E85C 8FBE00F8 */ lw $fp, 0xf8($sp) +/* 38F6C0 E008E860 8FB700F4 */ lw $s7, 0xf4($sp) +/* 38F6C4 E008E864 8FB600F0 */ lw $s6, 0xf0($sp) +/* 38F6C8 E008E868 8FB500EC */ lw $s5, 0xec($sp) +/* 38F6CC E008E86C 8FB400E8 */ lw $s4, 0xe8($sp) +/* 38F6D0 E008E870 8FB300E4 */ lw $s3, 0xe4($sp) +/* 38F6D4 E008E874 8FB200E0 */ lw $s2, 0xe0($sp) +/* 38F6D8 E008E878 8FB100DC */ lw $s1, 0xdc($sp) +/* 38F6DC E008E87C 8FB000D8 */ lw $s0, 0xd8($sp) +/* 38F6E0 E008E880 D7B40100 */ ldc1 $f20, 0x100($sp) +/* 38F6E4 E008E884 03E00008 */ jr $ra +/* 38F6E8 E008E888 27BD0108 */ addiu $sp, $sp, 0x108 +/* 38F6EC E008E88C 00000000 */ nop diff --git a/asm/nonmatchings/code_38F900/func_E0090000.s b/asm/nonmatchings/code_38F900/func_E0090000.s new file mode 100644 index 0000000000..54b65307fe --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E0090000.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0090000 +/* 38F900 E0090000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 38F904 E0090004 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 38F908 E0090008 4485C000 */ mtc1 $a1, $f24 +/* 38F90C E009000C F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 38F910 E0090010 4486D000 */ mtc1 $a2, $f26 +/* 38F914 E0090014 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 38F918 E0090018 4487E000 */ mtc1 $a3, $f28 +/* 38F91C E009001C AFB20030 */ sw $s2, 0x30($sp) +/* 38F920 E0090020 0080902D */ daddu $s2, $a0, $zero +/* 38F924 E0090024 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 38F928 E0090028 C7B60078 */ lwc1 $f22, 0x78($sp) +/* 38F92C E009002C 27A40010 */ addiu $a0, $sp, 0x10 +/* 38F930 E0090030 AFB30034 */ sw $s3, 0x34($sp) +/* 38F934 E0090034 8FB3007C */ lw $s3, 0x7c($sp) +/* 38F938 E0090038 3C02E009 */ lui $v0, 0xe009 +/* 38F93C E009003C 244201C0 */ addiu $v0, $v0, 0x1c0 +/* 38F940 E0090040 AFA20018 */ sw $v0, 0x18($sp) +/* 38F944 E0090044 3C02E009 */ lui $v0, 0xe009 +/* 38F948 E0090048 244201C8 */ addiu $v0, $v0, 0x1c8 +/* 38F94C E009004C AFA2001C */ sw $v0, 0x1c($sp) +/* 38F950 E0090050 3C02E009 */ lui $v0, 0xe009 +/* 38F954 E0090054 24420420 */ addiu $v0, $v0, 0x420 +/* 38F958 E0090058 AFA20020 */ sw $v0, 0x20($sp) +/* 38F95C E009005C 3C02E009 */ lui $v0, 0xe009 +/* 38F960 E0090060 24420428 */ addiu $v0, $v0, 0x428 +/* 38F964 E0090064 AFA20024 */ sw $v0, 0x24($sp) +/* 38F968 E0090068 24020048 */ addiu $v0, $zero, 0x48 +/* 38F96C E009006C AFBF0038 */ sw $ra, 0x38($sp) +/* 38F970 E0090070 AFB1002C */ sw $s1, 0x2c($sp) +/* 38F974 E0090074 AFB00028 */ sw $s0, 0x28($sp) +/* 38F978 E0090078 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 38F97C E009007C AFA00010 */ sw $zero, 0x10($sp) +/* 38F980 E0090080 0C080124 */ jal func_E0200490 +/* 38F984 E0090084 AFA20014 */ sw $v0, 0x14($sp) +/* 38F988 E0090088 24040038 */ addiu $a0, $zero, 0x38 +/* 38F98C E009008C 24030001 */ addiu $v1, $zero, 1 +/* 38F990 E0090090 0040882D */ daddu $s1, $v0, $zero +/* 38F994 E0090094 0C08012C */ jal func_E02004B0 +/* 38F998 E0090098 AE230008 */ sw $v1, 8($s1) +/* 38F99C E009009C 0040802D */ daddu $s0, $v0, $zero +/* 38F9A0 E00900A0 16000003 */ bnez $s0, .LE00900B0 +/* 38F9A4 E00900A4 AE22000C */ sw $v0, 0xc($s1) +.LE00900A8: +/* 38F9A8 E00900A8 0802402A */ j .LE00900A8 +/* 38F9AC E00900AC 00000000 */ nop +.LE00900B0: +/* 38F9B0 E00900B0 3C036666 */ lui $v1, 0x6666 +/* 38F9B4 E00900B4 34636667 */ ori $v1, $v1, 0x6667 +/* 38F9B8 E00900B8 24020001 */ addiu $v0, $zero, 1 +/* 38F9BC E00900BC 02430018 */ mult $s2, $v1 +/* 38F9C0 E00900C0 AE020024 */ sw $v0, 0x24($s0) +/* 38F9C4 E00900C4 AE000020 */ sw $zero, 0x20($s0) +/* 38F9C8 E00900C8 AE120000 */ sw $s2, ($s0) +/* 38F9CC E00900CC AE00001C */ sw $zero, 0x1c($s0) +/* 38F9D0 E00900D0 00004010 */ mfhi $t0 +/* 38F9D4 E00900D4 00481807 */ srav $v1, $t0, $v0 +/* 38F9D8 E00900D8 001217C3 */ sra $v0, $s2, 0x1f +/* 38F9DC E00900DC 00621823 */ subu $v1, $v1, $v0 +/* 38F9E0 E00900E0 00031080 */ sll $v0, $v1, 2 +/* 38F9E4 E00900E4 00431021 */ addu $v0, $v0, $v1 +/* 38F9E8 E00900E8 02421023 */ subu $v0, $s2, $v0 +/* 38F9EC E00900EC 1E600004 */ bgtz $s3, .LE0090100 +/* 38F9F0 E00900F0 AE020004 */ sw $v0, 4($s0) +/* 38F9F4 E00900F4 24020064 */ addiu $v0, $zero, 0x64 +/* 38F9F8 E00900F8 08024041 */ j .LE0090104 +/* 38F9FC E00900FC AE020018 */ sw $v0, 0x18($s0) +.LE0090100: +/* 38FA00 E0090100 AE130018 */ sw $s3, 0x18($s0) +.LE0090104: +/* 38FA04 E0090104 240200FF */ addiu $v0, $zero, 0xff +/* 38FA08 E0090108 AE020014 */ sw $v0, 0x14($s0) +/* 38FA0C E009010C 2A420005 */ slti $v0, $s2, 5 +/* 38FA10 E0090110 50400014 */ beql $v0, $zero, .LE0090164 +/* 38FA14 E0090114 AE000010 */ sw $zero, 0x10($s0) +/* 38FA18 E0090118 3C0141F0 */ lui $at, 0x41f0 +/* 38FA1C E009011C 4481A000 */ mtc1 $at, $f20 +/* 38FA20 E0090120 E6180008 */ swc1 $f24, 8($s0) +/* 38FA24 E0090124 E61A000C */ swc1 $f26, 0xc($s0) +/* 38FA28 E0090128 E61C0010 */ swc1 $f28, 0x10($s0) +/* 38FA2C E009012C 0C080140 */ jal func_E0200500 +/* 38FA30 E0090130 4600A306 */ mov.s $f12, $f20 +/* 38FA34 E0090134 46000007 */ neg.s $f0, $f0 +/* 38FA38 E0090138 46160002 */ mul.s $f0, $f0, $f22 +/* 38FA3C E009013C 00000000 */ nop +/* 38FA40 E0090140 46000000 */ add.s $f0, $f0, $f0 +/* 38FA44 E0090144 4600A306 */ mov.s $f12, $f20 +/* 38FA48 E0090148 0C080144 */ jal func_E0200510 +/* 38FA4C E009014C E6000030 */ swc1 $f0, 0x30($s0) +/* 38FA50 E0090150 46160002 */ mul.s $f0, $f0, $f22 +/* 38FA54 E0090154 00000000 */ nop +/* 38FA58 E0090158 46000000 */ add.s $f0, $f0, $f0 +/* 38FA5C E009015C 08024063 */ j .LE009018C +/* 38FA60 E0090160 E6000034 */ swc1 $f0, 0x34($s0) +.LE0090164: +/* 38FA64 E0090164 3C01C2C8 */ lui $at, 0xc2c8 +/* 38FA68 E0090168 44810000 */ mtc1 $at, $f0 +/* 38FA6C E009016C 3C014220 */ lui $at, 0x4220 +/* 38FA70 E0090170 44811000 */ mtc1 $at, $f2 +/* 38FA74 E0090174 3C0142E6 */ lui $at, 0x42e6 +/* 38FA78 E0090178 44812000 */ mtc1 $at, $f4 +/* 38FA7C E009017C AE000034 */ sw $zero, 0x34($s0) +/* 38FA80 E0090180 E6000008 */ swc1 $f0, 8($s0) +/* 38FA84 E0090184 E602000C */ swc1 $f2, 0xc($s0) +/* 38FA88 E0090188 E6040030 */ swc1 $f4, 0x30($s0) +.LE009018C: +/* 38FA8C E009018C 0220102D */ daddu $v0, $s1, $zero +/* 38FA90 E0090190 8FBF0038 */ lw $ra, 0x38($sp) +/* 38FA94 E0090194 8FB30034 */ lw $s3, 0x34($sp) +/* 38FA98 E0090198 8FB20030 */ lw $s2, 0x30($sp) +/* 38FA9C E009019C 8FB1002C */ lw $s1, 0x2c($sp) +/* 38FAA0 E00901A0 8FB00028 */ lw $s0, 0x28($sp) +/* 38FAA4 E00901A4 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 38FAA8 E00901A8 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 38FAAC E00901AC D7B80050 */ ldc1 $f24, 0x50($sp) +/* 38FAB0 E00901B0 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 38FAB4 E00901B4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 38FAB8 E00901B8 03E00008 */ jr $ra +/* 38FABC E00901BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/code_38F900/func_E00901C0.s b/asm/nonmatchings/code_38F900/func_E00901C0.s new file mode 100644 index 0000000000..0b73b2a61a --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E00901C0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00901C0 +/* 38FAC0 E00901C0 03E00008 */ jr $ra +/* 38FAC4 E00901C4 00000000 */ nop diff --git a/asm/nonmatchings/code_38F900/func_E00901C8.s b/asm/nonmatchings/code_38F900/func_E00901C8.s new file mode 100644 index 0000000000..5a9c70d3d4 --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E00901C8.s @@ -0,0 +1,167 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00901C8 +/* 38FAC8 E00901C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 38FACC E00901CC AFBF0010 */ sw $ra, 0x10($sp) +/* 38FAD0 E00901D0 8C85000C */ lw $a1, 0xc($a0) +/* 38FAD4 E00901D4 8CA30018 */ lw $v1, 0x18($a1) +/* 38FAD8 E00901D8 8CA70000 */ lw $a3, ($a1) +/* 38FADC E00901DC 28620064 */ slti $v0, $v1, 0x64 +/* 38FAE0 E00901E0 10400002 */ beqz $v0, .LE00901EC +/* 38FAE4 E00901E4 2462FFFF */ addiu $v0, $v1, -1 +/* 38FAE8 E00901E8 ACA20018 */ sw $v0, 0x18($a1) +.LE00901EC: +/* 38FAEC E00901EC 8CA3001C */ lw $v1, 0x1c($a1) +/* 38FAF0 E00901F0 8CA80018 */ lw $t0, 0x18($a1) +/* 38FAF4 E00901F4 24660001 */ addiu $a2, $v1, 1 +/* 38FAF8 E00901F8 05010007 */ bgez $t0, .LE0090218 +/* 38FAFC E00901FC ACA6001C */ sw $a2, 0x1c($a1) +/* 38FB00 E0090200 2402FFFF */ addiu $v0, $zero, -1 +/* 38FB04 E0090204 ACA00024 */ sw $zero, 0x24($a1) +/* 38FB08 E0090208 0C080128 */ jal func_E02004A0 +/* 38FB0C E009020C ACA20018 */ sw $v0, 0x18($a1) +/* 38FB10 E0090210 08024105 */ j .LE0090414 +/* 38FB14 E0090214 00000000 */ nop +.LE0090218: +/* 38FB18 E0090218 28E20005 */ slti $v0, $a3, 5 +/* 38FB1C E009021C 10400048 */ beqz $v0, .LE0090340 +/* 38FB20 E0090220 28C20009 */ slti $v0, $a2, 9 +/* 38FB24 E0090224 1040000F */ beqz $v0, .LE0090264 +/* 38FB28 E0090228 2402000A */ addiu $v0, $zero, 0xa +/* 38FB2C E009022C 3C02E009 */ lui $v0, 0xe009 +/* 38FB30 E0090230 00431021 */ addu $v0, $v0, $v1 +/* 38FB34 E0090234 90420A68 */ lbu $v0, 0xa68($v0) +/* 38FB38 E0090238 3C01E009 */ lui $at, 0xe009 +/* 38FB3C E009023C D4220AA0 */ ldc1 $f2, 0xaa0($at) +/* 38FB40 E0090240 44820000 */ mtc1 $v0, $f0 +/* 38FB44 E0090244 00000000 */ nop +/* 38FB48 E0090248 46800020 */ cvt.s.w $f0, $f0 +/* 38FB4C E009024C 46000021 */ cvt.d.s $f0, $f0 +/* 38FB50 E0090250 46220002 */ mul.d $f0, $f0, $f2 +/* 38FB54 E0090254 00000000 */ nop +/* 38FB58 E0090258 46200020 */ cvt.s.d $f0, $f0 +/* 38FB5C E009025C E4A00028 */ swc1 $f0, 0x28($a1) +/* 38FB60 E0090260 2402000A */ addiu $v0, $zero, 0xa +.LE0090264: +/* 38FB64 E0090264 14C20003 */ bne $a2, $v0, .LE0090274 +/* 38FB68 E0090268 2463FF9C */ addiu $v1, $v1, -0x64 +/* 38FB6C E009026C 24020009 */ addiu $v0, $zero, 9 +/* 38FB70 E0090270 ACA2001C */ sw $v0, 0x1c($a1) +.LE0090274: +/* 38FB74 E0090274 2C620007 */ sltiu $v0, $v1, 7 +/* 38FB78 E0090278 1040000F */ beqz $v0, .LE00902B8 +/* 38FB7C E009027C 2402006D */ addiu $v0, $zero, 0x6d +/* 38FB80 E0090280 3C02E009 */ lui $v0, 0xe009 +/* 38FB84 E0090284 00431021 */ addu $v0, $v0, $v1 +/* 38FB88 E0090288 90420A70 */ lbu $v0, 0xa70($v0) +/* 38FB8C E009028C 3C01E009 */ lui $at, 0xe009 +/* 38FB90 E0090290 D4220AA8 */ ldc1 $f2, 0xaa8($at) +/* 38FB94 E0090294 44820000 */ mtc1 $v0, $f0 +/* 38FB98 E0090298 00000000 */ nop +/* 38FB9C E009029C 46800020 */ cvt.s.w $f0, $f0 +/* 38FBA0 E00902A0 46000021 */ cvt.d.s $f0, $f0 +/* 38FBA4 E00902A4 46220002 */ mul.d $f0, $f0, $f2 +/* 38FBA8 E00902A8 00000000 */ nop +/* 38FBAC E00902AC 46200020 */ cvt.s.d $f0, $f0 +/* 38FBB0 E00902B0 E4A00028 */ swc1 $f0, 0x28($a1) +/* 38FBB4 E00902B4 2402006D */ addiu $v0, $zero, 0x6d +.LE00902B8: +/* 38FBB8 E00902B8 14C20004 */ bne $a2, $v0, .LE00902CC +/* 38FBBC E00902BC 28C203E9 */ slti $v0, $a2, 0x3e9 +/* 38FBC0 E00902C0 2402006C */ addiu $v0, $zero, 0x6c +/* 38FBC4 E00902C4 ACA2001C */ sw $v0, 0x1c($a1) +/* 38FBC8 E00902C8 28C203E9 */ slti $v0, $a2, 0x3e9 +.LE00902CC: +/* 38FBCC E00902CC 14400004 */ bnez $v0, .LE00902E0 +/* 38FBD0 E00902D0 29020006 */ slti $v0, $t0, 6 +/* 38FBD4 E00902D4 240203E8 */ addiu $v0, $zero, 0x3e8 +/* 38FBD8 E00902D8 ACA2001C */ sw $v0, 0x1c($a1) +/* 38FBDC E00902DC 29020006 */ slti $v0, $t0, 6 +.LE00902E0: +/* 38FBE0 E00902E0 14400010 */ bnez $v0, .LE0090324 +/* 38FBE4 E00902E4 29020005 */ slti $v0, $t0, 5 +/* 38FBE8 E00902E8 C4A00030 */ lwc1 $f0, 0x30($a1) +/* 38FBEC E00902EC 3C013FE8 */ lui $at, 0x3fe8 +/* 38FBF0 E00902F0 44812800 */ mtc1 $at, $f5 +/* 38FBF4 E00902F4 44802000 */ mtc1 $zero, $f4 +/* 38FBF8 E00902F8 46000021 */ cvt.d.s $f0, $f0 +/* 38FBFC E00902FC 46240002 */ mul.d $f0, $f0, $f4 +/* 38FC00 E0090300 00000000 */ nop +/* 38FC04 E0090304 C4A20034 */ lwc1 $f2, 0x34($a1) +/* 38FC08 E0090308 460010A1 */ cvt.d.s $f2, $f2 +/* 38FC0C E009030C 46241082 */ mul.d $f2, $f2, $f4 +/* 38FC10 E0090310 00000000 */ nop +/* 38FC14 E0090314 46200020 */ cvt.s.d $f0, $f0 +/* 38FC18 E0090318 462010A0 */ cvt.s.d $f2, $f2 +/* 38FC1C E009031C E4A00030 */ swc1 $f0, 0x30($a1) +/* 38FC20 E0090320 E4A20034 */ swc1 $f2, 0x34($a1) +.LE0090324: +/* 38FC24 E0090324 10400027 */ beqz $v0, .LE00903C4 +/* 38FC28 E0090328 00000000 */ nop +/* 38FC2C E009032C C4A00030 */ lwc1 $f0, 0x30($a1) +/* 38FC30 E0090330 3C01E009 */ lui $at, 0xe009 +/* 38FC34 E0090334 D4240AB0 */ ldc1 $f4, 0xab0($at) +/* 38FC38 E0090338 080240E7 */ j .LE009039C +/* 38FC3C E009033C 46000021 */ cvt.d.s $f0, $f0 +.LE0090340: +/* 38FC40 E0090340 29020006 */ slti $v0, $t0, 6 +/* 38FC44 E0090344 1440000F */ bnez $v0, .LE0090384 +/* 38FC48 E0090348 29020005 */ slti $v0, $t0, 5 +/* 38FC4C E009034C C4A00030 */ lwc1 $f0, 0x30($a1) +/* 38FC50 E0090350 3C01E009 */ lui $at, 0xe009 +/* 38FC54 E0090354 D4240AB8 */ ldc1 $f4, 0xab8($at) +/* 38FC58 E0090358 46000021 */ cvt.d.s $f0, $f0 +/* 38FC5C E009035C 46240002 */ mul.d $f0, $f0, $f4 +/* 38FC60 E0090360 00000000 */ nop +/* 38FC64 E0090364 C4A20034 */ lwc1 $f2, 0x34($a1) +/* 38FC68 E0090368 460010A1 */ cvt.d.s $f2, $f2 +/* 38FC6C E009036C 46241082 */ mul.d $f2, $f2, $f4 +/* 38FC70 E0090370 00000000 */ nop +/* 38FC74 E0090374 46200020 */ cvt.s.d $f0, $f0 +/* 38FC78 E0090378 462010A0 */ cvt.s.d $f2, $f2 +/* 38FC7C E009037C E4A00030 */ swc1 $f0, 0x30($a1) +/* 38FC80 E0090380 E4A20034 */ swc1 $f2, 0x34($a1) +.LE0090384: +/* 38FC84 E0090384 1040000F */ beqz $v0, .LE00903C4 +/* 38FC88 E0090388 00000000 */ nop +/* 38FC8C E009038C C4A00030 */ lwc1 $f0, 0x30($a1) +/* 38FC90 E0090390 3C01E009 */ lui $at, 0xe009 +/* 38FC94 E0090394 D4240AC0 */ ldc1 $f4, 0xac0($at) +/* 38FC98 E0090398 46000021 */ cvt.d.s $f0, $f0 +.LE009039C: +/* 38FC9C E009039C 46240002 */ mul.d $f0, $f0, $f4 +/* 38FCA0 E00903A0 00000000 */ nop +/* 38FCA4 E00903A4 C4A20034 */ lwc1 $f2, 0x34($a1) +/* 38FCA8 E00903A8 460010A1 */ cvt.d.s $f2, $f2 +/* 38FCAC E00903AC 46241082 */ mul.d $f2, $f2, $f4 +/* 38FCB0 E00903B0 00000000 */ nop +/* 38FCB4 E00903B4 46200020 */ cvt.s.d $f0, $f0 +/* 38FCB8 E00903B8 462010A0 */ cvt.s.d $f2, $f2 +/* 38FCBC E00903BC E4A00030 */ swc1 $f0, 0x30($a1) +/* 38FCC0 E00903C0 E4A20034 */ swc1 $f2, 0x34($a1) +.LE00903C4: +/* 38FCC4 E00903C4 C4A40008 */ lwc1 $f4, 8($a1) +/* 38FCC8 E00903C8 C4A00030 */ lwc1 $f0, 0x30($a1) +/* 38FCCC E00903CC C4A2000C */ lwc1 $f2, 0xc($a1) +/* 38FCD0 E00903D0 46002100 */ add.s $f4, $f4, $f0 +/* 38FCD4 E00903D4 C4A00034 */ lwc1 $f0, 0x34($a1) +/* 38FCD8 E00903D8 8CA20020 */ lw $v0, 0x20($a1) +/* 38FCDC E00903DC 46001080 */ add.s $f2, $f2, $f0 +/* 38FCE0 E00903E0 E4A40008 */ swc1 $f4, 8($a1) +/* 38FCE4 E00903E4 1040000B */ beqz $v0, .LE0090414 +/* 38FCE8 E00903E8 E4A2000C */ swc1 $f2, 0xc($a1) +/* 38FCEC E00903EC 8CA20004 */ lw $v0, 4($a1) +/* 38FCF0 E00903F0 24030064 */ addiu $v1, $zero, 0x64 +/* 38FCF4 E00903F4 ACA00020 */ sw $zero, 0x20($a1) +/* 38FCF8 E00903F8 ACA3001C */ sw $v1, 0x1c($a1) +/* 38FCFC E00903FC 24420001 */ addiu $v0, $v0, 1 +/* 38FD00 E0090400 ACA20004 */ sw $v0, 4($a1) +/* 38FD04 E0090404 28420003 */ slti $v0, $v0, 3 +/* 38FD08 E0090408 14400002 */ bnez $v0, .LE0090414 +/* 38FD0C E009040C 24020002 */ addiu $v0, $zero, 2 +/* 38FD10 E0090410 ACA20004 */ sw $v0, 4($a1) +.LE0090414: +/* 38FD14 E0090414 8FBF0010 */ lw $ra, 0x10($sp) +/* 38FD18 E0090418 03E00008 */ jr $ra +/* 38FD1C E009041C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_38F900/func_E0090420.s b/asm/nonmatchings/code_38F900/func_E0090420.s new file mode 100644 index 0000000000..2bfd51d1fa --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E0090420.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0090420 +/* 38FD20 E0090420 03E00008 */ jr $ra +/* 38FD24 E0090424 00000000 */ nop diff --git a/asm/nonmatchings/code_38F900/func_E0090428.s b/asm/nonmatchings/code_38F900/func_E0090428.s new file mode 100644 index 0000000000..936059e068 --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E0090428.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0090428 +/* 38FD28 E0090428 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 38FD2C E009042C AFBF0010 */ sw $ra, 0x10($sp) +/* 38FD30 E0090430 0C024111 */ jal func_E0090444 +/* 38FD34 E0090434 00000000 */ nop +/* 38FD38 E0090438 8FBF0010 */ lw $ra, 0x10($sp) +/* 38FD3C E009043C 03E00008 */ jr $ra +/* 38FD40 E0090440 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_38F900/func_E0090444.s b/asm/nonmatchings/code_38F900/func_E0090444.s new file mode 100644 index 0000000000..50d9ecef0a --- /dev/null +++ b/asm/nonmatchings/code_38F900/func_E0090444.s @@ -0,0 +1,402 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0090444 +/* 38FD44 E0090444 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 38FD48 E0090448 0080482D */ daddu $t1, $a0, $zero +/* 38FD4C E009044C AFBF00AC */ sw $ra, 0xac($sp) +/* 38FD50 E0090450 AFB400A8 */ sw $s4, 0xa8($sp) +/* 38FD54 E0090454 AFB300A4 */ sw $s3, 0xa4($sp) +/* 38FD58 E0090458 AFB200A0 */ sw $s2, 0xa0($sp) +/* 38FD5C E009045C AFB1009C */ sw $s1, 0x9c($sp) +/* 38FD60 E0090460 AFB00098 */ sw $s0, 0x98($sp) +/* 38FD64 E0090464 F7B600B8 */ sdc1 $f22, 0xb8($sp) +/* 38FD68 E0090468 F7B400B0 */ sdc1 $f20, 0xb0($sp) +/* 38FD6C E009046C 8D33000C */ lw $s3, 0xc($t1) +/* 38FD70 E0090470 8E670000 */ lw $a3, ($s3) +/* 38FD74 E0090474 8E620024 */ lw $v0, 0x24($s3) +/* 38FD78 E0090478 8E63001C */ lw $v1, 0x1c($s3) +/* 38FD7C E009047C 10400163 */ beqz $v0, .LE0090A0C +/* 38FD80 E0090480 3C04DB06 */ lui $a0, 0xdb06 +/* 38FD84 E0090484 34840024 */ ori $a0, $a0, 0x24 +/* 38FD88 E0090488 3C05E200 */ lui $a1, 0xe200 +/* 38FD8C E009048C 34A51D00 */ ori $a1, $a1, 0x1d00 +/* 38FD90 E0090490 3C14800A */ lui $s4, 0x800a +/* 38FD94 E0090494 2694A66C */ addiu $s4, $s4, -0x5994 +/* 38FD98 E0090498 240200C8 */ addiu $v0, $zero, 0xc8 +/* 38FD9C E009049C 8E880000 */ lw $t0, ($s4) +/* 38FDA0 E00904A0 00433023 */ subu $a2, $v0, $v1 +/* 38FDA4 E00904A4 0100182D */ daddu $v1, $t0, $zero +/* 38FDA8 E00904A8 25080008 */ addiu $t0, $t0, 8 +/* 38FDAC E00904AC AE880000 */ sw $t0, ($s4) +/* 38FDB0 E00904B0 C6760028 */ lwc1 $f22, 0x28($s3) +/* 38FDB4 E00904B4 3C02E700 */ lui $v0, 0xe700 +/* 38FDB8 E00904B8 AC620000 */ sw $v0, ($v1) +/* 38FDBC E00904BC AC600004 */ sw $zero, 4($v1) +/* 38FDC0 E00904C0 AD040000 */ sw $a0, ($t0) +/* 38FDC4 E00904C4 8D230010 */ lw $v1, 0x10($t1) +/* 38FDC8 E00904C8 25020008 */ addiu $v0, $t0, 8 +/* 38FDCC E00904CC AE820000 */ sw $v0, ($s4) +/* 38FDD0 E00904D0 8C63001C */ lw $v1, 0x1c($v1) +/* 38FDD4 E00904D4 25020010 */ addiu $v0, $t0, 0x10 +/* 38FDD8 E00904D8 AE820000 */ sw $v0, ($s4) +/* 38FDDC E00904DC 24020004 */ addiu $v0, $zero, 4 +/* 38FDE0 E00904E0 AD02000C */ sw $v0, 0xc($t0) +/* 38FDE4 E00904E4 3C028000 */ lui $v0, 0x8000 +/* 38FDE8 E00904E8 AD050008 */ sw $a1, 8($t0) +/* 38FDEC E00904EC 00621821 */ addu $v1, $v1, $v0 +/* 38FDF0 E00904F0 04C10002 */ bgez $a2, .LE00904FC +/* 38FDF4 E00904F4 AD030004 */ sw $v1, 4($t0) +/* 38FDF8 E00904F8 0000302D */ daddu $a2, $zero, $zero +.LE00904FC: +/* 38FDFC E00904FC 25020018 */ addiu $v0, $t0, 0x18 +/* 38FE00 E0090500 AE820000 */ sw $v0, ($s4) +/* 38FE04 E0090504 3C02EE00 */ lui $v0, 0xee00 +/* 38FE08 E0090508 AD020010 */ sw $v0, 0x10($t0) +/* 38FE0C E009050C 00061400 */ sll $v0, $a2, 0x10 +/* 38FE10 E0090510 AD020014 */ sw $v0, 0x14($t0) +/* 38FE14 E0090514 28E20005 */ slti $v0, $a3, 5 +/* 38FE18 E0090518 1040006F */ beqz $v0, .LE00906D8 +/* 38FE1C E009051C 3C120001 */ lui $s2, 1 +/* 38FE20 E0090520 27A40018 */ addiu $a0, $sp, 0x18 +/* 38FE24 E0090524 8E650008 */ lw $a1, 8($s3) +/* 38FE28 E0090528 8E66000C */ lw $a2, 0xc($s3) +/* 38FE2C E009052C 8E670010 */ lw $a3, 0x10($s3) +/* 38FE30 E0090530 0C080108 */ jal func_E0200420 +/* 38FE34 E0090534 36521630 */ ori $s2, $s2, 0x1630 +/* 38FE38 E0090538 27B00058 */ addiu $s0, $sp, 0x58 +/* 38FE3C E009053C 3C013F80 */ lui $at, 0x3f80 +/* 38FE40 E0090540 4481A000 */ mtc1 $at, $f20 +/* 38FE44 E0090544 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38FE48 E0090548 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38FE4C E009054C 44800000 */ mtc1 $zero, $f0 +/* 38FE50 E0090550 00031080 */ sll $v0, $v1, 2 +/* 38FE54 E0090554 00431021 */ addu $v0, $v0, $v1 +/* 38FE58 E0090558 00021080 */ sll $v0, $v0, 2 +/* 38FE5C E009055C 00431023 */ subu $v0, $v0, $v1 +/* 38FE60 E0090560 000218C0 */ sll $v1, $v0, 3 +/* 38FE64 E0090564 00431021 */ addu $v0, $v0, $v1 +/* 38FE68 E0090568 000210C0 */ sll $v0, $v0, 3 +/* 38FE6C E009056C 44060000 */ mfc1 $a2, $f0 +/* 38FE70 E0090570 3C01800B */ lui $at, 0x800b +/* 38FE74 E0090574 00220821 */ addu $at, $at, $v0 +/* 38FE78 E0090578 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 38FE7C E009057C 4407A000 */ mfc1 $a3, $f20 +/* 38FE80 E0090580 46000007 */ neg.s $f0, $f0 +/* 38FE84 E0090584 44050000 */ mfc1 $a1, $f0 +/* 38FE88 E0090588 0200202D */ daddu $a0, $s0, $zero +/* 38FE8C E009058C 0C080104 */ jal func_E0200410 +/* 38FE90 E0090590 AFA60010 */ sw $a2, 0x10($sp) +/* 38FE94 E0090594 0200202D */ daddu $a0, $s0, $zero +/* 38FE98 E0090598 27A50018 */ addiu $a1, $sp, 0x18 +/* 38FE9C E009059C 0C080114 */ jal func_E0200450 +/* 38FEA0 E00905A0 00A0302D */ daddu $a2, $a1, $zero +/* 38FEA4 E00905A4 0200202D */ daddu $a0, $s0, $zero +/* 38FEA8 E00905A8 4405B000 */ mfc1 $a1, $f22 +/* 38FEAC E00905AC 4407A000 */ mfc1 $a3, $f20 +/* 38FEB0 E00905B0 0C080110 */ jal func_E0200440 +/* 38FEB4 E00905B4 00A0302D */ daddu $a2, $a1, $zero +/* 38FEB8 E00905B8 0200202D */ daddu $a0, $s0, $zero +/* 38FEBC E00905BC 27A50018 */ addiu $a1, $sp, 0x18 +/* 38FEC0 E00905C0 0C080114 */ jal func_E0200450 +/* 38FEC4 E00905C4 00A0302D */ daddu $a2, $a1, $zero +/* 38FEC8 E00905C8 27A40018 */ addiu $a0, $sp, 0x18 +/* 38FECC E00905CC 3C108007 */ lui $s0, 0x8007 +/* 38FED0 E00905D0 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 38FED4 E00905D4 3C11800A */ lui $s1, 0x800a +/* 38FED8 E00905D8 2631A674 */ addiu $s1, $s1, -0x598c +/* 38FEDC E00905DC 96050000 */ lhu $a1, ($s0) +/* 38FEE0 E00905E0 8E220000 */ lw $v0, ($s1) +/* 38FEE4 E00905E4 00052980 */ sll $a1, $a1, 6 +/* 38FEE8 E00905E8 00B22821 */ addu $a1, $a1, $s2 +/* 38FEEC E00905EC 0C080118 */ jal func_E0200460 +/* 38FEF0 E00905F0 00452821 */ addu $a1, $v0, $a1 +/* 38FEF4 E00905F4 3C03DA38 */ lui $v1, 0xda38 +/* 38FEF8 E00905F8 34630002 */ ori $v1, $v1, 2 +/* 38FEFC E00905FC 3C06D838 */ lui $a2, 0xd838 +/* 38FF00 E0090600 34C60002 */ ori $a2, $a2, 2 +/* 38FF04 E0090604 8E840000 */ lw $a0, ($s4) +/* 38FF08 E0090608 96020000 */ lhu $v0, ($s0) +/* 38FF0C E009060C 0080282D */ daddu $a1, $a0, $zero +/* 38FF10 E0090610 24840008 */ addiu $a0, $a0, 8 +/* 38FF14 E0090614 AE840000 */ sw $a0, ($s4) +/* 38FF18 E0090618 ACA30000 */ sw $v1, ($a1) +/* 38FF1C E009061C 24430001 */ addiu $v1, $v0, 1 +/* 38FF20 E0090620 3042FFFF */ andi $v0, $v0, 0xffff +/* 38FF24 E0090624 00021180 */ sll $v0, $v0, 6 +/* 38FF28 E0090628 A6030000 */ sh $v1, ($s0) +/* 38FF2C E009062C 8E230000 */ lw $v1, ($s1) +/* 38FF30 E0090630 00521021 */ addu $v0, $v0, $s2 +/* 38FF34 E0090634 00621821 */ addu $v1, $v1, $v0 +/* 38FF38 E0090638 24820008 */ addiu $v0, $a0, 8 +/* 38FF3C E009063C ACA30004 */ sw $v1, 4($a1) +/* 38FF40 E0090640 AE820000 */ sw $v0, ($s4) +/* 38FF44 E0090644 3C02FA00 */ lui $v0, 0xfa00 +/* 38FF48 E0090648 3C05DE00 */ lui $a1, 0xde00 +/* 38FF4C E009064C AC820000 */ sw $v0, ($a0) +/* 38FF50 E0090650 92630017 */ lbu $v1, 0x17($s3) +/* 38FF54 E0090654 3C020900 */ lui $v0, 0x900 +/* 38FF58 E0090658 244215A8 */ addiu $v0, $v0, 0x15a8 +/* 38FF5C E009065C AC82000C */ sw $v0, 0xc($a0) +/* 38FF60 E0090660 2402FF00 */ addiu $v0, $zero, -0x100 +/* 38FF64 E0090664 AC850008 */ sw $a1, 8($a0) +/* 38FF68 E0090668 AC850010 */ sw $a1, 0x10($a0) +/* 38FF6C E009066C 00621825 */ or $v1, $v1, $v0 +/* 38FF70 E0090670 AC830004 */ sw $v1, 4($a0) +/* 38FF74 E0090674 8E620004 */ lw $v0, 4($s3) +/* 38FF78 E0090678 24830010 */ addiu $v1, $a0, 0x10 +/* 38FF7C E009067C AE830000 */ sw $v1, ($s4) +/* 38FF80 E0090680 00021080 */ sll $v0, $v0, 2 +/* 38FF84 E0090684 3C03E009 */ lui $v1, 0xe009 +/* 38FF88 E0090688 00621821 */ addu $v1, $v1, $v0 +/* 38FF8C E009068C 8C630A40 */ lw $v1, 0xa40($v1) +/* 38FF90 E0090690 24820018 */ addiu $v0, $a0, 0x18 +/* 38FF94 E0090694 AE820000 */ sw $v0, ($s4) +/* 38FF98 E0090698 AC850018 */ sw $a1, 0x18($a0) +/* 38FF9C E009069C AC830014 */ sw $v1, 0x14($a0) +/* 38FFA0 E00906A0 8E620004 */ lw $v0, 4($s3) +/* 38FFA4 E00906A4 24830020 */ addiu $v1, $a0, 0x20 +/* 38FFA8 E00906A8 AE830000 */ sw $v1, ($s4) +/* 38FFAC E00906AC 00021080 */ sll $v0, $v0, 2 +/* 38FFB0 E00906B0 3C03E009 */ lui $v1, 0xe009 +/* 38FFB4 E00906B4 00621821 */ addu $v1, $v1, $v0 +/* 38FFB8 E00906B8 8C630A54 */ lw $v1, 0xa54($v1) +/* 38FFBC E00906BC 24820028 */ addiu $v0, $a0, 0x28 +/* 38FFC0 E00906C0 AE820000 */ sw $v0, ($s4) +/* 38FFC4 E00906C4 24020040 */ addiu $v0, $zero, 0x40 +/* 38FFC8 E00906C8 AC860020 */ sw $a2, 0x20($a0) +/* 38FFCC E00906CC AC820024 */ sw $v0, 0x24($a0) +/* 38FFD0 E00906D0 08024270 */ j .LE00909C0 +/* 38FFD4 E00906D4 AC83001C */ sw $v1, 0x1c($a0) +.LE00906D8: +/* 38FFD8 E00906D8 24E7FFFB */ addiu $a3, $a3, -5 +/* 38FFDC E00906DC 25020020 */ addiu $v0, $t0, 0x20 +/* 38FFE0 E00906E0 AE820000 */ sw $v0, ($s4) +/* 38FFE4 E00906E4 3C02FA00 */ lui $v0, 0xfa00 +/* 38FFE8 E00906E8 AD020018 */ sw $v0, 0x18($t0) +/* 38FFEC E00906EC 3C02E009 */ lui $v0, 0xe009 +/* 38FFF0 E00906F0 24420A78 */ addiu $v0, $v0, 0xa78 +/* 38FFF4 E00906F4 00072040 */ sll $a0, $a3, 1 +/* 38FFF8 E00906F8 00872021 */ addu $a0, $a0, $a3 +/* 38FFFC E00906FC 00042040 */ sll $a0, $a0, 1 +/* 390000 E0090700 00822021 */ addu $a0, $a0, $v0 +/* 390004 E0090704 90820000 */ lbu $v0, ($a0) +/* 390008 E0090708 90850001 */ lbu $a1, 1($a0) +/* 39000C E009070C 90860002 */ lbu $a2, 2($a0) +/* 390010 E0090710 92670017 */ lbu $a3, 0x17($s3) +/* 390014 E0090714 25030028 */ addiu $v1, $t0, 0x28 +/* 390018 E0090718 AE830000 */ sw $v1, ($s4) +/* 39001C E009071C 3C03FB00 */ lui $v1, 0xfb00 +/* 390020 E0090720 AD030020 */ sw $v1, 0x20($t0) +/* 390024 E0090724 00021600 */ sll $v0, $v0, 0x18 +/* 390028 E0090728 00052C00 */ sll $a1, $a1, 0x10 +/* 39002C E009072C 00451025 */ or $v0, $v0, $a1 +/* 390030 E0090730 00063200 */ sll $a2, $a2, 8 +/* 390034 E0090734 00461025 */ or $v0, $v0, $a2 +/* 390038 E0090738 00471025 */ or $v0, $v0, $a3 +/* 39003C E009073C 3C06DE00 */ lui $a2, 0xde00 +/* 390040 E0090740 AD02001C */ sw $v0, 0x1c($t0) +/* 390044 E0090744 90830003 */ lbu $v1, 3($a0) +/* 390048 E0090748 90850004 */ lbu $a1, 4($a0) +/* 39004C E009074C 90840005 */ lbu $a0, 5($a0) +/* 390050 E0090750 3C020900 */ lui $v0, 0x900 +/* 390054 E0090754 24421500 */ addiu $v0, $v0, 0x1500 +/* 390058 E0090758 AD060028 */ sw $a2, 0x28($t0) +/* 39005C E009075C AD02002C */ sw $v0, 0x2c($t0) +/* 390060 E0090760 AD060030 */ sw $a2, 0x30($t0) +/* 390064 E0090764 00031E00 */ sll $v1, $v1, 0x18 +/* 390068 E0090768 00052C00 */ sll $a1, $a1, 0x10 +/* 39006C E009076C 00651825 */ or $v1, $v1, $a1 +/* 390070 E0090770 00042200 */ sll $a0, $a0, 8 +/* 390074 E0090774 00641825 */ or $v1, $v1, $a0 +/* 390078 E0090778 AD030024 */ sw $v1, 0x24($t0) +/* 39007C E009077C 8E620004 */ lw $v0, 4($s3) +/* 390080 E0090780 3C014300 */ lui $at, 0x4300 +/* 390084 E0090784 44811000 */ mtc1 $at, $f2 +/* 390088 E0090788 00021080 */ sll $v0, $v0, 2 +/* 39008C E009078C 3C01E009 */ lui $at, 0xe009 +/* 390090 E0090790 00220821 */ addu $at, $at, $v0 +/* 390094 E0090794 8C220A40 */ lw $v0, 0xa40($at) +/* 390098 E0090798 25030038 */ addiu $v1, $t0, 0x38 +/* 39009C E009079C AD020034 */ sw $v0, 0x34($t0) +/* 3900A0 E00907A0 C6600008 */ lwc1 $f0, 8($s3) +/* 3900A4 E00907A4 46020000 */ add.s $f0, $f0, $f2 +/* 3900A8 E00907A8 3C014080 */ lui $at, 0x4080 +/* 3900AC E00907AC 44811000 */ mtc1 $at, $f2 +/* 3900B0 E00907B0 25020030 */ addiu $v0, $t0, 0x30 +/* 3900B4 E00907B4 46020002 */ mul.s $f0, $f0, $f2 +/* 3900B8 E00907B8 00000000 */ nop +/* 3900BC E00907BC AE820000 */ sw $v0, ($s4) +/* 3900C0 E00907C0 25020040 */ addiu $v0, $t0, 0x40 +/* 3900C4 E00907C4 AE830000 */ sw $v1, ($s4) +/* 3900C8 E00907C8 AE820000 */ sw $v0, ($s4) +/* 3900CC E00907CC 4600010D */ trunc.w.s $f4, $f0 +/* 3900D0 E00907D0 44022000 */ mfc1 $v0, $f4 +/* 3900D4 E00907D4 00000000 */ nop +/* 3900D8 E00907D8 00021400 */ sll $v0, $v0, 0x10 +/* 3900DC E00907DC 00021403 */ sra $v0, $v0, 0x10 +/* 3900E0 E00907E0 18400006 */ blez $v0, .LE00907FC +/* 3900E4 E00907E4 0060202D */ daddu $a0, $v1, $zero +/* 3900E8 E00907E8 30420FFF */ andi $v0, $v0, 0xfff +/* 3900EC E00907EC 00021300 */ sll $v0, $v0, 0xc +/* 3900F0 E00907F0 3C03E400 */ lui $v1, 0xe400 +/* 3900F4 E00907F4 08024200 */ j .LE0090800 +/* 3900F8 E00907F8 00431025 */ or $v0, $v0, $v1 +.LE00907FC: +/* 3900FC E00907FC 3C02E400 */ lui $v0, 0xe400 +.LE0090800: +/* 390100 E0090800 C660000C */ lwc1 $f0, 0xc($s3) +/* 390104 E0090804 3C014280 */ lui $at, 0x4280 +/* 390108 E0090808 44811000 */ mtc1 $at, $f2 +/* 39010C E009080C 00000000 */ nop +/* 390110 E0090810 46020000 */ add.s $f0, $f0, $f2 +/* 390114 E0090814 3C014080 */ lui $at, 0x4080 +/* 390118 E0090818 44811000 */ mtc1 $at, $f2 +/* 39011C E009081C 00000000 */ nop +/* 390120 E0090820 46020002 */ mul.s $f0, $f0, $f2 +/* 390124 E0090824 00000000 */ nop +/* 390128 E0090828 0040182D */ daddu $v1, $v0, $zero +/* 39012C E009082C 4600010D */ trunc.w.s $f4, $f0 +/* 390130 E0090830 44022000 */ mfc1 $v0, $f4 +/* 390134 E0090834 00000000 */ nop +/* 390138 E0090838 00021400 */ sll $v0, $v0, 0x10 +/* 39013C E009083C 00021403 */ sra $v0, $v0, 0x10 +/* 390140 E0090840 18400002 */ blez $v0, .LE009084C +/* 390144 E0090844 30420FFF */ andi $v0, $v0, 0xfff +/* 390148 E0090848 00621825 */ or $v1, $v1, $v0 +.LE009084C: +/* 39014C E009084C AC830000 */ sw $v1, ($a0) +/* 390150 E0090850 C6600008 */ lwc1 $f0, 8($s3) +/* 390154 E0090854 46020002 */ mul.s $f0, $f0, $f2 +/* 390158 E0090858 00000000 */ nop +/* 39015C E009085C 4600010D */ trunc.w.s $f4, $f0 +/* 390160 E0090860 44022000 */ mfc1 $v0, $f4 +/* 390164 E0090864 00000000 */ nop +/* 390168 E0090868 00021400 */ sll $v0, $v0, 0x10 +/* 39016C E009086C 00021403 */ sra $v0, $v0, 0x10 +/* 390170 E0090870 18400004 */ blez $v0, .LE0090884 +/* 390174 E0090874 24860004 */ addiu $a2, $a0, 4 +/* 390178 E0090878 30420FFF */ andi $v0, $v0, 0xfff +/* 39017C E009087C 08024222 */ j .LE0090888 +/* 390180 E0090880 00021300 */ sll $v0, $v0, 0xc +.LE0090884: +/* 390184 E0090884 0000102D */ daddu $v0, $zero, $zero +.LE0090888: +/* 390188 E0090888 C660000C */ lwc1 $f0, 0xc($s3) +/* 39018C E009088C 3C014080 */ lui $at, 0x4080 +/* 390190 E0090890 44811000 */ mtc1 $at, $f2 +/* 390194 E0090894 00000000 */ nop +/* 390198 E0090898 46020002 */ mul.s $f0, $f0, $f2 +/* 39019C E009089C 00000000 */ nop +/* 3901A0 E00908A0 0040202D */ daddu $a0, $v0, $zero +/* 3901A4 E00908A4 4600010D */ trunc.w.s $f4, $f0 +/* 3901A8 E00908A8 44022000 */ mfc1 $v0, $f4 +/* 3901AC E00908AC 00000000 */ nop +/* 3901B0 E00908B0 00021400 */ sll $v0, $v0, 0x10 +/* 3901B4 E00908B4 00021403 */ sra $v0, $v0, 0x10 +/* 3901B8 E00908B8 18400002 */ blez $v0, .LE00908C4 +/* 3901BC E00908BC 30420FFF */ andi $v0, $v0, 0xfff +/* 3901C0 E00908C0 00822025 */ or $a0, $a0, $v0 +.LE00908C4: +/* 3901C4 E00908C4 3C05800A */ lui $a1, 0x800a +/* 3901C8 E00908C8 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 3901CC E00908CC 8CA30000 */ lw $v1, ($a1) +/* 3901D0 E00908D0 3C02E100 */ lui $v0, 0xe100 +/* 3901D4 E00908D4 ACC40000 */ sw $a0, ($a2) +/* 3901D8 E00908D8 0060202D */ daddu $a0, $v1, $zero +/* 3901DC E00908DC AC820000 */ sw $v0, ($a0) +/* 3901E0 E00908E0 C6600008 */ lwc1 $f0, 8($s3) +/* 3901E4 E00908E4 46020002 */ mul.s $f0, $f0, $f2 +/* 3901E8 E00908E8 00000000 */ nop +/* 3901EC E00908EC 24630008 */ addiu $v1, $v1, 8 +/* 3901F0 E00908F0 24860004 */ addiu $a2, $a0, 4 +/* 3901F4 E00908F4 4600010D */ trunc.w.s $f4, $f0 +/* 3901F8 E00908F8 44022000 */ mfc1 $v0, $f4 +/* 3901FC E00908FC 00000000 */ nop +/* 390200 E0090900 00021400 */ sll $v0, $v0, 0x10 +/* 390204 E0090904 00021403 */ sra $v0, $v0, 0x10 +/* 390208 E0090908 04410007 */ bgez $v0, .LE0090928 +/* 39020C E009090C ACA30000 */ sw $v1, ($a1) +/* 390210 E0090910 00021080 */ sll $v0, $v0, 2 +/* 390214 E0090914 5C400001 */ bgtzl $v0, .LE009091C +/* 390218 E0090918 0000102D */ daddu $v0, $zero, $zero +.LE009091C: +/* 39021C E009091C 00021023 */ negu $v0, $v0 +/* 390220 E0090920 0802424B */ j .LE009092C +/* 390224 E0090924 00022400 */ sll $a0, $v0, 0x10 +.LE0090928: +/* 390228 E0090928 0000202D */ daddu $a0, $zero, $zero +.LE009092C: +/* 39022C E009092C C660000C */ lwc1 $f0, 0xc($s3) +/* 390230 E0090930 3C014080 */ lui $at, 0x4080 +/* 390234 E0090934 44811000 */ mtc1 $at, $f2 +/* 390238 E0090938 00000000 */ nop +/* 39023C E009093C 46020082 */ mul.s $f2, $f0, $f2 +/* 390240 E0090940 00000000 */ nop +/* 390244 E0090944 44800000 */ mtc1 $zero, $f0 +/* 390248 E0090948 00000000 */ nop +/* 39024C E009094C 4600103C */ c.lt.s $f2, $f0 +/* 390250 E0090950 00000000 */ nop +/* 390254 E0090954 4500000E */ bc1f .LE0090990 +/* 390258 E0090958 34830400 */ ori $v1, $a0, 0x400 +/* 39025C E009095C 4600110D */ trunc.w.s $f4, $f2 +/* 390260 E0090960 44022000 */ mfc1 $v0, $f4 +/* 390264 E0090964 00000000 */ nop +/* 390268 E0090968 00021400 */ sll $v0, $v0, 0x10 +/* 39026C E009096C 000211C3 */ sra $v0, $v0, 7 +/* 390270 E0090970 00021023 */ negu $v0, $v0 +/* 390274 E0090974 000219C3 */ sra $v1, $v0, 7 +/* 390278 E0090978 04620001 */ bltzl $v1, .LE0090980 +/* 39027C E009097C 0000182D */ daddu $v1, $zero, $zero +.LE0090980: +/* 390280 E0090980 24020400 */ addiu $v0, $zero, 0x400 +/* 390284 E0090984 00431023 */ subu $v0, $v0, $v1 +/* 390288 E0090988 3042FFFF */ andi $v0, $v0, 0xffff +/* 39028C E009098C 00821825 */ or $v1, $a0, $v0 +.LE0090990: +/* 390290 E0090990 3C050200 */ lui $a1, 0x200 +/* 390294 E0090994 3C04800A */ lui $a0, 0x800a +/* 390298 E0090998 2484A66C */ addiu $a0, $a0, -0x5994 +/* 39029C E009099C 8C820000 */ lw $v0, ($a0) +/* 3902A0 E00909A0 34A5FE00 */ ori $a1, $a1, 0xfe00 +/* 3902A4 E00909A4 ACC30000 */ sw $v1, ($a2) +/* 3902A8 E00909A8 0040182D */ daddu $v1, $v0, $zero +/* 3902AC E00909AC 24420008 */ addiu $v0, $v0, 8 +/* 3902B0 E00909B0 AC820000 */ sw $v0, ($a0) +/* 3902B4 E00909B4 3C02F100 */ lui $v0, 0xf100 +/* 3902B8 E00909B8 AC620000 */ sw $v0, ($v1) +/* 3902BC E00909BC AC650004 */ sw $a1, 4($v1) +.LE00909C0: +/* 3902C0 E00909C0 3C06E200 */ lui $a2, 0xe200 +/* 3902C4 E00909C4 3C04800A */ lui $a0, 0x800a +/* 3902C8 E00909C8 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3902CC E00909CC 34C61D00 */ ori $a2, $a2, 0x1d00 +/* 3902D0 E00909D0 8C820000 */ lw $v0, ($a0) +/* 3902D4 E00909D4 3C05E700 */ lui $a1, 0xe700 +/* 3902D8 E00909D8 0040182D */ daddu $v1, $v0, $zero +/* 3902DC E00909DC 24420008 */ addiu $v0, $v0, 8 +/* 3902E0 E00909E0 AC820000 */ sw $v0, ($a0) +/* 3902E4 E00909E4 AC650000 */ sw $a1, ($v1) +/* 3902E8 E00909E8 AC600004 */ sw $zero, 4($v1) +/* 3902EC E00909EC 24430008 */ addiu $v1, $v0, 8 +/* 3902F0 E00909F0 AC830000 */ sw $v1, ($a0) +/* 3902F4 E00909F4 24430010 */ addiu $v1, $v0, 0x10 +/* 3902F8 E00909F8 AC460000 */ sw $a2, ($v0) +/* 3902FC E00909FC AC400004 */ sw $zero, 4($v0) +/* 390300 E0090A00 AC830000 */ sw $v1, ($a0) +/* 390304 E0090A04 AC450008 */ sw $a1, 8($v0) +/* 390308 E0090A08 AC40000C */ sw $zero, 0xc($v0) +.LE0090A0C: +/* 39030C E0090A0C 8FBF00AC */ lw $ra, 0xac($sp) +/* 390310 E0090A10 8FB400A8 */ lw $s4, 0xa8($sp) +/* 390314 E0090A14 8FB300A4 */ lw $s3, 0xa4($sp) +/* 390318 E0090A18 8FB200A0 */ lw $s2, 0xa0($sp) +/* 39031C E0090A1C 8FB1009C */ lw $s1, 0x9c($sp) +/* 390320 E0090A20 8FB00098 */ lw $s0, 0x98($sp) +/* 390324 E0090A24 D7B600B8 */ ldc1 $f22, 0xb8($sp) +/* 390328 E0090A28 D7B400B0 */ ldc1 $f20, 0xb0($sp) +/* 39032C E0090A2C 03E00008 */ jr $ra +/* 390330 E0090A30 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 390334 E0090A34 00000000 */ nop +/* 390338 E0090A38 00000000 */ nop +/* 39033C E0090A3C 00000000 */ nop diff --git a/asm/nonmatchings/code_391D30/func_E0092000.s b/asm/nonmatchings/code_391D30/func_E0092000.s new file mode 100644 index 0000000000..2cb5c6f964 --- /dev/null +++ b/asm/nonmatchings/code_391D30/func_E0092000.s @@ -0,0 +1,115 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0092000 +/* 391D30 E0092000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 391D34 E0092004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 391D38 E0092008 4485A000 */ mtc1 $a1, $f20 +/* 391D3C E009200C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 391D40 E0092010 4486B000 */ mtc1 $a2, $f22 +/* 391D44 E0092014 AFB20030 */ sw $s2, 0x30($sp) +/* 391D48 E0092018 0080902D */ daddu $s2, $a0, $zero +/* 391D4C E009201C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 391D50 E0092020 4487C000 */ mtc1 $a3, $f24 +/* 391D54 E0092024 27A40010 */ addiu $a0, $sp, 0x10 +/* 391D58 E0092028 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 391D5C E009202C C7BA0068 */ lwc1 $f26, 0x68($sp) +/* 391D60 E0092030 3C02E009 */ lui $v0, 0xe009 +/* 391D64 E0092034 244221AC */ addiu $v0, $v0, 0x21ac +/* 391D68 E0092038 AFA20018 */ sw $v0, 0x18($sp) +/* 391D6C E009203C 3C02E009 */ lui $v0, 0xe009 +/* 391D70 E0092040 244221B4 */ addiu $v0, $v0, 0x21b4 +/* 391D74 E0092044 AFA2001C */ sw $v0, 0x1c($sp) +/* 391D78 E0092048 3C02E009 */ lui $v0, 0xe009 +/* 391D7C E009204C 24422258 */ addiu $v0, $v0, 0x2258 +/* 391D80 E0092050 AFA20020 */ sw $v0, 0x20($sp) +/* 391D84 E0092054 24020049 */ addiu $v0, $zero, 0x49 +/* 391D88 E0092058 AFBF0034 */ sw $ra, 0x34($sp) +/* 391D8C E009205C AFB1002C */ sw $s1, 0x2c($sp) +/* 391D90 E0092060 AFB00028 */ sw $s0, 0x28($sp) +/* 391D94 E0092064 AFA00010 */ sw $zero, 0x10($sp) +/* 391D98 E0092068 AFA00024 */ sw $zero, 0x24($sp) +/* 391D9C E009206C 0C080124 */ jal func_E0200490 +/* 391DA0 E0092070 AFA20014 */ sw $v0, 0x14($sp) +/* 391DA4 E0092074 240400B4 */ addiu $a0, $zero, 0xb4 +/* 391DA8 E0092078 24110005 */ addiu $s1, $zero, 5 +/* 391DAC E009207C 0040802D */ daddu $s0, $v0, $zero +/* 391DB0 E0092080 0C08012C */ jal func_E02004B0 +/* 391DB4 E0092084 AE110008 */ sw $s1, 8($s0) +/* 391DB8 E0092088 0040182D */ daddu $v1, $v0, $zero +/* 391DBC E009208C 14600003 */ bnez $v1, .LE009209C +/* 391DC0 E0092090 AE03000C */ sw $v1, 0xc($s0) +.LE0092094: +/* 391DC4 E0092094 08024825 */ j .LE0092094 +/* 391DC8 E0092098 00000000 */ nop +.LE009209C: +/* 391DCC E009209C 2402000E */ addiu $v0, $zero, 0xe +/* 391DD0 E00920A0 AC720000 */ sw $s2, ($v1) +/* 391DD4 E00920A4 AC600018 */ sw $zero, 0x18($v1) +/* 391DD8 E00920A8 AC620014 */ sw $v0, 0x14($v1) +/* 391DDC E00920AC E4740008 */ swc1 $f20, 8($v1) +/* 391DE0 E00920B0 E476000C */ swc1 $f22, 0xc($v1) +/* 391DE4 E00920B4 E4780010 */ swc1 $f24, 0x10($v1) +/* 391DE8 E00920B8 24040001 */ addiu $a0, $zero, 1 +/* 391DEC E00920BC 0091102A */ slt $v0, $a0, $s1 +/* 391DF0 E00920C0 1040002F */ beqz $v0, .LE0092180 +/* 391DF4 E00920C4 24630024 */ addiu $v1, $v1, 0x24 +/* 391DF8 E00920C8 3C08E009 */ lui $t0, 0xe009 +/* 391DFC E00920CC 250826A4 */ addiu $t0, $t0, 0x26a4 +/* 391E00 E00920D0 240BFFFF */ addiu $t3, $zero, -1 +/* 391E04 E00920D4 3C01E009 */ lui $at, 0xe009 +/* 391E08 E00920D8 D4222700 */ ldc1 $f2, 0x2700($at) +/* 391E0C E00920DC 2463001C */ addiu $v1, $v1, 0x1c +/* 391E10 E00920E0 240A0010 */ addiu $t2, $zero, 0x10 +/* 391E14 E00920E4 0000482D */ daddu $t1, $zero, $zero +/* 391E18 E00920E8 2407000C */ addiu $a3, $zero, 0xc +/* 391E1C E00920EC 24060008 */ addiu $a2, $zero, 8 +/* 391E20 E00920F0 24050004 */ addiu $a1, $zero, 4 +.LE00920F4: +/* 391E24 E00920F4 00A81021 */ addu $v0, $a1, $t0 +/* 391E28 E00920F8 C4400000 */ lwc1 $f0, ($v0) +/* 391E2C E00920FC 46800020 */ cvt.s.w $f0, $f0 +/* 391E30 E0092100 00C81021 */ addu $v0, $a2, $t0 +/* 391E34 E0092104 E460FFEC */ swc1 $f0, -0x14($v1) +/* 391E38 E0092108 C4400000 */ lwc1 $f0, ($v0) +/* 391E3C E009210C 46800020 */ cvt.s.w $f0, $f0 +/* 391E40 E0092110 00E81021 */ addu $v0, $a3, $t0 +/* 391E44 E0092114 E460FFF0 */ swc1 $f0, -0x10($v1) +/* 391E48 E0092118 C4400000 */ lwc1 $f0, ($v0) +/* 391E4C E009211C 46800020 */ cvt.s.w $f0, $f0 +/* 391E50 E0092120 01281021 */ addu $v0, $t1, $t0 +/* 391E54 E0092124 E460FFF4 */ swc1 $f0, -0xc($v1) +/* 391E58 E0092128 AC6BFFE8 */ sw $t3, -0x18($v1) +/* 391E5C E009212C 8C420000 */ lw $v0, ($v0) +/* 391E60 E0092130 AC620004 */ sw $v0, 4($v1) +/* 391E64 E0092134 01481021 */ addu $v0, $t2, $t0 +/* 391E68 E0092138 C4400000 */ lwc1 $f0, ($v0) +/* 391E6C E009213C 46800020 */ cvt.s.w $f0, $f0 +/* 391E70 E0092140 4600D002 */ mul.s $f0, $f26, $f0 +/* 391E74 E0092144 00000000 */ nop +/* 391E78 E0092148 46000021 */ cvt.d.s $f0, $f0 +/* 391E7C E009214C 46220002 */ mul.d $f0, $f0, $f2 +/* 391E80 E0092150 00000000 */ nop +/* 391E84 E0092154 25290014 */ addiu $t1, $t1, 0x14 +/* 391E88 E0092158 24E70014 */ addiu $a3, $a3, 0x14 +/* 391E8C E009215C 24C60014 */ addiu $a2, $a2, 0x14 +/* 391E90 E0092160 24A50014 */ addiu $a1, $a1, 0x14 +/* 391E94 E0092164 24840001 */ addiu $a0, $a0, 1 +/* 391E98 E0092168 254A0014 */ addiu $t2, $t2, 0x14 +/* 391E9C E009216C 0091102A */ slt $v0, $a0, $s1 +/* 391EA0 E0092170 46200020 */ cvt.s.d $f0, $f0 +/* 391EA4 E0092174 E4600000 */ swc1 $f0, ($v1) +/* 391EA8 E0092178 1440FFDE */ bnez $v0, .LE00920F4 +/* 391EAC E009217C 24630024 */ addiu $v1, $v1, 0x24 +.LE0092180: +/* 391EB0 E0092180 0200102D */ daddu $v0, $s0, $zero +/* 391EB4 E0092184 8FBF0034 */ lw $ra, 0x34($sp) +/* 391EB8 E0092188 8FB20030 */ lw $s2, 0x30($sp) +/* 391EBC E009218C 8FB1002C */ lw $s1, 0x2c($sp) +/* 391EC0 E0092190 8FB00028 */ lw $s0, 0x28($sp) +/* 391EC4 E0092194 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 391EC8 E0092198 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 391ECC E009219C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 391ED0 E00921A0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 391ED4 E00921A4 03E00008 */ jr $ra +/* 391ED8 E00921A8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_391D30/func_E00921AC.s b/asm/nonmatchings/code_391D30/func_E00921AC.s new file mode 100644 index 0000000000..0dbc77c8bc --- /dev/null +++ b/asm/nonmatchings/code_391D30/func_E00921AC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00921AC +/* 391EDC E00921AC 03E00008 */ jr $ra +/* 391EE0 E00921B0 00000000 */ nop diff --git a/asm/nonmatchings/code_391D30/func_E00921B4.s b/asm/nonmatchings/code_391D30/func_E00921B4.s new file mode 100644 index 0000000000..5ca9281c93 --- /dev/null +++ b/asm/nonmatchings/code_391D30/func_E00921B4.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00921B4 +/* 391EE4 E00921B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 391EE8 E00921B8 AFBF0010 */ sw $ra, 0x10($sp) +/* 391EEC E00921BC 8C85000C */ lw $a1, 0xc($a0) +/* 391EF0 E00921C0 8CA20014 */ lw $v0, 0x14($a1) +/* 391EF4 E00921C4 2442FFFF */ addiu $v0, $v0, -1 +/* 391EF8 E00921C8 ACA20014 */ sw $v0, 0x14($a1) +/* 391EFC E00921CC 8CA20018 */ lw $v0, 0x18($a1) +/* 391F00 E00921D0 8CA30014 */ lw $v1, 0x14($a1) +/* 391F04 E00921D4 24420001 */ addiu $v0, $v0, 1 +/* 391F08 E00921D8 04610005 */ bgez $v1, .LE00921F0 +/* 391F0C E00921DC ACA20018 */ sw $v0, 0x18($a1) +/* 391F10 E00921E0 0C080128 */ jal func_E02004A0 +/* 391F14 E00921E4 00000000 */ nop +/* 391F18 E00921E8 08024893 */ j .LE009224C +/* 391F1C E00921EC 00000000 */ nop +.LE00921F0: +/* 391F20 E00921F0 8C820008 */ lw $v0, 8($a0) +/* 391F24 E00921F4 24060001 */ addiu $a2, $zero, 1 +/* 391F28 E00921F8 00C2102A */ slt $v0, $a2, $v0 +/* 391F2C E00921FC 10400013 */ beqz $v0, .LE009224C +/* 391F30 E0092200 24A50024 */ addiu $a1, $a1, 0x24 +/* 391F34 E0092204 2407FFFF */ addiu $a3, $zero, -1 +/* 391F38 E0092208 24A30020 */ addiu $v1, $a1, 0x20 +.LE009220C: +/* 391F3C E009220C 8C620000 */ lw $v0, ($v1) +/* 391F40 E0092210 18400003 */ blez $v0, .LE0092220 +/* 391F44 E0092214 2442FFFF */ addiu $v0, $v0, -1 +/* 391F48 E0092218 1C400007 */ bgtz $v0, .LE0092238 +/* 391F4C E009221C AC620000 */ sw $v0, ($v1) +.LE0092220: +/* 391F50 E0092220 8C62FFE4 */ lw $v0, -0x1c($v1) +/* 391F54 E0092224 24420001 */ addiu $v0, $v0, 1 +/* 391F58 E0092228 AC62FFE4 */ sw $v0, -0x1c($v1) +/* 391F5C E009222C 2842000A */ slti $v0, $v0, 0xa +/* 391F60 E0092230 50400001 */ beql $v0, $zero, .LE0092238 +/* 391F64 E0092234 AC670000 */ sw $a3, ($v1) +.LE0092238: +/* 391F68 E0092238 24C60001 */ addiu $a2, $a2, 1 +/* 391F6C E009223C 8C820008 */ lw $v0, 8($a0) +/* 391F70 E0092240 00C2102A */ slt $v0, $a2, $v0 +/* 391F74 E0092244 1440FFF1 */ bnez $v0, .LE009220C +/* 391F78 E0092248 24630024 */ addiu $v1, $v1, 0x24 +.LE009224C: +/* 391F7C E009224C 8FBF0010 */ lw $ra, 0x10($sp) +/* 391F80 E0092250 03E00008 */ jr $ra +/* 391F84 E0092254 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_391D30/func_E0092258.s b/asm/nonmatchings/code_391D30/func_E0092258.s new file mode 100644 index 0000000000..5501f0a859 --- /dev/null +++ b/asm/nonmatchings/code_391D30/func_E0092258.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0092258 +/* 391F88 E0092258 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 391F8C E009225C 3C02E009 */ lui $v0, 0xe009 +/* 391F90 E0092260 244222A0 */ addiu $v0, $v0, 0x22a0 +/* 391F94 E0092264 AFA2001C */ sw $v0, 0x1c($sp) +/* 391F98 E0092268 2402000A */ addiu $v0, $zero, 0xa +/* 391F9C E009226C AFA20014 */ sw $v0, 0x14($sp) +/* 391FA0 E0092270 2402002D */ addiu $v0, $zero, 0x2d +/* 391FA4 E0092274 AFA40018 */ sw $a0, 0x18($sp) +/* 391FA8 E0092278 27A40010 */ addiu $a0, $sp, 0x10 +/* 391FAC E009227C AFBF0020 */ sw $ra, 0x20($sp) +/* 391FB0 E0092280 0C080120 */ jal func_E0200480 +/* 391FB4 E0092284 AFA20010 */ sw $v0, 0x10($sp) +/* 391FB8 E0092288 8C430000 */ lw $v1, ($v0) +/* 391FBC E009228C 34630002 */ ori $v1, $v1, 2 +/* 391FC0 E0092290 AC430000 */ sw $v1, ($v0) +/* 391FC4 E0092294 8FBF0020 */ lw $ra, 0x20($sp) +/* 391FC8 E0092298 03E00008 */ jr $ra +/* 391FCC E009229C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_391D30/func_E00922A0.s b/asm/nonmatchings/code_391D30/func_E00922A0.s new file mode 100644 index 0000000000..d4386ee15f --- /dev/null +++ b/asm/nonmatchings/code_391D30/func_E00922A0.s @@ -0,0 +1,260 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00922A0 +/* 391FD0 E00922A0 44800000 */ mtc1 $zero, $f0 +/* 391FD4 E00922A4 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 391FD8 E00922A8 AFB000E0 */ sw $s0, 0xe0($sp) +/* 391FDC E00922AC 27B00098 */ addiu $s0, $sp, 0x98 +/* 391FE0 E00922B0 AFA40118 */ sw $a0, 0x118($sp) +/* 391FE4 E00922B4 8FA90118 */ lw $t1, 0x118($sp) +/* 391FE8 E00922B8 0200202D */ daddu $a0, $s0, $zero +/* 391FEC E00922BC AFB100E4 */ sw $s1, 0xe4($sp) +/* 391FF0 E00922C0 3C110001 */ lui $s1, 1 +/* 391FF4 E00922C4 F7B40108 */ sdc1 $f20, 0x108($sp) +/* 391FF8 E00922C8 3C013F80 */ lui $at, 0x3f80 +/* 391FFC E00922CC 4481A000 */ mtc1 $at, $f20 +/* 392000 E00922D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 392004 E00922D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 392008 E00922D8 36311630 */ ori $s1, $s1, 0x1630 +/* 39200C E00922DC AFBF0104 */ sw $ra, 0x104($sp) +/* 392010 E00922E0 AFBE0100 */ sw $fp, 0x100($sp) +/* 392014 E00922E4 AFB700FC */ sw $s7, 0xfc($sp) +/* 392018 E00922E8 AFB600F8 */ sw $s6, 0xf8($sp) +/* 39201C E00922EC AFB500F4 */ sw $s5, 0xf4($sp) +/* 392020 E00922F0 AFB400F0 */ sw $s4, 0xf0($sp) +/* 392024 E00922F4 AFB300EC */ sw $s3, 0xec($sp) +/* 392028 E00922F8 AFB200E8 */ sw $s2, 0xe8($sp) +/* 39202C E00922FC F7B60110 */ sdc1 $f22, 0x110($sp) +/* 392030 E0092300 00031080 */ sll $v0, $v1, 2 +/* 392034 E0092304 00431021 */ addu $v0, $v0, $v1 +/* 392038 E0092308 00021080 */ sll $v0, $v0, 2 +/* 39203C E009230C 00431023 */ subu $v0, $v0, $v1 +/* 392040 E0092310 000218C0 */ sll $v1, $v0, 3 +/* 392044 E0092314 00431021 */ addu $v0, $v0, $v1 +/* 392048 E0092318 000210C0 */ sll $v0, $v0, 3 +/* 39204C E009231C 8D34000C */ lw $s4, 0xc($t1) +/* 392050 E0092320 44060000 */ mfc1 $a2, $f0 +/* 392054 E0092324 3C01800B */ lui $at, 0x800b +/* 392058 E0092328 00220821 */ addu $at, $at, $v0 +/* 39205C E009232C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 392060 E0092330 4407A000 */ mfc1 $a3, $f20 +/* 392064 E0092334 46000007 */ neg.s $f0, $f0 +/* 392068 E0092338 44050000 */ mfc1 $a1, $f0 +/* 39206C E009233C 24130001 */ addiu $s3, $zero, 1 +/* 392070 E0092340 0C080104 */ jal func_E0200410 +/* 392074 E0092344 AFA60010 */ sw $a2, 0x10($sp) +/* 392078 E0092348 0200202D */ daddu $a0, $s0, $zero +/* 39207C E009234C 3C128007 */ lui $s2, 0x8007 +/* 392080 E0092350 265241F0 */ addiu $s2, $s2, 0x41f0 +/* 392084 E0092354 3C16800A */ lui $s6, 0x800a +/* 392088 E0092358 26D6A674 */ addiu $s6, $s6, -0x598c +/* 39208C E009235C 96450000 */ lhu $a1, ($s2) +/* 392090 E0092360 8EC20000 */ lw $v0, ($s6) +/* 392094 E0092364 00052980 */ sll $a1, $a1, 6 +/* 392098 E0092368 00B12821 */ addu $a1, $a1, $s1 +/* 39209C E009236C 0C080118 */ jal func_E0200460 +/* 3920A0 E0092370 00452821 */ addu $a1, $v0, $a1 +/* 3920A4 E0092374 3C06DB06 */ lui $a2, 0xdb06 +/* 3920A8 E0092378 34C60024 */ ori $a2, $a2, 0x24 +/* 3920AC E009237C 3C10800A */ lui $s0, 0x800a +/* 3920B0 E0092380 2610A66C */ addiu $s0, $s0, -0x5994 +/* 3920B4 E0092384 27A40018 */ addiu $a0, $sp, 0x18 +/* 3920B8 E0092388 8E050000 */ lw $a1, ($s0) +/* 3920BC E009238C 96480000 */ lhu $t0, ($s2) +/* 3920C0 E0092390 00A0182D */ daddu $v1, $a1, $zero +/* 3920C4 E0092394 24A50008 */ addiu $a1, $a1, 8 +/* 3920C8 E0092398 01131021 */ addu $v0, $t0, $s3 +/* 3920CC E009239C A6420000 */ sh $v0, ($s2) +/* 3920D0 E00923A0 3C02E700 */ lui $v0, 0xe700 +/* 3920D4 E00923A4 AE050000 */ sw $a1, ($s0) +/* 3920D8 E00923A8 AC620000 */ sw $v0, ($v1) +/* 3920DC E00923AC 24A20008 */ addiu $v0, $a1, 8 +/* 3920E0 E00923B0 3108FFFF */ andi $t0, $t0, 0xffff +/* 3920E4 E00923B4 AC600004 */ sw $zero, 4($v1) +/* 3920E8 E00923B8 ACA60000 */ sw $a2, ($a1) +/* 3920EC E00923BC 8FA90118 */ lw $t1, 0x118($sp) +/* 3920F0 E00923C0 00084180 */ sll $t0, $t0, 6 +/* 3920F4 E00923C4 8D230010 */ lw $v1, 0x10($t1) +/* 3920F8 E00923C8 01114021 */ addu $t0, $t0, $s1 +/* 3920FC E00923CC AE020000 */ sw $v0, ($s0) +/* 392100 E00923D0 8C62001C */ lw $v0, 0x1c($v1) +/* 392104 E00923D4 3C038000 */ lui $v1, 0x8000 +/* 392108 E00923D8 00431021 */ addu $v0, $v0, $v1 +/* 39210C E00923DC ACA20004 */ sw $v0, 4($a1) +/* 392110 E00923E0 8E850008 */ lw $a1, 8($s4) +/* 392114 E00923E4 8E86000C */ lw $a2, 0xc($s4) +/* 392118 E00923E8 8EC20000 */ lw $v0, ($s6) +/* 39211C E00923EC 8E870010 */ lw $a3, 0x10($s4) +/* 392120 E00923F0 00481021 */ addu $v0, $v0, $t0 +/* 392124 E00923F4 0C080108 */ jal func_E0200420 +/* 392128 E00923F8 AFA200D8 */ sw $v0, 0xd8($sp) +/* 39212C E00923FC 27A40018 */ addiu $a0, $sp, 0x18 +/* 392130 E0092400 96450000 */ lhu $a1, ($s2) +/* 392134 E0092404 8EC20000 */ lw $v0, ($s6) +/* 392138 E0092408 00052980 */ sll $a1, $a1, 6 +/* 39213C E009240C 00B12821 */ addu $a1, $a1, $s1 +/* 392140 E0092410 0C080118 */ jal func_E0200460 +/* 392144 E0092414 00452821 */ addu $a1, $v0, $a1 +/* 392148 E0092418 3C03DA38 */ lui $v1, 0xda38 +/* 39214C E009241C 34630002 */ ori $v1, $v1, 2 +/* 392150 E0092420 3C06FFFF */ lui $a2, 0xffff +/* 392154 E0092424 34C60FFF */ ori $a2, $a2, 0xfff +/* 392158 E0092428 8E040000 */ lw $a0, ($s0) +/* 39215C E009242C 96420000 */ lhu $v0, ($s2) +/* 392160 E0092430 0080282D */ daddu $a1, $a0, $zero +/* 392164 E0092434 24840008 */ addiu $a0, $a0, 8 +/* 392168 E0092438 AE040000 */ sw $a0, ($s0) +/* 39216C E009243C ACA30000 */ sw $v1, ($a1) +/* 392170 E0092440 00531821 */ addu $v1, $v0, $s3 +/* 392174 E0092444 3042FFFF */ andi $v0, $v0, 0xffff +/* 392178 E0092448 00021180 */ sll $v0, $v0, 6 +/* 39217C E009244C A6430000 */ sh $v1, ($s2) +/* 392180 E0092450 8EC30000 */ lw $v1, ($s6) +/* 392184 E0092454 00511021 */ addu $v0, $v0, $s1 +/* 392188 E0092458 00621821 */ addu $v1, $v1, $v0 +/* 39218C E009245C 24820008 */ addiu $v0, $a0, 8 +/* 392190 E0092460 ACA30004 */ sw $v1, 4($a1) +/* 392194 E0092464 AE020000 */ sw $v0, ($s0) +/* 392198 E0092468 3C02DE00 */ lui $v0, 0xde00 +/* 39219C E009246C AC820000 */ sw $v0, ($a0) +/* 3921A0 E0092470 3C020900 */ lui $v0, 0x900 +/* 3921A4 E0092474 244202C0 */ addiu $v0, $v0, 0x2c0 +/* 3921A8 E0092478 AC820004 */ sw $v0, 4($a0) +/* 3921AC E009247C 3C02FA00 */ lui $v0, 0xfa00 +/* 3921B0 E0092480 AC820008 */ sw $v0, 8($a0) +/* 3921B4 E0092484 AC86000C */ sw $a2, 0xc($a0) +/* 3921B8 E0092488 8FA90118 */ lw $t1, 0x118($sp) +/* 3921BC E009248C 26940024 */ addiu $s4, $s4, 0x24 +/* 3921C0 E0092490 8D220008 */ lw $v0, 8($t1) +/* 3921C4 E0092494 24840010 */ addiu $a0, $a0, 0x10 +/* 3921C8 E0092498 0262102A */ slt $v0, $s3, $v0 +/* 3921CC E009249C 1040005B */ beqz $v0, .LE009260C +/* 3921D0 E00924A0 AE040000 */ sw $a0, ($s0) +/* 3921D4 E00924A4 4600A586 */ mov.s $f22, $f20 +/* 3921D8 E00924A8 27B50058 */ addiu $s5, $sp, 0x58 +/* 3921DC E00924AC 02C0F02D */ daddu $fp, $s6, $zero +/* 3921E0 E00924B0 0240B02D */ daddu $s6, $s2, $zero +/* 3921E4 E00924B4 3C120001 */ lui $s2, 1 +/* 3921E8 E00924B8 36521630 */ ori $s2, $s2, 0x1630 +/* 3921EC E00924BC 0200882D */ daddu $s1, $s0, $zero +/* 3921F0 E00924C0 3C17DE00 */ lui $s7, 0xde00 +/* 3921F4 E00924C4 26900004 */ addiu $s0, $s4, 4 +.LE00924C8: +/* 3921F8 E00924C8 8E02001C */ lw $v0, 0x1c($s0) +/* 3921FC E00924CC 14400049 */ bnez $v0, .LE00925F4 +/* 392200 E00924D0 00000000 */ nop +/* 392204 E00924D4 8E050004 */ lw $a1, 4($s0) +/* 392208 E00924D8 8E060008 */ lw $a2, 8($s0) +/* 39220C E00924DC 8E07000C */ lw $a3, 0xc($s0) +/* 392210 E00924E0 C6140018 */ lwc1 $f20, 0x18($s0) +/* 392214 E00924E4 0C080108 */ jal func_E0200420 +/* 392218 E00924E8 27A40018 */ addiu $a0, $sp, 0x18 +/* 39221C E00924EC 4616A032 */ c.eq.s $f20, $f22 +/* 392220 E00924F0 00000000 */ nop +/* 392224 E00924F4 4501000B */ bc1t .LE0092524 +/* 392228 E00924F8 27A40018 */ addiu $a0, $sp, 0x18 +/* 39222C E00924FC 02A0202D */ daddu $a0, $s5, $zero +/* 392230 E0092500 4405A000 */ mfc1 $a1, $f20 +/* 392234 E0092504 4407B000 */ mfc1 $a3, $f22 +/* 392238 E0092508 0C080110 */ jal func_E0200440 +/* 39223C E009250C 00A0302D */ daddu $a2, $a1, $zero +/* 392240 E0092510 02A0202D */ daddu $a0, $s5, $zero +/* 392244 E0092514 27A50018 */ addiu $a1, $sp, 0x18 +/* 392248 E0092518 0C080114 */ jal func_E0200450 +/* 39224C E009251C 00A0302D */ daddu $a2, $a1, $zero +/* 392250 E0092520 27A40018 */ addiu $a0, $sp, 0x18 +.LE0092524: +/* 392254 E0092524 96C50000 */ lhu $a1, ($s6) +/* 392258 E0092528 8FC20000 */ lw $v0, ($fp) +/* 39225C E009252C 00052980 */ sll $a1, $a1, 6 +/* 392260 E0092530 00B22821 */ addu $a1, $a1, $s2 +/* 392264 E0092534 0C080118 */ jal func_E0200460 +/* 392268 E0092538 00452821 */ addu $a1, $v0, $a1 +/* 39226C E009253C 3C06DA38 */ lui $a2, 0xda38 +/* 392270 E0092540 34C60001 */ ori $a2, $a2, 1 +/* 392274 E0092544 3C07D838 */ lui $a3, 0xd838 +/* 392278 E0092548 8E240000 */ lw $a0, ($s1) +/* 39227C E009254C 34E70002 */ ori $a3, $a3, 2 +/* 392280 E0092550 0080282D */ daddu $a1, $a0, $zero +/* 392284 E0092554 24840008 */ addiu $a0, $a0, 8 +/* 392288 E0092558 AE240000 */ sw $a0, ($s1) +/* 39228C E009255C 96C20000 */ lhu $v0, ($s6) +/* 392290 E0092560 3C03DA38 */ lui $v1, 0xda38 +/* 392294 E0092564 ACA30000 */ sw $v1, ($a1) +/* 392298 E0092568 24430001 */ addiu $v1, $v0, 1 +/* 39229C E009256C 3042FFFF */ andi $v0, $v0, 0xffff +/* 3922A0 E0092570 00021180 */ sll $v0, $v0, 6 +/* 3922A4 E0092574 A6C30000 */ sh $v1, ($s6) +/* 3922A8 E0092578 8FC30000 */ lw $v1, ($fp) +/* 3922AC E009257C 00521021 */ addu $v0, $v0, $s2 +/* 3922B0 E0092580 00621821 */ addu $v1, $v1, $v0 +/* 3922B4 E0092584 24820008 */ addiu $v0, $a0, 8 +/* 3922B8 E0092588 ACA30004 */ sw $v1, 4($a1) +/* 3922BC E009258C AE220000 */ sw $v0, ($s1) +/* 3922C0 E0092590 24820010 */ addiu $v0, $a0, 0x10 +/* 3922C4 E0092594 AC860000 */ sw $a2, ($a0) +/* 3922C8 E0092598 8FA900D8 */ lw $t1, 0xd8($sp) +/* 3922CC E009259C 24830018 */ addiu $v1, $a0, 0x18 +/* 3922D0 E00925A0 AC890004 */ sw $t1, 4($a0) +/* 3922D4 E00925A4 AE220000 */ sw $v0, ($s1) +/* 3922D8 E00925A8 AC970008 */ sw $s7, 8($a0) +/* 3922DC E00925AC 8E020000 */ lw $v0, ($s0) +/* 3922E0 E00925B0 3C09E009 */ lui $t1, 0xe009 +/* 3922E4 E00925B4 25292690 */ addiu $t1, $t1, 0x2690 +/* 3922E8 E00925B8 AE230000 */ sw $v1, ($s1) +/* 3922EC E00925BC 00021043 */ sra $v0, $v0, 1 +/* 3922F0 E00925C0 00021080 */ sll $v0, $v0, 2 +/* 3922F4 E00925C4 00491021 */ addu $v0, $v0, $t1 +/* 3922F8 E00925C8 8C430000 */ lw $v1, ($v0) +/* 3922FC E00925CC 24820020 */ addiu $v0, $a0, 0x20 +/* 392300 E00925D0 AE220000 */ sw $v0, ($s1) +/* 392304 E00925D4 3C020900 */ lui $v0, 0x900 +/* 392308 E00925D8 24420470 */ addiu $v0, $v0, 0x470 +/* 39230C E00925DC AC820014 */ sw $v0, 0x14($a0) +/* 392310 E00925E0 24020040 */ addiu $v0, $zero, 0x40 +/* 392314 E00925E4 AC970010 */ sw $s7, 0x10($a0) +/* 392318 E00925E8 AC870018 */ sw $a3, 0x18($a0) +/* 39231C E00925EC AC82001C */ sw $v0, 0x1c($a0) +/* 392320 E00925F0 AC83000C */ sw $v1, 0xc($a0) +.LE00925F4: +/* 392324 E00925F4 8FA90118 */ lw $t1, 0x118($sp) +/* 392328 E00925F8 26730001 */ addiu $s3, $s3, 1 +/* 39232C E00925FC 8D220008 */ lw $v0, 8($t1) +/* 392330 E0092600 0262102A */ slt $v0, $s3, $v0 +/* 392334 E0092604 1440FFB0 */ bnez $v0, .LE00924C8 +/* 392338 E0092608 26100024 */ addiu $s0, $s0, 0x24 +.LE009260C: +/* 39233C E009260C 3C03D838 */ lui $v1, 0xd838 +/* 392340 E0092610 3C04800A */ lui $a0, 0x800a +/* 392344 E0092614 2484A66C */ addiu $a0, $a0, -0x5994 +/* 392348 E0092618 8C820000 */ lw $v0, ($a0) +/* 39234C E009261C 34630002 */ ori $v1, $v1, 2 +/* 392350 E0092620 0040282D */ daddu $a1, $v0, $zero +/* 392354 E0092624 24420008 */ addiu $v0, $v0, 8 +/* 392358 E0092628 AC820000 */ sw $v0, ($a0) +/* 39235C E009262C ACA30000 */ sw $v1, ($a1) +/* 392360 E0092630 24030040 */ addiu $v1, $zero, 0x40 +/* 392364 E0092634 ACA30004 */ sw $v1, 4($a1) +/* 392368 E0092638 24430008 */ addiu $v1, $v0, 8 +/* 39236C E009263C AC830000 */ sw $v1, ($a0) +/* 392370 E0092640 3C03E700 */ lui $v1, 0xe700 +/* 392374 E0092644 AC430000 */ sw $v1, ($v0) +/* 392378 E0092648 AC400004 */ sw $zero, 4($v0) +/* 39237C E009264C 8FBF0104 */ lw $ra, 0x104($sp) +/* 392380 E0092650 8FBE0100 */ lw $fp, 0x100($sp) +/* 392384 E0092654 8FB700FC */ lw $s7, 0xfc($sp) +/* 392388 E0092658 8FB600F8 */ lw $s6, 0xf8($sp) +/* 39238C E009265C 8FB500F4 */ lw $s5, 0xf4($sp) +/* 392390 E0092660 8FB400F0 */ lw $s4, 0xf0($sp) +/* 392394 E0092664 8FB300EC */ lw $s3, 0xec($sp) +/* 392398 E0092668 8FB200E8 */ lw $s2, 0xe8($sp) +/* 39239C E009266C 8FB100E4 */ lw $s1, 0xe4($sp) +/* 3923A0 E0092670 8FB000E0 */ lw $s0, 0xe0($sp) +/* 3923A4 E0092674 D7B60110 */ ldc1 $f22, 0x110($sp) +/* 3923A8 E0092678 D7B40108 */ ldc1 $f20, 0x108($sp) +/* 3923AC E009267C 03E00008 */ jr $ra +/* 3923B0 E0092680 27BD0118 */ addiu $sp, $sp, 0x118 +/* 3923B4 E0092684 00000000 */ nop +/* 3923B8 E0092688 00000000 */ nop +/* 3923BC E009268C 00000000 */ nop diff --git a/asm/nonmatchings/code_3928D0/func_E0094000.s b/asm/nonmatchings/code_3928D0/func_E0094000.s new file mode 100644 index 0000000000..187be113a7 --- /dev/null +++ b/asm/nonmatchings/code_3928D0/func_E0094000.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0094000 +/* 3928D0 E0094000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 3928D4 E0094004 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3928D8 E0094008 4485A000 */ mtc1 $a1, $f20 +/* 3928DC E009400C AFB1002C */ sw $s1, 0x2c($sp) +/* 3928E0 E0094010 0080882D */ daddu $s1, $a0, $zero +/* 3928E4 E0094014 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3928E8 E0094018 4486B000 */ mtc1 $a2, $f22 +/* 3928EC E009401C 27A40010 */ addiu $a0, $sp, 0x10 +/* 3928F0 E0094020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3928F4 E0094024 4487C000 */ mtc1 $a3, $f24 +/* 3928F8 E0094028 3C02E009 */ lui $v0, 0xe009 +/* 3928FC E009402C 24424190 */ addiu $v0, $v0, 0x4190 +/* 392900 E0094030 AFA20018 */ sw $v0, 0x18($sp) +/* 392904 E0094034 3C02E009 */ lui $v0, 0xe009 +/* 392908 E0094038 24424198 */ addiu $v0, $v0, 0x4198 +/* 39290C E009403C AFA2001C */ sw $v0, 0x1c($sp) +/* 392910 E0094040 3C02E009 */ lui $v0, 0xe009 +/* 392914 E0094044 244242C0 */ addiu $v0, $v0, 0x42c0 +/* 392918 E0094048 AFA20020 */ sw $v0, 0x20($sp) +/* 39291C E009404C 2402004A */ addiu $v0, $zero, 0x4a +/* 392920 E0094050 AFBF0030 */ sw $ra, 0x30($sp) +/* 392924 E0094054 AFB00028 */ sw $s0, 0x28($sp) +/* 392928 E0094058 AFA00010 */ sw $zero, 0x10($sp) +/* 39292C E009405C AFA00024 */ sw $zero, 0x24($sp) +/* 392930 E0094060 0C080124 */ jal func_E0200490 +/* 392934 E0094064 AFA20014 */ sw $v0, 0x14($sp) +/* 392938 E0094068 24040048 */ addiu $a0, $zero, 0x48 +/* 39293C E009406C 24030001 */ addiu $v1, $zero, 1 +/* 392940 E0094070 0040802D */ daddu $s0, $v0, $zero +/* 392944 E0094074 0C08012C */ jal func_E02004B0 +/* 392948 E0094078 AE030008 */ sw $v1, 8($s0) +/* 39294C E009407C 0040182D */ daddu $v1, $v0, $zero +/* 392950 E0094080 14600003 */ bnez $v1, .LE0094090 +/* 392954 E0094084 AE02000C */ sw $v0, 0xc($s0) +.LE0094088: +/* 392958 E0094088 08025022 */ j .LE0094088 +/* 39295C E009408C 00000000 */ nop +.LE0094090: +/* 392960 E0094090 2402001E */ addiu $v0, $zero, 0x1e +/* 392964 E0094094 AC62001C */ sw $v0, 0x1c($v1) +/* 392968 E0094098 240200FF */ addiu $v0, $zero, 0xff +/* 39296C E009409C AC620010 */ sw $v0, 0x10($v1) +/* 392970 E00940A0 AC620014 */ sw $v0, 0x14($v1) +/* 392974 E00940A4 AC620018 */ sw $v0, 0x18($v1) +/* 392978 E00940A8 24020002 */ addiu $v0, $zero, 2 +/* 39297C E00940AC AC710000 */ sw $s1, ($v1) +/* 392980 E00940B0 AC600020 */ sw $zero, 0x20($v1) +/* 392984 E00940B4 E4740004 */ swc1 $f20, 4($v1) +/* 392988 E00940B8 E4760008 */ swc1 $f22, 8($v1) +/* 39298C E00940BC 16220005 */ bne $s1, $v0, .LE00940D4 +/* 392990 E00940C0 E478000C */ swc1 $f24, 0xc($v1) +/* 392994 E00940C4 3C013F80 */ lui $at, 0x3f80 +/* 392998 E00940C8 44810000 */ mtc1 $at, $f0 +/* 39299C E00940CC 08025036 */ j .LE00940D8 +/* 3929A0 E00940D0 E4600024 */ swc1 $f0, 0x24($v1) +.LE00940D4: +/* 3929A4 E00940D4 AC600024 */ sw $zero, 0x24($v1) +.LE00940D8: +/* 3929A8 E00940D8 C7A20060 */ lwc1 $f2, 0x60($sp) +/* 3929AC E00940DC 3C013FE0 */ lui $at, 0x3fe0 +/* 3929B0 E00940E0 44812800 */ mtc1 $at, $f5 +/* 3929B4 E00940E4 44802000 */ mtc1 $zero, $f4 +/* 3929B8 E00940E8 460010A1 */ cvt.d.s $f2, $f2 +/* 3929BC E00940EC 46241082 */ mul.d $f2, $f2, $f4 +/* 3929C0 E00940F0 00000000 */ nop +/* 3929C4 E00940F4 C7A00064 */ lwc1 $f0, 0x64($sp) +/* 3929C8 E00940F8 46000021 */ cvt.d.s $f0, $f0 +/* 3929CC E00940FC 46240002 */ mul.d $f0, $f0, $f4 +/* 3929D0 E0094100 00000000 */ nop +/* 3929D4 E0094104 462010A0 */ cvt.s.d $f2, $f2 +/* 3929D8 E0094108 46200020 */ cvt.s.d $f0, $f0 +/* 3929DC E009410C E4620028 */ swc1 $f2, 0x28($v1) +/* 3929E0 E0094110 0620000C */ bltz $s1, .LE0094144 +/* 3929E4 E0094114 E460002C */ swc1 $f0, 0x2c($v1) +/* 3929E8 E0094118 2A220002 */ slti $v0, $s1, 2 +/* 3929EC E009411C 14400005 */ bnez $v0, .LE0094134 +/* 3929F0 E0094120 240200FF */ addiu $v0, $zero, 0xff +/* 3929F4 E0094124 24020003 */ addiu $v0, $zero, 3 +/* 3929F8 E0094128 16220007 */ bne $s1, $v0, .LE0094148 +/* 3929FC E009412C 24020046 */ addiu $v0, $zero, 0x46 +/* 392A00 E0094130 240200FF */ addiu $v0, $zero, 0xff +.LE0094134: +/* 392A04 E0094134 AC620030 */ sw $v0, 0x30($v1) +/* 392A08 E0094138 AC620034 */ sw $v0, 0x34($v1) +/* 392A0C E009413C 08025058 */ j .LE0094160 +/* 392A10 E0094140 AC600038 */ sw $zero, 0x38($v1) +.LE0094144: +/* 392A14 E0094144 24020046 */ addiu $v0, $zero, 0x46 +.LE0094148: +/* 392A18 E0094148 AC620030 */ sw $v0, 0x30($v1) +/* 392A1C E009414C 240200B4 */ addiu $v0, $zero, 0xb4 +/* 392A20 E0094150 AC620034 */ sw $v0, 0x34($v1) +/* 392A24 E0094154 24020078 */ addiu $v0, $zero, 0x78 +/* 392A28 E0094158 AC620038 */ sw $v0, 0x38($v1) +/* 392A2C E009415C 240200FF */ addiu $v0, $zero, 0xff +.LE0094160: +/* 392A30 E0094160 AC62003C */ sw $v0, 0x3c($v1) +/* 392A34 E0094164 AC620040 */ sw $v0, 0x40($v1) +/* 392A38 E0094168 AC620044 */ sw $v0, 0x44($v1) +/* 392A3C E009416C 0200102D */ daddu $v0, $s0, $zero +/* 392A40 E0094170 8FBF0030 */ lw $ra, 0x30($sp) +/* 392A44 E0094174 8FB1002C */ lw $s1, 0x2c($sp) +/* 392A48 E0094178 8FB00028 */ lw $s0, 0x28($sp) +/* 392A4C E009417C D7B80048 */ ldc1 $f24, 0x48($sp) +/* 392A50 E0094180 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 392A54 E0094184 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 392A58 E0094188 03E00008 */ jr $ra +/* 392A5C E009418C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_3928D0/func_E0094190.s b/asm/nonmatchings/code_3928D0/func_E0094190.s new file mode 100644 index 0000000000..d738f3d2fc --- /dev/null +++ b/asm/nonmatchings/code_3928D0/func_E0094190.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0094190 +/* 392A60 E0094190 03E00008 */ jr $ra +/* 392A64 E0094194 00000000 */ nop diff --git a/asm/nonmatchings/code_3928D0/func_E0094198.s b/asm/nonmatchings/code_3928D0/func_E0094198.s new file mode 100644 index 0000000000..0fd8201a20 --- /dev/null +++ b/asm/nonmatchings/code_3928D0/func_E0094198.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0094198 +/* 392A68 E0094198 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 392A6C E009419C AFBF0010 */ sw $ra, 0x10($sp) +/* 392A70 E00941A0 8C83000C */ lw $v1, 0xc($a0) +/* 392A74 E00941A4 8C65001C */ lw $a1, 0x1c($v1) +/* 392A78 E00941A8 8C660000 */ lw $a2, ($v1) +/* 392A7C E00941AC 28A20064 */ slti $v0, $a1, 0x64 +/* 392A80 E00941B0 10400002 */ beqz $v0, .LE00941BC +/* 392A84 E00941B4 24A2FFFF */ addiu $v0, $a1, -1 +/* 392A88 E00941B8 AC62001C */ sw $v0, 0x1c($v1) +.LE00941BC: +/* 392A8C E00941BC 8C620020 */ lw $v0, 0x20($v1) +/* 392A90 E00941C0 8C65001C */ lw $a1, 0x1c($v1) +/* 392A94 E00941C4 24420001 */ addiu $v0, $v0, 1 +/* 392A98 E00941C8 04A10005 */ bgez $a1, .LE00941E0 +/* 392A9C E00941CC AC620020 */ sw $v0, 0x20($v1) +/* 392AA0 E00941D0 0C080128 */ jal func_E02004A0 +/* 392AA4 E00941D4 00000000 */ nop +/* 392AA8 E00941D8 080250AD */ j .LE00942B4 +/* 392AAC E00941DC 00000000 */ nop +.LE00941E0: +/* 392AB0 E00941E0 0040202D */ daddu $a0, $v0, $zero +/* 392AB4 E00941E4 24020002 */ addiu $v0, $zero, 2 +/* 392AB8 E00941E8 14C2000B */ bne $a2, $v0, .LE0094218 +/* 392ABC E00941EC 28820015 */ slti $v0, $a0, 0x15 +/* 392AC0 E00941F0 10400016 */ beqz $v0, .LE009424C +/* 392AC4 E00941F4 00000000 */ nop +/* 392AC8 E00941F8 C4600024 */ lwc1 $f0, 0x24($v1) +/* 392ACC E00941FC 3C01E009 */ lui $at, 0xe009 +/* 392AD0 E0094200 D42247B0 */ ldc1 $f2, 0x47b0($at) +/* 392AD4 E0094204 46000021 */ cvt.d.s $f0, $f0 +/* 392AD8 E0094208 46220002 */ mul.d $f0, $f0, $f2 +/* 392ADC E009420C 00000000 */ nop +/* 392AE0 E0094210 08025092 */ j .LE0094248 +/* 392AE4 E0094214 46200020 */ cvt.s.d $f0, $f0 +.LE0094218: +/* 392AE8 E0094218 C4600024 */ lwc1 $f0, 0x24($v1) +/* 392AEC E009421C 3C014020 */ lui $at, 0x4020 +/* 392AF0 E0094220 44811800 */ mtc1 $at, $f3 +/* 392AF4 E0094224 44801000 */ mtc1 $zero, $f2 +/* 392AF8 E0094228 46000021 */ cvt.d.s $f0, $f0 +/* 392AFC E009422C 46201081 */ sub.d $f2, $f2, $f0 +/* 392B00 E0094230 3C01E009 */ lui $at, 0xe009 +/* 392B04 E0094234 D42447B8 */ ldc1 $f4, 0x47b8($at) +/* 392B08 E0094238 46241082 */ mul.d $f2, $f2, $f4 +/* 392B0C E009423C 00000000 */ nop +/* 392B10 E0094240 46220000 */ add.d $f0, $f0, $f2 +/* 392B14 E0094244 46200020 */ cvt.s.d $f0, $f0 +.LE0094248: +/* 392B18 E0094248 E4600024 */ swc1 $f0, 0x24($v1) +.LE009424C: +/* 392B1C E009424C 3C01E009 */ lui $at, 0xe009 +/* 392B20 E0094250 D42247C0 */ ldc1 $f2, 0x47c0($at) +/* 392B24 E0094254 C4600014 */ lwc1 $f0, 0x14($v1) +/* 392B28 E0094258 46800021 */ cvt.d.w $f0, $f0 +/* 392B2C E009425C 46220002 */ mul.d $f0, $f0, $f2 +/* 392B30 E0094260 00000000 */ nop +/* 392B34 E0094264 28A20005 */ slti $v0, $a1, 5 +/* 392B38 E0094268 4620018D */ trunc.w.d $f6, $f0 +/* 392B3C E009426C E4660014 */ swc1 $f6, 0x14($v1) +/* 392B40 E0094270 10400009 */ beqz $v0, .LE0094298 +/* 392B44 E0094274 28820007 */ slti $v0, $a0, 7 +/* 392B48 E0094278 3C01E009 */ lui $at, 0xe009 +/* 392B4C E009427C D42247C8 */ ldc1 $f2, 0x47c8($at) +/* 392B50 E0094280 C4600018 */ lwc1 $f0, 0x18($v1) +/* 392B54 E0094284 46800021 */ cvt.d.w $f0, $f0 +/* 392B58 E0094288 46220002 */ mul.d $f0, $f0, $f2 +/* 392B5C E009428C 00000000 */ nop +/* 392B60 E0094290 4620018D */ trunc.w.d $f6, $f0 +/* 392B64 E0094294 E4660018 */ swc1 $f6, 0x18($v1) +.LE0094298: +/* 392B68 E0094298 14400006 */ bnez $v0, .LE00942B4 +/* 392B6C E009429C 00000000 */ nop +/* 392B70 E00942A0 8C620010 */ lw $v0, 0x10($v1) +/* 392B74 E00942A4 2442FFF3 */ addiu $v0, $v0, -0xd +/* 392B78 E00942A8 04410002 */ bgez $v0, .LE00942B4 +/* 392B7C E00942AC AC620010 */ sw $v0, 0x10($v1) +/* 392B80 E00942B0 AC600010 */ sw $zero, 0x10($v1) +.LE00942B4: +/* 392B84 E00942B4 8FBF0010 */ lw $ra, 0x10($sp) +/* 392B88 E00942B8 03E00008 */ jr $ra +/* 392B8C E00942BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3928D0/func_E00942C0.s b/asm/nonmatchings/code_3928D0/func_E00942C0.s new file mode 100644 index 0000000000..707e61c785 --- /dev/null +++ b/asm/nonmatchings/code_3928D0/func_E00942C0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00942C0 +/* 392B90 E00942C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 392B94 E00942C4 3C02E009 */ lui $v0, 0xe009 +/* 392B98 E00942C8 244242FC */ addiu $v0, $v0, 0x42fc +/* 392B9C E00942CC AFA2001C */ sw $v0, 0x1c($sp) +/* 392BA0 E00942D0 2402000A */ addiu $v0, $zero, 0xa +/* 392BA4 E00942D4 AFA20014 */ sw $v0, 0x14($sp) +/* 392BA8 E00942D8 24020022 */ addiu $v0, $zero, 0x22 +/* 392BAC E00942DC AFA40018 */ sw $a0, 0x18($sp) +/* 392BB0 E00942E0 27A40010 */ addiu $a0, $sp, 0x10 +/* 392BB4 E00942E4 AFBF0020 */ sw $ra, 0x20($sp) +/* 392BB8 E00942E8 0C080120 */ jal func_E0200480 +/* 392BBC E00942EC AFA20010 */ sw $v0, 0x10($sp) +/* 392BC0 E00942F0 8FBF0020 */ lw $ra, 0x20($sp) +/* 392BC4 E00942F4 03E00008 */ jr $ra +/* 392BC8 E00942F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3928D0/func_E00942FC.s b/asm/nonmatchings/code_3928D0/func_E00942FC.s new file mode 100644 index 0000000000..75e0fe570b --- /dev/null +++ b/asm/nonmatchings/code_3928D0/func_E00942FC.s @@ -0,0 +1,309 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00942FC +/* 392BCC E00942FC 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 392BD0 E0094300 AFB000D8 */ sw $s0, 0xd8($sp) +/* 392BD4 E0094304 0080802D */ daddu $s0, $a0, $zero +/* 392BD8 E0094308 AFB100DC */ sw $s1, 0xdc($sp) +/* 392BDC E009430C 27B10098 */ addiu $s1, $sp, 0x98 +/* 392BE0 E0094310 3C073F80 */ lui $a3, 0x3f80 +/* 392BE4 E0094314 44800000 */ mtc1 $zero, $f0 +/* 392BE8 E0094318 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 392BEC E009431C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 392BF0 E0094320 0220202D */ daddu $a0, $s1, $zero +/* 392BF4 E0094324 AFB400E8 */ sw $s4, 0xe8($sp) +/* 392BF8 E0094328 3C140001 */ lui $s4, 1 +/* 392BFC E009432C AFBF00F4 */ sw $ra, 0xf4($sp) +/* 392C00 E0094330 AFB600F0 */ sw $s6, 0xf0($sp) +/* 392C04 E0094334 AFB500EC */ sw $s5, 0xec($sp) +/* 392C08 E0094338 AFB300E4 */ sw $s3, 0xe4($sp) +/* 392C0C E009433C AFB200E0 */ sw $s2, 0xe0($sp) +/* 392C10 E0094340 8E12000C */ lw $s2, 0xc($s0) +/* 392C14 E0094344 00031080 */ sll $v0, $v1, 2 +/* 392C18 E0094348 00431021 */ addu $v0, $v0, $v1 +/* 392C1C E009434C 00021080 */ sll $v0, $v0, 2 +/* 392C20 E0094350 00431023 */ subu $v0, $v0, $v1 +/* 392C24 E0094354 000218C0 */ sll $v1, $v0, 3 +/* 392C28 E0094358 00431021 */ addu $v0, $v0, $v1 +/* 392C2C E009435C 000210C0 */ sll $v0, $v0, 3 +/* 392C30 E0094360 44060000 */ mfc1 $a2, $f0 +/* 392C34 E0094364 8E550000 */ lw $s5, ($s2) +/* 392C38 E0094368 3C01800B */ lui $at, 0x800b +/* 392C3C E009436C 00220821 */ addu $at, $at, $v0 +/* 392C40 E0094370 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 392C44 E0094374 8E560020 */ lw $s6, 0x20($s2) +/* 392C48 E0094378 46000007 */ neg.s $f0, $f0 +/* 392C4C E009437C 44050000 */ mfc1 $a1, $f0 +/* 392C50 E0094380 36941630 */ ori $s4, $s4, 0x1630 +/* 392C54 E0094384 0C080104 */ jal func_E0200410 +/* 392C58 E0094388 AFA60010 */ sw $a2, 0x10($sp) +/* 392C5C E009438C 3C04DB06 */ lui $a0, 0xdb06 +/* 392C60 E0094390 3C13800A */ lui $s3, 0x800a +/* 392C64 E0094394 2673A66C */ addiu $s3, $s3, -0x5994 +/* 392C68 E0094398 34840024 */ ori $a0, $a0, 0x24 +/* 392C6C E009439C 8E680000 */ lw $t0, ($s3) +/* 392C70 E00943A0 3C02E700 */ lui $v0, 0xe700 +/* 392C74 E00943A4 0100182D */ daddu $v1, $t0, $zero +/* 392C78 E00943A8 25080008 */ addiu $t0, $t0, 8 +/* 392C7C E00943AC AC620000 */ sw $v0, ($v1) +/* 392C80 E00943B0 AC600004 */ sw $zero, 4($v1) +/* 392C84 E00943B4 AD040000 */ sw $a0, ($t0) +/* 392C88 E00943B8 8E020010 */ lw $v0, 0x10($s0) +/* 392C8C E00943BC 27A40018 */ addiu $a0, $sp, 0x18 +/* 392C90 E00943C0 AE680000 */ sw $t0, ($s3) +/* 392C94 E00943C4 8C42001C */ lw $v0, 0x1c($v0) +/* 392C98 E00943C8 3C038000 */ lui $v1, 0x8000 +/* 392C9C E00943CC 00431021 */ addu $v0, $v0, $v1 +/* 392CA0 E00943D0 AD020004 */ sw $v0, 4($t0) +/* 392CA4 E00943D4 8E450004 */ lw $a1, 4($s2) +/* 392CA8 E00943D8 8E460008 */ lw $a2, 8($s2) +/* 392CAC E00943DC 8E47000C */ lw $a3, 0xc($s2) +/* 392CB0 E00943E0 25080008 */ addiu $t0, $t0, 8 +/* 392CB4 E00943E4 0C080108 */ jal func_E0200420 +/* 392CB8 E00943E8 AE680000 */ sw $t0, ($s3) +/* 392CBC E00943EC 0220202D */ daddu $a0, $s1, $zero +/* 392CC0 E00943F0 27A50018 */ addiu $a1, $sp, 0x18 +/* 392CC4 E00943F4 0C080114 */ jal func_E0200450 +/* 392CC8 E00943F8 00A0302D */ daddu $a2, $a1, $zero +/* 392CCC E00943FC 27A40018 */ addiu $a0, $sp, 0x18 +/* 392CD0 E0094400 3C108007 */ lui $s0, 0x8007 +/* 392CD4 E0094404 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 392CD8 E0094408 3C11800A */ lui $s1, 0x800a +/* 392CDC E009440C 2631A674 */ addiu $s1, $s1, -0x598c +/* 392CE0 E0094410 96050000 */ lhu $a1, ($s0) +/* 392CE4 E0094414 8E220000 */ lw $v0, ($s1) +/* 392CE8 E0094418 00052980 */ sll $a1, $a1, 6 +/* 392CEC E009441C 00B42821 */ addu $a1, $a1, $s4 +/* 392CF0 E0094420 0C080118 */ jal func_E0200460 +/* 392CF4 E0094424 00452821 */ addu $a1, $v0, $a1 +/* 392CF8 E0094428 3C03DA38 */ lui $v1, 0xda38 +/* 392CFC E009442C 34630002 */ ori $v1, $v1, 2 +/* 392D00 E0094430 8E660000 */ lw $a2, ($s3) +/* 392D04 E0094434 96020000 */ lhu $v0, ($s0) +/* 392D08 E0094438 00C0202D */ daddu $a0, $a2, $zero +/* 392D0C E009443C 24C60008 */ addiu $a2, $a2, 8 +/* 392D10 E0094440 AE660000 */ sw $a2, ($s3) +/* 392D14 E0094444 AC830000 */ sw $v1, ($a0) +/* 392D18 E0094448 24430001 */ addiu $v1, $v0, 1 +/* 392D1C E009444C 3042FFFF */ andi $v0, $v0, 0xffff +/* 392D20 E0094450 00021180 */ sll $v0, $v0, 6 +/* 392D24 E0094454 A6030000 */ sh $v1, ($s0) +/* 392D28 E0094458 8E230000 */ lw $v1, ($s1) +/* 392D2C E009445C 00541021 */ addu $v0, $v0, $s4 +/* 392D30 E0094460 00621821 */ addu $v1, $v1, $v0 +/* 392D34 E0094464 24C20008 */ addiu $v0, $a2, 8 +/* 392D38 E0094468 AC830004 */ sw $v1, 4($a0) +/* 392D3C E009446C AE620000 */ sw $v0, ($s3) +/* 392D40 E0094470 3C02FA00 */ lui $v0, 0xfa00 +/* 392D44 E0094474 ACC20000 */ sw $v0, ($a2) +/* 392D48 E0094478 92420033 */ lbu $v0, 0x33($s2) +/* 392D4C E009447C 92440037 */ lbu $a0, 0x37($s2) +/* 392D50 E0094480 9245003B */ lbu $a1, 0x3b($s2) +/* 392D54 E0094484 9247001B */ lbu $a3, 0x1b($s2) +/* 392D58 E0094488 24C30010 */ addiu $v1, $a2, 0x10 +/* 392D5C E009448C AE630000 */ sw $v1, ($s3) +/* 392D60 E0094490 3C03FB00 */ lui $v1, 0xfb00 +/* 392D64 E0094494 ACC30008 */ sw $v1, 8($a2) +/* 392D68 E0094498 00021600 */ sll $v0, $v0, 0x18 +/* 392D6C E009449C 00042400 */ sll $a0, $a0, 0x10 +/* 392D70 E00944A0 00441025 */ or $v0, $v0, $a0 +/* 392D74 E00944A4 00052A00 */ sll $a1, $a1, 8 +/* 392D78 E00944A8 00451025 */ or $v0, $v0, $a1 +/* 392D7C E00944AC 00471025 */ or $v0, $v0, $a3 +/* 392D80 E00944B0 ACC20004 */ sw $v0, 4($a2) +/* 392D84 E00944B4 9242003F */ lbu $v0, 0x3f($s2) +/* 392D88 E00944B8 92440043 */ lbu $a0, 0x43($s2) +/* 392D8C E00944BC 92430047 */ lbu $v1, 0x47($s2) +/* 392D90 E00944C0 00021600 */ sll $v0, $v0, 0x18 +/* 392D94 E00944C4 00042400 */ sll $a0, $a0, 0x10 +/* 392D98 E00944C8 00441025 */ or $v0, $v0, $a0 +/* 392D9C E00944CC 00031A00 */ sll $v1, $v1, 8 +/* 392DA0 E00944D0 00431025 */ or $v0, $v0, $v1 +/* 392DA4 E00944D4 ACC2000C */ sw $v0, 0xc($a2) +/* 392DA8 E00944D8 2EA20002 */ sltiu $v0, $s5, 2 +/* 392DAC E00944DC 10400041 */ beqz $v0, .LE00945E4 +/* 392DB0 E00944E0 32C20001 */ andi $v0, $s6, 1 +/* 392DB4 E00944E4 10400040 */ beqz $v0, .LE00945E8 +/* 392DB8 E00944E8 26A2FFFF */ addiu $v0, $s5, -1 +/* 392DBC E00944EC 8E450028 */ lw $a1, 0x28($s2) +/* 392DC0 E00944F0 8E46002C */ lw $a2, 0x2c($s2) +/* 392DC4 E00944F4 3C073F89 */ lui $a3, 0x3f89 +/* 392DC8 E00944F8 34E72492 */ ori $a3, $a3, 0x2492 +/* 392DCC E00944FC 0C080110 */ jal func_E0200440 +/* 392DD0 E0094500 27A40018 */ addiu $a0, $sp, 0x18 +/* 392DD4 E0094504 27A40018 */ addiu $a0, $sp, 0x18 +/* 392DD8 E0094508 96050000 */ lhu $a1, ($s0) +/* 392DDC E009450C 8E220000 */ lw $v0, ($s1) +/* 392DE0 E0094510 00052980 */ sll $a1, $a1, 6 +/* 392DE4 E0094514 00B42821 */ addu $a1, $a1, $s4 +/* 392DE8 E0094518 0C080118 */ jal func_E0200460 +/* 392DEC E009451C 00452821 */ addu $a1, $v0, $a1 +/* 392DF0 E0094520 3C08D838 */ lui $t0, 0xd838 +/* 392DF4 E0094524 35080002 */ ori $t0, $t0, 2 +/* 392DF8 E0094528 3C03DA38 */ lui $v1, 0xda38 +/* 392DFC E009452C 8E660000 */ lw $a2, ($s3) +/* 392E00 E0094530 3C07DE00 */ lui $a3, 0xde00 +/* 392E04 E0094534 00C0202D */ daddu $a0, $a2, $zero +/* 392E08 E0094538 24C60008 */ addiu $a2, $a2, 8 +/* 392E0C E009453C AE660000 */ sw $a2, ($s3) +/* 392E10 E0094540 96020000 */ lhu $v0, ($s0) +/* 392E14 E0094544 3C05F200 */ lui $a1, 0xf200 +/* 392E18 E0094548 AC830000 */ sw $v1, ($a0) +/* 392E1C E009454C 24430001 */ addiu $v1, $v0, 1 +/* 392E20 E0094550 3042FFFF */ andi $v0, $v0, 0xffff +/* 392E24 E0094554 00021180 */ sll $v0, $v0, 6 +/* 392E28 E0094558 A6030000 */ sh $v1, ($s0) +/* 392E2C E009455C 8E230000 */ lw $v1, ($s1) +/* 392E30 E0094560 00541021 */ addu $v0, $v0, $s4 +/* 392E34 E0094564 00621821 */ addu $v1, $v1, $v0 +/* 392E38 E0094568 24C20008 */ addiu $v0, $a2, 8 +/* 392E3C E009456C AC830004 */ sw $v1, 4($a0) +/* 392E40 E0094570 AE620000 */ sw $v0, ($s3) +/* 392E44 E0094574 3C020900 */ lui $v0, 0x900 +/* 392E48 E0094578 24420600 */ addiu $v0, $v0, 0x600 +/* 392E4C E009457C ACC20004 */ sw $v0, 4($a2) +/* 392E50 E0094580 24C20010 */ addiu $v0, $a2, 0x10 +/* 392E54 E0094584 001618C0 */ sll $v1, $s6, 3 +/* 392E58 E0094588 ACC70000 */ sw $a3, ($a2) +/* 392E5C E009458C AE620000 */ sw $v0, ($s3) +/* 392E60 E0094590 30620FFF */ andi $v0, $v1, 0xfff +/* 392E64 E0094594 00022300 */ sll $a0, $v0, 0xc +/* 392E68 E0094598 00451025 */ or $v0, $v0, $a1 +/* 392E6C E009459C 00822025 */ or $a0, $a0, $v0 +/* 392E70 E00945A0 24630080 */ addiu $v1, $v1, 0x80 +/* 392E74 E00945A4 30630FFF */ andi $v1, $v1, 0xfff +/* 392E78 E00945A8 00031300 */ sll $v0, $v1, 0xc +/* 392E7C E00945AC 00431025 */ or $v0, $v0, $v1 +/* 392E80 E00945B0 ACC2000C */ sw $v0, 0xc($a2) +/* 392E84 E00945B4 24C20018 */ addiu $v0, $a2, 0x18 +/* 392E88 E00945B8 ACC40008 */ sw $a0, 8($a2) +/* 392E8C E00945BC AE620000 */ sw $v0, ($s3) +/* 392E90 E00945C0 3C020900 */ lui $v0, 0x900 +/* 392E94 E00945C4 244208E8 */ addiu $v0, $v0, 0x8e8 +/* 392E98 E00945C8 ACC20014 */ sw $v0, 0x14($a2) +/* 392E9C E00945CC 24C20020 */ addiu $v0, $a2, 0x20 +/* 392EA0 E00945D0 ACC70010 */ sw $a3, 0x10($a2) +/* 392EA4 E00945D4 AE620000 */ sw $v0, ($s3) +/* 392EA8 E00945D8 24020040 */ addiu $v0, $zero, 0x40 +/* 392EAC E00945DC ACC80018 */ sw $t0, 0x18($a2) +/* 392EB0 E00945E0 ACC2001C */ sw $v0, 0x1c($a2) +.LE00945E4: +/* 392EB4 E00945E4 26A2FFFF */ addiu $v0, $s5, -1 +.LE00945E8: +/* 392EB8 E00945E8 2C420003 */ sltiu $v0, $v0, 3 +/* 392EBC E00945EC 10400059 */ beqz $v0, .LE0094754 +/* 392EC0 E00945F0 24020001 */ addiu $v0, $zero, 1 +/* 392EC4 E00945F4 16A2000D */ bne $s5, $v0, .LE009462C +/* 392EC8 E00945F8 00000000 */ nop +/* 392ECC E00945FC 3C03800A */ lui $v1, 0x800a +/* 392ED0 E0094600 2463A66C */ addiu $v1, $v1, -0x5994 +/* 392ED4 E0094604 8C620000 */ lw $v0, ($v1) +/* 392ED8 E0094608 0040202D */ daddu $a0, $v0, $zero +/* 392EDC E009460C 24420008 */ addiu $v0, $v0, 8 +/* 392EE0 E0094610 AC620000 */ sw $v0, ($v1) +/* 392EE4 E0094614 3C02FA00 */ lui $v0, 0xfa00 +/* 392EE8 E0094618 AC820000 */ sw $v0, ($a0) +/* 392EEC E009461C 92420017 */ lbu $v0, 0x17($s2) +/* 392EF0 E0094620 3C03FFFF */ lui $v1, 0xffff +/* 392EF4 E0094624 00431025 */ or $v0, $v0, $v1 +/* 392EF8 E0094628 AC820004 */ sw $v0, 4($a0) +.LE009462C: +/* 392EFC E009462C 44800000 */ mtc1 $zero, $f0 +/* 392F00 E0094630 27A40018 */ addiu $a0, $sp, 0x18 +/* 392F04 E0094634 44050000 */ mfc1 $a1, $f0 +/* 392F08 E0094638 8E46002C */ lw $a2, 0x2c($s2) +/* 392F0C E009463C 0C080108 */ jal func_E0200420 +/* 392F10 E0094640 00A0382D */ daddu $a3, $a1, $zero +/* 392F14 E0094644 C6400024 */ lwc1 $f0, 0x24($s2) +/* 392F18 E0094648 3C013FD0 */ lui $at, 0x3fd0 +/* 392F1C E009464C 44811800 */ mtc1 $at, $f3 +/* 392F20 E0094650 44801000 */ mtc1 $zero, $f2 +/* 392F24 E0094654 46000021 */ cvt.d.s $f0, $f0 +/* 392F28 E0094658 46220002 */ mul.d $f0, $f0, $f2 +/* 392F2C E009465C 00000000 */ nop +/* 392F30 E0094660 3C120001 */ lui $s2, 1 +/* 392F34 E0094664 36521630 */ ori $s2, $s2, 0x1630 +/* 392F38 E0094668 27B00058 */ addiu $s0, $sp, 0x58 +/* 392F3C E009466C 0200202D */ daddu $a0, $s0, $zero +/* 392F40 E0094670 46200020 */ cvt.s.d $f0, $f0 +/* 392F44 E0094674 44050000 */ mfc1 $a1, $f0 +/* 392F48 E0094678 3C073F80 */ lui $a3, 0x3f80 +/* 392F4C E009467C 0C080110 */ jal func_E0200440 +/* 392F50 E0094680 00A0302D */ daddu $a2, $a1, $zero +/* 392F54 E0094684 0200202D */ daddu $a0, $s0, $zero +/* 392F58 E0094688 27A50018 */ addiu $a1, $sp, 0x18 +/* 392F5C E009468C 0C080114 */ jal func_E0200450 +/* 392F60 E0094690 00A0302D */ daddu $a2, $a1, $zero +/* 392F64 E0094694 27A40018 */ addiu $a0, $sp, 0x18 +/* 392F68 E0094698 3C108007 */ lui $s0, 0x8007 +/* 392F6C E009469C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 392F70 E00946A0 3C11800A */ lui $s1, 0x800a +/* 392F74 E00946A4 2631A674 */ addiu $s1, $s1, -0x598c +/* 392F78 E00946A8 96050000 */ lhu $a1, ($s0) +/* 392F7C E00946AC 8E220000 */ lw $v0, ($s1) +/* 392F80 E00946B0 00052980 */ sll $a1, $a1, 6 +/* 392F84 E00946B4 00B22821 */ addu $a1, $a1, $s2 +/* 392F88 E00946B8 0C080118 */ jal func_E0200460 +/* 392F8C E00946BC 00452821 */ addu $a1, $v0, $a1 +/* 392F90 E00946C0 3C07D838 */ lui $a3, 0xd838 +/* 392F94 E00946C4 3C05800A */ lui $a1, 0x800a +/* 392F98 E00946C8 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 392F9C E00946CC 8CA40000 */ lw $a0, ($a1) +/* 392FA0 E00946D0 34E70002 */ ori $a3, $a3, 2 +/* 392FA4 E00946D4 0080302D */ daddu $a2, $a0, $zero +/* 392FA8 E00946D8 24840008 */ addiu $a0, $a0, 8 +/* 392FAC E00946DC ACA40000 */ sw $a0, ($a1) +/* 392FB0 E00946E0 96020000 */ lhu $v0, ($s0) +/* 392FB4 E00946E4 3C03DA38 */ lui $v1, 0xda38 +/* 392FB8 E00946E8 ACC30000 */ sw $v1, ($a2) +/* 392FBC E00946EC 24430001 */ addiu $v1, $v0, 1 +/* 392FC0 E00946F0 3042FFFF */ andi $v0, $v0, 0xffff +/* 392FC4 E00946F4 00021180 */ sll $v0, $v0, 6 +/* 392FC8 E00946F8 A6030000 */ sh $v1, ($s0) +/* 392FCC E00946FC 8E230000 */ lw $v1, ($s1) +/* 392FD0 E0094700 00521021 */ addu $v0, $v0, $s2 +/* 392FD4 E0094704 00621821 */ addu $v1, $v1, $v0 +/* 392FD8 E0094708 24820008 */ addiu $v0, $a0, 8 +/* 392FDC E009470C ACC30004 */ sw $v1, 4($a2) +/* 392FE0 E0094710 3C03DE00 */ lui $v1, 0xde00 +/* 392FE4 E0094714 ACA20000 */ sw $v0, ($a1) +/* 392FE8 E0094718 3C020900 */ lui $v0, 0x900 +/* 392FEC E009471C 24420950 */ addiu $v0, $v0, 0x950 +/* 392FF0 E0094720 AC820004 */ sw $v0, 4($a0) +/* 392FF4 E0094724 24820010 */ addiu $v0, $a0, 0x10 +/* 392FF8 E0094728 AC830000 */ sw $v1, ($a0) +/* 392FFC E009472C ACA20000 */ sw $v0, ($a1) +/* 393000 E0094730 3C020900 */ lui $v0, 0x900 +/* 393004 E0094734 24420FF8 */ addiu $v0, $v0, 0xff8 +/* 393008 E0094738 AC82000C */ sw $v0, 0xc($a0) +/* 39300C E009473C 24820018 */ addiu $v0, $a0, 0x18 +/* 393010 E0094740 AC830008 */ sw $v1, 8($a0) +/* 393014 E0094744 ACA20000 */ sw $v0, ($a1) +/* 393018 E0094748 24020040 */ addiu $v0, $zero, 0x40 +/* 39301C E009474C AC870010 */ sw $a3, 0x10($a0) +/* 393020 E0094750 AC820014 */ sw $v0, 0x14($a0) +.LE0094754: +/* 393024 E0094754 3C05D838 */ lui $a1, 0xd838 +/* 393028 E0094758 3C03800A */ lui $v1, 0x800a +/* 39302C E009475C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 393030 E0094760 8C620000 */ lw $v0, ($v1) +/* 393034 E0094764 34A50002 */ ori $a1, $a1, 2 +/* 393038 E0094768 0040202D */ daddu $a0, $v0, $zero +/* 39303C E009476C 24420008 */ addiu $v0, $v0, 8 +/* 393040 E0094770 AC620000 */ sw $v0, ($v1) +/* 393044 E0094774 24020040 */ addiu $v0, $zero, 0x40 +/* 393048 E0094778 AC850000 */ sw $a1, ($a0) +/* 39304C E009477C AC820004 */ sw $v0, 4($a0) +/* 393050 E0094780 8FBF00F4 */ lw $ra, 0xf4($sp) +/* 393054 E0094784 8FB600F0 */ lw $s6, 0xf0($sp) +/* 393058 E0094788 8FB500EC */ lw $s5, 0xec($sp) +/* 39305C E009478C 8FB400E8 */ lw $s4, 0xe8($sp) +/* 393060 E0094790 8FB300E4 */ lw $s3, 0xe4($sp) +/* 393064 E0094794 8FB200E0 */ lw $s2, 0xe0($sp) +/* 393068 E0094798 8FB100DC */ lw $s1, 0xdc($sp) +/* 39306C E009479C 8FB000D8 */ lw $s0, 0xd8($sp) +/* 393070 E00947A0 03E00008 */ jr $ra +/* 393074 E00947A4 27BD00F8 */ addiu $sp, $sp, 0xf8 +/* 393078 E00947A8 00000000 */ nop +/* 39307C E00947AC 00000000 */ nop diff --git a/asm/nonmatchings/code_3A37E0/func_E00A4000.s b/asm/nonmatchings/code_3A37E0/func_E00A4000.s new file mode 100644 index 0000000000..417159c6e6 --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A4000.s @@ -0,0 +1,115 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A4000 +/* 3A37E0 E00A4000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3A37E4 E00A4004 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 3A37E8 E00A4008 4485B000 */ mtc1 $a1, $f22 +/* 3A37EC E00A400C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 3A37F0 E00A4010 4486C000 */ mtc1 $a2, $f24 +/* 3A37F4 E00A4014 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 3A37F8 E00A4018 4487D000 */ mtc1 $a3, $f26 +/* 3A37FC E00A401C AFB1002C */ sw $s1, 0x2c($sp) +/* 3A3800 E00A4020 0080882D */ daddu $s1, $a0, $zero +/* 3A3804 E00A4024 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 3A3808 E00A4028 C7B40068 */ lwc1 $f20, 0x68($sp) +/* 3A380C E00A402C 27A40010 */ addiu $a0, $sp, 0x10 +/* 3A3810 E00A4030 AFB20030 */ sw $s2, 0x30($sp) +/* 3A3814 E00A4034 8FB2006C */ lw $s2, 0x6c($sp) +/* 3A3818 E00A4038 3C02E00A */ lui $v0, 0xe00a +/* 3A381C E00A403C 244241A4 */ addiu $v0, $v0, 0x41a4 +/* 3A3820 E00A4040 AFA20018 */ sw $v0, 0x18($sp) +/* 3A3824 E00A4044 3C02E00A */ lui $v0, 0xe00a +/* 3A3828 E00A4048 244241AC */ addiu $v0, $v0, 0x41ac +/* 3A382C E00A404C AFA2001C */ sw $v0, 0x1c($sp) +/* 3A3830 E00A4050 3C02E00A */ lui $v0, 0xe00a +/* 3A3834 E00A4054 244245DC */ addiu $v0, $v0, 0x45dc +/* 3A3838 E00A4058 AFA20020 */ sw $v0, 0x20($sp) +/* 3A383C E00A405C 24020052 */ addiu $v0, $zero, 0x52 +/* 3A3840 E00A4060 AFBF0034 */ sw $ra, 0x34($sp) +/* 3A3844 E00A4064 AFB00028 */ sw $s0, 0x28($sp) +/* 3A3848 E00A4068 AFA00010 */ sw $zero, 0x10($sp) +/* 3A384C E00A406C AFA00024 */ sw $zero, 0x24($sp) +/* 3A3850 E00A4070 0C080124 */ jal func_E0200490 +/* 3A3854 E00A4074 AFA20014 */ sw $v0, 0x14($sp) +/* 3A3858 E00A4078 24040038 */ addiu $a0, $zero, 0x38 +/* 3A385C E00A407C 24030001 */ addiu $v1, $zero, 1 +/* 3A3860 E00A4080 0040802D */ daddu $s0, $v0, $zero +/* 3A3864 E00A4084 0C08012C */ jal func_E02004B0 +/* 3A3868 E00A4088 AE030008 */ sw $v1, 8($s0) +/* 3A386C E00A408C 0040182D */ daddu $v1, $v0, $zero +/* 3A3870 E00A4090 14600003 */ bnez $v1, .LE00A40A0 +/* 3A3874 E00A4094 AE02000C */ sw $v0, 0xc($s0) +.LE00A4098: +/* 3A3878 E00A4098 08029026 */ j .LE00A4098 +/* 3A387C E00A409C 00000000 */ nop +.LE00A40A0: +/* 3A3880 E00A40A0 AC710000 */ sw $s1, ($v1) +/* 3A3884 E00A40A4 1E400004 */ bgtz $s2, .LE00A40B8 +/* 3A3888 E00A40A8 AC600014 */ sw $zero, 0x14($v1) +/* 3A388C E00A40AC 24020064 */ addiu $v0, $zero, 0x64 +/* 3A3890 E00A40B0 0802902F */ j .LE00A40BC +/* 3A3894 E00A40B4 AC620010 */ sw $v0, 0x10($v1) +.LE00A40B8: +/* 3A3898 E00A40B8 AC720010 */ sw $s2, 0x10($v1) +.LE00A40BC: +/* 3A389C E00A40BC 2E220007 */ sltiu $v0, $s1, 7 +/* 3A38A0 E00A40C0 AC60002C */ sw $zero, 0x2c($v1) +/* 3A38A4 E00A40C4 E4760004 */ swc1 $f22, 4($v1) +/* 3A38A8 E00A40C8 E4780008 */ swc1 $f24, 8($v1) +/* 3A38AC E00A40CC E47A000C */ swc1 $f26, 0xc($v1) +/* 3A38B0 E00A40D0 E4740030 */ swc1 $f20, 0x30($v1) +/* 3A38B4 E00A40D4 1040001B */ beqz $v0, .LE00A4144 +/* 3A38B8 E00A40D8 AC600018 */ sw $zero, 0x18($v1) +/* 3A38BC E00A40DC 00111080 */ sll $v0, $s1, 2 +/* 3A38C0 E00A40E0 3C01E00A */ lui $at, 0xe00a +/* 3A38C4 E00A40E4 00220821 */ addu $at, $at, $v0 +/* 3A38C8 E00A40E8 8C224AD0 */ lw $v0, 0x4ad0($at) +/* 3A38CC E00A40EC 00400008 */ jr $v0 +/* 3A38D0 E00A40F0 00000000 */ nop +/* 3A38D4 E00A40F4 0802905E */ j .LE00A4178 +/* 3A38D8 E00A40F8 AC60001C */ sw $zero, 0x1c($v1) +/* 3A38DC E00A40FC 24020002 */ addiu $v0, $zero, 2 +/* 3A38E0 E00A4100 0802905E */ j .LE00A4178 +/* 3A38E4 E00A4104 AC62001C */ sw $v0, 0x1c($v1) +/* 3A38E8 E00A4108 24020004 */ addiu $v0, $zero, 4 +/* 3A38EC E00A410C 0802905E */ j .LE00A4178 +/* 3A38F0 E00A4110 AC62001C */ sw $v0, 0x1c($v1) +/* 3A38F4 E00A4114 24020006 */ addiu $v0, $zero, 6 +/* 3A38F8 E00A4118 0802905E */ j .LE00A4178 +/* 3A38FC E00A411C AC62001C */ sw $v0, 0x1c($v1) +/* 3A3900 E00A4120 24020007 */ addiu $v0, $zero, 7 +/* 3A3904 E00A4124 0802905E */ j .LE00A4178 +/* 3A3908 E00A4128 AC62001C */ sw $v0, 0x1c($v1) +/* 3A390C E00A412C 24020008 */ addiu $v0, $zero, 8 +/* 3A3910 E00A4130 0802905E */ j .LE00A4178 +/* 3A3914 E00A4134 AC62001C */ sw $v0, 0x1c($v1) +/* 3A3918 E00A4138 24020009 */ addiu $v0, $zero, 9 +/* 3A391C E00A413C 0802905E */ j .LE00A4178 +/* 3A3920 E00A4140 AC62001C */ sw $v0, 0x1c($v1) +.LE00A4144: +/* 3A3924 E00A4144 2402000A */ addiu $v0, $zero, 0xa +/* 3A3928 E00A4148 3C01E00A */ lui $at, 0xe00a +/* 3A392C E00A414C D4224AF0 */ ldc1 $f2, 0x4af0($at) +/* 3A3930 E00A4150 4600A021 */ cvt.d.s $f0, $f20 +/* 3A3934 E00A4154 46220001 */ sub.d $f0, $f0, $f2 +/* 3A3938 E00A4158 AC62001C */ sw $v0, 0x1c($v1) +/* 3A393C E00A415C 44921000 */ mtc1 $s2, $f2 +/* 3A3940 E00A4160 00000000 */ nop +/* 3A3944 E00A4164 468010A1 */ cvt.d.w $f2, $f2 +/* 3A3948 E00A4168 46200007 */ neg.d $f0, $f0 +/* 3A394C E00A416C 46220003 */ div.d $f0, $f0, $f2 +/* 3A3950 E00A4170 46200020 */ cvt.s.d $f0, $f0 +/* 3A3954 E00A4174 E4600034 */ swc1 $f0, 0x34($v1) +.LE00A4178: +/* 3A3958 E00A4178 0200102D */ daddu $v0, $s0, $zero +/* 3A395C E00A417C 8FBF0034 */ lw $ra, 0x34($sp) +/* 3A3960 E00A4180 8FB20030 */ lw $s2, 0x30($sp) +/* 3A3964 E00A4184 8FB1002C */ lw $s1, 0x2c($sp) +/* 3A3968 E00A4188 8FB00028 */ lw $s0, 0x28($sp) +/* 3A396C E00A418C D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 3A3970 E00A4190 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 3A3974 E00A4194 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 3A3978 E00A4198 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 3A397C E00A419C 03E00008 */ jr $ra +/* 3A3980 E00A41A0 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_3A37E0/func_E00A41A4.s b/asm/nonmatchings/code_3A37E0/func_E00A41A4.s new file mode 100644 index 0000000000..62eaa1f74b --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A41A4.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A41A4 +/* 3A3984 E00A41A4 03E00008 */ jr $ra +/* 3A3988 E00A41A8 00000000 */ nop diff --git a/asm/nonmatchings/code_3A37E0/func_E00A41AC.s b/asm/nonmatchings/code_3A37E0/func_E00A41AC.s new file mode 100644 index 0000000000..6960bdb865 --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A41AC.s @@ -0,0 +1,285 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A41AC +/* 3A398C E00A41AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 3A3990 E00A41B0 AFBF0018 */ sw $ra, 0x18($sp) +/* 3A3994 E00A41B4 AFB10014 */ sw $s1, 0x14($sp) +/* 3A3998 E00A41B8 AFB00010 */ sw $s0, 0x10($sp) +/* 3A399C E00A41BC 8C830000 */ lw $v1, ($a0) +/* 3A39A0 E00A41C0 8C90000C */ lw $s0, 0xc($a0) +/* 3A39A4 E00A41C4 30620010 */ andi $v0, $v1, 0x10 +/* 3A39A8 E00A41C8 10400005 */ beqz $v0, .LE00A41E0 +/* 3A39AC E00A41CC 2402FFEF */ addiu $v0, $zero, -0x11 +/* 3A39B0 E00A41D0 00621024 */ and $v0, $v1, $v0 +/* 3A39B4 E00A41D4 AC820000 */ sw $v0, ($a0) +/* 3A39B8 E00A41D8 2402001E */ addiu $v0, $zero, 0x1e +/* 3A39BC E00A41DC AE020010 */ sw $v0, 0x10($s0) +.LE00A41E0: +/* 3A39C0 E00A41E0 8E030010 */ lw $v1, 0x10($s0) +/* 3A39C4 E00A41E4 28620064 */ slti $v0, $v1, 0x64 +/* 3A39C8 E00A41E8 10400002 */ beqz $v0, .LE00A41F4 +/* 3A39CC E00A41EC 2462FFFF */ addiu $v0, $v1, -1 +/* 3A39D0 E00A41F0 AE020010 */ sw $v0, 0x10($s0) +.LE00A41F4: +/* 3A39D4 E00A41F4 8E020014 */ lw $v0, 0x14($s0) +/* 3A39D8 E00A41F8 8E050010 */ lw $a1, 0x10($s0) +/* 3A39DC E00A41FC 24420001 */ addiu $v0, $v0, 1 +/* 3A39E0 E00A4200 04A10005 */ bgez $a1, .LE00A4218 +/* 3A39E4 E00A4204 AE020014 */ sw $v0, 0x14($s0) +/* 3A39E8 E00A4208 0C080128 */ jal func_E02004A0 +/* 3A39EC E00A420C 00000000 */ nop +/* 3A39F0 E00A4210 08029172 */ j .LE00A45C8 +/* 3A39F4 E00A4214 00000000 */ nop +.LE00A4218: +/* 3A39F8 E00A4218 241100FF */ addiu $s1, $zero, 0xff +/* 3A39FC E00A421C 0040182D */ daddu $v1, $v0, $zero +/* 3A3A00 E00A4220 8E04001C */ lw $a0, 0x1c($s0) +/* 3A3A04 E00A4224 28620010 */ slti $v0, $v1, 0x10 +/* 3A3A08 E00A4228 10400003 */ beqz $v0, .LE00A4238 +/* 3A3A0C E00A422C 0220302D */ daddu $a2, $s1, $zero +/* 3A3A10 E00A4230 00031100 */ sll $v0, $v1, 4 +/* 3A3A14 E00A4234 2451FFFF */ addiu $s1, $v0, -1 +.LE00A4238: +/* 3A3A18 E00A4238 28A20010 */ slti $v0, $a1, 0x10 +/* 3A3A1C E00A423C 10400008 */ beqz $v0, .LE00A4260 +/* 3A3A20 E00A4240 2C82000A */ sltiu $v0, $a0, 0xa +/* 3A3A24 E00A4244 02250018 */ mult $s1, $a1 +/* 3A3A28 E00A4248 00001012 */ mflo $v0 +/* 3A3A2C E00A424C 04420001 */ bltzl $v0, .LE00A4254 +/* 3A3A30 E00A4250 2442000F */ addiu $v0, $v0, 0xf +.LE00A4254: +/* 3A3A34 E00A4254 00028903 */ sra $s1, $v0, 4 +/* 3A3A38 E00A4258 00053100 */ sll $a2, $a1, 4 +/* 3A3A3C E00A425C 2C82000A */ sltiu $v0, $a0, 0xa +.LE00A4260: +/* 3A3A40 E00A4260 104000C4 */ beqz $v0, .LE00A4574 +/* 3A3A44 E00A4264 00041080 */ sll $v0, $a0, 2 +/* 3A3A48 E00A4268 3C01E00A */ lui $at, 0xe00a +/* 3A3A4C E00A426C 00220821 */ addu $at, $at, $v0 +/* 3A3A50 E00A4270 8C224AF8 */ lw $v0, 0x4af8($at) +/* 3A3A54 E00A4274 00400008 */ jr $v0 +/* 3A3A58 E00A4278 00000000 */ nop +/* 3A3A5C E00A427C 00031040 */ sll $v0, $v1, 1 +/* 3A3A60 E00A4280 44826000 */ mtc1 $v0, $f12 +/* 3A3A64 E00A4284 00000000 */ nop +/* 3A3A68 E00A4288 46806320 */ cvt.s.w $f12, $f12 +/* 3A3A6C E00A428C 24020046 */ addiu $v0, $zero, 0x46 +/* 3A3A70 E00A4290 AE020020 */ sw $v0, 0x20($s0) +/* 3A3A74 E00A4294 240200B4 */ addiu $v0, $zero, 0xb4 +/* 3A3A78 E00A4298 AE020024 */ sw $v0, 0x24($s0) +/* 3A3A7C E00A429C 24020078 */ addiu $v0, $zero, 0x78 +/* 3A3A80 E00A42A0 0C080140 */ jal func_E0200500 +/* 3A3A84 E00A42A4 AE020028 */ sw $v0, 0x28($s0) +/* 3A3A88 E00A42A8 3C014120 */ lui $at, 0x4120 +/* 3A3A8C E00A42AC 44811000 */ mtc1 $at, $f2 +/* 3A3A90 E00A42B0 00000000 */ nop +/* 3A3A94 E00A42B4 46020002 */ mul.s $f0, $f0, $f2 +/* 3A3A98 E00A42B8 00000000 */ nop +/* 3A3A9C E00A42BC 3C01433E */ lui $at, 0x433e +/* 3A3AA0 E00A42C0 44811000 */ mtc1 $at, $f2 +/* 3A3AA4 E00A42C4 080290F4 */ j .LE00A43D0 +/* 3A3AA8 E00A42C8 46020000 */ add.s $f0, $f0, $f2 +/* 3A3AAC E00A42CC 240500FF */ addiu $a1, $zero, 0xff +/* 3A3AB0 E00A42D0 02250018 */ mult $s1, $a1 +/* 3A3AB4 E00A42D4 3C048080 */ lui $a0, 0x8080 +/* 3A3AB8 E00A42D8 00001812 */ mflo $v1 +/* 3A3ABC E00A42DC 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3AC0 E00A42E0 24020046 */ addiu $v0, $zero, 0x46 +/* 3A3AC4 E00A42E4 00640018 */ mult $v1, $a0 +/* 3A3AC8 E00A42E8 AE020020 */ sw $v0, 0x20($s0) +/* 3A3ACC E00A42EC 240200E6 */ addiu $v0, $zero, 0xe6 +/* 3A3AD0 E00A42F0 AE050024 */ sw $a1, 0x24($s0) +/* 3A3AD4 E00A42F4 AE020028 */ sw $v0, 0x28($s0) +/* 3A3AD8 E00A42F8 00003010 */ mfhi $a2 +/* 3A3ADC E00A42FC 0802916E */ j .LE00A45B8 +/* 3A3AE0 E00A4300 00C31021 */ addu $v0, $a2, $v1 +/* 3A3AE4 E00A4304 00031040 */ sll $v0, $v1, 1 +/* 3A3AE8 E00A4308 44826000 */ mtc1 $v0, $f12 +/* 3A3AEC E00A430C 00000000 */ nop +/* 3A3AF0 E00A4310 46806320 */ cvt.s.w $f12, $f12 +/* 3A3AF4 E00A4314 240200AA */ addiu $v0, $zero, 0xaa +/* 3A3AF8 E00A4318 AE020020 */ sw $v0, 0x20($s0) +/* 3A3AFC E00A431C 24020028 */ addiu $v0, $zero, 0x28 +/* 3A3B00 E00A4320 AE020024 */ sw $v0, 0x24($s0) +/* 3A3B04 E00A4324 2402006E */ addiu $v0, $zero, 0x6e +/* 3A3B08 E00A4328 0C080140 */ jal func_E0200500 +/* 3A3B0C E00A432C AE020028 */ sw $v0, 0x28($s0) +/* 3A3B10 E00A4330 3C014120 */ lui $at, 0x4120 +/* 3A3B14 E00A4334 44811000 */ mtc1 $at, $f2 +/* 3A3B18 E00A4338 00000000 */ nop +/* 3A3B1C E00A433C 46020002 */ mul.s $f0, $f0, $f2 +/* 3A3B20 E00A4340 00000000 */ nop +/* 3A3B24 E00A4344 3C01433E */ lui $at, 0x433e +/* 3A3B28 E00A4348 44811000 */ mtc1 $at, $f2 +/* 3A3B2C E00A434C 080290F4 */ j .LE00A43D0 +/* 3A3B30 E00A4350 46020000 */ add.s $f0, $f0, $f2 +/* 3A3B34 E00A4354 240300FF */ addiu $v1, $zero, 0xff +/* 3A3B38 E00A4358 02230018 */ mult $s1, $v1 +/* 3A3B3C E00A435C 3C048080 */ lui $a0, 0x8080 +/* 3A3B40 E00A4360 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3B44 E00A4364 00001812 */ mflo $v1 +/* 3A3B48 E00A4368 240200DC */ addiu $v0, $zero, 0xdc +/* 3A3B4C E00A436C AE020020 */ sw $v0, 0x20($s0) +/* 3A3B50 E00A4370 00640018 */ mult $v1, $a0 +/* 3A3B54 E00A4374 24020028 */ addiu $v0, $zero, 0x28 +/* 3A3B58 E00A4378 AE020024 */ sw $v0, 0x24($s0) +/* 3A3B5C E00A437C 0802916B */ j .LE00A45AC +/* 3A3B60 E00A4380 240200AA */ addiu $v0, $zero, 0xaa +/* 3A3B64 E00A4384 00031040 */ sll $v0, $v1, 1 +/* 3A3B68 E00A4388 44826000 */ mtc1 $v0, $f12 +/* 3A3B6C E00A438C 00000000 */ nop +/* 3A3B70 E00A4390 46806320 */ cvt.s.w $f12, $f12 +/* 3A3B74 E00A4394 240200EB */ addiu $v0, $zero, 0xeb +/* 3A3B78 E00A4398 AE020020 */ sw $v0, 0x20($s0) +/* 3A3B7C E00A439C AE020024 */ sw $v0, 0x24($s0) +/* 3A3B80 E00A43A0 240200C8 */ addiu $v0, $zero, 0xc8 +/* 3A3B84 E00A43A4 0C080140 */ jal func_E0200500 +/* 3A3B88 E00A43A8 AE020028 */ sw $v0, 0x28($s0) +/* 3A3B8C E00A43AC 3C014170 */ lui $at, 0x4170 +/* 3A3B90 E00A43B0 44811000 */ mtc1 $at, $f2 +/* 3A3B94 E00A43B4 00000000 */ nop +/* 3A3B98 E00A43B8 46020002 */ mul.s $f0, $f0, $f2 +/* 3A3B9C E00A43BC 00000000 */ nop +/* 3A3BA0 E00A43C0 3C014357 */ lui $at, 0x4357 +/* 3A3BA4 E00A43C4 44811000 */ mtc1 $at, $f2 +/* 3A3BA8 E00A43C8 00000000 */ nop +/* 3A3BAC E00A43CC 46020000 */ add.s $f0, $f0, $f2 +.LE00A43D0: +/* 3A3BB0 E00A43D0 4600010D */ trunc.w.s $f4, $f0 +/* 3A3BB4 E00A43D4 44022000 */ mfc1 $v0, $f4 +/* 3A3BB8 E00A43D8 00000000 */ nop +/* 3A3BBC E00A43DC 00510018 */ mult $v0, $s1 +/* 3A3BC0 E00A43E0 00001012 */ mflo $v0 +/* 3A3BC4 E00A43E4 3C038080 */ lui $v1, 0x8080 +/* 3A3BC8 E00A43E8 34638081 */ ori $v1, $v1, 0x8081 +/* 3A3BCC E00A43EC 00430018 */ mult $v0, $v1 +/* 3A3BD0 E00A43F0 00001810 */ mfhi $v1 +/* 3A3BD4 E00A43F4 00621821 */ addu $v1, $v1, $v0 +/* 3A3BD8 E00A43F8 000319C3 */ sra $v1, $v1, 7 +/* 3A3BDC E00A43FC 000217C3 */ sra $v0, $v0, 0x1f +/* 3A3BE0 E00A4400 00621823 */ subu $v1, $v1, $v0 +/* 3A3BE4 E00A4404 08029172 */ j .LE00A45C8 +/* 3A3BE8 E00A4408 AE03002C */ sw $v1, 0x2c($s0) +/* 3A3BEC E00A440C 240300FF */ addiu $v1, $zero, 0xff +/* 3A3BF0 E00A4410 02230018 */ mult $s1, $v1 +/* 3A3BF4 E00A4414 3C048080 */ lui $a0, 0x8080 +/* 3A3BF8 E00A4418 00001812 */ mflo $v1 +/* 3A3BFC E00A441C 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3C00 E00A4420 240200EB */ addiu $v0, $zero, 0xeb +/* 3A3C04 E00A4424 00640018 */ mult $v1, $a0 +/* 3A3C08 E00A4428 AE020020 */ sw $v0, 0x20($s0) +/* 3A3C0C E00A442C AE020024 */ sw $v0, 0x24($s0) +/* 3A3C10 E00A4430 0802916B */ j .LE00A45AC +/* 3A3C14 E00A4434 240200C8 */ addiu $v0, $zero, 0xc8 +/* 3A3C18 E00A4438 C6000030 */ lwc1 $f0, 0x30($s0) +/* 3A3C1C E00A443C 3C01E00A */ lui $at, 0xe00a +/* 3A3C20 E00A4440 D4224B20 */ ldc1 $f2, 0x4b20($at) +/* 3A3C24 E00A4444 46000021 */ cvt.d.s $f0, $f0 +/* 3A3C28 E00A4448 46220002 */ mul.d $f0, $f0, $f2 +/* 3A3C2C E00A444C 00000000 */ nop +/* 3A3C30 E00A4450 2403007F */ addiu $v1, $zero, 0x7f +/* 3A3C34 E00A4454 00C30018 */ mult $a2, $v1 +/* 3A3C38 E00A4458 3C048080 */ lui $a0, 0x8080 +/* 3A3C3C E00A445C 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3C40 E00A4460 00001812 */ mflo $v1 +/* 3A3C44 E00A4464 24020046 */ addiu $v0, $zero, 0x46 +/* 3A3C48 E00A4468 AE020020 */ sw $v0, 0x20($s0) +/* 3A3C4C E00A446C 00640018 */ mult $v1, $a0 +/* 3A3C50 E00A4470 240200B4 */ addiu $v0, $zero, 0xb4 +/* 3A3C54 E00A4474 AE020024 */ sw $v0, 0x24($s0) +/* 3A3C58 E00A4478 08029153 */ j .LE00A454C +/* 3A3C5C E00A447C 24020078 */ addiu $v0, $zero, 0x78 +/* 3A3C60 E00A4480 C6000030 */ lwc1 $f0, 0x30($s0) +/* 3A3C64 E00A4484 3C01E00A */ lui $at, 0xe00a +/* 3A3C68 E00A4488 D4224B28 */ ldc1 $f2, 0x4b28($at) +/* 3A3C6C E00A448C 46000021 */ cvt.d.s $f0, $f0 +/* 3A3C70 E00A4490 46220002 */ mul.d $f0, $f0, $f2 +/* 3A3C74 E00A4494 00000000 */ nop +/* 3A3C78 E00A4498 240300A0 */ addiu $v1, $zero, 0xa0 +/* 3A3C7C E00A449C 00C30018 */ mult $a2, $v1 +/* 3A3C80 E00A44A0 3C048080 */ lui $a0, 0x8080 +/* 3A3C84 E00A44A4 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3C88 E00A44A8 00001812 */ mflo $v1 +/* 3A3C8C E00A44AC 240200A2 */ addiu $v0, $zero, 0xa2 +/* 3A3C90 E00A44B0 AE020020 */ sw $v0, 0x20($s0) +/* 3A3C94 E00A44B4 00640018 */ mult $v1, $a0 +/* 3A3C98 E00A44B8 08029151 */ j .LE00A4544 +/* 3A3C9C E00A44BC 240200BD */ addiu $v0, $zero, 0xbd +/* 3A3CA0 E00A44C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* 3A3CA4 E00A44C4 3C01E00A */ lui $at, 0xe00a +/* 3A3CA8 E00A44C8 D4224B30 */ ldc1 $f2, 0x4b30($at) +/* 3A3CAC E00A44CC 46000021 */ cvt.d.s $f0, $f0 +/* 3A3CB0 E00A44D0 46220002 */ mul.d $f0, $f0, $f2 +/* 3A3CB4 E00A44D4 00000000 */ nop +/* 3A3CB8 E00A44D8 2403007F */ addiu $v1, $zero, 0x7f +/* 3A3CBC E00A44DC 00C30018 */ mult $a2, $v1 +/* 3A3CC0 E00A44E0 3C048080 */ lui $a0, 0x8080 +/* 3A3CC4 E00A44E4 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3CC8 E00A44E8 00001812 */ mflo $v1 +/* 3A3CCC E00A44EC 240200AA */ addiu $v0, $zero, 0xaa +/* 3A3CD0 E00A44F0 AE020020 */ sw $v0, 0x20($s0) +/* 3A3CD4 E00A44F4 00640018 */ mult $v1, $a0 +/* 3A3CD8 E00A44F8 24020028 */ addiu $v0, $zero, 0x28 +/* 3A3CDC E00A44FC AE020024 */ sw $v0, 0x24($s0) +/* 3A3CE0 E00A4500 08029153 */ j .LE00A454C +/* 3A3CE4 E00A4504 2402006E */ addiu $v0, $zero, 0x6e +/* 3A3CE8 E00A4508 C6000030 */ lwc1 $f0, 0x30($s0) +/* 3A3CEC E00A450C 3C01E00A */ lui $at, 0xe00a +/* 3A3CF0 E00A4510 D4224B38 */ ldc1 $f2, 0x4b38($at) +/* 3A3CF4 E00A4514 46000021 */ cvt.d.s $f0, $f0 +/* 3A3CF8 E00A4518 46220002 */ mul.d $f0, $f0, $f2 +/* 3A3CFC E00A451C 00000000 */ nop +/* 3A3D00 E00A4520 240300A0 */ addiu $v1, $zero, 0xa0 +/* 3A3D04 E00A4524 00C30018 */ mult $a2, $v1 +/* 3A3D08 E00A4528 3C048080 */ lui $a0, 0x8080 +/* 3A3D0C E00A452C 34848081 */ ori $a0, $a0, 0x8081 +/* 3A3D10 E00A4530 00001812 */ mflo $v1 +/* 3A3D14 E00A4534 240200B4 */ addiu $v0, $zero, 0xb4 +/* 3A3D18 E00A4538 AE020020 */ sw $v0, 0x20($s0) +/* 3A3D1C E00A453C 00640018 */ mult $v1, $a0 +/* 3A3D20 E00A4540 240200B2 */ addiu $v0, $zero, 0xb2 +.LE00A4544: +/* 3A3D24 E00A4544 AE020024 */ sw $v0, 0x24($s0) +/* 3A3D28 E00A4548 240200AE */ addiu $v0, $zero, 0xae +.LE00A454C: +/* 3A3D2C E00A454C AE020028 */ sw $v0, 0x28($s0) +/* 3A3D30 E00A4550 00002810 */ mfhi $a1 +/* 3A3D34 E00A4554 00A31021 */ addu $v0, $a1, $v1 +/* 3A3D38 E00A4558 000211C3 */ sra $v0, $v0, 7 +/* 3A3D3C E00A455C 00031FC3 */ sra $v1, $v1, 0x1f +/* 3A3D40 E00A4560 00431023 */ subu $v0, $v0, $v1 +/* 3A3D44 E00A4564 46200020 */ cvt.s.d $f0, $f0 +/* 3A3D48 E00A4568 AE02002C */ sw $v0, 0x2c($s0) +/* 3A3D4C E00A456C 08029172 */ j .LE00A45C8 +/* 3A3D50 E00A4570 E6000030 */ swc1 $f0, 0x30($s0) +.LE00A4574: +/* 3A3D54 E00A4574 240300A0 */ addiu $v1, $zero, 0xa0 +/* 3A3D58 E00A4578 00C30018 */ mult $a2, $v1 +/* 3A3D5C E00A457C C6000030 */ lwc1 $f0, 0x30($s0) +/* 3A3D60 E00A4580 C6020034 */ lwc1 $f2, 0x34($s0) +/* 3A3D64 E00A4584 46020000 */ add.s $f0, $f0, $f2 +/* 3A3D68 E00A4588 3C028080 */ lui $v0, 0x8080 +/* 3A3D6C E00A458C 00001812 */ mflo $v1 +/* 3A3D70 E00A4590 34428081 */ ori $v0, $v0, 0x8081 +/* 3A3D74 E00A4594 E6000030 */ swc1 $f0, 0x30($s0) +/* 3A3D78 E00A4598 00620018 */ mult $v1, $v0 +/* 3A3D7C E00A459C 24020032 */ addiu $v0, $zero, 0x32 +/* 3A3D80 E00A45A0 AE020020 */ sw $v0, 0x20($s0) +/* 3A3D84 E00A45A4 AE020024 */ sw $v0, 0x24($s0) +/* 3A3D88 E00A45A8 240200FF */ addiu $v0, $zero, 0xff +.LE00A45AC: +/* 3A3D8C E00A45AC AE020028 */ sw $v0, 0x28($s0) +/* 3A3D90 E00A45B0 00002810 */ mfhi $a1 +/* 3A3D94 E00A45B4 00A31021 */ addu $v0, $a1, $v1 +.LE00A45B8: +/* 3A3D98 E00A45B8 000211C3 */ sra $v0, $v0, 7 +/* 3A3D9C E00A45BC 00031FC3 */ sra $v1, $v1, 0x1f +/* 3A3DA0 E00A45C0 00431023 */ subu $v0, $v0, $v1 +/* 3A3DA4 E00A45C4 AE02002C */ sw $v0, 0x2c($s0) +.LE00A45C8: +/* 3A3DA8 E00A45C8 8FBF0018 */ lw $ra, 0x18($sp) +/* 3A3DAC E00A45CC 8FB10014 */ lw $s1, 0x14($sp) +/* 3A3DB0 E00A45D0 8FB00010 */ lw $s0, 0x10($sp) +/* 3A3DB4 E00A45D4 03E00008 */ jr $ra +/* 3A3DB8 E00A45D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_3A37E0/func_E00A45DC.s b/asm/nonmatchings/code_3A37E0/func_E00A45DC.s new file mode 100644 index 0000000000..9cc936aaf7 --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A45DC.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A45DC +/* 3A3DBC E00A45DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3A3DC0 E00A45E0 AFBF0020 */ sw $ra, 0x20($sp) +/* 3A3DC4 E00A45E4 8C83000C */ lw $v1, 0xc($a0) +/* 3A3DC8 E00A45E8 3C02E00A */ lui $v0, 0xe00a +/* 3A3DCC E00A45EC 24424650 */ addiu $v0, $v0, 0x4650 +/* 3A3DD0 E00A45F0 AFA2001C */ sw $v0, 0x1c($sp) +/* 3A3DD4 E00A45F4 2402000A */ addiu $v0, $zero, 0xa +/* 3A3DD8 E00A45F8 AFA20014 */ sw $v0, 0x14($sp) +/* 3A3DDC E00A45FC 2402002D */ addiu $v0, $zero, 0x2d +/* 3A3DE0 E00A4600 AFA40018 */ sw $a0, 0x18($sp) +/* 3A3DE4 E00A4604 AFA20010 */ sw $v0, 0x10($sp) +/* 3A3DE8 E00A4608 8C620000 */ lw $v0, ($v1) +/* 3A3DEC E00A460C 28420003 */ slti $v0, $v0, 3 +/* 3A3DF0 E00A4610 14400005 */ bnez $v0, .LE00A4628 +/* 3A3DF4 E00A4614 27A40010 */ addiu $a0, $sp, 0x10 +/* 3A3DF8 E00A4618 0C080120 */ jal func_E0200480 +/* 3A3DFC E00A461C 00000000 */ nop +/* 3A3E00 E00A4620 0802918F */ j .LE00A463C +/* 3A3E04 E00A4624 00000000 */ nop +.LE00A4628: +/* 3A3E08 E00A4628 0C080120 */ jal func_E0200480 +/* 3A3E0C E00A462C 00000000 */ nop +/* 3A3E10 E00A4630 8C430000 */ lw $v1, ($v0) +/* 3A3E14 E00A4634 34630002 */ ori $v1, $v1, 2 +/* 3A3E18 E00A4638 AC430000 */ sw $v1, ($v0) +.LE00A463C: +/* 3A3E1C E00A463C 8FBF0020 */ lw $ra, 0x20($sp) +/* 3A3E20 E00A4640 03E00008 */ jr $ra +/* 3A3E24 E00A4644 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3A37E0/func_E00A4648.s b/asm/nonmatchings/code_3A37E0/func_E00A4648.s new file mode 100644 index 0000000000..c8908e5952 --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A4648.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A4648 +/* 3A3E28 E00A4648 03E00008 */ jr $ra +/* 3A3E2C E00A464C 00000000 */ nop diff --git a/asm/nonmatchings/code_3A37E0/func_E00A4650.s b/asm/nonmatchings/code_3A37E0/func_E00A4650.s new file mode 100644 index 0000000000..ed60905e02 --- /dev/null +++ b/asm/nonmatchings/code_3A37E0/func_E00A4650.s @@ -0,0 +1,294 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00A4650 +/* 3A3E30 E00A4650 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 3A3E34 E00A4654 0080302D */ daddu $a2, $a0, $zero +/* 3A3E38 E00A4658 3C07DB06 */ lui $a3, 0xdb06 +/* 3A3E3C E00A465C 34E70024 */ ori $a3, $a3, 0x24 +/* 3A3E40 E00A4660 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A3E44 E00A4664 AFB700BC */ sw $s7, 0xbc($sp) +/* 3A3E48 E00A4668 3C170001 */ lui $s7, 1 +/* 3A3E4C E00A466C 3C0AE300 */ lui $t2, 0xe300 +/* 3A3E50 E00A4670 AFB500B4 */ sw $s5, 0xb4($sp) +/* 3A3E54 E00A4674 3C15800A */ lui $s5, 0x800a +/* 3A3E58 E00A4678 26B5A66C */ addiu $s5, $s5, -0x5994 +/* 3A3E5C E00A467C AFBF00C4 */ sw $ra, 0xc4($sp) +/* 3A3E60 E00A4680 AFBE00C0 */ sw $fp, 0xc0($sp) +/* 3A3E64 E00A4684 AFB600B8 */ sw $s6, 0xb8($sp) +/* 3A3E68 E00A4688 AFB400B0 */ sw $s4, 0xb0($sp) +/* 3A3E6C E00A468C AFB300AC */ sw $s3, 0xac($sp) +/* 3A3E70 E00A4690 AFB200A8 */ sw $s2, 0xa8($sp) +/* 3A3E74 E00A4694 AFB100A4 */ sw $s1, 0xa4($sp) +/* 3A3E78 E00A4698 AFB000A0 */ sw $s0, 0xa0($sp) +/* 3A3E7C E00A469C F7B600D0 */ sdc1 $f22, 0xd0($sp) +/* 3A3E80 E00A46A0 F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 3A3E84 E00A46A4 8EA50000 */ lw $a1, ($s5) +/* 3A3E88 E00A46A8 354A1801 */ ori $t2, $t2, 0x1801 +/* 3A3E8C E00A46AC AFAA009C */ sw $t2, 0x9c($sp) +/* 3A3E90 E00A46B0 8CD2000C */ lw $s2, 0xc($a2) +/* 3A3E94 E00A46B4 00A0182D */ daddu $v1, $a1, $zero +/* 3A3E98 E00A46B8 24A50008 */ addiu $a1, $a1, 8 +/* 3A3E9C E00A46BC AEA50000 */ sw $a1, ($s5) +/* 3A3EA0 E00A46C0 8E4A0014 */ lw $t2, 0x14($s2) +/* 3A3EA4 E00A46C4 36F71630 */ ori $s7, $s7, 0x1630 +/* 3A3EA8 E00A46C8 AFAA0098 */ sw $t2, 0x98($sp) +/* 3A3EAC E00A46CC 8E53002C */ lw $s3, 0x2c($s2) +/* 3A3EB0 E00A46D0 8E540000 */ lw $s4, ($s2) +/* 3A3EB4 E00A46D4 3C02E700 */ lui $v0, 0xe700 +/* 3A3EB8 E00A46D8 AC620000 */ sw $v0, ($v1) +/* 3A3EBC E00A46DC AC600004 */ sw $zero, 4($v1) +/* 3A3EC0 E00A46E0 ACA70000 */ sw $a3, ($a1) +/* 3A3EC4 E00A46E4 8CC30010 */ lw $v1, 0x10($a2) +/* 3A3EC8 E00A46E8 24A20008 */ addiu $v0, $a1, 8 +/* 3A3ECC E00A46EC AEA20000 */ sw $v0, ($s5) +/* 3A3ED0 E00A46F0 8C62001C */ lw $v0, 0x1c($v1) +/* 3A3ED4 E00A46F4 3C038000 */ lui $v1, 0x8000 +/* 3A3ED8 E00A46F8 00431021 */ addu $v0, $v0, $v1 +/* 3A3EDC E00A46FC 3C03800B */ lui $v1, %hi(gCameras) +/* 3A3EE0 E00A4700 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 3A3EE4 E00A4704 ACA20004 */ sw $v0, 4($a1) +/* 3A3EE8 E00A4708 8E450004 */ lw $a1, 4($s2) +/* 3A3EEC E00A470C 8E460008 */ lw $a2, 8($s2) +/* 3A3EF0 E00A4710 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* 3A3EF4 E00A4714 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* 3A3EF8 E00A4718 8E47000C */ lw $a3, 0xc($s2) +/* 3A3EFC E00A471C 00028080 */ sll $s0, $v0, 2 +/* 3A3F00 E00A4720 02028021 */ addu $s0, $s0, $v0 +/* 3A3F04 E00A4724 00108080 */ sll $s0, $s0, 2 +/* 3A3F08 E00A4728 02028023 */ subu $s0, $s0, $v0 +/* 3A3F0C E00A472C 001010C0 */ sll $v0, $s0, 3 +/* 3A3F10 E00A4730 02028021 */ addu $s0, $s0, $v0 +/* 3A3F14 E00A4734 001080C0 */ sll $s0, $s0, 3 +/* 3A3F18 E00A4738 0C080108 */ jal func_E0200420 +/* 3A3F1C E00A473C 02038021 */ addu $s0, $s0, $v1 +/* 3A3F20 E00A4740 27B10058 */ addiu $s1, $sp, 0x58 +/* 3A3F24 E00A4744 8E450030 */ lw $a1, 0x30($s2) +/* 3A3F28 E00A4748 0220202D */ daddu $a0, $s1, $zero +/* 3A3F2C E00A474C 00A0302D */ daddu $a2, $a1, $zero +/* 3A3F30 E00A4750 0C080110 */ jal func_E0200440 +/* 3A3F34 E00A4754 00A0382D */ daddu $a3, $a1, $zero +/* 3A3F38 E00A4758 0220202D */ daddu $a0, $s1, $zero +/* 3A3F3C E00A475C 27A50018 */ addiu $a1, $sp, 0x18 +/* 3A3F40 E00A4760 0C080114 */ jal func_E0200450 +/* 3A3F44 E00A4764 00A0302D */ daddu $a2, $a1, $zero +/* 3A3F48 E00A4768 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A3F4C E00A476C 3C168007 */ lui $s6, 0x8007 +/* 3A3F50 E00A4770 26D641F0 */ addiu $s6, $s6, 0x41f0 +/* 3A3F54 E00A4774 3C1E800A */ lui $fp, 0x800a +/* 3A3F58 E00A4778 27DEA674 */ addiu $fp, $fp, -0x598c +/* 3A3F5C E00A477C 96C50000 */ lhu $a1, ($s6) +/* 3A3F60 E00A4780 8FC20000 */ lw $v0, ($fp) +/* 3A3F64 E00A4784 00052980 */ sll $a1, $a1, 6 +/* 3A3F68 E00A4788 00B72821 */ addu $a1, $a1, $s7 +/* 3A3F6C E00A478C 0C080118 */ jal func_E0200460 +/* 3A3F70 E00A4790 00452821 */ addu $a1, $v0, $a1 +/* 3A3F74 E00A4794 3C03DA38 */ lui $v1, 0xda38 +/* 3A3F78 E00A4798 34630002 */ ori $v1, $v1, 2 +/* 3A3F7C E00A479C 3C05DA38 */ lui $a1, 0xda38 +/* 3A3F80 E00A47A0 34A50001 */ ori $a1, $a1, 1 +/* 3A3F84 E00A47A4 3C06E300 */ lui $a2, 0xe300 +/* 3A3F88 E00A47A8 34C61A01 */ ori $a2, $a2, 0x1a01 +/* 3A3F8C E00A47AC 327300FF */ andi $s3, $s3, 0xff +/* 3A3F90 E00A47B0 2A940003 */ slti $s4, $s4, 3 +/* 3A3F94 E00A47B4 8EA80000 */ lw $t0, ($s5) +/* 3A3F98 E00A47B8 96C20000 */ lhu $v0, ($s6) +/* 3A3F9C E00A47BC 0100202D */ daddu $a0, $t0, $zero +/* 3A3FA0 E00A47C0 25080008 */ addiu $t0, $t0, 8 +/* 3A3FA4 E00A47C4 AEA80000 */ sw $t0, ($s5) +/* 3A3FA8 E00A47C8 AC830000 */ sw $v1, ($a0) +/* 3A3FAC E00A47CC 24430001 */ addiu $v1, $v0, 1 +/* 3A3FB0 E00A47D0 3042FFFF */ andi $v0, $v0, 0xffff +/* 3A3FB4 E00A47D4 00021180 */ sll $v0, $v0, 6 +/* 3A3FB8 E00A47D8 A6C30000 */ sh $v1, ($s6) +/* 3A3FBC E00A47DC 8FC30000 */ lw $v1, ($fp) +/* 3A3FC0 E00A47E0 00571021 */ addu $v0, $v0, $s7 +/* 3A3FC4 E00A47E4 00621821 */ addu $v1, $v1, $v0 +/* 3A3FC8 E00A47E8 25020008 */ addiu $v0, $t0, 8 +/* 3A3FCC E00A47EC AC830004 */ sw $v1, 4($a0) +/* 3A3FD0 E00A47F0 AEA20000 */ sw $v0, ($s5) +/* 3A3FD4 E00A47F4 25020010 */ addiu $v0, $t0, 0x10 +/* 3A3FD8 E00A47F8 AD050000 */ sw $a1, ($t0) +/* 3A3FDC E00A47FC AEA20000 */ sw $v0, ($s5) +/* 3A3FE0 E00A4800 8E030204 */ lw $v1, 0x204($s0) +/* 3A3FE4 E00A4804 3C02FA00 */ lui $v0, 0xfa00 +/* 3A3FE8 E00A4808 AD020008 */ sw $v0, 8($t0) +/* 3A3FEC E00A480C AD030004 */ sw $v1, 4($t0) +/* 3A3FF0 E00A4810 92430023 */ lbu $v1, 0x23($s2) +/* 3A3FF4 E00A4814 92440027 */ lbu $a0, 0x27($s2) +/* 3A3FF8 E00A4818 9245002B */ lbu $a1, 0x2b($s2) +/* 3A3FFC E00A481C 25020018 */ addiu $v0, $t0, 0x18 +/* 3A4000 E00A4820 AEA20000 */ sw $v0, ($s5) +/* 3A4004 E00A4824 8FAA009C */ lw $t2, 0x9c($sp) +/* 3A4008 E00A4828 25020020 */ addiu $v0, $t0, 0x20 +/* 3A400C E00A482C AD0A0010 */ sw $t2, 0x10($t0) +/* 3A4010 E00A4830 240A0040 */ addiu $t2, $zero, 0x40 +/* 3A4014 E00A4834 00031E00 */ sll $v1, $v1, 0x18 +/* 3A4018 E00A4838 00042400 */ sll $a0, $a0, 0x10 +/* 3A401C E00A483C 00641825 */ or $v1, $v1, $a0 +/* 3A4020 E00A4840 00052A00 */ sll $a1, $a1, 8 +/* 3A4024 E00A4844 00651825 */ or $v1, $v1, $a1 +/* 3A4028 E00A4848 00731825 */ or $v1, $v1, $s3 +/* 3A402C E00A484C AD0A0014 */ sw $t2, 0x14($t0) +/* 3A4030 E00A4850 AEA20000 */ sw $v0, ($s5) +/* 3A4034 E00A4854 AD060018 */ sw $a2, 0x18($t0) +/* 3A4038 E00A4858 AD00001C */ sw $zero, 0x1c($t0) +/* 3A403C E00A485C 12800068 */ beqz $s4, .LE00A4A00 +/* 3A4040 E00A4860 AD03000C */ sw $v1, 0xc($t0) +/* 3A4044 E00A4864 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A4048 E00A4868 C7A00098 */ lwc1 $f0, 0x98($sp) +/* 3A404C E00A486C 46800020 */ cvt.s.w $f0, $f0 +/* 3A4050 E00A4870 3C12D838 */ lui $s2, 0xd838 +/* 3A4054 E00A4874 36520002 */ ori $s2, $s2, 2 +/* 3A4058 E00A4878 25020028 */ addiu $v0, $t0, 0x28 +/* 3A405C E00A487C 44050000 */ mfc1 $a1, $f0 +/* 3A4060 E00A4880 4480A000 */ mtc1 $zero, $f20 +/* 3A4064 E00A4884 3C013F80 */ lui $at, 0x3f80 +/* 3A4068 E00A4888 4481B000 */ mtc1 $at, $f22 +/* 3A406C E00A488C 3C10DE00 */ lui $s0, 0xde00 +/* 3A4070 E00A4890 AEA20000 */ sw $v0, ($s5) +/* 3A4074 E00A4894 4406A000 */ mfc1 $a2, $f20 +/* 3A4078 E00A4898 4407A000 */ mfc1 $a3, $f20 +/* 3A407C E00A489C 3C020900 */ lui $v0, 0x900 +/* 3A4080 E00A48A0 24421000 */ addiu $v0, $v0, 0x1000 +/* 3A4084 E00A48A4 AD100020 */ sw $s0, 0x20($t0) +/* 3A4088 E00A48A8 AD020024 */ sw $v0, 0x24($t0) +/* 3A408C E00A48AC 0C080104 */ jal func_E0200410 +/* 3A4090 E00A48B0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3A4094 E00A48B4 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A4098 E00A48B8 96C50000 */ lhu $a1, ($s6) +/* 3A409C E00A48BC 8FC20000 */ lw $v0, ($fp) +/* 3A40A0 E00A48C0 00052980 */ sll $a1, $a1, 6 +/* 3A40A4 E00A48C4 00B72821 */ addu $a1, $a1, $s7 +/* 3A40A8 E00A48C8 0C080118 */ jal func_E0200460 +/* 3A40AC E00A48CC 00452821 */ addu $a1, $v0, $a1 +/* 3A40B0 E00A48D0 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A40B4 E00A48D4 8FAA0098 */ lw $t2, 0x98($sp) +/* 3A40B8 E00A48D8 8EA80000 */ lw $t0, ($s5) +/* 3A40BC E00A48DC 4406A000 */ mfc1 $a2, $f20 +/* 3A40C0 E00A48E0 000A1023 */ negu $v0, $t2 +/* 3A40C4 E00A48E4 000210C0 */ sll $v0, $v0, 3 +/* 3A40C8 E00A48E8 44820000 */ mtc1 $v0, $f0 +/* 3A40CC E00A48EC 00000000 */ nop +/* 3A40D0 E00A48F0 46800020 */ cvt.s.w $f0, $f0 +/* 3A40D4 E00A48F4 0100482D */ daddu $t1, $t0, $zero +/* 3A40D8 E00A48F8 44050000 */ mfc1 $a1, $f0 +/* 3A40DC E00A48FC 25080008 */ addiu $t0, $t0, 8 +/* 3A40E0 E00A4900 AEA80000 */ sw $t0, ($s5) +/* 3A40E4 E00A4904 96C20000 */ lhu $v0, ($s6) +/* 3A40E8 E00A4908 3C11DA38 */ lui $s1, 0xda38 +/* 3A40EC E00A490C AD310000 */ sw $s1, ($t1) +/* 3A40F0 E00A4910 24430001 */ addiu $v1, $v0, 1 +/* 3A40F4 E00A4914 3042FFFF */ andi $v0, $v0, 0xffff +/* 3A40F8 E00A4918 00021180 */ sll $v0, $v0, 6 +/* 3A40FC E00A491C A6C30000 */ sh $v1, ($s6) +/* 3A4100 E00A4920 8FC30000 */ lw $v1, ($fp) +/* 3A4104 E00A4924 00571021 */ addu $v0, $v0, $s7 +/* 3A4108 E00A4928 00621821 */ addu $v1, $v1, $v0 +/* 3A410C E00A492C 25020008 */ addiu $v0, $t0, 8 +/* 3A4110 E00A4930 AD230004 */ sw $v1, 4($t1) +/* 3A4114 E00A4934 AEA20000 */ sw $v0, ($s5) +/* 3A4118 E00A4938 3C020900 */ lui $v0, 0x900 +/* 3A411C E00A493C 244211D0 */ addiu $v0, $v0, 0x11d0 +/* 3A4120 E00A4940 AD020004 */ sw $v0, 4($t0) +/* 3A4124 E00A4944 25020010 */ addiu $v0, $t0, 0x10 +/* 3A4128 E00A4948 240A0040 */ addiu $t2, $zero, 0x40 +/* 3A412C E00A494C AD100000 */ sw $s0, ($t0) +/* 3A4130 E00A4950 AEA20000 */ sw $v0, ($s5) +/* 3A4134 E00A4954 25020018 */ addiu $v0, $t0, 0x18 +/* 3A4138 E00A4958 AD120008 */ sw $s2, 8($t0) +/* 3A413C E00A495C AD0A000C */ sw $t2, 0xc($t0) +/* 3A4140 E00A4960 AEA20000 */ sw $v0, ($s5) +/* 3A4144 E00A4964 8FAA009C */ lw $t2, 0x9c($sp) +/* 3A4148 E00A4968 00C0382D */ daddu $a3, $a2, $zero +/* 3A414C E00A496C AD0A0010 */ sw $t2, 0x10($t0) +/* 3A4150 E00A4970 AD000014 */ sw $zero, 0x14($t0) +/* 3A4154 E00A4974 0C080104 */ jal func_E0200410 +/* 3A4158 E00A4978 E7B60010 */ swc1 $f22, 0x10($sp) +/* 3A415C E00A497C 27A40018 */ addiu $a0, $sp, 0x18 +/* 3A4160 E00A4980 96C50000 */ lhu $a1, ($s6) +/* 3A4164 E00A4984 8FC20000 */ lw $v0, ($fp) +/* 3A4168 E00A4988 00052980 */ sll $a1, $a1, 6 +/* 3A416C E00A498C 00B72821 */ addu $a1, $a1, $s7 +/* 3A4170 E00A4990 0C080118 */ jal func_E0200460 +/* 3A4174 E00A4994 00452821 */ addu $a1, $v0, $a1 +/* 3A4178 E00A4998 8EA40000 */ lw $a0, ($s5) +/* 3A417C E00A499C 96C20000 */ lhu $v0, ($s6) +/* 3A4180 E00A49A0 0080282D */ daddu $a1, $a0, $zero +/* 3A4184 E00A49A4 24840008 */ addiu $a0, $a0, 8 +/* 3A4188 E00A49A8 24430001 */ addiu $v1, $v0, 1 +/* 3A418C E00A49AC 3042FFFF */ andi $v0, $v0, 0xffff +/* 3A4190 E00A49B0 00021180 */ sll $v0, $v0, 6 +/* 3A4194 E00A49B4 AEA40000 */ sw $a0, ($s5) +/* 3A4198 E00A49B8 ACB10000 */ sw $s1, ($a1) +/* 3A419C E00A49BC A6C30000 */ sh $v1, ($s6) +/* 3A41A0 E00A49C0 8FC30000 */ lw $v1, ($fp) +/* 3A41A4 E00A49C4 00571021 */ addu $v0, $v0, $s7 +/* 3A41A8 E00A49C8 00621821 */ addu $v1, $v1, $v0 +/* 3A41AC E00A49CC 24820008 */ addiu $v0, $a0, 8 +/* 3A41B0 E00A49D0 ACA30004 */ sw $v1, 4($a1) +/* 3A41B4 E00A49D4 AEA20000 */ sw $v0, ($s5) +/* 3A41B8 E00A49D8 3C020900 */ lui $v0, 0x900 +/* 3A41BC E00A49DC 244211F0 */ addiu $v0, $v0, 0x11f0 +/* 3A41C0 E00A49E0 AC820004 */ sw $v0, 4($a0) +/* 3A41C4 E00A49E4 24820010 */ addiu $v0, $a0, 0x10 +/* 3A41C8 E00A49E8 240A0040 */ addiu $t2, $zero, 0x40 +/* 3A41CC E00A49EC AC900000 */ sw $s0, ($a0) +/* 3A41D0 E00A49F0 AEA20000 */ sw $v0, ($s5) +/* 3A41D4 E00A49F4 AC920008 */ sw $s2, 8($a0) +/* 3A41D8 E00A49F8 0802928D */ j .LE00A4A34 +/* 3A41DC E00A49FC AC8A000C */ sw $t2, 0xc($a0) +.LE00A4A00: +/* 3A41E0 E00A4A00 25020028 */ addiu $v0, $t0, 0x28 +/* 3A41E4 E00A4A04 3C03DE00 */ lui $v1, 0xde00 +/* 3A41E8 E00A4A08 AEA20000 */ sw $v0, ($s5) +/* 3A41EC E00A4A0C 3C020900 */ lui $v0, 0x900 +/* 3A41F0 E00A4A10 244210A8 */ addiu $v0, $v0, 0x10a8 +/* 3A41F4 E00A4A14 AD020024 */ sw $v0, 0x24($t0) +/* 3A41F8 E00A4A18 25020030 */ addiu $v0, $t0, 0x30 +/* 3A41FC E00A4A1C AD030020 */ sw $v1, 0x20($t0) +/* 3A4200 E00A4A20 AEA20000 */ sw $v0, ($s5) +/* 3A4204 E00A4A24 3C020900 */ lui $v0, 0x900 +/* 3A4208 E00A4A28 24421210 */ addiu $v0, $v0, 0x1210 +/* 3A420C E00A4A2C AD030028 */ sw $v1, 0x28($t0) +/* 3A4210 E00A4A30 AD02002C */ sw $v0, 0x2c($t0) +.LE00A4A34: +/* 3A4214 E00A4A34 3C02E300 */ lui $v0, 0xe300 +/* 3A4218 E00A4A38 34421801 */ ori $v0, $v0, 0x1801 +/* 3A421C E00A4A3C 3C06E300 */ lui $a2, 0xe300 +/* 3A4220 E00A4A40 34C61A01 */ ori $a2, $a2, 0x1a01 +/* 3A4224 E00A4A44 3C07D838 */ lui $a3, 0xd838 +/* 3A4228 E00A4A48 3C04800A */ lui $a0, 0x800a +/* 3A422C E00A4A4C 2484A66C */ addiu $a0, $a0, -0x5994 +/* 3A4230 E00A4A50 8C830000 */ lw $v1, ($a0) +/* 3A4234 E00A4A54 34E70002 */ ori $a3, $a3, 2 +/* 3A4238 E00A4A58 0060282D */ daddu $a1, $v1, $zero +/* 3A423C E00A4A5C 24630008 */ addiu $v1, $v1, 8 +/* 3A4240 E00A4A60 AC830000 */ sw $v1, ($a0) +/* 3A4244 E00A4A64 ACA20000 */ sw $v0, ($a1) +/* 3A4248 E00A4A68 240200C0 */ addiu $v0, $zero, 0xc0 +/* 3A424C E00A4A6C ACA20004 */ sw $v0, 4($a1) +/* 3A4250 E00A4A70 24620008 */ addiu $v0, $v1, 8 +/* 3A4254 E00A4A74 AC820000 */ sw $v0, ($a0) +/* 3A4258 E00A4A78 24020030 */ addiu $v0, $zero, 0x30 +/* 3A425C E00A4A7C AC620004 */ sw $v0, 4($v1) +/* 3A4260 E00A4A80 24620010 */ addiu $v0, $v1, 0x10 +/* 3A4264 E00A4A84 AC660000 */ sw $a2, ($v1) +/* 3A4268 E00A4A88 AC820000 */ sw $v0, ($a0) +/* 3A426C E00A4A8C 24020040 */ addiu $v0, $zero, 0x40 +/* 3A4270 E00A4A90 AC670008 */ sw $a3, 8($v1) +/* 3A4274 E00A4A94 AC62000C */ sw $v0, 0xc($v1) +/* 3A4278 E00A4A98 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 3A427C E00A4A9C 8FBE00C0 */ lw $fp, 0xc0($sp) +/* 3A4280 E00A4AA0 8FB700BC */ lw $s7, 0xbc($sp) +/* 3A4284 E00A4AA4 8FB600B8 */ lw $s6, 0xb8($sp) +/* 3A4288 E00A4AA8 8FB500B4 */ lw $s5, 0xb4($sp) +/* 3A428C E00A4AAC 8FB400B0 */ lw $s4, 0xb0($sp) +/* 3A4290 E00A4AB0 8FB300AC */ lw $s3, 0xac($sp) +/* 3A4294 E00A4AB4 8FB200A8 */ lw $s2, 0xa8($sp) +/* 3A4298 E00A4AB8 8FB100A4 */ lw $s1, 0xa4($sp) +/* 3A429C E00A4ABC 8FB000A0 */ lw $s0, 0xa0($sp) +/* 3A42A0 E00A4AC0 D7B600D0 */ ldc1 $f22, 0xd0($sp) +/* 3A42A4 E00A4AC4 D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 3A42A8 E00A4AC8 03E00008 */ jr $ra +/* 3A42AC E00A4ACC 27BD00D8 */ addiu $sp, $sp, 0xd8 diff --git a/asm/nonmatchings/code_e92d0_len_5da0/get_float_variable.s b/asm/nonmatchings/si/get_float_variable.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/get_float_variable.s rename to asm/nonmatchings/si/get_float_variable.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/get_variable.s b/asm/nonmatchings/si/get_variable.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/get_variable.s rename to asm/nonmatchings/si/get_variable.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/set_float_variable.s b/asm/nonmatchings/si/set_float_variable.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/set_float_variable.s rename to asm/nonmatchings/si/set_float_variable.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/set_variable.s b/asm/nonmatchings/si/set_variable.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/set_variable.s rename to asm/nonmatchings/si/set_variable.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_execute_next_command.s b/asm/nonmatchings/si/si_execute_next_command.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_execute_next_command.s rename to asm/nonmatchings/si/si_execute_next_command.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_find_label.s b/asm/nonmatchings/si/si_find_label.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_find_label.s rename to asm/nonmatchings/si/si_find_label.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_goto_end_case.s b/asm/nonmatchings/si/si_goto_end_case.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_goto_end_case.s rename to asm/nonmatchings/si/si_goto_end_case.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_goto_end_loop.s b/asm/nonmatchings/si/si_goto_end_loop.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_goto_end_loop.s rename to asm/nonmatchings/si/si_goto_end_loop.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_goto_next_case.s b/asm/nonmatchings/si/si_goto_next_case.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_goto_next_case.s rename to asm/nonmatchings/si/si_goto_next_case.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_bind_lock.s b/asm/nonmatchings/si/si_handle_bind_lock.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_bind_lock.s rename to asm/nonmatchings/si/si_handle_bind_lock.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_case_equal_AND.s b/asm/nonmatchings/si/si_handle_case_equal_AND.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_case_equal_AND.s rename to asm/nonmatchings/si/si_handle_case_equal_AND.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_case_equal_OR.s b/asm/nonmatchings/si/si_handle_case_equal_OR.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_case_equal_OR.s rename to asm/nonmatchings/si/si_handle_case_equal_OR.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_child_thread.s b/asm/nonmatchings/si/si_handle_child_thread.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_child_thread.s rename to asm/nonmatchings/si/si_handle_child_thread.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_print_debug_var.s b/asm/nonmatchings/si/si_handle_print_debug_var.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_print_debug_var.s rename to asm/nonmatchings/si/si_handle_print_debug_var.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_handle_thread.s b/asm/nonmatchings/si/si_handle_thread.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_handle_thread.s rename to asm/nonmatchings/si/si_handle_thread.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_skip_else.s b/asm/nonmatchings/si/si_skip_else.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_skip_else.s rename to asm/nonmatchings/si/si_skip_else.s diff --git a/asm/nonmatchings/code_e92d0_len_5da0/si_skip_if.s b/asm/nonmatchings/si/si_skip_if.s similarity index 100% rename from asm/nonmatchings/code_e92d0_len_5da0/si_skip_if.s rename to asm/nonmatchings/si/si_skip_if.s diff --git a/format.sh b/format.sh index 16adddc764..8c3f0a677f 100755 --- a/format.sh +++ b/format.sh @@ -21,7 +21,7 @@ astyle ${FILES} \ --lineend=linux \ --convert-tabs \ --max-code-length=120 \ - --min-conditional-indent=1 \ + --min-conditional-indent=0 \ --style=attach \ --align-pointer=type --align-reference=name \ --indent-switches \ diff --git a/include/common_structs.h b/include/common_structs.h index 030d8d1c17..0974e618f5 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -10,6 +10,11 @@ struct ScriptInstance; typedef ApiStatus(*ApiFunc)(struct ScriptInstance*, s32); +typedef struct Vec2b { + /* 0x00 */ u8 x; + /* 0x01 */ u8 y; +} Vec2b; // size = 0x02 + typedef struct Vec3f { /* 0x00 */ f32 x; /* 0x04 */ f32 y; @@ -1263,7 +1268,7 @@ typedef struct Actor { /* 0x137 */ char unk_137; /* 0x138 */ struct Vec3f homePos; /* 0x144 */ struct Vec3f currentPos; - /* 0x150 */ Vec3s otherPosheadOffset; + /* 0x150 */ Vec3s headOffset; /* 0x156 */ s16 healthBarPosition[3]; /* 0x15C */ f32 rotation[3]; /* 0x168 */ s16 rotationPivotOffset[3]; @@ -1272,7 +1277,7 @@ typedef struct Actor { /* 0x17C */ f32 scaleModifier[3]; /* multiplies normal scale factors componentwise */ /* 0x188 */ f32 scalingFactor; /* 0x18C */ f32 yaw; - /* 0x190 */ u8 size[2]; + /* 0x190 */ Vec2b size; /* 0x192 */ s16 actorID; /* 0x194 */ char unk_194[8]; /* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound */ diff --git a/include/nu/nusys.h b/include/nu/nusys.h index b5cd46a06f..6a3fe46df0 100644 --- a/include/nu/nusys.h +++ b/include/nu/nusys.h @@ -9,7 +9,7 @@ /* Ver 1.2 98/07/12 Modified by Kensaku Ohki(SLANP) */ /* Ver 2.0 90/01/23 Modified by Kensaku Ohki(SLANP) */ /*----------------------------------------------------------------------*/ -/* $Id: nusys.h,v 1.21 1999/01/26 02:33:26 ohki Exp $ */ +/* $Id: nusys.h,v 1.26 1999/05/07 08:23:45 ohki Exp ohki $ */ /*======================================================================*/ #ifndef _NUSYS_H_ #define _NUSYS_H_ @@ -33,7 +33,7 @@ extern "C" { /* DEFINE */ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ -#define NU_VERSION "1.0" +#define NU_VERSION "2.05" /*--------------------------------------*/ /* NuSystem spec define */ @@ -46,7 +46,7 @@ extern "C" { /* Thread ID for DEBUG (a precaution) */ /*--------------------------------------*/ #define NU_IDLE_THREAD_ID 1 -#define NU_RMON_THERAD_ID 2 /* no use */ +#define NU_RMON_THREAD_ID 2 /* no use */ #define NU_MAIN_THREAD_ID 3 @@ -61,6 +61,7 @@ extern "C" { /* NUSYS STACK SIZE */ /*--------------------------------------*/ #define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ +#define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ #define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ @@ -89,6 +90,9 @@ extern "C" { #define NU_SC_HANDLER_PRI 120 /* EVENT HANDLER THREAD PRORITY */ #define NU_SC_AUDIO_PRI 110 /* AUDIO DISPATCHER THREAD PRORITY */ #define NU_SC_GRAPHICS_PRI 100 /* GFX DISPATCHER THREAD PRORITY */ +#define NU_SC_HANDLER_THREAD_ID 19 +#define NU_SC_AUDIO_THREAD_ID 18 +#define NU_SC_GRAPHICS_THREAD_ID 17 #define NU_SC_PRENMI_YET 0 /* PRE NMI has not occurred. */ #define NU_SC_PRENMI_GET 1 /* PRE NMI received flag */ #define NU_SC_BEFORE_RESET 2 /* Pre-RESET flag for frame before reset */ @@ -139,14 +143,15 @@ extern "C" { #endif /* F3DEX_GBI_2 */ -/*--------------------------------------*/ +/*----------------------------------------------*/ /* The number of graphics task structures */ -/* should be set to a value at least as large as the Scheduler*/ -/* message buffer size. */ -/* Otherwise, a task structure in use may */ -/* be used. */ -/*--------------------------------------*/ -#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ +/* should be set to a value at least as large as*/ +/* the Scheduler */ +/* message buffer size. */ +/* Otherwise, a task structure in use may */ +/* be used. */ +/*----------------------------------------------*/ +#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ #define NU_GFX_RDP_OUTPUTBUFF_SIZE 0x20000 /* fifo buffer size */ /*--------------------------------------*/ @@ -175,6 +180,7 @@ extern "C" { #define NU_GFX_DISPLAY_ON 1 /* Display */ #define NU_GFX_DISPLAY_ON_TRIGGER 0x80 /* Trigger */ +#define NU_GFX_YIELD_BUF_SIZE (OS_YIELD_DATA_SIZE + 0x10) /*----------------------------------------------------------------------*/ /* SI MANAGER DEFINE */ @@ -203,7 +209,7 @@ extern "C" { #define NU_CONT_MAXCONTROLLERS MAXCONTROLLERS #define NU_CONT_STACK_SIZE 0x2000 #define NU_CONT_MESG_MAX 8 -#define NU_CONT_THREAD_ID 5 +#define NU_CONT_THREAD_ID 6 #define NU_CONT_THREAD_PRI 115 #define NU_CONT_DATA_UNLOCK 0 #define NU_CONT_DATA_LOCK 1 @@ -318,8 +324,12 @@ extern "C" { /*----------------------------------------------------------------------*/ /* DEBUG */ /*----------------------------------------------------------------------*/ -#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ -#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ +#define NU_DEB_PERF_BUF_NUM 3 +#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ +#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ +#define NU_DEB_PERF_RUNNING 0 /* Sampling */ +#define NU_DEB_PERF_STOP 1 /* Stop sampling */ +#define NU_DEB_PERF_START 2 /* Start sampling */ #define NU_DEB_DP_CLOCK_CTR 0 /* RDP internal counter */ #define NU_DEB_DP_CMD_CTR 1 /* CMD counter */ #define NU_DEB_DP_PIPE_CTR 2 /* PIPE counter */ @@ -365,6 +375,8 @@ extern "C" { #define NU_DEB_CON_WINDOW_OFF 0 #define NU_DEB_CON_WINDOW_ON 1 +#define NU_DEB_MARKER_NUM 10 + #if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ @@ -464,6 +476,21 @@ typedef void (*NUContRmbFunc)(void*); /* Rumble Pak control function callback */ typedef s32 (*NUCallBackFunc)(void*); /* Callback function */ +/*--------------------------------------*/ +/* PI Common Message */ +/*--------------------------------------*/ +typedef struct st_PiOverlaySegment { + u8* romStart; /* Segment's ROM start offset */ + u8* romEnd; /* Segment's ROM end offset */ + u8* ramStart; /* Segment's CPU start address */ + u8* textStart; /* test attribute's DRAM start address */ + u8* textEnd; /* test attribute's DRAM end address */ + u8* dataStart; /* data attribute's DRAM start address */ + u8* dataEnd; /* data attribute's DRAM end address */ + u8* bssStart; /* bss attribute's DRAM start address */ + u8* bssEnd; /* bss attribute's DRAM start address */ +} NUPiOverlaySegment; + /*--------------------------------------*/ /* SI Common message */ /*--------------------------------------*/ @@ -600,6 +627,7 @@ typedef struct st_GfxTaskTime { typedef struct st_DebTaskPerf { s64 retraceTime; /* retrace event time*/ + s64 markerTime[NU_DEB_MARKER_NUM]; u8 gfxTaskCnt; /* Number of graphics tasks */ u8 auTaskCnt; /* Number of audio tasks */ u8 gfxTaskStart; @@ -630,9 +658,9 @@ typedef struct st_DebConWindow { /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ -extern u8 nuRDPOutputBuf[NU_GFX_RDP_OUTPUTBUFF_SIZE]; -extern u8 nuDramStack[SP_DRAM_STACK_SIZE8]; -extern u8 nuYieldBuf[OS_YIELD_DATA_SIZE]; +extern u8 nuRDPOutputBuf[]; +extern u8 nuDramStack[]; +extern u8 nuYieldBuf[]; extern NUSched nusched; /* Scheduler structure */ extern OSMesgQueue nuGfxMesgQ; /* Graphics thread queue */ extern u32 nuScRetraceCounter; /* Retrace counter */ @@ -648,16 +676,18 @@ extern u16* nuGfxZBuffer; /* Pointer to the Z buffer */ extern volatile u32 nuGfxTaskSpool; /* Number of tasks in queue */ extern u32 nuGfxDisplay; /* Display on/off flag */ extern u32 nuGfxCfbCounter; /* For frame buffer swapping */ +extern OSMesgQueue nuGfxMesgQ; +extern OSThread nuGfxThread; /* graphic thread */ /*--------------------------------------*/ /* controller Manager variables */ /*--------------------------------------*/ -extern OSContStatus nuContStatus[NU_CONT_MAXCONTROLLERS]; -extern OSContPad nuContData[NU_CONT_MAXCONTROLLERS]; +extern OSContStatus nuContStatus[]; +extern OSContPad nuContData[]; extern u32 nuContNum; /* Number of controllers connected */ extern u32 nuContDataLockKey; /* Lock Controller data. */ extern OSMesgQueue nuContWaitMesgQ; /* Wait for Controller read */ -extern OSPfs nuContPfs[4]; +extern OSPfs nuContPfs[]; extern NUCallBackList nuContCallBack; extern u16 nuContPakCompanyCode; /* Company code */ extern u32 nuContPakGameCode; /* Game code */ @@ -666,7 +696,7 @@ extern NUCallBackList nuContPakCallBack; /*--------------------------------------*/ /* RUMBUL Manager variables */ /*--------------------------------------*/ -extern NUContRmbCtl nuContRmbCtl[4]; +extern NUContRmbCtl nuContRmbCtl[]; extern u32 nuContRmbSearchTime; extern NUCallBackList nuContRmbCallBack; @@ -698,6 +728,7 @@ extern NUCallBackList* nuSiCallBackList;/* Callback function list */ /*--------------------------------------*/ extern OSPiHandle* nuPiCartHandle; extern OSPiHandle* nuPiSramHandle; +extern OSPiHandle* nuPiDDRomHandle; /*--------------------------------------*/ /* CALL BACK Function pointer */ @@ -713,8 +744,14 @@ extern NUContReadFunc nuContReadFunc; /* When controller read ends */ /*--------------------------------------*/ /* Debug */ /*--------------------------------------*/ + extern NUDebTaskPerf* nuDebTaskPerfPtr; extern NUDebConWindow nuDebConWin[]; +extern NUDebTaskPerf nuDebTaskPerf[]; +extern u32 nuDebTaskPerfInterval; +extern volatile u32 nuDebTaskPerfCnt; +extern volatile u32 nuDebTaskPerfEnd; + /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ @@ -733,7 +770,6 @@ extern void nuScCreateScheduler(u8 videoMode, u8 numFields); extern void nuScAddClient(NUScClient *c, OSMesgQueue *mq, NUScMsg msgType); extern void nuScRemoveClient(NUScClient *client); extern void nuScResetClientMesgType(NUScClient* client, NUScMsg msgType); -/* extern void nuPreNMIFuncSet(NUScPreNMIFunc func); redundant extern warning */ extern OSMesgQueue* nuScGetGfxMQ(void); extern OSMesgQueue* nuScGetAudioMQ(void); extern void nuScSetFrameBufferNum(u8 frameBufferNum); @@ -759,9 +795,9 @@ extern void nuGfxRetraceWait(u32 retrace_num); extern void nuGfxDisplayOff(void); extern void nuGfxDisplayOn(void); -/* #ifdef F3DEX_GBI_2 - #define nuGfxInit() nuGfxInitEX2() - #endif /* F3DEX_GBI_2 */ +#ifdef F3DEX_GBI_2 +#define nuGfxInit() nuGfxInitEX2() +#endif /* F3DEX_GBI_2 */ /*--------------------------------------*/ /* controller Manager function */ /*--------------------------------------*/ @@ -858,6 +894,7 @@ extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); extern void nuPiInitSram(void); extern void nuPiInitDDrom(void); extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag); +extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment); /*--------------------------------------*/ /* si functions */ @@ -887,15 +924,24 @@ extern s32 nuVrsMaskDictionary(NUVrsHandle* handle, u8* maskpattern, s32 size); /* dubug functions */ /*--------------------------------------*/ #ifdef NDEBUG -#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebPerfMarkSet(EX0) ((void)0) +#define nuDebTaskPerfIntervalSet(EX0) ((void)0) #else extern void nuDebTaskPerfBar0(u32 frameNum, u32 y, u32 flag); extern void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag); extern void nuDebTaskPerfBar0EX2(u32 frameNum, u32 y, u32 flag); extern void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag); +extern u32 nuDebPerfMarkSet(s32 markNo); +extern void nuDebTaskPerfIntervalSet(u32 interval); +#ifdef F3DEX_GBI_2 +#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) +#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) +#endif /* F3DEX_GBI_2 */ + #endif /* NDEBUG */ extern void nuDebConDisp(u32 flag); @@ -917,10 +963,9 @@ extern void nuDebConPutc(u32 wndNo, u32 c); extern void nuDebTaskPerfLoad(void); extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); + #ifdef F3DEX_GBI_2 #define nuDebConDisp(flag) nuDebConDispEX2(flag) -#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) -#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) #endif /* F3DEX_GBI_2 */ /*----------------------------------------------------------------------*/ @@ -1045,6 +1090,8 @@ extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); #define nuVrsCheckWord osVoiceCheckWord #define nuVrsCountSyllables osVoiceCountSyllables + + #endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ #ifdef _LANGUAGE_C_PLUS_PLUS } diff --git a/include/variables.h b/include/variables.h index 87469f2fb6..acdf8f3fd4 100644 --- a/include/variables.h +++ b/include/variables.h @@ -36,7 +36,7 @@ extern s32 gScriptListCount; extern s32 gScriptIdList[MAX_SCRIPTS]; extern s32 gScriptIndexList[MAX_SCRIPTS]; -extern s32 gMoveScriptTable[10][4]; // not 10 - how many? +extern s32 gMoveScriptTable[][4]; extern Model* gWorldModelList[256]; extern Model* gBattleModelList[256]; diff --git a/src/code_1370_len_7d0.c b/src/code_1370_len_7d0.c index 25b09e2082..6c7157bc72 100644 --- a/src/code_1370_len_7d0.c +++ b/src/code_1370_len_7d0.c @@ -21,7 +21,7 @@ void boot_main(void) { nuGfxDisplayOff(); crash_create_monitor(); func_80025C60(); - nuGfxInit(); + nuGfxInitEX2(); GAME_STATUS->contBitPattern = nuContInit(); func_8002D160(); func_802B2000(); diff --git a/src/code_181810.c b/src/code_181810.c index 062eb8cb5d..c976f6e42c 100644 --- a/src/code_181810.c +++ b/src/code_181810.c @@ -1,17 +1,5 @@ #include "common.h" -// typedef struct DialogueState { -// /* 0x00 */ PrintContext* printCtx; -// /* 0x04 */ s32 unk_04; -// /* 0x08 */ s32 unk_08; -// /* 0x0C */ s32 talkAnim; -// /* 0x10 */ s32 idleAnim; -// /* 0x14 */ Actor* actor; -// /* 0x18 */ ActorPart* part; -// } DialogueState; // 0x8029FA60 size = unknown - -// extern DialogueState gDialogueState; - extern PrintContext* gSpeakingActorPrintCtx; extern s32 gSpeakingActorPrintIsDone; // unk_08 extern s32 gSpeakingActorTalkAnim; @@ -19,18 +7,21 @@ extern s32 gSpeakingActorIdleAnim; extern Actor* gSpeakingActor; extern ActorPart* gSpeakingActorPart; -INCLUDE_ASM(s32, "code_181810", ActorSpeak); -/*ApiStatus ActorSpeak(ScriptInstance *script, s32 isInitialCall) { +#ifdef NON_MATCHING +void clamp_printer_coords(PrintContext* printer, f32 x, f32 y); + +// Register allocation issues, otherwise equivalent (?) +ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - Actor *actor; - ActorPart *part; + Actor* actor; + ActorPart* part; s32 stringID; s32 actorID; s32 partIndex; - PrintContext *printContext; - f32 speakerMouthY; + PrintContext** printContext; s32 anim; + f32 headX, headY, headZ; f32 screenX, screenY, screenZ; if (isInitialCall) { @@ -48,16 +39,22 @@ INCLUDE_ASM(s32, "code_181810", ActorSpeak); gSpeakingActor = actor; gSpeakingActorPart = part; + headX = actor->currentPos.x + actor->headOffset.x; if ((actor->flags & 0x8000) == 0) { - speakerMouthY = actor->otherPosheadOffset.y + actor->currentPos.y + actor->size[1]; + headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y); } else { - speakerMouthY = actor->otherPosheadOffset.y + actor->currentPos.y + (actor->size[1] / 2); + headY = actor->headOffset.y + actor->currentPos.y + (actor->size.y / 2); } + headZ = actor->headOffset.z + actor->currentPos.z; + get_screen_coords(Cam_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ); - get_screen_coords(Cam_BATTLE, actor->currentPos.x + actor->otherPosheadOffset.x, speakerMouthY, actor->currentPos.z + actor->otherPosheadOffset.z, &screenX, &screenY, &screenZ); - gSpeakingActorPrintIsDone = 0; - gSpeakingActorPrintCtx = load_string(stringID, &gSpeakingActorPrintIsDone); + { + s32* isPrintDone = &gSpeakingActorPrintIsDone; + *isPrintDone = FALSE; + gSpeakingActorPrintCtx = load_string(stringID, isPrintDone); + } clamp_printer_coords(gSpeakingActorPrintCtx, screenX, screenY); + script->functionTemp[0] = 0; D_8009A650[0] |= 0x10; if (gSpeakingActorTalkAnim >= 0) { @@ -69,20 +66,25 @@ INCLUDE_ASM(s32, "code_181810", ActorSpeak); if (script->functionTemp[0] == 0) { actor = gSpeakingActor; part = gSpeakingActorPart; - if ((actor->flags & 0x8000) == 0) { - speakerMouthY = actor->currentPos.y + actor->otherPosheadOffset.y + actor->size[1]; - } else { - speakerMouthY = actor->currentPos.y + actor->otherPosheadOffset.y + (actor->size[1] / 2); - } - get_screen_coords(Cam_BATTLE, actor->currentPos.x + actor->otherPosheadOffset.x, speakerMouthY, actor->currentPos.z + actor->otherPosheadOffset.z, &screenX, &screenY, &screenZ); - clamp_printer_coords(printContext = gSpeakingActorPrintCtx, screenX, screenY); - if (printContext->stateFlags & 0x40) { + headX = actor->currentPos.x + actor->headOffset.x; + if ((actor->flags & 0x8000) == 0) { + headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y); + } else { + headY = actor->headOffset.y + actor->currentPos.y + (actor->size.y / 2); + } + headZ = actor->headOffset.z + actor->currentPos.z; + get_screen_coords(Cam_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ); + + printContext = &gSpeakingActorPrintCtx; + clamp_printer_coords(*printContext, screenX, screenY); + + if ((*printContext)->stateFlags & 0x40) { decrement_status_menu_disabled(); return ApiStatus_DONE1; } - if (printContext->stateFlags & 0x80) { // "is talking" flag + if ((*printContext)->stateFlags & 0x80) { // "is talking" flag anim = gSpeakingActorTalkAnim; } else { anim = gSpeakingActorIdleAnim; @@ -100,7 +102,10 @@ INCLUDE_ASM(s32, "code_181810", ActorSpeak); } return ApiStatus_BLOCK; -}*/ +} +#else +INCLUDE_ASM(s32, "code_181810", ActorSpeak); +#endif INCLUDE_ASM(s32, "code_181810", EndActorSpeech); diff --git a/src/code_190B20.c b/src/code_190B20.c index 97c7a2a04d..d529a73fd5 100644 --- a/src/code_190B20.c +++ b/src/code_190B20.c @@ -357,7 +357,7 @@ void remove_part_shadow(s32 actorId, s32 partIndex) { func_80112328(part->shadow); } -void create_part_shadow_by_ptr(UNK_TYPE arg0, ActorPart* part) { +void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part) { part->flags &= ~4; part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); part->shadowScale = part->size[0] / 24.0; diff --git a/src/code_190B20.h b/src/code_190B20.h index 70545647e5..cee3cc3c5d 100644 --- a/src/code_190B20.h +++ b/src/code_190B20.h @@ -21,6 +21,6 @@ s32 heroes_is_ability_active(Actor* actor, Ability ability); void create_part_shadow(s32 actorId, s32 partIndex); void remove_part_shadow(s32 actorId, s32 partIndex); -void create_part_shadow_by_ptr(UNK_TYPE arg0, ActorPart* part); // arg0 unused +void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part); // arg0 unused #endif diff --git a/src/code_317020.c b/src/code_317020.c new file mode 100644 index 0000000000..4526348b99 --- /dev/null +++ b/src/code_317020.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_317020", func_802BD100); + +INCLUDE_ASM(s32, "code_317020", func_802BD174); + +INCLUDE_ASM(s32, "code_317020", func_802BD188); + +INCLUDE_ASM(s32, "code_317020", func_802BD1D0); + +INCLUDE_ASM(s32, "code_317020", func_802BD564); + +INCLUDE_ASM(s32, "code_317020", func_802BD5A8); + +INCLUDE_ASM(s32, "code_317020", func_802BD5D8); + +INCLUDE_ASM(s32, "code_317020", func_802BDB30); + +INCLUDE_ASM(s32, "code_317020", func_802BDB84); + +INCLUDE_ASM(s32, "code_317020", func_802BDBBC); diff --git a/src/code_317E50.c b/src/code_317E50.c new file mode 100644 index 0000000000..f50d902bdd --- /dev/null +++ b/src/code_317E50.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_317E50", func_802BD100_317E50); + +INCLUDE_ASM(s32, "code_317E50", func_802BD2D8); + +INCLUDE_ASM(s32, "code_317E50", func_802BD300); + +INCLUDE_ASM(s32, "code_317E50", func_802BD338); + +INCLUDE_ASM(s32, "code_317E50", func_802BD6DC); + +INCLUDE_ASM(s32, "code_317E50", func_802BD720); + +INCLUDE_ASM(s32, "code_317E50", func_802BD748); + +INCLUDE_ASM(s32, "code_317E50", func_802BD758); + +INCLUDE_ASM(s32, "code_317E50", func_802BE4E8); + +INCLUDE_ASM(s32, "code_317E50", func_802BE520); + +INCLUDE_ASM(s32, "code_317E50", func_802BE6E8); diff --git a/src/code_319670.c b/src/code_319670.c new file mode 100644 index 0000000000..22d658e5ae --- /dev/null +++ b/src/code_319670.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_319670", func_802BD100_319670); + +INCLUDE_ASM(s32, "code_319670", func_802BD148); + +INCLUDE_ASM(s32, "code_319670", func_802BD180); + +INCLUDE_ASM(s32, "code_319670", func_802BD514); + +INCLUDE_ASM(s32, "code_319670", func_802BD558); + +INCLUDE_ASM(s32, "code_319670", func_802BD660); + +INCLUDE_ASM(s32, "code_319670", func_802BE8D4); + +INCLUDE_ASM(s32, "code_319670", func_802BE90C); + +INCLUDE_ASM(s32, "code_319670", func_802BE9D0); diff --git a/src/code_31B120.c b/src/code_31B120.c new file mode 100644 index 0000000000..9e43f4c2bf --- /dev/null +++ b/src/code_31B120.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_31B120", func_802BD100_31B120); + +INCLUDE_ASM(s32, "code_31B120", func_802BD144); + +INCLUDE_ASM(s32, "code_31B120", func_802BD17C); + +INCLUDE_ASM(s32, "code_31B120", func_802BD200); + +INCLUDE_ASM(s32, "code_31B120", func_802BD228); + +INCLUDE_ASM(s32, "code_31B120", func_802BD260); + +INCLUDE_ASM(s32, "code_31B120", func_802BD5F4); + +INCLUDE_ASM(s32, "code_31B120", func_802BD638); + +INCLUDE_ASM(s32, "code_31B120", func_802BE7E0); + +INCLUDE_ASM(s32, "code_31B120", func_802BE818); + +INCLUDE_ASM(s32, "code_31B120", func_802BEA24); + +INCLUDE_ASM(s32, "code_31B120", func_802BEB10); diff --git a/src/code_31CC70.c b/src/code_31CC70.c new file mode 100644 index 0000000000..5db97d63ef --- /dev/null +++ b/src/code_31CC70.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_31CC70", func_802BD100_31CC70); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD180_31CC70); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD1AC); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD23C); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD27C); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD2B4); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD710); + +INCLUDE_ASM(s32, "code_31CC70", func_802BD754); + +INCLUDE_ASM(s32, "code_31CC70", func_802BDD0C); + +INCLUDE_ASM(s32, "code_31CC70", func_802BDD9C); + +INCLUDE_ASM(s32, "code_31CC70", func_802BDE10); + +INCLUDE_ASM(s32, "code_31CC70", func_802BDE88); + +INCLUDE_ASM(s32, "code_31CC70", func_802BE014); + +INCLUDE_ASM(s32, "code_31CC70", func_802BE070); diff --git a/src/code_31DE70.c b/src/code_31DE70.c new file mode 100644 index 0000000000..54a412abdd --- /dev/null +++ b/src/code_31DE70.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_31DE70", func_802BD100_31DE70); + +INCLUDE_ASM(s32, "code_31DE70", func_802BD20C); + +INCLUDE_ASM(s32, "code_31DE70", func_802BD368); + +INCLUDE_ASM(s32, "code_31DE70", func_802BD414); + +INCLUDE_ASM(s32, "code_31DE70", func_802BE280); + +INCLUDE_ASM(s32, "code_31DE70", func_802BE3A4); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF520); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF568); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF5A0); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF920); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF964); + +INCLUDE_ASM(s32, "code_31DE70", func_802BF9B8); + +INCLUDE_ASM(s32, "code_31DE70", func_802BFA58); + +INCLUDE_ASM(s32, "code_31DE70", func_802BFAB8); diff --git a/src/code_320C50.c b/src/code_320C50.c new file mode 100644 index 0000000000..5a37d55f57 --- /dev/null +++ b/src/code_320C50.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_320C50", func_802BD100_320C50); + +INCLUDE_ASM(s32, "code_320C50", func_802BD21C); + +INCLUDE_ASM(s32, "code_320C50", func_802BD29C); + +INCLUDE_ASM(s32, "code_320C50", func_802BD2D4); + +INCLUDE_ASM(s32, "code_320C50", func_802BD678); + +INCLUDE_ASM(s32, "code_320C50", func_802BD6BC); + +INCLUDE_ASM(s32, "code_320C50", func_802BD7DC); + +INCLUDE_ASM(s32, "code_320C50", func_802BD99C); + +INCLUDE_ASM(s32, "code_320C50", func_802BDA90); + +INCLUDE_ASM(s32, "code_320C50", func_802BDDD8); + +INCLUDE_ASM(s32, "code_320C50", func_802BE6A0); + +INCLUDE_ASM(s32, "code_320C50", func_802BE724); + +INCLUDE_ASM(s32, "code_320C50", func_802BF4F0); + +INCLUDE_ASM(s32, "code_320C50", func_802BFA00); + +INCLUDE_ASM(s32, "code_320C50", func_802BFAA8); + +INCLUDE_ASM(s32, "code_320C50", func_802BFB44); + +INCLUDE_ASM(s32, "code_320C50", func_802BFBA0); diff --git a/src/code_323A50.c b/src/code_323A50.c new file mode 100644 index 0000000000..fe8cee5912 --- /dev/null +++ b/src/code_323A50.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_323A50", func_802BD100_323A50); + +INCLUDE_ASM(s32, "code_323A50", func_802BD130); + +INCLUDE_ASM(s32, "code_323A50", func_802BD168); + +INCLUDE_ASM(s32, "code_323A50", func_802BD4FC); + +INCLUDE_ASM(s32, "code_323A50", func_802BD540); + +INCLUDE_ASM(s32, "code_323A50", func_802BD694); + +INCLUDE_ASM(s32, "code_323A50", func_802BDDF0); + +INCLUDE_ASM(s32, "code_323A50", func_802BDF08); + +INCLUDE_ASM(s32, "code_323A50", func_802BDF64); diff --git a/src/code_324A10.c b/src/code_324A10.c new file mode 100644 index 0000000000..e273da0f5c --- /dev/null +++ b/src/code_324A10.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_324A10", func_802BD100_324A10); + +INCLUDE_ASM(s32, "code_324A10", func_802BD114); + +INCLUDE_ASM(s32, "code_324A10", func_802BD14C); + +INCLUDE_ASM(s32, "code_324A10", func_802BD4E0); + +INCLUDE_ASM(s32, "code_324A10", func_802BD524); + +INCLUDE_ASM(s32, "code_324A10", func_802BD52C); diff --git a/src/code_324F10.c b/src/code_324F10.c new file mode 100644 index 0000000000..7c57c13432 --- /dev/null +++ b/src/code_324F10.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_324F10", func_802BD100_324F10); + +INCLUDE_ASM(s32, "code_324F10", func_802BD114_324F10); + +INCLUDE_ASM(s32, "code_324F10", func_802BD14C_324F10); + +INCLUDE_ASM(s32, "code_324F10", func_802BD1AC_324F10); + +INCLUDE_ASM(s32, "code_324F10", func_802BD1B4); diff --git a/src/code_325070.c b/src/code_325070.c new file mode 100644 index 0000000000..a7f4f7a986 --- /dev/null +++ b/src/code_325070.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_325070", func_802BD100_325070); + +INCLUDE_ASM(s32, "code_325070", func_802BD110); + +INCLUDE_ASM(s32, "code_325070", func_802BD148_325070); + +INCLUDE_ASM(s32, "code_325070", func_802BD1A8); + +INCLUDE_ASM(s32, "code_325070", func_802BD1B0); diff --git a/src/code_3251D0.c b/src/code_3251D0.c new file mode 100644 index 0000000000..f7026ac991 --- /dev/null +++ b/src/code_3251D0.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3251D0", func_802BD100_3251D0); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD1AC_3251D0); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD26C); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD32C); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD388); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD3E4); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD41C); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD458); + +INCLUDE_ASM(s32, "code_3251D0", func_802BD4E8); diff --git a/src/code_325AD0.c b/src/code_325AD0.c new file mode 100644 index 0000000000..6ef70f07e6 --- /dev/null +++ b/src/code_325AD0.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_325AD0", func_E0200000); + +INCLUDE_ASM(s32, "code_325AD0", func_E0200044); + +INCLUDE_ASM(s32, "code_325AD0", func_E02000AC); diff --git a/src/code_325EE0.c b/src/code_325EE0.c new file mode 100644 index 0000000000..c816f22891 --- /dev/null +++ b/src/code_325EE0.c @@ -0,0 +1,81 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_325EE0", func_E0200410); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200420); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200430); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200440); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200450); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200460); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200470); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200480); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200490); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004A0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004B0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004C0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004D0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004E0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02004F0); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200500); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200510); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200520); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200530); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200540); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200550); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200560); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200570); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200580); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200590); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005A0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005B0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005C0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005D0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005E0); + +INCLUDE_ASM(s32, "code_325EE0", func_E02005F0); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200600); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200610); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200620); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200630); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200640); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200650); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200660); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200670); + +INCLUDE_ASM(s32, "code_325EE0", func_E0200680); diff --git a/src/code_3278F0.c b/src/code_3278F0.c new file mode 100644 index 0000000000..6fac40c33f --- /dev/null +++ b/src/code_3278F0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3278F0", func_E0002000); + +INCLUDE_ASM(s32, "code_3278F0", func_E00021B4); + +INCLUDE_ASM(s32, "code_3278F0", func_E00021BC); + +INCLUDE_ASM(s32, "code_3278F0", func_E00022BC); + +INCLUDE_ASM(s32, "code_3278F0", func_E0002300); + +INCLUDE_ASM(s32, "code_3278F0", func_E0002738); diff --git a/src/code_328110.c b/src/code_328110.c new file mode 100644 index 0000000000..fc4931be6a --- /dev/null +++ b/src/code_328110.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_328110", func_E000C000); + +INCLUDE_ASM(s32, "code_328110", func_E000C094); + +INCLUDE_ASM(s32, "code_328110", func_E000C0C8); + +INCLUDE_ASM(s32, "code_328110", func_E000C160); + +INCLUDE_ASM(s32, "code_328110", func_E000C64C); + +INCLUDE_ASM(s32, "code_328110", func_E000C654); + +INCLUDE_ASM(s32, "code_328110", func_E000C754); + +INCLUDE_ASM(s32, "code_328110", func_E000C798); diff --git a/src/code_32C110.c b/src/code_32C110.c new file mode 100644 index 0000000000..2ce28e5ced --- /dev/null +++ b/src/code_32C110.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_32C110", func_E000E000); + +INCLUDE_ASM(s32, "code_32C110", func_E000E16C); + +INCLUDE_ASM(s32, "code_32C110", func_E000E174); + +INCLUDE_ASM(s32, "code_32C110", func_E000E244); + +INCLUDE_ASM(s32, "code_32C110", func_E000E288); diff --git a/src/code_331940.c b/src/code_331940.c new file mode 100644 index 0000000000..adc657aa05 --- /dev/null +++ b/src/code_331940.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_331940", func_E001E000); + +INCLUDE_ASM(s32, "code_331940", func_E001E370); + +INCLUDE_ASM(s32, "code_331940", func_E001E378); + +INCLUDE_ASM(s32, "code_331940", func_E001E6E8); + +INCLUDE_ASM(s32, "code_331940", func_E001E730); diff --git a/src/code_333EC0.c b/src/code_333EC0.c new file mode 100644 index 0000000000..a768fc8089 --- /dev/null +++ b/src/code_333EC0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_333EC0", func_E0020000); + +INCLUDE_ASM(s32, "code_333EC0", func_E00202CC); + +INCLUDE_ASM(s32, "code_333EC0", func_E0020460); + +INCLUDE_ASM(s32, "code_333EC0", func_E0020468); + +INCLUDE_ASM(s32, "code_333EC0", func_E002058C); + +INCLUDE_ASM(s32, "code_333EC0", func_E00205D0); diff --git a/src/code_337240.c b/src/code_337240.c new file mode 100644 index 0000000000..8dfce869c2 --- /dev/null +++ b/src/code_337240.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_337240", func_E0022000); + +INCLUDE_ASM(s32, "code_337240", func_E0022544); + +INCLUDE_ASM(s32, "code_337240", func_E002254C); + +INCLUDE_ASM(s32, "code_337240", func_E0022960); + +INCLUDE_ASM(s32, "code_337240", func_E0022998); diff --git a/src/code_339250.c b/src/code_339250.c new file mode 100644 index 0000000000..774eca3dca --- /dev/null +++ b/src/code_339250.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_339250", func_E0024000); + +INCLUDE_ASM(s32, "code_339250", func_E0024180); + +INCLUDE_ASM(s32, "code_339250", func_E0024188); + +INCLUDE_ASM(s32, "code_339250", func_E00242E0); + +INCLUDE_ASM(s32, "code_339250", func_E0024324); + +INCLUDE_ASM(s32, "code_339250", func_E00243BC); + +INCLUDE_ASM(s32, "code_339250", func_E0024454); diff --git a/src/code_33B180.c b/src/code_33B180.c new file mode 100644 index 0000000000..c48fb406eb --- /dev/null +++ b/src/code_33B180.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_33B180", func_E0026000); + +INCLUDE_ASM(s32, "code_33B180", func_E0026184); + +INCLUDE_ASM(s32, "code_33B180", func_E002618C); + +INCLUDE_ASM(s32, "code_33B180", func_E00264B0); + +INCLUDE_ASM(s32, "code_33B180", func_E00264F4); diff --git a/src/code_33CDF0.c b/src/code_33CDF0.c new file mode 100644 index 0000000000..5e61b04306 --- /dev/null +++ b/src/code_33CDF0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_33CDF0", func_E0028000); + +INCLUDE_ASM(s32, "code_33CDF0", func_E0028240); + +INCLUDE_ASM(s32, "code_33CDF0", func_E0028248); + +INCLUDE_ASM(s32, "code_33CDF0", func_E00284E8); + +INCLUDE_ASM(s32, "code_33CDF0", func_E002852C); diff --git a/src/code_33E8C0.c b/src/code_33E8C0.c new file mode 100644 index 0000000000..9ce893e420 --- /dev/null +++ b/src/code_33E8C0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_33E8C0", func_E002A000); + +INCLUDE_ASM(s32, "code_33E8C0", func_E002A284); + +INCLUDE_ASM(s32, "code_33E8C0", func_E002A28C); + +INCLUDE_ASM(s32, "code_33E8C0", func_E002A380); + +INCLUDE_ASM(s32, "code_33E8C0", func_E002A3C4); diff --git a/src/code_33FE80.c b/src/code_33FE80.c new file mode 100644 index 0000000000..dab915b7e6 --- /dev/null +++ b/src/code_33FE80.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_33FE80", func_E002C000); + +INCLUDE_ASM(s32, "code_33FE80", func_E002C234); + +INCLUDE_ASM(s32, "code_33FE80", func_E002C23C); + +INCLUDE_ASM(s32, "code_33FE80", func_E002C3D0); + +INCLUDE_ASM(s32, "code_33FE80", func_E002C414); diff --git a/src/code_3419E0.c b/src/code_3419E0.c new file mode 100644 index 0000000000..0d6cc0e195 --- /dev/null +++ b/src/code_3419E0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3419E0", func_E002E000); + +INCLUDE_ASM(s32, "code_3419E0", func_E002E248); + +INCLUDE_ASM(s32, "code_3419E0", func_E002E250); + +INCLUDE_ASM(s32, "code_3419E0", func_E002E330); + +INCLUDE_ASM(s32, "code_3419E0", func_E002E368); diff --git a/src/code_342140.c b/src/code_342140.c new file mode 100644 index 0000000000..5ca3606a81 --- /dev/null +++ b/src/code_342140.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_342140", func_E0030000); + +INCLUDE_ASM(s32, "code_342140", func_E0030728); + +INCLUDE_ASM(s32, "code_342140", func_E0030730); + +INCLUDE_ASM(s32, "code_342140", func_E0030A24); + +INCLUDE_ASM(s32, "code_342140", func_E0030A68); diff --git a/src/code_343680.c b/src/code_343680.c new file mode 100644 index 0000000000..4796e2f2c3 --- /dev/null +++ b/src/code_343680.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_343680", func_E0032000); + +INCLUDE_ASM(s32, "code_343680", func_E00321D0); + +INCLUDE_ASM(s32, "code_343680", func_E00321D8); + +INCLUDE_ASM(s32, "code_343680", func_E0032420); + +INCLUDE_ASM(s32, "code_343680", func_E003245C); diff --git a/src/code_344A10.c b/src/code_344A10.c new file mode 100644 index 0000000000..25d323baf1 --- /dev/null +++ b/src/code_344A10.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_344A10", func_E0034000); + +INCLUDE_ASM(s32, "code_344A10", func_E0034108); + +INCLUDE_ASM(s32, "code_344A10", func_E0034110); + +INCLUDE_ASM(s32, "code_344A10", func_E00342C8); + +INCLUDE_ASM(s32, "code_344A10", func_E0034310); diff --git a/src/code_3454E0.c b/src/code_3454E0.c new file mode 100644 index 0000000000..09935eb688 --- /dev/null +++ b/src/code_3454E0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3454E0", func_E0036000); + +INCLUDE_ASM(s32, "code_3454E0", func_E00360DC); + +INCLUDE_ASM(s32, "code_3454E0", func_E00360E4); + +INCLUDE_ASM(s32, "code_3454E0", func_E00361D8); + +INCLUDE_ASM(s32, "code_3454E0", func_E003621C); + +INCLUDE_ASM(s32, "code_3454E0", func_E0036224); diff --git a/src/code_34EC80.c b/src/code_34EC80.c new file mode 100644 index 0000000000..eab7e924f7 --- /dev/null +++ b/src/code_34EC80.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_34EC80", func_E003A000); + +INCLUDE_ASM(s32, "code_34EC80", func_E003A1D4); + +INCLUDE_ASM(s32, "code_34EC80", func_E003A1DC); + +INCLUDE_ASM(s32, "code_34EC80", func_E003A310); + +INCLUDE_ASM(s32, "code_34EC80", func_E003A354); diff --git a/src/code_34F4C0.c b/src/code_34F4C0.c new file mode 100644 index 0000000000..d15144e65c --- /dev/null +++ b/src/code_34F4C0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C000); + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C23C); + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C244); + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C474); + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C47C); + +INCLUDE_ASM(s32, "code_34F4C0", func_E003C498); diff --git a/src/code_352440.c b/src/code_352440.c new file mode 100644 index 0000000000..bb9015d622 --- /dev/null +++ b/src/code_352440.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_352440", func_E003E000); + +INCLUDE_ASM(s32, "code_352440", func_E003E3F8); + +INCLUDE_ASM(s32, "code_352440", func_E003E400); + +INCLUDE_ASM(s32, "code_352440", func_E003E5F4); + +INCLUDE_ASM(s32, "code_352440", func_E003E638); diff --git a/src/code_354F60.c b/src/code_354F60.c new file mode 100644 index 0000000000..538262a57b --- /dev/null +++ b/src/code_354F60.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_354F60", func_E0044000); + +INCLUDE_ASM(s32, "code_354F60", func_E004441C); + +INCLUDE_ASM(s32, "code_354F60", func_E0044424); + +INCLUDE_ASM(s32, "code_354F60", func_E00448E4); + +INCLUDE_ASM(s32, "code_354F60", func_E004491C); diff --git a/src/code_355EE0.c b/src/code_355EE0.c new file mode 100644 index 0000000000..38bdd50f42 --- /dev/null +++ b/src/code_355EE0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_355EE0", func_E0046000); + +INCLUDE_ASM(s32, "code_355EE0", func_E0046158); + +INCLUDE_ASM(s32, "code_355EE0", func_E0046160); + +INCLUDE_ASM(s32, "code_355EE0", func_E004627C); + +INCLUDE_ASM(s32, "code_355EE0", func_E00462C0); diff --git a/src/code_356980.c b/src/code_356980.c new file mode 100644 index 0000000000..a9ee8c4567 --- /dev/null +++ b/src/code_356980.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_356980", func_E0048000); + +INCLUDE_ASM(s32, "code_356980", func_E0048128); + +INCLUDE_ASM(s32, "code_356980", func_E0048130); + +INCLUDE_ASM(s32, "code_356980", func_E00481D4); + +INCLUDE_ASM(s32, "code_356980", func_E0048218); diff --git a/src/code_3584C0.c b/src/code_3584C0.c new file mode 100644 index 0000000000..c747382570 --- /dev/null +++ b/src/code_3584C0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3584C0", func_E004A000); + +INCLUDE_ASM(s32, "code_3584C0", func_E004A328); + +INCLUDE_ASM(s32, "code_3584C0", func_E004A330); + +INCLUDE_ASM(s32, "code_3584C0", func_E004A748); + +INCLUDE_ASM(s32, "code_3584C0", func_E004A78C); diff --git a/src/code_35B9D0.c b/src/code_35B9D0.c new file mode 100644 index 0000000000..bbcbc2a9f4 --- /dev/null +++ b/src/code_35B9D0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_35B9D0", func_E004E000); + +INCLUDE_ASM(s32, "code_35B9D0", func_E004E15C); + +INCLUDE_ASM(s32, "code_35B9D0", func_E004E164); + +INCLUDE_ASM(s32, "code_35B9D0", func_E004E1D0); + +INCLUDE_ASM(s32, "code_35B9D0", func_E004E214); diff --git a/src/code_35BFD0.c b/src/code_35BFD0.c new file mode 100644 index 0000000000..4eb7b9d380 --- /dev/null +++ b/src/code_35BFD0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_35BFD0", func_E0050000); + +INCLUDE_ASM(s32, "code_35BFD0", func_E00501D0); + +INCLUDE_ASM(s32, "code_35BFD0", func_E00501D8); + +INCLUDE_ASM(s32, "code_35BFD0", func_E00502C4); + +INCLUDE_ASM(s32, "code_35BFD0", func_E0050308); diff --git a/src/code_3602C0.c b/src/code_3602C0.c new file mode 100644 index 0000000000..92168f08fd --- /dev/null +++ b/src/code_3602C0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3602C0", func_E005A000); + +INCLUDE_ASM(s32, "code_3602C0", func_E005A1F4); + +INCLUDE_ASM(s32, "code_3602C0", func_E005A1FC); + +INCLUDE_ASM(s32, "code_3602C0", func_E005A3B0); + +INCLUDE_ASM(s32, "code_3602C0", func_E005A3F4); diff --git a/src/code_366030.c b/src/code_366030.c new file mode 100644 index 0000000000..047b91c3a7 --- /dev/null +++ b/src/code_366030.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_366030", func_E0066000); + +INCLUDE_ASM(s32, "code_366030", func_E0066490); + +INCLUDE_ASM(s32, "code_366030", func_E0066498); + +INCLUDE_ASM(s32, "code_366030", func_E006672C); + +INCLUDE_ASM(s32, "code_366030", func_E0066770); diff --git a/src/code_36A8D0.c b/src/code_36A8D0.c new file mode 100644 index 0000000000..6273062a16 --- /dev/null +++ b/src/code_36A8D0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_36A8D0", func_E0068000); + +INCLUDE_ASM(s32, "code_36A8D0", func_E0068140); + +INCLUDE_ASM(s32, "code_36A8D0", func_E0068148); + +INCLUDE_ASM(s32, "code_36A8D0", func_E00681D8); + +INCLUDE_ASM(s32, "code_36A8D0", func_E0068234); diff --git a/src/code_36D020.c b/src/code_36D020.c new file mode 100644 index 0000000000..8b0b9e6416 --- /dev/null +++ b/src/code_36D020.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_36D020", func_E006A000); + +INCLUDE_ASM(s32, "code_36D020", func_E006A0BC); + +INCLUDE_ASM(s32, "code_36D020", func_E006A1E8); + +INCLUDE_ASM(s32, "code_36D020", func_E006A45C); + +INCLUDE_ASM(s32, "code_36D020", func_E006A464); + +INCLUDE_ASM(s32, "code_36D020", func_E006A580); + +INCLUDE_ASM(s32, "code_36D020", func_E006A814); + +INCLUDE_ASM(s32, "code_36D020", func_E006A85C); + +INCLUDE_ASM(s32, "code_36D020", func_E006A94C); diff --git a/src/code_36E1D0.c b/src/code_36E1D0.c new file mode 100644 index 0000000000..fb864bf6ed --- /dev/null +++ b/src/code_36E1D0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_36E1D0", func_E006C000); + +INCLUDE_ASM(s32, "code_36E1D0", func_E006C298); + +INCLUDE_ASM(s32, "code_36E1D0", func_E006C2A0); + +INCLUDE_ASM(s32, "code_36E1D0", func_E006C5A0); + +INCLUDE_ASM(s32, "code_36E1D0", func_E006C5E8); diff --git a/src/code_372790.c b/src/code_372790.c new file mode 100644 index 0000000000..669db03162 --- /dev/null +++ b/src/code_372790.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_372790", func_E006E000); + +INCLUDE_ASM(s32, "code_372790", func_E006E354); + +INCLUDE_ASM(s32, "code_372790", func_E006E35C); + +INCLUDE_ASM(s32, "code_372790", func_E006E6E4); + +INCLUDE_ASM(s32, "code_372790", func_E006E764); diff --git a/src/code_3740B0.c b/src/code_3740B0.c new file mode 100644 index 0000000000..4a07ff5e23 --- /dev/null +++ b/src/code_3740B0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3740B0", func_E0070000); + +INCLUDE_ASM(s32, "code_3740B0", func_E00701EC); + +INCLUDE_ASM(s32, "code_3740B0", func_E00701F4); + +INCLUDE_ASM(s32, "code_3740B0", func_E00706F0); + +INCLUDE_ASM(s32, "code_3740B0", func_E0070738); + +INCLUDE_ASM(s32, "code_3740B0", func_E0070740); diff --git a/src/code_374E50.c b/src/code_374E50.c new file mode 100644 index 0000000000..1c6033f577 --- /dev/null +++ b/src/code_374E50.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_374E50", func_E0072000); + +INCLUDE_ASM(s32, "code_374E50", func_E0072148); + +INCLUDE_ASM(s32, "code_374E50", func_E0072150); + +INCLUDE_ASM(s32, "code_374E50", func_E007238C); + +INCLUDE_ASM(s32, "code_374E50", func_E00723D4); diff --git a/src/code_376460.c b/src/code_376460.c new file mode 100644 index 0000000000..98be2cc312 --- /dev/null +++ b/src/code_376460.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_376460", func_E0074000); + +INCLUDE_ASM(s32, "code_376460", func_E00741E0); + +INCLUDE_ASM(s32, "code_376460", func_E00741E8); + +INCLUDE_ASM(s32, "code_376460", func_E0074598); + +INCLUDE_ASM(s32, "code_376460", func_E00745E0); diff --git a/src/code_377070.c b/src/code_377070.c new file mode 100644 index 0000000000..76817955cf --- /dev/null +++ b/src/code_377070.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_377070", func_E0076000); + +INCLUDE_ASM(s32, "code_377070", func_E0076370); + +INCLUDE_ASM(s32, "code_377070", func_E0076378); + +INCLUDE_ASM(s32, "code_377070", func_E0076808); + +INCLUDE_ASM(s32, "code_377070", func_E007684C); + +INCLUDE_ASM(s32, "code_377070", func_E0076854); + +INCLUDE_ASM(s32, "code_377070", func_E007685C); diff --git a/src/code_37A3F0.c b/src/code_37A3F0.c new file mode 100644 index 0000000000..1495d72757 --- /dev/null +++ b/src/code_37A3F0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_37A3F0", func_E0078000); + +INCLUDE_ASM(s32, "code_37A3F0", func_E0078124); + +INCLUDE_ASM(s32, "code_37A3F0", func_E007812C); + +INCLUDE_ASM(s32, "code_37A3F0", func_E0078210); + +INCLUDE_ASM(s32, "code_37A3F0", func_E0078274); + +INCLUDE_ASM(s32, "code_37A3F0", func_E007827C); diff --git a/src/code_37F720.c b/src/code_37F720.c new file mode 100644 index 0000000000..74158fa763 --- /dev/null +++ b/src/code_37F720.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_37F720", func_E007E000); + +INCLUDE_ASM(s32, "code_37F720", func_E007E1FC); + +INCLUDE_ASM(s32, "code_37F720", func_E007E204); + +INCLUDE_ASM(s32, "code_37F720", func_E007E508); + +INCLUDE_ASM(s32, "code_37F720", func_E007E54C); diff --git a/src/code_3812C0.c b/src/code_3812C0.c new file mode 100644 index 0000000000..fda15e4bd6 --- /dev/null +++ b/src/code_3812C0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3812C0", func_E0080000); + +INCLUDE_ASM(s32, "code_3812C0", func_E00801C8); + +INCLUDE_ASM(s32, "code_3812C0", func_E00801D0); + +INCLUDE_ASM(s32, "code_3812C0", func_E0080424); + +INCLUDE_ASM(s32, "code_3812C0", func_E008042C); + +INCLUDE_ASM(s32, "code_3812C0", func_E0080448); diff --git a/src/code_385640.c b/src/code_385640.c new file mode 100644 index 0000000000..8972dd48eb --- /dev/null +++ b/src/code_385640.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_385640", func_E0082000); + +INCLUDE_ASM(s32, "code_385640", func_E00821B0); + +INCLUDE_ASM(s32, "code_385640", func_E00821B8); + +INCLUDE_ASM(s32, "code_385640", func_E0082520); + +INCLUDE_ASM(s32, "code_385640", func_E0082528); + +INCLUDE_ASM(s32, "code_385640", func_E0082580); + +INCLUDE_ASM(s32, "code_385640", func_E00826C4); + +INCLUDE_ASM(s32, "code_385640", func_E00828B4); + +INCLUDE_ASM(s32, "code_385640", func_E0082A84); diff --git a/src/code_3889D0.c b/src/code_3889D0.c new file mode 100644 index 0000000000..e685eefe98 --- /dev/null +++ b/src/code_3889D0.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3889D0", func_E0084000); + +INCLUDE_ASM(s32, "code_3889D0", func_E008403C); + +INCLUDE_ASM(s32, "code_3889D0", func_E0084060); + +INCLUDE_ASM(s32, "code_3889D0", func_E0084084); + +INCLUDE_ASM(s32, "code_3889D0", func_E0084658); + +INCLUDE_ASM(s32, "code_3889D0", func_E0084660); + +INCLUDE_ASM(s32, "code_3889D0", func_E00848E4); + +INCLUDE_ASM(s32, "code_3889D0", func_E0084928); diff --git a/src/code_389850.c b/src/code_389850.c new file mode 100644 index 0000000000..449e83c44b --- /dev/null +++ b/src/code_389850.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_389850", func_E0086000); + +INCLUDE_ASM(s32, "code_389850", func_E0086270); + +INCLUDE_ASM(s32, "code_389850", func_E0086278); + +INCLUDE_ASM(s32, "code_389850", func_E0086390); + +INCLUDE_ASM(s32, "code_389850", func_E0086398); + +INCLUDE_ASM(s32, "code_389850", func_E00863B4); diff --git a/src/code_38ADF0.c b/src/code_38ADF0.c new file mode 100644 index 0000000000..6d0e8bb03a --- /dev/null +++ b/src/code_38ADF0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_38ADF0", func_E0088000); + +INCLUDE_ASM(s32, "code_38ADF0", func_E008817C); + +INCLUDE_ASM(s32, "code_38ADF0", func_E00885A0); + +INCLUDE_ASM(s32, "code_38ADF0", func_E00885A8); + +INCLUDE_ASM(s32, "code_38ADF0", func_E00887A8); + +INCLUDE_ASM(s32, "code_38ADF0", func_E00887E0); diff --git a/src/code_38EE60.c b/src/code_38EE60.c new file mode 100644 index 0000000000..03f7fcaeb5 --- /dev/null +++ b/src/code_38EE60.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_38EE60", func_E008E000); + +INCLUDE_ASM(s32, "code_38EE60", func_E008E1FC); + +INCLUDE_ASM(s32, "code_38EE60", func_E008E204); + +INCLUDE_ASM(s32, "code_38EE60", func_E008E498); + +INCLUDE_ASM(s32, "code_38EE60", func_E008E4E0); diff --git a/src/code_38F900.c b/src/code_38F900.c new file mode 100644 index 0000000000..010d7e9b42 --- /dev/null +++ b/src/code_38F900.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_38F900", func_E0090000); + +INCLUDE_ASM(s32, "code_38F900", func_E00901C0); + +INCLUDE_ASM(s32, "code_38F900", func_E00901C8); + +INCLUDE_ASM(s32, "code_38F900", func_E0090420); + +INCLUDE_ASM(s32, "code_38F900", func_E0090428); + +INCLUDE_ASM(s32, "code_38F900", func_E0090444); diff --git a/src/code_391D30.c b/src/code_391D30.c new file mode 100644 index 0000000000..728e07be5b --- /dev/null +++ b/src/code_391D30.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_391D30", func_E0092000); + +INCLUDE_ASM(s32, "code_391D30", func_E00921AC); + +INCLUDE_ASM(s32, "code_391D30", func_E00921B4); + +INCLUDE_ASM(s32, "code_391D30", func_E0092258); + +INCLUDE_ASM(s32, "code_391D30", func_E00922A0); diff --git a/src/code_3928D0.c b/src/code_3928D0.c new file mode 100644 index 0000000000..4a4ebfe401 --- /dev/null +++ b/src/code_3928D0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3928D0", func_E0094000); + +INCLUDE_ASM(s32, "code_3928D0", func_E0094190); + +INCLUDE_ASM(s32, "code_3928D0", func_E0094198); + +INCLUDE_ASM(s32, "code_3928D0", func_E00942C0); + +INCLUDE_ASM(s32, "code_3928D0", func_E00942FC); diff --git a/src/code_3A37E0.c b/src/code_3A37E0.c new file mode 100644 index 0000000000..6b8e837b3d --- /dev/null +++ b/src/code_3A37E0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A4000); + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A41A4); + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A41AC); + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A45DC); + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A4648); + +INCLUDE_ASM(s32, "code_3A37E0", func_E00A4650); diff --git a/src/os/nusys/nuGfxInit.c b/src/os/nusys/nuGfxInit.c index c9ce45a724..fafd2836ac 100644 --- a/src/os/nusys/nuGfxInit.c +++ b/src/os/nusys/nuGfxInit.c @@ -6,7 +6,7 @@ extern UNK_PTR D_8009A610; extern UNK_PTR D_80093BA0; extern Gfx rdpstateinit_dl[]; -void nuGfxInit(void) { +void nuGfxInitEX2(void) { Gfx gfx[0x100]; Gfx* ptr; diff --git a/src/code_e92d0_len_5da0.c b/src/si.c similarity index 95% rename from src/code_e92d0_len_5da0.c rename to src/si.c index b045b51f6a..0e26386890 100644 --- a/src/code_e92d0_len_5da0.c +++ b/src/si.c @@ -447,9 +447,9 @@ ApiStatus si_handle_case_AND(ScriptInstance* script) { } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_case_equal_OR); +INCLUDE_ASM(s32, "si", si_handle_case_equal_OR); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_case_equal_AND); +INCLUDE_ASM(s32, "si", si_handle_case_equal_AND); ApiStatus si_handle_end_case_group(ScriptInstance* script) { ASSERT(script->switchDepth >= 0); @@ -1069,16 +1069,16 @@ void si_standard_trigger_executor(Trigger* trigger) { } } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_bind_lock, ScriptInstance* script, s32 isInitialCall); +INCLUDE_ASM(s32, "si", si_handle_bind_lock, ScriptInstance* script, s32 isInitialCall); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_thread, ScriptInstance* script, s32 isInitialCall); +INCLUDE_ASM(s32, "si", si_handle_thread, ScriptInstance* script, s32 isInitialCall); ApiStatus si_handle_end_thread(ScriptInstance* script) { kill_script(script); return ApiStatus_FINISH; } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_child_thread, ScriptInstance* script, s32 isInitialCall); +INCLUDE_ASM(s32, "si", si_handle_child_thread, ScriptInstance* script, s32 isInitialCall); ApiStatus si_handle_end_child_thread(ScriptInstance* script) { kill_script(script); @@ -1089,7 +1089,7 @@ ApiStatus func_802C6E14(ScriptInstance* script) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_handle_print_debug_var, ScriptInstance* script, s32 isInitialCall); +INCLUDE_ASM(s32, "si", si_handle_print_debug_var, ScriptInstance* script, s32 isInitialCall); ApiStatus func_802C739C(ScriptInstance* script) { script->ptrSavedPosition = (Bytecode*)*script->ptrReadPos; @@ -1111,7 +1111,7 @@ s32 func_802C73B8(ScriptInstance* script) { return 1; } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_execute_next_command); +INCLUDE_ASM(s32, "si", si_execute_next_command); // TODO: consider renaming to si_get_variable #ifdef NON_MATCHING @@ -1171,7 +1171,7 @@ s32 get_variable(ScriptInstance* script, Bytecode var) { } */ #else -INCLUDE_ASM(s32, "code_e92d0_len_5da0", get_variable, ScriptInstance* script, Bytecode var); +INCLUDE_ASM(s32, "si", get_variable, ScriptInstance* script, Bytecode var); #endif s32 get_variable_index(ScriptInstance* script, s32 var) { @@ -1260,15 +1260,15 @@ s32 get_variable_index_alt(s32 var) { return var; } -INCLUDE_ASM(s32, "code_e92d0_len_5da0", set_variable, ScriptInstance* script, Bytecode var, s32 value); +INCLUDE_ASM(s32, "si", set_variable, ScriptInstance* script, Bytecode var, s32 value); -INCLUDE_ASM(f32, "code_e92d0_len_5da0", get_float_variable, ScriptInstance* script, Bytecode var); +INCLUDE_ASM(f32, "si", get_float_variable, ScriptInstance* script, Bytecode var); -INCLUDE_ASM(f32, "code_e92d0_len_5da0", set_float_variable, ScriptInstance* script, Bytecode var, f32 value); +INCLUDE_ASM(f32, "si", set_float_variable, ScriptInstance* script, Bytecode var, f32 value); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_find_label, ScriptInstance* script, s32 arg1); +INCLUDE_ASM(s32, "si", si_find_label, ScriptInstance* script, s32 arg1); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_skip_if, ScriptInstance* script); +INCLUDE_ASM(s32, "si", si_skip_if, ScriptInstance* script); // Matching but needs rodata support /*Bytecode* si_skip_if(ScriptInstance* script) { s32 nestedIfDepth = 0; @@ -1308,7 +1308,7 @@ INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_skip_if, ScriptInstance* script); } while(1); }*/ -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_skip_else, ScriptInstance* script); +INCLUDE_ASM(s32, "si", si_skip_else, ScriptInstance* script); // Matching but needs rodata support /*Bytecode* si_skip_else(ScriptInstance* script) { s32 nestedIfDepth = 0; @@ -1344,8 +1344,8 @@ INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_skip_else, ScriptInstance* script); } while(1); }*/ -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_goto_end_case, ScriptInstance* script); +INCLUDE_ASM(s32, "si", si_goto_end_case, ScriptInstance* script); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_goto_next_case, ScriptInstance* script); +INCLUDE_ASM(s32, "si", si_goto_next_case, ScriptInstance* script); -INCLUDE_ASM(s32, "code_e92d0_len_5da0", si_goto_end_loop, ScriptInstance* script); +INCLUDE_ASM(s32, "si", si_goto_end_loop, ScriptInstance* script); diff --git a/tools/splat.yaml b/tools/splat.yaml index 10ddf7925e..9c79ec9160 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -238,7 +238,7 @@ segments: vram: 0x802C3000 files: - [0xe79b0, "c", "code_e79b0_len_1920"] - - [0xe92d0, "c", "code_e92d0_len_5da0"] + - [0xe92d0, "c", "si"] - [0xED510, "c", "code_ED510"] - [0xef070, "c", "code_ef070_len_3400"] - [0xf2470, "c", "code_f2470_len_27f0"] @@ -339,7 +339,502 @@ segments: vram: 0x802B2000 files: - [0x316f30, "c", "code_316f30"] - - [0x317020, "bin"] # todo split this further + - name: code + type: code + start: 0x317020 + vram: 0x802BD100 + files: + - [0x317020, "c"] + - [0x317b60, "bin"] + - name: code + type: code + start: 0x317e50 + vram: 0x802BD100 + files: + - [0x317e50, "c"] + - [0x3195d0, "bin"] + - name: code + type: code + start: 0x319670 + vram: 0x802BD100 + files: + - [0x319670, "c"] + - [0x31b000, "bin"] + - name: code + type: code + start: 0x31b120 + vram: 0x802BD100 + files: + - [0x31b120, "c"] + - [0x31cb60, "bin"] + - name: code + type: code + start: 0x31cc70 + vram: 0x802BD100 + files: + - [0x31cc70, "c"] + - [0x31ddc0, "bin"] + - name: code + type: code + start: 0x31de70 + vram: 0x802BD100 + files: + - [0x31de70, "c"] + - [0x320b20, "bin"] + - name: code + type: code + start: 0x320c50 + vram: 0x802BD100 + files: + - [0x320c50, "c"] + - [0x3239b0, "bin"] + - name: code + type: code + start: 0x323A50 + vram: 0x802BD100 + files: + - [0x323A50, "c"] + - [0x324930, "bin"] + - name: code + type: code + start: 0x324a10 + vram: 0x802BD100 + files: + - [0x324a10, "c"] + - [0x324e80, "bin"] + - name: code + type: code + start: 0x324f10 + vram: 0x802BD100 + files: + - [0x324f10, "c"] + - [0x325000, "bin"] + - name: code + type: code + start: 0x325070 + vram: 0x802BD100 + files: + - [0x325070, "c"] + - [0x325160, "bin"] + - name: code + type: code + start: 0x3251d0 + vram: 0x802BD100 + files: + - [0x3251d0, "c"] + - [0x3255e0, "bin"] + - name: code + type: code + start: 0x325ad0 + vram: 0xE0200000 + files: + - [0x325ad0, "c"] + - [0x325ee0, "c"] + - [0x326160, "bin"] + - [0x326410, "bin"] + - name: code + type: code + start: 0x3278f0 + vram: 0xE0002000 + files: + - [0x3278f0, "c"] + - [0x328050, "bin"] + - name: code + type: code + start: 0x328110 + vram: 0xE000C000 + files: + - [0x328110, "c"] + - [0x328d20, "bin"] + - [0x328EA0, "bin"] + - name: code + type: code + start: 0x32C110 + vram: 0xE000E000 + files: + - [0x32C110, "c"] + - [0x32c770, "bin"] + - [0x32c7a0, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x32ceb0, "bin"] # data/rodata section for above. + - [0x32dd10, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x32ec10, "bin"] # data/rodata section for above. + - [0x32ee30, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x32f550, "bin"] # data/rodata section for above. + - [0x32f580, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x32fb50, "bin"] # data/rodata section for above. + - [0x32fe30, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x330440, "bin"] # data/rodata section for above. + - [0x330910, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x330ef0, "bin"] # data/rodata section for above. + - name: code + type: code + start: 0x331940 + vram: 0xE001E000 + files: + - [0x331940, "c"] + - [0x332690, "bin"] + - [0x3326A0, "bin"] + - name: code + type: code + start: 0x333ec0 + vram: 0xE0020000 + files: + - [0x333ec0, "c"] + - [0x334b50, "bin"] + - [0x334C70, "bin"] + - name: code + type: code + start: 0x337240 + vram: 0xE0022000 + files: + - [0x337240, "c"] + - [0x337f10, "bin"] + - [0x337FC0, "bin"] + - name: code + type: code + start: 0x339250 + vram: 0xE0024000 + files: + - [0x339250, "c"] + - [0x339f10, "bin"] + - [0x339F60, "bin"] + - name: code + type: code + start: 0x33B180 + vram: 0xE0026000 + files: + - [0x33B180, "c"] + - [0x33bb70, "bin"] + - [0x33BBD0, "bin"] + - name: code + type: code + start: 0x33CDF0 + vram: 0xE0028000 + files: + - [0x33CDF0, "c"] + - [0x33d5d0, "bin"] + - name: code + type: code + start: 0x33E8C0 + vram: 0xE002A000 + files: + - [0x33E8C0, "c"] + - [0x33efe0, "bin"] + - [0x33D610, "bin"] + - name: code + type: code + start: 0x33FE80 + vram: 0xE002C000 + files: + - [0x33FE80, "c"] + - [0x3407c0, "bin"] + - [0x340880, "bin"] + - name: code + type: code + start: 0x3419E0 + vram: 0xE002E000 + files: + - [0x3419E0, "c"] + - [0x342120, "bin"] + - name: code + type: code + start: 0x342140 + vram: 0xE0030000 + files: + - [0x342140, "c"] + - [0x342fd0, "bin"] + - [0x343040, "bin"] + - name: code + type: code + start: 0x343680 + vram: 0xE0032000 + files: + - [0x343680, "c"] + - [0x343f30, "bin"] + - [0x343F70, "bin"] + - name: code + type: code + start: 0x344a10 + vram: 0xE0034000 + files: + - [0x344a10, "c"] + - [0x345190, "bin"] + - [0x3451E0, "bin"] + - name: code + type: code + start: 0x3454E0 + vram: 0xE0036000 + files: + - [0x3454E0, "c"] + - [0x345b10, "bin"] + - [0x345B40, "bin"] + - name: code + type: code + start: 0x34EC80 + vram: 0xE003A000 + files: + - [0x34EC80, "c"] + - [0x34f480, "bin"] + - name: code + type: code + start: 0x34F4C0 + vram: 0xE003C000 + files: + - [0x34F4C0, "c"] + - [0x350160, "bin"] + - [0x350220, "bin"] + - name: code + type: code + start: 0x352440 + vram: 0xE003E000 + files: + - [0x352440, "c"] + - [0x352cb0, "bin"] + - [0x352CE0, "bin"] + - name: code + type: code + start: 0x354F60 + vram: 0xE0044000 + files: + - [0x354F60, "c"] + - [0x355d10, "bin"] + - name: code + type: code + start: 0x355EE0 + vram: 0xE0046000 + files: + - [0x355EE0, "c"] + - [0x3564e0, "bin"] + - [0x356530, "bin"] + - name: code + type: code + start: 0x356980 + vram: 0xE0048000 + files: + - [0x356980, "c"] + - [0x357380, "bin"] + - [0x3573A0, "bin"] + - name: code + type: code + start: 0x3584C0 + vram: 0xE004A000 + files: + - [0x3584C0, "c"] + - [0x359320, "bin"] + - [0x3593B0, "bin"] + - name: code + type: code + start: 0x35B9D0 + vram: 0xE004E000 + files: + - [0x35B9D0, "c"] + - [0x35bfb0, "bin"] + - name: code + type: code + start: 0x35BFD0 + vram: 0xE0050000 + files: + - [0x35BFD0, "c"] + - [0x35c530, "bin"] + - [0x35C550, "bin"] + - name: code + type: code + start: 0x3602C0 + vram: 0xE005A000 + files: + - [0x3602C0, "c"] + - [0x360a10, "bin"] + - [0x360A30, "bin"] + - [0x360f40, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x361640, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x3625c0, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x362c30, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x363160, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x363890, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x364300, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x364bc0, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x364f10, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x365970, "bin"] # data/rodata for the above, and some extra unknown data. + - name: code + type: code + start: 0x366030 + vram: 0xE0066000 + files: + - [0x366030, "c"] + - [0x366c80, "bin"] + - [0x366D60, "bin"] + - name: code + type: code + start: 0x36A8D0 + vram: 0xE0068000 + files: + - [0x36A8D0, "c"] + - [0x36ae80, "bin"] + - [0x36AEE0, "bin"] + - name: code + type: code + start: 0x36D020 + vram: 0xE006A000 + files: + - [0x36D020, "c"] + - [0x36de10, "bin"] + - [0x36DF90, "bin"] + - name: code + type: code + start: 0x36E1D0 + vram: 0xE006C000 + files: + - [0x36E1D0, "c"] + - [0x36ed30, "bin"] + - [0x36ED60, "bin"] + - name: code + type: code + start: 0x372790 + vram: 0xE006E000 + files: + - [0x372790, "c"] + - [0x373390, "bin"] + - [0x3733E0, "bin"] + - name: code + type: code + start: 0x3740B0 + vram: 0xE0070000 + files: + - [0x3740B0, "c"] + - [0x374d80, "bin"] + - name: code + type: code + start: 0x374E50 + vram: 0xE0072000 + files: + - [0x374E50, "c"] + - [0x375500, "bin"] + - [0x375510, "bin"] + - name: code + type: code + start: 0x376460 + vram: 0xE0074000 + files: + - [0x376460, "c"] + - [0x376fc0, "bin"] + - name: code + type: code + start: 0x377070 + vram: 0xE0076000 + files: + - [0x377070, "c"] + - [0x377f00, "bin"] + - [0x377F80, "bin"] + - name: code + type: code + start: 0x37A3F0 + vram: 0xE0078000 + files: + - [0x37A3F0, "c"] + - [0x37acf0, "bin"] + - [0x37ADD0, "bin"] + - [0x37D9D0, "bin"] + - name: code + type: code + start: 0x37F720 + vram: 0xE007E000 + files: + - [0x37F720, "c"] + - [0x380350, "bin"] + - [0x3803A0, "bin"] + - name: code + type: code + start: 0x3812C0 + vram: 0xE0080000 + files: + - [0x3812C0, "c"] + - [0x381d80, "bin"] + - [0x381E00, "bin"] + - name: code + type: code + start: 0x385640 + vram: 0xE0082000 + files: + - [0x385640, "c"] + - [0x386340, "bin"] + - [0x3863B0, "bin"] + - name: code + type: code + start: 0x3889D0 + vram: 0xE0084000 + files: + - [0x3889D0, "c"] + - [0x3897e0, "bin"] + - name: code + type: code + start: 0x389850 + vram: 0xE0086000 + files: + - [0x389850, "c"] + - [0x38a2f0, "bin"] + - [0x38A350, "bin"] + - name: code + type: code + start: 0x38ADF0 + vram: 0xE0088000 + files: + - [0x38ADF0, "c"] + - [0x38bab0, "bin"] + - [0x38BBA0, "bin"] + - name: code + type: code + start: 0x38EE60 + vram: 0xE008E000 + files: + - [0x38EE60, "c"] + - [0x38f6f0, "bin"] + - [0x38F710, "bin"] + - name: code + type: code + start: 0x38F900 + vram: 0xE0090000 + files: + - [0x38F900, "c"] + - [0x390340, "bin"] + - [0x3903D0, "bin"] + - name: code + type: code + start: 0x391D30 + vram: 0xE0092000 + files: + - [0x391D30, "c"] + - [0x3923c0, "bin"] + - [0x392440, "bin"] + - name: code + type: code + start: 0x3928D0 + vram: 0xE0094000 + files: + - [0x3928D0, "c"] + - [0x393080, "bin"] + - [0x3930A0, "bin"] + - [0x394280, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x394660, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x395bb0, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x3960c0, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x3965b0, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x397010, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x3981f0, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x398bc0, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x39ff20, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x3a0d10, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x3a2290, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x3a2440, "bin"] # data/rodata for the above, and some extra unknown data. + - [0x3a2990, "bin"] # code, unknown VRAM addr. Leaving as bin for now. + - [0x3a3360, "bin"] # data/rodata for the above, and some extra unknown data. + - name: code + type: code + start: 0x3A37E0 + vram: 0xE00A4000 + files: + - [0x3A37E0, "c"] + - [0x3a42b0, "bin"] + - [0x3A4320, "bin"] - name: code type: code start: 0x415D90 diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 592cefa958..d7c1107d2a 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -1122,7 +1122,7 @@ nuContRmbStart;0x8005FE90 nuGfxDisplayOff;0x8005F400 nuGfxDisplayOn;0x8005F430 nuGfxFuncSet;0x8005F250 -nuGfxInit;0x8005F560 +nuGfxInitEX2;0x8005F560 nuGfxPreNMIFuncSet;0x8005F290 nuGfxRetraceWait;0x80060370 nuGfxSetCfb;0x8005F2F0 @@ -1436,7 +1436,7 @@ remove_item_entity_by_index;0x801339FC remove_item_entity_by_reference;0x80133930 remove_part_decoration;0x80267218 remove_part_shadow;0x802673A0 -create_part_shadow_by_ptr;0x802673E4 +create_part_shadow_by_ref;0x802673E4 remove_player_buffs;0x80267454 render_curtains;0x8002BA80 render_dynamic_entities;0x80123470 diff --git a/undefined_funcs.txt b/undefined_funcs.txt index 49c0a69fe6..c8189fe23e 100644 --- a/undefined_funcs.txt +++ b/undefined_funcs.txt @@ -1,4 +1,63 @@ -func_802B704C = 0x802B704C; -func_83273000 = 0x83273000; -func_832A6664 = 0x832A6664; -func_832B3000 = 0x832B3000; +func_E00AE000 = 0xE00AE000; +func_802A91F8 = 0x802A91F8; +func_802A9208 = 0x802A9208; +func_802A9228 = 0x802A9228; +func_802A9234 = 0x802A9234; +func_802A9254 = 0x802A9254; +func_802A9278 = 0x802A9278; +func_802A928C = 0x802A928C; +func_802A9294 = 0x802A9294; +func_802A9298 = 0x802A9298; +func_802A92A0 = 0x802A92A0; +func_802A92D4 = 0x802A92D4; +func_802A92DC = 0x802A92DC; +func_802A92F0 = 0x802A92F0; +func_802A9310 = 0x802A9310; +func_802A936C = 0x802A936C; +func_802A9378 = 0x802A9378; +func_802A948C = 0x802A948C; +func_802A94A4 = 0x802A94A4; +func_802A94D8 = 0x802A94D8; +func_802A9544 = 0x802A9544; +func_802A955C = 0x802A955C; +func_802A9590 = 0x802A9590; +func_802A959C = 0x802A959C; +func_802A9634 = 0x802A9634; +func_802A963C = 0x802A963C; +func_802A9664 = 0x802A9664; +func_802A96B8 = 0x802A96B8; +func_802A96DC = 0x802A96DC; +func_802A96EC = 0x802A96EC; +func_802A96F4 = 0x802A96F4; +func_802A9708 = 0x802A9708; +func_802A9718 = 0x802A9718; +func_802A9720 = 0x802A9720; +func_802A973C = 0x802A973C; +func_802A9744 = 0x802A9744; +func_802A9764 = 0x802A9764; +func_802A97AC = 0x802A97AC; +func_802A97BC = 0x802A97BC; +func_802A97CC = 0x802A97CC; +func_802A97F8 = 0x802A97F8; +func_802A97FC = 0x802A97FC; +func_802A9810 = 0x802A9810; +func_802A981C = 0x802A981C; +func_802A9834 = 0x802A9834; +func_802A984C = 0x802A984C; +func_802A9894 = 0x802A9894; +func_802A9898 = 0x802A9898; +func_802A98B0 = 0x802A98B0; +func_802A98D0 = 0x802A98D0; +func_802A98DC = 0x802A98DC; +func_802A98E0 = 0x802A98E0; +func_802A9914 = 0x802A9914; +func_802A992C = 0x802A992C; +func_802A9990 = 0x802A9990; +func_802A99D4 = 0x802A99D4; +func_802A9A30 = 0x802A9A30; +func_802A9A54 = 0x802A9A54; +func_802AA014 = 0x802AA014; +func_802AA0D8 = 0x802AA0D8; +func_802AB330 = 0x802AB330; +func_802AB338 = 0x802AB338; +func_802B71E8 = 0x802B71E8; diff --git a/undefined_syms.txt b/undefined_syms.txt index b976a4b14a..30720b287d 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -66,6 +66,7 @@ gSpeakingActorPart = 0x8029FA7C; gBattleDmaDest = 0x80284000; gBattleState = 0x800DC068; gBattleStatus = 0x800DC070; +gPauseMenuStrings = 0x8026F778; mapScriptLibStart = 0x7E0E80; mapScriptLibEnd = 0x7E73A0; @@ -252,70 +253,3 @@ DoSpinSmashHit = 0x8029B998; DoStopHit = 0x80294650; ShakeCam1 = 0x802D9CB0; ShakeCamX = 0x802D9CE8; - -func_802A91F8 = 0x802A91F8; -func_802A9208 = 0x802A9208; -func_802A9228 = 0x802A9228; -func_802A9234 = 0x802A9234; -func_802A9254 = 0x802A9254; -func_802A9278 = 0x802A9278; -func_802A928C = 0x802A928C; -func_802A9294 = 0x802A9294; -func_802A9298 = 0x802A9298; -func_802A92A0 = 0x802A92A0; -func_802A92D4 = 0x802A92D4; -func_802A92DC = 0x802A92DC; -func_802A92F0 = 0x802A92F0; -func_802A9310 = 0x802A9310; -func_802A936C = 0x802A936C; -func_802A9378 = 0x802A9378; -func_802A948C = 0x802A948C; -func_802A94A4 = 0x802A94A4; -func_802A94D8 = 0x802A94D8; -func_802A9544 = 0x802A9544; -func_802A955C = 0x802A955C; -func_802A9590 = 0x802A9590; -func_802A959C = 0x802A959C; -func_802A9634 = 0x802A9634; -func_802A963C = 0x802A963C; -func_802A9664 = 0x802A9664; -func_802A96B8 = 0x802A96B8; -func_802A96DC = 0x802A96DC; -func_802A96EC = 0x802A96EC; -func_802A96F4 = 0x802A96F4; -func_802A9708 = 0x802A9708; -func_802A9718 = 0x802A9718; -func_802A9720 = 0x802A9720; -func_802A973C = 0x802A973C; -func_802A9744 = 0x802A9744; -func_802A9764 = 0x802A9764; -func_802A97AC = 0x802A97AC; -func_802A97BC = 0x802A97BC; -func_802A97CC = 0x802A97CC; -func_802A97F8 = 0x802A97F8; -func_802A97FC = 0x802A97FC; -func_802A9810 = 0x802A9810; -func_802A981C = 0x802A981C; -func_802A9834 = 0x802A9834; -func_802A984C = 0x802A984C; -func_802A9894 = 0x802A9894; -func_802A9898 = 0x802A9898; -func_802A98B0 = 0x802A98B0; -func_802A98D0 = 0x802A98D0; -func_802A98DC = 0x802A98DC; -func_802A98E0 = 0x802A98E0; -func_802A9914 = 0x802A9914; -func_802A992C = 0x802A992C; -func_802A9990 = 0x802A9990; -func_802A99D4 = 0x802A99D4; -func_802A9A30 = 0x802A9A30; -func_802A9A54 = 0x802A9A54; -func_802AA014 = 0x802AA014; -func_802AA0D8 = 0x802AA0D8; - -func_802AB330 = 0x802AB330; -func_802AB338 = 0x802AB338; -func_802B71D4 = 0x802B71D4; -func_802B71E8 = 0x802B71E8; -func_802BD7DC = 0x802BD7DC; -func_802BE070 = 0x802BE070;