1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

z_bg_bombwall OK (#506)

* Update spec

remove z_bg_bombwall.o from spec

* Update z_bg_bombwall.h

updated actor struct

* Update z_bg_bombwall.c

* Delete BgBombwall_Destroy.s

no longer needed

* Delete BgBombwall_Draw.s

no longer needed

* Delete BgBombwall_Init.s

no longer needed

* Delete BgBombwall_Update.s

no longer needed

* Delete func_8086E7D0.s

no longer needed

* Delete func_8086E850.s

no longer needed

* Delete func_8086EAC0.s

no longer needed

* Delete func_8086EB5C.s

no longer needed

* Delete func_8086ED50.s

no longer needed

* Delete func_8086ED70.s

no longer needed

* Delete func_8086EDFC.s

no longer needed

* Delete func_8086EE40.s

no longer needed

* Delete func_8086EE94.s

no longer needed

* Update spec

update path to reloc

* Delete z_bg_bombwall.data.s

no longer needed

* Delete z_bg_bombwall.reloc.s

no longer needed

* Update spec

fix path to reloc of bombwall

* Update z_bg_bombwall.c

Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
mnzlmstr 2020-12-30 17:36:17 +01:00 committed by GitHub
parent 257fc54195
commit 5a2bd7a035
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 199 additions and 594 deletions

View File

@ -1,9 +0,0 @@
glabel BgBombwall_Destroy
/* 0036C 8086EB3C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00370 8086EB40 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00374 8086EB44 0C21BAB0 */ jal func_8086EAC0
/* 00378 8086EB48 00000000 */ nop
/* 0037C 8086EB4C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00380 8086EB50 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00384 8086EB54 03E00008 */ jr $ra
/* 00388 8086EB58 00000000 */ nop

View File

@ -1,13 +0,0 @@
glabel BgBombwall_Draw
/* 00724 8086EEF4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00728 8086EEF8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0072C 8086EEFC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00730 8086EF00 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00734 8086EF04 0C00D498 */ jal Gfx_DrawDListOpa
/* 00738 8086EF08 8CC5029C */ lw $a1, 0x029C($a2) ## 0000029C
/* 0073C 8086EF0C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00740 8086EF10 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00744 8086EF14 03E00008 */ jr $ra
/* 00748 8086EF18 00000000 */ nop
/* 0074C 8086EF1C 00000000 */ nop

View File

@ -1,154 +0,0 @@
.rdata
glabel D_8086F088
.asciz "(field keep )(arg_data 0x%04x)(angY %d)\n"
.balign 4
.text
glabel BgBombwall_Init
/* 000CC 8086E89C 27BDFF48 */ addiu $sp, $sp, 0xFF48 ## $sp = FFFFFF48
/* 000D0 8086E8A0 AFB30044 */ sw $s3, 0x0044($sp)
/* 000D4 8086E8A4 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 000D8 8086E8A8 AFBF005C */ sw $ra, 0x005C($sp)
/* 000DC 8086E8AC AFBE0058 */ sw $s8, 0x0058($sp)
/* 000E0 8086E8B0 AFB70054 */ sw $s7, 0x0054($sp)
/* 000E4 8086E8B4 AFB60050 */ sw $s6, 0x0050($sp)
/* 000E8 8086E8B8 AFB5004C */ sw $s5, 0x004C($sp)
/* 000EC 8086E8BC AFB40048 */ sw $s4, 0x0048($sp)
/* 000F0 8086E8C0 AFB20040 */ sw $s2, 0x0040($sp)
/* 000F4 8086E8C4 AFB1003C */ sw $s1, 0x003C($sp)
/* 000F8 8086E8C8 AFB00038 */ sw $s0, 0x0038($sp)
/* 000FC 8086E8CC F7B80030 */ sdc1 $f24, 0x0030($sp)
/* 00100 8086E8D0 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 00104 8086E8D4 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 00108 8086E8D8 AFA500BC */ sw $a1, 0x00BC($sp)
/* 0010C 8086E8DC 0C01DE1C */ jal Math_SinS
## sins?
/* 00110 8086E8E0 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
/* 00114 8086E8E4 46000586 */ mov.s $f22, $f0
/* 00118 8086E8E8 0C01DE0D */ jal Math_CosS
## coss?
/* 0011C 8086E8EC 866400B6 */ lh $a0, 0x00B6($s3) ## 000000B6
/* 00120 8086E8F0 3C058087 */ lui $a1, %hi(D_8086F004) ## $a1 = 80870000
/* 00124 8086E8F4 46000606 */ mov.s $f24, $f0
/* 00128 8086E8F8 24A5F004 */ addiu $a1, $a1, %lo(D_8086F004) ## $a1 = 8086F004
/* 0012C 8086E8FC 0C01E037 */ jal Actor_ProcessInitChain
/* 00130 8086E900 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00134 8086E904 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
/* 00138 8086E908 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
/* 0013C 8086E90C 0C00B58B */ jal Actor_SetScale
/* 00140 8086E910 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00144 8086E914 8665001C */ lh $a1, 0x001C($s3) ## 0000001C
/* 00148 8086E918 8FA400BC */ lw $a0, 0x00BC($sp)
/* 0014C 8086E91C 0C00B2D0 */ jal Flags_GetSwitch
/* 00150 8086E920 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 00154 8086E924 10400006 */ beq $v0, $zero, .L8086E940
/* 00158 8086E928 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0015C 8086E92C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00160 8086E930 0C21BBA5 */ jal func_8086EE94
/* 00164 8086E934 8FA500BC */ lw $a1, 0x00BC($sp)
/* 00168 8086E938 1000004D */ beq $zero, $zero, .L8086EA70
/* 0016C 8086E93C 00000000 */ nop
.L8086E940:
/* 00170 8086E940 0C21B9F4 */ jal func_8086E7D0
/* 00174 8086E944 8FA500BC */ lw $a1, 0x00BC($sp)
/* 00178 8086E948 926E02A2 */ lbu $t6, 0x02A2($s3) ## 000002A2
/* 0017C 8086E94C 26770164 */ addiu $s7, $s3, 0x0164 ## $s7 = 00000164
/* 00180 8086E950 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000164
/* 00184 8086E954 35CF0002 */ ori $t7, $t6, 0x0002 ## $t7 = 00000002
/* 00188 8086E958 A26F02A2 */ sb $t7, 0x02A2($s3) ## 000002A2
/* 0018C 8086E95C 0C0171F8 */ jal Collider_InitTris
/* 00190 8086E960 8FA400BC */ lw $a0, 0x00BC($sp)
/* 00194 8086E964 3C148087 */ lui $s4, %hi(D_8086EFD4) ## $s4 = 80870000
/* 00198 8086E968 2694EFD4 */ addiu $s4, $s4, %lo(D_8086EFD4) ## $s4 = 8086EFD4
/* 0019C 8086E96C 26780184 */ addiu $t8, $s3, 0x0184 ## $t8 = 00000184
/* 001A0 8086E970 AFB80010 */ sw $t8, 0x0010($sp)
/* 001A4 8086E974 02803825 */ or $a3, $s4, $zero ## $a3 = 8086EFD4
/* 001A8 8086E978 8FA400BC */ lw $a0, 0x00BC($sp)
/* 001AC 8086E97C 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000164
/* 001B0 8086E980 0C0172EB */ jal Collider_SetTris
/* 001B4 8086E984 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 001B8 8086E988 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 001BC 8086E98C 4481A000 */ mtc1 $at, $f20 ## $f20 = 2.00
/* 001C0 8086E990 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 001C4 8086E994 27BE008C */ addiu $s8, $sp, 0x008C ## $s8 = FFFFFFD4
/* 001C8 8086E998 27B600B0 */ addiu $s6, $sp, 0x00B0 ## $s6 = FFFFFFF8
/* 001CC 8086E99C 27B50080 */ addiu $s5, $sp, 0x0080 ## $s5 = FFFFFFC8
/* 001D0 8086E9A0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
.L8086E9A4:
/* 001D4 8086E9A4 27B0008C */ addiu $s0, $sp, 0x008C ## $s0 = FFFFFFD4
.L8086E9A8:
/* 001D8 8086E9A8 8E99000C */ lw $t9, 0x000C($s4) ## 8086EFE0
/* 001DC 8086E9AC 00124100 */ sll $t0, $s2, 4
/* 001E0 8086E9B0 01124023 */ subu $t0, $t0, $s2
/* 001E4 8086E9B4 00084080 */ sll $t0, $t0, 2
/* 001E8 8086E9B8 03284821 */ addu $t1, $t9, $t0
/* 001EC 8086E9BC 01311021 */ addu $v0, $t1, $s1
/* 001F0 8086E9C0 C4440018 */ lwc1 $f4, 0x0018($v0) ## 00000018
/* 001F4 8086E9C4 4406B000 */ mfc1 $a2, $f22
/* 001F8 8086E9C8 4407C000 */ mfc1 $a3, $f24
/* 001FC 8086E9CC E7A40080 */ swc1 $f4, 0x0080($sp)
/* 00200 8086E9D0 C446001C */ lwc1 $f6, 0x001C($v0) ## 0000001C
/* 00204 8086E9D4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFD4
/* 00208 8086E9D8 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFC8
/* 0020C 8086E9DC E7A60084 */ swc1 $f6, 0x0084($sp)
/* 00210 8086E9E0 C4480020 */ lwc1 $f8, 0x0020($v0) ## 00000020
/* 00214 8086E9E4 46144280 */ add.s $f10, $f8, $f20
/* 00218 8086E9E8 0C21BA14 */ jal func_8086E850
/* 0021C 8086E9EC E7AA0088 */ swc1 $f10, 0x0088($sp)
/* 00220 8086E9F0 C6100000 */ lwc1 $f16, 0x0000($s0) ## FFFFFFD4
/* 00224 8086E9F4 C6720024 */ lwc1 $f18, 0x0024($s3) ## 00000024
/* 00228 8086E9F8 C6060004 */ lwc1 $f6, 0x0004($s0) ## FFFFFFD8
/* 0022C 8086E9FC 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = FFFFFFE0
/* 00230 8086EA00 46128100 */ add.s $f4, $f16, $f18
/* 00234 8086EA04 C610FFFC */ lwc1 $f16, -0x0004($s0) ## FFFFFFDC
/* 00238 8086EA08 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 0000000C
/* 0023C 8086EA0C E604FFF4 */ swc1 $f4, -0x000C($s0) ## FFFFFFD4
/* 00240 8086EA10 C6680028 */ lwc1 $f8, 0x0028($s3) ## 00000028
/* 00244 8086EA14 46083280 */ add.s $f10, $f6, $f8
/* 00248 8086EA18 E60AFFF8 */ swc1 $f10, -0x0008($s0) ## FFFFFFD8
/* 0024C 8086EA1C C672002C */ lwc1 $f18, 0x002C($s3) ## 0000002C
/* 00250 8086EA20 46128100 */ add.s $f4, $f16, $f18
/* 00254 8086EA24 1616FFE0 */ bne $s0, $s6, .L8086E9A8
/* 00258 8086EA28 E604FFFC */ swc1 $f4, -0x0004($s0) ## FFFFFFDC
/* 0025C 8086EA2C 27AA00A4 */ addiu $t2, $sp, 0x00A4 ## $t2 = FFFFFFEC
/* 00260 8086EA30 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00264 8086EA34 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000164
/* 00268 8086EA38 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 0026C 8086EA3C 03C03025 */ or $a2, $s8, $zero ## $a2 = FFFFFFD4
/* 00270 8086EA40 0C0189E8 */ jal func_800627A0
/* 00274 8086EA44 27A70098 */ addiu $a3, $sp, 0x0098 ## $a3 = FFFFFFE0
/* 00278 8086EA48 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 0027C 8086EA4C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00280 8086EA50 5641FFD4 */ bnel $s2, $at, .L8086E9A4
/* 00284 8086EA54 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00288 8086EA58 926B02A2 */ lbu $t3, 0x02A2($s3) ## 000002A2
/* 0028C 8086EA5C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00290 8086EA60 356C0001 */ ori $t4, $t3, 0x0001 ## $t4 = 00000001
/* 00294 8086EA64 A26C02A2 */ sb $t4, 0x02A2($s3) ## 000002A2
/* 00298 8086EA68 0C21BB54 */ jal func_8086ED50
/* 0029C 8086EA6C 8FA500BC */ lw $a1, 0x00BC($sp)
.L8086EA70:
/* 002A0 8086EA70 3C048087 */ lui $a0, %hi(D_8086F088) ## $a0 = 80870000
/* 002A4 8086EA74 2484F088 */ addiu $a0, $a0, %lo(D_8086F088) ## $a0 = 8086F088
/* 002A8 8086EA78 8665001C */ lh $a1, 0x001C($s3) ## 0000001C
/* 002AC 8086EA7C 0C00084C */ jal osSyncPrintf
/* 002B0 8086EA80 866600B6 */ lh $a2, 0x00B6($s3) ## 000000B6
/* 002B4 8086EA84 8FBF005C */ lw $ra, 0x005C($sp)
/* 002B8 8086EA88 D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 002BC 8086EA8C D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 002C0 8086EA90 D7B80030 */ ldc1 $f24, 0x0030($sp)
/* 002C4 8086EA94 8FB00038 */ lw $s0, 0x0038($sp)
/* 002C8 8086EA98 8FB1003C */ lw $s1, 0x003C($sp)
/* 002CC 8086EA9C 8FB20040 */ lw $s2, 0x0040($sp)
/* 002D0 8086EAA0 8FB30044 */ lw $s3, 0x0044($sp)
/* 002D4 8086EAA4 8FB40048 */ lw $s4, 0x0048($sp)
/* 002D8 8086EAA8 8FB5004C */ lw $s5, 0x004C($sp)
/* 002DC 8086EAAC 8FB60050 */ lw $s6, 0x0050($sp)
/* 002E0 8086EAB0 8FB70054 */ lw $s7, 0x0054($sp)
/* 002E4 8086EAB4 8FBE0058 */ lw $s8, 0x0058($sp)
/* 002E8 8086EAB8 03E00008 */ jr $ra
/* 002EC 8086EABC 27BD00B8 */ addiu $sp, $sp, 0x00B8 ## $sp = 00000000

View File

@ -1,13 +0,0 @@
glabel BgBombwall_Update
/* 006F8 8086EEC8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 006FC 8086EECC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00700 8086EED0 8C820298 */ lw $v0, 0x0298($a0) ## 00000298
/* 00704 8086EED4 50400004 */ beql $v0, $zero, .L8086EEE8
/* 00708 8086EED8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0070C 8086EEDC 0040F809 */ jalr $ra, $v0
/* 00710 8086EEE0 00000000 */ nop
/* 00714 8086EEE4 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086EEE8:
/* 00718 8086EEE8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0071C 8086EEEC 03E00008 */ jr $ra
/* 00720 8086EEF0 00000000 */ nop

View File

@ -1,48 +0,0 @@
.rdata
glabel D_8086F040
.asciz "Warning : move BG (%s %d)(arg_data 0x%04x)\n"
.balign 4
glabel D_8086F074
.asciz "../z_bg_bombwall.c"
.balign 4
.text
glabel func_8086E7D0
/* 00000 8086E7D0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00004 8086E7D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 8086E7D8 AFA5002C */ sw $a1, 0x002C($sp)
/* 0000C 8086E7DC AFA40028 */ sw $a0, 0x0028($sp)
/* 00010 8086E7E0 AFA0001C */ sw $zero, 0x001C($sp)
/* 00014 8086E7E4 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 00018 8086E7E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0001C 8086E7EC 3C040500 */ lui $a0, %hi(D_050041B0) ## $a0 = 05000000
/* 00020 8086E7F0 248441B0 */ addiu $a0, $a0, %lo(D_050041B0) ## $a0 = 050041B0
/* 00024 8086E7F4 0C010620 */ jal DynaPolyInfo_Alloc
/* 00028 8086E7F8 27A5001C */ addiu $a1, $sp, 0x001C ## $a1 = FFFFFFF4
/* 0002C 8086E7FC 8FA4002C */ lw $a0, 0x002C($sp)
/* 00030 8086E800 8FA60028 */ lw $a2, 0x0028($sp)
/* 00034 8086E804 8FA7001C */ lw $a3, 0x001C($sp)
/* 00038 8086E808 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 0003C 8086E80C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00040 8086E810 8FAE0028 */ lw $t6, 0x0028($sp)
/* 00044 8086E814 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 00048 8086E818 14410009 */ bne $v0, $at, .L8086E840
/* 0004C 8086E81C ADC2014C */ sw $v0, 0x014C($t6) ## 0000014C
/* 00050 8086E820 8FAF0028 */ lw $t7, 0x0028($sp)
/* 00054 8086E824 3C048087 */ lui $a0, %hi(D_8086F040) ## $a0 = 80870000
/* 00058 8086E828 3C058087 */ lui $a1, %hi(D_8086F074) ## $a1 = 80870000
/* 0005C 8086E82C 24A5F074 */ addiu $a1, $a1, %lo(D_8086F074) ## $a1 = 8086F074
/* 00060 8086E830 2484F040 */ addiu $a0, $a0, %lo(D_8086F040) ## $a0 = 8086F040
/* 00064 8086E834 240600F3 */ addiu $a2, $zero, 0x00F3 ## $a2 = 000000F3
/* 00068 8086E838 0C00084C */ jal osSyncPrintf
/* 0006C 8086E83C 85E7001C */ lh $a3, 0x001C($t7) ## 0000001C
.L8086E840:
/* 00070 8086E840 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00074 8086E844 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00078 8086E848 03E00008 */ jr $ra
/* 0007C 8086E84C 00000000 */ nop

View File

@ -1,20 +0,0 @@
glabel func_8086E850
/* 00080 8086E850 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
/* 00084 8086E854 C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008
/* 00088 8086E858 44877000 */ mtc1 $a3, $f14 ## $f14 = 0.00
/* 0008C 8086E85C C4A80000 */ lwc1 $f8, 0x0000($a1) ## 00000000
/* 00090 8086E860 460C2182 */ mul.s $f6, $f4, $f12
/* 00094 8086E864 00000000 */ nop
/* 00098 8086E868 460E4282 */ mul.s $f10, $f8, $f14
/* 0009C 8086E86C 460A3400 */ add.s $f16, $f6, $f10
/* 000A0 8086E870 E4900000 */ swc1 $f16, 0x0000($a0) ## 00000000
/* 000A4 8086E874 C4B20004 */ lwc1 $f18, 0x0004($a1) ## 00000004
/* 000A8 8086E878 E4920004 */ swc1 $f18, 0x0004($a0) ## 00000004
/* 000AC 8086E87C C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008
/* 000B0 8086E880 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000
/* 000B4 8086E884 460E2202 */ mul.s $f8, $f4, $f14
/* 000B8 8086E888 00000000 */ nop
/* 000BC 8086E88C 460C3282 */ mul.s $f10, $f6, $f12
/* 000C0 8086E890 460A4401 */ sub.s $f16, $f8, $f10
/* 000C4 8086E894 03E00008 */ jr $ra
/* 000C8 8086E898 E4900008 */ swc1 $f16, 0x0008($a0) ## 00000008

View File

@ -1,35 +0,0 @@
glabel func_8086EAC0
/* 002F0 8086EAC0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002F4 8086EAC4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 002F8 8086EAC8 AFA5001C */ sw $a1, 0x001C($sp)
/* 002FC 8086EACC 908202A2 */ lbu $v0, 0x02A2($a0) ## 000002A2
/* 00300 8086EAD0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00304 8086EAD4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00308 8086EAD8 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 0030C 8086EADC 11C00009 */ beq $t6, $zero, .L8086EB04
/* 00310 8086EAE0 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00314 8086EAE4 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 00318 8086EAE8 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 0031C 8086EAEC AFA70018 */ sw $a3, 0x0018($sp)
/* 00320 8086EAF0 8FA70018 */ lw $a3, 0x0018($sp)
/* 00324 8086EAF4 90F802A2 */ lbu $t8, 0x02A2($a3) ## 000002A2
/* 00328 8086EAF8 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000
/* 0032C 8086EAFC 332200FF */ andi $v0, $t9, 0x00FF ## $v0 = 00000000
/* 00330 8086EB00 A0F902A2 */ sb $t9, 0x02A2($a3) ## 000002A2
.L8086EB04:
/* 00334 8086EB04 30480001 */ andi $t0, $v0, 0x0001 ## $t0 = 00000000
/* 00338 8086EB08 11000008 */ beq $t0, $zero, .L8086EB2C
/* 0033C 8086EB0C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00340 8086EB10 24E50164 */ addiu $a1, $a3, 0x0164 ## $a1 = 00000164
/* 00344 8086EB14 0C017232 */ jal Collider_DestroyTris
/* 00348 8086EB18 AFA70018 */ sw $a3, 0x0018($sp)
/* 0034C 8086EB1C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00350 8086EB20 90E902A2 */ lbu $t1, 0x02A2($a3) ## 000002A2
/* 00354 8086EB24 312AFFFE */ andi $t2, $t1, 0xFFFE ## $t2 = 00000000
/* 00358 8086EB28 A0EA02A2 */ sb $t2, 0x02A2($a3) ## 000002A2
.L8086EB2C:
/* 0035C 8086EB2C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00360 8086EB30 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00364 8086EB34 03E00008 */ jr $ra
/* 00368 8086EB38 00000000 */ nop

View File

@ -1,131 +0,0 @@
glabel func_8086EB5C
/* 0038C 8086EB5C 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 00390 8086EB60 AFB20054 */ sw $s2, 0x0054($sp)
/* 00394 8086EB64 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00398 8086EB68 AFBF0064 */ sw $ra, 0x0064($sp)
/* 0039C 8086EB6C AFB50060 */ sw $s5, 0x0060($sp)
/* 003A0 8086EB70 AFB4005C */ sw $s4, 0x005C($sp)
/* 003A4 8086EB74 AFB30058 */ sw $s3, 0x0058($sp)
/* 003A8 8086EB78 AFB10050 */ sw $s1, 0x0050($sp)
/* 003AC 8086EB7C AFB0004C */ sw $s0, 0x004C($sp)
/* 003B0 8086EB80 F7BC0040 */ sdc1 $f28, 0x0040($sp)
/* 003B4 8086EB84 F7BA0038 */ sdc1 $f26, 0x0038($sp)
/* 003B8 8086EB88 F7B80030 */ sdc1 $f24, 0x0030($sp)
/* 003BC 8086EB8C F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 003C0 8086EB90 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 003C4 8086EB94 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 003C8 8086EB98 0C01DE1C */ jal Math_SinS
## sins?
/* 003CC 8086EB9C 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
/* 003D0 8086EBA0 46000586 */ mov.s $f22, $f0
/* 003D4 8086EBA4 0C01DE0D */ jal Math_CosS
## coss?
/* 003D8 8086EBA8 864400B6 */ lh $a0, 0x00B6($s2) ## 000000B6
/* 003DC 8086EBAC 3C014370 */ lui $at, 0x4370 ## $at = 43700000
/* 003E0 8086EBB0 4481E000 */ mtc1 $at, $f28 ## $f28 = 240.00
/* 003E4 8086EBB4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 003E8 8086EBB8 4481D000 */ mtc1 $at, $f26 ## $f26 = 50.00
/* 003EC 8086EBBC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 003F0 8086EBC0 3C108087 */ lui $s0, %hi(D_8086F010) ## $s0 = 80870000
/* 003F4 8086EBC4 3C138087 */ lui $s3, %hi(D_8086F03A) ## $s3 = 80870000
/* 003F8 8086EBC8 4481C000 */ mtc1 $at, $f24 ## $f24 = 120.00
/* 003FC 8086EBCC 46000506 */ mov.s $f20, $f0
/* 00400 8086EBD0 2673F03A */ addiu $s3, $s3, %lo(D_8086F03A) ## $s3 = 8086F03A
/* 00404 8086EBD4 2610F010 */ addiu $s0, $s0, %lo(D_8086F010) ## $s0 = 8086F010
/* 00408 8086EBD8 26510024 */ addiu $s1, $s2, 0x0024 ## $s1 = 00000024
/* 0040C 8086EBDC 27B50088 */ addiu $s5, $sp, 0x0088 ## $s5 = FFFFFFF0
/* 00410 8086EBE0 860F0004 */ lh $t7, 0x0004($s0) ## 8086F014
.L8086EBE4:
/* 00414 8086EBE4 860E0000 */ lh $t6, 0x0000($s0) ## 8086F010
/* 00418 8086EBE8 C6320000 */ lwc1 $f18, 0x0000($s1) ## 00000024
/* 0041C 8086EBEC 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00
/* 00420 8086EBF0 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 00424 8086EBF4 86180002 */ lh $t8, 0x0002($s0) ## 8086F012
/* 00428 8086EBF8 468030A0 */ cvt.s.w $f2, $f6
/* 0042C 8086EBFC 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00
/* 00430 8086EC00 46802020 */ cvt.s.w $f0, $f4
/* 00434 8086EC04 46161202 */ mul.s $f8, $f2, $f22
/* 00438 8086EC08 00000000 */ nop
/* 0043C 8086EC0C 46140282 */ mul.s $f10, $f0, $f20
/* 00440 8086EC10 460A4400 */ add.s $f16, $f8, $f10
/* 00444 8086EC14 46803220 */ cvt.s.w $f8, $f6
/* 00448 8086EC18 46128100 */ add.s $f4, $f16, $f18
/* 0044C 8086EC1C 46141482 */ mul.s $f18, $f2, $f20
/* 00450 8086EC20 E7A40088 */ swc1 $f4, 0x0088($sp)
/* 00454 8086EC24 46160102 */ mul.s $f4, $f0, $f22
/* 00458 8086EC28 C62A0004 */ lwc1 $f10, 0x0004($s1) ## 00000028
/* 0045C 8086EC2C 460A4400 */ add.s $f16, $f8, $f10
/* 00460 8086EC30 46049181 */ sub.s $f6, $f18, $f4
/* 00464 8086EC34 E7B0008C */ swc1 $f16, 0x008C($sp)
/* 00468 8086EC38 C6280008 */ lwc1 $f8, 0x0008($s1) ## 0000002C
/* 0046C 8086EC3C 46083280 */ add.s $f10, $f6, $f8
/* 00470 8086EC40 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00474 8086EC44 E7AA0090 */ swc1 $f10, 0x0090($sp)
/* 00478 8086EC48 46180402 */ mul.s $f16, $f0, $f24
/* 0047C 8086EC4C 4600848D */ trunc.w.s $f18, $f16
/* 00480 8086EC50 44129000 */ mfc1 $s2, $f18
/* 00484 8086EC54 00000000 */ nop
/* 00488 8086EC58 00129400 */ sll $s2, $s2, 16
/* 0048C 8086EC5C 00129403 */ sra $s2, $s2, 16
/* 00490 8086EC60 26520014 */ addiu $s2, $s2, 0x0014 ## $s2 = 00000014
/* 00494 8086EC64 00129400 */ sll $s2, $s2, 16
/* 00498 8086EC68 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 0049C 8086EC6C 00129403 */ sra $s2, $s2, 16
/* 004A0 8086EC70 461C0102 */ mul.s $f4, $f0, $f28
/* 004A4 8086EC74 4406D000 */ mfc1 $a2, $f26
/* 004A8 8086EC78 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 004AC 8086EC7C AFAD0018 */ sw $t5, 0x0018($sp)
/* 004B0 8086EC80 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 004B4 8086EC84 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF0
/* 004B8 8086EC88 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 004BC 8086EC8C 4600218D */ trunc.w.s $f6, $f4
/* 004C0 8086EC90 AFB20010 */ sw $s2, 0x0010($sp)
/* 004C4 8086EC94 44093000 */ mfc1 $t1, $f6
/* 004C8 8086EC98 00000000 */ nop
/* 004CC 8086EC9C 00095400 */ sll $t2, $t1, 16
/* 004D0 8086ECA0 000A5C03 */ sra $t3, $t2, 16
/* 004D4 8086ECA4 256C0014 */ addiu $t4, $t3, 0x0014 ## $t4 = 00000014
/* 004D8 8086ECA8 0C00CD20 */ jal func_80033480
/* 004DC 8086ECAC AFAC0014 */ sw $t4, 0x0014($sp)
/* 004E0 8086ECB0 26100006 */ addiu $s0, $s0, 0x0006 ## $s0 = 8086F016
/* 004E4 8086ECB4 5613FFCB */ bnel $s0, $s3, .L8086EBE4
/* 004E8 8086ECB8 860F0004 */ lh $t7, 0x0004($s0) ## 8086F01A
/* 004EC 8086ECBC C6280000 */ lwc1 $f8, 0x0000($s1) ## 00000024
/* 004F0 8086ECC0 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
/* 004F4 8086ECC4 44818000 */ mtc1 $at, $f16 ## $f16 = 90.00
/* 004F8 8086ECC8 E7A80088 */ swc1 $f8, 0x0088($sp)
/* 004FC 8086ECCC C62A0004 */ lwc1 $f10, 0x0004($s1) ## 00000028
/* 00500 8086ECD0 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 00504 8086ECD4 44813000 */ mtc1 $at, $f6 ## $f6 = 15.00
/* 00508 8086ECD8 46105480 */ add.s $f18, $f10, $f16
/* 0050C 8086ECDC 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
/* 00510 8086ECE0 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 00514 8086ECE4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00518 8086ECE8 E7B2008C */ swc1 $f18, 0x008C($sp)
/* 0051C 8086ECEC C6240008 */ lwc1 $f4, 0x0008($s1) ## 0000002C
/* 00520 8086ECF0 AFB80018 */ sw $t8, 0x0018($sp)
/* 00524 8086ECF4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00528 8086ECF8 46062200 */ add.s $f8, $f4, $f6
/* 0052C 8086ECFC AFAE0010 */ sw $t6, 0x0010($sp)
/* 00530 8086ED00 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00534 8086ED04 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF0
/* 00538 8086ED08 E7A80090 */ swc1 $f8, 0x0090($sp)
/* 0053C 8086ED0C 3C064220 */ lui $a2, 0x4220 ## $a2 = 42200000
/* 00540 8086ED10 0C00CD20 */ jal func_80033480
/* 00544 8086ED14 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
/* 00548 8086ED18 8FBF0064 */ lw $ra, 0x0064($sp)
/* 0054C 8086ED1C D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 00550 8086ED20 D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 00554 8086ED24 D7B80030 */ ldc1 $f24, 0x0030($sp)
/* 00558 8086ED28 D7BA0038 */ ldc1 $f26, 0x0038($sp)
/* 0055C 8086ED2C D7BC0040 */ ldc1 $f28, 0x0040($sp)
/* 00560 8086ED30 8FB0004C */ lw $s0, 0x004C($sp)
/* 00564 8086ED34 8FB10050 */ lw $s1, 0x0050($sp)
/* 00568 8086ED38 8FB20054 */ lw $s2, 0x0054($sp)
/* 0056C 8086ED3C 8FB30058 */ lw $s3, 0x0058($sp)
/* 00570 8086ED40 8FB4005C */ lw $s4, 0x005C($sp)
/* 00574 8086ED44 8FB50060 */ lw $s5, 0x0060($sp)
/* 00578 8086ED48 03E00008 */ jr $ra
/* 0057C 8086ED4C 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000

View File

@ -1,9 +0,0 @@
glabel func_8086ED50
/* 00580 8086ED50 3C0E0500 */ lui $t6, %hi(D_05003FC0) ## $t6 = 05000000
/* 00584 8086ED54 3C0F8087 */ lui $t7, %hi(func_8086ED70) ## $t7 = 80870000
/* 00588 8086ED58 AFA50004 */ sw $a1, 0x0004($sp)
/* 0058C 8086ED5C 25CE3FC0 */ addiu $t6, $t6, %lo(D_05003FC0) ## $t6 = 05003FC0
/* 00590 8086ED60 25EFED70 */ addiu $t7, $t7, %lo(func_8086ED70) ## $t7 = 8086ED70
/* 00594 8086ED64 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 00598 8086ED68 03E00008 */ jr $ra
/* 0059C 8086ED6C AC8F0298 */ sw $t7, 0x0298($a0) ## 00000298

View File

@ -1,40 +0,0 @@
glabel func_8086ED70
/* 005A0 8086ED70 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005A4 8086ED74 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005A8 8086ED78 AFA5001C */ sw $a1, 0x001C($sp)
/* 005AC 8086ED7C 90820175 */ lbu $v0, 0x0175($a0) ## 00000175
/* 005B0 8086ED80 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 005B4 8086ED84 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 005B8 8086ED88 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 005BC 8086ED8C 11C0000C */ beq $t6, $zero, .L8086EDC0
/* 005C0 8086ED90 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 005C4 8086ED94 A08F0175 */ sb $t7, 0x0175($a0) ## 00000175
/* 005C8 8086ED98 AFA70018 */ sw $a3, 0x0018($sp)
/* 005CC 8086ED9C 0C21BB7F */ jal func_8086EDFC
/* 005D0 8086EDA0 8FA5001C */ lw $a1, 0x001C($sp)
/* 005D4 8086EDA4 8FA70018 */ lw $a3, 0x0018($sp)
/* 005D8 8086EDA8 8FA4001C */ lw $a0, 0x001C($sp)
/* 005DC 8086EDAC 84E5001C */ lh $a1, 0x001C($a3) ## 0000001C
/* 005E0 8086EDB0 0C00B2DD */ jal Flags_SetSwitch
/* 005E4 8086EDB4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 005E8 8086EDB8 1000000D */ beq $zero, $zero, .L8086EDF0
/* 005EC 8086EDBC 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086EDC0:
/* 005F0 8086EDC0 C4E40090 */ lwc1 $f4, 0x0090($a3) ## 00000090
/* 005F4 8086EDC4 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
/* 005F8 8086EDC8 8FA4001C */ lw $a0, 0x001C($sp)
/* 005FC 8086EDCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00600 8086EDD0 4606203C */ c.lt.s $f4, $f6
/* 00604 8086EDD4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00608 8086EDD8 00812821 */ addu $a1, $a0, $at
/* 0060C 8086EDDC 45020004 */ bc1fl .L8086EDF0
/* 00610 8086EDE0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00614 8086EDE4 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00618 8086EDE8 24E60164 */ addiu $a2, $a3, 0x0164 ## $a2 = 00000164
/* 0061C 8086EDEC 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086EDF0:
/* 00620 8086EDF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00624 8086EDF4 03E00008 */ jr $ra
/* 00628 8086EDF8 00000000 */ nop

View File

@ -1,18 +0,0 @@
glabel func_8086EDFC
/* 0062C 8086EDFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00630 8086EE00 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00634 8086EE04 3C0E0500 */ lui $t6, %hi(D_05003FC0) ## $t6 = 05000000
/* 00638 8086EE08 25CE3FC0 */ addiu $t6, $t6, %lo(D_05003FC0) ## $t6 = 05003FC0
/* 0063C 8086EE0C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00640 8086EE10 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 00644 8086EE14 A48F02A0 */ sh $t7, 0x02A0($a0) ## 000002A0
/* 00648 8086EE18 0C21BAD7 */ jal func_8086EB5C
/* 0064C 8086EE1C AFA40018 */ sw $a0, 0x0018($sp)
/* 00650 8086EE20 8FA40018 */ lw $a0, 0x0018($sp)
/* 00654 8086EE24 3C188087 */ lui $t8, %hi(func_8086EE40) ## $t8 = 80870000
/* 00658 8086EE28 2718EE40 */ addiu $t8, $t8, %lo(func_8086EE40) ## $t8 = 8086EE40
/* 0065C 8086EE2C AC980298 */ sw $t8, 0x0298($a0) ## 00000298
/* 00660 8086EE30 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00664 8086EE34 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00668 8086EE38 03E00008 */ jr $ra
/* 0066C 8086EE3C 00000000 */ nop

View File

@ -1,25 +0,0 @@
glabel func_8086EE40
/* 00670 8086EE40 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00674 8086EE44 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00678 8086EE48 848202A0 */ lh $v0, 0x02A0($a0) ## 000002A0
/* 0067C 8086EE4C 18400003 */ blez $v0, .L8086EE5C
/* 00680 8086EE50 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00684 8086EE54 1000000B */ beq $zero, $zero, .L8086EE84
/* 00688 8086EE58 A48E02A0 */ sh $t6, 0x02A0($a0) ## 000002A0
.L8086EE5C:
/* 0068C 8086EE5C 0C21BBA5 */ jal func_8086EE94
/* 00690 8086EE60 AFA40018 */ sw $a0, 0x0018($sp)
/* 00694 8086EE64 8FA40018 */ lw $a0, 0x0018($sp)
/* 00698 8086EE68 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 0069C 8086EE6C 000FC3C3 */ sra $t8, $t7, 15
/* 006A0 8086EE70 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 006A4 8086EE74 53200004 */ beql $t9, $zero, .L8086EE88
/* 006A8 8086EE78 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006AC 8086EE7C 0C01E221 */ jal func_80078884
/* 006B0 8086EE80 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
.L8086EE84:
/* 006B4 8086EE84 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086EE88:
/* 006B8 8086EE88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006BC 8086EE8C 03E00008 */ jr $ra
/* 006C0 8086EE90 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel func_8086EE94
/* 006C4 8086EE94 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 006C8 8086EE98 3C0E0500 */ lui $t6, %hi(D_05004088) ## $t6 = 05000000
/* 006CC 8086EE9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 006D0 8086EEA0 25CE4088 */ addiu $t6, $t6, %lo(D_05004088) ## $t6 = 05004088
/* 006D4 8086EEA4 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 006D8 8086EEA8 0C21BAB0 */ jal func_8086EAC0
/* 006DC 8086EEAC AFA40018 */ sw $a0, 0x0018($sp)
/* 006E0 8086EEB0 8FA40018 */ lw $a0, 0x0018($sp)
/* 006E4 8086EEB4 AC800298 */ sw $zero, 0x0298($a0) ## 00000298
/* 006E8 8086EEB8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006EC 8086EEBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006F0 8086EEC0 03E00008 */ jr $ra
/* 006F4 8086EEC4 00000000 */ nop

View File

@ -1,29 +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 D_8086EF20
.word 0x00000000, 0x00000000, 0x00000000, 0x40000048, 0x00000000, 0x00010000, 0xC28C0000, 0x43300000, 0x00000000, 0xC28C0000, 0xC0800000, 0x00000000, 0x00000000, 0xC0800000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, 0x40000048, 0x00000000, 0x00010000, 0x428C0000, 0x43300000, 0x00000000, 0xC28C0000, 0x43300000, 0x00000000, 0x00000000, 0xC0800000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, 0x40000048, 0x00000000, 0x00010000, 0x428C0000, 0xC0800000, 0x00000000, 0x428C0000, 0x43300000, 0x00000000, 0x00000000, 0xC0800000, 0x41F00000
glabel D_8086EFD4
.word 0x0A000900, 0x00020000, 0x00000003
.word D_8086EF20
glabel Bg_Bombwall_InitVars
.word 0x00D00100, 0x00400000, 0x00020000, 0x000002A4
.word BgBombwall_Init
.word BgBombwall_Destroy
.word BgBombwall_Update
.word BgBombwall_Draw
glabel D_8086F004
.word 0xB0F40708, 0xB0F8012C, 0x30FC03E8
glabel D_8086F010
.byte 0x00, 0x28, 0x00, 0x55, 0x00, 0x15, 0xFF, 0xD5, 0x00, 0x6B, 0x00, 0x0E, 0xFF, 0xFF, 0x00, 0x8E, 0x00, 0x0E, 0xFF, 0xE5, 0x00, 0x2C, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x14, 0xFF, 0xD9, 0x00, 0x36, 0x00, 0x15, 0x00, 0x31, 0x00, 0x32, 0x00, 0x14
glabel D_8086F03A
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

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_8086F0C0
.incbin "baserom/ovl_Bg_Bombwall", 0x8F0, 0x000000A0

3
spec
View File

@ -637,8 +637,7 @@ endseg
beginseg
name "ovl_Bg_Bombwall"
include "build/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.o"
include "build/data/overlays/actors/z_bg_bombwall.data.o"
include "build/data/overlays/actors/z_bg_bombwall.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Bombwall/ovl_Bg_Bombwall_reloc.o"
endseg
beginseg

View File

@ -1,7 +1,7 @@
/*
* File: z_bg_bombwall.c
* Overlay: ovl_Bg_Bombwall
* Description: 2D Bombable Wall
* Description: Bombable Wall
*/
#include "z_bg_bombwall.h"
@ -15,16 +15,37 @@ void BgBombwall_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgBombwall_Update(Actor* thisx, GlobalContext* globalCtx);
void BgBombwall_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_8086E7D0(BgBombwall* this, GlobalContext* globalCtx);
void func_8086EAC0(BgBombwall* this, GlobalContext* globalCtx);
void func_8086EB5C(BgBombwall* this, GlobalContext* globalCtx);
void func_8086ED50(BgBombwall* this, GlobalContext* globalCtx);
void func_8086ED70(BgBombwall* this, GlobalContext* globalCtx);
void func_8086EDFC(BgBombwall* this, GlobalContext* globalCtx);
void func_8086EE40(BgBombwall* this, GlobalContext* globalCtx);
void func_8086EE94(BgBombwall* this, GlobalContext* globalCtx);
/*
extern CollisionHeader D_050041B0;
extern Gfx D_05003FC0[];
extern Gfx D_05004088[];
static ColliderTrisItemInit sTrimItemInit[3] = {
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { -70.0f, 176.0f, 0.0f }, { -70.0f, -4.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 70.0f, 176.0f, 0.0f }, { -70.0f, 176.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 70.0f, -4.0f, 0.0f }, { 70.0f, 176.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } },
},
};
static ColliderTrisInit sTrisInit = {
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x00, COLSHAPE_TRIS },
3,
sTrimItemInit,
};
const ActorInit Bg_Bombwall_InitVars = {
ACTOR_BG_BOMBWALL,
ACTORTYPE_BG,
@ -36,29 +57,181 @@ const ActorInit Bg_Bombwall_InitVars = {
(ActorFunc)BgBombwall_Update,
(ActorFunc)BgBombwall_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E7D0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E850.s")
void BgBombwall_InitDynapoly(BgBombwall* this, GlobalContext* globalCtx) {
s32 pad;
s32 pad2;
ColHeader* colHeader = NULL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/BgBombwall_Init.s")
DynaPolyInfo_SetActorMove(&this->dyna, 0);
DynaPolyInfo_Alloc(&D_050041B0, &colHeader);
this->dyna.dynaPolyId =
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EAC0.s")
if (this->dyna.dynaPolyId == 0x32) {
// Warning : move BG login failed
osSyncPrintf("Warning : move BG 登録失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_bombwall.c", 243,
this->dyna.actor.params);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/BgBombwall_Destroy.s")
void BgBombwall_RotateVec(Vec3f* arg0, Vec3f* arg1, f32 arg2, f32 arg3) {
arg0->x = (arg1->z * arg2) + (arg1->x * arg3);
arg0->y = arg1->y;
arg0->z = (arg1->z * arg3) - (arg1->x * arg2);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EB5C.s")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 1800, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 300, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED50.s")
void BgBombwall_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 i;
s32 j;
Vec3f vecs[3];
Vec3f sp80;
s32 pad;
BgBombwall* this = THIS;
f32 sin = Math_SinS(this->dyna.actor.shape.rot.y);
f32 cos = Math_CosS(this->dyna.actor.shape.rot.y);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED70.s")
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
Actor_SetScale(&this->dyna.actor, 0.1f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EDFC.s")
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
func_8086EE94(this, globalCtx);
} else {
BgBombwall_InitDynapoly(this, globalCtx);
this->unk_2A2 |= 2;
Collider_InitTris(globalCtx, &this->collider);
Collider_SetTris(globalCtx, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderItems);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE40.s")
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 2; j++) {
sp80.x = sTrisInit.list[i].dim.vtx[j].x;
sp80.y = sTrisInit.list[i].dim.vtx[j].y;
sp80.z = sTrisInit.list[i].dim.vtx[j].z + 2.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE94.s")
BgBombwall_RotateVec(&vecs[j], &sp80, sin, cos);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/BgBombwall_Update.s")
vecs[j].x += this->dyna.actor.posRot.pos.x;
vecs[j].y += this->dyna.actor.posRot.pos.y;
vecs[j].z += this->dyna.actor.posRot.pos.z;
}
func_800627A0(&this->collider, i, &vecs[0], &vecs[1], &vecs[2]);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/BgBombwall_Draw.s")
this->unk_2A2 |= 1;
func_8086ED50(this, globalCtx);
}
osSyncPrintf("(field keep 汎用爆弾壁)(arg_data 0x%04x)(angY %d)\n", this->dyna.actor.params,
this->dyna.actor.shape.rot.y);
}
void BgBombwall_DestroyCollision(BgBombwall* this, GlobalContext* globalCtx) {
if (this->unk_2A2 & 2) {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
this->unk_2A2 &= ~2;
}
if (this->unk_2A2 & 1) {
Collider_DestroyTris(globalCtx, &this->collider);
this->unk_2A2 &= ~1;
}
}
void BgBombwall_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgBombwall* this = THIS;
BgBombwall_DestroyCollision(this, globalCtx);
}
Vec3s D_8086F010[] = {
{ 40, 85, 21 }, { -43, 107, 14 }, { -1, 142, 14 }, { -27, 44, 27 }, { 28, 24, 20 }, { -39, 54, 21 }, { 49, 50, 20 },
};
void func_8086EB5C(BgBombwall* this, GlobalContext* globalCtx) {
s16 rand;
s16 rand2;
Vec3f sp88;
s32 i;
f32 sin = Math_SinS(this->dyna.actor.shape.rot.y);
f32 cos = Math_CosS(this->dyna.actor.shape.rot.y);
Vec3f* pos = &this->dyna.actor.posRot.pos;
f32 temp;
f32 new_var;
for (i = 0; i < 7; i++) {
new_var = D_8086F010[i].x;
temp = new_var * cos;
sp88.x = ((sin * D_8086F010[i].z) + ((f32)temp)) + pos->x;
sp88.y = pos->y + D_8086F010[i].y;
sp88.z = ((D_8086F010[i].z * cos) - (sin * D_8086F010[i].x)) + pos->z;
rand = ((s16)(Rand_ZeroOne() * 120.0f)) + 0x14;
rand2 = ((s16)(Rand_ZeroOne() * 240.0f)) + 0x14;
func_80033480(globalCtx, &sp88, 50.0f, 2, rand, rand2, 1);
}
sp88.x = pos->x;
new_var = pos->y + 90.0f;
sp88.y = pos->y + 90.0f;
sp88.z = pos->z + 15.0f;
func_80033480(globalCtx, &sp88, 40.0f, 4, 0xA, 0x32, 1);
}
void func_8086ED50(BgBombwall* this, GlobalContext* globalCtx) {
this->dList = D_05003FC0;
this->actionFunc = func_8086ED70;
}
void func_8086ED70(BgBombwall* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & 2) {
this->collider.base.acFlags &= ~2;
func_8086EDFC(this, globalCtx);
Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F);
} else if (this->dyna.actor.xzDistFromLink < 600.0f) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
void func_8086EDFC(BgBombwall* this, GlobalContext* globalCtx) {
this->dList = D_05003FC0;
this->unk_2A0 = 1;
func_8086EB5C(this, globalCtx);
this->actionFunc = func_8086EE40;
}
void func_8086EE40(BgBombwall* this, GlobalContext* globalCtx) {
if (this->unk_2A0 > 0) {
this->unk_2A0--;
} else {
func_8086EE94(this, globalCtx);
if (((this->dyna.actor.params >> 0xF) & 1) != 0) {
func_80078884(NA_SE_SY_CORRECT_CHIME);
}
}
}
void func_8086EE94(BgBombwall* this, GlobalContext* globalCtx) {
this->dList = D_05004088;
BgBombwall_DestroyCollision(this, globalCtx);
this->actionFunc = NULL;
}
void BgBombwall_Update(Actor* thisx, GlobalContext* globalCtx) {
BgBombwall* this = THIS;
if (this->actionFunc != NULL) {
this->actionFunc(this, globalCtx);
}
}
void BgBombwall_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgBombwall* this = THIS;
Gfx_DrawDListOpa(globalCtx, this->dList);
}

View File

@ -10,9 +10,13 @@ typedef void (*BgBombwallActionFunc)(struct BgBombwall*, GlobalContext*);
typedef struct BgBombwall {
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ char unk_164[0x134];
/* 0x0164 */ ColliderTris collider;
/* 0x0184 */ ColliderTrisItem colliderItems[3];
/* 0x0298 */ BgBombwallActionFunc actionFunc;
/* 0x029C */ char unk_29C[0x8];
/* 0x029C */ Gfx* dList;
/* 0x02A0 */ s16 unk_2A0;
/* 0x02A2 */ u8 unk_2A2;
/* 0x02A3 */ u8 unk_2A3;
} BgBombwall; // size = 0x02A4
extern const ActorInit Bg_Bombwall_InitVars;