From 6b3b4aa883dc2b781e6e6ac25853bfe94739f38a Mon Sep 17 00:00:00 2001 From: i82orbom Date: Sun, 11 Oct 2020 02:05:59 +0200 Subject: [PATCH 1/8] z_bg_gnd_soulmeiro.c OK (#439) * Starts z_bg_gnd_soulmeiro.c * Init * Some more progress * BgGndSoulmeiro_Draw * Some more progress * Matched * Removes unused asm * PR suggestions * Update comment Co-authored-by: i82orbom --- .../BgGndSoulmeiro_Destroy.s | 17 -- .../BgGndSoulmeiro_Draw.s | 110 --------- .../BgGndSoulmeiro_Init.s | 96 -------- .../BgGndSoulmeiro_Update.s | 13 - .../ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s | 230 ------------------ .../ovl_Bg_Gnd_Soulmeiro/func_8087B284.s | 59 ----- .../ovl_Bg_Gnd_Soulmeiro/func_8087B350.s | 24 -- .../overlays/actors/z_bg_gnd_soulmeiro.data.s | 26 -- .../actors/z_bg_gnd_soulmeiro.reloc.s | 13 - spec | 3 +- .../ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c | 185 +++++++++++++- .../ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.h | 3 +- 12 files changed, 179 insertions(+), 600 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B284.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B350.s delete mode 100644 data/overlays/actors/z_bg_gnd_soulmeiro.data.s delete mode 100644 data/overlays/actors/z_bg_gnd_soulmeiro.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Destroy.s deleted file mode 100644 index bd53b6f2b7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Destroy.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel BgGndSoulmeiro_Destroy -/* 00140 8087AF00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00144 8087AF04 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00148 8087AF08 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 0014C 8087AF0C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00150 8087AF10 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00154 8087AF14 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000 -/* 00158 8087AF18 55E00004 */ bnel $t7, $zero, .L8087AF2C -/* 0015C 8087AF1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00160 8087AF20 0C0170EB */ jal Collider_DestroyCylinder - -/* 00164 8087AF24 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C -/* 00168 8087AF28 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087AF2C: -/* 0016C 8087AF2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00170 8087AF30 03E00008 */ jr $ra -/* 00174 8087AF34 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Draw.s deleted file mode 100644 index de5e6594d1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Draw.s +++ /dev/null @@ -1,110 +0,0 @@ -.rdata -glabel D_8087B590 - .asciz "../z_bg_gnd_soulmeiro.c" - .balign 4 - -glabel D_8087B5A8 - .asciz "../z_bg_gnd_soulmeiro.c" - .balign 4 - -glabel D_8087B5C0 - .asciz "../z_bg_gnd_soulmeiro.c" - .balign 4 - -.late_rodata -glabel D_8087B5D8 - .float 10922.0 -glabel D_8087B5DC - .float 0.0083333338 -glabel D_8087B5E0 - .float 0.69999999 - -.text -glabel BgGndSoulmeiro_Draw -/* 0060C 8087B3CC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00610 8087B3D0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00614 8087B3D4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00618 8087B3D8 8488001C */ lh $t0, 0x001C($a0) ## 0000001C -/* 0061C 8087B3DC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00620 8087B3E0 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 00624 8087B3E4 310800FF */ andi $t0, $t0, 0x00FF ## $t0 = 00000000 -/* 00628 8087B3E8 11000009 */ beq $t0, $zero, .L8087B410 -/* 0062C 8087B3EC 3C068088 */ lui $a2, %hi(D_8087B590) ## $a2 = 80880000 -/* 00630 8087B3F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00634 8087B3F4 11010033 */ beq $t0, $at, .L8087B4C4 -/* 00638 8087B3F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0063C 8087B3FC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00640 8087B400 11010037 */ beq $t0, $at, .L8087B4E0 -/* 00644 8087B404 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00648 8087B408 1000003B */ beq $zero, $zero, .L8087B4F8 -/* 0064C 8087B40C 8FBF001C */ lw $ra, 0x001C($sp) -.L8087B410: -/* 00650 8087B410 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 00654 8087B414 AFA80044 */ sw $t0, 0x0044($sp) -/* 00658 8087B418 24C6B590 */ addiu $a2, $a2, %lo(D_8087B590) ## $a2 = 8087B590 -/* 0065C 8087B41C 2407018E */ addiu $a3, $zero, 0x018E ## $a3 = 0000018E -/* 00660 8087B420 0C031AB1 */ jal Graph_OpenDisps -/* 00664 8087B424 AFA50040 */ sw $a1, 0x0040($sp) -/* 00668 8087B428 0C024F61 */ jal func_80093D84 -/* 0066C 8087B42C 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 00670 8087B430 8FA70040 */ lw $a3, 0x0040($sp) -/* 00674 8087B434 8FA80044 */ lw $t0, 0x0044($sp) -/* 00678 8087B438 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 0067C 8087B43C 8CE202D0 */ lw $v0, 0x02D0($a3) ## 000002D0 -/* 00680 8087B440 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00684 8087B444 3C058088 */ lui $a1, %hi(D_8087B5A8) ## $a1 = 80880000 -/* 00688 8087B448 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0068C 8087B44C ACEE02D0 */ sw $t6, 0x02D0($a3) ## 000002D0 -/* 00690 8087B450 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00694 8087B454 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 00698 8087B458 24A5B5A8 */ addiu $a1, $a1, %lo(D_8087B5A8) ## $a1 = 8087B5A8 -/* 0069C 8087B45C 24060190 */ addiu $a2, $zero, 0x0190 ## $a2 = 00000190 -/* 006A0 8087B460 AFA80044 */ sw $t0, 0x0044($sp) -/* 006A4 8087B464 0C0346A2 */ jal Matrix_NewMtx -/* 006A8 8087B468 AFA2002C */ sw $v0, 0x002C($sp) -/* 006AC 8087B46C 8FA3002C */ lw $v1, 0x002C($sp) -/* 006B0 8087B470 8FA80044 */ lw $t0, 0x0044($sp) -/* 006B4 8087B474 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 006B8 8087B478 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 006BC 8087B47C 8FB80040 */ lw $t8, 0x0040($sp) -/* 006C0 8087B480 3C0B8088 */ lui $t3, %hi(D_8087B578) ## $t3 = 80880000 -/* 006C4 8087B484 00085080 */ sll $t2, $t0, 2 -/* 006C8 8087B488 8F0202D0 */ lw $v0, 0x02D0($t8) ## 000002D0 -/* 006CC 8087B48C 016A5821 */ addu $t3, $t3, $t2 -/* 006D0 8087B490 3C068088 */ lui $a2, %hi(D_8087B5C0) ## $a2 = 80880000 -/* 006D4 8087B494 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 006D8 8087B498 AF1902D0 */ sw $t9, 0x02D0($t8) ## 000002D0 -/* 006DC 8087B49C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 006E0 8087B4A0 8D6BB578 */ lw $t3, %lo(D_8087B578)($t3) -/* 006E4 8087B4A4 24C6B5C0 */ addiu $a2, $a2, %lo(D_8087B5C0) ## $a2 = 8087B5C0 -/* 006E8 8087B4A8 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 006EC 8087B4AC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 006F0 8087B4B0 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 006F4 8087B4B4 0C031AD5 */ jal Graph_CloseDisps -/* 006F8 8087B4B8 24070193 */ addiu $a3, $zero, 0x0193 ## $a3 = 00000193 -/* 006FC 8087B4BC 1000000E */ beq $zero, $zero, .L8087B4F8 -/* 00700 8087B4C0 8FBF001C */ lw $ra, 0x001C($sp) -.L8087B4C4: -/* 00704 8087B4C4 00086080 */ sll $t4, $t0, 2 -/* 00708 8087B4C8 3C058088 */ lui $a1, %hi(D_8087B578) ## $a1 = 80880000 -/* 0070C 8087B4CC 00AC2821 */ addu $a1, $a1, $t4 -/* 00710 8087B4D0 0C00D4C9 */ jal Gfx_DrawDListXlu - -/* 00714 8087B4D4 8CA5B578 */ lw $a1, %lo(D_8087B578)($a1) -/* 00718 8087B4D8 10000007 */ beq $zero, $zero, .L8087B4F8 -/* 0071C 8087B4DC 8FBF001C */ lw $ra, 0x001C($sp) -.L8087B4E0: -/* 00720 8087B4E0 00086880 */ sll $t5, $t0, 2 -/* 00724 8087B4E4 3C058088 */ lui $a1, %hi(D_8087B578) ## $a1 = 80880000 -/* 00728 8087B4E8 00AD2821 */ addu $a1, $a1, $t5 -/* 0072C 8087B4EC 0C00D498 */ jal Gfx_DrawDListOpa - -/* 00730 8087B4F0 8CA5B578 */ lw $a1, %lo(D_8087B578)($a1) -/* 00734 8087B4F4 8FBF001C */ lw $ra, 0x001C($sp) -.L8087B4F8: -/* 00738 8087B4F8 8FB00018 */ lw $s0, 0x0018($sp) -/* 0073C 8087B4FC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00740 8087B500 03E00008 */ jr $ra -/* 00744 8087B504 00000000 */ nop -/* 00748 8087B508 00000000 */ nop -/* 0074C 8087B50C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Init.s deleted file mode 100644 index f845cf73c6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Init.s +++ /dev/null @@ -1,96 +0,0 @@ -glabel BgGndSoulmeiro_Init -/* 00000 8087ADC0 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00004 8087ADC4 AFB10030 */ sw $s1, 0x0030($sp) -/* 00008 8087ADC8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0000C 8087ADCC AFBF0034 */ sw $ra, 0x0034($sp) -/* 00010 8087ADD0 AFB0002C */ sw $s0, 0x002C($sp) -/* 00014 8087ADD4 3C058088 */ lui $a1, %hi(D_8087B55C) ## $a1 = 80880000 -/* 00018 8087ADD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 8087ADDC 0C01E037 */ jal Actor_ProcessInitChain - -/* 00020 8087ADE0 24A5B55C */ addiu $a1, $a1, %lo(D_8087B55C) ## $a1 = 8087B55C -/* 00024 8087ADE4 8603001C */ lh $v1, 0x001C($s0) ## 0000001C -/* 00028 8087ADE8 AE00019C */ sw $zero, 0x019C($s0) ## 0000019C -/* 0002C 8087ADEC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00030 8087ADF0 306200FF */ andi $v0, $v1, 0x00FF ## $v0 = 00000000 -/* 00034 8087ADF4 10400009 */ beq $v0, $zero, .L8087AE1C -/* 00038 8087ADF8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0003C 8087ADFC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00040 8087AE00 1041002E */ beq $v0, $at, .L8087AEBC -/* 00044 8087AE04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00048 8087AE08 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0004C 8087AE0C 5041002C */ beql $v0, $at, .L8087AEC0 -/* 00050 8087AE10 00032A03 */ sra $a1, $v1, 8 -/* 00054 8087AE14 10000036 */ beq $zero, $zero, .L8087AEF0 -/* 00058 8087AE18 8FBF0034 */ lw $ra, 0x0034($sp) -.L8087AE1C: -/* 0005C 8087AE1C 0C0170D9 */ jal Collider_InitCylinder - -/* 00060 8087AE20 AFA50038 */ sw $a1, 0x0038($sp) -/* 00064 8087AE24 3C078088 */ lui $a3, %hi(D_8087B530) ## $a3 = 80880000 -/* 00068 8087AE28 8FA50038 */ lw $a1, 0x0038($sp) -/* 0006C 8087AE2C 24E7B530 */ addiu $a3, $a3, %lo(D_8087B530) ## $a3 = 8087B530 -/* 00070 8087AE30 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00074 8087AE34 0C01712B */ jal Collider_SetCylinder - -/* 00078 8087AE38 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0007C 8087AE3C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00080 8087AE40 3C0E8088 */ lui $t6, %hi(func_8087B284) ## $t6 = 80880000 -/* 00084 8087AE44 25CEB284 */ addiu $t6, $t6, %lo(func_8087B284) ## $t6 = 8087B284 -/* 00088 8087AE48 00052A03 */ sra $a1, $a1, 8 -/* 0008C 8087AE4C AE0E019C */ sw $t6, 0x019C($s0) ## 0000019C -/* 00090 8087AE50 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00094 8087AE54 0C00B2D0 */ jal Flags_GetSwitch - -/* 00098 8087AE58 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0009C 8087AE5C 10400014 */ beq $v0, $zero, .L8087AEB0 -/* 000A0 8087AE60 3C188088 */ lui $t8, %hi(BgGndSoulmeiro_Draw) ## $t8 = 80880000 -/* 000A4 8087AE64 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 000A8 8087AE68 8E070024 */ lw $a3, 0x0024($s0) ## 00000024 -/* 000AC 8087AE6C 240F0009 */ addiu $t7, $zero, 0x0009 ## $t7 = 00000009 -/* 000B0 8087AE70 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 000B4 8087AE74 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 000B8 8087AE78 AFAF0024 */ sw $t7, 0x0024($sp) -/* 000BC 8087AE7C AFA00020 */ sw $zero, 0x0020($sp) -/* 000C0 8087AE80 AFA0001C */ sw $zero, 0x001C($sp) -/* 000C4 8087AE84 AFA00018 */ sw $zero, 0x0018($sp) -/* 000C8 8087AE88 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 000CC 8087AE8C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 000D0 8087AE90 240600B7 */ addiu $a2, $zero, 0x00B7 ## $a2 = 000000B7 -/* 000D4 8087AE94 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 000D8 8087AE98 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 000DC 8087AE9C AE000134 */ sw $zero, 0x0134($s0) ## 00000134 -/* 000E0 8087AEA0 0C00B55C */ jal Actor_Kill - -/* 000E4 8087AEA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000E8 8087AEA8 10000011 */ beq $zero, $zero, .L8087AEF0 -/* 000EC 8087AEAC 8FBF0034 */ lw $ra, 0x0034($sp) -.L8087AEB0: -/* 000F0 8087AEB0 2718B3CC */ addiu $t8, $t8, %lo(BgGndSoulmeiro_Draw) ## $t8 = FFFFB3CC -/* 000F4 8087AEB4 1000000D */ beq $zero, $zero, .L8087AEEC -/* 000F8 8087AEB8 AE180134 */ sw $t8, 0x0134($s0) ## 00000134 -.L8087AEBC: -/* 000FC 8087AEBC 00032A03 */ sra $a1, $v1, 8 -.L8087AEC0: -/* 00100 8087AEC0 0C00B2D0 */ jal Flags_GetSwitch - -/* 00104 8087AEC4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00108 8087AEC8 10400005 */ beq $v0, $zero, .L8087AEE0 -/* 0010C 8087AECC 3C088088 */ lui $t0, %hi(func_8087B350) ## $t0 = 80880000 -/* 00110 8087AED0 3C198088 */ lui $t9, %hi(BgGndSoulmeiro_Draw) ## $t9 = 80880000 -/* 00114 8087AED4 2739B3CC */ addiu $t9, $t9, %lo(BgGndSoulmeiro_Draw) ## $t9 = 8087B3CC -/* 00118 8087AED8 10000002 */ beq $zero, $zero, .L8087AEE4 -/* 0011C 8087AEDC AE190134 */ sw $t9, 0x0134($s0) ## 00000134 -.L8087AEE0: -/* 00120 8087AEE0 AE000134 */ sw $zero, 0x0134($s0) ## 00000134 -.L8087AEE4: -/* 00124 8087AEE4 2508B350 */ addiu $t0, $t0, %lo(func_8087B350) ## $t0 = 8087B350 -/* 00128 8087AEE8 AE08019C */ sw $t0, 0x019C($s0) ## 0000019C -.L8087AEEC: -/* 0012C 8087AEEC 8FBF0034 */ lw $ra, 0x0034($sp) -.L8087AEF0: -/* 00130 8087AEF0 8FB0002C */ lw $s0, 0x002C($sp) -/* 00134 8087AEF4 8FB10030 */ lw $s1, 0x0030($sp) -/* 00138 8087AEF8 03E00008 */ jr $ra -/* 0013C 8087AEFC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Update.s deleted file mode 100644 index f244d90666..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Update.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel BgGndSoulmeiro_Update -/* 005E0 8087B3A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 005E4 8087B3A4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005E8 8087B3A8 8C82019C */ lw $v0, 0x019C($a0) ## 0000019C -/* 005EC 8087B3AC 50400004 */ beql $v0, $zero, .L8087B3C0 -/* 005F0 8087B3B0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005F4 8087B3B4 0040F809 */ jalr $ra, $v0 -/* 005F8 8087B3B8 00000000 */ nop -/* 005FC 8087B3BC 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087B3C0: -/* 00600 8087B3C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00604 8087B3C4 03E00008 */ jr $ra -/* 00608 8087B3C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s deleted file mode 100644 index a6a2d64780..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s +++ /dev/null @@ -1,230 +0,0 @@ -glabel func_8087AF38 -/* 00178 8087AF38 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 0017C 8087AF3C AFBF009C */ sw $ra, 0x009C($sp) -/* 00180 8087AF40 AFBE0098 */ sw $s8, 0x0098($sp) -/* 00184 8087AF44 AFB70094 */ sw $s7, 0x0094($sp) -/* 00188 8087AF48 AFB60090 */ sw $s6, 0x0090($sp) -/* 0018C 8087AF4C AFB5008C */ sw $s5, 0x008C($sp) -/* 00190 8087AF50 AFB40088 */ sw $s4, 0x0088($sp) -/* 00194 8087AF54 AFB30084 */ sw $s3, 0x0084($sp) -/* 00198 8087AF58 AFB20080 */ sw $s2, 0x0080($sp) -/* 0019C 8087AF5C AFB1007C */ sw $s1, 0x007C($sp) -/* 001A0 8087AF60 AFB00078 */ sw $s0, 0x0078($sp) -/* 001A4 8087AF64 F7BE0070 */ sdc1 $f30, 0x0070($sp) -/* 001A8 8087AF68 F7BC0068 */ sdc1 $f28, 0x0068($sp) -/* 001AC 8087AF6C F7BA0060 */ sdc1 $f26, 0x0060($sp) -/* 001B0 8087AF70 F7B80058 */ sdc1 $f24, 0x0058($sp) -/* 001B4 8087AF74 F7B60050 */ sdc1 $f22, 0x0050($sp) -/* 001B8 8087AF78 F7B40048 */ sdc1 $f20, 0x0048($sp) -/* 001BC 8087AF7C AFA500DC */ sw $a1, 0x00DC($sp) -/* 001C0 8087AF80 94820198 */ lhu $v0, 0x0198($a0) ## 00000198 -/* 001C4 8087AF84 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 001C8 8087AF88 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014 -/* 001CC 8087AF8C 10400005 */ beq $v0, $zero, .L8087AFA4 -/* 001D0 8087AF90 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 001D4 8087AF94 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 001D8 8087AF98 31C2FFFF */ andi $v0, $t6, 0xFFFF ## $v0 = 0000FFFF -/* 001DC 8087AF9C 00401825 */ or $v1, $v0, $zero ## $v1 = 0000FFFF -/* 001E0 8087AFA0 A48E0198 */ sh $t6, 0x0198($a0) ## 00000198 -.L8087AFA4: -/* 001E4 8087AFA4 14610008 */ bne $v1, $at, .L8087AFC8 -/* 001E8 8087AFA8 00000000 */ nop -/* 001EC 8087AFAC 8645001C */ lh $a1, 0x001C($s2) ## 0000001C -/* 001F0 8087AFB0 8FA400DC */ lw $a0, 0x00DC($sp) -/* 001F4 8087AFB4 00052A03 */ sra $a1, $a1, 8 -/* 001F8 8087AFB8 0C00B2DD */ jal Flags_SetSwitch - -/* 001FC 8087AFBC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00200 8087AFC0 AE400134 */ sw $zero, 0x0134($s2) ## 00000134 -/* 00204 8087AFC4 96420198 */ lhu $v0, 0x0198($s2) ## 00000198 -.L8087AFC8: -/* 00208 8087AFC8 14400018 */ bne $v0, $zero, .L8087B02C -/* 0020C 8087AFCC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00210 8087AFD0 8645001C */ lh $a1, 0x001C($s2) ## 0000001C -/* 00214 8087AFD4 8FA400DC */ lw $a0, 0x00DC($sp) -/* 00218 8087AFD8 00052A03 */ sra $a1, $a1, 8 -/* 0021C 8087AFDC 0C00B2DD */ jal Flags_SetSwitch - -/* 00220 8087AFE0 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00224 8087AFE4 0C00B55C */ jal Actor_Kill - -/* 00228 8087AFE8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 0022C 8087AFEC C6440028 */ lwc1 $f4, 0x0028($s2) ## 00000028 -/* 00230 8087AFF0 8E470024 */ lw $a3, 0x0024($s2) ## 00000024 -/* 00234 8087AFF4 8FA500DC */ lw $a1, 0x00DC($sp) -/* 00238 8087AFF8 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0023C 8087AFFC C646002C */ lwc1 $f6, 0x002C($s2) ## 0000002C -/* 00240 8087B000 240F0009 */ addiu $t7, $zero, 0x0009 ## $t7 = 00000009 -/* 00244 8087B004 AFAF0024 */ sw $t7, 0x0024($sp) -/* 00248 8087B008 AFA00020 */ sw $zero, 0x0020($sp) -/* 0024C 8087B00C AFA0001C */ sw $zero, 0x001C($sp) -/* 00250 8087B010 AFA00018 */ sw $zero, 0x0018($sp) -/* 00254 8087B014 240600B7 */ addiu $a2, $zero, 0x00B7 ## $a2 = 000000B7 -/* 00258 8087B018 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 0025C 8087B01C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00260 8087B020 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00264 8087B024 10000086 */ beq $zero, $zero, .L8087B240 -/* 00268 8087B028 8FBF009C */ lw $ra, 0x009C($sp) -.L8087B02C: -/* 0026C 8087B02C 0041001A */ div $zero, $v0, $at -/* 00270 8087B030 0000C010 */ mfhi $t8 -/* 00274 8087B034 57000082 */ bnel $t8, $zero, .L8087B240 -/* 00278 8087B038 8FBF009C */ lw $ra, 0x009C($sp) -/* 0027C 8087B03C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00280 8087B040 00000000 */ nop -/* 00284 8087B044 3C018088 */ lui $at, %hi(D_8087B5D8) ## $at = 80880000 -/* 00288 8087B048 C428B5D8 */ lwc1 $f8, %lo(D_8087B5D8)($at) -/* 0028C 8087B04C 4480F000 */ mtc1 $zero, $f30 ## $f30 = 0.00 -/* 00290 8087B050 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 00294 8087B054 46080282 */ mul.s $f10, $f0, $f8 -/* 00298 8087B058 4481E000 */ mtc1 $at, $f28 ## $f28 = 4.00 -/* 0029C 8087B05C 3C018088 */ lui $at, %hi(D_8087B5DC) ## $at = 80880000 -/* 002A0 8087B060 E7BE00D0 */ swc1 $f30, 0x00D0($sp) -/* 002A4 8087B064 C6520028 */ lwc1 $f18, 0x0028($s2) ## 00000028 -/* 002A8 8087B068 C43AB5DC */ lwc1 $f26, %lo(D_8087B5DC)($at) -/* 002AC 8087B06C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 002B0 8087B070 4600540D */ trunc.w.s $f16, $f10 -/* 002B4 8087B074 4481C000 */ mtc1 $at, $f24 ## $f24 = 120.00 -/* 002B8 8087B078 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -/* 002BC 8087B07C 26550008 */ addiu $s5, $s2, 0x0008 ## $s5 = 00000008 -/* 002C0 8087B080 44138000 */ mfc1 $s3, $f16 -/* 002C4 8087B084 27BE00CC */ addiu $s8, $sp, 0x00CC ## $s8 = FFFFFFF4 -/* 002C8 8087B088 34178000 */ ori $s7, $zero, 0x8000 ## $s7 = 00008000 -/* 002CC 8087B08C 00139C00 */ sll $s3, $s3, 16 -/* 002D0 8087B090 00139C03 */ sra $s3, $s3, 16 -/* 002D4 8087B094 27B600C0 */ addiu $s6, $sp, 0x00C0 ## $s6 = FFFFFFE8 -/* 002D8 8087B098 E7B200C4 */ swc1 $f18, 0x00C4($sp) -.L8087B09C: -/* 002DC 8087B09C 3C014620 */ lui $at, 0x4620 ## $at = 46200000 -/* 002E0 8087B0A0 44816000 */ mtc1 $at, $f12 ## $f12 = 10240.00 -/* 002E4 8087B0A4 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 002E8 8087B0A8 00000000 */ nop -/* 002EC 8087B0AC 44932000 */ mtc1 $s3, $f4 ## $f4 = 0.00 -/* 002F0 8087B0B0 00000000 */ nop -/* 002F4 8087B0B4 468021A0 */ cvt.s.w $f6, $f4 -/* 002F8 8087B0B8 46060200 */ add.s $f8, $f0, $f6 -/* 002FC 8087B0BC 4600428D */ trunc.w.s $f10, $f8 -/* 00300 8087B0C0 44025000 */ mfc1 $v0, $f10 -/* 00304 8087B0C4 00000000 */ nop -/* 00308 8087B0C8 00028400 */ sll $s0, $v0, 16 -/* 0030C 8087B0CC 00022400 */ sll $a0, $v0, 16 -/* 00310 8087B0D0 00108403 */ sra $s0, $s0, 16 -/* 00314 8087B0D4 0C01DE1C */ jal Math_Sins - ## sins? -/* 00318 8087B0D8 00042403 */ sra $a0, $a0, 16 -/* 0031C 8087B0DC 00102400 */ sll $a0, $s0, 16 -/* 00320 8087B0E0 46000506 */ mov.s $f20, $f0 -/* 00324 8087B0E4 0C01DE0D */ jal Math_Coss - ## coss? -/* 00328 8087B0E8 00042403 */ sra $a0, $a0, 16 -/* 0032C 8087B0EC 4614C482 */ mul.s $f18, $f24, $f20 -/* 00330 8087B0F0 C6500024 */ lwc1 $f16, 0x0024($s2) ## 00000024 -/* 00334 8087B0F4 46000586 */ mov.s $f22, $f0 -/* 00338 8087B0F8 4600C202 */ mul.s $f8, $f24, $f0 -/* 0033C 8087B0FC 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000008 -/* 00340 8087B100 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE8 -/* 00344 8087B104 46128100 */ add.s $f4, $f16, $f18 -/* 00348 8087B108 E7A400C0 */ swc1 $f4, 0x00C0($sp) -/* 0034C 8087B10C C646002C */ lwc1 $f6, 0x002C($s2) ## 0000002C -/* 00350 8087B110 46083280 */ add.s $f10, $f6, $f8 -/* 00354 8087B114 0C01E00A */ jal Math_Vec3f_DistXZ - -/* 00358 8087B118 E7AA00C8 */ swc1 $f10, 0x00C8($sp) -/* 0035C 8087B11C 461A0302 */ mul.s $f12, $f0, $f26 -/* 00360 8087B120 3C018088 */ lui $at, %hi(D_8087B5E0) ## $at = 80880000 -/* 00364 8087B124 C430B5E0 */ lwc1 $f16, %lo(D_8087B5E0)($at) -/* 00368 8087B128 02178821 */ addu $s1, $s0, $s7 -/* 0036C 8087B12C 00118C00 */ sll $s1, $s1, 16 -/* 00370 8087B130 00118C03 */ sra $s1, $s1, 16 -/* 00374 8087B134 00112400 */ sll $a0, $s1, 16 -/* 00378 8087B138 4610603C */ c.lt.s $f12, $f16 -/* 0037C 8087B13C 00000000 */ nop -/* 00380 8087B140 45000015 */ bc1f .L8087B198 -/* 00384 8087B144 00000000 */ nop -/* 00388 8087B148 0C01DE1C */ jal Math_Sins - ## sins? -/* 0038C 8087B14C 00042403 */ sra $a0, $a0, 16 -/* 00390 8087B150 00112400 */ sll $a0, $s1, 16 -/* 00394 8087B154 46000506 */ mov.s $f20, $f0 -/* 00398 8087B158 0C01DE0D */ jal Math_Coss - ## coss? -/* 0039C 8087B15C 00042403 */ sra $a0, $a0, 16 -/* 003A0 8087B160 4614C102 */ mul.s $f4, $f24, $f20 -/* 003A4 8087B164 C6520024 */ lwc1 $f18, 0x0024($s2) ## 00000024 -/* 003A8 8087B168 46000586 */ mov.s $f22, $f0 -/* 003AC 8087B16C 4600C282 */ mul.s $f10, $f24, $f0 -/* 003B0 8087B170 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000008 -/* 003B4 8087B174 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE8 -/* 003B8 8087B178 46049180 */ add.s $f6, $f18, $f4 -/* 003BC 8087B17C E7A600C0 */ swc1 $f6, 0x00C0($sp) -/* 003C0 8087B180 C648002C */ lwc1 $f8, 0x002C($s2) ## 0000002C -/* 003C4 8087B184 460A4400 */ add.s $f16, $f8, $f10 -/* 003C8 8087B188 0C01E00A */ jal Math_Vec3f_DistXZ - -/* 003CC 8087B18C E7B000C8 */ swc1 $f16, 0x00C8($sp) -/* 003D0 8087B190 461A0302 */ mul.s $f12, $f0, $f26 -/* 003D4 8087B194 00000000 */ nop -.L8087B198: -/* 003D8 8087B198 4614E482 */ mul.s $f18, $f28, $f20 -/* 003DC 8087B19C 3C078088 */ lui $a3, %hi(D_8087B56C) ## $a3 = 80880000 -/* 003E0 8087B1A0 2409003C */ addiu $t1, $zero, 0x003C ## $t1 = 0000003C -/* 003E4 8087B1A4 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006 -/* 003E8 8087B1A8 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF -/* 003EC 8087B1AC 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 003F0 8087B1B0 240D0096 */ addiu $t5, $zero, 0x0096 ## $t5 = 00000096 -/* 003F4 8087B1B4 460C9102 */ mul.s $f4, $f18, $f12 -/* 003F8 8087B1B8 240E00AA */ addiu $t6, $zero, 0x00AA ## $t6 = 000000AA -/* 003FC 8087B1BC 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 00400 8087B1C0 4616E182 */ mul.s $f6, $f28, $f22 -/* 00404 8087B1C4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00408 8087B1C8 2419000E */ addiu $t9, $zero, 0x000E ## $t9 = 0000000E -/* 0040C 8087B1CC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00410 8087B1D0 E7A400CC */ swc1 $f4, 0x00CC($sp) -/* 00414 8087B1D4 E7BE00D0 */ swc1 $f30, 0x00D0($sp) -/* 00418 8087B1D8 AFA8003C */ sw $t0, 0x003C($sp) -/* 0041C 8087B1DC 460C3202 */ mul.s $f8, $f6, $f12 -/* 00420 8087B1E0 AFB90038 */ sw $t9, 0x0038($sp) -/* 00424 8087B1E4 AFB80034 */ sw $t8, 0x0034($sp) -/* 00428 8087B1E8 AFAF0028 */ sw $t7, 0x0028($sp) -/* 0042C 8087B1EC AFAE0024 */ sw $t6, 0x0024($sp) -/* 00430 8087B1F0 AFAD0020 */ sw $t5, 0x0020($sp) -/* 00434 8087B1F4 AFAC001C */ sw $t4, 0x001C($sp) -/* 00438 8087B1F8 E7A800D4 */ swc1 $f8, 0x00D4($sp) -/* 0043C 8087B1FC AFAB0018 */ sw $t3, 0x0018($sp) -/* 00440 8087B200 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00444 8087B204 AFA90010 */ sw $t1, 0x0010($sp) -/* 00448 8087B208 24E7B56C */ addiu $a3, $a3, %lo(D_8087B56C) ## $a3 = 8087B56C -/* 0044C 8087B20C 8FA400DC */ lw $a0, 0x00DC($sp) -/* 00450 8087B210 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000008 -/* 00454 8087B214 03C03025 */ or $a2, $s8, $zero ## $a2 = FFFFFFF4 -/* 00458 8087B218 AFA0002C */ sw $zero, 0x002C($sp) -/* 0045C 8087B21C 0C00A9AE */ jal EffectSsDeadDb_Spawn -/* 00460 8087B220 AFA00030 */ sw $zero, 0x0030($sp) -/* 00464 8087B224 26732AAA */ addiu $s3, $s3, 0x2AAA ## $s3 = 00002AAA -/* 00468 8087B228 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 0046C 8087B22C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00470 8087B230 00139C00 */ sll $s3, $s3, 16 -/* 00474 8087B234 1681FF99 */ bne $s4, $at, .L8087B09C -/* 00478 8087B238 00139C03 */ sra $s3, $s3, 16 -/* 0047C 8087B23C 8FBF009C */ lw $ra, 0x009C($sp) -.L8087B240: -/* 00480 8087B240 D7B40048 */ ldc1 $f20, 0x0048($sp) -/* 00484 8087B244 D7B60050 */ ldc1 $f22, 0x0050($sp) -/* 00488 8087B248 D7B80058 */ ldc1 $f24, 0x0058($sp) -/* 0048C 8087B24C D7BA0060 */ ldc1 $f26, 0x0060($sp) -/* 00490 8087B250 D7BC0068 */ ldc1 $f28, 0x0068($sp) -/* 00494 8087B254 D7BE0070 */ ldc1 $f30, 0x0070($sp) -/* 00498 8087B258 8FB00078 */ lw $s0, 0x0078($sp) -/* 0049C 8087B25C 8FB1007C */ lw $s1, 0x007C($sp) -/* 004A0 8087B260 8FB20080 */ lw $s2, 0x0080($sp) -/* 004A4 8087B264 8FB30084 */ lw $s3, 0x0084($sp) -/* 004A8 8087B268 8FB40088 */ lw $s4, 0x0088($sp) -/* 004AC 8087B26C 8FB5008C */ lw $s5, 0x008C($sp) -/* 004B0 8087B270 8FB60090 */ lw $s6, 0x0090($sp) -/* 004B4 8087B274 8FB70094 */ lw $s7, 0x0094($sp) -/* 004B8 8087B278 8FBE0098 */ lw $s8, 0x0098($sp) -/* 004BC 8087B27C 03E00008 */ jr $ra -/* 004C0 8087B280 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B284.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B284.s deleted file mode 100644 index bd7549d726..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B284.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_8087B284 -/* 004C4 8087B284 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 004C8 8087B288 AFB00020 */ sw $s0, 0x0020($sp) -/* 004CC 8087B28C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004D0 8087B290 AFBF0024 */ sw $ra, 0x0024($sp) -/* 004D4 8087B294 AFA50034 */ sw $a1, 0x0034($sp) -/* 004D8 8087B298 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 004DC 8087B29C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 004E0 8087B2A0 00052A03 */ sra $a1, $a1, 8 -/* 004E4 8087B2A4 0C00B2D0 */ jal Flags_GetSwitch - -/* 004E8 8087B2A8 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 004EC 8087B2AC 54400024 */ bnel $v0, $zero, .L8087B340 -/* 004F0 8087B2B0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 004F4 8087B2B4 920F015D */ lbu $t7, 0x015D($s0) ## 0000015D -/* 004F8 8087B2B8 3C0E8088 */ lui $t6, %hi(BgGndSoulmeiro_Draw) ## $t6 = 80880000 -/* 004FC 8087B2BC 25CEB3CC */ addiu $t6, $t6, %lo(BgGndSoulmeiro_Draw) ## $t6 = 8087B3CC -/* 00500 8087B2C0 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000 -/* 00504 8087B2C4 13000012 */ beq $t8, $zero, .L8087B310 -/* 00508 8087B2C8 AE0E0134 */ sw $t6, 0x0134($s0) ## 00000134 -/* 0050C 8087B2CC 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00510 8087B2D0 3C198013 */ lui $t9, %hi(D_801333E8) -/* 00514 8087B2D4 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00518 8087B2D8 273933E8 */ addiu $t9, %lo(D_801333E8) -/* 0051C 8087B2DC 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00520 8087B2E0 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00524 8087B2E4 AFB90014 */ sw $t9, 0x0014($sp) -/* 00528 8087B2E8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0052C 8087B2EC 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 00530 8087B2F0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00534 8087B2F4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00538 8087B2F8 3C098088 */ lui $t1, %hi(func_8087AF38) ## $t1 = 80880000 -/* 0053C 8087B2FC 24080028 */ addiu $t0, $zero, 0x0028 ## $t0 = 00000028 -/* 00540 8087B300 2529AF38 */ addiu $t1, $t1, %lo(func_8087AF38) ## $t1 = 8087AF38 -/* 00544 8087B304 A6080198 */ sh $t0, 0x0198($s0) ## 00000198 -/* 00548 8087B308 1000000C */ beq $zero, $zero, .L8087B33C -/* 0054C 8087B30C AE09019C */ sw $t1, 0x019C($s0) ## 0000019C -.L8087B310: -/* 00550 8087B310 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 00554 8087B314 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C -/* 00558 8087B318 AFA60028 */ sw $a2, 0x0028($sp) -/* 0055C 8087B31C 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00560 8087B320 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00564 8087B324 8FA40034 */ lw $a0, 0x0034($sp) -/* 00568 8087B328 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0056C 8087B32C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00570 8087B330 8FA60028 */ lw $a2, 0x0028($sp) -/* 00574 8087B334 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00578 8087B338 00812821 */ addu $a1, $a0, $at -.L8087B33C: -/* 0057C 8087B33C 8FBF0024 */ lw $ra, 0x0024($sp) -.L8087B340: -/* 00580 8087B340 8FB00020 */ lw $s0, 0x0020($sp) -/* 00584 8087B344 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00588 8087B348 03E00008 */ jr $ra -/* 0058C 8087B34C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B350.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B350.s deleted file mode 100644 index 8c529544a5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B350.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8087B350 -/* 00590 8087B350 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00594 8087B354 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00598 8087B358 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0059C 8087B35C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 005A0 8087B360 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C -/* 005A4 8087B364 AFA60018 */ sw $a2, 0x0018($sp) -/* 005A8 8087B368 00052A03 */ sra $a1, $a1, 8 -/* 005AC 8087B36C 0C00B2D0 */ jal Flags_GetSwitch - -/* 005B0 8087B370 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 005B4 8087B374 10400005 */ beq $v0, $zero, .L8087B38C -/* 005B8 8087B378 8FA60018 */ lw $a2, 0x0018($sp) -/* 005BC 8087B37C 3C0E8088 */ lui $t6, %hi(BgGndSoulmeiro_Draw) ## $t6 = 80880000 -/* 005C0 8087B380 25CEB3CC */ addiu $t6, $t6, %lo(BgGndSoulmeiro_Draw) ## $t6 = 8087B3CC -/* 005C4 8087B384 10000002 */ beq $zero, $zero, .L8087B390 -/* 005C8 8087B388 ACCE0134 */ sw $t6, 0x0134($a2) ## 00000134 -.L8087B38C: -/* 005CC 8087B38C ACC00134 */ sw $zero, 0x0134($a2) ## 00000134 -.L8087B390: -/* 005D0 8087B390 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005D4 8087B394 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 005D8 8087B398 03E00008 */ jr $ra -/* 005DC 8087B39C 00000000 */ nop diff --git a/data/overlays/actors/z_bg_gnd_soulmeiro.data.s b/data/overlays/actors/z_bg_gnd_soulmeiro.data.s deleted file mode 100644 index 59f2ffd49d..0000000000 --- a/data/overlays/actors/z_bg_gnd_soulmeiro.data.s +++ /dev/null @@ -1,26 +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 Bg_Gnd_Soulmeiro_InitVars - .word 0x01B50600, 0x00000000, 0x01790000, 0x000001A0 -.word BgGndSoulmeiro_Init -.word BgGndSoulmeiro_Destroy -.word BgGndSoulmeiro_Update -.word BgGndSoulmeiro_Draw -glabel D_8087B530 - .word 0x0A000900, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00020800, 0x00000000, 0x00010000, 0x00320014, 0x00140000, 0x00000000 -glabel D_8087B55C - .word 0xC8500064, 0xB0F403E8, 0xB0F803E8, 0x30FC03E8 -glabel D_8087B56C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_8087B578 - .word 0x06007C00, 0x06002320, 0x060035A0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_bg_gnd_soulmeiro.reloc.s b/data/overlays/actors/z_bg_gnd_soulmeiro.reloc.s deleted file mode 100644 index a94c171f0d..0000000000 --- a/data/overlays/actors/z_bg_gnd_soulmeiro.reloc.s +++ /dev/null @@ -1,13 +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 .rodata - -.balign 16 - -glabel D_8087B5F0 - .incbin "baserom/ovl_Bg_Gnd_Soulmeiro", 0x830, 0x000000C0 diff --git a/spec b/spec index 1963f2f9d4..7c5b193581 100644 --- a/spec +++ b/spec @@ -738,8 +738,7 @@ endseg beginseg name "ovl_Bg_Gnd_Soulmeiro" include "build/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.o" - include "build/data/overlays/actors/z_bg_gnd_soulmeiro.data.o" - include "build/data/overlays/actors/z_bg_gnd_soulmeiro.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/ovl_Bg_Gnd_Soulmeiro_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c index dcfa67394b..59b56620a8 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_soulmeiro.h" +#include "global.h" #define FLAGS 0x00000000 @@ -19,7 +20,6 @@ void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx); void func_8087B284(BgGndSoulmeiro* this, GlobalContext* globalCtx); void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx); -/* const ActorInit Bg_Gnd_Soulmeiro_InitVars = { ACTOR_BG_GND_SOULMEIRO, ACTORTYPE_PROP, @@ -31,17 +31,184 @@ const ActorInit Bg_Gnd_Soulmeiro_InitVars = { (ActorFunc)BgGndSoulmeiro_Update, (ActorFunc)BgGndSoulmeiro_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Destroy.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x10, COLSHAPE_CYLINDER }, + { 0x00, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00020800, 0x00, 0x00 }, 0x00, 0x01, 0x00 }, + { 50, 20, 20, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087AF38.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 1000, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B284.s") +static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/func_8087B350.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Update.s") +Gfx* D_8087B578[] = { 0x06007C00, 0x06002320, 0x060035A0 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Soulmeiro/BgGndSoulmeiro_Draw.s") +void BgGndSoulmeiro_Init(Actor* thisx, GlobalContext* globalCtx) { + BgGndSoulmeiro* this = THIS; + s32 pad; + + Actor_ProcessInitChain(&this->actor, sInitChain); + this->actionFunc = NULL; + + switch (this->actor.params & 0xFF) { + case 0: + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + this->actionFunc = func_8087B284; + if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) { + + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, this->actor.posRot.pos.x, + this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0, 9); + this->actor.draw = NULL; + Actor_Kill(&this->actor); + return; + } else { + this->actor.draw = BgGndSoulmeiro_Draw; + } + break; + case 1: + case 2: + if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) { + this->actor.draw = BgGndSoulmeiro_Draw; + } else { + this->actor.draw = NULL; + } + this->actionFunc = func_8087B350; + break; + } +} + +void BgGndSoulmeiro_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgGndSoulmeiro* this = THIS; + + if ((this->actor.params & 0xFF) == 0) { + Collider_DestroyCylinder(globalCtx, &this->collider); + } +} + +void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) { + Vec3f vecA; + Vec3f vecB; + s16 temp_1; + s16 temp_2; + f32 temp_3; + f32 temp_4; + f32 distXZ; + s32 i; + BgGndSoulmeiro* this2; + + if (this->unk_198 != 0) { + this->unk_198--; + } + + if (this->unk_198 == 20) { + Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F); + this->actor.draw = NULL; + } + + // This should be this->unk_198 == 0, this is required to match + if (!this->unk_198) { + Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F); + Actor_Kill(&this->actor); + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, this->actor.posRot.pos.x, this->actor.posRot.pos.y, + this->actor.posRot.pos.z, 0, 0, 0, 9); + return; + } + + if (1) {} + + if ((this->unk_198 % 6) == 0) { + temp_2 = Math_Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f + vecA.y = 0.0f; + vecB.y = this->actor.posRot.pos.y; + + this2 = this; + for (i = 0; i < 6; i++) { + temp_1 = Math_Rand_CenteredFloat(0x2800) + temp_2; + temp_3 = Math_Sins(temp_1); + temp_4 = Math_Coss(temp_1); + vecB.x = this2->actor.posRot.pos.x + (120.0f * temp_3); + vecB.z = this2->actor.posRot.pos.z + (120.0f * temp_4); + distXZ = Math_Vec3f_DistXZ(&this2->actor.initPosRot.pos, &vecB) * (1.0f / 120.f); + if (distXZ < 0.7f) { + temp_3 = Math_Sins(temp_1 + 0x8000); + temp_4 = Math_Coss(temp_1 + 0x8000); + vecB.x = this->actor.posRot.pos.x + (120.0f * temp_3); + vecB.z = this->actor.posRot.pos.z + (120.0f * temp_4); + distXZ = Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &vecB) * (1.0f / 120.f); + } + + vecA.x = 4.0f * temp_3 * distXZ; + vecA.y = 0.0f; + vecA.z = 4.0f * temp_4 * distXZ; + EffectSsDeadDb_Spawn(globalCtx, &this->actor.initPosRot.pos, &vecA, &sZeroVec, 60, 6, 255, 255, 150, + 170, 255, 0, 0, 1, 14, true); + temp_2 += 0x2AAA; + } + } +} + +void func_8087B284(BgGndSoulmeiro* this, GlobalContext* globalCtx) { + s32 pad; + + if (!Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) { + this->actor.draw = BgGndSoulmeiro_Draw; + if (this->collider.base.acFlags & 2) { + Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + this->unk_198 = 40; + this->actionFunc = func_8087AF38; + return; + } + Collider_CylinderUpdate(&this->actor, &this->collider); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } +} + +void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx) { + + if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) { + this->actor.draw = BgGndSoulmeiro_Draw; + } else { + this->actor.draw = NULL; + } +} + +void BgGndSoulmeiro_Update(Actor* thisx, GlobalContext* globalCtx) { + BgGndSoulmeiro* this = THIS; + + if (this->actionFunc != NULL) { + this->actionFunc(this, globalCtx); + } +} + +void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 params = thisx->params & 0xFF; + + if (1) {} + + switch (params) { + case 0: + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 398); + + func_80093D84(globalCtx->state.gfxCtx); + gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPDisplayList(oGfxCtx->polyXlu.p++, D_8087B578[params]); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 403); + break; + case 1: + Gfx_DrawDListXlu(globalCtx, D_8087B578[params]); + break; + case 2: + Gfx_DrawDListOpa(globalCtx, D_8087B578[params]); + break; + } +} diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.h b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.h index 41ae0cec57..318afd871e 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.h +++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.h @@ -10,7 +10,8 @@ typedef void (*BgGndSoulmeiroActionFunc)(struct BgGndSoulmeiro*, GlobalContext*) typedef struct BgGndSoulmeiro { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x50]; + /* 0x014C */ ColliderCylinder collider; + /* 0x0198 */ u16 unk_198; /* 0x019C */ BgGndSoulmeiroActionFunc actionFunc; } BgGndSoulmeiro; // size = 0x01A0 From 9d3554220793d515230844f894ede66100bdc039 Mon Sep 17 00:00:00 2001 From: maekclena Date: Sun, 11 Oct 2020 15:21:12 +0200 Subject: [PATCH 2/8] ovl_En_Butte (#440) * ovl_En_Butte * Delete asm and inline static data * Style * PR review --- .../actors/ovl_En_Butte/EnButte_Destroy.s | 11 - .../actors/ovl_En_Butte/EnButte_Draw.s | 42 -- .../actors/ovl_En_Butte/EnButte_Init.s | 122 ------ .../actors/ovl_En_Butte/EnButte_Update.s | 95 ----- .../actors/ovl_En_Butte/func_809CD070.s | 44 -- .../actors/ovl_En_Butte/func_809CD0F8.s | 7 - .../actors/ovl_En_Butte/func_809CD110.s | 19 - .../actors/ovl_En_Butte/func_809CD144.s | 187 -------- .../actors/ovl_En_Butte/func_809CD56C.s | 56 --- .../actors/ovl_En_Butte/func_809CD634.s | 56 --- .../actors/ovl_En_Butte/func_809CD6FC.s | 45 -- .../actors/ovl_En_Butte/func_809CD79C.s | 20 - .../actors/ovl_En_Butte/func_809CD7E8.s | 299 ------------- .../actors/ovl_En_Butte/func_809CDBCC.s | 20 - .../actors/ovl_En_Butte/func_809CDC18.s | 275 ------------ .../actors/ovl_En_Butte/func_809CDFC4.s | 21 - .../actors/ovl_En_Butte/func_809CE014.s | 55 --- .../actors/ovl_En_Butte/func_809CE0D0.s | 8 - .../actors/ovl_En_Butte/func_809CE0EC.s | 15 - data/overlays/actors/z_en_butte.data.s | 45 -- data/overlays/actors/z_en_butte.reloc.s | 13 - spec | 3 +- src/overlays/actors/ovl_En_Butte/z_en_butte.c | 399 +++++++++++++++++- src/overlays/actors/ovl_En_Butte/z_en_butte.h | 18 +- undefined_syms.txt | 4 + 25 files changed, 400 insertions(+), 1479 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s delete mode 100644 data/overlays/actors/z_en_butte.data.s delete mode 100644 data/overlays/actors/z_en_butte.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s deleted file mode 100644 index 95bfcb2139..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel EnButte_Destroy -/* 004D4 809CD544 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 004D8 809CD548 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 004DC 809CD54C AFBF0014 */ sw $ra, 0x0014($sp) -/* 004E0 809CD550 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 004E4 809CD554 0C016F32 */ jal Collider_DestroyJntSph -/* 004E8 809CD558 24E5014C */ addiu $a1, $a3, 0x014C ## $a1 = 0000014C -/* 004EC 809CD55C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 004F0 809CD560 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 004F4 809CD564 03E00008 */ jr $ra -/* 004F8 809CD568 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s deleted file mode 100644 index 2a100af928..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel EnButte_Draw -/* 011EC 809CE25C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 011F0 809CE260 AFBF0024 */ sw $ra, 0x0024($sp) -/* 011F4 809CE264 AFB00020 */ sw $s0, 0x0020($sp) -/* 011F8 809CE268 AFA5002C */ sw $a1, 0x002C($sp) -/* 011FC 809CE26C 908E0258 */ lbu $t6, 0x0258($a0) ## 00000258 -/* 01200 809CE270 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01204 809CE274 51C0000E */ beql $t6, $zero, .L809CE2B0 -/* 01208 809CE278 8618001C */ lh $t8, 0x001C($s0) ## 0000001C -/* 0120C 809CE27C 0C024F46 */ jal func_80093D18 -/* 01210 809CE280 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 01214 809CE284 8E0501B0 */ lw $a1, 0x01B0($s0) ## 000001B0 -/* 01218 809CE288 8E0601CC */ lw $a2, 0x01CC($s0) ## 000001CC -/* 0121C 809CE28C AFA00014 */ sw $zero, 0x0014($sp) -/* 01220 809CE290 AFA00010 */ sw $zero, 0x0010($sp) -/* 01224 809CE294 8FA4002C */ lw $a0, 0x002C($sp) -/* 01228 809CE298 0C028572 */ jal SkelAnime_Draw - -/* 0122C 809CE29C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01230 809CE2A0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 01234 809CE2A4 0C018A29 */ jal func_800628A4 -/* 01238 809CE2A8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0123C 809CE2AC 8618001C */ lh $t8, 0x001C($s0) ## 0000001C -.L809CE2B0: -/* 01240 809CE2B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01244 809CE2B4 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000 -/* 01248 809CE2B8 57210009 */ bnel $t9, $at, .L809CE2E0 -/* 0124C 809CE2BC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 01250 809CE2C0 8E090250 */ lw $t1, 0x0250($s0) ## 00000250 -/* 01254 809CE2C4 3C08809D */ lui $t0, %hi(func_809CE014) ## $t0 = 809D0000 -/* 01258 809CE2C8 2508E014 */ addiu $t0, $t0, %lo(func_809CE014) ## $t0 = 809CE014 -/* 0125C 809CE2CC 15090003 */ bne $t0, $t1, .L809CE2DC -/* 01260 809CE2D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01264 809CE2D4 0C273451 */ jal func_809CD144 -/* 01268 809CE2D8 8FA5002C */ lw $a1, 0x002C($sp) -.L809CE2DC: -/* 0126C 809CE2DC 8FBF0024 */ lw $ra, 0x0024($sp) -.L809CE2E0: -/* 01270 809CE2E0 8FB00020 */ lw $s0, 0x0020($sp) -/* 01274 809CE2E4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01278 809CE2E8 03E00008 */ jr $ra -/* 0127C 809CE2EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s deleted file mode 100644 index f831d775ad..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s +++ /dev/null @@ -1,122 +0,0 @@ -.rdata -glabel D_809CE450 - .asciz "(field keep 蝶)(%x)(arg_data 0x%04x)\n" - .balign 4 - -.late_rodata -glabel D_809CE48C - .word 0x477FFF00 -glabel D_809CE490 - .word 0x477FFF00 -glabel D_809CE494 - .word 0x477FFF00 - -.text -glabel EnButte_Init -/* 0034C 809CD3BC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00350 809CD3C0 AFBF002C */ sw $ra, 0x002C($sp) -/* 00354 809CD3C4 AFB00028 */ sw $s0, 0x0028($sp) -/* 00358 809CD3C8 AFA50044 */ sw $a1, 0x0044($sp) -/* 0035C 809CD3CC 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00360 809CD3D0 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00364 809CD3D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00368 809CD3D8 15C10002 */ bne $t6, $at, .L809CD3E4 -/* 0036C 809CD3DC 3C05809D */ lui $a1, %hi(D_809CE3D0) ## $a1 = 809D0000 -/* 00370 809CD3E0 A480001C */ sh $zero, 0x001C($a0) ## 0000001C -.L809CD3E4: -/* 00374 809CD3E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00378 809CD3E8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0037C 809CD3EC 24A5E3D0 */ addiu $a1, $a1, %lo(D_809CE3D0) ## $a1 = 809CE3D0 -/* 00380 809CD3F0 860F001C */ lh $t7, 0x001C($s0) ## 0000001C -/* 00384 809CD3F4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00388 809CD3F8 260501AC */ addiu $a1, $s0, 0x01AC ## $a1 = 000001AC -/* 0038C 809CD3FC 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 00390 809CD400 17010005 */ bne $t8, $at, .L809CD418 -/* 00394 809CD404 3C060500 */ lui $a2, 0x0500 ## $a2 = 05000000 -/* 00398 809CD408 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0039C 809CD40C 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00 -/* 003A0 809CD410 00000000 */ nop -/* 003A4 809CD414 E60400F8 */ swc1 $f4, 0x00F8($s0) ## 000000F8 -.L809CD418: -/* 003A8 809CD418 3C070500 */ lui $a3, 0x0500 ## $a3 = 05000000 -/* 003AC 809CD41C 261901F0 */ addiu $t9, $s0, 0x01F0 ## $t9 = 000001F0 -/* 003B0 809CD420 26080220 */ addiu $t0, $s0, 0x0220 ## $t0 = 00000220 -/* 003B4 809CD424 24090008 */ addiu $t1, $zero, 0x0008 ## $t1 = 00000008 -/* 003B8 809CD428 AFA90018 */ sw $t1, 0x0018($sp) -/* 003BC 809CD42C AFA80014 */ sw $t0, 0x0014($sp) -/* 003C0 809CD430 AFB90010 */ sw $t9, 0x0010($sp) -/* 003C4 809CD434 24E72470 */ addiu $a3, $a3, 0x2470 ## $a3 = 05002470 -/* 003C8 809CD438 8FA40044 */ lw $a0, 0x0044($sp) -/* 003CC 809CD43C 24C636F0 */ addiu $a2, $a2, 0x36F0 ## $a2 = 050036F0 -/* 003D0 809CD440 0C02915F */ jal SkelAnime_Init - -/* 003D4 809CD444 AFA50038 */ sw $a1, 0x0038($sp) -/* 003D8 809CD448 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 003DC 809CD44C AFA50034 */ sw $a1, 0x0034($sp) -/* 003E0 809CD450 0C016EFE */ jal Collider_InitJntSph -/* 003E4 809CD454 8FA40044 */ lw $a0, 0x0044($sp) -/* 003E8 809CD458 3C07809D */ lui $a3, %hi(D_809CE314) ## $a3 = 809D0000 -/* 003EC 809CD45C 260A016C */ addiu $t2, $s0, 0x016C ## $t2 = 0000016C -/* 003F0 809CD460 8FA50034 */ lw $a1, 0x0034($sp) -/* 003F4 809CD464 AFAA0010 */ sw $t2, 0x0010($sp) -/* 003F8 809CD468 24E7E314 */ addiu $a3, $a3, %lo(D_809CE314) ## $a3 = 809CE314 -/* 003FC 809CD46C 8FA40044 */ lw $a0, 0x0044($sp) -/* 00400 809CD470 0C017014 */ jal Collider_SetJntSph -/* 00404 809CD474 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00408 809CD478 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 0040C 809CD47C A20000AE */ sb $zero, 0x00AE($s0) ## 000000AE -/* 00410 809CD480 3C01809D */ lui $at, %hi(D_809CE48C) ## $at = 809D0000 -/* 00414 809CD484 C426E48C */ lwc1 $f6, %lo(D_809CE48C)($at) -/* 00418 809CD488 46060202 */ mul.s $f8, $f0, $f6 -/* 0041C 809CD48C 4600428D */ trunc.w.s $f10, $f8 -/* 00420 809CD490 440C5000 */ mfc1 $t4, $f10 -/* 00424 809CD494 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00428 809CD498 A60C025C */ sh $t4, 0x025C($s0) ## 0000025C -/* 0042C 809CD49C 3C01809D */ lui $at, %hi(D_809CE490) ## $at = 809D0000 -/* 00430 809CD4A0 C430E490 */ lwc1 $f16, %lo(D_809CE490)($at) -/* 00434 809CD4A4 46100482 */ mul.s $f18, $f0, $f16 -/* 00438 809CD4A8 4600910D */ trunc.w.s $f4, $f18 -/* 0043C 809CD4AC 440E2000 */ mfc1 $t6, $f4 -/* 00440 809CD4B0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00444 809CD4B4 A60E025E */ sh $t6, 0x025E($s0) ## 0000025E -/* 00448 809CD4B8 3C01809D */ lui $at, %hi(D_809CE494) ## $at = 809D0000 -/* 0044C 809CD4BC C426E494 */ lwc1 $f6, %lo(D_809CE494)($at) -/* 00450 809CD4C0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00454 809CD4C4 3C050500 */ lui $a1, 0x0500 ## $a1 = 05000000 -/* 00458 809CD4C8 46060202 */ mul.s $f8, $f0, $f6 -/* 0045C 809CD4CC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00460 809CD4D0 44071000 */ mfc1 $a3, $f2 -/* 00464 809CD4D4 24A52470 */ addiu $a1, $a1, 0x2470 ## $a1 = 05002470 -/* 00468 809CD4D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 0046C 809CD4DC 4600428D */ trunc.w.s $f10, $f8 -/* 00470 809CD4E0 44185000 */ mfc1 $t8, $f10 -/* 00474 809CD4E4 00000000 */ nop -/* 00478 809CD4E8 A6180260 */ sh $t8, 0x0260($s0) ## 00000260 -/* 0047C 809CD4EC AFB90014 */ sw $t9, 0x0014($sp) -/* 00480 809CD4F0 8FA40038 */ lw $a0, 0x0038($sp) -/* 00484 809CD4F4 E7A20018 */ swc1 $f2, 0x0018($sp) -/* 00488 809CD4F8 0C029468 */ jal SkelAnime_ChangeAnim - -/* 0048C 809CD4FC E7A20010 */ swc1 $f2, 0x0010($sp) -/* 00490 809CD500 0C2735E7 */ jal func_809CD79C -/* 00494 809CD504 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00498 809CD508 860800B4 */ lh $t0, 0x00B4($s0) ## 000000B4 -/* 0049C 809CD50C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 004A0 809CD510 3C04809D */ lui $a0, %hi(D_809CE450) ## $a0 = 809D0000 -/* 004A4 809CD514 2509DCE0 */ addiu $t1, $t0, 0xDCE0 ## $t1 = FFFFDCE0 -/* 004A8 809CD518 A60900B4 */ sh $t1, 0x00B4($s0) ## 000000B4 -/* 004AC 809CD51C A20A0258 */ sb $t2, 0x0258($s0) ## 00000258 -/* 004B0 809CD520 2484E450 */ addiu $a0, $a0, %lo(D_809CE450) ## $a0 = 809CE450 -/* 004B4 809CD524 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 004B8 809CD528 0C00084C */ jal osSyncPrintf - -/* 004BC 809CD52C 8606001C */ lh $a2, 0x001C($s0) ## 0000001C -/* 004C0 809CD530 8FBF002C */ lw $ra, 0x002C($sp) -/* 004C4 809CD534 8FB00028 */ lw $s0, 0x0028($sp) -/* 004C8 809CD538 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 004CC 809CD53C 03E00008 */ jr $ra -/* 004D0 809CD540 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s deleted file mode 100644 index 4beba75576..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s +++ /dev/null @@ -1,95 +0,0 @@ -.late_rodata -glabel D_809CE4C8 - .float 5000.0 - -.text -glabel EnButte_Update -/* 010AC 809CE11C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 010B0 809CE120 AFBF001C */ sw $ra, 0x001C($sp) -/* 010B4 809CE124 AFB00018 */ sw $s0, 0x0018($sp) -/* 010B8 809CE128 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C -/* 010BC 809CE12C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 010C0 809CE130 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 010C4 809CE134 50400008 */ beql $v0, $zero, .L809CE158 -/* 010C8 809CE138 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010CC 809CE13C 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 010D0 809CE140 55C00005 */ bnel $t6, $zero, .L809CE158 -/* 010D4 809CE144 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010D8 809CE148 50820003 */ beql $a0, $v0, .L809CE158 -/* 010DC 809CE14C 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010E0 809CE150 AC80011C */ sw $zero, 0x011C($a0) ## 0000011C -/* 010E4 809CE154 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -.L809CE158: -/* 010E8 809CE158 18400002 */ blez $v0, .L809CE164 -/* 010EC 809CE15C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 010F0 809CE160 A60F0254 */ sh $t7, 0x0254($s0) ## 00000254 -.L809CE164: -/* 010F4 809CE164 8618025C */ lh $t8, 0x025C($s0) ## 0000025C -/* 010F8 809CE168 8608025E */ lh $t0, 0x025E($s0) ## 0000025E -/* 010FC 809CE16C 860A0260 */ lh $t2, 0x0260($s0) ## 00000260 -/* 01100 809CE170 860C001C */ lh $t4, 0x001C($s0) ## 0000001C -/* 01104 809CE174 27190222 */ addiu $t9, $t8, 0x0222 ## $t9 = 00000222 -/* 01108 809CE178 25091000 */ addiu $t1, $t0, 0x1000 ## $t1 = 00001000 -/* 0110C 809CE17C 254B0600 */ addiu $t3, $t2, 0x0600 ## $t3 = 00000600 -/* 01110 809CE180 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000 -/* 01114 809CE184 A619025C */ sh $t9, 0x025C($s0) ## 0000025C -/* 01118 809CE188 A609025E */ sh $t1, 0x025E($s0) ## 0000025E -/* 0111C 809CE18C 15A1000C */ bne $t5, $at, .L809CE1C0 -/* 01120 809CE190 A60B0260 */ sh $t3, 0x0260($s0) ## 00000260 -/* 01124 809CE194 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 01128 809CE198 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050 -/* 0112C 809CE19C 81CF0843 */ lb $t7, 0x0843($t6) ## 00000843 -/* 01130 809CE1A0 55E00007 */ bnel $t7, $zero, .L809CE1C0 -/* 01134 809CE1A4 A619025A */ sh $t9, 0x025A($s0) ## 0000025A -/* 01138 809CE1A8 8602025A */ lh $v0, 0x025A($s0) ## 0000025A -/* 0113C 809CE1AC 18400004 */ blez $v0, .L809CE1C0 -/* 01140 809CE1B0 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF -/* 01144 809CE1B4 10000002 */ beq $zero, $zero, .L809CE1C0 -/* 01148 809CE1B8 A618025A */ sh $t8, 0x025A($s0) ## 0000025A -/* 0114C 809CE1BC A619025A */ sh $t9, 0x025A($s0) ## 0000025A -.L809CE1C0: -/* 01150 809CE1C0 AFA50024 */ sw $a1, 0x0024($sp) -/* 01154 809CE1C4 8E190250 */ lw $t9, 0x0250($s0) ## 00000250 -/* 01158 809CE1C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0115C 809CE1CC 0320F809 */ jalr $ra, $t9 -/* 01160 809CE1D0 00000000 */ nop -/* 01164 809CE1D4 8E080130 */ lw $t0, 0x0130($s0) ## 00000130 -/* 01168 809CE1D8 5100001C */ beql $t0, $zero, .L809CE24C -/* 0116C 809CE1DC 8FBF001C */ lw $ra, 0x001C($sp) -/* 01170 809CE1E0 0C00B638 */ jal Actor_MoveForward - -/* 01174 809CE1E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01178 809CE1E8 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000 -/* 0117C 809CE1EC 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A -/* 01180 809CE1F0 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 01184 809CE1F4 0C01DE80 */ jal Math_ApproxF - -/* 01188 809CE1F8 8E050264 */ lw $a1, 0x0264($s0) ## 00000264 -/* 0118C 809CE1FC 3C01809D */ lui $at, %hi(D_809CE4C8) ## $at = 809D0000 -/* 01190 809CE200 C426E4C8 */ lwc1 $f6, %lo(D_809CE4C8)($at) -/* 01194 809CE204 C604008C */ lwc1 $f4, 0x008C($s0) ## 0000008C -/* 01198 809CE208 8FA40024 */ lw $a0, 0x0024($sp) -/* 0119C 809CE20C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 011A0 809CE210 4606203C */ c.lt.s $f4, $f6 -/* 011A4 809CE214 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 011A8 809CE218 00812821 */ addu $a1, $a0, $at -/* 011AC 809CE21C 45020004 */ bc1fl .L809CE230 -/* 011B0 809CE220 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -/* 011B4 809CE224 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 011B8 809CE228 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 011BC 809CE22C C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -.L809CE230: -/* 011C0 809CE230 C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054 -/* 011C4 809CE234 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 011C8 809CE238 460A4402 */ mul.s $f16, $f8, $f10 -/* 011CC 809CE23C 44058000 */ mfc1 $a1, $f16 -/* 011D0 809CE240 0C00B56E */ jal Actor_SetHeight - -/* 011D4 809CE244 00000000 */ nop -/* 011D8 809CE248 8FBF001C */ lw $ra, 0x001C($sp) -.L809CE24C: -/* 011DC 809CE24C 8FB00018 */ lw $s0, 0x0018($sp) -/* 011E0 809CE250 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 011E4 809CE254 03E00008 */ jr $ra -/* 011E8 809CE258 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s deleted file mode 100644 index d5a209f234..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s +++ /dev/null @@ -1,44 +0,0 @@ -.late_rodata -glabel D_809CE478 - .float 0.6 - -.text -glabel func_809CD070 -/* 00000 809CD070 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 809CD074 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 809CD078 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 0000C 809CD07C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00010 809CD080 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00014 809CD084 55C00012 */ bnel $t6, $zero, .L809CD0D0 -/* 00018 809CD088 A0C00256 */ sb $zero, 0x0256($a2) ## 00000256 -/* 0001C 809CD08C AFA40018 */ sw $a0, 0x0018($sp) -/* 00020 809CD090 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00024 809CD094 AFA5001C */ sw $a1, 0x001C($sp) -/* 00028 809CD098 3C01809D */ lui $at, %hi(D_809CE478) ## $at = 809D0000 -/* 0002C 809CD09C C424E478 */ lwc1 $f4, %lo(D_809CE478)($at) -/* 00030 809CD0A0 8FA60018 */ lw $a2, 0x0018($sp) -/* 00034 809CD0A4 8FA7001C */ lw $a3, 0x001C($sp) -/* 00038 809CD0A8 4604003C */ c.lt.s $f0, $f4 -/* 0003C 809CD0AC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00040 809CD0B0 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00044 809CD0B4 45000003 */ bc1f .L809CD0C4 -/* 00048 809CD0B8 00000000 */ nop -/* 0004C 809CD0BC 10000004 */ beq $zero, $zero, .L809CD0D0 -/* 00050 809CD0C0 A0CF0256 */ sb $t7, 0x0256($a2) ## 00000256 -.L809CD0C4: -/* 00054 809CD0C4 10000002 */ beq $zero, $zero, .L809CD0D0 -/* 00058 809CD0C8 A0D80256 */ sb $t8, 0x0256($a2) ## 00000256 -/* 0005C 809CD0CC A0C00256 */ sb $zero, 0x0256($a2) ## 00000256 -.L809CD0D0: -/* 00060 809CD0D0 84E40000 */ lh $a0, 0x0000($a3) ## 00000000 -/* 00064 809CD0D4 84E50002 */ lh $a1, 0x0002($a3) ## 00000002 -/* 00068 809CD0D8 0C01DF64 */ jal Math_Rand_S16Offset - -/* 0006C 809CD0DC AFA60018 */ sw $a2, 0x0018($sp) -/* 00070 809CD0E0 8FA60018 */ lw $a2, 0x0018($sp) -/* 00074 809CD0E4 A4C20254 */ sh $v0, 0x0254($a2) ## 00000254 -/* 00078 809CD0E8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0007C 809CD0EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00080 809CD0F0 03E00008 */ jr $ra -/* 00084 809CD0F4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s deleted file mode 100644 index 489a6436d4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_809CD0F8 -/* 00088 809CD0F8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 0008C 809CD0FC 3C01809D */ lui $at, %hi(D_809CE3BC) ## $at = 809D0000 -/* 00090 809CD100 E424E3BC */ swc1 $f4, %lo(D_809CE3BC)($at) -/* 00094 809CD104 3C01809D */ lui $at, %hi(D_809CE3C0) ## $at = 809D0000 -/* 00098 809CD108 03E00008 */ jr $ra -/* 0009C 809CD10C A420E3C0 */ sh $zero, %lo(D_809CE3C0)($at) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s deleted file mode 100644 index 9f5db7d439..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s +++ /dev/null @@ -1,19 +0,0 @@ -.late_rodata -glabel D_809CE47C - .word 0x3B449BA6 - -.text -glabel func_809CD110 -/* 000A0 809CD110 3C02809D */ lui $v0, %hi(D_809CE3BC) ## $v0 = 809D0000 -/* 000A4 809CD114 2442E3BC */ addiu $v0, $v0, %lo(D_809CE3BC) ## $v0 = 809CE3BC -/* 000A8 809CD118 3C01809D */ lui $at, %hi(D_809CE47C) ## $at = 809D0000 -/* 000AC 809CD11C C426E47C */ lwc1 $f6, %lo(D_809CE47C)($at) -/* 000B0 809CD120 C4440000 */ lwc1 $f4, 0x0000($v0) ## 809CE3BC -/* 000B4 809CD124 3C03809D */ lui $v1, %hi(D_809CE3C0) ## $v1 = 809D0000 -/* 000B8 809CD128 2463E3C0 */ addiu $v1, $v1, %lo(D_809CE3C0) ## $v1 = 809CE3C0 -/* 000BC 809CD12C 846E0000 */ lh $t6, 0x0000($v1) ## 809CE3C0 -/* 000C0 809CD130 46062200 */ add.s $f8, $f4, $f6 -/* 000C4 809CD134 25CF0FA0 */ addiu $t7, $t6, 0x0FA0 ## $t7 = 00000FA0 -/* 000C8 809CD138 A46F0000 */ sh $t7, 0x0000($v1) ## 809CE3C0 -/* 000CC 809CD13C 03E00008 */ jr $ra -/* 000D0 809CD140 E4480000 */ swc1 $f8, 0x0000($v0) ## 809CE3BC diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s deleted file mode 100644 index eabc2195e0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s +++ /dev/null @@ -1,187 +0,0 @@ -.rdata -glabel D_809CE420 - .asciz "../z_en_choo.c" - .balign 4 - -glabel D_809CE430 - .asciz "../z_en_choo.c" - .balign 4 - -glabel D_809CE440 - .asciz "../z_en_choo.c" - .balign 4 - -.late_rodata -glabel D_809CE480 - .float 9.58738019108e-05 - -glabel D_809CE484 - .float 9.58738019108e-05 - -glabel D_809CE488 - .float 9.58738019108e-05 - -.text -glabel func_809CD144 -/* 000D4 809CD144 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 000D8 809CD148 AFBF001C */ sw $ra, 0x001C($sp) -/* 000DC 809CD14C AFB00018 */ sw $s0, 0x0018($sp) -/* 000E0 809CD150 AFA40068 */ sw $a0, 0x0068($sp) -/* 000E4 809CD154 AFA5006C */ sw $a1, 0x006C($sp) -/* 000E8 809CD158 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 000EC 809CD15C 3C06809D */ lui $a2, %hi(D_809CE420) ## $a2 = 809D0000 -/* 000F0 809CD160 24C6E420 */ addiu $a2, $a2, %lo(D_809CE420) ## $a2 = 809CE420 -/* 000F4 809CD164 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFD4 -/* 000F8 809CD168 24070127 */ addiu $a3, $zero, 0x0127 ## $a3 = 00000127 -/* 000FC 809CD16C 0C031AB1 */ jal Graph_OpenDisps -/* 00100 809CD170 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00104 809CD174 8FAF006C */ lw $t7, 0x006C($sp) -/* 00108 809CD178 0C024F05 */ jal func_80093C14 -/* 0010C 809CD17C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00110 809CD180 3C04809D */ lui $a0, %hi(D_809CE3C0) ## $a0 = 809D0000 -/* 00114 809CD184 0C01DE1C */ jal Math_Sins - ## sins? -/* 00118 809CD188 8484E3C0 */ lh $a0, %lo(D_809CE3C0)($a0) -/* 0011C 809CD18C 3C01437A */ lui $at, 0x437A ## $at = 437A0000 -/* 00120 809CD190 44812000 */ mtc1 $at, $f4 ## $f4 = 250.00 -/* 00124 809CD194 00000000 */ nop -/* 00128 809CD198 46040182 */ mul.s $f6, $f0, $f4 -/* 0012C 809CD19C 4600320D */ trunc.w.s $f8, $f6 -/* 00130 809CD1A0 44024000 */ mfc1 $v0, $f8 -/* 00134 809CD1A4 00000000 */ nop -/* 00138 809CD1A8 04410003 */ bgez $v0, .L809CD1B8 -/* 0013C 809CD1AC 28410100 */ slti $at, $v0, 0x0100 -/* 00140 809CD1B0 10000006 */ beq $zero, $zero, .L809CD1CC -/* 00144 809CD1B4 AFA00058 */ sw $zero, 0x0058($sp) -.L809CD1B8: -/* 00148 809CD1B8 14200003 */ bne $at, $zero, .L809CD1C8 -/* 0014C 809CD1BC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 00150 809CD1C0 10000001 */ beq $zero, $zero, .L809CD1C8 -/* 00154 809CD1C4 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF -.L809CD1C8: -/* 00158 809CD1C8 AFA30058 */ sw $v1, 0x0058($sp) -.L809CD1CC: -/* 0015C 809CD1CC 8FA2006C */ lw $v0, 0x006C($sp) -/* 00160 809CD1D0 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFE8 -/* 00164 809CD1D4 845907A0 */ lh $t9, 0x07A0($v0) ## 000007A0 -/* 00168 809CD1D8 00194080 */ sll $t0, $t9, 2 -/* 0016C 809CD1DC 00484821 */ addu $t1, $v0, $t0 -/* 00170 809CD1E0 0C016A5C */ jal func_8005A970 -/* 00174 809CD1E4 8D250790 */ lw $a1, 0x0790($t1) ## 00000790 -/* 00178 809CD1E8 87AA0052 */ lh $t2, 0x0052($sp) -/* 0017C 809CD1EC 3C01809D */ lui $at, %hi(D_809CE480) ## $at = 809D0000 -/* 00180 809CD1F0 C432E480 */ lwc1 $f18, %lo(D_809CE480)($at) -/* 00184 809CD1F4 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00 -/* 00188 809CD1F8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0018C 809CD1FC 46805420 */ cvt.s.w $f16, $f10 -/* 00190 809CD200 46128302 */ mul.s $f12, $f16, $f18 -/* 00194 809CD204 0C034348 */ jal Matrix_RotateY -/* 00198 809CD208 00000000 */ nop -/* 0019C 809CD20C 87AB0050 */ lh $t3, 0x0050($sp) -/* 001A0 809CD210 3C01809D */ lui $at, %hi(D_809CE484) ## $at = 809D0000 -/* 001A4 809CD214 C428E484 */ lwc1 $f8, %lo(D_809CE484)($at) -/* 001A8 809CD218 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 001AC 809CD21C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 001B0 809CD220 468021A0 */ cvt.s.w $f6, $f4 -/* 001B4 809CD224 46083302 */ mul.s $f12, $f6, $f8 -/* 001B8 809CD228 0C0342DC */ jal Matrix_RotateX -/* 001BC 809CD22C 00000000 */ nop -/* 001C0 809CD230 87AC0054 */ lh $t4, 0x0054($sp) -/* 001C4 809CD234 3C01809D */ lui $at, %hi(D_809CE488) ## $at = 809D0000 -/* 001C8 809CD238 C432E488 */ lwc1 $f18, %lo(D_809CE488)($at) -/* 001CC 809CD23C 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 001D0 809CD240 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 001D4 809CD244 46805420 */ cvt.s.w $f16, $f10 -/* 001D8 809CD248 46128302 */ mul.s $f12, $f16, $f18 -/* 001DC 809CD24C 0C0343B5 */ jal Matrix_RotateZ -/* 001E0 809CD250 00000000 */ nop -/* 001E4 809CD254 3C04809D */ lui $a0, %hi(D_809CE3C4) ## $a0 = 809D0000 -/* 001E8 809CD258 2484E3C4 */ addiu $a0, $a0, %lo(D_809CE3C4) ## $a0 = 809CE3C4 -/* 001EC 809CD25C 0C0346BD */ jal Matrix_MultVec3f -/* 001F0 809CD260 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFF4 -/* 001F4 809CD264 8FA20068 */ lw $v0, 0x0068($sp) -/* 001F8 809CD268 C7B20064 */ lwc1 $f18, 0x0064($sp) -/* 001FC 809CD26C C7B0005C */ lwc1 $f16, 0x005C($sp) -/* 00200 809CD270 C44A0040 */ lwc1 $f10, 0x0040($v0) ## 00000040 -/* 00204 809CD274 C4480038 */ lwc1 $f8, 0x0038($v0) ## 00000038 -/* 00208 809CD278 C446003C */ lwc1 $f6, 0x003C($v0) ## 0000003C -/* 0020C 809CD27C 46125480 */ add.s $f18, $f10, $f18 -/* 00210 809CD280 C7AA0060 */ lwc1 $f10, 0x0060($sp) -/* 00214 809CD284 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFE8 -/* 00218 809CD288 46104300 */ add.s $f12, $f8, $f16 -/* 0021C 809CD28C 44069000 */ mfc1 $a2, $f18 -/* 00220 809CD290 0C0345A5 */ jal func_800D1694 -/* 00224 809CD294 460A3380 */ add.s $f14, $f6, $f10 -/* 00228 809CD298 3C01809D */ lui $at, %hi(D_809CE3BC) ## $at = 809D0000 -/* 0022C 809CD29C C42CE3BC */ lwc1 $f12, %lo(D_809CE3BC)($at) -/* 00230 809CD2A0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00234 809CD2A4 44066000 */ mfc1 $a2, $f12 -/* 00238 809CD2A8 0C0342A3 */ jal Matrix_Scale -/* 0023C 809CD2AC 46006386 */ mov.s $f14, $f12 -/* 00240 809CD2B0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00244 809CD2B4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 00248 809CD2B8 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 0024C 809CD2BC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00250 809CD2C0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 00254 809CD2C4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00258 809CD2C8 8FAF006C */ lw $t7, 0x006C($sp) -/* 0025C 809CD2CC 3C05809D */ lui $a1, %hi(D_809CE430) ## $a1 = 809D0000 -/* 00260 809CD2D0 24A5E430 */ addiu $a1, $a1, %lo(D_809CE430) ## $a1 = 809CE430 -/* 00264 809CD2D4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00268 809CD2D8 2406013D */ addiu $a2, $zero, 0x013D ## $a2 = 0000013D -/* 0026C 809CD2DC 0C0346A2 */ jal Matrix_NewMtx -/* 00270 809CD2E0 AFA20038 */ sw $v0, 0x0038($sp) -/* 00274 809CD2E4 8FA30038 */ lw $v1, 0x0038($sp) -/* 00278 809CD2E8 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000 -/* 0027C 809CD2EC 37398080 */ ori $t9, $t9, 0x8080 ## $t9 = FA008080 -/* 00280 809CD2F0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00284 809CD2F4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00288 809CD2F8 3C01C8C8 */ lui $at, 0xC8C8 ## $at = C8C80000 -/* 0028C 809CD2FC 3421B400 */ ori $at, $at, 0xB400 ## $at = C8C8B400 -/* 00290 809CD300 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00294 809CD304 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00298 809CD308 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0029C 809CD30C 8FA80058 */ lw $t0, 0x0058($sp) -/* 002A0 809CD310 3C0DC8C8 */ lui $t5, 0xC8C8 ## $t5 = C8C80000 -/* 002A4 809CD314 35ADD2FF */ ori $t5, $t5, 0xD2FF ## $t5 = C8C8D2FF -/* 002A8 809CD318 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000 -/* 002AC 809CD31C 01215025 */ or $t2, $t1, $at ## $t2 = C8C8B400 -/* 002B0 809CD320 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 002B4 809CD324 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 002B8 809CD328 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 002BC 809CD32C 3C040401 */ lui $a0, 0x0401 ## $a0 = 04010000 -/* 002C0 809CD330 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 002C4 809CD334 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 002C8 809CD338 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 002CC 809CD33C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 002D0 809CD340 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 002D4 809CD344 24840130 */ addiu $a0, $a0, 0x0130 ## $a0 = 04010130 -/* 002D8 809CD348 0004C100 */ sll $t8, $a0, 4 -/* 002DC 809CD34C 0018CF02 */ srl $t9, $t8, 28 -/* 002E0 809CD350 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 002E4 809CD354 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 002E8 809CD358 00194080 */ sll $t0, $t9, 2 -/* 002EC 809CD35C 3C098016 */ lui $t1, %hi(gSegments) -/* 002F0 809CD360 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 002F4 809CD364 01284821 */ addu $t1, $t1, $t0 -/* 002F8 809CD368 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 002FC 809CD36C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00300 809CD370 8D296FA8 */ lw $t1, %lo(gSegments)($t1) -/* 00304 809CD374 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00308 809CD378 00815024 */ and $t2, $a0, $at -/* 0030C 809CD37C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00310 809CD380 012A5821 */ addu $t3, $t1, $t2 -/* 00314 809CD384 01616021 */ addu $t4, $t3, $at -/* 00318 809CD388 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 0031C 809CD38C 8FAD006C */ lw $t5, 0x006C($sp) -/* 00320 809CD390 3C06809D */ lui $a2, %hi(D_809CE440) ## $a2 = 809D0000 -/* 00324 809CD394 24C6E440 */ addiu $a2, $a2, %lo(D_809CE440) ## $a2 = 809CE440 -/* 00328 809CD398 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFD4 -/* 0032C 809CD39C 24070146 */ addiu $a3, $zero, 0x0146 ## $a3 = 00000146 -/* 00330 809CD3A0 0C031AD5 */ jal Graph_CloseDisps -/* 00334 809CD3A4 8DA50000 */ lw $a1, 0x0000($t5) ## C8C8D2FF -/* 00338 809CD3A8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0033C 809CD3AC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00340 809CD3B0 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 00344 809CD3B4 03E00008 */ jr $ra -/* 00348 809CD3B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s deleted file mode 100644 index 04d7fefa3f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_809CD56C -/* 004FC 809CD56C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00500 809CD570 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00504 809CD574 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00508 809CD578 8484025E */ lh $a0, 0x025E($a0) ## 0000025E -/* 0050C 809CD57C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00510 809CD580 AFA50020 */ sw $a1, 0x0020($sp) -/* 00514 809CD584 8FA50020 */ lw $a1, 0x0020($sp) -/* 00518 809CD588 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0051C 809CD58C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00520 809CD590 84A4025C */ lh $a0, 0x025C($a1) ## 0000025C -/* 00524 809CD594 8FA50020 */ lw $a1, 0x0020($sp) -/* 00528 809CD598 3C01C4FA */ lui $at, 0xC4FA ## $at = C4FA0000 -/* 0052C 809CD59C 44816000 */ mtc1 $at, $f12 ## $f12 = -2000.00 -/* 00530 809CD5A0 90A20256 */ lbu $v0, 0x0256($a1) ## 00000256 -/* 00534 809CD5A4 3C01809D */ lui $at, %hi(D_809CE3EC) ## $at = 809D0000 -/* 00538 809CD5A8 C7A40018 */ lwc1 $f4, 0x0018($sp) -/* 0053C 809CD5AC 00021080 */ sll $v0, $v0, 2 -/* 00540 809CD5B0 00220821 */ addu $at, $at, $v0 -/* 00544 809CD5B4 C426E3EC */ lwc1 $f6, %lo(D_809CE3EC)($at) -/* 00548 809CD5B8 3C01809D */ lui $at, %hi(D_809CE3E0) ## $at = 809D0000 -/* 0054C 809CD5BC 00220821 */ addu $at, $at, $v0 -/* 00550 809CD5C0 46062202 */ mul.s $f8, $f4, $f6 -/* 00554 809CD5C4 C42AE3E0 */ lwc1 $f10, %lo(D_809CE3E0)($at) -/* 00558 809CD5C8 C4A400BC */ lwc1 $f4, 0x00BC($a1) ## 000000BC -/* 0055C 809CD5CC 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000 -/* 00560 809CD5D0 460A0402 */ mul.s $f16, $f0, $f10 -/* 00564 809CD5D4 46088480 */ add.s $f18, $f16, $f8 -/* 00568 809CD5D8 46122180 */ add.s $f6, $f4, $f18 -/* 0056C 809CD5DC E4A600BC */ swc1 $f6, 0x00BC($a1) ## 000000BC -/* 00570 809CD5E0 C4A200BC */ lwc1 $f2, 0x00BC($a1) ## 000000BC -/* 00574 809CD5E4 460C103C */ c.lt.s $f2, $f12 -/* 00578 809CD5E8 00000000 */ nop -/* 0057C 809CD5EC 45020004 */ bc1fl .L809CD600 -/* 00580 809CD5F0 44816000 */ mtc1 $at, $f12 ## $f12 = 2000.00 -/* 00584 809CD5F4 1000000B */ beq $zero, $zero, .L809CD624 -/* 00588 809CD5F8 E4AC00BC */ swc1 $f12, 0x00BC($a1) ## 000000BC -/* 0058C 809CD5FC 44816000 */ mtc1 $at, $f12 ## $f12 = 2000.00 -.L809CD600: -/* 00590 809CD600 00000000 */ nop -/* 00594 809CD604 4602603C */ c.lt.s $f12, $f2 -/* 00598 809CD608 00000000 */ nop -/* 0059C 809CD60C 45020004 */ bc1fl .L809CD620 -/* 005A0 809CD610 46001006 */ mov.s $f0, $f2 -/* 005A4 809CD614 10000002 */ beq $zero, $zero, .L809CD620 -/* 005A8 809CD618 46006006 */ mov.s $f0, $f12 -/* 005AC 809CD61C 46001006 */ mov.s $f0, $f2 -.L809CD620: -/* 005B0 809CD620 E4A000BC */ swc1 $f0, 0x00BC($a1) ## 000000BC -.L809CD624: -/* 005B4 809CD624 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005B8 809CD628 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 005BC 809CD62C 03E00008 */ jr $ra -/* 005C0 809CD630 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s deleted file mode 100644 index 308c3dc2fd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_809CD634 -/* 005C4 809CD634 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 005C8 809CD638 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005CC 809CD63C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 005D0 809CD640 8484025E */ lh $a0, 0x025E($a0) ## 0000025E -/* 005D4 809CD644 0C01DE1C */ jal Math_Sins - ## sins? -/* 005D8 809CD648 AFA50020 */ sw $a1, 0x0020($sp) -/* 005DC 809CD64C 8FA50020 */ lw $a1, 0x0020($sp) -/* 005E0 809CD650 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 005E4 809CD654 0C01DE1C */ jal Math_Sins - ## sins? -/* 005E8 809CD658 84A4025C */ lh $a0, 0x025C($a1) ## 0000025C -/* 005EC 809CD65C 8FA50020 */ lw $a1, 0x0020($sp) -/* 005F0 809CD660 3C01C3FA */ lui $at, 0xC3FA ## $at = C3FA0000 -/* 005F4 809CD664 44816000 */ mtc1 $at, $f12 ## $f12 = -500.00 -/* 005F8 809CD668 90A20256 */ lbu $v0, 0x0256($a1) ## 00000256 -/* 005FC 809CD66C 3C01809D */ lui $at, %hi(D_809CE404) ## $at = 809D0000 -/* 00600 809CD670 C7A40018 */ lwc1 $f4, 0x0018($sp) -/* 00604 809CD674 00021080 */ sll $v0, $v0, 2 -/* 00608 809CD678 00220821 */ addu $at, $at, $v0 -/* 0060C 809CD67C C426E404 */ lwc1 $f6, %lo(D_809CE404)($at) -/* 00610 809CD680 3C01809D */ lui $at, %hi(D_809CE3F8) ## $at = 809D0000 -/* 00614 809CD684 00220821 */ addu $at, $at, $v0 -/* 00618 809CD688 46062202 */ mul.s $f8, $f4, $f6 -/* 0061C 809CD68C C42AE3F8 */ lwc1 $f10, %lo(D_809CE3F8)($at) -/* 00620 809CD690 C4A400BC */ lwc1 $f4, 0x00BC($a1) ## 000000BC -/* 00624 809CD694 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 00628 809CD698 460A0402 */ mul.s $f16, $f0, $f10 -/* 0062C 809CD69C 46088480 */ add.s $f18, $f16, $f8 -/* 00630 809CD6A0 46122180 */ add.s $f6, $f4, $f18 -/* 00634 809CD6A4 E4A600BC */ swc1 $f6, 0x00BC($a1) ## 000000BC -/* 00638 809CD6A8 C4A200BC */ lwc1 $f2, 0x00BC($a1) ## 000000BC -/* 0063C 809CD6AC 460C103C */ c.lt.s $f2, $f12 -/* 00640 809CD6B0 00000000 */ nop -/* 00644 809CD6B4 45020004 */ bc1fl .L809CD6C8 -/* 00648 809CD6B8 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -/* 0064C 809CD6BC 1000000B */ beq $zero, $zero, .L809CD6EC -/* 00650 809CD6C0 E4AC00BC */ swc1 $f12, 0x00BC($a1) ## 000000BC -/* 00654 809CD6C4 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -.L809CD6C8: -/* 00658 809CD6C8 00000000 */ nop -/* 0065C 809CD6CC 4602603C */ c.lt.s $f12, $f2 -/* 00660 809CD6D0 00000000 */ nop -/* 00664 809CD6D4 45020004 */ bc1fl .L809CD6E8 -/* 00668 809CD6D8 46001006 */ mov.s $f0, $f2 -/* 0066C 809CD6DC 10000002 */ beq $zero, $zero, .L809CD6E8 -/* 00670 809CD6E0 46006006 */ mov.s $f0, $f12 -/* 00674 809CD6E4 46001006 */ mov.s $f0, $f2 -.L809CD6E8: -/* 00678 809CD6E8 E4A000BC */ swc1 $f0, 0x00BC($a1) ## 000000BC -.L809CD6EC: -/* 0067C 809CD6EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00680 809CD6F0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00684 809CD6F4 03E00008 */ jr $ra -/* 00688 809CD6F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s deleted file mode 100644 index 0e7cadba2b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_809CD6FC -/* 0068C 809CD6FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00690 809CD700 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00694 809CD704 84850032 */ lh $a1, 0x0032($a0) ## 00000032 -/* 00698 809CD708 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 0069C 809CD70C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 006A0 809CD710 00A12821 */ addu $a1, $a1, $at -/* 006A4 809CD714 00052C00 */ sll $a1, $a1, 16 -/* 006A8 809CD718 00052C03 */ sra $a1, $a1, 16 -/* 006AC 809CD71C 00AE1023 */ subu $v0, $a1, $t6 -/* 006B0 809CD720 00021400 */ sll $v0, $v0, 16 -/* 006B4 809CD724 00021403 */ sra $v0, $v0, 16 -/* 006B8 809CD728 04400003 */ bltz $v0, .L809CD738 -/* 006BC 809CD72C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 006C0 809CD730 10000002 */ beq $zero, $zero, .L809CD73C -/* 006C4 809CD734 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -.L809CD738: -/* 006C8 809CD738 00021823 */ subu $v1, $zero, $v0 -.L809CD73C: -/* 006CC 809CD73C 000330C3 */ sra $a2, $v1, 3 -/* 006D0 809CD740 00063400 */ sll $a2, $a2, 16 -/* 006D4 809CD744 00063403 */ sra $a2, $a2, 16 -/* 006D8 809CD748 24E400B6 */ addiu $a0, $a3, 0x00B6 ## $a0 = 000000B6 -/* 006DC 809CD74C 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 006E0 809CD750 AFA70018 */ sw $a3, 0x0018($sp) -/* 006E4 809CD754 8FA70018 */ lw $a3, 0x0018($sp) -/* 006E8 809CD758 84EF0260 */ lh $t7, 0x0260($a3) ## 00000260 -/* 006EC 809CD75C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 006F0 809CD760 0C0400A4 */ jal sinf - -/* 006F4 809CD764 46802320 */ cvt.s.w $f12, $f4 -/* 006F8 809CD768 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 006FC 809CD76C 44813000 */ mtc1 $at, $f6 ## $f6 = 600.00 -/* 00700 809CD770 8FA70018 */ lw $a3, 0x0018($sp) -/* 00704 809CD774 46060202 */ mul.s $f8, $f0, $f6 -/* 00708 809CD778 4600428D */ trunc.w.s $f10, $f8 -/* 0070C 809CD77C 44095000 */ mfc1 $t1, $f10 -/* 00710 809CD780 00000000 */ nop -/* 00714 809CD784 252ADCE0 */ addiu $t2, $t1, 0xDCE0 ## $t2 = FFFFDCE0 -/* 00718 809CD788 A4EA00B4 */ sh $t2, 0x00B4($a3) ## 000000B4 -/* 0071C 809CD78C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00720 809CD790 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00724 809CD794 03E00008 */ jr $ra -/* 00728 809CD798 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s deleted file mode 100644 index 8de57daf23..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_809CD79C -/* 0072C 809CD79C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00730 809CD7A0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00734 809CD7A4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00738 809CD7A8 3C18809D */ lui $t8, %hi(D_809CE344) ## $t8 = 809D0000 -/* 0073C 809CD7AC 2718E344 */ addiu $t8, $t8, %lo(D_809CE344) ## $t8 = 809CE344 -/* 00740 809CD7B0 000E7880 */ sll $t7, $t6, 2 -/* 00744 809CD7B4 01EE7821 */ addu $t7, $t7, $t6 -/* 00748 809CD7B8 000F7880 */ sll $t7, $t7, 2 -/* 0074C 809CD7BC 01F82821 */ addu $a1, $t7, $t8 -/* 00750 809CD7C0 0C27341C */ jal func_809CD070 -/* 00754 809CD7C4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00758 809CD7C8 8FA40018 */ lw $a0, 0x0018($sp) -/* 0075C 809CD7CC 3C19809D */ lui $t9, %hi(func_809CD7E8) ## $t9 = 809D0000 -/* 00760 809CD7D0 2739D7E8 */ addiu $t9, $t9, %lo(func_809CD7E8) ## $t9 = 809CD7E8 -/* 00764 809CD7D4 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00768 809CD7D8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0076C 809CD7DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00770 809CD7E0 03E00008 */ jr $ra -/* 00774 809CD7E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s deleted file mode 100644 index 2295fbf83a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s +++ /dev/null @@ -1,299 +0,0 @@ -.late_rodata -glabel D_809CE498 - .float 10000.0 - -glabel D_809CE49C - .word 0x44992000 -glabel D_809CE4A0 - .float 0.3 - -glabel D_809CE4A4 - .float 0.4 - -glabel D_809CE4A8 - .float 0.2 - -glabel D_809CE4AC - .float 0.15 - -glabel D_809CE4B0 - .float 0.3 - -.text -glabel func_809CD7E8 -/* 00778 809CD7E8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 0077C 809CD7EC AFBF0024 */ sw $ra, 0x0024($sp) -/* 00780 809CD7F0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00784 809CD7F4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00788 809CD7F8 3C18809D */ lui $t8, %hi(D_809CE344) ## $t8 = 809D0000 -/* 0078C 809CD7FC 2718E344 */ addiu $t8, $t8, %lo(D_809CE344) ## $t8 = 809CE344 -/* 00790 809CD800 000E7880 */ sll $t7, $t6, 2 -/* 00794 809CD804 01EE7821 */ addu $t7, $t7, $t6 -/* 00798 809CD808 000F7880 */ sll $t7, $t7, 2 -/* 0079C 809CD80C 01F8C821 */ addu $t9, $t7, $t8 -/* 007A0 809CD810 AFB9004C */ sw $t9, 0x004C($sp) -/* 007A4 809CD814 8CA81C44 */ lw $t0, 0x1C44($a1) ## 00001C44 -/* 007A8 809CD818 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 007AC 809CD81C AFA80044 */ sw $t0, 0x0044($sp) -/* 007B0 809CD820 8C870010 */ lw $a3, 0x0010($a0) ## 00000010 -/* 007B4 809CD824 8C860008 */ lw $a2, 0x0008($a0) ## 00000008 -/* 007B8 809CD828 C48E002C */ lwc1 $f14, 0x002C($a0) ## 0000002C -/* 007BC 809CD82C 0C032D65 */ jal Math3D_Dist2DSq -/* 007C0 809CD830 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024 -/* 007C4 809CD834 E7A00040 */ swc1 $f0, 0x0040($sp) -/* 007C8 809CD838 0C27355B */ jal func_809CD56C -/* 007CC 809CD83C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007D0 809CD840 8FA2004C */ lw $v0, 0x004C($sp) -/* 007D4 809CD844 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 007D8 809CD848 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 007DC 809CD84C 8C450004 */ lw $a1, 0x0004($v0) ## 00000004 -/* 007E0 809CD850 8C460008 */ lw $a2, 0x0008($v0) ## 00000008 -/* 007E4 809CD854 8C47000C */ lw $a3, 0x000C($v0) ## 0000000C -/* 007E8 809CD858 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 007EC 809CD85C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 007F0 809CD860 92090257 */ lbu $t1, 0x0257($s0) ## 00000257 -/* 007F4 809CD864 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 007F8 809CD868 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 007FC 809CD86C 14E90005 */ bne $a3, $t1, .L809CD884 -/* 00800 809CD870 3C01809D */ lui $at, %hi(D_809CE49C) ## $at = 809D0000 -/* 00804 809CD874 3C01809D */ lui $at, %hi(D_809CE498) ## $at = 809D0000 -/* 00808 809CD878 C420E498 */ lwc1 $f0, %lo(D_809CE498)($at) -/* 0080C 809CD87C 10000003 */ beq $zero, $zero, .L809CD88C -/* 00810 809CD880 240603E8 */ addiu $a2, $zero, 0x03E8 ## $a2 = 000003E8 -.L809CD884: -/* 00814 809CD884 C420E49C */ lwc1 $f0, %lo(D_809CE49C)($at) -/* 00818 809CD888 24060258 */ addiu $a2, $zero, 0x0258 ## $a2 = 00000258 -.L809CD88C: -/* 0081C 809CD88C E7A60038 */ swc1 $f6, 0x0038($sp) -/* 00820 809CD890 920A0256 */ lbu $t2, 0x0256($s0) ## 00000256 -/* 00824 809CD894 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C -/* 00828 809CD898 11400018 */ beq $t2, $zero, .L809CD8FC -/* 0082C 809CD89C E6080264 */ swc1 $f8, 0x0264($s0) ## 00000264 -/* 00830 809CD8A0 C7AA0040 */ lwc1 $f10, 0x0040($sp) -/* 00834 809CD8A4 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00838 809CD8A8 460A003C */ c.lt.s $f0, $f10 -/* 0083C 809CD8AC 00000000 */ nop -/* 00840 809CD8B0 45010005 */ bc1t .L809CD8C8 -/* 00844 809CD8B4 00000000 */ nop -/* 00848 809CD8B8 860B0254 */ lh $t3, 0x0254($s0) ## 00000254 -/* 0084C 809CD8BC 29610004 */ slti $at, $t3, 0x0004 -/* 00850 809CD8C0 5020000F */ beql $at, $zero, .L809CD900 -/* 00854 809CD8C4 92030257 */ lbu $v1, 0x0257($s0) ## 00000257 -.L809CD8C8: -/* 00858 809CD8C8 0C01E01A */ jal Math_Vec3f_Yaw - -/* 0085C 809CD8CC 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008 -/* 00860 809CD8D0 8FAC004C */ lw $t4, 0x004C($sp) -/* 00864 809CD8D4 00022C00 */ sll $a1, $v0, 16 -/* 00868 809CD8D8 00052C03 */ sra $a1, $a1, 16 -/* 0086C 809CD8DC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00870 809CD8E0 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00874 809CD8E4 85860010 */ lh $a2, 0x0010($t4) ## 00000010 -/* 00878 809CD8E8 14400041 */ bne $v0, $zero, .L809CD9F0 -/* 0087C 809CD8EC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00880 809CD8F0 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50 -/* 00884 809CD8F4 1000003E */ beq $zero, $zero, .L809CD9F0 -/* 00888 809CD8F8 E7B20038 */ swc1 $f18, 0x0038($sp) -.L809CD8FC: -/* 0088C 809CD8FC 92030257 */ lbu $v1, 0x0257($s0) ## 00000257 -.L809CD900: -/* 00890 809CD900 14600013 */ bne $v1, $zero, .L809CD950 -/* 00894 809CD904 00000000 */ nop -/* 00898 809CD908 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C -/* 0089C 809CD90C 10400010 */ beq $v0, $zero, .L809CD950 -/* 008A0 809CD910 00000000 */ nop -/* 008A4 809CD914 1202000E */ beq $s0, $v0, .L809CD950 -/* 008A8 809CD918 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 008AC 809CD91C 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024 -/* 008B0 809CD920 0C01E01A */ jal Math_Vec3f_Yaw - -/* 008B4 809CD924 A7A60032 */ sh $a2, 0x0032($sp) -/* 008B8 809CD928 00022C00 */ sll $a1, $v0, 16 -/* 008BC 809CD92C 87A60032 */ lh $a2, 0x0032($sp) -/* 008C0 809CD930 00052C03 */ sra $a1, $a1, 16 -/* 008C4 809CD934 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 008C8 809CD938 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 008CC 809CD93C 1440002C */ bne $v0, $zero, .L809CD9F0 -/* 008D0 809CD940 3C01809D */ lui $at, %hi(D_809CE4A0) ## $at = 809D0000 -/* 008D4 809CD944 C424E4A0 */ lwc1 $f4, %lo(D_809CE4A0)($at) -/* 008D8 809CD948 10000029 */ beq $zero, $zero, .L809CD9F0 -/* 008DC 809CD94C E7A40038 */ swc1 $f4, 0x0038($sp) -.L809CD950: -/* 008E0 809CD950 54E3001B */ bnel $a3, $v1, .L809CD9C0 -/* 008E4 809CD954 8608025C */ lh $t0, 0x025C($s0) ## 0000025C -/* 008E8 809CD958 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 008EC 809CD95C A7A60032 */ sh $a2, 0x0032($sp) -/* 008F0 809CD960 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 008F4 809CD964 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 008F8 809CD968 3C0146C0 */ lui $at, 0x46C0 ## $at = 46C00000 -/* 008FC 809CD96C 44815000 */ mtc1 $at, $f10 ## $f10 = 24576.00 -/* 00900 809CD970 46060201 */ sub.s $f8, $f0, $f6 -/* 00904 809CD974 8619008A */ lh $t9, 0x008A($s0) ## 0000008A -/* 00908 809CD978 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 0090C 809CD97C 87A60032 */ lh $a2, 0x0032($sp) -/* 00910 809CD980 460A4482 */ mul.s $f18, $f8, $f10 -/* 00914 809CD984 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00918 809CD988 4600910D */ trunc.w.s $f4, $f18 -/* 0091C 809CD98C 44182000 */ mfc1 $t8, $f4 -/* 00920 809CD990 00000000 */ nop -/* 00924 809CD994 03192821 */ addu $a1, $t8, $t9 -/* 00928 809CD998 00A12821 */ addu $a1, $a1, $at -/* 0092C 809CD99C 00052C00 */ sll $a1, $a1, 16 -/* 00930 809CD9A0 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00934 809CD9A4 00052C03 */ sra $a1, $a1, 16 -/* 00938 809CD9A8 14400011 */ bne $v0, $zero, .L809CD9F0 -/* 0093C 809CD9AC 3C01809D */ lui $at, %hi(D_809CE4A4) ## $at = 809D0000 -/* 00940 809CD9B0 C426E4A4 */ lwc1 $f6, %lo(D_809CE4A4)($at) -/* 00944 809CD9B4 1000000E */ beq $zero, $zero, .L809CD9F0 -/* 00948 809CD9B8 E7A60038 */ swc1 $f6, 0x0038($sp) -/* 0094C 809CD9BC 8608025C */ lh $t0, 0x025C($s0) ## 0000025C -.L809CD9C0: -/* 00950 809CD9C0 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00 -/* 00954 809CD9C4 0C0400A4 */ jal sinf - -/* 00958 809CD9C8 46804320 */ cvt.s.w $f12, $f8 -/* 0095C 809CD9CC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00960 809CD9D0 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 00964 809CD9D4 86090032 */ lh $t1, 0x0032($s0) ## 00000032 -/* 00968 809CD9D8 460A0482 */ mul.s $f18, $f0, $f10 -/* 0096C 809CD9DC 4600910D */ trunc.w.s $f4, $f18 -/* 00970 809CD9E0 440D2000 */ mfc1 $t5, $f4 -/* 00974 809CD9E4 00000000 */ nop -/* 00978 809CD9E8 012D7021 */ addu $t6, $t1, $t5 -/* 0097C 809CD9EC A60E0032 */ sh $t6, 0x0032($s0) ## 00000032 -.L809CD9F0: -/* 00980 809CD9F0 0C2735BF */ jal func_809CD6FC -/* 00984 809CD9F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00988 809CD9F8 0C01DE1C */ jal Math_Sins - ## sins? -/* 0098C 809CD9FC 86040260 */ lh $a0, 0x0260($s0) ## 00000260 -/* 00990 809CDA00 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00994 809CDA04 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00998 809CDA08 8604025E */ lh $a0, 0x025E($s0) ## 0000025E -/* 0099C 809CDA0C 0C01DE1C */ jal Math_Sins - ## sins? -/* 009A0 809CDA10 E7A0002C */ swc1 $f0, 0x002C($sp) -/* 009A4 809CDA14 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 009A8 809CDA18 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 009AC 809CDA1C 3C01809D */ lui $at, %hi(D_809CE4A8) ## $at = 809D0000 -/* 009B0 809CDA20 C430E4A8 */ lwc1 $f16, %lo(D_809CE4A8)($at) -/* 009B4 809CDA24 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 009B8 809CDA28 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 009BC 809CDA2C C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 009C0 809CDA30 C7A2002C */ lwc1 $f2, 0x002C($sp) -/* 009C4 809CDA34 3C01809D */ lui $at, %hi(D_809CE4AC) ## $at = 809D0000 -/* 009C8 809CDA38 46083282 */ mul.s $f10, $f6, $f8 -/* 009CC 809CDA3C C7A60028 */ lwc1 $f6, 0x0028($sp) -/* 009D0 809CDA40 46101482 */ mul.s $f18, $f2, $f16 -/* 009D4 809CDA44 46067201 */ sub.s $f8, $f14, $f6 -/* 009D8 809CDA48 46125100 */ add.s $f4, $f10, $f18 -/* 009DC 809CDA4C C42AE4AC */ lwc1 $f10, %lo(D_809CE4AC)($at) -/* 009E0 809CDA50 3C01809D */ lui $at, %hi(D_809CE4B0) ## $at = 809D0000 -/* 009E4 809CDA54 460A4482 */ mul.s $f18, $f8, $f10 -/* 009E8 809CDA58 46007201 */ sub.s $f8, $f14, $f0 -/* 009EC 809CDA5C C42AE4B0 */ lwc1 $f10, %lo(D_809CE4B0)($at) -/* 009F0 809CDA60 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 009F4 809CDA64 46122180 */ add.s $f6, $f4, $f18 -/* 009F8 809CDA68 460A4102 */ mul.s $f4, $f8, $f10 -/* 009FC 809CDA6C C7A80038 */ lwc1 $f8, 0x0038($sp) -/* 00A00 809CDA70 46062480 */ add.s $f18, $f4, $f6 -/* 00A04 809CDA74 46089300 */ add.s $f12, $f18, $f8 -/* 00A08 809CDA78 4610603C */ c.lt.s $f12, $f16 -/* 00A0C 809CDA7C 00000000 */ nop -/* 00A10 809CDA80 45020004 */ bc1fl .L809CDA94 -/* 00A14 809CDA84 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -/* 00A18 809CDA88 1000000B */ beq $zero, $zero, .L809CDAB8 -/* 00A1C 809CDA8C E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8 -/* 00A20 809CDA90 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -.L809CDA94: -/* 00A24 809CDA94 00000000 */ nop -/* 00A28 809CDA98 460C003C */ c.lt.s $f0, $f12 -/* 00A2C 809CDA9C 00000000 */ nop -/* 00A30 809CDAA0 45020004 */ bc1fl .L809CDAB4 -/* 00A34 809CDAA4 46006086 */ mov.s $f2, $f12 -/* 00A38 809CDAA8 10000002 */ beq $zero, $zero, .L809CDAB4 -/* 00A3C 809CDAAC 46000086 */ mov.s $f2, $f0 -/* 00A40 809CDAB0 46006086 */ mov.s $f2, $f12 -.L809CDAB4: -/* 00A44 809CDAB4 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8 -.L809CDAB8: -/* 00A48 809CDAB8 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00A4C 809CDABC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC -/* 00A50 809CDAC0 860F0254 */ lh $t7, 0x0254($s0) ## 00000254 -/* 00A54 809CDAC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A58 809CDAC8 5DE0000A */ bgtzl $t7, .L809CDAF4 -/* 00A5C 809CDACC 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -/* 00A60 809CDAD0 92180256 */ lbu $t8, 0x0256($s0) ## 00000256 -/* 00A64 809CDAD4 3C08809D */ lui $t0, %hi(D_809CE344) ## $t0 = 809D0000 -/* 00A68 809CDAD8 2508E344 */ addiu $t0, $t0, %lo(D_809CE344) ## $t0 = 809CE344 -/* 00A6C 809CDADC 0018C880 */ sll $t9, $t8, 2 -/* 00A70 809CDAE0 0338C821 */ addu $t9, $t9, $t8 -/* 00A74 809CDAE4 0019C880 */ sll $t9, $t9, 2 -/* 00A78 809CDAE8 0C27341C */ jal func_809CD070 -/* 00A7C 809CDAEC 03282821 */ addu $a1, $t9, $t0 -/* 00A80 809CDAF0 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -.L809CDAF4: -/* 00A84 809CDAF4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00A88 809CDAF8 8FA20044 */ lw $v0, 0x0044($sp) -/* 00A8C 809CDAFC 314B0001 */ andi $t3, $t2, 0x0001 ## $t3 = 00000000 -/* 00A90 809CDB00 55610021 */ bnel $t3, $at, .L809CDB88 -/* 00A94 809CDB04 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00A98 809CDB08 804C0151 */ lb $t4, 0x0151($v0) ## 00000151 -/* 00A9C 809CDB0C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00AA0 809CDB10 5581001D */ bnel $t4, $at, .L809CDB88 -/* 00AA4 809CDB14 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00AA8 809CDB18 8609025A */ lh $t1, 0x025A($s0) ## 0000025A -/* 00AAC 809CDB1C 5D20001A */ bgtzl $t1, .L809CDB88 -/* 00AB0 809CDB20 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00AB4 809CDB24 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024 -/* 00AB8 809CDB28 C44E002C */ lwc1 $f14, 0x002C($v0) ## 0000002C -/* 00ABC 809CDB2C 8E060008 */ lw $a2, 0x0008($s0) ## 00000008 -/* 00AC0 809CDB30 0C032D65 */ jal Math3D_Dist2DSq -/* 00AC4 809CDB34 8E070010 */ lw $a3, 0x0010($s0) ## 00000010 -/* 00AC8 809CDB38 3C014661 */ lui $at, 0x4661 ## $at = 46610000 -/* 00ACC 809CDB3C 44815000 */ mtc1 $at, $f10 ## $f10 = 14400.00 -/* 00AD0 809CDB40 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00AD4 809CDB44 460A003C */ c.lt.s $f0, $f10 -/* 00AD8 809CDB48 00000000 */ nop -/* 00ADC 809CDB4C 45010008 */ bc1t .L809CDB70 -/* 00AE0 809CDB50 00000000 */ nop -/* 00AE4 809CDB54 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 00AE8 809CDB58 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00 -/* 00AEC 809CDB5C 00000000 */ nop -/* 00AF0 809CDB60 4606203C */ c.lt.s $f4, $f6 -/* 00AF4 809CDB64 00000000 */ nop -/* 00AF8 809CDB68 45020007 */ bc1fl .L809CDB88 -/* 00AFC 809CDB6C C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -.L809CDB70: -/* 00B00 809CDB70 0C2736F3 */ jal func_809CDBCC -/* 00B04 809CDB74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B08 809CDB78 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 00B0C 809CDB7C 1000000E */ beq $zero, $zero, .L809CDBB8 -/* 00B10 809CDB80 A20D0257 */ sb $t5, 0x0257($s0) ## 00000257 -/* 00B14 809CDB84 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -.L809CDB88: -/* 00B18 809CDB88 3C01405E */ lui $at, 0x405E ## $at = 405E0000 -/* 00B1C 809CDB8C 44815800 */ mtc1 $at, $f11 ## $f11 = 3.47 -/* 00B20 809CDB90 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 00B24 809CDB94 46009221 */ cvt.d.s $f8, $f18 -/* 00B28 809CDB98 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00B2C 809CDB9C 462A403C */ c.lt.d $f8, $f10 -/* 00B30 809CDBA0 00000000 */ nop -/* 00B34 809CDBA4 45020004 */ bc1fl .L809CDBB8 -/* 00B38 809CDBA8 A2000257 */ sb $zero, 0x0257($s0) ## 00000257 -/* 00B3C 809CDBAC 10000002 */ beq $zero, $zero, .L809CDBB8 -/* 00B40 809CDBB0 A20E0257 */ sb $t6, 0x0257($s0) ## 00000257 -/* 00B44 809CDBB4 A2000257 */ sb $zero, 0x0257($s0) ## 00000257 -.L809CDBB8: -/* 00B48 809CDBB8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00B4C 809CDBBC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00B50 809CDBC0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00B54 809CDBC4 03E00008 */ jr $ra -/* 00B58 809CDBC8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s deleted file mode 100644 index 66c3f5df63..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_809CDBCC -/* 00B5C 809CDBCC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00B60 809CDBD0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00B64 809CDBD4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00B68 809CDBD8 3C18809D */ lui $t8, %hi(D_809CE380) ## $t8 = 809D0000 -/* 00B6C 809CDBDC 2718E380 */ addiu $t8, $t8, %lo(D_809CE380) ## $t8 = 809CE380 -/* 00B70 809CDBE0 000E7880 */ sll $t7, $t6, 2 -/* 00B74 809CDBE4 01EE7821 */ addu $t7, $t7, $t6 -/* 00B78 809CDBE8 000F7880 */ sll $t7, $t7, 2 -/* 00B7C 809CDBEC 01F82821 */ addu $a1, $t7, $t8 -/* 00B80 809CDBF0 0C27341C */ jal func_809CD070 -/* 00B84 809CDBF4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00B88 809CDBF8 8FA40018 */ lw $a0, 0x0018($sp) -/* 00B8C 809CDBFC 3C19809D */ lui $t9, %hi(func_809CDC18) ## $t9 = 809D0000 -/* 00B90 809CDC00 2739DC18 */ addiu $t9, $t9, %lo(func_809CDC18) ## $t9 = 809CDC18 -/* 00B94 809CDC04 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00B98 809CDC08 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00B9C 809CDC0C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00BA0 809CDC10 03E00008 */ jr $ra -/* 00BA4 809CDC14 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s deleted file mode 100644 index 287085f947..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s +++ /dev/null @@ -1,275 +0,0 @@ -.late_rodata -glabel D_809CE4B4 - .float 0.3 - -glabel D_809CE4B8 - .float 0.2 - -glabel D_809CE4BC - .float 0.15 - -glabel D_809CE4C0 - .float 0.3 - -glabel D_809CE4C4 - .word 0x3FE66666 - -.text -glabel func_809CDC18 -/* 00BA8 809CDC18 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00BAC 809CDC1C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00BB0 809CDC20 AFB10020 */ sw $s1, 0x0020($sp) -/* 00BB4 809CDC24 AFB0001C */ sw $s0, 0x001C($sp) -/* 00BB8 809CDC28 AFA50064 */ sw $a1, 0x0064($sp) -/* 00BBC 809CDC2C 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00BC0 809CDC30 3C18809D */ lui $t8, %hi(D_809CE380) ## $t8 = 809D0000 -/* 00BC4 809CDC34 2718E380 */ addiu $t8, $t8, %lo(D_809CE380) ## $t8 = 809CE380 -/* 00BC8 809CDC38 000E7880 */ sll $t7, $t6, 2 -/* 00BCC 809CDC3C 01EE7821 */ addu $t7, $t7, $t6 -/* 00BD0 809CDC40 000F7880 */ sll $t7, $t7, 2 -/* 00BD4 809CDC44 01F81021 */ addu $v0, $t7, $t8 -/* 00BD8 809CDC48 8CB11C44 */ lw $s1, 0x1C44($a1) ## 00001C44 -/* 00BDC 809CDC4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00BE0 809CDC50 0C27358D */ jal func_809CD634 -/* 00BE4 809CDC54 AFA2005C */ sw $v0, 0x005C($sp) -/* 00BE8 809CDC58 8FA2005C */ lw $v0, 0x005C($sp) -/* 00BEC 809CDC5C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00BF0 809CDC60 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 00BF4 809CDC64 8C450004 */ lw $a1, 0x0004($v0) ## 00000004 -/* 00BF8 809CDC68 8C460008 */ lw $a2, 0x0008($v0) ## 00000008 -/* 00BFC 809CDC6C 8C47000C */ lw $a3, 0x000C($v0) ## 0000000C -/* 00C00 809CDC70 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 00C04 809CDC74 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00C08 809CDC78 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00C0C 809CDC7C 00000000 */ nop -/* 00C10 809CDC80 E7A60040 */ swc1 $f6, 0x0040($sp) -/* 00C14 809CDC84 92080256 */ lbu $t0, 0x0256($s0) ## 00000256 -/* 00C18 809CDC88 51000045 */ beql $t0, $zero, .L809CDDA0 -/* 00C1C 809CDC8C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00C20 809CDC90 86090254 */ lh $t1, 0x0254($s0) ## 00000254 -/* 00C24 809CDC94 2921000C */ slti $at, $t1, 0x000C -/* 00C28 809CDC98 50200041 */ beql $at, $zero, .L809CDDA0 -/* 00C2C 809CDC9C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00C30 809CDCA0 0C01DE1C */ jal Math_Sins - ## sins? -/* 00C34 809CDCA4 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6 -/* 00C38 809CDCA8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C3C 809CDCAC 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00C40 809CDCB0 C63208B8 */ lwc1 $f18, 0x08B8($s1) ## 000008B8 -/* 00C44 809CDCB4 46080282 */ mul.s $f10, $f0, $f8 -/* 00C48 809CDCB8 46125100 */ add.s $f4, $f10, $f18 -/* 00C4C 809CDCBC E7A40048 */ swc1 $f4, 0x0048($sp) -/* 00C50 809CDCC0 C62608BC */ lwc1 $f6, 0x08BC($s1) ## 000008BC -/* 00C54 809CDCC4 E7A6004C */ swc1 $f6, 0x004C($sp) -/* 00C58 809CDCC8 0C01DE0D */ jal Math_Coss - ## coss? -/* 00C5C 809CDCCC 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6 -/* 00C60 809CDCD0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C64 809CDCD4 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00C68 809CDCD8 C63208C0 */ lwc1 $f18, 0x08C0($s1) ## 000008C0 -/* 00C6C 809CDCDC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00C70 809CDCE0 46080282 */ mul.s $f10, $f0, $f8 -/* 00C74 809CDCE4 27A50048 */ addiu $a1, $sp, 0x0048 ## $a1 = FFFFFFE8 -/* 00C78 809CDCE8 46125100 */ add.s $f4, $f10, $f18 -/* 00C7C 809CDCEC 0C01E01A */ jal Math_Vec3f_Yaw - -/* 00C80 809CDCF0 E7A40050 */ swc1 $f4, 0x0050($sp) -/* 00C84 809CDCF4 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00C88 809CDCF8 A7A20038 */ sh $v0, 0x0038($sp) -/* 00C8C 809CDCFC 3C0A809D */ lui $t2, %hi(D_809CE410) ## $t2 = 809D0000 -/* 00C90 809CDD00 8D4AE410 */ lw $t2, %lo(D_809CE410)($t2) -/* 00C94 809CDD04 87AF0038 */ lh $t7, 0x0038($sp) -/* 00C98 809CDD08 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00C9C 809CDD0C 448A3000 */ mtc1 $t2, $f6 ## $f6 = -0.00 -/* 00CA0 809CDD10 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0 -/* 00CA4 809CDD14 46803220 */ cvt.s.w $f8, $f6 -/* 00CA8 809CDD18 46080282 */ mul.s $f10, $f0, $f8 -/* 00CAC 809CDD1C 4600548D */ trunc.w.s $f18, $f10 -/* 00CB0 809CDD20 440E9000 */ mfc1 $t6, $f18 -/* 00CB4 809CDD24 00000000 */ nop -/* 00CB8 809CDD28 01CF2821 */ addu $a1, $t6, $t7 -/* 00CBC 809CDD2C 00052C00 */ sll $a1, $a1, 16 -/* 00CC0 809CDD30 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00CC4 809CDD34 00052C03 */ sra $a1, $a1, 16 -/* 00CC8 809CDD38 10400016 */ beq $v0, $zero, .L809CDD94 -/* 00CCC 809CDD3C 3C01809D */ lui $at, %hi(D_809CE4B4) ## $at = 809D0000 -/* 00CD0 809CDD40 8FB80064 */ lw $t8, 0x0064($sp) -/* 00CD4 809CDD44 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000 -/* 00CD8 809CDD48 0338C821 */ addu $t9, $t9, $t8 -/* 00CDC 809CDD4C 8F391DE4 */ lw $t9, 0x1DE4($t9) ## 00011DE4 -/* 00CE0 809CDD50 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000 -/* 00CE4 809CDD54 51000012 */ beql $t0, $zero, .L809CDDA0 -/* 00CE8 809CDD58 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00CEC 809CDD5C 8609025C */ lh $t1, 0x025C($s0) ## 0000025C -/* 00CF0 809CDD60 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00 -/* 00CF4 809CDD64 0C0400A4 */ jal sinf - -/* 00CF8 809CDD68 46802320 */ cvt.s.w $f12, $f4 -/* 00CFC 809CDD6C 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00D00 809CDD70 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00 -/* 00D04 809CDD74 860A0032 */ lh $t2, 0x0032($s0) ## 00000032 -/* 00D08 809CDD78 46060202 */ mul.s $f8, $f0, $f6 -/* 00D0C 809CDD7C 4600428D */ trunc.w.s $f10, $f8 -/* 00D10 809CDD80 440E5000 */ mfc1 $t6, $f10 -/* 00D14 809CDD84 00000000 */ nop -/* 00D18 809CDD88 014E7821 */ addu $t7, $t2, $t6 -/* 00D1C 809CDD8C 10000003 */ beq $zero, $zero, .L809CDD9C -/* 00D20 809CDD90 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032 -.L809CDD94: -/* 00D24 809CDD94 C432E4B4 */ lwc1 $f18, %lo(D_809CE4B4)($at) -/* 00D28 809CDD98 E7B20040 */ swc1 $f18, 0x0040($sp) -.L809CDD9C: -/* 00D2C 809CDD9C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -.L809CDDA0: -/* 00D30 809CDDA0 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00 -/* 00D34 809CDDA4 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00D38 809CDDA8 C62008BC */ lwc1 $f0, 0x08BC($s1) ## 000008BC -/* 00D3C 809CDDAC 46062080 */ add.s $f2, $f4, $f6 -/* 00D40 809CDDB0 4602003C */ c.lt.s $f0, $f2 -/* 00D44 809CDDB4 00000000 */ nop -/* 00D48 809CDDB8 45020004 */ bc1fl .L809CDDCC -/* 00D4C 809CDDBC E6000264 */ swc1 $f0, 0x0264($s0) ## 00000264 -/* 00D50 809CDDC0 10000002 */ beq $zero, $zero, .L809CDDCC -/* 00D54 809CDDC4 E6020264 */ swc1 $f2, 0x0264($s0) ## 00000264 -/* 00D58 809CDDC8 E6000264 */ swc1 $f0, 0x0264($s0) ## 00000264 -.L809CDDCC: -/* 00D5C 809CDDCC 0C2735BF */ jal func_809CD6FC -/* 00D60 809CDDD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D64 809CDDD4 0C01DE1C */ jal Math_Sins - ## sins? -/* 00D68 809CDDD8 86040260 */ lh $a0, 0x0260($s0) ## 00000260 -/* 00D6C 809CDDDC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00D70 809CDDE0 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00D74 809CDDE4 8604025E */ lh $a0, 0x025E($s0) ## 0000025E -/* 00D78 809CDDE8 0C01DE1C */ jal Math_Sins - ## sins? -/* 00D7C 809CDDEC E7A00034 */ swc1 $f0, 0x0034($sp) -/* 00D80 809CDDF0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00D84 809CDDF4 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00D88 809CDDF8 3C01809D */ lui $at, %hi(D_809CE4B8) ## $at = 809D0000 -/* 00D8C 809CDDFC C430E4B8 */ lwc1 $f16, %lo(D_809CE4B8)($at) -/* 00D90 809CDE00 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00D94 809CDE04 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50 -/* 00D98 809CDE08 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068 -/* 00D9C 809CDE0C C7A20034 */ lwc1 $f2, 0x0034($sp) -/* 00DA0 809CDE10 3C01809D */ lui $at, %hi(D_809CE4BC) ## $at = 809D0000 -/* 00DA4 809CDE14 460A4482 */ mul.s $f18, $f8, $f10 -/* 00DA8 809CDE18 C7A80030 */ lwc1 $f8, 0x0030($sp) -/* 00DAC 809CDE1C 46101102 */ mul.s $f4, $f2, $f16 -/* 00DB0 809CDE20 46087281 */ sub.s $f10, $f14, $f8 -/* 00DB4 809CDE24 46049180 */ add.s $f6, $f18, $f4 -/* 00DB8 809CDE28 C432E4BC */ lwc1 $f18, %lo(D_809CE4BC)($at) -/* 00DBC 809CDE2C 3C01809D */ lui $at, %hi(D_809CE4C0) ## $at = 809D0000 -/* 00DC0 809CDE30 46125102 */ mul.s $f4, $f10, $f18 -/* 00DC4 809CDE34 46007281 */ sub.s $f10, $f14, $f0 -/* 00DC8 809CDE38 C432E4C0 */ lwc1 $f18, %lo(D_809CE4C0)($at) -/* 00DCC 809CDE3C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 00DD0 809CDE40 46043200 */ add.s $f8, $f6, $f4 -/* 00DD4 809CDE44 46125182 */ mul.s $f6, $f10, $f18 -/* 00DD8 809CDE48 C7AA0040 */ lwc1 $f10, 0x0040($sp) -/* 00DDC 809CDE4C 46083100 */ add.s $f4, $f6, $f8 -/* 00DE0 809CDE50 460A2300 */ add.s $f12, $f4, $f10 -/* 00DE4 809CDE54 4610603C */ c.lt.s $f12, $f16 -/* 00DE8 809CDE58 00000000 */ nop -/* 00DEC 809CDE5C 45020004 */ bc1fl .L809CDE70 -/* 00DF0 809CDE60 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -/* 00DF4 809CDE64 1000000B */ beq $zero, $zero, .L809CDE94 -/* 00DF8 809CDE68 E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8 -/* 00DFC 809CDE6C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -.L809CDE70: -/* 00E00 809CDE70 00000000 */ nop -/* 00E04 809CDE74 460C003C */ c.lt.s $f0, $f12 -/* 00E08 809CDE78 00000000 */ nop -/* 00E0C 809CDE7C 45020004 */ bc1fl .L809CDE90 -/* 00E10 809CDE80 46006086 */ mov.s $f2, $f12 -/* 00E14 809CDE84 10000002 */ beq $zero, $zero, .L809CDE90 -/* 00E18 809CDE88 46000086 */ mov.s $f2, $f0 -/* 00E1C 809CDE8C 46006086 */ mov.s $f2, $f12 -.L809CDE90: -/* 00E20 809CDE90 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8 -.L809CDE94: -/* 00E24 809CDE94 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00E28 809CDE98 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC -/* 00E2C 809CDE9C 86180254 */ lh $t8, 0x0254($s0) ## 00000254 -/* 00E30 809CDEA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E34 809CDEA4 5F00000F */ bgtzl $t8, .L809CDEE4 -/* 00E38 809CDEA8 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 00E3C 809CDEAC 92190256 */ lbu $t9, 0x0256($s0) ## 00000256 -/* 00E40 809CDEB0 3C09809D */ lui $t1, %hi(D_809CE380) ## $t1 = 809D0000 -/* 00E44 809CDEB4 2529E380 */ addiu $t1, $t1, %lo(D_809CE380) ## $t1 = 809CE380 -/* 00E48 809CDEB8 00194080 */ sll $t0, $t9, 2 -/* 00E4C 809CDEBC 01194021 */ addu $t0, $t0, $t9 -/* 00E50 809CDEC0 00084080 */ sll $t0, $t0, 2 -/* 00E54 809CDEC4 0C27341C */ jal func_809CD070 -/* 00E58 809CDEC8 01092821 */ addu $a1, $t0, $t1 -/* 00E5C 809CDECC 3C0B809D */ lui $t3, %hi(D_809CE410) ## $t3 = 809D0000 -/* 00E60 809CDED0 8D6BE410 */ lw $t3, %lo(D_809CE410)($t3) -/* 00E64 809CDED4 3C01809D */ lui $at, %hi(D_809CE410) ## $at = 809D0000 -/* 00E68 809CDED8 000B6023 */ subu $t4, $zero, $t3 -/* 00E6C 809CDEDC AC2CE410 */ sw $t4, %lo(D_809CE410)($at) -/* 00E70 809CDEE0 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -.L809CDEE4: -/* 00E74 809CDEE4 C60E002C */ lwc1 $f14, 0x002C($s0) ## 0000002C -/* 00E78 809CDEE8 8E060008 */ lw $a2, 0x0008($s0) ## 00000008 -/* 00E7C 809CDEEC 0C032D65 */ jal Math3D_Dist2DSq -/* 00E80 809CDEF0 8E070010 */ lw $a3, 0x0010($s0) ## 00000010 -/* 00E84 809CDEF4 822D0151 */ lb $t5, 0x0151($s1) ## 00000151 -/* 00E88 809CDEF8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00E8C 809CDEFC 46000086 */ mov.s $f2, $f0 -/* 00E90 809CDF00 15A10013 */ bne $t5, $at, .L809CDF50 -/* 00E94 809CDF04 00000000 */ nop -/* 00E98 809CDF08 C6200068 */ lwc1 $f0, 0x0068($s1) ## 00000068 -/* 00E9C 809CDF0C 3C01809D */ lui $at, %hi(D_809CE4C4) ## $at = 809D0000 -/* 00EA0 809CDF10 C432E4C4 */ lwc1 $f18, %lo(D_809CE4C4)($at) -/* 00EA4 809CDF14 46000005 */ abs.s $f0, $f0 -/* 00EA8 809CDF18 4612003C */ c.lt.s $f0, $f18 -/* 00EAC 809CDF1C 00000000 */ nop -/* 00EB0 809CDF20 4500000B */ bc1f .L809CDF50 -/* 00EB4 809CDF24 00000000 */ nop -/* 00EB8 809CDF28 860A025A */ lh $t2, 0x025A($s0) ## 0000025A -/* 00EBC 809CDF2C 3C0147C8 */ lui $at, 0x47C8 ## $at = 47C80000 -/* 00EC0 809CDF30 1D400007 */ bgtz $t2, .L809CDF50 -/* 00EC4 809CDF34 00000000 */ nop -/* 00EC8 809CDF38 44813000 */ mtc1 $at, $f6 ## $f6 = 102400.00 -/* 00ECC 809CDF3C 3C014761 */ lui $at, 0x4761 ## $at = 47610000 -/* 00ED0 809CDF40 4606103C */ c.lt.s $f2, $f6 -/* 00ED4 809CDF44 00000000 */ nop -/* 00ED8 809CDF48 45030006 */ bc1tl .L809CDF64 -/* 00EDC 809CDF4C 44814000 */ mtc1 $at, $f8 ## $f8 = 57600.00 -.L809CDF50: -/* 00EE0 809CDF50 0C2735E7 */ jal func_809CD79C -/* 00EE4 809CDF54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EE8 809CDF58 10000016 */ beq $zero, $zero, .L809CDFB4 -/* 00EEC 809CDF5C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00EF0 809CDF60 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00 -.L809CDF64: -/* 00EF4 809CDF64 00000000 */ nop -/* 00EF8 809CDF68 4602403C */ c.lt.s $f8, $f2 -/* 00EFC 809CDF6C 00000000 */ nop -/* 00F00 809CDF70 45020010 */ bc1fl .L809CDFB4 -/* 00F04 809CDF74 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00F08 809CDF78 C62C08B8 */ lwc1 $f12, 0x08B8($s1) ## 000008B8 -/* 00F0C 809CDF7C C62E08C0 */ lwc1 $f14, 0x08C0($s1) ## 000008C0 -/* 00F10 809CDF80 8E060024 */ lw $a2, 0x0024($s0) ## 00000024 -/* 00F14 809CDF84 0C032D65 */ jal Math3D_Dist2DSq -/* 00F18 809CDF88 8E07002C */ lw $a3, 0x002C($s0) ## 0000002C -/* 00F1C 809CDF8C 3C014561 */ lui $at, 0x4561 ## $at = 45610000 -/* 00F20 809CDF90 44812000 */ mtc1 $at, $f4 ## $f4 = 3600.00 -/* 00F24 809CDF94 00000000 */ nop -/* 00F28 809CDF98 4604003C */ c.lt.s $f0, $f4 -/* 00F2C 809CDF9C 00000000 */ nop -/* 00F30 809CDFA0 45020004 */ bc1fl .L809CDFB4 -/* 00F34 809CDFA4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00F38 809CDFA8 0C2737F1 */ jal func_809CDFC4 -/* 00F3C 809CDFAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00F40 809CDFB0 8FBF0024 */ lw $ra, 0x0024($sp) -.L809CDFB4: -/* 00F44 809CDFB4 8FB0001C */ lw $s0, 0x001C($sp) -/* 00F48 809CDFB8 8FB10020 */ lw $s1, 0x0020($sp) -/* 00F4C 809CDFBC 03E00008 */ jr $ra -/* 00F50 809CDFC0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s deleted file mode 100644 index bacf335140..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_809CDFC4 -/* 00F54 809CDFC4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00F58 809CDFC8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F5C 809CDFCC 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00F60 809CDFD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00F64 809CDFD4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00F68 809CDFD8 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009 -/* 00F6C 809CDFDC 35F80010 */ ori $t8, $t7, 0x0010 ## $t8 = 00000010 -/* 00F70 809CDFE0 A48E0254 */ sh $t6, 0x0254($a0) ## 00000254 -/* 00F74 809CDFE4 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00F78 809CDFE8 E48401C8 */ swc1 $f4, 0x01C8($a0) ## 000001C8 -/* 00F7C 809CDFEC 0C27343E */ jal func_809CD0F8 -/* 00F80 809CDFF0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00F84 809CDFF4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00F88 809CDFF8 3C19809D */ lui $t9, %hi(func_809CE014) ## $t9 = 809D0000 -/* 00F8C 809CDFFC 2739E014 */ addiu $t9, $t9, %lo(func_809CE014) ## $t9 = 809CE014 -/* 00F90 809CE000 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00F94 809CE004 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00F98 809CE008 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F9C 809CE00C 03E00008 */ jr $ra -/* 00FA0 809CE010 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s deleted file mode 100644 index 386a153db4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel func_809CE014 -/* 00FA4 809CE014 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00FA8 809CE018 AFB00030 */ sw $s0, 0x0030($sp) -/* 00FAC 809CE01C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00FB0 809CE020 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00FB4 809CE024 AFA5003C */ sw $a1, 0x003C($sp) -/* 00FB8 809CE028 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00FBC 809CE02C 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC -/* 00FC0 809CE030 0C273444 */ jal func_809CD110 -/* 00FC4 809CE034 00000000 */ nop -/* 00FC8 809CE038 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 00FCC 809CE03C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00FD0 809CE040 8FA4003C */ lw $a0, 0x003C($sp) -/* 00FD4 809CE044 14410006 */ bne $v0, $at, .L809CE060 -/* 00FD8 809CE048 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00FDC 809CE04C 2406003C */ addiu $a2, $zero, 0x003C ## $a2 = 0000003C -/* 00FE0 809CE050 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00FE4 809CE054 240728E7 */ addiu $a3, $zero, 0x28E7 ## $a3 = 000028E7 -/* 00FE8 809CE058 10000019 */ beq $zero, $zero, .L809CE0C0 -/* 00FEC 809CE05C 8FBF0034 */ lw $ra, 0x0034($sp) -.L809CE060: -/* 00FF0 809CE060 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00FF4 809CE064 14410011 */ bne $v0, $at, .L809CE0AC -/* 00FF8 809CE068 8FA5003C */ lw $a1, 0x003C($sp) -/* 00FFC 809CE06C C604003C */ lwc1 $f4, 0x003C($s0) ## 0000003C -/* 01000 809CE070 8E070038 */ lw $a3, 0x0038($s0) ## 00000038 -/* 01004 809CE074 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 01008 809CE078 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0100C 809CE07C C6060040 */ lwc1 $f6, 0x0040($s0) ## 00000040 -/* 01010 809CE080 AFA00018 */ sw $zero, 0x0018($sp) -/* 01014 809CE084 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 01018 809CE088 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 0101C 809CE08C 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6 -/* 01020 809CE090 AFAF0024 */ sw $t7, 0x0024($sp) -/* 01024 809CE094 AFA00020 */ sw $zero, 0x0020($sp) -/* 01028 809CE098 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018 -/* 0102C 809CE09C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 01030 809CE0A0 AFAE001C */ sw $t6, 0x001C($sp) -/* 01034 809CE0A4 10000005 */ beq $zero, $zero, .L809CE0BC -/* 01038 809CE0A8 A2000258 */ sb $zero, 0x0258($s0) ## 00000258 -.L809CE0AC: -/* 0103C 809CE0AC 5C400004 */ bgtzl $v0, .L809CE0C0 -/* 01040 809CE0B0 8FBF0034 */ lw $ra, 0x0034($sp) -/* 01044 809CE0B4 0C273834 */ jal func_809CE0D0 -/* 01048 809CE0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809CE0BC: -/* 0104C 809CE0BC 8FBF0034 */ lw $ra, 0x0034($sp) -.L809CE0C0: -/* 01050 809CE0C0 8FB00030 */ lw $s0, 0x0030($sp) -/* 01054 809CE0C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01058 809CE0C8 03E00008 */ jr $ra -/* 0105C 809CE0CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s deleted file mode 100644 index 478be2ca8b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_809CE0D0 -/* 01060 809CE0D0 3C0F809D */ lui $t7, %hi(func_809CE0EC) ## $t7 = 809D0000 -/* 01064 809CE0D4 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 01068 809CE0D8 25EFE0EC */ addiu $t7, $t7, %lo(func_809CE0EC) ## $t7 = 809CE0EC -/* 0106C 809CE0DC A48E0254 */ sh $t6, 0x0254($a0) ## 00000254 -/* 01070 809CE0E0 AC8F0250 */ sw $t7, 0x0250($a0) ## 00000250 -/* 01074 809CE0E4 03E00008 */ jr $ra -/* 01078 809CE0E8 AC800134 */ sw $zero, 0x0134($a0) ## 00000134 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s deleted file mode 100644 index 8130d76564..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_809CE0EC -/* 0107C 809CE0EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 01080 809CE0F0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 01084 809CE0F4 AFA5001C */ sw $a1, 0x001C($sp) -/* 01088 809CE0F8 848E0254 */ lh $t6, 0x0254($a0) ## 00000254 -/* 0108C 809CE0FC 5DC00004 */ bgtzl $t6, .L809CE110 -/* 01090 809CE100 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01094 809CE104 0C00B55C */ jal Actor_Kill - -/* 01098 809CE108 00000000 */ nop -/* 0109C 809CE10C 8FBF0014 */ lw $ra, 0x0014($sp) -.L809CE110: -/* 010A0 809CE110 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 010A4 809CE114 03E00008 */ jr $ra -/* 010A8 809CE118 00000000 */ nop diff --git a/data/overlays/actors/z_en_butte.data.s b/data/overlays/actors/z_en_butte.data.s deleted file mode 100644 index d0dd040174..0000000000 --- a/data/overlays/actors/z_en_butte.data.s +++ /dev/null @@ -1,45 +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_809CE2F0 - .word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00050064 -glabel D_809CE314 - .word 0x0A000019, 0x10000000, 0x00000001 -.word D_809CE2F0 -glabel En_Butte_InitVars - .word 0x001E0700, 0x00000000, 0x00020000, 0x00000268 -.word EnButte_Init -.word EnButte_Destroy -.word EnButte_Update -.word EnButte_Draw -glabel D_809CE344 - .word 0x00050023, 0x00000000, 0x3DCCCCCD, 0x3F000000, 0x00000000, 0x000A002D, 0x3F8CCCCD, 0x3DCCCCCD, 0x3E800000, 0x03E80000, 0x000A0028, 0x3FC00000, 0x3DCCCCCD, 0x3E99999A, 0x07D00000 -glabel D_809CE380 - .word 0x00030003, 0x3F4CCCCD, 0x3DCCCCCD, 0x3E4CCCCD, 0x00000000, 0x000A0014, 0x40000000, 0x3E99999A, 0x3F800000, 0x00000000, 0x000A0014, 0x4019999A, 0x3E99999A, 0x3F800000, 0x00000000 -glabel D_809CE3BC - .word 0x00000000 -glabel D_809CE3C0 - .word 0x00000000 -glabel D_809CE3C4 - .word 0x00000000, 0x00000000, 0xC0400000 -glabel D_809CE3D0 - .word 0xC850000A, 0xB0F402BC, 0xB0F80014, 0x30FC0258 -glabel D_809CE3E0 - .word 0x42480000, 0x42A00000, 0x42C80000 -glabel D_809CE3EC - .word 0x41F00000, 0x42200000, 0x42480000 -glabel D_809CE3F8 - .word 0x41700000, 0x41A00000, 0x41C80000 -glabel D_809CE404 - .word 0x40F00000, 0x41200000, 0x41480000 -glabel D_809CE410 - .word 0x000005DC, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_butte.reloc.s b/data/overlays/actors/z_en_butte.reloc.s deleted file mode 100644 index fd3e5d57c0..0000000000 --- a/data/overlays/actors/z_en_butte.reloc.s +++ /dev/null @@ -1,13 +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 .rodata - -.balign 16 - -glabel D_809CE4D0 - .incbin "baserom/ovl_En_Butte", 0x1460, 0x00000210 diff --git a/spec b/spec index 7c5b193581..58a3aa5f18 100644 --- a/spec +++ b/spec @@ -2051,8 +2051,7 @@ endseg beginseg name "ovl_En_Butte" include "build/src/overlays/actors/ovl_En_Butte/z_en_butte.o" - include "build/data/overlays/actors/z_en_butte.data.o" - include "build/data/overlays/actors/z_en_butte.reloc.o" + include "build/src/overlays/actors/ovl_En_Butte/ovl_En_Butte_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c index 6a9056a084..000dffddf2 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -1,3 +1,9 @@ +/* + * File: z_en_butte.c + * Overlay: ovl_En_Butte + * Description: Butterfly + */ + #include "z_en_butte.h" #define FLAGS 0x00000000 @@ -9,7 +15,25 @@ void EnButte_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnButte_Update(Actor* thisx, GlobalContext* globalCtx); void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnButte_SetupFlyAround(EnButte* this); +void EnButte_FlyAround(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupFollowLink(EnButte* this); +void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupTransformIntoFairy(EnButte* this); +void EnButte_TransformIntoFairy(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupWaitToDie(EnButte* this); +void EnButte_WaitToDie(EnButte* this, GlobalContext* globalCtx); + +static ColliderJntSphItemInit sColliderItemInit[] = { + { { 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x000, 0x00 }, 0x00, 0x00, 0x01 }, + { 0, { { 0, 0, 0 }, 5 }, 100 } } +}; +static ColliderJntSphInit sColliderInit = { + { COLTYPE_UNK10, 0x00, 0x00, 0x19, 0x10, COLSHAPE_JNTSPH }, + 1, + sColliderItemInit, +}; + const ActorInit En_Butte_InitVars = { ACTOR_EN_BUTTE, ACTORTYPE_ITEMACTION, @@ -21,41 +45,374 @@ const ActorInit En_Butte_InitVars = { (ActorFunc)EnButte_Update, (ActorFunc)EnButte_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s") +typedef struct { + /* 0x00 */ s16 minTime; + /* 0x02 */ s16 maxTime; + /* 0x04 */ f32 speedXZTarget; + /* 0x08 */ f32 speedXZScale; + /* 0x0C */ f32 speedXZStep; + /* 0x10 */ s16 rotYStep; +} EnButteFlightParams; // size = 0x14 -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s") +static EnButteFlightParams sFlyAroundParams[] = { + { 5, 35, 0.0f, 0.1f, 0.5f, 0 }, + { 10, 45, 1.1f, 0.1f, 0.25f, 1000 }, + { 10, 40, 1.5f, 0.1f, 0.3f, 2000 }, +}; +static EnButteFlightParams sFollowLinkParams[] = { + { 3, 3, 0.8f, 0.1f, 0.2f, 0 }, + { 10, 20, 2.0f, 0.3f, 1.0f, 0 }, + { 10, 20, 2.4f, 0.3f, 1.0f, 0 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s") +extern AnimationHeader D_05002470; +extern SkeletonHeader D_050036F0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s") +void EnButte_SelectFlightParams(EnButte* this, EnButteFlightParams* flightParams) { + if (this->flightParamsIdx == 0) { + if (Math_Rand_ZeroOne() < 0.6f) { + this->flightParamsIdx = 1; + } else { + this->flightParamsIdx = 2; + } + } else { + this->flightParamsIdx = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s") + this->timer = Math_Rand_S16Offset(flightParams->minTime, flightParams->maxTime); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s") +static f32 sTransformationEffectScale = 0.0f; +static s16 sTransformationEffectAlpha = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s") +void EnButte_ResetTransformationEffect(void) { + sTransformationEffectScale = 0.0f; + sTransformationEffectAlpha = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s") +void EnButte_UpdateTransformationEffect(void) { + sTransformationEffectScale += 0.003f; + sTransformationEffectAlpha += 4000; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s") +void EnButte_DrawTransformationEffect(EnButte* this, GlobalContext* globalCtx) { + static Vec3f D_809CE3C4 = { 0.0f, 0.0f, -3.0f }; + Vec3f sp5C; + s32 alpha; + Vec3s camDir; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s") + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_choo.c", 295); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s") + func_80093C14(globalCtx->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s") + alpha = Math_Sins(sTransformationEffectAlpha) * 250; + alpha = CLAMP(alpha, 0, 255); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s") + func_8005A970(&camDir, ACTIVE_CAM); + Matrix_RotateY(camDir.y * (M_PI / 0x8000), MTXMODE_NEW); + Matrix_RotateX(camDir.x * (M_PI / 0x8000), MTXMODE_APPLY); + Matrix_RotateZ(camDir.z * (M_PI / 0x8000), MTXMODE_APPLY); + Matrix_MultVec3f(&D_809CE3C4, &sp5C); + func_800D1694(this->actor.posRot2.pos.x + sp5C.x, this->actor.posRot2.pos.y + sp5C.y, + this->actor.posRot2.pos.z + sp5C.z, &camDir); + Matrix_Scale(sTransformationEffectScale, sTransformationEffectScale, sTransformationEffectScale, MTXMODE_APPLY); + gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_choo.c", 317), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 200, 200, 180, alpha); + gDPSetEnvColor(oGfxCtx->polyXlu.p++, 200, 200, 210, 255); + gSPDisplayList(oGfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(&D_04010130)); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s") + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_choo.c", 326); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneForward, 700, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 20, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 600, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s") +void EnButte_Init(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s") + if (this->actor.params == -1) { + this->actor.params = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + + if ((this->actor.params & 1) == 1) { + this->actor.uncullZoneScale = 200.0f; + } + + SkelAnime_Init(globalCtx, &this->skelAnime, &D_050036F0, &D_05002470, this->limbDrawTable, + this->transitionDrawTable, 8); + Collider_InitJntSph(globalCtx, &this->collider); + Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sColliderInit, this->colliderItems); + this->actor.colChkInfo.mass = 0; + this->unk_25C = Math_Rand_ZeroOne() * 0xFFFF; + this->unk_25E = Math_Rand_ZeroOne() * 0xFFFF; + this->unk_260 = Math_Rand_ZeroOne() * 0xFFFF; + SkelAnime_ChangeAnim(&this->skelAnime, &D_05002470, 1.0f, 0.0f, 0.0f, 1, 0.0f); + EnButte_SetupFlyAround(this); + this->actor.shape.rot.x -= 0x2320; + this->drawSkelAnime = true; + // "field keep butterfly" + osSyncPrintf("(field keep 蝶)(%x)(arg_data 0x%04x)\n", this, this->actor.params); +} + +void EnButte_Destroy(Actor* thisx, GlobalContext* globalCtx) { + Collider_DestroyJntSph(globalCtx, &THIS->collider); +} + +void func_809CD56C(EnButte* this) { + static f32 D_809CE3E0[] = { 50.0f, 80.0f, 100.0f }; + static f32 D_809CE3EC[] = { 30.0f, 40.0f, 50.0f }; + + this->actor.shape.unk_08 += Math_Sins(this->unk_25C) * D_809CE3E0[this->flightParamsIdx] + + Math_Sins(this->unk_25E) * D_809CE3EC[this->flightParamsIdx]; + this->actor.shape.unk_08 = CLAMP(this->actor.shape.unk_08, -2000.0f, 2000.0f); +} + +void func_809CD634(EnButte* this) { + static f32 D_809CE3F8[] = { 15.0f, 20.0f, 25.0f }; + static f32 D_809CE404[] = { 7.5f, 10.0f, 12.5f }; + + this->actor.shape.unk_08 += Math_Sins(this->unk_25C) * D_809CE3F8[this->flightParamsIdx] + + Math_Sins(this->unk_25E) * D_809CE404[this->flightParamsIdx]; + this->actor.shape.unk_08 = CLAMP(this->actor.shape.unk_08, -500.0f, 500.0f); +} + +void EnButte_Turn(EnButte* this) { + s16 target = this->actor.posRot.rot.y + 0x8000; + s16 diff = target - this->actor.shape.rot.y; + + Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, target, ABS(diff) >> 3); + this->actor.shape.rot.x = (s16)(sinf(this->unk_260) * 600.0f) - 0x2320; +} + +void EnButte_SetupFlyAround(EnButte* this) { + EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); + this->actionFunc = EnButte_FlyAround; +} + +void EnButte_FlyAround(EnButte* this, GlobalContext* globalCtx) { + EnButteFlightParams* flightParams = &sFlyAroundParams[this->flightParamsIdx]; + s16 yaw; + Player* player = PLAYER; + f32 distSqFromHome; + f32 maxDistSqFromHome; + f32 minAnimSpeed; + f32 animSpeed; + s16 rotStep; + + distSqFromHome = Math3D_Dist2DSq(this->actor.posRot.pos.x, this->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z); + func_809CD56C(this); + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, flightParams->speedXZTarget, flightParams->speedXZScale, + flightParams->speedXZStep, 0.0f); + + if (this->unk_257 == 1) { + maxDistSqFromHome = SQ(100.0f); + rotStep = 1000; + } else { + maxDistSqFromHome = SQ(35.0f); + rotStep = 600; + } + + minAnimSpeed = 0.0f; + this->posYTarget = this->actor.initPosRot.pos.y; + + if ((this->flightParamsIdx != 0) && ((distSqFromHome > maxDistSqFromHome) || (this->timer < 4))) { + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, flightParams->rotYStep) == 0) { + minAnimSpeed = 0.5f; + } + } else if ((this->unk_257 == 0) && (this->actor.child != NULL) && (this->actor.child != &this->actor)) { + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.child->posRot.pos); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, rotStep) == 0) { + minAnimSpeed = 0.3f; + } + } else if (this->unk_257 == 1) { + yaw = this->actor.yawTowardsLink + 0x8000 + (s16)((Math_Rand_ZeroOne() - 0.5f) * 0x6000); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, rotStep) == 0) { + minAnimSpeed = 0.4f; + } + } else { + this->actor.posRot.rot.y += (s16)(sinf(this->unk_25C) * 100.0f); + } + + EnButte_Turn(this); + + animSpeed = this->actor.speedXZ / 2.0f + Math_Rand_ZeroOne() * 0.2f + (1.0f - Math_Sins(this->unk_260)) * 0.15f + + (1.0f - Math_Sins(this->unk_25E)) * 0.3f + minAnimSpeed; + this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f); + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + + if (this->timer <= 0) { + EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); + } + + if (((this->actor.params & 1) == 1) && (player->heldItemActionParam == 6) && (this->swordDownTimer <= 0) && + ((Math3D_Dist2DSq(player->actor.posRot.pos.x, player->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z) < SQ(120.0f)) || + (this->actor.xzDistFromLink < 60.0f))) { + EnButte_SetupFollowLink(this); + this->unk_257 = 2; + } else if (this->actor.xzDistFromLink < 120.0) { + this->unk_257 = 1; + } else { + this->unk_257 = 0; + } +} + +void EnButte_SetupFollowLink(EnButte* this) { + EnButte_SelectFlightParams(this, &sFollowLinkParams[this->flightParamsIdx]); + this->actionFunc = EnButte_FollowLink; +} + +void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx) { + static s32 D_809CE410 = 1500; + EnButteFlightParams* flightParams = &sFollowLinkParams[this->flightParamsIdx]; + Player* player = PLAYER; + f32 distSqFromHome; + Vec3f swordTip; + f32 animSpeed; + f32 minAnimSpeed; + f32 distSqFromSword; + s16 yaw; + + func_809CD634(this); + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, flightParams->speedXZTarget, flightParams->speedXZScale, + flightParams->speedXZStep, 0.0f); + minAnimSpeed = 0.0f; + + if ((this->flightParamsIdx != 0) && (this->timer < 12)) { + swordTip.x = player->swordInfo[0].tip.x + Math_Sins(player->actor.shape.rot.y) * 10.0f; + swordTip.y = player->swordInfo[0].tip.y; + swordTip.z = player->swordInfo[0].tip.z + Math_Coss(player->actor.shape.rot.y) * 10.0f; + + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &swordTip) + (s16)(Math_Rand_ZeroOne() * D_809CE410); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000) != 0) { + if (globalCtx->gameplayFrames % 2) { + this->actor.posRot.rot.y += (s16)(sinf(this->unk_25C) * 60.0f); + } + } else { + minAnimSpeed = 0.3f; + } + } + + this->posYTarget = MAX(player->actor.posRot.pos.y + 30.0f, player->swordInfo[0].tip.y); + + EnButte_Turn(this); + + animSpeed = this->actor.speedXZ / 2.0f + Math_Rand_ZeroOne() * 0.2f + (1.0f - Math_Sins(this->unk_260)) * 0.15f + + (1.0f - Math_Sins(this->unk_25E)) * 0.3f + minAnimSpeed; + this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f); + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + + if (this->timer <= 0) { + EnButte_SelectFlightParams(this, &sFollowLinkParams[this->flightParamsIdx]); + D_809CE410 = -D_809CE410; + } + + distSqFromHome = Math3D_Dist2DSq(this->actor.posRot.pos.x, this->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z); + if (!((player->heldItemActionParam == 6) && (fabsf(player->actor.speedXZ) < 1.8f) && (this->swordDownTimer <= 0) && + (distSqFromHome < SQ(320.0f)))) { + EnButte_SetupFlyAround(this); + } else if (distSqFromHome > SQ(240.0f)) { + distSqFromSword = Math3D_Dist2DSq(player->swordInfo[0].tip.x, player->swordInfo[0].tip.z, + this->actor.posRot.pos.x, this->actor.posRot.pos.z); + if (distSqFromSword < SQ(60.0f)) { + EnButte_SetupTransformIntoFairy(this); + } + } +} + +void EnButte_SetupTransformIntoFairy(EnButte* this) { + this->timer = 9; + this->actor.flags |= 0x10; + this->skelAnime.animPlaybackSpeed = 1.0f; + EnButte_ResetTransformationEffect(); + this->actionFunc = EnButte_TransformIntoFairy; +} + +void EnButte_TransformIntoFairy(EnButte* this, GlobalContext* globalCtx) { + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + EnButte_UpdateTransformationEffect(); + + if (this->timer == 5) { + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 60, NA_SE_EV_BUTTERFRY_TO_FAIRY); + } else if (this->timer == 4) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, this->actor.posRot2.pos.x, this->actor.posRot2.pos.y, + this->actor.posRot2.pos.z, 0, this->actor.shape.rot.y, 0, 2); + this->drawSkelAnime = false; + } else if (this->timer <= 0) { + EnButte_SetupWaitToDie(this); + } +} + +void EnButte_SetupWaitToDie(EnButte* this) { + this->timer = 64; + this->actionFunc = EnButte_WaitToDie; + this->actor.draw = NULL; +} + +void EnButte_WaitToDie(EnButte* this, GlobalContext* globalCtx) { + if (this->timer <= 0) { + Actor_Kill(&this->actor); + } +} + +void EnButte_Update(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; + + if ((this->actor.child != NULL) && (this->actor.child->update == NULL) && (this->actor.child != &this->actor)) { + this->actor.child = NULL; + } + + if (this->timer > 0) { + this->timer--; + } + + this->unk_25C += 0x222; + this->unk_25E += 0x1000; + this->unk_260 += 0x600; + + if ((this->actor.params & 1) == 1) { + if (PLAYER->swordState == 0) { + if (this->swordDownTimer > 0) { + this->swordDownTimer--; + } + } else { + this->swordDownTimer = 80; + } + } + + this->actionFunc(this, globalCtx); + + if (this->actor.update != NULL) { + Actor_MoveForward(&this->actor); + Math_ApproxF(&this->actor.posRot.pos.y, this->posYTarget, 0.6f); + if (this->actor.xyzDistFromLinkSq < 5000.0f) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } + Actor_SetHeight(&this->actor, this->actor.shape.unk_08 * this->actor.scale.y); + } +} + +void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; + + if (this->drawSkelAnime) { + func_80093D18(globalCtx->state.gfxCtx); + SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); + func_800628A4(0, &this->collider); + } + + if (((this->actor.params & 1) == 1) && (this->actionFunc == EnButte_TransformIntoFairy)) { + EnButte_DrawTransformationEffect(this, globalCtx); + } +} diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.h b/src/overlays/actors/ovl_En_Butte/z_en_butte.h index c6cae2f099..8e3357f1f6 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.h +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.h @@ -6,9 +6,25 @@ struct EnButte; +typedef void (*EnButteActionFunc)(struct EnButte*, GlobalContext*); + typedef struct EnButte { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x11C]; + /* 0x014C */ ColliderJntSph collider; + /* 0x016C */ ColliderJntSphItem colliderItems[1]; + /* 0x01AC */ SkelAnime skelAnime; + /* 0x01F0 */ Vec3s limbDrawTable[8]; + /* 0x0220 */ Vec3s transitionDrawTable[8]; + /* 0x0250 */ EnButteActionFunc actionFunc; + /* 0x0254 */ s16 timer; + /* 0x0256 */ u8 flightParamsIdx; + /* 0x0257 */ u8 unk_257; + /* 0x0258 */ u8 drawSkelAnime; + /* 0x025A */ s16 swordDownTimer; + /* 0x025C */ s16 unk_25C; + /* 0x025E */ s16 unk_25E; + /* 0x0260 */ s16 unk_260; + /* 0x0264 */ f32 posYTarget; } EnButte; // size = 0x0268 extern const ActorInit En_Butte_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 96802ca265..99d11c395d 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1028,6 +1028,10 @@ D_06001678 = 0x06001678; D_060047D8 = 0x060047D8; D_06005FC8 = 0x06005FC8; +// z_en_butte +D_05002470 = 0x05002470; +D_050036F0 = 0x050036F0; + // z_eff_ss_dust D_04010050 = 0x04010050; From b010db7c19207f0e607d5ccaf0d1f2350dda3964 Mon Sep 17 00:00:00 2001 From: Random <28494085+Random06457@users.noreply.github.com> Date: Sun, 11 Oct 2020 19:45:08 +0200 Subject: [PATCH 3/8] Decompile z_sram.c (#431) * Decompile z_sram.c * rename Sram_CalcChecksum to Sram_WriteSaveSlot * progress * done i think * add original name comments * temp substructs * minor fixes * review * review 2 * fix Co-authored-by: fig --- .../code/code_800EC960/func_800EDD68.s | 4 +- .../code/code_800EC960/func_800EEA50.s | 4 +- .../code/z_message_PAL/func_8010C39C.s | 8 +- asm/non_matchings/code/z_play/Gameplay_Init.s | 2 +- .../{func_800A8484.s => Sram_OpenSave.s} | 26 +- ...00A8A20.s => Sram_VerifyAndLoadAllSaves.s} | 22 +- asm/non_matchings/code/z_sram/func_800A81A0.s | 78 -- asm/non_matchings/code/z_sram/func_800A82C8.s | 118 --- asm/non_matchings/code/z_sram/func_800A88D4.s | 91 -- asm/non_matchings/code/z_sram/func_800A9258.s | 354 ------- asm/non_matchings/code/z_sram/func_800A96D0.s | 81 -- asm/non_matchings/code/z_sram/func_800A97F0.s | 193 ---- asm/non_matchings/code/z_sram/func_800A9A9C.s | 15 - asm/non_matchings/code/z_sram/func_800A9AD0.s | 177 ---- asm/non_matchings/code/z_sram/func_800A9CD4.s | 38 - asm/non_matchings/code/z_sram/func_800A9D28.s | 4 - .../ovl_kaleido_scope/KaleidoScope_Update.s | 4 +- .../ovl_file_choose/func_80803ED8.s | 8 +- .../ovl_file_choose/func_808044A0.s | 8 +- .../ovl_file_choose/func_80804A50.s | 4 +- .../ovl_file_choose/func_80804CD0.s | 2 +- .../ovl_file_choose/func_80804ED8.s | 4 +- .../ovl_file_choose/func_80805524.s | 4 +- .../ovl_file_choose/func_80805B2C.s | 8 +- .../ovl_file_choose/func_80805EB8.s | 4 +- .../ovl_file_choose/func_808064F4.s | 4 +- .../ovl_file_choose/func_80806710.s | 2 +- .../ovl_file_choose/func_808069B4.s | 4 +- .../ovl_file_choose/func_80808000.s | 2 +- .../ovl_file_choose/func_8080969C.s | 2 +- .../ovl_file_choose/func_8080B1A8.s | 2 +- .../ovl_file_choose/func_8080B22C.s | 4 +- .../ovl_file_choose/func_8080B52C.s | 16 +- .../ovl_file_choose/func_8080BFE4.s | 12 +- .../ovl_file_choose/func_8080C60C.s | 4 +- .../ovl_file_choose/func_8080FE2C.s | 4 +- .../ovl_file_choose/func_80810440.s | 4 +- .../ovl_file_choose/func_808106F4.s | 4 +- .../ovl_file_choose/func_808113A8.s | 4 +- data/code_800EC960.data.s | 4 +- data/z_sram.data.s | 46 - include/functions.h | 25 +- include/macros.h | 12 +- include/variables.h | 15 +- include/z64.h | 291 ++---- include/z64save.h | 190 ++++ spec | 3 +- src/code/code_80097A00.c | 6 +- src/code/z_actor.c | 12 +- src/code/z_demo.c | 2 +- src/code/z_elf_message.c | 6 +- src/code/z_kankyo.c | 2 +- src/code/z_lifemeter.c | 2 +- src/code/z_map_exp.c | 8 +- src/code/z_parameter.c | 149 +-- src/code/z_play.c | 14 +- src/code/z_sram.c | 904 +++++++++++++++++- src/code/z_ss_sram.c | 53 + .../actors/ovl_Door_Gerudo/z_door_gerudo.c | 4 +- src/overlays/actors/ovl_En_GirlA/z_en_girla.c | 10 +- src/overlays/actors/ovl_En_Ishi/z_en_ishi.c | 2 +- .../actors/ovl_En_Kakasi/z_en_kakasi.c | 6 +- .../actors/ovl_En_Kakasi2/z_en_kakasi2.c | 3 +- .../actors/ovl_En_Kakasi3/z_en_kakasi3.c | 10 +- src/overlays/actors/ovl_En_Ma3/z_en_ma3.c | 12 +- .../ovl_En_Okarina_Tag/z_en_okarina_tag.c | 4 +- src/overlays/actors/ovl_En_Reeba/z_en_reeba.c | 3 +- src/overlays/actors/ovl_En_Rl/z_en_rl.c | 2 +- .../ovl_En_Takara_Man/z_en_takara_man.c | 2 +- .../actors/ovl_Obj_Syokudai/z_obj_syokudai.c | 6 +- .../actors/ovl_player_actor/z_player.c | 39 +- .../gamestates/ovl_opening/z_opening.c | 2 +- src/overlays/gamestates/ovl_select/z_select.c | 4 +- src/overlays/gamestates/ovl_title/z_title.c | 4 +- 74 files changed, 1514 insertions(+), 1672 deletions(-) rename asm/non_matchings/code/z_sram/{func_800A8484.s => Sram_OpenSave.s} (94%) rename asm/non_matchings/code/z_sram/{func_800A8A20.s => Sram_VerifyAndLoadAllSaves.s} (97%) delete mode 100644 asm/non_matchings/code/z_sram/func_800A81A0.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A82C8.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A88D4.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A9258.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A96D0.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A97F0.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A9A9C.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A9AD0.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A9CD4.s delete mode 100644 asm/non_matchings/code/z_sram/func_800A9D28.s delete mode 100644 data/z_sram.data.s create mode 100644 include/z64save.h create mode 100644 src/code/z_ss_sram.c diff --git a/asm/non_matchings/code/code_800EC960/func_800EDD68.s b/asm/non_matchings/code/code_800EC960/func_800EDD68.s index 7eaae4bfc8..bbb66a9965 100644 --- a/asm/non_matchings/code/code_800EC960/func_800EDD68.s +++ b/asm/non_matchings/code/code_800EC960/func_800EDD68.s @@ -8,9 +8,9 @@ glabel func_800EDD68 /* B64F20 800EDD80 AFA40020 */ sw $a0, 0x20($sp) /* B64F24 800EDD84 15C10004 */ bne $t6, $at, .L800EDD98 /* B64F28 800EDD88 3C028013 */ lui $v0, %hi(D_80131864) # $v0, 0x8013 -/* B64F2C 800EDD8C 3C048013 */ lui $a0, %hi(D_80131BE4) # $a0, 0x8013 +/* B64F2C 800EDD8C 3C048013 */ lui $a0, %hi(gScarecrowCustomSongPtr) # $a0, 0x8013 /* B64F30 800EDD90 10000003 */ b .L800EDDA0 -/* B64F34 800EDD94 8C841BE4 */ lw $a0, %lo(D_80131BE4)($a0) +/* B64F34 800EDD94 8C841BE4 */ lw $a0, %lo(gScarecrowCustomSongPtr)($a0) .L800EDD98: /* B64F38 800EDD98 3C048013 */ lui $a0, %hi(D_80131BEC) # $a0, 0x8013 /* B64F3C 800EDD9C 8C841BEC */ lw $a0, %lo(D_80131BEC)($a0) diff --git a/asm/non_matchings/code/code_800EC960/func_800EEA50.s b/asm/non_matchings/code/code_800EC960/func_800EEA50.s index 03e9d45abb..36b68da95d 100644 --- a/asm/non_matchings/code/code_800EC960/func_800EEA50.s +++ b/asm/non_matchings/code/code_800EC960/func_800EEA50.s @@ -3280,8 +3280,8 @@ glabel L800F12F0 /* B68560 800F13C0 24050003 */ li $a1, 3 /* B68564 800F13C4 0C03ED07 */ jal GfxPrint_SetPos /* B68568 800F13C8 24060006 */ li $a2, 6 -/* B6856C 800F13CC 3C148013 */ lui $s4, %hi(D_80131BE8) # $s4, 0x8013 -/* B68570 800F13D0 26941BE8 */ addiu $s4, %lo(D_80131BE8) # addiu $s4, $s4, 0x1be8 +/* B6856C 800F13CC 3C148013 */ lui $s4, %hi(gScarecrowSpawnSongPtr) # $s4, 0x8013 +/* B68570 800F13D0 26941BE8 */ addiu $s4, %lo(gScarecrowSpawnSongPtr) # addiu $s4, $s4, 0x1be8 /* B68574 800F13D4 3C058015 */ lui $a1, %hi(D_8014A2C0) # $a1, 0x8015 /* B68578 800F13D8 24A5A2C0 */ addiu $a1, %lo(D_8014A2C0) # addiu $a1, $a1, -0x5d40 /* B6857C 800F13DC 8E860000 */ lw $a2, ($s4) diff --git a/asm/non_matchings/code/z_message_PAL/func_8010C39C.s b/asm/non_matchings/code/z_message_PAL/func_8010C39C.s index 6e0277d1b1..e5fe58d06b 100644 --- a/asm/non_matchings/code/z_message_PAL/func_8010C39C.s +++ b/asm/non_matchings/code/z_message_PAL/func_8010C39C.s @@ -2382,8 +2382,8 @@ glabel L8010DF4C /* B852F4 8010E154 0C00084C */ jal osSyncPrintf /* B852F8 8010E158 248447AC */ addiu $a0, %lo(D_801547AC) # addiu $a0, $a0, 0x47ac /* B852FC 8010E15C 3C048016 */ lui $a0, %hi(gSaveContext+0xf41) # $a0, 0x8016 -/* B85300 8010E160 3C058013 */ lui $a1, %hi(D_80131BE4) # $a1, 0x8013 -/* B85304 8010E164 8CA51BE4 */ lw $a1, %lo(D_80131BE4)($a1) +/* B85300 8010E160 3C058013 */ lui $a1, %hi(gScarecrowCustomSongPtr) # $a1, 0x8013 +/* B85304 8010E164 8CA51BE4 */ lw $a1, %lo(gScarecrowCustomSongPtr)($a1) /* B85308 8010E168 2484F5A1 */ addiu $a0, %lo(gSaveContext+0xf41) # addiu $a0, $a0, -0xa5f /* B8530C 8010E16C 0C01A508 */ jal MemCopy /* B85310 8010E170 24060360 */ li $a2, 864 @@ -2583,8 +2583,8 @@ glabel L8010E364 /* B855E8 8010E448 0C00084C */ jal osSyncPrintf /* B855EC 8010E44C 24844880 */ addiu $a0, %lo(D_80154880) # addiu $a0, $a0, 0x4880 /* B855F0 8010E450 3C048016 */ lui $a0, %hi(gSaveContext+0x12c6) # $a0, 0x8016 -/* B855F4 8010E454 3C058013 */ lui $a1, %hi(D_80131BE8) # $a1, 0x8013 -/* B855F8 8010E458 8CA51BE8 */ lw $a1, %lo(D_80131BE8)($a1) +/* B855F4 8010E454 3C058013 */ lui $a1, %hi(gScarecrowSpawnSongPtr) # $a1, 0x8013 +/* B855F8 8010E458 8CA51BE8 */ lw $a1, %lo(gScarecrowSpawnSongPtr)($a1) /* B855FC 8010E45C 2484F926 */ addiu $a0, %lo(gSaveContext+0x12c6) # addiu $a0, $a0, -0x6da /* B85600 8010E460 0C01A508 */ jal MemCopy /* B85604 8010E464 24060080 */ li $a2, 128 diff --git a/asm/non_matchings/code/z_play/Gameplay_Init.s b/asm/non_matchings/code/z_play/Gameplay_Init.s index a9c657103e..19a19e9d4f 100644 --- a/asm/non_matchings/code/z_play/Gameplay_Init.s +++ b/asm/non_matchings/code/z_play/Gameplay_Init.s @@ -116,7 +116,7 @@ glabel Gameplay_Init /* B33D2C 800BCB8C 0C016B12 */ jal func_8005AC48 /* B33D30 800BCB90 A62007A0 */ sh $zero, 0x7a0($s1) /* B33D34 800BCB94 02202025 */ move $a0, $s1 -/* B33D38 800BCB98 0C02A74A */ jal func_800A9D28 +/* B33D38 800BCB98 0C02A74A */ jal Sram_Init /* B33D3C 800BCB9C 26251F74 */ addiu $a1, $s1, 0x1f74 /* B33D40 800BCBA0 0C044826 */ jal func_80112098 /* B33D44 800BCBA4 02202025 */ move $a0, $s1 diff --git a/asm/non_matchings/code/z_sram/func_800A8484.s b/asm/non_matchings/code/z_sram/Sram_OpenSave.s similarity index 94% rename from asm/non_matchings/code/z_sram/func_800A8484.s rename to asm/non_matchings/code/z_sram/Sram_OpenSave.s index 2b333da9c2..166c1dde99 100644 --- a/asm/non_matchings/code/z_sram/func_800A8484.s +++ b/asm/non_matchings/code/z_sram/Sram_OpenSave.s @@ -96,7 +96,7 @@ glabel jtbl_80140FB8 .word L800A85C0 .text -glabel func_800A8484 +glabel Sram_OpenSave /* B1F624 800A8484 27BDFFD8 */ addiu $sp, $sp, -0x28 /* B1F628 800A8488 AFB00014 */ sw $s0, 0x14($sp) /* B1F62C 800A848C 00808025 */ move $s0, $a0 @@ -108,11 +108,11 @@ glabel func_800A8484 /* B1F644 800A84A4 3C118016 */ lui $s1, %hi(gSaveContext) # $s1, 0x8016 /* B1F648 800A84A8 2631E660 */ addiu $s1, %lo(gSaveContext) # addiu $s1, $s1, -0x19a0 /* B1F64C 800A84AC 8E261354 */ lw $a2, 0x1354($s1) -/* B1F650 800A84B0 3C078013 */ lui $a3, %hi(D_8012A4E0) +/* B1F650 800A84B0 3C078013 */ lui $a3, %hi(gSramSlotOffsets) /* B1F654 800A84B4 3C048014 */ lui $a0, %hi(D_80140864) # $a0, 0x8014 /* B1F658 800A84B8 00067040 */ sll $t6, $a2, 1 /* B1F65C 800A84BC 00EE3821 */ addu $a3, $a3, $t6 -/* B1F660 800A84C0 94E5A4E0 */ lhu $a1, %lo(D_8012A4E0)($a3) +/* B1F660 800A84C0 94E5A4E0 */ lhu $a1, %lo(gSramSlotOffsets)($a3) /* B1F664 800A84C4 24840864 */ addiu $a0, %lo(D_80140864) # addiu $a0, $a0, 0x864 /* B1F668 800A84C8 0C00084C */ jal osSyncPrintf /* B1F66C 800A84CC A7A50026 */ sh $a1, 0x26($sp) @@ -151,9 +151,9 @@ glabel func_800A8484 glabel L800A854C /* B1F6EC 800A854C 0002C840 */ sll $t9, $v0, 1 -/* B1F6F0 800A8550 3C0C8013 */ lui $t4, %hi(D_8012A670) +/* B1F6F0 800A8550 3C0C8013 */ lui $t4, %hi(dungeonEntrances) /* B1F6F4 800A8554 01996021 */ addu $t4, $t4, $t9 -/* B1F6F8 800A8558 858CA670 */ lh $t4, %lo(D_8012A670)($t4) +/* B1F6F8 800A8558 858CA670 */ lh $t4, %lo(dungeonEntrances)($t4) /* B1F6FC 800A855C 1000002C */ b .L800A8610 /* B1F700 800A8560 AE2C0000 */ sw $t4, ($s1) @@ -250,14 +250,14 @@ glabel L800A85CC /* B1F7FC 800A865C 3C048014 */ lui $a0, %hi(D_801408C0) # $a0, 0x8014 /* B1F800 800A8660 0C00084C */ jal osSyncPrintf /* B1F804 800A8664 248408C0 */ addiu $a0, %lo(D_801408C0) # addiu $a0, $a0, 0x8c0 -/* B1F808 800A8668 3C048013 */ lui $a0, %hi(D_80131BE4) # $a0, 0x8013 +/* B1F808 800A8668 3C048013 */ lui $a0, %hi(gScarecrowCustomSongPtr) # $a0, 0x8013 /* B1F80C 800A866C 3C058016 */ lui $a1, %hi(gSaveContext+0xf41) # $a1, 0x8016 /* B1F810 800A8670 24A5F5A1 */ addiu $a1, %lo(gSaveContext+0xf41) # addiu $a1, $a1, -0xa5f -/* B1F814 800A8674 8C841BE4 */ lw $a0, %lo(D_80131BE4)($a0) +/* B1F814 800A8674 8C841BE4 */ lw $a0, %lo(gScarecrowCustomSongPtr)($a0) /* B1F818 800A8678 0C01A508 */ jal MemCopy /* B1F81C 800A867C 24060360 */ li $a2, 864 -/* B1F820 800A8680 3C108013 */ lui $s0, %hi(D_80131BE4) # $s0, 0x8013 -/* B1F824 800A8684 8E101BE4 */ lw $s0, %lo(D_80131BE4)($s0) +/* B1F820 800A8680 3C108013 */ lui $s0, %hi(gScarecrowCustomSongPtr) # $s0, 0x8013 +/* B1F824 800A8684 8E101BE4 */ lw $s0, %lo(gScarecrowCustomSongPtr)($s0) /* B1F828 800A8688 00003825 */ move $a3, $zero .L800A868C: /* B1F82C 800A868C 3C048014 */ lui $a0, %hi(D_80140908) # $a0, 0x8014 @@ -288,14 +288,14 @@ glabel L800A85CC /* B1F88C 800A86EC 3C048014 */ lui $a0, %hi(D_80140964) # $a0, 0x8014 /* B1F890 800A86F0 0C00084C */ jal osSyncPrintf /* B1F894 800A86F4 24840964 */ addiu $a0, %lo(D_80140964) # addiu $a0, $a0, 0x964 -/* B1F898 800A86F8 3C048013 */ lui $a0, %hi(D_80131BE8) # $a0, 0x8013 +/* B1F898 800A86F8 3C048013 */ lui $a0, %hi(gScarecrowSpawnSongPtr) # $a0, 0x8013 /* B1F89C 800A86FC 3C058016 */ lui $a1, %hi(gSaveContext+0x12c6) # $a1, 0x8016 /* B1F8A0 800A8700 24A5F926 */ addiu $a1, %lo(gSaveContext+0x12c6) # addiu $a1, $a1, -0x6da -/* B1F8A4 800A8704 8C841BE8 */ lw $a0, %lo(D_80131BE8)($a0) +/* B1F8A4 800A8704 8C841BE8 */ lw $a0, %lo(gScarecrowSpawnSongPtr)($a0) /* B1F8A8 800A8708 0C01A508 */ jal MemCopy /* B1F8AC 800A870C 24060080 */ li $a2, 128 -/* B1F8B0 800A8710 3C108013 */ lui $s0, %hi(D_80131BE8) # $s0, 0x8013 -/* B1F8B4 800A8714 8E101BE8 */ lw $s0, %lo(D_80131BE8)($s0) +/* B1F8B0 800A8710 3C108013 */ lui $s0, %hi(gScarecrowSpawnSongPtr) # $s0, 0x8013 +/* B1F8B4 800A8714 8E101BE8 */ lw $s0, %lo(gScarecrowSpawnSongPtr)($s0) /* B1F8B8 800A8718 00003825 */ move $a3, $zero .L800A871C: /* B1F8BC 800A871C 3C048014 */ lui $a0, %hi(D_801409AC) # $a0, 0x8014 diff --git a/asm/non_matchings/code/z_sram/func_800A8A20.s b/asm/non_matchings/code/z_sram/Sram_VerifyAndLoadAllSaves.s similarity index 97% rename from asm/non_matchings/code/z_sram/func_800A8A20.s rename to asm/non_matchings/code/z_sram/Sram_VerifyAndLoadAllSaves.s index ee08fad088..0328da4acd 100644 --- a/asm/non_matchings/code/z_sram/func_800A8A20.s +++ b/asm/non_matchings/code/z_sram/Sram_VerifyAndLoadAllSaves.s @@ -94,7 +94,7 @@ glabel D_80140CC4 .balign 4 .text -glabel func_800A8A20 +glabel Sram_VerifyAndLoadAllSaves /* B1FBC0 800A8A20 27BDFF88 */ addiu $sp, $sp, -0x78 /* B1FBC4 800A8A24 AFA40078 */ sw $a0, 0x78($sp) /* B1FBC8 800A8A28 AFBF004C */ sw $ra, 0x4c($sp) @@ -119,7 +119,7 @@ glabel func_800A8A20 /* B1FC14 800A8A74 3C040800 */ lui $a0, 0x800 /* B1FC18 800A8A78 34068000 */ li $a2, 32768 /* B1FC1C 800A8A7C 00003825 */ move $a3, $zero -/* B1FC20 800A8A80 0C02A7A8 */ jal Sram_ReadWrite +/* B1FC20 800A8A80 0C02A7A8 */ jal SsSram_ReadWrite /* B1FC24 800A8A84 8DE50000 */ lw $a1, ($t7) /* B1FC28 800A8A88 3C148016 */ lui $s4, %hi(gSaveContext) # $s4, 0x8016 /* B1FC2C 800A8A8C 2694E660 */ addiu $s4, %lo(gSaveContext) # addiu $s4, $s4, -0x19a0 @@ -134,8 +134,8 @@ glabel func_800A8A20 /* B1FC50 800A8AB0 A7B80066 */ sh $t8, 0x66($sp) .L800A8AB4: /* B1FC54 800A8AB4 97B90072 */ lhu $t9, 0x72($sp) -/* B1FC58 800A8AB8 3C098013 */ lui $t1, %hi(D_8012A4E0) # $t1, 0x8013 -/* B1FC5C 800A8ABC 2529A4E0 */ addiu $t1, %lo(D_8012A4E0) # addiu $t1, $t1, -0x5b20 +/* B1FC58 800A8AB8 3C098013 */ lui $t1, %hi(gSramSlotOffsets) # $t1, 0x8013 +/* B1FC5C 800A8ABC 2529A4E0 */ addiu $t1, %lo(gSramSlotOffsets) # addiu $t1, $t1, -0x5b20 /* B1FC60 800A8AC0 00194040 */ sll $t0, $t9, 1 /* B1FC64 800A8AC4 01091021 */ addu $v0, $t0, $t1 /* B1FC68 800A8AC8 94520000 */ lhu $s2, ($v0) @@ -189,8 +189,8 @@ glabel func_800A8A20 /* B1FD24 800A8B84 95A50000 */ lhu $a1, ($t5) /* B1FD28 800A8B88 8FAE005C */ lw $t6, 0x5c($sp) /* B1FD2C 800A8B8C 8FB9007C */ lw $t9, 0x7c($sp) -/* B1FD30 800A8B90 3C188013 */ lui $t8, %hi(D_8012A4E0) # $t8, 0x8013 -/* B1FD34 800A8B94 2718A4E0 */ addiu $t8, %lo(D_8012A4E0) # addiu $t8, $t8, -0x5b20 +/* B1FD30 800A8B90 3C188013 */ lui $t8, %hi(gSramSlotOffsets) # $t8, 0x8013 +/* B1FD34 800A8B94 2718A4E0 */ addiu $t8, %lo(gSramSlotOffsets) # addiu $t8, $t8, -0x5b20 /* B1FD38 800A8B98 000E7840 */ sll $t7, $t6, 1 /* B1FD3C 800A8B9C 01F81021 */ addu $v0, $t7, $t8 /* B1FD40 800A8BA0 94520006 */ lhu $s2, 6($v0) @@ -264,7 +264,7 @@ glabel func_800A8A20 /* B1FE4C 800A8CAC 97AB0072 */ lhu $t3, 0x72($sp) /* B1FE50 800A8CB0 1560001C */ bnez $t3, .L800A8D24 /* B1FE54 800A8CB4 00000000 */ nop -/* B1FE58 800A8CB8 0C02A0B2 */ jal func_800A82C8 +/* B1FE58 800A8CB8 0C02A0B2 */ jal Sram_InitDebugSave /* B1FE5C 800A8CBC 00000000 */ nop /* B1FE60 800A8CC0 2402005A */ li $v0, 90 /* B1FE64 800A8CC4 240E0044 */ li $t6, 68 @@ -292,7 +292,7 @@ glabel func_800A8A20 /* B1FEBC 800A8D1C 10000003 */ b .L800A8D2C /* B1FEC0 800A8D20 00000000 */ nop .L800A8D24: -/* B1FEC4 800A8D24 0C02A068 */ jal func_800A81A0 +/* B1FEC4 800A8D24 0C02A068 */ jal Sram_InitNewSave /* B1FEC8 800A8D28 00000000 */ nop .L800A8D2C: /* B1FECC 800A8D2C 3C048014 */ lui $a0, %hi(D_80140B74) # $a0, 0x8014 @@ -334,7 +334,7 @@ glabel func_800A8A20 /* B1FF54 800A8DB4 95500006 */ lhu $s0, 6($t2) /* B1FF58 800A8DB8 24061450 */ li $a2, 5200 /* B1FF5C 800A8DBC 24070001 */ li $a3, 1 -/* B1FF60 800A8DC0 0C02A7A8 */ jal Sram_ReadWrite +/* B1FF60 800A8DC0 0C02A7A8 */ jal SsSram_ReadWrite /* B1FF64 800A8DC4 02012021 */ addu $a0, $s0, $at /* B1FF68 800A8DC8 928B001F */ lbu $t3, 0x1f($s4) /* B1FF6C 800A8DCC 928C0020 */ lbu $t4, 0x20($s4) @@ -362,7 +362,7 @@ glabel func_800A8A20 /* B1FFC0 800A8E20 95D00000 */ lhu $s0, ($t6) /* B1FFC4 800A8E24 24061450 */ li $a2, 5200 /* B1FFC8 800A8E28 24070001 */ li $a3, 1 -/* B1FFCC 800A8E2C 0C02A7A8 */ jal Sram_ReadWrite +/* B1FFCC 800A8E2C 0C02A7A8 */ jal SsSram_ReadWrite /* B1FFD0 800A8E30 02012021 */ addu $a0, $s0, $at /* B1FFD4 800A8E34 3C048014 */ lui $a0, %hi(D_80140C14) # $a0, 0x8014 /* B1FFD8 800A8E38 24840C14 */ addiu $a0, %lo(D_80140C14) # addiu $a0, $a0, 0xc14 @@ -392,7 +392,7 @@ glabel func_800A8A20 /* B20030 800A8E90 3C040800 */ lui $a0, 0x800 /* B20034 800A8E94 34068000 */ li $a2, 32768 /* B20038 800A8E98 00003825 */ move $a3, $zero -/* B2003C 800A8E9C 0C02A7A8 */ jal Sram_ReadWrite +/* B2003C 800A8E9C 0C02A7A8 */ jal SsSram_ReadWrite /* B20040 800A8EA0 8D050000 */ lw $a1, ($t0) /* B20044 800A8EA4 97A90066 */ lhu $t1, 0x66($sp) /* B20048 800A8EA8 3C048014 */ lui $a0, %hi(D_80140C58) # $a0, 0x8014 diff --git a/asm/non_matchings/code/z_sram/func_800A81A0.s b/asm/non_matchings/code/z_sram/func_800A81A0.s deleted file mode 100644 index e6627d6a2f..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A81A0.s +++ /dev/null @@ -1,78 +0,0 @@ -glabel func_800A81A0 -/* B1F340 800A81A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B1F344 800A81A4 AFBF0014 */ sw $ra, 0x14($sp) -/* B1F348 800A81A8 3C048016 */ lui $a0, %hi(gSaveContext+0x1c) # $a0, 0x8016 -/* B1F34C 800A81AC 2484E67C */ addiu $a0, %lo(gSaveContext+0x1c) # addiu $a0, $a0, -0x1984 -/* B1F350 800A81B0 0C001114 */ jal bzero -/* B1F354 800A81B4 24051338 */ li $a1, 4920 -/* B1F358 800A81B8 3C028016 */ lui $v0, %hi(gSaveContext) # $v0, 0x8016 -/* B1F35C 800A81BC 2442E660 */ addiu $v0, %lo(gSaveContext) # addiu $v0, $v0, -0x19a0 -/* B1F360 800A81C0 3C0F8013 */ lui $t7, %hi(D_8012A4F8) # $t7, 0x8013 -/* B1F364 800A81C4 25EFA4F8 */ addiu $t7, %lo(D_8012A4F8) # addiu $t7, $t7, -0x5b08 -/* B1F368 800A81C8 3C0E8016 */ lui $t6, %hi(gSaveContext+0x1c) # $t6, 0x8016 -/* B1F36C 800A81CC AC400014 */ sw $zero, 0x14($v0) -/* B1F370 800A81D0 AC400018 */ sw $zero, 0x18($v0) -/* B1F374 800A81D4 25CEE67C */ addiu $t6, %lo(gSaveContext+0x1c) # addiu $t6, $t6, -0x1984 -/* B1F378 800A81D8 25E80048 */ addiu $t0, $t7, 0x48 -.L800A81DC: -/* B1F37C 800A81DC 8DF90000 */ lw $t9, ($t7) -/* B1F380 800A81E0 25EF000C */ addiu $t7, $t7, 0xc -/* B1F384 800A81E4 25CE000C */ addiu $t6, $t6, 0xc -/* B1F388 800A81E8 ADD9FFF4 */ sw $t9, -0xc($t6) -/* B1F38C 800A81EC 8DF8FFF8 */ lw $t8, -8($t7) -/* B1F390 800A81F0 ADD8FFF8 */ sw $t8, -8($t6) -/* B1F394 800A81F4 8DF9FFFC */ lw $t9, -4($t7) -/* B1F398 800A81F8 15E8FFF8 */ bne $t7, $t0, .L800A81DC -/* B1F39C 800A81FC ADD9FFFC */ sw $t9, -4($t6) -/* B1F3A0 800A8200 8DF90000 */ lw $t9, ($t7) -/* B1F3A4 800A8204 3C0A8013 */ lui $t2, %hi(D_8012A544) # $t2, 0x8013 -/* B1F3A8 800A8208 254AA544 */ addiu $t2, %lo(D_8012A544) # addiu $t2, $t2, -0x5abc -/* B1F3AC 800A820C ADD90000 */ sw $t9, ($t6) -/* B1F3B0 800A8210 8D4C0000 */ lw $t4, ($t2) -/* B1F3B4 800A8214 3C098016 */ lui $t1, %hi(gSaveContext+0x68) # $t1, 0x8016 -/* B1F3B8 800A8218 2529E6C8 */ addiu $t1, %lo(gSaveContext+0x68) # addiu $t1, $t1, -0x1938 -/* B1F3BC 800A821C A92C0000 */ swl $t4, ($t1) -/* B1F3C0 800A8220 8D4B0004 */ lw $t3, 4($t2) -/* B1F3C4 800A8224 B92C0003 */ swr $t4, 3($t1) -/* B1F3C8 800A8228 954C0008 */ lhu $t4, 8($t2) -/* B1F3CC 800A822C 3C088013 */ lui $t0, %hi(D_8012A550) # $t0, 0x8013 -/* B1F3D0 800A8230 2508A550 */ addiu $t0, %lo(D_8012A550) # addiu $t0, $t0, -0x5ab0 -/* B1F3D4 800A8234 3C0D8016 */ lui $t5, %hi(gSaveContext+0x74) # $t5, 0x8016 -/* B1F3D8 800A8238 A92B0004 */ swl $t3, 4($t1) -/* B1F3DC 800A823C 25ADE6D4 */ addiu $t5, %lo(gSaveContext+0x74) # addiu $t5, $t5, -0x192c -/* B1F3E0 800A8240 25180060 */ addiu $t8, $t0, 0x60 -/* B1F3E4 800A8244 B92B0007 */ swr $t3, 7($t1) -/* B1F3E8 800A8248 A52C0008 */ sh $t4, 8($t1) -.L800A824C: -/* B1F3EC 800A824C 8D0E0000 */ lw $t6, ($t0) -/* B1F3F0 800A8250 2508000C */ addiu $t0, $t0, 0xc -/* B1F3F4 800A8254 25AD000C */ addiu $t5, $t5, 0xc -/* B1F3F8 800A8258 ADAEFFF4 */ sw $t6, -0xc($t5) -/* B1F3FC 800A825C 8D0FFFF8 */ lw $t7, -8($t0) -/* B1F400 800A8260 ADAFFFF8 */ sw $t7, -8($t5) -/* B1F404 800A8264 8D0EFFFC */ lw $t6, -4($t0) -/* B1F408 800A8268 1518FFF8 */ bne $t0, $t8, .L800A824C -/* B1F40C 800A826C ADAEFFFC */ sw $t6, -4($t5) -/* B1F410 800A8270 3C198013 */ lui $t9, %hi(D_8012A5B0) # $t9, 0x8013 -/* B1F414 800A8274 9739A5B0 */ lhu $t9, %lo(D_8012A5B0)($t9) -/* B1F418 800A8278 3C018016 */ lui $at, %hi(gSaveContext+0x1352) # $at, 0x8016 -/* B1F41C 800A827C 8FBF0014 */ lw $ra, 0x14($sp) -/* B1F420 800A8280 A439F9B2 */ sh $t9, %lo(gSaveContext+0x1352)($at) -/* B1F424 800A8284 24090051 */ li $t1, 81 -/* B1F428 800A8288 240AF8D0 */ li $t2, -1840 -/* B1F42C 800A828C 240B0048 */ li $t3, 72 -/* B1F430 800A8290 240C1579 */ li $t4, 5497 -/* B1F434 800A8294 24189527 */ li $t8, -27353 -/* B1F438 800A8298 24080001 */ li $t0, 1 -/* B1F43C 800A829C 3C0D4000 */ lui $t5, 0x4000 -/* B1F440 800A82A0 A4491348 */ sh $t1, 0x1348($v0) -/* B1F444 800A82A4 A44A134A */ sh $t2, 0x134a($v0) -/* B1F448 800A82A8 A44B134C */ sh $t3, 0x134c($v0) -/* B1F44C 800A82AC A44C134E */ sh $t4, 0x134e($v0) -/* B1F450 800A82B0 A4581350 */ sh $t8, 0x1350($v0) -/* B1F454 800A82B4 A0400032 */ sb $zero, 0x32($v0) -/* B1F458 800A82B8 A4480F32 */ sh $t0, 0xf32($v0) -/* B1F45C 800A82BC AC4D0164 */ sw $t5, 0x164($v0) -/* B1F460 800A82C0 03E00008 */ jr $ra -/* B1F464 800A82C4 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/code/z_sram/func_800A82C8.s b/asm/non_matchings/code/z_sram/func_800A82C8.s deleted file mode 100644 index 4a4e7bd874..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A82C8.s +++ /dev/null @@ -1,118 +0,0 @@ -glabel func_800A82C8 -/* B1F468 800A82C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B1F46C 800A82CC AFBF0014 */ sw $ra, 0x14($sp) -/* B1F470 800A82D0 3C048016 */ lui $a0, %hi(gSaveContext+0x1c) # $a0, 0x8016 -/* B1F474 800A82D4 2484E67C */ addiu $a0, %lo(gSaveContext+0x1c) # addiu $a0, $a0, -0x1984 -/* B1F478 800A82D8 0C001114 */ jal bzero -/* B1F47C 800A82DC 24051338 */ li $a1, 4920 -/* B1F480 800A82E0 3C028016 */ lui $v0, %hi(gSaveContext) # $v0, 0x8016 -/* B1F484 800A82E4 2442E660 */ addiu $v0, %lo(gSaveContext) # addiu $v0, $v0, -0x19a0 -/* B1F488 800A82E8 3C0F8013 */ lui $t7, %hi(D_8012A5B4) # $t7, 0x8013 -/* B1F48C 800A82EC 25EFA5B4 */ addiu $t7, %lo(D_8012A5B4) # addiu $t7, $t7, -0x5a4c -/* B1F490 800A82F0 3C0E8016 */ lui $t6, %hi(gSaveContext+0x1c) # $t6, 0x8016 -/* B1F494 800A82F4 AC400014 */ sw $zero, 0x14($v0) -/* B1F498 800A82F8 AC400018 */ sw $zero, 0x18($v0) -/* B1F49C 800A82FC 25CEE67C */ addiu $t6, %lo(gSaveContext+0x1c) # addiu $t6, $t6, -0x1984 -/* B1F4A0 800A8300 25E80048 */ addiu $t0, $t7, 0x48 -.L800A8304: -/* B1F4A4 800A8304 8DF90000 */ lw $t9, ($t7) -/* B1F4A8 800A8308 25EF000C */ addiu $t7, $t7, 0xc -/* B1F4AC 800A830C 25CE000C */ addiu $t6, $t6, 0xc -/* B1F4B0 800A8310 ADD9FFF4 */ sw $t9, -0xc($t6) -/* B1F4B4 800A8314 8DF8FFF8 */ lw $t8, -8($t7) -/* B1F4B8 800A8318 ADD8FFF8 */ sw $t8, -8($t6) -/* B1F4BC 800A831C 8DF9FFFC */ lw $t9, -4($t7) -/* B1F4C0 800A8320 15E8FFF8 */ bne $t7, $t0, .L800A8304 -/* B1F4C4 800A8324 ADD9FFFC */ sw $t9, -4($t6) -/* B1F4C8 800A8328 8DF90000 */ lw $t9, ($t7) -/* B1F4CC 800A832C 3C0A8013 */ lui $t2, %hi(D_8012A600) # $t2, 0x8013 -/* B1F4D0 800A8330 254AA600 */ addiu $t2, %lo(D_8012A600) # addiu $t2, $t2, -0x5a00 -/* B1F4D4 800A8334 ADD90000 */ sw $t9, ($t6) -/* B1F4D8 800A8338 8D4C0000 */ lw $t4, ($t2) -/* B1F4DC 800A833C 3C098016 */ lui $t1, %hi(gSaveContext+0x68) # $t1, 0x8016 -/* B1F4E0 800A8340 2529E6C8 */ addiu $t1, %lo(gSaveContext+0x68) # addiu $t1, $t1, -0x1938 -/* B1F4E4 800A8344 A92C0000 */ swl $t4, ($t1) -/* B1F4E8 800A8348 8D4B0004 */ lw $t3, 4($t2) -/* B1F4EC 800A834C B92C0003 */ swr $t4, 3($t1) -/* B1F4F0 800A8350 954C0008 */ lhu $t4, 8($t2) -/* B1F4F4 800A8354 3C088013 */ lui $t0, %hi(D_8012A60C) # $t0, 0x8013 -/* B1F4F8 800A8358 2508A60C */ addiu $t0, %lo(D_8012A60C) # addiu $t0, $t0, -0x59f4 -/* B1F4FC 800A835C 3C0D8016 */ lui $t5, %hi(gSaveContext+0x74) # $t5, 0x8016 -/* B1F500 800A8360 A92B0004 */ swl $t3, 4($t1) -/* B1F504 800A8364 25ADE6D4 */ addiu $t5, %lo(gSaveContext+0x74) # addiu $t5, $t5, -0x192c -/* B1F508 800A8368 25180060 */ addiu $t8, $t0, 0x60 -/* B1F50C 800A836C B92B0007 */ swr $t3, 7($t1) -/* B1F510 800A8370 A52C0008 */ sh $t4, 8($t1) -.L800A8374: -/* B1F514 800A8374 8D0E0000 */ lw $t6, ($t0) -/* B1F518 800A8378 2508000C */ addiu $t0, $t0, 0xc -/* B1F51C 800A837C 25AD000C */ addiu $t5, $t5, 0xc -/* B1F520 800A8380 ADAEFFF4 */ sw $t6, -0xc($t5) -/* B1F524 800A8384 8D0FFFF8 */ lw $t7, -8($t0) -/* B1F528 800A8388 ADAFFFF8 */ sw $t7, -8($t5) -/* B1F52C 800A838C 8D0EFFFC */ lw $t6, -4($t0) -/* B1F530 800A8390 1518FFF8 */ bne $t0, $t8, .L800A8374 -/* B1F534 800A8394 ADAEFFFC */ sw $t6, -4($t5) -/* B1F538 800A8398 3C198013 */ lui $t9, %hi(D_8012A66C) # $t9, 0x8013 -/* B1F53C 800A839C 9739A66C */ lhu $t9, %lo(D_8012A66C)($t9) -/* B1F540 800A83A0 3C018016 */ lui $at, %hi(gSaveContext+0x1352) # $at, 0x8016 -/* B1F544 800A83A4 240AF8D0 */ li $t2, -1840 -/* B1F548 800A83A8 A439F9B2 */ sh $t9, %lo(gSaveContext+0x1352)($at) -/* B1F54C 800A83AC A44A134A */ sh $t2, 0x134a($v0) -/* B1F550 800A83B0 240C1579 */ li $t4, 5497 -/* B1F554 800A83B4 94480EF8 */ lhu $t0, 0xef8($v0) -/* B1F558 800A83B8 944F0ED4 */ lhu $t7, 0xed4($v0) -/* B1F55C 800A83BC 94590EE4 */ lhu $t9, 0xee4($v0) -/* B1F560 800A83C0 944A0EEC */ lhu $t2, 0xeec($v0) -/* B1F564 800A83C4 A44C134E */ sh $t4, 0x134e($v0) -/* B1F568 800A83C8 8C4C0004 */ lw $t4, 4($v0) -/* B1F56C 800A83CC 24090051 */ li $t1, 81 -/* B1F570 800A83D0 240B0048 */ li $t3, 72 -/* B1F574 800A83D4 A4491348 */ sh $t1, 0x1348($v0) -/* B1F578 800A83D8 A44B134C */ sh $t3, 0x134c($v0) -/* B1F57C 800A83DC 24189527 */ li $t8, -27353 -/* B1F580 800A83E0 350D5009 */ ori $t5, $t0, 0x5009 -/* B1F584 800A83E4 35EE123F */ ori $t6, $t7, 0x123f -/* B1F588 800A83E8 37290001 */ ori $t1, $t9, 1 -/* B1F58C 800A83EC 354B0010 */ ori $t3, $t2, 0x10 -/* B1F590 800A83F0 A4581350 */ sh $t8, 0x1350($v0) -/* B1F594 800A83F4 A44D0EF8 */ sh $t5, 0xef8($v0) -/* B1F598 800A83F8 A44E0ED4 */ sh $t6, 0xed4($v0) -/* B1F59C 800A83FC A4490EE4 */ sh $t1, 0xee4($v0) -/* B1F5A0 800A8400 11800003 */ beqz $t4, .L800A8410 -/* B1F5A4 800A8404 A44B0EEC */ sh $t3, 0xeec($v0) -/* B1F5A8 800A8408 10000002 */ b .L800A8414 -/* B1F5AC 800A840C 24030005 */ li $v1, 5 -.L800A8410: -/* B1F5B0 800A8410 24030011 */ li $v1, 17 -.L800A8414: -/* B1F5B4 800A8414 24010005 */ li $at, 5 -/* B1F5B8 800A8418 14610012 */ bne $v1, $at, .L800A8464 -/* B1F5BC 800A841C 2418003B */ li $t8, 59 -/* B1F5C0 800A8420 A0580068 */ sb $t8, 0x68($v0) -/* B1F5C4 800A8424 00002025 */ move $a0, $zero -/* B1F5C8 800A8428 0C025E80 */ jal Inventory_ChangeEquipment -/* B1F5CC 800A842C 24050001 */ li $a1, 1 -/* B1F5D0 800A8430 3C028016 */ lui $v0, %hi(gSaveContext) # $v0, 0x8016 -/* B1F5D4 800A8434 2442E660 */ addiu $v0, %lo(gSaveContext) # addiu $v0, $v0, -0x19a0 -/* B1F5D8 800A8438 8C481354 */ lw $t0, 0x1354($v0) -/* B1F5DC 800A843C 240100FF */ li $at, 255 -/* B1F5E0 800A8440 24030006 */ li $v1, 6 -/* B1F5E4 800A8444 15010007 */ bne $t0, $at, .L800A8464 -/* B1F5E8 800A8448 24040001 */ li $a0, 1 -/* B1F5EC 800A844C A0430069 */ sb $v1, 0x69($v0) -/* B1F5F0 800A8450 A043006C */ sb $v1, 0x6c($v0) -/* B1F5F4 800A8454 0C025E80 */ jal Inventory_ChangeEquipment -/* B1F5F8 800A8458 24050001 */ li $a1, 1 -/* B1F5FC 800A845C 3C028016 */ lui $v0, %hi(gSaveContext) # $v0, 0x8016 -/* B1F600 800A8460 2442E660 */ addiu $v0, %lo(gSaveContext) # addiu $v0, $v0, -0x19a0 -.L800A8464: -/* B1F604 800A8464 8FBF0014 */ lw $ra, 0x14($sp) -/* B1F608 800A8468 240D00CD */ li $t5, 205 -/* B1F60C 800A846C 3C0F4000 */ lui $t7, 0x4000 -/* B1F610 800A8470 AC4D0000 */ sw $t5, ($v0) -/* B1F614 800A8474 A0400032 */ sb $zero, 0x32($v0) -/* B1F618 800A8478 AC4F0164 */ sw $t7, 0x164($v0) -/* B1F61C 800A847C 03E00008 */ jr $ra -/* B1F620 800A8480 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/code/z_sram/func_800A88D4.s b/asm/non_matchings/code/z_sram/func_800A88D4.s deleted file mode 100644 index ecf6d1de1b..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A88D4.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel func_800A88D4 -/* B1FA74 800A88D4 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B1FA78 800A88D8 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B1FA7C 800A88DC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B1FA80 800A88E0 AFA40020 */ sw $a0, 0x20($sp) -/* B1FA84 800A88E4 AFBF0014 */ sw $ra, 0x14($sp) -/* B1FA88 800A88E8 A4A01352 */ sh $zero, 0x1352($a1) -/* B1FA8C 800A88EC 00A01825 */ move $v1, $a1 -/* B1FA90 800A88F0 00002025 */ move $a0, $zero -/* B1FA94 800A88F4 00001025 */ move $v0, $zero -/* B1FA98 800A88F8 00004025 */ move $t0, $zero -/* B1FA9C 800A88FC 24090020 */ li $t1, 32 -.L800A8900: -/* B1FAA0 800A8900 24420001 */ addiu $v0, $v0, 1 -/* B1FAA4 800A8904 3042FFFF */ andi $v0, $v0, 0xffff -/* B1FAA8 800A8908 15220002 */ bne $t1, $v0, .L800A8914 -/* B1FAAC 800A890C 25080001 */ addiu $t0, $t0, 1 -/* B1FAB0 800A8910 00001025 */ move $v0, $zero -.L800A8914: -/* B1FAB4 800A8914 946E0000 */ lhu $t6, ($v1) -/* B1FAB8 800A8918 3108FFFF */ andi $t0, $t0, 0xffff -/* B1FABC 800A891C 2D0109AA */ sltiu $at, $t0, 0x9aa -/* B1FAC0 800A8920 008E2021 */ addu $a0, $a0, $t6 -/* B1FAC4 800A8924 3084FFFF */ andi $a0, $a0, 0xffff -/* B1FAC8 800A8928 1420FFF5 */ bnez $at, .L800A8900 -/* B1FACC 800A892C 24630002 */ addiu $v1, $v1, 2 -/* B1FAD0 800A8930 A4A41352 */ sh $a0, 0x1352($a1) -/* B1FAD4 800A8934 00A01825 */ move $v1, $a1 -/* B1FAD8 800A8938 00002025 */ move $a0, $zero -/* B1FADC 800A893C 00004025 */ move $t0, $zero -.L800A8940: -/* B1FAE0 800A8940 24420001 */ addiu $v0, $v0, 1 -/* B1FAE4 800A8944 3042FFFF */ andi $v0, $v0, 0xffff -/* B1FAE8 800A8948 15220002 */ bne $t1, $v0, .L800A8954 -/* B1FAEC 800A894C 25080001 */ addiu $t0, $t0, 1 -/* B1FAF0 800A8950 00001025 */ move $v0, $zero -.L800A8954: -/* B1FAF4 800A8954 946F0000 */ lhu $t7, ($v1) -/* B1FAF8 800A8958 3108FFFF */ andi $t0, $t0, 0xffff -/* B1FAFC 800A895C 2D0109AA */ sltiu $at, $t0, 0x9aa -/* B1FB00 800A8960 008F2021 */ addu $a0, $a0, $t7 -/* B1FB04 800A8964 3084FFFF */ andi $a0, $a0, 0xffff -/* B1FB08 800A8968 1420FFF5 */ bnez $at, .L800A8940 -/* B1FB0C 800A896C 24630002 */ addiu $v1, $v1, 2 -/* B1FB10 800A8970 8CB81354 */ lw $t8, 0x1354($a1) -/* B1FB14 800A8974 3C088013 */ lui $t0, %hi(D_8012A4E0) -/* B1FB18 800A8978 3C010800 */ lui $at, 0x800 -/* B1FB1C 800A897C 0018C840 */ sll $t9, $t8, 1 -/* B1FB20 800A8980 01194021 */ addu $t0, $t0, $t9 -/* B1FB24 800A8984 9508A4E0 */ lhu $t0, %lo(D_8012A4E0)($t0) -/* B1FB28 800A8988 24061450 */ li $a2, 5200 -/* B1FB2C 800A898C 24070001 */ li $a3, 1 -/* B1FB30 800A8990 A7A2001A */ sh $v0, 0x1a($sp) -/* B1FB34 800A8994 0C02A7A8 */ jal Sram_ReadWrite -/* B1FB38 800A8998 01012021 */ addu $a0, $t0, $at -/* B1FB3C 800A899C 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B1FB40 800A89A0 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B1FB44 800A89A4 97A2001A */ lhu $v0, 0x1a($sp) -/* B1FB48 800A89A8 24090020 */ li $t1, 32 -/* B1FB4C 800A89AC 00A01825 */ move $v1, $a1 -/* B1FB50 800A89B0 00002025 */ move $a0, $zero -/* B1FB54 800A89B4 00004025 */ move $t0, $zero -.L800A89B8: -/* B1FB58 800A89B8 24420001 */ addiu $v0, $v0, 1 -/* B1FB5C 800A89BC 3042FFFF */ andi $v0, $v0, 0xffff -/* B1FB60 800A89C0 15220002 */ bne $t1, $v0, .L800A89CC -/* B1FB64 800A89C4 25080001 */ addiu $t0, $t0, 1 -/* B1FB68 800A89C8 00001025 */ move $v0, $zero -.L800A89CC: -/* B1FB6C 800A89CC 946A0000 */ lhu $t2, ($v1) -/* B1FB70 800A89D0 3108FFFF */ andi $t0, $t0, 0xffff -/* B1FB74 800A89D4 2D0109AA */ sltiu $at, $t0, 0x9aa -/* B1FB78 800A89D8 008A2021 */ addu $a0, $a0, $t2 -/* B1FB7C 800A89DC 3084FFFF */ andi $a0, $a0, 0xffff -/* B1FB80 800A89E0 1420FFF5 */ bnez $at, .L800A89B8 -/* B1FB84 800A89E4 24630002 */ addiu $v1, $v1, 2 -/* B1FB88 800A89E8 8CAB1354 */ lw $t3, 0x1354($a1) -/* B1FB8C 800A89EC 3C088013 */ lui $t0, %hi(D_8012A4E6) -/* B1FB90 800A89F0 3C010800 */ lui $at, 0x800 -/* B1FB94 800A89F4 000B6040 */ sll $t4, $t3, 1 -/* B1FB98 800A89F8 010C4021 */ addu $t0, $t0, $t4 -/* B1FB9C 800A89FC 9508A4E6 */ lhu $t0, %lo(D_8012A4E6)($t0) -/* B1FBA0 800A8A00 24061450 */ li $a2, 5200 -/* B1FBA4 800A8A04 24070001 */ li $a3, 1 -/* B1FBA8 800A8A08 0C02A7A8 */ jal Sram_ReadWrite -/* B1FBAC 800A8A0C 01012021 */ addu $a0, $t0, $at -/* B1FBB0 800A8A10 8FBF0014 */ lw $ra, 0x14($sp) -/* B1FBB4 800A8A14 27BD0020 */ addiu $sp, $sp, 0x20 -/* B1FBB8 800A8A18 03E00008 */ jr $ra -/* B1FBBC 800A8A1C 00000000 */ nop - diff --git a/asm/non_matchings/code/z_sram/func_800A9258.s b/asm/non_matchings/code/z_sram/func_800A9258.s deleted file mode 100644 index 36c8fa3723..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A9258.s +++ /dev/null @@ -1,354 +0,0 @@ -.rdata -glabel D_80140CDC - .asciz "64DDフラグ=%d\n" - # EUC-JP: 64DDフラグ | 64DD flag - .balign 4 - -glabel D_80140CF0 - .asciz "newf=%x,%x,%x,%x,%x,%x\n" - .balign 4 - -glabel D_80140D08 - .asciz "\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n" - .balign 4 - -glabel D_80140D58 - .asciz "%x " - .balign 4 - -glabel D_80140D5C - .asciz "\n" - .balign 4 - -glabel D_80140D60 - .asciz "\nチェックサム=%x\n" - # EUC-JP: チェックサム=%x | Checksum - .balign 4 - -glabel D_80140D74 - .asciz "I=%x no=%d\n" - .balign 4 - -glabel D_80140D80 - .asciz "I=%x no=%d\n" - .balign 4 - -glabel D_80140D8C - .asciz "SAVE終了\n" - # EUC-JP: SAVE終了 | SAVE end - .balign 4 - -glabel D_80140D9C - .asciz "z_common_data.file_no = %d\n" - .balign 4 - -glabel D_80140DB8 - .asciz "SAVECT=%x, NAME=%x, LIFE=%x, ITEM=%x, SAVE_64DD=%x\n" - .balign 4 - -glabel D_80140DF0 - .asciz "f_64dd[%d]=%d\n" - .balign 4 - -glabel D_80140E00 - .asciz "heart_status[%d]=%d\n" - .balign 4 - -glabel D_80140E18 - .asciz "now_life[%d]=%d\n" - .balign 4 - -.text -glabel func_800A9258 -/* B203F8 800A9258 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B203FC 800A925C AFB60040 */ sw $s6, 0x40($sp) -/* B20400 800A9260 3C160001 */ lui $s6, (0x00018000 >> 16) # lui $s6, 1 -/* B20404 800A9264 36D68000 */ ori $s6, (0x00018000 & 0xFFFF) # ori $s6, $s6, 0x8000 -/* B20408 800A9268 AFB1002C */ sw $s1, 0x2c($sp) -/* B2040C 800A926C AFBF0044 */ sw $ra, 0x44($sp) -/* B20410 800A9270 AFB5003C */ sw $s5, 0x3c($sp) -/* B20414 800A9274 AFB40038 */ sw $s4, 0x38($sp) -/* B20418 800A9278 AFB30034 */ sw $s3, 0x34($sp) -/* B2041C 800A927C AFB20030 */ sw $s2, 0x30($sp) -/* B20420 800A9280 AFB00028 */ sw $s0, 0x28($sp) -/* B20424 800A9284 AFA5004C */ sw $a1, 0x4c($sp) -/* B20428 800A9288 00968821 */ addu $s1, $a0, $s6 -/* B2042C 800A928C 862E4A38 */ lh $t6, 0x4a38($s1) -/* B20430 800A9290 0080A825 */ move $s5, $a0 -/* B20434 800A9294 11C00005 */ beqz $t6, .L800A92AC -/* B20438 800A9298 00000000 */ nop -/* B2043C 800A929C 0C02A068 */ jal func_800A81A0 -/* B20440 800A92A0 00000000 */ nop -/* B20444 800A92A4 10000003 */ b .L800A92B4 -/* B20448 800A92A8 00000000 */ nop -.L800A92AC: -/* B2044C 800A92AC 0C02A0B2 */ jal func_800A82C8 -/* B20450 800A92B0 00000000 */ nop -.L800A92B4: -/* B20454 800A92B4 3C148016 */ lui $s4, %hi(gSaveContext) # $s4, 0x8016 -/* B20458 800A92B8 2694E660 */ addiu $s4, %lo(gSaveContext) # addiu $s4, $s4, -0x19a0 -/* B2045C 800A92BC 240F00BB */ li $t7, 187 -/* B20460 800A92C0 24180001 */ li $t8, 1 -/* B20464 800A92C4 24196AAB */ li $t9, 27307 -/* B20468 800A92C8 3408FFF1 */ li $t0, 65521 -/* B2046C 800A92CC AE8F0000 */ sw $t7, ($s4) -/* B20470 800A92D0 AE980004 */ sw $t8, 4($s4) -/* B20474 800A92D4 A699000C */ sh $t9, 0xc($s4) -/* B20478 800A92D8 AE880008 */ sw $t0, 8($s4) -/* B2047C 800A92DC 86294A38 */ lh $t1, 0x4a38($s1) -/* B20480 800A92E0 00008025 */ move $s0, $zero -/* B20484 800A92E4 2402005A */ li $v0, 90 -/* B20488 800A92E8 15200002 */ bnez $t1, .L800A92F4 -/* B2048C 800A92EC 24190045 */ li $t9, 69 -/* B20490 800A92F0 AE800008 */ sw $zero, 8($s4) -.L800A92F4: -/* B20494 800A92F4 862A4A38 */ lh $t2, 0x4a38($s1) -/* B20498 800A92F8 0290C021 */ addu $t8, $s4, $s0 -/* B2049C 800A92FC 000A58C0 */ sll $t3, $t2, 3 -/* B204A0 800A9300 02AB6021 */ addu $t4, $s5, $t3 -/* B204A4 800A9304 01906821 */ addu $t5, $t4, $s0 -/* B204A8 800A9308 26100001 */ addiu $s0, $s0, 1 -/* B204AC 800A930C 01B67021 */ addu $t6, $t5, $s6 -/* B204B0 800A9310 91CF49FC */ lbu $t7, 0x49fc($t6) -/* B204B4 800A9314 3210FFFF */ andi $s0, $s0, 0xffff -/* B204B8 800A9318 2A010008 */ slti $at, $s0, 8 -/* B204BC 800A931C 1420FFF5 */ bnez $at, .L800A92F4 -/* B204C0 800A9320 A30F0024 */ sb $t7, 0x24($t8) -/* B204C4 800A9324 2408004C */ li $t0, 76 -/* B204C8 800A9328 24090044 */ li $t1, 68 -/* B204CC 800A932C 240A0041 */ li $t2, 65 -/* B204D0 800A9330 A282001C */ sb $v0, 0x1c($s4) -/* B204D4 800A9334 A299001D */ sb $t9, 0x1d($s4) -/* B204D8 800A9338 A288001E */ sb $t0, 0x1e($s4) -/* B204DC 800A933C A289001F */ sb $t1, 0x1f($s4) -/* B204E0 800A9340 A28A0020 */ sb $t2, 0x20($s4) -/* B204E4 800A9344 A2820021 */ sb $v0, 0x21($s4) -/* B204E8 800A9348 922B49F4 */ lbu $t3, 0x49f4($s1) -/* B204EC 800A934C 3C048014 */ lui $a0, %hi(D_80140CDC) # $a0, 0x8014 -/* B204F0 800A9350 24840CDC */ addiu $a0, %lo(D_80140CDC) # addiu $a0, $a0, 0xcdc -/* B204F4 800A9354 A68B002C */ sh $t3, 0x2c($s4) -/* B204F8 800A9358 0C00084C */ jal osSyncPrintf -/* B204FC 800A935C 922549F4 */ lbu $a1, 0x49f4($s1) -/* B20500 800A9360 928C001F */ lbu $t4, 0x1f($s4) -/* B20504 800A9364 928D0020 */ lbu $t5, 0x20($s4) -/* B20508 800A9368 928E0021 */ lbu $t6, 0x21($s4) -/* B2050C 800A936C 3C048014 */ lui $a0, %hi(D_80140CF0) # $a0, 0x8014 -/* B20510 800A9370 24840CF0 */ addiu $a0, %lo(D_80140CF0) # addiu $a0, $a0, 0xcf0 -/* B20514 800A9374 9285001C */ lbu $a1, 0x1c($s4) -/* B20518 800A9378 9286001D */ lbu $a2, 0x1d($s4) -/* B2051C 800A937C 9287001E */ lbu $a3, 0x1e($s4) -/* B20520 800A9380 AFAC0010 */ sw $t4, 0x10($sp) -/* B20524 800A9384 AFAD0014 */ sw $t5, 0x14($sp) -/* B20528 800A9388 0C00084C */ jal osSyncPrintf -/* B2052C 800A938C AFAE0018 */ sw $t6, 0x18($sp) -/* B20530 800A9390 3C048014 */ lui $a0, %hi(D_80140D08) # $a0, 0x8014 -/* B20534 800A9394 0C00084C */ jal osSyncPrintf -/* B20538 800A9398 24840D08 */ addiu $a0, %lo(D_80140D08) # addiu $a0, $a0, 0xd08 -/* B2053C 800A939C 02808825 */ move $s1, $s4 -/* B20540 800A93A0 00009025 */ move $s2, $zero -/* B20544 800A93A4 00009825 */ move $s3, $zero -/* B20548 800A93A8 00008025 */ move $s0, $zero -.L800A93AC: -/* B2054C 800A93AC 3C048014 */ lui $a0, %hi(D_80140D58) # $a0, 0x8014 -/* B20550 800A93B0 24840D58 */ addiu $a0, %lo(D_80140D58) # addiu $a0, $a0, 0xd58 -/* B20554 800A93B4 0C00084C */ jal osSyncPrintf -/* B20558 800A93B8 96250000 */ lhu $a1, ($s1) -/* B2055C 800A93BC 962F0000 */ lhu $t7, ($s1) -/* B20560 800A93C0 26520001 */ addiu $s2, $s2, 1 -/* B20564 800A93C4 3252FFFF */ andi $s2, $s2, 0xffff -/* B20568 800A93C8 24010020 */ li $at, 32 -/* B2056C 800A93CC 026F9821 */ addu $s3, $s3, $t7 -/* B20570 800A93D0 3273FFFF */ andi $s3, $s3, 0xffff -/* B20574 800A93D4 16410005 */ bne $s2, $at, .L800A93EC -/* B20578 800A93D8 26310002 */ addiu $s1, $s1, 2 -/* B2057C 800A93DC 3C048014 */ lui $a0, %hi(D_80140D5C) # $a0, 0x8014 -/* B20580 800A93E0 0C00084C */ jal osSyncPrintf -/* B20584 800A93E4 24840D5C */ addiu $a0, %lo(D_80140D5C) # addiu $a0, $a0, 0xd5c -/* B20588 800A93E8 00009025 */ move $s2, $zero -.L800A93EC: -/* B2058C 800A93EC 26100001 */ addiu $s0, $s0, 1 -/* B20590 800A93F0 3210FFFF */ andi $s0, $s0, 0xffff -/* B20594 800A93F4 2E0109AA */ sltiu $at, $s0, 0x9aa -/* B20598 800A93F8 1420FFEC */ bnez $at, .L800A93AC -/* B2059C 800A93FC 00000000 */ nop -/* B205A0 800A9400 3C048014 */ lui $a0, %hi(D_80140D60) # $a0, 0x8014 -/* B205A4 800A9404 A6931352 */ sh $s3, 0x1352($s4) -/* B205A8 800A9408 24840D60 */ addiu $a0, %lo(D_80140D60) # addiu $a0, $a0, 0xd60 -/* B205AC 800A940C 0C00084C */ jal osSyncPrintf -/* B205B0 800A9410 3265FFFF */ andi $a1, $s3, 0xffff -/* B205B4 800A9414 8E861354 */ lw $a2, 0x1354($s4) -/* B205B8 800A9418 3C138013 */ lui $s3, %hi(D_8012A4E0) # $s3, 0x8013 -/* B205BC 800A941C 2673A4E0 */ addiu $s3, %lo(D_8012A4E0) # addiu $s3, $s3, -0x5b20 -/* B205C0 800A9420 0006C040 */ sll $t8, $a2, 1 -/* B205C4 800A9424 0278C821 */ addu $t9, $s3, $t8 -/* B205C8 800A9428 97300000 */ lhu $s0, ($t9) -/* B205CC 800A942C 3C048014 */ lui $a0, %hi(D_80140D74) # $a0, 0x8014 -/* B205D0 800A9430 24840D74 */ addiu $a0, %lo(D_80140D74) # addiu $a0, $a0, 0xd74 -/* B205D4 800A9434 0C00084C */ jal osSyncPrintf -/* B205D8 800A9438 02002825 */ move $a1, $s0 -/* B205DC 800A943C 8FA8004C */ lw $t0, 0x4c($sp) -/* B205E0 800A9440 02802825 */ move $a1, $s4 -/* B205E4 800A9444 24061354 */ li $a2, 4948 -/* B205E8 800A9448 8D090000 */ lw $t1, ($t0) -/* B205EC 800A944C 0C01A508 */ jal MemCopy -/* B205F0 800A9450 01302021 */ addu $a0, $t1, $s0 -/* B205F4 800A9454 8E911354 */ lw $s1, 0x1354($s4) -/* B205F8 800A9458 3C048014 */ lui $a0, %hi(D_80140D80) # $a0, 0x8014 -/* B205FC 800A945C 24840D80 */ addiu $a0, %lo(D_80140D80) # addiu $a0, $a0, 0xd80 -/* B20600 800A9460 00115040 */ sll $t2, $s1, 1 -/* B20604 800A9464 026A5821 */ addu $t3, $s3, $t2 -/* B20608 800A9468 95700006 */ lhu $s0, 6($t3) -/* B2060C 800A946C 26260003 */ addiu $a2, $s1, 3 -/* B20610 800A9470 0C00084C */ jal osSyncPrintf -/* B20614 800A9474 02002825 */ move $a1, $s0 -/* B20618 800A9478 8FAC004C */ lw $t4, 0x4c($sp) -/* B2061C 800A947C 02802825 */ move $a1, $s4 -/* B20620 800A9480 24061354 */ li $a2, 4948 -/* B20624 800A9484 8D8D0000 */ lw $t5, ($t4) -/* B20628 800A9488 0C01A508 */ jal MemCopy -/* B2062C 800A948C 01B02021 */ addu $a0, $t5, $s0 -/* B20630 800A9490 8FAE004C */ lw $t6, 0x4c($sp) -/* B20634 800A9494 3C040800 */ lui $a0, 0x800 -/* B20638 800A9498 34068000 */ li $a2, 32768 -/* B2063C 800A949C 24070001 */ li $a3, 1 -/* B20640 800A94A0 0C02A7A8 */ jal Sram_ReadWrite -/* B20644 800A94A4 8DC50000 */ lw $a1, ($t6) -/* B20648 800A94A8 3C048014 */ lui $a0, %hi(D_80140D8C) # $a0, 0x8014 -/* B2064C 800A94AC 0C00084C */ jal osSyncPrintf -/* B20650 800A94B0 24840D8C */ addiu $a0, %lo(D_80140D8C) # addiu $a0, $a0, 0xd8c -/* B20654 800A94B4 3C048014 */ lui $a0, %hi(D_80140D9C) # $a0, 0x8014 -/* B20658 800A94B8 24840D9C */ addiu $a0, %lo(D_80140D9C) # addiu $a0, $a0, 0xd9c -/* B2065C 800A94BC 0C00084C */ jal osSyncPrintf -/* B20660 800A94C0 8E851354 */ lw $a1, 0x1354($s4) -/* B20664 800A94C4 3C048014 */ lui $a0, %hi(D_80140DB8) # $a0, 0x8014 -/* B20668 800A94C8 240F00A4 */ li $t7, 164 -/* B2066C 800A94CC 2418002C */ li $t8, 44 -/* B20670 800A94D0 AFB80014 */ sw $t8, 0x14($sp) -/* B20674 800A94D4 AFAF0010 */ sw $t7, 0x10($sp) -/* B20678 800A94D8 24840DB8 */ addiu $a0, %lo(D_80140DB8) # addiu $a0, $a0, 0xdb8 -/* B2067C 800A94DC 24050022 */ li $a1, 34 -/* B20680 800A94E0 24060024 */ li $a2, 36 -/* B20684 800A94E4 0C00084C */ jal osSyncPrintf -/* B20688 800A94E8 2407002E */ li $a3, 46 -/* B2068C 800A94EC 8E821354 */ lw $v0, 0x1354($s4) -/* B20690 800A94F0 8FA8004C */ lw $t0, 0x4c($sp) -/* B20694 800A94F4 3C010001 */ lui $at, (0x0001C9F6 >> 16) # lui $at, 1 -/* B20698 800A94F8 00021040 */ sll $v0, $v0, 1 -/* B2069C 800A94FC 0262C821 */ addu $t9, $s3, $v0 -/* B206A0 800A9500 97320000 */ lhu $s2, ($t9) -/* B206A4 800A9504 8D090000 */ lw $t1, ($t0) -/* B206A8 800A9508 02A22021 */ addu $a0, $s5, $v0 -/* B206AC 800A950C 3421C9F6 */ ori $at, (0x0001C9F6 & 0xFFFF) # ori $at, $at, 0xc9f6 -/* B206B0 800A9510 01322821 */ addu $a1, $t1, $s2 -/* B206B4 800A9514 24A50022 */ addiu $a1, $a1, 0x22 -/* B206B8 800A9518 00812021 */ addu $a0, $a0, $at -/* B206BC 800A951C 0C01A508 */ jal MemCopy -/* B206C0 800A9520 24060002 */ li $a2, 2 -/* B206C4 800A9524 8FAC004C */ lw $t4, 0x4c($sp) -/* B206C8 800A9528 8E8A1354 */ lw $t2, 0x1354($s4) -/* B206CC 800A952C 3C010001 */ lui $at, (0x0001C9FC >> 16) # lui $at, 1 -/* B206D0 800A9530 8D8D0000 */ lw $t5, ($t4) -/* B206D4 800A9534 000A58C0 */ sll $t3, $t2, 3 -/* B206D8 800A9538 02AB2021 */ addu $a0, $s5, $t3 -/* B206DC 800A953C 3421C9FC */ ori $at, (0x0001C9FC & 0xFFFF) # ori $at, $at, 0xc9fc -/* B206E0 800A9540 01B22821 */ addu $a1, $t5, $s2 -/* B206E4 800A9544 24A50024 */ addiu $a1, $a1, 0x24 -/* B206E8 800A9548 00812021 */ addu $a0, $a0, $at -/* B206EC 800A954C 0C01A508 */ jal MemCopy -/* B206F0 800A9550 24060008 */ li $a2, 8 -/* B206F4 800A9554 8FB8004C */ lw $t8, 0x4c($sp) -/* B206F8 800A9558 8E8E1354 */ lw $t6, 0x1354($s4) -/* B206FC 800A955C 3C010001 */ lui $at, (0x0001CA14 >> 16) # lui $at, 1 -/* B20700 800A9560 8F190000 */ lw $t9, ($t8) -/* B20704 800A9564 000E7840 */ sll $t7, $t6, 1 -/* B20708 800A9568 02AF2021 */ addu $a0, $s5, $t7 -/* B2070C 800A956C 3421CA14 */ ori $at, (0x0001CA14 & 0xFFFF) # ori $at, $at, 0xca14 -/* B20710 800A9570 03322821 */ addu $a1, $t9, $s2 -/* B20714 800A9574 24A5002E */ addiu $a1, $a1, 0x2e -/* B20718 800A9578 00812021 */ addu $a0, $a0, $at -/* B2071C 800A957C 0C01A508 */ jal MemCopy -/* B20720 800A9580 24060002 */ li $a2, 2 -/* B20724 800A9584 8FAA004C */ lw $t2, 0x4c($sp) -/* B20728 800A9588 8E881354 */ lw $t0, 0x1354($s4) -/* B2072C 800A958C 3C010001 */ lui $at, (0x0001CA1C >> 16) # lui $at, 1 -/* B20730 800A9590 8D4B0000 */ lw $t3, ($t2) -/* B20734 800A9594 00084880 */ sll $t1, $t0, 2 -/* B20738 800A9598 02A92021 */ addu $a0, $s5, $t1 -/* B2073C 800A959C 3421CA1C */ ori $at, (0x0001CA1C & 0xFFFF) # ori $at, $at, 0xca1c -/* B20740 800A95A0 01722821 */ addu $a1, $t3, $s2 -/* B20744 800A95A4 24A500A4 */ addiu $a1, $a1, 0xa4 -/* B20748 800A95A8 00812021 */ addu $a0, $a0, $at -/* B2074C 800A95AC 0C01A508 */ jal MemCopy -/* B20750 800A95B0 24060004 */ li $a2, 4 -/* B20754 800A95B4 8FAE004C */ lw $t6, 0x4c($sp) -/* B20758 800A95B8 8E8C1354 */ lw $t4, 0x1354($s4) -/* B2075C 800A95BC 3C010001 */ lui $at, (0x0001CA28 >> 16) # lui $at, 1 -/* B20760 800A95C0 8DCF0000 */ lw $t7, ($t6) -/* B20764 800A95C4 000C6840 */ sll $t5, $t4, 1 -/* B20768 800A95C8 02AD2021 */ addu $a0, $s5, $t5 -/* B2076C 800A95CC 3421CA28 */ ori $at, (0x0001CA28 & 0xFFFF) # ori $at, $at, 0xca28 -/* B20770 800A95D0 01F22821 */ addu $a1, $t7, $s2 -/* B20774 800A95D4 24A5002C */ addiu $a1, $a1, 0x2c -/* B20778 800A95D8 00812021 */ addu $a0, $a0, $at -/* B2077C 800A95DC 0C01A508 */ jal MemCopy -/* B20780 800A95E0 24060002 */ li $a2, 2 -/* B20784 800A95E4 8FB9004C */ lw $t9, 0x4c($sp) -/* B20788 800A95E8 8E981354 */ lw $t8, 0x1354($s4) -/* B2078C 800A95EC 3C010001 */ lui $at, (0x0001CA2E >> 16) # lui $at, 1 -/* B20790 800A95F0 8F280000 */ lw $t0, ($t9) -/* B20794 800A95F4 3421CA2E */ ori $at, (0x0001CA2E & 0xFFFF) # ori $at, $at, 0xca2e -/* B20798 800A95F8 02B82021 */ addu $a0, $s5, $t8 -/* B2079C 800A95FC 01122821 */ addu $a1, $t0, $s2 -/* B207A0 800A9600 24A500CF */ addiu $a1, $a1, 0xcf -/* B207A4 800A9604 00812021 */ addu $a0, $a0, $at -/* B207A8 800A9608 0C01A508 */ jal MemCopy -/* B207AC 800A960C 24060001 */ li $a2, 1 -/* B207B0 800A9610 8FAB004C */ lw $t3, 0x4c($sp) -/* B207B4 800A9614 8E891354 */ lw $t1, 0x1354($s4) -/* B207B8 800A9618 3C010001 */ lui $at, (0x0001CA32 >> 16) # lui $at, 1 -/* B207BC 800A961C 8D6C0000 */ lw $t4, ($t3) -/* B207C0 800A9620 00095040 */ sll $t2, $t1, 1 -/* B207C4 800A9624 02AA2021 */ addu $a0, $s5, $t2 -/* B207C8 800A9628 3421CA32 */ ori $at, (0x0001CA32 & 0xFFFF) # ori $at, $at, 0xca32 -/* B207CC 800A962C 01922821 */ addu $a1, $t4, $s2 -/* B207D0 800A9630 24A50030 */ addiu $a1, $a1, 0x30 -/* B207D4 800A9634 00812021 */ addu $a0, $a0, $at -/* B207D8 800A9638 0C01A508 */ jal MemCopy -/* B207DC 800A963C 24060002 */ li $a2, 2 -/* B207E0 800A9640 8E911354 */ lw $s1, 0x1354($s4) -/* B207E4 800A9644 3C048014 */ lui $a0, %hi(D_80140DF0) # $a0, 0x8014 -/* B207E8 800A9648 24840DF0 */ addiu $a0, %lo(D_80140DF0) # addiu $a0, $a0, 0xdf0 -/* B207EC 800A964C 00116840 */ sll $t5, $s1, 1 -/* B207F0 800A9650 02AD7021 */ addu $t6, $s5, $t5 -/* B207F4 800A9654 01D67821 */ addu $t7, $t6, $s6 -/* B207F8 800A9658 85E64A28 */ lh $a2, 0x4a28($t7) -/* B207FC 800A965C 0C00084C */ jal osSyncPrintf -/* B20800 800A9660 02202825 */ move $a1, $s1 -/* B20804 800A9664 8E911354 */ lw $s1, 0x1354($s4) -/* B20808 800A9668 3C048014 */ lui $a0, %hi(D_80140E00) # $a0, 0x8014 -/* B2080C 800A966C 24840E00 */ addiu $a0, %lo(D_80140E00) # addiu $a0, $a0, 0xe00 -/* B20810 800A9670 02B1C021 */ addu $t8, $s5, $s1 -/* B20814 800A9674 0316C821 */ addu $t9, $t8, $s6 -/* B20818 800A9678 83264A2E */ lb $a2, 0x4a2e($t9) -/* B2081C 800A967C 0C00084C */ jal osSyncPrintf -/* B20820 800A9680 02202825 */ move $a1, $s1 -/* B20824 800A9684 8E911354 */ lw $s1, 0x1354($s4) -/* B20828 800A9688 3C048014 */ lui $a0, %hi(D_80140E18) # $a0, 0x8014 -/* B2082C 800A968C 24840E18 */ addiu $a0, %lo(D_80140E18) # addiu $a0, $a0, 0xe18 -/* B20830 800A9690 00114040 */ sll $t0, $s1, 1 -/* B20834 800A9694 02A84821 */ addu $t1, $s5, $t0 -/* B20838 800A9698 01365021 */ addu $t2, $t1, $s6 -/* B2083C 800A969C 95464A32 */ lhu $a2, 0x4a32($t2) -/* B20840 800A96A0 0C00084C */ jal osSyncPrintf -/* B20844 800A96A4 02202825 */ move $a1, $s1 -/* B20848 800A96A8 8FBF0044 */ lw $ra, 0x44($sp) -/* B2084C 800A96AC 8FB00028 */ lw $s0, 0x28($sp) -/* B20850 800A96B0 8FB1002C */ lw $s1, 0x2c($sp) -/* B20854 800A96B4 8FB20030 */ lw $s2, 0x30($sp) -/* B20858 800A96B8 8FB30034 */ lw $s3, 0x34($sp) -/* B2085C 800A96BC 8FB40038 */ lw $s4, 0x38($sp) -/* B20860 800A96C0 8FB5003C */ lw $s5, 0x3c($sp) -/* B20864 800A96C4 8FB60040 */ lw $s6, 0x40($sp) -/* B20868 800A96C8 03E00008 */ jr $ra -/* B2086C 800A96CC 27BD0048 */ addiu $sp, $sp, 0x48 - diff --git a/asm/non_matchings/code/z_sram/func_800A96D0.s b/asm/non_matchings/code/z_sram/func_800A96D0.s deleted file mode 100644 index 2a1eb49a27..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A96D0.s +++ /dev/null @@ -1,81 +0,0 @@ -.rdata -glabel D_80140E2C - .asciz "CLEAR終了\n" - # EUC-JP: CLEAR終了 | Clear End - .balign 4 - -.text -glabel func_800A96D0 -/* B20870 800A96D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B20874 800A96D4 AFBF001C */ sw $ra, 0x1c($sp) -/* B20878 800A96D8 AFB00018 */ sw $s0, 0x18($sp) -/* B2087C 800A96DC AFA40028 */ sw $a0, 0x28($sp) -/* B20880 800A96E0 0C02A068 */ jal func_800A81A0 -/* B20884 800A96E4 AFA5002C */ sw $a1, 0x2c($sp) -/* B20888 800A96E8 8FA20028 */ lw $v0, 0x28($sp) -/* B2088C 800A96EC 3C010001 */ lui $at, (0x00018000 >> 16) # lui $at, 1 -/* B20890 800A96F0 34218000 */ ori $at, (0x00018000 & 0xFFFF) # ori $at, $at, 0x8000 -/* B20894 800A96F4 00411021 */ addu $v0, $v0, $at -/* B20898 800A96F8 844E4A46 */ lh $t6, 0x4a46($v0) -/* B2089C 800A96FC 8FB8002C */ lw $t8, 0x2c($sp) -/* B208A0 800A9700 3C108013 */ lui $s0, %hi(D_8012A4E0) -/* B208A4 800A9704 000E7840 */ sll $t7, $t6, 1 -/* B208A8 800A9708 020F8021 */ addu $s0, $s0, $t7 -/* B208AC 800A970C 9610A4E0 */ lhu $s0, %lo(D_8012A4E0)($s0) -/* B208B0 800A9710 8F190000 */ lw $t9, ($t8) -/* B208B4 800A9714 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B208B8 800A9718 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B208BC 800A971C AFA20020 */ sw $v0, 0x20($sp) -/* B208C0 800A9720 24061354 */ li $a2, 4948 -/* B208C4 800A9724 0C01A508 */ jal MemCopy -/* B208C8 800A9728 03302021 */ addu $a0, $t9, $s0 -/* B208CC 800A972C 3C010800 */ lui $at, 0x800 -/* B208D0 800A9730 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B208D4 800A9734 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B208D8 800A9738 02012021 */ addu $a0, $s0, $at -/* B208DC 800A973C 24061450 */ li $a2, 5200 -/* B208E0 800A9740 0C02A7A8 */ jal Sram_ReadWrite -/* B208E4 800A9744 24070001 */ li $a3, 1 -/* B208E8 800A9748 8FA90020 */ lw $t1, 0x20($sp) -/* B208EC 800A974C 8FAC002C */ lw $t4, 0x2c($sp) -/* B208F0 800A9750 8FA80028 */ lw $t0, 0x28($sp) -/* B208F4 800A9754 852A4A46 */ lh $t2, 0x4a46($t1) -/* B208F8 800A9758 8D8D0000 */ lw $t5, ($t4) -/* B208FC 800A975C 3C010001 */ lui $at, (0x0001CA28 >> 16) # lui $at, 1 -/* B20900 800A9760 000A5840 */ sll $t3, $t2, 1 -/* B20904 800A9764 3421CA28 */ ori $at, (0x0001CA28 & 0xFFFF) # ori $at, $at, 0xca28 -/* B20908 800A9768 010B2021 */ addu $a0, $t0, $t3 -/* B2090C 800A976C 01B02821 */ addu $a1, $t5, $s0 -/* B20910 800A9770 24A5002C */ addiu $a1, $a1, 0x2c -/* B20914 800A9774 00812021 */ addu $a0, $a0, $at -/* B20918 800A9778 0C01A508 */ jal MemCopy -/* B2091C 800A977C 24060002 */ li $a2, 2 -/* B20920 800A9780 8FAE0020 */ lw $t6, 0x20($sp) -/* B20924 800A9784 8FB9002C */ lw $t9, 0x2c($sp) -/* B20928 800A9788 3C108013 */ lui $s0, %hi(D_8012A4E6) -/* B2092C 800A978C 85CF4A46 */ lh $t7, 0x4a46($t6) -/* B20930 800A9790 8F290000 */ lw $t1, ($t9) -/* B20934 800A9794 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B20938 800A9798 000FC040 */ sll $t8, $t7, 1 -/* B2093C 800A979C 02188021 */ addu $s0, $s0, $t8 -/* B20940 800A97A0 9610A4E6 */ lhu $s0, %lo(D_8012A4E6)($s0) -/* B20944 800A97A4 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B20948 800A97A8 24061354 */ li $a2, 4948 -/* B2094C 800A97AC 0C01A508 */ jal MemCopy -/* B20950 800A97B0 01302021 */ addu $a0, $t1, $s0 -/* B20954 800A97B4 3C010800 */ lui $at, 0x800 -/* B20958 800A97B8 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B2095C 800A97BC 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B20960 800A97C0 02012021 */ addu $a0, $s0, $at -/* B20964 800A97C4 24061450 */ li $a2, 5200 -/* B20968 800A97C8 0C02A7A8 */ jal Sram_ReadWrite -/* B2096C 800A97CC 24070001 */ li $a3, 1 -/* B20970 800A97D0 3C048014 */ lui $a0, %hi(D_80140E2C) # $a0, 0x8014 -/* B20974 800A97D4 0C00084C */ jal osSyncPrintf -/* B20978 800A97D8 24840E2C */ addiu $a0, %lo(D_80140E2C) # addiu $a0, $a0, 0xe2c -/* B2097C 800A97DC 8FBF001C */ lw $ra, 0x1c($sp) -/* B20980 800A97E0 8FB00018 */ lw $s0, 0x18($sp) -/* B20984 800A97E4 27BD0028 */ addiu $sp, $sp, 0x28 -/* B20988 800A97E8 03E00008 */ jr $ra -/* B2098C 800A97EC 00000000 */ nop - diff --git a/asm/non_matchings/code/z_sram/func_800A97F0.s b/asm/non_matchings/code/z_sram/func_800A97F0.s deleted file mode 100644 index 0f759c92c0..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A97F0.s +++ /dev/null @@ -1,193 +0,0 @@ -.rdata -glabel D_80140E3C - .asciz "READ=%d(%x) COPY=%d(%x)\n" - # EUC-JP: READ=%d(%x) COPY=%d - .balign 4 - -glabel D_80140E60 - .asciz "f_64dd[%d]=%d\n" - .balign 4 - -glabel D_80140E70 - .asciz "heart_status[%d]=%d\n" - .balign 4 - -glabel D_80140E88 - .asciz "COPY終了\n" - # EUC-JP: COPY終了 | Copy end - .balign 4 - -.text -glabel func_800A97F0 -/* B20990 800A97F0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B20994 800A97F4 AFB3002C */ sw $s3, 0x2c($sp) -/* B20998 800A97F8 3C010001 */ lui $at, (0x00018000 >> 16) # lui $at, 1 -/* B2099C 800A97FC 00809825 */ move $s3, $a0 -/* B209A0 800A9800 AFB20028 */ sw $s2, 0x28($sp) -/* B209A4 800A9804 AFB10024 */ sw $s1, 0x24($sp) -/* B209A8 800A9808 34218000 */ ori $at, (0x00018000 & 0xFFFF) # ori $at, $at, 0x8000 -/* B209AC 800A980C AFBF0034 */ sw $ra, 0x34($sp) -/* B209B0 800A9810 AFB40030 */ sw $s4, 0x30($sp) -/* B209B4 800A9814 AFB00020 */ sw $s0, 0x20($sp) -/* B209B8 800A9818 02618821 */ addu $s1, $s3, $at -/* B209BC 800A981C 86274A5E */ lh $a3, 0x4a5e($s1) -/* B209C0 800A9820 00A09025 */ move $s2, $a1 -/* B209C4 800A9824 86254A46 */ lh $a1, 0x4a46($s1) -/* B209C8 800A9828 3C148013 */ lui $s4, %hi(D_8012A4E0) # $s4, 0x8013 -/* B209CC 800A982C 2694A4E0 */ addiu $s4, %lo(D_8012A4E0) # addiu $s4, $s4, -0x5b20 -/* B209D0 800A9830 0007C040 */ sll $t8, $a3, 1 -/* B209D4 800A9834 0298C821 */ addu $t9, $s4, $t8 -/* B209D8 800A9838 00057040 */ sll $t6, $a1, 1 -/* B209DC 800A983C 97280000 */ lhu $t0, ($t9) -/* B209E0 800A9840 028E7821 */ addu $t7, $s4, $t6 -/* B209E4 800A9844 95E60000 */ lhu $a2, ($t7) -/* B209E8 800A9848 3C048014 */ lui $a0, %hi(D_80140E3C) # $a0, 0x8014 -/* B209EC 800A984C 24840E3C */ addiu $a0, %lo(D_80140E3C) # addiu $a0, $a0, 0xe3c -/* B209F0 800A9850 0C00084C */ jal osSyncPrintf -/* B209F4 800A9854 AFA80010 */ sw $t0, 0x10($sp) -/* B209F8 800A9858 86294A46 */ lh $t1, 0x4a46($s1) -/* B209FC 800A985C 8E4C0000 */ lw $t4, ($s2) -/* B20A00 800A9860 3C048016 */ lui $a0, %hi(gSaveContext) # $a0, 0x8016 -/* B20A04 800A9864 00095040 */ sll $t2, $t1, 1 -/* B20A08 800A9868 028A5821 */ addu $t3, $s4, $t2 -/* B20A0C 800A986C 95700000 */ lhu $s0, ($t3) -/* B20A10 800A9870 2484E660 */ addiu $a0, %lo(gSaveContext) # addiu $a0, $a0, -0x19a0 -/* B20A14 800A9874 24061354 */ li $a2, 4948 -/* B20A18 800A9878 0C01A508 */ jal MemCopy -/* B20A1C 800A987C 01902821 */ addu $a1, $t4, $s0 -/* B20A20 800A9880 862D4A5E */ lh $t5, 0x4a5e($s1) -/* B20A24 800A9884 8E580000 */ lw $t8, ($s2) -/* B20A28 800A9888 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B20A2C 800A988C 000D7040 */ sll $t6, $t5, 1 -/* B20A30 800A9890 028E7821 */ addu $t7, $s4, $t6 -/* B20A34 800A9894 95F00000 */ lhu $s0, ($t7) -/* B20A38 800A9898 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B20A3C 800A989C 24061354 */ li $a2, 4948 -/* B20A40 800A98A0 0C01A508 */ jal MemCopy -/* B20A44 800A98A4 03102021 */ addu $a0, $t8, $s0 -/* B20A48 800A98A8 86394A5E */ lh $t9, 0x4a5e($s1) -/* B20A4C 800A98AC 8E4A0000 */ lw $t2, ($s2) -/* B20A50 800A98B0 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016 -/* B20A54 800A98B4 00194040 */ sll $t0, $t9, 1 -/* B20A58 800A98B8 02884821 */ addu $t1, $s4, $t0 -/* B20A5C 800A98BC 95300006 */ lhu $s0, 6($t1) -/* B20A60 800A98C0 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0 -/* B20A64 800A98C4 24061354 */ li $a2, 4948 -/* B20A68 800A98C8 0C01A508 */ jal MemCopy -/* B20A6C 800A98CC 01502021 */ addu $a0, $t2, $s0 -/* B20A70 800A98D0 3C040800 */ lui $a0, 0x800 -/* B20A74 800A98D4 8E450000 */ lw $a1, ($s2) -/* B20A78 800A98D8 34068000 */ li $a2, 32768 -/* B20A7C 800A98DC 0C02A7A8 */ jal Sram_ReadWrite -/* B20A80 800A98E0 24070001 */ li $a3, 1 -/* B20A84 800A98E4 86224A5E */ lh $v0, 0x4a5e($s1) -/* B20A88 800A98E8 8E4C0000 */ lw $t4, ($s2) -/* B20A8C 800A98EC 3C010001 */ lui $at, (0x0001C9F6 >> 16) # lui $at, 1 -/* B20A90 800A98F0 00021040 */ sll $v0, $v0, 1 -/* B20A94 800A98F4 02825821 */ addu $t3, $s4, $v0 -/* B20A98 800A98F8 95700000 */ lhu $s0, ($t3) -/* B20A9C 800A98FC 02622021 */ addu $a0, $s3, $v0 -/* B20AA0 800A9900 3421C9F6 */ ori $at, (0x0001C9F6 & 0xFFFF) # ori $at, $at, 0xc9f6 -/* B20AA4 800A9904 01902821 */ addu $a1, $t4, $s0 -/* B20AA8 800A9908 24A50022 */ addiu $a1, $a1, 0x22 -/* B20AAC 800A990C 00812021 */ addu $a0, $a0, $at -/* B20AB0 800A9910 0C01A508 */ jal MemCopy -/* B20AB4 800A9914 24060002 */ li $a2, 2 -/* B20AB8 800A9918 862D4A5E */ lh $t5, 0x4a5e($s1) -/* B20ABC 800A991C 8E4F0000 */ lw $t7, ($s2) -/* B20AC0 800A9920 3C010001 */ lui $at, (0x0001C9FC >> 16) # lui $at, 1 -/* B20AC4 800A9924 000D70C0 */ sll $t6, $t5, 3 -/* B20AC8 800A9928 026E2021 */ addu $a0, $s3, $t6 -/* B20ACC 800A992C 3421C9FC */ ori $at, (0x0001C9FC & 0xFFFF) # ori $at, $at, 0xc9fc -/* B20AD0 800A9930 01F02821 */ addu $a1, $t7, $s0 -/* B20AD4 800A9934 24A50024 */ addiu $a1, $a1, 0x24 -/* B20AD8 800A9938 00812021 */ addu $a0, $a0, $at -/* B20ADC 800A993C 0C01A508 */ jal MemCopy -/* B20AE0 800A9940 24060008 */ li $a2, 8 -/* B20AE4 800A9944 86384A5E */ lh $t8, 0x4a5e($s1) -/* B20AE8 800A9948 8E480000 */ lw $t0, ($s2) -/* B20AEC 800A994C 3C010001 */ lui $at, (0x0001CA14 >> 16) # lui $at, 1 -/* B20AF0 800A9950 0018C840 */ sll $t9, $t8, 1 -/* B20AF4 800A9954 02792021 */ addu $a0, $s3, $t9 -/* B20AF8 800A9958 3421CA14 */ ori $at, (0x0001CA14 & 0xFFFF) # ori $at, $at, 0xca14 -/* B20AFC 800A995C 01102821 */ addu $a1, $t0, $s0 -/* B20B00 800A9960 24A5002E */ addiu $a1, $a1, 0x2e -/* B20B04 800A9964 00812021 */ addu $a0, $a0, $at -/* B20B08 800A9968 0C01A508 */ jal MemCopy -/* B20B0C 800A996C 24060002 */ li $a2, 2 -/* B20B10 800A9970 86294A5E */ lh $t1, 0x4a5e($s1) -/* B20B14 800A9974 8E4B0000 */ lw $t3, ($s2) -/* B20B18 800A9978 3C010001 */ lui $at, (0x0001CA1C >> 16) # lui $at, 1 -/* B20B1C 800A997C 00095080 */ sll $t2, $t1, 2 -/* B20B20 800A9980 026A2021 */ addu $a0, $s3, $t2 -/* B20B24 800A9984 3421CA1C */ ori $at, (0x0001CA1C & 0xFFFF) # ori $at, $at, 0xca1c -/* B20B28 800A9988 01702821 */ addu $a1, $t3, $s0 -/* B20B2C 800A998C 24A500A4 */ addiu $a1, $a1, 0xa4 -/* B20B30 800A9990 00812021 */ addu $a0, $a0, $at -/* B20B34 800A9994 0C01A508 */ jal MemCopy -/* B20B38 800A9998 24060004 */ li $a2, 4 -/* B20B3C 800A999C 862C4A5E */ lh $t4, 0x4a5e($s1) -/* B20B40 800A99A0 8E4E0000 */ lw $t6, ($s2) -/* B20B44 800A99A4 3C010001 */ lui $at, (0x0001CA28 >> 16) # lui $at, 1 -/* B20B48 800A99A8 000C6840 */ sll $t5, $t4, 1 -/* B20B4C 800A99AC 026D2021 */ addu $a0, $s3, $t5 -/* B20B50 800A99B0 3421CA28 */ ori $at, (0x0001CA28 & 0xFFFF) # ori $at, $at, 0xca28 -/* B20B54 800A99B4 01D02821 */ addu $a1, $t6, $s0 -/* B20B58 800A99B8 24A5002C */ addiu $a1, $a1, 0x2c -/* B20B5C 800A99BC 00812021 */ addu $a0, $a0, $at -/* B20B60 800A99C0 0C01A508 */ jal MemCopy -/* B20B64 800A99C4 24060002 */ li $a2, 2 -/* B20B68 800A99C8 862F4A5E */ lh $t7, 0x4a5e($s1) -/* B20B6C 800A99CC 8E580000 */ lw $t8, ($s2) -/* B20B70 800A99D0 3C010001 */ lui $at, (0x0001CA2E >> 16) # lui $at, 1 -/* B20B74 800A99D4 3421CA2E */ ori $at, (0x0001CA2E & 0xFFFF) # ori $at, $at, 0xca2e -/* B20B78 800A99D8 026F2021 */ addu $a0, $s3, $t7 -/* B20B7C 800A99DC 03102821 */ addu $a1, $t8, $s0 -/* B20B80 800A99E0 24A500CF */ addiu $a1, $a1, 0xcf -/* B20B84 800A99E4 00812021 */ addu $a0, $a0, $at -/* B20B88 800A99E8 0C01A508 */ jal MemCopy -/* B20B8C 800A99EC 24060001 */ li $a2, 1 -/* B20B90 800A99F0 86394A5E */ lh $t9, 0x4a5e($s1) -/* B20B94 800A99F4 8E490000 */ lw $t1, ($s2) -/* B20B98 800A99F8 3C010001 */ lui $at, (0x0001CA32 >> 16) # lui $at, 1 -/* B20B9C 800A99FC 00194040 */ sll $t0, $t9, 1 -/* B20BA0 800A9A00 02682021 */ addu $a0, $s3, $t0 -/* B20BA4 800A9A04 3421CA32 */ ori $at, (0x0001CA32 & 0xFFFF) # ori $at, $at, 0xca32 -/* B20BA8 800A9A08 01302821 */ addu $a1, $t1, $s0 -/* B20BAC 800A9A0C 24A50030 */ addiu $a1, $a1, 0x30 -/* B20BB0 800A9A10 00812021 */ addu $a0, $a0, $at -/* B20BB4 800A9A14 0C01A508 */ jal MemCopy -/* B20BB8 800A9A18 24060002 */ li $a2, 2 -/* B20BBC 800A9A1C 3C108016 */ lui $s0, %hi(gSaveContext+0x1354) # $s0, 0x8016 -/* B20BC0 800A9A20 8E10F9B4 */ lw $s0, %lo(gSaveContext+0x1354)($s0) -/* B20BC4 800A9A24 3C060002 */ lui $a2, 2 -/* B20BC8 800A9A28 3C048014 */ lui $a0, %hi(D_80140E60) # $a0, 0x8014 -/* B20BCC 800A9A2C 00105040 */ sll $t2, $s0, 1 -/* B20BD0 800A9A30 026A5821 */ addu $t3, $s3, $t2 -/* B20BD4 800A9A34 00CB3021 */ addu $a2, $a2, $t3 -/* B20BD8 800A9A38 84C6CA28 */ lh $a2, -0x35d8($a2) -/* B20BDC 800A9A3C 24840E60 */ addiu $a0, %lo(D_80140E60) # addiu $a0, $a0, 0xe60 -/* B20BE0 800A9A40 0C00084C */ jal osSyncPrintf -/* B20BE4 800A9A44 02002825 */ move $a1, $s0 -/* B20BE8 800A9A48 3C108016 */ lui $s0, %hi(gSaveContext+0x1354) # $s0, 0x8016 -/* B20BEC 800A9A4C 8E10F9B4 */ lw $s0, %lo(gSaveContext+0x1354)($s0) -/* B20BF0 800A9A50 3C060002 */ lui $a2, 2 -/* B20BF4 800A9A54 3C048014 */ lui $a0, %hi(D_80140E70) # $a0, 0x8014 -/* B20BF8 800A9A58 02706021 */ addu $t4, $s3, $s0 -/* B20BFC 800A9A5C 00CC3021 */ addu $a2, $a2, $t4 -/* B20C00 800A9A60 80C6CA2E */ lb $a2, -0x35d2($a2) -/* B20C04 800A9A64 24840E70 */ addiu $a0, %lo(D_80140E70) # addiu $a0, $a0, 0xe70 -/* B20C08 800A9A68 0C00084C */ jal osSyncPrintf -/* B20C0C 800A9A6C 02002825 */ move $a1, $s0 -/* B20C10 800A9A70 3C048014 */ lui $a0, %hi(D_80140E88) # $a0, 0x8014 -/* B20C14 800A9A74 0C00084C */ jal osSyncPrintf -/* B20C18 800A9A78 24840E88 */ addiu $a0, %lo(D_80140E88) # addiu $a0, $a0, 0xe88 -/* B20C1C 800A9A7C 8FBF0034 */ lw $ra, 0x34($sp) -/* B20C20 800A9A80 8FB00020 */ lw $s0, 0x20($sp) -/* B20C24 800A9A84 8FB10024 */ lw $s1, 0x24($sp) -/* B20C28 800A9A88 8FB20028 */ lw $s2, 0x28($sp) -/* B20C2C 800A9A8C 8FB3002C */ lw $s3, 0x2c($sp) -/* B20C30 800A9A90 8FB40030 */ lw $s4, 0x30($sp) -/* B20C34 800A9A94 03E00008 */ jr $ra -/* B20C38 800A9A98 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/code/z_sram/func_800A9A9C.s b/asm/non_matchings/code/z_sram/func_800A9A9C.s deleted file mode 100644 index e555be677f..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A9A9C.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_800A9A9C -/* B20C3C 800A9A9C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B20C40 800A9AA0 AFA40018 */ sw $a0, 0x18($sp) -/* B20C44 800A9AA4 8FAE0018 */ lw $t6, 0x18($sp) -/* B20C48 800A9AA8 AFBF0014 */ sw $ra, 0x14($sp) -/* B20C4C 800A9AAC 3C040800 */ lui $a0, 0x800 -/* B20C50 800A9AB0 24060010 */ li $a2, 16 -/* B20C54 800A9AB4 24070001 */ li $a3, 1 -/* B20C58 800A9AB8 0C02A7A8 */ jal Sram_ReadWrite -/* B20C5C 800A9ABC 8DC50000 */ lw $a1, ($t6) -/* B20C60 800A9AC0 8FBF0014 */ lw $ra, 0x14($sp) -/* B20C64 800A9AC4 27BD0018 */ addiu $sp, $sp, 0x18 -/* B20C68 800A9AC8 03E00008 */ jr $ra -/* B20C6C 800A9ACC 00000000 */ nop - diff --git a/asm/non_matchings/code/z_sram/func_800A9AD0.s b/asm/non_matchings/code/z_sram/func_800A9AD0.s deleted file mode 100644 index 376a42dc78..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A9AD0.s +++ /dev/null @@ -1,177 +0,0 @@ -.rdata -glabel D_80140E98 - .asciz "sram_initialize( Game *game, Sram *sram )\n" - .balign 4 - -glabel D_80140EC4 - .asciz "SRAM破壊!!!!!!\n" - # EUC-JP: SRAM破壊!!!!!! | SRAM destruction! ! ! ! ! ! - .balign 4 - -glabel D_80140EE0 - .asciz "SRAM破壊!!!!!!\n" - # EUC-JP: SRAM破壊!!!!!! | SRAM destruction! ! ! ! ! ! - .balign 4 - -glabel D_80140EFC - .asciz "GOOD!GOOD! サイズ=%d + %d = %d\n" - # EUC-JP: GOOD!GOOD! サイズ=%d + %d = %d | GOOD! GOOD! Size =% d +% d =% d - .balign 4 - -glabel D_80140F28 - .asciz "\x1b[34m" - .balign 4 - -glabel D_80140F30 - .asciz "Na_SetSoundOutputMode = %d\n" - .balign 4 - -glabel D_80140F4C - .asciz "Na_SetSoundOutputMode = %d\n" - .balign 4 - -glabel D_80140F68 - .asciz "Na_SetSoundOutputMode = %d\n" - .balign 4 - -glabel D_80140F84 - .asciz "\x1b[m" - .balign 4 - -.text -glabel func_800A9AD0 -/* B20C70 800A9AD0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B20C74 800A9AD4 AFA40030 */ sw $a0, 0x30($sp) -/* B20C78 800A9AD8 AFBF002C */ sw $ra, 0x2c($sp) -/* B20C7C 800A9ADC AFB1001C */ sw $s1, 0x1c($sp) -/* B20C80 800A9AE0 3C048014 */ lui $a0, %hi(D_80140E98) # $a0, 0x8014 -/* B20C84 800A9AE4 00A08825 */ move $s1, $a1 -/* B20C88 800A9AE8 AFB40028 */ sw $s4, 0x28($sp) -/* B20C8C 800A9AEC AFB30024 */ sw $s3, 0x24($sp) -/* B20C90 800A9AF0 AFB20020 */ sw $s2, 0x20($sp) -/* B20C94 800A9AF4 AFB00018 */ sw $s0, 0x18($sp) -/* B20C98 800A9AF8 0C00084C */ jal osSyncPrintf -/* B20C9C 800A9AFC 24840E98 */ addiu $a0, %lo(D_80140E98) # addiu $a0, $a0, 0xe98 -/* B20CA0 800A9B00 3C040800 */ lui $a0, 0x800 -/* B20CA4 800A9B04 8E250000 */ lw $a1, ($s1) -/* B20CA8 800A9B08 34068000 */ li $a2, 32768 -/* B20CAC 800A9B0C 0C02A7A8 */ jal Sram_ReadWrite -/* B20CB0 800A9B10 00003825 */ move $a3, $zero -/* B20CB4 800A9B14 3C148014 */ lui $s4, %hi(D_80140EC4) # $s4, 0x8014 -/* B20CB8 800A9B18 3C138016 */ lui $s3, %hi(gSaveContext) # $s3, 0x8016 -/* B20CBC 800A9B1C 3C128013 */ lui $s2, %hi(D_8012A4EC) # $s2, 0x8013 -/* B20CC0 800A9B20 2652A4EC */ addiu $s2, %lo(D_8012A4EC) # addiu $s2, $s2, -0x5b14 -/* B20CC4 800A9B24 2673E660 */ addiu $s3, %lo(gSaveContext) # addiu $s3, $s3, -0x19a0 -/* B20CC8 800A9B28 26940EC4 */ addiu $s4, %lo(D_80140EC4) # addiu $s4, $s4, 0xec4 -/* B20CCC 800A9B2C 00008025 */ move $s0, $zero -/* B20CD0 800A9B30 8E230000 */ lw $v1, ($s1) -/* B20CD4 800A9B34 00001025 */ move $v0, $zero -.L800A9B38: -/* B20CD8 800A9B38 02427021 */ addu $t6, $s2, $v0 -/* B20CDC 800A9B3C 0062C021 */ addu $t8, $v1, $v0 -/* B20CE0 800A9B40 93190003 */ lbu $t9, 3($t8) -/* B20CE4 800A9B44 91CF0003 */ lbu $t7, 3($t6) -/* B20CE8 800A9B48 51F90011 */ beql $t7, $t9, .L800A9B90 -/* B20CEC 800A9B4C 26100001 */ addiu $s0, $s0, 1 -/* B20CF0 800A9B50 0C00084C */ jal osSyncPrintf -/* B20CF4 800A9B54 02802025 */ move $a0, $s4 -/* B20CF8 800A9B58 8E280000 */ lw $t0, ($s1) -/* B20CFC 800A9B5C 02402825 */ move $a1, $s2 -/* B20D00 800A9B60 2406000C */ li $a2, 12 -/* B20D04 800A9B64 91090002 */ lbu $t1, 2($t0) -/* B20D08 800A9B68 A2691409 */ sb $t1, 0x1409($s3) -/* B20D0C 800A9B6C 0C01A508 */ jal MemCopy -/* B20D10 800A9B70 8E240000 */ lw $a0, ($s1) -/* B20D14 800A9B74 926A1409 */ lbu $t2, 0x1409($s3) -/* B20D18 800A9B78 8E2B0000 */ lw $t3, ($s1) -/* B20D1C 800A9B7C 02202025 */ move $a0, $s1 -/* B20D20 800A9B80 0C02A6A7 */ jal func_800A9A9C -/* B20D24 800A9B84 A16A0002 */ sb $t2, 2($t3) -/* B20D28 800A9B88 8E230000 */ lw $v1, ($s1) -/* B20D2C 800A9B8C 26100001 */ addiu $s0, $s0, 1 -.L800A9B90: -/* B20D30 800A9B90 3210FFFF */ andi $s0, $s0, 0xffff -/* B20D34 800A9B94 2E010009 */ sltiu $at, $s0, 9 -/* B20D38 800A9B98 1420FFE7 */ bnez $at, .L800A9B38 -/* B20D3C 800A9B9C 02001025 */ move $v0, $s0 -/* B20D40 800A9BA0 906C0000 */ lbu $t4, ($v1) -/* B20D44 800A9BA4 318D0003 */ andi $t5, $t4, 3 -/* B20D48 800A9BA8 A26D140A */ sb $t5, 0x140a($s3) -/* B20D4C 800A9BAC 8E2E0000 */ lw $t6, ($s1) -/* B20D50 800A9BB0 91D80001 */ lbu $t8, 1($t6) -/* B20D54 800A9BB4 330F0001 */ andi $t7, $t8, 1 -/* B20D58 800A9BB8 A26F140C */ sb $t7, 0x140c($s3) -/* B20D5C 800A9BBC 8E390000 */ lw $t9, ($s1) -/* B20D60 800A9BC0 93280002 */ lbu $t0, 2($t9) -/* B20D64 800A9BC4 310900FF */ andi $t1, $t0, 0xff -/* B20D68 800A9BC8 29210003 */ slti $at, $t1, 3 -/* B20D6C 800A9BCC 14200006 */ bnez $at, .L800A9BE8 -/* B20D70 800A9BD0 A2681409 */ sb $t0, 0x1409($s3) -/* B20D74 800A9BD4 A2601409 */ sb $zero, 0x1409($s3) -/* B20D78 800A9BD8 8E2B0000 */ lw $t3, ($s1) -/* B20D7C 800A9BDC 02202025 */ move $a0, $s1 -/* B20D80 800A9BE0 0C02A6A7 */ jal func_800A9A9C -/* B20D84 800A9BE4 A1600002 */ sb $zero, 2($t3) -.L800A9BE8: -/* B20D88 800A9BE8 8FAC0030 */ lw $t4, 0x30($sp) -/* B20D8C 800A9BEC 34058000 */ li $a1, 32768 -/* B20D90 800A9BF0 958D0044 */ lhu $t5, 0x44($t4) -/* B20D94 800A9BF4 31AE0100 */ andi $t6, $t5, 0x100 -/* B20D98 800A9BF8 11C00014 */ beqz $t6, .L800A9C4C -/* B20D9C 800A9BFC 00000000 */ nop -/* B20DA0 800A9C00 0C001114 */ jal bzero -/* B20DA4 800A9C04 8E240000 */ lw $a0, ($s1) -/* B20DA8 800A9C08 00008025 */ move $s0, $zero -/* B20DAC 800A9C0C 8E380000 */ lw $t8, ($s1) -.L800A9C10: -/* B20DB0 800A9C10 03107821 */ addu $t7, $t8, $s0 -/* B20DB4 800A9C14 A1F00000 */ sb $s0, ($t7) -/* B20DB8 800A9C18 26100001 */ addiu $s0, $s0, 1 -/* B20DBC 800A9C1C 3210FFFF */ andi $s0, $s0, 0xffff -/* B20DC0 800A9C20 2E0109AA */ sltiu $at, $s0, 0x9aa -/* B20DC4 800A9C24 5420FFFA */ bnezl $at, .L800A9C10 -/* B20DC8 800A9C28 8E380000 */ lw $t8, ($s1) -/* B20DCC 800A9C2C 3C040800 */ lui $a0, 0x800 -/* B20DD0 800A9C30 8E250000 */ lw $a1, ($s1) -/* B20DD4 800A9C34 34068000 */ li $a2, 32768 -/* B20DD8 800A9C38 0C02A7A8 */ jal Sram_ReadWrite -/* B20DDC 800A9C3C 24070001 */ li $a3, 1 -/* B20DE0 800A9C40 3C048014 */ lui $a0, %hi(D_80140EE0) # $a0, 0x8014 -/* B20DE4 800A9C44 0C00084C */ jal osSyncPrintf -/* B20DE8 800A9C48 24840EE0 */ addiu $a0, %lo(D_80140EE0) # addiu $a0, $a0, 0xee0 -.L800A9C4C: -/* B20DEC 800A9C4C 3C048014 */ lui $a0, %hi(D_80140EFC) # $a0, 0x8014 -/* B20DF0 800A9C50 24840EFC */ addiu $a0, %lo(D_80140EFC) # addiu $a0, $a0, 0xefc -/* B20DF4 800A9C54 24051338 */ li $a1, 4920 -/* B20DF8 800A9C58 24060004 */ li $a2, 4 -/* B20DFC 800A9C5C 0C00084C */ jal osSyncPrintf -/* B20E00 800A9C60 2407133C */ li $a3, 4924 -/* B20E04 800A9C64 3C048014 */ lui $a0, %hi(D_80140F28) # $a0, 0x8014 -/* B20E08 800A9C68 0C00084C */ jal osSyncPrintf -/* B20E0C 800A9C6C 24840F28 */ addiu $a0, %lo(D_80140F28) # addiu $a0, $a0, 0xf28 -/* B20E10 800A9C70 3C048014 */ lui $a0, %hi(D_80140F30) # $a0, 0x8014 -/* B20E14 800A9C74 24840F30 */ addiu $a0, %lo(D_80140F30) # addiu $a0, $a0, 0xf30 -/* B20E18 800A9C78 0C00084C */ jal osSyncPrintf -/* B20E1C 800A9C7C 9265140A */ lbu $a1, 0x140a($s3) -/* B20E20 800A9C80 3C048014 */ lui $a0, %hi(D_80140F4C) # $a0, 0x8014 -/* B20E24 800A9C84 24840F4C */ addiu $a0, %lo(D_80140F4C) # addiu $a0, $a0, 0xf4c -/* B20E28 800A9C88 0C00084C */ jal osSyncPrintf -/* B20E2C 800A9C8C 9265140A */ lbu $a1, 0x140a($s3) -/* B20E30 800A9C90 3C048014 */ lui $a0, %hi(D_80140F68) # $a0, 0x8014 -/* B20E34 800A9C94 24840F68 */ addiu $a0, %lo(D_80140F68) # addiu $a0, $a0, 0xf68 -/* B20E38 800A9C98 0C00084C */ jal osSyncPrintf -/* B20E3C 800A9C9C 9265140A */ lbu $a1, 0x140a($s3) -/* B20E40 800A9CA0 3C048014 */ lui $a0, %hi(D_80140F84) # $a0, 0x8014 -/* B20E44 800A9CA4 0C00084C */ jal osSyncPrintf -/* B20E48 800A9CA8 24840F84 */ addiu $a0, %lo(D_80140F84) # addiu $a0, $a0, 0xf84 -/* B20E4C 800A9CAC 0C03D9C0 */ jal func_800F6700 -/* B20E50 800A9CB0 8264140A */ lb $a0, 0x140a($s3) -/* B20E54 800A9CB4 8FBF002C */ lw $ra, 0x2c($sp) -/* B20E58 800A9CB8 8FB00018 */ lw $s0, 0x18($sp) -/* B20E5C 800A9CBC 8FB1001C */ lw $s1, 0x1c($sp) -/* B20E60 800A9CC0 8FB20020 */ lw $s2, 0x20($sp) -/* B20E64 800A9CC4 8FB30024 */ lw $s3, 0x24($sp) -/* B20E68 800A9CC8 8FB40028 */ lw $s4, 0x28($sp) -/* B20E6C 800A9CCC 03E00008 */ jr $ra -/* B20E70 800A9CD0 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/code/z_sram/func_800A9CD4.s b/asm/non_matchings/code/z_sram/func_800A9CD4.s deleted file mode 100644 index 62a8d501d0..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A9CD4.s +++ /dev/null @@ -1,38 +0,0 @@ -.rdata -glabel D_80140F88 - .asciz "../z_sram.c" - .balign 4 - -glabel D_80140F94 - .asciz "sram->read_buff != NULL" - .balign 4 - -glabel D_80140FAC - .asciz "../z_sram.c" - .balign 4 - -.text -glabel func_800A9CD4 -/* B20E74 800A9CD4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B20E78 800A9CD8 AFBF0014 */ sw $ra, 0x14($sp) -/* B20E7C 800A9CDC AFA5001C */ sw $a1, 0x1c($sp) -/* B20E80 800A9CE0 3C068014 */ lui $a2, %hi(D_80140F88) # $a2, 0x8014 -/* B20E84 800A9CE4 24C60F88 */ addiu $a2, %lo(D_80140F88) # addiu $a2, $a2, 0xf88 -/* B20E88 800A9CE8 34058000 */ li $a1, 32768 -/* B20E8C 800A9CEC 0C031521 */ jal GameState_Alloc -/* B20E90 800A9CF0 2407050E */ li $a3, 1294 -/* B20E94 800A9CF4 8FAE001C */ lw $t6, 0x1c($sp) -/* B20E98 800A9CF8 3C048014 */ lui $a0, %hi(D_80140F94) # $a0, 0x8014 -/* B20E9C 800A9CFC 14400006 */ bnez $v0, .L800A9D18 -/* B20EA0 800A9D00 ADC20000 */ sw $v0, ($t6) -/* B20EA4 800A9D04 3C058014 */ lui $a1, %hi(D_80140FAC) # $a1, 0x8014 -/* B20EA8 800A9D08 24A50FAC */ addiu $a1, %lo(D_80140FAC) # addiu $a1, $a1, 0xfac -/* B20EAC 800A9D0C 24840F94 */ addiu $a0, %lo(D_80140F94) # addiu $a0, $a0, 0xf94 -/* B20EB0 800A9D10 0C0007FC */ jal __assert -/* B20EB4 800A9D14 2406050F */ li $a2, 1295 -.L800A9D18: -/* B20EB8 800A9D18 8FBF0014 */ lw $ra, 0x14($sp) -/* B20EBC 800A9D1C 27BD0018 */ addiu $sp, $sp, 0x18 -/* B20EC0 800A9D20 03E00008 */ jr $ra -/* B20EC4 800A9D24 00000000 */ nop - diff --git a/asm/non_matchings/code/z_sram/func_800A9D28.s b/asm/non_matchings/code/z_sram/func_800A9D28.s deleted file mode 100644 index 81710cf632..0000000000 --- a/asm/non_matchings/code/z_sram/func_800A9D28.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_800A9D28 -/* B20EC8 800A9D28 AFA40000 */ sw $a0, ($sp) -/* B20ECC 800A9D2C 03E00008 */ jr $ra -/* B20ED0 800A9D30 AFA50004 */ sw $a1, 4($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/KaleidoScope_Update.s b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/KaleidoScope_Update.s index a5a054ea58..68a4744b0a 100644 --- a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/KaleidoScope_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/KaleidoScope_Update.s @@ -1881,7 +1881,7 @@ glabel L80828198 /* 14A40 80828260 3C098016 */ lui $t1, %hi(gSaveContext) /* 14A44 80828264 2529E660 */ addiu $t1, %lo(gSaveContext) /* 14A48 80828268 26241F74 */ addiu $a0, $s1, 0x1F74 ## $a0 = 00001F74 -/* 14A4C 8082826C 0C02A235 */ jal func_800A88D4 +/* 14A4C 8082826C 0C02A235 */ jal Sram_WriteSave /* 14A50 80828270 A52E0066 */ sh $t6, 0x0066($t1) ## 8015E6C6 /* 14A54 80828274 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 /* 14A58 80828278 A60F01EC */ sh $t7, 0x01EC($s0) ## 000001EC @@ -2950,7 +2950,7 @@ glabel L808290DC /* 1596C 8082918C 3C098016 */ lui $t1, %hi(gSaveContext) /* 15970 80829190 2529E660 */ addiu $t1, %lo(gSaveContext) /* 15974 80829194 26241F74 */ addiu $a0, $s1, 0x1F74 ## $a0 = 8082CB0C -/* 15978 80829198 0C02A235 */ jal func_800A88D4 +/* 15978 80829198 0C02A235 */ jal Sram_WriteSave /* 1597C 8082919C A5390066 */ sh $t9, 0x0066($t1) ## 8015E6C6 /* 15980 808291A0 240E000F */ addiu $t6, $zero, 0x000F ## $t6 = 0000000F /* 15984 808291A4 A60E01D4 */ sh $t6, 0x01D4($s0) ## 000001D4 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80803ED8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80803ED8.s index 8c67c265c7..741b035c23 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80803ED8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80803ED8.s @@ -56,9 +56,9 @@ glabel func_80803ED8 .L80803FA4: /* 00264 80803FA4 11A00044 */ beq $t5, $zero, .L808040B8 /* 00268 80803FA8 00037040 */ sll $t6, $v1, 1 -/* 0026C 80803FAC 3C0F8013 */ lui $t7, %hi(D_8012A4E0) +/* 0026C 80803FAC 3C0F8013 */ lui $t7, %hi(gSramSlotOffsets) /* 00270 80803FB0 01EE7821 */ addu $t7, $t7, $t6 -/* 00274 80803FB4 95EFA4E0 */ lhu $t7, %lo(D_8012A4E0)($t7) +/* 00274 80803FB4 95EFA4E0 */ lhu $t7, %lo(gSramSlotOffsets)($t7) /* 00278 80803FB8 8E1801E0 */ lw $t8, 0x01E0($s0) ## 000001E0 /* 0027C 80803FBC 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 00280 80803FC0 3C078013 */ lui $a3, %hi(D_801333E0) @@ -185,9 +185,9 @@ glabel func_80803ED8 .L80804180: /* 00440 80804180 1123002C */ beq $t1, $v1, .L80804234 /* 00444 80804184 00035040 */ sll $t2, $v1, 1 -/* 00448 80804188 3C0B8013 */ lui $t3, %hi(D_8012A4E0) +/* 00448 80804188 3C0B8013 */ lui $t3, %hi(gSramSlotOffsets) /* 0044C 8080418C 016A5821 */ addu $t3, $t3, $t2 -/* 00450 80804190 956BA4E0 */ lhu $t3, %lo(D_8012A4E0)($t3) +/* 00450 80804190 956BA4E0 */ lhu $t3, %lo(gSramSlotOffsets)($t3) /* 00454 80804194 8E0C01E0 */ lw $t4, 0x01E0($s0) ## 000001E0 /* 00458 80804198 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 0045C 8080419C 016C1021 */ addu $v0, $t3, $t4 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808044A0.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808044A0.s index 832318c890..2b42ca9af3 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808044A0.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808044A0.s @@ -53,9 +53,9 @@ glabel func_808044A0 .L80804560: /* 00820 80804560 11800044 */ beq $t4, $zero, .L80804674 /* 00824 80804564 00036840 */ sll $t5, $v1, 1 -/* 00828 80804568 3C0E8013 */ lui $t6, %hi(D_8012A4E0) +/* 00828 80804568 3C0E8013 */ lui $t6, %hi(gSramSlotOffsets) /* 0082C 8080456C 01CD7021 */ addu $t6, $t6, $t5 -/* 00830 80804570 95CEA4E0 */ lhu $t6, %lo(D_8012A4E0)($t6) +/* 00830 80804570 95CEA4E0 */ lhu $t6, %lo(gSramSlotOffsets)($t6) /* 00834 80804574 8E0F01E0 */ lw $t7, 0x01E0($s0) ## 000001E0 /* 00838 80804578 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 0083C 8080457C 3C078013 */ lui $a3, %hi(D_801333E0) @@ -202,9 +202,9 @@ glabel func_808044A0 .L8080478C: /* 00A4C 8080478C 1123002D */ beq $t1, $v1, .L80804844 /* 00A50 80804790 00036040 */ sll $t4, $v1, 1 -/* 00A54 80804794 3C0D8013 */ lui $t5, %hi(D_8012A4E0) +/* 00A54 80804794 3C0D8013 */ lui $t5, %hi(gSramSlotOffsets) /* 00A58 80804798 01AC6821 */ addu $t5, $t5, $t4 -/* 00A5C 8080479C 95ADA4E0 */ lhu $t5, %lo(D_8012A4E0)($t5) +/* 00A5C 8080479C 95ADA4E0 */ lhu $t5, %lo(gSramSlotOffsets)($t5) /* 00A60 808047A0 8E0E01E0 */ lw $t6, 0x01E0($s0) ## 000001E0 /* 00A64 808047A4 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 00A68 808047A8 01AE1021 */ addu $v0, $t5, $t6 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804A50.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804A50.s index 1b12377740..82cef2e206 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804A50.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804A50.s @@ -11,12 +11,12 @@ glabel func_80804A50 /* 00D34 80804A74 844E4A6E */ lh $t6, 0x4A6E($v0) ## 00004A6E /* 00D38 80804A78 84584A70 */ lh $t8, 0x4A70($v0) ## 00004A70 /* 00D3C 80804A7C 3C148081 */ lui $s4, %hi(D_808124A4) ## $s4 = 80810000 -/* 00D40 80804A80 3C0D8013 */ lui $t5, %hi(D_8012A4E0) +/* 00D40 80804A80 3C0D8013 */ lui $t5, %hi(gSramSlotOffsets) /* 00D44 80804A84 25CFFFE1 */ addiu $t7, $t6, 0xFFE1 ## $t7 = FFFFFFE1 /* 00D48 80804A88 2719001F */ addiu $t9, $t8, 0x001F ## $t9 = 0000001F /* 00D4C 80804A8C A44F4A6E */ sh $t7, 0x4A6E($v0) ## 00004A6E /* 00D50 80804A90 A4594A70 */ sh $t9, 0x4A70($v0) ## 00004A70 -/* 00D54 80804A94 25ADA4E0 */ addiu $t5, %lo(D_8012A4E0) +/* 00D54 80804A94 25ADA4E0 */ addiu $t5, %lo(gSramSlotOffsets) /* 00D58 80804A98 269424A4 */ addiu $s4, $s4, %lo(D_808124A4) ## $s4 = 808124A4 /* 00D5C 80804A9C 24100045 */ addiu $s0, $zero, 0x0045 ## $s0 = 00000045 /* 00D60 80804AA0 2411004C */ addiu $s1, $zero, 0x004C ## $s1 = 0000004C diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804CD0.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804CD0.s index 6d672ba36d..31e6fcbf5f 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804CD0.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804CD0.s @@ -53,7 +53,7 @@ glabel func_80804CD0 /* 0104C 80804D8C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 01050 80804D90 260501E0 */ addiu $a1, $s0, 0x01E0 ## $a1 = 000001E0 /* 01054 80804D94 AFA30028 */ sw $v1, 0x0028($sp) -/* 01058 80804D98 0C02A5FC */ jal func_800A97F0 +/* 01058 80804D98 0C02A5FC */ jal Sram_CopySave /* 0105C 80804D9C A7AE0032 */ sh $t6, 0x0032($sp) /* 01060 80804DA0 97AF0032 */ lhu $t7, 0x0032($sp) /* 01064 80804DA4 8FA30028 */ lw $v1, 0x0028($sp) diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804ED8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804ED8.s index 502517ea8c..6ed9e9b76a 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804ED8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80804ED8.s @@ -13,12 +13,12 @@ glabel func_80804ED8 /* 011C4 80804F04 25CFFFE1 */ addiu $t7, $t6, 0xFFE1 ## $t7 = FFFFFFE1 /* 011C8 80804F08 844E4A96 */ lh $t6, 0x4A96($v0) ## 00004A96 /* 011CC 80804F0C A44F4A6E */ sh $t7, 0x4A6E($v0) ## 00004A6E -/* 011D0 80804F10 3C0C8013 */ lui $t4, %hi(D_8012A4E0) +/* 011D0 80804F10 3C0C8013 */ lui $t4, %hi(gSramSlotOffsets) /* 011D4 80804F14 2719001F */ addiu $t9, $t8, 0x001F ## $t9 = 0000001F /* 011D8 80804F18 25CFFFE7 */ addiu $t7, $t6, 0xFFE7 ## $t7 = FFFFFFE7 /* 011DC 80804F1C A4594A70 */ sh $t9, 0x4A70($v0) ## 00004A70 /* 011E0 80804F20 A44F4A96 */ sh $t7, 0x4A96($v0) ## 00004A96 -/* 011E4 80804F24 258CA4E0 */ addiu $t4, %lo(D_8012A4E0) +/* 011E4 80804F24 258CA4E0 */ addiu $t4, %lo(gSramSlotOffsets) /* 011E8 80804F28 2673248C */ addiu $s3, $s3, %lo(D_8081248C) ## $s3 = 8081248C /* 011EC 80804F2C 2410004C */ addiu $s0, $zero, 0x004C ## $s0 = 0000004C /* 011F0 80804F30 24110044 */ addiu $s1, $zero, 0x0044 ## $s1 = 00000044 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805524.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805524.s index fcaa27bfff..6a7ebb4296 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805524.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805524.s @@ -51,8 +51,8 @@ glabel func_80805524 .L808055D0: /* 01890 808055D0 5420FFE0 */ bnel $at, $zero, .L80805554 /* 01894 808055D4 00067040 */ sll $t6, $a2, 1 -/* 01898 808055D8 3C0C8013 */ lui $t4, %hi(D_8012A4E0) -/* 0189C 808055DC 258CA4E0 */ addiu $t4, %lo(D_8012A4E0) +/* 01898 808055D8 3C0C8013 */ lui $t4, %hi(gSramSlotOffsets) +/* 0189C 808055DC 258CA4E0 */ addiu $t4, %lo(gSramSlotOffsets) /* 018A0 808055E0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 /* 018A4 808055E4 24120041 */ addiu $s2, $zero, 0x0041 ## $s2 = 00000041 /* 018A8 808055E8 24110044 */ addiu $s1, $zero, 0x0044 ## $s1 = 00000044 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805B2C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805B2C.s index 72baf0983a..f53b631484 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805B2C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805B2C.s @@ -57,9 +57,9 @@ glabel func_80805B2C .L80805BFC: /* 01EBC 80805BFC 11C00045 */ beq $t6, $zero, .L80805D14 /* 01EC0 80805C00 00037840 */ sll $t7, $v1, 1 -/* 01EC4 80805C04 3C188013 */ lui $t8, %hi(D_8012A4E0) +/* 01EC4 80805C04 3C188013 */ lui $t8, %hi(gSramSlotOffsets) /* 01EC8 80805C08 030FC021 */ addu $t8, $t8, $t7 -/* 01ECC 80805C0C 9718A4E0 */ lhu $t8, %lo(D_8012A4E0)($t8) +/* 01ECC 80805C0C 9718A4E0 */ lhu $t8, %lo(gSramSlotOffsets)($t8) /* 01ED0 80805C10 8E1901E0 */ lw $t9, 0x01E0($s0) ## 000001E0 /* 01ED4 80805C14 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 01ED8 80805C18 3C078013 */ lui $a3, %hi(D_801333E0) @@ -188,9 +188,9 @@ glabel func_80805B2C /* 0209C 80805DDC 1123002E */ beq $t1, $v1, .L80805E98 /* 020A0 80805DE0 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF /* 020A4 80805DE4 00036040 */ sll $t4, $v1, 1 -/* 020A8 80805DE8 3C0D8013 */ lui $t5, %hi(D_8012A4E0) +/* 020A8 80805DE8 3C0D8013 */ lui $t5, %hi(gSramSlotOffsets) /* 020AC 80805DEC 01AC6821 */ addu $t5, $t5, $t4 -/* 020B0 80805DF0 95ADA4E0 */ lhu $t5, %lo(D_8012A4E0)($t5) +/* 020B0 80805DF0 95ADA4E0 */ lhu $t5, %lo(gSramSlotOffsets)($t5) /* 020B4 80805DF4 8E0E01E0 */ lw $t6, 0x01E0($s0) ## 000001E0 /* 020B8 80805DF8 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A /* 020BC 80805DFC 01AE1021 */ addu $v0, $t5, $t6 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805EB8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805EB8.s index 18b6214be8..c88191d8cc 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805EB8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80805EB8.s @@ -5,8 +5,8 @@ glabel func_80805EB8 /* 02184 80805EC4 AFB10008 */ sw $s1, 0x0008($sp) /* 02188 80805EC8 AFB00004 */ sw $s0, 0x0004($sp) /* 0218C 80805ECC 34228000 */ ori $v0, $at, 0x8000 ## $v0 = 00018000 -/* 02190 80805ED0 3C0C8013 */ lui $t4, %hi(D_8012A4E0) -/* 02194 80805ED4 258CA4E0 */ addiu $t4, %lo(D_8012A4E0) +/* 02190 80805ED0 3C0C8013 */ lui $t4, %hi(gSramSlotOffsets) +/* 02194 80805ED4 258CA4E0 */ addiu $t4, %lo(gSramSlotOffsets) /* 02198 80805ED8 00821821 */ addu $v1, $a0, $v0 /* 0219C 80805EDC 2410004C */ addiu $s0, $zero, 0x004C ## $s0 = 0000004C /* 021A0 80805EE0 24110044 */ addiu $s1, $zero, 0x0044 ## $s1 = 00000044 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808064F4.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808064F4.s index 82655e50e0..b2d791e75c 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808064F4.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808064F4.s @@ -26,7 +26,7 @@ glabel func_808064F4 .L80806550: /* 02810 80806550 84584A50 */ lh $t8, 0x4A50($v0) ## 00004A50 /* 02814 80806554 240C0045 */ addiu $t4, $zero, 0x0045 ## $t4 = 00000045 -/* 02818 80806558 3C0B8013 */ lui $t3, %hi(D_8012A4E0) +/* 02818 80806558 3C0B8013 */ lui $t3, %hi(gSramSlotOffsets) /* 0281C 8080655C 00D8001A */ div $zero, $a2, $t8 /* 02820 80806560 17000002 */ bne $t8, $zero, .L8080656C /* 02824 80806564 00000000 */ nop @@ -52,7 +52,7 @@ glabel func_808064F4 /* 02868 808065A8 A4EE4A52 */ sh $t6, 0x4A52($a3) ## 00004A52 .L808065AC: /* 0286C 808065AC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 02870 808065B0 256BA4E0 */ addiu $t3, %lo(D_8012A4E0) +/* 02870 808065B0 256BA4E0 */ addiu $t3, %lo(gSramSlotOffsets) /* 02874 808065B4 240A005A */ addiu $t2, $zero, 0x005A ## $t2 = 0000005A /* 02878 808065B8 844F4A38 */ lh $t7, 0x4A38($v0) ## 00004A38 .L808065BC: diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80806710.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80806710.s index 02c2b387b9..59bd22d3b5 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80806710.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80806710.s @@ -61,7 +61,7 @@ glabel func_80806710 /* 02AB4 808067F4 55C0003B */ bnel $t6, $zero, .L808068E4 /* 02AB8 808067F8 8FBF001C */ lw $ra, 0x001C($sp) /* 02ABC 808067FC AFA20020 */ sw $v0, 0x0020($sp) -/* 02AC0 80806800 0C02A5B4 */ jal func_800A96D0 +/* 02AC0 80806800 0C02A5B4 */ jal Sram_EraseSave /* 02AC4 80806804 AFA40030 */ sw $a0, 0x0030($sp) /* 02AC8 80806808 8FA20020 */ lw $v0, 0x0020($sp) /* 02ACC 8080680C 8FA40030 */ lw $a0, 0x0030($sp) diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808069B4.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808069B4.s index 3fa7ec1c1a..18111f9d58 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808069B4.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808069B4.s @@ -48,8 +48,8 @@ glabel func_808069B4 .L80806A54: /* 02D14 80806A54 5420FFE0 */ bnel $at, $zero, .L808069D8 /* 02D18 80806A58 00067040 */ sll $t6, $a2, 1 -/* 02D1C 80806A5C 3C0B8013 */ lui $t3, %hi(D_8012A4E0) -/* 02D20 80806A60 256BA4E0 */ addiu $t3, %lo(D_8012A4E0) +/* 02D1C 80806A5C 3C0B8013 */ lui $t3, %hi(gSramSlotOffsets) +/* 02D20 80806A60 256BA4E0 */ addiu $t3, %lo(gSramSlotOffsets) /* 02D24 80806A64 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 /* 02D28 80806A68 248501E0 */ addiu $a1, $a0, 0x01E0 ## $a1 = 000001E0 /* 02D2C 80806A6C 24110041 */ addiu $s1, $zero, 0x0041 ## $s1 = 00000041 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80808000.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80808000.s index 2585707786..ab86dc796b 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80808000.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80808000.s @@ -896,7 +896,7 @@ glabel func_80808000 /* 05000 80808D40 260501E0 */ addiu $a1, $s0, 0x01E0 ## $a1 = 000001E0 /* 05004 80808D44 AC2EF9B4 */ sw $t6, %lo(gSaveContext+0x1354)($at) /* 05008 80808D48 9718E66C */ lhu $t8, %lo(gSaveContext+0xc)($t8) -/* 0500C 80808D4C 0C02A496 */ jal func_800A9258 +/* 0500C 80808D4C 0C02A496 */ jal Sram_InitSave /* 05010 80808D50 A7B800DE */ sh $t8, 0x00DE($sp) /* 05014 80808D54 97AD00DE */ lhu $t5, 0x00DE($sp) /* 05018 80808D58 3C018016 */ lui $at, %hi(gSaveContext+0xc) diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080969C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080969C.s index 5e7207ce1e..5d1b0bcfec 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080969C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080969C.s @@ -41,7 +41,7 @@ glabel func_8080969C /* 059F4 80809734 0C00084C */ jal osSyncPrintf /* 059F8 80809738 AFA20028 */ sw $v0, 0x0028($sp) -/* 059FC 8080973C 0C02A6A7 */ jal func_800A9A9C +/* 059FC 8080973C 0C02A6A7 */ jal Sram_Write16Bytes /* 05A00 80809740 8FA40028 */ lw $a0, 0x0028($sp) /* 05A04 80809744 3C048081 */ lui $a0, %hi(D_80812BC0) ## $a0 = 80810000 /* 05A08 80809748 0C00084C */ jal osSyncPrintf diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B1A8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B1A8.s index 5b11ef9244..71606ae964 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B1A8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B1A8.s @@ -22,7 +22,7 @@ glabel func_8080B1A8 /* 074B8 8080B1F8 AFA60018 */ sw $a2, 0x0018($sp) /* 074BC 8080B1FC 8FA40018 */ lw $a0, 0x0018($sp) -/* 074C0 8080B200 0C02A288 */ jal func_800A8A20 +/* 074C0 8080B200 0C02A288 */ jal Sram_VerifyAndLoadAllSaves /* 074C4 8080B204 248501E0 */ addiu $a1, $a0, 0x01E0 ## $a1 = 000001E0 /* 074C8 8080B208 3C048081 */ lui $a0, %hi(D_80812D1C) ## $a0 = 80810000 /* 074CC 8080B20C 0C00084C */ jal osSyncPrintf diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B22C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B22C.s index 722a4e2bf9..24b4bc2fc3 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B22C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B22C.s @@ -18,9 +18,9 @@ glabel func_8080B22C /* 0752C 8080B26C A4794A6E */ sh $t9, 0x4A6E($v1) ## 00004A6E /* 07530 8080B270 8D4E0000 */ lw $t6, 0x0000($t2) ## 8015FA90 /* 07534 8080B274 00240821 */ addu $at, $at, $a0 -/* 07538 8080B278 3C0C8013 */ lui $t4, %hi(D_8012A4E0) +/* 07538 8080B278 3C0C8013 */ lui $t4, %hi(gSramSlotOffsets) /* 0753C 8080B27C 85D80F18 */ lh $t8, 0x0F18($t6) ## 00000F18 -/* 07540 8080B280 258CA4E0 */ addiu $t4, %lo(D_8012A4E0) +/* 07540 8080B280 258CA4E0 */ addiu $t4, %lo(gSramSlotOffsets) /* 07544 8080B284 2410004C */ addiu $s0, $zero, 0x004C ## $s0 = 0000004C /* 07548 8080B288 01F8C821 */ addu $t9, $t7, $t8 /* 0754C 8080B28C A439CA72 */ sh $t9, -0x358E($at) ## 0001CA72 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B52C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B52C.s index 8e36f8dc42..0bffa1ac03 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B52C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080B52C.s @@ -19,8 +19,8 @@ glabel func_8080B52C /* 0782C 8080B56C 34218000 */ ori $at, $at, 0x8000 ## $at = 00018000 /* 07830 8080B570 02011821 */ addu $v1, $s0, $at /* 07834 8080B574 84654A38 */ lh $a1, 0x4A38($v1) ## 00004A38 -/* 07838 8080B578 3C098013 */ lui $t1, %hi(D_8012A4E0) -/* 0783C 8080B57C 2529A4E0 */ addiu $t1, %lo(D_8012A4E0) +/* 07838 8080B578 3C098013 */ lui $t1, %hi(gSramSlotOffsets) +/* 0783C 8080B57C 2529A4E0 */ addiu $t1, %lo(gSramSlotOffsets) /* 07840 8080B580 28A10003 */ slti $at, $a1, 0x0003 /* 07844 8080B584 102000A5 */ beq $at, $zero, .L8080B81C /* 07848 8080B588 260801E0 */ addiu $t0, $s0, 0x01E0 ## $t0 = 000001E0 @@ -47,9 +47,9 @@ glabel func_8080B52C /* 07898 8080B5D8 AFAF001C */ sw $t7, 0x001C($sp) /* 0789C 8080B5DC 8FA30030 */ lw $v1, 0x0030($sp) /* 078A0 8080B5E0 8FA80034 */ lw $t0, 0x0034($sp) -/* 078A4 8080B5E4 3C098013 */ lui $t1, %hi(D_8012A4E0) +/* 078A4 8080B5E4 3C098013 */ lui $t1, %hi(gSramSlotOffsets) /* 078A8 8080B5E8 84644A38 */ lh $a0, 0x4A38($v1) ## 00004A38 -/* 078AC 8080B5EC 2529A4E0 */ addiu $t1, %lo(D_8012A4E0) +/* 078AC 8080B5EC 2529A4E0 */ addiu $t1, %lo(gSramSlotOffsets) /* 078B0 8080B5F0 8D0D0000 */ lw $t5, 0x0000($t0) ## 00000000 /* 078B4 8080B5F4 00042040 */ sll $a0, $a0, 1 /* 078B8 8080B5F8 0124C021 */ addu $t8, $t1, $a0 @@ -343,10 +343,10 @@ glabel func_8080B52C .L8080BA30: /* 07CF0 8080BA30 84664A38 */ lh $a2, 0x4A38($v1) ## 00004A38 /* 07CF4 8080BA34 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003 -/* 07CF8 8080BA38 3C098013 */ lui $t1, %hi(D_8012A4E0) +/* 07CF8 8080BA38 3C098013 */ lui $t1, %hi(gSramSlotOffsets) /* 07CFC 8080BA3C 1446009B */ bne $v0, $a2, .L8080BCAC /* 07D00 8080BA40 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 07D04 8080BA44 2529A4E0 */ addiu $t1, %lo(D_8012A4E0) +/* 07D04 8080BA44 2529A4E0 */ addiu $t1, %lo(gSramSlotOffsets) /* 07D08 8080BA48 952E0000 */ lhu $t6, 0x0000($t1) ## 8012A4E0 /* 07D0C 8080BA4C 8E0401E0 */ lw $a0, 0x01E0($s0) ## 000001E0 /* 07D10 8080BA50 2405005A */ addiu $a1, $zero, 0x005A ## $a1 = 0000005A @@ -510,8 +510,8 @@ glabel func_8080B52C .L8080BCAC: /* 07F6C 8080BCAC 14C10056 */ bne $a2, $at, .L8080BE08 /* 07F70 8080BCB0 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF -/* 07F74 8080BCB4 3C098013 */ lui $t1, %hi(D_8012A4E0) -/* 07F78 8080BCB8 2529A4E0 */ addiu $t1, %lo(D_8012A4E0) +/* 07F74 8080BCB4 3C098013 */ lui $t1, %hi(gSramSlotOffsets) +/* 07F78 8080BCB8 2529A4E0 */ addiu $t1, %lo(gSramSlotOffsets) /* 07F7C 8080BCBC 95390000 */ lhu $t9, 0x0000($t1) ## 8012A4E0 /* 07F80 8080BCC0 8E0401E0 */ lw $a0, 0x01E0($s0) ## 000001E0 /* 07F84 8080BCC4 2405005A */ addiu $a1, $zero, 0x005A ## $a1 = 0000005A diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080BFE4.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080BFE4.s index 52fdd899be..eb4c00d7ca 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080BFE4.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080BFE4.s @@ -19,7 +19,7 @@ glabel func_8080BFE4 /* 082E8 8080C028 A1200002 */ sb $zero, %lo(D_80000002)($t1) /* 082EC 8080C02C 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 /* 082F0 8080C030 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003 -/* 082F4 8080C034 0C02A7A8 */ jal Sram_ReadWrite +/* 082F4 8080C034 0C02A7A8 */ jal SsSram_ReadWrite /* 082F8 8080C038 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 /* 082FC 8080C03C 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 08300 8080C040 3C048081 */ lui $a0, %hi(D_80812D4C) ## $a0 = 80810000 @@ -34,7 +34,7 @@ glabel func_8080BFE4 /* 08320 8080C060 3C040800 */ lui $a0, 0x0800 ## $a0 = 08000000 /* 08324 8080C064 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 /* 08328 8080C068 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 0832C 8080C06C 0C02A7A8 */ jal Sram_ReadWrite +/* 0832C 8080C06C 0C02A7A8 */ jal SsSram_ReadWrite /* 08330 8080C070 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 08334 8080C074 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 08338 8080C078 3C048081 */ lui $a0, %hi(D_80812D6C) ## $a0 = 80810000 @@ -66,7 +66,7 @@ glabel func_8080BFE4 /* 08398 8080C0D8 A1CD0002 */ sb $t5, 0x0002($t6) ## 00000002 /* 0839C 8080C0DC A1ED0002 */ sb $t5, 0x0002($t7) ## 80000002 /* 083A0 8080C0E0 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 -/* 083A4 8080C0E4 0C02A7A8 */ jal Sram_ReadWrite +/* 083A4 8080C0E4 0C02A7A8 */ jal SsSram_ReadWrite /* 083A8 8080C0E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 /* 083AC 8080C0EC 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 083B0 8080C0F0 3C048081 */ lui $a0, %hi(D_80812D88) ## $a0 = 80810000 @@ -81,7 +81,7 @@ glabel func_8080BFE4 /* 083D0 8080C110 3C040800 */ lui $a0, 0x0800 ## $a0 = 08000000 /* 083D4 8080C114 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 /* 083D8 8080C118 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 083DC 8080C11C 0C02A7A8 */ jal Sram_ReadWrite +/* 083DC 8080C11C 0C02A7A8 */ jal SsSram_ReadWrite /* 083E0 8080C120 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 083E4 8080C124 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 083E8 8080C128 3C048081 */ lui $a0, %hi(D_80812DA8) ## $a0 = 80810000 @@ -110,7 +110,7 @@ glabel func_8080BFE4 /* 0843C 8080C17C A18A0002 */ sb $t2, %lo(D_80000002)($t4) /* 08440 8080C180 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 /* 08444 8080C184 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003 -/* 08448 8080C188 0C02A7A8 */ jal Sram_ReadWrite +/* 08448 8080C188 0C02A7A8 */ jal SsSram_ReadWrite /* 0844C 8080C18C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 /* 08450 8080C190 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 08454 8080C194 3C048081 */ lui $a0, %hi(D_80812DC4) ## $a0 = 80810000 @@ -125,7 +125,7 @@ glabel func_8080BFE4 /* 08474 8080C1B4 3C040800 */ lui $a0, 0x0800 ## $a0 = 08000000 /* 08478 8080C1B8 8E050000 */ lw $a1, 0x0000($s0) ## 000001E0 /* 0847C 8080C1BC 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 08480 8080C1C0 0C02A7A8 */ jal Sram_ReadWrite +/* 08480 8080C1C0 0C02A7A8 */ jal SsSram_ReadWrite /* 08484 8080C1C4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 08488 8080C1C8 8E020000 */ lw $v0, 0x0000($s0) ## 000001E0 /* 0848C 8080C1CC 3C048081 */ lui $a0, %hi(D_80812DE4) ## $a0 = 80810000 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080C60C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080C60C.s index 2758ce4990..64c47e0bbb 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080C60C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080C60C.s @@ -591,9 +591,9 @@ glabel func_8080C60C .L8080CF1C: /* 091DC 8080CF1C 8FB80034 */ lw $t8, 0x0034($sp) /* 091E0 8080CF20 000D1840 */ sll $v1, $t5, 1 -/* 091E4 8080CF24 3C0F8013 */ lui $t7, %hi(D_8012A4E0) +/* 091E4 8080CF24 3C0F8013 */ lui $t7, %hi(gSramSlotOffsets) /* 091E8 8080CF28 01E37821 */ addu $t7, $t7, $v1 -/* 091EC 8080CF2C 95EFA4E0 */ lhu $t7, %lo(D_8012A4E0)($t7) +/* 091EC 8080CF2C 95EFA4E0 */ lhu $t7, %lo(gSramSlotOffsets)($t7) /* 091F0 8080CF30 8F190000 */ lw $t9, 0x0000($t8) ## 00000000 /* 091F4 8080CF34 2401005A */ addiu $at, $zero, 0x005A ## $at = 0000005A /* 091F8 8080CF38 01F91021 */ addu $v0, $t7, $t9 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080FE2C.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080FE2C.s index 5377a0d497..04098c854a 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080FE2C.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080FE2C.s @@ -4,8 +4,8 @@ glabel func_8080FE2C /* 0C0F4 8080FE34 AFB1000C */ sw $s1, 0x000C($sp) /* 0C0F8 8080FE38 AFB00008 */ sw $s0, 0x0008($sp) /* 0C0FC 8080FE3C 34298000 */ ori $t1, $at, 0x8000 ## $t1 = 00018000 -/* 0C100 8080FE40 3C0B8013 */ lui $t3, %hi(D_8012A4E0) -/* 0C104 8080FE44 256BA4E0 */ addiu $t3, %lo(D_8012A4E0) +/* 0C100 8080FE40 3C0B8013 */ lui $t3, %hi(gSramSlotOffsets) +/* 0C104 8080FE44 256BA4E0 */ addiu $t3, %lo(gSramSlotOffsets) /* 0C108 8080FE48 00893021 */ addu $a2, $a0, $t1 /* 0C10C 8080FE4C 24100044 */ addiu $s0, $zero, 0x0044 ## $s0 = 00000044 /* 0C110 8080FE50 24110041 */ addiu $s1, $zero, 0x0041 ## $s1 = 00000041 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80810440.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80810440.s index 3d9c410d8f..665b5c22d5 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80810440.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80810440.s @@ -9,7 +9,7 @@ glabel func_80810440 /* 0C71C 8081045C AFB00004 */ sw $s0, 0x0004($sp) /* 0C720 80810460 008B1021 */ addu $v0, $a0, $t3 /* 0C724 80810464 844E4A38 */ lh $t6, 0x4A38($v0) ## 00004A38 -/* 0C728 80810468 3C108013 */ lui $s0, %hi(D_8012A4E0) +/* 0C728 80810468 3C108013 */ lui $s0, %hi(gSramSlotOffsets) /* 0C72C 8081046C 24110045 */ addiu $s1, $zero, 0x0045 ## $s1 = 00000045 /* 0C730 80810470 000E7840 */ sll $t7, $t6, 1 /* 0C734 80810474 008FC021 */ addu $t8, $a0, $t7 @@ -25,7 +25,7 @@ glabel func_80810440 /* 0C758 80810498 00053023 */ subu $a2, $zero, $a1 .L8081049C: /* 0C75C 8081049C 84594A50 */ lh $t9, 0x4A50($v0) ## 00004A50 -/* 0C760 808104A0 2610A4E0 */ addiu $s0, %lo(D_8012A4E0) +/* 0C760 808104A0 2610A4E0 */ addiu $s0, %lo(gSramSlotOffsets) /* 0C764 808104A4 240D005A */ addiu $t5, $zero, 0x005A ## $t5 = 0000005A /* 0C768 808104A8 00D9001A */ div $zero, $a2, $t9 /* 0C76C 808104AC 00003812 */ mflo $a3 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808106F4.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808106F4.s index d9976e2ddb..555edea9c5 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808106F4.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808106F4.s @@ -25,7 +25,7 @@ glabel func_808106F4 /* 0CA0C 8081074C 3C018016 */ lui $at, %hi(gSaveContext+0x1354) /* 0CA10 80810750 260401E0 */ addiu $a0, $s0, 0x01E0 ## $a0 = 000001E0 /* 0CA14 80810754 84584A38 */ lh $t8, 0x4A38($v0) ## 00004A38 -/* 0CA18 80810758 0C02A121 */ jal func_800A8484 +/* 0CA18 80810758 0C02A121 */ jal Sram_OpenSave /* 0CA1C 8081075C AC38F9B4 */ sw $t8, %lo(gSaveContext+0x1354)($at) /* 0CA20 80810760 3C028016 */ lui $v0, %hi(gSaveContext) /* 0CA24 80810764 2442E660 */ addiu $v0, %lo(gSaveContext) @@ -55,7 +55,7 @@ glabel func_808106F4 /* 0CA7C 808107BC 3C018016 */ lui $at, %hi(gSaveContext+0x1354) /* 0CA80 808107C0 260401E0 */ addiu $a0, $s0, 0x01E0 ## $a0 = 000001E0 /* 0CA84 808107C4 844A4A38 */ lh $t2, 0x4A38($v0) ## 00004A38 -/* 0CA88 808107C8 0C02A121 */ jal func_800A8484 +/* 0CA88 808107C8 0C02A121 */ jal Sram_OpenSave /* 0CA8C 808107CC AC2AF9B4 */ sw $t2, %lo(gSaveContext+0x1354)($at) /* 0CA90 808107D0 3C028016 */ lui $v0, %hi(gSaveContext) /* 0CA94 808107D4 2442E660 */ addiu $v0, %lo(gSaveContext) diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s index 1a8cc5b763..74d1da57dd 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s @@ -6,7 +6,7 @@ glabel func_808113A8 /* 0D678 808113B8 AFBF0024 */ sw $ra, 0x0024($sp) /* 0D67C 808113BC 261201E0 */ addiu $s2, $s0, 0x01E0 ## $s2 = 000001E0 /* 0D680 808113C0 AFB1001C */ sw $s1, 0x001C($sp) -/* 0D684 808113C4 0C02A735 */ jal func_800A9CD4 +/* 0D684 808113C4 0C02A735 */ jal Sram_Alloc /* 0D688 808113C8 02402825 */ or $a1, $s2, $zero ## $a1 = 000001E0 /* 0D68C 808113CC 3C028016 */ lui $v0, %hi(gGameInfo) /* 0D690 808113D0 2442FA90 */ addiu $v0, %lo(gGameInfo) @@ -392,7 +392,7 @@ glabel func_808113A8 /* 0DC80 808119C0 8E450000 */ lw $a1, 0x0000($s2) ## 000001E0 /* 0DC84 808119C4 3C040800 */ lui $a0, 0x0800 ## $a0 = 08000000 /* 0DC88 808119C8 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 0DC8C 808119CC 0C02A7A8 */ jal Sram_ReadWrite +/* 0DC8C 808119CC 0C02A7A8 */ jal SsSram_ReadWrite /* 0DC90 808119D0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0DC94 808119D4 8E4F0000 */ lw $t7, 0x0000($s2) ## 000001E0 /* 0DC98 808119D8 3C018016 */ lui $at, %hi(gSaveContext+0x1409) diff --git a/data/code_800EC960.data.s b/data/code_800EC960.data.s index 243e2b9fbe..8b594008db 100644 --- a/data/code_800EC960.data.s +++ b/data/code_800EC960.data.s @@ -294,10 +294,10 @@ glabel D_80131884 glabel D_8013188C .incbin "baserom.z64", 0xBA8A2C, 0x358 -glabel D_80131BE4 +glabel gScarecrowCustomSongPtr .word D_80131884 -glabel D_80131BE8 +glabel gScarecrowSpawnSongPtr .word D_80131700 glabel D_80131BEC diff --git a/data/z_sram.data.s b/data/z_sram.data.s deleted file mode 100644 index 3b45c99342..0000000000 --- a/data/z_sram.data.s +++ /dev/null @@ -1,46 +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_8012A4E0 - .incbin "baserom.z64", 0xBA1680, 0x6 - -glabel D_8012A4E6 - .incbin "baserom.z64", 0xBA1686, 0x6 - -glabel D_8012A4EC - .incbin "baserom.z64", 0xBA168C, 0xC - -glabel D_8012A4F8 - .incbin "baserom.z64", 0xBA1698, 0x4C - -glabel D_8012A544 - .incbin "baserom.z64", 0xBA16E4, 0xC - -glabel D_8012A550 - .incbin "baserom.z64", 0xBA16F0, 0x60 - -glabel D_8012A5B0 - .incbin "baserom.z64", 0xBA1750, 0x4 - -glabel D_8012A5B4 - .incbin "baserom.z64", 0xBA1754, 0x4C - -glabel D_8012A600 - .incbin "baserom.z64", 0xBA17A0, 0xC - -glabel D_8012A60C - .incbin "baserom.z64", 0xBA17AC, 0x60 - -glabel D_8012A66C - .incbin "baserom.z64", 0xBA180C, 0x4 - -glabel D_8012A670 - .incbin "baserom.z64", 0xBA1810, 0x20 diff --git a/include/functions.h b/include/functions.h index 92792bc78e..212e03cf49 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1397,14 +1397,21 @@ void SkinMatrix_SetScaleRotateYRPTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 f32 dx, f32 dy, f32 dz); Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src); void func_800A7EC0(MtxF* mf, s16 a, f32 x, f32 y, f32 z); -// ? func_800A81A0(?); -// ? func_800A82C8(?); -// ? func_800A9A9C(?); -// ? func_800A9D28(?); -void func_800A9D40(u32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration, - u8 handlePulse, u32 handleSpeed); -void func_800A9E14(UNK_PTR dramAddr, size_t size, UNK_TYPE arg2); -void Sram_ReadWrite(UNK_TYPE arg0, UNK_PTR dramAddr, size_t size, UNK_TYPE arg3); +void Sram_InitNewSave(void); +void Sram_InitDebugSave(void); +void Sram_OpenSave(SramContext* sramCtx); +void Sram_WriteSave(s32 unused); +void Sram_VerifyAndLoadAllSaves(FileChooseContext* fileChoose, SramContext* sramCtx); +void Sram_InitSave(FileChooseContext* fileChoose, SramContext* sramCtx); +void Sram_EraseSave(FileChooseContext* fileChoose, SramContext* sramCtx); +void Sram_CopySave(FileChooseContext* fileChoose, SramContext* sramCtx); +void Sram_Write16Bytes(SramContext* sramCtx); +void Sram_InitSram(GameState* gameState, SramContext* sramCtx); +void Sram_Alloc(GameState* gameState, SramContext* sramCtx); +void Sram_Init(GlobalContext* globalCtx, SramContext* sramCtx); +void SsSram_Init(u32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration, u8 handlePulse, u32 handleSpeed); +void SsSram_Dma(void* dramAddr, size_t size, s32 direction); +void SsSram_ReadWrite(u32 addr, void* dramAddr, size_t size, s32 direction); void func_800A9F30(PadMgr*, s32); void func_800A9F6C(f32, u8, u8, u8); void func_800AA000(f32, u8, u8, u8); @@ -2284,7 +2291,7 @@ void func_800F6584(UNK_TYPE); void func_800F6584(UNK_TYPE); // ? func_800F66C0(?); void func_800F66DC(s8); -// ? func_800F6700(?); +void func_800F6700(s8 outputMode); void func_800F67A0(u8); // ? func_800F6828(?); void func_800F68BC(s8); diff --git a/include/macros.h b/include/macros.h index 8ebfb26fbc..d61729e57b 100644 --- a/include/macros.h +++ b/include/macros.h @@ -30,19 +30,19 @@ #define LINK_AGE_IN_YEARS (LINK_IS_CHILD ? YEARS_CHILD : YEARS_ADULT) #define SLOT(item) gItemSlots[item] -#define INV_CONTENT(item) gSaveContext.items[SLOT(item)] -#define AMMO(item) gSaveContext.ammo[SLOT(item)] +#define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)] +#define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)] #define BEANS_BOUGHT AMMO(ITEM_BEAN + 1) -#define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) +#define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.inventory.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) #define CUR_EQUIP_VALUE(equip) ((s32)(gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) -#define CHECK_OWNED_EQUIP(equip, value) ((gBitFlags[value] << gEquipShifts[equip]) & gSaveContext.equipment) +#define CHECK_OWNED_EQUIP(equip, value) ((gBitFlags[value] << gEquipShifts[equip]) & gSaveContext.inventory.equipment) -#define CUR_UPG_VALUE(upg) ((s32)(gSaveContext.upgrades & gUpgradeMasks[upg]) >> gUpgradeShifts[upg]) +#define CUR_UPG_VALUE(upg) ((s32)(gSaveContext.inventory.upgrades & gUpgradeMasks[upg]) >> gUpgradeShifts[upg]) #define CAPACITY(upg, value) gUpgradeCapacities[upg][value] #define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg)) -#define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.questItems) +#define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.inventory.questItems) #define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \ ? ITEM_NONE \ diff --git a/include/variables.h b/include/variables.h index 135d5c2e7a..7c13c64746 100644 --- a/include/variables.h +++ b/include/variables.h @@ -439,16 +439,7 @@ extern RomFile gObjectTable[402]; extern EntranceInfo gEntranceTable[1556]; extern Scene gSceneTable[110]; //extern ? D_8012A4A0; -//extern ? D_8012A4E0; -//extern ? D_8012A4EC; -//extern ? D_8012A4F8; -//extern ? D_8012A544; -//extern ? D_8012A550; -//extern ? D_8012A5B0; -//extern ? D_8012A5B4; -//extern ? D_8012A600; -//extern ? D_8012A60C; -//extern ? D_8012A66C; +extern u16 gSramSlotOffsets[2][3]; //extern ? D_8012A690; //extern ? D_8012A69C; //extern ? D_8012A6A4; @@ -704,8 +695,8 @@ extern s32 D_80130514; //extern ? D_80131880; //extern ? D_80131884; //extern ? D_8013188C; -//extern ? D_80131BE4; -//extern ? D_80131BE8; +extern u8* gScarecrowCustomSongPtr; +extern u8* gScarecrowSpawnSongPtr; //extern ? D_80131BEC; //extern ? D_80131BF0; //extern ? D_80131C00; diff --git a/include/z64.h b/include/z64.h index bd7cb633a7..303fe24a98 100644 --- a/include/z64.h +++ b/include/z64.h @@ -3,6 +3,7 @@ #include "ultra64.h" #include "ultra64/gs2dex.h" +#include "z64save.h" #include "z64light.h" #include "z64actor.h" #include "z64player.h" @@ -55,178 +56,6 @@ typedef struct { /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 entries } GameInfo; // size = 0x15D4 -typedef struct { - /* 0x00 */ u8 buttonItems[4]; - /* 0x04 */ u8 cButtonSlots[3]; - /* 0x08 */ u16 equipment; -} ItemEquips; // size = 0x0A - -typedef struct { - /* 0x00 */ u32 chest; - /* 0x04 */ u32 swch; - /* 0x08 */ u32 clear; - /* 0x0C */ u32 collect; - /* 0x10 */ u32 unk; - /* 0x14 */ u32 rooms; - /* 0x18 */ u32 floors; -} SaveSceneFlags; // size = 0x1C - -typedef struct { - /* 0x00 */ s16 scene; - /* 0x02 */ Vec3s pos; - /* 0x08 */ s16 angle; -} HorseData; // size = 0x0A - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ s16 yaw; - /* 0x0E */ s16 playerParams; - /* 0x10 */ s16 entranceIndex; - /* 0x12 */ u8 roomIndex; - /* 0x13 */ s8 data; - /* 0x14 */ u32 tempSwchFlags; - /* 0x18 */ u32 tempCollectFlags; -} RespawnData; // size = 0x1C - -typedef enum { - /* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */ - /* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */ - /* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */ -} RespawnMode; - -typedef enum { - /* 0x00 */ BTN_ENABLED, - /* 0xFF */ BTN_DISABLED = 0xFF -} ButtonStatus; - -// Save Context (dbg ram start: 8015E660) -typedef struct { - /* 0x0000 */ s32 entranceIndex; - /* 0x0004 */ s32 linkAge; // 0: Adult; 1: Child - /* 0x0008 */ s32 cutsceneIndex; - /* 0x000C */ u16 dayTime; // "zelda_time" - /* 0x0010 */ s32 nightFlag; - /* 0x0014 */ s32 unk_14; - /* 0x0018 */ s32 unk_18; - /* 0x001C */ char newf[6]; // string "ZELDAZ" - /* 0x0022 */ s16 deaths; - /* 0x0024 */ char playerName[8]; - /* 0x002C */ s16 n64ddFlag; - /* 0x002E */ s16 healthCapacity; // "max_life" - /* 0x0030 */ s16 health; // "now_life" - /* 0x0032 */ s8 magicLevel; - /* 0x0033 */ s8 magic; - /* 0x0034 */ s16 rupees; - /* 0x0036 */ u16 swordHealth; - /* 0x0038 */ u16 naviTimer; - /* 0x003A */ u8 magicAcquired; - /* 0x003B */ char unk_3B[0x0001]; - /* 0x003C */ u8 doubleMagic; - /* 0x003D */ u8 doubleDefense; - /* 0x003E */ u8 bgsFlag; - /* 0x0040 */ ItemEquips childEquips; - /* 0x004A */ ItemEquips adultEquips; - /* 0x0054 */ char unk_54[0x0014]; - /* 0x0068 */ ItemEquips equips; - /* 0x0072 */ char unk_72[0x0002]; - /* 0x0074 */ u8 items[24]; - /* 0x008C */ s8 ammo[16]; - /* 0x009C */ u16 equipment; - /* 0x00A0 */ u32 upgrades; - /* 0x00A4 */ u32 questItems; - /* 0x00A8 */ u8 dungeonItems[20]; - /* 0x00BC */ s8 dungeonKeys[19]; - /* 0x00CF */ s8 defenseHearts; - /* 0x00D0 */ s16 gsTokens; - /* 0x00D4 */ SaveSceneFlags sceneFlags[124]; - struct { - /* 0x0E64 */ Vec3i pos; - /* 0x0E70 */ s32 yaw; - /* 0x0E74 */ s32 playerParams; - /* 0x0E78 */ s32 entranceIndex; - /* 0x0E7C */ s32 roomIndex; - /* 0x0E80 */ s32 set; - /* 0x0E84 */ s32 tempSwchFlags; - /* 0x0E88 */ s32 tempCollectFlags; - } fw; - /* 0x0E8C */ char unk_E8C[0x0010]; - /* 0x0E9C */ s32 gsFlags[6]; - /* 0x0EB4 */ char unk_EB4[0x0010]; - /* 0x0EC4 */ s32 unk_EC4; - /* 0x0EC8 */ char unk_EC8[0x000C]; - /* 0x0ED4 */ u16 eventChkInf[14]; // "event_chk_inf" - /* 0x0EF0 */ u16 itemGetInf[4]; // "item_get_inf" - /* 0x0EF8 */ u16 infTable[30]; // "inf_table" - /* 0x0F34 */ char unk_F34[0x0004]; - /* 0x0F38 */ u32 worldMapAreaData; // "area_arrival" - /* 0x0F3C */ char unk_F3C[0x0389]; - /* 0x12C5 */ u8 unk_12C5; - /* 0x12C6 */ char unk_12C6[0x0082]; - /* 0x1348 */ HorseData horseData; - /* 0x1352 */ u16 checksum; // "check_sum" - /* 0x1354 */ s32 fileNum; // "file_no" - /* 0x1358 */ char unk_1358[0x0004]; - /* 0x135C */ s32 gameMode; - /* 0x1360 */ s32 sceneSetupIndex; - /* 0x1364 */ s32 respawnFlag; // "restart_flag" - /* 0x1368 */ RespawnData respawn[3]; // "restart_data" - /* 0x13BC */ f32 unk_13BC; - /* 0x13C0 */ u16 unk_13C0; - /* 0x13C2 */ char unk_13C2[0x0001]; - /* 0x13C3 */ u8 unk_13C3; - /* 0x13C4 */ s16 dogParams; - /* 0x13C6 */ u8 textTriggerFlags; - /* 0x13C7 */ u8 unk_13C7; - /* 0x13C8 */ s16 nayrusLoveTimer; - /* 0x13CA */ char unk_13CA[0x0002]; - /* 0x13CC */ s16 rupeeAccumulator; - /* 0x13CE */ s16 timer1State; - /* 0x13D0 */ s16 timer1Value; - /* 0x13D2 */ s16 timer2State; - /* 0x13D4 */ s16 timer2Value; - /* 0x13D6 */ s16 timerX[2]; - /* 0x13DA */ s16 timerY[2]; - /* 0x13DE */ char unk_13DE[0x0002]; - /* 0x13E0 */ u8 seqIndex; - /* 0x13E1 */ u8 nightSeqIndex; - /* 0x13E2 */ u8 buttonStatus[5]; - /* 0x13E7 */ u8 unk_13E7; - /* 0x13E8 */ u16 unk_13E8; // alpha type? - /* 0x13EA */ u16 unk_13EA; // also alpha type? - /* 0x13EC */ u16 unk_13EC; // alpha type counter? - /* 0x13EE */ u16 unk_13EE; // previous alpha type? - /* 0x13F0 */ s16 unk_13F0; - /* 0x13F2 */ s16 unk_13F2; - /* 0x13F4 */ s16 unk_13F4; - /* 0x13F6 */ s16 unk_13F6; - /* 0x13F8 */ s16 unk_13F8; - /* 0x13FA */ u16 eventInf[4]; // "event_inf" - /* 0x1402 */ u16 mapIndex; // intended for maps/minimaps but commonly used as the dungeon index - /* 0x1404 */ u16 minigameState; - /* 0x1406 */ u16 minigameScore; // "yabusame_total" - /* 0x1408 */ char unk_1408[0x0001]; - /* 0x1409 */ u8 language; - /* 0x140A */ u8 audioSetting; - /* 0x140B */ char unk_140B[0x0001]; - /* 0x140C */ u8 zTargetingSetting; // 0: Switch; 1: Hold - /* 0x140E */ u16 unk_140E; // bgm related - /* 0x1410 */ u8 unk_1410; - /* 0x1411 */ u8 unk_1411; - /* 0x1412 */ u16 nextCutsceneIndex; - /* 0x1414 */ u8 cutsceneTrigger; - /* 0x1415 */ u8 chamberCutsceneNum; - /* 0x1416 */ u16 nextDayTime; // "next_zelda_time" - /* 0x1418 */ u8 fadeDuration; - /* 0x1419 */ u8 unk_1419; // transition related - /* 0x141A */ u16 environmentTime; - /* 0x141C */ u8 dogIsLost; - /* 0x141D */ u8 nextTransition; - /* 0x141E */ char unk_141E[0x0002]; - /* 0x1420 */ s16 worldMapArea; - /* 0x1422 */ s16 unk_1422; // day time related - /* 0x1424 */ s16 healthAccumulator; -} SaveContext; // size = 0x1428 - typedef struct { /* 0x00000 */ u16 headMagic; // 1234 /* 0x00008 */ Gfx polyOpaBuffer[0x17E0]; @@ -266,12 +95,12 @@ typedef struct { typedef struct OSScTask { /* 0x00 */ struct OSScTask* next; - /* 0x04 */ u32 state; - /* 0x08 */ u32 flags; - /* 0x0C */ CfbInfo* framebuffer; - /* 0x10 */ OSTask list; - /* 0x50 */ OSMesgQueue* msgQ; - /* 0x54 */ OSMesg msg; + /* 0x04 */ u32 state; + /* 0x08 */ u32 flags; + /* 0x0C */ CfbInfo* framebuffer; + /* 0x10 */ OSTask list; + /* 0x50 */ OSMesgQueue* msgQ; + /* 0x54 */ OSMesg msg; } OSScTask; typedef struct GraphicsContext { @@ -656,10 +485,6 @@ typedef struct { /* 0x10 */ Vec3f relativePos; } SoundSource; // size = 0x1C -typedef struct { - /* 0x00 */ char unk_0[0x4]; -} SubGlobalContext1F74; // size = 0x4 - typedef struct { /* 0x000 */ char unk_00[0x128]; /* 0x128 */ void* staticSegments[3]; @@ -1030,8 +855,7 @@ typedef struct { /* 0x1C4 */ Collider* colOc[COLLISION_CHECK_OC_MAX]; /* 0x28C */ s32 colOcLineCount; /* 0x290 */ OcLine* colOcLine[COLLISION_CHECK_OC_LINE_MAX]; - -} CollisionCheckContext; // size = 0x29C SubGlobalContext11E60 +} CollisionCheckContext; // size = 0x29C typedef struct ListAlloc { /* 0x00 */ struct ListAlloc* prev; @@ -1104,8 +928,10 @@ typedef struct { } EntranceEntry; typedef struct { - /* 0x00 */ void* read_buff; -} Sram; // size = 0x4 + /* 0x00 */ u8* readBuff; +} SramContext; // size = 0x4 + +#define SRAM_SIZE 0x8000 typedef struct GameAllocEntry { /* 0x00 */ struct GameAllocEntry* next; @@ -1141,7 +967,7 @@ typedef struct { /* 0x0000 */ GameState state; /* 0x00A4 */ void* staticSegment; /* 0x00A8 */ View view; - /* 0x01D0 */ Sram sram; + /* 0x01D0 */ SramContext sramCtx; /* 0x01D4 */ u16 unk_1D4; // not used in mq dbg (some sort of timer that doesn't seem to affect anything) /* 0x01D6 */ s16 coverAlpha; /* 0x01D8 */ s16 addAlpha; // not used in mq dbg @@ -1221,7 +1047,7 @@ typedef struct GlobalContext { /* 0x01C24 */ ActorContext actorCtx; /* 0x01D64 */ CutsceneContext csCtx; // "demo_play" /* 0x01DB4 */ SoundSource soundSources[16]; - /* 0x01F74 */ SubGlobalContext1F74 sub_1F74; + /* 0x01F74 */ SramContext sramCtx; /* 0x01F78 */ SkyboxContext skyboxCtx; /* 0x020C8 */ char unk_20C8[0x10]; /* 0x020D8 */ MessageContext msgCtx; // "message" @@ -1291,6 +1117,95 @@ typedef struct { /* 0x00A8 */ View view; } OpeningContext; // size = 0x1D0 +typedef struct { + /* 0x00000 */ GameState state; + /* 0x000A4 */ Vtx* allocVtx1; + /* 0x000A8 */ void* staticSegment; + /* 0x000AC */ void* parameterSegment; + /* 0x000B0 */ char unk_B0[0x8]; + /* 0x000B8 */ View view; + /* 0x001E0 */ SramContext sramCtx; + /* 0x001E4 */ char unk_1E4[0x4]; + /* 0x001E8 */ SkyboxContext skyboxCtx; + /* 0x00338 */ char unk_338[0x10]; + /* 0x00348 */ MessageContext msgCtx; + /* 0x0E760 */ char kanfont[0xE188]; + /* 0x1C8E8 */ EnvironmentContext envCtx; + /* 0x1C9E4 */ char unk_1C9E4[0x4]; + /* 0x1C9E8 */ Vtx* allocVtx2; + /* 0x1C9EC */ Vtx* allocVtx3; + /* 0x1C9F0 */ Vtx* allocVtx4; + /* 0x1C9F4 */ u8 n64ddFlag; + /* 0x1C9F6 */ u16 deaths[3]; + /* 0x1C9FC */ u8 fileNames[3][8]; + /* 0x1CA14 */ u16 healthCapacities[3]; + /* 0x1CA1C */ u32 questItems[3]; + /* 0x1CA28 */ s16 n64ddFlags[3]; + /* 0x1CA2E */ s8 heartStatus[3]; + /* 0x1CA32 */ u16 nowLife[3]; + /* 0x1CA38 */ s16 btnIdx; + /* 0x1CA3A */ u16 yesNoButtonIdx; + /* 0x1CA3C */ s16 menuIdx; + /* 0x1CA3E */ s16 fileSelectStateIdx; + /* 0x1CA40 */ s16 unkActionIndex; + /* 0x1CA42 */ u16 nextFileSelectStateIdx; + /* 0x1CA44 */ s16 openFileStateIdx; + /* 0x1CA46 */ s16 selectedFileIdx; + /* 0x1CA48 */ char unk_1CA48[0x2]; + /* 0x1CA4A */ u16 fileNamesY[3]; + /* 0x1CA50 */ u16 actionTimer; + /* 0x1CA52 */ u16 buttonsY[6]; + /* 0x1CA5E */ s16 copyDestFileIdx; + /* 0x1CA60 */ u16 fileWarningTexIdx; + /* 0x1CA62 */ u16 warningFileIdx; + /* 0x1CA64 */ u16 titleTexIdx; + /* 0x1CA66 */ u16 nextTitleTexIdx; + /* 0x1CA68 */ s16 windowR; + /* 0x1CA6A */ s16 windowG; + /* 0x1CA6C */ s16 windowB; + /* 0x1CA6E */ u16 selectFileTitleA; + /* 0x1CA70 */ u16 openFileTitleA; + /* 0x1CA72 */ u16 windowA; + /* 0x1CA74 */ u16 fileButtonsA[3]; + /* 0x1CA7A */ u16 fileNameBoxesA[3]; + /* 0x1CA80 */ u16 fileNamesA[3]; + /* 0x1CA86 */ u16 metalJointsA[3]; + /* 0x1CA8C */ u16 fileInfoA; + /* 0x1CA8E */ u16 targetFileInfoBoxA; + /* 0x1CA90 */ u16 unkFileInfoBoxA; + /* 0x1CA92 */ u16 copyButtonA; + /* 0x1CA94 */ u16 eraseButtonA; + /* 0x1CA96 */ u16 yesBiuttonA; + /* 0x1CA98 */ u16 quitButtonA; + /* 0x1CA9A */ u16 optionButtonA; + /* 0x1CA9C */ u16 newFileNameBoxA; + /* 0x1CA9E */ u16 decideCancelTextA; + /* 0x1CAA0 */ u16 fileEmptyTextA; + /* 0x1CAA2 */ u16 highlightColorR; + /* 0x1CAA4 */ u16 highlightColorG; + /* 0x1CAA6 */ u16 highlightColorB; + /* 0x1CAA8 */ u16 highlightColorA; + /* 0x1CAAA */ u16 highlightColorAIncrease; + /* 0x1CAAC */ char unk_1CAAC[0x6]; + /* 0x1CAB2 */ u16 stickXTimer; + /* 0x1CAB4 */ u16 stickYTimer; + /* 0x1CAB6 */ u16 idxXOff; + /* 0x1CAB8 */ u16 idxYOff; + /* 0x1CABA */ s16 stickX; + /* 0x1CABC */ s16 stickY; + /* 0x1CABE */ u16 newFileNameBoxX; + /* 0x1CAC0 */ u16 windowX; + /* 0x1CAC4 */ f32 windowRotX; + /* 0x1CAC8 */ u16 kbdButtonIdx; + /* 0x1CACA */ u16 unk_1CACA; + /* 0x1CACC */ u16 kbdCharBoxA; + /* 0x1CACE */ s16 kbdCharIdx; + /* 0x1CAD0 */ s16 kbdCharX; + /* 0x1CAD2 */ s16 kbdCharY; + /* 0x1CAD4 */ s16 newFileNameCharCount; + /* 0x1CAD6 */ u16 unk_1CAD6[3]; +} FileChooseContext; // size = 0x1CADC + typedef enum { DPM_UNK = 0, DPM_PLAYER = 1, diff --git a/include/z64save.h b/include/z64save.h new file mode 100644 index 0000000000..7ef1cba0e8 --- /dev/null +++ b/include/z64save.h @@ -0,0 +1,190 @@ +#ifndef _Z64SAVE_H_ +#define _Z64SAVE_H_ + +#include "ultra64.h" +#include "z64math.h" + +typedef struct { + /* 0x00 */ u8 buttonItems[4]; + /* 0x04 */ u8 cButtonSlots[3]; + /* 0x08 */ u16 equipment; +} ItemEquips; // size = 0x0A + +typedef struct { + /* 0x00 */ u8 items[24]; + /* 0x18 */ s8 ammo[16]; + /* 0x28 */ u16 equipment; + /* 0x2C */ u32 upgrades; + /* 0x30 */ u32 questItems; + /* 0x34 */ u8 dungeonItems[20]; + /* 0x48 */ s8 dungeonKeys[19]; + /* 0x5B */ s8 defenseHearts; + /* 0x5C */ s16 gsTokens; +} Inventory; // size = 0x5E + +typedef struct { + /* 0x00 */ u32 chest; + /* 0x04 */ u32 swch; + /* 0x08 */ u32 clear; + /* 0x0C */ u32 collect; + /* 0x10 */ u32 unk; + /* 0x14 */ u32 rooms; + /* 0x18 */ u32 floors; +} SavedSceneFlags; // size = 0x1C + +typedef struct { + /* 0x00 */ s16 scene; + /* 0x02 */ Vec3s pos; + /* 0x08 */ s16 angle; +} HorseData; // size = 0x0A + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ s16 yaw; + /* 0x0E */ s16 playerParams; + /* 0x10 */ s16 entranceIndex; + /* 0x12 */ u8 roomIndex; + /* 0x13 */ s8 data; + /* 0x14 */ u32 tempSwchFlags; + /* 0x18 */ u32 tempCollectFlags; +} RespawnData; // size = 0x1C + +typedef struct { + /* 0x00 */ Vec3i pos; + /* 0x0C */ s32 yaw; + /* 0x10 */ s32 playerParams; + /* 0x14 */ s32 entranceIndex; + /* 0x18 */ s32 roomIndex; + /* 0x1C */ s32 set; + /* 0x20 */ s32 tempSwchFlags; + /* 0x24 */ s32 tempCollectFlags; +} FaroresWindData; // size = 0x28 + +typedef struct { + /* 0x0000 */ s32 entranceIndex; // start of `save` substruct, originally called "memory" + /* 0x0004 */ s32 linkAge; // 0: Adult; 1: Child + /* 0x0008 */ s32 cutsceneIndex; + /* 0x000C */ u16 dayTime; // "zelda_time" + /* 0x0010 */ s32 nightFlag; + /* 0x0014 */ s32 numDays; + /* 0x0018 */ s32 unk_18; // increments with numDays, gets reset by goron for bgs and one other use + /* 0x001C */ char newf[6]; // string "ZELDAZ". start of `info` substruct, originally called "information" + /* 0x0022 */ s16 deaths; + /* 0x0024 */ char playerName[8]; + /* 0x002C */ s16 n64ddFlag; + /* 0x002E */ s16 healthCapacity; // "max_life" + /* 0x0030 */ s16 health; // "now_life" + /* 0x0032 */ s8 magicLevel; + /* 0x0033 */ s8 magic; + /* 0x0034 */ s16 rupees; + /* 0x0036 */ u16 swordHealth; + /* 0x0038 */ u16 naviTimer; + /* 0x003A */ u8 magicAcquired; + /* 0x003B */ char unk_3B[0x01]; + /* 0x003C */ u8 doubleMagic; + /* 0x003D */ u8 doubleDefense; + /* 0x003E */ u8 bgsFlag; + /* 0x003F */ u8 ocarinaGameReward; + /* 0x0040 */ ItemEquips childEquips; + /* 0x004A */ ItemEquips adultEquips; + /* 0x0054 */ u32 unk_54; // this may be incorrect, currently used for alignement + /* 0x0058 */ char unk_58[0x0E]; + /* 0x0066 */ s16 savedSceneNum; + /* 0x0068 */ ItemEquips equips; + /* 0x0074 */ Inventory inventory; + /* 0x00D4 */ SavedSceneFlags sceneFlags[124]; + /* 0x0E64 */ FaroresWindData fw; + /* 0x0E8C */ char unk_E8C[0x10]; + /* 0x0E9C */ s32 gsFlags[6]; + /* 0x0EB4 */ char unk_EB4[0x10]; + /* 0x0EC4 */ s32 horseRaceRecord; + /* 0x0EC8 */ char unk_EC8[0x0C]; + /* 0x0ED4 */ u16 eventChkInf[14]; // "event_chk_inf" + /* 0x0EF0 */ u16 itemGetInf[4]; // "item_get_inf" + /* 0x0EF8 */ u16 infTable[30]; // "inf_table" + /* 0x0F34 */ char unk_F34[0x04]; + /* 0x0F38 */ u32 worldMapAreaData; // "area_arrival" + /* 0x0F3C */ char unk_F3C[0x4]; + /* 0x0F40 */ u8 scarecrowCustomSongSet; + /* 0x0F41 */ u8 scarecrowCustomSong[0x360]; + /* 0x12A1 */ char unk_12A1[0x24]; + /* 0x12C5 */ u8 scarecrowSpawnSongSet; + /* 0x12C6 */ u8 scarecrowSpawnSong[0x80]; + /* 0x1346 */ char unk_1346[0x02]; + /* 0x1348 */ HorseData horseData; + /* 0x1352 */ u16 checksum; // "check_sum" + /* 0x1354 */ s32 fileNum; // "file_no" + /* 0x1358 */ char unk_1358[0x0004]; + /* 0x135C */ s32 gameMode; + /* 0x1360 */ s32 sceneSetupIndex; + /* 0x1364 */ s32 respawnFlag; // "restart_flag" + /* 0x1368 */ RespawnData respawn[3]; // "restart_data" + /* 0x13BC */ f32 entranceSpeed; + /* 0x13C0 */ u16 entranceSound; + /* 0x13C2 */ char unk_13C2[0x0001]; + /* 0x13C3 */ u8 unk_13C3; + /* 0x13C4 */ s16 dogParams; + /* 0x13C6 */ u8 textTriggerFlags; + /* 0x13C7 */ u8 showTitleCard; + /* 0x13C8 */ s16 nayrusLoveTimer; + /* 0x13CA */ char unk_13CA[0x0002]; + /* 0x13CC */ s16 rupeeAccumulator; + /* 0x13CE */ s16 timer1State; + /* 0x13D0 */ s16 timer1Value; + /* 0x13D2 */ s16 timer2State; + /* 0x13D4 */ s16 timer2Value; + /* 0x13D6 */ s16 timerX[2]; + /* 0x13DA */ s16 timerY[2]; + /* 0x13DE */ char unk_13DE[0x0002]; + /* 0x13E0 */ u8 seqIndex; + /* 0x13E1 */ u8 nightSeqIndex; + /* 0x13E2 */ u8 buttonStatus[5]; + /* 0x13E7 */ u8 unk_13E7; // alpha related + /* 0x13E8 */ u16 unk_13E8; // alpha type? + /* 0x13EA */ u16 unk_13EA; // also alpha type? + /* 0x13EC */ u16 unk_13EC; // alpha type counter? + /* 0x13EE */ u16 unk_13EE; // previous alpha type? + /* 0x13F0 */ s16 unk_13F0; // magic related + /* 0x13F2 */ s16 unk_13F2; // magic related + /* 0x13F4 */ s16 unk_13F4; // magic related + /* 0x13F6 */ s16 unk_13F6; // magic related + /* 0x13F8 */ s16 unk_13F8; // magic related + /* 0x13FA */ u16 eventInf[4]; // "event_inf" + /* 0x1402 */ u16 mapIndex; // intended for maps/minimaps but commonly used as the dungeon index + /* 0x1404 */ u16 minigameState; + /* 0x1406 */ u16 minigameScore; // "yabusame_total" + /* 0x1408 */ char unk_1408[0x0001]; + /* 0x1409 */ u8 language; + /* 0x140A */ u8 audioSetting; + /* 0x140B */ char unk_140B[0x0001]; + /* 0x140C */ u8 zTargetSetting; // 0: Switch; 1: Hold + /* 0x140E */ u16 unk_140E; // bgm related + /* 0x1410 */ u8 unk_1410; // transition related + /* 0x1411 */ char unk_1411[0x0001]; + /* 0x1412 */ u16 nextCutsceneIndex; + /* 0x1414 */ u8 cutsceneTrigger; + /* 0x1415 */ u8 chamberCutsceneNum; + /* 0x1416 */ u16 nextDayTime; // "next_zelda_time" + /* 0x1418 */ u8 fadeDuration; + /* 0x1419 */ u8 unk_1419; // transition related + /* 0x141A */ u16 environmentTime; + /* 0x141C */ u8 dogIsLost; + /* 0x141D */ u8 nextTransition; + /* 0x141E */ char unk_141E[0x0002]; + /* 0x1420 */ s16 worldMapArea; + /* 0x1422 */ s16 unk_1422; // day time related + /* 0x1424 */ s16 healthAccumulator; +} SaveContext; // size = 0x1428 + +typedef enum { + /* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */ + /* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */ + /* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */ +} RespawnMode; + +typedef enum { + /* 0x00 */ BTN_ENABLED, + /* 0xFF */ BTN_DISABLED = 0xFF +} ButtonStatus; + +#endif diff --git a/spec b/spec index 58a3aa5f18..9f197ebd2a 100644 --- a/spec +++ b/spec @@ -346,8 +346,7 @@ beginseg include "build/src/code/z_skin_awb.o" include "build/src/code/z_skin_matrix.o" include "build/src/code/z_sram.o" - include "build/data/z_sram.data.o" - include "build/src/code/code_800A9D40.o" + include "build/src/code/z_ss_sram.o" include "build/src/code/code_800A9F30.o" include "build/data/z_text.data.o" include "build/src/code/z_view.o" diff --git a/src/code/code_80097A00.c b/src/code/code_80097A00.c index b61559de60..457fe72cef 100644 --- a/src/code/code_80097A00.c +++ b/src/code/code_80097A00.c @@ -85,7 +85,7 @@ u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) { sp26 >>= gEquipShifts[equipment]; gSaveContext.equips.equipment &= gEquipNegMasks[equipment]; - gSaveContext.equipment ^= gBitFlags[sp26 - 1] << gEquipShifts[equipment]; + gSaveContext.inventory.equipment ^= gBitFlags[sp26 - 1] << gEquipShifts[equipment]; if (equipment == EQUIP_TUNIC) { gSaveContext.equips.equipment |= 0x0100; @@ -104,6 +104,6 @@ u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) { } void Inventory_ChangeUpgrade(s16 upgrade, s16 value) { - gSaveContext.upgrades &= gUpgradeNegMasks[upgrade]; - gSaveContext.upgrades |= value << gUpgradeShifts[upgrade]; + gSaveContext.inventory.upgrades &= gUpgradeNegMasks[upgrade]; + gSaveContext.inventory.upgrades |= value << gUpgradeShifts[upgrade]; } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index b9638879b7..4c90d800a6 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -1949,10 +1949,10 @@ void func_800304B0(GlobalContext* globalCtx) { // Actor_InitContext void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry* actorEntry) { ActorOverlay* overlayEntry; - SaveSceneFlags* saveSceneFlags; + SavedSceneFlags* savedSceneFlags; s32 i; - saveSceneFlags = &gSaveContext.sceneFlags[globalCtx->sceneNum]; + savedSceneFlags = &gSaveContext.sceneFlags[globalCtx->sceneNum]; bzero(actorCtx, sizeof(*actorCtx)); @@ -1967,10 +1967,10 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry* overlayEntry++; } - actorCtx->flags.chest = saveSceneFlags->chest; - actorCtx->flags.swch = saveSceneFlags->swch; - actorCtx->flags.clear = saveSceneFlags->clear; - actorCtx->flags.collect = saveSceneFlags->collect; + actorCtx->flags.chest = savedSceneFlags->chest; + actorCtx->flags.swch = savedSceneFlags->swch; + actorCtx->flags.clear = savedSceneFlags->clear; + actorCtx->flags.collect = savedSceneFlags->collect; func_8002CDE4(globalCtx, &actorCtx->titleCtx); diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 9210fe1d13..4c4401617c 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -2009,7 +2009,7 @@ void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx) { Flags_SetEventChkInf(entranceCutscene->flag); Cutscene_SetSegment(globalCtx, entranceCutscene->segAddr); gSaveContext.cutsceneTrigger = 2; - gSaveContext.unk_13C7 = 0; + gSaveContext.showTitleCard = false; break; } } diff --git a/src/code/z_elf_message.c b/src/code/z_elf_message.c index d3552c419d..6db1527b1b 100644 --- a/src/code/z_elf_message.c +++ b/src/code/z_elf_message.c @@ -22,8 +22,8 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) { flag = 1 << (msg->byte1 & 0x0F); return ((msg->byte0 & 1) == 1) == ((flag & gSaveContext.eventChkInf[(msg->byte1 & 0xF0) >> 4]) != 0); case 2: - return ((msg->byte0 & 1) == 1) == - ((gSaveContext.dungeonItems[gSaveContext.mapIndex] & gBitFlags[msg->byte1 - ITEM_KEY_BOSS]) != 0); + return ((msg->byte0 & 1) == 1) == ((gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] & + gBitFlags[msg->byte1 - ITEM_KEY_BOSS]) != 0); case 4: return ((msg->byte0 & 1) == 1) == (msg->byte3 == INV_CONTENT(msg->byte1)); case 6: @@ -33,7 +33,7 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) { case 0x10: return ((msg->byte0 & 1) == 1) == (((gBitFlags[msg->byte3 - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]) & - gSaveContext.equipment) != 0); + gSaveContext.inventory.equipment) != 0); case 0x20: return ((msg->byte0 & 1) == 1) == ((CHECK_QUEST_ITEM(msg->byte3 - ITEM_SONG_MINUET + QUEST_SONG_MINUET)) != 0); diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 70b8e2c313..016743503d 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -77,7 +77,7 @@ void func_800775D8() { } s32 func_800775E4() { - return gSaveContext.unk_14; + return gSaveContext.numDays; } void func_800775F0(u16 arg0) { diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c index 64fe2e53e9..63c5350088 100644 --- a/src/code/z_lifemeter.c +++ b/src/code/z_lifemeter.c @@ -204,7 +204,7 @@ void Health_Draw(GlobalContext* globalCtx) { f32 sp144 = interfaceCtx->unk_22A * 0.1f; s32 curCombineModeSet = 0; u8* curBgImgLoaded = NULL; - s32 ddHeartCountMinusOne = gSaveContext.defenseHearts - 1; + s32 ddHeartCountMinusOne = gSaveContext.inventory.defenseHearts - 1; OPEN_DISPS(gfxCtx, "../z_lifemeter.c", 353); diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index c409d0cf8f..68e68e0f36 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -46,7 +46,7 @@ void Map_SetFloorPalettesData(GlobalContext* globalCtx, s16 floor) { interfaceCtx->unk_140[i + 16] = 0; } - if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { + if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { interfaceCtx->unk_140[30] = 0; interfaceCtx->unk_140[31] = 1; } @@ -383,7 +383,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { gDPSetCombineLERP(oGfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0); - if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { + if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha); gDPLoadTextureBlock_4b(oGfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0, @@ -395,7 +395,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { 0, 0, 1024, 1024); } - if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_COMPASS]) { + if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_COMPASS]) { Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position func_80094520(globalCtx->state.gfxCtx); MapMark_DrawConditionally(globalCtx); @@ -525,7 +525,7 @@ void Map_Update(GlobalContext* globalCtx) { case SCENE_HAKADANCH: case SCENE_ICE_DOUKUTO: interfaceCtx->unk_140[30] = 0; - if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { + if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { interfaceCtx->unk_140[31] = 1; } else { interfaceCtx->unk_140[31] = 0; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 97ef34dc45..87b0787049 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -636,7 +636,7 @@ void func_80083108(GlobalContext* globalCtx) { Interface_LoadItemIcon1(globalCtx, 0); } else { - if (gSaveContext.items[SLOT_BOW] == ITEM_NONE) { + if (gSaveContext.inventory.items[SLOT_BOW] == ITEM_NONE) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; } else { Interface_LoadItemIcon1(globalCtx, 0); @@ -752,7 +752,7 @@ void func_80083108(GlobalContext* globalCtx) { if (player->stateFlags1 & 0x00800000) { if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) && (gSaveContext.equips.buttonItems[0] != ITEM_BOW)) { - if (gSaveContext.items[SLOT_BOW] == ITEM_NONE) { + if (gSaveContext.inventory.items[SLOT_BOW] == ITEM_NONE) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; } else { gSaveContext.equips.buttonItems[0] = ITEM_BOW; @@ -1154,7 +1154,7 @@ void Inventory_SwapAgeEquipment(void) { if (gSaveContext.adultEquips.buttonItems[0] == ITEM_NONE) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; - if (gSaveContext.items[SLOT_NUT] != ITEM_NONE) { + if (gSaveContext.inventory.items[SLOT_NUT] != ITEM_NONE) { gSaveContext.equips.buttonItems[1] = ITEM_NUT; gSaveContext.equips.cButtonSlots[0] = SLOT_NUT; } else { @@ -1162,7 +1162,7 @@ void Inventory_SwapAgeEquipment(void) { } gSaveContext.equips.buttonItems[2] = ITEM_BOMB; - gSaveContext.equips.buttonItems[3] = gSaveContext.items[SLOT_OCARINA]; + gSaveContext.equips.buttonItems[3] = gSaveContext.inventory.items[SLOT_OCARINA]; gSaveContext.equips.cButtonSlots[1] = SLOT_BOMB; gSaveContext.equips.cButtonSlots[2] = SLOT_OCARINA; gSaveContext.equips.equipment = 0x1122; @@ -1179,7 +1179,8 @@ void Inventory_SwapAgeEquipment(void) { ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); - gSaveContext.equips.buttonItems[i] = gSaveContext.items[gSaveContext.equips.cButtonSlots[i - 1]]; + gSaveContext.equips.buttonItems[i] = + gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[i - 1]]; } } @@ -1209,7 +1210,8 @@ void Inventory_SwapAgeEquipment(void) { ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); - gSaveContext.equips.buttonItems[i] = gSaveContext.items[gSaveContext.equips.cButtonSlots[i - 1]]; + gSaveContext.equips.buttonItems[i] = + gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[i - 1]]; } } @@ -1222,7 +1224,7 @@ void Inventory_SwapAgeEquipment(void) { temp = gEquipMasks[EQUIP_SHIELD] & gSaveContext.equips.equipment; if (temp != 0) { temp >>= gEquipShifts[EQUIP_SHIELD]; - if (!(gBitFlags[temp + 3] & gSaveContext.equipment)) { + if (!(gBitFlags[temp + 3] & gSaveContext.inventory.equipment)) { gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_SHIELD]; } } @@ -1238,10 +1240,10 @@ void Interface_InitHorsebackArchery(GlobalContext* globalCtx) { } void func_800849EC(GlobalContext* globalCtx) { - gSaveContext.equipment |= gBitFlags[2] << gEquipShifts[EQUIP_SWORD]; - gSaveContext.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment |= gBitFlags[2] << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; - if (gBitFlags[3] & gSaveContext.equipment) { + if (gBitFlags[3] & gSaveContext.inventory.equipment) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; } else { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; @@ -1318,15 +1320,15 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } osSyncPrintf(VT_FGCOL(YELLOW)); - osSyncPrintf("item_get_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.items[slot]); + osSyncPrintf("item_get_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.inventory.items[slot]); osSyncPrintf(VT_RST); if ((item >= ITEM_MEDALLION_FOREST) && (item <= ITEM_MEDALLION_LIGHT)) { - gSaveContext.questItems |= gBitFlags[item - ITEM_MEDALLION_FOREST + QUEST_MEDALLION_FOREST]; + gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_MEDALLION_FOREST + QUEST_MEDALLION_FOREST]; osSyncPrintf(VT_FGCOL(YELLOW)); // Translates to: "Seals = %x" - osSyncPrintf("封印 = %x\n", gSaveContext.questItems); + osSyncPrintf("封印 = %x\n", gSaveContext.inventory.questItems); osSyncPrintf(VT_RST); if (item == ITEM_MEDALLION_WATER) { @@ -1335,53 +1337,53 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { return ITEM_NONE; } else if ((item >= ITEM_SONG_MINUET) && (item <= ITEM_SONG_STORMS)) { - gSaveContext.questItems |= gBitFlags[item - ITEM_SONG_MINUET + QUEST_SONG_MINUET]; + gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_SONG_MINUET + QUEST_SONG_MINUET]; osSyncPrintf(VT_FGCOL(YELLOW)); // Translates to: "Musical scores = %x" - osSyncPrintf("楽譜 = %x\n", gSaveContext.questItems); + osSyncPrintf("楽譜 = %x\n", gSaveContext.inventory.questItems); // Translates to: "Musical scores = %x (%x) (%x)" - osSyncPrintf("楽譜 = %x (%x) (%x)\n", gSaveContext.questItems, + osSyncPrintf("楽譜 = %x (%x) (%x)\n", gSaveContext.inventory.questItems, gBitFlags[item - ITEM_SONG_MINUET + QUEST_SONG_MINUET], gBitFlags[item - ITEM_SONG_MINUET]); osSyncPrintf(VT_RST); return ITEM_NONE; } else if ((item >= ITEM_KOKIRI_EMERALD) && (item <= ITEM_ZORA_SAPPHIRE)) { - gSaveContext.questItems |= gBitFlags[item - ITEM_KOKIRI_EMERALD + QUEST_KOKIRI_EMERALD]; + gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_KOKIRI_EMERALD + QUEST_KOKIRI_EMERALD]; osSyncPrintf(VT_FGCOL(YELLOW)); // Translates to: "Spiritual Stones = %x" - osSyncPrintf("精霊石 = %x\n", gSaveContext.questItems); + osSyncPrintf("精霊石 = %x\n", gSaveContext.inventory.questItems); osSyncPrintf(VT_RST); return ITEM_NONE; } else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDO_CARD)) { - gSaveContext.questItems |= gBitFlags[item - ITEM_STONE_OF_AGONY + QUEST_STONE_OF_AGONY]; + gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_STONE_OF_AGONY + QUEST_STONE_OF_AGONY]; osSyncPrintf(VT_FGCOL(YELLOW)); // Translates to: "Items = %x" - osSyncPrintf("アイテム = %x\n", gSaveContext.questItems); + osSyncPrintf("アイテム = %x\n", gSaveContext.inventory.questItems); osSyncPrintf(VT_RST); return ITEM_NONE; } else if (item == ITEM_SKULL_TOKEN) { - gSaveContext.questItems |= gBitFlags[item - ITEM_SKULL_TOKEN + QUEST_SKULL_TOKEN]; - gSaveContext.gsTokens++; + gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_SKULL_TOKEN + QUEST_SKULL_TOKEN]; + gSaveContext.inventory.gsTokens++; osSyncPrintf(VT_FGCOL(YELLOW)); // Translates to: "N Coins = %x(%d)" - osSyncPrintf("Nコイン = %x(%d)\n", gSaveContext.questItems, gSaveContext.gsTokens); + osSyncPrintf("Nコイン = %x(%d)\n", gSaveContext.inventory.questItems, gSaveContext.inventory.gsTokens); osSyncPrintf(VT_RST); return ITEM_NONE; } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { - gSaveContext.equipment |= gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment |= gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]; if (item == ITEM_SWORD_BGS) { gSaveContext.swordHealth = 8; if (ALL_EQUIP_VALUE(EQUIP_SWORD) == 0xF) { - gSaveContext.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; Interface_LoadItemIcon1(globalCtx, 0); @@ -1396,23 +1398,23 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { return ITEM_NONE; } else if ((item >= ITEM_SHIELD_DEKU) && (item <= ITEM_SHIELD_MIRROR)) { - gSaveContext.equipment |= (gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]); return ITEM_NONE; } else if ((item >= ITEM_TUNIC_KOKIRI) && (item <= ITEM_TUNIC_ZORA)) { - gSaveContext.equipment |= (gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]); return ITEM_NONE; } else if ((item >= ITEM_BOOTS_KOKIRI) && (item <= ITEM_BOOTS_HOVER)) { - gSaveContext.equipment |= (gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]); return ITEM_NONE; } else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) { - gSaveContext.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_KEY_BOSS]; + gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_KEY_BOSS]; return ITEM_NONE; } else if (item == ITEM_KEY_SMALL) { - if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] < 0) { - gSaveContext.dungeonKeys[gSaveContext.mapIndex] = 1; + if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] < 0) { + gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] = 1; return ITEM_NONE; } else { - gSaveContext.dungeonKeys[gSaveContext.mapIndex]++; + gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex]++; return ITEM_NONE; } } else if ((item == ITEM_QUIVER_30) || (item == ITEM_BOW)) { @@ -1485,28 +1487,28 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { Inventory_ChangeUpgrade(UPG_WALLET, 2); return ITEM_NONE; } else if (item == ITEM_STICK_UPGRADE_20) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_STICK) = ITEM_STICK; } Inventory_ChangeUpgrade(UPG_STICKS, 2); AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 2); return ITEM_NONE; } else if (item == ITEM_STICK_UPGRADE_30) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_STICK) = ITEM_STICK; } Inventory_ChangeUpgrade(UPG_STICKS, 3); AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 3); return ITEM_NONE; } else if (item == ITEM_NUT_UPGRADE_30) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_NUT) = ITEM_NUT; } Inventory_ChangeUpgrade(UPG_NUTS, 2); AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 2); return ITEM_NONE; } else if (item == ITEM_NUT_UPGRADE_40) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_NUT) = ITEM_NUT; } Inventory_ChangeUpgrade(UPG_NUTS, 3); @@ -1522,7 +1524,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } return ITEM_NONE; } else if (item == ITEM_STICK) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { Inventory_ChangeUpgrade(UPG_STICKS, 1); AMMO(ITEM_STICK) = 1; } else { @@ -1532,7 +1534,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } } } else if ((item == ITEM_STICKS_5) || (item == ITEM_STICKS_10)) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { Inventory_ChangeUpgrade(UPG_STICKS, 1); AMMO(ITEM_STICK) = sAmmoRefillCounts[item - ITEM_STICKS_5]; } else { @@ -1543,7 +1545,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } item = ITEM_STICK; } else if (item == ITEM_NUT) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { Inventory_ChangeUpgrade(UPG_NUTS, 1); AMMO(ITEM_NUT) = ITEM_NUT; } else { @@ -1553,7 +1555,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } } } else if ((item == ITEM_NUTS_5) || (item == ITEM_NUTS_10)) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { Inventory_ChangeUpgrade(UPG_NUTS, 1); AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5]; // Translates to: "Deku Nuts %d(%d)=%d BS_count=%d" @@ -1583,7 +1585,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } return ITEM_NONE; } else if (item == ITEM_BOMBCHU) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_BOMBCHU) = ITEM_BOMBCHU; AMMO(ITEM_BOMBCHU) = 10; return ITEM_NONE; @@ -1595,7 +1597,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { return ITEM_NONE; } } else if ((item == ITEM_BOMBCHUS_5) || (item == ITEM_BOMBCHUS_20)) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(ITEM_BOMBCHU) = ITEM_BOMBCHU; AMMO(ITEM_BOMBCHU) += sAmmoRefillCounts[item - ITEM_BOMBCHUS_5 + 8]; return ITEM_NONE; @@ -1660,7 +1662,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } return ITEM_NONE; } else if (item == ITEM_BEAN) { - if (gSaveContext.items[slot] == ITEM_NONE) { + if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(item) = item; AMMO(ITEM_BEAN) = 1; BEANS_BOUGHT = 1; @@ -1670,7 +1672,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } return ITEM_NONE; } else if ((item == ITEM_HEART_PIECE_2) || (item == ITEM_HEART_PIECE)) { - gSaveContext.questItems += 1 << (QUEST_HEART_PIECE + 4); + gSaveContext.inventory.questItems += 1 << (QUEST_HEART_PIECE + 4); return ITEM_NONE; } else if (item == ITEM_HEART_CONTAINER) { gSaveContext.healthCapacity += 0x10; @@ -1712,8 +1714,8 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { return ITEM_NONE; } else if (item == ITEM_BOTTLE) { for (i = 0; i < 4; i++) { - if (gSaveContext.items[SLOT(item) + i] == ITEM_NONE) { - gSaveContext.items[SLOT(item) + i] = item; + if (gSaveContext.inventory.items[SLOT(item) + i] == ITEM_NONE) { + gSaveContext.inventory.items[SLOT(item) + i] = item; return ITEM_NONE; } } @@ -1727,7 +1729,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } for (i = 0; i < 4; i++) { - if (gSaveContext.items[bottleSlot + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_BOTTLE) { // Translates to: "Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d Empty Bottle=%d Content=%d" osSyncPrintf("Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d 空瓶=%d 中味=%d\n", gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1], @@ -1747,14 +1749,14 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { gSaveContext.buttonStatus[3] = BTN_ENABLED; } - gSaveContext.items[bottleSlot + i] = item; + gSaveContext.inventory.items[bottleSlot + i] = item; return ITEM_NONE; } } } else { for (i = 0; i < 4; i++) { - if (gSaveContext.items[bottleSlot + i] == ITEM_NONE) { - gSaveContext.items[bottleSlot + i] = item; + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_NONE) { + gSaveContext.inventory.items[bottleSlot + i] = item; return ITEM_NONE; } } @@ -1784,7 +1786,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { return ITEM_NONE; } - oldItem = gSaveContext.items[slot]; + oldItem = gSaveContext.inventory.items[slot]; osSyncPrintf("Item_Register(%d)=%d %d\n", slot, item, oldItem); INV_CONTENT(item) = item; @@ -1805,7 +1807,7 @@ u8 Item_CheckObtainability(u8 item) { } osSyncPrintf(VT_FGCOL(GREEN)); - osSyncPrintf("item_get_non_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.items[slot]); + osSyncPrintf("item_get_non_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.inventory.items[slot]); osSyncPrintf(VT_RST); if ((item >= ITEM_MEDALLION_FOREST) && (item <= ITEM_MEDALLION_LIGHT)) { @@ -1815,25 +1817,26 @@ u8 Item_CheckObtainability(u8 item) { } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { if (item == ITEM_SWORD_BGS) { return ITEM_NONE; - } else if ((gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]) & gSaveContext.equipment) { + } else if ((gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]) & + gSaveContext.inventory.equipment) { return item; } else { return ITEM_NONE; } } else if ((item >= ITEM_SHIELD_DEKU) && (item <= ITEM_SHIELD_MIRROR)) { - if ((gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]) & gSaveContext.equipment) { + if ((gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]) & gSaveContext.inventory.equipment) { return item; } else { return ITEM_NONE; } } else if ((item >= ITEM_TUNIC_KOKIRI) && (item <= ITEM_TUNIC_ZORA)) { - if ((gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]) & gSaveContext.equipment) { + if ((gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]) & gSaveContext.inventory.equipment) { return item; } else { return ITEM_NONE; } } else if ((item >= ITEM_BOOTS_KOKIRI) && (item <= ITEM_BOOTS_HOVER)) { - if ((gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]) & gSaveContext.equipment) { + if ((gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]) & gSaveContext.inventory.equipment) { return item; } else { return ITEM_NONE; @@ -1904,13 +1907,13 @@ u8 Item_CheckObtainability(u8 item) { } for (i = 0; i < 4; i++) { - if (gSaveContext.items[bottleSlot + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_BOTTLE) { return ITEM_NONE; } } } else { for (i = 0; i < 4; i++) { - if (gSaveContext.items[bottleSlot + i] == ITEM_NONE) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_NONE) { return ITEM_NONE; } } @@ -1919,7 +1922,7 @@ u8 Item_CheckObtainability(u8 item) { return ITEM_NONE; } - return gSaveContext.items[slot]; + return gSaveContext.inventory.items[slot]; } void Inventory_DeleteItem(u16 item, u16 invSlot) { @@ -1929,9 +1932,9 @@ void Inventory_DeleteItem(u16 item, u16 invSlot) { BEANS_BOUGHT = 0; } - gSaveContext.items[invSlot] = ITEM_NONE; + gSaveContext.inventory.items[invSlot] = ITEM_NONE; - osSyncPrintf("\nItem_Register(%d)\n", invSlot, gSaveContext.items[invSlot]); + osSyncPrintf("\nItem_Register(%d)\n", invSlot, gSaveContext.inventory.items[invSlot]); for (i = 1; i < 4; i++) { if (gSaveContext.equips.buttonItems[i] == item) { @@ -1944,9 +1947,9 @@ void Inventory_DeleteItem(u16 item, u16 invSlot) { s32 Inventory_ReplaceItem(GlobalContext* globalCtx, u16 oldItem, u16 newItem) { s16 i; - for (i = 0; i < ARRAY_COUNT(gSaveContext.items); i++) { - if (gSaveContext.items[i] == oldItem) { - gSaveContext.items[i] = newItem; + for (i = 0; i < ARRAY_COUNT(gSaveContext.inventory.items); i++) { + if (gSaveContext.inventory.items[i] == oldItem) { + gSaveContext.inventory.items[i] = newItem; // Translates to: "Item Purge (%d)" osSyncPrintf("アイテム消去(%d)\n", i); for (i = 1; i < 4; i++) { @@ -1964,7 +1967,7 @@ s32 Inventory_ReplaceItem(GlobalContext* globalCtx, u16 oldItem, u16 newItem) { } s32 Inventory_HasEmptyBottle(void) { - u8* items = gSaveContext.items; + u8* items = gSaveContext.inventory.items; if (items[SLOT_BOTTLE_1] == ITEM_BOTTLE) { return 1; @@ -1980,7 +1983,7 @@ s32 Inventory_HasEmptyBottle(void) { } s32 Inventory_HasSpecificBottle(u8 bottleItem) { - u8* items = gSaveContext.items; + u8* items = gSaveContext.inventory.items; if (items[SLOT_BOTTLE_1] == bottleItem) { return 1; @@ -1998,15 +2001,15 @@ s32 Inventory_HasSpecificBottle(u8 bottleItem) { void Inventory_UpdateBottleItem(GlobalContext* globalCtx, u8 item, u8 button) { osSyncPrintf("item_no=%x, c_no=%x, Pt=%x Item_Register=%x\n", item, button, gSaveContext.equips.cButtonSlots[button - 1], - gSaveContext.items[gSaveContext.equips.cButtonSlots[button - 1]]); + gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]]); // Special case to only empty half of a Lon Lon Milk Bottle - if ((gSaveContext.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_MILK_BOTTLE) && + if ((gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_MILK_BOTTLE) && (item == ITEM_BOTTLE)) { item = ITEM_MILK_HALF; } - gSaveContext.items[gSaveContext.equips.cButtonSlots[button - 1]] = item; + gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] = item; gSaveContext.equips.buttonItems[button] = item; Interface_LoadItemIcon1(globalCtx, button); @@ -2023,7 +2026,7 @@ s32 Inventory_ConsumeFairy(GlobalContext* globalCtx) { bottleSlot = SLOT(ITEM_FAIRY); for (i = 0; i < 4; i++) { - if (gSaveContext.items[bottleSlot + i] == ITEM_FAIRY) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_FAIRY) { for (j = 1; j < 4; j++) { if (gSaveContext.equips.buttonItems[j] == ITEM_FAIRY) { gSaveContext.equips.buttonItems[j] = ITEM_BOTTLE; @@ -2035,7 +2038,7 @@ s32 Inventory_ConsumeFairy(GlobalContext* globalCtx) { } // Translates to: "Fairy Usage=%d" osSyncPrintf("妖精使用=%d\n", bottleSlot); - gSaveContext.items[bottleSlot + i] = ITEM_BOTTLE; + gSaveContext.inventory.items[bottleSlot + i] = ITEM_BOTTLE; return 1; } } @@ -3124,7 +3127,7 @@ void Interface_Draw(GlobalContext* globalCtx) { case SCENE_GANON_SONOGO: case SCENE_GANONTIKA_SONOGO: case SCENE_TAKARAYA: - if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] >= 0) { + if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] >= 0) { // Small Key Icon gDPPipeSync(oGfxCtx->overlay.p++); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha); @@ -3139,7 +3142,7 @@ void Interface_Draw(GlobalContext* globalCtx) { PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); interfaceCtx->counterDigits[2] = 0; - interfaceCtx->counterDigits[3] = gSaveContext.dungeonKeys[gSaveContext.mapIndex]; + interfaceCtx->counterDigits[3] = gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex]; while (interfaceCtx->counterDigits[3] >= 10) { interfaceCtx->counterDigits[2]++; diff --git a/src/code/z_play.c b/src/code/z_play.c index 29cad25382..3700054563 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -234,7 +234,7 @@ void Gameplay_Init(GlobalContext* globalCtx) { globalCtx->cameraPtrs[0]->uid = 0; globalCtx->activeCamera = 0; func_8005AC48(&globalCtx->mainCamera, 0xFF); - func_800A9D28(globalCtx, &globalCtx->sub_1F74); + Sram_Init(globalCtx, &globalCtx->sramCtx); func_80112098(globalCtx); func_80110F68(globalCtx); func_80110450(globalCtx); @@ -317,7 +317,7 @@ void Gameplay_Init(GlobalContext* globalCtx) { if (gSaveContext.nextDayTime != 0xFFFF) { if (gSaveContext.nextDayTime == 0x8001) { - gSaveContext.unk_14++; + gSaveContext.numDays++; gSaveContext.unk_18++; gSaveContext.dogIsLost = true; if (Inventory_ReplaceItem(globalCtx, ITEM_WEIRD_EGG, ITEM_CHICKEN) || @@ -1724,12 +1724,12 @@ s16 func_800C09D8(GlobalContext* globalCtx, s16 camId, s16 arg2) { } void Gameplay_SaveSceneFlags(GlobalContext* globalCtx) { - SaveSceneFlags* sceneFlags = &gSaveContext.sceneFlags[globalCtx->sceneNum]; + SavedSceneFlags* savedSceneFlags = &gSaveContext.sceneFlags[globalCtx->sceneNum]; - sceneFlags->chest = globalCtx->actorCtx.flags.chest; - sceneFlags->swch = globalCtx->actorCtx.flags.swch; - sceneFlags->clear = globalCtx->actorCtx.flags.clear; - sceneFlags->collect = globalCtx->actorCtx.flags.collect; + savedSceneFlags->chest = globalCtx->actorCtx.flags.chest; + savedSceneFlags->swch = globalCtx->actorCtx.flags.swch; + savedSceneFlags->clear = globalCtx->actorCtx.flags.clear; + savedSceneFlags->collect = globalCtx->actorCtx.flags.collect; } void Gameplay_SetRespawnData(GlobalContext* globalCtx, s32 respawnMode, s16 entranceIndex, s32 roomIndex, diff --git a/src/code/z_sram.c b/src/code/z_sram.c index 06517245f3..1145bd9b36 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -1,25 +1,905 @@ #include "global.h" +#include "vt.h" -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A81A0.s") +// these are the main substructs of save context. +// we are going to hold off on splitting save context until later on, +// so these temporary structs will live here for now. -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A82C8.s") +typedef struct { + /* 0x00 */ char newf[6]; // string "ZELDAZ" + /* 0x06 */ s16 deaths; + /* 0x08 */ char playerName[8]; + /* 0x10 */ s16 n64ddFlag; + /* 0x12 */ s16 healthCapacity; // "max_life" + /* 0x14 */ s16 health; // "now_life" + /* 0x16 */ s8 magicLevel; + /* 0x17 */ s8 magic; + /* 0x18 */ s16 rupees; + /* 0x1A */ u16 swordHealth; + /* 0x1C */ u16 naviTimer; + /* 0x1E */ u8 magicAcquired; + /* 0x1F */ u8 unk_1F; + /* 0x20 */ u8 doubleMagic; + /* 0x21 */ u8 doubleDefense; + /* 0x22 */ u8 bgsFlag; + /* 0x23 */ u8 ocarinaGameReward; + /* 0x24 */ ItemEquips childEquips; + /* 0x2E */ ItemEquips adultEquips; + /* 0x38 */ u32 unk_38; // this may be incorrect, currently used for alignement + /* 0x3C */ char unk_3C[0x0E]; + /* 0x4A */ s16 savedSceneNum; +} SavePlayerData; // size = 0x4C -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A8484.s") +typedef struct { + /* 0x0000 */ SavePlayerData playerData; // "S_Private" substruct name + /* 0x004C */ ItemEquips equips; + /* 0x0058 */ Inventory inventory; + /* 0x00B8 */ SavedSceneFlags sceneFlags[124]; + /* 0x0E48 */ FaroresWindData fw; + /* 0x0E70 */ char unk_E70[0x10]; + /* 0x0E80 */ s32 gsFlags[6]; + /* 0x0E98 */ char unk_E98[0x10]; + /* 0x0EA8 */ s32 horseRaceRecord; + /* 0x0EAC */ char unk_EAC[0x0C]; + /* 0x0EB8 */ u16 eventChkInf[14]; // "event_chk_inf" + /* 0x0ED4 */ u16 itemGetInf[4]; // "item_get_inf" + /* 0x0EDC */ u16 infTable[30]; // "inf_table" + /* 0x0F18 */ char unk_F18[0x04]; + /* 0x0F1C */ u32 worldMapAreaData; // "area_arrival" + /* 0x0F20 */ char unk_F20[0x4]; + /* 0x0F24 */ u8 scarecrowCustomSongSet; + /* 0x0F25 */ u8 scarecrowCustomSong[0x360]; + /* 0x1285 */ char unk_1285[0x24]; + /* 0x12A9 */ u8 scarecrowSpawnSongSet; + /* 0x12AA */ u8 scarecrowSpawnSong[0x80]; + /* 0x132A */ char unk_132A[0x02]; + /* 0x132C */ HorseData horseData; + /* 0x1336 */ u16 checksum; // "check_sum" +} SaveInfo; // size = 0x1338 -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A88D4.s") +typedef struct { + /* 0x00 */ s32 entranceIndex; + /* 0x04 */ s32 linkAge; // 0: Adult; 1: Child + /* 0x08 */ s32 cutsceneIndex; + /* 0x0C */ u16 dayTime; // "zelda_time" + /* 0x10 */ s32 nightFlag; + /* 0x14 */ s32 numDays; + /* 0x18 */ s32 unk_18; // increments with numDays, gets reset by goron for bgs and one other use + /* 0x1C */ SaveInfo info; // "information" +} Save; // size = 0x1354 -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A8A20.s") +#define SAVE_PLAYER_DATA (*((SavePlayerData*)&gSaveContext.newf)) +#define SAVE_INFO (*((SaveInfo*)&gSaveContext.newf)) -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A9258.s") +#define SLOT_SIZE (sizeof(SaveContext) + 0x28) +#define CHECKSUM_SIZE (sizeof(Save) / 2) -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A96D0.s") +#define DEATHS OFFSETOF(SaveContext, deaths) +#define NAME OFFSETOF(SaveContext, playerName) +#define N64DD OFFSETOF(SaveContext, n64ddFlag) +#define HEALTH_CAP OFFSETOF(SaveContext, healthCapacity) +#define QUEST OFFSETOF(SaveContext, inventory.questItems) +#define DEFENSE OFFSETOF(SaveContext, inventory.defenseHearts) +#define HEALTH OFFSETOF(SaveContext, health) -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A97F0.s") +#define SLOT_OFFSET(idx) (SLOT_SIZE * idx + 0x20) -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A9A9C.s") +u16 gSramSlotOffsets[][3] = { + { + SLOT_OFFSET(0), + SLOT_OFFSET(1), + SLOT_OFFSET(2), + }, + { + SLOT_OFFSET(3), + SLOT_OFFSET(4), + SLOT_OFFSET(5), + }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A9AD0.s") +char sZeldaMagic[] = { '\0', '\0', '\0', '\x98', '\x09', '\x10', '\x21', 'Z', 'E', 'L', 'D', 'A' }; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A9CD4.s") +SavePlayerData sNewSavePlayerData = { + { '\0', '\0', '\0', '\0', '\0', '\0' }, // newf + 0, // deaths + { 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E }, // playerName + 0, // n64ddFlag + 0x30, // healthCapacity + 0x30, // heartStatus + 0, // magicLevel + 0x30, // magic + 0, // rupees + 0, // swordHealth + 0, // naviTimer + 0, // magicAcquired + 0, // unk_1F + 0, // doubleMagic + 0, // doubleDefense + 0, // bgsFlag + 0, // ocarinaGameReward + { + { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems + { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots + 0, // equipment + }, // childEquips + { + { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems + { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots + 0, // equipment + }, // adultEquips + 0, // unk_38 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // unk_3C + 0x34, // savedSceneNum +}; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/func_800A9D28.s") +ItemEquips sNewSaveEquips = { + { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems + { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots + 0x1100, // equipment +}; + +Inventory sNewSaveInventory = { + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, // items + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // ammo + 0x1100, // equipment + 0, // upgrades + 0, // questItems + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // dungeonItems + { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + }, // dungeonKeys + 0, // defenseHearts + 0, // gsTokens +}; + +u16 sNewSaveChecksum = 0; + +/** + * Initialize new save. + * This save has an empty inventory with 3 hearts and single magic. + */ +void Sram_InitNewSave(void) { + SaveContext* temp = &gSaveContext; + + bzero(&SAVE_INFO, sizeof(SaveInfo)); + gSaveContext.numDays = 0; + gSaveContext.unk_18 = 0; + + SAVE_PLAYER_DATA = sNewSavePlayerData; + gSaveContext.equips = sNewSaveEquips; + gSaveContext.inventory = sNewSaveInventory; + + temp->checksum = sNewSaveChecksum; + gSaveContext.horseData.scene = SCENE_SPOT00; + gSaveContext.horseData.pos.x = -1840; + gSaveContext.horseData.pos.y = 72; + gSaveContext.horseData.pos.z = 5497; + gSaveContext.horseData.angle = -0x6AD9; + gSaveContext.magicLevel = 0; + gSaveContext.infTable[29] = 1; + gSaveContext.sceneFlags[5].swch = 0x40000000; +} + +SavePlayerData sDebugSavePlayerData = { + { 'Z', 'E', 'L', 'D', 'A', 'Z' }, // newf + 0, // deaths + { 0x15, 0x12, 0x17, 0x14, 0x3E, 0x3E, 0x3E, 0x3E }, // playerName ( "LINK" ) + 0, // n64ddFlag + 0xE0, // healthCapacity + 0xE0, // health + 0, // magicLevel + 0x30, // magic + 150, // rupees + 8, // swordHealth + 0, // naviTimer + 1, // magicAcquired + 0, // unk_1F + 0, // doubleMagic + 0, // doubleDefense + 0, // bgsFlag + 0, // ocarinaGameReward + { + { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems + { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots + 0, // equipment + }, // childEquips + { + { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems + { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots + 0, // equipment + }, // adultEquips + 0, // unk_38 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // unk_3C + 0x51, // savedSceneNum +}; + +ItemEquips sDebugSaveEquips = { + { ITEM_SWORD_MASTER, ITEM_BOW, ITEM_BOMB, ITEM_OCARINA_FAIRY }, // buttonItems + { SLOT_BOW, SLOT_BOMB, SLOT_OCARINA }, // cButtonSlots + 0x1122, // equipment +}; + +Inventory sDebugSaveInventory = { + { ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, + ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, + ITEM_BOTTLE, ITEM_POTION_RED, ITEM_POTION_GREEN, ITEM_POTION_BLUE, ITEM_POCKET_EGG, ITEM_WEIRD_EGG }, // items + { 50, 50, 10, 30, 1, 1, 30, 1, 50, 1, 1, 1, 1, 1, 1, 1 }, // ammo + 0x7777, // equipment + 0x125249, // upgrades + 0x1E3FFFF, // questItems + { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // dungeonItems + { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }, // dungeonKeys + 0, // defenseHearts + 0, // gsTokens +}; + +u16 sDebugSaveChecksum = 0; + +/** + * Initialize debug save. This is also used on the Title Screen + * This save has a mostly full inventory with 10 hearts and single magic. + * + * Some noteable flags that are set: + * Showed Mido sword/shield, met Deku Tree, Deku Tree mouth opened, + * used blue warp in Gohmas room, Zelda fled castle, light arrow cutscene watched, + * and set water level in Water Temple to lowest level. + */ +void Sram_InitDebugSave(void) { + SaveContext* temp = &gSaveContext; + + bzero(&SAVE_INFO, sizeof(SaveInfo)); + gSaveContext.numDays = 0; + gSaveContext.unk_18 = 0; + + SAVE_PLAYER_DATA = sDebugSavePlayerData; + gSaveContext.equips = sDebugSaveEquips; + gSaveContext.inventory = sDebugSaveInventory; + + temp->checksum = sDebugSaveChecksum; + gSaveContext.horseData.scene = SCENE_SPOT00; + gSaveContext.horseData.pos.x = -1840; + gSaveContext.horseData.pos.y = 72; + gSaveContext.horseData.pos.z = 5497; + gSaveContext.horseData.angle = -0x6AD9; + gSaveContext.infTable[0] |= 0x5009; + gSaveContext.eventChkInf[0] |= 0x123F; + gSaveContext.eventChkInf[8] |= 1; + gSaveContext.eventChkInf[12] |= 0x10; + + if (LINK_AGE_IN_YEARS == YEARS_CHILD) { + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; + Inventory_ChangeEquipment(EQUIP_SWORD, 1); + if (gSaveContext.fileNum == 0xFF) { + gSaveContext.equips.buttonItems[1] = ITEM_SLINGSHOT; + gSaveContext.equips.cButtonSlots[0] = SLOT_SLINGSHOT; + Inventory_ChangeEquipment(EQUIP_SHIELD, 1); + } + } + + gSaveContext.entranceIndex = 0xCD; + gSaveContext.magicLevel = 0; + gSaveContext.sceneFlags[5].swch = 0x40000000; +} + +/** + * Copy save currently on the buffer to Save Context and complete various tasks to open the save. + * This includes: + * - Set proper entrance depending on where the game was saved + * - If health is less than 3 hearts, give 3 hearts + * - If either scarecrow song is set, copy them from save context to the proper location + * - Handle a case where the player saved and quit after zelda cutscene but didnt get the song + * - Give and equip master sword if player is adult and doesnt have kokiri sword (bug?) + * - Revert any trade items that spoil + */ +#ifdef NON_MATCHING +// regalloc differences at the end +void Sram_OpenSave(SramContext* sramCtx) { + static s16 dungeonEntrances[] = { + 0x0000, 0x0004, 0x0028, 0x0169, 0x0165, 0x0010, 0x0082, 0x0037, + 0x0098, 0x0088, 0x041B, 0x0008, 0x0486, 0x0467, 0x0179, 0x056C, + }; + u16 i; + u16 j; + u8* ptr; + + osSyncPrintf("個人File作成\n"); // Create personal file + i = gSramSlotOffsets[0][gSaveContext.fileNum]; + osSyncPrintf("ぽいんと=%x(%d)\n", i, gSaveContext.fileNum); // Point= + + MemCopy(&gSaveContext, sramCtx->readBuff + i, sizeof(Save)); + + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("SCENE_DATA_ID = %d SceneNo = %d\n", gSaveContext.savedSceneNum, + ((void)0, gSaveContext.entranceIndex)); + + switch (gSaveContext.savedSceneNum) { + case SCENE_YDAN: + case SCENE_DDAN: + case SCENE_BDAN: + case SCENE_BMORI1: + case SCENE_HIDAN: + case SCENE_MIZUSIN: + case SCENE_JYASINZOU: + case SCENE_HAKADAN: + case SCENE_HAKADANCH: + case SCENE_ICE_DOUKUTO: + case SCENE_GANON: + case SCENE_MEN: + case SCENE_GERUDOWAY: + case SCENE_GANONTIKA: + gSaveContext.entranceIndex = dungeonEntrances[gSaveContext.savedSceneNum]; + break; + case SCENE_YDAN_BOSS: + gSaveContext.entranceIndex = 0; + break; + case SCENE_DDAN_BOSS: + gSaveContext.entranceIndex = 4; + break; + case SCENE_BDAN_BOSS: + gSaveContext.entranceIndex = 0x28; + break; + case SCENE_MORIBOSSROOM: + gSaveContext.entranceIndex = 0x169; + break; + case SCENE_FIRE_BS: + gSaveContext.entranceIndex = 0x165; + break; + case SCENE_MIZUSIN_BS: + gSaveContext.entranceIndex = 0x10; + break; + case SCENE_JYASINBOSS: + gSaveContext.entranceIndex = 0x82; + break; + case SCENE_HAKADAN_BS: + gSaveContext.entranceIndex = 0x37; + break; + case SCENE_GANON_SONOGO: + case SCENE_GANONTIKA_SONOGO: + case SCENE_GANON_BOSS: + case SCENE_GANON_FINAL: + case SCENE_GANON_DEMO: + gSaveContext.entranceIndex = 0x41B; + break; + + default: + if (gSaveContext.savedSceneNum != SCENE_LINK_HOME) { + gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? 0xBB : 0x5F4; + } else { + gSaveContext.entranceIndex = 0xBB; + } + break; + } + + osSyncPrintf("scene_no = %d\n", gSaveContext.entranceIndex); + osSyncPrintf(VT_RST); + + if (gSaveContext.health < 0x30) { + gSaveContext.health = 0x30; + } + + if (gSaveContext.scarecrowCustomSongSet) { + osSyncPrintf(VT_FGCOL(BLUE)); + osSyncPrintf("\n====================================================================\n"); + + MemCopy(gScarecrowCustomSongPtr, &gSaveContext.scarecrowCustomSong, 0x360); + + ptr = gScarecrowCustomSongPtr; + for (i = 0; i < 0x360; i++, ptr++) { + osSyncPrintf("%d, ", *ptr); + } + + osSyncPrintf("\n====================================================================\n"); + osSyncPrintf(VT_RST); + } + + if (gSaveContext.scarecrowSpawnSongSet) { + osSyncPrintf(VT_FGCOL(GREEN)); + osSyncPrintf("\n====================================================================\n"); + + MemCopy(gScarecrowSpawnSongPtr, &gSaveContext.scarecrowSpawnSong, 0x80); + + ptr = gScarecrowSpawnSongPtr; + for (i = 0; i < 0x80; i++, ptr++) { + osSyncPrintf("%d, ", *ptr); + } + + osSyncPrintf("\n====================================================================\n"); + osSyncPrintf(VT_RST); + } + + // if zelda cutscene has been watched but lullaby was not obtained, restore cutscene and take away letter + if ((gSaveContext.eventChkInf[4] & 1) && !CHECK_QUEST_ITEM(QUEST_SONG_LULLABY)) { + gSaveContext.eventChkInf[4] &= ~1; + INV_CONTENT(ITEM_LETTER_ZELDA) = ITEM_CHICKEN; + + for (i = 1; i < 4; i++) { + if (gSaveContext.equips.buttonItems[i] == ITEM_LETTER_ZELDA) { + gSaveContext.equips.buttonItems[i] = ITEM_CHICKEN; + } + } + } + + // check for owning kokiri sword.. to restore master sword? bug or debug feature? + if (LINK_AGE_IN_YEARS == YEARS_ADULT && !CHECK_OWNED_EQUIP(EQUIP_SWORD, 1)) { + gSaveContext.inventory.equipment |= gBitFlags[1] << gEquipShifts[EQUIP_SWORD]; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; + gSaveContext.equips.equipment &= ~0xF; + gSaveContext.equips.equipment |= 2; + } + + for (i = 0; i < ARRAY_COUNT(gSpoilingItems); i++) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[i]) { + INV_CONTENT(gSpoilingItemReverts[i]) = gSpoilingItemReverts[i]; + + for (j = 1; j < 4; j++) { + if (gSaveContext.equips.buttonItems[j] == gSpoilingItems[i]) { + gSaveContext.equips.buttonItems[j] = gSpoilingItemReverts[i]; + } + } + } + } + + gSaveContext.magicLevel = 0; +} +#else +s16 dungeonEntrances[] = { + 0x0000, 0x0004, 0x0028, 0x0169, 0x0165, 0x0010, 0x0082, 0x0037, + 0x0098, 0x0088, 0x041B, 0x0008, 0x0486, 0x0467, 0x0179, 0x056C, +}; +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/Sram_OpenSave.s") +#endif + +/** + * Write the contents of the Save Context to a main and backup slot in SRAM. + * Note: The whole Save Context is written even though only the `save` substruct is read back later + */ +void Sram_WriteSave(s32 unused) { + u16 offset; + u16 checksum; + u16 j; + u16* ptr; + + gSaveContext.checksum = 0; + + ptr = (u16*)&gSaveContext; + checksum = 0; + j = 0; + + for (offset = 0; offset < CHECKSUM_SIZE; offset++) { + if (++j == 0x20U) { + j = 0; + } + checksum += *ptr++; + } + + gSaveContext.checksum = checksum; + + ptr = (u16*)&gSaveContext; + checksum = 0; + + for (offset = 0; offset < CHECKSUM_SIZE; offset++) { + if (++j == 0x20U) { + j = 0; + } + checksum += *ptr++; + } + + offset = gSramSlotOffsets[0][gSaveContext.fileNum]; + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); + + ptr = (u16*)&gSaveContext; + checksum = 0; + + for (offset = 0; offset < CHECKSUM_SIZE; offset++) { + if (++j == 0x20U) { + j = 0; + } + checksum += *ptr++; + } + + offset = gSramSlotOffsets[1][gSaveContext.fileNum]; + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); +} + +/** + * For all 3 slots, verify that the checksum is correct. If corrupted, attempt to load a backup save. + * If backup is also corrupted, default to a new save (or debug save for slot 0 on debug rom). + * + * After verifying all 3 saves, pass relevant data to File Select to be displayed. + */ +#ifdef NON_MATCHING +// There's a problem with how "offset" is loaded +void Sram_VerifyAndLoadAllSaves(FileChooseContext* fileChooseCtx, SramContext* sramCtx) { + u16 slotNum; // 0x72 + u16 oldChecksum; + u16 newChecksum; + u16 dayTime; // 0x66 + // u16* offPtr; + s32 offset; + u16 i; + u16 j; + u16* ptr; + + osSyncPrintf("SRAM START─LOAD\n"); + bzero(sramCtx->readBuff, SRAM_SIZE); + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ); + + dayTime = gSaveContext.dayTime; + + for (slotNum = 0; slotNum < 3; slotNum++) { + offset = gSramSlotOffsets[0][slotNum]; + osSyncPrintf("ぽいんと=%x(%d) SAVE_MAX=%d\n", offset, gSaveContext.fileNum, sizeof(Save)); + MemCopy(&gSaveContext, sramCtx->readBuff + offset, sizeof(Save)); + + oldChecksum = gSaveContext.checksum; + gSaveContext.checksum = 0; + osSyncPrintf("\n============= S(%d) =============\n", slotNum); + + // j = 0; + newChecksum = 0; + ptr = (u16*)&gSaveContext; + for (i = 0; i < CHECKSUM_SIZE; i++) { + j += 2; + newChecksum += *ptr++; + } + + // SAVE checksum calculation + osSyncPrintf("\nSAVEチェックサム計算 j=%x mmm=%x ", newChecksum, oldChecksum); + + if (oldChecksum != newChecksum) { + // checksum didnt match, try backup save + osSyncPrintf("ERROR!!! = %x(%d)\n", offset, slotNum); + offset = gSramSlotOffsets[1][slotNum]; + MemCopy(&gSaveContext, sramCtx->readBuff + offset, sizeof(Save)); + + oldChecksum = gSaveContext.checksum; + gSaveContext.checksum = 0; + osSyncPrintf("================= BACK─UP ========================\n"); + + newChecksum = 0; + ptr = (u16*)&gSaveContext; + for (i = 0; i < CHECKSUM_SIZE; i++) { + j += 2; + newChecksum += *ptr++; + } + // (B) SAVE checksum calculation + osSyncPrintf("\n(B)SAVEチェックサム計算 j=%x mmm=%x ", newChecksum, oldChecksum); + + if (oldChecksum != newChecksum) { + // backup save didnt work, make new save + // offPtr = &gSramSlotOffsets[1][slotNum]; + osSyncPrintf("ERROR!!! = %x(%d+3)\n", offset, slotNum); + bzero(&gSaveContext.entranceIndex, sizeof(gSaveContext.entranceIndex)); + bzero(&gSaveContext.linkAge, sizeof(gSaveContext.linkAge)); + bzero(&gSaveContext.cutsceneIndex, sizeof(gSaveContext.cutsceneIndex)); + bzero(&gSaveContext.dayTime, sizeof(gSaveContext.dayTime)); + bzero(&gSaveContext.nightFlag, sizeof(gSaveContext.nightFlag)); + bzero(&gSaveContext.numDays, sizeof(gSaveContext.numDays)); + bzero(&gSaveContext.unk_18, sizeof(gSaveContext.unk_18)); + + if (slotNum == 0) { + Sram_InitDebugSave(); + gSaveContext.newf[0] = 'Z'; + gSaveContext.newf[1] = 'E'; + gSaveContext.newf[2] = 'L'; + gSaveContext.newf[3] = 'D'; + gSaveContext.newf[4] = 'A'; + gSaveContext.newf[5] = 'Z'; + osSyncPrintf("newf=%x,%x,%x,%x,%x,%x\n", gSaveContext.newf[0], gSaveContext.newf[1], + gSaveContext.newf[2], gSaveContext.newf[3], gSaveContext.newf[4], + gSaveContext.newf[5]); + } else { + Sram_InitNewSave(); + } + + osSyncPrintf("\n--------------------------------------------------------------\n"); + + j = 0; + newChecksum = 0; + ptr = (u16*)&gSaveContext; + for (i = 0; i < CHECKSUM_SIZE; i++) { + osSyncPrintf("%x ", *ptr); + if (++j == 0x20) { + osSyncPrintf("\n"); + j = 0; + } + newChecksum += *ptr++; + } + + gSaveContext.checksum = newChecksum; + osSyncPrintf("\nCheck_Sum=%x(%x)\n", gSaveContext.checksum, newChecksum); + + offset = gSramSlotOffsets[1][slotNum]; + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); + + osSyncPrintf("????#%x,%x,%x,%x,%x,%x\n", gSaveContext.newf[0], gSaveContext.newf[1], + gSaveContext.newf[2], gSaveContext.newf[3], gSaveContext.newf[4], gSaveContext.newf[5]); + osSyncPrintf("\nぽいんと=%x(%d+3) check_sum=%x(%x)\n", offset, slotNum, gSaveContext.checksum, + newChecksum); + } + + offset = gSramSlotOffsets[0][slotNum]; + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); + + osSyncPrintf("ぽいんと=%x(%d) check_sum=%x(%x)\n", offset, slotNum, gSaveContext.checksum, newChecksum); + } else { + // SAVE data OK! ! ! ! + osSyncPrintf("\nSAVEデータ OK!!!!\n"); + } + } + + bzero(sramCtx->readBuff, SRAM_SIZE); + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ); + gSaveContext.dayTime = dayTime; + + osSyncPrintf("SAVECT=%x, NAME=%x, LIFE=%x, ITEM=%x, 64DD=%x, HEART=%x\n", DEATHS, NAME, HEALTH_CAP, QUEST, N64DD, + DEFENSE); + + MemCopy(&fileChooseCtx->deaths[0], sramCtx->readBuff + SLOT_OFFSET(0) + DEATHS, sizeof(fileChooseCtx->deaths[0])); + MemCopy(&fileChooseCtx->deaths[1], sramCtx->readBuff + SLOT_OFFSET(1) + DEATHS, sizeof(fileChooseCtx->deaths[0])); + MemCopy(&fileChooseCtx->deaths[2], sramCtx->readBuff + SLOT_OFFSET(2) + DEATHS, sizeof(fileChooseCtx->deaths[0])); + + MemCopy(&fileChooseCtx->fileNames[0], sramCtx->readBuff + SLOT_OFFSET(0) + NAME, + sizeof(fileChooseCtx->fileNames[0])); + MemCopy(&fileChooseCtx->fileNames[1], sramCtx->readBuff + SLOT_OFFSET(1) + NAME, + sizeof(fileChooseCtx->fileNames[0])); + MemCopy(&fileChooseCtx->fileNames[2], sramCtx->readBuff + SLOT_OFFSET(2) + NAME, + sizeof(fileChooseCtx->fileNames[0])); + + MemCopy(&fileChooseCtx->healthCapacities[0], sramCtx->readBuff + SLOT_OFFSET(0) + HEALTH_CAP, + sizeof(fileChooseCtx->healthCapacities[0])); + MemCopy(&fileChooseCtx->healthCapacities[1], sramCtx->readBuff + SLOT_OFFSET(1) + HEALTH_CAP, + sizeof(fileChooseCtx->healthCapacities[0])); + MemCopy(&fileChooseCtx->healthCapacities[2], sramCtx->readBuff + SLOT_OFFSET(2) + HEALTH_CAP, + sizeof(fileChooseCtx->healthCapacities[0])); + + MemCopy(&fileChooseCtx->questItems[0], sramCtx->readBuff + SLOT_OFFSET(0) + QUEST, + sizeof(fileChooseCtx->questItems[0])); + MemCopy(&fileChooseCtx->questItems[1], sramCtx->readBuff + SLOT_OFFSET(1) + QUEST, + sizeof(fileChooseCtx->questItems[0])); + MemCopy(&fileChooseCtx->questItems[2], sramCtx->readBuff + SLOT_OFFSET(2) + QUEST, + sizeof(fileChooseCtx->questItems[0])); + + MemCopy(&fileChooseCtx->n64ddFlags[0], sramCtx->readBuff + SLOT_OFFSET(0) + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + MemCopy(&fileChooseCtx->n64ddFlags[1], sramCtx->readBuff + SLOT_OFFSET(1) + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + MemCopy(&fileChooseCtx->n64ddFlags[2], sramCtx->readBuff + SLOT_OFFSET(2) + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + + MemCopy(&fileChooseCtx->heartStatus[0], sramCtx->readBuff + SLOT_OFFSET(0) + DEFENSE, + sizeof(fileChooseCtx->heartStatus[0])); + MemCopy(&fileChooseCtx->heartStatus[1], sramCtx->readBuff + SLOT_OFFSET(1) + DEFENSE, + sizeof(fileChooseCtx->heartStatus[0])); + MemCopy(&fileChooseCtx->heartStatus[2], sramCtx->readBuff + SLOT_OFFSET(2) + DEFENSE, + sizeof(fileChooseCtx->heartStatus[0])); + + MemCopy(&fileChooseCtx->nowLife[0], sramCtx->readBuff + SLOT_OFFSET(0) + HEALTH, sizeof(fileChooseCtx->nowLife[0])); + MemCopy(&fileChooseCtx->nowLife[1], sramCtx->readBuff + SLOT_OFFSET(1) + HEALTH, sizeof(fileChooseCtx->nowLife[0])); + MemCopy(&fileChooseCtx->nowLife[2], sramCtx->readBuff + SLOT_OFFSET(2) + HEALTH, sizeof(fileChooseCtx->nowLife[0])); + + osSyncPrintf("f_64dd=%d, %d, %d\n", fileChooseCtx->n64ddFlags[0], fileChooseCtx->n64ddFlags[1], + fileChooseCtx->n64ddFlags[2]); + osSyncPrintf("heart_status=%d, %d, %d\n", fileChooseCtx->heartStatus[0], fileChooseCtx->heartStatus[1], + fileChooseCtx->heartStatus[2]); + osSyncPrintf("now_life=%d, %d, %d\n", fileChooseCtx->nowLife[0], fileChooseCtx->nowLife[1], + fileChooseCtx->nowLife[2]); +} +#else +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram/Sram_VerifyAndLoadAllSaves.s") +#endif + +void Sram_InitSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) { + u16 offset; + u16 j; + u16* ptr; + u16 checksum; + + if (fileChooseCtx->btnIdx != 0) { + Sram_InitNewSave(); + } else { + Sram_InitDebugSave(); + } + + gSaveContext.entranceIndex = 0xBB; + gSaveContext.linkAge = 1; + gSaveContext.dayTime = 0x6AAB; + gSaveContext.cutsceneIndex = 0xFFF1; + + if (fileChooseCtx->btnIdx == 0) { + gSaveContext.cutsceneIndex = 0; + } + + for (offset = 0; offset < 8; offset++) { + gSaveContext.playerName[offset] = fileChooseCtx->fileNames[fileChooseCtx->btnIdx][offset]; + } + + gSaveContext.newf[0] = 'Z'; + gSaveContext.newf[1] = 'E'; + gSaveContext.newf[2] = 'L'; + gSaveContext.newf[3] = 'D'; + gSaveContext.newf[4] = 'A'; + gSaveContext.newf[5] = 'Z'; + + gSaveContext.n64ddFlag = fileChooseCtx->n64ddFlag; + osSyncPrintf("64DDフラグ=%d\n", fileChooseCtx->n64ddFlag); + osSyncPrintf("newf=%x,%x,%x,%x,%x,%x\n", gSaveContext.newf[0], gSaveContext.newf[1], gSaveContext.newf[2], + gSaveContext.newf[3], gSaveContext.newf[4], gSaveContext.newf[5]); + osSyncPrintf("\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"); + + ptr = (u16*)&gSaveContext; + j = 0; + checksum = 0; + + for (offset = 0; offset < CHECKSUM_SIZE; offset++) { + osSyncPrintf("%x ", *ptr); + checksum += *ptr++; + if (++j == 0x20u) { + osSyncPrintf("\n"); + j = 0; + } + } + + gSaveContext.checksum = checksum; + osSyncPrintf("\nチェックサム=%x\n", gSaveContext.checksum); // Checksum = %x + + offset = gSramSlotOffsets[0][gSaveContext.fileNum]; + osSyncPrintf("I=%x no=%d\n", offset, gSaveContext.fileNum); + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + + offset = gSramSlotOffsets[1][gSaveContext.fileNum]; + osSyncPrintf("I=%x no=%d\n", offset, gSaveContext.fileNum + 3); + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE); + + // SAVE end + osSyncPrintf("SAVE終了\n"); + osSyncPrintf("z_common_data.file_no = %d\n", gSaveContext.fileNum); + osSyncPrintf("SAVECT=%x, NAME=%x, LIFE=%x, ITEM=%x, SAVE_64DD=%x\n", DEATHS, NAME, HEALTH_CAP, QUEST, N64DD); + + j = gSramSlotOffsets[0][gSaveContext.fileNum]; + + MemCopy(&fileChooseCtx->deaths[gSaveContext.fileNum], sramCtx->readBuff + j + DEATHS, + sizeof(fileChooseCtx->deaths[0])); + MemCopy(&fileChooseCtx->fileNames[gSaveContext.fileNum], sramCtx->readBuff + j + NAME, + sizeof(fileChooseCtx->fileNames[0])); + MemCopy(&fileChooseCtx->healthCapacities[gSaveContext.fileNum], sramCtx->readBuff + j + HEALTH_CAP, + sizeof(fileChooseCtx->healthCapacities[0])); + MemCopy(&fileChooseCtx->questItems[gSaveContext.fileNum], sramCtx->readBuff + j + QUEST, + sizeof(fileChooseCtx->questItems[0])); + MemCopy(&fileChooseCtx->n64ddFlags[gSaveContext.fileNum], sramCtx->readBuff + j + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + MemCopy(&fileChooseCtx->heartStatus[gSaveContext.fileNum], sramCtx->readBuff + j + DEFENSE, + sizeof(fileChooseCtx->heartStatus[0])); + MemCopy(&fileChooseCtx->nowLife[gSaveContext.fileNum], sramCtx->readBuff + j + HEALTH, + sizeof(fileChooseCtx->nowLife[0])); + + osSyncPrintf("f_64dd[%d]=%d\n", gSaveContext.fileNum, fileChooseCtx->n64ddFlags[gSaveContext.fileNum]); + osSyncPrintf("heart_status[%d]=%d\n", gSaveContext.fileNum, fileChooseCtx->heartStatus[gSaveContext.fileNum]); + osSyncPrintf("now_life[%d]=%d\n", gSaveContext.fileNum, fileChooseCtx->nowLife[gSaveContext.fileNum]); +} + +void Sram_EraseSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) { + s32 offset; + + Sram_InitNewSave(); + + offset = gSramSlotOffsets[0][fileChooseCtx->selectedFileIdx]; + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); + + MemCopy(&fileChooseCtx->n64ddFlags[fileChooseCtx->selectedFileIdx], sramCtx->readBuff + offset + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + + offset = gSramSlotOffsets[1][fileChooseCtx->selectedFileIdx]; + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE); + + osSyncPrintf("CLEAR終了\n"); +} + +void Sram_CopySave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) { + s32 offset; + + osSyncPrintf("READ=%d(%x) COPY=%d(%x)\n", fileChooseCtx->selectedFileIdx, + gSramSlotOffsets[0][fileChooseCtx->selectedFileIdx], fileChooseCtx->copyDestFileIdx, + gSramSlotOffsets[0][fileChooseCtx->copyDestFileIdx]); + + offset = gSramSlotOffsets[0][fileChooseCtx->selectedFileIdx]; + MemCopy(&gSaveContext, sramCtx->readBuff + offset, sizeof(Save)); + + offset = gSramSlotOffsets[0][fileChooseCtx->copyDestFileIdx]; + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + + offset = gSramSlotOffsets[1][fileChooseCtx->copyDestFileIdx]; + MemCopy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save)); + + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE); + + offset = gSramSlotOffsets[0][fileChooseCtx->copyDestFileIdx]; + + MemCopy(&fileChooseCtx->deaths[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + DEATHS, + sizeof(fileChooseCtx->deaths[0])); + MemCopy(&fileChooseCtx->fileNames[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + NAME, + sizeof(fileChooseCtx->fileNames[0])); + MemCopy(&fileChooseCtx->healthCapacities[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + HEALTH_CAP, + sizeof(fileChooseCtx->healthCapacities[0])); + MemCopy(&fileChooseCtx->questItems[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + QUEST, + sizeof(fileChooseCtx->questItems[0])); + MemCopy(&fileChooseCtx->n64ddFlags[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + N64DD, + sizeof(fileChooseCtx->n64ddFlags[0])); + MemCopy(&fileChooseCtx->heartStatus[fileChooseCtx->copyDestFileIdx], sramCtx->readBuff + offset + DEFENSE, + sizeof(fileChooseCtx->heartStatus[0])); + MemCopy(&fileChooseCtx->nowLife[fileChooseCtx->copyDestFileIdx], (sramCtx->readBuff + offset) + HEALTH, + sizeof(fileChooseCtx->nowLife[0])); + + osSyncPrintf("f_64dd[%d]=%d\n", gSaveContext.fileNum, fileChooseCtx->n64ddFlags[gSaveContext.fileNum]); + osSyncPrintf("heart_status[%d]=%d\n", gSaveContext.fileNum, fileChooseCtx->heartStatus[gSaveContext.fileNum]); + osSyncPrintf("COPY終了\n"); // Copy end +} + +void Sram_Write16Bytes(SramContext* sramCtx) { + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, 0x10, OS_WRITE); +} + +void Sram_InitSram(GameState* gameState, SramContext* sramCtx) { + u16 i; + + osSyncPrintf("sram_initialize( Game *game, Sram *sram )\n"); + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ); + + for (i = 0; i < ARRAY_COUNTU(sZeldaMagic) - 3; i++) { + if (sZeldaMagic[i + 3] != sramCtx->readBuff[i + 3]) { + // SRAM destruction! ! ! ! ! ! + osSyncPrintf("SRAM破壊!!!!!!\n"); + gSaveContext.language = sramCtx->readBuff[2]; + MemCopy(sramCtx->readBuff, sZeldaMagic, sizeof(sZeldaMagic)); + sramCtx->readBuff[2] = gSaveContext.language; + Sram_Write16Bytes(sramCtx); + } + } + + gSaveContext.audioSetting = sramCtx->readBuff[0] & 3; + gSaveContext.zTargetSetting = sramCtx->readBuff[1] & 1; + gSaveContext.language = sramCtx->readBuff[2]; + + if (gSaveContext.language > 2) { + gSaveContext.language = 0; + sramCtx->readBuff[2] = gSaveContext.language; + Sram_Write16Bytes(sramCtx); + } + + if (CHECK_BTN_ANY(gameState->input[2].cur.button, BTN_DRIGHT)) { + bzero(sramCtx->readBuff, SRAM_SIZE); + for (i = 0; i < CHECKSUM_SIZE; i++) { + sramCtx->readBuff[i] = i; + } + SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE); + // SRAM destruction! ! ! ! ! ! + osSyncPrintf("SRAM破壊!!!!!!\n"); + } + + // GOOD! GOOD! Size =% d +% d =% d + osSyncPrintf("GOOD!GOOD! サイズ=%d + %d = %d\n", sizeof(SaveInfo), 4, sizeof(SaveInfo) + 4); + osSyncPrintf(VT_FGCOL(BLUE)); + osSyncPrintf("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting); + osSyncPrintf("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting); + osSyncPrintf("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting); + osSyncPrintf(VT_RST); + func_800F6700(gSaveContext.audioSetting); +} + +void Sram_Alloc(GameState* gameState, SramContext* sramCtx) { + sramCtx->readBuff = GameState_Alloc(gameState, SRAM_SIZE, "../z_sram.c", 1294); + + if (!(sramCtx->readBuff != NULL)) { + __assert("sram->read_buff != NULL", "../z_sram.c", 1295); + } +} + +void Sram_Init(GlobalContext* globalCtx, SramContext* sramCtx) { +} diff --git a/src/code/z_ss_sram.c b/src/code/z_ss_sram.c new file mode 100644 index 0000000000..6f929678c8 --- /dev/null +++ b/src/code/z_ss_sram.c @@ -0,0 +1,53 @@ +#include "ultra64.h" +#include "global.h" + +typedef struct { + /* 0x00 */ OSPiHandle piHandle; + /* 0x74 */ OSIoMesg ioMesg; + /* 0x8C */ OSMesgQueue mesgQ; +} SsSramContext; // size = 0xA4 + +SsSramContext sSsSramContext = { 0 }; + +void SsSram_Init(u32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration, + u8 handlePulse, u32 handleSpeed) { + u32 intDisabled; + OSPiHandle* handle = &sSsSramContext.piHandle; + + if ((u32)OS_PHYSICAL_TO_K1(addr) != (*handle).baseAddress) { + sSsSramContext.piHandle.type = handleType; + (*handle).baseAddress = OS_PHYSICAL_TO_K1(addr); + sSsSramContext.piHandle.latency = handleLatency; + sSsSramContext.piHandle.pulse = handlePulse; + sSsSramContext.piHandle.pageSize = handlePageSize; + sSsSramContext.piHandle.relDuration = handleRelDuration; + sSsSramContext.piHandle.domain = handleDomain; + sSsSramContext.piHandle.speed = handleSpeed; + bzero(&sSsSramContext.piHandle.transferInfo, sizeof(__OSTranxInfo)); + intDisabled = __osDisableInt(); + sSsSramContext.piHandle.next = __osPiTable; + __osPiTable = &sSsSramContext.piHandle; + __osRestoreInt(intDisabled); + sSsSramContext.ioMesg.hdr.pri = 0; + sSsSramContext.ioMesg.hdr.retQueue = &sSsSramContext.mesgQ; + sSsSramContext.ioMesg.devAddr = addr; + } +} + +void SsSram_Dma(void* dramAddr, size_t size, s32 direction) { + OSMesg mesg; + + osCreateMesgQueue(&sSsSramContext.mesgQ, &mesg, 1); + sSsSramContext.ioMesg.dramAddr = dramAddr; + sSsSramContext.ioMesg.size = size; + osWritebackDCache(dramAddr, size); + osEPiStartDma(&sSsSramContext.piHandle, &sSsSramContext.ioMesg, direction); + osRecvMesg(&sSsSramContext.mesgQ, &mesg, OS_MESG_BLOCK); + osInvalDCache(dramAddr, size); +} + +void SsSram_ReadWrite(u32 addr, void* dramAddr, size_t size, s32 direction) { + osSyncPrintf("ssSRAMReadWrite:%08x %08x %08x %d\n", addr, dramAddr, size, direction); + SsSram_Init(addr, DEVICE_TYPE_SRAM, 1, 5, 0xD, 2, 0xC, 0); + SsSram_Dma(dramAddr, size, direction); +} diff --git a/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c b/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c index a24114dd06..ec4d23211e 100644 --- a/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c +++ b/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c @@ -104,7 +104,7 @@ s32 func_80994750(DoorGerudo* this, GlobalContext* globalCtx) { void func_8099485C(DoorGerudo* this, GlobalContext* globalCtx) { if (this->unk_164 != 0) { this->actionFunc = func_8099496C; - gSaveContext.dungeonKeys[gSaveContext.mapIndex] -= 1; + gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] -= 1; Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F); Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_CHAIN_KEY_UNLOCK); } else { @@ -113,7 +113,7 @@ void func_8099485C(DoorGerudo* this, GlobalContext* globalCtx) { if (direction != 0) { Player* player = PLAYER; - if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] <= 0) { + if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] <= 0) { player->naviMessageId = -0x203; } else if (!Flags_GetCollectible(globalCtx, (this->dyna.actor.params >> 8) & 0x1F)) { player->naviMessageId = -0x225; diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index d4af67f4a3..d8b52903aa 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -426,7 +426,7 @@ s32 func_80A3AEBC(GlobalContext* globalCtx, EnGirlA* this) { } s32 func_80A3AF30(GlobalContext* globalCtx, EnGirlA* this) { - if ((gBitFlags[2] & gSaveContext.equipment) && !(gBitFlags[3] & gSaveContext.equipment)) { + if ((gBitFlags[2] & gSaveContext.inventory.equipment) && !(gBitFlags[3] & gSaveContext.inventory.equipment)) { return 2; } if (gSaveContext.rupees < this->unk_1C8) { @@ -439,7 +439,7 @@ s32 func_80A3AF30(GlobalContext* globalCtx, EnGirlA* this) { } s32 func_80A3AFC4(GlobalContext* globalCtx, EnGirlA* this) { - if (gBitFlags[5] & gSaveContext.equipment) { + if (gBitFlags[5] & gSaveContext.inventory.equipment) { return 2; } if (gSaveContext.rupees < this->unk_1C8) { @@ -452,7 +452,7 @@ s32 func_80A3AFC4(GlobalContext* globalCtx, EnGirlA* this) { } s32 func_80A3B040(GlobalContext* globalCtx, EnGirlA* this) { - if (gBitFlags[4] & gSaveContext.equipment) { + if (gBitFlags[4] & gSaveContext.inventory.equipment) { return 2; } if (gSaveContext.rupees < this->unk_1C8) { @@ -468,7 +468,7 @@ s32 func_80A3B0BC(GlobalContext* globalCtx, EnGirlA* this) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { return 2; } - if (gBitFlags[9] & gSaveContext.equipment) { + if (gBitFlags[9] & gSaveContext.inventory.equipment) { return 2; } if (gSaveContext.rupees < this->unk_1C8) { @@ -484,7 +484,7 @@ s32 func_80A3B160(GlobalContext* globalCtx, EnGirlA* this) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { return 2; } - if (gBitFlags[10] & gSaveContext.equipment) { + if (gBitFlags[10] & gSaveContext.inventory.equipment) { return 2; } if (gSaveContext.rupees < this->unk_1C8) { diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c index aa9ce8a1ac..4e8d84a607 100644 --- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c +++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c @@ -234,7 +234,7 @@ void EnIshi_DropCollectible(EnIshi* this, GlobalContext* globalCtx) { if (dropParams >= 0xD) { dropParams = 0; } - + Item_DropCollectibleRandom(globalCtx, NULL, &this->actor.posRot.pos, dropParams << 4); } } diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 718959413f..2a72df2b17 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -169,13 +169,13 @@ void func_80A8F660(EnKakasi* this, GlobalContext* globalCtx) { this->unk_196 = 6; if (LINK_IS_CHILD) { this->unk_194 = false; - if (gSaveContext.unk_F3C[4] != 0) { + if (gSaveContext.scarecrowCustomSongSet) { this->actor.textId = 0x407A; this->unk_196 = 5; } } else { this->unk_194 = true; - if (gSaveContext.unk_F3C[4] != 0) { + if (gSaveContext.scarecrowCustomSongSet) { this->actor.textId = 0x4079; this->unk_196 = 5; } @@ -335,7 +335,7 @@ void EnKakasi_Draw(Actor* thisx, GlobalContext* globalCtx) { if (BREG(3) != 0) { osSyncPrintf("\n\n"); // flag! - osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.unk_F3C[4]); + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.scarecrowCustomSongSet); } func_80093D18(globalCtx->state.gfxCtx); SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, NULL, diff --git a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c index b3cb061f53..be25f5f20a 100644 --- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c +++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c @@ -205,7 +205,8 @@ void EnKakasi2_Update(Actor* thisx, GlobalContext* globalCtx) { } if (BREG(0) != 0) { if (BREG(5) != 0) { - osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ this->actor.player_distance ☆☆☆☆☆ %f\n" VT_RST, this->actor.xzDistFromLink); + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ this->actor.player_distance ☆☆☆☆☆ %f\n" VT_RST, + this->actor.xzDistFromLink); osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ this->hosei.x ☆☆☆☆☆ %f\n" VT_RST, this->maxSpawnDistance.x); osSyncPrintf("\n\n"); } diff --git a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c index b0e0acea6b..2ad430e028 100644 --- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c +++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c @@ -179,14 +179,14 @@ void func_80A91284(EnKakasi3* this, GlobalContext* globalCtx) { if (LINK_IS_CHILD) { this->unk_194 = false; - if (gSaveContext.unk_12C5 != 0) { + if (gSaveContext.scarecrowSpawnSongSet) { this->actor.textId = 0x40A0; this->dialogState = 5; this->unk_1A8 = 1; } } else { this->unk_194 = true; - if (gSaveContext.unk_12C5 != 0) { + if (gSaveContext.scarecrowSpawnSongSet) { if (this->unk_195) { this->actor.textId = 0x40A2; } else { @@ -238,7 +238,7 @@ void func_80A91348(EnKakasi3* this, GlobalContext* globalCtx) { if (this->actor.xzDistFromLink < 80.0f) { player->stateFlags2 |= 0x800000; } - } else if (gSaveContext.unk_12C5 != 0 && !this->unk_195) { + } else if (gSaveContext.scarecrowSpawnSongSet && !this->unk_195) { if (player->stateFlags2 & 0x1000000) { this->camId = func_800800F8(globalCtx, 0x8D4, -0x63, &this->actor, 0); @@ -341,7 +341,7 @@ void func_80A918E4(EnKakasi3* this, GlobalContext* globalCtx) { } if ((globalCtx->msgCtx.unk_E3EE == 4 || (globalCtx->msgCtx.unk_E3EE >= 5 && globalCtx->msgCtx.unk_E3EE < 11)) && globalCtx->msgCtx.msgMode == 0) { - + func_8010B680(globalCtx, 0x40A6, NULL); this->dialogState = 5; func_800803F0(globalCtx, this->camId); @@ -405,7 +405,7 @@ void EnKakasi3_Update(Actor* thisx, GlobalContext* globalCtx) { if (BREG(2) != 0) { osSyncPrintf("\n\n"); // flag! - osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.unk_12C5); + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.scarecrowSpawnSongSet); } this->unk_198++; diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c index 2b9998f894..2423df6535 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -83,13 +83,13 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) { if (gSaveContext.timer1Value >= 0xD3) { return 0x208E; } - if ((gSaveContext.unk_EC4 == 0) || (gSaveContext.unk_EC4 >= 0xB4)) { - gSaveContext.unk_EC4 = 0xB4; + if ((gSaveContext.horseRaceRecord == 0) || (gSaveContext.horseRaceRecord >= 0xB4)) { + gSaveContext.horseRaceRecord = 0xB4; gSaveContext.timer1Value = *timer1ValuePtr; } if (!(gSaveContext.eventChkInf[1] & 0x4000) && (gSaveContext.timer1Value < 0x32)) { return 0x208F; - } else if (gSaveContext.timer1Value < gSaveContext.unk_EC4) { + } else if (gSaveContext.timer1Value < gSaveContext.horseRaceRecord) { return 0x2012; } else { return 0x2004; @@ -126,7 +126,7 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) { if (globalCtx->msgCtx.choiceIndex == 0) { if (gSaveContext.eventChkInf[1] & 0x4000) { func_8010B720(globalCtx, 0x2091); - } else if (gSaveContext.unk_EC4 == 0) { + } else if (gSaveContext.horseRaceRecord == 0) { func_8010B720(globalCtx, 0x2092); } else { func_8010B720(globalCtx, 0x2090); @@ -144,8 +144,8 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) { gSaveContext.eventChkInf[1] |= 0x4000; case 0x2004: case 0x2012: - if (gSaveContext.unk_EC4 > gSaveContext.timer1Value) { - gSaveContext.unk_EC4 = gSaveContext.timer1Value; + if (gSaveContext.horseRaceRecord > gSaveContext.timer1Value) { + gSaveContext.horseRaceRecord = gSaveContext.timer1Value; } case 0x208E: gSaveContext.eventInf[0] &= ~0x400; diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index e6afa9516c..bcecb5aff1 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -117,7 +117,7 @@ void func_80ABEF2C(EnOkarinaTag* this, GlobalContext* globalCtx) { if ((this->switchFlag >= 0) && (Flags_GetSwitch(globalCtx, this->switchFlag))) { this->actor.flags &= ~1; } else { - if ((this->unk_152 != 6) || (gSaveContext.unk_12C5 != 0)) { + if ((this->unk_152 != 6) || (gSaveContext.scarecrowSpawnSongSet)) { if (player->stateFlags2 & 0x1000000) { // "North! ! ! ! !" osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 北!!!!! ☆☆☆☆☆ %f\n" VT_RST, this->actor.xzDistFromLink); @@ -189,7 +189,7 @@ void func_80ABF28C(EnOkarinaTag* this, GlobalContext* globalCtx) { Player* player = PLAYER; this->unk_15A++; - if ((this->unk_152 != 6) || (gSaveContext.unk_12C5 != 0)) { + if ((this->unk_152 != 6) || (gSaveContext.scarecrowSpawnSongSet)) { if ((this->switchFlag >= 0) && Flags_GetSwitch(globalCtx, this->switchFlag)) { this->actor.flags &= ~1; } else if (((this->unk_150 != 4) || !(gSaveContext.eventChkInf[4] & 0x800)) && diff --git a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c index 9792a5c0a3..9d34370265 100644 --- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c +++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c @@ -229,12 +229,11 @@ void func_80AE5270(EnReeba* this, GlobalContext* globalCtx) { this->actionfunc = func_80AE5688; return; } - + if (this->unk_274 == 0) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIVA_MOVE); this->unk_274 = 10; } - } void func_80AE538C(EnReeba* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Rl/z_en_rl.c b/src/overlays/actors/ovl_En_Rl/z_en_rl.c index 78ea321bbb..f72590aabb 100644 --- a/src/overlays/actors/ovl_En_Rl/z_en_rl.c +++ b/src/overlays/actors/ovl_En_Rl/z_en_rl.c @@ -396,4 +396,4 @@ const ActorInit En_Rl_InitVars = { (ActorFunc)EnRl_Destroy, (ActorFunc)EnRl_Update, (ActorFunc)EnRl_Draw, -}; \ No newline at end of file +}; diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c index e07be92745..552133f83b 100644 --- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c +++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c @@ -57,7 +57,7 @@ void EnTakaraMan_Init(Actor* thisx, GlobalContext* globalCtx) { osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n" VT_RST, globalCtx->actorCtx.flags.chest); // "Bun! %x" (needs a better translation) globalCtx->actorCtx.flags.chest = 0; - gSaveContext.dungeonKeys[gSaveContext.mapIndex] = -1; + gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] = -1; SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->limbDrawTbl, this->transitionDrawTbl, 10); thisx->posRot2.pos = thisx->posRot.pos; diff --git a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c index daa7d7477b..ca2271722c 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c @@ -268,10 +268,8 @@ void ObjSyokudai_Draw(Actor* thisx, GlobalContext* globalCtx) { gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0); Matrix_Translate(0.0f, 52.0f, 0.0f, MTXMODE_APPLY); - Matrix_RotateY( - (s16)(func_8005A9F4(ACTIVE_CAM) - this->actor.shape.rot.y + 0x8000) * - (M_PI / 0x8000), - MTXMODE_APPLY); + Matrix_RotateY((s16)(func_8005A9F4(ACTIVE_CAM) - this->actor.shape.rot.y + 0x8000) * (M_PI / 0x8000), + MTXMODE_APPLY); Matrix_Scale(flameScale, flameScale, flameScale, MTXMODE_APPLY); gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_syokudai.c", 745), diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 03931dd03b..c68642e50c 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -3056,7 +3056,7 @@ void func_80836BEC(Player* this, GlobalContext* globalCtx) { actorToTarget = &PLAYER->actor; } - holdTarget = (gSaveContext.zTargetingSetting != 0) || (this->actor.type != ACTORTYPE_PLAYER); + holdTarget = (gSaveContext.zTargetSetting != 0) || (this->actor.type != ACTORTYPE_PLAYER); this->stateFlags1 |= 0x8000; if ((actorToTarget != NULL) && !(actorToTarget->flags & 0x8000000)) { @@ -4042,9 +4042,9 @@ s32 func_80839034(GlobalContext* globalCtx, Player* this, CollisionPoly* arg2, u } if (linearVel > R_RUN_SPEED_LIMIT / 100.0f) { - gSaveContext.unk_13BC = R_RUN_SPEED_LIMIT / 100.0f; + gSaveContext.entranceSpeed = R_RUN_SPEED_LIMIT / 100.0f; } else { - gSaveContext.unk_13BC = linearVel; + gSaveContext.entranceSpeed = linearVel; } if (D_808535F4 != 0) { @@ -4273,8 +4273,8 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) { func_8003C890(&globalCtx->colCtx, &sp58, &sp4C); if (func_80839034(globalCtx, this, sp58, 50)) { - gSaveContext.unk_13BC = 2.0f; - gSaveContext.unk_13C0 = NA_SE_OC_DOOR_OPEN; + gSaveContext.entranceSpeed = 2.0f; + gSaveContext.entranceSound = NA_SE_OC_DOOR_OPEN; } } else { func_8005AD40(Gameplay_GetCamera(globalCtx, 0), doorActor, @@ -5356,18 +5356,18 @@ void func_8083CA20(GlobalContext* globalCtx, Player* this) { void func_8083CA54(GlobalContext* globalCtx, Player* this) { this->linearVelocity = 2.0f; - gSaveContext.unk_13BC = 2.0f; + gSaveContext.entranceSpeed = 2.0f; if (func_8083C910(globalCtx, this, 120.0f)) { this->unk_850 = -15; } } void func_8083CA9C(GlobalContext* globalCtx, Player* this) { - if (gSaveContext.unk_13BC < 0.1f) { - gSaveContext.unk_13BC = 0.1f; + if (gSaveContext.entranceSpeed < 0.1f) { + gSaveContext.entranceSpeed = 0.1f; } - this->linearVelocity = gSaveContext.unk_13BC; + this->linearVelocity = gSaveContext.entranceSpeed; if (func_8083C910(globalCtx, this, 800.0f)) { this->unk_850 = -80 / this->linearVelocity; @@ -8676,7 +8676,7 @@ void func_80845CA4(Player* this, GlobalContext* globalCtx) { sp30 = 20; if (this->stateFlags1 & 1) { - sp34 = gSaveContext.unk_13BC; + sp34 = gSaveContext.entranceSpeed; if (D_808535F4 != 0) { this->unk_450.x = (Math_Sins(D_808535FC) * 400.0f) + this->actor.posRot.pos.x; @@ -8685,7 +8685,7 @@ void func_80845CA4(Player* this, GlobalContext* globalCtx) { } else if (this->unk_850 < 0) { this->unk_850++; - sp34 = gSaveContext.unk_13BC; + sp34 = gSaveContext.entranceSpeed; sp30 = -1; } @@ -9071,7 +9071,7 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx) { s32 sp4C; s32 initMode; s16 params; - u16 unk_13C0; + u16 entranceSound; globalCtx->unk_11E5C = globalCtx->bombchuBowlingAmmo = 0; @@ -9125,7 +9125,7 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx) { } if ((sp50 == 0) || (sp50 < -1)) { - if ((scene->titleFile.vromStart != scene->titleFile.vromEnd) && (gSaveContext.unk_13C7 != 0) && + if ((scene->titleFile.vromStart != scene->titleFile.vromEnd) && (gSaveContext.showTitleCard) && (gSaveContext.sceneSetupIndex < 4) && (gEntranceTable[gSaveContext.entranceIndex + gSaveContext.sceneSetupIndex].field & 0x4000) && ((globalCtx->sceneNum != SCENE_DDAN) || (gSaveContext.eventChkInf[11] & 1)) && @@ -9133,7 +9133,7 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx) { TitleCard_InitPlaceName(globalCtx, &globalCtx->actorCtx.titleCtx, this->giObjectSegment, 0xA0, 0x78, 0x90, 0x18, 0x14); } - gSaveContext.unk_13C7 = 1; + gSaveContext.showTitleCard = true; } if (sp50 == 2) { @@ -9177,10 +9177,10 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx) { this->stateFlags3 &= ~0x40; } - if (gSaveContext.unk_13C0 != 0) { - unk_13C0 = gSaveContext.unk_13C0; - Audio_PlayActorSound2(&this->actor, unk_13C0); - gSaveContext.unk_13C0 = 0; + if (gSaveContext.entranceSound != 0) { + entranceSound = gSaveContext.entranceSound; + Audio_PlayActorSound2(&this->actor, entranceSound); + gSaveContext.entranceSound = 0; } Map_SavePlayerInitialInfo(globalCtx); @@ -11818,7 +11818,8 @@ s32 func_8084DFF4(GlobalContext* globalCtx, Player* this) { Audio_PlaySoundGeneral(NA_SE_SY_GET_BOXITEM, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } else { if ((this->getItemId == GI_HEART_CONTAINER_2) || (this->getItemId == GI_HEART_CONTAINER) || - ((this->getItemId == GI_HEART_PIECE) && ((gSaveContext.questItems & 0xF0000000) == 0x40000000))) { + ((this->getItemId == GI_HEART_PIECE) && + ((gSaveContext.inventory.questItems & 0xF0000000) == 0x40000000))) { temp1 = 0x924; } else { temp1 = temp2 = (this->getItemId == GI_HEART_PIECE) ? 0x39 : 0x922; diff --git a/src/overlays/gamestates/ovl_opening/z_opening.c b/src/overlays/gamestates/ovl_opening/z_opening.c index 149b1e2b73..9fe700d050 100644 --- a/src/overlays/gamestates/ovl_opening/z_opening.c +++ b/src/overlays/gamestates/ovl_opening/z_opening.c @@ -10,7 +10,7 @@ void Opening_SetupTitleScreen(OpeningContext* this) { gSaveContext.gameMode = 1; this->state.running = false; gSaveContext.linkAge = 0; - func_800A82C8(); + Sram_InitDebugSave(); gSaveContext.cutsceneIndex = 0xFFF3; gSaveContext.sceneSetupIndex = 7; SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext); diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 309139e03d..f858abf0fd 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -19,7 +19,7 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) { osSyncPrintf("\n\n\nFILE_NO=%x\n\n\n", gSaveContext.fileNum); osSyncPrintf(VT_RST); if (gSaveContext.fileNum == 0xFF) { - func_800A82C8(); + Sram_InitDebugSave(); gSaveContext.unk_13F6 = gSaveContext.magic; gSaveContext.magic = 0; gSaveContext.unk_13F4 = 0; @@ -37,7 +37,7 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) { gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = -1; gSaveContext.seqIndex = 0xFF; gSaveContext.nightSeqIndex = 0xFF; - gSaveContext.unk_13C7 = 1; + gSaveContext.showTitleCard = true; D_8011FB30 = 0; this->state.running = false; SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext); diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index ee1408768e..72ce3e69a4 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -155,7 +155,7 @@ void Title_Main(TitleContext* this) { } void Title_Destroy(TitleContext* this) { - func_800A9AD0(this, &this->sram); + Sram_InitSram(this, &this->sramCtx); } void Title_Init(TitleContext* this) { @@ -175,7 +175,7 @@ void Title_Init(TitleContext* this) { this->state.destroy = Title_Destroy; this->exit = false; gSaveContext.fileNum = 0xFF; - func_800A9CD4(&this->state, &this->sram); + Sram_Alloc(&this->state, &this->sramCtx); this->ult = 0; this->unk_1D4 = 0x14; this->coverAlpha = 255; From ed719f3da03afcfd5b4ebb47506d63564073a066 Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 11 Oct 2020 21:52:50 -0400 Subject: [PATCH 4/8] Make Gamestates use thisx for entry point functions (#437) * fix colliderinit typo * fix initchain * reloc * thisx * sample * review * forgot sample main --- include/functions.h | 28 +++++------ src/code/z_play.c | 11 +++-- src/code/z_prenmi.c | 46 ++++++++++--------- src/code/z_sample.c | 10 ++-- .../gamestates/ovl_opening/z_opening.c | 10 ++-- src/overlays/gamestates/ovl_select/z_select.c | 11 +++-- src/overlays/gamestates/ovl_title/z_title.c | 12 +++-- 7 files changed, 74 insertions(+), 54 deletions(-) diff --git a/include/functions.h b/include/functions.h index 212e03cf49..6be2d14322 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1210,7 +1210,7 @@ void Player_DrawGetItem(GlobalContext* globalCtx, Player* player); u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime); void func_8009214C(GlobalContext* globalCtx, u8* segment, struct_80091A24_arg3* arg2, Vec3f* pos, Vec3s* rot, f32 scale, s32 sword, s32 tunic, s32 shield, s32 boots); -void PreNMI_Init(PreNMIContext* prenmiCtx); +void PreNMI_Init(GameState* thisx); Vec3f* Quake_AddVec(Vec3f* dst, Vec3f* arg1, VecSph* arg2); void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x); s16 Quake_Callback1(QuakeRequest* req, ShakeInfo* shake); @@ -1282,8 +1282,8 @@ s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum); s32 func_800973FC(GlobalContext* globalCtx, RoomContext* roomCtx); void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags); void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx); -void Sample_Destroy(SampleContext* this); -void Sample_Init(SampleContext* this); +void Sample_Destroy(GameState* thisx); +void Sample_Init(GameState* thisx); void Inventory_ChangeEquipment(s16 equipment, u16 value); u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment); void Inventory_ChangeUpgrade(s16 upgrade, s16 value); @@ -1583,9 +1583,9 @@ s32 func_800BC56C(GlobalContext* globalCtx, s16 arg1); void func_800BC590(GlobalContext* globalCtx); void func_800BC5E0(GlobalContext* globalCtx, s32 arg1); Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* gfx); -void Gameplay_Destroy(GlobalContext* globalCtx); -void Gameplay_Init(GlobalContext* globalCtx); -void Gameplay_Main(GlobalContext* globalCtx); +void Gameplay_Destroy(GameState* thisx); +void Gameplay_Init(GameState* thisx); +void Gameplay_Main(GameState* thisx); s32 Gameplay_InCsMode(GlobalContext* globalCtx); f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* mf, Vec3f* vec); void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file); @@ -2626,14 +2626,14 @@ void func_801109B0(GlobalContext* globalCtx); void func_80110F68(GlobalContext* globalCtx); void func_80112098(GlobalContext* globalCtx); -void Title_Init(TitleContext*); -void Title_Destroy(TitleContext* this); -void Select_Init(SelectContext*); -void Select_Destroy(SelectContext*); -void Opening_Init(OpeningContext* this); -void Opening_Destroy(OpeningContext* this); -void func_80811A20(GameState*); // FileChoose_Init -void func_80811A18(GameState*); // FileChoose_Destroy +void Title_Init(GameState* thisx); +void Title_Destroy(GameState* thisx); +void Select_Init(GameState* thisx); +void Select_Destroy(GameState* thisx); +void Opening_Init(GameState* thisx); +void Opening_Destroy(GameState* thisx); +void func_80811A20(GameState* thisx); // FileChoose_Init +void func_80811A18(GameState* thisx); // FileChoose_Destroy void func_80823994(PauseContext*, f32, f32, f32); void func_800949A8(GraphicsContext*); diff --git a/src/code/z_play.c b/src/code/z_play.c index 3700054563..bbb77f7da3 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -146,8 +146,8 @@ Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* gfx) { globalCtx->lightCtx.unk_0A, 1000); } -void Gameplay_Destroy(GlobalContext* globalCtx) { - s32 pad; +void Gameplay_Destroy(GameState* thisx) { + GlobalContext* globalCtx = (GlobalContext*)thisx; Player* player = PLAYER; globalCtx->state.gfxCtx->callback = NULL; @@ -191,7 +191,8 @@ void Gameplay_Destroy(GlobalContext* globalCtx) { #ifdef NON_MATCHING // regalloc and stack usage differences // also missing some extra duplicated instructions -void Gameplay_Init(GlobalContext* globalCtx) { +void Gameplay_Init(GameState* thisx) { + GlobalContext* globalCtx = (GlobalContext*)thisx; GraphicsContext* gfxCtx; void* zAlloc; // 0x84 void* zAllocAligned; @@ -1329,7 +1330,9 @@ void Gameplay_Draw(GlobalContext* globalCtx) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Gameplay_Draw.s") #endif -void Gameplay_Main(GlobalContext* globalCtx) { +void Gameplay_Main(GameState* thisx) { + GlobalContext* globalCtx = (GlobalContext*)thisx; + D_8012D1F8 = &globalCtx->state.input[0]; DebugDisplay_Init(); diff --git a/src/code/z_prenmi.c b/src/code/z_prenmi.c index 678e393b09..8de5bd2135 100644 --- a/src/code/z_prenmi.c +++ b/src/code/z_prenmi.c @@ -1,30 +1,30 @@ #include "global.h" #include "vt.h" -void func_80092320(PreNMIContext* prenmiCtx) { - prenmiCtx->state.running = false; - prenmiCtx->state.init = NULL; - prenmiCtx->state.size = 0; +void func_80092320(PreNMIContext* this) { + this->state.running = false; + this->state.init = NULL; + this->state.size = 0; } -void PreNMI_Update(PreNMIContext* prenmiCtx) { +void PreNMI_Update(PreNMIContext* this) { osSyncPrintf(VT_COL(YELLOW, BLACK) "prenmi_move\n" VT_RST); // Strings existing only in rodata ("../z_prenmi.c"); ("(int)volume = %d\n"); - if (prenmiCtx->timer == 0) { + if (this->timer == 0) { ViConfig_UpdateVi(1); - func_80092320(prenmiCtx); + func_80092320(this); return; } - prenmiCtx->timer--; + this->timer--; } -void PreNMI_Draw(PreNMIContext* prenmiCtx) { - GraphicsContext* gfxCtx = prenmiCtx->state.gfxCtx; +void PreNMI_Draw(PreNMIContext* this) { + GraphicsContext* gfxCtx = this->state.gfxCtx; osSyncPrintf(VT_COL(YELLOW, BLACK) "prenmi_draw\n" VT_RST); @@ -34,26 +34,30 @@ void PreNMI_Draw(PreNMIContext* prenmiCtx) { func_80095248(gfxCtx, 0, 0, 0); func_800940B0(gfxCtx); gDPSetFillColor(oGfxCtx->polyOpa.p++, (GPACK_RGBA5551(255, 255, 255, 1) << 16) | GPACK_RGBA5551(255, 255, 255, 1)); - gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, prenmiCtx->timer + 100, SCREEN_WIDTH - 1, prenmiCtx->timer + 100); + gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, this->timer + 100, SCREEN_WIDTH - 1, this->timer + 100); CLOSE_DISPS(gfxCtx, "../z_prenmi.c", 112); } -void PreNMI_Main(PreNMIContext* prenmiCtx) { - PreNMI_Update(prenmiCtx); - PreNMI_Draw(prenmiCtx); +void PreNMI_Main(GameState* thisx) { + PreNMIContext* this = (PreNMIContext*)thisx; + + PreNMI_Update(this); + PreNMI_Draw(this); - prenmiCtx->state.unk_A0 = 1; + this->state.unk_A0 = 1; } -void PreNMI_Destroy(PreNMIContext* prenmiCtx) { +void PreNMI_Destroy(GameState* thisx) { } -void PreNMI_Init(PreNMIContext* prenmiCtx) { - prenmiCtx->state.main = PreNMI_Main; - prenmiCtx->state.destroy = PreNMI_Destroy; - prenmiCtx->timer = 30; - prenmiCtx->unk_A8 = 10; +void PreNMI_Init(GameState* thisx) { + PreNMIContext* this = (PreNMIContext*)thisx; + + this->state.main = PreNMI_Main; + this->state.destroy = PreNMI_Destroy; + this->timer = 30; + this->unk_A8 = 10; R_UPDATE_RATE = 1; } diff --git a/src/code/z_sample.c b/src/code/z_sample.c index d5383b3732..7df8854395 100644 --- a/src/code/z_sample.c +++ b/src/code/z_sample.c @@ -38,12 +38,14 @@ void Sample_Draw(SampleContext* this) { CLOSE_DISPS(gfxCtx, "../z_sample.c", 111); } -void Sample_Main(SampleContext* this) { +void Sample_Main(GameState* thisx) { + SampleContext* this = (SampleContext*)thisx; + Sample_Draw(this); Sample_HandleStateChange(this); } -void Sample_Destroy(SampleContext* this) { +void Sample_Destroy(GameState* thisx) { } void Sample_SetupView(SampleContext* this) { @@ -83,7 +85,9 @@ void Sample_LoadTitleStatic(SampleContext* this) { DmaMgr_SendRequest1(this->staticSegment, _title_staticSegmentRomStart, size, "../z_sample.c", 164); } -void Sample_Init(SampleContext* this) { +void Sample_Init(GameState* thisx) { + SampleContext* this = (SampleContext*)thisx; + this->state.main = Sample_Main; this->state.destroy = Sample_Destroy; R_UPDATE_RATE = 1; diff --git a/src/overlays/gamestates/ovl_opening/z_opening.c b/src/overlays/gamestates/ovl_opening/z_opening.c index 9fe700d050..9c29d880b7 100644 --- a/src/overlays/gamestates/ovl_opening/z_opening.c +++ b/src/overlays/gamestates/ovl_opening/z_opening.c @@ -19,16 +19,20 @@ void Opening_SetupTitleScreen(OpeningContext* this) { void func_80803C5C(OpeningContext* this) { } -void Opening_Main(OpeningContext* this) { +void Opening_Main(GameState* thisx) { + OpeningContext* this = (OpeningContext*)thisx; + func_80095248(this->state.gfxCtx, 0, 0, 0); Opening_SetupTitleScreen(this); func_80803C5C(this); } -void Opening_Destroy(OpeningContext* this) { +void Opening_Destroy(GameState* thisx) { } -void Opening_Init(OpeningContext* this) { +void Opening_Init(GameState* thisx) { + OpeningContext* this = (OpeningContext*)thisx; + R_UPDATE_RATE = 1; Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index f858abf0fd..2a7d03d4f3 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -566,20 +566,23 @@ void Select_Draw(SelectContext* this) { CLOSE_DISPS(gfxCtx, "../z_select.c", 1037); } -void Select_Main(SelectContext* this) { +void Select_Main(GameState* thisx) { + SelectContext* this = (SelectContext*)thisx; + Select_UpdateMenu(this); Select_Draw(this); } -void Select_Destroy(SelectContext* this) { +void Select_Destroy(GameState* thisx) { osSyncPrintf("%c", 7); // "view_cleanup will hang, so it won't be called" osSyncPrintf("*** view_cleanupはハングアップするので、呼ばない ***\n"); } -void Select_Init(SelectContext* this) { +void Select_Init(GameState* thisx) { + SelectContext* this = (SelectContext*)thisx; u32 size; - s32 pad[2]; + s32 pad; this->state.main = Select_Main; this->state.destroy = Select_Destroy; diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 72ce3e69a4..0db9dbde50 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -124,8 +124,8 @@ void Title_Draw(TitleContext* this) { CLOSE_DISPS(this->state.gfxCtx, "../z_title.c", 483); } -void Title_Main(TitleContext* this) { - s32 pad; +void Title_Main(GameState* thisx) { + TitleContext* this = (TitleContext*)thisx; OPEN_DISPS(this->state.gfxCtx, "../z_title.c", 494); @@ -154,13 +154,15 @@ void Title_Main(TitleContext* this) { CLOSE_DISPS(this->state.gfxCtx, "../z_title.c", 541); } -void Title_Destroy(TitleContext* this) { +void Title_Destroy(GameState* thisx) { + TitleContext* this = (TitleContext*)thisx; + Sram_InitSram(this, &this->sramCtx); } -void Title_Init(TitleContext* this) { +void Title_Init(GameState* thisx) { u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart; - s32 pad; + TitleContext* this = (TitleContext*)thisx; this->staticSegment = GameState_Alloc(&this->state, size, "../z_title.c", 611); osSyncPrintf("z_title.c\n"); From fff616d2be4566e28a08fae7d2ab1b51ce455f9b Mon Sep 17 00:00:00 2001 From: Tharo <17233964+Thar0@users.noreply.github.com> Date: Mon, 12 Oct 2020 22:42:17 +0100 Subject: [PATCH 5/8] Decompile z_kanfont (#443) * Decompile z_kanfont.c * Cleanups * off -> offset * Kanfont -> Font , Keep so-far unused Font fields as padding, Remove MessageData sub-struct --- .../code/z_kanfont/func_8006EE60.s | 31 ----- .../code/z_kanfont/func_8006EEBC.s | 29 ---- .../code/z_kanfont/func_8006EF10.s | 126 ------------------ .../code/z_message_PAL/func_801086B0.s | 16 +-- .../code/z_message_PAL/func_80109B3C.s | 28 ++-- .../ovl_file_choose/func_80811A20.s | 2 +- include/functions.h | 8 +- include/z64.h | 20 ++- src/code/z_construct.c | 2 +- src/code/z_kaleido_setup.c | 3 - src/code/z_kanfont.c | 53 +++++++- src/overlays/actors/ovl_En_Mag/z_en_mag.c | 16 ++- src/overlays/actors/ovl_En_Mag/z_en_mag.h | 2 +- undefined_syms.txt | 1 + 14 files changed, 109 insertions(+), 228 deletions(-) delete mode 100644 asm/non_matchings/code/z_kanfont/func_8006EE60.s delete mode 100644 asm/non_matchings/code/z_kanfont/func_8006EEBC.s delete mode 100644 asm/non_matchings/code/z_kanfont/func_8006EF10.s diff --git a/asm/non_matchings/code/z_kanfont/func_8006EE60.s b/asm/non_matchings/code/z_kanfont/func_8006EE60.s deleted file mode 100644 index cea252f5f9..0000000000 --- a/asm/non_matchings/code/z_kanfont/func_8006EE60.s +++ /dev/null @@ -1,31 +0,0 @@ -.rdata -glabel D_8013C190 - .asciz "../z_kanfont.c" - .balign 4 - -.text -glabel func_8006EE60 -/* AE6000 8006EE60 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* AE6004 8006EE64 AFA50024 */ sw $a1, 0x24($sp) -/* AE6008 8006EE68 AFA60028 */ sw $a2, 0x28($sp) -/* AE600C 8006EE6C 97AF002A */ lhu $t7, 0x2a($sp) -/* AE6010 8006EE70 93B80027 */ lbu $t8, 0x27($sp) -/* AE6014 8006EE74 AFA40020 */ sw $a0, 0x20($sp) -/* AE6018 8006EE78 3C08008C */ lui $t0, %hi(_nes_font_staticSegmentRomStart) # $t0, 0x8c -/* AE601C 8006EE7C AFBF001C */ sw $ra, 0x1c($sp) -/* AE6020 8006EE80 25081000 */ addiu $t0, %lo(_nes_font_staticSegmentRomStart) # addiu $t0, $t0, 0x1000 -/* AE6024 8006EE84 3C078014 */ lui $a3, %hi(D_8013C190) # $a3, 0x8014 -/* AE6028 8006EE88 2409005D */ li $t1, 93 -/* AE602C 8006EE8C 008F2021 */ addu $a0, $a0, $t7 -/* AE6030 8006EE90 0018C9C0 */ sll $t9, $t8, 7 -/* AE6034 8006EE94 03282821 */ addu $a1, $t9, $t0 -/* AE6038 8006EE98 24840008 */ addiu $a0, $a0, 8 -/* AE603C 8006EE9C AFA90010 */ sw $t1, 0x10($sp) -/* AE6040 8006EEA0 24E7C190 */ addiu $a3, %lo(D_8013C190) # addiu $a3, $a3, -0x3e70 -/* AE6044 8006EEA4 0C0006A8 */ jal DmaMgr_SendRequest1 -/* AE6048 8006EEA8 24060080 */ li $a2, 128 -/* AE604C 8006EEAC 8FBF001C */ lw $ra, 0x1c($sp) -/* AE6050 8006EEB0 27BD0020 */ addiu $sp, $sp, 0x20 -/* AE6054 8006EEB4 03E00008 */ jr $ra -/* AE6058 8006EEB8 00000000 */ nop - diff --git a/asm/non_matchings/code/z_kanfont/func_8006EEBC.s b/asm/non_matchings/code/z_kanfont/func_8006EEBC.s deleted file mode 100644 index 4aedc5d6ed..0000000000 --- a/asm/non_matchings/code/z_kanfont/func_8006EEBC.s +++ /dev/null @@ -1,29 +0,0 @@ -.rdata -glabel D_8013C1A0 - .asciz "../z_kanfont.c" - .balign 4 - -.text -glabel func_8006EEBC -/* AE605C 8006EEBC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* AE6060 8006EEC0 AFA50024 */ sw $a1, 0x24($sp) -/* AE6064 8006EEC4 97AE0026 */ lhu $t6, 0x26($sp) -/* AE6068 8006EEC8 3C19008C */ lui $t9, %hi(_message_staticSegmentRomStart) # $t9, 0x8c -/* AE606C 8006EECC AFBF001C */ sw $ra, 0x1c($sp) -/* AE6070 8006EED0 000E79C0 */ sll $t7, $t6, 7 -/* AE6074 8006EED4 AFA40020 */ sw $a0, 0x20($sp) -/* AE6078 8006EED8 25F84000 */ addiu $t8, $t7, 0x4000 -/* AE607C 8006EEDC 2739A000 */ addiu $t9, %lo(_message_staticSegmentRomStart) # addiu $t9, $t9, -0x6000 -/* AE6080 8006EEE0 3C078014 */ lui $a3, %hi(D_8013C1A0) # $a3, 0x8014 -/* AE6084 8006EEE4 24080064 */ li $t0, 100 -/* AE6088 8006EEE8 AFA80010 */ sw $t0, 0x10($sp) -/* AE608C 8006EEEC 24E7C1A0 */ addiu $a3, %lo(D_8013C1A0) # addiu $a3, $a3, -0x3e60 -/* AE6090 8006EEF0 03192821 */ addu $a1, $t8, $t9 -/* AE6094 8006EEF4 24843C08 */ addiu $a0, $a0, 0x3c08 -/* AE6098 8006EEF8 0C0006A8 */ jal DmaMgr_SendRequest1 -/* AE609C 8006EEFC 24060080 */ li $a2, 128 -/* AE60A0 8006EF00 8FBF001C */ lw $ra, 0x1c($sp) -/* AE60A4 8006EF04 27BD0020 */ addiu $sp, $sp, 0x20 -/* AE60A8 8006EF08 03E00008 */ jr $ra -/* AE60AC 8006EF0C 00000000 */ nop - diff --git a/asm/non_matchings/code/z_kanfont/func_8006EF10.s b/asm/non_matchings/code/z_kanfont/func_8006EF10.s deleted file mode 100644 index 308479fbfd..0000000000 --- a/asm/non_matchings/code/z_kanfont/func_8006EF10.s +++ /dev/null @@ -1,126 +0,0 @@ -.rdata -glabel D_8013C1B0 - .asciz "../z_kanfont.c" - .balign 4 - -glabel D_8013C1C0 - .asciz "msg_data=%x, msg_data0=%x jj=%x\n" - .balign 4 - -glabel D_8013C1E4 - .asciz "ERROR!! エラー!!! error───!!!!\n" - # EUC-JP: ERROR!! エラー!!! error───!!!! | ERROR! ! error! ! ! error───! ! ! !| - .balign 4 - -glabel D_8013C218 - .asciz "nes_mes_buf[%d]=%d\n" - .balign 4 - -glabel D_8013C22C - .asciz "../z_kanfont.c" - .balign 4 - -.text -glabel func_8006EF10 -/* AE60B0 8006EF10 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* AE60B4 8006EF14 3C080704 */ lui $t0, %hi(D_070380D4) # $t0, 0x704 -/* AE60B8 8006EF18 250880D4 */ addiu $t0, %lo(D_070380D4) # addiu $t0, $t0, -0x7f2c -/* AE60BC 8006EF1C AFB50034 */ sw $s5, 0x34($sp) -/* AE60C0 8006EF20 3C0E0700 */ lui $t6, 0x700 -/* AE60C4 8006EF24 3C0F0704 */ lui $t7, %hi(D_0703811C) # $t7, 0x704 -/* AE60C8 8006EF28 AFBF0044 */ sw $ra, 0x44($sp) -/* AE60CC 8006EF2C AFBE0040 */ sw $fp, 0x40($sp) -/* AE60D0 8006EF30 AFB7003C */ sw $s7, 0x3c($sp) -/* AE60D4 8006EF34 AFB60038 */ sw $s6, 0x38($sp) -/* AE60D8 8006EF38 AFB40030 */ sw $s4, 0x30($sp) -/* AE60DC 8006EF3C AFB3002C */ sw $s3, 0x2c($sp) -/* AE60E0 8006EF40 AFB20028 */ sw $s2, 0x28($sp) -/* AE60E4 8006EF44 AFB10024 */ sw $s1, 0x24($sp) -/* AE60E8 8006EF48 AFB00020 */ sw $s0, 0x20($sp) -/* AE60EC 8006EF4C 25CE0000 */ addiu $t6, $t6, 0 -/* AE60F0 8006EF50 25EF811C */ addiu $t7, %lo(D_0703811C) # addiu $t7, $t7, -0x7ee4 -/* AE60F4 8006EF54 010E1023 */ subu $v0, $t0, $t6 -/* AE60F8 8006EF58 01E83023 */ subu $a2, $t7, $t0 -/* AE60FC 8006EF5C 3C18008C */ lui $t8, %hi(_nes_message_data_staticSegmentRomStart) # $t8, 0x8c -/* AE6100 8006EF60 0080A825 */ move $s5, $a0 -/* AE6104 8006EF64 AC820000 */ sw $v0, ($a0) -/* AE6108 8006EF68 AC860004 */ sw $a2, 4($a0) -/* AE610C 8006EF6C 27186000 */ addiu $t8, %lo(_nes_message_data_staticSegmentRomStart) # addiu $t8, $t8, 0x6000 -/* AE6110 8006EF70 3401DC88 */ li $at, 56456 -/* AE6114 8006EF74 3C078014 */ lui $a3, %hi(D_8013C1B0) # $a3, 0x8014 -/* AE6118 8006EF78 2419007A */ li $t9, 122 -/* AE611C 8006EF7C AFB90010 */ sw $t9, 0x10($sp) -/* AE6120 8006EF80 24E7C1B0 */ addiu $a3, %lo(D_8013C1B0) # addiu $a3, $a3, -0x3e50 -/* AE6124 8006EF84 00812021 */ addu $a0, $a0, $at -/* AE6128 8006EF88 00582821 */ addu $a1, $v0, $t8 -/* AE612C 8006EF8C 0C0006A8 */ jal DmaMgr_SendRequest1 -/* AE6130 8006EF90 00C08025 */ move $s0, $a2 -/* AE6134 8006EF94 3C048014 */ lui $a0, %hi(D_8013C1C0) # $a0, 0x8014 -/* AE6138 8006EF98 2484C1C0 */ addiu $a0, %lo(D_8013C1C0) # addiu $a0, $a0, -0x3e40 -/* AE613C 8006EF9C 8EA50000 */ lw $a1, ($s5) -/* AE6140 8006EFA0 8EA60004 */ lw $a2, 4($s5) -/* AE6144 8006EFA4 0200B025 */ move $s6, $s0 -/* AE6148 8006EFA8 0C00084C */ jal osSyncPrintf -/* AE614C 8006EFAC 02003825 */ move $a3, $s0 -/* AE6150 8006EFB0 341E8000 */ li $fp, 32768 -/* AE6154 8006EFB4 02BE4821 */ addu $t1, $s5, $fp -/* AE6158 8006EFB8 912A5C88 */ lbu $t2, 0x5c88($t1) -/* AE615C 8006EFBC 24170002 */ li $s7, 2 -/* AE6160 8006EFC0 00009025 */ move $s2, $zero -/* AE6164 8006EFC4 12EA0027 */ beq $s7, $t2, .L8006F064 -/* AE6168 8006EFC8 00008825 */ move $s1, $zero -/* AE616C 8006EFCC 02D1082A */ slt $at, $s6, $s1 -.L8006EFD0: -/* AE6170 8006EFD0 10200006 */ beqz $at, .L8006EFEC -/* AE6174 8006EFD4 02B15821 */ addu $t3, $s5, $s1 -/* AE6178 8006EFD8 3C048014 */ lui $a0, %hi(D_8013C1E4) # $a0, 0x8014 -/* AE617C 8006EFDC 0C00084C */ jal osSyncPrintf -/* AE6180 8006EFE0 2484C1E4 */ addiu $a0, %lo(D_8013C1E4) # addiu $a0, $a0, -0x3e1c -/* AE6184 8006EFE4 10000020 */ b .L8006F068 -/* AE6188 8006EFE8 8FBF0044 */ lw $ra, 0x44($sp) -.L8006EFEC: -/* AE618C 8006EFEC 017E8021 */ addu $s0, $t3, $fp -/* AE6190 8006EFF0 92065C88 */ lbu $a2, 0x5c88($s0) -/* AE6194 8006EFF4 24010001 */ li $at, 1 -/* AE6198 8006EFF8 3C048014 */ lui $a0, %hi(D_8013C218) # $a0, 0x8014 -/* AE619C 8006EFFC 10C10014 */ beq $a2, $at, .L8006F050 -/* AE61A0 8006F000 2484C218 */ addiu $a0, %lo(D_8013C218) # addiu $a0, $a0, -0x3de8 -/* AE61A4 8006F004 001260C0 */ sll $t4, $s2, 3 -/* AE61A8 8006F008 02AC9821 */ addu $s3, $s5, $t4 -/* AE61AC 8006F00C 3C14008C */ lui $s4, %hi(_nes_font_staticSegmentRomStart) # $s4, 0x8c -/* AE61B0 8006F010 26941000 */ addiu $s4, %lo(_nes_font_staticSegmentRomStart) # addiu $s4, $s4, 0x1000 -/* AE61B4 8006F014 26733C88 */ addiu $s3, $s3, 0x3c88 -/* AE61B8 8006F018 0C00084C */ jal osSyncPrintf -/* AE61BC 8006F01C 02202825 */ move $a1, $s1 -/* AE61C0 8006F020 92025C88 */ lbu $v0, 0x5c88($s0) -/* AE61C4 8006F024 3C078014 */ lui $a3, %hi(D_8013C22C) # $a3, 0x8014 -/* AE61C8 8006F028 240D0086 */ li $t5, 134 -/* AE61CC 8006F02C 000211C0 */ sll $v0, $v0, 7 -/* AE61D0 8006F030 2442F000 */ addiu $v0, $v0, -0x1000 -/* AE61D4 8006F034 02822821 */ addu $a1, $s4, $v0 -/* AE61D8 8006F038 AFAD0010 */ sw $t5, 0x10($sp) -/* AE61DC 8006F03C 24E7C22C */ addiu $a3, %lo(D_8013C22C) # addiu $a3, $a3, -0x3dd4 -/* AE61E0 8006F040 02602025 */ move $a0, $s3 -/* AE61E4 8006F044 0C0006A8 */ jal DmaMgr_SendRequest1 -/* AE61E8 8006F048 24060080 */ li $a2, 128 -/* AE61EC 8006F04C 26520010 */ addiu $s2, $s2, 0x10 -.L8006F050: -/* AE61F0 8006F050 920E5C89 */ lbu $t6, 0x5c89($s0) -/* AE61F4 8006F054 26310001 */ addiu $s1, $s1, 1 -/* AE61F8 8006F058 26100001 */ addiu $s0, $s0, 1 -/* AE61FC 8006F05C 56EEFFDC */ bnel $s7, $t6, .L8006EFD0 -/* AE6200 8006F060 02D1082A */ slt $at, $s6, $s1 -.L8006F064: -/* AE6204 8006F064 8FBF0044 */ lw $ra, 0x44($sp) -.L8006F068: -/* AE6208 8006F068 8FB00020 */ lw $s0, 0x20($sp) -/* AE620C 8006F06C 8FB10024 */ lw $s1, 0x24($sp) -/* AE6210 8006F070 8FB20028 */ lw $s2, 0x28($sp) -/* AE6214 8006F074 8FB3002C */ lw $s3, 0x2c($sp) -/* AE6218 8006F078 8FB40030 */ lw $s4, 0x30($sp) -/* AE621C 8006F07C 8FB50034 */ lw $s5, 0x34($sp) -/* AE6220 8006F080 8FB60038 */ lw $s6, 0x38($sp) -/* AE6224 8006F084 8FB7003C */ lw $s7, 0x3c($sp) -/* AE6228 8006F088 8FBE0040 */ lw $fp, 0x40($sp) -/* AE622C 8006F08C 03E00008 */ jr $ra -/* AE6230 8006F090 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/code/z_message_PAL/func_801086B0.s b/asm/non_matchings/code/z_message_PAL/func_801086B0.s index 72173012c7..38c2ed63ce 100644 --- a/asm/non_matchings/code/z_message_PAL/func_801086B0.s +++ b/asm/non_matchings/code/z_message_PAL/func_801086B0.s @@ -235,7 +235,7 @@ glabel L801088E8 /* B7FAE4 80108944 26217FFF */ addiu $at, $s1, 0x7fff /* B7FAE8 80108948 A0386305 */ sb $t8, 0x6305($at) /* B7FAEC 8010894C 8FA40058 */ lw $a0, 0x58($sp) -/* B7FAF0 80108950 0C01BBAF */ jal func_8006EEBC +/* B7FAF0 80108950 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B7FAF4 80108954 00002825 */ move $a1, $zero /* B7FAF8 80108958 10000007 */ b .L80108978 /* B7FAFC 8010895C 8FB80120 */ lw $t8, 0x120($sp) @@ -290,7 +290,7 @@ glabel L801089B8 /* B7FBA8 80108A08 26217FFF */ addiu $at, $s1, 0x7fff /* B7FBAC 80108A0C A02E6305 */ sb $t6, 0x6305($at) /* B7FBB0 80108A10 8FA40058 */ lw $a0, 0x58($sp) -/* B7FBB4 80108A14 0C01BBAF */ jal func_8006EEBC +/* B7FBB4 80108A14 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B7FBB8 80108A18 00002825 */ move $a1, $zero .L80108A1C: /* B7FBBC 80108A1C 8FB90120 */ lw $t9, 0x120($sp) @@ -365,7 +365,7 @@ glabel L80108AE0 /* B7FCA8 80108B08 A02E6305 */ sb $t6, 0x6305($at) /* B7FCAC 80108B0C 8FA40138 */ lw $a0, 0x138($sp) /* B7FCB0 80108B10 00002825 */ move $a1, $zero -/* B7FCB4 80108B14 0C01BBAF */ jal func_8006EEBC +/* B7FCB4 80108B14 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B7FCB8 80108B18 24842200 */ addiu $a0, $a0, 0x2200 /* B7FCBC 80108B1C 8FB90120 */ lw $t9, 0x120($sp) .L80108B20: @@ -1047,7 +1047,7 @@ glabel L80109528 /* B806F8 80109558 A43862FB */ sh $t8, 0x62fb($at) /* B806FC 8010955C 8FA40138 */ lw $a0, 0x138($sp) /* B80700 80109560 24050002 */ li $a1, 2 -/* B80704 80109564 0C01BBAF */ jal func_8006EEBC +/* B80704 80109564 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B80708 80109568 24842200 */ addiu $a0, $a0, 0x2200 /* B8070C 8010956C 24080009 */ li $t0, 9 /* B80710 80109570 2409000A */ li $t1, 10 @@ -1075,7 +1075,7 @@ glabel L8010958C /* B8075C 801095BC A43862FB */ sh $t8, 0x62fb($at) /* B80760 801095C0 8FA40138 */ lw $a0, 0x138($sp) /* B80764 801095C4 24050002 */ li $a1, 2 -/* B80768 801095C8 0C01BBAF */ jal func_8006EEBC +/* B80768 801095C8 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B8076C 801095CC 24842200 */ addiu $a0, $a0, 0x2200 /* B80770 801095D0 24080009 */ li $t0, 9 /* B80774 801095D4 2409000A */ li $t1, 10 @@ -1111,7 +1111,7 @@ glabel L801095F0 /* B807E0 80109640 0C03DCE3 */ jal Audio_PlaySoundGeneral /* B807E4 80109644 24060004 */ li $a2, 4 /* B807E8 80109648 8FA40058 */ lw $a0, 0x58($sp) -/* B807EC 8010964C 0C01BBAF */ jal func_8006EEBC +/* B807EC 8010964C 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B807F0 80109650 24050001 */ li $a1, 1 /* B807F4 80109654 8FAE0138 */ lw $t6, 0x138($sp) /* B807F8 80109658 91CF1D6C */ lbu $t7, 0x1d6c($t6) @@ -1159,7 +1159,7 @@ glabel L801096B4 /* B80884 801096E4 24050001 */ li $a1, 1 /* B80888 801096E8 A02E63E8 */ sb $t6, 0x63e8($at) /* B8088C 801096EC 8FA40138 */ lw $a0, 0x138($sp) -/* B80890 801096F0 0C01BBAF */ jal func_8006EEBC +/* B80890 801096F0 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B80894 801096F4 24842200 */ addiu $a0, $a0, 0x2200 /* B80898 801096F8 8FB90138 */ lw $t9, 0x138($sp) /* B8089C 801096FC 93381D6C */ lbu $t8, 0x1d6c($t9) @@ -1210,7 +1210,7 @@ glabel L8010977C /* B80934 80109794 A03963E5 */ sb $t9, 0x63e5($at) /* B80938 80109798 8FA40138 */ lw $a0, 0x138($sp) /* B8093C 8010979C 00002825 */ move $a1, $zero -/* B80940 801097A0 0C01BBAF */ jal func_8006EEBC +/* B80940 801097A0 0C01BBAF */ jal Font_LoadMessageBoxEndIcon /* B80944 801097A4 24842200 */ addiu $a0, $a0, 0x2200 /* B80948 801097A8 3C0F8013 */ lui $t7, %hi(D_801333E0) /* B8094C 801097AC 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013 diff --git a/asm/non_matchings/code/z_message_PAL/func_80109B3C.s b/asm/non_matchings/code/z_message_PAL/func_80109B3C.s index 976c1696ae..b79bd95f1c 100644 --- a/asm/non_matchings/code/z_message_PAL/func_80109B3C.s +++ b/asm/non_matchings/code/z_message_PAL/func_80109B3C.s @@ -364,7 +364,7 @@ glabel func_80109B3C /* B810B0 80109F10 03C02025 */ move $a0, $fp /* B810B4 80109F14 2605FFE0 */ addiu $a1, $s0, -0x20 /* B810B8 80109F18 30A500FF */ andi $a1, $a1, 0xff -/* B810BC 80109F1C 0C01BB98 */ jal func_8006EE60 +/* B810BC 80109F1C 0C01BB98 */ jal Font_LoadChar /* B810C0 80109F20 32A6FFFF */ andi $a2, $s5, 0xffff /* B810C4 80109F24 26B50080 */ addiu $s5, $s5, 0x80 .L80109F28: @@ -463,7 +463,7 @@ glabel func_80109B3C /* B8120C 8010A06C 30A500FF */ andi $a1, $a1, 0xff /* B81210 8010A070 02419021 */ addu $s2, $s2, $at /* B81214 8010A074 03C02025 */ move $a0, $fp -/* B81218 8010A078 0C01BB98 */ jal func_8006EE60 +/* B81218 8010A078 0C01BB98 */ jal Font_LoadChar /* B8121C 8010A07C 32A6FFFF */ andi $a2, $s5, 0xffff /* B81220 8010A080 86090000 */ lh $t1, ($s0) /* B81224 8010A084 26D60001 */ addiu $s6, $s6, 1 @@ -476,7 +476,7 @@ glabel func_80109B3C /* B81240 8010A0A0 0016B403 */ sra $s6, $s6, 0x10 /* B81244 8010A0A4 03C02025 */ move $a0, $fp /* B81248 8010A0A8 24050002 */ li $a1, 2 -/* B8124C 8010A0AC 0C01BB98 */ jal func_8006EE60 +/* B8124C 8010A0AC 0C01BB98 */ jal Font_LoadChar /* B81250 8010A0B0 32A6FFFF */ andi $a2, $s5, 0xffff /* B81254 8010A0B4 02F65821 */ addu $t3, $s7, $s6 /* B81258 8010A0B8 26D60001 */ addiu $s6, $s6, 1 @@ -492,7 +492,7 @@ glabel func_80109B3C /* B8127C 8010A0DC 16610009 */ bne $s3, $at, .L8010A104 /* B81280 8010A0E0 03C02025 */ move $a0, $fp /* B81284 8010A0E4 24050002 */ li $a1, 2 -/* B81288 8010A0E8 0C01BB98 */ jal func_8006EE60 +/* B81288 8010A0E8 0C01BB98 */ jal Font_LoadChar /* B8128C 8010A0EC 32A6FFFF */ andi $a2, $s5, 0xffff /* B81290 8010A0F0 02F66021 */ addu $t4, $s7, $s6 /* B81294 8010A0F4 25817FFF */ addiu $at, $t4, 0x7fff @@ -591,7 +591,7 @@ glabel func_80109B3C /* B813DC 8010A23C 24A50010 */ addiu $a1, $a1, 0x10 /* B813E0 8010A240 30A500FF */ andi $a1, $a1, 0xff /* B813E4 8010A244 02419021 */ addu $s2, $s2, $at -/* B813E8 8010A248 0C01BB98 */ jal func_8006EE60 +/* B813E8 8010A248 0C01BB98 */ jal Font_LoadChar /* B813EC 8010A24C 32A6FFFF */ andi $a2, $s5, 0xffff /* B813F0 8010A250 86190000 */ lh $t9, ($s0) /* B813F4 8010A254 26D60001 */ addiu $s6, $s6, 1 @@ -678,7 +678,7 @@ glabel func_80109B3C /* B81514 8010A374 24A50010 */ addiu $a1, $a1, 0x10 /* B81518 8010A378 30A500FF */ andi $a1, $a1, 0xff /* B8151C 8010A37C 02419021 */ addu $s2, $s2, $at -/* B81520 8010A380 0C01BB98 */ jal func_8006EE60 +/* B81520 8010A380 0C01BB98 */ jal Font_LoadChar /* B81524 8010A384 32A6FFFF */ andi $a2, $s5, 0xffff /* B81528 8010A388 86180000 */ lh $t8, ($s0) /* B8152C 8010A38C 3C048015 */ lui $a0, %hi(D_80154120) # $a0, 0x8015 @@ -747,7 +747,7 @@ glabel func_80109B3C /* B81610 8010A470 30A500FF */ andi $a1, $a1, 0xff /* B81614 8010A474 02419021 */ addu $s2, $s2, $at /* B81618 8010A478 03C02025 */ move $a0, $fp -/* B8161C 8010A47C 0C01BB98 */ jal func_8006EE60 +/* B8161C 8010A47C 0C01BB98 */ jal Font_LoadChar /* B81620 8010A480 32A6FFFF */ andi $a2, $s5, 0xffff /* B81624 8010A484 860D0000 */ lh $t5, ($s0) /* B81628 8010A488 3C048015 */ lui $a0, %hi(D_8015413C) # $a0, 0x8015 @@ -993,7 +993,7 @@ glabel L8010A6FC /* B81998 8010A7F8 24A50010 */ addiu $a1, $a1, 0x10 /* B8199C 8010A7FC 30A500FF */ andi $a1, $a1, 0xff /* B819A0 8010A800 02419021 */ addu $s2, $s2, $at -/* B819A4 8010A804 0C01BB98 */ jal func_8006EE60 +/* B819A4 8010A804 0C01BB98 */ jal Font_LoadChar /* B819A8 8010A808 32A6FFFF */ andi $a2, $s5, 0xffff /* B819AC 8010A80C 860F0000 */ lh $t7, ($s0) /* B819B0 8010A810 26D60001 */ addiu $s6, $s6, 1 @@ -1075,7 +1075,7 @@ glabel L8010A850 /* B81AC0 8010A920 30A500FF */ andi $a1, $a1, 0xff /* B81AC4 8010A924 02419021 */ addu $s2, $s2, $at /* B81AC8 8010A928 03C02025 */ move $a0, $fp -/* B81ACC 8010A92C 0C01BB98 */ jal func_8006EE60 +/* B81ACC 8010A92C 0C01BB98 */ jal Font_LoadChar /* B81AD0 8010A930 32A6FFFF */ andi $a2, $s5, 0xffff /* B81AD4 8010A934 860B0000 */ lh $t3, ($s0) /* B81AD8 8010A938 26D60001 */ addiu $s6, $s6, 1 @@ -1088,7 +1088,7 @@ glabel L8010A850 /* B81AF4 8010A954 0016B403 */ sra $s6, $s6, 0x10 /* B81AF8 8010A958 03C02025 */ move $a0, $fp /* B81AFC 8010A95C 24050002 */ li $a1, 2 -/* B81B00 8010A960 0C01BB98 */ jal func_8006EE60 +/* B81B00 8010A960 0C01BB98 */ jal Font_LoadChar /* B81B04 8010A964 32A6FFFF */ andi $a2, $s5, 0xffff /* B81B08 8010A968 02F67021 */ addu $t6, $s7, $s6 /* B81B0C 8010A96C 26D60001 */ addiu $s6, $s6, 1 @@ -1104,7 +1104,7 @@ glabel L8010A850 /* B81B30 8010A990 16610009 */ bne $s3, $at, .L8010A9B8 /* B81B34 8010A994 03C02025 */ move $a0, $fp /* B81B38 8010A998 24050002 */ li $a1, 2 -/* B81B3C 8010A99C 0C01BB98 */ jal func_8006EE60 +/* B81B3C 8010A99C 0C01BB98 */ jal Font_LoadChar /* B81B40 8010A9A0 32A6FFFF */ andi $a2, $s5, 0xffff /* B81B44 8010A9A4 02F67821 */ addu $t7, $s7, $s6 /* B81B48 8010A9A8 25E17FFF */ addiu $at, $t7, 0x7fff @@ -1203,7 +1203,7 @@ glabel L8010A850 /* B81C9C 8010AAFC 30A500FF */ andi $a1, $a1, 0xff /* B81CA0 8010AB00 02419021 */ addu $s2, $s2, $at /* B81CA4 8010AB04 03C02025 */ move $a0, $fp -/* B81CA8 8010AB08 0C01BB98 */ jal func_8006EE60 +/* B81CA8 8010AB08 0C01BB98 */ jal Font_LoadChar /* B81CAC 8010AB0C 32A6FFFF */ andi $a2, $s5, 0xffff /* B81CB0 8010AB10 860C0000 */ lh $t4, ($s0) /* B81CB4 8010AB14 26D60001 */ addiu $s6, $s6, 1 @@ -1216,7 +1216,7 @@ glabel L8010A850 /* B81CD0 8010AB30 0016B403 */ sra $s6, $s6, 0x10 /* B81CD4 8010AB34 03C02025 */ move $a0, $fp /* B81CD8 8010AB38 2405001A */ li $a1, 26 -/* B81CDC 8010AB3C 0C01BB98 */ jal func_8006EE60 +/* B81CDC 8010AB3C 0C01BB98 */ jal Font_LoadChar /* B81CE0 8010AB40 32A6FFFF */ andi $a2, $s5, 0xffff /* B81CE4 8010AB44 02F67821 */ addu $t7, $s7, $s6 /* B81CE8 8010AB48 26D60001 */ addiu $s6, $s6, 1 @@ -1558,7 +1558,7 @@ glabel L8010A850 /* B821F4 8010B054 03C02025 */ move $a0, $fp /* B821F8 8010B058 2605FFE0 */ addiu $a1, $s0, -0x20 /* B821FC 8010B05C 30A500FF */ andi $a1, $a1, 0xff -/* B82200 8010B060 0C01BB98 */ jal func_8006EE60 +/* B82200 8010B060 0C01BB98 */ jal Font_LoadChar /* B82204 8010B064 32A6FFFF */ andi $a2, $s5, 0xffff /* B82208 8010B068 26B50080 */ addiu $s5, $s5, 0x80 .L8010B06C: diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80811A20.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80811A20.s index ce3cd5fa0e..b38af86907 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80811A20.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_80811A20.s @@ -88,7 +88,7 @@ glabel func_80811A20 /* 0DE1C 80811B5C 0C2044EA */ jal func_808113A8 /* 0DE20 80811B60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 0DE24 80811B64 3401E760 */ ori $at, $zero, 0xE760 ## $at = 0000E760 -/* 0DE28 80811B68 0C01BBC4 */ jal func_8006EF10 +/* 0DE28 80811B68 0C01BBC4 */ jal Font_LoadOrderedFont /* 0DE2C 80811B6C 02012021 */ addu $a0, $s0, $at /* 0DE30 80811B70 3C04F000 */ lui $a0, 0xF000 ## $a0 = F0000000 /* 0DE34 80811B74 0C03E803 */ jal Audio_SetBGM diff --git a/include/functions.h b/include/functions.h index 6be2d14322..f4012dc824 100644 --- a/include/functions.h +++ b/include/functions.h @@ -970,10 +970,10 @@ s32 Jpeg_Decode(void* data, u16* zbuffer, JpegWork* workBuff, u32 workSize); void KaleidoSetup_Update(GlobalContext* globalCtx); void KaleidoSetup_Init(GlobalContext* globalCtx); void KaleidoSetup_Destroy(GlobalContext* globalCtx); -// ? func_8006EE50(?); -// ? func_8006EE60(?); -// ? func_8006EEBC(?); -// ? func_8006EF10(?); +void func_8006EE50(Font* font, s16 arg1, s16 arg2); +void Font_LoadChar(u32 offset, u8 character, u16 codePointIndex); +void Font_LoadMessageBoxEndIcon(Font* font, u16 icon); +void Font_LoadOrderedFont(Font* font); s32 func_8006F0A0(s32 arg0); // ? func_8006F0D4(?); // ? func_8006F0FC(?); diff --git a/include/z64.h b/include/z64.h index 303fe24a98..4bb583948d 100644 --- a/include/z64.h +++ b/include/z64.h @@ -495,9 +495,27 @@ typedef struct { /* 0x144 */ Vec3f rot; } SkyboxContext; // size = 0x150 +typedef enum { + MESSAGE_ICON_TRIANGLE, + MESSAGE_ICON_SQUARE, + MESSAGE_ICON_ARROW +} MessageBoxIcon; + +#define FONT_CHAR_TEX_SIZE 128 // 16x16 I4 texture + +typedef struct { + /* 0x0000 */ u32 msgOffset; + /* 0x0004 */ u32 msgLength; + /* 0x0008 */ char unk_8[0x3C00]; + /* 0x3C08 */ u8 iconBuf[FONT_CHAR_TEX_SIZE]; + /* 0x3C88 */ u8 fontBuf[FONT_CHAR_TEX_SIZE * 320]; // size possibly unconfirmed + /* 0xDC88 */ char msgBuf[1064]; // size unconfirmed + /* 0xE0B0 */ char unk_E0B0[0xD8]; +} Font; // size = 0xE188 + typedef struct { /* 0x0000 */ View view; - /* 0x0128 */ char unk_128[0xE188]; + /* 0x0128 */ Font font; /* 0xE2B0 */ void* textboxSegment; // "fukidashiSegment" /* 0xE2B4 */ char unk_E2B4[0x44]; /* 0xE2FA */ u16 unk_E2F8; diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 15a8054e7c..3d5a9337bc 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -199,7 +199,7 @@ void func_80110F68(GlobalContext* globalCtx) { __assert("message->fukidashiSegment != NULL", "../z_construct.c", 352); } - func_8006EF10(&globalCtx->msgCtx.unk_128); + Font_LoadOrderedFont(&globalCtx->msgCtx.font); YREG(31) = 0; } diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c index 10140553ee..c2fc1b7579 100644 --- a/src/code/z_kaleido_setup.c +++ b/src/code/z_kaleido_setup.c @@ -141,6 +141,3 @@ void KaleidoSetup_Init(GlobalContext* globalCtx) { void KaleidoSetup_Destroy(GlobalContext* globalCtx) { } - -void func_8006EE50(UNK_PTR arg0, s16 arg1, s16 arg2) { -} diff --git a/src/code/z_kanfont.c b/src/code/z_kanfont.c index 272c235f30..104d6be425 100644 --- a/src/code/z_kanfont.c +++ b/src/code/z_kanfont.c @@ -1,7 +1,54 @@ #include "global.h" -#pragma GLOBAL_ASM("asm/non_matchings/code/z_kanfont/func_8006EE60.s") +// To be moved to message_data_static header +#define MESSAGE_NEWLINE '\x01' +#define MESSAGE_END '\x02' +// message_data_static symbols +extern const char D_07000000[]; // start of file +extern const char D_070380D4[]; // charset message (id 0xFFFC) +extern const char D_0703811C[]; // end marker of last message -#pragma GLOBAL_ASM("asm/non_matchings/code/z_kanfont/func_8006EEBC.s") +void func_8006EE50(Font* font, s16 arg1, s16 arg2) { +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_kanfont/func_8006EF10.s") +void Font_LoadChar(u32 offset, u8 character, u16 codePointIndex) { + DmaMgr_SendRequest1(((u32)offset + codePointIndex) + 8, + &_nes_font_staticSegmentRomStart[character * FONT_CHAR_TEX_SIZE], FONT_CHAR_TEX_SIZE, + "../z_kanfont.c", 93); +} + +void Font_LoadMessageBoxEndIcon(Font* font, u16 icon) { + DmaMgr_SendRequest1(font->iconBuf, &_message_staticSegmentRomStart[4 * 0x1000 + icon * FONT_CHAR_TEX_SIZE], + FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100); +} + +void Font_LoadOrderedFont(Font* font) { + s32 len; + s32 jj; + s32 fontStatic; + u32 fontBuf; + s32 codePointIndex; + s32 fontBufIndex; + s32 offset; + + font->msgOffset = D_070380D4 - D_07000000; + len = font->msgLength = D_0703811C - D_070380D4; + DmaMgr_SendRequest1(font->msgBuf, &_nes_message_data_staticSegmentRomStart[font->msgOffset], len, + "../z_kanfont.c", 122); + osSyncPrintf("msg_data=%x, msg_data0=%x jj=%x\n", font->msgOffset, font->msgLength, jj = len); + len = jj; + for (fontBufIndex = 0, codePointIndex = 0; font->msgBuf[codePointIndex] != MESSAGE_END; codePointIndex++) { + if (codePointIndex > len) { + osSyncPrintf("ERROR!! エラー!!! error───!!!!\n"); + return; + } + if (font->msgBuf[codePointIndex] != MESSAGE_NEWLINE) { + fontBuf = font->fontBuf + fontBufIndex * 8; + fontStatic = _nes_font_staticSegmentRomStart; + osSyncPrintf("nes_mes_buf[%d]=%d\n", codePointIndex, font->msgBuf[codePointIndex]); + offset = (font->msgBuf[codePointIndex] - '\x20') * FONT_CHAR_TEX_SIZE; + DmaMgr_SendRequest1(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134); + fontBufIndex += 0x10; + } + } +} diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index 0261c146c9..2484df44a1 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -98,7 +98,7 @@ void EnMag_Init(Actor* thisx, GlobalContext* globalCtx) { gSaveContext.unk_1419 = 255; } - func_8006EF10(&this->unk_150); + Font_LoadOrderedFont(&this->font); this->unk_E316 = 0; this->unk_E318 = 0; @@ -394,7 +394,7 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { 0x06020000, 0x06020800, 0x06021000, 0x06021800, 0x06022000, 0x06022800, 0x06023000, 0x06023800, 0x06024000, }; EnMag* this = THIS; - u8* buf = this->unk_150; + Font* font = &this->font; s32 pad; Gfx* gfx = *gfxp; u16 i, j, k; @@ -496,7 +496,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { rectLeft = VREG(19) + 1; for (i = 0; i < ARRAY_COUNT(noControllerFontIndexes); i++) { - EnMag_DrawCharTexture(&gfx, buf + 0x3C88 + (noControllerFontIndexes[i] * 0x80), rectLeft, YREG(10) + 172); + EnMag_DrawCharTexture(&gfx, font->fontBuf + noControllerFontIndexes[i] * FONT_CHAR_TEX_SIZE, rectLeft, + YREG(10) + 172); rectLeft += VREG(21); if (i == 1) { rectLeft += VREG(23); @@ -509,7 +510,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { rectLeft = VREG(19); for (i = 0; i < ARRAY_COUNT(noControllerFontIndexes); i++) { - EnMag_DrawCharTexture(&gfx, buf + 0x3C88 + (noControllerFontIndexes[i] * 0x80), rectLeft, YREG(10) + 171); + EnMag_DrawCharTexture(&gfx, font->fontBuf + noControllerFontIndexes[i] * FONT_CHAR_TEX_SIZE, rectLeft, + YREG(10) + 171); rectLeft += VREG(21); if (i == 1) { rectLeft += VREG(23); @@ -530,7 +532,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { rectLeft = YREG(7) + 1; for (i = 0; i < ARRAY_COUNT(pressStartFontIndexes); i++) { - EnMag_DrawCharTexture(&gfx, buf + 0x3C88 + (pressStartFontIndexes[i] * 0x80), rectLeft, YREG(10) + 172); + EnMag_DrawCharTexture(&gfx, font->fontBuf + pressStartFontIndexes[i] * FONT_CHAR_TEX_SIZE, rectLeft, + YREG(10) + 172); rectLeft += YREG(8); if (i == 4) { rectLeft += YREG(9); @@ -543,7 +546,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { rectLeft = YREG(7); for (i = 0; i < ARRAY_COUNT(pressStartFontIndexes); i++) { - EnMag_DrawCharTexture(&gfx, buf + 0x3C88 + (pressStartFontIndexes[i] * 0x80), rectLeft, YREG(10) + 171); + EnMag_DrawCharTexture(&gfx, font->fontBuf + pressStartFontIndexes[i] * FONT_CHAR_TEX_SIZE, rectLeft, + YREG(10) + 171); rectLeft += YREG(8); if (i == 4) { rectLeft += YREG(9); diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.h b/src/overlays/actors/ovl_En_Mag/z_en_mag.h index 9eba318aa8..8962dd8f98 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.h +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.h @@ -9,7 +9,7 @@ struct EnMag; typedef struct EnMag { /* 0x0000 */ Actor actor; /* 0x014C */ char unk_14C[0x0004]; - /* 0x0150 */ u8 unk_150[0xE188]; // kanfont struct/buffer + /* 0x0150 */ Font font; /* 0xE2D8 */ s16 effectFadeInState; /* 0xE2DA */ s16 effectFadeInTimer; /* 0xE2DC */ s16 globalState; diff --git a/undefined_syms.txt b/undefined_syms.txt index 99d11c395d..482adf4299 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -271,6 +271,7 @@ D_0602A738 = 0x0602A738; D_0602CB48 = 0x0602CB48; D_0602B288 = 0x0602B288; D_0602AFF0 = 0x0602AFF0; +D_07000000 = 0x07000000; D_070380D4 = 0x070380D4; D_0703811C = 0x0703811C; D_080895C0 = 0x080895C0; From 5c631e31703df73c366c83f0bacc84edce2b7f6f Mon Sep 17 00:00:00 2001 From: Sirius902 <10891979+Sirius902@users.noreply.github.com> Date: Mon, 12 Oct 2020 15:45:16 -0700 Subject: [PATCH 6/8] ovl_En_Horse_Normal (#403) * merge upstream * Merge upstream * Match EnHorseNormal_Init * Work on EnHorseNormal_Draw (probably finish depending functions first) * func_80A6CC88 * Work on EnHorseNormal_Draw * Clang format * Properly use OPEN_DISPS * Stop using thisx lol * Use the funny angle number * Use &D_04049AD0 because it's not a display list? * Stop using fun macros to fix stack * EnHorseNormal_Draw * EnHorseNormal_Destroy * EnHorseNormal_Update * Use disp macros EnHorseNormal_Draw * Correctly type D_04049AD0 * func_80A6C570 * Name some draw stuff * Fix names * Make if condition more readable * func_80A6B30C and fix incorrect pointer types * Function prototypes * func_80A6B250 * Add header comment * Move skin function to functions.h * Change to stable * Cleanup a little * Match some more * Work on func_80A6BE6C (won't compile yet) * Work on func_80A6BE6C again * Progress * func_80A6CAFC * Match all but one :) * Work on func_80A6BE6C * Work more on func_80A6BE6C * Multiply floating point by integer lol * Reorder assignment to almost match * func_80A6BE6C * Fix warning and remove unnecessary forward declarations * Data section * Cleanup data a bit * More cleanup and clang format * Clang format is a little confused * More cleanup * Formatting * Revert formatting on z_bg_spot01_objects2.c * Name unk_14C * Add clone comment * Name clonePos * Name and cleanup * Name some animation related stuff * Remove unnecessary assignment * Name cloneRotY * Use ARRAY_COUNT for sAnimations * Add more to unknown struct layout * Use u8 for last struct member * Use s32 for length * Add padding disclaimer * Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c Co-authored-by: Dragorn421 * Various suggestions * Replace 10430.378f * Remove padding because alignment * Move function array out of function * Remove struct name being present twice unecessarily * Oops forgot the s * Don't separate static vars from others * Some cleanup * Use ARRAY_COUNT(sJntSphItemsInit) * Minor cleanup * Rename enum members * Oops forgot to rename enum Co-authored-by: Dragorn421 --- .../EnHorseNormal_Destroy.s | 27 - .../ovl_En_Horse_Normal/EnHorseNormal_Draw.s | 353 ---------- .../ovl_En_Horse_Normal/EnHorseNormal_Init.s | 363 ---------- .../EnHorseNormal_Update.s | 92 --- .../ovl_En_Horse_Normal/func_80A6B250.s | 52 -- .../ovl_En_Horse_Normal/func_80A6B30C.s | 60 -- .../ovl_En_Horse_Normal/func_80A6B91C.s | 48 -- .../ovl_En_Horse_Normal/func_80A6B9D0.s | 131 ---- .../ovl_En_Horse_Normal/func_80A6BBAC.s | 23 - .../ovl_En_Horse_Normal/func_80A6BC00.s | 21 - .../ovl_En_Horse_Normal/func_80A6BC48.s | 44 -- .../ovl_En_Horse_Normal/func_80A6BCEC.s | 42 -- .../ovl_En_Horse_Normal/func_80A6BD7C.s | 67 -- .../ovl_En_Horse_Normal/func_80A6BE6C.s | 466 ------------ .../ovl_En_Horse_Normal/func_80A6C4CC.s | 44 -- .../ovl_En_Horse_Normal/func_80A6C570.s | 99 --- .../ovl_En_Horse_Normal/func_80A6C6B0.s | 47 -- .../ovl_En_Horse_Normal/func_80A6C760.s | 115 --- .../ovl_En_Horse_Normal/func_80A6C8E0.s | 58 -- .../ovl_En_Horse_Normal/func_80A6CAFC.s | 103 --- .../ovl_En_Horse_Normal/func_80A6CC88.s | 131 ---- data/overlays/actors/z_en_horse_normal.data.s | 55 -- .../overlays/actors/z_en_horse_normal.reloc.s | 13 - include/functions.h | 2 + include/variables.h | 2 +- spec | 3 +- src/code/z_actor.c | 2 +- .../ovl_En_Horse_Normal/z_en_horse_normal.c | 663 +++++++++++++++++- .../ovl_En_Horse_Normal/z_en_horse_normal.h | 23 +- undefined_syms.txt | 12 + 30 files changed, 679 insertions(+), 2482 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s delete mode 100644 data/overlays/actors/z_en_horse_normal.data.s delete mode 100644 data/overlays/actors/z_en_horse_normal.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s deleted file mode 100644 index 3931b86dc6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel EnHorseNormal_Destroy -/* 0066C 80A6B8BC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00670 80A6B8C0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00674 80A6B8C4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00678 80A6B8C8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0067C 80A6B8CC 8FA50018 */ lw $a1, 0x0018($sp) -/* 00680 80A6B8D0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00684 80A6B8D4 0C029A22 */ jal func_800A6888 -/* 00688 80A6B8D8 24A50154 */ addiu $a1, $a1, 0x0154 ## $a1 = 00000154 -/* 0068C 80A6B8DC 8FA50018 */ lw $a1, 0x0018($sp) -/* 00690 80A6B8E0 8FA4001C */ lw $a0, 0x001C($sp) -/* 00694 80A6B8E4 0C0170EB */ jal Collider_DestroyCylinder - -/* 00698 80A6B8E8 24A50228 */ addiu $a1, $a1, 0x0228 ## $a1 = 00000228 -/* 0069C 80A6B8EC 8FA50018 */ lw $a1, 0x0018($sp) -/* 006A0 80A6B8F0 8FA4001C */ lw $a0, 0x001C($sp) -/* 006A4 80A6B8F4 0C0170EB */ jal Collider_DestroyCylinder - -/* 006A8 80A6B8F8 24A502D4 */ addiu $a1, $a1, 0x02D4 ## $a1 = 000002D4 -/* 006AC 80A6B8FC 8FA50018 */ lw $a1, 0x0018($sp) -/* 006B0 80A6B900 8FA4001C */ lw $a0, 0x001C($sp) -/* 006B4 80A6B904 0C016F32 */ jal Collider_DestroyJntSph -/* 006B8 80A6B908 24A50274 */ addiu $a1, $a1, 0x0274 ## $a1 = 00000274 -/* 006BC 80A6B90C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 006C0 80A6B910 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 006C4 80A6B914 03E00008 */ jr $ra -/* 006C8 80A6B918 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s deleted file mode 100644 index 2bf662d1c9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s +++ /dev/null @@ -1,353 +0,0 @@ -.rdata -glabel D_80A6D560 - .asciz "../z_en_horse_normal.c" - .balign 4 - -glabel D_80A6D578 - .asciz "../z_en_horse_normal.c" - .balign 4 - -glabel D_80A6D590 - .asciz "../z_en_horse_normal.c" - .balign 4 - -.late_rodata -glabel D_80A6D5E8 - .word 0x43B18000 -glabel D_80A6D5EC - .word 0xC4368000 -glabel D_80A6D5F0 - .word 0xC4898000 -glabel D_80A6D5F4 - .word 0xC4924000 -glabel D_80A6D5F8 - .float 0.01 - -glabel D_80A6D5FC - .float 9.58738019108e-05 - -.text -glabel EnHorseNormal_Draw -/* 01C1C 80A6CE6C 27BDFF30 */ addiu $sp, $sp, 0xFF30 ## $sp = FFFFFF30 -/* 01C20 80A6CE70 AFB10030 */ sw $s1, 0x0030($sp) -/* 01C24 80A6CE74 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 01C28 80A6CE78 AFBF0034 */ sw $ra, 0x0034($sp) -/* 01C2C 80A6CE7C AFB0002C */ sw $s0, 0x002C($sp) -/* 01C30 80A6CE80 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 01C34 80A6CE84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01C38 80A6CE88 3C0680A7 */ lui $a2, %hi(D_80A6D560) ## $a2 = 80A70000 -/* 01C3C 80A6CE8C 24C6D560 */ addiu $a2, $a2, %lo(D_80A6D560) ## $a2 = 80A6D560 -/* 01C40 80A6CE90 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFE4 -/* 01C44 80A6CE94 240708B0 */ addiu $a3, $zero, 0x08B0 ## $a3 = 000008B0 -/* 01C48 80A6CE98 0C031AB1 */ jal Graph_OpenDisps -/* 01C4C 80A6CE9C AFA500C4 */ sw $a1, 0x00C4($sp) -/* 01C50 80A6CEA0 862200A4 */ lh $v0, 0x00A4($s1) ## 000000A4 -/* 01C54 80A6CEA4 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 01C58 80A6CEA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01C5C 80A6CEAC 14410003 */ bne $v0, $at, .L80A6CEBC -/* 01C60 80A6CEB0 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036 -/* 01C64 80A6CEB4 10410003 */ beq $v0, $at, .L80A6CEC4 -/* 01C68 80A6CEB8 00000000 */ nop -.L80A6CEBC: -/* 01C6C 80A6CEBC 0C29B238 */ jal func_80A6C8E0 -/* 01C70 80A6CEC0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -.L80A6CEC4: -/* 01C74 80A6CEC4 0C024F46 */ jal func_80093D18 -/* 01C78 80A6CEC8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 01C7C 80A6CECC 26060154 */ addiu $a2, $s0, 0x0154 ## $a2 = 00000154 -/* 01C80 80A6CED0 3C0780A7 */ lui $a3, %hi(func_80A6CAFC) ## $a3 = 80A70000 -/* 01C84 80A6CED4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 01C88 80A6CED8 AFAE0010 */ sw $t6, 0x0010($sp) -/* 01C8C 80A6CEDC 24E7CAFC */ addiu $a3, $a3, %lo(func_80A6CAFC) ## $a3 = 80A6CAFC -/* 01C90 80A6CEE0 AFA60038 */ sw $a2, 0x0038($sp) -/* 01C94 80A6CEE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01C98 80A6CEE8 0C0298CC */ jal func_800A6330 -/* 01C9C 80A6CEEC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 01CA0 80A6CEF0 8E0F014C */ lw $t7, 0x014C($s0) ## 0000014C -/* 01CA4 80A6CEF4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 01CA8 80A6CEF8 3C1880A7 */ lui $t8, %hi(D_80A6D548) ## $t8 = 80A70000 -/* 01CAC 80A6CEFC 15E10109 */ bne $t7, $at, .L80A6D324 -/* 01CB0 80A6CF00 2718D548 */ addiu $t8, $t8, %lo(D_80A6D548) ## $t8 = 80A6D548 -/* 01CB4 80A6CF04 8F0A0000 */ lw $t2, 0x0000($t8) ## 80A6D548 -/* 01CB8 80A6CF08 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFF94 -/* 01CBC 80A6CF0C 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036 -/* 01CC0 80A6CF10 ACCA0000 */ sw $t2, 0x0000($a2) ## FFFFFF94 -/* 01CC4 80A6CF14 8F190004 */ lw $t9, 0x0004($t8) ## 80A6D54C -/* 01CC8 80A6CF18 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01CCC 80A6CF1C ACD90004 */ sw $t9, 0x0004($a2) ## FFFFFF98 -/* 01CD0 80A6CF20 8F0A0008 */ lw $t2, 0x0008($t8) ## 80A6D550 -/* 01CD4 80A6CF24 ACCA0008 */ sw $t2, 0x0008($a2) ## FFFFFF9C -/* 01CD8 80A6CF28 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080 -/* 01CDC 80A6CF2C C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028 -/* 01CE0 80A6CF30 46041181 */ sub.s $f6, $f2, $f4 -/* 01CE4 80A6CF34 E7A6005C */ swc1 $f6, 0x005C($sp) -/* 01CE8 80A6CF38 862200A4 */ lh $v0, 0x00A4($s1) ## 000000A4 -/* 01CEC 80A6CF3C 14410038 */ bne $v0, $at, .L80A6D020 -/* 01CF0 80A6CF40 3C0180A7 */ lui $at, %hi(D_80A6D5E8) ## $at = 80A70000 -/* 01CF4 80A6CF44 C428D5E8 */ lwc1 $f8, %lo(D_80A6D5E8)($at) -/* 01CF8 80A6CF48 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024 -/* 01CFC 80A6CF4C 46004032 */ c.eq.s $f8, $f0 -/* 01D00 80A6CF50 00000000 */ nop -/* 01D04 80A6CF54 45020018 */ bc1fl .L80A6CFB8 -/* 01D08 80A6CF58 3C01436E */ lui $at, 0x436E ## $at = 436E0000 -/* 01D0C 80A6CF5C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01D10 80A6CF60 3C01C375 */ lui $at, 0xC375 ## $at = C3750000 -/* 01D14 80A6CF64 46026032 */ c.eq.s $f12, $f2 -/* 01D18 80A6CF68 00000000 */ nop -/* 01D1C 80A6CF6C 45020012 */ bc1fl .L80A6CFB8 -/* 01D20 80A6CF70 3C01436E */ lui $at, 0x436E ## $at = 436E0000 -/* 01D24 80A6CF74 44815000 */ mtc1 $at, $f10 ## $f10 = 238.00 -/* 01D28 80A6CF78 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 01D2C 80A6CF7C 3C01436B */ lui $at, 0x436B ## $at = 436B0000 -/* 01D30 80A6CF80 240B7FFF */ addiu $t3, $zero, 0x7FFF ## $t3 = 00007FFF -/* 01D34 80A6CF84 46105032 */ c.eq.s $f10, $f16 -/* 01D38 80A6CF88 00000000 */ nop -/* 01D3C 80A6CF8C 4502000A */ bc1fl .L80A6CFB8 -/* 01D40 80A6CF90 3C01436E */ lui $at, 0x436E ## $at = 436E0000 -/* 01D44 80A6CF94 44819000 */ mtc1 $at, $f18 ## $f18 = 238.00 -/* 01D48 80A6CF98 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 01D4C 80A6CF9C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00 -/* 01D50 80A6CFA0 E7AC0068 */ swc1 $f12, 0x0068($sp) -/* 01D54 80A6CFA4 A7AB0062 */ sh $t3, 0x0062($sp) -/* 01D58 80A6CFA8 E7B20064 */ swc1 $f18, 0x0064($sp) -/* 01D5C 80A6CFAC 10000053 */ beq $zero, $zero, .L80A6D0FC -/* 01D60 80A6CFB0 E7A4006C */ swc1 $f4, 0x006C($sp) -/* 01D64 80A6CFB4 3C01436E */ lui $at, 0x436E ## $at = 436E0000 -.L80A6CFB8: -/* 01D68 80A6CFB8 44813000 */ mtc1 $at, $f6 ## $f6 = 238.00 -/* 01D6C 80A6CFBC 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01D70 80A6CFC0 46003032 */ c.eq.s $f6, $f0 -/* 01D74 80A6CFC4 00000000 */ nop -/* 01D78 80A6CFC8 4500004C */ bc1f .L80A6D0FC -/* 01D7C 80A6CFCC 00000000 */ nop -/* 01D80 80A6CFD0 46026032 */ c.eq.s $f12, $f2 -/* 01D84 80A6CFD4 3C01C375 */ lui $at, 0xC375 ## $at = C3750000 -/* 01D88 80A6CFD8 45000048 */ bc1f .L80A6D0FC -/* 01D8C 80A6CFDC 00000000 */ nop -/* 01D90 80A6CFE0 44814000 */ mtc1 $at, $f8 ## $f8 = -245.00 -/* 01D94 80A6CFE4 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 01D98 80A6CFE8 3C0143EF */ lui $at, 0x43EF ## $at = 43EF0000 -/* 01D9C 80A6CFEC 240C7FFF */ addiu $t4, $zero, 0x7FFF ## $t4 = 00007FFF -/* 01DA0 80A6CFF0 460A4032 */ c.eq.s $f8, $f10 -/* 01DA4 80A6CFF4 00000000 */ nop -/* 01DA8 80A6CFF8 45000040 */ bc1f .L80A6D0FC -/* 01DAC 80A6CFFC 00000000 */ nop -/* 01DB0 80A6D000 44818000 */ mtc1 $at, $f16 ## $f16 = 478.00 -/* 01DB4 80A6D004 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 01DB8 80A6D008 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00 -/* 01DBC 80A6D00C E7AC0068 */ swc1 $f12, 0x0068($sp) -/* 01DC0 80A6D010 A7AC0062 */ sh $t4, 0x0062($sp) -/* 01DC4 80A6D014 E7B00064 */ swc1 $f16, 0x0064($sp) -/* 01DC8 80A6D018 10000038 */ beq $zero, $zero, .L80A6D0FC -/* 01DCC 80A6D01C E7B2006C */ swc1 $f18, 0x006C($sp) -.L80A6D020: -/* 01DD0 80A6D020 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 01DD4 80A6D024 14410035 */ bne $v0, $at, .L80A6D0FC -/* 01DD8 80A6D028 3C0180A7 */ lui $at, %hi(D_80A6D5EC) ## $at = 80A70000 -/* 01DDC 80A6D02C C424D5EC */ lwc1 $f4, %lo(D_80A6D5EC)($at) -/* 01DE0 80A6D030 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024 -/* 01DE4 80A6D034 46002032 */ c.eq.s $f4, $f0 -/* 01DE8 80A6D038 00000000 */ nop -/* 01DEC 80A6D03C 45020017 */ bc1fl .L80A6D09C -/* 01DF0 80A6D040 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -/* 01DF4 80A6D044 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01DF8 80A6D048 3C0180A7 */ lui $at, %hi(D_80A6D5F0) ## $at = 80A70000 -/* 01DFC 80A6D04C 46026032 */ c.eq.s $f12, $f2 -/* 01E00 80A6D050 00000000 */ nop -/* 01E04 80A6D054 45020011 */ bc1fl .L80A6D09C -/* 01E08 80A6D058 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -/* 01E0C 80A6D05C C426D5F0 */ lwc1 $f6, %lo(D_80A6D5F0)($at) -/* 01E10 80A6D060 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 01E14 80A6D064 3C014443 */ lui $at, 0x4443 ## $at = 44430000 -/* 01E18 80A6D068 46083032 */ c.eq.s $f6, $f8 -/* 01E1C 80A6D06C 00000000 */ nop -/* 01E20 80A6D070 4502000A */ bc1fl .L80A6D09C -/* 01E24 80A6D074 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -/* 01E28 80A6D078 44815000 */ mtc1 $at, $f10 ## $f10 = 880.00 -/* 01E2C 80A6D07C 3C01C2A0 */ lui $at, 0xC2A0 ## $at = C2A00000 -/* 01E30 80A6D080 44818000 */ mtc1 $at, $f16 ## $f16 = -80.00 -/* 01E34 80A6D084 E7AC0068 */ swc1 $f12, 0x0068($sp) -/* 01E38 80A6D088 A7A00062 */ sh $zero, 0x0062($sp) -/* 01E3C 80A6D08C E7AA0064 */ swc1 $f10, 0x0064($sp) -/* 01E40 80A6D090 1000001A */ beq $zero, $zero, .L80A6D0FC -/* 01E44 80A6D094 E7B0006C */ swc1 $f16, 0x006C($sp) -/* 01E48 80A6D098 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -.L80A6D09C: -/* 01E4C 80A6D09C 44819000 */ mtc1 $at, $f18 ## $f18 = 880.00 -/* 01E50 80A6D0A0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01E54 80A6D0A4 46009032 */ c.eq.s $f18, $f0 -/* 01E58 80A6D0A8 00000000 */ nop -/* 01E5C 80A6D0AC 45000013 */ bc1f .L80A6D0FC -/* 01E60 80A6D0B0 00000000 */ nop -/* 01E64 80A6D0B4 46026032 */ c.eq.s $f12, $f2 -/* 01E68 80A6D0B8 3C0180A7 */ lui $at, %hi(D_80A6D5F4) ## $at = 80A70000 -/* 01E6C 80A6D0BC 4500000F */ bc1f .L80A6D0FC -/* 01E70 80A6D0C0 00000000 */ nop -/* 01E74 80A6D0C4 C424D5F4 */ lwc1 $f4, %lo(D_80A6D5F4)($at) -/* 01E78 80A6D0C8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 01E7C 80A6D0CC 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000 -/* 01E80 80A6D0D0 46062032 */ c.eq.s $f4, $f6 -/* 01E84 80A6D0D4 00000000 */ nop -/* 01E88 80A6D0D8 45000008 */ bc1f .L80A6D0FC -/* 01E8C 80A6D0DC 00000000 */ nop -/* 01E90 80A6D0E0 44814000 */ mtc1 $at, $f8 ## $f8 = -1000.00 -/* 01E94 80A6D0E4 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000 -/* 01E98 80A6D0E8 44815000 */ mtc1 $at, $f10 ## $f10 = -70.00 -/* 01E9C 80A6D0EC E7AC0068 */ swc1 $f12, 0x0068($sp) -/* 01EA0 80A6D0F0 A7A00062 */ sh $zero, 0x0062($sp) -/* 01EA4 80A6D0F4 E7A80064 */ swc1 $f8, 0x0064($sp) -/* 01EA8 80A6D0F8 E7AA006C */ swc1 $f10, 0x006C($sp) -.L80A6D0FC: -/* 01EAC 80A6D0FC 0C29B322 */ jal func_80A6CC88 -/* 01EB0 80A6D100 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 01EB4 80A6D104 860D00B4 */ lh $t5, 0x00B4($s0) ## 000000B4 -/* 01EB8 80A6D108 87AE0062 */ lh $t6, 0x0062($sp) -/* 01EBC 80A6D10C C6000054 */ lwc1 $f0, 0x0054($s0) ## 00000054 -/* 01EC0 80A6D110 8E050050 */ lw $a1, 0x0050($s0) ## 00000050 -/* 01EC4 80A6D114 8E070058 */ lw $a3, 0x0058($s0) ## 00000058 -/* 01EC8 80A6D118 AFAD0010 */ sw $t5, 0x0010($sp) -/* 01ECC 80A6D11C AFAE0014 */ sw $t6, 0x0014($sp) -/* 01ED0 80A6D120 860F00B8 */ lh $t7, 0x00B8($s0) ## 000000B8 -/* 01ED4 80A6D124 C7B00064 */ lwc1 $f16, 0x0064($sp) -/* 01ED8 80A6D128 C7A60068 */ lwc1 $f6, 0x0068($sp) -/* 01EDC 80A6D12C AFAF0018 */ sw $t7, 0x0018($sp) -/* 01EE0 80A6D130 E7B0001C */ swc1 $f16, 0x001C($sp) -/* 01EE4 80A6D134 C61200BC */ lwc1 $f18, 0x00BC($s0) ## 000000BC -/* 01EE8 80A6D138 C7AA006C */ lwc1 $f10, 0x006C($sp) -/* 01EEC 80A6D13C 44060000 */ mfc1 $a2, $f0 -/* 01EF0 80A6D140 46009102 */ mul.s $f4, $f18, $f0 -/* 01EF4 80A6D144 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFA4 -/* 01EF8 80A6D148 E7AA0024 */ swc1 $f10, 0x0024($sp) -/* 01EFC 80A6D14C 46062200 */ add.s $f8, $f4, $f6 -/* 01F00 80A6D150 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate - -/* 01F04 80A6D154 E7A80020 */ swc1 $f8, 0x0020($sp) -/* 01F08 80A6D158 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 01F0C 80A6D15C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx -/* 01F10 80A6D160 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFFA4 -/* 01F14 80A6D164 10400075 */ beq $v0, $zero, .L80A6D33C -/* 01F18 80A6D168 8FA800C4 */ lw $t0, 0x00C4($sp) -/* 01F1C 80A6D16C 8D0402C0 */ lw $a0, 0x02C0($t0) ## 000002C0 -/* 01F20 80A6D170 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 01F24 80A6D174 3C198013 */ lui $t9, %hi(gMtxClear) -/* 01F28 80A6D178 24980008 */ addiu $t8, $a0, 0x0008 ## $t8 = 00000008 -/* 01F2C 80A6D17C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 01F30 80A6D180 2739DB20 */ addiu $t9, %lo(gMtxClear) -/* 01F34 80A6D184 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 01F38 80A6D188 AC890000 */ sw $t1, 0x0000($a0) ## 00000000 -/* 01F3C 80A6D18C AC990004 */ sw $t9, 0x0004($a0) ## 00000004 -/* 01F40 80A6D190 8D0402C0 */ lw $a0, 0x02C0($t0) ## 000002C0 -/* 01F44 80A6D194 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 01F48 80A6D198 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003 -/* 01F4C 80A6D19C 248A0008 */ addiu $t2, $a0, 0x0008 ## $t2 = 00000008 -/* 01F50 80A6D1A0 AD0A02C0 */ sw $t2, 0x02C0($t0) ## 000002C0 -/* 01F54 80A6D1A4 AC820004 */ sw $v0, 0x0004($a0) ## 00000004 -/* 01F58 80A6D1A8 AC890000 */ sw $t1, 0x0000($a0) ## 00000000 -/* 01F5C 80A6D1AC AFAC001C */ sw $t4, 0x001C($sp) -/* 01F60 80A6D1B0 AFA00018 */ sw $zero, 0x0018($sp) -/* 01F64 80A6D1B4 AFAB0014 */ sw $t3, 0x0014($sp) -/* 01F68 80A6D1B8 AFA00010 */ sw $zero, 0x0010($sp) -/* 01F6C 80A6D1BC 8FA60038 */ lw $a2, 0x0038($sp) -/* 01F70 80A6D1C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01F74 80A6D1C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 01F78 80A6D1C8 0C0298F3 */ jal func_800A63CC -/* 01F7C 80A6D1CC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01F80 80A6D1D0 C7B00064 */ lwc1 $f16, 0x0064($sp) -/* 01F84 80A6D1D4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 01F88 80A6D1D8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 01F8C 80A6D1DC 4600848D */ trunc.w.s $f18, $f16 -/* 01F90 80A6D1E0 02212821 */ addu $a1, $s1, $at -/* 01F94 80A6D1E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01F98 80A6D1E8 260602D4 */ addiu $a2, $s0, 0x02D4 ## $a2 = 000002D4 -/* 01F9C 80A6D1EC 440E9000 */ mfc1 $t6, $f18 -/* 01FA0 80A6D1F0 00000000 */ nop -/* 01FA4 80A6D1F4 A60E031A */ sh $t6, 0x031A($s0) ## 0000031A -/* 01FA8 80A6D1F8 C7A40068 */ lwc1 $f4, 0x0068($sp) -/* 01FAC 80A6D1FC 4600218D */ trunc.w.s $f6, $f4 -/* 01FB0 80A6D200 44183000 */ mfc1 $t8, $f6 -/* 01FB4 80A6D204 00000000 */ nop -/* 01FB8 80A6D208 A618031C */ sh $t8, 0x031C($s0) ## 0000031C -/* 01FBC 80A6D20C C7A8006C */ lwc1 $f8, 0x006C($sp) -/* 01FC0 80A6D210 4600428D */ trunc.w.s $f10, $f8 -/* 01FC4 80A6D214 440A5000 */ mfc1 $t2, $f10 -/* 01FC8 80A6D218 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 01FCC 80A6D21C A60A031E */ sh $t2, 0x031E($s0) ## 0000031E -/* 01FD0 80A6D220 0C025011 */ jal func_80094044 -/* 01FD4 80A6D224 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 01FD8 80A6D228 8FA400C4 */ lw $a0, 0x00C4($sp) -/* 01FDC 80A6D22C 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 -/* 01FE0 80A6D230 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF -/* 01FE4 80A6D234 8C8302D0 */ lw $v1, 0x02D0($a0) ## 000002D0 -/* 01FE8 80A6D238 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01FEC 80A6D23C 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008 -/* 01FF0 80A6D240 AC8B02D0 */ sw $t3, 0x02D0($a0) ## 000002D0 -/* 01FF4 80A6D244 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004 -/* 01FF8 80A6D248 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000 -/* 01FFC 80A6D24C 8FA6006C */ lw $a2, 0x006C($sp) -/* 02000 80A6D250 C7AE0068 */ lwc1 $f14, 0x0068($sp) -/* 02004 80A6D254 0C034261 */ jal Matrix_Translate -/* 02008 80A6D258 C7AC0064 */ lwc1 $f12, 0x0064($sp) -/* 0200C 80A6D25C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 02010 80A6D260 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 02014 80A6D264 3C0180A7 */ lui $at, %hi(D_80A6D5F8) ## $at = 80A70000 -/* 02018 80A6D268 C432D5F8 */ lwc1 $f18, %lo(D_80A6D5F8)($at) -/* 0201C 80A6D26C C7B0005C */ lwc1 $f16, 0x005C($sp) -/* 02020 80A6D270 C60800C4 */ lwc1 $f8, 0x00C4($s0) ## 000000C4 -/* 02024 80A6D274 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050 -/* 02028 80A6D278 46128102 */ mul.s $f4, $f16, $f18 -/* 0202C 80A6D27C C6100058 */ lwc1 $f16, 0x0058($s0) ## 00000058 -/* 02030 80A6D280 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 02034 80A6D284 46047181 */ sub.s $f6, $f14, $f4 -/* 02038 80A6D288 46083002 */ mul.s $f0, $f6, $f8 -/* 0203C 80A6D28C 00000000 */ nop -/* 02040 80A6D290 46005302 */ mul.s $f12, $f10, $f0 -/* 02044 80A6D294 00000000 */ nop -/* 02048 80A6D298 46008482 */ mul.s $f18, $f16, $f0 -/* 0204C 80A6D29C 44069000 */ mfc1 $a2, $f18 -/* 02050 80A6D2A0 0C0342A3 */ jal Matrix_Scale -/* 02054 80A6D2A4 00000000 */ nop -/* 02058 80A6D2A8 87AE0062 */ lh $t6, 0x0062($sp) -/* 0205C 80A6D2AC 3C0180A7 */ lui $at, %hi(D_80A6D5FC) ## $at = 80A70000 -/* 02060 80A6D2B0 C428D5FC */ lwc1 $f8, %lo(D_80A6D5FC)($at) -/* 02064 80A6D2B4 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 02068 80A6D2B8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0206C 80A6D2BC 468021A0 */ cvt.s.w $f6, $f4 -/* 02070 80A6D2C0 46083302 */ mul.s $f12, $f6, $f8 -/* 02074 80A6D2C4 0C034348 */ jal Matrix_RotateY -/* 02078 80A6D2C8 00000000 */ nop -/* 0207C 80A6D2CC 3C0580A7 */ lui $a1, %hi(D_80A6D578) ## $a1 = 80A70000 -/* 02080 80A6D2D0 24A5D578 */ addiu $a1, $a1, %lo(D_80A6D578) ## $a1 = 80A6D578 -/* 02084 80A6D2D4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 02088 80A6D2D8 0C0346A2 */ jal Matrix_NewMtx -/* 0208C 80A6D2DC 24060919 */ addiu $a2, $zero, 0x0919 ## $a2 = 00000919 -/* 02090 80A6D2E0 10400010 */ beq $v0, $zero, .L80A6D324 -/* 02094 80A6D2E4 8FA500C4 */ lw $a1, 0x00C4($sp) -/* 02098 80A6D2E8 8CA302D0 */ lw $v1, 0x02D0($a1) ## 000002D0 -/* 0209C 80A6D2EC 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 020A0 80A6D2F0 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 020A4 80A6D2F4 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008 -/* 020A8 80A6D2F8 ACAF02D0 */ sw $t7, 0x02D0($a1) ## 000002D0 -/* 020AC 80A6D2FC AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 020B0 80A6D300 AC780000 */ sw $t8, 0x0000($v1) ## 00000000 -/* 020B4 80A6D304 8CA302D0 */ lw $v1, 0x02D0($a1) ## 000002D0 -/* 020B8 80A6D308 3C0B0405 */ lui $t3, 0x0405 ## $t3 = 04050000 -/* 020BC 80A6D30C 256B9AD0 */ addiu $t3, $t3, 0x9AD0 ## $t3 = 04049AD0 -/* 020C0 80A6D310 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008 -/* 020C4 80A6D314 ACB902D0 */ sw $t9, 0x02D0($a1) ## 000002D0 -/* 020C8 80A6D318 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 020CC 80A6D31C AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000 -/* 020D0 80A6D320 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004 -.L80A6D324: -/* 020D4 80A6D324 3C0680A7 */ lui $a2, %hi(D_80A6D590) ## $a2 = 80A70000 -/* 020D8 80A6D328 24C6D590 */ addiu $a2, $a2, %lo(D_80A6D590) ## $a2 = 80A6D590 -/* 020DC 80A6D32C 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFE4 -/* 020E0 80A6D330 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 020E4 80A6D334 0C031AD5 */ jal Graph_CloseDisps -/* 020E8 80A6D338 24070923 */ addiu $a3, $zero, 0x0923 ## $a3 = 00000923 -.L80A6D33C: -/* 020EC 80A6D33C 8FBF0034 */ lw $ra, 0x0034($sp) -/* 020F0 80A6D340 8FB0002C */ lw $s0, 0x002C($sp) -/* 020F4 80A6D344 8FB10030 */ lw $s1, 0x0030($sp) -/* 020F8 80A6D348 03E00008 */ jr $ra -/* 020FC 80A6D34C 27BD00D0 */ addiu $sp, $sp, 0x00D0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s deleted file mode 100644 index af8d4746cb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s +++ /dev/null @@ -1,363 +0,0 @@ -.late_rodata -glabel D_80A6D5B0 - .word 0xC4368000 -glabel D_80A6D5B4 - .word 0xC4898000 -glabel D_80A6D5B8 - .word 0xC4924000 -glabel D_80A6D5BC - .word 0x4567B000 -glabel D_80A6D5C0 - .word 0x44B0A000 -glabel D_80A6D5C4 - .word 0xC4264000 - -.text -glabel EnHorseNormal_Init -/* 00180 80A6B3D0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00184 80A6B3D4 AFA5003C */ sw $a1, 0x003C($sp) -/* 00188 80A6B3D8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0018C 80A6B3DC AFB00020 */ sw $s0, 0x0020($sp) -/* 00190 80A6B3E0 3C0580A7 */ lui $a1, %hi(D_80A6D4EC) ## $a1 = 80A70000 -/* 00194 80A6B3E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00198 80A6B3E8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0019C 80A6B3EC 24A5D4EC */ addiu $a1, $a1, %lo(D_80A6D4EC) ## $a1 = 80A6D4EC -/* 001A0 80A6B3F0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 001A4 80A6B3F4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 001A8 80A6B3F8 0C00B58B */ jal Actor_SetScale - -/* 001AC 80A6B3FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001B0 80A6B400 3C01C060 */ lui $at, 0xC060 ## $at = C0600000 -/* 001B4 80A6B404 44812000 */ mtc1 $at, $f4 ## $f4 = -3.50 -/* 001B8 80A6B408 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Squiggly) -/* 001BC 80A6B40C 24C6B644 */ addiu $a2, %lo(ActorShadow_DrawFunc_Squiggly) -/* 001C0 80A6B410 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 001C4 80A6B414 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 001C8 80A6B418 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000 -/* 001CC 80A6B41C 0C00AC78 */ jal ActorShape_Init - -/* 001D0 80A6B420 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -/* 001D4 80A6B424 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 001D8 80A6B428 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 001DC 80A6B42C 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -/* 001E0 80A6B430 AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 001E4 80A6B434 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C -/* 001E8 80A6B438 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00 -/* 001EC 80A6B43C AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 001F0 80A6B440 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 001F4 80A6B444 460A4400 */ add.s $f16, $f8, $f10 -/* 001F8 80A6B448 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 001FC 80A6B44C AE00014C */ sw $zero, 0x014C($s0) ## 0000014C -/* 00200 80A6B450 AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -/* 00204 80A6B454 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C -/* 00208 80A6B458 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228 -/* 0020C 80A6B45C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068 -/* 00210 80A6B460 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 00214 80A6B464 AFA50028 */ sw $a1, 0x0028($sp) -/* 00218 80A6B468 0C0170D9 */ jal Collider_InitCylinder - -/* 0021C 80A6B46C 8FA4003C */ lw $a0, 0x003C($sp) -/* 00220 80A6B470 3C0780A7 */ lui $a3, %hi(D_80A6D394) ## $a3 = 80A70000 -/* 00224 80A6B474 8FA50028 */ lw $a1, 0x0028($sp) -/* 00228 80A6B478 24E7D394 */ addiu $a3, $a3, %lo(D_80A6D394) ## $a3 = 80A6D394 -/* 0022C 80A6B47C 8FA4003C */ lw $a0, 0x003C($sp) -/* 00230 80A6B480 0C01712B */ jal Collider_SetCylinder - -/* 00234 80A6B484 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00238 80A6B488 26050274 */ addiu $a1, $s0, 0x0274 ## $a1 = 00000274 -/* 0023C 80A6B48C AFA50028 */ sw $a1, 0x0028($sp) -/* 00240 80A6B490 0C016EFE */ jal Collider_InitJntSph -/* 00244 80A6B494 8FA4003C */ lw $a0, 0x003C($sp) -/* 00248 80A6B498 3C0780A7 */ lui $a3, %hi(D_80A6D410) ## $a3 = 80A70000 -/* 0024C 80A6B49C 26180294 */ addiu $t8, $s0, 0x0294 ## $t8 = 00000294 -/* 00250 80A6B4A0 8FA50028 */ lw $a1, 0x0028($sp) -/* 00254 80A6B4A4 AFB80010 */ sw $t8, 0x0010($sp) -/* 00258 80A6B4A8 24E7D410 */ addiu $a3, $a3, %lo(D_80A6D410) ## $a3 = 80A6D410 -/* 0025C 80A6B4AC 8FA4003C */ lw $a0, 0x003C($sp) -/* 00260 80A6B4B0 0C017014 */ jal Collider_SetJntSph -/* 00264 80A6B4B4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00268 80A6B4B8 260502D4 */ addiu $a1, $s0, 0x02D4 ## $a1 = 000002D4 -/* 0026C 80A6B4BC AFA50028 */ sw $a1, 0x0028($sp) -/* 00270 80A6B4C0 0C0170D9 */ jal Collider_InitCylinder - -/* 00274 80A6B4C4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00278 80A6B4C8 3C0780A7 */ lui $a3, %hi(D_80A6D3C0) ## $a3 = 80A70000 -/* 0027C 80A6B4CC 8FA50028 */ lw $a1, 0x0028($sp) -/* 00280 80A6B4D0 24E7D3C0 */ addiu $a3, $a3, %lo(D_80A6D3C0) ## $a3 = 80A6D3C0 -/* 00284 80A6B4D4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00288 80A6B4D8 0C01712B */ jal Collider_SetCylinder - -/* 0028C 80A6B4DC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00290 80A6B4E0 3C0680A7 */ lui $a2, %hi(D_80A6D420) ## $a2 = 80A70000 -/* 00294 80A6B4E4 24C6D420 */ addiu $a2, $a2, %lo(D_80A6D420) ## $a2 = 80A6D420 -/* 00298 80A6B4E8 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 0029C 80A6B4EC 0C0187B5 */ jal func_80061ED4 -/* 002A0 80A6B4F0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 002A4 80A6B4F4 8FB9003C */ lw $t9, 0x003C($sp) -/* 002A8 80A6B4F8 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 002AC 80A6B4FC 872200A4 */ lh $v0, 0x00A4($t9) ## 000000A4 -/* 002B0 80A6B500 5441007A */ bnel $v0, $at, .L80A6B6EC -/* 002B4 80A6B504 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036 -/* 002B8 80A6B508 86080034 */ lh $t0, 0x0034($s0) ## 00000034 -/* 002BC 80A6B50C 3C028016 */ lui $v0, %hi(gSaveContext) -/* 002C0 80A6B510 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 002C4 80A6B514 11000004 */ beq $t0, $zero, .L80A6B528 -/* 002C8 80A6B518 00000000 */ nop -/* 002CC 80A6B51C 8C490010 */ lw $t1, 0x0010($v0) ## 8015E670 -/* 002D0 80A6B520 51200006 */ beql $t1, $zero, .L80A6B53C -/* 002D4 80A6B524 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664 -.L80A6B528: -/* 002D8 80A6B528 0C00B55C */ jal Actor_Kill - -/* 002DC 80A6B52C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002E0 80A6B530 100000DE */ beq $zero, $zero, .L80A6B8AC -/* 002E4 80A6B534 8FBF0024 */ lw $ra, 0x0024($sp) -/* 002E8 80A6B538 8C4A0004 */ lw $t2, 0x0004($v0) ## 00000004 -.L80A6B53C: -/* 002EC 80A6B53C 11400015 */ beq $t2, $zero, .L80A6B594 -/* 002F0 80A6B540 00000000 */ nop -/* 002F4 80A6B544 0C00D6D3 */ jal Flags_GetEventChkInf - -/* 002F8 80A6B548 24040014 */ addiu $a0, $zero, 0x0014 ## $a0 = 00000014 -/* 002FC 80A6B54C 5040000A */ beql $v0, $zero, .L80A6B578 -/* 00300 80A6B550 860C0034 */ lh $t4, 0x0034($s0) ## 00000034 -/* 00304 80A6B554 860B0034 */ lh $t3, 0x0034($s0) ## 00000034 -/* 00308 80A6B558 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 0030C 80A6B55C 51610026 */ beql $t3, $at, .L80A6B5F8 -/* 00310 80A6B560 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 00314 80A6B564 0C00B55C */ jal Actor_Kill - -/* 00318 80A6B568 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0031C 80A6B56C 100000CF */ beq $zero, $zero, .L80A6B8AC -/* 00320 80A6B570 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00324 80A6B574 860C0034 */ lh $t4, 0x0034($s0) ## 00000034 -.L80A6B578: -/* 00328 80A6B578 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0032C 80A6B57C 5181001E */ beql $t4, $at, .L80A6B5F8 -/* 00330 80A6B580 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 00334 80A6B584 0C00B55C */ jal Actor_Kill - -/* 00338 80A6B588 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0033C 80A6B58C 100000C7 */ beq $zero, $zero, .L80A6B8AC -/* 00340 80A6B590 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B594: -/* 00344 80A6B594 0C00D6D3 */ jal Flags_GetEventChkInf - -/* 00348 80A6B598 24040018 */ addiu $a0, $zero, 0x0018 ## $a0 = 00000018 -/* 0034C 80A6B59C 14400005 */ bne $v0, $zero, .L80A6B5B4 -/* 00350 80A6B5A0 3C0D8016 */ lui $t5, %hi(gGameInfo) -/* 00354 80A6B5A4 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5) -/* 00358 80A6B5A8 85AE0556 */ lh $t6, 0x0556($t5) ## 80160556 -/* 0035C 80A6B5AC 51C0000A */ beql $t6, $zero, .L80A6B5D8 -/* 00360 80A6B5B0 86180034 */ lh $t8, 0x0034($s0) ## 00000034 -.L80A6B5B4: -/* 00364 80A6B5B4 860F0034 */ lh $t7, 0x0034($s0) ## 00000034 -/* 00368 80A6B5B8 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 0036C 80A6B5BC 51E1000E */ beql $t7, $at, .L80A6B5F8 -/* 00370 80A6B5C0 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 00374 80A6B5C4 0C00B55C */ jal Actor_Kill - -/* 00378 80A6B5C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0037C 80A6B5CC 100000B7 */ beq $zero, $zero, .L80A6B8AC -/* 00380 80A6B5D0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00384 80A6B5D4 86180034 */ lh $t8, 0x0034($s0) ## 00000034 -.L80A6B5D8: -/* 00388 80A6B5D8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0038C 80A6B5DC 53010006 */ beql $t8, $at, .L80A6B5F8 -/* 00390 80A6B5E0 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 00394 80A6B5E4 0C00B55C */ jal Actor_Kill - -/* 00398 80A6B5E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0039C 80A6B5EC 100000AF */ beq $zero, $zero, .L80A6B8AC -/* 003A0 80A6B5F0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 003A4 80A6B5F4 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -.L80A6B5F8: -/* 003A8 80A6B5F8 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8 -/* 003AC 80A6B5FC 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 003B0 80A6B600 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 003B4 80A6B604 A6020034 */ sh $v0, 0x0034($s0) ## 00000034 -/* 003B8 80A6B608 A6020018 */ sh $v0, 0x0018($s0) ## 00000018 -/* 003BC 80A6B60C 8FA4003C */ lw $a0, 0x003C($sp) -/* 003C0 80A6B610 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580 -/* 003C4 80A6B614 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC -/* 003C8 80A6B618 0C02998F */ jal func_800A663C -/* 003CC 80A6B61C 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 003D0 80A6B620 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 003D4 80A6B624 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 003D8 80A6B628 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 003DC 80A6B62C 00194080 */ sll $t0, $t9, 2 -/* 003E0 80A6B630 00A82821 */ addu $a1, $a1, $t0 -/* 003E4 80A6B634 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 003E8 80A6B638 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 003EC 80A6B63C 3C0180A7 */ lui $at, %hi(D_80A6D5B0) ## $at = 80A70000 -/* 003F0 80A6B640 C432D5B0 */ lwc1 $f18, %lo(D_80A6D5B0)($at) -/* 003F4 80A6B644 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024 -/* 003F8 80A6B648 46009032 */ c.eq.s $f18, $f0 -/* 003FC 80A6B64C 00000000 */ nop -/* 00400 80A6B650 4502000E */ bc1fl .L80A6B68C -/* 00404 80A6B654 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -/* 00408 80A6B658 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 0040C 80A6B65C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 00410 80A6B660 3C0180A7 */ lui $at, %hi(D_80A6D5B4) ## $at = 80A70000 -/* 00414 80A6B664 46062032 */ c.eq.s $f4, $f6 -/* 00418 80A6B668 00000000 */ nop -/* 0041C 80A6B66C 45020007 */ bc1fl .L80A6B68C -/* 00420 80A6B670 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -/* 00424 80A6B674 C428D5B4 */ lwc1 $f8, %lo(D_80A6D5B4)($at) -/* 00428 80A6B678 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 0042C 80A6B67C 460A4032 */ c.eq.s $f8, $f10 -/* 00430 80A6B680 00000000 */ nop -/* 00434 80A6B684 45010014 */ bc1t .L80A6B6D8 -/* 00438 80A6B688 3C01445C */ lui $at, 0x445C ## $at = 445C0000 -.L80A6B68C: -/* 0043C 80A6B68C 44818000 */ mtc1 $at, $f16 ## $f16 = 880.00 -/* 00440 80A6B690 00000000 */ nop -/* 00444 80A6B694 46008032 */ c.eq.s $f16, $f0 -/* 00448 80A6B698 00000000 */ nop -/* 0044C 80A6B69C 45020075 */ bc1fl .L80A6B874 -/* 00450 80A6B6A0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00454 80A6B6A4 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 00458 80A6B6A8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 0045C 80A6B6AC 3C0180A7 */ lui $at, %hi(D_80A6D5B8) ## $at = 80A70000 -/* 00460 80A6B6B0 46049032 */ c.eq.s $f18, $f4 -/* 00464 80A6B6B4 00000000 */ nop -/* 00468 80A6B6B8 4502006E */ bc1fl .L80A6B874 -/* 0046C 80A6B6BC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00470 80A6B6C0 C426D5B8 */ lwc1 $f6, %lo(D_80A6D5B8)($at) -/* 00474 80A6B6C4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 00478 80A6B6C8 46083032 */ c.eq.s $f6, $f8 -/* 0047C 80A6B6CC 00000000 */ nop -/* 00480 80A6B6D0 45020068 */ bc1fl .L80A6B874 -/* 00484 80A6B6D4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -.L80A6B6D8: -/* 00488 80A6B6D8 0C29B1AC */ jal func_80A6C6B0 -/* 0048C 80A6B6DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00490 80A6B6E0 10000072 */ beq $zero, $zero, .L80A6B8AC -/* 00494 80A6B6E4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00498 80A6B6E8 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036 -.L80A6B6EC: -/* 0049C 80A6B6EC 5441001C */ bnel $v0, $at, .L80A6B760 -/* 004A0 80A6B6F0 2401005D */ addiu $at, $zero, 0x005D ## $at = 0000005D -/* 004A4 80A6B6F4 3C028016 */ lui $v0, %hi(gSaveContext) -/* 004A8 80A6B6F8 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 004AC 80A6B6FC 8C490010 */ lw $t1, 0x0010($v0) ## 8015E670 -/* 004B0 80A6B700 8FA4003C */ lw $a0, 0x003C($sp) -/* 004B4 80A6B704 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 004B8 80A6B708 15200005 */ bne $t1, $zero, .L80A6B720 -/* 004BC 80A6B70C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 004C0 80A6B710 0C00B55C */ jal Actor_Kill - -/* 004C4 80A6B714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004C8 80A6B718 10000064 */ beq $zero, $zero, .L80A6B8AC -/* 004CC 80A6B71C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B720: -/* 004D0 80A6B720 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 004D4 80A6B724 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580 -/* 004D8 80A6B728 0C02998F */ jal func_800A663C -/* 004DC 80A6B72C 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = FFFF9FAC -/* 004E0 80A6B730 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150 -/* 004E4 80A6B734 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 004E8 80A6B738 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 004EC 80A6B73C 000A5880 */ sll $t3, $t2, 2 -/* 004F0 80A6B740 00AB2821 */ addu $a1, $a1, $t3 -/* 004F4 80A6B744 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 004F8 80A6B748 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 004FC 80A6B74C 0C29B1AC */ jal func_80A6C6B0 -/* 00500 80A6B750 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00504 80A6B754 10000055 */ beq $zero, $zero, .L80A6B8AC -/* 00508 80A6B758 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0050C 80A6B75C 2401005D */ addiu $at, $zero, 0x005D ## $at = 0000005D -.L80A6B760: -/* 00510 80A6B760 14410036 */ bne $v0, $at, .L80A6B83C -/* 00514 80A6B764 8FA4003C */ lw $a0, 0x003C($sp) -/* 00518 80A6B768 3C0180A7 */ lui $at, %hi(D_80A6D5BC) ## $at = 80A70000 -/* 0051C 80A6B76C C42AD5BC */ lwc1 $f10, %lo(D_80A6D5BC)($at) -/* 00520 80A6B770 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024 -/* 00524 80A6B774 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 00528 80A6B778 3C0180A7 */ lui $at, %hi(D_80A6D5C0) ## $at = 80A70000 -/* 0052C 80A6B77C 46105032 */ c.eq.s $f10, $f16 -/* 00530 80A6B780 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC -/* 00534 80A6B784 8FA4003C */ lw $a0, 0x003C($sp) -/* 00538 80A6B788 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 0053C 80A6B78C 45000020 */ bc1f .L80A6B810 -/* 00540 80A6B790 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 00544 80A6B794 C432D5C0 */ lwc1 $f18, %lo(D_80A6D5C0)($at) -/* 00548 80A6B798 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 0054C 80A6B79C 3C0180A7 */ lui $at, %hi(D_80A6D5C4) ## $at = 80A70000 -/* 00550 80A6B7A0 46049032 */ c.eq.s $f18, $f4 -/* 00554 80A6B7A4 00000000 */ nop -/* 00558 80A6B7A8 45000019 */ bc1f .L80A6B810 -/* 0055C 80A6B7AC 00000000 */ nop -/* 00560 80A6B7B0 C426D5C4 */ lwc1 $f6, %lo(D_80A6D5C4)($at) -/* 00564 80A6B7B4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 00568 80A6B7B8 46083032 */ c.eq.s $f6, $f8 -/* 0056C 80A6B7BC 00000000 */ nop -/* 00570 80A6B7C0 45000013 */ bc1f .L80A6B810 -/* 00574 80A6B7C4 00000000 */ nop -/* 00578 80A6B7C8 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 0057C 80A6B7CC 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 00580 80A6B7D0 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580 -/* 00584 80A6B7D4 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC -/* 00588 80A6B7D8 8FA4003C */ lw $a0, 0x003C($sp) -/* 0058C 80A6B7DC 0C02998F */ jal func_800A663C -/* 00590 80A6B7E0 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 00594 80A6B7E4 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150 -/* 00598 80A6B7E8 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 0059C 80A6B7EC 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 005A0 80A6B7F0 000C6880 */ sll $t5, $t4, 2 -/* 005A4 80A6B7F4 00AD2821 */ addu $a1, $a1, $t5 -/* 005A8 80A6B7F8 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 005AC 80A6B7FC 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 005B0 80A6B800 0C29B133 */ jal func_80A6C4CC -/* 005B4 80A6B804 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005B8 80A6B808 10000028 */ beq $zero, $zero, .L80A6B8AC -/* 005BC 80A6B80C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B810: -/* 005C0 80A6B810 0C02998F */ jal func_800A663C -/* 005C4 80A6B814 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 00004580 -/* 005C8 80A6B818 8E0E0150 */ lw $t6, 0x0150($s0) ## 00000150 -/* 005CC 80A6B81C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 005D0 80A6B820 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 005D4 80A6B824 000E7880 */ sll $t7, $t6, 2 -/* 005D8 80A6B828 00AF2821 */ addu $a1, $a1, $t7 -/* 005DC 80A6B82C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 005E0 80A6B830 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 005E4 80A6B834 1000000F */ beq $zero, $zero, .L80A6B874 -/* 005E8 80A6B838 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -.L80A6B83C: -/* 005EC 80A6B83C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 005F0 80A6B840 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 005F4 80A6B844 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580 -/* 005F8 80A6B848 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC -/* 005FC 80A6B84C 0C02998F */ jal func_800A663C -/* 00600 80A6B850 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 00604 80A6B854 8E180150 */ lw $t8, 0x0150($s0) ## 00000150 -/* 00608 80A6B858 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 0060C 80A6B85C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 00610 80A6B860 0018C880 */ sll $t9, $t8, 2 -/* 00614 80A6B864 00B92821 */ addu $a1, $a1, $t9 -/* 00618 80A6B868 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 0061C 80A6B86C 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 00620 80A6B870 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -.L80A6B874: -/* 00624 80A6B874 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010 -/* 00628 80A6B878 304800F0 */ andi $t0, $v0, 0x00F0 ## $t0 = 00000000 -/* 0062C 80A6B87C 15010008 */ bne $t0, $at, .L80A6B8A0 -/* 00630 80A6B880 3049000F */ andi $t1, $v0, 0x000F ## $t1 = 00000000 -/* 00634 80A6B884 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00638 80A6B888 11210005 */ beq $t1, $at, .L80A6B8A0 -/* 0063C 80A6B88C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00640 80A6B890 0C29AE47 */ jal func_80A6B91C -/* 00644 80A6B894 8FA5003C */ lw $a1, 0x003C($sp) -/* 00648 80A6B898 10000004 */ beq $zero, $zero, .L80A6B8AC -/* 0064C 80A6B89C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B8A0: -/* 00650 80A6B8A0 0C29AF12 */ jal func_80A6BC48 -/* 00654 80A6B8A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00658 80A6B8A8 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B8AC: -/* 0065C 80A6B8AC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00660 80A6B8B0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00664 80A6B8B4 03E00008 */ jr $ra -/* 00668 80A6B8B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s deleted file mode 100644 index 2c71b75dbc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s +++ /dev/null @@ -1,92 +0,0 @@ -glabel EnHorseNormal_Update -/* 01758 80A6C9A8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0175C 80A6C9AC AFB0001C */ sw $s0, 0x001C($sp) -/* 01760 80A6C9B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01764 80A6C9B4 AFBF0024 */ sw $ra, 0x0024($sp) -/* 01768 80A6C9B8 AFB10020 */ sw $s1, 0x0020($sp) -/* 0176C 80A6C9BC 8E0E014C */ lw $t6, 0x014C($s0) ## 0000014C -/* 01770 80A6C9C0 3C1980A7 */ lui $t9, %hi(D_80A6D534) ## $t9 = 80A70000 -/* 01774 80A6C9C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 01778 80A6C9C8 000E7880 */ sll $t7, $t6, 2 -/* 0177C 80A6C9CC 032FC821 */ addu $t9, $t9, $t7 -/* 01780 80A6C9D0 8F39D534 */ lw $t9, %lo(D_80A6D534)($t9) -/* 01784 80A6C9D4 0320F809 */ jalr $ra, $t9 -/* 01788 80A6C9D8 00000000 */ nop -/* 0178C 80A6C9DC 0C00B638 */ jal Actor_MoveForward - -/* 01790 80A6C9E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01794 80A6C9E4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 01798 80A6C9E8 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00 -/* 0179C 80A6C9EC 2418001D */ addiu $t8, $zero, 0x001D ## $t8 = 0000001D -/* 017A0 80A6C9F0 AFB80014 */ sw $t8, 0x0014($sp) -/* 017A4 80A6C9F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 017A8 80A6C9F8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 017AC 80A6C9FC 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000 -/* 017B0 80A6CA00 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000 -/* 017B4 80A6CA04 0C00B92D */ jal func_8002E4B4 -/* 017B8 80A6CA08 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 017BC 80A6CA0C 862800A4 */ lh $t0, 0x00A4($s1) ## 000000A4 -/* 017C0 80A6CA10 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 017C4 80A6CA14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 017C8 80A6CA18 15010009 */ bne $t0, $at, .L80A6CA40 -/* 017CC 80A6CA1C 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228 -/* 017D0 80A6CA20 3C01C516 */ lui $at, 0xC516 ## $at = C5160000 -/* 017D4 80A6CA24 44810000 */ mtc1 $at, $f0 ## $f0 = -2400.00 -/* 017D8 80A6CA28 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 017DC 80A6CA2C 4600303C */ c.lt.s $f6, $f0 -/* 017E0 80A6CA30 00000000 */ nop -/* 017E4 80A6CA34 45020003 */ bc1fl .L80A6CA44 -/* 017E8 80A6CA38 8E090028 */ lw $t1, 0x0028($s0) ## 00000028 -/* 017EC 80A6CA3C E600002C */ swc1 $f0, 0x002C($s0) ## 0000002C -.L80A6CA40: -/* 017F0 80A6CA40 8E090028 */ lw $t1, 0x0028($s0) ## 00000028 -.L80A6CA44: -/* 017F4 80A6CA44 8E0B00E8 */ lw $t3, 0x00E8($s0) ## 000000E8 -/* 017F8 80A6CA48 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 017FC 80A6CA4C 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00 -/* 01800 80A6CA50 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 01804 80A6CA54 AE09003C */ sw $t1, 0x003C($s0) ## 0000003C -/* 01808 80A6CA58 AE0B0208 */ sw $t3, 0x0208($s0) ## 00000208 -/* 0180C 80A6CA5C 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024 -/* 01810 80A6CA60 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C -/* 01814 80A6CA64 8E0C00E4 */ lw $t4, 0x00E4($s0) ## 000000E4 -/* 01818 80A6CA68 C6120208 */ lwc1 $f18, 0x0208($s0) ## 00000208 -/* 0181C 80A6CA6C 44812000 */ mtc1 $at, $f4 ## $f4 = 120.00 -/* 01820 80A6CA70 460A4400 */ add.s $f16, $f8, $f10 -/* 01824 80A6CA74 AE0A0038 */ sw $t2, 0x0038($s0) ## 00000038 -/* 01828 80A6CA78 AE0C0204 */ sw $t4, 0x0204($s0) ## 00000204 -/* 0182C 80A6CA7C 46049180 */ add.s $f6, $f18, $f4 -/* 01830 80A6CA80 8E0A002C */ lw $t2, 0x002C($s0) ## 0000002C -/* 01834 80A6CA84 8E0C00EC */ lw $t4, 0x00EC($s0) ## 000000EC -/* 01838 80A6CA88 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C -/* 0183C 80A6CA8C E6060208 */ swc1 $f6, 0x0208($s0) ## 00000208 -/* 01840 80A6CA90 AE0A0040 */ sw $t2, 0x0040($s0) ## 00000040 -/* 01844 80A6CA94 AE0C020C */ sw $t4, 0x020C($s0) ## 0000020C -/* 01848 80A6CA98 AFA6002C */ sw $a2, 0x002C($sp) -/* 0184C 80A6CA9C 0C0189B7 */ jal Collider_CylinderUpdate - -/* 01850 80A6CAA0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000228 -/* 01854 80A6CAA4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 01858 80A6CAA8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 0185C 80A6CAAC 8FA6002C */ lw $a2, 0x002C($sp) -/* 01860 80A6CAB0 02212821 */ addu $a1, $s1, $at -/* 01864 80A6CAB4 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 01868 80A6CAB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0186C 80A6CABC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 01870 80A6CAC0 C60A0068 */ lwc1 $f10, 0x0068($s0) ## 00000068 -/* 01874 80A6CAC4 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF -/* 01878 80A6CAC8 240E00FE */ addiu $t6, $zero, 0x00FE ## $t6 = 000000FE -/* 0187C 80A6CACC 460A4032 */ c.eq.s $f8, $f10 -/* 01880 80A6CAD0 00000000 */ nop -/* 01884 80A6CAD4 45020004 */ bc1fl .L80A6CAE8 -/* 01888 80A6CAD8 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE -/* 0188C 80A6CADC 10000002 */ beq $zero, $zero, .L80A6CAE8 -/* 01890 80A6CAE0 A20D00AE */ sb $t5, 0x00AE($s0) ## 000000AE -/* 01894 80A6CAE4 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE -.L80A6CAE8: -/* 01898 80A6CAE8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0189C 80A6CAEC 8FB0001C */ lw $s0, 0x001C($sp) -/* 018A0 80A6CAF0 8FB10020 */ lw $s1, 0x0020($sp) -/* 018A4 80A6CAF4 03E00008 */ jr $ra -/* 018A8 80A6CAF8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s deleted file mode 100644 index 2d8621d1f6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_80A6B250 -/* 00000 80A6B250 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00004 80A6B254 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00008 80A6B258 AFB00020 */ sw $s0, 0x0020($sp) -/* 0000C 80A6B25C 8C820200 */ lw $v0, 0x0200($a0) ## 00000200 -/* 00010 80A6B260 3C0380A7 */ lui $v1, %hi(D_80A6D4C0) ## $v1 = 80A70000 -/* 00014 80A6B264 2463D4C0 */ addiu $v1, $v1, %lo(D_80A6D4C0) ## $v1 = 80A6D4C0 -/* 00018 80A6B268 00027080 */ sll $t6, $v0, 2 -/* 0001C 80A6B26C 006E7821 */ addu $t7, $v1, $t6 -/* 00020 80A6B270 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000 -/* 00024 80A6B274 C48001B8 */ lwc1 $f0, 0x01B8($a0) ## 000001B8 -/* 00028 80A6B278 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0002C 80A6B27C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 00030 80A6B280 00000000 */ nop -/* 00034 80A6B284 468021A0 */ cvt.s.w $f6, $f4 -/* 00038 80A6B288 4600303C */ c.lt.s $f6, $f0 -/* 0003C 80A6B28C 00000000 */ nop -/* 00040 80A6B290 4502001A */ bc1fl .L80A6B2FC -/* 00044 80A6B294 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00048 80A6B298 14400008 */ bne $v0, $zero, .L80A6B2BC -/* 0004C 80A6B29C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00050 80A6B2A0 8C790004 */ lw $t9, 0x0004($v1) ## 80A6D4C4 -/* 00054 80A6B2A4 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 00058 80A6B2A8 00000000 */ nop -/* 0005C 80A6B2AC 468042A0 */ cvt.s.w $f10, $f8 -/* 00060 80A6B2B0 4600503C */ c.lt.s $f10, $f0 -/* 00064 80A6B2B4 00000000 */ nop -/* 00068 80A6B2B8 4501000F */ bc1t .L80A6B2F8 -.L80A6B2BC: -/* 0006C 80A6B2BC 3C088013 */ lui $t0, %hi(D_801333E8) -/* 00070 80A6B2C0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00074 80A6B2C4 250833E8 */ addiu $t0, %lo(D_801333E8) -/* 00078 80A6B2C8 AFA80014 */ sw $t0, 0x0014($sp) -/* 0007C 80A6B2CC AFA70010 */ sw $a3, 0x0010($sp) -/* 00080 80A6B2D0 24042803 */ addiu $a0, $zero, 0x2803 ## $a0 = 00002803 -/* 00084 80A6B2D4 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00088 80A6B2D8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0008C 80A6B2DC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00090 80A6B2E0 8E090200 */ lw $t1, 0x0200($s0) ## 00000200 -/* 00094 80A6B2E4 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 00098 80A6B2E8 29410002 */ slti $at, $t2, 0x0002 -/* 0009C 80A6B2EC 14200002 */ bne $at, $zero, .L80A6B2F8 -/* 000A0 80A6B2F0 AE0A0200 */ sw $t2, 0x0200($s0) ## 00000200 -/* 000A4 80A6B2F4 AE000200 */ sw $zero, 0x0200($s0) ## 00000200 -.L80A6B2F8: -/* 000A8 80A6B2F8 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6B2FC: -/* 000AC 80A6B2FC 8FB00020 */ lw $s0, 0x0020($sp) -/* 000B0 80A6B300 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 000B4 80A6B304 03E00008 */ jr $ra -/* 000B8 80A6B308 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s deleted file mode 100644 index fc1630a9bd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s +++ /dev/null @@ -1,60 +0,0 @@ -.late_rodata -glabel D_80A6D5A8 - .word 0x3EAAAAAB -glabel D_80A6D5AC - .float 0.2 - -.text -glabel func_80A6B30C -/* 000BC 80A6B30C 8C820150 */ lw $v0, 0x0150($a0) ## 00000150 -/* 000C0 80A6B310 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 000C4 80A6B314 1441000C */ bne $v0, $at, .L80A6B348 -/* 000C8 80A6B318 00027080 */ sll $t6, $v0, 2 -/* 000CC 80A6B31C 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000 -/* 000D0 80A6B320 002E0821 */ addu $at, $at, $t6 -/* 000D4 80A6B324 C424D4C8 */ lwc1 $f4, %lo(D_80A6D4C8)($at) -/* 000D8 80A6B328 C4860068 */ lwc1 $f6, 0x0068($a0) ## 00000068 -/* 000DC 80A6B32C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 000E0 80A6B330 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50 -/* 000E4 80A6B334 46062202 */ mul.s $f8, $f4, $f6 -/* 000E8 80A6B338 00000000 */ nop -/* 000EC 80A6B33C 460A4082 */ mul.s $f2, $f8, $f10 -/* 000F0 80A6B340 03E00008 */ jr $ra -/* 000F4 80A6B344 46001006 */ mov.s $f0, $f2 -.L80A6B348: -/* 000F8 80A6B348 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 000FC 80A6B34C 1441000C */ bne $v0, $at, .L80A6B380 -/* 00100 80A6B350 00027880 */ sll $t7, $v0, 2 -/* 00104 80A6B354 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000 -/* 00108 80A6B358 002F0821 */ addu $at, $at, $t7 -/* 0010C 80A6B35C C430D4C8 */ lwc1 $f16, %lo(D_80A6D4C8)($at) -/* 00110 80A6B360 C4920068 */ lwc1 $f18, 0x0068($a0) ## 00000068 -/* 00114 80A6B364 3C0180A7 */ lui $at, %hi(D_80A6D5A8) ## $at = 80A70000 -/* 00118 80A6B368 C426D5A8 */ lwc1 $f6, %lo(D_80A6D5A8)($at) -/* 0011C 80A6B36C 46128102 */ mul.s $f4, $f16, $f18 -/* 00120 80A6B370 00000000 */ nop -/* 00124 80A6B374 46062082 */ mul.s $f2, $f4, $f6 -/* 00128 80A6B378 03E00008 */ jr $ra -/* 0012C 80A6B37C 46001006 */ mov.s $f0, $f2 -.L80A6B380: -/* 00130 80A6B380 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00134 80A6B384 1441000D */ bne $v0, $at, .L80A6B3BC -/* 00138 80A6B388 0002C880 */ sll $t9, $v0, 2 -/* 0013C 80A6B38C 0002C080 */ sll $t8, $v0, 2 -/* 00140 80A6B390 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000 -/* 00144 80A6B394 00380821 */ addu $at, $at, $t8 -/* 00148 80A6B398 C428D4C8 */ lwc1 $f8, %lo(D_80A6D4C8)($at) -/* 0014C 80A6B39C C48A0068 */ lwc1 $f10, 0x0068($a0) ## 00000068 -/* 00150 80A6B3A0 3C0180A7 */ lui $at, %hi(D_80A6D5AC) ## $at = 80A70000 -/* 00154 80A6B3A4 C432D5AC */ lwc1 $f18, %lo(D_80A6D5AC)($at) -/* 00158 80A6B3A8 460A4402 */ mul.s $f16, $f8, $f10 -/* 0015C 80A6B3AC 00000000 */ nop -/* 00160 80A6B3B0 46128082 */ mul.s $f2, $f16, $f18 -/* 00164 80A6B3B4 03E00008 */ jr $ra -/* 00168 80A6B3B8 46001006 */ mov.s $f0, $f2 -.L80A6B3BC: -/* 0016C 80A6B3BC 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000 -/* 00170 80A6B3C0 00390821 */ addu $at, $at, $t9 -/* 00174 80A6B3C4 C422D4C8 */ lwc1 $f2, %lo(D_80A6D4C8)($at) -/* 00178 80A6B3C8 03E00008 */ jr $ra -/* 0017C 80A6B3CC 46001006 */ mov.s $f0, $f2 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s deleted file mode 100644 index eb5e44a351..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s +++ /dev/null @@ -1,48 +0,0 @@ -glabel func_80A6B91C -/* 006CC 80A6B91C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 006D0 80A6B920 AFBF002C */ sw $ra, 0x002C($sp) -/* 006D4 80A6B924 AFB00028 */ sw $s0, 0x0028($sp) -/* 006D8 80A6B928 AFA5003C */ sw $a1, 0x003C($sp) -/* 006DC 80A6B92C 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004 -/* 006E0 80A6B930 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 006E4 80A6B934 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00 -/* 006E8 80A6B938 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004 -/* 006EC 80A6B93C 24190006 */ addiu $t9, $zero, 0x0006 ## $t9 = 00000006 -/* 006F0 80A6B940 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010 -/* 006F4 80A6B944 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006F8 80A6B948 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004 -/* 006FC 80A6B94C AC98014C */ sw $t8, 0x014C($a0) ## 0000014C -/* 00700 80A6B950 AC990150 */ sw $t9, 0x0150($a0) ## 00000150 -/* 00704 80A6B954 AC800324 */ sw $zero, 0x0324($a0) ## 00000324 -/* 00708 80A6B958 0C29ACC3 */ jal func_80A6B30C -/* 0070C 80A6B95C E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068 -/* 00710 80A6B960 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00714 80A6B964 8E080150 */ lw $t0, 0x0150($s0) ## 00000150 -/* 00718 80A6B968 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 0071C 80A6B96C 00084880 */ sll $t1, $t0, 2 -/* 00720 80A6B970 00892021 */ addu $a0, $a0, $t1 -/* 00724 80A6B974 0C028800 */ jal SkelAnime_GetFrameCount - -/* 00728 80A6B978 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 0072C 80A6B97C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00 -/* 00730 80A6B980 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150 -/* 00734 80A6B984 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00738 80A6B988 46803220 */ cvt.s.w $f8, $f6 -/* 0073C 80A6B98C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 00740 80A6B990 000A5880 */ sll $t3, $t2, 2 -/* 00744 80A6B994 00AB2821 */ addu $a1, $a1, $t3 -/* 00748 80A6B998 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002 -/* 0074C 80A6B99C 44070000 */ mfc1 $a3, $f0 -/* 00750 80A6B9A0 AFAC0014 */ sw $t4, 0x0014($sp) -/* 00754 80A6B9A4 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 00758 80A6B9A8 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 0075C 80A6B9AC 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 00760 80A6B9B0 8FA60030 */ lw $a2, 0x0030($sp) -/* 00764 80A6B9B4 0C029468 */ jal SkelAnime_ChangeAnim - -/* 00768 80A6B9B8 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0076C 80A6B9BC 8FBF002C */ lw $ra, 0x002C($sp) -/* 00770 80A6B9C0 8FB00028 */ lw $s0, 0x0028($sp) -/* 00774 80A6B9C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00778 80A6B9C8 03E00008 */ jr $ra -/* 0077C 80A6B9CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s deleted file mode 100644 index a922c43b5a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s +++ /dev/null @@ -1,131 +0,0 @@ -.late_rodata -glabel D_80A6D5C8 - .word 0x4622F983 - -.text -glabel func_80A6B9D0 -/* 00780 80A6B9D0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00784 80A6B9D4 AFBF002C */ sw $ra, 0x002C($sp) -/* 00788 80A6B9D8 AFB00028 */ sw $s0, 0x0028($sp) -/* 0078C 80A6B9DC 848F001C */ lh $t7, 0x001C($a0) ## 0000001C -/* 00790 80A6B9E0 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000 -/* 00794 80A6B9E4 01C57021 */ addu $t6, $t6, $a1 -/* 00798 80A6B9E8 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08 -/* 0079C 80A6B9EC 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000 -/* 007A0 80A6B9F0 0018C8C0 */ sll $t9, $t8, 3 -/* 007A4 80A6B9F4 01D93021 */ addu $a2, $t6, $t9 -/* 007A8 80A6B9F8 8CC30004 */ lw $v1, 0x0004($a2) ## 00000004 -/* 007AC 80A6B9FC 3C0B8016 */ lui $t3, %hi(gSegments) -/* 007B0 80A6BA00 8C8D0324 */ lw $t5, 0x0324($a0) ## 00000324 -/* 007B4 80A6BA04 00034100 */ sll $t0, $v1, 4 -/* 007B8 80A6BA08 00084F02 */ srl $t1, $t0, 28 -/* 007BC 80A6BA0C 00095080 */ sll $t2, $t1, 2 -/* 007C0 80A6BA10 016A5821 */ addu $t3, $t3, $t2 -/* 007C4 80A6BA14 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 007C8 80A6BA18 8D6B6FA8 */ lw $t3, %lo(gSegments)($t3) -/* 007CC 80A6BA1C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 007D0 80A6BA20 00616024 */ and $t4, $v1, $at -/* 007D4 80A6BA24 000D7880 */ sll $t7, $t5, 2 -/* 007D8 80A6BA28 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 007DC 80A6BA2C 01ED7823 */ subu $t7, $t7, $t5 -/* 007E0 80A6BA30 016C1021 */ addu $v0, $t3, $t4 -/* 007E4 80A6BA34 00411021 */ addu $v0, $v0, $at -/* 007E8 80A6BA38 000F7840 */ sll $t7, $t7, 1 -/* 007EC 80A6BA3C 004F1021 */ addu $v0, $v0, $t7 -/* 007F0 80A6BA40 84580000 */ lh $t8, 0x0000($v0) ## 00000000 -/* 007F4 80A6BA44 844E0004 */ lh $t6, 0x0004($v0) ## 00000004 -/* 007F8 80A6BA48 C4880024 */ lwc1 $f8, 0x0024($a0) ## 00000024 -/* 007FC 80A6BA4C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 00800 80A6BA50 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 00804 80A6BA54 C492002C */ lwc1 $f18, 0x002C($a0) ## 0000002C -/* 00808 80A6BA58 468021A0 */ cvt.s.w $f6, $f4 -/* 0080C 80A6BA5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00810 80A6BA60 AFA6004C */ sw $a2, 0x004C($sp) -/* 00814 80A6BA64 46805420 */ cvt.s.w $f16, $f10 -/* 00818 80A6BA68 46083301 */ sub.s $f12, $f6, $f8 -/* 0081C 80A6BA6C 46128381 */ sub.s $f14, $f16, $f18 -/* 00820 80A6BA70 E7AC0044 */ swc1 $f12, 0x0044($sp) -/* 00824 80A6BA74 0C03F494 */ jal Math_atan2f -/* 00828 80A6BA78 E7AE0040 */ swc1 $f14, 0x0040($sp) -/* 0082C 80A6BA7C 3C0180A7 */ lui $at, %hi(D_80A6D5C8) ## $at = 80A70000 -/* 00830 80A6BA80 C424D5C8 */ lwc1 $f4, %lo(D_80A6D5C8)($at) -/* 00834 80A6BA84 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00838 80A6BA88 AFA80010 */ sw $t0, 0x0010($sp) -/* 0083C 80A6BA8C 46040182 */ mul.s $f6, $f0, $f4 -/* 00840 80A6BA90 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00844 80A6BA94 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A -/* 00848 80A6BA98 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 0084C 80A6BA9C 4600320D */ trunc.w.s $f8, $f6 -/* 00850 80A6BAA0 44054000 */ mfc1 $a1, $f8 -/* 00854 80A6BAA4 00000000 */ nop -/* 00858 80A6BAA8 00052C00 */ sll $a1, $a1, 16 -/* 0085C 80A6BAAC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS - -/* 00860 80A6BAB0 00052C03 */ sra $a1, $a1, 16 -/* 00864 80A6BAB4 C7AC0044 */ lwc1 $f12, 0x0044($sp) -/* 00868 80A6BAB8 C7AE0040 */ lwc1 $f14, 0x0040($sp) -/* 0086C 80A6BABC 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 00870 80A6BAC0 460C6282 */ mul.s $f10, $f12, $f12 -/* 00874 80A6BAC4 44812000 */ mtc1 $at, $f4 ## $f4 = 600.00 -/* 00878 80A6BAC8 86090032 */ lh $t1, 0x0032($s0) ## 00000032 -/* 0087C 80A6BACC 460E7402 */ mul.s $f16, $f14, $f14 -/* 00880 80A6BAD0 A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6 -/* 00884 80A6BAD4 46105480 */ add.s $f18, $f10, $f16 -/* 00888 80A6BAD8 4604903C */ c.lt.s $f18, $f4 -/* 0088C 80A6BADC 00000000 */ nop -/* 00890 80A6BAE0 4500000A */ bc1f .L80A6BB0C -/* 00894 80A6BAE4 00000000 */ nop -/* 00898 80A6BAE8 8E0A0324 */ lw $t2, 0x0324($s0) ## 00000324 -/* 0089C 80A6BAEC 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 008A0 80A6BAF0 AE0B0324 */ sw $t3, 0x0324($s0) ## 00000324 -/* 008A4 80A6BAF4 8FAD004C */ lw $t5, 0x004C($sp) -/* 008A8 80A6BAF8 91AF0000 */ lbu $t7, 0x0000($t5) ## 00000000 -/* 008AC 80A6BAFC 016F082A */ slt $at, $t3, $t7 -/* 008B0 80A6BB00 14200002 */ bne $at, $zero, .L80A6BB0C -/* 008B4 80A6BB04 00000000 */ nop -/* 008B8 80A6BB08 AE000324 */ sw $zero, 0x0324($s0) ## 00000324 -.L80A6BB0C: -/* 008BC 80A6BB0C 0C29ACC3 */ jal func_80A6B30C -/* 008C0 80A6BB10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008C4 80A6BB14 E60001BC */ swc1 $f0, 0x01BC($s0) ## 000001BC -/* 008C8 80A6BB18 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 008CC 80A6BB1C 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 008D0 80A6BB20 AFA40030 */ sw $a0, 0x0030($sp) -/* 008D4 80A6BB24 5040001D */ beql $v0, $zero, .L80A6BB9C -/* 008D8 80A6BB28 8FBF002C */ lw $ra, 0x002C($sp) -/* 008DC 80A6BB2C 0C29ACC3 */ jal func_80A6B30C -/* 008E0 80A6BB30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008E4 80A6BB34 E7A00038 */ swc1 $f0, 0x0038($sp) -/* 008E8 80A6BB38 8E180150 */ lw $t8, 0x0150($s0) ## 00000150 -/* 008EC 80A6BB3C 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 008F0 80A6BB40 00187080 */ sll $t6, $t8, 2 -/* 008F4 80A6BB44 008E2021 */ addu $a0, $a0, $t6 -/* 008F8 80A6BB48 0C028800 */ jal SkelAnime_GetFrameCount - -/* 008FC 80A6BB4C 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 00900 80A6BB50 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00 -/* 00904 80A6BB54 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 00908 80A6BB58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0090C 80A6BB5C 46803220 */ cvt.s.w $f8, $f6 -/* 00910 80A6BB60 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 00914 80A6BB64 00194080 */ sll $t0, $t9, 2 -/* 00918 80A6BB68 00A82821 */ addu $a1, $a1, $t0 -/* 0091C 80A6BB6C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 00920 80A6BB70 44070000 */ mfc1 $a3, $f0 -/* 00924 80A6BB74 AFA90014 */ sw $t1, 0x0014($sp) -/* 00928 80A6BB78 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 0092C 80A6BB7C E7A80010 */ swc1 $f8, 0x0010($sp) -/* 00930 80A6BB80 8FA40030 */ lw $a0, 0x0030($sp) -/* 00934 80A6BB84 8FA60038 */ lw $a2, 0x0038($sp) -/* 00938 80A6BB88 0C029468 */ jal SkelAnime_ChangeAnim - -/* 0093C 80A6BB8C E7A00018 */ swc1 $f0, 0x0018($sp) -/* 00940 80A6BB90 0C29AF3B */ jal func_80A6BCEC -/* 00944 80A6BB94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00948 80A6BB98 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6BB9C: -/* 0094C 80A6BB9C 8FB00028 */ lw $s0, 0x0028($sp) -/* 00950 80A6BBA0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00954 80A6BBA4 03E00008 */ jr $ra -/* 00958 80A6BBA8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s deleted file mode 100644 index 4238fb3b08..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80A6BBAC -/* 0095C 80A6BBAC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00960 80A6BBB0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00964 80A6BBB4 8C8E0150 */ lw $t6, 0x0150($a0) ## 00000150 -/* 00968 80A6BBB8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 0096C 80A6BBBC AC80014C */ sw $zero, 0x014C($a0) ## 0000014C -/* 00970 80A6BBC0 25C20001 */ addiu $v0, $t6, 0x0001 ## $v0 = 00000001 -/* 00974 80A6BBC4 28410009 */ slti $at, $v0, 0x0009 -/* 00978 80A6BBC8 14200003 */ bne $at, $zero, .L80A6BBD8 -/* 0097C 80A6BBCC AC820150 */ sw $v0, 0x0150($a0) ## 00000150 -/* 00980 80A6BBD0 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 00984 80A6BBD4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80A6BBD8: -/* 00988 80A6BBD8 0002C080 */ sll $t8, $v0, 2 -/* 0098C 80A6BBDC 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 00990 80A6BBE0 00B82821 */ addu $a1, $a1, $t8 -/* 00994 80A6BBE4 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 00998 80A6BBE8 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 0099C 80A6BBEC 24C401A0 */ addiu $a0, $a2, 0x01A0 ## $a0 = 000001A0 -/* 009A0 80A6BBF0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 009A4 80A6BBF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 009A8 80A6BBF8 03E00008 */ jr $ra -/* 009AC 80A6BBFC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s deleted file mode 100644 index 6710fe7370..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80A6BC00 -/* 009B0 80A6BC00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 009B4 80A6BC04 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 009B8 80A6BC08 AFA5001C */ sw $a1, 0x001C($sp) -/* 009BC 80A6BC0C AFBF0014 */ sw $ra, 0x0014($sp) -/* 009C0 80A6BC10 AFA40018 */ sw $a0, 0x0018($sp) -/* 009C4 80A6BC14 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 009C8 80A6BC18 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068 -/* 009CC 80A6BC1C AFA50018 */ sw $a1, 0x0018($sp) -/* 009D0 80A6BC20 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 009D4 80A6BC24 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0 -/* 009D8 80A6BC28 10400003 */ beq $v0, $zero, .L80A6BC38 -/* 009DC 80A6BC2C 8FA50018 */ lw $a1, 0x0018($sp) -/* 009E0 80A6BC30 0C29AEEB */ jal func_80A6BBAC -/* 009E4 80A6BC34 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -.L80A6BC38: -/* 009E8 80A6BC38 8FBF0014 */ lw $ra, 0x0014($sp) -/* 009EC 80A6BC3C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 009F0 80A6BC40 03E00008 */ jr $ra -/* 009F4 80A6BC44 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s deleted file mode 100644 index 8aefe54f1f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_80A6BC48 -/* 009F8 80A6BC48 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 009FC 80A6BC4C AFBF002C */ sw $ra, 0x002C($sp) -/* 00A00 80A6BC50 AFB00028 */ sw $s0, 0x0028($sp) -/* 00A04 80A6BC54 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00A08 80A6BC58 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00A0C 80A6BC5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00A10 80A6BC60 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00A14 80A6BC64 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 00A18 80A6BC68 A480021C */ sh $zero, 0x021C($a0) ## 0000021C -/* 00A1C 80A6BC6C A480021E */ sh $zero, 0x021E($a0) ## 0000021E -/* 00A20 80A6BC70 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068 -/* 00A24 80A6BC74 0C29ACC3 */ jal func_80A6B30C -/* 00A28 80A6BC78 E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218 -/* 00A2C 80A6BC7C E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00A30 80A6BC80 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150 -/* 00A34 80A6BC84 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 00A38 80A6BC88 000FC080 */ sll $t8, $t7, 2 -/* 00A3C 80A6BC8C 00982021 */ addu $a0, $a0, $t8 -/* 00A40 80A6BC90 0C028800 */ jal SkelAnime_GetFrameCount - -/* 00A44 80A6BC94 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 00A48 80A6BC98 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00A4C 80A6BC9C 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 00A50 80A6BCA0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00A54 80A6BCA4 468021A0 */ cvt.s.w $f6, $f4 -/* 00A58 80A6BCA8 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 00A5C 80A6BCAC 00194080 */ sll $t0, $t9, 2 -/* 00A60 80A6BCB0 00A82821 */ addu $a1, $a1, $t0 -/* 00A64 80A6BCB4 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 00A68 80A6BCB8 44070000 */ mfc1 $a3, $f0 -/* 00A6C 80A6BCBC AFA90014 */ sw $t1, 0x0014($sp) -/* 00A70 80A6BCC0 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 00A74 80A6BCC4 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 00A78 80A6BCC8 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 00A7C 80A6BCCC 8FA60030 */ lw $a2, 0x0030($sp) -/* 00A80 80A6BCD0 0C029468 */ jal SkelAnime_ChangeAnim - -/* 00A84 80A6BCD4 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 00A88 80A6BCD8 8FBF002C */ lw $ra, 0x002C($sp) -/* 00A8C 80A6BCDC 8FB00028 */ lw $s0, 0x0028($sp) -/* 00A90 80A6BCE0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00A94 80A6BCE4 03E00008 */ jr $ra -/* 00A98 80A6BCE8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s deleted file mode 100644 index e2e1363847..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel func_80A6BCEC -/* 00A9C 80A6BCEC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00AA0 80A6BCF0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00AA4 80A6BCF4 AFA40020 */ sw $a0, 0x0020($sp) -/* 00AA8 80A6BCF8 8C820150 */ lw $v0, 0x0150($a0) ## 00000150 -/* 00AAC 80A6BCFC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00AB0 80A6BD00 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000 -/* 00AB4 80A6BD04 1441000C */ bne $v0, $at, .L80A6BD38 -/* 00AB8 80A6BD08 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00ABC 80A6BD0C 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 00AC0 80A6BD10 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00AC4 80A6BD14 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 00AC8 80A6BD18 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00ACC 80A6BD1C AFA70010 */ sw $a3, 0x0010($sp) -/* 00AD0 80A6BD20 24042804 */ addiu $a0, $zero, 0x2804 ## $a0 = 00002804 -/* 00AD4 80A6BD24 25C500E4 */ addiu $a1, $t6, 0x00E4 ## $a1 = 000000E4 -/* 00AD8 80A6BD28 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00ADC 80A6BD2C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00AE0 80A6BD30 1000000F */ beq $zero, $zero, .L80A6BD70 -/* 00AE4 80A6BD34 8FBF001C */ lw $ra, 0x001C($sp) -.L80A6BD38: -/* 00AE8 80A6BD38 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00AEC 80A6BD3C 1441000B */ bne $v0, $at, .L80A6BD6C -/* 00AF0 80A6BD40 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00AF4 80A6BD44 8FA50020 */ lw $a1, 0x0020($sp) -/* 00AF8 80A6BD48 3C188013 */ lui $t8, %hi(D_801333E8) -/* 00AFC 80A6BD4C 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00B00 80A6BD50 271833E8 */ addiu $t8, %lo(D_801333E8) -/* 00B04 80A6BD54 AFB80014 */ sw $t8, 0x0014($sp) -/* 00B08 80A6BD58 AFA70010 */ sw $a3, 0x0010($sp) -/* 00B0C 80A6BD5C 24042804 */ addiu $a0, $zero, 0x2804 ## $a0 = 00002804 -/* 00B10 80A6BD60 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00B14 80A6BD64 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00B18 80A6BD68 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4 -.L80A6BD6C: -/* 00B1C 80A6BD6C 8FBF001C */ lw $ra, 0x001C($sp) -.L80A6BD70: -/* 00B20 80A6BD70 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00B24 80A6BD74 03E00008 */ jr $ra -/* 00B28 80A6BD78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s deleted file mode 100644 index 29d461d339..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s +++ /dev/null @@ -1,67 +0,0 @@ -glabel func_80A6BD7C -/* 00B2C 80A6BD7C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00B30 80A6BD80 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00B34 80A6BD84 AFB00020 */ sw $s0, 0x0020($sp) -/* 00B38 80A6BD88 8C830150 */ lw $v1, 0x0150($a0) ## 00000150 -/* 00B3C 80A6BD8C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00B40 80A6BD90 C48001B8 */ lwc1 $f0, 0x01B8($a0) ## 000001B8 -/* 00B44 80A6BD94 14600018 */ bne $v1, $zero, .L80A6BDF8 -/* 00B48 80A6BD98 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000 -/* 00B4C 80A6BD9C 44812000 */ mtc1 $at, $f4 ## $f4 = 28.00 -/* 00B50 80A6BDA0 00000000 */ nop -/* 00B54 80A6BDA4 4600203C */ c.lt.s $f4, $f0 -/* 00B58 80A6BDA8 00000000 */ nop -/* 00B5C 80A6BDAC 45020013 */ bc1fl .L80A6BDFC -/* 00B60 80A6BDB0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00B64 80A6BDB4 948201E4 */ lhu $v0, 0x01E4($a0) ## 000001E4 -/* 00B68 80A6BDB8 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00B6C 80A6BDBC 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00B70 80A6BDC0 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000 -/* 00B74 80A6BDC4 15C0000C */ bne $t6, $zero, .L80A6BDF8 -/* 00B78 80A6BDC8 344F0001 */ ori $t7, $v0, 0x0001 ## $t7 = 00000001 -/* 00B7C 80A6BDCC A48F01E4 */ sh $t7, 0x01E4($a0) ## 000001E4 -/* 00B80 80A6BDD0 3C188013 */ lui $t8, %hi(D_801333E8) -/* 00B84 80A6BDD4 271833E8 */ addiu $t8, %lo(D_801333E8) -/* 00B88 80A6BDD8 AFB80014 */ sw $t8, 0x0014($sp) -/* 00B8C 80A6BDDC AFA70010 */ sw $a3, 0x0010($sp) -/* 00B90 80A6BDE0 2404282C */ addiu $a0, $zero, 0x282C ## $a0 = 0000282C -/* 00B94 80A6BDE4 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00B98 80A6BDE8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00B9C 80A6BDEC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00BA0 80A6BDF0 1000001A */ beq $zero, $zero, .L80A6BE5C -/* 00BA4 80A6BDF4 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6BDF8: -/* 00BA8 80A6BDF8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -.L80A6BDFC: -/* 00BAC 80A6BDFC 14610016 */ bne $v1, $at, .L80A6BE58 -/* 00BB0 80A6BE00 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 00BB4 80A6BE04 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00 -/* 00BB8 80A6BE08 00000000 */ nop -/* 00BBC 80A6BE0C 4600303C */ c.lt.s $f6, $f0 -/* 00BC0 80A6BE10 00000000 */ nop -/* 00BC4 80A6BE14 45020011 */ bc1fl .L80A6BE5C -/* 00BC8 80A6BE18 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00BCC 80A6BE1C 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4 -/* 00BD0 80A6BE20 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00BD4 80A6BE24 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00BD8 80A6BE28 30590002 */ andi $t9, $v0, 0x0002 ## $t9 = 00000000 -/* 00BDC 80A6BE2C 1720000A */ bne $t9, $zero, .L80A6BE58 -/* 00BE0 80A6BE30 34480002 */ ori $t0, $v0, 0x0002 ## $t0 = 00000002 -/* 00BE4 80A6BE34 3C098013 */ lui $t1, %hi(D_801333E8) -/* 00BE8 80A6BE38 A60801E4 */ sh $t0, 0x01E4($s0) ## 000001E4 -/* 00BEC 80A6BE3C 252933E8 */ addiu $t1, %lo(D_801333E8) -/* 00BF0 80A6BE40 AFA90014 */ sw $t1, 0x0014($sp) -/* 00BF4 80A6BE44 AFA70010 */ sw $a3, 0x0010($sp) -/* 00BF8 80A6BE48 2404282B */ addiu $a0, $zero, 0x282B ## $a0 = 0000282B -/* 00BFC 80A6BE4C 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00C00 80A6BE50 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00C04 80A6BE54 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L80A6BE58: -/* 00C08 80A6BE58 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6BE5C: -/* 00C0C 80A6BE5C 8FB00020 */ lw $s0, 0x0020($sp) -/* 00C10 80A6BE60 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00C14 80A6BE64 03E00008 */ jr $ra -/* 00C18 80A6BE68 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s deleted file mode 100644 index ec99a89712..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s +++ /dev/null @@ -1,466 +0,0 @@ -.late_rodata -glabel D_80A6D5CC - .float 0.1 - -glabel D_80A6D5D0 - .float 0.1 - -.text -glabel func_80A6BE6C -/* 00C1C 80A6BE6C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00C20 80A6BE70 AFBF002C */ sw $ra, 0x002C($sp) -/* 00C24 80A6BE74 AFB00028 */ sw $s0, 0x0028($sp) -/* 00C28 80A6BE78 AFA50054 */ sw $a1, 0x0054($sp) -/* 00C2C 80A6BE7C 8C830150 */ lw $v1, 0x0150($a0) ## 00000150 -/* 00C30 80A6BE80 3C0280A7 */ lui $v0, %hi(D_80A6D510) ## $v0 = 80A70000 -/* 00C34 80A6BE84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00C38 80A6BE88 00037080 */ sll $t6, $v1, 2 -/* 00C3C 80A6BE8C 004E1021 */ addu $v0, $v0, $t6 -/* 00C40 80A6BE90 8C42D510 */ lw $v0, %lo(D_80A6D510)($v0) -/* 00C44 80A6BE94 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00C48 80A6BE98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C4C 80A6BE9C 10400009 */ beq $v0, $zero, .L80A6BEC4 -/* 00C50 80A6BEA0 00604025 */ or $t0, $v1, $zero ## $t0 = 00000000 -/* 00C54 80A6BEA4 10410010 */ beq $v0, $at, .L80A6BEE8 -/* 00C58 80A6BEA8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00C5C 80A6BEAC 104100AC */ beq $v0, $at, .L80A6C160 -/* 00C60 80A6BEB0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00C64 80A6BEB4 104100AA */ beq $v0, $at, .L80A6C160 -/* 00C68 80A6BEB8 00000000 */ nop -/* 00C6C 80A6BEBC 100000A8 */ beq $zero, $zero, .L80A6C160 -/* 00C70 80A6BEC0 00000000 */ nop -.L80A6BEC4: -/* 00C74 80A6BEC4 0C29AF5F */ jal func_80A6BD7C -/* 00C78 80A6BEC8 AFA8004C */ sw $t0, 0x004C($sp) -/* 00C7C 80A6BECC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00C80 80A6BED0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00C84 80A6BED4 8FA8004C */ lw $t0, 0x004C($sp) -/* 00C88 80A6BED8 8E030150 */ lw $v1, 0x0150($s0) ## 00000150 -/* 00C8C 80A6BEDC E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068 -/* 00C90 80A6BEE0 1000009F */ beq $zero, $zero, .L80A6C160 -/* 00C94 80A6BEE4 E6060218 */ swc1 $f6, 0x0218($s0) ## 00000218 -.L80A6BEE8: -/* 00C98 80A6BEE8 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00C9C 80A6BEEC 00000000 */ nop -/* 00CA0 80A6BEF0 3C0180A7 */ lui $at, %hi(D_80A6D5CC) ## $at = 80A70000 -/* 00CA4 80A6BEF4 C428D5CC */ lwc1 $f8, %lo(D_80A6D5CC)($at) -/* 00CA8 80A6BEF8 4608003C */ c.lt.s $f0, $f8 -/* 00CAC 80A6BEFC 00000000 */ nop -/* 00CB0 80A6BF00 4502000A */ bc1fl .L80A6BF2C -/* 00CB4 80A6BF04 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068 -/* 00CB8 80A6BF08 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00CBC 80A6BF0C 00000000 */ nop -/* 00CC0 80A6BF10 46000280 */ add.s $f10, $f0, $f0 -/* 00CC4 80A6BF14 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00CC8 80A6BF18 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00 -/* 00CCC 80A6BF1C 00000000 */ nop -/* 00CD0 80A6BF20 46105481 */ sub.s $f18, $f10, $f16 -/* 00CD4 80A6BF24 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218 -/* 00CD8 80A6BF28 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068 -.L80A6BF2C: -/* 00CDC 80A6BF2C C6060218 */ lwc1 $f6, 0x0218($s0) ## 00000218 -/* 00CE0 80A6BF30 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 00CE4 80A6BF34 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00CE8 80A6BF38 46062200 */ add.s $f8, $f4, $f6 -/* 00CEC 80A6BF3C E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068 -/* 00CF0 80A6BF40 C6000068 */ lwc1 $f0, 0x0068($s0) ## 00000068 -/* 00CF4 80A6BF44 460A003E */ c.le.s $f0, $f10 -/* 00CF8 80A6BF48 00000000 */ nop -/* 00CFC 80A6BF4C 45020008 */ bc1fl .L80A6BF70 -/* 00D00 80A6BF50 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00 -/* 00D04 80A6BF54 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00D08 80A6BF58 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 00D0C 80A6BF5C 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000 -/* 00D10 80A6BF60 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068 -/* 00D14 80A6BF64 1000001C */ beq $zero, $zero, .L80A6BFD8 -/* 00D18 80A6BF68 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218 -/* 00D1C 80A6BF6C 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00 -.L80A6BF70: -/* 00D20 80A6BF70 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00D24 80A6BF74 4604003C */ c.lt.s $f0, $f4 -/* 00D28 80A6BF78 00000000 */ nop -/* 00D2C 80A6BF7C 45020006 */ bc1fl .L80A6BF98 -/* 00D30 80A6BF80 44813000 */ mtc1 $at, $f6 ## $f6 = 6.00 -/* 00D34 80A6BF84 0C29AC94 */ jal func_80A6B250 -/* 00D38 80A6BF88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D3C 80A6BF8C 10000012 */ beq $zero, $zero, .L80A6BFD8 -/* 00D40 80A6BF90 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004 -/* 00D44 80A6BF94 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00 -.L80A6BF98: -/* 00D48 80A6BF98 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00D4C 80A6BF9C 4606003C */ c.lt.s $f0, $f6 -/* 00D50 80A6BFA0 00000000 */ nop -/* 00D54 80A6BFA4 45020004 */ bc1fl .L80A6BFB8 -/* 00D58 80A6BFA8 44811000 */ mtc1 $at, $f2 ## $f2 = 8.00 -/* 00D5C 80A6BFAC 1000000A */ beq $zero, $zero, .L80A6BFD8 -/* 00D60 80A6BFB0 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005 -/* 00D64 80A6BFB4 44811000 */ mtc1 $at, $f2 ## $f2 = 8.00 -.L80A6BFB8: -/* 00D68 80A6BFB8 24080006 */ addiu $t0, $zero, 0x0006 ## $t0 = 00000006 -/* 00D6C 80A6BFBC 4602003C */ c.lt.s $f0, $f2 -/* 00D70 80A6BFC0 00000000 */ nop -/* 00D74 80A6BFC4 45020004 */ bc1fl .L80A6BFD8 -/* 00D78 80A6BFC8 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068 -/* 00D7C 80A6BFCC 10000002 */ beq $zero, $zero, .L80A6BFD8 -/* 00D80 80A6BFD0 24080006 */ addiu $t0, $zero, 0x0006 ## $t0 = 00000006 -/* 00D84 80A6BFD4 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068 -.L80A6BFD8: -/* 00D88 80A6BFD8 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00D8C 80A6BFDC AFA8004C */ sw $t0, 0x004C($sp) -/* 00D90 80A6BFE0 3C0180A7 */ lui $at, %hi(D_80A6D5D0) ## $at = 80A70000 -/* 00D94 80A6BFE4 C428D5D0 */ lwc1 $f8, %lo(D_80A6D5D0)($at) -/* 00D98 80A6BFE8 8FA8004C */ lw $t0, 0x004C($sp) -/* 00D9C 80A6BFEC 4608003C */ c.lt.s $f0, $f8 -/* 00DA0 80A6BFF0 00000000 */ nop -/* 00DA4 80A6BFF4 45010010 */ bc1t .L80A6C038 -/* 00DA8 80A6BFF8 00000000 */ nop -/* 00DAC 80A6BFFC 8602021E */ lh $v0, 0x021E($s0) ## 0000021E -/* 00DB0 80A6C000 5440002C */ bnel $v0, $zero, .L80A6C0B4 -/* 00DB4 80A6C004 8619021C */ lh $t9, 0x021C($s0) ## 0000021C -/* 00DB8 80A6C008 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 00DBC 80A6C00C 31F80008 */ andi $t8, $t7, 0x0008 ## $t8 = 00000000 -/* 00DC0 80A6C010 17000009 */ bne $t8, $zero, .L80A6C038 -/* 00DC4 80A6C014 00000000 */ nop -/* 00DC8 80A6C018 9219023A */ lbu $t9, 0x023A($s0) ## 0000023A -/* 00DCC 80A6C01C 33290002 */ andi $t1, $t9, 0x0002 ## $t1 = 00000000 -/* 00DD0 80A6C020 15200005 */ bne $t1, $zero, .L80A6C038 -/* 00DD4 80A6C024 00000000 */ nop -/* 00DD8 80A6C028 920A0286 */ lbu $t2, 0x0286($s0) ## 00000286 -/* 00DDC 80A6C02C 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000 -/* 00DE0 80A6C030 51600020 */ beql $t3, $zero, .L80A6C0B4 -/* 00DE4 80A6C034 8619021C */ lh $t9, 0x021C($s0) ## 0000021C -.L80A6C038: -/* 00DE8 80A6C038 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00DEC 80A6C03C AFA8004C */ sw $t0, 0x004C($sp) -/* 00DF0 80A6C040 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00DF4 80A6C044 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00 -/* 00DF8 80A6C048 860C021E */ lh $t4, 0x021E($s0) ## 0000021E -/* 00DFC 80A6C04C 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00E00 80A6C050 460A0402 */ mul.s $f16, $f0, $f10 -/* 00E04 80A6C054 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00E08 80A6C058 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00 -/* 00E0C 80A6C05C 8FA8004C */ lw $t0, 0x004C($sp) -/* 00E10 80A6C060 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032 -/* 00E14 80A6C064 46803220 */ cvt.s.w $f8, $f6 -/* 00E18 80A6C068 46128101 */ sub.s $f4, $f16, $f18 -/* 00E1C 80A6C06C 46044280 */ add.s $f10, $f8, $f4 -/* 00E20 80A6C070 4600540D */ trunc.w.s $f16, $f10 -/* 00E24 80A6C074 440E8000 */ mfc1 $t6, $f16 -/* 00E28 80A6C078 00000000 */ nop -/* 00E2C 80A6C07C A60E021E */ sh $t6, 0x021E($s0) ## 0000021E -/* 00E30 80A6C080 8602021E */ lh $v0, 0x021E($s0) ## 0000021E -/* 00E34 80A6C084 28410033 */ slti $at, $v0, 0x0033 -/* 00E38 80A6C088 54200005 */ bnel $at, $zero, .L80A6C0A0 -/* 00E3C 80A6C08C 2841FFCE */ slti $at, $v0, 0xFFCE -/* 00E40 80A6C090 A60F021E */ sh $t7, 0x021E($s0) ## 0000021E -/* 00E44 80A6C094 10000006 */ beq $zero, $zero, .L80A6C0B0 -/* 00E48 80A6C098 8602021E */ lh $v0, 0x021E($s0) ## 0000021E -/* 00E4C 80A6C09C 2841FFCE */ slti $at, $v0, 0xFFCE -.L80A6C0A0: -/* 00E50 80A6C0A0 10200003 */ beq $at, $zero, .L80A6C0B0 -/* 00E54 80A6C0A4 2418FFCE */ addiu $t8, $zero, 0xFFCE ## $t8 = FFFFFFCE -/* 00E58 80A6C0A8 A618021E */ sh $t8, 0x021E($s0) ## 0000021E -/* 00E5C 80A6C0AC 8602021E */ lh $v0, 0x021E($s0) ## 0000021E -.L80A6C0B0: -/* 00E60 80A6C0B0 8619021C */ lh $t9, 0x021C($s0) ## 0000021C -.L80A6C0B4: -/* 00E64 80A6C0B4 240AFED4 */ addiu $t2, $zero, 0xFED4 ## $t2 = FFFFFED4 -/* 00E68 80A6C0B8 03224821 */ addu $t1, $t9, $v0 -/* 00E6C 80A6C0BC A609021C */ sh $t1, 0x021C($s0) ## 0000021C -/* 00E70 80A6C0C0 8603021C */ lh $v1, 0x021C($s0) ## 0000021C -/* 00E74 80A6C0C4 2861FED4 */ slti $at, $v1, 0xFED4 -/* 00E78 80A6C0C8 50200004 */ beql $at, $zero, .L80A6C0DC -/* 00E7C 80A6C0CC 2861012D */ slti $at, $v1, 0x012D -/* 00E80 80A6C0D0 1000001C */ beq $zero, $zero, .L80A6C144 -/* 00E84 80A6C0D4 A60A021C */ sh $t2, 0x021C($s0) ## 0000021C -/* 00E88 80A6C0D8 2861012D */ slti $at, $v1, 0x012D -.L80A6C0DC: -/* 00E8C 80A6C0DC 14200003 */ bne $at, $zero, .L80A6C0EC -/* 00E90 80A6C0E0 240B012C */ addiu $t3, $zero, 0x012C ## $t3 = 0000012C -/* 00E94 80A6C0E4 10000017 */ beq $zero, $zero, .L80A6C144 -/* 00E98 80A6C0E8 A60B021C */ sh $t3, 0x021C($s0) ## 0000021C -.L80A6C0EC: -/* 00E9C 80A6C0EC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00EA0 80A6C0F0 AFA8004C */ sw $t0, 0x004C($sp) -/* 00EA4 80A6C0F4 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00EA8 80A6C0F8 44819000 */ mtc1 $at, $f18 ## $f18 = 0.25 -/* 00EAC 80A6C0FC 8FA8004C */ lw $t0, 0x004C($sp) -/* 00EB0 80A6C100 4612003C */ c.lt.s $f0, $f18 -/* 00EB4 80A6C104 00000000 */ nop -/* 00EB8 80A6C108 4502000F */ bc1fl .L80A6C148 -/* 00EBC 80A6C10C 860D0032 */ lh $t5, 0x0032($s0) ## 00000032 -/* 00EC0 80A6C110 860C021C */ lh $t4, 0x021C($s0) ## 0000021C -/* 00EC4 80A6C114 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00EC8 80A6C118 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00 -/* 00ECC 80A6C11C 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00ED0 80A6C120 00000000 */ nop -/* 00ED4 80A6C124 46803020 */ cvt.s.w $f0, $f6 -/* 00ED8 80A6C128 46000005 */ abs.s $f0, $f0 -/* 00EDC 80A6C12C 4608003C */ c.lt.s $f0, $f8 -/* 00EE0 80A6C130 00000000 */ nop -/* 00EE4 80A6C134 45020004 */ bc1fl .L80A6C148 -/* 00EE8 80A6C138 860D0032 */ lh $t5, 0x0032($s0) ## 00000032 -/* 00EEC 80A6C13C A600021C */ sh $zero, 0x021C($s0) ## 0000021C -/* 00EF0 80A6C140 A600021E */ sh $zero, 0x021E($s0) ## 0000021E -.L80A6C144: -/* 00EF4 80A6C144 860D0032 */ lh $t5, 0x0032($s0) ## 00000032 -.L80A6C148: -/* 00EF8 80A6C148 860E021C */ lh $t6, 0x021C($s0) ## 0000021C -/* 00EFC 80A6C14C 8E030150 */ lw $v1, 0x0150($s0) ## 00000150 -/* 00F00 80A6C150 01AE7821 */ addu $t7, $t5, $t6 -/* 00F04 80A6C154 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032 -/* 00F08 80A6C158 86180032 */ lh $t8, 0x0032($s0) ## 00000032 -/* 00F0C 80A6C15C A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6 -.L80A6C160: -/* 00F10 80A6C160 15030006 */ bne $t0, $v1, .L80A6C17C -/* 00F14 80A6C164 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 00F18 80A6C168 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00F1C 80A6C16C AFA8004C */ sw $t0, 0x004C($sp) -/* 00F20 80A6C170 104000D1 */ beq $v0, $zero, .L80A6C4B8 -/* 00F24 80A6C174 8FA8004C */ lw $t0, 0x004C($sp) -/* 00F28 80A6C178 8E030150 */ lw $v1, 0x0150($s0) ## 00000150 -.L80A6C17C: -/* 00F2C 80A6C17C 261901A0 */ addiu $t9, $s0, 0x01A0 ## $t9 = 000001A0 -/* 00F30 80A6C180 11030041 */ beq $t0, $v1, .L80A6C288 -/* 00F34 80A6C184 AFB90034 */ sw $t9, 0x0034($sp) -/* 00F38 80A6C188 960901E4 */ lhu $t1, 0x01E4($s0) ## 000001E4 -/* 00F3C 80A6C18C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00F40 80A6C190 AE080150 */ sw $t0, 0x0150($s0) ## 00000150 -/* 00F44 80A6C194 312BFFFE */ andi $t3, $t1, 0xFFFE ## $t3 = 00000000 -/* 00F48 80A6C198 A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4 -/* 00F4C 80A6C19C 316CFFFD */ andi $t4, $t3, 0xFFFD ## $t4 = 00000000 -/* 00F50 80A6C1A0 1501000D */ bne $t0, $at, .L80A6C1D8 -/* 00F54 80A6C1A4 A60C01E4 */ sh $t4, 0x01E4($s0) ## 000001E4 -/* 00F58 80A6C1A8 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00F5C 80A6C1AC 3C0D8013 */ lui $t5, %hi(D_801333E8) -/* 00F60 80A6C1B0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00F64 80A6C1B4 25AD33E8 */ addiu $t5, %lo(D_801333E8) -/* 00F68 80A6C1B8 AFAD0014 */ sw $t5, 0x0014($sp) -/* 00F6C 80A6C1BC AFA70010 */ sw $a3, 0x0010($sp) -/* 00F70 80A6C1C0 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816 -/* 00F74 80A6C1C4 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 00F78 80A6C1C8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00F7C 80A6C1CC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00F80 80A6C1D0 10000011 */ beq $zero, $zero, .L80A6C218 -/* 00F84 80A6C1D4 00000000 */ nop -.L80A6C1D8: -/* 00F88 80A6C1D8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00F8C 80A6C1DC 1501000C */ bne $t0, $at, .L80A6C210 -/* 00F90 80A6C1E0 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00F94 80A6C1E4 3C0E8013 */ lui $t6, %hi(D_801333E8) -/* 00F98 80A6C1E8 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00F9C 80A6C1EC 25CE33E8 */ addiu $t6, %lo(D_801333E8) -/* 00FA0 80A6C1F0 AFAE0014 */ sw $t6, 0x0014($sp) -/* 00FA4 80A6C1F4 AFA70010 */ sw $a3, 0x0010($sp) -/* 00FA8 80A6C1F8 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805 -/* 00FAC 80A6C1FC 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 00FB0 80A6C200 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00FB4 80A6C204 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00FB8 80A6C208 10000003 */ beq $zero, $zero, .L80A6C218 -/* 00FBC 80A6C20C 00000000 */ nop -.L80A6C210: -/* 00FC0 80A6C210 0C29AF3B */ jal func_80A6BCEC -/* 00FC4 80A6C214 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80A6C218: -/* 00FC8 80A6C218 0C29ACC3 */ jal func_80A6B30C -/* 00FCC 80A6C21C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00FD0 80A6C220 E7A00040 */ swc1 $f0, 0x0040($sp) -/* 00FD4 80A6C224 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150 -/* 00FD8 80A6C228 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 00FDC 80A6C22C 000FC080 */ sll $t8, $t7, 2 -/* 00FE0 80A6C230 00982021 */ addu $a0, $a0, $t8 -/* 00FE4 80A6C234 0C028800 */ jal SkelAnime_GetFrameCount - -/* 00FE8 80A6C238 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 00FEC 80A6C23C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00FF0 80A6C240 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 00FF4 80A6C244 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 -/* 00FF8 80A6C248 468022A0 */ cvt.s.w $f10, $f4 -/* 00FFC 80A6C24C 44818000 */ mtc1 $at, $f16 ## $f16 = -3.00 -/* 01000 80A6C250 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 01004 80A6C254 00194880 */ sll $t1, $t9, 2 -/* 01008 80A6C258 00A92821 */ addu $a1, $a1, $t1 -/* 0100C 80A6C25C 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002 -/* 01010 80A6C260 AFAA0014 */ sw $t2, 0x0014($sp) -/* 01014 80A6C264 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 01018 80A6C268 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 0101C 80A6C26C 8FA40034 */ lw $a0, 0x0034($sp) -/* 01020 80A6C270 8FA60040 */ lw $a2, 0x0040($sp) -/* 01024 80A6C274 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 01028 80A6C278 0C029468 */ jal SkelAnime_ChangeAnim - -/* 0102C 80A6C27C E7B00018 */ swc1 $f16, 0x0018($sp) -/* 01030 80A6C280 1000008E */ beq $zero, $zero, .L80A6C4BC -/* 01034 80A6C284 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6C288: -/* 01038 80A6C288 00035880 */ sll $t3, $v1, 2 -/* 0103C 80A6C28C 3C0280A7 */ lui $v0, %hi(D_80A6D510) ## $v0 = 80A70000 -/* 01040 80A6C290 004B1021 */ addu $v0, $v0, $t3 -/* 01044 80A6C294 8C42D510 */ lw $v0, %lo(D_80A6D510)($v0) -/* 01048 80A6C298 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0104C 80A6C29C 10400009 */ beq $v0, $zero, .L80A6C2C4 -/* 01050 80A6C2A0 00000000 */ nop -/* 01054 80A6C2A4 10410024 */ beq $v0, $at, .L80A6C338 -/* 01058 80A6C2A8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0105C 80A6C2AC 10410022 */ beq $v0, $at, .L80A6C338 -/* 01060 80A6C2B0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 01064 80A6C2B4 50410021 */ beql $v0, $at, .L80A6C33C -/* 01068 80A6C2B8 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4 -/* 0106C 80A6C2BC 1000001F */ beq $zero, $zero, .L80A6C33C -/* 01070 80A6C2C0 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4 -.L80A6C2C4: -/* 01074 80A6C2C4 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 01078 80A6C2C8 00000000 */ nop -/* 0107C 80A6C2CC 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 01080 80A6C2D0 44819000 */ mtc1 $at, $f18 ## $f18 = 0.25 -/* 01084 80A6C2D4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01088 80A6C2D8 4612003C */ c.lt.s $f0, $f18 -/* 0108C 80A6C2DC 00000000 */ nop -/* 01090 80A6C2E0 45000005 */ bc1f .L80A6C2F8 -/* 01094 80A6C2E4 00000000 */ nop -/* 01098 80A6C2E8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0109C 80A6C2EC 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004 -/* 010A0 80A6C2F0 10000011 */ beq $zero, $zero, .L80A6C338 -/* 010A4 80A6C2F4 E6060218 */ swc1 $f6, 0x0218($s0) ## 00000218 -.L80A6C2F8: -/* 010A8 80A6C2F8 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 010AC 80A6C2FC 00000000 */ nop -/* 010B0 80A6C300 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 010B4 80A6C304 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 010B8 80A6C308 3C0880A7 */ lui $t0, %hi(D_80A6D4F4) ## $t0 = 80A70000 -/* 010BC 80A6C30C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 010C0 80A6C310 46080102 */ mul.s $f4, $f0, $f8 -/* 010C4 80A6C314 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 010C8 80A6C318 4600228D */ trunc.w.s $f10, $f4 -/* 010CC 80A6C31C 440D5000 */ mfc1 $t5, $f10 -/* 010D0 80A6C320 00000000 */ nop -/* 010D4 80A6C324 000D7080 */ sll $t6, $t5, 2 -/* 010D8 80A6C328 010E4021 */ addu $t0, $t0, $t6 -/* 010DC 80A6C32C 8D08D4F4 */ lw $t0, %lo(D_80A6D4F4)($t0) -/* 010E0 80A6C330 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068 -/* 010E4 80A6C334 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218 -.L80A6C338: -/* 010E8 80A6C338 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4 -.L80A6C33C: -/* 010EC 80A6C33C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 010F0 80A6C340 3C078013 */ lui $a3, %hi(D_801333E0) -/* 010F4 80A6C344 31F9FFFE */ andi $t9, $t7, 0xFFFE ## $t9 = 00000000 -/* 010F8 80A6C348 A61901E4 */ sh $t9, 0x01E4($s0) ## 000001E4 -/* 010FC 80A6C34C 3329FFFD */ andi $t1, $t9, 0xFFFD ## $t1 = 00000000 -/* 01100 80A6C350 1501000D */ bne $t0, $at, .L80A6C388 -/* 01104 80A6C354 A60901E4 */ sh $t1, 0x01E4($s0) ## 000001E4 -/* 01108 80A6C358 3C0A8013 */ lui $t2, %hi(D_801333E8) -/* 0110C 80A6C35C 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01110 80A6C360 254A33E8 */ addiu $t2, %lo(D_801333E8) -/* 01114 80A6C364 AFAA0014 */ sw $t2, 0x0014($sp) -/* 01118 80A6C368 AFA70010 */ sw $a3, 0x0010($sp) -/* 0111C 80A6C36C 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816 -/* 01120 80A6C370 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 01124 80A6C374 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01128 80A6C378 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0112C 80A6C37C AFA8004C */ sw $t0, 0x004C($sp) -/* 01130 80A6C380 10000014 */ beq $zero, $zero, .L80A6C3D4 -/* 01134 80A6C384 8FA8004C */ lw $t0, 0x004C($sp) -.L80A6C388: -/* 01138 80A6C388 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 0113C 80A6C38C 1501000E */ bne $t0, $at, .L80A6C3C8 -/* 01140 80A6C390 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01144 80A6C394 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01148 80A6C398 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 0114C 80A6C39C 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01150 80A6C3A0 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 01154 80A6C3A4 AFAB0014 */ sw $t3, 0x0014($sp) -/* 01158 80A6C3A8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0115C 80A6C3AC 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805 -/* 01160 80A6C3B0 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 01164 80A6C3B4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01168 80A6C3B8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0116C 80A6C3BC AFA8004C */ sw $t0, 0x004C($sp) -/* 01170 80A6C3C0 10000004 */ beq $zero, $zero, .L80A6C3D4 -/* 01174 80A6C3C4 8FA8004C */ lw $t0, 0x004C($sp) -.L80A6C3C8: -/* 01178 80A6C3C8 0C29AF3B */ jal func_80A6BCEC -/* 0117C 80A6C3CC AFA8004C */ sw $t0, 0x004C($sp) -/* 01180 80A6C3D0 8FA8004C */ lw $t0, 0x004C($sp) -.L80A6C3D4: -/* 01184 80A6C3D4 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150 -/* 01188 80A6C3D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0118C 80A6C3DC 110C001D */ beq $t0, $t4, .L80A6C454 -/* 01190 80A6C3E0 00000000 */ nop -/* 01194 80A6C3E4 0C29ACC3 */ jal func_80A6B30C -/* 01198 80A6C3E8 AE080150 */ sw $t0, 0x0150($s0) ## 00000150 -/* 0119C 80A6C3EC E7A00040 */ swc1 $f0, 0x0040($sp) -/* 011A0 80A6C3F0 8E0D0150 */ lw $t5, 0x0150($s0) ## 00000150 -/* 011A4 80A6C3F4 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 011A8 80A6C3F8 000D7080 */ sll $t6, $t5, 2 -/* 011AC 80A6C3FC 008E2021 */ addu $a0, $a0, $t6 -/* 011B0 80A6C400 0C028800 */ jal SkelAnime_GetFrameCount - -/* 011B4 80A6C404 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 011B8 80A6C408 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00 -/* 011BC 80A6C40C 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150 -/* 011C0 80A6C410 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 -/* 011C4 80A6C414 46803220 */ cvt.s.w $f8, $f6 -/* 011C8 80A6C418 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00 -/* 011CC 80A6C41C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 011D0 80A6C420 000FC080 */ sll $t8, $t7, 2 -/* 011D4 80A6C424 00B82821 */ addu $a1, $a1, $t8 -/* 011D8 80A6C428 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 011DC 80A6C42C AFB90014 */ sw $t9, 0x0014($sp) -/* 011E0 80A6C430 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 011E4 80A6C434 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 011E8 80A6C438 8FA40034 */ lw $a0, 0x0034($sp) -/* 011EC 80A6C43C 8FA60040 */ lw $a2, 0x0040($sp) -/* 011F0 80A6C440 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 011F4 80A6C444 0C029468 */ jal SkelAnime_ChangeAnim - -/* 011F8 80A6C448 E7A40018 */ swc1 $f4, 0x0018($sp) -/* 011FC 80A6C44C 1000001B */ beq $zero, $zero, .L80A6C4BC -/* 01200 80A6C450 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6C454: -/* 01204 80A6C454 0C29ACC3 */ jal func_80A6B30C -/* 01208 80A6C458 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0120C 80A6C45C E7A00040 */ swc1 $f0, 0x0040($sp) -/* 01210 80A6C460 8E090150 */ lw $t1, 0x0150($s0) ## 00000150 -/* 01214 80A6C464 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 01218 80A6C468 00095080 */ sll $t2, $t1, 2 -/* 0121C 80A6C46C 008A2021 */ addu $a0, $a0, $t2 -/* 01220 80A6C470 0C028800 */ jal SkelAnime_GetFrameCount - -/* 01224 80A6C474 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 01228 80A6C478 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00 -/* 0122C 80A6C47C 8E0B0150 */ lw $t3, 0x0150($s0) ## 00000150 -/* 01230 80A6C480 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01234 80A6C484 46805420 */ cvt.s.w $f16, $f10 -/* 01238 80A6C488 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 0123C 80A6C48C 000B6080 */ sll $t4, $t3, 2 -/* 01240 80A6C490 00AC2821 */ addu $a1, $a1, $t4 -/* 01244 80A6C494 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 01248 80A6C498 44070000 */ mfc1 $a3, $f0 -/* 0124C 80A6C49C AFAD0014 */ sw $t5, 0x0014($sp) -/* 01250 80A6C4A0 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 01254 80A6C4A4 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 01258 80A6C4A8 8FA40034 */ lw $a0, 0x0034($sp) -/* 0125C 80A6C4AC 8FA60040 */ lw $a2, 0x0040($sp) -/* 01260 80A6C4B0 0C029468 */ jal SkelAnime_ChangeAnim - -/* 01264 80A6C4B4 E7A00018 */ swc1 $f0, 0x0018($sp) -.L80A6C4B8: -/* 01268 80A6C4B8 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6C4BC: -/* 0126C 80A6C4BC 8FB00028 */ lw $s0, 0x0028($sp) -/* 01270 80A6C4C0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 01274 80A6C4C4 03E00008 */ jr $ra -/* 01278 80A6C4C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s deleted file mode 100644 index 6c73b12814..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_80A6C4CC -/* 0127C 80A6C4CC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 01280 80A6C4D0 AFBF002C */ sw $ra, 0x002C($sp) -/* 01284 80A6C4D4 AFB00028 */ sw $s0, 0x0028($sp) -/* 01288 80A6C4D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0128C 80A6C4DC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 01290 80A6C4E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01294 80A6C4E4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 01298 80A6C4E8 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 0129C 80A6C4EC A480021C */ sh $zero, 0x021C($a0) ## 0000021C -/* 012A0 80A6C4F0 A480021E */ sh $zero, 0x021E($a0) ## 0000021E -/* 012A4 80A6C4F4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068 -/* 012A8 80A6C4F8 0C29ACC3 */ jal func_80A6B30C -/* 012AC 80A6C4FC E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218 -/* 012B0 80A6C500 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 012B4 80A6C504 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150 -/* 012B8 80A6C508 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 012BC 80A6C50C 000FC080 */ sll $t8, $t7, 2 -/* 012C0 80A6C510 00982021 */ addu $a0, $a0, $t8 -/* 012C4 80A6C514 0C028800 */ jal SkelAnime_GetFrameCount - -/* 012C8 80A6C518 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 012CC 80A6C51C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 012D0 80A6C520 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 012D4 80A6C524 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 012D8 80A6C528 468021A0 */ cvt.s.w $f6, $f4 -/* 012DC 80A6C52C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 012E0 80A6C530 00194080 */ sll $t0, $t9, 2 -/* 012E4 80A6C534 00A82821 */ addu $a1, $a1, $t0 -/* 012E8 80A6C538 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 012EC 80A6C53C 44070000 */ mfc1 $a3, $f0 -/* 012F0 80A6C540 AFA90014 */ sw $t1, 0x0014($sp) -/* 012F4 80A6C544 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 012F8 80A6C548 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 012FC 80A6C54C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 01300 80A6C550 8FA60030 */ lw $a2, 0x0030($sp) -/* 01304 80A6C554 0C029468 */ jal SkelAnime_ChangeAnim - -/* 01308 80A6C558 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0130C 80A6C55C 8FBF002C */ lw $ra, 0x002C($sp) -/* 01310 80A6C560 8FB00028 */ lw $s0, 0x0028($sp) -/* 01314 80A6C564 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01318 80A6C568 03E00008 */ jr $ra -/* 0131C 80A6C56C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s deleted file mode 100644 index 34f0739bc6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s +++ /dev/null @@ -1,99 +0,0 @@ -.late_rodata -glabel D_80A6D5D4 - .float 0.4 - -glabel D_80A6D5D8 - .float 0.8 - -.text -glabel func_80A6C570 -/* 01320 80A6C570 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 01324 80A6C574 AFB00028 */ sw $s0, 0x0028($sp) -/* 01328 80A6C578 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0132C 80A6C57C AFBF002C */ sw $ra, 0x002C($sp) -/* 01330 80A6C580 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0 -/* 01334 80A6C584 AFA50044 */ sw $a1, 0x0044($sp) -/* 01338 80A6C588 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 0133C 80A6C58C AFA40030 */ sw $a0, 0x0030($sp) -/* 01340 80A6C590 50400043 */ beql $v0, $zero, .L80A6C6A0 -/* 01344 80A6C594 8FBF002C */ lw $ra, 0x002C($sp) -/* 01348 80A6C598 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 0134C 80A6C59C 00000000 */ nop -/* 01350 80A6C5A0 3C0180A7 */ lui $at, %hi(D_80A6D5D4) ## $at = 80A70000 -/* 01354 80A6C5A4 C424D5D4 */ lwc1 $f4, %lo(D_80A6D5D4)($at) -/* 01358 80A6C5A8 3C0180A7 */ lui $at, %hi(D_80A6D5D8) ## $at = 80A70000 -/* 0135C 80A6C5AC 4604003C */ c.lt.s $f0, $f4 -/* 01360 80A6C5B0 00000000 */ nop -/* 01364 80A6C5B4 45000003 */ bc1f .L80A6C5C4 -/* 01368 80A6C5B8 00000000 */ nop -/* 0136C 80A6C5BC 1000001E */ beq $zero, $zero, .L80A6C638 -/* 01370 80A6C5C0 AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -.L80A6C5C4: -/* 01374 80A6C5C4 C426D5D8 */ lwc1 $f6, %lo(D_80A6D5D8)($at) -/* 01378 80A6C5C8 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0137C 80A6C5CC 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01380 80A6C5D0 4606003C */ c.lt.s $f0, $f6 -/* 01384 80A6C5D4 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003 -/* 01388 80A6C5D8 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805 -/* 0138C 80A6C5DC 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 01390 80A6C5E0 4500000F */ bc1f .L80A6C620 -/* 01394 80A6C5E4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01398 80A6C5E8 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0139C 80A6C5EC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 013A0 80A6C5F0 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 013A4 80A6C5F4 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 013A8 80A6C5F8 AE0E0150 */ sw $t6, 0x0150($s0) ## 00000150 -/* 013AC 80A6C5FC 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 013B0 80A6C600 AFAF0014 */ sw $t7, 0x0014($sp) -/* 013B4 80A6C604 AFA70010 */ sw $a3, 0x0010($sp) -/* 013B8 80A6C608 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816 -/* 013BC 80A6C60C 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 013C0 80A6C610 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 013C4 80A6C614 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 013C8 80A6C618 10000007 */ beq $zero, $zero, .L80A6C638 -/* 013CC 80A6C61C 00000000 */ nop -.L80A6C620: -/* 013D0 80A6C620 3C198013 */ lui $t9, %hi(D_801333E8) -/* 013D4 80A6C624 AE180150 */ sw $t8, 0x0150($s0) ## 00000150 -/* 013D8 80A6C628 273933E8 */ addiu $t9, %lo(D_801333E8) -/* 013DC 80A6C62C AFB90014 */ sw $t9, 0x0014($sp) -/* 013E0 80A6C630 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 013E4 80A6C634 AFA70010 */ sw $a3, 0x0010($sp) -.L80A6C638: -/* 013E8 80A6C638 0C29ACC3 */ jal func_80A6B30C -/* 013EC 80A6C63C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 013F0 80A6C640 E7A00034 */ swc1 $f0, 0x0034($sp) -/* 013F4 80A6C644 8E080150 */ lw $t0, 0x0150($s0) ## 00000150 -/* 013F8 80A6C648 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 013FC 80A6C64C 00084880 */ sll $t1, $t0, 2 -/* 01400 80A6C650 00892021 */ addu $a0, $a0, $t1 -/* 01404 80A6C654 0C028800 */ jal SkelAnime_GetFrameCount - -/* 01408 80A6C658 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 0140C 80A6C65C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00 -/* 01410 80A6C660 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150 -/* 01414 80A6C664 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01418 80A6C668 468042A0 */ cvt.s.w $f10, $f8 -/* 0141C 80A6C66C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 01420 80A6C670 000A5880 */ sll $t3, $t2, 2 -/* 01424 80A6C674 00AB2821 */ addu $a1, $a1, $t3 -/* 01428 80A6C678 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002 -/* 0142C 80A6C67C 44070000 */ mfc1 $a3, $f0 -/* 01430 80A6C680 AFAC0014 */ sw $t4, 0x0014($sp) -/* 01434 80A6C684 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 01438 80A6C688 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 0143C 80A6C68C 8FA40030 */ lw $a0, 0x0030($sp) -/* 01440 80A6C690 8FA60034 */ lw $a2, 0x0034($sp) -/* 01444 80A6C694 0C029468 */ jal SkelAnime_ChangeAnim - -/* 01448 80A6C698 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0144C 80A6C69C 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6C6A0: -/* 01450 80A6C6A0 8FB00028 */ lw $s0, 0x0028($sp) -/* 01454 80A6C6A4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 01458 80A6C6A8 03E00008 */ jr $ra -/* 0145C 80A6C6AC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s deleted file mode 100644 index 0790b8947a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_80A6C6B0 -/* 01460 80A6C6B0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 01464 80A6C6B4 AFBF002C */ sw $ra, 0x002C($sp) -/* 01468 80A6C6B8 AFB00028 */ sw $s0, 0x0028($sp) -/* 0146C 80A6C6BC 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 01470 80A6C6C0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01474 80A6C6C4 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003 -/* 01478 80A6C6C8 35F80030 */ ori $t8, $t7, 0x0030 ## $t8 = 00000030 -/* 0147C 80A6C6CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01480 80A6C6D0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 01484 80A6C6D4 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 01488 80A6C6D8 A480021C */ sh $zero, 0x021C($a0) ## 0000021C -/* 0148C 80A6C6DC A480021E */ sh $zero, 0x021E($a0) ## 0000021E -/* 01490 80A6C6E0 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 01494 80A6C6E4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068 -/* 01498 80A6C6E8 0C29ACC3 */ jal func_80A6B30C -/* 0149C 80A6C6EC E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218 -/* 014A0 80A6C6F0 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 014A4 80A6C6F4 8E190150 */ lw $t9, 0x0150($s0) ## 00000150 -/* 014A8 80A6C6F8 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 014AC 80A6C6FC 00194080 */ sll $t0, $t9, 2 -/* 014B0 80A6C700 00882021 */ addu $a0, $a0, $t0 -/* 014B4 80A6C704 0C028800 */ jal SkelAnime_GetFrameCount - -/* 014B8 80A6C708 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 014BC 80A6C70C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 014C0 80A6C710 8E090150 */ lw $t1, 0x0150($s0) ## 00000150 -/* 014C4 80A6C714 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 014C8 80A6C718 468021A0 */ cvt.s.w $f6, $f4 -/* 014CC 80A6C71C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 014D0 80A6C720 00095080 */ sll $t2, $t1, 2 -/* 014D4 80A6C724 00AA2821 */ addu $a1, $a1, $t2 -/* 014D8 80A6C728 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002 -/* 014DC 80A6C72C 44070000 */ mfc1 $a3, $f0 -/* 014E0 80A6C730 AFAB0014 */ sw $t3, 0x0014($sp) -/* 014E4 80A6C734 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 014E8 80A6C738 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 014EC 80A6C73C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 014F0 80A6C740 8FA60030 */ lw $a2, 0x0030($sp) -/* 014F4 80A6C744 0C029468 */ jal SkelAnime_ChangeAnim - -/* 014F8 80A6C748 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 014FC 80A6C74C 8FBF002C */ lw $ra, 0x002C($sp) -/* 01500 80A6C750 8FB00028 */ lw $s0, 0x0028($sp) -/* 01504 80A6C754 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01508 80A6C758 03E00008 */ jr $ra -/* 0150C 80A6C75C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s deleted file mode 100644 index eaee0a2c9c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s +++ /dev/null @@ -1,115 +0,0 @@ -.late_rodata -glabel D_80A6D5DC - .float 0.4 - -glabel D_80A6D5E0 - .float 0.8 - -.text -glabel func_80A6C760 -/* 01510 80A6C760 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 01514 80A6C764 AFBF002C */ sw $ra, 0x002C($sp) -/* 01518 80A6C768 AFB00028 */ sw $s0, 0x0028($sp) -/* 0151C 80A6C76C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01520 80A6C770 0C29AF5F */ jal func_80A6BD7C -/* 01524 80A6C774 AFA50044 */ sw $a1, 0x0044($sp) -/* 01528 80A6C778 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 0152C 80A6C77C 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 01530 80A6C780 AFA40030 */ sw $a0, 0x0030($sp) -/* 01534 80A6C784 50400052 */ beql $v0, $zero, .L80A6C8D0 -/* 01538 80A6C788 8FBF002C */ lw $ra, 0x002C($sp) -/* 0153C 80A6C78C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 01540 80A6C790 00000000 */ nop -/* 01544 80A6C794 3C0180A7 */ lui $at, %hi(D_80A6D5DC) ## $at = 80A70000 -/* 01548 80A6C798 C424D5DC */ lwc1 $f4, %lo(D_80A6D5DC)($at) -/* 0154C 80A6C79C 3C0180A7 */ lui $at, %hi(D_80A6D5E0) ## $at = 80A70000 -/* 01550 80A6C7A0 4604003C */ c.lt.s $f0, $f4 -/* 01554 80A6C7A4 00000000 */ nop -/* 01558 80A6C7A8 45000003 */ bc1f .L80A6C7B8 -/* 0155C 80A6C7AC 00000000 */ nop -/* 01560 80A6C7B0 10000024 */ beq $zero, $zero, .L80A6C844 -/* 01564 80A6C7B4 AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -.L80A6C7B8: -/* 01568 80A6C7B8 C426D5E0 */ lwc1 $f6, %lo(D_80A6D5E0)($at) -/* 0156C 80A6C7BC 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01570 80A6C7C0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01574 80A6C7C4 4606003C */ c.lt.s $f0, $f6 -/* 01578 80A6C7C8 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003 -/* 0157C 80A6C7CC 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805 -/* 01580 80A6C7D0 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 01584 80A6C7D4 45000012 */ bc1f .L80A6C820 -/* 01588 80A6C7D8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 0158C 80A6C7DC 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4 -/* 01590 80A6C7E0 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01594 80A6C7E4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 01598 80A6C7E8 3C198013 */ lui $t9, %hi(D_801333E8) -/* 0159C 80A6C7EC 35F80020 */ ori $t8, $t7, 0x0020 ## $t8 = 00000020 -/* 015A0 80A6C7F0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 015A4 80A6C7F4 AE0E0150 */ sw $t6, 0x0150($s0) ## 00000150 -/* 015A8 80A6C7F8 A61801E4 */ sh $t8, 0x01E4($s0) ## 000001E4 -/* 015AC 80A6C7FC 273933E8 */ addiu $t9, %lo(D_801333E8) -/* 015B0 80A6C800 AFB90014 */ sw $t9, 0x0014($sp) -/* 015B4 80A6C804 AFA70010 */ sw $a3, 0x0010($sp) -/* 015B8 80A6C808 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816 -/* 015BC 80A6C80C 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 015C0 80A6C810 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 015C4 80A6C814 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 015C8 80A6C818 1000000A */ beq $zero, $zero, .L80A6C844 -/* 015CC 80A6C81C 00000000 */ nop -.L80A6C820: -/* 015D0 80A6C820 960901E4 */ lhu $t1, 0x01E4($s0) ## 000001E4 -/* 015D4 80A6C824 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 015D8 80A6C828 AE080150 */ sw $t0, 0x0150($s0) ## 00000150 -/* 015DC 80A6C82C 352A0020 */ ori $t2, $t1, 0x0020 ## $t2 = 00000020 -/* 015E0 80A6C830 A60A01E4 */ sh $t2, 0x01E4($s0) ## 000001E4 -/* 015E4 80A6C834 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 015E8 80A6C838 AFAB0014 */ sw $t3, 0x0014($sp) -/* 015EC 80A6C83C 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 015F0 80A6C840 AFA70010 */ sw $a3, 0x0010($sp) -.L80A6C844: -/* 015F4 80A6C844 0C29ACC3 */ jal func_80A6B30C -/* 015F8 80A6C848 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 015FC 80A6C84C E7A00034 */ swc1 $f0, 0x0034($sp) -/* 01600 80A6C850 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150 -/* 01604 80A6C854 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000 -/* 01608 80A6C858 000C6880 */ sll $t5, $t4, 2 -/* 0160C 80A6C85C 008D2021 */ addu $a0, $a0, $t5 -/* 01610 80A6C860 0C028800 */ jal SkelAnime_GetFrameCount - -/* 01614 80A6C864 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0) -/* 01618 80A6C868 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00 -/* 0161C 80A6C86C 8E0E0150 */ lw $t6, 0x0150($s0) ## 00000150 -/* 01620 80A6C870 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01624 80A6C874 468042A0 */ cvt.s.w $f10, $f8 -/* 01628 80A6C878 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000 -/* 0162C 80A6C87C 000E7880 */ sll $t7, $t6, 2 -/* 01630 80A6C880 00AF2821 */ addu $a1, $a1, $t7 -/* 01634 80A6C884 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 01638 80A6C888 44070000 */ mfc1 $a3, $f0 -/* 0163C 80A6C88C AFB80014 */ sw $t8, 0x0014($sp) -/* 01640 80A6C890 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1) -/* 01644 80A6C894 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 01648 80A6C898 8FA40030 */ lw $a0, 0x0030($sp) -/* 0164C 80A6C89C 8FA60034 */ lw $a2, 0x0034($sp) -/* 01650 80A6C8A0 0C029468 */ jal SkelAnime_ChangeAnim - -/* 01654 80A6C8A4 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 01658 80A6C8A8 961901E4 */ lhu $t9, 0x01E4($s0) ## 000001E4 -/* 0165C 80A6C8AC 3329FFFE */ andi $t1, $t9, 0xFFFE ## $t1 = 00000000 -/* 01660 80A6C8B0 312BFFFD */ andi $t3, $t1, 0xFFFD ## $t3 = 00000000 -/* 01664 80A6C8B4 A60901E4 */ sh $t1, 0x01E4($s0) ## 000001E4 -/* 01668 80A6C8B8 316DFFF7 */ andi $t5, $t3, 0xFFF7 ## $t5 = 00000000 -/* 0166C 80A6C8BC A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4 -/* 01670 80A6C8C0 A60D01E4 */ sh $t5, 0x01E4($s0) ## 000001E4 -/* 01674 80A6C8C4 31AEFFEF */ andi $t6, $t5, 0xFFEF ## $t6 = 00000000 -/* 01678 80A6C8C8 A60E01E4 */ sh $t6, 0x01E4($s0) ## 000001E4 -/* 0167C 80A6C8CC 8FBF002C */ lw $ra, 0x002C($sp) -.L80A6C8D0: -/* 01680 80A6C8D0 8FB00028 */ lw $s0, 0x0028($sp) -/* 01684 80A6C8D4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 01688 80A6C8D8 03E00008 */ jr $ra -/* 0168C 80A6C8DC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s deleted file mode 100644 index 97315153be..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s +++ /dev/null @@ -1,58 +0,0 @@ -.late_rodata -glabel D_80A6D5E4 - .word 0x4622F983 - -.text -glabel func_80A6C8E0 -/* 01690 80A6C8E0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 01694 80A6C8E4 AFB00018 */ sw $s0, 0x0018($sp) -/* 01698 80A6C8E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0169C 80A6C8EC AFBF001C */ sw $ra, 0x001C($sp) -/* 016A0 80A6C8F0 AFA50044 */ sw $a1, 0x0044($sp) -/* 016A4 80A6C8F4 0C01DE1C */ jal Math_Sins - ## sins? -/* 016A8 80A6C8F8 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6 -/* 016AC 80A6C8FC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 016B0 80A6C900 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 016B4 80A6C904 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 016B8 80A6C908 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 016BC 80A6C90C 46040182 */ mul.s $f6, $f0, $f4 -/* 016C0 80A6C910 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00 -/* 016C4 80A6C914 46083280 */ add.s $f10, $f6, $f8 -/* 016C8 80A6C918 E7AA0028 */ swc1 $f10, 0x0028($sp) -/* 016CC 80A6C91C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 016D0 80A6C920 46128100 */ add.s $f4, $f16, $f18 -/* 016D4 80A6C924 E7A4002C */ swc1 $f4, 0x002C($sp) -/* 016D8 80A6C928 0C01DE0D */ jal Math_Coss - ## coss? -/* 016DC 80A6C92C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 016E0 80A6C930 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 016E4 80A6C934 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00 -/* 016E8 80A6C938 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 016EC 80A6C93C 8FA40044 */ lw $a0, 0x0044($sp) -/* 016F0 80A6C940 46060202 */ mul.s $f8, $f0, $f6 -/* 016F4 80A6C944 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF8 -/* 016F8 80A6C948 27A60024 */ addiu $a2, $sp, 0x0024 ## $a2 = FFFFFFE4 -/* 016FC 80A6C94C 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFFE8 -/* 01700 80A6C950 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0 -/* 01704 80A6C954 460A4400 */ add.s $f16, $f8, $f10 -/* 01708 80A6C958 0C00F250 */ jal func_8003C940 -/* 0170C 80A6C95C E7B00030 */ swc1 $f16, 0x0030($sp) -/* 01710 80A6C960 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 01714 80A6C964 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 01718 80A6C968 44817000 */ mtc1 $at, $f14 ## $f14 = 30.00 -/* 0171C 80A6C96C E6000220 */ swc1 $f0, 0x0220($s0) ## 00000220 -/* 01720 80A6C970 0C03F494 */ jal Math_atan2f -/* 01724 80A6C974 46009301 */ sub.s $f12, $f18, $f0 -/* 01728 80A6C978 3C0180A7 */ lui $at, %hi(D_80A6D5E4) ## $at = 80A70000 -/* 0172C 80A6C97C C424D5E4 */ lwc1 $f4, %lo(D_80A6D5E4)($at) -/* 01730 80A6C980 46040182 */ mul.s $f6, $f0, $f4 -/* 01734 80A6C984 4600320D */ trunc.w.s $f8, $f6 -/* 01738 80A6C988 440F4000 */ mfc1 $t7, $f8 -/* 0173C 80A6C98C 00000000 */ nop -/* 01740 80A6C990 A60F00B4 */ sh $t7, 0x00B4($s0) ## 000000B4 -/* 01744 80A6C994 8FBF001C */ lw $ra, 0x001C($sp) -/* 01748 80A6C998 8FB00018 */ lw $s0, 0x0018($sp) -/* 0174C 80A6C99C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 01750 80A6C9A0 03E00008 */ jr $ra -/* 01754 80A6C9A4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s deleted file mode 100644 index e02fb9ba97..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s +++ /dev/null @@ -1,103 +0,0 @@ -glabel func_80A6CAFC -/* 018AC 80A6CAFC 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 018B0 80A6CB00 AFBF002C */ sw $ra, 0x002C($sp) -/* 018B4 80A6CB04 AFB50028 */ sw $s5, 0x0028($sp) -/* 018B8 80A6CB08 AFB40024 */ sw $s4, 0x0024($sp) -/* 018BC 80A6CB0C AFB30020 */ sw $s3, 0x0020($sp) -/* 018C0 80A6CB10 AFB2001C */ sw $s2, 0x001C($sp) -/* 018C4 80A6CB14 AFB10018 */ sw $s1, 0x0018($sp) -/* 018C8 80A6CB18 AFB00014 */ sw $s0, 0x0014($sp) -/* 018CC 80A6CB1C AFA5005C */ sw $a1, 0x005C($sp) -/* 018D0 80A6CB20 8C8E028C */ lw $t6, 0x028C($a0) ## 0000028C -/* 018D4 80A6CB24 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 018D8 80A6CB28 00C09825 */ or $s3, $a2, $zero ## $s3 = 00000000 -/* 018DC 80A6CB2C 19C00047 */ blez $t6, .L80A6CC4C -/* 018E0 80A6CB30 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 018E4 80A6CB34 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 018E8 80A6CB38 27B50040 */ addiu $s5, $sp, 0x0040 ## $s5 = FFFFFFE8 -/* 018EC 80A6CB3C 27B4004C */ addiu $s4, $sp, 0x004C ## $s4 = FFFFFFF4 -/* 018F0 80A6CB40 8E2F0290 */ lw $t7, 0x0290($s1) ## 00000290 -.L80A6CB44: -/* 018F4 80A6CB44 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 018F8 80A6CB48 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF4 -/* 018FC 80A6CB4C 01F0C021 */ addu $t8, $t7, $s0 -/* 01900 80A6CB50 87190028 */ lh $t9, 0x0028($t8) ## 00000028 -/* 01904 80A6CB54 02A03825 */ or $a3, $s5, $zero ## $a3 = FFFFFFE8 -/* 01908 80A6CB58 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 0190C 80A6CB5C 00000000 */ nop -/* 01910 80A6CB60 468021A0 */ cvt.s.w $f6, $f4 -/* 01914 80A6CB64 E7A6004C */ swc1 $f6, 0x004C($sp) -/* 01918 80A6CB68 8E280290 */ lw $t0, 0x0290($s1) ## 00000290 -/* 0191C 80A6CB6C 01104821 */ addu $t1, $t0, $s0 -/* 01920 80A6CB70 852A002A */ lh $t2, 0x002A($t1) ## 0000002A -/* 01924 80A6CB74 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 01928 80A6CB78 00000000 */ nop -/* 0192C 80A6CB7C 468042A0 */ cvt.s.w $f10, $f8 -/* 01930 80A6CB80 E7AA0050 */ swc1 $f10, 0x0050($sp) -/* 01934 80A6CB84 8E2B0290 */ lw $t3, 0x0290($s1) ## 00000290 -/* 01938 80A6CB88 01706021 */ addu $t4, $t3, $s0 -/* 0193C 80A6CB8C 858D002C */ lh $t5, 0x002C($t4) ## 0000002C -/* 01940 80A6CB90 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00 -/* 01944 80A6CB94 00000000 */ nop -/* 01948 80A6CB98 468084A0 */ cvt.s.w $f18, $f16 -/* 0194C 80A6CB9C E7B20054 */ swc1 $f18, 0x0054($sp) -/* 01950 80A6CBA0 8E2E0290 */ lw $t6, 0x0290($s1) ## 00000290 -/* 01954 80A6CBA4 01D07821 */ addu $t7, $t6, $s0 -/* 01958 80A6CBA8 0C029902 */ jal func_800A6408 -/* 0195C 80A6CBAC 91E5003C */ lbu $a1, 0x003C($t7) ## 0000003C -/* 01960 80A6CBB0 C7A40040 */ lwc1 $f4, 0x0040($sp) -/* 01964 80A6CBB4 8E280290 */ lw $t0, 0x0290($s1) ## 00000290 -/* 01968 80A6CBB8 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 0196C 80A6CBBC 4600218D */ trunc.w.s $f6, $f4 -/* 01970 80A6CBC0 01104821 */ addu $t1, $t0, $s0 -/* 01974 80A6CBC4 44193000 */ mfc1 $t9, $f6 -/* 01978 80A6CBC8 00000000 */ nop -/* 0197C 80A6CBCC A5390030 */ sh $t9, 0x0030($t1) ## 00000030 -/* 01980 80A6CBD0 C7A80044 */ lwc1 $f8, 0x0044($sp) -/* 01984 80A6CBD4 8E2C0290 */ lw $t4, 0x0290($s1) ## 00000290 -/* 01988 80A6CBD8 4600428D */ trunc.w.s $f10, $f8 -/* 0198C 80A6CBDC 01906821 */ addu $t5, $t4, $s0 -/* 01990 80A6CBE0 440B5000 */ mfc1 $t3, $f10 -/* 01994 80A6CBE4 00000000 */ nop -/* 01998 80A6CBE8 A5AB0032 */ sh $t3, 0x0032($t5) ## 00000032 -/* 0199C 80A6CBEC C7B00048 */ lwc1 $f16, 0x0048($sp) -/* 019A0 80A6CBF0 8E380290 */ lw $t8, 0x0290($s1) ## 00000290 -/* 019A4 80A6CBF4 4600848D */ trunc.w.s $f18, $f16 -/* 019A8 80A6CBF8 03104021 */ addu $t0, $t8, $s0 -/* 019AC 80A6CBFC 440F9000 */ mfc1 $t7, $f18 -/* 019B0 80A6CC00 00000000 */ nop -/* 019B4 80A6CC04 A50F0034 */ sh $t7, 0x0034($t0) ## 00000034 -/* 019B8 80A6CC08 8E390290 */ lw $t9, 0x0290($s1) ## 00000290 -/* 019BC 80A6CC0C 03301021 */ addu $v0, $t9, $s0 -/* 019C0 80A6CC10 8449002E */ lh $t1, 0x002E($v0) ## 0000002E -/* 019C4 80A6CC14 C4440038 */ lwc1 $f4, 0x0038($v0) ## 00000038 -/* 019C8 80A6CC18 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040 -/* 019CC 80A6CC1C 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00 -/* 019D0 80A6CC20 00000000 */ nop -/* 019D4 80A6CC24 46803220 */ cvt.s.w $f8, $f6 -/* 019D8 80A6CC28 46082282 */ mul.s $f10, $f4, $f8 -/* 019DC 80A6CC2C 4600540D */ trunc.w.s $f16, $f10 -/* 019E0 80A6CC30 440C8000 */ mfc1 $t4, $f16 -/* 019E4 80A6CC34 00000000 */ nop -/* 019E8 80A6CC38 A44C0036 */ sh $t4, 0x0036($v0) ## 00000036 -/* 019EC 80A6CC3C 8E2B028C */ lw $t3, 0x028C($s1) ## 0000028C -/* 019F0 80A6CC40 024B082A */ slt $at, $s2, $t3 -/* 019F4 80A6CC44 5420FFBF */ bnel $at, $zero, .L80A6CB44 -/* 019F8 80A6CC48 8E2F0290 */ lw $t7, 0x0290($s1) ## 00000290 -.L80A6CC4C: -/* 019FC 80A6CC4C 8FA4005C */ lw $a0, 0x005C($sp) -/* 01A00 80A6CC50 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 01A04 80A6CC54 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 01A08 80A6CC58 26260274 */ addiu $a2, $s1, 0x0274 ## $a2 = 00000274 -/* 01A0C 80A6CC5C 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 01A10 80A6CC60 00812821 */ addu $a1, $a0, $at -/* 01A14 80A6CC64 8FBF002C */ lw $ra, 0x002C($sp) -/* 01A18 80A6CC68 8FB00014 */ lw $s0, 0x0014($sp) -/* 01A1C 80A6CC6C 8FB10018 */ lw $s1, 0x0018($sp) -/* 01A20 80A6CC70 8FB2001C */ lw $s2, 0x001C($sp) -/* 01A24 80A6CC74 8FB30020 */ lw $s3, 0x0020($sp) -/* 01A28 80A6CC78 8FB40024 */ lw $s4, 0x0024($sp) -/* 01A2C 80A6CC7C 8FB50028 */ lw $s5, 0x0028($sp) -/* 01A30 80A6CC80 03E00008 */ jr $ra -/* 01A34 80A6CC84 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s deleted file mode 100644 index b5c38cc4bb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s +++ /dev/null @@ -1,131 +0,0 @@ -glabel func_80A6CC88 -/* 01A38 80A6CC88 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 01A3C 80A6CC8C AFB00020 */ sw $s0, 0x0020($sp) -/* 01A40 80A6CC90 AFBF0024 */ sw $ra, 0x0024($sp) -/* 01A44 80A6CC94 AFA40040 */ sw $a0, 0x0040($sp) -/* 01A48 80A6CC98 AFA60048 */ sw $a2, 0x0048($sp) -/* 01A4C 80A6CC9C C4A001B8 */ lwc1 $f0, 0x01B8($a1) ## 000001B8 -/* 01A50 80A6CCA0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 01A54 80A6CCA4 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000 -/* 01A58 80A6CCA8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 01A5C 80A6CCAC 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60 -/* 01A60 80A6CCB0 260601E8 */ addiu $a2, $s0, 0x01E8 ## $a2 = 000001E8 -/* 01A64 80A6CCB4 AFA60034 */ sw $a2, 0x0034($sp) -/* 01A68 80A6CCB8 00812021 */ addu $a0, $a0, $at -/* 01A6C 80A6CCBC 27A70038 */ addiu $a3, $sp, 0x0038 ## $a3 = FFFFFFF8 -/* 01A70 80A6CCC0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW -/* 01A74 80A6CCC4 E7A0003C */ swc1 $f0, 0x003C($sp) -/* 01A78 80A6CCC8 8FAE0034 */ lw $t6, 0x0034($sp) -/* 01A7C 80A6CCCC C7A0003C */ lwc1 $f0, 0x003C($sp) -/* 01A80 80A6CCD0 260501F4 */ addiu $a1, $s0, 0x01F4 ## $a1 = 000001F4 -/* 01A84 80A6CCD4 8DD80000 */ lw $t8, 0x0000($t6) ## 00000000 -/* 01A88 80A6CCD8 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 01A8C 80A6CCDC 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 01A90 80A6CCE0 ACB80000 */ sw $t8, 0x0000($a1) ## 000001F4 -/* 01A94 80A6CCE4 8DCF0004 */ lw $t7, 0x0004($t6) ## 00000004 -/* 01A98 80A6CCE8 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000 -/* 01A9C 80A6CCEC 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003 -/* 01AA0 80A6CCF0 ACAF0004 */ sw $t7, 0x0004($a1) ## 000001F8 -/* 01AA4 80A6CCF4 8DD80008 */ lw $t8, 0x0008($t6) ## 00000008 -/* 01AA8 80A6CCF8 ACB80008 */ sw $t8, 0x0008($a1) ## 000001FC -/* 01AAC 80A6CCFC C60401F8 */ lwc1 $f4, 0x01F8($s0) ## 000001F8 -/* 01AB0 80A6CD00 8E030150 */ lw $v1, 0x0150($s0) ## 00000150 -/* 01AB4 80A6CD04 46062200 */ add.s $f8, $f4, $f6 -/* 01AB8 80A6CD08 14600018 */ bne $v1, $zero, .L80A6CD6C -/* 01ABC 80A6CD0C E60801F8 */ swc1 $f8, 0x01F8($s0) ## 000001F8 -/* 01AC0 80A6CD10 44815000 */ mtc1 $at, $f10 ## $f10 = 28.00 -/* 01AC4 80A6CD14 00000000 */ nop -/* 01AC8 80A6CD18 4600503C */ c.lt.s $f10, $f0 -/* 01ACC 80A6CD1C 00000000 */ nop -/* 01AD0 80A6CD20 45000012 */ bc1f .L80A6CD6C -/* 01AD4 80A6CD24 00000000 */ nop -/* 01AD8 80A6CD28 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4 -/* 01ADC 80A6CD2C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01AE0 80A6CD30 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01AE4 80A6CD34 30590008 */ andi $t9, $v0, 0x0008 ## $t9 = 00000000 -/* 01AE8 80A6CD38 1720000C */ bne $t9, $zero, .L80A6CD6C -/* 01AEC 80A6CD3C 34480008 */ ori $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 01AF0 80A6CD40 A60801E4 */ sh $t0, 0x01E4($s0) ## 000001E4 -/* 01AF4 80A6CD44 3C098013 */ lui $t1, %hi(D_801333E8) -/* 01AF8 80A6CD48 252933E8 */ addiu $t1, %lo(D_801333E8) -/* 01AFC 80A6CD4C AFA90014 */ sw $t1, 0x0014($sp) -/* 01B00 80A6CD50 AFA70010 */ sw $a3, 0x0010($sp) -/* 01B04 80A6CD54 8FA50034 */ lw $a1, 0x0034($sp) -/* 01B08 80A6CD58 2404282C */ addiu $a0, $zero, 0x282C ## $a0 = 0000282C -/* 01B0C 80A6CD5C 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 01B10 80A6CD60 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01B14 80A6CD64 1000003D */ beq $zero, $zero, .L80A6CE5C -/* 01B18 80A6CD68 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6CD6C: -/* 01B1C 80A6CD6C 14830018 */ bne $a0, $v1, .L80A6CDD0 -/* 01B20 80A6CD70 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 01B24 80A6CD74 44818000 */ mtc1 $at, $f16 ## $f16 = 25.00 -/* 01B28 80A6CD78 00000000 */ nop -/* 01B2C 80A6CD7C 4600803C */ c.lt.s $f16, $f0 -/* 01B30 80A6CD80 00000000 */ nop -/* 01B34 80A6CD84 45000012 */ bc1f .L80A6CDD0 -/* 01B38 80A6CD88 00000000 */ nop -/* 01B3C 80A6CD8C 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4 -/* 01B40 80A6CD90 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01B44 80A6CD94 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01B48 80A6CD98 304A0010 */ andi $t2, $v0, 0x0010 ## $t2 = 00000000 -/* 01B4C 80A6CD9C 1540000C */ bne $t2, $zero, .L80A6CDD0 -/* 01B50 80A6CDA0 344B0010 */ ori $t3, $v0, 0x0010 ## $t3 = 00000010 -/* 01B54 80A6CDA4 A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4 -/* 01B58 80A6CDA8 3C0C8013 */ lui $t4, %hi(D_801333E8) -/* 01B5C 80A6CDAC 258C33E8 */ addiu $t4, %lo(D_801333E8) -/* 01B60 80A6CDB0 AFAC0014 */ sw $t4, 0x0014($sp) -/* 01B64 80A6CDB4 AFA70010 */ sw $a3, 0x0010($sp) -/* 01B68 80A6CDB8 8FA50034 */ lw $a1, 0x0034($sp) -/* 01B6C 80A6CDBC 2404282B */ addiu $a0, $zero, 0x282B ## $a0 = 0000282B -/* 01B70 80A6CDC0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 01B74 80A6CDC4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01B78 80A6CDC8 10000024 */ beq $zero, $zero, .L80A6CE5C -/* 01B7C 80A6CDCC 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6CDD0: -/* 01B80 80A6CDD0 14830011 */ bne $a0, $v1, .L80A6CE18 -/* 01B84 80A6CDD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01B88 80A6CDD8 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4 -/* 01B8C 80A6CDDC 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01B90 80A6CDE0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01B94 80A6CDE4 304D0020 */ andi $t5, $v0, 0x0020 ## $t5 = 00000000 -/* 01B98 80A6CDE8 11A0000B */ beq $t5, $zero, .L80A6CE18 -/* 01B9C 80A6CDEC 304EFFDF */ andi $t6, $v0, 0xFFDF ## $t6 = 00000000 -/* 01BA0 80A6CDF0 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 01BA4 80A6CDF4 A60E01E4 */ sh $t6, 0x01E4($s0) ## 000001E4 -/* 01BA8 80A6CDF8 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 01BAC 80A6CDFC AFAF0014 */ sw $t7, 0x0014($sp) -/* 01BB0 80A6CE00 AFA70010 */ sw $a3, 0x0010($sp) -/* 01BB4 80A6CE04 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805 -/* 01BB8 80A6CE08 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 01BBC 80A6CE0C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01BC0 80A6CE10 10000012 */ beq $zero, $zero, .L80A6CE5C -/* 01BC4 80A6CE14 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6CE18: -/* 01BC8 80A6CE18 54610010 */ bnel $v1, $at, .L80A6CE5C -/* 01BCC 80A6CE1C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 01BD0 80A6CE20 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4 -/* 01BD4 80A6CE24 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01BD8 80A6CE28 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01BDC 80A6CE2C 30580020 */ andi $t8, $v0, 0x0020 ## $t8 = 00000000 -/* 01BE0 80A6CE30 13000009 */ beq $t8, $zero, .L80A6CE58 -/* 01BE4 80A6CE34 3059FFDF */ andi $t9, $v0, 0xFFDF ## $t9 = 00000000 -/* 01BE8 80A6CE38 3C088013 */ lui $t0, %hi(D_801333E8) -/* 01BEC 80A6CE3C A61901E4 */ sh $t9, 0x01E4($s0) ## 000001E4 -/* 01BF0 80A6CE40 250833E8 */ addiu $t0, %lo(D_801333E8) -/* 01BF4 80A6CE44 AFA80014 */ sw $t0, 0x0014($sp) -/* 01BF8 80A6CE48 AFA70010 */ sw $a3, 0x0010($sp) -/* 01BFC 80A6CE4C 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816 -/* 01C00 80A6CE50 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 01C04 80A6CE54 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L80A6CE58: -/* 01C08 80A6CE58 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A6CE5C: -/* 01C0C 80A6CE5C 8FB00020 */ lw $s0, 0x0020($sp) -/* 01C10 80A6CE60 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 01C14 80A6CE64 03E00008 */ jr $ra -/* 01C18 80A6CE68 00000000 */ nop diff --git a/data/overlays/actors/z_en_horse_normal.data.s b/data/overlays/actors/z_en_horse_normal.data.s deleted file mode 100644 index e64cbf9290..0000000000 --- a/data/overlays/actors/z_en_horse_normal.data.s +++ /dev/null @@ -1,55 +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 En_Horse_Normal_InitVars - .word 0x003C0100, 0x00000000, 0x00270000, 0x00000328 -.word EnHorseNormal_Init -.word EnHorseNormal_Destroy -.word EnHorseNormal_Update -.word EnHorseNormal_Draw -glabel D_80A6D370 - .word 0x06004580, 0x06004C20, 0x060035D4, 0x06002458, 0x060054BC, 0x06001A1C, 0x06000608, 0x06000C20, 0x060013A8 -glabel D_80A6D394 - .word 0x0A000039, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00280064, 0x00000000, 0x00000000 -glabel D_80A6D3C0 - .word 0x0A000039, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x003C0064, 0x00000000, 0x00000000 -glabel D_80A6D3EC - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0B000000, 0x00000000, 0x00140064 -glabel D_80A6D410 - .word 0x0A000039, 0x10000000, 0x00000001 -.word D_80A6D3EC -glabel D_80A6D420 - .word 0x0A000023, 0x0064FE00 -glabel D_80A6D428 - .word 0x04220001, 0x01800700, 0x06750027, 0xFE830600, 0x06460001, 0xFBE80600, 0x041D0001, 0xF9AC0600, 0xFC0C0001, 0xF99F0700, 0xF9890001, 0xFC6A0600, 0xF9CE0001, 0xFF7A0600, 0xFC3F0001, 0x01930700, 0x00000008 -.word D_80A6D428 -glabel D_80A6D470 - .word 0x00580000, 0x081E0A00, 0x09B20178, 0x12170700, 0x08B4FFE4, 0x19CD0C00, 0x028EFF9C, 0x22A00700, 0xFED7FE0C, 0x29AB0C00, 0xEB49FE5C, 0x29900A00, 0xE5E2FE0C, 0x1E500A00, 0xEB740064, 0x15230700, 0xF20BFEF3, 0x0F350A00, 0x00000009 -.word D_80A6D470 -glabel D_80A6D4C0 - .word 0x00000000, 0x00000010 -glabel D_80A6D4C8 - .word 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3FC00000, 0x3FC00000, 0x3FC00000, 0x3FC00000, 0x3F800000 -glabel D_80A6D4EC - .word 0xB0F804B0, 0x30FC012C -glabel D_80A6D4F4 - .word 0x00000000, 0x00000001, 0x00000004, 0x00000005, 0x00000006, 0x00000002, 0x00000003 -glabel D_80A6D510 - .word 0x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000001, 0x00000001, 0x00000003, 0x00000003 -glabel D_80A6D534 - .word func_80A6BC00 -.word func_80A6BE6C -.word func_80A6C570 -.word func_80A6C760 -.word func_80A6B9D0 -glabel D_80A6D548 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_horse_normal.reloc.s b/data/overlays/actors/z_en_horse_normal.reloc.s deleted file mode 100644 index 15e44ed031..0000000000 --- a/data/overlays/actors/z_en_horse_normal.reloc.s +++ /dev/null @@ -1,13 +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 .rodata - -.balign 16 - -glabel D_80A6D600 - .incbin "baserom/ovl_En_Horse_Normal", 0x23B0, 0x000002D0 diff --git a/include/functions.h b/include/functions.h index f4012dc824..8aac5dc8df 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1379,6 +1379,8 @@ void SkelAnime_Free(SkelAnime* skelAnime, GlobalContext* globalCtx); // ? func_800A5F60(?); // ? func_800A60D8(?); void func_800A6330(Actor* this, GlobalContext* globalCtx, PSkinAwb*, void* callback, s32); +void func_800A63CC(Actor* this, GlobalContext* globalCtx, PSkinAwb*, s32, s32, s32, s32, s32); +void func_800A6408(ColliderJntSphItem* collider, u8 joint, Vec3f*, Vec3f*); // ? func_800A6460(?); void func_800A663C(GlobalContext* globalCtx, PSkinAwb*, SkeletonHeader*, AnimationHeader*); void func_800A6888(GlobalContext*, PSkinAwb*); diff --git a/include/variables.h b/include/variables.h index 7c13c64746..79703e3a74 100644 --- a/include/variables.h +++ b/include/variables.h @@ -55,7 +55,7 @@ extern Gfx D_04042440[]; //extern ? D_04048160; extern u32 D_04048180; extern Gfx D_04049210[]; -extern u32 D_04049AD0; +extern Gfx D_04049AD0[]; //extern ? D_0404D1C0; extern Gfx D_0404D450[]; //extern ? D_0500CA70; diff --git a/spec b/spec index 9f197ebd2a..a6580e02e1 100644 --- a/spec +++ b/spec @@ -2537,8 +2537,7 @@ endseg beginseg name "ovl_En_Horse_Normal" include "build/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.o" - include "build/data/overlays/actors/z_en_horse_normal.data.o" - include "build/data/overlays/actors/z_en_horse_normal.reloc.o" + include "build/src/overlays/actors/ovl_En_Horse_Normal/ovl_En_Horse_Normal_reloc.o" endseg beginseg diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 4c90d800a6..129463573b 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -67,7 +67,7 @@ void ActorShadow_DrawFunc_WhiteCircle(Actor* actor, Lights* lights, GlobalContex } void ActorShadow_DrawFunc_Squiggly(Actor* actor, Lights* lights, GlobalContext* globalCtx) { - func_8002B200(actor, lights, globalCtx, &D_04049AD0, NULL); + func_8002B200(actor, lights, globalCtx, D_04049AD0, NULL); } void func_8002B66C(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6) { diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c index 62a3996caa..e7dc6549f0 100644 --- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c +++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c @@ -1,15 +1,44 @@ +/* + * File: z_en_horse_normal.c + * Overlay: ovl_En_Horse_Normal + * Description: Non-rideable horses (Lon Lon Ranch and Stable) + */ + #include "z_en_horse_normal.h" #define FLAGS 0x00000000 #define THIS ((EnHorseNormal*)thisx) +typedef struct { + Vec3s pos; + u8 unk_06; // this may be a s16 if the always-0 following byte is actually not padding +} EnHorseNormalUnkStruct1; + +typedef struct { + s32 len; + EnHorseNormalUnkStruct1* items; +} EnHorseNormalUnkStruct2; + +typedef enum { + /* 0x00 */ HORSE_CYCLE_ANIMATIONS, + /* 0x01 */ HORSE_WANDER, + /* 0x02 */ HORSE_WAIT, + /* 0x03 */ HORSE_WAIT_CLONE, + /* 0x04 */ HORSE_FOLLOW_PATH +} EnHorseNormalAction; + void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx); void EnHorseNormal_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHorseNormal_Update(Actor* thisx, GlobalContext* globalCtx); void EnHorseNormal_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx); +void func_80A6BC48(EnHorseNormal* this); +void func_80A6BCEC(EnHorseNormal* this); +void func_80A6C4CC(EnHorseNormal* this); +void func_80A6C6B0(EnHorseNormal* this); + const ActorInit En_Horse_Normal_InitVars = { ACTOR_EN_HORSE_NORMAL, ACTORTYPE_BG, @@ -21,45 +50,633 @@ const ActorInit En_Horse_Normal_InitVars = { (ActorFunc)EnHorseNormal_Update, (ActorFunc)EnHorseNormal_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s") +extern AnimationHeader D_06000608; +extern AnimationHeader D_06000C20; +extern AnimationHeader D_060013A8; +extern AnimationHeader D_06001A1C; +extern AnimationHeader D_06002458; +extern AnimationHeader D_060035D4; +extern AnimationHeader D_06004580; +extern AnimationHeader D_06004C20; +extern AnimationHeader D_060054BC; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s") +extern SkeletonHeader D_06009FAC; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s") +static AnimationHeader* sAnimations[] = { + &D_06004580, &D_06004C20, &D_060035D4, &D_06002458, &D_060054BC, &D_06001A1C, &D_06000608, &D_06000C20, &D_060013A8, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s") +static ColliderCylinderInit sCylinderInit1 = { + { COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 40, 100, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s") +static ColliderCylinderInit sCylinderInit2 = { + { COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 60, 100, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s") +static ColliderJntSphItemInit sJntSphItemsInit[] = { + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 11, { { 0, 0, 0 }, 20 }, 100 }, + }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s") +static ColliderJntSphInit sJntSphInit = { + { COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_JNTSPH }, + ARRAY_COUNT(sJntSphItemsInit), + sJntSphItemsInit, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s") +static CollisionCheckInfoInit sColChkInfoInit = { 10, 35, 100, 0xFE }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s") +// Unused +static EnHorseNormalUnkStruct1 D_80A6D428[] = { + { { 1058, 1, 384 }, 7 }, { { 1653, 39, -381 }, 6 }, { { 1606, 1, -1048 }, 6 }, { { 1053, 1, -1620 }, 6 }, + { { -1012, 1, -1633 }, 7 }, { { -1655, 1, -918 }, 6 }, { { -1586, 1, -134 }, 6 }, { { -961, 1, 403 }, 7 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s") +// Unused +static EnHorseNormalUnkStruct2 D_80A6D468 = { ARRAY_COUNT(D_80A6D428), D_80A6D428 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s") +// Unused +static EnHorseNormalUnkStruct1 D_80A6D470[] = { + { { 88, 0, 2078 }, 10 }, { { 2482, 376, 4631 }, 7 }, { { 2228, -28, 6605 }, 12 }, + { { 654, -100, 8864 }, 7 }, { { -297, -500, 10667 }, 12 }, { { -5303, -420, 10640 }, 10 }, + { { -6686, -500, 7760 }, 10 }, { { -5260, 100, 5411 }, 7 }, { { -3573, -269, 3893 }, 10 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s") +// Unused +static EnHorseNormalUnkStruct2 D_80A6D4B8 = { ARRAY_COUNT(D_80A6D470), D_80A6D470 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s") +void func_80A6B250(EnHorseNormal* this) { + static s32 D_80A6D4C0[] = { 0, 16 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s") + if (D_80A6D4C0[this->unk_200] < this->skin.skelAnime.animCurrentFrame && + ((this->unk_200 != 0) || !(D_80A6D4C0[1] < this->skin.skelAnime.animCurrentFrame))) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + this->unk_200++; + if (this->unk_200 >= ARRAY_COUNT(D_80A6D4C0)) { + this->unk_200 = 0; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s") +f32 func_80A6B30C(EnHorseNormal* this) { + static f32 D_80A6D4C8[] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.5f, 1.5f, 1.5f, 1.5f, 1.0f }; + f32 result; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s") + if (this->animationIdx == 4) { + result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 2.0f); + } else if (this->animationIdx == 5) { + result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 3.0f); + } else if (this->animationIdx == 6) { + result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 5.0f); + } else { + result = D_80A6D4C8[this->animationIdx]; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s") + return result; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s") +void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) { + EnHorseNormal* this = THIS; + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + Actor_SetScale(&this->actor, 0.01f); + this->actor.gravity = -3.5f; + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Squiggly, 20.0f); + this->actor.speedXZ = 0.0f; + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 70.0f; + this->action = HORSE_CYCLE_ANIMATIONS; + this->animationIdx = 0; + Collider_InitCylinder(globalCtx, &this->bodyCollider); + Collider_SetCylinder(globalCtx, &this->bodyCollider, &this->actor, &sCylinderInit1); + Collider_InitJntSph(globalCtx, &this->headCollider); + Collider_SetJntSph(globalCtx, &this->headCollider, &this->actor, &sJntSphInit, this->headColliderItems); + Collider_InitCylinder(globalCtx, &this->cloneCollider); + Collider_SetCylinder(globalCtx, &this->cloneCollider, &this->actor, &sCylinderInit2); + func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit); + if (globalCtx->sceneNum == SCENE_SPOT20) { + if (this->actor.posRot.rot.z == 0 || gSaveContext.nightFlag) { + Actor_Kill(&this->actor); + return; + } + if (LINK_IS_CHILD) { + if (Flags_GetEventChkInf(0x14)) { + if (this->actor.posRot.rot.z != 3) { + Actor_Kill(&this->actor); + return; + } + } else if (this->actor.posRot.rot.z != 1) { + Actor_Kill(&this->actor); + return; + } + } else if (Flags_GetEventChkInf(0x18) || (DREG(1) != 0)) { + if (this->actor.posRot.rot.z != 7) { + Actor_Kill(&this->actor); + return; + } + } else if (this->actor.posRot.rot.z != 5) { + Actor_Kill(&this->actor); + return; + } + this->actor.initPosRot.rot.z = this->actor.posRot.rot.z = this->actor.shape.rot.z = 0; + func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580); + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); + if ((this->actor.posRot.pos.x == -730.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -1100.0f) || + (this->actor.posRot.pos.x == 880.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -1170.0f)) { + func_80A6C6B0(this); + return; + } + } else if (globalCtx->sceneNum == SCENE_MALON_STABLE) { + if (!gSaveContext.nightFlag) { + Actor_Kill(&this->actor); + return; + } else { + func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580); + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); + func_80A6C6B0(this); + return; + } + } else if (globalCtx->sceneNum == SCENE_SPOT12) { + if (this->actor.posRot.pos.x == 3707.0f && this->actor.posRot.pos.y == 1413.0f && + this->actor.posRot.pos.z == -665.0f) { + func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580); + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); + func_80A6C4CC(this); + return; + } + func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580); + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); + } else { + func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580); + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); + } + if ((this->actor.params & 0xF0) == 0x10 && (this->actor.params & 0xF) != 0xF) { + func_80A6B91C(this, globalCtx); + } else { + func_80A6BC48(this); + } +} + +void EnHorseNormal_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnHorseNormal* this = THIS; + + func_800A6888(globalCtx, &this->skin); + Collider_DestroyCylinder(globalCtx, &this->bodyCollider); + Collider_DestroyCylinder(globalCtx, &this->cloneCollider); + Collider_DestroyJntSph(globalCtx, &this->headCollider); +} + +void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx) { + this->actor.flags |= 0x10; + this->action = HORSE_FOLLOW_PATH; + this->animationIdx = 6; + this->waypoint = 0; + this->actor.speedXZ = 7.0f; + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); +} + +void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) { + Path* path = &globalCtx->setupPathList[this->actor.params & 0xF]; + Vec3s* pointPos = SEGMENTED_TO_VIRTUAL(path->points); + f32 dx; + f32 dz; + s32 pad; + + pointPos += this->waypoint; + dx = pointPos->x - this->actor.posRot.pos.x; + dz = pointPos->z - this->actor.posRot.pos.z; + Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, Math_atan2f(dx, dz) * (0x8000 / M_PI), 0xA, 0x7D0, 1); + this->actor.shape.rot.y = this->actor.posRot.rot.y; + if (SQ(dx) + SQ(dz) < 600.0f) { + this->waypoint++; + if (this->waypoint >= path->count) { + this->waypoint = 0; + } + } + this->skin.skelAnime.animPlaybackSpeed = func_80A6B30C(this); + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + func_80A6BCEC(this); + } +} + +void EnHorseNormal_NextAnimation(EnHorseNormal* this) { + this->action = HORSE_CYCLE_ANIMATIONS; + this->animationIdx++; + + if (this->animationIdx >= ARRAY_COUNT(sAnimations)) { + this->animationIdx = 0; + } + + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]); +} + +void EnHorseNormal_CycleAnimations(EnHorseNormal* this, GlobalContext* globalCtx) { + this->actor.speedXZ = 0.0f; + + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + EnHorseNormal_NextAnimation(this); + } +} + +void func_80A6BC48(EnHorseNormal* this) { + this->action = HORSE_WANDER; + this->animationIdx = 0; + this->unk_21C = 0; + this->unk_21E = 0; + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); +} + +void func_80A6BCEC(EnHorseNormal* this) { + if (this->animationIdx == 5) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (this->animationIdx == 6) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } +} + +void func_80A6BD7C(EnHorseNormal* this) { + f32 frame = this->skin.skelAnime.animCurrentFrame; + + if (this->animationIdx == 0 && frame > 28.0f && !(this->unk_1E4 & 1)) { + this->unk_1E4 |= 1; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_SANDDUST, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } else if (this->animationIdx == 3 && frame > 25.0f && !(this->unk_1E4 & 2)) { + this->unk_1E4 |= 2; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_LAND2, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } +} + +void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) { + static s32 D_80A6D4F4[] = { 0, 1, 4, 5, 6, 2, 3 }; + static s32 D_80A6D510[] = { 0, 0, 2, 2, 1, 1, 1, 3, 3 }; + s32 phi_t0 = this->animationIdx; + s32 pad; + + switch (D_80A6D510[this->animationIdx]) { + case 0: + func_80A6BD7C(this); + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + break; + case 1: + if (Math_Rand_ZeroOne() < 0.1f) { + this->unk_218 = 2.0f * Math_Rand_ZeroOne() - 1.0f; + } + this->actor.speedXZ += this->unk_218; + if (this->actor.speedXZ <= 0.0f) { + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + phi_t0 = 0; + } else if (this->actor.speedXZ < 3.0f) { + func_80A6B250(this); + phi_t0 = 4; + } else if (this->actor.speedXZ < 6.0f) { + phi_t0 = 5; + } else if (this->actor.speedXZ < 8.0f) { + phi_t0 = 6; + } else { + this->actor.speedXZ = 8.0f; + phi_t0 = 6; + } + if (Math_Rand_ZeroOne() < 0.1f || + (this->unk_21E == 0 && (this->actor.bgCheckFlags & 8 || this->bodyCollider.base.maskA & 2 || + this->headCollider.base.maskA & 2))) { + this->unk_21E += (Math_Rand_ZeroOne() * 30.0f) - 15.0f; + if (this->unk_21E > 50) { + this->unk_21E = 50; + } else if (this->unk_21E < -50) { + this->unk_21E = -50; + } + } + this->unk_21C += this->unk_21E; + if (this->unk_21C < -300) { + this->unk_21C = -300; + } else if (this->unk_21C > 300) { + this->unk_21C = 300; + } else if (Math_Rand_ZeroOne() < 0.25f && fabsf(this->unk_21C) < 100.0f) { + this->unk_21C = 0; + this->unk_21E = 0; + } + this->actor.posRot.rot.y += this->unk_21C; + this->actor.shape.rot.y = this->actor.posRot.rot.y; + break; + case 2: + case 3: + break; + } + + if (phi_t0 != this->animationIdx || SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + if (phi_t0 != this->animationIdx) { + this->animationIdx = phi_t0; + this->unk_1E4 &= ~1; + this->unk_1E4 &= ~2; + if (phi_t0 == 1) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (phi_t0 == 3) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + func_80A6BCEC(this); + } + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, -3.0f); + } else { + switch (D_80A6D510[this->animationIdx]) { + case 0: + if (Math_Rand_ZeroOne() < 0.25f) { + this->unk_218 = 1.0f; + phi_t0 = 4; + } else { + phi_t0 = D_80A6D4F4[(s32)(Math_Rand_ZeroOne() * 2)]; + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + } + break; + case 1: + case 2: + case 3: + break; + } + + this->unk_1E4 &= ~1; + this->unk_1E4 &= ~2; + if (phi_t0 == 1) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (phi_t0 == 3) { + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + func_80A6BCEC(this); + } + if (phi_t0 != this->animationIdx) { + this->animationIdx = phi_t0; + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, + -3.0f); + } else { + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + } + } + } +} + +void func_80A6C4CC(EnHorseNormal* this) { + this->action = HORSE_WAIT; + this->animationIdx = 0; + this->unk_21C = 0; + this->unk_21E = 0; + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); +} + +void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) { + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + f32 rand = Math_Rand_ZeroOne(); + + if (rand < 0.4f) { + this->animationIdx = 0; + } else if (rand < 0.8f) { + this->animationIdx = 1; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + this->animationIdx = 3; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + } +} + +void func_80A6C6B0(EnHorseNormal* this) { + this->action = HORSE_WAIT_CLONE; + this->animationIdx = 0; + this->unk_21C = 0; + this->unk_21E = 0; + this->actor.flags |= 0x30; + this->actor.speedXZ = 0.0f; + this->unk_218 = 0.0f; + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); +} + +void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) { + func_80A6BD7C(this); + + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + f32 rand = Math_Rand_ZeroOne(); + + if (rand < 0.4f) { + this->animationIdx = 0; + } else if (rand < 0.8f) { + this->animationIdx = 1; + this->unk_1E4 |= 0x20; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + this->animationIdx = 3; + this->unk_1E4 |= 0x20; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, + SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + + this->unk_1E4 &= ~1; + this->unk_1E4 &= ~2; + this->unk_1E4 &= ~8; + this->unk_1E4 &= ~0x10; + } +} + +void func_80A6C8E0(EnHorseNormal* this, GlobalContext* globalCtx) { + s32 pad; + CollisionPoly* sp38; + s32 pad2; + Vec3f sp28; + s32 sp24; + + sp28.x = (Math_Sins(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.x; + sp28.y = this->actor.posRot.pos.y + 60.0f; + sp28.z = (Math_Coss(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.z; + this->unk_220 = func_8003C940(&globalCtx->colCtx, &sp38, &sp24, &sp28); + this->actor.shape.rot.x = Math_atan2f(this->actor.posRot.pos.y - this->unk_220, 30.0f) * (0x8000 / M_PI); +} + +static EnHorseNormalActionFunc sActionFuncs[] = { + EnHorseNormal_CycleAnimations, EnHorseNormal_Wander, EnHorseNormal_Wait, + EnHorseNormal_WaitClone, EnHorseNormal_FollowPath, +}; + +void EnHorseNormal_Update(Actor* thisx, GlobalContext* globalCtx) { + EnHorseNormal* this = THIS; + s32 pad; + + sActionFuncs[this->action](this, globalCtx); + Actor_MoveForward(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 20.0f, 35.0f, 100.0f, 0x1D); + if (globalCtx->sceneNum == SCENE_SPOT20 && this->actor.posRot.pos.z < -2400.0f) { + this->actor.posRot.pos.z = -2400.0f; + } + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 70.0f; + this->unk_204 = this->actor.projectedPos; + this->unk_204.y += 120.0f; + Collider_CylinderUpdate(&this->actor, &this->bodyCollider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base); + if (this->actor.speedXZ == 0.0f) { + this->actor.colChkInfo.mass = 0xFF; + } else { + this->actor.colChkInfo.mass = 0xFE; + } +} + +void func_80A6CAFC(Actor* thisx, GlobalContext* globalCtx, ColliderJntSphItem* collider) { + Vec3f sp4C; + Vec3f sp40; + EnHorseNormal* this = THIS; + s32 i; + + for (i = 0; i < this->headCollider.count; i++) { + sp4C.x = this->headCollider.list[i].dim.modelSphere.center.x; + sp4C.y = this->headCollider.list[i].dim.modelSphere.center.y; + sp4C.z = this->headCollider.list[i].dim.modelSphere.center.z; + func_800A6408(collider, this->headCollider.list[i].dim.joint, &sp4C, &sp40); + this->headCollider.list[i].dim.worldSphere.center.x = sp40.x; + this->headCollider.list[i].dim.worldSphere.center.y = sp40.y; + this->headCollider.list[i].dim.worldSphere.center.z = sp40.z; + this->headCollider.list[i].dim.worldSphere.radius = + this->headCollider.list[i].dim.modelSphere.radius * this->headCollider.list[i].dim.scale; + } + + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base); +} + +void func_80A6CC88(GlobalContext* globalCtx, EnHorseNormal* this, Vec3f* arg2) { + f32 animCurrentFrame = this->skin.skelAnime.animCurrentFrame; + f32 wDest; + + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, arg2, &this->unk_1E8, &wDest); + this->unk_1F4 = this->unk_1E8; + this->unk_1F4.y += 120.0f; + + if (this->animationIdx == 0 && animCurrentFrame > 28.0f && !(this->unk_1E4 & 8)) { + this->unk_1E4 |= 8; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_SANDDUST, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (this->animationIdx == 3 && animCurrentFrame > 25.0f && !(this->unk_1E4 & 0x10)) { + this->unk_1E4 |= 0x10; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_LAND2, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (this->animationIdx == 3 && this->unk_1E4 & 0x20) { + this->unk_1E4 &= ~0x20; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_1F4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else if (this->animationIdx == 1 && this->unk_1E4 & 0x20) { + this->unk_1E4 &= ~0x20; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_1F4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } +} + +void EnHorseNormal_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnHorseNormal* this = THIS; + Mtx* mtx2; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2224); + + if (globalCtx->sceneNum != SCENE_SPOT20 || globalCtx->sceneNum != SCENE_MALON_STABLE) { + func_80A6C8E0(this, globalCtx); + } + func_80093D18(globalCtx->state.gfxCtx); + func_800A6330(&this->actor, globalCtx, &this->skin, func_80A6CAFC, 1); + + if (this->action == HORSE_WAIT_CLONE) { + MtxF skinMtx; + Mtx* mtx1; + Vec3f clonePos = { 0.0f, 0.0f, 0.0f }; + s16 cloneRotY; + f32 distFromGround = this->actor.posRot.pos.y - this->actor.groundY; + f32 temp_f0_4; + + if (globalCtx->sceneNum == SCENE_MALON_STABLE) { + if (this->actor.posRot.pos.x == 355.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -245.0f) { + clonePos.x = 235.0f; + clonePos.y = 0.0f; + clonePos.z = 100.0f; + cloneRotY = 0x7FFF; + } else if (this->actor.posRot.pos.x == 238.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -245.0f) { + clonePos.x = 478.0f; + clonePos.y = 0.0f; + clonePos.z = 100.0f; + cloneRotY = 0x7FFF; + } + } else if (globalCtx->sceneNum == SCENE_SPOT20) { + if (this->actor.posRot.pos.x == -730.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -1100.0f) { + clonePos.x = 780.0f; + clonePos.y = 0.0f; + clonePos.z = -80.0f; + cloneRotY = 0; + } else if (this->actor.posRot.pos.x == 880.0f && this->actor.posRot.pos.y == 0.0f && + this->actor.posRot.pos.z == -1170.0f) { + clonePos.x = -1000.0f; + clonePos.y = 0.0f; + clonePos.z = -70.0f; + cloneRotY = 0; + } + } + func_80A6CC88(globalCtx, this, &clonePos); + SkinMatrix_SetScaleRotateYRPTranslate(&skinMtx, this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, + this->actor.shape.rot.x, cloneRotY, this->actor.shape.rot.z, clonePos.x, + (this->actor.shape.unk_08 * this->actor.scale.y) + clonePos.y, + clonePos.z); + mtx1 = SkinMatrix_MtxFToNewMtx(globalCtx->state.gfxCtx, &skinMtx); + if (mtx1 == NULL) { + return; + } + gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(oGfxCtx->polyOpa.p++, mtx1, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + func_800A63CC(&this->actor, globalCtx, &this->skin, 0, 0, 1, 0, 3); + this->cloneCollider.dim.pos.x = clonePos.x; + this->cloneCollider.dim.pos.y = clonePos.y; + this->cloneCollider.dim.pos.z = clonePos.z; + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->cloneCollider.base); + func_80094044(globalCtx->state.gfxCtx); + gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, 255); + Matrix_Translate(clonePos.x, clonePos.y, clonePos.z, MTXMODE_NEW); + temp_f0_4 = (1.0f - (distFromGround * 0.01f)) * this->actor.shape.unk_10; + Matrix_Scale(this->actor.scale.x * temp_f0_4, 1.0f, this->actor.scale.z * temp_f0_4, MTXMODE_APPLY); + Matrix_RotateY(cloneRotY * (2.0f * M_PI / 0x10000), MTXMODE_APPLY); + mtx2 = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2329); + if (mtx2 != NULL) { + gSPMatrix(oGfxCtx->polyXlu.p++, mtx2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(oGfxCtx->polyXlu.p++, D_04049AD0); + } + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2339); +} diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.h b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.h index 8ccc1357b2..e34efe07ec 100644 --- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.h +++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.h @@ -6,9 +6,30 @@ struct EnHorseNormal; +typedef void (*EnHorseNormalActionFunc)(struct EnHorseNormal*, GlobalContext*); + typedef struct EnHorseNormal { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x1DC]; + /* 0x014C */ s32 action; + /* 0x0150 */ s32 animationIdx; + /* 0x0154 */ PSkinAwb skin; + /* 0x01E4 */ u16 unk_1E4; + /* 0x01E8 */ Vec3f unk_1E8; + /* 0x01F4 */ Vec3f unk_1F4; + /* 0x0200 */ s32 unk_200; + /* 0x0204 */ Vec3f unk_204; + /* 0x0210 */ char unk_210[0x08]; + /* 0x0218 */ f32 unk_218; + /* 0x021C */ s16 unk_21C; + /* 0x021E */ s16 unk_21E; + /* 0x0220 */ f32 unk_220; + /* 0x0224 */ char unk_224[0x04]; + /* 0x0228 */ ColliderCylinder bodyCollider; + /* 0x0274 */ ColliderJntSph headCollider; + /* 0x0294 */ ColliderJntSphItem headColliderItems[1]; + /* 0x02D4 */ ColliderCylinder cloneCollider; + /* 0x0320 */ char unk_320[0x04]; + /* 0x0324 */ s32 waypoint; } EnHorseNormal; // size = 0x0328 extern const ActorInit En_Horse_Normal_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 482adf4299..a186555b57 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -918,6 +918,18 @@ D_060048A8 = 0x060048A8; D_06008668 = 0x06008668; D_06004AA4 = 0x06004AA4; +// z_en_horse_normal +D_06000608 = 0x06000608; +D_06000C20 = 0x06000C20; +D_060013A8 = 0x060013A8; +D_06001A1C = 0x06001A1C; +D_06002458 = 0x06002458; +D_060035D4 = 0x060035D4; +D_06004580 = 0x06004580; +D_06004C20 = 0x06004C20; +D_060054BC = 0x060054BC; +D_06009FAC = 0x06009FAC; + // z_en_skjneedle D_06000EB0 = 0x06000EB0; From 08c4065a5e940d9ace0fff90d2818ed5788cb2ec Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 12 Oct 2020 20:44:22 -0400 Subject: [PATCH 7/8] Decompiled ovl_Bg_Haka_MeganeBG (#448) --- .../BgHakaMeganeBG_Destroy.s | 14 -- .../BgHakaMeganeBG_Draw.s | 26 --- .../BgHakaMeganeBG_Init.s | 122 ----------- .../BgHakaMeganeBG_Update.s | 10 - .../ovl_Bg_Haka_MeganeBG/func_8087DFF8.s | 21 -- .../ovl_Bg_Haka_MeganeBG/func_8087E040.s | 64 ------ .../ovl_Bg_Haka_MeganeBG/func_8087E10C.s | 59 ----- .../ovl_Bg_Haka_MeganeBG/func_8087E1E0.s | 34 --- .../ovl_Bg_Haka_MeganeBG/func_8087E258.s | 13 -- .../ovl_Bg_Haka_MeganeBG/func_8087E288.s | 23 -- .../ovl_Bg_Haka_MeganeBG/func_8087E2D8.s | 35 --- .../ovl_Bg_Haka_MeganeBG/func_8087E34C.s | 4 - .../overlays/actors/z_bg_haka_meganebg.data.s | 22 -- .../actors/z_bg_haka_meganebg.reloc.s | 13 -- spec | 3 +- src/code/z_play.c | 2 +- src/code/z_prenmi.c | 2 +- src/code/z_sample.c | 2 +- .../ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c | 9 +- .../ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c | 203 ++++++++++++++++-- .../ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.h | 5 +- .../gamestates/ovl_opening/z_opening.c | 2 +- src/overlays/gamestates/ovl_select/z_select.c | 2 +- undefined_syms.txt | 6 +- 24 files changed, 205 insertions(+), 491 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087DFF8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E040.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E10C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E1E0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E258.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E288.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E2D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E34C.s delete mode 100644 data/overlays/actors/z_bg_haka_meganebg.data.s delete mode 100644 data/overlays/actors/z_bg_haka_meganebg.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Destroy.s deleted file mode 100644 index 9097d8639b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgHakaMeganeBG_Destroy -/* 00198 8087DFC8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0019C 8087DFCC AFA40018 */ sw $a0, 0x0018($sp) -/* 001A0 8087DFD0 8FAE0018 */ lw $t6, 0x0018($sp) -/* 001A4 8087DFD4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001A8 8087DFD8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 001AC 8087DFDC 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 001B0 8087DFE0 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 001B4 8087DFE4 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 001B8 8087DFE8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001BC 8087DFEC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001C0 8087DFF0 03E00008 */ jr $ra -/* 001C4 8087DFF4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Draw.s deleted file mode 100644 index 259a650444..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Draw.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel BgHakaMeganeBG_Draw -/* 0054C 8087E37C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00550 8087E380 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00554 8087E384 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00558 8087E388 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000 -/* 0055C 8087E38C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00560 8087E390 14400007 */ bne $v0, $zero, .L8087E3B0 -/* 00564 8087E394 00027080 */ sll $t6, $v0, 2 -/* 00568 8087E398 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0056C 8087E39C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00570 8087E3A0 0C00D4C9 */ jal Gfx_DrawDListXlu - -/* 00574 8087E3A4 24A58EB0 */ addiu $a1, $a1, 0x8EB0 ## $a1 = 06008EB0 -/* 00578 8087E3A8 10000006 */ beq $zero, $zero, .L8087E3C4 -/* 0057C 8087E3AC 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087E3B0: -/* 00580 8087E3B0 3C058088 */ lui $a1, %hi(D_8087E410) ## $a1 = 80880000 -/* 00584 8087E3B4 00AE2821 */ addu $a1, $a1, $t6 -/* 00588 8087E3B8 0C00D498 */ jal Gfx_DrawDListOpa - -/* 0058C 8087E3BC 8CA5E410 */ lw $a1, %lo(D_8087E410)($a1) -/* 00590 8087E3C0 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087E3C4: -/* 00594 8087E3C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00598 8087E3C8 03E00008 */ jr $ra -/* 0059C 8087E3CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Init.s deleted file mode 100644 index bb2db1dc9a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Init.s +++ /dev/null @@ -1,122 +0,0 @@ -.late_rodata -glabel D_8087E420 - .float 3000.0 - -.text -glabel BgHakaMeganeBG_Init -/* 00000 8087DE30 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 8087DE34 AFA50034 */ sw $a1, 0x0034($sp) -/* 00008 8087DE38 AFBF001C */ sw $ra, 0x001C($sp) -/* 0000C 8087DE3C AFB00018 */ sw $s0, 0x0018($sp) -/* 00010 8087DE40 3C058088 */ lui $a1, %hi(D_8087E3F0) ## $a1 = 80880000 -/* 00014 8087DE44 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 8087DE48 AFA00024 */ sw $zero, 0x0024($sp) -/* 0001C 8087DE4C 0C01E037 */ jal Actor_ProcessInitChain - -/* 00020 8087DE50 24A5E3F0 */ addiu $a1, $a1, %lo(D_8087E3F0) ## $a1 = 8087E3F0 -/* 00024 8087DE54 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 00028 8087DE58 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 0002C 8087DE5C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00030 8087DE60 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000 -/* 00034 8087DE64 A608001C */ sh $t0, 0x001C($s0) ## 0000001C -/* 00038 8087DE68 8609001C */ lh $t1, 0x001C($s0) ## 0000001C -/* 0003C 8087DE6C 000EC203 */ sra $t8, $t6, 8 -/* 00040 8087DE70 A2180168 */ sb $t8, 0x0168($s0) ## 00000168 -/* 00044 8087DE74 1521000F */ bne $t1, $at, .L8087DEB4 -/* 00048 8087DE78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0004C 8087DE7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00050 8087DE80 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00054 8087DE84 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 00058 8087DE88 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004 -/* 0005C 8087DE8C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00060 8087DE90 24845334 */ addiu $a0, $a0, 0x5334 ## $a0 = 06005334 -/* 00064 8087DE94 354B0010 */ ori $t3, $t2, 0x0010 ## $t3 = 00000010 -/* 00068 8087DE98 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004 -/* 0006C 8087DE9C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00070 8087DEA0 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00074 8087DEA4 3C0C8088 */ lui $t4, %hi(func_8087E258) ## $t4 = 80880000 -/* 00078 8087DEA8 258CE258 */ addiu $t4, $t4, %lo(func_8087E258) ## $t4 = 8087E258 -/* 0007C 8087DEAC 1000003B */ beq $zero, $zero, .L8087DF9C -/* 00080 8087DEB0 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164 -.L8087DEB4: -/* 00084 8087DEB4 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00088 8087DEB8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0008C 8087DEBC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00090 8087DEC0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00094 8087DEC4 24849168 */ addiu $a0, $a0, 0x9168 ## $a0 = 06009168 -/* 00098 8087DEC8 1440000C */ bne $v0, $zero, .L8087DEFC -/* 0009C 8087DECC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 000A0 8087DED0 0C010620 */ jal DynaPolyInfo_Alloc - -/* 000A4 8087DED4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 000A8 8087DED8 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004 -/* 000AC 8087DEDC 3C188088 */ lui $t8, %hi(func_8087DFF8) ## $t8 = 80880000 -/* 000B0 8087DEE0 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 000B4 8087DEE4 2718DFF8 */ addiu $t8, $t8, %lo(func_8087DFF8) ## $t8 = 8087DFF8 -/* 000B8 8087DEE8 35AE0080 */ ori $t6, $t5, 0x0080 ## $t6 = 00000080 -/* 000BC 8087DEEC AE0E0004 */ sw $t6, 0x0004($s0) ## 00000004 -/* 000C0 8087DEF0 A60F016A */ sh $t7, 0x016A($s0) ## 0000016A -/* 000C4 8087DEF4 10000029 */ beq $zero, $zero, .L8087DF9C -/* 000C8 8087DEF8 AE180164 */ sw $t8, 0x0164($s0) ## 00000164 -.L8087DEFC: -/* 000CC 8087DEFC 1441001B */ bne $v0, $at, .L8087DF6C -/* 000D0 8087DF00 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 000D4 8087DF04 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 000D8 8087DF08 24840118 */ addiu $a0, $a0, 0x0118 ## $a0 = 06000118 -/* 000DC 8087DF0C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 000E0 8087DF10 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 000E4 8087DF14 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 000E8 8087DF18 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 000EC 8087DF1C C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C -/* 000F0 8087DF20 92050168 */ lbu $a1, 0x0168($s0) ## 00000168 -/* 000F4 8087DF24 46062200 */ add.s $f8, $f4, $f6 -/* 000F8 8087DF28 E608000C */ swc1 $f8, 0x000C($s0) ## 0000000C -/* 000FC 8087DF2C 0C00B2D0 */ jal Flags_GetSwitch - -/* 00100 8087DF30 8FA40034 */ lw $a0, 0x0034($sp) -/* 00104 8087DF34 10400007 */ beq $v0, $zero, .L8087DF54 -/* 00108 8087DF38 3C0A8088 */ lui $t2, %hi(func_8087E288) ## $t2 = 80880000 -/* 0010C 8087DF3C C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C -/* 00110 8087DF40 3C198088 */ lui $t9, %hi(func_8087E34C) ## $t9 = 80880000 -/* 00114 8087DF44 2739E34C */ addiu $t9, $t9, %lo(func_8087E34C) ## $t9 = 8087E34C -/* 00118 8087DF48 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 0011C 8087DF4C 10000013 */ beq $zero, $zero, .L8087DF9C -/* 00120 8087DF50 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -.L8087DF54: -/* 00124 8087DF54 8E080004 */ lw $t0, 0x0004($s0) ## 00000004 -/* 00128 8087DF58 254AE288 */ addiu $t2, $t2, %lo(func_8087E288) ## $t2 = 8087E288 -/* 0012C 8087DF5C AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 00130 8087DF60 35090010 */ ori $t1, $t0, 0x0010 ## $t1 = 00000010 -/* 00134 8087DF64 1000000D */ beq $zero, $zero, .L8087DF9C -/* 00138 8087DF68 AE090004 */ sw $t1, 0x0004($s0) ## 00000004 -.L8087DF6C: -/* 0013C 8087DF6C 2484A7F4 */ addiu $a0, $a0, 0xA7F4 ## $a0 = FFFFA7F4 -/* 00140 8087DF70 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00144 8087DF74 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00148 8087DF78 3C018088 */ lui $at, %hi(D_8087E420) ## $at = 80880000 -/* 0014C 8087DF7C C420E420 */ lwc1 $f0, %lo(D_8087E420)($at) -/* 00150 8087DF80 3C0C8088 */ lui $t4, %hi(func_8087E10C) ## $t4 = 80880000 -/* 00154 8087DF84 240B0050 */ addiu $t3, $zero, 0x0050 ## $t3 = 00000050 -/* 00158 8087DF88 258CE10C */ addiu $t4, $t4, %lo(func_8087E10C) ## $t4 = 8087E10C -/* 0015C 8087DF8C A60B016A */ sh $t3, 0x016A($s0) ## 0000016A -/* 00160 8087DF90 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164 -/* 00164 8087DF94 E60000F8 */ swc1 $f0, 0x00F8($s0) ## 000000F8 -/* 00168 8087DF98 E60000FC */ swc1 $f0, 0x00FC($s0) ## 000000FC -.L8087DF9C: -/* 0016C 8087DF9C 8FA40034 */ lw $a0, 0x0034($sp) -/* 00170 8087DFA0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00174 8087DFA4 8FA70024 */ lw $a3, 0x0024($sp) -/* 00178 8087DFA8 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 0017C 8087DFAC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00180 8087DFB0 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00184 8087DFB4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00188 8087DFB8 8FB00018 */ lw $s0, 0x0018($sp) -/* 0018C 8087DFBC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00190 8087DFC0 03E00008 */ jr $ra -/* 00194 8087DFC4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Update.s deleted file mode 100644 index 80a0fea9e8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Update.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel BgHakaMeganeBG_Update -/* 00528 8087E358 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0052C 8087E35C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00530 8087E360 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00534 8087E364 0320F809 */ jalr $ra, $t9 -/* 00538 8087E368 00000000 */ nop -/* 0053C 8087E36C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00540 8087E370 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00544 8087E374 03E00008 */ jr $ra -/* 00548 8087E378 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087DFF8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087DFF8.s deleted file mode 100644 index 2427594ede..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087DFF8.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_8087DFF8 -/* 001C8 8087DFF8 AFA50004 */ sw $a1, 0x0004($sp) -/* 001CC 8087DFFC 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -/* 001D0 8087E000 240F0028 */ addiu $t7, $zero, 0x0028 ## $t7 = 00000028 -/* 001D4 8087E004 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 001D8 8087E008 10400003 */ beq $v0, $zero, .L8087E018 -/* 001DC 8087E00C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 001E0 8087E010 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A -/* 001E4 8087E014 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -.L8087E018: -/* 001E8 8087E018 14400007 */ bne $v0, $zero, .L8087E038 -/* 001EC 8087E01C 3C088088 */ lui $t0, %hi(func_8087E040) ## $t0 = 80880000 -/* 001F0 8087E020 84980032 */ lh $t8, 0x0032($a0) ## 00000032 -/* 001F4 8087E024 2508E040 */ addiu $t0, $t0, %lo(func_8087E040) ## $t0 = 8087E040 -/* 001F8 8087E028 A48F016A */ sh $t7, 0x016A($a0) ## 0000016A -/* 001FC 8087E02C 0301C821 */ addu $t9, $t8, $at -/* 00200 8087E030 A4990032 */ sh $t9, 0x0032($a0) ## 00000032 -/* 00204 8087E034 AC880164 */ sw $t0, 0x0164($a0) ## 00000164 -.L8087E038: -/* 00208 8087E038 03E00008 */ jr $ra -/* 0020C 8087E03C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E040.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E040.s deleted file mode 100644 index 432c92406c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E040.s +++ /dev/null @@ -1,64 +0,0 @@ -.late_rodata -glabel D_8087E424 - .float 0.025 - -glabel D_8087E428 - .float 3.1415927 # PI - -.text -glabel func_8087E040 -/* 00210 8087E040 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00214 8087E044 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00218 8087E048 AFA5001C */ sw $a1, 0x001C($sp) -/* 0021C 8087E04C 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -/* 00220 8087E050 10400003 */ beq $v0, $zero, .L8087E060 -/* 00224 8087E054 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00228 8087E058 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A -/* 0022C 8087E05C 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -.L8087E060: -/* 00230 8087E060 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00234 8087E064 3C018088 */ lui $at, %hi(D_8087E424) ## $at = 80880000 -/* 00238 8087E068 C428E424 */ lwc1 $f8, %lo(D_8087E424)($at) -/* 0023C 8087E06C 468021A0 */ cvt.s.w $f6, $f4 -/* 00240 8087E070 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00244 8087E074 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 00248 8087E078 3C018088 */ lui $at, %hi(D_8087E428) ## $at = 80880000 -/* 0024C 8087E07C C424E428 */ lwc1 $f4, %lo(D_8087E428)($at) -/* 00250 8087E080 AFA40018 */ sw $a0, 0x0018($sp) -/* 00254 8087E084 46083282 */ mul.s $f10, $f6, $f8 -/* 00258 8087E088 46105480 */ add.s $f18, $f10, $f16 -/* 0025C 8087E08C 46049302 */ mul.s $f12, $f18, $f4 -/* 00260 8087E090 0C0400A4 */ jal sinf - -/* 00264 8087E094 00000000 */ nop -/* 00268 8087E098 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0026C 8087E09C 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 00270 8087E0A0 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00274 8087E0A4 44815000 */ mtc1 $at, $f10 ## $f10 = 160.00 -/* 00278 8087E0A8 46060200 */ add.s $f8, $f0, $f6 -/* 0027C 8087E0AC 8FA40018 */ lw $a0, 0x0018($sp) -/* 00280 8087E0B0 3C098088 */ lui $t1, %hi(func_8087DFF8) ## $t1 = 80880000 -/* 00284 8087E0B4 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000 -/* 00288 8087E0B8 460A4302 */ mul.s $f12, $f8, $f10 -/* 0028C 8087E0BC 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6 -/* 00290 8087E0C0 84980032 */ lh $t8, 0x0032($a0) ## 00000032 -/* 00294 8087E0C4 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014 -/* 00298 8087E0C8 2529DFF8 */ addiu $t1, $t1, %lo(func_8087DFF8) ## $t1 = 8087DFF8 -/* 0029C 8087E0CC 11F80004 */ beq $t7, $t8, .L8087E0E0 -/* 002A0 8087E0D0 46006086 */ mov.s $f2, $f12 -/* 002A4 8087E0D4 44818000 */ mtc1 $at, $f16 ## $f16 = 320.00 -/* 002A8 8087E0D8 00000000 */ nop -/* 002AC 8087E0DC 460C8081 */ sub.s $f2, $f16, $f12 -.L8087E0E0: -/* 002B0 8087E0E0 C4920008 */ lwc1 $f18, 0x0008($a0) ## 00000008 -/* 002B4 8087E0E4 8499016A */ lh $t9, 0x016A($a0) ## 0000016A -/* 002B8 8087E0E8 46029101 */ sub.s $f4, $f18, $f2 -/* 002BC 8087E0EC 17200003 */ bne $t9, $zero, .L8087E0FC -/* 002C0 8087E0F0 E4840024 */ swc1 $f4, 0x0024($a0) ## 00000024 -/* 002C4 8087E0F4 A488016A */ sh $t0, 0x016A($a0) ## 0000016A -/* 002C8 8087E0F8 AC890164 */ sw $t1, 0x0164($a0) ## 00000164 -.L8087E0FC: -/* 002CC 8087E0FC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002D0 8087E100 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002D4 8087E104 03E00008 */ jr $ra -/* 002D8 8087E108 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E10C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E10C.s deleted file mode 100644 index aefad0a926..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E10C.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_8087E10C -/* 002DC 8087E10C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002E0 8087E110 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 002E4 8087E114 44811000 */ mtc1 $at, $f2 ## $f2 = 20.00 -/* 002E8 8087E118 AFBF0014 */ sw $ra, 0x0014($sp) -/* 002EC 8087E11C AFA5001C */ sw $a1, 0x001C($sp) -/* 002F0 8087E120 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002F4 8087E124 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 002F8 8087E128 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060 -/* 002FC 8087E12C 3C014420 */ lui $at, 0x4420 ## $at = 44200000 -/* 00300 8087E130 44818000 */ mtc1 $at, $f16 ## $f16 = 640.00 -/* 00304 8087E134 46062200 */ add.s $f8, $f4, $f6 -/* 00308 8087E138 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0030C 8087E13C E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060 -/* 00310 8087E140 C4800060 */ lwc1 $f0, 0x0060($a0) ## 00000060 -/* 00314 8087E144 4600103C */ c.lt.s $f2, $f0 -/* 00318 8087E148 00000000 */ nop -/* 0031C 8087E14C 45020004 */ bc1fl .L8087E160 -/* 00320 8087E150 E4E00060 */ swc1 $f0, 0x0060($a3) ## 00000060 -/* 00324 8087E154 10000002 */ beq $zero, $zero, .L8087E160 -/* 00328 8087E158 E4820060 */ swc1 $f2, 0x0060($a0) ## 00000060 -/* 0032C 8087E15C E4E00060 */ swc1 $f0, 0x0060($a3) ## 00000060 -.L8087E160: -/* 00330 8087E160 84E2016A */ lh $v0, 0x016A($a3) ## 0000016A -/* 00334 8087E164 10400002 */ beq $v0, $zero, .L8087E170 -/* 00338 8087E168 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 0033C 8087E16C A4EE016A */ sh $t6, 0x016A($a3) ## 0000016A -.L8087E170: -/* 00340 8087E170 C4EA000C */ lwc1 $f10, 0x000C($a3) ## 0000000C -/* 00344 8087E174 8CE60060 */ lw $a2, 0x0060($a3) ## 00000060 -/* 00348 8087E178 AFA70018 */ sw $a3, 0x0018($sp) -/* 0034C 8087E17C 46105481 */ sub.s $f18, $f10, $f16 -/* 00350 8087E180 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028 -/* 00354 8087E184 44059000 */ mfc1 $a1, $f18 -/* 00358 8087E188 0C01DE80 */ jal Math_ApproxF - -/* 0035C 8087E18C 00000000 */ nop -/* 00360 8087E190 14400006 */ bne $v0, $zero, .L8087E1AC -/* 00364 8087E194 8FA70018 */ lw $a3, 0x0018($sp) -/* 00368 8087E198 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 0036C 8087E19C 2405204D */ addiu $a1, $zero, 0x204D ## $a1 = 0000204D -/* 00370 8087E1A0 0C00BE5D */ jal func_8002F974 -/* 00374 8087E1A4 AFA70018 */ sw $a3, 0x0018($sp) -/* 00378 8087E1A8 8FA70018 */ lw $a3, 0x0018($sp) -.L8087E1AC: -/* 0037C 8087E1AC 84EF016A */ lh $t7, 0x016A($a3) ## 0000016A -/* 00380 8087E1B0 3C198088 */ lui $t9, %hi(func_8087E1E0) ## $t9 = 80880000 -/* 00384 8087E1B4 24180078 */ addiu $t8, $zero, 0x0078 ## $t8 = 00000078 -/* 00388 8087E1B8 15E00005 */ bne $t7, $zero, .L8087E1D0 -/* 0038C 8087E1BC 2739E1E0 */ addiu $t9, $t9, %lo(func_8087E1E0) ## $t9 = 8087E1E0 -/* 00390 8087E1C0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00394 8087E1C4 A4F8016A */ sh $t8, 0x016A($a3) ## 0000016A -/* 00398 8087E1C8 ACF90164 */ sw $t9, 0x0164($a3) ## 00000164 -/* 0039C 8087E1CC E4E40060 */ swc1 $f4, 0x0060($a3) ## 00000060 -.L8087E1D0: -/* 003A0 8087E1D0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003A4 8087E1D4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003A8 8087E1D8 03E00008 */ jr $ra -/* 003AC 8087E1DC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E1E0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E1E0.s deleted file mode 100644 index 9cdb4b3ec4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E1E0.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_8087E1E0 -/* 003B0 8087E1E0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003B4 8087E1E4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003B8 8087E1E8 AFA5001C */ sw $a1, 0x001C($sp) -/* 003BC 8087E1EC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 003C0 8087E1F0 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C -/* 003C4 8087E1F4 3C0640AA */ lui $a2, 0x40AA ## $a2 = 40AA0000 -/* 003C8 8087E1F8 34C6AAAB */ ori $a2, $a2, 0xAAAB ## $a2 = 40AAAAAB -/* 003CC 8087E1FC AFA70018 */ sw $a3, 0x0018($sp) -/* 003D0 8087E200 0C01DE80 */ jal Math_ApproxF - -/* 003D4 8087E204 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 003D8 8087E208 8FA40018 */ lw $a0, 0x0018($sp) -/* 003DC 8087E20C 0C00BE5D */ jal func_8002F974 -/* 003E0 8087E210 2405200D */ addiu $a1, $zero, 0x200D ## $a1 = 0000200D -/* 003E4 8087E214 8FA70018 */ lw $a3, 0x0018($sp) -/* 003E8 8087E218 3C188088 */ lui $t8, %hi(func_8087E10C) ## $t8 = 80880000 -/* 003EC 8087E21C 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050 -/* 003F0 8087E220 84E2016A */ lh $v0, 0x016A($a3) ## 0000016A -/* 003F4 8087E224 2718E10C */ addiu $t8, $t8, %lo(func_8087E10C) ## $t8 = 8087E10C -/* 003F8 8087E228 10400003 */ beq $v0, $zero, .L8087E238 -/* 003FC 8087E22C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00400 8087E230 A4EE016A */ sh $t6, 0x016A($a3) ## 0000016A -/* 00404 8087E234 84E2016A */ lh $v0, 0x016A($a3) ## 0000016A -.L8087E238: -/* 00408 8087E238 54400004 */ bnel $v0, $zero, .L8087E24C -/* 0040C 8087E23C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00410 8087E240 A4EF016A */ sh $t7, 0x016A($a3) ## 0000016A -/* 00414 8087E244 ACF80164 */ sw $t8, 0x0164($a3) ## 00000164 -/* 00418 8087E248 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087E24C: -/* 0041C 8087E24C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00420 8087E250 03E00008 */ jr $ra -/* 00424 8087E254 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E258.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E258.s deleted file mode 100644 index f536e3abd4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E258.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_8087E258 -/* 00428 8087E258 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0042C 8087E25C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00430 8087E260 AFA5001C */ sw $a1, 0x001C($sp) -/* 00434 8087E264 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 00438 8087E268 24052024 */ addiu $a1, $zero, 0x2024 ## $a1 = 00002024 -/* 0043C 8087E26C 25CF0180 */ addiu $t7, $t6, 0x0180 ## $t7 = 00000180 -/* 00440 8087E270 0C00BE5D */ jal func_8002F974 -/* 00444 8087E274 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6 -/* 00448 8087E278 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0044C 8087E27C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00450 8087E280 03E00008 */ jr $ra -/* 00454 8087E284 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E288.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E288.s deleted file mode 100644 index 4d264d86a7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E288.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_8087E288 -/* 00458 8087E288 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0045C 8087E28C AFA40018 */ sw $a0, 0x0018($sp) -/* 00460 8087E290 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00464 8087E294 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00468 8087E298 AFA5001C */ sw $a1, 0x001C($sp) -/* 0046C 8087E29C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00470 8087E2A0 0C00B2D0 */ jal Flags_GetSwitch - -/* 00474 8087E2A4 91C50168 */ lbu $a1, 0x0168($t6) ## 00000168 -/* 00478 8087E2A8 10400007 */ beq $v0, $zero, .L8087E2C8 -/* 0047C 8087E2AC 8FA4001C */ lw $a0, 0x001C($sp) -/* 00480 8087E2B0 0C020120 */ jal func_80080480 -/* 00484 8087E2B4 8FA50018 */ lw $a1, 0x0018($sp) -/* 00488 8087E2B8 8FB80018 */ lw $t8, 0x0018($sp) -/* 0048C 8087E2BC 3C0F8088 */ lui $t7, %hi(func_8087E2D8) ## $t7 = 80880000 -/* 00490 8087E2C0 25EFE2D8 */ addiu $t7, $t7, %lo(func_8087E2D8) ## $t7 = 8087E2D8 -/* 00494 8087E2C4 AF0F0164 */ sw $t7, 0x0164($t8) ## 00000164 -.L8087E2C8: -/* 00498 8087E2C8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0049C 8087E2CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 004A0 8087E2D0 03E00008 */ jr $ra -/* 004A4 8087E2D4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E2D8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E2D8.s deleted file mode 100644 index a045473fcd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E2D8.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_8087E2D8 -/* 004A8 8087E2D8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 004AC 8087E2DC AFB00018 */ sw $s0, 0x0018($sp) -/* 004B0 8087E2E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004B4 8087E2E4 AFBF001C */ sw $ra, 0x001C($sp) -/* 004B8 8087E2E8 AFA50024 */ sw $a1, 0x0024($sp) -/* 004BC 8087E2EC 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000 -/* 004C0 8087E2F0 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068 -/* 004C4 8087E2F4 0C01DE80 */ jal Math_ApproxF - -/* 004C8 8087E2F8 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 004CC 8087E2FC 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 004D0 8087E300 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C -/* 004D4 8087E304 0C01DE80 */ jal Math_ApproxF - -/* 004D8 8087E308 8E060068 */ lw $a2, 0x0068($s0) ## 00000068 -/* 004DC 8087E30C 10400008 */ beq $v0, $zero, .L8087E330 -/* 004E0 8087E310 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004E4 8087E314 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004E8 8087E318 0C00B56E */ jal Actor_SetHeight - -/* 004EC 8087E31C 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000 -/* 004F0 8087E320 3C0E8088 */ lui $t6, %hi(func_8087E34C) ## $t6 = 80880000 -/* 004F4 8087E324 25CEE34C */ addiu $t6, $t6, %lo(func_8087E34C) ## $t6 = 8087E34C -/* 004F8 8087E328 10000003 */ beq $zero, $zero, .L8087E338 -/* 004FC 8087E32C AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164 -.L8087E330: -/* 00500 8087E330 0C00BE5D */ jal func_8002F974 -/* 00504 8087E334 24052859 */ addiu $a1, $zero, 0x2859 ## $a1 = 00002859 -.L8087E338: -/* 00508 8087E338 8FBF001C */ lw $ra, 0x001C($sp) -/* 0050C 8087E33C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00510 8087E340 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00514 8087E344 03E00008 */ jr $ra -/* 00518 8087E348 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E34C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E34C.s deleted file mode 100644 index dea903900e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E34C.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_8087E34C -/* 0051C 8087E34C AFA40000 */ sw $a0, 0x0000($sp) -/* 00520 8087E350 03E00008 */ jr $ra -/* 00524 8087E354 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/data/overlays/actors/z_bg_haka_meganebg.data.s b/data/overlays/actors/z_bg_haka_meganebg.data.s deleted file mode 100644 index 78ebb831fa..0000000000 --- a/data/overlays/actors/z_bg_haka_meganebg.data.s +++ /dev/null @@ -1,22 +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 Bg_Haka_MeganeBG_InitVars - .word 0x00AF0100, 0x00000000, 0x00690000, 0x0000016C -.word BgHakaMeganeBG_Init -.word BgHakaMeganeBG_Destroy -.word BgHakaMeganeBG_Update -.word BgHakaMeganeBG_Draw -glabel D_8087E3F0 - .word 0xB0F803E8, 0xB0FC03E8, 0x48500064, 0x00000000, 0x00000000, 0x00000000, 0xC8C800FF, 0xFF0000FF -glabel D_8087E410 - .word 0x06008EB0, 0x0600A1A0, 0x06005000, 0x06000040 - diff --git a/data/overlays/actors/z_bg_haka_meganebg.reloc.s b/data/overlays/actors/z_bg_haka_meganebg.reloc.s deleted file mode 100644 index f88d610fd2..0000000000 --- a/data/overlays/actors/z_bg_haka_meganebg.reloc.s +++ /dev/null @@ -1,13 +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 .rodata - -.balign 16 - -glabel D_8087E430 - .incbin "baserom/ovl_Bg_Haka_MeganeBG", 0x600, 0x000000B0 diff --git a/spec b/spec index a6580e02e1..0422471868 100644 --- a/spec +++ b/spec @@ -770,8 +770,7 @@ endseg beginseg name "ovl_Bg_Haka_MeganeBG" include "build/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.o" - include "build/data/overlays/actors/z_bg_haka_meganebg.data.o" - include "build/data/overlays/actors/z_bg_haka_meganebg.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Haka_MeganeBG/ovl_Bg_Haka_MeganeBG_reloc.o" endseg beginseg diff --git a/src/code/z_play.c b/src/code/z_play.c index bbb77f7da3..e9d964f7e0 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -1332,7 +1332,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) { void Gameplay_Main(GameState* thisx) { GlobalContext* globalCtx = (GlobalContext*)thisx; - + D_8012D1F8 = &globalCtx->state.input[0]; DebugDisplay_Init(); diff --git a/src/code/z_prenmi.c b/src/code/z_prenmi.c index 8de5bd2135..985b1d3f2b 100644 --- a/src/code/z_prenmi.c +++ b/src/code/z_prenmi.c @@ -41,7 +41,7 @@ void PreNMI_Draw(PreNMIContext* this) { void PreNMI_Main(GameState* thisx) { PreNMIContext* this = (PreNMIContext*)thisx; - + PreNMI_Update(this); PreNMI_Draw(this); diff --git a/src/code/z_sample.c b/src/code/z_sample.c index 7df8854395..65e3cee206 100644 --- a/src/code/z_sample.c +++ b/src/code/z_sample.c @@ -87,7 +87,7 @@ void Sample_LoadTitleStatic(SampleContext* this) { void Sample_Init(GameState* thisx) { SampleContext* this = (SampleContext*)thisx; - + this->state.main = Sample_Main; this->state.destroy = Sample_Destroy; R_UPDATE_RATE = 1; diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c index 59b56620a8..0dd69cefbd 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c @@ -47,7 +47,6 @@ static InitChainEntry sInitChain[] = { static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; - Gfx* D_8087B578[] = { 0x06007C00, 0x06002320, 0x060035A0 }; void BgGndSoulmeiro_Init(Actor* thisx, GlobalContext* globalCtx) { @@ -124,7 +123,7 @@ void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) { if (1) {} - if ((this->unk_198 % 6) == 0) { + if ((this->unk_198 % 6) == 0) { temp_2 = Math_Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f vecA.y = 0.0f; vecB.y = this->actor.posRot.pos.y; @@ -136,7 +135,7 @@ void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) { temp_4 = Math_Coss(temp_1); vecB.x = this2->actor.posRot.pos.x + (120.0f * temp_3); vecB.z = this2->actor.posRot.pos.z + (120.0f * temp_4); - distXZ = Math_Vec3f_DistXZ(&this2->actor.initPosRot.pos, &vecB) * (1.0f / 120.f); + distXZ = Math_Vec3f_DistXZ(&this2->actor.initPosRot.pos, &vecB) * (1.0f / 120.f); if (distXZ < 0.7f) { temp_3 = Math_Sins(temp_1 + 0x8000); temp_4 = Math_Coss(temp_1 + 0x8000); @@ -148,8 +147,8 @@ void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) { vecA.x = 4.0f * temp_3 * distXZ; vecA.y = 0.0f; vecA.z = 4.0f * temp_4 * distXZ; - EffectSsDeadDb_Spawn(globalCtx, &this->actor.initPosRot.pos, &vecA, &sZeroVec, 60, 6, 255, 255, 150, - 170, 255, 0, 0, 1, 14, true); + EffectSsDeadDb_Spawn(globalCtx, &this->actor.initPosRot.pos, &vecA, &sZeroVec, 60, 6, 255, 255, 150, 170, + 255, 0, 0, 1, 14, true); temp_2 += 0x2AAA; } } diff --git a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c index f91ab1682c..087d2f899d 100644 --- a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c +++ b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c @@ -1,3 +1,9 @@ +/* + * File: z_bg_haka_meganebg.c + * Overlay: ovl_Bg_Haka_MeganeBG + * Description: + */ + #include "z_bg_haka_meganebg.h" #define FLAGS 0x00000000 @@ -9,12 +15,15 @@ void BgHakaMeganeBG_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHakaMeganeBG_Update(Actor* thisx, GlobalContext* globalCtx); void BgHakaMeganeBG_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8087DFF8(BgHakaMeganeBG* this, GlobalContext* globalCtx); +void func_8087E040(BgHakaMeganeBG* this, GlobalContext* globalCtx); +void func_8087E10C(BgHakaMeganeBG* this, GlobalContext* globalCtx); +void func_8087E1E0(BgHakaMeganeBG* this, GlobalContext* globalCtx); void func_8087E258(BgHakaMeganeBG* this, GlobalContext* globalCtx); void func_8087E288(BgHakaMeganeBG* this, GlobalContext* globalCtx); void func_8087E2D8(BgHakaMeganeBG* this, GlobalContext* globalCtx); void func_8087E34C(BgHakaMeganeBG* this, GlobalContext* globalCtx); -/* const ActorInit Bg_Haka_MeganeBG_InitVars = { ACTOR_BG_HAKA_MEGANEBG, ACTORTYPE_BG, @@ -26,27 +35,193 @@ const ActorInit Bg_Haka_MeganeBG_InitVars = { (ActorFunc)BgHakaMeganeBG_Update, (ActorFunc)BgHakaMeganeBG_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneScale, 1000, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_CONTINUE), + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087DFF8.s") +// Unused +static u32 D_8087E3FC[] = { + 0x00000000, 0x00000000, 0x00000000, 0xC8C800FF, 0xFF0000FF, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E040.s") +static Gfx* D_8087E410[] = { + 0x06008EB0, + 0x0600A1A0, + 0x06005000, + 0x06000040, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E10C.s") +extern UNK_TYPE D_06000118; +extern UNK_TYPE D_06005334; +extern Gfx D_06008EB0[]; +extern UNK_TYPE D_06009168; +extern UNK_TYPE D_0600A7F4; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E1E0.s") +void BgHakaMeganeBG_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgHakaMeganeBG* this = THIS; + s32 localC = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E258.s") + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + this->unk_168 = (thisx->params >> 8) & 0xFF; + thisx->params &= 0xFF; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E288.s") + if (thisx->params == 2) { + DynaPolyInfo_SetActorMove(&this->dyna, 3); + thisx->flags |= 0x10; + DynaPolyInfo_Alloc(&D_06005334, &localC); + this->actionFunc = func_8087E258; + } else { + DynaPolyInfo_SetActorMove(&this->dyna, 1); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E2D8.s") + if (thisx->params == 0) { + DynaPolyInfo_Alloc(&D_06009168, &localC); + thisx->flags |= 0x80; + this->unk_16A = 20; + this->actionFunc = func_8087DFF8; + } else if (thisx->params == 3) { + DynaPolyInfo_Alloc(&D_06000118, &localC); + thisx->initPosRot.pos.y += 100.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/func_8087E34C.s") + if (Flags_GetSwitch(globalCtx, this->unk_168)) { + this->actionFunc = func_8087E34C; + thisx->posRot.pos.y = thisx->initPosRot.pos.y; + } else { + thisx->flags |= 0x10; + this->actionFunc = func_8087E288; + } + } else { + DynaPolyInfo_Alloc(&D_0600A7F4, &localC); + this->unk_16A = 80; + this->actionFunc = func_8087E10C; + thisx->uncullZoneScale = 3000.0f; + thisx->uncullZoneDownward = 3000.0f; + } + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Update.s") + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, localC); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_MeganeBG/BgHakaMeganeBG_Draw.s") +void BgHakaMeganeBG_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgHakaMeganeBG* this = THIS; + + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} + +void func_8087DFF8(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + if (this->unk_16A != 0) { + this->unk_16A--; + } + + if (this->unk_16A == 0) { + this->unk_16A = 40; + this->dyna.actor.posRot.rot.y += 0x8000; + this->actionFunc = func_8087E040; + } +} + +void func_8087E040(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + f32 xSub; + + if (this->unk_16A != 0) { + this->unk_16A--; + } + + xSub = (sinf(((this->unk_16A * 0.025f) + 0.5f) * M_PI) + 1.0f) * 160.0f; + + if (this->dyna.actor.posRot.rot.y != this->dyna.actor.shape.rot.y) { + xSub = 320.0f - xSub; + } + + this->dyna.actor.posRot.pos.x = this->dyna.actor.initPosRot.pos.x - xSub; + + if (this->unk_16A == 0) { + this->unk_16A = 20; + this->actionFunc = func_8087DFF8; + } +} + +void func_8087E10C(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + this->dyna.actor.velocity.y += 1.0f; + + if (this->dyna.actor.velocity.y > 20.0f) { + this->dyna.actor.velocity.y = 20.0f; + } else { + this->dyna.actor.velocity.y = this->dyna.actor.velocity.y; + } + + if (this->unk_16A != 0) { + this->unk_16A--; + } + + if (!Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y - 640.0f, + this->dyna.actor.velocity.y)) { + func_8002F974(&this->dyna.actor, NA_SE_EV_CHINETRAP_DOWN - SFX_FLAG); + } + + if (this->unk_16A == 0) { + this->unk_16A = 120; + this->actionFunc = func_8087E1E0; + this->dyna.actor.velocity.y = 0.0f; + } +} + +void func_8087E1E0(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 16.0f / 3.0f); + func_8002F974(&this->dyna.actor, NA_SE_EV_BRIDGE_CLOSE - SFX_FLAG); + + if (this->unk_16A != 0) { + this->unk_16A--; + } + + if (this->unk_16A == 0) { + this->unk_16A = 80; + this->actionFunc = func_8087E10C; + } +} + +void func_8087E258(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + this->dyna.actor.shape.rot.y += 0x180; + func_8002F974(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG); +} + +void func_8087E288(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + if (Flags_GetSwitch(globalCtx, this->unk_168)) { + func_80080480(globalCtx, &this->dyna.actor); + this->actionFunc = func_8087E2D8; + } +} + +void func_8087E2D8(BgHakaMeganeBG* this, GlobalContext* globalCtx) { + Math_ApproxF(&this->dyna.actor.speedXZ, 30.0f, 2.0f); + + if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, this->dyna.actor.speedXZ)) { + Actor_SetHeight(&this->dyna.actor, 50.0f); + this->actionFunc = func_8087E34C; + } else { + func_8002F974(&this->dyna.actor, NA_SE_EV_METALDOOR_OPEN); + } +} + +void func_8087E34C(BgHakaMeganeBG* this, GlobalContext* globalCtx) { +} + +void BgHakaMeganeBG_Update(Actor* thisx, GlobalContext* globalCtx) { + BgHakaMeganeBG* this = THIS; + + this->actionFunc(this, globalCtx); +} + +void BgHakaMeganeBG_Draw(Actor* thisx, GlobalContext* globalCtx) { + BgHakaMeganeBG* this = THIS; + s16 params = this->dyna.actor.params; + + if (params == 0) { + Gfx_DrawDListXlu(globalCtx, D_06008EB0); + } else { + Gfx_DrawDListOpa(globalCtx, D_8087E410[params]); + } +} diff --git a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.h b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.h index f407928cc6..9c882a07c4 100644 --- a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.h +++ b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.h @@ -11,9 +11,8 @@ typedef void (*BgHakaMeganeBGActionFunc)(struct BgHakaMeganeBG*, GlobalContext*) typedef struct BgHakaMeganeBG { /* 0x0000 */ DynaPolyActor dyna; /* 0x0164 */ BgHakaMeganeBGActionFunc actionFunc; - /* 0x0168 */ char unk_168[0x1]; - /* 0x0169 */ s8 unk_169; // objBankIndex ? - /* 0x016A */ char unk_16A[0x2]; + /* 0x0168 */ u8 unk_168; + /* 0x016A */ s16 unk_16A; } BgHakaMeganeBG; // size = 0x016C extern const ActorInit Bg_Haka_Meganebg_InitVars; diff --git a/src/overlays/gamestates/ovl_opening/z_opening.c b/src/overlays/gamestates/ovl_opening/z_opening.c index 9c29d880b7..fa8ce90608 100644 --- a/src/overlays/gamestates/ovl_opening/z_opening.c +++ b/src/overlays/gamestates/ovl_opening/z_opening.c @@ -32,7 +32,7 @@ void Opening_Destroy(GameState* thisx) { void Opening_Init(GameState* thisx) { OpeningContext* this = (OpeningContext*)thisx; - + R_UPDATE_RATE = 1; Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 2a7d03d4f3..6e34499cb8 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -568,7 +568,7 @@ void Select_Draw(SelectContext* this) { void Select_Main(GameState* thisx) { SelectContext* this = (SelectContext*)thisx; - + Select_UpdateMenu(this); Select_Draw(this); } diff --git a/undefined_syms.txt b/undefined_syms.txt index a186555b57..cb88d48742 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -565,9 +565,11 @@ D_060002A8 = 0x060002A8; D_06001250 = 0x06001250; // z_bg_haka_meganebg -D_06005334 = 0x06005334; -D_06009168 = 0x06009168; D_06000118 = 0x06000118; +D_06005334 = 0x06005334; +D_06008EB0 = 0x06008EB0; +D_06009168 = 0x06009168; +D_0600A7F4 = 0x0600A7F4; // z_bg_haka_trap D_060081D0 = 0x60081D0; From 57db7ba526f2d7d59c53ac187778f07c84e6759d Mon Sep 17 00:00:00 2001 From: Roman971 <32455037+Roman971@users.noreply.github.com> Date: Tue, 13 Oct 2020 05:15:42 +0200 Subject: [PATCH 8/8] Match a few more functions (#446) --- .../KaleidoScopeCall_Update.s | 210 ---- .../z_parameter/Interface_DrawItemButtons.s | 940 ------------------ .../z_parameter/Interface_UpdateMagicBar.s | 646 ------------ .../overlays/actors/ovl_En_Rd/func_80AE3F9C.s | 115 --- data/overlays/actors/z_en_rd.reloc.s | 13 - spec | 4 - src/code/z_demo.c | 8 +- src/code/z_kaleido_scope_call.c | 35 +- src/code/z_parameter.c | 188 ++-- src/overlays/actors/ovl_En_Rd/z_en_rd.c | 38 +- 10 files changed, 120 insertions(+), 2077 deletions(-) delete mode 100644 asm/non_matchings/code/z_kaleido_scope_call/KaleidoScopeCall_Update.s delete mode 100644 asm/non_matchings/code/z_parameter/Interface_DrawItemButtons.s delete mode 100644 asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Rd/func_80AE3F9C.s delete mode 100644 data/overlays/actors/z_en_rd.reloc.s diff --git a/asm/non_matchings/code/z_kaleido_scope_call/KaleidoScopeCall_Update.s b/asm/non_matchings/code/z_kaleido_scope_call/KaleidoScopeCall_Update.s deleted file mode 100644 index 1ca4caece8..0000000000 --- a/asm/non_matchings/code/z_kaleido_scope_call/KaleidoScopeCall_Update.s +++ /dev/null @@ -1,210 +0,0 @@ -.rdata -glabel D_801440D8 - .asciz "PR_KAREIDOSCOPE_MODE=%d\n" - .balign 4 - -glabel D_801440F4 - .asciz "\x1b[32m" - .balign 4 - -glabel D_801440FC - .asciz "カレイド領域 プレイヤー 強制排除\n" - # EUC-JP: カレイド領域 プレイヤー 強制排除 | Kaleid Zone Player Forced Elimination - .balign 4 - -glabel D_80144120 - .asciz "\x1b[m" - .balign 4 - -glabel D_80144124 - .asciz "\x1b[32m" - .balign 4 - -glabel D_8014412C - .asciz "カレイド領域 カレイドスコープ搬入\n" - # EUC-JP: カレイド領域 カレイドスコープ搬入 | Kaleid area Kaleidoscope loading - .balign 4 - -glabel D_80144150 - .asciz "\x1b[m" - .balign 4 - -glabel D_80144154 - .asciz "\x1b[32m" - .balign 4 - -glabel D_8014415C - .asciz "カレイド領域 カレイドスコープ排出\n" - # EUC-JP: カレイド領域 カレイドスコープ排出 | Kaleid area Kaleidoscope emission - .balign 4 - -glabel D_80144180 - .asciz "\x1b[m" - .balign 4 - -.text -glabel KaleidoScopeCall_Update -/* B33308 800BC168 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B3330C 800BC16C 3C010001 */ lui $at, 1 -/* B33310 800BC170 00817821 */ addu $t7, $a0, $at -/* B33314 800BC174 3C180001 */ lui $t8, 1 -/* B33318 800BC178 AFBF0014 */ sw $ra, 0x14($sp) -/* B3331C 800BC17C AFA40028 */ sw $a0, 0x28($sp) -/* B33320 800BC180 0304C021 */ addu $t8, $t8, $a0 -/* B33324 800BC184 AFAF0018 */ sw $t7, 0x18($sp) -/* B33328 800BC188 97180934 */ lhu $t8, 0x934($t8) -/* B3332C 800BC18C 3C190001 */ lui $t9, 1 -/* B33330 800BC190 0324C821 */ addu $t9, $t9, $a0 -/* B33334 800BC194 17000003 */ bnez $t8, .L800BC1A4 -/* B33338 800BC198 8FA30028 */ lw $v1, 0x28($sp) -/* B3333C 800BC19C 97390936 */ lhu $t9, 0x936($t9) -/* B33340 800BC1A0 13200087 */ beqz $t9, .L800BC3C0 -.L800BC1A4: -/* B33344 800BC1A4 3C010001 */ lui $at, (0x00010760 >> 16) # lui $at, 1 -/* B33348 800BC1A8 34210760 */ ori $at, (0x00010760 & 0xFFFF) # ori $at, $at, 0x760 -/* B3334C 800BC1AC 00611821 */ addu $v1, $v1, $at -/* B33350 800BC1B0 946201D4 */ lhu $v0, 0x1d4($v1) -/* B33354 800BC1B4 24040001 */ li $a0, 1 -/* B33358 800BC1B8 24010008 */ li $at, 8 -/* B3335C 800BC1BC 14820016 */ bne $a0, $v0, .L800BC218 -/* B33360 800BC1C0 00000000 */ nop -/* B33364 800BC1C4 0C02CE3F */ jal ShrinkWindow_GetCurrentVal -/* B33368 800BC1C8 AFA3001C */ sw $v1, 0x1c($sp) -/* B3336C 800BC1CC 8FA3001C */ lw $v1, 0x1c($sp) -/* B33370 800BC1D0 1440007B */ bnez $v0, .L800BC3C0 -/* B33374 800BC1D4 24040001 */ li $a0, 1 -/* B33378 800BC1D8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* B3337C 800BC1DC 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570 -/* B33380 800BC1E0 8C490000 */ lw $t1, ($v0) -/* B33384 800BC1E4 24080007 */ li $t0, 7 -/* B33388 800BC1E8 240A0003 */ li $t2, 3 -/* B3338C 800BC1EC A5281074 */ sh $t0, 0x1074($t1) -/* B33390 800BC1F0 8C4B0000 */ lw $t3, ($v0) -/* B33394 800BC1F4 A56A1078 */ sh $t2, 0x1078($t3) -/* B33398 800BC1F8 8C4C0000 */ lw $t4, ($v0) -/* B3339C 800BC1FC A5840190 */ sh $a0, 0x190($t4) -/* B333A0 800BC200 946F01D4 */ lhu $t7, 0x1d4($v1) -/* B333A4 800BC204 A46001E4 */ sh $zero, 0x1e4($v1) -/* B333A8 800BC208 A46001EC */ sh $zero, 0x1ec($v1) -/* B333AC 800BC20C 25F80001 */ addiu $t8, $t7, 1 -/* B333B0 800BC210 1000006B */ b .L800BC3C0 -/* B333B4 800BC214 A47801D4 */ sh $t8, 0x1d4($v1) -.L800BC218: -/* B333B8 800BC218 54410012 */ bnel $v0, $at, .L800BC264 -/* B333BC 800BC21C 24010002 */ li $at, 2 -/* B333C0 800BC220 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* B333C4 800BC224 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570 -/* B333C8 800BC228 8C590000 */ lw $t9, ($v0) -/* B333CC 800BC22C 240E0007 */ li $t6, 7 -/* B333D0 800BC230 24080003 */ li $t0, 3 -/* B333D4 800BC234 A72E1074 */ sh $t6, 0x1074($t9) -/* B333D8 800BC238 8C490000 */ lw $t1, ($v0) -/* B333DC 800BC23C A5281078 */ sh $t0, 0x1078($t1) -/* B333E0 800BC240 8C4A0000 */ lw $t2, ($v0) -/* B333E4 800BC244 A5440190 */ sh $a0, 0x190($t2) -/* B333E8 800BC248 946C01D4 */ lhu $t4, 0x1d4($v1) -/* B333EC 800BC24C A46001E4 */ sh $zero, 0x1e4($v1) -/* B333F0 800BC250 A46001EC */ sh $zero, 0x1ec($v1) -/* B333F4 800BC254 258D0001 */ addiu $t5, $t4, 1 -/* B333F8 800BC258 10000059 */ b .L800BC3C0 -/* B333FC 800BC25C A46D01D4 */ sh $t5, 0x1d4($v1) -/* B33400 800BC260 24010002 */ li $at, 2 -.L800BC264: -/* B33404 800BC264 10410003 */ beq $v0, $at, .L800BC274 -/* B33408 800BC268 24010009 */ li $at, 9 -/* B3340C 800BC26C 14410015 */ bne $v0, $at, .L800BC2C4 -/* B33410 800BC270 00000000 */ nop -.L800BC274: -/* B33414 800BC274 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* B33418 800BC278 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570 -/* B3341C 800BC27C 8C4F0000 */ lw $t7, ($v0) -/* B33420 800BC280 3C048014 */ lui $a0, %hi(D_801440D8) # $a0, 0x8014 -/* B33424 800BC284 248440D8 */ addiu $a0, %lo(D_801440D8) # addiu $a0, $a0, 0x40d8 -/* B33428 800BC288 85E50190 */ lh $a1, 0x190($t7) -/* B3342C 800BC28C 0C00084C */ jal osSyncPrintf -/* B33430 800BC290 AFA3001C */ sw $v1, 0x1c($sp) -/* B33434 800BC294 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* B33438 800BC298 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570 -/* B3343C 800BC29C 8C580000 */ lw $t8, ($v0) -/* B33440 800BC2A0 8FA3001C */ lw $v1, 0x1c($sp) -/* B33444 800BC2A4 870E0190 */ lh $t6, 0x190($t8) -/* B33448 800BC2A8 29C10003 */ slti $at, $t6, 3 -/* B3344C 800BC2AC 54200045 */ bnezl $at, .L800BC3C4 -/* B33450 800BC2B0 8FBF0014 */ lw $ra, 0x14($sp) -/* B33454 800BC2B4 947901D4 */ lhu $t9, 0x1d4($v1) -/* B33458 800BC2B8 27280001 */ addiu $t0, $t9, 1 -/* B3345C 800BC2BC 10000040 */ b .L800BC3C0 -/* B33460 800BC2C0 A46801D4 */ sh $t0, 0x1d4($v1) -.L800BC2C4: -/* B33464 800BC2C4 1040003E */ beqz $v0, .L800BC3C0 -/* B33468 800BC2C8 3C028013 */ lui $v0, %hi(gKaleidoMgrCurOvl) # $v0, 0x8013 -/* B3346C 800BC2CC 8C42D1DC */ lw $v0, %lo(gKaleidoMgrCurOvl)($v0) -/* B33470 800BC2D0 3C098013 */ lui $t1, %hi(gKaleidoMgrOverlayTable) # $t1, 0x8013 -/* B33474 800BC2D4 2529D1A0 */ addiu $t1, %lo(gKaleidoMgrOverlayTable) # addiu $t1, $t1, -0x2e60 -/* B33478 800BC2D8 1122001C */ beq $t1, $v0, .L800BC34C -/* B3347C 800BC2DC 00000000 */ nop -/* B33480 800BC2E0 1040000C */ beqz $v0, .L800BC314 -/* B33484 800BC2E4 3C048014 */ lui $a0, %hi(D_801440F4) # $a0, 0x8014 -/* B33488 800BC2E8 0C00084C */ jal osSyncPrintf -/* B3348C 800BC2EC 248440F4 */ addiu $a0, %lo(D_801440F4) # addiu $a0, $a0, 0x40f4 -/* B33490 800BC2F0 3C048014 */ lui $a0, %hi(D_801440FC) # $a0, 0x8014 -/* B33494 800BC2F4 0C00084C */ jal osSyncPrintf -/* B33498 800BC2F8 248440FC */ addiu $a0, %lo(D_801440FC) # addiu $a0, $a0, 0x40fc -/* B3349C 800BC2FC 3C048014 */ lui $a0, %hi(D_80144120) # $a0, 0x8014 -/* B334A0 800BC300 0C00084C */ jal osSyncPrintf -/* B334A4 800BC304 24844120 */ addiu $a0, %lo(D_80144120) # addiu $a0, $a0, 0x4120 -/* B334A8 800BC308 3C048013 */ lui $a0, %hi(gKaleidoMgrCurOvl) # $a0, 0x8013 -/* B334AC 800BC30C 0C02EF58 */ jal KaleidoManager_ClearOvl -/* B334B0 800BC310 8C84D1DC */ lw $a0, %lo(gKaleidoMgrCurOvl)($a0) -.L800BC314: -/* B334B4 800BC314 3C048014 */ lui $a0, %hi(D_80144124) # $a0, 0x8014 -/* B334B8 800BC318 0C00084C */ jal osSyncPrintf -/* B334BC 800BC31C 24844124 */ addiu $a0, %lo(D_80144124) # addiu $a0, $a0, 0x4124 -/* B334C0 800BC320 3C048014 */ lui $a0, %hi(D_8014412C) # $a0, 0x8014 -/* B334C4 800BC324 0C00084C */ jal osSyncPrintf -/* B334C8 800BC328 2484412C */ addiu $a0, %lo(D_8014412C) # addiu $a0, $a0, 0x412c -/* B334CC 800BC32C 3C048014 */ lui $a0, %hi(D_80144150) # $a0, 0x8014 -/* B334D0 800BC330 0C00084C */ jal osSyncPrintf -/* B334D4 800BC334 24844150 */ addiu $a0, %lo(D_80144150) # addiu $a0, $a0, 0x4150 -/* B334D8 800BC338 3C048013 */ lui $a0, %hi(gKaleidoMgrOverlayTable) # $a0, 0x8013 -/* B334DC 800BC33C 0C02EF24 */ jal KaleidoManager_LoadOvl -/* B334E0 800BC340 2484D1A0 */ addiu $a0, %lo(gKaleidoMgrOverlayTable) # addiu $a0, $a0, -0x2e60 -/* B334E4 800BC344 3C028013 */ lui $v0, %hi(gKaleidoMgrCurOvl) # $v0, 0x8013 -/* B334E8 800BC348 8C42D1DC */ lw $v0, %lo(gKaleidoMgrCurOvl)($v0) -.L800BC34C: -/* B334EC 800BC34C 3C0A8013 */ lui $t2, %hi(gKaleidoMgrOverlayTable) # $t2, 0x8013 -/* B334F0 800BC350 254AD1A0 */ addiu $t2, %lo(gKaleidoMgrOverlayTable) # addiu $t2, $t2, -0x2e60 -/* B334F4 800BC354 1542001A */ bne $t2, $v0, .L800BC3C0 -/* B334F8 800BC358 3C198016 */ lui $t9, %hi(sKaleidoScopeUpdateFunc) # $t9, 0x8016 -/* B334FC 800BC35C 8F391390 */ lw $t9, %lo(sKaleidoScopeUpdateFunc)($t9) -/* B33500 800BC360 8FA40028 */ lw $a0, 0x28($sp) -/* B33504 800BC364 0320F809 */ jalr $t9 -/* B33508 800BC368 00000000 */ nop -/* B3350C 800BC36C 8FAB0018 */ lw $t3, 0x18($sp) -/* B33510 800BC370 956C0934 */ lhu $t4, 0x934($t3) -/* B33514 800BC374 55800013 */ bnezl $t4, .L800BC3C4 -/* B33518 800BC378 8FBF0014 */ lw $ra, 0x14($sp) -/* B3351C 800BC37C 956D0936 */ lhu $t5, 0x936($t3) -/* B33520 800BC380 3C048014 */ lui $a0, %hi(D_80144154) # $a0, 0x8014 -/* B33524 800BC384 55A0000F */ bnezl $t5, .L800BC3C4 -/* B33528 800BC388 8FBF0014 */ lw $ra, 0x14($sp) -/* B3352C 800BC38C 0C00084C */ jal osSyncPrintf -/* B33530 800BC390 24844154 */ addiu $a0, %lo(D_80144154) # addiu $a0, $a0, 0x4154 -/* B33534 800BC394 3C048014 */ lui $a0, %hi(D_8014415C) # $a0, 0x8014 -/* B33538 800BC398 0C00084C */ jal osSyncPrintf -/* B3353C 800BC39C 2484415C */ addiu $a0, %lo(D_8014415C) # addiu $a0, $a0, 0x415c -/* B33540 800BC3A0 3C048014 */ lui $a0, %hi(D_80144180) # $a0, 0x8014 -/* B33544 800BC3A4 0C00084C */ jal osSyncPrintf -/* B33548 800BC3A8 24844180 */ addiu $a0, %lo(D_80144180) # addiu $a0, $a0, 0x4180 -/* B3354C 800BC3AC 3C048013 */ lui $a0, %hi(gKaleidoMgrOverlayTable) # $a0, 0x8013 -/* B33550 800BC3B0 0C02EF58 */ jal KaleidoManager_ClearOvl -/* B33554 800BC3B4 2484D1A0 */ addiu $a0, %lo(gKaleidoMgrOverlayTable) # addiu $a0, $a0, -0x2e60 -/* B33558 800BC3B8 0C02EFF0 */ jal KaleidoScopeCall_LoadPlayer -/* B3355C 800BC3BC 00000000 */ nop -.L800BC3C0: -/* B33560 800BC3C0 8FBF0014 */ lw $ra, 0x14($sp) -.L800BC3C4: -/* B33564 800BC3C4 27BD0028 */ addiu $sp, $sp, 0x28 -/* B33568 800BC3C8 03E00008 */ jr $ra -/* B3356C 800BC3CC 00000000 */ nop - diff --git a/asm/non_matchings/code/z_parameter/Interface_DrawItemButtons.s b/asm/non_matchings/code/z_parameter/Interface_DrawItemButtons.s deleted file mode 100644 index c9fa4f2e05..0000000000 --- a/asm/non_matchings/code/z_parameter/Interface_DrawItemButtons.s +++ /dev/null @@ -1,940 +0,0 @@ -.rdata -glabel D_8013E2D8 - .asciz "../z_parameter.c" - .balign 4 - -glabel D_8013E2EC - .asciz "../z_parameter.c" - .balign 4 - -.text -glabel Interface_DrawItemButtons -/* AFFE5C 80088CBC 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* AFFE60 80088CC0 AFBF002C */ sw $ra, 0x2c($sp) -/* AFFE64 80088CC4 AFA40158 */ sw $a0, 0x158($sp) -/* AFFE68 80088CC8 8C8F1C44 */ lw $t7, 0x1c44($a0) -/* AFFE6C 80088CCC 3C068014 */ lui $a2, %hi(D_8013E2D8) # $a2, 0x8014 -/* AFFE70 80088CD0 24C6E2D8 */ addiu $a2, %lo(D_8013E2D8) # addiu $a2, $a2, -0x1d28 -/* AFFE74 80088CD4 AFAF0150 */ sw $t7, 0x150($sp) -/* AFFE78 80088CD8 8C850000 */ lw $a1, ($a0) -/* AFFE7C 80088CDC 27A40130 */ addiu $a0, $sp, 0x130 -/* AFFE80 80088CE0 24070B54 */ li $a3, 2900 -/* AFFE84 80088CE4 0C031AB1 */ jal Graph_OpenDisps -/* AFFE88 80088CE8 AFA50140 */ sw $a1, 0x140($sp) -/* AFFE8C 80088CEC 8FAA0140 */ lw $t2, 0x140($sp) -/* AFFE90 80088CF0 3C19E700 */ lui $t9, 0xe700 -/* AFFE94 80088CF4 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11 -/* AFFE98 80088CF8 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFE9C 80088CFC 35CE9623 */ ori $t6, (0xFC119623 & 0xFFFF) # ori $t6, $t6, 0x9623 -/* AFFEA0 80088D00 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 -/* AFFEA4 80088D04 24980008 */ addiu $t8, $a0, 8 -/* AFFEA8 80088D08 AD5802B0 */ sw $t8, 0x2b0($t2) -/* AFFEAC 80088D0C AC800004 */ sw $zero, 4($a0) -/* AFFEB0 80088D10 AC990000 */ sw $t9, ($a0) -/* AFFEB4 80088D14 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFEB8 80088D18 3C18FF2F */ lui $t8, (0xFF2FFFFF >> 16) # lui $t8, 0xff2f -/* AFFEBC 80088D1C 3718FFFF */ ori $t8, (0xFF2FFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* AFFEC0 80088D20 248F0008 */ addiu $t7, $a0, 8 -/* AFFEC4 80088D24 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* AFFEC8 80088D28 AC980004 */ sw $t8, 4($a0) -/* AFFECC 80088D2C AC8E0000 */ sw $t6, ($a0) -/* AFFED0 80088D30 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFED4 80088D34 3C0DFA00 */ lui $t5, 0xfa00 -/* AFFED8 80088D38 256BFA90 */ addiu $t3, %lo(gGameInfo) # addiu $t3, $t3, -0x570 -/* AFFEDC 80088D3C 24990008 */ addiu $t9, $a0, 8 -/* AFFEE0 80088D40 AD5902B0 */ sw $t9, 0x2b0($t2) -/* AFFEE4 80088D44 AC8D0000 */ sw $t5, ($a0) -/* AFFEE8 80088D48 8D620000 */ lw $v0, ($t3) -/* AFFEEC 80088D4C 8FAC0158 */ lw $t4, 0x158($sp) -/* AFFEF0 80088D50 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1 -/* AFFEF4 80088D54 844F07EE */ lh $t7, 0x7ee($v0) -/* AFFEF8 80088D58 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0 -/* AFFEFC 80088D5C 01816021 */ addu $t4, $t4, $at -/* AFFF00 80088D60 31EE00FF */ andi $t6, $t7, 0xff -/* AFFF04 80088D64 844F07EA */ lh $t7, 0x7ea($v0) -/* AFFF08 80088D68 000EC200 */ sll $t8, $t6, 8 -/* AFFF0C 80088D6C 3C050200 */ lui $a1, %hi(D_02000A00) # $a1, 0x200 -/* AFFF10 80088D70 000F7600 */ sll $t6, $t7, 0x18 -/* AFFF14 80088D74 844F07EC */ lh $t7, 0x7ec($v0) -/* AFFF18 80088D78 030EC825 */ or $t9, $t8, $t6 -/* AFFF1C 80088D7C 24A50A00 */ addiu $a1, %lo(D_02000A00) # addiu $a1, $a1, 0xa00 -/* AFFF20 80088D80 31F800FF */ andi $t8, $t7, 0xff -/* AFFF24 80088D84 00187400 */ sll $t6, $t8, 0x10 -/* AFFF28 80088D88 95980248 */ lhu $t8, 0x248($t4) -/* AFFF2C 80088D8C 032E7825 */ or $t7, $t9, $t6 -/* AFFF30 80088D90 24060020 */ li $a2, 32 -/* AFFF34 80088D94 331900FF */ andi $t9, $t8, 0xff -/* AFFF38 80088D98 01F97025 */ or $t6, $t7, $t9 -/* AFFF3C 80088D9C AC8E0004 */ sw $t6, 4($a0) -/* AFFF40 80088DA0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFF44 80088DA4 241900FF */ li $t9, 255 -/* AFFF48 80088DA8 3C0FFB00 */ lui $t7, 0xfb00 -/* AFFF4C 80088DAC 24980008 */ addiu $t8, $a0, 8 -/* AFFF50 80088DB0 AD5802B0 */ sw $t8, 0x2b0($t2) -/* AFFF54 80088DB4 AC990004 */ sw $t9, 4($a0) -/* AFFF58 80088DB8 AC8F0000 */ sw $t7, ($a0) -/* AFFF5C 80088DBC 8D620000 */ lw $v0, ($t3) -/* AFFF60 80088DC0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFF64 80088DC4 24070020 */ li $a3, 32 -/* AFFF68 80088DC8 844E0820 */ lh $t6, 0x820($v0) -/* AFFF6C 80088DCC AFAE0010 */ sw $t6, 0x10($sp) -/* AFFF70 80088DD0 84580828 */ lh $t8, 0x828($v0) -/* AFFF74 80088DD4 AFB80014 */ sw $t8, 0x14($sp) -/* AFFF78 80088DD8 84430FB4 */ lh $v1, 0xfb4($v0) -/* AFFF7C 80088DDC AFA30018 */ sw $v1, 0x18($sp) -/* AFFF80 80088DE0 AFA3001C */ sw $v1, 0x1c($sp) -/* AFFF84 80088DE4 84480830 */ lh $t0, 0x830($v0) -/* AFFF88 80088DE8 AFAC003C */ sw $t4, 0x3c($sp) -/* AFFF8C 80088DEC AFAA0140 */ sw $t2, 0x140($sp) -/* AFFF90 80088DF0 00084040 */ sll $t0, $t0, 1 -/* AFFF94 80088DF4 3108FFFF */ andi $t0, $t0, 0xffff -/* AFFF98 80088DF8 AFA80020 */ sw $t0, 0x20($sp) -/* AFFF9C 80088DFC 0C0210A6 */ jal Gfx_TextureIA8 -/* AFFFA0 80088E00 AFA80024 */ sw $t0, 0x24($sp) -/* AFFFA4 80088E04 8FAA0140 */ lw $t2, 0x140($sp) -/* AFFFA8 80088E08 8FAC003C */ lw $t4, 0x3c($sp) -/* AFFFAC 80088E0C 244F0008 */ addiu $t7, $v0, 8 -/* AFFFB0 80088E10 AD4202B0 */ sw $v0, 0x2b0($t2) -/* AFFFB4 80088E14 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* AFFFB8 80088E18 3C08E700 */ lui $t0, 0xe700 -/* AFFFBC 80088E1C AC480000 */ sw $t0, ($v0) -/* AFFFC0 80088E20 AC400004 */ sw $zero, 4($v0) -/* AFFFC4 80088E24 8D4402B0 */ lw $a0, 0x2b0($t2) -/* AFFFC8 80088E28 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 -/* AFFFCC 80088E2C 3C0DFA00 */ lui $t5, 0xfa00 -/* AFFFD0 80088E30 24990008 */ addiu $t9, $a0, 8 -/* AFFFD4 80088E34 AD5902B0 */ sw $t9, 0x2b0($t2) -/* AFFFD8 80088E38 256BFA90 */ addiu $t3, %lo(gGameInfo) # addiu $t3, $t3, -0x570 -/* AFFFDC 80088E3C AC8D0000 */ sw $t5, ($a0) -/* AFFFE0 80088E40 8D620000 */ lw $v0, ($t3) -/* AFFFE4 80088E44 3C06E400 */ lui $a2, 0xe400 -/* AFFFE8 80088E48 3C07E100 */ lui $a3, 0xe100 -/* AFFFEC 80088E4C 844E07E6 */ lh $t6, 0x7e6($v0) -/* AFFFF0 80088E50 3C01E400 */ lui $at, 0xe400 -/* AFFFF4 80088E54 31D800FF */ andi $t8, $t6, 0xff -/* AFFFF8 80088E58 844E07E2 */ lh $t6, 0x7e2($v0) -/* AFFFFC 80088E5C 00187A00 */ sll $t7, $t8, 8 -/* B00000 80088E60 000EC600 */ sll $t8, $t6, 0x18 -/* B00004 80088E64 844E07E4 */ lh $t6, 0x7e4($v0) -/* B00008 80088E68 01F8C825 */ or $t9, $t7, $t8 -/* B0000C 80088E6C 31CF00FF */ andi $t7, $t6, 0xff -/* B00010 80088E70 000FC400 */ sll $t8, $t7, 0x10 -/* B00014 80088E74 958F024A */ lhu $t7, 0x24a($t4) -/* B00018 80088E78 03387025 */ or $t6, $t9, $t8 -/* B0001C 80088E7C 31F900FF */ andi $t9, $t7, 0xff -/* B00020 80088E80 01D9C025 */ or $t8, $t6, $t9 -/* B00024 80088E84 AC980004 */ sw $t8, 4($a0) -/* B00028 80088E88 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0002C 80088E8C 248F0008 */ addiu $t7, $a0, 8 -/* B00030 80088E90 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00034 80088E94 8D620000 */ lw $v0, ($t3) -/* B00038 80088E98 84450FB6 */ lh $a1, 0xfb6($v0) -/* B0003C 80088E9C 844E082A */ lh $t6, 0x82a($v0) -/* B00040 80088EA0 00AEC821 */ addu $t9, $a1, $t6 -/* B00044 80088EA4 0019C080 */ sll $t8, $t9, 2 -/* B00048 80088EA8 84590822 */ lh $t9, 0x822($v0) -/* B0004C 80088EAC 330F0FFF */ andi $t7, $t8, 0xfff -/* B00050 80088EB0 01E67025 */ or $t6, $t7, $a2 -/* B00054 80088EB4 0325C021 */ addu $t8, $t9, $a1 -/* B00058 80088EB8 00187880 */ sll $t7, $t8, 2 -/* B0005C 80088EBC 31F90FFF */ andi $t9, $t7, 0xfff -/* B00060 80088EC0 0019C300 */ sll $t8, $t9, 0xc -/* B00064 80088EC4 01D87825 */ or $t7, $t6, $t8 -/* B00068 80088EC8 AC8F0000 */ sw $t7, ($a0) -/* B0006C 80088ECC 8D620000 */ lw $v0, ($t3) -/* B00070 80088ED0 8459082A */ lh $t9, 0x82a($v0) -/* B00074 80088ED4 844F0822 */ lh $t7, 0x822($v0) -/* B00078 80088ED8 00197080 */ sll $t6, $t9, 2 -/* B0007C 80088EDC 31D80FFF */ andi $t8, $t6, 0xfff -/* B00080 80088EE0 000FC880 */ sll $t9, $t7, 2 -/* B00084 80088EE4 332E0FFF */ andi $t6, $t9, 0xfff -/* B00088 80088EE8 000E7B00 */ sll $t7, $t6, 0xc -/* B0008C 80088EEC 030FC825 */ or $t9, $t8, $t7 -/* B00090 80088EF0 AC990004 */ sw $t9, 4($a0) -/* B00094 80088EF4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00098 80088EF8 3C0FF100 */ lui $t7, 0xf100 -/* B0009C 80088EFC 248E0008 */ addiu $t6, $a0, 8 -/* B000A0 80088F00 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B000A4 80088F04 AC800004 */ sw $zero, 4($a0) -/* B000A8 80088F08 AC870000 */ sw $a3, ($a0) -/* B000AC 80088F0C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B000B0 80088F10 24980008 */ addiu $t8, $a0, 8 -/* B000B4 80088F14 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B000B8 80088F18 AC8F0000 */ sw $t7, ($a0) -/* B000BC 80088F1C 8D790000 */ lw $t9, ($t3) -/* B000C0 80088F20 87230832 */ lh $v1, 0x832($t9) -/* B000C4 80088F24 00031840 */ sll $v1, $v1, 1 -/* B000C8 80088F28 3063FFFF */ andi $v1, $v1, 0xffff -/* B000CC 80088F2C 00037400 */ sll $t6, $v1, 0x10 -/* B000D0 80088F30 006EC025 */ or $t8, $v1, $t6 -/* B000D4 80088F34 AC980004 */ sw $t8, 4($a0) -/* B000D8 80088F38 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B000DC 80088F3C 248F0008 */ addiu $t7, $a0, 8 -/* B000E0 80088F40 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B000E4 80088F44 AC8D0000 */ sw $t5, ($a0) -/* B000E8 80088F48 8D620000 */ lw $v0, ($t3) -/* B000EC 80088F4C 845907E6 */ lh $t9, 0x7e6($v0) -/* B000F0 80088F50 332E00FF */ andi $t6, $t9, 0xff -/* B000F4 80088F54 845907E2 */ lh $t9, 0x7e2($v0) -/* B000F8 80088F58 000EC200 */ sll $t8, $t6, 8 -/* B000FC 80088F5C 00197600 */ sll $t6, $t9, 0x18 -/* B00100 80088F60 845907E4 */ lh $t9, 0x7e4($v0) -/* B00104 80088F64 030E7825 */ or $t7, $t8, $t6 -/* B00108 80088F68 333800FF */ andi $t8, $t9, 0xff -/* B0010C 80088F6C 00187400 */ sll $t6, $t8, 0x10 -/* B00110 80088F70 9598024C */ lhu $t8, 0x24c($t4) -/* B00114 80088F74 01EEC825 */ or $t9, $t7, $t6 -/* B00118 80088F78 330F00FF */ andi $t7, $t8, 0xff -/* B0011C 80088F7C 032F7025 */ or $t6, $t9, $t7 -/* B00120 80088F80 AC8E0004 */ sw $t6, 4($a0) -/* B00124 80088F84 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00128 80088F88 24980008 */ addiu $t8, $a0, 8 -/* B0012C 80088F8C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00130 80088F90 8D620000 */ lw $v0, ($t3) -/* B00134 80088F94 84450FB8 */ lh $a1, 0xfb8($v0) -/* B00138 80088F98 8459082C */ lh $t9, 0x82c($v0) -/* B0013C 80088F9C 00B97821 */ addu $t7, $a1, $t9 -/* B00140 80088FA0 000F7080 */ sll $t6, $t7, 2 -/* B00144 80088FA4 844F0824 */ lh $t7, 0x824($v0) -/* B00148 80088FA8 31D80FFF */ andi $t8, $t6, 0xfff -/* B0014C 80088FAC 0306C825 */ or $t9, $t8, $a2 -/* B00150 80088FB0 01E57021 */ addu $t6, $t7, $a1 -/* B00154 80088FB4 000EC080 */ sll $t8, $t6, 2 -/* B00158 80088FB8 330F0FFF */ andi $t7, $t8, 0xfff -/* B0015C 80088FBC 000F7300 */ sll $t6, $t7, 0xc -/* B00160 80088FC0 032EC025 */ or $t8, $t9, $t6 -/* B00164 80088FC4 AC980000 */ sw $t8, ($a0) -/* B00168 80088FC8 8D620000 */ lw $v0, ($t3) -/* B0016C 80088FCC 844F082C */ lh $t7, 0x82c($v0) -/* B00170 80088FD0 84580824 */ lh $t8, 0x824($v0) -/* B00174 80088FD4 000FC880 */ sll $t9, $t7, 2 -/* B00178 80088FD8 332E0FFF */ andi $t6, $t9, 0xfff -/* B0017C 80088FDC 00187880 */ sll $t7, $t8, 2 -/* B00180 80088FE0 31F90FFF */ andi $t9, $t7, 0xfff -/* B00184 80088FE4 0019C300 */ sll $t8, $t9, 0xc -/* B00188 80088FE8 01D87825 */ or $t7, $t6, $t8 -/* B0018C 80088FEC AC8F0004 */ sw $t7, 4($a0) -/* B00190 80088FF0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00194 80088FF4 3C18F100 */ lui $t8, 0xf100 -/* B00198 80088FF8 24990008 */ addiu $t9, $a0, 8 -/* B0019C 80088FFC AD5902B0 */ sw $t9, 0x2b0($t2) -/* B001A0 80089000 AC800004 */ sw $zero, 4($a0) -/* B001A4 80089004 AC870000 */ sw $a3, ($a0) -/* B001A8 80089008 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B001AC 8008900C 248E0008 */ addiu $t6, $a0, 8 -/* B001B0 80089010 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B001B4 80089014 AC980000 */ sw $t8, ($a0) -/* B001B8 80089018 8D6F0000 */ lw $t7, ($t3) -/* B001BC 8008901C 85E30834 */ lh $v1, 0x834($t7) -/* B001C0 80089020 00031840 */ sll $v1, $v1, 1 -/* B001C4 80089024 3063FFFF */ andi $v1, $v1, 0xffff -/* B001C8 80089028 0003CC00 */ sll $t9, $v1, 0x10 -/* B001CC 8008902C 00797025 */ or $t6, $v1, $t9 -/* B001D0 80089030 AC8E0004 */ sw $t6, 4($a0) -/* B001D4 80089034 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B001D8 80089038 24980008 */ addiu $t8, $a0, 8 -/* B001DC 8008903C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B001E0 80089040 AC8D0000 */ sw $t5, ($a0) -/* B001E4 80089044 8D620000 */ lw $v0, ($t3) -/* B001E8 80089048 844F07E6 */ lh $t7, 0x7e6($v0) -/* B001EC 8008904C 31F900FF */ andi $t9, $t7, 0xff -/* B001F0 80089050 844F07E2 */ lh $t7, 0x7e2($v0) -/* B001F4 80089054 00197200 */ sll $t6, $t9, 8 -/* B001F8 80089058 000FCE00 */ sll $t9, $t7, 0x18 -/* B001FC 8008905C 844F07E4 */ lh $t7, 0x7e4($v0) -/* B00200 80089060 01D9C025 */ or $t8, $t6, $t9 -/* B00204 80089064 31EE00FF */ andi $t6, $t7, 0xff -/* B00208 80089068 000ECC00 */ sll $t9, $t6, 0x10 -/* B0020C 8008906C 958E024E */ lhu $t6, 0x24e($t4) -/* B00210 80089070 03197825 */ or $t7, $t8, $t9 -/* B00214 80089074 31D800FF */ andi $t8, $t6, 0xff -/* B00218 80089078 01F8C825 */ or $t9, $t7, $t8 -/* B0021C 8008907C AC990004 */ sw $t9, 4($a0) -/* B00220 80089080 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00224 80089084 248E0008 */ addiu $t6, $a0, 8 -/* B00228 80089088 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B0022C 8008908C 8D620000 */ lw $v0, ($t3) -/* B00230 80089090 84450FBA */ lh $a1, 0xfba($v0) -/* B00234 80089094 844F082E */ lh $t7, 0x82e($v0) -/* B00238 80089098 00AFC021 */ addu $t8, $a1, $t7 -/* B0023C 8008909C 0018C880 */ sll $t9, $t8, 2 -/* B00240 800890A0 84580826 */ lh $t8, 0x826($v0) -/* B00244 800890A4 332E0FFF */ andi $t6, $t9, 0xfff -/* B00248 800890A8 01C17825 */ or $t7, $t6, $at -/* B0024C 800890AC 0305C821 */ addu $t9, $t8, $a1 -/* B00250 800890B0 00197080 */ sll $t6, $t9, 2 -/* B00254 800890B4 31D80FFF */ andi $t8, $t6, 0xfff -/* B00258 800890B8 0018CB00 */ sll $t9, $t8, 0xc -/* B0025C 800890BC 01F97025 */ or $t6, $t7, $t9 -/* B00260 800890C0 AC8E0000 */ sw $t6, ($a0) -/* B00264 800890C4 8D620000 */ lw $v0, ($t3) -/* B00268 800890C8 8458082E */ lh $t8, 0x82e($v0) -/* B0026C 800890CC 844E0826 */ lh $t6, 0x826($v0) -/* B00270 800890D0 3C020001 */ lui $v0, 1 -/* B00274 800890D4 00187880 */ sll $t7, $t8, 2 -/* B00278 800890D8 31F90FFF */ andi $t9, $t7, 0xfff -/* B0027C 800890DC 000EC080 */ sll $t8, $t6, 2 -/* B00280 800890E0 330F0FFF */ andi $t7, $t8, 0xfff -/* B00284 800890E4 000F7300 */ sll $t6, $t7, 0xc -/* B00288 800890E8 032EC025 */ or $t8, $t9, $t6 -/* B0028C 800890EC AC980004 */ sw $t8, 4($a0) -/* B00290 800890F0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00294 800890F4 3C19E100 */ lui $t9, 0xe100 -/* B00298 800890F8 3C18F100 */ lui $t8, 0xf100 -/* B0029C 800890FC 248F0008 */ addiu $t7, $a0, 8 -/* B002A0 80089100 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B002A4 80089104 AC800004 */ sw $zero, 4($a0) -/* B002A8 80089108 AC990000 */ sw $t9, ($a0) -/* B002AC 8008910C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B002B0 80089110 248E0008 */ addiu $t6, $a0, 8 -/* B002B4 80089114 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B002B8 80089118 AC980000 */ sw $t8, ($a0) -/* B002BC 8008911C 8D6F0000 */ lw $t7, ($t3) -/* B002C0 80089120 85E30836 */ lh $v1, 0x836($t7) -/* B002C4 80089124 00031840 */ sll $v1, $v1, 1 -/* B002C8 80089128 3063FFFF */ andi $v1, $v1, 0xffff -/* B002CC 8008912C 0003CC00 */ sll $t9, $v1, 0x10 -/* B002D0 80089130 00797025 */ or $t6, $v1, $t9 -/* B002D4 80089134 AC8E0004 */ sw $t6, 4($a0) -/* B002D8 80089138 8FB80158 */ lw $t8, 0x158($sp) -/* B002DC 8008913C 00581021 */ addu $v0, $v0, $t8 -/* B002E0 80089140 94420934 */ lhu $v0, 0x934($v0) -/* B002E4 80089144 28410008 */ slti $at, $v0, 8 -/* B002E8 80089148 14200003 */ bnez $at, .L80089158 -/* B002EC 8008914C 28410012 */ slti $at, $v0, 0x12 -/* B002F0 80089150 542000E4 */ bnezl $at, .L800894E4 -/* B002F4 80089154 859801F8 */ lh $t8, 0x1f8($t4) -.L80089158: -/* B002F8 80089158 8FA20158 */ lw $v0, 0x158($sp) -/* B002FC 8008915C 3C010001 */ lui $at, 1 -/* B00300 80089160 00411021 */ addu $v0, $v0, $at -/* B00304 80089164 944F0934 */ lhu $t7, 0x934($v0) -/* B00308 80089168 55E00005 */ bnezl $t7, .L80089180 -/* B0030C 8008916C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00310 80089170 94590936 */ lhu $t9, 0x936($v0) -/* B00314 80089174 532000DB */ beql $t9, $zero, .L800894E4 -/* B00318 80089178 859801F8 */ lh $t8, 0x1f8($t4) -/* B0031C 8008917C 8D4402B0 */ lw $a0, 0x2b0($t2) -.L80089180: -/* B00320 80089180 3C017878 */ lui $at, (0x78787800 >> 16) # lui $at, 0x7878 -/* B00324 80089184 34217800 */ ori $at, (0x78787800 & 0xFFFF) # ori $at, $at, 0x7800 -/* B00328 80089188 248E0008 */ addiu $t6, $a0, 8 -/* B0032C 8008918C AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B00330 80089190 AC800004 */ sw $zero, 4($a0) -/* B00334 80089194 AC880000 */ sw $t0, ($a0) -/* B00338 80089198 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0033C 8008919C 3C1F8016 */ lui $ra, %hi(gSaveContext) # $ra, 0x8016 -/* B00340 800891A0 27FFE660 */ addiu $ra, %lo(gSaveContext) # addiu $ra, $ra, -0x19a0 -/* B00344 800891A4 24980008 */ addiu $t8, $a0, 8 -/* B00348 800891A8 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B0034C 800891AC AC8D0000 */ sw $t5, ($a0) -/* B00350 800891B0 858F0256 */ lh $t7, 0x256($t4) -/* B00354 800891B4 3C038012 */ lui $v1, %hi(sStartButtonLeftPos) # $v1, 0x8012 -/* B00358 800891B8 24635AE4 */ addiu $v1, %lo(sStartButtonLeftPos) # addiu $v1, $v1, 0x5ae4 -/* B0035C 800891BC 31F900FF */ andi $t9, $t7, 0xff -/* B00360 800891C0 03217025 */ or $t6, $t9, $at -/* B00364 800891C4 AC8E0004 */ sw $t6, 4($a0) -/* B00368 800891C8 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0036C 800891CC 3C01E400 */ lui $at, 0xe400 -/* B00370 800891D0 24980008 */ addiu $t8, $a0, 8 -/* B00374 800891D4 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00378 800891D8 93EF1409 */ lbu $t7, 0x1409($ra) -/* B0037C 800891DC 000FC840 */ sll $t9, $t7, 1 -/* B00380 800891E0 00797021 */ addu $t6, $v1, $t9 -/* B00384 800891E4 85D80000 */ lh $t8, ($t6) -/* B00388 800891E8 270F0016 */ addiu $t7, $t8, 0x16 -/* B0038C 800891EC 000FC880 */ sll $t9, $t7, 2 -/* B00390 800891F0 332E0FFF */ andi $t6, $t9, 0xfff -/* B00394 800891F4 000EC300 */ sll $t8, $t6, 0xc -/* B00398 800891F8 03017825 */ or $t7, $t8, $at -/* B0039C 800891FC 35F9009C */ ori $t9, $t7, 0x9c -/* B003A0 80089200 AC990000 */ sw $t9, ($a0) -/* B003A4 80089204 93EE1409 */ lbu $t6, 0x1409($ra) -/* B003A8 80089208 2401FF00 */ li $at, -256 -/* B003AC 8008920C 000EC040 */ sll $t8, $t6, 1 -/* B003B0 80089210 00787821 */ addu $t7, $v1, $t8 -/* B003B4 80089214 85F90000 */ lh $t9, ($t7) -/* B003B8 80089218 00197080 */ sll $t6, $t9, 2 -/* B003BC 8008921C 31D80FFF */ andi $t8, $t6, 0xfff -/* B003C0 80089220 00187B00 */ sll $t7, $t8, 0xc -/* B003C4 80089224 35F90044 */ ori $t9, $t7, 0x44 -/* B003C8 80089228 AC990004 */ sw $t9, 4($a0) -/* B003CC 8008922C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B003D0 80089230 3C18E100 */ lui $t8, 0xe100 -/* B003D4 80089234 3C19F100 */ lui $t9, 0xf100 -/* B003D8 80089238 248E0008 */ addiu $t6, $a0, 8 -/* B003DC 8008923C AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B003E0 80089240 AC800004 */ sw $zero, 4($a0) -/* B003E4 80089244 AC980000 */ sw $t8, ($a0) -/* B003E8 80089248 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B003EC 8008924C 3C0E05B6 */ lui $t6, (0x05B605B6 >> 16) # lui $t6, 0x5b6 -/* B003F0 80089250 35CE05B6 */ ori $t6, (0x05B605B6 & 0xFFFF) # ori $t6, $t6, 0x5b6 -/* B003F4 80089254 248F0008 */ addiu $t7, $a0, 8 -/* B003F8 80089258 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B003FC 8008925C AC8E0004 */ sw $t6, 4($a0) -/* B00400 80089260 AC990000 */ sw $t9, ($a0) -/* B00404 80089264 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00408 80089268 24980008 */ addiu $t8, $a0, 8 -/* B0040C 8008926C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00410 80089270 AC800004 */ sw $zero, 4($a0) -/* B00414 80089274 AC880000 */ sw $t0, ($a0) -/* B00418 80089278 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0041C 8008927C 248F0008 */ addiu $t7, $a0, 8 -/* B00420 80089280 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00424 80089284 AC8D0000 */ sw $t5, ($a0) -/* B00428 80089288 85990256 */ lh $t9, 0x256($t4) -/* B0042C 8008928C 332E00FF */ andi $t6, $t9, 0xff -/* B00430 80089290 01C1C025 */ or $t8, $t6, $at -/* B00434 80089294 AC980004 */ sw $t8, 4($a0) -/* B00438 80089298 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0043C 8008929C 3C19FB00 */ lui $t9, 0xfb00 -/* B00440 800892A0 3C18FC30 */ lui $t8, (0xFC309661 >> 16) # lui $t8, 0xfc30 -/* B00444 800892A4 248F0008 */ addiu $t7, $a0, 8 -/* B00448 800892A8 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B0044C 800892AC AC800004 */ sw $zero, 4($a0) -/* B00450 800892B0 AC990000 */ sw $t9, ($a0) -/* B00454 800892B4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00458 800892B8 3C0F552E */ lui $t7, (0x552EFF7F >> 16) # lui $t7, 0x552e -/* B0045C 800892BC 35EFFF7F */ ori $t7, (0x552EFF7F & 0xFFFF) # ori $t7, $t7, 0xff7f -/* B00460 800892C0 248E0008 */ addiu $t6, $a0, 8 -/* B00464 800892C4 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B00468 800892C8 37189661 */ ori $t8, (0xFC309661 & 0xFFFF) # ori $t8, $t8, 0x9661 -/* B0046C 800892CC AC980000 */ sw $t8, ($a0) -/* B00470 800892D0 AC8F0004 */ sw $t7, 4($a0) -/* B00474 800892D4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00478 800892D8 3C0EFD70 */ lui $t6, 0xfd70 -/* B0047C 800892DC 3C0142C8 */ lui $at, 0x42c8 -/* B00480 800892E0 24990008 */ addiu $t9, $a0, 8 -/* B00484 800892E4 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B00488 800892E8 AC8E0000 */ sw $t6, ($a0) -/* B0048C 800892EC 8D980134 */ lw $t8, 0x134($t4) -/* B00490 800892F0 3C0EF570 */ li $t6, 0xF5700000 # 0.000000 -/* B00494 800892F4 44814000 */ mtc1 $at, $f8 -/* B00498 800892F8 270F0300 */ addiu $t7, $t8, 0x300 -/* B0049C 800892FC AC8F0004 */ sw $t7, 4($a0) -/* B004A0 80089300 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B004A4 80089304 3C180700 */ lui $t8, 0x700 -/* B004A8 80089308 3C014480 */ lui $at, 0x4480 -/* B004AC 8008930C 24990008 */ addiu $t9, $a0, 8 -/* B004B0 80089310 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B004B4 80089314 AC980004 */ sw $t8, 4($a0) -/* B004B8 80089318 AC8E0000 */ sw $t6, ($a0) -/* B004BC 8008931C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B004C0 80089320 3C19E600 */ lui $t9, 0xe600 -/* B004C4 80089324 3C18F300 */ lui $t8, 0xf300 -/* B004C8 80089328 248F0008 */ addiu $t7, $a0, 8 -/* B004CC 8008932C AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B004D0 80089330 AC800004 */ sw $zero, 4($a0) -/* B004D4 80089334 AC990000 */ sw $t9, ($a0) -/* B004D8 80089338 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B004DC 8008933C 3C0F070B */ lui $t7, (0x070BF2AB >> 16) # lui $t7, 0x70b -/* B004E0 80089340 35EFF2AB */ ori $t7, (0x070BF2AB & 0xFFFF) # ori $t7, $t7, 0xf2ab -/* B004E4 80089344 248E0008 */ addiu $t6, $a0, 8 -/* B004E8 80089348 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B004EC 8008934C AC8F0004 */ sw $t7, 4($a0) -/* B004F0 80089350 AC980000 */ sw $t8, ($a0) -/* B004F4 80089354 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B004F8 80089358 3C18F560 */ lui $t8, (0xF5600600 >> 16) # lui $t8, 0xf560 -/* B004FC 8008935C 37180600 */ ori $t8, (0xF5600600 & 0xFFFF) # ori $t8, $t8, 0x600 -/* B00500 80089360 24990008 */ addiu $t9, $a0, 8 -/* B00504 80089364 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B00508 80089368 AC800004 */ sw $zero, 4($a0) -/* B0050C 8008936C AC880000 */ sw $t0, ($a0) -/* B00510 80089370 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00514 80089374 3C19F200 */ li $t9, 0xF2000000 # 0.000000 -/* B00518 80089378 44815000 */ mtc1 $at, $f10 -/* B0051C 8008937C 248E0008 */ addiu $t6, $a0, 8 -/* B00520 80089380 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B00524 80089384 AC800004 */ sw $zero, 4($a0) -/* B00528 80089388 AC980000 */ sw $t8, ($a0) -/* B0052C 8008938C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00530 80089390 3C0E000B */ lui $t6, (0x000BC03C >> 16) # lui $t6, 0xb -/* B00534 80089394 35CEC03C */ ori $t6, (0x000BC03C & 0xFFFF) # ori $t6, $t6, 0xc03c -/* B00538 80089398 248F0008 */ addiu $t7, $a0, 8 -/* B0053C 8008939C AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00540 800893A0 AC8E0004 */ sw $t6, 4($a0) -/* B00544 800893A4 AC990000 */ sw $t9, ($a0) -/* B00548 800893A8 93EF1409 */ lbu $t7, 0x1409($ra) -/* B0054C 800893AC 8D780000 */ lw $t8, ($t3) -/* B00550 800893B0 3C014240 */ li $at, 0x42400000 # 0.000000 -/* B00554 800893B4 000FC840 */ sll $t9, $t7, 1 -/* B00558 800893B8 03197021 */ addu $t6, $t8, $t9 -/* B0055C 800893BC 85CF07F4 */ lh $t7, 0x7f4($t6) -/* B00560 800893C0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00564 800893C4 448F2000 */ mtc1 $t7, $f4 -/* B00568 800893C8 248F0008 */ addiu $t7, $a0, 8 -/* B0056C 800893CC AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00570 800893D0 468021A0 */ cvt.s.w $f6, $f4 -/* B00574 800893D4 44812000 */ mtc1 $at, $f4 -/* B00578 800893D8 3C014180 */ li $at, 0x41800000 # 0.000000 -/* B0057C 800893DC 93F91409 */ lbu $t9, 0x1409($ra) -/* B00580 800893E0 8D780000 */ lw $t8, ($t3) -/* B00584 800893E4 46083003 */ div.s $f0, $f6, $f8 -/* B00588 800893E8 00197040 */ sll $t6, $t9, 1 -/* B0058C 800893EC 030E1021 */ addu $v0, $t8, $t6 -/* B00590 800893F0 844F07FA */ lh $t7, 0x7fa($v0) -/* B00594 800893F4 46005403 */ div.s $f16, $f10, $f0 -/* B00598 800893F8 44815000 */ mtc1 $at, $f10 -/* B0059C 800893FC 3C01E400 */ lui $at, 0xe400 -/* B005A0 80089400 46002183 */ div.s $f6, $f4, $f0 -/* B005A4 80089404 4600848D */ trunc.w.s $f18, $f16 -/* B005A8 80089408 44059000 */ mfc1 $a1, $f18 -/* B005AC 8008940C 00000000 */ nop -/* B005B0 80089410 00052C00 */ sll $a1, $a1, 0x10 -/* B005B4 80089414 00052C03 */ sra $a1, $a1, 0x10 -/* B005B8 80089418 30A3FFFF */ andi $v1, $a1, 0xffff -/* B005BC 8008941C 46005403 */ div.s $f16, $f10, $f0 -/* B005C0 80089420 4600320D */ trunc.w.s $f8, $f6 -/* B005C4 80089424 44064000 */ mfc1 $a2, $f8 -/* B005C8 80089428 00000000 */ nop -/* B005CC 8008942C 00063400 */ sll $a2, $a2, 0x10 -/* B005D0 80089430 00063403 */ sra $a2, $a2, 0x10 -/* B005D4 80089434 4600848D */ trunc.w.s $f18, $f16 -/* B005D8 80089438 44079000 */ mfc1 $a3, $f18 -/* B005DC 8008943C 00000000 */ nop -/* B005E0 80089440 00073C00 */ sll $a3, $a3, 0x10 -/* B005E4 80089444 00073C03 */ sra $a3, $a3, 0x10 -/* B005E8 80089448 01E7C821 */ addu $t9, $t7, $a3 -/* B005EC 8008944C 0019C080 */ sll $t8, $t9, 2 -/* B005F0 80089450 84590800 */ lh $t9, 0x800($v0) -/* B005F4 80089454 330E0FFF */ andi $t6, $t8, 0xfff -/* B005F8 80089458 01C17825 */ or $t7, $t6, $at -/* B005FC 8008945C 0326C021 */ addu $t8, $t9, $a2 -/* B00600 80089460 00187080 */ sll $t6, $t8, 2 -/* B00604 80089464 31D90FFF */ andi $t9, $t6, 0xfff -/* B00608 80089468 0019C300 */ sll $t8, $t9, 0xc -/* B0060C 8008946C 01F87025 */ or $t6, $t7, $t8 -/* B00610 80089470 AC8E0000 */ sw $t6, ($a0) -/* B00614 80089474 93EF1409 */ lbu $t7, 0x1409($ra) -/* B00618 80089478 8D790000 */ lw $t9, ($t3) -/* B0061C 8008947C 000FC040 */ sll $t8, $t7, 1 -/* B00620 80089480 03381021 */ addu $v0, $t9, $t8 -/* B00624 80089484 844E07FA */ lh $t6, 0x7fa($v0) -/* B00628 80089488 84580800 */ lh $t8, 0x800($v0) -/* B0062C 8008948C 000E7880 */ sll $t7, $t6, 2 -/* B00630 80089490 31F90FFF */ andi $t9, $t7, 0xfff -/* B00634 80089494 00187080 */ sll $t6, $t8, 2 -/* B00638 80089498 31CF0FFF */ andi $t7, $t6, 0xfff -/* B0063C 8008949C 000FC300 */ sll $t8, $t7, 0xc -/* B00640 800894A0 03387025 */ or $t6, $t9, $t8 -/* B00644 800894A4 AC8E0004 */ sw $t6, 4($a0) -/* B00648 800894A8 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0064C 800894AC 3C19E100 */ lui $t9, 0xe100 -/* B00650 800894B0 3C0EF100 */ lui $t6, 0xf100 -/* B00654 800894B4 248F0008 */ addiu $t7, $a0, 8 -/* B00658 800894B8 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B0065C 800894BC AC800004 */ sw $zero, 4($a0) -/* B00660 800894C0 AC990000 */ sw $t9, ($a0) -/* B00664 800894C4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00668 800894C8 00037C00 */ sll $t7, $v1, 0x10 -/* B0066C 800894CC 01E3C825 */ or $t9, $t7, $v1 -/* B00670 800894D0 24980008 */ addiu $t8, $a0, 8 -/* B00674 800894D4 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00678 800894D8 AC990004 */ sw $t9, 4($a0) -/* B0067C 800894DC AC8E0000 */ sw $t6, ($a0) -/* B00680 800894E0 859801F8 */ lh $t8, 0x1f8($t4) -.L800894E4: -/* B00684 800894E4 3C1F8016 */ lui $ra, %hi(gSaveContext) # $ra, 0x8016 -/* B00688 800894E8 27FFE660 */ addiu $ra, %lo(gSaveContext) # addiu $ra, $ra, -0x19a0 -/* B0068C 800894EC 13000104 */ beqz $t8, .L80089900 -/* B00690 800894F0 8FAE0158 */ lw $t6, 0x158($sp) -/* B00694 800894F4 3C010001 */ lui $at, 1 -/* B00698 800894F8 01C11021 */ addu $v0, $t6, $at -/* B0069C 800894FC 944F0934 */ lhu $t7, 0x934($v0) -/* B006A0 80089500 55E00100 */ bnezl $t7, .L80089904 -/* B006A4 80089504 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B006A8 80089508 94590936 */ lhu $t9, 0x936($v0) -/* B006AC 8008950C 572000FD */ bnezl $t9, .L80089904 -/* B006B0 80089510 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B006B4 80089514 91D81D6C */ lbu $t8, 0x1d6c($t6) -/* B006B8 80089518 3C068012 */ lui $a2, %hi(sCUpInvisible) # $a2, 0x8012 -/* B006BC 8008951C 24C65A10 */ addiu $a2, %lo(sCUpInvisible) # addiu $a2, $a2, 0x5a10 -/* B006C0 80089520 570000F8 */ bnezl $t8, .L80089904 -/* B006C4 80089524 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B006C8 80089528 94CF0000 */ lhu $t7, ($a2) -/* B006CC 8008952C 15E000E8 */ bnez $t7, .L800898D0 -/* B006D0 80089530 00000000 */ nop -/* B006D4 80089534 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B006D8 80089538 24010001 */ li $at, 1 -/* B006DC 8008953C 24990008 */ addiu $t9, $a0, 8 -/* B006E0 80089540 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B006E4 80089544 AC800004 */ sw $zero, 4($a0) -/* B006E8 80089548 AC880000 */ sw $t0, ($a0) -/* B006EC 8008954C 97E213EA */ lhu $v0, 0x13ea($ra) -/* B006F0 80089550 10410005 */ beq $v0, $at, .L80089568 -/* B006F4 80089554 24010002 */ li $at, 2 -/* B006F8 80089558 10410003 */ beq $v0, $at, .L80089568 -/* B006FC 8008955C 24010005 */ li $at, 5 -/* B00700 80089560 14410003 */ bne $v0, $at, .L80089570 -/* B00704 80089564 8FAE0150 */ lw $t6, 0x150($sp) -.L80089568: -/* B00708 80089568 1000001D */ b .L800895E0 -/* B0070C 8008956C 00004825 */ move $t1, $zero -.L80089570: -/* B00710 80089570 8DD8067C */ lw $t8, 0x67c($t6) -/* B00714 80089574 8FA40158 */ lw $a0, 0x158($sp) -/* B00718 80089578 00187A80 */ sll $t7, $t8, 0xa -/* B0071C 8008957C 05E00015 */ bltz $t7, .L800895D4 -/* B00720 80089580 00000000 */ nop -/* B00724 80089584 AFAA0140 */ sw $t2, 0x140($sp) -/* B00728 80089588 0C023CBE */ jal func_8008F2F8 -/* B0072C 8008958C AFAC003C */ sw $t4, 0x3c($sp) -/* B00730 80089590 3C068012 */ lui $a2, %hi(sCUpInvisible) # $a2, 0x8012 -/* B00734 80089594 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 -/* B00738 80089598 3C1F8016 */ lui $ra, %hi(gSaveContext) # $ra, 0x8016 -/* B0073C 8008959C 24010004 */ li $at, 4 -/* B00740 800895A0 27FFE660 */ addiu $ra, %lo(gSaveContext) # addiu $ra, $ra, -0x19a0 -/* B00744 800895A4 256BFA90 */ addiu $t3, %lo(gGameInfo) # addiu $t3, $t3, -0x570 -/* B00748 800895A8 24C65A10 */ addiu $a2, %lo(sCUpInvisible) # addiu $a2, $a2, 0x5a10 -/* B0074C 800895AC 3C08E700 */ lui $t0, 0xe700 -/* B00750 800895B0 8FAA0140 */ lw $t2, 0x140($sp) -/* B00754 800895B4 8FAC003C */ lw $t4, 0x3c($sp) -/* B00758 800895B8 10410006 */ beq $v0, $at, .L800895D4 -/* B0075C 800895BC 3C0DFA00 */ lui $t5, 0xfa00 -/* B00760 800895C0 8FB90150 */ lw $t9, 0x150($sp) -/* B00764 800895C4 8F2E0680 */ lw $t6, 0x680($t9) -/* B00768 800895C8 000EC340 */ sll $t8, $t6, 0xd -/* B0076C 800895CC 07030004 */ bgezl $t8, .L800895E0 -/* B00770 800895D0 85890250 */ lh $t1, 0x250($t4) -.L800895D4: -/* B00774 800895D4 10000002 */ b .L800895E0 -/* B00778 800895D8 24090046 */ li $t1, 70 -/* B0077C 800895DC 85890250 */ lh $t1, 0x250($t4) -.L800895E0: -/* B00780 800895E0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00784 800895E4 312500FF */ andi $a1, $t1, 0xff -/* B00788 800895E8 3C01E400 */ lui $at, 0xe400 -/* B0078C 800895EC 248F0008 */ addiu $t7, $a0, 8 -/* B00790 800895F0 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00794 800895F4 AC8D0000 */ sw $t5, ($a0) -/* B00798 800895F8 8D620000 */ lw $v0, ($t3) -/* B0079C 800895FC 845907E6 */ lh $t9, 0x7e6($v0) -/* B007A0 80089600 332E00FF */ andi $t6, $t9, 0xff -/* B007A4 80089604 845907E2 */ lh $t9, 0x7e2($v0) -/* B007A8 80089608 000EC200 */ sll $t8, $t6, 8 -/* B007AC 8008960C 00197600 */ sll $t6, $t9, 0x18 -/* B007B0 80089610 845907E4 */ lh $t9, 0x7e4($v0) -/* B007B4 80089614 030E7825 */ or $t7, $t8, $t6 -/* B007B8 80089618 333800FF */ andi $t8, $t9, 0xff -/* B007BC 8008961C 00187400 */ sll $t6, $t8, 0x10 -/* B007C0 80089620 01EEC825 */ or $t9, $t7, $t6 -/* B007C4 80089624 0325C025 */ or $t8, $t9, $a1 -/* B007C8 80089628 AC980004 */ sw $t8, 4($a0) -/* B007CC 8008962C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B007D0 80089630 3C19FF2F */ lui $t9, (0xFF2FFFFF >> 16) # lui $t9, 0xff2f -/* B007D4 80089634 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11 -/* B007D8 80089638 248F0008 */ addiu $t7, $a0, 8 -/* B007DC 8008963C AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B007E0 80089640 35CE9623 */ ori $t6, (0xFC119623 & 0xFFFF) # ori $t6, $t6, 0x9623 -/* B007E4 80089644 3739FFFF */ ori $t9, (0xFF2FFFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* B007E8 80089648 AC990004 */ sw $t9, 4($a0) -/* B007EC 8008964C AC8E0000 */ sw $t6, ($a0) -/* B007F0 80089650 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B007F4 80089654 24980008 */ addiu $t8, $a0, 8 -/* B007F8 80089658 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B007FC 8008965C 8D620000 */ lw $v0, ($t3) -/* B00800 80089660 844F0812 */ lh $t7, 0x812($v0) -/* B00804 80089664 25EE0010 */ addiu $t6, $t7, 0x10 -/* B00808 80089668 000EC880 */ sll $t9, $t6, 2 -/* B0080C 8008966C 844E0810 */ lh $t6, 0x810($v0) -/* B00810 80089670 33380FFF */ andi $t8, $t9, 0xfff -/* B00814 80089674 03017825 */ or $t7, $t8, $at -/* B00818 80089678 25D90010 */ addiu $t9, $t6, 0x10 -/* B0081C 8008967C 0019C080 */ sll $t8, $t9, 2 -/* B00820 80089680 330E0FFF */ andi $t6, $t8, 0xfff -/* B00824 80089684 000ECB00 */ sll $t9, $t6, 0xc -/* B00828 80089688 01F9C025 */ or $t8, $t7, $t9 -/* B0082C 8008968C AC980000 */ sw $t8, ($a0) -/* B00830 80089690 8D620000 */ lw $v0, ($t3) -/* B00834 80089694 2401FF00 */ li $at, -256 -/* B00838 80089698 844E0812 */ lh $t6, 0x812($v0) -/* B0083C 8008969C 84580810 */ lh $t8, 0x810($v0) -/* B00840 800896A0 000E7880 */ sll $t7, $t6, 2 -/* B00844 800896A4 31F90FFF */ andi $t9, $t7, 0xfff -/* B00848 800896A8 00187080 */ sll $t6, $t8, 2 -/* B0084C 800896AC 31CF0FFF */ andi $t7, $t6, 0xfff -/* B00850 800896B0 000FC300 */ sll $t8, $t7, 0xc -/* B00854 800896B4 03387025 */ or $t6, $t9, $t8 -/* B00858 800896B8 AC8E0004 */ sw $t6, 4($a0) -/* B0085C 800896BC 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00860 800896C0 3C19E100 */ lui $t9, 0xe100 -/* B00864 800896C4 3C0EF100 */ lui $t6, 0xf100 -/* B00868 800896C8 248F0008 */ addiu $t7, $a0, 8 -/* B0086C 800896CC AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00870 800896D0 AC800004 */ sw $zero, 4($a0) -/* B00874 800896D4 AC990000 */ sw $t9, ($a0) -/* B00878 800896D8 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0087C 800896DC 3C0F0800 */ lui $t7, (0x08000800 >> 16) # lui $t7, 0x800 -/* B00880 800896E0 35EF0800 */ ori $t7, (0x08000800 & 0xFFFF) # ori $t7, $t7, 0x800 -/* B00884 800896E4 24980008 */ addiu $t8, $a0, 8 -/* B00888 800896E8 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B0088C 800896EC AC8F0004 */ sw $t7, 4($a0) -/* B00890 800896F0 AC8E0000 */ sw $t6, ($a0) -/* B00894 800896F4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00898 800896F8 00A17025 */ or $t6, $a1, $at -/* B0089C 800896FC 3C01E400 */ lui $at, 0xe400 -/* B008A0 80089700 24990008 */ addiu $t9, $a0, 8 -/* B008A4 80089704 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B008A8 80089708 AC800004 */ sw $zero, 4($a0) -/* B008AC 8008970C AC880000 */ sw $t0, ($a0) -/* B008B0 80089710 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B008B4 80089714 3C19FB00 */ lui $t9, 0xfb00 -/* B008B8 80089718 24980008 */ addiu $t8, $a0, 8 -/* B008BC 8008971C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B008C0 80089720 AC8E0004 */ sw $t6, 4($a0) -/* B008C4 80089724 AC8D0000 */ sw $t5, ($a0) -/* B008C8 80089728 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B008CC 8008972C 3C0EFC30 */ lui $t6, (0xFC309661 >> 16) # lui $t6, 0xfc30 -/* B008D0 80089730 35CE9661 */ ori $t6, (0xFC309661 & 0xFFFF) # ori $t6, $t6, 0x9661 -/* B008D4 80089734 248F0008 */ addiu $t7, $a0, 8 -/* B008D8 80089738 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B008DC 8008973C AC800004 */ sw $zero, 4($a0) -/* B008E0 80089740 AC990000 */ sw $t9, ($a0) -/* B008E4 80089744 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B008E8 80089748 3C0F552E */ lui $t7, (0x552EFF7F >> 16) # lui $t7, 0x552e -/* B008EC 8008974C 35EFFF7F */ ori $t7, (0x552EFF7F & 0xFFFF) # ori $t7, $t7, 0xff7f -/* B008F0 80089750 24980008 */ addiu $t8, $a0, 8 -/* B008F4 80089754 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B008F8 80089758 AC8F0004 */ sw $t7, 4($a0) -/* B008FC 8008975C AC8E0000 */ sw $t6, ($a0) -/* B00900 80089760 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00904 80089764 3C18FD70 */ lui $t8, 0xfd70 -/* B00908 80089768 24990008 */ addiu $t9, $a0, 8 -/* B0090C 8008976C AD5902B0 */ sw $t9, 0x2b0($t2) -/* B00910 80089770 AC980000 */ sw $t8, ($a0) -/* B00914 80089774 93EE1409 */ lbu $t6, 0x1409($ra) -/* B00918 80089778 3C198012 */ lui $t9, %hi(sCUpLabelTextures) -/* B0091C 8008977C 000E7880 */ sll $t7, $t6, 2 -/* B00920 80089780 032FC821 */ addu $t9, $t9, $t7 -/* B00924 80089784 8F395AD8 */ lw $t9, %lo(sCUpLabelTextures)($t9) -/* B00928 80089788 3C0F0700 */ lui $t7, 0x700 -/* B0092C 8008978C 3C0EF570 */ lui $t6, 0xf570 -/* B00930 80089790 AC990004 */ sw $t9, 4($a0) -/* B00934 80089794 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00938 80089798 24980008 */ addiu $t8, $a0, 8 -/* B0093C 8008979C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00940 800897A0 AC8F0004 */ sw $t7, 4($a0) -/* B00944 800897A4 AC8E0000 */ sw $t6, ($a0) -/* B00948 800897A8 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B0094C 800897AC 3C18E600 */ lui $t8, 0xe600 -/* B00950 800897B0 3C0FF300 */ lui $t7, 0xf300 -/* B00954 800897B4 24990008 */ addiu $t9, $a0, 8 -/* B00958 800897B8 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B0095C 800897BC AC800004 */ sw $zero, 4($a0) -/* B00960 800897C0 AC980000 */ sw $t8, ($a0) -/* B00964 800897C4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00968 800897C8 3C190703 */ lui $t9, (0x0703F400 >> 16) # lui $t9, 0x703 -/* B0096C 800897CC 3739F400 */ ori $t9, (0x0703F400 & 0xFFFF) # ori $t9, $t9, 0xf400 -/* B00970 800897D0 248E0008 */ addiu $t6, $a0, 8 -/* B00974 800897D4 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B00978 800897D8 AC990004 */ sw $t9, 4($a0) -/* B0097C 800897DC AC8F0000 */ sw $t7, ($a0) -/* B00980 800897E0 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00984 800897E4 3C0FF560 */ lui $t7, (0xF5600400 >> 16) # lui $t7, 0xf560 -/* B00988 800897E8 35EF0400 */ ori $t7, (0xF5600400 & 0xFFFF) # ori $t7, $t7, 0x400 -/* B0098C 800897EC 24980008 */ addiu $t8, $a0, 8 -/* B00990 800897F0 AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00994 800897F4 AC800004 */ sw $zero, 4($a0) -/* B00998 800897F8 AC880000 */ sw $t0, ($a0) -/* B0099C 800897FC 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B009A0 80089800 3C18F200 */ lui $t8, 0xf200 -/* B009A4 80089804 248E0008 */ addiu $t6, $a0, 8 -/* B009A8 80089808 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B009AC 8008980C AC800004 */ sw $zero, 4($a0) -/* B009B0 80089810 AC8F0000 */ sw $t7, ($a0) -/* B009B4 80089814 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B009B8 80089818 3C0E0007 */ lui $t6, (0x0007C01C >> 16) # lui $t6, 7 -/* B009BC 8008981C 35CEC01C */ ori $t6, (0x0007C01C & 0xFFFF) # ori $t6, $t6, 0xc01c -/* B009C0 80089820 24990008 */ addiu $t9, $a0, 8 -/* B009C4 80089824 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B009C8 80089828 AC8E0004 */ sw $t6, 4($a0) -/* B009CC 8008982C AC980000 */ sw $t8, ($a0) -/* B009D0 80089830 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B009D4 80089834 248F0008 */ addiu $t7, $a0, 8 -/* B009D8 80089838 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B009DC 8008983C 8D620000 */ lw $v0, ($t3) -/* B009E0 80089840 84590546 */ lh $t9, 0x546($v0) -/* B009E4 80089844 27380008 */ addiu $t8, $t9, 8 -/* B009E8 80089848 00187080 */ sll $t6, $t8, 2 -/* B009EC 8008984C 84580544 */ lh $t8, 0x544($v0) -/* B009F0 80089850 31CF0FFF */ andi $t7, $t6, 0xfff -/* B009F4 80089854 01E1C825 */ or $t9, $t7, $at -/* B009F8 80089858 270E0020 */ addiu $t6, $t8, 0x20 -/* B009FC 8008985C 000E7880 */ sll $t7, $t6, 2 -/* B00A00 80089860 31F80FFF */ andi $t8, $t7, 0xfff -/* B00A04 80089864 00187300 */ sll $t6, $t8, 0xc -/* B00A08 80089868 032E7825 */ or $t7, $t9, $t6 -/* B00A0C 8008986C AC8F0000 */ sw $t7, ($a0) -/* B00A10 80089870 8D620000 */ lw $v0, ($t3) -/* B00A14 80089874 84580546 */ lh $t8, 0x546($v0) -/* B00A18 80089878 844F0544 */ lh $t7, 0x544($v0) -/* B00A1C 8008987C 0018C880 */ sll $t9, $t8, 2 -/* B00A20 80089880 332E0FFF */ andi $t6, $t9, 0xfff -/* B00A24 80089884 000FC080 */ sll $t8, $t7, 2 -/* B00A28 80089888 33190FFF */ andi $t9, $t8, 0xfff -/* B00A2C 8008988C 00197B00 */ sll $t7, $t9, 0xc -/* B00A30 80089890 01CFC025 */ or $t8, $t6, $t7 -/* B00A34 80089894 AC980004 */ sw $t8, 4($a0) -/* B00A38 80089898 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00A3C 8008989C 3C0EE100 */ lui $t6, 0xe100 -/* B00A40 800898A0 3C18F100 */ lui $t8, 0xf100 -/* B00A44 800898A4 24990008 */ addiu $t9, $a0, 8 -/* B00A48 800898A8 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B00A4C 800898AC AC800004 */ sw $zero, 4($a0) -/* B00A50 800898B0 AC8E0000 */ sw $t6, ($a0) -/* B00A54 800898B4 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00A58 800898B8 3C190400 */ lui $t9, (0x04000400 >> 16) # lui $t9, 0x400 -/* B00A5C 800898BC 37390400 */ ori $t9, (0x04000400 & 0xFFFF) # ori $t9, $t9, 0x400 -/* B00A60 800898C0 248F0008 */ addiu $t7, $a0, 8 -/* B00A64 800898C4 AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00A68 800898C8 AC990004 */ sw $t9, 4($a0) -/* B00A6C 800898CC AC980000 */ sw $t8, ($a0) -.L800898D0: -/* B00A70 800898D0 3C028012 */ lui $v0, %hi(sCUpTimer) # $v0, 0x8012 -/* B00A74 800898D4 24425A14 */ addiu $v0, %lo(sCUpTimer) # addiu $v0, $v0, 0x5a14 -/* B00A78 800898D8 944E0000 */ lhu $t6, ($v0) -/* B00A7C 800898DC 25CFFFFF */ addiu $t7, $t6, -1 -/* B00A80 800898E0 31F8FFFF */ andi $t8, $t7, 0xffff -/* B00A84 800898E4 17000006 */ bnez $t8, .L80089900 -/* B00A88 800898E8 A44F0000 */ sh $t7, ($v0) -/* B00A8C 800898EC 94D90000 */ lhu $t9, ($a2) -/* B00A90 800898F0 240F000A */ li $t7, 10 -/* B00A94 800898F4 A44F0000 */ sh $t7, ($v0) -/* B00A98 800898F8 3B2E0001 */ xori $t6, $t9, 1 -/* B00A9C 800898FC A4CE0000 */ sh $t6, ($a2) -.L80089900: -/* B00AA0 80089900 8D4402B0 */ lw $a0, 0x2b0($t2) -.L80089904: -/* B00AA4 80089904 24090001 */ li $t1, 1 -/* B00AA8 80089908 24980008 */ addiu $t8, $a0, 8 -/* B00AAC 8008990C AD5802B0 */ sw $t8, 0x2b0($t2) -/* B00AB0 80089910 AC800004 */ sw $zero, 4($a0) -/* B00AB4 80089914 AC880000 */ sw $t0, ($a0) -/* B00AB8 80089918 03E9C821 */ addu $t9, $ra, $t1 -.L8008991C: -/* B00ABC 8008991C 932E0068 */ lbu $t6, 0x68($t9) -/* B00AC0 80089920 29C100F1 */ slti $at, $t6, 0xf1 -/* B00AC4 80089924 14200065 */ bnez $at, .L80089ABC -/* B00AC8 80089928 24010001 */ li $at, 1 -/* B00ACC 8008992C 55210016 */ bnel $t1, $at, .L80089988 -/* B00AD0 80089930 24010002 */ li $at, 2 -/* B00AD4 80089934 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00AD8 80089938 248F0008 */ addiu $t7, $a0, 8 -/* B00ADC 8008993C AD4F02B0 */ sw $t7, 0x2b0($t2) -/* B00AE0 80089940 AC8D0000 */ sw $t5, ($a0) -/* B00AE4 80089944 8D620000 */ lw $v0, ($t3) -/* B00AE8 80089948 845807E6 */ lh $t8, 0x7e6($v0) -/* B00AEC 8008994C 331900FF */ andi $t9, $t8, 0xff -/* B00AF0 80089950 845807E2 */ lh $t8, 0x7e2($v0) -/* B00AF4 80089954 00197200 */ sll $t6, $t9, 8 -/* B00AF8 80089958 0018CE00 */ sll $t9, $t8, 0x18 -/* B00AFC 8008995C 845807E4 */ lh $t8, 0x7e4($v0) -/* B00B00 80089960 01D97825 */ or $t7, $t6, $t9 -/* B00B04 80089964 330E00FF */ andi $t6, $t8, 0xff -/* B00B08 80089968 000ECC00 */ sll $t9, $t6, 0x10 -/* B00B0C 8008996C 958E024A */ lhu $t6, 0x24a($t4) -/* B00B10 80089970 01F9C025 */ or $t8, $t7, $t9 -/* B00B14 80089974 31CF00FF */ andi $t7, $t6, 0xff -/* B00B18 80089978 030FC825 */ or $t9, $t8, $t7 -/* B00B1C 8008997C 1000002B */ b .L80089A2C -/* B00B20 80089980 AC990004 */ sw $t9, 4($a0) -/* B00B24 80089984 24010002 */ li $at, 2 -.L80089988: -/* B00B28 80089988 55210016 */ bnel $t1, $at, .L800899E4 -/* B00B2C 8008998C 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00B30 80089990 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00B34 80089994 248E0008 */ addiu $t6, $a0, 8 -/* B00B38 80089998 AD4E02B0 */ sw $t6, 0x2b0($t2) -/* B00B3C 8008999C AC8D0000 */ sw $t5, ($a0) -/* B00B40 800899A0 8D620000 */ lw $v0, ($t3) -/* B00B44 800899A4 845807E6 */ lh $t8, 0x7e6($v0) -/* B00B48 800899A8 330F00FF */ andi $t7, $t8, 0xff -/* B00B4C 800899AC 845807E2 */ lh $t8, 0x7e2($v0) -/* B00B50 800899B0 000FCA00 */ sll $t9, $t7, 8 -/* B00B54 800899B4 00187E00 */ sll $t7, $t8, 0x18 -/* B00B58 800899B8 845807E4 */ lh $t8, 0x7e4($v0) -/* B00B5C 800899BC 032F7025 */ or $t6, $t9, $t7 -/* B00B60 800899C0 331900FF */ andi $t9, $t8, 0xff -/* B00B64 800899C4 00197C00 */ sll $t7, $t9, 0x10 -/* B00B68 800899C8 9599024C */ lhu $t9, 0x24c($t4) -/* B00B6C 800899CC 01CFC025 */ or $t8, $t6, $t7 -/* B00B70 800899D0 332E00FF */ andi $t6, $t9, 0xff -/* B00B74 800899D4 030E7825 */ or $t7, $t8, $t6 -/* B00B78 800899D8 10000014 */ b .L80089A2C -/* B00B7C 800899DC AC8F0004 */ sw $t7, 4($a0) -/* B00B80 800899E0 8D4402B0 */ lw $a0, 0x2b0($t2) -.L800899E4: -/* B00B84 800899E4 24990008 */ addiu $t9, $a0, 8 -/* B00B88 800899E8 AD5902B0 */ sw $t9, 0x2b0($t2) -/* B00B8C 800899EC AC8D0000 */ sw $t5, ($a0) -/* B00B90 800899F0 8D620000 */ lw $v0, ($t3) -/* B00B94 800899F4 845807E6 */ lh $t8, 0x7e6($v0) -/* B00B98 800899F8 330E00FF */ andi $t6, $t8, 0xff -/* B00B9C 800899FC 845807E2 */ lh $t8, 0x7e2($v0) -/* B00BA0 80089A00 000E7A00 */ sll $t7, $t6, 8 -/* B00BA4 80089A04 00187600 */ sll $t6, $t8, 0x18 -/* B00BA8 80089A08 845807E4 */ lh $t8, 0x7e4($v0) -/* B00BAC 80089A0C 01EEC825 */ or $t9, $t7, $t6 -/* B00BB0 80089A10 330F00FF */ andi $t7, $t8, 0xff -/* B00BB4 80089A14 000F7400 */ sll $t6, $t7, 0x10 -/* B00BB8 80089A18 958F024E */ lhu $t7, 0x24e($t4) -/* B00BBC 80089A1C 032EC025 */ or $t8, $t9, $t6 -/* B00BC0 80089A20 31F900FF */ andi $t9, $t7, 0xff -/* B00BC4 80089A24 03197025 */ or $t6, $t8, $t9 -/* B00BC8 80089A28 AC8E0004 */ sw $t6, 4($a0) -.L80089A2C: -/* B00BCC 80089A2C 8D6E0000 */ lw $t6, ($t3) -/* B00BD0 80089A30 00097A80 */ sll $t7, $t1, 0xa -/* B00BD4 80089A34 25F80400 */ addiu $t8, $t7, 0x400 -/* B00BD8 80089A38 3C190200 */ lui $t9, %hi(D_02000A00) # $t9, 0x200 -/* B00BDC 80089A3C 27390A00 */ addiu $t9, %lo(D_02000A00) # addiu $t9, $t9, 0xa00 -/* B00BE0 80089A40 00097840 */ sll $t7, $t1, 1 -/* B00BE4 80089A44 03192821 */ addu $a1, $t8, $t9 -/* B00BE8 80089A48 01CF1021 */ addu $v0, $t6, $t7 -/* B00BEC 80089A4C 84580820 */ lh $t8, 0x820($v0) -/* B00BF0 80089A50 8D4402B0 */ lw $a0, 0x2b0($t2) -/* B00BF4 80089A54 24060020 */ li $a2, 32 -/* B00BF8 80089A58 AFB80010 */ sw $t8, 0x10($sp) -/* B00BFC 80089A5C 84590828 */ lh $t9, 0x828($v0) -/* B00C00 80089A60 24070020 */ li $a3, 32 -/* B00C04 80089A64 AFB90014 */ sw $t9, 0x14($sp) -/* B00C08 80089A68 84430FB4 */ lh $v1, 0xfb4($v0) -/* B00C0C 80089A6C AFA30018 */ sw $v1, 0x18($sp) -/* B00C10 80089A70 AFA3001C */ sw $v1, 0x1c($sp) -/* B00C14 80089A74 84480830 */ lh $t0, 0x830($v0) -/* B00C18 80089A78 AFAC003C */ sw $t4, 0x3c($sp) -/* B00C1C 80089A7C AFAA0140 */ sw $t2, 0x140($sp) -/* B00C20 80089A80 00084040 */ sll $t0, $t0, 1 -/* B00C24 80089A84 3108FFFF */ andi $t0, $t0, 0xffff -/* B00C28 80089A88 AFA80020 */ sw $t0, 0x20($sp) -/* B00C2C 80089A8C AFA80024 */ sw $t0, 0x24($sp) -/* B00C30 80089A90 0C0210A6 */ jal Gfx_TextureIA8 -/* B00C34 80089A94 A7A9014A */ sh $t1, 0x14a($sp) -/* B00C38 80089A98 8FAA0140 */ lw $t2, 0x140($sp) -/* B00C3C 80089A9C 87A9014A */ lh $t1, 0x14a($sp) -/* B00C40 80089AA0 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 -/* B00C44 80089AA4 8FAC003C */ lw $t4, 0x3c($sp) -/* B00C48 80089AA8 3C1F8016 */ lui $ra, %hi(gSaveContext) # $ra, 0x8016 -/* B00C4C 80089AAC 27FFE660 */ addiu $ra, %lo(gSaveContext) # addiu $ra, $ra, -0x19a0 -/* B00C50 80089AB0 256BFA90 */ addiu $t3, %lo(gGameInfo) # addiu $t3, $t3, -0x570 -/* B00C54 80089AB4 3C0DFA00 */ lui $t5, 0xfa00 -/* B00C58 80089AB8 AD4202B0 */ sw $v0, 0x2b0($t2) -.L80089ABC: -/* B00C5C 80089ABC 25290001 */ addiu $t1, $t1, 1 -/* B00C60 80089AC0 00094C00 */ sll $t1, $t1, 0x10 -/* B00C64 80089AC4 00094C03 */ sra $t1, $t1, 0x10 -/* B00C68 80089AC8 29210004 */ slti $at, $t1, 4 -/* B00C6C 80089ACC 5420FF93 */ bnezl $at, .L8008991C -/* B00C70 80089AD0 03E9C821 */ addu $t9, $ra, $t1 -/* B00C74 80089AD4 8FAE0158 */ lw $t6, 0x158($sp) -/* B00C78 80089AD8 3C068014 */ lui $a2, %hi(D_8013E2EC) # $a2, 0x8014 -/* B00C7C 80089ADC 24C6E2EC */ addiu $a2, %lo(D_8013E2EC) # addiu $a2, $a2, -0x1d14 -/* B00C80 80089AE0 27A40130 */ addiu $a0, $sp, 0x130 -/* B00C84 80089AE4 24070BFF */ li $a3, 3071 -/* B00C88 80089AE8 0C031AD5 */ jal Graph_CloseDisps -/* B00C8C 80089AEC 8DC50000 */ lw $a1, ($t6) -/* B00C90 80089AF0 8FBF002C */ lw $ra, 0x2c($sp) -/* B00C94 80089AF4 27BD0158 */ addiu $sp, $sp, 0x158 -/* B00C98 80089AF8 03E00008 */ jr $ra -/* B00C9C 80089AFC 00000000 */ nop - diff --git a/asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s b/asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s deleted file mode 100644 index d04f83f869..0000000000 --- a/asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s +++ /dev/null @@ -1,646 +0,0 @@ -.rdata -glabel D_8013E26C - .asciz "蓄電 MAGIC_NOW=%d (%d)\n" - # Translation: Storage - .balign 4 - -.late_rodata -glabel jtbl_8013E5F0 - .word L80087B04 - .word L80087B1C - .word L80087BA0 - .word L80087BA0 - .word L80087DF8 - .word L80087BA0 - .word L80087E24 - .word L800879F4 - .word L80087A6C - .word L80088208 - -.text -glabel Interface_UpdateMagicBar -/* AFEB5C 800879BC 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFEB60 800879C0 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFEB64 800879C4 846E13F0 */ lh $t6, 0x13f0($v1) -/* AFEB68 800879C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* AFEB6C 800879CC AFBF001C */ sw $ra, 0x1c($sp) -/* AFEB70 800879D0 25CFFFFF */ addiu $t7, $t6, -1 -/* AFEB74 800879D4 2DE1000A */ sltiu $at, $t7, 0xa -/* AFEB78 800879D8 10200225 */ beqz $at, .L80088270 -/* AFEB7C 800879DC 000F7880 */ sll $t7, $t7, 2 -/* AFEB80 800879E0 3C018014 */ lui $at, %hi(jtbl_8013E5F0) -/* AFEB84 800879E4 002F0821 */ addu $at, $at, $t7 -/* AFEB88 800879E8 8C2FE5F0 */ lw $t7, %lo(jtbl_8013E5F0)($at) -/* AFEB8C 800879EC 01E00008 */ jr $t7 -/* AFEB90 800879F0 00000000 */ nop -glabel L800879F4 -/* AFEB94 800879F4 80620032 */ lb $v0, 0x32($v1) -/* AFEB98 800879F8 846413F4 */ lh $a0, 0x13f4($v1) -/* AFEB9C 800879FC 24180009 */ li $t8, 9 -/* AFEBA0 80087A00 00400821 */ addu $at, $v0, $zero -/* AFEBA4 80087A04 00021080 */ sll $v0, $v0, 2 -/* AFEBA8 80087A08 00411023 */ subu $v0, $v0, $at -/* AFEBAC 80087A0C 00021100 */ sll $v0, $v0, 4 -/* AFEBB0 80087A10 00021400 */ sll $v0, $v0, 0x10 -/* AFEBB4 80087A14 00021403 */ sra $v0, $v0, 0x10 -/* AFEBB8 80087A18 10440012 */ beq $v0, $a0, .L80087A64 -/* AFEBBC 80087A1C 0082082A */ slt $at, $a0, $v0 -/* AFEBC0 80087A20 10200009 */ beqz $at, .L80087A48 -/* AFEBC4 80087A24 248EFFF8 */ addiu $t6, $a0, -8 -/* AFEBC8 80087A28 24980008 */ addiu $t8, $a0, 8 -/* AFEBCC 80087A2C A47813F4 */ sh $t8, 0x13f4($v1) -/* AFEBD0 80087A30 847913F4 */ lh $t9, 0x13f4($v1) -/* AFEBD4 80087A34 0059082A */ slt $at, $v0, $t9 -/* AFEBD8 80087A38 5020020F */ beql $at, $zero, .L80088278 -/* AFEBDC 80087A3C 8FBF001C */ lw $ra, 0x1c($sp) -/* AFEBE0 80087A40 1000020C */ b .L80088274 -/* AFEBE4 80087A44 A46213F4 */ sh $v0, 0x13f4($v1) -.L80087A48: -/* AFEBE8 80087A48 A46E13F4 */ sh $t6, 0x13f4($v1) -/* AFEBEC 80087A4C 846F13F4 */ lh $t7, 0x13f4($v1) -/* AFEBF0 80087A50 004F082A */ slt $at, $v0, $t7 -/* AFEBF4 80087A54 54200208 */ bnezl $at, .L80088278 -/* AFEBF8 80087A58 8FBF001C */ lw $ra, 0x1c($sp) -/* AFEBFC 80087A5C 10000205 */ b .L80088274 -/* AFEC00 80087A60 A46213F4 */ sh $v0, 0x13f4($v1) -.L80087A64: -/* AFEC04 80087A64 10000203 */ b .L80088274 -/* AFEC08 80087A68 A47813F0 */ sh $t8, 0x13f0($v1) -glabel L80087A6C -/* AFEC0C 80087A6C 80790033 */ lb $t9, 0x33($v1) -/* AFEC10 80087A70 8C6F135C */ lw $t7, 0x135c($v1) -/* AFEC14 80087A74 272E0004 */ addiu $t6, $t9, 4 -/* AFEC18 80087A78 15E00011 */ bnez $t7, .L80087AC0 -/* AFEC1C 80087A7C A06E0033 */ sb $t6, 0x33($v1) -/* AFEC20 80087A80 8C781360 */ lw $t8, 0x1360($v1) -/* AFEC24 80087A84 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* AFEC28 80087A88 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* AFEC2C 80087A8C 2B010004 */ slti $at, $t8, 4 -/* AFEC30 80087A90 1020000B */ beqz $at, .L80087AC0 -/* AFEC34 80087A94 2404401F */ li $a0, 16415 -/* AFEC38 80087A98 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013 -/* AFEC3C 80087A9C 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8 -/* AFEC40 80087AA0 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* AFEC44 80087AA4 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 -/* AFEC48 80087AA8 AFB90014 */ sw $t9, 0x14($sp) -/* AFEC4C 80087AAC 24060004 */ li $a2, 4 -/* AFEC50 80087AB0 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* AFEC54 80087AB4 AFA70010 */ sw $a3, 0x10($sp) -/* AFEC58 80087AB8 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFEC5C 80087ABC 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -.L80087AC0: -/* AFEC60 80087AC0 3C048014 */ lui $a0, %hi(D_8013E26C) # $a0, 0x8014 -/* AFEC64 80087AC4 2484E26C */ addiu $a0, %lo(D_8013E26C) # addiu $a0, $a0, -0x1d94 -/* AFEC68 80087AC8 80650033 */ lb $a1, 0x33($v1) -/* AFEC6C 80087ACC 0C00084C */ jal osSyncPrintf -/* AFEC70 80087AD0 846613F6 */ lh $a2, 0x13f6($v1) -/* AFEC74 80087AD4 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFEC78 80087AD8 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFEC7C 80087ADC 846213F6 */ lh $v0, 0x13f6($v1) -/* AFEC80 80087AE0 806E0033 */ lb $t6, 0x33($v1) -/* AFEC84 80087AE4 01C2082A */ slt $at, $t6, $v0 -/* AFEC88 80087AE8 542001E3 */ bnezl $at, .L80088278 -/* AFEC8C 80087AEC 8FBF001C */ lw $ra, 0x1c($sp) -/* AFEC90 80087AF0 846F13F2 */ lh $t7, 0x13f2($v1) -/* AFEC94 80087AF4 A0620033 */ sb $v0, 0x33($v1) -/* AFEC98 80087AF8 A46013F2 */ sh $zero, 0x13f2($v1) -/* AFEC9C 80087AFC 100001DD */ b .L80088274 -/* AFECA0 80087B00 A46F13F0 */ sh $t7, 0x13f0($v1) -glabel L80087B04 -/* AFECA4 80087B04 24180002 */ li $t8, 2 -/* AFECA8 80087B08 24090002 */ li $t1, 2 -/* AFECAC 80087B0C A47813F0 */ sh $t8, 0x13f0($v1) -/* AFECB0 80087B10 3C018012 */ lui $at, %hi(sMagicBorderRatio) # $at, 0x8012 -/* AFECB4 80087B14 100001D7 */ b .L80088274 -/* AFECB8 80087B18 A4295AD0 */ sh $t1, %lo(sMagicBorderRatio)($at) -glabel L80087B1C -/* AFECBC 80087B1C 80790033 */ lb $t9, 0x33($v1) -/* AFECC0 80087B20 240F0003 */ li $t7, 3 -/* AFECC4 80087B24 241800FF */ li $t8, 255 -/* AFECC8 80087B28 272EFFFE */ addiu $t6, $t9, -2 -/* AFECCC 80087B2C A06E0033 */ sb $t6, 0x33($v1) -/* AFECD0 80087B30 80620033 */ lb $v0, 0x33($v1) -/* AFECD4 80087B34 241900FF */ li $t9, 255 -/* AFECD8 80087B38 5C40000C */ bgtzl $v0, .L80087B6C -/* AFECDC 80087B3C 846F13F8 */ lh $t7, 0x13f8($v1) -/* AFECE0 80087B40 A0600033 */ sb $zero, 0x33($v1) -/* AFECE4 80087B44 A46F13F0 */ sh $t7, 0x13f0($v1) -/* AFECE8 80087B48 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFECEC 80087B4C A4385A30 */ sh $t8, %lo(sMagicBorderB)($at) -/* AFECF0 80087B50 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFECF4 80087B54 A4395A2C */ sh $t9, %lo(sMagicBorderG)($at) -/* AFECF8 80087B58 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFECFC 80087B5C 240E00FF */ li $t6, 255 -/* AFED00 80087B60 1000000F */ b .L80087BA0 -/* AFED04 80087B64 A42E5A28 */ sh $t6, %lo(sMagicBorderR)($at) -/* AFED08 80087B68 846F13F8 */ lh $t7, 0x13f8($v1) -.L80087B6C: -/* AFED0C 80087B6C 24180003 */ li $t8, 3 -/* AFED10 80087B70 241900FF */ li $t9, 255 -/* AFED14 80087B74 15E2000A */ bne $t7, $v0, .L80087BA0 -/* AFED18 80087B78 00000000 */ nop -/* AFED1C 80087B7C A47813F0 */ sh $t8, 0x13f0($v1) -/* AFED20 80087B80 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFED24 80087B84 A4395A30 */ sh $t9, %lo(sMagicBorderB)($at) -/* AFED28 80087B88 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFED2C 80087B8C 240E00FF */ li $t6, 255 -/* AFED30 80087B90 A42E5A2C */ sh $t6, %lo(sMagicBorderG)($at) -/* AFED34 80087B94 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFED38 80087B98 240F00FF */ li $t7, 255 -/* AFED3C 80087B9C A42F5A28 */ sh $t7, %lo(sMagicBorderR)($at) -glabel L80087BA0 -.L80087BA0: -/* AFED40 80087BA0 3C1F8012 */ lui $ra, %hi(sMagicBorderStep) # $ra, 0x8012 -/* AFED44 80087BA4 87FF5AD4 */ lh $ra, %lo(sMagicBorderStep)($ra) -/* AFED48 80087BA8 3C028012 */ lui $v0, %hi(sMagicBorderIndexes) -/* AFED4C 80087BAC 3C198012 */ lui $t9, %hi(sMagicBorderColors) # $t9, 0x8012 -/* AFED50 80087BB0 001FF840 */ sll $ra, $ra, 1 -/* AFED54 80087BB4 005F1021 */ addu $v0, $v0, $ra -/* AFED58 80087BB8 84425AC8 */ lh $v0, %lo(sMagicBorderIndexes)($v0) -/* AFED5C 80087BBC 27395AB0 */ addiu $t9, %lo(sMagicBorderColors) # addiu $t9, $t9, 0x5ab0 -/* AFED60 80087BC0 3C068012 */ lui $a2, %hi(sMagicBorderR) # $a2, 0x8012 -/* AFED64 80087BC4 0002C080 */ sll $t8, $v0, 2 -/* AFED68 80087BC8 0302C023 */ subu $t8, $t8, $v0 -/* AFED6C 80087BCC 0018C040 */ sll $t8, $t8, 1 -/* AFED70 80087BD0 03192821 */ addu $a1, $t8, $t9 -/* AFED74 80087BD4 84AD0000 */ lh $t5, ($a1) -/* AFED78 80087BD8 84C65A28 */ lh $a2, %lo(sMagicBorderR)($a2) -/* AFED7C 80087BDC 3C088012 */ lui $t0, %hi(sMagicBorderB) # $t0, 0x8012 -/* AFED80 80087BE0 3C078012 */ lui $a3, %hi(sMagicBorderG) # $a3, 0x8012 -/* AFED84 80087BE4 00CD1823 */ subu $v1, $a2, $t5 -/* AFED88 80087BE8 84E75A2C */ lh $a3, %lo(sMagicBorderG)($a3) -/* AFED8C 80087BEC 04600003 */ bltz $v1, .L80087BFC -/* AFED90 80087BF0 85085A30 */ lh $t0, %lo(sMagicBorderB)($t0) -/* AFED94 80087BF4 10000002 */ b .L80087C00 -/* AFED98 80087BF8 00602025 */ move $a0, $v1 -.L80087BFC: -/* AFED9C 80087BFC 00032023 */ negu $a0, $v1 -.L80087C00: -/* AFEDA0 80087C00 3C098012 */ lui $t1, %hi(sMagicBorderRatio) # $t1, 0x8012 -/* AFEDA4 80087C04 85295AD0 */ lh $t1, %lo(sMagicBorderRatio)($t1) -/* AFEDA8 80087C08 84AC0002 */ lh $t4, 2($a1) -/* AFEDAC 80087C0C 0089001A */ div $zero, $a0, $t1 -/* AFEDB0 80087C10 00001812 */ mflo $v1 -/* AFEDB4 80087C14 00031C00 */ sll $v1, $v1, 0x10 -/* AFEDB8 80087C18 15200002 */ bnez $t1, .L80087C24 -/* AFEDBC 80087C1C 00000000 */ nop -/* AFEDC0 80087C20 0007000D */ break 7 -.L80087C24: -/* AFEDC4 80087C24 2401FFFF */ li $at, -1 -/* AFEDC8 80087C28 15210004 */ bne $t1, $at, .L80087C3C -/* AFEDCC 80087C2C 3C018000 */ lui $at, 0x8000 -/* AFEDD0 80087C30 14810002 */ bne $a0, $at, .L80087C3C -/* AFEDD4 80087C34 00000000 */ nop -/* AFEDD8 80087C38 0006000D */ break 6 -.L80087C3C: -/* AFEDDC 80087C3C 00EC1023 */ subu $v0, $a3, $t4 -/* AFEDE0 80087C40 04400003 */ bltz $v0, .L80087C50 -/* AFEDE4 80087C44 00031C03 */ sra $v1, $v1, 0x10 -/* AFEDE8 80087C48 10000002 */ b .L80087C54 -/* AFEDEC 80087C4C 00402025 */ move $a0, $v0 -.L80087C50: -/* AFEDF0 80087C50 00022023 */ negu $a0, $v0 -.L80087C54: -/* AFEDF4 80087C54 0089001A */ div $zero, $a0, $t1 -/* AFEDF8 80087C58 84AB0004 */ lh $t3, 4($a1) -/* AFEDFC 80087C5C 00005012 */ mflo $t2 -/* AFEE00 80087C60 000A5400 */ sll $t2, $t2, 0x10 -/* AFEE04 80087C64 15200002 */ bnez $t1, .L80087C70 -/* AFEE08 80087C68 00000000 */ nop -/* AFEE0C 80087C6C 0007000D */ break 7 -.L80087C70: -/* AFEE10 80087C70 2401FFFF */ li $at, -1 -/* AFEE14 80087C74 15210004 */ bne $t1, $at, .L80087C88 -/* AFEE18 80087C78 3C018000 */ lui $at, 0x8000 -/* AFEE1C 80087C7C 14810002 */ bne $a0, $at, .L80087C88 -/* AFEE20 80087C80 00000000 */ nop -/* AFEE24 80087C84 0006000D */ break 6 -.L80087C88: -/* AFEE28 80087C88 010B1023 */ subu $v0, $t0, $t3 -/* AFEE2C 80087C8C 04400003 */ bltz $v0, .L80087C9C -/* AFEE30 80087C90 000A5403 */ sra $t2, $t2, 0x10 -/* AFEE34 80087C94 10000002 */ b .L80087CA0 -/* AFEE38 80087C98 00402025 */ move $a0, $v0 -.L80087C9C: -/* AFEE3C 80087C9C 00022023 */ negu $a0, $v0 -.L80087CA0: -/* AFEE40 80087CA0 00CD082A */ slt $at, $a2, $t5 -/* AFEE44 80087CA4 54200006 */ bnezl $at, .L80087CC0 -/* AFEE48 80087CA8 00C37821 */ addu $t7, $a2, $v1 -/* AFEE4C 80087CAC 00C37023 */ subu $t6, $a2, $v1 -/* AFEE50 80087CB0 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFEE54 80087CB4 10000004 */ b .L80087CC8 -/* AFEE58 80087CB8 A42E5A28 */ sh $t6, %lo(sMagicBorderR)($at) -/* AFEE5C 80087CBC 00C37821 */ addu $t7, $a2, $v1 -.L80087CC0: -/* AFEE60 80087CC0 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFEE64 80087CC4 A42F5A28 */ sh $t7, %lo(sMagicBorderR)($at) -.L80087CC8: -/* AFEE68 80087CC8 00EC082A */ slt $at, $a3, $t4 -/* AFEE6C 80087CCC 54200006 */ bnezl $at, .L80087CE8 -/* AFEE70 80087CD0 00EAC821 */ addu $t9, $a3, $t2 -/* AFEE74 80087CD4 00EAC023 */ subu $t8, $a3, $t2 -/* AFEE78 80087CD8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFEE7C 80087CDC 10000004 */ b .L80087CF0 -/* AFEE80 80087CE0 A4385A2C */ sh $t8, %lo(sMagicBorderG)($at) -/* AFEE84 80087CE4 00EAC821 */ addu $t9, $a3, $t2 -.L80087CE8: -/* AFEE88 80087CE8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFEE8C 80087CEC A4395A2C */ sh $t9, %lo(sMagicBorderG)($at) -.L80087CF0: -/* AFEE90 80087CF0 010B082A */ slt $at, $t0, $t3 -/* AFEE94 80087CF4 14200012 */ bnez $at, .L80087D40 -/* AFEE98 80087CF8 00000000 */ nop -/* AFEE9C 80087CFC 0089001A */ div $zero, $a0, $t1 -/* AFEEA0 80087D00 15200002 */ bnez $t1, .L80087D0C -/* AFEEA4 80087D04 00000000 */ nop -/* AFEEA8 80087D08 0007000D */ break 7 -.L80087D0C: -/* AFEEAC 80087D0C 2401FFFF */ li $at, -1 -/* AFEEB0 80087D10 15210004 */ bne $t1, $at, .L80087D24 -/* AFEEB4 80087D14 3C018000 */ lui $at, 0x8000 -/* AFEEB8 80087D18 14810002 */ bne $a0, $at, .L80087D24 -/* AFEEBC 80087D1C 00000000 */ nop -/* AFEEC0 80087D20 0006000D */ break 6 -.L80087D24: -/* AFEEC4 80087D24 00007012 */ mflo $t6 -/* AFEEC8 80087D28 000E7C00 */ sll $t7, $t6, 0x10 -/* AFEECC 80087D2C 000FC403 */ sra $t8, $t7, 0x10 -/* AFEED0 80087D30 0118C823 */ subu $t9, $t0, $t8 -/* AFEED4 80087D34 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFEED8 80087D38 10000011 */ b .L80087D80 -/* AFEEDC 80087D3C A4395A30 */ sh $t9, %lo(sMagicBorderB)($at) -.L80087D40: -/* AFEEE0 80087D40 0089001A */ div $zero, $a0, $t1 -/* AFEEE4 80087D44 15200002 */ bnez $t1, .L80087D50 -/* AFEEE8 80087D48 00000000 */ nop -/* AFEEEC 80087D4C 0007000D */ break 7 -.L80087D50: -/* AFEEF0 80087D50 2401FFFF */ li $at, -1 -/* AFEEF4 80087D54 15210004 */ bne $t1, $at, .L80087D68 -/* AFEEF8 80087D58 3C018000 */ lui $at, 0x8000 -/* AFEEFC 80087D5C 14810002 */ bne $a0, $at, .L80087D68 -/* AFEF00 80087D60 00000000 */ nop -/* AFEF04 80087D64 0006000D */ break 6 -.L80087D68: -/* AFEF08 80087D68 00007012 */ mflo $t6 -/* AFEF0C 80087D6C 000E7C00 */ sll $t7, $t6, 0x10 -/* AFEF10 80087D70 000FC403 */ sra $t8, $t7, 0x10 -/* AFEF14 80087D74 0118C821 */ addu $t9, $t0, $t8 -/* AFEF18 80087D78 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFEF1C 80087D7C A4395A30 */ sh $t9, %lo(sMagicBorderB)($at) -.L80087D80: -/* AFEF20 80087D80 2529FFFF */ addiu $t1, $t1, -1 -/* AFEF24 80087D84 00094C00 */ sll $t1, $t1, 0x10 -/* AFEF28 80087D88 00094C03 */ sra $t1, $t1, 0x10 -/* AFEF2C 80087D8C 3C018012 */ lui $at, %hi(sMagicBorderRatio) # $at, 0x8012 -/* AFEF30 80087D90 15200138 */ bnez $t1, .L80088274 -/* AFEF34 80087D94 A4295AD0 */ sh $t1, %lo(sMagicBorderRatio)($at) -/* AFEF38 80087D98 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFEF3C 80087D9C A42D5A28 */ sh $t5, %lo(sMagicBorderR)($at) -/* AFEF40 80087DA0 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 -/* AFEF44 80087DA4 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) -/* AFEF48 80087DA8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFEF4C 80087DAC A42C5A2C */ sh $t4, %lo(sMagicBorderG)($at) -/* AFEF50 80087DB0 3C188012 */ lui $t8, %hi(sMagicBorderStep) # $t8, 0x8012 -/* AFEF54 80087DB4 87185AD4 */ lh $t8, %lo(sMagicBorderStep)($t8) -/* AFEF58 80087DB8 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFEF5C 80087DBC A42B5A30 */ sh $t3, %lo(sMagicBorderB)($at) -/* AFEF60 80087DC0 01DF7821 */ addu $t7, $t6, $ra -/* AFEF64 80087DC4 85E904E4 */ lh $t1, 0x4e4($t7) -/* AFEF68 80087DC8 3C018012 */ lui $at, %hi(sMagicBorderStep) # $at, 0x8012 -/* AFEF6C 80087DCC 27190001 */ addiu $t9, $t8, 1 -/* AFEF70 80087DD0 A4395AD4 */ sh $t9, %lo(sMagicBorderStep)($at) -/* AFEF74 80087DD4 3C018012 */ lui $at, %hi(sMagicBorderRatio) # $at, 0x8012 -/* AFEF78 80087DD8 00197400 */ sll $t6, $t9, 0x10 -/* AFEF7C 80087DDC 000E7C03 */ sra $t7, $t6, 0x10 -/* AFEF80 80087DE0 A4295AD0 */ sh $t1, %lo(sMagicBorderRatio)($at) -/* AFEF84 80087DE4 29E10004 */ slti $at, $t7, 4 -/* AFEF88 80087DE8 14200122 */ bnez $at, .L80088274 -/* AFEF8C 80087DEC 3C018012 */ lui $at, %hi(sMagicBorderStep) # $at, 0x8012 -/* AFEF90 80087DF0 10000120 */ b .L80088274 -/* AFEF94 80087DF4 A4205AD4 */ sh $zero, %lo(sMagicBorderStep)($at) -glabel L80087DF8 -/* AFEF98 80087DF8 241800FF */ li $t8, 255 -/* AFEF9C 80087DFC 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFEFA0 80087E00 A4385A30 */ sh $t8, %lo(sMagicBorderB)($at) -/* AFEFA4 80087E04 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFEFA8 80087E08 241900FF */ li $t9, 255 -/* AFEFAC 80087E0C A4395A2C */ sh $t9, %lo(sMagicBorderG)($at) -/* AFEFB0 80087E10 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFEFB4 80087E14 240E00FF */ li $t6, 255 -/* AFEFB8 80087E18 A42E5A28 */ sh $t6, %lo(sMagicBorderR)($at) -/* AFEFBC 80087E1C 10000115 */ b .L80088274 -/* AFEFC0 80087E20 A46013F0 */ sh $zero, 0x13f0($v1) -glabel L80087E24 -/* AFEFC4 80087E24 3C010001 */ lui $at, 1 -/* AFEFC8 80087E28 00811021 */ addu $v0, $a0, $at -/* AFEFCC 80087E2C 944F0934 */ lhu $t7, 0x934($v0) -/* AFEFD0 80087E30 15E0005F */ bnez $t7, .L80087FB0 -/* AFEFD4 80087E34 00000000 */ nop -/* AFEFD8 80087E38 94580936 */ lhu $t8, 0x936($v0) -/* AFEFDC 80087E3C 1700005C */ bnez $t8, .L80087FB0 -/* AFEFE0 80087E40 00000000 */ nop -/* AFEFE4 80087E44 3C190001 */ lui $t9, 1 -/* AFEFE8 80087E48 0324C821 */ addu $t9, $t9, $a0 -/* AFEFEC 80087E4C 933903DC */ lbu $t9, 0x3dc($t9) -/* AFEFF0 80087E50 17200057 */ bnez $t9, .L80087FB0 -/* AFEFF4 80087E54 00000000 */ nop -/* AFEFF8 80087E58 944E0A20 */ lhu $t6, 0xa20($v0) -/* AFEFFC 80087E5C 15C00054 */ bnez $t6, .L80087FB0 -/* AFF000 80087E60 00000000 */ nop -/* AFF004 80087E64 804F1E15 */ lb $t7, 0x1e15($v0) -/* AFF008 80087E68 15E00051 */ bnez $t7, .L80087FB0 -/* AFF00C 80087E6C 00000000 */ nop -/* AFF010 80087E70 9058241B */ lbu $t8, 0x241b($v0) -/* AFF014 80087E74 1700004E */ bnez $t8, .L80087FB0 -/* AFF018 80087E78 00000000 */ nop -/* AFF01C 80087E7C 0C02FF21 */ jal Gameplay_InCsMode -/* AFF020 80087E80 AFA40020 */ sw $a0, 0x20($sp) -/* AFF024 80087E84 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFF028 80087E88 14400049 */ bnez $v0, .L80087FB0 -/* AFF02C 80087E8C 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFF030 80087E90 80790033 */ lb $t9, 0x33($v1) -/* AFF034 80087E94 5320001C */ beql $t9, $zero, .L80087F08 -/* AFF038 80087E98 8FAF0020 */ lw $t7, 0x20($sp) -/* AFF03C 80087E9C 0C023CBE */ jal func_8008F2F8 -/* AFF040 80087EA0 8FA40020 */ lw $a0, 0x20($sp) -/* AFF044 80087EA4 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFF048 80087EA8 28410002 */ slti $at, $v0, 2 -/* AFF04C 80087EAC 14200007 */ bnez $at, .L80087ECC -/* AFF050 80087EB0 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFF054 80087EB4 0C023CBE */ jal func_8008F2F8 -/* AFF058 80087EB8 8FA40020 */ lw $a0, 0x20($sp) -/* AFF05C 80087EBC 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFF060 80087EC0 28410005 */ slti $at, $v0, 5 -/* AFF064 80087EC4 1420000F */ bnez $at, .L80087F04 -/* AFF068 80087EC8 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -.L80087ECC: -/* AFF06C 80087ECC 906E0069 */ lbu $t6, 0x69($v1) -/* AFF070 80087ED0 2402000F */ li $v0, 15 -/* AFF074 80087ED4 8FB90020 */ lw $t9, 0x20($sp) -/* AFF078 80087ED8 504E0008 */ beql $v0, $t6, .L80087EFC -/* AFF07C 80087EDC 932E1C27 */ lbu $t6, 0x1c27($t9) -/* AFF080 80087EE0 906F006A */ lbu $t7, 0x6a($v1) -/* AFF084 80087EE4 504F0005 */ beql $v0, $t7, .L80087EFC -/* AFF088 80087EE8 932E1C27 */ lbu $t6, 0x1c27($t9) -/* AFF08C 80087EEC 9078006B */ lbu $t8, 0x6b($v1) -/* AFF090 80087EF0 54580005 */ bnel $v0, $t8, .L80087F08 -/* AFF094 80087EF4 8FAF0020 */ lw $t7, 0x20($sp) -/* AFF098 80087EF8 932E1C27 */ lbu $t6, 0x1c27($t9) -.L80087EFC: -/* AFF09C 80087EFC 55C0001E */ bnezl $t6, .L80087F78 -/* AFF0A0 80087F00 8FA20020 */ lw $v0, 0x20($sp) -.L80087F04: -/* AFF0A4 80087F04 8FAF0020 */ lw $t7, 0x20($sp) -.L80087F08: -/* AFF0A8 80087F08 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* AFF0AC 80087F0C 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013 -/* AFF0B0 80087F10 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* AFF0B4 80087F14 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8 -/* AFF0B8 80087F18 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* AFF0BC 80087F1C A1E01C27 */ sb $zero, 0x1c27($t7) -/* AFF0C0 80087F20 AFB80014 */ sw $t8, 0x14($sp) -/* AFF0C4 80087F24 AFA70010 */ sw $a3, 0x10($sp) -/* AFF0C8 80087F28 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 -/* AFF0CC 80087F2C 2404482B */ li $a0, 18475 -/* AFF0D0 80087F30 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* AFF0D4 80087F34 24060004 */ li $a2, 4 -/* AFF0D8 80087F38 3C048012 */ lui $a0, %hi(sMagicBorderB) # $a0, 0x8012 -/* AFF0DC 80087F3C 24845A30 */ addiu $a0, %lo(sMagicBorderB) # addiu $a0, $a0, 0x5a30 -/* AFF0E0 80087F40 241900FF */ li $t9, 255 -/* AFF0E4 80087F44 A4990000 */ sh $t9, ($a0) -/* AFF0E8 80087F48 848E0000 */ lh $t6, ($a0) -/* AFF0EC 80087F4C 3C028012 */ lui $v0, %hi(sMagicBorderG) # $v0, 0x8012 -/* AFF0F0 80087F50 24425A2C */ addiu $v0, %lo(sMagicBorderG) # addiu $v0, $v0, 0x5a2c -/* AFF0F4 80087F54 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFF0F8 80087F58 A44E0000 */ sh $t6, ($v0) -/* AFF0FC 80087F5C 844F0000 */ lh $t7, ($v0) -/* AFF100 80087F60 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFF104 80087F64 A46013F0 */ sh $zero, 0x13f0($v1) -/* AFF108 80087F68 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFF10C 80087F6C 100000C1 */ b .L80088274 -/* AFF110 80087F70 A42F5A28 */ sh $t7, %lo(sMagicBorderR)($at) -/* AFF114 80087F74 8FA20020 */ lw $v0, 0x20($sp) -.L80087F78: -/* AFF118 80087F78 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1 -/* AFF11C 80087F7C 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0 -/* AFF120 80087F80 00411021 */ addu $v0, $v0, $at -/* AFF124 80087F84 84580230 */ lh $t8, 0x230($v0) -/* AFF128 80087F88 2719FFFF */ addiu $t9, $t8, -1 -/* AFF12C 80087F8C A4590230 */ sh $t9, 0x230($v0) -/* AFF130 80087F90 844E0230 */ lh $t6, 0x230($v0) -/* AFF134 80087F94 15C00006 */ bnez $t6, .L80087FB0 -/* AFF138 80087F98 00000000 */ nop -/* AFF13C 80087F9C 806F0033 */ lb $t7, 0x33($v1) -/* AFF140 80087FA0 24190050 */ li $t9, 80 -/* AFF144 80087FA4 25F8FFFF */ addiu $t8, $t7, -1 -/* AFF148 80087FA8 A0780033 */ sb $t8, 0x33($v1) -/* AFF14C 80087FAC A4590230 */ sh $t9, 0x230($v0) -.L80087FB0: -/* AFF150 80087FB0 3C1F8012 */ lui $ra, %hi(sMagicBorderStep) # $ra, 0x8012 -/* AFF154 80087FB4 87FF5AD4 */ lh $ra, %lo(sMagicBorderStep)($ra) -/* AFF158 80087FB8 3C028012 */ lui $v0, %hi(sMagicBorderIndexes) -/* AFF15C 80087FBC 3C0F8012 */ lui $t7, %hi(sMagicBorderColors) # $t7, 0x8012 -/* AFF160 80087FC0 001FF840 */ sll $ra, $ra, 1 -/* AFF164 80087FC4 005F1021 */ addu $v0, $v0, $ra -/* AFF168 80087FC8 84425AC8 */ lh $v0, %lo(sMagicBorderIndexes)($v0) -/* AFF16C 80087FCC 25EF5AB0 */ addiu $t7, %lo(sMagicBorderColors) # addiu $t7, $t7, 0x5ab0 -/* AFF170 80087FD0 3C068012 */ lui $a2, %hi(sMagicBorderR) # $a2, 0x8012 -/* AFF174 80087FD4 00027080 */ sll $t6, $v0, 2 -/* AFF178 80087FD8 01C27023 */ subu $t6, $t6, $v0 -/* AFF17C 80087FDC 000E7040 */ sll $t6, $t6, 1 -/* AFF180 80087FE0 01CF2821 */ addu $a1, $t6, $t7 -/* AFF184 80087FE4 84AD0000 */ lh $t5, ($a1) -/* AFF188 80087FE8 84C65A28 */ lh $a2, %lo(sMagicBorderR)($a2) -/* AFF18C 80087FEC 3C098012 */ lui $t1, %hi(sMagicBorderRatio) # $t1, 0x8012 -/* AFF190 80087FF0 3C078012 */ lui $a3, %hi(sMagicBorderG) # $a3, 0x8012 -/* AFF194 80087FF4 00CD1823 */ subu $v1, $a2, $t5 -/* AFF198 80087FF8 04600003 */ bltz $v1, .L80088008 -/* AFF19C 80087FFC 3C088012 */ lui $t0, %hi(sMagicBorderB) # $t0, 0x8012 -/* AFF1A0 80088000 10000002 */ b .L8008800C -/* AFF1A4 80088004 00602025 */ move $a0, $v1 -.L80088008: -/* AFF1A8 80088008 00032023 */ negu $a0, $v1 -.L8008800C: -/* AFF1AC 8008800C 85295AD0 */ lh $t1, %lo(sMagicBorderRatio)($t1) -/* AFF1B0 80088010 84E75A2C */ lh $a3, %lo(sMagicBorderG)($a3) -/* AFF1B4 80088014 84AC0002 */ lh $t4, 2($a1) -/* AFF1B8 80088018 0089001A */ div $zero, $a0, $t1 -/* AFF1BC 8008801C 00001812 */ mflo $v1 -/* AFF1C0 80088020 00031C00 */ sll $v1, $v1, 0x10 -/* AFF1C4 80088024 15200002 */ bnez $t1, .L80088030 -/* AFF1C8 80088028 00000000 */ nop -/* AFF1CC 8008802C 0007000D */ break 7 -.L80088030: -/* AFF1D0 80088030 2401FFFF */ li $at, -1 -/* AFF1D4 80088034 15210004 */ bne $t1, $at, .L80088048 -/* AFF1D8 80088038 3C018000 */ lui $at, 0x8000 -/* AFF1DC 8008803C 14810002 */ bne $a0, $at, .L80088048 -/* AFF1E0 80088040 00000000 */ nop -/* AFF1E4 80088044 0006000D */ break 6 -.L80088048: -/* AFF1E8 80088048 00EC1023 */ subu $v0, $a3, $t4 -/* AFF1EC 8008804C 04400003 */ bltz $v0, .L8008805C -/* AFF1F0 80088050 00031C03 */ sra $v1, $v1, 0x10 -/* AFF1F4 80088054 10000002 */ b .L80088060 -/* AFF1F8 80088058 00402025 */ move $a0, $v0 -.L8008805C: -/* AFF1FC 8008805C 00022023 */ negu $a0, $v0 -.L80088060: -/* AFF200 80088060 0089001A */ div $zero, $a0, $t1 -/* AFF204 80088064 85085A30 */ lh $t0, %lo(sMagicBorderB)($t0) -/* AFF208 80088068 84AB0004 */ lh $t3, 4($a1) -/* AFF20C 8008806C 00005012 */ mflo $t2 -/* AFF210 80088070 000A5400 */ sll $t2, $t2, 0x10 -/* AFF214 80088074 15200002 */ bnez $t1, .L80088080 -/* AFF218 80088078 00000000 */ nop -/* AFF21C 8008807C 0007000D */ break 7 -.L80088080: -/* AFF220 80088080 2401FFFF */ li $at, -1 -/* AFF224 80088084 15210004 */ bne $t1, $at, .L80088098 -/* AFF228 80088088 3C018000 */ lui $at, 0x8000 -/* AFF22C 8008808C 14810002 */ bne $a0, $at, .L80088098 -/* AFF230 80088090 00000000 */ nop -/* AFF234 80088094 0006000D */ break 6 -.L80088098: -/* AFF238 80088098 010B1023 */ subu $v0, $t0, $t3 -/* AFF23C 8008809C 04400003 */ bltz $v0, .L800880AC -/* AFF240 800880A0 000A5403 */ sra $t2, $t2, 0x10 -/* AFF244 800880A4 10000002 */ b .L800880B0 -/* AFF248 800880A8 00402025 */ move $a0, $v0 -.L800880AC: -/* AFF24C 800880AC 00022023 */ negu $a0, $v0 -.L800880B0: -/* AFF250 800880B0 00CD082A */ slt $at, $a2, $t5 -/* AFF254 800880B4 54200006 */ bnezl $at, .L800880D0 -/* AFF258 800880B8 00C3C821 */ addu $t9, $a2, $v1 -/* AFF25C 800880BC 00C3C023 */ subu $t8, $a2, $v1 -/* AFF260 800880C0 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFF264 800880C4 10000004 */ b .L800880D8 -/* AFF268 800880C8 A4385A28 */ sh $t8, %lo(sMagicBorderR)($at) -/* AFF26C 800880CC 00C3C821 */ addu $t9, $a2, $v1 -.L800880D0: -/* AFF270 800880D0 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFF274 800880D4 A4395A28 */ sh $t9, %lo(sMagicBorderR)($at) -.L800880D8: -/* AFF278 800880D8 00EC082A */ slt $at, $a3, $t4 -/* AFF27C 800880DC 54200006 */ bnezl $at, .L800880F8 -/* AFF280 800880E0 00EA7821 */ addu $t7, $a3, $t2 -/* AFF284 800880E4 00EA7023 */ subu $t6, $a3, $t2 -/* AFF288 800880E8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFF28C 800880EC 10000004 */ b .L80088100 -/* AFF290 800880F0 A42E5A2C */ sh $t6, %lo(sMagicBorderG)($at) -/* AFF294 800880F4 00EA7821 */ addu $t7, $a3, $t2 -.L800880F8: -/* AFF298 800880F8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFF29C 800880FC A42F5A2C */ sh $t7, %lo(sMagicBorderG)($at) -.L80088100: -/* AFF2A0 80088100 010B082A */ slt $at, $t0, $t3 -/* AFF2A4 80088104 14200012 */ bnez $at, .L80088150 -/* AFF2A8 80088108 00000000 */ nop -/* AFF2AC 8008810C 0089001A */ div $zero, $a0, $t1 -/* AFF2B0 80088110 15200002 */ bnez $t1, .L8008811C -/* AFF2B4 80088114 00000000 */ nop -/* AFF2B8 80088118 0007000D */ break 7 -.L8008811C: -/* AFF2BC 8008811C 2401FFFF */ li $at, -1 -/* AFF2C0 80088120 15210004 */ bne $t1, $at, .L80088134 -/* AFF2C4 80088124 3C018000 */ lui $at, 0x8000 -/* AFF2C8 80088128 14810002 */ bne $a0, $at, .L80088134 -/* AFF2CC 8008812C 00000000 */ nop -/* AFF2D0 80088130 0006000D */ break 6 -.L80088134: -/* AFF2D4 80088134 0000C012 */ mflo $t8 -/* AFF2D8 80088138 0018CC00 */ sll $t9, $t8, 0x10 -/* AFF2DC 8008813C 00197403 */ sra $t6, $t9, 0x10 -/* AFF2E0 80088140 010E7823 */ subu $t7, $t0, $t6 -/* AFF2E4 80088144 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFF2E8 80088148 10000011 */ b .L80088190 -/* AFF2EC 8008814C A42F5A30 */ sh $t7, %lo(sMagicBorderB)($at) -.L80088150: -/* AFF2F0 80088150 0089001A */ div $zero, $a0, $t1 -/* AFF2F4 80088154 15200002 */ bnez $t1, .L80088160 -/* AFF2F8 80088158 00000000 */ nop -/* AFF2FC 8008815C 0007000D */ break 7 -.L80088160: -/* AFF300 80088160 2401FFFF */ li $at, -1 -/* AFF304 80088164 15210004 */ bne $t1, $at, .L80088178 -/* AFF308 80088168 3C018000 */ lui $at, 0x8000 -/* AFF30C 8008816C 14810002 */ bne $a0, $at, .L80088178 -/* AFF310 80088170 00000000 */ nop -/* AFF314 80088174 0006000D */ break 6 -.L80088178: -/* AFF318 80088178 0000C012 */ mflo $t8 -/* AFF31C 8008817C 0018CC00 */ sll $t9, $t8, 0x10 -/* AFF320 80088180 00197403 */ sra $t6, $t9, 0x10 -/* AFF324 80088184 010E7821 */ addu $t7, $t0, $t6 -/* AFF328 80088188 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFF32C 8008818C A42F5A30 */ sh $t7, %lo(sMagicBorderB)($at) -.L80088190: -/* AFF330 80088190 2529FFFF */ addiu $t1, $t1, -1 -/* AFF334 80088194 00094C00 */ sll $t1, $t1, 0x10 -/* AFF338 80088198 00094C03 */ sra $t1, $t1, 0x10 -/* AFF33C 8008819C 3C018012 */ lui $at, %hi(sMagicBorderRatio) # $at, 0x8012 -/* AFF340 800881A0 15200034 */ bnez $t1, .L80088274 -/* AFF344 800881A4 A4295AD0 */ sh $t1, %lo(sMagicBorderRatio)($at) -/* AFF348 800881A8 3C018012 */ lui $at, %hi(sMagicBorderR) # $at, 0x8012 -/* AFF34C 800881AC A42D5A28 */ sh $t5, %lo(sMagicBorderR)($at) -/* AFF350 800881B0 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 -/* AFF354 800881B4 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) -/* AFF358 800881B8 3C018012 */ lui $at, %hi(sMagicBorderG) # $at, 0x8012 -/* AFF35C 800881BC A42C5A2C */ sh $t4, %lo(sMagicBorderG)($at) -/* AFF360 800881C0 3C0E8012 */ lui $t6, %hi(sMagicBorderStep) # $t6, 0x8012 -/* AFF364 800881C4 85CE5AD4 */ lh $t6, %lo(sMagicBorderStep)($t6) -/* AFF368 800881C8 3C018012 */ lui $at, %hi(sMagicBorderB) # $at, 0x8012 -/* AFF36C 800881CC A42B5A30 */ sh $t3, %lo(sMagicBorderB)($at) -/* AFF370 800881D0 031FC821 */ addu $t9, $t8, $ra -/* AFF374 800881D4 872904E4 */ lh $t1, 0x4e4($t9) -/* AFF378 800881D8 3C018012 */ lui $at, %hi(sMagicBorderStep) # $at, 0x8012 -/* AFF37C 800881DC 25CF0001 */ addiu $t7, $t6, 1 -/* AFF380 800881E0 A42F5AD4 */ sh $t7, %lo(sMagicBorderStep)($at) -/* AFF384 800881E4 3C018012 */ lui $at, %hi(sMagicBorderRatio) # $at, 0x8012 -/* AFF388 800881E8 000FC400 */ sll $t8, $t7, 0x10 -/* AFF38C 800881EC 0018CC03 */ sra $t9, $t8, 0x10 -/* AFF390 800881F0 A4295AD0 */ sh $t1, %lo(sMagicBorderRatio)($at) -/* AFF394 800881F4 2B210004 */ slti $at, $t9, 4 -/* AFF398 800881F8 1420001E */ bnez $at, .L80088274 -/* AFF39C 800881FC 3C018012 */ lui $at, %hi(sMagicBorderStep) # $at, 0x8012 -/* AFF3A0 80088200 1000001C */ b .L80088274 -/* AFF3A4 80088204 A4205AD4 */ sh $zero, %lo(sMagicBorderStep)($at) -glabel L80088208 -/* AFF3A8 80088208 806E0033 */ lb $t6, 0x33($v1) -/* AFF3AC 8008820C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013 -/* AFF3B0 80088210 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013 -/* AFF3B4 80088214 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0 -/* AFF3B8 80088218 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8 -/* AFF3BC 8008821C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013 -/* AFF3C0 80088220 25CF0004 */ addiu $t7, $t6, 4 -/* AFF3C4 80088224 A06F0033 */ sb $t7, 0x33($v1) -/* AFF3C8 80088228 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4 -/* AFF3CC 8008822C AFB80014 */ sw $t8, 0x14($sp) -/* AFF3D0 80088230 AFA70010 */ sw $a3, 0x10($sp) -/* AFF3D4 80088234 2404401F */ li $a0, 16415 -/* AFF3D8 80088238 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* AFF3DC 8008823C 24060004 */ li $a2, 4 -/* AFF3E0 80088240 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016 -/* AFF3E4 80088244 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0 -/* AFF3E8 80088248 846213F8 */ lh $v0, 0x13f8($v1) -/* AFF3EC 8008824C 80790033 */ lb $t9, 0x33($v1) -/* AFF3F0 80088250 0322082A */ slt $at, $t9, $v0 -/* AFF3F4 80088254 54200008 */ bnezl $at, .L80088278 -/* AFF3F8 80088258 8FBF001C */ lw $ra, 0x1c($sp) -/* AFF3FC 8008825C 846E13F2 */ lh $t6, 0x13f2($v1) -/* AFF400 80088260 A0620033 */ sb $v0, 0x33($v1) -/* AFF404 80088264 A46013F2 */ sh $zero, 0x13f2($v1) -/* AFF408 80088268 10000002 */ b .L80088274 -/* AFF40C 8008826C A46E13F0 */ sh $t6, 0x13f0($v1) -.L80088270: -/* AFF410 80088270 A46013F0 */ sh $zero, 0x13f0($v1) -.L80088274: -/* AFF414 80088274 8FBF001C */ lw $ra, 0x1c($sp) -.L80088278: -/* AFF418 80088278 27BD0020 */ addiu $sp, $sp, 0x20 -/* AFF41C 8008827C 03E00008 */ jr $ra -/* AFF420 80088280 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Rd/func_80AE3F9C.s b/asm/non_matchings/overlays/actors/ovl_En_Rd/func_80AE3F9C.s deleted file mode 100644 index 75e56e4767..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Rd/func_80AE3F9C.s +++ /dev/null @@ -1,115 +0,0 @@ -glabel func_80AE3F9C -/* 01B9C 80AE3F9C AFA50004 */ sw $a1, 0x0004($sp) -/* 01BA0 80AE3FA0 84860310 */ lh $a2, 0x0310($a0) ## 00000310 -/* 01BA4 80AE3FA4 848500B6 */ lh $a1, 0x00B6($a0) ## 000000B6 -/* 01BA8 80AE3FA8 8483008A */ lh $v1, 0x008A($a0) ## 0000008A -/* 01BAC 80AE3FAC 00A6C021 */ addu $t8, $a1, $a2 -/* 01BB0 80AE3FB0 00781023 */ subu $v0, $v1, $t8 -/* 01BB4 80AE3FB4 00021400 */ sll $v0, $v0, 16 -/* 01BB8 80AE3FB8 00021403 */ sra $v0, $v0, 16 -/* 01BBC 80AE3FBC 2841FE0C */ slti $at, $v0, 0xFE0C -/* 01BC0 80AE3FC0 10200003 */ beq $at, $zero, .L80AE3FD0 -/* 01BC4 80AE3FC4 00654823 */ subu $t1, $v1, $a1 -/* 01BC8 80AE3FC8 10000008 */ beq $zero, $zero, .L80AE3FEC -/* 01BCC 80AE3FCC 2407FE0C */ addiu $a3, $zero, 0xFE0C ## $a3 = FFFFFE0C -.L80AE3FD0: -/* 01BD0 80AE3FD0 284101F5 */ slti $at, $v0, 0x01F5 -/* 01BD4 80AE3FD4 14200003 */ bne $at, $zero, .L80AE3FE4 -/* 01BD8 80AE3FD8 00404025 */ or $t0, $v0, $zero ## $t0 = 00000000 -/* 01BDC 80AE3FDC 10000001 */ beq $zero, $zero, .L80AE3FE4 -/* 01BE0 80AE3FE0 240801F4 */ addiu $t0, $zero, 0x01F4 ## $t0 = 000001F4 -.L80AE3FE4: -/* 01BE4 80AE3FE4 00083C00 */ sll $a3, $t0, 16 -/* 01BE8 80AE3FE8 00073C03 */ sra $a3, $a3, 16 -.L80AE3FEC: -/* 01BEC 80AE3FEC 8499030E */ lh $t9, 0x030E($a0) ## 0000030E -/* 01BF0 80AE3FF0 00095400 */ sll $t2, $t1, 16 -/* 01BF4 80AE3FF4 000A5C03 */ sra $t3, $t2, 16 -/* 01BF8 80AE3FF8 00591023 */ subu $v0, $v0, $t9 -/* 01BFC 80AE3FFC 00021400 */ sll $v0, $v0, 16 -/* 01C00 80AE4000 00021403 */ sra $v0, $v0, 16 -/* 01C04 80AE4004 2841FE0C */ slti $at, $v0, 0xFE0C -/* 01C08 80AE4008 50200004 */ beql $at, $zero, .L80AE401C -/* 01C0C 80AE400C 284101F5 */ slti $at, $v0, 0x01F5 -/* 01C10 80AE4010 10000008 */ beq $zero, $zero, .L80AE4034 -/* 01C14 80AE4014 2402FE0C */ addiu $v0, $zero, 0xFE0C ## $v0 = FFFFFE0C -/* 01C18 80AE4018 284101F5 */ slti $at, $v0, 0x01F5 -.L80AE401C: -/* 01C1C 80AE401C 14200003 */ bne $at, $zero, .L80AE402C -/* 01C20 80AE4020 00404025 */ or $t0, $v0, $zero ## $t0 = FFFFFE0C -/* 01C24 80AE4024 10000001 */ beq $zero, $zero, .L80AE402C -/* 01C28 80AE4028 240801F4 */ addiu $t0, $zero, 0x01F4 ## $t0 = 000001F4 -.L80AE402C: -/* 01C2C 80AE402C 00081400 */ sll $v0, $t0, 16 -/* 01C30 80AE4030 00021403 */ sra $v0, $v0, 16 -.L80AE4034: -/* 01C34 80AE4034 0560000F */ bltz $t3, .L80AE4074 -/* 01C38 80AE4038 2409B6A1 */ addiu $t1, $zero, 0xB6A1 ## $t1 = FFFFB6A1 -/* 01C3C 80AE403C 04E00003 */ bltz $a3, .L80AE404C -/* 01C40 80AE4040 00074023 */ subu $t0, $zero, $a3 -/* 01C44 80AE4044 10000001 */ beq $zero, $zero, .L80AE404C -/* 01C48 80AE4048 00E04025 */ or $t0, $a3, $zero ## $t0 = FFFFFE0C -.L80AE404C: -/* 01C4C 80AE404C 00C86021 */ addu $t4, $a2, $t0 -/* 01C50 80AE4050 04400003 */ bltz $v0, .L80AE4060 -/* 01C54 80AE4054 A48C0310 */ sh $t4, 0x0310($a0) ## 00000310 -/* 01C58 80AE4058 10000002 */ beq $zero, $zero, .L80AE4064 -/* 01C5C 80AE405C 00404025 */ or $t0, $v0, $zero ## $t0 = FFFFFE0C -.L80AE4060: -/* 01C60 80AE4060 00024023 */ subu $t0, $zero, $v0 -.L80AE4064: -/* 01C64 80AE4064 848D030E */ lh $t5, 0x030E($a0) ## 0000030E -/* 01C68 80AE4068 01A87021 */ addu $t6, $t5, $t0 -/* 01C6C 80AE406C 1000000E */ beq $zero, $zero, .L80AE40A8 -/* 01C70 80AE4070 A48E030E */ sh $t6, 0x030E($a0) ## 0000030E -.L80AE4074: -/* 01C74 80AE4074 04E00003 */ bltz $a3, .L80AE4084 -/* 01C78 80AE4078 00074023 */ subu $t0, $zero, $a3 -/* 01C7C 80AE407C 10000001 */ beq $zero, $zero, .L80AE4084 -/* 01C80 80AE4080 00E04025 */ or $t0, $a3, $zero ## $t0 = FFFFFE0C -.L80AE4084: -/* 01C84 80AE4084 00C87823 */ subu $t7, $a2, $t0 -/* 01C88 80AE4088 04400003 */ bltz $v0, .L80AE4098 -/* 01C8C 80AE408C A48F0310 */ sh $t7, 0x0310($a0) ## 00000310 -/* 01C90 80AE4090 10000002 */ beq $zero, $zero, .L80AE409C -/* 01C94 80AE4094 00404025 */ or $t0, $v0, $zero ## $t0 = FFFFFE0C -.L80AE4098: -/* 01C98 80AE4098 00024023 */ subu $t0, $zero, $v0 -.L80AE409C: -/* 01C9C 80AE409C 8498030E */ lh $t8, 0x030E($a0) ## 0000030E -/* 01CA0 80AE40A0 0308C823 */ subu $t9, $t8, $t0 -/* 01CA4 80AE40A4 A499030E */ sh $t9, 0x030E($a0) ## 0000030E -.L80AE40A8: -/* 01CA8 80AE40A8 84860310 */ lh $a2, 0x0310($a0) ## 00000310 -/* 01CAC 80AE40AC 240ADA91 */ addiu $t2, $zero, 0xDA91 ## $t2 = FFFFDA91 -/* 01CB0 80AE40B0 28C1B6A1 */ slti $at, $a2, 0xB6A1 -/* 01CB4 80AE40B4 50200004 */ beql $at, $zero, .L80AE40C8 -/* 01CB8 80AE40B8 28C14960 */ slti $at, $a2, 0x4960 -/* 01CBC 80AE40BC 10000007 */ beq $zero, $zero, .L80AE40DC -/* 01CC0 80AE40C0 A4890310 */ sh $t1, 0x0310($a0) ## 00000310 -/* 01CC4 80AE40C4 28C14960 */ slti $at, $a2, 0x4960 -.L80AE40C8: -/* 01CC8 80AE40C8 14200003 */ bne $at, $zero, .L80AE40D8 -/* 01CCC 80AE40CC 00C04025 */ or $t0, $a2, $zero ## $t0 = 00000000 -/* 01CD0 80AE40D0 10000001 */ beq $zero, $zero, .L80AE40D8 -/* 01CD4 80AE40D4 2408495F */ addiu $t0, $zero, 0x495F ## $t0 = 0000495F -.L80AE40D8: -/* 01CD8 80AE40D8 A4880310 */ sh $t0, 0x0310($a0) ## 00000310 -.L80AE40DC: -/* 01CDC 80AE40DC 8482030E */ lh $v0, 0x030E($a0) ## 0000030E -/* 01CE0 80AE40E0 2841DA91 */ slti $at, $v0, 0xDA91 -/* 01CE4 80AE40E4 50200004 */ beql $at, $zero, .L80AE40F8 -/* 01CE8 80AE40E8 28412570 */ slti $at, $v0, 0x2570 -/* 01CEC 80AE40EC 03E00008 */ jr $ra -/* 01CF0 80AE40F0 A48A030E */ sh $t2, 0x030E($a0) ## 0000030E -.L80AE40F4: -/* 01CF4 80AE40F4 28412570 */ slti $at, $v0, 0x2570 -.L80AE40F8: -/* 01CF8 80AE40F8 14200003 */ bne $at, $zero, .L80AE4108 -/* 01CFC 80AE40FC 00404025 */ or $t0, $v0, $zero ## $t0 = FFFFFE0C -/* 01D00 80AE4100 10000001 */ beq $zero, $zero, .L80AE4108 -/* 01D04 80AE4104 2408256F */ addiu $t0, $zero, 0x256F ## $t0 = 0000256F -.L80AE4108: -/* 01D08 80AE4108 A488030E */ sh $t0, 0x030E($a0) ## 0000030E -/* 01D0C 80AE410C 03E00008 */ jr $ra -/* 01D10 80AE4110 00000000 */ nop diff --git a/data/overlays/actors/z_en_rd.reloc.s b/data/overlays/actors/z_en_rd.reloc.s deleted file mode 100644 index 64046ef1d6..0000000000 --- a/data/overlays/actors/z_en_rd.reloc.s +++ /dev/null @@ -1,13 +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 .rodata - -.balign 16 - -glabel D_80AE4A30 - .incbin "baserom/ovl_En_Rd", 0x2630, 0x000002A0 diff --git a/spec b/spec index 0422471868..82eb448f58 100644 --- a/spec +++ b/spec @@ -2923,11 +2923,7 @@ endseg beginseg name "ovl_En_Rd" include "build/src/overlays/actors/ovl_En_Rd/z_en_rd.o" -#ifdef NON_MATCHING include "build/src/overlays/actors/ovl_En_Rd/ovl_En_Rd_reloc.o" -#else - include "build/data/overlays/actors/z_en_rd.reloc.o" -#endif endseg beginseg diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 4c4401617c..23f257b3e9 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -2016,9 +2016,7 @@ void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx) { } void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) { - s32 temp; // inline temp needed to match regalloc - - osSyncPrintf("\ngame_info.mode=[%d] restart_flag", temp = gSaveContext.respawnFlag); + osSyncPrintf("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag)); if ((gSaveContext.gameMode == 0) && (gSaveContext.respawnFlag <= 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) { if ((gSaveContext.entranceIndex == 0x01E1) && !Flags_GetEventChkInf(0xAC)) { @@ -2037,12 +2035,12 @@ void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) { gSaveContext.cutsceneIndex = 0xFFF0; } else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) && LINK_IS_ADULT && !Flags_GetEventChkInf(0xC4) && - (gEntranceTable[temp = gSaveContext.entranceIndex].scene == SCENE_TOKINOMA)) { + (gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_TOKINOMA)) { Flags_SetEventChkInf(0xC4); gSaveContext.entranceIndex = 0x0053; gSaveContext.cutsceneIndex = 0xFFF8; } else if (!Flags_GetEventChkInf(0xC7) && - (gEntranceTable[temp = gSaveContext.entranceIndex].scene == SCENE_GANON_DEMO)) { + (gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_GANON_DEMO)) { Flags_SetEventChkInf(0xC7); gSaveContext.entranceIndex = 0x0517; gSaveContext.cutsceneIndex = 0xFFF0; diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index 09eee556b1..7f6345944a 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -11,7 +11,9 @@ extern void KaleidoScope_Update(GlobalContext*); extern void KaleidoScope_Draw(GlobalContext*); void KaleidoScopeCall_LoadPlayer() { - if ((u32)gKaleidoMgrCurOvl != (u32)&gKaleidoMgrOverlayTable[KALEIDO_OVL_PLAYER_ACTOR]) { + KaleidoManagerOvl* playerActorOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_PLAYER_ACTOR]; + + if (gKaleidoMgrCurOvl != playerActorOvl) { if (gKaleidoMgrCurOvl) { osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf("カレイド領域 強制排除\n"); // Kaleido area forced exclusion @@ -21,7 +23,7 @@ void KaleidoScopeCall_LoadPlayer() { osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf("プレイヤーアクター搬入\n"); // Player actor import osSyncPrintf(VT_RST); - KaleidoManager_LoadOvl(&gKaleidoMgrOverlayTable[KALEIDO_OVL_PLAYER_ACTOR]); + KaleidoManager_LoadOvl(playerActorOvl); } } @@ -44,13 +46,9 @@ void KaleidoScopeCall_Destroy(GlobalContext* globalCtx) { KaleidoSetup_Destroy(globalCtx); } -// regalloc -#ifdef NON_MATCHING void KaleidoScopeCall_Update(GlobalContext* globalCtx) { - s32 pad; - PauseContext* pauseCtx; - - pauseCtx = &globalCtx->pauseCtx; + KaleidoManagerOvl* kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE]; + PauseContext* pauseCtx = &globalCtx->pauseCtx; if (pauseCtx->state != 0 || pauseCtx->flag != 0) { if (pauseCtx->state == 1) { @@ -60,7 +58,7 @@ void KaleidoScopeCall_Update(GlobalContext* globalCtx) { R_PAUSE_MENU_MODE = 1; pauseCtx->unk_1E4 = 0; pauseCtx->unk_1EC = 0; - pauseCtx->state++; + pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; } } else if (pauseCtx->state == 8) { HREG(80) = 7; @@ -68,15 +66,15 @@ void KaleidoScopeCall_Update(GlobalContext* globalCtx) { R_PAUSE_MENU_MODE = 1; pauseCtx->unk_1E4 = 0; pauseCtx->unk_1EC = 0; - pauseCtx->state++; + pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; } else if (pauseCtx->state == 2 || pauseCtx->state == 9) { osSyncPrintf("PR_KAREIDOSCOPE_MODE=%d\n", R_PAUSE_MENU_MODE); if (R_PAUSE_MENU_MODE >= 3) { pauseCtx->state++; } } else if (pauseCtx->state != 0) { - if (&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE] != gKaleidoMgrCurOvl) { - if (gKaleidoMgrCurOvl) { + if (gKaleidoMgrCurOvl != kaleidoScopeOvl) { + if (gKaleidoMgrCurOvl != NULL) { osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf("カレイド領域 プレイヤー 強制排除\n"); // Kaleid Zone Player Forced Elimination osSyncPrintf(VT_RST); @@ -85,32 +83,29 @@ void KaleidoScopeCall_Update(GlobalContext* globalCtx) { osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf("カレイド領域 カレイドスコープ搬入\n"); // Kaleid area Kaleidoscope loading osSyncPrintf(VT_RST); - KaleidoManager_LoadOvl(&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE]); + KaleidoManager_LoadOvl(kaleidoScopeOvl); } - if (&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE] == gKaleidoMgrCurOvl) { + + if (gKaleidoMgrCurOvl == kaleidoScopeOvl) { sKaleidoScopeUpdateFunc(globalCtx); if (globalCtx->pauseCtx.state == 0 && globalCtx->pauseCtx.flag == 0) { osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf("カレイド領域 カレイドスコープ排出\n"); // Kaleid area Kaleidoscope emission osSyncPrintf(VT_RST); - KaleidoManager_ClearOvl(&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE]); + KaleidoManager_ClearOvl(kaleidoScopeOvl); KaleidoScopeCall_LoadPlayer(); } } } } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/KaleidoScopeCall_Update.s") -#endif void KaleidoScopeCall_Draw(GlobalContext* globalCtx) { - KaleidoManagerOvl* kaleidoScopeOvl; + KaleidoManagerOvl* kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE]; if (R_PAUSE_MENU_MODE >= 3) { if ((globalCtx->pauseCtx.state >= 4 && globalCtx->pauseCtx.state < 8) || (globalCtx->pauseCtx.state >= 11 && globalCtx->pauseCtx.state < 19)) { - kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE]; if (gKaleidoMgrCurOvl == kaleidoScopeOvl) { sKaleidoScopeDrawFunc(globalCtx); } diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 87b0787049..9f72fb8876 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -2356,8 +2356,6 @@ s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2) { return 0; } -#ifdef NON_MATCHING -// this function still needs some work void Interface_UpdateMagicBar(GlobalContext* globalCtx) { static s16 sMagicBorderColors[][3] = { { 0xFF, 0xFF, 0xFF }, @@ -2368,28 +2366,33 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { static s16 sMagicBorderIndexes[] = { 0, 1, 1, 0 }; static s16 sMagicBorderRatio = 2; static s16 sMagicBorderStep = 1; - s16* color; - s16 maxMagic; + MessageContext* msgCtx = &globalCtx->msgCtx; + InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; + s16 borderChangeR; + s16 borderChangeG; + s16 borderChangeB; + s16 temp; switch (gSaveContext.unk_13F0) { case 8: - maxMagic = gSaveContext.magicLevel * 0x30; - if (gSaveContext.unk_13F4 != maxMagic) { - if (gSaveContext.unk_13F4 < maxMagic) { + temp = gSaveContext.magicLevel * 0x30; + if (gSaveContext.unk_13F4 != temp) { + if (gSaveContext.unk_13F4 < temp) { gSaveContext.unk_13F4 += 8; - if (gSaveContext.unk_13F4 > maxMagic) { - gSaveContext.unk_13F4 = maxMagic; + if (gSaveContext.unk_13F4 > temp) { + gSaveContext.unk_13F4 = temp; } } else { gSaveContext.unk_13F4 -= 8; - if (gSaveContext.unk_13F4 <= maxMagic) { - gSaveContext.unk_13F4 = maxMagic; + if (gSaveContext.unk_13F4 <= temp) { + gSaveContext.unk_13F4 = temp; } } } else { gSaveContext.unk_13F0 = 9; } break; + case 9: gSaveContext.magic += 4; @@ -2398,60 +2401,61 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { &D_801333E8); } - // Translates to: "Storage MAGIC_NOW=%d (%d)" - osSyncPrintf("蓄電 MAGIC_NOW=%d (%d)\n", gSaveContext.magic, gSaveContext.unk_13F6); + // Translates to: "Storage MAGIC_NOW=%d (%d)" + osSyncPrintf("蓄電 MAGIC_NOW=%d (%d)\n", gSaveContext.magic, gSaveContext.unk_13F6); if (gSaveContext.magic >= gSaveContext.unk_13F6) { gSaveContext.magic = gSaveContext.unk_13F6; gSaveContext.unk_13F0 = gSaveContext.unk_13F2; gSaveContext.unk_13F2 = 0; } break; + case 1: sMagicBorderRatio = 2; gSaveContext.unk_13F0 = 2; break; + case 2: gSaveContext.magic -= 2; if (gSaveContext.magic <= 0) { gSaveContext.magic = 0; gSaveContext.unk_13F0 = 3; - sMagicBorderB = 255; - sMagicBorderG = 255; - sMagicBorderR = 255; + sMagicBorderR = sMagicBorderG = sMagicBorderB = 255; } else if (gSaveContext.magic == gSaveContext.unk_13F8) { gSaveContext.unk_13F0 = 3; - sMagicBorderB = 255; - sMagicBorderG = 255; - sMagicBorderR = 255; + sMagicBorderR = sMagicBorderG = sMagicBorderB = 255; } case 3: case 4: case 6: - color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]]; + temp = sMagicBorderIndexes[sMagicBorderStep]; + borderChangeR = ABS(sMagicBorderR - sMagicBorderColors[temp][0]) / sMagicBorderRatio; + borderChangeG = ABS(sMagicBorderG - sMagicBorderColors[temp][1]) / sMagicBorderRatio; + borderChangeB = ABS(sMagicBorderB - sMagicBorderColors[temp][2]) / sMagicBorderRatio; - if (sMagicBorderR >= color[0]) { - sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio; + if (sMagicBorderR >= sMagicBorderColors[temp][0]) { + sMagicBorderR -= borderChangeR; } else { - sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio; + sMagicBorderR += borderChangeR; } - if (sMagicBorderG >= color[1]) { - sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio; + if (sMagicBorderG >= sMagicBorderColors[temp][1]) { + sMagicBorderG -= borderChangeG; } else { - sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio; + sMagicBorderG += borderChangeG; } - if (sMagicBorderB >= color[2]) { - sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio; + if (sMagicBorderB >= sMagicBorderColors[temp][2]) { + sMagicBorderB -= borderChangeB; } else { - sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio; + sMagicBorderB += borderChangeB; } sMagicBorderRatio--; if (sMagicBorderRatio == 0) { - sMagicBorderR = color[0]; - sMagicBorderG = color[1]; - sMagicBorderB = color[2]; + sMagicBorderR = sMagicBorderColors[temp][0]; + sMagicBorderG = sMagicBorderColors[temp][1]; + sMagicBorderB = sMagicBorderColors[temp][2]; sMagicBorderRatio = YREG(40 + sMagicBorderStep); sMagicBorderStep++; if (sMagicBorderStep >= 4) { @@ -2459,16 +2463,16 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { } } break; + case 5: - sMagicBorderB = 255; - sMagicBorderG = 255; - sMagicBorderR = 255; + sMagicBorderR = sMagicBorderG = sMagicBorderB = 255; gSaveContext.unk_13F0 = 0; break; + case 7: - if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && - (globalCtx->msgCtx.msgMode == 0) && (globalCtx->unk_10A20 == 0) && (globalCtx->sceneLoadFlag == 0) && - (globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) { + if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && (msgCtx->msgMode == 0) && + (globalCtx->unk_10A20 == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0) && + !Gameplay_InCsMode(globalCtx)) { if ((gSaveContext.magic == 0) || ((func_8008F2F8(globalCtx) >= 2) && (func_8008F2F8(globalCtx) < 5)) || ((gSaveContext.equips.buttonItems[1] != ITEM_LENS) && (gSaveContext.equips.buttonItems[2] != ITEM_LENS) && @@ -2482,38 +2486,41 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { break; } - globalCtx->interfaceCtx.unk_230--; - if (globalCtx->interfaceCtx.unk_230 == 0) { + interfaceCtx->unk_230--; + if (interfaceCtx->unk_230 == 0) { gSaveContext.magic--; - globalCtx->interfaceCtx.unk_230 = 80; + interfaceCtx->unk_230 = 80; } } - color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]]; + temp = sMagicBorderIndexes[sMagicBorderStep]; + borderChangeR = ABS(sMagicBorderR - sMagicBorderColors[temp][0]) / sMagicBorderRatio; + borderChangeG = ABS(sMagicBorderG - sMagicBorderColors[temp][1]) / sMagicBorderRatio; + borderChangeB = ABS(sMagicBorderB - sMagicBorderColors[temp][2]) / sMagicBorderRatio; - if (sMagicBorderR >= color[0]) { - sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio; + if (sMagicBorderR >= sMagicBorderColors[temp][0]) { + sMagicBorderR -= borderChangeR; } else { - sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio; + sMagicBorderR += borderChangeR; } - if (sMagicBorderG >= color[1]) { - sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio; + if (sMagicBorderG >= sMagicBorderColors[temp][1]) { + sMagicBorderG -= borderChangeG; } else { - sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio; + sMagicBorderG += borderChangeG; } - if (sMagicBorderB >= color[2]) { - sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio; + if (sMagicBorderB >= sMagicBorderColors[temp][2]) { + sMagicBorderB -= borderChangeB; } else { - sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio; + sMagicBorderB += borderChangeB; } sMagicBorderRatio--; if (sMagicBorderRatio == 0) { - sMagicBorderR = color[0]; - sMagicBorderG = color[1]; - sMagicBorderB = color[2]; + sMagicBorderR = sMagicBorderColors[temp][0]; + sMagicBorderG = sMagicBorderColors[temp][1]; + sMagicBorderB = sMagicBorderColors[temp][2]; sMagicBorderRatio = YREG(40 + sMagicBorderStep); sMagicBorderStep++; if (sMagicBorderStep >= 4) { @@ -2521,6 +2528,7 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { } } break; + case 10: gSaveContext.magic += 4; Audio_PlaySoundGeneral(NA_SE_SY_GAUGE_UP - SFX_FLAG, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); @@ -2530,24 +2538,12 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) { gSaveContext.unk_13F2 = 0; } break; + default: gSaveContext.unk_13F0 = 0; break; } } -#else -s16 sMagicBorderColors[][3] = { - { 0xFF, 0xFF, 0xFF }, - { 0x96, 0x96, 0x96 }, - { 0xFF, 0xFF, 0x96 }, - { 0xFF, 0xFF, 0x32 }, -}; -s16 sMagicBorderIndexes[] = { 0, 1, 1, 0 }; -s16 sMagicBorderRatio = 2; -s16 sMagicBorderStep = 1; -void Interface_UpdateMagicBar(GlobalContext* globalCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s") -#endif void Interface_DrawMagicBar(GlobalContext* globalCtx) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; @@ -2689,15 +2685,14 @@ u8* sCUpLabelTextures[] = { D_02002FC0, D_02002FC0, D_02002FC0 }; s16 sStartButtonLeftPos[] = { 132, 130, 130 }; -#ifdef NON_MATCHING -// regalloc and ordering differences void Interface_DrawItemButtons(GlobalContext* globalCtx) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; Player* player = PLAYER; - f32 temp; - s16 i; // sp+0x14A - s16 cUpAlpha; - s32 pad; + PauseContext* pauseCtx = &globalCtx->pauseCtx; + s16 temp; + s16 dxdy; + s16 width; + s16 height; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2900); @@ -2734,7 +2729,7 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { (R_ITEM_BTN_X(3) + R_ITEM_BTN_WIDTH(3)) << 2, (R_ITEM_BTN_Y(3) + R_ITEM_BTN_WIDTH(3)) << 2, G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) * 2, R_ITEM_BTN_DD(3) * 2); - if ((globalCtx->pauseCtx.state < 8) || (globalCtx->pauseCtx.state >= 18)) { + if ((pauseCtx->state < 8) || (pauseCtx->state >= 18)) { if ((globalCtx->pauseCtx.state != 0) || (globalCtx->pauseCtx.flag != 0)) { // Start Button Texture, Color & Label gDPPipeSync(oGfxCtx->overlay.p++); @@ -2761,12 +2756,13 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { G_TX_NOLOD); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60); - temp = R_START_LABEL_DD(gSaveContext.language) / 100.0f; - gSPTextureRectangle(oGfxCtx->overlay.p++, R_START_LABEL_X(gSaveContext.language) << 2, - R_START_LABEL_Y(gSaveContext.language) << 2, - (R_START_LABEL_X(gSaveContext.language) + (s16)(16.0f / temp)) << 2, - (R_START_LABEL_Y(gSaveContext.language) + (s16)(48.0f / temp)) << 2, G_TX_RENDERTILE, 0, - 0, (s16)(1024.0f / temp), (s16)(1024.0f / temp)); + dxdy = 1024.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); + width = 48.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); + height = 16.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); + gSPTextureRectangle( + oGfxCtx->overlay.p++, R_START_LABEL_X(gSaveContext.language) << 2, + R_START_LABEL_Y(gSaveContext.language) << 2, (R_START_LABEL_X(gSaveContext.language) + width) << 2, + (R_START_LABEL_Y(gSaveContext.language) + height) << 2, G_TX_RENDERTILE, 0, 0, dxdy, dxdy); } } @@ -2777,20 +2773,20 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { gDPPipeSync(oGfxCtx->overlay.p++); if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) { - cUpAlpha = 0; - } else if ((player->stateFlags2 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) || + temp = 0; + } else if ((player->stateFlags1 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) || (player->stateFlags2 & 0x00040000)) { - cUpAlpha = 70; + temp = 70; } else { - cUpAlpha = interfaceCtx->healthAlpha; + temp = interfaceCtx->healthAlpha; } - gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha); + gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), temp); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gSPTextureRectangle(oGfxCtx->overlay.p++, R_C_UP_BTN_X << 2, R_C_UP_BTN_Y << 2, (R_C_UP_BTN_X + 16) << 2, (R_C_UP_BTN_Y + 16) << 2, G_TX_RENDERTILE, 0, 0, 2048, 2048); gDPPipeSync(oGfxCtx->overlay.p++); - gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, cUpAlpha); + gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, temp); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0); gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); @@ -2814,20 +2810,20 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { sCUpTimer--; if (sCUpTimer == 0) { - sCUpTimer = 10; sCUpInvisible ^= 1; + sCUpTimer = 10; } } gDPPipeSync(oGfxCtx->overlay.p++); // Empty C Button Arrows - for (i = 1; i < 4; i++) { - if (gSaveContext.equips.buttonItems[i] > 0xF0) { - if (i == 1) { + for (temp = 1; temp < 4; temp++) { + if (gSaveContext.equips.buttonItems[temp] > 0xF0) { + if (temp == 1) { gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), interfaceCtx->cLeftAlpha); - } else if (i == 2) { + } else if (temp == 2) { gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), interfaceCtx->cDownAlpha); } else { @@ -2835,18 +2831,14 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { interfaceCtx->cRightAlpha); } - oGfxCtx->overlay.p = - Gfx_TextureIA8(oGfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i), - R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_DD(i) * 2, R_ITEM_BTN_DD(i) * 2); + oGfxCtx->overlay.p = Gfx_TextureIA8( + oGfxCtx->overlay.p, &D_02000A00[temp + 1], 0x20, 0x20, R_ITEM_BTN_X(temp), R_ITEM_BTN_Y(temp), + R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_DD(temp) * 2, R_ITEM_BTN_DD(temp) * 2); } } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3071); } -#else -void Interface_DrawItemButtons(GlobalContext* globalCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_DrawItemButtons.s") -#endif void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 button) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3079); diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c index a0740d0577..bf40c59e65 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -682,42 +682,28 @@ void func_80AE3ECC(EnRd* this, GlobalContext* globalCtx) { } } -// Regalloc..I can get the score lower by using permuter suggestions, but they all seem silly -#ifdef NON_MATCHING void func_80AE3F9C(EnRd* this, GlobalContext* globalCtx) { - s16 unk_310; - s16 shapeRotY; - s16 yawTowardsLink; - s16 new_var; - s16 temp_v0; - s16 phi_a3; - s16 phi_v0; + s16 temp1; + s16 temp2; + s16 temp3; - unk_310 = this->unk_310; - shapeRotY = this->actor.shape.rot.y; - yawTowardsLink = this->actor.yawTowardsLink; - new_var = unk_310 + shapeRotY; + temp1 = this->actor.yawTowardsLink - (s16)(this->actor.shape.rot.y + this->unk_310); + temp2 = CLAMP(temp1, -500, 500); - temp_v0 = yawTowardsLink - new_var; - phi_a3 = CLAMP(temp_v0, -500, 500); + temp1 -= this->unk_30E; + temp3 = CLAMP(temp1, -500, 500); - temp_v0 -= this->unk_30E; - phi_v0 = CLAMP(temp_v0, -500, 500); - - if ((s16)(yawTowardsLink - shapeRotY) >= 0) { - this->unk_310 += ABS(phi_a3); - this->unk_30E += ABS(phi_v0); + if ((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y) >= 0) { + this->unk_310 += ABS(temp2); + this->unk_30E += ABS(temp3); } else { - this->unk_310 -= ABS(phi_a3); - this->unk_30E -= ABS(phi_v0); + this->unk_310 -= ABS(temp2); + this->unk_30E -= ABS(temp3); } this->unk_310 = CLAMP(this->unk_310, -18783, 18783); this->unk_30E = CLAMP(this->unk_30E, -9583, 9583); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rd/func_80AE3F9C.s") -#endif void func_80AE4114(EnRd* this, GlobalContext* globalCtx) { s32 pad;