1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-11 03:23:46 +00:00

ovl_En_Part (#383)

* ovl_En_Part

* PR review

* PR review

* Rebase

* PR review

* Oversight

* Rebase

* PR review
This commit is contained in:
maekclena 2020-10-02 00:51:05 +02:00 committed by GitHub
parent 7a8e00e49d
commit 6136ee6deb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 319 additions and 1527 deletions

View file

@ -1,4 +0,0 @@
glabel EnPart_Destroy
/* 0000C 80ACDDDC AFA40000 */ sw $a0, 0x0000($sp)
/* 00010 80ACDDE0 03E00008 */ jr $ra
/* 00014 80ACDDE4 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,412 +0,0 @@
.rdata
glabel D_80ACF210
.asciz "../z_en_part.c"
.balign 4
glabel D_80ACF220
.asciz "../z_en_part.c"
.balign 4
glabel D_80ACF230
.asciz "../z_en_part.c"
.balign 4
.text
glabel EnPart_Draw
/* 00DAC 80ACEB7C 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 00DB0 80ACEB80 AFBF002C */ sw $ra, 0x002C($sp)
/* 00DB4 80ACEB84 AFB00028 */ sw $s0, 0x0028($sp)
/* 00DB8 80ACEB88 AFA40098 */ sw $a0, 0x0098($sp)
/* 00DBC 80ACEB8C AFA5009C */ sw $a1, 0x009C($sp)
/* 00DC0 80ACEB90 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00DC4 80ACEB94 3C0680AD */ lui $a2, %hi(D_80ACF210) ## $a2 = 80AD0000
/* 00DC8 80ACEB98 24C6F210 */ addiu $a2, $a2, %lo(D_80ACF210) ## $a2 = 80ACF210
/* 00DCC 80ACEB9C 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFE8
/* 00DD0 80ACEBA0 24070287 */ addiu $a3, $zero, 0x0287 ## $a3 = 00000287
/* 00DD4 80ACEBA4 0C031AB1 */ jal Graph_OpenDisps
/* 00DD8 80ACEBA8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00DDC 80ACEBAC 8FAF0098 */ lw $t7, 0x0098($sp)
/* 00DE0 80ACEBB0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00DE4 80ACEBB4 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C
/* 00DE8 80ACEBB8 5B000004 */ blezl $t8, .L80ACEBCC
/* 00DEC 80ACEBBC 8FB9009C */ lw $t9, 0x009C($sp)
/* 00DF0 80ACEBC0 0C0343B5 */ jal Matrix_RotateZ
/* 00DF4 80ACEBC4 C5EC0154 */ lwc1 $f12, 0x0154($t7) ## 00000154
/* 00DF8 80ACEBC8 8FB9009C */ lw $t9, 0x009C($sp)
.L80ACEBCC:
/* 00DFC 80ACEBCC 0C024F46 */ jal func_80093D18
/* 00E00 80ACEBD0 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 00E04 80ACEBD4 8FA40098 */ lw $a0, 0x0098($sp)
/* 00E08 80ACEBD8 8FA5009C */ lw $a1, 0x009C($sp)
/* 00E0C 80ACEBDC 0C00BAF3 */ jal func_8002EBCC
/* 00E10 80ACEBE0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00E14 80ACEBE4 8FA90098 */ lw $t1, 0x0098($sp)
/* 00E18 80ACEBE8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00E1C 80ACEBEC 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000
/* 00E20 80ACEBF0 8522001C */ lh $v0, 0x001C($t1) ## 0000001C
/* 00E24 80ACEBF4 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020
/* 00E28 80ACEBF8 240500F5 */ addiu $a1, $zero, 0x00F5 ## $a1 = 000000F5
/* 00E2C 80ACEBFC 5441003F */ bnel $v0, $at, .L80ACECFC
/* 00E30 80ACEC00 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00E34 80ACEC04 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00E38 80ACEC08 240D001E */ addiu $t5, $zero, 0x001E ## $t5 = 0000001E
/* 00E3C 80ACEC0C 240E0023 */ addiu $t6, $zero, 0x0023 ## $t6 = 00000023
/* 00E40 80ACEC10 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 00E44 80ACEC14 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 00E48 80ACEC18 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 00E4C 80ACEC1C 8FAC009C */ lw $t4, 0x009C($sp)
/* 00E50 80ACEC20 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00E54 80ACEC24 240700CD */ addiu $a3, $zero, 0x00CD ## $a3 = 000000CD
/* 00E58 80ACEC28 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 00E5C 80ACEC2C AFA00018 */ sw $zero, 0x0018($sp)
/* 00E60 80ACEC30 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00E64 80ACEC34 AFAD0010 */ sw $t5, 0x0010($sp)
/* 00E68 80ACEC38 0C2B3AB0 */ jal func_80ACEAC0
/* 00E6C 80ACEC3C AFA2007C */ sw $v0, 0x007C($sp)
/* 00E70 80ACEC40 8FA3007C */ lw $v1, 0x007C($sp)
/* 00E74 80ACEC44 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 00E78 80ACEC48 35EF0024 */ ori $t7, $t7, 0x0024 ## $t7 = DB060024
/* 00E7C 80ACEC4C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00E80 80ACEC50 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00E84 80ACEC54 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
/* 00E88 80ACEC58 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 00E8C 80ACEC5C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00E90 80ACEC60 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 00E94 80ACEC64 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 00E98 80ACEC68 8FB9009C */ lw $t9, 0x009C($sp)
/* 00E9C 80ACEC6C 240500B9 */ addiu $a1, $zero, 0x00B9 ## $a1 = 000000B9
/* 00EA0 80ACEC70 24060087 */ addiu $a2, $zero, 0x0087 ## $a2 = 00000087
/* 00EA4 80ACEC74 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 00EA8 80ACEC78 AFA00018 */ sw $zero, 0x0018($sp)
/* 00EAC 80ACEC7C AFAB0014 */ sw $t3, 0x0014($sp)
/* 00EB0 80ACEC80 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00EB4 80ACEC84 24070019 */ addiu $a3, $zero, 0x0019 ## $a3 = 00000019
/* 00EB8 80ACEC88 0C2B3AB0 */ jal func_80ACEAC0
/* 00EBC 80ACEC8C AFA20078 */ sw $v0, 0x0078($sp)
/* 00EC0 80ACEC90 8FA30078 */ lw $v1, 0x0078($sp)
/* 00EC4 80ACEC94 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 00EC8 80ACEC98 35AD0028 */ ori $t5, $t5, 0x0028 ## $t5 = DB060028
/* 00ECC 80ACEC9C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00ED0 80ACECA0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00ED4 80ACECA4 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
/* 00ED8 80ACECA8 240F0028 */ addiu $t7, $zero, 0x0028 ## $t7 = 00000028
/* 00EDC 80ACECAC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 00EE0 80ACECB0 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 00EE4 80ACECB4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 00EE8 80ACECB8 8FAE009C */ lw $t6, 0x009C($sp)
/* 00EEC 80ACECBC 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
/* 00EF0 80ACECC0 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00EF4 80ACECC4 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
/* 00EF8 80ACECC8 AFB90018 */ sw $t9, 0x0018($sp)
/* 00EFC 80ACECCC AFAF0014 */ sw $t7, 0x0014($sp)
/* 00F00 80ACECD0 AFB80010 */ sw $t8, 0x0010($sp)
/* 00F04 80ACECD4 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00F08 80ACECD8 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 00F0C 80ACECDC 0C2B3AB0 */ jal func_80ACEAC0
/* 00F10 80ACECE0 AFA20074 */ sw $v0, 0x0074($sp)
/* 00F14 80ACECE4 8FA30074 */ lw $v1, 0x0074($sp)
/* 00F18 80ACECE8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00F1C 80ACECEC 8FAA0098 */ lw $t2, 0x0098($sp)
/* 00F20 80ACECF0 10000102 */ beq $zero, $zero, .L80ACF0FC
/* 00F24 80ACECF4 8D450150 */ lw $a1, 0x0150($t2) ## 00000150
/* 00F28 80ACECF8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
.L80ACECFC:
/* 00F2C 80ACECFC 1441003D */ bne $v0, $at, .L80ACEDF4
/* 00F30 80ACED00 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 00F34 80ACED04 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00F38 80ACED08 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
/* 00F3C 80ACED0C 24050037 */ addiu $a1, $zero, 0x0037 ## $a1 = 00000037
/* 00F40 80ACED10 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00F44 80ACED14 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
/* 00F48 80ACED18 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00F4C 80ACED1C 8FAD009C */ lw $t5, 0x009C($sp)
/* 00F50 80ACED20 24060041 */ addiu $a2, $zero, 0x0041 ## $a2 = 00000041
/* 00F54 80ACED24 24070037 */ addiu $a3, $zero, 0x0037 ## $a3 = 00000037
/* 00F58 80ACED28 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 00F5C 80ACED2C AFA00018 */ sw $zero, 0x0018($sp)
/* 00F60 80ACED30 AFA00014 */ sw $zero, 0x0014($sp)
/* 00F64 80ACED34 AFA00010 */ sw $zero, 0x0010($sp)
/* 00F68 80ACED38 0C2B3AB0 */ jal func_80ACEAC0
/* 00F6C 80ACED3C AFA20070 */ sw $v0, 0x0070($sp)
/* 00F70 80ACED40 8FA30070 */ lw $v1, 0x0070($sp)
/* 00F74 80ACED44 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
/* 00F78 80ACED48 37180024 */ ori $t8, $t8, 0x0024 ## $t8 = DB060024
/* 00F7C 80ACED4C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00F80 80ACED50 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00F84 80ACED54 24190019 */ addiu $t9, $zero, 0x0019 ## $t9 = 00000019
/* 00F88 80ACED58 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
/* 00F8C 80ACED5C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00F90 80ACED60 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
/* 00F94 80ACED64 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00F98 80ACED68 8FAF009C */ lw $t7, 0x009C($sp)
/* 00F9C 80ACED6C 240500CD */ addiu $a1, $zero, 0x00CD ## $a1 = 000000CD
/* 00FA0 80ACED70 240600A5 */ addiu $a2, $zero, 0x00A5 ## $a2 = 000000A5
/* 00FA4 80ACED74 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 00FA8 80ACED78 AFA00018 */ sw $zero, 0x0018($sp)
/* 00FAC 80ACED7C AFAA0014 */ sw $t2, 0x0014($sp)
/* 00FB0 80ACED80 AFB90010 */ sw $t9, 0x0010($sp)
/* 00FB4 80ACED84 2407004B */ addiu $a3, $zero, 0x004B ## $a3 = 0000004B
/* 00FB8 80ACED88 0C2B3AB0 */ jal func_80ACEAC0
/* 00FBC 80ACED8C AFA2006C */ sw $v0, 0x006C($sp)
/* 00FC0 80ACED90 8FA3006C */ lw $v1, 0x006C($sp)
/* 00FC4 80ACED94 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 00FC8 80ACED98 358C0028 */ ori $t4, $t4, 0x0028 ## $t4 = DB060028
/* 00FCC 80ACED9C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00FD0 80ACEDA0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00FD4 80ACEDA4 240E0019 */ addiu $t6, $zero, 0x0019 ## $t6 = 00000019
/* 00FD8 80ACEDA8 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 00FDC 80ACEDAC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00FE0 80ACEDB0 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
/* 00FE4 80ACEDB4 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00FE8 80ACEDB8 8FAD009C */ lw $t5, 0x009C($sp)
/* 00FEC 80ACEDBC 240500CD */ addiu $a1, $zero, 0x00CD ## $a1 = 000000CD
/* 00FF0 80ACEDC0 240600A5 */ addiu $a2, $zero, 0x00A5 ## $a2 = 000000A5
/* 00FF4 80ACEDC4 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 00FF8 80ACEDC8 AFA00018 */ sw $zero, 0x0018($sp)
/* 00FFC 80ACEDCC AFB80014 */ sw $t8, 0x0014($sp)
/* 01000 80ACEDD0 AFAE0010 */ sw $t6, 0x0010($sp)
/* 01004 80ACEDD4 2407004B */ addiu $a3, $zero, 0x004B ## $a3 = 0000004B
/* 01008 80ACEDD8 0C2B3AB0 */ jal func_80ACEAC0
/* 0100C 80ACEDDC AFA20068 */ sw $v0, 0x0068($sp)
/* 01010 80ACEDE0 8FA30068 */ lw $v1, 0x0068($sp)
/* 01014 80ACEDE4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01018 80ACEDE8 8FAF0098 */ lw $t7, 0x0098($sp)
/* 0101C 80ACEDEC 100000C3 */ beq $zero, $zero, .L80ACF0FC
/* 01020 80ACEDF0 8DE50150 */ lw $a1, 0x0150($t7) ## 00000150
.L80ACEDF4:
/* 01024 80ACEDF4 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 01028 80ACEDF8 14410040 */ bne $v0, $at, .L80ACEEFC
/* 0102C 80ACEDFC 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 01030 80ACEE00 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01034 80ACEE04 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
/* 01038 80ACEE08 240C00B4 */ addiu $t4, $zero, 0x00B4 ## $t4 = 000000B4
/* 0103C 80ACEE0C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01040 80ACEE10 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 01044 80ACEE14 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 01048 80ACEE18 8FAB009C */ lw $t3, 0x009C($sp)
/* 0104C 80ACEE1C 240D00B4 */ addiu $t5, $zero, 0x00B4 ## $t5 = 000000B4
/* 01050 80ACEE20 240E00B4 */ addiu $t6, $zero, 0x00B4 ## $t6 = 000000B4
/* 01054 80ACEE24 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
/* 01058 80ACEE28 AFAE0018 */ sw $t6, 0x0018($sp)
/* 0105C 80ACEE2C AFAD0014 */ sw $t5, 0x0014($sp)
/* 01060 80ACEE30 AFAC0010 */ sw $t4, 0x0010($sp)
/* 01064 80ACEE34 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 01068 80ACEE38 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 0106C 80ACEE3C 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 01070 80ACEE40 0C2B3AB0 */ jal func_80ACEAC0
/* 01074 80ACEE44 AFA20064 */ sw $v0, 0x0064($sp)
/* 01078 80ACEE48 8FA30064 */ lw $v1, 0x0064($sp)
/* 0107C 80ACEE4C 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 01080 80ACEE50 35EF0024 */ ori $t7, $t7, 0x0024 ## $t7 = DB060024
/* 01084 80ACEE54 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01088 80ACEE58 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 0108C 80ACEE5C 240A0019 */ addiu $t2, $zero, 0x0019 ## $t2 = 00000019
/* 01090 80ACEE60 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 01094 80ACEE64 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01098 80ACEE68 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 0109C 80ACEE6C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 010A0 80ACEE70 8FB9009C */ lw $t9, 0x009C($sp)
/* 010A4 80ACEE74 240500E1 */ addiu $a1, $zero, 0x00E1 ## $a1 = 000000E1
/* 010A8 80ACEE78 240600CD */ addiu $a2, $zero, 0x00CD ## $a2 = 000000CD
/* 010AC 80ACEE7C 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 010B0 80ACEE80 AFA00018 */ sw $zero, 0x0018($sp)
/* 010B4 80ACEE84 AFAB0014 */ sw $t3, 0x0014($sp)
/* 010B8 80ACEE88 AFAA0010 */ sw $t2, 0x0010($sp)
/* 010BC 80ACEE8C 24070073 */ addiu $a3, $zero, 0x0073 ## $a3 = 00000073
/* 010C0 80ACEE90 0C2B3AB0 */ jal func_80ACEAC0
/* 010C4 80ACEE94 AFA20060 */ sw $v0, 0x0060($sp)
/* 010C8 80ACEE98 8FA30060 */ lw $v1, 0x0060($sp)
/* 010CC 80ACEE9C 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 010D0 80ACEEA0 35AD0028 */ ori $t5, $t5, 0x0028 ## $t5 = DB060028
/* 010D4 80ACEEA4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 010D8 80ACEEA8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 010DC 80ACEEAC 24180019 */ addiu $t8, $zero, 0x0019 ## $t8 = 00000019
/* 010E0 80ACEEB0 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
/* 010E4 80ACEEB4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 010E8 80ACEEB8 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 010EC 80ACEEBC AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 010F0 80ACEEC0 8FAE009C */ lw $t6, 0x009C($sp)
/* 010F4 80ACEEC4 240500E1 */ addiu $a1, $zero, 0x00E1 ## $a1 = 000000E1
/* 010F8 80ACEEC8 240600CD */ addiu $a2, $zero, 0x00CD ## $a2 = 000000CD
/* 010FC 80ACEECC 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
/* 01100 80ACEED0 AFA00018 */ sw $zero, 0x0018($sp)
/* 01104 80ACEED4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 01108 80ACEED8 AFB80010 */ sw $t8, 0x0010($sp)
/* 0110C 80ACEEDC 24070073 */ addiu $a3, $zero, 0x0073 ## $a3 = 00000073
/* 01110 80ACEEE0 0C2B3AB0 */ jal func_80ACEAC0
/* 01114 80ACEEE4 AFA2005C */ sw $v0, 0x005C($sp)
/* 01118 80ACEEE8 8FA3005C */ lw $v1, 0x005C($sp)
/* 0111C 80ACEEEC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01120 80ACEEF0 8FB90098 */ lw $t9, 0x0098($sp)
/* 01124 80ACEEF4 10000081 */ beq $zero, $zero, .L80ACF0FC
/* 01128 80ACEEF8 8F250150 */ lw $a1, 0x0150($t9) ## 00000150
.L80ACEEFC:
/* 0112C 80ACEEFC 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
/* 01130 80ACEF00 54410040 */ bnel $v0, $at, .L80ACF004
/* 01134 80ACEF04 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 01138 80ACEF08 8D2B0150 */ lw $t3, 0x0150($t1) ## 00000150
/* 0113C 80ACEF0C 3C0A0600 */ lui $t2, 0x0600 ## $t2 = 06000000
/* 01140 80ACEF10 254A2FF0 */ addiu $t2, $t2, 0x2FF0 ## $t2 = 06002FF0
/* 01144 80ACEF14 154B003A */ bne $t2, $t3, .L80ACF000
/* 01148 80ACEF18 3C068016 */ lui $a2, %hi(gSegments)
/* 0114C 80ACEF1C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01150 80ACEF20 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 01154 80ACEF24 24841300 */ addiu $a0, $a0, 0x1300 ## $a0 = 06001300
/* 01158 80ACEF28 00047100 */ sll $t6, $a0, 4
/* 0115C 80ACEF2C 000EC702 */ srl $t8, $t6, 28
/* 01160 80ACEF30 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 01164 80ACEF34 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 01168 80ACEF38 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 0116C 80ACEF3C 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
/* 01170 80ACEF40 00187880 */ sll $t7, $t8, 2
/* 01174 80ACEF44 24C66FA8 */ addiu $a2, %lo(gSegments)
/* 01178 80ACEF48 00CFC821 */ addu $t9, $a2, $t7
/* 0117C 80ACEF4C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 01180 80ACEF50 8F2A0000 */ lw $t2, 0x0000($t9) ## 00000000
/* 01184 80ACEF54 3C0700FF */ lui $a3, 0x00FF ## $a3 = 00FF0000
/* 01188 80ACEF58 34E7FFFF */ ori $a3, $a3, 0xFFFF ## $a3 = 00FFFFFF
/* 0118C 80ACEF5C 00875824 */ and $t3, $a0, $a3
/* 01190 80ACEF60 3C088000 */ lui $t0, 0x8000 ## $t0 = 80000000
/* 01194 80ACEF64 014B6021 */ addu $t4, $t2, $t3
/* 01198 80ACEF68 01886821 */ addu $t5, $t4, $t0
/* 0119C 80ACEF6C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 011A0 80ACEF70 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 011A4 80ACEF74 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 011A8 80ACEF78 24841700 */ addiu $a0, $a0, 0x1700 ## $a0 = 06001700
/* 011AC 80ACEF7C 00047900 */ sll $t7, $a0, 4
/* 011B0 80ACEF80 000FCF02 */ srl $t9, $t7, 28
/* 011B4 80ACEF84 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
/* 011B8 80ACEF88 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 011BC 80ACEF8C AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
/* 011C0 80ACEF90 37180024 */ ori $t8, $t8, 0x0024 ## $t8 = DB060024
/* 011C4 80ACEF94 00195080 */ sll $t2, $t9, 2
/* 011C8 80ACEF98 00CA5821 */ addu $t3, $a2, $t2
/* 011CC 80ACEF9C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 011D0 80ACEFA0 8D6C0000 */ lw $t4, 0x0000($t3) ## 00000000
/* 011D4 80ACEFA4 00876824 */ and $t5, $a0, $a3
/* 011D8 80ACEFA8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 011DC 80ACEFAC 018D7021 */ addu $t6, $t4, $t5
/* 011E0 80ACEFB0 01C8C021 */ addu $t8, $t6, $t0
/* 011E4 80ACEFB4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 011E8 80ACEFB8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 011EC 80ACEFBC 24841900 */ addiu $a0, $a0, 0x1900 ## $a0 = 06001900
/* 011F0 80ACEFC0 00045100 */ sll $t2, $a0, 4
/* 011F4 80ACEFC4 000A5F02 */ srl $t3, $t2, 28
/* 011F8 80ACEFC8 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 011FC 80ACEFCC 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 01200 80ACEFD0 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
/* 01204 80ACEFD4 37390028 */ ori $t9, $t9, 0x0028 ## $t9 = DB060028
/* 01208 80ACEFD8 000B6080 */ sll $t4, $t3, 2
/* 0120C 80ACEFDC 00CC6821 */ addu $t5, $a2, $t4
/* 01210 80ACEFE0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01214 80ACEFE4 8DAE0000 */ lw $t6, 0x0000($t5) ## DB060020
/* 01218 80ACEFE8 0087C024 */ and $t8, $a0, $a3
/* 0121C 80ACEFEC 01D87821 */ addu $t7, $t6, $t8
/* 01220 80ACEFF0 01E8C821 */ addu $t9, $t7, $t0
/* 01224 80ACEFF4 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 01228 80ACEFF8 10000040 */ beq $zero, $zero, .L80ACF0FC
/* 0122C 80ACEFFC 8D250150 */ lw $a1, 0x0150($t1) ## 00000150
.L80ACF000:
/* 01230 80ACF000 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
.L80ACF004:
/* 01234 80ACF004 1441003D */ bne $v0, $at, .L80ACF0FC
/* 01238 80ACF008 8D250150 */ lw $a1, 0x0150($t1) ## 00000150
/* 0123C 80ACF00C 3C0A0600 */ lui $t2, 0x0600 ## $t2 = 06000000
/* 01240 80ACF010 254A2FF0 */ addiu $t2, $t2, 0x2FF0 ## $t2 = 06002FF0
/* 01244 80ACF014 15450039 */ bne $t2, $a1, .L80ACF0FC
/* 01248 80ACF018 3C068016 */ lui $a2, %hi(gSegments)
/* 0124C 80ACF01C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01250 80ACF020 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 01254 80ACF024 24841B00 */ addiu $a0, $a0, 0x1B00 ## $a0 = 06001B00
/* 01258 80ACF028 00046900 */ sll $t5, $a0, 4
/* 0125C 80ACF02C 000D7702 */ srl $t6, $t5, 28
/* 01260 80ACF030 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 01264 80ACF034 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 01268 80ACF038 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
/* 0126C 80ACF03C 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
/* 01270 80ACF040 000EC080 */ sll $t8, $t6, 2
/* 01274 80ACF044 24C66FA8 */ addiu $a2, %lo(gSegments)
/* 01278 80ACF048 00D87821 */ addu $t7, $a2, $t8
/* 0127C 80ACF04C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01280 80ACF050 8DF90000 */ lw $t9, 0x0000($t7) ## 00000008
/* 01284 80ACF054 3C0700FF */ lui $a3, 0x00FF ## $a3 = 00FF0000
/* 01288 80ACF058 34E7FFFF */ ori $a3, $a3, 0xFFFF ## $a3 = 00FFFFFF
/* 0128C 80ACF05C 00875024 */ and $t2, $a0, $a3
/* 01290 80ACF060 3C088000 */ lui $t0, 0x8000 ## $t0 = 80000000
/* 01294 80ACF064 032A5821 */ addu $t3, $t9, $t2
/* 01298 80ACF068 01686021 */ addu $t4, $t3, $t0
/* 0129C 80ACF06C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 012A0 80ACF070 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 012A4 80ACF074 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 012A8 80ACF078 24841F00 */ addiu $a0, $a0, 0x1F00 ## $a0 = 06001F00
/* 012AC 80ACF07C 0004C100 */ sll $t8, $a0, 4
/* 012B0 80ACF080 00187F02 */ srl $t7, $t8, 28
/* 012B4 80ACF084 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000
/* 012B8 80ACF088 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 012BC 80ACF08C AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
/* 012C0 80ACF090 35CE0024 */ ori $t6, $t6, 0x0024 ## $t6 = DB060024
/* 012C4 80ACF094 000FC880 */ sll $t9, $t7, 2
/* 012C8 80ACF098 00D95021 */ addu $t2, $a2, $t9
/* 012CC 80ACF09C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 012D0 80ACF0A0 8D4B0000 */ lw $t3, 0x0000($t2) ## 06002FF0
/* 012D4 80ACF0A4 00876024 */ and $t4, $a0, $a3
/* 012D8 80ACF0A8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 012DC 80ACF0AC 016C6821 */ addu $t5, $t3, $t4
/* 012E0 80ACF0B0 01A87021 */ addu $t6, $t5, $t0
/* 012E4 80ACF0B4 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 012E8 80ACF0B8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 012EC 80ACF0BC 24842100 */ addiu $a0, $a0, 0x2100 ## $a0 = 06002100
/* 012F0 80ACF0C0 0004C900 */ sll $t9, $a0, 4
/* 012F4 80ACF0C4 00195702 */ srl $t2, $t9, 28
/* 012F8 80ACF0C8 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 012FC 80ACF0CC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01300 80ACF0D0 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 01304 80ACF0D4 35EF0028 */ ori $t7, $t7, 0x0028 ## $t7 = DB060028
/* 01308 80ACF0D8 000A5880 */ sll $t3, $t2, 2
/* 0130C 80ACF0DC 00CB6021 */ addu $t4, $a2, $t3
/* 01310 80ACF0E0 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 01314 80ACF0E4 8D8D0000 */ lw $t5, 0x0000($t4) ## DB060020
/* 01318 80ACF0E8 00877024 */ and $t6, $a0, $a3
/* 0131C 80ACF0EC 01AEC021 */ addu $t8, $t5, $t6
/* 01320 80ACF0F0 03087821 */ addu $t7, $t8, $t0
/* 01324 80ACF0F4 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 01328 80ACF0F8 8D250150 */ lw $a1, 0x0150($t1) ## 00000150
.L80ACF0FC:
/* 0132C 80ACF0FC 10A00017 */ beq $a1, $zero, .L80ACF15C
/* 01330 80ACF100 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 01334 80ACF104 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01338 80ACF108 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 0133C 80ACF10C 3C0580AD */ lui $a1, %hi(D_80ACF220) ## $a1 = 80AD0000
/* 01340 80ACF110 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01344 80ACF114 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 01348 80ACF118 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 0134C 80ACF11C 8FAB009C */ lw $t3, 0x009C($sp)
/* 01350 80ACF120 24A5F220 */ addiu $a1, $a1, %lo(D_80ACF220) ## $a1 = 80ACF220
/* 01354 80ACF124 240602B8 */ addiu $a2, $zero, 0x02B8 ## $a2 = 000002B8
/* 01358 80ACF128 8D640000 */ lw $a0, 0x0000($t3) ## 00000008
/* 0135C 80ACF12C 0C0346A2 */ jal Matrix_NewMtx
/* 01360 80ACF130 AFA20040 */ sw $v0, 0x0040($sp)
/* 01364 80ACF134 8FA30040 */ lw $v1, 0x0040($sp)
/* 01368 80ACF138 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 0136C 80ACF13C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01370 80ACF140 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01374 80ACF144 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 01378 80ACF148 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 0137C 80ACF14C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 01380 80ACF150 8FAE0098 */ lw $t6, 0x0098($sp)
/* 01384 80ACF154 8DD80150 */ lw $t8, 0x0150($t6) ## 00000150
/* 01388 80ACF158 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
.L80ACF15C:
/* 0138C 80ACF15C 8FAF009C */ lw $t7, 0x009C($sp)
/* 01390 80ACF160 3C0680AD */ lui $a2, %hi(D_80ACF230) ## $a2 = 80AD0000
/* 01394 80ACF164 24C6F230 */ addiu $a2, $a2, %lo(D_80ACF230) ## $a2 = 80ACF230
/* 01398 80ACF168 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFE8
/* 0139C 80ACF16C 240702BC */ addiu $a3, $zero, 0x02BC ## $a3 = 000002BC
/* 013A0 80ACF170 0C031AD5 */ jal Graph_CloseDisps
/* 013A4 80ACF174 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 013A8 80ACF178 8FBF002C */ lw $ra, 0x002C($sp)
/* 013AC 80ACF17C 8FB00028 */ lw $s0, 0x0028($sp)
/* 013B0 80ACF180 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
/* 013B4 80ACF184 03E00008 */ jr $ra
/* 013B8 80ACF188 00000000 */ nop
/* 013BC 80ACF18C 00000000 */ nop

View file

@ -1,4 +0,0 @@
glabel EnPart_Init
/* 00000 80ACDDD0 AFA40000 */ sw $a0, 0x0000($sp)
/* 00004 80ACDDD4 03E00008 */ jr $ra
/* 00008 80ACDDD8 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,62 +0,0 @@
glabel EnPart_Update
/* 00C14 80ACE9E4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00C18 80ACE9E8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00C1C 80ACE9EC AFB00020 */ sw $s0, 0x0020($sp)
/* 00C20 80ACE9F0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C24 80ACE9F4 0C00B638 */ jal Actor_MoveForward
/* 00C28 80ACE9F8 AFA5002C */ sw $a1, 0x002C($sp)
/* 00C2C 80ACE9FC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00C30 80ACEA00 28410005 */ slti $at, $v0, 0x0005
/* 00C34 80ACEA04 14200003 */ bne $at, $zero, .L80ACEA14
/* 00C38 80ACEA08 28410009 */ slti $at, $v0, 0x0009
/* 00C3C 80ACEA0C 54200004 */ bnel $at, $zero, .L80ACEA20
/* 00C40 80ACEA10 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
.L80ACEA14:
/* 00C44 80ACEA14 0443001D */ bgezl $v0, .L80ACEA8C
/* 00C48 80ACEA18 9208014C */ lbu $t0, 0x014C($s0) ## 0000014C
/* 00C4C 80ACEA1C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
.L80ACEA20:
/* 00C50 80ACEA20 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 00C54 80ACEA24 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00C58 80ACEA28 8FA4002C */ lw $a0, 0x002C($sp)
/* 00C5C 80ACEA2C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00C60 80ACEA30 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 00C64 80ACEA34 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 00C68 80ACEA38 0C00B92D */ jal func_8002E4B4
/* 00C6C 80ACEA3C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00C70 80ACEA40 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 00C74 80ACEA44 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00C78 80ACEA48 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00C7C 80ACEA4C 05E0000E */ bltz $t7, .L80ACEA88
/* 00C80 80ACEA50 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00C84 80ACEA54 44050000 */ mfc1 $a1, $f0
/* 00C88 80ACEA58 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 00C8C 80ACEA5C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00C90 80ACEA60 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00C94 80ACEA64 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 00C98 80ACEA68 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00C9C 80ACEA6C 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000
/* 00CA0 80ACEA70 53000006 */ beql $t8, $zero, .L80ACEA8C
/* 00CA4 80ACEA74 9208014C */ lbu $t0, 0x014C($s0) ## 0000014C
/* 00CA8 80ACEA78 44813000 */ mtc1 $at, $f6 ## $f6 = 6.00
/* 00CAC 80ACEA7C 3059FFFE */ andi $t9, $v0, 0xFFFE ## $t9 = 00000000
/* 00CB0 80ACEA80 A6190088 */ sh $t9, 0x0088($s0) ## 00000088
/* 00CB4 80ACEA84 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
.L80ACEA88:
/* 00CB8 80ACEA88 9208014C */ lbu $t0, 0x014C($s0) ## 0000014C
.L80ACEA8C:
/* 00CBC 80ACEA8C 3C1980AD */ lui $t9, %hi(D_80ACF1F8) ## $t9 = 80AD0000
/* 00CC0 80ACEA90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CC4 80ACEA94 00084880 */ sll $t1, $t0, 2
/* 00CC8 80ACEA98 0329C821 */ addu $t9, $t9, $t1
/* 00CCC 80ACEA9C 8F39F1F8 */ lw $t9, %lo(D_80ACF1F8)($t9)
/* 00CD0 80ACEAA0 8FA5002C */ lw $a1, 0x002C($sp)
/* 00CD4 80ACEAA4 0320F809 */ jalr $ra, $t9
/* 00CD8 80ACEAA8 00000000 */ nop
/* 00CDC 80ACEAAC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00CE0 80ACEAB0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00CE4 80ACEAB4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00CE8 80ACEAB8 03E00008 */ jr $ra
/* 00CEC 80ACEABC 00000000 */ nop

View file

@ -1,288 +0,0 @@
.late_rodata
glabel D_80ACF240
.word 0x469C4000
glabel jtbl_80ACF244
.word L80ACDE58
.word L80ACDF68
.word L80ACDF98
.word L80ACE010
.word L80ACDF68
.word L80ACE0AC
.word L80ACE0AC
.word L80ACE0AC
.word L80ACE0AC
.word L80ACDF68
.word L80ACDF68
.word L80ACDFEC
.word L80ACDEBC
.word L80ACDEB4
.word L80ACDF44
glabel D_80ACF280
.word 0xBE99999A
glabel D_80ACF284
.float 0.3
glabel D_80ACF288
.word 0xBF19999A
glabel D_80ACF28C
.float 0.15
glabel D_80ACF290
.word 0xBF19999A
glabel D_80ACF294
.float 0.15
glabel D_80ACF298
.word 0xBF19999A
glabel D_80ACF29C
.float 0.3
glabel D_80ACF2A0
.float 0.15
glabel D_80ACF2A4
.float -1.2
glabel D_80ACF2A8
.float 0.15
.text
glabel func_80ACDDE8
/* 00018 80ACDDE8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0001C 80ACDDEC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00020 80ACDDF0 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00024 80ACDDF4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00028 80ACDDF8 AFB00028 */ sw $s0, 0x0028($sp)
/* 0002C 80ACDDFC AFA5003C */ sw $a1, 0x003C($sp)
/* 00030 80ACDE00 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00034 80ACDE04 A08E014C */ sb $t6, 0x014C($a0) ## 0000014C
/* 00038 80ACDE08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0003C 80ACDE0C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00040 80ACDE10 E7A20034 */ swc1 $f2, 0x0034($sp)
/* 00044 80ACDE14 3C0180AD */ lui $at, %hi(D_80ACF240) ## $at = 80AD0000
/* 00048 80ACDE18 C424F240 */ lwc1 $f4, %lo(D_80ACF240)($at)
/* 0004C 80ACDE1C 9619001C */ lhu $t9, 0x001C($s0) ## 0000001C
/* 00050 80ACDE20 8FA4003C */ lw $a0, 0x003C($sp)
/* 00054 80ACDE24 46040182 */ mul.s $f6, $f0, $f4
/* 00058 80ACDE28 C7A20034 */ lwc1 $f2, 0x0034($sp)
/* 0005C 80ACDE2C 2F21000F */ sltiu $at, $t9, 0x000F
/* 00060 80ACDE30 0019C880 */ sll $t9, $t9, 2
/* 00064 80ACDE34 4600320D */ trunc.w.s $f8, $f6
/* 00068 80ACDE38 44184000 */ mfc1 $t8, $f8
/* 0006C 80ACDE3C 102000BA */ beq $at, $zero, .L80ACE128
/* 00070 80ACDE40 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 00074 80ACDE44 3C0180AD */ lui $at, %hi(jtbl_80ACF244) ## $at = 80AD0000
/* 00078 80ACDE48 00390821 */ addu $at, $at, $t9
/* 0007C 80ACDE4C 8C39F244 */ lw $t9, %lo(jtbl_80ACF244)($at)
/* 00080 80ACDE50 03200008 */ jr $t9
/* 00084 80ACDE54 00000000 */ nop
glabel L80ACDE58
/* 00088 80ACDE58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0008C 80ACDE5C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00090 80ACDE60 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00094 80ACDE64 3C0180AD */ lui $at, %hi(D_80ACF280) ## $at = 80AD0000
/* 00098 80ACDE68 C42AF280 */ lwc1 $f10, %lo(D_80ACF280)($at)
/* 0009C 80ACDE6C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 000A0 80ACDE70 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
/* 000A4 80ACDE74 3C0180AD */ lui $at, %hi(D_80ACF284) ## $at = 80AD0000
/* 000A8 80ACDE78 24080019 */ addiu $t0, $zero, 0x0019 ## $t0 = 00000019
/* 000AC 80ACDE7C 46100482 */ mul.s $f18, $f0, $f16
/* 000B0 80ACDE80 46125101 */ sub.s $f4, $f10, $f18
/* 000B4 80ACDE84 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 000B8 80ACDE88 C426F284 */ lwc1 $f6, %lo(D_80ACF284)($at)
/* 000BC 80ACDE8C A608014E */ sh $t0, 0x014E($s0) ## 0000014E
/* 000C0 80ACDE90 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 000C4 80ACDE94 E6060158 */ swc1 $f6, 0x0158($s0) ## 00000158
/* 000C8 80ACDE98 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 000CC 80ACDE9C 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 000D0 80ACDEA0 00000000 */ nop
/* 000D4 80ACDEA4 46080081 */ sub.s $f2, $f0, $f8
/* 000D8 80ACDEA8 46021400 */ add.s $f16, $f2, $f2
/* 000DC 80ACDEAC 1000009E */ beq $zero, $zero, .L80ACE128
/* 000E0 80ACDEB0 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
glabel L80ACDEB4
/* 000E4 80ACDEB4 24090190 */ addiu $t1, $zero, 0x0190 ## $t1 = 00000190
/* 000E8 80ACDEB8 A609014E */ sh $t1, 0x014E($s0) ## 0000014E
glabel L80ACDEBC
/* 000EC 80ACDEBC 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 000F0 80ACDEC0 44816000 */ mtc1 $at, $f12 ## $f12 = 6.00
/* 000F4 80ACDEC4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 000F8 80ACDEC8 00000000 */ nop
/* 000FC 80ACDECC 8E0B0024 */ lw $t3, 0x0024($s0) ## 00000024
/* 00100 80ACDED0 860C014E */ lh $t4, 0x014E($s0) ## 0000014E
/* 00104 80ACDED4 8E0A0028 */ lw $t2, 0x0028($s0) ## 00000028
/* 00108 80ACDED8 AE0B0008 */ sw $t3, 0x0008($s0) ## 00000008
/* 0010C 80ACDEDC 8E0B002C */ lw $t3, 0x002C($s0) ## 0000002C
/* 00110 80ACDEE0 258D003C */ addiu $t5, $t4, 0x003C ## $t5 = 0000003C
/* 00114 80ACDEE4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00118 80ACDEE8 A60D014E */ sh $t5, 0x014E($s0) ## 0000014E
/* 0011C 80ACDEEC AE0A000C */ sw $t2, 0x000C($s0) ## 0000000C
/* 00120 80ACDEF0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00124 80ACDEF4 AE0B0010 */ sw $t3, 0x0010($s0) ## 00000010
/* 00128 80ACDEF8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0012C 80ACDEFC 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 00130 80ACDF00 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00134 80ACDF04 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00
/* 00138 80ACDF08 460A0482 */ mul.s $f18, $f0, $f10
/* 0013C 80ACDF0C 46049180 */ add.s $f6, $f18, $f4
/* 00140 80ACDF10 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00144 80ACDF14 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
/* 00148 80ACDF18 3C0180AD */ lui $at, %hi(D_80ACF288) ## $at = 80AD0000
/* 0014C 80ACDF1C C428F288 */ lwc1 $f8, %lo(D_80ACF288)($at)
/* 00150 80ACDF20 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00154 80ACDF24 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
/* 00158 80ACDF28 3C0180AD */ lui $at, %hi(D_80ACF28C) ## $at = 80AD0000
/* 0015C 80ACDF2C 46100282 */ mul.s $f10, $f0, $f16
/* 00160 80ACDF30 460A4481 */ sub.s $f18, $f8, $f10
/* 00164 80ACDF34 E612006C */ swc1 $f18, 0x006C($s0) ## 0000006C
/* 00168 80ACDF38 C424F28C */ lwc1 $f4, %lo(D_80ACF28C)($at)
/* 0016C 80ACDF3C 1000007A */ beq $zero, $zero, .L80ACE128
/* 00170 80ACDF40 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158
glabel L80ACDF44
/* 00174 80ACDF44 240E8001 */ addiu $t6, $zero, 0x8001 ## $t6 = FFFF8001
/* 00178 80ACDF48 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
/* 0017C 80ACDF4C AFAF0018 */ sw $t7, 0x0018($sp)
/* 00180 80ACDF50 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00184 80ACDF54 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00188 80ACDF58 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 0018C 80ACDF5C 24070028 */ addiu $a3, $zero, 0x0028 ## $a3 = 00000028
/* 00190 80ACDF60 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
/* 00194 80ACDF64 AFA00014 */ sw $zero, 0x0014($sp)
glabel L80ACDF68
/* 00198 80ACDF68 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0019C 80ACDF6C 00000000 */ nop
/* 001A0 80ACDF70 3C014188 */ lui $at, 0x4188 ## $at = 41880000
/* 001A4 80ACDF74 44813000 */ mtc1 $at, $f6 ## $f6 = 17.00
/* 001A8 80ACDF78 8618014E */ lh $t8, 0x014E($s0) ## 0000014E
/* 001AC 80ACDF7C 46060402 */ mul.s $f16, $f0, $f6
/* 001B0 80ACDF80 4600820D */ trunc.w.s $f8, $f16
/* 001B4 80ACDF84 440A4000 */ mfc1 $t2, $f8
/* 001B8 80ACDF88 00000000 */ nop
/* 001BC 80ACDF8C 030A5821 */ addu $t3, $t8, $t2
/* 001C0 80ACDF90 256C0005 */ addiu $t4, $t3, 0x0005 ## $t4 = 00000005
/* 001C4 80ACDF94 A60C014E */ sh $t4, 0x014E($s0) ## 0000014E
glabel L80ACDF98
/* 001C8 80ACDF98 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 001CC 80ACDF9C 00000000 */ nop
/* 001D0 80ACDFA0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 001D4 80ACDFA4 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 001D8 80ACDFA8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 001DC 80ACDFAC 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00
/* 001E0 80ACDFB0 460A0482 */ mul.s $f18, $f0, $f10
/* 001E4 80ACDFB4 46049180 */ add.s $f6, $f18, $f4
/* 001E8 80ACDFB8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 001EC 80ACDFBC E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
/* 001F0 80ACDFC0 3C0180AD */ lui $at, %hi(D_80ACF290) ## $at = 80AD0000
/* 001F4 80ACDFC4 C430F290 */ lwc1 $f16, %lo(D_80ACF290)($at)
/* 001F8 80ACDFC8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 001FC 80ACDFCC 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 00200 80ACDFD0 3C0180AD */ lui $at, %hi(D_80ACF294) ## $at = 80AD0000
/* 00204 80ACDFD4 46080282 */ mul.s $f10, $f0, $f8
/* 00208 80ACDFD8 460A8481 */ sub.s $f18, $f16, $f10
/* 0020C 80ACDFDC E612006C */ swc1 $f18, 0x006C($s0) ## 0000006C
/* 00210 80ACDFE0 C424F294 */ lwc1 $f4, %lo(D_80ACF294)($at)
/* 00214 80ACDFE4 10000050 */ beq $zero, $zero, .L80ACE128
/* 00218 80ACDFE8 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158
glabel L80ACDFEC
/* 0021C 80ACDFEC 240D8001 */ addiu $t5, $zero, 0x8001 ## $t5 = FFFF8001
/* 00220 80ACDFF0 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 00224 80ACDFF4 AFAE0018 */ sw $t6, 0x0018($sp)
/* 00228 80ACDFF8 AFAD0010 */ sw $t5, 0x0010($sp)
/* 0022C 80ACDFFC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00230 80ACE000 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 00234 80ACE004 24070028 */ addiu $a3, $zero, 0x0028 ## $a3 = 00000028
/* 00238 80ACE008 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
/* 0023C 80ACE00C AFA00014 */ sw $zero, 0x0014($sp)
glabel L80ACE010
/* 00240 80ACE010 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00244 80ACE014 00000000 */ nop
/* 00248 80ACE018 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 0024C 80ACE01C 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 00250 80ACE020 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00254 80ACE024 44818000 */ mtc1 $at, $f16 ## $f16 = 3.00
/* 00258 80ACE028 46060201 */ sub.s $f8, $f0, $f6
/* 0025C 80ACE02C 46104282 */ mul.s $f10, $f8, $f16
/* 00260 80ACE030 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00264 80ACE034 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
/* 00268 80ACE038 3C014188 */ lui $at, 0x4188 ## $at = 41880000
/* 0026C 80ACE03C 44819000 */ mtc1 $at, $f18 ## $f18 = 17.00
/* 00270 80ACE040 00000000 */ nop
/* 00274 80ACE044 46120102 */ mul.s $f4, $f0, $f18
/* 00278 80ACE048 4600218D */ trunc.w.s $f6, $f4
/* 0027C 80ACE04C 44093000 */ mfc1 $t1, $f6
/* 00280 80ACE050 00000000 */ nop
/* 00284 80ACE054 2538000A */ addiu $t8, $t1, 0x000A ## $t8 = 0000000A
/* 00288 80ACE058 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0028C 80ACE05C A618014E */ sh $t8, 0x014E($s0) ## 0000014E
/* 00290 80ACE060 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00294 80ACE064 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
/* 00298 80ACE068 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 0029C 80ACE06C 44815000 */ mtc1 $at, $f10 ## $f10 = 8.00
/* 002A0 80ACE070 46080402 */ mul.s $f16, $f0, $f8
/* 002A4 80ACE074 460A8480 */ add.s $f18, $f16, $f10
/* 002A8 80ACE078 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 002AC 80ACE07C E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
/* 002B0 80ACE080 3C0180AD */ lui $at, %hi(D_80ACF298) ## $at = 80AD0000
/* 002B4 80ACE084 C424F298 */ lwc1 $f4, %lo(D_80ACF298)($at)
/* 002B8 80ACE088 3C0180AD */ lui $at, %hi(D_80ACF29C) ## $at = 80AD0000
/* 002BC 80ACE08C C426F29C */ lwc1 $f6, %lo(D_80ACF29C)($at)
/* 002C0 80ACE090 3C0180AD */ lui $at, %hi(D_80ACF2A0) ## $at = 80AD0000
/* 002C4 80ACE094 46060202 */ mul.s $f8, $f0, $f6
/* 002C8 80ACE098 46082401 */ sub.s $f16, $f4, $f8
/* 002CC 80ACE09C E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C
/* 002D0 80ACE0A0 C42AF2A0 */ lwc1 $f10, %lo(D_80ACF2A0)($at)
/* 002D4 80ACE0A4 10000020 */ beq $zero, $zero, .L80ACE128
/* 002D8 80ACE0A8 E60A0158 */ swc1 $f10, 0x0158($s0) ## 00000158
glabel L80ACE0AC
/* 002DC 80ACE0AC 8E0A0118 */ lw $t2, 0x0118($s0) ## 00000118
/* 002E0 80ACE0B0 8E0D0150 */ lw $t5, 0x0150($s0) ## 00000150
/* 002E4 80ACE0B4 3C0C0601 */ lui $t4, 0x0601 ## $t4 = 06010000
/* 002E8 80ACE0B8 854B00B6 */ lh $t3, 0x00B6($t2) ## 000000B6
/* 002EC 80ACE0BC 258C5380 */ addiu $t4, $t4, 0x5380 ## $t4 = 06015380
/* 002F0 80ACE0C0 158D0004 */ bne $t4, $t5, .L80ACE0D4
/* 002F4 80ACE0C4 A60B0032 */ sh $t3, 0x0032($s0) ## 00000032
/* 002F8 80ACE0C8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 002FC 80ACE0CC 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
/* 00300 80ACE0D0 00000000 */ nop
.L80ACE0D4:
/* 00304 80ACE0D4 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00308 80ACE0D8 44819000 */ mtc1 $at, $f18 ## $f18 = 6.00
/* 0030C 80ACE0DC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00310 80ACE0E0 3C0180AD */ lui $at, %hi(D_80ACF2A4) ## $at = 80AD0000
/* 00314 80ACE0E4 46029182 */ mul.s $f6, $f18, $f2
/* 00318 80ACE0E8 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 0031C 80ACE0EC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00320 80ACE0F0 44050000 */ mfc1 $a1, $f0
/* 00324 80ACE0F4 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 00328 80ACE0F8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0032C 80ACE0FC 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00330 80ACE100 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00334 80ACE104 C424F2A4 */ lwc1 $f4, %lo(D_80ACF2A4)($at)
/* 00338 80ACE108 3C0180AD */ lui $at, %hi(D_80ACF2A8) ## $at = 80AD0000
/* 0033C 80ACE10C E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 00340 80ACE110 C428F2A8 */ lwc1 $f8, %lo(D_80ACF2A8)($at)
/* 00344 80ACE114 46024402 */ mul.s $f16, $f8, $f2
/* 00348 80ACE118 0C00AC78 */ jal ActorShape_Init
/* 0034C 80ACE11C E6100158 */ swc1 $f16, 0x0158($s0) ## 00000158
/* 00350 80ACE120 240E0012 */ addiu $t6, $zero, 0x0012 ## $t6 = 00000012
/* 00354 80ACE124 A60E014E */ sh $t6, 0x014E($s0) ## 0000014E
.L80ACE128:
/* 00358 80ACE128 8FBF002C */ lw $ra, 0x002C($sp)
/* 0035C 80ACE12C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00360 80ACE130 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00364 80ACE134 03E00008 */ jr $ra
/* 00368 80ACE138 00000000 */ nop

View file

@ -1,331 +0,0 @@
.late_rodata
glabel jtbl_80ACF2AC
.word L80ACE2AC
.word L80ACE56C
.word L80ACE348
.word L80ACE3E4
.word L80ACE4A4
.word L80ACE4A4
.word L80ACE4A4
.word L80ACE4A4
.word L80ACE2AC
.word L80ACE2AC
.word L80ACE348
.word L80ACE56C
.word L80ACE56C
.word L80ACE2AC
.text
glabel func_80ACE13C
/* 0036C 80ACE13C 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 00370 80ACE140 3C0F80AD */ lui $t7, %hi(D_80ACF1B0) ## $t7 = 80AD0000
/* 00374 80ACE144 AFBF0064 */ sw $ra, 0x0064($sp)
/* 00378 80ACE148 AFB40060 */ sw $s4, 0x0060($sp)
/* 0037C 80ACE14C AFB3005C */ sw $s3, 0x005C($sp)
/* 00380 80ACE150 AFB20058 */ sw $s2, 0x0058($sp)
/* 00384 80ACE154 AFB10054 */ sw $s1, 0x0054($sp)
/* 00388 80ACE158 AFB00050 */ sw $s0, 0x0050($sp)
/* 0038C 80ACE15C F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 00390 80ACE160 25EFF1B0 */ addiu $t7, $t7, %lo(D_80ACF1B0) ## $t7 = 80ACF1B0
/* 00394 80ACE164 8DF90000 */ lw $t9, 0x0000($t7) ## 80ACF1B0
/* 00398 80ACE168 27AE008C */ addiu $t6, $sp, 0x008C ## $t6 = FFFFFFE4
/* 0039C 80ACE16C 8DF80004 */ lw $t8, 0x0004($t7) ## 80ACF1B4
/* 003A0 80ACE170 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE4
/* 003A4 80ACE174 8DF90008 */ lw $t9, 0x0008($t7) ## 80ACF1B8
/* 003A8 80ACE178 3C0980AD */ lui $t1, %hi(D_80ACF1BC) ## $t1 = 80AD0000
/* 003AC 80ACE17C 2529F1BC */ addiu $t1, $t1, %lo(D_80ACF1BC) ## $t1 = 80ACF1BC
/* 003B0 80ACE180 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFE8
/* 003B4 80ACE184 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFEC
/* 003B8 80ACE188 8D2B0000 */ lw $t3, 0x0000($t1) ## 80ACF1BC
/* 003BC 80ACE18C 27A80080 */ addiu $t0, $sp, 0x0080 ## $t0 = FFFFFFD8
/* 003C0 80ACE190 8D2A0004 */ lw $t2, 0x0004($t1) ## 80ACF1C0
/* 003C4 80ACE194 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFD8
/* 003C8 80ACE198 8D2B0008 */ lw $t3, 0x0008($t1) ## 80ACF1C4
/* 003CC 80ACE19C 3C0C80AD */ lui $t4, %hi(D_80ACF1C8) ## $t4 = 80AD0000
/* 003D0 80ACE1A0 258CF1C8 */ addiu $t4, $t4, %lo(D_80ACF1C8) ## $t4 = 80ACF1C8
/* 003D4 80ACE1A4 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFDC
/* 003D8 80ACE1A8 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFE0
/* 003DC 80ACE1AC 8D8E0000 */ lw $t6, 0x0000($t4) ## 80ACF1C8
/* 003E0 80ACE1B0 27B30074 */ addiu $s3, $sp, 0x0074 ## $s3 = FFFFFFCC
/* 003E4 80ACE1B4 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
/* 003E8 80ACE1B8 AE6E0000 */ sw $t6, 0x0000($s3) ## FFFFFFCC
/* 003EC 80ACE1BC 8D8D0004 */ lw $t5, 0x0004($t4) ## 80ACF1CC
/* 003F0 80ACE1C0 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 003F4 80ACE1C4 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 003F8 80ACE1C8 AE6D0004 */ sw $t5, 0x0004($s3) ## FFFFFFD0
/* 003FC 80ACE1CC 8D8E0008 */ lw $t6, 0x0008($t4) ## 80ACF1D0
/* 00400 80ACE1D0 AE6E0008 */ sw $t6, 0x0008($s3) ## FFFFFFD4
/* 00404 80ACE1D4 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00408 80ACE1D8 10410004 */ beq $v0, $at, .L80ACE1EC
/* 0040C 80ACE1DC 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF
/* 00410 80ACE1E0 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
/* 00414 80ACE1E4 54410027 */ bnel $v0, $at, .L80ACE284
/* 00418 80ACE1E8 8623014E */ lh $v1, 0x014E($s1) ## 0000014E
.L80ACE1EC:
/* 0041C 80ACE1EC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 00420 80ACE1F0 240F001D */ addiu $t7, $zero, 0x001D ## $t7 = 0000001D
/* 00424 80ACE1F4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00428 80ACE1F8 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 0042C 80ACE1FC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00430 80ACE200 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 00434 80ACE204 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 00438 80ACE208 0C00B92D */ jal func_8002E4B4
/* 0043C 80ACE20C E7B40010 */ swc1 $f20, 0x0010($sp)
/* 00440 80ACE210 96380088 */ lhu $t8, 0x0088($s1) ## 00000088
/* 00444 80ACE214 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 00448 80ACE218 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 0044C 80ACE21C 57200008 */ bnel $t9, $zero, .L80ACE240
/* 00450 80ACE220 A228014C */ sb $t0, 0x014C($s1) ## 0000014C
/* 00454 80ACE224 C6240080 */ lwc1 $f4, 0x0080($s1) ## 00000080
/* 00458 80ACE228 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
/* 0045C 80ACE22C 4604303E */ c.le.s $f6, $f4
/* 00460 80ACE230 00000000 */ nop
/* 00464 80ACE234 45020006 */ bc1fl .L80ACE250
/* 00468 80ACE238 8629001C */ lh $t1, 0x001C($s1) ## 0000001C
/* 0046C 80ACE23C A228014C */ sb $t0, 0x014C($s1) ## 0000014C
.L80ACE240:
/* 00470 80ACE240 E6340068 */ swc1 $f20, 0x0068($s1) ## 00000068
/* 00474 80ACE244 E634006C */ swc1 $f20, 0x006C($s1) ## 0000006C
/* 00478 80ACE248 E6340060 */ swc1 $f20, 0x0060($s1) ## 00000060
/* 0047C 80ACE24C 8629001C */ lh $t1, 0x001C($s1) ## 0000001C
.L80ACE250:
/* 00480 80ACE250 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
/* 00484 80ACE254 15210008 */ bne $t1, $at, .L80ACE278
/* 00488 80ACE258 00000000 */ nop
/* 0048C 80ACE25C 8E220118 */ lw $v0, 0x0118($s1) ## 00000118
/* 00490 80ACE260 10400005 */ beq $v0, $zero, .L80ACE278
/* 00494 80ACE264 00000000 */ nop
/* 00498 80ACE268 8C4A0130 */ lw $t2, 0x0130($v0) ## 00000130
/* 0049C 80ACE26C 15400002 */ bne $t2, $zero, .L80ACE278
/* 004A0 80ACE270 00000000 */ nop
/* 004A4 80ACE274 AE200118 */ sw $zero, 0x0118($s1) ## 00000118
.L80ACE278:
/* 004A8 80ACE278 100000C0 */ beq $zero, $zero, .L80ACE57C
/* 004AC 80ACE27C 8623014E */ lh $v1, 0x014E($s1) ## 0000014E
/* 004B0 80ACE280 8623014E */ lh $v1, 0x014E($s1) ## 0000014E
.L80ACE284:
/* 004B4 80ACE284 2D61000E */ sltiu $at, $t3, 0x000E
/* 004B8 80ACE288 000B5880 */ sll $t3, $t3, 2
/* 004BC 80ACE28C 5C6000BC */ bgtzl $v1, .L80ACE580
/* 004C0 80ACE290 C6300154 */ lwc1 $f16, 0x0154($s1) ## 00000154
/* 004C4 80ACE294 102000B5 */ beq $at, $zero, .L80ACE56C
/* 004C8 80ACE298 3C0180AD */ lui $at, %hi(jtbl_80ACF2AC) ## $at = 80AD0000
/* 004CC 80ACE29C 002B0821 */ addu $at, $at, $t3
/* 004D0 80ACE2A0 8C2BF2AC */ lw $t3, %lo(jtbl_80ACF2AC)($at)
/* 004D4 80ACE2A4 01600008 */ jr $t3
/* 004D8 80ACE2A8 00000000 */ nop
glabel L80ACE2AC
/* 004DC 80ACE2AC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 004E0 80ACE2B0 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 004E4 80ACE2B4 C6280054 */ lwc1 $f8, 0x0054($s1) ## 00000054
/* 004E8 80ACE2B8 24190007 */ addiu $t9, $zero, 0x0007 ## $t9 = 00000007
/* 004EC 80ACE2BC 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 004F0 80ACE2C0 460A4402 */ mul.s $f16, $f8, $f10
/* 004F4 80ACE2C4 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 004F8 80ACE2C8 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 004FC 80ACE2CC 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 00500 80ACE2D0 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00504 80ACE2D4 AFAC002C */ sw $t4, 0x002C($sp)
/* 00508 80ACE2D8 AFAB0024 */ sw $t3, 0x0024($sp)
/* 0050C 80ACE2DC 4600848D */ trunc.w.s $f18, $f16
/* 00510 80ACE2E0 AFAA0020 */ sw $t2, 0x0020($sp)
/* 00514 80ACE2E4 AFA9001C */ sw $t1, 0x001C($sp)
/* 00518 80ACE2E8 AFA80018 */ sw $t0, 0x0018($sp)
/* 0051C 80ACE2EC 440D9000 */ mfc1 $t5, $f18
/* 00520 80ACE2F0 AFB90014 */ sw $t9, 0x0014($sp)
/* 00524 80ACE2F4 AFA00030 */ sw $zero, 0x0030($sp)
/* 00528 80ACE2F8 000D7400 */ sll $t6, $t5, 16
/* 0052C 80ACE2FC 000E7C03 */ sra $t7, $t6, 16
/* 00530 80ACE300 000FC080 */ sll $t8, $t7, 2
/* 00534 80ACE304 030FC021 */ addu $t8, $t8, $t7
/* 00538 80ACE308 0018C0C0 */ sll $t8, $t8, 3
/* 0053C 80ACE30C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00540 80ACE310 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
/* 00544 80ACE314 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 00548 80ACE318 AFAD0034 */ sw $t5, 0x0034($sp)
/* 0054C 80ACE31C AFAE0038 */ sw $t6, 0x0038($sp)
/* 00550 80ACE320 AFAF003C */ sw $t7, 0x003C($sp)
/* 00554 80ACE324 AFB80010 */ sw $t8, 0x0010($sp)
/* 00558 80ACE328 AFA00028 */ sw $zero, 0x0028($sp)
/* 0055C 80ACE32C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00560 80ACE330 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
/* 00564 80ACE334 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFCC
/* 00568 80ACE338 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 0056C 80ACE33C 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFCC
/* 00570 80ACE340 1000008A */ beq $zero, $zero, .L80ACE56C
/* 00574 80ACE344 00000000 */ nop
glabel L80ACE348
/* 00578 80ACE348 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0057C 80ACE34C 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 00580 80ACE350 C6240054 */ lwc1 $f4, 0x0054($s1) ## 00000054
/* 00584 80ACE354 240B0007 */ addiu $t3, $zero, 0x0007 ## $t3 = 00000007
/* 00588 80ACE358 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 0058C 80ACE35C 46062202 */ mul.s $f8, $f4, $f6
/* 00590 80ACE360 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 00594 80ACE364 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00598 80ACE368 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 0059C 80ACE36C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 005A0 80ACE370 AFB80030 */ sw $t8, 0x0030($sp)
/* 005A4 80ACE374 AFAF0024 */ sw $t7, 0x0024($sp)
/* 005A8 80ACE378 4600428D */ trunc.w.s $f10, $f8
/* 005AC 80ACE37C AFAE0020 */ sw $t6, 0x0020($sp)
/* 005B0 80ACE380 AFAD001C */ sw $t5, 0x001C($sp)
/* 005B4 80ACE384 AFAC0018 */ sw $t4, 0x0018($sp)
/* 005B8 80ACE388 44195000 */ mfc1 $t9, $f10
/* 005BC 80ACE38C AFAB0014 */ sw $t3, 0x0014($sp)
/* 005C0 80ACE390 AFA0002C */ sw $zero, 0x002C($sp)
/* 005C4 80ACE394 00194400 */ sll $t0, $t9, 16
/* 005C8 80ACE398 00084C03 */ sra $t1, $t0, 16
/* 005CC 80ACE39C 00095080 */ sll $t2, $t1, 2
/* 005D0 80ACE3A0 01495021 */ addu $t2, $t2, $t1
/* 005D4 80ACE3A4 000A50C0 */ sll $t2, $t2, 3
/* 005D8 80ACE3A8 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 005DC 80ACE3AC 24080009 */ addiu $t0, $zero, 0x0009 ## $t0 = 00000009
/* 005E0 80ACE3B0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 005E4 80ACE3B4 AFB90034 */ sw $t9, 0x0034($sp)
/* 005E8 80ACE3B8 AFA80038 */ sw $t0, 0x0038($sp)
/* 005EC 80ACE3BC AFA9003C */ sw $t1, 0x003C($sp)
/* 005F0 80ACE3C0 AFAA0010 */ sw $t2, 0x0010($sp)
/* 005F4 80ACE3C4 AFA00028 */ sw $zero, 0x0028($sp)
/* 005F8 80ACE3C8 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 005FC 80ACE3CC 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
/* 00600 80ACE3D0 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFCC
/* 00604 80ACE3D4 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 00608 80ACE3D8 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFCC
/* 0060C 80ACE3DC 10000063 */ beq $zero, $zero, .L80ACE56C
/* 00610 80ACE3E0 00000000 */ nop
glabel L80ACE3E4
/* 00614 80ACE3E4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 00618 80ACE3E8 4481A000 */ mtc1 $at, $f20 ## $f20 = 60.00
/* 0061C 80ACE3EC 24100007 */ addiu $s0, $zero, 0x0007 ## $s0 = 00000007
/* 00620 80ACE3F0 27B20098 */ addiu $s2, $sp, 0x0098 ## $s2 = FFFFFFF0
.L80ACE3F4:
/* 00624 80ACE3F4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00628 80ACE3F8 4600A306 */ mov.s $f12, $f20
/* 0062C 80ACE3FC C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
/* 00630 80ACE400 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00634 80ACE404 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
/* 00638 80ACE408 46100480 */ add.s $f18, $f0, $f16
/* 0063C 80ACE40C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00640 80ACE410 E7B20098 */ swc1 $f18, 0x0098($sp)
/* 00644 80ACE414 C62400BC */ lwc1 $f4, 0x00BC($s1) ## 000000BC
/* 00648 80ACE418 C6260054 */ lwc1 $f6, 0x0054($s1) ## 00000054
/* 0064C 80ACE41C C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 00650 80ACE420 4600A306 */ mov.s $f12, $f20
/* 00654 80ACE424 46062202 */ mul.s $f8, $f4, $f6
/* 00658 80ACE428 46085400 */ add.s $f16, $f10, $f8
/* 0065C 80ACE42C 46100480 */ add.s $f18, $f0, $f16
/* 00660 80ACE430 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00664 80ACE434 E7B2009C */ swc1 $f18, 0x009C($sp)
/* 00668 80ACE438 C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
/* 0066C 80ACE43C 46040180 */ add.s $f6, $f0, $f4
/* 00670 80ACE440 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00674 80ACE444 E7A600A0 */ swc1 $f6, 0x00A0($sp)
/* 00678 80ACE448 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0067C 80ACE44C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 00680 80ACE450 24040050 */ addiu $a0, $zero, 0x0050 ## $a0 = 00000050
/* 00684 80ACE454 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
/* 00688 80ACE458 460A0200 */ add.s $f8, $f0, $f10
/* 0068C 80ACE45C 0C01DF64 */ jal Math_Rand_S16Offset
/* 00690 80ACE460 E7A80090 */ swc1 $f8, 0x0090($sp)
/* 00694 80ACE464 240A0019 */ addiu $t2, $zero, 0x0019 ## $t2 = 00000019
/* 00698 80ACE468 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 0069C 80ACE46C AFAB001C */ sw $t3, 0x001C($sp)
/* 006A0 80ACE470 AFAA0014 */ sw $t2, 0x0014($sp)
/* 006A4 80ACE474 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 006A8 80ACE478 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF0
/* 006AC 80ACE47C 27A6008C */ addiu $a2, $sp, 0x008C ## $a2 = FFFFFFE4
/* 006B0 80ACE480 27A70080 */ addiu $a3, $sp, 0x0080 ## $a3 = FFFFFFD8
/* 006B4 80ACE484 AFA20010 */ sw $v0, 0x0010($sp)
/* 006B8 80ACE488 0C00A586 */ jal EffectSsDtBubble_SpawnColorProfile
/* 006BC 80ACE48C AFA00018 */ sw $zero, 0x0018($sp)
/* 006C0 80ACE490 2610FFFF */ addiu $s0, $s0, 0xFFFF ## $s0 = 00000006
/* 006C4 80ACE494 0601FFD7 */ bgez $s0, .L80ACE3F4
/* 006C8 80ACE498 00000000 */ nop
/* 006CC 80ACE49C 10000033 */ beq $zero, $zero, .L80ACE56C
/* 006D0 80ACE4A0 00000000 */ nop
glabel L80ACE4A4
/* 006D4 80ACE4A4 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 006D8 80ACE4A8 4481A000 */ mtc1 $at, $f20 ## $f20 = 25.00
/* 006DC 80ACE4AC 24100004 */ addiu $s0, $zero, 0x0004 ## $s0 = 00000004
/* 006E0 80ACE4B0 27B20098 */ addiu $s2, $sp, 0x0098 ## $s2 = FFFFFFF0
.L80ACE4B4:
/* 006E4 80ACE4B4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 006E8 80ACE4B8 4600A306 */ mov.s $f12, $f20
/* 006EC 80ACE4BC C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
/* 006F0 80ACE4C0 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 006F4 80ACE4C4 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
/* 006F8 80ACE4C8 46100480 */ add.s $f18, $f0, $f16
/* 006FC 80ACE4CC 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00700 80ACE4D0 E7B20098 */ swc1 $f18, 0x0098($sp)
/* 00704 80ACE4D4 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
/* 00708 80ACE4D8 4600A306 */ mov.s $f12, $f20
/* 0070C 80ACE4DC 46040180 */ add.s $f6, $f0, $f4
/* 00710 80ACE4E0 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00714 80ACE4E4 E7A6009C */ swc1 $f6, 0x009C($sp)
/* 00718 80ACE4E8 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 0071C 80ACE4EC 240C0028 */ addiu $t4, $zero, 0x0028 ## $t4 = 00000028
/* 00720 80ACE4F0 240D0007 */ addiu $t5, $zero, 0x0007 ## $t5 = 00000007
/* 00724 80ACE4F4 460A0200 */ add.s $f8, $f0, $f10
/* 00728 80ACE4F8 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 0072C 80ACE4FC 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 00730 80ACE500 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 00734 80ACE504 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 00738 80ACE508 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 0073C 80ACE50C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00740 80ACE510 240A0009 */ addiu $t2, $zero, 0x0009 ## $t2 = 00000009
/* 00744 80ACE514 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00748 80ACE518 E7A800A0 */ swc1 $f8, 0x00A0($sp)
/* 0074C 80ACE51C AFAB003C */ sw $t3, 0x003C($sp)
/* 00750 80ACE520 AFAA0038 */ sw $t2, 0x0038($sp)
/* 00754 80ACE524 AFA90034 */ sw $t1, 0x0034($sp)
/* 00758 80ACE528 AFA80030 */ sw $t0, 0x0030($sp)
/* 0075C 80ACE52C AFB90024 */ sw $t9, 0x0024($sp)
/* 00760 80ACE530 AFB80020 */ sw $t8, 0x0020($sp)
/* 00764 80ACE534 AFAF001C */ sw $t7, 0x001C($sp)
/* 00768 80ACE538 AFAE0018 */ sw $t6, 0x0018($sp)
/* 0076C 80ACE53C AFAD0014 */ sw $t5, 0x0014($sp)
/* 00770 80ACE540 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00774 80ACE544 AFA0002C */ sw $zero, 0x002C($sp)
/* 00778 80ACE548 AFA00028 */ sw $zero, 0x0028($sp)
/* 0077C 80ACE54C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00780 80ACE550 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF0
/* 00784 80ACE554 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFCC
/* 00788 80ACE558 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 0078C 80ACE55C 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFCC
/* 00790 80ACE560 2610FFFF */ addiu $s0, $s0, 0xFFFF ## $s0 = 00000003
/* 00794 80ACE564 0601FFD3 */ bgez $s0, .L80ACE4B4
/* 00798 80ACE568 00000000 */ nop
glabel L80ACE56C
.L80ACE56C:
/* 0079C 80ACE56C 0C00B55C */ jal Actor_Kill
/* 007A0 80ACE570 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 007A4 80ACE574 10000008 */ beq $zero, $zero, .L80ACE598
/* 007A8 80ACE578 8FBF0064 */ lw $ra, 0x0064($sp)
.L80ACE57C:
/* 007AC 80ACE57C C6300154 */ lwc1 $f16, 0x0154($s1) ## 00000154
.L80ACE580:
/* 007B0 80ACE580 C6320158 */ lwc1 $f18, 0x0158($s1) ## 00000158
/* 007B4 80ACE584 246CFFFF */ addiu $t4, $v1, 0xFFFF ## $t4 = FFFFFFFF
/* 007B8 80ACE588 A62C014E */ sh $t4, 0x014E($s1) ## 0000014E
/* 007BC 80ACE58C 46128100 */ add.s $f4, $f16, $f18
/* 007C0 80ACE590 E6240154 */ swc1 $f4, 0x0154($s1) ## 00000154
/* 007C4 80ACE594 8FBF0064 */ lw $ra, 0x0064($sp)
.L80ACE598:
/* 007C8 80ACE598 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 007CC 80ACE59C 8FB00050 */ lw $s0, 0x0050($sp)
/* 007D0 80ACE5A0 8FB10054 */ lw $s1, 0x0054($sp)
/* 007D4 80ACE5A4 8FB20058 */ lw $s2, 0x0058($sp)
/* 007D8 80ACE5A8 8FB3005C */ lw $s3, 0x005C($sp)
/* 007DC 80ACE5AC 8FB40060 */ lw $s4, 0x0060($sp)
/* 007E0 80ACE5B0 03E00008 */ jr $ra
/* 007E4 80ACE5B4 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000

View file

@ -1,5 +0,0 @@
glabel func_80ACE5B8
/* 007E8 80ACE5B8 AFA50004 */ sw $a1, 0x0004($sp)
/* 007EC 80ACE5BC 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 007F0 80ACE5C0 03E00008 */ jr $ra
/* 007F4 80ACE5C4 A08E014C */ sb $t6, 0x014C($a0) ## 0000014C

View file

@ -1,153 +0,0 @@
.late_rodata
glabel D_80ACF2E4
.word 0x44228000
glabel D_80ACF2E8
.float 0.04
.text
glabel func_80ACE5C8
/* 007F8 80ACE5C8 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 007FC 80ACE5CC AFBF0034 */ sw $ra, 0x0034($sp)
/* 00800 80ACE5D0 AFB10030 */ sw $s1, 0x0030($sp)
/* 00804 80ACE5D4 AFB0002C */ sw $s0, 0x002C($sp)
/* 00808 80ACE5D8 848E014E */ lh $t6, 0x014E($a0) ## 0000014E
/* 0080C 80ACE5DC 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00810 80ACE5E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00814 80ACE5E4 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 00818 80ACE5E8 A48F014E */ sh $t7, 0x014E($a0) ## 0000014E
/* 0081C 80ACE5EC 8498014E */ lh $t8, 0x014E($a0) ## 0000014E
/* 00820 80ACE5F0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00824 80ACE5F4 27B90050 */ addiu $t9, $sp, 0x0050 ## $t9 = FFFFFFF0
/* 00828 80ACE5F8 17000005 */ bne $t8, $zero, .L80ACE610
/* 0082C 80ACE5FC 3C0880AD */ lui $t0, %hi(D_80ACF1D4) ## $t0 = 80AD0000
/* 00830 80ACE600 0C00B55C */ jal Actor_Kill
/* 00834 80ACE604 00000000 */ nop
/* 00838 80ACE608 10000073 */ beq $zero, $zero, .L80ACE7D8
/* 0083C 80ACE60C 8FBF0034 */ lw $ra, 0x0034($sp)
.L80ACE610:
/* 00840 80ACE610 2508F1D4 */ addiu $t0, $t0, %lo(D_80ACF1D4) ## $t0 = FFFFF1D4
/* 00844 80ACE614 8D0A0000 */ lw $t2, 0x0000($t0) ## FFFFF1D4
/* 00848 80ACE618 8D090004 */ lw $t1, 0x0004($t0) ## FFFFF1D8
/* 0084C 80ACE61C 3C0C80AD */ lui $t4, %hi(D_80ACF1E0) ## $t4 = 80AD0000
/* 00850 80ACE620 AF2A0000 */ sw $t2, 0x0000($t9) ## 00000000
/* 00854 80ACE624 8D0A0008 */ lw $t2, 0x0008($t0) ## FFFFF1DC
/* 00858 80ACE628 258CF1E0 */ addiu $t4, $t4, %lo(D_80ACF1E0) ## $t4 = 80ACF1E0
/* 0085C 80ACE62C AF290004 */ sw $t1, 0x0004($t9) ## 00000004
/* 00860 80ACE630 AF2A0008 */ sw $t2, 0x0008($t9) ## 00000008
/* 00864 80ACE634 8D8E0000 */ lw $t6, 0x0000($t4) ## 80ACF1E0
/* 00868 80ACE638 27AB0044 */ addiu $t3, $sp, 0x0044 ## $t3 = FFFFFFE4
/* 0086C 80ACE63C 8D8D0004 */ lw $t5, 0x0004($t4) ## 80ACF1E4
/* 00870 80ACE640 AD6E0000 */ sw $t6, 0x0000($t3) ## FFFFFFE4
/* 00874 80ACE644 8D8E0008 */ lw $t6, 0x0008($t4) ## 80ACF1E8
/* 00878 80ACE648 AD6D0004 */ sw $t5, 0x0004($t3) ## FFFFFFE8
/* 0087C 80ACE64C 3C014044 */ lui $at, 0x4044 ## $at = 40440000
/* 00880 80ACE650 AD6E0008 */ sw $t6, 0x0008($t3) ## FFFFFFEC
/* 00884 80ACE654 C604008C */ lwc1 $f4, 0x008C($s0) ## 0000008C
/* 00888 80ACE658 44813800 */ mtc1 $at, $f7 ## $f7 = 3.06
/* 0088C 80ACE65C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00890 80ACE660 46002021 */ cvt.d.s $f0, $f4
/* 00894 80ACE664 46200004 */ sqrt.d $f0, $f0
/* 00898 80ACE668 4626003E */ c.le.d $f0, $f6
/* 0089C 80ACE66C 00000000 */ nop
/* 008A0 80ACE670 4502002C */ bc1fl .L80ACE724
/* 008A4 80ACE674 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 008A8 80ACE678 80620A78 */ lb $v0, 0x0A78($v1) ## 00000A78
/* 008AC 80ACE67C 1C40000F */ bgtz $v0, .L80ACE6BC
/* 008B0 80ACE680 A3A20043 */ sb $v0, 0x0043($sp)
/* 008B4 80ACE684 2841FFD9 */ slti $at, $v0, 0xFFD9
/* 008B8 80ACE688 10200003 */ beq $at, $zero, .L80ACE698
/* 008BC 80ACE68C 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
/* 008C0 80ACE690 1000000A */ beq $zero, $zero, .L80ACE6BC
/* 008C4 80ACE694 A0600A78 */ sb $zero, 0x0A78($v1) ## 00000A78
.L80ACE698:
/* 008C8 80ACE698 A0600A78 */ sb $zero, 0x0A78($v1) ## 00000A78
/* 008CC 80ACE69C AFA3005C */ sw $v1, 0x005C($sp)
/* 008D0 80ACE6A0 0331C821 */ addu $t9, $t9, $s1
/* 008D4 80ACE6A4 8F391D58 */ lw $t9, 0x1D58($t9) ## 00011D58
/* 008D8 80ACE6A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 008DC 80ACE6AC 2405FFF8 */ addiu $a1, $zero, 0xFFF8 ## $a1 = FFFFFFF8
/* 008E0 80ACE6B0 0320F809 */ jalr $ra, $t9
/* 008E4 80ACE6B4 00000000 */ nop
/* 008E8 80ACE6B8 8FA3005C */ lw $v1, 0x005C($sp)
.L80ACE6BC:
/* 008EC 80ACE6BC 8E050118 */ lw $a1, 0x0118($s0) ## 00000118
/* 008F0 80ACE6C0 3C0180AD */ lui $at, %hi(D_80ACF2E4) ## $at = 80AD0000
/* 008F4 80ACE6C4 C428F2E4 */ lwc1 $f8, %lo(D_80ACF2E4)($at)
/* 008F8 80ACE6C8 C4AA0090 */ lwc1 $f10, 0x0090($a1) ## 00000090
/* 008FC 80ACE6CC 3C0180AD */ lui $at, %hi(D_80ACF2E8) ## $at = 80AD0000
/* 00900 80ACE6D0 C432F2E8 */ lwc1 $f18, %lo(D_80ACF2E8)($at)
/* 00904 80ACE6D4 460A4401 */ sub.s $f16, $f8, $f10
/* 00908 80ACE6D8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 0090C 80ACE6DC 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00
/* 00910 80ACE6E0 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00914 80ACE6E4 46128102 */ mul.s $f4, $f16, $f18
/* 00918 80ACE6E8 44815000 */ mtc1 $at, $f10 ## $f10 = 8.00
/* 0091C 80ACE6EC 84A70032 */ lh $a3, 0x0032($a1) ## 00000032
/* 00920 80ACE6F0 AFA3005C */ sw $v1, 0x005C($sp)
/* 00924 80ACE6F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00928 80ACE6F8 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0092C 80ACE6FC 46062200 */ add.s $f8, $f4, $f6
/* 00930 80ACE700 44064000 */ mfc1 $a2, $f8
/* 00934 80ACE704 0C00BDC7 */ jal func_8002F71C
/* 00938 80ACE708 00000000 */ nop
/* 0093C 80ACE70C 8FA3005C */ lw $v1, 0x005C($sp)
/* 00940 80ACE710 93AF0043 */ lbu $t7, 0x0043($sp)
/* 00944 80ACE714 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00948 80ACE718 A06F0A78 */ sb $t7, 0x0A78($v1) ## 00000A78
/* 0094C 80ACE71C A618014E */ sh $t8, 0x014E($s0) ## 0000014E
/* 00950 80ACE720 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
.L80ACE724:
/* 00954 80ACE724 2408012C */ addiu $t0, $zero, 0x012C ## $t0 = 0000012C
/* 00958 80ACE728 24090096 */ addiu $t1, $zero, 0x0096 ## $t1 = 00000096
/* 0095C 80ACE72C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00960 80ACE730 AFAA0018 */ sw $t2, 0x0018($sp)
/* 00964 80ACE734 AFA90014 */ sw $t1, 0x0014($sp)
/* 00968 80ACE738 AFA80010 */ sw $t0, 0x0010($sp)
/* 0096C 80ACE73C AFA50038 */ sw $a1, 0x0038($sp)
/* 00970 80ACE740 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00974 80ACE744 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00978 80ACE748 0C00CD20 */ jal func_80033480
/* 0097C 80ACE74C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00980 80ACE750 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 00984 80ACE754 44816000 */ mtc1 $at, $f12 ## $f12 = 16.00
/* 00988 80ACE758 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 0098C 80ACE75C 00000000 */ nop
/* 00990 80ACE760 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00994 80ACE764 E7A00050 */ swc1 $f0, 0x0050($sp)
/* 00998 80ACE768 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0099C 80ACE76C 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
/* 009A0 80ACE770 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 009A4 80ACE774 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00
/* 009A8 80ACE778 46100482 */ mul.s $f18, $f0, $f16
/* 009AC 80ACE77C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 009B0 80ACE780 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
/* 009B4 80ACE784 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 009B8 80ACE788 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 009BC 80ACE78C 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 009C0 80ACE790 AFB9001C */ sw $t9, 0x001C($sp)
/* 009C4 80ACE794 46049180 */ add.s $f6, $f18, $f4
/* 009C8 80ACE798 AFAE0018 */ sw $t6, 0x0018($sp)
/* 009CC 80ACE79C AFAB0010 */ sw $t3, 0x0010($sp)
/* 009D0 80ACE7A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 009D4 80ACE7A4 46083282 */ mul.s $f10, $f6, $f8
/* 009D8 80ACE7A8 8FA50038 */ lw $a1, 0x0038($sp)
/* 009DC 80ACE7AC 27A60050 */ addiu $a2, $sp, 0x0050 ## $a2 = FFFFFFF0
/* 009E0 80ACE7B0 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFE4
/* 009E4 80ACE7B4 AFA00020 */ sw $zero, 0x0020($sp)
/* 009E8 80ACE7B8 4600540D */ trunc.w.s $f16, $f10
/* 009EC 80ACE7BC 440D8000 */ mfc1 $t5, $f16
/* 009F0 80ACE7C0 0C00A5C9 */ jal EffectSsHahen_Spawn
/* 009F4 80ACE7C4 AFAD0014 */ sw $t5, 0x0014($sp)
/* 009F8 80ACE7C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009FC 80ACE7CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A00 80ACE7D0 240530E0 */ addiu $a1, $zero, 0x30E0 ## $a1 = 000030E0
/* 00A04 80ACE7D4 8FBF0034 */ lw $ra, 0x0034($sp)
.L80ACE7D8:
/* 00A08 80ACE7D8 8FB0002C */ lw $s0, 0x002C($sp)
/* 00A0C 80ACE7DC 8FB10030 */ lw $s1, 0x0030($sp)
/* 00A10 80ACE7E0 03E00008 */ jr $ra
/* 00A14 80ACE7E4 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000

View file

@ -1,141 +0,0 @@
glabel func_80ACE7E8
/* 00A18 80ACE7E8 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 00A1C 80ACE7EC 3C0E80AD */ lui $t6, %hi(D_80ACF1EC) ## $t6 = 80AD0000
/* 00A20 80ACE7F0 AFBF0054 */ sw $ra, 0x0054($sp)
/* 00A24 80ACE7F4 AFB00050 */ sw $s0, 0x0050($sp)
/* 00A28 80ACE7F8 F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 00A2C 80ACE7FC AFA5007C */ sw $a1, 0x007C($sp)
/* 00A30 80ACE800 25CEF1EC */ addiu $t6, $t6, %lo(D_80ACF1EC) ## $t6 = 80ACF1EC
/* 00A34 80ACE804 8DD80000 */ lw $t8, 0x0000($t6) ## 80ACF1EC
/* 00A38 80ACE808 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFF4
/* 00A3C 80ACE80C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A40 80ACE810 ACD80000 */ sw $t8, 0x0000($a2) ## FFFFFFF4
/* 00A44 80ACE814 8DCF0004 */ lw $t7, 0x0004($t6) ## 80ACF1F0
/* 00A48 80ACE818 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00A4C 80ACE81C 00C03825 */ or $a3, $a2, $zero ## $a3 = FFFFFFF4
/* 00A50 80ACE820 ACCF0004 */ sw $t7, 0x0004($a2) ## FFFFFFF8
/* 00A54 80ACE824 8DD80008 */ lw $t8, 0x0008($t6) ## 80ACF1F4
/* 00A58 80ACE828 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00A5C 80ACE82C 240D0007 */ addiu $t5, $zero, 0x0007 ## $t5 = 00000007
/* 00A60 80ACE830 ACD80008 */ sw $t8, 0x0008($a2) ## FFFFFFFC
/* 00A64 80ACE834 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
/* 00A68 80ACE838 8FA4007C */ lw $a0, 0x007C($sp)
/* 00A6C 80ACE83C 50400005 */ beql $v0, $zero, .L80ACE854
/* 00A70 80ACE840 C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054
/* 00A74 80ACE844 8C590130 */ lw $t9, 0x0130($v0) ## 00000130
/* 00A78 80ACE848 57200025 */ bnel $t9, $zero, .L80ACE8E0
/* 00A7C 80ACE84C 8603014E */ lh $v1, 0x014E($s0) ## 0000014E
/* 00A80 80ACE850 C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054
.L80ACE854:
/* 00A84 80ACE854 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 00A88 80ACE858 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00A8C 80ACE85C 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 00A90 80ACE860 46062202 */ mul.s $f8, $f4, $f6
/* 00A94 80ACE864 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 00A98 80ACE868 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 00A9C 80ACE86C 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 00AA0 80ACE870 AFA8002C */ sw $t0, 0x002C($sp)
/* 00AA4 80ACE874 AFB90024 */ sw $t9, 0x0024($sp)
/* 00AA8 80ACE878 AFB80020 */ sw $t8, 0x0020($sp)
/* 00AAC 80ACE87C 4600428D */ trunc.w.s $f10, $f8
/* 00AB0 80ACE880 AFAF001C */ sw $t7, 0x001C($sp)
/* 00AB4 80ACE884 AFAE0018 */ sw $t6, 0x0018($sp)
/* 00AB8 80ACE888 AFA00030 */ sw $zero, 0x0030($sp)
/* 00ABC 80ACE88C 44095000 */ mfc1 $t1, $f10
/* 00AC0 80ACE890 AFA00028 */ sw $zero, 0x0028($sp)
/* 00AC4 80ACE894 AFAD0014 */ sw $t5, 0x0014($sp)
/* 00AC8 80ACE898 00095400 */ sll $t2, $t1, 16
/* 00ACC 80ACE89C 000A5C03 */ sra $t3, $t2, 16
/* 00AD0 80ACE8A0 000B6080 */ sll $t4, $t3, 2
/* 00AD4 80ACE8A4 018B6021 */ addu $t4, $t4, $t3
/* 00AD8 80ACE8A8 000C60C0 */ sll $t4, $t4, 3
/* 00ADC 80ACE8AC 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00AE0 80ACE8B0 240A0009 */ addiu $t2, $zero, 0x0009 ## $t2 = 00000009
/* 00AE4 80ACE8B4 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00AE8 80ACE8B8 AFA90034 */ sw $t1, 0x0034($sp)
/* 00AEC 80ACE8BC AFAA0038 */ sw $t2, 0x0038($sp)
/* 00AF0 80ACE8C0 AFAB003C */ sw $t3, 0x003C($sp)
/* 00AF4 80ACE8C4 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 00AF8 80ACE8C8 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00AFC 80ACE8CC 0C00B55C */ jal Actor_Kill
/* 00B00 80ACE8D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B04 80ACE8D4 1000003F */ beq $zero, $zero, .L80ACE9D4
/* 00B08 80ACE8D8 8FBF0054 */ lw $ra, 0x0054($sp)
/* 00B0C 80ACE8DC 8603014E */ lh $v1, 0x014E($s0) ## 0000014E
.L80ACE8E0:
/* 00B10 80ACE8E0 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00B14 80ACE8E4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B18 80ACE8E8 14600030 */ bne $v1, $zero, .L80ACE9AC
/* 00B1C 80ACE8EC 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 00B20 80ACE8F0 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 00B24 80ACE8F4 8E050008 */ lw $a1, 0x0008($s0) ## 00000008
/* 00B28 80ACE8F8 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B2C 80ACE8FC E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00B30 80ACE900 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00B34 80ACE904 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
/* 00B38 80ACE908 46000506 */ mov.s $f20, $f0
/* 00B3C 80ACE90C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00B40 80ACE910 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B44 80ACE914 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 00B48 80ACE918 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B4C 80ACE91C E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00B50 80ACE920 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00B54 80ACE924 8E050010 */ lw $a1, 0x0010($s0) ## 00000010
/* 00B58 80ACE928 4600A500 */ add.s $f20, $f20, $f0
/* 00B5C 80ACE92C 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 00B60 80ACE930 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B64 80ACE934 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 00B68 80ACE938 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B6C 80ACE93C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00B70 80ACE940 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00B74 80ACE944 4600A500 */ add.s $f20, $f20, $f0
/* 00B78 80ACE948 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154
/* 00B7C 80ACE94C 44051000 */ mfc1 $a1, $f2
/* 00B80 80ACE950 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B84 80ACE954 3C073E80 */ lui $a3, 0x3E80 ## $a3 = 3E800000
/* 00B88 80ACE958 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B8C 80ACE95C E7A20010 */ swc1 $f2, 0x0010($sp)
/* 00B90 80ACE960 4600A500 */ add.s $f20, $f20, $f0
/* 00B94 80ACE964 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00B98 80ACE968 00000000 */ nop
/* 00B9C 80ACE96C 4606A032 */ c.eq.s $f20, $f6
/* 00BA0 80ACE970 00000000 */ nop
/* 00BA4 80ACE974 4500000B */ bc1f .L80ACE9A4
/* 00BA8 80ACE978 00000000 */ nop
/* 00BAC 80ACE97C 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 00BB0 80ACE980 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BB4 80ACE984 2405383A */ addiu $a1, $zero, 0x383A ## $a1 = 0000383A
/* 00BB8 80ACE988 844C0014 */ lh $t4, 0x0014($v0) ## 00000014
/* 00BBC 80ACE98C 258DFFFF */ addiu $t5, $t4, 0xFFFF ## $t5 = FFFFFFFF
/* 00BC0 80ACE990 A44D0014 */ sh $t5, 0x0014($v0) ## 00000014
/* 00BC4 80ACE994 860E014E */ lh $t6, 0x014E($s0) ## 0000014E
/* 00BC8 80ACE998 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 00BCC 80ACE99C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BD0 80ACE9A0 A60F014E */ sh $t7, 0x014E($s0) ## 0000014E
.L80ACE9A4:
/* 00BD4 80ACE9A4 10000005 */ beq $zero, $zero, .L80ACE9BC
/* 00BD8 80ACE9A8 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L80ACE9AC:
/* 00BDC 80ACE9AC 18600003 */ blez $v1, .L80ACE9BC
/* 00BE0 80ACE9B0 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
/* 00BE4 80ACE9B4 A618014E */ sh $t8, 0x014E($s0) ## 0000014E
/* 00BE8 80ACE9B8 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L80ACE9BC:
/* 00BEC 80ACE9BC 905900AF */ lbu $t9, 0x00AF($v0) ## 000000AF
/* 00BF0 80ACE9C0 53200004 */ beql $t9, $zero, .L80ACE9D4
/* 00BF4 80ACE9C4 8FBF0054 */ lw $ra, 0x0054($sp)
/* 00BF8 80ACE9C8 0C00B55C */ jal Actor_Kill
/* 00BFC 80ACE9CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C00 80ACE9D0 8FBF0054 */ lw $ra, 0x0054($sp)
.L80ACE9D4:
/* 00C04 80ACE9D4 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 00C08 80ACE9D8 8FB00050 */ lw $s0, 0x0050($sp)
/* 00C0C 80ACE9DC 03E00008 */ jr $ra
/* 00C10 80ACE9E0 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000

View file

@ -1,49 +0,0 @@
glabel func_80ACEAC0
/* 00CF0 80ACEAC0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00CF4 80ACEAC4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CF8 80ACEAC8 AFA5001C */ sw $a1, 0x001C($sp)
/* 00CFC 80ACEACC AFA60020 */ sw $a2, 0x0020($sp)
/* 00D00 80ACEAD0 AFA70024 */ sw $a3, 0x0024($sp)
/* 00D04 80ACEAD4 0C031A73 */ jal Graph_Alloc
/* 00D08 80ACEAD8 24050020 */ addiu $a1, $zero, 0x0020 ## $a1 = 00000020
/* 00D0C 80ACEADC 3C0EE700 */ lui $t6, 0xE700 ## $t6 = E7000000
/* 00D10 80ACEAE0 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 00D14 80ACEAE4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00D18 80ACEAE8 24440008 */ addiu $a0, $v0, 0x0008 ## $a0 = 00000008
/* 00D1C 80ACEAEC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00D20 80ACEAF0 00801025 */ or $v0, $a0, $zero ## $v0 = 00000008
/* 00D24 80ACEAF4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
/* 00D28 80ACEAF8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000008
/* 00D2C 80ACEAFC 93AA0023 */ lbu $t2, 0x0023($sp)
/* 00D30 80ACEB00 93B9001F */ lbu $t9, 0x001F($sp)
/* 00D34 80ACEB04 93AE0027 */ lbu $t6, 0x0027($sp)
/* 00D38 80ACEB08 000A5C00 */ sll $t3, $t2, 16
/* 00D3C 80ACEB0C 00194600 */ sll $t0, $t9, 24
/* 00D40 80ACEB10 010B6025 */ or $t4, $t0, $t3 ## $t4 = 00000000
/* 00D44 80ACEB14 000E7A00 */ sll $t7, $t6, 8
/* 00D48 80ACEB18 018FC025 */ or $t8, $t4, $t7 ## $t8 = FA000000
/* 00D4C 80ACEB1C 371900FF */ ori $t9, $t8, 0x00FF ## $t9 = FA0000FF
/* 00D50 80ACEB20 AC590004 */ sw $t9, 0x0004($v0) ## 0000000C
/* 00D54 80ACEB24 24840008 */ addiu $a0, $a0, 0x0008 ## $a0 = 00000010
/* 00D58 80ACEB28 00801025 */ or $v0, $a0, $zero ## $v0 = 00000010
/* 00D5C 80ACEB2C 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
/* 00D60 80ACEB30 AC490000 */ sw $t1, 0x0000($v0) ## 00000010
/* 00D64 80ACEB34 93AE002F */ lbu $t6, 0x002F($sp)
/* 00D68 80ACEB38 93A8002B */ lbu $t0, 0x002B($sp)
/* 00D6C 80ACEB3C 93B90033 */ lbu $t9, 0x0033($sp)
/* 00D70 80ACEB40 000E6400 */ sll $t4, $t6, 16
/* 00D74 80ACEB44 00085E00 */ sll $t3, $t0, 24
/* 00D78 80ACEB48 016C7825 */ or $t7, $t3, $t4 ## $t7 = 00000000
/* 00D7C 80ACEB4C 00194A00 */ sll $t1, $t9, 8
/* 00D80 80ACEB50 01E95025 */ or $t2, $t7, $t1 ## $t2 = FB000000
/* 00D84 80ACEB54 354800FF */ ori $t0, $t2, 0x00FF ## $t0 = FB0000FF
/* 00D88 80ACEB58 AC480004 */ sw $t0, 0x0004($v0) ## 00000014
/* 00D8C 80ACEB5C 3C0DDF00 */ lui $t5, 0xDF00 ## $t5 = DF000000
/* 00D90 80ACEB60 AC8D0008 */ sw $t5, 0x0008($a0) ## 00000018
/* 00D94 80ACEB64 AC80000C */ sw $zero, 0x000C($a0) ## 0000001C
/* 00D98 80ACEB68 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D9C 80ACEB6C 24840008 */ addiu $a0, $a0, 0x0008 ## $a0 = 00000018
/* 00DA0 80ACEB70 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00DA4 80ACEB74 03E00008 */ jr $ra
/* 00DA8 80ACEB78 00A01025 */ or $v0, $a1, $zero ## $v0 = 00000000

View file

@ -1,37 +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_Part_InitVars
.word 0x00070700, 0x00000010, 0x00010000, 0x0000015C
.word EnPart_Init
.word EnPart_Destroy
.word EnPart_Update
.word EnPart_Draw
glabel D_80ACF1B0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80ACF1BC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80ACF1C8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80ACF1D4
.word 0x00000000, 0x41000000, 0x00000000
glabel D_80ACF1E0
.word 0x00000000, 0xBFC00000, 0x00000000
glabel D_80ACF1EC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80ACF1F8
.word func_80ACDDE8
.word func_80ACE13C
.word func_80ACE5B8
.word func_80ACE5C8
.word func_80ACE7E8
.word 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_80ACF2F0
.incbin "baserom/ovl_En_Part", 0x1520, 0x000001B0

View file

@ -196,7 +196,7 @@ typedef struct {
/* 0x04 */ s16* unk_04;
/* 0x08 */ s16 unk_08;
/* 0x0A */ char unk_0A[0x02];
/* 0x0C */ s32* unk_0C;
/* 0x0C */ Gfx** unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
} struct_80032E24;

3
spec
View file

@ -2886,8 +2886,7 @@ endseg
beginseg
name "ovl_En_Part"
include "build/src/overlays/actors/ovl_En_Part/z_en_part.o"
include "build/data/overlays/actors/z_en_part.data.o"
include "build/data/overlays/actors/z_en_part.reloc.o"
include "build/src/overlays/actors/ovl_En_Part/ovl_En_Part_reloc.o"
endseg
beginseg

View file

@ -3128,7 +3128,7 @@ s32 func_8003305C(Actor* actor, struct_80032E24* arg1, GlobalContext* globalCtx,
mtx->wy, mtx->wz, 0, 0, objBankIndex, params);
if (spawnedEnPart != NULL) {
func_800D20CC(&arg1->unk_00[arg1->unk_08], &spawnedEnPart->actor.shape.rot, 0);
spawnedEnPart->unk_150 = arg1->unk_0C[arg1->unk_08];
spawnedEnPart->displayList = arg1->unk_0C[arg1->unk_08];
spawnedEnPart->actor.scale = actor->scale;
}
@ -4082,7 +4082,7 @@ void func_80035844(Vec3f* arg0, Vec3f* arg1, s16* arg2, s32 arg3) {
/**
* Spawns En_Part (Dissipating Flames) actor as a child of the given actor.
*/
EnPart* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, Vec3f* arg3, s32 arg4, s32 unused,
EnPart* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, f32* arg3, s32 arg4, s32 unused,
GlobalContext* globalCtx, s16 params, s32 arg8) {
EnPart* spawnedEnPart;
@ -4091,12 +4091,12 @@ EnPart* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, Vec3f* arg
spawnPos->z, spawnRot->x, spawnRot->y, actor->objBankIndex, params);
if (spawnedEnPart != NULL) {
spawnedEnPart->actor.scale = actor->scale;
spawnedEnPart->actor.speedXZ = arg3->x;
spawnedEnPart->unk_150 = arg8;
spawnedEnPart->unk_14C = 2;
spawnedEnPart->unk_14E = arg4;
spawnedEnPart->unk_154 = arg3->y;
spawnedEnPart->unk_158 = arg3->z;
spawnedEnPart->actor.speedXZ = arg3[0];
spawnedEnPart->displayList = arg8;
spawnedEnPart->action = 2;
spawnedEnPart->timer = arg4;
spawnedEnPart->rotZ = arg3[1];
spawnedEnPart->rotZSpeed = arg3[2];
return spawnedEnPart;
}

View file

@ -1,3 +1,9 @@
/*
* File: z_en_part.c
* Overlay: ovl_En_Part
* Description: Effect spawner for enemies' death
*/
#include "z_en_part.h"
#define FLAGS 0x00000010
@ -9,7 +15,6 @@ void EnPart_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnPart_Update(Actor* thisx, GlobalContext* globalCtx);
void EnPart_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
const ActorInit En_Part_InitVars = {
ACTOR_EN_PART,
ACTORTYPE_ITEMACTION,
@ -21,23 +26,299 @@ const ActorInit En_Part_InitVars = {
(ActorFunc)EnPart_Update,
(ActorFunc)EnPart_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/EnPart_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/EnPart_Destroy.s")
extern UNK_TYPE D_06001300[];
extern UNK_TYPE D_06001700[];
extern UNK_TYPE D_06001900[];
extern UNK_TYPE D_06001B00[];
extern UNK_TYPE D_06001F00[];
extern UNK_TYPE D_06002100[];
extern Gfx D_06002FF0[];
extern Gfx D_06015380[];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACDDE8.s")
void EnPart_Init(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACE13C.s")
void EnPart_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACE5B8.s")
void func_80ACDDE8(EnPart* this, GlobalContext* globalCtx) {
f32 sign = 1.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACE5C8.s")
this->action = 1;
this->actor.posRot.rot.y = Math_Rand_ZeroOne() * 20000.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACE7E8.s")
switch (this->actor.params) {
case 0:
this->actor.velocity.y = 0.0f;
this->actor.gravity = -0.3f - Math_Rand_ZeroOne() * 0.5f;
this->rotZSpeed = 0.3f;
this->timer = 25;
this->actor.speedXZ = (Math_Rand_ZeroOne() - 0.5f) * 2.0f;
break;
case 13:
this->timer = 400;
case 12:
this->actor.speedXZ = Math_Rand_CenteredFloat(6.0f);
this->actor.initPosRot.pos = this->actor.posRot.pos;
this->timer += 60;
this->actor.velocity.y = Math_Rand_ZeroOne() * 5.0f + 4.0f;
this->actor.gravity = -0.6f - Math_Rand_ZeroOne() * 0.5f;
this->rotZSpeed = 0.15f;
break;
case 14:
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &this->actor.posRot.pos, 40, 0x8001, 0, -1);
case 1:
case 4:
case 9:
case 10:
this->timer += (s16)(Math_Rand_ZeroOne() * 17.0f) + 5;
case 2:
this->actor.velocity.y = Math_Rand_ZeroOne() * 5.0f + 4.0f;
this->actor.gravity = -0.6f - Math_Rand_ZeroOne() * 0.5f;
this->rotZSpeed = 0.15f;
break;
case 11:
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &this->actor.posRot.pos, 40, 0x8001, 0, -1);
case 3:
this->actor.speedXZ = (Math_Rand_ZeroOne() - 0.5f) * 3.0f;
this->timer = (s16)(Math_Rand_ZeroOne() * 17.0f) + 10;
this->actor.velocity.y = Math_Rand_ZeroOne() * 3.0f + 8.0f;
this->actor.gravity = -0.6f - Math_Rand_ZeroOne() * 0.3f;
this->rotZSpeed = 0.15f;
break;
case 5:
case 6:
case 7:
case 8:
this->actor.posRot.rot.y = this->actor.parent->shape.rot.y;
if (this->displayList == D_06015380) {
sign = -1.0f;
}
this->actor.velocity.y = 0.0f;
this->actor.speedXZ = 6.0f * sign;
this->actor.gravity = -1.2f;
this->rotZSpeed = 0.15f * sign;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
this->timer = 18;
break;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/EnPart_Update.s")
void func_80ACE13C(EnPart* this, GlobalContext* globalCtx) {
s32 i;
Vec3f pos;
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3f accel = { 0.0f, 0.0f, 0.0f };
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/func_80ACEAC0.s")
if ((this->actor.params == 12) || (this->actor.params == 13)) {
func_8002E4B4(globalCtx, &this->actor, 5.0f, 15.0f, 0.0f, 0x1D);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Part/EnPart_Draw.s")
if ((this->actor.bgCheckFlags & 1) || (this->actor.posRot.pos.y <= this->actor.groundY)) {
this->action = 4;
this->actor.speedXZ = 0.0f;
this->actor.gravity = 0.0f;
this->actor.velocity.y = 0.0f;
}
if ((this->actor.params == 13) && (this->actor.parent != NULL) && (this->actor.parent->update == NULL)) {
this->actor.parent = NULL;
}
} else if (this->timer <= 0) {
switch (this->actor.params) {
case 1:
case 9:
case 10:
case 14:
EffectSsDeadDb_Spawn(globalCtx, &this->actor.posRot.pos, &zeroVec, &zeroVec,
(s16)(this->actor.scale.y * 100.0f) * 40, 7, 255, 255, 255, 255, 0, 255, 0, 1, 9,
true);
break;
case 3:
case 11:
EffectSsDeadDb_Spawn(globalCtx, &this->actor.posRot.pos, &zeroVec, &zeroVec,
(s16)(this->actor.scale.y * 100.0f) * 40, 7, 255, 255, 255, 255, 0, 0, 255, 1, 9,
true);
break;
case 4:
for (i = 7; i >= 0; i--) {
pos.x = this->actor.posRot.pos.x + Math_Rand_CenteredFloat(60.0f);
pos.y = this->actor.posRot.pos.y + this->actor.shape.unk_08 * this->actor.scale.y +
Math_Rand_CenteredFloat(50.0f);
pos.z = this->actor.posRot.pos.z + Math_Rand_CenteredFloat(60.0f);
velocity.y = Math_Rand_ZeroOne() + 1.0f;
EffectSsDtBubble_SpawnColorProfile(globalCtx, &pos, &velocity, &accel, Math_Rand_S16Offset(80, 100),
25, 0, true);
}
break;
case 5:
case 6:
case 7:
case 8:
for (i = 4; i >= 0; i--) {
pos.x = this->actor.posRot.pos.x + Math_Rand_CenteredFloat(25.0f);
pos.y = this->actor.posRot.pos.y + Math_Rand_CenteredFloat(40.0f);
pos.z = this->actor.posRot.pos.z + Math_Rand_CenteredFloat(25.0f);
EffectSsDeadDb_Spawn(globalCtx, &pos, &zeroVec, &zeroVec, 40, 7, 255, 255, 255, 255, 0, 0, 255, 1,
9, true);
}
break;
}
Actor_Kill(&this->actor);
return;
}
this->timer--;
this->rotZ += this->rotZSpeed;
}
void func_80ACE5B8(EnPart* this, GlobalContext* globalCtx) {
this->action = 3;
}
void func_80ACE5C8(EnPart* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
this->timer--;
if (this->timer == 0) {
Actor_Kill(&this->actor);
} else {
Vec3f velocity = { 0.0f, 8.0f, 0.0f };
Vec3f accel = { 0.0f, -1.5f, 0.0f };
if (sqrt(this->actor.xyzDistFromLinkSq) <= 40.0f) {
u8 prevInvincibilityTimer = player->invincibilityTimer;
if (player->invincibilityTimer <= 0) {
if (player->invincibilityTimer <= -40) {
player->invincibilityTimer = 0;
} else {
player->invincibilityTimer = 0;
globalCtx->damagePlayer(globalCtx, -8);
}
}
func_8002F71C(globalCtx, this->actor.parent, (650.0f - this->actor.parent->xzDistFromLink) * 0.04f + 4.0f,
this->actor.parent->posRot.rot.y, 8.0f);
player->invincibilityTimer = prevInvincibilityTimer;
this->timer = 1;
}
func_80033480(globalCtx, &this->actor.posRot.pos, 0.0f, 1, 300, 150, 1);
velocity.x = Math_Rand_CenteredFloat(16.0f);
EffectSsHahen_Spawn(globalCtx, &this->actor.posRot.pos, &velocity, &accel, 20,
(s32)((Math_Rand_ZeroOne() * 5.0f + 12.0f) * 2), -1, 10, NULL);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MONBLIN_GNDWAVE - SFX_FLAG);
}
}
void func_80ACE7E8(EnPart* this, GlobalContext* globalCtx) {
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
if ((this->actor.parent == NULL) || (this->actor.parent->update == NULL)) {
EffectSsDeadDb_Spawn(globalCtx, &this->actor.posRot.pos, &zeroVec, &zeroVec,
(s16)(this->actor.scale.y * 100.0f) * 40, 7, 255, 255, 255, 255, 0, 255, 0, 1, 9, true);
Actor_Kill(&this->actor);
return;
}
if (this->timer == 0) {
f32 diffsSum =
Math_SmoothScaleMaxMinF(&this->actor.posRot.pos.x, this->actor.initPosRot.pos.x, 1.0f, 5.0f, 0.0f);
diffsSum += Math_SmoothScaleMaxMinF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 1.0f, 5.0f, 0.0f);
diffsSum += Math_SmoothScaleMaxMinF(&this->actor.posRot.pos.z, this->actor.initPosRot.pos.z, 1.0f, 5.0f, 0.0f);
diffsSum += Math_SmoothScaleMaxMinF(&this->rotZ, 0.0f, 1.0f, 0.25f, 0.0f);
if (diffsSum == 0.0f) {
this->actor.parent->initPosRot.rot.x--;
this->timer--;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_DAMAGE);
}
} else if (this->timer > 0) {
this->timer--;
}
if (this->actor.parent->colChkInfo.health != 0) {
Actor_Kill(&this->actor);
}
}
void EnPart_Update(Actor* thisx, GlobalContext* globalCtx) {
static EnPartActionFunc sActionFuncs[] = {
func_80ACDDE8, func_80ACE13C, func_80ACE5B8, func_80ACE5C8, func_80ACE7E8,
};
EnPart* this = THIS;
Actor_MoveForward(&this->actor);
if ((this->actor.params > 4 && this->actor.params < 9) || this->actor.params < 0) {
func_8002E4B4(globalCtx, &this->actor, 5.0f, 15.0f, 0.0f, 5);
if (this->actor.params >= 0) {
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f);
if (thisx->bgCheckFlags & 1) {
thisx->bgCheckFlags &= ~1;
thisx->velocity.y = 6.0f;
}
}
}
sActionFuncs[this->action](this, globalCtx);
}
Gfx* func_80ACEAC0(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB, u8 envR, u8 envG, u8 envB) {
Gfx* dList;
Gfx* dListHead;
dList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx));
dListHead = dList;
gDPPipeSync(dListHead++);
gDPSetPrimColor(dListHead++, 0, 0, primR, primG, primB, 255);
gDPSetEnvColor(dListHead++, envR, envG, envB, 255);
gSPEndDisplayList(dListHead++);
return dList;
}
void EnPart_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnPart* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_part.c", 647);
if (thisx->params > 0) {
Matrix_RotateZ(this->rotZ, MTXMODE_APPLY);
}
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(thisx, globalCtx, 0);
if (thisx->params == 5) {
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80ACEAC0(globalCtx->state.gfxCtx, 245, 255, 205, 30, 35, 0));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80ACEAC0(globalCtx->state.gfxCtx, 185, 135, 25, 20, 20, 0));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, func_80ACEAC0(globalCtx->state.gfxCtx, 255, 255, 255, 30, 40, 20));
} else if (thisx->params == 6) {
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80ACEAC0(globalCtx->state.gfxCtx, 55, 65, 55, 0, 0, 0));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80ACEAC0(globalCtx->state.gfxCtx, 205, 165, 75, 25, 20, 0));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, func_80ACEAC0(globalCtx->state.gfxCtx, 205, 165, 75, 25, 20, 0));
} else if (thisx->params == 7) {
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80ACEAC0(globalCtx->state.gfxCtx, 255, 255, 255, 180, 180, 180));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80ACEAC0(globalCtx->state.gfxCtx, 225, 205, 115, 25, 20, 0));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, func_80ACEAC0(globalCtx->state.gfxCtx, 225, 205, 115, 25, 20, 0));
} else if ((thisx->params == 9) && (this->displayList == D_06002FF0)) {
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_06001300));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_06001700));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_06001900));
} else if ((thisx->params == 10) && (this->displayList == D_06002FF0)) {
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_06001B00));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_06001F00));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_06002100));
}
if (this->displayList != NULL) {
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_part.c", 696),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(oGfxCtx->polyOpa.p++, this->displayList);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_part.c", 700);
}

View file

@ -6,13 +6,15 @@
struct EnPart;
typedef void (*EnPartActionFunc)(struct EnPart*, GlobalContext*);
typedef struct EnPart {
/* 0x000 */ Actor actor;
/* 0x14C */ u8 unk_14C;
/* 0x14E */ s16 unk_14E;
/* 0x150 */ s32 unk_150;
/* 0x154 */ f32 unk_154;
/* 0x158 */ f32 unk_158;
/* 0x14C */ u8 action;
/* 0x14E */ s16 timer;
/* 0x150 */ Gfx* displayList;
/* 0x154 */ f32 rotZ;
/* 0x158 */ f32 rotZSpeed;
} EnPart; // size = 0x015C
extern const ActorInit En_Part_InitVars;

View file

@ -768,6 +768,15 @@ D_06000420 = 0x06000420;
D_06000C20 = 0x06000C20;
D_06001420 = 0x06001420;
// z_en_part
D_06001300 = 0x06001300;
D_06001700 = 0x06001700;
D_06001900 = 0x06001900;
D_06001F00 = 0x06001F00;
D_06002100 = 0x06002100;
D_06002FF0 = 0x06002FF0;
D_06015380 = 0x06015380;
// z_en_pu_box
D_06000380 = 0x06000380;
D_060006D0 = 0x060006D0;