Decompiled 11 functions in unknown_080500

This commit is contained in:
David Benepe
2020-07-19 02:41:07 -05:00
parent 8a7a1e33c5
commit fca83853cd
16 changed files with 457 additions and 857 deletions
@@ -1,68 +0,0 @@
glabel MenuAudioOptionsInit
/* 085354 80084754 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012
/* 085358 80084758 A4206C46 */ sh $zero, %lo(D_80126C46)($at)
/* 08535C 8008475C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012
/* 085360 80084760 AC2063BC */ sw $zero, %lo(D_801263BC)($at)
/* 085364 80084764 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e
/* 085368 80084768 AC20F47C */ sw $zero, %lo(D_800DF47C)($at)
/* 08536C 8008476C 3C018012 */ lui $at, %hi(D_801269FC) # $at, 0x8012
/* 085370 80084770 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 085374 80084774 AC2069FC */ sw $zero, %lo(D_801269FC)($at)
/* 085378 80084778 AFBF0014 */ sw $ra, 0x14($sp)
/* 08537C 8008477C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012
/* 085380 80084780 240EFFFF */ li $t6, -1
/* 085384 80084784 3C04800E */ lui $a0, %hi(D_800DFA2C) # $a0, 0x800e
/* 085388 80084788 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at)
/* 08538C 8008478C 0C02719D */ jal func_8009C674
/* 085390 80084790 2484FA2C */ addiu $a0, %lo(D_800DFA2C) # addiu $a0, $a0, -0x5d4
/* 085394 80084794 3C04800E */ lui $a0, %hi(D_800DFA38) # $a0, 0x800e
/* 085398 80084798 0C027229 */ jal func_8009C8A4
/* 08539C 8008479C 2484FA38 */ addiu $a0, %lo(D_800DFA38) # addiu $a0, $a0, -0x5c8
/* 0853A0 800847A0 0C02392C */ jal func_8008E4B0
/* 0853A4 800847A4 00000000 */ nop
/* 0853A8 800847A8 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e
/* 0853AC 800847AC 0C030076 */ jal func_800C01D8
/* 0853B0 800847B0 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884
/* 0853B4 800847B4 0C01FFFB */ jal func_8007FFEC
/* 0853B8 800847B8 24040002 */ li $a0, 2
/* 0853BC 800847BC 0C0006BF */ jal musicVolumeSliderPercentage
/* 0853C0 800847C0 00000000 */ nop
/* 0853C4 800847C4 3C01800E */ lui $at, %hi(D_800DFAC4) # $at, 0x800e
/* 0853C8 800847C8 0C000C5F */ jal sfxVolumeSliderPercentage
/* 0853CC 800847CC AC22FAC4 */ sw $v0, %lo(D_800DFAC4)($at)
/* 0853D0 800847D0 3C0F800E */ lui $t7, %hi(gActiveMagicCodes) # $t7, 0x800e
/* 0853D4 800847D4 8DEFFD98 */ lw $t7, %lo(gActiveMagicCodes)($t7)
/* 0853D8 800847D8 3C01800E */ lui $at, %hi(D_800DFAC0) # $at, 0x800e
/* 0853DC 800847DC 31F80040 */ andi $t8, $t7, 0x40
/* 0853E0 800847E0 1300000E */ beqz $t8, .L8008481C
/* 0853E4 800847E4 AC22FAC0 */ sw $v0, %lo(D_800DFAC0)($at)
/* 0853E8 800847E8 3C198012 */ lui $t9, %hi(D_801269E0) # $t9, 0x8012
/* 0853EC 800847EC 8F3969E0 */ lw $t9, %lo(D_801269E0)($t9)
/* 0853F0 800847F0 3C02800E */ lui $v0, %hi(D_800DFA3C) # $v0, 0x800e
/* 0853F4 800847F4 2442FA3C */ addiu $v0, %lo(D_800DFA3C) # addiu $v0, $v0, -0x5c4
/* 0853F8 800847F8 240800D4 */ li $t0, 212
/* 0853FC 800847FC A4480032 */ sh $t0, 0x32($v0)
/* 085400 80084800 24040020 */ li $a0, 32
/* 085404 80084804 0C0002F8 */ jal func_80000BE0
/* 085408 80084808 AC59006C */ sw $t9, 0x6c($v0)
/* 08540C 8008480C 24090005 */ li $t1, 5
/* 085410 80084810 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 085414 80084814 10000009 */ b .L8008483C
/* 085418 80084818 AC2963E0 */ sw $t1, %lo(D_801263E0)($at)
.L8008481C:
/* 08541C 8008481C 3C02800E */ lui $v0, %hi(D_800DFA3C) # $v0, 0x800e
/* 085420 80084820 2442FA3C */ addiu $v0, %lo(D_800DFA3C) # addiu $v0, $v0, -0x5c4
/* 085424 80084824 240A00C0 */ li $t2, 192
/* 085428 80084828 AC40006C */ sw $zero, 0x6c($v0)
/* 08542C 8008482C A44A0032 */ sh $t2, 0x32($v0)
/* 085430 80084830 240B0004 */ li $t3, 4
/* 085434 80084834 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 085438 80084838 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at)
.L8008483C:
/* 08543C 8008483C 0C03105C */ jal func_800C4170
/* 085440 80084840 24040002 */ li $a0, 2
/* 085444 80084844 8FBF0014 */ lw $ra, 0x14($sp)
/* 085448 80084848 27BD0018 */ addiu $sp, $sp, 0x18
/* 08544C 8008484C 03E00008 */ jr $ra
/* 085450 80084850 00000000 */ nop
@@ -1,79 +0,0 @@
glabel MenuFileSelectInit
/* 08D6FC 8008CAFC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 08D700 8008CB00 AFBF002C */ sw $ra, 0x2c($sp)
/* 08D704 8008CB04 AFB40028 */ sw $s4, 0x28($sp)
/* 08D708 8008CB08 AFB30024 */ sw $s3, 0x24($sp)
/* 08D70C 8008CB0C AFB20020 */ sw $s2, 0x20($sp)
/* 08D710 8008CB10 AFB1001C */ sw $s1, 0x1c($sp)
/* 08D714 8008CB14 AFB00018 */ sw $s0, 0x18($sp)
/* 08D718 8008CB18 27A40038 */ addiu $a0, $sp, 0x38
/* 08D71C 8008CB1C 0C01AC89 */ jal func_8006B224
/* 08D720 8008CB20 27A50034 */ addiu $a1, $sp, 0x34
/* 08D724 8008CB24 3C04800E */ lui $a0, %hi(D_800E0398) # $a0, 0x800e
/* 08D728 8008CB28 0C02719D */ jal func_8009C674
/* 08D72C 8008CB2C 24840398 */ addiu $a0, %lo(D_800E0398) # addiu $a0, $a0, 0x398
/* 08D730 8008CB30 3C04800E */ lui $a0, %hi(D_800E03A4) # $a0, 0x800e
/* 08D734 8008CB34 0C027229 */ jal func_8009C8A4
/* 08D738 8008CB38 248403A4 */ addiu $a0, %lo(D_800E03A4) # addiu $a0, $a0, 0x3a4
/* 08D73C 8008CB3C 0C01FFFB */ jal func_8007FFEC
/* 08D740 8008CB40 24040006 */ li $a0, 6
/* 08D744 8008CB44 0C01BAEA */ jal func_8006EBA8
/* 08D748 8008CB48 00000000 */ nop
/* 08D74C 8008CB4C 240E0001 */ li $t6, 1
/* 08D750 8008CB50 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012
/* 08D754 8008CB54 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at)
/* 08D758 8008CB58 3C01800E */ lui $at, %hi(gSaveFileIndex) # $at, 0x800e
/* 08D75C 8008CB5C AC20F4CC */ sw $zero, %lo(gSaveFileIndex)($at)
/* 08D760 8008CB60 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e
/* 08D764 8008CB64 AC20F47C */ sw $zero, %lo(D_800DF47C)($at)
/* 08D768 8008CB68 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 08D76C 8008CB6C AC2063E0 */ sw $zero, %lo(D_801263E0)($at)
/* 08D770 8008CB70 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012
/* 08D774 8008CB74 AC2063BC */ sw $zero, %lo(D_801263BC)($at)
/* 08D778 8008CB78 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012
/* 08D77C 8008CB7C AC206484 */ sw $zero, %lo(D_80126484)($at)
/* 08D780 8008CB80 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012
/* 08D784 8008CB84 AC206488 */ sw $zero, %lo(D_80126488)($at)
/* 08D788 8008CB88 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012
/* 08D78C 8008CB8C 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e
/* 08D790 8008CB90 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at)
/* 08D794 8008CB94 0C030076 */ jal func_800C01D8
/* 08D798 8008CB98 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884
/* 08D79C 8008CB9C 0C03105C */ jal func_800C4170
/* 08D7A0 8008CBA0 24040002 */ li $a0, 2
/* 08D7A4 8008CBA4 0C0002CD */ jal func_80000B34
/* 08D7A8 8008CBA8 2404001A */ li $a0, 26
/* 08D7AC 8008CBAC 3C13800E */ lui $s3, %hi(D_800DFDB4) # $s3, 0x800e
/* 08D7B0 8008CBB0 3C128012 */ lui $s2, %hi(D_801263B4) # $s2, 0x8012
/* 08D7B4 8008CBB4 265263B4 */ addiu $s2, %lo(D_801263B4) # addiu $s2, $s2, 0x63b4
/* 08D7B8 8008CBB8 2673FDB4 */ addiu $s3, %lo(D_800DFDB4) # addiu $s3, $s3, -0x24c
/* 08D7BC 8008CBBC 00008025 */ move $s0, $zero
/* 08D7C0 8008CBC0 2414000A */ li $s4, 10
.L8008CBC4:
/* 08D7C4 8008CBC4 824F0000 */ lb $t7, ($s2)
/* 08D7C8 8008CBC8 0010C040 */ sll $t8, $s0, 1
/* 08D7CC 8008CBCC 120F0007 */ beq $s0, $t7, .L8008CBEC
/* 08D7D0 8008CBD0 02788821 */ addu $s1, $s3, $t8
/* 08D7D4 8008CBD4 92240000 */ lbu $a0, ($s1)
/* 08D7D8 8008CBD8 0C000445 */ jal func_80001114
/* 08D7DC 8008CBDC 00000000 */ nop
/* 08D7E0 8008CBE0 92240001 */ lbu $a0, 1($s1)
/* 08D7E4 8008CBE4 0C000445 */ jal func_80001114
/* 08D7E8 8008CBE8 00000000 */ nop
.L8008CBEC:
/* 08D7EC 8008CBEC 26100001 */ addiu $s0, $s0, 1
/* 08D7F0 8008CBF0 1614FFF4 */ bne $s0, $s4, .L8008CBC4
/* 08D7F4 8008CBF4 00000000 */ nop
/* 08D7F8 8008CBF8 0C000445 */ jal func_80001114
/* 08D7FC 8008CBFC 24040006 */ li $a0, 6
/* 08D800 8008CC00 0C0002C6 */ jal func_80000B18
/* 08D804 8008CC04 00000000 */ nop
/* 08D808 8008CC08 8FBF002C */ lw $ra, 0x2c($sp)
/* 08D80C 8008CC0C 8FB00018 */ lw $s0, 0x18($sp)
/* 08D810 8008CC10 8FB1001C */ lw $s1, 0x1c($sp)
/* 08D814 8008CC14 8FB20020 */ lw $s2, 0x20($sp)
/* 08D818 8008CC18 8FB30024 */ lw $s3, 0x24($sp)
/* 08D81C 8008CC1C 8FB40028 */ lw $s4, 0x28($sp)
/* 08D820 8008CC20 03E00008 */ jr $ra
/* 08D824 8008CC24 27BD0040 */ addiu $sp, $sp, 0x40
+1 -1
View File
@@ -68,7 +68,7 @@ glabel MenuInit
/* 0820D8 800814D8 00000000 */ nop
/* 0820DC 800814DC 1000002C */ b .L80081590
/* 0820E0 800814E0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0820E4 800814E4 0C0232BF */ jal MenuFileSelectInit
/* 0820E4 800814E4 0C0232BF */ jal menu_file_select_init
/* 0820E8 800814E8 00000000 */ nop
/* 0820EC 800814EC 10000028 */ b .L80081590
/* 0820F0 800814F0 8FBF0014 */ lw $ra, 0x14($sp)
@@ -1,65 +0,0 @@
glabel func_80081E54
/* 082A54 80081E54 3C014270 */ li $at, 0x42700000 # 60.000000
/* 082A58 80081E58 44810000 */ mtc1 $at, $f0
/* 082A5C 80081E5C 44856000 */ mtc1 $a1, $f12
/* 082A60 80081E60 3C01800E */ lui $at, %hi(D_800DF798) # $at, 0x800e
/* 082A64 80081E64 46006102 */ mul.s $f4, $f12, $f0
/* 082A68 80081E68 AC24F798 */ sw $a0, %lo(D_800DF798)($at)
/* 082A6C 80081E6C 3C01800E */ lui $at, %hi(D_800DF794) # $at, 0x800e
/* 082A70 80081E70 AC20F794 */ sw $zero, %lo(D_800DF794)($at)
/* 082A74 80081E74 444EF800 */ cfc1 $t6, $31
/* 082A78 80081E78 44867000 */ mtc1 $a2, $f14
/* 082A7C 80081E7C 35C10003 */ ori $at, $t6, 3
/* 082A80 80081E80 38210002 */ xori $at, $at, 2
/* 082A84 80081E84 44C1F800 */ ctc1 $at, $31
/* 082A88 80081E88 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 082A8C 80081E8C 460021A4 */ cvt.w.s $f6, $f4
/* 082A90 80081E90 AFA70024 */ sw $a3, 0x24($sp)
/* 082A94 80081E94 44CEF800 */ ctc1 $t6, $31
/* 082A98 80081E98 C7B00024 */ lwc1 $f16, 0x24($sp)
/* 082A9C 80081E9C 46007202 */ mul.s $f8, $f14, $f0
/* 082AA0 80081EA0 440F3000 */ mfc1 $t7, $f6
/* 082AA4 80081EA4 3C028012 */ lui $v0, %hi(D_80126858) # $v0, 0x8012
/* 082AA8 80081EA8 24426858 */ addiu $v0, %lo(D_80126858) # addiu $v0, $v0, 0x6858
/* 082AAC 80081EAC 4458F800 */ cfc1 $t8, $31
/* 082AB0 80081EB0 AC4F0000 */ sw $t7, ($v0)
/* 082AB4 80081EB4 37010003 */ ori $at, $t8, 3
/* 082AB8 80081EB8 38210002 */ xori $at, $at, 2
/* 082ABC 80081EBC 44C1F800 */ ctc1 $at, $31
/* 082AC0 80081EC0 3C018012 */ lui $at, %hi(D_8012685C) # $at, 0x8012
/* 082AC4 80081EC4 460042A4 */ cvt.w.s $f10, $f8
/* 082AC8 80081EC8 8FAA0028 */ lw $t2, 0x28($sp)
/* 082ACC 80081ECC 44D8F800 */ ctc1 $t8, $31
/* 082AD0 80081ED0 44195000 */ mfc1 $t9, $f10
/* 082AD4 80081ED4 46008482 */ mul.s $f18, $f16, $f0
/* 082AD8 80081ED8 AC39685C */ sw $t9, %lo(D_8012685C)($at)
/* 082ADC 80081EDC 8FAB002C */ lw $t3, 0x2c($sp)
/* 082AE0 80081EE0 AFBF0014 */ sw $ra, 0x14($sp)
/* 082AE4 80081EE4 4448F800 */ cfc1 $t0, $31
/* 082AE8 80081EE8 24040016 */ li $a0, 22
/* 082AEC 80081EEC 35010003 */ ori $at, $t0, 3
/* 082AF0 80081EF0 38210002 */ xori $at, $at, 2
/* 082AF4 80081EF4 44C1F800 */ ctc1 $at, $31
/* 082AF8 80081EF8 3C018012 */ lui $at, %hi(D_80126860) # $at, 0x8012
/* 082AFC 80081EFC 46009124 */ cvt.w.s $f4, $f18
/* 082B00 80081F00 44092000 */ mfc1 $t1, $f4
/* 082B04 80081F04 44C8F800 */ ctc1 $t0, $31
/* 082B08 80081F08 AC296860 */ sw $t1, %lo(D_80126860)($at)
/* 082B0C 80081F0C 3C018012 */ lui $at, %hi(D_80126854) # $at, 0x8012
/* 082B10 80081F10 AC206854 */ sw $zero, %lo(D_80126854)($at)
/* 082B14 80081F14 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e
/* 082B18 80081F18 AC2AF79C */ sw $t2, %lo(D_800DF79C)($at)
/* 082B1C 80081F1C 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e
/* 082B20 80081F20 AC2BF7A0 */ sw $t3, %lo(D_800DF7A0)($at)
/* 082B24 80081F24 8C4C0000 */ lw $t4, ($v0)
/* 082B28 80081F28 00000000 */ nop
/* 082B2C 80081F2C 19800004 */ blez $t4, .L80081F40
/* 082B30 80081F30 8FBF0014 */ lw $ra, 0x14($sp)
/* 082B34 80081F34 0C000741 */ jal func_80001D04
/* 082B38 80081F38 00002825 */ move $a1, $zero
/* 082B3C 80081F3C 8FBF0014 */ lw $ra, 0x14($sp)
.L80081F40:
/* 082B40 80081F40 27BD0018 */ addiu $sp, $sp, 0x18
/* 082B44 80081F44 03E00008 */ jr $ra
/* 082B48 80081F48 00000000 */ nop
@@ -1,86 +0,0 @@
glabel func_800828B8
/* 0834B8 800828B8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0834BC 800828BC AFBF0014 */ sw $ra, 0x14($sp)
/* 0834C0 800828C0 0C01BAA4 */ jal get_settings
/* 0834C4 800828C4 00000000 */ nop
/* 0834C8 800828C8 27A40024 */ addiu $a0, $sp, 0x24
/* 0834CC 800828CC 27A50028 */ addiu $a1, $sp, 0x28
/* 0834D0 800828D0 0C01AC89 */ jal func_8006B224
/* 0834D4 800828D4 AFA20020 */ sw $v0, 0x20($sp)
/* 0834D8 800828D8 8FAE0024 */ lw $t6, 0x24($sp)
/* 0834DC 800828DC 8FA60020 */ lw $a2, 0x20($sp)
/* 0834E0 800828E0 19C00020 */ blez $t6, .L80082964
/* 0834E4 800828E4 00002825 */ move $a1, $zero
/* 0834E8 800828E8 3C048012 */ lui $a0, %hi(D_80126530) # $a0, 0x8012
/* 0834EC 800828EC 24846530 */ addiu $a0, %lo(D_80126530) # addiu $a0, $a0, 0x6530
/* 0834F0 800828F0 00001825 */ move $v1, $zero
.L800828F4:
/* 0834F4 800828F4 8CCF0004 */ lw $t7, 4($a2)
/* 0834F8 800828F8 00000000 */ nop
/* 0834FC 800828FC 01E3C021 */ addu $t8, $t7, $v1
/* 083500 80082900 AF000000 */ sw $zero, ($t8)
/* 083504 80082904 AFA00028 */ sw $zero, 0x28($sp)
.L80082908:
/* 083508 80082908 8FA90028 */ lw $t1, 0x28($sp)
/* 08350C 8008290C 8CD90004 */ lw $t9, 4($a2)
/* 083510 80082910 00095080 */ sll $t2, $t1, 2
/* 083514 80082914 008A5821 */ addu $t3, $a0, $t2
/* 083518 80082918 8D6C0000 */ lw $t4, ($t3)
/* 08351C 8008291C 03231021 */ addu $v0, $t9, $v1
/* 083520 80082920 8D8D0004 */ lw $t5, 4($t4)
/* 083524 80082924 8C480000 */ lw $t0, ($v0)
/* 083528 80082928 01A37021 */ addu $t6, $t5, $v1
/* 08352C 8008292C 8DCF0000 */ lw $t7, ($t6)
/* 083530 80082930 00000000 */ nop
/* 083534 80082934 010FC025 */ or $t8, $t0, $t7
/* 083538 80082938 AC580000 */ sw $t8, ($v0)
/* 08353C 8008293C 8FB90028 */ lw $t9, 0x28($sp)
/* 083540 80082940 00000000 */ nop
/* 083544 80082944 27290001 */ addiu $t1, $t9, 1
/* 083548 80082948 29210003 */ slti $at, $t1, 3
/* 08354C 8008294C 1420FFEE */ bnez $at, .L80082908
/* 083550 80082950 AFA90028 */ sw $t1, 0x28($sp)
/* 083554 80082954 8FAA0024 */ lw $t2, 0x24($sp)
/* 083558 80082958 24A50001 */ addiu $a1, $a1, 1
/* 08355C 8008295C 14AAFFE5 */ bne $a1, $t2, .L800828F4
/* 083560 80082960 24630004 */ addiu $v1, $v1, 4
.L80082964:
/* 083564 80082964 3C028012 */ lui $v0, %hi(D_80126530) # $v0, 0x8012
/* 083568 80082968 3C038012 */ lui $v1, %hi(D_8012653C) # $v1, 0x8012
/* 08356C 8008296C A4C0000E */ sh $zero, 0xe($a2)
/* 083570 80082970 A4C00008 */ sh $zero, 8($a2)
/* 083574 80082974 A4C0000C */ sh $zero, 0xc($a2)
/* 083578 80082978 ACC00010 */ sw $zero, 0x10($a2)
/* 08357C 8008297C 2463653C */ addiu $v1, %lo(D_8012653C) # addiu $v1, $v1, 0x653c
/* 083580 80082980 24426530 */ addiu $v0, %lo(D_80126530) # addiu $v0, $v0, 0x6530
.L80082984:
/* 083584 80082984 8C4C0000 */ lw $t4, ($v0)
/* 083588 80082988 94CB000E */ lhu $t3, 0xe($a2)
/* 08358C 8008298C 958D000E */ lhu $t5, 0xe($t4)
/* 083590 80082990 94C80008 */ lhu $t0, 8($a2)
/* 083594 80082994 016D7025 */ or $t6, $t3, $t5
/* 083598 80082998 A4CE000E */ sh $t6, 0xe($a2)
/* 08359C 8008299C 8C4F0000 */ lw $t7, ($v0)
/* 0835A0 800829A0 94C9000C */ lhu $t1, 0xc($a2)
/* 0835A4 800829A4 95F80008 */ lhu $t8, 8($t7)
/* 0835A8 800829A8 8CCD0010 */ lw $t5, 0x10($a2)
/* 0835AC 800829AC 0118C825 */ or $t9, $t0, $t8
/* 0835B0 800829B0 A4D90008 */ sh $t9, 8($a2)
/* 0835B4 800829B4 8C4A0000 */ lw $t2, ($v0)
/* 0835B8 800829B8 24420004 */ addiu $v0, $v0, 4
/* 0835BC 800829BC 954C000C */ lhu $t4, 0xc($t2)
/* 0835C0 800829C0 00000000 */ nop
/* 0835C4 800829C4 012C5825 */ or $t3, $t1, $t4
/* 0835C8 800829C8 A4CB000C */ sh $t3, 0xc($a2)
/* 0835CC 800829CC 8C4EFFFC */ lw $t6, -4($v0)
/* 0835D0 800829D0 00000000 */ nop
/* 0835D4 800829D4 8DCF0010 */ lw $t7, 0x10($t6)
/* 0835D8 800829D8 00000000 */ nop
/* 0835DC 800829DC 01AF4025 */ or $t0, $t5, $t7
/* 0835E0 800829E0 1443FFE8 */ bne $v0, $v1, .L80082984
/* 0835E4 800829E4 ACC80010 */ sw $t0, 0x10($a2)
/* 0835E8 800829E8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0835EC 800829EC 27BD0030 */ addiu $sp, $sp, 0x30
/* 0835F0 800829F0 03E00008 */ jr $ra
/* 0835F4 800829F4 00000000 */ nop
@@ -1,66 +0,0 @@
glabel func_80082FAC
/* 083BAC 80082FAC 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012
/* 083BB0 80082FB0 8DEF644C */ lw $t7, %lo(D_8012644C)($t7)
/* 083BB4 80082FB4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 083BB8 80082FB8 3C0E8012 */ lui $t6, %hi(D_80126448) # $t6, 0x8012
/* 083BBC 80082FBC 8DCE6448 */ lw $t6, %lo(D_80126448)($t6)
/* 083BC0 80082FC0 AFBF0014 */ sw $ra, 0x14($sp)
/* 083BC4 80082FC4 AFAF001C */ sw $t7, 0x1c($sp)
/* 083BC8 80082FC8 31F90002 */ andi $t9, $t7, 2
/* 083BCC 80082FCC AFAE0018 */ sw $t6, 0x18($sp)
/* 083BD0 80082FD0 1320000A */ beqz $t9, .L80082FFC
/* 083BD4 80082FD4 8FAB001C */ lw $t3, 0x1c($sp)
/* 083BD8 80082FD8 0C0270B8 */ jal set_magic_code_flags
/* 083BDC 80082FDC 24040002 */ li $a0, 2
/* 083BE0 80082FE0 3C088012 */ lui $t0, %hi(D_80126448) # $t0, 0x8012
/* 083BE4 80082FE4 3C098012 */ lui $t1, %hi(D_8012644C) # $t1, 0x8012
/* 083BE8 80082FE8 8D29644C */ lw $t1, %lo(D_8012644C)($t1)
/* 083BEC 80082FEC 8D086448 */ lw $t0, %lo(D_80126448)($t0)
/* 083BF0 80082FF0 AFA9001C */ sw $t1, 0x1c($sp)
/* 083BF4 80082FF4 AFA80018 */ sw $t0, 0x18($sp)
/* 083BF8 80082FF8 8FAB001C */ lw $t3, 0x1c($sp)
.L80082FFC:
/* 083BFC 80082FFC 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff
/* 083C00 80083000 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0
/* 083C04 80083004 01616824 */ and $t5, $t3, $at
/* 083C08 80083008 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff
/* 083C0C 8008300C 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0
/* 083C10 80083010 15A1000A */ bne $t5, $at, .L8008303C
/* 083C14 80083014 8FB9001C */ lw $t9, 0x1c($sp)
/* 083C18 80083018 0C0270B8 */ jal set_magic_code_flags
/* 083C1C 8008301C 24040001 */ li $a0, 1
/* 083C20 80083020 3C0E8012 */ lui $t6, %hi(D_80126448) # $t6, 0x8012
/* 083C24 80083024 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012
/* 083C28 80083028 8DEF644C */ lw $t7, %lo(D_8012644C)($t7)
/* 083C2C 8008302C 8DCE6448 */ lw $t6, %lo(D_80126448)($t6)
/* 083C30 80083030 AFAF001C */ sw $t7, 0x1c($sp)
/* 083C34 80083034 AFAE0018 */ sw $t6, 0x18($sp)
/* 083C38 80083038 8FB9001C */ lw $t9, 0x1c($sp)
.L8008303C:
/* 083C3C 8008303C 240A0001 */ li $t2, 1
/* 083C40 80083040 33290001 */ andi $t1, $t9, 1
/* 083C44 80083044 11200004 */ beqz $t1, .L80083058
/* 083C48 80083048 3C01800E */ lui $at, 0x800e
/* 083C4C 8008304C 3C01800E */ lui $at, %hi(gIsInAdventureTwo) # $at, 0x800e
/* 083C50 80083050 10000002 */ b .L8008305C
/* 083C54 80083054 AC2AF494 */ sw $t2, %lo(gIsInAdventureTwo)($at)
.L80083058:
/* 083C58 80083058 AC20F494 */ sw $zero, %lo(gIsInAdventureTwo)($at)
.L8008305C:
/* 083C5C 8008305C 8FAD001C */ lw $t5, 0x1c($sp)
/* 083C60 80083060 3C010200 */ lui $at, 0x200
/* 083C64 80083064 01A17824 */ and $t7, $t5, $at
/* 083C68 80083068 15E00003 */ bnez $t7, .L80083078
/* 083C6C 8008306C 00000000 */ nop
/* 083C70 80083070 0C030ABD */ jal func_800C2AF4
/* 083C74 80083074 00002025 */ move $a0, $zero
.L80083078:
/* 083C78 80083078 0C027AC8 */ jal func_8009EB20
/* 083C7C 8008307C 00000000 */ nop
/* 083C80 80083080 0C01FE40 */ jal func_8007F900
/* 083C84 80083084 00402025 */ move $a0, $v0
/* 083C88 80083088 8FBF0014 */ lw $ra, 0x14($sp)
/* 083C8C 8008308C 27BD0028 */ addiu $sp, $sp, 0x28
/* 083C90 80083090 03E00008 */ jr $ra
/* 083C94 80083094 00000000 */ nop
@@ -1,78 +0,0 @@
glabel func_800860A8
/* 086CA8 800860A8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 086CAC 800860AC AFBF0014 */ sw $ra, 0x14($sp)
/* 086CB0 800860B0 AFA5002C */ sw $a1, 0x2c($sp)
/* 086CB4 800860B4 AFA60030 */ sw $a2, 0x30($sp)
/* 086CB8 800860B8 8CAF0000 */ lw $t7, ($a1)
/* 086CBC 800860BC 00004025 */ move $t0, $zero
/* 086CC0 800860C0 11E0003D */ beqz $t7, .L800861B8
/* 086CC4 800860C4 00045080 */ sll $t2, $a0, 2
/* 086CC8 800860C8 8CF80000 */ lw $t8, ($a3)
/* 086CCC 800860CC 3C0B8012 */ lui $t3, %hi(D_80126A20) # $t3, 0x8012
/* 086CD0 800860D0 0018C900 */ sll $t9, $t8, 4
/* 086CD4 800860D4 03262821 */ addu $a1, $t9, $a2
/* 086CD8 800860D8 256B6A20 */ addiu $t3, %lo(D_80126A20) # addiu $t3, $t3, 0x6a20
/* 086CDC 800860DC 014B3021 */ addu $a2, $t2, $t3
/* 086CE0 800860E0 AFA6001C */ sw $a2, 0x1c($sp)
/* 086CE4 800860E4 24A5000C */ addiu $a1, $a1, 0xc
/* 086CE8 800860E8 AFA70034 */ sw $a3, 0x34($sp)
/* 086CEC 800860EC 0C01D865 */ jal func_80076194
/* 086CF0 800860F0 AFA40028 */ sw $a0, 0x28($sp)
/* 086CF4 800860F4 8FA3002C */ lw $v1, 0x2c($sp)
/* 086CF8 800860F8 8FA40028 */ lw $a0, 0x28($sp)
/* 086CFC 800860FC 8FA50030 */ lw $a1, 0x30($sp)
/* 086D00 80086100 8FA6001C */ lw $a2, 0x1c($sp)
/* 086D04 80086104 8FA70034 */ lw $a3, 0x34($sp)
/* 086D08 80086108 14400019 */ bnez $v0, .L80086170
/* 086D0C 8008610C 00404025 */ move $t0, $v0
/* 086D10 80086110 8CEC0000 */ lw $t4, ($a3)
/* 086D14 80086114 8FAF0038 */ lw $t7, 0x38($sp)
/* 086D18 80086118 000C6900 */ sll $t5, $t4, 4
/* 086D1C 8008611C 00AD1021 */ addu $v0, $a1, $t5
/* 086D20 80086120 8C4E000C */ lw $t6, 0xc($v0)
/* 086D24 80086124 00000000 */ nop
/* 086D28 80086128 01CF082A */ slt $at, $t6, $t7
/* 086D2C 8008612C 14200023 */ bnez $at, .L800861BC
/* 086D30 80086130 8FBF0014 */ lw $ra, 0x14($sp)
/* 086D34 80086134 8CD80000 */ lw $t8, ($a2)
/* 086D38 80086138 24190008 */ li $t9, 8
/* 086D3C 8008613C 1B00001F */ blez $t8, .L800861BC
/* 086D40 80086140 8FBF0014 */ lw $ra, 0x14($sp)
/* 086D44 80086144 A0590000 */ sb $t9, ($v0)
/* 086D48 80086148 8CE90000 */ lw $t1, ($a3)
/* 086D4C 8008614C 00000000 */ nop
/* 086D50 80086150 00095100 */ sll $t2, $t1, 4
/* 086D54 80086154 00AA5821 */ addu $t3, $a1, $t2
/* 086D58 80086158 A1640006 */ sb $a0, 6($t3)
/* 086D5C 8008615C 8CEC0000 */ lw $t4, ($a3)
/* 086D60 80086160 00000000 */ nop
/* 086D64 80086164 258D0001 */ addiu $t5, $t4, 1
/* 086D68 80086168 10000013 */ b .L800861B8
/* 086D6C 8008616C ACED0000 */ sw $t5, ($a3)
.L80086170:
/* 086D70 80086170 8C6E0000 */ lw $t6, ($v1)
/* 086D74 80086174 304F00FF */ andi $t7, $v0, 0xff
/* 086D78 80086178 05C10006 */ bgez $t6, .L80086194
/* 086D7C 8008617C 24010007 */ li $at, 7
/* 086D80 80086180 15E10004 */ bne $t7, $at, .L80086194
/* 086D84 80086184 00000000 */ nop
/* 086D88 80086188 AC600000 */ sw $zero, ($v1)
/* 086D8C 8008618C 1000000A */ b .L800861B8
/* 086D90 80086190 00004025 */ move $t0, $zero
.L80086194:
/* 086D94 80086194 304300FF */ andi $v1, $v0, 0xff
/* 086D98 80086198 24010003 */ li $at, 3
/* 086D9C 8008619C 10610006 */ beq $v1, $at, .L800861B8
/* 086DA0 800861A0 24010002 */ li $at, 2
/* 086DA4 800861A4 10610004 */ beq $v1, $at, .L800861B8
/* 086DA8 800861A8 24010009 */ li $at, 9
/* 086DAC 800861AC 10610003 */ beq $v1, $at, .L800861BC
/* 086DB0 800861B0 8FBF0014 */ lw $ra, 0x14($sp)
/* 086DB4 800861B4 00004025 */ move $t0, $zero
.L800861B8:
/* 086DB8 800861B8 8FBF0014 */ lw $ra, 0x14($sp)
.L800861BC:
/* 086DBC 800861BC 27BD0028 */ addiu $sp, $sp, 0x28
/* 086DC0 800861C0 03E00008 */ jr $ra
/* 086DC4 800861C4 01001025 */ move $v0, $t0
@@ -1,77 +0,0 @@
glabel func_800874D0
/* 0880D0 800874D0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0880D4 800874D4 308E4000 */ andi $t6, $a0, 0x4000
/* 0880D8 800874D8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0880DC 800874DC 11C00012 */ beqz $t6, .L80087528
/* 0880E0 800874E0 AFA0001C */ sw $zero, 0x1c($sp)
/* 0880E4 800874E4 3C0F8012 */ lui $t7, %hi(D_80126A14) # $t7, 0x8012
/* 0880E8 800874E8 3C188012 */ lui $t8, %hi(D_80126A10) # $t8, 0x8012
/* 0880EC 800874EC 8F186A10 */ lw $t8, %lo(D_80126A10)($t8)
/* 0880F0 800874F0 8DEF6A14 */ lw $t7, %lo(D_80126A14)($t7)
/* 0880F4 800874F4 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 0880F8 800874F8 11F80005 */ beq $t7, $t8, .L80087510
/* 0880FC 800874FC AC2063E0 */ sw $zero, %lo(D_801263E0)($at)
/* 088100 80087500 0C021C76 */ jal func_800871D8
/* 088104 80087504 24040008 */ li $a0, 8
/* 088108 80087508 10000033 */ b .L800875D8
/* 08810C 8008750C 8FBF0014 */ lw $ra, 0x14($sp)
.L80087510:
/* 088110 80087510 24040241 */ li $a0, 577
/* 088114 80087514 0C000741 */ jal func_80001D04
/* 088118 80087518 00002825 */ move $a1, $zero
/* 08811C 8008751C 2419FFFF */ li $t9, -1
/* 088120 80087520 1000002C */ b .L800875D4
/* 088124 80087524 AFB9001C */ sw $t9, 0x1c($sp)
.L80087528:
/* 088128 80087528 30889000 */ andi $t0, $a0, 0x9000
/* 08812C 8008752C 11000007 */ beqz $t0, .L8008754C
/* 088130 80087530 240400EF */ li $a0, 239
/* 088134 80087534 0C000741 */ jal func_80001D04
/* 088138 80087538 00002825 */ move $a1, $zero
/* 08813C 8008753C 24090004 */ li $t1, 4
/* 088140 80087540 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 088144 80087544 10000023 */ b .L800875D4
/* 088148 80087548 AC2963E0 */ sw $t1, %lo(D_801263E0)($at)
.L8008754C:
/* 08814C 8008754C 04A1000F */ bgez $a1, .L8008758C
/* 088150 80087550 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012
/* 088154 80087554 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4
/* 088158 80087558 8C4A0000 */ lw $t2, ($v0)
/* 08815C 8008755C 240400EB */ li $a0, 235
/* 088160 80087560 1940000A */ blez $t2, .L8008758C
/* 088164 80087564 00000000 */ nop
/* 088168 80087568 0C000741 */ jal func_80001D04
/* 08816C 8008756C 00002825 */ move $a1, $zero
/* 088170 80087570 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012
/* 088174 80087574 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4
/* 088178 80087578 8C4B0000 */ lw $t3, ($v0)
/* 08817C 8008757C 00000000 */ nop
/* 088180 80087580 256CFFFF */ addiu $t4, $t3, -1
/* 088184 80087584 10000013 */ b .L800875D4
/* 088188 80087588 AC4C0000 */ sw $t4, ($v0)
.L8008758C:
/* 08818C 8008758C 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012
/* 088190 80087590 18A00010 */ blez $a1, .L800875D4
/* 088194 80087594 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4
/* 088198 80087598 3C0E8012 */ lui $t6, %hi(D_80126A08) # $t6, 0x8012
/* 08819C 8008759C 8DCE6A08 */ lw $t6, %lo(D_80126A08)($t6)
/* 0881A0 800875A0 8C4D0000 */ lw $t5, ($v0)
/* 0881A4 800875A4 25CFFFFF */ addiu $t7, $t6, -1
/* 0881A8 800875A8 01AF082A */ slt $at, $t5, $t7
/* 0881AC 800875AC 10200009 */ beqz $at, .L800875D4
/* 0881B0 800875B0 240400EB */ li $a0, 235
/* 0881B4 800875B4 0C000741 */ jal func_80001D04
/* 0881B8 800875B8 00002825 */ move $a1, $zero
/* 0881BC 800875BC 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012
/* 0881C0 800875C0 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4
/* 0881C4 800875C4 8C580000 */ lw $t8, ($v0)
/* 0881C8 800875C8 00000000 */ nop
/* 0881CC 800875CC 27190001 */ addiu $t9, $t8, 1
/* 0881D0 800875D0 AC590000 */ sw $t9, ($v0)
.L800875D4:
/* 0881D4 800875D4 8FBF0014 */ lw $ra, 0x14($sp)
.L800875D8:
/* 0881D8 800875D8 8FA2001C */ lw $v0, 0x1c($sp)
/* 0881DC 800875DC 03E00008 */ jr $ra
/* 0881E0 800875E0 27BD0020 */ addiu $sp, $sp, 0x20
@@ -1,64 +0,0 @@
glabel func_800875E4
/* 0881E4 800875E4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0881E8 800875E8 308E4000 */ andi $t6, $a0, 0x4000
/* 0881EC 800875EC 11C00008 */ beqz $t6, .L80087610
/* 0881F0 800875F0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0881F4 800875F4 24040241 */ li $a0, 577
/* 0881F8 800875F8 0C000741 */ jal func_80001D04
/* 0881FC 800875FC 00002825 */ move $a1, $zero
/* 088200 80087600 240F0003 */ li $t7, 3
/* 088204 80087604 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 088208 80087608 1000002C */ b .L800876BC
/* 08820C 8008760C AC2F63E0 */ sw $t7, %lo(D_801263E0)($at)
.L80087610:
/* 088210 80087610 30989000 */ andi $t8, $a0, 0x9000
/* 088214 80087614 13000007 */ beqz $t8, .L80087634
/* 088218 80087618 240400EF */ li $a0, 239
/* 08821C 8008761C 0C000741 */ jal func_80001D04
/* 088220 80087620 00002825 */ move $a1, $zero
/* 088224 80087624 24190006 */ li $t9, 6
/* 088228 80087628 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 08822C 8008762C 10000023 */ b .L800876BC
/* 088230 80087630 AC3963E0 */ sw $t9, %lo(D_801263E0)($at)
.L80087634:
/* 088234 80087634 04A1000F */ bgez $a1, .L80087674
/* 088238 80087638 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012
/* 08823C 8008763C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4
/* 088240 80087640 8C480000 */ lw $t0, ($v0)
/* 088244 80087644 240400EB */ li $a0, 235
/* 088248 80087648 1900000A */ blez $t0, .L80087674
/* 08824C 8008764C 00000000 */ nop
/* 088250 80087650 0C000741 */ jal func_80001D04
/* 088254 80087654 00002825 */ move $a1, $zero
/* 088258 80087658 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012
/* 08825C 8008765C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4
/* 088260 80087660 8C490000 */ lw $t1, ($v0)
/* 088264 80087664 00000000 */ nop
/* 088268 80087668 252AFFFF */ addiu $t2, $t1, -1
/* 08826C 8008766C 10000013 */ b .L800876BC
/* 088270 80087670 AC4A0000 */ sw $t2, ($v0)
.L80087674:
/* 088274 80087674 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012
/* 088278 80087678 18A00010 */ blez $a1, .L800876BC
/* 08827C 8008767C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4
/* 088280 80087680 3C0C8012 */ lui $t4, %hi(D_80126A00) # $t4, 0x8012
/* 088284 80087684 8D8C6A00 */ lw $t4, %lo(D_80126A00)($t4)
/* 088288 80087688 8C4B0000 */ lw $t3, ($v0)
/* 08828C 8008768C 258DFFFF */ addiu $t5, $t4, -1
/* 088290 80087690 016D082A */ slt $at, $t3, $t5
/* 088294 80087694 10200009 */ beqz $at, .L800876BC
/* 088298 80087698 240400EB */ li $a0, 235
/* 08829C 8008769C 0C000741 */ jal func_80001D04
/* 0882A0 800876A0 00002825 */ move $a1, $zero
/* 0882A4 800876A4 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012
/* 0882A8 800876A8 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4
/* 0882AC 800876AC 8C4E0000 */ lw $t6, ($v0)
/* 0882B0 800876B0 00000000 */ nop
/* 0882B4 800876B4 25CF0001 */ addiu $t7, $t6, 1
/* 0882B8 800876B8 AC4F0000 */ sw $t7, ($v0)
.L800876BC:
/* 0882BC 800876BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0882C0 800876C0 27BD0018 */ addiu $sp, $sp, 0x18
/* 0882C4 800876C4 03E00008 */ jr $ra
/* 0882C8 800876C8 00001025 */ move $v0, $zero
@@ -1,90 +0,0 @@
glabel func_8008BFE8
/* 08CBE8 8008BFE8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 08CBEC 8008BFEC AFB6002C */ sw $s6, 0x2c($sp)
/* 08CBF0 8008BFF0 AFB40024 */ sw $s4, 0x24($sp)
/* 08CBF4 8008BFF4 AFB30020 */ sw $s3, 0x20($sp)
/* 08CBF8 8008BFF8 AFB10018 */ sw $s1, 0x18($sp)
/* 08CBFC 8008BFFC AFB00014 */ sw $s0, 0x14($sp)
/* 08CC00 8008C000 00A09825 */ move $s3, $a1
/* 08CC04 8008C004 0080A025 */ move $s4, $a0
/* 08CC08 8008C008 00C0B025 */ move $s6, $a2
/* 08CC0C 8008C00C AFBF0034 */ sw $ra, 0x34($sp)
/* 08CC10 8008C010 AFB70030 */ sw $s7, 0x30($sp)
/* 08CC14 8008C014 AFB50028 */ sw $s5, 0x28($sp)
/* 08CC18 8008C018 AFB2001C */ sw $s2, 0x1c($sp)
/* 08CC1C 8008C01C AFA70044 */ sw $a3, 0x44($sp)
/* 08CC20 8008C020 00008825 */ move $s1, $zero
/* 08CC24 8008C024 18C00026 */ blez $a2, .L8008C0C0
/* 08CC28 8008C028 24100001 */ li $s0, 1
/* 08CC2C 8008C02C 80AE0000 */ lb $t6, ($a1)
/* 08CC30 8008C030 2417FFFF */ li $s7, -1
/* 08CC34 8008C034 12EE0022 */ beq $s7, $t6, .L8008C0C0
/* 08CC38 8008C038 3C150040 */ lui $s5, 0x40
/* 08CC3C 8008C03C 3C128012 */ lui $s2, %hi(D_801263E8) # $s2, 0x8012
/* 08CC40 8008C040 265263E8 */ addiu $s2, %lo(D_801263E8) # addiu $s2, $s2, 0x63e8
.L8008C044:
/* 08CC44 8008C044 0C0270C3 */ jal func_8009C30C
/* 08CC48 8008C048 00008025 */ move $s0, $zero
/* 08CC4C 8008C04C 00557824 */ and $t7, $v0, $s5
/* 08CC50 8008C050 15E00013 */ bnez $t7, .L8008C0A0
/* 08CC54 8008C054 00001025 */ move $v0, $zero
.L8008C058:
/* 08CC58 8008C058 10540008 */ beq $v0, $s4, .L8008C07C
/* 08CC5C 8008C05C 0242C021 */ addu $t8, $s2, $v0
/* 08CC60 8008C060 02714021 */ addu $t0, $s3, $s1
/* 08CC64 8008C064 81090000 */ lb $t1, ($t0)
/* 08CC68 8008C068 83190000 */ lb $t9, ($t8)
/* 08CC6C 8008C06C 00000000 */ nop
/* 08CC70 8008C070 17290002 */ bne $t9, $t1, .L8008C07C
/* 08CC74 8008C074 00000000 */ nop
/* 08CC78 8008C078 24100001 */ li $s0, 1
.L8008C07C:
/* 08CC7C 8008C07C 24420001 */ addiu $v0, $v0, 1
/* 08CC80 8008C080 28410004 */ slti $at, $v0, 4
/* 08CC84 8008C084 10200003 */ beqz $at, .L8008C094
/* 08CC88 8008C088 00000000 */ nop
/* 08CC8C 8008C08C 1200FFF2 */ beqz $s0, .L8008C058
/* 08CC90 8008C090 00000000 */ nop
.L8008C094:
/* 08CC94 8008C094 12000002 */ beqz $s0, .L8008C0A0
/* 08CC98 8008C098 00000000 */ nop
/* 08CC9C 8008C09C 26310001 */ addiu $s1, $s1, 1
.L8008C0A0:
/* 08CCA0 8008C0A0 12000007 */ beqz $s0, .L8008C0C0
/* 08CCA4 8008C0A4 0236082A */ slt $at, $s1, $s6
/* 08CCA8 8008C0A8 10200005 */ beqz $at, .L8008C0C0
/* 08CCAC 8008C0AC 02715021 */ addu $t2, $s3, $s1
/* 08CCB0 8008C0B0 814B0000 */ lb $t3, ($t2)
/* 08CCB4 8008C0B4 00000000 */ nop
/* 08CCB8 8008C0B8 16EBFFE2 */ bne $s7, $t3, .L8008C044
/* 08CCBC 8008C0BC 00000000 */ nop
.L8008C0C0:
/* 08CCC0 8008C0C0 3C128012 */ lui $s2, %hi(D_801263E8) # $s2, 0x8012
/* 08CCC4 8008C0C4 1600000A */ bnez $s0, .L8008C0F0
/* 08CCC8 8008C0C8 265263E8 */ addiu $s2, %lo(D_801263E8) # addiu $s2, $s2, 0x63e8
/* 08CCCC 8008C0CC 02716021 */ addu $t4, $s3, $s1
/* 08CCD0 8008C0D0 818D0000 */ lb $t5, ($t4)
/* 08CCD4 8008C0D4 02547021 */ addu $t6, $s2, $s4
/* 08CCD8 8008C0D8 A1CD0000 */ sb $t5, ($t6)
/* 08CCDC 8008C0DC 97A40046 */ lhu $a0, 0x46($sp)
/* 08CCE0 8008C0E0 0C000741 */ jal func_80001D04
/* 08CCE4 8008C0E4 00002825 */ move $a1, $zero
/* 08CCE8 8008C0E8 10000005 */ b .L8008C100
/* 08CCEC 8008C0EC 8FBF0034 */ lw $ra, 0x34($sp)
.L8008C0F0:
/* 08CCF0 8008C0F0 97A4004A */ lhu $a0, 0x4a($sp)
/* 08CCF4 8008C0F4 0C000741 */ jal func_80001D04
/* 08CCF8 8008C0F8 00002825 */ move $a1, $zero
/* 08CCFC 8008C0FC 8FBF0034 */ lw $ra, 0x34($sp)
.L8008C100:
/* 08CD00 8008C100 8FB00014 */ lw $s0, 0x14($sp)
/* 08CD04 8008C104 8FB10018 */ lw $s1, 0x18($sp)
/* 08CD08 8008C108 8FB2001C */ lw $s2, 0x1c($sp)
/* 08CD0C 8008C10C 8FB30020 */ lw $s3, 0x20($sp)
/* 08CD10 8008C110 8FB40024 */ lw $s4, 0x24($sp)
/* 08CD14 8008C114 8FB50028 */ lw $s5, 0x28($sp)
/* 08CD18 8008C118 8FB6002C */ lw $s6, 0x2c($sp)
/* 08CD1C 8008C11C 8FB70030 */ lw $s7, 0x30($sp)
/* 08CD20 8008C120 03E00008 */ jr $ra
/* 08CD24 8008C124 27BD0038 */ addiu $sp, $sp, 0x38
@@ -1,76 +0,0 @@
glabel func_80094C14
/* 095814 80094C14 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012
/* 095818 80094C18 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc
/* 09581C 80094C1C 3C058012 */ lui $a1, %hi(D_80126A94) # $a1, 0x8012
/* 095820 80094C20 8C6E0000 */ lw $t6, ($v1)
/* 095824 80094C24 24A56A94 */ addiu $a1, %lo(D_80126A94) # addiu $a1, $a1, 0x6a94
/* 095828 80094C28 8CB90000 */ lw $t9, ($a1)
/* 09582C 80094C2C 01C47821 */ addu $t7, $t6, $a0
/* 095830 80094C30 31F8003F */ andi $t8, $t7, 0x3f
/* 095834 80094C34 03244021 */ addu $t0, $t9, $a0
/* 095838 80094C38 AC780000 */ sw $t8, ($v1)
/* 09583C 80094C3C ACA80000 */ sw $t0, ($a1)
/* 095840 80094C40 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012
/* 095844 80094C44 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0)
/* 095848 80094C48 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 09584C 80094C4C 04400032 */ bltz $v0, .L80094D18
/* 095850 80094C50 AFBF0014 */ sw $ra, 0x14($sp)
/* 095854 80094C54 3C03800E */ lui $v1, %hi(D_800DF460) # $v1, 0x800e
/* 095858 80094C58 8C63F460 */ lw $v1, %lo(D_800DF460)($v1)
/* 09585C 80094C5C 00444821 */ addu $t1, $v0, $a0
/* 095860 80094C60 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012
/* 095864 80094C64 10600006 */ beqz $v1, .L80094C80
/* 095868 80094C68 AC2963D8 */ sw $t1, %lo(D_801263D8)($at)
/* 09586C 80094C6C 24010001 */ li $at, 1
/* 095870 80094C70 10610011 */ beq $v1, $at, .L80094CB8
/* 095874 80094C74 00000000 */ nop
/* 095878 80094C78 1000001D */ b .L80094CF0
/* 09587C 80094C7C 00000000 */ nop
.L80094C80:
/* 095880 80094C80 0C00322D */ jal func_8000C8B4
/* 095884 80094C84 240400F0 */ li $a0, 240
/* 095888 80094C88 3C0A8012 */ lui $t2, %hi(D_801263D8) # $t2, 0x8012
/* 09588C 80094C8C 8D4A63D8 */ lw $t2, %lo(D_801263D8)($t2)
/* 095890 80094C90 00000000 */ nop
/* 095894 80094C94 004A082A */ slt $at, $v0, $t2
/* 095898 80094C98 10200015 */ beqz $at, .L80094CF0
/* 09589C 80094C9C 00000000 */ nop
/* 0958A0 80094CA0 0C000326 */ jal func_80000C98
/* 0958A4 80094CA4 2404FF00 */ li $a0, -256
/* 0958A8 80094CA8 240B0001 */ li $t3, 1
/* 0958AC 80094CAC 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e
/* 0958B0 80094CB0 1000000F */ b .L80094CF0
/* 0958B4 80094CB4 AC2BF460 */ sw $t3, %lo(D_800DF460)($at)
.L80094CB8:
/* 0958B8 80094CB8 0C00322D */ jal func_8000C8B4
/* 0958BC 80094CBC 2404012C */ li $a0, 300
/* 0958C0 80094CC0 3C0C8012 */ lui $t4, %hi(D_801263D8) # $t4, 0x8012
/* 0958C4 80094CC4 8D8C63D8 */ lw $t4, %lo(D_801263D8)($t4)
/* 0958C8 80094CC8 00000000 */ nop
/* 0958CC 80094CCC 004C082A */ slt $at, $v0, $t4
/* 0958D0 80094CD0 10200007 */ beqz $at, .L80094CF0
/* 0958D4 80094CD4 00000000 */ nop
/* 0958D8 80094CD8 0C0002F8 */ jal func_80000BE0
/* 0958DC 80094CDC 24040018 */ li $a0, 24
/* 0958E0 80094CE0 0C0002CD */ jal func_80000B34
/* 0958E4 80094CE4 24040018 */ li $a0, 24
/* 0958E8 80094CE8 0C000326 */ jal func_80000C98
/* 0958EC 80094CEC 24040100 */ li $a0, 256
.L80094CF0:
/* 0958F0 80094CF0 0C00322D */ jal func_8000C8B4
/* 0958F4 80094CF4 2404012C */ li $a0, 300
/* 0958F8 80094CF8 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012
/* 0958FC 80094CFC 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8
/* 095900 80094D00 8C6D0000 */ lw $t5, ($v1)
/* 095904 80094D04 240EFFFF */ li $t6, -1
/* 095908 80094D08 004D082A */ slt $at, $v0, $t5
/* 09590C 80094D0C 10200003 */ beqz $at, .L80094D1C
/* 095910 80094D10 8FBF0014 */ lw $ra, 0x14($sp)
/* 095914 80094D14 AC6E0000 */ sw $t6, ($v1)
.L80094D18:
/* 095918 80094D18 8FBF0014 */ lw $ra, 0x14($sp)
.L80094D1C:
/* 09591C 80094D1C 27BD0018 */ addiu $sp, $sp, 0x18
/* 095920 80094D20 03E00008 */ jr $ra
/* 095924 80094D24 00000000 */ nop
@@ -1,67 +0,0 @@
glabel func_8009BD5C
/* 09C95C 8009BD5C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 09C960 8009BD60 AFBF0014 */ sw $ra, 0x14($sp)
/* 09C964 8009BD64 0C01994B */ jal func_8006652C
/* 09C968 8009BD68 00002025 */ move $a0, $zero
/* 09C96C 8009BD6C 0C01997A */ jal func_800665E8
/* 09C970 8009BD70 00002025 */ move $a0, $zero
/* 09C974 8009BD74 0C01A748 */ jal func_80069D20
/* 09C978 8009BD78 00000000 */ nop
/* 09C97C 8009BD7C 844E0000 */ lh $t6, ($v0)
/* 09C980 8009BD80 3C01C200 */ li $at, 0xC2000000 # -32.000000
/* 09C984 8009BD84 A7AE002A */ sh $t6, 0x2a($sp)
/* 09C988 8009BD88 844F0002 */ lh $t7, 2($v0)
/* 09C98C 8009BD8C 44810000 */ mtc1 $at, $f0
/* 09C990 8009BD90 A7AF0028 */ sh $t7, 0x28($sp)
/* 09C994 8009BD94 84580004 */ lh $t8, 4($v0)
/* 09C998 8009BD98 44806000 */ mtc1 $zero, $f12
/* 09C99C 8009BD9C A7B80026 */ sh $t8, 0x26($sp)
/* 09C9A0 8009BDA0 C444000C */ lwc1 $f4, 0xc($v0)
/* 09C9A4 8009BDA4 24198000 */ li $t9, -32768
/* 09C9A8 8009BDA8 E7A40020 */ swc1 $f4, 0x20($sp)
/* 09C9AC 8009BDAC C4460010 */ lwc1 $f6, 0x10($v0)
/* 09C9B0 8009BDB0 3C06BF80 */ lui $a2, 0xbf80
/* 09C9B4 8009BDB4 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 09C9B8 8009BDB8 C4480014 */ lwc1 $f8, 0x14($v0)
/* 09C9BC 8009BDBC 46006386 */ mov.s $f14, $f12
/* 09C9C0 8009BDC0 E7A80018 */ swc1 $f8, 0x18($sp)
/* 09C9C4 8009BDC4 A4400004 */ sh $zero, 4($v0)
/* 09C9C8 8009BDC8 A4400002 */ sh $zero, 2($v0)
/* 09C9CC 8009BDCC A4590000 */ sh $t9, ($v0)
/* 09C9D0 8009BDD0 E440000C */ swc1 $f0, 0xc($v0)
/* 09C9D4 8009BDD4 E4400010 */ swc1 $f0, 0x10($v0)
/* 09C9D8 8009BDD8 E4400014 */ swc1 $f0, 0x14($v0)
/* 09C9DC 8009BDDC 0C007578 */ jal func_8001D5E0
/* 09C9E0 8009BDE0 AFA2002C */ sw $v0, 0x2c($sp)
/* 09C9E4 8009BDE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
/* 09C9E8 8009BDE8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012
/* 09C9EC 8009BDEC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8
/* 09C9F0 8009BDF0 0C019B37 */ jal func_80066CDC
/* 09C9F4 8009BDF4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
/* 09C9F8 8009BDF8 8FA3002C */ lw $v1, 0x2c($sp)
/* 09C9FC 8009BDFC 87A8002A */ lh $t0, 0x2a($sp)
/* 09CA00 8009BE00 00000000 */ nop
/* 09CA04 8009BE04 A4680000 */ sh $t0, ($v1)
/* 09CA08 8009BE08 87A90028 */ lh $t1, 0x28($sp)
/* 09CA0C 8009BE0C 00000000 */ nop
/* 09CA10 8009BE10 A4690002 */ sh $t1, 2($v1)
/* 09CA14 8009BE14 87AA0026 */ lh $t2, 0x26($sp)
/* 09CA18 8009BE18 00000000 */ nop
/* 09CA1C 8009BE1C A46A0004 */ sh $t2, 4($v1)
/* 09CA20 8009BE20 C7AA0020 */ lwc1 $f10, 0x20($sp)
/* 09CA24 8009BE24 00000000 */ nop
/* 09CA28 8009BE28 E46A000C */ swc1 $f10, 0xc($v1)
/* 09CA2C 8009BE2C C7B0001C */ lwc1 $f16, 0x1c($sp)
/* 09CA30 8009BE30 00000000 */ nop
/* 09CA34 8009BE34 E4700010 */ swc1 $f16, 0x10($v1)
/* 09CA38 8009BE38 C7B20018 */ lwc1 $f18, 0x18($sp)
/* 09CA3C 8009BE3C 00000000 */ nop
/* 09CA40 8009BE40 E4720014 */ swc1 $f18, 0x14($v1)
/* 09CA44 8009BE44 8FBF0014 */ lw $ra, 0x14($sp)
/* 09CA48 8009BE48 27BD0030 */ addiu $sp, $sp, 0x30
/* 09CA4C 8009BE4C 03E00008 */ jr $ra
/* 09CA50 8009BE50 00000000 */ nop
/* 09CA54 8009BE54 03E00008 */ jr $ra
/* 09CA58 8009BE58 00000000 */ nop
+1 -1
View File
@@ -55,7 +55,7 @@ typedef struct Settings4C {
/* Size: 0x840 bytes */
typedef struct Settings {
/* 0x0000 */ void *balloonsPtr;
/* 0x0004 */ void *courseFlagsPtr;
/* 0x0004 */ s32 *courseFlagsPtr;
/* 0x0008 */ u16 keys;
/* 0x000A */ char unkA[2];
/* 0x000C */ u16 bosses;
+1 -1
View File
@@ -1 +1 @@
python3 ./tools/python/score.py
python3 ./tools/python/score.py "$@"
File diff suppressed because it is too large Load Diff
+41 -4
View File
@@ -1,9 +1,11 @@
import re
import sys
from file_util import FileUtil
SRC_DIRECTORY = './src'
FUNCTION_REGEX = r'([/][*]([^*]|([*][^/]))*[*][/][\n]\s*)?(void|s64|s32|s16|s8|u64|u32|u16|u8|f32|f64)(\s|[*])*([0-9A-Za-z_]+)\s*[(][^)]*[)]\s*{'
WIP_REGEX = r'#if(.|\n)*?(GLOBAL_ASM[(][^)]*[)])(.|\n)*?#else(.|\n)*?#endif'
GLOBAL_ASM_REGEX = r'GLOBAL_ASM[(]\"[^/]*/[^/]*/[^/]*/([a-zA-Z0-9_]*).s\"[)]'
WIP_REGEX = r'#if(.|\n)*?(GLOBAL_ASM[(]([^)]*)[)])(.|\n)*?#else(.|\n)*?#endif'
CODE_START = 0x80000400
CODE_END = 0x800D75F4
@@ -41,6 +43,7 @@ class ScoreFileMatch:
class ScoreFile:
def __init__(self, filepath):
self.functions = []
self.unfinishedSize = 0
self.numGlobalAsms = 0
self.path = filepath
self.read_file()
@@ -50,14 +53,22 @@ class ScoreFile:
def read_file(self):
with open(self.path, "r") as inFile:
self.text = inFile.read()
self.text = re.sub(WIP_REGEX, 'GLOBAL_ASM()', self.text)
self.text = re.sub(WIP_REGEX, r"GLOBAL_ASM(\3)", self.text)
def get_matches(self):
matches = re.finditer(FUNCTION_REGEX, self.text, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
groups = match.groups()
self.functions.append(ScoreFileMatch(groups[0], groups[5]))
self.numGlobalAsms = self.text.count("GLOBAL_ASM")
matches = re.finditer(GLOBAL_ASM_REGEX, self.text, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
groups = match.groups()
self.numGlobalAsms += 1
try:
self.unfinishedSize += MAP_FILE.functionSizes[groups[0]]
except Exception:
pass
def get_number_of_documented_functions(self):
count = 0
@@ -80,6 +91,19 @@ class ScoreFile:
return size
def main():
showTopFiles = 0
numArgs = len(sys.argv)
for i in range(1, numArgs):
arg = sys.argv[i].lower()
print('Argument:', sys.argv[i])
if arg.startswith("--top"):
num = arg[5:]
if num == "":
showTopFiles = 10 # 10 is the default
else:
showTopFiles = int(num)
scoreFiles = []
srcFilenames = FileUtil.get_filenames_from_directory_recursive(SRC_DIRECTORY, extensions=('.c'))
totalNumberOfDecompiledFunctions = 0
@@ -111,7 +135,20 @@ def main():
print(' # Documented functions: ' + str(totalNumberOfDocumentedFunctions))
print(' # Undocumented remaining: ' + str(totalNumberOfFunctions - totalNumberOfDocumentedFunctions))
print('=========================================')
#print(totalNumberOfDecompiledFunctions, totalNumberOfGlobalAsms, totalNumberOfDocumentedFunctions)
if showTopFiles > 0:
if showTopFiles > len(scoreFiles):
showTopFiles = len(scoreFiles)
print('======= TOP FILES ======== | TODO | DONE |')
files = []
for file in scoreFiles:
files.append([file.path, file.unfinishedSize, file.get_size_of_functions()])
files.sort(key=lambda x:x[1], reverse=True) # Sort by Size, Largest to Smallest
for i in range(0, showTopFiles):
percentageRemaining = (files[i][1] / CODE_SIZE) * 100
percentageDone = (files[i][2] / CODE_SIZE) * 100
funcName = files[i][0][12:]
print("", funcName, (" " * (24 - len(funcName))), "| {:5.2f}% | {:5.2f}% |".format(percentageRemaining, percentageDone))
main()