1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-14 12:17:08 +00:00

z_scene_table, z_view, and z_fbdemo_fade OK (#561)

* fbdemo

* the view is clear

* more matchings

* scene table doesn't want to be nice

* small thing in view

* can do

* accidentally a value
This commit is contained in:
petrie911 2020-12-25 15:19:52 -06:00 committed by GitHub
parent 09ddf4f71e
commit a8ae9f48b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 49 additions and 898 deletions

View file

@ -1,128 +0,0 @@
.rdata
glabel D_801430C0
.asciz "\x1b[41;37m除算! ZCommonGet fade_speed に0がはいってる\x1b[m"
# EUC-JP: ! ZCommonGet fade_speed | Divide by zero! Zero is entered in ZCommonGetfade_speed
.balign 4
.text
glabel TransitionFade_Update
/* B2A708 800B3568 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B2A70C 800B356C AFBF0014 */ sw $ra, 0x14($sp)
/* B2A710 800B3570 90820000 */ lbu $v0, ($a0)
/* B2A714 800B3574 00803825 */ move $a3, $a0
/* B2A718 800B3578 24010001 */ li $at, 1
/* B2A71C 800B357C 50400063 */ beql $v0, $zero, .L800B370C
/* B2A720 800B3580 8FBF0014 */ lw $ra, 0x14($sp)
/* B2A724 800B3584 10410005 */ beq $v0, $at, .L800B359C
/* B2A728 800B3588 24010002 */ li $at, 2
/* B2A72C 800B358C 50410037 */ beql $v0, $at, .L800B366C
/* B2A730 800B3590 90ED0007 */ lbu $t5, 7($a3)
/* B2A734 800B3594 1000005D */ b .L800B370C
/* B2A738 800B3598 8FBF0014 */ lw $ra, 0x14($sp)
.L800B359C:
/* B2A73C 800B359C 94EE0008 */ lhu $t6, 8($a3)
/* B2A740 800B35A0 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A744 800B35A4 3C048014 */ lui $a0, %hi(D_801430C0) # $a0, 0x8014
/* B2A748 800B35A8 01C57821 */ addu $t7, $t6, $a1
/* B2A74C 800B35AC A4EF0008 */ sh $t7, 8($a3)
/* B2A750 800B35B0 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A754 800B35B4 31F8FFFF */ andi $t8, $t7, 0xffff
/* B2A758 800B35B8 24190001 */ li $t9, 1
/* B2A75C 800B35BC 0302082A */ slt $at, $t8, $v0
/* B2A760 800B35C0 14200005 */ bnez $at, .L800B35D8
/* B2A764 800B35C4 248430C0 */ addiu $a0, %lo(D_801430C0) # addiu $a0, $a0, 0x30c0
/* B2A768 800B35C8 A4E20008 */ sh $v0, 8($a3)
/* B2A76C 800B35CC 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A770 800B35D0 A0F90001 */ sb $t9, 1($a3)
/* B2A774 800B35D4 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
.L800B35D8:
/* B2A778 800B35D8 54400007 */ bnezl $v0, .L800B35F8
/* B2A77C 800B35DC 94E80008 */ lhu $t0, 8($a3)
/* B2A780 800B35E0 0C00084C */ jal osSyncPrintf
/* B2A784 800B35E4 AFA70030 */ sw $a3, 0x30($sp)
/* B2A788 800B35E8 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A78C 800B35EC 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A790 800B35F0 8FA70030 */ lw $a3, 0x30($sp)
/* B2A794 800B35F4 94E80008 */ lhu $t0, 8($a3)
.L800B35F8:
/* B2A798 800B35F8 3C01437F */ li $at, 0x437F0000 # 0.000000
/* B2A79C 800B35FC 44812000 */ mtc1 $at, $f4
/* B2A7A0 800B3600 44883000 */ mtc1 $t0, $f6
/* B2A7A4 800B3604 44829000 */ mtc1 $v0, $f18
/* B2A7A8 800B3608 05010005 */ bgez $t0, .L800B3620
/* B2A7AC 800B360C 46803220 */ cvt.s.w $f8, $f6
/* B2A7B0 800B3610 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7B4 800B3614 44815000 */ mtc1 $at, $f10
/* B2A7B8 800B3618 00000000 */ nop
/* B2A7BC 800B361C 460A4200 */ add.s $f8, $f8, $f10
.L800B3620:
/* B2A7C0 800B3620 46082402 */ mul.s $f16, $f4, $f8
/* B2A7C4 800B3624 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7C8 800B3628 240B00FF */ li $t3, 255
/* B2A7CC 800B362C 04410004 */ bgez $v0, .L800B3640
/* B2A7D0 800B3630 468091A0 */ cvt.s.w $f6, $f18
/* B2A7D4 800B3634 44815000 */ mtc1 $at, $f10
/* B2A7D8 800B3638 00000000 */ nop
/* B2A7DC 800B363C 460A3180 */ add.s $f6, $f6, $f10
.L800B3640:
/* B2A7E0 800B3640 46068103 */ div.s $f4, $f16, $f6
/* B2A7E4 800B3644 90EA0002 */ lbu $t2, 2($a3)
/* B2A7E8 800B3648 4600220D */ trunc.w.s $f8, $f4
/* B2A7EC 800B364C 44034000 */ mfc1 $v1, $f8
/* B2A7F0 800B3650 11400003 */ beqz $t2, .L800B3660
/* B2A7F4 800B3654 01636023 */ subu $t4, $t3, $v1
/* B2A7F8 800B3658 1000002B */ b .L800B3708
/* B2A7FC 800B365C A0EC0007 */ sb $t4, 7($a3)
.L800B3660:
/* B2A800 800B3660 10000029 */ b .L800B3708
/* B2A804 800B3664 A0E30007 */ sb $v1, 7($a3)
/* B2A808 800B3668 90ED0007 */ lbu $t5, 7($a3)
.L800B366C:
/* B2A80C 800B366C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B2A810 800B3670 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B2A814 800B3674 A7AD002A */ sh $t5, 0x2a($sp)
/* B2A818 800B3678 84430D38 */ lh $v1, 0xd38($v0)
/* B2A81C 800B367C 50600021 */ beql $v1, $zero, .L800B3704
/* B2A820 800B3680 87A9002A */ lh $t1, 0x2a($sp)
/* B2A824 800B3684 0461000D */ bgez $v1, .L800B36BC
/* B2A828 800B3688 24440D38 */ addiu $a0, $v0, 0xd38
/* B2A82C 800B368C 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A830 800B3690 240500FF */ li $a1, 255
/* B2A834 800B3694 240600FF */ li $a2, 255
/* B2A838 800B3698 0C01DE5F */ jal Math_ApproxS
/* B2A83C 800B369C AFA70030 */ sw $a3, 0x30($sp)
/* B2A840 800B36A0 10400017 */ beqz $v0, .L800B3700
/* B2A844 800B36A4 8FA70030 */ lw $a3, 0x30($sp)
/* B2A848 800B36A8 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B2A84C 800B36AC 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* B2A850 800B36B0 240E0096 */ li $t6, 150
/* B2A854 800B36B4 10000012 */ b .L800B3700
/* B2A858 800B36B8 A5EE0D38 */ sh $t6, 0xd38($t7)
.L800B36BC:
/* B2A85C 800B36BC 24050014 */ li $a1, 20
/* B2A860 800B36C0 2406003C */ li $a2, 60
/* B2A864 800B36C4 0C01DE5F */ jal Math_ApproxS
/* B2A868 800B36C8 AFA70030 */ sw $a3, 0x30($sp)
/* B2A86C 800B36CC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* B2A870 800B36D0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B2A874 800B36D4 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A878 800B36D8 00002825 */ move $a1, $zero
/* B2A87C 800B36DC 0C01DE5F */ jal Math_ApproxS
/* B2A880 800B36E0 87060D38 */ lh $a2, 0xd38($t8)
/* B2A884 800B36E4 10400006 */ beqz $v0, .L800B3700
/* B2A888 800B36E8 8FA70030 */ lw $a3, 0x30($sp)
/* B2A88C 800B36EC 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* B2A890 800B36F0 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B2A894 800B36F4 24080001 */ li $t0, 1
/* B2A898 800B36F8 A7200D38 */ sh $zero, 0xd38($t9)
/* B2A89C 800B36FC A0E80001 */ sb $t0, 1($a3)
.L800B3700:
/* B2A8A0 800B3700 87A9002A */ lh $t1, 0x2a($sp)
.L800B3704:
/* B2A8A4 800B3704 A0E90007 */ sb $t1, 7($a3)
.L800B3708:
/* B2A8A8 800B3708 8FBF0014 */ lw $ra, 0x14($sp)
.L800B370C:
/* B2A8AC 800B370C 27BD0030 */ addiu $sp, $sp, 0x30
/* B2A8B0 800B3710 03E00008 */ jr $ra
/* B2A8B4 800B3714 00000000 */ nop

View file

@ -1,369 +0,0 @@
.rdata
glabel D_8013FE60
.asciz "../z_scene_table.c"
.balign 4
glabel D_8013FE74
.asciz "../z_scene_table.c"
.balign 4
glabel D_8013FE88
.asciz "../z_scene_table.c"
.balign 4
.late_rodata
glabel D_8013FF28
.float 0.00009587531
glabel D_8013FF2C
.float 0.020000001
glabel D_8013FF30
.float 0.020000001
glabel D_8013FF34
.float 0.79999995
glabel D_8013FF38
.float 0.39999998
glabel D_8013FF3C
.float 0.001
glabel D_8013FF40
.float 0.15
glabel D_8013FF44
.float 0.8
glabel D_8013FF48
.float 1.005
glabel D_8013FF4C
.float 0.8
.text
glabel func_8009FE58
/* B16FF8 8009FE58 27BDFF68 */ addiu $sp, $sp, -0x98
/* B16FFC 8009FE5C AFBF003C */ sw $ra, 0x3c($sp)
/* B17000 8009FE60 AFB00038 */ sw $s0, 0x38($sp)
/* B17004 8009FE64 AFA40098 */ sw $a0, 0x98($sp)
/* B17008 8009FE68 8C850000 */ lw $a1, ($a0)
/* B1700C 8009FE6C 3C068014 */ lui $a2, %hi(D_8013FE60) # $a2, 0x8014
/* B17010 8009FE70 24C6FE60 */ addiu $a2, %lo(D_8013FE60) # addiu $a2, $a2, -0x1a0
/* B17014 8009FE74 27A4007C */ addiu $a0, $sp, 0x7c
/* B17018 8009FE78 24071E20 */ li $a3, 7712
/* B1701C 8009FE7C 0C031AB1 */ jal Graph_OpenDisps
/* B17020 8009FE80 00A08025 */ move $s0, $a1
/* B17024 8009FE84 8FAA0098 */ lw $t2, 0x98($sp)
/* B17028 8009FE88 3C010001 */ lui $at, 1
/* B1702C 8009FE8C 240C007F */ li $t4, 127
/* B17030 8009FE90 01417821 */ addu $t7, $t2, $at
/* B17034 8009FE94 AFAF0048 */ sw $t7, 0x48($sp)
/* B17038 8009FE98 855900A4 */ lh $t9, 0xa4($t2)
/* B1703C 8009FE9C 8DE81DE4 */ lw $t0, 0x1de4($t7)
/* B17040 8009FEA0 24010002 */ li $at, 2
/* B17044 8009FEA4 1721003F */ bne $t9, $at, .L8009FFA4
/* B17048 8009FEA8 01001825 */ move $v1, $t0
/* B1704C 8009FEAC 8E0202C0 */ lw $v0, 0x2c0($s0)
/* B17050 8009FEB0 3C0CDB06 */ lui $t4, (0xDB060020 >> 16) # lui $t4, 0xdb06
/* B17054 8009FEB4 358C0020 */ ori $t4, (0xDB060020 & 0xFFFF) # ori $t4, $t4, 0x20
/* B17058 8009FEB8 244B0008 */ addiu $t3, $v0, 8
/* B1705C 8009FEBC AE0B02C0 */ sw $t3, 0x2c0($s0)
/* B17060 8009FEC0 AC4C0000 */ sw $t4, ($v0)
/* B17064 8009FEC4 8D440000 */ lw $a0, ($t2)
/* B17068 8009FEC8 3106007F */ andi $a2, $t0, 0x7f
/* B1706C 8009FECC 00083840 */ sll $a3, $t0, 1
/* B17070 8009FED0 2418007F */ li $t8, 127
/* B17074 8009FED4 0306C823 */ subu $t9, $t8, $a2
/* B17078 8009FED8 30E7007F */ andi $a3, $a3, 0x7f
/* B1707C 8009FEDC 240C0020 */ li $t4, 32
/* B17080 8009FEE0 240B0020 */ li $t3, 32
/* B17084 8009FEE4 240D0020 */ li $t5, 32
/* B17088 8009FEE8 240E0020 */ li $t6, 32
/* B1708C 8009FEEC 240F0001 */ li $t7, 1
/* B17090 8009FEF0 AFAF0018 */ sw $t7, 0x18($sp)
/* B17094 8009FEF4 AFAE0014 */ sw $t6, 0x14($sp)
/* B17098 8009FEF8 AFAD0010 */ sw $t5, 0x10($sp)
/* B1709C 8009FEFC AFAB0024 */ sw $t3, 0x24($sp)
/* B170A0 8009FF00 AFAC0028 */ sw $t4, 0x28($sp)
/* B170A4 8009FF04 AFA70020 */ sw $a3, 0x20($sp)
/* B170A8 8009FF08 AFB9001C */ sw $t9, 0x1c($sp)
/* B170AC 8009FF0C AFA80094 */ sw $t0, 0x94($sp)
/* B170B0 8009FF10 00002825 */ move $a1, $zero
/* B170B4 8009FF14 0C0253D0 */ jal Gfx_TwoTexScroll
/* B170B8 8009FF18 AFA20078 */ sw $v0, 0x78($sp)
/* B170BC 8009FF1C 8FA30078 */ lw $v1, 0x78($sp)
/* B170C0 8009FF20 8FA80094 */ lw $t0, 0x94($sp)
/* B170C4 8009FF24 3C0EDB06 */ lui $t6, (0xDB06002C >> 16) # lui $t6, 0xdb06
/* B170C8 8009FF28 AC620004 */ sw $v0, 4($v1)
/* B170CC 8009FF2C 8E0202C0 */ lw $v0, 0x2c0($s0)
/* B170D0 8009FF30 35CE002C */ ori $t6, (0xDB06002C & 0xFFFF) # ori $t6, $t6, 0x2c
/* B170D4 8009FF34 0008C080 */ sll $t8, $t0, 2
/* B170D8 8009FF38 244D0008 */ addiu $t5, $v0, 8
/* B170DC 8009FF3C AE0D02C0 */ sw $t5, 0x2c0($s0)
/* B170E0 8009FF40 AC4E0000 */ sw $t6, ($v0)
/* B170E4 8009FF44 8FAF0098 */ lw $t7, 0x98($sp)
/* B170E8 8009FF48 331900FF */ andi $t9, $t8, 0xff
/* B170EC 8009FF4C 240B00FF */ li $t3, 255
/* B170F0 8009FF50 8DE40000 */ lw $a0, ($t7)
/* B170F4 8009FF54 240F0020 */ li $t7, 32
/* B170F8 8009FF58 01793823 */ subu $a3, $t3, $t9
/* B170FC 8009FF5C 24180040 */ li $t8, 64
/* B17100 8009FF60 240E0001 */ li $t6, 1
/* B17104 8009FF64 240D0040 */ li $t5, 64
/* B17108 8009FF68 240C0020 */ li $t4, 32
/* B1710C 8009FF6C AFAC0010 */ sw $t4, 0x10($sp)
/* B17110 8009FF70 AFAD0014 */ sw $t5, 0x14($sp)
/* B17114 8009FF74 AFAE0018 */ sw $t6, 0x18($sp)
/* B17118 8009FF78 AFB80028 */ sw $t8, 0x28($sp)
/* B1711C 8009FF7C AFA70020 */ sw $a3, 0x20($sp)
/* B17120 8009FF80 AFAF0024 */ sw $t7, 0x24($sp)
/* B17124 8009FF84 AFA0001C */ sw $zero, 0x1c($sp)
/* B17128 8009FF88 00002825 */ move $a1, $zero
/* B1712C 8009FF8C 00003025 */ move $a2, $zero
/* B17130 8009FF90 0C0253D0 */ jal Gfx_TwoTexScroll
/* B17134 8009FF94 AFA20074 */ sw $v0, 0x74($sp)
/* B17138 8009FF98 8FA30074 */ lw $v1, 0x74($sp)
/* B1713C 8009FF9C 10000012 */ b .L8009FFE8
/* B17140 8009FFA0 AC620004 */ sw $v0, 4($v1)
.L8009FFA4:
/* B17144 8009FFA4 8E0202C0 */ lw $v0, 0x2c0($s0)
/* B17148 8009FFA8 3C19DB06 */ lui $t9, (0xDB060020 >> 16) # lui $t9, 0xdb06
/* B1714C 8009FFAC 37390020 */ ori $t9, (0xDB060020 & 0xFFFF) # ori $t9, $t9, 0x20
/* B17150 8009FFB0 244B0008 */ addiu $t3, $v0, 8
/* B17154 8009FFB4 AE0B02C0 */ sw $t3, 0x2c0($s0)
/* B17158 8009FFB8 AC590000 */ sw $t9, ($v0)
/* B1715C 8009FFBC 8D440000 */ lw $a0, ($t2)
/* B17160 8009FFC0 01882823 */ subu $a1, $t4, $t0
/* B17164 8009FFC4 240D0020 */ li $t5, 32
/* B17168 8009FFC8 AFAD0010 */ sw $t5, 0x10($sp)
/* B1716C 8009FFCC 30A5007F */ andi $a1, $a1, 0x7f
/* B17170 8009FFD0 3106007F */ andi $a2, $t0, 0x7f
/* B17174 8009FFD4 24070020 */ li $a3, 32
/* B17178 8009FFD8 0C0253A7 */ jal Gfx_TexScroll
/* B1717C 8009FFDC AFA20070 */ sw $v0, 0x70($sp)
/* B17180 8009FFE0 8FA90070 */ lw $t1, 0x70($sp)
/* B17184 8009FFE4 AD220004 */ sw $v0, 4($t1)
.L8009FFE8:
/* B17188 8009FFE8 8E0202C0 */ lw $v0, 0x2c0($s0)
/* B1718C 8009FFEC 3C04E700 */ lui $a0, 0xe700
/* B17190 8009FFF0 3C068080 */ lui $a2, (0x80808080 >> 16) # lui $a2, 0x8080
/* B17194 8009FFF4 244E0008 */ addiu $t6, $v0, 8
/* B17198 8009FFF8 AE0E02C0 */ sw $t6, 0x2c0($s0)
/* B1719C 8009FFFC AC400004 */ sw $zero, 4($v0)
/* B171A0 800A0000 AC440000 */ sw $a0, ($v0)
/* B171A4 800A0004 8E0202C0 */ lw $v0, 0x2c0($s0)
/* B171A8 800A0008 34C68080 */ ori $a2, (0x80808080 & 0xFFFF) # ori $a2, $a2, 0x8080
/* B171AC 800A000C 3C05FB00 */ lui $a1, 0xfb00
/* B171B0 800A0010 244F0008 */ addiu $t7, $v0, 8
/* B171B4 800A0014 AE0F02C0 */ sw $t7, 0x2c0($s0)
/* B171B8 800A0018 AC460004 */ sw $a2, 4($v0)
/* B171BC 800A001C AC450000 */ sw $a1, ($v0)
/* B171C0 800A0020 8E0302D0 */ lw $v1, 0x2d0($s0)
/* B171C4 800A0024 24780008 */ addiu $t8, $v1, 8
/* B171C8 800A0028 AE1802D0 */ sw $t8, 0x2d0($s0)
/* B171CC 800A002C AC600004 */ sw $zero, 4($v1)
/* B171D0 800A0030 AC640000 */ sw $a0, ($v1)
/* B171D4 800A0034 8E0302D0 */ lw $v1, 0x2d0($s0)
/* B171D8 800A0038 246B0008 */ addiu $t3, $v1, 8
/* B171DC 800A003C AE0B02D0 */ sw $t3, 0x2d0($s0)
/* B171E0 800A0040 AC660004 */ sw $a2, 4($v1)
/* B171E4 800A0044 AC650000 */ sw $a1, ($v1)
/* B171E8 800A0048 0C03034A */ jal func_800C0D28
/* B171EC 800A004C 8FA40098 */ lw $a0, 0x98($sp)
/* B171F0 800A0050 24010001 */ li $at, 1
/* B171F4 800A0054 1041007D */ beq $v0, $at, .L800A024C
/* B171F8 800A0058 3C048013 */ lui $a0, %hi(D_8012A39C) # $a0, 0x8013
/* B171FC 800A005C 3C198013 */ lui $t9, %hi(D_8012A3A0) # $t9, 0x8013
/* B17200 800A0060 8484A39C */ lh $a0, %lo(D_8012A39C)($a0)
/* B17204 800A0064 8739A3A0 */ lh $t9, %lo(D_8012A3A0)($t9)
/* B17208 800A0068 3C018013 */ lui $at, %hi(D_8012A3A0) # $at, 0x8013
/* B1720C 800A006C 2484071C */ addiu $a0, $a0, 0x71c
/* B17210 800A0070 272C071C */ addiu $t4, $t9, 0x71c
/* B17214 800A0074 00042400 */ sll $a0, $a0, 0x10
/* B17218 800A0078 A42CA3A0 */ sh $t4, %lo(D_8012A3A0)($at)
/* B1721C 800A007C 00042403 */ sra $a0, $a0, 0x10
/* B17220 800A0080 3C018013 */ lui $at, %hi(D_8012A39C) # $at, 0x8013
/* B17224 800A0084 0C01DE0D */ jal Math_Coss
/* B17228 800A0088 A424A39C */ sh $a0, %lo(D_8012A39C)($at)
/* B1722C 800A008C 3C048013 */ lui $a0, %hi(D_8012A39C) # $a0, 0x8013
/* B17230 800A0090 8484A39C */ lh $a0, %lo(D_8012A39C)($a0)
/* B17234 800A0094 0C01DE1C */ jal Math_Sins
/* B17238 800A0098 E7A00050 */ swc1 $f0, 0x50($sp)
/* B1723C 800A009C 3C048013 */ lui $a0, %hi(D_8012A3A0) # $a0, 0x8013
/* B17240 800A00A0 8484A3A0 */ lh $a0, %lo(D_8012A3A0)($a0)
/* B17244 800A00A4 0C01DE1C */ jal Math_Sins
/* B17248 800A00A8 E7A00054 */ swc1 $f0, 0x54($sp)
/* B1724C 800A00AC 3C018014 */ lui $at, %hi(D_8013FF28)
/* B17250 800A00B0 C424FF28 */ lwc1 $f4, %lo(D_8013FF28)($at)
/* B17254 800A00B4 3C018014 */ lui $at, %hi(D_8013FF2C)
/* B17258 800A00B8 C426FF2C */ lwc1 $f6, %lo(D_8013FF2C)($at)
/* B1725C 800A00BC C7A80050 */ lwc1 $f8, 0x50($sp)
/* B17260 800A00C0 C7B00054 */ lwc1 $f16, 0x54($sp)
/* B17264 800A00C4 46062082 */ mul.s $f2, $f4, $f6
/* B17268 800A00C8 8FA40098 */ lw $a0, 0x98($sp)
/* B1726C 800A00CC 248400B8 */ addiu $a0, $a0, 0xb8
/* B17270 800A00D0 AFA40044 */ sw $a0, 0x44($sp)
/* B17274 800A00D4 46024282 */ mul.s $f10, $f8, $f2
/* B17278 800A00D8 00000000 */ nop
/* B1727C 800A00DC 46028482 */ mul.s $f18, $f16, $f2
/* B17280 800A00E0 00000000 */ nop
/* B17284 800A00E4 46020102 */ mul.s $f4, $f0, $f2
/* B17288 800A00E8 44055000 */ mfc1 $a1, $f10
/* B1728C 800A00EC 44069000 */ mfc1 $a2, $f18
/* B17290 800A00F0 44072000 */ mfc1 $a3, $f4
/* B17294 800A00F4 0C02A9DB */ jal func_800AA76C
/* B17298 800A00F8 00000000 */ nop
/* B1729C 800A00FC 3C048013 */ lui $a0, %hi(D_8012A3A0) # $a0, 0x8013
/* B172A0 800A0100 0C01DE1C */ jal Math_Sins
/* B172A4 800A0104 8484A3A0 */ lh $a0, %lo(D_8012A3A0)($a0)
/* B172A8 800A0108 3C048013 */ lui $a0, %hi(D_8012A3A0) # $a0, 0x8013
/* B172AC 800A010C 8484A3A0 */ lh $a0, %lo(D_8012A3A0)($a0)
/* B172B0 800A0110 0C01DE0D */ jal Math_Coss
/* B172B4 800A0114 E7A00050 */ swc1 $f0, 0x50($sp)
/* B172B8 800A0118 3C048013 */ lui $a0, %hi(D_8012A39C) # $a0, 0x8013
/* B172BC 800A011C 8484A39C */ lh $a0, %lo(D_8012A39C)($a0)
/* B172C0 800A0120 0C01DE0D */ jal Math_Coss
/* B172C4 800A0124 E7A00054 */ swc1 $f0, 0x54($sp)
/* B172C8 800A0128 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B172CC 800A012C 44811000 */ mtc1 $at, $f2
/* B172D0 800A0130 3C018014 */ lui $at, %hi(D_8013FF30)
/* B172D4 800A0134 C42CFF30 */ lwc1 $f12, %lo(D_8013FF30)($at)
/* B172D8 800A0138 3C018014 */ lui $at, %hi(D_8013FF34)
/* B172DC 800A013C C428FF34 */ lwc1 $f8, %lo(D_8013FF34)($at)
/* B172E0 800A0140 C7A60050 */ lwc1 $f6, 0x50($sp)
/* B172E4 800A0144 3C018014 */ lui $at, %hi(D_8013FF38)
/* B172E8 800A0148 460C4282 */ mul.s $f10, $f8, $f12
/* B172EC 800A014C C428FF38 */ lwc1 $f8, %lo(D_8013FF38)($at)
/* B172F0 800A0150 C7A40054 */ lwc1 $f4, 0x54($sp)
/* B172F4 800A0154 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B172F8 800A0158 8FA40044 */ lw $a0, 0x44($sp)
/* B172FC 800A015C 460A3402 */ mul.s $f16, $f6, $f10
/* B17300 800A0160 46028480 */ add.s $f18, $f16, $f2
/* B17304 800A0164 460C4182 */ mul.s $f6, $f8, $f12
/* B17308 800A0168 44059000 */ mfc1 $a1, $f18
/* B1730C 800A016C 44819000 */ mtc1 $at, $f18
/* B17310 800A0170 46062282 */ mul.s $f10, $f4, $f6
/* B17314 800A0174 00000000 */ nop
/* B17318 800A0178 460C9202 */ mul.s $f8, $f18, $f12
/* B1731C 800A017C 46025400 */ add.s $f16, $f10, $f2
/* B17320 800A0180 46080102 */ mul.s $f4, $f0, $f8
/* B17324 800A0184 44068000 */ mfc1 $a2, $f16
/* B17328 800A0188 46022180 */ add.s $f6, $f4, $f2
/* B1732C 800A018C 44073000 */ mfc1 $a3, $f6
/* B17330 800A0190 0C02A9E3 */ jal func_800AA78C
/* B17334 800A0194 00000000 */ nop
/* B17338 800A0198 3C053F73 */ lui $a1, (0x3F733333 >> 16) # lui $a1, 0x3f73
/* B1733C 800A019C 34A53333 */ ori $a1, (0x3F733333 & 0xFFFF) # ori $a1, $a1, 0x3333
/* B17340 800A01A0 0C02A9EB */ jal func_800AA7AC
/* B17344 800A01A4 8FA40044 */ lw $a0, 0x44($sp)
/* B17348 800A01A8 8FA50048 */ lw $a1, 0x48($sp)
/* B1734C 800A01AC 24010001 */ li $at, 1
/* B17350 800A01B0 84A41D30 */ lh $a0, 0x1d30($a1)
/* B17354 800A01B4 10800017 */ beqz $a0, .L800A0214
/* B17358 800A01B8 00801825 */ move $v1, $a0
/* B1735C 800A01BC 10810005 */ beq $a0, $at, .L800A01D4
/* B17360 800A01C0 24010002 */ li $at, 2
/* B17364 800A01C4 5061000D */ beql $v1, $at, .L800A01FC
/* B17368 800A01C8 84A21D32 */ lh $v0, 0x1d32($a1)
/* B1736C 800A01CC 10000012 */ b .L800A0218
/* B17370 800A01D0 84B81D32 */ lh $t8, 0x1d32($a1)
.L800A01D4:
/* B17374 800A01D4 84A21D32 */ lh $v0, 0x1d32($a1)
/* B17378 800A01D8 248E0001 */ addiu $t6, $a0, 1
/* B1737C 800A01DC 284104B0 */ slti $at, $v0, 0x4b0
/* B17380 800A01E0 10200003 */ beqz $at, .L800A01F0
/* B17384 800A01E4 244D00C8 */ addiu $t5, $v0, 0xc8
/* B17388 800A01E8 1000000A */ b .L800A0214
/* B1738C 800A01EC A4AD1D32 */ sh $t5, 0x1d32($a1)
.L800A01F0:
/* B17390 800A01F0 10000008 */ b .L800A0214
/* B17394 800A01F4 A4AE1D30 */ sh $t6, 0x1d30($a1)
/* B17398 800A01F8 84A21D32 */ lh $v0, 0x1d32($a1)
.L800A01FC:
/* B1739C 800A01FC 18400003 */ blez $v0, .L800A020C
/* B173A0 800A0200 244FFFE2 */ addiu $t7, $v0, -0x1e
/* B173A4 800A0204 10000003 */ b .L800A0214
/* B173A8 800A0208 A4AF1D32 */ sh $t7, 0x1d32($a1)
.L800A020C:
/* B173AC 800A020C A4A01D32 */ sh $zero, 0x1d32($a1)
/* B173B0 800A0210 A4A01D30 */ sh $zero, 0x1d30($a1)
.L800A0214:
/* B173B4 800A0214 84B81D32 */ lh $t8, 0x1d32($a1)
.L800A0218:
/* B173B8 800A0218 3C018014 */ lui $at, %hi(D_8013FF3C)
/* B173BC 800A021C C432FF3C */ lwc1 $f18, %lo(D_8013FF3C)($at)
/* B173C0 800A0220 44985000 */ mtc1 $t8, $f10
/* B173C4 800A0224 3C018014 */ lui $at, %hi(D_8013FF40)
/* B173C8 800A0228 C424FF40 */ lwc1 $f4, %lo(D_8013FF40)($at)
/* B173CC 800A022C 46805420 */ cvt.s.w $f16, $f10
/* B173D0 800A0230 3C028013 */ lui $v0, %hi(D_8012A398) # $v0, 0x8013
/* B173D4 800A0234 2442A398 */ addiu $v0, %lo(D_8012A398) # addiu $v0, $v0, -0x5c68
/* B173D8 800A0238 C44A0000 */ lwc1 $f10, ($v0)
/* B173DC 800A023C 46128202 */ mul.s $f8, $f16, $f18
/* B173E0 800A0240 46082180 */ add.s $f6, $f4, $f8
/* B173E4 800A0244 46065400 */ add.s $f16, $f10, $f6
/* B173E8 800A0248 E4500000 */ swc1 $f16, ($v0)
.L800A024C:
/* B173EC 800A024C 8FA50048 */ lw $a1, 0x48($sp)
/* B173F0 800A0250 3C028013 */ lui $v0, %hi(D_8012A398) # $v0, 0x8013
/* B173F4 800A0254 24010002 */ li $at, 2
/* B173F8 800A0258 80AB1CBC */ lb $t3, 0x1cbc($a1)
/* B173FC 800A025C 2442A398 */ addiu $v0, %lo(D_8012A398) # addiu $v0, $v0, -0x5c68
/* B17400 800A0260 1561000E */ bne $t3, $at, .L800A029C
/* B17404 800A0264 00000000 */ nop
/* B17408 800A0268 0C0400A4 */ jal sinf
/* B1740C 800A026C C44C0000 */ lwc1 $f12, ($v0)
/* B17410 800A0270 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B17414 800A0274 44816000 */ mtc1 $at, $f12
/* B17418 800A0278 3C018014 */ lui $at, %hi(D_8013FF44)
/* B1741C 800A027C C432FF44 */ lwc1 $f18, %lo(D_8013FF44)($at)
/* B17420 800A0280 44066000 */ mfc1 $a2, $f12
/* B17424 800A0284 00003825 */ move $a3, $zero
/* B17428 800A0288 46120382 */ mul.s $f14, $f0, $f18
/* B1742C 800A028C 0C0342A3 */ jal Matrix_Scale
/* B17430 800A0290 00000000 */ nop
/* B17434 800A0294 1000000D */ b .L800A02CC
/* B17438 800A0298 8E0202C0 */ lw $v0, 0x2c0($s0)
.L800A029C:
/* B1743C 800A029C 0C0400A4 */ jal sinf
/* B17440 800A02A0 C44C0000 */ lwc1 $f12, ($v0)
/* B17444 800A02A4 3C018014 */ lui $at, %hi(D_8013FF48)
/* B17448 800A02A8 C42CFF48 */ lwc1 $f12, %lo(D_8013FF48)($at)
/* B1744C 800A02AC 3C018014 */ lui $at, %hi(D_8013FF4C)
/* B17450 800A02B0 C424FF4C */ lwc1 $f4, %lo(D_8013FF4C)($at)
/* B17454 800A02B4 44066000 */ mfc1 $a2, $f12
/* B17458 800A02B8 00003825 */ move $a3, $zero
/* B1745C 800A02BC 46040382 */ mul.s $f14, $f0, $f4
/* B17460 800A02C0 0C0342A3 */ jal Matrix_Scale
/* B17464 800A02C4 00000000 */ nop
/* B17468 800A02C8 8E0202C0 */ lw $v0, 0x2c0($s0)
.L800A02CC:
/* B1746C 800A02CC 3C0CDB06 */ lui $t4, (0xDB060034 >> 16) # lui $t4, 0xdb06
/* B17470 800A02D0 358C0034 */ ori $t4, (0xDB060034 & 0xFFFF) # ori $t4, $t4, 0x34
/* B17474 800A02D4 24590008 */ addiu $t9, $v0, 8
/* B17478 800A02D8 AE1902C0 */ sw $t9, 0x2c0($s0)
/* B1747C 800A02DC AC4C0000 */ sw $t4, ($v0)
/* B17480 800A02E0 8FAD0098 */ lw $t5, 0x98($sp)
/* B17484 800A02E4 3C058014 */ lui $a1, %hi(D_8013FE74) # $a1, 0x8014
/* B17488 800A02E8 24A5FE74 */ addiu $a1, %lo(D_8013FE74) # addiu $a1, $a1, -0x18c
/* B1748C 800A02EC 8DA40000 */ lw $a0, ($t5)
/* B17490 800A02F0 24061E81 */ li $a2, 7809
/* B17494 800A02F4 0C0346A2 */ jal Matrix_NewMtx
/* B17498 800A02F8 AFA2005C */ sw $v0, 0x5c($sp)
/* B1749C 800A02FC 8FA3005C */ lw $v1, 0x5c($sp)
/* B174A0 800A0300 3C068014 */ lui $a2, %hi(D_8013FE88) # $a2, 0x8014
/* B174A4 800A0304 24C6FE88 */ addiu $a2, %lo(D_8013FE88) # addiu $a2, $a2, -0x178
/* B174A8 800A0308 AC620004 */ sw $v0, 4($v1)
/* B174AC 800A030C 8FAE0098 */ lw $t6, 0x98($sp)
/* B174B0 800A0310 27A4007C */ addiu $a0, $sp, 0x7c
/* B174B4 800A0314 24071E83 */ li $a3, 7811
/* B174B8 800A0318 0C031AD5 */ jal Graph_CloseDisps
/* B174BC 800A031C 8DC50000 */ lw $a1, ($t6)
/* B174C0 800A0320 8FBF003C */ lw $ra, 0x3c($sp)
/* B174C4 800A0324 8FB00038 */ lw $s0, 0x38($sp)
/* B174C8 800A0328 27BD0098 */ addiu $sp, $sp, 0x98
/* B174CC 800A032C 03E00008 */ jr $ra
/* B174D0 800A0330 00000000 */ nop

View file

@ -1,333 +0,0 @@
.rdata
glabel D_801412EC
.asciz "vp"
.balign 4
glabel D_801412F0
.asciz "../z_view.c"
.balign 4
glabel D_801412FC
.asciz "projection"
.balign 4
glabel D_80141308
.asciz "../z_view.c"
.balign 4
glabel D_80141314
.asciz "projection"
.balign 4
glabel D_80141320
.asciz "../z_view.c"
.balign 4
glabel D_8014132C
.asciz "viewing"
.balign 4
glabel D_80141334
.asciz "../z_view.c"
.balign 4
.text
glabel func_800AB9EC
/* B22B8C 800AB9EC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B22B90 800AB9F0 AFBF003C */ sw $ra, 0x3c($sp)
/* B22B94 800AB9F4 AFB20038 */ sw $s2, 0x38($sp)
/* B22B98 800AB9F8 AFB10034 */ sw $s1, 0x34($sp)
/* B22B9C 800AB9FC AFB00030 */ sw $s0, 0x30($sp)
/* B22BA0 800ABA00 AFA5004C */ sw $a1, 0x4c($sp)
/* B22BA4 800ABA04 AFA60050 */ sw $a2, 0x50($sp)
/* B22BA8 800ABA08 8C8F0004 */ lw $t7, 4($a0)
/* B22BAC 800ABA0C 8CD10000 */ lw $s1, ($a2)
/* B22BB0 800ABA10 00054903 */ sra $t1, $a1, 4
/* B22BB4 800ABA14 AFAF0040 */ sw $t7, 0x40($sp)
/* B22BB8 800ABA18 8C980120 */ lw $t8, 0x120($a0)
/* B22BBC 800ABA1C 00808025 */ move $s0, $a0
/* B22BC0 800ABA20 01E02025 */ move $a0, $t7
/* B22BC4 800ABA24 03054024 */ and $t0, $t8, $a1
/* B22BC8 800ABA28 01095025 */ or $t2, $t0, $t1
/* B22BCC 800ABA2C 314B0002 */ andi $t3, $t2, 2
/* B22BD0 800ABA30 1160004B */ beqz $t3, .L800ABB60
/* B22BD4 800ABA34 AFAA004C */ sw $t2, 0x4c($sp)
/* B22BD8 800ABA38 0C031A73 */ jal Graph_Alloc
/* B22BDC 800ABA3C 24050010 */ li $a1, 16
/* B22BE0 800ABA40 3C048014 */ lui $a0, %hi(D_801412EC) # $a0, 0x8014
/* B22BE4 800ABA44 3C068014 */ lui $a2, %hi(D_801412F0) # $a2, 0x8014
/* B22BE8 800ABA48 00409025 */ move $s2, $v0
/* B22BEC 800ABA4C 24C612F0 */ addiu $a2, %lo(D_801412F0) # addiu $a2, $a2, 0x12f0
/* B22BF0 800ABA50 248412EC */ addiu $a0, %lo(D_801412EC) # addiu $a0, $a0, 0x12ec
/* B22BF4 800ABA54 00402825 */ move $a1, $v0
/* B22BF8 800ABA58 0C000B58 */ jal LogUtils_CheckNullPointer
/* B22BFC 800ABA5C 2407038E */ li $a3, 910
/* B22C00 800ABA60 02402025 */ move $a0, $s2
/* B22C04 800ABA64 0C02A864 */ jal View_ViewportToVp
/* B22C08 800ABA68 26050008 */ addiu $a1, $s0, 8
/* B22C0C 800ABA6C 8E4D0000 */ lw $t5, ($s2)
/* B22C10 800ABA70 02201025 */ move $v0, $s1
/* B22C14 800ABA74 3C0EE700 */ lui $t6, 0xe700
/* B22C18 800ABA78 AE0D0050 */ sw $t5, 0x50($s0)
/* B22C1C 800ABA7C 8E4C0004 */ lw $t4, 4($s2)
/* B22C20 800ABA80 3C014080 */ li $at, 0x40800000 # 0.000000
/* B22C24 800ABA84 44810000 */ mtc1 $at, $f0
/* B22C28 800ABA88 AE0C0054 */ sw $t4, 0x54($s0)
/* B22C2C 800ABA8C 8E4D0008 */ lw $t5, 8($s2)
/* B22C30 800ABA90 3C01ED00 */ lui $at, 0xed00
/* B22C34 800ABA94 26310008 */ addiu $s1, $s1, 8
/* B22C38 800ABA98 AE0D0058 */ sw $t5, 0x58($s0)
/* B22C3C 800ABA9C 8E4C000C */ lw $t4, 0xc($s2)
/* B22C40 800ABAA0 AE0C005C */ sw $t4, 0x5c($s0)
/* B22C44 800ABAA4 AC400004 */ sw $zero, 4($v0)
/* B22C48 800ABAA8 AC4E0000 */ sw $t6, ($v0)
/* B22C4C 800ABAAC 8E0F0010 */ lw $t7, 0x10($s0)
/* B22C50 800ABAB0 8E0B0008 */ lw $t3, 8($s0)
/* B22C54 800ABAB4 02201025 */ move $v0, $s1
/* B22C58 800ABAB8 448F2000 */ mtc1 $t7, $f4
/* B22C5C 800ABABC 448B8000 */ mtc1 $t3, $f16
/* B22C60 800ABAC0 26310008 */ addiu $s1, $s1, 8
/* B22C64 800ABAC4 468021A0 */ cvt.s.w $f6, $f4
/* B22C68 800ABAC8 468084A0 */ cvt.s.w $f18, $f16
/* B22C6C 800ABACC 46003202 */ mul.s $f8, $f6, $f0
/* B22C70 800ABAD0 00000000 */ nop
/* B22C74 800ABAD4 46009102 */ mul.s $f4, $f18, $f0
/* B22C78 800ABAD8 4600428D */ trunc.w.s $f10, $f8
/* B22C7C 800ABADC 4600218D */ trunc.w.s $f6, $f4
/* B22C80 800ABAE0 44195000 */ mfc1 $t9, $f10
/* B22C84 800ABAE4 440D3000 */ mfc1 $t5, $f6
/* B22C88 800ABAE8 33280FFF */ andi $t0, $t9, 0xfff
/* B22C8C 800ABAEC 00084B00 */ sll $t1, $t0, 0xc
/* B22C90 800ABAF0 01215025 */ or $t2, $t1, $at
/* B22C94 800ABAF4 31AE0FFF */ andi $t6, $t5, 0xfff
/* B22C98 800ABAF8 014E7825 */ or $t7, $t2, $t6
/* B22C9C 800ABAFC AC4F0000 */ sw $t7, ($v0)
/* B22CA0 800ABB00 8E180014 */ lw $t8, 0x14($s0)
/* B22CA4 800ABB04 8E0C000C */ lw $t4, 0xc($s0)
/* B22CA8 800ABB08 44984000 */ mtc1 $t8, $f8
/* B22CAC 800ABB0C 448C2000 */ mtc1 $t4, $f4
/* B22CB0 800ABB10 3C18DC08 */ lui $t8, (0xDC080008 >> 16) # lui $t8, 0xdc08
/* B22CB4 800ABB14 468042A0 */ cvt.s.w $f10, $f8
/* B22CB8 800ABB18 37180008 */ ori $t8, (0xDC080008 & 0xFFFF) # ori $t8, $t8, 8
/* B22CBC 800ABB1C 468021A0 */ cvt.s.w $f6, $f4
/* B22CC0 800ABB20 46005402 */ mul.s $f16, $f10, $f0
/* B22CC4 800ABB24 00000000 */ nop
/* B22CC8 800ABB28 46003202 */ mul.s $f8, $f6, $f0
/* B22CCC 800ABB2C 4600848D */ trunc.w.s $f18, $f16
/* B22CD0 800ABB30 4600428D */ trunc.w.s $f10, $f8
/* B22CD4 800ABB34 44089000 */ mfc1 $t0, $f18
/* B22CD8 800ABB38 440A5000 */ mfc1 $t2, $f10
/* B22CDC 800ABB3C 31090FFF */ andi $t1, $t0, 0xfff
/* B22CE0 800ABB40 00095B00 */ sll $t3, $t1, 0xc
/* B22CE4 800ABB44 314E0FFF */ andi $t6, $t2, 0xfff
/* B22CE8 800ABB48 016E7825 */ or $t7, $t3, $t6
/* B22CEC 800ABB4C AC4F0004 */ sw $t7, 4($v0)
/* B22CF0 800ABB50 02201025 */ move $v0, $s1
/* B22CF4 800ABB54 AC580000 */ sw $t8, ($v0)
/* B22CF8 800ABB58 AC520004 */ sw $s2, 4($v0)
/* B22CFC 800ABB5C 26310008 */ addiu $s1, $s1, 8
.L800ABB60:
/* B22D00 800ABB60 8FB9004C */ lw $t9, 0x4c($sp)
/* B22D04 800ABB64 8FA40040 */ lw $a0, 0x40($sp)
/* B22D08 800ABB68 33280008 */ andi $t0, $t9, 8
/* B22D0C 800ABB6C 1100003F */ beqz $t0, .L800ABC6C
/* B22D10 800ABB70 8FB9004C */ lw $t9, 0x4c($sp)
/* B22D14 800ABB74 0C031A73 */ jal Graph_Alloc
/* B22D18 800ABB78 24050040 */ li $a1, 64
/* B22D1C 800ABB7C 3C048014 */ lui $a0, %hi(D_801412FC) # $a0, 0x8014
/* B22D20 800ABB80 3C068014 */ lui $a2, %hi(D_80141308) # $a2, 0x8014
/* B22D24 800ABB84 00409025 */ move $s2, $v0
/* B22D28 800ABB88 24C61308 */ addiu $a2, %lo(D_80141308) # addiu $a2, $a2, 0x1308
/* B22D2C 800ABB8C 248412FC */ addiu $a0, %lo(D_801412FC) # addiu $a0, $a0, 0x12fc
/* B22D30 800ABB90 00402825 */ move $a1, $v0
/* B22D34 800ABB94 0C000B58 */ jal LogUtils_CheckNullPointer
/* B22D38 800ABB98 24070399 */ li $a3, 921
/* B22D3C 800ABB9C AE1200E0 */ sw $s2, 0xe0($s0)
/* B22D40 800ABBA0 3C098013 */ lui $t1, %hi(gScreenWidth)
/* B22D44 800ABBA4 8D29D270 */ lw $t1, %lo(gScreenWidth)($t1)
/* B22D48 800ABBA8 3C0C8013 */ lui $t4, %hi(gScreenHeight)
/* B22D4C 800ABBAC 8D8CD274 */ lw $t4, %lo(gScreenHeight)($t4)
/* B22D50 800ABBB0 44898000 */ mtc1 $t1, $f16
/* B22D54 800ABBB4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* B22D58 800ABBB8 448C4000 */ mtc1 $t4, $f8
/* B22D5C 800ABBBC 46808020 */ cvt.s.w $f0, $f16
/* B22D60 800ABBC0 44816000 */ mtc1 $at, $f12
/* B22D64 800ABBC4 02402025 */ move $a0, $s2
/* B22D68 800ABBC8 468040A0 */ cvt.s.w $f2, $f8
/* B22D6C 800ABBCC 46000487 */ neg.s $f18, $f0
/* B22D70 800ABBD0 46001287 */ neg.s $f10, $f2
/* B22D74 800ABBD4 460C9102 */ mul.s $f4, $f18, $f12
/* B22D78 800ABBD8 00000000 */ nop
/* B22D7C 800ABBDC 460C0182 */ mul.s $f6, $f0, $f12
/* B22D80 800ABBE0 00000000 */ nop
/* B22D84 800ABBE4 460C5402 */ mul.s $f16, $f10, $f12
/* B22D88 800ABBE8 44052000 */ mfc1 $a1, $f4
/* B22D8C 800ABBEC 460C1482 */ mul.s $f18, $f2, $f12
/* B22D90 800ABBF0 44063000 */ mfc1 $a2, $f6
/* B22D94 800ABBF4 44078000 */ mfc1 $a3, $f16
/* B22D98 800ABBF8 E7B20010 */ swc1 $f18, 0x10($sp)
/* B22D9C 800ABBFC C604001C */ lwc1 $f4, 0x1c($s0)
/* B22DA0 800ABC00 E7A40014 */ swc1 $f4, 0x14($sp)
/* B22DA4 800ABC04 C6060020 */ lwc1 $f6, 0x20($s0)
/* B22DA8 800ABC08 E7A60018 */ swc1 $f6, 0x18($sp)
/* B22DAC 800ABC0C C6080024 */ lwc1 $f8, 0x24($s0)
/* B22DB0 800ABC10 0C041169 */ jal guOrtho
/* B22DB4 800ABC14 E7A8001C */ swc1 $f8, 0x1c($sp)
/* B22DB8 800ABC18 02405825 */ move $t3, $s2
/* B22DBC 800ABC1C 02007025 */ move $t6, $s0
/* B22DC0 800ABC20 264F003C */ addiu $t7, $s2, 0x3c
.L800ABC24:
/* B22DC4 800ABC24 8D6A0000 */ lw $t2, ($t3)
/* B22DC8 800ABC28 256B000C */ addiu $t3, $t3, 0xc
/* B22DCC 800ABC2C 25CE000C */ addiu $t6, $t6, 0xc
/* B22DD0 800ABC30 ADCA0054 */ sw $t2, 0x54($t6)
/* B22DD4 800ABC34 8D6DFFF8 */ lw $t5, -8($t3)
/* B22DD8 800ABC38 ADCD0058 */ sw $t5, 0x58($t6)
/* B22DDC 800ABC3C 8D6AFFFC */ lw $t2, -4($t3)
/* B22DE0 800ABC40 156FFFF8 */ bne $t3, $t7, .L800ABC24
/* B22DE4 800ABC44 ADCA005C */ sw $t2, 0x5c($t6)
/* B22DE8 800ABC48 8D6A0000 */ lw $t2, ($t3)
/* B22DEC 800ABC4C 02201025 */ move $v0, $s1
/* B22DF0 800ABC50 3C18DA38 */ lui $t8, 0xda38
/* B22DF4 800ABC54 37180007 */ ori $t8, (0xDA380007 & 0xFFFF) # ori $t8, $t8, 7
/* B22DF8 800ABC58 ADCA0060 */ sw $t2, 0x60($t6)
/* B22DFC 800ABC5C AC520004 */ sw $s2, 4($v0)
/* B22E00 800ABC60 AC580000 */ sw $t8, ($v0)
/* B22E04 800ABC64 10000040 */ b .L800ABD68
/* B22E08 800ABC68 26310008 */ addiu $s1, $s1, 8
.L800ABC6C:
/* B22E0C 800ABC6C 33280006 */ andi $t0, $t9, 6
/* B22E10 800ABC70 1100003D */ beqz $t0, .L800ABD68
/* B22E14 800ABC74 8FA40040 */ lw $a0, 0x40($sp)
/* B22E18 800ABC78 0C031A73 */ jal Graph_Alloc
/* B22E1C 800ABC7C 24050040 */ li $a1, 64
/* B22E20 800ABC80 3C048014 */ lui $a0, %hi(D_80141314) # $a0, 0x8014
/* B22E24 800ABC84 3C068014 */ lui $a2, %hi(D_80141320) # $a2, 0x8014
/* B22E28 800ABC88 00409025 */ move $s2, $v0
/* B22E2C 800ABC8C 24C61320 */ addiu $a2, %lo(D_80141320) # addiu $a2, $a2, 0x1320
/* B22E30 800ABC90 24841314 */ addiu $a0, %lo(D_80141314) # addiu $a0, $a0, 0x1314
/* B22E34 800ABC94 00402825 */ move $a1, $v0
/* B22E38 800ABC98 0C000B58 */ jal LogUtils_CheckNullPointer
/* B22E3C 800ABC9C 240703A4 */ li $a3, 932
/* B22E40 800ABCA0 8E090014 */ lw $t1, 0x14($s0)
/* B22E44 800ABCA4 8E0C0010 */ lw $t4, 0x10($s0)
/* B22E48 800ABCA8 8E0F000C */ lw $t7, 0xc($s0)
/* B22E4C 800ABCAC 8E0B0008 */ lw $t3, 8($s0)
/* B22E50 800ABCB0 012C1023 */ subu $v0, $t1, $t4
/* B22E54 800ABCB4 44825000 */ mtc1 $v0, $f10
/* B22E58 800ABCB8 01EB1823 */ subu $v1, $t7, $t3
/* B22E5C 800ABCBC 44839000 */ mtc1 $v1, $f18
/* B22E60 800ABCC0 46805420 */ cvt.s.w $f16, $f10
/* B22E64 800ABCC4 C608001C */ lwc1 $f8, 0x1c($s0)
/* B22E68 800ABCC8 AE1200E0 */ sw $s2, 0xe0($s0)
/* B22E6C 800ABCCC 8E060018 */ lw $a2, 0x18($s0)
/* B22E70 800ABCD0 E7A80010 */ swc1 $f8, 0x10($sp)
/* B22E74 800ABCD4 46809120 */ cvt.s.w $f4, $f18
/* B22E78 800ABCD8 C60A0020 */ lwc1 $f10, 0x20($s0)
/* B22E7C 800ABCDC 02402025 */ move $a0, $s2
/* B22E80 800ABCE0 2605011C */ addiu $a1, $s0, 0x11c
/* B22E84 800ABCE4 E7AA0014 */ swc1 $f10, 0x14($sp)
/* B22E88 800ABCE8 C6120024 */ lwc1 $f18, 0x24($s0)
/* B22E8C 800ABCEC 46048183 */ div.s $f6, $f16, $f4
/* B22E90 800ABCF0 E7B20018 */ swc1 $f18, 0x18($sp)
/* B22E94 800ABCF4 44073000 */ mfc1 $a3, $f6
/* B22E98 800ABCF8 0C0404C0 */ jal guPerspective
/* B22E9C 800ABCFC 00000000 */ nop
/* B22EA0 800ABD00 02405025 */ move $t2, $s2
/* B22EA4 800ABD04 0200C025 */ move $t8, $s0
/* B22EA8 800ABD08 2659003C */ addiu $t9, $s2, 0x3c
.L800ABD0C:
/* B22EAC 800ABD0C 8D4D0000 */ lw $t5, ($t2)
/* B22EB0 800ABD10 254A000C */ addiu $t2, $t2, 0xc
/* B22EB4 800ABD14 2718000C */ addiu $t8, $t8, 0xc
/* B22EB8 800ABD18 AF0D0054 */ sw $t5, 0x54($t8)
/* B22EBC 800ABD1C 8D4EFFF8 */ lw $t6, -8($t2)
/* B22EC0 800ABD20 AF0E0058 */ sw $t6, 0x58($t8)
/* B22EC4 800ABD24 8D4DFFFC */ lw $t5, -4($t2)
/* B22EC8 800ABD28 1559FFF8 */ bne $t2, $t9, .L800ABD0C
/* B22ECC 800ABD2C AF0D005C */ sw $t5, 0x5c($t8)
/* B22ED0 800ABD30 8D4D0000 */ lw $t5, ($t2)
/* B22ED4 800ABD34 02201025 */ move $v0, $s1
/* B22ED8 800ABD38 3C08DB0E */ lui $t0, 0xdb0e
/* B22EDC 800ABD3C AF0D0060 */ sw $t5, 0x60($t8)
/* B22EE0 800ABD40 AC480000 */ sw $t0, ($v0)
/* B22EE4 800ABD44 9609011C */ lhu $t1, 0x11c($s0)
/* B22EE8 800ABD48 26310008 */ addiu $s1, $s1, 8
/* B22EEC 800ABD4C 3C0CDA38 */ lui $t4, (0xDA380007 >> 16) # lui $t4, 0xda38
/* B22EF0 800ABD50 AC490004 */ sw $t1, 4($v0)
/* B22EF4 800ABD54 02201025 */ move $v0, $s1
/* B22EF8 800ABD58 358C0007 */ ori $t4, (0xDA380007 & 0xFFFF) # ori $t4, $t4, 7
/* B22EFC 800ABD5C AC4C0000 */ sw $t4, ($v0)
/* B22F00 800ABD60 AC520004 */ sw $s2, 4($v0)
/* B22F04 800ABD64 26310008 */ addiu $s1, $s1, 8
.L800ABD68:
/* B22F08 800ABD68 8FAF004C */ lw $t7, 0x4c($sp)
/* B22F0C 800ABD6C 8FA40040 */ lw $a0, 0x40($sp)
/* B22F10 800ABD70 31EB0001 */ andi $t3, $t7, 1
/* B22F14 800ABD74 51600036 */ beql $t3, $zero, .L800ABE50
/* B22F18 800ABD78 AE000120 */ sw $zero, 0x120($s0)
/* B22F1C 800ABD7C 0C031A73 */ jal Graph_Alloc
/* B22F20 800ABD80 24050040 */ li $a1, 64
/* B22F24 800ABD84 3C048014 */ lui $a0, %hi(D_8014132C) # $a0, 0x8014
/* B22F28 800ABD88 3C068014 */ lui $a2, %hi(D_80141334) # $a2, 0x8014
/* B22F2C 800ABD8C 00409025 */ move $s2, $v0
/* B22F30 800ABD90 24C61334 */ addiu $a2, %lo(D_80141334) # addiu $a2, $a2, 0x1334
/* B22F34 800ABD94 2484132C */ addiu $a0, %lo(D_8014132C) # addiu $a0, $a0, 0x132c
/* B22F38 800ABD98 00402825 */ move $a1, $v0
/* B22F3C 800ABD9C 0C000B58 */ jal LogUtils_CheckNullPointer
/* B22F40 800ABDA0 240703B4 */ li $a3, 948
/* B22F44 800ABDA4 AE1200E4 */ sw $s2, 0xe4($s0)
/* B22F48 800ABDA8 C60C0028 */ lwc1 $f12, 0x28($s0)
/* B22F4C 800ABDAC C60E002C */ lwc1 $f14, 0x2c($s0)
/* B22F50 800ABDB0 0C02AF9D */ jal func_800ABE74
/* B22F54 800ABDB4 8E060030 */ lw $a2, 0x30($s0)
/* B22F58 800ABDB8 C6100034 */ lwc1 $f16, 0x34($s0)
/* B22F5C 800ABDBC 8E050028 */ lw $a1, 0x28($s0)
/* B22F60 800ABDC0 8E06002C */ lw $a2, 0x2c($s0)
/* B22F64 800ABDC4 8E070030 */ lw $a3, 0x30($s0)
/* B22F68 800ABDC8 E7B00010 */ swc1 $f16, 0x10($sp)
/* B22F6C 800ABDCC C6040038 */ lwc1 $f4, 0x38($s0)
/* B22F70 800ABDD0 02402025 */ move $a0, $s2
/* B22F74 800ABDD4 E7A40014 */ swc1 $f4, 0x14($sp)
/* B22F78 800ABDD8 C606003C */ lwc1 $f6, 0x3c($s0)
/* B22F7C 800ABDDC E7A60018 */ swc1 $f6, 0x18($sp)
/* B22F80 800ABDE0 C6080040 */ lwc1 $f8, 0x40($s0)
/* B22F84 800ABDE4 E7A8001C */ swc1 $f8, 0x1c($sp)
/* B22F88 800ABDE8 C60A0044 */ lwc1 $f10, 0x44($s0)
/* B22F8C 800ABDEC E7AA0020 */ swc1 $f10, 0x20($sp)
/* B22F90 800ABDF0 C6120048 */ lwc1 $f18, 0x48($s0)
/* B22F94 800ABDF4 0C04078D */ jal guLookAt
/* B22F98 800ABDF8 E7B20024 */ swc1 $f18, 0x24($sp)
/* B22F9C 800ABDFC 0240C025 */ move $t8, $s2
/* B22FA0 800ABE00 02007025 */ move $t6, $s0
/* B22FA4 800ABE04 264D003C */ addiu $t5, $s2, 0x3c
.L800ABE08:
/* B22FA8 800ABE08 8F0A0000 */ lw $t2, ($t8)
/* B22FAC 800ABE0C 2718000C */ addiu $t8, $t8, 0xc
/* B22FB0 800ABE10 25CE000C */ addiu $t6, $t6, 0xc
/* B22FB4 800ABE14 ADCA0094 */ sw $t2, 0x94($t6)
/* B22FB8 800ABE18 8F19FFF8 */ lw $t9, -8($t8)
/* B22FBC 800ABE1C ADD90098 */ sw $t9, 0x98($t6)
/* B22FC0 800ABE20 8F0AFFFC */ lw $t2, -4($t8)
/* B22FC4 800ABE24 170DFFF8 */ bne $t8, $t5, .L800ABE08
/* B22FC8 800ABE28 ADCA009C */ sw $t2, 0x9c($t6)
/* B22FCC 800ABE2C 8F0A0000 */ lw $t2, ($t8)
/* B22FD0 800ABE30 02201025 */ move $v0, $s1
/* B22FD4 800ABE34 3C08DA38 */ lui $t0, (0xDA380005 >> 16) # lui $t0, 0xda38
/* B22FD8 800ABE38 ADCA00A0 */ sw $t2, 0xa0($t6)
/* B22FDC 800ABE3C 35080005 */ ori $t0, (0xDA380005 & 0xFFFF) # ori $t0, $t0, 5
/* B22FE0 800ABE40 AC480000 */ sw $t0, ($v0)
/* B22FE4 800ABE44 AC520004 */ sw $s2, 4($v0)
/* B22FE8 800ABE48 26310008 */ addiu $s1, $s1, 8
/* B22FEC 800ABE4C AE000120 */ sw $zero, 0x120($s0)
.L800ABE50:
/* B22FF0 800ABE50 8FA90050 */ lw $t1, 0x50($sp)
/* B22FF4 800ABE54 24020001 */ li $v0, 1
/* B22FF8 800ABE58 AD310000 */ sw $s1, ($t1)
/* B22FFC 800ABE5C 8FBF003C */ lw $ra, 0x3c($sp)
/* B23000 800ABE60 8FB20038 */ lw $s2, 0x38($sp)
/* B23004 800ABE64 8FB10034 */ lw $s1, 0x34($sp)
/* B23008 800ABE68 8FB00030 */ lw $s0, 0x30($sp)
/* B2300C 800ABE6C 03E00008 */ jr $ra
/* B23010 800ABE70 27BD0048 */ addiu $sp, $sp, 0x48

View file

@ -1390,7 +1390,7 @@ void View_SetViewport(View* view, Viewport* viewport);
void View_GetViewport(View* view, Viewport* viewport); void View_GetViewport(View* view, Viewport* viewport);
void func_800AA76C(View* view, f32 arg1, f32 arg2, f32 arg3); void func_800AA76C(View* view, f32 arg1, f32 arg2, f32 arg3);
void func_800AA78C(View* view, f32 arg1, f32 arg2, f32 arg3); void func_800AA78C(View* view, f32 arg1, f32 arg2, f32 arg3);
void func_800AA7AC(View* view, f32 arg1); s32 func_800AA7AC(View* view, f32 arg1);
void func_800AA7B8(View* view); void func_800AA7B8(View* view);
void func_800AA814(View* view); void func_800AA814(View* view);
void func_800AA840(View* view, Vec3f vec1, Vec3f vec2, f32 arg3); void func_800AA840(View* view, Vec3f vec1, Vec3f vec2, f32 arg3);

View file

@ -173,7 +173,7 @@ typedef struct {
/* 0x0104 */ Vec3f unk_104; /* 0x0104 */ Vec3f unk_104;
/* 0x0110 */ Vec3f unk_110; /* 0x0110 */ Vec3f unk_110;
/* 0x011C */ u16 normal; // used to normalize the projection matrix /* 0x011C */ u16 normal; // used to normalize the projection matrix
/* 0x0120 */ u32 flags; /* 0x0120 */ s32 flags;
/* 0x0124 */ s32 unk_124; /* 0x0124 */ s32 unk_124;
} View; // size = 0x128 } View; // size = 0x128

View file

@ -28,8 +28,12 @@ Gfx D_8012B000[] = {
#ifdef NON_EQUIVALENT #ifdef NON_EQUIVALENT
// The general control flow is correct and nothing is especially out of order but there are // The general control flow is correct and nothing is especially out of order but there are
// many small reoderings and regalloc all over so functional equivalence cannot be verified // many small reoderings and regalloc all over so functional equivalence cannot be verified
// The first loop is down to regalloc. The second needs work.
void TransitionUnk_InitGraphics(TransitionUnk* this) { void TransitionUnk_InitGraphics(TransitionUnk* this) {
Vtx* vtx2; s32 pad;
s32 pad2;
s32 pad3;
Vtx_t* vtx2;
s32 frame; s32 frame;
s32 rowTex; s32 rowTex;
s32 row; s32 row;
@ -45,20 +49,21 @@ void TransitionUnk_InitGraphics(TransitionUnk* this) {
for (frame = 0; frame < 2; frame++) { for (frame = 0; frame < 2; frame++) {
this->frame = frame; this->frame = frame;
vtx = (frame == 0) ? this->vtxFrame1 : this->vtxFrame2; vtx = (frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
for (col = 0, colTex = 0; col < this->col + 1; col++, colTex += 0x20) { for (colTex = 0, col = 0; col < this->col + 1; colTex += 0x20, col++) {
for (row = 0, rowTex = 0; row < this->row + 1; row++, rowTex += 0x20) { for (rowTex = 0, row = 0; row < this->row + 1; rowTex += 0x20, row++) {
vtx2 = vtx; vtx2 = &vtx->v;
vtx2->v.tc[0] = rowTex * 0x40;
vtx2->v.ob[0] = rowTex;
vtx2->v.ob[1] = col * 0x20;
vtx2->v.ob[2] = -5;
vtx2->v.flag = 0;
vtx2->v.tc[1] = colTex * 0x40;
vtx2->v.cn[0] = 0;
vtx2->v.cn[1] = 0;
vtx2->v.cn[2] = 120;
vtx2->v.cn[3] = 255;
vtx++; vtx++;
vtx2->tc[0] = rowTex << 6;
vtx2->ob[0] = row * 0x20;
vtx2->ob[1] = col * 0x20;
vtx2->ob[2] = -5;
vtx2->flag = 0;
vtx2->tc[1] = colTex << 6;
vtx2->cn[0] = 0;
vtx2->cn[1] = 0;
vtx2->cn[2] = 120;
vtx2->cn[3] = 255;
} }
} }
} }

View file

@ -35,8 +35,6 @@ TransitionFade* TransitionFade_Init(TransitionFade* this) {
void TransitionFade_Destroy(TransitionFade* this) { void TransitionFade_Destroy(TransitionFade* this) {
} }
#ifdef NON_MATCHING
// Ordering differences around alpha temp
void TransitionFade_Update(TransitionFade* this, s32 updateRate) { void TransitionFade_Update(TransitionFade* this, s32 updateRate) {
s32 alpha; s32 alpha;
s16 newAlpha; s16 newAlpha;
@ -54,19 +52,20 @@ void TransitionFade_Update(TransitionFade* this, s32 updateRate) {
// Divide by 0! Zero is included in ZCommonGet fade_speed // Divide by 0! Zero is included in ZCommonGet fade_speed
osSyncPrintf(VT_COL(RED, WHITE) "0除算! ZCommonGet fade_speed に0がはいってる" VT_RST); osSyncPrintf(VT_COL(RED, WHITE) "0除算! ZCommonGet fade_speed に0がはいってる" VT_RST);
} }
alpha = (this->fadeTimer * 255.0f) / gSaveContext.fadeDuration;
alpha = (255.0f * this->fadeTimer) / (0, gSaveContext.fadeDuration);
this->fadeColor.a = (this->fadeDirection != 0) ? 255 - alpha : alpha; this->fadeColor.a = (this->fadeDirection != 0) ? 255 - alpha : alpha;
break; break;
case 2: case 2:
newAlpha = this->fadeColor.a; newAlpha = this->fadeColor.a;
if (iREG(50) != 0) { if (iREG(50) != 0) {
if (iREG(50) < 0) { if (iREG(50) < 0) {
if (Math_ApproxS(&newAlpha, 255, 255) != 0) { if (Math_ApproxS(&newAlpha, 255, 255)) {
iREG(50) = 150; iREG(50) = 150;
} }
} else { } else {
Math_ApproxS(&iREG(50), 20, 60); Math_ApproxS(&iREG(50), 20, 60);
if (Math_ApproxS(&newAlpha, 0, iREG(50)) != 0) { if (Math_ApproxS(&newAlpha, 0, iREG(50))) {
iREG(50) = 0; iREG(50) = 0;
this->isDone = 1; this->isDone = 1;
} }
@ -76,9 +75,6 @@ void TransitionFade_Update(TransitionFade* this, s32 updateRate) {
break; break;
} }
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Update.s")
#endif
void TransitionFade_Draw(TransitionFade* this, Gfx** gfxP) { void TransitionFade_Draw(TransitionFade* this, Gfx** gfxP) {
Gfx* gfx; Gfx* gfx;

View file

@ -3047,7 +3047,8 @@ s16 D_80125B5C[] = { 91, 91 }; // unused
// Due to an unknown reason, bss ordering changes within the 5 static variables in the function below. // Due to an unknown reason, bss ordering changes within the 5 static variables in the function below.
// In order to restore the correct order, we need a specific number of bss variables in the file before that point. // In order to restore the correct order, we need a specific number of bss variables in the file before that point.
// For this, we introduce 3 dummy variables which end up in padding at the end of the file's bss, so they don't actually take space. // For this, we introduce 3 dummy variables which end up in padding at the end of the file's bss, so they don't actually
// take space.
s8 sBssDummy1; s8 sBssDummy1;
s8 sBssDummy2; s8 sBssDummy2;
s8 sBssDummy3; s8 sBssDummy3;

View file

@ -2310,9 +2310,6 @@ void func_8009FC90(GlobalContext* globalCtx) {
f32 D_8012A398 = 0.0f; f32 D_8012A398 = 0.0f;
// Scene Draw Config 21
#ifdef NON_MATCHING
// regalloc differences and single equivalent instruction difference
void func_8009FE58(GlobalContext* globalCtx) { void func_8009FE58(GlobalContext* globalCtx) {
static s16 D_8012A39C = 538; static s16 D_8012A39C = 538;
static s16 D_8012A3A0 = 4272; static s16 D_8012A3A0 = 4272;
@ -2346,11 +2343,10 @@ void func_8009FE58(GlobalContext* globalCtx) {
D_8012A3A0 += 1820; D_8012A3A0 += 1820;
temp = 0.020000001f; temp = 0.020000001f;
func_800AA76C(&globalCtx->view, Math_Coss(D_8012A39C) * (0.00009587531f * temp), func_800AA76C(&globalCtx->view, 0.00009587531f * temp * Math_Coss(D_8012A39C),
Math_Sins(D_8012A39C) * (0.00009587531f * temp), Math_Sins(D_8012A3A0) * (0.00009587531f * temp)); 0.00009587531f * temp * Math_Sins(D_8012A39C), 0.00009587531f * temp * Math_Sins(D_8012A3A0));
func_800AA78C(&globalCtx->view, 1.0f + (Math_Sins(D_8012A3A0) * (0.79999995f * temp)), func_800AA78C(&globalCtx->view, 1.f + (0.79999995f * temp * Math_Sins(D_8012A3A0)),
1.0f + (Math_Coss(D_8012A3A0) * (0.39999998f * temp)), 1.f + (0.39999998f * temp * Math_Coss(D_8012A3A0)), 1.f + (1 * temp * Math_Coss(D_8012A39C)));
1.0f + (Math_Coss(D_8012A39C) * (1 * temp)));
func_800AA7AC(&globalCtx->view, 0.95f); func_800AA7AC(&globalCtx->view, 0.95f);
switch (globalCtx->unk_11D30[0]) { switch (globalCtx->unk_11D30[0]) {
@ -2377,7 +2373,7 @@ void func_8009FE58(GlobalContext* globalCtx) {
} }
if (globalCtx->roomCtx.curRoom.num == 2) { if (globalCtx->roomCtx.curRoom.num == 2) {
Matrix_Scale(1, sinf(D_8012A398) * 0.8f, 1, MTXMODE_NEW); Matrix_Scale(1.0f, sinf(D_8012A398) * 0.8f, 1.0f, MTXMODE_NEW);
} else { } else {
Matrix_Scale(1.005f, sinf(D_8012A398) * 0.8f, 1.005f, MTXMODE_NEW); Matrix_Scale(1.005f, sinf(D_8012A398) * 0.8f, 1.005f, MTXMODE_NEW);
} }
@ -2386,12 +2382,6 @@ void func_8009FE58(GlobalContext* globalCtx) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7811); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7811);
} }
#else
s16 D_8012A39C = 538;
s16 D_8012A3A0 = 4272;
void func_8009FE58(GlobalContext* globalCtx);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_scene_table/func_8009FE58.s")
#endif
// Scene Draw Config 26 // Scene Draw Config 26
void func_800A0334(GlobalContext* globalCtx) { void func_800A0334(GlobalContext* globalCtx) {

View file

@ -194,7 +194,7 @@ void func_800AA78C(View* view, f32 x, f32 y, f32 z) {
view->unk_F4.z = z; view->unk_F4.z = z;
} }
void func_800AA7AC(View* view, f32 arg1) { s32 func_800AA7AC(View* view, f32 arg1) {
view->unk_100 = arg1; view->unk_100 = arg1;
} }
@ -260,7 +260,7 @@ s32 func_800AA890(View* view, Mtx* mtx) {
} }
void func_800AAA50(View* view, s32 arg1) { void func_800AAA50(View* view, s32 arg1) {
arg1 = (view->flags & arg1) | arg1 >> 4; arg1 = (view->flags & arg1) | (arg1 >> 4);
if (arg1 & 8) { if (arg1 & 8) {
func_800AB0A8(view); func_800AB0A8(view);
@ -522,8 +522,6 @@ s32 func_800AB944(View* view) {
return 1; return 1;
} }
#ifdef NON_MATCHING
// regalloc differences, skips a t register at arg1's assignment
s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) { s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) {
Gfx* gfx = *gfxp; Gfx* gfx = *gfxp;
GraphicsContext* gfxCtx = view->gfxCtx; GraphicsContext* gfxCtx = view->gfxCtx;
@ -595,9 +593,6 @@ s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) {
return 1; return 1;
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_view/func_800AB9EC.s")
#endif
s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ) { s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ) {
s32 error = 0; s32 error = 0;

View file

@ -11,8 +11,8 @@
#define THIS ((BgRelayObjects*)thisx) #define THIS ((BgRelayObjects*)thisx)
typedef enum { typedef enum {
WINDMILL_ROTATING_GEAR, /* 0 */ WINDMILL_ROTATING_GEAR,
WINDMILL_DAMPE_STONE_DOOR /* 1 */ WINDMILL_DAMPE_STONE_DOOR
} WindmillSetpiecesMode; } WindmillSetpiecesMode;
void BgRelayObjects_Init(Actor* thisx, GlobalContext* globalCtx); void BgRelayObjects_Init(Actor* thisx, GlobalContext* globalCtx);

View file

@ -381,7 +381,6 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
temp_a0 += phi_v0; temp_a0 += phi_v0;
phi_v1 = (s16)(temp_a0 - phi_a1); phi_v1 = (s16)(temp_a0 - phi_a1);
if (((this->unk_25C[idx] * phi_v0) <= 0) && (phi_v1 > -100) && (phi_v1 < 100)) { if (((this->unk_25C[idx] * phi_v0) <= 0) && (phi_v1 > -100) && (phi_v1 < 100)) {
temp_a0 = phi_a1; temp_a0 = phi_a1;
phi_v0 = 0; phi_v0 = 0;
@ -430,7 +429,8 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
if (animCurrentFrame <= 42.0f) { if (animCurrentFrame <= 42.0f) {
phi_v1_2 = phi_a1 - 2000; phi_v1_2 = phi_a1 - 2000;
} else { } else {
phi_v1_2 = (s32)((((animCurrentFrame - 42.0f) * 6200.0f) / (unk_3F4 - 42.0f)) + -2000.0f) + phi_a1; phi_v1_2 =
(s32)((((animCurrentFrame - 42.0f) * 6200.0f) / (unk_3F4 - 42.0f)) + -2000.0f) + phi_a1;
} }
if (phi_v1_2 >= temp_a0) { if (phi_v1_2 >= temp_a0) {

View file

@ -14,7 +14,7 @@ typedef enum {
/* 0 */ ENZO_EFFECT_NONE, /* 0 */ ENZO_EFFECT_NONE,
/* 1 */ ENZO_EFFECT_RIPPLE, /* 1 */ ENZO_EFFECT_RIPPLE,
/* 2 */ ENZO_EFFECT_SPLASH, /* 2 */ ENZO_EFFECT_SPLASH,
/* 3 */ ENZO_EFFECT_BUBBLE, /* 3 */ ENZO_EFFECT_BUBBLE
} EnZoEffectType; } EnZoEffectType;
void EnZo_Init(Actor* thisx, GlobalContext* globalCtx); void EnZo_Init(Actor* thisx, GlobalContext* globalCtx);
@ -82,7 +82,7 @@ void EnZo_Bubble(EnZo* this, Vec3f* pos) {
effect->scale = ((Math_Rand_ZeroOne() - 0.5f) * 0.02f) + 0.12f; effect->scale = ((Math_Rand_ZeroOne() - 0.5f) * 0.02f) + 0.12f;
break; break;
} }
} }
effect++; effect++;
} }
} }
@ -103,7 +103,7 @@ void EnZo_Splash(EnZo* this, Vec3f* pos, Vec3f* vel, f32 scale) {
effect->color.a = (Math_Rand_ZeroOne() * 100.0f) + 100.0f; effect->color.a = (Math_Rand_ZeroOne() * 100.0f) + 100.0f;
effect->scale = scale; effect->scale = scale;
break; break;
} }
effect++; effect++;
} }
} }
@ -241,7 +241,7 @@ void EnZo_DrawBubbles(EnZo* this, GlobalContext* globalCtx) {
Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zo_eff.c", 281), gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zo_eff.c", 281),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06002350); gSPDisplayList(POLY_XLU_DISP++, D_06002350);
} }
effect++; effect++;
@ -273,7 +273,7 @@ void EnZo_DrawSplashes(EnZo* this, GlobalContext* globalCtx) {
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zo_eff.c", 325), gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zo_eff.c", 325),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06002510); gSPDisplayList(POLY_XLU_DISP++, D_06002510);
} }
@ -292,14 +292,12 @@ void EnZo_TreadWaterRipples(EnZo* this, f32 scale, f32 targetScale, u8 alpha) {
} }
static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER, }, { COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 0x1A, 0x40, 0, { 0, 0, 0 } }, { 0x1A, 0x40, 0, { 0, 0, 0 } },
}; };
static CollisionCheckInfoInit2 sColChkInit = { static CollisionCheckInfoInit2 sColChkInit = { 0, 0, 0, 0, 0xFF };
0x00, 0x0000, 0x0000, 0x0000, 0xFF,
};
const ActorInit En_Zo_InitVars = { const ActorInit En_Zo_InitVars = {
ACTOR_EN_ZO, ACTOR_EN_ZO,
@ -314,14 +312,10 @@ const ActorInit En_Zo_InitVars = {
}; };
static struct_80034EC0_Entry sAnimations[] = { static struct_80034EC0_Entry sAnimations[] = {
{ &D_06002FE8, 1.0f, 0.0f, -1.0f, 0, -8.0f, }, { &D_06002FE8, 1.0f, 0.0f, -1.0f, 0, -8.0f }, { &D_06002FE8, 1.0f, 0.0f, -1.0f, 0, 0.0f },
{ &D_06002FE8, 1.0f, 0.0f, -1.0f, 0, 0.0f, }, { &D_06002F10, 0.0f, 1.0f, 1.0f, 2, 0.0f }, { &D_06002F10, 1.0f, 1.0f, -1.0f, 0, -8.0f },
{ &D_06002F10, 0.0f, 1.0f, 1.0f, 2, 0.0f, }, { &D_06002F10, 1.0f, 8.0f, -1.0f, 0, -8.0f }, { &D_0600219C, 1.0f, 0.0f, -1.0f, 0, -8.0f },
{ &D_06002F10, 1.0f, 1.0f, -1.0f, 0, -8.0f, }, { &D_06000598, 1.0f, 0.0f, -1.0f, 0, -8.0f }, { &D_06000D48, 1.0f, 0.0f, -1.0f, 0, -8.0f },
{ &D_06002F10, 1.0f, 8.0f, -1.0f, 0, -8.0f, },
{ &D_0600219C, 1.0f, 0.0f, -1.0f, 0, -8.0f, },
{ &D_06000598, 1.0f, 0.0f, -1.0f, 0, -8.0f, },
{ &D_06000D48, 1.0f, 0.0f, -1.0f, 0, -8.0f, },
}; };
void EnZo_SpawnSplashes(EnZo* this) { void EnZo_SpawnSplashes(EnZo* this) {