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

Bg haka huta OK (#682)

* starting haka_huta with new changes

* matched last func, deleting asm

* added changes from review
This commit is contained in:
Parker Burnett 2021-02-12 17:29:05 -05:00 committed by GitHub
parent bcf2694f93
commit 43bba20796
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 186 additions and 735 deletions

View File

@ -1,14 +0,0 @@
glabel BgHakaHuta_Destroy
/* 000BC 8087D07C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000C0 8087D080 AFA40018 */ sw $a0, 0x0018($sp)
/* 000C4 8087D084 8FAE0018 */ lw $t6, 0x0018($sp)
/* 000C8 8087D088 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000CC 8087D08C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 000D0 8087D090 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 000D4 8087D094 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 000D8 8087D098 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 000DC 8087D09C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000E0 8087D0A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000E4 8087D0A4 03E00008 */ jr $ra
/* 000E8 8087D0A8 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel BgHakaHuta_Draw
/* 00930 8087D8F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00934 8087D8F4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00938 8087D8F8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0093C 8087D8FC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00940 8087D900 3C050600 */ lui $a1, %hi(D_060006B0) ## $a1 = 06000000
/* 00944 8087D904 0C00D498 */ jal Gfx_DrawDListOpa
/* 00948 8087D908 24A506B0 */ addiu $a1, $a1, %lo(D_060006B0) ## $a1 = 060006B0
/* 0094C 8087D90C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00950 8087D910 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00954 8087D914 03E00008 */ jr $ra
/* 00958 8087D918 00000000 */ nop
/* 0095C 8087D91C 00000000 */ nop

View File

@ -1,55 +0,0 @@
glabel BgHakaHuta_Init
/* 00000 8087CFC0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 8087CFC4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00008 8087CFC8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0000C 8087CFCC AFB00018 */ sw $s0, 0x0018($sp)
/* 00010 8087CFD0 3C058088 */ lui $a1, %hi(D_8087D940) ## $a1 = 80880000
/* 00014 8087CFD4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 8087CFD8 AFA00024 */ sw $zero, 0x0024($sp)
/* 0001C 8087CFDC 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 8087CFE0 24A5D940 */ addiu $a1, $a1, %lo(D_8087D940) ## $a1 = 8087D940
/* 00024 8087CFE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00028 8087CFE8 0C010D20 */ jal DynaPolyActor_Init
/* 0002C 8087CFEC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00030 8087CFF0 3C040600 */ lui $a0, %hi(D_06000870) ## $a0 = 06000000
/* 00034 8087CFF4 24840870 */ addiu $a0, $a0, %lo(D_06000870) ## $a0 = 06000870
/* 00038 8087CFF8 0C010620 */ jal CollisionHeader_GetVirtual
/* 0003C 8087CFFC 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00040 8087D000 8FA40034 */ lw $a0, 0x0034($sp)
/* 00044 8087D004 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00048 8087D008 8FA70024 */ lw $a3, 0x0024($sp)
/* 0004C 8087D00C 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 00050 8087D010 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00054 8087D014 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00058 8087D018 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 0005C 8087D01C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 00060 8087D020 000E7A03 */ sra $t7, $t6, 8
/* 00064 8087D024 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
/* 00068 8087D028 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
/* 0006C 8087D02C A618016A */ sh $t8, 0x016A($s0) ## 0000016A
/* 00070 8087D030 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
/* 00074 8087D034 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00078 8087D038 0C00B2D0 */ jal Flags_GetSwitch
/* 0007C 8087D03C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00080 8087D040 10400007 */ beq $v0, $zero, .L8087D060
/* 00084 8087D044 3C0B8088 */ lui $t3, %hi(func_8087D2F0) ## $t3 = 80880000
/* 00088 8087D048 3C0A8088 */ lui $t2, %hi(func_8087D720) ## $t2 = 80880000
/* 0008C 8087D04C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00090 8087D050 254AD720 */ addiu $t2, $t2, %lo(func_8087D720) ## $t2 = 8087D720
/* 00094 8087D054 A6090168 */ sh $t1, 0x0168($s0) ## 00000168
/* 00098 8087D058 10000003 */ beq $zero, $zero, .L8087D068
/* 0009C 8087D05C AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
.L8087D060:
/* 000A0 8087D060 256BD2F0 */ addiu $t3, $t3, %lo(func_8087D2F0) ## $t3 = 8087D2F0
/* 000A4 8087D064 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
.L8087D068:
/* 000A8 8087D068 8FBF001C */ lw $ra, 0x001C($sp)
/* 000AC 8087D06C 8FB00018 */ lw $s0, 0x0018($sp)
/* 000B0 8087D070 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 000B4 8087D074 03E00008 */ jr $ra
/* 000B8 8087D078 00000000 */ nop

View File

@ -1,10 +0,0 @@
glabel BgHakaHuta_Update
/* 0090C 8087D8CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00910 8087D8D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00914 8087D8D4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00918 8087D8D8 0320F809 */ jalr $ra, $t9
/* 0091C 8087D8DC 00000000 */ nop
/* 00920 8087D8E0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00924 8087D8E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00928 8087D8E8 03E00008 */ jr $ra
/* 0092C 8087D8EC 00000000 */ nop

View File

@ -1,118 +0,0 @@
glabel func_8087D0AC
/* 000EC 8087D0AC 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 000F0 8087D0B0 AFBF0074 */ sw $ra, 0x0074($sp)
/* 000F4 8087D0B4 AFBE0070 */ sw $s8, 0x0070($sp)
/* 000F8 8087D0B8 AFB7006C */ sw $s7, 0x006C($sp)
/* 000FC 8087D0BC AFB60068 */ sw $s6, 0x0068($sp)
/* 00100 8087D0C0 AFB50064 */ sw $s5, 0x0064($sp)
/* 00104 8087D0C4 AFB40060 */ sw $s4, 0x0060($sp)
/* 00108 8087D0C8 AFB3005C */ sw $s3, 0x005C($sp)
/* 0010C 8087D0CC AFB20058 */ sw $s2, 0x0058($sp)
/* 00110 8087D0D0 AFB10054 */ sw $s1, 0x0054($sp)
/* 00114 8087D0D4 AFB00050 */ sw $s0, 0x0050($sp)
/* 00118 8087D0D8 F7BC0048 */ sdc1 $f28, 0x0048($sp)
/* 0011C 8087D0DC F7BA0040 */ sdc1 $f26, 0x0040($sp)
/* 00120 8087D0E0 F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00124 8087D0E4 F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00128 8087D0E8 F7B40028 */ sdc1 $f20, 0x0028($sp)
/* 0012C 8087D0EC AFA500AC */ sw $a1, 0x00AC($sp)
/* 00130 8087D0F0 848E0032 */ lh $t6, 0x0032($a0) ## 00000032
/* 00134 8087D0F4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00138 8087D0F8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 0013C 8087D0FC 55C00006 */ bnel $t6, $zero, .L8087D118
/* 00140 8087D100 4481A000 */ mtc1 $at, $f20 ## $f20 = -1.00
/* 00144 8087D104 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00148 8087D108 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 0014C 8087D10C 10000004 */ beq $zero, $zero, .L8087D120
/* 00150 8087D110 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000
/* 00154 8087D114 4481A000 */ mtc1 $at, $f20 ## $f20 = -0.50
.L8087D118:
/* 00158 8087D118 00000000 */ nop
/* 0015C 8087D11C 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000
.L8087D120:
/* 00160 8087D120 44812000 */ mtc1 $at, $f4 ## $f4 = -0.50
/* 00164 8087D124 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00168 8087D128 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 0016C 8087D12C 46142182 */ mul.s $f6, $f4, $f20
/* 00170 8087D130 E7A2008C */ swc1 $f2, 0x008C($sp)
/* 00174 8087D134 E7A20090 */ swc1 $f2, 0x0090($sp)
/* 00178 8087D138 4481E000 */ mtc1 $at, $f28 ## $f28 = 50.00
/* 0017C 8087D13C 3C178088 */ lui $s7, %hi(D_8087D954) ## $s7 = 80880000
/* 00180 8087D140 3C168088 */ lui $s6, %hi(D_8087D950) ## $s6 = 80880000
/* 00184 8087D144 3C158088 */ lui $s5, %hi(D_8087D944) ## $s5 = 80880000
/* 00188 8087D148 E7A60088 */ swc1 $f6, 0x0088($sp)
/* 0018C 8087D14C C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
/* 00190 8087D150 26B5D944 */ addiu $s5, $s5, %lo(D_8087D944) ## $s5 = 8087D944
/* 00194 8087D154 26D6D950 */ addiu $s6, $s6, %lo(D_8087D950) ## $s6 = 8087D950
/* 00198 8087D158 E7A80098 */ swc1 $f8, 0x0098($sp)
/* 0019C 8087D15C C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 001A0 8087D160 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
/* 001A4 8087D164 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 001A8 8087D168 E7AA009C */ swc1 $f10, 0x009C($sp)
/* 001AC 8087D16C C6320008 */ lwc1 $f18, 0x0008($s1) ## 00000008
/* 001B0 8087D170 C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
/* 001B4 8087D174 4481D000 */ mtc1 $at, $f26 ## $f26 = 10.00
/* 001B8 8087D178 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 001BC 8087D17C 46128101 */ sub.s $f4, $f16, $f18
/* 001C0 8087D180 4481C000 */ mtc1 $at, $f24 ## $f24 = 120.00
/* 001C4 8087D184 26F7D954 */ addiu $s7, $s7, %lo(D_8087D954) ## $s7 = 8087D954
/* 001C8 8087D188 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 001CC 8087D18C 46142182 */ mul.s $f6, $f4, $f20
/* 001D0 8087D190 241E0004 */ addiu $s8, $zero, 0x0004 ## $s8 = 00000004
/* 001D4 8087D194 27B40088 */ addiu $s4, $sp, 0x0088 ## $s4 = FFFFFFE0
/* 001D8 8087D198 27B30094 */ addiu $s3, $sp, 0x0094 ## $s3 = FFFFFFEC
/* 001DC 8087D19C 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
/* 001E0 8087D1A0 46064001 */ sub.s $f0, $f8, $f6
/* 001E4 8087D1A4 46140582 */ mul.s $f22, $f0, $f20
/* 001E8 8087D1A8 00000000 */ nop
.L8087D1AC:
/* 001EC 8087D1AC 16120005 */ bne $s0, $s2, .L8087D1C4
/* 001F0 8087D1B0 00000000 */ nop
/* 001F4 8087D1B4 4614C402 */ mul.s $f16, $f24, $f20
/* 001F8 8087D1B8 C7AA009C */ lwc1 $f10, 0x009C($sp)
/* 001FC 8087D1BC 46105480 */ add.s $f18, $f10, $f16
/* 00200 8087D1C0 E7B2009C */ swc1 $f18, 0x009C($sp)
.L8087D1C4:
/* 00204 8087D1C4 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00208 8087D1C8 00000000 */ nop
/* 0020C 8087D1CC 46160202 */ mul.s $f8, $f0, $f22
/* 00210 8087D1D0 C6240008 */ lwc1 $f4, 0x0008($s1) ## 00000008
/* 00214 8087D1D4 46082181 */ sub.s $f6, $f4, $f8
/* 00218 8087D1D8 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 0021C 8087D1DC E7A60094 */ swc1 $f6, 0x0094($sp)
/* 00220 8087D1E0 461A0282 */ mul.s $f10, $f0, $f26
/* 00224 8087D1E4 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 00228 8087D1E8 AFB9001C */ sw $t9, 0x001C($sp)
/* 0022C 8087D1EC 8FA400AC */ lw $a0, 0x00AC($sp)
/* 00230 8087D1F0 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
/* 00234 8087D1F4 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFE0
/* 00238 8087D1F8 02A03825 */ or $a3, $s5, $zero ## $a3 = 8087D944
/* 0023C 8087D1FC 461C5400 */ add.s $f16, $f10, $f28
/* 00240 8087D200 AFB60010 */ sw $s6, 0x0010($sp)
/* 00244 8087D204 AFB70014 */ sw $s7, 0x0014($sp)
/* 00248 8087D208 4600848D */ trunc.w.s $f18, $f16
/* 0024C 8087D20C 44189000 */ mfc1 $t8, $f18
/* 00250 8087D210 0C00A0A7 */ jal func_8002829C
/* 00254 8087D214 AFB80018 */ sw $t8, 0x0018($sp)
/* 00258 8087D218 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0025C 8087D21C 161EFFE3 */ bne $s0, $s8, .L8087D1AC
/* 00260 8087D220 00000000 */ nop
/* 00264 8087D224 8FBF0074 */ lw $ra, 0x0074($sp)
/* 00268 8087D228 D7B40028 */ ldc1 $f20, 0x0028($sp)
/* 0026C 8087D22C D7B60030 */ ldc1 $f22, 0x0030($sp)
/* 00270 8087D230 D7B80038 */ ldc1 $f24, 0x0038($sp)
/* 00274 8087D234 D7BA0040 */ ldc1 $f26, 0x0040($sp)
/* 00278 8087D238 D7BC0048 */ ldc1 $f28, 0x0048($sp)
/* 0027C 8087D23C 8FB00050 */ lw $s0, 0x0050($sp)
/* 00280 8087D240 8FB10054 */ lw $s1, 0x0054($sp)
/* 00284 8087D244 8FB20058 */ lw $s2, 0x0058($sp)
/* 00288 8087D248 8FB3005C */ lw $s3, 0x005C($sp)
/* 0028C 8087D24C 8FB40060 */ lw $s4, 0x0060($sp)
/* 00290 8087D250 8FB50064 */ lw $s5, 0x0064($sp)
/* 00294 8087D254 8FB60068 */ lw $s6, 0x0068($sp)
/* 00298 8087D258 8FB7006C */ lw $s7, 0x006C($sp)
/* 0029C 8087D25C 8FBE0070 */ lw $s8, 0x0070($sp)
/* 002A0 8087D260 03E00008 */ jr $ra
/* 002A4 8087D264 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000

View File

@ -1,38 +0,0 @@
glabel func_8087D268
/* 002A8 8087D268 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 002AC 8087D26C AFBF001C */ sw $ra, 0x001C($sp)
/* 002B0 8087D270 AFB00018 */ sw $s0, 0x0018($sp)
/* 002B4 8087D274 AFA50034 */ sw $a1, 0x0034($sp)
/* 002B8 8087D278 AFA60038 */ sw $a2, 0x0038($sp)
/* 002BC 8087D27C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
/* 002C0 8087D280 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 002C4 8087D284 30C7FFFF */ andi $a3, $a2, 0xFFFF ## $a3 = 00000000
/* 002C8 8087D288 15C00007 */ bne $t6, $zero, .L8087D2A8
/* 002CC 8087D28C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 002D0 8087D290 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 002D4 8087D294 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 002D8 8087D298 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
/* 002DC 8087D29C 46062200 */ add.s $f8, $f4, $f6
/* 002E0 8087D2A0 10000006 */ beq $zero, $zero, .L8087D2BC
/* 002E4 8087D2A4 E7A8002C */ swc1 $f8, 0x002C($sp)
.L8087D2A8:
/* 002E8 8087D2A8 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 002EC 8087D2AC 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00
/* 002F0 8087D2B0 00000000 */ nop
/* 002F4 8087D2B4 46105481 */ sub.s $f18, $f10, $f16
/* 002F8 8087D2B8 E7B2002C */ swc1 $f18, 0x002C($sp)
.L8087D2BC:
/* 002FC 8087D2BC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00300 8087D2C0 8FA40034 */ lw $a0, 0x0034($sp)
/* 00304 8087D2C4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00308 8087D2C8 E7A40024 */ swc1 $f4, 0x0024($sp)
/* 0030C 8087D2CC C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00310 8087D2D0 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
/* 00314 8087D2D4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00318 8087D2D8 E7A60028 */ swc1 $f6, 0x0028($sp)
/* 0031C 8087D2DC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00320 8087D2E0 8FB00018 */ lw $s0, 0x0018($sp)
/* 00324 8087D2E4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00328 8087D2E8 03E00008 */ jr $ra
/* 0032C 8087D2EC 00000000 */ nop

View File

@ -1,198 +0,0 @@
glabel func_8087D2F0
/* 00330 8087D2F0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00334 8087D2F4 AFB0002C */ sw $s0, 0x002C($sp)
/* 00338 8087D2F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0033C 8087D2FC AFB10030 */ sw $s1, 0x0030($sp)
/* 00340 8087D300 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00344 8087D304 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00348 8087D308 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0034C 8087D30C 0C00B2D0 */ jal Flags_GetSwitch
/* 00350 8087D310 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00354 8087D314 504000A4 */ beql $v0, $zero, .L8087D5A8
/* 00358 8087D318 8FBF0034 */ lw $ra, 0x0034($sp)
/* 0035C 8087D31C 0C023A62 */ jal Player_InCsMode
/* 00360 8087D320 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00364 8087D324 1440009F */ bne $v0, $zero, .L8087D5A4
/* 00368 8087D328 240E0019 */ addiu $t6, $zero, 0x0019 ## $t6 = 00000019
/* 0036C 8087D32C 3C0F8088 */ lui $t7, %hi(func_8087D5B8) ## $t7 = 80880000
/* 00370 8087D330 25EFD5B8 */ addiu $t7, $t7, %lo(func_8087D5B8) ## $t7 = 8087D5B8
/* 00374 8087D334 A60E0168 */ sh $t6, 0x0168($s0) ## 00000168
/* 00378 8087D338 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
/* 0037C 8087D33C AFA00010 */ sw $zero, 0x0010($sp)
/* 00380 8087D340 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00384 8087D344 24051771 */ addiu $a1, $zero, 0x1771 ## $a1 = 00001771
/* 00388 8087D348 240603E7 */ addiu $a2, $zero, 0x03E7 ## $a2 = 000003E7
/* 0038C 8087D34C 0C02003E */ jal func_800800F8
/* 00390 8087D350 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 00394 8087D354 8603016A */ lh $v1, 0x016A($s0) ## 0000016A
/* 00398 8087D358 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0039C 8087D35C 54610061 */ bnel $v1, $at, .L8087D4E4
/* 003A0 8087D360 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 003A4 8087D364 0C01DE0D */ jal Math_CosS
## coss?
/* 003A8 8087D368 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 003AC 8087D36C E7A00040 */ swc1 $f0, 0x0040($sp)
/* 003B0 8087D370 0C01DE1C */ jal Math_SinS
## sins?
/* 003B4 8087D374 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 003B8 8087D378 E7A00044 */ swc1 $f0, 0x0044($sp)
/* 003BC 8087D37C 0C01DE1C */ jal Math_SinS
## sins?
/* 003C0 8087D380 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 003C4 8087D384 E7A00048 */ swc1 $f0, 0x0048($sp)
/* 003C8 8087D388 0C01DE0D */ jal Math_CosS
## coss?
/* 003CC 8087D38C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 003D0 8087D390 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000
/* 003D4 8087D394 44811000 */ mtc1 $at, $f2 ## $f2 = -25.00
/* 003D8 8087D398 C7A60040 */ lwc1 $f6, 0x0040($sp)
/* 003DC 8087D39C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 003E0 8087D3A0 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
/* 003E4 8087D3A4 46061202 */ mul.s $f8, $f2, $f6
/* 003E8 8087D3A8 C7B00044 */ lwc1 $f16, 0x0044($sp)
/* 003EC 8087D3AC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 003F0 8087D3B0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 003F4 8087D3B4 460C8482 */ mul.s $f18, $f16, $f12
/* 003F8 8087D3B8 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 003FC 8087D3BC 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 00400 8087D3C0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00404 8087D3C4 24060013 */ addiu $a2, $zero, 0x0013 ## $a2 = 00000013
/* 00408 8087D3C8 46082280 */ add.s $f10, $f4, $f8
/* 0040C 8087D3CC 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
/* 00410 8087D3D0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00414 8087D3D4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00418 8087D3D8 460A9180 */ add.s $f6, $f18, $f10
/* 0041C 8087D3DC C7AA0048 */ lwc1 $f10, 0x0048($sp)
/* 00420 8087D3E0 46082401 */ sub.s $f16, $f4, $f8
/* 00424 8087D3E4 44073000 */ mfc1 $a3, $f6
/* 00428 8087D3E8 460A1182 */ mul.s $f6, $f2, $f10
/* 0042C 8087D3EC E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00430 8087D3F0 460C0202 */ mul.s $f8, $f0, $f12
/* 00434 8087D3F4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 00438 8087D3F8 AFA00018 */ sw $zero, 0x0018($sp)
/* 0043C 8087D3FC 46069101 */ sub.s $f4, $f18, $f6
/* 00440 8087D400 46044400 */ add.s $f16, $f8, $f4
/* 00444 8087D404 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 00448 8087D408 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
/* 0044C 8087D40C AFA4003C */ sw $a0, 0x003C($sp)
/* 00450 8087D410 AFA80024 */ sw $t0, 0x0024($sp)
/* 00454 8087D414 0301C821 */ addu $t9, $t8, $at
/* 00458 8087D418 AFB9001C */ sw $t9, 0x001C($sp)
/* 0045C 8087D41C 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00460 8087D420 AFA00020 */ sw $zero, 0x0020($sp)
/* 00464 8087D424 0C01DE0D */ jal Math_CosS
## coss?
/* 00468 8087D428 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 0046C 8087D42C E7A00040 */ swc1 $f0, 0x0040($sp)
/* 00470 8087D430 0C01DE1C */ jal Math_SinS
## sins?
/* 00474 8087D434 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00478 8087D438 E7A00044 */ swc1 $f0, 0x0044($sp)
/* 0047C 8087D43C 0C01DE1C */ jal Math_SinS
## sins?
/* 00480 8087D440 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00484 8087D444 E7A00048 */ swc1 $f0, 0x0048($sp)
/* 00488 8087D448 0C01DE0D */ jal Math_CosS
## coss?
/* 0048C 8087D44C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00490 8087D450 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 00494 8087D454 44811000 */ mtc1 $at, $f2 ## $f2 = 80.00
/* 00498 8087D458 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000
/* 0049C 8087D45C 44816000 */ mtc1 $at, $f12 ## $f12 = -25.00
/* 004A0 8087D460 C7B20040 */ lwc1 $f18, 0x0040($sp)
/* 004A4 8087D464 C7A40044 */ lwc1 $f4, 0x0044($sp)
/* 004A8 8087D468 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 004AC 8087D46C 46126182 */ mul.s $f6, $f12, $f18
/* 004B0 8087D470 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 004B4 8087D474 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 004B8 8087D478 46022402 */ mul.s $f16, $f4, $f2
/* 004BC 8087D47C 8FA4003C */ lw $a0, 0x003C($sp)
/* 004C0 8087D480 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 004C4 8087D484 24060013 */ addiu $a2, $zero, 0x0013 ## $a2 = 00000013
/* 004C8 8087D488 46065200 */ add.s $f8, $f10, $f6
/* 004CC 8087D48C 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
/* 004D0 8087D490 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 004D4 8087D494 46088480 */ add.s $f18, $f16, $f8
/* 004D8 8087D498 C7A80048 */ lwc1 $f8, 0x0048($sp)
/* 004DC 8087D49C 46065101 */ sub.s $f4, $f10, $f6
/* 004E0 8087D4A0 44079000 */ mfc1 $a3, $f18
/* 004E4 8087D4A4 46086482 */ mul.s $f18, $f12, $f8
/* 004E8 8087D4A8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 004EC 8087D4AC 46020182 */ mul.s $f6, $f0, $f2
/* 004F0 8087D4B0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 004F4 8087D4B4 AFA00018 */ sw $zero, 0x0018($sp)
/* 004F8 8087D4B8 46128281 */ sub.s $f10, $f16, $f18
/* 004FC 8087D4BC 460A3100 */ add.s $f4, $f6, $f10
/* 00500 8087D4C0 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 00504 8087D4C4 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 00508 8087D4C8 AFAA0024 */ sw $t2, 0x0024($sp)
/* 0050C 8087D4CC AFA00020 */ sw $zero, 0x0020($sp)
/* 00510 8087D4D0 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00514 8087D4D4 AFA9001C */ sw $t1, 0x001C($sp)
/* 00518 8087D4D8 10000033 */ beq $zero, $zero, .L8087D5A8
/* 0051C 8087D4DC 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00520 8087D4E0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
.L8087D4E4:
/* 00524 8087D4E4 54610030 */ bnel $v1, $at, .L8087D5A8
/* 00528 8087D4E8 8FBF0034 */ lw $ra, 0x0034($sp)
/* 0052C 8087D4EC 0C01DE0D */ jal Math_CosS
## coss?
/* 00530 8087D4F0 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00534 8087D4F4 E7A00040 */ swc1 $f0, 0x0040($sp)
/* 00538 8087D4F8 0C01DE1C */ jal Math_SinS
## sins?
/* 0053C 8087D4FC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00540 8087D500 E7A00044 */ swc1 $f0, 0x0044($sp)
/* 00544 8087D504 0C01DE1C */ jal Math_SinS
## sins?
/* 00548 8087D508 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 0054C 8087D50C E7A00048 */ swc1 $f0, 0x0048($sp)
/* 00550 8087D510 0C01DE0D */ jal Math_CosS
## coss?
/* 00554 8087D514 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00558 8087D518 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0055C 8087D51C 44811000 */ mtc1 $at, $f2 ## $f2 = 100.00
/* 00560 8087D520 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00564 8087D524 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
/* 00568 8087D528 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000
/* 0056C 8087D52C 44814000 */ mtc1 $at, $f8 ## $f8 = -25.00
/* 00570 8087D530 C7B00040 */ lwc1 $f16, 0x0040($sp)
/* 00574 8087D534 C7A40044 */ lwc1 $f4, 0x0044($sp)
/* 00578 8087D538 C6060008 */ lwc1 $f6, 0x0008($s0) ## 00000008
/* 0057C 8087D53C 46104482 */ mul.s $f18, $f8, $f16
/* 00580 8087D540 240C00FD */ addiu $t4, $zero, 0x00FD ## $t4 = 000000FD
/* 00584 8087D544 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 00588 8087D548 46022202 */ mul.s $f8, $f4, $f2
/* 0058C 8087D54C 44812000 */ mtc1 $at, $f4 ## $f4 = -25.00
/* 00590 8087D550 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00594 8087D554 24060090 */ addiu $a2, $zero, 0x0090 ## $a2 = 00000090
/* 00598 8087D558 46123280 */ add.s $f10, $f6, $f18
/* 0059C 8087D55C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 005A0 8087D560 460A4400 */ add.s $f16, $f8, $f10
/* 005A4 8087D564 C7A80048 */ lwc1 $f8, 0x0048($sp)
/* 005A8 8087D568 460C3481 */ sub.s $f18, $f6, $f12
/* 005AC 8087D56C 46082282 */ mul.s $f10, $f4, $f8
/* 005B0 8087D570 44078000 */ mfc1 $a3, $f16
/* 005B4 8087D574 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 005B8 8087D578 46020482 */ mul.s $f18, $f0, $f2
/* 005BC 8087D57C C6100010 */ lwc1 $f16, 0x0010($s0) ## 00000010
/* 005C0 8087D580 AFA00018 */ sw $zero, 0x0018($sp)
/* 005C4 8087D584 460A8181 */ sub.s $f6, $f16, $f10
/* 005C8 8087D588 46069100 */ add.s $f4, $f18, $f6
/* 005CC 8087D58C E7A40014 */ swc1 $f4, 0x0014($sp)
/* 005D0 8087D590 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
/* 005D4 8087D594 AFAC0024 */ sw $t4, 0x0024($sp)
/* 005D8 8087D598 AFA00020 */ sw $zero, 0x0020($sp)
/* 005DC 8087D59C 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 005E0 8087D5A0 AFAB001C */ sw $t3, 0x001C($sp)
.L8087D5A4:
/* 005E4 8087D5A4 8FBF0034 */ lw $ra, 0x0034($sp)
.L8087D5A8:
/* 005E8 8087D5A8 8FB0002C */ lw $s0, 0x002C($sp)
/* 005EC 8087D5AC 8FB10030 */ lw $s1, 0x0030($sp)
/* 005F0 8087D5B0 03E00008 */ jr $ra
/* 005F4 8087D5B4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View File

@ -1,51 +0,0 @@
glabel func_8087D5B8
/* 005F8 8087D5B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005FC 8087D5BC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00600 8087D5C0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00604 8087D5C4 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00608 8087D5C8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0060C 8087D5CC 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 00610 8087D5D0 10400002 */ beq $v0, $zero, .L8087D5DC
/* 00614 8087D5D4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00618 8087D5D8 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
.L8087D5DC:
/* 0061C 8087D5DC 84EF0032 */ lh $t7, 0x0032($a3) ## 00000032
/* 00620 8087D5E0 55E00006 */ bnel $t7, $zero, .L8087D5FC
/* 00624 8087D5E4 44810000 */ mtc1 $at, $f0 ## $f0 = -4.00
/* 00628 8087D5E8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 0062C 8087D5EC 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00
/* 00630 8087D5F0 10000004 */ beq $zero, $zero, .L8087D604
/* 00634 8087D5F4 C4E40008 */ lwc1 $f4, 0x0008($a3) ## 00000008
/* 00638 8087D5F8 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00
.L8087D5FC:
/* 0063C 8087D5FC 00000000 */ nop
/* 00640 8087D600 C4E40008 */ lwc1 $f4, 0x0008($a3) ## 00000008
.L8087D604:
/* 00644 8087D604 AFA70018 */ sw $a3, 0x0018($sp)
/* 00648 8087D608 24E40024 */ addiu $a0, $a3, 0x0024 ## $a0 = 00000024
/* 0064C 8087D60C 46002180 */ add.s $f6, $f4, $f0
/* 00650 8087D610 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 00654 8087D614 44053000 */ mfc1 $a1, $f6
/* 00658 8087D618 0C01DE80 */ jal Math_StepToF
/* 0065C 8087D61C 00000000 */ nop
/* 00660 8087D620 8FA70018 */ lw $a3, 0x0018($sp)
/* 00664 8087D624 24190025 */ addiu $t9, $zero, 0x0025 ## $t9 = 00000025
/* 00668 8087D628 24062855 */ addiu $a2, $zero, 0x2855 ## $a2 = 00002855
/* 0066C 8087D62C 84F80168 */ lh $t8, 0x0168($a3) ## 00000168
/* 00670 8087D630 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00674 8087D634 5700000A */ bnel $t8, $zero, .L8087D660
/* 00678 8087D638 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0067C 8087D63C A4F90168 */ sh $t9, 0x0168($a3) ## 00000168
/* 00680 8087D640 AFA70018 */ sw $a3, 0x0018($sp)
/* 00684 8087D644 0C21F49A */ jal func_8087D268
/* 00688 8087D648 8FA5001C */ lw $a1, 0x001C($sp)
/* 0068C 8087D64C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00690 8087D650 3C088088 */ lui $t0, %hi(func_8087D66C) ## $t0 = 80880000
/* 00694 8087D654 2508D66C */ addiu $t0, $t0, %lo(func_8087D66C) ## $t0 = 8087D66C
/* 00698 8087D658 ACE80164 */ sw $t0, 0x0164($a3) ## 00000164
/* 0069C 8087D65C 8FBF0014 */ lw $ra, 0x0014($sp)
.L8087D660:
/* 006A0 8087D660 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006A4 8087D664 03E00008 */ jr $ra
/* 006A8 8087D668 00000000 */ nop

View File

@ -1,52 +0,0 @@
glabel func_8087D66C
/* 006AC 8087D66C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 006B0 8087D670 AFBF001C */ sw $ra, 0x001C($sp)
/* 006B4 8087D674 AFB00018 */ sw $s0, 0x0018($sp)
/* 006B8 8087D678 AFA50024 */ sw $a1, 0x0024($sp)
/* 006BC 8087D67C 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 006C0 8087D680 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006C4 8087D684 3C01C1C0 */ lui $at, 0xC1C0 ## $at = C1C00000
/* 006C8 8087D688 10400002 */ beq $v0, $zero, .L8087D694
/* 006CC 8087D68C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 006D0 8087D690 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
.L8087D694:
/* 006D4 8087D694 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
/* 006D8 8087D698 55E00006 */ bnel $t7, $zero, .L8087D6B4
/* 006DC 8087D69C 44810000 */ mtc1 $at, $f0 ## $f0 = -24.00
/* 006E0 8087D6A0 3C0141C0 */ lui $at, 0x41C0 ## $at = 41C00000
/* 006E4 8087D6A4 44810000 */ mtc1 $at, $f0 ## $f0 = 24.00
/* 006E8 8087D6A8 10000004 */ beq $zero, $zero, .L8087D6BC
/* 006EC 8087D6AC C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
/* 006F0 8087D6B0 44810000 */ mtc1 $at, $f0 ## $f0 = 24.00
.L8087D6B4:
/* 006F4 8087D6B4 00000000 */ nop
/* 006F8 8087D6B8 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
.L8087D6BC:
/* 006FC 8087D6BC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00700 8087D6C0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00704 8087D6C4 46002180 */ add.s $f6, $f4, $f0
/* 00708 8087D6C8 44053000 */ mfc1 $a1, $f6
/* 0070C 8087D6CC 0C01DE80 */ jal Math_StepToF
/* 00710 8087D6D0 00000000 */ nop
/* 00714 8087D6D4 14400003 */ bne $v0, $zero, .L8087D6E4
/* 00718 8087D6D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0071C 8087D6DC 0C21F42B */ jal func_8087D0AC
/* 00720 8087D6E0 8FA50024 */ lw $a1, 0x0024($sp)
.L8087D6E4:
/* 00724 8087D6E4 86180168 */ lh $t8, 0x0168($s0) ## 00000168
/* 00728 8087D6E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0072C 8087D6EC 8FA50024 */ lw $a1, 0x0024($sp)
/* 00730 8087D6F0 57000007 */ bnel $t8, $zero, .L8087D710
/* 00734 8087D6F4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00738 8087D6F8 0C21F49A */ jal func_8087D268
/* 0073C 8087D6FC 24062856 */ addiu $a2, $zero, 0x2856 ## $a2 = 00002856
/* 00740 8087D700 3C198088 */ lui $t9, %hi(func_8087D720) ## $t9 = 80880000
/* 00744 8087D704 2739D720 */ addiu $t9, $t9, %lo(func_8087D720) ## $t9 = 8087D720
/* 00748 8087D708 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
/* 0074C 8087D70C 8FBF001C */ lw $ra, 0x001C($sp)
.L8087D710:
/* 00750 8087D710 8FB00018 */ lw $s0, 0x0018($sp)
/* 00754 8087D714 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00758 8087D718 03E00008 */ jr $ra
/* 0075C 8087D71C 00000000 */ nop

View File

@ -1,116 +0,0 @@
.late_rodata
glabel D_8087D970
.float 9.5873802e-5
glabel D_8087D974
.float 0.16001178
.text
glabel func_8087D720
/* 00760 8087D720 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00764 8087D724 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00768 8087D728 AFB00020 */ sw $s0, 0x0020($sp)
/* 0076C 8087D72C 848E0168 */ lh $t6, 0x0168($a0) ## 00000168
/* 00770 8087D730 24020006 */ addiu $v0, $zero, 0x0006 ## $v0 = 00000006
/* 00774 8087D734 3C188088 */ lui $t8, %hi(func_8087D8C0) ## $t8 = 80880000
/* 00778 8087D738 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 0077C 8087D73C A48F0168 */ sh $t7, 0x0168($a0) ## 00000168
/* 00780 8087D740 84830168 */ lh $v1, 0x0168($a0) ## 00000168
/* 00784 8087D744 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00788 8087D748 2718D8C0 */ addiu $t8, $t8, %lo(func_8087D8C0) ## $t8 = 8087D8C0
/* 0078C 8087D74C 14430019 */ bne $v0, $v1, .L8087D7B4
/* 00790 8087D750 00000000 */ nop
/* 00794 8087D754 AC980164 */ sw $t8, 0x0164($a0) ## 00000164
/* 00798 8087D758 84B907A0 */ lh $t9, 0x07A0($a1) ## 000007A0
/* 0079C 8087D75C 00194080 */ sll $t0, $t9, 2
/* 007A0 8087D760 00A84821 */ addu $t1, $a1, $t0
/* 007A4 8087D764 8D240790 */ lw $a0, 0x0790($t1) ## 00000790
/* 007A8 8087D768 0C024BE2 */ jal Quake_Add
/* 007AC 8087D76C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 007B0 8087D770 00022400 */ sll $a0, $v0, 16
/* 007B4 8087D774 AFA20030 */ sw $v0, 0x0030($sp)
/* 007B8 8087D778 00042403 */ sra $a0, $a0, 16
/* 007BC 8087D77C 0C024B6B */ jal Quake_SetSpeed
/* 007C0 8087D780 24057530 */ addiu $a1, $zero, 0x7530 ## $a1 = 00007530
/* 007C4 8087D784 87A40032 */ lh $a0, 0x0032($sp)
/* 007C8 8087D788 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 007CC 8087D78C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 007D0 8087D790 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 007D4 8087D794 AFA00010 */ sw $zero, 0x0010($sp)
/* 007D8 8087D798 0C024B9C */ jal Quake_SetQuakeValues
/* 007DC 8087D79C AFA4002C */ sw $a0, 0x002C($sp)
/* 007E0 8087D7A0 8FA4002C */ lw $a0, 0x002C($sp)
/* 007E4 8087D7A4 0C024B7C */ jal Quake_SetCountdown
/* 007E8 8087D7A8 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 007EC 8087D7AC 10000007 */ beq $zero, $zero, .L8087D7CC
/* 007F0 8087D7B0 86030168 */ lh $v1, 0x0168($s0) ## 00000168
.L8087D7B4:
/* 007F4 8087D7B4 14600005 */ bne $v1, $zero, .L8087D7CC
/* 007F8 8087D7B8 3C0A8088 */ lui $t2, %hi(func_8087D8C0) ## $t2 = 80880000
/* 007FC 8087D7BC A6020168 */ sh $v0, 0x0168($s0) ## 00000168
/* 00800 8087D7C0 254AD8C0 */ addiu $t2, $t2, %lo(func_8087D8C0) ## $t2 = 8087D8C0
/* 00804 8087D7C4 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 00808 8087D7C8 86030168 */ lh $v1, 0x0168($s0) ## 00000168
.L8087D7CC:
/* 0080C 8087D7CC 44832000 */ mtc1 $v1, $f4 ## $f4 = 0.00
/* 00810 8087D7D0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00814 8087D7D4 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00
/* 00818 8087D7D8 468021A0 */ cvt.s.w $f6, $f4
/* 0081C 8087D7DC 3C0141C0 */ lui $at, 0x41C0 ## $at = 41C00000
/* 00820 8087D7E0 44814000 */ mtc1 $at, $f8 ## $f8 = 24.00
/* 00824 8087D7E4 3C018088 */ lui $at, %hi(D_8087D958) ## $at = 80880000
/* 00828 8087D7E8 46083280 */ add.s $f10, $f6, $f8
/* 0082C 8087D7EC 460A003C */ c.lt.s $f0, $f10
/* 00830 8087D7F0 E42AD958 */ swc1 $f10, %lo(D_8087D958)($at)
/* 00834 8087D7F4 3C018088 */ lui $at, %hi(D_8087D958) ## $at = 80880000
/* 00838 8087D7F8 45020003 */ bc1fl .L8087D808
/* 0083C 8087D7FC 860B0032 */ lh $t3, 0x0032($s0) ## 00000032
/* 00840 8087D800 E420D958 */ swc1 $f0, %lo(D_8087D958)($at)
/* 00844 8087D804 860B0032 */ lh $t3, 0x0032($s0) ## 00000032
.L8087D808:
/* 00848 8087D808 3C018088 */ lui $at, %hi(D_8087D970) ## $at = 80880000
/* 0084C 8087D80C C424D970 */ lwc1 $f4, %lo(D_8087D970)($at)
/* 00850 8087D810 448B8000 */ mtc1 $t3, $f16 ## $f16 = 0.00
/* 00854 8087D814 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00858 8087D818 468084A0 */ cvt.s.w $f18, $f16
/* 0085C 8087D81C 46049302 */ mul.s $f12, $f18, $f4
/* 00860 8087D820 0C034348 */ jal Matrix_RotateY
/* 00864 8087D824 00000000 */ nop
/* 00868 8087D828 860C0168 */ lh $t4, 0x0168($s0) ## 00000168
/* 0086C 8087D82C 3C018088 */ lui $at, %hi(D_8087D974) ## $at = 80880000
/* 00870 8087D830 C42AD974 */ lwc1 $f10, %lo(D_8087D974)($at)
/* 00874 8087D834 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00878 8087D838 3C058088 */ lui $a1, %hi(D_8087D964) ## $a1 = 80880000
/* 0087C 8087D83C 24A5D964 */ addiu $a1, $a1, %lo(D_8087D964) ## $a1 = 8087D964
/* 00880 8087D840 46803220 */ cvt.s.w $f8, $f6
/* 00884 8087D844 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00888 8087D848 460A4302 */ mul.s $f12, $f8, $f10
/* 0088C 8087D84C 0C0348FF */ jal func_800D23FC
/* 00890 8087D850 00000000 */ nop
/* 00894 8087D854 3C048088 */ lui $a0, %hi(D_8087D958) ## $a0 = 80880000
/* 00898 8087D858 2484D958 */ addiu $a0, $a0, %lo(D_8087D958) ## $a0 = 8087D958
/* 0089C 8087D85C 0C0346BD */ jal Matrix_MultVec3f
/* 008A0 8087D860 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFB4
/* 008A4 8087D864 C6100008 */ lwc1 $f16, 0x0008($s0) ## 00000008
/* 008A8 8087D868 C7B20034 */ lwc1 $f18, 0x0034($sp)
/* 008AC 8087D86C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 008B0 8087D870 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFC0
/* 008B4 8087D874 46128100 */ add.s $f4, $f16, $f18
/* 008B8 8087D878 C6100010 */ lwc1 $f16, 0x0010($s0) ## 00000010
/* 008BC 8087D87C E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
/* 008C0 8087D880 C7A80038 */ lwc1 $f8, 0x0038($sp)
/* 008C4 8087D884 46083280 */ add.s $f10, $f6, $f8
/* 008C8 8087D888 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
/* 008CC 8087D88C C7B2003C */ lwc1 $f18, 0x003C($sp)
/* 008D0 8087D890 46128100 */ add.s $f4, $f16, $f18
/* 008D4 8087D894 0C034236 */ jal Matrix_Get
/* 008D8 8087D898 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C
/* 008DC 8087D89C 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFC0
/* 008E0 8087D8A0 260500B4 */ addiu $a1, $s0, 0x00B4 ## $a1 = 000000B4
/* 008E4 8087D8A4 0C034833 */ jal func_800D20CC
/* 008E8 8087D8A8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 008EC 8087D8AC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 008F0 8087D8B0 8FB00020 */ lw $s0, 0x0020($sp)
/* 008F4 8087D8B4 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
/* 008F8 8087D8B8 03E00008 */ jr $ra
/* 008FC 8087D8BC 00000000 */ nop

View File

@ -1,4 +0,0 @@
glabel func_8087D8C0
/* 00900 8087D8C0 AFA40000 */ sw $a0, 0x0000($sp)
/* 00904 8087D8C4 03E00008 */ jr $ra
/* 00908 8087D8C8 AFA50004 */ sw $a1, 0x0004($sp)

View File

@ -1,30 +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 Bg_Haka_Huta_InitVars
.word 0x00BD0100, 0x00000010, 0x008D0000, 0x0000016C
.word BgHakaHuta_Init
.word BgHakaHuta_Destroy
.word BgHakaHuta_Update
.word BgHakaHuta_Draw
glabel D_8087D940
.word 0x48500064
glabel D_8087D944
.word 0x00000000, 0x00000000, 0x00000000
glabel D_8087D950
.word 0x1E1432FF
glabel D_8087D954
.word 0x000000FF
glabel D_8087D958
.word 0x41F00000, 0x00000000, 0x00000000
glabel D_8087D964
.word 0x3D05729B, 0x3EA6CF42, 0xBF71E4F7

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_8087D980
.incbin "baserom/ovl_Bg_Haka_Huta", 0x9C0, 0x000000C0

3
spec
View File

@ -734,8 +734,7 @@ endseg
beginseg
name "ovl_Bg_Haka_Huta"
include "build/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.o"
include "build/data/overlays/actors/z_bg_haka_huta.data.o"
include "build/data/overlays/actors/z_bg_haka_huta.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Haka_Huta/ovl_Bg_Haka_Huta_reloc.o"
endseg
beginseg

View File

@ -1,3 +1,9 @@
/*
* File: z_bg_haka_huta.c
* Overlay: ovl_Bg_Haka_Huta
* Description: Coffin Lid
*/
#include "z_bg_haka_huta.h"
#define FLAGS 0x00000010
@ -9,17 +15,17 @@ void BgHakaHuta_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgHakaHuta_Update(Actor* thisx, GlobalContext* globalCtx);
void BgHakaHuta_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_8087D0AC(BgHakaHuta* this, GlobalContext* globalCtx);
// void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 arg2); not sure about this one
// void func_8087D5B8(BgHakaHuta* this, GlobalContext* globalCtx); not sure about this one
void func_8087D66C(BgHakaHuta* this, GlobalContext* globalCtx);
void BgHakaHuta_SpawnDust(BgHakaHuta* this, GlobalContext* globalCtx);
void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 sfx);
void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, GlobalContext* globalCtx);
void BgHakaHuta_Open(BgHakaHuta* this, GlobalContext* globalCtx);
void BgHakaHuta_SlideOpen(BgHakaHuta* this, GlobalContext* globalCtx);
void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx);
void func_8087D8C0(BgHakaHuta* this, GlobalContext* globalCtx);
extern UNK_TYPE D_060006B0;
extern UNK_TYPE D_06000870;
extern Gfx D_060006B0[];
extern CollisionHeader D_06000870;
/*
const ActorInit Bg_Haka_Huta_InitVars = {
ACTOR_BG_HAKA_HUTA,
ACTORCAT_BG,
@ -31,25 +37,183 @@ const ActorInit Bg_Haka_Huta_InitVars = {
(ActorFunc)BgHakaHuta_Update,
(ActorFunc)BgHakaHuta_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D0AC.s")
void BgHakaHuta_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHakaHuta* this = THIS;
s16 pad;
CollisionHeader* colHeader;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D268.s")
colHeader = NULL;
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, 1);
CollisionHeader_GetVirtual(&D_06000870, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
this->unk_16A = (thisx->params >> 8) & 0xFF;
this->dyna.actor.params &= 0xFF;
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params)) {
this->counter = -1;
this->actionFunc = func_8087D720;
} else {
this->actionFunc = BgHakaHuta_SpawnEnemies;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D2F0.s")
void BgHakaHuta_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgHakaHuta* this = THIS;
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D5B8.s")
void BgHakaHuta_SpawnDust(BgHakaHuta* this, GlobalContext* globalCtx) {
static Vec3f sEffectAccel[] = { 0.0f, 0.0f, 0.0f };
static Color_RGBA8 primColor = { 30, 20, 50, 255 };
static Color_RGBA8 envColor = { 0, 0, 0, 255 };
f32 scale;
f32 phi_f20;
Vec3f effectPos;
Vec3f effectVel;
s32 i;
f32 new_Xpos;
f32 xPosOffset;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D66C.s")
phi_f20 = (this->dyna.actor.world.rot.y == 0) ? 1.0f : -1.0f;
effectVel.y = 0.0f;
effectVel.z = 0.0f;
effectVel.x = -0.5f * phi_f20;
effectPos.y = this->dyna.actor.world.pos.y;
effectPos.z = this->dyna.actor.world.pos.z;
new_Xpos = 50 - ((this->dyna.actor.world.pos.x - this->dyna.actor.home.pos.x) * phi_f20);
xPosOffset = new_Xpos * phi_f20;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D720.s")
for (i = 0; i < 4; i++) {
if (i == 2) {
effectPos.z += 120.0f * phi_f20;
}
effectPos.x = this->dyna.actor.home.pos.x - (Rand_ZeroOne() * xPosOffset);
scale = ((Rand_ZeroOne() * 10.0f) + 50.0f);
func_8002829C(globalCtx, &effectPos, &effectVel, sEffectAccel, &primColor, &envColor, scale, 0xA);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D8C0.s")
void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 sfx) {
Vec3f pos;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Update.s")
pos.z = (this->dyna.actor.shape.rot.y == 0) ? this->dyna.actor.world.pos.z + 120.0f
: this->dyna.actor.world.pos.z - 120.0f;
pos.x = this->dyna.actor.world.pos.x;
pos.y = this->dyna.actor.world.pos.y;
Audio_PlaySoundAtPosition(globalCtx, &pos, 30, sfx);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Draw.s")
void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params) && !Player_InCsMode(globalCtx)) {
this->counter = 25;
this->actionFunc = BgHakaHuta_Open;
func_800800F8(globalCtx, 0x1771, 0x3E7, &this->dyna.actor, 0);
if (this->unk_16A == 2) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIREFLY,
(this->dyna.actor.world.pos.x + (-25.0f) * Math_CosS(this->dyna.actor.shape.rot.y) +
40.0f * Math_SinS(this->dyna.actor.shape.rot.y)),
this->dyna.actor.world.pos.y - 10.0f,
(this->dyna.actor.world.pos.z - (-25.0f) * Math_SinS(this->dyna.actor.shape.rot.y) +
Math_CosS(this->dyna.actor.shape.rot.y) * 40.0f),
0, this->dyna.actor.shape.rot.y + 0x8000, 0, 2);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIREFLY,
(this->dyna.actor.world.pos.x + (-25.0f) * (Math_CosS(this->dyna.actor.shape.rot.y)) +
Math_SinS(this->dyna.actor.shape.rot.y) * 80.0f),
this->dyna.actor.world.pos.y - 10.0f,
(this->dyna.actor.world.pos.z - (-25.0f) * (Math_SinS(this->dyna.actor.shape.rot.y)) +
Math_CosS(this->dyna.actor.shape.rot.y) * 80.0f),
0, this->dyna.actor.shape.rot.y, 0, 2);
} else if (this->unk_16A == 1) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_RD,
(this->dyna.actor.home.pos.x + (-25.0f) * (Math_CosS(this->dyna.actor.shape.rot.y)) +
Math_SinS(this->dyna.actor.shape.rot.y) * 100.0f),
this->dyna.actor.home.pos.y - 40.0f,
(this->dyna.actor.home.pos.z - (-25.0f) * (Math_SinS(this->dyna.actor.shape.rot.y)) +
Math_CosS(this->dyna.actor.shape.rot.y) * 100.0f),
0, this->dyna.actor.shape.rot.y, 0, 0xFD);
}
}
}
void BgHakaHuta_Open(BgHakaHuta* this, GlobalContext* globalCtx) {
f32 posOffset;
if (this->counter != 0) {
this->counter--;
}
posOffset = (this->dyna.actor.world.rot.y == 0) ? 4.0f : -4.0f;
Math_StepToF(&this->dyna.actor.world.pos.x, this->dyna.actor.home.pos.x + posOffset, 2.0f);
if (this->counter == 0) {
this->counter = 37;
func_8087D268(this, globalCtx, NA_SE_EV_COFFIN_CAP_OPEN);
this->actionFunc = BgHakaHuta_SlideOpen;
}
}
void BgHakaHuta_SlideOpen(BgHakaHuta* this, GlobalContext* globalCtx) {
f32 posOffset;
if (this->counter != 0) {
this->counter--;
}
posOffset = (this->dyna.actor.world.rot.y == 0) ? 24.0f : -24.0f;
if (!Math_StepToF(&this->dyna.actor.world.pos.x, this->dyna.actor.home.pos.x + posOffset, 0.5f)) {
BgHakaHuta_SpawnDust(this, globalCtx);
}
if (this->counter == 0) {
func_8087D268(this, globalCtx, NA_SE_EV_COFFIN_CAP_BOUND);
this->actionFunc = func_8087D720;
}
}
void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx) {
static Vec3f D_8087D958 = { 30.0f, 0.0f, 0.0f };
static Vec3f D_8087D964 = { 0.032579999f, 0.325800001f, -0.944899976f };
MtxF mtx;
Vec3f vec;
s32 quakeIndex;
this->counter++;
if (this->counter == 6) {
this->actionFunc = func_8087D8C0;
quakeIndex = Quake_Add(ACTIVE_CAM, 3);
Quake_SetSpeed(quakeIndex, 0x7530);
Quake_SetQuakeValues(quakeIndex, 4, 0, 0, 0);
Quake_SetCountdown(quakeIndex, 2);
} else if (this->counter == 0) {
this->counter = 6;
this->actionFunc = func_8087D8C0;
}
D_8087D958.x = this->counter + 24.0f;
if (D_8087D958.x > 30.0f) {
D_8087D958.x = 30.0f;
}
Matrix_RotateY(this->dyna.actor.world.rot.y * (M_PI / 0x8000), 0);
func_800D23FC(this->counter * (191 * M_PI / 3750), &D_8087D964, 1);
Matrix_MultVec3f(&D_8087D958, &vec);
this->dyna.actor.world.pos.x = this->dyna.actor.home.pos.x + vec.x;
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + vec.y;
this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z + vec.z;
Matrix_Get(&mtx);
func_800D20CC(&mtx, &this->dyna.actor.shape.rot, 0);
}
void func_8087D8C0(BgHakaHuta* this, GlobalContext* globalCtx) {
}
void BgHakaHuta_Update(Actor* thisx, GlobalContext* globalCtx) {
BgHakaHuta* this = THIS;
this->actionFunc(this, globalCtx);
}
void BgHakaHuta_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_060006B0);
}

View File

@ -11,7 +11,8 @@ typedef void (*BgHakaHutaActionFunc)(struct BgHakaHuta*, GlobalContext*);
typedef struct BgHakaHuta {
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgHakaHutaActionFunc actionFunc;
/* 0x0168 */ char unk_168[0x4];
/* 0x0168 */ s16 counter;
/* 0x016A */ s16 unk_16A;
} BgHakaHuta; // size = 0x016C
extern const ActorInit Bg_Haka_Huta_InitVars;