From d223e246c7545a36f648fb47a15725023287d418 Mon Sep 17 00:00:00 2001 From: Random <28494085+Random06457@users.noreply.github.com> Date: Mon, 26 Jul 2021 00:34:25 +0200 Subject: [PATCH] db_camera (#842) * Decompile shrink_window.c * progress * progress * makefile * progress * match 8 functions * 1 more match * match 2 functions * decompile func_800B9638 * fix flow * migrate .bss * doc * name some stuff * fixes * comment fix * remove scene .c files * old z_camera .s files * revert z_camera change * revert unwanted z_camera change * fixes * remove unused files, run clang-format and fix non-matching * fix clang-format causing non-matching * remove newline + old comment in func_800B3BD4 * make db_camera global variables static * add s prefix to startic variables * change magic constants * rename "unk_50" * Match func_800B3BD4 and Match DbCamera_UpdateDemoControl (-bss) * Lots of progress on update * Mainly cleanup * run format.sh + remove unused asm * replace chevrons with add quotes * remove useless cast + use correct empty argument function declaration Co-authored-by: engineer124 --- .../{DbgCamera_Update.s => DbCamera_Update.s} | 337 +-- ...00B9638.s => DbCamera_UpdateDemoControl.s} | 482 ++-- .../code/db_camera/func_800B3BD4.s | 139 - .../code/db_camera/func_800B3DF8.s | 59 - .../code/db_camera/func_800B4088.s | 91 - .../code/db_camera/func_800B41DC.s | 61 - .../code/db_camera/func_800B42C0.s | 48 - .../code/db_camera/func_800B4370.s | 99 - .../code/db_camera/func_800B44E0.s | 509 ---- .../code/db_camera/func_800B4A68.s | 24 - .../code/db_camera/func_800B4AA8.s | 23 - .../code/db_camera/func_800B4AE4.s | 23 - .../code/db_camera/func_800B4B20.s | 254 -- .../code/db_camera/func_800B87D8.s | 142 - .../code/db_camera/func_800B8A0C.s | 112 - .../code/db_camera/func_800B8BB0.s | 167 -- .../code/db_camera/func_800B8DB0.s | 104 - .../code/db_camera/func_800B8F58.s | 69 - .../code/db_camera/func_800B91B0.s | 263 -- data/db_camera.bss.s | 109 - data/db_camera.data.s | 261 -- include/functions.h | 49 +- include/macros.h | 2 + include/variables.h | 29 +- spec | 2 - src/code/db_camera.c | 2504 +++++++++++++++-- src/code/z_camera.c | 6 +- 27 files changed, 2744 insertions(+), 3224 deletions(-) rename asm/non_matchings/code/db_camera/{DbgCamera_Update.s => DbCamera_Update.s} (94%) rename asm/non_matchings/code/db_camera/{func_800B9638.s => DbCamera_UpdateDemoControl.s} (83%) delete mode 100644 asm/non_matchings/code/db_camera/func_800B3BD4.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B3DF8.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4088.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B41DC.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B42C0.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4370.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B44E0.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4A68.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4AA8.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4AE4.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B4B20.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B87D8.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B8A0C.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B8BB0.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B8DB0.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B8F58.s delete mode 100644 asm/non_matchings/code/db_camera/func_800B91B0.s delete mode 100644 data/db_camera.bss.s delete mode 100644 data/db_camera.data.s diff --git a/asm/non_matchings/code/db_camera/DbgCamera_Update.s b/asm/non_matchings/code/db_camera/DbCamera_Update.s similarity index 94% rename from asm/non_matchings/code/db_camera/DbgCamera_Update.s rename to asm/non_matchings/code/db_camera/DbCamera_Update.s index 1d12430d35..0f6315a5b4 100644 --- a/asm/non_matchings/code/db_camera/DbgCamera_Update.s +++ b/asm/non_matchings/code/db_camera/DbCamera_Update.s @@ -26,8 +26,9 @@ glabel D_80143908 glabel D_8014392C .asciz "@@@\n@@@\n@@@/* *** spline point data ** finish! *** */\n@@@\n" .balign 4 - + .late_rodata + glabel D_80143C54 .float 0.15 @@ -122,7 +123,7 @@ glabel D_80143CCC .float 0.02 .text -glabel DbgCamera_Update +glabel DbCamera_Update /* B2C01C 800B4E7C 27BDFED8 */ addiu $sp, $sp, -0x128 /* B2C020 800B4E80 AFB60064 */ sw $s6, 0x64($sp) /* B2C024 800B4E84 248E0054 */ addiu $t6, $a0, 0x54 @@ -142,7 +143,7 @@ glabel DbgCamera_Update /* B2C05C 800B4EBC 24910060 */ addiu $s1, $a0, 0x60 /* B2C060 800B4EC0 ADD90000 */ sw $t9, ($t6) /* B2C064 800B4EC4 8ED80004 */ lw $t8, 4($s6) -/* B2C068 800B4EC8 3C0B8016 */ lui $t3, %hi(D_80161100) # $t3, 0x8016 +/* B2C068 800B4EC8 3C0B8016 */ lui $t3, %hi(sGlobalCtx) # $t3, 0x8016 /* B2C06C 800B4ECC 2401DFFF */ li $at, -8193 /* B2C070 800B4ED0 ADD80004 */ sw $t8, 4($t6) /* B2C074 800B4ED4 8ED90008 */ lw $t9, 8($s6) @@ -155,7 +156,7 @@ glabel DbgCamera_Update /* B2C090 800B4EF0 AE290004 */ sw $t1, 4($s1) /* B2C094 800B4EF4 8E8A0008 */ lw $t2, 8($s4) /* B2C098 800B4EF8 AE2A0008 */ sw $t2, 8($s1) -/* B2C09C 800B4EFC 8D6B1100 */ lw $t3, %lo(D_80161100)($t3) +/* B2C09C 800B4EFC 8D6B1100 */ lw $t3, %lo(sGlobalCtx)($t3) /* B2C0A0 800B4F00 956C0050 */ lhu $t4, 0x50($t3) /* B2C0A4 800B4F04 01816827 */ nor $t5, $t4, $at /* B2C0A8 800B4F08 55A0001E */ bnezl $t5, .L800B4F84 @@ -176,10 +177,10 @@ glabel DbgCamera_Update /* B2C0E4 800B4F44 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B2C0E8 800B4F48 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013 /* B2C0EC 800B4F4C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* B2C0F0 800B4F50 3C018016 */ lui $at, %hi(D_8016111A) # $at, 0x8016 +/* B2C0F0 800B4F50 3C018016 */ lui $at, %hi(sDbCamAnim+0xA) # $at, 0x8016 /* B2C0F4 800B4F54 256B33E8 */ addiu $t3, %lo(D_801333E8) # addiu $t3, $t3, 0x33e8 /* B2C0F8 800B4F58 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* B2C0FC 800B4F5C A420111A */ sh $zero, %lo(D_8016111A)($at) +/* B2C0FC 800B4F5C A420111A */ sh $zero, %lo(sDbCamAnim+0xA)($at) /* B2C100 800B4F60 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 /* B2C104 800B4F64 AFAB0014 */ sw $t3, 0x14($sp) /* B2C108 800B4F68 AFA70010 */ sw $a3, 0x10($sp) @@ -324,7 +325,7 @@ glabel DbgCamera_Update /* B2C2E8 800B5148 8FB00124 */ lw $s0, 0x124($sp) .L800B514C: /* B2C2EC 800B514C 02A02025 */ move $a0, $s5 -/* B2C2F0 800B5150 0C02E58E */ jal func_800B9638 +/* B2C2F0 800B5150 0C02E58E */ jal DbCamera_UpdateDemoControl /* B2C2F4 800B5154 02E02825 */ move $a1, $s7 /* B2C2F8 800B5158 10000D6A */ b .L800B8704 /* B2C2FC 800B515C 8FBF006C */ lw $ra, 0x6c($sp) @@ -396,10 +397,10 @@ glabel DbgCamera_Update .L800B524C: /* B2C3EC 800B524C 3C188016 */ lui $t8, %hi(D_80161140) # $t8, 0x8016 /* B2C3F0 800B5250 8F181140 */ lw $t8, %lo(D_80161140)($t8) -/* B2C3F4 800B5254 3C198016 */ lui $t9, %hi(D_80161100) # $t9, 0x8016 +/* B2C3F4 800B5254 3C198016 */ lui $t9, %hi(sGlobalCtx) # $t9, 0x8016 /* B2C3F8 800B5258 2401BFDF */ li $at, -16417 /* B2C3FC 800B525C AEB8003C */ sw $t8, 0x3c($s5) -/* B2C400 800B5260 8F391100 */ lw $t9, %lo(D_80161100)($t9) +/* B2C400 800B5260 8F391100 */ lw $t9, %lo(sGlobalCtx)($t9) /* B2C404 800B5264 97220044 */ lhu $v0, 0x44($t9) /* B2C408 800B5268 00414827 */ nor $t1, $v0, $at /* B2C40C 800B526C 55200017 */ bnezl $t1, .L800B52CC @@ -445,7 +446,7 @@ glabel DbgCamera_Update /* B2C4A0 800B5300 8FA4007C */ lw $a0, 0x7c($sp) /* B2C4A4 800B5304 87B9010A */ lh $t9, 0x10a($sp) /* B2C4A8 800B5308 00802825 */ move $a1, $a0 -/* B2C4AC 800B530C 0C02CED4 */ jal func_800B3B50 +/* B2C4AC 800B530C 0C02CED4 */ jal DbCamera_AddVecSph /* B2C4B0 800B5310 A7B90102 */ sh $t9, 0x102($sp) /* B2C4B4 800B5314 1000000B */ b .L800B5344 /* B2C4B8 800B5318 8EAD0040 */ lw $t5, 0x40($s5) @@ -457,7 +458,7 @@ glabel DbgCamera_Update /* B2C4CC 800B532C 256C8001 */ addiu $t4, $t3, -0x7fff /* B2C4D0 800B5330 A7AA0100 */ sh $t2, 0x100($sp) /* B2C4D4 800B5334 A7AC0102 */ sh $t4, 0x102($sp) -/* B2C4D8 800B5338 0C02CED4 */ jal func_800B3B50 +/* B2C4D8 800B5338 0C02CED4 */ jal DbCamera_AddVecSph /* B2C4DC 800B533C 00E02825 */ move $a1, $a3 /* B2C4E0 800B5340 8EAD0040 */ lw $t5, 0x40($s5) .L800B5344: @@ -521,7 +522,7 @@ glabel DbgCamera_Update /* B2C5B4 800B5414 8FA4007C */ lw $a0, 0x7c($sp) /* B2C5B8 800B5418 87AF010A */ lh $t7, 0x10a($sp) /* B2C5BC 800B541C 00802825 */ move $a1, $a0 -/* B2C5C0 800B5420 0C02CED4 */ jal func_800B3B50 +/* B2C5C0 800B5420 0C02CED4 */ jal DbCamera_AddVecSph /* B2C5C4 800B5424 A7AF0102 */ sh $t7, 0x102($sp) /* B2C5C8 800B5428 1000000B */ b .L800B5458 /* B2C5CC 800B542C 8EAB0040 */ lw $t3, 0x40($s5) @@ -533,7 +534,7 @@ glabel DbgCamera_Update /* B2C5E0 800B5440 252A8001 */ addiu $t2, $t1, -0x7fff /* B2C5E4 800B5444 A7B90100 */ sh $t9, 0x100($sp) /* B2C5E8 800B5448 A7AA0102 */ sh $t2, 0x102($sp) -/* B2C5EC 800B544C 0C02CED4 */ jal func_800B3B50 +/* B2C5EC 800B544C 0C02CED4 */ jal DbCamera_AddVecSph /* B2C5F0 800B5450 00E02825 */ move $a1, $a3 /* B2C5F4 800B5454 8EAB0040 */ lw $t3, 0x40($s5) .L800B5458: @@ -557,8 +558,8 @@ glabel DbgCamera_Update /* B2C634 800B5494 100001A3 */ b .L800B5B24 /* B2C638 800B5498 24120008 */ li $s2, 8 .L800B549C: -/* B2C63C 800B549C 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 -/* B2C640 800B54A0 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B2C63C 800B549C 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 +/* B2C640 800B54A0 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B2C644 800B54A4 2401FBDF */ li $at, -1057 /* B2C648 800B54A8 95E20044 */ lhu $v0, 0x44($t7) /* B2C64C 800B54AC 0041C027 */ nor $t8, $v0, $at @@ -579,7 +580,7 @@ glabel DbgCamera_Update /* B2C688 800B54E8 87AC010A */ lh $t4, 0x10a($sp) /* B2C68C 800B54EC 27A600FC */ addiu $a2, $sp, 0xfc /* B2C690 800B54F0 00802825 */ move $a1, $a0 -/* B2C694 800B54F4 0C02CED4 */ jal func_800B3B50 +/* B2C694 800B54F4 0C02CED4 */ jal DbCamera_AddVecSph /* B2C698 800B54F8 A7AC0102 */ sh $t4, 0x102($sp) /* B2C69C 800B54FC 10000009 */ b .L800B5524 /* B2C6A0 800B5500 8EB80040 */ lw $t8, 0x40($s5) @@ -589,7 +590,7 @@ glabel DbgCamera_Update /* B2C6AC 800B550C 27A600FC */ addiu $a2, $sp, 0xfc /* B2C6B0 800B5510 25AE8001 */ addiu $t6, $t5, -0x7fff /* B2C6B4 800B5514 A7AE0102 */ sh $t6, 0x102($sp) -/* B2C6B8 800B5518 0C02CED4 */ jal func_800B3B50 +/* B2C6B8 800B5518 0C02CED4 */ jal DbCamera_AddVecSph /* B2C6BC 800B551C 00A02025 */ move $a0, $a1 /* B2C6C0 800B5520 8EB80040 */ lw $t8, 0x40($s5) .L800B5524: @@ -628,7 +629,7 @@ glabel DbgCamera_Update /* B2C73C 800B559C 8FA5007C */ lw $a1, 0x7c($sp) /* B2C740 800B55A0 27A600FC */ addiu $a2, $sp, 0xfc /* B2C744 800B55A4 A7B80102 */ sh $t8, 0x102($sp) -/* B2C748 800B55A8 0C02CED4 */ jal func_800B3B50 +/* B2C748 800B55A8 0C02CED4 */ jal DbCamera_AddVecSph /* B2C74C 800B55AC 00A02025 */ move $a0, $a1 /* B2C750 800B55B0 10000009 */ b .L800B55D8 /* B2C754 800B55B4 8EAC0040 */ lw $t4, 0x40($s5) @@ -638,7 +639,7 @@ glabel DbgCamera_Update /* B2C760 800B55C0 27A600FC */ addiu $a2, $sp, 0xfc /* B2C764 800B55C4 252A8001 */ addiu $t2, $t1, -0x7fff /* B2C768 800B55C8 A7AA0102 */ sh $t2, 0x102($sp) -/* B2C76C 800B55CC 0C02CED4 */ jal func_800B3B50 +/* B2C76C 800B55CC 0C02CED4 */ jal DbCamera_AddVecSph /* B2C770 800B55D0 00A02025 */ move $a0, $a1 /* B2C774 800B55D4 8EAC0040 */ lw $t4, 0x40($s5) .L800B55D8: @@ -676,14 +677,14 @@ glabel DbgCamera_Update /* B2C7EC 800B564C A7AC0102 */ sh $t4, 0x102($sp) /* B2C7F0 800B5650 8FA5007C */ lw $a1, 0x7c($sp) /* B2C7F4 800B5654 27A600FC */ addiu $a2, $sp, 0xfc -/* B2C7F8 800B5658 0C02CED4 */ jal func_800B3B50 +/* B2C7F8 800B5658 0C02CED4 */ jal DbCamera_AddVecSph /* B2C7FC 800B565C 00A02025 */ move $a0, $a1 /* B2C800 800B5660 10000006 */ b .L800B567C /* B2C804 800B5664 8EB80040 */ lw $t8, 0x40($s5) .L800B5668: /* B2C808 800B5668 8FA50080 */ lw $a1, 0x80($sp) /* B2C80C 800B566C 27A600FC */ addiu $a2, $sp, 0xfc -/* B2C810 800B5670 0C02CED4 */ jal func_800B3B50 +/* B2C810 800B5670 0C02CED4 */ jal DbCamera_AddVecSph /* B2C814 800B5674 00A02025 */ move $a0, $a1 /* B2C818 800B5678 8EB80040 */ lw $t8, 0x40($s5) .L800B567C: @@ -721,14 +722,14 @@ glabel DbgCamera_Update /* B2C890 800B56F0 A7B80102 */ sh $t8, 0x102($sp) /* B2C894 800B56F4 8FA5007C */ lw $a1, 0x7c($sp) /* B2C898 800B56F8 27A600FC */ addiu $a2, $sp, 0xfc -/* B2C89C 800B56FC 0C02CED4 */ jal func_800B3B50 +/* B2C89C 800B56FC 0C02CED4 */ jal DbCamera_AddVecSph /* B2C8A0 800B5700 00A02025 */ move $a0, $a1 /* B2C8A4 800B5704 10000006 */ b .L800B5720 /* B2C8A8 800B5708 8EAB0040 */ lw $t3, 0x40($s5) .L800B570C: /* B2C8AC 800B570C 8FA50080 */ lw $a1, 0x80($sp) /* B2C8B0 800B5710 27A600FC */ addiu $a2, $sp, 0xfc -/* B2C8B4 800B5714 0C02CED4 */ jal func_800B3B50 +/* B2C8B4 800B5714 0C02CED4 */ jal DbCamera_AddVecSph /* B2C8B8 800B5718 00A02025 */ move $a0, $a1 /* B2C8BC 800B571C 8EAB0040 */ lw $t3, 0x40($s5) .L800B5720: @@ -771,7 +772,7 @@ glabel DbgCamera_Update /* B2C944 800B57A4 27A600FC */ addiu $a2, $sp, 0xfc /* B2C948 800B57A8 258D3FFF */ addiu $t5, $t4, 0x3fff /* B2C94C 800B57AC A7AD0102 */ sh $t5, 0x102($sp) -/* B2C950 800B57B0 0C02CED4 */ jal func_800B3B50 +/* B2C950 800B57B0 0C02CED4 */ jal DbCamera_AddVecSph /* B2C954 800B57B4 00A02025 */ move $a0, $a1 /* B2C958 800B57B8 10000009 */ b .L800B57E0 /* B2C95C 800B57BC 8EA90040 */ lw $t1, 0x40($s5) @@ -781,7 +782,7 @@ glabel DbgCamera_Update /* B2C968 800B57C8 27A600FC */ addiu $a2, $sp, 0xfc /* B2C96C 800B57CC 25F8C001 */ addiu $t8, $t7, -0x3fff /* B2C970 800B57D0 A7B80102 */ sh $t8, 0x102($sp) -/* B2C974 800B57D4 0C02CED4 */ jal func_800B3B50 +/* B2C974 800B57D4 0C02CED4 */ jal DbCamera_AddVecSph /* B2C978 800B57D8 00A02025 */ move $a0, $a1 /* B2C97C 800B57DC 8EA90040 */ lw $t1, 0x40($s5) .L800B57E0: @@ -824,7 +825,7 @@ glabel DbgCamera_Update /* B2CA04 800B5864 27A600FC */ addiu $a2, $sp, 0xfc /* B2CA08 800B5868 254BC001 */ addiu $t3, $t2, -0x3fff /* B2CA0C 800B586C A7AB0102 */ sh $t3, 0x102($sp) -/* B2CA10 800B5870 0C02CED4 */ jal func_800B3B50 +/* B2CA10 800B5870 0C02CED4 */ jal DbCamera_AddVecSph /* B2CA14 800B5874 00A02025 */ move $a0, $a1 /* B2CA18 800B5878 10000009 */ b .L800B58A0 /* B2CA1C 800B587C 8EB80040 */ lw $t8, 0x40($s5) @@ -834,7 +835,7 @@ glabel DbgCamera_Update /* B2CA28 800B5888 27A600FC */ addiu $a2, $sp, 0xfc /* B2CA2C 800B588C 25AE3FFF */ addiu $t6, $t5, 0x3fff /* B2CA30 800B5890 A7AE0102 */ sh $t6, 0x102($sp) -/* B2CA34 800B5894 0C02CED4 */ jal func_800B3B50 +/* B2CA34 800B5894 0C02CED4 */ jal DbCamera_AddVecSph /* B2CA38 800B5898 00A02025 */ move $a0, $a1 /* B2CA3C 800B589C 8EB80040 */ lw $t8, 0x40($s5) .L800B58A0: @@ -899,7 +900,7 @@ glabel DbgCamera_Update /* B2CB14 800B5974 8FA5007C */ lw $a1, 0x7c($sp) /* B2CB18 800B5978 27A600FC */ addiu $a2, $sp, 0xfc /* B2CB1C 800B597C A7AA0102 */ sh $t2, 0x102($sp) -/* B2CB20 800B5980 0C02CED4 */ jal func_800B3B50 +/* B2CB20 800B5980 0C02CED4 */ jal DbCamera_AddVecSph /* B2CB24 800B5984 00A02025 */ move $a0, $a1 /* B2CB28 800B5988 1000000C */ b .L800B59BC /* B2CB2C 800B598C 8EB90040 */ lw $t9, 0x40($s5) @@ -912,7 +913,7 @@ glabel DbgCamera_Update /* B2CB44 800B59A4 A7AD0100 */ sh $t5, 0x100($sp) /* B2CB48 800B59A8 A7AF0102 */ sh $t7, 0x102($sp) /* B2CB4C 800B59AC 27A600FC */ addiu $a2, $sp, 0xfc -/* B2CB50 800B59B0 0C02CED4 */ jal func_800B3B50 +/* B2CB50 800B59B0 0C02CED4 */ jal DbCamera_AddVecSph /* B2CB54 800B59B4 00A02025 */ move $a0, $a1 /* B2CB58 800B59B8 8EB90040 */ lw $t9, 0x40($s5) .L800B59BC: @@ -979,7 +980,7 @@ glabel DbgCamera_Update /* B2CC38 800B5A98 8FA5007C */ lw $a1, 0x7c($sp) /* B2CC3C 800B5A9C 27A600FC */ addiu $a2, $sp, 0xfc /* B2CC40 800B5AA0 A7AB0102 */ sh $t3, 0x102($sp) -/* B2CC44 800B5AA4 0C02CED4 */ jal func_800B3B50 +/* B2CC44 800B5AA4 0C02CED4 */ jal DbCamera_AddVecSph /* B2CC48 800B5AA8 00A02025 */ move $a0, $a1 /* B2CC4C 800B5AAC 1000000C */ b .L800B5AE0 /* B2CC50 800B5AB0 8EA90040 */ lw $t1, 0x40($s5) @@ -992,7 +993,7 @@ glabel DbgCamera_Update /* B2CC68 800B5AC8 A7AE0100 */ sh $t6, 0x100($sp) /* B2CC6C 800B5ACC A7B80102 */ sh $t8, 0x102($sp) /* B2CC70 800B5AD0 27A600FC */ addiu $a2, $sp, 0xfc -/* B2CC74 800B5AD4 0C02CED4 */ jal func_800B3B50 +/* B2CC74 800B5AD4 0C02CED4 */ jal DbCamera_AddVecSph /* B2CC78 800B5AD8 00A02025 */ move $a0, $a1 /* B2CC7C 800B5ADC 8EA90040 */ lw $t1, 0x40($s5) .L800B5AE0: @@ -1016,8 +1017,8 @@ glabel DbgCamera_Update /* B2CCBC 800B5B1C 8FA70080 */ lw $a3, 0x80($sp) /* B2CCC0 800B5B20 24120008 */ li $s2, 8 .L800B5B24: -/* B2CCC4 800B5B24 3C038016 */ lui $v1, %hi(D_80161100) -/* B2CCC8 800B5B28 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2CCC4 800B5B24 3C038016 */ lui $v1, %hi(sGlobalCtx) +/* B2CCC8 800B5B28 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2CCCC 800B5B2C 2405FFEF */ li $a1, -17 /* B2CCD0 800B5B30 94620044 */ lhu $v0, 0x44($v1) /* B2CCD4 800B5B34 00456827 */ nor $t5, $v0, $a1 @@ -1245,7 +1246,7 @@ glabel DbgCamera_Update /* B2D020 800B5E80 8FA5007C */ lw $a1, 0x7c($sp) /* B2D024 800B5E84 01D04821 */ addu $t1, $t6, $s0 /* B2D028 800B5E88 A7A9010A */ sh $t1, 0x10a($sp) -/* B2D02C 800B5E8C 0C02CED4 */ jal func_800B3B50 +/* B2D02C 800B5E8C 0C02CED4 */ jal DbCamera_AddVecSph /* B2D030 800B5E90 02203025 */ move $a2, $s1 /* B2D034 800B5E94 87B90108 */ lh $t9, 0x108($sp) /* B2D038 800B5E98 00195023 */ negu $t2, $t9 @@ -1339,7 +1340,7 @@ glabel DbgCamera_Update /* B2D184 800B5FE4 8FA50080 */ lw $a1, 0x80($sp) /* B2D188 800B5FE8 0190C021 */ addu $t8, $t4, $s0 /* B2D18C 800B5FEC A7B8010A */ sh $t8, 0x10a($sp) -/* B2D190 800B5FF0 0C02CED4 */ jal func_800B3B50 +/* B2D190 800B5FF0 0C02CED4 */ jal DbCamera_AddVecSph /* B2D194 800B5FF4 02203025 */ move $a2, $s1 /* B2D198 800B5FF8 87AE0108 */ lh $t6, 0x108($sp) /* B2D19C 800B5FFC A6AE10C6 */ sh $t6, 0x10c6($s5) @@ -1362,13 +1363,13 @@ glabel DbgCamera_Update /* B2D1DC 800B603C 44073000 */ mfc1 $a3, $f6 /* B2D1E0 800B6040 00000000 */ nop /* B2D1E4 800B6044 00073C00 */ sll $a3, $a3, 0x10 -/* B2D1E8 800B6048 0C02CEF5 */ jal func_800B3BD4 +/* B2D1E8 800B6048 0C02CEF5 */ jal DbCamera_CalcUpFromPitchYawRoll /* B2D1EC 800B604C 00073C03 */ sra $a3, $a3, 0x10 /* B2D1F0 800B6050 8EA20000 */ lw $v0, ($s5) /* B2D1F4 800B6054 24010001 */ li $at, 1 /* B2D1F8 800B6058 14410022 */ bne $v0, $at, .L800B60E4 -/* B2D1FC 800B605C 3C0A8016 */ lui $t2, %hi(D_80161100) # $t2, 0x8016 -/* B2D200 800B6060 8D4A1100 */ lw $t2, %lo(D_80161100)($t2) +/* B2D1FC 800B605C 3C0A8016 */ lui $t2, %hi(sGlobalCtx) # $t2, 0x8016 +/* B2D200 800B6060 8D4A1100 */ lw $t2, %lo(sGlobalCtx)($t2) /* B2D204 800B6064 2410FFFE */ li $s0, -2 /* B2D208 800B6068 954B0044 */ lhu $t3, 0x44($t2) /* B2D20C 800B606C 01706827 */ nor $t5, $t3, $s0 @@ -1398,7 +1399,7 @@ glabel DbgCamera_Update /* B2D26C 800B60CC 8E2A0000 */ lw $t2, ($s1) /* B2D270 800B60D0 ACD90004 */ sw $t9, 4($a2) /* B2D274 800B60D4 ACCA0000 */ sw $t2, ($a2) -/* B2D278 800B60D8 0C02CED4 */ jal func_800B3B50 +/* B2D278 800B60D8 0C02CED4 */ jal DbCamera_AddVecSph /* B2D27C 800B60DC E7A000FC */ swc1 $f0, 0xfc($sp) /* B2D280 800B60E0 8EA20000 */ lw $v0, ($s5) .L800B60E4: @@ -1415,8 +1416,8 @@ glabel DbgCamera_Update /* B2D2A8 800B6108 24050005 */ li $a1, 5 /* B2D2AC 800B610C 0C018DDB */ jal func_8006376C /* B2D2B0 800B6110 00003025 */ move $a2, $zero -/* B2D2B4 800B6114 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2D2B8 800B6118 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D2B4 800B6114 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2D2B8 800B6118 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D2BC 800B611C 94620044 */ lhu $v0, 0x44($v1) /* B2D2C0 800B6120 00506827 */ nor $t5, $v0, $s0 /* B2D2C4 800B6124 15A00008 */ bnez $t5, .L800B6148 @@ -1452,12 +1453,12 @@ glabel DbgCamera_Update /* B2D338 800B6198 3C048014 */ lui $a0, %hi(D_801438AC) # $a0, 0x8014 /* B2D33C 800B619C 248438AC */ addiu $a0, %lo(D_801438AC) # addiu $a0, $a0, 0x38ac /* B2D340 800B61A0 86A50080 */ lh $a1, 0x80($s5) -/* B2D344 800B61A4 0C02D248 */ jal func_800B4920 +/* B2D344 800B61A4 0C02D248 */ jal DbCamera_PrintPoints /* B2D348 800B61A8 26A608B0 */ addiu $a2, $s5, 0x8b0 /* B2D34C 800B61AC 3C048014 */ lui $a0, %hi(D_801438B4) # $a0, 0x8014 /* B2D350 800B61B0 248438B4 */ addiu $a0, %lo(D_801438B4) # addiu $a0, $a0, 0x38b4 /* B2D354 800B61B4 86A50080 */ lh $a1, 0x80($s5) -/* B2D358 800B61B8 0C02D248 */ jal func_800B4920 +/* B2D358 800B61B8 0C02D248 */ jal DbCamera_PrintPoints /* B2D35C 800B61BC 26A600A0 */ addiu $a2, $s5, 0xa0 /* B2D360 800B61C0 3C048014 */ lui $a0, %hi(D_801438C0) # $a0, 0x8014 /* B2D364 800B61C4 248438C0 */ addiu $a0, %lo(D_801438C0) # addiu $a0, $a0, 0x38c0 @@ -1474,8 +1475,8 @@ glabel DbgCamera_Update /* B2D390 800B61F0 3C048014 */ lui $a0, %hi(D_8014392C) # $a0, 0x8014 /* B2D394 800B61F4 0C00084C */ jal osSyncPrintf /* B2D398 800B61F8 2484392C */ addiu $a0, %lo(D_8014392C) # addiu $a0, $a0, 0x392c -/* B2D39C 800B61FC 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2D3A0 800B6200 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D39C 800B61FC 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2D3A0 800B6200 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D3A4 800B6204 10000018 */ b .L800B6268 /* B2D3A8 800B6208 94640050 */ lhu $a0, 0x50($v1) .L800B620C: @@ -1495,12 +1496,12 @@ glabel DbgCamera_Update /* B2D3E0 800B6240 24060004 */ li $a2, 4 /* B2D3E4 800B6244 86AB0084 */ lh $t3, 0x84($s5) /* B2D3E8 800B6248 24010003 */ li $at, 3 -/* B2D3EC 800B624C 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2D3EC 800B624C 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2D3F0 800B6250 256D0001 */ addiu $t5, $t3, 1 /* B2D3F4 800B6254 01A1001A */ div $zero, $t5, $at /* B2D3F8 800B6258 00006010 */ mfhi $t4 /* B2D3FC 800B625C A6AC0084 */ sh $t4, 0x84($s5) -/* B2D400 800B6260 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D400 800B6260 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D404 800B6264 94640050 */ lhu $a0, 0x50($v1) .L800B6268: /* B2D408 800B6268 2401FFF7 */ li $at, -9 @@ -1532,8 +1533,8 @@ glabel DbgCamera_Update /* B2D46C 800B62CC 272AFFFF */ addiu $t2, $t9, -1 /* B2D470 800B62D0 A6AA0082 */ sh $t2, 0x82($s5) .L800B62D4: -/* B2D474 800B62D4 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2D478 800B62D8 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D474 800B62D4 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2D478 800B62D8 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D47C 800B62DC 10000042 */ b .L800B63E8 /* B2D480 800B62E0 94640050 */ lhu $a0, 0x50($v1) .L800B62E4: @@ -1576,10 +1577,10 @@ glabel DbgCamera_Update /* B2D50C 800B636C 44814000 */ mtc1 $at, $f8 /* B2D510 800B6370 44805000 */ mtc1 $zero, $f10 /* B2D514 800B6374 A6A0004C */ sh $zero, 0x4c($s5) -/* B2D518 800B6378 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2D518 800B6378 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2D51C 800B637C E6A80048 */ swc1 $f8, 0x48($s5) /* B2D520 800B6380 E6AA0050 */ swc1 $f10, 0x50($s5) -/* B2D524 800B6384 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D524 800B6384 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D528 800B6388 10000017 */ b .L800B63E8 /* B2D52C 800B638C 94640050 */ lhu $a0, 0x50($v1) .L800B6390: @@ -1594,7 +1595,7 @@ glabel DbgCamera_Update /* B2D54C 800B63AC 00195100 */ sll $t2, $t9, 4 /* B2D550 800B63B0 02AA1021 */ addu $v0, $s5, $t2 /* B2D554 800B63B4 C44408B4 */ lwc1 $f4, 0x8b4($v0) -/* B2D558 800B63B8 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2D558 800B63B8 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2D55C 800B63BC E6A40048 */ swc1 $f4, 0x48($s5) /* B2D560 800B63C0 804B08B1 */ lb $t3, 0x8b1($v0) /* B2D564 800B63C4 A6AB004C */ sh $t3, 0x4c($s5) @@ -1604,7 +1605,7 @@ glabel DbgCamera_Update /* B2D574 800B63D4 46803220 */ cvt.s.w $f8, $f6 /* B2D578 800B63D8 460A4102 */ mul.s $f4, $f8, $f10 /* B2D57C 800B63DC E6A40050 */ swc1 $f4, 0x50($s5) -/* B2D580 800B63E0 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2D580 800B63E0 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2D584 800B63E4 94640050 */ lhu $a0, 0x50($v1) .L800B63E8: /* B2D588 800B63E8 946C0044 */ lhu $t4, 0x44($v1) @@ -1923,8 +1924,8 @@ glabel DbgCamera_Update /* B2D9F8 800B6858 3C018014 */ lui $at, %hi(D_80143C90) /* B2D9FC 800B685C C4283C90 */ lwc1 $f8, %lo(D_80143C90)($at) /* B2DA00 800B6860 448A2000 */ mtc1 $t2, $f4 -/* B2DA04 800B6864 3C058013 */ lui $a1, %hi(D_8012D0EF) # $a1, 0x8013 -/* B2DA08 800B6868 24A5D0EF */ addiu $a1, %lo(D_8012D0EF) # addiu $a1, $a1, -0x2f11 +/* B2DA04 800B6864 3C058013 */ lui $a1, %hi(D_8012D0E4+0xB) # $a1, 0x8013 +/* B2DA08 800B6868 24A5D0EF */ addiu $a1, %lo(D_8012D0E4+0xB) # addiu $a1, $a1, -0x2f11 /* B2DA0C 800B686C 468021A0 */ cvt.s.w $f6, $f4 /* B2DA10 800B6870 24060004 */ li $a2, 4 /* B2DA14 800B6874 46083282 */ mul.s $f10, $f6, $f8 @@ -1932,7 +1933,7 @@ glabel DbgCamera_Update /* B2DA1C 800B687C 44042000 */ mfc1 $a0, $f4 /* B2DA20 800B6880 00000000 */ nop /* B2DA24 800B6884 00042400 */ sll $a0, $a0, 0x10 -/* B2DA28 800B6888 0C02CF7E */ jal func_800B3DF8 +/* B2DA28 800B6888 0C02CF7E */ jal DbCamera_SetTextValue /* B2DA2C 800B688C 00042403 */ sra $a0, $a0, 0x10 /* B2DA30 800B6890 3C078013 */ lui $a3, %hi(D_8012D0E4) # $a3, 0x8013 /* B2DA34 800B6894 24E7D0E4 */ addiu $a3, %lo(D_8012D0E4) # addiu $a3, $a3, -0x2f1c @@ -1944,8 +1945,8 @@ glabel DbgCamera_Update /* B2DA4C 800B68AC 3C018014 */ lui $at, %hi(D_80143C94) /* B2DA50 800B68B0 C42A3C94 */ lwc1 $f10, %lo(D_80143C94)($at) /* B2DA54 800B68B4 448D3000 */ mtc1 $t5, $f6 -/* B2DA58 800B68B8 3C058013 */ lui $a1, %hi(D_8012D103) # $a1, 0x8013 -/* B2DA5C 800B68BC 24A5D103 */ addiu $a1, %lo(D_8012D103) # addiu $a1, $a1, -0x2efd +/* B2DA58 800B68B8 3C058013 */ lui $a1, %hi(D_8012D0F8+0xB) # $a1, 0x8013 +/* B2DA5C 800B68BC 24A5D103 */ addiu $a1, %lo(D_8012D0F8+0xB) # addiu $a1, $a1, -0x2efd /* B2DA60 800B68C0 46803220 */ cvt.s.w $f8, $f6 /* B2DA64 800B68C4 24060004 */ li $a2, 4 /* B2DA68 800B68C8 460A4102 */ mul.s $f4, $f8, $f10 @@ -1953,7 +1954,7 @@ glabel DbgCamera_Update /* B2DA70 800B68D0 44043000 */ mfc1 $a0, $f6 /* B2DA74 800B68D4 00000000 */ nop /* B2DA78 800B68D8 00042400 */ sll $a0, $a0, 0x10 -/* B2DA7C 800B68DC 0C02CF7E */ jal func_800B3DF8 +/* B2DA7C 800B68DC 0C02CF7E */ jal DbCamera_SetTextValue /* B2DA80 800B68E0 00042403 */ sra $a0, $a0, 0x10 /* B2DA84 800B68E4 3C078013 */ lui $a3, %hi(D_8012D0F8) # $a3, 0x8013 /* B2DA88 800B68E8 24E7D0F8 */ addiu $a3, %lo(D_8012D0F8) # addiu $a3, $a3, -0x2f08 @@ -1962,14 +1963,14 @@ glabel DbgCamera_Update /* B2DA94 800B68F4 0C018DDB */ jal func_8006376C /* B2DA98 800B68F8 24060003 */ li $a2, 3 /* B2DA9C 800B68FC C7A00104 */ lwc1 $f0, 0x104($sp) -/* B2DAA0 800B6900 3C058013 */ lui $a1, %hi(D_8012D0DC) # $a1, 0x8013 -/* B2DAA4 800B6904 24A5D0DC */ addiu $a1, %lo(D_8012D0DC) # addiu $a1, $a1, -0x2f24 +/* B2DAA0 800B6900 3C058013 */ lui $a1, %hi(D_8012D0D4+8) # $a1, 0x8013 +/* B2DAA4 800B6904 24A5D0DC */ addiu $a1, %lo(D_8012D0D4+8) # addiu $a1, $a1, -0x2f24 /* B2DAA8 800B6908 4600020D */ trunc.w.s $f8, $f0 /* B2DAAC 800B690C 24060006 */ li $a2, 6 /* B2DAB0 800B6910 44044000 */ mfc1 $a0, $f8 /* B2DAB4 800B6914 00000000 */ nop /* B2DAB8 800B6918 00042400 */ sll $a0, $a0, 0x10 -/* B2DABC 800B691C 0C02CF7E */ jal func_800B3DF8 +/* B2DABC 800B691C 0C02CF7E */ jal DbCamera_SetTextValue /* B2DAC0 800B6920 00042403 */ sra $a0, $a0, 0x10 /* B2DAC4 800B6924 3C078013 */ lui $a3, %hi(D_8012D0D4) # $a3, 0x8013 /* B2DAC8 800B6928 24E7D0D4 */ addiu $a3, %lo(D_8012D0D4) # addiu $a3, $a3, -0x2f2c @@ -2003,7 +2004,7 @@ glabel DbgCamera_Update /* B2DB34 800B6994 44042000 */ mfc1 $a0, $f4 /* B2DB38 800B6998 00000000 */ nop /* B2DB3C 800B699C 00042400 */ sll $a0, $a0, 0x10 -/* B2DB40 800B69A0 0C02CF7E */ jal func_800B3DF8 +/* B2DB40 800B69A0 0C02CF7E */ jal DbCamera_SetTextValue /* B2DB44 800B69A4 00042403 */ sra $a0, $a0, 0x10 /* B2DB48 800B69A8 27B20110 */ addiu $s2, $sp, 0x110 /* B2DB4C 800B69AC 02403825 */ move $a3, $s2 @@ -2020,7 +2021,7 @@ glabel DbgCamera_Update /* B2DB78 800B69D8 44044000 */ mfc1 $a0, $f8 /* B2DB7C 800B69DC 00000000 */ nop /* B2DB80 800B69E0 00042400 */ sll $a0, $a0, 0x10 -/* B2DB84 800B69E4 0C02CF7E */ jal func_800B3DF8 +/* B2DB84 800B69E4 0C02CF7E */ jal DbCamera_SetTextValue /* B2DB88 800B69E8 00042403 */ sra $a0, $a0, 0x10 /* B2DB8C 800B69EC 24040010 */ li $a0, 16 /* B2DB90 800B69F0 24050018 */ li $a1, 24 @@ -2036,7 +2037,7 @@ glabel DbgCamera_Update /* B2DBB8 800B6A18 44042000 */ mfc1 $a0, $f4 /* B2DBBC 800B6A1C 00000000 */ nop /* B2DBC0 800B6A20 00042400 */ sll $a0, $a0, 0x10 -/* B2DBC4 800B6A24 0C02CF7E */ jal func_800B3DF8 +/* B2DBC4 800B6A24 0C02CF7E */ jal DbCamera_SetTextValue /* B2DBC8 800B6A28 00042403 */ sra $a0, $a0, 0x10 /* B2DBCC 800B6A2C 24040010 */ li $a0, 16 /* B2DBD0 800B6A30 24050019 */ li $a1, 25 @@ -2048,8 +2049,8 @@ glabel DbgCamera_Update .L800B6A48: /* B2DBE8 800B6A48 240D0001 */ li $t5, 1 /* B2DBEC 800B6A4C AEAD003C */ sw $t5, 0x3c($s5) -/* B2DBF0 800B6A50 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DBF4 800B6A54 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DBF0 800B6A50 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DBF4 800B6A54 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2DBF8 800B6A58 2401F7FF */ li $at, -2049 /* B2DBFC 800B6A5C 94640050 */ lhu $a0, 0x50($v1) /* B2DC00 800B6A60 00816027 */ nor $t4, $a0, $at @@ -2070,15 +2071,15 @@ glabel DbgCamera_Update /* B2DC3C 800B6A9C 14400006 */ bnez $v0, .L800B6AB8 /* B2DC40 800B6AA0 24180005 */ li $t8, 5 /* B2DC44 800B6AA4 A6B80086 */ sh $t8, 0x86($s5) -/* B2DC48 800B6AA8 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DC4C 800B6AAC 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DC48 800B6AA8 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DC4C 800B6AAC 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2DC50 800B6AB0 10000006 */ b .L800B6ACC /* B2DC54 800B6AB4 94640050 */ lhu $a0, 0x50($v1) .L800B6AB8: /* B2DC58 800B6AB8 244EFFFF */ addiu $t6, $v0, -1 /* B2DC5C 800B6ABC A6AE0086 */ sh $t6, 0x86($s5) -/* B2DC60 800B6AC0 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DC64 800B6AC4 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DC60 800B6AC0 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DC64 800B6AC4 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2DC68 800B6AC8 94640050 */ lhu $a0, 0x50($v1) .L800B6ACC: /* B2DC6C 800B6ACC 2401FBFF */ li $at, -1025 @@ -2102,15 +2103,15 @@ glabel DbgCamera_Update /* B2DCB0 800B6B10 54410007 */ bnel $v0, $at, .L800B6B30 /* B2DCB4 800B6B14 244A0001 */ addiu $t2, $v0, 1 /* B2DCB8 800B6B18 A6A00086 */ sh $zero, 0x86($s5) -/* B2DCBC 800B6B1C 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DCC0 800B6B20 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DCBC 800B6B1C 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DCC0 800B6B20 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2DCC4 800B6B24 10000006 */ b .L800B6B40 /* B2DCC8 800B6B28 94640050 */ lhu $a0, 0x50($v1) /* B2DCCC 800B6B2C 244A0001 */ addiu $t2, $v0, 1 .L800B6B30: /* B2DCD0 800B6B30 A6AA0086 */ sh $t2, 0x86($s5) -/* B2DCD4 800B6B34 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DCD8 800B6B38 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DCD4 800B6B34 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DCD8 800B6B38 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2DCDC 800B6B3C 94640050 */ lhu $a0, 0x50($v1) .L800B6B40: /* B2DCE0 800B6B40 2401FDFF */ li $at, -513 @@ -2138,12 +2139,12 @@ glabel DbgCamera_Update /* B2DD34 800B6B94 1201001C */ beq $s0, $at, .L800B6C08 /* B2DD38 800B6B98 24010004 */ li $at, 4 /* B2DD3C 800B6B9C 12010064 */ beq $s0, $at, .L800B6D30 -/* B2DD40 800B6BA0 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2DD40 800B6BA0 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2DD44 800B6BA4 1000008D */ b .L800B6DDC -/* B2DD48 800B6BA8 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DD48 800B6BA8 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6BAC: -/* B2DD4C 800B6BAC 3C0C8016 */ lui $t4, %hi(D_80161100) # $t4, 0x8016 -/* B2DD50 800B6BB0 8D8C1100 */ lw $t4, %lo(D_80161100)($t4) +/* B2DD4C 800B6BAC 3C0C8016 */ lui $t4, %hi(sGlobalCtx) # $t4, 0x8016 +/* B2DD50 800B6BB0 8D8C1100 */ lw $t4, %lo(sGlobalCtx)($t4) /* B2DD54 800B6BB4 2401FFDF */ li $at, -33 /* B2DD58 800B6BB8 958F0044 */ lhu $t7, 0x44($t4) /* B2DD5C 800B6BBC 01E1C027 */ nor $t8, $t7, $at @@ -2164,9 +2165,9 @@ glabel DbgCamera_Update /* B2DD94 800B6BF4 258FFFFF */ addiu $t7, $t4, -1 /* B2DD98 800B6BF8 A44F08B2 */ sh $t7, 0x8b2($v0) .L800B6BFC: -/* B2DD9C 800B6BFC 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2DD9C 800B6BFC 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2DDA0 800B6C00 10000076 */ b .L800B6DDC -/* B2DDA4 800B6C04 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DDA4 800B6C04 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6C08: /* B2DDA8 800B6C08 86B8007C */ lh $t8, 0x7c($s5) /* B2DDAC 800B6C0C 2401FFFF */ li $at, -1 @@ -2192,14 +2193,14 @@ glabel DbgCamera_Update /* B2DDF8 800B6C58 27B400D8 */ addiu $s4, $sp, 0xd8 .L800B6C5C: /* B2DDFC 800B6C5C 02002025 */ move $a0, $s0 -/* B2DE00 800B6C60 0C02CFD5 */ jal func_800B3F54 +/* B2DE00 800B6C60 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2DE04 800B6C64 02802825 */ move $a1, $s4 /* B2DE08 800B6C68 02C02025 */ move $a0, $s6 /* B2DE0C 800B6C6C 02802825 */ move $a1, $s4 /* B2DE10 800B6C70 0C02CFE5 */ jal func_800B3F94 /* B2DE14 800B6C74 02003025 */ move $a2, $s0 /* B2DE18 800B6C78 02202025 */ move $a0, $s1 -/* B2DE1C 800B6C7C 0C02CFD5 */ jal func_800B3F54 +/* B2DE1C 800B6C7C 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2DE20 800B6C80 02802825 */ move $a1, $s4 /* B2DE24 800B6C84 02C02025 */ move $a0, $s6 /* B2DE28 800B6C88 02802825 */ move $a1, $s4 @@ -2229,14 +2230,14 @@ glabel DbgCamera_Update /* B2DE7C 800B6CDC 0C02D013 */ jal func_800B404C /* B2DE80 800B6CE0 02803025 */ move $a2, $s4 /* B2DE84 800B6CE4 02802025 */ move $a0, $s4 -/* B2DE88 800B6CE8 0C02CFBF */ jal func_800B3EFC +/* B2DE88 800B6CE8 0C02CFBF */ jal DbCamera_Vec3FToS /* B2DE8C 800B6CEC 02002825 */ move $a1, $s0 /* B2DE90 800B6CF0 02C02025 */ move $a0, $s6 /* B2DE94 800B6CF4 02202825 */ move $a1, $s1 /* B2DE98 800B6CF8 0C02D013 */ jal func_800B404C /* B2DE9C 800B6CFC 02803025 */ move $a2, $s4 /* B2DEA0 800B6D00 02802025 */ move $a0, $s4 -/* B2DEA4 800B6D04 0C02CFBF */ jal func_800B3EFC +/* B2DEA4 800B6D04 0C02CFBF */ jal DbCamera_Vec3FToS /* B2DEA8 800B6D08 02202825 */ move $a1, $s1 /* B2DEAC 800B6D0C 86AC0080 */ lh $t4, 0x80($s5) /* B2DEB0 800B6D10 26520001 */ addiu $s2, $s2, 1 @@ -2245,17 +2246,17 @@ glabel DbgCamera_Update /* B2DEBC 800B6D1C 1420FFED */ bnez $at, .L800B6CD4 /* B2DEC0 800B6D20 26310010 */ addiu $s1, $s1, 0x10 .L800B6D24: -/* B2DEC4 800B6D24 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2DEC4 800B6D24 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2DEC8 800B6D28 1000002C */ b .L800B6DDC -/* B2DECC 800B6D2C 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DECC 800B6D2C 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6D30: /* B2DED0 800B6D30 AEA00088 */ sw $zero, 0x88($s5) -/* B2DED4 800B6D34 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2DED4 800B6D34 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2DED8 800B6D38 10000028 */ b .L800B6DDC -/* B2DEDC 800B6D3C 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DEDC 800B6D3C 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6D40: -/* B2DEE0 800B6D40 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 -/* B2DEE4 800B6D44 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B2DEE0 800B6D40 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 +/* B2DEE4 800B6D44 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B2DEE8 800B6D48 2401FFDF */ li $at, -33 /* B2DEEC 800B6D4C 95F80044 */ lhu $t8, 0x44($t7) /* B2DEF0 800B6D50 03017027 */ nor $t6, $t8, $at @@ -2290,11 +2291,11 @@ glabel DbgCamera_Update /* B2DF5C 800B6DBC 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 /* B2DF60 800B6DC0 44815000 */ mtc1 $at, $f10 /* B2DF64 800B6DC4 44983000 */ mtc1 $t8, $f6 -/* B2DF68 800B6DC8 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2DF68 800B6DC8 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2DF6C 800B6DCC 46803220 */ cvt.s.w $f8, $f6 /* B2DF70 800B6DD0 460A4102 */ mul.s $f4, $f8, $f10 /* B2DF74 800B6DD4 E6A40050 */ swc1 $f4, 0x50($s5) -/* B2DF78 800B6DD8 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DF78 800B6DD8 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6DDC: /* B2DF7C 800B6DDC 946E0044 */ lhu $t6, 0x44($v1) .L800B6DE0: @@ -2323,8 +2324,8 @@ glabel DbgCamera_Update /* B2DFD8 800B6E38 2404480C */ li $a0, 18444 /* B2DFDC 800B6E3C 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B2DFE0 800B6E40 24060004 */ li $a2, 4 -/* B2DFE4 800B6E44 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2DFE8 800B6E48 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2DFE4 800B6E44 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2DFE8 800B6E48 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6E4C: /* B2DFEC 800B6E4C 86B00086 */ lh $s0, 0x86($s5) /* B2DFF0 800B6E50 12000005 */ beqz $s0, .L800B6E68 @@ -2368,9 +2369,9 @@ glabel DbgCamera_Update /* B2E080 800B6EE0 C5E408B4 */ lwc1 $f4, 0x8b4($t7) /* B2E084 800B6EE4 E6A40048 */ swc1 $f4, 0x48($s5) .L800B6EE8: -/* B2E088 800B6EE8 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2E088 800B6EE8 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2E08C 800B6EEC 10000039 */ b .L800B6FD4 -/* B2E090 800B6EF0 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E090 800B6EF0 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) /* B2E094 800B6EF4 94780044 */ lhu $t8, 0x44($v1) .L800B6EF8: /* B2E098 800B6EF8 2401FFDF */ li $at, -33 @@ -2433,8 +2434,8 @@ glabel DbgCamera_Update /* B2E164 800B6FC4 00000000 */ nop /* B2E168 800B6FC8 0006000D */ break 6 .L800B6FCC: -/* B2E16C 800B6FCC 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 -/* B2E170 800B6FD0 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E16C 800B6FCC 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 +/* B2E170 800B6FD0 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B6FD4: /* B2E174 800B6FD4 946C0050 */ lhu $t4, 0x50($v1) .L800B6FD8: @@ -2461,12 +2462,12 @@ glabel DbgCamera_Update /* B2E1C8 800B7028 1201001C */ beq $s0, $at, .L800B709C /* B2E1CC 800B702C 24010004 */ li $at, 4 /* B2E1D0 800B7030 1201005B */ beq $s0, $at, .L800B71A0 -/* B2E1D4 800B7034 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2E1D4 800B7034 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2E1D8 800B7038 10000085 */ b .L800B7250 -/* B2E1DC 800B703C 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E1DC 800B703C 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B7040: -/* B2E1E0 800B7040 3C0E8016 */ lui $t6, %hi(D_80161100) # $t6, 0x8016 -/* B2E1E4 800B7044 8DCE1100 */ lw $t6, %lo(D_80161100)($t6) +/* B2E1E0 800B7040 3C0E8016 */ lui $t6, %hi(sGlobalCtx) # $t6, 0x8016 +/* B2E1E4 800B7044 8DCE1100 */ lw $t6, %lo(sGlobalCtx)($t6) /* B2E1E8 800B7048 2401FFDF */ li $at, -33 /* B2E1EC 800B704C 95C90044 */ lhu $t1, 0x44($t6) /* B2E1F0 800B7050 0121C827 */ nor $t9, $t1, $at @@ -2487,9 +2488,9 @@ glabel DbgCamera_Update /* B2E228 800B7088 25C90001 */ addiu $t1, $t6, 1 /* B2E22C 800B708C A44908B2 */ sh $t1, 0x8b2($v0) .L800B7090: -/* B2E230 800B7090 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2E230 800B7090 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2E234 800B7094 1000006E */ b .L800B7250 -/* B2E238 800B7098 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E238 800B7098 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B709C: /* B2E23C 800B709C 86B9007C */ lh $t9, 0x7c($s5) /* B2E240 800B70A0 24010003 */ li $at, 3 @@ -2513,14 +2514,14 @@ glabel DbgCamera_Update /* B2E284 800B70E4 26B100A8 */ addiu $s1, $s5, 0xa8 .L800B70E8: /* B2E288 800B70E8 02002025 */ move $a0, $s0 -/* B2E28C 800B70EC 0C02CFD5 */ jal func_800B3F54 +/* B2E28C 800B70EC 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2E290 800B70F0 02802825 */ move $a1, $s4 /* B2E294 800B70F4 02C02025 */ move $a0, $s6 /* B2E298 800B70F8 02802825 */ move $a1, $s4 /* B2E29C 800B70FC 0C02CFE5 */ jal func_800B3F94 /* B2E2A0 800B7100 02003025 */ move $a2, $s0 /* B2E2A4 800B7104 02202025 */ move $a0, $s1 -/* B2E2A8 800B7108 0C02CFD5 */ jal func_800B3F54 +/* B2E2A8 800B7108 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2E2AC 800B710C 02802825 */ move $a1, $s4 /* B2E2B0 800B7110 02C02025 */ move $a0, $s6 /* B2E2B4 800B7114 02802825 */ move $a1, $s4 @@ -2545,14 +2546,14 @@ glabel DbgCamera_Update /* B2E2F8 800B7158 0C02D013 */ jal func_800B404C /* B2E2FC 800B715C 02803025 */ move $a2, $s4 /* B2E300 800B7160 02802025 */ move $a0, $s4 -/* B2E304 800B7164 0C02CFBF */ jal func_800B3EFC +/* B2E304 800B7164 0C02CFBF */ jal DbCamera_Vec3FToS /* B2E308 800B7168 02002825 */ move $a1, $s0 /* B2E30C 800B716C 02C02025 */ move $a0, $s6 /* B2E310 800B7170 02202825 */ move $a1, $s1 /* B2E314 800B7174 0C02D013 */ jal func_800B404C /* B2E318 800B7178 02803025 */ move $a2, $s4 /* B2E31C 800B717C 02802025 */ move $a0, $s4 -/* B2E320 800B7180 0C02CFBF */ jal func_800B3EFC +/* B2E320 800B7180 0C02CFBF */ jal DbCamera_Vec3FToS /* B2E324 800B7184 02202825 */ move $a1, $s1 /* B2E328 800B7188 86B80080 */ lh $t8, 0x80($s5) /* B2E32C 800B718C 26520001 */ addiu $s2, $s2, 1 @@ -2564,12 +2565,12 @@ glabel DbgCamera_Update /* B2E340 800B71A0 240E0001 */ li $t6, 1 .L800B71A4: /* B2E344 800B71A4 AEAE0088 */ sw $t6, 0x88($s5) -/* B2E348 800B71A8 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2E348 800B71A8 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2E34C 800B71AC 10000028 */ b .L800B7250 -/* B2E350 800B71B0 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E350 800B71B0 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B71B4: -/* B2E354 800B71B4 3C098016 */ lui $t1, %hi(D_80161100) # $t1, 0x8016 -/* B2E358 800B71B8 8D291100 */ lw $t1, %lo(D_80161100)($t1) +/* B2E354 800B71B4 3C098016 */ lui $t1, %hi(sGlobalCtx) # $t1, 0x8016 +/* B2E358 800B71B8 8D291100 */ lw $t1, %lo(sGlobalCtx)($t1) /* B2E35C 800B71BC 2401FFDF */ li $at, -33 /* B2E360 800B71C0 95390044 */ lhu $t9, 0x44($t1) /* B2E364 800B71C4 03215027 */ nor $t2, $t9, $at @@ -2604,11 +2605,11 @@ glabel DbgCamera_Update /* B2E3D0 800B7230 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 /* B2E3D4 800B7234 44815000 */ mtc1 $at, $f10 /* B2E3D8 800B7238 44993000 */ mtc1 $t9, $f6 -/* B2E3DC 800B723C 3C038016 */ lui $v1, %hi(D_80161100) # $v1, 0x8016 +/* B2E3DC 800B723C 3C038016 */ lui $v1, %hi(sGlobalCtx) # $v1, 0x8016 /* B2E3E0 800B7240 46803220 */ cvt.s.w $f8, $f6 /* B2E3E4 800B7244 460A4102 */ mul.s $f4, $f8, $f10 /* B2E3E8 800B7248 E6A40050 */ swc1 $f4, 0x50($s5) -/* B2E3EC 800B724C 8C631100 */ lw $v1, %lo(D_80161100)($v1) +/* B2E3EC 800B724C 8C631100 */ lw $v1, %lo(sGlobalCtx)($v1) .L800B7250: /* B2E3F0 800B7250 946A0044 */ lhu $t2, 0x44($v1) /* B2E3F4 800B7254 2401FEFF */ li $at, -257 @@ -2644,8 +2645,8 @@ glabel DbgCamera_Update /* B2E468 800B72C8 1000002D */ b .L800B7380 /* B2E46C 800B72CC 86AC0082 */ lh $t4, 0x82($s5) .L800B72D0: -/* B2E470 800B72D0 3C098016 */ lui $t1, %hi(D_80161100) # $t1, 0x8016 -/* B2E474 800B72D4 8D291100 */ lw $t1, %lo(D_80161100)($t1) +/* B2E470 800B72D0 3C098016 */ lui $t1, %hi(sGlobalCtx) # $t1, 0x8016 +/* B2E474 800B72D4 8D291100 */ lw $t1, %lo(sGlobalCtx)($t1) /* B2E478 800B72D8 86B80082 */ lh $t8, 0x82($s5) /* B2E47C 800B72DC 2401FFDF */ li $at, -33 /* B2E480 800B72E0 95390044 */ lhu $t9, 0x44($t1) @@ -2677,8 +2678,8 @@ glabel DbgCamera_Update /* B2E4E4 800B7344 1000000D */ b .L800B737C /* B2E4E8 800B7348 E6A40048 */ swc1 $f4, 0x48($s5) .L800B734C: -/* B2E4EC 800B734C 3C098016 */ lui $t1, %hi(D_80161100) # $t1, 0x8016 -/* B2E4F0 800B7350 8D291100 */ lw $t1, %lo(D_80161100)($t1) +/* B2E4EC 800B734C 3C098016 */ lui $t1, %hi(sGlobalCtx) # $t1, 0x8016 +/* B2E4F0 800B7350 8D291100 */ lw $t1, %lo(sGlobalCtx)($t1) /* B2E4F4 800B7354 2401FFDF */ li $at, -33 /* B2E4F8 800B7358 86A2007E */ lh $v0, 0x7e($s5) /* B2E4FC 800B735C 95390044 */ lhu $t9, 0x44($t1) @@ -2693,8 +2694,8 @@ glabel DbgCamera_Update .L800B737C: /* B2E51C 800B737C 86AC0082 */ lh $t4, 0x82($s5) .L800B7380: -/* B2E520 800B7380 3C058013 */ lui $a1, %hi(D_8012D066) # $a1, 0x8013 -/* B2E524 800B7384 24A5D066 */ addiu $a1, %lo(D_8012D066) # addiu $a1, $a1, -0x2f9a +/* B2E520 800B7380 3C058013 */ lui $a1, %hi(D_8012D05C+0xA) # $a1, 0x8013 +/* B2E524 800B7384 24A5D066 */ addiu $a1, %lo(D_8012D05C+0xA) # addiu $a1, $a1, -0x2f9a /* B2E528 800B7388 000C7900 */ sll $t7, $t4, 4 /* B2E52C 800B738C 02AFC021 */ addu $t8, $s5, $t7 /* B2E530 800B7390 C70608B4 */ lwc1 $f6, 0x8b4($t8) @@ -2703,7 +2704,7 @@ glabel DbgCamera_Update /* B2E53C 800B739C 44044000 */ mfc1 $a0, $f8 /* B2E540 800B73A0 00000000 */ nop /* B2E544 800B73A4 00042400 */ sll $a0, $a0, 0x10 -/* B2E548 800B73A8 0C02CF7E */ jal func_800B3DF8 +/* B2E548 800B73A8 0C02CF7E */ jal DbCamera_SetTextValue /* B2E54C 800B73AC 00042403 */ sra $a0, $a0, 0x10 /* B2E550 800B73B0 86A90086 */ lh $t1, 0x86($s5) /* B2E554 800B73B4 55200004 */ bnezl $t1, .L800B73C8 @@ -2720,12 +2721,12 @@ glabel DbgCamera_Update /* B2E57C 800B73DC 0C018DDB */ jal func_8006376C /* B2E580 800B73E0 320600FF */ andi $a2, $s0, 0xff /* B2E584 800B73E4 86B90082 */ lh $t9, 0x82($s5) -/* B2E588 800B73E8 3C058013 */ lui $a1, %hi(D_8012D079) # $a1, 0x8013 -/* B2E58C 800B73EC 24A5D079 */ addiu $a1, %lo(D_8012D079) # addiu $a1, $a1, -0x2f87 +/* B2E588 800B73E8 3C058013 */ lui $a1, %hi(D_8012D070+9) # $a1, 0x8013 +/* B2E58C 800B73EC 24A5D079 */ addiu $a1, %lo(D_8012D070+9) # addiu $a1, $a1, -0x2f87 /* B2E590 800B73F0 00195100 */ sll $t2, $t9, 4 /* B2E594 800B73F4 02AA5821 */ addu $t3, $s5, $t2 /* B2E598 800B73F8 856408B2 */ lh $a0, 0x8b2($t3) -/* B2E59C 800B73FC 0C02CF7E */ jal func_800B3DF8 +/* B2E59C 800B73FC 0C02CF7E */ jal DbCamera_SetTextValue /* B2E5A0 800B7400 24060003 */ li $a2, 3 /* B2E5A4 800B7404 86AD0086 */ lh $t5, 0x86($s5) /* B2E5A8 800B7408 24010001 */ li $at, 1 @@ -2742,12 +2743,12 @@ glabel DbgCamera_Update /* B2E5D0 800B7430 0C018DDB */ jal func_8006376C /* B2E5D4 800B7434 320600FF */ andi $a2, $s0, 0xff /* B2E5D8 800B7438 86AC0082 */ lh $t4, 0x82($s5) -/* B2E5DC 800B743C 3C058013 */ lui $a1, %hi(D_8012D08E) # $a1, 0x8013 -/* B2E5E0 800B7440 24A5D08E */ addiu $a1, %lo(D_8012D08E) # addiu $a1, $a1, -0x2f72 +/* B2E5DC 800B743C 3C058013 */ lui $a1, %hi(D_8012D084+0xA) # $a1, 0x8013 +/* B2E5E0 800B7440 24A5D08E */ addiu $a1, %lo(D_8012D084+0xA) # addiu $a1, $a1, -0x2f72 /* B2E5E4 800B7444 000C7900 */ sll $t7, $t4, 4 /* B2E5E8 800B7448 02AFC021 */ addu $t8, $s5, $t7 /* B2E5EC 800B744C 830408B1 */ lb $a0, 0x8b1($t8) -/* B2E5F0 800B7450 0C02CF7E */ jal func_800B3DF8 +/* B2E5F0 800B7450 0C02CF7E */ jal DbCamera_SetTextValue /* B2E5F4 800B7454 24060003 */ li $a2, 3 /* B2E5F8 800B7458 86AE0086 */ lh $t6, 0x86($s5) /* B2E5FC 800B745C 24010002 */ li $at, 2 @@ -2829,10 +2830,10 @@ glabel DbgCamera_Update /* B2E700 800B7560 24050018 */ li $a1, 24 /* B2E704 800B7564 0C018DDB */ jal func_8006376C /* B2E708 800B7568 320600FF */ andi $a2, $s0, 0xff -/* B2E70C 800B756C 3C058013 */ lui $a1, %hi(D_8012D0CA) # $a1, 0x8013 -/* B2E710 800B7570 24A5D0CA */ addiu $a1, %lo(D_8012D0CA) # addiu $a1, $a1, -0x2f36 +/* B2E70C 800B756C 3C058013 */ lui $a1, %hi(D_8012D0C0+0xA) # $a1, 0x8013 +/* B2E710 800B7570 24A5D0CA */ addiu $a1, %lo(D_8012D0C0+0xA) # addiu $a1, $a1, -0x2f36 /* B2E714 800B7574 86A4007E */ lh $a0, 0x7e($s5) -/* B2E718 800B7578 0C02CF7E */ jal func_800B3DF8 +/* B2E718 800B7578 0C02CF7E */ jal DbCamera_SetTextValue /* B2E71C 800B757C 24060005 */ li $a2, 5 /* B2E720 800B7580 86AE0086 */ lh $t6, 0x86($s5) /* B2E724 800B7584 24010005 */ li $at, 5 @@ -2903,7 +2904,7 @@ glabel DbgCamera_Update /* B2E808 800B7668 44042000 */ mfc1 $a0, $f4 /* B2E80C 800B766C 00000000 */ nop /* B2E810 800B7670 00042400 */ sll $a0, $a0, 0x10 -/* B2E814 800B7674 0C02CF7E */ jal func_800B3DF8 +/* B2E814 800B7674 0C02CF7E */ jal DbCamera_SetTextValue /* B2E818 800B7678 00042403 */ sra $a0, $a0, 0x10 /* B2E81C 800B767C 24040003 */ li $a0, 3 /* B2E820 800B7680 24050017 */ li $a1, 23 @@ -2919,7 +2920,7 @@ glabel DbgCamera_Update /* B2E848 800B76A8 44044000 */ mfc1 $a0, $f8 /* B2E84C 800B76AC 00000000 */ nop /* B2E850 800B76B0 00042400 */ sll $a0, $a0, 0x10 -/* B2E854 800B76B4 0C02CF7E */ jal func_800B3DF8 +/* B2E854 800B76B4 0C02CF7E */ jal DbCamera_SetTextValue /* B2E858 800B76B8 00042403 */ sra $a0, $a0, 0x10 /* B2E85C 800B76BC 24040003 */ li $a0, 3 /* B2E860 800B76C0 24050018 */ li $a1, 24 @@ -2935,7 +2936,7 @@ glabel DbgCamera_Update /* B2E888 800B76E8 44042000 */ mfc1 $a0, $f4 /* B2E88C 800B76EC 00000000 */ nop /* B2E890 800B76F0 00042400 */ sll $a0, $a0, 0x10 -/* B2E894 800B76F4 0C02CF7E */ jal func_800B3DF8 +/* B2E894 800B76F4 0C02CF7E */ jal DbCamera_SetTextValue /* B2E898 800B76F8 00042403 */ sra $a0, $a0, 0x10 /* B2E89C 800B76FC 24040003 */ li $a0, 3 /* B2E8A0 800B7700 24050019 */ li $a1, 25 @@ -2981,7 +2982,7 @@ glabel DbgCamera_Update /* B2E934 800B7794 44044000 */ mfc1 $a0, $f8 /* B2E938 800B7798 00000000 */ nop /* B2E93C 800B779C 00042400 */ sll $a0, $a0, 0x10 -/* B2E940 800B77A0 0C02CF7E */ jal func_800B3DF8 +/* B2E940 800B77A0 0C02CF7E */ jal DbCamera_SetTextValue /* B2E944 800B77A4 00042403 */ sra $a0, $a0, 0x10 /* B2E948 800B77A8 2404001E */ li $a0, 30 /* B2E94C 800B77AC 24050017 */ li $a1, 23 @@ -2997,7 +2998,7 @@ glabel DbgCamera_Update /* B2E974 800B77D4 44042000 */ mfc1 $a0, $f4 /* B2E978 800B77D8 00000000 */ nop /* B2E97C 800B77DC 00042400 */ sll $a0, $a0, 0x10 -/* B2E980 800B77E0 0C02CF7E */ jal func_800B3DF8 +/* B2E980 800B77E0 0C02CF7E */ jal DbCamera_SetTextValue /* B2E984 800B77E4 00042403 */ sra $a0, $a0, 0x10 /* B2E988 800B77E8 2404001E */ li $a0, 30 /* B2E98C 800B77EC 24050018 */ li $a1, 24 @@ -3013,7 +3014,7 @@ glabel DbgCamera_Update /* B2E9B4 800B7814 44044000 */ mfc1 $a0, $f8 /* B2E9B8 800B7818 00000000 */ nop /* B2E9BC 800B781C 00042400 */ sll $a0, $a0, 0x10 -/* B2E9C0 800B7820 0C02CF7E */ jal func_800B3DF8 +/* B2E9C0 800B7820 0C02CF7E */ jal DbCamera_SetTextValue /* B2E9C4 800B7824 00042403 */ sra $a0, $a0, 0x10 /* B2E9C8 800B7828 2404001E */ li $a0, 30 /* B2E9CC 800B782C 24050019 */ li $a1, 25 @@ -3065,8 +3066,8 @@ glabel DbgCamera_Update /* B2EA74 800B78D4 3C018014 */ lui $at, %hi(D_80143CA0) /* B2EA78 800B78D8 C4263CA0 */ lwc1 $f6, %lo(D_80143CA0)($at) /* B2EA7C 800B78DC 448A5000 */ mtc1 $t2, $f10 -/* B2EA80 800B78E0 3C118013 */ lui $s1, %hi(D_8012D0EE) # $s1, 0x8013 -/* B2EA84 800B78E4 2631D0EE */ addiu $s1, %lo(D_8012D0EE) # addiu $s1, $s1, -0x2f12 +/* B2EA80 800B78E0 3C118013 */ lui $s1, %hi(D_8012D0E4+0xA) # $s1, 0x8013 +/* B2EA84 800B78E4 2631D0EE */ addiu $s1, %lo(D_8012D0E4+0xA) # addiu $s1, $s1, -0x2f12 /* B2EA88 800B78E8 46805120 */ cvt.s.w $f4, $f10 /* B2EA8C 800B78EC 02202825 */ move $a1, $s1 /* B2EA90 800B78F0 24060004 */ li $a2, 4 @@ -3075,7 +3076,7 @@ glabel DbgCamera_Update /* B2EA9C 800B78FC 44045000 */ mfc1 $a0, $f10 /* B2EAA0 800B7900 00000000 */ nop /* B2EAA4 800B7904 00042400 */ sll $a0, $a0, 0x10 -/* B2EAA8 800B7908 0C02CF7E */ jal func_800B3DF8 +/* B2EAA8 800B7908 0C02CF7E */ jal DbCamera_SetTextValue /* B2EAAC 800B790C 00042403 */ sra $a0, $a0, 0x10 /* B2EAB0 800B7910 3C078013 */ lui $a3, %hi(D_8012D0E4) # $a3, 0x8013 /* B2EAB4 800B7914 24E7D0E4 */ addiu $a3, %lo(D_8012D0E4) # addiu $a3, $a3, -0x2f1c @@ -3087,8 +3088,8 @@ glabel DbgCamera_Update /* B2EACC 800B792C 3C018014 */ lui $at, %hi(D_80143CA4) /* B2EAD0 800B7930 C4283CA4 */ lwc1 $f8, %lo(D_80143CA4)($at) /* B2EAD4 800B7934 448D2000 */ mtc1 $t5, $f4 -/* B2EAD8 800B7938 3C128013 */ lui $s2, %hi(D_8012D102) # $s2, 0x8013 -/* B2EADC 800B793C 2652D102 */ addiu $s2, %lo(D_8012D102) # addiu $s2, $s2, -0x2efe +/* B2EAD8 800B7938 3C128013 */ lui $s2, %hi(D_8012D0F8+0xA) # $s2, 0x8013 +/* B2EADC 800B793C 2652D102 */ addiu $s2, %lo(D_8012D0F8+0xA) # addiu $s2, $s2, -0x2efe /* B2EAE0 800B7940 468021A0 */ cvt.s.w $f6, $f4 /* B2EAE4 800B7944 02402825 */ move $a1, $s2 /* B2EAE8 800B7948 24060004 */ li $a2, 4 @@ -3097,7 +3098,7 @@ glabel DbgCamera_Update /* B2EAF4 800B7954 44042000 */ mfc1 $a0, $f4 /* B2EAF8 800B7958 00000000 */ nop /* B2EAFC 800B795C 00042400 */ sll $a0, $a0, 0x10 -/* B2EB00 800B7960 0C02CF7E */ jal func_800B3DF8 +/* B2EB00 800B7960 0C02CF7E */ jal DbCamera_SetTextValue /* B2EB04 800B7964 00042403 */ sra $a0, $a0, 0x10 /* B2EB08 800B7968 3C078013 */ lui $a3, %hi(D_8012D0F8) # $a3, 0x8013 /* B2EB0C 800B796C 24E7D0F8 */ addiu $a3, %lo(D_8012D0F8) # addiu $a3, $a3, -0x2f08 @@ -3106,15 +3107,15 @@ glabel DbgCamera_Update /* B2EB18 800B7978 0C018DDB */ jal func_8006376C /* B2EB1C 800B797C 24060003 */ li $a2, 3 /* B2EB20 800B7980 C7A600FC */ lwc1 $f6, 0xfc($sp) -/* B2EB24 800B7984 3C138013 */ lui $s3, %hi(D_8012D0DB) # $s3, 0x8013 -/* B2EB28 800B7988 2673D0DB */ addiu $s3, %lo(D_8012D0DB) # addiu $s3, $s3, -0x2f25 +/* B2EB24 800B7984 3C138013 */ lui $s3, %hi(D_8012D0D4+7) # $s3, 0x8013 +/* B2EB28 800B7988 2673D0DB */ addiu $s3, %lo(D_8012D0D4+7) # addiu $s3, $s3, -0x2f25 /* B2EB2C 800B798C 4600320D */ trunc.w.s $f8, $f6 /* B2EB30 800B7990 02602825 */ move $a1, $s3 /* B2EB34 800B7994 24060006 */ li $a2, 6 /* B2EB38 800B7998 44044000 */ mfc1 $a0, $f8 /* B2EB3C 800B799C 00000000 */ nop /* B2EB40 800B79A0 00042400 */ sll $a0, $a0, 0x10 -/* B2EB44 800B79A4 0C02CF7E */ jal func_800B3DF8 +/* B2EB44 800B79A4 0C02CF7E */ jal DbCamera_SetTextValue /* B2EB48 800B79A8 00042403 */ sra $a0, $a0, 0x10 /* B2EB4C 800B79AC 3C078013 */ lui $a3, %hi(D_8012D0D4) # $a3, 0x8013 /* B2EB50 800B79B0 24E7D0D4 */ addiu $a3, %lo(D_8012D0D4) # addiu $a3, $a3, -0x2f2c @@ -3172,7 +3173,7 @@ glabel DbgCamera_Update /* B2EC14 800B7A74 44045000 */ mfc1 $a0, $f10 /* B2EC18 800B7A78 00000000 */ nop /* B2EC1C 800B7A7C 00042400 */ sll $a0, $a0, 0x10 -/* B2EC20 800B7A80 0C02CF7E */ jal func_800B3DF8 +/* B2EC20 800B7A80 0C02CF7E */ jal DbCamera_SetTextValue /* B2EC24 800B7A84 00042403 */ sra $a0, $a0, 0x10 /* B2EC28 800B7A88 3C078013 */ lui $a3, %hi(D_8012D0E4) # $a3, 0x8013 /* B2EC2C 800B7A8C 24E7D0E4 */ addiu $a3, %lo(D_8012D0E4) # addiu $a3, $a3, -0x2f1c @@ -3192,7 +3193,7 @@ glabel DbgCamera_Update /* B2EC64 800B7AC4 44042000 */ mfc1 $a0, $f4 /* B2EC68 800B7AC8 00000000 */ nop /* B2EC6C 800B7ACC 00042400 */ sll $a0, $a0, 0x10 -/* B2EC70 800B7AD0 0C02CF7E */ jal func_800B3DF8 +/* B2EC70 800B7AD0 0C02CF7E */ jal DbCamera_SetTextValue /* B2EC74 800B7AD4 00042403 */ sra $a0, $a0, 0x10 /* B2EC78 800B7AD8 3C078013 */ lui $a3, %hi(D_8012D0F8) # $a3, 0x8013 /* B2EC7C 800B7ADC 24E7D0F8 */ addiu $a3, %lo(D_8012D0F8) # addiu $a3, $a3, -0x2f08 @@ -3207,7 +3208,7 @@ glabel DbgCamera_Update /* B2ECA0 800B7B00 44044000 */ mfc1 $a0, $f8 /* B2ECA4 800B7B04 00000000 */ nop /* B2ECA8 800B7B08 00042400 */ sll $a0, $a0, 0x10 -/* B2ECAC 800B7B0C 0C02CF7E */ jal func_800B3DF8 +/* B2ECAC 800B7B0C 0C02CF7E */ jal DbCamera_SetTextValue /* B2ECB0 800B7B10 00042403 */ sra $a0, $a0, 0x10 /* B2ECB4 800B7B14 3C078013 */ lui $a3, %hi(D_8012D0D4) # $a3, 0x8013 /* B2ECB8 800B7B18 24E7D0D4 */ addiu $a3, %lo(D_8012D0D4) # addiu $a3, $a3, -0x2f2c @@ -3320,10 +3321,10 @@ glabel DbgCamera_Update /* B2EE5C 800B7CBC 24010001 */ li $at, 1 /* B2EE60 800B7CC0 11A10008 */ beq $t5, $at, .L800B7CE4 /* B2EE64 800B7CC4 02002025 */ move $a0, $s0 -/* B2EE68 800B7CC8 0C02CFD5 */ jal func_800B3F54 +/* B2EE68 800B7CC8 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2EE6C 800B7CCC 02802825 */ move $a1, $s4 /* B2EE70 800B7CD0 02202025 */ move $a0, $s1 -/* B2EE74 800B7CD4 0C02CFD5 */ jal func_800B3F54 +/* B2EE74 800B7CD4 0C02CFD5 */ jal DbCamera_Vec3SToF2 /* B2EE78 800B7CD8 27A500B8 */ addiu $a1, $sp, 0xb8 /* B2EE7C 800B7CDC 1000000A */ b .L800B7D08 /* B2EE80 800B7CE0 27A400FC */ addiu $a0, $sp, 0xfc @@ -3504,13 +3505,13 @@ glabel DbgCamera_Update /* B2F128 800B7F88 44813000 */ mtc1 $at, $f6 /* B2F12C 800B7F8C 448C5000 */ mtc1 $t4, $f10 /* B2F130 800B7F90 E6A80048 */ swc1 $f8, 0x48($s5) -/* B2F134 800B7F94 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 +/* B2F134 800B7F94 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 /* B2F138 800B7F98 46805120 */ cvt.s.w $f4, $f10 /* B2F13C 800B7F9C 2401FFFD */ li $at, -3 /* B2F140 800B7FA0 26F3005C */ addiu $s3, $s7, 0x5c /* B2F144 800B7FA4 46062202 */ mul.s $f8, $f4, $f6 /* B2F148 800B7FA8 E6A80050 */ swc1 $f8, 0x50($s5) -/* B2F14C 800B7FAC 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B2F14C 800B7FAC 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B2F150 800B7FB0 95F80050 */ lhu $t8, 0x50($t7) /* B2F154 800B7FB4 03017027 */ nor $t6, $t8, $at /* B2F158 800B7FB8 15C00013 */ bnez $t6, .L800B8008 @@ -3605,7 +3606,7 @@ glabel DbgCamera_Update /* B2F2A8 800B8108 44042000 */ mfc1 $a0, $f4 /* B2F2AC 800B810C 00000000 */ nop /* B2F2B0 800B8110 00042400 */ sll $a0, $a0, 0x10 -/* B2F2B4 800B8114 0C02CF7E */ jal func_800B3DF8 +/* B2F2B4 800B8114 0C02CF7E */ jal DbCamera_SetTextValue /* B2F2B8 800B8118 00042403 */ sra $a0, $a0, 0x10 /* B2F2BC 800B811C 27B20110 */ addiu $s2, $sp, 0x110 /* B2F2C0 800B8120 02403825 */ move $a3, $s2 @@ -3622,7 +3623,7 @@ glabel DbgCamera_Update /* B2F2EC 800B814C 44044000 */ mfc1 $a0, $f8 /* B2F2F0 800B8150 00000000 */ nop /* B2F2F4 800B8154 00042400 */ sll $a0, $a0, 0x10 -/* B2F2F8 800B8158 0C02CF7E */ jal func_800B3DF8 +/* B2F2F8 800B8158 0C02CF7E */ jal DbCamera_SetTextValue /* B2F2FC 800B815C 00042403 */ sra $a0, $a0, 0x10 /* B2F300 800B8160 24040003 */ li $a0, 3 /* B2F304 800B8164 24050018 */ li $a1, 24 @@ -3638,7 +3639,7 @@ glabel DbgCamera_Update /* B2F32C 800B818C 44042000 */ mfc1 $a0, $f4 /* B2F330 800B8190 00000000 */ nop /* B2F334 800B8194 00042400 */ sll $a0, $a0, 0x10 -/* B2F338 800B8198 0C02CF7E */ jal func_800B3DF8 +/* B2F338 800B8198 0C02CF7E */ jal DbCamera_SetTextValue /* B2F33C 800B819C 00042403 */ sra $a0, $a0, 0x10 /* B2F340 800B81A0 24040003 */ li $a0, 3 /* B2F344 800B81A4 24050019 */ li $a1, 25 @@ -3668,7 +3669,7 @@ glabel DbgCamera_Update /* B2F3A0 800B8200 44044000 */ mfc1 $a0, $f8 /* B2F3A4 800B8204 00000000 */ nop /* B2F3A8 800B8208 00042400 */ sll $a0, $a0, 0x10 -/* B2F3AC 800B820C 0C02CF7E */ jal func_800B3DF8 +/* B2F3AC 800B820C 0C02CF7E */ jal DbCamera_SetTextValue /* B2F3B0 800B8210 00042403 */ sra $a0, $a0, 0x10 /* B2F3B4 800B8214 2404001E */ li $a0, 30 /* B2F3B8 800B8218 24050017 */ li $a1, 23 @@ -3684,7 +3685,7 @@ glabel DbgCamera_Update /* B2F3E0 800B8240 44042000 */ mfc1 $a0, $f4 /* B2F3E4 800B8244 00000000 */ nop /* B2F3E8 800B8248 00042400 */ sll $a0, $a0, 0x10 -/* B2F3EC 800B824C 0C02CF7E */ jal func_800B3DF8 +/* B2F3EC 800B824C 0C02CF7E */ jal DbCamera_SetTextValue /* B2F3F0 800B8250 00042403 */ sra $a0, $a0, 0x10 /* B2F3F4 800B8254 2404001E */ li $a0, 30 /* B2F3F8 800B8258 24050018 */ li $a1, 24 @@ -3700,7 +3701,7 @@ glabel DbgCamera_Update /* B2F420 800B8280 44044000 */ mfc1 $a0, $f8 /* B2F424 800B8284 00000000 */ nop /* B2F428 800B8288 00042400 */ sll $a0, $a0, 0x10 -/* B2F42C 800B828C 0C02CF7E */ jal func_800B3DF8 +/* B2F42C 800B828C 0C02CF7E */ jal DbCamera_SetTextValue /* B2F430 800B8290 00042403 */ sra $a0, $a0, 0x10 /* B2F434 800B8294 2404001E */ li $a0, 30 /* B2F438 800B8298 24050019 */ li $a1, 25 @@ -3726,8 +3727,8 @@ glabel DbgCamera_Update /* B2F480 800B82E0 3C018014 */ lui $at, %hi(D_80143CBC) /* B2F484 800B82E4 C4263CBC */ lwc1 $f6, %lo(D_80143CBC)($at) /* B2F488 800B82E8 448F5000 */ mtc1 $t7, $f10 -/* B2F48C 800B82EC 3C058013 */ lui $a1, %hi(D_8012D0EF) # $a1, 0x8013 -/* B2F490 800B82F0 24A5D0EF */ addiu $a1, %lo(D_8012D0EF) # addiu $a1, $a1, -0x2f11 +/* B2F48C 800B82EC 3C058013 */ lui $a1, %hi(D_8012D0E4+0xB) # $a1, 0x8013 +/* B2F490 800B82F0 24A5D0EF */ addiu $a1, %lo(D_8012D0E4+0xB) # addiu $a1, $a1, -0x2f11 /* B2F494 800B82F4 46805120 */ cvt.s.w $f4, $f10 /* B2F498 800B82F8 24060004 */ li $a2, 4 /* B2F49C 800B82FC 46062202 */ mul.s $f8, $f4, $f6 @@ -3735,7 +3736,7 @@ glabel DbgCamera_Update /* B2F4A4 800B8304 44045000 */ mfc1 $a0, $f10 /* B2F4A8 800B8308 00000000 */ nop /* B2F4AC 800B830C 00042400 */ sll $a0, $a0, 0x10 -/* B2F4B0 800B8310 0C02CF7E */ jal func_800B3DF8 +/* B2F4B0 800B8310 0C02CF7E */ jal DbCamera_SetTextValue /* B2F4B4 800B8314 00042403 */ sra $a0, $a0, 0x10 /* B2F4B8 800B8318 3C078013 */ lui $a3, %hi(D_8012D0E4) # $a3, 0x8013 /* B2F4BC 800B831C 24E7D0E4 */ addiu $a3, %lo(D_8012D0E4) # addiu $a3, $a3, -0x2f1c @@ -3747,8 +3748,8 @@ glabel DbgCamera_Update /* B2F4D4 800B8334 3C018014 */ lui $at, %hi(D_80143CC0) /* B2F4D8 800B8338 C4283CC0 */ lwc1 $f8, %lo(D_80143CC0)($at) /* B2F4DC 800B833C 448E2000 */ mtc1 $t6, $f4 -/* B2F4E0 800B8340 3C058013 */ lui $a1, %hi(D_8012D103) # $a1, 0x8013 -/* B2F4E4 800B8344 24A5D103 */ addiu $a1, %lo(D_8012D103) # addiu $a1, $a1, -0x2efd +/* B2F4E0 800B8340 3C058013 */ lui $a1, %hi(D_8012D0F8+0xB) # $a1, 0x8013 +/* B2F4E4 800B8344 24A5D103 */ addiu $a1, %lo(D_8012D0F8+0xB) # addiu $a1, $a1, -0x2efd /* B2F4E8 800B8348 468021A0 */ cvt.s.w $f6, $f4 /* B2F4EC 800B834C 24060004 */ li $a2, 4 /* B2F4F0 800B8350 46083282 */ mul.s $f10, $f6, $f8 @@ -3756,7 +3757,7 @@ glabel DbgCamera_Update /* B2F4F8 800B8358 44042000 */ mfc1 $a0, $f4 /* B2F4FC 800B835C 00000000 */ nop /* B2F500 800B8360 00042400 */ sll $a0, $a0, 0x10 -/* B2F504 800B8364 0C02CF7E */ jal func_800B3DF8 +/* B2F504 800B8364 0C02CF7E */ jal DbCamera_SetTextValue /* B2F508 800B8368 00042403 */ sra $a0, $a0, 0x10 /* B2F50C 800B836C 3C078013 */ lui $a3, %hi(D_8012D0F8) # $a3, 0x8013 /* B2F510 800B8370 24E7D0F8 */ addiu $a3, %lo(D_8012D0F8) # addiu $a3, $a3, -0x2f08 @@ -3765,14 +3766,14 @@ glabel DbgCamera_Update /* B2F51C 800B837C 0C018DDB */ jal func_8006376C /* B2F520 800B8380 24060003 */ li $a2, 3 /* B2F524 800B8384 C7A00104 */ lwc1 $f0, 0x104($sp) -/* B2F528 800B8388 3C058013 */ lui $a1, %hi(D_8012D0DC) # $a1, 0x8013 -/* B2F52C 800B838C 24A5D0DC */ addiu $a1, %lo(D_8012D0DC) # addiu $a1, $a1, -0x2f24 +/* B2F528 800B8388 3C058013 */ lui $a1, %hi(D_8012D0D4+8) # $a1, 0x8013 +/* B2F52C 800B838C 24A5D0DC */ addiu $a1, %lo(D_8012D0D4+8) # addiu $a1, $a1, -0x2f24 /* B2F530 800B8390 4600018D */ trunc.w.s $f6, $f0 /* B2F534 800B8394 24060006 */ li $a2, 6 /* B2F538 800B8398 44043000 */ mfc1 $a0, $f6 /* B2F53C 800B839C 00000000 */ nop /* B2F540 800B83A0 00042400 */ sll $a0, $a0, 0x10 -/* B2F544 800B83A4 0C02CF7E */ jal func_800B3DF8 +/* B2F544 800B83A4 0C02CF7E */ jal DbCamera_SetTextValue /* B2F548 800B83A8 00042403 */ sra $a0, $a0, 0x10 /* B2F54C 800B83AC 3C078013 */ lui $a3, %hi(D_8012D0D4) # $a3, 0x8013 /* B2F550 800B83B0 24E7D0D4 */ addiu $a3, %lo(D_8012D0D4) # addiu $a3, $a3, -0x2f2c diff --git a/asm/non_matchings/code/db_camera/func_800B9638.s b/asm/non_matchings/code/db_camera/DbCamera_UpdateDemoControl.s similarity index 83% rename from asm/non_matchings/code/db_camera/func_800B9638.s rename to asm/non_matchings/code/db_camera/DbCamera_UpdateDemoControl.s index 517251b86b..888cffb940 100644 --- a/asm/non_matchings/code/db_camera/func_800B9638.s +++ b/asm/non_matchings/code/db_camera/DbCamera_UpdateDemoControl.s @@ -28,11 +28,13 @@ glabel D_80143C40 .balign 4 .late_rodata + glabel D_80143CD0 .float 182.04167 + .text -glabel func_800B9638 +glabel DbCamera_UpdateDemoControl /* B307D8 800B9638 27BDFF58 */ addiu $sp, $sp, -0xa8 /* B307DC 800B963C 3C0E8013 */ lui $t6, %hi(D_8012D14C) # $t6, 0x8013 /* B307E0 800B9640 AFBF0034 */ sw $ra, 0x34($sp) @@ -55,10 +57,10 @@ glabel func_800B9638 /* B30824 800B9684 AE380008 */ sw $t8, 8($s1) /* B30828 800B9688 0C018DDB */ jal func_8006376C /* B3082C 800B968C 8CE7CF44 */ lw $a3, %lo(D_8012CF44)($a3) -/* B30830 800B9690 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B30834 800B9694 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B30838 800B9698 3C108016 */ lui $s0, %hi(D_8016114A) # $s0, 0x8016 -/* B3083C 800B969C 8610114A */ lh $s0, %lo(D_8016114A)($s0) +/* B30830 800B9690 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B30834 800B9694 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B30838 800B9698 3C108016 */ lui $s0, %hi(sLastFileIdx) # $s0, 0x8016 +/* B3083C 800B969C 8610114A */ lh $s0, %lo(sLastFileIdx)($s0) /* B30840 800B96A0 0008C843 */ sra $t9, $t0, 1 /* B30844 800B96A4 AFB900A0 */ sw $t9, 0xa0($sp) /* B30848 800B96A8 864210C2 */ lh $v0, 0x10c2($s2) @@ -69,7 +71,7 @@ glabel func_800B9638 /* B3085C 800B96BC 10410003 */ beq $v0, $at, .L800B96CC /* B30860 800B96C0 24010003 */ li $at, 3 /* B30864 800B96C4 14410332 */ bne $v0, $at, .L800BA390 -/* B30868 800B96C8 3C198016 */ lui $t9, %hi(D_80161100) +/* B30868 800B96C8 3C198016 */ lui $t9, %hi(sGlobalCtx) .L800B96CC: /* B3086C 800B96CC 864410C0 */ lh $a0, 0x10c0($s2) /* B30870 800B96D0 288100CA */ slti $at, $a0, 0xca @@ -109,15 +111,15 @@ glabel func_800B9638 /* B308F4 800B9754 10000174 */ b .L800B9D28 /* B308F8 800B9758 00000000 */ nop .L800B975C: -/* B308FC 800B975C 3C0C8016 */ lui $t4, %hi(D_80161104) # $t4, 0x8016 -/* B30900 800B9760 8D8C1104 */ lw $t4, %lo(D_80161104)($t4) +/* B308FC 800B975C 3C0C8016 */ lui $t4, %hi(sMempakFiles) # $t4, 0x8016 +/* B30900 800B9760 8D8C1104 */ lw $t4, %lo(sMempakFiles)($t4) /* B30904 800B9764 240A0001 */ li $t2, 1 /* B30908 800B9768 010A5804 */ sllv $t3, $t2, $t0 /* B3090C 800B976C 016C6824 */ and $t5, $t3, $t4 /* B30910 800B9770 11A00075 */ beqz $t5, .L800B9948 /* B30914 800B9774 24010064 */ li $at, 100 -/* B30918 800B9778 3C0E8016 */ lui $t6, %hi(D_80161100) # $t6, 0x8016 -/* B3091C 800B977C 8DCE1100 */ lw $t6, %lo(D_80161100)($t6) +/* B30918 800B9778 3C0E8016 */ lui $t6, %hi(sGlobalCtx) # $t6, 0x8016 +/* B3091C 800B977C 8DCE1100 */ lw $t6, %lo(sGlobalCtx)($t6) /* B30920 800B9780 2401FDFF */ li $at, -513 /* B30924 800B9784 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 /* B30928 800B9788 95C30050 */ lhu $v1, 0x50($t6) @@ -138,10 +140,10 @@ glabel func_800B9638 /* B30960 800B97C0 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B30964 800B97C4 24060004 */ li $a2, 4 /* B30968 800B97C8 864B10C4 */ lh $t3, 0x10c4($s2) -/* B3096C 800B97CC 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 +/* B3096C 800B97CC 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 /* B30970 800B97D0 396C0001 */ xori $t4, $t3, 1 /* B30974 800B97D4 A64C10C4 */ sh $t4, 0x10c4($s2) -/* B30978 800B97D8 85081148 */ lh $t0, %lo(D_80161148)($t0) +/* B30978 800B97D8 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) .L800B97DC: /* B3097C 800B97DC 3C028013 */ lui $v0, %hi(D_8012CEE0) # $v0, 0x8013 /* B30980 800B97E0 2442CEE0 */ addiu $v0, %lo(D_8012CEE0) # addiu $v0, $v0, -0x3120 @@ -194,8 +196,8 @@ glabel func_800B9638 /* B30A2C 800B988C 304600FF */ andi $a2, $v0, 0xff /* B30A30 800B9890 0C018DDB */ jal func_8006376C /* B30A34 800B9894 8CE7CF98 */ lw $a3, %lo(D_8012CF98)($a3) -/* B30A38 800B9898 3C0B8016 */ lui $t3, %hi(D_80161100) # $t3, 0x8016 -/* B30A3C 800B989C 8D6B1100 */ lw $t3, %lo(D_80161100)($t3) +/* B30A38 800B9898 3C0B8016 */ lui $t3, %hi(sGlobalCtx) # $t3, 0x8016 +/* B30A3C 800B989C 8D6B1100 */ lw $t3, %lo(sGlobalCtx)($t3) /* B30A40 800B98A0 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* B30A44 800B98A4 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* B30A48 800B98A8 95630050 */ lhu $v1, 0x50($t3) @@ -219,10 +221,10 @@ glabel func_800B9638 /* B30A90 800B98F0 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B30A94 800B98F4 24060004 */ li $a2, 4 /* B30A98 800B98F8 865810C0 */ lh $t8, 0x10c0($s2) -/* B30A9C 800B98FC 3C0A8016 */ lui $t2, %hi(D_80161100) # $t2, 0x8016 +/* B30A9C 800B98FC 3C0A8016 */ lui $t2, %hi(sGlobalCtx) # $t2, 0x8016 /* B30AA0 800B9900 27190001 */ addiu $t9, $t8, 1 /* B30AA4 800B9904 A65910C0 */ sh $t9, 0x10c0($s2) -/* B30AA8 800B9908 8D4A1100 */ lw $t2, %lo(D_80161100)($t2) +/* B30AA8 800B9908 8D4A1100 */ lw $t2, %lo(sGlobalCtx)($t2) /* B30AAC 800B990C 10000038 */ b .L800B99F0 /* B30AB0 800B9910 95430050 */ lhu $v1, 0x50($t2) .L800B9914: @@ -235,17 +237,17 @@ glabel func_800B9638 /* B30ACC 800B992C 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B30AD0 800B9930 24060004 */ li $a2, 4 /* B30AD4 800B9934 A64010C0 */ sh $zero, 0x10c0($s2) -/* B30AD8 800B9938 3C0D8016 */ lui $t5, %hi(D_80161100) # $t5, 0x8016 -/* B30ADC 800B993C 8DAD1100 */ lw $t5, %lo(D_80161100)($t5) +/* B30AD8 800B9938 3C0D8016 */ lui $t5, %hi(sGlobalCtx) # $t5, 0x8016 +/* B30ADC 800B993C 8DAD1100 */ lw $t5, %lo(sGlobalCtx)($t5) /* B30AE0 800B9940 1000002B */ b .L800B99F0 /* B30AE4 800B9944 95A30050 */ lhu $v1, 0x50($t5) .L800B9948: /* B30AE8 800B9948 14810007 */ bne $a0, $at, .L800B9968 -/* B30AEC 800B994C 3C0A8016 */ lui $t2, %hi(D_80161148) # $t2, 0x8016 +/* B30AEC 800B994C 3C0A8016 */ lui $t2, %hi(sCurFileIdx) # $t2, 0x8016 /* B30AF0 800B9950 248E0001 */ addiu $t6, $a0, 1 /* B30AF4 800B9954 A64E10C0 */ sh $t6, 0x10c0($s2) -/* B30AF8 800B9958 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 -/* B30AFC 800B995C 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B30AF8 800B9958 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 +/* B30AFC 800B995C 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B30B00 800B9960 10000023 */ b .L800B99F0 /* B30B04 800B9964 95E30050 */ lhu $v1, 0x50($t7) .L800B9968: @@ -254,7 +256,7 @@ glabel func_800B9638 /* B30B10 800B9970 3C078013 */ lui $a3, %hi(D_8012CF84) # $a3, 0x8013 /* B30B14 800B9974 3B190001 */ xori $t9, $t8, 1 /* B30B18 800B9978 A65910C4 */ sh $t9, 0x10c4($s2) -/* B30B1C 800B997C 854A1148 */ lh $t2, %lo(D_80161148)($t2) +/* B30B1C 800B997C 854A1148 */ lh $t2, %lo(sCurFileIdx)($t2) /* B30B20 800B9980 8D8CCF84 */ lw $t4, %lo(D_8012CF84)($t4) /* B30B24 800B9984 2404000D */ li $a0, 13 /* B30B28 800B9988 254B0041 */ addiu $t3, $t2, 0x41 @@ -282,8 +284,8 @@ glabel func_800B9638 /* B30B78 800B99D8 304600FF */ andi $a2, $v0, 0xff /* B30B7C 800B99DC 0C018DDB */ jal func_8006376C /* B30B80 800B99E0 24E73BE8 */ addiu $a3, %lo(D_80143BE8) # addiu $a3, $a3, 0x3be8 -/* B30B84 800B99E4 3C0E8016 */ lui $t6, %hi(D_80161100) # $t6, 0x8016 -/* B30B88 800B99E8 8DCE1100 */ lw $t6, %lo(D_80161100)($t6) +/* B30B84 800B99E4 3C0E8016 */ lui $t6, %hi(sGlobalCtx) # $t6, 0x8016 +/* B30B88 800B99E8 8DCE1100 */ lw $t6, %lo(sGlobalCtx)($t6) /* B30B8C 800B99EC 95C30050 */ lhu $v1, 0x50($t6) .L800B99F0: /* B30B90 800B99F0 2401BFFF */ li $at, -16385 @@ -355,10 +357,10 @@ glabel func_800B9638 .L800B9AEC: /* B30C8C 800B9AEC 864E10C4 */ lh $t6, 0x10c4($s2) /* B30C90 800B9AF0 3C028013 */ lui $v0, %hi(D_8012CEE0) # $v0, 0x8013 -/* B30C94 800B9AF4 3C188016 */ lui $t8, %hi(D_80161148) # $t8, 0x8016 +/* B30C94 800B9AF4 3C188016 */ lui $t8, %hi(sCurFileIdx) # $t8, 0x8016 /* B30C98 800B9AF8 39CF0001 */ xori $t7, $t6, 1 /* B30C9C 800B9AFC A64F10C4 */ sh $t7, 0x10c4($s2) -/* B30CA0 800B9B00 87181148 */ lh $t8, %lo(D_80161148)($t8) +/* B30CA0 800B9B00 87181148 */ lh $t8, %lo(sCurFileIdx)($t8) /* B30CA4 800B9B04 2442CEE0 */ addiu $v0, %lo(D_8012CEE0) # addiu $v0, $v0, -0x3120 /* B30CA8 800B9B08 8C4A00A4 */ lw $t2, 0xa4($v0) /* B30CAC 800B9B0C 27190041 */ addiu $t9, $t8, 0x41 @@ -399,8 +401,8 @@ glabel func_800B9638 /* B30D30 800B9B90 304600FF */ andi $a2, $v0, 0xff /* B30D34 800B9B94 0C018DDB */ jal func_8006376C /* B30D38 800B9B98 24E73BF8 */ addiu $a3, %lo(D_80143BF8) # addiu $a3, $a3, 0x3bf8 -/* B30D3C 800B9B9C 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 -/* B30D40 800B9BA0 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B30D3C 800B9B9C 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 +/* B30D40 800B9BA0 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B30D44 800B9BA4 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* B30D48 800B9BA8 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* B30D4C 800B9BAC 95E30050 */ lhu $v1, 0x50($t7) @@ -434,10 +436,10 @@ glabel func_800B9638 /* B30DB0 800B9C10 864D10C4 */ lh $t5, 0x10c4($s2) .L800B9C14: /* B30DB4 800B9C14 3C028013 */ lui $v0, %hi(D_8012CEE0) # $v0, 0x8013 -/* B30DB8 800B9C18 3C0F8016 */ lui $t7, %hi(D_80161148) # $t7, 0x8016 +/* B30DB8 800B9C18 3C0F8016 */ lui $t7, %hi(sCurFileIdx) # $t7, 0x8016 /* B30DBC 800B9C1C 39AE0001 */ xori $t6, $t5, 1 /* B30DC0 800B9C20 A64E10C4 */ sh $t6, 0x10c4($s2) -/* B30DC4 800B9C24 85EF1148 */ lh $t7, %lo(D_80161148)($t7) +/* B30DC4 800B9C24 85EF1148 */ lh $t7, %lo(sCurFileIdx)($t7) /* B30DC8 800B9C28 2442CEE0 */ addiu $v0, %lo(D_8012CEE0) # addiu $v0, $v0, -0x3120 /* B30DCC 800B9C2C 8C5900A4 */ lw $t9, 0xa4($v0) /* B30DD0 800B9C30 25F80041 */ addiu $t8, $t7, 0x41 @@ -478,8 +480,8 @@ glabel func_800B9638 /* B30E54 800B9CB4 304600FF */ andi $a2, $v0, 0xff /* B30E58 800B9CB8 0C018DDB */ jal func_8006376C /* B30E5C 800B9CBC 24E73C08 */ addiu $a3, %lo(D_80143C08) # addiu $a3, $a3, 0x3c08 -/* B30E60 800B9CC0 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 -/* B30E64 800B9CC4 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B30E60 800B9CC0 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 +/* B30E64 800B9CC4 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B30E68 800B9CC8 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* B30E6C 800B9CCC 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* B30E70 800B9CD0 95E30050 */ lhu $v1, 0x50($t7) @@ -515,15 +517,15 @@ glabel func_800B9638 /* B30EDC 800B9D3C 24050041 */ li $a1, 65 /* B30EE0 800B9D40 0C02ED7E */ jal Mempak_FindFile /* B30EE4 800B9D44 24060045 */ li $a2, 69 -/* B30EE8 800B9D48 3C018016 */ lui $at, %hi(D_80161104) # $at, 0x8016 -/* B30EEC 800B9D4C AC221104 */ sw $v0, %lo(D_80161104)($at) +/* B30EE8 800B9D48 3C018016 */ lui $at, %hi(sMempakFiles) # $at, 0x8016 +/* B30EEC 800B9D4C AC221104 */ sw $v0, %lo(sMempakFiles)($at) /* B30EF0 800B9D50 240E0001 */ li $t6, 1 -/* B30EF4 800B9D54 0C02E283 */ jal func_800B8A0C +/* B30EF4 800B9D54 0C02E283 */ jal DbCamera_CalcMempakAllocSize /* B30EF8 800B9D58 A64E10C0 */ sh $t6, 0x10c0($s2) -/* B30EFC 800B9D5C 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B30F00 800B9D60 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B30F04 800B9D64 3C198016 */ lui $t9, %hi(D_80161104) # $t9, 0x8016 -/* B30F08 800B9D68 8F391104 */ lw $t9, %lo(D_80161104)($t9) +/* B30EFC 800B9D5C 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B30F00 800B9D60 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B30F04 800B9D64 3C198016 */ lui $t9, %hi(sMempakFiles) # $t9, 0x8016 +/* B30F08 800B9D68 8F391104 */ lw $t9, %lo(sMempakFiles)($t9) /* B30F0C 800B9D6C 240F0001 */ li $t7, 1 /* B30F10 800B9D70 010FC004 */ sllv $t8, $t7, $t0 /* B30F14 800B9D74 03195024 */ and $t2, $t8, $t9 @@ -550,8 +552,8 @@ glabel func_800B9638 /* B30F60 800B9DC0 2404002D */ li $a0, 45 /* B30F64 800B9DC4 24030005 */ li $v1, 5 .L800B9DC8: -/* B30F68 800B9DC8 3C0D8016 */ lui $t5, %hi(D_80161104) # $t5, 0x8016 -/* B30F6C 800B9DCC 8DAD1104 */ lw $t5, %lo(D_80161104)($t5) +/* B30F68 800B9DC8 3C0D8016 */ lui $t5, %hi(sMempakFiles) # $t5, 0x8016 +/* B30F6C 800B9DCC 8DAD1104 */ lw $t5, %lo(sMempakFiles)($t5) /* B30F70 800B9DD0 262F0041 */ addiu $t7, $s1, 0x41 /* B30F74 800B9DD4 01B07024 */ and $t6, $t5, $s0 /* B30F78 800B9DD8 11C00003 */ beqz $t6, .L800B9DE8 @@ -567,8 +569,8 @@ glabel func_800B9638 /* B30F98 800B9DF8 A044FFFE */ sb $a0, -2($v0) /* B30F9C 800B9DFC A0440000 */ sb $a0, ($v0) /* B30FA0 800B9E00 A0400001 */ sb $zero, 1($v0) -/* B30FA4 800B9E04 3C188016 */ lui $t8, %hi(D_80161100) # $t8, 0x8016 -/* B30FA8 800B9E08 8F181100 */ lw $t8, %lo(D_80161100)($t8) +/* B30FA4 800B9E04 3C188016 */ lui $t8, %hi(sGlobalCtx) # $t8, 0x8016 +/* B30FA8 800B9E08 8F181100 */ lw $t8, %lo(sGlobalCtx)($t8) /* B30FAC 800B9E0C 2401FEFF */ li $at, -257 /* B30FB0 800B9E10 97030050 */ lhu $v1, 0x50($t8) /* B30FB4 800B9E14 0061C827 */ nor $t9, $v1, $at @@ -584,23 +586,23 @@ glabel func_800B9638 /* B30FDC 800B9E3C 24044809 */ li $a0, 18441 /* B30FE0 800B9E40 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B30FE4 800B9E44 24060004 */ li $a2, 4 -/* B30FE8 800B9E48 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B30FEC 800B9E4C 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B30FF0 800B9E50 3C0E8016 */ lui $t6, %hi(D_80161104) # $t6, 0x8016 +/* B30FE8 800B9E48 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B30FEC 800B9E4C 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B30FF0 800B9E50 3C0E8016 */ lui $t6, %hi(sMempakFiles) # $t6, 0x8016 /* B30FF4 800B9E54 240A0001 */ li $t2, 1 /* B30FF8 800B9E58 29010004 */ slti $at, $t0, 4 /* B30FFC 800B9E5C 14200004 */ bnez $at, .L800B9E70 /* B31000 800B9E60 250B0001 */ addiu $t3, $t0, 1 -/* B31004 800B9E64 3C018016 */ lui $at, %hi(D_80161148) # $at, 0x8016 +/* B31004 800B9E64 3C018016 */ lui $at, %hi(sCurFileIdx) # $at, 0x8016 /* B31008 800B9E68 10000003 */ b .L800B9E78 -/* B3100C 800B9E6C A4201148 */ sh $zero, %lo(D_80161148)($at) +/* B3100C 800B9E6C A4201148 */ sh $zero, %lo(sCurFileIdx)($at) .L800B9E70: -/* B31010 800B9E70 3C018016 */ lui $at, %hi(D_80161148) # $at, 0x8016 -/* B31014 800B9E74 A42B1148 */ sh $t3, %lo(D_80161148)($at) +/* B31010 800B9E70 3C018016 */ lui $at, %hi(sCurFileIdx) # $at, 0x8016 +/* B31014 800B9E74 A42B1148 */ sh $t3, %lo(sCurFileIdx)($at) .L800B9E78: -/* B31018 800B9E78 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B3101C 800B9E7C 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B31020 800B9E80 8DCE1104 */ lw $t6, %lo(D_80161104)($t6) +/* B31018 800B9E78 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B3101C 800B9E7C 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B31020 800B9E80 8DCE1104 */ lw $t6, %lo(sMempakFiles)($t6) /* B31024 800B9E84 240C0001 */ li $t4, 1 /* B31028 800B9E88 010C6804 */ sllv $t5, $t4, $t0 /* B3102C 800B9E8C 01AE7824 */ and $t7, $t5, $t6 @@ -614,15 +616,15 @@ glabel func_800B9638 /* B3104C 800B9EAC AC22D170 */ sw $v0, %lo(D_8012D170)($at) /* B31050 800B9EB0 24180002 */ li $t8, 2 /* B31054 800B9EB4 A65810C2 */ sh $t8, 0x10c2($s2) -/* B31058 800B9EB8 3C198016 */ lui $t9, %hi(D_80161100) # $t9, 0x8016 -/* B3105C 800B9EBC 8F391100 */ lw $t9, %lo(D_80161100)($t9) +/* B31058 800B9EB8 3C198016 */ lui $t9, %hi(sGlobalCtx) # $t9, 0x8016 +/* B3105C 800B9EBC 8F391100 */ lw $t9, %lo(sGlobalCtx)($t9) /* B31060 800B9EC0 10000006 */ b .L800B9EDC /* B31064 800B9EC4 97230050 */ lhu $v1, 0x50($t9) .L800B9EC8: /* B31068 800B9EC8 AC20D170 */ sw $zero, %lo(D_8012D170)($at) /* B3106C 800B9ECC A64A10C2 */ sh $t2, 0x10c2($s2) -/* B31070 800B9ED0 3C0B8016 */ lui $t3, %hi(D_80161100) # $t3, 0x8016 -/* B31074 800B9ED4 8D6B1100 */ lw $t3, %lo(D_80161100)($t3) +/* B31070 800B9ED0 3C0B8016 */ lui $t3, %hi(sGlobalCtx) # $t3, 0x8016 +/* B31074 800B9ED4 8D6B1100 */ lw $t3, %lo(sGlobalCtx)($t3) /* B31078 800B9ED8 95630050 */ lhu $v1, 0x50($t3) .L800B9EDC: /* B3107C 800B9EDC 2401FDFF */ li $at, -513 @@ -639,22 +641,22 @@ glabel func_800B9638 /* B310A8 800B9F08 24044809 */ li $a0, 18441 /* B310AC 800B9F0C 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B310B0 800B9F10 24060004 */ li $a2, 4 -/* B310B4 800B9F14 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B310B8 800B9F18 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B310BC 800B9F1C 3C018016 */ lui $at, %hi(D_80161148) -/* B310C0 800B9F20 3C0A8016 */ lui $t2, %hi(D_80161104) # $t2, 0x8016 +/* B310B4 800B9F14 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B310B8 800B9F18 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B310BC 800B9F1C 3C018016 */ lui $at, %hi(sCurFileIdx) +/* B310C0 800B9F20 3C0A8016 */ lui $t2, %hi(sMempakFiles) # $t2, 0x8016 /* B310C4 800B9F24 1D000005 */ bgtz $t0, .L800B9F3C /* B310C8 800B9F28 250FFFFF */ addiu $t7, $t0, -1 /* B310CC 800B9F2C 240E0004 */ li $t6, 4 -/* B310D0 800B9F30 3C018016 */ lui $at, %hi(D_80161148) # $at, 0x8016 +/* B310D0 800B9F30 3C018016 */ lui $at, %hi(sCurFileIdx) # $at, 0x8016 /* B310D4 800B9F34 10000002 */ b .L800B9F40 -/* B310D8 800B9F38 A42E1148 */ sh $t6, %lo(D_80161148)($at) +/* B310D8 800B9F38 A42E1148 */ sh $t6, %lo(sCurFileIdx)($at) .L800B9F3C: -/* B310DC 800B9F3C A42F1148 */ sh $t7, %lo(D_80161148)($at) +/* B310DC 800B9F3C A42F1148 */ sh $t7, %lo(sCurFileIdx)($at) .L800B9F40: -/* B310E0 800B9F40 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B310E4 800B9F44 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B310E8 800B9F48 8D4A1104 */ lw $t2, %lo(D_80161104)($t2) +/* B310E0 800B9F40 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B310E4 800B9F44 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B310E8 800B9F48 8D4A1104 */ lw $t2, %lo(sMempakFiles)($t2) /* B310EC 800B9F4C 24180001 */ li $t8, 1 /* B310F0 800B9F50 0118C804 */ sllv $t9, $t8, $t0 /* B310F4 800B9F54 032A5824 */ and $t3, $t9, $t2 @@ -688,8 +690,8 @@ glabel func_800B9638 /* B3115C 800B9FBC 24060004 */ li $a2, 4 /* B31160 800B9FC0 0C018DDB */ jal func_8006376C /* B31164 800B9FC4 27A70074 */ addiu $a3, $sp, 0x74 -/* B31168 800B9FC8 3C048016 */ lui $a0, %hi(D_80161148) # $a0, 0x8016 -/* B3116C 800B9FCC 84841148 */ lh $a0, %lo(D_80161148)($a0) +/* B31168 800B9FC8 3C048016 */ lui $a0, %hi(sCurFileIdx) # $a0, 0x8016 +/* B3116C 800B9FCC 84841148 */ lh $a0, %lo(sCurFileIdx)($a0) /* B31170 800B9FD0 3C078014 */ lui $a3, %hi(D_80143C18) # $a3, 0x8014 /* B31174 800B9FD4 24E73C18 */ addiu $a3, %lo(D_80143C18) # addiu $a3, $a3, 0x3c18 /* B31178 800B9FD8 00042040 */ sll $a0, $a0, 1 @@ -698,12 +700,12 @@ glabel func_800B9638 /* B31184 800B9FE4 24050007 */ li $a1, 7 /* B31188 800B9FE8 0C018DDB */ jal func_8006376C /* B3118C 800B9FEC 24060007 */ li $a2, 7 -/* B31190 800B9FF0 0C02E2E9 */ jal func_800B8BA4 +/* B31190 800B9FF0 0C02E2E9 */ jal DbCamera_GetMempakAllocSize /* B31194 800B9FF4 00000000 */ nop /* B31198 800B9FF8 00022400 */ sll $a0, $v0, 0x10 /* B3119C 800B9FFC 00042403 */ sra $a0, $a0, 0x10 /* B311A0 800BA000 27A50074 */ addiu $a1, $sp, 0x74 -/* B311A4 800BA004 0C02CF7E */ jal func_800B3DF8 +/* B311A4 800BA004 0C02CF7E */ jal DbCamera_SetTextValue /* B311A8 800BA008 24060006 */ li $a2, 6 /* B311AC 800BA00C 3C078013 */ lui $a3, %hi(D_8012CF78) # $a3, 0x8013 /* B311B0 800BA010 8CE7CF78 */ lw $a3, %lo(D_8012CF78)($a3) @@ -721,7 +723,7 @@ glabel func_800B9638 /* B311E0 800BA040 00022400 */ sll $a0, $v0, 0x10 /* B311E4 800BA044 00042403 */ sra $a0, $a0, 0x10 /* B311E8 800BA048 27A50074 */ addiu $a1, $sp, 0x74 -/* B311EC 800BA04C 0C02CF7E */ jal func_800B3DF8 +/* B311EC 800BA04C 0C02CF7E */ jal DbCamera_SetTextValue /* B311F0 800BA050 24060006 */ li $a2, 6 /* B311F4 800BA054 3C078013 */ lui $a3, %hi(D_8012CF74) # $a3, 0x8013 /* B311F8 800BA058 8CE7CF74 */ lw $a3, %lo(D_8012CF74)($a3) @@ -737,10 +739,10 @@ glabel func_800B9638 /* B31220 800BA080 3C0F8013 */ lui $t7, %hi(D_8012D170) # $t7, 0x8013 /* B31224 800BA084 8DEFD170 */ lw $t7, %lo(D_8012D170)($t7) /* B31228 800BA088 11E00010 */ beqz $t7, .L800BA0CC -/* B3122C 800BA08C 3C048013 */ lui $a0, %hi(D_8012D172) # $a0, 0x8013 -/* B31230 800BA090 8484D172 */ lh $a0, %lo(D_8012D172)($a0) +/* B3122C 800BA08C 3C048013 */ lui $a0, %hi(D_8012D170+2) # $a0, 0x8013 +/* B31230 800BA090 8484D172 */ lh $a0, %lo(D_8012D170+2)($a0) /* B31234 800BA094 27A50074 */ addiu $a1, $sp, 0x74 -/* B31238 800BA098 0C02CF7E */ jal func_800B3DF8 +/* B31238 800BA098 0C02CF7E */ jal DbCamera_SetTextValue /* B3123C 800BA09C 24060006 */ li $a2, 6 /* B31240 800BA0A0 3C078013 */ lui $a3, %hi(D_8012CFA8) # $a3, 0x8013 /* B31244 800BA0A4 8CE7CFA8 */ lw $a3, %lo(D_8012CFA8)($a3) @@ -758,16 +760,16 @@ glabel func_800B9638 /* B31270 800BA0D0 3C078013 */ lui $a3, %hi(D_8012CF7C) # $a3, 0x8013 /* B31274 800BA0D4 8CE7CF7C */ lw $a3, %lo(D_8012CF7C)($a3) /* B31278 800BA0D8 27190002 */ addiu $t9, $t8, 2 -/* B3127C 800BA0DC AFB900A0 */ sw $t9, 0xa0($sp) +/* B3127C 800BA0DC AFB900A0 */ sw $t9, 0xa0($sp) # spA0 = t8 + 2 /* B31280 800BA0E0 2404000F */ li $a0, 15 /* B31284 800BA0E4 24050016 */ li $a1, 22 /* B31288 800BA0E8 0C018DDB */ jal func_8006376C /* B3128C 800BA0EC 24060001 */ li $a2, 1 /* B31290 800BA0F0 8FA900A0 */ lw $t1, 0xa0($sp) -/* B31294 800BA0F4 3C0B8013 */ lui $t3, %hi(D_8012D158) # $t3, 0x8013 -/* B31298 800BA0F8 256BD158 */ addiu $t3, %lo(D_8012D158) # addiu $t3, $t3, -0x2ea8 +/* B31294 800BA0F4 3C0B8013 */ lui $t3, %hi(sDbCameraColors) # $t3, 0x8013 +/* B31298 800BA0F8 256BD158 */ addiu $t3, %lo(sDbCameraColors) # addiu $t3, $t3, -0x2ea8 /* B3129C 800BA0FC 00095080 */ sll $t2, $t1, 2 -/* B312A0 800BA100 014B8021 */ addu $s0, $t2, $t3 +/* B312A0 800BA100 014B8021 */ addu $s0, $t2, $t3 # s0 = sDbCameraColors + t2 * 4 /* B312A4 800BA104 3C078013 */ lui $a3, %hi(D_8012CF64) # $a3, 0x8013 /* B312A8 800BA108 8CE7CF64 */ lw $a3, %lo(D_8012CF64)($a3) /* B312AC 800BA10C 92060003 */ lbu $a2, 3($s0) @@ -806,8 +808,8 @@ glabel func_800B9638 /* B31330 800BA190 2405001A */ li $a1, 26 /* B31334 800BA194 0C018DDB */ jal func_8006376C /* B31338 800BA198 24060005 */ li $a2, 5 -/* B3133C 800BA19C 3C0C8016 */ lui $t4, %hi(D_80161100) # $t4, 0x8016 -/* B31340 800BA1A0 8D8C1100 */ lw $t4, %lo(D_80161100)($t4) +/* B3133C 800BA19C 3C0C8016 */ lui $t4, %hi(sGlobalCtx) # $t4, 0x8016 +/* B31340 800BA1A0 8D8C1100 */ lw $t4, %lo(sGlobalCtx)($t4) /* B31344 800BA1A4 2401F7FF */ li $at, -2049 /* B31348 800BA1A8 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B3134C 800BA1AC 95830050 */ lhu $v1, 0x50($t4) @@ -824,11 +826,11 @@ glabel func_800B9638 /* B31378 800BA1D8 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B3137C 800BA1DC AFA70010 */ sw $a3, 0x10($sp) /* B31380 800BA1E0 864F10C2 */ lh $t7, 0x10c2($s2) -/* B31384 800BA1E4 3C0A8016 */ lui $t2, %hi(D_80161100) # $t2, 0x8016 +/* B31384 800BA1E4 3C0A8016 */ lui $t2, %hi(sGlobalCtx) # $t2, 0x8016 /* B31388 800BA1E8 25F8FFFF */ addiu $t8, $t7, -1 /* B3138C 800BA1EC 33190003 */ andi $t9, $t8, 3 /* B31390 800BA1F0 A65910C2 */ sh $t9, 0x10c2($s2) -/* B31394 800BA1F4 8D4A1100 */ lw $t2, %lo(D_80161100)($t2) +/* B31394 800BA1F4 8D4A1100 */ lw $t2, %lo(sGlobalCtx)($t2) /* B31398 800BA1F8 95430050 */ lhu $v1, 0x50($t2) .L800BA1FC: /* B3139C 800BA1FC 2401FBFF */ li $at, -1025 @@ -846,11 +848,11 @@ glabel func_800B9638 /* B313CC 800BA22C 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B313D0 800BA230 24060004 */ li $a2, 4 /* B313D4 800BA234 864E10C2 */ lh $t6, 0x10c2($s2) -/* B313D8 800BA238 3C198016 */ lui $t9, %hi(D_80161100) # $t9, 0x8016 +/* B313D8 800BA238 3C198016 */ lui $t9, %hi(sGlobalCtx) # $t9, 0x8016 /* B313DC 800BA23C 25CF0001 */ addiu $t7, $t6, 1 /* B313E0 800BA240 31F80003 */ andi $t8, $t7, 3 /* B313E4 800BA244 A65810C2 */ sh $t8, 0x10c2($s2) -/* B313E8 800BA248 8F391100 */ lw $t9, %lo(D_80161100)($t9) +/* B313E8 800BA248 8F391100 */ lw $t9, %lo(sGlobalCtx)($t9) /* B313EC 800BA24C 97230050 */ lhu $v1, 0x50($t9) .L800BA250: /* B313F0 800BA250 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff @@ -870,14 +872,14 @@ glabel func_800B9638 /* B31428 800BA288 24060004 */ li $a2, 4 /* B3142C 800BA28C 864D10C2 */ lh $t5, 0x10c2($s2) /* B31430 800BA290 A64010C4 */ sh $zero, 0x10c4($s2) -/* B31434 800BA294 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 +/* B31434 800BA294 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 /* B31438 800BA298 000D7080 */ sll $t6, $t5, 2 /* B3143C 800BA29C 01CD7023 */ subu $t6, $t6, $t5 /* B31440 800BA2A0 000E70C0 */ sll $t6, $t6, 3 /* B31444 800BA2A4 01CD7021 */ addu $t6, $t6, $t5 /* B31448 800BA2A8 000E7080 */ sll $t6, $t6, 2 /* B3144C 800BA2AC A64E10C0 */ sh $t6, 0x10c0($s2) -/* B31450 800BA2B0 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) +/* B31450 800BA2B0 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) /* B31454 800BA2B4 95E30050 */ lhu $v1, 0x50($t7) .L800BA2B8: /* B31458 800BA2B8 2401BFFF */ li $at, -16385 @@ -909,8 +911,8 @@ glabel func_800B9638 /* B314BC 800BA31C 2405001A */ li $a1, 26 /* B314C0 800BA320 0C018DDB */ jal func_8006376C /* B314C4 800BA324 24060004 */ li $a2, 4 -/* B314C8 800BA328 3C0B8016 */ lui $t3, %hi(D_80161100) # $t3, 0x8016 -/* B314CC 800BA32C 8D6B1100 */ lw $t3, %lo(D_80161100)($t3) +/* B314C8 800BA328 3C0B8016 */ lui $t3, %hi(sGlobalCtx) # $t3, 0x8016 +/* B314CC 800BA32C 8D6B1100 */ lw $t3, %lo(sGlobalCtx)($t3) /* B314D0 800BA330 2401BFFF */ li $at, -16385 /* B314D4 800BA334 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 /* B314D8 800BA338 95630050 */ lhu $v1, 0x50($t3) @@ -938,7 +940,7 @@ glabel func_800B9638 /* B31528 800BA388 10000326 */ b .L800BB024 /* B3152C 800BA38C 24020002 */ li $v0, 2 .L800BA390: -/* B31530 800BA390 8F391100 */ lw $t9, %lo(D_80161100)($t9) +/* B31530 800BA390 8F391100 */ lw $t9, %lo(sGlobalCtx)($t9) /* B31534 800BA394 2401F7FF */ li $at, -2049 /* B31538 800BA398 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B3153C 800BA39C 97230050 */ lhu $v1, 0x50($t9) @@ -956,13 +958,13 @@ glabel func_800B9638 /* B3156C 800BA3CC AFA70010 */ sw $a3, 0x10($sp) /* B31570 800BA3D0 864C10C2 */ lh $t4, 0x10c2($s2) /* B31574 800BA3D4 A64010C0 */ sh $zero, 0x10c0($s2) -/* B31578 800BA3D8 3C0F8016 */ lui $t7, %hi(D_80161100) # $t7, 0x8016 +/* B31578 800BA3D8 3C0F8016 */ lui $t7, %hi(sGlobalCtx) # $t7, 0x8016 /* B3157C 800BA3DC 258DFFFF */ addiu $t5, $t4, -1 /* B31580 800BA3E0 31AE0003 */ andi $t6, $t5, 3 /* B31584 800BA3E4 A64E10C2 */ sh $t6, 0x10c2($s2) -/* B31588 800BA3E8 8DEF1100 */ lw $t7, %lo(D_80161100)($t7) -/* B3158C 800BA3EC 3C018016 */ lui $at, %hi(D_80161148) # $at, 0x8016 -/* B31590 800BA3F0 A4201148 */ sh $zero, %lo(D_80161148)($at) +/* B31588 800BA3E8 8DEF1100 */ lw $t7, %lo(sGlobalCtx)($t7) +/* B3158C 800BA3EC 3C018016 */ lui $at, %hi(sCurFileIdx) # $at, 0x8016 +/* B31590 800BA3F0 A4201148 */ sh $zero, %lo(sCurFileIdx)($at) /* B31594 800BA3F4 95E30050 */ lhu $v1, 0x50($t7) .L800BA3F8: /* B31598 800BA3F8 2401FBFF */ li $at, -1025 @@ -981,21 +983,21 @@ glabel func_800B9638 /* B315CC 800BA42C 24060004 */ li $a2, 4 /* B315D0 800BA430 864A10C2 */ lh $t2, 0x10c2($s2) /* B315D4 800BA434 A64010C0 */ sh $zero, 0x10c0($s2) -/* B315D8 800BA438 3C018016 */ lui $at, %hi(D_80161148) # $at, 0x8016 +/* B315D8 800BA438 3C018016 */ lui $at, %hi(sCurFileIdx) # $at, 0x8016 /* B315DC 800BA43C 254B0001 */ addiu $t3, $t2, 1 /* B315E0 800BA440 316C0003 */ andi $t4, $t3, 3 /* B315E4 800BA444 A64C10C2 */ sh $t4, 0x10c2($s2) -/* B315E8 800BA448 A4201148 */ sh $zero, %lo(D_80161148)($at) +/* B315E8 800BA448 A4201148 */ sh $zero, %lo(sCurFileIdx)($at) .L800BA44C: /* B315EC 800BA44C 27A40074 */ addiu $a0, $sp, 0x74 /* B315F0 800BA450 24050007 */ li $a1, 7 /* B315F4 800BA454 24060005 */ li $a2, 5 -/* B315F8 800BA458 0C02E3D6 */ jal func_800B8F58 +/* B315F8 800BA458 0C02E3D6 */ jal DbCamera_DrawSlotLetters /* B315FC 800BA45C 24070004 */ li $a3, 4 -/* B31600 800BA460 3C0D8016 */ lui $t5, %hi(D_8016111A) # $t5, 0x8016 -/* B31604 800BA464 85AD111A */ lh $t5, %lo(D_8016111A)($t5) +/* B31600 800BA460 3C0D8016 */ lui $t5, %hi(sDbCamAnim+0xA) # $t5, 0x8016 +/* B31604 800BA464 85AD111A */ lh $t5, %lo(sDbCamAnim+0xA)($t5) /* B31608 800BA468 8FA900A0 */ lw $t1, 0xa0($sp) -/* B3160C 800BA46C 3C048016 */ lui $a0, %hi(D_80161100) +/* B3160C 800BA46C 3C048016 */ lui $a0, %hi(sGlobalCtx) /* B31610 800BA470 11A00070 */ beqz $t5, .L800BA634 /* B31614 800BA474 3C078013 */ lui $a3, %hi(D_8012CF4C) # $a3, 0x8013 /* B31618 800BA478 8CE7CF4C */ lw $a3, %lo(D_8012CF4C)($a3) @@ -1013,8 +1015,8 @@ glabel func_800B9638 /* B31648 800BA4A8 24050007 */ li $a1, 7 /* B3164C 800BA4AC 0C018DDB */ jal func_8006376C /* B31650 800BA4B0 24060007 */ li $a2, 7 -/* B31654 800BA4B4 3C0E8016 */ lui $t6, %hi(D_80161100) -/* B31658 800BA4B8 8DCE1100 */ lw $t6, %lo(D_80161100)($t6) +/* B31654 800BA4B4 3C0E8016 */ lui $t6, %hi(sGlobalCtx) +/* B31658 800BA4B8 8DCE1100 */ lw $t6, %lo(sGlobalCtx)($t6) /* B3165C 800BA4BC 2401FFF7 */ li $at, -9 /* B31660 800BA4C0 95C30050 */ lhu $v1, 0x50($t6) /* B31664 800BA4C4 00617827 */ nor $t7, $v1, $at @@ -1029,8 +1031,8 @@ glabel func_800B9638 /* B31688 800BA4E8 2458FFFF */ addiu $t8, $v0, -1 /* B3168C 800BA4EC A4780000 */ sh $t8, ($v1) .L800BA4F0: -/* B31690 800BA4F0 3C028016 */ lui $v0, %hi(D_80161110) -/* B31694 800BA4F4 24421110 */ addiu $v0, %lo(D_80161110) # addiu $v0, $v0, 0x1110 +/* B31690 800BA4F0 3C028016 */ lui $v0, %hi(sDbCamAnim) +/* B31694 800BA4F4 24421110 */ addiu $v0, %lo(sDbCamAnim) # addiu $v0, $v0, 0x1110 /* B31698 800BA4F8 E4440000 */ swc1 $f4, ($v0) /* B3169C 800BA4FC A4400008 */ sh $zero, 8($v0) /* B316A0 800BA500 10000022 */ b .L800BA58C @@ -1050,19 +1052,19 @@ glabel func_800B9638 /* B316D4 800BA534 244A0001 */ addiu $t2, $v0, 1 /* B316D8 800BA538 A46A0000 */ sh $t2, ($v1) .L800BA53C: -/* B316DC 800BA53C 3C018016 */ lui $at, %hi(D_80161110) -/* B316E0 800BA540 E4281110 */ swc1 $f8, %lo(D_80161110)($at) -/* B316E4 800BA544 3C018016 */ lui $at, %hi(D_80161118) # $at, 0x8016 -/* B316E8 800BA548 A4201118 */ sh $zero, %lo(D_80161118)($at) -/* B316EC 800BA54C 3C018016 */ lui $at, %hi(D_80161114) +/* B316DC 800BA53C 3C018016 */ lui $at, %hi(sDbCamAnim) +/* B316E0 800BA540 E4281110 */ swc1 $f8, %lo(sDbCamAnim)($at) +/* B316E4 800BA544 3C018016 */ lui $at, %hi(sDbCamAnim+0x8) # $at, 0x8016 +/* B316E8 800BA548 A4201118 */ sh $zero, %lo(sDbCamAnim+0x8)($at) +/* B316EC 800BA54C 3C018016 */ lui $at, %hi(sDbCamAnim+0x4) /* B316F0 800BA550 1000000E */ b .L800BA58C -/* B316F4 800BA554 E42A1114 */ swc1 $f10, %lo(D_80161114)($at) +/* B316F4 800BA554 E42A1114 */ swc1 $f10, %lo(sDbCamAnim+0x4)($at) /* B316F8 800BA558 2401FFFD */ li $at, -3 .L800BA55C: /* B316FC 800BA55C 00615827 */ nor $t3, $v1, $at /* B31700 800BA560 1560000A */ bnez $t3, .L800BA58C -/* B31704 800BA564 3C018016 */ lui $at, %hi(D_8016111A) # $at, 0x8016 -/* B31708 800BA568 A420111A */ sh $zero, %lo(D_8016111A)($at) +/* B31704 800BA564 3C018016 */ lui $at, %hi(sDbCamAnim+0xA) # $at, 0x8016 +/* B31708 800BA568 A420111A */ sh $zero, %lo(sDbCamAnim+0xA)($at) /* B3170C 800BA56C 0C020978 */ jal Interface_ChangeAlpha /* B31710 800BA570 24040002 */ li $a0, 2 /* B31714 800BA574 0C02CE10 */ jal ShrinkWindow_SetVal @@ -1111,12 +1113,12 @@ glabel func_800B9638 /* B317B8 800BA618 44075000 */ mfc1 $a3, $f10 /* B317BC 800BA61C 00000000 */ nop /* B317C0 800BA620 00073C00 */ sll $a3, $a3, 0x10 -/* B317C4 800BA624 0C02CEF5 */ jal func_800B3BD4 +/* B317C4 800BA624 0C02CEF5 */ jal DbCamera_CalcUpFromPitchYawRoll /* B317C8 800BA628 00073C03 */ sra $a3, $a3, 0x10 /* B317CC 800BA62C 1000027D */ b .L800BB024 /* B317D0 800BA630 24020002 */ li $v0, 2 .L800BA634: -/* B317D4 800BA634 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B317D4 800BA634 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B317D8 800BA638 2401FFFE */ li $at, -2 /* B317DC 800BA63C 948E0038 */ lhu $t6, 0x38($a0) /* B317E0 800BA640 01C17827 */ nor $t7, $t6, $at @@ -1130,18 +1132,18 @@ glabel func_800B9638 /* B31800 800BA660 24190001 */ li $t9, 1 /* B31804 800BA664 AC580008 */ sw $t8, 8($v0) /* B31808 800BA668 A0591414 */ sb $t9, 0x1414($v0) -/* B3180C 800BA66C 3C018016 */ lui $at, %hi(D_80161110) -/* B31810 800BA670 E4301110 */ swc1 $f16, %lo(D_80161110)($at) +/* B3180C 800BA66C 3C018016 */ lui $at, %hi(sDbCamAnim) +/* B31810 800BA670 E4301110 */ swc1 $f16, %lo(sDbCamAnim)($at) /* B31814 800BA674 44809000 */ mtc1 $zero, $f18 -/* B31818 800BA678 3C018016 */ lui $at, %hi(D_80161118) # $at, 0x8016 -/* B3181C 800BA67C A4201118 */ sh $zero, %lo(D_80161118)($at) -/* B31820 800BA680 3C018016 */ lui $at, %hi(D_80161114) -/* B31824 800BA684 E4321114 */ swc1 $f18, %lo(D_80161114)($at) -/* B31828 800BA688 3C018016 */ lui $at, %hi(D_8016111C) # $at, 0x8016 +/* B31818 800BA678 3C018016 */ lui $at, %hi(sDbCamAnim+0x8) # $at, 0x8016 +/* B3181C 800BA67C A4201118 */ sh $zero, %lo(sDbCamAnim+0x8)($at) +/* B31820 800BA680 3C018016 */ lui $at, %hi(sDbCamAnim+0x4) +/* B31824 800BA684 E4321114 */ swc1 $f18, %lo(sDbCamAnim+0x4)($at) +/* B31828 800BA688 3C018016 */ lui $at, %hi(sDbCamAnim+0xC) # $at, 0x8016 /* B3182C 800BA68C 240A0001 */ li $t2, 1 /* B31830 800BA690 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* B31834 800BA694 A42A111A */ sh $t2, %lo(D_8016111A)($at) -/* B31838 800BA698 A420111C */ sh $zero, %lo(D_8016111C)($at) +/* B31834 800BA694 A42A111A */ sh $t2, %lo(sDbCamAnim+0xA)($at) +/* B31838 800BA698 A420111C */ sh $zero, %lo(sDbCamAnim+0xC)($at) /* B3183C 800BA69C 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013 /* B31840 800BA6A0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 /* B31844 800BA6A4 3C018016 */ lui $at, %hi(D_8016110C) # $at, 0x8016 @@ -1154,33 +1156,33 @@ glabel func_800B9638 /* B31860 800BA6C0 2404480B */ li $a0, 18443 /* B31864 800BA6C4 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31868 800BA6C8 24060004 */ li $a2, 4 -/* B3186C 800BA6CC 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31870 800BA6D0 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B3186C 800BA6CC 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31870 800BA6D0 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31874 800BA6D4 8FA900A0 */ lw $t1, 0xa0($sp) .L800BA6D8: /* B31878 800BA6D8 94830050 */ lhu $v1, 0x50($a0) /* B3187C 800BA6DC 2401FFDF */ li $at, -33 /* B31880 800BA6E0 00616027 */ nor $t4, $v1, $at /* B31884 800BA6E4 15800018 */ bnez $t4, .L800BA748 -/* B31888 800BA6E8 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 -/* B3188C 800BA6EC 85081148 */ lh $t0, %lo(D_80161148)($t0) +/* B31888 800BA6E8 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 +/* B3188C 800BA6EC 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) /* B31890 800BA6F0 2411003F */ li $s1, 63 -/* B31894 800BA6F4 3C068016 */ lui $a2, %hi(sDbgEditorSlots) # $a2, 0x8016 +/* B31894 800BA6F4 3C068016 */ lui $a2, %hi(sDbCameraCuts) # $a2, 0x8016 /* B31898 800BA6F8 03A86821 */ addu $t5, $sp, $t0 /* B3189C 800BA6FC 91AD0074 */ lbu $t5, 0x74($t5) -/* B318A0 800BA700 24C61150 */ addiu $a2, %lo(sDbgEditorSlots) # addiu $a2, $a2, 0x1150 -/* B318A4 800BA704 3C018016 */ lui $at, %hi(D_8016114A) +/* B318A0 800BA700 24C61150 */ addiu $a2, %lo(sDbCameraCuts) # addiu $a2, $a2, 0x1150 +/* B318A4 800BA704 3C018016 */ lui $at, %hi(sLastFileIdx) /* B318A8 800BA708 162D0008 */ bne $s1, $t5, .L800BA72C /* B318AC 800BA70C 0009C100 */ sll $t8, $t1, 4 /* B318B0 800BA710 240EFFFF */ li $t6, -1 -/* B318B4 800BA714 3C018016 */ lui $at, %hi(D_8016114A) # $at, 0x8016 -/* B318B8 800BA718 A42E114A */ sh $t6, %lo(D_8016114A)($at) +/* B318B4 800BA714 3C018016 */ lui $at, %hi(sLastFileIdx) # $at, 0x8016 +/* B318B8 800BA718 A42E114A */ sh $t6, %lo(sLastFileIdx)($at) /* B318BC 800BA71C 3C018016 */ lui $at, %hi(D_801612EA) # $at, 0x8016 /* B318C0 800BA720 240F002A */ li $t7, 42 /* B318C4 800BA724 10000006 */ b .L800BA740 /* B318C8 800BA728 A02F12EA */ sb $t7, %lo(D_801612EA)($at) .L800BA72C: -/* B318CC 800BA72C A428114A */ sh $t0, %lo(D_8016114A)($at) +/* B318CC 800BA72C A428114A */ sh $t0, %lo(sLastFileIdx)($at) /* B318D0 800BA730 00D8C821 */ addu $t9, $a2, $t8 /* B318D4 800BA734 932A0000 */ lbu $t2, ($t9) /* B318D8 800BA738 3C018016 */ lui $at, %hi(D_801612EA) # $at, 0x8016 @@ -1191,16 +1193,16 @@ glabel func_800B9638 .L800BA748: /* B318E8 800BA748 948B0044 */ lhu $t3, 0x44($a0) /* B318EC 800BA74C 2401FFDF */ li $at, -33 -/* B318F0 800BA750 3C0D8016 */ lui $t5, %hi(D_8016114A) # $t5, 0x8016 +/* B318F0 800BA750 3C0D8016 */ lui $t5, %hi(sLastFileIdx) # $t5, 0x8016 /* B318F4 800BA754 01616027 */ nor $t4, $t3, $at /* B318F8 800BA758 518000CF */ beql $t4, $zero, .L800BAA98 /* B318FC 800BA75C 3C01FFFF */ lui $at, 0xffff -/* B31900 800BA760 85AD114A */ lh $t5, %lo(D_8016114A)($t5) +/* B31900 800BA760 85AD114A */ lh $t5, %lo(sLastFileIdx)($t5) /* B31904 800BA764 2401FFFF */ li $at, -1 -/* B31908 800BA768 3C0E8016 */ lui $t6, %hi(D_80161148) # $t6, 0x8016 +/* B31908 800BA768 3C0E8016 */ lui $t6, %hi(sCurFileIdx) # $t6, 0x8016 /* B3190C 800BA76C 51A100C6 */ beql $t5, $at, .L800BAA88 /* B31910 800BA770 240FFFFF */ li $t7, -1 -/* B31914 800BA774 85CE1148 */ lh $t6, %lo(D_80161148)($t6) +/* B31914 800BA774 85CE1148 */ lh $t6, %lo(sCurFileIdx)($t6) /* B31918 800BA778 2401002D */ li $at, 45 /* B3191C 800BA77C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B31920 800BA780 03AE1021 */ addu $v0, $sp, $t6 @@ -1223,9 +1225,9 @@ glabel func_800B9638 /* B31964 800BA7C4 24044808 */ li $a0, 18440 /* B31968 800BA7C8 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B3196C 800BA7CC 24060004 */ li $a2, 4 -/* B31970 800BA7D0 3C068016 */ lui $a2, %hi(sDbgEditorSlots) # $a2, 0x8016 +/* B31970 800BA7D0 3C068016 */ lui $a2, %hi(sDbCameraCuts) # $a2, 0x8016 /* B31974 800BA7D4 8FA900A0 */ lw $t1, 0xa0($sp) -/* B31978 800BA7D8 24C61150 */ addiu $a2, %lo(sDbgEditorSlots) # addiu $a2, $a2, 0x1150 +/* B31978 800BA7D8 24C61150 */ addiu $a2, %lo(sDbCameraCuts) # addiu $a2, $a2, 0x1150 /* B3197C 800BA7DC 00105100 */ sll $t2, $s0, 4 /* B31980 800BA7E0 00CA5821 */ addu $t3, $a2, $t2 /* B31984 800BA7E4 8D6D0000 */ lw $t5, ($t3) @@ -1233,7 +1235,7 @@ glabel func_800B9638 /* B3198C 800BA7EC 00D8C821 */ addu $t9, $a2, $t8 /* B31990 800BA7F0 AF2D0000 */ sw $t5, ($t9) /* B31994 800BA7F4 8D6C0004 */ lw $t4, 4($t3) -/* B31998 800BA7F8 3C0E8016 */ lui $t6, %hi(D_80161148) # $t6, 0x8016 +/* B31998 800BA7F8 3C0E8016 */ lui $t6, %hi(sCurFileIdx) # $t6, 0x8016 /* B3199C 800BA7FC 2408003F */ li $t0, 63 /* B319A0 800BA800 AF2C0004 */ sw $t4, 4($t9) /* B319A4 800BA804 8D6D0008 */ lw $t5, 8($t3) @@ -1242,13 +1244,13 @@ glabel func_800B9638 /* B319B0 800BA810 AF2D0008 */ sw $t5, 8($t9) /* B319B4 800BA814 8D6C000C */ lw $t4, 0xc($t3) /* B319B8 800BA818 AF2C000C */ sw $t4, 0xc($t9) -/* B319BC 800BA81C 85CE1148 */ lh $t6, %lo(D_80161148)($t6) +/* B319BC 800BA81C 85CE1148 */ lh $t6, %lo(sCurFileIdx)($t6) /* B319C0 800BA820 03AE7821 */ addu $t7, $sp, $t6 -/* B319C4 800BA824 0C02E25E */ jal func_800B8978 +/* B319C4 800BA824 0C02E25E */ jal DbCamera_ResetCut /* B319C8 800BA828 A1E80074 */ sb $t0, 0x74($t7) -/* B319CC 800BA82C 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 +/* B319CC 800BA82C 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 /* B319D0 800BA830 10000094 */ b .L800BAA84 -/* B319D4 800BA834 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B319D4 800BA834 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) .L800BA838: /* B319D8 800BA838 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013 /* B319DC 800BA83C 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8 @@ -1257,8 +1259,8 @@ glabel func_800B9638 /* B319E8 800BA848 24060004 */ li $a2, 4 /* B319EC 800BA84C 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B319F0 800BA850 AFA70010 */ sw $a3, 0x10($sp) -/* B319F4 800BA854 3C068016 */ lui $a2, %hi(sDbgEditorSlots) # $a2, 0x8016 -/* B319F8 800BA858 24C61150 */ addiu $a2, %lo(sDbgEditorSlots) # addiu $a2, $a2, 0x1150 +/* B319F4 800BA854 3C068016 */ lui $a2, %hi(sDbCameraCuts) # $a2, 0x8016 +/* B319F8 800BA858 24C61150 */ addiu $a2, %lo(sDbCameraCuts) # addiu $a2, $a2, 0x1150 /* B319FC 800BA85C 00105100 */ sll $t2, $s0, 4 /* B31A00 800BA860 00CAC821 */ addu $t9, $a2, $t2 /* B31A04 800BA864 8F2C0000 */ lw $t4, ($t9) @@ -1266,16 +1268,16 @@ glabel func_800B9638 /* B31A0C 800BA86C 27A50064 */ addiu $a1, $sp, 0x64 /* B31A10 800BA870 ACAC0000 */ sw $t4, ($a1) /* B31A14 800BA874 8F2B0004 */ lw $t3, 4($t9) -/* B31A18 800BA878 3C028016 */ lui $v0, %hi(D_8016114A) # $v0, 0x8016 -/* B31A1C 800BA87C 3C088016 */ lui $t0, %hi(D_80161148) # $t0, 0x8016 +/* B31A18 800BA878 3C028016 */ lui $v0, %hi(sLastFileIdx) # $v0, 0x8016 +/* B31A1C 800BA87C 3C088016 */ lui $t0, %hi(sCurFileIdx) # $t0, 0x8016 /* B31A20 800BA880 ACAB0004 */ sw $t3, 4($a1) /* B31A24 800BA884 8F2C0008 */ lw $t4, 8($t9) /* B31A28 800BA888 2524FFFF */ addiu $a0, $t1, -1 /* B31A2C 800BA88C ACAC0008 */ sw $t4, 8($a1) /* B31A30 800BA890 8F2B000C */ lw $t3, 0xc($t9) /* B31A34 800BA894 ACAB000C */ sw $t3, 0xc($a1) -/* B31A38 800BA898 85081148 */ lh $t0, %lo(D_80161148)($t0) -/* B31A3C 800BA89C 8442114A */ lh $v0, %lo(D_8016114A)($v0) +/* B31A38 800BA898 85081148 */ lh $t0, %lo(sCurFileIdx)($t0) +/* B31A3C 800BA89C 8442114A */ lh $v0, %lo(sLastFileIdx)($v0) /* B31A40 800BA8A0 0048082A */ slt $at, $v0, $t0 /* B31A44 800BA8A4 10200027 */ beqz $at, .L800BA944 /* B31A48 800BA8A8 0204082A */ slt $at, $s0, $a0 @@ -1284,12 +1286,12 @@ glabel func_800B9638 /* B31A54 800BA8B4 10200018 */ beqz $at, .L800BA918 /* B31A58 800BA8B8 00106900 */ sll $t5, $s0, 4 /* B31A5C 800BA8BC 00047100 */ sll $t6, $a0, 4 -/* B31A60 800BA8C0 3C0F8016 */ lui $t7, %hi(D_80161160) # $t7, 0x8016 -/* B31A64 800BA8C4 25EF1160 */ addiu $t7, %lo(D_80161160) # addiu $t7, $t7, 0x1160 -/* B31A68 800BA8C8 3C048016 */ lui $a0, %hi(D_80161250) # $a0, 0x8016 +/* B31A60 800BA8C0 3C0F8016 */ lui $t7, %hi(sDbCameraCuts+0x10) # $t7, 0x8016 +/* B31A64 800BA8C4 25EF1160 */ addiu $t7, %lo(sDbCameraCuts+0x10) # addiu $t7, $t7, 0x1160 +/* B31A68 800BA8C8 3C048016 */ lui $a0, %hi(sDbCameraCuts+0x100) # $a0, 0x8016 /* B31A6C 800BA8CC 00CD8021 */ addu $s0, $a2, $t5 /* B31A70 800BA8D0 26020010 */ addiu $v0, $s0, 0x10 -/* B31A74 800BA8D4 24841250 */ addiu $a0, %lo(D_80161250) # addiu $a0, $a0, 0x1250 +/* B31A74 800BA8D4 24841250 */ addiu $a0, %lo(sDbCameraCuts+0x100) # addiu $a0, $a0, 0x1250 /* B31A78 800BA8D8 01CF1821 */ addu $v1, $t6, $t7 /* B31A7C 800BA8DC 8C4A0000 */ lw $t2, ($v0) .L800BA8E0: @@ -1331,8 +1333,8 @@ glabel func_800B9638 /* B31B04 800BA964 27181140 */ addiu $t8, %lo(D_80161140) # addiu $t8, $t8, 0x1140 /* B31B08 800BA968 00CE8021 */ addu $s0, $a2, $t6 /* B31B0C 800BA96C 00097900 */ sll $t7, $t1, 4 -/* B31B10 800BA970 3C048016 */ lui $a0, %hi(sDbgEditorSlots) # $a0, 0x8016 -/* B31B14 800BA974 24841150 */ addiu $a0, %lo(sDbgEditorSlots) # addiu $a0, $a0, 0x1150 +/* B31B10 800BA970 3C048016 */ lui $a0, %hi(sDbCameraCuts) # $a0, 0x8016 +/* B31B14 800BA974 24841150 */ addiu $a0, %lo(sDbCameraCuts) # addiu $a0, $a0, 0x1150 /* B31B18 800BA978 01F81821 */ addu $v1, $t7, $t8 /* B31B1C 800BA97C 2602FFF0 */ addiu $v0, $s0, -0x10 /* B31B20 800BA980 8C590000 */ lw $t9, ($v0) @@ -1364,16 +1366,16 @@ glabel func_800B9638 /* B31B7C 800BA9DC 8CAD000C */ lw $t5, 0xc($a1) /* B31B80 800BA9E0 AD8D000C */ sw $t5, 0xc($t4) .L800BA9E4: -/* B31B84 800BA9E4 3C0F8016 */ lui $t7, %hi(sDbgEditorSlots) # $t7, 0x8016 -/* B31B88 800BA9E8 3C188016 */ lui $t8, %hi(D_80161160) # $t8, 0x8016 -/* B31B8C 800BA9EC 3C0A8016 */ lui $t2, %hi(D_80161170) # $t2, 0x8016 -/* B31B90 800BA9F0 914A1170 */ lbu $t2, %lo(D_80161170)($t2) -/* B31B94 800BA9F4 93181160 */ lbu $t8, %lo(D_80161160)($t8) -/* B31B98 800BA9F8 91EF1150 */ lbu $t7, %lo(sDbgEditorSlots)($t7) -/* B31B9C 800BA9FC 3C108016 */ lui $s0, %hi(D_80161180) # $s0, 0x8016 -/* B31BA0 800BAA00 3C038016 */ lui $v1, %hi(D_80161240) # $v1, 0x8016 -/* B31BA4 800BAA04 24631240 */ addiu $v1, %lo(D_80161240) # addiu $v1, $v1, 0x1240 -/* B31BA8 800BAA08 26101180 */ addiu $s0, %lo(D_80161180) # addiu $s0, $s0, 0x1180 +/* B31B84 800BA9E4 3C0F8016 */ lui $t7, %hi(sDbCameraCuts) # $t7, 0x8016 +/* B31B88 800BA9E8 3C188016 */ lui $t8, %hi(sDbCameraCuts+0x10) # $t8, 0x8016 +/* B31B8C 800BA9EC 3C0A8016 */ lui $t2, %hi(sDbCameraCuts+0x20) # $t2, 0x8016 +/* B31B90 800BA9F0 914A1170 */ lbu $t2, %lo(sDbCameraCuts+0x20)($t2) +/* B31B94 800BA9F4 93181160 */ lbu $t8, %lo(sDbCameraCuts+0x10)($t8) +/* B31B98 800BA9F8 91EF1150 */ lbu $t7, %lo(sDbCameraCuts)($t7) +/* B31B9C 800BA9FC 3C108016 */ lui $s0, %hi(sDbCameraCuts+0x30) # $s0, 0x8016 +/* B31BA0 800BAA00 3C038016 */ lui $v1, %hi(sDbCameraCuts+0xF0) # $v1, 0x8016 +/* B31BA4 800BAA04 24631240 */ addiu $v1, %lo(sDbCameraCuts+0xF0) # addiu $v1, $v1, 0x1240 +/* B31BA8 800BAA08 26101180 */ addiu $s0, %lo(sDbCameraCuts+0x30) # addiu $s0, $s0, 0x1180 /* B31BAC 800BAA0C 27A2007A */ addiu $v0, $sp, 0x7a /* B31BB0 800BAA10 A3AA0079 */ sb $t2, 0x79($sp) /* B31BB4 800BAA14 A3B80077 */ sb $t8, 0x77($sp) @@ -1390,9 +1392,9 @@ glabel func_800B9638 /* B31BDC 800BAA3C A04DFFFF */ sb $t5, -1($v0) /* B31BE0 800BAA40 1603FFF6 */ bne $s0, $v1, .L800BAA1C /* B31BE4 800BAA44 A059FFF9 */ sb $t9, -7($v0) -/* B31BE8 800BAA48 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 +/* B31BE8 800BAA48 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 /* B31BEC 800BAA4C 1000000D */ b .L800BAA84 -/* B31BF0 800BAA50 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31BF0 800BAA50 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) .L800BAA54: /* B31BF4 800BAA54 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013 /* B31BF8 800BAA58 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 @@ -1404,13 +1406,13 @@ glabel func_800B9638 /* B31C10 800BAA70 24044806 */ li $a0, 18438 /* B31C14 800BAA74 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31C18 800BAA78 24060004 */ li $a2, 4 -/* B31C1C 800BAA7C 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31C20 800BAA80 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31C1C 800BAA7C 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31C20 800BAA80 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) .L800BAA84: /* B31C24 800BAA84 240FFFFF */ li $t7, -1 .L800BAA88: -/* B31C28 800BAA88 3C018016 */ lui $at, %hi(D_8016114A) # $at, 0x8016 -/* B31C2C 800BAA8C A42F114A */ sh $t7, %lo(D_8016114A)($at) +/* B31C28 800BAA88 3C018016 */ lui $at, %hi(sLastFileIdx) # $at, 0x8016 +/* B31C2C 800BAA8C A42F114A */ sh $t7, %lo(sLastFileIdx)($at) /* B31C30 800BAA90 94830050 */ lhu $v1, 0x50($a0) .L800BAA94: /* B31C34 800BAA94 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff @@ -1419,8 +1421,8 @@ glabel func_800B9638 /* B31C3C 800BAA9C 0061C027 */ nor $t8, $v1, $at /* B31C40 800BAAA0 17000021 */ bnez $t8, .L800BAB28 /* B31C44 800BAAA4 2411003F */ li $s1, 63 -/* B31C48 800BAAA8 3C0A8016 */ lui $t2, %hi(D_80161148) # $t2, 0x8016 -/* B31C4C 800BAAAC 854A1148 */ lh $t2, %lo(D_80161148)($t2) +/* B31C48 800BAAA8 3C0A8016 */ lui $t2, %hi(sCurFileIdx) # $t2, 0x8016 +/* B31C4C 800BAAAC 854A1148 */ lh $t2, %lo(sCurFileIdx)($t2) /* B31C50 800BAAB0 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B31C54 800BAAB4 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 /* B31C58 800BAAB8 03AAC821 */ addu $t9, $sp, $t2 @@ -1436,10 +1438,10 @@ glabel func_800B9638 /* B31C80 800BAAE0 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31C84 800BAAE4 AFA70010 */ sw $a3, 0x10($sp) /* B31C88 800BAAE8 8FA400A0 */ lw $a0, 0xa0($sp) -/* B31C8C 800BAAEC 0C02E1F6 */ jal func_800B87D8 +/* B31C8C 800BAAEC 0C02E1F6 */ jal DbCamera_InitCut /* B31C90 800BAAF0 2645007C */ addiu $a1, $s2, 0x7c -/* B31C94 800BAAF4 3C0C8016 */ lui $t4, %hi(D_80161148) # $t4, 0x8016 -/* B31C98 800BAAF8 858C1148 */ lh $t4, %lo(D_80161148)($t4) +/* B31C94 800BAAF4 3C0C8016 */ lui $t4, %hi(sCurFileIdx) # $t4, 0x8016 +/* B31C98 800BAAF8 858C1148 */ lh $t4, %lo(sCurFileIdx)($t4) /* B31C9C 800BAAFC 27AD0074 */ addiu $t5, $sp, 0x74 /* B31CA0 800BAB00 304E00FF */ andi $t6, $v0, 0xff /* B31CA4 800BAB04 018D1821 */ addu $v1, $t4, $t5 @@ -1452,15 +1454,15 @@ glabel func_800B9638 /* B31CC0 800BAB20 0C018DDB */ jal func_8006376C /* B31CC4 800BAB24 24060007 */ li $a2, 7 .L800BAB28: -/* B31CC8 800BAB28 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31CCC 800BAB2C 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31CC8 800BAB28 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31CCC 800BAB2C 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31CD0 800BAB30 2401BFFF */ li $at, -16385 -/* B31CD4 800BAB34 3C188016 */ lui $t8, %hi(D_80161148) # $t8, 0x8016 +/* B31CD4 800BAB34 3C188016 */ lui $t8, %hi(sCurFileIdx) # $t8, 0x8016 /* B31CD8 800BAB38 94830050 */ lhu $v1, 0x50($a0) /* B31CDC 800BAB3C 00617827 */ nor $t7, $v1, $at /* B31CE0 800BAB40 55E0001F */ bnezl $t7, .L800BABC0 /* B31CE4 800BAB44 2401FFEF */ li $at, -17 -/* B31CE8 800BAB48 87181148 */ lh $t8, %lo(D_80161148)($t8) +/* B31CE8 800BAB48 87181148 */ lh $t8, %lo(sCurFileIdx)($t8) /* B31CEC 800BAB4C 2401002D */ li $at, 45 /* B31CF0 800BAB50 03B81021 */ addu $v0, $sp, $t8 /* B31CF4 800BAB54 90420074 */ lbu $v0, 0x74($v0) @@ -1478,24 +1480,24 @@ glabel func_800B9638 /* B31D24 800BAB84 2404480A */ li $a0, 18442 /* B31D28 800BAB88 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31D2C 800BAB8C 24060004 */ li $a2, 4 -/* B31D30 800BAB90 3C0B8016 */ lui $t3, %hi(D_80161148) # $t3, 0x8016 -/* B31D34 800BAB94 856B1148 */ lh $t3, %lo(D_80161148)($t3) +/* B31D30 800BAB90 3C0B8016 */ lui $t3, %hi(sCurFileIdx) # $t3, 0x8016 +/* B31D34 800BAB94 856B1148 */ lh $t3, %lo(sCurFileIdx)($t3) /* B31D38 800BAB98 2419003F */ li $t9, 63 /* B31D3C 800BAB9C 24050001 */ li $a1, 1 /* B31D40 800BABA0 03AB6021 */ addu $t4, $sp, $t3 /* B31D44 800BABA4 A1990074 */ sb $t9, 0x74($t4) -/* B31D48 800BABA8 0C02E25E */ jal func_800B8978 +/* B31D48 800BABA8 0C02E25E */ jal DbCamera_ResetCut /* B31D4C 800BABAC 8FA400A0 */ lw $a0, 0xa0($sp) -/* B31D50 800BABB0 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31D54 800BABB4 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31D50 800BABB0 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31D54 800BABB4 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31D58 800BABB8 94830050 */ lhu $v1, 0x50($a0) .L800BABBC: /* B31D5C 800BABBC 2401FFEF */ li $at, -17 .L800BABC0: /* B31D60 800BABC0 00616827 */ nor $t5, $v1, $at /* B31D64 800BABC4 15A0005B */ bnez $t5, .L800BAD34 -/* B31D68 800BABC8 3C0E8016 */ lui $t6, %hi(D_80161148) # $t6, 0x8016 -/* B31D6C 800BABCC 85CE1148 */ lh $t6, %lo(D_80161148)($t6) +/* B31D68 800BABC8 3C0E8016 */ lui $t6, %hi(sCurFileIdx) # $t6, 0x8016 +/* B31D6C 800BABCC 85CE1148 */ lh $t6, %lo(sCurFileIdx)($t6) /* B31D70 800BABD0 2401002D */ li $at, 45 /* B31D74 800BABD4 03AE1021 */ addu $v0, $sp, $t6 /* B31D78 800BABD8 90420074 */ lbu $v0, 0x74($v0) @@ -1505,9 +1507,9 @@ glabel func_800B9638 /* B31D88 800BABE8 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 /* B31D8C 800BABEC 8FB800A0 */ lw $t8, 0xa0($sp) /* B31D90 800BABF0 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013 -/* B31D94 800BABF4 3C198016 */ lui $t9, %hi(sDbgEditorSlots) # $t9, 0x8016 +/* B31D94 800BABF4 3C198016 */ lui $t9, %hi(sDbCameraCuts) # $t9, 0x8016 /* B31D98 800BABF8 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* B31D9C 800BABFC 27391150 */ addiu $t9, %lo(sDbgEditorSlots) # addiu $t9, $t9, 0x1150 +/* B31D9C 800BABFC 27391150 */ addiu $t9, %lo(sDbCameraCuts) # addiu $t9, $t9, 0x1150 /* B31DA0 800BAC00 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8 /* B31DA4 800BAC04 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 /* B31DA8 800BAC08 00185100 */ sll $t2, $t8, 4 @@ -1576,18 +1578,18 @@ glabel func_800B9638 /* B31E94 800BACF4 A64E0080 */ sh $t6, 0x80($s2) /* B31E98 800BACF8 0C02D077 */ jal func_800B41DC /* B31E9C 800BACFC 8FA600AC */ lw $a2, 0xac($sp) -/* B31EA0 800BAD00 3C0F8016 */ lui $t7, %hi(D_80161148) # $t7, 0x8016 -/* B31EA4 800BAD04 85EF1148 */ lh $t7, %lo(D_80161148)($t7) +/* B31EA0 800BAD00 3C0F8016 */ lui $t7, %hi(sCurFileIdx) # $t7, 0x8016 +/* B31EA4 800BAD04 85EF1148 */ lh $t7, %lo(sCurFileIdx)($t7) /* B31EA8 800BAD08 2408003F */ li $t0, 63 /* B31EAC 800BAD0C 24050001 */ li $a1, 1 /* B31EB0 800BAD10 03AFC021 */ addu $t8, $sp, $t7 /* B31EB4 800BAD14 A3080074 */ sb $t0, 0x74($t8) -/* B31EB8 800BAD18 0C02E25E */ jal func_800B8978 +/* B31EB8 800BAD18 0C02E25E */ jal DbCamera_ResetCut /* B31EBC 800BAD1C 8FA400A0 */ lw $a0, 0xa0($sp) /* B31EC0 800BAD20 240A0001 */ li $t2, 1 /* B31EC4 800BAD24 AE4A0000 */ sw $t2, ($s2) -/* B31EC8 800BAD28 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31ECC 800BAD2C 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31EC8 800BAD28 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31ECC 800BAD2C 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31ED0 800BAD30 94830050 */ lhu $v1, 0x50($a0) .L800BAD34: /* B31ED4 800BAD34 2401FEFF */ li $at, -257 @@ -1605,21 +1607,21 @@ glabel func_800B9638 /* B31F00 800BAD60 24044809 */ li $a0, 18441 /* B31F04 800BAD64 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31F08 800BAD68 24060004 */ li $a2, 4 -/* B31F0C 800BAD6C 3C028016 */ lui $v0, %hi(D_80161148) # $v0, 0x8016 -/* B31F10 800BAD70 24421148 */ addiu $v0, %lo(D_80161148) # addiu $v0, $v0, 0x1148 +/* B31F0C 800BAD6C 3C028016 */ lui $v0, %hi(sCurFileIdx) # $v0, 0x8016 +/* B31F10 800BAD70 24421148 */ addiu $v0, %lo(sCurFileIdx) # addiu $v0, $v0, 0x1148 /* B31F14 800BAD74 84480000 */ lh $t0, ($v0) /* B31F18 800BAD78 2401001E */ li $at, 30 -/* B31F1C 800BAD7C 3C048016 */ lui $a0, %hi(D_80161100) +/* B31F1C 800BAD7C 3C048016 */ lui $a0, %hi(sGlobalCtx) /* B31F20 800BAD80 15010006 */ bne $t0, $at, .L800BAD9C /* B31F24 800BAD84 250C0001 */ addiu $t4, $t0, 1 /* B31F28 800BAD88 A4400000 */ sh $zero, ($v0) -/* B31F2C 800BAD8C 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31F30 800BAD90 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31F2C 800BAD8C 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31F30 800BAD90 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31F34 800BAD94 10000004 */ b .L800BADA8 /* B31F38 800BAD98 94830050 */ lhu $v1, 0x50($a0) .L800BAD9C: /* B31F3C 800BAD9C A44C0000 */ sh $t4, ($v0) -/* B31F40 800BADA0 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31F40 800BADA0 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31F44 800BADA4 94830050 */ lhu $v1, 0x50($a0) .L800BADA8: /* B31F48 800BADA8 2401FDFF */ li $at, -513 @@ -1636,21 +1638,21 @@ glabel func_800B9638 /* B31F74 800BADD4 24044809 */ li $a0, 18441 /* B31F78 800BADD8 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B31F7C 800BADDC 24060004 */ li $a2, 4 -/* B31F80 800BADE0 3C028016 */ lui $v0, %hi(D_80161148) # $v0, 0x8016 -/* B31F84 800BADE4 24421148 */ addiu $v0, %lo(D_80161148) # addiu $v0, $v0, 0x1148 +/* B31F80 800BADE0 3C028016 */ lui $v0, %hi(sCurFileIdx) # $v0, 0x8016 +/* B31F84 800BADE4 24421148 */ addiu $v0, %lo(sCurFileIdx) # addiu $v0, $v0, 0x1148 /* B31F88 800BADE8 84480000 */ lh $t0, ($v0) -/* B31F8C 800BADEC 3C048016 */ lui $a0, %hi(D_80161100) +/* B31F8C 800BADEC 3C048016 */ lui $a0, %hi(sGlobalCtx) /* B31F90 800BADF0 240F001E */ li $t7, 30 /* B31F94 800BADF4 15000006 */ bnez $t0, .L800BAE10 /* B31F98 800BADF8 2518FFFF */ addiu $t8, $t0, -1 /* B31F9C 800BADFC A44F0000 */ sh $t7, ($v0) -/* B31FA0 800BAE00 3C048016 */ lui $a0, %hi(D_80161100) # $a0, 0x8016 -/* B31FA4 800BAE04 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31FA0 800BAE00 3C048016 */ lui $a0, %hi(sGlobalCtx) # $a0, 0x8016 +/* B31FA4 800BAE04 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31FA8 800BAE08 10000004 */ b .L800BAE1C /* B31FAC 800BAE0C 94830050 */ lhu $v1, 0x50($a0) .L800BAE10: /* B31FB0 800BAE10 A4580000 */ sh $t8, ($v0) -/* B31FB4 800BAE14 8C841100 */ lw $a0, %lo(D_80161100)($a0) +/* B31FB4 800BAE14 8C841100 */ lw $a0, %lo(sGlobalCtx)($a0) /* B31FB8 800BAE18 94830050 */ lhu $v1, 0x50($a0) .L800BAE1C: /* B31FBC 800BAE1C 94820044 */ lhu $v0, 0x44($a0) @@ -1661,8 +1663,8 @@ glabel func_800B9638 /* B31FD0 800BAE30 00615027 */ nor $t2, $v1, $at /* B31FD4 800BAE34 15400019 */ bnez $t2, .L800BAE9C /* B31FD8 800BAE38 00008825 */ move $s1, $zero -/* B31FDC 800BAE3C 3C108016 */ lui $s0, %hi(sDbgEditorSlots) # $s0, 0x8016 -/* B31FE0 800BAE40 26101150 */ addiu $s0, %lo(sDbgEditorSlots) # addiu $s0, $s0, 0x1150 +/* B31FDC 800BAE3C 3C108016 */ lui $s0, %hi(sDbCameraCuts) # $s0, 0x8016 +/* B31FE0 800BAE40 26101150 */ addiu $s0, %lo(sDbCameraCuts) # addiu $s0, $s0, 0x1150 .L800BAE44: /* B31FE4 800BAE44 8E190008 */ lw $t9, 8($s0) /* B31FE8 800BAE48 860B000C */ lh $t3, 0xc($s0) @@ -1682,7 +1684,7 @@ glabel func_800B9638 /* B32020 800BAE80 2401000F */ li $at, 15 /* B32024 800BAE84 1621FFEF */ bne $s1, $at, .L800BAE44 /* B32028 800BAE88 26100010 */ addiu $s0, $s0, 0x10 -/* B3202C 800BAE8C 0C02E418 */ jal func_800B9060 +/* B3202C 800BAE8C 0C02E418 */ jal DbCamera_PrintAllCuts /* B32030 800BAE90 8FA400AC */ lw $a0, 0xac($sp) /* B32034 800BAE94 10000042 */ b .L800BAFA0 /* B32038 800BAE98 00000000 */ nop @@ -1703,8 +1705,8 @@ glabel func_800B9638 /* B32070 800BAED0 24060004 */ li $a2, 4 /* B32074 800BAED4 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B32078 800BAED8 00008825 */ move $s1, $zero -/* B3207C 800BAEDC 3C108016 */ lui $s0, %hi(sDbgEditorSlots) # $s0, 0x8016 -/* B32080 800BAEE0 26101150 */ addiu $s0, %lo(sDbgEditorSlots) # addiu $s0, $s0, 0x1150 +/* B3207C 800BAEDC 3C108016 */ lui $s0, %hi(sDbCameraCuts) # $s0, 0x8016 +/* B32080 800BAEE0 26101150 */ addiu $s0, %lo(sDbCameraCuts) # addiu $s0, $s0, 0x1150 .L800BAEE4: /* B32084 800BAEE4 8618000E */ lh $t8, 0xe($s0) /* B32088 800BAEE8 3C048014 */ lui $a0, %hi(D_80143C40) @@ -1713,7 +1715,7 @@ glabel func_800B9638 /* B32094 800BAEF4 26310001 */ addiu $s1, $s1, 1 /* B32098 800BAEF8 0C00084C */ jal osSyncPrintf /* B3209C 800BAEFC 02202825 */ move $a1, $s1 -/* B320A0 800BAF00 0C02D2C8 */ jal func_800B4B20 +/* B320A0 800BAF00 0C02D2C8 */ jal DbCamera_PrintCutBytes /* B320A4 800BAF04 02002025 */ move $a0, $s0 /* B320A8 800BAF08 26310001 */ addiu $s1, $s1, 1 .L800BAF0C: @@ -1726,18 +1728,18 @@ glabel func_800B9638 /* B320C0 800BAF20 2401FFFE */ li $at, -2 /* B320C4 800BAF24 00615027 */ nor $t2, $v1, $at /* B320C8 800BAF28 1540001D */ bnez $t2, .L800BAFA0 -/* B320CC 800BAF2C 3C018016 */ lui $at, %hi(D_80161110) +/* B320CC 800BAF2C 3C018016 */ lui $at, %hi(sDbCamAnim) /* B320D0 800BAF30 44802000 */ mtc1 $zero, $f4 /* B320D4 800BAF34 44803000 */ mtc1 $zero, $f6 /* B320D8 800BAF38 24190001 */ li $t9, 1 -/* B320DC 800BAF3C E4241110 */ swc1 $f4, %lo(D_80161110)($at) -/* B320E0 800BAF40 3C018016 */ lui $at, %hi(D_80161118) # $at, 0x8016 -/* B320E4 800BAF44 A4201118 */ sh $zero, %lo(D_80161118)($at) -/* B320E8 800BAF48 3C018016 */ lui $at, %hi(D_80161114) -/* B320EC 800BAF4C E4261114 */ swc1 $f6, %lo(D_80161114)($at) -/* B320F0 800BAF50 3C018016 */ lui $at, %hi(D_8016111C) # $at, 0x8016 -/* B320F4 800BAF54 A439111A */ sh $t9, %lo(D_8016111A)($at) -/* B320F8 800BAF58 A420111C */ sh $zero, %lo(D_8016111C)($at) +/* B320DC 800BAF3C E4241110 */ swc1 $f4, %lo(sDbCamAnim)($at) +/* B320E0 800BAF40 3C018016 */ lui $at, %hi(sDbCamAnim+0x8) # $at, 0x8016 +/* B320E4 800BAF44 A4201118 */ sh $zero, %lo(sDbCamAnim+0x8)($at) +/* B320E8 800BAF48 3C018016 */ lui $at, %hi(sDbCamAnim+0x4) +/* B320EC 800BAF4C E4261114 */ swc1 $f6, %lo(sDbCamAnim+0x4)($at) +/* B320F0 800BAF50 3C018016 */ lui $at, %hi(sDbCamAnim+0xC) # $at, 0x8016 +/* B320F4 800BAF54 A439111A */ sh $t9, %lo(sDbCamAnim+0xA)($at) +/* B320F8 800BAF58 A420111C */ sh $zero, %lo(sDbCamAnim+0xC)($at) /* B320FC 800BAF5C 0C020978 */ jal Interface_ChangeAlpha /* B32100 800BAF60 24040032 */ li $a0, 50 /* B32104 800BAF64 0C02CE10 */ jal ShrinkWindow_SetVal @@ -1762,8 +1764,8 @@ glabel func_800B9638 /* B3214C 800BAFAC 24050007 */ li $a1, 7 /* B32150 800BAFB0 0C018DDB */ jal func_8006376C /* B32154 800BAFB4 24060005 */ li $a2, 5 -/* B32158 800BAFB8 3C028016 */ lui $v0, %hi(D_8016114A) # $v0, 0x8016 -/* B3215C 800BAFBC 8442114A */ lh $v0, %lo(D_8016114A)($v0) +/* B32158 800BAFB8 3C028016 */ lui $v0, %hi(sLastFileIdx) # $v0, 0x8016 +/* B3215C 800BAFBC 8442114A */ lh $v0, %lo(sLastFileIdx)($v0) /* B32160 800BAFC0 2401FFFF */ li $at, -1 /* B32164 800BAFC4 A3A00075 */ sb $zero, 0x75($sp) /* B32168 800BAFC8 1041000C */ beq $v0, $at, .L800BAFFC @@ -1782,8 +1784,8 @@ glabel func_800B9638 .L800BAFFC: /* B3219C 800BAFFC A3AD0074 */ sb $t5, 0x74($sp) .L800BB000: -/* B321A0 800BB000 3C048016 */ lui $a0, %hi(D_80161148) # $a0, 0x8016 -/* B321A4 800BB004 84841148 */ lh $a0, %lo(D_80161148)($a0) +/* B321A0 800BB000 3C048016 */ lui $a0, %hi(sCurFileIdx) # $a0, 0x8016 +/* B321A4 800BB004 84841148 */ lh $a0, %lo(sCurFileIdx)($a0) /* B321A8 800BB008 24050007 */ li $a1, 7 /* B321AC 800BB00C 24060007 */ li $a2, 7 /* B321B0 800BB010 24840005 */ addiu $a0, $a0, 5 @@ -1798,31 +1800,3 @@ glabel func_800B9638 /* B321D0 800BB030 8FB20030 */ lw $s2, 0x30($sp) /* B321D4 800BB034 03E00008 */ jr $ra /* B321D8 800BB038 27BD00A8 */ addiu $sp, $sp, 0xa8 - -/* B321DC 800BB03C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B321E0 800BB040 AFBF0014 */ sw $ra, 0x14($sp) -/* B321E4 800BB044 3C058016 */ lui $a1, %hi(D_80161108) # $a1, 0x8016 -/* B321E8 800BB048 0C02E46C */ jal func_800B91B0 -/* B321EC 800BB04C 8CA51108 */ lw $a1, %lo(D_80161108)($a1) -/* B321F0 800BB050 8FBF0014 */ lw $ra, 0x14($sp) -/* B321F4 800BB054 27BD0018 */ addiu $sp, $sp, 0x18 -/* B321F8 800BB058 03E00008 */ jr $ra -/* B321FC 800BB05C 00000000 */ nop - -/* B32200 800BB060 3C018016 */ lui $at, %hi(D_8016111A) -/* B32204 800BB064 03E00008 */ jr $ra -/* B32208 800BB068 A420111A */ sh $zero, %lo(D_8016111A)($at) - -/* B3220C 800BB06C 3C0E8016 */ lui $t6, %hi(D_80161108) # $t6, 0x8016 -/* B32210 800BB070 8DCE1108 */ lw $t6, %lo(D_80161108)($t6) -/* B32214 800BB074 8DC20000 */ lw $v0, ($t6) -/* B32218 800BB078 38420002 */ xori $v0, $v0, 2 -/* B3221C 800BB07C 2C420001 */ sltiu $v0, $v0, 1 -/* B32220 800BB080 10400004 */ beqz $v0, .L800BB094 -/* B32224 800BB084 00000000 */ nop -/* B32228 800BB088 3C028016 */ lui $v0, %hi(D_8016111A) # $v0, 0x8016 -/* B3222C 800BB08C 8442111A */ lh $v0, %lo(D_8016111A)($v0) -/* B32230 800BB090 0002102B */ sltu $v0, $zero, $v0 -.L800BB094: -/* B32234 800BB094 03E00008 */ jr $ra -/* B32238 800BB098 00000000 */ nop diff --git a/asm/non_matchings/code/db_camera/func_800B3BD4.s b/asm/non_matchings/code/db_camera/func_800B3BD4.s deleted file mode 100644 index 2a57e6224c..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B3BD4.s +++ /dev/null @@ -1,139 +0,0 @@ -glabel func_800B3BD4 -/* B2AD74 800B3BD4 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* B2AD78 800B3BD8 AFBF0024 */ sw $ra, 0x24($sp) -/* B2AD7C 800B3BDC AFA400C0 */ sw $a0, 0xc0($sp) -/* B2AD80 800B3BE0 AFA500C4 */ sw $a1, 0xc4($sp) -/* B2AD84 800B3BE4 F7B60018 */ sdc1 $f22, 0x18($sp) -/* B2AD88 800B3BE8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* B2AD8C 800B3BEC AFA600C8 */ sw $a2, 0xc8($sp) -/* B2AD90 800B3BF0 AFA700CC */ sw $a3, 0xcc($sp) -/* B2AD94 800B3BF4 0C01DE1C */ jal Math_SinS -/* B2AD98 800B3BF8 87A400C6 */ lh $a0, 0xc6($sp) -/* B2AD9C 800B3BFC 46000586 */ mov.s $f22, $f0 -/* B2ADA0 800B3C00 0C01DE0D */ jal Math_CosS -/* B2ADA4 800B3C04 87A400C6 */ lh $a0, 0xc6($sp) -/* B2ADA8 800B3C08 46000506 */ mov.s $f20, $f0 -/* B2ADAC 800B3C0C 0C01DE1C */ jal Math_SinS -/* B2ADB0 800B3C10 87A400CA */ lh $a0, 0xca($sp) -/* B2ADB4 800B3C14 E7A000B4 */ swc1 $f0, 0xb4($sp) -/* B2ADB8 800B3C18 0C01DE0D */ jal Math_CosS -/* B2ADBC 800B3C1C 87A400CA */ lh $a0, 0xca($sp) -/* B2ADC0 800B3C20 87A400CE */ lh $a0, 0xce($sp) -/* B2ADC4 800B3C24 E7A000B0 */ swc1 $f0, 0xb0($sp) -/* B2ADC8 800B3C28 00042023 */ negu $a0, $a0 -/* B2ADCC 800B3C2C 00042400 */ sll $a0, $a0, 0x10 -/* B2ADD0 800B3C30 00042403 */ sra $a0, $a0, 0x10 -/* B2ADD4 800B3C34 0C01DE1C */ jal Math_SinS -/* B2ADD8 800B3C38 AFA4005C */ sw $a0, 0x5c($sp) -/* B2ADDC 800B3C3C 8FA4005C */ lw $a0, 0x5c($sp) -/* B2ADE0 800B3C40 0C01DE0D */ jal Math_CosS -/* B2ADE4 800B3C44 E7A000AC */ swc1 $f0, 0xac($sp) -/* B2ADE8 800B3C48 4600B287 */ neg.s $f10, $f22 -/* B2ADEC 800B3C4C C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* B2ADF0 800B3C50 E7AA005C */ swc1 $f10, 0x5c($sp) -/* B2ADF4 800B3C54 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* B2ADF8 800B3C58 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B2ADFC 800B3C5C 44815000 */ mtc1 $at, $f10 -/* B2AE00 800B3C60 46043382 */ mul.s $f14, $f6, $f4 -/* B2AE04 800B3C64 27B9009C */ addiu $t9, $sp, 0x9c -/* B2AE08 800B3C68 46005481 */ sub.s $f18, $f10, $f0 -/* B2AE0C 800B3C6C 4604A082 */ mul.s $f2, $f20, $f4 -/* B2AE10 800B3C70 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* B2AE14 800B3C74 8FA200C0 */ lw $v0, 0xc0($sp) -/* B2AE18 800B3C78 46021202 */ mul.s $f8, $f2, $f2 -/* B2AE1C 800B3C7C 00000000 */ nop -/* B2AE20 800B3C80 46161102 */ mul.s $f4, $f2, $f22 -/* B2AE24 800B3C84 E7A80050 */ swc1 $f8, 0x50($sp) -/* B2AE28 800B3C88 46049202 */ mul.s $f8, $f18, $f4 -/* B2AE2C 800B3C8C C7A400AC */ lwc1 $f4, 0xac($sp) -/* B2AE30 800B3C90 460AA302 */ mul.s $f12, $f20, $f10 -/* B2AE34 800B3C94 E7A40028 */ swc1 $f4, 0x28($sp) -/* B2AE38 800B3C98 E7A80048 */ swc1 $f8, 0x48($sp) -/* B2AE3C 800B3C9C 46046202 */ mul.s $f8, $f12, $f4 -/* B2AE40 800B3CA0 E7A80040 */ swc1 $f8, 0x40($sp) -/* B2AE44 800B3CA4 460A3402 */ mul.s $f16, $f6, $f10 -/* B2AE48 800B3CA8 00000000 */ nop -/* B2AE4C 800B3CAC 46026202 */ mul.s $f8, $f12, $f2 -/* B2AE50 800B3CB0 00000000 */ nop -/* B2AE54 800B3CB4 46089182 */ mul.s $f6, $f18, $f8 -/* B2AE58 800B3CB8 44814000 */ mtc1 $at, $f8 -/* B2AE5C 800B3CBC 4604B282 */ mul.s $f10, $f22, $f4 -/* B2AE60 800B3CC0 E7A6003C */ swc1 $f6, 0x3c($sp) -/* B2AE64 800B3CC4 C7A60050 */ lwc1 $f6, 0x50($sp) -/* B2AE68 800B3CC8 E7AA0038 */ swc1 $f10, 0x38($sp) -/* B2AE6C 800B3CCC 46064281 */ sub.s $f10, $f8, $f6 -/* B2AE70 800B3CD0 46005202 */ mul.s $f8, $f10, $f0 -/* B2AE74 800B3CD4 46064280 */ add.s $f10, $f8, $f6 -/* B2AE78 800B3CD8 C7A60048 */ lwc1 $f6, 0x48($sp) -/* B2AE7C 800B3CDC 460A7202 */ mul.s $f8, $f14, $f10 -/* B2AE80 800B3CE0 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* B2AE84 800B3CE4 E7A6002C */ swc1 $f6, 0x2c($sp) -/* B2AE88 800B3CE8 E7AA0030 */ swc1 $f10, 0x30($sp) -/* B2AE8C 800B3CEC 460A3101 */ sub.s $f4, $f6, $f10 -/* B2AE90 800B3CF0 C7A60038 */ lwc1 $f6, 0x38($sp) -/* B2AE94 800B3CF4 4604A102 */ mul.s $f4, $f20, $f4 -/* B2AE98 800B3CF8 46044200 */ add.s $f8, $f8, $f4 -/* B2AE9C 800B3CFC C7A4003C */ lwc1 $f4, 0x3c($sp) -/* B2AEA0 800B3D00 46062280 */ add.s $f10, $f4, $f6 -/* B2AEA4 800B3D04 460A8282 */ mul.s $f10, $f16, $f10 -/* B2AEA8 800B3D08 460A4200 */ add.s $f8, $f8, $f10 -/* B2AEAC 800B3D0C 4616B282 */ mul.s $f10, $f22, $f22 -/* B2AEB0 800B3D10 E7A8009C */ swc1 $f8, 0x9c($sp) -/* B2AEB4 800B3D14 460CB202 */ mul.s $f8, $f22, $f12 -/* B2AEB8 800B3D18 E7AA0050 */ swc1 $f10, 0x50($sp) -/* B2AEBC 800B3D1C 46089282 */ mul.s $f10, $f18, $f8 -/* B2AEC0 800B3D20 C7A80028 */ lwc1 $f8, 0x28($sp) -/* B2AEC4 800B3D24 E7AA004C */ swc1 $f10, 0x4c($sp) -/* B2AEC8 800B3D28 46081282 */ mul.s $f10, $f2, $f8 -/* B2AECC 800B3D2C C7A8002C */ lwc1 $f8, 0x2c($sp) -/* B2AED0 800B3D30 E7AA0054 */ swc1 $f10, 0x54($sp) -/* B2AED4 800B3D34 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* B2AED8 800B3D38 E7A40030 */ swc1 $f4, 0x30($sp) -/* B2AEDC 800B3D3C C7A40050 */ lwc1 $f4, 0x50($sp) -/* B2AEE0 800B3D40 460A4200 */ add.s $f8, $f8, $f10 -/* B2AEE4 800B3D44 46087282 */ mul.s $f10, $f14, $f8 -/* B2AEE8 800B3D48 44814000 */ mtc1 $at, $f8 -/* B2AEEC 800B3D4C 00000000 */ nop -/* B2AEF0 800B3D50 46044201 */ sub.s $f8, $f8, $f4 -/* B2AEF4 800B3D54 46004102 */ mul.s $f4, $f8, $f0 -/* B2AEF8 800B3D58 C7A80050 */ lwc1 $f8, 0x50($sp) -/* B2AEFC 800B3D5C 46082100 */ add.s $f4, $f4, $f8 -/* B2AF00 800B3D60 4604A202 */ mul.s $f8, $f20, $f4 -/* B2AF04 800B3D64 46085100 */ add.s $f4, $f10, $f8 -/* B2AF08 800B3D68 C7A80054 */ lwc1 $f8, 0x54($sp) -/* B2AF0C 800B3D6C C7AA004C */ lwc1 $f10, 0x4c($sp) -/* B2AF10 800B3D70 46085281 */ sub.s $f10, $f10, $f8 -/* B2AF14 800B3D74 460A8202 */ mul.s $f8, $f16, $f10 -/* B2AF18 800B3D78 46082280 */ add.s $f10, $f4, $f8 -/* B2AF1C 800B3D7C 460C6102 */ mul.s $f4, $f12, $f12 -/* B2AF20 800B3D80 C7A80030 */ lwc1 $f8, 0x30($sp) -/* B2AF24 800B3D84 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* B2AF28 800B3D88 46064281 */ sub.s $f10, $f8, $f6 -/* B2AF2C 800B3D8C C7A60054 */ lwc1 $f6, 0x54($sp) -/* B2AF30 800B3D90 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* B2AF34 800B3D94 E7A40050 */ swc1 $f4, 0x50($sp) -/* B2AF38 800B3D98 460A7102 */ mul.s $f4, $f14, $f10 -/* B2AF3C 800B3D9C 46064280 */ add.s $f10, $f8, $f6 -/* B2AF40 800B3DA0 460AA202 */ mul.s $f8, $f20, $f10 -/* B2AF44 800B3DA4 44815000 */ mtc1 $at, $f10 -/* B2AF48 800B3DA8 46082180 */ add.s $f6, $f4, $f8 -/* B2AF4C 800B3DAC C7A40050 */ lwc1 $f4, 0x50($sp) -/* B2AF50 800B3DB0 46045201 */ sub.s $f8, $f10, $f4 -/* B2AF54 800B3DB4 C7A40050 */ lwc1 $f4, 0x50($sp) -/* B2AF58 800B3DB8 46004282 */ mul.s $f10, $f8, $f0 -/* B2AF5C 800B3DBC 46045200 */ add.s $f8, $f10, $f4 -/* B2AF60 800B3DC0 46088282 */ mul.s $f10, $f16, $f8 -/* B2AF64 800B3DC4 460A3100 */ add.s $f4, $f6, $f10 -/* B2AF68 800B3DC8 E7A400A4 */ swc1 $f4, 0xa4($sp) -/* B2AF6C 800B3DCC 8F290000 */ lw $t1, ($t9) -/* B2AF70 800B3DD0 AC490000 */ sw $t1, ($v0) -/* B2AF74 800B3DD4 8F280004 */ lw $t0, 4($t9) -/* B2AF78 800B3DD8 AC480004 */ sw $t0, 4($v0) -/* B2AF7C 800B3DDC 8F290008 */ lw $t1, 8($t9) -/* B2AF80 800B3DE0 AC490008 */ sw $t1, 8($v0) -/* B2AF84 800B3DE4 8FBF0024 */ lw $ra, 0x24($sp) -/* B2AF88 800B3DE8 D7B60018 */ ldc1 $f22, 0x18($sp) -/* B2AF8C 800B3DEC D7B40010 */ ldc1 $f20, 0x10($sp) -/* B2AF90 800B3DF0 03E00008 */ jr $ra -/* B2AF94 800B3DF4 27BD00C0 */ addiu $sp, $sp, 0xc0 - diff --git a/asm/non_matchings/code/db_camera/func_800B3DF8.s b/asm/non_matchings/code/db_camera/func_800B3DF8.s deleted file mode 100644 index 0a952871bd..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B3DF8.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_800B3DF8 -/* B2AF98 800B3DF8 AFA60008 */ sw $a2, 8($sp) -/* B2AF9C 800B3DFC 30C600FF */ andi $a2, $a2, 0xff -/* B2AFA0 800B3E00 AFA40000 */ sw $a0, ($sp) -/* B2AFA4 800B3E04 00042400 */ sll $a0, $a0, 0x10 -/* B2AFA8 800B3E08 00042403 */ sra $a0, $a0, 0x10 -/* B2AFAC 800B3E0C 00C51821 */ addu $v1, $a2, $a1 -/* B2AFB0 800B3E10 00A67021 */ addu $t6, $a1, $a2 -/* B2AFB4 800B3E14 2463FFFF */ addiu $v1, $v1, -1 -/* B2AFB8 800B3E18 04800003 */ bltz $a0, .L800B3E28 -/* B2AFBC 800B3E1C A1C00000 */ sb $zero, ($t6) -/* B2AFC0 800B3E20 10000005 */ b .L800B3E38 -/* B2AFC4 800B3E24 24020020 */ li $v0, 32 -.L800B3E28: -/* B2AFC8 800B3E28 00042023 */ negu $a0, $a0 -/* B2AFCC 800B3E2C 00042400 */ sll $a0, $a0, 0x10 -/* B2AFD0 800B3E30 2402002D */ li $v0, 45 -/* B2AFD4 800B3E34 00042403 */ sra $a0, $a0, 0x10 -.L800B3E38: -/* B2AFD8 800B3E38 2406000A */ li $a2, 10 -.L800B3E3C: -/* B2AFDC 800B3E3C 0086001A */ div $zero, $a0, $a2 -/* B2AFE0 800B3E40 14C00002 */ bnez $a2, .L800B3E4C -/* B2AFE4 800B3E44 00000000 */ nop -/* B2AFE8 800B3E48 0007000D */ break 7 -.L800B3E4C: -/* B2AFEC 800B3E4C 2401FFFF */ li $at, -1 -/* B2AFF0 800B3E50 14C10004 */ bne $a2, $at, .L800B3E64 -/* B2AFF4 800B3E54 3C018000 */ lui $at, 0x8000 -/* B2AFF8 800B3E58 14810002 */ bne $a0, $at, .L800B3E64 -/* B2AFFC 800B3E5C 00000000 */ nop -/* B2B000 800B3E60 0006000D */ break 6 -.L800B3E64: -/* B2B004 800B3E64 00002012 */ mflo $a0 -/* B2B008 800B3E68 00042400 */ sll $a0, $a0, 0x10 -/* B2B00C 800B3E6C 00007810 */ mfhi $t7 -/* B2B010 800B3E70 25F80030 */ addiu $t8, $t7, 0x30 -/* B2B014 800B3E74 00042403 */ sra $a0, $a0, 0x10 -/* B2B018 800B3E78 A0780000 */ sb $t8, ($v1) -/* B2B01C 800B3E7C 1480FFEF */ bnez $a0, .L800B3E3C -/* B2B020 800B3E80 2463FFFF */ addiu $v1, $v1, -1 -/* B2B024 800B3E84 2401002D */ li $at, 45 -/* B2B028 800B3E88 54410004 */ bnel $v0, $at, .L800B3E9C -/* B2B02C 800B3E8C 0065082B */ sltu $at, $v1, $a1 -/* B2B030 800B3E90 A0620000 */ sb $v0, ($v1) -/* B2B034 800B3E94 2463FFFF */ addiu $v1, $v1, -1 -/* B2B038 800B3E98 0065082B */ sltu $at, $v1, $a1 -.L800B3E9C: -/* B2B03C 800B3E9C 14200005 */ bnez $at, .L800B3EB4 -/* B2B040 800B3EA0 24020020 */ li $v0, 32 -.L800B3EA4: -/* B2B044 800B3EA4 24A50001 */ addiu $a1, $a1, 1 -/* B2B048 800B3EA8 0065082B */ sltu $at, $v1, $a1 -/* B2B04C 800B3EAC 1020FFFD */ beqz $at, .L800B3EA4 -/* B2B050 800B3EB0 A0A2FFFF */ sb $v0, -1($a1) -.L800B3EB4: -/* B2B054 800B3EB4 03E00008 */ jr $ra -/* B2B058 800B3EB8 00601025 */ move $v0, $v1 - diff --git a/asm/non_matchings/code/db_camera/func_800B4088.s b/asm/non_matchings/code/db_camera/func_800B4088.s deleted file mode 100644 index 40022f5cc0..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4088.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel func_800B4088 -/* B2B228 800B4088 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B2B22C 800B408C AFBF001C */ sw $ra, 0x1c($sp) -/* B2B230 800B4090 AFB00018 */ sw $s0, 0x18($sp) -/* B2B234 800B4094 AFA5003C */ sw $a1, 0x3c($sp) -/* B2B238 800B4098 848E0082 */ lh $t6, 0x82($a0) -/* B2B23C 800B409C 2418FFFF */ li $t8, -1 -/* B2B240 800B40A0 2408001E */ li $t0, 30 -/* B2B244 800B40A4 000E7900 */ sll $t7, $t6, 4 -/* B2B248 800B40A8 008F3021 */ addu $a2, $a0, $t7 -/* B2B24C 800B40AC 24C200A0 */ addiu $v0, $a2, 0xa0 -/* B2B250 800B40B0 A0580000 */ sb $t8, ($v0) -/* B2B254 800B40B4 80590000 */ lb $t9, ($v0) -/* B2B258 800B40B8 24C308B0 */ addiu $v1, $a2, 0x8b0 -/* B2B25C 800B40BC 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 -/* B2B260 800B40C0 A0790000 */ sb $t9, ($v1) -/* B2B264 800B40C4 A4400002 */ sh $zero, 2($v0) -/* B2B268 800B40C8 A4680002 */ sh $t0, 2($v1) -/* B2B26C 800B40CC 8489004C */ lh $t1, 0x4c($a0) -/* B2B270 800B40D0 44814000 */ mtc1 $at, $f8 -/* B2B274 800B40D4 00808025 */ move $s0, $a0 -/* B2B278 800B40D8 44892000 */ mtc1 $t1, $f4 -/* B2B27C 800B40DC 24010001 */ li $at, 1 -/* B2B280 800B40E0 24840010 */ addiu $a0, $a0, 0x10 -/* B2B284 800B40E4 468021A0 */ cvt.s.w $f6, $f4 -/* B2B288 800B40E8 26050004 */ addiu $a1, $s0, 4 -/* B2B28C 800B40EC 46083282 */ mul.s $f10, $f6, $f8 -/* B2B290 800B40F0 4600540D */ trunc.w.s $f16, $f10 -/* B2B294 800B40F4 44078000 */ mfc1 $a3, $f16 -/* B2B298 800B40F8 00000000 */ nop -/* B2B29C 800B40FC 00073E00 */ sll $a3, $a3, 0x18 -/* B2B2A0 800B4100 00073E03 */ sra $a3, $a3, 0x18 -/* B2B2A4 800B4104 A0470001 */ sb $a3, 1($v0) -/* B2B2A8 800B4108 A0670001 */ sb $a3, 1($v1) -/* B2B2AC 800B410C C4800038 */ lwc1 $f0, 0x38($a0) -/* B2B2B0 800B4110 E4400004 */ swc1 $f0, 4($v0) -/* B2B2B4 800B4114 E4600004 */ swc1 $f0, 4($v1) -/* B2B2B8 800B4118 848B006C */ lh $t3, 0x6c($a0) -/* B2B2BC 800B411C 5161000B */ beql $t3, $at, .L800B414C -/* B2B2C0 800B4120 8FA4003C */ lw $a0, 0x3c($sp) -/* B2B2C4 800B4124 24450008 */ addiu $a1, $v0, 8 -/* B2B2C8 800B4128 0C02CFBF */ jal func_800B3EFC -/* B2B2CC 800B412C AFA30030 */ sw $v1, 0x30($sp) -/* B2B2D0 800B4130 8FA30030 */ lw $v1, 0x30($sp) -/* B2B2D4 800B4134 26040004 */ addiu $a0, $s0, 4 -/* B2B2D8 800B4138 0C02CFBF */ jal func_800B3EFC -/* B2B2DC 800B413C 24650008 */ addiu $a1, $v1, 8 -/* B2B2E0 800B4140 1000000D */ b .L800B4178 -/* B2B2E4 800B4144 860C0080 */ lh $t4, 0x80($s0) -/* B2B2E8 800B4148 8FA4003C */ lw $a0, 0x3c($sp) -.L800B414C: -/* B2B2EC 800B414C 24660008 */ addiu $a2, $v1, 8 -/* B2B2F0 800B4150 AFA20034 */ sw $v0, 0x34($sp) -/* B2B2F4 800B4154 24840094 */ addiu $a0, $a0, 0x94 -/* B2B2F8 800B4158 0C02CFE5 */ jal func_800B3F94 -/* B2B2FC 800B415C AFA40020 */ sw $a0, 0x20($sp) -/* B2B300 800B4160 8FA20034 */ lw $v0, 0x34($sp) -/* B2B304 800B4164 8FA40020 */ lw $a0, 0x20($sp) -/* B2B308 800B4168 26050010 */ addiu $a1, $s0, 0x10 -/* B2B30C 800B416C 0C02CFE5 */ jal func_800B3F94 -/* B2B310 800B4170 24460008 */ addiu $a2, $v0, 8 -/* B2B314 800B4174 860C0080 */ lh $t4, 0x80($s0) -.L800B4178: -/* B2B318 800B4178 00002025 */ move $a0, $zero -/* B2B31C 800B417C 02001825 */ move $v1, $s0 -/* B2B320 800B4180 258DFFFE */ addiu $t5, $t4, -2 -/* B2B324 800B4184 19A0000B */ blez $t5, .L800B41B4 -/* B2B328 800B4188 2408FFFF */ li $t0, -1 -/* B2B32C 800B418C A06008B0 */ sb $zero, 0x8b0($v1) -.L800B4190: -/* B2B330 800B4190 806E08B0 */ lb $t6, 0x8b0($v1) -/* B2B334 800B4194 24840001 */ addiu $a0, $a0, 1 -/* B2B338 800B4198 24630010 */ addiu $v1, $v1, 0x10 -/* B2B33C 800B419C A06E0090 */ sb $t6, 0x90($v1) -/* B2B340 800B41A0 860F0080 */ lh $t7, 0x80($s0) -/* B2B344 800B41A4 25F8FFFE */ addiu $t8, $t7, -2 -/* B2B348 800B41A8 0098082A */ slt $at, $a0, $t8 -/* B2B34C 800B41AC 5420FFF8 */ bnezl $at, .L800B4190 -/* B2B350 800B41B0 A06008B0 */ sb $zero, 0x8b0($v1) -.L800B41B4: -/* B2B354 800B41B4 0004C900 */ sll $t9, $a0, 4 -/* B2B358 800B41B8 02191821 */ addu $v1, $s0, $t9 -/* B2B35C 800B41BC A06808B0 */ sb $t0, 0x8b0($v1) -/* B2B360 800B41C0 806908B0 */ lb $t1, 0x8b0($v1) -/* B2B364 800B41C4 A06900A0 */ sb $t1, 0xa0($v1) -/* B2B368 800B41C8 8FBF001C */ lw $ra, 0x1c($sp) -/* B2B36C 800B41CC 86020082 */ lh $v0, 0x82($s0) -/* B2B370 800B41D0 8FB00018 */ lw $s0, 0x18($sp) -/* B2B374 800B41D4 03E00008 */ jr $ra -/* B2B378 800B41D8 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/code/db_camera/func_800B41DC.s b/asm/non_matchings/code/db_camera/func_800B41DC.s deleted file mode 100644 index a41e8e08dd..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B41DC.s +++ /dev/null @@ -1,61 +0,0 @@ -glabel func_800B41DC -/* B2B37C 800B41DC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B2B380 800B41E0 AFBF001C */ sw $ra, 0x1c($sp) -/* B2B384 800B41E4 AFB10018 */ sw $s1, 0x18($sp) -/* B2B388 800B41E8 AFB00014 */ sw $s0, 0x14($sp) -/* B2B38C 800B41EC AFA5003C */ sw $a1, 0x3c($sp) -/* B2B390 800B41F0 848E007C */ lh $t6, 0x7c($a0) -/* B2B394 800B41F4 24010001 */ li $at, 1 -/* B2B398 800B41F8 00808025 */ move $s0, $a0 -/* B2B39C 800B41FC 11C1000F */ beq $t6, $at, .L800B423C -/* B2B3A0 800B4200 00C03825 */ move $a3, $a2 -/* B2B3A4 800B4204 87AF003E */ lh $t7, 0x3e($sp) -/* B2B3A8 800B4208 26050010 */ addiu $a1, $s0, 0x10 -/* B2B3AC 800B420C 000FC100 */ sll $t8, $t7, 4 -/* B2B3B0 800B4210 00981021 */ addu $v0, $a0, $t8 -/* B2B3B4 800B4214 244400A8 */ addiu $a0, $v0, 0xa8 -/* B2B3B8 800B4218 0C02CFD5 */ jal func_800B3F54 -/* B2B3BC 800B421C AFA2002C */ sw $v0, 0x2c($sp) -/* B2B3C0 800B4220 8FA2002C */ lw $v0, 0x2c($sp) -/* B2B3C4 800B4224 26050004 */ addiu $a1, $s0, 4 -/* B2B3C8 800B4228 245108B0 */ addiu $s1, $v0, 0x8b0 -/* B2B3CC 800B422C 0C02CFD5 */ jal func_800B3F54 -/* B2B3D0 800B4230 26240008 */ addiu $a0, $s1, 8 -/* B2B3D4 800B4234 10000011 */ b .L800B427C -/* B2B3D8 800B4238 82290001 */ lb $t1, 1($s1) -.L800B423C: -/* B2B3DC 800B423C 87B9003E */ lh $t9, 0x3e($sp) -/* B2B3E0 800B4240 24E40094 */ addiu $a0, $a3, 0x94 -/* B2B3E4 800B4244 AFA40024 */ sw $a0, 0x24($sp) -/* B2B3E8 800B4248 00194100 */ sll $t0, $t9, 4 -/* B2B3EC 800B424C 02081021 */ addu $v0, $s0, $t0 -/* B2B3F0 800B4250 245108B0 */ addiu $s1, $v0, 0x8b0 -/* B2B3F4 800B4254 26250008 */ addiu $a1, $s1, 8 -/* B2B3F8 800B4258 AFA2002C */ sw $v0, 0x2c($sp) -/* B2B3FC 800B425C 0C02D013 */ jal func_800B404C -/* B2B400 800B4260 26060004 */ addiu $a2, $s0, 4 -/* B2B404 800B4264 8FA2002C */ lw $v0, 0x2c($sp) -/* B2B408 800B4268 8FA40024 */ lw $a0, 0x24($sp) -/* B2B40C 800B426C 26060010 */ addiu $a2, $s0, 0x10 -/* B2B410 800B4270 0C02D013 */ jal func_800B404C -/* B2B414 800B4274 244500A8 */ addiu $a1, $v0, 0xa8 -/* B2B418 800B4278 82290001 */ lb $t1, 1($s1) -.L800B427C: -/* B2B41C 800B427C 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 -/* B2B420 800B4280 44814000 */ mtc1 $at, $f8 -/* B2B424 800B4284 A609004C */ sh $t1, 0x4c($s0) -/* B2B428 800B4288 860A004C */ lh $t2, 0x4c($s0) -/* B2B42C 800B428C 448A2000 */ mtc1 $t2, $f4 -/* B2B430 800B4290 00000000 */ nop -/* B2B434 800B4294 468021A0 */ cvt.s.w $f6, $f4 -/* B2B438 800B4298 46083282 */ mul.s $f10, $f6, $f8 -/* B2B43C 800B429C E60A0050 */ swc1 $f10, 0x50($s0) -/* B2B440 800B42A0 C6300004 */ lwc1 $f16, 4($s1) -/* B2B444 800B42A4 E6100048 */ swc1 $f16, 0x48($s0) -/* B2B448 800B42A8 8FBF001C */ lw $ra, 0x1c($sp) -/* B2B44C 800B42AC 8FB10018 */ lw $s1, 0x18($sp) -/* B2B450 800B42B0 8FB00014 */ lw $s0, 0x14($sp) -/* B2B454 800B42B4 87A2003E */ lh $v0, 0x3e($sp) -/* B2B458 800B42B8 03E00008 */ jr $ra -/* B2B45C 800B42BC 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/code/db_camera/func_800B42C0.s b/asm/non_matchings/code/db_camera/func_800B42C0.s deleted file mode 100644 index 3e3cfdf235..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B42C0.s +++ /dev/null @@ -1,48 +0,0 @@ -glabel func_800B42C0 -/* B2B460 800B42C0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B2B464 800B42C4 AFBF001C */ sw $ra, 0x1c($sp) -/* B2B468 800B42C8 AFB00018 */ sw $s0, 0x18($sp) -/* B2B46C 800B42CC AFA50034 */ sw $a1, 0x34($sp) -/* B2B470 800B42D0 848E0082 */ lh $t6, 0x82($a0) -/* B2B474 800B42D4 00808025 */ move $s0, $a0 -/* B2B478 800B42D8 24010001 */ li $at, 1 -/* B2B47C 800B42DC 000E7900 */ sll $t7, $t6, 4 -/* B2B480 800B42E0 008F1021 */ addu $v0, $a0, $t7 -/* B2B484 800B42E4 244308B0 */ addiu $v1, $v0, 0x8b0 -/* B2B488 800B42E8 A0600000 */ sb $zero, ($v1) -/* B2B48C 800B42EC 80780000 */ lb $t8, ($v1) -/* B2B490 800B42F0 244700A0 */ addiu $a3, $v0, 0xa0 -/* B2B494 800B42F4 24840010 */ addiu $a0, $a0, 0x10 -/* B2B498 800B42F8 A0F80000 */ sb $t8, ($a3) -/* B2B49C 800B42FC 8499006C */ lh $t9, 0x6c($a0) -/* B2B4A0 800B4300 26050004 */ addiu $a1, $s0, 4 -/* B2B4A4 800B4304 5321000B */ beql $t9, $at, .L800B4334 -/* B2B4A8 800B4308 8FA40034 */ lw $a0, 0x34($sp) -/* B2B4AC 800B430C 24E50008 */ addiu $a1, $a3, 8 -/* B2B4B0 800B4310 0C02CFBF */ jal func_800B3EFC -/* B2B4B4 800B4314 AFA30028 */ sw $v1, 0x28($sp) -/* B2B4B8 800B4318 8FA30028 */ lw $v1, 0x28($sp) -/* B2B4BC 800B431C 26040004 */ addiu $a0, $s0, 4 -/* B2B4C0 800B4320 0C02CFBF */ jal func_800B3EFC -/* B2B4C4 800B4324 24650008 */ addiu $a1, $v1, 8 -/* B2B4C8 800B4328 1000000D */ b .L800B4360 -/* B2B4CC 800B432C 8FBF001C */ lw $ra, 0x1c($sp) -/* B2B4D0 800B4330 8FA40034 */ lw $a0, 0x34($sp) -.L800B4334: -/* B2B4D4 800B4334 24660008 */ addiu $a2, $v1, 8 -/* B2B4D8 800B4338 AFA7002C */ sw $a3, 0x2c($sp) -/* B2B4DC 800B433C 24840094 */ addiu $a0, $a0, 0x94 -/* B2B4E0 800B4340 0C02CFE5 */ jal func_800B3F94 -/* B2B4E4 800B4344 AFA40024 */ sw $a0, 0x24($sp) -/* B2B4E8 800B4348 8FA7002C */ lw $a3, 0x2c($sp) -/* B2B4EC 800B434C 8FA40024 */ lw $a0, 0x24($sp) -/* B2B4F0 800B4350 26050010 */ addiu $a1, $s0, 0x10 -/* B2B4F4 800B4354 0C02CFE5 */ jal func_800B3F94 -/* B2B4F8 800B4358 24E60008 */ addiu $a2, $a3, 8 -/* B2B4FC 800B435C 8FBF001C */ lw $ra, 0x1c($sp) -.L800B4360: -/* B2B500 800B4360 86020082 */ lh $v0, 0x82($s0) -/* B2B504 800B4364 8FB00018 */ lw $s0, 0x18($sp) -/* B2B508 800B4368 03E00008 */ jr $ra -/* B2B50C 800B436C 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/code/db_camera/func_800B4370.s b/asm/non_matchings/code/db_camera/func_800B4370.s deleted file mode 100644 index 25e7cea14b..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4370.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_800B4370 -/* B2B510 800B4370 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* B2B514 800B4374 AFBF0024 */ sw $ra, 0x24($sp) -/* B2B518 800B4378 AFB20020 */ sw $s2, 0x20($sp) -/* B2B51C 800B437C AFB1001C */ sw $s1, 0x1c($sp) -/* B2B520 800B4380 AFB00018 */ sw $s0, 0x18($sp) -/* B2B524 800B4384 AFA50054 */ sw $a1, 0x54($sp) -/* B2B528 800B4388 848E007C */ lh $t6, 0x7c($a0) -/* B2B52C 800B438C 00059400 */ sll $s2, $a1, 0x10 -/* B2B530 800B4390 24010001 */ li $at, 1 -/* B2B534 800B4394 00129403 */ sra $s2, $s2, 0x10 -/* B2B538 800B4398 00808025 */ move $s0, $a0 -/* B2B53C 800B439C 11C10017 */ beq $t6, $at, .L800B43FC -/* B2B540 800B43A0 00C03825 */ move $a3, $a2 -/* B2B544 800B43A4 8C8F0088 */ lw $t7, 0x88($a0) -/* B2B548 800B43A8 0012C900 */ sll $t9, $s2, 4 -/* B2B54C 800B43AC 02198821 */ addu $s1, $s0, $t9 -/* B2B550 800B43B0 11E0000C */ beqz $t7, .L800B43E4 -/* B2B554 800B43B4 263108B0 */ addiu $s1, $s1, 0x8b0 -/* B2B558 800B43B8 0012C100 */ sll $t8, $s2, 4 -/* B2B55C 800B43BC 00981021 */ addu $v0, $a0, $t8 -/* B2B560 800B43C0 26050004 */ addiu $a1, $s0, 4 -/* B2B564 800B43C4 AFA50028 */ sw $a1, 0x28($sp) -/* B2B568 800B43C8 244400A8 */ addiu $a0, $v0, 0xa8 -/* B2B56C 800B43CC 0C02CFD5 */ jal func_800B3F54 -/* B2B570 800B43D0 AFA20030 */ sw $v0, 0x30($sp) -/* B2B574 800B43D4 8FA20030 */ lw $v0, 0x30($sp) -/* B2B578 800B43D8 8FA50028 */ lw $a1, 0x28($sp) -/* B2B57C 800B43DC 10000022 */ b .L800B4468 -/* B2B580 800B43E0 245108B0 */ addiu $s1, $v0, 0x8b0 -.L800B43E4: -/* B2B584 800B43E4 26050004 */ addiu $a1, $s0, 4 -/* B2B588 800B43E8 AFA50028 */ sw $a1, 0x28($sp) -/* B2B58C 800B43EC 0C02CFD5 */ jal func_800B3F54 -/* B2B590 800B43F0 26240008 */ addiu $a0, $s1, 8 -/* B2B594 800B43F4 1000001C */ b .L800B4468 -/* B2B598 800B43F8 8FA50028 */ lw $a1, 0x28($sp) -.L800B43FC: -/* B2B59C 800B43FC 8E080088 */ lw $t0, 0x88($s0) -/* B2B5A0 800B4400 00125100 */ sll $t2, $s2, 4 -/* B2B5A4 800B4404 020A8821 */ addu $s1, $s0, $t2 -/* B2B5A8 800B4408 1100000B */ beqz $t0, .L800B4438 -/* B2B5AC 800B440C 24E40094 */ addiu $a0, $a3, 0x94 -/* B2B5B0 800B4410 00124900 */ sll $t1, $s2, 4 -/* B2B5B4 800B4414 02091021 */ addu $v0, $s0, $t1 -/* B2B5B8 800B4418 244500A8 */ addiu $a1, $v0, 0xa8 -/* B2B5BC 800B441C AFA20030 */ sw $v0, 0x30($sp) -/* B2B5C0 800B4420 24E40094 */ addiu $a0, $a3, 0x94 -/* B2B5C4 800B4424 0C02D013 */ jal func_800B404C -/* B2B5C8 800B4428 27A60034 */ addiu $a2, $sp, 0x34 -/* B2B5CC 800B442C 8FA20030 */ lw $v0, 0x30($sp) -/* B2B5D0 800B4430 10000005 */ b .L800B4448 -/* B2B5D4 800B4434 245108B0 */ addiu $s1, $v0, 0x8b0 -.L800B4438: -/* B2B5D8 800B4438 263108B0 */ addiu $s1, $s1, 0x8b0 -/* B2B5DC 800B443C 26250008 */ addiu $a1, $s1, 8 -/* B2B5E0 800B4440 0C02D013 */ jal func_800B404C -/* B2B5E4 800B4444 27A60034 */ addiu $a2, $sp, 0x34 -.L800B4448: -/* B2B5E8 800B4448 27AB0034 */ addiu $t3, $sp, 0x34 -/* B2B5EC 800B444C 8D6D0000 */ lw $t5, ($t3) -/* B2B5F0 800B4450 26050004 */ addiu $a1, $s0, 4 -/* B2B5F4 800B4454 ACAD0000 */ sw $t5, ($a1) -/* B2B5F8 800B4458 8D6C0004 */ lw $t4, 4($t3) -/* B2B5FC 800B445C ACAC0004 */ sw $t4, 4($a1) -/* B2B600 800B4460 8D6D0008 */ lw $t5, 8($t3) -/* B2B604 800B4464 ACAD0008 */ sw $t5, 8($a1) -.L800B4468: -/* B2B608 800B4468 87AF0046 */ lh $t7, 0x46($sp) -/* B2B60C 800B446C 3C01437A */ li $at, 0x437A0000 # 0.000000 -/* B2B610 800B4470 44812000 */ mtc1 $at, $f4 -/* B2B614 800B4474 240E2000 */ li $t6, 8192 -/* B2B618 800B4478 25F88001 */ addiu $t8, $t7, -0x7fff -/* B2B61C 800B447C A7AE0044 */ sh $t6, 0x44($sp) -/* B2B620 800B4480 A7B80046 */ sh $t8, 0x46($sp) -/* B2B624 800B4484 26040010 */ addiu $a0, $s0, 0x10 -/* B2B628 800B4488 27A60040 */ addiu $a2, $sp, 0x40 -/* B2B62C 800B448C 0C02CED4 */ jal func_800B3B50 -/* B2B630 800B4490 E7A40040 */ swc1 $f4, 0x40($sp) -/* B2B634 800B4494 82390001 */ lb $t9, 1($s1) -/* B2B638 800B4498 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 -/* B2B63C 800B449C 44815000 */ mtc1 $at, $f10 -/* B2B640 800B44A0 A619004C */ sh $t9, 0x4c($s0) -/* B2B644 800B44A4 8608004C */ lh $t0, 0x4c($s0) -/* B2B648 800B44A8 02401025 */ move $v0, $s2 -/* B2B64C 800B44AC 44883000 */ mtc1 $t0, $f6 -/* B2B650 800B44B0 00000000 */ nop -/* B2B654 800B44B4 46803220 */ cvt.s.w $f8, $f6 -/* B2B658 800B44B8 460A4402 */ mul.s $f16, $f8, $f10 -/* B2B65C 800B44BC E6100050 */ swc1 $f16, 0x50($s0) -/* B2B660 800B44C0 C6320004 */ lwc1 $f18, 4($s1) -/* B2B664 800B44C4 E6120048 */ swc1 $f18, 0x48($s0) -/* B2B668 800B44C8 8FBF0024 */ lw $ra, 0x24($sp) -/* B2B66C 800B44CC 8FB20020 */ lw $s2, 0x20($sp) -/* B2B670 800B44D0 8FB1001C */ lw $s1, 0x1c($sp) -/* B2B674 800B44D4 8FB00018 */ lw $s0, 0x18($sp) -/* B2B678 800B44D8 03E00008 */ jr $ra -/* B2B67C 800B44DC 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/code/db_camera/func_800B44E0.s b/asm/non_matchings/code/db_camera/func_800B44E0.s deleted file mode 100644 index bb62c5c916..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B44E0.s +++ /dev/null @@ -1,509 +0,0 @@ -.rdata -glabel D_80143170 - .asciz "\x8Cキ-フレ-ム\x8Dガ" - .balign 4 - -glabel D_80143184 - .asciz "\x8Dタリマセン。" - .balign 4 - -glabel D_80143194 - .asciz "\x8Dサイセイデキマセン" - .balign 4 - -glabel D_801431AC - .asciz "\x8Dサイセイシュウリョウ" - .balign 4 - -glabel D_801431C4 - .asciz "\x8Dサイセイチュウ!" - .balign 4 - -glabel D_801431D8 - .asciz "DEMO CAMERA TOOL" - .balign 4 - -glabel D_801431EC - .asciz "\x8Dモウハイリマセン" - .balign 4 - -glabel D_80143200 - .asciz "\x8Dトウロク テンメ" - .balign 4 - -glabel D_80143214 - .asciz "\x8Dヘンコウ / " - .balign 4 - -glabel D_80143224 - .asciz "> >" - .balign 4 - -glabel D_80143234 - .asciz "< <" - .balign 4 - -glabel D_80143244 - .asciz "< >" - .balign 4 - -glabel D_80143254 - .asciz "\x8C*プレイヤ-*" - .balign 4 - -glabel D_80143264 - .asciz "\x8C\Eモ-ド\x8D ソウタイ" - .balign 4 - -glabel D_80143278 - .asciz "\x8C\Eモ-ド\x8Dゼッタイ" - .balign 4 - -glabel D_80143290 - .asciz "\x8Dガメン\x8C デモ" - .balign 4 - -glabel D_801432A4 - .asciz "\x8Dガメン フツウ" - .balign 4 - -glabel D_801432B8 - .asciz "\x8DPジカン MAX" - .balign 4 - -glabel D_801432C8 - .asciz "\x8Cリンク\x8D キオク" - .balign 4 - -glabel D_801432DC - .asciz "\x8Cリンク\x8D ムシ" - .balign 4 - -glabel D_801432F0 - .asciz "\x8D*ミテルイチ*" - .balign 4 - -glabel D_80143300 - .asciz "\x8C*カメラ\x8Dイチ*" - .balign 4 - -glabel D_80143310 - .asciz "DEBUG CAMERA" - .balign 4 - -glabel D_80143320 - .asciz "\x8Cセンタ-/ロック" - .balign 4 - -glabel D_80143330 - .asciz "\x8Cセンタ-/フリ-" - .balign 4 - -glabel D_80143340 - .asciz "DEMO CONTROL" - .balign 4 - -glabel D_80143350 - .asciz "\x8Cメモリ\x8Dガタリマセン" - .balign 4 - -glabel D_80143368 - .asciz "p" - .balign 4 - -glabel D_8014336C - .asciz "e" - .balign 4 - -glabel D_80143370 - .asciz "s" - .balign 4 - -glabel D_80143374 - .asciz "l" - .balign 4 - -glabel D_80143378 - .asciz "c" - .balign 4 - -glabel D_8014337C - .asciz "\x8Cメモリパック" - .balign 4 - -glabel D_8014338C - .asciz "\x8Cセーブ" - # Save - .balign 4 - -glabel D_80143398 - .asciz "\x8Cロード" - # Load - .balign 4 - -glabel D_801433A4 - .asciz "\x8Cクリア-" - # Clear - .balign 4 - -glabel D_801433B0 - .asciz "\x8Dヲヌカナイデネ" - .balign 4 - -glabel D_801433C4 - .asciz "FREE BYTE" - .balign 4 - -glabel D_801433D4 - .asciz "NEED BYTE" - .balign 4 - -glabel D_801433E4 - .asciz "\x8C*メモリ-パック*" - .balign 4 - -glabel D_801433F8 - .asciz "\x8Dヲミツケラレマセン" - .balign 4 - -glabel D_8014340C - .asciz "\x8Cファイル \x8Dヲ" - .balign 4 - -glabel D_8014341C - .asciz "\x8Dシテモイイデスカ?" - .balign 4 - -glabel D_80143434 - .asciz "\x8Dゲンザイヘンシュウチュウノ" - .balign 4 - -glabel D_80143454 - .asciz "\x8Cファイル\x8Dハハキサレマス" - .balign 4 - -glabel D_80143470 - .asciz "\x8Dハイ" - .balign 4 - -glabel D_80143478 - .asciz "\x8Dイイエ" - .balign 4 - -glabel D_80143480 - .asciz "\x8Dシテイマス" - .balign 4 - -glabel D_8014348C - .asciz "\x8Dウワガキ" - .balign 4 - -glabel D_80143498 - .asciz "\x8Dシマシタ" - .balign 4 - -glabel D_801434A4 - .asciz "USE BYTE" - .balign 4 - -glabel D_801434B4 - .asciz "\x8Dニシッパイ" - .balign 4 - -glabel D_801434C4 - .asciz "\x8C\Eモ-ド\x8D コテイ" - .balign 4 - - -.text -glabel func_800B44E0 -/* B2B680 800B44E0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B2B684 800B44E4 3C0E8016 */ lui $t6, %hi(D_80161100) -/* B2B688 800B44E8 8DCE1100 */ lw $t6, %lo(D_80161100)($t6) -/* B2B68C 800B44EC AFBF0024 */ sw $ra, 0x24($sp) -/* B2B690 800B44F0 AFB10020 */ sw $s1, 0x20($sp) -/* B2B694 800B44F4 AFB0001C */ sw $s0, 0x1c($sp) -/* B2B698 800B44F8 AFA50034 */ sw $a1, 0x34($sp) -/* B2B69C 800B44FC 95CF0050 */ lhu $t7, 0x50($t6) -/* B2B6A0 800B4500 2401FFFE */ li $at, -2 -/* B2B6A4 800B4504 00808025 */ move $s0, $a0 -/* B2B6A8 800B4508 01E1C027 */ nor $t8, $t7, $at -/* B2B6AC 800B450C 1700001E */ bnez $t8, .L800B4588 -/* B2B6B0 800B4510 3C118016 */ lui $s1, %hi(D_80161110) -/* B2B6B4 800B4514 26311110 */ addiu $s1, %lo(D_80161110) # addiu $s1, $s1, 0x1110 -/* B2B6B8 800B4518 44802000 */ mtc1 $zero, $f4 -/* B2B6BC 800B451C 44803000 */ mtc1 $zero, $f6 -/* B2B6C0 800B4520 24190001 */ li $t9, 1 -/* B2B6C4 800B4524 A6200008 */ sh $zero, 8($s1) -/* B2B6C8 800B4528 A639000A */ sh $t9, 0xa($s1) -/* B2B6CC 800B452C E6240000 */ swc1 $f4, ($s1) -/* B2B6D0 800B4530 E6260004 */ swc1 $f6, 4($s1) -/* B2B6D4 800B4534 84880080 */ lh $t0, 0x80($a0) -/* B2B6D8 800B4538 00001825 */ move $v1, $zero -/* B2B6DC 800B453C 00801025 */ move $v0, $a0 -/* B2B6E0 800B4540 2509FFFE */ addiu $t1, $t0, -2 -/* B2B6E4 800B4544 1920000B */ blez $t1, .L800B4574 -/* B2B6E8 800B4548 240EFFFF */ li $t6, -1 -/* B2B6EC 800B454C A04008B0 */ sb $zero, 0x8b0($v0) -.L800B4550: -/* B2B6F0 800B4550 804A08B0 */ lb $t2, 0x8b0($v0) -/* B2B6F4 800B4554 24630001 */ addiu $v1, $v1, 1 -/* B2B6F8 800B4558 24420010 */ addiu $v0, $v0, 0x10 -/* B2B6FC 800B455C A04A0090 */ sb $t2, 0x90($v0) -/* B2B700 800B4560 860B0080 */ lh $t3, 0x80($s0) -/* B2B704 800B4564 256CFFFE */ addiu $t4, $t3, -2 -/* B2B708 800B4568 006C082A */ slt $at, $v1, $t4 -/* B2B70C 800B456C 5420FFF8 */ bnezl $at, .L800B4550 -/* B2B710 800B4570 A04008B0 */ sb $zero, 0x8b0($v0) -.L800B4574: -/* B2B714 800B4574 00036900 */ sll $t5, $v1, 4 -/* B2B718 800B4578 020D1021 */ addu $v0, $s0, $t5 -/* B2B71C 800B457C A04E08B0 */ sb $t6, 0x8b0($v0) -/* B2B720 800B4580 804F08B0 */ lb $t7, 0x8b0($v0) -/* B2B724 800B4584 A04F00A0 */ sb $t7, 0xa0($v0) -.L800B4588: -/* B2B728 800B4588 86180080 */ lh $t8, 0x80($s0) -/* B2B72C 800B458C 3C118016 */ lui $s1, %hi(D_80161110) # $s1, 0x8016 -/* B2B730 800B4590 26311110 */ addiu $s1, %lo(D_80161110) # addiu $s1, $s1, 0x1110 -/* B2B734 800B4594 2B010006 */ slti $at, $t8, 6 -/* B2B738 800B4598 10200023 */ beqz $at, .L800B4628 -/* B2B73C 800B459C 3C048016 */ lui $a0, %hi(D_80161120) # $a0, 0x8016 -/* B2B740 800B45A0 8639000A */ lh $t9, 0xa($s1) -/* B2B744 800B45A4 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* B2B748 800B45A8 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* B2B74C 800B45AC 1320000A */ beqz $t9, .L800B45D8 -/* B2B750 800B45B0 24044806 */ li $a0, 18438 -/* B2B754 800B45B4 3C088013 */ lui $t0, %hi(D_801333E8) # $t0, 0x8013 -/* B2B758 800B45B8 250833E8 */ addiu $t0, %lo(D_801333E8) # addiu $t0, $t0, 0x33e8 -/* B2B75C 800B45BC 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* B2B760 800B45C0 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 -/* B2B764 800B45C4 AFA80014 */ sw $t0, 0x14($sp) -/* B2B768 800B45C8 24060004 */ li $a2, 4 -/* B2B76C 800B45CC 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* B2B770 800B45D0 AFA70010 */ sw $a3, 0x10($sp) -/* B2B774 800B45D4 A620000A */ sh $zero, 0xa($s1) -.L800B45D8: -/* B2B778 800B45D8 3C078013 */ lui $a3, %hi(D_8012CEE0) # $a3, 0x8013 -/* B2B77C 800B45DC 8CE7CEE0 */ lw $a3, %lo(D_8012CEE0)($a3) -/* B2B780 800B45E0 24040011 */ li $a0, 17 -/* B2B784 800B45E4 24050017 */ li $a1, 23 -/* B2B788 800B45E8 0C018DDB */ jal func_8006376C -/* B2B78C 800B45EC 24060003 */ li $a2, 3 -/* B2B790 800B45F0 3C078013 */ lui $a3, %hi(D_8012CEE4) # $a3, 0x8013 -/* B2B794 800B45F4 8CE7CEE4 */ lw $a3, %lo(D_8012CEE4)($a3) -/* B2B798 800B45F8 24040012 */ li $a0, 18 -/* B2B79C 800B45FC 24050018 */ li $a1, 24 -/* B2B7A0 800B4600 0C018DDB */ jal func_8006376C -/* B2B7A4 800B4604 24060003 */ li $a2, 3 -/* B2B7A8 800B4608 3C078013 */ lui $a3, %hi(D_8012CEE8) # $a3, 0x8013 -/* B2B7AC 800B460C 8CE7CEE8 */ lw $a3, %lo(D_8012CEE8)($a3) -/* B2B7B0 800B4610 24040010 */ li $a0, 16 -/* B2B7B4 800B4614 2405001A */ li $a1, 26 -/* B2B7B8 800B4618 0C018DDB */ jal func_8006376C -/* B2B7BC 800B461C 24060001 */ li $a2, 1 -/* B2B7C0 800B4620 100000BB */ b .L800B4910 -/* B2B7C4 800B4624 8FBF0024 */ lw $ra, 0x24($sp) -.L800B4628: -/* B2B7C8 800B4628 3C098016 */ lui $t1, %hi(D_80161118) # $t1, 0x8016 -/* B2B7CC 800B462C 25291118 */ addiu $t1, %lo(D_80161118) # addiu $t1, $t1, 0x1118 -/* B2B7D0 800B4630 3C058016 */ lui $a1, %hi(D_80161138) # $a1, 0x8016 -/* B2B7D4 800B4634 3C068016 */ lui $a2, %hi(D_8016113C) # $a2, 0x8016 -/* B2B7D8 800B4638 24C6113C */ addiu $a2, %lo(D_8016113C) # addiu $a2, $a2, 0x113c -/* B2B7DC 800B463C 24A51138 */ addiu $a1, %lo(D_80161138) # addiu $a1, $a1, 0x1138 -/* B2B7E0 800B4640 AFA90010 */ sw $t1, 0x10($sp) -/* B2B7E4 800B4644 24841120 */ addiu $a0, %lo(D_80161120) # addiu $a0, $a0, 0x1120 -/* B2B7E8 800B4648 260700A0 */ addiu $a3, $s0, 0xa0 -/* B2B7EC 800B464C 0C02ECAD */ jal func_800BB2B4 -/* B2B7F0 800B4650 AFB10014 */ sw $s1, 0x14($sp) -/* B2B7F4 800B4654 144000A6 */ bnez $v0, .L800B48F0 -/* B2B7F8 800B4658 3C048016 */ lui $a0, %hi(D_8016112C) # $a0, 0x8016 -/* B2B7FC 800B465C 3C0A8016 */ lui $t2, %hi(D_80161118) # $t2, 0x8016 -/* B2B800 800B4660 254A1118 */ addiu $t2, %lo(D_80161118) # addiu $t2, $t2, 0x1118 -/* B2B804 800B4664 3C058016 */ lui $a1, %hi(D_80161138) # $a1, 0x8016 -/* B2B808 800B4668 3C068016 */ lui $a2, %hi(D_8016113C) # $a2, 0x8016 -/* B2B80C 800B466C 24C6113C */ addiu $a2, %lo(D_8016113C) # addiu $a2, $a2, 0x113c -/* B2B810 800B4670 24A51138 */ addiu $a1, %lo(D_80161138) # addiu $a1, $a1, 0x1138 -/* B2B814 800B4674 AFAA0010 */ sw $t2, 0x10($sp) -/* B2B818 800B4678 2484112C */ addiu $a0, %lo(D_8016112C) # addiu $a0, $a0, 0x112c -/* B2B81C 800B467C 260708B0 */ addiu $a3, $s0, 0x8b0 -/* B2B820 800B4680 0C02ECAD */ jal func_800BB2B4 -/* B2B824 800B4684 AFB10014 */ sw $s1, 0x14($sp) -/* B2B828 800B4688 5440009A */ bnezl $v0, .L800B48F4 -/* B2B82C 800B468C A620000A */ sh $zero, 0xa($s1) -/* B2B830 800B4690 862B000A */ lh $t3, 0xa($s1) -/* B2B834 800B4694 24010001 */ li $at, 1 -/* B2B838 800B4698 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* B2B83C 800B469C 15610094 */ bne $t3, $at, .L800B48F0 -/* B2B840 800B46A0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* B2B844 800B46A4 3C0C8013 */ lui $t4, %hi(D_801333E8) # $t4, 0x8013 -/* B2B848 800B46A8 258C33E8 */ addiu $t4, %lo(D_801333E8) # addiu $t4, $t4, 0x33e8 -/* B2B84C 800B46AC 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* B2B850 800B46B0 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 -/* B2B854 800B46B4 AFAC0014 */ sw $t4, 0x14($sp) -/* B2B858 800B46B8 2404480B */ li $a0, 18443 -/* B2B85C 800B46BC 24060004 */ li $a2, 4 -/* B2B860 800B46C0 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* B2B864 800B46C4 AFA70010 */ sw $a3, 0x10($sp) -/* B2B868 800B46C8 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B2B86C 800B46CC 44815000 */ mtc1 $at, $f10 -/* B2B870 800B46D0 C6280004 */ lwc1 $f8, 4($s1) -/* B2B874 800B46D4 460A4400 */ add.s $f16, $f8, $f10 -/* B2B878 800B46D8 E6300004 */ swc1 $f16, 4($s1) -/* B2B87C 800B46DC 8602007E */ lh $v0, 0x7e($s0) -/* B2B880 800B46E0 58400010 */ blezl $v0, .L800B4724 -/* B2B884 800B46E4 860D007C */ lh $t5, 0x7c($s0) -/* B2B888 800B46E8 44829000 */ mtc1 $v0, $f18 -/* B2B88C 800B46EC C6260004 */ lwc1 $f6, 4($s1) -/* B2B890 800B46F0 2404000F */ li $a0, 15 -/* B2B894 800B46F4 46809120 */ cvt.s.w $f4, $f18 -/* B2B898 800B46F8 2405001A */ li $a1, 26 -/* B2B89C 800B46FC 24060001 */ li $a2, 1 -/* B2B8A0 800B4700 3C078013 */ lui $a3, %hi(D_8012CEEC) # $a3, 0x8013 -/* B2B8A4 800B4704 4606203C */ c.lt.s $f4, $f6 -/* B2B8A8 800B4708 00000000 */ nop -/* B2B8AC 800B470C 45020005 */ bc1fl .L800B4724 -/* B2B8B0 800B4710 860D007C */ lh $t5, 0x7c($s0) -/* B2B8B4 800B4714 A620000A */ sh $zero, 0xa($s1) -/* B2B8B8 800B4718 0C018DDB */ jal func_8006376C -/* B2B8BC 800B471C 8CE7CEEC */ lw $a3, %lo(D_8012CEEC)($a3) -/* B2B8C0 800B4720 860D007C */ lh $t5, 0x7c($s0) -.L800B4724: -/* B2B8C4 800B4724 8FA40034 */ lw $a0, 0x34($sp) -/* B2B8C8 800B4728 24010001 */ li $at, 1 -/* B2B8CC 800B472C 11A1000B */ beq $t5, $at, .L800B475C -/* B2B8D0 800B4730 24840094 */ addiu $a0, $a0, 0x94 -/* B2B8D4 800B4734 3C048016 */ lui $a0, %hi(D_80161120) # $a0, 0x8016 -/* B2B8D8 800B4738 24841120 */ addiu $a0, %lo(D_80161120) # addiu $a0, $a0, 0x1120 -/* B2B8DC 800B473C 0C02CFCE */ jal func_800B3F38 -/* B2B8E0 800B4740 26050010 */ addiu $a1, $s0, 0x10 -/* B2B8E4 800B4744 3C048016 */ lui $a0, %hi(D_8016112C) # $a0, 0x8016 -/* B2B8E8 800B4748 2484112C */ addiu $a0, %lo(D_8016112C) # addiu $a0, $a0, 0x112c -/* B2B8EC 800B474C 0C02CFCE */ jal func_800B3F38 -/* B2B8F0 800B4750 26050004 */ addiu $a1, $s0, 4 -/* B2B8F4 800B4754 1000000C */ b .L800B4788 -/* B2B8F8 800B4758 C628002C */ lwc1 $f8, 0x2c($s1) -.L800B475C: -/* B2B8FC 800B475C 3C058016 */ lui $a1, %hi(D_8016112C) # $a1, 0x8016 -/* B2B900 800B4760 24A5112C */ addiu $a1, %lo(D_8016112C) # addiu $a1, $a1, 0x112c -/* B2B904 800B4764 26060004 */ addiu $a2, $s0, 4 -/* B2B908 800B4768 0C02CFFD */ jal func_800B3FF4 -/* B2B90C 800B476C AFA40028 */ sw $a0, 0x28($sp) -/* B2B910 800B4770 3C058016 */ lui $a1, %hi(D_80161120) # $a1, 0x8016 -/* B2B914 800B4774 8FA40028 */ lw $a0, 0x28($sp) -/* B2B918 800B4778 24A51120 */ addiu $a1, %lo(D_80161120) # addiu $a1, $a1, 0x1120 -/* B2B91C 800B477C 0C02CFFD */ jal func_800B3FF4 -/* B2B920 800B4780 26060010 */ addiu $a2, $s0, 0x10 -/* B2B924 800B4784 C628002C */ lwc1 $f8, 0x2c($s1) -.L800B4788: -/* B2B928 800B4788 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 -/* B2B92C 800B478C 44812000 */ mtc1 $at, $f4 -/* B2B930 800B4790 E6080048 */ swc1 $f8, 0x48($s0) -/* B2B934 800B4794 C62A0028 */ lwc1 $f10, 0x28($s1) -/* B2B938 800B4798 3C058013 */ lui $a1, %hi(D_8012CFBC) # $a1, 0x8013 -/* B2B93C 800B479C 24A5CFBC */ addiu $a1, %lo(D_8012CFBC) # addiu $a1, $a1, -0x3044 -/* B2B940 800B47A0 4600540D */ trunc.w.s $f16, $f10 -/* B2B944 800B47A4 24060004 */ li $a2, 4 -/* B2B948 800B47A8 440F8000 */ mfc1 $t7, $f16 -/* B2B94C 800B47AC 00000000 */ nop -/* B2B950 800B47B0 A60F004C */ sh $t7, 0x4c($s0) -/* B2B954 800B47B4 C6320028 */ lwc1 $f18, 0x28($s1) -/* B2B958 800B47B8 46049182 */ mul.s $f6, $f18, $f4 -/* B2B95C 800B47BC E6060050 */ swc1 $f6, 0x50($s0) -/* B2B960 800B47C0 C6280004 */ lwc1 $f8, 4($s1) -/* B2B964 800B47C4 4600428D */ trunc.w.s $f10, $f8 -/* B2B968 800B47C8 44045000 */ mfc1 $a0, $f10 -/* B2B96C 800B47CC 00000000 */ nop -/* B2B970 800B47D0 00042400 */ sll $a0, $a0, 0x10 -/* B2B974 800B47D4 0C02CF7E */ jal func_800B3DF8 -/* B2B978 800B47D8 00042403 */ sra $a0, $a0, 0x10 -/* B2B97C 800B47DC 3C078013 */ lui $a3, %hi(D_8012CFB4) # $a3, 0x8013 -/* B2B980 800B47E0 24E7CFB4 */ addiu $a3, %lo(D_8012CFB4) # addiu $a3, $a3, -0x304c -/* B2B984 800B47E4 24040010 */ li $a0, 16 -/* B2B988 800B47E8 24050017 */ li $a1, 23 -/* B2B98C 800B47EC 0C018DDB */ jal func_8006376C -/* B2B990 800B47F0 24060003 */ li $a2, 3 -/* B2B994 800B47F4 86220008 */ lh $v0, 8($s1) -/* B2B998 800B47F8 2403000A */ li $v1, 10 -/* B2B99C 800B47FC 3C078013 */ lui $a3, %hi(D_8012CFC4) # $a3, 0x8013 -/* B2B9A0 800B4800 24420001 */ addiu $v0, $v0, 1 -/* B2B9A4 800B4804 0043001A */ div $zero, $v0, $v1 -/* B2B9A8 800B4808 0000C812 */ mflo $t9 -/* B2B9AC 800B480C 00004810 */ mfhi $t1 -/* B2B9B0 800B4810 24E7CFC4 */ addiu $a3, %lo(D_8012CFC4) # addiu $a3, $a3, -0x303c -/* B2B9B4 800B4814 27280030 */ addiu $t0, $t9, 0x30 -/* B2B9B8 800B4818 252A0030 */ addiu $t2, $t1, 0x30 -/* B2B9BC 800B481C A0E80005 */ sb $t0, 5($a3) -/* B2B9C0 800B4820 A0EA0006 */ sb $t2, 6($a3) -/* B2B9C4 800B4824 860B0080 */ lh $t3, 0x80($s0) -/* B2B9C8 800B4828 14600002 */ bnez $v1, .L800B4834 -/* B2B9CC 800B482C 00000000 */ nop -/* B2B9D0 800B4830 0007000D */ break 7 -.L800B4834: -/* B2B9D4 800B4834 2401FFFF */ li $at, -1 -/* B2B9D8 800B4838 14610004 */ bne $v1, $at, .L800B484C -/* B2B9DC 800B483C 3C018000 */ lui $at, 0x8000 -/* B2B9E0 800B4840 14410002 */ bne $v0, $at, .L800B484C -/* B2B9E4 800B4844 00000000 */ nop -/* B2B9E8 800B4848 0006000D */ break 6 -.L800B484C: -/* B2B9EC 800B484C 256CFFFB */ addiu $t4, $t3, -5 -/* B2B9F0 800B4850 0183001A */ div $zero, $t4, $v1 -/* B2B9F4 800B4854 00006812 */ mflo $t5 -/* B2B9F8 800B4858 25AE0030 */ addiu $t6, $t5, 0x30 -/* B2B9FC 800B485C A0EE0008 */ sb $t6, 8($a3) -/* B2BA00 800B4860 860F0080 */ lh $t7, 0x80($s0) -/* B2BA04 800B4864 14600002 */ bnez $v1, .L800B4870 -/* B2BA08 800B4868 00000000 */ nop -/* B2BA0C 800B486C 0007000D */ break 7 -.L800B4870: -/* B2BA10 800B4870 2401FFFF */ li $at, -1 -/* B2BA14 800B4874 14610004 */ bne $v1, $at, .L800B4888 -/* B2BA18 800B4878 3C018000 */ lui $at, 0x8000 -/* B2BA1C 800B487C 15810002 */ bne $t4, $at, .L800B4888 -/* B2BA20 800B4880 00000000 */ nop -/* B2BA24 800B4884 0006000D */ break 6 -.L800B4888: -/* B2BA28 800B4888 25F8FFFB */ addiu $t8, $t7, -5 -/* B2BA2C 800B488C 0303001A */ div $zero, $t8, $v1 -/* B2BA30 800B4890 0000C810 */ mfhi $t9 -/* B2BA34 800B4894 27280030 */ addiu $t0, $t9, 0x30 -/* B2BA38 800B4898 14600002 */ bnez $v1, .L800B48A4 -/* B2BA3C 800B489C 00000000 */ nop -/* B2BA40 800B48A0 0007000D */ break 7 -.L800B48A4: -/* B2BA44 800B48A4 2401FFFF */ li $at, -1 -/* B2BA48 800B48A8 14610004 */ bne $v1, $at, .L800B48BC -/* B2BA4C 800B48AC 3C018000 */ lui $at, 0x8000 -/* B2BA50 800B48B0 17010002 */ bne $t8, $at, .L800B48BC -/* B2BA54 800B48B4 00000000 */ nop -/* B2BA58 800B48B8 0006000D */ break 6 -.L800B48BC: -/* B2BA5C 800B48BC A0E80009 */ sb $t0, 9($a3) -/* B2BA60 800B48C0 24040010 */ li $a0, 16 -/* B2BA64 800B48C4 24050018 */ li $a1, 24 -/* B2BA68 800B48C8 0C018DDB */ jal func_8006376C -/* B2BA6C 800B48CC 24060003 */ li $a2, 3 -/* B2BA70 800B48D0 3C078013 */ lui $a3, %hi(D_8012CEF0) # $a3, 0x8013 -/* B2BA74 800B48D4 8CE7CEF0 */ lw $a3, %lo(D_8012CEF0)($a3) -/* B2BA78 800B48D8 24040010 */ li $a0, 16 -/* B2BA7C 800B48DC 2405001A */ li $a1, 26 -/* B2BA80 800B48E0 0C018DDB */ jal func_8006376C -/* B2BA84 800B48E4 24060001 */ li $a2, 1 -/* B2BA88 800B48E8 10000009 */ b .L800B4910 -/* B2BA8C 800B48EC 8FBF0024 */ lw $ra, 0x24($sp) -.L800B48F0: -/* B2BA90 800B48F0 A620000A */ sh $zero, 0xa($s1) -.L800B48F4: -/* B2BA94 800B48F4 3C078013 */ lui $a3, %hi(D_8012CEEC) # $a3, 0x8013 -/* B2BA98 800B48F8 8CE7CEEC */ lw $a3, %lo(D_8012CEEC)($a3) -/* B2BA9C 800B48FC 2404000F */ li $a0, 15 -/* B2BAA0 800B4900 2405001A */ li $a1, 26 -/* B2BAA4 800B4904 0C018DDB */ jal func_8006376C -/* B2BAA8 800B4908 24060001 */ li $a2, 1 -/* B2BAAC 800B490C 8FBF0024 */ lw $ra, 0x24($sp) -.L800B4910: -/* B2BAB0 800B4910 8FB0001C */ lw $s0, 0x1c($sp) -/* B2BAB4 800B4914 8FB10020 */ lw $s1, 0x20($sp) -/* B2BAB8 800B4918 03E00008 */ jr $ra -/* B2BABC 800B491C 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/code/db_camera/func_800B4A68.s b/asm/non_matchings/code/db_camera/func_800B4A68.s deleted file mode 100644 index 36c3eddfdd..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4A68.s +++ /dev/null @@ -1,24 +0,0 @@ -.rdata -glabel D_801435DC - .asciz "\n@@@%d,%d,%d,%d," - .balign 4 - -.text -glabel func_800B4A68 -/* B2BC08 800B4A68 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B2BC0C 800B4A6C AFBF001C */ sw $ra, 0x1c($sp) -/* B2BC10 800B4A70 27A20024 */ addiu $v0, $sp, 0x24 -/* B2BC14 800B4A74 E7AC0024 */ swc1 $f12, 0x24($sp) -/* B2BC18 800B4A78 904E0003 */ lbu $t6, 3($v0) -/* B2BC1C 800B4A7C 90470002 */ lbu $a3, 2($v0) -/* B2BC20 800B4A80 90460001 */ lbu $a2, 1($v0) -/* B2BC24 800B4A84 90450000 */ lbu $a1, ($v0) -/* B2BC28 800B4A88 3C048014 */ lui $a0, %hi(D_801435DC) # $a0, 0x8014 -/* B2BC2C 800B4A8C 248435DC */ addiu $a0, %lo(D_801435DC) # addiu $a0, $a0, 0x35dc -/* B2BC30 800B4A90 0C00084C */ jal osSyncPrintf -/* B2BC34 800B4A94 AFAE0010 */ sw $t6, 0x10($sp) -/* B2BC38 800B4A98 8FBF001C */ lw $ra, 0x1c($sp) -/* B2BC3C 800B4A9C 27BD0028 */ addiu $sp, $sp, 0x28 -/* B2BC40 800B4AA0 03E00008 */ jr $ra -/* B2BC44 800B4AA4 00000000 */ nop - diff --git a/asm/non_matchings/code/db_camera/func_800B4AA8.s b/asm/non_matchings/code/db_camera/func_800B4AA8.s deleted file mode 100644 index 165c554dac..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4AA8.s +++ /dev/null @@ -1,23 +0,0 @@ -.rdata -glabel D_801435F0 - .asciz "\n@@@%d,%d," - .balign 4 - -.text -glabel func_800B4AA8 -/* B2BC48 800B4AA8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B2BC4C 800B4AAC 00803825 */ move $a3, $a0 -/* B2BC50 800B4AB0 AFBF0014 */ sw $ra, 0x14($sp) -/* B2BC54 800B4AB4 AFA40020 */ sw $a0, 0x20($sp) -/* B2BC58 800B4AB8 27A2001C */ addiu $v0, $sp, 0x1c -/* B2BC5C 800B4ABC A7A7001C */ sh $a3, 0x1c($sp) -/* B2BC60 800B4AC0 3C048014 */ lui $a0, %hi(D_801435F0) # $a0, 0x8014 -/* B2BC64 800B4AC4 248435F0 */ addiu $a0, %lo(D_801435F0) # addiu $a0, $a0, 0x35f0 -/* B2BC68 800B4AC8 90460001 */ lbu $a2, 1($v0) -/* B2BC6C 800B4ACC 0C00084C */ jal osSyncPrintf -/* B2BC70 800B4AD0 90450000 */ lbu $a1, ($v0) -/* B2BC74 800B4AD4 8FBF0014 */ lw $ra, 0x14($sp) -/* B2BC78 800B4AD8 27BD0020 */ addiu $sp, $sp, 0x20 -/* B2BC7C 800B4ADC 03E00008 */ jr $ra -/* B2BC80 800B4AE0 00000000 */ nop - diff --git a/asm/non_matchings/code/db_camera/func_800B4AE4.s b/asm/non_matchings/code/db_camera/func_800B4AE4.s deleted file mode 100644 index bba5f07274..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4AE4.s +++ /dev/null @@ -1,23 +0,0 @@ -.rdata -glabel D_801435FC - .asciz "\n@@@%d,%d," - .balign 4 - -.text -glabel func_800B4AE4 -/* B2BC84 800B4AE4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B2BC88 800B4AE8 00803825 */ move $a3, $a0 -/* B2BC8C 800B4AEC AFBF0014 */ sw $ra, 0x14($sp) -/* B2BC90 800B4AF0 AFA40020 */ sw $a0, 0x20($sp) -/* B2BC94 800B4AF4 27A2001C */ addiu $v0, $sp, 0x1c -/* B2BC98 800B4AF8 A7A7001C */ sh $a3, 0x1c($sp) -/* B2BC9C 800B4AFC 3C048014 */ lui $a0, %hi(D_801435FC) # $a0, 0x8014 -/* B2BCA0 800B4B00 248435FC */ addiu $a0, %lo(D_801435FC) # addiu $a0, $a0, 0x35fc -/* B2BCA4 800B4B04 90460001 */ lbu $a2, 1($v0) -/* B2BCA8 800B4B08 0C00084C */ jal osSyncPrintf -/* B2BCAC 800B4B0C 90450000 */ lbu $a1, ($v0) -/* B2BCB0 800B4B10 8FBF0014 */ lw $ra, 0x14($sp) -/* B2BCB4 800B4B14 27BD0020 */ addiu $sp, $sp, 0x20 -/* B2BCB8 800B4B18 03E00008 */ jr $ra -/* B2BCBC 800B4B1C 00000000 */ nop - diff --git a/asm/non_matchings/code/db_camera/func_800B4B20.s b/asm/non_matchings/code/db_camera/func_800B4B20.s deleted file mode 100644 index bdde0e5f66..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B4B20.s +++ /dev/null @@ -1,254 +0,0 @@ -.rdata -glabel D_80143608 - .asciz "\n@@@ 0,0,0,2, /* Look Camera */" - .balign 4 - -glabel D_80143628 - .asciz "\n@@@ 0,1, /* dousa */" - .balign 4 - -glabel D_80143640 - .asciz "\n@@@ 0,0, /* Start Flame */" - .balign 4 - -glabel D_8014365C - .asciz " /* End Flame */" - .balign 4 - -glabel D_80143670 - .asciz "\n@@@0,0, /* Dammy */\n@@@ " - .balign 4 - -glabel D_8014368C - .asciz "\n@@@ %d, /* code */" - .balign 4 - -glabel D_801436AC - .asciz "\n@@@ %d, /* z */" - .balign 4 - -glabel D_801436CC - .asciz " /* sokudo */" - .balign 4 - -glabel D_801436DC - .asciz " /* zoom */" - .balign 4 - -glabel D_801436EC - .asciz " /* x pos */" - .balign 4 - -glabel D_801436FC - .asciz " /* y pos */" - .balign 4 - -glabel D_8014370C - .asciz " /* z pos */\n" - .balign 4 - -glabel D_8014371C - .asciz "\n@@@0,0, /* Dammy */\n@@@ " - .balign 4 - -glabel D_80143738 - .asciz "\n@@@ 0,0,0,1, /* Position Camera */" - .balign 4 - -glabel D_8014375C - .asciz "\n@@@ 0,1, /* dousa */" - .balign 4 - -glabel D_80143774 - .asciz "\n@@@ 0,0, /* Start Flame */" - .balign 4 - -glabel D_80143790 - .asciz " /* End Flame */" - .balign 4 - -glabel D_801437A4 - .asciz "\n@@@0,0, /* Dammy */\n@@@ " - .balign 4 - -glabel D_801437C0 - .asciz "\n@@@ %d, /* code */" - .balign 4 - -glabel D_801437E0 - .asciz "\n@@@ %d, /* z */" - .balign 4 - -glabel D_80143800 - .asciz " /* sokudo */" - .balign 4 - -glabel D_80143810 - .asciz " /* zoom */" - .balign 4 - -glabel D_80143820 - .asciz " /* x pos */" - .balign 4 - -glabel D_80143830 - .asciz " /* y pos */" - .balign 4 - -glabel D_80143840 - .asciz " /* z pos */" - .balign 4 - -glabel D_80143850 - .asciz "\n@@@0,0, /* Dammy */\n@@@ " - .balign 4 - -.text -glabel func_800B4B20 -/* B2BCC0 800B4B20 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B2BCC4 800B4B24 AFBF0024 */ sw $ra, 0x24($sp) -/* B2BCC8 800B4B28 AFB20020 */ sw $s2, 0x20($sp) -/* B2BCCC 800B4B2C AFB1001C */ sw $s1, 0x1c($sp) -/* B2BCD0 800B4B30 AFB00018 */ sw $s0, 0x18($sp) -/* B2BCD4 800B4B34 8C8E0008 */ lw $t6, 8($a0) -/* B2BCD8 800B4B38 00809025 */ move $s2, $a0 -/* B2BCDC 800B4B3C 3C048014 */ lui $a0, %hi(D_80143608) # $a0, 0x8014 -/* B2BCE0 800B4B40 24843608 */ addiu $a0, %lo(D_80143608) # addiu $a0, $a0, 0x3608 -/* B2BCE4 800B4B44 0C00084C */ jal osSyncPrintf -/* B2BCE8 800B4B48 AFAE0028 */ sw $t6, 0x28($sp) -/* B2BCEC 800B4B4C 3C048014 */ lui $a0, %hi(D_80143628) # $a0, 0x8014 -/* B2BCF0 800B4B50 0C00084C */ jal osSyncPrintf -/* B2BCF4 800B4B54 24843628 */ addiu $a0, %lo(D_80143628) # addiu $a0, $a0, 0x3628 -/* B2BCF8 800B4B58 3C048014 */ lui $a0, %hi(D_80143640) # $a0, 0x8014 -/* B2BCFC 800B4B5C 0C00084C */ jal osSyncPrintf -/* B2BD00 800B4B60 24843640 */ addiu $a0, %lo(D_80143640) # addiu $a0, $a0, 0x3640 -/* B2BD04 800B4B64 0C02D2AA */ jal func_800B4AA8 -/* B2BD08 800B4B68 9644000C */ lhu $a0, 0xc($s2) -/* B2BD0C 800B4B6C 3C048014 */ lui $a0, %hi(D_8014365C) # $a0, 0x8014 -/* B2BD10 800B4B70 0C00084C */ jal osSyncPrintf -/* B2BD14 800B4B74 2484365C */ addiu $a0, %lo(D_8014365C) # addiu $a0, $a0, 0x365c -/* B2BD18 800B4B78 3C048014 */ lui $a0, %hi(D_80143670) # $a0, 0x8014 -/* B2BD1C 800B4B7C 0C00084C */ jal osSyncPrintf -/* B2BD20 800B4B80 24843670 */ addiu $a0, %lo(D_80143670) # addiu $a0, $a0, 0x3670 -/* B2BD24 800B4B84 864F000E */ lh $t7, 0xe($s2) -/* B2BD28 800B4B88 00008825 */ move $s1, $zero -/* B2BD2C 800B4B8C 8FB00028 */ lw $s0, 0x28($sp) -/* B2BD30 800B4B90 19E0002B */ blez $t7, .L800B4C40 -.L800B4B94: -/* B2BD34 800B4B94 3C048014 */ lui $a0, %hi(D_8014368C) # $a0, 0x8014 -/* B2BD38 800B4B98 2484368C */ addiu $a0, %lo(D_8014368C) # addiu $a0, $a0, 0x368c -/* B2BD3C 800B4B9C 0C00084C */ jal osSyncPrintf -/* B2BD40 800B4BA0 82050000 */ lb $a1, ($s0) -/* B2BD44 800B4BA4 3C048014 */ lui $a0, %hi(D_801436AC) # $a0, 0x8014 -/* B2BD48 800B4BA8 248436AC */ addiu $a0, %lo(D_801436AC) # addiu $a0, $a0, 0x36ac -/* B2BD4C 800B4BAC 0C00084C */ jal osSyncPrintf -/* B2BD50 800B4BB0 82050001 */ lb $a1, 1($s0) -/* B2BD54 800B4BB4 0C02D2AA */ jal func_800B4AA8 -/* B2BD58 800B4BB8 96040002 */ lhu $a0, 2($s0) -/* B2BD5C 800B4BBC 3C048014 */ lui $a0, %hi(D_801436CC) # $a0, 0x8014 -/* B2BD60 800B4BC0 0C00084C */ jal osSyncPrintf -/* B2BD64 800B4BC4 248436CC */ addiu $a0, %lo(D_801436CC) # addiu $a0, $a0, 0x36cc -/* B2BD68 800B4BC8 0C02D29A */ jal func_800B4A68 -/* B2BD6C 800B4BCC C60C0004 */ lwc1 $f12, 4($s0) -/* B2BD70 800B4BD0 3C048014 */ lui $a0, %hi(D_801436DC) # $a0, 0x8014 -/* B2BD74 800B4BD4 0C00084C */ jal osSyncPrintf -/* B2BD78 800B4BD8 248436DC */ addiu $a0, %lo(D_801436DC) # addiu $a0, $a0, 0x36dc -/* B2BD7C 800B4BDC 0C02D2B9 */ jal func_800B4AE4 -/* B2BD80 800B4BE0 86040008 */ lh $a0, 8($s0) -/* B2BD84 800B4BE4 3C048014 */ lui $a0, %hi(D_801436EC) # $a0, 0x8014 -/* B2BD88 800B4BE8 0C00084C */ jal osSyncPrintf -/* B2BD8C 800B4BEC 248436EC */ addiu $a0, %lo(D_801436EC) # addiu $a0, $a0, 0x36ec -/* B2BD90 800B4BF0 0C02D2B9 */ jal func_800B4AE4 -/* B2BD94 800B4BF4 8604000A */ lh $a0, 0xa($s0) -/* B2BD98 800B4BF8 3C048014 */ lui $a0, %hi(D_801436FC) # $a0, 0x8014 -/* B2BD9C 800B4BFC 0C00084C */ jal osSyncPrintf -/* B2BDA0 800B4C00 248436FC */ addiu $a0, %lo(D_801436FC) # addiu $a0, $a0, 0x36fc -/* B2BDA4 800B4C04 0C02D2B9 */ jal func_800B4AE4 -/* B2BDA8 800B4C08 8604000C */ lh $a0, 0xc($s0) -/* B2BDAC 800B4C0C 3C048014 */ lui $a0, %hi(D_8014370C) # $a0, 0x8014 -/* B2BDB0 800B4C10 0C00084C */ jal osSyncPrintf -/* B2BDB4 800B4C14 2484370C */ addiu $a0, %lo(D_8014370C) # addiu $a0, $a0, 0x370c -/* B2BDB8 800B4C18 3C048014 */ lui $a0, %hi(D_8014371C) # $a0, 0x8014 -/* B2BDBC 800B4C1C 0C00084C */ jal osSyncPrintf -/* B2BDC0 800B4C20 2484371C */ addiu $a0, %lo(D_8014371C) # addiu $a0, $a0, 0x371c -/* B2BDC4 800B4C24 8658000E */ lh $t8, 0xe($s2) -/* B2BDC8 800B4C28 26310001 */ addiu $s1, $s1, 1 -/* B2BDCC 800B4C2C 26100010 */ addiu $s0, $s0, 0x10 -/* B2BDD0 800B4C30 0238082A */ slt $at, $s1, $t8 -/* B2BDD4 800B4C34 1420FFD7 */ bnez $at, .L800B4B94 -/* B2BDD8 800B4C38 00000000 */ nop -/* B2BDDC 800B4C3C 00008825 */ move $s1, $zero -.L800B4C40: -/* B2BDE0 800B4C40 8E590004 */ lw $t9, 4($s2) -/* B2BDE4 800B4C44 3C048014 */ lui $a0, %hi(D_80143738) # $a0, 0x8014 -/* B2BDE8 800B4C48 24843738 */ addiu $a0, %lo(D_80143738) # addiu $a0, $a0, 0x3738 -/* B2BDEC 800B4C4C 0C00084C */ jal osSyncPrintf -/* B2BDF0 800B4C50 AFB90028 */ sw $t9, 0x28($sp) -/* B2BDF4 800B4C54 3C048014 */ lui $a0, %hi(D_8014375C) # $a0, 0x8014 -/* B2BDF8 800B4C58 0C00084C */ jal osSyncPrintf -/* B2BDFC 800B4C5C 2484375C */ addiu $a0, %lo(D_8014375C) # addiu $a0, $a0, 0x375c -/* B2BE00 800B4C60 3C048014 */ lui $a0, %hi(D_80143774) # $a0, 0x8014 -/* B2BE04 800B4C64 0C00084C */ jal osSyncPrintf -/* B2BE08 800B4C68 24843774 */ addiu $a0, %lo(D_80143774) # addiu $a0, $a0, 0x3774 -/* B2BE0C 800B4C6C 0C02D2AA */ jal func_800B4AA8 -/* B2BE10 800B4C70 9644000C */ lhu $a0, 0xc($s2) -/* B2BE14 800B4C74 3C048014 */ lui $a0, %hi(D_80143790) # $a0, 0x8014 -/* B2BE18 800B4C78 0C00084C */ jal osSyncPrintf -/* B2BE1C 800B4C7C 24843790 */ addiu $a0, %lo(D_80143790) # addiu $a0, $a0, 0x3790 -/* B2BE20 800B4C80 3C048014 */ lui $a0, %hi(D_801437A4) # $a0, 0x8014 -/* B2BE24 800B4C84 0C00084C */ jal osSyncPrintf -/* B2BE28 800B4C88 248437A4 */ addiu $a0, %lo(D_801437A4) # addiu $a0, $a0, 0x37a4 -/* B2BE2C 800B4C8C 8648000E */ lh $t0, 0xe($s2) -/* B2BE30 800B4C90 8FB00028 */ lw $s0, 0x28($sp) -/* B2BE34 800B4C94 1900002A */ blez $t0, .L800B4D40 -.L800B4C98: -/* B2BE38 800B4C98 3C048014 */ lui $a0, %hi(D_801437C0) # $a0, 0x8014 -/* B2BE3C 800B4C9C 248437C0 */ addiu $a0, %lo(D_801437C0) # addiu $a0, $a0, 0x37c0 -/* B2BE40 800B4CA0 0C00084C */ jal osSyncPrintf -/* B2BE44 800B4CA4 82050000 */ lb $a1, ($s0) -/* B2BE48 800B4CA8 3C048014 */ lui $a0, %hi(D_801437E0) # $a0, 0x8014 -/* B2BE4C 800B4CAC 248437E0 */ addiu $a0, %lo(D_801437E0) # addiu $a0, $a0, 0x37e0 -/* B2BE50 800B4CB0 0C00084C */ jal osSyncPrintf -/* B2BE54 800B4CB4 82050001 */ lb $a1, 1($s0) -/* B2BE58 800B4CB8 0C02D2AA */ jal func_800B4AA8 -/* B2BE5C 800B4CBC 96040002 */ lhu $a0, 2($s0) -/* B2BE60 800B4CC0 3C048014 */ lui $a0, %hi(D_80143800) # $a0, 0x8014 -/* B2BE64 800B4CC4 0C00084C */ jal osSyncPrintf -/* B2BE68 800B4CC8 24843800 */ addiu $a0, %lo(D_80143800) # addiu $a0, $a0, 0x3800 -/* B2BE6C 800B4CCC 0C02D29A */ jal func_800B4A68 -/* B2BE70 800B4CD0 C60C0004 */ lwc1 $f12, 4($s0) -/* B2BE74 800B4CD4 3C048014 */ lui $a0, %hi(D_80143810) # $a0, 0x8014 -/* B2BE78 800B4CD8 0C00084C */ jal osSyncPrintf -/* B2BE7C 800B4CDC 24843810 */ addiu $a0, %lo(D_80143810) # addiu $a0, $a0, 0x3810 -/* B2BE80 800B4CE0 0C02D2B9 */ jal func_800B4AE4 -/* B2BE84 800B4CE4 86040008 */ lh $a0, 8($s0) -/* B2BE88 800B4CE8 3C048014 */ lui $a0, %hi(D_80143820) # $a0, 0x8014 -/* B2BE8C 800B4CEC 0C00084C */ jal osSyncPrintf -/* B2BE90 800B4CF0 24843820 */ addiu $a0, %lo(D_80143820) # addiu $a0, $a0, 0x3820 -/* B2BE94 800B4CF4 0C02D2B9 */ jal func_800B4AE4 -/* B2BE98 800B4CF8 8604000A */ lh $a0, 0xa($s0) -/* B2BE9C 800B4CFC 3C048014 */ lui $a0, %hi(D_80143830) # $a0, 0x8014 -/* B2BEA0 800B4D00 0C00084C */ jal osSyncPrintf -/* B2BEA4 800B4D04 24843830 */ addiu $a0, %lo(D_80143830) # addiu $a0, $a0, 0x3830 -/* B2BEA8 800B4D08 0C02D2B9 */ jal func_800B4AE4 -/* B2BEAC 800B4D0C 8604000C */ lh $a0, 0xc($s0) -/* B2BEB0 800B4D10 3C048014 */ lui $a0, %hi(D_80143840) # $a0, 0x8014 -/* B2BEB4 800B4D14 0C00084C */ jal osSyncPrintf -/* B2BEB8 800B4D18 24843840 */ addiu $a0, %lo(D_80143840) # addiu $a0, $a0, 0x3840 -/* B2BEBC 800B4D1C 3C048014 */ lui $a0, %hi(D_80143850) # $a0, 0x8014 -/* B2BEC0 800B4D20 0C00084C */ jal osSyncPrintf -/* B2BEC4 800B4D24 24843850 */ addiu $a0, %lo(D_80143850) # addiu $a0, $a0, 0x3850 -/* B2BEC8 800B4D28 8649000E */ lh $t1, 0xe($s2) -/* B2BECC 800B4D2C 26310001 */ addiu $s1, $s1, 1 -/* B2BED0 800B4D30 26100010 */ addiu $s0, $s0, 0x10 -/* B2BED4 800B4D34 0229082A */ slt $at, $s1, $t1 -/* B2BED8 800B4D38 1420FFD7 */ bnez $at, .L800B4C98 -/* B2BEDC 800B4D3C 00000000 */ nop -.L800B4D40: -/* B2BEE0 800B4D40 8FBF0024 */ lw $ra, 0x24($sp) -/* B2BEE4 800B4D44 8FB00018 */ lw $s0, 0x18($sp) -/* B2BEE8 800B4D48 8FB1001C */ lw $s1, 0x1c($sp) -/* B2BEEC 800B4D4C 8FB20020 */ lw $s2, 0x20($sp) -/* B2BEF0 800B4D50 03E00008 */ jr $ra -/* B2BEF4 800B4D54 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/code/db_camera/func_800B87D8.s b/asm/non_matchings/code/db_camera/func_800B87D8.s deleted file mode 100644 index f11aa7c07e..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B87D8.s +++ /dev/null @@ -1,142 +0,0 @@ -.rdata -glabel D_80143968 - .asciz "../db_camera.c" - .balign 4 - -glabel D_80143978 - .asciz "%s: %d: デバッグカメラ メモリ確保失敗!!\n" - # EUC-JP: デバッグカメラ メモリ確保失敗!! | Debug camera memory allocation failure - .balign 4 - -glabel D_801439A4 - .asciz "../db_camera.c" - .balign 4 - -glabel D_801439B4 - .asciz "../db_camera.c" - .balign 4 - -glabel D_801439C4 - .asciz "%s: %d: デバッグカメラ メモリ確保失敗!!\n" - # EUC-JP: デバッグカメラ メモリ確保失敗!! | Debug camera memory allocation failure - .balign 4 - -glabel D_801439F0 - .asciz "../db_camera.c" - .balign 4 - -glabel D_80143A00 - .asciz "../db_camera.c" - .balign 4 - -.text -glabel func_800B87D8 -/* B2F978 800B87D8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B2F97C 800B87DC 3C0F8016 */ lui $t7, %hi(sDbgEditorSlots) # $t7, 0x8016 -/* B2F980 800B87E0 AFB00014 */ sw $s0, 0x14($sp) -/* B2F984 800B87E4 25EF1150 */ addiu $t7, %lo(sDbgEditorSlots) # addiu $t7, $t7, 0x1150 -/* B2F988 800B87E8 00047100 */ sll $t6, $a0, 4 -/* B2F98C 800B87EC AFBF001C */ sw $ra, 0x1c($sp) -/* B2F990 800B87F0 AFB10018 */ sw $s1, 0x18($sp) -/* B2F994 800B87F4 01CF8021 */ addu $s0, $t6, $t7 -/* B2F998 800B87F8 24180061 */ li $t8, 97 -/* B2F99C 800B87FC 00A08825 */ move $s1, $a1 -/* B2F9A0 800B8800 0C02E1CC */ jal func_800B8730 -/* B2F9A4 800B8804 A2180001 */ sb $t8, 1($s0) -/* B2F9A8 800B8808 304800FF */ andi $t0, $v0, 0xff -/* B2F9AC 800B880C 3C018016 */ lui $at, %hi(sDbgEditorStates) -/* B2F9B0 800B8810 A2020000 */ sb $v0, ($s0) -/* B2F9B4 800B8814 00280821 */ addu $at, $at, $t0 -/* B2F9B8 800B8818 2419004F */ li $t9, 79 -/* B2F9BC 800B881C A039128F */ sb $t9, %lo(sDbgEditorStates)($at) -/* B2F9C0 800B8820 86270004 */ lh $a3, 4($s1) -/* B2F9C4 800B8824 3C058014 */ lui $a1, %hi(D_80143968) # $a1, 0x8014 -/* B2F9C8 800B8828 24A53968 */ addiu $a1, %lo(D_80143968) # addiu $a1, $a1, 0x3968 -/* B2F9CC 800B882C 00072100 */ sll $a0, $a3, 4 -/* B2F9D0 800B8830 AFA40024 */ sw $a0, 0x24($sp) -/* B2F9D4 800B8834 0C034ED8 */ jal DebugArena_MallocDebug -/* B2F9D8 800B8838 24060ABC */ li $a2, 2748 -/* B2F9DC 800B883C 8FA70024 */ lw $a3, 0x24($sp) -/* B2F9E0 800B8840 14400009 */ bnez $v0, .L800B8868 -/* B2F9E4 800B8844 AE020008 */ sw $v0, 8($s0) -/* B2F9E8 800B8848 3C048014 */ lui $a0, %hi(D_80143978) # $a0, 0x8014 -/* B2F9EC 800B884C 3C058014 */ lui $a1, %hi(D_801439A4) # $a1, 0x8014 -/* B2F9F0 800B8850 24A539A4 */ addiu $a1, %lo(D_801439A4) # addiu $a1, $a1, 0x39a4 -/* B2F9F4 800B8854 24843978 */ addiu $a0, %lo(D_80143978) # addiu $a0, $a0, 0x3978 -/* B2F9F8 800B8858 0C00084C */ jal osSyncPrintf -/* B2F9FC 800B885C 24060ABF */ li $a2, 2751 -/* B2FA00 800B8860 10000040 */ b .L800B8964 -/* B2FA04 800B8864 2402003F */ li $v0, 63 -.L800B8868: -/* B2FA08 800B8868 3C058014 */ lui $a1, %hi(D_801439B4) # $a1, 0x8014 -/* B2FA0C 800B886C 24A539B4 */ addiu $a1, %lo(D_801439B4) # addiu $a1, $a1, 0x39b4 -/* B2FA10 800B8870 00E02025 */ move $a0, $a3 -/* B2FA14 800B8874 0C034ED8 */ jal DebugArena_MallocDebug -/* B2FA18 800B8878 24060AC2 */ li $a2, 2754 -/* B2FA1C 800B887C 1440000F */ bnez $v0, .L800B88BC -/* B2FA20 800B8880 AE020004 */ sw $v0, 4($s0) -/* B2FA24 800B8884 3C048014 */ lui $a0, %hi(D_801439C4) # $a0, 0x8014 -/* B2FA28 800B8888 3C058014 */ lui $a1, %hi(D_801439F0) # $a1, 0x8014 -/* B2FA2C 800B888C 24A539F0 */ addiu $a1, %lo(D_801439F0) # addiu $a1, $a1, 0x39f0 -/* B2FA30 800B8890 248439C4 */ addiu $a0, %lo(D_801439C4) # addiu $a0, $a0, 0x39c4 -/* B2FA34 800B8894 0C00084C */ jal osSyncPrintf -/* B2FA38 800B8898 24060AC5 */ li $a2, 2757 -/* B2FA3C 800B889C 3C058014 */ lui $a1, %hi(D_80143A00) # $a1, 0x8014 -/* B2FA40 800B88A0 24A53A00 */ addiu $a1, %lo(D_80143A00) # addiu $a1, $a1, 0x3a00 -/* B2FA44 800B88A4 8E040008 */ lw $a0, 8($s0) -/* B2FA48 800B88A8 0C034F55 */ jal DebugArena_FreeDebug -/* B2FA4C 800B88AC 24060AC6 */ li $a2, 2758 -/* B2FA50 800B88B0 AE000008 */ sw $zero, 8($s0) -/* B2FA54 800B88B4 1000002B */ b .L800B8964 -/* B2FA58 800B88B8 2402003F */ li $v0, 63 -.L800B88BC: -/* B2FA5C 800B88BC 86290000 */ lh $t1, ($s1) -/* B2FA60 800B88C0 00003825 */ move $a3, $zero -/* B2FA64 800B88C4 00001025 */ move $v0, $zero -/* B2FA68 800B88C8 A6090002 */ sh $t1, 2($s0) -/* B2FA6C 800B88CC 862A0002 */ lh $t2, 2($s1) -/* B2FA70 800B88D0 26230834 */ addiu $v1, $s1, 0x834 -/* B2FA74 800B88D4 26240024 */ addiu $a0, $s1, 0x24 -/* B2FA78 800B88D8 A60A000C */ sh $t2, 0xc($s0) -/* B2FA7C 800B88DC 862B0004 */ lh $t3, 4($s1) -/* B2FA80 800B88E0 A60B000E */ sh $t3, 0xe($s0) -/* B2FA84 800B88E4 862C0004 */ lh $t4, 4($s1) -/* B2FA88 800B88E8 5980001E */ blezl $t4, .L800B8964 -/* B2FA8C 800B88EC 92020000 */ lbu $v0, ($s0) -/* B2FA90 800B88F0 8E0D0008 */ lw $t5, 8($s0) -.L800B88F4: -/* B2FA94 800B88F4 8C780000 */ lw $t8, ($v1) -/* B2FA98 800B88F8 24E70001 */ addiu $a3, $a3, 1 -/* B2FA9C 800B88FC 01A27021 */ addu $t6, $t5, $v0 -/* B2FAA0 800B8900 ADD80000 */ sw $t8, ($t6) -/* B2FAA4 800B8904 8C6F0004 */ lw $t7, 4($v1) -/* B2FAA8 800B8908 24630010 */ addiu $v1, $v1, 0x10 -/* B2FAAC 800B890C 24840010 */ addiu $a0, $a0, 0x10 -/* B2FAB0 800B8910 ADCF0004 */ sw $t7, 4($t6) -/* B2FAB4 800B8914 8C78FFF8 */ lw $t8, -8($v1) -/* B2FAB8 800B8918 ADD80008 */ sw $t8, 8($t6) -/* B2FABC 800B891C 8C6FFFFC */ lw $t7, -4($v1) -/* B2FAC0 800B8920 ADCF000C */ sw $t7, 0xc($t6) -/* B2FAC4 800B8924 8E190004 */ lw $t9, 4($s0) -/* B2FAC8 800B8928 8C8AFFF0 */ lw $t2, -0x10($a0) -/* B2FACC 800B892C 03224021 */ addu $t0, $t9, $v0 -/* B2FAD0 800B8930 AD0A0000 */ sw $t2, ($t0) -/* B2FAD4 800B8934 8C89FFF4 */ lw $t1, -0xc($a0) -/* B2FAD8 800B8938 24420010 */ addiu $v0, $v0, 0x10 -/* B2FADC 800B893C AD090004 */ sw $t1, 4($t0) -/* B2FAE0 800B8940 8C8AFFF8 */ lw $t2, -8($a0) -/* B2FAE4 800B8944 AD0A0008 */ sw $t2, 8($t0) -/* B2FAE8 800B8948 8C89FFFC */ lw $t1, -4($a0) -/* B2FAEC 800B894C AD09000C */ sw $t1, 0xc($t0) -/* B2FAF0 800B8950 862B0004 */ lh $t3, 4($s1) -/* B2FAF4 800B8954 00EB082A */ slt $at, $a3, $t3 -/* B2FAF8 800B8958 5420FFE6 */ bnezl $at, .L800B88F4 -/* B2FAFC 800B895C 8E0D0008 */ lw $t5, 8($s0) -/* B2FB00 800B8960 92020000 */ lbu $v0, ($s0) -.L800B8964: -/* B2FB04 800B8964 8FBF001C */ lw $ra, 0x1c($sp) -/* B2FB08 800B8968 8FB00014 */ lw $s0, 0x14($sp) -/* B2FB0C 800B896C 8FB10018 */ lw $s1, 0x18($sp) -/* B2FB10 800B8970 03E00008 */ jr $ra -/* B2FB14 800B8974 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/asm/non_matchings/code/db_camera/func_800B8A0C.s b/asm/non_matchings/code/db_camera/func_800B8A0C.s deleted file mode 100644 index b405067a80..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B8A0C.s +++ /dev/null @@ -1,112 +0,0 @@ -glabel func_800B8A0C -/* B2FBAC 800B8A0C 3C048016 */ lui $a0, %hi(D_801612EC) # $a0, 0x8016 -/* B2FBB0 800B8A10 248412EC */ addiu $a0, %lo(D_801612EC) # addiu $a0, $a0, 0x12ec -/* B2FBB4 800B8A14 AC800000 */ sw $zero, ($a0) -/* B2FBB8 800B8A18 3C0E8016 */ lui $t6, %hi(sDbgEditorSlots) # $t6, 0x8016 -/* B2FBBC 800B8A1C 91CE1150 */ lbu $t6, %lo(sDbgEditorSlots)($t6) -/* B2FBC0 800B8A20 2405003F */ li $a1, 63 -/* B2FBC4 800B8A24 3C0C8016 */ lui $t4, %hi(D_80161160) # $t4, 0x8016 -/* B2FBC8 800B8A28 10AE000A */ beq $a1, $t6, .L800B8A54 -/* B2FBCC 800B8A2C 3C038016 */ lui $v1, %hi(D_80161180) # $v1, 0x8016 -/* B2FBD0 800B8A30 3C188016 */ lui $t8, %hi(D_8016115E) # $t8, 0x8016 -/* B2FBD4 800B8A34 8718115E */ lh $t8, %lo(D_8016115E)($t8) -/* B2FBD8 800B8A38 2406FFE0 */ li $a2, -32 -/* B2FBDC 800B8A3C 3C018016 */ lui $at, %hi(D_801612EC) # $at, 0x8016 -/* B2FBE0 800B8A40 0018C900 */ sll $t9, $t8, 4 -/* B2FBE4 800B8A44 2728001F */ addiu $t0, $t9, 0x1f -/* B2FBE8 800B8A48 01064824 */ and $t1, $t0, $a2 -/* B2FBEC 800B8A4C 00095040 */ sll $t2, $t1, 1 -/* B2FBF0 800B8A50 AC2A12EC */ sw $t2, %lo(D_801612EC)($at) -.L800B8A54: -/* B2FBF4 800B8A54 918C1160 */ lbu $t4, %lo(D_80161160)($t4) -/* B2FBF8 800B8A58 2406FFE0 */ li $a2, -32 -/* B2FBFC 800B8A5C 3C0A8016 */ lui $t2, %hi(D_80161170) # $t2, 0x8016 -/* B2FC00 800B8A60 10AC000B */ beq $a1, $t4, .L800B8A90 -/* B2FC04 800B8A64 24631180 */ addiu $v1, %lo(D_80161180) # addiu $v1, $v1, 0x1180 -/* B2FC08 800B8A68 3C0E8016 */ lui $t6, %hi(D_8016116E) # $t6, 0x8016 -/* B2FC0C 800B8A6C 85CE116E */ lh $t6, %lo(D_8016116E)($t6) -/* B2FC10 800B8A70 8C8D0000 */ lw $t5, ($a0) -/* B2FC14 800B8A74 3C018016 */ lui $at, %hi(D_801612EC) # $at, 0x8016 -/* B2FC18 800B8A78 000EC100 */ sll $t8, $t6, 4 -/* B2FC1C 800B8A7C 2719001F */ addiu $t9, $t8, 0x1f -/* B2FC20 800B8A80 03264024 */ and $t0, $t9, $a2 -/* B2FC24 800B8A84 00084840 */ sll $t1, $t0, 1 -/* B2FC28 800B8A88 01A97821 */ addu $t7, $t5, $t1 -/* B2FC2C 800B8A8C AC2F12EC */ sw $t7, %lo(D_801612EC)($at) -.L800B8A90: -/* B2FC30 800B8A90 914A1170 */ lbu $t2, %lo(D_80161170)($t2) -/* B2FC34 800B8A94 3C028016 */ lui $v0, %hi(D_80161240) # $v0, 0x8016 -/* B2FC38 800B8A98 24421240 */ addiu $v0, %lo(D_80161240) # addiu $v0, $v0, 0x1240 -/* B2FC3C 800B8A9C 10AA000A */ beq $a1, $t2, .L800B8AC8 -/* B2FC40 800B8AA0 3C0C8016 */ lui $t4, %hi(D_8016117E) # $t4, 0x8016 -/* B2FC44 800B8AA4 858C117E */ lh $t4, %lo(D_8016117E)($t4) -/* B2FC48 800B8AA8 8C8B0000 */ lw $t3, ($a0) -/* B2FC4C 800B8AAC 3C018016 */ lui $at, %hi(D_801612EC) # $at, 0x8016 -/* B2FC50 800B8AB0 000C7100 */ sll $t6, $t4, 4 -/* B2FC54 800B8AB4 25D8001F */ addiu $t8, $t6, 0x1f -/* B2FC58 800B8AB8 0306C824 */ and $t9, $t8, $a2 -/* B2FC5C 800B8ABC 00194040 */ sll $t0, $t9, 1 -/* B2FC60 800B8AC0 01686821 */ addu $t5, $t3, $t0 -/* B2FC64 800B8AC4 AC2D12EC */ sw $t5, %lo(D_801612EC)($at) -.L800B8AC8: -/* B2FC68 800B8AC8 90690000 */ lbu $t1, ($v1) -.L800B8ACC: -/* B2FC6C 800B8ACC 50A9000A */ beql $a1, $t1, .L800B8AF8 -/* B2FC70 800B8AD0 90680010 */ lbu $t0, 0x10($v1) -/* B2FC74 800B8AD4 846A000E */ lh $t2, 0xe($v1) -/* B2FC78 800B8AD8 8C8F0000 */ lw $t7, ($a0) -/* B2FC7C 800B8ADC 000A6100 */ sll $t4, $t2, 4 -/* B2FC80 800B8AE0 258E001F */ addiu $t6, $t4, 0x1f -/* B2FC84 800B8AE4 01C6C024 */ and $t8, $t6, $a2 -/* B2FC88 800B8AE8 0018C840 */ sll $t9, $t8, 1 -/* B2FC8C 800B8AEC 01F95821 */ addu $t3, $t7, $t9 -/* B2FC90 800B8AF0 AC8B0000 */ sw $t3, ($a0) -/* B2FC94 800B8AF4 90680010 */ lbu $t0, 0x10($v1) -.L800B8AF8: -/* B2FC98 800B8AF8 50A8000A */ beql $a1, $t0, .L800B8B24 -/* B2FC9C 800B8AFC 90790020 */ lbu $t9, 0x20($v1) -/* B2FCA0 800B8B00 8469001E */ lh $t1, 0x1e($v1) -/* B2FCA4 800B8B04 8C8D0000 */ lw $t5, ($a0) -/* B2FCA8 800B8B08 00095100 */ sll $t2, $t1, 4 -/* B2FCAC 800B8B0C 254C001F */ addiu $t4, $t2, 0x1f -/* B2FCB0 800B8B10 01867024 */ and $t6, $t4, $a2 -/* B2FCB4 800B8B14 000EC040 */ sll $t8, $t6, 1 -/* B2FCB8 800B8B18 01B87821 */ addu $t7, $t5, $t8 -/* B2FCBC 800B8B1C AC8F0000 */ sw $t7, ($a0) -/* B2FCC0 800B8B20 90790020 */ lbu $t9, 0x20($v1) -.L800B8B24: -/* B2FCC4 800B8B24 50B9000A */ beql $a1, $t9, .L800B8B50 -/* B2FCC8 800B8B28 90780030 */ lbu $t8, 0x30($v1) -/* B2FCCC 800B8B2C 8468002E */ lh $t0, 0x2e($v1) -/* B2FCD0 800B8B30 8C8B0000 */ lw $t3, ($a0) -/* B2FCD4 800B8B34 00084900 */ sll $t1, $t0, 4 -/* B2FCD8 800B8B38 252A001F */ addiu $t2, $t1, 0x1f -/* B2FCDC 800B8B3C 01466024 */ and $t4, $t2, $a2 -/* B2FCE0 800B8B40 000C7040 */ sll $t6, $t4, 1 -/* B2FCE4 800B8B44 016E6821 */ addu $t5, $t3, $t6 -/* B2FCE8 800B8B48 AC8D0000 */ sw $t5, ($a0) -/* B2FCEC 800B8B4C 90780030 */ lbu $t8, 0x30($v1) -.L800B8B50: -/* B2FCF0 800B8B50 50B8000A */ beql $a1, $t8, .L800B8B7C -/* B2FCF4 800B8B54 24630040 */ addiu $v1, $v1, 0x40 -/* B2FCF8 800B8B58 8479003E */ lh $t9, 0x3e($v1) -/* B2FCFC 800B8B5C 8C8F0000 */ lw $t7, ($a0) -/* B2FD00 800B8B60 00194100 */ sll $t0, $t9, 4 -/* B2FD04 800B8B64 2509001F */ addiu $t1, $t0, 0x1f -/* B2FD08 800B8B68 01265024 */ and $t2, $t1, $a2 -/* B2FD0C 800B8B6C 000A6040 */ sll $t4, $t2, 1 -/* B2FD10 800B8B70 01EC5821 */ addu $t3, $t7, $t4 -/* B2FD14 800B8B74 AC8B0000 */ sw $t3, ($a0) -/* B2FD18 800B8B78 24630040 */ addiu $v1, $v1, 0x40 -.L800B8B7C: -/* B2FD1C 800B8B7C 5462FFD3 */ bnel $v1, $v0, .L800B8ACC -/* B2FD20 800B8B80 90690000 */ lbu $t1, ($v1) -/* B2FD24 800B8B84 8C8E0000 */ lw $t6, ($a0) -/* B2FD28 800B8B88 2401FF00 */ li $at, -256 -/* B2FD2C 800B8B8C 25CD0100 */ addiu $t5, $t6, 0x100 -/* B2FD30 800B8B90 25B900FF */ addiu $t9, $t5, 0xff -/* B2FD34 800B8B94 AC8D0000 */ sw $t5, ($a0) -/* B2FD38 800B8B98 03211024 */ and $v0, $t9, $at -/* B2FD3C 800B8B9C 03E00008 */ jr $ra -/* B2FD40 800B8BA0 AC820000 */ sw $v0, ($a0) - diff --git a/asm/non_matchings/code/db_camera/func_800B8BB0.s b/asm/non_matchings/code/db_camera/func_800B8BB0.s deleted file mode 100644 index 419523d1d5..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B8BB0.s +++ /dev/null @@ -1,167 +0,0 @@ -.rdata -glabel D_80143A30 - .asciz "../db_camera.c" - .balign 4 - -glabel D_80143A40 - .asciz "%s: %d: デバッグカメラ メモリ確保失敗!!\n" - # EUC-JP: デバッグカメラ メモリ確保失敗!! | Debug camera memory allocation failure - .balign 4 - -glabel D_80143A6C - .asciz "../db_camera.c" - .balign 4 - -glabel D_80143A7C - .asciz "../db_camera.c" - .balign 4 - -glabel D_80143A8C - .asciz "%s: %d: デバッグカメラ メモリ確保失敗!!\n" - # EUC-JP: デバッグカメラ メモリ確保失敗!! | Debug camera memory allocation failure - .balign 4 - -glabel D_80143AB8 - .asciz "../db_camera.c" - .balign 4 - -.text -glabel func_800B8BB0 -/* B2FD50 800B8BB0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B2FD54 800B8BB4 AFB00020 */ sw $s0, 0x20($sp) -/* B2FD58 800B8BB8 AFB50034 */ sw $s5, 0x34($sp) -/* B2FD5C 800B8BBC AFB40030 */ sw $s4, 0x30($sp) -/* B2FD60 800B8BC0 AFB3002C */ sw $s3, 0x2c($sp) -/* B2FD64 800B8BC4 AFB10024 */ sw $s1, 0x24($sp) -/* B2FD68 800B8BC8 3C108016 */ lui $s0, %hi(sDbgEditorSlots) # $s0, 0x8016 -/* B2FD6C 800B8BCC 0080A025 */ move $s4, $a0 -/* B2FD70 800B8BD0 AFBF0044 */ sw $ra, 0x44($sp) -/* B2FD74 800B8BD4 AFBE0040 */ sw $fp, 0x40($sp) -/* B2FD78 800B8BD8 AFB7003C */ sw $s7, 0x3c($sp) -/* B2FD7C 800B8BDC AFB60038 */ sw $s6, 0x38($sp) -/* B2FD80 800B8BE0 AFB20028 */ sw $s2, 0x28($sp) -/* B2FD84 800B8BE4 26101150 */ addiu $s0, %lo(sDbgEditorSlots) # addiu $s0, $s0, 0x1150 -/* B2FD88 800B8BE8 00008825 */ move $s1, $zero -/* B2FD8C 800B8BEC 24130058 */ li $s3, 88 -/* B2FD90 800B8BF0 2415003F */ li $s5, 63 -.L800B8BF4: -/* B2FD94 800B8BF4 920E0000 */ lbu $t6, ($s0) -/* B2FD98 800B8BF8 02202025 */ move $a0, $s1 -/* B2FD9C 800B8BFC 24050001 */ li $a1, 1 -/* B2FDA0 800B8C00 12AE0005 */ beq $s5, $t6, .L800B8C18 -/* B2FDA4 800B8C04 3C0F8016 */ lui $t7, %hi(D_801612D0) # $t7, 0x8016 -/* B2FDA8 800B8C08 25EF12D0 */ addiu $t7, %lo(D_801612D0) # addiu $t7, $t7, 0x12d0 -/* B2FDAC 800B8C0C 0C02E25E */ jal func_800B8978 -/* B2FDB0 800B8C10 022F9021 */ addu $s2, $s1, $t7 -/* B2FDB4 800B8C14 A2530000 */ sb $s3, ($s2) -.L800B8C18: -/* B2FDB8 800B8C18 26310001 */ addiu $s1, $s1, 1 -/* B2FDBC 800B8C1C 2A21000F */ slti $at, $s1, 0xf -/* B2FDC0 800B8C20 1420FFF4 */ bnez $at, .L800B8BF4 -/* B2FDC4 800B8C24 26100010 */ addiu $s0, $s0, 0x10 -/* B2FDC8 800B8C28 92850000 */ lbu $a1, ($s4) -/* B2FDCC 800B8C2C 3C068016 */ lui $a2, %hi(sDbgEditorSlots) # $a2, 0x8016 -/* B2FDD0 800B8C30 24180100 */ li $t8, 256 -/* B2FDD4 800B8C34 AFB80010 */ sw $t8, 0x10($sp) -/* B2FDD8 800B8C38 24C61150 */ addiu $a2, %lo(sDbgEditorSlots) # addiu $a2, $a2, 0x1150 -/* B2FDDC 800B8C3C 24040002 */ li $a0, 2 -/* B2FDE0 800B8C40 0C02EE0E */ jal Mempak_Read -/* B2FDE4 800B8C44 00003825 */ move $a3, $zero -/* B2FDE8 800B8C48 14400003 */ bnez $v0, .L800B8C58 -/* B2FDEC 800B8C4C 24120100 */ li $s2, 256 -/* B2FDF0 800B8C50 1000004B */ b .L800B8D80 -/* B2FDF4 800B8C54 00001025 */ move $v0, $zero -.L800B8C58: -/* B2FDF8 800B8C58 3C108016 */ lui $s0, %hi(sDbgEditorSlots) # $s0, 0x8016 -/* B2FDFC 800B8C5C 3C1E8014 */ lui $fp, %hi(D_80143A7C) # $fp, 0x8014 -/* B2FE00 800B8C60 3C178014 */ lui $s7, %hi(D_80143A30) # $s7, 0x8014 -/* B2FE04 800B8C64 26F73A30 */ addiu $s7, %lo(D_80143A30) # addiu $s7, $s7, 0x3a30 -/* B2FE08 800B8C68 27DE3A7C */ addiu $fp, %lo(D_80143A7C) # addiu $fp, $fp, 0x3a7c -/* B2FE0C 800B8C6C 26101150 */ addiu $s0, %lo(sDbgEditorSlots) # addiu $s0, $s0, 0x1150 -/* B2FE10 800B8C70 2416FFE0 */ li $s6, -32 -/* B2FE14 800B8C74 92190000 */ lbu $t9, ($s0) -.L800B8C78: -/* B2FE18 800B8C78 12B9003B */ beq $s5, $t9, .L800B8D68 -/* B2FE1C 800B8C7C 00000000 */ nop -/* B2FE20 800B8C80 8602000E */ lh $v0, 0xe($s0) -/* B2FE24 800B8C84 02E02825 */ move $a1, $s7 -/* B2FE28 800B8C88 24060B1C */ li $a2, 2844 -/* B2FE2C 800B8C8C 00021100 */ sll $v0, $v0, 4 -/* B2FE30 800B8C90 2448001F */ addiu $t0, $v0, 0x1f -/* B2FE34 800B8C94 01168824 */ and $s1, $t0, $s6 -/* B2FE38 800B8C98 02209825 */ move $s3, $s1 -/* B2FE3C 800B8C9C 0C034ED8 */ jal DebugArena_MallocDebug -/* B2FE40 800B8CA0 02202025 */ move $a0, $s1 -/* B2FE44 800B8CA4 14400009 */ bnez $v0, .L800B8CCC -/* B2FE48 800B8CA8 AE020008 */ sw $v0, 8($s0) -/* B2FE4C 800B8CAC 3C048014 */ lui $a0, %hi(D_80143A40) # $a0, 0x8014 -/* B2FE50 800B8CB0 3C058014 */ lui $a1, %hi(D_80143A6C) # $a1, 0x8014 -/* B2FE54 800B8CB4 24A53A6C */ addiu $a1, %lo(D_80143A6C) # addiu $a1, $a1, 0x3a6c -/* B2FE58 800B8CB8 24843A40 */ addiu $a0, %lo(D_80143A40) # addiu $a0, $a0, 0x3a40 -/* B2FE5C 800B8CBC 0C00084C */ jal osSyncPrintf -/* B2FE60 800B8CC0 24060B1F */ li $a2, 2847 -/* B2FE64 800B8CC4 1000002E */ b .L800B8D80 -/* B2FE68 800B8CC8 00001025 */ move $v0, $zero -.L800B8CCC: -/* B2FE6C 800B8CCC 92850000 */ lbu $a1, ($s4) -/* B2FE70 800B8CD0 AFB10010 */ sw $s1, 0x10($sp) -/* B2FE74 800B8CD4 24040002 */ li $a0, 2 -/* B2FE78 800B8CD8 8E060008 */ lw $a2, 8($s0) -/* B2FE7C 800B8CDC 0C02EE0E */ jal Mempak_Read -/* B2FE80 800B8CE0 02403825 */ move $a3, $s2 -/* B2FE84 800B8CE4 14400003 */ bnez $v0, .L800B8CF4 -/* B2FE88 800B8CE8 02519021 */ addu $s2, $s2, $s1 -/* B2FE8C 800B8CEC 10000024 */ b .L800B8D80 -/* B2FE90 800B8CF0 00001025 */ move $v0, $zero -.L800B8CF4: -/* B2FE94 800B8CF4 02602025 */ move $a0, $s3 -/* B2FE98 800B8CF8 03C02825 */ move $a1, $fp -/* B2FE9C 800B8CFC 0C034ED8 */ jal DebugArena_MallocDebug -/* B2FEA0 800B8D00 24060B27 */ li $a2, 2855 -/* B2FEA4 800B8D04 14400009 */ bnez $v0, .L800B8D2C -/* B2FEA8 800B8D08 AE020004 */ sw $v0, 4($s0) -/* B2FEAC 800B8D0C 3C048014 */ lui $a0, %hi(D_80143A8C) # $a0, 0x8014 -/* B2FEB0 800B8D10 3C058014 */ lui $a1, %hi(D_80143AB8) # $a1, 0x8014 -/* B2FEB4 800B8D14 24A53AB8 */ addiu $a1, %lo(D_80143AB8) # addiu $a1, $a1, 0x3ab8 -/* B2FEB8 800B8D18 24843A8C */ addiu $a0, %lo(D_80143A8C) # addiu $a0, $a0, 0x3a8c -/* B2FEBC 800B8D1C 0C00084C */ jal osSyncPrintf -/* B2FEC0 800B8D20 24060B2A */ li $a2, 2858 -/* B2FEC4 800B8D24 10000016 */ b .L800B8D80 -/* B2FEC8 800B8D28 00001025 */ move $v0, $zero -.L800B8D2C: -/* B2FECC 800B8D2C 92850000 */ lbu $a1, ($s4) -/* B2FED0 800B8D30 AFB10010 */ sw $s1, 0x10($sp) -/* B2FED4 800B8D34 24040002 */ li $a0, 2 -/* B2FED8 800B8D38 8E060004 */ lw $a2, 4($s0) -/* B2FEDC 800B8D3C 0C02EE0E */ jal Mempak_Read -/* B2FEE0 800B8D40 02403825 */ move $a3, $s2 -/* B2FEE4 800B8D44 14400003 */ bnez $v0, .L800B8D54 -/* B2FEE8 800B8D48 02519021 */ addu $s2, $s2, $s1 -/* B2FEEC 800B8D4C 1000000C */ b .L800B8D80 -/* B2FEF0 800B8D50 00001025 */ move $v0, $zero -.L800B8D54: -/* B2FEF4 800B8D54 920A0000 */ lbu $t2, ($s0) -/* B2FEF8 800B8D58 3C018016 */ lui $at, %hi(sDbgEditorStates) -/* B2FEFC 800B8D5C 2409004F */ li $t1, 79 -/* B2FF00 800B8D60 002A0821 */ addu $at, $at, $t2 -/* B2FF04 800B8D64 A029128F */ sb $t1, %lo(sDbgEditorStates)($at) -.L800B8D68: -/* B2FF08 800B8D68 3C0B8016 */ lui $t3, %hi(D_80161240) # $t3, 0x8016 -/* B2FF0C 800B8D6C 256B1240 */ addiu $t3, %lo(D_80161240) # addiu $t3, $t3, 0x1240 -/* B2FF10 800B8D70 26100010 */ addiu $s0, $s0, 0x10 -/* B2FF14 800B8D74 560BFFC0 */ bnel $s0, $t3, .L800B8C78 -/* B2FF18 800B8D78 92190000 */ lbu $t9, ($s0) -/* B2FF1C 800B8D7C 24020001 */ li $v0, 1 -.L800B8D80: -/* B2FF20 800B8D80 8FBF0044 */ lw $ra, 0x44($sp) -/* B2FF24 800B8D84 8FB00020 */ lw $s0, 0x20($sp) -/* B2FF28 800B8D88 8FB10024 */ lw $s1, 0x24($sp) -/* B2FF2C 800B8D8C 8FB20028 */ lw $s2, 0x28($sp) -/* B2FF30 800B8D90 8FB3002C */ lw $s3, 0x2c($sp) -/* B2FF34 800B8D94 8FB40030 */ lw $s4, 0x30($sp) -/* B2FF38 800B8D98 8FB50034 */ lw $s5, 0x34($sp) -/* B2FF3C 800B8D9C 8FB60038 */ lw $s6, 0x38($sp) -/* B2FF40 800B8DA0 8FB7003C */ lw $s7, 0x3c($sp) -/* B2FF44 800B8DA4 8FBE0040 */ lw $fp, 0x40($sp) -/* B2FF48 800B8DA8 03E00008 */ jr $ra -/* B2FF4C 800B8DAC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/code/db_camera/func_800B8DB0.s b/asm/non_matchings/code/db_camera/func_800B8DB0.s deleted file mode 100644 index 4beb492bc3..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B8DB0.s +++ /dev/null @@ -1,104 +0,0 @@ -glabel func_800B8DB0 -/* B2FF50 800B8DB0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* B2FF54 800B8DB4 AFB3002C */ sw $s3, 0x2c($sp) -/* B2FF58 800B8DB8 00809825 */ move $s3, $a0 -/* B2FF5C 800B8DBC AFBF003C */ sw $ra, 0x3c($sp) -/* B2FF60 800B8DC0 AFB60038 */ sw $s6, 0x38($sp) -/* B2FF64 800B8DC4 AFB50034 */ sw $s5, 0x34($sp) -/* B2FF68 800B8DC8 AFB40030 */ sw $s4, 0x30($sp) -/* B2FF6C 800B8DCC AFB20028 */ sw $s2, 0x28($sp) -/* B2FF70 800B8DD0 AFB10024 */ sw $s1, 0x24($sp) -/* B2FF74 800B8DD4 AFB00020 */ sw $s0, 0x20($sp) -/* B2FF78 800B8DD8 92650000 */ lbu $a1, ($s3) -/* B2FF7C 800B8DDC 0C02EF05 */ jal Mempak_GetFileSize -/* B2FF80 800B8DE0 24040002 */ li $a0, 2 -/* B2FF84 800B8DE4 24040002 */ li $a0, 2 -/* B2FF88 800B8DE8 0C02ED7A */ jal Mempak_GetFreeBytes -/* B2FF8C 800B8DEC AFA20044 */ sw $v0, 0x44($sp) -/* B2FF90 800B8DF0 8FA30044 */ lw $v1, 0x44($sp) -/* B2FF94 800B8DF4 3C068016 */ lui $a2, %hi(D_801612EC) # $a2, 0x8016 -/* B2FF98 800B8DF8 8CC612EC */ lw $a2, %lo(D_801612EC)($a2) -/* B2FF9C 800B8DFC 00437021 */ addu $t6, $v0, $v1 -/* B2FFA0 800B8E00 24040002 */ li $a0, 2 -/* B2FFA4 800B8E04 00CE082B */ sltu $at, $a2, $t6 -/* B2FFA8 800B8E08 1020003F */ beqz $at, .L800B8F08 -/* B2FFAC 800B8E0C 00001025 */ move $v0, $zero -/* B2FFB0 800B8E10 0C02EE43 */ jal Mempak_Alloc -/* B2FFB4 800B8E14 02602825 */ move $a1, $s3 -/* B2FFB8 800B8E18 14400003 */ bnez $v0, .L800B8E28 -/* B2FFBC 800B8E1C 24040002 */ li $a0, 2 -/* B2FFC0 800B8E20 10000039 */ b .L800B8F08 -/* B2FFC4 800B8E24 00001025 */ move $v0, $zero -.L800B8E28: -/* B2FFC8 800B8E28 92650000 */ lbu $a1, ($s3) -/* B2FFCC 800B8E2C 3C068016 */ lui $a2, %hi(sDbgEditorSlots) # $a2, 0x8016 -/* B2FFD0 800B8E30 240F0100 */ li $t7, 256 -/* B2FFD4 800B8E34 AFAF0010 */ sw $t7, 0x10($sp) -/* B2FFD8 800B8E38 24C61150 */ addiu $a2, %lo(sDbgEditorSlots) # addiu $a2, $a2, 0x1150 -/* B2FFDC 800B8E3C 0C02EDD9 */ jal Mempak_Write -/* B2FFE0 800B8E40 00003825 */ move $a3, $zero -/* B2FFE4 800B8E44 14400006 */ bnez $v0, .L800B8E60 -/* B2FFE8 800B8E48 24120100 */ li $s2, 256 -/* B2FFEC 800B8E4C 24040002 */ li $a0, 2 -/* B2FFF0 800B8E50 0C02EEDB */ jal Mempak_DeleteFile -/* B2FFF4 800B8E54 92650000 */ lbu $a1, ($s3) -/* B2FFF8 800B8E58 1000002B */ b .L800B8F08 -/* B2FFFC 800B8E5C 00001025 */ move $v0, $zero -.L800B8E60: -/* B30000 800B8E60 3C118016 */ lui $s1, %hi(sDbgEditorSlots) # $s1, 0x8016 -/* B30004 800B8E64 3C168016 */ lui $s6, %hi(D_80161240) # $s6, 0x8016 -/* B30008 800B8E68 26D61240 */ addiu $s6, %lo(D_80161240) # addiu $s6, $s6, 0x1240 -/* B3000C 800B8E6C 26311150 */ addiu $s1, %lo(sDbgEditorSlots) # addiu $s1, $s1, 0x1150 -/* B30010 800B8E70 2415FFE0 */ li $s5, -32 -/* B30014 800B8E74 2414003F */ li $s4, 63 -.L800B8E78: -/* B30018 800B8E78 92380000 */ lbu $t8, ($s1) -/* B3001C 800B8E7C 24040002 */ li $a0, 2 -/* B30020 800B8E80 02403825 */ move $a3, $s2 -/* B30024 800B8E84 52980016 */ beql $s4, $t8, .L800B8EE0 -/* B30028 800B8E88 26310010 */ addiu $s1, $s1, 0x10 -/* B3002C 800B8E8C 8622000E */ lh $v0, 0xe($s1) -/* B30030 800B8E90 92650000 */ lbu $a1, ($s3) -/* B30034 800B8E94 8E260008 */ lw $a2, 8($s1) -/* B30038 800B8E98 00021100 */ sll $v0, $v0, 4 -/* B3003C 800B8E9C 2459001F */ addiu $t9, $v0, 0x1f -/* B30040 800B8EA0 03358024 */ and $s0, $t9, $s5 -/* B30044 800B8EA4 0C02EDD9 */ jal Mempak_Write -/* B30048 800B8EA8 AFB00010 */ sw $s0, 0x10($sp) -/* B3004C 800B8EAC 1040000E */ beqz $v0, .L800B8EE8 -/* B30050 800B8EB0 00401825 */ move $v1, $v0 -/* B30054 800B8EB4 02509021 */ addu $s2, $s2, $s0 -/* B30058 800B8EB8 92650000 */ lbu $a1, ($s3) -/* B3005C 800B8EBC AFB00010 */ sw $s0, 0x10($sp) -/* B30060 800B8EC0 02403825 */ move $a3, $s2 -/* B30064 800B8EC4 24040002 */ li $a0, 2 -/* B30068 800B8EC8 0C02EDD9 */ jal Mempak_Write -/* B3006C 800B8ECC 8E260004 */ lw $a2, 4($s1) -/* B30070 800B8ED0 10400005 */ beqz $v0, .L800B8EE8 -/* B30074 800B8ED4 00401825 */ move $v1, $v0 -/* B30078 800B8ED8 02509021 */ addu $s2, $s2, $s0 -/* B3007C 800B8EDC 26310010 */ addiu $s1, $s1, 0x10 -.L800B8EE0: -/* B30080 800B8EE0 1636FFE5 */ bne $s1, $s6, .L800B8E78 -/* B30084 800B8EE4 24030001 */ li $v1, 1 -.L800B8EE8: -/* B30088 800B8EE8 10600003 */ beqz $v1, .L800B8EF8 -/* B3008C 800B8EEC 24040002 */ li $a0, 2 -/* B30090 800B8EF0 10000005 */ b .L800B8F08 -/* B30094 800B8EF4 92620000 */ lbu $v0, ($s3) -.L800B8EF8: -/* B30098 800B8EF8 0C02EEDB */ jal Mempak_DeleteFile -/* B3009C 800B8EFC 92650000 */ lbu $a1, ($s3) -/* B300A0 800B8F00 10000001 */ b .L800B8F08 -/* B300A4 800B8F04 00001025 */ move $v0, $zero -.L800B8F08: -/* B300A8 800B8F08 8FBF003C */ lw $ra, 0x3c($sp) -/* B300AC 800B8F0C 8FB00020 */ lw $s0, 0x20($sp) -/* B300B0 800B8F10 8FB10024 */ lw $s1, 0x24($sp) -/* B300B4 800B8F14 8FB20028 */ lw $s2, 0x28($sp) -/* B300B8 800B8F18 8FB3002C */ lw $s3, 0x2c($sp) -/* B300BC 800B8F1C 8FB40030 */ lw $s4, 0x30($sp) -/* B300C0 800B8F20 8FB50034 */ lw $s5, 0x34($sp) -/* B300C4 800B8F24 8FB60038 */ lw $s6, 0x38($sp) -/* B300C8 800B8F28 03E00008 */ jr $ra -/* B300CC 800B8F2C 27BD0050 */ addiu $sp, $sp, 0x50 \ No newline at end of file diff --git a/asm/non_matchings/code/db_camera/func_800B8F58.s b/asm/non_matchings/code/db_camera/func_800B8F58.s deleted file mode 100644 index 9871b21535..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B8F58.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_800B8F58 -/* B300F8 800B8F58 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B300FC 800B8F5C 3C0E8016 */ lui $t6, %hi(sDbgEditorSlots) # $t6, 0x8016 -/* B30100 800B8F60 91CE1150 */ lbu $t6, %lo(sDbgEditorSlots)($t6) -/* B30104 800B8F64 AFBF001C */ sw $ra, 0x1c($sp) -/* B30108 800B8F68 AFB00018 */ sw $s0, 0x18($sp) -/* B3010C 800B8F6C AFA50034 */ sw $a1, 0x34($sp) -/* B30110 800B8F70 AFA60038 */ sw $a2, 0x38($sp) -/* B30114 800B8F74 AFA7003C */ sw $a3, 0x3c($sp) -/* B30118 800B8F78 2408002D */ li $t0, 45 -/* B3011C 800B8F7C A0880000 */ sb $t0, ($a0) -/* B30120 800B8F80 3C0F8016 */ lui $t7, %hi(D_80161160) # $t7, 0x8016 -/* B30124 800B8F84 A08E0001 */ sb $t6, 1($a0) -/* B30128 800B8F88 91EF1160 */ lbu $t7, %lo(D_80161160)($t7) -/* B3012C 800B8F8C A0880002 */ sb $t0, 2($a0) -/* B30130 800B8F90 3C188016 */ lui $t8, %hi(D_80161170) # $t8, 0x8016 -/* B30134 800B8F94 A08F0003 */ sb $t7, 3($a0) -/* B30138 800B8F98 93181170 */ lbu $t8, %lo(D_80161170)($t8) -/* B3013C 800B8F9C 00808025 */ move $s0, $a0 -/* B30140 800B8FA0 A0880004 */ sb $t0, 4($a0) -/* B30144 800B8FA4 A0980005 */ sb $t8, 5($a0) -/* B30148 800B8FA8 3C048016 */ lui $a0, %hi(D_80161240) # $a0, 0x8016 -/* B3014C 800B8FAC 3C038016 */ lui $v1, %hi(D_80161180) # $v1, 0x8016 -/* B30150 800B8FB0 24631180 */ addiu $v1, %lo(D_80161180) # addiu $v1, $v1, 0x1180 -/* B30154 800B8FB4 24841240 */ addiu $a0, %lo(D_80161240) # addiu $a0, $a0, 0x1240 -/* B30158 800B8FB8 26020006 */ addiu $v0, $s0, 6 -.L800B8FBC: -/* B3015C 800B8FBC 90790000 */ lbu $t9, ($v1) -/* B30160 800B8FC0 A0480000 */ sb $t0, ($v0) -/* B30164 800B8FC4 24630040 */ addiu $v1, $v1, 0x40 -/* B30168 800B8FC8 A0590001 */ sb $t9, 1($v0) -/* B3016C 800B8FCC 9069FFD0 */ lbu $t1, -0x30($v1) -/* B30170 800B8FD0 A0480002 */ sb $t0, 2($v0) -/* B30174 800B8FD4 24420008 */ addiu $v0, $v0, 8 -/* B30178 800B8FD8 A049FFFB */ sb $t1, -5($v0) -/* B3017C 800B8FDC 906AFFE0 */ lbu $t2, -0x20($v1) -/* B30180 800B8FE0 A048FFFC */ sb $t0, -4($v0) -/* B30184 800B8FE4 A04AFFFD */ sb $t2, -3($v0) -/* B30188 800B8FE8 906BFFF0 */ lbu $t3, -0x10($v1) -/* B3018C 800B8FEC A048FFFE */ sb $t0, -2($v0) -/* B30190 800B8FF0 1464FFF2 */ bne $v1, $a0, .L800B8FBC -/* B30194 800B8FF4 A04BFFFF */ sb $t3, -1($v0) -/* B30198 800B8FF8 A0400001 */ sb $zero, 1($v0) -/* B3019C 800B8FFC A2000014 */ sb $zero, 0x14($s0) -/* B301A0 800B9000 93A6003F */ lbu $a2, 0x3f($sp) -/* B301A4 800B9004 93A50037 */ lbu $a1, 0x37($sp) -/* B301A8 800B9008 AFA20028 */ sw $v0, 0x28($sp) -/* B301AC 800B900C 93A4003B */ lbu $a0, 0x3b($sp) -/* B301B0 800B9010 02003825 */ move $a3, $s0 -/* B301B4 800B9014 AFA60020 */ sw $a2, 0x20($sp) -/* B301B8 800B9018 0C018DDB */ jal func_8006376C -/* B301BC 800B901C AFA50024 */ sw $a1, 0x24($sp) -/* B301C0 800B9020 8FA20028 */ lw $v0, 0x28($sp) -/* B301C4 800B9024 8FA50024 */ lw $a1, 0x24($sp) -/* B301C8 800B9028 8FA60020 */ lw $a2, 0x20($sp) -/* B301CC 800B902C 240D002D */ li $t5, 45 -/* B301D0 800B9030 A04D0000 */ sb $t5, ($v0) -/* B301D4 800B9034 A20D0014 */ sb $t5, 0x14($s0) -/* B301D8 800B9038 87A4003A */ lh $a0, 0x3a($sp) -/* B301DC 800B903C 26070014 */ addiu $a3, $s0, 0x14 -/* B301E0 800B9040 24840014 */ addiu $a0, $a0, 0x14 -/* B301E4 800B9044 0C018DDB */ jal func_8006376C -/* B301E8 800B9048 308400FF */ andi $a0, $a0, 0xff -/* B301EC 800B904C 8FBF001C */ lw $ra, 0x1c($sp) -/* B301F0 800B9050 8FB00018 */ lw $s0, 0x18($sp) -/* B301F4 800B9054 27BD0030 */ addiu $sp, $sp, 0x30 -/* B301F8 800B9058 03E00008 */ jr $ra -/* B301FC 800B905C 00000000 */ nop - diff --git a/asm/non_matchings/code/db_camera/func_800B91B0.s b/asm/non_matchings/code/db_camera/func_800B91B0.s deleted file mode 100644 index 8e352e426b..0000000000 --- a/asm/non_matchings/code/db_camera/func_800B91B0.s +++ /dev/null @@ -1,263 +0,0 @@ -glabel func_800B91B0 -/* B30350 800B91B0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B30354 800B91B4 AFB00020 */ sw $s0, 0x20($sp) -/* B30358 800B91B8 3C108016 */ lui $s0, %hi(D_8016110C) # $s0, 0x8016 -/* B3035C 800B91BC 2610110C */ addiu $s0, %lo(D_8016110C) # addiu $s0, $s0, 0x110c -/* B30360 800B91C0 86030000 */ lh $v1, ($s0) -/* B30364 800B91C4 AFB20028 */ sw $s2, 0x28($sp) -/* B30368 800B91C8 3C128016 */ lui $s2, %hi(sDbgEditorSlots) -/* B3036C 800B91CC 26521150 */ addiu $s2, %lo(sDbgEditorSlots) # addiu $s2, $s2, 0x1150 -/* B30370 800B91D0 00037100 */ sll $t6, $v1, 4 -/* B30374 800B91D4 024E1021 */ addu $v0, $s2, $t6 -/* B30378 800B91D8 904F0000 */ lbu $t7, ($v0) -/* B3037C 800B91DC 2406003F */ li $a2, 63 -/* B30380 800B91E0 AFBF002C */ sw $ra, 0x2c($sp) -/* B30384 800B91E4 AFB10024 */ sw $s1, 0x24($sp) -/* B30388 800B91E8 AFA40030 */ sw $a0, 0x30($sp) -/* B3038C 800B91EC 14CF0016 */ bne $a2, $t7, .L800B9248 -/* B30390 800B91F0 AFA50034 */ sw $a1, 0x34($sp) -/* B30394 800B91F4 24780001 */ addiu $t8, $v1, 1 -.L800B91F8: -/* B30398 800B91F8 A6180000 */ sh $t8, ($s0) -/* B3039C 800B91FC 86030000 */ lh $v1, ($s0) -/* B303A0 800B9200 3C118016 */ lui $s1, %hi(D_80161110) -/* B303A4 800B9204 26311110 */ addiu $s1, %lo(D_80161110) # addiu $s1, $s1, 0x1110 -/* B303A8 800B9208 2861000F */ slti $at, $v1, 0xf -/* B303AC 800B920C 14200009 */ bnez $at, .L800B9234 -/* B303B0 800B9210 00001025 */ move $v0, $zero -/* B303B4 800B9214 44802000 */ mtc1 $zero, $f4 -/* B303B8 800B9218 44803000 */ mtc1 $zero, $f6 -/* B303BC 800B921C A6200008 */ sh $zero, 8($s1) -/* B303C0 800B9220 A620000A */ sh $zero, 0xa($s1) -/* B303C4 800B9224 A6000000 */ sh $zero, ($s0) -/* B303C8 800B9228 E6240000 */ swc1 $f4, ($s1) -/* B303CC 800B922C 100000D1 */ b .L800B9574 -/* B303D0 800B9230 E6260004 */ swc1 $f6, 4($s1) -.L800B9234: -/* B303D4 800B9234 0003C900 */ sll $t9, $v1, 4 -/* B303D8 800B9238 02591021 */ addu $v0, $s2, $t9 -/* B303DC 800B923C 90490000 */ lbu $t1, ($v0) -/* B303E0 800B9240 50C9FFED */ beql $a2, $t1, .L800B91F8 -/* B303E4 800B9244 24780001 */ addiu $t8, $v1, 1 -.L800B9248: -/* B303E8 800B9248 3C118016 */ lui $s1, %hi(D_80161110) # $s1, 0x8016 -/* B303EC 800B924C 3C0A8016 */ lui $t2, %hi(D_80161118) # $t2, 0x8016 -/* B303F0 800B9250 26311110 */ addiu $s1, %lo(D_80161110) # addiu $s1, $s1, 0x1110 -/* B303F4 800B9254 254A1118 */ addiu $t2, %lo(D_80161118) # addiu $t2, $t2, 0x1118 -/* B303F8 800B9258 3C048016 */ lui $a0, %hi(D_80161120) # $a0, 0x8016 -/* B303FC 800B925C 3C058016 */ lui $a1, %hi(D_80161138) # $a1, 0x8016 -/* B30400 800B9260 3C068016 */ lui $a2, %hi(D_8016113C) # $a2, 0x8016 -/* B30404 800B9264 24C6113C */ addiu $a2, %lo(D_8016113C) # addiu $a2, $a2, 0x113c -/* B30408 800B9268 24A51138 */ addiu $a1, %lo(D_80161138) # addiu $a1, $a1, 0x1138 -/* B3040C 800B926C 24841120 */ addiu $a0, %lo(D_80161120) # addiu $a0, $a0, 0x1120 -/* B30410 800B9270 AFAA0010 */ sw $t2, 0x10($sp) -/* B30414 800B9274 AFB10014 */ sw $s1, 0x14($sp) -/* B30418 800B9278 0C02ECAD */ jal func_800BB2B4 -/* B3041C 800B927C 8C470004 */ lw $a3, 4($v0) -/* B30420 800B9280 144000AC */ bnez $v0, .L800B9534 -/* B30424 800B9284 3C048016 */ lui $a0, %hi(D_8016112C) # $a0, 0x8016 -/* B30428 800B9288 860B0000 */ lh $t3, ($s0) -/* B3042C 800B928C 3C0E8016 */ lui $t6, %hi(D_80161118) # $t6, 0x8016 -/* B30430 800B9290 25CE1118 */ addiu $t6, %lo(D_80161118) # addiu $t6, $t6, 0x1118 -/* B30434 800B9294 000B6100 */ sll $t4, $t3, 4 -/* B30438 800B9298 024C6821 */ addu $t5, $s2, $t4 -/* B3043C 800B929C 8DA70008 */ lw $a3, 8($t5) -/* B30440 800B92A0 3C058016 */ lui $a1, %hi(D_80161138) # $a1, 0x8016 -/* B30444 800B92A4 3C068016 */ lui $a2, %hi(D_8016113C) # $a2, 0x8016 -/* B30448 800B92A8 24C6113C */ addiu $a2, %lo(D_8016113C) # addiu $a2, $a2, 0x113c -/* B3044C 800B92AC 24A51138 */ addiu $a1, %lo(D_80161138) # addiu $a1, $a1, 0x1138 -/* B30450 800B92B0 AFB10014 */ sw $s1, 0x14($sp) -/* B30454 800B92B4 AFAE0010 */ sw $t6, 0x10($sp) -/* B30458 800B92B8 0C02ECAD */ jal func_800BB2B4 -/* B3045C 800B92BC 2484112C */ addiu $a0, %lo(D_8016112C) # addiu $a0, $a0, 0x112c -/* B30460 800B92C0 1440009C */ bnez $v0, .L800B9534 -/* B30464 800B92C4 2407000A */ li $a3, 10 -/* B30468 800B92C8 86220008 */ lh $v0, 8($s1) -/* B3046C 800B92CC 860A0000 */ lh $t2, ($s0) -/* B30470 800B92D0 C6280004 */ lwc1 $f8, 4($s1) -/* B30474 800B92D4 24420001 */ addiu $v0, $v0, 1 -/* B30478 800B92D8 0047001A */ div $zero, $v0, $a3 -/* B3047C 800B92DC 000A5900 */ sll $t3, $t2, 4 -/* B30480 800B92E0 024B6021 */ addu $t4, $s2, $t3 -/* B30484 800B92E4 8583000E */ lh $v1, 0xe($t4) -/* B30488 800B92E8 00007812 */ mflo $t7 -/* B3048C 800B92EC 0000C810 */ mfhi $t9 -/* B30490 800B92F0 2463FFFB */ addiu $v1, $v1, -5 -/* B30494 800B92F4 4600428D */ trunc.w.s $f10, $f8 -/* B30498 800B92F8 0067001A */ div $zero, $v1, $a3 -/* B3049C 800B92FC 44045000 */ mfc1 $a0, $f10 -/* B304A0 800B9300 3C088013 */ lui $t0, %hi(D_8012D13C) # $t0, 0x8013 -/* B304A4 800B9304 25F80030 */ addiu $t8, $t7, 0x30 -/* B304A8 800B9308 2508D13C */ addiu $t0, %lo(D_8012D13C) # addiu $t0, $t0, -0x2ec4 -/* B304AC 800B930C 14E00002 */ bnez $a3, .L800B9318 -/* B304B0 800B9310 00000000 */ nop -/* B304B4 800B9314 0007000D */ break 7 -.L800B9318: -/* B304B8 800B9318 2401FFFF */ li $at, -1 -/* B304BC 800B931C 14E10004 */ bne $a3, $at, .L800B9330 -/* B304C0 800B9320 3C018000 */ lui $at, 0x8000 -/* B304C4 800B9324 14410002 */ bne $v0, $at, .L800B9330 -/* B304C8 800B9328 00000000 */ nop -/* B304CC 800B932C 0006000D */ break 6 -.L800B9330: -/* B304D0 800B9330 A1180007 */ sb $t8, 7($t0) -/* B304D4 800B9334 00006812 */ mflo $t5 -/* B304D8 800B9338 00007810 */ mfhi $t7 -/* B304DC 800B933C 27290030 */ addiu $t1, $t9, 0x30 -/* B304E0 800B9340 25AE0030 */ addiu $t6, $t5, 0x30 -/* B304E4 800B9344 25F80030 */ addiu $t8, $t7, 0x30 -/* B304E8 800B9348 3C058013 */ lui $a1, %hi(D_8012D11E) # $a1, 0x8013 -/* B304EC 800B934C 00042400 */ sll $a0, $a0, 0x10 -/* B304F0 800B9350 A1090008 */ sb $t1, 8($t0) -/* B304F4 800B9354 14E00002 */ bnez $a3, .L800B9360 -/* B304F8 800B9358 00000000 */ nop -/* B304FC 800B935C 0007000D */ break 7 -.L800B9360: -/* B30500 800B9360 2401FFFF */ li $at, -1 -/* B30504 800B9364 14E10004 */ bne $a3, $at, .L800B9378 -/* B30508 800B9368 3C018000 */ lui $at, 0x8000 -/* B3050C 800B936C 14610002 */ bne $v1, $at, .L800B9378 -/* B30510 800B9370 00000000 */ nop -/* B30514 800B9374 0006000D */ break 6 -.L800B9378: -/* B30518 800B9378 A10E000A */ sb $t6, 0xa($t0) -/* B3051C 800B937C A118000B */ sb $t8, 0xb($t0) -/* B30520 800B9380 00042403 */ sra $a0, $a0, 0x10 -/* B30524 800B9384 24A5D11E */ addiu $a1, %lo(D_8012D11E) # addiu $a1, $a1, -0x2ee2 -/* B30528 800B9388 0C02CF7E */ jal func_800B3DF8 -/* B3052C 800B938C 24060004 */ li $a2, 4 -/* B30530 800B9390 3C078013 */ lui $a3, %hi(D_8012D114) # $a3, 0x8013 -/* B30534 800B9394 24E7D114 */ addiu $a3, %lo(D_8012D114) # addiu $a3, $a3, -0x2eec -/* B30538 800B9398 2404000F */ li $a0, 15 -/* B3053C 800B939C 24050016 */ li $a1, 22 -/* B30540 800B93A0 0C018DDB */ jal func_8006376C -/* B30544 800B93A4 24060003 */ li $a2, 3 -/* B30548 800B93A8 3C058013 */ lui $a1, %hi(D_8012D132) # $a1, 0x8013 -/* B3054C 800B93AC 24A5D132 */ addiu $a1, %lo(D_8012D132) # addiu $a1, $a1, -0x2ece -/* B30550 800B93B0 8624000C */ lh $a0, 0xc($s1) -/* B30554 800B93B4 0C02CF7E */ jal func_800B3DF8 -/* B30558 800B93B8 24060004 */ li $a2, 4 -/* B3055C 800B93BC 3C078013 */ lui $a3, %hi(D_8012D128) # $a3, 0x8013 -/* B30560 800B93C0 24E7D128 */ addiu $a3, %lo(D_8012D128) # addiu $a3, $a3, -0x2ed8 -/* B30564 800B93C4 2404000F */ li $a0, 15 -/* B30568 800B93C8 24050017 */ li $a1, 23 -/* B3056C 800B93CC 0C018DDB */ jal func_8006376C -/* B30570 800B93D0 24060003 */ li $a2, 3 -/* B30574 800B93D4 3C078013 */ lui $a3, %hi(D_8012D13C) -/* B30578 800B93D8 24E7D13C */ addiu $a3, %lo(D_8012D13C) # addiu $a3, $a3, -0x2ec4 -/* B3057C 800B93DC 2404000F */ li $a0, 15 -/* B30580 800B93E0 24050018 */ li $a1, 24 -/* B30584 800B93E4 0C018DDB */ jal func_8006376C -/* B30588 800B93E8 24060003 */ li $a2, 3 -/* B3058C 800B93EC 3C078013 */ lui $a3, %hi(D_8012CEF0) -/* B30590 800B93F0 8CE7CEF0 */ lw $a3, %lo(D_8012CEF0)($a3) -/* B30594 800B93F4 24040010 */ li $a0, 16 -/* B30598 800B93F8 2405001A */ li $a1, 26 -/* B3059C 800B93FC 0C018DDB */ jal func_8006376C -/* B305A0 800B9400 24060001 */ li $a2, 1 -/* B305A4 800B9404 86030000 */ lh $v1, ($s0) -/* B305A8 800B9408 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B305AC 800B940C 44819000 */ mtc1 $at, $f18 -/* B305B0 800B9410 C6300004 */ lwc1 $f16, 4($s1) -/* B305B4 800B9414 00035900 */ sll $t3, $v1, 4 -/* B305B8 800B9418 8629000C */ lh $t1, 0xc($s1) -/* B305BC 800B941C 024B1021 */ addu $v0, $s2, $t3 -/* B305C0 800B9420 46128100 */ add.s $f4, $f16, $f18 -/* B305C4 800B9424 8444000C */ lh $a0, 0xc($v0) -/* B305C8 800B9428 252A0001 */ addiu $t2, $t1, 1 -/* B305CC 800B942C A62A000C */ sh $t2, 0xc($s1) -/* B305D0 800B9430 18800012 */ blez $a0, .L800B947C -/* B305D4 800B9434 E6240004 */ swc1 $f4, 4($s1) -/* B305D8 800B9438 44843000 */ mtc1 $a0, $f6 -/* B305DC 800B943C C62A0004 */ lwc1 $f10, 4($s1) -/* B305E0 800B9440 246C0001 */ addiu $t4, $v1, 1 -/* B305E4 800B9444 46803220 */ cvt.s.w $f8, $f6 -/* B305E8 800B9448 460A403C */ c.lt.s $f8, $f10 -/* B305EC 800B944C 00000000 */ nop -/* B305F0 800B9450 4502000B */ bc1fl .L800B9480 -/* B305F4 800B9454 844D0002 */ lh $t5, 2($v0) -/* B305F8 800B9458 A60C0000 */ sh $t4, ($s0) -/* B305FC 800B945C 44808000 */ mtc1 $zero, $f16 -/* B30600 800B9460 44809000 */ mtc1 $zero, $f18 -/* B30604 800B9464 86020000 */ lh $v0, ($s0) -/* B30608 800B9468 A6200008 */ sh $zero, 8($s1) -/* B3060C 800B946C E6300000 */ swc1 $f16, ($s1) -/* B30610 800B9470 E6320004 */ swc1 $f18, 4($s1) -/* B30614 800B9474 1000003F */ b .L800B9574 -/* B30618 800B9478 34428000 */ ori $v0, $v0, 0x8000 -.L800B947C: -/* B3061C 800B947C 844D0002 */ lh $t5, 2($v0) -.L800B9480: -/* B30620 800B9480 24010001 */ li $at, 1 -/* B30624 800B9484 51A1000E */ beql $t5, $at, .L800B94C0 -/* B30628 800B9488 8FB00030 */ lw $s0, 0x30($sp) -/* B3062C 800B948C 8FA50034 */ lw $a1, 0x34($sp) -/* B30630 800B9490 3C048016 */ lui $a0, %hi(D_80161120) # $a0, 0x8016 -/* B30634 800B9494 24841120 */ addiu $a0, %lo(D_80161120) # addiu $a0, $a0, 0x1120 -/* B30638 800B9498 0C02CFCE */ jal func_800B3F38 -/* B3063C 800B949C 24A50010 */ addiu $a1, $a1, 0x10 -/* B30640 800B94A0 8FA50034 */ lw $a1, 0x34($sp) -/* B30644 800B94A4 3C048016 */ lui $a0, %hi(D_8016112C) # $a0, 0x8016 -/* B30648 800B94A8 2484112C */ addiu $a0, %lo(D_8016112C) # addiu $a0, $a0, 0x112c -/* B3064C 800B94AC 0C02CFCE */ jal func_800B3F38 -/* B30650 800B94B0 24A50004 */ addiu $a1, $a1, 4 -/* B30654 800B94B4 10000010 */ b .L800B94F8 -/* B30658 800B94B8 8FA20034 */ lw $v0, 0x34($sp) -/* B3065C 800B94BC 8FB00030 */ lw $s0, 0x30($sp) -.L800B94C0: -/* B30660 800B94C0 8FA60034 */ lw $a2, 0x34($sp) -/* B30664 800B94C4 3C058016 */ lui $a1, %hi(D_8016112C) # $a1, 0x8016 -/* B30668 800B94C8 26100094 */ addiu $s0, $s0, 0x94 -/* B3066C 800B94CC 02002025 */ move $a0, $s0 -/* B30670 800B94D0 24A5112C */ addiu $a1, %lo(D_8016112C) # addiu $a1, $a1, 0x112c -/* B30674 800B94D4 0C02CFFD */ jal func_800B3FF4 -/* B30678 800B94D8 24C60004 */ addiu $a2, $a2, 4 -/* B3067C 800B94DC 8FA60034 */ lw $a2, 0x34($sp) -/* B30680 800B94E0 3C058016 */ lui $a1, %hi(D_80161120) -/* B30684 800B94E4 24A51120 */ addiu $a1, %lo(D_80161120) # addiu $a1, $a1, 0x1120 -/* B30688 800B94E8 02002025 */ move $a0, $s0 -/* B3068C 800B94EC 0C02CFFD */ jal func_800B3FF4 -/* B30690 800B94F0 24C60010 */ addiu $a2, $a2, 0x10 -/* B30694 800B94F4 8FA20034 */ lw $v0, 0x34($sp) -.L800B94F8: -/* B30698 800B94F8 C624002C */ lwc1 $f4, 0x2c($s1) -/* B3069C 800B94FC 3C013FB4 */ li $at, 0x3FB40000 # 0.000000 -/* B306A0 800B9500 44818000 */ mtc1 $at, $f16 -/* B306A4 800B9504 E4440048 */ swc1 $f4, 0x48($v0) -/* B306A8 800B9508 C6260028 */ lwc1 $f6, 0x28($s1) -/* B306AC 800B950C 3C038016 */ lui $v1, %hi(D_8016110C) -/* B306B0 800B9510 4600320D */ trunc.w.s $f8, $f6 -/* B306B4 800B9514 440F4000 */ mfc1 $t7, $f8 -/* B306B8 800B9518 00000000 */ nop -/* B306BC 800B951C A44F004C */ sh $t7, 0x4c($v0) -/* B306C0 800B9520 C62A0028 */ lwc1 $f10, 0x28($s1) -/* B306C4 800B9524 46105482 */ mul.s $f18, $f10, $f16 -/* B306C8 800B9528 E4520050 */ swc1 $f18, 0x50($v0) -/* B306CC 800B952C 10000010 */ b .L800B9570 -/* B306D0 800B9530 8463110C */ lh $v1, %lo(D_8016110C)($v1) -.L800B9534: -/* B306D4 800B9534 86180000 */ lh $t8, ($s0) -/* B306D8 800B9538 44802000 */ mtc1 $zero, $f4 -/* B306DC 800B953C 44803000 */ mtc1 $zero, $f6 -/* B306E0 800B9540 27190001 */ addiu $t9, $t8, 1 -/* B306E4 800B9544 A6190000 */ sh $t9, ($s0) -/* B306E8 800B9548 86030000 */ lh $v1, ($s0) -/* B306EC 800B954C 2401000F */ li $at, 15 -/* B306F0 800B9550 A6200008 */ sh $zero, 8($s1) -/* B306F4 800B9554 E6240000 */ swc1 $f4, ($s1) -/* B306F8 800B9558 14610005 */ bne $v1, $at, .L800B9570 -/* B306FC 800B955C E6260004 */ swc1 $f6, 4($s1) -/* B30700 800B9560 A6000000 */ sh $zero, ($s0) -/* B30704 800B9564 A620000A */ sh $zero, 0xa($s1) -/* B30708 800B9568 10000002 */ b .L800B9574 -/* B3070C 800B956C 2402FFFF */ li $v0, -1 -.L800B9570: -/* B30710 800B9570 34628000 */ ori $v0, $v1, 0x8000 -.L800B9574: -/* B30714 800B9574 8FBF002C */ lw $ra, 0x2c($sp) -/* B30718 800B9578 8FB00020 */ lw $s0, 0x20($sp) -/* B3071C 800B957C 8FB10024 */ lw $s1, 0x24($sp) -/* B30720 800B9580 8FB20028 */ lw $s2, 0x28($sp) -/* B30724 800B9584 03E00008 */ jr $ra -/* B30728 800B9588 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/data/db_camera.bss.s b/data/db_camera.bss.s deleted file mode 100644 index cd17626eed..0000000000 --- a/data/db_camera.bss.s +++ /dev/null @@ -1,109 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purpose registers - -.section .bss - -.balign 16 - -glabel D_80161100 - .space 0x4 - -glabel D_80161104 - .space 0x4 - -glabel D_80161108 - .space 0x4 - -glabel D_8016110C - .space 0x4 - -glabel D_80161110 - .space 0x4 - -glabel D_80161114 - .space 0x4 - -glabel D_80161118 - .space 0x2 - -glabel D_8016111A - .space 0x2 - -glabel D_8016111C - .space 0x4 - -glabel D_80161120 - .space 0xC - -glabel D_8016112C - .space 0xC - -glabel D_80161138 - .space 0x4 - -glabel D_8016113C - .space 0x4 - -glabel D_80161140 - .space 0x4 - -glabel D_80161144 - .space 0x4 - -glabel D_80161148 - .space 0x2 - -glabel D_8016114A - .space 0x6 - -glabel sDbgEditorSlots - .space 0xE - -glabel D_8016115E - .space 0x2 - -glabel D_80161160 - .space 0xE - -glabel D_8016116E - .space 0x2 - -glabel D_80161170 - .space 0xE - -glabel D_8016117E - .space 0x2 - -glabel D_80161180 - .space 0xC0 - -glabel D_80161240 - .space 0x10 - -glabel D_80161250 - .space 0xC - -glabel D_8016125C - .space 0x33 - -glabel sDbgEditorStates - .space 0x41 - -glabel D_801612D0 - .space 0x1 - -glabel D_801612D1 - .space 0x1 - -glabel D_801612D2 - .space 0x18 - -glabel D_801612EA - .space 0x2 - -glabel D_801612EC - .space 0x4 diff --git a/data/db_camera.data.s b/data/db_camera.data.s deleted file mode 100644 index b73a4a0e85..0000000000 --- a/data/db_camera.data.s +++ /dev/null @@ -1,261 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel D_8012CEE0 - .word D_80143170 - -glabel D_8012CEE4 - .word D_80143184 - -glabel D_8012CEE8 - .word D_80143194 - -glabel D_8012CEEC - .word D_801431AC - -glabel D_8012CEF0 - .word D_801431C4 - -glabel D_8012CEF4 - .word D_801431D8 - -glabel D_8012CEF8 - .word D_801431EC - .word D_80143200 - .word D_80143214 - -glabel D_8012CF04 - .word D_80143224 - -glabel D_8012CF08 - .word D_80143234 - -glabel D_8012CF0C - .word D_80143244 - -glabel D_8012CF10 - .word D_80143254 - -glabel D_8012CF14 - .word D_80143264 - -glabel D_8012CF18 - .word D_80143278 - .word D_80143290 - .word D_801432A4 - -glabel D_8012CF24 - .word D_801432B8 - .word D_801432C8 - .word D_801432DC - -glabel D_8012CF30 - .word D_801432F0 - -glabel D_8012CF34 - .word D_80143300 - -glabel D_8012CF38 - .word D_80143310 - -glabel D_8012CF3C - .word D_80143320 - -glabel D_8012CF40 - .word D_80143330 - -glabel D_8012CF44 - .word D_80143340 - -glabel D_8012CF48 - .word D_80143350 - -glabel D_8012CF4C - .word D_80143368 - -glabel D_8012CF50 - .word D_8014336C - .word D_80143370 - .word D_80143374 - .word D_80143378 - -glabel D_8012CF60 - .word D_8014337C - -glabel D_8012CF64 - .word D_8014338C - -glabel D_8012CF68 - .word D_80143398 - -glabel D_8012CF6C - .word D_801433A4 - -glabel D_8012CF70 - .word D_801433B0 - -glabel D_8012CF74 - .word D_801433C4 - -glabel D_8012CF78 - .word D_801433D4 - -glabel D_8012CF7C - .word D_801433E4 - -glabel D_8012CF80 - .word D_801433F8 - -glabel D_8012CF84 - .word D_8014340C - -glabel D_8012CF88 - .word D_8014341C - .word D_80143434 - .word D_80143454 - -glabel D_8012CF94 - .word D_80143470 - -glabel D_8012CF98 - .word D_80143478 - -glabel D_8012CF9C - .word D_80143480 - .word D_8014348C - -glabel D_8012CFA4 - .word D_80143498 - -glabel D_8012CFA8 - .word D_801434A4 - -glabel D_8012CFAC - .word D_801434B4 - -glabel D_8012CFB0 - .word D_801434C4 - -glabel D_8012CFB4 - .incbin "baserom.z64", 0xBA4154, 0x8 - -glabel D_8012CFBC - .incbin "baserom.z64", 0xBA415C, 0x8 - -glabel D_8012CFC4 - .incbin "baserom.z64", 0xBA4164, 0xC - -glabel D_8012CFD0 - .incbin "baserom.z64", 0xBA4170, 0x14 - -glabel D_8012CFE4 - .incbin "baserom.z64", 0xBA4184, 0x14 - -glabel D_8012CFF8 - .incbin "baserom.z64", 0xBA4198, 0x14 - -glabel D_8012D00C - .incbin "baserom.z64", 0xBA41AC, 0x14 - -glabel D_8012D020 - .incbin "baserom.z64", 0xBA41C0, 0x14 - -glabel D_8012D034 - .incbin "baserom.z64", 0xBA41D4, 0x28 - -glabel D_8012D05C - .incbin "baserom.z64", 0xBA41FC, 0xA - -glabel D_8012D066 - .incbin "baserom.z64", 0xBA4206, 0xA - -glabel D_8012D070 - .incbin "baserom.z64", 0xBA4210, 0x9 - -glabel D_8012D079 - .incbin "baserom.z64", 0xBA4219, 0xB - -glabel D_8012D084 - .incbin "baserom.z64", 0xBA4224, 0xA - -glabel D_8012D08E - .incbin "baserom.z64", 0xBA422E, 0x1E - -glabel D_8012D0AC - .incbin "baserom.z64", 0xBA424C, 0x14 - -glabel D_8012D0C0 - .incbin "baserom.z64", 0xBA4260, 0xA - -glabel D_8012D0CA - .incbin "baserom.z64", 0xBA426A, 0xA - -glabel D_8012D0D4 - .incbin "baserom.z64", 0xBA4274, 0x7 - -glabel D_8012D0DB - .incbin "baserom.z64", 0xBA427B, 0x1 - -glabel D_8012D0DC - .incbin "baserom.z64", 0xBA427C, 0x8 - -glabel D_8012D0E4 - .incbin "baserom.z64", 0xBA4284, 0xA - -glabel D_8012D0EE - .incbin "baserom.z64", 0xBA428E, 0x1 - -glabel D_8012D0EF - .incbin "baserom.z64", 0xBA428F, 0x9 - -glabel D_8012D0F8 - .incbin "baserom.z64", 0xBA4298, 0xA - -glabel D_8012D102 - .incbin "baserom.z64", 0xBA42A2, 0x1 - -glabel D_8012D103 - .incbin "baserom.z64", 0xBA42A3, 0x9 - -glabel D_8012D10C - .incbin "baserom.z64", 0xBA42AC, 0x4 - -glabel D_8012D110 - .incbin "baserom.z64", 0xBA42B0, 0x4 - -glabel D_8012D114 - .incbin "baserom.z64", 0xBA42B4, 0xA - -glabel D_8012D11E - .incbin "baserom.z64", 0xBA42BE, 0xA - -glabel D_8012D128 - .incbin "baserom.z64", 0xBA42C8, 0xA - -glabel D_8012D132 - .incbin "baserom.z64", 0xBA42D2, 0xA - -glabel D_8012D13C - .incbin "baserom.z64", 0xBA42DC, 0x10 - -glabel D_8012D14C - .word func_800B8DB0 - .word func_800B8BB0 - .word func_800B8F30 - -glabel D_8012D158 - .incbin "baserom.z64", 0xBA42F8, 0x18 - -glabel D_8012D170 - .incbin "baserom.z64", 0xBA4310, 0x2 - -glabel D_8012D172 - .incbin "baserom.z64", 0xBA4312, 0xE diff --git a/include/functions.h b/include/functions.h index ee4382a769..51a741b505 100644 --- a/include/functions.h +++ b/include/functions.h @@ -816,7 +816,6 @@ s32 func_800635D0(s32); void func_800636C0(void); void func_8006375C(s32 arg0, s32 arg1, const char* text); void func_8006376C(u8 x, u8 y, u8 colorId, const char* text); -// ? func_8006376C(?); // ? func_80063828(?); void func_8006390C(Input* input); // ? func_80063C04(?); @@ -1443,13 +1442,13 @@ u32 ShrinkWindow_GetCurrentVal(void); void ShrinkWindow_Init(void); void ShrinkWindow_Destroy(void); void ShrinkWindow_Update(s32 updateRate); -// ? func_800B3B50(?); -// ? func_800B3BD4(?); -// ? func_800B3DF8(?); -// ? func_800B3EBC(?); -// ? func_800B3EFC(?); -// ? func_800B3F38(?); -// ? func_800B3F54(?); +// ? DbCamera_AddVecSph(?); +// ? DbCamera_CalcUpFromPitchYawRoll(?); +// ? DbCamera_SetTextValue(?); +// ? DbCamera_Vec3SToF(?); +// ? DbCamera_Vec3FToS(?); +// ? DbCamera_CopyVec3f(?); +// ? DbCamera_Vec3SToF2(?); // ? func_800B3F94(?); // ? func_800B3FF4(?); // ? func_800B404C(?); @@ -1458,24 +1457,24 @@ void ShrinkWindow_Update(s32 updateRate); // ? func_800B42C0(?); // ? func_800B4370(?); // ? func_800B44E0(?); -// ? func_800B4920(?); -// ? func_800B4A68(?); -// ? func_800B4AA8(?); -// ? func_800B4AE4(?); -// ? func_800B4B20(?); -void DbgCamera_Init(DBCamera* dbCamera, Camera* camera); -void DbgCamera_Enable(DBCamera* dbCamera, Camera* camera); -void DbgCamera_Update(DBCamera* dbCamera, Camera* camera); -// ? func_800B8730(?); -// ? func_800B87D8(?); -// ? func_800B8978(?); -// ? func_800B8A0C(?); -// ? func_800B8BA4(?); -// ? func_800B8F58(?); -// ? func_800B9060(?); +// ? DbCamera_PrintPoints(?); +// ? DbCamera_PrintF32Bytes(?); +// ? DbCamera_PrintU16Bytes(?); +// ? DbCamera_PrintS16Bytes(?); +// ? DbCamera_PrintCutBytes(?); +// ? DbCamera_Init(?); +// ? DbgCamera_Enable(?); +// ? DbCamera_Update(?); +// ? DbCamera_GetFirstAvailableLetter(?); +// ? DbCamera_InitCut(?); +// ? DbCamera_ResetCut(?); +// ? DbCamera_CalcMempakAllocSize(?); +// ? DbCamera_GetMempakAllocSize(?); +// ? DbCamera_DrawSlotLetters(?); +// ? DbCamera_PrintAllCuts(?); // ? func_800B91B0(?); -void DbgCamera_FirstInit(Camera* camera, DBCamera* dbCamera); -// ? func_800B9638(?); +// ? DbCamera_Reset(?); +// ? DbCamera_UpdateDemoControl(?); // ? func_800BB0A0(?); s32 func_800BB2B4(Vec3f* pos, f32* roll, f32* fov, CutsceneCameraPoint* point, s16* keyframe, f32* curFrame); s32 Mempak_Init(s32 controllerNb); diff --git a/include/macros.h b/include/macros.h index 527b1a01be..b80d4817f1 100644 --- a/include/macros.h +++ b/include/macros.h @@ -9,6 +9,8 @@ #define SEGMENTED_TO_VIRTUAL(addr) PHYSICAL_TO_VIRTUAL(gSegments[SEGMENT_NUMBER(addr)] + SEGMENT_OFFSET(addr)) #define ALIGN16(val) (((val) + 0xF) & ~0xF) +#define ALIGN32(val) (((val) + 0x1F) & ~0x1F) +#define ALIGN256(val) (((val) + 0xFF) & ~0xFF) #define SQ(x) ((x)*(x)) #define ABS(x) ((x) >= 0 ? (x) : -(x)) diff --git a/include/variables.h b/include/variables.h index 8491d995f5..bd85118a70 100644 --- a/include/variables.h +++ b/include/variables.h @@ -288,7 +288,6 @@ extern u8 gFontFF[]; // original name: "font_ff" //extern ? D_8012CFAC; //extern ? D_8012CFB0; //extern ? D_8012CFB4; -//extern ? D_8012CFBC; //extern ? D_8012CFC4; //extern ? D_8012CFD0; //extern ? D_8012CFE4; @@ -297,32 +296,21 @@ extern u8 gFontFF[]; // original name: "font_ff" //extern ? D_8012D020; //extern ? D_8012D034; //extern ? D_8012D05C; -//extern ? D_8012D066; //extern ? D_8012D070; -//extern ? D_8012D079; //extern ? D_8012D084; -//extern ? D_8012D08E; //extern ? D_8012D0AC; //extern ? D_8012D0C0; -//extern ? D_8012D0CA; //extern ? D_8012D0D4; -//extern ? D_8012D0DB; -//extern ? D_8012D0DC; //extern ? D_8012D0E4; -//extern ? D_8012D0EE; -//extern ? D_8012D0EF; //extern ? D_8012D0F8; -//extern ? D_8012D102; //extern ? D_8012D103; //extern ? D_8012D10C; //extern ? D_8012D110; //extern ? D_8012D114; -//extern ? D_8012D11E; //extern ? D_8012D128; -//extern ? D_8012D132; //extern ? D_8012D13C; //extern ? D_8012D14C; -//extern ? D_8012D158; +//extern ? sDbCameraColors; //extern ? D_8012D170; //extern ? D_8012D172; extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX]; @@ -3119,7 +3107,7 @@ extern u16 D_8015FCC0; extern u16 D_8015FCC2; extern u16 D_8015FCC4; //extern ? D_8015FCC6; -//extern ? D_8015FCC8; +extern u8 D_8015FCC8; //extern ? D_8015FCCA; extern u8 D_8015FCF0; extern Vec3f D_8015FCF8; @@ -3146,11 +3134,6 @@ extern u8 D_80161010; extern u8 D_801610D4; extern u8 D_801610D5; extern u8 D_801610DA; -//extern ? D_80161100; -//extern ? D_80161104; -//extern ? D_80161108; -//extern ? D_8016110C; -//extern ? D_80161110; //extern ? D_80161118; //extern ? D_8016111A; //extern ? D_8016111C; @@ -3158,22 +3141,14 @@ extern u8 D_801610DA; //extern ? D_8016112C; //extern ? D_80161138; //extern ? D_8016113C; -//extern ? D_80161140; -//extern ? D_80161144; -//extern ? D_80161148; -//extern ? D_8016114A; -//extern ? sDbgEditorSlots; -//extern ? D_8016115E; //extern ? D_80161160; //extern ? D_8016116E; //extern ? D_80161170; //extern ? D_8016117E; //extern ? D_80161180; //extern ? D_80161240; -//extern ? D_80161250; //extern ? D_801612D0; //extern ? D_801612D2; -//extern ? D_801612EA; //extern ? D_801612EC; extern f32 gBossMarkScale; extern PauseMapMarksData* gLoadedPauseMarkDataTable; diff --git a/spec b/spec index 670dffcfc6..36f3573a58 100644 --- a/spec +++ b/spec @@ -370,8 +370,6 @@ beginseg include "build/src/code/z_fbdemo_fade.o" include "build/src/code/shrink_window.o" include "build/src/code/db_camera.o" - include "build/data/db_camera.data.o" - include "build/data/db_camera.bss.o" include "build/src/code/code_800BB0A0.o" include "build/src/code/mempak.o" include "build/src/code/z_kaleido_manager.o" diff --git a/src/code/db_camera.c b/src/code/db_camera.c index d62a6578ef..3010243212 100644 --- a/src/code/db_camera.c +++ b/src/code/db_camera.c @@ -1,284 +1,2412 @@ +#include "ultra64.h" #include "global.h" -extern GlobalContext* D_80161100; -extern s32 D_8012CED8; -extern s32 D_8012CED4; -extern s32 D_8012CED0; -extern char D_801612D0[0x1A]; -extern char D_801612EA; -extern DBCamera* D_80161108; -extern s16 D_80161148; -extern s16 D_8016114A; -extern s16 D_8016111A; -extern s16 D_8016110C; +typedef struct { + /* 0x0000 */ s16 mode; + /* 0x0002 */ s16 nFrames; + /* 0x0004 */ s16 nPoints; + /* 0x0006 */ s16 unkIdx; + /* 0x0008 */ s16 unk_08; + /* 0x000A */ s16 unk_0A; + /* 0x000C */ s32 unk_0C; // bool: indicates position vs lookAt? + /* 0x0010 */ char unk_10[0x14]; + /* 0x0024 */ CutsceneCameraPoint position[129]; + /* 0x0834 */ CutsceneCameraPoint lookAt[129]; + /* 0x1044 */ s16 demoCtrlMenu; + /* 0x1046 */ s16 demoCtrlActionIdx; // e (?), s (save), l (load), c (clear) + /* 0x1048 */ s16 demoCtrlToggleSwitch; + /* 0x104A */ Vec3s unk_104A; +} DbCameraSub; // size = 0x1050 typedef struct { - u8 state; - s16 mode; - CutsceneCameraPoint* eyePoints; - CutsceneCameraPoint* atPoints; - s16 frameCnt; - s16 csPointsCnt; -} DBCSEditorSlot; + /* 0x0000 */ s32 unk_00; + /* 0x0004 */ Vec3f at; + /* 0x0010 */ Vec3f eye; + /* 0x001C */ Vec3f unk_1C; + /* 0x0028 */ char unk_28[0xC]; + /* 0x0034 */ s32 unk_34; + /* 0x0038 */ s32 unk_38; + /* 0x003C */ s32 unk_3C; // bool + /* 0x0040 */ s32 unk_40; + /* 0x0044 */ s32 unk_44; + /* 0x0048 */ f32 fov; + /* 0x004C */ s16 roll; + /* 0x004E */ char unk_4E[0x2]; + /* 0x0050 */ f32 rollDegrees; + /* 0x0054 */ Vec3f unk_54; + /* 0x0060 */ Vec3f unk_60; + /* 0x006C */ Vec3f unk_6C; + /* 0x0078 */ s16 unk_78; + /* 0x007A */ s16 unk_7A; + /* 0x007C */ DbCameraSub sub; +} DbCamera; // size = 0x10CC -extern DBCSEditorSlot sDbgEditorSlots[]; -extern char sDbgEditorStates[]; +typedef struct { + /* 0x00 */ char letter; + /* 0x01 */ u8 unk_01; + /* 0x02 */ s16 mode; + /* 0x04 */ CutsceneCameraPoint* position; + /* 0x08 */ CutsceneCameraPoint* lookAt; + /* 0x0C */ s16 nFrames; + /* 0x0E */ s16 nPoints; +} DbCameraCut; // size = 0x10 -// DbgCamera_Vec3fVecSphGeoAdd -Vec3f* func_800B3B50(Vec3f* dest, Vec3f* a, VecSph* b) { - Vec3f copy, vecB; - OLib_VecSphGeoToVec3f(&vecB, b); +typedef struct { + /* 0x00 */ f32 curFrame; + /* 0x04 */ f32 unk_04; // frame count? + /* 0x08 */ s16 keyframe; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ s16 unk_0C; + /* 0x10 */ Vec3f positionPos; // confusing name + /* 0x1C */ Vec3f lookAtPos; + /* 0x28 */ f32 roll; + /* 0x2C */ f32 fov; +} DbCameraAnim; // size = 0x30 - copy.x = a->x + vecB.x; - copy.y = a->y + vecB.y; - copy.z = a->z + vecB.z; +char* D_8012CEE0[] = { "\x8Cキ-フレ-ム\x8Dガ" }; +const char* D_8012CEE4 = "\x8Dタリマセン。"; +const char* D_8012CEE8 = "\x8Dサイセイデキマセン"; +const char* D_8012CEEC = "\x8Dサイセイシュウリョウ"; +const char* D_8012CEF0 = "\x8Dサイセイチュウ!"; - *dest = copy; +const char* D_8012CEF4 = "DEMO CAMERA TOOL"; +const char* D_8012CEF8[] = { "\x8Dモウハイリマセン", "\x8Dトウロク テンメ", "\x8Dヘンコウ / " }; +const char* D_8012CF04 = "> >"; +const char* D_8012CF08 = "< <"; +const char* D_8012CF0C = "< >"; +const char* D_8012CF10 = "\x8C*プレイヤ-*"; +const char* D_8012CF14 = "\x8C\Eモ-ド\x8D ソウタイ"; +const char* D_8012CF18[] = { "\x8C\Eモ-ド\x8Dゼッタイ", "\x8Dガメン\x8C デモ", "\x8Dガメン フツウ" }; +const char* D_8012CF24[] = { "\x8DPジカン MAX", "\x8Cリンク\x8D キオク", "\x8Cリンク\x8D ムシ" }; +const char* D_8012CF30 = "\x8D*ミテルイチ*"; +const char* D_8012CF34 = "\x8C*カメラ\x8Dイチ*"; +const char* D_8012CF38 = "DEBUG CAMERA"; +const char* D_8012CF3C = "\x8Cセンタ-/ロック"; +const char* D_8012CF40 = "\x8Cセンタ-/フリ-"; + +const char* D_8012CF44 = "DEMO CONTROL"; +const char* D_8012CF48 = "\x8Cメモリ\x8Dガタリマセン"; +const char* D_8012CF4C = "p"; +const char* D_8012CF50[] = { "e", "s", "l", "c" }; + +const char* D_8012CF60[] = { "\x8Cメモリパック" }; // Mempak +const char* D_8012CF64 = "\x8Cセーブ"; // Save +const char* D_8012CF68 = "\x8Cロード"; // Load +const char* D_8012CF6C = "\x8Cクリア-"; // Clear +const char* D_8012CF70 = "\x8Dヲヌカナイデネ"; + +const char* D_8012CF74 = "FREE BYTE"; +const char* D_8012CF78 = "NEED BYTE"; +const char* D_8012CF7C = "\x8C*メモリ-パック*"; +const char* D_8012CF80 = "\x8Dヲミツケラレマセン"; +char* D_8012CF84 = "\x8Cファイル \x8Dヲ"; +const char* D_8012CF88[] = { "\x8Dシテモイイデスカ?", "\x8Dゲンザイヘンシュウチュウノ", "\x8Cファイル\x8Dハハキサレマス" }; +const char* D_8012CF94 = "\x8Dハイ"; +const char* D_8012CF98 = "\x8Dイイエ"; +const char* D_8012CF9C[] = { "\x8Dシテイマス", "\x8Dウワガキ" }; +const char* D_8012CFA4 = "\x8Dシマシタ"; +const char* D_8012CFA8 = "USE BYTE"; +const char* D_8012CFAC = "\x8Dニシッパイ"; + +const char* D_8012CFB0 = "\x8C\Eモ-ド\x8D コテイ"; +char D_8012CFB4[] = "\x8Cフレ-ム "; +char D_8012CFC4[] = "\x8Cキ- / "; +char D_8012CFD0[] = "\x8D(センタ-テン)\0\0\0\0\0"; +char D_8012CFE4[] = "\x8D(ゲンテン)\0\0\0\0\0\0"; +char D_8012CFF8[] = "\x8C(プレイヤ-)\0\0\0\0\0"; +char D_8012D00C[] = "\x8D(イチアワセ)\0\0\0\0\0\0"; +char D_8012D020[] = "\x8D(セッテイ)\0\0\0\0\0\0\0\0"; +char D_8012D034[] = "\x8D(キャッカン)\0\0\0\0\0\0"; +char D_8012D048[] = "\x8CポイントNo. \0\0\0"; +char D_8012D05C[] = "\x8Dガカク \0\0\0"; +char D_8012D070[] = "\x8CNフレ-ム \0\0\0\0"; +char D_8012D084[] = "\x8DZカイテン \0\0\0"; +char D_8012D098[] = "\x8Cモ-ド \0\0\0\0"; +char D_8012D0AC[] = " R\x8Dチュウシン \0\0\0"; + +char D_8012D0C0[] = "\x8DPジカン \0\0"; +char D_8012D0D4[] = "\x8Dキョリ \0"; +char D_8012D0E4[] = "\x8DXカイテン \0\0"; +char D_8012D0F8[] = "\x8DYカイテン \0\0"; +u32 D_8012D10C = 100; +u32 D_8012D110 = 0; +char D_8012D114[] = "\x8Cフレ-ム "; +char D_8012D128[] = "\x8Cト-タル "; +char D_8012D13C[] = "\x8Cキ- / "; + +#define ACTION_E 0 +#define ACTION_SAVE 1 +#define ACTION_LOAD 2 +#define ACTION_CLEAR 3 + +#define MENU_INFO 0 +#define MENU_CALLBACK 1 +#define MENU_SUCCESS 2 +#define MENU_ERROR 9 + +#define DEMO_CTRL_MENU(actionIdx, menuIdx) (actionIdx * 100 + menuIdx) + +s32 DbCamera_SaveCallback(char* c); +s32 DbCamera_LoadCallback(char* c); +s32 DbCamera_ClearCallback(char* c); + +static GlobalContext* sGlobalCtx; +static s32 sMempakFiles; +static DbCamera* sDbCamPtr; +static s16 D_8016110C; +static DbCameraAnim sDbCamAnim; +static s32 D_80161140; // bool +static s32 D_80161144; // bool +static s16 sCurFileIdx; +static s16 sLastFileIdx; // holds the file index of the slot to move +// is the size correct? todo: add ALIGN32 for sizeof in Mempak functions, replace 0xF with sizeof() +static DbCameraCut sDbCameraCuts[16]; +static char D_80161250[0x80]; +static char sLetters[26]; +static char D_801612EA; +static s32 sAllocSize; + +Vec3f* DbCamera_AddVecSph(Vec3f* out, Vec3f* in, VecSph* sph) { + Vec3f ret; + Vec3f vec; + + OLib_VecSphGeoToVec3f(&vec, sph); + + ret.x = in->x + vec.x; + ret.y = in->y + vec.y; + ret.z = in->z + vec.z; + *out = ret; + return out; +} + +Vec3f* DbCamera_CalcUpFromPitchYawRoll(Vec3f* dest, s16 pitch, s16 yaw, s16 roll) { + f32 sinPitch; + f32 cosPitch; + f32 sinYaw; + f32 cosYaw; + f32 sinNegRoll; + f32 cosNegRoll; + Vec3f spA4; + f32 sp54; + f32 sp4C; + f32 cosPitchCosYawSinRoll; + f32 negSinPitch; + f32 temp_f10_2; + f32 cosPitchcosYaw; + f32 temp_f14; + f32 negSinPitchSinYaw; + f32 negSinPitchCosYaw; + f32 cosPitchSinYaw; + f32 temp_f4_2; + f32 temp_f6; + f32 temp_f8; + f32 temp_f8_2; + f32 temp_f8_3; + + sinPitch = Math_SinS(pitch); + cosPitch = Math_CosS(pitch); + sinYaw = Math_SinS(yaw); + cosYaw = Math_CosS(yaw); + sinNegRoll = Math_SinS(-roll); + cosNegRoll = Math_CosS(-roll); + negSinPitch = -sinPitch; + negSinPitchSinYaw = negSinPitch * sinYaw; + negSinPitchCosYaw = negSinPitch * cosYaw; + temp_f14 = 1.0f - cosNegRoll; + cosPitchSinYaw = cosPitch * sinYaw; + sp54 = SQ(cosPitchSinYaw); + sp4C = (cosPitchSinYaw * sinPitch) * (0, temp_f14); + cosPitchcosYaw = cosPitch * cosYaw; + temp_f4_2 = ((1.0f - sp54) * cosNegRoll) + sp54; + cosPitchCosYawSinRoll = cosPitchcosYaw * sinNegRoll; + temp_f6 = (cosPitchcosYaw * cosPitchSinYaw) * (0, temp_f14); + temp_f10_2 = sinPitch * sinNegRoll; + spA4.x = ((negSinPitchSinYaw * temp_f4_2) + (cosPitch * (sp4C - cosPitchCosYawSinRoll))) + + (negSinPitchCosYaw * (temp_f6 + temp_f10_2)); + sp54 = SQ(sinPitch); + temp_f4_2 = (sinPitch * cosPitchcosYaw) * (0, temp_f14); + temp_f8_3 = cosPitchSinYaw * sinNegRoll; + temp_f8 = sp4C + cosPitchCosYawSinRoll; + spA4.y = ((negSinPitchSinYaw * temp_f8) + (cosPitch * (((1.0f - sp54) * cosNegRoll) + sp54))) + + (negSinPitchCosYaw * (temp_f4_2 - temp_f8_3)); + temp_f8_2 = temp_f6 - temp_f10_2; + spA4.z = ((negSinPitchSinYaw * temp_f8_2) + (cosPitch * (temp_f4_2 + temp_f8_3))) + + (negSinPitchCosYaw * (((1.0f - SQ(cosPitchcosYaw)) * cosNegRoll) + SQ(cosPitchcosYaw))); + *dest = spA4; return dest; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B3BD4.s") +char* DbCamera_SetTextValue(s16 value, char* str, u8 endIdx) { + char* strIter; + char sign; -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B3DF8.s") + strIter = str + (s32)endIdx - 1; + str[endIdx] = '\0'; -void func_800B3EBC(Vec3s* src, Vec3f* dest) { - dest->x = src->x; - dest->y = src->y; - dest->z = src->z; + if (value >= 0) { + sign = ' '; + } else { + sign = '-'; + value = -value; + } + + do { + + // clang-format off + *strIter-- = (value % 10) + '0'; value /= 10; + // clang-format on + + } while (value != 0); + + if (sign == '-') { + *strIter-- = sign; + } + + while (strIter >= str) { + *str++ = ' '; + } + + return strIter; } -void func_800B3EFC(Vec3f* src, Vec3s* dest) { - dest->x = src->x; - dest->y = src->y; - dest->z = src->z; +void DbCamera_Vec3SToF(Vec3s* in, Vec3f* out) { + out->x = in->x; + out->y = in->y; + out->z = in->z; } -void func_800B3F38(Vec3f* src, Vec3f* dest) { - dest->x = src->x; - dest->y = src->y; - dest->z = src->z; +void DbCamera_Vec3FToS(Vec3f* in, Vec3s* out) { + out->x = in->x; + out->y = in->y; + out->z = in->z; } -void func_800B3F54(Vec3s* src, Vec3f* dest) { - dest->x = src->x; - dest->y = src->y; - dest->z = src->z; +void DbCamera_CopyVec3f(Vec3f* in, Vec3f* out) { + out->x = in->x; + out->y = in->y; + out->z = in->z; } -void func_800B3F94(PosRot* arg0, Vec3f* arg1, Vec3s* arg2) { - VecSph sp28; - Vec3f sp1C; - - OLib_Vec3fDiffToVecSphGeo(&sp28, &arg0->pos, arg1); - sp28.yaw -= arg0->rot.y; - OLib_VecSphGeoToVec3f((Vec3f*)&sp1C, &sp28); - func_800B3EFC(&sp1C, arg2); +void DbCamera_Vec3SToF2(Vec3s* in, Vec3f* out) { + out->x = in->x; + out->y = in->y; + out->z = in->z; } -void func_800B3FF4(PosRot* arg0, Vec3f* arg1, Vec3f* arg2) { - VecSph sp28; - Vec3f sp1C; - - func_800B3F38(arg1, &sp1C); - OLib_Vec3fToVecSphGeo(&sp28, &sp1C); - sp28.yaw += arg0->rot.y; - func_800B3B50(arg2, &arg0->pos, &sp28); +void func_800B3F94(PosRot* posRot, Vec3f* vec, Vec3s* out) { + VecSph sph; + Vec3f tempVec; + OLib_Vec3fDiffToVecSphGeo(&sph, &posRot->pos, vec); + sph.yaw -= posRot->rot.y; + OLib_VecSphGeoToVec3f(&tempVec, &sph); + DbCamera_Vec3FToS(&tempVec, out); } -void func_800B404C(s32 arg0, Vec3s* arg1, Vec3f* arg2) { - Vec3f sp1C; - - func_800B3EBC(arg1, &sp1C); - func_800B3FF4(arg0, &sp1C, arg2); +void func_800B3FF4(PosRot* posRot, Vec3f* vec, Vec3f* out) { + VecSph sph; + Vec3f tempVec; + DbCamera_CopyVec3f(vec, &tempVec); + OLib_Vec3fToVecSphGeo(&sph, &tempVec); + sph.yaw += posRot->rot.y; + DbCamera_AddVecSph(out, &posRot->pos, &sph); } -void func_800B4088(DBCamera* dbCamera, Camera* camera); -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4088.s") +void func_800B404C(PosRot* posRot, Vec3s* vec, Vec3f* out) { + Vec3f tempVec; + DbCamera_Vec3SToF(vec, &tempVec); + func_800B3FF4(posRot, &tempVec, out); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B41DC.s") - -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B42C0.s") - -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4370.s") - -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B44E0.s") - -/** - * Prints individual csSlot point information - */ -void func_800B4920(char* varName, s16 pointCnt, CutsceneCameraPoint* csPoints) { +s32 func_800B4088(DbCamera* dbCamera, Camera* cam) { + CutsceneCameraPoint* position; + CutsceneCameraPoint* lookAt; s32 i; - CutsceneCameraPoint* csPoint; - osSyncPrintf("@@@static SplinedatZ %s[] = {\n", varName); - for (i = 0, csPoint = csPoints; i < pointCnt; i++, csPoint++) { + position = &dbCamera->sub.position[dbCamera->sub.unkIdx]; + lookAt = &dbCamera->sub.lookAt[dbCamera->sub.unkIdx]; + + position->continueFlag = -1; + lookAt->continueFlag = position->continueFlag; + position->nextPointFrame = 0; + lookAt->nextPointFrame = 30; + lookAt->cameraRoll = position->cameraRoll = dbCamera->roll * (360.0f / 256.0f); + lookAt->viewAngle = position->viewAngle = dbCamera->fov; + + if (dbCamera->sub.mode != 1) { + DbCamera_Vec3FToS(&dbCamera->eye, &position->pos); + DbCamera_Vec3FToS(&dbCamera->at, &lookAt->pos); + } else { + func_800B3F94(&cam->playerPosRot, &dbCamera->at, &lookAt->pos); + func_800B3F94(&cam->playerPosRot, &dbCamera->eye, &position->pos); + } + + for (i = 0; i < (dbCamera->sub.nPoints - 2); i++) { + dbCamera->sub.position[i].continueFlag = dbCamera->sub.lookAt[i].continueFlag = 0; + } + + dbCamera->sub.position[i].continueFlag = dbCamera->sub.lookAt[i].continueFlag = -1; + + return dbCamera->sub.unkIdx; +} + +s16 func_800B41DC(DbCamera* dbCamera, s16 idx, Camera* cameraPtr) { + CutsceneCameraPoint* position = &dbCamera->sub.position[idx]; + CutsceneCameraPoint* lookAt = &dbCamera->sub.lookAt[idx]; + + if (dbCamera->sub.mode != 1) { + DbCamera_Vec3SToF2(&position->pos, &dbCamera->eye); + DbCamera_Vec3SToF2(&lookAt->pos, &dbCamera->at); + } else { + func_800B404C(&cameraPtr->playerPosRot, &lookAt->pos, &dbCamera->at); + func_800B404C(&cameraPtr->playerPosRot, &position->pos, &dbCamera->eye); + } + + dbCamera->roll = lookAt->cameraRoll; + dbCamera->rollDegrees = dbCamera->roll * (360.0f / 256.0f); + dbCamera->fov = lookAt->viewAngle; + return idx; +} + +s32 func_800B42C0(DbCamera* dbCamera, Camera* cameraPtr) { + + CutsceneCameraPoint* position = &dbCamera->sub.position[dbCamera->sub.unkIdx]; + CutsceneCameraPoint* lookAt = &dbCamera->sub.lookAt[dbCamera->sub.unkIdx]; + + position->continueFlag = lookAt->continueFlag = 0; + + if (dbCamera->sub.mode != 1) { + DbCamera_Vec3FToS(&dbCamera->eye, &position->pos); + DbCamera_Vec3FToS(&dbCamera->at, &lookAt->pos); + } else { + func_800B3F94(&cameraPtr->playerPosRot, &dbCamera->at, &lookAt->pos); + func_800B3F94(&cameraPtr->playerPosRot, &dbCamera->eye, &position->pos); + } + + return dbCamera->sub.unkIdx; +} + +s32 func_800B4370(DbCamera* dbCamera, s16 idx, Camera* cam) { + CutsceneCameraPoint* lookAt = &dbCamera->sub.lookAt[idx]; + CutsceneCameraPoint* position = &dbCamera->sub.position[idx]; + VecSph sph; + Vec3f at; + + if (dbCamera->sub.mode != 1) { + if (dbCamera->sub.unk_0C) { + DbCamera_Vec3SToF2(&position->pos, &dbCamera->at); + } else { + DbCamera_Vec3SToF2(&lookAt->pos, &dbCamera->at); + } + } else { + if (dbCamera->sub.unk_0C) { + func_800B404C(&cam->playerPosRot, &position->pos, &at); + } else { + func_800B404C(&cam->playerPosRot, &lookAt->pos, &at); + } + dbCamera->at = at; + } + sph.pitch = 0x2000; + sph.yaw -= 0x7FFF; + sph.r = 250.0f; + DbCamera_AddVecSph(&dbCamera->eye, &dbCamera->at, &sph); + dbCamera->roll = lookAt->cameraRoll; + dbCamera->rollDegrees = dbCamera->roll * (360.0f / 256.0f); + dbCamera->fov = lookAt->viewAngle; + return idx; +} + +void func_800B44E0(DbCamera* dbCamera, Camera* cam) { + s32 i; + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CRIGHT)) { + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_0A = 1; + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.unk_04 = 0; + + for (i = 0; i < (dbCamera->sub.nPoints - 2); i++) { + dbCamera->sub.position[i].continueFlag = dbCamera->sub.lookAt[i].continueFlag = 0; + } + + dbCamera->sub.position[i].continueFlag = dbCamera->sub.lookAt[i].continueFlag = -1; + } + + if (dbCamera->sub.nPoints < 6) { + if (sDbCamAnim.unk_0A != 0) { + Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + sDbCamAnim.unk_0A = 0; + } + func_8006376C(0x11, 0x17, 3, D_8012CEE0[0]); + func_8006376C(0x12, 0x18, 3, D_8012CEE4); + func_8006376C(0x10, 0x1A, 1, D_8012CEE8); + return; + } + + if (!func_800BB2B4(&sDbCamAnim.positionPos, &sDbCamAnim.roll, &sDbCamAnim.fov, dbCamera->sub.position, + &sDbCamAnim.keyframe, &sDbCamAnim.curFrame) && + !func_800BB2B4(&sDbCamAnim.lookAtPos, &sDbCamAnim.roll, &sDbCamAnim.fov, dbCamera->sub.lookAt, + &sDbCamAnim.keyframe, &sDbCamAnim.curFrame) && + sDbCamAnim.unk_0A == 1) { + Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + sDbCamAnim.unk_04++; + + if (dbCamera->sub.nFrames > 0 && dbCamera->sub.nFrames < sDbCamAnim.unk_04) { + sDbCamAnim.unk_0A = 0; + func_8006376C(0xF, 0x1A, 1, D_8012CEEC); + } + + if (dbCamera->sub.mode != 1) { + DbCamera_CopyVec3f(&sDbCamAnim.positionPos, &dbCamera->eye); + DbCamera_CopyVec3f(&sDbCamAnim.lookAtPos, &dbCamera->at); + } else { + func_800B3FF4(&cam->playerPosRot, &sDbCamAnim.lookAtPos, &dbCamera->at); + func_800B3FF4(&cam->playerPosRot, &sDbCamAnim.positionPos, &dbCamera->eye); + } + + dbCamera->fov = sDbCamAnim.fov; + dbCamera->roll = sDbCamAnim.roll; + dbCamera->rollDegrees = sDbCamAnim.roll * (360.0f / 256.0f); + + DbCamera_SetTextValue(sDbCamAnim.unk_04, D_8012CFB4 + 8, 4); + func_8006376C(0x10, 0x17, 3, D_8012CFB4); + D_8012CFC4[5] = ((sDbCamAnim.keyframe + 1) / 10) + '0'; + D_8012CFC4[6] = ((sDbCamAnim.keyframe + 1) % 10) + '0'; + D_8012CFC4[8] = ((dbCamera->sub.nPoints - 5) / 10) + '0'; + D_8012CFC4[9] = ((dbCamera->sub.nPoints - 5) % 10) + '0'; + func_8006376C(0x10, 0x18, 3, D_8012CFC4); + func_8006376C(0x10, 0x1A, 1, D_8012CEF0); + return; + } + + sDbCamAnim.unk_0A = 0; + func_8006376C(0xF, 0x1A, 1, D_8012CEEC); +} + +void DbCamera_PrintPoints(const char* name, s16 count, CutsceneCameraPoint* points) { + s32 i; + + osSyncPrintf("@@@static SplinedatZ %s[] = {\n", name); + for (i = 0; i < count; i++) { osSyncPrintf("@@@ /* key frame %2d */ {\n", i); - osSyncPrintf("@@@ /* code */ %d,\n", csPoint->continueFlag); - osSyncPrintf("@@@ /* z */ %d,\n", csPoint->cameraRoll); - osSyncPrintf("@@@ /* T */ %d,\n", csPoint->nextPointFrame); - osSyncPrintf("@@@ /* zoom */ %f,\n", csPoint->viewAngle); - osSyncPrintf("@@@ /* pos */ { %d, %d, %d }\n", csPoint->pos.x, csPoint->pos.y, csPoint->pos.z); + osSyncPrintf("@@@ /* code */ %d,\n", points[i].continueFlag); + osSyncPrintf("@@@ /* z */ %d,\n", points[i].cameraRoll); + osSyncPrintf("@@@ /* T */ %d,\n", points[i].nextPointFrame); + osSyncPrintf("@@@ /* zoom */ %f,\n", points[i].viewAngle); + osSyncPrintf("@@@ /* pos */ { %d, %d, %d }\n", points[i].pos.x, points[i].pos.y, points[i].pos.z); osSyncPrintf("@@@ },\n"); } osSyncPrintf("@@@};\n@@@\n"); } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4A68.s") +void DbCamera_PrintF32Bytes(f32 value) { + f32 b = value; + char* a = (char*)&b; + osSyncPrintf("\n@@@%d,%d,%d,%d,", a[0], a[1], a[2], a[3]); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4AA8.s") +void DbCamera_PrintU16Bytes(u16 value) { + u16 pad; + u16 b = value; + char* a = (char*)&b; + osSyncPrintf("\n@@@%d,%d,", a[0], a[1]); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4AE4.s") +void DbCamera_PrintS16Bytes(s16 value) { + u16 pad; + s16 b = value; + char* a = (char*)&b; + osSyncPrintf("\n@@@%d,%d,", a[0], a[1]); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B4B20.s") +void DbCamera_PrintCutBytes(DbCameraCut* cut) { + CutsceneCameraPoint* point; + CutsceneCameraPoint* points; + s32 i; -void DbgCamera_Init(DBCamera* dbCamera, Camera* camera) { - dbCamera->unk_10C6.x = dbCamera->unk_10C6.y = dbCamera->unk_10C6.z = 0; + points = cut->lookAt; + osSyncPrintf("\n@@@ 0,0,0,2,\t/* Look Camera\t*/"); + osSyncPrintf("\n@@@ 0,1,\t/* dousa\t*/"); + + osSyncPrintf("\n@@@ 0,0,\t/* Start Flame\t*/"); + DbCamera_PrintU16Bytes(cut->nFrames); + osSyncPrintf("\t/* End Flame\t*/"); + + osSyncPrintf("\n@@@0,0,\t/* Dammy\t*/\n@@@ "); + for (i = 0; i < cut->nPoints; i++) { + point = points + i; + osSyncPrintf("\n@@@ %d, /* code */", point->continueFlag); + osSyncPrintf("\n@@@ %d, /* z */", point->cameraRoll); + DbCamera_PrintU16Bytes(point->nextPointFrame); + osSyncPrintf("\t/* sokudo\t*/"); + DbCamera_PrintF32Bytes(point->viewAngle); + osSyncPrintf("\t/* zoom\t*/"); + DbCamera_PrintS16Bytes(point->pos.x); + osSyncPrintf("\t/* x pos\t*/"); + DbCamera_PrintS16Bytes(point->pos.y); + osSyncPrintf("\t/* y pos\t*/"); + DbCamera_PrintS16Bytes(point->pos.z); + osSyncPrintf("\t/* z pos\t*/\n"); + osSyncPrintf("\n@@@0,0,\t/* Dammy\t*/\n@@@ "); + } + + points = cut->position; + osSyncPrintf("\n@@@ 0,0,0,1,\t/* Position Camera */"); + osSyncPrintf("\n@@@ 0,1,\t/* dousa\t*/"); + + osSyncPrintf("\n@@@ 0,0,\t/* Start Flame\t*/"); + DbCamera_PrintU16Bytes(cut->nFrames); + osSyncPrintf("\t/* End Flame\t*/"); + + osSyncPrintf("\n@@@0,0,\t/* Dammy\t*/\n@@@ "); + for (i = 0; i < cut->nPoints; i++) { + point = points + i; + osSyncPrintf("\n@@@ %d, /* code */", point->continueFlag); + osSyncPrintf("\n@@@ %d, /* z */", point->cameraRoll); + DbCamera_PrintU16Bytes(point->nextPointFrame); + osSyncPrintf("\t/* sokudo\t*/"); + DbCamera_PrintF32Bytes(point->viewAngle); + osSyncPrintf("\t/* zoom\t*/"); + DbCamera_PrintS16Bytes(point->pos.x); + osSyncPrintf("\t/* x pos\t*/"); + DbCamera_PrintS16Bytes(point->pos.y); + osSyncPrintf("\t/* y pos\t*/"); + DbCamera_PrintS16Bytes(point->pos.z); + osSyncPrintf("\t/* z pos\t*/"); + osSyncPrintf("\n@@@0,0,\t/* Dammy\t*/\n@@@ "); + } +} + +void DbCamera_Init(DbCamera* dbCamera, Camera* cameraPtr) { + dbCamera->sub.unk_104A.z = 0; dbCamera->unk_44 = 0; dbCamera->unk_00 = 0; dbCamera->unk_34 = 0; - dbCamera->unk_3C = 0; + dbCamera->unk_3C = false; dbCamera->unk_38 = -1; dbCamera->unk_40 = -1; - dbCamera->unk_4C = 0; + dbCamera->roll = 0; + dbCamera->sub.unk_104A.y = dbCamera->sub.unk_104A.z; + dbCamera->sub.unk_104A.x = dbCamera->sub.unk_104A.z; dbCamera->fov = 0.0f; - dbCamera->unk_50 = 0.0f; - D_80161100 = camera->globalCtx; - dbCamera->unk_7C = 0; - dbCamera->unk_7E = -1; - dbCamera->unk_80 = 1; - dbCamera->unk_82 = 0; - dbCamera->unk_84 = 0; - dbCamera->unk_86 = 0; + dbCamera->rollDegrees = 0.0f; + sGlobalCtx = cameraPtr->globalCtx; + dbCamera->sub.mode = 0; + dbCamera->sub.nFrames = -1; + dbCamera->sub.nPoints = 1; + dbCamera->sub.unkIdx = 0; + dbCamera->sub.unk_08 = 0; + dbCamera->sub.unk_0A = 0; dbCamera->unk_78 = 0; dbCamera->unk_7A = 0; - dbCamera->unk_10C0.x = 0; - dbCamera->unk_10C0.y = 0; - dbCamera->unk_10C0.z = 0; - dbCamera->unk_6C = dbCamera->unk_70 = dbCamera->unk_74 = 0; + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO); + dbCamera->sub.demoCtrlActionIdx = ACTION_E; + dbCamera->sub.demoCtrlToggleSwitch = 0; + dbCamera->unk_6C.x = 0; + dbCamera->unk_6C.y = 0; + dbCamera->unk_6C.z = 0; } -void DbgCamera_Enable(DBCamera* dbCamera, Camera* camera) { - dbCamera->at = camera->at; - dbCamera->eye = camera->eye; - dbCamera->up = camera->up; - dbCamera->fov = camera->fov; - dbCamera->unk_4C = 0; - dbCamera->unk_80 = 1; - dbCamera->unk_82 = 0; - dbCamera->unk_84 = 0; - dbCamera->unk_86 = 1; - dbCamera->unk_88 = 1; - dbCamera->unk_78 = 0; - dbCamera->unk_7A = 0; - dbCamera->unk_50 = 0.0f; - func_800B4088(dbCamera, camera); +s32 DbgCamera_Enable(DbCamera* this, Camera* cam) { + this->at = cam->at; + this->eye = cam->eye; + this->unk_1C = cam->up; + this->fov = cam->fov; + this->roll = 0; + this->sub.nPoints = 1; + this->sub.unkIdx = 0; + this->sub.unk_08 = 0; + this->sub.unk_0A = 1; + this->sub.unk_0C = 1; + this->unk_78 = 0; + this->unk_7A = 0; + this->rollDegrees = 0.0f; + return func_800B4088(this, cam); } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/DbgCamera_Update.s") +#ifdef NON_EQUIVALENT +void DbCamera_Update(DbCamera* dbCamera, Camera* cam) { + // temp_s3 = &cam->eye; (could be useful for stack pointers) + Vec3f* sp124; + s8 sp111; + s8 sp110; + VecSph sp104; + VecSph spFC; + VecSph spF4; + Vec3f spD8; + Vec3f spB8; + Vec3f spAC; + s16 spAA; + VecSph spA0; + Vec3f* sp90; + Vec3f* sp80; + Vec3f* sp7C; + s32 i; -s32 func_800B8730(void) { - s32 temp_v1; - void* phi_v0; - s32 phi_v1; + PosRot* temp_s6; + Vec3f* temp_s1; + Vec3f* temp_s4; - for (phi_v1 = 0; phi_v1 < 0x1A; phi_v1++) { - if (D_801612D0[phi_v1] != 'O') { - return phi_v1 + 'A'; + f32 temp_f0_5; + f32 temp_f0_6; + f32 temp_f2; + f32 temp_f2_2; + s16 temp_v0_11; + + Vec3f* phi_s0; + Vec3f* phi_s0_2; + + sp90 = &dbCamera->unk_54; + temp_s6 = &cam->playerPosRot; + temp_s4 = &cam->at; + temp_s1 = &dbCamera->unk_60; + *sp90 = temp_s6->pos; + *temp_s1 = *temp_s4; + sp7C = &dbCamera->at; + sp80 = &dbCamera->eye; + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_Z)) { + dbCamera->unk_00++; + dbCamera->unk_00 %= 3; + dbCamera->unk_38 = 1; + dbCamera->unk_44 = 0; + dbCamera->unk_40 = -1; + dbCamera->sub.demoCtrlActionIdx = 0; + sDbCamAnim.unk_0A = 0; + Audio_PlaySoundGeneral(NA_SE_SY_LOCK_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (dbCamera->unk_38 == -1) { + dbCamera->unk_38 = 1; + } else { + dbCamera->unk_38 = 0; + } + + switch (dbCamera->unk_00) { + case 0: + switch (dbCamera->unk_78) { + case 0: + D_80161144 = false; + D_80161140 = false; + sp124 = temp_s1; + break; + case 1: + D_80161144 = false; + D_80161140 = false; + sp124 = &dbCamera->unk_6C; + break; + case 2: + D_80161144 = false; + D_80161140 = true; + sp124 = sp90; + break; + } + break; + case 1: + switch (dbCamera->sub.unk_08) { + case 0: + D_80161144 = dbCamera->sub.unk_0C; + if (D_80161144) { + phi_s0_2 = sp80; + } else { + phi_s0_2 = sp7C; + } + D_80161140 = false; + sp124 = phi_s0_2; + break; + case 1: + D_80161144 = dbCamera->sub.unk_0C; + if (D_80161144) { + phi_s0 = sp80; + } else { + phi_s0 = sp7C; + } + D_80161140 = false; + sp124 = phi_s0; + break; + case 2: + D_80161144 = false; + D_80161140 = true; + sp124 = sp7C; + break; + } + break; + case 2: + DbCamera_UpdateDemoControl(dbCamera, cam); + return; + default: + break; + } + + if (!D_80161144) { + OLib_Vec3fDiffToVecSphGeo(&sp104, sp7C, sp80); + } else { + OLib_Vec3fDiffToVecSphGeo(&sp104, sp80, sp7C); + } + + if (dbCamera->unk_44 > 0x64) { + dbCamera->unk_44 = 0x64; + } + + temp_f2 = ((dbCamera->unk_44 * 0.15f) + 0.2f); + temp_f2 *= (sp104.r / 100.0f); + if ((dbCamera->unk_38 != 0) || dbCamera->unk_3C) { + if (D_80161144) { + *sp80 = *sp124; + } else { + *sp7C = *sp124; + } + + dbCamera->unk_3C = D_80161140; + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_B | BTN_L)) { + sp104.r += temp_f2; + + if (sp104.r > 30000.0f) { + sp104.r = 30000.0f; + } + + if (dbCamera->unk_40 == 7) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + + dbCamera->unk_40 = 7; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_B)) { + spFC = sp104; + spFC.r = temp_f2; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.pitch = -spFC.pitch; + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 0xB) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 0xB; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_A | BTN_L)) { + sp104.r -= temp_f2; + if (sp104.r < 10.0f) { + sp104.r = 10.0f; + } + if (dbCamera->unk_40 == 8) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 8; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_A)) { + spFC = sp104; + spFC.r = -temp_f2; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.pitch = -spFC.pitch; + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 0xC) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 0xC; + } else { + dbCamera->unk_44 = 0; + dbCamera->unk_40 = -1; + } + + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DDOWN | BTN_L)) { + spFC = sp104; + spFC.r = temp_f2; + spFC.pitch = 0; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + + if (dbCamera->unk_40 == 1) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 1; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DUP | BTN_L)) { + spFC = sp104; + spFC.r = -temp_f2; + spFC.pitch = 0; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + // if (1) {} // TODO: Is needed? (helps) + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 2) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 2; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DUP)) { + spFC = sp104; + spFC.r = temp_f2; + spFC.pitch = 0x3FFF; + spFC.yaw = sp104.yaw; + if (!D_80161144) { + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 3) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 3; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DDOWN)) { + spFC = sp104; + spFC.r = temp_f2; + spFC.pitch = -0x3FFF; + spFC.yaw = sp104.yaw; + if (!D_80161144) { + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 4) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 4; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, (BTN_DRIGHT | BTN_L)) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DRIGHT)) { + spFC = sp104; + spFC.r = temp_f2; + spFC.pitch = 0; + if (!D_80161144) { + spFC.yaw = sp104.yaw + 0x3FFF; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.yaw = sp104.yaw - 0x3FFF; + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 5) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 5; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, (BTN_DLEFT | BTN_L)) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DLEFT)) { + spFC = sp104; + spFC.r = temp_f2; + spFC.pitch = 0; + if (!D_80161144) { + spFC.yaw = sp104.yaw - 0x3FFF; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.yaw = sp104.yaw + 0x3FFF; + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 6) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 6; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_B | BTN_L)) { + sp104.r = sp104.r + temp_f2; + if (sp104.r > 30000.0f) { + sp104.r = 30000.0f; + } + if (dbCamera->unk_40 == 7) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 7; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_B)) { + spFC = sp104; + spFC.r = temp_f2; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.pitch = -spFC.pitch; + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 0xB) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 0xB; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_A | BTN_L)) { + + sp104.r -= temp_f2; + if (sp104.r < 10.0f) { + sp104.r = 10.0f; + } + if (dbCamera->unk_40 == 8) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 8; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_A)) { + spFC = sp104; + spFC.r = -temp_f2; + if (!D_80161144) { + spFC.yaw = sp104.yaw; + DbCamera_AddVecSph(sp7C, sp7C, &spFC); + } else { + spFC.pitch = -spFC.pitch; + spFC.yaw = BINANG_ROT180(sp104.yaw); + DbCamera_AddVecSph(sp80, sp80, &spFC); + } + if (dbCamera->unk_40 == 0xC) { + dbCamera->unk_44++; + } else { + dbCamera->unk_44 = 0; + } + dbCamera->unk_40 = 0xC; + } else { + dbCamera->unk_44 = 0; + dbCamera->unk_40 = -1; + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_R)) { + if (dbCamera->unk_00 == 0) { + dbCamera->sub.unk_104A = cam->inputDir; + *sp7C = *temp_s4; + *sp80 = cam->eye; + dbCamera->unk_1C.x = 0.0f; + dbCamera->unk_1C.z = 0.0f; + dbCamera->unk_1C.y = 1.0f; + } else if (dbCamera->sub.unk_08 == 2) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.unk_08 = 0; + func_800B41DC(dbCamera, dbCamera->sub.unkIdx, cam); + } else { + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_R) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.nPoints = dbCamera->sub.unkIdx + 1; + func_800B4088(dbCamera, cam); + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_R)) { + if (dbCamera->sub.unkIdx == 0x80) { + Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_PUTAWAY, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + func_800B42C0(dbCamera, cam); + if (dbCamera->sub.nPoints == (dbCamera->sub.unkIdx + 1)) { + dbCamera->sub.unkIdx++; // TODO: += 2 is nonequivalent but helps? + dbCamera->sub.nPoints++; + func_800B4088(dbCamera, cam); + } + } + } + } + } else { + temp_f0_5 = sGlobalCtx->state.input[2].rel.stick_y; + temp_f2_2 = sGlobalCtx->state.input[2].rel.stick_x; + if (!D_80161144) { + sp104.pitch += (temp_f0_5 >= 0.0f) ? (s16)(((SQ(temp_f0_5) / 600.0f) * 0.8f * 182.04167f) + .5f) + : -(s16)((((SQ(temp_f0_5) / 600.0f) * 0.8f * 182.04167f) + .5f)); + sp104.yaw += (temp_f2_2 >= 0.0f) ? (s16)(((SQ(temp_f2_2) / 600.0f) * 0.8f * 182.04167f) + .5f) + : -(s16)(((SQ(temp_f2_2) / 600.0f) * 0.8f * 182.04167f) + .5f); + DbCamera_AddVecSph(sp80, sp7C, &sp104); + dbCamera->sub.unk_104A.x = -sp104.pitch; + dbCamera->sub.unk_104A.y = BINANG_ROT180(sp104.yaw); + } else { + sp104.pitch += (temp_f0_5 >= 0.0f) ? -(s16)(((SQ(temp_f0_5) / 600.0f) * 0.8f * 182.04167f) + .5f) + : (s16)(((SQ(temp_f0_5) / 600.0f) * 0.8f * 182.04167f) + .5f); + sp104.yaw += (temp_f2_2 >= 0.0f) ? -(s16)(((SQ(temp_f2_2) / 600.0f) * 0.8f * 182.04167f) + .5f) + : (s16)(((SQ(temp_f2_2) / 600.0f) * 0.8f * 182.04167f) + .5f); + DbCamera_AddVecSph(sp7C, sp80, &sp104); + dbCamera->sub.unk_104A.x = sp104.pitch; + dbCamera->sub.unk_104A.y = sp104.yaw; + } + + OLib_Vec3fDiffToVecSphGeo(&spF4, sp80, sp7C); + DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, spF4.pitch, spF4.yaw, + (dbCamera->rollDegrees * 182.04167f) + .5f); + if (dbCamera->unk_00 == 1) { + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_CRIGHT)) { + cam->inputDir = dbCamera->sub.unk_104A; + // cam->inputDir.z = dbCamera->sub.unk_104E; + temp_f0_6 = OLib_Vec3fDist(temp_s4, &cam->eye); + *temp_s4 = *sp7C; + spFC = sp104; + spFC.r = temp_f0_6; + DbCamera_AddVecSph(&cam->eye, temp_s4, &spFC); + // if (D_8012CEE0) {} // TODO: Is needed? + } } } + + if (dbCamera->unk_00 == 1) { + gGameInfo->data[192] = 8; + func_8006376C(0xC, 5, 0, D_8012CEF4); + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_CRIGHT) && + !CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + func_800B44E0(dbCamera, cam); + } else { + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CRIGHT) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + Audio_PlaySoundGeneral(NA_SE_SY_GET_RUPY, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + osSyncPrintf("@@@\n@@@\n@@@/* *** spline point data ** start here *** */\n@@@\n"); + DbCamera_PrintPoints("Lookat", dbCamera->sub.nPoints, dbCamera->sub.lookAt); + DbCamera_PrintPoints("Position", dbCamera->sub.nPoints, dbCamera->sub.position); + osSyncPrintf("@@@static short nPoints = %d;\n@@@\n", dbCamera->sub.nPoints); + osSyncPrintf("@@@static short nFrames = %d;\n@@@\n", dbCamera->sub.nFrames); + osSyncPrintf("@@@static short Mode = %d;\n@@@\n", dbCamera->sub.mode); + osSyncPrintf("@@@\n@@@\n@@@/* *** spline point data ** finish! *** */\n@@@\n"); + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.unk_08 = (dbCamera->sub.unk_08 + 1) % 3; + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CUP) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + if (dbCamera->sub.unkIdx > 0) { + dbCamera->sub.unkIdx--; + } else { + dbCamera->sub.unkIdx = dbCamera->sub.nPoints - 1; + } + } else { + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CUP)) { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (dbCamera->sub.unkIdx > 0) { + dbCamera->sub.unkIdx--; + } else { + dbCamera->sub.unkIdx = dbCamera->sub.nPoints - 1; + } + if ((dbCamera->sub.unk_08 == 2) && (dbCamera->sub.nPoints != (dbCamera->sub.unkIdx + 1))) { + func_800B4370(dbCamera, dbCamera->sub.unkIdx, cam); // TODO: Missing s16 cast (+ 0 works?) + dbCamera->roll = 0; + dbCamera->fov = 60.0f; + dbCamera->rollDegrees = 0; + } else { + func_800B41DC(dbCamera, dbCamera->sub.unkIdx, cam); + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + dbCamera->rollDegrees = dbCamera->roll * 1.40625f; + } + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CDOWN)) { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + if (dbCamera->sub.unkIdx < (dbCamera->sub.nPoints - 1)) { + dbCamera->sub.unkIdx++; + } else { + dbCamera->sub.unkIdx = 0; + } + } else { + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CDOWN)) { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (dbCamera->sub.unkIdx < (dbCamera->sub.nPoints - 1)) { + dbCamera->sub.unkIdx++; + } else { + dbCamera->sub.unkIdx = 0; + } + + if ((dbCamera->sub.unk_08 == 2) && (dbCamera->sub.nPoints != (dbCamera->sub.unkIdx + 1))) { + func_800B4370(dbCamera, dbCamera->sub.unkIdx, cam); // TODO: Missing s16 cast (+ 0 works?) + dbCamera->roll = 0; + dbCamera->fov = 60.0f; + dbCamera->rollDegrees = 0; + } else { + func_800B41DC(dbCamera, dbCamera->sub.unkIdx, cam); + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + dbCamera->rollDegrees = dbCamera->roll * 1.40625f; + } + } + } + + func_8006376C(0xA, 6, (dbCamera->sub.unk_08 == 0) ? 7 : 4, D_8012D00C); + func_8006376C(0x11, 6, (dbCamera->sub.unk_08 == 1) ? 7 : 4, D_8012D020); + func_8006376C(0x17, 6, (dbCamera->sub.unk_08 == 2) ? 7 : 4, D_8012D034); + if (dbCamera->sub.unkIdx == 0x80) { + func_8006376C(0x10, 0x1A, 1, D_8012CEF8[0]); + } else if (dbCamera->sub.nPoints == (dbCamera->sub.unkIdx + 1)) { + D_8012CEE0[28][10] = (dbCamera->sub.nPoints / 0xA) + 0x30; + D_8012CEE0[28][11] = (dbCamera->sub.nPoints % 0xA) + 0x30; + func_8006376C(0xF, 0x1A, 1, D_8012CEE0[28]); + } else { + D_8012CEE0[32][10] = ((dbCamera->sub.unkIdx + 1) / 0xA) + + 0x30; // TODO: Using dbCamera->sub.unkIdx is non-equivalent but helps a lot? + D_8012CEE0[32][11] = ((dbCamera->sub.unkIdx + 1) % 0xA) + 0x30; + D_8012CEE0[32][13] = ((dbCamera->sub.nPoints - 1) / 0xA) + 0x30; + D_8012CEE0[32][14] = ((dbCamera->sub.nPoints - 1) % 0xA) + 0x30; + func_8006376C(0xF, 0x1A, 1, D_8012CEE0[32]); + } + + switch (dbCamera->sub.unk_08) { + case 2: + dbCamera->unk_3C = false; + break; + case 0: + dbCamera->unk_3C = false; + if (dbCamera->sub.mode != 1) { + func_8006376C(0xD, 0x18, 3, !D_80161144 ? D_8012CF04 : D_8012CF08); + DbCamera_SetTextValue(sp104.pitch * 0.00549325f, D_8012D0E4 + 0xB, 4); + func_8006376C(0xF, 0x17, 3, D_8012D0E4); + DbCamera_SetTextValue(sp104.yaw * 0.00549325f, D_8012D0F8 + 0xB, 4); + func_8006376C(0xF, 0x18, 3, D_8012D0F8); + DbCamera_SetTextValue(sp104.r, D_8012D0D4 + 8, 6); + func_8006376C(0xF, 0x19, 3, D_8012D0D4); + } else { + func_8006376C(0xE, 0x18, 3, D_8012CF0C); + func_8006376C(0x10, 0x16, 3, D_8012CF10); + sp110 = 0x58; + DbCamera_SetTextValue(temp_s6->pos.x, &sp111, 7); + func_8006376C(0x10, 0x17, 3, &sp110); + sp110 = 0x59; + DbCamera_SetTextValue(temp_s6->pos.y, &sp111, 7); + func_8006376C(0x10, 0x18, 3, &sp110); + sp110 = 0x5A; + DbCamera_SetTextValue(temp_s6->pos.z, &sp111, 7); + func_8006376C(0x10, 0x19, 3, &sp110); + // phi_s2_5 = &sp110; + } + break; + case 1: + dbCamera->unk_3C = true; + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DUP)) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (dbCamera->sub.unk_0A == 0) { + dbCamera->sub.unk_0A = 5; + } else { + dbCamera->sub.unk_0A--; + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DDOWN)) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (dbCamera->sub.unk_0A == 5) { + dbCamera->sub.unk_0A = 0; + } else { + dbCamera->sub.unk_0A++; + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + switch (dbCamera->sub.unk_0A) { + case 1: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].nextPointFrame += -5; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].nextPointFrame += -1; + } + break; + case 3: + dbCamera->sub.mode--; + if (dbCamera->sub.mode == -1) { + dbCamera->sub.mode = 2; + } + if (dbCamera->sub.mode == 1) { + dbCamera->unk_78 = 2; + for (i = 0; i < dbCamera->sub.nPoints; i++) { + DbCamera_Vec3SToF2(&dbCamera->sub.lookAt[i].pos, &spD8); + func_800B3F94(temp_s6, &spD8, &dbCamera->sub.lookAt[i].pos); + DbCamera_Vec3SToF2(&dbCamera->sub.position[i].pos, &spD8); + func_800B3F94(temp_s6, &spD8, &dbCamera->sub.position[i].pos); + } + } else { + for (i = 0; i < dbCamera->sub.nPoints; i++) { + func_800B404C(temp_s6, &dbCamera->sub.lookAt[i].pos, &spD8); + DbCamera_Vec3FToS(&spD8, &dbCamera->sub.lookAt[i].pos); + func_800B404C(temp_s6, &dbCamera->sub.position[i].pos, &spD8); + DbCamera_Vec3FToS(&spD8, &dbCamera->sub.position[i].pos); + } + } + break; + case 4: + dbCamera->sub.unk_0C = false; + break; + case 2: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll -= 5; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll--; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + } + dbCamera->rollDegrees = dbCamera->roll * 1.40625f; + break; + } + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DLEFT)) { + if (((s32)D_8012D10C++ % 5) == 0) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + + switch (dbCamera->sub.unk_0A) { + case 0: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle -= 1.0f; + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle -= 0.2f; + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + } + break; + case 5: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.nFrames += -0xA; + } else { + dbCamera->sub.nFrames += -1; + } + + if (dbCamera->sub.nFrames < -1) { + if (dbCamera->sub.nPoints < 5) { + dbCamera->sub.nFrames = -1; + } else { + dbCamera->sub.nFrames = 0; + for (i = 0; i < dbCamera->sub.nPoints; i++) { + dbCamera->sub.nFrames += dbCamera->sub.lookAt[i].nextPointFrame; + } + dbCamera->sub.nFrames -= + (s16)((dbCamera->sub.nFrames / dbCamera->sub.nPoints) * 5); + } + } + break; + } + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DRIGHT)) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + + switch (dbCamera->sub.unk_0A) { + case 1: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].nextPointFrame += 5; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].nextPointFrame++; + } + break; + case 3: + dbCamera->sub.mode++; + if (dbCamera->sub.mode == 3) { + dbCamera->sub.mode = 0; + } + if (dbCamera->sub.mode == 1) { + dbCamera->unk_78 = 2; + for (i = 0; i < dbCamera->sub.nPoints; i++) { + DbCamera_Vec3SToF2(&dbCamera->sub.lookAt[i].pos, &spD8); + func_800B3F94(temp_s6, &spD8, &dbCamera->sub.lookAt[i].pos); + DbCamera_Vec3SToF2(&dbCamera->sub.position[i].pos, &spD8); + func_800B3F94(temp_s6, &spD8, &dbCamera->sub.position[i].pos); + } + } else { + for (i = 0; i < dbCamera->sub.nPoints; i++) { + func_800B404C(temp_s6, &dbCamera->sub.lookAt[i].pos, &spD8); + DbCamera_Vec3FToS(&spD8, &dbCamera->sub.lookAt[i].pos); + func_800B404C(temp_s6, &dbCamera->sub.position[i].pos, &spD8); + DbCamera_Vec3FToS(&spD8, &dbCamera->sub.position[i].pos); + } + } + case 4: + dbCamera->sub.unk_0C = true; + break; + case 2: + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll += 5; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll++; + dbCamera->roll = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll; + } + dbCamera->rollDegrees = dbCamera->roll * 1.40625f; + break; + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_DRIGHT)) { + // divu instead of fiv + if ((D_8012D10C++ % 5) == 0) { + Audio_PlaySoundGeneral(NA_SE_SY_ATTENTION_ON, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + + switch (dbCamera->sub.unk_0A) { + case 0: + // TODO: Figure out section + // Similar to above case 0: case 5: + // index = dbCamera->sub.unkIdx; + // new_var = &dbCamera->sub.lookAt[dbCamera->sub.unkIdx]; + // if (1) {} // TODO: Is needed? (helps) + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle += 1.0f; + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + } else { + dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle += 0.2f; + dbCamera->fov = dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle; + } + break; + case 5: + temp_v0_11 = dbCamera->sub.nFrames; + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + dbCamera->sub.nFrames = temp_v0_11 + 0xA; + } else { + dbCamera->sub.nFrames = temp_v0_11 + 1; + } + break; + } + } + + DbCamera_SetTextValue(dbCamera->sub.lookAt[dbCamera->sub.unkIdx].viewAngle, &D_8012D05C[10], 3); + func_8006376C(0x10, 0x14, (dbCamera->sub.unk_0A == 0) ? 7 : 4, D_8012D05C); + DbCamera_SetTextValue(dbCamera->sub.lookAt[dbCamera->sub.unkIdx].nextPointFrame, D_8012D070 + 9, 3); + func_8006376C(0x10, 0x15, (dbCamera->sub.unk_0A == 1) ? 7 : 4, D_8012D070); + DbCamera_SetTextValue(dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll, D_8012D084 + 0xA, 3); + func_8006376C(0x10, 0x16, (dbCamera->sub.unk_0A == 2) ? 7 : 4, D_8012D084); + func_8006376C(0xF, 0x17, (dbCamera->sub.unk_0A == 3) ? 7 : 4, + (dbCamera->sub.mode == 1) ? D_8012CF14 + : (dbCamera->sub.mode == 0) ? *D_8012CF18 : D_8012CFB0); + if (dbCamera->sub.unk_0C) { + D_8012D05C[80] = '>'; + } else { + D_8012D05C[80] = '<'; + } + + D_8012D05C[81] = ' '; + D_8012D05C[94] = ' '; + + if (dbCamera->sub.unk_0C) { + D_8012D05C[95] = '>'; + } else { + D_8012D05C[95] = '<'; + } + D_8012D05C[96] = '\0'; + func_8006376C(0xF, 0x18, (dbCamera->sub.unk_0A == 4) ? 7 : 4, D_8012D0AC); + DbCamera_SetTextValue(dbCamera->sub.nFrames, &D_8012D0C0[10], 5); + func_8006376C(0xF, 0x19, (dbCamera->sub.unk_0A == 5) ? 7 : 4, + (dbCamera->sub.nFrames == -1) ? *D_8012CF24 : D_8012D0C0); + break; + } + + if (dbCamera->sub.mode != 1) { + func_8006376C(3, 0x16, + ((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) + ? 7 + : !D_80161144 ? 4 : 3, + D_8012CF30); + sp110 = 0x58; + DbCamera_SetTextValue(dbCamera->at.x, &sp111, 6); + func_8006376C(3, 0x17, 2, &sp110); + sp110 = 0x59; + DbCamera_SetTextValue(dbCamera->at.y, &sp111, 6); + func_8006376C(3, 0x18, 2, &sp110); + sp110 = 0x5A; + DbCamera_SetTextValue(dbCamera->at.z, &sp111, 6); + func_8006376C(3, 0x19, 2, &sp110); + func_8006376C( + 0x1E, 0x16, + ((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3, + D_8012CF34); + sp110 = 0x58; + DbCamera_SetTextValue(dbCamera->eye.x, &sp111, 6); + func_8006376C(0x1E, 0x17, 2, &sp110); + sp110 = 0x59; + DbCamera_SetTextValue(dbCamera->eye.y, &sp111, 6); + func_8006376C(0x1E, 0x18, 2, &sp110); + sp110 = 0x5A; + DbCamera_SetTextValue(dbCamera->eye.z, &sp111, 6); + func_8006376C(0x1E, 0x19, 2, &sp110); + } else { + OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp7C); + spFC.yaw -= cam->playerPosRot.rot.y; + func_8006376C(3, 0x16, + ((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) + ? 7 + : !D_80161144 ? 4 : 3, + D_8012CF30); + DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4); + func_8006376C(3, 0x17, 3, D_8012D0E4); + DbCamera_SetTextValue(spFC.yaw * 0.00549325f, &D_8012D0F8[10], 4); + func_8006376C(3, 0x18, 3, D_8012D0F8); + DbCamera_SetTextValue(spFC.r, &D_8012D0D4[7], 6); + func_8006376C(3, 0x19, 3, D_8012D0D4); + OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp80); + spFC.yaw -= cam->playerPosRot.rot.y; + func_8006376C( + 0x1E, 0x16, + ((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3, + D_8012CF34); + DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4); + func_8006376C(0x1C, 0x17, 3, D_8012D0E4); + DbCamera_SetTextValue(spFC.yaw * 0.00549325f, &D_8012D0F8[10], 4); + func_8006376C(0x1C, 0x18, 3, D_8012D0F8); + DbCamera_SetTextValue(spFC.r, &D_8012D0D4[7], 6); + func_8006376C(0x1C, 0x19, 3, D_8012D0D4); + } + + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 0.02f, 2.0f, 0.02f, + 0xFF, 0xFF, 0x7F, 0x40, 0, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 2.0f, 0.02f, 0.02f, + 0x7F, 0xFF, 0xFF, 0x40, 0, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 0.02f, 0.02f, 2.0f, + 0xFF, 0x7F, 0xFF, 0x40, 0, cam->globalCtx->view.gfxCtx); + if (dbCamera->sub.unk_08 == 2) { + + for (i = 0; i < (dbCamera->sub.nPoints - 1); i++) { + if (dbCamera->sub.mode != 1) { + DbCamera_Vec3SToF2(&dbCamera->sub.position[i].pos, &spAC); + DbCamera_Vec3SToF2(&dbCamera->sub.lookAt[i].pos, &spB8); + } else { + func_800B404C(temp_s6, &dbCamera->sub.lookAt[i].pos, &spB8); + func_800B404C(temp_s6, &dbCamera->sub.position[i].pos, &spAC); + } + OLib_Vec3fDiffToVecSphGeo(&spFC, &spAC, &spB8); + spAA = dbCamera->sub.lookAt[i].cameraRoll * 0xB6; + if (i == dbCamera->sub.unkIdx) { + DebugDisplay_AddObject(spAC.x, spAC.y, spAC.z, spFC.pitch * -1, spFC.yaw, spAA, .5f, .5f, .5f, + 0x7F, 0xFF, 0x7F, 0x80, 5, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(spB8.x, spB8.y, spB8.z, spFC.pitch * -1, spFC.yaw, spAA, 1.5f, 2.0f, + 1.0f, 0x7F, 0xFF, 0x7F, 0x80, 4, cam->globalCtx->view.gfxCtx); + } else { + DebugDisplay_AddObject(spAC.x, spAC.y, spAC.z, spFC.pitch * -1, spFC.yaw, spAA, .5f, .5f, .5f, + 0xFF, 0x7F, 0x7F, 0x80, 5, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(spB8.x, spB8.y, spB8.z, spFC.pitch * -1, spFC.yaw, spAA, 1.5f, 2.0f, + 1.0f, 0xFF, 0x7F, 0x7F, 0x80, 4, cam->globalCtx->view.gfxCtx); + } + } + } + } + } else { + gGameInfo->data[192] = 8; + dbCamera->roll = 0; + dbCamera->fov = 60.0f; + dbCamera->rollDegrees = dbCamera->roll * 1.40625f; + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->unk_78 = (dbCamera->unk_78 + 1) % 3; + dbCamera->unk_38 = -1; + } + + // if (sp7C) {} // TODO: Is needed? (helps) + + func_8006376C(0xE, 5, 0, D_8012CF38); + func_8006376C(9, 6, (dbCamera->unk_78 == 0) ? 7 : 4, D_8012CFD0); + func_8006376C(0x11, 6, (dbCamera->unk_78 == 1) ? 7 : 4, D_8012CFE4); + func_8006376C(0x18, 6, (dbCamera->unk_78 == 2) ? 7 : 4, D_8012CFF8); + func_8006376C(3, 0x16, D_80161144 ? 3 : 4, D_8012CF30); + sp110 = 0x58; + DbCamera_SetTextValue(dbCamera->at.x, &sp111, 6); + func_8006376C(3, 0x17, 2, &sp110); + sp110 = 0x59; + DbCamera_SetTextValue(dbCamera->at.y, &sp111, 6); + func_8006376C(3, 0x18, 2, &sp110); + sp110 = 0x5A; + DbCamera_SetTextValue(dbCamera->at.z, &sp111, 6); + func_8006376C(3, 0x19, 2, &sp110); + func_8006376C(0x1E, 0x16, D_80161144 ? 4 : 3, D_8012CF34); + sp110 = 0x58; + DbCamera_SetTextValue(dbCamera->eye.x, &sp111, 6); + func_8006376C(0x1E, 0x17, 2, &sp110); + sp110 = 0x59; + DbCamera_SetTextValue(dbCamera->eye.y, &sp111, 6); + func_8006376C(0x1E, 0x18, 2, &sp110); + sp110 = 0x5A; + DbCamera_SetTextValue(dbCamera->eye.z, &sp111, 6); + func_8006376C(0x1E, 0x19, 2, &sp110); + func_8006376C(0xD, 0x18, 3, !D_80161144 ? D_8012CF04 : D_8012CF08); + DbCamera_SetTextValue(sp104.pitch * 0.00549325f, D_8012D0E4 + 0xB, 4); + func_8006376C(0xF, 0x17, 3, D_8012D0E4); + DbCamera_SetTextValue(sp104.yaw * 0.00549325f, D_8012D0F8 + 0xB, 4); + func_8006376C(0xF, 0x18, 3, D_8012D0F8); + DbCamera_SetTextValue(sp104.r, D_8012D0D4 + 8, 6); + func_8006376C(0xF, 0x19, 3, D_8012D0D4); + if (dbCamera->unk_3C) { + func_8006376C(0x10, 0x1A, 1, D_8012CF3C); + } else { + func_8006376C(0x10, 0x1A, 1, D_8012CF40); + } + + // TODO: asm issue here + D_8012D110 = (s32)(D_8012D110 + 1) % 50; + + OLib_Vec3fDiffToVecSphGeo(&spA0, &cam->eye, temp_s4); + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 0.02f, 2.0f, 0.02f, 0xFF, + 0xFF, 0x7F, 0x2D, 0, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 2.0f, 0.02f, 0.02f, 0x7F, + 0xFF, 0xFF, 0x2D, 0, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(dbCamera->at.x, dbCamera->at.y + 1.0f, dbCamera->at.z, 0, 0, 0, 0.02f, 0.02f, 2.0f, 0xFF, + 0x7F, 0xFF, 0x2D, 0, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(cam->eye.x, cam->eye.y, cam->eye.z, spA0.pitch * -1, spA0.yaw, 0, .5f, .5f, .5f, 0xFF, + 0x7F, 0x7F, 0x80, 5, cam->globalCtx->view.gfxCtx); + DebugDisplay_AddObject(cam->at.x, cam->at.y, cam->at.z, spA0.pitch * -1, spA0.yaw, 0, 1.5f, 2.0f, 1.0f, 0xFF, + 0x7F, 0x7F, 0x80, 4, cam->globalCtx->view.gfxCtx); + OLib_Vec3fDiffToVecSphGeo(&spA0, &cam->eyeNext, temp_s4); + DebugDisplay_AddObject(cam->eyeNext.x, cam->eyeNext.y, cam->eyeNext.z, spA0.pitch * -1, spA0.yaw, 0, .5f, .5f, + .5f, 0xFF, 0xC0, 0x7F, 0x50, 5, cam->globalCtx->view.gfxCtx); + } +} +#else +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/DbCamera_Update.s") +#endif + +s32 DbCamera_GetFirstAvailableLetter(void) { + s32 i; + for (i = 0; i < ARRAY_COUNT(sLetters); i++) { + switch (sLetters[i]) { + case 'O': + break; + default: + return 'A' + i; + } + } + return '?'; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B87D8.s") +char DbCamera_InitCut(s32 idx, DbCameraSub* sub) { + s32 i; -/** - * Clears a DBCSEditorSlot - */ -void func_800B8978(s32 editorSlot, s32 free) { + sDbCameraCuts[idx].unk_01 = 0x61; + sDbCameraCuts[idx].letter = DbCamera_GetFirstAvailableLetter(); + D_80161250[0x3F + sDbCameraCuts[idx].letter] = 'O'; - if (sDbgEditorSlots[editorSlot].state != '?') { - sDbgEditorStates[sDbgEditorSlots[editorSlot].state] = 'X'; + i = sub->nPoints * sizeof(CutsceneCameraPoint); + sDbCameraCuts[idx].lookAt = DebugArena_MallocDebug(i, "../db_camera.c", 2748); + if (sDbCameraCuts[idx].lookAt == NULL) { + // Debug camera memory allocation failure + osSyncPrintf("%s: %d: デバッグカメラ メモリ確保失敗!!\n", "../db_camera.c", 2751); + return '?'; } - if (free) { - DebugArena_FreeDebug(sDbgEditorSlots[editorSlot].atPoints, "../db_camera.c", 2784); - DebugArena_FreeDebug(sDbgEditorSlots[editorSlot].eyePoints, "../db_camera.c", 2785); + + sDbCameraCuts[idx].position = DebugArena_MallocDebug(i, "../db_camera.c", 2754); + if (sDbCameraCuts[idx].position == NULL) { + // Debug camera memory allocation failure + osSyncPrintf("%s: %d: デバッグカメラ メモリ確保失敗!!\n", "../db_camera.c", 2757); + DebugArena_FreeDebug(sDbCameraCuts[idx].lookAt, "../db_camera.c", 2758); + sDbCameraCuts[idx].lookAt = NULL; + return '?'; } - sDbgEditorSlots[editorSlot].state = '?'; - sDbgEditorSlots[editorSlot].atPoints = NULL; - sDbgEditorSlots[editorSlot].eyePoints = NULL; - sDbgEditorSlots[editorSlot].mode = 0; - sDbgEditorSlots[editorSlot].frameCnt = 0; - sDbgEditorSlots[editorSlot].csPointsCnt = 0; + + sDbCameraCuts[idx].mode = sub->mode; + sDbCameraCuts[idx].nFrames = sub->nFrames; + sDbCameraCuts[idx].nPoints = sub->nPoints; + + for (i = 0; i < sub->nPoints; i++) { + sDbCameraCuts[idx].lookAt[i] = sub->lookAt[i]; + sDbCameraCuts[idx].position[i] = sub->position[i]; + } + + return sDbCameraCuts[idx].letter; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B8A0C.s") +void DbCamera_ResetCut(s32 idx, s32 shouldFree) { + if (sDbCameraCuts[idx].letter != '?') { + D_80161250[0x3F + sDbCameraCuts[idx].letter] = 'X'; + } -extern s32 D_801612EC; + if (shouldFree) { + DebugArena_FreeDebug(sDbCameraCuts[idx].lookAt, "../db_camera.c", 2784); + DebugArena_FreeDebug(sDbCameraCuts[idx].position, "../db_camera.c", 2785); + } -s32 func_800B8BA4(void) { - return D_801612EC; + sDbCameraCuts[idx].letter = '?'; + sDbCameraCuts[idx].lookAt = NULL; + sDbCameraCuts[idx].position = NULL; + sDbCameraCuts[idx].mode = 0; + sDbCameraCuts[idx].nFrames = 0; + sDbCameraCuts[idx].nPoints = 0; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B8BB0.s") +s32 DbCamera_CalcMempakAllocSize(void) { + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B8DB0.s") - -void func_800B8F30(char* arg0) { - Mempak_DeleteFile(2, *arg0); + sAllocSize = 0; + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + if (sDbCameraCuts[i].letter != '?') { + sAllocSize += ALIGN32(sDbCameraCuts[i].nPoints * sizeof(CutsceneCameraPoint)) * 2; + } + } + sAllocSize += 0x100; + sAllocSize = ALIGN256(sAllocSize); + return sAllocSize; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B8F58.s") +s32 DbCamera_GetMempakAllocSize(void) { + return sAllocSize; +} -/** - * Prints cs editor slot inforation - */ -void func_800B9060(s32 arg0) { - DBCSEditorSlot* csSlot; +s32 DbCamera_LoadCallback(char* c) { + s32 i; + s32 size; + s32 off; + + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + if (sDbCameraCuts[i].letter != '?') { + DbCamera_ResetCut(i, true); + sLetters[i] = 'X'; + } + } + + if (!Mempak_Read(2, *c, sDbCameraCuts, 0, sizeof(sDbCameraCuts))) { + return false; + } + + off = sizeof(sDbCameraCuts); + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + if (sDbCameraCuts[i].letter != '?') { + size = sDbCameraCuts[i].nPoints * sizeof(CutsceneCameraPoint); + + sDbCameraCuts[i].lookAt = DebugArena_MallocDebug(ALIGN32(size), "../db_camera.c", 2844); + if (sDbCameraCuts[i].lookAt == NULL) { + // Debug camera memory allocation failure + osSyncPrintf("%s: %d: デバッグカメラ メモリ確保失敗!!\n", "../db_camera.c", 2847); + return false; + } + if (!Mempak_Read(2, *c, sDbCameraCuts[i].lookAt, off, ALIGN32(size))) { + return false; + } + off += ALIGN32(size); + + sDbCameraCuts[i].position = DebugArena_MallocDebug(ALIGN32(size), "../db_camera.c", 2855); + if (sDbCameraCuts[i].position == NULL) { + // Debug camera memory allocation failure + osSyncPrintf("%s: %d: デバッグカメラ メモリ確保失敗!!\n", "../db_camera.c", 2858); + return false; + } + if (!Mempak_Read(2, *c, sDbCameraCuts[i].position, off, ALIGN32(size))) { + return false; + } + off += ALIGN32(size); + + D_80161250[0x3F + sDbCameraCuts[i].letter] = 'O'; + } + } + + return true; +} + +s32 DbCamera_SaveCallback(char* c) { + s32 pad[2]; + s32 ret; + u32 freeSize; + s32 off; + s32 size; + s32 i; + + ret = Mempak_GetFileSize(2, *c); + freeSize = Mempak_GetFreeBytes(2); + + if (sAllocSize < (freeSize + ret)) { + if (!Mempak_Alloc(2, c, sAllocSize)) { + return false; + } + + if (!Mempak_Write(2, *c, sDbCameraCuts, 0, sizeof(sDbCameraCuts))) { + Mempak_DeleteFile(2, *c); + return false; + } + + off = sizeof(sDbCameraCuts); + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + if (sDbCameraCuts[i].letter != '?') { + size = sDbCameraCuts[i].nPoints * sizeof(CutsceneCameraPoint); + + ret = Mempak_Write(2, *c, sDbCameraCuts[i].lookAt, off, ALIGN32(size)); + if (!ret) { + break; + } + off += ALIGN32(size); + + ret = Mempak_Write(2, *c, sDbCameraCuts[i].position, off, ALIGN32(size)); + if (!ret) { + break; + } + + off += ALIGN32(size); + } + ret = true; + } + + if (ret) { + return *c; + } else { + Mempak_DeleteFile(2, *c); + return false; + } + } + + return false; +} + +s32 DbCamera_ClearCallback(char* c) { + return Mempak_DeleteFile(2, *c); +} + +void DbCamera_DrawSlotLetters(char* str, s16 y, s16 x, s32 colorId) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + str[i * 2 + 1] = sDbCameraCuts[i].letter; + str[i * 2 + 0] = '-'; + } + + str[0x14] = str[i * 2 + 1] = '\0'; + func_8006376C(x, y, colorId, str); + str[0x14] = str[i * 2 + 0] = '-'; + func_8006376C(x + 0x14, y, colorId, str + 0x14); +} + +void DbCamera_PrintAllCuts(Camera* cam) { s32 i; Audio_PlaySoundGeneral(NA_SE_SY_GET_RUPY, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); osSyncPrintf("@@@\n@@@\n@@@/* ****** spline point data ** start here ***** */\n@@@\n"); - for (i = 0, csSlot = sDbgEditorSlots; i < 0xF; i++, csSlot++) { - if (csSlot->csPointsCnt != 0) { + + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + DbCameraCut* cut = &sDbCameraCuts[i]; + if (cut->nPoints != 0) { if (i != 0) { osSyncPrintf("@@@\n@@@/* ** %d ** */\n@@@\n", i); } - func_800B4920("Lookat", csSlot->csPointsCnt, csSlot->atPoints); - func_800B4920("Position", csSlot->csPointsCnt, csSlot->eyePoints); - osSyncPrintf("@@@static short nPoints = %d;\n@@@\n", csSlot->csPointsCnt); - osSyncPrintf("@@@static short nFrames = %d;\n@@@\n", csSlot->frameCnt); - osSyncPrintf("@@@static short Mode = %d;\n@@@\n", csSlot->mode); + + DbCamera_PrintPoints("Lookat", cut->nPoints, cut->lookAt); + DbCamera_PrintPoints("Position", cut->nPoints, cut->position); + osSyncPrintf("@@@static short nPoints = %d;\n@@@\n", cut->nPoints); + osSyncPrintf("@@@static short nFrames = %d;\n@@@\n", cut->nFrames); + osSyncPrintf("@@@static short Mode = %d;\n@@@\n", cut->mode); } } + osSyncPrintf("@@@\n@@@\n@@@/* ****** spline point data ** finish! ***** */\n@@@\n"); } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B91B0.s") +s32 func_800B91B0(Camera* cam, DbCamera* dbCamera) { + s32 pointCount; + s32 curPoint; -/** - * Initalizes the custscene editor - */ -void DbgCamera_FirstInit(Camera* camera, DBCamera* dbCamera) { - s32 temp_s0; - u32 temp_v0; - u32 phi_v0; + while (sDbCameraCuts[D_8016110C].letter == '?') { + D_8016110C++; + if (D_8016110C >= ARRAY_COUNT(sDbCameraCuts) - 1) { + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.unk_04 = 0; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_0A = 0; + D_8016110C = 0; + return 0; + } + } + + if (!func_800BB2B4(&sDbCamAnim.positionPos, &sDbCamAnim.roll, &sDbCamAnim.fov, sDbCameraCuts[D_8016110C].position, + &sDbCamAnim.keyframe, &sDbCamAnim.curFrame) && + !func_800BB2B4(&sDbCamAnim.lookAtPos, &sDbCamAnim.roll, &sDbCamAnim.fov, sDbCameraCuts[D_8016110C].lookAt, + &sDbCamAnim.keyframe, &sDbCamAnim.curFrame)) { + + D_8012D13C[7] = ((sDbCamAnim.keyframe + 1) / 10) + '0'; + D_8012D13C[8] = ((sDbCamAnim.keyframe + 1) % 10) + '0'; + D_8012D13C[10] = ((sDbCameraCuts[D_8016110C].nPoints - 5) / 10) + '0'; + D_8012D13C[11] = ((sDbCameraCuts[D_8016110C].nPoints - 5) % 10) + '0'; + DbCamera_SetTextValue(sDbCamAnim.unk_04, D_8012D114 + 10, 4); + func_8006376C(0xF, 0x16, 3, D_8012D114); + DbCamera_SetTextValue(sDbCamAnim.unk_0C, D_8012D128 + 10, 4); + func_8006376C(0xF, 0x17, 3, D_8012D128); + func_8006376C(0xF, 0x18, 3, D_8012D13C); + func_8006376C(0x10, 0x1A, 1, D_8012CEF0); + + sDbCamAnim.unk_04++; + sDbCamAnim.unk_0C++; + + if (sDbCameraCuts[D_8016110C].nFrames > 0 && sDbCameraCuts[D_8016110C].nFrames < sDbCamAnim.unk_04) { + D_8016110C++; + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.unk_04 = 0; + sDbCamAnim.keyframe = 0; + return D_8016110C | 0x8000; + } + + if (sDbCameraCuts[D_8016110C].mode != 1) { + DbCamera_CopyVec3f(&sDbCamAnim.positionPos, &dbCamera->eye); + DbCamera_CopyVec3f(&sDbCamAnim.lookAtPos, &dbCamera->at); + } else { + func_800B3FF4(&cam->playerPosRot, &sDbCamAnim.lookAtPos, &dbCamera->at); + func_800B3FF4(&cam->playerPosRot, &sDbCamAnim.positionPos, &dbCamera->eye); + } + + dbCamera->fov = sDbCamAnim.fov; + dbCamera->roll = sDbCamAnim.roll; + dbCamera->rollDegrees = sDbCamAnim.roll * (360.0f / 256.0f); + + } else { + D_8016110C++; + sDbCamAnim.keyframe = 0; + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.unk_04 = 0; + if (D_8016110C == ARRAY_COUNT(sDbCameraCuts) - 1) { + D_8016110C = 0; + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_0A = 0; + return -1; + } + } + + return D_8016110C | 0x8000; +} + +void DbCamera_Reset(Camera* cam, DbCamera* dbCam) { s32 i; - char* p; D_801612EA = '*'; - for (p = D_801612D0; p < &D_801612D0[0x1A]; p++) { - *p = 'X'; + for (i = 0; i < ARRAY_COUNT(sLetters); i++) { + sLetters[i] = 'X'; } for (i = 0; i < 0xF; i++) { - func_800B8978(i, 0); + DbCamera_ResetCut(i, false); } - - D_80161108 = dbCamera; + sDbCamPtr = dbCam; D_8016110C = 0; - D_80161148 = 0; - D_8016114A = -1; - D_8016111A = 0; + sCurFileIdx = 0; + sLastFileIdx = -1; + sDbCamAnim.unk_0A = 0; } -#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_800B9638.s") +#ifdef NON_MATCHING +u32 sDbCameraColors[] = { + 4, 4, 4, 7, 4, 4, +}; +s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { + static s32 sMempakFilesize = 0; // D_8012D170 + static s32 sMempakFiles; + + s32 i; + s32 idx1; // 0xA0 + s32 idx2; // s0 + s16 idx3; + + char sp74[(ARRAY_COUNT(sDbCameraCuts) - 1 + 4) * 2]; // 0x74 + DbCameraCut sp64; // 0x64 + VecSph sp5C; // 0x5C + s32 (*callbacks[])(char*) = { DbCamera_SaveCallback, DbCamera_LoadCallback, DbCamera_ClearCallback }; // 0x50 + + func_8006376C(0xE, 5, 0, D_8012CF44); // DEMO CONTROL + + idx1 = sCurFileIdx >> 1; + idx2 = sLastFileIdx >> 1; + + switch (dbCamera->sub.demoCtrlActionIdx) { + case ACTION_SAVE: // 1 + case ACTION_LOAD: // 2 + case ACTION_CLEAR: // 3 + switch (dbCamera->sub.demoCtrlMenu) { + + // 5c0c + // 100(0x64) | 200(0xC8) | 300(0x12C) + case DEMO_CTRL_MENU(ACTION_SAVE, MENU_INFO): + case DEMO_CTRL_MENU(ACTION_LOAD, MENU_INFO): + case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_INFO): { + if ((1 << sCurFileIdx) & sMempakFiles) { + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DLEFT) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DRIGHT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlToggleSwitch ^= 1; + } + D_8012CEE0[41][9] = sCurFileIdx + 'A'; + func_8006376C(0xA, 7, 5, D_8012CEE0[41]); + func_8006376C(0x10, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlActionIdx]); + func_8006376C(0x14, 7, 5, D_8012CF88[0]); + + func_8006376C(0x11, 8, dbCamera->sub.demoCtrlToggleSwitch ? 4 : 7, D_8012CF94); + func_8006376C(0x15, 8, dbCamera->sub.demoCtrlToggleSwitch ? 7 : 4, D_8012CF98); + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_A)) { + if (dbCamera->sub.demoCtrlToggleSwitch == 0) { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlMenu++; + } else { + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlMenu = 0; + } + } + } else { + if (dbCamera->sub.demoCtrlMenu == 100) { + dbCamera->sub.demoCtrlMenu++; + } else { + dbCamera->sub.demoCtrlToggleSwitch ^= 1; + D_8012CF84[9] = sCurFileIdx + 'A'; + func_8006376C(0xD, 7, 5, D_8012CF88[-1]); // todo: find something better + func_8006376C(0x12, 7, 5, D_8012CF80); + func_8006376C(0xD, 9, dbCamera->sub.demoCtrlToggleSwitch ? 1 : 6, "PRESS B BUTTON"); + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B)) { + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.demoCtrlMenu = 0; + return 1; + } + goto block_2; + } + + // 5ee4 + // 101(0x65) | 201(0xC9) | 301(0x12D) + case DEMO_CTRL_MENU(ACTION_SAVE, MENU_CALLBACK): + case DEMO_CTRL_MENU(ACTION_LOAD, MENU_CALLBACK): + case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_CALLBACK): { + D_8012CEE0[41][9] = sCurFileIdx + 'A'; + func_8006376C(0xC, 7, 5, D_8012CEE0[41]); + func_8006376C(0x12, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlActionIdx]); + func_8006376C(0x16, 7, 5, D_8012CF9C[0]); + + if (callbacks[dbCamera->sub.demoCtrlActionIdx - 1](&D_8012CF84[9])) { + dbCamera->sub.demoCtrlMenu++; + return 1; + } else { + dbCamera->sub.demoCtrlMenu += 8; + return 1; + } + } + + // 5f9c + // 102(0x66) | 202(0xCA) | 302(0x12E) + case DEMO_CTRL_MENU(ACTION_SAVE, MENU_SUCCESS): + case DEMO_CTRL_MENU(ACTION_LOAD, MENU_SUCCESS): + case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_SUCCESS): { + dbCamera->sub.demoCtrlToggleSwitch ^= 1; + D_8012CEE0[41][9] = sCurFileIdx + 'A'; + func_8006376C(0xD, 7, 5, D_8012CEE0[41]); + func_8006376C(0x13, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlMenu / 100]); + func_8006376C(0x17, 7, 5, D_8012CFA4); + func_8006376C(0xD, 9, (dbCamera->sub.demoCtrlToggleSwitch != 0) ? 1 : 6, "PRESS B BUTTON"); + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_A) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B)) { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + if (dbCamera->sub.demoCtrlMenu == DEMO_CTRL_MENU(ACTION_LOAD, MENU_SUCCESS)) { + dbCamera->sub.demoCtrlActionIdx = ACTION_E; + } + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO); + return 1; + } + goto block_2; + } + + // 60c0 + // 109(0x6D) | 209(0xD1) | 309(0x135) + case DEMO_CTRL_MENU(ACTION_SAVE, MENU_ERROR): + case DEMO_CTRL_MENU(ACTION_LOAD, MENU_ERROR): + case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_ERROR): { + dbCamera->sub.demoCtrlToggleSwitch ^= 1; + D_8012CEE0[41][9] = sCurFileIdx + 'A'; + func_8006376C(0xD, 7, 5, D_8012CEE0[(dbCamera->sub.demoCtrlMenu / 100) + 32]); + func_8006376C(0x11, 7, 5, D_8012CFAC); + func_8006376C(0x17, 7, 5, D_8012CFA4); + func_8006376C(0xD, 9, (dbCamera->sub.demoCtrlToggleSwitch != 0) ? 1 : 6, "PRESS B BUTTON"); + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_A) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B)) { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.demoCtrlMenu -= 9; + } + block_2: + return 1; + } + + case 1: + goto block_1; + + // 61d8 + default: { + if (Mempak_Init(2)) { + sMempakFiles = Mempak_FindFile(2, 'A', 'E'); + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_CALLBACK); + DbCamera_CalcMempakAllocSize(); + if ((1 << sCurFileIdx) & sMempakFiles) { + sMempakFilesize = Mempak_GetFileSize(2, sCurFileIdx + 'A'); + dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; + } else { + sMempakFilesize = 0; + dbCamera->sub.demoCtrlActionIdx = ACTION_SAVE; + } + block_1: + idx2 = 1; + for (i = 0; i < 5; i++) { + sp74[i * 2 + 1] = (sMempakFiles & idx2) ? i + 'A' : '?'; + sp74[i * 2 + 0] = '-'; + + idx2 <<= 1; + } + sp74[i * 2 + 0] = '-'; + sp74[i * 2 + 1] = '\0'; + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DRIGHT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (sCurFileIdx >= 4) { + sCurFileIdx = 0; + } else { + sCurFileIdx++; + } + + if ((1 << sCurFileIdx) & sMempakFiles) { + sMempakFilesize = Mempak_GetFileSize(2, sCurFileIdx + 'A'); + dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; + } else { + sMempakFilesize = 0; + dbCamera->sub.demoCtrlActionIdx = ACTION_SAVE; + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + if (sCurFileIdx <= 0) { + sCurFileIdx = 4; + } else { + sCurFileIdx--; + } + + if ((1 << sCurFileIdx) & sMempakFiles) { + sMempakFilesize = Mempak_GetFileSize(2, sCurFileIdx + 'A'); + dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; + } else { + sMempakFilesize = 0; + dbCamera->sub.demoCtrlActionIdx = ACTION_SAVE; + } + } + idx3 = dbCamera->sub.demoCtrlActionIdx; + func_8006376C(0xE, 7, 5, D_8012CF50[idx3]); + func_8006376C(0xF, 7, 4, sp74); + + func_8006376C((sCurFileIdx * 2) + 0x10, 7, 7, "_"); // cursor + DbCamera_SetTextValue(DbCamera_GetMempakAllocSize(), sp74, 6); + func_8006376C(0xD, 9, 6, D_8012CF78); // NEED BYTE + func_8006376C(0x11, 9, 4, sp74); + DbCamera_SetTextValue(Mempak_GetFreeBytes(2), sp74, 6); + func_8006376C(0xD, 0xA, 6, D_8012CF74); // FREE BYTE + func_8006376C(0x11, 0xA, 4, sp74); + if (sMempakFilesize != 0) { // diff: regalloc (comes from 6440?) + DbCamera_SetTextValue(sMempakFilesize, sp74, 6); + func_8006376C(0xD, 0xB, 7, D_8012CFA8); + func_8006376C(0x11, 0xB, 4, sp74); + } + // diff: regalloc + idx1 = (dbCamera->sub.demoCtrlActionIdx + 2); + func_8006376C(0xF, 0x16, 1, D_8012CF7C); + func_8006376C(0x12, 0x17, sDbCameraColors[idx1], D_8012CF64); + func_8006376C(0x12, 0x18, sDbCameraColors[idx1 - 1], D_8012CF68); + func_8006376C(0x12, 0x19, sDbCameraColors[idx1 - 2], D_8012CF6C); + func_8006376C(0xE, dbCamera->sub.demoCtrlActionIdx + 0x16, 7, D_8012CF0C); // current selection + func_8006376C(0xD, 0x1A, 5, D_8012CF60[0]); + func_8006376C(0x14, 0x1A, 5, D_8012CF70); + + // diff: regalloc + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DUP)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlActionIdx = (dbCamera->sub.demoCtrlActionIdx - 1) % 4u; + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DDOWN)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlActionIdx = (dbCamera->sub.demoCtrlActionIdx + 1) % 4u; + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_A)) { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlToggleSwitch = 0; + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(dbCamera->sub.demoCtrlActionIdx, MENU_INFO); + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B)) { + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlActionIdx = ACTION_E; + return 1; + } + goto block_2; + } else { + func_8006376C(0xC, 0x1A, 4, D_8012CF60[0]); + func_8006376C(0x13, 0x1A, 4, D_8012CF80); + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DUP) || + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DDOWN)) { + + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + dbCamera->sub.demoCtrlActionIdx = ACTION_E; + } + return 2; + } + break; + } + } + break; + + // 6840 + default: { + // diff: regalloc + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DUP)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO); + dbCamera->sub.demoCtrlActionIdx = (dbCamera->sub.demoCtrlActionIdx - 1) % 4u; + sCurFileIdx = 0; + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DDOWN)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO); + dbCamera->sub.demoCtrlActionIdx = (dbCamera->sub.demoCtrlActionIdx + 1) % 4u; + sCurFileIdx = 0; + } + + DbCamera_DrawSlotLetters(sp74, 7, 5, 4); + + if (sDbCamAnim.unk_0A != 0) { + func_8006376C(4, 7, 5, D_8012CF4C); + func_8006376C(D_8016110C * 2 + 6, 7, 7, ">"); + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CUP)) { + if (D_8016110C > 0) { + D_8016110C--; + } + + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_04 = 0; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CDOWN)) { + if (D_8016110C < 14) { + D_8016110C++; + } + + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_04 = 0; + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CLEFT)) { + sDbCamAnim.unk_0A = 0; + Interface_ChangeAlpha(2); + ShrinkWindow_SetVal(0); + D_8016110C = 0; + return 2; + } + + if (func_800B91B0(cam, dbCamera) == 0) { + Interface_ChangeAlpha(2); + ShrinkWindow_SetVal(0); + Audio_PlaySoundGeneral(NA_SE_SY_GET_RUPY, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + OLib_Vec3fDiffToVecSphGeo(&sp5C, &dbCamera->eye, &dbCamera->at); + DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, sp5C.pitch, sp5C.yaw, + DEGF_TO_BINANG(dbCamera->rollDegrees)); + return 2; + } + + // 6ae4 + if (CHECK_BTN_ALL(sGlobalCtx->state.input[1].press.button, BTN_CRIGHT)) { + // diff: reordering + D_8015FCC8 = 0; + gSaveContext.cutsceneIndex = 0xFFFD; + gSaveContext.cutsceneTrigger = 1; + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_04 = 0; + sDbCamAnim.unk_0A = 1; + sDbCamAnim.unk_0C = 0; + D_8016110C = 0; + Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_L)) { + if (sp74[sCurFileIdx] == '?') { + sLastFileIdx = -1; + D_801612EA = '*'; + } else { + sLastFileIdx = sCurFileIdx; + D_801612EA = sDbCameraCuts[idx1].letter; + } + if (1) {} + } + // 6b90 diff: sGlobalCtx->state.input[2].cur loaded twice + // and then sGlobalCtx is only loaded once + else if (!CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L)) { + if (sLastFileIdx != -1) { + switch (sp74[sCurFileIdx]) { + case '?': + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + sDbCameraCuts[idx1] = sDbCameraCuts[idx2]; + sp74[sCurFileIdx] = '?'; // useless + DbCamera_ResetCut(idx2, false); + break; // diff: missing sGlobalCtx + case '-': + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + + sp64 = sDbCameraCuts[idx2]; + if (sLastFileIdx < sCurFileIdx) { + // rotate right + for (i = idx2; i < idx1 - 1 && i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + sDbCameraCuts[i] = sDbCameraCuts[i + 1]; + } + sDbCameraCuts[idx1 - 1] = sp64; + } else if (sCurFileIdx < sLastFileIdx) { + // rotate left + for (i = idx2; idx1 < i && i > 0; i--) { + sDbCameraCuts[i] = sDbCameraCuts[i - 1]; + } + sDbCameraCuts[idx1] = sp64; + } + + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + sp74[i * 2 + 1] = sDbCameraCuts[i].letter; + } + break; // diff: missing sGlobalCtx + default: + Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + break; + } + } + sLastFileIdx = -1; + } + + // 6f40 + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_A)) { + if (sp74[sCurFileIdx] == '?') { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + sp74[sCurFileIdx] = DbCamera_InitCut(idx1, &dbCamera->sub); + if (sp74[sCurFileIdx] == '?') { + func_8006376C(0xF, 0x18, 7, D_8012CF48); + } + } + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_B)) { + if (sp74[sCurFileIdx] != '?' && sp74[sCurFileIdx] != '-') { + Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + sp74[sCurFileIdx] = '?'; + DbCamera_ResetCut(idx1, true); + } + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_R)) { + if (sp74[sCurFileIdx] != '?' && sp74[sCurFileIdx] != '-') { + Audio_PlaySoundGeneral(NA_SE_SY_DECIDE, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + + for (i = 0; i < sDbCameraCuts[idx1].nPoints; i++) { + dbCamera->sub.lookAt[i] = sDbCameraCuts[idx1].lookAt[i]; + } + // why use another loop for that... + for (i = 0; i < sDbCameraCuts[idx1].nPoints; i++) { + dbCamera->sub.position[i] = sDbCameraCuts[idx1].position[i]; + } + + dbCamera->sub.mode = sDbCameraCuts[idx1].mode; + dbCamera->sub.nFrames = sDbCameraCuts[idx1].nFrames; + dbCamera->sub.nPoints = sDbCameraCuts[idx1].nPoints; + dbCamera->sub.unkIdx = 0; + func_800B41DC(dbCamera, dbCamera->sub.unkIdx, cam); + sp74[sCurFileIdx] = '?'; + DbCamera_ResetCut(idx1, true); + dbCamera->unk_00 = 1; + } + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DRIGHT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + if (sCurFileIdx == 0x1E) { + sCurFileIdx = 0; + } else { + sCurFileIdx++; + } + } + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_DLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + sCurFileIdx = (sCurFileIdx == 0) ? 0x1E : sCurFileIdx - 1; + } + + if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CRIGHT)) { + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + osSyncPrintf("###%2d:(%c) (%d %d) %d %d %d\n", i, sDbCameraCuts[i].letter, + sDbCameraCuts[i].position, sDbCameraCuts[i].lookAt, sDbCameraCuts[i].nFrames, + sDbCameraCuts[i].nPoints, sDbCameraCuts[i].mode); + } + DbCamera_PrintAllCuts(cam); + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_L) && + CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CLEFT)) { + Audio_PlaySoundGeneral(NA_SE_SY_GET_RUPY, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + for (i = 0; i < ARRAY_COUNT(sDbCameraCuts) - 1; i++) { + if (sDbCameraCuts[i].nPoints != 0) { + osSyncPrintf("\n@@@ /* CUT [%d]\t*/", i); + DbCamera_PrintCutBytes(&sDbCameraCuts[i]); + } + } + } else if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].press.button, BTN_CRIGHT)) { + sDbCamAnim.curFrame = 0.0f; + sDbCamAnim.keyframe = 0; + sDbCamAnim.unk_04 = 0.0f; + sDbCamAnim.unk_0A = 1; + sDbCamAnim.unk_0C = 0; + Interface_ChangeAlpha(50); + ShrinkWindow_SetVal(0x20); + D_8016110C = 0; + Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + + func_8006376C(4, 7, 5, D_8012CF50[0]); + sp74[1] = 0; + if (sLastFileIdx != -1) { + sp74[0] = D_801612EA; + func_8006376C(sLastFileIdx + 5, 7, 2, sp74); + } else { + sp74[0] = '_'; + } + func_8006376C(sCurFileIdx + 5, 7, 7, sp74); + + break; + } + } + + return 1; +} +#else +s32 (*D_8012D14C[])(char*) = { DbCamera_SaveCallback, DbCamera_LoadCallback, DbCamera_ClearCallback }; +u32 sDbCameraColors[] = { + 4, 4, 4, 7, 4, 4, +}; +u32 D_8012D170 = 0; +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/DbCamera_UpdateDemoControl.s") +#endif + +void func_800BB03C(Camera* cam) { + func_800B91B0(cam, sDbCamPtr); +} + +void func_800BB060(void) { + sDbCamAnim.unk_0A = 0; +} + +s32 func_800BB06C(void) { + return sDbCamPtr->unk_00 == 2 && sDbCamAnim.unk_0A != 0; +} diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 537b39d4a4..4505e0ebfa 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -6781,12 +6781,12 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, GlobalCon PREG(i) = sPREGInit[i]; } - DbgCamera_FirstInit(camera, &D_8015BD80); + DbCamera_Reset(camera, &D_8015BD80); sInitRegs = false; PREG(88) = -1; } camera->globalCtx = D_8015BD7C = globalCtx; - DbgCamera_Init(&D_8015BD80, camera); + DbCamera_Init(&D_8015BD80, camera); curUID = sNextUID; sNextUID++; while (curUID != 0) { @@ -7437,7 +7437,7 @@ Vec3s Camera_Update(Camera* camera) { // Debug cam update if (gDbgCamEnabled) { camera->globalCtx->view.fovy = D_8015BD80.fov; - DbgCamera_Update(&D_8015BD80, camera); + DbCamera_Update(&D_8015BD80, camera); func_800AA358(&camera->globalCtx->view, &D_8015BD80.eye, &D_8015BD80.at, &D_8015BD80.up); if (R_DBG_CAM_UPDATE) { osSyncPrintf("camera: debug out\n");