mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge pull request #157 from DavidSM64/doc
Decompiled 7 functions from unknown_043920 & menu
This commit is contained in:
@@ -113,14 +113,14 @@ s32 is_drumstick_unlocked(void) {
|
||||
}
|
||||
```
|
||||
|
||||
As of August 6th 2021, this is our current score:
|
||||
As of August 14th 2021, this is our current score:
|
||||
```
|
||||
=======================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
------------------- 13.16% Complete -------------------
|
||||
# Decompiled functions: 852
|
||||
# GLOBAL_ASM remaining: 918
|
||||
# NON_MATCHING functions: 76
|
||||
------------------- 13.58% Complete -------------------
|
||||
# Decompiled functions: 865
|
||||
# GLOBAL_ASM remaining: 910
|
||||
# NON_MATCHING functions: 86
|
||||
--------------------- Game Status ---------------------
|
||||
Balloons: 8/47, Keys: 1/4, Trophies: 0/5
|
||||
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
|
||||
@@ -130,7 +130,7 @@ As of August 6th 2021, this is our current score:
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------- 0.75% Complete -------------------
|
||||
# Documented functions: 61
|
||||
# Undocumented remaining: 1709
|
||||
# Undocumented remaining: 1714
|
||||
--------------------- Game Status ---------------------
|
||||
Balloons: 0/47, Keys: 0/4, Trophies: 0/5
|
||||
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
|
||||
|
||||
@@ -82,11 +82,11 @@ glabel func_80081218
|
||||
/* 081F58 80081358 24636C30 */ addiu $v1, %lo(gCheatsAssetData) # addiu $v1, $v1, 0x6c30
|
||||
/* 081F5C 8008135C AC620000 */ sw $v0, ($v1)
|
||||
/* 081F60 80081360 94580000 */ lhu $t8, ($v0)
|
||||
/* 081F64 80081364 3C018012 */ lui $at, %hi(D_80126C38) # $at, 0x8012
|
||||
/* 081F64 80081364 3C018012 */ lui $at, %hi(gNumberOfCheats) # $at, 0x8012
|
||||
/* 081F68 80081368 24041000 */ li $a0, 4096
|
||||
/* 081F6C 8008136C 2405FFFF */ li $a1, -1
|
||||
/* 081F70 80081370 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 081F74 80081374 AC386C38 */ sw $t8, %lo(D_80126C38)($at)
|
||||
/* 081F74 80081374 AC386C38 */ sw $t8, %lo(gNumberOfCheats)($at)
|
||||
/* 081F78 80081378 3C01800E */ lui $at, %hi(gMenuText) # $at, 0x800e
|
||||
/* 081F7C 8008137C AC22F4A0 */ sw $v0, %lo(gMenuText)($at)
|
||||
/* 081F80 80081380 0C01FE40 */ jal load_menu_text
|
||||
|
||||
@@ -64,7 +64,7 @@ glabel L8009D0B8
|
||||
/* 09DCC0 8009D0C0 10000010 */ b .L8009D104
|
||||
/* 09DCC4 8009D0C4 00401825 */ move $v1, $v0
|
||||
glabel L8009D0C8
|
||||
/* 09DCC8 8009D0C8 0C0276CF */ jal func_8009DB3C
|
||||
/* 09DCC8 8009D0C8 0C0276CF */ jal tt_menu_loop
|
||||
/* 09DCCC 8009D0CC 00000000 */ nop
|
||||
/* 09DCD0 8009D0D0 1000000C */ b .L8009D104
|
||||
/* 09DCD4 8009D0D4 00401825 */ move $v1, $v0
|
||||
|
||||
@@ -114,7 +114,7 @@ glabel menu_character_select_loop
|
||||
/* 08CAC8 8008BEC8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 08CACC 8008BECC 1449FFF0 */ bne $v0, $t1, .L8008BE90
|
||||
/* 08CAD0 8008BED0 24630001 */ addiu $v1, $v1, 1
|
||||
/* 08CAD4 8008BED4 0C022ECF */ jal func_8008BB3C
|
||||
/* 08CAD4 8008BED4 0C022ECF */ jal randomize_ai_racer_slots
|
||||
/* 08CAD8 8008BED8 AFAB0024 */ sw $t3, 0x24($sp)
|
||||
/* 08CADC 8008BEDC 3C048012 */ lui $a0, %hi(gActivePlayersArray) # $a0, 0x8012
|
||||
/* 08CAE0 8008BEE0 0C01A916 */ jal func_8006A458
|
||||
|
||||
@@ -41,26 +41,26 @@ glabel menu_ghost_data_init
|
||||
/* 09A6F4 80099AF4 3C01800E */ lui $at, %hi(D_800E153C) # $at, 0x800e
|
||||
/* 09A6F8 80099AF8 AC37153C */ sw $s7, %lo(D_800E153C)($at)
|
||||
/* 09A6FC 80099AFC 8C5E003C */ lw $fp, 0x3c($v0)
|
||||
/* 09A700 80099B00 3C01800E */ lui $at, %hi(D_800E1564) # $at, 0x800e
|
||||
/* 09A704 80099B04 AC3E1564 */ sw $fp, %lo(D_800E1564)($at)
|
||||
/* 09A700 80099B00 3C01800E */ lui $at, %hi(D_800E153C+0x28) # $at, 0x800e
|
||||
/* 09A704 80099B04 AC3E1564 */ sw $fp, %lo(D_800E153C+0x28)($at)
|
||||
/* 09A708 80099B08 8C430040 */ lw $v1, 0x40($v0)
|
||||
/* 09A70C 80099B0C 3C01800E */ lui $at, %hi(D_800E1594) # $at, 0x800e
|
||||
/* 09A710 80099B10 AC231594 */ sw $v1, %lo(D_800E1594)($at)
|
||||
/* 09A714 80099B14 8C440044 */ lw $a0, 0x44($v0)
|
||||
/* 09A718 80099B18 3C01800E */ lui $at, %hi(D_800E15BC) # $at, 0x800e
|
||||
/* 09A71C 80099B1C AC2415BC */ sw $a0, %lo(D_800E15BC)($at)
|
||||
/* 09A718 80099B18 3C01800E */ lui $at, %hi(D_800E1594+0x28) # $at, 0x800e
|
||||
/* 09A71C 80099B1C AC2415BC */ sw $a0, %lo(D_800E1594+0x28)($at)
|
||||
/* 09A720 80099B20 8C450048 */ lw $a1, 0x48($v0)
|
||||
/* 09A724 80099B24 3C01800E */ lui $at, %hi(D_800E15EC) # $at, 0x800e
|
||||
/* 09A728 80099B28 AC2515EC */ sw $a1, %lo(D_800E15EC)($at)
|
||||
/* 09A72C 80099B2C 8C46004C */ lw $a2, 0x4c($v0)
|
||||
/* 09A730 80099B30 3C01800E */ lui $at, %hi(D_800E1614) # $at, 0x800e
|
||||
/* 09A734 80099B34 AC261614 */ sw $a2, %lo(D_800E1614)($at)
|
||||
/* 09A730 80099B30 3C01800E */ lui $at, %hi(D_800E15EC+0x28) # $at, 0x800e
|
||||
/* 09A734 80099B34 AC261614 */ sw $a2, %lo(D_800E15EC+0x28)($at)
|
||||
/* 09A738 80099B38 8C470050 */ lw $a3, 0x50($v0)
|
||||
/* 09A73C 80099B3C 3C01800E */ lui $at, %hi(D_800E1644) # $at, 0x800e
|
||||
/* 09A740 80099B40 AC271644 */ sw $a3, %lo(D_800E1644)($at)
|
||||
/* 09A744 80099B44 8C490054 */ lw $t1, 0x54($v0)
|
||||
/* 09A748 80099B48 3C01800E */ lui $at, %hi(D_800E166C) # $at, 0x800e
|
||||
/* 09A74C 80099B4C AC29166C */ sw $t1, %lo(D_800E166C)($at)
|
||||
/* 09A748 80099B48 3C01800E */ lui $at, %hi(D_800E1644+0x28) # $at, 0x800e
|
||||
/* 09A74C 80099B4C AC29166C */ sw $t1, %lo(D_800E1644+0x28)($at)
|
||||
/* 09A750 80099B50 8C4A0058 */ lw $t2, 0x58($v0)
|
||||
/* 09A754 80099B54 3C01800E */ lui $at, %hi(D_800E169C) # $at, 0x800e
|
||||
/* 09A758 80099B58 24080001 */ li $t0, 1
|
||||
@@ -71,8 +71,8 @@ glabel menu_ghost_data_init
|
||||
/* 09A76C 80099B6C 310A0001 */ andi $t2, $t0, 1
|
||||
/* 09A770 80099B70 01460019 */ multu $t2, $a2
|
||||
/* 09A774 80099B74 8C4B005C */ lw $t3, 0x5c($v0)
|
||||
/* 09A778 80099B78 3C01800E */ lui $at, %hi(D_800E16C4) # $at, 0x800e
|
||||
/* 09A77C 80099B7C AC2B16C4 */ sw $t3, %lo(D_800E16C4)($at)
|
||||
/* 09A778 80099B78 3C01800E */ lui $at, %hi(D_800E169C+0x28) # $at, 0x800e
|
||||
/* 09A77C 80099B7C AC2B16C4 */ sw $t3, %lo(D_800E169C+0x28)($at)
|
||||
/* 09A780 80099B80 AFAB0048 */ sw $t3, 0x48($sp)
|
||||
/* 09A784 80099B84 3C0F800E */ lui $t7, %hi(D_800E153C) # $t7, 0x800e
|
||||
/* 09A788 80099B88 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
|
||||
@@ -1,147 +0,0 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E8284
|
||||
.word L80081464, L80081454, L8008158C, L800814C4, L8008158C, L80081504, L800814E4, L8008158C, L8008158C, L8008158C, L800814A4, L800814B4, L80081474, L80081484, L80081494, L800814F4, L8008158C, L80081514, L8008158C, L800814D4, L80081524, L80081534, L8008158C, L80081544, L80081554, L80081564, L80081574, L8008158C, L80081584
|
||||
|
||||
.text
|
||||
glabel menu_init
|
||||
/* 081FD0 800813D0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 081FD4 800813D4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 081FD8 800813D8 3C01800E */ lui $at, %hi(gCurrentMenuId) # $at, 0x800e
|
||||
/* 081FDC 800813DC 0C026F97 */ jal reset_controller_sticks
|
||||
/* 081FE0 800813E0 AC24F470 */ sw $a0, %lo(gCurrentMenuId)($at)
|
||||
/* 081FE4 800813E4 240E0001 */ li $t6, 1
|
||||
/* 081FE8 800813E8 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
|
||||
/* 081FEC 800813EC AC2E63C4 */ sw $t6, %lo(gIgnorePlayerInput)($at)
|
||||
/* 081FF0 800813F0 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012
|
||||
/* 081FF4 800813F4 AC2063BC */ sw $zero, %lo(D_801263BC)($at)
|
||||
/* 081FF8 800813F8 3C018012 */ lui $at, %hi(D_801263C8) # $at, 0x8012
|
||||
/* 081FFC 800813FC AC2063C8 */ sw $zero, %lo(D_801263C8)($at)
|
||||
/* 082000 80081400 3C018012 */ lui $at, %hi(D_80126828) # $at, 0x8012
|
||||
/* 082004 80081404 A0206828 */ sb $zero, %lo(D_80126828)($at)
|
||||
/* 082008 80081408 3C018012 */ lui $at, %hi(D_8012680C) # $at, 0x8012
|
||||
/* 08200C 8008140C AC206808 */ sw $zero, %lo(D_80126808)($at)
|
||||
/* 082010 80081410 AC20680C */ sw $zero, %lo(D_8012680C)($at)
|
||||
/* 082014 80081414 3C018012 */ lui $at, %hi(D_80126814) # $at, 0x8012
|
||||
/* 082018 80081418 AC206810 */ sw $zero, %lo(D_80126810)($at)
|
||||
/* 08201C 8008141C 0C000611 */ jal func_80001844
|
||||
/* 082020 80081420 AC206814 */ sw $zero, %lo(D_80126814)($at)
|
||||
/* 082024 80081424 3C0F800E */ lui $t7, %hi(gCurrentMenuId) # $t7, 0x800e
|
||||
/* 082028 80081428 8DEFF470 */ lw $t7, %lo(gCurrentMenuId)($t7)
|
||||
/* 08202C 8008142C 00000000 */ nop
|
||||
/* 082030 80081430 2DE1001D */ sltiu $at, $t7, 0x1d
|
||||
/* 082034 80081434 10200055 */ beqz $at, .L8008158C
|
||||
/* 082038 80081438 000F7880 */ sll $t7, $t7, 2
|
||||
/* 08203C 8008143C 3C01800F */ lui $at, %hi(jpt_800E8284) # $at, 0x800f
|
||||
/* 082040 80081440 002F0821 */ addu $at, $at, $t7
|
||||
/* 082044 80081444 8C2F8284 */ lw $t7, %lo(jpt_800E8284)($at)
|
||||
/* 082048 80081448 00000000 */ nop
|
||||
/* 08204C 8008144C 01E00008 */ jr $t7
|
||||
/* 082050 80081450 00000000 */ nop
|
||||
glabel L80081454
|
||||
/* 082054 80081454 0C020AAB */ jal menu_logos_screen_init
|
||||
/* 082058 80081458 00000000 */ nop
|
||||
/* 08205C 8008145C 1000004C */ b .L80081590
|
||||
/* 082060 80081460 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081464
|
||||
/* 082064 80081464 0C020D4F */ jal menu_title_screen_init
|
||||
/* 082068 80081468 00000000 */ nop
|
||||
/* 08206C 8008146C 10000048 */ b .L80081590
|
||||
/* 082070 80081470 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081474
|
||||
/* 082074 80081474 0C021057 */ jal menu_options_init
|
||||
/* 082078 80081478 00000000 */ nop
|
||||
/* 08207C 8008147C 10000044 */ b .L80081590
|
||||
/* 082080 80081480 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081484
|
||||
/* 082084 80081484 0C0211D5 */ jal menu_audio_options_init
|
||||
/* 082088 80081488 00000000 */ nop
|
||||
/* 08208C 8008148C 10000040 */ b .L80081590
|
||||
/* 082090 80081490 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081494
|
||||
/* 082094 80081494 0C02149C */ jal menu_save_options_init
|
||||
/* 082098 80081498 00000000 */ nop
|
||||
/* 08209C 8008149C 1000003C */ b .L80081590
|
||||
/* 0820A0 800814A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814A4
|
||||
/* 0820A4 800814A4 0C022577 */ jal menu_magic_codes_init
|
||||
/* 0820A8 800814A8 00000000 */ nop
|
||||
/* 0820AC 800814AC 10000038 */ b .L80081590
|
||||
/* 0820B0 800814B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814B4
|
||||
/* 0820B4 800814B4 0C02293A */ jal menu_magic_codes_list_init
|
||||
/* 0820B8 800814B8 00000000 */ nop
|
||||
/* 0820BC 800814BC 10000034 */ b .L80081590
|
||||
/* 0820C0 800814C0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814C4
|
||||
/* 0820C4 800814C4 0C022BF3 */ jal menu_character_select_init
|
||||
/* 0820C8 800814C8 00000000 */ nop
|
||||
/* 0820CC 800814CC 10000030 */ b .L80081590
|
||||
/* 0820D0 800814D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814D4
|
||||
/* 0820D4 800814D4 0C023142 */ jal menu_game_select_init
|
||||
/* 0820D8 800814D8 00000000 */ nop
|
||||
/* 0820DC 800814DC 1000002C */ b .L80081590
|
||||
/* 0820E0 800814E0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814E4
|
||||
/* 0820E4 800814E4 0C0232BF */ jal menu_file_select_init
|
||||
/* 0820E8 800814E8 00000000 */ nop
|
||||
/* 0820EC 800814EC 10000028 */ b .L80081590
|
||||
/* 0820F0 800814F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800814F4
|
||||
/* 0820F4 800814F4 0C0239E8 */ jal menu_track_select_init
|
||||
/* 0820F8 800814F8 00000000 */ nop
|
||||
/* 0820FC 800814FC 10000024 */ b .L80081590
|
||||
/* 082100 80081500 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081504
|
||||
/* 082104 80081504 0C024B21 */ jal menu_5_init
|
||||
/* 082108 80081508 00000000 */ nop
|
||||
/* 08210C 8008150C 10000020 */ b .L80081590
|
||||
/* 082110 80081510 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081514
|
||||
/* 082114 80081514 0C025A12 */ jal menu_11_init
|
||||
/* 082118 80081518 00000000 */ nop
|
||||
/* 08211C 8008151C 1000001C */ b .L80081590
|
||||
/* 082120 80081520 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081524
|
||||
/* 082124 80081524 0C02609B */ jal menu_trophy_race_round_init
|
||||
/* 082128 80081528 00000000 */ nop
|
||||
/* 08212C 8008152C 10000018 */ b .L80081590
|
||||
/* 082130 80081530 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081534
|
||||
/* 082134 80081534 0C026289 */ jal menu_trophy_race_rankings_init
|
||||
/* 082138 80081538 00000000 */ nop
|
||||
/* 08213C 8008153C 10000014 */ b .L80081590
|
||||
/* 082140 80081540 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081544
|
||||
/* 082144 80081544 0C026B26 */ jal menu_23_init
|
||||
/* 082148 80081548 00000000 */ nop
|
||||
/* 08214C 8008154C 10000010 */ b .L80081590
|
||||
/* 082150 80081550 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081554
|
||||
/* 082154 80081554 0C026697 */ jal menu_ghost_data_init
|
||||
/* 082158 80081558 00000000 */ nop
|
||||
/* 08215C 8008155C 1000000C */ b .L80081590
|
||||
/* 082160 80081560 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081564
|
||||
/* 082164 80081564 0C026BD2 */ jal menu_credits_init
|
||||
/* 082168 80081568 00000000 */ nop
|
||||
/* 08216C 8008156C 10000008 */ b .L80081590
|
||||
/* 082170 80081570 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081574
|
||||
/* 082174 80081574 0C02213D */ jal menu_boot_init
|
||||
/* 082178 80081578 00000000 */ nop
|
||||
/* 08217C 8008157C 10000004 */ b .L80081590
|
||||
/* 082180 80081580 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80081584
|
||||
/* 082184 80081584 0C0230ED */ jal menu_caution_init
|
||||
/* 082188 80081588 00000000 */ nop
|
||||
.L8008158C:
|
||||
glabel L8008158C
|
||||
/* 08218C 8008158C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80081590:
|
||||
/* 082190 80081590 3418D000 */ li $t8, 53248
|
||||
/* 082194 80081594 3C018012 */ lui $at, %hi(D_80126470) # $at, 0x8012
|
||||
/* 082198 80081598 AC386470 */ sw $t8, %lo(D_80126470)($at)
|
||||
/* 08219C 8008159C 03E00008 */ jr $ra
|
||||
/* 0821A0 800815A0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E838C
|
||||
.float 2.6
|
||||
glabel D_800E8390
|
||||
.float 2.17
|
||||
.word 0 # Padding
|
||||
glabel D_800E8398
|
||||
.double 510.0
|
||||
glabel D_800E83A0
|
||||
.double 510.0
|
||||
glabel D_800E83A8
|
||||
.double 510.0
|
||||
|
||||
.text
|
||||
glabel menu_logo_screen_loop
|
||||
/* 083784 80082B84 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000
|
||||
/* 083788 80082B88 8DCE0300 */ lw $t6, %lo(osTvType)($t6)
|
||||
/* 08378C 80082B8C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 083790 80082B90 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 083794 80082B94 15C00020 */ bnez $t6, .L80082C18
|
||||
/* 083798 80082B98 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 08379C 80082B9C 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 0837A0 80082BA0 C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 0837A4 80082BA4 3C01800F */ lui $at, %hi(D_800E838C) # $at, 0x800f
|
||||
/* 0837A8 80082BA8 C424838C */ lwc1 $f4, %lo(D_800E838C)($at)
|
||||
/* 0837AC 80082BAC 240F001A */ li $t7, 26
|
||||
/* 0837B0 80082BB0 4604003C */ c.lt.s $f0, $f4
|
||||
/* 0837B4 80082BB4 AFAF0028 */ sw $t7, 0x28($sp)
|
||||
/* 0837B8 80082BB8 4500000D */ bc1f .L80082BF0
|
||||
/* 0837BC 80082BBC 3C18800E */ lui $t8, %hi(gMenuDelay) # $t8, 0x800e
|
||||
/* 0837C0 80082BC0 8F18F47C */ lw $t8, %lo(gMenuDelay)($t8)
|
||||
/* 0837C4 80082BC4 3C04800E */ lui $a0, %hi(D_800E1DE8) # $a0, 0x800e
|
||||
/* 0837C8 80082BC8 1700000A */ bnez $t8, .L80082BF4
|
||||
/* 0837CC 80082BCC 8FA80030 */ lw $t0, 0x30($sp)
|
||||
/* 0837D0 80082BD0 0C030076 */ jal func_800C01D8
|
||||
/* 0837D4 80082BD4 24841DE8 */ addiu $a0, %lo(D_800E1DE8) # addiu $a0, $a0, 0x1de8
|
||||
/* 0837D8 80082BD8 24190001 */ li $t9, 1
|
||||
/* 0837DC 80082BDC 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
|
||||
/* 0837E0 80082BE0 AC39F47C */ sw $t9, %lo(gMenuDelay)($at)
|
||||
/* 0837E4 80082BE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 0837E8 80082BE8 C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 0837EC 80082BEC 00000000 */ nop
|
||||
.L80082BF0:
|
||||
/* 0837F0 80082BF0 8FA80030 */ lw $t0, 0x30($sp)
|
||||
.L80082BF4:
|
||||
/* 0837F4 80082BF4 3C014248 */ li $at, 0x42480000 # 50.000000
|
||||
/* 0837F8 80082BF8 44883000 */ mtc1 $t0, $f6
|
||||
/* 0837FC 80082BFC 44815000 */ mtc1 $at, $f10
|
||||
/* 083800 80082C00 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 083804 80082C04 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083808 80082C08 460A4403 */ div.s $f16, $f8, $f10
|
||||
/* 08380C 80082C0C 46100481 */ sub.s $f18, $f0, $f16
|
||||
/* 083810 80082C10 1000001F */ b .L80082C90
|
||||
/* 083814 80082C14 E4326450 */ swc1 $f18, %lo(D_80126450)($at)
|
||||
.L80082C18:
|
||||
/* 083818 80082C18 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 08381C 80082C1C C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 083820 80082C20 3C01800F */ lui $at, %hi(D_800E8390) # $at, 0x800f
|
||||
/* 083824 80082C24 C4248390 */ lwc1 $f4, %lo(D_800E8390)($at)
|
||||
/* 083828 80082C28 AFA00028 */ sw $zero, 0x28($sp)
|
||||
/* 08382C 80082C2C 4604003C */ c.lt.s $f0, $f4
|
||||
/* 083830 80082C30 3C09800E */ lui $t1, %hi(gMenuDelay) # $t1, 0x800e
|
||||
/* 083834 80082C34 4500000E */ bc1f .L80082C70
|
||||
/* 083838 80082C38 8FAB0030 */ lw $t3, 0x30($sp)
|
||||
/* 08383C 80082C3C 8D29F47C */ lw $t1, %lo(gMenuDelay)($t1)
|
||||
/* 083840 80082C40 3C04800E */ lui $a0, %hi(D_800E1DE8) # $a0, 0x800e
|
||||
/* 083844 80082C44 1520000A */ bnez $t1, .L80082C70
|
||||
/* 083848 80082C48 8FAB0030 */ lw $t3, 0x30($sp)
|
||||
/* 08384C 80082C4C 0C030076 */ jal func_800C01D8
|
||||
/* 083850 80082C50 24841DE8 */ addiu $a0, %lo(D_800E1DE8) # addiu $a0, $a0, 0x1de8
|
||||
/* 083854 80082C54 240A0001 */ li $t2, 1
|
||||
/* 083858 80082C58 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
|
||||
/* 08385C 80082C5C AC2AF47C */ sw $t2, %lo(gMenuDelay)($at)
|
||||
/* 083860 80082C60 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083864 80082C64 C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 083868 80082C68 00000000 */ nop
|
||||
/* 08386C 80082C6C 8FAB0030 */ lw $t3, 0x30($sp)
|
||||
.L80082C70:
|
||||
/* 083870 80082C70 3C014270 */ li $at, 0x42700000 # 60.000000
|
||||
/* 083874 80082C74 448B3000 */ mtc1 $t3, $f6
|
||||
/* 083878 80082C78 44815000 */ mtc1 $at, $f10
|
||||
/* 08387C 80082C7C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 083880 80082C80 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083884 80082C84 460A4403 */ div.s $f16, $f8, $f10
|
||||
/* 083888 80082C88 46100481 */ sub.s $f18, $f0, $f16
|
||||
/* 08388C 80082C8C E4326450 */ swc1 $f18, %lo(D_80126450)($at)
|
||||
.L80082C90:
|
||||
/* 083890 80082C90 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083894 80082C94 C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 083898 80082C98 44802000 */ mtc1 $zero, $f4
|
||||
/* 08389C 80082C9C 00002025 */ move $a0, $zero
|
||||
/* 0838A0 80082CA0 4604003E */ c.le.s $f0, $f4
|
||||
/* 0838A4 80082CA4 00000000 */ nop
|
||||
/* 0838A8 80082CA8 45000012 */ bc1f .L80082CF4
|
||||
/* 0838AC 80082CAC 3C014021 */ lui $at, 0x4021
|
||||
/* 0838B0 80082CB0 0C019A25 */ jal func_80066894
|
||||
/* 0838B4 80082CB4 00002825 */ move $a1, $zero
|
||||
/* 0838B8 80082CB8 340C8000 */ li $t4, 32768
|
||||
/* 0838BC 80082CBC AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 0838C0 80082CC0 00002025 */ move $a0, $zero
|
||||
/* 0838C4 80082CC4 34058000 */ li $a1, 32768
|
||||
/* 0838C8 80082CC8 34068000 */ li $a2, 32768
|
||||
/* 0838CC 80082CCC 0C019AAA */ jal func_80066AA8
|
||||
/* 0838D0 80082CD0 34078000 */ li $a3, 32768
|
||||
/* 0838D4 80082CD4 0C020BEB */ jal func_80082FAC
|
||||
/* 0838D8 80082CD8 00000000 */ nop
|
||||
/* 0838DC 80082CDC 0C0204F4 */ jal menu_init
|
||||
/* 0838E0 80082CE0 00002025 */ move $a0, $zero
|
||||
/* 0838E4 80082CE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 0838E8 80082CE8 C4206450 */ lwc1 $f0, %lo(D_80126450)($at)
|
||||
/* 0838EC 80082CEC 00000000 */ nop
|
||||
/* 0838F0 80082CF0 3C014021 */ li $at, 0x40210000 # 2.515625
|
||||
.L80082CF4:
|
||||
/* 0838F4 80082CF4 44814800 */ mtc1 $at, $f9
|
||||
/* 0838F8 80082CF8 44804000 */ mtc1 $zero, $f8
|
||||
/* 0838FC 80082CFC 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* 083900 80082D00 4628303C */ c.lt.d $f6, $f8
|
||||
/* 083904 80082D04 00000000 */ nop
|
||||
/* 083908 80082D08 450000A5 */ bc1f .L80082FA0
|
||||
/* 08390C 80082D0C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 083910 80082D10 0C0310BB */ jal set_text_font
|
||||
/* 083914 80082D14 24040001 */ li $a0, 1
|
||||
/* 083918 80082D18 00002025 */ move $a0, $zero
|
||||
/* 08391C 80082D1C 00002825 */ move $a1, $zero
|
||||
/* 083920 80082D20 00003025 */ move $a2, $zero
|
||||
/* 083924 80082D24 0C0310F3 */ jal set_text_background_color
|
||||
/* 083928 80082D28 00003825 */ move $a3, $zero
|
||||
/* 08392C 80082D2C 3C014020 */ li $at, 0x40200000 # 2.500000
|
||||
/* 083930 80082D30 44816800 */ mtc1 $at, $f13
|
||||
/* 083934 80082D34 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083938 80082D38 C42A6450 */ lwc1 $f10, %lo(D_80126450)($at)
|
||||
/* 08393C 80082D3C 44806000 */ mtc1 $zero, $f12
|
||||
/* 083940 80082D40 46005021 */ cvt.d.s $f0, $f10
|
||||
/* 083944 80082D44 462C003C */ c.lt.d $f0, $f12
|
||||
/* 083948 80082D48 3C01401E */ li $at, 0x401E0000 # 2.468750
|
||||
/* 08394C 80082D4C 45000018 */ bc1f .L80082DB0
|
||||
/* 083950 80082D50 240400FF */ li $a0, 255
|
||||
/* 083954 80082D54 44818800 */ mtc1 $at, $f17
|
||||
/* 083958 80082D58 44808000 */ mtc1 $zero, $f16
|
||||
/* 08395C 80082D5C 3C01800F */ lui $at, %hi(D_800E8398 + 4) # $at, 0x800f
|
||||
/* 083960 80082D60 4620803E */ c.le.d $f16, $f0
|
||||
/* 083964 80082D64 00000000 */ nop
|
||||
/* 083968 80082D68 45000011 */ bc1f .L80082DB0
|
||||
/* 08396C 80082D6C 00000000 */ nop
|
||||
/* 083970 80082D70 46206481 */ sub.d $f18, $f12, $f0
|
||||
/* 083974 80082D74 C4258398 */ lwc1 $f5, %lo(D_800E8398)($at)
|
||||
/* 083978 80082D78 C424839C */ lwc1 $f4, %lo(D_800E8398 + 4)($at)
|
||||
/* 08397C 80082D7C 00000000 */ nop
|
||||
/* 083980 80082D80 46249182 */ mul.d $f6, $f18, $f4
|
||||
/* 083984 80082D84 444DF800 */ cfc1 $t5, $31
|
||||
/* 083988 80082D88 00000000 */ nop
|
||||
/* 08398C 80082D8C 35A10003 */ ori $at, $t5, 3
|
||||
/* 083990 80082D90 38210002 */ xori $at, $at, 2
|
||||
/* 083994 80082D94 44C1F800 */ ctc1 $at, $31
|
||||
/* 083998 80082D98 00000000 */ nop
|
||||
/* 08399C 80082D9C 46203224 */ cvt.w.d $f8, $f6
|
||||
/* 0839A0 80082DA0 44024000 */ mfc1 $v0, $f8
|
||||
/* 0839A4 80082DA4 44CDF800 */ ctc1 $t5, $31
|
||||
/* 0839A8 80082DA8 10000020 */ b .L80082E2C
|
||||
/* 0839AC 80082DAC 00000000 */ nop
|
||||
.L80082DB0:
|
||||
/* 0839B0 80082DB0 3C01401E */ li $at, 0x401E0000 # 2.468750
|
||||
/* 0839B4 80082DB4 44815800 */ mtc1 $at, $f11
|
||||
/* 0839B8 80082DB8 44805000 */ mtc1 $zero, $f10
|
||||
/* 0839BC 80082DBC 3C01401C */ li $at, 0x401C0000 # 2.437500
|
||||
/* 0839C0 80082DC0 462A003C */ c.lt.d $f0, $f10
|
||||
/* 0839C4 80082DC4 00001025 */ move $v0, $zero
|
||||
/* 0839C8 80082DC8 45000018 */ bc1f .L80082E2C
|
||||
/* 0839CC 80082DCC 00000000 */ nop
|
||||
/* 0839D0 80082DD0 44811800 */ mtc1 $at, $f3
|
||||
/* 0839D4 80082DD4 44801000 */ mtc1 $zero, $f2
|
||||
/* 0839D8 80082DD8 3C01800F */ lui $at, %hi(D_800E83A0 + 4) # $at, 0x800f
|
||||
/* 0839DC 80082DDC 4620103E */ c.le.d $f2, $f0
|
||||
/* 0839E0 80082DE0 00000000 */ nop
|
||||
/* 0839E4 80082DE4 45000011 */ bc1f .L80082E2C
|
||||
/* 0839E8 80082DE8 00000000 */ nop
|
||||
/* 0839EC 80082DEC 46220401 */ sub.d $f16, $f0, $f2
|
||||
/* 0839F0 80082DF0 C43383A0 */ lwc1 $f19, %lo(D_800E83A0)($at)
|
||||
/* 0839F4 80082DF4 C43283A4 */ lwc1 $f18, %lo(D_800E83A0 + 4)($at)
|
||||
/* 0839F8 80082DF8 00000000 */ nop
|
||||
/* 0839FC 80082DFC 46328102 */ mul.d $f4, $f16, $f18
|
||||
/* 083A00 80082E00 444EF800 */ cfc1 $t6, $31
|
||||
/* 083A04 80082E04 00000000 */ nop
|
||||
/* 083A08 80082E08 35C10003 */ ori $at, $t6, 3
|
||||
/* 083A0C 80082E0C 38210002 */ xori $at, $at, 2
|
||||
/* 083A10 80082E10 44C1F800 */ ctc1 $at, $31
|
||||
/* 083A14 80082E14 00000000 */ nop
|
||||
/* 083A18 80082E18 462021A4 */ cvt.w.d $f6, $f4
|
||||
/* 083A1C 80082E1C 44023000 */ mfc1 $v0, $f6
|
||||
/* 083A20 80082E20 44CEF800 */ ctc1 $t6, $31
|
||||
/* 083A24 80082E24 10000001 */ b .L80082E2C
|
||||
/* 083A28 80082E28 00000000 */ nop
|
||||
.L80082E2C:
|
||||
/* 083A2C 80082E2C 10400033 */ beqz $v0, .L80082EFC
|
||||
/* 083A30 80082E30 240500FF */ li $a1, 255
|
||||
/* 083A34 80082E34 00003025 */ move $a2, $zero
|
||||
/* 083A38 80082E38 240700FF */ li $a3, 255
|
||||
/* 083A3C 80082E3C 0C0310E1 */ jal set_text_color
|
||||
/* 083A40 80082E40 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 083A44 80082E44 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 083A48 80082E48 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
|
||||
/* 083A4C 80082E4C 3C07800E */ lui $a3, %hi(gRareCopyrightString) # $a3, 0x800e
|
||||
/* 083A50 80082E50 240F000C */ li $t7, 12
|
||||
/* 083A54 80082E54 24C600D4 */ addiu $a2, $a2, 0xd4
|
||||
/* 083A58 80082E58 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 083A5C 80082E5C AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 083A60 80082E60 24E71DF0 */ addiu $a3, %lo(gRareCopyrightString) # addiu $a3, $a3, 0x1df0
|
||||
/* 083A64 80082E64 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
|
||||
/* 083A68 80082E68 0C031110 */ jal draw_text
|
||||
/* 083A6C 80082E6C 2405009F */ li $a1, 159
|
||||
/* 083A70 80082E70 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
|
||||
/* 083A74 80082E74 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 083A78 80082E78 3C07800E */ lui $a3, %hi(gRareCopyrightString) # $a3, 0x800e
|
||||
/* 083A7C 80082E7C 2418000C */ li $t8, 12
|
||||
/* 083A80 80082E80 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 083A84 80082E84 24E71DF0 */ addiu $a3, %lo(gRareCopyrightString) # addiu $a3, $a3, 0x1df0
|
||||
/* 083A88 80082E88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
|
||||
/* 083A8C 80082E8C 0C031110 */ jal draw_text
|
||||
/* 083A90 80082E90 240500A1 */ li $a1, 161
|
||||
/* 083A94 80082E94 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 083A98 80082E98 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
|
||||
/* 083A9C 80082E9C 3C07800E */ lui $a3, %hi(gRareCopyrightString) # $a3, 0x800e
|
||||
/* 083AA0 80082EA0 2419000C */ li $t9, 12
|
||||
/* 083AA4 80082EA4 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 083AA8 80082EA8 24E71DF0 */ addiu $a3, %lo(gRareCopyrightString) # addiu $a3, $a3, 0x1df0
|
||||
/* 083AAC 80082EAC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
|
||||
/* 083AB0 80082EB0 24058000 */ li $a1, -32768
|
||||
/* 083AB4 80082EB4 0C031110 */ jal draw_text
|
||||
/* 083AB8 80082EB8 24C600D3 */ addiu $a2, $a2, 0xd3
|
||||
/* 083ABC 80082EBC 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 083AC0 80082EC0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
|
||||
/* 083AC4 80082EC4 3C07800E */ lui $a3, %hi(gRareCopyrightString) # $a3, 0x800e
|
||||
/* 083AC8 80082EC8 2408000C */ li $t0, 12
|
||||
/* 083ACC 80082ECC AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 083AD0 80082ED0 24E71DF0 */ addiu $a3, %lo(gRareCopyrightString) # addiu $a3, $a3, 0x1df0
|
||||
/* 083AD4 80082ED4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
|
||||
/* 083AD8 80082ED8 24058000 */ li $a1, -32768
|
||||
/* 083ADC 80082EDC 0C031110 */ jal draw_text
|
||||
/* 083AE0 80082EE0 24C600D5 */ addiu $a2, $a2, 0xd5
|
||||
/* 083AE4 80082EE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012
|
||||
/* 083AE8 80082EE8 C4286450 */ lwc1 $f8, %lo(D_80126450)($at)
|
||||
/* 083AEC 80082EEC 3C014020 */ li $at, 0x40200000 # 2.500000
|
||||
/* 083AF0 80082EF0 44816800 */ mtc1 $at, $f13
|
||||
/* 083AF4 80082EF4 44806000 */ mtc1 $zero, $f12
|
||||
/* 083AF8 80082EF8 46004021 */ cvt.d.s $f0, $f8
|
||||
.L80082EFC:
|
||||
/* 083AFC 80082EFC 8FA90028 */ lw $t1, 0x28($sp)
|
||||
/* 083B00 80082F00 4620603C */ c.lt.d $f12, $f0
|
||||
/* 083B04 80082F04 252A00D4 */ addiu $t2, $t1, 0xd4
|
||||
/* 083B08 80082F08 45000014 */ bc1f .L80082F5C
|
||||
/* 083B0C 80082F0C AFAA0020 */ sw $t2, 0x20($sp)
|
||||
/* 083B10 80082F10 3C014021 */ li $at, 0x40210000 # 2.515625
|
||||
/* 083B14 80082F14 44815800 */ mtc1 $at, $f11
|
||||
/* 083B18 80082F18 44805000 */ mtc1 $zero, $f10
|
||||
/* 083B1C 80082F1C 3C01800F */ lui $at, %hi(D_800E83A8 + 4) # $at, 0x800f
|
||||
/* 083B20 80082F20 C43383A8 */ lwc1 $f19, %lo(D_800E83A8)($at)
|
||||
/* 083B24 80082F24 C43283AC */ lwc1 $f18, %lo(D_800E83A8 + 4)($at)
|
||||
/* 083B28 80082F28 46205401 */ sub.d $f16, $f10, $f0
|
||||
/* 083B2C 80082F2C 46328102 */ mul.d $f4, $f16, $f18
|
||||
/* 083B30 80082F30 444BF800 */ cfc1 $t3, $31
|
||||
/* 083B34 80082F34 00000000 */ nop
|
||||
/* 083B38 80082F38 35610003 */ ori $at, $t3, 3
|
||||
/* 083B3C 80082F3C 38210002 */ xori $at, $at, 2
|
||||
/* 083B40 80082F40 44C1F800 */ ctc1 $at, $31
|
||||
/* 083B44 80082F44 00000000 */ nop
|
||||
/* 083B48 80082F48 462021A4 */ cvt.w.d $f6, $f4
|
||||
/* 083B4C 80082F4C 44023000 */ mfc1 $v0, $f6
|
||||
/* 083B50 80082F50 44CBF800 */ ctc1 $t3, $31
|
||||
/* 083B54 80082F54 10000003 */ b .L80082F64
|
||||
/* 083B58 80082F58 240400FF */ li $a0, 255
|
||||
.L80082F5C:
|
||||
/* 083B5C 80082F5C 240200FF */ li $v0, 255
|
||||
/* 083B60 80082F60 240400FF */ li $a0, 255
|
||||
.L80082F64:
|
||||
/* 083B64 80082F64 240500FF */ li $a1, 255
|
||||
/* 083B68 80082F68 240600FF */ li $a2, 255
|
||||
/* 083B6C 80082F6C 240700FF */ li $a3, 255
|
||||
/* 083B70 80082F70 0C0310E1 */ jal set_text_color
|
||||
/* 083B74 80082F74 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 083B78 80082F78 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012
|
||||
/* 083B7C 80082F7C 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 083B80 80082F80 3C07800E */ lui $a3, %hi(gRareCopyrightString) # $a3, 0x800e
|
||||
/* 083B84 80082F84 240C000C */ li $t4, 12
|
||||
/* 083B88 80082F88 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 083B8C 80082F8C 24E71DF0 */ addiu $a3, %lo(gRareCopyrightString) # addiu $a3, $a3, 0x1df0
|
||||
/* 083B90 80082F90 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0
|
||||
/* 083B94 80082F94 0C031110 */ jal draw_text
|
||||
/* 083B98 80082F98 24058000 */ li $a1, -32768
|
||||
/* 083B9C 80082F9C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80082FA0:
|
||||
/* 083BA0 80082FA0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 083BA4 80082FA4 03E00008 */ jr $ra
|
||||
/* 083BA8 80082FA8 00001025 */ move $v0, $zero
|
||||
|
||||
@@ -274,8 +274,8 @@ glabel menu_magic_codes_loop
|
||||
/* 08ACB8 8008A0B8 8D296C30 */ lw $t1, %lo(gCheatsAssetData)($t1)
|
||||
/* 08ACBC 8008A0BC 256B6C4C */ addiu $t3, %lo(D_80126C4C) # addiu $t3, $t3, 0x6c4c
|
||||
/* 08ACC0 8008A0C0 A5600000 */ sh $zero, ($t3)
|
||||
/* 08ACC4 8008A0C4 3C0A8012 */ lui $t2, %hi(D_80126C38) # $t2, 0x8012
|
||||
/* 08ACC8 8008A0C8 8D4A6C38 */ lw $t2, %lo(D_80126C38)($t2)
|
||||
/* 08ACC4 8008A0C4 3C0A8012 */ lui $t2, %hi(gNumberOfCheats) # $t2, 0x8012
|
||||
/* 08ACC8 8008A0C8 8D4A6C38 */ lw $t2, %lo(gNumberOfCheats)($t2)
|
||||
/* 08ACCC 8008A0CC 85680000 */ lh $t0, ($t3)
|
||||
/* 08ACD0 8008A0D0 000AC040 */ sll $t8, $t2, 1
|
||||
/* 08ACD4 8008A0D4 0118082A */ slt $at, $t0, $t8
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
glabel func_8008BB3C
|
||||
glabel randomize_ai_racer_slots
|
||||
/* 08C73C 8008BB3C 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 08C740 8008BB40 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 08C744 8008BB44 AFB60030 */ sw $s6, 0x30($sp)
|
||||
@@ -5,7 +5,7 @@ glabel jpt_800E860C
|
||||
.word L8009E2D0, L8009E2F4, L8009E354, L8009E354, L8009E314, L8009E354, L8009E314, L8009E2E4, L8009E354, L8009E334
|
||||
|
||||
.text
|
||||
glabel func_8009DB3C
|
||||
glabel tt_menu_loop
|
||||
/* 09E73C 8009DB3C 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 09E740 8009DB40 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 09E744 8009DB44 0C01BAA4 */ jal get_settings
|
||||
@@ -1,48 +0,0 @@
|
||||
glabel func_8004C0A0
|
||||
/* 04CCA0 8004C0A0 80CE01D7 */ lb $t6, 0x1d7($a2)
|
||||
/* 04CCA4 8004C0A4 2401000A */ li $at, 10
|
||||
/* 04CCA8 8004C0A8 11C10023 */ beq $t6, $at, .L8004C138
|
||||
/* 04CCAC 8004C0AC 00803825 */ move $a3, $a0
|
||||
/* 04CCB0 8004C0B0 300F00FF */ andi $t7, $zero, 0xff
|
||||
/* 04CCB4 8004C0B4 15E00020 */ bnez $t7, .L8004C138
|
||||
/* 04CCB8 8004C0B8 A0C001F2 */ sb $zero, 0x1f2($a2)
|
||||
/* 04CCBC 8004C0BC 80C201E1 */ lb $v0, 0x1e1($a2)
|
||||
/* 04CCC0 8004C0C0 24190028 */ li $t9, 40
|
||||
/* 04CCC4 8004C0C4 0002C043 */ sra $t8, $v0, 1
|
||||
/* 04CCC8 8004C0C8 03381023 */ subu $v0, $t9, $t8
|
||||
/* 04CCCC 8004C0CC 04410002 */ bgez $v0, .L8004C0D8
|
||||
/* 04CCD0 8004C0D0 00073080 */ sll $a2, $a3, 2
|
||||
/* 04CCD4 8004C0D4 00001025 */ move $v0, $zero
|
||||
.L8004C0D8:
|
||||
/* 04CCD8 8004C0D8 2841004A */ slti $at, $v0, 0x4a
|
||||
/* 04CCDC 8004C0DC 14200002 */ bnez $at, .L8004C0E8
|
||||
/* 04CCE0 8004C0E0 00000000 */ nop
|
||||
/* 04CCE4 8004C0E4 24020049 */ li $v0, 73
|
||||
.L8004C0E8:
|
||||
/* 04CCE8 8004C0E8 84A40018 */ lh $a0, 0x18($a1)
|
||||
/* 04CCEC 8004C0EC 00000000 */ nop
|
||||
/* 04CCF0 8004C0F0 00441823 */ subu $v1, $v0, $a0
|
||||
/* 04CCF4 8004C0F4 18600006 */ blez $v1, .L8004C110
|
||||
/* 04CCF8 8004C0F8 00001025 */ move $v0, $zero
|
||||
/* 04CCFC 8004C0FC 00C71023 */ subu $v0, $a2, $a3
|
||||
/* 04CD00 8004C100 0062082A */ slt $at, $v1, $v0
|
||||
/* 04CD04 8004C104 10200002 */ beqz $at, .L8004C110
|
||||
/* 04CD08 8004C108 00000000 */ nop
|
||||
/* 04CD0C 8004C10C 00601025 */ move $v0, $v1
|
||||
.L8004C110:
|
||||
/* 04CD10 8004C110 04610007 */ bgez $v1, .L8004C130
|
||||
/* 04CD14 8004C114 00070823 */ negu $at, $a3
|
||||
/* 04CD18 8004C118 00013080 */ sll $a2, $at, 2
|
||||
/* 04CD1C 8004C11C 00C11023 */ subu $v0, $a2, $at
|
||||
/* 04CD20 8004C120 0043082A */ slt $at, $v0, $v1
|
||||
/* 04CD24 8004C124 10200003 */ beqz $at, .L8004C134
|
||||
/* 04CD28 8004C128 00824021 */ addu $t0, $a0, $v0
|
||||
/* 04CD2C 8004C12C 00601025 */ move $v0, $v1
|
||||
.L8004C130:
|
||||
/* 04CD30 8004C130 00824021 */ addu $t0, $a0, $v0
|
||||
.L8004C134:
|
||||
/* 04CD34 8004C134 A4A80018 */ sh $t0, 0x18($a1)
|
||||
.L8004C138:
|
||||
/* 04CD38 8004C138 03E00008 */ jr $ra
|
||||
/* 04CD3C 8004C13C 00000000 */ nop
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6550
|
||||
.double 0.7
|
||||
|
||||
.text
|
||||
glabel func_8004C140
|
||||
/* 04CD40 8004C140 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 04CD44 8004C144 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 04CD48 8004C148 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 04CD4C 8004C14C 84AE0000 */ lh $t6, ($a1)
|
||||
/* 04CD50 8004C150 2401FFFF */ li $at, -1
|
||||
/* 04CD54 8004C154 15C10003 */ bne $t6, $at, .L8004C164
|
||||
/* 04CD58 8004C158 00A08025 */ move $s0, $a1
|
||||
/* 04CD5C 8004C15C 10000003 */ b .L8004C16C
|
||||
/* 04CD60 8004C160 00001825 */ move $v1, $zero
|
||||
.L8004C164:
|
||||
/* 04CD64 8004C164 82030185 */ lb $v1, 0x185($s0)
|
||||
/* 04CD68 8004C168 00000000 */ nop
|
||||
.L8004C16C:
|
||||
/* 04CD6C 8004C16C 82020187 */ lb $v0, 0x187($s0)
|
||||
/* 04CD70 8004C170 00000000 */ nop
|
||||
/* 04CD74 8004C174 10400005 */ beqz $v0, .L8004C18C
|
||||
/* 04CD78 8004C178 00000000 */ nop
|
||||
/* 04CD7C 8004C17C 860F018E */ lh $t7, 0x18e($s0)
|
||||
/* 04CD80 8004C180 24010004 */ li $at, 4
|
||||
/* 04CD84 8004C184 19E00003 */ blez $t7, .L8004C194
|
||||
/* 04CD88 8004C188 00000000 */ nop
|
||||
.L8004C18C:
|
||||
/* 04CD8C 8004C18C 10000044 */ b .L8004C2A0
|
||||
/* 04CD90 8004C190 A2000187 */ sb $zero, 0x187($s0)
|
||||
.L8004C194:
|
||||
/* 04CD94 8004C194 10410008 */ beq $v0, $at, .L8004C1B8
|
||||
/* 04CD98 8004C198 02002825 */ move $a1, $s0
|
||||
/* 04CD9C 8004C19C 24060002 */ li $a2, 2
|
||||
/* 04CDA0 8004C1A0 A3A30027 */ sb $v1, 0x27($sp)
|
||||
/* 04CDA4 8004C1A4 0C015DB8 */ jal func_800576E0
|
||||
/* 04CDA8 8004C1A8 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 04CDAC 8004C1AC 83A30027 */ lb $v1, 0x27($sp)
|
||||
/* 04CDB0 8004C1B0 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* 04CDB4 8004C1B4 00000000 */ nop
|
||||
.L8004C1B8:
|
||||
/* 04CDB8 8004C1B8 921901C9 */ lbu $t9, 0x1c9($s0)
|
||||
/* 04CDBC 8004C1BC 24180168 */ li $t8, 360
|
||||
/* 04CDC0 8004C1C0 24010008 */ li $at, 8
|
||||
/* 04CDC4 8004C1C4 17210002 */ bne $t9, $at, .L8004C1D0
|
||||
/* 04CDC8 8004C1C8 A618018C */ sh $t8, 0x18c($s0)
|
||||
/* 04CDCC 8004C1CC A20001C9 */ sb $zero, 0x1c9($s0)
|
||||
.L8004C1D0:
|
||||
/* 04CDD0 8004C1D0 820801D6 */ lb $t0, 0x1d6($s0)
|
||||
/* 04CDD4 8004C1D4 240501C2 */ li $a1, 450
|
||||
/* 04CDD8 8004C1D8 29010005 */ slti $at, $t0, 5
|
||||
/* 04CDDC 8004C1DC 10200030 */ beqz $at, .L8004C2A0
|
||||
/* 04CDE0 8004C1E0 24060008 */ li $a2, 8
|
||||
/* 04CDE4 8004C1E4 24070081 */ li $a3, 129
|
||||
/* 04CDE8 8004C1E8 A3A30027 */ sb $v1, 0x27($sp)
|
||||
/* 04CDEC 8004C1EC 0C015C2E */ jal func_800570B8
|
||||
/* 04CDF0 8004C1F0 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 04CDF4 8004C1F4 82020187 */ lb $v0, 0x187($s0)
|
||||
/* 04CDF8 8004C1F8 83A30027 */ lb $v1, 0x27($sp)
|
||||
/* 04CDFC 8004C1FC 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* 04CE00 8004C200 24010001 */ li $at, 1
|
||||
/* 04CE04 8004C204 10410009 */ beq $v0, $at, .L8004C22C
|
||||
/* 04CE08 8004C208 24010002 */ li $at, 2
|
||||
/* 04CE0C 8004C20C 10410007 */ beq $v0, $at, .L8004C22C
|
||||
/* 04CE10 8004C210 24010003 */ li $at, 3
|
||||
/* 04CE14 8004C214 1041000C */ beq $v0, $at, .L8004C248
|
||||
/* 04CE18 8004C218 24010006 */ li $at, 6
|
||||
/* 04CE1C 8004C21C 10410011 */ beq $v0, $at, .L8004C264
|
||||
/* 04CE20 8004C220 240D0078 */ li $t5, 120
|
||||
/* 04CE24 8004C224 1000001E */ b .L8004C2A0
|
||||
/* 04CE28 8004C228 A2000187 */ sb $zero, 0x187($s0)
|
||||
.L8004C22C:
|
||||
/* 04CE2C 8004C22C 10600004 */ beqz $v1, .L8004C240
|
||||
/* 04CE30 8004C230 240A003C */ li $t2, 60
|
||||
/* 04CE34 8004C234 24090028 */ li $t1, 40
|
||||
/* 04CE38 8004C238 10000018 */ b .L8004C29C
|
||||
/* 04CE3C 8004C23C A20901DB */ sb $t1, 0x1db($s0)
|
||||
.L8004C240:
|
||||
/* 04CE40 8004C240 10000016 */ b .L8004C29C
|
||||
/* 04CE44 8004C244 A20A01DB */ sb $t2, 0x1db($s0)
|
||||
.L8004C248:
|
||||
/* 04CE48 8004C248 10600004 */ beqz $v1, .L8004C25C
|
||||
/* 04CE4C 8004C24C 240C003C */ li $t4, 60
|
||||
/* 04CE50 8004C250 240B0028 */ li $t3, 40
|
||||
/* 04CE54 8004C254 10000011 */ b .L8004C29C
|
||||
/* 04CE58 8004C258 A20B01DB */ sb $t3, 0x1db($s0)
|
||||
.L8004C25C:
|
||||
/* 04CE5C 8004C25C 1000000F */ b .L8004C29C
|
||||
/* 04CE60 8004C260 A20C01DB */ sb $t4, 0x1db($s0)
|
||||
.L8004C264:
|
||||
/* 04CE64 8004C264 3C01800E */ lui $at, %hi(D_800E6550 + 4) # $at, 0x800e
|
||||
/* 04CE68 8004C268 C4216550 */ lwc1 $f1, %lo(D_800E6550)($at)
|
||||
/* 04CE6C 8004C26C C4206554 */ lwc1 $f0, %lo(D_800E6550 + 4)($at)
|
||||
/* 04CE70 8004C270 A60D0204 */ sh $t5, 0x204($s0)
|
||||
/* 04CE74 8004C274 C484001C */ lwc1 $f4, 0x1c($a0)
|
||||
/* 04CE78 8004C278 C4900024 */ lwc1 $f16, 0x24($a0)
|
||||
/* 04CE7C 8004C27C 460021A1 */ cvt.d.s $f6, $f4
|
||||
/* 04CE80 8004C280 46203202 */ mul.d $f8, $f6, $f0
|
||||
/* 04CE84 8004C284 460084A1 */ cvt.d.s $f18, $f16
|
||||
/* 04CE88 8004C288 46209102 */ mul.d $f4, $f18, $f0
|
||||
/* 04CE8C 8004C28C 462042A0 */ cvt.s.d $f10, $f8
|
||||
/* 04CE90 8004C290 E48A001C */ swc1 $f10, 0x1c($a0)
|
||||
/* 04CE94 8004C294 462021A0 */ cvt.s.d $f6, $f4
|
||||
/* 04CE98 8004C298 E4860024 */ swc1 $f6, 0x24($a0)
|
||||
.L8004C29C:
|
||||
/* 04CE9C 8004C29C A2000187 */ sb $zero, 0x187($s0)
|
||||
.L8004C2A0:
|
||||
/* 04CEA0 8004C2A0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 04CEA4 8004C2A4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 04CEA8 8004C2A8 03E00008 */ jr $ra
|
||||
/* 04CEAC 8004C2AC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
glabel func_8004D95C
|
||||
/* 04E55C 8004D95C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 04E560 8004D960 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 04E564 8004D964 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 04E568 8004D968 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 04E56C 8004D96C AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 04E570 8004D970 8CEE0118 */ lw $t6, 0x118($a3)
|
||||
/* 04E574 8004D974 00C08025 */ move $s0, $a2
|
||||
/* 04E578 8004D978 11C00005 */ beqz $t6, .L8004D990
|
||||
/* 04E57C 8004D97C 00C02025 */ move $a0, $a2
|
||||
/* 04E580 8004D980 0C001AB2 */ jal func_80006AC8
|
||||
/* 04E584 8004D984 AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 04E588 8004D988 8FA70034 */ lw $a3, 0x34($sp)
|
||||
/* 04E58C 8004D98C 00000000 */ nop
|
||||
.L8004D990:
|
||||
/* 04E590 8004D990 0C008D07 */ jal func_8002341C
|
||||
/* 04E594 8004D994 AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 04E598 8004D998 8FA70034 */ lw $a3, 0x34($sp)
|
||||
/* 04E59C 8004D99C 10400008 */ beqz $v0, .L8004D9C0
|
||||
/* 04E5A0 8004D9A0 2408000A */ li $t0, 10
|
||||
/* 04E5A4 8004D9A4 80EF01D6 */ lb $t7, 0x1d6($a3)
|
||||
/* 04E5A8 8004D9A8 2401000A */ li $at, 10
|
||||
/* 04E5AC 8004D9AC 15E10004 */ bne $t7, $at, .L8004D9C0
|
||||
/* 04E5B0 8004D9B0 00000000 */ nop
|
||||
/* 04E5B4 8004D9B4 8E18004C */ lw $t8, 0x4c($s0)
|
||||
/* 04E5B8 8004D9B8 00000000 */ nop
|
||||
/* 04E5BC 8004D9BC A7000014 */ sh $zero, 0x14($t8)
|
||||
.L8004D9C0:
|
||||
/* 04E5C0 8004D9C0 86190018 */ lh $t9, 0x18($s0)
|
||||
/* 04E5C4 8004D9C4 02003025 */ move $a2, $s0
|
||||
/* 04E5C8 8004D9C8 A7B90026 */ sh $t9, 0x26($sp)
|
||||
/* 04E5CC 8004D9CC A0E801D6 */ sb $t0, 0x1d6($a3)
|
||||
/* 04E5D0 8004D9D0 8FA5002C */ lw $a1, 0x2c($sp)
|
||||
/* 04E5D4 8004D9D4 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* 04E5D8 8004D9D8 0C0125E5 */ jal func_80049794
|
||||
/* 04E5DC 8004D9DC AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 04E5E0 8004D9E0 8FA70034 */ lw $a3, 0x34($sp)
|
||||
/* 04E5E4 8004D9E4 2401000A */ li $at, 10
|
||||
/* 04E5E8 8004D9E8 80E901D7 */ lb $t1, 0x1d7($a3)
|
||||
/* 04E5EC 8004D9EC 00000000 */ nop
|
||||
/* 04E5F0 8004D9F0 A0E901D6 */ sb $t1, 0x1d6($a3)
|
||||
/* 04E5F4 8004D9F4 A200003B */ sb $zero, 0x3b($s0)
|
||||
/* 04E5F8 8004D9F8 80EA01D6 */ lb $t2, 0x1d6($a3)
|
||||
/* 04E5FC 8004D9FC 00000000 */ nop
|
||||
/* 04E600 8004DA00 15410028 */ bne $t2, $at, .L8004DAA4
|
||||
/* 04E604 8004DA04 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 04E608 8004DA08 8CE20154 */ lw $v0, 0x154($a3)
|
||||
/* 04E60C 8004DA0C 00000000 */ nop
|
||||
/* 04E610 8004DA10 10400024 */ beqz $v0, .L8004DAA4
|
||||
/* 04E614 8004DA14 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 04E618 8004DA18 C604000C */ lwc1 $f4, 0xc($s0)
|
||||
/* 04E61C 8004DA1C 02002025 */ move $a0, $s0
|
||||
/* 04E620 8004DA20 E444000C */ swc1 $f4, 0xc($v0)
|
||||
/* 04E624 8004DA24 8CEB0154 */ lw $t3, 0x154($a3)
|
||||
/* 04E628 8004DA28 C6060010 */ lwc1 $f6, 0x10($s0)
|
||||
/* 04E62C 8004DA2C 00000000 */ nop
|
||||
/* 04E630 8004DA30 E5660010 */ swc1 $f6, 0x10($t3)
|
||||
/* 04E634 8004DA34 8CEC0154 */ lw $t4, 0x154($a3)
|
||||
/* 04E638 8004DA38 C6080014 */ lwc1 $f8, 0x14($s0)
|
||||
/* 04E63C 8004DA3C 00000000 */ nop
|
||||
/* 04E640 8004DA40 E5880014 */ swc1 $f8, 0x14($t4)
|
||||
/* 04E644 8004DA44 8CEE0154 */ lw $t6, 0x154($a3)
|
||||
/* 04E648 8004DA48 860D002E */ lh $t5, 0x2e($s0)
|
||||
/* 04E64C 8004DA4C 00000000 */ nop
|
||||
/* 04E650 8004DA50 A5CD002E */ sh $t5, 0x2e($t6)
|
||||
/* 04E654 8004DA54 8CF80154 */ lw $t8, 0x154($a3)
|
||||
/* 04E658 8004DA58 860F0000 */ lh $t7, ($s0)
|
||||
/* 04E65C 8004DA5C 00000000 */ nop
|
||||
/* 04E660 8004DA60 A70F0000 */ sh $t7, ($t8)
|
||||
/* 04E664 8004DA64 8CE80154 */ lw $t0, 0x154($a3)
|
||||
/* 04E668 8004DA68 86190002 */ lh $t9, 2($s0)
|
||||
/* 04E66C 8004DA6C 00000000 */ nop
|
||||
/* 04E670 8004DA70 A5190002 */ sh $t9, 2($t0)
|
||||
/* 04E674 8004DA74 8CEA0154 */ lw $t2, 0x154($a3)
|
||||
/* 04E678 8004DA78 86090004 */ lh $t1, 4($s0)
|
||||
/* 04E67C 8004DA7C 00000000 */ nop
|
||||
/* 04E680 8004DA80 A5490004 */ sh $t1, 4($t2)
|
||||
/* 04E684 8004DA84 A200003B */ sb $zero, 0x3b($s0)
|
||||
/* 04E688 8004DA88 8FAC0028 */ lw $t4, 0x28($sp)
|
||||
/* 04E68C 8004DA8C 87AB0026 */ lh $t3, 0x26($sp)
|
||||
/* 04E690 8004DA90 00000000 */ nop
|
||||
/* 04E694 8004DA94 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 04E698 8004DA98 0C018703 */ jal func_80061C0C
|
||||
/* 04E69C 8004DA9C A60D0018 */ sh $t5, 0x18($s0)
|
||||
/* 04E6A0 8004DAA0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8004DAA4:
|
||||
/* 04E6A4 8004DAA4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 04E6A8 8004DAA8 03E00008 */ jr $ra
|
||||
/* 04E6AC 8004DAAC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6750
|
||||
.double 1.8
|
||||
glabel D_800E6758
|
||||
.float 1.8
|
||||
.word 0 # Padding
|
||||
glabel D_800E6760
|
||||
.double 0.2
|
||||
|
||||
.text
|
||||
glabel func_80053478
|
||||
/* 054078 80053478 C480002C */ lwc1 $f0, 0x2c($a0)
|
||||
/* 05407C 8005347C 44806800 */ mtc1 $zero, $f13
|
||||
/* 054080 80053480 44806000 */ mtc1 $zero, $f12
|
||||
/* 054084 80053484 460000A1 */ cvt.d.s $f2, $f0
|
||||
/* 054088 80053488 462C103C */ c.lt.d $f2, $f12
|
||||
/* 05408C 8005348C 3C01800E */ lui $at, %hi(D_800E6750 + 4) # $at, 0x800e
|
||||
/* 054090 80053490 45000003 */ bc1f .L800534A0
|
||||
/* 054094 80053494 00000000 */ nop
|
||||
/* 054098 80053498 46000007 */ neg.s $f0, $f0
|
||||
/* 05409C 8005349C 460000A1 */ cvt.d.s $f2, $f0
|
||||
.L800534A0:
|
||||
/* 0540A0 800534A0 C4256750 */ lwc1 $f5, %lo(D_800E6750)($at)
|
||||
/* 0540A4 800534A4 C4246754 */ lwc1 $f4, %lo(D_800E6750 + 4)($at)
|
||||
/* 0540A8 800534A8 3C01800E */ lui $at, %hi(D_800E6758) # $at, 0x800e
|
||||
/* 0540AC 800534AC 4622203C */ c.lt.d $f4, $f2
|
||||
/* 0540B0 800534B0 00000000 */ nop
|
||||
/* 0540B4 800534B4 45000004 */ bc1f .L800534C8
|
||||
/* 0540B8 800534B8 00000000 */ nop
|
||||
/* 0540BC 800534BC C4206758 */ lwc1 $f0, %lo(D_800E6758)($at)
|
||||
/* 0540C0 800534C0 00000000 */ nop
|
||||
/* 0540C4 800534C4 460000A1 */ cvt.d.s $f2, $f0
|
||||
.L800534C8:
|
||||
/* 0540C8 800534C8 3C01800E */ lui $at, %hi(D_800E6760 + 4) # $at, 0x800e
|
||||
/* 0540CC 800534CC C4276760 */ lwc1 $f7, %lo(D_800E6760)($at)
|
||||
/* 0540D0 800534D0 C4266764 */ lwc1 $f6, %lo(D_800E6760 + 4)($at)
|
||||
/* 0540D4 800534D4 3C014268 */ li $at, 0x42680000 # 58.000000
|
||||
/* 0540D8 800534D8 46261201 */ sub.d $f8, $f2, $f6
|
||||
/* 0540DC 800534DC 46204020 */ cvt.s.d $f0, $f8
|
||||
/* 0540E0 800534E0 460002A1 */ cvt.d.s $f10, $f0
|
||||
/* 0540E4 800534E4 462C503C */ c.lt.d $f10, $f12
|
||||
/* 0540E8 800534E8 00000000 */ nop
|
||||
/* 0540EC 800534EC 45000003 */ bc1f .L800534FC
|
||||
/* 0540F0 800534F0 00000000 */ nop
|
||||
/* 0540F4 800534F4 44800000 */ mtc1 $zero, $f0
|
||||
/* 0540F8 800534F8 00000000 */ nop
|
||||
.L800534FC:
|
||||
/* 0540FC 800534FC 808E01E6 */ lb $t6, 0x1e6($a0)
|
||||
/* 054100 80053500 00000000 */ nop
|
||||
/* 054104 80053504 11C00010 */ beqz $t6, .L80053548
|
||||
/* 054108 80053508 00000000 */ nop
|
||||
/* 05410C 8005350C 3C014288 */ li $at, 0x42880000 # 68.000000
|
||||
/* 054110 80053510 44818000 */ mtc1 $at, $f16
|
||||
/* 054114 80053514 00000000 */ nop
|
||||
/* 054118 80053518 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 05411C 8005351C 444FF800 */ cfc1 $t7, $31
|
||||
/* 054120 80053520 00000000 */ nop
|
||||
/* 054124 80053524 35E10003 */ ori $at, $t7, 3
|
||||
/* 054128 80053528 38210002 */ xori $at, $at, 2
|
||||
/* 05412C 8005352C 44C1F800 */ ctc1 $at, $31
|
||||
/* 054130 80053530 00000000 */ nop
|
||||
/* 054134 80053534 46009124 */ cvt.w.s $f4, $f18
|
||||
/* 054138 80053538 44022000 */ mfc1 $v0, $f4
|
||||
/* 05413C 8005353C 44CFF800 */ ctc1 $t7, $31
|
||||
/* 054140 80053540 1000000F */ b .L80053580
|
||||
/* 054144 80053544 808801E1 */ lb $t0, 0x1e1($a0)
|
||||
.L80053548:
|
||||
/* 054148 80053548 44813000 */ mtc1 $at, $f6
|
||||
/* 05414C 8005354C 00000000 */ nop
|
||||
/* 054150 80053550 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 054154 80053554 4458F800 */ cfc1 $t8, $31
|
||||
/* 054158 80053558 00000000 */ nop
|
||||
/* 05415C 8005355C 37010003 */ ori $at, $t8, 3
|
||||
/* 054160 80053560 38210002 */ xori $at, $at, 2
|
||||
/* 054164 80053564 44C1F800 */ ctc1 $at, $31
|
||||
/* 054168 80053568 00000000 */ nop
|
||||
/* 05416C 8005356C 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 054170 80053570 44D8F800 */ ctc1 $t8, $31
|
||||
/* 054174 80053574 44025000 */ mfc1 $v0, $f10
|
||||
/* 054178 80053578 00000000 */ nop
|
||||
/* 05417C 8005357C 808801E1 */ lb $t0, 0x1e1($a0)
|
||||
.L80053580:
|
||||
/* 054180 80053580 3C038012 */ lui $v1, %hi(D_8011D554) # $v1, 0x8012
|
||||
/* 054184 80053584 01020019 */ multu $t0, $v0
|
||||
/* 054188 80053588 2463D554 */ addiu $v1, %lo(D_8011D554) # addiu $v1, $v1, -0x2aac
|
||||
/* 05418C 8005358C 8C790000 */ lw $t9, ($v1)
|
||||
/* 054190 80053590 44808000 */ mtc1 $zero, $f16
|
||||
/* 054194 80053594 00004812 */ mflo $t1
|
||||
/* 054198 80053598 03295023 */ subu $t2, $t9, $t1
|
||||
/* 05419C 8005359C AC6A0000 */ sw $t2, ($v1)
|
||||
/* 0541A0 800535A0 C492002C */ lwc1 $f18, 0x2c($a0)
|
||||
/* 0541A4 800535A4 000A6023 */ negu $t4, $t2
|
||||
/* 0541A8 800535A8 4612803C */ c.lt.s $f16, $f18
|
||||
/* 0541AC 800535AC 00000000 */ nop
|
||||
/* 0541B0 800535B0 45000002 */ bc1f .L800535BC
|
||||
/* 0541B4 800535B4 00000000 */ nop
|
||||
/* 0541B8 800535B8 AC6C0000 */ sw $t4, ($v1)
|
||||
.L800535BC:
|
||||
/* 0541BC 800535BC 03E00008 */ jr $ra
|
||||
/* 0541C0 800535C0 00000000 */ nop
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
glabel func_800575EC
|
||||
/* 0581EC 800575EC 27BDFF88 */ addiu $sp, $sp, -0x78
|
||||
/* 0581F0 800575F0 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 0581F4 800575F4 00A08025 */ move $s0, $a1
|
||||
/* 0581F8 800575F8 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 0581FC 800575FC E7B50028 */ swc1 $f21, 0x28($sp)
|
||||
/* 058200 80057600 E7B4002C */ swc1 $f20, 0x2c($sp)
|
||||
/* 058204 80057604 848E0000 */ lh $t6, ($a0)
|
||||
/* 058208 80057608 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012
|
||||
/* 05820C 8005760C 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0
|
||||
/* 058210 80057610 A4AE0000 */ sh $t6, ($a1)
|
||||
/* 058214 80057614 848F0002 */ lh $t7, 2($a0)
|
||||
/* 058218 80057618 4480A000 */ mtc1 $zero, $f20
|
||||
/* 05821C 8005761C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 058220 80057620 44812000 */ mtc1 $at, $f4
|
||||
/* 058224 80057624 A4A00004 */ sh $zero, 4($a1)
|
||||
/* 058228 80057628 27A40038 */ addiu $a0, $sp, 0x38
|
||||
/* 05822C 8005762C A4AF0002 */ sh $t7, 2($a1)
|
||||
/* 058230 80057630 E4B4000C */ swc1 $f20, 0xc($a1)
|
||||
/* 058234 80057634 E4B40010 */ swc1 $f20, 0x10($a1)
|
||||
/* 058238 80057638 E4B40014 */ swc1 $f20, 0x14($a1)
|
||||
/* 05823C 8005763C 0C01BF0C */ jal func_8006FC30
|
||||
/* 058240 80057640 E4A40008 */ swc1 $f4, 8($a1)
|
||||
/* 058244 80057644 4405A000 */ mfc1 $a1, $f20
|
||||
/* 058248 80057648 4406A000 */ mfc1 $a2, $f20
|
||||
/* 05824C 8005764C 26180038 */ addiu $t8, $s0, 0x38
|
||||
/* 058250 80057650 2619003C */ addiu $t9, $s0, 0x3c
|
||||
/* 058254 80057654 26080040 */ addiu $t0, $s0, 0x40
|
||||
/* 058258 80057658 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 05825C 8005765C AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* 058260 80057660 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 058264 80057664 27A40038 */ addiu $a0, $sp, 0x38
|
||||
/* 058268 80057668 0C01BD93 */ jal guMtxXFMF
|
||||
/* 05826C 8005766C 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 058270 80057670 4405A000 */ mfc1 $a1, $f20
|
||||
/* 058274 80057674 4407A000 */ mfc1 $a3, $f20
|
||||
/* 058278 80057678 26090044 */ addiu $t1, $s0, 0x44
|
||||
/* 05827C 8005767C 260A0048 */ addiu $t2, $s0, 0x48
|
||||
/* 058280 80057680 260B004C */ addiu $t3, $s0, 0x4c
|
||||
/* 058284 80057684 AFAB0018 */ sw $t3, 0x18($sp)
|
||||
/* 058288 80057688 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
/* 05828C 8005768C AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 058290 80057690 27A40038 */ addiu $a0, $sp, 0x38
|
||||
/* 058294 80057694 0C01BD93 */ jal guMtxXFMF
|
||||
/* 058298 80057698 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 05829C 8005769C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 0582A0 800576A0 4407A000 */ mfc1 $a3, $f20
|
||||
/* 0582A4 800576A4 260C0050 */ addiu $t4, $s0, 0x50
|
||||
/* 0582A8 800576A8 260D0054 */ addiu $t5, $s0, 0x54
|
||||
/* 0582AC 800576AC 260E0058 */ addiu $t6, $s0, 0x58
|
||||
/* 0582B0 800576B0 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 0582B4 800576B4 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* 0582B8 800576B8 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 0582BC 800576BC 27A40038 */ addiu $a0, $sp, 0x38
|
||||
/* 0582C0 800576C0 0C01BD93 */ jal guMtxXFMF
|
||||
/* 0582C4 800576C4 3C053F80 */ lui $a1, 0x3f80
|
||||
/* 0582C8 800576C8 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0582CC 800576CC C7B50028 */ lwc1 $f21, 0x28($sp)
|
||||
/* 0582D0 800576D0 C7B4002C */ lwc1 $f20, 0x2c($sp)
|
||||
/* 0582D4 800576D4 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 0582D8 800576D8 03E00008 */ jr $ra
|
||||
/* 0582DC 800576DC 27BD0078 */ addiu $sp, $sp, 0x78
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
glabel func_800580B4
|
||||
/* 058CB4 800580B4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 058CB8 800580B8 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012
|
||||
/* 058CBC 800580BC 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6)
|
||||
/* 058CC0 800580C0 AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 058CC4 800580C4 2401FFFF */ li $at, -1
|
||||
/* 058CC8 800580C8 00C03825 */ move $a3, $a2
|
||||
/* 058CCC 800580CC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 058CD0 800580D0 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 058CD4 800580D4 11C10040 */ beq $t6, $at, .L800581D8
|
||||
/* 058CD8 800580D8 AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 058CDC 800580DC 80AF01D8 */ lb $t7, 0x1d8($a1)
|
||||
/* 058CE0 800580E0 24010001 */ li $at, 1
|
||||
/* 058CE4 800580E4 11E1003C */ beq $t7, $at, .L800581D8
|
||||
/* 058CE8 800580E8 3C038012 */ lui $v1, %hi(gCameraObject) # $v1, 0x8012
|
||||
/* 058CEC 800580EC 2463D508 */ addiu $v1, %lo(gCameraObject) # addiu $v1, $v1, -0x2af8
|
||||
/* 058CF0 800580F0 8C780000 */ lw $t8, ($v1)
|
||||
/* 058CF4 800580F4 00000000 */ nop
|
||||
/* 058CF8 800580F8 87190036 */ lh $t9, 0x36($t8)
|
||||
/* 058CFC 800580FC 00000000 */ nop
|
||||
/* 058D00 80058100 10D90036 */ beq $a2, $t9, .L800581DC
|
||||
/* 058D04 80058104 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 058D08 80058108 8FA60034 */ lw $a2, 0x34($sp)
|
||||
/* 058D0C 8005810C AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 058D10 80058110 0C015E90 */ jal func_80057A40
|
||||
/* 058D14 80058114 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* 058D18 80058118 3C038012 */ lui $v1, %hi(gCameraObject) # $v1, 0x8012
|
||||
/* 058D1C 8005811C 2463D508 */ addiu $v1, %lo(gCameraObject) # addiu $v1, $v1, -0x2af8
|
||||
/* 058D20 80058120 8C620000 */ lw $v0, ($v1)
|
||||
/* 058D24 80058124 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 058D28 80058128 C444000C */ lwc1 $f4, 0xc($v0)
|
||||
/* 058D2C 8005812C 8FA5002C */ lw $a1, 0x2c($sp)
|
||||
/* 058D30 80058130 E7A40024 */ swc1 $f4, 0x24($sp)
|
||||
/* 058D34 80058134 C4460010 */ lwc1 $f6, 0x10($v0)
|
||||
/* 058D38 80058138 00000000 */ nop
|
||||
/* 058D3C 8005813C E7A60020 */ swc1 $f6, 0x20($sp)
|
||||
/* 058D40 80058140 C4480014 */ lwc1 $f8, 0x14($v0)
|
||||
/* 058D44 80058144 00000000 */ nop
|
||||
/* 058D48 80058148 E7A8001C */ swc1 $f8, 0x1c($sp)
|
||||
/* 058D4C 8005814C A4470036 */ sh $a3, 0x36($v0)
|
||||
/* 058D50 80058150 8FA60034 */ lw $a2, 0x34($sp)
|
||||
/* 058D54 80058154 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* 058D58 80058158 0C015E90 */ jal func_80057A40
|
||||
/* 058D5C 8005815C 00000000 */ nop
|
||||
/* 058D60 80058160 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012
|
||||
/* 058D64 80058164 8D08D540 */ lw $t0, %lo(D_8011D540)($t0)
|
||||
/* 058D68 80058168 3C038012 */ lui $v1, %hi(gCameraObject) # $v1, 0x8012
|
||||
/* 058D6C 8005816C 1500001A */ bnez $t0, .L800581D8
|
||||
/* 058D70 80058170 2463D508 */ addiu $v1, %lo(gCameraObject) # addiu $v1, $v1, -0x2af8
|
||||
/* 058D74 80058174 3C098012 */ lui $t1, %hi(D_8011D582) # $t1, 0x8012
|
||||
/* 058D78 80058178 8129D582 */ lb $t1, %lo(D_8011D582)($t1)
|
||||
/* 058D7C 8005817C 00000000 */ nop
|
||||
/* 058D80 80058180 15200016 */ bnez $t1, .L800581DC
|
||||
/* 058D84 80058184 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 058D88 80058188 8C620000 */ lw $v0, ($v1)
|
||||
/* 058D8C 8005818C C7AA0024 */ lwc1 $f10, 0x24($sp)
|
||||
/* 058D90 80058190 C450000C */ lwc1 $f16, 0xc($v0)
|
||||
/* 058D94 80058194 00000000 */ nop
|
||||
/* 058D98 80058198 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 058D9C 8005819C E4520024 */ swc1 $f18, 0x24($v0)
|
||||
/* 058DA0 800581A0 8C620000 */ lw $v0, ($v1)
|
||||
/* 058DA4 800581A4 C7AA0020 */ lwc1 $f10, 0x20($sp)
|
||||
/* 058DA8 800581A8 C4440010 */ lwc1 $f4, 0x10($v0)
|
||||
/* 058DAC 800581AC C4460030 */ lwc1 $f6, 0x30($v0)
|
||||
/* 058DB0 800581B0 00000000 */ nop
|
||||
/* 058DB4 800581B4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 058DB8 800581B8 46085401 */ sub.s $f16, $f10, $f8
|
||||
/* 058DBC 800581BC E4500028 */ swc1 $f16, 0x28($v0)
|
||||
/* 058DC0 800581C0 8C620000 */ lw $v0, ($v1)
|
||||
/* 058DC4 800581C4 C7B2001C */ lwc1 $f18, 0x1c($sp)
|
||||
/* 058DC8 800581C8 C4440014 */ lwc1 $f4, 0x14($v0)
|
||||
/* 058DCC 800581CC 00000000 */ nop
|
||||
/* 058DD0 800581D0 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 058DD4 800581D4 E446002C */ swc1 $f6, 0x2c($v0)
|
||||
.L800581D8:
|
||||
/* 058DD8 800581D8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800581DC:
|
||||
/* 058DDC 800581DC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 058DE0 800581E0 03E00008 */ jr $ra
|
||||
/* 058DE4 800581E4 00000000 */ nop
|
||||
|
||||
+614
-82
File diff suppressed because it is too large
Load Diff
-14
@@ -486,20 +486,6 @@ extern s16 D_800E13A8[138];
|
||||
|
||||
extern s16* D_800E14BC[32];
|
||||
|
||||
// Not sure what these arrays are supposed to be
|
||||
extern s32 D_800E153C[10];
|
||||
extern s32 D_800E1564[12];
|
||||
extern s32 D_800E1594[10];
|
||||
extern s32 D_800E15BC[12];
|
||||
extern s32 D_800E15EC[10];
|
||||
extern s32 D_800E1614[12];
|
||||
extern s32 D_800E1644[10];
|
||||
extern s32 D_800E166C[12];
|
||||
extern s32 D_800E169C[10];
|
||||
extern s32 D_800E16C4[12];
|
||||
|
||||
extern s32 *D_800E16F4[5];
|
||||
|
||||
extern s16 D_800E1708[34];
|
||||
|
||||
extern s16 D_800E174C[4];
|
||||
|
||||
+367
-8
@@ -147,7 +147,29 @@ const char D_800E62A0[] = "Back\n";
|
||||
s32 D_8011D4F0[2];
|
||||
s32 D_8011D4F8[3];
|
||||
s32 D_8011D504;
|
||||
Object *gCameraObject;
|
||||
|
||||
typedef struct ObjectCamera {
|
||||
/* 0x0000 */ s16 y_rotation;
|
||||
/* 0x0002 */ s16 x_rotation;
|
||||
/* 0x0004 */ s16 z_rotation;
|
||||
/* 0x0006 */ s16 unk6;
|
||||
/* 0x0008 */ f32 scale;
|
||||
/* 0x000C */ f32 x_position;
|
||||
/* 0x0010 */ f32 y_position;
|
||||
/* 0x0014 */ f32 z_position;
|
||||
u8 pad18[0xC];
|
||||
/* 0x0024 */ f32 unk24;
|
||||
/* 0x0028 */ f32 unk28;
|
||||
/* 0x002C */ f32 unk2C;
|
||||
/* 0x0030 */ f32 unk30;
|
||||
s16 unk34;
|
||||
/* 0x0036 */ s16 unk36;
|
||||
} ObjectCamera;
|
||||
|
||||
ObjectCamera *gCameraObject;
|
||||
|
||||
|
||||
|
||||
s32 D_8011D50C;
|
||||
|
||||
/* Size: 0x18 bytes */
|
||||
@@ -221,6 +243,9 @@ s8 D_8011D5BC;
|
||||
|
||||
/******************************/
|
||||
|
||||
void func_80011570(Object *, f32, f32, f32);
|
||||
void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3);
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80042D20.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80043ECC.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80044170.s")
|
||||
@@ -238,12 +263,166 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80048C7C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80048E64.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800494E0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80049794.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004C0A0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004C140.s")
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct Object_64_8004C0A0 {
|
||||
u8 pad0[0x1D7];
|
||||
s8 unk1D7;
|
||||
u8 pad1D8[9];
|
||||
s8 unk1E1;
|
||||
u8 pad1E2[0x10];
|
||||
u8 unk1F2;
|
||||
} Object_64_8004C0A0;
|
||||
|
||||
// Something Plane related.
|
||||
void func_8004C0A0(s32 arg0, Object *planeObj, Object_64_8004C0A0 *planeObj64) {
|
||||
s32 temp_v1;
|
||||
s32 phi_v0;
|
||||
|
||||
if (planeObj64->unk1D7 != 10) {
|
||||
//!@bug Typo. Should've been `== 0`, not `= 0`.
|
||||
if (planeObj64->unk1F2 = 0) {
|
||||
return; // This never gets called because of the typo.
|
||||
}
|
||||
phi_v0 = planeObj64->unk1E1;
|
||||
phi_v0 = 40 - (phi_v0 >> 1);
|
||||
if (phi_v0 < 0) {
|
||||
phi_v0 = 0;
|
||||
}
|
||||
if (phi_v0 >= 0x4A) {
|
||||
phi_v0 = 0x49;
|
||||
}
|
||||
temp_v1 = phi_v0 - planeObj->unk18;
|
||||
phi_v0 = 0;
|
||||
if (temp_v1 > 0) {
|
||||
phi_v0 = arg0 * 3;
|
||||
if (temp_v1 < phi_v0) {
|
||||
phi_v0 = temp_v1;
|
||||
}
|
||||
}
|
||||
if (temp_v1 < 0) {
|
||||
phi_v0 = arg0 * -3;
|
||||
if (phi_v0 < temp_v1) {
|
||||
phi_v0 = temp_v1;
|
||||
}
|
||||
}
|
||||
planeObj->unk18 += phi_v0;
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct Object_64_8004C140 {
|
||||
s16 unk0;
|
||||
u8 pad2[0x183];
|
||||
s8 unk185;
|
||||
u8 unk186;
|
||||
s8 unk187;
|
||||
u8 pad188[4];
|
||||
s16 unk18C;
|
||||
s16 unk18E;
|
||||
u8 pad190[0x39];
|
||||
u8 unk1C9;
|
||||
u8 pad1CA[0xC];
|
||||
s8 unk1D6;
|
||||
u8 pad1D7[4];
|
||||
s8 unk1DB;
|
||||
u8 pad1DC[0x28];
|
||||
s16 unk204;
|
||||
} Object_64_8004C140;
|
||||
|
||||
void func_800576E0(Object *obj, Object_64_8004C140 *obj64, s32);
|
||||
|
||||
void func_8004C140(Object *obj, Object_64_8004C140 *obj64) {
|
||||
s8 phi_v1;
|
||||
s8 temp;
|
||||
if (obj64->unk0 == -1) {
|
||||
phi_v1 = 0;
|
||||
} else {
|
||||
phi_v1 = obj64->unk185;
|
||||
}
|
||||
temp = obj64->unk187;
|
||||
if (temp == 0 || obj64->unk18E > 0) {
|
||||
obj64->unk187 = 0;
|
||||
return;
|
||||
}
|
||||
if (temp != 4) {
|
||||
func_800576E0(obj, obj64, 2);
|
||||
}
|
||||
obj64->unk18C = 0x168;
|
||||
if (obj64->unk1C9 == 8) {
|
||||
obj64->unk1C9 = 0;
|
||||
}
|
||||
if (obj64->unk1D6 < 5) {
|
||||
func_800570B8(obj, 0x1C2, 8, 0x81);
|
||||
switch(obj64->unk187) {
|
||||
case 1:
|
||||
case 2:
|
||||
if (phi_v1 != 0) {
|
||||
obj64->unk1DB = 0x28;
|
||||
} else {
|
||||
obj64->unk1DB = 0x3C;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (phi_v1 != 0) {
|
||||
obj64->unk1DB = 0x28;
|
||||
} else {
|
||||
obj64->unk1DB = 0x3C;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
obj64->unk204 = 0x78;
|
||||
obj->x_velocity *= 0.7;
|
||||
obj->z_velocity *= 0.7;
|
||||
break;
|
||||
}
|
||||
obj64->unk187 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004C2B0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004CC20.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004D590.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004D95C.s")
|
||||
|
||||
typedef struct Object_64_8004D95C {
|
||||
u8 unk0[0x118];
|
||||
s32 unk118;
|
||||
u8 unk11C[0x38];
|
||||
Object *someObject;
|
||||
u8 unk158[0x7E];
|
||||
s8 unk1D6;
|
||||
s8 unk1D7;
|
||||
} Object_64_8004D95C;
|
||||
|
||||
void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_64_8004D95C *obj64) {
|
||||
s16 sp26;
|
||||
|
||||
if (obj64->unk118 != 0) {
|
||||
func_80006AC8(obj);
|
||||
}
|
||||
if ((func_8002341C() != 0) && (obj64->unk1D6 == 0xA)) {
|
||||
obj->unk4C->unk14 = 0;
|
||||
}
|
||||
sp26 = obj->unk18;
|
||||
obj64->unk1D6 = 0xA;
|
||||
func_80049794(arg0, arg1, obj, obj64);
|
||||
obj64->unk1D6 = obj64->unk1D7;
|
||||
obj->unk3B = 0;
|
||||
if (obj64->unk1D6 == 0xA) {
|
||||
if (obj64->someObject != NULL) {
|
||||
obj64->someObject->x_position = obj->x_position;
|
||||
obj64->someObject->y_position = obj->y_position;
|
||||
obj64->someObject->z_position = obj->z_position;
|
||||
obj64->someObject->unk2E = obj->unk2E;
|
||||
obj64->someObject->y_rotation = obj->y_rotation;
|
||||
obj64->someObject->x_rotation = obj->x_rotation;
|
||||
obj64->someObject->z_rotation = obj->z_rotation;
|
||||
obj->unk3B = 0;
|
||||
obj->unk18 = sp26 + arg0;
|
||||
func_80061C0C(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004DAB0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004DE38.s")
|
||||
|
||||
@@ -277,7 +456,51 @@ void func_8004F77C(unk8004F77C *arg0) {
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004F7F4.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
typedef struct Object_64_80050754 {
|
||||
u8 unk0[0x2C];
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
u8 unk34[0x114];
|
||||
/* 0x148 */ Object *someObj;
|
||||
u8 unk14C[0x54];
|
||||
/* 0x1A0 */ s16 unk1A0;
|
||||
/* 0x1A2 */ s16 unk1A2;
|
||||
/* 0x1A4 */ s16 unk1A4;
|
||||
u8 unk1A6[0x4C];
|
||||
/* 0x1F2 */ s8 unk1F2;
|
||||
} Object_64_80050754;
|
||||
|
||||
// Mainly has regalloc issues.
|
||||
void func_80050754(Object *obj, Object_64_80050754 *obj64, f32 arg2) {
|
||||
f32 xDiff, yDiff, zDiff;
|
||||
Object *someObj;
|
||||
|
||||
obj->unk3B = 0;
|
||||
obj->unk18 = 0x28;
|
||||
someObj = obj64->someObj;
|
||||
xDiff = someObj->x_position - obj->x_position;
|
||||
yDiff = someObj->y_position - obj->y_position;
|
||||
zDiff = someObj->z_position - obj->z_position;
|
||||
func_80011570(obj, xDiff, yDiff, zDiff);
|
||||
obj->y_rotation = obj64->someObj->y_rotation;
|
||||
obj->x_rotation = obj64->someObj->x_rotation;
|
||||
obj->z_rotation = obj64->someObj->z_rotation;
|
||||
obj64->unk1A4 = obj->z_rotation;
|
||||
obj64->unk1A0 = obj->y_rotation;
|
||||
obj->x_velocity = xDiff / arg2;
|
||||
obj->y_velocity = yDiff / arg2;
|
||||
obj->z_velocity = zDiff / arg2;
|
||||
obj64->unk1F2 = 0;
|
||||
obj64->unk2C = 0.0f;
|
||||
obj64->unk30 = 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050754.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050850.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050A28.s")
|
||||
|
||||
@@ -373,8 +596,40 @@ void func_80052988(Object* arg0, Object_64* arg1, s32 arg2, s32 arg3, s32 arg4,
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80052B64.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80052D7C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80053478.s")
|
||||
|
||||
typedef struct Object_64_80053478 {
|
||||
u8 unk0[0x2C];
|
||||
f32 unk2C;
|
||||
u8 unk30[0x1B1];
|
||||
s8 unk1E1;
|
||||
u8 unk1E2[4];
|
||||
s8 unk1E6;
|
||||
} Object_64_80053478;
|
||||
|
||||
void func_80053478(Object_64_80053478 *obj) {
|
||||
s32 phi_v0;
|
||||
f32 phi_f0 = obj->unk2C;
|
||||
|
||||
if (phi_f0 < 0.0) {
|
||||
phi_f0 = -phi_f0;
|
||||
}
|
||||
if (phi_f0 > 1.8) {
|
||||
phi_f0 = 1.8f;
|
||||
}
|
||||
phi_f0 -= 0.2;
|
||||
if (phi_f0 < 0.0) {
|
||||
phi_f0 = 0.0f;
|
||||
}
|
||||
if (obj->unk1E6 != 0) {
|
||||
phi_v0 = phi_f0 * 68.0f;
|
||||
} else {
|
||||
phi_v0 = phi_f0 * 58.0f;
|
||||
}
|
||||
D_8011D554 -= (obj->unk1E1 * phi_v0);
|
||||
if (obj->unk2C > 0.0f) {
|
||||
D_8011D554 = -D_8011D554;
|
||||
}
|
||||
}
|
||||
|
||||
extern unk8011D510 D_8011D510;
|
||||
|
||||
@@ -502,9 +757,87 @@ void func_800570A4(unk800570A4_2 *arg0, s32 arg1, s32 arg2) {
|
||||
temp->unk210 = arg2;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void func_80009558(u16, f32, f32, f32, s32, s32 *);
|
||||
|
||||
typedef struct Object_64_800570B8 {
|
||||
u8 pad0[3];
|
||||
s8 unk3;
|
||||
u8 pad4[0x20];
|
||||
s32 unk24;
|
||||
u16 unk28;
|
||||
u16 unk2A;
|
||||
u8 pad2C[0xDC];
|
||||
s32 unk108;
|
||||
} Object_64_800570B8;
|
||||
|
||||
void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3) {
|
||||
s32 phi_t0;
|
||||
Object_64_800570B8 *obj64;
|
||||
|
||||
obj64 = obj->unk64;
|
||||
if ((obj64->unk108 == 0) && ((!(arg3 & 0x80)) || (D_8011D55C != -1))) {
|
||||
if (arg3 == 2) {
|
||||
if ((obj64->unk24 != 0) && (arg1 != obj64->unk2A)) {
|
||||
func_800096F8(obj64->unk24);
|
||||
obj64->unk24 = 0;
|
||||
}
|
||||
}
|
||||
if (obj64->unk24 == 0) {
|
||||
if (arg3 != 3 || get_random_number_from_range(0, 1) != 0) {
|
||||
obj64->unk2A = arg1;
|
||||
arg1 += obj64->unk3;
|
||||
arg2--;
|
||||
phi_t0 = (get_random_number_from_range(0, arg2) * 12) + arg1;
|
||||
if (arg2 > 0) {
|
||||
while (phi_t0 == obj64->unk28) {
|
||||
phi_t0 = (get_random_number_from_range(0, arg2) * 12) + arg1;
|
||||
}
|
||||
}
|
||||
//sp34 = phi_t0;
|
||||
func_80009558(phi_t0, obj->x_position, obj->y_position, obj->z_position, 4, &obj64->unk24);
|
||||
obj64->unk28 = phi_t0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800570B8.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80057220.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800575EC.s")
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct Object_64_800575EC {
|
||||
u8 pad0[0x38];
|
||||
f32 unk38;
|
||||
f32 unk3C;
|
||||
f32 unk40;
|
||||
f32 unk44;
|
||||
f32 unk48;
|
||||
f32 unk4C;
|
||||
f32 unk50;
|
||||
f32 unk54;
|
||||
f32 unk58;
|
||||
} Object_64_800575EC;
|
||||
|
||||
void func_800575EC(Object *obj, Object_64_800575EC *obj64) {
|
||||
f32 sp38[4][4];
|
||||
|
||||
D_8011D510.unk0 = obj->y_rotation;
|
||||
D_8011D510.unk2 = obj->x_rotation;
|
||||
D_8011D510.unk4 = 0;
|
||||
D_8011D510.unkC = 0.0f;
|
||||
D_8011D510.unk10 = 0.0f;
|
||||
D_8011D510.unk14 = 0.0f;
|
||||
D_8011D510.unk8 = 1.0f;
|
||||
func_8006FC30(&sp38, &D_8011D510);
|
||||
guMtxXFMF(&sp38, 0.0f, 0.0f, 1.0f, &obj64->unk38, &obj64->unk3C, &obj64->unk40);
|
||||
guMtxXFMF(&sp38, 0.0f, 1.0f, 0.0f, &obj64->unk44, &obj64->unk48, &obj64->unk4C);
|
||||
guMtxXFMF(&sp38, 1.0f, 0.0f, 0.0f, &obj64->unk50, &obj64->unk54, &obj64->unk58);
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800576E0.s")
|
||||
|
||||
extern s32 D_8011D534;
|
||||
@@ -534,7 +867,33 @@ void func_800579B0(unk800579B0 *arg0, s32 arg1, f32 arg2) {
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80057A40.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800580B4.s")
|
||||
|
||||
typedef struct Object_64_800580B4 {
|
||||
u8 unk0[0x1D8];
|
||||
s8 unk1D8;
|
||||
} Object_64_800580B4;
|
||||
|
||||
void func_80057A40(Object *, Object_64_800580B4 *, f32);
|
||||
|
||||
void func_800580B4(Object *arg0, Object_64_800580B4 *arg1, s32 arg2, f32 arg3) {
|
||||
f32 xPos, yPos, zPos;
|
||||
if ((D_8011D55C != -1) && (arg1->unk1D8 != 1)) {
|
||||
if (arg2 != gCameraObject->unk36) {
|
||||
func_80057A40(arg0, arg1, arg3);
|
||||
xPos = gCameraObject->x_position;
|
||||
yPos = gCameraObject->y_position;
|
||||
zPos = gCameraObject->z_position;
|
||||
gCameraObject->unk36 = arg2;
|
||||
func_80057A40(arg0, arg1, arg3);
|
||||
if (D_8011D540 == 0 && D_8011D582 == 0) {
|
||||
gCameraObject->unk24 = xPos - gCameraObject->x_position;
|
||||
gCameraObject->unk28 = yPos - (gCameraObject->y_position + gCameraObject->unk30);
|
||||
gCameraObject->unk2C = zPos - gCameraObject->z_position;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800581E8.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80058B84.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80058D5C.s")
|
||||
@@ -550,7 +909,7 @@ void func_80058F44(f32 arg0, Object *arg1, Object *arg2) {
|
||||
temp1 = func_8007066C(gCameraObject->x_position - arg1->x_position, gCameraObject->z_position - arg1->z_position);
|
||||
gCameraObject->y_rotation += (((-temp1 - gCameraObject->y_rotation) + 0x8000) * temp0) >> 4;
|
||||
gCameraObject->z_rotation -= (gCameraObject->z_rotation * temp0) >> 4;
|
||||
gCameraObject->unk34_s = func_80029F18(gCameraObject->x_position, arg2->unk3C_f, gCameraObject->z_position);
|
||||
gCameraObject->unk34 = func_80029F18(gCameraObject->x_position, arg2->unk3C_f, gCameraObject->z_position);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user