From 5bc23f58f80cdce021008ec798c6ac3e5f4a6bf0 Mon Sep 17 00:00:00 2001 From: Anghelo Carvajal Date: Sun, 14 Feb 2021 15:37:22 -0500 Subject: [PATCH] ovl_En_Anubice_Fire OK (#687) * init, destroy and other func Signed-off-by: angie * func_809B2B48 Signed-off-by: angie * EnAnubiceFire_Update Signed-off-by: angie * EnAnubiceFire_Draw NON_MATCHING Signed-off-by: angie * import data Signed-off-by: angie * inline some static variables Signed-off-by: angie * EnAnubiceFire_Draw Signed-off-by: angie * func_809B27D8 Signed-off-by: angie * final cleanup Signed-off-by: angie * ups Signed-off-by: angie * changes requested by @petrie911 Signed-off-by: angie * changes requested by @Roman971 Signed-off-by: angie * I somehow forgot to delete that file Signed-off-by: angie * i don't know what to put in this message Signed-off-by: angie --- .../EnAnubiceFire_Destroy.s | 12 - .../ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s | 206 --------------- .../ovl_En_Anubice_Fire/EnAnubiceFire_Init.s | 76 ------ .../EnAnubiceFire_Update.s | 142 ---------- .../ovl_En_Anubice_Fire/func_809B26EC.s | 67 ----- .../ovl_En_Anubice_Fire/func_809B27D8.s | 242 ------------------ .../ovl_En_Anubice_Fire/func_809B2B48.s | 114 --------- data/overlays/actors/z_en_anubice_fire.data.s | 44 ---- .../overlays/actors/z_en_anubice_fire.reloc.s | 13 - spec | 3 +- .../ovl_En_Anubice_Fire/z_en_anubice_fire.c | 214 +++++++++++++++- .../ovl_En_Anubice_Fire/z_en_anubice_fire.h | 12 +- 12 files changed, 215 insertions(+), 930 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B26EC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B27D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B2B48.s delete mode 100644 data/overlays/actors/z_en_anubice_fire.data.s delete mode 100644 data/overlays/actors/z_en_anubice_fire.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Destroy.s deleted file mode 100644 index 0c735123a0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnAnubiceFire_Destroy -/* 00124 809B26C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00128 809B26C8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 0012C 809B26CC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00130 809B26D0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00134 809B26D4 0C0170EB */ jal Collider_DestroyCylinder - -/* 00138 809B26D8 24C501A8 */ addiu $a1, $a2, 0x01A8 ## $a1 = 000001A8 -/* 0013C 809B26DC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00140 809B26E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00144 809B26E4 03E00008 */ jr $ra -/* 00148 809B26E8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s deleted file mode 100644 index 171e8394e2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s +++ /dev/null @@ -1,206 +0,0 @@ -.rdata -glabel D_809B3290 - .asciz "../z_en_anubice_fire.c" - .balign 4 - -glabel D_809B32A8 - .asciz "../z_en_anubice_fire.c" - .balign 4 - -glabel D_809B32C0 - .asciz "../z_en_anubice_fire.c" - .balign 4 - -.late_rodata -glabel D_809B32EC - .float 0.2 -glabel D_809B32F0 - .float 0.1 - -.text -glabel EnAnubiceFire_Draw -/* 0094C 809B2EEC 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40 -/* 00950 809B2EF0 AFB5005C */ sw $s5, 0x005C($sp) -/* 00954 809B2EF4 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 00958 809B2EF8 AFBF006C */ sw $ra, 0x006C($sp) -/* 0095C 809B2EFC AFBE0068 */ sw $s8, 0x0068($sp) -/* 00960 809B2F00 AFB70064 */ sw $s7, 0x0064($sp) -/* 00964 809B2F04 AFB60060 */ sw $s6, 0x0060($sp) -/* 00968 809B2F08 AFB40058 */ sw $s4, 0x0058($sp) -/* 0096C 809B2F0C AFB30054 */ sw $s3, 0x0054($sp) -/* 00970 809B2F10 AFB20050 */ sw $s2, 0x0050($sp) -/* 00974 809B2F14 AFB1004C */ sw $s1, 0x004C($sp) -/* 00978 809B2F18 AFB00048 */ sw $s0, 0x0048($sp) -/* 0097C 809B2F1C F7BE0040 */ sdc1 $f30, 0x0040($sp) -/* 00980 809B2F20 F7BC0038 */ sdc1 $f28, 0x0038($sp) -/* 00984 809B2F24 F7BA0030 */ sdc1 $f26, 0x0030($sp) -/* 00988 809B2F28 F7B80028 */ sdc1 $f24, 0x0028($sp) -/* 0098C 809B2F2C F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 00990 809B2F30 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 00994 809B2F34 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00998 809B2F38 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000 -/* 0099C 809B2F3C 3C06809B */ lui $a2, %hi(D_809B3290) ## $a2 = 809B0000 -/* 009A0 809B2F40 24C63290 */ addiu $a2, $a2, %lo(D_809B3290) ## $a2 = 809B3290 -/* 009A4 809B2F44 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFFDC -/* 009A8 809B2F48 240701F7 */ addiu $a3, $zero, 0x01F7 ## $a3 = 000001F7 -/* 009AC 809B2F4C 0C031AB1 */ jal Graph_OpenDisps -/* 009B0 809B2F50 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000 -/* 009B4 809B2F54 0C024F61 */ jal func_80093D84 -/* 009B8 809B2F58 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000 -/* 009BC 809B2F5C 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0 -/* 009C0 809B2F60 3C18FFFF */ lui $t8, 0xFFFF ## $t8 = FFFF0000 -/* 009C4 809B2F64 371800FF */ ori $t8, $t8, 0x00FF ## $t8 = FFFF00FF -/* 009C8 809B2F68 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008 -/* 009CC 809B2F6C AE6E02D0 */ sw $t6, 0x02D0($s3) ## 000002D0 -/* 009D0 809B2F70 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 009D4 809B2F74 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -/* 009D8 809B2F78 AC780004 */ sw $t8, 0x0004($v1) ## 00000004 -/* 009DC 809B2F7C 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0 -/* 009E0 809B2F80 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000 -/* 009E4 809B2F84 3C09FF00 */ lui $t1, 0xFF00 ## $t1 = FF000000 -/* 009E8 809B2F88 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008 -/* 009EC 809B2F8C AE7902D0 */ sw $t9, 0x02D0($s3) ## 000002D0 -/* 009F0 809B2F90 AC690004 */ sw $t1, 0x0004($v1) ## 00000004 -/* 009F4 809B2F94 AC680000 */ sw $t0, 0x0000($v1) ## 00000000 -/* 009F8 809B2F98 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0 -/* 009FC 809B2F9C 3C0BE700 */ lui $t3, 0xE700 ## $t3 = E7000000 -/* 00A00 809B2FA0 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000 -/* 00A04 809B2FA4 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 00A08 809B2FA8 AE6A02D0 */ sw $t2, 0x02D0($s3) ## 000002D0 -/* 00A0C 809B2FAC AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 00A10 809B2FB0 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000 -/* 00A14 809B2FB4 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0 -/* 00A18 809B2FB8 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020 -/* 00A1C 809B2FBC 3C04809B */ lui $a0, %hi(D_809B3270) ## $a0 = 809B0000 -/* 00A20 809B2FC0 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008 -/* 00A24 809B2FC4 AE6C02D0 */ sw $t4, 0x02D0($s3) ## 000002D0 -/* 00A28 809B2FC8 AC6D0000 */ sw $t5, 0x0000($v1) ## 00000000 -/* 00A2C 809B2FCC 8C843270 */ lw $a0, %lo(D_809B3270)($a0) -/* 00A30 809B2FD0 3C088016 */ lui $t0, %hi(gSegments) -/* 00A34 809B2FD4 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00A38 809B2FD8 00047900 */ sll $t7, $a0, 4 -/* 00A3C 809B2FDC 000FC702 */ srl $t8, $t7, 28 -/* 00A40 809B2FE0 0018C880 */ sll $t9, $t8, 2 -/* 00A44 809B2FE4 01194021 */ addu $t0, $t0, $t9 -/* 00A48 809B2FE8 8D086FA8 */ lw $t0, %lo(gSegments)($t0) -/* 00A4C 809B2FEC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00A50 809B2FF0 00817024 */ and $t6, $a0, $at -/* 00A54 809B2FF4 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00A58 809B2FF8 01C84821 */ addu $t1, $t6, $t0 -/* 00A5C 809B2FFC 01215021 */ addu $t2, $t1, $at -/* 00A60 809B3000 0C034213 */ jal Matrix_Push -/* 00A64 809B3004 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004 -/* 00A68 809B3008 8691015E */ lh $s1, 0x015E($s4) ## 0000015E -/* 00A6C 809B300C 3C17DA38 */ lui $s7, 0xDA38 ## $s7 = DA380000 -/* 00A70 809B3010 36F70003 */ ori $s7, $s7, 0x0003 ## $s7 = DA380003 -/* 00A74 809B3014 2A210006 */ slti $at, $s1, 0x0006 -/* 00A78 809B3018 1020004C */ beq $at, $zero, .L809B314C -/* 00A7C 809B301C 2416000C */ addiu $s6, $zero, 0x000C ## $s6 = 0000000C -/* 00A80 809B3020 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00A84 809B3024 4481F000 */ mtc1 $at, $f30 ## $f30 = 1000.00 -/* 00A88 809B3028 3C01809B */ lui $at, %hi(D_809B32EC) ## $at = 809B0000 -/* 00A8C 809B302C C43C32EC */ lwc1 $f28, %lo(D_809B32EC)($at) -/* 00A90 809B3030 3C01809B */ lui $at, %hi(D_809B32F0) ## $at = 809B0000 -/* 00A94 809B3034 3C1E809B */ lui $s8, %hi(D_809B32A8) ## $s8 = 809B0000 -/* 00A98 809B3038 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00 -/* 00A9C 809B303C 27DE32A8 */ addiu $s8, $s8, %lo(D_809B32A8) ## $s8 = 809B32A8 -/* 00AA0 809B3040 C43A32F0 */ lwc1 $f26, %lo(D_809B32F0)($at) -/* 00AA4 809B3044 44912000 */ mtc1 $s1, $f4 ## $f4 = 0.00 -.L809B3048: -/* 00AA8 809B3048 C6860050 */ lwc1 $f6, 0x0050($s4) ## 00000050 -/* 00AAC 809B304C 468025A0 */ cvt.s.w $f22, $f4 -/* 00AB0 809B3050 461CB202 */ mul.s $f8, $f22, $f28 -/* 00AB4 809B3054 46083501 */ sub.s $f20, $f6, $f8 -/* 00AB8 809B3058 4618A03C */ c.lt.s $f20, $f24 -/* 00ABC 809B305C 00000000 */ nop -/* 00AC0 809B3060 45020003 */ bc1fl .L809B3070 -/* 00AC4 809B3064 4614D03E */ c.le.s $f26, $f20 -/* 00AC8 809B3068 4600C506 */ mov.s $f20, $f24 -/* 00ACC 809B306C 4614D03E */ c.le.s $f26, $f20 -.L809B3070: -/* 00AD0 809B3070 00000000 */ nop -/* 00AD4 809B3074 4502002D */ bc1fl .L809B312C -/* 00AD8 809B3078 C6840150 */ lwc1 $f4, 0x0150($s4) ## 00000150 -/* 00ADC 809B307C 02360019 */ multu $s1, $s6 -/* 00AE0 809B3080 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00AE4 809B3084 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 00AE8 809B3088 3C120600 */ lui $s2, %hi(D_06003510) ## $s2 = 06000000 -/* 00AEC 809B308C 26523510 */ addiu $s2, $s2, %lo(D_06003510) ## $s2 = 06003510 -/* 00AF0 809B3090 02A18021 */ addu $s0, $s5, $at -/* 00AF4 809B3094 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00AF8 809B3098 00005812 */ mflo $t3 -/* 00AFC 809B309C 028B1021 */ addu $v0, $s4, $t3 -/* 00B00 809B30A0 C44C0160 */ lwc1 $f12, 0x0160($v0) ## 00000160 -/* 00B04 809B30A4 C44E0164 */ lwc1 $f14, 0x0164($v0) ## 00000164 -/* 00B08 809B30A8 0C034261 */ jal Matrix_Translate -/* 00B0C 809B30AC 8C460168 */ lw $a2, 0x0168($v0) ## 00000168 -/* 00B10 809B30B0 4406A000 */ mfc1 $a2, $f20 -/* 00B14 809B30B4 4600A306 */ mov.s $f12, $f20 -/* 00B18 809B30B8 4600A386 */ mov.s $f14, $f20 -/* 00B1C 809B30BC 0C0342A3 */ jal Matrix_Scale -/* 00B20 809B30C0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00B24 809B30C4 0C0347F5 */ jal func_800D1FD4 -/* 00B28 809B30C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B2C 809B30CC 868C0034 */ lh $t4, 0x0034($s4) ## 00000034 -/* 00B30 809B30D0 461EB482 */ mul.s $f18, $f22, $f30 -/* 00B34 809B30D4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00B38 809B30D8 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 00B3C 809B30DC 00000000 */ nop -/* 00B40 809B30E0 46805420 */ cvt.s.w $f16, $f10 -/* 00B44 809B30E4 0C0343B5 */ jal Matrix_RotateZ -/* 00B48 809B30E8 46128300 */ add.s $f12, $f16, $f18 -/* 00B4C 809B30EC 8E7002D0 */ lw $s0, 0x02D0($s3) ## 000002D0 -/* 00B50 809B30F0 03C02825 */ or $a1, $s8, $zero ## $a1 = 809B32A8 -/* 00B54 809B30F4 24060222 */ addiu $a2, $zero, 0x0222 ## $a2 = 00000222 -/* 00B58 809B30F8 260D0008 */ addiu $t5, $s0, 0x0008 ## $t5 = 00000008 -/* 00B5C 809B30FC AE6D02D0 */ sw $t5, 0x02D0($s3) ## 000002D0 -/* 00B60 809B3100 AE170000 */ sw $s7, 0x0000($s0) ## 00000000 -/* 00B64 809B3104 0C0346A2 */ jal Matrix_NewMtx -/* 00B68 809B3108 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000 -/* 00B6C 809B310C AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 00B70 809B3110 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0 -/* 00B74 809B3114 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 00B78 809B3118 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008 -/* 00B7C 809B311C AE6F02D0 */ sw $t7, 0x02D0($s3) ## 000002D0 -/* 00B80 809B3120 AC720004 */ sw $s2, 0x0004($v1) ## 00000004 -/* 00B84 809B3124 AC780000 */ sw $t8, 0x0000($v1) ## 00000000 -/* 00B88 809B3128 C6840150 */ lwc1 $f4, 0x0150($s4) ## 00000150 -.L809B312C: -/* 00B8C 809B312C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 00B90 809B3130 2A210006 */ slti $at, $s1, 0x0006 -/* 00B94 809B3134 461A203C */ c.lt.s $f4, $f26 -/* 00B98 809B3138 00000000 */ nop -/* 00B9C 809B313C 45010003 */ bc1t .L809B314C -/* 00BA0 809B3140 00000000 */ nop -/* 00BA4 809B3144 5420FFC0 */ bnel $at, $zero, .L809B3048 -/* 00BA8 809B3148 44912000 */ mtc1 $s1, $f4 ## $f4 = 0.00 -.L809B314C: -/* 00BAC 809B314C 0C034221 */ jal Matrix_Pull -/* 00BB0 809B3150 00000000 */ nop -/* 00BB4 809B3154 3C06809B */ lui $a2, %hi(D_809B32C0) ## $a2 = 809B0000 -/* 00BB8 809B3158 24C632C0 */ addiu $a2, $a2, %lo(D_809B32C0) ## $a2 = 809B32C0 -/* 00BBC 809B315C 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFFDC -/* 00BC0 809B3160 8EA50000 */ lw $a1, 0x0000($s5) ## 00000000 -/* 00BC4 809B3164 0C031AD5 */ jal Graph_CloseDisps -/* 00BC8 809B3168 2407022C */ addiu $a3, $zero, 0x022C ## $a3 = 0000022C -/* 00BCC 809B316C 8FBF006C */ lw $ra, 0x006C($sp) -/* 00BD0 809B3170 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 00BD4 809B3174 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 00BD8 809B3178 D7B80028 */ ldc1 $f24, 0x0028($sp) -/* 00BDC 809B317C D7BA0030 */ ldc1 $f26, 0x0030($sp) -/* 00BE0 809B3180 D7BC0038 */ ldc1 $f28, 0x0038($sp) -/* 00BE4 809B3184 D7BE0040 */ ldc1 $f30, 0x0040($sp) -/* 00BE8 809B3188 8FB00048 */ lw $s0, 0x0048($sp) -/* 00BEC 809B318C 8FB1004C */ lw $s1, 0x004C($sp) -/* 00BF0 809B3190 8FB20050 */ lw $s2, 0x0050($sp) -/* 00BF4 809B3194 8FB30054 */ lw $s3, 0x0054($sp) -/* 00BF8 809B3198 8FB40058 */ lw $s4, 0x0058($sp) -/* 00BFC 809B319C 8FB5005C */ lw $s5, 0x005C($sp) -/* 00C00 809B31A0 8FB60060 */ lw $s6, 0x0060($sp) -/* 00C04 809B31A4 8FB70064 */ lw $s7, 0x0064($sp) -/* 00C08 809B31A8 8FBE0068 */ lw $s8, 0x0068($sp) -/* 00C0C 809B31AC 03E00008 */ jr $ra -/* 00C10 809B31B0 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000 -/* 00C14 809B31B4 00000000 */ nop -/* 00C18 809B31B8 00000000 */ nop -/* 00C1C 809B31BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Init.s deleted file mode 100644 index 1f9fe0e9e4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Init.s +++ /dev/null @@ -1,76 +0,0 @@ -glabel EnAnubiceFire_Init -/* 00000 809B25A0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00004 809B25A4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00008 809B25A8 AFA5002C */ sw $a1, 0x002C($sp) -/* 0000C 809B25AC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00010 809B25B0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00014 809B25B4 24C501A8 */ addiu $a1, $a2, 0x01A8 ## $a1 = 000001A8 -/* 00018 809B25B8 AFA5001C */ sw $a1, 0x001C($sp) -/* 0001C 809B25BC 0C0170D9 */ jal Collider_InitCylinder - -/* 00020 809B25C0 AFA60028 */ sw $a2, 0x0028($sp) -/* 00024 809B25C4 3C07809B */ lui $a3, %hi(D_809B31E0) ## $a3 = 809B0000 -/* 00028 809B25C8 8FA5001C */ lw $a1, 0x001C($sp) -/* 0002C 809B25CC 8FA60028 */ lw $a2, 0x0028($sp) -/* 00030 809B25D0 24E731E0 */ addiu $a3, $a3, %lo(D_809B31E0) ## $a3 = 809B31E0 -/* 00034 809B25D4 0C01712B */ jal Collider_SetCylinder - -/* 00038 809B25D8 8FA4002C */ lw $a0, 0x002C($sp) -/* 0003C 809B25DC 8FA60028 */ lw $a2, 0x0028($sp) -/* 00040 809B25E0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00044 809B25E4 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00 -/* 00048 809B25E8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0004C 809B25EC 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E -/* 00050 809B25F0 A4CE015A */ sh $t6, 0x015A($a2) ## 0000015A -/* 00054 809B25F4 24C30024 */ addiu $v1, $a2, 0x0024 ## $v1 = 00000024 -/* 00058 809B25F8 E4C40154 */ swc1 $f4, 0x0154($a2) ## 00000154 -/* 0005C 809B25FC E4C60150 */ swc1 $f6, 0x0150($a2) ## 00000150 -/* 00060 809B2600 8C780000 */ lw $t8, 0x0000($v1) ## 00000024 -/* 00064 809B2604 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002 -/* 00068 809B2608 00044880 */ sll $t1, $a0, 2 -/* 0006C 809B260C ACD80160 */ sw $t8, 0x0160($a2) ## 00000160 -/* 00070 809B2610 8C6F0004 */ lw $t7, 0x0004($v1) ## 00000028 -/* 00074 809B2614 01244823 */ subu $t1, $t1, $a0 -/* 00078 809B2618 00094880 */ sll $t1, $t1, 2 -/* 0007C 809B261C ACCF0164 */ sw $t7, 0x0164($a2) ## 00000164 -/* 00080 809B2620 8C780008 */ lw $t8, 0x0008($v1) ## 0000002C -/* 00084 809B2624 00C91021 */ addu $v0, $a2, $t1 -/* 00088 809B2628 ACD80168 */ sw $t8, 0x0168($a2) ## 00000168 -/* 0008C 809B262C 8C680000 */ lw $t0, 0x0000($v1) ## 00000024 -/* 00090 809B2630 ACC8016C */ sw $t0, 0x016C($a2) ## 0000016C -/* 00094 809B2634 8C790004 */ lw $t9, 0x0004($v1) ## 00000028 -/* 00098 809B2638 ACD90170 */ sw $t9, 0x0170($a2) ## 00000170 -/* 0009C 809B263C 8C680008 */ lw $t0, 0x0008($v1) ## 0000002C -/* 000A0 809B2640 ACC80174 */ sw $t0, 0x0174($a2) ## 00000174 -/* 000A4 809B2644 8C6B0000 */ lw $t3, 0x0000($v1) ## 00000024 -/* 000A8 809B2648 3C08809B */ lui $t0, %hi(func_809B26EC) ## $t0 = 809B0000 -/* 000AC 809B264C 250826EC */ addiu $t0, $t0, %lo(func_809B26EC) ## $t0 = 809B26EC -/* 000B0 809B2650 AC4B0160 */ sw $t3, 0x0160($v0) ## 00000160 -/* 000B4 809B2654 8C6A0004 */ lw $t2, 0x0004($v1) ## 00000028 -/* 000B8 809B2658 AC4A0164 */ sw $t2, 0x0164($v0) ## 00000164 -/* 000BC 809B265C 8C6B0008 */ lw $t3, 0x0008($v1) ## 0000002C -/* 000C0 809B2660 AC4B0168 */ sw $t3, 0x0168($v0) ## 00000168 -/* 000C4 809B2664 8C6D0000 */ lw $t5, 0x0000($v1) ## 00000024 -/* 000C8 809B2668 AC4D016C */ sw $t5, 0x016C($v0) ## 0000016C -/* 000CC 809B266C 8C6C0004 */ lw $t4, 0x0004($v1) ## 00000028 -/* 000D0 809B2670 AC4C0170 */ sw $t4, 0x0170($v0) ## 00000170 -/* 000D4 809B2674 8C6D0008 */ lw $t5, 0x0008($v1) ## 0000002C -/* 000D8 809B2678 AC4D0174 */ sw $t5, 0x0174($v0) ## 00000174 -/* 000DC 809B267C 8C6F0000 */ lw $t7, 0x0000($v1) ## 00000024 -/* 000E0 809B2680 AC4F0178 */ sw $t7, 0x0178($v0) ## 00000178 -/* 000E4 809B2684 8C6E0004 */ lw $t6, 0x0004($v1) ## 00000028 -/* 000E8 809B2688 AC4E017C */ sw $t6, 0x017C($v0) ## 0000017C -/* 000EC 809B268C 8C6F0008 */ lw $t7, 0x0008($v1) ## 0000002C -/* 000F0 809B2690 AC4F0180 */ sw $t7, 0x0180($v0) ## 00000180 -/* 000F4 809B2694 8C790000 */ lw $t9, 0x0000($v1) ## 00000024 -/* 000F8 809B2698 AC590184 */ sw $t9, 0x0184($v0) ## 00000184 -/* 000FC 809B269C 8C780004 */ lw $t8, 0x0004($v1) ## 00000028 -/* 00100 809B26A0 AC580188 */ sw $t8, 0x0188($v0) ## 00000188 -/* 00104 809B26A4 8C790008 */ lw $t9, 0x0008($v1) ## 0000002C -/* 00108 809B26A8 AC59018C */ sw $t9, 0x018C($v0) ## 0000018C -/* 0010C 809B26AC A4C0015E */ sh $zero, 0x015E($a2) ## 0000015E -/* 00110 809B26B0 ACC8014C */ sw $t0, 0x014C($a2) ## 0000014C -/* 00114 809B26B4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00118 809B26B8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 0011C 809B26BC 03E00008 */ jr $ra -/* 00120 809B26C0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Update.s deleted file mode 100644 index 960fed7dd8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Update.s +++ /dev/null @@ -1,142 +0,0 @@ -.late_rodata -glabel D_809B32E8 - .float 0.6 - -.text -glabel EnAnubiceFire_Update -/* 00754 809B2CF4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00758 809B2CF8 AFB00020 */ sw $s0, 0x0020($sp) -/* 0075C 809B2CFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00760 809B2D00 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00764 809B2D04 AFA5004C */ sw $a1, 0x004C($sp) -/* 00768 809B2D08 0C00B58B */ jal Actor_SetScale - -/* 0076C 809B2D0C 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 -/* 00770 809B2D10 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 00774 809B2D14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00778 809B2D18 8FA5004C */ lw $a1, 0x004C($sp) -/* 0077C 809B2D1C 0320F809 */ jalr $ra, $t9 -/* 00780 809B2D20 00000000 */ nop -/* 00784 809B2D24 0C00B5FB */ jal func_8002D7EC -/* 00788 809B2D28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0078C 809B2D2C 26080024 */ addiu $t0, $s0, 0x0024 ## $t0 = 00000024 -/* 00790 809B2D30 8D0F0000 */ lw $t7, 0x0000($t0) ## 00000024 -/* 00794 809B2D34 26050030 */ addiu $a1, $s0, 0x0030 ## $a1 = 00000030 -/* 00798 809B2D38 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 0079C 809B2D3C AE0F0160 */ sw $t7, 0x0160($s0) ## 00000160 -/* 007A0 809B2D40 8D0E0004 */ lw $t6, 0x0004($t0) ## 00000028 -/* 007A4 809B2D44 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00 -/* 007A8 809B2D48 24A3016C */ addiu $v1, $a1, 0x016C ## $v1 = 0000019C -/* 007AC 809B2D4C AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164 -/* 007B0 809B2D50 8D0F0008 */ lw $t7, 0x0008($t0) ## 0000002C -/* 007B4 809B2D54 24A40160 */ addiu $a0, $a1, 0x0160 ## $a0 = 00000190 -/* 007B8 809B2D58 24020004 */ addiu $v0, $zero, 0x0004 ## $v0 = 00000004 -/* 007BC 809B2D5C AE0F0168 */ sw $t7, 0x0168($s0) ## 00000168 -.L809B2D60: -/* 007C0 809B2D60 8C890000 */ lw $t1, 0x0000($a0) ## 00000190 -/* 007C4 809B2D64 2442FFFF */ addiu $v0, $v0, 0xFFFF ## $v0 = 00000003 -/* 007C8 809B2D68 2463FFF4 */ addiu $v1, $v1, 0xFFF4 ## $v1 = 00000190 -/* 007CC 809B2D6C AC69000C */ sw $t1, 0x000C($v1) ## 0000019C -/* 007D0 809B2D70 8C980004 */ lw $t8, 0x0004($a0) ## 00000194 -/* 007D4 809B2D74 2484FFF4 */ addiu $a0, $a0, 0xFFF4 ## $a0 = 00000184 -/* 007D8 809B2D78 AC780010 */ sw $t8, 0x0010($v1) ## 000001A0 -/* 007DC 809B2D7C 8C890014 */ lw $t1, 0x0014($a0) ## 00000198 -/* 007E0 809B2D80 0441FFF7 */ bgez $v0, .L809B2D60 -/* 007E4 809B2D84 AC690014 */ sw $t1, 0x0014($v1) ## 000001A4 -/* 007E8 809B2D88 8602015A */ lh $v0, 0x015A($s0) ## 0000015A -/* 007EC 809B2D8C 44060000 */ mfc1 $a2, $f0 -/* 007F0 809B2D90 44070000 */ mfc1 $a3, $f0 -/* 007F4 809B2D94 10400003 */ beq $v0, $zero, .L809B2DA4 -/* 007F8 809B2D98 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 007FC 809B2D9C 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = 00000002 -/* 00800 809B2DA0 A60A015A */ sh $t2, 0x015A($s0) ## 0000015A -.L809B2DA4: -/* 00804 809B2DA4 8602015C */ lh $v0, 0x015C($s0) ## 0000015C -/* 00808 809B2DA8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0080C 809B2DAC 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00 -/* 00810 809B2DB0 10400003 */ beq $v0, $zero, .L809B2DC0 -/* 00814 809B2DB4 240C001D */ addiu $t4, $zero, 0x001D ## $t4 = 0000001D -/* 00818 809B2DB8 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = 00000002 -/* 0081C 809B2DBC A60B015C */ sh $t3, 0x015C($s0) ## 0000015C -.L809B2DC0: -/* 00820 809B2DC0 8FA4004C */ lw $a0, 0x004C($sp) -/* 00824 809B2DC4 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00828 809B2DC8 AFAC0014 */ sw $t4, 0x0014($sp) -/* 0082C 809B2DCC 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00830 809B2DD0 AFA8002C */ sw $t0, 0x002C($sp) -/* 00834 809B2DD4 3C01809B */ lui $at, %hi(D_809B32E8) ## $at = 809B0000 -/* 00838 809B2DD8 C42632E8 */ lwc1 $f6, %lo(D_809B32E8)($at) -/* 0083C 809B2DDC C6000150 */ lwc1 $f0, 0x0150($s0) ## 00000150 -/* 00840 809B2DE0 3C0D809B */ lui $t5, %hi(func_809B2B48) ## $t5 = 809B0000 -/* 00844 809B2DE4 25AD2B48 */ addiu $t5, $t5, %lo(func_809B2B48) ## $t5 = 809B2B48 -/* 00848 809B2DE8 4606003C */ c.lt.s $f0, $f6 -/* 0084C 809B2DEC 00000000 */ nop -/* 00850 809B2DF0 4503003A */ bc1tl .L809B2EDC -/* 00854 809B2DF4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00858 809B2DF8 AFAD0030 */ sw $t5, 0x0030($sp) -/* 0085C 809B2DFC 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 00860 809B2E00 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00864 809B2E04 51B90035 */ beql $t5, $t9, .L809B2EDC -/* 00868 809B2E08 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0086C 809B2E0C 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00 -/* 00870 809B2E10 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00874 809B2E14 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00 -/* 00878 809B2E18 46080282 */ mul.s $f10, $f0, $f8 -/* 0087C 809B2E1C 3C01BF40 */ lui $at, 0xBF40 ## $at = BF400000 -/* 00880 809B2E20 44813000 */ mtc1 $at, $f6 ## $f6 = -0.75 -/* 00884 809B2E24 3C01C170 */ lui $at, 0xC170 ## $at = C1700000 -/* 00888 809B2E28 8609015A */ lh $t1, 0x015A($s0) ## 0000015A -/* 0088C 809B2E2C 46060202 */ mul.s $f8, $f0, $f6 -/* 00890 809B2E30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00894 809B2E34 46105480 */ add.s $f18, $f10, $f16 -/* 00898 809B2E38 44815000 */ mtc1 $at, $f10 ## $f10 = -15.00 -/* 0089C 809B2E3C 260501A8 */ addiu $a1, $s0, 0x01A8 ## $a1 = 000001A8 -/* 008A0 809B2E40 4600910D */ trunc.w.s $f4, $f18 -/* 008A4 809B2E44 460A4400 */ add.s $f16, $f8, $f10 -/* 008A8 809B2E48 44022000 */ mfc1 $v0, $f4 -/* 008AC 809B2E4C 4600848D */ trunc.w.s $f18, $f16 -/* 008B0 809B2E50 A60201E8 */ sh $v0, 0x01E8($s0) ## 000001E8 -/* 008B4 809B2E54 A60201EA */ sh $v0, 0x01EA($s0) ## 000001EA -/* 008B8 809B2E58 44189000 */ mfc1 $t8, $f18 -/* 008BC 809B2E5C 1120000E */ beq $t1, $zero, .L809B2E98 -/* 008C0 809B2E60 A61801EC */ sh $t8, 0x01EC($s0) ## 000001EC -/* 008C4 809B2E64 0C0189B7 */ jal Collider_UpdateCylinder - -/* 008C8 809B2E68 AFA50028 */ sw $a1, 0x0028($sp) -/* 008CC 809B2E6C 8FA4004C */ lw $a0, 0x004C($sp) -/* 008D0 809B2E70 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 008D4 809B2E74 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 008D8 809B2E78 00812821 */ addu $a1, $a0, $at -/* 008DC 809B2E7C AFA50034 */ sw $a1, 0x0034($sp) -/* 008E0 809B2E80 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 008E4 809B2E84 8FA60028 */ lw $a2, 0x0028($sp) -/* 008E8 809B2E88 8FA50034 */ lw $a1, 0x0034($sp) -/* 008EC 809B2E8C 8FA4004C */ lw $a0, 0x004C($sp) -/* 008F0 809B2E90 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 008F4 809B2E94 8FA60028 */ lw $a2, 0x0028($sp) -.L809B2E98: -/* 008F8 809B2E98 8FA4004C */ lw $a0, 0x004C($sp) -/* 008FC 809B2E9C 8FA5002C */ lw $a1, 0x002C($sp) -/* 00900 809B2EA0 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000 -/* 00904 809B2EA4 0C00F8C3 */ jal BgCheck_SphVsFirstPoly -/* 00908 809B2EA8 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0 -/* 0090C 809B2EAC 5040000B */ beql $v0, $zero, .L809B2EDC -/* 00910 809B2EB0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00914 809B2EB4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00918 809B2EB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0091C 809B2EBC 2405399D */ addiu $a1, $zero, 0x399D ## $a1 = 0000399D -/* 00920 809B2EC0 E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 00924 809B2EC4 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 00928 809B2EC8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0092C 809B2ECC E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 00930 809B2ED0 8FAA0030 */ lw $t2, 0x0030($sp) -/* 00934 809B2ED4 AE0A014C */ sw $t2, 0x014C($s0) ## 0000014C -/* 00938 809B2ED8 8FBF0024 */ lw $ra, 0x0024($sp) -.L809B2EDC: -/* 0093C 809B2EDC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00940 809B2EE0 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00944 809B2EE4 03E00008 */ jr $ra -/* 00948 809B2EE8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B26EC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B26EC.s deleted file mode 100644 index de583a6e44..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B26EC.s +++ /dev/null @@ -1,67 +0,0 @@ -.late_rodata -glabel D_809B32D8 - .float 3.1415927 # pi -glabel D_809B32DC - .float 3.1415927 # pi - -.text -glabel func_809B26EC -/* 0014C 809B26EC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00150 809B26F0 3C0F809B */ lui $t7, %hi(D_809B320C) ## $t7 = 809B0000 -/* 00154 809B26F4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00158 809B26F8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0015C 809B26FC AFA50034 */ sw $a1, 0x0034($sp) -/* 00160 809B2700 25EF320C */ addiu $t7, $t7, %lo(D_809B320C) ## $t7 = 809B320C -/* 00164 809B2704 8DF90000 */ lw $t9, 0x0000($t7) ## 809B320C -/* 00168 809B2708 27AE0024 */ addiu $t6, $sp, 0x0024 ## $t6 = FFFFFFF4 -/* 0016C 809B270C 8DF80004 */ lw $t8, 0x0004($t7) ## 809B3210 -/* 00170 809B2710 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4 -/* 00174 809B2714 8DF90008 */ lw $t9, 0x0008($t7) ## 809B3214 -/* 00178 809B2718 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0017C 809B271C ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8 -/* 00180 809B2720 0C034213 */ jal Matrix_Push -/* 00184 809B2724 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC -/* 00188 809B2728 86080032 */ lh $t0, 0x0032($s0) ## 00000032 -/* 0018C 809B272C 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00190 809B2730 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 00194 809B2734 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00 -/* 00198 809B2738 3C01809B */ lui $at, %hi(D_809B32D8) ## $at = 809B0000 -/* 0019C 809B273C C43032D8 */ lwc1 $f16, %lo(D_809B32D8)($at) -/* 001A0 809B2740 468021A0 */ cvt.s.w $f6, $f4 -/* 001A4 809B2744 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 001A8 809B2748 46083283 */ div.s $f10, $f6, $f8 -/* 001AC 809B274C 46105302 */ mul.s $f12, $f10, $f16 -/* 001B0 809B2750 0C034348 */ jal Matrix_RotateY -/* 001B4 809B2754 00000000 */ nop -/* 001B8 809B2758 86090030 */ lh $t1, 0x0030($s0) ## 00000030 -/* 001BC 809B275C 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 001C0 809B2760 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 001C4 809B2764 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00 -/* 001C8 809B2768 3C01809B */ lui $at, %hi(D_809B32DC) ## $at = 809B0000 -/* 001CC 809B276C C42A32DC */ lwc1 $f10, %lo(D_809B32DC)($at) -/* 001D0 809B2770 46809120 */ cvt.s.w $f4, $f18 -/* 001D4 809B2774 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 001D8 809B2778 46062203 */ div.s $f8, $f4, $f6 -/* 001DC 809B277C 460A4302 */ mul.s $f12, $f8, $f10 -/* 001E0 809B2780 0C0342DC */ jal Matrix_RotateX -/* 001E4 809B2784 00000000 */ nop -/* 001E8 809B2788 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 001EC 809B278C 44818000 */ mtc1 $at, $f16 ## $f16 = 15.00 -/* 001F0 809B2790 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFF4 -/* 001F4 809B2794 2605005C */ addiu $a1, $s0, 0x005C ## $a1 = 0000005C -/* 001F8 809B2798 0C0346BD */ jal Matrix_MultVec3f -/* 001FC 809B279C E7B0002C */ swc1 $f16, 0x002C($sp) -/* 00200 809B27A0 0C034221 */ jal Matrix_Pull -/* 00204 809B27A4 00000000 */ nop -/* 00208 809B27A8 A6000034 */ sh $zero, 0x0034($s0) ## 00000034 -/* 0020C 809B27AC 86020034 */ lh $v0, 0x0034($s0) ## 00000034 -/* 00210 809B27B0 3C0A809B */ lui $t2, %hi(func_809B27D8) ## $t2 = 809B0000 -/* 00214 809B27B4 254A27D8 */ addiu $t2, $t2, %lo(func_809B27D8) ## $t2 = 809B27D8 -/* 00218 809B27B8 AE0A014C */ sw $t2, 0x014C($s0) ## 0000014C -/* 0021C 809B27BC A6020032 */ sh $v0, 0x0032($s0) ## 00000032 -/* 00220 809B27C0 A6020030 */ sh $v0, 0x0030($s0) ## 00000030 -/* 00224 809B27C4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00228 809B27C8 8FB00018 */ lw $s0, 0x0018($sp) -/* 0022C 809B27CC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00230 809B27D0 03E00008 */ jr $ra -/* 00234 809B27D4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B27D8.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B27D8.s deleted file mode 100644 index fac888a5cf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B27D8.s +++ /dev/null @@ -1,242 +0,0 @@ -.late_rodata -glabel D_809B32E0 - .float 0.1 -glabel D_809B32E4 - .float 0.4 - -.text -glabel func_809B27D8 -/* 00238 809B27D8 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40 -/* 0023C 809B27DC 3C0E809B */ lui $t6, %hi(D_809B3218) ## $t6 = 809B0000 -/* 00240 809B27E0 AFBF005C */ sw $ra, 0x005C($sp) -/* 00244 809B27E4 AFBE0058 */ sw $s8, 0x0058($sp) -/* 00248 809B27E8 AFB70054 */ sw $s7, 0x0054($sp) -/* 0024C 809B27EC AFB60050 */ sw $s6, 0x0050($sp) -/* 00250 809B27F0 AFB5004C */ sw $s5, 0x004C($sp) -/* 00254 809B27F4 AFB40048 */ sw $s4, 0x0048($sp) -/* 00258 809B27F8 AFB30044 */ sw $s3, 0x0044($sp) -/* 0025C 809B27FC AFB20040 */ sw $s2, 0x0040($sp) -/* 00260 809B2800 AFB1003C */ sw $s1, 0x003C($sp) -/* 00264 809B2804 AFB00038 */ sw $s0, 0x0038($sp) -/* 00268 809B2808 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 0026C 809B280C F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00270 809B2810 AFA500C4 */ sw $a1, 0x00C4($sp) -/* 00274 809B2814 25CE3218 */ addiu $t6, $t6, %lo(D_809B3218) ## $t6 = 809B3218 -/* 00278 809B2818 8DD80000 */ lw $t8, 0x0000($t6) ## 809B3218 -/* 0027C 809B281C 27B600B0 */ addiu $s6, $sp, 0x00B0 ## $s6 = FFFFFFF0 -/* 00280 809B2820 3C19809B */ lui $t9, %hi(D_809B3224) ## $t9 = 809B0000 -/* 00284 809B2824 AED80000 */ sw $t8, 0x0000($s6) ## FFFFFFF0 -/* 00288 809B2828 8DCF0004 */ lw $t7, 0x0004($t6) ## 809B321C -/* 0028C 809B282C 27393224 */ addiu $t9, $t9, %lo(D_809B3224) ## $t9 = 809B3224 -/* 00290 809B2830 27B700A4 */ addiu $s7, $sp, 0x00A4 ## $s7 = FFFFFFE4 -/* 00294 809B2834 AECF0004 */ sw $t7, 0x0004($s6) ## FFFFFFF4 -/* 00298 809B2838 8DD80008 */ lw $t8, 0x0008($t6) ## 809B3220 -/* 0029C 809B283C 3C0A809B */ lui $t2, %hi(D_809B3230) ## $t2 = 809B0000 -/* 002A0 809B2840 254A3230 */ addiu $t2, $t2, %lo(D_809B3230) ## $t2 = 809B3230 -/* 002A4 809B2844 AED80008 */ sw $t8, 0x0008($s6) ## FFFFFFF8 -/* 002A8 809B2848 8F290000 */ lw $t1, 0x0000($t9) ## 809B3224 -/* 002AC 809B284C 27BE0094 */ addiu $s8, $sp, 0x0094 ## $s8 = FFFFFFD4 -/* 002B0 809B2850 3C0D809B */ lui $t5, %hi(D_809B3234) ## $t5 = 809B0000 -/* 002B4 809B2854 AEE90000 */ sw $t1, 0x0000($s7) ## FFFFFFE4 -/* 002B8 809B2858 8F280004 */ lw $t0, 0x0004($t9) ## 809B3228 -/* 002BC 809B285C 3C0E809B */ lui $t6, %hi(D_809B3238) ## $t6 = 809B0000 -/* 002C0 809B2860 25CE3238 */ addiu $t6, $t6, %lo(D_809B3238) ## $t6 = 809B3238 -/* 002C4 809B2864 AEE80004 */ sw $t0, 0x0004($s7) ## FFFFFFE8 -/* 002C8 809B2868 8F290008 */ lw $t1, 0x0008($t9) ## 809B322C -/* 002CC 809B286C 27B00084 */ addiu $s0, $sp, 0x0084 ## $s0 = FFFFFFC4 -/* 002D0 809B2870 3C19809B */ lui $t9, %hi(D_809B3244) ## $t9 = 809B0000 -/* 002D4 809B2874 AEE90008 */ sw $t1, 0x0008($s7) ## FFFFFFEC -/* 002D8 809B2878 8D4C0000 */ lw $t4, 0x0000($t2) ## 809B3230 -/* 002DC 809B287C 27393244 */ addiu $t9, $t9, %lo(D_809B3244) ## $t9 = 809B3244 -/* 002E0 809B2880 27B20078 */ addiu $s2, $sp, 0x0078 ## $s2 = FFFFFFB8 -/* 002E4 809B2884 AFCC0000 */ sw $t4, 0x0000($s8) ## FFFFFFD4 -/* 002E8 809B2888 8DAD3234 */ lw $t5, %lo(D_809B3234)($t5) -/* 002EC 809B288C 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 002F0 809B2890 3C073ECC */ lui $a3, 0x3ECC ## $a3 = 3ECC0000 -/* 002F4 809B2894 AFAD0090 */ sw $t5, 0x0090($sp) -/* 002F8 809B2898 8DD80000 */ lw $t8, 0x0000($t6) ## 809B3238 -/* 002FC 809B289C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00300 809B28A0 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3ECCCCCD -/* 00304 809B28A4 AE180000 */ sw $t8, 0x0000($s0) ## FFFFFFC4 -/* 00308 809B28A8 8DCF0004 */ lw $t7, 0x0004($t6) ## 809B323C -/* 0030C 809B28AC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 00310 809B28B0 AE0F0004 */ sw $t7, 0x0004($s0) ## FFFFFFC8 -/* 00314 809B28B4 8DD80008 */ lw $t8, 0x0008($t6) ## 809B3240 -/* 00318 809B28B8 AE180008 */ sw $t8, 0x0008($s0) ## FFFFFFCC -/* 0031C 809B28BC 8F290000 */ lw $t1, 0x0000($t9) ## 809B3244 -/* 00320 809B28C0 AE490000 */ sw $t1, 0x0000($s2) ## FFFFFFB8 -/* 00324 809B28C4 8F280004 */ lw $t0, 0x0004($t9) ## 809B3248 -/* 00328 809B28C8 AE480004 */ sw $t0, 0x0004($s2) ## FFFFFFBC -/* 0032C 809B28CC 8F290008 */ lw $t1, 0x0008($t9) ## 809B324C -/* 00330 809B28D0 AE490008 */ sw $t1, 0x0008($s2) ## FFFFFFC0 -/* 00334 809B28D4 848A0034 */ lh $t2, 0x0034($a0) ## 00000034 -/* 00338 809B28D8 848C015A */ lh $t4, 0x015A($a0) ## 0000015A -/* 0033C 809B28DC 254B1388 */ addiu $t3, $t2, 0x1388 ## $t3 = 809B45B8 -/* 00340 809B28E0 15800004 */ bne $t4, $zero, .L809B28F4 -/* 00344 809B28E4 A48B0034 */ sh $t3, 0x0034($a0) ## 00000034 -/* 00348 809B28E8 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00 -/* 0034C 809B28EC 00000000 */ nop -/* 00350 809B28F0 E4940154 */ swc1 $f20, 0x0154($a0) ## 00000154 -.L809B28F4: -/* 00354 809B28F4 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00 -/* 00358 809B28F8 26240150 */ addiu $a0, $s1, 0x0150 ## $a0 = 00000150 -/* 0035C 809B28FC 0C01E107 */ jal Math_ApproachF - -/* 00360 809B2900 8E250154 */ lw $a1, 0x0154($s1) ## 00000154 -/* 00364 809B2904 862D015A */ lh $t5, 0x015A($s1) ## 0000015A -/* 00368 809B2908 3C01809B */ lui $at, %hi(D_809B32E0) ## $at = 809B0000 -/* 0036C 809B290C 55A0000C */ bnel $t5, $zero, .L809B2940 -/* 00370 809B2910 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -/* 00374 809B2914 C6240150 */ lwc1 $f4, 0x0150($s1) ## 00000150 -/* 00378 809B2918 C42632E0 */ lwc1 $f6, %lo(D_809B32E0)($at) -/* 0037C 809B291C 4606203C */ c.lt.s $f4, $f6 -/* 00380 809B2920 00000000 */ nop -/* 00384 809B2924 45020006 */ bc1fl .L809B2940 -/* 00388 809B2928 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -/* 0038C 809B292C 0C00B55C */ jal Actor_Kill - -/* 00390 809B2930 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00394 809B2934 10000077 */ beq $zero, $zero, .L809B2B14 -/* 00398 809B2938 8FBF005C */ lw $ra, 0x005C($sp) -/* 0039C 809B293C 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -.L809B2940: -/* 003A0 809B2940 3C01809B */ lui $at, %hi(D_809B32E4) ## $at = 809B0000 -/* 003A4 809B2944 55C00039 */ bnel $t6, $zero, .L809B2A2C -/* 003A8 809B2948 C62A0150 */ lwc1 $f10, 0x0150($s1) ## 00000150 -/* 003AC 809B294C 922F01B8 */ lbu $t7, 0x01B8($s1) ## 000001B8 -/* 003B0 809B2950 31F80004 */ andi $t8, $t7, 0x0004 ## $t8 = 00000000 -/* 003B4 809B2954 53000035 */ beql $t8, $zero, .L809B2A2C -/* 003B8 809B2958 C62A0150 */ lwc1 $f10, 0x0150($s1) ## 00000150 -/* 003BC 809B295C 0C023C26 */ jal Player_HasMirrorShieldEquipped -/* 003C0 809B2960 8FA400C4 */ lw $a0, 0x00C4($sp) -/* 003C4 809B2964 1040001D */ beq $v0, $zero, .L809B29DC -/* 003C8 809B2968 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 003CC 809B296C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 003D0 809B2970 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 003D4 809B2974 24051808 */ addiu $a1, $zero, 0x1808 ## $a1 = 00001808 -/* 003D8 809B2978 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 003DC 809B297C 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00 -/* 003E0 809B2980 C628005C */ lwc1 $f8, 0x005C($s1) ## 0000005C -/* 003E4 809B2984 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 003E8 809B2988 44819000 */ mtc1 $at, $f18 ## $f18 = -0.50 -/* 003EC 809B298C 46004282 */ mul.s $f10, $f8, $f0 -/* 003F0 809B2990 C6300060 */ lwc1 $f16, 0x0060($s1) ## 00000060 -/* 003F4 809B2994 C6260064 */ lwc1 $f6, 0x0064($s1) ## 00000064 -/* 003F8 809B2998 923901B8 */ lbu $t9, 0x01B8($s1) ## 000001B8 -/* 003FC 809B299C 46128102 */ mul.s $f4, $f16, $f18 -/* 00400 809B29A0 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002 -/* 00404 809B29A4 3329FFE9 */ andi $t1, $t9, 0xFFE9 ## $t1 = 00000000 -/* 00408 809B29A8 46003202 */ mul.s $f8, $f6, $f0 -/* 0040C 809B29AC A22901B8 */ sb $t1, 0x01B8($s1) ## 000001B8 -/* 00410 809B29B0 352A0008 */ ori $t2, $t1, 0x0008 ## $t2 = 00000008 -/* 00414 809B29B4 240C001E */ addiu $t4, $zero, 0x001E ## $t4 = 0000001E -/* 00418 809B29B8 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 0041C 809B29BC A22A01B8 */ sb $t2, 0x01B8($s1) ## 000001B8 -/* 00420 809B29C0 AE2B01C0 */ sw $t3, 0x01C0($s1) ## 000001C0 -/* 00424 809B29C4 A62C015A */ sh $t4, 0x015A($s1) ## 0000015A -/* 00428 809B29C8 A62D001C */ sh $t5, 0x001C($s1) ## 0000001C -/* 0042C 809B29CC E62A005C */ swc1 $f10, 0x005C($s1) ## 0000005C -/* 00430 809B29D0 E6240060 */ swc1 $f4, 0x0060($s1) ## 00000060 -/* 00434 809B29D4 1000004E */ beq $zero, $zero, .L809B2B10 -/* 00438 809B29D8 E6280064 */ swc1 $f8, 0x0064($s1) ## 00000064 -.L809B29DC: -/* 0043C 809B29DC A620015A */ sh $zero, 0x015A($s1) ## 0000015A -/* 00440 809B29E0 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A -/* 00444 809B29E4 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005 -/* 00448 809B29E8 AFAF0014 */ sw $t7, 0x0014($sp) -/* 0044C 809B29EC AFAE0010 */ sw $t6, 0x0010($sp) -/* 00450 809B29F0 8FA400C4 */ lw $a0, 0x00C4($sp) -/* 00454 809B29F4 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFB8 -/* 00458 809B29F8 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered -/* 0045C 809B29FC 02003825 */ or $a3, $s0, $zero ## $a3 = FFFFFFC4 -/* 00460 809B2A00 E6340064 */ swc1 $f20, 0x0064($s1) ## 00000064 -/* 00464 809B2A04 E6340060 */ swc1 $f20, 0x0060($s1) ## 00000060 -/* 00468 809B2A08 E634005C */ swc1 $f20, 0x005C($s1) ## 0000005C -/* 0046C 809B2A0C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00470 809B2A10 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00474 809B2A14 2405399D */ addiu $a1, $zero, 0x399D ## $a1 = 0000399D -/* 00478 809B2A18 3C18809B */ lui $t8, %hi(func_809B2B48) ## $t8 = 809B0000 -/* 0047C 809B2A1C 27182B48 */ addiu $t8, $t8, %lo(func_809B2B48) ## $t8 = 809B2B48 -/* 00480 809B2A20 1000003B */ beq $zero, $zero, .L809B2B10 -/* 00484 809B2A24 AE38014C */ sw $t8, 0x014C($s1) ## 0000014C -/* 00488 809B2A28 C62A0150 */ lwc1 $f10, 0x0150($s1) ## 00000150 -.L809B2A2C: -/* 0048C 809B2A2C C43032E4 */ lwc1 $f16, %lo(D_809B32E4)($at) -/* 00490 809B2A30 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00494 809B2A34 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00498 809B2A38 4610503C */ c.lt.s $f10, $f16 -/* 0049C 809B2A3C 2415000A */ addiu $s5, $zero, 0x000A ## $s5 = 0000000A -/* 004A0 809B2A40 27B40098 */ addiu $s4, $sp, 0x0098 ## $s4 = FFFFFFD8 -/* 004A4 809B2A44 45030033 */ bc1tl .L809B2B14 -/* 004A8 809B2A48 8FBF005C */ lw $ra, 0x005C($sp) -/* 004AC 809B2A4C 44819000 */ mtc1 $at, $f18 ## $f18 = 1000.00 -/* 004B0 809B2A50 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 004B4 809B2A54 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 004B8 809B2A58 4600910D */ trunc.w.s $f4, $f18 -/* 004BC 809B2A5C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 004C0 809B2A60 4481B000 */ mtc1 $at, $f22 ## $f22 = 20.00 -/* 004C4 809B2A64 4600320D */ trunc.w.s $f8, $f6 -/* 004C8 809B2A68 44122000 */ mfc1 $s2, $f4 -/* 004CC 809B2A6C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 004D0 809B2A70 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50 -/* 004D4 809B2A74 00129400 */ sll $s2, $s2, 16 -/* 004D8 809B2A78 44134000 */ mfc1 $s3, $f8 -/* 004DC 809B2A7C 00129403 */ sra $s2, $s2, 16 -.L809B2A80: -/* 004E0 809B2A80 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 004E4 809B2A84 00000000 */ nop -/* 004E8 809B2A88 C6300150 */ lwc1 $f16, 0x0150($s1) ## 00000150 -/* 004EC 809B2A8C 46140281 */ sub.s $f10, $f0, $f20 -/* 004F0 809B2A90 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -/* 004F4 809B2A94 46168482 */ mul.s $f18, $f16, $f22 -/* 004F8 809B2A98 00000000 */ nop -/* 004FC 809B2A9C 46125102 */ mul.s $f4, $f10, $f18 -/* 00500 809B2AA0 46062200 */ add.s $f8, $f4, $f6 -/* 00504 809B2AA4 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00508 809B2AA8 E7A80098 */ swc1 $f8, 0x0098($sp) -/* 0050C 809B2AAC C62A0150 */ lwc1 $f10, 0x0150($s1) ## 00000150 -/* 00510 809B2AB0 46140401 */ sub.s $f16, $f0, $f20 -/* 00514 809B2AB4 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 00518 809B2AB8 46165482 */ mul.s $f18, $f10, $f22 -/* 0051C 809B2ABC 27A90090 */ addiu $t1, $sp, 0x0090 ## $t1 = FFFFFFD0 -/* 00520 809B2AC0 8FA400C4 */ lw $a0, 0x00C4($sp) -/* 00524 809B2AC4 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFD8 -/* 00528 809B2AC8 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFF0 -/* 0052C 809B2ACC 02E03825 */ or $a3, $s7, $zero ## $a3 = FFFFFFE4 -/* 00530 809B2AD0 46128102 */ mul.s $f4, $f16, $f18 -/* 00534 809B2AD4 46062200 */ add.s $f8, $f4, $f6 -/* 00538 809B2AD8 E7A8009C */ swc1 $f8, 0x009C($sp) -/* 0053C 809B2ADC C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 00540 809B2AE0 AFB3001C */ sw $s3, 0x001C($sp) -/* 00544 809B2AE4 AFB20018 */ sw $s2, 0x0018($sp) -/* 00548 809B2AE8 AFA90014 */ sw $t1, 0x0014($sp) -/* 0054C 809B2AEC AFBE0010 */ sw $s8, 0x0010($sp) -/* 00550 809B2AF0 0C00A2EC */ jal EffectSsKiraKira_SpawnDispersed -/* 00554 809B2AF4 E7AA00A0 */ swc1 $f10, 0x00A0($sp) -/* 00558 809B2AF8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 0055C 809B2AFC 1615FFE0 */ bne $s0, $s5, .L809B2A80 -/* 00560 809B2B00 00000000 */ nop -/* 00564 809B2B04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00568 809B2B08 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0056C 809B2B0C 2405319C */ addiu $a1, $zero, 0x319C ## $a1 = 0000319C -.L809B2B10: -/* 00570 809B2B10 8FBF005C */ lw $ra, 0x005C($sp) -.L809B2B14: -/* 00574 809B2B14 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 00578 809B2B18 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 0057C 809B2B1C 8FB00038 */ lw $s0, 0x0038($sp) -/* 00580 809B2B20 8FB1003C */ lw $s1, 0x003C($sp) -/* 00584 809B2B24 8FB20040 */ lw $s2, 0x0040($sp) -/* 00588 809B2B28 8FB30044 */ lw $s3, 0x0044($sp) -/* 0058C 809B2B2C 8FB40048 */ lw $s4, 0x0048($sp) -/* 00590 809B2B30 8FB5004C */ lw $s5, 0x004C($sp) -/* 00594 809B2B34 8FB60050 */ lw $s6, 0x0050($sp) -/* 00598 809B2B38 8FB70054 */ lw $s7, 0x0054($sp) -/* 0059C 809B2B3C 8FBE0058 */ lw $s8, 0x0058($sp) -/* 005A0 809B2B40 03E00008 */ jr $ra -/* 005A4 809B2B44 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B2B48.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B2B48.s deleted file mode 100644 index 0781ceed08..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B2B48.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel func_809B2B48 -/* 005A8 809B2B48 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 -/* 005AC 809B2B4C 3C0E809B */ lui $t6, %hi(D_809B3250) ## $t6 = 809B0000 -/* 005B0 809B2B50 AFBF005C */ sw $ra, 0x005C($sp) -/* 005B4 809B2B54 AFBE0058 */ sw $s8, 0x0058($sp) -/* 005B8 809B2B58 AFB70054 */ sw $s7, 0x0054($sp) -/* 005BC 809B2B5C AFB60050 */ sw $s6, 0x0050($sp) -/* 005C0 809B2B60 AFB5004C */ sw $s5, 0x004C($sp) -/* 005C4 809B2B64 AFB40048 */ sw $s4, 0x0048($sp) -/* 005C8 809B2B68 AFB30044 */ sw $s3, 0x0044($sp) -/* 005CC 809B2B6C AFB20040 */ sw $s2, 0x0040($sp) -/* 005D0 809B2B70 AFB1003C */ sw $s1, 0x003C($sp) -/* 005D4 809B2B74 AFB00038 */ sw $s0, 0x0038($sp) -/* 005D8 809B2B78 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 005DC 809B2B7C F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 005E0 809B2B80 25CE3250 */ addiu $t6, $t6, %lo(D_809B3250) ## $t6 = 809B3250 -/* 005E4 809B2B84 8DD80000 */ lw $t8, 0x0000($t6) ## 809B3250 -/* 005E8 809B2B88 27B5008C */ addiu $s5, $sp, 0x008C ## $s5 = FFFFFFF4 -/* 005EC 809B2B8C 3C19809B */ lui $t9, %hi(D_809B325C) ## $t9 = 809B0000 -/* 005F0 809B2B90 AEB80000 */ sw $t8, 0x0000($s5) ## FFFFFFF4 -/* 005F4 809B2B94 8DCF0004 */ lw $t7, 0x0004($t6) ## 809B3254 -/* 005F8 809B2B98 2739325C */ addiu $t9, $t9, %lo(D_809B325C) ## $t9 = 809B325C -/* 005FC 809B2B9C 27B60080 */ addiu $s6, $sp, 0x0080 ## $s6 = FFFFFFE8 -/* 00600 809B2BA0 AEAF0004 */ sw $t7, 0x0004($s5) ## FFFFFFF8 -/* 00604 809B2BA4 8DD80008 */ lw $t8, 0x0008($t6) ## 809B3258 -/* 00608 809B2BA8 3C0A809B */ lui $t2, %hi(D_809B3268) ## $t2 = 809B0000 -/* 0060C 809B2BAC 254A3268 */ addiu $t2, $t2, %lo(D_809B3268) ## $t2 = 809B3268 -/* 00610 809B2BB0 AEB80008 */ sw $t8, 0x0008($s5) ## FFFFFFFC -/* 00614 809B2BB4 8F290000 */ lw $t1, 0x0000($t9) ## 809B325C -/* 00618 809B2BB8 27B70070 */ addiu $s7, $sp, 0x0070 ## $s7 = FFFFFFD8 -/* 0061C 809B2BBC 3C0D809B */ lui $t5, %hi(D_809B326C) ## $t5 = 809B0000 -/* 00620 809B2BC0 AEC90000 */ sw $t1, 0x0000($s6) ## FFFFFFE8 -/* 00624 809B2BC4 8F280004 */ lw $t0, 0x0004($t9) ## 809B3260 -/* 00628 809B2BC8 25AD326C */ addiu $t5, $t5, %lo(D_809B326C) ## $t5 = 809B326C -/* 0062C 809B2BCC 27BE006C */ addiu $s8, $sp, 0x006C ## $s8 = FFFFFFD4 -/* 00630 809B2BD0 AEC80004 */ sw $t0, 0x0004($s6) ## FFFFFFEC -/* 00634 809B2BD4 8F290008 */ lw $t1, 0x0008($t9) ## 809B3264 -/* 00638 809B2BD8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 0063C 809B2BDC 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 00640 809B2BE0 AEC90008 */ sw $t1, 0x0008($s6) ## FFFFFFF0 -/* 00644 809B2BE4 8D4C0000 */ lw $t4, 0x0000($t2) ## 809B3268 -/* 00648 809B2BE8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0064C 809B2BEC 24130014 */ addiu $s3, $zero, 0x0014 ## $s3 = 00000014 -/* 00650 809B2BF0 AEEC0000 */ sw $t4, 0x0000($s7) ## FFFFFFD8 -/* 00654 809B2BF4 8DAF0000 */ lw $t7, 0x0000($t5) ## 809B326C -/* 00658 809B2BF8 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 0065C 809B2BFC AFCF0000 */ sw $t7, 0x0000($s8) ## FFFFFFD4 -/* 00660 809B2C00 8498015C */ lh $t8, 0x015C($a0) ## 0000015C -/* 00664 809B2C04 5700002E */ bnel $t8, $zero, .L809B2CC0 -/* 00668 809B2C08 8FBF005C */ lw $ra, 0x005C($sp) -/* 0066C 809B2C0C 4481B000 */ mtc1 $at, $f22 ## $f22 = 2.00 -/* 00670 809B2C10 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00674 809B2C14 4481A000 */ mtc1 $at, $f20 ## $f20 = 8.00 -/* 00678 809B2C18 27B20074 */ addiu $s2, $sp, 0x0074 ## $s2 = FFFFFFDC -/* 0067C 809B2C1C C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -.L809B2C20: -/* 00680 809B2C20 4600A306 */ mov.s $f12, $f20 -/* 00684 809B2C24 E7A40074 */ swc1 $f4, 0x0074($sp) -/* 00688 809B2C28 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 0068C 809B2C2C E7A60078 */ swc1 $f6, 0x0078($sp) -/* 00690 809B2C30 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C -/* 00694 809B2C34 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00698 809B2C38 E7A8007C */ swc1 $f8, 0x007C($sp) -/* 0069C 809B2C3C E7A00080 */ swc1 $f0, 0x0080($sp) -/* 006A0 809B2C40 0C00CFC8 */ jal Rand_CenteredFloat - -/* 006A4 809B2C44 4600B306 */ mov.s $f12, $f22 -/* 006A8 809B2C48 E7A00084 */ swc1 $f0, 0x0084($sp) -/* 006AC 809B2C4C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 006B0 809B2C50 4600A306 */ mov.s $f12, $f20 -/* 006B4 809B2C54 241907D0 */ addiu $t9, $zero, 0x07D0 ## $t9 = 000007D0 -/* 006B8 809B2C58 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A -/* 006BC 809B2C5C E7A00088 */ swc1 $f0, 0x0088($sp) -/* 006C0 809B2C60 AFA8001C */ sw $t0, 0x001C($sp) -/* 006C4 809B2C64 AFB90018 */ sw $t9, 0x0018($sp) -/* 006C8 809B2C68 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 006CC 809B2C6C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFDC -/* 006D0 809B2C70 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFF4 -/* 006D4 809B2C74 02C03825 */ or $a3, $s6, $zero ## $a3 = FFFFFFE8 -/* 006D8 809B2C78 AFB70010 */ sw $s7, 0x0010($sp) -/* 006DC 809B2C7C 0C00A2EC */ jal EffectSsKiraKira_SpawnDispersed -/* 006E0 809B2C80 AFBE0014 */ sw $s8, 0x0014($sp) -/* 006E4 809B2C84 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 006E8 809B2C88 5613FFE5 */ bnel $s0, $s3, .L809B2C20 -/* 006EC 809B2C8C C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 006F0 809B2C90 862A015E */ lh $t2, 0x015E($s1) ## 0000015E -/* 006F4 809B2C94 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 006F8 809B2C98 A629015C */ sh $t1, 0x015C($s1) ## 0000015C -/* 006FC 809B2C9C 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 00700 809B2CA0 A62B015E */ sh $t3, 0x015E($s1) ## 0000015E -/* 00704 809B2CA4 862C015E */ lh $t4, 0x015E($s1) ## 0000015E -/* 00708 809B2CA8 29810006 */ slti $at, $t4, 0x0006 -/* 0070C 809B2CAC 54200004 */ bnel $at, $zero, .L809B2CC0 -/* 00710 809B2CB0 8FBF005C */ lw $ra, 0x005C($sp) -/* 00714 809B2CB4 0C00B55C */ jal Actor_Kill - -/* 00718 809B2CB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0071C 809B2CBC 8FBF005C */ lw $ra, 0x005C($sp) -.L809B2CC0: -/* 00720 809B2CC0 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 00724 809B2CC4 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 00728 809B2CC8 8FB00038 */ lw $s0, 0x0038($sp) -/* 0072C 809B2CCC 8FB1003C */ lw $s1, 0x003C($sp) -/* 00730 809B2CD0 8FB20040 */ lw $s2, 0x0040($sp) -/* 00734 809B2CD4 8FB30044 */ lw $s3, 0x0044($sp) -/* 00738 809B2CD8 8FB40048 */ lw $s4, 0x0048($sp) -/* 0073C 809B2CDC 8FB5004C */ lw $s5, 0x004C($sp) -/* 00740 809B2CE0 8FB60050 */ lw $s6, 0x0050($sp) -/* 00744 809B2CE4 8FB70054 */ lw $s7, 0x0054($sp) -/* 00748 809B2CE8 8FBE0058 */ lw $s8, 0x0058($sp) -/* 0074C 809B2CEC 03E00008 */ jr $ra -/* 00750 809B2CF0 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000 diff --git a/data/overlays/actors/z_en_anubice_fire.data.s b/data/overlays/actors/z_en_anubice_fire.data.s deleted file mode 100644 index bd32605705..0000000000 --- a/data/overlays/actors/z_en_anubice_fire.data.s +++ /dev/null @@ -1,44 +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_Anubice_Fire_InitVars - .word 0x00E10500, 0x00000010, 0x00D60000, 0x000001F4 -.word EnAnubiceFire_Init -.word EnAnubiceFire_Destroy -.word EnAnubiceFire_Update -.word EnAnubiceFire_Draw -glabel D_809B31E0 - .word 0x0A110900, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x01040000, 0xFFCFFFFF, 0x00000000, 0x01010000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809B320C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3218 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3224 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3230 - .word 0xFFFF00FF -glabel D_809B3234 - .word 0xFF0000FF -glabel D_809B3238 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3244 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3250 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B325C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B3268 - .word 0xFFFF00FF -glabel D_809B326C - .word 0xFF0000FF -glabel D_809B3270 - .word gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex - diff --git a/data/overlays/actors/z_en_anubice_fire.reloc.s b/data/overlays/actors/z_en_anubice_fire.reloc.s deleted file mode 100644 index 6b730bf176..0000000000 --- a/data/overlays/actors/z_en_anubice_fire.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_809B3300 - .incbin "baserom/ovl_En_Anubice_Fire", 0xD60, 0x00000100 diff --git a/spec b/spec index afa8e730ae..5e9d8dcae0 100644 --- a/spec +++ b/spec @@ -1859,8 +1859,7 @@ endseg beginseg name "ovl_En_Anubice_Fire" include "build/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.o" - include "build/data/overlays/actors/z_en_anubice_fire.data.o" - include "build/data/overlays/actors/z_en_anubice_fire.reloc.o" + include "build/src/overlays/actors/ovl_En_Anubice_Fire/ovl_En_Anubice_Fire_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c index 7b39b54594..92c77bafc7 100644 --- a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c +++ b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c @@ -16,9 +16,12 @@ void EnAnubiceFire_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAnubiceFire_Update(Actor* thisx, GlobalContext* globalCtx); void EnAnubiceFire_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_06003510; +void func_809B26EC(EnAnubiceFire* this, GlobalContext* globalCtx); +void func_809B27D8(EnAnubiceFire* this, GlobalContext* globalCtx); +void func_809B2B48(EnAnubiceFire* this, GlobalContext* globalCtx); + +extern Gfx D_06003510[]; -/* const ActorInit En_Anubice_Fire_InitVars = { ACTOR_EN_ANUBICE_FIRE, ACTORCAT_ENEMY, @@ -31,7 +34,7 @@ const ActorInit En_Anubice_Fire_InitVars = { (ActorFunc)EnAnubiceFire_Draw, }; -static ColliderCylinderInit D_809B31E0 = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, @@ -50,17 +53,206 @@ static ColliderCylinderInit D_809B31E0 = { }, { 0, 0, 0, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Destroy.s") +void EnAnubiceFire_Init(Actor* thisx, GlobalContext* globalCtx) { + EnAnubiceFire* this = THIS; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B26EC.s") + Collider_InitCylinder(globalCtx, &this->cylinder); + Collider_SetCylinder(globalCtx, &this->cylinder, &this->actor, &sCylinderInit); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B27D8.s") + this->unk_15A = 30; + this->unk_154 = 2.0f; + this->scale = 0.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/func_809B2B48.s") + for (i = 0; i < 6; i++) { + this->unk_160[i] = this->actor.world.pos; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Update.s") + this->unk_15E = 0; + this->actionFunc = func_809B26EC; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice_Fire/EnAnubiceFire_Draw.s") +void EnAnubiceFire_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnAnubiceFire* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->cylinder); +} + +void func_809B26EC(EnAnubiceFire* this, GlobalContext* globalCtx) { + Vec3f velocity = { 0.0f, 0.0f, 0.0f }; + + Matrix_Push(); + Matrix_RotateY(BINANG_TO_RAD(this->actor.world.rot.y), MTXMODE_NEW); + Matrix_RotateX(BINANG_TO_RAD(this->actor.world.rot.x), MTXMODE_APPLY); + velocity.z = 15.0f; + Matrix_MultVec3f(&velocity, &this->actor.velocity); + Matrix_Pull(); + + this->actionFunc = func_809B27D8; + this->actor.world.rot.x = this->actor.world.rot.y = this->actor.world.rot.z = 0; +} + +void func_809B27D8(EnAnubiceFire* this, GlobalContext* globalCtx) { + s32 pad; + Vec3f velocity = { 0.0f, 0.0f, 0.0f }; + Vec3f accel = { 0.0f, 0.0f, 0.0f }; + Vec3f pos; + Color_RGBA8 primColor = { 255, 255, 0, 255 }; + Color_RGBA8 envColor = { 255, 0, 0, 255 }; + Vec3f sp84 = { 0.0f, 0.0f, 0.0f }; + Vec3f sp78 = { 0.0f, 0.0f, 0.0f }; + + this->actor.world.rot.z += 5000; + if (this->unk_15A == 0) { + this->unk_154 = 0.0f; + } + + Math_ApproachF(&this->scale, this->unk_154, 0.2f, 0.4f); + if ((this->unk_15A == 0) && (this->scale < 0.1f)) { + Actor_Kill(&this->actor); + } else if ((this->actor.params == 0) && (this->cylinder.base.atFlags & 4)) { + if (Player_HasMirrorShieldEquipped(globalCtx)) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_SHIELD_REFLECT_SW); + this->cylinder.base.atFlags &= 0xFFE9; + this->cylinder.base.atFlags |= 8; + this->cylinder.info.toucher.dmgFlags = 2; + this->unk_15A = 30; + this->actor.params = 1; + this->actor.velocity.x *= -1.0f; + this->actor.velocity.y *= -0.5f; + this->actor.velocity.z *= -1.0f; + } else { + this->unk_15A = 0; + EffectSsBomb2_SpawnLayered(globalCtx, &this->actor.world.pos, &sp78, &sp84, 10, 5); + this->actor.velocity.x = this->actor.velocity.y = this->actor.velocity.z = 0.0f; + Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_FIREBOMB); + this->actionFunc = func_809B2B48; + } + } else if (!(this->scale < .4f)) { + f32 scale = 1000.0f; + f32 life = 10.0f; + s32 i; + + for (i = 0; i < 10; i++) { + pos.x = this->actor.world.pos.x + (Rand_ZeroOne() - 0.5f) * (this->scale * 20.0f); + pos.y = this->actor.world.pos.y + (Rand_ZeroOne() - 0.5f) * (this->scale * 20.0f); + pos.z = this->actor.world.pos.z; + EffectSsKiraKira_SpawnDispersed(globalCtx, &pos, &velocity, &accel, &primColor, &envColor, scale, life); + } + Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_FIRE - SFX_FLAG); + } +} + +void func_809B2B48(EnAnubiceFire* this, GlobalContext* globalCtx) { + Vec3f velocity = { 0.0f, 0.0f, 0.0f }; + Vec3f accel = { 0.0f, 0.0f, 0.0f }; + Vec3f pos; + Color_RGBA8 primColor = { 255, 255, 0, 255 }; + Color_RGBA8 envColor = { 255, 0, 0, 255 }; + s32 pad; + s32 i; + + if (this->unk_15C == 0) { + for (i = 0; i < 20; i++) { + pos.x = this->actor.world.pos.x; + pos.y = this->actor.world.pos.y; + pos.z = this->actor.world.pos.z; + accel.x = Rand_CenteredFloat(8.0f); + accel.y = Rand_CenteredFloat(2.0f); + accel.z = Rand_CenteredFloat(8.0f); + EffectSsKiraKira_SpawnDispersed(globalCtx, &pos, &velocity, &accel, &primColor, &envColor, 2000, 10); + } + + this->unk_15C = 2; + this->unk_15E++; + if (this->unk_15E >= 6) { + Actor_Kill(&this->actor); + } + } +} + +void EnAnubiceFire_Update(Actor* thisx, GlobalContext* globalCtx) { + EnAnubiceFire* this = THIS; + s32 pad; + s32 i; + + Actor_SetScale(&this->actor, this->scale); + this->actionFunc(this, globalCtx); + func_8002D7EC(&this->actor); + this->unk_160[0] = this->actor.world.pos; + + for (i = 4; i >= 0; --i) { + this->unk_160[i + 1] = this->unk_160[i]; + } + + if (this->unk_15A != 0) { + this->unk_15A--; + } + + if (this->unk_15C != 0) { + this->unk_15C--; + } + + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 5.0f, 5.0f, 10.0f, 0x1D); + if (!(this->scale < 0.6f || this->actionFunc == func_809B2B48)) { + this->cylinder.dim.radius = this->scale * 15.0f + 5.0f; + this->cylinder.dim.height = this->scale * 15.0f + 5.0f; + this->cylinder.dim.yShift = this->scale * -0.75f + -15.0f; + + if (this->unk_15A != 0) { + Collider_UpdateCylinder(&this->actor, &this->cylinder); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->cylinder.base); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->cylinder.base); + } + + if (BgCheck_SphVsFirstPoly(&globalCtx->colCtx, &this->actor.world.pos, 30.0f)) { + this->actor.velocity.x = this->actor.velocity.y = this->actor.velocity.z = 0.0f; + Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_FIREBOMB); + this->actionFunc = func_809B2B48; + } + } +} + +static u64* D_809B3270[] = { gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex }; + +void EnAnubiceFire_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnAnubiceFire* this = THIS; + s32 pad[2]; + s32 i; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_anubice_fire.c", 503); + func_80093D84(globalCtx->state.gfxCtx); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 0, 255); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 0); + gDPPipeSync(POLY_XLU_DISP++); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_809B3270[0])); + + Matrix_Push(); + for (i = this->unk_15E; i < 6; ++i) { + f32 scale = this->actor.scale.x - (i * 0.2f); + if (scale < 0.0f) { + scale = 0.0f; + } + + if (scale >= 0.1f) { + Matrix_Translate(this->unk_160[i].x, this->unk_160[i].y, this->unk_160[i].z, MTXMODE_NEW); + Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); + func_800D1FD4(&globalCtx->mf_11DA0); + Matrix_RotateZ(this->actor.world.rot.z + i * 1000.0f, MTXMODE_APPLY); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_anubice_fire.c", 546), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPDisplayList(POLY_XLU_DISP++, D_06003510); + } + + if (this->scale < 0.1f) { + break; + } + } + Matrix_Pull(); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_anubice_fire.c", 556); +} diff --git a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.h b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.h index cfc447ca61..c44bf6ff25 100644 --- a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.h +++ b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.h @@ -6,9 +6,19 @@ struct EnAnubiceFire; +typedef void (*EnAnubiceFireActionFunc)(struct EnAnubiceFire*, GlobalContext*); + typedef struct EnAnubiceFire { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xA8]; + /* 0x014C */ EnAnubiceFireActionFunc actionFunc; + /* 0x0150 */ f32 scale; + /* 0x0154 */ f32 unk_154; + /* 0x0158 */ s16 unused; + /* 0x015A */ s16 unk_15A; + /* 0x015C */ s16 unk_15C; + /* 0x015E */ s16 unk_15E; + /* 0x0178 */ Vec3f unk_160[6]; + /* 0x01A8 */ ColliderCylinder cylinder; } EnAnubiceFire; // size = 0x01F4 extern const ActorInit En_Anubice_Fire_InitVars;