diff --git a/asm/non_matchings/code/z_demo/Cutscene_HandleConditionalTriggers.s b/asm/non_matchings/code/z_demo/Cutscene_HandleConditionalTriggers.s deleted file mode 100644 index 08fcc6ad44..0000000000 --- a/asm/non_matchings/code/z_demo/Cutscene_HandleConditionalTriggers.s +++ /dev/null @@ -1,149 +0,0 @@ -.rdata -glabel D_8013AEC8 - .asciz "\ngame_info.mode=[%d] restart_flag" - .balign 4 - -.text -glabel Cutscene_HandleConditionalTriggers -/* AE0360 800691C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* AE0364 800691C4 AFB00018 */ sw $s0, 0x18($sp) -/* AE0368 800691C8 3C108016 */ lui $s0, %hi(gSaveContext) # $s0, 0x8016 -/* AE036C 800691CC AFA40020 */ sw $a0, 0x20($sp) -/* AE0370 800691D0 2610E660 */ addiu $s0, %lo(gSaveContext) # addiu $s0, $s0, -0x19a0 -/* AE0374 800691D4 AFBF001C */ sw $ra, 0x1c($sp) -/* AE0378 800691D8 3C048014 */ lui $a0, %hi(D_8013AEC8) # $a0, 0x8014 -/* AE037C 800691DC 2484AEC8 */ addiu $a0, %lo(D_8013AEC8) # addiu $a0, $a0, -0x5138 -/* AE0380 800691E0 0C00084C */ jal osSyncPrintf -/* AE0384 800691E4 8E051364 */ lw $a1, 0x1364($s0) -/* AE0388 800691E8 8E0E135C */ lw $t6, 0x135c($s0) -/* AE038C 800691EC 55C00076 */ bnezl $t6, .L800693C8 -/* AE0390 800691F0 8FBF001C */ lw $ra, 0x1c($sp) -/* AE0394 800691F4 8E0F1364 */ lw $t7, 0x1364($s0) -/* AE0398 800691F8 5DE00073 */ bgtzl $t7, .L800693C8 -/* AE039C 800691FC 8FBF001C */ lw $ra, 0x1c($sp) -/* AE03A0 80069200 8E180008 */ lw $t8, 8($s0) -/* AE03A4 80069204 3401FFF0 */ li $at, 65520 -/* AE03A8 80069208 0301082A */ slt $at, $t8, $at -/* AE03AC 8006920C 5020006E */ beql $at, $zero, .L800693C8 -/* AE03B0 80069210 8FBF001C */ lw $ra, 0x1c($sp) -/* AE03B4 80069214 8E190000 */ lw $t9, ($s0) -/* AE03B8 80069218 240101E1 */ li $at, 481 -/* AE03BC 8006921C 5721000D */ bnel $t9, $at, .L80069254 -/* AE03C0 80069220 8E0A0000 */ lw $t2, ($s0) -/* AE03C4 80069224 0C00D6D3 */ jal Flags_GetEventChkInf -/* AE03C8 80069228 240400AC */ li $a0, 172 -/* AE03CC 8006922C 54400009 */ bnezl $v0, .L80069254 -/* AE03D0 80069230 8E0A0000 */ lw $t2, ($s0) -/* AE03D4 80069234 0C00D6DD */ jal Flags_SetEventChkInf -/* AE03D8 80069238 240400AC */ li $a0, 172 -/* AE03DC 8006923C 24080123 */ li $t0, 291 -/* AE03E0 80069240 3409FFF0 */ li $t1, 65520 -/* AE03E4 80069244 AE080000 */ sw $t0, ($s0) -/* AE03E8 80069248 1000005E */ b .L800693C4 -/* AE03EC 8006924C AE090008 */ sw $t1, 8($s0) -/* AE03F0 80069250 8E0A0000 */ lw $t2, ($s0) -.L80069254: -/* AE03F4 80069254 240100DB */ li $at, 219 -/* AE03F8 80069258 55410016 */ bnel $t2, $at, .L800692B4 -/* AE03FC 8006925C 8E180000 */ lw $t8, ($s0) -/* AE0400 80069260 8E0B0004 */ lw $t3, 4($s0) -/* AE0404 80069264 55600013 */ bnezl $t3, .L800692B4 -/* AE0408 80069268 8E180000 */ lw $t8, ($s0) -/* AE040C 8006926C 96020EDC */ lhu $v0, 0xedc($s0) -/* AE0410 80069270 304C0100 */ andi $t4, $v0, 0x100 -/* AE0414 80069274 1180000E */ beqz $t4, .L800692B0 -/* AE0418 80069278 304D0200 */ andi $t5, $v0, 0x200 -/* AE041C 8006927C 11A0000C */ beqz $t5, .L800692B0 -/* AE0420 80069280 304E0400 */ andi $t6, $v0, 0x400 -/* AE0424 80069284 51C0000B */ beql $t6, $zero, .L800692B4 -/* AE0428 80069288 8E180000 */ lw $t8, ($s0) -/* AE042C 8006928C 0C00D6D3 */ jal Flags_GetEventChkInf -/* AE0430 80069290 240400AA */ li $a0, 170 -/* AE0434 80069294 54400007 */ bnezl $v0, .L800692B4 -/* AE0438 80069298 8E180000 */ lw $t8, ($s0) -/* AE043C 8006929C 0C00D6DD */ jal Flags_SetEventChkInf -/* AE0440 800692A0 240400AA */ li $a0, 170 -/* AE0444 800692A4 340FFFF0 */ li $t7, 65520 -/* AE0448 800692A8 10000046 */ b .L800693C4 -/* AE044C 800692AC AE0F0008 */ sw $t7, 8($s0) -.L800692B0: -/* AE0450 800692B0 8E180000 */ lw $t8, ($s0) -.L800692B4: -/* AE0454 800692B4 240105E0 */ li $at, 1504 -/* AE0458 800692B8 1701000F */ bne $t8, $at, .L800692F8 -/* AE045C 800692BC 00000000 */ nop -/* AE0460 800692C0 0C00D6D3 */ jal Flags_GetEventChkInf -/* AE0464 800692C4 240400C1 */ li $a0, 193 -/* AE0468 800692C8 1440000B */ bnez $v0, .L800692F8 -/* AE046C 800692CC 00000000 */ nop -/* AE0470 800692D0 0C00D6DD */ jal Flags_SetEventChkInf -/* AE0474 800692D4 240400C1 */ li $a0, 193 -/* AE0478 800692D8 8FA40020 */ lw $a0, 0x20($sp) -/* AE047C 800692DC 0C021344 */ jal Item_Give -/* AE0480 800692E0 24050007 */ li $a1, 7 -/* AE0484 800692E4 2419011E */ li $t9, 286 -/* AE0488 800692E8 3408FFF0 */ li $t0, 65520 -/* AE048C 800692EC AE190000 */ sw $t9, ($s0) -/* AE0490 800692F0 10000034 */ b .L800693C4 -/* AE0494 800692F4 AE080008 */ sw $t0, 8($s0) -.L800692F8: -/* AE0498 800692F8 3C038012 */ lui $v1, %hi(gBitFlags) # $v1, 0x8012 -/* AE049C 800692FC 24637120 */ addiu $v1, %lo(gBitFlags) # addiu $v1, $v1, 0x7120 -/* AE04A0 80069300 8C69000C */ lw $t1, 0xc($v1) -/* AE04A4 80069304 8E0200A4 */ lw $v0, 0xa4($s0) -/* AE04A8 80069308 01225024 */ and $t2, $t1, $v0 -/* AE04AC 8006930C 1140001B */ beqz $t2, .L8006937C -/* AE04B0 80069310 00000000 */ nop -/* AE04B4 80069314 8C6B0010 */ lw $t3, 0x10($v1) -/* AE04B8 80069318 01626024 */ and $t4, $t3, $v0 -/* AE04BC 8006931C 11800017 */ beqz $t4, .L8006937C -/* AE04C0 80069320 00000000 */ nop -/* AE04C4 80069324 8E0D0004 */ lw $t5, 4($s0) -/* AE04C8 80069328 15A00014 */ bnez $t5, .L8006937C -/* AE04CC 8006932C 00000000 */ nop -/* AE04D0 80069330 0C00D6D3 */ jal Flags_GetEventChkInf -/* AE04D4 80069334 240400C4 */ li $a0, 196 -/* AE04D8 80069338 14400010 */ bnez $v0, .L8006937C -/* AE04DC 8006933C 00000000 */ nop -/* AE04E0 80069340 8E050000 */ lw $a1, ($s0) -/* AE04E4 80069344 3C0F8013 */ lui $t7, %hi(gEntranceTable) -/* AE04E8 80069348 24010043 */ li $at, 67 -/* AE04EC 8006934C 00057080 */ sll $t6, $a1, 2 -/* AE04F0 80069350 01EE7821 */ addu $t7, $t7, $t6 -/* AE04F4 80069354 81EF81C0 */ lb $t7, %lo(gEntranceTable)($t7) -/* AE04F8 80069358 15E10008 */ bne $t7, $at, .L8006937C -/* AE04FC 8006935C 00000000 */ nop -/* AE0500 80069360 0C00D6DD */ jal Flags_SetEventChkInf -/* AE0504 80069364 240400C4 */ li $a0, 196 -/* AE0508 80069368 24180053 */ li $t8, 83 -/* AE050C 8006936C 3419FFF8 */ li $t9, 65528 -/* AE0510 80069370 AE180000 */ sw $t8, ($s0) -/* AE0514 80069374 10000013 */ b .L800693C4 -/* AE0518 80069378 AE190008 */ sw $t9, 8($s0) -.L8006937C: -/* AE051C 8006937C 0C00D6D3 */ jal Flags_GetEventChkInf -/* AE0520 80069380 240400C7 */ li $a0, 199 -/* AE0524 80069384 54400010 */ bnezl $v0, .L800693C8 -/* AE0528 80069388 8FBF001C */ lw $ra, 0x1c($sp) -/* AE052C 8006938C 8E050000 */ lw $a1, ($s0) -/* AE0530 80069390 3C098013 */ lui $t1, %hi(gEntranceTable) -/* AE0534 80069394 2401004F */ li $at, 79 -/* AE0538 80069398 00054080 */ sll $t0, $a1, 2 -/* AE053C 8006939C 01284821 */ addu $t1, $t1, $t0 -/* AE0540 800693A0 812981C0 */ lb $t1, %lo(gEntranceTable)($t1) -/* AE0544 800693A4 55210008 */ bnel $t1, $at, .L800693C8 -/* AE0548 800693A8 8FBF001C */ lw $ra, 0x1c($sp) -/* AE054C 800693AC 0C00D6DD */ jal Flags_SetEventChkInf -/* AE0550 800693B0 240400C7 */ li $a0, 199 -/* AE0554 800693B4 240A0517 */ li $t2, 1303 -/* AE0558 800693B8 340BFFF0 */ li $t3, 65520 -/* AE055C 800693BC AE0A0000 */ sw $t2, ($s0) -/* AE0560 800693C0 AE0B0008 */ sw $t3, 8($s0) -.L800693C4: -/* AE0564 800693C4 8FBF001C */ lw $ra, 0x1c($sp) -.L800693C8: -/* AE0568 800693C8 8FB00018 */ lw $s0, 0x18($sp) -/* AE056C 800693CC 27BD0020 */ addiu $sp, $sp, 0x20 -/* AE0570 800693D0 03E00008 */ jr $ra -/* AE0574 800693D4 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Heishi2/func_80A5455C.s b/asm/non_matchings/overlays/actors/ovl_En_Heishi2/func_80A5455C.s deleted file mode 100644 index fee1d43b12..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Heishi2/func_80A5455C.s +++ /dev/null @@ -1,118 +0,0 @@ -.rdata -glabel D_80A55224 - .asciz " ☆☆☆☆☆ これでダウンだ! ☆☆☆☆☆ \n" - .balign 4 - -.late_rodata -glabel D_80A552F8 - .float 7000.0 - -.text -glabel func_80A5455C -/* 016BC 80A5455C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 016C0 80A54560 AFB10030 */ sw $s1, 0x0030($sp) -/* 016C4 80A54564 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 016C8 80A54568 AFBF0034 */ sw $ra, 0x0034($sp) -/* 016CC 80A5456C AFB0002C */ sw $s0, 0x002C($sp) -/* 016D0 80A54570 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 016D4 80A54574 0C042F6F */ jal func_8010BDBC -/* 016D8 80A54578 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 016DC 80A5457C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 016E0 80A54580 54410052 */ bnel $v0, $at, .L80A546CC -/* 016E4 80A54584 8FBF0034 */ lw $ra, 0x0034($sp) -/* 016E8 80A54588 0C041AF2 */ jal func_80106BC8 -/* 016EC 80A5458C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 016F0 80A54590 1040004D */ beq $v0, $zero, .L80A546C8 -/* 016F4 80A54594 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 016F8 80A54598 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 016FC 80A5459C 0C00B7D5 */ jal func_8002DF54 -/* 01700 80A545A0 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 01704 80A545A4 0C041B33 */ jal func_80106CCC -/* 01708 80A545A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0170C 80A545AC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01710 80A545B0 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00 -/* 01714 80A545B4 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 01718 80A545B8 00000000 */ nop -/* 0171C 80A545BC C6240274 */ lwc1 $f4, 0x0274($s1) ## 00000274 -/* 01720 80A545C0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01724 80A545C4 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00 -/* 01728 80A545C8 46040180 */ add.s $f6, $f0, $f4 -/* 0172C 80A545CC 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 01730 80A545D0 E7A60038 */ swc1 $f6, 0x0038($sp) -/* 01734 80A545D4 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 01738 80A545D8 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00 -/* 0173C 80A545DC C6280278 */ lwc1 $f8, 0x0278($s1) ## 00000278 -/* 01740 80A545E0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01744 80A545E4 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00 -/* 01748 80A545E8 460A4401 */ sub.s $f16, $f8, $f10 -/* 0174C 80A545EC 46100480 */ add.s $f18, $f0, $f16 -/* 01750 80A545F0 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 01754 80A545F4 E7B2003C */ swc1 $f18, 0x003C($sp) -/* 01758 80A545F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 0175C 80A545FC 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00 -/* 01760 80A54600 C624027C */ lwc1 $f4, 0x027C($s1) ## 0000027C -/* 01764 80A54604 3C0180A5 */ lui $at, %hi(D_80A552F8) ## $at = 80A50000 -/* 01768 80A54608 C42C52F8 */ lwc1 $f12, %lo(D_80A552F8)($at) -/* 0176C 80A5460C 46062201 */ sub.s $f8, $f4, $f6 -/* 01770 80A54610 46080280 */ add.s $f10, $f0, $f8 -/* 01774 80A54614 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 01778 80A54618 E7AA0040 */ swc1 $f10, 0x0040($sp) -/* 0177C 80A5461C 862E008A */ lh $t6, 0x008A($s1) ## 0000008A -/* 01780 80A54620 C7A4003C */ lwc1 $f4, 0x003C($sp) -/* 01784 80A54624 C7A60040 */ lwc1 $f6, 0x0040($sp) -/* 01788 80A54628 448E8000 */ mtc1 $t6, $f16 ## $f16 = 0.00 -/* 0178C 80A5462C AFA00024 */ sw $zero, 0x0024($sp) -/* 01790 80A54630 AFA00020 */ sw $zero, 0x0020($sp) -/* 01794 80A54634 468084A0 */ cvt.s.w $f18, $f16 -/* 01798 80A54638 AFA00018 */ sw $zero, 0x0018($sp) -/* 0179C 80A5463C 26041C24 */ addiu $a0, $s0, 0x1C24 ## $a0 = 00001C24 -/* 017A0 80A54640 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 017A4 80A54644 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010 -/* 017A8 80A54648 8FA70038 */ lw $a3, 0x0038($sp) -/* 017AC 80A5464C 46120080 */ add.s $f2, $f0, $f18 -/* 017B0 80A54650 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 017B4 80A54654 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 017B8 80A54658 4600120D */ trunc.w.s $f8, $f2 -/* 017BC 80A5465C 44184000 */ mfc1 $t8, $f8 -/* 017C0 80A54660 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 017C4 80A54664 AFB8001C */ sw $t8, 0x001C($sp) -/* 017C8 80A54668 10400011 */ beq $v0, $zero, .L80A546B0 -/* 017CC 80A5466C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 017D0 80A54670 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 017D4 80A54674 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00 -/* 017D8 80A54678 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 017DC 80A5467C 00000000 */ nop -/* 017E0 80A54680 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 017E4 80A54684 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 017E8 80A54688 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 017EC 80A5468C 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00 -/* 017F0 80A54690 460A0400 */ add.s $f16, $f0, $f10 -/* 017F4 80A54694 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 017F8 80A54698 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068 -/* 017FC 80A5469C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 01800 80A546A0 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 01804 80A546A4 00000000 */ nop -/* 01808 80A546A8 46120100 */ add.s $f4, $f0, $f18 -/* 0180C 80A546AC E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060 -.L80A546B0: -/* 01810 80A546B0 3C0480A5 */ lui $a0, %hi(D_80A55224) ## $a0 = 80A50000 -/* 01814 80A546B4 0C00084C */ jal osSyncPrintf - -/* 01818 80A546B8 24845224 */ addiu $a0, $a0, %lo(D_80A55224) ## $a0 = 80A55224 -/* 0181C 80A546BC 3C1980A5 */ lui $t9, %hi(func_80A546DC) ## $t9 = 80A50000 -/* 01820 80A546C0 273946DC */ addiu $t9, $t9, %lo(func_80A546DC) ## $t9 = 80A546DC -/* 01824 80A546C4 AE39025C */ sw $t9, 0x025C($s1) ## 0000025C -.L80A546C8: -/* 01828 80A546C8 8FBF0034 */ lw $ra, 0x0034($sp) -.L80A546CC: -/* 0182C 80A546CC 8FB0002C */ lw $s0, 0x002C($sp) -/* 01830 80A546D0 8FB10030 */ lw $s1, 0x0030($sp) -/* 01834 80A546D4 03E00008 */ jr $ra -/* 01838 80A546D8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl2/EnZl2_PostLimbDraw.s b/asm/non_matchings/overlays/actors/ovl_En_Zl2/EnZl2_PostLimbDraw.s deleted file mode 100644 index dea1b16c5e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Zl2/EnZl2_PostLimbDraw.s +++ /dev/null @@ -1,102 +0,0 @@ -.rdata -glabel D_80B52970 - .asciz "../z_en_zl2.c" - .balign 4 - -.late_rodata -glabel D_80B52BD0 - .word 0x4474C000 -glabel D_80B52BD4 - .float 1.2 - -.text -glabel EnZl2_PostLimbDraw -/* 011E4 80B4FB74 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 011E8 80B4FB78 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 011EC 80B4FB7C AFBF0014 */ sw $ra, 0x0014($sp) -/* 011F0 80B4FB80 AFA60040 */ sw $a2, 0x0040($sp) -/* 011F4 80B4FB84 14A1004D */ bne $a1, $at, .L80B4FCBC -/* 011F8 80B4FB88 AFA70044 */ sw $a3, 0x0044($sp) -/* 011FC 80B4FB8C 8FAE0048 */ lw $t6, 0x0048($sp) -/* 01200 80B4FB90 8DCF0254 */ lw $t7, 0x0254($t6) ## 00000254 -/* 01204 80B4FB94 51E0000F */ beql $t7, $zero, .L80B4FBD4 -/* 01208 80B4FB98 8C821C44 */ lw $v0, 0x1C44($a0) ## 00001C44 -/* 0120C 80B4FB9C 94981D74 */ lhu $t8, 0x1D74($a0) ## 00001D74 -/* 01210 80B4FBA0 8FB9004C */ lw $t9, 0x004C($sp) -/* 01214 80B4FBA4 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 01218 80B4FBA8 2B010384 */ slti $at, $t8, 0x0384 -/* 0121C 80B4FBAC 54200009 */ bnel $at, $zero, .L80B4FBD4 -/* 01220 80B4FBB0 8C821C44 */ lw $v0, 0x1C44($a0) ## 00001C44 -/* 01224 80B4FBB4 8F220000 */ lw $v0, 0x0000($t9) ## 00000000 -/* 01228 80B4FBB8 3C0A0601 */ lui $t2, 0x0601 ## $t2 = 06010000 -/* 0122C 80B4FBBC 254ABAE8 */ addiu $t2, $t2, 0xBAE8 ## $t2 = 0600BAE8 -/* 01230 80B4FBC0 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 01234 80B4FBC4 AF280000 */ sw $t0, 0x0000($t9) ## 00000000 -/* 01238 80B4FBC8 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 0123C 80B4FBCC AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 01240 80B4FBD0 8C821C44 */ lw $v0, 0x1C44($a0) ## 00001C44 -.L80B4FBD4: -/* 01244 80B4FBD4 AFA40038 */ sw $a0, 0x0038($sp) -/* 01248 80B4FBD8 0C034213 */ jal Matrix_Push -/* 0124C 80B4FBDC AFA20024 */ sw $v0, 0x0024($sp) -/* 01250 80B4FBE0 8FA20024 */ lw $v0, 0x0024($sp) -/* 01254 80B4FBE4 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF -/* 01258 80B4FBE8 3C0C0601 */ lui $t4, 0x0601 ## $t4 = 06010000 -/* 0125C 80B4FBEC 904B015D */ lbu $t3, 0x015D($v0) ## 0000015D -/* 01260 80B4FBF0 258CBAE8 */ addiu $t4, $t4, 0xBAE8 ## $t4 = 0600BAE8 -/* 01264 80B4FBF4 24440A20 */ addiu $a0, $v0, 0x0A20 ## $a0 = 00000A20 -/* 01268 80B4FBF8 1561002E */ bne $t3, $at, .L80B4FCB4 -/* 0126C 80B4FBFC 00000000 */ nop -/* 01270 80B4FC00 0C03423F */ jal Matrix_Put -/* 01274 80B4FC04 AFAC0018 */ sw $t4, 0x0018($sp) -/* 01278 80B4FC08 3C014334 */ lui $at, 0x4334 ## $at = 43340000 -/* 0127C 80B4FC0C 44816000 */ mtc1 $at, $f12 ## $f12 = 180.00 -/* 01280 80B4FC10 3C0180B5 */ lui $at, %hi(D_80B52BD0) ## $at = 80B50000 -/* 01284 80B4FC14 3C06C3BB */ lui $a2, 0xC3BB ## $a2 = C3BB0000 -/* 01288 80B4FC18 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C3BB8000 -/* 0128C 80B4FC1C C42E2BD0 */ lwc1 $f14, %lo(D_80B52BD0)($at) -/* 01290 80B4FC20 0C034261 */ jal Matrix_Translate -/* 01294 80B4FC24 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01298 80B4FC28 2404A219 */ addiu $a0, $zero, 0xA219 ## $a0 = FFFFA219 -/* 0129C 80B4FC2C 2405AC17 */ addiu $a1, $zero, 0xAC17 ## $a1 = FFFFAC17 -/* 012A0 80B4FC30 24063333 */ addiu $a2, $zero, 0x3333 ## $a2 = 00003333 -/* 012A4 80B4FC34 0C034421 */ jal Matrix_RotateRPY -/* 012A8 80B4FC38 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 012AC 80B4FC3C 3C0180B5 */ lui $at, %hi(D_80B52BD4) ## $at = 80B50000 -/* 012B0 80B4FC40 C42C2BD4 */ lwc1 $f12, %lo(D_80B52BD4)($at) -/* 012B4 80B4FC44 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 012B8 80B4FC48 44066000 */ mfc1 $a2, $f12 -/* 012BC 80B4FC4C 0C0342A3 */ jal Matrix_Scale -/* 012C0 80B4FC50 46006386 */ mov.s $f14, $f12 -/* 012C4 80B4FC54 8FA7004C */ lw $a3, 0x004C($sp) -/* 012C8 80B4FC58 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 012CC 80B4FC5C 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 012D0 80B4FC60 8CE20000 */ lw $v0, 0x0000($a3) ## 00000000 -/* 012D4 80B4FC64 3C0580B5 */ lui $a1, %hi(D_80B52970) ## $a1 = 80B50000 -/* 012D8 80B4FC68 24A52970 */ addiu $a1, $a1, %lo(D_80B52970) ## $a1 = 80B52970 -/* 012DC 80B4FC6C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 012E0 80B4FC70 ACED0000 */ sw $t5, 0x0000($a3) ## 00000000 -/* 012E4 80B4FC74 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 012E8 80B4FC78 8FAF0038 */ lw $t7, 0x0038($sp) -/* 012EC 80B4FC7C 240604E5 */ addiu $a2, $zero, 0x04E5 ## $a2 = 000004E5 -/* 012F0 80B4FC80 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 012F4 80B4FC84 0C0346A2 */ jal Matrix_NewMtx -/* 012F8 80B4FC88 AFA20020 */ sw $v0, 0x0020($sp) -/* 012FC 80B4FC8C 8FA30020 */ lw $v1, 0x0020($sp) -/* 01300 80B4FC90 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000 -/* 01304 80B4FC94 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01308 80B4FC98 8FB8004C */ lw $t8, 0x004C($sp) -/* 0130C 80B4FC9C 8F020000 */ lw $v0, 0x0000($t8) ## 00000000 -/* 01310 80B4FCA0 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 01314 80B4FCA4 AF080000 */ sw $t0, 0x0000($t8) ## 00000000 -/* 01318 80B4FCA8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0131C 80B4FCAC 8FA90018 */ lw $t1, 0x0018($sp) -/* 01320 80B4FCB0 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -.L80B4FCB4: -/* 01324 80B4FCB4 0C034221 */ jal Matrix_Pull -/* 01328 80B4FCB8 00000000 */ nop -.L80B4FCBC: -/* 0132C 80B4FCBC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01330 80B4FCC0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01334 80B4FCC4 03E00008 */ jr $ra -/* 01338 80B4FCC8 00000000 */ nop diff --git a/data/overlays/actors/z_en_heishi2.reloc.s b/data/overlays/actors/z_en_heishi2.reloc.s deleted file mode 100644 index 46d4b241d2..0000000000 --- a/data/overlays/actors/z_en_heishi2.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_80A55310 - .incbin "baserom/ovl_En_Heishi2", 0x2470, 0x00000330 diff --git a/spec b/spec index be7fc0f6d4..7e331423eb 100644 --- a/spec +++ b/spec @@ -1234,7 +1234,11 @@ endseg beginseg name "ovl_Bg_Spot01_Idohashira" include "build/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_Bg_Spot01_Idohashira/ovl_Bg_Spot01_Idohashira_reloc.o" +#else include "build/data/overlays/actors/z_bg_spot01_idohashira.reloc.o" +#endif endseg beginseg @@ -2621,11 +2625,7 @@ endseg beginseg name "ovl_En_Heishi2" include "build/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.o" -#ifdef NON_MATCHING include "build/src/overlays/actors/ovl_En_Heishi2/ovl_En_Heishi2_reloc.o" -#else - include "build/data/overlays/actors/z_en_heishi2.reloc.o" -#endif endseg beginseg diff --git a/src/code/z_actor.c b/src/code/z_actor.c index b9da54281d..4c05123060 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -3707,31 +3707,31 @@ void func_800344BC(Actor* actor, struct_80034A14_arg1* arg1, s16 arg2, s16 arg3, sp44 = Math_Vec3f_Yaw(&sp30, &arg1->unk_18); sp40 = Math_Vec3f_Yaw(&actor->posRot.pos, &arg1->unk_18) - actor->shape.rot.y; - temp1 = (sp40 < -arg2) ? -arg2 : ((sp40 > arg2) ? arg2 : sp40); + temp1 = CLAMP(sp40, -arg2, arg2); Math_SmoothScaleMaxMinS(&arg1->unk_08.y, temp1, 6, 2000, 1); - sp40 = (ABS(sp40) >= 0x8000) ? 0 : ((sp40 >= 0) ? sp40 : -sp40); - arg1->unk_08.y = ((arg1->unk_08.y < -sp40) ? -sp40 : ((arg1->unk_08.y > sp40) ? sp40 : arg1->unk_08.y)); + sp40 = (ABS(sp40) >= 0x8000) ? 0 : ABS(sp40); + arg1->unk_08.y = CLAMP(arg1->unk_08.y, -sp40, sp40); sp40 = sp40 - arg1->unk_08.y; - temp1 = (sp40 < -arg5) ? -arg5 : ((sp40 > arg5) ? arg5 : sp40); - Math_SmoothScaleMaxMinS(&arg1->unk_08.z, temp1, 6, 2000, 1); + temp1 = CLAMP(sp40, -arg5, arg5); + Math_SmoothScaleMaxMinS(&arg1->unk_0E.y, temp1, 6, 2000, 1); - sp40 = (ABS(sp40) >= 0x8000) ? 0 : ((sp40 >= 0) ? sp40 : -sp40); - arg1->unk_08.z = ((arg1->unk_08.z < -sp40) ? -sp40 : ((arg1->unk_08.z > sp40) ? sp40 : arg1->unk_08.z)); + sp40 = (ABS(sp40) >= 0x8000) ? 0 : ABS(sp40); + arg1->unk_0E.y = CLAMP(arg1->unk_0E.y, -sp40, sp40); if (arg8 != 0) { if (arg3) {} // Seems necessary to match Math_SmoothScaleMaxMinS(&actor->shape.rot.y, sp44, 6, 2000, 1); } - temp1 = (sp46 < arg4) ? arg4 : ((sp46 > arg3) ? arg3 : sp46); - Math_SmoothScaleMaxMinS(&arg1->unk_08, temp1, 6, 2000, 1); + temp1 = CLAMP(sp46, arg4, arg3); + Math_SmoothScaleMaxMinS(&arg1->unk_08.x, temp1, 6, 2000, 1); temp2 = sp46 - arg1->unk_08.x; - temp1 = (temp2 < arg7) ? arg7 : ((temp2 > arg6) ? arg6 : temp2); + temp1 = CLAMP(temp2, arg7, arg6); Math_SmoothScaleMaxMinS(&arg1->unk_0E.x, temp1, 6, 2000, 1); } #else diff --git a/src/code/z_demo.c b/src/code/z_demo.c index cb76680722..26d5a3f8df 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -2018,10 +2018,10 @@ void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx) { } } -#ifdef NON_MATCHING -// regalloc differences void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) { - osSyncPrintf("\ngame_info.mode=[%d] restart_flag", gSaveContext.respawnFlag); + s32 temp; // inline temp needed to match regalloc + + osSyncPrintf("\ngame_info.mode=[%d] restart_flag", temp = gSaveContext.respawnFlag); if ((gSaveContext.gameMode == 0) && (gSaveContext.respawnFlag <= 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) { if ((gSaveContext.entranceIndex == 0x01E1) && !Flags_GetEventChkInf(0xAC)) { @@ -2040,21 +2040,18 @@ 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[gSaveContext.entranceIndex].scene == SCENE_TOKINOMA)) { + (gEntranceTable[temp = gSaveContext.entranceIndex].scene == SCENE_TOKINOMA)) { Flags_SetEventChkInf(0xC4); gSaveContext.entranceIndex = 0x0053; gSaveContext.cutsceneIndex = 0xFFF8; } else if (!Flags_GetEventChkInf(0xC7) && - (gEntranceTable[gSaveContext.entranceIndex].scene == SCENE_GANON_DEMO)) { + (gEntranceTable[temp = gSaveContext.entranceIndex].scene == SCENE_GANON_DEMO)) { Flags_SetEventChkInf(0xC7); gSaveContext.entranceIndex = 0x0517; gSaveContext.cutsceneIndex = 0xFFF0; } } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_HandleConditionalTriggers.s") -#endif void Cutscene_SetSegment(GlobalContext* globalCtx, u32 segment) { if (SEGMENT_NUMBER(segment) != 0) { diff --git a/src/code/z_room.c b/src/code/z_room.c index dbde895fbe..487e96964a 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -513,20 +513,12 @@ void func_80096FD4(GlobalContext* globalCtx, Room* room) { #ifdef NON_MATCHING // regalloc differences u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) { - RomFile* roomList; - TransitionActorEntry* transitionActor; - s32 i, j; - s8 frontRoom; - s8 backRoom; - u32 roomSize; - u32 maxRoomSize; - u32 frontRoomSize; - u32 backRoomSize; - u32 cumulRoomSize; u8 nextRoomNum; + u32 maxRoomSize = 0; + RomFile* roomList = globalCtx->roomList; + u32 roomSize; + s32 i; - maxRoomSize = 0; - roomList = globalCtx->roomList; for (i = 0; i < globalCtx->nbRooms; i++) { roomSize = roomList[i].vromEnd - roomList[i].vromStart; osSyncPrintf("ROOM%d size=%d\n", i, roomSize); @@ -536,17 +528,19 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) { } if (globalCtx->nbTransitionActors != 0) { - j = 0; - roomList = globalCtx->roomList; - transitionActor = &globalCtx->transitionActorList[0]; + s32 j = 0; + RomFile* roomList = globalCtx->roomList; + TransitionActorEntry* transitionActor = &globalCtx->transitionActorList[0]; + LOG_NUM("game_play->room_rom_address.num", globalCtx->nbRooms, "../z_room.c", 912); for (j = 0; j < globalCtx->nbTransitionActors; j++) { - frontRoom = transitionActor->frontRoom; - backRoom = transitionActor->backRoom; - frontRoomSize = (frontRoom < 0) ? 0 : roomList[frontRoom].vromEnd - roomList[frontRoom].vromStart; - backRoomSize = (backRoom < 0) ? 0 : roomList[backRoom].vromEnd - roomList[backRoom].vromStart; - cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize; + s8 frontRoom = transitionActor->frontRoom; + s8 backRoom = transitionActor->backRoom; + u32 frontRoomSize = (frontRoom < 0) ? 0 : roomList[frontRoom].vromEnd - roomList[frontRoom].vromStart; + u32 backRoomSize = (backRoom < 0) ? 0 : roomList[backRoom].vromEnd - roomList[backRoom].vromStart; + u32 cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize; + osSyncPrintf("DOOR%d=<%d> ROOM1=<%d, %d> ROOM2=<%d, %d>\n", j, cumulRoomSize, frontRoom, frontRoomSize, backRoom, backRoomSize); if (maxRoomSize < cumulRoomSize) { diff --git a/src/libultra_code/contpfs.c b/src/libultra_code/contpfs.c index 4f6217933e..3087b7adc2 100644 --- a/src/libultra_code/contpfs.c +++ b/src/libultra_code/contpfs.c @@ -162,6 +162,7 @@ s32 __osCheckPackId(OSPfs* pfs, __OSPackId* temp) { } #ifdef NON_MATCHING +// regalloc differences, probably the same issue as osPfsInitPak s32 __osGetId(OSPfs* pfs) { u16 sum, isum; diff --git a/src/libultra_code/pfsinitpak.c b/src/libultra_code/pfsinitpak.c index 876c65ef76..2ce03b79d6 100644 --- a/src/libultra_code/pfsinitpak.c +++ b/src/libultra_code/pfsinitpak.c @@ -2,7 +2,7 @@ #include #ifdef NON_MATCHING -// regalloc with temp registers +// regalloc differences, probably the same issue as __osGetId s32 osPfsInitPak(OSMesgQueue* queue, OSPfs* pfs, s32 channel) { s32 ret = 0; u16 sum; diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index 793e8488a0..c65c8cd875 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -636,7 +636,7 @@ void func_80A543A0(EnHeishi2* this, GlobalContext* globalCtx) { } } void func_80A544AC(EnHeishi2* this, GlobalContext* globalCtx) { - Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, -0x17D4, 5, (s16)(s32)(f32)this->unk_2E4, 0); + Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, -6100, 5, this->unk_2E4, 0); Math_SmoothScaleMaxF(&this->unk_2E4, 3000.0f, 1.0f, 500.0f); this->actor.posRot.rot.z = this->actor.shape.rot.z; if (this->actor.shape.rot.z < -6000) { @@ -647,12 +647,10 @@ void func_80A544AC(EnHeishi2* this, GlobalContext* globalCtx) { } } -#ifdef NON_MATCHING -// regalloc differences void func_80A5455C(EnHeishi2* this, GlobalContext* globalCtx) { Actor* thisx = &this->actor; Vec3f pos; - s32 rotY; + f32 rotY; EnBom* bomb; if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { @@ -674,9 +672,6 @@ void func_80A5455C(EnHeishi2* this, GlobalContext* globalCtx) { this->actionFunc = func_80A546DC; } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Heishi2/func_80A5455C.s") -#endif void func_80A546DC(EnHeishi2* this, GlobalContext* globalCtx) { Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, 200, 5, this->unk_2E4, 0); diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c index ad978e7b10..a4169e3b64 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c @@ -584,36 +584,31 @@ s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx); -#ifdef NON_MATCHING -// Stack issue in two instructions - made much better with the pad void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { - s32 pad[2]; EnZl2* this = THIS; - Player* player; + s32 pad[2]; if (limbIndex == 10) { if ((this->unk_254 != 0) && (globalCtx->csCtx.frames >= 900)) { gSPDisplayList((*gfx)++, &D_0600BAE8); } - player = PLAYER; - Matrix_Push(); - if (player->unk_15D == 0xFF) { - Matrix_Put(&player->mf_A20); - Matrix_Translate(180.0f, 979.0f, -375.0f, MTXMODE_APPLY); - Matrix_RotateRPY(-0x5DE7, -0x53E9, 0x3333, MTXMODE_APPLY); - Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY); - gSPMatrix((*gfx)++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1253), - G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList((*gfx)++, &D_0600BAE8); + { + Player* player = PLAYER; + Matrix_Push(); + if (player->unk_15D == 0xFF) { + Matrix_Put(&player->mf_A20); + Matrix_Translate(180.0f, 979.0f, -375.0f, MTXMODE_APPLY); + Matrix_RotateRPY(-0x5DE7, -0x53E9, 0x3333, MTXMODE_APPLY); + Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY); + gSPMatrix((*gfx)++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1253), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList((*gfx)++, &D_0600BAE8); + } + Matrix_Pull(); } - Matrix_Pull(); } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Zl2/EnZl2_PostLimbDraw.s") -#endif void func_80B4FCCC(EnZl2* this, GlobalContext* globalCtx) { s32 unk_274 = this->unk_274;