1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 01:34:18 +00:00

Match func_80B42F74 in Yabusame Mark (#976)

This commit is contained in:
Synray 2021-09-20 11:38:25 -07:00 committed by GitHub
parent bf53f2c95e
commit 1c0503cd3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 358 deletions

View file

@ -1,312 +0,0 @@
.rdata
glabel D_80B4374C
.asciz "\n\n"
.balign 4
glabel D_80B43750
.asciz "\x1b[32m pos %f\n\x1b[m"
.balign 4
glabel D_80B43778
.asciz "\x1b[32m pos %f\n\x1b[m"
.balign 4
glabel D_80B437A0
.asciz "\x1b[32m pos %f\n\x1b[m"
.balign 4
glabel D_80B437C8
.asciz "\x1b[33m hit %f\n\x1b[m"
.balign 4
glabel D_80B437F0
.asciz "\x1b[33m hit %f\n\x1b[m"
.balign 4
glabel D_80B43818
.asciz "\x1b[33m hit %f\n\x1b[m"
.balign 4
glabel D_80B43840
.asciz "\x1b[35m %f\n\x1b[m"
.balign 4
glabel D_80B43868
.asciz "\x1b[35m %f\n\x1b[m"
.balign 4
glabel D_80B43890
.asciz "\x1b[35m point %d\n\x1b[m"
.balign 4
.late_rodata
glabel D_80B438B8
.word 0x0A0A0000, 0x00000000
.text
glabel func_80B42F74
/* 001B4 80B42F74 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 001B8 80B42F78 3C0F80B4 */ lui $t7, %hi(D_80B4365C) ## $t7 = 80B40000
/* 001BC 80B42F7C AFBF001C */ sw $ra, 0x001C($sp)
/* 001C0 80B42F80 AFA40068 */ sw $a0, 0x0068($sp)
/* 001C4 80B42F84 AFA5006C */ sw $a1, 0x006C($sp)
/* 001C8 80B42F88 25EF365C */ addiu $t7, $t7, %lo(D_80B4365C) ## $t7 = 80B4365C
/* 001CC 80B42F8C 8DF90000 */ lw $t9, 0x0000($t7) ## 80B4365C
/* 001D0 80B42F90 27AE005C */ addiu $t6, $sp, 0x005C ## $t6 = FFFFFFF4
/* 001D4 80B42F94 8DF80004 */ lw $t8, 0x0004($t7) ## 80B43660
/* 001D8 80B42F98 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 001DC 80B42F9C 8DF90008 */ lw $t9, 0x0008($t7) ## 80B43664
/* 001E0 80B42FA0 3C0980B4 */ lui $t1, %hi(D_80B43668) ## $t1 = 80B40000
/* 001E4 80B42FA4 25293668 */ addiu $t1, $t1, %lo(D_80B43668) ## $t1 = 80B43668
/* 001E8 80B42FA8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 001EC 80B42FAC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 001F0 80B42FB0 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B43668
/* 001F4 80B42FB4 27A80050 */ addiu $t0, $sp, 0x0050 ## $t0 = FFFFFFE8
/* 001F8 80B42FB8 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B4366C
/* 001FC 80B42FBC AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00200 80B42FC0 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B43670
/* 00204 80B42FC4 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 00208 80B42FC8 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 0020C 80B42FCC 8FAC0068 */ lw $t4, 0x0068($sp)
/* 00210 80B42FD0 918201A1 */ lbu $v0, 0x01A1($t4) ## 000001A1
/* 00214 80B42FD4 304D0002 */ andi $t5, $v0, 0x0002 ## $t5 = 00000000
/* 00218 80B42FD8 11A000D6 */ beq $t5, $zero, .L80B43334
/* 0021C 80B42FDC 304EFFFD */ andi $t6, $v0, 0xFFFD ## $t6 = 00000000
/* 00220 80B42FE0 A18E01A1 */ sb $t6, 0x01A1($t4) ## 000001A1
/* 00224 80B42FE4 8FAF0068 */ lw $t7, 0x0068($sp)
/* 00228 80B42FE8 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 0022C 80B42FEC 8FA4006C */ lw $a0, 0x006C($sp)
/* 00230 80B42FF0 85F801B6 */ lh $t8, 0x01B6($t7) ## 80B43812
/* 00234 80B42FF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00238 80B42FF8 240602BC */ addiu $a2, $zero, 0x02BC ## $a2 = 000002BC
/* 0023C 80B42FFC 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00240 80B43000 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFDC
/* 00244 80B43004 468021A0 */ cvt.s.w $f6, $f4
/* 00248 80B43008 E7A60044 */ swc1 $f6, 0x0044($sp)
/* 0024C 80B4300C 85F901B8 */ lh $t9, 0x01B8($t7) ## 80B43814
/* 00250 80B43010 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
/* 00254 80B43014 00000000 */ nop
/* 00258 80B43018 468042A0 */ cvt.s.w $f10, $f8
/* 0025C 80B4301C 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
/* 00260 80B43020 E7AA0048 */ swc1 $f10, 0x0048($sp)
/* 00264 80B43024 85E801BA */ lh $t0, 0x01BA($t7) ## 80B43816
/* 00268 80B43028 E7A80054 */ swc1 $f8, 0x0054($sp)
/* 0026C 80B4302C 44882000 */ mtc1 $t0, $f4 ## $f4 = NaN
/* 00270 80B43030 00000000 */ nop
/* 00274 80B43034 468021A0 */ cvt.s.w $f6, $f4
/* 00278 80B43038 0C00A732 */ jal EffectSsHitMark_SpawnCustomScale
/* 0027C 80B4303C E7A6004C */ swc1 $f6, 0x004C($sp)
/* 00280 80B43040 8FA60068 */ lw $a2, 0x0068($sp)
/* 00284 80B43044 3C1880B4 */ lui $t8, %hi(D_80B435F0) ## $t8 = 80B40000
/* 00288 80B43048 271835F0 */ addiu $t8, $t8, %lo(D_80B435F0) ## $t8 = 80B435F0
/* 0028C 80B4304C 84CE0152 */ lh $t6, 0x0152($a2) ## 00000152
/* 00290 80B43050 C7A40044 */ lwc1 $f4, 0x0044($sp)
/* 00294 80B43054 84CA0150 */ lh $t2, 0x0150($a2) ## 00000150
/* 00298 80B43058 000E6080 */ sll $t4, $t6, 2
/* 0029C 80B4305C 018E6023 */ subu $t4, $t4, $t6
/* 002A0 80B43060 000C6080 */ sll $t4, $t4, 2
/* 002A4 80B43064 01981821 */ addu $v1, $t4, $t8
/* 002A8 80B43068 C46A0000 */ lwc1 $f10, 0x0000($v1) ## 00000000
/* 002AC 80B4306C C4660004 */ lwc1 $f6, 0x0004($v1) ## 00000004
/* 002B0 80B43070 C7A80048 */ lwc1 $f8, 0x0048($sp)
/* 002B4 80B43074 46045001 */ sub.s $f0, $f10, $f4
/* 002B8 80B43078 3C0D80B4 */ lui $t5, %hi(D_80B4362C) ## $t5 = 80B40000
/* 002BC 80B4307C 25AD362C */ addiu $t5, $t5, %lo(D_80B4362C) ## $t5 = 80B4362C
/* 002C0 80B43080 000A5900 */ sll $t3, $t2, 4
/* 002C4 80B43084 46000305 */ abs.s $f12, $f0
/* 002C8 80B43088 46083001 */ sub.s $f0, $f6, $f8
/* 002CC 80B4308C 016D1021 */ addu $v0, $t3, $t5
/* 002D0 80B43090 C4500000 */ lwc1 $f16, 0x0000($v0) ## 00000000
/* 002D4 80B43094 C7A4004C */ lwc1 $f4, 0x004C($sp)
/* 002D8 80B43098 C46A0008 */ lwc1 $f10, 0x0008($v1) ## 00000008
/* 002DC 80B4309C 460C803C */ c.lt.s $f16, $f12
/* 002E0 80B430A0 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 002E4 80B430A4 46000385 */ abs.s $f14, $f0
/* 002E8 80B430A8 46045001 */ sub.s $f0, $f10, $f4
/* 002EC 80B430AC C4520004 */ lwc1 $f18, 0x0004($v0) ## 00000004
/* 002F0 80B430B0 C4420008 */ lwc1 $f2, 0x0008($v0) ## 00000008
/* 002F4 80B430B4 45010009 */ bc1t .L80B430DC
/* 002F8 80B430B8 46000005 */ abs.s $f0, $f0
/* 002FC 80B430BC 460E803C */ c.lt.s $f16, $f14
/* 00300 80B430C0 00000000 */ nop
/* 00304 80B430C4 45030006 */ bc1tl .L80B430E0
/* 00308 80B430C8 460C903C */ c.lt.s $f18, $f12
/* 0030C 80B430CC 4600803C */ c.lt.s $f16, $f0
/* 00310 80B430D0 00000000 */ nop
/* 00314 80B430D4 45000019 */ bc1f .L80B4313C
/* 00318 80B430D8 00000000 */ nop
.L80B430DC:
/* 0031C 80B430DC 460C903C */ c.lt.s $f18, $f12
.L80B430E0:
/* 00320 80B430E0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00324 80B430E4 4503000A */ bc1tl .L80B43110
/* 00328 80B430E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0032C 80B430EC 460E903C */ c.lt.s $f18, $f14
/* 00330 80B430F0 00000000 */ nop
/* 00334 80B430F4 45030006 */ bc1tl .L80B43110
/* 00338 80B430F8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0033C 80B430FC 4600903C */ c.lt.s $f18, $f0
/* 00340 80B43100 00000000 */ nop
/* 00344 80B43104 45020003 */ bc1fl .L80B43114
/* 00348 80B43108 460C103C */ c.lt.s $f2, $f12
/* 0034C 80B4310C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
.L80B43110:
/* 00350 80B43110 460C103C */ c.lt.s $f2, $f12
.L80B43114:
/* 00354 80B43114 00000000 */ nop
/* 00358 80B43118 45030087 */ bc1tl .L80B43338
/* 0035C 80B4311C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00360 80B43120 460E103C */ c.lt.s $f2, $f14
/* 00364 80B43124 00000000 */ nop
/* 00368 80B43128 45030083 */ bc1tl .L80B43338
/* 0036C 80B4312C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00370 80B43130 4600103C */ c.lt.s $f2, $f0
/* 00374 80B43134 00000000 */ nop
/* 00378 80B43138 4501007E */ bc1t .L80B43334
.L80B4313C:
/* 0037C 80B4313C 3C0480B4 */ lui $a0, %hi(D_80B4374C) ## $a0 = 80B40000
/* 00380 80B43140 2484374C */ addiu $a0, $a0, %lo(D_80B4374C) ## $a0 = 80B4374C
/* 00384 80B43144 AFA50030 */ sw $a1, 0x0030($sp)
/* 00388 80B43148 E7B0002C */ swc1 $f16, 0x002C($sp)
/* 0038C 80B4314C 0C00084C */ jal osSyncPrintf
/* 00390 80B43150 E7B20028 */ swc1 $f18, 0x0028($sp)
/* 00394 80B43154 C7A60044 */ lwc1 $f6, 0x0044($sp)
/* 00398 80B43158 3C0480B4 */ lui $a0, %hi(D_80B43750) ## $a0 = 80B40000
/* 0039C 80B4315C 24843750 */ addiu $a0, $a0, %lo(D_80B43750) ## $a0 = 80B43750
/* 003A0 80B43160 46003221 */ cvt.d.s $f8, $f6
/* 003A4 80B43164 44074000 */ mfc1 $a3, $f8
/* 003A8 80B43168 44064800 */ mfc1 $a2, $f9
/* 003AC 80B4316C 0C00084C */ jal osSyncPrintf
/* 003B0 80B43170 00000000 */ nop
/* 003B4 80B43174 C7AA0048 */ lwc1 $f10, 0x0048($sp)
/* 003B8 80B43178 3C0480B4 */ lui $a0, %hi(D_80B43778) ## $a0 = 80B40000
/* 003BC 80B4317C 24843778 */ addiu $a0, $a0, %lo(D_80B43778) ## $a0 = 80B43778
/* 003C0 80B43180 46005121 */ cvt.d.s $f4, $f10
/* 003C4 80B43184 44072000 */ mfc1 $a3, $f4
/* 003C8 80B43188 44062800 */ mfc1 $a2, $f5
/* 003CC 80B4318C 0C00084C */ jal osSyncPrintf
/* 003D0 80B43190 00000000 */ nop
/* 003D4 80B43194 C7A6004C */ lwc1 $f6, 0x004C($sp)
/* 003D8 80B43198 3C0480B4 */ lui $a0, %hi(D_80B437A0) ## $a0 = 80B40000
/* 003DC 80B4319C 248437A0 */ addiu $a0, $a0, %lo(D_80B437A0) ## $a0 = 80B437A0
/* 003E0 80B431A0 46003221 */ cvt.d.s $f8, $f6
/* 003E4 80B431A4 44074000 */ mfc1 $a3, $f8
/* 003E8 80B431A8 44064800 */ mfc1 $a2, $f9
/* 003EC 80B431AC 0C00084C */ jal osSyncPrintf
/* 003F0 80B431B0 00000000 */ nop
/* 003F4 80B431B4 8FB90068 */ lw $t9, 0x0068($sp)
/* 003F8 80B431B8 3C0180B4 */ lui $at, %hi(D_80B435F0) ## $at = 80B40000
/* 003FC 80B431BC 3C0480B4 */ lui $a0, %hi(D_80B437C8) ## $a0 = 80B40000
/* 00400 80B431C0 872F0152 */ lh $t7, 0x0152($t9) ## 00000152
/* 00404 80B431C4 248437C8 */ addiu $a0, $a0, %lo(D_80B437C8) ## $a0 = 80B437C8
/* 00408 80B431C8 000F4080 */ sll $t0, $t7, 2
/* 0040C 80B431CC 010F4023 */ subu $t0, $t0, $t7
/* 00410 80B431D0 00084080 */ sll $t0, $t0, 2
/* 00414 80B431D4 00280821 */ addu $at, $at, $t0
/* 00418 80B431D8 C42A35F0 */ lwc1 $f10, %lo(D_80B435F0)($at)
/* 0041C 80B431DC 46005121 */ cvt.d.s $f4, $f10
/* 00420 80B431E0 44072000 */ mfc1 $a3, $f4
/* 00424 80B431E4 44062800 */ mfc1 $a2, $f5
/* 00428 80B431E8 0C00084C */ jal osSyncPrintf
/* 0042C 80B431EC 00000000 */ nop
/* 00430 80B431F0 8FA90068 */ lw $t1, 0x0068($sp)
/* 00434 80B431F4 3C0180B4 */ lui $at, %hi(D_80B435F0+4) ## $at = 80B40000
/* 00438 80B431F8 3C0480B4 */ lui $a0, %hi(D_80B437F0) ## $a0 = 80B40000
/* 0043C 80B431FC 852A0152 */ lh $t2, 0x0152($t1) ## 00000152
/* 00440 80B43200 248437F0 */ addiu $a0, $a0, %lo(D_80B437F0) ## $a0 = 80B437F0
/* 00444 80B43204 000A5880 */ sll $t3, $t2, 2
/* 00448 80B43208 016A5823 */ subu $t3, $t3, $t2
/* 0044C 80B4320C 000B5880 */ sll $t3, $t3, 2
/* 00450 80B43210 002B0821 */ addu $at, $at, $t3
/* 00454 80B43214 C42635F4 */ lwc1 $f6, %lo(D_80B435F0+4)($at)
/* 00458 80B43218 46003221 */ cvt.d.s $f8, $f6
/* 0045C 80B4321C 44074000 */ mfc1 $a3, $f8
/* 00460 80B43220 44064800 */ mfc1 $a2, $f9
/* 00464 80B43224 0C00084C */ jal osSyncPrintf
/* 00468 80B43228 00000000 */ nop
/* 0046C 80B4322C 8FAD0068 */ lw $t5, 0x0068($sp)
/* 00470 80B43230 3C0180B4 */ lui $at, %hi(D_80B435F0+8) ## $at = 80B40000
/* 00474 80B43234 3C0480B4 */ lui $a0, %hi(D_80B43818) ## $a0 = 80B40000
/* 00478 80B43238 85AE0152 */ lh $t6, 0x0152($t5) ## 00000152
/* 0047C 80B4323C 24843818 */ addiu $a0, $a0, %lo(D_80B43818) ## $a0 = 80B43818
/* 00480 80B43240 000E6080 */ sll $t4, $t6, 2
/* 00484 80B43244 018E6023 */ subu $t4, $t4, $t6
/* 00488 80B43248 000C6080 */ sll $t4, $t4, 2
/* 0048C 80B4324C 002C0821 */ addu $at, $at, $t4
/* 00490 80B43250 C42A35F8 */ lwc1 $f10, %lo(D_80B435F0+8)($at)
/* 00494 80B43254 46005121 */ cvt.d.s $f4, $f10
/* 00498 80B43258 44072000 */ mfc1 $a3, $f4
/* 0049C 80B4325C 44062800 */ mfc1 $a2, $f5
/* 004A0 80B43260 0C00084C */ jal osSyncPrintf
/* 004A4 80B43264 00000000 */ nop
/* 004A8 80B43268 C7A6002C */ lwc1 $f6, 0x002C($sp)
/* 004AC 80B4326C 3C0480B4 */ lui $a0, %hi(D_80B43840) ## $a0 = 80B40000
/* 004B0 80B43270 24843840 */ addiu $a0, $a0, %lo(D_80B43840) ## $a0 = 80B43840
/* 004B4 80B43274 46003221 */ cvt.d.s $f8, $f6
/* 004B8 80B43278 44074000 */ mfc1 $a3, $f8
/* 004BC 80B4327C 44064800 */ mfc1 $a2, $f9
/* 004C0 80B43280 0C00084C */ jal osSyncPrintf
/* 004C4 80B43284 00000000 */ nop
/* 004C8 80B43288 C7AA0028 */ lwc1 $f10, 0x0028($sp)
/* 004CC 80B4328C 3C0480B4 */ lui $a0, %hi(D_80B43868) ## $a0 = 80B40000
/* 004D0 80B43290 24843868 */ addiu $a0, $a0, %lo(D_80B43868) ## $a0 = 80B43868
/* 004D4 80B43294 46005121 */ cvt.d.s $f4, $f10
/* 004D8 80B43298 44072000 */ mfc1 $a3, $f4
/* 004DC 80B4329C 44062800 */ mfc1 $a2, $f5
/* 004E0 80B432A0 0C00084C */ jal osSyncPrintf
/* 004E4 80B432A4 00000000 */ nop
/* 004E8 80B432A8 3C0480B4 */ lui $a0, %hi(D_80B43890) ## $a0 = 80B40000
/* 004EC 80B432AC 24843890 */ addiu $a0, $a0, %lo(D_80B43890) ## $a0 = 80B43890
/* 004F0 80B432B0 0C00084C */ jal osSyncPrintf
/* 004F4 80B432B4 8FA50030 */ lw $a1, 0x0030($sp)
/* 004F8 80B432B8 3C0480B4 */ lui $a0, %hi(D_80B438B8) ## $a0 = 80B40000
/* 004FC 80B432BC 0C00084C */ jal osSyncPrintf
/* 00500 80B432C0 248438B8 */ addiu $a0, $a0, %lo(D_80B438B8) ## $a0 = 80B438B8
/* 00504 80B432C4 8FB80030 */ lw $t8, 0x0030($sp)
/* 00508 80B432C8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0050C 80B432CC 57010004 */ bnel $t8, $at, .L80B432E0
/* 00510 80B432D0 8FB90030 */ lw $t9, 0x0030($sp)
/* 00514 80B432D4 0C03D719 */ jal func_800F5C64
/* 00518 80B432D8 24040922 */ addiu $a0, $zero, 0x0922 ## $a0 = 00000922
/* 0051C 80B432DC 8FB90030 */ lw $t9, 0x0030($sp)
.L80B432E0:
/* 00520 80B432E0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00524 80B432E4 57210006 */ bnel $t9, $at, .L80B43300
/* 00528 80B432E8 8FAF0030 */ lw $t7, 0x0030($sp)
/* 0052C 80B432EC 0C03E341 */ jal Audio_StopSfx
/* 00530 80B432F0 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 00534 80B432F4 0C01E221 */ jal func_80078884
/* 00538 80B432F8 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 0053C 80B432FC 8FAF0030 */ lw $t7, 0x0030($sp)
.L80B43300:
/* 00540 80B43300 55E00004 */ bnel $t7, $zero, .L80B43314
/* 00544 80B43304 8FA90030 */ lw $t1, 0x0030($sp)
/* 00548 80B43308 0C01E221 */ jal func_80078884
/* 0054C 80B4330C 24044808 */ addiu $a0, $zero, 0x4808 ## $a0 = 00004808
/* 00550 80B43310 8FA90030 */ lw $t1, 0x0030($sp)
.L80B43314:
/* 00554 80B43314 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00558 80B43318 AFA80010 */ sw $t0, 0x0010($sp)
/* 0055C 80B4331C 8FA4006C */ lw $a0, 0x006C($sp)
/* 00560 80B43320 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFDC
/* 00564 80B43324 27A60050 */ addiu $a2, $sp, 0x0050 ## $a2 = FFFFFFE8
/* 00568 80B43328 27A7005C */ addiu $a3, $sp, 0x005C ## $a3 = FFFFFFF4
/* 0056C 80B4332C 0C00A97D */ jal EffectSsExtra_Spawn
/* 00570 80B43330 AFA90014 */ sw $t1, 0x0014($sp)
.L80B43334:
/* 00574 80B43334 8FBF001C */ lw $ra, 0x001C($sp)
.L80B43338:
/* 00578 80B43338 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
/* 0057C 80B4333C 03E00008 */ jr $ra
/* 00580 80B43340 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_80B438C0
.incbin "baserom/ovl_En_Yabusame_Mark", 0xB00, 0x00000100

4
spec
View file

@ -3059,11 +3059,7 @@ endseg
beginseg
name "ovl_En_Yabusame_Mark"
include "build/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Yabusame_Mark/ovl_En_Yabusame_Mark_reloc.o"
#else
include "build/data/overlays/actors/z_en_yabusame_mark.reloc.o"
#endif
endseg
beginseg

View file

@ -54,7 +54,7 @@ static Vec3f sCollisionVertices[] = {
{ 115.0f, 160.0f, -150.0f }, { -50.0f, -140.0f, -160.0f }, { 115.0f, 160.0f, 150.0f }, { -50.0f, -140.0f, 160.0f },
};
static Vec3f D_80B435F0[] = {
static Vec3f sTargetPos[] = {
{ 3382.0f, 1734.0f, -4946.0f }, // small, furthest from entrance
{ 3360.0f, 1734.0f, 495.0f }, // small, closest to entrance
{ 4517.0f, 1682.0f, -1779.0f }, // medium, on the right
@ -62,17 +62,13 @@ static Vec3f D_80B435F0[] = {
{ 4522.0f, 1727.0f, -2296.0f }, // large in the center
};
typedef struct {
/* 0x00 */ f32 unk_0; // first ring
/* 0x04 */ f32 unk_4; // second ring
/* 0x08 */ f32 unk_8; // outside edge
/* 0x0C */ f32 unk_C;
} YabasumeUnkStruct; // size = 0x10
static YabasumeUnkStruct D_80B4362C[] = {
{ 20.0f, 40.0f, 60.0f, 777.0f },
{ 40.0f, 80.0f, 120.0f, 777.0f },
{ 40.0f, 120.0f, 160.0f, 777.0f },
// 0: first ring
// 1: second ring
// 2: outside edge
static f32 sRingDistance[] = {
20.0f, 40.0f, 60.0f, 777.0f, // small
40.0f, 80.0f, 120.0f, 777.0f, // medium
40.0f, 120.0f, 160.0f, 777.0f, // large
};
void EnYabusameMark_Destroy(Actor* thisx, GlobalContext* globalCtx) {
@ -120,8 +116,6 @@ void EnYabusameMark_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc = func_80B42F74;
}
#ifdef NON_MATCHING
// regalloc
void func_80B42F74(EnYabusameMark* this, GlobalContext* globalCtx) {
Vec3f effectAccel = { 0.0f, 0.0f, 0.0f };
Vec3f effectVelocity = { 0.0f, 0.0f, 0.0f };
@ -146,13 +140,13 @@ void func_80B42F74(EnYabusameMark* this, GlobalContext* globalCtx) {
scoreIndex = 2;
scoreDistance100 = D_80B4362C[this->typeIndex].unk_0;
scoreDistance60 = D_80B4362C[this->typeIndex].unk_4;
scoreDistance30 = D_80B4362C[this->typeIndex].unk_8;
// Needs to skip a t register somewhere around here.
distanceFromCenter.x = fabsf(D_80B435F0[this->subTypeIndex].x - arrowHitPos.x);
distanceFromCenter.y = fabsf(D_80B435F0[this->subTypeIndex].y - arrowHitPos.y);
distanceFromCenter.z = fabsf(D_80B435F0[this->subTypeIndex].z - arrowHitPos.z);
scoreDistance100 = sRingDistance[this->typeIndex * 4 + 0];
scoreDistance60 = sRingDistance[this->typeIndex * 4 + 1];
scoreDistance30 = sRingDistance[this->typeIndex * 4 + 2];
distanceFromCenter.x = fabsf(sTargetPos[this->subTypeIndex].x - arrowHitPos.x);
distanceFromCenter.y = fabsf(sTargetPos[this->subTypeIndex].y - arrowHitPos.y);
distanceFromCenter.z = fabsf(sTargetPos[this->subTypeIndex].z - arrowHitPos.z);
if (distanceFromCenter.x > scoreDistance100 || distanceFromCenter.y > scoreDistance100 ||
distanceFromCenter.z > scoreDistance100) {
@ -171,9 +165,9 @@ void func_80B42F74(EnYabusameMark* this, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ pos ☆☆☆☆☆ %f\n" VT_RST, arrowHitPos.x);
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ pos ☆☆☆☆☆ %f\n" VT_RST, arrowHitPos.y);
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ pos ☆☆☆☆☆ %f\n" VT_RST, arrowHitPos.z);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, D_80B435F0[this->subTypeIndex].x);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, D_80B435F0[this->subTypeIndex].y);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, D_80B435F0[this->subTypeIndex].z);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].x);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].y);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].z);
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 小 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance100);
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 大 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance60);
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ point ☆☆☆☆☆ %d\n" VT_RST, scoreIndex);
@ -192,11 +186,6 @@ void func_80B42F74(EnYabusameMark* this, GlobalContext* globalCtx) {
EffectSsExtra_Spawn(globalCtx, &arrowHitPos, &effectVelocity, &effectAccel, 5, scoreIndex);
}
}
#else
static Vec3f D_80B4365C = { 0.0f, 0.0f, 0.0f };
static Vec3f D_80B43668 = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Yabusame_Mark/func_80B42F74.s")
#endif
void EnYabusameMark_Update(Actor* thisx, GlobalContext* globalCtx) {
EnYabusameMark* this = THIS;