diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Destroy.s deleted file mode 100644 index 3b9a906ab2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnGuest_Destroy -/* 000B4 80A502D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000B8 80A502D8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 000BC 80A502DC AFBF0014 */ sw $ra, 0x0014($sp) -/* 000C0 80A502E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 000C4 80A502E4 0C0170EB */ jal Collider_DestroyCylinder - -/* 000C8 80A502E8 24C50254 */ addiu $a1, $a2, 0x0254 ## $a1 = 00000254 -/* 000CC 80A502EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000D0 80A502F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000D4 80A502F4 03E00008 */ jr $ra -/* 000D8 80A502F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Init.s deleted file mode 100644 index 07907bc515..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Init.s +++ /dev/null @@ -1,80 +0,0 @@ -.rdata -glabel D_80A50BB0 - .asciz "" - .balign 4 - -glabel D_80A50BBC - .asciz "%s[%d] : バンクが無いよ!!\n" - .balign 4 - -glabel D_80A50BDC - .asciz "../z_en_guest.c" - .balign 4 - -glabel D_80A50BEC - .asciz "\x1b[m" - .balign 4 - -glabel D_80A50BF0 - .asciz "0" - .balign 4 - -glabel D_80A50BF4 - .asciz "../z_en_guest.c" - .balign 4 - -.text -glabel EnGuest_Init -/* 00000 80A50220 3C0E8016 */ lui $t6, %hi(gSaveContext+0xf06) -/* 00004 80A50224 95CEF566 */ lhu $t6, %lo(gSaveContext+0xf06)($t6) -/* 00008 80A50228 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0000C 80A5022C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00010 80A50230 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000 -/* 00014 80A50234 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00018 80A50238 11E00005 */ beq $t7, $zero, .L80A50250 -/* 0001C 80A5023C 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00020 80A50240 0C00B55C */ jal Actor_Kill - -/* 00024 80A50244 00000000 */ nop -/* 00028 80A50248 1000001F */ beq $zero, $zero, .L80A502C8 -/* 0002C 80A5024C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A50250: -/* 00030 80A50250 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00034 80A50254 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00038 80A50258 00E12021 */ addu $a0, $a3, $at -/* 0003C 80A5025C 240500C5 */ addiu $a1, $zero, 0x00C5 ## $a1 = 000000C5 -/* 00040 80A50260 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00044 80A50264 AFA60018 */ sw $a2, 0x0018($sp) -/* 00048 80A50268 8FA60018 */ lw $a2, 0x0018($sp) -/* 0004C 80A5026C 3C0480A5 */ lui $a0, %hi(D_80A50BB0) ## $a0 = 80A50000 -/* 00050 80A50270 A0C2030C */ sb $v0, 0x030C($a2) ## 0000030C -/* 00054 80A50274 80D8030C */ lb $t8, 0x030C($a2) ## 0000030C -/* 00058 80A50278 07030013 */ bgezl $t8, .L80A502C8 -/* 0005C 80A5027C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00060 80A50280 0C00084C */ jal osSyncPrintf - -/* 00064 80A50284 24840BB0 */ addiu $a0, $a0, %lo(D_80A50BB0) ## $a0 = 80A50BB0 -/* 00068 80A50288 3C0480A5 */ lui $a0, %hi(D_80A50BBC) ## $a0 = 80A50000 -/* 0006C 80A5028C 3C0580A5 */ lui $a1, %hi(D_80A50BDC) ## $a1 = 80A50000 -/* 00070 80A50290 24A50BDC */ addiu $a1, $a1, %lo(D_80A50BDC) ## $a1 = 80A50BDC -/* 00074 80A50294 24840BBC */ addiu $a0, $a0, %lo(D_80A50BBC) ## $a0 = 80A50BBC -/* 00078 80A50298 0C00084C */ jal osSyncPrintf - -/* 0007C 80A5029C 24060081 */ addiu $a2, $zero, 0x0081 ## $a2 = 00000081 -/* 00080 80A502A0 3C0480A5 */ lui $a0, %hi(D_80A50BEC) ## $a0 = 80A50000 -/* 00084 80A502A4 0C00084C */ jal osSyncPrintf - -/* 00088 80A502A8 24840BEC */ addiu $a0, $a0, %lo(D_80A50BEC) ## $a0 = 80A50BEC -/* 0008C 80A502AC 3C0480A5 */ lui $a0, %hi(D_80A50BF0) ## $a0 = 80A50000 -/* 00090 80A502B0 3C0580A5 */ lui $a1, %hi(D_80A50BF4) ## $a1 = 80A50000 -/* 00094 80A502B4 24A50BF4 */ addiu $a1, $a1, %lo(D_80A50BF4) ## $a1 = 80A50BF4 -/* 00098 80A502B8 24840BF0 */ addiu $a0, $a0, %lo(D_80A50BF0) ## $a0 = 80A50BF0 -/* 0009C 80A502BC 0C0007FC */ jal __assert - -/* 000A0 80A502C0 24060084 */ addiu $a2, $zero, 0x0084 ## $a2 = 00000084 -/* 000A4 80A502C4 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A502C8: -/* 000A8 80A502C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000AC 80A502CC 03E00008 */ jr $ra -/* 000B0 80A502D0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Update.s deleted file mode 100644 index 1039422954..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Update.s +++ /dev/null @@ -1,100 +0,0 @@ -glabel EnGuest_Update -/* 000DC 80A502FC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 000E0 80A50300 AFB00024 */ sw $s0, 0x0024($sp) -/* 000E4 80A50304 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 000E8 80A50308 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 000EC 80A5030C AFB10028 */ sw $s1, 0x0028($sp) -/* 000F0 80A50310 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 000F4 80A50314 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 000F8 80A50318 AFBF002C */ sw $ra, 0x002C($sp) -/* 000FC 80A5031C 00A12021 */ addu $a0, $a1, $at -/* 00100 80A50320 0C026062 */ jal Object_IsLoaded - -/* 00104 80A50324 8205030C */ lb $a1, 0x030C($s0) ## 0000030C -/* 00108 80A50328 1040004B */ beq $v0, $zero, .L80A50458 -/* 0010C 80A5032C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00110 80A50330 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004 -/* 00114 80A50334 3C0580A5 */ lui $a1, %hi(D_80A50B9C) ## $a1 = 80A50000 -/* 00118 80A50338 24A50B9C */ addiu $a1, $a1, %lo(D_80A50B9C) ## $a1 = 80A50B9C -/* 0011C 80A5033C 01C17824 */ and $t7, $t6, $at -/* 00120 80A50340 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004 -/* 00124 80A50344 0C01E037 */ jal Actor_ProcessInitChain - -/* 00128 80A50348 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0012C 80A5034C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00130 80A50350 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000 -/* 00134 80A50354 26180190 */ addiu $t8, $s0, 0x0190 ## $t8 = 00000190 -/* 00138 80A50358 261901F0 */ addiu $t9, $s0, 0x01F0 ## $t9 = 000001F0 -/* 0013C 80A5035C 24080010 */ addiu $t0, $zero, 0x0010 ## $t0 = 00000010 -/* 00140 80A50360 AFA80018 */ sw $t0, 0x0018($sp) -/* 00144 80A50364 AFB90014 */ sw $t9, 0x0014($sp) -/* 00148 80A50368 AFB80010 */ sw $t8, 0x0010($sp) -/* 0014C 80A5036C 24C600F0 */ addiu $a2, $a2, 0x00F0 ## $a2 = 060000F0 -/* 00150 80A50370 AFA50030 */ sw $a1, 0x0030($sp) -/* 00154 80A50374 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00158 80A50378 0C0291BE */ jal SkelAnime_InitSV -/* 0015C 80A5037C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00160 80A50380 8209030C */ lb $t1, 0x030C($s0) ## 0000030C -/* 00164 80A50384 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000 -/* 00168 80A50388 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 0016C 80A5038C 00095100 */ sll $t2, $t1, 4 -/* 00170 80A50390 01495021 */ addu $t2, $t2, $t1 -/* 00174 80A50394 000A5080 */ sll $t2, $t2, 2 -/* 00178 80A50398 022A5821 */ addu $t3, $s1, $t2 -/* 0017C 80A5039C 018B6021 */ addu $t4, $t4, $t3 -/* 00180 80A503A0 8D8C17B4 */ lw $t4, 0x17B4($t4) ## 000117B4 -/* 00184 80A503A4 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00188 80A503A8 248442AC */ addiu $a0, $a0, 0x42AC ## $a0 = 060042AC -/* 0018C 80A503AC 01816821 */ addu $t5, $t4, $at -/* 00190 80A503B0 3C018016 */ lui $at, %hi(gSegments+0x18) -/* 00194 80A503B4 0C028800 */ jal SkelAnime_GetFrameCount - -/* 00198 80A503B8 AC2D6FC0 */ sw $t5, %lo(gSegments+0x18)($at) -/* 0019C 80A503BC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 001A0 80A503C0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 001A4 80A503C4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 001A8 80A503C8 468021A0 */ cvt.s.w $f6, $f4 -/* 001AC 80A503CC 44070000 */ mfc1 $a3, $f0 -/* 001B0 80A503D0 24A542AC */ addiu $a1, $a1, 0x42AC ## $a1 = 060042AC -/* 001B4 80A503D4 8FA40030 */ lw $a0, 0x0030($sp) -/* 001B8 80A503D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 001BC 80A503DC AFA00014 */ sw $zero, 0x0014($sp) -/* 001C0 80A503E0 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 001C4 80A503E4 0C029468 */ jal SkelAnime_ChangeAnim - -/* 001C8 80A503E8 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 001CC 80A503EC 3C0E80A5 */ lui $t6, %hi(func_80A509D4) ## $t6 = 80A50000 -/* 001D0 80A503F0 3C0F80A5 */ lui $t7, %hi(func_80A505CC) ## $t7 = 80A50000 -/* 001D4 80A503F4 25CE09D4 */ addiu $t6, $t6, %lo(func_80A509D4) ## $t6 = 80A509D4 -/* 001D8 80A503F8 25EF05CC */ addiu $t7, $t7, %lo(func_80A505CC) ## $t7 = 80A505CC -/* 001DC 80A503FC AE0E0134 */ sw $t6, 0x0134($s0) ## 00000134 -/* 001E0 80A50400 AE0F0130 */ sw $t7, 0x0130($s0) ## 00000130 -/* 001E4 80A50404 26050254 */ addiu $a1, $s0, 0x0254 ## $a1 = 00000254 -/* 001E8 80A50408 AFA50030 */ sw $a1, 0x0030($sp) -/* 001EC 80A5040C 0C0170D9 */ jal Collider_InitCylinder - -/* 001F0 80A50410 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001F4 80A50414 3C0780A5 */ lui $a3, %hi(D_80A50B70) ## $a3 = 80A50000 -/* 001F8 80A50418 8FA50030 */ lw $a1, 0x0030($sp) -/* 001FC 80A5041C 24E70B70 */ addiu $a3, $a3, %lo(D_80A50B70) ## $a3 = 80A50B70 -/* 00200 80A50420 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00204 80A50424 0C017114 */ jal Collider_SetCylinder_Set3 -/* 00208 80A50428 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0020C 80A5042C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00210 80A50430 0C00B56E */ jal Actor_SetHeight - -/* 00214 80A50434 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000 -/* 00218 80A50438 3C1980A5 */ lui $t9, %hi(func_80A50518) ## $t9 = 80A50000 -/* 0021C 80A5043C 2418700D */ addiu $t8, $zero, 0x700D ## $t8 = 0000700D -/* 00220 80A50440 27390518 */ addiu $t9, $t9, %lo(func_80A50518) ## $t9 = 80A50518 -/* 00224 80A50444 A200030E */ sb $zero, 0x030E($s0) ## 0000030E -/* 00228 80A50448 A200030D */ sb $zero, 0x030D($s0) ## 0000030D -/* 0022C 80A5044C A60002CA */ sh $zero, 0x02CA($s0) ## 000002CA -/* 00230 80A50450 A618010E */ sh $t8, 0x010E($s0) ## 0000010E -/* 00234 80A50454 AE190250 */ sw $t9, 0x0250($s0) ## 00000250 -.L80A50458: -/* 00238 80A50458 8FBF002C */ lw $ra, 0x002C($sp) -/* 0023C 80A5045C 8FB00024 */ lw $s0, 0x0024($sp) -/* 00240 80A50460 8FB10028 */ lw $s1, 0x0028($sp) -/* 00244 80A50464 03E00008 */ jr $ra -/* 00248 80A50468 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5046C.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5046C.s deleted file mode 100644 index b993c27396..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5046C.s +++ /dev/null @@ -1,50 +0,0 @@ -glabel func_80A5046C -/* 0024C 80A5046C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00250 80A50470 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00254 80A50474 908E030D */ lbu $t6, 0x030D($a0) ## 0000030D -/* 00258 80A50478 55C0000A */ bnel $t6, $zero, .L80A504A4 -/* 0025C 80A5047C 848202CA */ lh $v0, 0x02CA($a0) ## 000002CA -/* 00260 80A50480 848202CA */ lh $v0, 0x02CA($a0) ## 000002CA -/* 00264 80A50484 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00268 80A50488 10400003 */ beq $v0, $zero, .L80A50498 -/* 0026C 80A5048C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 00270 80A50490 1000001D */ beq $zero, $zero, .L80A50508 -/* 00274 80A50494 A48F02CA */ sh $t7, 0x02CA($a0) ## 000002CA -.L80A50498: -/* 00278 80A50498 1000001B */ beq $zero, $zero, .L80A50508 -/* 0027C 80A5049C A098030D */ sb $t8, 0x030D($a0) ## 0000030D -/* 00280 80A504A0 848202CA */ lh $v0, 0x02CA($a0) ## 000002CA -.L80A504A4: -/* 00284 80A504A4 10400003 */ beq $v0, $zero, .L80A504B4 -/* 00288 80A504A8 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 0028C 80A504AC 10000016 */ beq $zero, $zero, .L80A50508 -/* 00290 80A504B0 A49902CA */ sh $t9, 0x02CA($a0) ## 000002CA -.L80A504B4: -/* 00294 80A504B4 9088030E */ lbu $t0, 0x030E($a0) ## 0000030E -/* 00298 80A504B8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 0029C 80A504BC 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001 -/* 002A0 80A504C0 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000001 -/* 002A4 80A504C4 29410003 */ slti $at, $t2, 0x0003 -/* 002A8 80A504C8 1420000E */ bne $at, $zero, .L80A50504 -/* 002AC 80A504CC A089030E */ sb $t1, 0x030E($a0) ## 0000030E -/* 002B0 80A504D0 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 002B4 80A504D4 A080030E */ sb $zero, 0x030E($a0) ## 0000030E -/* 002B8 80A504D8 A080030D */ sb $zero, 0x030D($a0) ## 0000030D -/* 002BC 80A504DC 44816000 */ mtc1 $at, $f12 ## $f12 = 60.00 -/* 002C0 80A504E0 0C00CFBE */ jal Math_Rand_ZeroFloat - -/* 002C4 80A504E4 AFA40018 */ sw $a0, 0x0018($sp) -/* 002C8 80A504E8 4600010D */ trunc.w.s $f4, $f0 -/* 002CC 80A504EC 8FA40018 */ lw $a0, 0x0018($sp) -/* 002D0 80A504F0 440C2000 */ mfc1 $t4, $f4 -/* 002D4 80A504F4 00000000 */ nop -/* 002D8 80A504F8 258D0014 */ addiu $t5, $t4, 0x0014 ## $t5 = 00000014 -/* 002DC 80A504FC 10000002 */ beq $zero, $zero, .L80A50508 -/* 002E0 80A50500 A48D02CA */ sh $t5, 0x02CA($a0) ## 000002CA -.L80A50504: -/* 002E4 80A50504 A48E02CA */ sh $t6, 0x02CA($a0) ## 000002CA -.L80A50508: -/* 002E8 80A50508 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002EC 80A5050C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002F0 80A50510 03E00008 */ jr $ra -/* 002F4 80A50514 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50518.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50518.s deleted file mode 100644 index 84d7217af4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50518.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80A50518 -/* 002F8 80A50518 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002FC 80A5051C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00300 80A50520 AFA5001C */ sw $a1, 0x001C($sp) -/* 00304 80A50524 0C00BC65 */ jal func_8002F194 -/* 00308 80A50528 AFA40018 */ sw $a0, 0x0018($sp) -/* 0030C 80A5052C 10400005 */ beq $v0, $zero, .L80A50544 -/* 00310 80A50530 8FA40018 */ lw $a0, 0x0018($sp) -/* 00314 80A50534 3C0E80A5 */ lui $t6, %hi(func_80A5057C) ## $t6 = 80A50000 -/* 00318 80A50538 25CE057C */ addiu $t6, $t6, %lo(func_80A5057C) ## $t6 = 80A5057C -/* 0031C 80A5053C 1000000B */ beq $zero, $zero, .L80A5056C -/* 00320 80A50540 AC8E0250 */ sw $t6, 0x0250($a0) ## 00000250 -.L80A50544: -/* 00324 80A50544 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00328 80A50548 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00 -/* 0032C 80A5054C C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090 -/* 00330 80A50550 4600203C */ c.lt.s $f4, $f0 -/* 00334 80A50554 00000000 */ nop -/* 00338 80A50558 45020005 */ bc1fl .L80A50570 -/* 0033C 80A5055C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00340 80A50560 44060000 */ mfc1 $a2, $f0 -/* 00344 80A50564 0C00BCB3 */ jal func_8002F2CC -/* 00348 80A50568 8FA5001C */ lw $a1, 0x001C($sp) -.L80A5056C: -/* 0034C 80A5056C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A50570: -/* 00350 80A50570 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00354 80A50574 03E00008 */ jr $ra -/* 00358 80A50578 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5057C.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5057C.s deleted file mode 100644 index 824d376412..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5057C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80A5057C -/* 0035C 80A5057C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00360 80A50580 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00364 80A50584 AFA40018 */ sw $a0, 0x0018($sp) -/* 00368 80A50588 AFA5001C */ sw $a1, 0x001C($sp) -/* 0036C 80A5058C 0C042F6F */ jal func_8010BDBC -/* 00370 80A50590 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 00374 80A50594 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00378 80A50598 54410009 */ bnel $v0, $at, .L80A505C0 -/* 0037C 80A5059C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00380 80A505A0 0C041AF2 */ jal func_80106BC8 -/* 00384 80A505A4 8FA4001C */ lw $a0, 0x001C($sp) -/* 00388 80A505A8 10400004 */ beq $v0, $zero, .L80A505BC -/* 0038C 80A505AC 8FAF0018 */ lw $t7, 0x0018($sp) -/* 00390 80A505B0 3C0E80A5 */ lui $t6, %hi(func_80A50518) ## $t6 = 80A50000 -/* 00394 80A505B4 25CE0518 */ addiu $t6, $t6, %lo(func_80A50518) ## $t6 = 80A50518 -/* 00398 80A505B8 ADEE0250 */ sw $t6, 0x0250($t7) ## 00000250 -.L80A505BC: -/* 0039C 80A505BC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A505C0: -/* 003A0 80A505C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003A4 80A505C4 03E00008 */ jr $ra -/* 003A8 80A505C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A505CC.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A505CC.s deleted file mode 100644 index 8340aa9f9e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A505CC.s +++ /dev/null @@ -1,86 +0,0 @@ -glabel func_80A505CC -/* 003AC 80A505CC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 003B0 80A505D0 AFBF001C */ sw $ra, 0x001C($sp) -/* 003B4 80A505D4 AFB10018 */ sw $s1, 0x0018($sp) -/* 003B8 80A505D8 AFB00014 */ sw $s0, 0x0014($sp) -/* 003BC 80A505DC 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 003C0 80A505E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003C4 80A505E4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 003C8 80A505E8 AFAE0024 */ sw $t6, 0x0024($sp) -/* 003CC 80A505EC 848F02C8 */ lh $t7, 0x02C8($a0) ## 000002C8 -/* 003D0 80A505F0 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 003D4 80A505F4 0C29411B */ jal func_80A5046C -/* 003D8 80A505F8 A49802C8 */ sh $t8, 0x02C8($a0) ## 000002C8 -/* 003DC 80A505FC 8E190250 */ lw $t9, 0x0250($s0) ## 00000250 -/* 003E0 80A50600 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 003E4 80A50604 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 003E8 80A50608 0320F809 */ jalr $ra, $t9 -/* 003EC 80A5060C 00000000 */ nop -/* 003F0 80A50610 8FA80024 */ lw $t0, 0x0024($sp) -/* 003F4 80A50614 3C0B8016 */ lui $t3, %hi(gSaveContext+4) -/* 003F8 80A50618 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 003FC 80A5061C 8D0A0024 */ lw $t2, 0x0024($t0) ## 00000024 -/* 00400 80A50620 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00404 80A50624 260502A0 */ addiu $a1, $s0, 0x02A0 ## $a1 = 000002A0 -/* 00408 80A50628 AE0A02B8 */ sw $t2, 0x02B8($s0) ## 000002B8 -/* 0040C 80A5062C 8D090028 */ lw $t1, 0x0028($t0) ## 00000028 -/* 00410 80A50630 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006 -/* 00414 80A50634 AE0902BC */ sw $t1, 0x02BC($s0) ## 000002BC -/* 00418 80A50638 8D0A002C */ lw $t2, 0x002C($t0) ## 0000002C -/* 0041C 80A5063C AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 00420 80A50640 8D6BE664 */ lw $t3, %lo(gSaveContext+4)($t3) -/* 00424 80A50644 55600006 */ bnel $t3, $zero, .L80A50660 -/* 00428 80A50648 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00 -/* 0042C 80A5064C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00430 80A50650 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00 -/* 00434 80A50654 10000004 */ beq $zero, $zero, .L80A50668 -/* 00438 80A50658 E60402B4 */ swc1 $f4, 0x02B4($s0) ## 000002B4 -/* 0043C 80A5065C 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -.L80A50660: -/* 00440 80A50660 00000000 */ nop -/* 00444 80A50664 E60602B4 */ swc1 $f6, 0x02B4($s0) ## 000002B4 -.L80A50668: -/* 00448 80A50668 0C00D285 */ jal func_80034A14 -/* 0044C 80A5066C 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002 -/* 00450 80A50670 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00454 80A50674 260502CC */ addiu $a1, $s0, 0x02CC ## $a1 = 000002CC -/* 00458 80A50678 260602EC */ addiu $a2, $s0, 0x02EC ## $a2 = 000002EC -/* 0045C 80A5067C 0C00D3D5 */ jal func_80034F54 -/* 00460 80A50680 24070010 */ addiu $a3, $zero, 0x0010 ## $a3 = 00000010 -/* 00464 80A50684 820C030C */ lb $t4, 0x030C($s0) ## 0000030C -/* 00468 80A50688 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 0046C 80A5068C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00470 80A50690 000C6900 */ sll $t5, $t4, 4 -/* 00474 80A50694 01AC6821 */ addu $t5, $t5, $t4 -/* 00478 80A50698 000D6880 */ sll $t5, $t5, 2 -/* 0047C 80A5069C 022D7021 */ addu $t6, $s1, $t5 -/* 00480 80A506A0 01EE7821 */ addu $t7, $t7, $t6 -/* 00484 80A506A4 8DEF17B4 */ lw $t7, 0x17B4($t7) ## 000117B4 -/* 00488 80A506A8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 0048C 80A506AC 01E1C021 */ addu $t8, $t7, $at -/* 00490 80A506B0 3C018016 */ lui $at, %hi(gSegments+0x18) -/* 00494 80A506B4 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00498 80A506B8 AC386FC0 */ sw $t8, %lo(gSegments+0x18)($at) -/* 0049C 80A506BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A0 80A506C0 0C00B56E */ jal Actor_SetHeight - -/* 004A4 80A506C4 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000 -/* 004A8 80A506C8 26060254 */ addiu $a2, $s0, 0x0254 ## $a2 = 00000254 -/* 004AC 80A506CC 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000254 -/* 004B0 80A506D0 AFA60020 */ sw $a2, 0x0020($sp) -/* 004B4 80A506D4 0C0189B7 */ jal Collider_CylinderUpdate - -/* 004B8 80A506D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004BC 80A506DC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 004C0 80A506E0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 004C4 80A506E4 8FA60020 */ lw $a2, 0x0020($sp) -/* 004C8 80A506E8 02212821 */ addu $a1, $s1, $at -/* 004CC 80A506EC 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 004D0 80A506F0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 004D4 80A506F4 8FBF001C */ lw $ra, 0x001C($sp) -/* 004D8 80A506F8 8FB00014 */ lw $s0, 0x0014($sp) -/* 004DC 80A506FC 8FB10018 */ lw $s1, 0x0018($sp) -/* 004E0 80A50700 03E00008 */ jr $ra -/* 004E4 80A50704 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50708.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50708.s deleted file mode 100644 index 0626fae0ed..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50708.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80A50708 -/* 004E8 80A50708 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 004EC 80A5070C AFBF0014 */ sw $ra, 0x0014($sp) -/* 004F0 80A50710 AFA5001C */ sw $a1, 0x001C($sp) -/* 004F4 80A50714 AFA60020 */ sw $a2, 0x0020($sp) -/* 004F8 80A50718 AFA70024 */ sw $a3, 0x0024($sp) -/* 004FC 80A5071C 0C031A73 */ jal Graph_Alloc - -/* 00500 80A50720 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010 -/* 00504 80A50724 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000 -/* 00508 80A50728 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0050C 80A5072C 93A90023 */ lbu $t1, 0x0023($sp) -/* 00510 80A50730 93B8001F */ lbu $t8, 0x001F($sp) -/* 00514 80A50734 93AD0027 */ lbu $t5, 0x0027($sp) -/* 00518 80A50738 93A8002B */ lbu $t0, 0x002B($sp) -/* 0051C 80A5073C 00095400 */ sll $t2, $t1, 16 -/* 00520 80A50740 0018CE00 */ sll $t9, $t8, 24 -/* 00524 80A50744 032A5825 */ or $t3, $t9, $t2 ## $t3 = 00000000 -/* 00528 80A50748 000D7200 */ sll $t6, $t5, 8 -/* 0052C 80A5074C 016E7825 */ or $t7, $t3, $t6 ## $t7 = FB000000 -/* 00530 80A50750 3C19DF00 */ lui $t9, 0xDF00 ## $t9 = DF000000 -/* 00534 80A50754 01E84825 */ or $t1, $t7, $t0 ## $t1 = FB000000 -/* 00538 80A50758 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -/* 0053C 80A5075C AC590008 */ sw $t9, 0x0008($v0) ## 00000008 -/* 00540 80A50760 AC40000C */ sw $zero, 0x000C($v0) ## 0000000C -/* 00544 80A50764 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00548 80A50768 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0054C 80A5076C 03E00008 */ jr $ra -/* 00550 80A50770 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50774.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50774.s deleted file mode 100644 index f01cb73879..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50774.s +++ /dev/null @@ -1,182 +0,0 @@ -.rdata -glabel D_80A50C04 - .asciz "../z_en_guest.c" - .balign 4 - -glabel D_80A50C14 - .asciz "../z_en_guest.c" - .balign 4 - -.late_rodata -glabel D_80A50C44 - .float 3.14159274101 - -glabel D_80A50C48 - .float 3.14159274101 - -glabel D_80A50C4C - .float 3.14159274101 - -glabel D_80A50C50 - .float 3.14159274101 - -.text -glabel func_80A50774 -/* 00554 80A50774 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00558 80A50778 AFA40048 */ sw $a0, 0x0048($sp) -/* 0055C 80A5077C 8FAE0048 */ lw $t6, 0x0048($sp) -/* 00560 80A50780 AFB00018 */ sw $s0, 0x0018($sp) -/* 00564 80A50784 AFA60050 */ sw $a2, 0x0050($sp) -/* 00568 80A50788 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 0056C 80A5078C AFBF001C */ sw $ra, 0x001C($sp) -/* 00570 80A50790 AFA70054 */ sw $a3, 0x0054($sp) -/* 00574 80A50794 3C0680A5 */ lui $a2, %hi(D_80A50C04) ## $a2 = 80A50000 -/* 00578 80A50798 24C60C04 */ addiu $a2, $a2, %lo(D_80A50C04) ## $a2 = 80A50C04 -/* 0057C 80A5079C 24070160 */ addiu $a3, $zero, 0x0160 ## $a3 = 00000160 -/* 00580 80A507A0 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFE0 -/* 00584 80A507A4 0C031AB1 */ jal Graph_OpenDisps -/* 00588 80A507A8 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000 -/* 0058C 80A507AC 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00590 80A507B0 16010030 */ bne $s0, $at, .L80A50874 -/* 00594 80A507B4 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000 -/* 00598 80A507B8 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 0059C 80A507BC 8FB80050 */ lw $t8, 0x0050($sp) -/* 005A0 80A507C0 3C0144AF */ lui $at, 0x44AF ## $at = 44AF0000 -/* 005A4 80A507C4 25EF59B0 */ addiu $t7, $t7, 0x59B0 ## $t7 = 060059B0 -/* 005A8 80A507C8 44816000 */ mtc1 $at, $f12 ## $f12 = 1400.00 -/* 005AC 80A507CC 44067000 */ mfc1 $a2, $f14 -/* 005B0 80A507D0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 005B4 80A507D4 0C034261 */ jal Matrix_Translate -/* 005B8 80A507D8 AF0F0000 */ sw $t7, 0x0000($t8) ## 00000000 -/* 005BC 80A507DC 8FA8005C */ lw $t0, 0x005C($sp) -/* 005C0 80A507E0 27B9003C */ addiu $t9, $sp, 0x003C ## $t9 = FFFFFFF4 -/* 005C4 80A507E4 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 005C8 80A507E8 890A02A8 */ lwl $t2, 0x02A8($t0) ## 000002A8 -/* 005CC 80A507EC 990A02AB */ lwr $t2, 0x02AB($t0) ## 000002AB -/* 005D0 80A507F0 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 005D4 80A507F4 3C0180A5 */ lui $at, %hi(D_80A50C44) ## $at = 80A50000 -/* 005D8 80A507F8 AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFFF4 -/* 005DC 80A507FC 950A02AC */ lhu $t2, 0x02AC($t0) ## 000002AC -/* 005E0 80A50800 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 005E4 80A50804 A72A0004 */ sh $t2, 0x0004($t9) ## FFFFFFF8 -/* 005E8 80A50808 87AB003E */ lh $t3, 0x003E($sp) -/* 005EC 80A5080C C4300C44 */ lwc1 $f16, %lo(D_80A50C44)($at) -/* 005F0 80A50810 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 005F4 80A50814 00000000 */ nop -/* 005F8 80A50818 468021A0 */ cvt.s.w $f6, $f4 -/* 005FC 80A5081C 46083283 */ div.s $f10, $f6, $f8 -/* 00600 80A50820 46105302 */ mul.s $f12, $f10, $f16 -/* 00604 80A50824 0C0342DC */ jal Matrix_RotateX -/* 00608 80A50828 00000000 */ nop -/* 0060C 80A5082C 87AC003C */ lh $t4, 0x003C($sp) -/* 00610 80A50830 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00614 80A50834 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 00618 80A50838 448C9000 */ mtc1 $t4, $f18 ## $f18 = 0.00 -/* 0061C 80A5083C 3C0180A5 */ lui $at, %hi(D_80A50C48) ## $at = 80A50000 -/* 00620 80A50840 C42A0C48 */ lwc1 $f10, %lo(D_80A50C48)($at) -/* 00624 80A50844 46809120 */ cvt.s.w $f4, $f18 -/* 00628 80A50848 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0062C 80A5084C 46062203 */ div.s $f8, $f4, $f6 -/* 00630 80A50850 460A4302 */ mul.s $f12, $f8, $f10 -/* 00634 80A50854 0C0343B5 */ jal Matrix_RotateZ -/* 00638 80A50858 00000000 */ nop -/* 0063C 80A5085C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 00640 80A50860 3C01C4AF */ lui $at, 0xC4AF ## $at = C4AF0000 -/* 00644 80A50864 44816000 */ mtc1 $at, $f12 ## $f12 = -1400.00 -/* 00648 80A50868 44067000 */ mfc1 $a2, $f14 -/* 0064C 80A5086C 0C034261 */ jal Matrix_Translate -/* 00650 80A50870 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -.L80A50874: -/* 00654 80A50874 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 00658 80A50878 16010021 */ bne $s0, $at, .L80A50900 -/* 0065C 80A5087C 8FAE005C */ lw $t6, 0x005C($sp) -/* 00660 80A50880 89D802AE */ lwl $t8, 0x02AE($t6) ## 000002AE -/* 00664 80A50884 99D802B1 */ lwr $t8, 0x02B1($t6) ## 000002B1 -/* 00668 80A50888 27AD003C */ addiu $t5, $sp, 0x003C ## $t5 = FFFFFFF4 -/* 0066C 80A5088C 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00670 80A50890 ADB80000 */ sw $t8, 0x0000($t5) ## FFFFFFF4 -/* 00674 80A50894 95D802B2 */ lhu $t8, 0x02B2($t6) ## 000002B2 -/* 00678 80A50898 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00 -/* 0067C 80A5089C 3C0180A5 */ lui $at, %hi(D_80A50C4C) ## $at = 80A50000 -/* 00680 80A508A0 A5B80004 */ sh $t8, 0x0004($t5) ## FFFFFFF8 -/* 00684 80A508A4 87B9003E */ lh $t9, 0x003E($sp) -/* 00688 80A508A8 C4280C4C */ lwc1 $f8, %lo(D_80A50C4C)($at) -/* 0068C 80A508AC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00690 80A508B0 00194023 */ subu $t0, $zero, $t9 -/* 00694 80A508B4 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00 -/* 00698 80A508B8 00000000 */ nop -/* 0069C 80A508BC 468084A0 */ cvt.s.w $f18, $f16 -/* 006A0 80A508C0 46049183 */ div.s $f6, $f18, $f4 -/* 006A4 80A508C4 46083302 */ mul.s $f12, $f6, $f8 -/* 006A8 80A508C8 0C0342DC */ jal Matrix_RotateX -/* 006AC 80A508CC 00000000 */ nop -/* 006B0 80A508D0 87A9003C */ lh $t1, 0x003C($sp) -/* 006B4 80A508D4 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 006B8 80A508D8 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00 -/* 006BC 80A508DC 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00 -/* 006C0 80A508E0 3C0180A5 */ lui $at, %hi(D_80A50C50) ## $at = 80A50000 -/* 006C4 80A508E4 C4260C50 */ lwc1 $f6, %lo(D_80A50C50)($at) -/* 006C8 80A508E8 46805420 */ cvt.s.w $f16, $f10 -/* 006CC 80A508EC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 006D0 80A508F0 46128103 */ div.s $f4, $f16, $f18 -/* 006D4 80A508F4 46062302 */ mul.s $f12, $f4, $f6 -/* 006D8 80A508F8 0C0343B5 */ jal Matrix_RotateZ -/* 006DC 80A508FC 00000000 */ nop -.L80A50900: -/* 006E0 80A50900 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 006E4 80A50904 12010005 */ beq $s0, $at, .L80A5091C -/* 006E8 80A50908 8FAA005C */ lw $t2, 0x005C($sp) -/* 006EC 80A5090C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 006F0 80A50910 12010002 */ beq $s0, $at, .L80A5091C -/* 006F4 80A50914 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C -/* 006F8 80A50918 16010022 */ bne $s0, $at, .L80A509A4 -.L80A5091C: -/* 006FC 80A5091C 00105840 */ sll $t3, $s0, 1 -/* 00700 80A50920 014B1821 */ addu $v1, $t2, $t3 -/* 00704 80A50924 846402CC */ lh $a0, 0x02CC($v1) ## 000002CC -/* 00708 80A50928 0C01DE1C */ jal Math_Sins - ## sins? -/* 0070C 80A5092C AFA30020 */ sw $v1, 0x0020($sp) -/* 00710 80A50930 8FA20058 */ lw $v0, 0x0058($sp) -/* 00714 80A50934 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00718 80A50938 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00 -/* 0071C 80A5093C 844C0002 */ lh $t4, 0x0002($v0) ## 00000002 -/* 00720 80A50940 8FA30020 */ lw $v1, 0x0020($sp) -/* 00724 80A50944 46100482 */ mul.s $f18, $f0, $f16 -/* 00728 80A50948 448C4000 */ mtc1 $t4, $f8 ## $f8 = 0.00 -/* 0072C 80A5094C 00000000 */ nop -/* 00730 80A50950 468042A0 */ cvt.s.w $f10, $f8 -/* 00734 80A50954 46125100 */ add.s $f4, $f10, $f18 -/* 00738 80A50958 4600218D */ trunc.w.s $f6, $f4 -/* 0073C 80A5095C 440E3000 */ mfc1 $t6, $f6 -/* 00740 80A50960 00000000 */ nop -/* 00744 80A50964 A44E0002 */ sh $t6, 0x0002($v0) ## 00000002 -/* 00748 80A50968 0C01DE0D */ jal Math_Coss - ## coss? -/* 0074C 80A5096C 846402EC */ lh $a0, 0x02EC($v1) ## 000002EC -/* 00750 80A50970 8FA20058 */ lw $v0, 0x0058($sp) -/* 00754 80A50974 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00758 80A50978 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00 -/* 0075C 80A5097C 844F0004 */ lh $t7, 0x0004($v0) ## 00000004 -/* 00760 80A50980 460A0482 */ mul.s $f18, $f0, $f10 -/* 00764 80A50984 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00 -/* 00768 80A50988 00000000 */ nop -/* 0076C 80A5098C 46804420 */ cvt.s.w $f16, $f8 -/* 00770 80A50990 46128100 */ add.s $f4, $f16, $f18 -/* 00774 80A50994 4600218D */ trunc.w.s $f6, $f4 -/* 00778 80A50998 44193000 */ mfc1 $t9, $f6 -/* 0077C 80A5099C 00000000 */ nop -/* 00780 80A509A0 A4590004 */ sh $t9, 0x0004($v0) ## 00000004 -.L80A509A4: -/* 00784 80A509A4 8FA80048 */ lw $t0, 0x0048($sp) -/* 00788 80A509A8 3C0680A5 */ lui $a2, %hi(D_80A50C14) ## $a2 = 80A50000 -/* 0078C 80A509AC 24C60C14 */ addiu $a2, $a2, %lo(D_80A50C14) ## $a2 = 80A50C14 -/* 00790 80A509B0 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFE0 -/* 00794 80A509B4 24070184 */ addiu $a3, $zero, 0x0184 ## $a3 = 00000184 -/* 00798 80A509B8 0C031AD5 */ jal Graph_CloseDisps -/* 0079C 80A509BC 8D050000 */ lw $a1, 0x0000($t0) ## 00000000 -/* 007A0 80A509C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 007A4 80A509C4 8FB00018 */ lw $s0, 0x0018($sp) -/* 007A8 80A509C8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 007AC 80A509CC 03E00008 */ jr $ra -/* 007B0 80A509D0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A509D4.s b/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A509D4.s deleted file mode 100644 index 5c07d038f3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A509D4.s +++ /dev/null @@ -1,106 +0,0 @@ -.rdata -glabel D_80A50C24 - .asciz "../z_en_guest.c" - .balign 4 - -glabel D_80A50C34 - .asciz "../z_en_guest.c" - .balign 4 - -.text -glabel func_80A509D4 -/* 007B4 80A509D4 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 007B8 80A509D8 AFB1002C */ sw $s1, 0x002C($sp) -/* 007BC 80A509DC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 007C0 80A509E0 AFBF0034 */ sw $ra, 0x0034($sp) -/* 007C4 80A509E4 AFB20030 */ sw $s2, 0x0030($sp) -/* 007C8 80A509E8 AFB00028 */ sw $s0, 0x0028($sp) -/* 007CC 80A509EC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 007D0 80A509F0 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 007D4 80A509F4 3C0680A5 */ lui $a2, %hi(D_80A50C24) ## $a2 = 80A50000 -/* 007D8 80A509F8 24C60C24 */ addiu $a2, $a2, %lo(D_80A50C24) ## $a2 = 80A50C24 -/* 007DC 80A509FC 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 007E0 80A50A00 24070194 */ addiu $a3, $zero, 0x0194 ## $a3 = 00000194 -/* 007E4 80A50A04 0C031AB1 */ jal Graph_OpenDisps -/* 007E8 80A50A08 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 007EC 80A50A0C 0C024F46 */ jal func_80093D18 -/* 007F0 80A50A10 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 007F4 80A50A14 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 007F8 80A50A18 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 007FC 80A50A1C 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020 -/* 00800 80A50A20 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00804 80A50A24 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0 -/* 00808 80A50A28 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 0080C 80A50A2C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00810 80A50A30 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 00814 80A50A34 AFB80010 */ sw $t8, 0x0010($sp) -/* 00818 80A50A38 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 0081C 80A50A3C 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 00820 80A50A40 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 00824 80A50A44 0C2941C2 */ jal func_80A50708 -/* 00828 80A50A48 AFA20048 */ sw $v0, 0x0048($sp) -/* 0082C 80A50A4C 8FA30048 */ lw $v1, 0x0048($sp) -/* 00830 80A50A50 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000 -/* 00834 80A50A54 35080024 */ ori $t0, $t0, 0x0024 ## $t0 = DB060024 -/* 00838 80A50A58 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0083C 80A50A5C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00840 80A50A60 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF -/* 00844 80A50A64 240500A0 */ addiu $a1, $zero, 0x00A0 ## $a1 = 000000A0 -/* 00848 80A50A68 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 0084C 80A50A6C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0 -/* 00850 80A50A70 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 00854 80A50A74 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00858 80A50A78 AFA90010 */ sw $t1, 0x0010($sp) -/* 0085C 80A50A7C 2406003C */ addiu $a2, $zero, 0x003C ## $a2 = 0000003C -/* 00860 80A50A80 240700DC */ addiu $a3, $zero, 0x00DC ## $a3 = 000000DC -/* 00864 80A50A84 0C2941C2 */ jal func_80A50708 -/* 00868 80A50A88 AFA20044 */ sw $v0, 0x0044($sp) -/* 0086C 80A50A8C 8FA30044 */ lw $v1, 0x0044($sp) -/* 00870 80A50A90 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000 -/* 00874 80A50A94 356B0028 */ ori $t3, $t3, 0x0028 ## $t3 = DB060028 -/* 00878 80A50A98 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0087C 80A50A9C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00880 80A50AA0 3C0480A5 */ lui $a0, %hi(D_80A50BA4) ## $a0 = 80A50000 -/* 00884 80A50AA4 3C088016 */ lui $t0, %hi(gSegments) -/* 00888 80A50AA8 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 0088C 80A50AAC AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 00890 80A50AB0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00894 80A50AB4 924C030E */ lbu $t4, 0x030E($s2) ## 0000030E -/* 00898 80A50AB8 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 0089C 80A50ABC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 008A0 80A50AC0 000C6880 */ sll $t5, $t4, 2 -/* 008A4 80A50AC4 008D2021 */ addu $a0, $a0, $t5 -/* 008A8 80A50AC8 8C840BA4 */ lw $a0, %lo(D_80A50BA4)($a0) -/* 008AC 80A50ACC 3C0B80A5 */ lui $t3, %hi(func_80A50774) ## $t3 = 80A50000 -/* 008B0 80A50AD0 256B0774 */ addiu $t3, $t3, %lo(func_80A50774) ## $t3 = 80A50774 -/* 008B4 80A50AD4 00047900 */ sll $t7, $a0, 4 -/* 008B8 80A50AD8 000FC702 */ srl $t8, $t7, 28 -/* 008BC 80A50ADC 0018C880 */ sll $t9, $t8, 2 -/* 008C0 80A50AE0 01194021 */ addu $t0, $t0, $t9 -/* 008C4 80A50AE4 8D086FA8 */ lw $t0, %lo(gSegments)($t0) -/* 008C8 80A50AE8 00817024 */ and $t6, $a0, $at -/* 008CC 80A50AEC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 008D0 80A50AF0 01C84821 */ addu $t1, $t6, $t0 -/* 008D4 80A50AF4 01215021 */ addu $t2, $t1, $at -/* 008D8 80A50AF8 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 008DC 80A50AFC 9247014E */ lbu $a3, 0x014E($s2) ## 0000014E -/* 008E0 80A50B00 8E46016C */ lw $a2, 0x016C($s2) ## 0000016C -/* 008E4 80A50B04 8E450150 */ lw $a1, 0x0150($s2) ## 00000150 -/* 008E8 80A50B08 AFB20018 */ sw $s2, 0x0018($sp) -/* 008EC 80A50B0C AFA00014 */ sw $zero, 0x0014($sp) -/* 008F0 80A50B10 AFAB0010 */ sw $t3, 0x0010($sp) -/* 008F4 80A50B14 0C0286B2 */ jal SkelAnime_DrawSV -/* 008F8 80A50B18 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 008FC 80A50B1C 3C0680A5 */ lui $a2, %hi(D_80A50C34) ## $a2 = 80A50000 -/* 00900 80A50B20 24C60C34 */ addiu $a2, $a2, %lo(D_80A50C34) ## $a2 = 80A50C34 -/* 00904 80A50B24 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 00908 80A50B28 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 0090C 80A50B2C 0C031AD5 */ jal Graph_CloseDisps -/* 00910 80A50B30 240701A5 */ addiu $a3, $zero, 0x01A5 ## $a3 = 000001A5 -/* 00914 80A50B34 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00918 80A50B38 8FB00028 */ lw $s0, 0x0028($sp) -/* 0091C 80A50B3C 8FB1002C */ lw $s1, 0x002C($sp) -/* 00920 80A50B40 8FB20030 */ lw $s2, 0x0030($sp) -/* 00924 80A50B44 03E00008 */ jr $ra -/* 00928 80A50B48 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 0092C 80A50B4C 00000000 */ nop diff --git a/data/overlays/actors/z_en_guest.data.s b/data/overlays/actors/z_en_guest.data.s deleted file mode 100644 index 39012d298e..0000000000 --- a/data/overlays/actors/z_en_guest.data.s +++ /dev/null @@ -1,22 +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 purposee registers - -.section .data - -glabel En_Guest_InitVars - .word 0x01A40400, 0x00000019, 0x01110000, 0x00000310 -.word EnGuest_Init -.word EnGuest_Destroy -.word EnGuest_Update -.word 0x00000000 -glabel D_80A50B70 - .word 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x000A003C, 0x00000000, 0x00000000 -glabel D_80A50B9C - .word 0x801F0006, 0x304C01F4 -glabel D_80A50BA4 - .word 0x060005FC, 0x060006FC, 0x060007FC - diff --git a/data/overlays/actors/z_en_guest.reloc.s b/data/overlays/actors/z_en_guest.reloc.s deleted file mode 100644 index a3b5447d47..0000000000 --- a/data/overlays/actors/z_en_guest.reloc.s +++ /dev/null @@ -1,11 +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 purposee registers - -.section .rodata -glabel D_80A50C60 - -.incbin "baserom/ovl_En_Guest", 0xA40, 0x000000F0 diff --git a/include/functions.h b/include/functions.h index 9f07bf50ba..309ff3eb25 100644 --- a/include/functions.h +++ b/include/functions.h @@ -442,6 +442,7 @@ void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbD void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha); void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2); +void func_80034F54(GlobalContext* globalCtx, s16* arg1, s16* arg2, s32 arg3); void Actor_Noop(Actor* actor, GlobalContext* globalCtx); void Gfx_DrawDListOpa(GlobalContext* globalCtx, u32 dlist); void Gfx_DrawDListXlu(GlobalContext* globalCtx, u32 dlist); diff --git a/include/z64.h b/include/z64.h index 4c26e7bdab..0b84a20eb2 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1141,7 +1141,7 @@ typedef struct { /* 0x14 */ f32 unk_14; /* 0x18 */ Vec3f unk_18; /* 0x24 */ char unk_24[0x4]; -} struct_80034A14_arg1; +} struct_80034A14_arg1; // size = 0x28 typedef struct { /* 0x00 */ s8 scene; diff --git a/spec b/spec index 3213132e13..9ba141e855 100644 --- a/spec +++ b/spec @@ -2614,8 +2614,7 @@ endseg beginseg name "ovl_En_Guest" include "build/src/overlays/actors/ovl_En_Guest/z_en_guest.o" - include "build/data/overlays/actors/z_en_guest.data.o" - include "build/data/overlays/actors/z_en_guest.reloc.o" + include "build/src/overlays/actors/ovl_En_Guest/z_en_guest_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c index 23ef9d9095..70c0ada403 100644 --- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c +++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c @@ -1,4 +1,5 @@ #include "z_en_guest.h" +#include #define FLAGS 0x00000019 @@ -7,8 +8,19 @@ void EnGuest_Init(Actor* thisx, GlobalContext* globalCtx); void EnGuest_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGuest_Update(Actor* thisx, GlobalContext* globalCtx); +void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx); + +void func_80A50518(EnGuest* this, GlobalContext* globalCtx); +void func_80A5057C(EnGuest* this, GlobalContext* globalCtx); +void func_80A505CC(Actor* thisx, GlobalContext* globalCtx); + +extern SkeletonHeader D_060000F0; +extern AnimationHeader D_060042AC; +extern UNK_TYPE D_060005FC; +extern UNK_TYPE D_060006FC; +extern UNK_TYPE D_060007FC; +extern Gfx D_060059B0[]; -/* const ActorInit En_Guest_InitVars = { ACTOR_EN_GUEST, ACTORTYPE_NPC, @@ -20,23 +32,202 @@ const ActorInit En_Guest_InitVars = { (ActorFunc)EnGuest_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Destroy.s") +static ColliderCylinderInit_Set3 sColliderInit = { + { COLTYPE_UNK10, 0x00, 0x00, 0x39, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 10, 60, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/EnGuest_Update.s") +static InitChainEntry sInitChain[] = { + ICHAIN_U8(unk_1F, 6, ICHAIN_CONTINUE), + ICHAIN_F32(unk_4C, 500, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5046C.s") +UNK_PTR D_80A50BA4[] = { + &D_060005FC, + &D_060006FC, + &D_060007FC, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50518.s") +void EnGuest_Init(Actor* thisx, GlobalContext* globalCtx) { + EnGuest* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A5057C.s") + if (gSaveContext.infTable[7] & 0x40) { + Actor_Kill(&this->actor); + } else { + this->osAnimeBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_OS_ANIME); + if (this->osAnimeBankIndex < 0) { + osSyncPrintf(VT_COL(RED, WHITE)); + // No such bank!! + osSyncPrintf("%s[%d] : バンクが無いよ!!\n", "../z_en_guest.c", 129); + osSyncPrintf(VT_RST); + __assert("0", "../z_en_guest.c", 132); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A505CC.s") +void EnGuest_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnGuest* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50708.s") + Collider_DestroyCylinder(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A50774.s") +void EnGuest_Update(Actor* thisx, GlobalContext* globalCtx) { + EnGuest* this = THIS; + u32 padding; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Guest/func_80A509D4.s") + if (Object_IsLoaded(&globalCtx->objectCtx, this->osAnimeBankIndex) != 0) { + this->actor.flags &= ~0x10; + Actor_ProcessInitChain(&this->actor, sInitChain); + + SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable, this->transitionDrawTable, + 16); + gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->osAnimeBankIndex].segment); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060042AC, 1.0f, 0.0f, + SkelAnime_GetFrameCount(&D_060042AC.genericHeader), 0, 0.0f); + + this->actor.draw = EnGuest_Draw; + this->actor.update = func_80A505CC; + + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder_Set3(globalCtx, &this->collider, &this->actor, &sColliderInit); + + Actor_SetHeight(&this->actor, 60.0f); + + this->unk_30E = 0; + this->unk_30D = 0; + this->unk_2CA = 0; + this->actor.textId = 0x700D; + this->actionFunc = func_80A50518; + } +} + +void func_80A5046C(EnGuest* this) { + if (this->unk_30D == 0) { + if (this->unk_2CA != 0) { + this->unk_2CA--; + } else { + this->unk_30D = 1; + } + } else { + if (this->unk_2CA != 0) { + this->unk_2CA--; + } else { + this->unk_30E += 1; + if (this->unk_30E >= 3) { + this->unk_30E = 0; + this->unk_30D = 0; + this->unk_2CA = (s32)Math_Rand_ZeroFloat(60.0f) + 20; + } else { + this->unk_2CA = 1; + } + } + } +} + +void func_80A50518(EnGuest* this, GlobalContext* globalCtx) { + if (func_8002F194(&this->actor, globalCtx) != 0) { + this->actionFunc = func_80A5057C; + } else if (this->actor.xzDistanceFromLink < 100.0f) { + func_8002F2CC(&this->actor, globalCtx, 100.0f); + } +} + +void func_80A5057C(EnGuest* this, GlobalContext* globalCtx) { + if (func_8010BDBC(&globalCtx->msgCtx) == 6) { + if (func_80106BC8(globalCtx) != 0) { + this->actionFunc = func_80A50518; + } + } +} + +void func_80A505CC(Actor* thisx, GlobalContext* globalCtx) { + EnGuest* this = THIS; + u32 padding; + Player* player; + + player = PLAYER; + this->unk_2C8++; + + func_80A5046C(this); + this->actionFunc(this, globalCtx); + + this->unk_2A0.unk_18 = player->actor.posRot.pos; + if (LINK_IS_ADULT) { + this->unk_2A0.unk_14 = 10.0f; + } else { + this->unk_2A0.unk_14 = 20.0f; + } + func_80034A14(&this->actor, &this->unk_2A0, 6, 2); + + func_80034F54(globalCtx, this->unk_2CC, this->unk_2EC, 16); + + gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->osAnimeBankIndex].segment); + + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + Actor_SetHeight(&this->actor, 60.0f); + + Collider_CylinderUpdate(&this->actor, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); +} + +Gfx* func_80A50708(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { + Gfx* dlist; + + dlist = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + gDPSetEnvColor(dlist, r, g, b, a); + gSPEndDisplayList(dlist + 1); + + return dlist; +} + +s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + Actor* thisx) { + EnGuest* this = THIS; + Vec3s sp3C; + Gfx* dispRefs[5]; + + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 352); + + if (limbIndex == 15) { + *dList = D_060059B0; + Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + sp3C = this->unk_2A0.unk_08; + Matrix_RotateX((sp3C.y / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateZ((sp3C.x / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } + + if (limbIndex == 8) { + sp3C = this->unk_2A0.unk_0E; + Matrix_RotateX((-sp3C.y / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateZ((sp3C.x / 32768.0f) * M_PI, MTXMODE_APPLY); + } + + if (limbIndex == 8 || limbIndex == 9 || limbIndex == 12) { + rot->y += Math_Sins(this->unk_2CC[limbIndex]) * 200.0f; + rot->z += Math_Coss(this->unk_2EC[limbIndex]) * 200.0f; + } + + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 388); + + return 0; +} + +void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnGuest* this = THIS; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* dispRefs[5]; + + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 404); + func_80093D18(globalCtx->state.gfxCtx); + + gSPSegment(gfxCtx->polyOpa.p++, 0x08, func_80A50708(globalCtx->state.gfxCtx, 0xFF, 0xFF, 0xFF, 0xFF)); + gSPSegment(gfxCtx->polyOpa.p++, 0x09, func_80A50708(globalCtx->state.gfxCtx, 0xA0, 0x3C, 0xDC, 0xFF)); + gSPSegment(gfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E])); + + SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnGuest_OverrideLimbDraw, NULL, &this->actor); + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 421); +} diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.h b/src/overlays/actors/ovl_En_Guest/z_en_guest.h index e9246f0a02..c6183520cf 100644 --- a/src/overlays/actors/ovl_En_Guest/z_en_guest.h +++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.h @@ -6,9 +6,23 @@ struct EnGuest; +typedef void (*EnGuestActionFunc)(struct EnGuest* this, GlobalContext* globalCtx); + typedef struct EnGuest { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x1C4]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ Vec3s limbDrawTable[16]; + /* 0x01F0 */ Vec3s transitionDrawTable[16]; + /* 0x0250 */ EnGuestActionFunc actionFunc; + /* 0x0254 */ ColliderCylinder collider; + /* 0x02A0 */ struct_80034A14_arg1 unk_2A0; + /* 0x02C8 */ s16 unk_2C8; + /* 0x02CA */ s16 unk_2CA; + /* 0x02CC */ s16 unk_2CC[16]; + /* 0x02EC */ s16 unk_2EC[16]; + /* 0x030C */ s8 osAnimeBankIndex; + /* 0x030D */ u8 unk_30D; + /* 0x030E */ u8 unk_30E; } EnGuest; // size = 0x0310 extern const ActorInit En_Guest_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 45fa4a63c2..a288ad52fe 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -580,3 +580,10 @@ D_0F000000 = 0x0F000000; // z_en_dha D_06000BD8 = 0x06000BD8; D_060015B0 = 0x060015B0; + +// z_en_guest +D_060042AC = 0x060042AC; +D_060005FC = 0x060005FC; +D_060006FC = 0x060006FC; +D_060007FC = 0x060007FC; +D_060059B0 = 0x060059B0;