1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

ovl_En_Siofuki (#456)

* ovl_En_Siofuki

* PR review

* Rebase

* PR review
This commit is contained in:
maekclena 2020-11-21 22:03:20 +01:00 committed by GitHub
parent 84a0acc9cf
commit 0453c7d3cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 307 additions and 961 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80AFC880
.incbin "baserom/ovl_En_Siofuki", 0xD00, 0x00000120

3
spec
View file

@ -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

View file

@ -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;
}
}
}

View file

@ -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;