1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Match and improve some non matchings (#254)

This commit is contained in:
Roman971 2020-07-15 17:23:57 +02:00 committed by GitHub
parent 4e1fc875c3
commit 106f7a3f6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 51 additions and 451 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

8
spec
View File

@ -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

View File

@ -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

View File

@ -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) {

View File

@ -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) {

View File

@ -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;

View File

@ -2,7 +2,7 @@
#include <global.h>
#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;

View File

@ -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);

View File

@ -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;