From 493bece093b7c3e7edb3fd1ad6f96d3495f080e0 Mon Sep 17 00:00:00 2001 From: Fazana <52551480+FazanaJ@users.noreply.github.com> Date: Mon, 24 Oct 2022 15:37:47 +0100 Subject: [PATCH] More matches and labels (#259) * match func_80077268 * Update borders.c * Update borders.h * game.c labels * rename border * match func_80068BF4 and func_80069484 * Update camera.c * camera.c labels * more camera.c documentation oh god this is gonna be another one of THOSE PR's again isn't it? * Update camera.c * destruction * nonmatching func_80002DF8 * make clean now removes the linker * Update unknown_003260.c * match func_800A0EB4 * match render_background * fix warnings * style fixes * label indicator arrows in the UI * requested changes * struct renames * match func_800A7B68 * Update README.md * match func_800A5A64 * Fix unforgivable typo sorry im not a fake fan I sware on me nan * Update README.md --- Makefile | 1 + README.md | 48 +- asm/entrypoint.s | 4 +- asm/non_matchings/camera/func_80065EA0.s | 16 +- asm/non_matchings/camera/func_80066CDC.s | 28 +- asm/non_matchings/camera/func_80067A3C.s | 12 +- asm/non_matchings/camera/func_80068514.s | 20 +- asm/non_matchings/camera/func_80068BF4.s | 246 ---------- asm/non_matchings/camera/func_80069484.s | 200 -------- asm/non_matchings/camera/func_8006A1C4.s | 8 +- asm/non_matchings/game_ui/func_8009ECF0.s | 2 +- asm/non_matchings/game_ui/func_800A01A0.s | 34 +- asm/non_matchings/game_ui/func_800A0EB4.s | 254 ---------- asm/non_matchings/game_ui/func_800A1248.s | 4 +- asm/non_matchings/game_ui/func_800A19A4.s | 8 +- asm/non_matchings/game_ui/func_800A22F4.s | 28 +- asm/non_matchings/game_ui/func_800A277C.s | 10 +- asm/non_matchings/game_ui/func_800A3884.s | 38 +- asm/non_matchings/game_ui/func_800A3CE4.s | 16 +- asm/non_matchings/game_ui/func_800A4154.s | 44 +- asm/non_matchings/game_ui/func_800A45F0.s | 8 +- asm/non_matchings/game_ui/func_800A47A0.s | 4 +- asm/non_matchings/game_ui/func_800A497C.s | 12 +- asm/non_matchings/game_ui/func_800A4C44.s | 8 +- asm/non_matchings/game_ui/func_800A4F50.s | 48 +- asm/non_matchings/game_ui/func_800A5A64.s | 320 ------------- asm/non_matchings/game_ui/func_800A5F18.s | 20 +- asm/non_matchings/game_ui/func_800A6E30.s | 12 +- asm/non_matchings/game_ui/func_800A718C.s | 20 +- asm/non_matchings/game_ui/func_800A7520.s | 24 +- asm/non_matchings/game_ui/func_800A7A60.s | 12 +- asm/non_matchings/game_ui/func_800A7B68.s | 301 ------------ asm/non_matchings/game_ui/func_800A7FBC.s | 4 +- asm/non_matchings/game_ui/func_800A8474.s | 6 +- asm/non_matchings/game_ui/func_800AA600.s | 56 +-- asm/non_matchings/game_ui/func_800AAFD0.s | 4 +- .../menu/render_file_select_menu.s | 16 +- asm/non_matchings/objects/func_80016500.s | 2 +- asm/non_matchings/objects/func_80019808.s | 2 +- asm/non_matchings/objects/func_8001A8F4.s | 2 +- asm/non_matchings/objects/func_8001F460.s | 4 +- asm/non_matchings/objects/func_80021104.s | 2 +- asm/non_matchings/objects/func_80021600.s | 4 +- asm/non_matchings/objects/func_800230D0.s | 2 +- .../unknown_005740/func_80005D08.s | 2 +- .../unknown_005740/func_80006FC8.s | 2 +- .../unknown_005740/func_80008438.s | 2 +- .../unknown_0255E0/func_800249F0.s | 4 +- .../unknown_0255E0/func_80024D54.s | 10 +- .../unknown_0255E0/func_80027568.s | 2 +- .../unknown_0255E0/func_80028CD0.s | 2 +- .../unknown_0255E0/obj_loop_fogchanger.s | 2 +- .../unknown_077C50/func_80077268.s | 129 ----- .../unknown_078050/render_background.s | 314 ------------ include/f3ddkr.h | 9 +- include/math_util.h | 17 +- include/sound_ids.h | 2 +- include/structs.h | 2 +- src/{unknown_077C50.c => borders.c} | 53 +- src/{unknown_077C50.h => borders.h} | 6 +- src/camera.c | 453 ++++++++++++------ src/camera.h | 23 +- src/game.c | 80 ++-- src/game.h | 6 +- src/game_ui.c | 291 ++++++++++- src/game_ui.h | 87 +++- src/menu.c | 28 +- src/menu.h | 2 +- src/object_functions.c | 2 +- src/objects.c | 2 +- src/objects.h | 2 +- src/racer.c | 36 +- src/unknown_003260.h | 1 + src/unknown_0255E0.c | 8 +- src/unknown_078050.c | 31 +- src/unknown_078050.h | 5 +- src/video.c | 2 +- src/video.h | 2 +- 78 files changed, 1133 insertions(+), 2400 deletions(-) mode change 100755 => 100644 README.md delete mode 100644 asm/non_matchings/camera/func_80068BF4.s delete mode 100644 asm/non_matchings/camera/func_80069484.s delete mode 100644 asm/non_matchings/game_ui/func_800A0EB4.s delete mode 100644 asm/non_matchings/game_ui/func_800A5A64.s delete mode 100644 asm/non_matchings/game_ui/func_800A7B68.s delete mode 100644 asm/non_matchings/unknown_077C50/func_80077268.s delete mode 100644 asm/non_matchings/unknown_078050/render_background.s rename src/{unknown_077C50.c => borders.c} (68%) rename src/{unknown_077C50.h => borders.h} (55%) diff --git a/Makefile b/Makefile index 780fb4dd..2e74c26b 100755 --- a/Makefile +++ b/Makefile @@ -332,6 +332,7 @@ endif clean: ifneq ($(wildcard ./build/.*),) rm -r build + rm -r dkr.ld else @echo "/build/ directory has already been deleted." endif diff --git a/README.md b/README.md old mode 100755 new mode 100644 index 1d24e848..86d9f8b5 --- a/README.md +++ b/README.md @@ -114,31 +114,31 @@ s32 is_drumstick_unlocked(void) { ``` -As of October 3rd, 2022, this is our current score: +As of October 24th, 2022, this is our current score: ``` - ========================================== - ADVENTURE ONE (ASM -> C Decompilation) - ------------ 33.19% Complete ------------- - # Decompiled functions: 1292 - # GLOBAL_ASM remaining: 541 - # NON_MATCHING functions: 12 - # NON_EQUIVALENT WIP functions: 94 - -------------- Game Status --------------- - Balloons: 17/47, Keys: 2/4, Trophies: 1/5 - T.T. Amulets: 1/4, Wizpig Amulets: 1/4 - ------------------------------------------ - We are racing the walrus boss Bluey. - ========================================== - ADVENTURE TWO (Cleanup & Documentation) - ------------ 6.13% Complete ------------- - # Documented functions: 210 - # Undocumented remaining: 1623 - -------------- Game Status --------------- - Balloons: 4/47, Keys: 0/4, Trophies: 0/5 - T.T. Amulets: 0/4, Wizpig Amulets: 0/4 - ------------------------------------------ - We are racing in Ancient Lake. (Lap 1/3) - ========================================== + ======================================================= + ADVENTURE ONE (ASM -> C Decompilation) + ------------------- 34.02% Complete ------------------- + # Decompiled functions: 1301 + # GLOBAL_ASM remaining: 532 + # NON_MATCHING functions: 12 + # NON_EQUIVALENT WIP functions: 92 + --------------------- Game Status --------------------- + Balloons: 17/47, Keys: 2/4, Trophies: 1/5 + T.T. Amulets: 1/4, Wizpig Amulets: 1/4 + ------------------------------------------------------- + We are battling in Icicle Pyramid. (2 opponents remain) + ======================================================= + ADVENTURE TWO (Cleanup & Documentation) + ------------------- 6.73% Complete ------------------- + # Documented functions: 221 + # Undocumented remaining: 1612 + --------------------- Game Status --------------------- + Balloons: 4/47, Keys: 0/4, Trophies: 0/5 + T.T. Amulets: 0/4, Wizpig Amulets: 0/4 + ------------------------------------------------------- + We are racing in Ancient Lake. (Lap 2/3) + ======================================================= ``` diff --git a/asm/entrypoint.s b/asm/entrypoint.s index 6ecad654..84cdac5b 100644 --- a/asm/entrypoint.s +++ b/asm/entrypoint.s @@ -21,10 +21,10 @@ glabel entrypoint /* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410 /* 001020 80000420 21080008 */ addi $t0, $t0, 8 /* 001024 80000424 3C0A8006 */ lui $t2, %hi(main) # $t2, 0x8006 -/* 001028 80000428 3C1D8012 */ lui $sp, %hi(D_80120AC0) # $sp, 0x8012 +/* 001028 80000428 3C1D8012 */ lui $sp, %hi(gObjectRenderStack) # $sp, 0x8012 /* 00102C 8000042C 254A5D40 */ addiu $t2, %lo(main) # addiu $t2, $t2, 0x5d40 /* 001030 80000430 01400008 */ jr $t2 -/* 001034 80000434 27BD0AC0 */ addiu $sp, %lo(D_80120AC0) # addiu $sp, $sp, 0xac0 +/* 001034 80000434 27BD0AC0 */ addiu $sp, %lo(gObjectRenderStack) # addiu $sp, $sp, 0xac0 /* 001038 80000438 00000000 */ nop /* 00103C 8000043C 00000000 */ nop /* 001040 80000440 00000000 */ nop diff --git a/asm/non_matchings/camera/func_80065EA0.s b/asm/non_matchings/camera/func_80065EA0.s index a20dc3da..59fff319 100644 --- a/asm/non_matchings/camera/func_80065EA0.s +++ b/asm/non_matchings/camera/func_80065EA0.s @@ -29,12 +29,12 @@ glabel func_80065EA0 /* 066AF8 80065EF8 00895021 */ addu $t2, $a0, $t1 /* 066AFC 80065EFC 008FC021 */ addu $t8, $a0, $t7 /* 066B00 80065F00 008B6021 */ addu $t4, $a0, $t3 -/* 066B04 80065F04 3C118012 */ lui $s1, %hi(D_80120CE4) # $s1, 0x8012 +/* 066B04 80065F04 3C118012 */ lui $s1, %hi(gObjectRenderStackPos) # $s1, 0x8012 /* 066B08 80065F08 AFBF0034 */ sw $ra, 0x34($sp) /* 066B0C 80065F0C AC4C0004 */ sw $t4, 4($v0) /* 066B10 80065F10 AC580008 */ sw $t8, 8($v0) /* 066B14 80065F14 AC4A000C */ sw $t2, 0xc($v0) -/* 066B18 80065F18 26310CE4 */ addiu $s1, %lo(D_80120CE4) # addiu $s1, $s1, 0xce4 +/* 066B18 80065F18 26310CE4 */ addiu $s1, %lo(gObjectRenderStackPos) # addiu $s1, $s1, 0xce4 /* 066B1C 80065F1C 00008025 */ move $s0, $zero /* 066B20 80065F20 24120008 */ li $s2, 8 /* 066B24 80065F24 240B00B4 */ li $t3, 180 @@ -50,8 +50,8 @@ glabel func_80065EA0 /* 066B48 80065F48 26100001 */ addiu $s0, $s0, 1 /* 066B4C 80065F4C 1612FFF6 */ bne $s0, $s2, .L80065F28 /* 066B50 80065F50 240B00B4 */ li $t3, 180 -/* 066B54 80065F54 3C018012 */ lui $at, %hi(D_80120D14) # $at, 0x8012 -/* 066B58 80065F58 A0200D14 */ sb $zero, %lo(D_80120D14)($at) +/* 066B54 80065F54 3C018012 */ lui $at, %hi(gCutsceneCameraActive) # $at, 0x8012 +/* 066B58 80065F58 A0200D14 */ sb $zero, %lo(gCutsceneCameraActive)($at) /* 066B5C 80065F5C AE200000 */ sw $zero, ($s1) /* 066B60 80065F60 3C018012 */ lui $at, %hi(D_80120D1C) # $at, 0x8012 /* 066B64 80065F64 AC200D1C */ sw $zero, %lo(D_80120D1C)($at) @@ -63,11 +63,11 @@ glabel func_80065EA0 /* 066B7C 80065F7C AC200D0C */ sw $zero, %lo(D_80120D0C)($at) /* 066B80 80065F80 3C018012 */ lui $at, %hi(D_80120D18) # $at, 0x8012 /* 066B84 80065F84 AC200D18 */ sw $zero, %lo(D_80120D18)($at) -/* 066B88 80065F88 3C04800E */ lui $a0, %hi(D_800DD060) # $a0, 0x800e -/* 066B8C 80065F8C 3C018012 */ lui $at, %hi(D_80120D15) # $at, 0x8012 -/* 066B90 80065F90 2484D060 */ addiu $a0, %lo(D_800DD060) # addiu $a0, $a0, -0x2fa0 +/* 066B88 80065F88 3C04800E */ lui $a0, %hi(gAntiPiracyViewport) # $a0, 0x800e +/* 066B8C 80065F8C 3C018012 */ lui $at, %hi(gAdjustViewportHeight) # $at, 0x8012 +/* 066B90 80065F90 2484D060 */ addiu $a0, %lo(gAntiPiracyViewport) # addiu $a0, $a0, -0x2fa0 /* 066B94 80065F94 3C03A460 */ lui $v1, (0xA4600010 >> 16) # lui $v1, 0xa460 -/* 066B98 80065F98 A0200D15 */ sb $zero, %lo(D_80120D15)($at) +/* 066B98 80065F98 A0200D15 */ sb $zero, %lo(gAdjustViewportHeight)($at) /* 066B9C 80065F9C 34630010 */ ori $v1, (0xA4600010 & 0xFFFF) # ori $v1, $v1, 0x10 /* 066BA0 80065FA0 A0800000 */ sb $zero, ($a0) /* 066BA4 80065FA4 8C620000 */ lw $v0, ($v1) diff --git a/asm/non_matchings/camera/func_80066CDC.s b/asm/non_matchings/camera/func_80066CDC.s index 4f327457..d3daf24d 100644 --- a/asm/non_matchings/camera/func_80066CDC.s +++ b/asm/non_matchings/camera/func_80066CDC.s @@ -1,8 +1,8 @@ glabel func_80066CDC /* 0678DC 80066CDC 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0678E0 80066CE0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0678E4 80066CE4 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 -/* 0678E8 80066CE8 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 0678E4 80066CE4 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 +/* 0678E8 80066CE8 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 /* 0678EC 80066CEC 8FE20000 */ lw $v0, ($ra) /* 0678F0 80066CF0 AFB00020 */ sw $s0, 0x20($sp) /* 0678F4 80066CF4 00808025 */ move $s0, $a0 @@ -11,9 +11,9 @@ glabel func_80066CDC /* 067900 80066D00 0C003861 */ jal func_8000E184 /* 067904 80066D04 AFA20030 */ sw $v0, 0x30($sp) /* 067908 80066D08 8FA90030 */ lw $t1, 0x30($sp) -/* 06790C 80066D0C 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 06790C 80066D0C 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 /* 067910 80066D10 10400008 */ beqz $v0, .L80066D34 -/* 067914 80066D14 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067914 80066D14 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 /* 067918 80066D18 3C0E8012 */ lui $t6, %hi(gNumberOfViewports) # $t6, 0x8012 /* 06791C 80066D1C 8DCE0CE0 */ lw $t6, %lo(gNumberOfViewports)($t6) /* 067920 80066D20 240F0001 */ li $t7, 1 @@ -29,9 +29,9 @@ glabel func_80066CDC /* 067944 80066D44 012B0019 */ multu $t1, $t3 /* 067948 80066D48 3C0A800E */ lui $t2, %hi(gScreenViewports) # $t2, 0x800e /* 06794C 80066D4C 254AD064 */ addiu $t2, %lo(gScreenViewports) # addiu $t2, $t2, -0x2f9c -/* 067950 80066D50 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 067950 80066D50 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 /* 067954 80066D54 00024402 */ srl $t0, $v0, 0x10 -/* 067958 80066D58 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067958 80066D58 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 /* 06795C 80066D5C 3C038012 */ lui $v1, %hi(gNumberOfViewports) # $v1, 0x8012 /* 067960 80066D60 00083842 */ srl $a3, $t0, 1 /* 067964 80066D64 0000C012 */ mflo $t8 @@ -129,14 +129,14 @@ glabel func_80066CDC /* 067AD4 80066ED4 AFA00010 */ sw $zero, 0x10($sp) /* 067AD8 80066ED8 8FA5006C */ lw $a1, 0x6c($sp) /* 067ADC 80066EDC 8FAE002C */ lw $t6, 0x2c($sp) -/* 067AE0 80066EE0 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 -/* 067AE4 80066EE4 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067AE0 80066EE0 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 +/* 067AE4 80066EE4 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 /* 067AE8 80066EE8 10A00005 */ beqz $a1, .L80066F00 /* 067AEC 80066EEC AFEE0000 */ sw $t6, ($ra) /* 067AF0 80066EF0 0C019F4F */ jal func_80067D3C /* 067AF4 80066EF4 02002025 */ move $a0, $s0 -/* 067AF8 80066EF8 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 -/* 067AFC 80066EFC 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067AF8 80066EF8 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 +/* 067AFC 80066EFC 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 .L80066F00: /* 067B00 80066F00 8FB80034 */ lw $t8, 0x34($sp) /* 067B04 80066F04 100002C9 */ b .L80067A2C @@ -889,13 +889,13 @@ glabel func_80066CDC /* 0685F8 800679F8 0C01A056 */ jal func_80068158 /* 0685FC 800679FC AFAB0010 */ sw $t3, 0x10($sp) /* 068600 80067A00 8FA5006C */ lw $a1, 0x6c($sp) -/* 068604 80067A04 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 068604 80067A04 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 /* 068608 80067A08 10A00005 */ beqz $a1, .L80067A20 -/* 06860C 80067A0C 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 06860C 80067A0C 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 /* 068610 80067A10 0C019F4F */ jal func_80067D3C /* 068614 80067A14 02002025 */ move $a0, $s0 -/* 068618 80067A18 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 -/* 06861C 80067A1C 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 068618 80067A18 3C1F8012 */ lui $ra, %hi(gObjectRenderStackPos) # $ra, 0x8012 +/* 06861C 80067A1C 27FF0CE4 */ addiu $ra, %lo(gObjectRenderStackPos) # addiu $ra, $ra, 0xce4 .L80067A20: /* 068620 80067A20 8FAF0034 */ lw $t7, 0x34($sp) /* 068624 80067A24 00000000 */ nop diff --git a/asm/non_matchings/camera/func_80067A3C.s b/asm/non_matchings/camera/func_80067A3C.s index e2670e92..7c7da48a 100644 --- a/asm/non_matchings/camera/func_80067A3C.s +++ b/asm/non_matchings/camera/func_80067A3C.s @@ -22,15 +22,15 @@ glabel func_80067A3C /* 068688 80067A88 106B0008 */ beq $v1, $t3, .L80067AAC /* 06868C 80067A8C 00E02025 */ move $a0, $a3 /* 068690 80067A90 106A0012 */ beq $v1, $t2, .L80067ADC -/* 068694 80067A94 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 +/* 068694 80067A94 3C0F8012 */ lui $t7, %hi(gObjectRenderStackPos) # $t7, 0x8012 /* 068698 80067A98 240C0003 */ li $t4, 3 /* 06869C 80067A9C 106C001A */ beq $v1, $t4, .L80067B08 -/* 0686A0 80067AA0 3C028012 */ lui $v0, %hi(D_80120CE4) # $v0, 0x8012 +/* 0686A0 80067AA0 3C028012 */ lui $v0, %hi(gObjectRenderStackPos) # $v0, 0x8012 /* 0686A4 80067AA4 1000003F */ b .L80067BA4 /* 0686A8 80067AA8 44882000 */ mtc1 $t0, $f4 .L80067AAC: -/* 0686AC 80067AAC 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 -/* 0686B0 80067AB0 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) +/* 0686AC 80067AAC 3C0F8012 */ lui $t7, %hi(gObjectRenderStackPos) # $t7, 0x8012 +/* 0686B0 80067AB0 8DEF0CE4 */ lw $t7, %lo(gObjectRenderStackPos)($t7) /* 0686B4 80067AB4 000411C3 */ sra $v0, $a0, 7 /* 0686B8 80067AB8 15E00005 */ bnez $t7, .L80067AD0 /* 0686BC 80067ABC 00047043 */ sra $t6, $a0, 1 @@ -43,7 +43,7 @@ glabel func_80067A3C /* 0686D4 80067AD4 10000032 */ b .L80067BA0 /* 0686D8 80067AD8 00823823 */ subu $a3, $a0, $v0 .L80067ADC: -/* 0686DC 80067ADC 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) +/* 0686DC 80067ADC 8DEF0CE4 */ lw $t7, %lo(gObjectRenderStackPos)($t7) /* 0686E0 80067AE0 00051A03 */ sra $v1, $a1, 8 /* 0686E4 80067AE4 15E00005 */ bnez $t7, .L80067AFC /* 0686E8 80067AE8 00057043 */ sra $t6, $a1, 1 @@ -56,7 +56,7 @@ glabel func_80067A3C /* 068700 80067B00 10000027 */ b .L80067BA0 /* 068704 80067B04 00A33023 */ subu $a2, $a1, $v1 .L80067B08: -/* 068708 80067B08 8C420CE4 */ lw $v0, %lo(D_80120CE4)($v0) +/* 068708 80067B08 8C420CE4 */ lw $v0, %lo(gObjectRenderStackPos)($v0) /* 06870C 80067B0C 00057843 */ sra $t7, $a1, 1 /* 068710 80067B10 10400009 */ beqz $v0, .L80067B38 /* 068714 80067B14 0005C203 */ sra $t8, $a1, 8 diff --git a/asm/non_matchings/camera/func_80068514.s b/asm/non_matchings/camera/func_80068514.s index 61a7fc1b..e2dc18ac 100644 --- a/asm/non_matchings/camera/func_80068514.s +++ b/asm/non_matchings/camera/func_80068514.s @@ -278,38 +278,38 @@ glabel func_80068514 /* 069554 80068954 354B001A */ ori $t3, $t2, 0x1a /* 069558 80068958 AC6B0000 */ sw $t3, ($v1) /* 06955C 8006895C 8CCC0000 */ lw $t4, ($a2) -/* 069560 80068960 3C0F8012 */ lui $t7, %hi(D_80120D14) # $t7, 0x8012 +/* 069560 80068960 3C0F8012 */ lui $t7, %hi(gCutsceneCameraActive) # $t7, 0x8012 /* 069564 80068964 01896821 */ addu $t5, $t4, $t1 /* 069568 80068968 AC6D0004 */ sw $t5, 4($v1) /* 06956C 8006896C 8CCE0000 */ lw $t6, ($a2) /* 069570 80068970 3C078012 */ lui $a3, %hi(gVideoAspectRatio) # $a3, 0x8012 /* 069574 80068974 25D8000A */ addiu $t8, $t6, 0xa /* 069578 80068978 ACD80000 */ sw $t8, ($a2) -/* 06957C 8006897C 81EF0D14 */ lb $t7, %lo(D_80120D14)($t7) +/* 06957C 8006897C 81EF0D14 */ lb $t7, %lo(gCutsceneCameraActive)($t7) /* 069580 80068980 00000000 */ nop /* 069584 80068984 15E0000D */ bnez $t7, .L800689BC -/* 069588 80068988 3C198012 */ lui $t9, %hi(D_80120CE4) # $t9, 0x8012 -/* 06958C 8006898C 8F390CE4 */ lw $t9, %lo(D_80120CE4)($t9) -/* 069590 80068990 3C0B8012 */ lui $t3, %hi(D_80120AC0+4) # $t3, 0x8012 +/* 069588 80068988 3C198012 */ lui $t9, %hi(gObjectRenderStackPos) # $t9, 0x8012 +/* 06958C 8006898C 8F390CE4 */ lw $t9, %lo(gObjectRenderStackPos)($t9) +/* 069590 80068990 3C0B8012 */ lui $t3, %hi(gObjectRenderStack+4) # $t3, 0x8012 /* 069594 80068994 00195100 */ sll $t2, $t9, 4 /* 069598 80068998 01595021 */ addu $t2, $t2, $t9 /* 06959C 8006899C 000A5080 */ sll $t2, $t2, 2 /* 0695A0 800689A0 016A5821 */ addu $t3, $t3, $t2 -/* 0695A4 800689A4 856B0AC4 */ lh $t3, %lo(D_80120AC0+4)($t3) +/* 0695A4 800689A4 856B0AC4 */ lh $t3, %lo(gObjectRenderStack+4)($t3) /* 0695A8 800689A8 860C0004 */ lh $t4, 4($s0) /* 0695AC 800689AC 00000000 */ nop /* 0695B0 800689B0 016C6821 */ addu $t5, $t3, $t4 /* 0695B4 800689B4 1000000D */ b .L800689EC /* 0695B8 800689B8 AFAD0034 */ sw $t5, 0x34($sp) .L800689BC: -/* 0695BC 800689BC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 -/* 0695C0 800689C0 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) -/* 0695C4 800689C4 3C0F8012 */ lui $t7, %hi(D_80120AC0+276) # $t7, 0x8012 +/* 0695BC 800689BC 3C0E8012 */ lui $t6, %hi(gObjectRenderStackPos) # $t6, 0x8012 +/* 0695C0 800689C0 8DCE0CE4 */ lw $t6, %lo(gObjectRenderStackPos)($t6) +/* 0695C4 800689C4 3C0F8012 */ lui $t7, %hi(gObjectRenderStack+276) # $t7, 0x8012 /* 0695C8 800689C8 000EC100 */ sll $t8, $t6, 4 /* 0695CC 800689CC 030EC021 */ addu $t8, $t8, $t6 /* 0695D0 800689D0 0018C080 */ sll $t8, $t8, 2 /* 0695D4 800689D4 01F87821 */ addu $t7, $t7, $t8 -/* 0695D8 800689D8 85EF0BD4 */ lh $t7, %lo(D_80120AC0+276)($t7) +/* 0695D8 800689D8 85EF0BD4 */ lh $t7, %lo(gObjectRenderStack+276)($t7) /* 0695DC 800689DC 86190004 */ lh $t9, 4($s0) /* 0695E0 800689E0 00000000 */ nop /* 0695E4 800689E4 01F95021 */ addu $t2, $t7, $t9 diff --git a/asm/non_matchings/camera/func_80068BF4.s b/asm/non_matchings/camera/func_80068BF4.s deleted file mode 100644 index 77e117d5..00000000 --- a/asm/non_matchings/camera/func_80068BF4.s +++ /dev/null @@ -1,246 +0,0 @@ -glabel func_80068BF4 -/* 0697F4 80068BF4 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 0697F8 80068BF8 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 0697FC 80068BFC AFB1001C */ sw $s1, 0x1c($sp) -/* 069800 80068C00 AFB00018 */ sw $s0, 0x18($sp) -/* 069804 80068C04 00E08025 */ move $s0, $a3 -/* 069808 80068C08 00808825 */ move $s1, $a0 -/* 06980C 80068C0C AFBF002C */ sw $ra, 0x2c($sp) -/* 069810 80068C10 AFB40028 */ sw $s4, 0x28($sp) -/* 069814 80068C14 AFB30024 */ sw $s3, 0x24($sp) -/* 069818 80068C18 AFB20020 */ sw $s2, 0x20($sp) -/* 06981C 80068C1C 11C000DA */ beqz $t6, .L80068F88 -/* 069820 80068C20 AFA500E4 */ sw $a1, 0xe4($sp) -/* 069824 80068C24 444FF800 */ cfc1 $t7, $31 -/* 069828 80068C28 C4E4000C */ lwc1 $f4, 0xc($a3) -/* 06982C 80068C2C 35E10003 */ ori $at, $t7, 3 -/* 069830 80068C30 38210002 */ xori $at, $at, 2 -/* 069834 80068C34 44C1F800 */ ctc1 $at, $31 -/* 069838 80068C38 8CC30000 */ lw $v1, ($a2) -/* 06983C 80068C3C 460021A4 */ cvt.w.s $f6, $f4 -/* 069840 80068C40 240500FF */ li $a1, 255 -/* 069844 80068C44 44CFF800 */ ctc1 $t7, $31 -/* 069848 80068C48 44183000 */ mfc1 $t8, $f6 -/* 06984C 80068C4C 3C088000 */ lui $t0, 0x8000 -/* 069850 80068C50 4459F800 */ cfc1 $t9, $31 -/* 069854 80068C54 A4780000 */ sh $t8, ($v1) -/* 069858 80068C58 37210003 */ ori $at, $t9, 3 -/* 06985C 80068C5C 38210002 */ xori $at, $at, 2 -/* 069860 80068C60 44C1F800 */ ctc1 $at, $31 -/* 069864 80068C64 C4E80010 */ lwc1 $f8, 0x10($a3) -/* 069868 80068C68 3C148012 */ lui $s4, %hi(D_80120D1C) # $s4, 0x8012 -/* 06986C 80068C6C 460042A4 */ cvt.w.s $f10, $f8 -/* 069870 80068C70 26940D1C */ addiu $s4, %lo(D_80120D1C) # addiu $s4, $s4, 0xd1c -/* 069874 80068C74 44D9F800 */ ctc1 $t9, $31 -/* 069878 80068C78 44095000 */ mfc1 $t1, $f10 -/* 06987C 80068C7C 3C128012 */ lui $s2, %hi(D_80120CF0) # $s2, 0x8012 -/* 069880 80068C80 444AF800 */ cfc1 $t2, $31 -/* 069884 80068C84 A4690002 */ sh $t1, 2($v1) -/* 069888 80068C88 35410003 */ ori $at, $t2, 3 -/* 06988C 80068C8C 38210002 */ xori $at, $at, 2 -/* 069890 80068C90 44C1F800 */ ctc1 $at, $31 -/* 069894 80068C94 C4F00014 */ lwc1 $f16, 0x14($a3) -/* 069898 80068C98 A0650006 */ sb $a1, 6($v1) -/* 06989C 80068C9C 460084A4 */ cvt.w.s $f18, $f16 -/* 0698A0 80068CA0 A0650007 */ sb $a1, 7($v1) -/* 0698A4 80068CA4 440B9000 */ mfc1 $t3, $f18 -/* 0698A8 80068CA8 A0650008 */ sb $a1, 8($v1) -/* 0698AC 80068CAC A0650009 */ sb $a1, 9($v1) -/* 0698B0 80068CB0 A46B0004 */ sh $t3, 4($v1) -/* 0698B4 80068CB4 8C820000 */ lw $v0, ($a0) -/* 0698B8 80068CB8 3C010400 */ lui $at, 0x400 -/* 0698BC 80068CBC 244C0008 */ addiu $t4, $v0, 8 -/* 0698C0 80068CC0 AE2C0000 */ sw $t4, ($s1) -/* 0698C4 80068CC4 8CCD0000 */ lw $t5, ($a2) -/* 0698C8 80068CC8 44CAF800 */ ctc1 $t2, $31 -/* 0698CC 80068CCC 01A87821 */ addu $t7, $t5, $t0 -/* 0698D0 80068CD0 31F80006 */ andi $t8, $t7, 6 -/* 0698D4 80068CD4 0018CC00 */ sll $t9, $t8, 0x10 -/* 0698D8 80068CD8 03214825 */ or $t1, $t9, $at -/* 0698DC 80068CDC 352A001A */ ori $t2, $t1, 0x1a -/* 0698E0 80068CE0 AC4A0000 */ sw $t2, ($v0) -/* 0698E4 80068CE4 8CCB0000 */ lw $t3, ($a2) -/* 0698E8 80068CE8 26520CF0 */ addiu $s2, %lo(D_80120CF0) # addiu $s2, $s2, 0xcf0 -/* 0698EC 80068CEC 01686021 */ addu $t4, $t3, $t0 -/* 0698F0 80068CF0 AC4C0004 */ sw $t4, 4($v0) -/* 0698F4 80068CF4 8CCD0000 */ lw $t5, ($a2) -/* 0698F8 80068CF8 3C0C8012 */ lui $t4, %hi(D_80120CE4) # $t4, 0x8012 -/* 0698FC 80068CFC 25AE000A */ addiu $t6, $t5, 0xa -/* 069900 80068D00 ACCE0000 */ sw $t6, ($a2) -/* 069904 80068D04 8E8F0000 */ lw $t7, ($s4) -/* 069908 80068D08 84F30018 */ lh $s3, 0x18($a3) -/* 06990C 80068D0C 25F80001 */ addiu $t8, $t7, 1 -/* 069910 80068D10 AE980000 */ sw $t8, ($s4) -/* 069914 80068D14 84F90000 */ lh $t9, ($a3) -/* 069918 80068D18 3C0E8012 */ lui $t6, %hi(D_80120AC0+4) # $t6, 0x8012 -/* 06991C 80068D1C 00194823 */ negu $t1, $t9 -/* 069920 80068D20 A6490000 */ sh $t1, ($s2) -/* 069924 80068D24 84EA0002 */ lh $t2, 2($a3) -/* 069928 80068D28 44800000 */ mtc1 $zero, $f0 -/* 06992C 80068D2C 000A5823 */ negu $t3, $t2 -/* 069930 80068D30 A64B0002 */ sh $t3, 2($s2) -/* 069934 80068D34 8D8C0CE4 */ lw $t4, %lo(D_80120CE4)($t4) -/* 069938 80068D38 84EF0004 */ lh $t7, 4($a3) -/* 06993C 80068D3C 000C6900 */ sll $t5, $t4, 4 -/* 069940 80068D40 01AC6821 */ addu $t5, $t5, $t4 -/* 069944 80068D44 000D6880 */ sll $t5, $t5, 2 -/* 069948 80068D48 01CD7021 */ addu $t6, $t6, $t5 -/* 06994C 80068D4C 85CE0AC4 */ lh $t6, %lo(D_80120AC0+4)($t6) -/* 069950 80068D50 3C198012 */ lui $t9, %hi(D_80120D15) # $t9, 0x8012 -/* 069954 80068D54 01CFC021 */ addu $t8, $t6, $t7 -/* 069958 80068D58 A6580004 */ sh $t8, 4($s2) -/* 06995C 80068D5C E640000C */ swc1 $f0, 0xc($s2) -/* 069960 80068D60 E6400010 */ swc1 $f0, 0x10($s2) -/* 069964 80068D64 E6400014 */ swc1 $f0, 0x14($s2) -/* 069968 80068D68 83390D15 */ lb $t9, %lo(D_80120D15)($t9) -/* 06996C 80068D6C 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 069970 80068D70 13200015 */ beqz $t9, .L80068DC8 -/* 069974 80068D74 00000000 */ nop -/* 069978 80068D78 C4E00008 */ lwc1 $f0, 8($a3) -/* 06997C 80068D7C 3C073F80 */ lui $a3, 0x3f80 -/* 069980 80068D80 44050000 */ mfc1 $a1, $f0 -/* 069984 80068D84 44060000 */ mfc1 $a2, $f0 -/* 069988 80068D88 0C01C18E */ jal func_80070638 -/* 06998C 80068D8C 27A40050 */ addiu $a0, $sp, 0x50 -/* 069990 80068D90 3C078012 */ lui $a3, %hi(gVideoAspectRatio) # $a3, 0x8012 -/* 069994 80068D94 27B00090 */ addiu $s0, $sp, 0x90 -/* 069998 80068D98 8CE76174 */ lw $a3, %lo(gVideoAspectRatio)($a3) -/* 06999C 80068D9C 02002025 */ move $a0, $s0 -/* 0699A0 80068DA0 00002825 */ move $a1, $zero -/* 0699A4 80068DA4 0C01C04C */ jal func_80070130 -/* 0699A8 80068DA8 3C063F80 */ lui $a2, 0x3f80 -/* 0699AC 80068DAC 3C068012 */ lui $a2, %hi(D_80121060) # $a2, 0x8012 -/* 0699B0 80068DB0 24C61060 */ addiu $a2, %lo(D_80121060) # addiu $a2, $a2, 0x1060 -/* 0699B4 80068DB4 02002025 */ move $a0, $s0 -/* 0699B8 80068DB8 0C01BDDA */ jal func_8006F768 -/* 0699BC 80068DBC 27A50050 */ addiu $a1, $sp, 0x50 -/* 0699C0 80068DC0 10000009 */ b .L80068DE8 -/* 0699C4 80068DC4 02002025 */ move $a0, $s0 -.L80068DC8: -/* 0699C8 80068DC8 C6000008 */ lwc1 $f0, 8($s0) -/* 0699CC 80068DCC 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 0699D0 80068DD0 44050000 */ mfc1 $a1, $f0 -/* 0699D4 80068DD4 44060000 */ mfc1 $a2, $f0 -/* 0699D8 80068DD8 0C01C18E */ jal func_80070638 -/* 0699DC 80068DDC 3C073F80 */ lui $a3, 0x3f80 -/* 0699E0 80068DE0 27B00090 */ addiu $s0, $sp, 0x90 -/* 0699E4 80068DE4 02002025 */ move $a0, $s0 -.L80068DE8: -/* 0699E8 80068DE8 0C01BF9D */ jal func_8006FE74 -/* 0699EC 80068DEC 02402825 */ move $a1, $s2 -/* 0699F0 80068DF0 8E890000 */ lw $t1, ($s4) -/* 0699F4 80068DF4 3C128012 */ lui $s2, %hi(D_80120D70) # $s2, 0x8012 -/* 0699F8 80068DF8 26520D70 */ addiu $s2, %lo(D_80120D70) # addiu $s2, $s2, 0xd70 -/* 0699FC 80068DFC 00095080 */ sll $t2, $t1, 2 -/* 069A00 80068E00 024A5821 */ addu $t3, $s2, $t2 -/* 069A04 80068E04 8D660000 */ lw $a2, ($t3) -/* 069A08 80068E08 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 069A0C 80068E0C 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 069A10 80068E10 0C01BDDA */ jal func_8006F768 -/* 069A14 80068E14 02002825 */ move $a1, $s0 -/* 069A18 80068E18 8E8C0000 */ lw $t4, ($s4) -/* 069A1C 80068E1C 8FAF00E4 */ lw $t7, 0xe4($sp) -/* 069A20 80068E20 000C6880 */ sll $t5, $t4, 2 -/* 069A24 80068E24 024D7021 */ addu $t6, $s2, $t5 -/* 069A28 80068E28 8DC40000 */ lw $a0, ($t6) -/* 069A2C 80068E2C 8DE50000 */ lw $a1, ($t7) -/* 069A30 80068E30 0C01BE1C */ jal func_8006F870 -/* 069A34 80068E34 00000000 */ nop -/* 069A38 80068E38 8FA500E4 */ lw $a1, 0xe4($sp) -/* 069A3C 80068E3C 8E990000 */ lw $t9, ($s4) -/* 069A40 80068E40 8CB80000 */ lw $t8, ($a1) -/* 069A44 80068E44 3C018012 */ lui $at, %hi(D_80120D88) # $at, 0x8012 -/* 069A48 80068E48 00194880 */ sll $t1, $t9, 2 -/* 069A4C 80068E4C 00290821 */ addu $at, $at, $t1 -/* 069A50 80068E50 AC380D88 */ sw $t8, %lo(D_80120D88)($at) -/* 069A54 80068E54 8E220000 */ lw $v0, ($s1) -/* 069A58 80068E58 3C0B0180 */ lui $t3, (0x01800040 >> 16) # lui $t3, 0x180 -/* 069A5C 80068E5C 244A0008 */ addiu $t2, $v0, 8 -/* 069A60 80068E60 AE2A0000 */ sw $t2, ($s1) -/* 069A64 80068E64 356B0040 */ ori $t3, (0x01800040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 069A68 80068E68 AC4B0000 */ sw $t3, ($v0) -/* 069A6C 80068E6C 8CAC0000 */ lw $t4, ($a1) -/* 069A70 80068E70 3C018000 */ lui $at, 0x8000 -/* 069A74 80068E74 01816821 */ addu $t5, $t4, $at -/* 069A78 80068E78 AC4D0004 */ sw $t5, 4($v0) -/* 069A7C 80068E7C 8CAE0000 */ lw $t6, ($a1) -/* 069A80 80068E80 3C10BC00 */ lui $s0, (0xBC000002 >> 16) # lui $s0, 0xbc00 -/* 069A84 80068E84 25CF0040 */ addiu $t7, $t6, 0x40 -/* 069A88 80068E88 ACAF0000 */ sw $t7, ($a1) -/* 069A8C 80068E8C 8E220000 */ lw $v0, ($s1) -/* 069A90 80068E90 36100002 */ ori $s0, (0xBC000002 & 0xFFFF) # ori $s0, $s0, 2 -/* 069A94 80068E94 24590008 */ addiu $t9, $v0, 8 -/* 069A98 80068E98 AE390000 */ sw $t9, ($s1) -/* 069A9C 80068E9C 24180001 */ li $t8, 1 -/* 069AA0 80068EA0 3C098012 */ lui $t1, %hi(D_80120D0C) # $t1, 0x8012 -/* 069AA4 80068EA4 AC580004 */ sw $t8, 4($v0) -/* 069AA8 80068EA8 AC500000 */ sw $s0, ($v0) -/* 069AAC 80068EAC 8D290D0C */ lw $t1, %lo(D_80120D0C)($t1) -/* 069AB0 80068EB0 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 069AB4 80068EB4 15200009 */ bnez $t1, .L80068EDC -/* 069AB8 80068EB8 02202025 */ move $a0, $s1 -/* 069ABC 80068EBC 8FAB00F0 */ lw $t3, 0xf0($sp) -/* 069AC0 80068EC0 326A00FF */ andi $t2, $s3, 0xff -/* 069AC4 80068EC4 856C0000 */ lh $t4, ($t3) -/* 069AC8 80068EC8 00000000 */ nop -/* 069ACC 80068ECC 014C0019 */ multu $t2, $t4 -/* 069AD0 80068ED0 00009812 */ mflo $s3 -/* 069AD4 80068ED4 00136A03 */ sra $t5, $s3, 8 -/* 069AD8 80068ED8 01A09825 */ move $s3, $t5 -.L80068EDC: -/* 069ADC 80068EDC 85CF0006 */ lh $t7, 6($t6) -/* 069AE0 80068EE0 8FB900F4 */ lw $t9, 0xf4($sp) -/* 069AE4 80068EE4 0C01EFCD */ jal func_8007BF34 -/* 069AE8 80068EE8 01F92825 */ or $a1, $t7, $t9 -/* 069AEC 80068EEC 8FB800F0 */ lw $t8, 0xf0($sp) -/* 069AF0 80068EF0 00000000 */ nop -/* 069AF4 80068EF4 87020000 */ lh $v0, ($t8) -/* 069AF8 80068EF8 00000000 */ nop -/* 069AFC 80068EFC 0262082A */ slt $at, $s3, $v0 -/* 069B00 80068F00 14200002 */ bnez $at, .L80068F0C -/* 069B04 80068F04 00000000 */ nop -/* 069B08 80068F08 2453FFFF */ addiu $s3, $v0, -1 -.L80068F0C: -/* 069B0C 80068F0C 8E220000 */ lw $v0, ($s1) -/* 069B10 80068F10 3C0B0600 */ lui $t3, 0x600 -/* 069B14 80068F14 24490008 */ addiu $t1, $v0, 8 -/* 069B18 80068F18 AE290000 */ sw $t1, ($s1) -/* 069B1C 80068F1C AC4B0000 */ sw $t3, ($v0) -/* 069B20 80068F20 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 069B24 80068F24 00136080 */ sll $t4, $s3, 2 -/* 069B28 80068F28 014C6821 */ addu $t5, $t2, $t4 -/* 069B2C 80068F2C 8DAE000C */ lw $t6, 0xc($t5) -/* 069B30 80068F30 3C0BBC00 */ lui $t3, (0xBC00000A >> 16) # lui $t3, 0xbc00 -/* 069B34 80068F34 AC4E0004 */ sw $t6, 4($v0) -/* 069B38 80068F38 8E8F0000 */ lw $t7, ($s4) -/* 069B3C 80068F3C 356B000A */ ori $t3, (0xBC00000A & 0xFFFF) # ori $t3, $t3, 0xa -/* 069B40 80068F40 25F9FFFF */ addiu $t9, $t7, -1 -/* 069B44 80068F44 17200003 */ bnez $t9, .L80068F54 -/* 069B48 80068F48 AE990000 */ sw $t9, ($s4) -/* 069B4C 80068F4C 10000002 */ b .L80068F58 -/* 069B50 80068F50 00009825 */ move $s3, $zero -.L80068F54: -/* 069B54 80068F54 24130001 */ li $s3, 1 -.L80068F58: -/* 069B58 80068F58 8E220000 */ lw $v0, ($s1) -/* 069B5C 80068F5C 00135180 */ sll $t2, $s3, 6 -/* 069B60 80068F60 24490008 */ addiu $t1, $v0, 8 -/* 069B64 80068F64 AE290000 */ sw $t1, ($s1) -/* 069B68 80068F68 AC4A0004 */ sw $t2, 4($v0) -/* 069B6C 80068F6C AC4B0000 */ sw $t3, ($v0) -/* 069B70 80068F70 8E220000 */ lw $v0, ($s1) -/* 069B74 80068F74 00000000 */ nop -/* 069B78 80068F78 244C0008 */ addiu $t4, $v0, 8 -/* 069B7C 80068F7C AE2C0000 */ sw $t4, ($s1) -/* 069B80 80068F80 AC400004 */ sw $zero, 4($v0) -/* 069B84 80068F84 AC500000 */ sw $s0, ($v0) -.L80068F88: -/* 069B88 80068F88 8FBF002C */ lw $ra, 0x2c($sp) -/* 069B8C 80068F8C 8FB00018 */ lw $s0, 0x18($sp) -/* 069B90 80068F90 8FB1001C */ lw $s1, 0x1c($sp) -/* 069B94 80068F94 8FB20020 */ lw $s2, 0x20($sp) -/* 069B98 80068F98 8FB30024 */ lw $s3, 0x24($sp) -/* 069B9C 80068F9C 8FB40028 */ lw $s4, 0x28($sp) -/* 069BA0 80068FA0 03E00008 */ jr $ra -/* 069BA4 80068FA4 27BD00E0 */ addiu $sp, $sp, 0xe0 - diff --git a/asm/non_matchings/camera/func_80069484.s b/asm/non_matchings/camera/func_80069484.s deleted file mode 100644 index 126b9ed1..00000000 --- a/asm/non_matchings/camera/func_80069484.s +++ /dev/null @@ -1,200 +0,0 @@ -glabel func_80069484 -/* 06A084 80069484 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 06A088 80069488 AFA40050 */ sw $a0, 0x50($sp) -/* 06A08C 8006948C AFBF002C */ sw $ra, 0x2c($sp) -/* 06A090 80069490 AFA50054 */ sw $a1, 0x54($sp) -/* 06A094 80069494 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A098 80069498 E7B50020 */ swc1 $f21, 0x20($sp) -/* 06A09C 8006949C E7B40024 */ swc1 $f20, 0x24($sp) -/* 06A0A0 800694A0 AFA60058 */ sw $a2, 0x58($sp) -/* 06A0A4 800694A4 AFA7005C */ sw $a3, 0x5c($sp) -/* 06A0A8 800694A8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 06A0AC 800694AC 0C01BF0C */ jal func_8006FC30 -/* 06A0B0 800694B0 00C02825 */ move $a1, $a2 -/* 06A0B4 800694B4 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 06A0B8 800694B8 4480A000 */ mtc1 $zero, $f20 -/* 06A0BC 800694BC 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A0C0 800694C0 46140032 */ c.eq.s $f0, $f20 -/* 06A0C4 800694C4 00000000 */ nop -/* 06A0C8 800694C8 45010005 */ bc1t .L800694E0 -/* 06A0CC 800694CC 3C013F80 */ lui $at, 0x3f80 -/* 06A0D0 800694D0 44050000 */ mfc1 $a1, $f0 -/* 06A0D4 800694D4 0C01BF8C */ jal func_8006FE30 -/* 06A0D8 800694D8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 06A0DC 800694DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L800694E0: -/* 06A0E0 800694E0 C7A0005C */ lwc1 $f0, 0x5c($sp) -/* 06A0E4 800694E4 44812000 */ mtc1 $at, $f4 -/* 06A0E8 800694E8 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A0EC 800694EC 46040032 */ c.eq.s $f0, $f4 -/* 06A0F0 800694F0 00000000 */ nop -/* 06A0F4 800694F4 45010004 */ bc1t .L80069508 -/* 06A0F8 800694F8 00000000 */ nop -/* 06A0FC 800694FC 44050000 */ mfc1 $a1, $f0 -/* 06A100 80069500 0C01BF81 */ jal func_8006FE04 -/* 06A104 80069504 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -.L80069508: -/* 06A108 80069508 3C0E8012 */ lui $t6, %hi(D_80120D1C) # $t6, 0x8012 -/* 06A10C 8006950C 8DCE0D1C */ lw $t6, %lo(D_80120D1C)($t6) -/* 06A110 80069510 3C188012 */ lui $t8, %hi(D_80120D70) # $t8, 0x8012 -/* 06A114 80069514 27180D70 */ addiu $t8, %lo(D_80120D70) # addiu $t8, $t8, 0xd70 -/* 06A118 80069518 000E7880 */ sll $t7, $t6, 2 -/* 06A11C 8006951C 01F81021 */ addu $v0, $t7, $t8 -/* 06A120 80069520 8C450000 */ lw $a1, ($v0) -/* 06A124 80069524 8C460004 */ lw $a2, 4($v0) -/* 06A128 80069528 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A12C 8006952C 0C01BDDA */ jal func_8006F768 -/* 06A130 80069530 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 06A134 80069534 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 -/* 06A138 80069538 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c -/* 06A13C 8006953C 8D190000 */ lw $t9, ($t0) -/* 06A140 80069540 3C048012 */ lui $a0, %hi(D_80120D70+4) # $a0, 0x8012 -/* 06A144 80069544 00195880 */ sll $t3, $t9, 2 -/* 06A148 80069548 008B2021 */ addu $a0, $a0, $t3 -/* 06A14C 8006954C 8C840D74 */ lw $a0, %lo(D_80120D70+4)($a0) -/* 06A150 80069550 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 -/* 06A154 80069554 3C068012 */ lui $a2, %hi(D_801210A0) # $a2, 0x8012 -/* 06A158 80069558 24C610A0 */ addiu $a2, %lo(D_801210A0) # addiu $a2, $a2, 0x10a0 -/* 06A15C 8006955C 0C01BDDA */ jal func_8006F768 -/* 06A160 80069560 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 -/* 06A164 80069564 8FAC0054 */ lw $t4, 0x54($sp) -/* 06A168 80069568 3C048012 */ lui $a0, %hi(D_801210A0) # $a0, 0x8012 -/* 06A16C 8006956C 8D850000 */ lw $a1, ($t4) -/* 06A170 80069570 0C01BE1C */ jal func_8006F870 -/* 06A174 80069574 248410A0 */ addiu $a0, %lo(D_801210A0) # addiu $a0, $a0, 0x10a0 -/* 06A178 80069578 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 -/* 06A17C 8006957C 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c -/* 06A180 80069580 8D0D0000 */ lw $t5, ($t0) -/* 06A184 80069584 8FA90054 */ lw $t1, 0x54($sp) -/* 06A188 80069588 25AE0001 */ addiu $t6, $t5, 1 -/* 06A18C 8006958C AD0E0000 */ sw $t6, ($t0) -/* 06A190 80069590 8D2F0000 */ lw $t7, ($t1) -/* 06A194 80069594 000EC080 */ sll $t8, $t6, 2 -/* 06A198 80069598 3C018012 */ lui $at, %hi(D_80120D88) # $at, 0x8012 -/* 06A19C 8006959C 8FAA0050 */ lw $t2, 0x50($sp) -/* 06A1A0 800695A0 00380821 */ addu $at, $at, $t8 -/* 06A1A4 800695A4 AC2F0D88 */ sw $t7, %lo(D_80120D88)($at) -/* 06A1A8 800695A8 8D430000 */ lw $v1, ($t2) -/* 06A1AC 800695AC 3C0B0140 */ lui $t3, (0x01400040 >> 16) # lui $t3, 0x140 -/* 06A1B0 800695B0 24790008 */ addiu $t9, $v1, 8 -/* 06A1B4 800695B4 356B0040 */ ori $t3, (0x01400040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 06A1B8 800695B8 AD590000 */ sw $t9, ($t2) -/* 06A1BC 800695BC AC6B0000 */ sw $t3, ($v1) -/* 06A1C0 800695C0 8D2C0000 */ lw $t4, ($t1) -/* 06A1C4 800695C4 3C018000 */ lui $at, 0x8000 -/* 06A1C8 800695C8 01816821 */ addu $t5, $t4, $at -/* 06A1CC 800695CC AC6D0004 */ sw $t5, 4($v1) -/* 06A1D0 800695D0 8D2E0000 */ lw $t6, ($t1) -/* 06A1D4 800695D4 3C048012 */ lui $a0, %hi(D_80120D70) # $a0, 0x8012 -/* 06A1D8 800695D8 25CF0040 */ addiu $t7, $t6, 0x40 -/* 06A1DC 800695DC AD2F0000 */ sw $t7, ($t1) -/* 06A1E0 800695E0 8D180000 */ lw $t8, ($t0) -/* 06A1E4 800695E4 27AD0044 */ addiu $t5, $sp, 0x44 -/* 06A1E8 800695E8 0018C880 */ sll $t9, $t8, 2 -/* 06A1EC 800695EC 00992021 */ addu $a0, $a0, $t9 -/* 06A1F0 800695F0 8C840D70 */ lw $a0, %lo(D_80120D70)($a0) -/* 06A1F4 800695F4 27AC0048 */ addiu $t4, $sp, 0x48 -/* 06A1F8 800695F8 27AB004C */ addiu $t3, $sp, 0x4c -/* 06A1FC 800695FC 4405A000 */ mfc1 $a1, $f20 -/* 06A200 80069600 4406A000 */ mfc1 $a2, $f20 -/* 06A204 80069604 4407A000 */ mfc1 $a3, $f20 -/* 06A208 80069608 AFAB0010 */ sw $t3, 0x10($sp) -/* 06A20C 8006960C AFAC0014 */ sw $t4, 0x14($sp) -/* 06A210 80069610 0C01BD93 */ jal guMtxXFMF -/* 06A214 80069614 AFAD0018 */ sw $t5, 0x18($sp) -/* 06A218 80069618 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 -/* 06A21C 8006961C 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) -/* 06A220 80069620 3C038012 */ lui $v1, %hi(D_80120CE4) # $v1, 0x8012 -/* 06A224 80069624 8C630CE4 */ lw $v1, %lo(D_80120CE4)($v1) -/* 06A228 80069628 11C00002 */ beqz $t6, .L80069634 -/* 06A22C 8006962C 3C058012 */ lui $a1, %hi(D_80120CF0) # $a1, 0x8012 -/* 06A230 80069630 24630004 */ addiu $v1, $v1, 4 -.L80069634: -/* 06A234 80069634 00037900 */ sll $t7, $v1, 4 -/* 06A238 80069638 01E37821 */ addu $t7, $t7, $v1 -/* 06A23C 8006963C 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 -/* 06A240 80069640 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 -/* 06A244 80069644 000F7880 */ sll $t7, $t7, 2 -/* 06A248 80069648 01F81021 */ addu $v0, $t7, $t8 -/* 06A24C 8006964C C446000C */ lwc1 $f6, 0xc($v0) -/* 06A250 80069650 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 06A254 80069654 C4500010 */ lwc1 $f16, 0x10($v0) -/* 06A258 80069658 46083281 */ sub.s $f10, $f6, $f8 -/* 06A25C 8006965C C7B20048 */ lwc1 $f18, 0x48($sp) -/* 06A260 80069660 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 06A264 80069664 C4460014 */ lwc1 $f6, 0x14($v0) -/* 06A268 80069668 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 06A26C 8006966C 46128101 */ sub.s $f4, $f16, $f18 -/* 06A270 80069670 8FA60058 */ lw $a2, 0x58($sp) -/* 06A274 80069674 46083281 */ sub.s $f10, $f6, $f8 -/* 06A278 80069678 E7A40048 */ swc1 $f4, 0x48($sp) -/* 06A27C 8006967C E7AA0044 */ swc1 $f10, 0x44($sp) -/* 06A280 80069680 84D90000 */ lh $t9, ($a2) -/* 06A284 80069684 24A50CF0 */ addiu $a1, %lo(D_80120CF0) # addiu $a1, $a1, 0xcf0 -/* 06A288 80069688 00195823 */ negu $t3, $t9 -/* 06A28C 8006968C A4AB0000 */ sh $t3, ($a1) -/* 06A290 80069690 84CC0002 */ lh $t4, 2($a2) -/* 06A294 80069694 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06A298 80069698 000C6823 */ negu $t5, $t4 -/* 06A29C 8006969C A4AD0002 */ sh $t5, 2($a1) -/* 06A2A0 800696A0 84CE0004 */ lh $t6, 4($a2) -/* 06A2A4 800696A4 44818000 */ mtc1 $at, $f16 -/* 06A2A8 800696A8 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A2AC 800696AC 000E7823 */ negu $t7, $t6 -/* 06A2B0 800696B0 A4AF0004 */ sh $t7, 4($a1) -/* 06A2B4 800696B4 E4B4000C */ swc1 $f20, 0xc($a1) -/* 06A2B8 800696B8 E4B40010 */ swc1 $f20, 0x10($a1) -/* 06A2BC 800696BC E4B40014 */ swc1 $f20, 0x14($a1) -/* 06A2C0 800696C0 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 06A2C4 800696C4 0C01BF9D */ jal func_8006FE74 -/* 06A2C8 800696C8 E4B00008 */ swc1 $f16, 8($a1) -/* 06A2CC 800696CC 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 -/* 06A2D0 800696D0 8FA5004C */ lw $a1, 0x4c($sp) -/* 06A2D4 800696D4 8FA60048 */ lw $a2, 0x48($sp) -/* 06A2D8 800696D8 8FA70044 */ lw $a3, 0x44($sp) -/* 06A2DC 800696DC 27B8004C */ addiu $t8, $sp, 0x4c -/* 06A2E0 800696E0 27B90048 */ addiu $t9, $sp, 0x48 -/* 06A2E4 800696E4 27AB0044 */ addiu $t3, $sp, 0x44 -/* 06A2E8 800696E8 AFAB0018 */ sw $t3, 0x18($sp) -/* 06A2EC 800696EC AFB90014 */ sw $t9, 0x14($sp) -/* 06A2F0 800696F0 AFB80010 */ sw $t8, 0x10($sp) -/* 06A2F4 800696F4 0C01BD93 */ jal guMtxXFMF -/* 06A2F8 800696F8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 -/* 06A2FC 800696FC 8FAC0058 */ lw $t4, 0x58($sp) -/* 06A300 80069700 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06A304 80069704 44819000 */ mtc1 $at, $f18 -/* 06A308 80069708 C5840008 */ lwc1 $f4, 8($t4) -/* 06A30C 8006970C C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 06A310 80069710 46049003 */ div.s $f0, $f18, $f4 -/* 06A314 80069714 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 06A318 80069718 3C048012 */ lui $a0, %hi(D_80120D20) # $a0, 0x8012 -/* 06A31C 8006971C 24840D20 */ addiu $a0, %lo(D_80120D20) # addiu $a0, $a0, 0xd20 -/* 06A320 80069720 8C8D0000 */ lw $t5, ($a0) -/* 06A324 80069724 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 06A328 80069728 25AE0001 */ addiu $t6, $t5, 1 -/* 06A32C 8006972C 000E1080 */ sll $v0, $t6, 2 -/* 06A330 80069730 3C018012 */ lui $at, %hi(D_80120D28) # $at, 0x8012 -/* 06A334 80069734 AC8E0000 */ sw $t6, ($a0) -/* 06A338 80069738 00220821 */ addu $at, $at, $v0 -/* 06A33C 8006973C 8FBF002C */ lw $ra, 0x2c($sp) -/* 06A340 80069740 46003202 */ mul.s $f8, $f6, $f0 -/* 06A344 80069744 C7B40024 */ lwc1 $f20, 0x24($sp) -/* 06A348 80069748 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 06A34C 8006974C 46005402 */ mul.s $f16, $f10, $f0 -/* 06A350 80069750 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 06A354 80069754 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 06A358 80069758 46009102 */ mul.s $f4, $f18, $f0 -/* 06A35C 8006975C E7B00048 */ swc1 $f16, 0x48($sp) -/* 06A360 80069760 E4260D28 */ swc1 $f6, %lo(D_80120D28)($at) -/* 06A364 80069764 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 06A368 80069768 3C018012 */ lui $at, %hi(D_80120D40) # $at, 0x8012 -/* 06A36C 8006976C 00220821 */ addu $at, $at, $v0 -/* 06A370 80069770 E7A40044 */ swc1 $f4, 0x44($sp) -/* 06A374 80069774 E4280D40 */ swc1 $f8, %lo(D_80120D40)($at) -/* 06A378 80069778 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 06A37C 8006977C 3C018012 */ lui $at, %hi(D_80120D58) # $at, 0x8012 -/* 06A380 80069780 00220821 */ addu $at, $at, $v0 -/* 06A384 80069784 27BD0050 */ addiu $sp, $sp, 0x50 -/* 06A388 80069788 03E00008 */ jr $ra -/* 06A38C 8006978C E42A0D58 */ swc1 $f10, %lo(D_80120D58)($at) - diff --git a/asm/non_matchings/camera/func_8006A1C4.s b/asm/non_matchings/camera/func_8006A1C4.s index 00c8c3a0..5eff40a9 100644 --- a/asm/non_matchings/camera/func_8006A1C4.s +++ b/asm/non_matchings/camera/func_8006A1C4.s @@ -121,14 +121,14 @@ glabel func_8006A1C4 /* 06AF70 8006A370 3C09800E */ lui $t1, %hi(gButtonMask) # $t1, 0x800e /* 06AF74 8006A374 3C068012 */ lui $a2, %hi(sControllerData+24) # $a2, 0x8012 /* 06AF78 8006A378 3C028012 */ lui $v0, %hi(sControllerData) # $v0, 0x8012 -/* 06AF7C 8006A37C 3C088012 */ lui $t0, %hi(sControllerButtonsPressed) # $t0, 0x8012 -/* 06AF80 8006A380 3C078012 */ lui $a3, %hi(D_80121148) # $a3, 0x8012 +/* 06AF7C 8006A37C 3C088012 */ lui $t0, %hi(gControllerButtonsPressed) # $t0, 0x8012 +/* 06AF80 8006A380 3C078012 */ lui $a3, %hi(gControllerButtonsReleased) # $a3, 0x8012 /* 06AF84 8006A384 3C0B8012 */ lui $t3, %hi(sPlayerID) # $t3, 0x8012 /* 06AF88 8006A388 9529D304 */ lhu $t1, %lo(gButtonMask)($t1) /* 06AF8C 8006A38C 8D4AD300 */ lw $t2, %lo(sNoControllerPluggedIn)($t2) /* 06AF90 8006A390 256B1150 */ addiu $t3, %lo(sPlayerID) # addiu $t3, $t3, 0x1150 -/* 06AF94 8006A394 24E71148 */ addiu $a3, %lo(D_80121148) # addiu $a3, $a3, 0x1148 -/* 06AF98 8006A398 25081140 */ addiu $t0, %lo(sControllerButtonsPressed) # addiu $t0, $t0, 0x1140 +/* 06AF94 8006A394 24E71148 */ addiu $a3, %lo(gControllerButtonsReleased) # addiu $a3, $a3, 0x1148 +/* 06AF98 8006A398 25081140 */ addiu $t0, %lo(gControllerButtonsPressed) # addiu $t0, $t0, 0x1140 /* 06AF9C 8006A39C 24421110 */ addiu $v0, %lo(sControllerData) # addiu $v0, $v0, 0x1110 /* 06AFA0 8006A3A0 24C61128 */ addiu $a2, %lo(sControllerData+24) # addiu $a2, $a2, 0x1128 .L8006A3A4: diff --git a/asm/non_matchings/game_ui/func_8009ECF0.s b/asm/non_matchings/game_ui/func_8009ECF0.s index 671c38f7..5b9234e6 100644 --- a/asm/non_matchings/game_ui/func_8009ECF0.s +++ b/asm/non_matchings/game_ui/func_8009ECF0.s @@ -9,7 +9,7 @@ glabel func_8009ECF0 /* 09F90C 8009ED0C 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 /* 09F910 8009ED10 24636D0C */ addiu $v1, %lo(D_80126D0C) # addiu $v1, $v1, 0x6d0c /* 09F914 8009ED14 AC620000 */ sw $v0, ($v1) -/* 09F918 8009ED18 0C01994B */ jal func_8006652C +/* 09F918 8009ED18 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 09F91C 8009ED1C 00402025 */ move $a0, $v0 /* 09F920 8009ED20 3C018012 */ lui $at, %hi(D_80126D37) # $at, 0x8012 /* 09F924 8009ED24 0C01BAA4 */ jal get_settings diff --git a/asm/non_matchings/game_ui/func_800A01A0.s b/asm/non_matchings/game_ui/func_800A01A0.s index a93f20fe..fe58a2cf 100644 --- a/asm/non_matchings/game_ui/func_800A01A0.s +++ b/asm/non_matchings/game_ui/func_800A01A0.s @@ -49,12 +49,12 @@ glabel func_800A01A0 /* 0A0E50 800A0250 00000000 */ nop /* 0A0E54 800A0254 24030001 */ li $v1, 1 /* 0A0E58 800A0258 10430242 */ beq $v0, $v1, .L800A0B64 -/* 0A0E5C 800A025C 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A0E5C 800A025C 3C018012 */ lui $at, %hi(gHUDCurrDisplayList) # $at, 0x8012 /* 0A0E60 800A0260 8FAC0030 */ lw $t4, 0x30($sp) /* 0A0E64 800A0264 8FAE0034 */ lw $t6, 0x34($sp) /* 0A0E68 800A0268 8D8D0000 */ lw $t5, ($t4) /* 0A0E6C 800A026C 8FAF0038 */ lw $t7, 0x38($sp) -/* 0A0E70 800A0270 AC2D6CFC */ sw $t5, %lo(D_80126CFC)($at) +/* 0A0E70 800A0270 AC2D6CFC */ sw $t5, %lo(gHUDCurrDisplayList)($at) /* 0A0E74 800A0274 8DD80000 */ lw $t8, ($t6) /* 0A0E78 800A0278 3C018012 */ lui $at, %hi(D_80126D00) # $at, 0x8012 /* 0A0E7C 800A027C AC386D00 */ sw $t8, %lo(D_80126D00)($at) @@ -316,8 +316,8 @@ glabel func_800A01A0 /* 0A1240 800A0640 25AC0001 */ addiu $t4, $t5, 1 /* 0A1244 800A0644 A04C0000 */ sb $t4, ($v0) .L800A0648: -/* 0A1248 800A0648 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A124C 800A064C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1248 800A0648 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A124C 800A064C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A1250 800A0650 8C820000 */ lw $v0, ($a0) /* 0A1254 800A0654 3C18E700 */ lui $t8, 0xe700 /* 0A1258 800A0658 244E0008 */ addiu $t6, $v0, 8 @@ -325,16 +325,16 @@ glabel func_800A01A0 /* 0A1260 800A0660 AC400004 */ sw $zero, 4($v0) /* 0A1264 800A0664 0C01E037 */ jal init_rsp /* 0A1268 800A0668 AC580000 */ sw $t8, ($v0) -/* 0A126C 800A066C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A126C 800A066C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A1270 800A0670 0C01E015 */ jal init_rdp_and_framebuffer -/* 0A1274 800A0674 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1274 800A0674 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A1278 800A0678 0C01EB8A */ jal func_8007AE28 /* 0A127C 800A067C 2404FFFF */ li $a0, -1 /* 0A1280 800A0680 0C01EB83 */ jal func_8007AE0C /* 0A1284 800A0684 24040002 */ li $a0, 2 /* 0A1288 800A0688 0C01EFC7 */ jal func_8007BF1C /* 0A128C 800A068C 00002025 */ move $a0, $zero -/* 0A1290 800A0690 0C019944 */ jal func_80066510 +/* 0A1290 800A0690 0C019944 */ jal check_if_showing_cutscene_camera /* 0A1294 800A0694 00000000 */ nop /* 0A1298 800A0698 14400066 */ bnez $v0, .L800A0834 /* 0A129C 800A069C 3C0F8012 */ lui $t7, %hi(D_80126D34) # $t7, 0x8012 @@ -443,8 +443,8 @@ glabel func_800A01A0 /* 0A142C 800A082C 3C018012 */ lui $at, %hi(D_80126D28) # $at, 0x8012 /* 0A1430 800A0830 AC206D28 */ sw $zero, %lo(D_80126D28)($at) .L800A0834: -/* 0A1434 800A0834 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A1438 800A0838 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A1434 800A0834 3C058012 */ lui $a1, %hi(gHUDCurrDisplayList) # $a1, 0x8012 +/* 0A1438 800A0838 24A56CFC */ addiu $a1, %lo(gHUDCurrDisplayList) # addiu $a1, $a1, 0x6cfc /* 0A143C 800A083C 8CA20000 */ lw $v0, ($a1) /* 0A1440 800A0840 3C19FA00 */ lui $t9, 0xfa00 /* 0A1444 800A0844 244F0008 */ addiu $t7, $v0, 8 @@ -455,13 +455,13 @@ glabel func_800A01A0 /* 0A1458 800A0858 8FA4003C */ lw $a0, 0x3c($sp) /* 0A145C 800A085C 0C029E98 */ jal func_800A7A60 /* 0A1460 800A0860 00000000 */ nop -/* 0A1464 800A0864 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1464 800A0864 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A1468 800A0868 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A146C 800A086C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A1470 800A0870 0C019FCB */ jal func_80067F2C -/* 0A1474 800A0874 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A1478 800A0878 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A147C 800A087C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1474 800A0874 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc +/* 0A1478 800A0878 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A147C 800A087C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A1480 800A0880 8C820000 */ lw $v0, ($a0) /* 0A1484 800A0884 3C0AFB00 */ lui $t2, 0xfb00 /* 0A1488 800A0888 24480008 */ addiu $t0, $v0, 8 @@ -635,7 +635,7 @@ glabel func_800A01A0 /* 0A16EC 800A0AEC 000278C0 */ sll $t7, $v0, 3 /* 0A16F0 800A0AF0 00AFC821 */ addu $t9, $a1, $t7 /* 0A16F4 800A0AF4 AF200000 */ sw $zero, ($t9) -/* 0A16F8 800A0AF8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A16F8 800A0AF8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A16FC 800A0AFC 240900FF */ li $t1, 255 /* 0A1700 800A0B00 240800FF */ li $t0, 255 /* 0A1704 800A0B04 240A00FF */ li $t2, 255 @@ -644,13 +644,13 @@ glabel func_800A01A0 /* 0A1710 800A0B10 AFAA0018 */ sw $t2, 0x18($sp) /* 0A1714 800A0B14 AFA80014 */ sw $t0, 0x14($sp) /* 0A1718 800A0B18 AFA90010 */ sw $t1, 0x10($sp) -/* 0A171C 800A0B1C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A171C 800A0B1C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A1720 800A0B20 00003025 */ move $a2, $zero /* 0A1724 800A0B24 0C01E2AE */ jal render_textured_rectangle /* 0A1728 800A0B28 00003825 */ move $a3, $zero .L800A0B2C: -/* 0A172C 800A0B2C 3C0B8012 */ lui $t3, %hi(D_80126CFC) # $t3, 0x8012 -/* 0A1730 800A0B30 8D6B6CFC */ lw $t3, %lo(D_80126CFC)($t3) +/* 0A172C 800A0B2C 3C0B8012 */ lui $t3, %hi(gHUDCurrDisplayList) # $t3, 0x8012 +/* 0A1730 800A0B30 8D6B6CFC */ lw $t3, %lo(gHUDCurrDisplayList)($t3) /* 0A1734 800A0B34 8FAD0030 */ lw $t5, 0x30($sp) /* 0A1738 800A0B38 3C0E8012 */ lui $t6, %hi(D_80126D00) # $t6, 0x8012 /* 0A173C 800A0B3C ADAB0000 */ sw $t3, ($t5) diff --git a/asm/non_matchings/game_ui/func_800A0EB4.s b/asm/non_matchings/game_ui/func_800A0EB4.s deleted file mode 100644 index 54dd4cca..00000000 --- a/asm/non_matchings/game_ui/func_800A0EB4.s +++ /dev/null @@ -1,254 +0,0 @@ -.late_rodata -glabel jpt_800E86F8 -.word L800A0F28, L800A0F38, L800A0F48, L800A0F58, L800A0F6C, L800A0F80, L800A0F94, L800A0FAC - -.text -glabel func_800A0EB4 -/* 0A1AB4 800A0EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A1AB8 800A0EB8 3C0E800E */ lui $t6, %hi(D_800E2790) # $t6, 0x800e -/* 0A1ABC 800A0EBC 91CE2790 */ lbu $t6, %lo(D_800E2790)($t6) -/* 0A1AC0 800A0EC0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A1AC4 800A0EC4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A1AC8 800A0EC8 AFA40020 */ sw $a0, 0x20($sp) -/* 0A1ACC 800A0ECC 11C000DA */ beqz $t6, .L800A1238 -/* 0A1AD0 800A0ED0 AFA50024 */ sw $a1, 0x24($sp) -/* 0A1AD4 800A0ED4 808201F9 */ lb $v0, 0x1f9($a0) -/* 0A1AD8 800A0ED8 00000000 */ nop -/* 0A1ADC 800A0EDC 18400085 */ blez $v0, .L800A10F4 -/* 0A1AE0 800A0EE0 8FB90020 */ lw $t9, 0x20($sp) -/* 0A1AE4 800A0EE4 908301F8 */ lbu $v1, 0x1f8($a0) -/* 0A1AE8 800A0EE8 0045C823 */ subu $t9, $v0, $a1 -/* 0A1AEC 800A0EEC 1060007B */ beqz $v1, .L800A10DC -/* 0A1AF0 800A0EF0 A09901F9 */ sb $t9, 0x1f9($a0) -/* 0A1AF4 800A0EF4 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 -/* 0A1AF8 800A0EF8 8E106CDC */ lw $s0, %lo(D_80126CDC)($s0) -/* 0A1AFC 800A0EFC 2469FFFF */ addiu $t1, $v1, -1 -/* 0A1B00 800A0F00 2D210008 */ sltiu $at, $t1, 8 -/* 0A1B04 800A0F04 1020002D */ beqz $at, .L800A0FBC -/* 0A1B08 800A0F08 26100420 */ addiu $s0, $s0, 0x420 -/* 0A1B0C 800A0F0C 00094880 */ sll $t1, $t1, 2 -/* 0A1B10 800A0F10 3C01800F */ lui $at, %hi(jpt_800E86F8) # $at, 0x800f -/* 0A1B14 800A0F14 00290821 */ addu $at, $at, $t1 -/* 0A1B18 800A0F18 8C2986F8 */ lw $t1, %lo(jpt_800E86F8)($at) -/* 0A1B1C 800A0F1C 00000000 */ nop -/* 0A1B20 800A0F20 01200008 */ jr $t1 -/* 0A1B24 800A0F24 00000000 */ nop -glabel L800A0F28 -/* 0A1B28 800A0F28 240A0021 */ li $t2, 33 -/* 0A1B2C 800A0F2C A60A0006 */ sh $t2, 6($s0) -/* 0A1B30 800A0F30 10000025 */ b .L800A0FC8 -/* 0A1B34 800A0F34 A6000000 */ sh $zero, ($s0) -glabel L800A0F38 -/* 0A1B38 800A0F38 240B0020 */ li $t3, 32 -/* 0A1B3C 800A0F3C A60B0006 */ sh $t3, 6($s0) -/* 0A1B40 800A0F40 10000021 */ b .L800A0FC8 -/* 0A1B44 800A0F44 A6000000 */ sh $zero, ($s0) -glabel L800A0F48 -/* 0A1B48 800A0F48 240C001F */ li $t4, 31 -/* 0A1B4C 800A0F4C A60C0006 */ sh $t4, 6($s0) -/* 0A1B50 800A0F50 1000001D */ b .L800A0FC8 -/* 0A1B54 800A0F54 A6000000 */ sh $zero, ($s0) -glabel L800A0F58 -/* 0A1B58 800A0F58 24028000 */ li $v0, -32768 -/* 0A1B5C 800A0F5C 240D0021 */ li $t5, 33 -/* 0A1B60 800A0F60 A60D0006 */ sh $t5, 6($s0) -/* 0A1B64 800A0F64 10000018 */ b .L800A0FC8 -/* 0A1B68 800A0F68 A6020000 */ sh $v0, ($s0) -glabel L800A0F6C -/* 0A1B6C 800A0F6C 24028000 */ li $v0, -32768 -/* 0A1B70 800A0F70 240E0020 */ li $t6, 32 -/* 0A1B74 800A0F74 A60E0006 */ sh $t6, 6($s0) -/* 0A1B78 800A0F78 10000013 */ b .L800A0FC8 -/* 0A1B7C 800A0F7C A6020000 */ sh $v0, ($s0) -glabel L800A0F80 -/* 0A1B80 800A0F80 24028000 */ li $v0, -32768 -/* 0A1B84 800A0F84 2418001F */ li $t8, 31 -/* 0A1B88 800A0F88 A6180006 */ sh $t8, 6($s0) -/* 0A1B8C 800A0F8C 1000000E */ b .L800A0FC8 -/* 0A1B90 800A0F90 A6020000 */ sh $v0, ($s0) -glabel L800A0F94 -/* 0A1B94 800A0F94 24028000 */ li $v0, -32768 -/* 0A1B98 800A0F98 2419001E */ li $t9, 30 -/* 0A1B9C 800A0F9C A6190006 */ sh $t9, 6($s0) -/* 0A1BA0 800A0FA0 A6020000 */ sh $v0, ($s0) -/* 0A1BA4 800A0FA4 10000008 */ b .L800A0FC8 -/* 0A1BA8 800A0FA8 A6020002 */ sh $v0, 2($s0) -glabel L800A0FAC -/* 0A1BAC 800A0FAC 240F001E */ li $t7, 30 -/* 0A1BB0 800A0FB0 A60F0006 */ sh $t7, 6($s0) -/* 0A1BB4 800A0FB4 10000004 */ b .L800A0FC8 -/* 0A1BB8 800A0FB8 A6000000 */ sh $zero, ($s0) -.L800A0FBC: -/* 0A1BBC 800A0FBC 2409001D */ li $t1, 29 -/* 0A1BC0 800A0FC0 A6090006 */ sh $t1, 6($s0) -/* 0A1BC4 800A0FC4 A6000000 */ sh $zero, ($s0) -.L800A0FC8: -/* 0A1BC8 800A0FC8 0C0270C3 */ jal get_filtered_cheats -/* 0A1BCC 800A0FCC 00000000 */ nop -/* 0A1BD0 800A0FD0 304A0004 */ andi $t2, $v0, 4 -/* 0A1BD4 800A0FD4 1140000C */ beqz $t2, .L800A1008 -/* 0A1BD8 800A0FD8 3C188012 */ lui $t8, %hi(D_80126D0C) # $t8, 0x8012 -/* 0A1BDC 800A0FDC 8FA80020 */ lw $t0, 0x20($sp) -/* 0A1BE0 800A0FE0 00000000 */ nop -/* 0A1BE4 800A0FE4 910B01F8 */ lbu $t3, 0x1f8($t0) -/* 0A1BE8 800A0FE8 00000000 */ nop -/* 0A1BEC 800A0FEC 2961001E */ slti $at, $t3, 0x1e -/* 0A1BF0 800A0FF0 10200005 */ beqz $at, .L800A1008 -/* 0A1BF4 800A0FF4 00000000 */ nop -/* 0A1BF8 800A0FF8 860C0000 */ lh $t4, ($s0) -/* 0A1BFC 800A0FFC 340D8000 */ li $t5, 32768 -/* 0A1C00 800A1000 01AC7023 */ subu $t6, $t5, $t4 -/* 0A1C04 800A1004 A60E0000 */ sh $t6, ($s0) -.L800A1008: -/* 0A1C08 800A1008 8F186D0C */ lw $t8, %lo(D_80126D0C)($t8) -/* 0A1C0C 800A100C 8FA80020 */ lw $t0, 0x20($sp) -/* 0A1C10 800A1010 17000032 */ bnez $t8, .L800A10DC -/* 0A1C14 800A1014 00000000 */ nop -/* 0A1C18 800A1018 811901D8 */ lb $t9, 0x1d8($t0) -/* 0A1C1C 800A101C 00000000 */ nop -/* 0A1C20 800A1020 1720002E */ bnez $t9, .L800A10DC -/* 0A1C24 800A1024 00000000 */ nop -/* 0A1C28 800A1028 910F01F8 */ lbu $t7, 0x1f8($t0) -/* 0A1C2C 800A102C 3C09800E */ lui $t1, %hi(D_800E27B8) # $t1, 0x800e -/* 0A1C30 800A1030 11E0002A */ beqz $t7, .L800A10DC -/* 0A1C34 800A1034 00000000 */ nop -/* 0A1C38 800A1038 912927B8 */ lbu $t1, %lo(D_800E27B8)($t1) -/* 0A1C3C 800A103C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A1C40 800A1040 15200026 */ bnez $t1, .L800A10DC -/* 0A1C44 800A1044 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A1C48 800A1048 8C820000 */ lw $v0, ($a0) -/* 0A1C4C 800A104C 3C0BFA00 */ lui $t3, 0xfa00 -/* 0A1C50 800A1050 244A0008 */ addiu $t2, $v0, 8 -/* 0A1C54 800A1054 AC8A0000 */ sw $t2, ($a0) -/* 0A1C58 800A1058 240DFFA0 */ li $t5, -96 -/* 0A1C5C 800A105C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A1C60 800A1060 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A1C64 800A1064 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A1C68 800A1068 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A1C6C 800A106C 02003825 */ move $a3, $s0 -/* 0A1C70 800A1070 AC4D0004 */ sw $t5, 4($v0) -/* 0A1C74 800A1074 0C02A980 */ jal func_800AA600 -/* 0A1C78 800A1078 AC4B0000 */ sw $t3, ($v0) -/* 0A1C7C 800A107C C604000C */ lwc1 $f4, 0xc($s0) -/* 0A1C80 800A1080 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A1C84 800A1084 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A1C88 800A1088 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A1C8C 800A108C 46002187 */ neg.s $f6, $f4 -/* 0A1C90 800A1090 E606000C */ swc1 $f6, 0xc($s0) -/* 0A1C94 800A1094 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A1C98 800A1098 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A1C9C 800A109C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A1CA0 800A10A0 0C02A980 */ jal func_800AA600 -/* 0A1CA4 800A10A4 02003825 */ move $a3, $s0 -/* 0A1CA8 800A10A8 C608000C */ lwc1 $f8, 0xc($s0) -/* 0A1CAC 800A10AC 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A1CB0 800A10B0 46004287 */ neg.s $f10, $f8 -/* 0A1CB4 800A10B4 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc -/* 0A1CB8 800A10B8 E60A000C */ swc1 $f10, 0xc($s0) -/* 0A1CBC 800A10BC A6000002 */ sh $zero, 2($s0) -/* 0A1CC0 800A10C0 8CA20000 */ lw $v0, ($a1) -/* 0A1CC4 800A10C4 3C0EFA00 */ lui $t6, 0xfa00 -/* 0A1CC8 800A10C8 244C0008 */ addiu $t4, $v0, 8 -/* 0A1CCC 800A10CC ACAC0000 */ sw $t4, ($a1) -/* 0A1CD0 800A10D0 2418FFFF */ li $t8, -1 -/* 0A1CD4 800A10D4 AC580004 */ sw $t8, 4($v0) -/* 0A1CD8 800A10D8 AC4E0000 */ sw $t6, ($v0) -.L800A10DC: -/* 0A1CDC 800A10DC 3C02800E */ lui $v0, %hi(D_800E27B8) # $v0, 0x800e -/* 0A1CE0 800A10E0 904227B8 */ lbu $v0, %lo(D_800E27B8)($v0) -/* 0A1CE4 800A10E4 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A1CE8 800A10E8 10000007 */ b .L800A1108 -/* 0A1CEC 800A10EC 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc -/* 0A1CF0 800A10F0 8FB90020 */ lw $t9, 0x20($sp) -.L800A10F4: -/* 0A1CF4 800A10F4 3C02800E */ lui $v0, %hi(D_800E27B8) # $v0, 0x800e -/* 0A1CF8 800A10F8 A32001F9 */ sb $zero, 0x1f9($t9) -/* 0A1CFC 800A10FC 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A1D00 800A1100 904227B8 */ lbu $v0, %lo(D_800E27B8)($v0) -/* 0A1D04 800A1104 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc -.L800A1108: -/* 0A1D08 800A1108 1040004B */ beqz $v0, .L800A1238 -/* 0A1D0C 800A110C 304F0020 */ andi $t7, $v0, 0x20 -/* 0A1D10 800A1110 11E0003F */ beqz $t7, .L800A1210 -/* 0A1D14 800A1114 00402025 */ move $a0, $v0 -/* 0A1D18 800A1118 8CA20000 */ lw $v0, ($a1) -/* 0A1D1C 800A111C 3C0AFA00 */ lui $t2, 0xfa00 -/* 0A1D20 800A1120 24490008 */ addiu $t1, $v0, 8 -/* 0A1D24 800A1124 ACA90000 */ sw $t1, ($a1) -/* 0A1D28 800A1128 240BFFA0 */ li $t3, -96 -/* 0A1D2C 800A112C 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 -/* 0A1D30 800A1130 AC4B0004 */ sw $t3, 4($v0) -/* 0A1D34 800A1134 AC4A0000 */ sw $t2, ($v0) -/* 0A1D38 800A1138 8E106CDC */ lw $s0, %lo(D_80126CDC)($s0) -/* 0A1D3C 800A113C 240D001D */ li $t5, 29 -/* 0A1D40 800A1140 26100420 */ addiu $s0, $s0, 0x420 -/* 0A1D44 800A1144 A6000000 */ sh $zero, ($s0) -/* 0A1D48 800A1148 A6000002 */ sh $zero, 2($s0) -/* 0A1D4C 800A114C 0C0270C3 */ jal get_filtered_cheats -/* 0A1D50 800A1150 A60D0006 */ sh $t5, 6($s0) -/* 0A1D54 800A1154 304C0004 */ andi $t4, $v0, 4 -/* 0A1D58 800A1158 1180000C */ beqz $t4, .L800A118C -/* 0A1D5C 800A115C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A1D60 800A1160 8FAE0020 */ lw $t6, 0x20($sp) -/* 0A1D64 800A1164 00000000 */ nop -/* 0A1D68 800A1168 91D801F8 */ lbu $t8, 0x1f8($t6) -/* 0A1D6C 800A116C 00000000 */ nop -/* 0A1D70 800A1170 2B01001E */ slti $at, $t8, 0x1e -/* 0A1D74 800A1174 10200005 */ beqz $at, .L800A118C -/* 0A1D78 800A1178 00000000 */ nop -/* 0A1D7C 800A117C 86190000 */ lh $t9, ($s0) -/* 0A1D80 800A1180 340F8000 */ li $t7, 32768 -/* 0A1D84 800A1184 01F94823 */ subu $t1, $t7, $t9 -/* 0A1D88 800A1188 A6090000 */ sh $t1, ($s0) -.L800A118C: -/* 0A1D8C 800A118C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A1D90 800A1190 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A1D94 800A1194 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A1D98 800A1198 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A1D9C 800A119C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A1DA0 800A11A0 0C02A980 */ jal func_800AA600 -/* 0A1DA4 800A11A4 02003825 */ move $a3, $s0 -/* 0A1DA8 800A11A8 C610000C */ lwc1 $f16, 0xc($s0) -/* 0A1DAC 800A11AC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A1DB0 800A11B0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A1DB4 800A11B4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A1DB8 800A11B8 46008487 */ neg.s $f18, $f16 -/* 0A1DBC 800A11BC E612000C */ swc1 $f18, 0xc($s0) -/* 0A1DC0 800A11C0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A1DC4 800A11C4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A1DC8 800A11C8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A1DCC 800A11CC 0C02A980 */ jal func_800AA600 -/* 0A1DD0 800A11D0 02003825 */ move $a3, $s0 -/* 0A1DD4 800A11D4 C604000C */ lwc1 $f4, 0xc($s0) -/* 0A1DD8 800A11D8 3C028012 */ lui $v0, %hi(D_80126CFC) # $v0, 0x8012 -/* 0A1DDC 800A11DC 46002187 */ neg.s $f6, $f4 -/* 0A1DE0 800A11E0 E606000C */ swc1 $f6, 0xc($s0) -/* 0A1DE4 800A11E4 8C426CFC */ lw $v0, %lo(D_80126CFC)($v0) -/* 0A1DE8 800A11E8 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 -/* 0A1DEC 800A11EC 244A0008 */ addiu $t2, $v0, 8 -/* 0A1DF0 800A11F0 AC2A6CFC */ sw $t2, %lo(D_80126CFC)($at) -/* 0A1DF4 800A11F4 3C0BFA00 */ lui $t3, 0xfa00 -/* 0A1DF8 800A11F8 240DFFFF */ li $t5, -1 -/* 0A1DFC 800A11FC 3C04800E */ lui $a0, %hi(D_800E27B8) # $a0, 0x800e -/* 0A1E00 800A1200 AC4D0004 */ sw $t5, 4($v0) -/* 0A1E04 800A1204 AC4B0000 */ sw $t3, ($v0) -/* 0A1E08 800A1208 908427B8 */ lbu $a0, %lo(D_800E27B8)($a0) -/* 0A1E0C 800A120C 00000000 */ nop -.L800A1210: -/* 0A1E10 800A1210 8FAC0024 */ lw $t4, 0x24($sp) -/* 0A1E14 800A1214 00000000 */ nop -/* 0A1E18 800A1218 0184082A */ slt $at, $t4, $a0 -/* 0A1E1C 800A121C 10200004 */ beqz $at, .L800A1230 -/* 0A1E20 800A1220 008C7023 */ subu $t6, $a0, $t4 -/* 0A1E24 800A1224 3C01800E */ lui $at, %hi(D_800E27B8) # $at, 0x800e -/* 0A1E28 800A1228 10000003 */ b .L800A1238 -/* 0A1E2C 800A122C A02E27B8 */ sb $t6, %lo(D_800E27B8)($at) -.L800A1230: -/* 0A1E30 800A1230 3C01800E */ lui $at, %hi(D_800E27B8) # $at, 0x800e -/* 0A1E34 800A1234 A02027B8 */ sb $zero, %lo(D_800E27B8)($at) -.L800A1238: -/* 0A1E38 800A1238 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A1E3C 800A123C 8FB00018 */ lw $s0, 0x18($sp) -/* 0A1E40 800A1240 03E00008 */ jr $ra -/* 0A1E44 800A1244 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/game_ui/func_800A1248.s b/asm/non_matchings/game_ui/func_800A1248.s index 9adb479b..c5ac0f55 100644 --- a/asm/non_matchings/game_ui/func_800A1248.s +++ b/asm/non_matchings/game_ui/func_800A1248.s @@ -107,9 +107,9 @@ glabel func_800A1248 .L800A13C4: /* 0A1FC4 800A13C4 8FA8004C */ lw $t0, 0x4c($sp) .L800A13C8: -/* 0A1FC8 800A13C8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1FC8 800A13C8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A1FCC 800A13CC 8D070064 */ lw $a3, 0x64($t0) -/* 0A1FD0 800A13D0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1FD0 800A13D0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A1FD4 800A13D4 0C01ECF4 */ jal func_8007B3D0 /* 0A1FD8 800A13D8 AFA70044 */ sw $a3, 0x44($sp) /* 0A1FDC 800A13DC 8FA40044 */ lw $a0, 0x44($sp) diff --git a/asm/non_matchings/game_ui/func_800A19A4.s b/asm/non_matchings/game_ui/func_800A19A4.s index 89abce14..1a29720c 100644 --- a/asm/non_matchings/game_ui/func_800A19A4.s +++ b/asm/non_matchings/game_ui/func_800A19A4.s @@ -43,25 +43,25 @@ glabel func_800A19A4 /* 0A2648 800A1A48 00000000 */ nop .L800A1A4C: /* 0A264C 800A1A4C 8E470000 */ lw $a3, ($s2) -/* 0A2650 800A1A50 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012 +/* 0A2650 800A1A50 3C148012 */ lui $s4, %hi(gHUDCurrDisplayList) # $s4, 0x8012 /* 0A2654 800A1A54 3C158012 */ lui $s5, %hi(D_80126D00) # $s5, 0x8012 /* 0A2658 800A1A58 3C168012 */ lui $s6, %hi(D_80126D04) # $s6, 0x8012 /* 0A265C 800A1A5C 26C66D04 */ addiu $a2, $s6, %lo(D_80126D04) /* 0A2660 800A1A60 26A56D00 */ addiu $a1, $s5, %lo(D_80126D00) -/* 0A2664 800A1A64 26846CFC */ addiu $a0, $s4, %lo(D_80126CFC) +/* 0A2664 800A1A64 26846CFC */ addiu $a0, $s4, %lo(gHUDCurrDisplayList) /* 0A2668 800A1A68 24110003 */ li $s1, 3 /* 0A266C 800A1A6C 0C02A980 */ jal func_800AA600 /* 0A2670 800A1A70 24E70640 */ addiu $a3, $a3, 0x640 .L800A1A74: /* 0A2674 800A1A74 8E4A0000 */ lw $t2, ($s2) -/* 0A2678 800A1A78 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012 +/* 0A2678 800A1A78 3C148012 */ lui $s4, %hi(gHUDCurrDisplayList) # $s4, 0x8012 /* 0A267C 800A1A7C 8142067A */ lb $v0, 0x67a($t2) /* 0A2680 800A1A80 3C158012 */ lui $s5, %hi(D_80126D00) # $s5, 0x8012 /* 0A2684 800A1A84 3C168012 */ lui $s6, %hi(D_80126D04) # $s6, 0x8012 /* 0A2688 800A1A88 26D66D04 */ addiu $s6, %lo(D_80126D04) # addiu $s6, $s6, 0x6d04 /* 0A268C 800A1A8C 26B56D00 */ addiu $s5, %lo(D_80126D00) # addiu $s5, $s5, 0x6d00 /* 0A2690 800A1A90 04410005 */ bgez $v0, .L800A1AA8 -/* 0A2694 800A1A94 26946CFC */ addiu $s4, %lo(D_80126CFC) # addiu $s4, $s4, 0x6cfc +/* 0A2694 800A1A94 26946CFC */ addiu $s4, %lo(gHUDCurrDisplayList) # addiu $s4, $s4, 0x6cfc /* 0A2698 800A1A98 00025840 */ sll $t3, $v0, 1 /* 0A269C 800A1A9C 256C0100 */ addiu $t4, $t3, 0x100 /* 0A26A0 800A1AA0 10000005 */ b .L800A1AB8 diff --git a/asm/non_matchings/game_ui/func_800A22F4.s b/asm/non_matchings/game_ui/func_800A22F4.s index 3ceca655..6e36e1e1 100644 --- a/asm/non_matchings/game_ui/func_800A22F4.s +++ b/asm/non_matchings/game_ui/func_800A22F4.s @@ -29,22 +29,22 @@ glabel func_800A22F4 /* 0A2F5C 800A235C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 /* 0A2F60 800A2360 A02A6CD5 */ sb $t2, %lo(D_80126CD5)($at) /* 0A2F64 800A2364 8E070000 */ lw $a3, ($s0) -/* 0A2F68 800A2368 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2F68 800A2368 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A2F6C 800A236C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A2F70 800A2370 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A2F74 800A2374 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A2F78 800A2378 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A2F7C 800A237C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A2F7C 800A237C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A2F80 800A2380 0C02A980 */ jal func_800AA600 /* 0A2F84 800A2384 24E70640 */ addiu $a3, $a3, 0x640 /* 0A2F88 800A2388 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 -/* 0A2F8C 800A238C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2F8C 800A238C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A2F90 800A2390 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) /* 0A2F94 800A2394 0C01E015 */ jal init_rdp_and_framebuffer -/* 0A2F98 800A2398 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A2F9C 800A239C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2F98 800A2398 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc +/* 0A2F9C 800A239C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A2FA0 800A23A0 0C01ECF4 */ jal func_8007B3D0 -/* 0A2FA4 800A23A4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A2FA4 800A23A4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A2FA8 800A23A8 8FAB0020 */ lw $t3, 0x20($sp) .L800A23AC: /* 0A2FAC 800A23AC 2403000A */ li $v1, 10 @@ -82,12 +82,12 @@ glabel func_800A22F4 /* 0A3024 800A2424 00000000 */ nop /* 0A3028 800A2428 0006000D */ break 6 .L800A242C: -/* 0A302C 800A242C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A302C 800A242C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A3030 800A2430 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A3034 800A2434 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A3038 800A2438 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A303C 800A243C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A3040 800A2440 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A3040 800A2440 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A3044 800A2444 00007012 */ mflo $t6 /* 0A3048 800A2448 A5EE06D8 */ sh $t6, 0x6d8($t7) /* 0A304C 800A244C 8FB80020 */ lw $t8, 0x20($sp) @@ -113,12 +113,12 @@ glabel func_800A22F4 /* 0A3094 800A2494 24E706E0 */ addiu $a3, $a3, 0x6e0 .L800A2498: /* 0A3098 800A2498 8E070000 */ lw $a3, ($s0) -/* 0A309C 800A249C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A309C 800A249C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A30A0 800A24A0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A30A4 800A24A4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A30A8 800A24A8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A30AC 800A24AC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A30B0 800A24B0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A30B0 800A24B0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A30B4 800A24B4 0C02A980 */ jal func_800AA600 /* 0A30B8 800A24B8 24E706C0 */ addiu $a3, $a3, 0x6c0 /* 0A30BC 800A24BC 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 @@ -146,10 +146,10 @@ glabel func_800A22F4 /* 0A3110 800A2510 1083001A */ beq $a0, $v1, .L800A257C /* 0A3114 800A2514 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A3118 800A2518 8E070000 */ lw $a3, ($s0) -/* 0A311C 800A251C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A311C 800A251C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A3120 800A2520 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A3124 800A2524 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A3128 800A2528 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A3128 800A2528 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A312C 800A252C 0C02A980 */ jal func_800AA600 /* 0A3130 800A2530 24E706A0 */ addiu $a3, $a3, 0x6a0 /* 0A3134 800A2534 0C01EFC7 */ jal func_8007BF1C @@ -158,12 +158,12 @@ glabel func_800A22F4 /* 0A3140 800A2540 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 /* 0A3144 800A2544 A02C6CD5 */ sb $t4, %lo(D_80126CD5)($at) /* 0A3148 800A2548 8E070000 */ lw $a3, ($s0) -/* 0A314C 800A254C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A314C 800A254C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A3150 800A2550 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A3154 800A2554 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A3158 800A2558 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A315C 800A255C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A3160 800A2560 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A3160 800A2560 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A3164 800A2564 0C02A980 */ jal func_800AA600 /* 0A3168 800A2568 24E70680 */ addiu $a3, $a3, 0x680 /* 0A316C 800A256C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 diff --git a/asm/non_matchings/game_ui/func_800A277C.s b/asm/non_matchings/game_ui/func_800A277C.s index 5d6dc77d..8f0bab90 100644 --- a/asm/non_matchings/game_ui/func_800A277C.s +++ b/asm/non_matchings/game_ui/func_800A277C.s @@ -293,8 +293,8 @@ glabel func_800A277C /* 0A3764 800A2B64 00000000 */ nop .L800A2B68: /* 0A3768 800A2B68 8E270000 */ lw $a3, ($s1) -/* 0A376C 800A2B6C 3C128012 */ lui $s2, %hi(D_80126CFC) # $s2, 0x8012 -/* 0A3770 800A2B70 26526CFC */ addiu $s2, %lo(D_80126CFC) # addiu $s2, $s2, 0x6cfc +/* 0A376C 800A2B6C 3C128012 */ lui $s2, %hi(gHUDCurrDisplayList) # $s2, 0x8012 +/* 0A3770 800A2B70 26526CFC */ addiu $s2, %lo(gHUDCurrDisplayList) # addiu $s2, $s2, 0x6cfc /* 0A3774 800A2B74 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A3778 800A2B78 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A377C 800A2B7C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 @@ -439,7 +439,7 @@ glabel func_800A277C /* 0A3980 800A2D80 A1E00020 */ sb $zero, 0x20($t7) /* 0A3984 800A2D84 8FA400A0 */ lw $a0, 0xa0($sp) /* 0A3988 800A2D88 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A398C 800A2D8C 0C0283AD */ jal func_800A0EB4 +/* 0A398C 800A2D8C 0C0283AD */ jal render_course_indicator_arrows /* 0A3990 800A2D90 00000000 */ nop /* 0A3994 800A2D94 8FA900A0 */ lw $t1, 0xa0($sp) /* 0A3998 800A2D98 00000000 */ nop @@ -866,7 +866,7 @@ glabel func_800A277C /* 0A3FD8 800A33D8 00000000 */ nop /* 0A3FDC 800A33DC 8FA400A0 */ lw $a0, 0xa0($sp) /* 0A3FE0 800A33E0 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A3FE4 800A33E4 0C029EDA */ jal func_800A7B68 +/* 0A3FE4 800A33E4 0C029EDA */ jal render_race_time /* 0A3FE8 800A33E8 00000000 */ nop /* 0A3FEC 800A33EC 8FA400A0 */ lw $a0, 0xa0($sp) /* 0A3FF0 800A33F0 8FA500C8 */ lw $a1, 0xc8($sp) @@ -874,7 +874,7 @@ glabel func_800A277C /* 0A3FF8 800A33F8 00000000 */ nop /* 0A3FFC 800A33FC 8FA400A0 */ lw $a0, 0xa0($sp) /* 0A4000 800A3400 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A4004 800A3404 0C029699 */ jal func_800A5A64 +/* 0A4004 800A3404 0C029699 */ jal render_wrong_way_text /* 0A4008 800A3408 00000000 */ nop /* 0A400C 800A340C 8FA400C0 */ lw $a0, 0xc0($sp) /* 0A4010 800A3410 8FA500C8 */ lw $a1, 0xc8($sp) diff --git a/asm/non_matchings/game_ui/func_800A3884.s b/asm/non_matchings/game_ui/func_800A3884.s index 79597a4f..8d82bda4 100644 --- a/asm/non_matchings/game_ui/func_800A3884.s +++ b/asm/non_matchings/game_ui/func_800A3884.s @@ -11,7 +11,7 @@ glabel func_800A3884 /* 0A4494 800A3894 AFBF0014 */ sw $ra, 0x14($sp) /* 0A4498 800A3898 15C1010E */ bne $t6, $at, .L800A3CD4 /* 0A449C 800A389C AFA5002C */ sw $a1, 0x2c($sp) -/* 0A44A0 800A38A0 0C019944 */ jal func_80066510 +/* 0A44A0 800A38A0 0C019944 */ jal check_if_showing_cutscene_camera /* 0A44A4 800A38A4 AFA40028 */ sw $a0, 0x28($sp) /* 0A44A8 800A38A8 8FA40028 */ lw $a0, 0x28($sp) /* 0A44AC 800A38AC 1440010A */ bnez $v0, .L800A3CD8 @@ -157,9 +157,9 @@ glabel func_800A3884 /* 0A46B8 800A3AB8 81CE27A4 */ lb $t6, %lo(D_800E27A4)($t6) /* 0A46BC 800A3ABC 3C0F8012 */ lui $t7, %hi(D_80126CD3) # $t7, 0x8012 /* 0A46C0 800A3AC0 15C00084 */ bnez $t6, .L800A3CD4 -/* 0A46C4 800A3AC4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A46C4 800A3AC4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A46C8 800A3AC8 81EF6CD3 */ lb $t7, %lo(D_80126CD3)($t7) -/* 0A46CC 800A3ACC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A46CC 800A3ACC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A46D0 800A3AD0 31F80002 */ andi $t8, $t7, 2 /* 0A46D4 800A3AD4 1300001F */ beqz $t8, .L800A3B54 /* 0A46D8 800A3AD8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 @@ -205,13 +205,13 @@ glabel func_800A3884 /* 0A476C 800A3B6C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A4770 800A3B70 0C02A980 */ jal func_800AA600 /* 0A4774 800A3B74 24E705A0 */ addiu $a3, $a3, 0x5a0 -/* 0A4778 800A3B78 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4778 800A3B78 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A477C 800A3B7C 0C01ECF4 */ jal func_8007B3D0 -/* 0A4780 800A3B80 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4780 800A3B80 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4784 800A3B84 0C01EFC7 */ jal func_8007BF1C /* 0A4788 800A3B88 24040001 */ li $a0, 1 -/* 0A478C 800A3B8C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A4790 800A3B90 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A478C 800A3B8C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A4790 800A3B90 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4794 800A3B94 8C830000 */ lw $v1, ($a0) /* 0A4798 800A3B98 3C0DFA00 */ lui $t5, 0xfa00 /* 0A479C 800A3B9C 246C0008 */ addiu $t4, $v1, 8 @@ -234,62 +234,62 @@ glabel func_800A3884 /* 0A47E0 800A3BE0 00002025 */ move $a0, $zero /* 0A47E4 800A3BE4 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A47E8 800A3BE8 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A47EC 800A3BEC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A47EC 800A3BEC 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A47F0 800A3BF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A47F4 800A3BF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A47F8 800A3BF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A47FC 800A3BFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4800 800A3C00 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4800 800A3C00 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4804 800A3C04 0C02A980 */ jal func_800AA600 /* 0A4808 800A3C08 24E704E0 */ addiu $a3, $a3, 0x4e0 /* 0A480C 800A3C0C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A4810 800A3C10 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A4814 800A3C14 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4814 800A3C14 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4818 800A3C18 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A481C 800A3C1C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4820 800A3C20 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A4824 800A3C24 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4828 800A3C28 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4828 800A3C28 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A482C 800A3C2C 0C02A980 */ jal func_800AA600 /* 0A4830 800A3C30 24E70500 */ addiu $a3, $a3, 0x500 /* 0A4834 800A3C34 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A4838 800A3C38 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A483C 800A3C3C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A483C 800A3C3C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4840 800A3C40 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A4844 800A3C44 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4848 800A3C48 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A484C 800A3C4C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4850 800A3C50 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4850 800A3C50 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4854 800A3C54 0C02A980 */ jal func_800AA600 /* 0A4858 800A3C58 24E70520 */ addiu $a3, $a3, 0x520 /* 0A485C 800A3C5C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A4860 800A3C60 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A4864 800A3C64 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4864 800A3C64 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4868 800A3C68 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A486C 800A3C6C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4870 800A3C70 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A4874 800A3C74 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4878 800A3C78 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4878 800A3C78 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A487C 800A3C7C 0C02A980 */ jal func_800AA600 /* 0A4880 800A3C80 24E70540 */ addiu $a3, $a3, 0x540 /* 0A4884 800A3C84 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A4888 800A3C88 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A488C 800A3C8C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A488C 800A3C8C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4890 800A3C90 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A4894 800A3C94 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4898 800A3C98 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A489C 800A3C9C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A48A0 800A3CA0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A48A0 800A3CA0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A48A4 800A3CA4 0C02A980 */ jal func_800AA600 /* 0A48A8 800A3CA8 24E70560 */ addiu $a3, $a3, 0x560 /* 0A48AC 800A3CAC 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A48B0 800A3CB0 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A48B4 800A3CB4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A48B4 800A3CB4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A48B8 800A3CB8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A48BC 800A3CBC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A48C0 800A3CC0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A48C4 800A3CC4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A48C8 800A3CC8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A48C8 800A3CC8 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A48CC 800A3CCC 0C02A980 */ jal func_800AA600 /* 0A48D0 800A3CD0 24E70580 */ addiu $a3, $a3, 0x580 .L800A3CD4: diff --git a/asm/non_matchings/game_ui/func_800A3CE4.s b/asm/non_matchings/game_ui/func_800A3CE4.s index d268c2b4..7b1e1760 100644 --- a/asm/non_matchings/game_ui/func_800A3CE4.s +++ b/asm/non_matchings/game_ui/func_800A3CE4.s @@ -35,8 +35,8 @@ glabel func_800A3CE4 /* 0A4960 800A3D60 01695823 */ subu $t3, $t3, $t1 /* 0A4964 800A3D64 24010028 */ li $at, 40 /* 0A4968 800A3D68 0161001A */ div $zero, $t3, $at -/* 0A496C 800A3D6C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A4970 800A3D70 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A496C 800A3D6C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A4970 800A3D70 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4974 800A3D74 8C820000 */ lw $v0, ($a0) /* 0A4978 800A3D78 2401FF00 */ li $at, -256 /* 0A497C 800A3D7C 24590008 */ addiu $t9, $v0, 8 @@ -56,8 +56,8 @@ glabel func_800A3CE4 /* 0A49B4 800A3DB4 8D070000 */ lw $a3, ($t0) /* 0A49B8 800A3DB8 0C02A980 */ jal func_800AA600 /* 0A49BC 800A3DBC 24E701A0 */ addiu $a3, $a3, 0x1a0 -/* 0A49C0 800A3DC0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A49C4 800A3DC4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A49C0 800A3DC0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A49C4 800A3DC4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A49C8 800A3DC8 8C820000 */ lw $v0, ($a0) /* 0A49CC 800A3DCC 3C18FA00 */ lui $t8, 0xfa00 /* 0A49D0 800A3DD0 244F0008 */ addiu $t7, $v0, 8 @@ -165,9 +165,9 @@ glabel func_800A3CE4 /* 0A4B60 800A3F60 3C01C348 */ li $at, 0xC3480000 # -200.000000 /* 0A4B64 800A3F64 44819000 */ mtc1 $at, $f18 /* 0A4B68 800A3F68 C5E6018C */ lwc1 $f6, 0x18c($t7) -/* 0A4B6C 800A3F6C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4B6C 800A3F6C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4B70 800A3F70 4606903C */ c.lt.s $f18, $f6 -/* 0A4B74 800A3F74 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4B74 800A3F74 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4B78 800A3F78 45000070 */ bc1f .L800A413C /* 0A4B7C 800A3F7C 3C19FA00 */ lui $t9, 0xfa00 /* 0A4B80 800A3F80 8C820000 */ lw $v0, ($a0) @@ -183,8 +183,8 @@ glabel func_800A3CE4 /* 0A4BA8 800A3FA8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A4BAC 800A3FAC 0C02A980 */ jal func_800AA600 /* 0A4BB0 800A3FB0 24E70180 */ addiu $a3, $a3, 0x180 -/* 0A4BB4 800A3FB4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A4BB8 800A3FB8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4BB4 800A3FB4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A4BB8 800A3FB8 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4BBC 800A3FBC 8C820000 */ lw $v0, ($a0) /* 0A4BC0 800A3FC0 3C0CFA00 */ lui $t4, 0xfa00 /* 0A4BC4 800A3FC4 244B0008 */ addiu $t3, $v0, 8 diff --git a/asm/non_matchings/game_ui/func_800A4154.s b/asm/non_matchings/game_ui/func_800A4154.s index f154caa7..fee7b60c 100644 --- a/asm/non_matchings/game_ui/func_800A4154.s +++ b/asm/non_matchings/game_ui/func_800A4154.s @@ -55,12 +55,12 @@ glabel func_800A4154 /* 0A4E20 800A4220 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 /* 0A4E24 800A4224 26106CDC */ addiu $s0, %lo(D_80126CDC) # addiu $s0, $s0, 0x6cdc /* 0A4E28 800A4228 8E070000 */ lw $a3, ($s0) -/* 0A4E2C 800A422C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4E2C 800A422C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4E30 800A4230 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A4E34 800A4234 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4E38 800A4238 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A4E3C 800A423C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4E40 800A4240 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4E40 800A4240 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4E44 800A4244 0C02A980 */ jal func_800AA600 /* 0A4E48 800A4248 24E70240 */ addiu $a3, $a3, 0x240 /* 0A4E4C 800A424C 8FA60040 */ lw $a2, 0x40($sp) @@ -123,18 +123,18 @@ glabel func_800A4154 /* 0A4F28 800A4328 24040001 */ li $a0, 1 /* 0A4F2C 800A432C 0C01EFC7 */ jal func_8007BF1C /* 0A4F30 800A4330 AFA30024 */ sw $v1, 0x24($sp) -/* 0A4F34 800A4334 0C019826 */ jal func_80066098 +/* 0A4F34 800A4334 0C019826 */ jal set_viewport_tv_type /* 0A4F38 800A4338 24040001 */ li $a0, 1 /* 0A4F3C 800A433C 8E070000 */ lw $a3, ($s0) -/* 0A4F40 800A4340 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4F40 800A4340 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A4F44 800A4344 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A4F48 800A4348 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A4F4C 800A434C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A4F50 800A4350 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A4F54 800A4354 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4F54 800A4354 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A4F58 800A4358 0C02A980 */ jal func_800AA600 /* 0A4F5C 800A435C 24E70360 */ addiu $a3, $a3, 0x360 -/* 0A4F60 800A4360 0C019826 */ jal func_80066098 +/* 0A4F60 800A4360 0C019826 */ jal set_viewport_tv_type /* 0A4F64 800A4364 00002025 */ move $a0, $zero /* 0A4F68 800A4368 0C01EFC7 */ jal func_8007BF1C /* 0A4F6C 800A436C 00002025 */ move $a0, $zero @@ -177,18 +177,18 @@ glabel func_800A4154 .L800A4400: /* 0A5000 800A4400 A44C0398 */ sh $t4, 0x398($v0) .L800A4404: -/* 0A5004 800A4404 0C019826 */ jal func_80066098 +/* 0A5004 800A4404 0C019826 */ jal set_viewport_tv_type /* 0A5008 800A4408 24040001 */ li $a0, 1 /* 0A500C 800A440C 8E070000 */ lw $a3, ($s0) -/* 0A5010 800A4410 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5010 800A4410 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5014 800A4414 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5018 800A4418 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A501C 800A441C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5020 800A4420 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5024 800A4424 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5024 800A4424 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5028 800A4428 0C02A980 */ jal func_800AA600 /* 0A502C 800A442C 24E70380 */ addiu $a3, $a3, 0x380 -/* 0A5030 800A4430 0C019826 */ jal func_80066098 +/* 0A5030 800A4430 0C019826 */ jal set_viewport_tv_type /* 0A5034 800A4434 00002025 */ move $a0, $zero /* 0A5038 800A4438 8E020000 */ lw $v0, ($s0) /* 0A503C 800A443C 10000022 */ b .L800A44C8 @@ -201,20 +201,20 @@ glabel func_800A4154 /* 0A5054 800A4454 A5AB00F8 */ sh $t3, 0xf8($t5) /* 0A5058 800A4458 0C01EFC7 */ jal func_8007BF1C /* 0A505C 800A445C 24040001 */ li $a0, 1 -/* 0A5060 800A4460 0C019826 */ jal func_80066098 +/* 0A5060 800A4460 0C019826 */ jal set_viewport_tv_type /* 0A5064 800A4464 24040001 */ li $a0, 1 /* 0A5068 800A4468 8E070000 */ lw $a3, ($s0) -/* 0A506C 800A446C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A506C 800A446C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5070 800A4470 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5074 800A4474 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A5078 800A4478 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A507C 800A447C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5080 800A4480 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5080 800A4480 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5084 800A4484 0C02A980 */ jal func_800AA600 /* 0A5088 800A4488 24E700E0 */ addiu $a3, $a3, 0xe0 /* 0A508C 800A448C 0C01EFC7 */ jal func_8007BF1C /* 0A5090 800A4490 00002025 */ move $a0, $zero -/* 0A5094 800A4494 0C019826 */ jal func_80066098 +/* 0A5094 800A4494 0C019826 */ jal set_viewport_tv_type /* 0A5098 800A4498 00002025 */ move $a0, $zero /* 0A509C 800A449C 0C01A142 */ jal func_80068508 /* 0A50A0 800A44A0 24040001 */ li $a0, 1 @@ -258,12 +258,12 @@ glabel func_800A4154 /* 0A5128 800A4528 00000000 */ nop /* 0A512C 800A452C 0006000D */ break 6 .L800A4530: -/* 0A5130 800A4530 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5130 800A4530 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5134 800A4534 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5138 800A4538 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A513C 800A453C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5140 800A4540 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5144 800A4544 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5144 800A4544 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5148 800A4548 0000C010 */ mfhi $t8 /* 0A514C 800A454C A7380138 */ sh $t8, 0x138($t9) /* 0A5150 800A4550 8E070000 */ lw $a3, ($s0) @@ -289,19 +289,19 @@ glabel func_800A4154 /* 0A5194 800A4594 00000000 */ nop /* 0A5198 800A4598 8E070000 */ lw $a3, ($s0) .L800A459C: -/* 0A519C 800A459C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A519C 800A459C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A51A0 800A45A0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A51A4 800A45A4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A51A8 800A45A8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A51AC 800A45AC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A51B0 800A45B0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A51B0 800A45B0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A51B4 800A45B4 0C02A980 */ jal func_800AA600 /* 0A51B8 800A45B8 24E70100 */ addiu $a3, $a3, 0x100 -/* 0A51BC 800A45BC 3C038012 */ lui $v1, %hi(D_80126CFC) # $v1, 0x8012 -/* 0A51C0 800A45C0 8C636CFC */ lw $v1, %lo(D_80126CFC)($v1) -/* 0A51C4 800A45C4 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A51BC 800A45BC 3C038012 */ lui $v1, %hi(gHUDCurrDisplayList) # $v1, 0x8012 +/* 0A51C0 800A45C0 8C636CFC */ lw $v1, %lo(gHUDCurrDisplayList)($v1) +/* 0A51C4 800A45C4 3C018012 */ lui $at, %hi(gHUDCurrDisplayList) # $at, 0x8012 /* 0A51C8 800A45C8 246C0008 */ addiu $t4, $v1, 8 -/* 0A51CC 800A45CC AC2C6CFC */ sw $t4, %lo(D_80126CFC)($at) +/* 0A51CC 800A45CC AC2C6CFC */ sw $t4, %lo(gHUDCurrDisplayList)($at) /* 0A51D0 800A45D0 3C0BFA00 */ lui $t3, 0xfa00 /* 0A51D4 800A45D4 240DFFFF */ li $t5, -1 /* 0A51D8 800A45D8 AC6D0004 */ sw $t5, 4($v1) diff --git a/asm/non_matchings/game_ui/func_800A45F0.s b/asm/non_matchings/game_ui/func_800A45F0.s index fb1a03e8..308a5732 100644 --- a/asm/non_matchings/game_ui/func_800A45F0.s +++ b/asm/non_matchings/game_ui/func_800A45F0.s @@ -44,13 +44,13 @@ glabel func_800A45F0 /* 0A5294 800A4694 8EE70000 */ lw $a3, ($s7) /* 0A5298 800A4698 26526CD5 */ addiu $s2, %lo(D_80126CD5) # addiu $s2, $s2, 0x6cd5 /* 0A529C 800A469C 241E0001 */ li $fp, 1 -/* 0A52A0 800A46A0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A52A0 800A46A0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A52A4 800A46A4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A52A8 800A46A8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A52AC 800A46AC A25E0000 */ sb $fp, ($s2) /* 0A52B0 800A46B0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A52B4 800A46B4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A52B8 800A46B8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A52B8 800A46B8 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A52BC 800A46BC 0C02A980 */ jal func_800AA600 /* 0A52C0 800A46C0 24E70640 */ addiu $a3, $a3, 0x640 /* 0A52C4 800A46C4 A2400000 */ sb $zero, ($s2) @@ -71,7 +71,7 @@ glabel func_800A45F0 /* 0A52F8 800A46F8 8EF10000 */ lw $s1, ($s7) /* 0A52FC 800A46FC 0209082A */ slt $at, $s0, $t1 /* 0A5300 800A4700 14200002 */ bnez $at, .L800A470C -/* 0A5304 800A4704 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5304 800A4704 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5308 800A4708 AEB30000 */ sw $s3, ($s5) .L800A470C: /* 0A530C 800A470C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 @@ -79,7 +79,7 @@ glabel func_800A45F0 /* 0A5314 800A4714 A25E0000 */ sb $fp, ($s2) /* 0A5318 800A4718 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A531C 800A471C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5320 800A4720 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5320 800A4720 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5324 800A4724 0C02A980 */ jal func_800AA600 /* 0A5328 800A4728 26270400 */ addiu $a3, $s1, 0x400 /* 0A532C 800A472C 8EF10000 */ lw $s1, ($s7) diff --git a/asm/non_matchings/game_ui/func_800A47A0.s b/asm/non_matchings/game_ui/func_800A47A0.s index 875c9a6d..0d5a37e2 100644 --- a/asm/non_matchings/game_ui/func_800A47A0.s +++ b/asm/non_matchings/game_ui/func_800A47A0.s @@ -21,7 +21,7 @@ glabel func_800A47A0 /* 0A53EC 800A47EC C62405D0 */ lwc1 $f4, 0x5d0($s1) /* 0A53F0 800A47F0 3C128080 */ lui $s2, (0x80808080 >> 16) # lui $s2, 0x8080 /* 0A53F4 800A47F4 460021A4 */ cvt.w.s $f6, $f4 -/* 0A53F8 800A47F8 3C138012 */ lui $s3, %hi(D_80126CFC) # $s3, 0x8012 +/* 0A53F8 800A47F8 3C138012 */ lui $s3, %hi(gHUDCurrDisplayList) # $s3, 0x8012 /* 0A53FC 800A47FC 440F3000 */ mfc1 $t7, $f6 /* 0A5400 800A4800 44CEF800 */ ctc1 $t6, $31 /* 0A5404 800A4804 448F4000 */ mtc1 $t7, $f8 @@ -41,7 +41,7 @@ glabel func_800A47A0 /* 0A543C 800A483C 26946D00 */ addiu $s4, %lo(D_80126D00) # addiu $s4, $s4, 0x6d00 /* 0A5440 800A4840 44089000 */ mfc1 $t0, $f18 /* 0A5444 800A4844 44D9F800 */ ctc1 $t9, $31 -/* 0A5448 800A4848 26736CFC */ addiu $s3, %lo(D_80126CFC) # addiu $s3, $s3, 0x6cfc +/* 0A5448 800A4848 26736CFC */ addiu $s3, %lo(gHUDCurrDisplayList) # addiu $s3, $s3, 0x6cfc /* 0A544C 800A484C 36528080 */ ori $s2, (0x80808080 & 0xFFFF) # ori $s2, $s2, 0x8080 /* 0A5450 800A4850 00008025 */ move $s0, $zero /* 0A5454 800A4854 24170008 */ li $s7, 8 diff --git a/asm/non_matchings/game_ui/func_800A497C.s b/asm/non_matchings/game_ui/func_800A497C.s index e51f9599..09f7c1c6 100644 --- a/asm/non_matchings/game_ui/func_800A497C.s +++ b/asm/non_matchings/game_ui/func_800A497C.s @@ -147,8 +147,8 @@ glabel func_800A497C .L800A4BA0: /* 0A57A0 800A4BA0 00000000 */ nop /* 0A57A4 800A4BA4 11A0001F */ beqz $t5, .L800A4C24 -/* 0A57A8 800A4BA8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A57AC 800A4BAC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A57A8 800A4BA8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A57AC 800A4BAC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A57B0 800A4BB0 8C830000 */ lw $v1, ($a0) /* 0A57B4 800A4BB4 3C0FFA00 */ lui $t7, 0xfa00 /* 0A57B8 800A4BB8 246E0008 */ addiu $t6, $v1, 8 @@ -161,16 +161,16 @@ glabel func_800A497C /* 0A57D4 800A4BD4 AC780004 */ sw $t8, 4($v1) /* 0A57D8 800A4BD8 0C02A980 */ jal func_800AA600 /* 0A57DC 800A4BDC AC6F0000 */ sw $t7, ($v1) -/* 0A57E0 800A4BE0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A57E0 800A4BE0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A57E4 800A4BE4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A57E8 800A4BE8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A57EC 800A4BEC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A57EC 800A4BEC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A57F0 800A4BF0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A57F4 800A4BF4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A57F8 800A4BF8 0C02A980 */ jal func_800AA600 /* 0A57FC 800A4BFC 02003825 */ move $a3, $s0 -/* 0A5800 800A4C00 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A5804 800A4C04 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5800 800A4C00 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A5804 800A4C04 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5808 800A4C08 8C830000 */ lw $v1, ($a0) /* 0A580C 800A4C0C 3C08FA00 */ lui $t0, 0xfa00 /* 0A5810 800A4C10 24790008 */ addiu $t9, $v1, 8 diff --git a/asm/non_matchings/game_ui/func_800A4C44.s b/asm/non_matchings/game_ui/func_800A4C44.s index 118e1498..c48971b2 100644 --- a/asm/non_matchings/game_ui/func_800A4C44.s +++ b/asm/non_matchings/game_ui/func_800A4C44.s @@ -49,7 +49,7 @@ glabel func_800A4C44 /* 0A58F4 800A4CF4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A58F8 800A4CF8 28610004 */ slti $at, $v1, 4 /* 0A58FC 800A4CFC 10200005 */ beqz $at, .L800A4D14 -/* 0A5900 800A4D00 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5900 800A4D00 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5904 800A4D04 8D0C0000 */ lw $t4, ($t0) /* 0A5908 800A4D08 246BFFFF */ addiu $t3, $v1, -1 /* 0A590C 800A4D0C 10000004 */ b .L800A4D20 @@ -64,7 +64,7 @@ glabel func_800A4C44 /* 0A5928 800A4D28 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A592C 800A4D2C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5930 800A4D30 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5934 800A4D34 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5934 800A4D34 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5938 800A4D38 AFA30034 */ sw $v1, 0x34($sp) /* 0A593C 800A4D3C 0C02A980 */ jal func_800AA600 /* 0A5940 800A4D40 24E70020 */ addiu $a3, $a3, 0x20 @@ -112,7 +112,7 @@ glabel func_800A4C44 /* 0A59E4 800A4DE4 44819800 */ mtc1 $at, $f19 /* 0A59E8 800A4DE8 44809000 */ mtc1 $zero, $f18 /* 0A59EC 800A4DEC 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 0A59F0 800A4DF0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A59F0 800A4DF0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A59F4 800A4DF4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A59F8 800A4DF8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A59FC 800A4DFC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 @@ -121,7 +121,7 @@ glabel func_800A4C44 /* 0A5A08 800A4E08 46309100 */ add.d $f4, $f18, $f16 /* 0A5A0C 800A4E0C 44819000 */ mtc1 $at, $f18 /* 0A5A10 800A4E10 46243200 */ add.d $f8, $f6, $f4 -/* 0A5A14 800A4E14 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5A14 800A4E14 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5A18 800A4E18 462042A0 */ cvt.s.d $f10, $f8 /* 0A5A1C 800A4E1C E44A0008 */ swc1 $f10, 8($v0) /* 0A5A20 800A4E20 8D020000 */ lw $v0, ($t0) diff --git a/asm/non_matchings/game_ui/func_800A4F50.s b/asm/non_matchings/game_ui/func_800A4F50.s index a3fc586a..8a29aac9 100644 --- a/asm/non_matchings/game_ui/func_800A4F50.s +++ b/asm/non_matchings/game_ui/func_800A4F50.s @@ -48,7 +48,7 @@ glabel func_800A4F50 /* 0A5C00 800A5000 8D020000 */ lw $v0, ($t0) /* 0A5C04 800A5004 8FB8001C */ lw $t8, 0x1c($sp) /* 0A5C08 800A5008 804E021A */ lb $t6, 0x21a($v0) -/* 0A5C0C 800A500C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5C0C 800A500C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5C10 800A5010 01D8C821 */ addu $t9, $t6, $t8 /* 0A5C14 800A5014 A059021A */ sb $t9, 0x21a($v0) /* 0A5C18 800A5018 8D020000 */ lw $v0, ($t0) @@ -57,7 +57,7 @@ glabel func_800A4F50 /* 0A5C24 800A5024 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A5C28 800A5028 29A10007 */ slti $at, $t5, 7 /* 0A5C2C 800A502C 14200015 */ bnez $at, .L800A5084 -/* 0A5C30 800A5030 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5C30 800A5030 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5C34 800A5034 844C0218 */ lh $t4, 0x218($v0) /* 0A5C38 800A5038 00000000 */ nop /* 0A5C3C 800A503C 258B0001 */ addiu $t3, $t4, 1 @@ -87,12 +87,12 @@ glabel func_800A4F50 /* 0A5C94 800A5094 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A5C98 800A5098 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A5C9C 800A509C 8D070000 */ lw $a3, ($t0) -/* 0A5CA0 800A50A0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5CA0 800A50A0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5CA4 800A50A4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5CA8 800A50A8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A5CAC 800A50AC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5CB0 800A50B0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5CB4 800A50B4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5CB4 800A50B4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5CB8 800A50B8 0C02A980 */ jal func_800AA600 /* 0A5CBC 800A50BC 24E70060 */ addiu $a3, $a3, 0x60 /* 0A5CC0 800A50C0 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 @@ -117,36 +117,36 @@ glabel func_800A4F50 /* 0A5D04 800A5104 8D4E0000 */ lw $t6, ($t2) /* 0A5D08 800A5108 8D190000 */ lw $t9, ($t0) /* 0A5D0C 800A510C 81D8004B */ lb $t8, 0x4b($t6) -/* 0A5D10 800A5110 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D10 800A5110 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5D14 800A5114 A73800D8 */ sh $t8, 0xd8($t9) /* 0A5D18 800A5118 8D070000 */ lw $a3, ($t0) /* 0A5D1C 800A511C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5D20 800A5120 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A5D24 800A5124 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5D28 800A5128 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5D2C 800A512C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D2C 800A512C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5D30 800A5130 0C02A980 */ jal func_800AA600 /* 0A5D34 800A5134 24E70080 */ addiu $a3, $a3, 0x80 /* 0A5D38 800A5138 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A5D3C 800A513C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A5D40 800A5140 8D070000 */ lw $a3, ($t0) -/* 0A5D44 800A5144 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D44 800A5144 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5D48 800A5148 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5D4C 800A514C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A5D50 800A5150 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5D54 800A5154 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5D58 800A5158 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D58 800A5158 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5D5C 800A515C 0C02A980 */ jal func_800AA600 /* 0A5D60 800A5160 24E700A0 */ addiu $a3, $a3, 0xa0 /* 0A5D64 800A5164 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A5D68 800A5168 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A5D6C 800A516C 8D070000 */ lw $a3, ($t0) -/* 0A5D70 800A5170 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D70 800A5170 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A5D74 800A5174 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A5D78 800A5178 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A5D7C 800A517C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A5D80 800A5180 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A5D84 800A5184 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D84 800A5184 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A5D88 800A5188 0C02A980 */ jal func_800AA600 /* 0A5D8C 800A518C 24E700C0 */ addiu $a3, $a3, 0xc0 .L800A5190: @@ -520,8 +520,8 @@ glabel func_800A4F50 /* 0A6304 800A5704 00000000 */ nop /* 0A6308 800A5708 A04003DA */ sb $zero, 0x3da($v0) .L800A570C: -/* 0A630C 800A570C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A6310 800A5710 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A630C 800A570C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A6310 800A5710 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6314 800A5714 8C820000 */ lw $v0, ($a0) /* 0A6318 800A5718 3C18FA00 */ lui $t8, 0xfa00 /* 0A631C 800A571C 244E0008 */ addiu $t6, $v0, 8 @@ -539,16 +539,16 @@ glabel func_800A4F50 /* 0A634C 800A574C 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A6350 800A5750 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A6354 800A5754 8D070000 */ lw $a3, ($t0) -/* 0A6358 800A5758 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6358 800A5758 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A635C 800A575C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A6360 800A5760 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A6364 800A5764 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A6368 800A5768 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A636C 800A576C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A636C 800A576C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6370 800A5770 0C02A980 */ jal func_800AA600 /* 0A6374 800A5774 24E703C0 */ addiu $a3, $a3, 0x3c0 -/* 0A6378 800A5778 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A637C 800A577C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6378 800A5778 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A637C 800A577C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6380 800A5780 8C820000 */ lw $v0, ($a0) /* 0A6384 800A5784 3C0CFA00 */ lui $t4, 0xfa00 /* 0A6388 800A5788 244D0008 */ addiu $t5, $v0, 8 @@ -701,8 +701,8 @@ glabel func_800A4F50 /* 0A65B4 800A59B4 00000000 */ nop /* 0A65B8 800A59B8 A04003DA */ sb $zero, 0x3da($v0) .L800A59BC: -/* 0A65BC 800A59BC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A65C0 800A59C0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A65BC 800A59BC 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0A65C0 800A59C0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A65C4 800A59C4 8C820000 */ lw $v0, ($a0) /* 0A65C8 800A59C8 3C0EFA00 */ lui $t6, 0xfa00 /* 0A65CC 800A59CC 244F0008 */ addiu $t7, $v0, 8 @@ -720,19 +720,19 @@ glabel func_800A4F50 /* 0A65FC 800A59FC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A6600 800A5A00 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A6604 800A5A04 8D070000 */ lw $a3, ($t0) -/* 0A6608 800A5A08 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6608 800A5A08 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A660C 800A5A0C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A6610 800A5A10 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A6614 800A5A14 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A6618 800A5A18 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A661C 800A5A1C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A661C 800A5A1C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6620 800A5A20 0C02A980 */ jal func_800AA600 /* 0A6624 800A5A24 24E703C0 */ addiu $a3, $a3, 0x3c0 -/* 0A6628 800A5A28 3C028012 */ lui $v0, %hi(D_80126CFC) # $v0, 0x8012 -/* 0A662C 800A5A2C 8C426CFC */ lw $v0, %lo(D_80126CFC)($v0) -/* 0A6630 800A5A30 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A6628 800A5A28 3C028012 */ lui $v0, %hi(gHUDCurrDisplayList) # $v0, 0x8012 +/* 0A662C 800A5A2C 8C426CFC */ lw $v0, %lo(gHUDCurrDisplayList)($v0) +/* 0A6630 800A5A30 3C018012 */ lui $at, %hi(gHUDCurrDisplayList) # $at, 0x8012 /* 0A6634 800A5A34 24590008 */ addiu $t9, $v0, 8 -/* 0A6638 800A5A38 AC396CFC */ sw $t9, %lo(D_80126CFC)($at) +/* 0A6638 800A5A38 AC396CFC */ sw $t9, %lo(gHUDCurrDisplayList)($at) /* 0A663C 800A5A3C 3C0DFA00 */ lui $t5, 0xfa00 /* 0A6640 800A5A40 240CFFFF */ li $t4, -1 /* 0A6644 800A5A44 AC4C0004 */ sw $t4, 4($v0) diff --git a/asm/non_matchings/game_ui/func_800A5A64.s b/asm/non_matchings/game_ui/func_800A5A64.s deleted file mode 100644 index 3f64a513..00000000 --- a/asm/non_matchings/game_ui/func_800A5A64.s +++ /dev/null @@ -1,320 +0,0 @@ -glabel func_800A5A64 -/* 0A6664 800A5A64 3C0E8012 */ lui $t6, %hi(D_80126D0C) # $t6, 0x8012 -/* 0A6668 800A5A68 8DCE6D0C */ lw $t6, %lo(D_80126D0C)($t6) -/* 0A666C 800A5A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A6670 800A5A70 24060001 */ li $a2, 1 -/* 0A6674 800A5A74 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A6678 800A5A78 AFA40018 */ sw $a0, 0x18($sp) -/* 0A667C 800A5A7C 14CE0003 */ bne $a2, $t6, .L800A5A8C -/* 0A6680 800A5A80 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A6684 800A5A84 0C01EFC7 */ jal func_8007BF1C -/* 0A6688 800A5A88 00C02025 */ move $a0, $a2 -.L800A5A8C: -/* 0A668C 800A5A8C 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A6690 800A5A90 3C198012 */ lui $t9, %hi(D_80126D0C) # $t9, 0x8012 -/* 0A6694 800A5A94 91F801FC */ lbu $t8, 0x1fc($t7) -/* 0A6698 800A5A98 00000000 */ nop -/* 0A669C 800A5A9C 2B010079 */ slti $at, $t8, 0x79 -/* 0A66A0 800A5AA0 14200047 */ bnez $at, .L800A5BC0 -/* 0A66A4 800A5AA4 00000000 */ nop -/* 0A66A8 800A5AA8 8F396D0C */ lw $t9, %lo(D_80126D0C)($t9) -/* 0A66AC 800A5AAC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A66B0 800A5AB0 1720000C */ bnez $t9, .L800A5AE4 -/* 0A66B4 800A5AB4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc -/* 0A66B8 800A5AB8 8D020000 */ lw $v0, ($t0) -/* 0A66BC 800A5ABC 00000000 */ nop -/* 0A66C0 800A5AC0 8049047C */ lb $t1, 0x47c($v0) -/* 0A66C4 800A5AC4 C444046C */ lwc1 $f4, 0x46c($v0) -/* 0A66C8 800A5AC8 44893000 */ mtc1 $t1, $f6 -/* 0A66CC 800A5ACC 00000000 */ nop -/* 0A66D0 800A5AD0 46803220 */ cvt.s.w $f8, $f6 -/* 0A66D4 800A5AD4 46082032 */ c.eq.s $f4, $f8 -/* 0A66D8 800A5AD8 00000000 */ nop -/* 0A66DC 800A5ADC 45000038 */ bc1f .L800A5BC0 -/* 0A66E0 800A5AE0 00000000 */ nop -.L800A5AE4: -/* 0A66E4 800A5AE4 0C01BAA8 */ jal is_game_paused -/* 0A66E8 800A5AE8 00000000 */ nop -/* 0A66EC 800A5AEC 14400034 */ bnez $v0, .L800A5BC0 -/* 0A66F0 800A5AF0 3C038012 */ lui $v1, %hi(D_80126D38) # $v1, 0x8012 -/* 0A66F4 800A5AF4 24636D38 */ addiu $v1, %lo(D_80126D38) # addiu $v1, $v1, 0x6d38 -/* 0A66F8 800A5AF8 90620000 */ lbu $v0, ($v1) -/* 0A66FC 800A5AFC 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 -/* 0A6700 800A5B00 14400004 */ bnez $v0, .L800A5B14 -/* 0A6704 800A5B04 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c -/* 0A6708 800A5B08 8CEA0000 */ lw $t2, ($a3) -/* 0A670C 800A5B0C 00000000 */ nop -/* 0A6710 800A5B10 15400024 */ bnez $t2, .L800A5BA4 -.L800A5B14: -/* 0A6714 800A5B14 3C068012 */ lui $a2, %hi(D_80126D40) # $a2, 0x8012 -/* 0A6718 800A5B18 24C66D40 */ addiu $a2, %lo(D_80126D40) # addiu $a2, $a2, 0x6d40 -/* 0A671C 800A5B1C 8CCB0000 */ lw $t3, ($a2) -/* 0A6720 800A5B20 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 -/* 0A6724 800A5B24 1560001F */ bnez $t3, .L800A5BA4 -/* 0A6728 800A5B28 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c -/* 0A672C 800A5B2C 14400009 */ bnez $v0, .L800A5B54 -/* 0A6730 800A5B30 24040001 */ li $a0, 1 -/* 0A6734 800A5B34 0C01BE53 */ jal get_random_number_from_range -/* 0A6738 800A5B38 2405000A */ li $a1, 10 -/* 0A673C 800A5B3C 3C038012 */ lui $v1, %hi(D_80126D38) # $v1, 0x8012 -/* 0A6740 800A5B40 3C068012 */ lui $a2, %hi(D_80126D40) # $a2, 0x8012 -/* 0A6744 800A5B44 28410008 */ slti $at, $v0, 8 -/* 0A6748 800A5B48 24C66D40 */ addiu $a2, %lo(D_80126D40) # addiu $a2, $a2, 0x6d40 -/* 0A674C 800A5B4C 1420000E */ bnez $at, .L800A5B88 -/* 0A6750 800A5B50 24636D38 */ addiu $v1, %lo(D_80126D38) # addiu $v1, $v1, 0x6d38 -.L800A5B54: -/* 0A6754 800A5B54 A0600000 */ sb $zero, ($v1) -/* 0A6758 800A5B58 24040066 */ li $a0, 102 -/* 0A675C 800A5B5C 0C000741 */ jal play_sound_global -/* 0A6760 800A5B60 00C02825 */ move $a1, $a2 -/* 0A6764 800A5B64 24040001 */ li $a0, 1 -/* 0A6768 800A5B68 0C01BE53 */ jal get_random_number_from_range -/* 0A676C 800A5B6C 240501E0 */ li $a1, 480 -/* 0A6770 800A5B70 244C0078 */ addiu $t4, $v0, 0x78 -/* 0A6774 800A5B74 3C018012 */ lui $at, %hi(D_80126D6C) # $at, 0x8012 -/* 0A6778 800A5B78 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 -/* 0A677C 800A5B7C 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c -/* 0A6780 800A5B80 10000008 */ b .L800A5BA4 -/* 0A6784 800A5B84 AC2C6D6C */ sw $t4, %lo(D_80126D6C)($at) -.L800A5B88: -/* 0A6788 800A5B88 240D0001 */ li $t5, 1 -/* 0A678C 800A5B8C A06D0000 */ sb $t5, ($v1) -/* 0A6790 800A5B90 24040067 */ li $a0, 103 -/* 0A6794 800A5B94 0C000741 */ jal play_sound_global -/* 0A6798 800A5B98 00C02825 */ move $a1, $a2 -/* 0A679C 800A5B9C 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 -/* 0A67A0 800A5BA0 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c -.L800A5BA4: -/* 0A67A4 800A5BA4 8CEE0000 */ lw $t6, ($a3) -/* 0A67A8 800A5BA8 8FAF001C */ lw $t7, 0x1c($sp) -/* 0A67AC 800A5BAC 00000000 */ nop -/* 0A67B0 800A5BB0 01CFC023 */ subu $t8, $t6, $t7 -/* 0A67B4 800A5BB4 07010002 */ bgez $t8, .L800A5BC0 -/* 0A67B8 800A5BB8 ACF80000 */ sw $t8, ($a3) -/* 0A67BC 800A5BBC ACE00000 */ sw $zero, ($a3) -.L800A5BC0: -/* 0A67C0 800A5BC0 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A67C4 800A5BC4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc -/* 0A67C8 800A5BC8 8D020000 */ lw $v0, ($t0) -/* 0A67CC 800A5BCC 8FB80018 */ lw $t8, 0x18($sp) -/* 0A67D0 800A5BD0 8043047A */ lb $v1, 0x47a($v0) -/* 0A67D4 800A5BD4 24060001 */ li $a2, 1 -/* 0A67D8 800A5BD8 10600084 */ beqz $v1, .L800A5DEC -/* 0A67DC 800A5BDC 00000000 */ nop -/* 0A67E0 800A5BE0 14C300C7 */ bne $a2, $v1, .L800A5F00 -/* 0A67E4 800A5BE4 00000000 */ nop -/* 0A67E8 800A5BE8 8043047B */ lb $v1, 0x47b($v0) -/* 0A67EC 800A5BEC 8FA9001C */ lw $t1, 0x1c($sp) -/* 0A67F0 800A5BF0 14C30037 */ bne $a2, $v1, .L800A5CD0 -/* 0A67F4 800A5BF4 2401FFFF */ li $at, -1 -/* 0A67F8 800A5BF8 00095080 */ sll $t2, $t1, 2 -/* 0A67FC 800A5BFC 01495023 */ subu $t2, $t2, $t1 -/* 0A6800 800A5C00 000A5080 */ sll $t2, $t2, 2 -/* 0A6804 800A5C04 01495021 */ addu $t2, $t2, $t1 -/* 0A6808 800A5C08 448A5000 */ mtc1 $t2, $f10 -/* 0A680C 800A5C0C C450046C */ lwc1 $f16, 0x46c($v0) -/* 0A6810 800A5C10 46805020 */ cvt.s.w $f0, $f10 -/* 0A6814 800A5C14 240FFFFF */ li $t7, -1 -/* 0A6818 800A5C18 24040016 */ li $a0, 22 -/* 0A681C 800A5C1C 46008480 */ add.s $f18, $f16, $f0 -/* 0A6820 800A5C20 00002825 */ move $a1, $zero -/* 0A6824 800A5C24 E452046C */ swc1 $f18, 0x46c($v0) -/* 0A6828 800A5C28 8D020000 */ lw $v0, ($t0) -/* 0A682C 800A5C2C 00000000 */ nop -/* 0A6830 800A5C30 804B047C */ lb $t3, 0x47c($v0) -/* 0A6834 800A5C34 C444046C */ lwc1 $f4, 0x46c($v0) -/* 0A6838 800A5C38 448B3000 */ mtc1 $t3, $f6 -/* 0A683C 800A5C3C 00000000 */ nop -/* 0A6840 800A5C40 468030A0 */ cvt.s.w $f2, $f6 -/* 0A6844 800A5C44 4604103C */ c.lt.s $f2, $f4 -/* 0A6848 800A5C48 00000000 */ nop -/* 0A684C 800A5C4C 45000004 */ bc1f .L800A5C60 -/* 0A6850 800A5C50 00000000 */ nop -/* 0A6854 800A5C54 E442046C */ swc1 $f2, 0x46c($v0) -/* 0A6858 800A5C58 8D020000 */ lw $v0, ($t0) -/* 0A685C 800A5C5C 00000000 */ nop -.L800A5C60: -/* 0A6860 800A5C60 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0A6864 800A5C64 00000000 */ nop -/* 0A6868 800A5C68 46004281 */ sub.s $f10, $f8, $f0 -/* 0A686C 800A5C6C E44A048C */ swc1 $f10, 0x48c($v0) -/* 0A6870 800A5C70 8D020000 */ lw $v0, ($t0) -/* 0A6874 800A5C74 00000000 */ nop -/* 0A6878 800A5C78 804C049C */ lb $t4, 0x49c($v0) -/* 0A687C 800A5C7C C452048C */ lwc1 $f18, 0x48c($v0) -/* 0A6880 800A5C80 448C8000 */ mtc1 $t4, $f16 -/* 0A6884 800A5C84 00000000 */ nop -/* 0A6888 800A5C88 468080A0 */ cvt.s.w $f2, $f16 -/* 0A688C 800A5C8C 4602903C */ c.lt.s $f18, $f2 -/* 0A6890 800A5C90 00000000 */ nop -/* 0A6894 800A5C94 45000003 */ bc1f .L800A5CA4 -/* 0A6898 800A5C98 8FAD0018 */ lw $t5, 0x18($sp) -/* 0A689C 800A5C9C E442048C */ swc1 $f2, 0x48c($v0) -/* 0A68A0 800A5CA0 8FAD0018 */ lw $t5, 0x18($sp) -.L800A5CA4: -/* 0A68A4 800A5CA4 00000000 */ nop -/* 0A68A8 800A5CA8 91AE01FC */ lbu $t6, 0x1fc($t5) -/* 0A68AC 800A5CAC 00000000 */ nop -/* 0A68B0 800A5CB0 29C1005B */ slti $at, $t6, 0x5b -/* 0A68B4 800A5CB4 10200023 */ beqz $at, .L800A5D44 -/* 0A68B8 800A5CB8 00000000 */ nop -/* 0A68BC 800A5CBC 8D180000 */ lw $t8, ($t0) -/* 0A68C0 800A5CC0 0C000741 */ jal play_sound_global -/* 0A68C4 800A5CC4 A30F047B */ sb $t7, 0x47b($t8) -/* 0A68C8 800A5CC8 1000001E */ b .L800A5D44 -/* 0A68CC 800A5CCC 00000000 */ nop -.L800A5CD0: -/* 0A68D0 800A5CD0 1461001C */ bne $v1, $at, .L800A5D44 -/* 0A68D4 800A5CD4 00000000 */ nop -/* 0A68D8 800A5CD8 8FB9001C */ lw $t9, 0x1c($sp) -/* 0A68DC 800A5CDC C444046C */ lwc1 $f4, 0x46c($v0) -/* 0A68E0 800A5CE0 00194880 */ sll $t1, $t9, 2 -/* 0A68E4 800A5CE4 01394823 */ subu $t1, $t1, $t9 -/* 0A68E8 800A5CE8 00094880 */ sll $t1, $t1, 2 -/* 0A68EC 800A5CEC 01394821 */ addu $t1, $t1, $t9 -/* 0A68F0 800A5CF0 44893000 */ mtc1 $t1, $f6 -/* 0A68F4 800A5CF4 3C01C348 */ li $at, 0xC3480000 # -200.000000 -/* 0A68F8 800A5CF8 46803020 */ cvt.s.w $f0, $f6 -/* 0A68FC 800A5CFC 44813000 */ mtc1 $at, $f6 -/* 0A6900 800A5D00 46002201 */ sub.s $f8, $f4, $f0 -/* 0A6904 800A5D04 E448046C */ swc1 $f8, 0x46c($v0) -/* 0A6908 800A5D08 8D020000 */ lw $v0, ($t0) -/* 0A690C 800A5D0C 00000000 */ nop -/* 0A6910 800A5D10 C44A048C */ lwc1 $f10, 0x48c($v0) -/* 0A6914 800A5D14 00000000 */ nop -/* 0A6918 800A5D18 46005400 */ add.s $f16, $f10, $f0 -/* 0A691C 800A5D1C E450048C */ swc1 $f16, 0x48c($v0) -/* 0A6920 800A5D20 8D020000 */ lw $v0, ($t0) -/* 0A6924 800A5D24 00000000 */ nop -/* 0A6928 800A5D28 C452046C */ lwc1 $f18, 0x46c($v0) -/* 0A692C 800A5D2C 00000000 */ nop -/* 0A6930 800A5D30 4606903C */ c.lt.s $f18, $f6 -/* 0A6934 800A5D34 00000000 */ nop -/* 0A6938 800A5D38 45000002 */ bc1f .L800A5D44 -/* 0A693C 800A5D3C 00000000 */ nop -/* 0A6940 800A5D40 A040047A */ sb $zero, 0x47a($v0) -.L800A5D44: -/* 0A6944 800A5D44 0C01BAA8 */ jal is_game_paused -/* 0A6948 800A5D48 00000000 */ nop -/* 0A694C 800A5D4C 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A6950 800A5D50 1440006B */ bnez $v0, .L800A5F00 -/* 0A6954 800A5D54 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc -/* 0A6958 800A5D58 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A695C 800A5D5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A6960 800A5D60 8C830000 */ lw $v1, ($a0) -/* 0A6964 800A5D64 3C0BFA00 */ lui $t3, 0xfa00 -/* 0A6968 800A5D68 246A0008 */ addiu $t2, $v1, 8 -/* 0A696C 800A5D6C AC8A0000 */ sw $t2, ($a0) -/* 0A6970 800A5D70 240CFFA0 */ li $t4, -96 -/* 0A6974 800A5D74 AC6C0004 */ sw $t4, 4($v1) -/* 0A6978 800A5D78 AC6B0000 */ sw $t3, ($v1) -/* 0A697C 800A5D7C 8D070000 */ lw $a3, ($t0) -/* 0A6980 800A5D80 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A6984 800A5D84 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A6988 800A5D88 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A698C 800A5D8C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A6990 800A5D90 0C02A980 */ jal func_800AA600 -/* 0A6994 800A5D94 24E70460 */ addiu $a3, $a3, 0x460 -/* 0A6998 800A5D98 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A699C 800A5D9C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc -/* 0A69A0 800A5DA0 8D070000 */ lw $a3, ($t0) -/* 0A69A4 800A5DA4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A69A8 800A5DA8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A69AC 800A5DAC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A69B0 800A5DB0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A69B4 800A5DB4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A69B8 800A5DB8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A69BC 800A5DBC 0C02A980 */ jal func_800AA600 -/* 0A69C0 800A5DC0 24E70480 */ addiu $a3, $a3, 0x480 -/* 0A69C4 800A5DC4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A69C8 800A5DC8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A69CC 800A5DCC 8C830000 */ lw $v1, ($a0) -/* 0A69D0 800A5DD0 3C0EFA00 */ lui $t6, 0xfa00 -/* 0A69D4 800A5DD4 246D0008 */ addiu $t5, $v1, 8 -/* 0A69D8 800A5DD8 AC8D0000 */ sw $t5, ($a0) -/* 0A69DC 800A5DDC 240FFFFF */ li $t7, -1 -/* 0A69E0 800A5DE0 AC6F0004 */ sw $t7, 4($v1) -/* 0A69E4 800A5DE4 10000046 */ b .L800A5F00 -/* 0A69E8 800A5DE8 AC6E0000 */ sw $t6, ($v1) -.L800A5DEC: -/* 0A69EC 800A5DEC 931901FC */ lbu $t9, 0x1fc($t8) -/* 0A69F0 800A5DF0 00000000 */ nop -/* 0A69F4 800A5DF4 2B210079 */ slti $at, $t9, 0x79 -/* 0A69F8 800A5DF8 14200041 */ bnez $at, .L800A5F00 -/* 0A69FC 800A5DFC 00000000 */ nop -/* 0A6A00 800A5E00 A046047A */ sb $a2, 0x47a($v0) -/* 0A6A04 800A5E04 8D090000 */ lw $t1, ($t0) -/* 0A6A08 800A5E08 240AFFE1 */ li $t2, -31 -/* 0A6A0C 800A5E0C A126047B */ sb $a2, 0x47b($t1) -/* 0A6A10 800A5E10 8D0B0000 */ lw $t3, ($t0) -/* 0A6A14 800A5E14 240C0034 */ li $t4, 52 -/* 0A6A18 800A5E18 A16A047C */ sb $t2, 0x47c($t3) -/* 0A6A1C 800A5E1C 8D0D0000 */ lw $t5, ($t0) -/* 0A6A20 800A5E20 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 -/* 0A6A24 800A5E24 A1AC049C */ sb $t4, 0x49c($t5) -/* 0A6A28 800A5E28 8D0E0000 */ lw $t6, ($t0) -/* 0A6A2C 800A5E2C 240FFFEB */ li $t7, -21 -/* 0A6A30 800A5E30 A1C0047D */ sb $zero, 0x47d($t6) -/* 0A6A34 800A5E34 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) -/* 0A6A38 800A5E38 00000000 */ nop -/* 0A6A3C 800A5E3C 14C30007 */ bne $a2, $v1, .L800A5E5C -/* 0A6A40 800A5E40 28610002 */ slti $at, $v1, 2 -/* 0A6A44 800A5E44 8D180000 */ lw $t8, ($t0) -/* 0A6A48 800A5E48 2419002A */ li $t9, 42 -/* 0A6A4C 800A5E4C A30F047C */ sb $t7, 0x47c($t8) -/* 0A6A50 800A5E50 8D090000 */ lw $t1, ($t0) -/* 0A6A54 800A5E54 10000017 */ b .L800A5EB4 -/* 0A6A58 800A5E58 A139049C */ sb $t9, 0x49c($t1) -.L800A5E5C: -/* 0A6A5C 800A5E5C 14200015 */ bnez $at, .L800A5EB4 -/* 0A6A60 800A5E60 00000000 */ nop -/* 0A6A64 800A5E64 8FAA0018 */ lw $t2, 0x18($sp) -/* 0A6A68 800A5E68 24010002 */ li $at, 2 -/* 0A6A6C 800A5E6C 85420000 */ lh $v0, ($t2) -/* 0A6A70 800A5E70 240BFF9C */ li $t3, -100 -/* 0A6A74 800A5E74 10400003 */ beqz $v0, .L800A5E84 -/* 0A6A78 800A5E78 00000000 */ nop -/* 0A6A7C 800A5E7C 14410007 */ bne $v0, $at, .L800A5E9C -/* 0A6A80 800A5E80 00000000 */ nop -.L800A5E84: -/* 0A6A84 800A5E84 8D0C0000 */ lw $t4, ($t0) -/* 0A6A88 800A5E88 240DFFC9 */ li $t5, -55 -/* 0A6A8C 800A5E8C A18B047C */ sb $t3, 0x47c($t4) -/* 0A6A90 800A5E90 8D0E0000 */ lw $t6, ($t0) -/* 0A6A94 800A5E94 10000007 */ b .L800A5EB4 -/* 0A6A98 800A5E98 A1CD049C */ sb $t5, 0x49c($t6) -.L800A5E9C: -/* 0A6A9C 800A5E9C 8D180000 */ lw $t8, ($t0) -/* 0A6AA0 800A5EA0 240F003B */ li $t7, 59 -/* 0A6AA4 800A5EA4 A30F047C */ sb $t7, 0x47c($t8) -/* 0A6AA8 800A5EA8 8D090000 */ lw $t1, ($t0) -/* 0A6AAC 800A5EAC 24190068 */ li $t9, 104 -/* 0A6AB0 800A5EB0 A139049C */ sb $t9, 0x49c($t1) -.L800A5EB4: -/* 0A6AB4 800A5EB4 8D020000 */ lw $v0, ($t0) -/* 0A6AB8 800A5EB8 24040016 */ li $a0, 22 -/* 0A6ABC 800A5EBC 804A049C */ lb $t2, 0x49c($v0) -/* 0A6AC0 800A5EC0 00002825 */ move $a1, $zero -/* 0A6AC4 800A5EC4 254B00C8 */ addiu $t3, $t2, 0xc8 -/* 0A6AC8 800A5EC8 448B2000 */ mtc1 $t3, $f4 -/* 0A6ACC 800A5ECC 00000000 */ nop -/* 0A6AD0 800A5ED0 46802220 */ cvt.s.w $f8, $f4 -/* 0A6AD4 800A5ED4 E448048C */ swc1 $f8, 0x48c($v0) -/* 0A6AD8 800A5ED8 8D020000 */ lw $v0, ($t0) -/* 0A6ADC 800A5EDC 00000000 */ nop -/* 0A6AE0 800A5EE0 804C049C */ lb $t4, 0x49c($v0) -/* 0A6AE4 800A5EE4 00000000 */ nop -/* 0A6AE8 800A5EE8 258DFF38 */ addiu $t5, $t4, -0xc8 -/* 0A6AEC 800A5EEC 448D5000 */ mtc1 $t5, $f10 -/* 0A6AF0 800A5EF0 00000000 */ nop -/* 0A6AF4 800A5EF4 46805420 */ cvt.s.w $f16, $f10 -/* 0A6AF8 800A5EF8 0C000741 */ jal play_sound_global -/* 0A6AFC 800A5EFC E450046C */ swc1 $f16, 0x46c($v0) -.L800A5F00: -/* 0A6B00 800A5F00 0C01EFC7 */ jal func_8007BF1C -/* 0A6B04 800A5F04 00002025 */ move $a0, $zero -/* 0A6B08 800A5F08 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A6B0C 800A5F0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A6B10 800A5F10 03E00008 */ jr $ra -/* 0A6B14 800A5F14 00000000 */ nop - diff --git a/asm/non_matchings/game_ui/func_800A5F18.s b/asm/non_matchings/game_ui/func_800A5F18.s index 8034f21b..f337c0c4 100644 --- a/asm/non_matchings/game_ui/func_800A5F18.s +++ b/asm/non_matchings/game_ui/func_800A5F18.s @@ -15,22 +15,22 @@ glabel func_800A5F18 /* 0A6B20 800A5F20 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) /* 0A6B24 800A5F24 AFA40028 */ sw $a0, 0x28($sp) /* 0A6B28 800A5F28 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A6B2C 800A5F2C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6B2C 800A5F2C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A6B30 800A5F30 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A6B34 800A5F34 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A6B38 800A5F38 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A6B3C 800A5F3C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A6B40 800A5F40 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6B40 800A5F40 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6B44 800A5F44 0C02A980 */ jal func_800AA600 /* 0A6B48 800A5F48 24E705E0 */ addiu $a3, $a3, 0x5e0 /* 0A6B4C 800A5F4C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A6B50 800A5F50 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A6B54 800A5F54 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6B54 800A5F54 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A6B58 800A5F58 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A6B5C 800A5F5C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A6B60 800A5F60 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A6B64 800A5F64 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A6B68 800A5F68 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6B68 800A5F68 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6B6C 800A5F6C 0C02A980 */ jal func_800AA600 /* 0A6B70 800A5F70 24E70600 */ addiu $a3, $a3, 0x600 /* 0A6B74 800A5F74 0C01AF66 */ jal get_current_level_race_type @@ -81,7 +81,7 @@ glabel func_800A5F18 /* 0A6C24 800A6024 C444016C */ lwc1 $f4, 0x16c($v0) /* 0A6C28 800A6028 C4500170 */ lwc1 $f16, 0x170($v0) /* 0A6C2C 800A602C 46062201 */ sub.s $f8, $f4, $f6 -/* 0A6C30 800A6030 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6C30 800A6030 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A6C34 800A6034 444AF800 */ cfc1 $t2, $31 /* 0A6C38 800A6038 3C07800F */ lui $a3, %hi(D_800E8688) # $a3, 0x800f /* 0A6C3C 800A603C 35410003 */ ori $at, $t2, 3 @@ -89,7 +89,7 @@ glabel func_800A5F18 /* 0A6C44 800A6044 44C1F800 */ ctc1 $at, $31 /* 0A6C48 800A6048 24E78688 */ addiu $a3, %lo(D_800E8688) # addiu $a3, $a3, -0x7978 /* 0A6C4C 800A604C 460042A4 */ cvt.w.s $f10, $f8 -/* 0A6C50 800A6050 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6C50 800A6050 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6C54 800A6054 44CAF800 */ ctc1 $t2, $31 /* 0A6C58 800A6058 44055000 */ mfc1 $a1, $f10 /* 0A6C5C 800A605C AFA00010 */ sw $zero, 0x10($sp) @@ -136,7 +136,7 @@ glabel func_800A5F18 /* 0A6D00 800A6100 C45002EC */ lwc1 $f16, 0x2ec($v0) /* 0A6D04 800A6104 C44802F0 */ lwc1 $f8, 0x2f0($v0) /* 0A6D08 800A6108 46128101 */ sub.s $f4, $f16, $f18 -/* 0A6D0C 800A610C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6D0C 800A610C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A6D10 800A6110 4459F800 */ cfc1 $t9, $31 /* 0A6D14 800A6114 3C07800F */ lui $a3, %hi(D_800E8690) # $a3, 0x800f /* 0A6D18 800A6118 37210003 */ ori $at, $t9, 3 @@ -144,7 +144,7 @@ glabel func_800A5F18 /* 0A6D20 800A6120 44C1F800 */ ctc1 $at, $31 /* 0A6D24 800A6124 24E78690 */ addiu $a3, %lo(D_800E8690) # addiu $a3, $a3, -0x7970 /* 0A6D28 800A6128 460021A4 */ cvt.w.s $f6, $f4 -/* 0A6D2C 800A612C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6D2C 800A612C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6D30 800A6130 44D9F800 */ ctc1 $t9, $31 /* 0A6D34 800A6134 44053000 */ mfc1 $a1, $f6 /* 0A6D38 800A6138 AFA00010 */ sw $zero, 0x10($sp) @@ -192,7 +192,7 @@ glabel func_800A5F18 /* 0A6DDC 800A61DC C448016C */ lwc1 $f8, 0x16c($v0) /* 0A6DE0 800A61E0 C4440170 */ lwc1 $f4, 0x170($v0) /* 0A6DE4 800A61E4 460A4401 */ sub.s $f16, $f8, $f10 -/* 0A6DE8 800A61E8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6DE8 800A61E8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A6DEC 800A61EC 444CF800 */ cfc1 $t4, $31 /* 0A6DF0 800A61F0 3C07800F */ lui $a3, %hi(D_800E8694) # $a3, 0x800f /* 0A6DF4 800A61F4 35810003 */ ori $at, $t4, 3 @@ -200,7 +200,7 @@ glabel func_800A5F18 /* 0A6DFC 800A61FC 44C1F800 */ ctc1 $at, $31 /* 0A6E00 800A6200 24E78694 */ addiu $a3, %lo(D_800E8694) # addiu $a3, $a3, -0x796c /* 0A6E04 800A6204 460084A4 */ cvt.w.s $f18, $f16 -/* 0A6E08 800A6208 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6E08 800A6208 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A6E0C 800A620C 44CCF800 */ ctc1 $t4, $31 /* 0A6E10 800A6210 44059000 */ mfc1 $a1, $f18 /* 0A6E14 800A6214 AFA00010 */ sw $zero, 0x10($sp) diff --git a/asm/non_matchings/game_ui/func_800A6E30.s b/asm/non_matchings/game_ui/func_800A6E30.s index f486db4e..b7a7f718 100644 --- a/asm/non_matchings/game_ui/func_800A6E30.s +++ b/asm/non_matchings/game_ui/func_800A6E30.s @@ -124,12 +124,12 @@ glabel L800A6F3C /* 0A7BE4 800A6FE4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc .L800A6FE8: /* 0A7BE8 800A6FE8 8D070000 */ lw $a3, ($t0) -/* 0A7BEC 800A6FEC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7BEC 800A6FEC 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7BF0 800A6FF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A7BF4 800A6FF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7BF8 800A6FF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7BFC 800A6FFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A7C00 800A7000 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7C00 800A7000 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7C04 800A7004 0C02A980 */ jal func_800AA600 /* 0A7C08 800A7008 24E701C0 */ addiu $a3, $a3, 0x1c0 /* 0A7C0C 800A700C 1000005C */ b .L800A7180 @@ -179,12 +179,12 @@ glabel L800A7014 /* 0A7CA4 800A70A4 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) /* 0A7CA8 800A70A8 00000000 */ nop .L800A70AC: -/* 0A7CAC 800A70AC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7CAC 800A70AC 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7CB0 800A70B0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A7CB4 800A70B4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7CB8 800A70B8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7CBC 800A70BC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A7CC0 800A70C0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7CC0 800A70C0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7CC4 800A70C4 0C02A980 */ jal func_800AA600 /* 0A7CC8 800A70C8 244701C0 */ addiu $a3, $v0, 0x1c0 /* 0A7CCC 800A70CC 1000002C */ b .L800A7180 @@ -198,7 +198,7 @@ glabel L800A70D4 /* 0A7CE8 800A70E8 C45001CC */ lwc1 $f16, 0x1cc($v0) /* 0A7CEC 800A70EC 46809120 */ cvt.s.w $f4, $f18 /* 0A7CF0 800A70F0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A7CF4 800A70F4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7CF4 800A70F4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7CF8 800A70F8 46048181 */ sub.s $f6, $f16, $f4 /* 0A7CFC 800A70FC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7D00 800A7100 E44601CC */ swc1 $f6, 0x1cc($v0) @@ -209,7 +209,7 @@ glabel L800A70D4 /* 0A7D14 800A7114 44895000 */ mtc1 $t1, $f10 /* 0A7D18 800A7118 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7D1C 800A711C 468054A0 */ cvt.s.w $f18, $f10 -/* 0A7D20 800A7120 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7D20 800A7120 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7D24 800A7124 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A7D28 800A7128 4612403C */ c.lt.s $f8, $f18 /* 0A7D2C 800A712C 00000000 */ nop diff --git a/asm/non_matchings/game_ui/func_800A718C.s b/asm/non_matchings/game_ui/func_800A718C.s index 4e1f717e..cb213772 100644 --- a/asm/non_matchings/game_ui/func_800A718C.s +++ b/asm/non_matchings/game_ui/func_800A718C.s @@ -94,7 +94,7 @@ glabel func_800A718C /* 0A7EDC 800A72DC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 /* 0A7EE0 800A72E0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A7EE4 800A72E4 8D0B0000 */ lw $t3, ($t0) -/* 0A7EE8 800A72E8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7EE8 800A72E8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7EEC 800A72EC A56202B8 */ sh $v0, 0x2b8($t3) /* 0A7EF0 800A72F0 8D0D0000 */ lw $t5, ($t0) /* 0A7EF4 800A72F4 15200002 */ bnez $t1, .L800A7300 @@ -112,7 +112,7 @@ glabel func_800A718C /* 0A7F1C 800A731C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7F20 800A7320 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7F24 800A7324 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A7F28 800A7328 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7F28 800A7328 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7F2C 800A732C 00006010 */ mfhi $t4 /* 0A7F30 800A7330 A5AC02D8 */ sh $t4, 0x2d8($t5) /* 0A7F34 800A7334 8D070000 */ lw $a3, ($t0) @@ -141,15 +141,15 @@ glabel func_800A718C .L800A7384: /* 0A7F84 800A7384 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A7F88 800A7388 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A7F8C 800A738C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7F8C 800A738C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7F90 800A7390 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A7F94 800A7394 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7F98 800A7398 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7F9C 800A739C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A7FA0 800A73A0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7FA0 800A73A0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7FA4 800A73A4 0C02A980 */ jal func_800AA600 /* 0A7FA8 800A73A8 24E702A0 */ addiu $a3, $a3, 0x2a0 -/* 0A7FAC 800A73AC 0C019826 */ jal func_80066098 +/* 0A7FAC 800A73AC 0C019826 */ jal set_viewport_tv_type /* 0A7FB0 800A73B0 24040001 */ li $a0, 1 /* 0A7FB4 800A73B4 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 /* 0A7FB8 800A73B8 8F180300 */ lw $t8, %lo(osTvType)($t8) @@ -161,26 +161,26 @@ glabel func_800A718C .L800A73D0: /* 0A7FD0 800A73D0 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A7FD4 800A73D4 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A7FD8 800A73D8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7FD8 800A73D8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A7FDC 800A73DC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A7FE0 800A73E0 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A7FE4 800A73E4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A7FE8 800A73E8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A7FEC 800A73EC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7FEC 800A73EC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A7FF0 800A73F0 0C02A980 */ jal func_800AA600 /* 0A7FF4 800A73F4 24E70260 */ addiu $a3, $a3, 0x260 /* 0A7FF8 800A73F8 0C01EFC7 */ jal func_8007BF1C /* 0A7FFC 800A73FC 00002025 */ move $a0, $zero -/* 0A8000 800A7400 0C019826 */ jal func_80066098 +/* 0A8000 800A7400 0C019826 */ jal set_viewport_tv_type /* 0A8004 800A7404 00002025 */ move $a0, $zero /* 0A8008 800A7408 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 /* 0A800C 800A740C 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A8010 800A7410 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8010 800A7410 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A8014 800A7414 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A8018 800A7418 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A801C 800A741C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A8020 800A7420 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A8024 800A7424 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8024 800A7424 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A8028 800A7428 0C02A980 */ jal func_800AA600 /* 0A802C 800A742C 24E70280 */ addiu $a3, $a3, 0x280 /* 0A8030 800A7430 8FBF0014 */ lw $ra, 0x14($sp) diff --git a/asm/non_matchings/game_ui/func_800A7520.s b/asm/non_matchings/game_ui/func_800A7520.s index f6127ad9..066f08d9 100644 --- a/asm/non_matchings/game_ui/func_800A7520.s +++ b/asm/non_matchings/game_ui/func_800A7520.s @@ -19,7 +19,7 @@ glabel func_800A7520 /* 0A8138 800A7538 00000000 */ nop /* 0A813C 800A753C 15C00145 */ bnez $t6, .L800A7A54 /* 0A8140 800A7540 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A8144 800A7544 0C019826 */ jal func_80066098 +/* 0A8144 800A7544 0C019826 */ jal set_viewport_tv_type /* 0A8148 800A7548 AFA9001C */ sw $t1, 0x1c($sp) /* 0A814C 800A754C 8FA9001C */ lw $t1, 0x1c($sp) /* 0A8150 800A7550 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 @@ -204,12 +204,12 @@ glabel func_800A7520 /* 0A83F8 800A77F8 8FA9001C */ lw $t1, 0x1c($sp) /* 0A83FC 800A77FC 00000000 */ nop .L800A7800: -/* 0A8400 800A7800 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8400 800A7800 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A8404 800A7804 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A8408 800A7808 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A840C 800A780C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A8410 800A7810 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A8414 800A7814 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8414 800A7814 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A8418 800A7818 24470040 */ addiu $a3, $v0, 0x40 /* 0A841C 800A781C 0C02A980 */ jal func_800AA600 /* 0A8420 800A7820 AFA9001C */ sw $t1, 0x1c($sp) @@ -221,7 +221,7 @@ glabel func_800A7520 /* 0A8438 800A7838 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc /* 0A843C 800A783C 28610004 */ slti $at, $v1, 4 /* 0A8440 800A7840 14200006 */ bnez $at, .L800A785C -/* 0A8444 800A7844 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8444 800A7844 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A8448 800A7848 8D0C0000 */ lw $t4, ($t0) /* 0A844C 800A784C 240BFF80 */ li $t3, -128 /* 0A8450 800A7850 A18B063A */ sb $t3, 0x63a($t4) @@ -230,7 +230,7 @@ glabel func_800A7520 .L800A785C: /* 0A845C 800A785C 28610003 */ slti $at, $v1, 3 /* 0A8460 800A7860 10200009 */ beqz $at, .L800A7888 -/* 0A8464 800A7864 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8464 800A7864 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A8468 800A7868 8D020000 */ lw $v0, ($t0) /* 0A846C 800A786C 8FAE0024 */ lw $t6, 0x24($sp) /* 0A8470 800A7870 804D063A */ lb $t5, 0x63a($v0) @@ -277,8 +277,8 @@ glabel func_800A7520 /* 0A8508 800A7908 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A850C 800A790C 0C02A980 */ jal func_800AA600 /* 0A8510 800A7910 24E70620 */ addiu $a3, $a3, 0x620 -/* 0A8514 800A7914 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A8518 800A7918 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A8514 800A7914 3C058012 */ lui $a1, %hi(gHUDCurrDisplayList) # $a1, 0x8012 +/* 0A8518 800A7918 24A56CFC */ addiu $a1, %lo(gHUDCurrDisplayList) # addiu $a1, $a1, 0x6cfc /* 0A851C 800A791C 8CA20000 */ lw $v0, ($a1) /* 0A8520 800A7920 3C0BFA00 */ lui $t3, 0xfa00 /* 0A8524 800A7924 244A0008 */ addiu $t2, $v0, 8 @@ -324,9 +324,9 @@ glabel func_800A7520 /* 0A85BC 800A79BC 00000000 */ nop /* 0A85C0 800A79C0 A5440058 */ sh $a0, 0x58($t2) /* 0A85C4 800A79C4 8D020000 */ lw $v0, ($t0) -/* 0A85C8 800A79C8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A85C8 800A79C8 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A85CC 800A79CC 804B005B */ lb $t3, 0x5b($v0) -/* 0A85D0 800A79D0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A85D0 800A79D0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A85D4 800A79D4 05610005 */ bgez $t3, .L800A79EC /* 0A85D8 800A79D8 00000000 */ nop /* 0A85DC 800A79DC A040005B */ sb $zero, 0x5b($v0) @@ -350,8 +350,8 @@ glabel func_800A7520 /* 0A861C 800A7A1C 0C02A980 */ jal func_800AA600 /* 0A8620 800A7A20 24470040 */ addiu $a3, $v0, 0x40 .L800A7A24: -/* 0A8624 800A7A24 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 -/* 0A8628 800A7A28 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A8624 800A7A24 3C058012 */ lui $a1, %hi(gHUDCurrDisplayList) # $a1, 0x8012 +/* 0A8628 800A7A28 24A56CFC */ addiu $a1, %lo(gHUDCurrDisplayList) # addiu $a1, $a1, 0x6cfc /* 0A862C 800A7A2C 8CA20000 */ lw $v0, ($a1) /* 0A8630 800A7A30 3C0EFA00 */ lui $t6, 0xfa00 /* 0A8634 800A7A34 244D0008 */ addiu $t5, $v0, 8 @@ -359,7 +359,7 @@ glabel func_800A7520 /* 0A863C 800A7A3C 240FFFFF */ li $t7, -1 /* 0A8640 800A7A40 00002025 */ move $a0, $zero /* 0A8644 800A7A44 AC4F0004 */ sw $t7, 4($v0) -/* 0A8648 800A7A48 0C019826 */ jal func_80066098 +/* 0A8648 800A7A48 0C019826 */ jal set_viewport_tv_type /* 0A864C 800A7A4C AC4E0000 */ sw $t6, ($v0) /* 0A8650 800A7A50 8FBF0014 */ lw $ra, 0x14($sp) .L800A7A54: diff --git a/asm/non_matchings/game_ui/func_800A7A60.s b/asm/non_matchings/game_ui/func_800A7A60.s index 604ad3e3..38e4c723 100644 --- a/asm/non_matchings/game_ui/func_800A7A60.s +++ b/asm/non_matchings/game_ui/func_800A7A60.s @@ -26,12 +26,12 @@ glabel func_800A7A60 /* 0A86C0 800A7AC0 00065080 */ sll $t2, $a2, 2 /* 0A86C4 800A7AC4 E4E60230 */ swc1 $f6, 0x230($a3) /* 0A86C8 800A7AC8 8C680140 */ lw $t0, 0x140($v1) -/* 0A86CC 800A7ACC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A86CC 800A7ACC 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A86D0 800A7AD0 C5080014 */ lwc1 $f8, 0x14($t0) /* 0A86D4 800A7AD4 3C0C8012 */ lui $t4, %hi(D_80126CD8) # $t4, 0x8012 /* 0A86D8 800A7AD8 E4E80234 */ swc1 $f8, 0x234($a3) /* 0A86DC 800A7ADC 8D296CF4 */ lw $t1, %lo(D_80126CF4)($t1) -/* 0A86E0 800A7AE0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A86E0 800A7AE0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A86E4 800A7AE4 012A5821 */ addu $t3, $t1, $t2 /* 0A86E8 800A7AE8 8D620000 */ lw $v0, ($t3) /* 0A86EC 800A7AEC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 @@ -44,21 +44,21 @@ glabel func_800A7A60 /* 0A8708 800A7B08 AFA70028 */ sw $a3, 0x28($sp) /* 0A870C 800A7B0C 0C019B37 */ jal func_80066CDC /* 0A8710 800A7B10 AFA2002C */ sw $v0, 0x2c($sp) -/* 0A8714 800A7B14 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8714 800A7B14 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A8718 800A7B18 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A871C 800A7B1C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0A8720 800A7B20 0C01A102 */ jal func_80068408 -/* 0A8724 800A7B24 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8724 800A7B24 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A8728 800A7B28 8FA2002C */ lw $v0, 0x2c($sp) /* 0A872C 800A7B2C 8FA70028 */ lw $a3, 0x28($sp) -/* 0A8730 800A7B30 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8730 800A7B30 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0A8734 800A7B34 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0A8738 800A7B38 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0A873C 800A7B3C 240E0100 */ li $t6, 256 /* 0A8740 800A7B40 AFAE0014 */ sw $t6, 0x14($sp) /* 0A8744 800A7B44 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0A8748 800A7B48 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A874C 800A7B4C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A874C 800A7B4C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0A8750 800A7B50 0C01A145 */ jal func_80068514 /* 0A8754 800A7B54 AFA20010 */ sw $v0, 0x10($sp) .L800A7B58: diff --git a/asm/non_matchings/game_ui/func_800A7B68.s b/asm/non_matchings/game_ui/func_800A7B68.s deleted file mode 100644 index b51da2aa..00000000 --- a/asm/non_matchings/game_ui/func_800A7B68.s +++ /dev/null @@ -1,301 +0,0 @@ -glabel func_800A7B68 -/* 0A8768 800A7B68 3C078012 */ lui $a3, %hi(D_80126D0C) # $a3, 0x8012 -/* 0A876C 800A7B6C 8CE76D0C */ lw $a3, %lo(D_80126D0C)($a3) -/* 0A8770 800A7B70 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0A8774 800A7B74 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A8778 800A7B78 AFB00020 */ sw $s0, 0x20($sp) -/* 0A877C 800A7B7C AFA50064 */ sw $a1, 0x64($sp) -/* 0A8780 800A7B80 10E00016 */ beqz $a3, .L800A7BDC -/* 0A8784 800A7B84 00803025 */ move $a2, $a0 -/* 0A8788 800A7B88 848F0000 */ lh $t7, ($a0) -/* 0A878C 800A7B8C 00077080 */ sll $t6, $a3, 2 -/* 0A8790 800A7B90 3C19800E */ lui $t9, %hi(D_800E2794) # $t9, 0x800e -/* 0A8794 800A7B94 01CFC021 */ addu $t8, $t6, $t7 -/* 0A8798 800A7B98 0338C821 */ addu $t9, $t9, $t8 -/* 0A879C 800A7B9C 93392794 */ lbu $t9, %lo(D_800E2794)($t9) -/* 0A87A0 800A7BA0 24010001 */ li $at, 1 -/* 0A87A4 800A7BA4 1321000D */ beq $t9, $at, .L800A7BDC -/* 0A87A8 800A7BA8 00000000 */ nop -/* 0A87AC 800A7BAC 18E00100 */ blez $a3, .L800A7FB0 -/* 0A87B0 800A7BB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A87B4 800A7BB4 80820193 */ lb $v0, 0x193($a0) -/* 0A87B8 800A7BB8 00000000 */ nop -/* 0A87BC 800A7BBC 184000FB */ blez $v0, .L800A7FAC -/* 0A87C0 800A7BC0 00025880 */ sll $t3, $v0, 2 -/* 0A87C4 800A7BC4 008B6021 */ addu $t4, $a0, $t3 -/* 0A87C8 800A7BC8 8D8D0128 */ lw $t5, 0x128($t4) -/* 0A87CC 800A7BCC 00000000 */ nop -/* 0A87D0 800A7BD0 29A100B4 */ slti $at, $t5, 0xb4 -/* 0A87D4 800A7BD4 102000F6 */ beqz $at, .L800A7FB0 -/* 0A87D8 800A7BD8 8FBF0024 */ lw $ra, 0x24($sp) -.L800A7BDC: -/* 0A87DC 800A7BDC 80CA01D8 */ lb $t2, 0x1d8($a2) -/* 0A87E0 800A7BE0 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A87E4 800A7BE4 154000F2 */ bnez $t2, .L800A7FB0 -/* 0A87E8 800A7BE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A87EC 800A7BEC 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A87F0 800A7BF0 80C20193 */ lb $v0, 0x193($a2) -/* 0A87F4 800A7BF4 8109015A */ lb $t1, 0x15a($t0) -/* 0A87F8 800A7BF8 18400014 */ blez $v0, .L800A7C4C -/* 0A87FC 800A7BFC 2529007F */ addiu $t1, $t1, 0x7f -/* 0A8800 800A7C00 00027080 */ sll $t6, $v0, 2 -/* 0A8804 800A7C04 00CE1821 */ addu $v1, $a2, $t6 -/* 0A8808 800A7C08 8C6F0128 */ lw $t7, 0x128($v1) -/* 0A880C 800A7C0C 3C188012 */ lui $t8, %hi(D_80126D60) # $t8, 0x8012 -/* 0A8810 800A7C10 29E100B4 */ slti $at, $t7, 0xb4 -/* 0A8814 800A7C14 1020000D */ beqz $at, .L800A7C4C -/* 0A8818 800A7C18 00000000 */ nop -/* 0A881C 800A7C1C 8F186D60 */ lw $t8, %lo(D_80126D60)($t8) -/* 0A8820 800A7C20 240B0001 */ li $t3, 1 -/* 0A8824 800A7C24 8319004B */ lb $t9, 0x4b($t8) -/* 0A8828 800A7C28 00000000 */ nop -/* 0A882C 800A7C2C 0059082A */ slt $at, $v0, $t9 -/* 0A8830 800A7C30 10200006 */ beqz $at, .L800A7C4C -/* 0A8834 800A7C34 00000000 */ nop -/* 0A8838 800A7C38 8C700124 */ lw $s0, 0x124($v1) -/* 0A883C 800A7C3C 15200028 */ bnez $t1, .L800A7CE0 -/* 0A8840 800A7C40 AFAB0048 */ sw $t3, 0x48($sp) -/* 0A8844 800A7C44 10000026 */ b .L800A7CE0 -/* 0A8848 800A7C48 240900B4 */ li $t1, 180 -.L800A7C4C: -/* 0A884C 800A7C4C 80C50194 */ lb $a1, 0x194($a2) -/* 0A8850 800A7C50 00008025 */ move $s0, $zero -/* 0A8854 800A7C54 04A00011 */ bltz $a1, .L800A7C9C -/* 0A8858 800A7C58 00001025 */ move $v0, $zero -/* 0A885C 800A7C5C 3C0C8012 */ lui $t4, %hi(D_80126D60) # $t4, 0x8012 -/* 0A8860 800A7C60 8D8C6D60 */ lw $t4, %lo(D_80126D60)($t4) -/* 0A8864 800A7C64 00026880 */ sll $t5, $v0, 2 -/* 0A8868 800A7C68 8184004B */ lb $a0, 0x4b($t4) -/* 0A886C 800A7C6C 00CD1821 */ addu $v1, $a2, $t5 -/* 0A8870 800A7C70 1880000A */ blez $a0, .L800A7C9C -/* 0A8874 800A7C74 00000000 */ nop -.L800A7C78: -/* 0A8878 800A7C78 8C6E0128 */ lw $t6, 0x128($v1) -/* 0A887C 800A7C7C 24420001 */ addiu $v0, $v0, 1 -/* 0A8880 800A7C80 00A2082A */ slt $at, $a1, $v0 -/* 0A8884 800A7C84 24630004 */ addiu $v1, $v1, 4 -/* 0A8888 800A7C88 14200004 */ bnez $at, .L800A7C9C -/* 0A888C 800A7C8C 020E8021 */ addu $s0, $s0, $t6 -/* 0A8890 800A7C90 0044082A */ slt $at, $v0, $a0 -/* 0A8894 800A7C94 1420FFF8 */ bnez $at, .L800A7C78 -/* 0A8898 800A7C98 00000000 */ nop -.L800A7C9C: -/* 0A889C 800A7C9C 2E030001 */ sltiu $v1, $s0, 1 -/* 0A88A0 800A7CA0 14600009 */ bnez $v1, .L800A7CC8 -/* 0A88A4 800A7CA4 00000000 */ nop -/* 0A88A8 800A7CA8 000A182B */ sltu $v1, $zero, $t2 -/* 0A88AC 800A7CAC 14600006 */ bnez $v1, .L800A7CC8 -/* 0A88B0 800A7CB0 00000000 */ nop -/* 0A88B4 800A7CB4 0C01BAA8 */ jal is_game_paused -/* 0A88B8 800A7CB8 00000000 */ nop -/* 0A88BC 800A7CBC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A88C0 800A7CC0 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A88C4 800A7CC4 0002182B */ sltu $v1, $zero, $v0 -.L800A7CC8: -/* 0A88C8 800A7CC8 AFA30048 */ sw $v1, 0x48($sp) -/* 0A88CC 800A7CCC 240FFF81 */ li $t7, -127 -/* 0A88D0 800A7CD0 A10F015A */ sb $t7, 0x15a($t0) -/* 0A88D4 800A7CD4 3C078012 */ lui $a3, %hi(D_80126D0C) # $a3, 0x8012 -/* 0A88D8 800A7CD8 8CE76D0C */ lw $a3, %lo(D_80126D0C)($a3) -/* 0A88DC 800A7CDC 00004825 */ move $t1, $zero -.L800A7CE0: -/* 0A88E0 800A7CE0 14E0000D */ bnez $a3, .L800A7D18 -/* 0A88E4 800A7CE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0A88E8 800A7CE8 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 -/* 0A88EC 800A7CEC 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) -/* 0A88F0 800A7CF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 -/* 0A88F4 800A7CF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 -/* 0A88F8 800A7CF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 -/* 0A88FC 800A7CFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0A8900 800A7D00 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc -/* 0A8904 800A7D04 AFA90044 */ sw $t1, 0x44($sp) -/* 0A8908 800A7D08 0C02A980 */ jal func_800AA600 -/* 0A890C 800A7D0C 24E70140 */ addiu $a3, $a3, 0x140 -/* 0A8910 800A7D10 8FA90044 */ lw $t1, 0x44($sp) -/* 0A8914 800A7D14 00000000 */ nop -.L800A7D18: -/* 0A8918 800A7D18 34048CA0 */ li $a0, 36000 -/* 0A891C 800A7D1C 0C00322D */ jal normalise_time -/* 0A8920 800A7D20 AFA90044 */ sw $t1, 0x44($sp) -/* 0A8924 800A7D24 8FA90044 */ lw $t1, 0x44($sp) -/* 0A8928 800A7D28 0050082A */ slt $at, $v0, $s0 -/* 0A892C 800A7D2C 10200005 */ beqz $at, .L800A7D44 -/* 0A8930 800A7D30 34048CA0 */ li $a0, 36000 -/* 0A8934 800A7D34 0C00322D */ jal normalise_time -/* 0A8938 800A7D38 AFA90044 */ sw $t1, 0x44($sp) -/* 0A893C 800A7D3C 8FA90044 */ lw $t1, 0x44($sp) -/* 0A8940 800A7D40 00408025 */ move $s0, $v0 -.L800A7D44: -/* 0A8944 800A7D44 02002025 */ move $a0, $s0 -/* 0A8948 800A7D48 27A50054 */ addiu $a1, $sp, 0x54 -/* 0A894C 800A7D4C 27A60050 */ addiu $a2, $sp, 0x50 -/* 0A8950 800A7D50 27A7004C */ addiu $a3, $sp, 0x4c -/* 0A8954 800A7D54 0C0165E4 */ jal get_timestamp_from_frames -/* 0A8958 800A7D58 AFA90044 */ sw $t1, 0x44($sp) -/* 0A895C 800A7D5C 8FB80048 */ lw $t8, 0x48($sp) -/* 0A8960 800A7D60 8FA90044 */ lw $t1, 0x44($sp) -/* 0A8964 800A7D64 17000006 */ bnez $t8, .L800A7D80 -/* 0A8968 800A7D68 34048CA0 */ li $a0, 36000 -/* 0A896C 800A7D6C 0C00322D */ jal normalise_time -/* 0A8970 800A7D70 AFA90044 */ sw $t1, 0x44($sp) -/* 0A8974 800A7D74 8FA90044 */ lw $t1, 0x44($sp) -/* 0A8978 800A7D78 14500028 */ bne $v0, $s0, .L800A7E1C -/* 0A897C 800A7D7C 8FAB004C */ lw $t3, 0x4c($sp) -.L800A7D80: -/* 0A8980 800A7D80 8FB90064 */ lw $t9, 0x64($sp) -/* 0A8984 800A7D84 3C108012 */ lui $s0, %hi(D_80126D36) # $s0, 0x8012 -/* 0A8988 800A7D88 0329082A */ slt $at, $t9, $t1 -/* 0A898C 800A7D8C 10200003 */ beqz $at, .L800A7D9C -/* 0A8990 800A7D90 26106D36 */ addiu $s0, %lo(D_80126D36) # addiu $s0, $s0, 0x6d36 -/* 0A8994 800A7D94 10000002 */ b .L800A7DA0 -/* 0A8998 800A7D98 01394823 */ subu $t1, $t1, $t9 -.L800A7D9C: -/* 0A899C 800A7D9C 00004825 */ move $t1, $zero -.L800A7DA0: -/* 0A89A0 800A7DA0 2401001E */ li $at, 30 -/* 0A89A4 800A7DA4 0121001A */ div $zero, $t1, $at -/* 0A89A8 800A7DA8 3C0C8012 */ lui $t4, %hi(D_80126CDC) # $t4, 0x8012 -/* 0A89AC 800A7DAC 8D8C6CDC */ lw $t4, %lo(D_80126CDC)($t4) -/* 0A89B0 800A7DB0 252BFF81 */ addiu $t3, $t1, -0x7f -/* 0A89B4 800A7DB4 240E0001 */ li $t6, 1 -/* 0A89B8 800A7DB8 A18B015A */ sb $t3, 0x15a($t4) -/* 0A89BC 800A7DBC 00006810 */ mfhi $t5 -/* 0A89C0 800A7DC0 29A10015 */ slti $at, $t5, 0x15 -/* 0A89C4 800A7DC4 14200005 */ bnez $at, .L800A7DDC -/* 0A89C8 800A7DC8 00000000 */ nop -/* 0A89CC 800A7DCC 3C108012 */ lui $s0, %hi(D_80126D36) # $s0, 0x8012 -/* 0A89D0 800A7DD0 26106D36 */ addiu $s0, %lo(D_80126D36) # addiu $s0, $s0, 0x6d36 -/* 0A89D4 800A7DD4 10000075 */ b .L800A7FAC -/* 0A89D8 800A7DD8 A20E0000 */ sb $t6, ($s0) -.L800A7DDC: -/* 0A89DC 800A7DDC 920F0000 */ lbu $t7, ($s0) -/* 0A89E0 800A7DE0 3C188012 */ lui $t8, %hi(D_80126D0C) # $t8, 0x8012 -/* 0A89E4 800A7DE4 11E00008 */ beqz $t7, .L800A7E08 -/* 0A89E8 800A7DE8 00000000 */ nop -/* 0A89EC 800A7DEC 8F186D0C */ lw $t8, %lo(D_80126D0C)($t8) -/* 0A89F0 800A7DF0 240400FE */ li $a0, 254 -/* 0A89F4 800A7DF4 17000003 */ bnez $t8, .L800A7E04 -/* 0A89F8 800A7DF8 00000000 */ nop -/* 0A89FC 800A7DFC 0C000741 */ jal play_sound_global -/* 0A8A00 800A7E00 00002825 */ move $a1, $zero -.L800A7E04: -/* 0A8A04 800A7E04 A2000000 */ sb $zero, ($s0) -.L800A7E08: -/* 0A8A08 800A7E08 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A8A0C 800A7E0C 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A8A10 800A7E10 10000028 */ b .L800A7EB4 -/* 0A8A14 800A7E14 00000000 */ nop -/* 0A8A18 800A7E18 8FAB004C */ lw $t3, 0x4c($sp) -.L800A7E1C: -/* 0A8A1C 800A7E1C 2402000A */ li $v0, 10 -/* 0A8A20 800A7E20 0162001A */ div $zero, $t3, $v0 -/* 0A8A24 800A7E24 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A8A28 800A7E28 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A8A2C 800A7E2C 00000000 */ nop -/* 0A8A30 800A7E30 8119015B */ lb $t9, 0x15b($t0) -/* 0A8A34 800A7E34 14400002 */ bnez $v0, .L800A7E40 -/* 0A8A38 800A7E38 00000000 */ nop -/* 0A8A3C 800A7E3C 0007000D */ break 7 -.L800A7E40: -/* 0A8A40 800A7E40 2401FFFF */ li $at, -1 -/* 0A8A44 800A7E44 14410004 */ bne $v0, $at, .L800A7E58 -/* 0A8A48 800A7E48 3C018000 */ lui $at, 0x8000 -/* 0A8A4C 800A7E4C 15610002 */ bne $t3, $at, .L800A7E58 -/* 0A8A50 800A7E50 00000000 */ nop -/* 0A8A54 800A7E54 0006000D */ break 6 -.L800A7E58: -/* 0A8A58 800A7E58 00006012 */ mflo $t4 -/* 0A8A5C 800A7E5C 00000000 */ nop -/* 0A8A60 800A7E60 00000000 */ nop -/* 0A8A64 800A7E64 01820019 */ multu $t4, $v0 -/* 0A8A68 800A7E68 00006812 */ mflo $t5 -/* 0A8A6C 800A7E6C 032D7021 */ addu $t6, $t9, $t5 -/* 0A8A70 800A7E70 AFAE004C */ sw $t6, 0x4c($sp) -/* 0A8A74 800A7E74 810F015B */ lb $t7, 0x15b($t0) -/* 0A8A78 800A7E78 00000000 */ nop -/* 0A8A7C 800A7E7C 25F80001 */ addiu $t8, $t7, 1 -/* 0A8A80 800A7E80 A118015B */ sb $t8, 0x15b($t0) -/* 0A8A84 800A7E84 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A8A88 800A7E88 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A8A8C 800A7E8C 00000000 */ nop -/* 0A8A90 800A7E90 810B015B */ lb $t3, 0x15b($t0) -/* 0A8A94 800A7E94 00000000 */ nop -/* 0A8A98 800A7E98 2961000A */ slti $at, $t3, 0xa -/* 0A8A9C 800A7E9C 14200005 */ bnez $at, .L800A7EB4 -/* 0A8AA0 800A7EA0 00000000 */ nop -/* 0A8AA4 800A7EA4 A100015B */ sb $zero, 0x15b($t0) -/* 0A8AA8 800A7EA8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 -/* 0A8AAC 800A7EAC 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) -/* 0A8AB0 800A7EB0 00000000 */ nop -.L800A7EB4: -/* 0A8AB4 800A7EB4 3C0C8012 */ lui $t4, %hi(D_80126D37) # $t4, 0x8012 -/* 0A8AB8 800A7EB8 918C6D37 */ lbu $t4, %lo(D_80126D37)($t4) -/* 0A8ABC 800A7EBC 24010001 */ li $at, 1 -/* 0A8AC0 800A7EC0 1581001A */ bne $t4, $at, .L800A7F2C -/* 0A8AC4 800A7EC4 00000000 */ nop -/* 0A8AC8 800A7EC8 4459F800 */ cfc1 $t9, $31 -/* 0A8ACC 800A7ECC C504016C */ lwc1 $f4, 0x16c($t0) -/* 0A8AD0 800A7ED0 37210003 */ ori $at, $t9, 3 -/* 0A8AD4 800A7ED4 38210002 */ xori $at, $at, 2 -/* 0A8AD8 800A7ED8 44C1F800 */ ctc1 $at, $31 -/* 0A8ADC 800A7EDC C5080170 */ lwc1 $f8, 0x170($t0) -/* 0A8AE0 800A7EE0 460021A4 */ cvt.w.s $f6, $f4 -/* 0A8AE4 800A7EE4 8FAE004C */ lw $t6, 0x4c($sp) -/* 0A8AE8 800A7EE8 44D9F800 */ ctc1 $t9, $31 -/* 0A8AEC 800A7EEC 44043000 */ mfc1 $a0, $f6 -/* 0A8AF0 800A7EF0 8FA60054 */ lw $a2, 0x54($sp) -/* 0A8AF4 800A7EF4 444DF800 */ cfc1 $t5, $31 -/* 0A8AF8 800A7EF8 8FA70050 */ lw $a3, 0x50($sp) -/* 0A8AFC 800A7EFC 35A10003 */ ori $at, $t5, 3 -/* 0A8B00 800A7F00 38210002 */ xori $at, $at, 2 -/* 0A8B04 800A7F04 44C1F800 */ ctc1 $at, $31 -/* 0A8B08 800A7F08 AFA00014 */ sw $zero, 0x14($sp) -/* 0A8B0C 800A7F0C 460042A4 */ cvt.w.s $f10, $f8 -/* 0A8B10 800A7F10 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A8B14 800A7F14 44055000 */ mfc1 $a1, $f10 -/* 0A8B18 800A7F18 44CDF800 */ ctc1 $t5, $31 -/* 0A8B1C 800A7F1C 0C029FEF */ jal func_800A7FBC -/* 0A8B20 800A7F20 00000000 */ nop -/* 0A8B24 800A7F24 10000018 */ b .L800A7F88 -/* 0A8B28 800A7F28 00000000 */ nop -.L800A7F2C: -/* 0A8B2C 800A7F2C 444FF800 */ cfc1 $t7, $31 -/* 0A8B30 800A7F30 C510016C */ lwc1 $f16, 0x16c($t0) -/* 0A8B34 800A7F34 35E10003 */ ori $at, $t7, 3 -/* 0A8B38 800A7F38 38210002 */ xori $at, $at, 2 -/* 0A8B3C 800A7F3C 44C1F800 */ ctc1 $at, $31 -/* 0A8B40 800A7F40 C5040170 */ lwc1 $f4, 0x170($t0) -/* 0A8B44 800A7F44 460084A4 */ cvt.w.s $f18, $f16 -/* 0A8B48 800A7F48 8FAB004C */ lw $t3, 0x4c($sp) -/* 0A8B4C 800A7F4C 44CFF800 */ ctc1 $t7, $31 -/* 0A8B50 800A7F50 44049000 */ mfc1 $a0, $f18 -/* 0A8B54 800A7F54 8FA60054 */ lw $a2, 0x54($sp) -/* 0A8B58 800A7F58 4458F800 */ cfc1 $t8, $31 -/* 0A8B5C 800A7F5C 8FA70050 */ lw $a3, 0x50($sp) -/* 0A8B60 800A7F60 37010003 */ ori $at, $t8, 3 -/* 0A8B64 800A7F64 38210002 */ xori $at, $at, 2 -/* 0A8B68 800A7F68 44C1F800 */ ctc1 $at, $31 -/* 0A8B6C 800A7F6C 240C0001 */ li $t4, 1 -/* 0A8B70 800A7F70 460021A4 */ cvt.w.s $f6, $f4 -/* 0A8B74 800A7F74 AFAC0014 */ sw $t4, 0x14($sp) -/* 0A8B78 800A7F78 44053000 */ mfc1 $a1, $f6 -/* 0A8B7C 800A7F7C 44D8F800 */ ctc1 $t8, $31 -/* 0A8B80 800A7F80 0C029FEF */ jal func_800A7FBC -/* 0A8B84 800A7F84 AFAB0010 */ sw $t3, 0x10($sp) -.L800A7F88: -/* 0A8B88 800A7F88 3C038012 */ lui $v1, %hi(D_80126CFC) # $v1, 0x8012 -/* 0A8B8C 800A7F8C 8C636CFC */ lw $v1, %lo(D_80126CFC)($v1) -/* 0A8B90 800A7F90 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 -/* 0A8B94 800A7F94 24790008 */ addiu $t9, $v1, 8 -/* 0A8B98 800A7F98 AC396CFC */ sw $t9, %lo(D_80126CFC)($at) -/* 0A8B9C 800A7F9C 3C0DFA00 */ lui $t5, 0xfa00 -/* 0A8BA0 800A7FA0 240EFFFF */ li $t6, -1 -/* 0A8BA4 800A7FA4 AC6E0004 */ sw $t6, 4($v1) -/* 0A8BA8 800A7FA8 AC6D0000 */ sw $t5, ($v1) -.L800A7FAC: -/* 0A8BAC 800A7FAC 8FBF0024 */ lw $ra, 0x24($sp) -.L800A7FB0: -/* 0A8BB0 800A7FB0 8FB00020 */ lw $s0, 0x20($sp) -/* 0A8BB4 800A7FB4 03E00008 */ jr $ra -/* 0A8BB8 800A7FB8 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/game_ui/func_800A7FBC.s b/asm/non_matchings/game_ui/func_800A7FBC.s index 5aabc4fc..f8b58e5c 100644 --- a/asm/non_matchings/game_ui/func_800A7FBC.s +++ b/asm/non_matchings/game_ui/func_800A7FBC.s @@ -49,12 +49,12 @@ glabel func_800A7FBC /* 0A8C70 800A8070 8FAA0088 */ lw $t2, 0x88($sp) /* 0A8C74 800A8074 2415000A */ li $s5, 10 /* 0A8C78 800A8078 0155001A */ div $zero, $t2, $s5 -/* 0A8C7C 800A807C 3C108012 */ lui $s0, %hi(D_80126CFC) # $s0, 0x8012 +/* 0A8C7C 800A807C 3C108012 */ lui $s0, %hi(gHUDCurrDisplayList) # $s0, 0x8012 /* 0A8C80 800A8080 3C118012 */ lui $s1, %hi(D_80126D00) # $s1, 0x8012 /* 0A8C84 800A8084 3C128012 */ lui $s2, %hi(D_80126D04) # $s2, 0x8012 /* 0A8C88 800A8088 26526D04 */ addiu $s2, %lo(D_80126D04) # addiu $s2, $s2, 0x6d04 /* 0A8C8C 800A808C 26316D00 */ addiu $s1, %lo(D_80126D00) # addiu $s1, $s1, 0x6d00 -/* 0A8C90 800A8090 26106CFC */ addiu $s0, %lo(D_80126CFC) # addiu $s0, $s0, 0x6cfc +/* 0A8C90 800A8090 26106CFC */ addiu $s0, %lo(gHUDCurrDisplayList) # addiu $s0, $s0, 0x6cfc /* 0A8C94 800A8094 27B30060 */ addiu $s3, $sp, 0x60 /* 0A8C98 800A8098 A7B40066 */ sh $s4, 0x66($sp) /* 0A8C9C 800A809C 16A00002 */ bnez $s5, .L800A80A8 diff --git a/asm/non_matchings/game_ui/func_800A8474.s b/asm/non_matchings/game_ui/func_800A8474.s index 043074ce..be011e79 100644 --- a/asm/non_matchings/game_ui/func_800A8474.s +++ b/asm/non_matchings/game_ui/func_800A8474.s @@ -191,9 +191,9 @@ glabel func_800A8474 /* 0A92F0 800A86F0 8FAC0160 */ lw $t4, 0x160($sp) /* 0A92F4 800A86F4 AFA20150 */ sw $v0, 0x150($sp) /* 0A92F8 800A86F8 8D8D0000 */ lw $t5, ($t4) -/* 0A92FC 800A86FC 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012 +/* 0A92FC 800A86FC 3C148012 */ lui $s4, %hi(gHUDCurrDisplayList) # $s4, 0x8012 /* 0A9300 800A8700 8FAE0164 */ lw $t6, 0x164($sp) -/* 0A9304 800A8704 26946CFC */ addiu $s4, %lo(D_80126CFC) # addiu $s4, $s4, 0x6cfc +/* 0A9304 800A8704 26946CFC */ addiu $s4, %lo(gHUDCurrDisplayList) # addiu $s4, $s4, 0x6cfc /* 0A9308 800A8708 AE8D0000 */ sw $t5, ($s4) /* 0A930C 800A870C 8DCF0000 */ lw $t7, ($t6) /* 0A9310 800A8710 8FB80168 */ lw $t8, 0x168($sp) @@ -1412,7 +1412,7 @@ glabel func_800A8474 /* 0AA508 800A9908 144002B1 */ bnez $v0, .L800AA3D0 /* 0AA50C 800A990C 8FBF003C */ lw $ra, 0x3c($sp) .L800A9910: -/* 0AA510 800A9910 0C019944 */ jal func_80066510 +/* 0AA510 800A9910 0C019944 */ jal check_if_showing_cutscene_camera /* 0AA514 800A9914 A3A40113 */ sb $a0, 0x113($sp) /* 0AA518 800A9918 93A40113 */ lbu $a0, 0x113($sp) /* 0AA51C 800A991C 144002AC */ bnez $v0, .L800AA3D0 diff --git a/asm/non_matchings/game_ui/func_800AA600.s b/asm/non_matchings/game_ui/func_800AA600.s index f0e2152d..04e4cac7 100644 --- a/asm/non_matchings/game_ui/func_800AA600.s +++ b/asm/non_matchings/game_ui/func_800AA600.s @@ -125,14 +125,14 @@ glabel func_800AA600 .L800AA7B4: /* 0AB3B4 800AA7B4 3C198012 */ lui $t9, %hi(D_80126CD8) # $t9, 0x8012 /* 0AB3B8 800AA7B8 8F396CD8 */ lw $t9, %lo(D_80126CD8)($t9) -/* 0AB3BC 800AA7BC 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0AB3BC 800AA7BC 3C018012 */ lui $at, %hi(gHUDCurrDisplayList) # $at, 0x8012 /* 0AB3C0 800AA7C0 0328C021 */ addu $t8, $t9, $t0 /* 0AB3C4 800AA7C4 A3000000 */ sb $zero, ($t8) /* 0AB3C8 800AA7C8 8FAB00B8 */ lw $t3, 0xb8($sp) /* 0AB3CC 800AA7CC 8FAC00BC */ lw $t4, 0xbc($sp) /* 0AB3D0 800AA7D0 8D6D0000 */ lw $t5, ($t3) /* 0AB3D4 800AA7D4 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0AB3D8 800AA7D8 AC2D6CFC */ sw $t5, %lo(D_80126CFC)($at) +/* 0AB3D8 800AA7D8 AC2D6CFC */ sw $t5, %lo(gHUDCurrDisplayList)($at) /* 0AB3DC 800AA7DC 8D8E0000 */ lw $t6, ($t4) /* 0AB3E0 800AA7E0 3C018012 */ lui $at, %hi(D_80126D00) # $at, 0x8012 /* 0AB3E4 800AA7E4 AC2E6D00 */ sw $t6, %lo(D_80126D00)($at) @@ -281,10 +281,10 @@ glabel func_800AA600 /* 0AB604 800AAA04 860E0006 */ lh $t6, 6($s0) /* 0AB608 800AAA08 24010035 */ li $at, 53 /* 0AB60C 800AAA0C 15C1001A */ bne $t6, $at, .L800AAA78 -/* 0AB610 800AAA10 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB610 800AAA10 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB614 800AAA14 240100FF */ li $at, 255 /* 0AB618 800AAA18 14610003 */ bne $v1, $at, .L800AAA28 -/* 0AB61C 800AAA1C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB61C 800AAA1C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB620 800AAA20 10000003 */ b .L800AAA30 /* 0AB624 800AAA24 2402FFFE */ li $v0, -2 .L800AAA28: @@ -302,7 +302,7 @@ glabel func_800AA600 /* 0AB650 800AAA50 240F0001 */ li $t7, 1 /* 0AB654 800AAA54 AFAF001C */ sw $t7, 0x1c($sp) /* 0AB658 800AAA58 AFA20018 */ sw $v0, 0x18($sp) -/* 0AB65C 800AAA5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB65C 800AAA5C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB660 800AAA60 27A50088 */ addiu $a1, $sp, 0x88 /* 0AB664 800AAA64 E7B20010 */ swc1 $f18, 0x10($sp) /* 0AB668 800AAA68 0C01E340 */ jal render_texture_rectangle_scaled @@ -316,7 +316,7 @@ glabel func_800AA600 /* 0AB684 800AAA84 AFAB0018 */ sw $t3, 0x18($sp) /* 0AB688 800AAA88 AFB80014 */ sw $t8, 0x14($sp) /* 0AB68C 800AAA8C AFB90010 */ sw $t9, 0x10($sp) -/* 0AB690 800AAA90 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB690 800AAA90 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB694 800AAA94 27A50088 */ addiu $a1, $sp, 0x88 /* 0AB698 800AAA98 00003025 */ move $a2, $zero /* 0AB69C 800AAA9C 00003825 */ move $a3, $zero @@ -325,12 +325,12 @@ glabel func_800AA600 /* 0AB6A8 800AAAA8 1000000A */ b .L800AAAD4 /* 0AB6AC 800AAAAC 00000000 */ nop .L800AAAB0: -/* 0AB6B0 800AAAB0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB6B0 800AAAB0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB6B4 800AAAB4 240D00FF */ li $t5, 255 /* 0AB6B8 800AAAB8 240C00FF */ li $t4, 255 /* 0AB6BC 800AAABC AFAC0014 */ sw $t4, 0x14($sp) /* 0AB6C0 800AAAC0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0AB6C4 800AAAC4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB6C4 800AAAC4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB6C8 800AAAC8 AFAE0018 */ sw $t6, 0x18($sp) /* 0AB6CC 800AAACC 0C01E2AE */ jal render_textured_rectangle /* 0AB6D0 800AAAD0 AFA3001C */ sw $v1, 0x1c($sp) @@ -372,8 +372,8 @@ glabel func_800AA600 /* 0AB754 800AAB54 3C18800E */ lui $t8, %hi(D_800E2834) # $t8, 0x800e /* 0AB758 800AAB58 8F182834 */ lw $t8, %lo(D_800E2834)($t8) /* 0AB75C 800AAB5C 240B0001 */ li $t3, 1 -/* 0AB760 800AAB60 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0AB764 800AAB64 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB760 800AAB60 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0AB764 800AAB64 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB768 800AAB68 27A50070 */ addiu $a1, $sp, 0x70 /* 0AB76C 800AAB6C 0000C812 */ mflo $t9 /* 0AB770 800AAB70 00591021 */ addu $v0, $v0, $t9 @@ -471,9 +471,9 @@ glabel func_800AA600 /* 0AB8D8 800AACD8 A7AE005E */ sh $t6, 0x5e($sp) /* 0AB8DC 800AACDC 304E00FF */ andi $t6, $v0, 0xff /* 0AB8E0 800AACE0 31AC00FF */ andi $t4, $t5, 0xff -/* 0AB8E4 800AACE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB8E4 800AACE4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB8E8 800AACE8 AFA00060 */ sw $zero, 0x60($sp) -/* 0AB8EC 800AACEC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB8EC 800AACEC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB8F0 800AACF0 AFAC0018 */ sw $t4, 0x18($sp) /* 0AB8F4 800AACF4 AFAE001C */ sw $t6, 0x1c($sp) /* 0AB8F8 800AACF8 AFB90010 */ sw $t9, 0x10($sp) @@ -482,9 +482,9 @@ glabel func_800AA600 /* 0AB904 800AAD04 00003025 */ move $a2, $zero /* 0AB908 800AAD08 0C01E2AE */ jal render_textured_rectangle /* 0AB90C 800AAD0C 00003825 */ move $a3, $zero -/* 0AB910 800AAD10 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB910 800AAD10 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB914 800AAD14 0C01ECF4 */ jal func_8007B3D0 -/* 0AB918 800AAD18 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB918 800AAD18 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB91C 800AAD1C 10000079 */ b .L800AAF04 /* 0AB920 800AAD20 86080006 */ lh $t0, 6($s0) .L800AAD24: @@ -501,8 +501,8 @@ glabel func_800AA600 /* 0AB94C 800AAD4C 3C0E800E */ lui $t6, %hi(D_800E2834) # $t6, 0x800e /* 0AB950 800AAD50 8DCE2834 */ lw $t6, %lo(D_800E2834)($t6) /* 0AB954 800AAD54 240F0001 */ li $t7, 1 -/* 0AB958 800AAD58 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 -/* 0AB95C 800AAD5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB958 800AAD58 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 +/* 0AB95C 800AAD5C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB960 800AAD60 27A50048 */ addiu $a1, $sp, 0x48 /* 0AB964 800AAD64 00006012 */ mflo $t4 /* 0AB968 800AAD68 004C1021 */ addu $v0, $v0, $t4 @@ -515,9 +515,9 @@ glabel func_800AA600 /* 0AB984 800AAD84 E7A00014 */ swc1 $f0, 0x14($sp) /* 0AB988 800AAD88 0C01E340 */ jal render_texture_rectangle_scaled /* 0AB98C 800AAD8C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0AB990 800AAD90 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB990 800AAD90 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB994 800AAD94 0C01ECF4 */ jal func_8007B3D0 -/* 0AB998 800AAD98 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB998 800AAD98 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB99C 800AAD9C 10000059 */ b .L800AAF04 /* 0AB9A0 800AADA0 86080006 */ lh $t0, 6($s0) .L800AADA4: @@ -537,12 +537,12 @@ glabel func_800AA600 /* 0AB9D8 800AADD8 8D830000 */ lw $v1, ($t4) /* 0AB9DC 800AADDC 01CFC823 */ subu $t9, $t6, $t7 /* 0AB9E0 800AADE0 A6190004 */ sh $t9, 4($s0) -/* 0AB9E4 800AADE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB9E4 800AADE4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0AB9E8 800AADE8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0AB9EC 800AADEC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 /* 0AB9F0 800AADF0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 /* 0AB9F4 800AADF4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0AB9F8 800AADF8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB9F8 800AADF8 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0AB9FC 800AADFC AFA00014 */ sw $zero, 0x14($sp) /* 0ABA00 800AAE00 02003825 */ move $a3, $s0 /* 0ABA04 800AAE04 0C01A2FD */ jal func_80068BF4 @@ -556,7 +556,7 @@ glabel func_800AA600 /* 0ABA24 800AAE24 A60C0004 */ sh $t4, 4($s0) .L800AAE28: /* 0ABA28 800AAE28 11C0001F */ beqz $t6, .L800AAEA8 -/* 0ABA2C 800AAE2C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0ABA2C 800AAE2C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0ABA30 800AAE30 8D2F0000 */ lw $t7, ($t1) /* 0ABA34 800AAE34 0008C880 */ sll $t9, $t0, 2 /* 0ABA38 800AAE38 01F9C021 */ addu $t8, $t7, $t9 @@ -565,7 +565,7 @@ glabel func_800AA600 /* 0ABA44 800AAE44 240E00FF */ li $t6, 255 /* 0ABA48 800AAE48 A4EB0000 */ sh $t3, ($a3) /* 0ABA4C 800AAE4C 860D0002 */ lh $t5, 2($s0) -/* 0ABA50 800AAE50 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0ABA50 800AAE50 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0ABA54 800AAE54 A4ED0002 */ sh $t5, 2($a3) /* 0ABA58 800AAE58 860C0004 */ lh $t4, 4($s0) /* 0ABA5C 800AAE5C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 @@ -580,7 +580,7 @@ glabel func_800AA600 /* 0ABA80 800AAE80 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 /* 0ABA84 800AAE84 E4E40014 */ swc1 $f4, 0x14($a3) /* 0ABA88 800AAE88 C6060008 */ lwc1 $f6, 8($s0) -/* 0ABA8C 800AAE8C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0ABA8C 800AAE8C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0ABA90 800AAE90 A0E0003A */ sb $zero, 0x3a($a3) /* 0ABA94 800AAE94 A0EE0039 */ sb $t6, 0x39($a3) /* 0ABA98 800AAE98 0C004B57 */ jal func_80012D5C @@ -591,7 +591,7 @@ glabel func_800AA600 /* 0ABAA8 800AAEA8 44809000 */ mtc1 $zero, $f18 /* 0ABAAC 800AAEAC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 /* 0ABAB0 800AAEB0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 -/* 0ABAB4 800AAEB4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0ABAB4 800AAEB4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc /* 0ABAB8 800AAEB8 02003025 */ move $a2, $s0 /* 0ABABC 800AAEBC 3C073F80 */ lui $a3, 0x3f80 /* 0ABAC0 800AAEC0 0C01A521 */ jal func_80069484 @@ -607,15 +607,15 @@ glabel func_800AA600 /* 0ABAE8 800AAEE8 8C440000 */ lw $a0, ($v0) /* 0ABAEC 800AAEEC 0C02ABF4 */ jal func_800AAFD0 /* 0ABAF0 800AAEF0 00000000 */ nop -/* 0ABAF4 800AAEF4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0ABAF4 800AAEF4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 /* 0ABAF8 800AAEF8 0C01A690 */ jal func_80069A40 -/* 0ABAFC 800AAEFC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0ABAFC 800AAEFC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc .L800AAF00: /* 0ABB00 800AAF00 86080006 */ lh $t0, 6($s0) .L800AAF04: /* 0ABB04 800AAF04 24010028 */ li $at, 40 /* 0ABB08 800AAF08 11010021 */ beq $t0, $at, .L800AAF90 -/* 0ABB0C 800AAF0C 3C0B8012 */ lui $t3, %hi(D_80126CFC) # $t3, 0x8012 +/* 0ABB0C 800AAF0C 3C0B8012 */ lui $t3, %hi(gHUDCurrDisplayList) # $t3, 0x8012 /* 0ABB10 800AAF10 2401000E */ li $at, 14 /* 0ABB14 800AAF14 11010014 */ beq $t0, $at, .L800AAF68 /* 0ABB18 800AAF18 3C198012 */ lui $t9, %hi(D_80126D24) # $t9, 0x8012 @@ -651,7 +651,7 @@ glabel func_800AA600 /* 0ABB88 800AAF88 46128201 */ sub.s $f8, $f16, $f18 /* 0ABB8C 800AAF8C E608000C */ swc1 $f8, 0xc($s0) .L800AAF90: -/* 0ABB90 800AAF90 8D6B6CFC */ lw $t3, %lo(D_80126CFC)($t3) +/* 0ABB90 800AAF90 8D6B6CFC */ lw $t3, %lo(gHUDCurrDisplayList)($t3) /* 0ABB94 800AAF94 8FAD00B8 */ lw $t5, 0xb8($sp) /* 0ABB98 800AAF98 3C0C8012 */ lui $t4, %hi(D_80126D00) # $t4, 0x8012 /* 0ABB9C 800AAF9C ADAB0000 */ sw $t3, ($t5) diff --git a/asm/non_matchings/game_ui/func_800AAFD0.s b/asm/non_matchings/game_ui/func_800AAFD0.s index 6de69551..ed78c4b7 100644 --- a/asm/non_matchings/game_ui/func_800AAFD0.s +++ b/asm/non_matchings/game_ui/func_800AAFD0.s @@ -14,8 +14,8 @@ glabel func_800AAFD0 /* 0ABC00 800AB000 00809825 */ move $s3, $a0 /* 0ABC04 800AB004 18A00057 */ blez $a1, .L800AB164 /* 0ABC08 800AB008 0000B825 */ move $s7, $zero -/* 0ABC0C 800AB00C 3C128012 */ lui $s2, %hi(D_80126CFC) # $s2, 0x8012 -/* 0ABC10 800AB010 26526CFC */ addiu $s2, %lo(D_80126CFC) # addiu $s2, $s2, 0x6cfc +/* 0ABC0C 800AB00C 3C128012 */ lui $s2, %hi(gHUDCurrDisplayList) # $s2, 0x8012 +/* 0ABC10 800AB010 26526CFC */ addiu $s2, %lo(gHUDCurrDisplayList) # addiu $s2, $s2, 0x6cfc /* 0ABC14 800AB014 0000F025 */ move $fp, $zero .L800AB018: /* 0ABC18 800AB018 8E6E0038 */ lw $t6, 0x38($s3) diff --git a/asm/non_matchings/menu/render_file_select_menu.s b/asm/non_matchings/menu/render_file_select_menu.s index 90c0237f..5aa73d09 100644 --- a/asm/non_matchings/menu/render_file_select_menu.s +++ b/asm/non_matchings/menu/render_file_select_menu.s @@ -66,8 +66,8 @@ glabel render_file_select_menu /* 08DA60 8008CE60 AFAB0018 */ sw $t3, 0x18($sp) /* 08DA64 8008CE64 0C020160 */ jal func_80080580 /* 08DA68 8008CE68 AFAC0020 */ sw $t4, 0x20($sp) -/* 08DA6C 8008CE6C 3C0D800E */ lui $t5, %hi(D_800E03FC) # $t5, 0x800e -/* 08DA70 8008CE70 25AD03FC */ addiu $t5, %lo(D_800E03FC) # addiu $t5, $t5, 0x3fc +/* 08DA6C 8008CE6C 3C0D800E */ lui $t5, %hi(gFileSelectElementPos) # $t5, 0x800e +/* 08DA70 8008CE70 25AD03FC */ addiu $t5, %lo(gFileSelectElementPos) # addiu $t5, $t5, 0x3fc /* 08DA74 8008CE74 26100010 */ addiu $s0, $s0, 0x10 /* 08DA78 8008CE78 020D082B */ sltu $at, $s0, $t5 /* 08DA7C 8008CE7C 1420FFE1 */ bnez $at, .L8008CE04 @@ -88,10 +88,10 @@ glabel render_file_select_menu /* 08DAB8 8008CEB8 00003825 */ move $a3, $zero /* 08DABC 8008CEBC 3C118012 */ lui $s1, %hi(gSavefileInfo) # $s1, 0x8012 /* 08DAC0 8008CEC0 3C10800E */ lui $s0, %hi(gFileSelectButtons) # $s0, 0x800e -/* 08DAC4 8008CEC4 3C14800E */ lui $s4, %hi(D_800E03FC) # $s4, 0x800e +/* 08DAC4 8008CEC4 3C14800E */ lui $s4, %hi(gFileSelectElementPos) # $s4, 0x800e /* 08DAC8 8008CEC8 3C13800E */ lui $s3, %hi(gMenuImageStack) # $s3, 0x800e /* 08DACC 8008CECC 2673F75C */ addiu $s3, %lo(gMenuImageStack) # addiu $s3, $s3, -0x8a4 -/* 08DAD0 8008CED0 269403FC */ addiu $s4, %lo(D_800E03FC) # addiu $s4, $s4, 0x3fc +/* 08DAD0 8008CED0 269403FC */ addiu $s4, %lo(gFileSelectElementPos) # addiu $s4, $s4, 0x3fc /* 08DAD4 8008CED4 261003CC */ addiu $s0, %lo(gFileSelectButtons) # addiu $s0, $s0, 0x3cc /* 08DAD8 8008CED8 263164A0 */ addiu $s1, %lo(gSavefileInfo) # addiu $s1, $s1, 0x64a0 /* 08DADC 8008CEDC 2415000A */ li $s5, 10 @@ -232,18 +232,18 @@ glabel render_file_select_menu /* 08DCDC 8008D0DC 0C031110 */ jal draw_text /* 08DCE0 8008D0E0 01CF2821 */ addu $a1, $t6, $t7 .L8008D0E4: -/* 08DCE4 8008D0E4 3C0B800E */ lui $t3, %hi(D_800E03FC) # $t3, 0x800e -/* 08DCE8 8008D0E8 256B03FC */ addiu $t3, %lo(D_800E03FC) # addiu $t3, $t3, 0x3fc +/* 08DCE4 8008D0E4 3C0B800E */ lui $t3, %hi(gFileSelectElementPos) # $t3, 0x800e +/* 08DCE8 8008D0E8 256B03FC */ addiu $t3, %lo(gFileSelectElementPos) # addiu $t3, $t3, 0x3fc /* 08DCEC 8008D0EC 26100010 */ addiu $s0, $s0, 0x10 /* 08DCF0 8008D0F0 160BFF7B */ bne $s0, $t3, .L8008CEE0 /* 08DCF4 8008D0F4 2631000C */ addiu $s1, $s1, 0xc .L8008D0F8: /* 08DCF8 8008D0F8 3C028012 */ lui $v0, %hi(gOptionBlinkTimer) # $v0, 0x8012 /* 08DCFC 8008D0FC 8C4263BC */ lw $v0, %lo(gOptionBlinkTimer)($v0) -/* 08DD00 8008D100 3C14800E */ lui $s4, %hi(D_800E03FC) # $s4, 0x800e +/* 08DD00 8008D100 3C14800E */ lui $s4, %hi(gFileSelectElementPos) # $s4, 0x800e /* 08DD04 8008D104 000260C0 */ sll $t4, $v0, 3 /* 08DD08 8008D108 29810100 */ slti $at, $t4, 0x100 -/* 08DD0C 8008D10C 269403FC */ addiu $s4, %lo(D_800E03FC) # addiu $s4, $s4, 0x3fc +/* 08DD0C 8008D10C 269403FC */ addiu $s4, %lo(gFileSelectElementPos) # addiu $s4, $s4, 0x3fc /* 08DD10 8008D110 14200003 */ bnez $at, .L8008D120 /* 08DD14 8008D114 01801025 */ move $v0, $t4 /* 08DD18 8008D118 240D01FF */ li $t5, 511 diff --git a/asm/non_matchings/objects/func_80016500.s b/asm/non_matchings/objects/func_80016500.s index 4fb1bc7c..d30f424f 100644 --- a/asm/non_matchings/objects/func_80016500.s +++ b/asm/non_matchings/objects/func_80016500.s @@ -141,7 +141,7 @@ glabel func_80016500 /* 017308 80016708 24030003 */ li $v1, 3 .L8001670C: /* 01730C 8001670C A20901F6 */ sb $t1, 0x1f6($s0) -/* 017310 80016710 0C01997A */ jal func_800665E8 +/* 017310 80016710 0C01997A */ jal set_object_stack_pos /* 017314 80016714 AFA3003C */ sw $v1, 0x3c($sp) /* 017318 80016718 0C01A748 */ jal func_80069D20 /* 01731C 8001671C 00000000 */ nop diff --git a/asm/non_matchings/objects/func_80019808.s b/asm/non_matchings/objects/func_80019808.s index 365a4339..56758ea8 100644 --- a/asm/non_matchings/objects/func_80019808.s +++ b/asm/non_matchings/objects/func_80019808.s @@ -892,7 +892,7 @@ glabel func_80019808 /* 01B0BC 8001A4BC 0480000C */ bltz $a0, .L8001A4F0 /* 01B0C0 8001A4C0 00000000 */ nop /* 01B0C4 8001A4C4 AFA80080 */ sw $t0, 0x80($sp) -/* 01B0C8 8001A4C8 0C01997A */ jal func_800665E8 +/* 01B0C8 8001A4C8 0C01997A */ jal set_object_stack_pos /* 01B0CC 8001A4CC AFAA0044 */ sw $t2, 0x44($sp) /* 01B0D0 8001A4D0 0C01A73F */ jal func_80069CFC /* 01B0D4 8001A4D4 00000000 */ nop diff --git a/asm/non_matchings/objects/func_8001A8F4.s b/asm/non_matchings/objects/func_8001A8F4.s index 1648a72a..0ed8cde4 100644 --- a/asm/non_matchings/objects/func_8001A8F4.s +++ b/asm/non_matchings/objects/func_8001A8F4.s @@ -118,7 +118,7 @@ glabel func_8001A8F4 /* 01B6A8 8001AAA8 00000000 */ nop /* 01B6AC 8001AAAC 0C009278 */ jal func_800249E0 /* 01B6B0 8001AAB0 00002025 */ move $a0, $zero -/* 01B6B4 8001AAB4 0C01994B */ jal func_8006652C +/* 01B6B4 8001AAB4 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 01B6B8 8001AAB8 00002025 */ move $a0, $zero /* 01B6BC 8001AABC 3C0F8012 */ lui $t7, %hi(gObjectStructArrayPtr) # $t7, 0x8012 /* 01B6C0 8001AAC0 8DEFAEE4 */ lw $t7, %lo(gObjectStructArrayPtr)($t7) diff --git a/asm/non_matchings/objects/func_8001F460.s b/asm/non_matchings/objects/func_8001F460.s index ce30bf26..57167548 100644 --- a/asm/non_matchings/objects/func_8001F460.s +++ b/asm/non_matchings/objects/func_8001F460.s @@ -939,7 +939,7 @@ glabel func_8001F460 /* 020DE4 800201E4 AFAA007C */ sw $t2, 0x7c($sp) /* 020DE8 800201E8 AFA90088 */ sw $t1, 0x88($sp) /* 020DEC 800201EC AFA70068 */ sw $a3, 0x68($sp) -/* 020DF0 800201F0 0C01997A */ jal func_800665E8 +/* 020DF0 800201F0 0C01997A */ jal set_object_stack_pos /* 020DF4 800201F4 AFA5005C */ sw $a1, 0x5c($sp) /* 020DF8 800201F8 0C01A73F */ jal func_80069CFC /* 020DFC 800201FC 00000000 */ nop @@ -1078,7 +1078,7 @@ glabel func_8001F460 /* 021000 80020400 AFAA007C */ sw $t2, 0x7c($sp) /* 021004 80020404 AFA90088 */ sw $t1, 0x88($sp) /* 021008 80020408 AFA70068 */ sw $a3, 0x68($sp) -/* 02100C 8002040C 0C01997A */ jal func_800665E8 +/* 02100C 8002040C 0C01997A */ jal set_object_stack_pos /* 021010 80020410 AFB90080 */ sw $t9, 0x80($sp) /* 021014 80020414 0C01A73F */ jal func_80069CFC /* 021018 80020418 00000000 */ nop diff --git a/asm/non_matchings/objects/func_80021104.s b/asm/non_matchings/objects/func_80021104.s index b2170c02..180f26ab 100644 --- a/asm/non_matchings/objects/func_80021104.s +++ b/asm/non_matchings/objects/func_80021104.s @@ -23,7 +23,7 @@ glabel func_80021104 /* 021D54 80021154 14810020 */ bne $a0, $at, .L800211D8 /* 021D58 80021158 2881000A */ slti $at, $a0, 0xa /* 021D5C 8002115C 80A40030 */ lb $a0, 0x30($a1) -/* 021D60 80021160 0C01997A */ jal func_800665E8 +/* 021D60 80021160 0C01997A */ jal set_object_stack_pos /* 021D64 80021164 AFA30018 */ sw $v1, 0x18($sp) /* 021D68 80021168 0C01A73F */ jal func_80069CFC /* 021D6C 8002116C 00000000 */ nop diff --git a/asm/non_matchings/objects/func_80021600.s b/asm/non_matchings/objects/func_80021600.s index 0ae8bd1b..eb613277 100644 --- a/asm/non_matchings/objects/func_80021600.s +++ b/asm/non_matchings/objects/func_80021600.s @@ -270,7 +270,7 @@ glabel func_80021600 /* 022600 80021A00 00000000 */ nop /* 022604 80021A04 81C40030 */ lb $a0, 0x30($t6) /* 022608 80021A08 AFA9005C */ sw $t1, 0x5c($sp) -/* 02260C 80021A0C 0C01997A */ jal func_800665E8 +/* 02260C 80021A0C 0C01997A */ jal set_object_stack_pos /* 022610 80021A10 AFA6004C */ sw $a2, 0x4c($sp) /* 022614 80021A14 0C01A73F */ jal func_80069CFC /* 022618 80021A18 00000000 */ nop @@ -398,7 +398,7 @@ glabel func_80021600 /* 0227F0 80021BF0 81640030 */ lb $a0, 0x30($t3) /* 0227F4 80021BF4 AFA9005C */ sw $t1, 0x5c($sp) /* 0227F8 80021BF8 AFB80074 */ sw $t8, 0x74($sp) -/* 0227FC 80021BFC 0C01997A */ jal func_800665E8 +/* 0227FC 80021BFC 0C01997A */ jal set_object_stack_pos /* 022800 80021C00 AFA50150 */ sw $a1, 0x150($sp) /* 022804 80021C04 0C01A73F */ jal func_80069CFC /* 022808 80021C08 00000000 */ nop diff --git a/asm/non_matchings/objects/func_800230D0.s b/asm/non_matchings/objects/func_800230D0.s index aedc8cb3..2cfe46c8 100644 --- a/asm/non_matchings/objects/func_800230D0.s +++ b/asm/non_matchings/objects/func_800230D0.s @@ -200,7 +200,7 @@ glabel func_800230D0 /* 023FC4 800233C4 A23801D6 */ sb $t8, 0x1d6($s1) /* 023FC8 800233C8 1081000F */ beq $a0, $at, .L80023408 /* 023FCC 800233CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 023FD0 800233D0 0C01997A */ jal func_800665E8 +/* 023FD0 800233D0 0C01997A */ jal set_object_stack_pos /* 023FD4 800233D4 AFA8005C */ sw $t0, 0x5c($sp) /* 023FD8 800233D8 0C01A73F */ jal func_80069CFC /* 023FDC 800233DC 00000000 */ nop diff --git a/asm/non_matchings/unknown_005740/func_80005D08.s b/asm/non_matchings/unknown_005740/func_80005D08.s index a505d025..5d703855 100644 --- a/asm/non_matchings/unknown_005740/func_80005D08.s +++ b/asm/non_matchings/unknown_005740/func_80005D08.s @@ -129,7 +129,7 @@ glabel func_80005D08 .L80005EA8: /* 006AA8 80005EA8 E7A20024 */ swc1 $f2, 0x24($sp) /* 006AAC 80005EAC E7AE001C */ swc1 $f14, 0x1c($sp) -/* 006AB0 80005EB0 0C019944 */ jal func_80066510 +/* 006AB0 80005EB0 0C019944 */ jal check_if_showing_cutscene_camera /* 006AB4 80005EB4 E7B00030 */ swc1 $f16, 0x30($sp) /* 006AB8 80005EB8 C7A20024 */ lwc1 $f2, 0x24($sp) /* 006ABC 80005EBC C7AE001C */ lwc1 $f14, 0x1c($sp) diff --git a/asm/non_matchings/unknown_005740/func_80006FC8.s b/asm/non_matchings/unknown_005740/func_80006FC8.s index 7339cc58..487c605d 100644 --- a/asm/non_matchings/unknown_005740/func_80006FC8.s +++ b/asm/non_matchings/unknown_005740/func_80006FC8.s @@ -88,7 +88,7 @@ glabel func_80006FC8 /* 007CBC 800070BC 0000A825 */ move $s5, $zero /* 007CC0 800070C0 15200006 */ bnez $t1, .L800070DC /* 007CC4 800070C4 8FAA00AC */ lw $t2, 0xac($sp) -/* 007CC8 800070C8 0C019944 */ jal func_80066510 +/* 007CC8 800070C8 0C019944 */ jal check_if_showing_cutscene_camera /* 007CCC 800070CC 00000000 */ nop /* 007CD0 800070D0 10400047 */ beqz $v0, .L800071F0 /* 007CD4 800070D4 3C013F80 */ lui $at, 0x3f80 diff --git a/asm/non_matchings/unknown_005740/func_80008438.s b/asm/non_matchings/unknown_005740/func_80008438.s index 06d32afd..40cbb079 100644 --- a/asm/non_matchings/unknown_005740/func_80008438.s +++ b/asm/non_matchings/unknown_005740/func_80008438.s @@ -28,7 +28,7 @@ glabel func_80008438 /* 00908C 8000848C AFA60270 */ sw $a2, 0x270($sp) /* 009090 80008490 0C019884 */ jal get_viewport_count /* 009094 80008494 AFA0024C */ sw $zero, 0x24c($sp) -/* 009098 80008498 0C01994B */ jal func_8006652C +/* 009098 80008498 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 00909C 8000849C 00402025 */ move $a0, $v0 /* 0090A0 800084A0 0C01A75F */ jal func_80069D7C /* 0090A4 800084A4 AFA200B0 */ sw $v0, 0xb0($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_800249F0.s b/asm/non_matchings/unknown_0255E0/func_800249F0.s index 6882ca33..b1f34400 100644 --- a/asm/non_matchings/unknown_0255E0/func_800249F0.s +++ b/asm/non_matchings/unknown_0255E0/func_800249F0.s @@ -107,7 +107,7 @@ glabel func_800249F0 /* 025770 80024B70 00000000 */ nop .L80024B74: /* 025774 80024B74 8FA40030 */ lw $a0, 0x30($sp) -/* 025778 80024B78 0C01994B */ jal func_8006652C +/* 025778 80024B78 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 02577C 80024B7C 00000000 */ nop /* 025780 80024B80 0C009FF1 */ jal func_80027FC4 /* 025784 80024B84 02402025 */ move $a0, $s2 @@ -149,7 +149,7 @@ glabel func_800249F0 /* 025810 80024C10 2484C874 */ addiu $a0, %lo(D_800DC874) # addiu $a0, $a0, -0x378c /* 025814 80024C14 8E640000 */ lw $a0, ($s3) .L80024C18: -/* 025818 80024C18 0C01994B */ jal func_8006652C +/* 025818 80024C18 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 02581C 80024C1C 00000000 */ nop /* 025820 80024C20 8E690000 */ lw $t1, ($s3) /* 025824 80024C24 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 diff --git a/asm/non_matchings/unknown_0255E0/func_80024D54.s b/asm/non_matchings/unknown_0255E0/func_80024D54.s index bcff2db6..d1c4bc59 100644 --- a/asm/non_matchings/unknown_0255E0/func_80024D54.s +++ b/asm/non_matchings/unknown_0255E0/func_80024D54.s @@ -33,7 +33,7 @@ glabel func_80024D54 /* 0259D0 80024DD0 3C048012 */ lui $a0, %hi(D_8011D37C) # $a0, 0x8012 /* 0259D4 80024DD4 3C018012 */ lui $at, %hi(D_8011B0BC) # $at, 0x8012 /* 0259D8 80024DD8 8C84D37C */ lw $a0, %lo(D_8011D37C)($a0) -/* 0259DC 80024DDC 0C01994B */ jal func_8006652C +/* 0259DC 80024DDC 0C01994B */ jal set_active_viewports_and_object_stack_cap /* 0259E0 80024DE0 AC20B0BC */ sw $zero, %lo(D_8011B0BC)($at) /* 0259E4 80024DE4 0C01BAA8 */ jal is_game_paused /* 0259E8 80024DE8 00409825 */ move $s3, $v0 @@ -262,7 +262,7 @@ glabel func_80024D54 /* 025D20 80025120 AC400004 */ sw $zero, 4($v0) /* 025D24 80025124 AC4D0000 */ sw $t5, ($v0) /* 025D28 80025128 8E040000 */ lw $a0, ($s0) -/* 025D2C 8002512C 0C01997A */ jal func_800665E8 +/* 025D2C 8002512C 0C01997A */ jal set_object_stack_pos /* 025D30 80025130 00000000 */ nop /* 025D34 80025134 02202025 */ move $a0, $s1 /* 025D38 80025138 0C019B37 */ jal func_80066CDC @@ -405,9 +405,9 @@ glabel func_80024D54 /* 025F44 80025344 AE2F0000 */ sw $t7, ($s1) /* 025F48 80025348 24040003 */ li $a0, 3 /* 025F4C 8002534C AC400004 */ sw $zero, 4($v0) -/* 025F50 80025350 0C01997A */ jal func_800665E8 +/* 025F50 80025350 0C01997A */ jal set_object_stack_pos /* 025F54 80025354 AC4D0000 */ sw $t5, ($v0) -/* 025F58 80025358 0C019948 */ jal func_80066520 +/* 025F58 80025358 0C019948 */ jal disable_cutscene_camera /* 025F5C 8002535C 00000000 */ nop /* 025F60 80025360 8FA400A0 */ lw $a0, 0xa0($sp) /* 025F64 80025364 0C009E3A */ jal func_800278E8 @@ -472,7 +472,7 @@ glabel func_80024D54 /* 026048 80025448 10000006 */ b .L80025464 /* 02604C 8002544C 00000000 */ nop .L80025450: -/* 026050 80025450 0C01997A */ jal func_800665E8 +/* 026050 80025450 0C01997A */ jal set_object_stack_pos /* 026054 80025454 24040003 */ li $a0, 3 /* 026058 80025458 8FA400A0 */ lw $a0, 0xa0($sp) /* 02605C 8002545C 0C009E3A */ jal func_800278E8 diff --git a/asm/non_matchings/unknown_0255E0/func_80027568.s b/asm/non_matchings/unknown_0255E0/func_80027568.s index b7edd79d..1afa2030 100644 --- a/asm/non_matchings/unknown_0255E0/func_80027568.s +++ b/asm/non_matchings/unknown_0255E0/func_80027568.s @@ -29,7 +29,7 @@ glabel func_80027568 /* 0281B8 800275B8 100000BC */ b .L800278AC /* 0281BC 800275BC 00001025 */ move $v0, $zero .L800275C0: -/* 0281C0 800275C0 0C019944 */ jal func_80066510 +/* 0281C0 800275C0 0C019944 */ jal check_if_showing_cutscene_camera /* 0281C4 800275C4 AFA60080 */ sw $a2, 0x80($sp) /* 0281C8 800275C8 8FA60080 */ lw $a2, 0x80($sp) /* 0281CC 800275CC 1440000A */ bnez $v0, .L800275F8 diff --git a/asm/non_matchings/unknown_0255E0/func_80028CD0.s b/asm/non_matchings/unknown_0255E0/func_80028CD0.s index 70c9e3e9..3187b6fc 100644 --- a/asm/non_matchings/unknown_0255E0/func_80028CD0.s +++ b/asm/non_matchings/unknown_0255E0/func_80028CD0.s @@ -79,7 +79,7 @@ glabel func_80028CD0 /* 0299FC 80028DFC 1B20003B */ blez $t9, .L80028EEC /* 029A00 80028E00 00000000 */ nop /* 029A04 80028E04 AFA20038 */ sw $v0, 0x38($sp) -/* 029A08 80028E08 0C019944 */ jal func_80066510 +/* 029A08 80028E08 0C019944 */ jal check_if_showing_cutscene_camera /* 029A0C 80028E0C AFA7003C */ sw $a3, 0x3c($sp) /* 029A10 80028E10 8FA40038 */ lw $a0, 0x38($sp) /* 029A14 80028E14 8FA7003C */ lw $a3, 0x3c($sp) diff --git a/asm/non_matchings/unknown_0255E0/obj_loop_fogchanger.s b/asm/non_matchings/unknown_0255E0/obj_loop_fogchanger.s index 193f4179..457f5473 100644 --- a/asm/non_matchings/unknown_0255E0/obj_loop_fogchanger.s +++ b/asm/non_matchings/unknown_0255E0/obj_loop_fogchanger.s @@ -9,7 +9,7 @@ glabel obj_loop_fogchanger /* 031690 80030A90 00808025 */ move $s0, $a0 /* 031694 80030A94 00009825 */ move $s3, $zero /* 031698 80030A98 AFA00040 */ sw $zero, 0x40($sp) -/* 03169C 80030A9C 0C019944 */ jal func_80066510 +/* 03169C 80030A9C 0C019944 */ jal check_if_showing_cutscene_camera /* 0316A0 80030AA0 AFAB0044 */ sw $t3, 0x44($sp) /* 0316A4 80030AA4 8FAB0044 */ lw $t3, 0x44($sp) /* 0316A8 80030AA8 8FBF0040 */ lw $ra, 0x40($sp) diff --git a/asm/non_matchings/unknown_077C50/func_80077268.s b/asm/non_matchings/unknown_077C50/func_80077268.s deleted file mode 100644 index dedc6018..00000000 --- a/asm/non_matchings/unknown_077C50/func_80077268.s +++ /dev/null @@ -1,129 +0,0 @@ -glabel func_80077268 -/* 077E68 80077268 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 077E6C 8007726C AFBF0014 */ sw $ra, 0x14($sp) -/* 077E70 80077270 0C01E948 */ jal get_video_width_and_height_as_s32 -/* 077E74 80077274 AFA40030 */ sw $a0, 0x30($sp) -/* 077E78 80077278 8FA40030 */ lw $a0, 0x30($sp) -/* 077E7C 8007727C 00022C02 */ srl $a1, $v0, 0x10 -/* 077E80 80077280 8C830000 */ lw $v1, ($a0) -/* 077E84 80077284 000571C2 */ srl $t6, $a1, 7 -/* 077E88 80077288 000E5080 */ sll $t2, $t6, 2 -/* 077E8C 8007728C 246E0008 */ addiu $t6, $v1, 8 -/* 077E90 80077290 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 077E94 80077294 AC8E0000 */ sw $t6, ($a0) -/* 077E98 80077298 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 077E9C 8007729C 3046FFFF */ andi $a2, $v0, 0xffff -/* 077EA0 800772A0 AC6F0000 */ sw $t7, ($v1) -/* 077EA4 800772A4 AC600004 */ sw $zero, 4($v1) -/* 077EA8 800772A8 8C830000 */ lw $v1, ($a0) -/* 077EAC 800772AC 0006C202 */ srl $t8, $a2, 8 -/* 077EB0 800772B0 0018F880 */ sll $ra, $t8, 2 -/* 077EB4 800772B4 24780008 */ addiu $t8, $v1, 8 -/* 077EB8 800772B8 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd -/* 077EBC 800772BC 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff -/* 077EC0 800772C0 AC980000 */ sw $t8, ($a0) -/* 077EC4 800772C4 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 077EC8 800772C8 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb -/* 077ECC 800772CC AC6E0004 */ sw $t6, 4($v1) -/* 077ED0 800772D0 AC790000 */ sw $t9, ($v1) -/* 077ED4 800772D4 8C830000 */ lw $v1, ($a0) -/* 077ED8 800772D8 3C190050 */ lui $t9, (0x00504240 >> 16) # lui $t9, 0x50 -/* 077EDC 800772DC 246F0008 */ addiu $t7, $v1, 8 -/* 077EE0 800772E0 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 077EE4 800772E4 AC8F0000 */ sw $t7, ($a0) -/* 077EE8 800772E8 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 077EEC 800772EC 37394240 */ ori $t9, (0x00504240 & 0xFFFF) # ori $t9, $t9, 0x4240 -/* 077EF0 800772F0 AC790004 */ sw $t9, 4($v1) -/* 077EF4 800772F4 AC780000 */ sw $t8, ($v1) -/* 077EF8 800772F8 8C830000 */ lw $v1, ($a0) -/* 077EFC 800772FC 3C0FFA00 */ lui $t7, 0xfa00 -/* 077F00 80077300 246E0008 */ addiu $t6, $v1, 8 -/* 077F04 80077304 AC8E0000 */ sw $t6, ($a0) -/* 077F08 80077308 AC600004 */ sw $zero, 4($v1) -/* 077F0C 8007730C AC6F0000 */ sw $t7, ($v1) -/* 077F10 80077310 AFBF001C */ sw $ra, 0x1c($sp) -/* 077F14 80077314 AFA60028 */ sw $a2, 0x28($sp) -/* 077F18 80077318 AFA50024 */ sw $a1, 0x24($sp) -/* 077F1C 8007731C AFAA0020 */ sw $t2, 0x20($sp) -/* 077F20 80077320 0C019884 */ jal get_viewport_count -/* 077F24 80077324 AFA40030 */ sw $a0, 0x30($sp) -/* 077F28 80077328 8FA40030 */ lw $a0, 0x30($sp) -/* 077F2C 8007732C 8FAA0020 */ lw $t2, 0x20($sp) -/* 077F30 80077330 8FAC0024 */ lw $t4, 0x24($sp) -/* 077F34 80077334 8FAD0028 */ lw $t5, 0x28($sp) -/* 077F38 80077338 8FBF001C */ lw $ra, 0x1c($sp) -/* 077F3C 8007733C 24010001 */ li $at, 1 -/* 077F40 80077340 10410009 */ beq $v0, $at, .L80077368 -/* 077F44 80077344 3C08F600 */ lui $t0, 0xf600 -/* 077F48 80077348 24010002 */ li $at, 2 -/* 077F4C 8007734C 10410018 */ beq $v0, $at, .L800773B0 -/* 077F50 80077350 3C08F600 */ lui $t0, 0xf600 -/* 077F54 80077354 24010003 */ li $at, 3 -/* 077F58 80077358 10410015 */ beq $v0, $at, .L800773B0 -/* 077F5C 8007735C 00000000 */ nop -/* 077F60 80077360 10000036 */ b .L8007743C -/* 077F64 80077364 8FBF0014 */ lw $ra, 0x14($sp) -.L80077368: -/* 077F68 80077368 8C830000 */ lw $v1, ($a0) -/* 077F6C 8007736C 000CC842 */ srl $t9, $t4, 1 -/* 077F70 80077370 24780008 */ addiu $t8, $v1, 8 -/* 077F74 80077374 AC980000 */ sw $t8, ($a0) -/* 077F78 80077378 000A7042 */ srl $t6, $t2, 1 -/* 077F7C 8007737C 31AF03FF */ andi $t7, $t5, 0x3ff -/* 077F80 80077380 000FC380 */ sll $t8, $t7, 0xe -/* 077F84 80077384 032E1023 */ subu $v0, $t9, $t6 -/* 077F88 80077388 004A7021 */ addu $t6, $v0, $t2 -/* 077F8C 8007738C 31CF03FF */ andi $t7, $t6, 0x3ff -/* 077F90 80077390 0308C825 */ or $t9, $t8, $t0 -/* 077F94 80077394 000FC080 */ sll $t8, $t7, 2 -/* 077F98 80077398 03387025 */ or $t6, $t9, $t8 -/* 077F9C 8007739C 304F03FF */ andi $t7, $v0, 0x3ff -/* 077FA0 800773A0 000FC880 */ sll $t9, $t7, 2 -/* 077FA4 800773A4 AC790004 */ sw $t9, 4($v1) -/* 077FA8 800773A8 10000023 */ b .L80077438 -/* 077FAC 800773AC AC6E0000 */ sw $t6, ($v1) -.L800773B0: -/* 077FB0 800773B0 8C830000 */ lw $v1, ($a0) -/* 077FB4 800773B4 000C7042 */ srl $t6, $t4, 1 -/* 077FB8 800773B8 24780008 */ addiu $t8, $v1, 8 -/* 077FBC 800773BC AC980000 */ sw $t8, ($a0) -/* 077FC0 800773C0 000A7842 */ srl $t7, $t2, 1 -/* 077FC4 800773C4 31B903FF */ andi $t9, $t5, 0x3ff -/* 077FC8 800773C8 0019C380 */ sll $t8, $t9, 0xe -/* 077FCC 800773CC 01CF1023 */ subu $v0, $t6, $t7 -/* 077FD0 800773D0 004A7821 */ addu $t7, $v0, $t2 -/* 077FD4 800773D4 31F903FF */ andi $t9, $t7, 0x3ff -/* 077FD8 800773D8 03087025 */ or $t6, $t8, $t0 -/* 077FDC 800773DC 0019C080 */ sll $t8, $t9, 2 -/* 077FE0 800773E0 01D87825 */ or $t7, $t6, $t8 -/* 077FE4 800773E4 305903FF */ andi $t9, $v0, 0x3ff -/* 077FE8 800773E8 00197080 */ sll $t6, $t9, 2 -/* 077FEC 800773EC AC6E0004 */ sw $t6, 4($v1) -/* 077FF0 800773F0 AC6F0000 */ sw $t7, ($v1) -/* 077FF4 800773F4 8C830000 */ lw $v1, ($a0) -/* 077FF8 800773F8 000D7842 */ srl $t7, $t5, 1 -/* 077FFC 800773FC 001FC842 */ srl $t9, $ra, 1 -/* 078000 80077400 01F93023 */ subu $a2, $t7, $t9 -/* 078004 80077404 24780008 */ addiu $t8, $v1, 8 -/* 078008 80077408 AC980000 */ sw $t8, ($a0) -/* 07800C 8007740C 00DF7021 */ addu $t6, $a2, $ra -/* 078010 80077410 31D803FF */ andi $t8, $t6, 0x3ff -/* 078014 80077414 00187B80 */ sll $t7, $t8, 0xe -/* 078018 80077418 318E03FF */ andi $t6, $t4, 0x3ff -/* 07801C 8007741C 000EC080 */ sll $t8, $t6, 2 -/* 078020 80077420 01E8C825 */ or $t9, $t7, $t0 -/* 078024 80077424 03387825 */ or $t7, $t9, $t8 -/* 078028 80077428 30CE03FF */ andi $t6, $a2, 0x3ff -/* 07802C 8007742C 000ECB80 */ sll $t9, $t6, 0xe -/* 078030 80077430 AC790004 */ sw $t9, 4($v1) -/* 078034 80077434 AC6F0000 */ sw $t7, ($v1) -.L80077438: -/* 078038 80077438 8FBF0014 */ lw $ra, 0x14($sp) -.L8007743C: -/* 07803C 8007743C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 078040 80077440 03E00008 */ jr $ra -/* 078044 80077444 00000000 */ nop - -/* 078048 80077448 00000000 */ nop -/* 07804C 8007744C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_078050/render_background.s b/asm/non_matchings/unknown_078050/render_background.s deleted file mode 100644 index 31825785..00000000 --- a/asm/non_matchings/unknown_078050/render_background.s +++ /dev/null @@ -1,314 +0,0 @@ -glabel render_background -/* 07879C 80077B9C 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0787A0 80077BA0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0787A4 80077BA4 AFB00020 */ sw $s0, 0x20($sp) -/* 0787A8 80077BA8 00808025 */ move $s0, $a0 -/* 0787AC 80077BAC AFA500A4 */ sw $a1, 0xa4($sp) -/* 0787B0 80077BB0 0C01E948 */ jal get_video_width_and_height_as_s32 -/* 0787B4 80077BB4 AFA600A8 */ sw $a2, 0xa8($sp) -/* 0787B8 80077BB8 304CFFFF */ andi $t4, $v0, 0xffff -/* 0787BC 80077BBC 2589FFFF */ addiu $t1, $t4, -1 -/* 0787C0 80077BC0 44892000 */ mtc1 $t1, $f4 -/* 0787C4 80077BC4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0787C8 80077BC8 468021A0 */ cvt.s.w $f6, $f4 -/* 0787CC 80077BCC 44810000 */ mtc1 $at, $f0 -/* 0787D0 80077BD0 8E030000 */ lw $v1, ($s0) -/* 0787D4 80077BD4 46003202 */ mul.s $f8, $f6, $f0 -/* 0787D8 80077BD8 246E0008 */ addiu $t6, $v1, 8 -/* 0787DC 80077BDC AE0E0000 */ sw $t6, ($s0) -/* 0787E0 80077BE0 00026C03 */ sra $t5, $v0, 0x10 -/* 0787E4 80077BE4 444EF800 */ cfc1 $t6, $31 -/* 0787E8 80077BE8 25AAFFFF */ addiu $t2, $t5, -1 -/* 0787EC 80077BEC 35C10003 */ ori $at, $t6, 3 -/* 0787F0 80077BF0 38210002 */ xori $at, $at, 2 -/* 0787F4 80077BF4 44C1F800 */ ctc1 $at, $31 -/* 0787F8 80077BF8 448A8000 */ mtc1 $t2, $f16 -/* 0787FC 80077BFC 460042A4 */ cvt.w.s $f10, $f8 -/* 078800 80077C00 3C0FE700 */ lui $t7, 0xe700 -/* 078804 80077C04 44CEF800 */ ctc1 $t6, $31 -/* 078808 80077C08 AC6F0000 */ sw $t7, ($v1) -/* 07880C 80077C0C 468084A0 */ cvt.s.w $f18, $f16 -/* 078810 80077C10 AC600004 */ sw $zero, 4($v1) -/* 078814 80077C14 35C10003 */ ori $at, $t6, 3 -/* 078818 80077C18 46009102 */ mul.s $f4, $f18, $f0 -/* 07881C 80077C1C 8E030000 */ lw $v1, ($s0) -/* 078820 80077C20 38210002 */ xori $at, $at, 2 -/* 078824 80077C24 440F5000 */ mfc1 $t7, $f10 -/* 078828 80077C28 44C1F800 */ ctc1 $at, $31 -/* 07882C 80077C2C 24780008 */ addiu $t8, $v1, 8 -/* 078830 80077C30 460021A4 */ cvt.w.s $f6, $f4 -/* 078834 80077C34 AE180000 */ sw $t8, ($s0) -/* 078838 80077C38 3C19ED00 */ lui $t9, 0xed00 -/* 07883C 80077C3C 31F80FFF */ andi $t8, $t7, 0xfff -/* 078840 80077C40 440F3000 */ mfc1 $t7, $f6 -/* 078844 80077C44 AC790000 */ sw $t9, ($v1) -/* 078848 80077C48 0018CB00 */ sll $t9, $t8, 0xc -/* 07884C 80077C4C 44CEF800 */ ctc1 $t6, $31 -/* 078850 80077C50 31F80FFF */ andi $t8, $t7, 0xfff -/* 078854 80077C54 03387025 */ or $t6, $t9, $t8 -/* 078858 80077C58 AC6E0004 */ sw $t6, 4($v1) -/* 07885C 80077C5C 8E030000 */ lw $v1, ($s0) -/* 078860 80077C60 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 078864 80077C64 246F0008 */ addiu $t7, $v1, 8 -/* 078868 80077C68 AE0F0000 */ sw $t7, ($s0) -/* 07886C 80077C6C 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 078870 80077C70 3C180030 */ lui $t8, 0x30 -/* 078874 80077C74 AC780004 */ sw $t8, 4($v1) -/* 078878 80077C78 AC790000 */ sw $t9, ($v1) -/* 07887C 80077C7C 8E030000 */ lw $v1, ($s0) -/* 078880 80077C80 3C1FFF10 */ lui $ra, 0xff10 -/* 078884 80077C84 246E0008 */ addiu $t6, $v1, 8 -/* 078888 80077C88 AE0E0000 */ sw $t6, ($s0) -/* 07888C 80077C8C 312F0FFF */ andi $t7, $t1, 0xfff -/* 078890 80077C90 01FFC825 */ or $t9, $t7, $ra -/* 078894 80077C94 3C180200 */ lui $t8, 0x200 -/* 078898 80077C98 AC780004 */ sw $t8, 4($v1) -/* 07889C 80077C9C AC790000 */ sw $t9, ($v1) -/* 0788A0 80077CA0 8E030000 */ lw $v1, ($s0) -/* 0788A4 80077CA4 3C0FFFFC */ lui $t7, (0xFFFCFFFC >> 16) # lui $t7, 0xfffc -/* 0788A8 80077CA8 246E0008 */ addiu $t6, $v1, 8 -/* 0788AC 80077CAC AE0E0000 */ sw $t6, ($s0) -/* 0788B0 80077CB0 3C07F700 */ lui $a3, 0xf700 -/* 0788B4 80077CB4 35EFFFFC */ ori $t7, (0xFFFCFFFC & 0xFFFF) # ori $t7, $t7, 0xfffc -/* 0788B8 80077CB8 AC6F0004 */ sw $t7, 4($v1) -/* 0788BC 80077CBC AC670000 */ sw $a3, ($v1) -/* 0788C0 80077CC0 8E030000 */ lw $v1, ($s0) -/* 0788C4 80077CC4 313803FF */ andi $t8, $t1, 0x3ff -/* 0788C8 80077CC8 24790008 */ addiu $t9, $v1, 8 -/* 0788CC 80077CCC AE190000 */ sw $t9, ($s0) -/* 0788D0 80077CD0 00187380 */ sll $t6, $t8, 0xe -/* 0788D4 80077CD4 315903FF */ andi $t9, $t2, 0x3ff -/* 0788D8 80077CD8 3C01F600 */ lui $at, 0xf600 -/* 0788DC 80077CDC 01C17825 */ or $t7, $t6, $at -/* 0788E0 80077CE0 0019C080 */ sll $t8, $t9, 2 -/* 0788E4 80077CE4 01F87025 */ or $t6, $t7, $t8 -/* 0788E8 80077CE8 AC6E0000 */ sw $t6, ($v1) -/* 0788EC 80077CEC AC600004 */ sw $zero, 4($v1) -/* 0788F0 80077CF0 8E030000 */ lw $v1, ($s0) -/* 0788F4 80077CF4 3C0FE700 */ lui $t7, 0xe700 -/* 0788F8 80077CF8 24790008 */ addiu $t9, $v1, 8 -/* 0788FC 80077CFC AE190000 */ sw $t9, ($s0) -/* 078900 80077D00 AC600004 */ sw $zero, 4($v1) -/* 078904 80077D04 AC6F0000 */ sw $t7, ($v1) -/* 078908 80077D08 8E030000 */ lw $v1, ($s0) -/* 07890C 80077D0C 312E0FFF */ andi $t6, $t1, 0xfff -/* 078910 80077D10 24780008 */ addiu $t8, $v1, 8 -/* 078914 80077D14 AE180000 */ sw $t8, ($s0) -/* 078918 80077D18 01DFC825 */ or $t9, $t6, $ra -/* 07891C 80077D1C 3C0F0100 */ lui $t7, 0x100 -/* 078920 80077D20 AC6F0004 */ sw $t7, 4($v1) -/* 078924 80077D24 AC790000 */ sw $t9, ($v1) -/* 078928 80077D28 8FB800A8 */ lw $t8, 0xa8($sp) -/* 07892C 80077D2C 00002025 */ move $a0, $zero -/* 078930 80077D30 130000BC */ beqz $t8, .L80078024 -/* 078934 80077D34 00000000 */ nop -/* 078938 80077D38 AFAC0098 */ sw $t4, 0x98($sp) -/* 07893C 80077D3C 0C019A44 */ jal func_80066910 -/* 078940 80077D40 AFAD0094 */ sw $t5, 0x94($sp) -/* 078944 80077D44 8FAC0098 */ lw $t4, 0x98($sp) -/* 078948 80077D48 8FAD0094 */ lw $t5, 0x94($sp) -/* 07894C 80077D4C 10400079 */ beqz $v0, .L80077F34 -/* 078950 80077D50 3C07F700 */ lui $a3, 0xf700 -/* 078954 80077D54 3C0E800E */ lui $t6, %hi(D_800DE4CC) # $t6, 0x800e -/* 078958 80077D58 8DCEE4CC */ lw $t6, %lo(D_800DE4CC)($t6) -/* 07895C 80077D5C 3C19800E */ lui $t9, %hi(D_800DE4C4) # $t9, 0x800e -/* 078960 80077D60 11C00005 */ beqz $t6, .L80077D78 -/* 078964 80077D64 00000000 */ nop -/* 078968 80077D68 0C01E1FF */ jal func_800787FC -/* 07896C 80077D6C 02002025 */ move $a0, $s0 -/* 078970 80077D70 10000026 */ b .L80077E0C -/* 078974 80077D74 27AF0084 */ addiu $t7, $sp, 0x84 -.L80077D78: -/* 078978 80077D78 8F39E4C4 */ lw $t9, %lo(D_800DE4C4)($t9) -/* 07897C 80077D7C 3C02800E */ lui $v0, %hi(D_800DE4D0) # $v0, 0x800e -/* 078980 80077D80 13200005 */ beqz $t9, .L80077D98 -/* 078984 80077D84 00000000 */ nop -/* 078988 80077D88 0C01E064 */ jal func_80078190 -/* 07898C 80077D8C 02002025 */ move $a0, $s0 -/* 078990 80077D90 1000001E */ b .L80077E0C -/* 078994 80077D94 27AF0084 */ addiu $t7, $sp, 0x84 -.L80077D98: -/* 078998 80077D98 8C42E4D0 */ lw $v0, %lo(D_800DE4D0)($v0) -/* 07899C 80077D9C 3C18800E */ lui $t8, %hi(sBackgroundFillColour) # $t8, 0x800e -/* 0789A0 80077DA0 10400006 */ beqz $v0, .L80077DBC -/* 0789A4 80077DA4 2599FFFF */ addiu $t9, $t4, -1 -/* 0789A8 80077DA8 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0789AC 80077DAC 0040F809 */ jalr $v0 -/* 0789B0 80077DB0 02002025 */ move $a0, $s0 -/* 0789B4 80077DB4 10000015 */ b .L80077E0C -/* 0789B8 80077DB8 27AF0084 */ addiu $t7, $sp, 0x84 -.L80077DBC: -/* 0789BC 80077DBC 8E030000 */ lw $v1, ($s0) -/* 0789C0 80077DC0 3C01F600 */ lui $at, 0xf600 -/* 0789C4 80077DC4 246F0008 */ addiu $t7, $v1, 8 -/* 0789C8 80077DC8 AE0F0000 */ sw $t7, ($s0) -/* 0789CC 80077DCC AC670000 */ sw $a3, ($v1) -/* 0789D0 80077DD0 8F18E4BC */ lw $t8, %lo(sBackgroundFillColour)($t8) -/* 0789D4 80077DD4 332F03FF */ andi $t7, $t9, 0x3ff -/* 0789D8 80077DD8 AC780004 */ sw $t8, 4($v1) -/* 0789DC 80077DDC 8E030000 */ lw $v1, ($s0) -/* 0789E0 80077DE0 000FC380 */ sll $t8, $t7, 0xe -/* 0789E4 80077DE4 246E0008 */ addiu $t6, $v1, 8 -/* 0789E8 80077DE8 AE0E0000 */ sw $t6, ($s0) -/* 0789EC 80077DEC 25B9FFFF */ addiu $t9, $t5, -1 -/* 0789F0 80077DF0 332F03FF */ andi $t7, $t9, 0x3ff -/* 0789F4 80077DF4 03017025 */ or $t6, $t8, $at -/* 0789F8 80077DF8 000FC080 */ sll $t8, $t7, 2 -/* 0789FC 80077DFC 01D8C825 */ or $t9, $t6, $t8 -/* 078A00 80077E00 AC790000 */ sw $t9, ($v1) -/* 078A04 80077E04 AC600004 */ sw $zero, 4($v1) -/* 078A08 80077E08 27AF0084 */ addiu $t7, $sp, 0x84 -.L80077E0C: -/* 078A0C 80077E0C AFAF0010 */ sw $t7, 0x10($sp) -/* 078A10 80077E10 00002025 */ move $a0, $zero -/* 078A14 80077E14 27A50090 */ addiu $a1, $sp, 0x90 -/* 078A18 80077E18 27A6008C */ addiu $a2, $sp, 0x8c -/* 078A1C 80077E1C 0C019AEA */ jal copy_viewport_background_size_to_coords -/* 078A20 80077E20 27A70088 */ addiu $a3, $sp, 0x88 -/* 078A24 80077E24 1040007F */ beqz $v0, .L80078024 -/* 078A28 80077E28 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 078A2C 80077E2C 8E030000 */ lw $v1, ($s0) -/* 078A30 80077E30 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 078A34 80077E34 246E0008 */ addiu $t6, $v1, 8 -/* 078A38 80077E38 AE0E0000 */ sw $t6, ($s0) -/* 078A3C 80077E3C AC600004 */ sw $zero, 4($v1) -/* 078A40 80077E40 AC780000 */ sw $t8, ($v1) -/* 078A44 80077E44 8E030000 */ lw $v1, ($s0) -/* 078A48 80077E48 3C0FFA00 */ lui $t7, 0xfa00 -/* 078A4C 80077E4C 24790008 */ addiu $t9, $v1, 8 -/* 078A50 80077E50 AE190000 */ sw $t9, ($s0) -/* 078A54 80077E54 3C0E800E */ lui $t6, %hi(sBackgroundPrimColourR) # $t6, 0x800e -/* 078A58 80077E58 AC6F0000 */ sw $t7, ($v1) -/* 078A5C 80077E5C 91D8E4B0 */ lbu $t8, %lo(sBackgroundPrimColourR)($t6) -/* 078A60 80077E60 3C0F800E */ lui $t7, %hi(sBackgroundPrimColourG) # $t7, 0x800e -/* 078A64 80077E64 91EEE4B4 */ lbu $t6, %lo(sBackgroundPrimColourG)($t7) -/* 078A68 80077E68 0018CE00 */ sll $t9, $t8, 0x18 -/* 078A6C 80077E6C 000EC400 */ sll $t8, $t6, 0x10 -/* 078A70 80077E70 03387825 */ or $t7, $t9, $t8 -/* 078A74 80077E74 3C0E800E */ lui $t6, %hi(sBackgroundPrimColourB) # $t6, 0x800e -/* 078A78 80077E78 91D9E4B8 */ lbu $t9, %lo(sBackgroundPrimColourB)($t6) -/* 078A7C 80077E7C 3C01F600 */ lui $at, 0xf600 -/* 078A80 80077E80 0019C200 */ sll $t8, $t9, 8 -/* 078A84 80077E84 01F87025 */ or $t6, $t7, $t8 -/* 078A88 80077E88 35D900FF */ ori $t9, $t6, 0xff -/* 078A8C 80077E8C AC790004 */ sw $t9, 4($v1) -/* 078A90 80077E90 8E030000 */ lw $v1, ($s0) -/* 078A94 80077E94 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd -/* 078A98 80077E98 246F0008 */ addiu $t7, $v1, 8 -/* 078A9C 80077E9C AE0F0000 */ sw $t7, ($s0) -/* 078AA0 80077EA0 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff -/* 078AA4 80077EA4 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 078AA8 80077EA8 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb -/* 078AAC 80077EAC AC6E0004 */ sw $t6, 4($v1) -/* 078AB0 80077EB0 AC780000 */ sw $t8, ($v1) -/* 078AB4 80077EB4 8E030000 */ lw $v1, ($s0) -/* 078AB8 80077EB8 3C180F0A */ lui $t8, (0x0F0A4000 >> 16) # lui $t8, 0xf0a -/* 078ABC 80077EBC 24790008 */ addiu $t9, $v1, 8 -/* 078AC0 80077EC0 AE190000 */ sw $t9, ($s0) -/* 078AC4 80077EC4 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 078AC8 80077EC8 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 078ACC 80077ECC 37184000 */ ori $t8, (0x0F0A4000 & 0xFFFF) # ori $t8, $t8, 0x4000 -/* 078AD0 80077ED0 AC780004 */ sw $t8, 4($v1) -/* 078AD4 80077ED4 AC6F0000 */ sw $t7, ($v1) -/* 078AD8 80077ED8 8E030000 */ lw $v1, ($s0) -/* 078ADC 80077EDC 00000000 */ nop -/* 078AE0 80077EE0 246E0008 */ addiu $t6, $v1, 8 -/* 078AE4 80077EE4 AE0E0000 */ sw $t6, ($s0) -/* 078AE8 80077EE8 8FB90088 */ lw $t9, 0x88($sp) -/* 078AEC 80077EEC 00000000 */ nop -/* 078AF0 80077EF0 332F03FF */ andi $t7, $t9, 0x3ff -/* 078AF4 80077EF4 8FB90084 */ lw $t9, 0x84($sp) -/* 078AF8 80077EF8 000FC380 */ sll $t8, $t7, 0xe -/* 078AFC 80077EFC 03017025 */ or $t6, $t8, $at -/* 078B00 80077F00 332F03FF */ andi $t7, $t9, 0x3ff -/* 078B04 80077F04 000FC080 */ sll $t8, $t7, 2 -/* 078B08 80077F08 01D8C825 */ or $t9, $t6, $t8 -/* 078B0C 80077F0C AC790000 */ sw $t9, ($v1) -/* 078B10 80077F10 8FAF0090 */ lw $t7, 0x90($sp) -/* 078B14 80077F14 8FB9008C */ lw $t9, 0x8c($sp) -/* 078B18 80077F18 31EE03FF */ andi $t6, $t7, 0x3ff -/* 078B1C 80077F1C 000EC380 */ sll $t8, $t6, 0xe -/* 078B20 80077F20 332F03FF */ andi $t7, $t9, 0x3ff -/* 078B24 80077F24 000F7080 */ sll $t6, $t7, 2 -/* 078B28 80077F28 030EC825 */ or $t9, $t8, $t6 -/* 078B2C 80077F2C 1000003D */ b .L80078024 -/* 078B30 80077F30 AC790004 */ sw $t9, 4($v1) -.L80077F34: -/* 078B34 80077F34 3C0F800E */ lui $t7, %hi(D_800DE4CC) # $t7, 0x800e -/* 078B38 80077F38 8DEFE4CC */ lw $t7, %lo(D_800DE4CC)($t7) -/* 078B3C 80077F3C 3C18800E */ lui $t8, %hi(D_800DE4C4) # $t8, 0x800e -/* 078B40 80077F40 11E00005 */ beqz $t7, .L80077F58 -/* 078B44 80077F44 00000000 */ nop -/* 078B48 80077F48 0C01E1FF */ jal func_800787FC -/* 078B4C 80077F4C 02002025 */ move $a0, $s0 -/* 078B50 80077F50 10000035 */ b .L80078028 -/* 078B54 80077F54 8E030000 */ lw $v1, ($s0) -.L80077F58: -/* 078B58 80077F58 8F18E4C4 */ lw $t8, %lo(D_800DE4C4)($t8) -/* 078B5C 80077F5C 3C02800E */ lui $v0, %hi(D_800DE4D0) # $v0, 0x800e -/* 078B60 80077F60 13000005 */ beqz $t8, .L80077F78 -/* 078B64 80077F64 00000000 */ nop -/* 078B68 80077F68 0C01E064 */ jal func_80078190 -/* 078B6C 80077F6C 02002025 */ move $a0, $s0 -/* 078B70 80077F70 1000002D */ b .L80078028 -/* 078B74 80077F74 8E030000 */ lw $v1, ($s0) -.L80077F78: -/* 078B78 80077F78 8C42E4D0 */ lw $v0, %lo(D_800DE4D0)($v0) -/* 078B7C 80077F7C 8FA500A4 */ lw $a1, 0xa4($sp) -/* 078B80 80077F80 10400005 */ beqz $v0, .L80077F98 -/* 078B84 80077F84 3C19800E */ lui $t9, %hi(sBackgroundPrimColourR) # $t9, 0x800e -/* 078B88 80077F88 0040F809 */ jalr $v0 -/* 078B8C 80077F8C 02002025 */ move $a0, $s0 -/* 078B90 80077F90 10000025 */ b .L80078028 -/* 078B94 80077F94 8E030000 */ lw $v1, ($s0) -.L80077F98: -/* 078B98 80077F98 8E030000 */ lw $v1, ($s0) -/* 078B9C 80077F9C 3C01F600 */ lui $at, 0xf600 -/* 078BA0 80077FA0 246E0008 */ addiu $t6, $v1, 8 -/* 078BA4 80077FA4 AE0E0000 */ sw $t6, ($s0) -/* 078BA8 80077FA8 AC670000 */ sw $a3, ($v1) -/* 078BAC 80077FAC 9339E4B0 */ lbu $t9, %lo(sBackgroundPrimColourR)($t9) -/* 078BB0 80077FB0 3C0E800E */ lui $t6, %hi(sBackgroundPrimColourG) # $t6, 0x800e -/* 078BB4 80077FB4 91CEE4B4 */ lbu $t6, %lo(sBackgroundPrimColourG)($t6) -/* 078BB8 80077FB8 00197A00 */ sll $t7, $t9, 8 -/* 078BBC 80077FBC 31F8F800 */ andi $t8, $t7, 0xf800 -/* 078BC0 80077FC0 000EC8C0 */ sll $t9, $t6, 3 -/* 078BC4 80077FC4 332F07C0 */ andi $t7, $t9, 0x7c0 -/* 078BC8 80077FC8 3C19800E */ lui $t9, %hi(sBackgroundPrimColourB) # $t9, 0x800e -/* 078BCC 80077FCC 9339E4B8 */ lbu $t9, %lo(sBackgroundPrimColourB)($t9) -/* 078BD0 80077FD0 030F7025 */ or $t6, $t8, $t7 -/* 078BD4 80077FD4 0019C083 */ sra $t8, $t9, 2 -/* 078BD8 80077FD8 330F003E */ andi $t7, $t8, 0x3e -/* 078BDC 80077FDC 01CF2025 */ or $a0, $t6, $t7 -/* 078BE0 80077FE0 34990001 */ ori $t9, $a0, 1 -/* 078BE4 80077FE4 0019C400 */ sll $t8, $t9, 0x10 -/* 078BE8 80077FE8 03197025 */ or $t6, $t8, $t9 -/* 078BEC 80077FEC AC6E0004 */ sw $t6, 4($v1) -/* 078BF0 80077FF0 8E030000 */ lw $v1, ($s0) -/* 078BF4 80077FF4 2599FFFF */ addiu $t9, $t4, -1 -/* 078BF8 80077FF8 333803FF */ andi $t8, $t9, 0x3ff -/* 078BFC 80077FFC 00187380 */ sll $t6, $t8, 0xe -/* 078C00 80078000 246F0008 */ addiu $t7, $v1, 8 -/* 078C04 80078004 AE0F0000 */ sw $t7, ($s0) -/* 078C08 80078008 25B9FFFF */ addiu $t9, $t5, -1 -/* 078C0C 8007800C 333803FF */ andi $t8, $t9, 0x3ff -/* 078C10 80078010 01C17825 */ or $t7, $t6, $at -/* 078C14 80078014 00187080 */ sll $t6, $t8, 2 -/* 078C18 80078018 01EEC825 */ or $t9, $t7, $t6 -/* 078C1C 8007801C AC790000 */ sw $t9, ($v1) -/* 078C20 80078020 AC600004 */ sw $zero, 4($v1) -.L80078024: -/* 078C24 80078024 8E030000 */ lw $v1, ($s0) -.L80078028: -/* 078C28 80078028 3C0FE700 */ lui $t7, 0xe700 -/* 078C2C 8007802C 24780008 */ addiu $t8, $v1, 8 -/* 078C30 80078030 AE180000 */ sw $t8, ($s0) -/* 078C34 80078034 02002025 */ move $a0, $s0 -/* 078C38 80078038 AC600004 */ sw $zero, 4($v1) -/* 078C3C 8007803C 0C019E8F */ jal func_80067A3C -/* 078C40 80078040 AC6F0000 */ sw $t7, ($v1) -/* 078C44 80078044 8FBF0024 */ lw $ra, 0x24($sp) -/* 078C48 80078048 8FB00020 */ lw $s0, 0x20($sp) -/* 078C4C 8007804C 03E00008 */ jr $ra -/* 078C50 80078050 27BD00A0 */ addiu $sp, $sp, 0xa0 - diff --git a/include/f3ddkr.h b/include/f3ddkr.h index a7e17540..5d955c2f 100644 --- a/include/f3ddkr.h +++ b/include/f3ddkr.h @@ -76,9 +76,16 @@ #define G_MTX_DKR_INDEX_2 0x80 #define G_MW_BILLBOARD 0x02 //0x01 = billboarding enabled, 0x00 = disabled #define G_MW_MVMATRIX 0x0A //Specifies the index of the modelview matrix. -#define gDkrInsertMatrix(pkt, where, num) \ + +#define gDkrInsertMatrix(pkt, where, num) \ gMoveWd(pkt, G_MW_MVMATRIX, where, num) +#define gDkrEnableBillboard(pkt) \ + gMoveWd(pkt, G_MW_BILLBOARD, 0, 1) + +#define gDkrDisableBillboard(pkt) \ + gMoveWd(pkt, G_MW_BILLBOARD, 0, 0) + #define gDkrVertices(pkt, address, no, v0) \ { \ Gfx *_g = (Gfx *)(pkt); \ diff --git a/include/math_util.h b/include/math_util.h index 2365afb0..af4c63eb 100644 --- a/include/math_util.h +++ b/include/math_util.h @@ -7,17 +7,18 @@ /** * Keeps the value within the range. */ -#define CLAMP(x, low, high) { \ - if ((x) > (high)) (x) = (high); \ - if ((x) < (low)) (x) = (low); \ +#define CLAMP(x, low, high) { \ + if ((x) > (high)) (x) = (high); \ + if ((x) < (low)) (x) = (low); \ } + /** * Allows an arbitrary range the number can wrap around. * Often used for angles, to keep them within s16 bounds while stored in an s32. */ -#define WRAP(x, low, high) { \ - if ((x) > (high)) (x) -= ((high) * 2) - 1; \ - if ((x) < (low)) (x) += ((high) * 2) - 1; \ +#define WRAP(x, low, high) { \ + if ((x) > (high)) (x) -= ((high) * 2) - 1; \ + if ((x) < (low)) (x) += ((high) * 2) - 1; \ } s16 arctan2_f(f32 y, f32 x); @@ -25,5 +26,9 @@ f32 sine_s(s16 angle); f32 cosine_s(s16 angle); void func_80031130(s32, f32*, f32*, s32); s32 func_80031600(f32*, f32*, f32*, s8* surface, s32, s32*); +void func_80070130(Matrix, s32, f32, f32); +void func_80070638(Matrix, f32, f32, f32); +void func_8006FE04(Matrix*, f32); +void func_8006FE30(Matrix*, f32); #endif // MATH_UTIL_H diff --git a/include/sound_ids.h b/include/sound_ids.h index 8cbbe399..8e3de590 100644 --- a/include/sound_ids.h +++ b/include/sound_ids.h @@ -266,7 +266,7 @@ enum SoundID { /* 0x00FB */ SOUND_VOICE_BLUEY_HAHA4, /* 0x00FC */ SOUND_UNK_FC, /* 0x00FD */ SOUND_CROWD, -/* 0x00FE */ SOUND_MENU_PICK4, +/* 0x00FE */ SOUND_HUD_LAP_TICK, /* 0x00FF */ SOUND_UNK_FF, /* 0x0100 */ SOUND_VOICE_TT_LAP2, /* 0x0101 */ SOUND_VOICE_TT_FINAL_LAP, diff --git a/include/structs.h b/include/structs.h index e5896c39..013a25c1 100644 --- a/include/structs.h +++ b/include/structs.h @@ -960,7 +960,7 @@ typedef struct Object_Racer { /* 0x18E */ s16 shieldTimer; /* 0x190 */ s16 unk190; /* 0x192 */ s8 unk192; - /* 0x193 */ s8 unk193; + /* 0x193 */ s8 lapCount; /* 0x194 */ s8 unk194; /* 0x195 */ s8 unk195; /* 0x196 */ s16 unk196; diff --git a/src/unknown_077C50.c b/src/borders.c similarity index 68% rename from src/unknown_077C50.c rename to src/borders.c index 8e521746..b08b26a0 100644 --- a/src/unknown_077C50.c +++ b/src/borders.c @@ -1,7 +1,7 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80077050 */ -#include "unknown_077C50.h" +#include "borders.h" #include "camera.h" #include "types.h" @@ -25,9 +25,9 @@ void render_borders_for_multiplayer(Gfx **dlist) { widthAndHeight = get_video_width_and_height_as_s32(); width = GET_VIDEO_WIDTH(widthAndHeight); height = GET_VIDEO_HEIGHT(widthAndHeight); - xOffset = width >> 8; + xOffset = width / 256; width += 0; //Fake match? - yOffset = height >> 7; + yOffset = height / 128; gDPSetCycleType((*dlist)++, G_CYC_FILL); gDPSetFillColor((*dlist)++, GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1)); // Black fill color switch (get_viewport_count()) { @@ -50,42 +50,43 @@ void render_borders_for_multiplayer(Gfx **dlist) { gDPFillRectangle((*dlist)++, x, 0, x + xOffset, height); break; } - return; } -#ifdef NON_EQUIVALENT -void func_80077268(Gfx **dlist) { - u32 temp_a2_2; - u32 temp_v0_3; - u32 temp_v0_4; +/** + * Appears to be largely the same as the function above, rendering after the UI. + * This instead, renders slightly larger (around 1px) borders that are invisible. + * The purpose of this function is unknown, because it has zero cosmetic effect. + */ +void render_second_multiplayer_borders(Gfx **dlist) { + u32 screenSize; + u32 screenWidth; + u32 screenHeight; u32 height; u32 width; - u32 temp_t2; - u32 widthAndHeight; - u32 ra; + u32 tempX; + u32 tempY; - widthAndHeight = get_video_width_and_height_as_s32(); - height = GET_VIDEO_HEIGHT(widthAndHeight); - width = GET_VIDEO_WIDTH(widthAndHeight); + screenSize = get_video_width_and_height_as_s32(); + screenHeight = GET_VIDEO_HEIGHT(screenSize); + screenWidth = GET_VIDEO_WIDTH(screenSize); + height = (screenHeight / 128) << 1 << 1; + width = (screenWidth / 256) << 1 << 1; gDPSetCycleType((*dlist)++, G_CYC_1CYCLE); gDPSetCombineMode((*dlist)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); gDPSetRenderMode((*dlist)++, G_RM_XLU_SURF, G_RM_XLU_SURF2); gDPSetPrimColor((*dlist)++, 0, 0, 0, 0, 0, 0); - // Issues with this block. - switch(get_viewport_count()){ + switch(get_viewport_count()) { case VIEWPORTS_COUNT_2_PLAYERS: - temp_v0_4 = (height >> 1) - (temp_t2 >> 1); - gDPFillRectangle((*dlist)++, 0, temp_v0_4, width, temp_v0_4 + temp_t2); + tempY = (screenHeight / 2) - (height / 2); + gDPFillRectangle((*dlist)++, 0, tempY, screenWidth, tempY + height); break; case VIEWPORTS_COUNT_3_PLAYERS: case VIEWPORTS_COUNT_4_PLAYERS: - temp_v0_3 = (height >> 1) - (temp_t2 >> 1); - temp_a2_2 = (width >> 1) - (ra >> 1); - gDPFillRectangle((*dlist)++, 0, temp_v0_3, width, temp_v0_3 + temp_t2); - gDPFillRectangle((*dlist)++, temp_a2_2, 0, temp_a2_2 + ra, height); + tempY = (screenHeight / 2) - (height / 2); + tempX = (screenWidth / 2) - (width / 2); + gDPFillRectangle((*dlist)++, 0, tempY, screenWidth, tempY + height); + tempX += 0; // Fakematch + gDPFillRectangle((*dlist)++, tempX, 0, tempX + width, screenHeight); break; } } -#else -GLOBAL_ASM("asm/non_matchings/unknown_077C50/func_80077268.s") -#endif diff --git a/src/unknown_077C50.h b/src/borders.h similarity index 55% rename from src/unknown_077C50.h rename to src/borders.h index b5877f84..59dcc66e 100644 --- a/src/unknown_077C50.h +++ b/src/borders.h @@ -1,11 +1,11 @@ -#ifndef _UNKNOWN_077C50_H_ -#define _UNKNOWN_077C50_H_ +#ifndef _BORDERS_H_ +#define _BORDERS_H_ #include "types.h" #include "f3ddkr.h" // Non Matching void render_borders_for_multiplayer(Gfx **dlist); -void func_80077268(Gfx **dlist); +void render_second_multiplayer_borders(Gfx **dlist); #endif diff --git a/src/camera.c b/src/camera.c index 6a9f88f5..a03defe4 100644 --- a/src/camera.c +++ b/src/camera.c @@ -8,6 +8,7 @@ #include "unknown_0255E0.h" #include "video.h" #include "lib/src/libc/rmonPrintf.h" +#include "math_util.h" extern u32 osTvType; @@ -27,7 +28,7 @@ const char D_800E7048[] = "camPopModelMtx: bsp stack negative overflow!!\n"; /************ .data ************/ -s8 D_800DD060 = 0; +s8 gAntiPiracyViewport = FALSE; // x1, y1, x2, y2 // posX, posY, width, height @@ -49,7 +50,7 @@ ScreenViewport gScreenViewports[4] = { s32 D_800DD134 = 0; // Not sure about the typing here -s16 D_800DD138[8] = { +UNUSED s16 D_800DD138[8] = { 0, 0, 0, -1, -1, 0, 0, 0 }; @@ -104,27 +105,27 @@ s16 gButtonMask = 0xFFFF; /************ .bss ************/ -ObjectSegment D_80120AC0[8]; +ObjectSegment gObjectRenderStack[8]; s32 gNumberOfViewports; -s32 D_80120CE4; -s32 D_80120CE8; +s32 gObjectRenderStackPos; +s32 gOjbectRenderStackCap; s32 D_80120CEC; ObjectTransform D_80120CF0; s32 D_80120D08; s32 D_80120D0C; f32 gCurCamFOV; -s8 D_80120D14; -u8 D_80120D15; +s8 gCutsceneCameraActive; +s8 gAdjustViewportHeight; s32 D_80120D18; s32 D_80120D1C; s32 D_80120D20; -s32 D_80120D24; +UNUSED s32 D_80120D24; f32 D_80120D28[6]; f32 D_80120D40[6]; f32 D_80120D58[5]; u16 perspNorm; Matrix *D_80120D70[6]; -Mtx *D_80120D88[6]; +Matrix *D_80120D88[6]; Matrix D_80120DA0[5]; Matrix D_80120EE0; // Perspective matrix? Matrix D_80120F20; @@ -136,12 +137,12 @@ Matrix D_80121060; Matrix D_801210A0; OSMesgQueue sSIMesgQueue; OSMesg sSIMesgBuf; -OSMesg D_801210FC; +OSMesg gSIMesg; OSContStatus status; -s32 D_80121108[2]; //Padding? +UNUSED s32 D_80121108[2]; //Padding? ControllerData sControllerData[8]; -u16 sControllerButtonsPressed[4]; -u16 D_80121148[4]; +u16 gControllerButtonsPressed[4]; +u16 gControllerButtonsReleased[4]; u8 sPlayerID[16]; /******************************/ @@ -155,22 +156,22 @@ void func_80065EA0(void) { D_80120D70[i] = &D_80120DA0[i]; }; for (j = 0; j < 8; j++) { - D_80120CE4 = j; + gObjectRenderStackPos = j; func_800663DC(200, 200, 200, 0, 0, 180); }; - D_80120D14 = 0; - D_80120CE4 = 0; + gCutsceneCameraActive = FALSE; + gObjectRenderStackPos = 0; D_80120D1C = 0; D_80120D20 = 0; gNumberOfViewports = 0; D_80120D0C = 0; D_80120D18 = 0; - D_80120D15 = 0; - D_800DD060 = 0; + gAdjustViewportHeight = 0; + gAntiPiracyViewport = 0; while (IO_READ(PI_STATUS_REG) & PI_STATUS_ERROR) { } if ((D_B0000578 & 0xFFFF) != 0x8965) { - D_800DD060 = 1; + gAntiPiracyViewport = TRUE; } guPerspectiveF(D_80120EE0, &perspNorm, CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE); func_8006F870(D_80120EE0, D_80120FE0); @@ -183,19 +184,24 @@ GLOBAL_ASM("asm/non_matchings/camera/func_80065EA0.s") void func_80066060(s32 arg0, s32 arg1) { if (arg0 >= 0 && arg0 < 4) { D_800DD2F8[arg0] = arg1; - D_80120AC0[arg0].unk3B = arg1; + gObjectRenderStack[arg0].unk3B = arg1; } } -void func_80066098(s8 arg0) { - s8 temp = (arg0 << 24) >> 24; - if (!osTvType) { - D_80120D15 = temp; +/** + * Set gAdjustViewportHeight to PAL mode if necessary, if setting is 1. + * Otherwise, set it to 0, regardless of TV type. +*/ +void set_viewport_tv_type(s8 setting) { + if (osTvType == TV_TYPE_PAL) { + gAdjustViewportHeight = setting; } } + void func_800660C0(void) { D_80120D18 = 1; } + void func_800660D0(void) { D_80120D18 = 0; } @@ -235,7 +241,7 @@ s32 get_viewport_count(void) { } s32 func_80066220(void) { - return D_80120CE4; + return gObjectRenderStackPos; } void func_80066230(Gfx **dlist, Mtx **mats) { @@ -248,8 +254,8 @@ void func_80066230(Gfx **dlist, Mtx **mats) { f32 sp1C; f32 sp18; - func_8006652C(0); - func_800665E8(0); + set_active_viewports_and_object_stack_cap(0); + set_object_stack_pos(0); someStruct = func_80069D20(); sp2A = someStruct->trans.y_rotation; sp28 = someStruct->trans.x_rotation; @@ -280,86 +286,106 @@ f32 func_80066348(f32 xPos, f32 yPos, f32 zPos) { s32 index; f32 dx, dz, dy; - index = D_80120CE4; + index = gObjectRenderStackPos; - if (D_80120D14 != 0) { + if (gCutsceneCameraActive) { index += 4; } - dz = zPos - D_80120AC0[index].trans.z_position; - dx = xPos - D_80120AC0[index].trans.x_position; - dy = yPos - D_80120AC0[index].trans.y_position; + dz = zPos - gObjectRenderStack[index].trans.z_position; + dx = xPos - gObjectRenderStack[index].trans.x_position; + dy = yPos - gObjectRenderStack[index].trans.y_position; return sqrtf((dz * dz) + ((dx * dx) + (dy * dy))); } void func_800663DC(s32 xPos, s32 yPos, s32 zPos, s32 arg3, s32 arg4, s32 arg5) { - D_80120AC0[D_80120CE4].trans.z_rotation = (s16)(arg3 * 0xB6); - D_80120AC0[D_80120CE4].trans.x_position = (f32)xPos; - D_80120AC0[D_80120CE4].trans.y_position = (f32)yPos; - D_80120AC0[D_80120CE4].trans.z_position = (f32)zPos; - D_80120AC0[D_80120CE4].trans.x_rotation = (s16)(arg4 * 0xB6); - D_80120AC0[D_80120CE4].unk38.word = (s16)0; - D_80120AC0[D_80120CE4].z_velocity = 0.0f; - D_80120AC0[D_80120CE4].unk28 = 0.0f; - D_80120AC0[D_80120CE4].unk2C.word = 0.0f; - D_80120AC0[D_80120CE4].unk30 = 0.0f; - D_80120AC0[D_80120CE4].x_velocity = 160.0f; - D_80120AC0[D_80120CE4].trans.y_rotation = (s16)(arg5 * 0xB6); - D_80120AC0[D_80120CE4].unk3B = D_800DD2F8[D_80120CE4]; + gObjectRenderStack[gObjectRenderStackPos].trans.z_rotation = (s16) (arg3 * 0xB6); + gObjectRenderStack[gObjectRenderStackPos].trans.x_position = (f32) xPos; + gObjectRenderStack[gObjectRenderStackPos].trans.y_position = (f32) yPos; + gObjectRenderStack[gObjectRenderStackPos].trans.z_position = (f32) zPos; + gObjectRenderStack[gObjectRenderStackPos].trans.x_rotation = (s16) (arg4 * 0xB6); + gObjectRenderStack[gObjectRenderStackPos].unk38.word = (s16) 0; + gObjectRenderStack[gObjectRenderStackPos].z_velocity = 0.0f; + gObjectRenderStack[gObjectRenderStackPos].unk28 = 0.0f; + gObjectRenderStack[gObjectRenderStackPos].unk2C.word = 0.0f; + gObjectRenderStack[gObjectRenderStackPos].unk30 = 0.0f; + gObjectRenderStack[gObjectRenderStackPos].x_velocity = 160.0f; + gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation = (s16) (arg5 * 0xB6); + gObjectRenderStack[gObjectRenderStackPos].unk3B = D_800DD2F8[gObjectRenderStackPos]; } -void func_80066488(s32 arg0, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s16 arg6) { - arg0 += 4; - D_80120AC0[arg0].unk38.word = 0; - D_80120AC0[arg0].trans.x_position = xPos; - D_80120AC0[arg0].trans.y_position = yPos; - D_80120AC0[arg0].trans.z_position = zPos; - D_80120AC0[arg0].trans.y_rotation = arg4; - D_80120AC0[arg0].trans.x_rotation = arg5; - D_80120AC0[arg0].trans.z_rotation = arg6; - D_80120AC0[arg0].unk34_a.levelSegmentIndex = get_level_segment_index_from_position(xPos, yPos, zPos); - D_80120D14 = 1; +/** + * Write directly to the second set of object stack indeces. + * The first 4 are reserved for the 4 player viewports, so the misc views, used in the title screen + * and course previews instead use the next 4. +*/ +void write_to_object_render_stack(s32 stackPos, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s16 arg6) { + stackPos += 4; + gObjectRenderStack[stackPos].unk38.word = 0; + gObjectRenderStack[stackPos].trans.x_position = xPos; + gObjectRenderStack[stackPos].trans.y_position = yPos; + gObjectRenderStack[stackPos].trans.z_position = zPos; + gObjectRenderStack[stackPos].trans.y_rotation = arg4; + gObjectRenderStack[stackPos].trans.x_rotation = arg5; + gObjectRenderStack[stackPos].trans.z_rotation = arg6; + gObjectRenderStack[stackPos].unk34_a.levelSegmentIndex = get_level_segment_index_from_position(xPos, yPos, zPos); + gCutsceneCameraActive = TRUE; } -s8 func_80066510(void) { - return D_80120D14; +/** + * Check if the misc camera view is active. +*/ +s8 check_if_showing_cutscene_camera(void) { + return gCutsceneCameraActive; } -void func_80066520(void) { - D_80120D14 = 0; +/** + * Disable the cutscene camera, returning it to the conventional mode. +*/ +void disable_cutscene_camera(void) { + gCutsceneCameraActive = FALSE; } -s32 func_8006652C(s32 arg0) { - if ((arg0 >= 0) && (arg0 < 4)) { - gNumberOfViewports = arg0; +/** + * Sets the cap for the object render stack. + * If the number passed is within 1-4, then the stack cap is set to + * how many active viewports there are. +*/ +s32 set_active_viewports_and_object_stack_cap(s32 num) { + if (num >= 0 && num < 4) { + gNumberOfViewports = num; } else { gNumberOfViewports = 0; } switch (gNumberOfViewports) { case VIEWPORTS_COUNT_1_PLAYER: - D_80120CE8 = 1; + gOjbectRenderStackCap = 1; break; case VIEWPORTS_COUNT_2_PLAYERS: - D_80120CE8 = 2; + gOjbectRenderStackCap = 2; break; case VIEWPORTS_COUNT_3_PLAYERS: - D_80120CE8 = 3; + gOjbectRenderStackCap = 3; break; case VIEWPORTS_COUNT_4_PLAYERS: - D_80120CE8 = 4; + gOjbectRenderStackCap = 4; break; } - if (D_80120CE4 >= D_80120CE8) { - D_80120CE4 = 0; + if (gObjectRenderStackPos >= gOjbectRenderStackCap) { + gObjectRenderStackPos = 0; } - return D_80120CE8; + return gOjbectRenderStackCap; } -void func_800665E8(s32 arg0) { - if (arg0 >= 0 && arg0 < 4) { - D_80120CE4 = arg0; +/** + * Sets the object stack pos to the passed number. + * If it's not within 1-4, then it's set to 0. +*/ +void set_object_stack_pos(s32 num) { + if (num >= 0 && num < 4) { + gObjectRenderStackPos = num; } else { - D_80120CE4 = 0; + gObjectRenderStackPos = 0; } } @@ -598,17 +624,17 @@ void func_80066CDC(Gfx **dlist, Mtx **mats) { u32 phi_t4; if (func_8000E184() && !gNumberOfViewports) { - D_80120CE4 = 1; + gObjectRenderStackPos = 1; } widthAndHeight = get_video_width_and_height_as_s32(); temp_t0 = widthAndHeight >> 16; temp_a3 = temp_t0 >> 1; - if (gScreenViewports[D_80120CE4].flags & VIEWPORT_UNK_01) { + if (gScreenViewports[gObjectRenderStackPos].flags & VIEWPORT_UNK_01) { gDPSetScissor((*dlist)++, SCISSOR_INTERLACE, - gScreenViewports[D_80120CE4].scissorX1, - gScreenViewports[D_80120CE4].scissorY1, - gScreenViewports[D_80120CE4].scissorX2, - gScreenViewports[D_80120CE4].scissorY2 + gScreenViewports[gObjectRenderStackPos].scissorX1, + gScreenViewports[gObjectRenderStackPos].scissorY1, + gScreenViewports[gObjectRenderStackPos].scissorX2, + gScreenViewports[gObjectRenderStackPos].scissorY2 ); func_80068158(dlist, 0, 0, 0, 0); if (mats != 0) { @@ -637,7 +663,7 @@ void func_80066CDC(Gfx **dlist, Mtx **mats) { sp4C = temp_a2; break; case VIEWPORTS_COUNT_2_PLAYERS: - if (D_80120CE4 == 0) { + if (gObjectRenderStackPos == 0) { temp_v0_6 = temp_t0 >> 2; phi_t3 = temp_v0_6; if (osTvType == TV_TYPE_PAL) { @@ -651,7 +677,7 @@ void func_80066CDC(Gfx **dlist, Mtx **mats) { sp4C = temp_a2; break; case VIEWPORTS_COUNT_3_PLAYERS: - if (D_80120CE4 == 0) { + if (gObjectRenderStackPos == 0) { gDPSetScissor((*dlist)++, SCISSOR_INTERLACE, 0, 0, temp_a2 - (width >> 8), temp_t0); phi_a1 = width >> 2; } else { @@ -664,7 +690,7 @@ void func_80066CDC(Gfx **dlist, Mtx **mats) { case VIEWPORTS_COUNT_4_PLAYERS: sp58 = sp58 >> 1; sp54 = temp_a2 >> 1; - switch (D_80120CE4) { + switch (gObjectRenderStackPos) { case 0: gDPSetScissor((*dlist)++, SCISSOR_INTERLACE, 0.0f, 0.0f, (temp_a2 - (width >> 8)), (temp_a3 - (temp_t0 >> 7))); phi_t5 = 0; @@ -693,7 +719,7 @@ void func_80066CDC(Gfx **dlist, Mtx **mats) { sp4C = phi_t4 + sp54; if (osTvType == TV_TYPE_PAL) { phi_t3 -= 6; - if (D_80120CE4 < 2) { + if (gObjectRenderStackPos < 2) { phi_t3 -= 0x14; } } @@ -724,40 +750,40 @@ void func_80067D3C(Gfx **dlist, UNUSED Mtx **mats) { gSPPerspNormalize((*dlist)++, perspNorm); - temp = D_80120CE4; - if (D_80120D14 != 0) { - D_80120CE4 += 4; + temp = gObjectRenderStackPos; + if (gCutsceneCameraActive) { + gObjectRenderStackPos += 4; } - D_80120CF0.y_rotation = 0x8000 + D_80120AC0[D_80120CE4].trans.y_rotation; - D_80120CF0.x_rotation = D_80120AC0[D_80120CE4].trans.x_rotation + D_80120AC0[D_80120CE4].unk38.word; - D_80120CF0.z_rotation = D_80120AC0[D_80120CE4].trans.z_rotation; + D_80120CF0.y_rotation = 0x8000 + gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation; + D_80120CF0.x_rotation = gObjectRenderStack[gObjectRenderStackPos].trans.x_rotation + gObjectRenderStack[gObjectRenderStackPos].unk38.word; + D_80120CF0.z_rotation = gObjectRenderStack[gObjectRenderStackPos].trans.z_rotation; - D_80120CF0.x_position = -D_80120AC0[D_80120CE4].trans.x_position; - D_80120CF0.y_position = -D_80120AC0[D_80120CE4].trans.y_position; + D_80120CF0.x_position = -gObjectRenderStack[gObjectRenderStackPos].trans.x_position; + D_80120CF0.y_position = -gObjectRenderStack[gObjectRenderStackPos].trans.y_position; if (D_80120D18 != 0) { - D_80120CF0.y_position -= D_80120AC0[D_80120CE4].unk30; + D_80120CF0.y_position -= gObjectRenderStack[gObjectRenderStackPos].unk30; } - D_80120CF0.z_position = -D_80120AC0[D_80120CE4].trans.z_position; + D_80120CF0.z_position = -gObjectRenderStack[gObjectRenderStackPos].trans.z_position; func_8006FE74(&D_80120F60, &D_80120CF0); func_8006F768(&D_80120F60, &D_80120EE0, &D_80120F20); - D_80120CF0.y_rotation = -0x8000 - D_80120AC0[D_80120CE4].trans.y_rotation; - D_80120CF0.x_rotation = -(D_80120AC0[D_80120CE4].trans.x_rotation + D_80120AC0[D_80120CE4].unk38.word); - D_80120CF0.z_rotation = -D_80120AC0[D_80120CE4].trans.z_rotation; + D_80120CF0.y_rotation = -0x8000 - gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation; + D_80120CF0.x_rotation = -(gObjectRenderStack[gObjectRenderStackPos].trans.x_rotation + gObjectRenderStack[gObjectRenderStackPos].unk38.word); + D_80120CF0.z_rotation = -gObjectRenderStack[gObjectRenderStackPos].trans.z_rotation; D_80120CF0.scale = 1.0f; - D_80120CF0.x_position = D_80120AC0[D_80120CE4].trans.x_position; - D_80120CF0.y_position = D_80120AC0[D_80120CE4].trans.y_position; + D_80120CF0.x_position = gObjectRenderStack[gObjectRenderStackPos].trans.x_position; + D_80120CF0.y_position = gObjectRenderStack[gObjectRenderStackPos].trans.y_position; if (D_80120D18 != 0) { - D_80120CF0.y_position += D_80120AC0[D_80120CE4].unk30; + D_80120CF0.y_position += gObjectRenderStack[gObjectRenderStackPos].unk30; } - D_80120CF0.z_position = D_80120AC0[D_80120CE4].trans.z_position; + D_80120CF0.z_position = gObjectRenderStack[gObjectRenderStackPos].trans.z_position; func_8006FC30(D_80120FA0, &D_80120CF0); func_8006F870(&D_80120FA0, &D_80121020); - D_80120CE4 = temp; + gObjectRenderStackPos = temp; } /** @@ -778,12 +804,12 @@ void func_80067F2C(Gfx **dlist, Mtx **mats) { height = GET_VIDEO_HEIGHT(widthAndHeight); width = GET_VIDEO_WIDTH(widthAndHeight); func_8006F870(&gOrthoMatrix, (Matrix *)*mats); - D_80120D88[0] = *mats; - D_800DD148[D_80120CE4 + 5].vp.vscale[0] = width * 2; - D_800DD148[D_80120CE4 + 5].vp.vscale[1] = width * 2; - D_800DD148[D_80120CE4 + 5].vp.vtrans[0] = width * 2; - D_800DD148[D_80120CE4 + 5].vp.vtrans[1] = height * 2; - gSPViewport((*dlist)++, OS_K0_TO_PHYSICAL(&D_800DD148[D_80120CE4 + 5])); + D_80120D88[0] = (Matrix *) *mats; + D_800DD148[gObjectRenderStackPos + 5].vp.vscale[0] = width * 2; + D_800DD148[gObjectRenderStackPos + 5].vp.vscale[1] = width * 2; + D_800DD148[gObjectRenderStackPos + 5].vp.vtrans[0] = width * 2; + D_800DD148[gObjectRenderStackPos + 5].vp.vtrans[1] = height * 2; + gSPViewport((*dlist)++, OS_K0_TO_PHYSICAL(&D_800DD148[gObjectRenderStackPos + 5])); gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mats)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); D_80120D1C = 0; D_80120D08 = 0; @@ -809,42 +835,43 @@ void func_8006807C(Gfx **dlist, Mtx **mats) { void func_80068158(Gfx **dlist, s32 width, s32 height, s32 posX, s32 posY) { s32 tempWidth = (get_filtered_cheats() & CHEAT_MIRRORED_TRACKS) ? -width : width; - if (D_800DD060 != 0) { + // Antipiracy measure. Flips the screen upside down. + if (gAntiPiracyViewport) { height = -height; tempWidth = -width; } - if (!(gScreenViewports[D_80120CE4].flags & VIEWPORT_UNK_01)) { - D_800DD148[D_80120CE4].vp.vtrans[0] = posX * 4; - D_800DD148[D_80120CE4].vp.vtrans[1] = posY * 4; - D_800DD148[D_80120CE4].vp.vscale[0] = tempWidth * 4; - D_800DD148[D_80120CE4].vp.vscale[1] = height * 4; - gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[D_80120CE4])); + if (!(gScreenViewports[gObjectRenderStackPos].flags & VIEWPORT_UNK_01)) { + D_800DD148[gObjectRenderStackPos].vp.vtrans[0] = posX * 4; + D_800DD148[gObjectRenderStackPos].vp.vtrans[1] = posY * 4; + D_800DD148[gObjectRenderStackPos].vp.vscale[0] = tempWidth * 4; + D_800DD148[gObjectRenderStackPos].vp.vscale[1] = height * 4; + gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[gObjectRenderStackPos])); } else { - gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[D_80120CE4 + 10 + (D_800DD134 * 5)])); + gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[gObjectRenderStackPos + 10 + (D_800DD134 * 5)])); } } void func_800682AC(Gfx **dlist) { u32 widthAndHeight, width, height; - D_80120CE4 = 4; + gObjectRenderStackPos = 4; widthAndHeight = get_video_width_and_height_as_s32(); height = GET_VIDEO_HEIGHT(widthAndHeight); width = GET_VIDEO_WIDTH(widthAndHeight); - if (!(gScreenViewports[D_80120CE4].flags & VIEWPORT_UNK_01)) { + if (!(gScreenViewports[gObjectRenderStackPos].flags & VIEWPORT_UNK_01)) { gDPSetScissor((*dlist)++, G_SC_NON_INTERLACE, 0, 0, width - 1, height - 1); func_80068158(dlist, width >> 1, height >> 1, width >> 1, height >> 1); } else { func_80067A3C(dlist); func_80068158(dlist, 0, 0, 0, 0); } - D_80120CE4 = 0; + gObjectRenderStackPos = 0; } void func_80068408(Gfx **dlist, Mtx **mats) { func_800705F8(D_80120D70[D_80120D1C], 0.0f, 0.0f, 0.0f); func_8006F768(D_80120D70[D_80120D1C], &D_80120F20, &D_80121060); func_8006F870(&D_80121060, (Matrix *)*mats); - D_80120D88[D_80120D1C] = *mats; + D_80120D88[D_80120D1C] = (Matrix *) *mats; gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mats)++), D_80120D08 << 6); } @@ -853,9 +880,119 @@ void func_80068508(s32 arg0) { } GLOBAL_ASM("asm/non_matchings/camera/func_80068514.s") -GLOBAL_ASM("asm/non_matchings/camera/func_80068BF4.s") + +void func_80068BF4(Gfx **arg0, Matrix **arg1, Vertex **arg2, ObjectSegment *arg3, unk80068BF4 *arg4, s32 arg5) { + UNUSED s32 pad; + f32 scale; + s32 index; + Vertex *temp_v1; + Matrix sp90; + Matrix sp50; + + if (arg4 != NULL) { + temp_v1 = *arg2; + temp_v1->x = arg3->trans.x_position; + temp_v1->y = arg3->trans.y_position; + temp_v1->z = arg3->trans.z_position; + temp_v1->r = 255; + temp_v1->g = 255; + temp_v1->b = 255; + temp_v1->a = 255; + gDkrVertices((*arg0)++, OS_PHYSICAL_TO_K0(*arg2), (((s32)OS_PHYSICAL_TO_K0(*arg2)) & 6), 13); + (*arg2)++; // Can't be done in the macro? + index = arg3->unk18; + D_80120D1C ++; + D_80120CF0.y_rotation = -arg3->trans.y_rotation; + D_80120CF0.x_rotation = -arg3->trans.x_rotation; + D_80120CF0.z_rotation = gObjectRenderStack[gObjectRenderStackPos].trans.z_rotation + arg3->trans.z_rotation; + D_80120CF0.x_position = 0.0f; + D_80120CF0.y_position = 0.0f; + D_80120CF0.z_position = 0.0f; + if (gAdjustViewportHeight) { + scale = arg3->trans.scale; + func_80070638(sp50, scale, scale, 1.0f); + func_80070130(sp90, 0, 1.0f, gVideoAspectRatio); + func_8006F768(&sp90, &sp50, &D_80121060); + } else { + scale = arg3->trans.scale; + func_80070638(D_80121060, scale, scale, 1.0f); + } + func_8006FE74(&sp90, &D_80120CF0); + func_8006F768(&D_80121060, &sp90, D_80120D70[D_80120D1C]); + func_8006F870(D_80120D70[D_80120D1C], *arg1); + D_80120D88[D_80120D1C] = *arg1; + gSPMatrix((*arg0)++, OS_PHYSICAL_TO_K0((*arg1)++), G_MTX_DKR_INDEX_2); + gDkrEnableBillboard((*arg0)++); + if (D_80120D0C == 0) { + index = (((u8) index) * arg4->unk0) >> 8; + } + func_8007BF34(arg0, arg4->unk6 | arg5); + if (index >= arg4->unk0) { + index = arg4->unk0 - 1; + } + gSPDisplayList((*arg0)++, arg4->unkC[index]); + if (--D_80120D1C == 0) { + index = 0; + } else { + index = 1; + } + gDkrInsertMatrix((*arg0)++, 0, index << 6); + gDkrDisableBillboard((*arg0)++); + } +} + GLOBAL_ASM("asm/non_matchings/camera/func_80068FA8.s") -GLOBAL_ASM("asm/non_matchings/camera/func_80069484.s") + +void func_80069484(Gfx **arg0, Matrix **arg1, ObjectTransform *arg2, f32 arg3, f32 arg4) { + f32 tempX; + f32 tempY; + f32 tempZ; + s32 index; + f32 scaleFactor; + + func_8006FC30(D_80121060, arg2); + if (arg4 != 0.0f) { + func_8006FE30(&D_80121060, arg4); + } + if (arg3 != 1.0f) { + func_8006FE04(&D_80121060, arg3); + } + func_8006F768(&D_80121060, D_80120D70[D_80120D1C], D_80120D70[D_80120D1C + 1]); + func_8006F768(D_80120D70[D_80120D1C + 1], &D_80120F20, &D_801210A0); + func_8006F870(&D_801210A0, *arg1); + D_80120D1C++; + D_80120D88[0, D_80120D1C] = *arg1; // Should be [D_80120D1C], but only matches with [0, D_80120D1C] + if (1) { } if (1) { } if (1) { }; // Necessary to match + gSPMatrix((*arg0)++, OS_PHYSICAL_TO_K0((*arg1)++), G_MTX_DKR_INDEX_1); + guMtxXFMF(*D_80120D70[D_80120D1C], 0.0f, 0.0f, 0.0f, &tempX, &tempY, &tempZ); + index = gObjectRenderStackPos; + if (gCutsceneCameraActive) { + index += 4; + } + tempX = gObjectRenderStack[index].trans.x_position - tempX; + tempY = gObjectRenderStack[index].trans.y_position - tempY; + tempZ = gObjectRenderStack[index].trans.z_position - tempZ; + D_80120CF0.y_rotation = -arg2->y_rotation; + D_80120CF0.x_rotation = -arg2->x_rotation; + D_80120CF0.z_rotation = -arg2->z_rotation; + D_80120CF0.x_position = 0.0f; + D_80120CF0.y_position = 0.0f; + D_80120CF0.z_position = 0.0f; + D_80120CF0.scale = 1.0f; + func_8006FE74(&D_80121060, &D_80120CF0); + guMtxXFMF(D_80121060, tempX, tempY, tempZ, &tempX, &tempY, &tempZ); + scaleFactor = 1.0f / arg2->scale; + tempX *= scaleFactor; + tempY *= scaleFactor; + tempZ *= scaleFactor; + D_80120D20++; + index = D_80120D20; + D_80120D28[index] = tempX; + D_80120D40[index] = tempY; + if (0) {} // Necessary to match + D_80120D58[index] = tempZ; +} + GLOBAL_ASM("asm/non_matchings/camera/func_80069790.s") UNUSED void func_800699E4(f32 *arg0, f32 *arg1, f32 *arg2) { @@ -879,51 +1016,51 @@ void func_80069A40(Gfx **dlist) { } } -UNUSED void func_80069ACC(f32 arg0, f32 arg1, f32 arg2) { - D_80120AC0[D_80120CE4].trans.x_position += arg0; - D_80120AC0[D_80120CE4].trans.y_position += arg1; - D_80120AC0[D_80120CE4].trans.z_position += arg2; - D_80120AC0[D_80120CE4].unk34_a.levelSegmentIndex = +UNUSED void func_80069ACC(f32 x, f32 y, f32 z) { + gObjectRenderStack[gObjectRenderStackPos].trans.x_position += x; + gObjectRenderStack[gObjectRenderStackPos].trans.y_position += y; + gObjectRenderStack[gObjectRenderStackPos].trans.z_position += z; + gObjectRenderStack[gObjectRenderStackPos].unk34_a.levelSegmentIndex = get_level_segment_index_from_position( - D_80120AC0[D_80120CE4].trans.x_position, - D_80120AC0[D_80120CE4].trans.y_position, - D_80120AC0[D_80120CE4].trans.z_position); + gObjectRenderStack[gObjectRenderStackPos].trans.x_position, + gObjectRenderStack[gObjectRenderStackPos].trans.y_position, + gObjectRenderStack[gObjectRenderStackPos].trans.z_position); } -UNUSED void func_80069B70(f32 arg0, UNUSED f32 arg1, f32 arg2) { - D_80120AC0[D_80120CE4].trans.x_position -= arg0 * sine_s(D_80120AC0[D_80120CE4].trans.y_rotation); - D_80120AC0[D_80120CE4].trans.z_position -= arg0 * cosine_s(D_80120AC0[D_80120CE4].trans.y_rotation); - D_80120AC0[D_80120CE4].trans.x_position -= arg2 * cosine_s(D_80120AC0[D_80120CE4].trans.y_rotation); - D_80120AC0[D_80120CE4].trans.z_position += arg2 * sine_s(D_80120AC0[D_80120CE4].trans.y_rotation); - D_80120AC0[D_80120CE4].unk34_a.levelSegmentIndex = +UNUSED void func_80069B70(f32 x, UNUSED f32 y, f32 z) { + gObjectRenderStack[gObjectRenderStackPos].trans.x_position -= x * sine_s(gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation); + gObjectRenderStack[gObjectRenderStackPos].trans.z_position -= x * cosine_s(gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation); + gObjectRenderStack[gObjectRenderStackPos].trans.x_position -= z * cosine_s(gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation); + gObjectRenderStack[gObjectRenderStackPos].trans.z_position += z * sine_s(gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation); + gObjectRenderStack[gObjectRenderStackPos].unk34_a.levelSegmentIndex = get_level_segment_index_from_position( - D_80120AC0[D_80120CE4].trans.x_position, - D_80120AC0[D_80120CE4].trans.y_position, - D_80120AC0[D_80120CE4].trans.z_position); + gObjectRenderStack[gObjectRenderStackPos].trans.x_position, + gObjectRenderStack[gObjectRenderStackPos].trans.y_position, + gObjectRenderStack[gObjectRenderStackPos].trans.z_position); } -UNUSED void func_80069CB4(s32 arg0, s32 arg1, s32 arg2) { - D_80120AC0[D_80120CE4].trans.y_rotation += arg0; - D_80120AC0[D_80120CE4].trans.x_rotation += arg1; - D_80120AC0[D_80120CE4].trans.z_rotation += arg2; +UNUSED void func_80069CB4(s32 xRotation, s32 yRotation, s32 zRotation) { + gObjectRenderStack[gObjectRenderStackPos].trans.y_rotation += xRotation; + gObjectRenderStack[gObjectRenderStackPos].trans.x_rotation += yRotation; + gObjectRenderStack[gObjectRenderStackPos].trans.z_rotation += zRotation; } ObjectSegment *func_80069CFC(void) { - return &D_80120AC0[D_80120CE4]; + return &gObjectRenderStack[gObjectRenderStackPos]; } ObjectSegment *func_80069D20(void) { - if (D_80120D14 != 0) { - return &D_80120AC0[D_80120CE4 + 4]; + if (gCutsceneCameraActive) { + return &gObjectRenderStack[gObjectRenderStackPos + 4]; } - return &D_80120AC0[D_80120CE4]; + return &gObjectRenderStack[gObjectRenderStackPos]; } ObjectSegment *func_80069D7C(void) { - if (D_80120D14 != 0) { - return &D_80120AC0[4]; + if (gCutsceneCameraActive) { + return &gObjectRenderStack[4]; } - return &D_80120AC0[0]; + return &gObjectRenderStack[0]; } Matrix *func_80069DA4(void) { @@ -954,12 +1091,12 @@ void func_80069E14(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { s32 i; for (i = 0; i <= gNumberOfViewports; i++) { - temp_f0 = arg0 - D_80120AC0[i].trans.x_position; - temp_f2 = arg1 - D_80120AC0[i].trans.y_position; - temp_f14 = arg2 - D_80120AC0[i].trans.z_position; + temp_f0 = arg0 - gObjectRenderStack[i].trans.x_position; + temp_f2 = arg1 - gObjectRenderStack[i].trans.y_position; + temp_f14 = arg2 - gObjectRenderStack[i].trans.z_position; temp_f0_2 = sqrtf(((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) + (temp_f14 * temp_f14)); if (temp_f0_2 < arg3) { - D_80120AC0[i].unk30 = ((arg3 - temp_f0_2) * arg4) / arg3; + gObjectRenderStack[i].unk30 = ((arg3 - temp_f0_2) * arg4) / arg3; } } } @@ -967,7 +1104,7 @@ void func_80069E14(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { void func_80069F28(f32 arg0) { s32 i; for (i = 0; i <= gNumberOfViewports; i++) { - D_80120AC0[i].unk30 = arg0; + gObjectRenderStack[i].unk30 = arg0; } } @@ -1020,7 +1157,7 @@ s32 init_controllers(void) { UNUSED s32 *temp2; // Unused osCreateMesgQueue(&sSIMesgQueue, &sSIMesgBuf, 1); - osSetEventMesg(OS_EVENT_SI, &sSIMesgQueue, D_801210FC); + osSetEventMesg(OS_EVENT_SI, &sSIMesgQueue, gSIMesg); osContInit(&sSIMesgQueue, &bitpattern, &status); osContStartReadData(&sSIMesgQueue); initialise_player_ids(); @@ -1098,14 +1235,14 @@ u16 get_buttons_held_from_player(s32 player) { * NOTE: This was a u16, but we only got a match in menu_ghost_data_loop when it was a u32 for some reason */ u32 get_buttons_pressed_from_player(s32 player) { - return sControllerButtonsPressed[sPlayerID[player]]; + return gControllerButtonsPressed[sPlayerID[player]]; } /** * Unused function that returns the buttons that are no longer pressed in that frame. */ UNUSED u16 get_buttons_released_from_player(s32 player) { - return D_80121148[sPlayerID[player]]; + return gControllerButtonsReleased[sPlayerID[player]]; } /** diff --git a/src/camera.h b/src/camera.h index bd7a8883..922467ae 100644 --- a/src/camera.h +++ b/src/camera.h @@ -53,7 +53,7 @@ enum ViewPortFlags { VIEWPORT_HEIGHT_CUSTOM = 0x0040 }; -extern s8 D_800DD060; +extern s8 gAntiPiracyViewport; /* Size: 0x34 bytes. */ typedef struct ScreenViewport { @@ -81,6 +81,15 @@ typedef struct ControllerData { s8 unk6; } ControllerData; +typedef struct unk80068BF4 { + s16 unk0; + s16 unk2; + s16 unk4; + s16 unk6; + s32 *unk8; + s32 *unkC[2]; +} unk80068BF4; + extern ScreenViewport gScreenViewports[4]; // Not sure about the typing here @@ -110,7 +119,7 @@ extern f32 D_80120D28[6]; void func_8006F768(Matrix *, Matrix *, Matrix *); // Non Matching unknown_070110? void func_80066060(s32 arg0, s32 arg1); -void func_80066098(s8 arg0); +void set_viewport_tv_type(s8 arg0); void func_800660C0(void); void func_800660D0(void); UNUSED f32 get_current_camera_fov(void); @@ -122,11 +131,11 @@ s32 func_80066220(void); void func_80066230(Gfx **dlist, Mtx **arg1); f32 func_80066348(f32 xPos, f32 yPos, f32 zPos); void func_800663DC(s32 xPos, s32 yPos, s32 zPos, s32 arg3, s32 arg4, s32 arg5); -void func_80066488(s32 arg0, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s16 arg6); -void func_80066520(void); -s8 func_80066510(void); -s32 func_8006652C(s32 arg0); -void func_800665E8(s32 arg0); +void write_to_object_render_stack(s32 arg0, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s16 arg6); +void disable_cutscene_camera(void); +s8 check_if_showing_cutscene_camera(void); +s32 set_active_viewports_and_object_stack_cap(s32 arg0); +void set_object_stack_pos(s32 arg0); void func_80066818(s32 viewPortIndex, s32 arg1); void func_80066894(s32 viewPortIndex, s32 arg1); s32 func_80066910(s32 viewPortIndex); diff --git a/src/game.c b/src/game.c index f87a939d..4744eee5 100644 --- a/src/game.c +++ b/src/game.c @@ -32,7 +32,7 @@ #include "PR/os_internal.h" #include "printf.h" #include "fade_transition.h" -#include "unknown_077C50.h" +#include "borders.h" #include "unknown_008C40.h" #include "unknown_0255E0.h" #include "game_text.h" @@ -85,25 +85,25 @@ UNUSED char *sDebugRomBuildInfo[6] = { UNUSED char gBuildString[40] = "Version 7.7 29/09/97 15.00 L.Schuneman"; s8 sAntiPiracyTriggered = 0; -s32 D_800DD378 = 1; +UNUSED s32 D_800DD378 = 1; s32 D_800DD37C = 0; -s32 D_800DD380 = 0; +s32 gScreenStatus = OSMESG_SWAP_BUFFER; s32 sControllerStatus = 0; -s32 D_800DD388 = 0; // Currently unknown, might be a different type. -s8 D_800DD38C = 0; +UNUSED s32 D_800DD388 = 0; +s8 gSkipGfxTask = FALSE; s8 D_800DD390 = 0; s16 D_800DD394 = 0; s8 D_800DD398 = 0; s8 D_800DD39C = 0; s8 D_800DD3A0 = FALSE; -s32 D_800DD3A4 = 0; // Currently unknown, might be a different type. -s32 D_800DD3A8 = 0; // Currently unknown, might be a different type. -s32 D_800DD3AC = 0; // Currently unknown, might be a different type. +UNUSED s32 D_800DD3A4 = 0; +UNUSED s32 D_800DD3A8 = 0; +UNUSED s32 D_800DD3AC = 0; s32 gNumF3dCmdsPerPlayer[4] = { 4500, 7000, 11000, 11000 }; s32 gNumHudVertsPerPlayer[4] = { 300, 600, 850, 900 }; s32 gNumHudMatPerPlayer[4] = { 300, 400, 550, 600 }; s32 gNumHudTrisPerPlayer[4] = { 20, 30, 40, 50 }; -s8 D_800DD3F0 = 0; +s8 gDrawFrameTimer = 0; FadeTransition D_800DD3F4 = FADE_TRANSITION(128, FADE_COLOR_BLACK, 20, 0); // Unused? FadeTransition D_800DD3FC = FADE_TRANSITION(0, FADE_COLOR_WHITE, 20, -1); @@ -138,17 +138,17 @@ TempStruct5 *D_801211C0; s16 D_801211C8[20]; Gfx *gDisplayLists[2]; Gfx *gCurrDisplayList; -s32 D_801211FC; +UNUSED s32 D_801211FC; Mtx *gHudMatrices[2]; Mtx *gCurrHudMat; VertexList *gHudVertices[2]; VertexList *gCurrHudVerts; TriangleList *gHudTriangles[2]; TriangleList *gCurrHudTris; -s32 D_80121230[8]; +UNUSED s32 D_80121230[8]; s8 D_80121250[16]; //Settings4C OSSched gMainSched; // 0x288 / 648 bytes -s8 D_80121268[8192]; // 0x2000 / 8192 bytes Padding? +UNUSED u8 D_80121268[0x2000]; // 0x2000 / 8192 bytes Padding? s32 gSPTaskNum; s32 sRenderContext; s32 D_801234F0; @@ -168,15 +168,15 @@ s32 D_8012351C; // Looks to be the current level's vehicle ID. s32 sBootDelayTimer; s8 D_80123524; s8 D_80123525; -s8 D_80123526; +UNUSED s8 D_80123526; // Set to 0 then never used. s32 gCurrNumF3dCmdsPerPlayer; s32 gCurrNumHudMatPerPlayer; s32 gCurrNumHudTrisPerPlayer; s32 gCurrNumHudVertsPerPlayer; OSScClient *gNMISched[3]; -OSMesg gNMIMesgBuf; +OSMesg gNMIOSMesg; OSMesgQueue gNMIMesgQueue; -s32 D_80123560[8]; +s32 gNMIMesgBuf[8]; /******************************/ @@ -881,9 +881,9 @@ void init_game(void) { init_controller_paks(); func_80081218(); create_and_start_thread30(); - osCreateMesgQueue(&gNMIMesgQueue, &gNMIMesgBuf, 1); + osCreateMesgQueue(&gNMIMesgQueue, &gNMIOSMesg, 1); osScAddClient(&gMainSched, (OSScClient*) gNMISched, &gNMIMesgQueue, OS_SC_ID_PRENMI); - D_80123560[0] = 0; + gNMIMesgBuf[0] = 0; D_80123504 = 0; D_80123508 = 0; gSPTaskNum = 0; @@ -906,20 +906,20 @@ void main_game_loop(void) { osSetTime(0); - if (D_800DD380 == 8) { + if (gScreenStatus == MESG_SKIP_BUFFER_SWAP) { gCurrDisplayList = gDisplayLists[gSPTaskNum]; set_rsp_segment(&gCurrDisplayList, 0, 0); set_rsp_segment(&gCurrDisplayList, 1, (s32)gVideoCurrFramebuffer); set_rsp_segment(&gCurrDisplayList, 2, gVideoLastDepthBuffer); set_rsp_segment(&gCurrDisplayList, 4, (s32)gVideoCurrFramebuffer - 0x500); } - if (D_800DD3F0 == 0) { + if (gDrawFrameTimer == 0) { setup_ostask_xbus(gDisplayLists[gSPTaskNum], gCurrDisplayList, 0); gSPTaskNum += 1; gSPTaskNum &= 1; } - if (D_800DD3F0) { - D_800DD3F0 -= 1; + if (gDrawFrameTimer) { + gDrawFrameTimer--; } gCurrDisplayList = gDisplayLists[gSPTaskNum]; @@ -933,7 +933,7 @@ void main_game_loop(void) { set_rsp_segment(&gCurrDisplayList, 4, gVideoLastFramebuffer - 0x500); init_rsp(&gCurrDisplayList); init_rdp_and_framebuffer(&gCurrDisplayList); - render_background(&gCurrDisplayList, (Mtx *) &gCurrHudMat, 1); + render_background(&gCurrDisplayList, (Mtx *) &gCurrHudMat, TRUE); D_800DD37C = func_8006A1C4(D_800DD37C, sLogicUpdateRate); if (get_lockup_status()) { render_epc_lock_up_display(); @@ -984,19 +984,19 @@ void main_game_loop(void) { gSPEndDisplayList(gCurrDisplayList++); func_80066610(); - if (D_800DD3F0 != 1) { - if (D_800DD38C == 0) { - D_800DD380 = wait_for_gfx_task(); + if (gDrawFrameTimer != 1) { + if (gSkipGfxTask == FALSE) { + gScreenStatus = wait_for_gfx_task(); } } else { - D_800DD3F0 = 0; + gDrawFrameTimer = 0; } - D_800DD38C = 0; + gSkipGfxTask = FALSE; clear_free_queue(); if (!gIsPaused) { - func_80066520(); + disable_cutscene_camera(); } - if (D_800DD3F0 == 2) { + if (gDrawFrameTimer == 2) { framebufferSize = SCREEN_WIDTH * SCREEN_HEIGHT * 2; if (osTvType == TV_TYPE_PAL) { framebufferSize = (s32)((SCREEN_WIDTH * SCREEN_HEIGHT * 2) * 1.1f); @@ -1007,7 +1007,7 @@ void main_game_loop(void) { // the mul factor is hardcapped at 6, which happens at 10FPS. The mul factor // affects frameskipping, to maintain consistent game speed, through the (many) // dropped frames in DKR. - tempLogicUpdateRate = swap_framebuffer_when_ready(D_800DD380); + tempLogicUpdateRate = swap_framebuffer_when_ready(gScreenStatus); sLogicUpdateRate = tempLogicUpdateRate; tempLogicUpdateRateMax = LOGIC_10FPS; if (tempLogicUpdateRate > tempLogicUpdateRateMax) { @@ -1047,11 +1047,11 @@ void load_level_2(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleI // Guessing this is the "unload everything ready for level swap" function. void func_8006CC14(void) { set_free_queue_state(0); - if (D_800DD38C == 0) { - if (D_800DD3F0 != 1) { + if (gSkipGfxTask == FALSE) { + if (gDrawFrameTimer != 1) { wait_for_gfx_task(); } - D_800DD38C = 1; + gSkipGfxTask = TRUE; } func_8006BEFC(); func_800C01D8(&D_800DD3F4); @@ -1087,7 +1087,7 @@ void ingame_logic_loop(s32 updateRate) { // Update all objects if (!gIsPaused) { func_80010994(updateRate); - if (func_80066510() == 0 || func_8001139C()) { + if (check_if_showing_cutscene_camera() == 0 || func_8001139C()) { if ((buttonPressedInputs & START_BUTTON) && (func_8006C2F0() == 0) && (D_800DD390 == 0) && (sRenderContext == DRAW_GAME) && (D_80123516 == 0) && (D_800DD394 == 0) && (D_800DD398 == 0)) { buttonPressedInputs = 0; @@ -1219,7 +1219,7 @@ void ingame_logic_loop(s32 updateRate) { init_rdp_and_framebuffer(&gCurrDisplayList); render_borders_for_multiplayer(&gCurrDisplayList); func_800A8474(&gCurrDisplayList, &gCurrHudMat, &gCurrHudVerts, updateRate); - func_80077268(&gCurrDisplayList); + render_second_multiplayer_borders(&gCurrDisplayList); if (D_800DD39C != 0) { if (func_800214C4() != 0) { D_801234F4 = 0x23; @@ -1535,7 +1535,7 @@ void func_8006DC58(s32 updateRate) { func_800C3440(updateRate); init_rdp_and_framebuffer(&gCurrDisplayList); render_borders_for_multiplayer(&gCurrDisplayList); - func_80077268(&gCurrDisplayList); + render_second_multiplayer_borders(&gCurrDisplayList); } } @@ -1824,10 +1824,10 @@ s8 func_8006EAB0(void) { * Sets and returns (nonzero) the message set when pressing the reset button. */ s32 is_reset_pressed(void) { - if (D_80123560[0] == 0) { - D_80123560[0] = (s32)((osRecvMesg(&gNMIMesgQueue, NULL, OS_MESG_NOBLOCK) + 1) != 0); + if (gNMIMesgBuf[0] == 0) { + gNMIMesgBuf[0] = (s32)((osRecvMesg(&gNMIMesgQueue, NULL, OS_MESG_NOBLOCK) + 1) != 0); } - return D_80123560[0]; + return gNMIMesgBuf[0]; } s32 func_8006EB14(void) { @@ -2022,7 +2022,7 @@ void func_8006F398(void) { } void func_8006F42C(void) { - D_800DD3F0 = 2; + gDrawFrameTimer = 2; } /** diff --git a/src/game.h b/src/game.h index 5a7e7d57..4018af72 100644 --- a/src/game.h +++ b/src/game.h @@ -49,10 +49,10 @@ extern s8 D_800DD330; extern s8 sAntiPiracyTriggered; extern s32 D_800DD378; extern s32 D_800DD37C; -extern s32 D_800DD380; +extern s32 gScreenStatus; extern s32 sControllerStatus; extern s32 D_800DD388; -extern s8 D_800DD38C; +extern s8 gSkipGfxTask; extern s8 D_800DD390; extern s16 D_800DD394; extern s8 D_800DD398; @@ -63,7 +63,7 @@ extern s32 D_800DD3A8; extern s32 D_800DD3AC; -extern s8 D_800DD3F0; +extern s8 gDrawFrameTimer; extern FadeTransition D_800DD3F4; extern FadeTransition D_800DD408; // Unused? diff --git a/src/game_ui.c b/src/game_ui.c index c6c68ee9..3309113d 100644 --- a/src/game_ui.c +++ b/src/game_ui.c @@ -118,9 +118,9 @@ unk800E2770 D_800E2770[2] = { { 0, 0xFF, 0, 0, 0, 0, 0 }, }; -s8 D_800E2790 = 1; +u8 D_800E2790 = 1; -s8 D_800E2794[16] = { +u8 D_800E2794[16] = { 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; @@ -136,7 +136,7 @@ s8 D_800E27AC[12] = { 40, 40, -1, -2, }; -s32 D_800E27B8 = 0; +u8 D_800E27B8 = 0; u8 D_800E27BC[120] = { 0xFF, 0xA0, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x80, @@ -184,7 +184,7 @@ s32 D_80126CEC; s32 D_80126CF0; s32 D_80126CF4; s32 D_80126CF8; -Gfx *D_80126CFC; +Gfx *gHUDCurrDisplayList; u32 D_80126D00; u32 D_80126D04; s32 D_80126D08; @@ -202,7 +202,7 @@ u8 D_80126D34; u8 D_80126D35; u8 D_80126D36; u8 D_80126D37; -s32 D_80126D38; +u8 D_80126D38; s32 D_80126D3C; s32 D_80126D40; s32 D_80126D44; @@ -273,8 +273,8 @@ void func_800A0DC0(s32 arg0, Object *arg1, s32 arg2) { Object_Racer *temp = &arg1->unk64->racer; func_80068508(1); - func_800A0EB4(temp, arg2); - func_800A5A64(temp, arg2); + render_course_indicator_arrows(temp, arg2); + render_wrong_way_text(temp, arg2); func_800A3CE4(arg0, arg2); if (D_80126D60->unk4C == 0) { @@ -282,7 +282,7 @@ void func_800A0DC0(s32 arg0, Object *arg1, s32 arg2) { } func_800A4154(temp, arg2); - func_800A7B68(temp, arg2); + render_race_time(temp, arg2); func_800A4C44(temp, arg2); func_800A3884(arg1, arg2); @@ -294,7 +294,102 @@ void func_800A0DC0(s32 arg0, Object *arg1, s32 arg2) { func_80068508(0); } -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A0EB4.s") +/** + * Render the onscreen course arrows that show the player where to go. +*/ +void render_course_indicator_arrows(Object_64 *racer, s32 updateRate) { + s32 timer; + s32 type; + IndicatorArrow *indicator; + + if (D_800E2790) { + timer = racer->racer.indicator_timer; + if (timer > 0) { + type = racer->racer.indicator_type; + racer->racer.indicator_timer = timer - updateRate; + if (type) { + indicator = &D_80126CDC->courseIndicator; + switch (type) { + case INDICATOR_LEFT: + indicator->textureID = ASSET_TEX2D_33; + indicator->unk0 = 0; + break; + case INDICATOR_LEFT_SHARP: + indicator->textureID = ASSET_TEX2D_32; + indicator->unk0 = 0; + break; + case INDICATOR_LEFT_UTURN: + indicator->textureID = ASSET_TEX2D_31; + indicator->unk0 = 0; + break; + case INDICATOR_RIGHT: + indicator->textureID = ASSET_TEX2D_33; + indicator->unk0 = -0x8000; + break; + case INDICATOR_RIGHT_SHARP: + indicator->textureID = ASSET_TEX2D_32; + indicator->unk0 = -0x8000; + break; + case INDICATOR_RIGHT_UTURN: + indicator->textureID = ASSET_TEX2D_31; + indicator->unk0 = -0x8000; + break; + case INDICATOR_UP: + indicator->textureID = ASSET_TEX2D_30; + indicator->unk0 = -0x8000; + indicator->unk2 = -0x8000; + break; + case INDICATOR_DOWN: + indicator->textureID = ASSET_TEX2D_30; + indicator->unk0 = 0; + break; + default: // INDICATOR_EXCLAMATION + indicator->textureID = ASSET_TEX2D_29; + indicator->unk0 = 0; + break; + } + // Flip the arrow direction on adventure 2. + if ((get_filtered_cheats() & CHEAT_MIRRORED_TRACKS) && ((s32) racer->racer.indicator_type < ASSET_TEX2D_30)) { + indicator->unk0 = (s16) (0x8000 - indicator->unk0); + } + if ((D_80126D0C == 0) && (racer->racer.raceStatus == STATUS_RACING) && (racer->racer.indicator_type) && (D_800E27B8 == 0)) { + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 160); + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, indicator); + indicator->unkC = -indicator->unkC; + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, indicator); + indicator->unkC = -indicator->unkC; + indicator->unk2 = 0; + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255); + } + } + } else { + racer->racer.indicator_timer = 0; + } + if (D_800E27B8) { + if (D_800E27B8 & 0x20) { + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 160); + indicator = (IndicatorArrow *) &D_80126CDC->courseIndicator; + indicator->unk0 = 0; + indicator->unk2 = 0; + indicator->textureID = ASSET_TEX2D_29; + if ((get_filtered_cheats() & CHEAT_MIRRORED_TRACKS) && ((s32) racer->racer.indicator_type < ASSET_TEX2D_30)) { + indicator->unk0 = (s16) (0x8000 - indicator->unk0); + } + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, indicator); + indicator->unkC = (f32) -indicator->unkC; + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, indicator); + indicator->unkC = (f32) -indicator->unkC; + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255); + } + if (updateRate < D_800E27B8) { + D_800E27B8 -= updateRate; + return; + } + D_800E27B8 = 0; + } + } +} + GLOBAL_ASM("asm/non_matchings/game_ui/func_800A1248.s") void func_800A1428(s32 arg0, Object *arg1, s32 arg2) { @@ -326,9 +421,9 @@ void func_800A258C(s32 arg0, Object *arg1, s32 arg2) { Object_64 *temp = arg1->unk64; func_80068508(1); - func_800A5A64(temp, arg2); + render_wrong_way_text(temp, arg2); func_800A3CE4(arg0, arg2); - func_800A7B68(temp, arg2); + render_race_time(temp, arg2); func_800A7520(arg1, arg2); level = get_current_level_header(); @@ -345,10 +440,10 @@ void func_800A263C(s32 arg0, Object *arg1, s32 arg2) { Object_64 *temp = arg1->unk64; func_80068508(1); - func_800A5A64(temp, arg2); + render_wrong_way_text(temp, arg2); func_800A4F50(temp, arg2); func_800A4C44(temp, arg2); - func_800A7B68(temp, arg2); + render_race_time(temp, arg2); func_800A3CE4(arg0, arg2); func_800A3884(arg1, arg2); func_80068508(0); @@ -366,7 +461,7 @@ void func_800A26C8(Object *obj, s32 arg1) { if (is_in_two_player_adventure()) { temp_a3 = &D_80126CDC[1]; temp_a3->unk6 = (get_settings()->racers[1].character + 0x38); - func_800AA600(&D_80126CFC, &D_80126D00, &D_80126D04, temp_a3); + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, temp_a3); } func_80068508(0); } @@ -388,7 +483,97 @@ GLOBAL_ASM("asm/non_matchings/game_ui/func_800A497C.s") UNUSED void func_800A4C34(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {} GLOBAL_ASM("asm/non_matchings/game_ui/func_800A4C44.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A4F50.s") -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A5A64.s") + +/** + * Players going the wrong way will be nagged by T.T to turn around. + * This function plays the audio, and makes the text fly in. +*/ +void render_wrong_way_text(Object_64* obj, s32 updateRate) { + f32 temp_f0; + f32 temp_f0_2; + f32 temp_f2; + f32 temp_f2_2; + s8 temp_v1; + s8 temp_v1_2; + u8 var_t9; + + if (D_80126D0C == 1) { + func_8007BF1C(1); + } + if (obj->racer.unk1FC > 120 && (D_80126D0C || D_80126CDC->unk46C == D_80126CDC->unk47A[2]) && !is_game_paused()) { + if ((D_80126D38 || D_80126D6C == 0) && D_80126D40 == 0) { + if (D_80126D38 || (get_random_number_from_range(1, 10) >= 8)) { + D_80126D38 = 0; + play_sound_global(SOUND_VOICE_TT_WRONG_WAY, &D_80126D40); + D_80126D6C = get_random_number_from_range(1, 480) + 120; + } else { + D_80126D38 = 1; + play_sound_global(SOUND_VOICE_TT_NONONO, &D_80126D40); + } + } + D_80126D6C -= updateRate; + if (D_80126D6C < 0) { + D_80126D6C = 0; + } + } + if (D_80126CDC->unk47A[0]) { + if (D_80126CDC->unk47A[0] == 1) { + if (D_80126CDC->unk47A[1] == 1) { + temp_f0 = updateRate * 13; + D_80126CDC->unk46C = D_80126CDC->unk46C + temp_f0; + temp_f2 = D_80126CDC->unk47A[2]; + if (temp_f2 < D_80126CDC->unk46C) { + D_80126CDC->unk46C = temp_f2; + } + D_80126CDC->unk48C = (f32) (D_80126CDC->unk48C - temp_f0); + temp_f2_2 = D_80126CDC->unk49C; + if (D_80126CDC->unk48C < temp_f2_2) { + D_80126CDC->unk48C = temp_f2_2; + } + if (obj->racer.unk1FC <= 90) { + D_80126CDC->unk47A[1] = -1; + play_sound_global(SOUND_WHOOSH1, NULL); + } + } else if (D_80126CDC->unk47A[1] == -1) { + temp_f0_2 = (f32) (updateRate * 13); + D_80126CDC->unk46C -= temp_f0_2; + D_80126CDC->unk48C += temp_f0_2; + if (D_80126CDC->unk46C < -200.0f) { + D_80126CDC->unk47A[0] = 0; + } + } + if (!is_game_paused()) { + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 160); + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, (unk80126CDC* ) &D_80126CDC->unk454[0xC]); + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, (unk80126CDC* ) &D_80126CDC->unk454[0x2C]); + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255); + } + } + } else if (obj->racer.unk1FC > 120) { + D_80126CDC->unk47A[0] = 1; + D_80126CDC->unk47A[1] = 1; + D_80126CDC->unk47A[2] = -31; + D_80126CDC->unk49C = 52; + D_80126CDC->unk47A[3] = 0; + if (D_80126D0C == 1) { + D_80126CDC->unk47A[2] = -21; + D_80126CDC->unk49C = 42; + } else if (D_80126D0C >= 2) { + if (obj->racer.playerIndex == PLAYER_ONE || obj->racer.playerIndex == PLAYER_THREE) { + D_80126CDC->unk47A[2] = -100; + D_80126CDC->unk49C = -55; + } else { + D_80126CDC->unk47A[2] = 59; + D_80126CDC->unk49C = 104; + } + } + D_80126CDC->unk48C = D_80126CDC->unk49C + 200; + D_80126CDC->unk46C = D_80126CDC->unk49C - 200; + play_sound_global(0x16U, NULL); + } + func_8007BF1C(0); +} + GLOBAL_ASM("asm/non_matchings/game_ui/func_800A5F18.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A6254.s") @@ -429,7 +614,81 @@ void func_800A74EC(u16 arg0, s32 arg1) { GLOBAL_ASM("asm/non_matchings/game_ui/func_800A7520.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A7A60.s") -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A7B68.s") + +/** + * Render the lap time on the top right. + * When the player begins a new lap, start flashing the previous lap time below instead. +*/ +void render_race_time(Object_64* obj, s32 updateRate) { + s32 i; + s32 stopwatchTimer; + s32 minutes; + s32 seconds; + s32 hundredths; + s32 countingDown; + s32 timerHideCounter; + + if (!(D_80126D0C && D_800E2794[(D_80126D0C * 4) + obj->racer.playerIndex] != 1) || (D_80126D0C > 0 && obj->racer.lapCount > 0 && obj->racer.lap_times[obj->racer.lapCount] < 180)) { + if (obj->racer.raceStatus == STATUS_RACING) { + timerHideCounter = D_80126CDC->unk15A + 127; + if (obj->racer.lapCount > 0 && obj->racer.lap_times[obj->racer.lapCount] < 180 && obj->racer.lapCount < D_80126D60->numLaps) { + stopwatchTimer = obj->racer.lap_times[obj->racer.lapCount - 1]; + countingDown = TRUE; + if (timerHideCounter == 0) { + timerHideCounter = 180; + } + } else { + stopwatchTimer = 0; + for (i = 0; obj->racer.unk194 >= i && i < D_80126D60->numLaps; i++) { + stopwatchTimer += obj->racer.lap_times[i]; + } + countingDown = stopwatchTimer == 0 || obj->racer.raceStatus != STATUS_RACING || is_game_paused(); + D_80126CDC->unk15A = -127; + timerHideCounter = 0; + } + if (D_80126D0C == 0) { + func_800AA600(&gHUDCurrDisplayList, &D_80126D00, &D_80126D04, (unk80126CDC* ) &D_80126CDC->unk140); + } + if (normalise_time(36000) < stopwatchTimer) { + stopwatchTimer = normalise_time(36000); + } + get_timestamp_from_frames(stopwatchTimer, &minutes, &seconds, &hundredths); + if (countingDown || (normalise_time(36000) == stopwatchTimer)) { + if((timerHideCounter > updateRate)) { + timerHideCounter -= updateRate; + } else { + timerHideCounter = 0; + } + D_80126CDC->unk15A = timerHideCounter - 127; + if ((timerHideCounter % 30) > 20) { + D_80126D36 = TRUE; + return; + } else { + if (D_80126D36) { + if (D_80126D0C == 0) { + play_sound_global(SOUND_HUD_LAP_TICK, NULL); + } + D_80126D36 = 0; + } + } + } else { + hundredths = D_80126CDC->unk15B + ((hundredths / 10) * 10); + D_80126CDC->unk15B = D_80126CDC->unk15B + 1; + if (D_80126CDC->unk15B >= 10) { + D_80126CDC->unk15B = 0; + } + } + + if (D_80126D37 == 1) { + func_800A7FBC(D_80126CDC->unk16C, D_80126CDC->unk170, minutes, seconds, hundredths, 0); + } else { + func_800A7FBC(D_80126CDC->unk16C, D_80126CDC->unk170, minutes, seconds, hundredths, 1); + } + gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255); + } + } +} + GLOBAL_ASM("asm/non_matchings/game_ui/func_800A7FBC.s") void func_800A83B4(LevelModel *model) { diff --git a/src/game_ui.h b/src/game_ui.h index c803c9a6..d505d1bf 100644 --- a/src/game_ui.h +++ b/src/game_ui.h @@ -5,10 +5,83 @@ #include "structs.h" #include "libultra_internal.h" +enum CourseIndicatorArrows { + INDICATOR_NONE, + INDICATOR_LEFT, + INDICATOR_LEFT_SHARP, + INDICATOR_LEFT_UTURN, + INDICATOR_RIGHT, + INDICATOR_RIGHT_SHARP, + INDICATOR_RIGHT_UTURN, + INDICATOR_UP, + INDICATOR_DOWN, + INDICATOR_EXCLAMATION, +}; + typedef struct { + s16 unk0; + s16 unk2; + s16 unk4; + s16 textureID; + s16 unk8; + s16 unkA; + f32 unkC; +} IndicatorArrow; + +typedef struct unk80126CDC { u8 unk0[0x6]; s16 unk6; - u8 unk8[0x4BC]; + u8 unk8[0x58]; + struct unk80126CDC *unk60; // Not sure if this is correct. + s8 unk64[4]; + u8 unk68[0xD8]; + u8 unk140; + u8 unk141; + u8 unk142[0x18]; + s8 unk15A; + s8 unk15B; + u8 pad[0x10]; + f32 unk16C; + f32 unk170; + u8 unk174[0x8C]; + struct unk80126CDC *unk200; // Not sure if this is correct. + u8 unk204[0x14]; + s16 unk218; + s16 unk21A; + u8 unk21C[0xD0]; + f32 unk2EC; + f32 unk2F0; + u8 unk2F4[0x1C]; + f32 unk310; + u8 unk314[0x1C]; + f32 unk330; + s32 unk334; + s16 unk338; + s16 unk33A; + s32 unk33C; + s16 unk340; + s16 unk342; + u8 unk344[0xC]; + f32 unk350; + u8 unk354[0xCC]; + struct IndicatorArrow *courseIndicator; + u8 unk424[0x1C]; + s16 unk440; + s16 unk442; + s16 unk444; + u8 unk446[0xA]; + f32 unk450; + s8 unk454[4]; + u8 unk458[0x14]; + f32 unk46C; + u8 unk470[0xA]; + s8 unk47A[4]; + u8 unk47E[0xC]; + f32 unk48C; + u8 unk490[0xC]; + s8 unk49C; + s8 unk49D; + s8 unk49E[0x25]; u16 unk4C4; u8 unk4C6[0x1B4]; s8 unk67A; @@ -17,7 +90,8 @@ typedef struct { } unk80126CDC; typedef struct { - u8 unk0[0x4C]; + u8 unk0[0x4B]; + s8 numLaps; s8 unk4C; } unk80126D60; @@ -44,7 +118,7 @@ typedef struct unk800E2770 { } unk800E2770; extern unk80126CDC *D_80126CDC; -extern Gfx *D_80126CFC; +extern Gfx *gHUDCurrDisplayList; extern u32 D_80126D00; extern u32 D_80126D04; extern u8 D_80126D37; @@ -72,11 +146,11 @@ void func_800AB1D4(u8 arg0); void func_800A14F0(Object *, s32); void func_800A3CE4(s32, s32); void func_800A7520(Object *, s32); -void func_800A0EB4(Object_64 *arg0, s32 arg1); -void func_800A5A64(Object_64 *arg0, s32 arg1); +void render_course_indicator_arrows(Object_64 *arg0, s32 arg1); +void render_wrong_way_text(Object_64 *arg0, s32 arg1); void func_800A4F50(Object_64 *arg0, s32 arg1); void func_800A4154(Object_64 *arg0, s32 arg1); -void func_800A7B68(Object_64 *arg0, s32 arg1); +void render_race_time(Object_64 *arg0, s32 arg1); void func_800A4C44(Object_64 *arg0, s32 arg1); void func_800A3884(Object *arg0, s32 arg1); void func_800A47A0(Object_64 *arg0, s32 arg1); @@ -85,5 +159,6 @@ void func_800AA600(Gfx **arg0, u32 *arg1, u32 *arg2, unk80126CDC *arg3); void func_8009ECF0(s32 viewPortCount); void func_800A003C(void); void func_800A8474(Gfx **gfx, Mtx **mtx, VertexList **vtx, s32 updateRate); +void func_800A7FBC(s32, s32, s32 minutes, s32 seconds, s32 hundredths, s32); #endif diff --git a/src/menu.c b/src/menu.c index eb0d3277..74290174 100644 --- a/src/menu.c +++ b/src/menu.c @@ -711,8 +711,12 @@ ButtonElement gFileSelectButtons[3] = { { 208, 81, 88, 64, 4, 4, GPACK_RGBA5551(64, 16, 0, 0), GPACK_RGBA5551(255, 255, 0, 0) }, // File C }; -s16 D_800E03FC[10] = { - 0x002C, 0x0036, 0x0015, 0x0019, 0x002C, 0x001B, 0x003F, 0x0019, 0x002D, 0x0019 +s16 gFileSelectElementPos[10] = { + 44, 54, // game name + 21, 25, // Balloon icon + 44, 27, // New Text + 63, 25, // Balloon count + 45, 25 // Balloon count x }; // Either 0 (2 racers), 1 (4 racers), or 2 (6 racers) @@ -4978,22 +4982,22 @@ void render_file_select_menu(UNUSED s32 updateRate) { if (gSavefileInfo[i].isAdventure2 != 0) { s2 = 0xC; } - render_menu_image(s2, D_800E03FC[2] + gFileSelectButtons[i].x, D_800E03FC[3] + gFileSelectButtons[i].y, 0, 0, 0, 128); + render_menu_image(s2, gFileSelectElementPos[2] + gFileSelectButtons[i].x, gFileSelectElementPos[3] + gFileSelectButtons[i].y, 0, 0, 0, 128); func_80068508(1); gMenuImageStack->unk18 = gSavefileInfo[i].balloonCount / s5; - render_menu_image(0, (D_800E03FC[6] + gFileSelectButtons[i].x) - 6, D_800E03FC[7] + gFileSelectButtons[i].y, 0, 0, 0, 128); + render_menu_image(0, (gFileSelectElementPos[6] + gFileSelectButtons[i].x) - 6, gFileSelectElementPos[7] + gFileSelectButtons[i].y, 0, 0, 0, 128); gMenuImageStack->unk18 = gSavefileInfo[i].balloonCount % s5; - render_menu_image(0, D_800E03FC[6] + gFileSelectButtons[i].x + 6, D_800E03FC[7] + gFileSelectButtons[i].y, 0, 0, 0, 128); + render_menu_image(0, gFileSelectElementPos[6] + gFileSelectButtons[i].x + 6, gFileSelectElementPos[7] + gFileSelectButtons[i].y, 0, 0, 0, 128); func_80068508(0); sMenuGuiColourG = 64; sMenuGuiColourB = 64; - render_menu_image(s5, D_800E03FC[8] + gFileSelectButtons[i].x, D_800E03FC[9] + gFileSelectButtons[i].y, 0, 0, 0, 128); + render_menu_image(s5, gFileSelectElementPos[8] + gFileSelectButtons[i].x, gFileSelectElementPos[9] + gFileSelectButtons[i].y, 0, 0, 0, 128); sMenuGuiColourG = 255; sMenuGuiColourB = 255; func_8007BF1C(1); } else { set_text_colour(255, 255, 255, 64, 255); - draw_text(&sMenuCurrDisplayList, D_800E03FC[4] + gFileSelectButtons[i].x, D_800E03FC[5] + gFileSelectButtons[i].y + y, gMenuText[ASSET_MENU_TEXT_NEW], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, gFileSelectElementPos[4] + gFileSelectButtons[i].x, gFileSelectElementPos[5] + gFileSelectButtons[i].y + y, gMenuText[ASSET_MENU_TEXT_NEW], ALIGN_MIDDLE_CENTER); } } } @@ -5028,7 +5032,7 @@ void render_file_select_menu(UNUSED s32 updateRate) { trim_filename_string(gFilenames[i], tempName); } if (tempName != NULL) { - draw_text(&sMenuCurrDisplayList, D_800E03FC[0] + gFileSelectButtons[i].x, D_800E03FC[1] + gFileSelectButtons[i].y + y, tempName, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, gFileSelectElementPos[0] + gFileSelectButtons[i].x, gFileSelectElementPos[1] + gFileSelectButtons[i].y + y, tempName, ALIGN_MIDDLE_CENTER); } } } @@ -5417,8 +5421,8 @@ s32 menu_file_select_loop(s32 updateRate) { if (osTvType == TV_TYPE_PAL) { i = 12; } - func_80097874(i + 187, gFileSelectButtons[gSaveFileIndex].x + D_800E03FC[0], - gFileSelectButtons[gSaveFileIndex].y + D_800E03FC[1] + i, 0, &D_800E0FB0, gSavefileInfo[gSaveFileIndex].name, 3); + func_80097874(i + 187, gFileSelectButtons[gSaveFileIndex].x + gFileSelectElementPos[0], + gFileSelectButtons[gSaveFileIndex].y + gFileSelectElementPos[1] + i, 0, &D_800E0FB0, gSavefileInfo[gSaveFileIndex].name, 3); currentMenuDelay = 0; } } @@ -7423,8 +7427,8 @@ void func_8009BD5C(void) { f32 sp1C; f32 sp18; - func_8006652C(0); - func_800665E8(0); + set_active_viewports_and_object_stack_cap(0); + set_object_stack_pos(0); temp_v0 = (unk80069D20 *)func_80069D20(); diff --git a/src/menu.h b/src/menu.h index f91eca0f..b1c98597 100644 --- a/src/menu.h +++ b/src/menu.h @@ -421,7 +421,7 @@ extern s16 D_800E03A4[6]; extern ButtonElement gFileSelectButtons[3]; -extern s16 D_800E03FC[10]; +extern s16 gFileSelectElementPos[10]; extern s32 gMultiplayerSelectedNumberOfRacers; extern s32 D_800E0414; diff --git a/src/object_functions.c b/src/object_functions.c index 5635d37e..49edc9f2 100644 --- a/src/object_functions.c +++ b/src/object_functions.c @@ -1304,7 +1304,7 @@ void obj_loop_animcamera(Object *obj, s32 speed) { phi_v1 = 1; } if (phi_v1) { - func_80066488(obj64->unk30, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 0x8000 - obj->segment.trans.y_rotation, -obj->segment.trans.x_rotation, obj->segment.trans.z_rotation); + write_to_object_render_stack(obj64->unk30, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 0x8000 - obj->segment.trans.y_rotation, -obj->segment.trans.x_rotation, obj->segment.trans.z_rotation); } } } diff --git a/src/objects.c b/src/objects.c index 61cdf3e3..e4c3d587 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1755,7 +1755,7 @@ void func_800228EC(s32 arg0) { object_64 = &get_object_struct(0)->unk64->racer; object_64->unk190 = 0; object_64->unk192 = 0; - object_64->unk193 = 0; + object_64->lapCount = 0; object_64->unk1BA = 0; func_80017E74(arg0); func_8006F388(10); diff --git a/src/objects.h b/src/objects.h index 16009d2f..4c8a4fbe 100644 --- a/src/objects.h +++ b/src/objects.h @@ -135,7 +135,7 @@ enum ObjectBehaviours { BHV_UNK_7C, BHV_UNK_7D, BHV_UNK_7E, - BHV_UNK_7F, + BHV_UNK_7F }; /* Size: 0x8 bytes */ diff --git a/src/racer.c b/src/racer.c index 20ef222e..9b2be895 100644 --- a/src/racer.c +++ b/src/racer.c @@ -360,7 +360,7 @@ void func_80045128(struct TempStruct2 *header) { for (i = 0; i < 4; i++) { obj = (Object_Racer *) header->unk0[i]->unk64; - D_8011D588[i] = obj->unk193; + D_8011D588[i] = obj->lapCount; if (obj->unk1CF != 0) { D_8011D588[i] |= 0x40; } @@ -1075,7 +1075,7 @@ void obj_init_racer(Object *obj, LevelObjectEntry_CharacterFlag *racer) { tempRacer->unk220 = 0; tempRacer->unk21C = 0; if (tempRacer->playerIndex != -1 && !D_8011D582) { - func_800665E8(player); + set_object_stack_pos(player); gCameraObject = func_80069CFC(); gCameraObject->trans.z_rotation = 0; gCameraObject->trans.x_rotation = 0x400; @@ -1271,7 +1271,7 @@ void update_player_racer(Object* obj, s32 updateRate) { tempRacer->unk1B2 = 0; } } - func_800665E8(tempRacer->playerIndex); + set_object_stack_pos(tempRacer->playerIndex); gCameraObject = (ObjectCamera *) func_80069CFC(); tempRacer->unk1E7++; gCurrentPlayerIndex = tempRacer->playerIndex; @@ -1309,7 +1309,7 @@ void update_player_racer(Object* obj, s32 updateRate) { if ((gCurrentRacerInput & A_BUTTON) == 0) { tempRacer->throttleReleased = 1; } - if (func_80066510() || gRaceStartTimer == 100 || tempRacer->unk1F1 || D_8011D584 || tempRacer->unk148 || tempRacer->unk204 > 0) { + if (check_if_showing_cutscene_camera() || gRaceStartTimer == 100 || tempRacer->unk1F1 || D_8011D584 || tempRacer->unk148 || tempRacer->unk204 > 0) { gCurrentStickX = 0; gCurrentStickY = 0; gCurrentRacerInput = 0; @@ -1464,7 +1464,7 @@ void update_player_racer(Object* obj, s32 updateRate) { tempRacer->unk1C8 = 1; } if (temp_v0_16->unk36[tempRacer->unk1CA] == 6) { - tempRacer->unk193 = header->laps + 1; + tempRacer->lapCount = header->laps + 1; } if (tempVar == 0) { if (tempRacer->playerIndex == PLAYER_COMPUTER && temp_v0_16->unk36[tempRacer->unk1CA] == 2) { @@ -1475,11 +1475,11 @@ void update_player_racer(Object* obj, s32 updateRate) { if (tempRacer->unk192 >= temp_v0_17) { tempRacer->unk192 = 0; if (tempRacer->unk190 > 0) { - if (tempRacer->unk193 < 120) { - tempRacer->unk193++; + if (tempRacer->lapCount < 120) { + tempRacer->lapCount++; } } - if (tempRacer->playerIndex != PLAYER_COMPUTER && tempRacer->unk193 + 1 == header->laps + if (tempRacer->playerIndex != PLAYER_COMPUTER && tempRacer->lapCount + 1 == header->laps && !D_8011D580 && get_current_level_race_type() == RACETYPE_DEFAULT) { func_800014BC(1.12f); D_8011D580 = 1; @@ -1648,8 +1648,8 @@ void update_player_racer(Object* obj, s32 updateRate) { } else { tempRacer->unk212 = 0; } - if (tempRacer->unk194 < tempRacer->unk193) { - tempRacer->unk194 = tempRacer->unk193; + if (tempRacer->unk194 < tempRacer->lapCount) { + tempRacer->unk194 = tempRacer->lapCount; } } } @@ -3614,7 +3614,7 @@ void racer_enter_door(Object_Racer* racer, s32 updateRate) { } } if ((racer->transitionTimer < -1 && gCurrentStickX < 10 && gCurrentStickX > -10) || racer->transitionTimer == -1) { - if (func_80066510() == 0) { + if (check_if_showing_cutscene_camera() == 0) { func_800C01D8((FadeTransition* ) D_800DCDD4); } racer->transitionTimer = 60 - updateRate; @@ -3811,7 +3811,7 @@ void func_8005A6F0(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR } } if (temp_v0_9->unk36[racer->unk1CA] == 6) { - racer->unk193 = levelHeader->laps + 1; + racer->lapCount = levelHeader->laps + 1; } if (temp_v0_9->unk36[racer->unk1CA] == 4) { if (racer->velocity < -4.0) { @@ -3827,8 +3827,8 @@ void func_8005A6F0(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR if (racer->unk192 >= temp_v0_10) { racer->unk192 = 0; if (racer->unk190 > 0) { - if (racer->unk193 < 120) { - racer->unk193++; + if (racer->lapCount < 120) { + racer->lapCount++; } } } @@ -4093,9 +4093,9 @@ void func_8005B818(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR if (racer->unk192 >= sp11C) { racer->unk192 = 0; if (racer->unk190 > 0) { - temp_v0_3 = racer->unk193; + temp_v0_3 = racer->lapCount; if (temp_v0_3 < 0x78) { - racer->unk193 = temp_v0_3 + 1; + racer->lapCount = temp_v0_3 + 1; } } } @@ -4186,8 +4186,8 @@ void func_8005C270(Object_Racer *racer) { racer->unk192--; if (racer->unk192 < 0) { racer->unk192 += temp; - if (racer->unk193 > 0) { - racer->unk193--; + if (racer->lapCount > 0) { + racer->lapCount--; } } diff --git a/src/unknown_003260.h b/src/unknown_003260.h index 358da5be..27414f56 100644 --- a/src/unknown_003260.h +++ b/src/unknown_003260.h @@ -125,6 +125,7 @@ void func_800049F8(void * sndState,s16 type, u32 arg2); u16 func_80004A3C(u8 arg0); ALDMAproc __amDmaNew(AMDMAState **state); void func_80004A60(u8 arg0, u16 arg1); +void func_80002DF8(s32 arg0); // Non Matching ALMicroTime _sndpVoiceHandler(void *node); diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index 1213f406..53476ccb 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -215,7 +215,7 @@ void func_800249F0(u32 arg0, u32 arg1, s32 arg2, u32 arg3, u32 arg4, u32 arg5, u if (D_8011D384) { func_800B82B4(gCurrentLevelModel, gCurrentLevelHeader2, tmp_a2); } - func_8006652C(arg2); + set_active_viewports_and_object_stack_cap(arg2); func_80027FC4(arg1); D_8011B110 = 0; D_8011B114 = 0x10000; @@ -230,7 +230,7 @@ void func_800249F0(u32 arg0, u32 arg1, s32 arg2, u32 arg3, u32 arg4, u32 arg5, u } else { func_800C01D8(&D_800DC874); } - func_8006652C(D_8011D37C); + set_active_viewports_and_object_stack_cap(D_8011D37C); D_8011B0FC = 0; i = 0; do { @@ -1220,8 +1220,8 @@ void obj_loop_fogchanger(Object* obj) { sp44 = obj->segment.unk3C_a.unk3C; phi_s3 = NULL; - // func_80066510() returns the bool D_80120D14. 1 if camera is controlled by cutscene, 0 if controlled by racer. - if (func_80066510()) { + // check_if_showing_cutscene_camera() returns the bool gCutsceneCameraActive. 1 if camera is controlled by cutscene, 0 if controlled by racer. + if (check_if_showing_cutscene_camera()) { phi_s3 = func_80069D7C(); sp74 = get_viewport_count() + 1; } else { diff --git a/src/unknown_078050.c b/src/unknown_078050.c index 42df9dba..d8350b05 100644 --- a/src/unknown_078050.c +++ b/src/unknown_078050.c @@ -404,16 +404,19 @@ void set_background_fill_colour(s32 red, s32 green, s32 blue) { sBackgroundFillColour |= (sBackgroundFillColour << 16); } -#ifdef NON_EQUIVALENT -// Stack issues -void render_background(Gfx **dlist, Mtx *arg1, s32 arg2) { +/** + * Clears the ZBuffer first, then decides how to draw the background which goes directly + * over the colour buffer. DrawBG if set to 0 (which never happens) will completely skip + * over clearing the colour buffer. +*/ +void render_background(Gfx **dlist, Mtx *mtx, s32 drawBG) { + s32 widthAndHeight; + s32 w; + s32 h; s32 x1; s32 y1; s32 x2; s32 y2; - s32 widthAndHeight; - s32 w, h; - s32 rgba16Color; widthAndHeight = get_video_width_and_height_as_s32(); w = GET_VIDEO_WIDTH(widthAndHeight); @@ -423,18 +426,18 @@ void render_background(Gfx **dlist, Mtx *arg1, s32 arg2) { gDPSetScissor((*dlist)++, 0, 0, 0, w - 1, h - 1); gDPSetCycleType((*dlist)++, G_CYC_FILL); gDPSetColorImage((*dlist)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, w, 0x02000000); - gDPSetFillColor((*dlist)++, GPACK_RGBA5551(255, 255, 255, 128) << 16 | GPACK_RGBA5551(255, 255, 255, 128)); + gDPSetFillColor((*dlist)++, GPACK_RGBA5551(255, 255, 240, 0) << 16 | GPACK_RGBA5551(255, 255, 240, 0)); gDPFillRectangle((*dlist)++, 0, 0, w - 1, h - 1); gDPPipeSync((*dlist)++); gDPSetColorImage((*dlist)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, w, 0x01000000); - if (arg2) { + if (drawBG) { if (func_80066910(0)) { if (D_800DE4CC) { func_800787FC(dlist); } else if (D_800DE4C4 != 0) { func_80078190(dlist); } else if (D_800DE4D0.ptr != NULL) { - D_800DE4D0.function(dlist, arg1); + D_800DE4D0.function((Gfx *) dlist, mtx); } else { gDPSetFillColor((*dlist)++, sBackgroundFillColour); gDPFillRectangle((*dlist)++, 0, 0, w - 1, h - 1); @@ -452,12 +455,9 @@ void render_background(Gfx **dlist, Mtx *arg1, s32 arg2) { } else if (D_800DE4C4 != 0) { func_80078190(dlist); } else if (D_800DE4D0.ptr != NULL) { - D_800DE4D0.function(dlist, arg1); + D_800DE4D0.function((Gfx *) dlist, mtx); } else { - //Also has an issue here. - rgba16Color = GPACK_RGBA5551(sBackgroundPrimColourR, sBackgroundPrimColourG, sBackgroundPrimColourB, 1); - rgba16Color |= rgba16Color << 16; - gDPSetFillColor((*dlist)++, rgba16Color); + gDPSetFillColor((*dlist)++, (GPACK_RGBA5551(sBackgroundPrimColourR, sBackgroundPrimColourG, sBackgroundPrimColourB, 1) << 16) | GPACK_RGBA5551(sBackgroundPrimColourR, sBackgroundPrimColourG, sBackgroundPrimColourB, 1)); gDPFillRectangle((*dlist)++, 0, 0, w - 1, h - 1); } } @@ -465,9 +465,6 @@ void render_background(Gfx **dlist, Mtx *arg1, s32 arg2) { gDPPipeSync((*dlist)++); func_80067A3C(dlist); } -#else -GLOBAL_ASM("asm/non_matchings/unknown_078050/render_background.s") -#endif /** * Gets the framebuffer width, then points to the start of segment 0x01 in memory. diff --git a/src/unknown_078050.h b/src/unknown_078050.h index 5354ee40..cb934db4 100644 --- a/src/unknown_078050.h +++ b/src/unknown_078050.h @@ -11,7 +11,7 @@ #include "video.h" typedef union { - void (*function)(Gfx*, s32); + void (*function)(Gfx*, Mtx *); void *ptr; } unk800DE4D0; @@ -67,9 +67,10 @@ s32 setup_ostask_xbus(Gfx* dlBegin, Gfx* dlEnd, s32 recvMesg); void setup_ostask_fifo(Gfx* dlBegin, Gfx* dlEnd, s32 recvMesg); void render_textured_rectangle(Gfx **dlist, DrawTexture *img, s32 xPos, s32 yPos, u8 red, u8 green, u8 blue, u8 alpha); void func_800787FC(Gfx** arg0); +void render_background(Gfx **dlist, Mtx *mtx, s32 drawBG); //Non Matching -void render_background(Gfx **dlist, Mtx *mtx, s32 arg2); void render_texture_rectangle_scaled(Gfx **dlist, DrawTexture *element, f32 x, f32 y, f32 x_scale, f32 y_scale, u32 color, s32 flip); +void func_80078190(Gfx **dlist); #endif diff --git a/src/video.c b/src/video.c index c81afd26..3bb03e7e 100644 --- a/src/video.c +++ b/src/video.c @@ -7,7 +7,7 @@ /************ .data ************/ u16 *gVideoDepthBuffer = NULL; -UNUSED s32 D_800DE774 = 0; // Currently unknown, might be a different type. +UNUSED s32 D_800DE774 = 0; UNUSED s8 D_800DE778 = 2; VideoModeResolution gVideoModeResolutions[] = { diff --git a/src/video.h b/src/video.h index 2f724a79..b72135e3 100644 --- a/src/video.h +++ b/src/video.h @@ -72,7 +72,7 @@ enum VideoModes { }; extern s32 gVideoRefreshRate; - +extern f32 gVideoAspectRatio; extern u16 *gVideoCurrFramebuffer; extern u16 *gVideoDepthBuffer;