1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-26 14:46:16 +00:00

Match Interface_Update (#322)

* Match Interface_Update

* z_actor.c func_8002C124
This commit is contained in:
Kelebek1 2020-08-15 19:03:03 +01:00 committed by GitHub
parent d8d789d2a5
commit 337aaf2937
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 1666 deletions

View file

@ -1,480 +0,0 @@
.rdata
glabel D_80136110
.asciz "../z_actor.c"
.balign 4
glabel D_80136120
.asciz "../z_actor.c"
.balign 4
glabel D_80136130
.asciz "../z_actor.c"
.balign 4
glabel D_80136140
.asciz "../z_actor.c"
.balign 4
.late_rodata
glabel D_80136AEC
.float 0.15
glabel D_80136AF0
.float 1.5707964 # M_PI / 2
glabel D_80136AF4
.float 0.001
glabel D_80136AF8
.float 0.049087387
glabel D_80136AFC
.float 0.0000958738
.text
glabel func_8002C124
/* AA32C4 8002C124 27BDFF10 */ addiu $sp, $sp, -0xf0
/* AA32C8 8002C128 AFBF006C */ sw $ra, 0x6c($sp)
/* AA32CC 8002C12C AFBE0068 */ sw $fp, 0x68($sp)
/* AA32D0 8002C130 AFB70064 */ sw $s7, 0x64($sp)
/* AA32D4 8002C134 AFB60060 */ sw $s6, 0x60($sp)
/* AA32D8 8002C138 AFB5005C */ sw $s5, 0x5c($sp)
/* AA32DC 8002C13C AFB40058 */ sw $s4, 0x58($sp)
/* AA32E0 8002C140 AFB30054 */ sw $s3, 0x54($sp)
/* AA32E4 8002C144 AFB20050 */ sw $s2, 0x50($sp)
/* AA32E8 8002C148 AFB1004C */ sw $s1, 0x4c($sp)
/* AA32EC 8002C14C AFB00048 */ sw $s0, 0x48($sp)
/* AA32F0 8002C150 F7BC0040 */ sdc1 $f28, 0x40($sp)
/* AA32F4 8002C154 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* AA32F8 8002C158 F7B80030 */ sdc1 $f24, 0x30($sp)
/* AA32FC 8002C15C F7B60028 */ sdc1 $f22, 0x28($sp)
/* AA3300 8002C160 F7B40020 */ sdc1 $f20, 0x20($sp)
/* AA3304 8002C164 AFA400F0 */ sw $a0, 0xf0($sp)
/* AA3308 8002C168 AFA500F4 */ sw $a1, 0xf4($sp)
/* AA330C 8002C16C 8CA50000 */ lw $a1, ($a1)
/* AA3310 8002C170 8C91003C */ lw $s1, 0x3c($a0)
/* AA3314 8002C174 3C068013 */ lui $a2, %hi(D_80136110) # $a2, 0x8013
/* AA3318 8002C178 24C66110 */ addiu $a2, %lo(D_80136110) # addiu $a2, $a2, 0x6110
/* AA331C 8002C17C 27A400D8 */ addiu $a0, $sp, 0xd8
/* AA3320 8002C180 240707ED */ li $a3, 2029
/* AA3324 8002C184 0C031AB1 */ jal Graph_OpenDisps
/* AA3328 8002C188 00A09825 */ move $s3, $a1
/* AA332C 8002C18C 8FA300F0 */ lw $v1, 0xf0($sp)
/* AA3330 8002C190 8FB800F4 */ lw $t8, 0xf4($sp)
/* AA3334 8002C194 241900FF */ li $t9, 255
/* AA3338 8002C198 84620048 */ lh $v0, 0x48($v1)
/* AA333C 8002C19C 504000FF */ beql $v0, $zero, .L8002C59C
/* AA3340 8002C1A0 8FA300F0 */ lw $v1, 0xf0($sp)
/* AA3344 8002C1A4 8F121C44 */ lw $s2, 0x1c44($t8)
/* AA3348 8002C1A8 A7B900CE */ sh $t9, 0xce($sp)
/* AA334C 8002C1AC 9068004B */ lbu $t0, 0x4b($v1)
/* AA3350 8002C1B0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AA3354 8002C1B4 4481A000 */ mtc1 $at, $f20
/* AA3358 8002C1B8 11000004 */ beqz $t0, .L8002C1CC
/* AA335C 8002C1BC 240A0003 */ li $t2, 3
/* AA3360 8002C1C0 24090001 */ li $t1, 1
/* AA3364 8002C1C4 10000002 */ b .L8002C1D0
/* AA3368 8002C1C8 AFA900B8 */ sw $t1, 0xb8($sp)
.L8002C1CC:
/* AA336C 8002C1CC AFAA00B8 */ sw $t2, 0xb8($sp)
.L8002C1D0:
/* AA3370 8002C1D0 1220000E */ beqz $s1, .L8002C20C
/* AA3374 8002C1D4 244CFF88 */ addiu $t4, $v0, -0x78
/* AA3378 8002C1D8 2470000C */ addiu $s0, $v1, 0xc
/* AA337C 8002C1DC 02002025 */ move $a0, $s0
/* AA3380 8002C1E0 0C01DF90 */ jal Math_Vec3f_Copy
/* AA3384 8002C1E4 26250038 */ addiu $a1, $s1, 0x38
/* AA3388 8002C1E8 8FAB00F0 */ lw $t3, 0xf0($sp)
/* AA338C 8002C1EC 3C0143FA */ li $at, 0x43FA0000 # 0.000000
/* AA3390 8002C1F0 44812000 */ mtc1 $at, $f4
/* AA3394 8002C1F4 C5660044 */ lwc1 $f6, 0x44($t3)
/* AA3398 8002C1F8 3C0143D2 */ li $at, 0x43D20000 # 0.000000
/* AA339C 8002C1FC 44815000 */ mtc1 $at, $f10
/* AA33A0 8002C200 46062201 */ sub.s $f8, $f4, $f6
/* AA33A4 8002C204 10000009 */ b .L8002C22C
/* AA33A8 8002C208 460A4503 */ div.s $f20, $f8, $f10
.L8002C20C:
/* AA33AC 8002C20C A46C0048 */ sh $t4, 0x48($v1)
/* AA33B0 8002C210 84620048 */ lh $v0, 0x48($v1)
/* AA33B4 8002C214 2470000C */ addiu $s0, $v1, 0xc
/* AA33B8 8002C218 04430004 */ bgezl $v0, .L8002C22C
/* AA33BC 8002C21C A7A200CE */ sh $v0, 0xce($sp)
/* AA33C0 8002C220 A4600048 */ sh $zero, 0x48($v1)
/* AA33C4 8002C224 84620048 */ lh $v0, 0x48($v1)
/* AA33C8 8002C228 A7A200CE */ sh $v0, 0xce($sp)
.L8002C22C:
/* AA33CC 8002C22C 8FA400F4 */ lw $a0, 0xf4($sp)
/* AA33D0 8002C230 02002825 */ move $a1, $s0
/* AA33D4 8002C234 27A600BC */ addiu $a2, $sp, 0xbc
/* AA33D8 8002C238 0C00AF81 */ jal func_8002BE04
/* AA33DC 8002C23C 27A700B4 */ addiu $a3, $sp, 0xb4
/* AA33E0 8002C240 C7A000BC */ lwc1 $f0, 0xbc($sp)
/* AA33E4 8002C244 C7AE00B4 */ lwc1 $f14, 0xb4($sp)
/* AA33E8 8002C248 3C01C3A0 */ li $at, 0xC3A00000 # 0.000000
/* AA33EC 8002C24C 44811000 */ mtc1 $at, $f2
/* AA33F0 8002C250 460E0402 */ mul.s $f16, $f0, $f14
/* AA33F4 8002C254 3C014320 */ li $at, 0x43200000 # 0.000000
/* AA33F8 8002C258 44819000 */ mtc1 $at, $f18
/* AA33FC 8002C25C 3C0143A0 */ li $at, 0x43A00000 # 0.000000
/* AA3400 8002C260 240F0002 */ li $t7, 2
/* AA3404 8002C264 46128102 */ mul.s $f4, $f16, $f18
/* AA3408 8002C268 00000000 */ nop
/* AA340C 8002C26C 46142002 */ mul.s $f0, $f4, $f20
/* AA3410 8002C270 4602003C */ c.lt.s $f0, $f2
/* AA3414 8002C274 00000000 */ nop
/* AA3418 8002C278 45000003 */ bc1f .L8002C288
/* AA341C 8002C27C 00000000 */ nop
/* AA3420 8002C280 1000000B */ b .L8002C2B0
/* AA3424 8002C284 E7A200BC */ swc1 $f2, 0xbc($sp)
.L8002C288:
/* AA3428 8002C288 44816000 */ mtc1 $at, $f12
/* AA342C 8002C28C 00000000 */ nop
/* AA3430 8002C290 4600603C */ c.lt.s $f12, $f0
/* AA3434 8002C294 00000000 */ nop
/* AA3438 8002C298 45020004 */ bc1fl .L8002C2AC
/* AA343C 8002C29C 46000086 */ mov.s $f2, $f0
/* AA3440 8002C2A0 10000002 */ b .L8002C2AC
/* AA3444 8002C2A4 46006086 */ mov.s $f2, $f12
/* AA3448 8002C2A8 46000086 */ mov.s $f2, $f0
.L8002C2AC:
/* AA344C 8002C2AC E7A200BC */ swc1 $f2, 0xbc($sp)
.L8002C2B0:
/* AA3450 8002C2B0 C7A000C0 */ lwc1 $f0, 0xc0($sp)
/* AA3454 8002C2B4 3C01C370 */ li $at, 0xC3700000 # 0.000000
/* AA3458 8002C2B8 44811000 */ mtc1 $at, $f2
/* AA345C 8002C2BC 460E0182 */ mul.s $f6, $f0, $f14
/* AA3460 8002C2C0 3C0142F0 */ li $at, 0x42F00000 # 0.000000
/* AA3464 8002C2C4 44814000 */ mtc1 $at, $f8
/* AA3468 8002C2C8 3C014370 */ li $at, 0x43700000 # 0.000000
/* AA346C 8002C2CC 46083282 */ mul.s $f10, $f6, $f8
/* AA3470 8002C2D0 00000000 */ nop
/* AA3474 8002C2D4 46145002 */ mul.s $f0, $f10, $f20
/* AA3478 8002C2D8 4602003C */ c.lt.s $f0, $f2
/* AA347C 8002C2DC 00000000 */ nop
/* AA3480 8002C2E0 45000003 */ bc1f .L8002C2F0
/* AA3484 8002C2E4 00000000 */ nop
/* AA3488 8002C2E8 1000000B */ b .L8002C318
/* AA348C 8002C2EC E7A200C0 */ swc1 $f2, 0xc0($sp)
.L8002C2F0:
/* AA3490 8002C2F0 44816000 */ mtc1 $at, $f12
/* AA3494 8002C2F4 00000000 */ nop
/* AA3498 8002C2F8 4600603C */ c.lt.s $f12, $f0
/* AA349C 8002C2FC 00000000 */ nop
/* AA34A0 8002C300 45020004 */ bc1fl .L8002C314
/* AA34A4 8002C304 46000086 */ mov.s $f2, $f0
/* AA34A8 8002C308 10000002 */ b .L8002C314
/* AA34AC 8002C30C 46006086 */ mov.s $f2, $f12
/* AA34B0 8002C310 46000086 */ mov.s $f2, $f0
.L8002C314:
/* AA34B4 8002C314 E7A200C0 */ swc1 $f2, 0xc0($sp)
.L8002C318:
/* AA34B8 8002C318 C7B000C4 */ lwc1 $f16, 0xc4($sp)
/* AA34BC 8002C31C 8FA400F0 */ lw $a0, 0xf0($sp)
/* AA34C0 8002C320 46148482 */ mul.s $f18, $f16, $f20
/* AA34C4 8002C324 E7B200C4 */ swc1 $f18, 0xc4($sp)
/* AA34C8 8002C328 808D004C */ lb $t5, 0x4c($a0)
/* AA34CC 8002C32C 25AEFFFF */ addiu $t6, $t5, -1
/* AA34D0 8002C330 A08E004C */ sb $t6, 0x4c($a0)
/* AA34D4 8002C334 8085004C */ lb $a1, 0x4c($a0)
/* AA34D8 8002C338 04A30004 */ bgezl $a1, .L8002C34C
/* AA34DC 8002C33C C7A400C4 */ lwc1 $f4, 0xc4($sp)
/* AA34E0 8002C340 A08F004C */ sb $t7, 0x4c($a0)
/* AA34E4 8002C344 8085004C */ lb $a1, 0x4c($a0)
/* AA34E8 8002C348 C7A400C4 */ lwc1 $f4, 0xc4($sp)
.L8002C34C:
/* AA34EC 8002C34C 8FA600BC */ lw $a2, 0xbc($sp)
/* AA34F0 8002C350 8FA700C0 */ lw $a3, 0xc0($sp)
/* AA34F4 8002C354 0C00AF99 */ jal func_8002BE64
/* AA34F8 8002C358 E7A40010 */ swc1 $f4, 0x10($sp)
/* AA34FC 8002C35C 8E58067C */ lw $t8, 0x67c($s2)
/* AA3500 8002C360 24050039 */ li $a1, 57
/* AA3504 8002C364 33190040 */ andi $t9, $t8, 0x40
/* AA3508 8002C368 13200004 */ beqz $t9, .L8002C37C
/* AA350C 8002C36C 00000000 */ nop
/* AA3510 8002C370 8E480664 */ lw $t0, 0x664($s2)
/* AA3514 8002C374 52280089 */ beql $s1, $t0, .L8002C59C
/* AA3518 8002C378 8FA300F0 */ lw $v1, 0xf0($sp)
.L8002C37C:
/* AA351C 8002C37C 0C024DDD */ jal Gfx_CallSetupDL
/* AA3520 8002C380 8E6402B0 */ lw $a0, 0x2b0($s3)
/* AA3524 8002C384 AE6202B0 */ sw $v0, 0x2b0($s3)
/* AA3528 8002C388 8FAA00B8 */ lw $t2, 0xb8($sp)
/* AA352C 8002C38C 8FA900F0 */ lw $t1, 0xf0($sp)
/* AA3530 8002C390 00002025 */ move $a0, $zero
/* AA3534 8002C394 19400080 */ blez $t2, .L8002C598
/* AA3538 8002C398 8125004C */ lb $a1, 0x4c($t1)
/* AA353C 8002C39C 3C0142F0 */ li $at, 0x42F00000 # 0.000000
/* AA3540 8002C3A0 4481E000 */ mtc1 $at, $f28
/* AA3544 8002C3A4 3C018013 */ lui $at, %hi(D_80136AEC)
/* AA3548 8002C3A8 C43A6AEC */ lwc1 $f26, %lo(D_80136AEC)($at)
/* AA354C 8002C3AC 3C018013 */ lui $at, %hi(D_80136AF0)
/* AA3550 8002C3B0 3C17DA38 */ lui $s7, (0xDA380003 >> 16) # lui $s7, 0xda38
/* AA3554 8002C3B4 3C158013 */ lui $s5, %hi(D_80136120)
/* AA3558 8002C3B8 4480A000 */ mtc1 $zero, $f20
/* AA355C 8002C3BC 26B56120 */ addiu $s5, $s5, %lo(D_80136120)
/* AA3560 8002C3C0 36F70003 */ ori $s7, (0xDA380003 & 0xFFFF) # ori $s7, $s7, 3
/* AA3564 8002C3C4 C4386AF0 */ lwc1 $f24, %lo(D_80136AF0)($at)
/* AA3568 8002C3C8 3C1EDE00 */ lui $fp, 0xde00
/* AA356C 8002C3CC 24160004 */ li $s6, 4
.L8002C3D0:
/* AA3570 8002C3D0 8FAB00F0 */ lw $t3, 0xf0($sp)
/* AA3574 8002C3D4 00056080 */ sll $t4, $a1, 2
/* AA3578 8002C3D8 01856021 */ addu $t4, $t4, $a1
/* AA357C 8002C3DC 000C6080 */ sll $t4, $t4, 2
/* AA3580 8002C3E0 3C0143FA */ li $at, 0x43FA0000 # 0.000000
/* AA3584 8002C3E4 016C1021 */ addu $v0, $t3, $t4
/* AA3588 8002C3E8 C446005C */ lwc1 $f6, 0x5c($v0)
/* AA358C 8002C3EC 44814000 */ mtc1 $at, $f8
/* AA3590 8002C3F0 87A300CE */ lh $v1, 0xce($sp)
/* AA3594 8002C3F4 24520050 */ addiu $s2, $v0, 0x50
/* AA3598 8002C3F8 4608303C */ c.lt.s $f6, $f8
/* AA359C 8002C3FC 00003825 */ move $a3, $zero
/* AA35A0 8002C400 45020059 */ bc1fl .L8002C568
/* AA35A4 8002C404 2463FFAB */ addiu $v1, $v1, -0x55
/* AA35A8 8002C408 C64C000C */ lwc1 $f12, 0xc($s2)
/* AA35AC 8002C40C 3C140405 */ lui $s4, %hi(D_0404D450) # $s4, 0x405
/* AA35B0 8002C410 4406A000 */ mfc1 $a2, $f20
/* AA35B4 8002C414 461C603E */ c.le.s $f12, $f28
/* AA35B8 8002C418 2694D450 */ addiu $s4, %lo(D_0404D450) # addiu $s4, $s4, -0x2bb0
/* AA35BC 8002C41C 3C018013 */ lui $at, %hi(D_80136AF4)
/* AA35C0 8002C420 45020004 */ bc1fl .L8002C434
/* AA35C4 8002C424 461C6281 */ sub.s $f10, $f12, $f28
/* AA35C8 8002C428 10000005 */ b .L8002C440
/* AA35CC 8002C42C 4600D586 */ mov.s $f22, $f26
/* AA35D0 8002C430 461C6281 */ sub.s $f10, $f12, $f28
.L8002C434:
/* AA35D4 8002C434 C4306AF4 */ lwc1 $f16, %lo(D_80136AF4)($at)
/* AA35D8 8002C438 46105482 */ mul.s $f18, $f10, $f16
/* AA35DC 8002C43C 461A9580 */ add.s $f22, $f18, $f26
.L8002C440:
/* AA35E0 8002C440 C64C0000 */ lwc1 $f12, ($s2)
/* AA35E4 8002C444 C64E0004 */ lwc1 $f14, 4($s2)
/* AA35E8 8002C448 AFA500AC */ sw $a1, 0xac($sp)
/* AA35EC 8002C44C AFA400B0 */ sw $a0, 0xb0($sp)
/* AA35F0 8002C450 0C034261 */ jal Matrix_Translate
/* AA35F4 8002C454 A7A300CE */ sh $v1, 0xce($sp)
/* AA35F8 8002C458 4600B306 */ mov.s $f12, $f22
/* AA35FC 8002C45C 4600D386 */ mov.s $f14, $f26
/* AA3600 8002C460 3C063F80 */ lui $a2, 0x3f80
/* AA3604 8002C464 0C0342A3 */ jal Matrix_Scale
/* AA3608 8002C468 24070001 */ li $a3, 1
/* AA360C 8002C46C 8E6202B0 */ lw $v0, 0x2b0($s3)
/* AA3610 8002C470 3C0EFA00 */ lui $t6, 0xfa00
/* AA3614 8002C474 3C018013 */ lui $at, %hi(D_80136AF8)
/* AA3618 8002C478 244D0008 */ addiu $t5, $v0, 8
/* AA361C 8002C47C AE6D02B0 */ sw $t5, 0x2b0($s3)
/* AA3620 8002C480 AC4E0000 */ sw $t6, ($v0)
/* AA3624 8002C484 92490011 */ lbu $t1, 0x11($s2)
/* AA3628 8002C488 92580010 */ lbu $t8, 0x10($s2)
/* AA362C 8002C48C 924D0012 */ lbu $t5, 0x12($s2)
/* AA3630 8002C490 93A800CF */ lbu $t0, 0xcf($sp)
/* AA3634 8002C494 00095400 */ sll $t2, $t1, 0x10
/* AA3638 8002C498 0018CE00 */ sll $t9, $t8, 0x18
/* AA363C 8002C49C 032A5825 */ or $t3, $t9, $t2
/* AA3640 8002C4A0 000D7200 */ sll $t6, $t5, 8
/* AA3644 8002C4A4 016E7825 */ or $t7, $t3, $t6
/* AA3648 8002C4A8 01E84825 */ or $t1, $t7, $t0
/* AA364C 8002C4AC AC490004 */ sw $t1, 4($v0)
/* AA3650 8002C4B0 8FB900F0 */ lw $t9, 0xf0($sp)
/* AA3654 8002C4B4 C4286AF8 */ lwc1 $f8, %lo(D_80136AF8)($at)
/* AA3658 8002C4B8 24050001 */ li $a1, 1
/* AA365C 8002C4BC 932A004B */ lbu $t2, 0x4b($t9)
/* AA3660 8002C4C0 314C007F */ andi $t4, $t2, 0x7f
/* AA3664 8002C4C4 448C2000 */ mtc1 $t4, $f4
/* AA3668 8002C4C8 00000000 */ nop
/* AA366C 8002C4CC 468021A0 */ cvt.s.w $f6, $f4
/* AA3670 8002C4D0 46083302 */ mul.s $f12, $f6, $f8
/* AA3674 8002C4D4 0C0343B5 */ jal Matrix_RotateZ
/* AA3678 8002C4D8 00000000 */ nop
/* AA367C 8002C4DC 00008825 */ move $s1, $zero
/* AA3680 8002C4E0 4600C306 */ mov.s $f12, $f24
.L8002C4E4:
/* AA3684 8002C4E4 0C0343B5 */ jal Matrix_RotateZ
/* AA3688 8002C4E8 24050001 */ li $a1, 1
/* AA368C 8002C4EC 0C034213 */ jal Matrix_Push
/* AA3690 8002C4F0 00000000 */ nop
/* AA3694 8002C4F4 C64C000C */ lwc1 $f12, 0xc($s2)
/* AA3698 8002C4F8 4406A000 */ mfc1 $a2, $f20
/* AA369C 8002C4FC 24070001 */ li $a3, 1
/* AA36A0 8002C500 0C034261 */ jal Matrix_Translate
/* AA36A4 8002C504 46006386 */ mov.s $f14, $f12
/* AA36A8 8002C508 8E6202B0 */ lw $v0, 0x2b0($s3)
/* AA36AC 8002C50C 02A02825 */ move $a1, $s5
/* AA36B0 8002C510 24060844 */ li $a2, 2116
/* AA36B4 8002C514 244D0008 */ addiu $t5, $v0, 8
/* AA36B8 8002C518 AE6D02B0 */ sw $t5, 0x2b0($s3)
/* AA36BC 8002C51C AC570000 */ sw $s7, ($v0)
/* AA36C0 8002C520 8FAB00F4 */ lw $t3, 0xf4($sp)
/* AA36C4 8002C524 00408025 */ move $s0, $v0
/* AA36C8 8002C528 0C0346A2 */ jal Matrix_NewMtx
/* AA36CC 8002C52C 8D640000 */ lw $a0, ($t3)
/* AA36D0 8002C530 AE020004 */ sw $v0, 4($s0)
/* AA36D4 8002C534 8E6202B0 */ lw $v0, 0x2b0($s3)
/* AA36D8 8002C538 244E0008 */ addiu $t6, $v0, 8
/* AA36DC 8002C53C AE6E02B0 */ sw $t6, 0x2b0($s3)
/* AA36E0 8002C540 AC540004 */ sw $s4, 4($v0)
/* AA36E4 8002C544 0C034221 */ jal Matrix_Pull
/* AA36E8 8002C548 AC5E0000 */ sw $fp, ($v0)
/* AA36EC 8002C54C 26310001 */ addiu $s1, $s1, 1
/* AA36F0 8002C550 5636FFE4 */ bnel $s1, $s6, .L8002C4E4
/* AA36F4 8002C554 4600C306 */ mov.s $f12, $f24
/* AA36F8 8002C558 8FA500AC */ lw $a1, 0xac($sp)
/* AA36FC 8002C55C 8FA400B0 */ lw $a0, 0xb0($sp)
/* AA3700 8002C560 87A300CE */ lh $v1, 0xce($sp)
/* AA3704 8002C564 2463FFAB */ addiu $v1, $v1, -0x55
.L8002C568:
/* AA3708 8002C568 00031C00 */ sll $v1, $v1, 0x10
/* AA370C 8002C56C 00031C03 */ sra $v1, $v1, 0x10
/* AA3710 8002C570 04610002 */ bgez $v1, .L8002C57C
/* AA3714 8002C574 24A50001 */ addiu $a1, $a1, 1
/* AA3718 8002C578 00001825 */ move $v1, $zero
.L8002C57C:
/* AA371C 8002C57C 24010003 */ li $at, 3
/* AA3720 8002C580 00A1001A */ div $zero, $a1, $at
/* AA3724 8002C584 8FB800B8 */ lw $t8, 0xb8($sp)
/* AA3728 8002C588 00002810 */ mfhi $a1
/* AA372C 8002C58C 24840001 */ addiu $a0, $a0, 1
/* AA3730 8002C590 1498FF8F */ bne $a0, $t8, .L8002C3D0
/* AA3734 8002C594 A7A300CE */ sh $v1, 0xce($sp)
.L8002C598:
/* AA3738 8002C598 8FA300F0 */ lw $v1, 0xf0($sp)
.L8002C59C:
/* AA373C 8002C59C 3C17DA38 */ lui $s7, (0xDA380003 >> 16) # lui $s7, 0xda38
/* AA3740 8002C5A0 36F70003 */ ori $s7, (0xDA380003 & 0xFFFF) # ori $s7, $s7, 3
/* AA3744 8002C5A4 8C710094 */ lw $s1, 0x94($v1)
/* AA3748 8002C5A8 3C1EDE00 */ lui $fp, 0xde00
/* AA374C 8002C5AC 5220006C */ beql $s1, $zero, .L8002C760
/* AA3750 8002C5B0 8FAA00F4 */ lw $t2, 0xf4($sp)
/* AA3754 8002C5B4 8E2F0004 */ lw $t7, 4($s1)
/* AA3758 8002C5B8 3C0A8011 */ lui $t2, %hi(sNaviColorList) # $t2, 0x8011
/* AA375C 8002C5BC 254A5F84 */ addiu $t2, %lo(sNaviColorList) # addiu $t2, $t2, 0x5f84
/* AA3760 8002C5C0 000F4100 */ sll $t0, $t7, 4
/* AA3764 8002C5C4 05020066 */ bltzl $t0, .L8002C760
/* AA3768 8002C5C8 8FAA00F4 */ lw $t2, 0xf4($sp)
/* AA376C 8002C5CC 92290002 */ lbu $t1, 2($s1)
/* AA3770 8002C5D0 8E6402D0 */ lw $a0, 0x2d0($s3)
/* AA3774 8002C5D4 24050007 */ li $a1, 7
/* AA3778 8002C5D8 0009C8C0 */ sll $t9, $t1, 3
/* AA377C 8002C5DC 0C024DDD */ jal Gfx_CallSetupDL
/* AA3780 8002C5E0 032A8021 */ addu $s0, $t9, $t2
/* AA3784 8002C5E4 AE6202D0 */ sw $v0, 0x2d0($s3)
/* AA3788 8002C5E8 C6300054 */ lwc1 $f16, 0x54($s1)
/* AA378C 8002C5EC C62A004C */ lwc1 $f10, 0x4c($s1)
/* AA3790 8002C5F0 C624003C */ lwc1 $f4, 0x3c($s1)
/* AA3794 8002C5F4 3C014188 */ li $at, 0x41880000 # 0.000000
/* AA3798 8002C5F8 46105482 */ mul.s $f18, $f10, $f16
/* AA379C 8002C5FC 44814000 */ mtc1 $at, $f8
/* AA37A0 8002C600 8E260040 */ lw $a2, 0x40($s1)
/* AA37A4 8002C604 C62C0038 */ lwc1 $f12, 0x38($s1)
/* AA37A8 8002C608 00003825 */ move $a3, $zero
/* AA37AC 8002C60C 46122180 */ add.s $f6, $f4, $f18
/* AA37B0 8002C610 0C034261 */ jal Matrix_Translate
/* AA37B4 8002C614 46083380 */ add.s $f14, $f6, $f8
/* AA37B8 8002C618 8FAC00F4 */ lw $t4, 0xf4($sp)
/* AA37BC 8002C61C 3C0D0001 */ li $t5, 0x00010000 # 0.000000
/* AA37C0 8002C620 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* AA37C4 8002C624 01AC6821 */ addu $t5, $t5, $t4
/* AA37C8 8002C628 8DAD1DE4 */ lw $t5, 0x1de4($t5)
/* AA37CC 8002C62C 000D5880 */ sll $t3, $t5, 2
/* AA37D0 8002C630 016D5823 */ subu $t3, $t3, $t5
/* AA37D4 8002C634 000B5900 */ sll $t3, $t3, 4
/* AA37D8 8002C638 016D5823 */ subu $t3, $t3, $t5
/* AA37DC 8002C63C 000B58C0 */ sll $t3, $t3, 3
/* AA37E0 8002C640 016D5823 */ subu $t3, $t3, $t5
/* AA37E4 8002C644 000B58C0 */ sll $t3, $t3, 3
/* AA37E8 8002C648 316EFFFF */ andi $t6, $t3, 0xffff
/* AA37EC 8002C64C 448E5000 */ mtc1 $t6, $f10
/* AA37F0 8002C650 05C10004 */ bgez $t6, .L8002C664
/* AA37F4 8002C654 46805420 */ cvt.s.w $f16, $f10
/* AA37F8 8002C658 44812000 */ mtc1 $at, $f4
/* AA37FC 8002C65C 00000000 */ nop
/* AA3800 8002C660 46048400 */ add.s $f16, $f16, $f4
.L8002C664:
/* AA3804 8002C664 3C018013 */ lui $at, %hi(D_80136AFC)
/* AA3808 8002C668 C4326AFC */ lwc1 $f18, %lo(D_80136AFC)($at)
/* AA380C 8002C66C 24050001 */ li $a1, 1
/* AA3810 8002C670 46128302 */ mul.s $f12, $f16, $f18
/* AA3814 8002C674 0C034348 */ jal Matrix_RotateY
/* AA3818 8002C678 00000000 */ nop
/* AA381C 8002C67C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AA3820 8002C680 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AA3824 8002C684 3C01447A */ li $at, 0x447A0000 # 0.000000
/* AA3828 8002C688 44810000 */ mtc1 $at, $f0
/* AA382C 8002C68C 84590D0E */ lh $t9, 0xd0e($v0)
/* AA3830 8002C690 84580D0A */ lh $t8, 0xd0a($v0)
/* AA3834 8002C694 84480D0C */ lh $t0, 0xd0c($v0)
/* AA3838 8002C698 272A0032 */ addiu $t2, $t9, 0x32
/* AA383C 8002C69C 448A8000 */ mtc1 $t2, $f16
/* AA3840 8002C6A0 270F0023 */ addiu $t7, $t8, 0x23
/* AA3844 8002C6A4 448F3000 */ mtc1 $t7, $f6
/* AA3848 8002C6A8 468084A0 */ cvt.s.w $f18, $f16
/* AA384C 8002C6AC 2509003C */ addiu $t1, $t0, 0x3c
/* AA3850 8002C6B0 44895000 */ mtc1 $t1, $f10
/* AA3854 8002C6B4 24070001 */ li $a3, 1
/* AA3858 8002C6B8 46803220 */ cvt.s.w $f8, $f6
/* AA385C 8002C6BC 46009183 */ div.s $f6, $f18, $f0
/* AA3860 8002C6C0 46805120 */ cvt.s.w $f4, $f10
/* AA3864 8002C6C4 46002383 */ div.s $f14, $f4, $f0
/* AA3868 8002C6C8 44063000 */ mfc1 $a2, $f6
/* AA386C 8002C6CC 0C0342A3 */ jal Matrix_Scale
/* AA3870 8002C6D0 46004303 */ div.s $f12, $f8, $f0
/* AA3874 8002C6D4 8E6202D0 */ lw $v0, 0x2d0($s3)
/* AA3878 8002C6D8 3C0DFA00 */ lui $t5, 0xfa00
/* AA387C 8002C6DC 3C058013 */ lui $a1, %hi(D_80136130) # $a1, 0x8013
/* AA3880 8002C6E0 244C0008 */ addiu $t4, $v0, 8
/* AA3884 8002C6E4 AE6C02D0 */ sw $t4, 0x2d0($s3)
/* AA3888 8002C6E8 AC4D0000 */ sw $t5, ($v0)
/* AA388C 8002C6EC 92080001 */ lbu $t0, 1($s0)
/* AA3890 8002C6F0 920E0000 */ lbu $t6, ($s0)
/* AA3894 8002C6F4 920C0002 */ lbu $t4, 2($s0)
/* AA3898 8002C6F8 00084C00 */ sll $t1, $t0, 0x10
/* AA389C 8002C6FC 000EC600 */ sll $t8, $t6, 0x18
/* AA38A0 8002C700 0309C825 */ or $t9, $t8, $t1
/* AA38A4 8002C704 000C6A00 */ sll $t5, $t4, 8
/* AA38A8 8002C708 032D5825 */ or $t3, $t9, $t5
/* AA38AC 8002C70C 356E00FF */ ori $t6, $t3, 0xff
/* AA38B0 8002C710 AC4E0004 */ sw $t6, 4($v0)
/* AA38B4 8002C714 8E6202D0 */ lw $v0, 0x2d0($s3)
/* AA38B8 8002C718 24A56130 */ addiu $a1, %lo(D_80136130) # addiu $a1, $a1, 0x6130
/* AA38BC 8002C71C 24060869 */ li $a2, 2153
/* AA38C0 8002C720 244F0008 */ addiu $t7, $v0, 8
/* AA38C4 8002C724 AE6F02D0 */ sw $t7, 0x2d0($s3)
/* AA38C8 8002C728 AC570000 */ sw $s7, ($v0)
/* AA38CC 8002C72C 8FA800F4 */ lw $t0, 0xf4($sp)
/* AA38D0 8002C730 00408025 */ move $s0, $v0
/* AA38D4 8002C734 0C0346A2 */ jal Matrix_NewMtx
/* AA38D8 8002C738 8D040000 */ lw $a0, ($t0)
/* AA38DC 8002C73C AE020004 */ sw $v0, 4($s0)
/* AA38E0 8002C740 8E6202D0 */ lw $v0, 0x2d0($s3)
/* AA38E4 8002C744 3C090401 */ lui $t1, %hi(D_0400CB70) # $t1, 0x401
/* AA38E8 8002C748 2529CB70 */ addiu $t1, %lo(D_0400CB70) # addiu $t1, $t1, -0x3490
/* AA38EC 8002C74C 24580008 */ addiu $t8, $v0, 8
/* AA38F0 8002C750 AE7802D0 */ sw $t8, 0x2d0($s3)
/* AA38F4 8002C754 AC490004 */ sw $t1, 4($v0)
/* AA38F8 8002C758 AC5E0000 */ sw $fp, ($v0)
/* AA38FC 8002C75C 8FAA00F4 */ lw $t2, 0xf4($sp)
.L8002C760:
/* AA3900 8002C760 3C068013 */ lui $a2, %hi(D_80136140) # $a2, 0x8013
/* AA3904 8002C764 24C66140 */ addiu $a2, %lo(D_80136140) # addiu $a2, $a2, 0x6140
/* AA3908 8002C768 27A400D8 */ addiu $a0, $sp, 0xd8
/* AA390C 8002C76C 2407086E */ li $a3, 2158
/* AA3910 8002C770 0C031AD5 */ jal Graph_CloseDisps
/* AA3914 8002C774 8D450000 */ lw $a1, ($t2)
/* AA3918 8002C778 8FBF006C */ lw $ra, 0x6c($sp)
/* AA391C 8002C77C D7B40020 */ ldc1 $f20, 0x20($sp)
/* AA3920 8002C780 D7B60028 */ ldc1 $f22, 0x28($sp)
/* AA3924 8002C784 D7B80030 */ ldc1 $f24, 0x30($sp)
/* AA3928 8002C788 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* AA392C 8002C78C D7BC0040 */ ldc1 $f28, 0x40($sp)
/* AA3930 8002C790 8FB00048 */ lw $s0, 0x48($sp)
/* AA3934 8002C794 8FB1004C */ lw $s1, 0x4c($sp)
/* AA3938 8002C798 8FB20050 */ lw $s2, 0x50($sp)
/* AA393C 8002C79C 8FB30054 */ lw $s3, 0x54($sp)
/* AA3940 8002C7A0 8FB40058 */ lw $s4, 0x58($sp)
/* AA3944 8002C7A4 8FB5005C */ lw $s5, 0x5c($sp)
/* AA3948 8002C7A8 8FB60060 */ lw $s6, 0x60($sp)
/* AA394C 8002C7AC 8FB70064 */ lw $s7, 0x64($sp)
/* AA3950 8002C7B0 8FBE0068 */ lw $fp, 0x68($sp)
/* AA3954 8002C7B4 03E00008 */ jr $ra
/* AA3958 8002C7B8 27BD00F0 */ addiu $sp, $sp, 0xf0

File diff suppressed because it is too large Load diff

View file

@ -54,7 +54,7 @@ extern u32 D_04048180;
extern Gfx D_04049210[];
extern u32 D_04049AD0;
//extern ? D_0404D1C0;
extern u32 D_0404D450;
extern Gfx D_0404D450[];
//extern ? D_0500CA70;
//extern ? D_06006CC0;
//extern ? D_06016118;

View file

@ -307,13 +307,11 @@ void func_8002C0C0(TargetContext* targetCtx, Actor* actor, GlobalContext* global
func_8002BE98(targetCtx, actor->type, globalCtx);
}
#ifdef NON_MATCHING
// regalloc and minor ordering differences
void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Actor* actor;
Player* player;
GraphicsContext* gfxCtx;
Actor* actor = targetCtx->targetedActor;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Player* player;
TargetContextEntry* entry;
s16 spCE;
f32 temp1;
@ -326,8 +324,6 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
f32 var2;
s32 i;
actor = targetCtx->targetedActor;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2029);
if (targetCtx->unk_48 != 0) {
@ -355,11 +351,11 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
func_8002BE04(globalCtx, &targetCtx->targetCenterPos, &spBC, &spB4);
temp1 = ((spBC.x * spB4) * 160) * var1;
spBC.x = (temp1 < -320) ? -320 : ((temp1 > 320) ? 320 : temp1);
spBC.x = (160 * (spBC.x * spB4)) * var1;
spBC.x = CLAMP(spBC.x, -320.0f, 320.0f);
temp1 = ((spBC.y * spB4) * 120) * var1;
spBC.y = (temp1 < -240) ? -240 : ((temp1 > 240) ? 240 : temp1);
spBC.y = (120 * (spBC.y * spB4)) * var1;
spBC.y = CLAMP(spBC.y, -240.0f, 240.0f);
spBC.z = spBC.z * var1;
@ -373,7 +369,7 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
if ((!(player->stateFlags1 & 0x40)) || (actor != player->unk_664)) {
gfxCtx->overlay.p = Gfx_CallSetupDL(gfxCtx->overlay.p, 0x39);
for (spB0 = 0, spAC = targetCtx->unk_4C; spB0 < spB8; spB0++) {
for (spB0 = 0, spAC = targetCtx->unk_4C; spB0 < spB8; spB0++, spAC = (spAC + 1) % 3) {
entry = &targetCtx->arr_50[spAC];
if (entry->unk_0C < 500.0f) {
@ -397,16 +393,15 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Matrix_Translate(entry->unk_0C, entry->unk_0C, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2116),
G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->overlay.p++, &D_0404D450);
gSPDisplayList(gfxCtx->overlay.p++, D_0404D450);
Matrix_Pull();
}
}
spCE = spCE - (0xFF / 3);
spCE -= 0xFF / 3;
if (spCE < 0) {
spCE = 0;
}
spAC = (spAC + 1) % 3;
}
}
}
@ -430,9 +425,6 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2158);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_8002C124.s")
#endif
void func_8002C7BC(TargetContext* targetCtx, Player* player, Actor* actorArg, GlobalContext* globalCtx) {
s32 pad;

View file

@ -3960,16 +3960,14 @@ s16 sTimerDigits[5];
#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_Draw.s")
#endif
#ifdef NON_MATCHING
// regalloc and minor ordering differences
void Interface_Update(GlobalContext* globalCtx) {
static u8 D_80125B60 = 0;
static s16 D_80125B64 = 0;
MessageContext* msgCtx = &globalCtx->msgCtx;
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
Player* player = PLAYER;
s16 alpha; // sp+0x3A
s16 alpha1; // sp+0x38
s16 alpha;
s16 alpha1;
u16 action;
Input* input = &globalCtx->state.input[2];
@ -4164,14 +4162,14 @@ void Interface_Update(GlobalContext* globalCtx) {
switch (interfaceCtx->unk_1EC) {
case 1:
interfaceCtx->unk_1F4 = interfaceCtx->unk_1F4 + (31400.0f / WREG(5));
interfaceCtx->unk_1F4 += 31400.0f / WREG(5);
if (interfaceCtx->unk_1F4 >= 15700.0f) {
interfaceCtx->unk_1F4 = -15700.0f;
interfaceCtx->unk_1EC = 2;
}
break;
case 2:
interfaceCtx->unk_1F4 = interfaceCtx->unk_1F4 + (31400.0f / WREG(5));
interfaceCtx->unk_1F4 += 31400.0f / WREG(5);
if (interfaceCtx->unk_1F4 >= 0.0f) {
interfaceCtx->unk_1F4 = 0.0f;
interfaceCtx->unk_1EC = 0;
@ -4184,14 +4182,14 @@ void Interface_Update(GlobalContext* globalCtx) {
}
break;
case 3:
interfaceCtx->unk_1F4 = interfaceCtx->unk_1F4 + (31400.0f / WREG(5));
interfaceCtx->unk_1F4 += 31400.0f / WREG(5);
if (interfaceCtx->unk_1F4 >= 15700.0f) {
interfaceCtx->unk_1F4 = -15700.0f;
interfaceCtx->unk_1EC = 2;
}
break;
case 4:
interfaceCtx->unk_1F4 = interfaceCtx->unk_1F4 + (31400.0f / WREG(5));
interfaceCtx->unk_1F4 += 31400.0f / WREG(5);
if (interfaceCtx->unk_1F4 >= 0.0f) {
interfaceCtx->unk_1F4 = 0.0f;
interfaceCtx->unk_1EC = 0;
@ -4253,8 +4251,7 @@ void Interface_Update(GlobalContext* globalCtx) {
}
}
sHBAScoreDigits[1] = 0;
sHBAScoreDigits[0] = 0;
sHBAScoreDigits[0] = sHBAScoreDigits[1] = 0;
sHBAScoreDigits[2] = 0;
sHBAScoreDigits[3] = gSaveContext.minigameScore;
@ -4289,10 +4286,12 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.unk_1422 = 2;
D_80125B64 = D_8011FB40;
D_8011FB40 = 400;
} else if ((D_80125B60 == 0) && (gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime <= 0xC001)) {
gSaveContext.unk_1422 = 0;
D_8011FB40 = D_80125B64;
globalCtx->msgCtx.unk_E3EE = 4;
} else if (D_80125B60 == 0) {
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime <= 0xC001)) {
gSaveContext.unk_1422 = 0;
D_8011FB40 = D_80125B64;
globalCtx->msgCtx.unk_E3EE = 4;
}
} else if (gSaveContext.dayTime > 0xC001) {
gSaveContext.unk_1422 = 0;
D_8011FB40 = D_80125B64;
@ -4328,8 +4327,3 @@ void Interface_Update(GlobalContext* globalCtx) {
}
}
}
#else
u8 D_80125B60 = 0;
s16 D_80125B64 = 0;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_Update.s")
#endif