From 0453c7d3cfe47eb65b68ac4c36cd174ff857add5 Mon Sep 17 00:00:00 2001 From: maekclena Date: Sat, 21 Nov 2020 22:03:20 +0100 Subject: [PATCH] ovl_En_Siofuki (#456) * ovl_En_Siofuki * PR review * Rebase * PR review --- .../actors/ovl_En_Siofuki/EnSiofuki_Destroy.s | 14 - .../actors/ovl_En_Siofuki/EnSiofuki_Draw.s | 168 ---------- .../actors/ovl_En_Siofuki/EnSiofuki_Init.s | 163 ---------- .../actors/ovl_En_Siofuki/EnSiofuki_Update.s | 10 - .../actors/ovl_En_Siofuki/func_80AFBDC8.s | 60 ---- .../actors/ovl_En_Siofuki/func_80AFBE8C.s | 232 -------------- .../actors/ovl_En_Siofuki/func_80AFC1D0.s | 25 -- .../actors/ovl_En_Siofuki/func_80AFC218.s | 87 ----- .../actors/ovl_En_Siofuki/func_80AFC34C.s | 34 -- .../actors/ovl_En_Siofuki/func_80AFC3C8.s | 48 --- .../actors/ovl_En_Siofuki/func_80AFC478.s | 56 ---- .../actors/ovl_En_Siofuki/func_80AFC544.s | 13 - data/overlays/actors/z_en_siofuki.data.s | 20 -- data/overlays/actors/z_en_siofuki.reloc.s | 13 - spec | 3 +- .../actors/ovl_En_Siofuki/z_en_siofuki.c | 296 +++++++++++++++++- .../actors/ovl_En_Siofuki/z_en_siofuki.h | 26 +- 17 files changed, 307 insertions(+), 961 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBDC8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBE8C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC1D0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC218.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC34C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC3C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC478.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC544.s delete mode 100644 data/overlays/actors/z_en_siofuki.data.s delete mode 100644 data/overlays/actors/z_en_siofuki.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Destroy.s deleted file mode 100644 index 885e0d7246..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel EnSiofuki_Destroy -/* 00218 80AFBD98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0021C 80AFBD9C AFA40018 */ sw $a0, 0x0018($sp) -/* 00220 80AFBDA0 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00224 80AFBDA4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00228 80AFBDA8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0022C 80AFBDAC 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00230 80AFBDB0 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00234 80AFBDB4 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 00238 80AFBDB8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0023C 80AFBDBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00240 80AFBDC0 03E00008 */ jr $ra -/* 00244 80AFBDC4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Draw.s deleted file mode 100644 index 73446970fd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Draw.s +++ /dev/null @@ -1,168 +0,0 @@ -.rdata -glabel D_80AFC820 - .asciz "../z_en_siofuki.c" - .balign 4 - -glabel D_80AFC834 - .asciz "../z_en_siofuki.c" - .balign 4 - -glabel D_80AFC848 - .asciz "../z_en_siofuki.c" - .balign 4 - -.text -glabel EnSiofuki_Draw -/* 00A18 80AFC598 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 00A1C 80AFC59C 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 00A20 80AFC5A0 AFBF003C */ sw $ra, 0x003C($sp) -/* 00A24 80AFC5A4 AFB10038 */ sw $s1, 0x0038($sp) -/* 00A28 80AFC5A8 AFB00034 */ sw $s0, 0x0034($sp) -/* 00A2C 80AFC5AC AFA50084 */ sw $a1, 0x0084($sp) -/* 00A30 80AFC5B0 01E57821 */ addu $t7, $t7, $a1 -/* 00A34 80AFC5B4 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4 -/* 00A38 80AFC5B8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00A3C 80AFC5BC 3C0680B0 */ lui $a2, %hi(D_80AFC820) ## $a2 = 80B00000 -/* 00A40 80AFC5C0 AFAF0070 */ sw $t7, 0x0070($sp) -/* 00A44 80AFC5C4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00A48 80AFC5C8 24C6C820 */ addiu $a2, $a2, %lo(D_80AFC820) ## $a2 = 80AFC820 -/* 00A4C 80AFC5CC 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFDC -/* 00A50 80AFC5D0 2407028E */ addiu $a3, $zero, 0x028E ## $a3 = 0000028E -/* 00A54 80AFC5D4 0C031AB1 */ jal Graph_OpenDisps -/* 00A58 80AFC5D8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00A5C 80AFC5DC 8FB80084 */ lw $t8, 0x0084($sp) -/* 00A60 80AFC5E0 0C024F61 */ jal func_80093D84 -/* 00A64 80AFC5E4 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 00A68 80AFC5E8 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00A6C 80AFC5EC C62E0170 */ lwc1 $f14, 0x0170($s1) ## 00000170 -/* 00A70 80AFC5F0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00A74 80AFC5F4 44066000 */ mfc1 $a2, $f12 -/* 00A78 80AFC5F8 0C034261 */ jal Matrix_Translate -/* 00A7C 80AFC5FC 00000000 */ nop -/* 00A80 80AFC600 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00A84 80AFC604 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00A88 80AFC608 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00A8C 80AFC60C 44066000 */ mfc1 $a2, $f12 -/* 00A90 80AFC610 0C0342A3 */ jal Matrix_Scale -/* 00A94 80AFC614 46006386 */ mov.s $f14, $f12 -/* 00A98 80AFC618 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00A9C 80AFC61C 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 00AA0 80AFC620 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 00AA4 80AFC624 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00AA8 80AFC628 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 00AAC 80AFC62C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00AB0 80AFC630 8FAA0084 */ lw $t2, 0x0084($sp) -/* 00AB4 80AFC634 3C0580B0 */ lui $a1, %hi(D_80AFC834) ## $a1 = 80B00000 -/* 00AB8 80AFC638 24A5C834 */ addiu $a1, $a1, %lo(D_80AFC834) ## $a1 = 80AFC834 -/* 00ABC 80AFC63C 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00AC0 80AFC640 24060296 */ addiu $a2, $zero, 0x0296 ## $a2 = 00000296 -/* 00AC4 80AFC644 0C0346A2 */ jal Matrix_NewMtx -/* 00AC8 80AFC648 AFA20058 */ sw $v0, 0x0058($sp) -/* 00ACC 80AFC64C 8FA30058 */ lw $v1, 0x0058($sp) -/* 00AD0 80AFC650 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 00AD4 80AFC654 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020 -/* 00AD8 80AFC658 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00ADC 80AFC65C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00AE0 80AFC660 8FA80070 */ lw $t0, 0x0070($sp) -/* 00AE4 80AFC664 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 00AE8 80AFC668 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00AEC 80AFC66C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00AF0 80AFC670 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00AF4 80AFC674 8FAD0084 */ lw $t5, 0x0084($sp) -/* 00AF8 80AFC678 00080823 */ subu $at, $zero, $t0 -/* 00AFC 80AFC67C 00013900 */ sll $a3, $at, 4 -/* 00B00 80AFC680 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000 -/* 00B04 80AFC684 00083100 */ sll $a2, $t0, 4 -/* 00B08 80AFC688 00E13823 */ subu $a3, $a3, $at -/* 00B0C 80AFC68C 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 00B10 80AFC690 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00B14 80AFC694 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 00B18 80AFC698 24090040 */ addiu $t1, $zero, 0x0040 ## $t1 = 00000040 -/* 00B1C 80AFC69C 00C83023 */ subu $a2, $a2, $t0 -/* 00B20 80AFC6A0 AFA6001C */ sw $a2, 0x001C($sp) -/* 00B24 80AFC6A4 AFA90028 */ sw $t1, 0x0028($sp) -/* 00B28 80AFC6A8 AFB90024 */ sw $t9, 0x0024($sp) -/* 00B2C 80AFC6AC AFB80018 */ sw $t8, 0x0018($sp) -/* 00B30 80AFC6B0 AFAE0014 */ sw $t6, 0x0014($sp) -/* 00B34 80AFC6B4 AFA70020 */ sw $a3, 0x0020($sp) -/* 00B38 80AFC6B8 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00B3C 80AFC6BC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00B40 80AFC6C0 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00B44 80AFC6C4 AFA20054 */ sw $v0, 0x0054($sp) -/* 00B48 80AFC6C8 8FA30054 */ lw $v1, 0x0054($sp) -/* 00B4C 80AFC6CC 3C0C0600 */ lui $t4, 0x0600 ## $t4 = 06000000 -/* 00B50 80AFC6D0 258C0B70 */ addiu $t4, $t4, 0x0B70 ## $t4 = 06000B70 -/* 00B54 80AFC6D4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00B58 80AFC6D8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00B5C 80AFC6DC 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 00B60 80AFC6E0 3C0680B0 */ lui $a2, %hi(D_80AFC848) ## $a2 = 80B00000 -/* 00B64 80AFC6E4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00B68 80AFC6E8 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 00B6C 80AFC6EC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00B70 80AFC6F0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00B74 80AFC6F4 8FAD0084 */ lw $t5, 0x0084($sp) -/* 00B78 80AFC6F8 24C6C848 */ addiu $a2, $a2, %lo(D_80AFC848) ## $a2 = 80AFC848 -/* 00B7C 80AFC6FC 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFDC -/* 00B80 80AFC700 240702A2 */ addiu $a3, $zero, 0x02A2 ## $a3 = 000002A2 -/* 00B84 80AFC704 0C031AD5 */ jal Graph_CloseDisps -/* 00B88 80AFC708 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000 -/* 00B8C 80AFC70C 922F019C */ lbu $t7, 0x019C($s1) ## 0000019C -/* 00B90 80AFC710 31EE0001 */ andi $t6, $t7, 0x0001 ## $t6 = 00000000 -/* 00B94 80AFC714 51C00030 */ beql $t6, $zero, .L80AFC7D8 -/* 00B98 80AFC718 8FBF003C */ lw $ra, 0x003C($sp) -/* 00B9C 80AFC71C 9622001C */ lhu $v0, 0x001C($s1) ## 0000001C -/* 00BA0 80AFC720 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00BA4 80AFC724 00021303 */ sra $v0, $v0, 12 -/* 00BA8 80AFC728 3042000F */ andi $v0, $v0, 0x000F ## $v0 = 00000000 -/* 00BAC 80AFC72C 50400007 */ beql $v0, $zero, .L80AFC74C -/* 00BB0 80AFC730 C6240180 */ lwc1 $f4, 0x0180($s1) ## 00000180 -/* 00BB4 80AFC734 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00BB8 80AFC738 50410014 */ beql $v0, $at, .L80AFC78C -/* 00BBC 80AFC73C 3C01C20C */ lui $at, 0xC20C ## $at = C20C0000 -/* 00BC0 80AFC740 10000025 */ beq $zero, $zero, .L80AFC7D8 -/* 00BC4 80AFC744 8FBF003C */ lw $ra, 0x003C($sp) -/* 00BC8 80AFC748 C6240180 */ lwc1 $f4, 0x0180($s1) ## 00000180 -.L80AFC74C: -/* 00BCC 80AFC74C 44813000 */ mtc1 $at, $f6 ## $f6 = -35.00 -/* 00BD0 80AFC750 3C0143C3 */ lui $at, 0x43C3 ## $at = 43C30000 -/* 00BD4 80AFC754 44815000 */ mtc1 $at, $f10 ## $f10 = 390.00 -/* 00BD8 80AFC758 46062201 */ sub.s $f8, $f4, $f6 -/* 00BDC 80AFC75C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00BE0 80AFC760 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00 -/* 00BE4 80AFC764 262400E4 */ addiu $a0, $s1, 0x00E4 ## $a0 = 000000E4 -/* 00BE8 80AFC768 460A4003 */ div.s $f0, $f8, $f10 -/* 00BEC 80AFC76C 24052041 */ addiu $a1, $zero, 0x2041 ## $a1 = 00002041 -/* 00BF0 80AFC770 46008480 */ add.s $f18, $f16, $f0 -/* 00BF4 80AFC774 44069000 */ mfc1 $a2, $f18 -/* 00BF8 80AFC778 0C03D0DB */ jal func_800F436C -/* 00BFC 80AFC77C 00000000 */ nop -/* 00C00 80AFC780 10000015 */ beq $zero, $zero, .L80AFC7D8 -/* 00C04 80AFC784 8FBF003C */ lw $ra, 0x003C($sp) -/* 00C08 80AFC788 3C01C20C */ lui $at, 0xC20C ## $at = C20C0000 -.L80AFC78C: -/* 00C0C 80AFC78C 44816000 */ mtc1 $at, $f12 ## $f12 = -35.00 -/* 00C10 80AFC790 C6220180 */ lwc1 $f2, 0x0180($s1) ## 00000180 -/* 00C14 80AFC794 4602603C */ c.lt.s $f12, $f2 -/* 00C18 80AFC798 00000000 */ nop -/* 00C1C 80AFC79C 4502000E */ bc1fl .L80AFC7D8 -/* 00C20 80AFC7A0 8FBF003C */ lw $ra, 0x003C($sp) -/* 00C24 80AFC7A4 C6260198 */ lwc1 $f6, 0x0198($s1) ## 00000198 -/* 00C28 80AFC7A8 460C1101 */ sub.s $f4, $f2, $f12 -/* 00C2C 80AFC7AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00C30 80AFC7B0 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00 -/* 00C34 80AFC7B4 460C3201 */ sub.s $f8, $f6, $f12 -/* 00C38 80AFC7B8 262400E4 */ addiu $a0, $s1, 0x00E4 ## $a0 = 000000E4 -/* 00C3C 80AFC7BC 24052041 */ addiu $a1, $zero, 0x2041 ## $a1 = 00002041 -/* 00C40 80AFC7C0 46082003 */ div.s $f0, $f4, $f8 -/* 00C44 80AFC7C4 46005400 */ add.s $f16, $f10, $f0 -/* 00C48 80AFC7C8 44068000 */ mfc1 $a2, $f16 -/* 00C4C 80AFC7CC 0C03D0DB */ jal func_800F436C -/* 00C50 80AFC7D0 00000000 */ nop -/* 00C54 80AFC7D4 8FBF003C */ lw $ra, 0x003C($sp) -.L80AFC7D8: -/* 00C58 80AFC7D8 8FB00034 */ lw $s0, 0x0034($sp) -/* 00C5C 80AFC7DC 8FB10038 */ lw $s1, 0x0038($sp) -/* 00C60 80AFC7E0 03E00008 */ jr $ra -/* 00C64 80AFC7E4 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 -/* 00C68 80AFC7E8 00000000 */ nop -/* 00C6C 80AFC7EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Init.s deleted file mode 100644 index bb7c47feb5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Init.s +++ /dev/null @@ -1,163 +0,0 @@ -.late_rodata -glabel D_80AFC85C - .word 0xC5BD5000 -glabel D_80AFC860 - .float 0.1 - -glabel D_80AFC864 - .word 0x3F13FA15 - -.text -glabel EnSiofuki_Init -/* 00000 80AFBB80 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80AFBB84 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 80AFBB88 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 80AFBB8C AFA5003C */ sw $a1, 0x003C($sp) -/* 00010 80AFBB90 AFA0002C */ sw $zero, 0x002C($sp) -/* 00014 80AFBB94 808E0003 */ lb $t6, 0x0003($a0) ## 00000003 -/* 00018 80AFBB98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 80AFBB9C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 00020 80AFBBA0 15C10009 */ bne $t6, $at, .L80AFBBC8 -/* 00024 80AFBBA4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00028 80AFBBA8 0C00B2D0 */ jal Flags_GetSwitch - -/* 0002C 80AFBBAC 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E -/* 00030 80AFBBB0 10400005 */ beq $v0, $zero, .L80AFBBC8 -/* 00034 80AFBBB4 00000000 */ nop -/* 00038 80AFBBB8 0C00B55C */ jal Actor_Kill - -/* 0003C 80AFBBBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80AFBBC0 10000071 */ beq $zero, $zero, .L80AFBD88 -/* 00044 80AFBBC4 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFBBC8: -/* 00048 80AFBBC8 3C0580B0 */ lui $a1, %hi(D_80AFC810) ## $a1 = 80B00000 -/* 0004C 80AFBBCC 24A5C810 */ addiu $a1, $a1, %lo(D_80AFC810) ## $a1 = 80AFC810 -/* 00050 80AFBBD0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00054 80AFBBD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80AFBBD8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0005C 80AFBBDC 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00060 80AFBBE0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00064 80AFBBE4 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00068 80AFBBE8 24840D78 */ addiu $a0, $a0, 0x0D78 ## $a0 = 06000D78 -/* 0006C 80AFBBEC 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00070 80AFBBF0 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4 -/* 00074 80AFBBF4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00078 80AFBBF8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0007C 80AFBBFC 8FA7002C */ lw $a3, 0x002C($sp) -/* 00080 80AFBC00 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00084 80AFBC04 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00088 80AFBC08 9603001C */ lhu $v1, 0x001C($s0) ## 0000001C -/* 0008C 80AFBC0C 920F019C */ lbu $t7, 0x019C($s0) ## 0000019C -/* 00090 80AFBC10 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00094 80AFBC14 00031B03 */ sra $v1, $v1, 12 -/* 00098 80AFBC18 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -/* 0009C 80AFBC1C 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 000A0 80AFBC20 10600008 */ beq $v1, $zero, .L80AFBC44 -/* 000A4 80AFBC24 A218019C */ sb $t8, 0x019C($s0) ## 0000019C -/* 000A8 80AFBC28 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 000AC 80AFBC2C 50610006 */ beql $v1, $at, .L80AFBC48 -/* 000B0 80AFBC30 3C01420C */ lui $at, 0x420C ## $at = 420C0000 -/* 000B4 80AFBC34 0C00B55C */ jal Actor_Kill - -/* 000B8 80AFBC38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000BC 80AFBC3C 10000052 */ beq $zero, $zero, .L80AFBD88 -/* 000C0 80AFBC40 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFBC44: -/* 000C4 80AFBC44 3C01420C */ lui $at, 0x420C ## $at = 420C0000 -.L80AFBC48: -/* 000C8 80AFBC48 44810000 */ mtc1 $at, $f0 ## $f0 = 35.00 -/* 000CC 80AFBC4C C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 000D0 80AFBC50 3C0180B0 */ lui $at, %hi(D_80AFC85C) ## $at = 80B00000 -/* 000D4 80AFBC54 E6000174 */ swc1 $f0, 0x0174($s0) ## 00000174 -/* 000D8 80AFBC58 E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C -/* 000DC 80AFBC5C C426C85C */ lwc1 $f6, %lo(D_80AFC85C)($at) -/* 000E0 80AFBC60 860200B4 */ lh $v0, 0x00B4($s0) ## 000000B4 -/* 000E4 80AFBC64 3C1980B0 */ lui $t9, %hi(func_80AFC34C) ## $t9 = 80B00000 -/* 000E8 80AFBC68 46060200 */ add.s $f8, $f0, $f6 -/* 000EC 80AFBC6C 10400009 */ beq $v0, $zero, .L80AFBC94 -/* 000F0 80AFBC70 E6080170 */ swc1 $f8, 0x0170($s0) ## 00000170 -/* 000F4 80AFBC74 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00 -/* 000F8 80AFBC78 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 000FC 80AFBC7C 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00 -/* 00100 80AFBC80 46805420 */ cvt.s.w $f16, $f10 -/* 00104 80AFBC84 46128102 */ mul.s $f4, $f16, $f18 -/* 00108 80AFBC88 E6040198 */ swc1 $f4, 0x0198($s0) ## 00000198 -/* 0010C 80AFBC8C C6060198 */ lwc1 $f6, 0x0198($s0) ## 00000198 -/* 00110 80AFBC90 E6060180 */ swc1 $f6, 0x0180($s0) ## 00000180 -.L80AFBC94: -/* 00114 80AFBC94 860200B6 */ lh $v0, 0x00B6($s0) ## 000000B6 -/* 00118 80AFBC98 A6000196 */ sh $zero, 0x0196($s0) ## 00000196 -/* 0011C 80AFBC9C 50400003 */ beql $v0, $zero, .L80AFBCAC -/* 00120 80AFBCA0 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8 -/* 00124 80AFBCA4 A6020196 */ sh $v0, 0x0196($s0) ## 00000196 -/* 00128 80AFBCA8 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8 -.L80AFBCAC: -/* 0012C 80AFBCAC 50400012 */ beql $v0, $zero, .L80AFBCF8 -/* 00130 80AFBCB0 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 00134 80AFBCB4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00 -/* 00138 80AFBCB8 3C0180B0 */ lui $at, %hi(D_80AFC860) ## $at = 80B00000 -/* 0013C 80AFBCBC C422C860 */ lwc1 $f2, %lo(D_80AFC860)($at) -/* 00140 80AFBCC0 46804020 */ cvt.s.w $f0, $f8 -/* 00144 80AFBCC4 3C0180B0 */ lui $at, %hi(D_80AFC864) ## $at = 80B00000 -/* 00148 80AFBCC8 C42AC864 */ lwc1 $f10, %lo(D_80AFC864)($at) -/* 0014C 80AFBCCC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00150 80AFBCD0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00154 80AFBCD4 460A0402 */ mul.s $f16, $f0, $f10 -/* 00158 80AFBCD8 00000000 */ nop -/* 0015C 80AFBCDC 46028482 */ mul.s $f18, $f16, $f2 -/* 00160 80AFBCE0 00000000 */ nop -/* 00164 80AFBCE4 46040182 */ mul.s $f6, $f0, $f4 -/* 00168 80AFBCE8 E6120050 */ swc1 $f18, 0x0050($s0) ## 00000050 -/* 0016C 80AFBCEC 46023202 */ mul.s $f8, $f6, $f2 -/* 00170 80AFBCF0 E6080058 */ swc1 $f8, 0x0058($s0) ## 00000058 -/* 00174 80AFBCF4 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -.L80AFBCF8: -/* 00178 80AFBCF8 A6000030 */ sh $zero, 0x0030($s0) ## 00000030 -/* 0017C 80AFBCFC A6000032 */ sh $zero, 0x0032($s0) ## 00000032 -/* 00180 80AFBD00 00021B03 */ sra $v1, $v0, 12 -/* 00184 80AFBD04 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -/* 00188 80AFBD08 A6000034 */ sh $zero, 0x0034($s0) ## 00000034 -/* 0018C 80AFBD0C A60000B4 */ sh $zero, 0x00B4($s0) ## 000000B4 -/* 00190 80AFBD10 A60000B6 */ sh $zero, 0x00B6($s0) ## 000000B6 -/* 00194 80AFBD14 14600008 */ bne $v1, $zero, .L80AFBD38 -/* 00198 80AFBD18 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 0019C 80AFBD1C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 001A0 80AFBD20 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00 -/* 001A4 80AFBD24 2739C34C */ addiu $t9, $t9, %lo(func_80AFC34C) ## $t9 = 80AFC34C -/* 001A8 80AFBD28 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 001AC 80AFBD2C E6000180 */ swc1 $f0, 0x0180($s0) ## 00000180 -/* 001B0 80AFBD30 10000014 */ beq $zero, $zero, .L80AFBD84 -/* 001B4 80AFBD34 E600017C */ swc1 $f0, 0x017C($s0) ## 0000017C -.L80AFBD38: -/* 001B8 80AFBD38 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 001BC 80AFBD3C 14610011 */ bne $v1, $at, .L80AFBD84 -/* 001C0 80AFBD40 8FA4003C */ lw $a0, 0x003C($sp) -/* 001C4 80AFBD44 0C00B32C */ jal Flags_GetTreasure - -/* 001C8 80AFBD48 3045003F */ andi $a1, $v0, 0x003F ## $a1 = 00000000 -/* 001CC 80AFBD4C 10400009 */ beq $v0, $zero, .L80AFBD74 -/* 001D0 80AFBD50 3C0980B0 */ lui $t1, %hi(func_80AFC478) ## $t1 = 80B00000 -/* 001D4 80AFBD54 3C01C234 */ lui $at, 0xC234 ## $at = C2340000 -/* 001D8 80AFBD58 44810000 */ mtc1 $at, $f0 ## $f0 = -45.00 -/* 001DC 80AFBD5C 3C0880B0 */ lui $t0, %hi(func_80AFC544) ## $t0 = 80B00000 -/* 001E0 80AFBD60 2508C544 */ addiu $t0, $t0, %lo(func_80AFC544) ## $t0 = 80AFC544 -/* 001E4 80AFBD64 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -/* 001E8 80AFBD68 E6000180 */ swc1 $f0, 0x0180($s0) ## 00000180 -/* 001EC 80AFBD6C 10000005 */ beq $zero, $zero, .L80AFBD84 -/* 001F0 80AFBD70 E600017C */ swc1 $f0, 0x017C($s0) ## 0000017C -.L80AFBD74: -/* 001F4 80AFBD74 C60A0180 */ lwc1 $f10, 0x0180($s0) ## 00000180 -/* 001F8 80AFBD78 2529C478 */ addiu $t1, $t1, %lo(func_80AFC478) ## $t1 = 80AFC478 -/* 001FC 80AFBD7C AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -/* 00200 80AFBD80 E60A017C */ swc1 $f10, 0x017C($s0) ## 0000017C -.L80AFBD84: -/* 00204 80AFBD84 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFBD88: -/* 00208 80AFBD88 8FB00018 */ lw $s0, 0x0018($sp) -/* 0020C 80AFBD8C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00210 80AFBD90 03E00008 */ jr $ra -/* 00214 80AFBD94 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Update.s deleted file mode 100644 index 3e20f00be8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Update.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel EnSiofuki_Update -/* 009F4 80AFC574 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 009F8 80AFC578 AFBF0014 */ sw $ra, 0x0014($sp) -/* 009FC 80AFC57C 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00A00 80AFC580 0320F809 */ jalr $ra, $t9 -/* 00A04 80AFC584 00000000 */ nop -/* 00A08 80AFC588 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00A0C 80AFC58C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00A10 80AFC590 03E00008 */ jr $ra -/* 00A14 80AFC594 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBDC8.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBDC8.s deleted file mode 100644 index b6549728d0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBDC8.s +++ /dev/null @@ -1,60 +0,0 @@ -.late_rodata -glabel D_80AFC868 - .float 3.14159274101 - -glabel D_80AFC86C - .word 0xC5BD5000 - -.text -glabel func_80AFBDC8 -/* 00248 80AFBDC8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0024C 80AFBDCC 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000 -/* 00250 80AFBDD0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00254 80AFBDD4 01C57021 */ addu $t6, $t6, $a1 -/* 00258 80AFBDD8 8DCE1DE4 */ lw $t6, 0x1DE4($t6) ## 00011DE4 -/* 0025C 80AFBDDC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 00260 80AFBDE0 31CF001F */ andi $t7, $t6, 0x001F ## $t7 = 00000000 -/* 00264 80AFBDE4 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00268 80AFBDE8 05E10004 */ bgez $t7, .L80AFBDFC -/* 0026C 80AFBDEC 468021A0 */ cvt.s.w $f6, $f4 -/* 00270 80AFBDF0 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00 -/* 00274 80AFBDF4 00000000 */ nop -/* 00278 80AFBDF8 46083180 */ add.s $f6, $f6, $f8 -.L80AFBDFC: -/* 0027C 80AFBDFC 3C013D00 */ lui $at, 0x3D00 ## $at = 3D000000 -/* 00280 80AFBE00 44815000 */ mtc1 $at, $f10 ## $f10 = 0.03 -/* 00284 80AFBE04 3C0180B0 */ lui $at, %hi(D_80AFC868) ## $at = 80B00000 -/* 00288 80AFBE08 C432C868 */ lwc1 $f18, %lo(D_80AFC868)($at) -/* 0028C 80AFBE0C 460A3402 */ mul.s $f16, $f6, $f10 -/* 00290 80AFBE10 AFA40018 */ sw $a0, 0x0018($sp) -/* 00294 80AFBE14 46128002 */ mul.s $f0, $f16, $f18 -/* 00298 80AFBE18 0C0400A4 */ jal sinf - -/* 0029C 80AFBE1C 46000300 */ add.s $f12, $f0, $f0 -/* 002A0 80AFBE20 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002A4 80AFBE24 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 002A8 80AFBE28 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 002AC 80AFBE2C 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00 -/* 002B0 80AFBE30 8FA40018 */ lw $a0, 0x0018($sp) -/* 002B4 80AFBE34 3C0180B0 */ lui $at, %hi(D_80AFC86C) ## $at = 80B00000 -/* 002B8 80AFBE38 46040082 */ mul.s $f2, $f0, $f4 -/* 002BC 80AFBE3C C4880174 */ lwc1 $f8, 0x0174($a0) ## 00000174 -/* 002C0 80AFBE40 460C4182 */ mul.s $f6, $f8, $f12 -/* 002C4 80AFBE44 E4820178 */ swc1 $f2, 0x0178($a0) ## 00000178 -/* 002C8 80AFBE48 C42AC86C */ lwc1 $f10, %lo(D_80AFC86C)($at) -/* 002CC 80AFBE4C 460C1482 */ mul.s $f18, $f2, $f12 -/* 002D0 80AFBE50 3C01420C */ lui $at, 0x420C ## $at = 420C0000 -/* 002D4 80AFBE54 460A3400 */ add.s $f16, $f6, $f10 -/* 002D8 80AFBE58 C48A0180 */ lwc1 $f10, 0x0180($a0) ## 00000180 -/* 002DC 80AFBE5C C486016C */ lwc1 $f6, 0x016C($a0) ## 0000016C -/* 002E0 80AFBE60 44814000 */ mtc1 $at, $f8 ## $f8 = 35.00 -/* 002E4 80AFBE64 46128101 */ sub.s $f4, $f16, $f18 -/* 002E8 80AFBE68 E4880174 */ swc1 $f8, 0x0174($a0) ## 00000174 -/* 002EC 80AFBE6C 460A3400 */ add.s $f16, $f6, $f10 -/* 002F0 80AFBE70 E4840170 */ swc1 $f4, 0x0170($a0) ## 00000170 -/* 002F4 80AFBE74 46028480 */ add.s $f18, $f16, $f2 -/* 002F8 80AFBE78 E4920028 */ swc1 $f18, 0x0028($a0) ## 00000028 -/* 002FC 80AFBE7C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00300 80AFBE80 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00304 80AFBE84 03E00008 */ jr $ra -/* 00308 80AFBE88 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBE8C.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBE8C.s deleted file mode 100644 index 8516e7823d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBE8C.s +++ /dev/null @@ -1,232 +0,0 @@ -.late_rodata -glabel D_80AFC870 - .word 0x4622F983 -glabel D_80AFC874 - .float 0.3 - -.text -glabel func_80AFBE8C -/* 0030C 80AFBE8C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00310 80AFBE90 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00314 80AFBE94 AFB10020 */ sw $s1, 0x0020($sp) -/* 00318 80AFBE98 AFB0001C */ sw $s0, 0x001C($sp) -/* 0031C 80AFBE9C AFA5004C */ sw $a1, 0x004C($sp) -/* 00320 80AFBEA0 8CB11C44 */ lw $s1, 0x1C44($a1) ## 00001C44 -/* 00324 80AFBEA4 C4860024 */ lwc1 $f6, 0x0024($a0) ## 00000024 -/* 00328 80AFBEA8 C48A0028 */ lwc1 $f10, 0x0028($a0) ## 00000028 -/* 0032C 80AFBEAC C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 00330 80AFBEB0 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028 -/* 00334 80AFBEB4 3C01C3AD */ lui $at, 0xC3AD ## $at = C3AD0000 -/* 00338 80AFBEB8 46062301 */ sub.s $f12, $f4, $f6 -/* 0033C 80AFBEBC 44813000 */ mtc1 $at, $f6 ## $f6 = -346.00 -/* 00340 80AFBEC0 C4800050 */ lwc1 $f0, 0x0050($a0) ## 00000050 -/* 00344 80AFBEC4 460A4081 */ sub.s $f2, $f8, $f10 -/* 00348 80AFBEC8 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C -/* 0034C 80AFBECC 46060202 */ mul.s $f8, $f0, $f6 -/* 00350 80AFBED0 C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C -/* 00354 80AFBED4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00358 80AFBED8 3C0143AD */ lui $at, 0x43AD ## $at = 43AD0000 -/* 0035C 80AFBEDC 46049381 */ sub.s $f14, $f18, $f4 -/* 00360 80AFBEE0 460C403C */ c.lt.s $f8, $f12 -/* 00364 80AFBEE4 00000000 */ nop -/* 00368 80AFBEE8 450200A8 */ bc1fl .L80AFC18C -/* 0036C 80AFBEEC 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -/* 00370 80AFBEF0 44815000 */ mtc1 $at, $f10 ## $f10 = 346.00 -/* 00374 80AFBEF4 3C01C3C8 */ lui $at, 0xC3C8 ## $at = C3C80000 -/* 00378 80AFBEF8 460A0482 */ mul.s $f18, $f0, $f10 -/* 0037C 80AFBEFC 4612603C */ c.lt.s $f12, $f18 -/* 00380 80AFBF00 00000000 */ nop -/* 00384 80AFBF04 450200A1 */ bc1fl .L80AFC18C -/* 00388 80AFBF08 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -/* 0038C 80AFBF0C C4800058 */ lwc1 $f0, 0x0058($a0) ## 00000058 -/* 00390 80AFBF10 44812000 */ mtc1 $at, $f4 ## $f4 = -400.00 -/* 00394 80AFBF14 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00398 80AFBF18 46040182 */ mul.s $f6, $f0, $f4 -/* 0039C 80AFBF1C 460E303C */ c.lt.s $f6, $f14 -/* 003A0 80AFBF20 00000000 */ nop -/* 003A4 80AFBF24 45020099 */ bc1fl .L80AFC18C -/* 003A8 80AFBF28 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -/* 003AC 80AFBF2C 44814000 */ mtc1 $at, $f8 ## $f8 = 400.00 -/* 003B0 80AFBF30 00000000 */ nop -/* 003B4 80AFBF34 46080282 */ mul.s $f10, $f0, $f8 -/* 003B8 80AFBF38 460A703C */ c.lt.s $f14, $f10 -/* 003BC 80AFBF3C 00000000 */ nop -/* 003C0 80AFBF40 45020092 */ bc1fl .L80AFC18C -/* 003C4 80AFBF44 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -/* 003C8 80AFBF48 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 003CC 80AFBF4C 00000000 */ nop -/* 003D0 80AFBF50 4610103C */ c.lt.s $f2, $f16 -/* 003D4 80AFBF54 00000000 */ nop -/* 003D8 80AFBF58 4502008C */ bc1fl .L80AFC18C -/* 003DC 80AFBF5C 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -/* 003E0 80AFBF60 E7AC0040 */ swc1 $f12, 0x0040($sp) -/* 003E4 80AFBF64 0C010D5B */ jal func_8004356C -/* 003E8 80AFBF68 E7AE0038 */ swc1 $f14, 0x0038($sp) -/* 003EC 80AFBF6C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 003F0 80AFBF70 C7AC0040 */ lwc1 $f12, 0x0040($sp) -/* 003F4 80AFBF74 10400016 */ beq $v0, $zero, .L80AFBFD0 -/* 003F8 80AFBF78 C7AE0038 */ lwc1 $f14, 0x0038($sp) -/* 003FC 80AFBF7C 8E020184 */ lw $v0, 0x0184($s0) ## 00000184 -/* 00400 80AFBF80 8FA4004C */ lw $a0, 0x004C($sp) -/* 00404 80AFBF84 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 00408 80AFBF88 1C40000C */ bgtz $v0, .L80AFBFBC -/* 0040C 80AFBF8C 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF -/* 00410 80AFBF90 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00414 80AFBF94 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00418 80AFBF98 AFB80014 */ sw $t8, 0x0014($sp) -/* 0041C 80AFBF9C AFAF0010 */ sw $t7, 0x0010($sp) -/* 00420 80AFBFA0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00424 80AFBFA4 0C00A527 */ jal EffectSsGSplash_Spawn -/* 00428 80AFBFA8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 0042C 80AFBFAC 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00430 80AFBFB0 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A -/* 00434 80AFBFB4 10000002 */ beq $zero, $zero, .L80AFBFC0 -/* 00438 80AFBFB8 AE190184 */ sw $t9, 0x0184($s0) ## 00000184 -.L80AFBFBC: -/* 0043C 80AFBFBC AE080184 */ sw $t0, 0x0184($s0) ## 00000184 -.L80AFBFC0: -/* 00440 80AFBFC0 AE000188 */ sw $zero, 0x0188($s0) ## 00000188 -/* 00444 80AFBFC4 E610018C */ swc1 $f16, 0x018C($s0) ## 0000018C -/* 00448 80AFBFC8 1000007C */ beq $zero, $zero, .L80AFC1BC -/* 0044C 80AFBFCC E6100190 */ swc1 $f16, 0x0190($s0) ## 00000190 -.L80AFBFD0: -/* 00450 80AFBFD0 460C6482 */ mul.s $f18, $f12, $f12 -/* 00454 80AFBFD4 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 00458 80AFBFD8 460E7102 */ mul.s $f4, $f14, $f14 -/* 0045C 80AFBFDC 46049000 */ add.s $f0, $f18, $f4 -/* 00460 80AFBFE0 46000004 */ sqrt.s $f0, $f0 -/* 00464 80AFBFE4 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00468 80AFBFE8 AE090188 */ sw $t1, 0x0188($s0) ## 00000188 -/* 0046C 80AFBFEC 0C03F494 */ jal Math_atan2f -/* 00470 80AFBFF0 AE000184 */ sw $zero, 0x0184($s0) ## 00000184 -/* 00474 80AFBFF4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00478 80AFBFF8 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 0047C 80AFBFFC 3C0180B0 */ lui $at, %hi(D_80AFC870) ## $at = 80B00000 -/* 00480 80AFC000 C426C870 */ lwc1 $f6, %lo(D_80AFC870)($at) -/* 00484 80AFC004 862A0032 */ lh $t2, 0x0032($s1) ## 00000032 -/* 00488 80AFC008 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 0048C 80AFC00C 46060202 */ mul.s $f8, $f0, $f6 -/* 00490 80AFC010 394B8000 */ xori $t3, $t2, 0x8000 ## $t3 = FFFF8000 -/* 00494 80AFC014 E630006C */ swc1 $f16, 0x006C($s1) ## 0000006C -/* 00498 80AFC018 E6300060 */ swc1 $f16, 0x0060($s1) ## 00000060 -/* 0049C 80AFC01C 8E050028 */ lw $a1, 0x0028($s0) ## 00000028 -/* 004A0 80AFC020 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028 -/* 004A4 80AFC024 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 004A8 80AFC028 4600428D */ trunc.w.s $f10, $f8 -/* 004AC 80AFC02C 3C074080 */ lui $a3, 0x4080 ## $a3 = 40800000 -/* 004B0 80AFC030 E7A20010 */ swc1 $f2, 0x0010($sp) -/* 004B4 80AFC034 440F5000 */ mfc1 $t7, $f10 -/* 004B8 80AFC038 00000000 */ nop -/* 004BC 80AFC03C 016F1023 */ subu $v0, $t3, $t7 -/* 004C0 80AFC040 00021400 */ sll $v0, $v0, 16 -/* 004C4 80AFC044 00021403 */ sra $v0, $v0, 16 -/* 004C8 80AFC048 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 004CC 80AFC04C A7A20034 */ sh $v0, 0x0034($sp) -/* 004D0 80AFC050 87A20034 */ lh $v0, 0x0034($sp) -/* 004D4 80AFC054 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 004D8 80AFC058 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 004DC 80AFC05C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 004E0 80AFC060 28414000 */ slti $at, $v0, 0x4000 -/* 004E4 80AFC064 1020002F */ beq $at, $zero, .L80AFC124 -/* 004E8 80AFC068 2841C001 */ slti $at, $v0, 0xC001 -/* 004EC 80AFC06C 1420002D */ bne $at, $zero, .L80AFC124 -/* 004F0 80AFC070 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 004F4 80AFC074 44812000 */ mtc1 $at, $f4 ## $f4 = 40.00 -/* 004F8 80AFC078 C6120050 */ lwc1 $f18, 0x0050($s0) ## 00000050 -/* 004FC 80AFC07C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00500 80AFC080 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00504 80AFC084 46049182 */ mul.s $f6, $f18, $f4 -/* 00508 80AFC088 86380032 */ lh $t8, 0x0032($s1) ## 00000032 -/* 0050C 80AFC08C 3B198000 */ xori $t9, $t8, 0x8000 ## $t9 = FFFF8000 -/* 00510 80AFC090 A6190194 */ sh $t9, 0x0194($s0) ## 00000194 -/* 00514 80AFC094 C7B20030 */ lwc1 $f18, 0x0030($sp) -/* 00518 80AFC098 46083282 */ mul.s $f10, $f6, $f8 -/* 0051C 80AFC09C 460A9003 */ div.s $f0, $f18, $f10 -/* 00520 80AFC0A0 4610003C */ c.lt.s $f0, $f16 -/* 00524 80AFC0A4 00000000 */ nop -/* 00528 80AFC0A8 45020003 */ bc1fl .L80AFC0B8 -/* 0052C 80AFC0AC 4600103C */ c.lt.s $f2, $f0 -/* 00530 80AFC0B0 46008006 */ mov.s $f0, $f16 -/* 00534 80AFC0B4 4600103C */ c.lt.s $f2, $f0 -.L80AFC0B8: -/* 00538 80AFC0B8 00000000 */ nop -/* 0053C 80AFC0BC 45020003 */ bc1fl .L80AFC0CC -/* 00540 80AFC0C0 C6240838 */ lwc1 $f4, 0x0838($s1) ## 00000838 -/* 00544 80AFC0C4 46001006 */ mov.s $f0, $f2 -/* 00548 80AFC0C8 C6240838 */ lwc1 $f4, 0x0838($s1) ## 00000838 -.L80AFC0CC: -/* 0054C 80AFC0CC 44061000 */ mfc1 $a2, $f2 -/* 00550 80AFC0D0 44071000 */ mfc1 $a3, $f2 -/* 00554 80AFC0D4 46002182 */ mul.s $f6, $f4, $f0 -/* 00558 80AFC0D8 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190 -/* 0055C 80AFC0DC 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000 -/* 00560 80AFC0E0 E6260838 */ swc1 $f6, 0x0838($s1) ## 00000838 -/* 00564 80AFC0E4 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00568 80AFC0E8 E7A0002C */ swc1 $f0, 0x002C($sp) -/* 0056C 80AFC0EC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00570 80AFC0F0 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 00574 80AFC0F4 3C0180B0 */ lui $at, %hi(D_80AFC874) ## $at = 80B00000 -/* 00578 80AFC0F8 C7A0002C */ lwc1 $f0, 0x002C($sp) -/* 0057C 80AFC0FC C428C874 */ lwc1 $f8, %lo(D_80AFC874)($at) -/* 00580 80AFC100 44061000 */ mfc1 $a2, $f2 -/* 00584 80AFC104 2604018C */ addiu $a0, $s0, 0x018C ## $a0 = 0000018C -/* 00588 80AFC108 46004482 */ mul.s $f18, $f8, $f0 -/* 0058C 80AFC10C 8E050190 */ lw $a1, 0x0190($s0) ## 00000190 -/* 00590 80AFC110 44079000 */ mfc1 $a3, $f18 -/* 00594 80AFC114 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00598 80AFC118 00000000 */ nop -/* 0059C 80AFC11C 10000016 */ beq $zero, $zero, .L80AFC178 -/* 005A0 80AFC120 86090194 */ lh $t1, 0x0194($s0) ## 00000194 -.L80AFC124: -/* 005A4 80AFC124 86280032 */ lh $t0, 0x0032($s1) ## 00000032 -/* 005A8 80AFC128 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 005AC 80AFC12C 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 005B0 80AFC130 A6080194 */ sh $t0, 0x0194($s0) ## 00000194 -/* 005B4 80AFC134 C62A0838 */ lwc1 $f10, 0x0838($s1) ## 00000838 -/* 005B8 80AFC138 44061000 */ mfc1 $a2, $f2 -/* 005BC 80AFC13C 44071000 */ mfc1 $a3, $f2 -/* 005C0 80AFC140 46045182 */ mul.s $f6, $f10, $f4 -/* 005C4 80AFC144 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190 -/* 005C8 80AFC148 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000 -/* 005CC 80AFC14C 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 005D0 80AFC150 E6260838 */ swc1 $f6, 0x0838($s1) ## 00000838 -/* 005D4 80AFC154 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 005D8 80AFC158 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 005DC 80AFC15C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 005E0 80AFC160 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 005E4 80AFC164 44061000 */ mfc1 $a2, $f2 -/* 005E8 80AFC168 2604018C */ addiu $a0, $s0, 0x018C ## $a0 = 0000018C -/* 005EC 80AFC16C 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 005F0 80AFC170 8E050190 */ lw $a1, 0x0190($s0) ## 00000190 -/* 005F4 80AFC174 86090194 */ lh $t1, 0x0194($s0) ## 00000194 -.L80AFC178: -/* 005F8 80AFC178 A62908B0 */ sh $t1, 0x08B0($s1) ## 000008B0 -/* 005FC 80AFC17C C608018C */ lwc1 $f8, 0x018C($s0) ## 0000018C -/* 00600 80AFC180 1000000E */ beq $zero, $zero, .L80AFC1BC -/* 00604 80AFC184 E62808AC */ swc1 $f8, 0x08AC($s1) ## 000008AC -/* 00608 80AFC188 8E0A0188 */ lw $t2, 0x0188($s0) ## 00000188 -.L80AFC18C: -/* 0060C 80AFC18C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00610 80AFC190 51400008 */ beql $t2, $zero, .L80AFC1B4 -/* 00614 80AFC194 E6100190 */ swc1 $f16, 0x0190($s0) ## 00000190 -/* 00618 80AFC198 C612018C */ lwc1 $f18, 0x018C($s0) ## 0000018C -/* 0061C 80AFC19C C62A0838 */ lwc1 $f10, 0x0838($s1) ## 00000838 -/* 00620 80AFC1A0 460A9100 */ add.s $f4, $f18, $f10 -/* 00624 80AFC1A4 E6240838 */ swc1 $f4, 0x0838($s1) ## 00000838 -/* 00628 80AFC1A8 860C0194 */ lh $t4, 0x0194($s0) ## 00000194 -/* 0062C 80AFC1AC A62C083C */ sh $t4, 0x083C($s1) ## 0000083C -/* 00630 80AFC1B0 E6100190 */ swc1 $f16, 0x0190($s0) ## 00000190 -.L80AFC1B4: -/* 00634 80AFC1B4 E610018C */ swc1 $f16, 0x018C($s0) ## 0000018C -/* 00638 80AFC1B8 AE000188 */ sw $zero, 0x0188($s0) ## 00000188 -.L80AFC1BC: -/* 0063C 80AFC1BC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00640 80AFC1C0 8FB0001C */ lw $s0, 0x001C($sp) -/* 00644 80AFC1C4 8FB10020 */ lw $s1, 0x0020($sp) -/* 00648 80AFC1C8 03E00008 */ jr $ra -/* 0064C 80AFC1CC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC1D0.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC1D0.s deleted file mode 100644 index be86176157..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC1D0.s +++ /dev/null @@ -1,25 +0,0 @@ -.late_rodata -glabel D_80AFC878 - .float 0.01 - -.text -glabel func_80AFC1D0 -/* 00650 80AFC1D0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00654 80AFC1D4 3C0180B0 */ lui $at, %hi(D_80AFC878) ## $at = 80B00000 -/* 00658 80AFC1D8 C424C878 */ lwc1 $f4, %lo(D_80AFC878)($at) -/* 0065C 80AFC1DC AFBF001C */ sw $ra, 0x001C($sp) -/* 00660 80AFC1E0 AFA40020 */ sw $a0, 0x0020($sp) -/* 00664 80AFC1E4 AFA50024 */ sw $a1, 0x0024($sp) -/* 00668 80AFC1E8 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000 -/* 0066C 80AFC1EC 8DC5017C */ lw $a1, 0x017C($t6) ## 0000017C -/* 00670 80AFC1F0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000 -/* 00674 80AFC1F4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD -/* 00678 80AFC1F8 24840180 */ addiu $a0, $a0, 0x0180 ## $a0 = 00000180 -/* 0067C 80AFC1FC 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 00680 80AFC200 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 00684 80AFC204 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00688 80AFC208 8FBF001C */ lw $ra, 0x001C($sp) -/* 0068C 80AFC20C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00690 80AFC210 03E00008 */ jr $ra -/* 00694 80AFC214 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC218.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC218.s deleted file mode 100644 index 74ea45c24f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC218.s +++ /dev/null @@ -1,87 +0,0 @@ -glabel func_80AFC218 -/* 00698 80AFC218 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0069C 80AFC21C AFBF001C */ sw $ra, 0x001C($sp) -/* 006A0 80AFC220 AFB10018 */ sw $s1, 0x0018($sp) -/* 006A4 80AFC224 AFB00014 */ sw $s0, 0x0014($sp) -/* 006A8 80AFC228 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006AC 80AFC22C 0C2BEF72 */ jal func_80AFBDC8 -/* 006B0 80AFC230 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 006B4 80AFC234 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006B8 80AFC238 0C2BEFA3 */ jal func_80AFBE8C -/* 006BC 80AFC23C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 006C0 80AFC240 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006C4 80AFC244 0C2BF074 */ jal func_80AFC1D0 -/* 006C8 80AFC248 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 006CC 80AFC24C 8E0E0168 */ lw $t6, 0x0168($s0) ## 00000168 -/* 006D0 80AFC250 25C5FFFF */ addiu $a1, $t6, 0xFFFF ## $a1 = FFFFFFFF -/* 006D4 80AFC254 04A10021 */ bgez $a1, .L80AFC2DC -/* 006D8 80AFC258 AE050168 */ sw $a1, 0x0168($s0) ## 00000168 -/* 006DC 80AFC25C 9605001C */ lhu $a1, 0x001C($s0) ## 0000001C -/* 006E0 80AFC260 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006E4 80AFC264 00052983 */ sra $a1, $a1, 6 -/* 006E8 80AFC268 0C00B2ED */ jal Flags_UnsetSwitch - -/* 006EC 80AFC26C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 0000003F -/* 006F0 80AFC270 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 006F4 80AFC274 3C1880B0 */ lui $t8, %hi(func_80AFC34C) ## $t8 = 80B00000 -/* 006F8 80AFC278 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 006FC 80AFC27C 00021B03 */ sra $v1, $v0, 12 -/* 00700 80AFC280 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -/* 00704 80AFC284 10600006 */ beq $v1, $zero, .L80AFC2A0 -/* 00708 80AFC288 2718C34C */ addiu $t8, $t8, %lo(func_80AFC34C) ## $t8 = 80AFC34C -/* 0070C 80AFC28C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00710 80AFC290 1061000A */ beq $v1, $at, .L80AFC2BC -/* 00714 80AFC294 3C1980B0 */ lui $t9, %hi(func_80AFC478) ## $t9 = 80B00000 -/* 00718 80AFC298 10000016 */ beq $zero, $zero, .L80AFC2F4 -/* 0071C 80AFC29C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L80AFC2A0: -/* 00720 80AFC2A0 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 00724 80AFC2A4 44812000 */ mtc1 $at, $f4 ## $f4 = 0.00 -/* 00728 80AFC2A8 AE180164 */ sw $t8, 0x0164($s0) ## 00000164 -/* 0072C 80AFC2AC 00021B03 */ sra $v1, $v0, 12 -/* 00730 80AFC2B0 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -/* 00734 80AFC2B4 1000000E */ beq $zero, $zero, .L80AFC2F0 -/* 00738 80AFC2B8 E604017C */ swc1 $f4, 0x017C($s0) ## 0000017C -.L80AFC2BC: -/* 0073C 80AFC2BC 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 00740 80AFC2C0 C6060198 */ lwc1 $f6, 0x0198($s0) ## 00000198 -/* 00744 80AFC2C4 2739C478 */ addiu $t9, $t9, %lo(func_80AFC478) ## $t9 = 80AFC478 -/* 00748 80AFC2C8 00021B03 */ sra $v1, $v0, 12 -/* 0074C 80AFC2CC AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 00750 80AFC2D0 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -/* 00754 80AFC2D4 10000006 */ beq $zero, $zero, .L80AFC2F0 -/* 00758 80AFC2D8 E606017C */ swc1 $f6, 0x017C($s0) ## 0000017C -.L80AFC2DC: -/* 0075C 80AFC2DC 0C00BE65 */ jal func_8002F994 -/* 00760 80AFC2E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00764 80AFC2E4 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 00768 80AFC2E8 00021B03 */ sra $v1, $v0, 12 -/* 0076C 80AFC2EC 3063000F */ andi $v1, $v1, 0x000F ## $v1 = 00000000 -.L80AFC2F0: -/* 00770 80AFC2F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L80AFC2F4: -/* 00774 80AFC2F4 14610010 */ bne $v1, $at, .L80AFC338 -/* 00778 80AFC2F8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0077C 80AFC2FC 0C00B32C */ jal Flags_GetTreasure - -/* 00780 80AFC300 3045003F */ andi $a1, $v0, 0x003F ## $a1 = 00000000 -/* 00784 80AFC304 1040000C */ beq $v0, $zero, .L80AFC338 -/* 00788 80AFC308 3C01C234 */ lui $at, 0xC234 ## $at = C2340000 -/* 0078C 80AFC30C 9605001C */ lhu $a1, 0x001C($s0) ## 0000001C -/* 00790 80AFC310 44810000 */ mtc1 $at, $f0 ## $f0 = -45.00 -/* 00794 80AFC314 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00798 80AFC318 00052983 */ sra $a1, $a1, 6 -/* 0079C 80AFC31C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 007A0 80AFC320 E6000180 */ swc1 $f0, 0x0180($s0) ## 00000180 -/* 007A4 80AFC324 0C00B2ED */ jal Flags_UnsetSwitch - -/* 007A8 80AFC328 E600017C */ swc1 $f0, 0x017C($s0) ## 0000017C -/* 007AC 80AFC32C 3C0880B0 */ lui $t0, %hi(func_80AFC544) ## $t0 = 80B00000 -/* 007B0 80AFC330 2508C544 */ addiu $t0, $t0, %lo(func_80AFC544) ## $t0 = 80AFC544 -/* 007B4 80AFC334 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -.L80AFC338: -/* 007B8 80AFC338 8FBF001C */ lw $ra, 0x001C($sp) -/* 007BC 80AFC33C 8FB00014 */ lw $s0, 0x0014($sp) -/* 007C0 80AFC340 8FB10018 */ lw $s1, 0x0018($sp) -/* 007C4 80AFC344 03E00008 */ jr $ra -/* 007C8 80AFC348 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC34C.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC34C.s deleted file mode 100644 index 81708693a2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC34C.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_80AFC34C -/* 007CC 80AFC34C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 007D0 80AFC350 AFBF001C */ sw $ra, 0x001C($sp) -/* 007D4 80AFC354 AFB00018 */ sw $s0, 0x0018($sp) -/* 007D8 80AFC358 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 007DC 80AFC35C 0C2BEF72 */ jal func_80AFBDC8 -/* 007E0 80AFC360 AFA50024 */ sw $a1, 0x0024($sp) -/* 007E4 80AFC364 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007E8 80AFC368 0C2BEFA3 */ jal func_80AFBE8C -/* 007EC 80AFC36C 8FA50024 */ lw $a1, 0x0024($sp) -/* 007F0 80AFC370 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007F4 80AFC374 0C2BF074 */ jal func_80AFC1D0 -/* 007F8 80AFC378 8FA50024 */ lw $a1, 0x0024($sp) -/* 007FC 80AFC37C 9605001C */ lhu $a1, 0x001C($s0) ## 0000001C -/* 00800 80AFC380 8FA40024 */ lw $a0, 0x0024($sp) -/* 00804 80AFC384 00052983 */ sra $a1, $a1, 6 -/* 00808 80AFC388 0C00B2D0 */ jal Flags_GetSwitch - -/* 0080C 80AFC38C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00810 80AFC390 10400008 */ beq $v0, $zero, .L80AFC3B4 -/* 00814 80AFC394 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00818 80AFC398 44812000 */ mtc1 $at, $f4 ## $f4 = 400.00 -/* 0081C 80AFC39C 3C0F80B0 */ lui $t7, %hi(func_80AFC218) ## $t7 = 80B00000 -/* 00820 80AFC3A0 240E012C */ addiu $t6, $zero, 0x012C ## $t6 = 0000012C -/* 00824 80AFC3A4 25EFC218 */ addiu $t7, $t7, %lo(func_80AFC218) ## $t7 = 80AFC218 -/* 00828 80AFC3A8 AE0E0168 */ sw $t6, 0x0168($s0) ## 00000168 -/* 0082C 80AFC3AC AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164 -/* 00830 80AFC3B0 E604017C */ swc1 $f4, 0x017C($s0) ## 0000017C -.L80AFC3B4: -/* 00834 80AFC3B4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00838 80AFC3B8 8FB00018 */ lw $s0, 0x0018($sp) -/* 0083C 80AFC3BC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00840 80AFC3C0 03E00008 */ jr $ra -/* 00844 80AFC3C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC3C8.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC3C8.s deleted file mode 100644 index 988fe1c0f8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC3C8.s +++ /dev/null @@ -1,48 +0,0 @@ -glabel func_80AFC3C8 -/* 00848 80AFC3C8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0084C 80AFC3CC AFBF001C */ sw $ra, 0x001C($sp) -/* 00850 80AFC3D0 AFB00018 */ sw $s0, 0x0018($sp) -/* 00854 80AFC3D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00858 80AFC3D8 0C2BEF72 */ jal func_80AFBDC8 -/* 0085C 80AFC3DC AFA50024 */ sw $a1, 0x0024($sp) -/* 00860 80AFC3E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00864 80AFC3E4 0C2BEFA3 */ jal func_80AFBE8C -/* 00868 80AFC3E8 8FA50024 */ lw $a1, 0x0024($sp) -/* 0086C 80AFC3EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00870 80AFC3F0 0C2BF074 */ jal func_80AFC1D0 -/* 00874 80AFC3F4 8FA50024 */ lw $a1, 0x0024($sp) -/* 00878 80AFC3F8 8E0E0168 */ lw $t6, 0x0168($s0) ## 00000168 -/* 0087C 80AFC3FC 3C01C234 */ lui $at, 0xC234 ## $at = C2340000 -/* 00880 80AFC400 3C0980B0 */ lui $t1, %hi(func_80AFC218) ## $t1 = 80B00000 -/* 00884 80AFC404 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF -/* 00888 80AFC408 05E1000A */ bgez $t7, .L80AFC434 -/* 0088C 80AFC40C AE0F0168 */ sw $t7, 0x0168($s0) ## 00000168 -/* 00890 80AFC410 86190196 */ lh $t9, 0x0196($s0) ## 00000196 -/* 00894 80AFC414 44812000 */ mtc1 $at, $f4 ## $f4 = -45.00 -/* 00898 80AFC418 2529C218 */ addiu $t1, $t1, %lo(func_80AFC218) ## $t1 = 80AFC218 -/* 0089C 80AFC41C 00194080 */ sll $t0, $t9, 2 -/* 008A0 80AFC420 01194021 */ addu $t0, $t0, $t9 -/* 008A4 80AFC424 00084080 */ sll $t0, $t0, 2 -/* 008A8 80AFC428 AE080168 */ sw $t0, 0x0168($s0) ## 00000168 -/* 008AC 80AFC42C AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -/* 008B0 80AFC430 E604017C */ swc1 $f4, 0x017C($s0) ## 0000017C -.L80AFC434: -/* 008B4 80AFC434 9605001C */ lhu $a1, 0x001C($s0) ## 0000001C -/* 008B8 80AFC438 8FA40024 */ lw $a0, 0x0024($sp) -/* 008BC 80AFC43C 0C00B32C */ jal Flags_GetTreasure - -/* 008C0 80AFC440 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 008C4 80AFC444 3C01C234 */ lui $at, 0xC234 ## $at = C2340000 -/* 008C8 80AFC448 44810000 */ mtc1 $at, $f0 ## $f0 = -45.00 -/* 008CC 80AFC44C 10400005 */ beq $v0, $zero, .L80AFC464 -/* 008D0 80AFC450 3C0A80B0 */ lui $t2, %hi(func_80AFC544) ## $t2 = 80B00000 -/* 008D4 80AFC454 254AC544 */ addiu $t2, $t2, %lo(func_80AFC544) ## $t2 = 80AFC544 -/* 008D8 80AFC458 E6000180 */ swc1 $f0, 0x0180($s0) ## 00000180 -/* 008DC 80AFC45C E600017C */ swc1 $f0, 0x017C($s0) ## 0000017C -/* 008E0 80AFC460 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -.L80AFC464: -/* 008E4 80AFC464 8FBF001C */ lw $ra, 0x001C($sp) -/* 008E8 80AFC468 8FB00018 */ lw $s0, 0x0018($sp) -/* 008EC 80AFC46C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 008F0 80AFC470 03E00008 */ jr $ra -/* 008F4 80AFC474 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC478.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC478.s deleted file mode 100644 index 42ddc9bb06..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC478.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_80AFC478 -/* 008F8 80AFC478 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 008FC 80AFC47C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00900 80AFC480 AFB10020 */ sw $s1, 0x0020($sp) -/* 00904 80AFC484 AFB0001C */ sw $s0, 0x001C($sp) -/* 00908 80AFC488 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0090C 80AFC48C 0C2BEF72 */ jal func_80AFBDC8 -/* 00910 80AFC490 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00914 80AFC494 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00918 80AFC498 0C2BEFA3 */ jal func_80AFBE8C -/* 0091C 80AFC49C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00920 80AFC4A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00924 80AFC4A4 0C2BF074 */ jal func_80AFC1D0 -/* 00928 80AFC4A8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0092C 80AFC4AC 9602001C */ lhu $v0, 0x001C($s0) ## 0000001C -/* 00930 80AFC4B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00934 80AFC4B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00938 80AFC4B8 00027303 */ sra $t6, $v0, 12 -/* 0093C 80AFC4BC 31CF000F */ andi $t7, $t6, 0x000F ## $t7 = 00000000 -/* 00940 80AFC4C0 15E1001B */ bne $t7, $at, .L80AFC530 -/* 00944 80AFC4C4 00022983 */ sra $a1, $v0, 6 -/* 00948 80AFC4C8 0C00B2D0 */ jal Flags_GetSwitch - -/* 0094C 80AFC4CC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00950 80AFC4D0 1040000B */ beq $v0, $zero, .L80AFC500 -/* 00954 80AFC4D4 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 00958 80AFC4D8 3C1980B0 */ lui $t9, %hi(func_80AFC3C8) ## $t9 = 80B00000 -/* 0095C 80AFC4DC 2739C3C8 */ addiu $t9, $t9, %lo(func_80AFC3C8) ## $t9 = 80AFC3C8 -/* 00960 80AFC4E0 AE180168 */ sw $t8, 0x0168($s0) ## 00000168 -/* 00964 80AFC4E4 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 00968 80AFC4E8 AFA00010 */ sw $zero, 0x0010($sp) -/* 0096C 80AFC4EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00970 80AFC4F0 24051392 */ addiu $a1, $zero, 0x1392 ## $a1 = 00001392 -/* 00974 80AFC4F4 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 00978 80AFC4F8 0C02003E */ jal func_800800F8 -/* 0097C 80AFC4FC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -.L80AFC500: -/* 00980 80AFC500 9605001C */ lhu $a1, 0x001C($s0) ## 0000001C -/* 00984 80AFC504 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00988 80AFC508 0C00B32C */ jal Flags_GetTreasure - -/* 0098C 80AFC50C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00990 80AFC510 10400007 */ beq $v0, $zero, .L80AFC530 -/* 00994 80AFC514 3C01C234 */ lui $at, 0xC234 ## $at = C2340000 -/* 00998 80AFC518 44810000 */ mtc1 $at, $f0 ## $f0 = -45.00 -/* 0099C 80AFC51C 3C0880B0 */ lui $t0, %hi(func_80AFC544) ## $t0 = 80B00000 -/* 009A0 80AFC520 2508C544 */ addiu $t0, $t0, %lo(func_80AFC544) ## $t0 = 80AFC544 -/* 009A4 80AFC524 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -/* 009A8 80AFC528 E6000180 */ swc1 $f0, 0x0180($s0) ## 00000180 -/* 009AC 80AFC52C E600017C */ swc1 $f0, 0x017C($s0) ## 0000017C -.L80AFC530: -/* 009B0 80AFC530 8FBF0024 */ lw $ra, 0x0024($sp) -/* 009B4 80AFC534 8FB0001C */ lw $s0, 0x001C($sp) -/* 009B8 80AFC538 8FB10020 */ lw $s1, 0x0020($sp) -/* 009BC 80AFC53C 03E00008 */ jr $ra -/* 009C0 80AFC540 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC544.s b/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC544.s deleted file mode 100644 index fae5f664e2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC544.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_80AFC544 -/* 009C4 80AFC544 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 009C8 80AFC548 AFBF0014 */ sw $ra, 0x0014($sp) -/* 009CC 80AFC54C AFA40018 */ sw $a0, 0x0018($sp) -/* 009D0 80AFC550 0C2BEF72 */ jal func_80AFBDC8 -/* 009D4 80AFC554 AFA5001C */ sw $a1, 0x001C($sp) -/* 009D8 80AFC558 8FA40018 */ lw $a0, 0x0018($sp) -/* 009DC 80AFC55C 0C2BF074 */ jal func_80AFC1D0 -/* 009E0 80AFC560 8FA5001C */ lw $a1, 0x001C($sp) -/* 009E4 80AFC564 8FBF0014 */ lw $ra, 0x0014($sp) -/* 009E8 80AFC568 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 009EC 80AFC56C 03E00008 */ jr $ra -/* 009F0 80AFC570 00000000 */ nop diff --git a/data/overlays/actors/z_en_siofuki.data.s b/data/overlays/actors/z_en_siofuki.data.s deleted file mode 100644 index 418f016830..0000000000 --- a/data/overlays/actors/z_en_siofuki.data.s +++ /dev/null @@ -1,20 +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 .data - -.balign 16 - -glabel En_Siofuki_InitVars - .word 0x015F0100, 0x00000030, 0x013A0000, 0x000001A0 -.word EnSiofuki_Init -.word EnSiofuki_Destroy -.word EnSiofuki_Update -.word EnSiofuki_Draw -glabel D_80AFC810 - .word 0x48500064, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_siofuki.reloc.s b/data/overlays/actors/z_en_siofuki.reloc.s deleted file mode 100644 index 11bf3afaf3..0000000000 --- a/data/overlays/actors/z_en_siofuki.reloc.s +++ /dev/null @@ -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_80AFC880 - .incbin "baserom/ovl_En_Siofuki", 0xD00, 0x00000120 diff --git a/spec b/spec index f29176d199..ec92474ec0 100644 --- a/spec +++ b/spec @@ -3002,8 +3002,7 @@ endseg beginseg name "ovl_En_Siofuki" include "build/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.o" - include "build/data/overlays/actors/z_en_siofuki.data.o" - include "build/data/overlays/actors/z_en_siofuki.reloc.o" + include "build/src/overlays/actors/ovl_En_Siofuki/ovl_En_Siofuki_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c index c9ea69d9a7..9c544a8b55 100644 --- a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c +++ b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c @@ -1,3 +1,9 @@ +/* + * File: z_en_siofuki.c + * Overlay: ovl_En_Siofuki + * Description: Water Spout + */ + #include "z_en_siofuki.h" #define FLAGS 0x00000030 @@ -9,7 +15,10 @@ void EnSiofuki_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSiofuki_Update(Actor* thisx, GlobalContext* globalCtx); void EnSiofuki_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void func_80AFC34C(EnSiofuki* this, GlobalContext* globalCtx); +void func_80AFC544(EnSiofuki* this, GlobalContext* globalCtx); +void func_80AFC478(EnSiofuki* this, GlobalContext* globalCtx); + const ActorInit En_Siofuki_InitVars = { ACTOR_EN_SIOFUKI, ACTORTYPE_BG, @@ -21,27 +30,286 @@ const ActorInit En_Siofuki_InitVars = { (ActorFunc)EnSiofuki_Update, (ActorFunc)EnSiofuki_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBDC8.s") +extern Gfx D_06000B70[]; +extern UNK_TYPE D_06000D78; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFBE8C.s") +void EnSiofuki_Init(Actor* thisx, GlobalContext* globalCtx) { + EnSiofuki* this = THIS; + s32 type; + ColHeader* colHeader = NULL; + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC1D0.s") + if ((thisx->room == 10) && Flags_GetSwitch(globalCtx, 0x1E)) { + Actor_Kill(thisx); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC218.s") + Actor_ProcessInitChain(thisx, sInitChain); + DynaPolyInfo_SetActorMove(&this->dyna, DPM_PLAYER); + DynaPolyInfo_Alloc(&D_06000D78, &colHeader); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); + this->sfxFlags |= 1; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC34C.s") + type = ((u16)thisx->params >> 0xC) & 0xF; + if (!((type == 0) || (type == 1))) { + Actor_Kill(thisx); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC3C8.s") + this->initPosY = thisx->posRot.pos.y; + this->unk_174 = 35.0f; + this->unk_170 = -6058.0f + this->unk_174; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC478.s") + if (thisx->shape.rot.x != 0) { + this->maxHeight = thisx->shape.rot.x * 40.0f; + this->currentHeight = this->maxHeight; + } + this->activeTime = 0; + if (thisx->shape.rot.y != 0) { + this->activeTime = thisx->shape.rot.y; + } + if (thisx->shape.rot.z != 0) { + thisx->scale.x = thisx->shape.rot.z * (1.0f / 1.73f) * 0.1f; + thisx->scale.z = thisx->shape.rot.z * 0.5f * 0.1f; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/func_80AFC544.s") + thisx->posRot.rot.x = 0; + thisx->posRot.rot.y = 0; + thisx->posRot.rot.z = 0; + thisx->shape.rot.x = 0; + thisx->shape.rot.y = 0; + thisx->shape.rot.z = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Update.s") + type = ((u16)thisx->params >> 0xC) & 0xF; + if (type == EN_SIOFUKI_RAISING) { + this->currentHeight = 10.0f; + this->targetHeight = 10.0f; + this->actionFunc = func_80AFC34C; + } else if (type == EN_SIOFUKI_LOWERING) { + if (Flags_GetTreasure(globalCtx, (u16)thisx->params & 0x3F)) { + this->currentHeight = -45.0f; + this->targetHeight = -45.0f; + this->actionFunc = func_80AFC544; + } else { + this->targetHeight = this->currentHeight; + this->actionFunc = func_80AFC478; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Siofuki/EnSiofuki_Draw.s") +void EnSiofuki_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnSiofuki* this = THIS; + + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} + +void func_80AFBDC8(EnSiofuki* this, GlobalContext* globalCtx) { + this->oscillation = sinf((globalCtx->gameplayFrames & 0x1F) / 32.0f * M_PI * 2.0f) * 4.0f; + this->unk_170 = this->unk_174 * 10.0f + -6058.0f - this->oscillation * 10.0f; + this->unk_174 = 35.0f; + this->dyna.actor.posRot.pos.y = this->initPosY + this->currentHeight + this->oscillation; +} + +void func_80AFBE8C(EnSiofuki* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + f32 dX; + f32 dY; + f32 dZ; + s16 angle; + s16 dAngle; + f32 dist2d; + f32 speedScale; + + dX = player->actor.posRot.pos.x - this->dyna.actor.posRot.pos.x; + dY = player->actor.posRot.pos.y - this->dyna.actor.posRot.pos.y; + dZ = player->actor.posRot.pos.z - this->dyna.actor.posRot.pos.z; + + if ((dX > (this->dyna.actor.scale.x * -346.0f)) && (dX < (this->dyna.actor.scale.x * 346.0f)) && + (dZ > (this->dyna.actor.scale.z * -400.0f)) && (dZ < (this->dyna.actor.scale.z * 400.0f)) && (dY < 0.0f)) { + if (func_8004356C(&this->dyna)) { + if (this->splashTimer <= 0) { + EffectSsGSplash_Spawn(globalCtx, &player->actor.posRot.pos, NULL, NULL, 1, 1); + this->splashTimer = 10; + } else { + this->splashTimer--; + } + + this->applySpeed = false; + this->appliedSpeed = 0.0f; + this->targetAppliedSpeed = 0.0f; + } else { + dist2d = sqrtf(SQ(dX) + SQ(dZ)); + this->applySpeed = true; + this->splashTimer = 0; + angle = Math_atan2f(dX, dZ) * (0x8000 / M_PI); + dAngle = (player->actor.posRot.rot.y ^ 0x8000) - angle; + player->actor.gravity = 0.0f; + player->actor.velocity.y = 0.0f; + Math_SmoothScaleMaxMinF(&player->actor.posRot.pos.y, this->dyna.actor.posRot.pos.y, 0.5f, 4.0f, 1.0f); + + if ((dAngle < 0x4000) && (dAngle > -0x4000)) { + this->appliedYaw = player->actor.posRot.rot.y ^ 0x8000; + speedScale = dist2d / (this->dyna.actor.scale.x * 40.0f * 10.0f); + speedScale = CLAMP_MIN(speedScale, 0.0f); + speedScale = CLAMP_MAX(speedScale, 1.0f); + player->linearVelocity *= speedScale; + Math_SmoothScaleMaxF(&this->targetAppliedSpeed, 3.0f, 1.0f, 1.0f); + Math_SmoothScaleMaxF(&this->appliedSpeed, this->targetAppliedSpeed, 1.0f, 0.3f * speedScale); + } else { + this->appliedYaw = player->actor.posRot.rot.y; + player->linearVelocity /= 2.0f; + Math_SmoothScaleMaxF(&this->targetAppliedSpeed, 3.0f, 1.0f, 1.0f); + Math_SmoothScaleMaxF(&this->appliedSpeed, this->targetAppliedSpeed, 1.0f, 0.1f); + } + + player->windDirection = this->appliedYaw; + player->windSpeed = this->appliedSpeed; + } + } else { + if (this->applySpeed) { + player->linearVelocity = this->appliedSpeed + player->linearVelocity; + player->currentYaw = this->appliedYaw; + } + + this->targetAppliedSpeed = 0.0f; + this->appliedSpeed = 0.0f; + this->applySpeed = false; + } +} + +void func_80AFC1D0(EnSiofuki* this, GlobalContext* globalCtx) { + Math_SmoothScaleMaxMinF(&this->currentHeight, this->targetHeight, 0.8f, 3.0f, 0.01f); +} + +void func_80AFC218(EnSiofuki* this, GlobalContext* globalCtx) { + func_80AFBDC8(this, globalCtx); + func_80AFBE8C(this, globalCtx); + func_80AFC1D0(this, globalCtx); + + this->timer--; + if (this->timer < 0) { + Flags_UnsetSwitch(globalCtx, ((u16)this->dyna.actor.params >> 6) & 0x3F); + switch (((u16)this->dyna.actor.params >> 0xC) & 0xF) { + case EN_SIOFUKI_RAISING: + this->targetHeight = 10.0f; + this->actionFunc = func_80AFC34C; + break; + case EN_SIOFUKI_LOWERING: + this->targetHeight = this->maxHeight; + this->actionFunc = func_80AFC478; + break; + } + } else { + func_8002F994(&this->dyna.actor, this->timer); + } + + if (((((u16)this->dyna.actor.params >> 0xC) & 0xF) == EN_SIOFUKI_LOWERING) && + Flags_GetTreasure(globalCtx, (u16)this->dyna.actor.params & 0x3F)) { + this->currentHeight = -45.0f; + this->targetHeight = -45.0f; + Flags_UnsetSwitch(globalCtx, ((u16)this->dyna.actor.params >> 6) & 0x3F); + this->actionFunc = func_80AFC544; + } +} + +void func_80AFC34C(EnSiofuki* this, GlobalContext* globalCtx) { + func_80AFBDC8(this, globalCtx); + func_80AFBE8C(this, globalCtx); + func_80AFC1D0(this, globalCtx); + + if (Flags_GetSwitch(globalCtx, ((u16)this->dyna.actor.params >> 6) & 0x3F)) { + this->targetHeight = 400.0f; + this->timer = 300; + this->actionFunc = func_80AFC218; + } +} + +void func_80AFC3C8(EnSiofuki* this, GlobalContext* globalCtx) { + func_80AFBDC8(this, globalCtx); + func_80AFBE8C(this, globalCtx); + func_80AFC1D0(this, globalCtx); + + this->timer--; + if (this->timer < 0) { + this->timer = this->activeTime * 20; + this->targetHeight = -45.0f; + this->actionFunc = func_80AFC218; + } + + if (Flags_GetTreasure(globalCtx, (u16)this->dyna.actor.params & 0x3F)) { + this->currentHeight = -45.0f; + this->targetHeight = -45.0f; + this->actionFunc = func_80AFC544; + } +} + +void func_80AFC478(EnSiofuki* this, GlobalContext* globalCtx) { + func_80AFBDC8(this, globalCtx); + func_80AFBE8C(this, globalCtx); + func_80AFC1D0(this, globalCtx); + + if (((u16)this->dyna.actor.params >> 0xC & 0xF) == EN_SIOFUKI_LOWERING) { + if (Flags_GetSwitch(globalCtx, ((u16)this->dyna.actor.params >> 6) & 0x3F)) { + this->timer = 20; + this->actionFunc = func_80AFC3C8; + func_800800F8(globalCtx, 0x1392, 0x28, &this->dyna.actor, 0); + } + + if (Flags_GetTreasure(globalCtx, (u16)this->dyna.actor.params & 0x3F)) { + this->currentHeight = -45.0f; + this->targetHeight = -45.0f; + this->actionFunc = func_80AFC544; + } + } +} + +void func_80AFC544(EnSiofuki* this, GlobalContext* globalCtx) { + func_80AFBDC8(this, globalCtx); + func_80AFC1D0(this, globalCtx); +} + +void EnSiofuki_Update(Actor* thisx, GlobalContext* globalCtx) { + EnSiofuki* this = THIS; + + this->actionFunc(this, globalCtx); +} + +void EnSiofuki_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnSiofuki* this = THIS; + u32 x; + u32 y; + u32 gameplayFrames = globalCtx->gameplayFrames; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_siofuki.c", 654); + func_80093D84(globalCtx->state.gfxCtx); + Matrix_Translate(0.0f, this->unk_170, 0.0f, MTXMODE_APPLY); + Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_siofuki.c", 662), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + x = gameplayFrames * 15; + y = gameplayFrames * -15; + gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, x, y, 64, 64, 1, x, y, 64, 64)); + gSPDisplayList(POLY_XLU_DISP++, D_06000B70); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_siofuki.c", 674); + + if (this->sfxFlags & 1) { + f32 heightRatio; + switch (((u16)thisx->params >> 0xC) & 0xF) { + case EN_SIOFUKI_RAISING: + heightRatio = (this->currentHeight - 10.0f) / (400.0f - 10.0f); + func_800F436C(&thisx->projectedPos, NA_SE_EV_FOUNTAIN - SFX_FLAG, 1.0f + heightRatio); + break; + case EN_SIOFUKI_LOWERING: + if (this->currentHeight > -35.0f) { + heightRatio = (this->currentHeight - -35.0f) / (this->maxHeight - -35.0f); + func_800F436C(&thisx->projectedPos, NA_SE_EV_FOUNTAIN - SFX_FLAG, 1.0f + heightRatio); + } + break; + } + } +} diff --git a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.h b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.h index cf0762431e..f20a96d259 100644 --- a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.h +++ b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.h @@ -4,11 +4,33 @@ #include "ultra64.h" #include "global.h" +typedef enum { + /* 0x00 */ EN_SIOFUKI_RAISING, + /* 0x01 */ EN_SIOFUKI_LOWERING +} EnSiofukiType; + struct EnSiofuki; +typedef void (*EnSiofukiActionFunc)(struct EnSiofuki*, GlobalContext*); + typedef struct EnSiofuki { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x54]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ EnSiofukiActionFunc actionFunc; + /* 0x0168 */ s32 timer; + /* 0x016C */ f32 initPosY; + /* 0x0170 */ f32 unk_170; + /* 0x0174 */ f32 unk_174; + /* 0x0178 */ f32 oscillation; + /* 0x017C */ f32 targetHeight; + /* 0x0180 */ f32 currentHeight; + /* 0x0184 */ s32 splashTimer; + /* 0x0188 */ s32 applySpeed; + /* 0x018C */ f32 appliedSpeed; + /* 0x0190 */ f32 targetAppliedSpeed; + /* 0x0194 */ s16 appliedYaw; + /* 0x0196 */ s16 activeTime; + /* 0x0198 */ f32 maxHeight; + /* 0x019C */ u8 sfxFlags; } EnSiofuki; // size = 0x01A0 extern const ActorInit En_Siofuki_InitVars;