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

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* box

* Update src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* kakera macros

* kakera macros

* names

* one more rename

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
petrie911 2020-10-04 10:16:21 -05:00 committed by GitHub
parent fcea7c23a4
commit 704598652a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 245 additions and 893 deletions

View File

@ -1,12 +0,0 @@
glabel ObjKibako_Destroy
/* 00170 80B94E10 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00174 80B94E14 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00178 80B94E18 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0017C 80B94E1C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00180 80B94E20 0C0170EB */ jal Collider_DestroyCylinder
/* 00184 80B94E24 24E50150 */ addiu $a1, $a3, 0x0150 ## $a1 = 00000150
/* 00188 80B94E28 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0018C 80B94E2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00190 80B94E30 03E00008 */ jr $ra
/* 00194 80B94E34 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel ObjKibako_Draw
/* 00B58 80B957F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00B5C 80B957FC AFA40018 */ sw $a0, 0x0018($sp)
/* 00B60 80B95800 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00B64 80B95804 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00B68 80B95808 3C050500 */ lui $a1, 0x0500 ## $a1 = 05000000
/* 00B6C 80B9580C 0C00D498 */ jal Gfx_DrawDListOpa
/* 00B70 80B95810 24A55290 */ addiu $a1, $a1, 0x5290 ## $a1 = 05005290
/* 00B74 80B95814 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B78 80B95818 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B7C 80B9581C 03E00008 */ jr $ra
/* 00B80 80B95820 00000000 */ nop
/* 00B84 80B95824 00000000 */ nop
/* 00B88 80B95828 00000000 */ nop
/* 00B8C 80B9582C 00000000 */ nop

View File

@ -1,46 +0,0 @@
.rdata
glabel D_80B958A0
.asciz "(dungeon keep )(arg_data 0x%04x)\n"
.balign 4
.late_rodata
glabel D_80B958C8
.float -1.2
.text
glabel ObjKibako_Init
/* 000EC 80B94D8C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 000F0 80B94D90 AFA50024 */ sw $a1, 0x0024($sp)
/* 000F4 80B94D94 AFBF001C */ sw $ra, 0x001C($sp)
/* 000F8 80B94D98 AFB00018 */ sw $s0, 0x0018($sp)
/* 000FC 80B94D9C 3C0580B9 */ lui $a1, %hi(D_80B95884) ## $a1 = 80B90000
/* 00100 80B94DA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00104 80B94DA4 0C01E037 */ jal Actor_ProcessInitChain
/* 00108 80B94DA8 24A55884 */ addiu $a1, $a1, %lo(D_80B95884) ## $a1 = 80B95884
/* 0010C 80B94DAC 3C0180B9 */ lui $at, %hi(D_80B958C8) ## $at = 80B90000
/* 00110 80B94DB0 C42458C8 */ lwc1 $f4, %lo(D_80B958C8)($at)
/* 00114 80B94DB4 3C01C150 */ lui $at, 0xC150 ## $at = C1500000
/* 00118 80B94DB8 44813000 */ mtc1 $at, $f6 ## $f6 = -13.00
/* 0011C 80B94DBC E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 00120 80B94DC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00124 80B94DC4 E6060070 */ swc1 $f6, 0x0070($s0) ## 00000070
/* 00128 80B94DC8 0C2E534D */ jal func_80B94D34
/* 0012C 80B94DCC 8FA50024 */ lw $a1, 0x0024($sp)
/* 00130 80B94DD0 3C0680B9 */ lui $a2, %hi(D_80B9587C) ## $a2 = 80B90000
/* 00134 80B94DD4 24C6587C */ addiu $a2, $a2, %lo(D_80B9587C) ## $a2 = 80B9587C
/* 00138 80B94DD8 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 0013C 80B94DDC 0C0187B5 */ jal func_80061ED4
/* 00140 80B94DE0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00144 80B94DE4 0C2E54CD */ jal func_80B95334
/* 00148 80B94DE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0014C 80B94DEC 3C0480B9 */ lui $a0, %hi(D_80B958A0) ## $a0 = 80B90000
/* 00150 80B94DF0 248458A0 */ addiu $a0, $a0, %lo(D_80B958A0) ## $a0 = 80B958A0
/* 00154 80B94DF4 0C00084C */ jal osSyncPrintf
/* 00158 80B94DF8 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 0015C 80B94DFC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00160 80B94E00 8FB00018 */ lw $s0, 0x0018($sp)
/* 00164 80B94E04 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00168 80B94E08 03E00008 */ jr $ra
/* 0016C 80B94E0C 00000000 */ nop

View File

@ -1,10 +0,0 @@
glabel ObjKibako_Update
/* 00B34 80B957D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00B38 80B957D8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00B3C 80B957DC 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
/* 00B40 80B957E0 0320F809 */ jalr $ra, $t9
/* 00B44 80B957E4 00000000 */ nop
/* 00B48 80B957E8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B4C 80B957EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B50 80B957F0 03E00008 */ jr $ra
/* 00B54 80B957F4 00000000 */ nop

View File

@ -1,27 +0,0 @@
glabel func_80B94CA0
/* 00000 80B94CA0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 80B94CA4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 80B94CA8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0000C 80B94CAC 8483001C */ lh $v1, 0x001C($a0) ## 0000001C
/* 00010 80B94CB0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00014 80B94CB4 3062001F */ andi $v0, $v1, 0x001F ## $v0 = 00000000
/* 00018 80B94CB8 00021400 */ sll $v0, $v0, 16
/* 0001C 80B94CBC 00021403 */ sra $v0, $v0, 16
/* 00020 80B94CC0 0440000B */ bltz $v0, .L80B94CF0
/* 00024 80B94CC4 2841001A */ slti $at, $v0, 0x001A
/* 00028 80B94CC8 10200009 */ beq $at, $zero, .L80B94CF0
/* 0002C 80B94CCC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00030 80B94CD0 00037203 */ sra $t6, $v1, 8
/* 00034 80B94CD4 31CF003F */ andi $t7, $t6, 0x003F ## $t7 = 00000000
/* 00038 80B94CD8 000FC200 */ sll $t8, $t7, 8
/* 0003C 80B94CDC 00583025 */ or $a2, $v0, $t8 ## $a2 = 00000000
/* 00040 80B94CE0 00063400 */ sll $a2, $a2, 16
/* 00044 80B94CE4 00063403 */ sra $a2, $a2, 16
/* 00048 80B94CE8 0C007D52 */ jal Item_DropCollectible
/* 0004C 80B94CEC 24E50024 */ addiu $a1, $a3, 0x0024 ## $a1 = 00000024
.L80B94CF0:
/* 00050 80B94CF0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00054 80B94CF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00058 80B94CF8 03E00008 */ jr $ra
/* 0005C 80B94CFC 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_80B94D00
/* 00060 80B94D00 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
/* 00064 80B94D04 C486006C */ lwc1 $f6, 0x006C($a0) ## 0000006C
/* 00068 80B94D08 C4800070 */ lwc1 $f0, 0x0070($a0) ## 00000070
/* 0006C 80B94D0C 46062200 */ add.s $f8, $f4, $f6
/* 00070 80B94D10 E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060
/* 00074 80B94D14 C48A0060 */ lwc1 $f10, 0x0060($a0) ## 00000060
/* 00078 80B94D18 4600503C */ c.lt.s $f10, $f0
/* 0007C 80B94D1C 00000000 */ nop
/* 00080 80B94D20 45000002 */ bc1f .L80B94D2C
/* 00084 80B94D24 00000000 */ nop
/* 00088 80B94D28 E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
.L80B94D2C:
/* 0008C 80B94D2C 03E00008 */ jr $ra
/* 00090 80B94D30 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_80B94D34
/* 00094 80B94D34 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00098 80B94D38 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0009C 80B94D3C AFA50024 */ sw $a1, 0x0024($sp)
/* 000A0 80B94D40 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 000A4 80B94D44 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000A8 80B94D48 24C50150 */ addiu $a1, $a2, 0x0150 ## $a1 = 00000150
/* 000AC 80B94D4C AFA50018 */ sw $a1, 0x0018($sp)
/* 000B0 80B94D50 0C0170D9 */ jal Collider_InitCylinder
/* 000B4 80B94D54 AFA60020 */ sw $a2, 0x0020($sp)
/* 000B8 80B94D58 3C0780B9 */ lui $a3, %hi(D_80B95850) ## $a3 = 80B90000
/* 000BC 80B94D5C 8FA60020 */ lw $a2, 0x0020($sp)
/* 000C0 80B94D60 24E75850 */ addiu $a3, $a3, %lo(D_80B95850) ## $a3 = 80B95850
/* 000C4 80B94D64 8FA40024 */ lw $a0, 0x0024($sp)
/* 000C8 80B94D68 0C01712B */ jal Collider_SetCylinder
/* 000CC 80B94D6C 8FA50018 */ lw $a1, 0x0018($sp)
/* 000D0 80B94D70 8FA40020 */ lw $a0, 0x0020($sp)
/* 000D4 80B94D74 0C0189B7 */ jal Collider_CylinderUpdate
/* 000D8 80B94D78 8FA50018 */ lw $a1, 0x0018($sp)
/* 000DC 80B94D7C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000E0 80B94D80 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 000E4 80B94D84 03E00008 */ jr $ra
/* 000E8 80B94D88 00000000 */ nop

View File

@ -1,182 +0,0 @@
.late_rodata
glabel D_80B958CC
.float 0.2
glabel D_80B958D0
.float 0.1
glabel D_80B958D4
.float 0.7
.text
glabel func_80B94E38
/* 00198 80B94E38 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 0019C 80B94E3C F7BE0070 */ sdc1 $f30, 0x0070($sp)
/* 001A0 80B94E40 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 001A4 80B94E44 4481F000 */ mtc1 $at, $f30 ## $f30 = 5.00
/* 001A8 80B94E48 F7BC0068 */ sdc1 $f28, 0x0068($sp)
/* 001AC 80B94E4C 3C0180B9 */ lui $at, %hi(D_80B958CC) ## $at = 80B90000
/* 001B0 80B94E50 C43C58CC */ lwc1 $f28, %lo(D_80B958CC)($at)
/* 001B4 80B94E54 F7BA0060 */ sdc1 $f26, 0x0060($sp)
/* 001B8 80B94E58 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 001BC 80B94E5C 4481D000 */ mtc1 $at, $f26 ## $f26 = 2.00
/* 001C0 80B94E60 AFB60090 */ sw $s6, 0x0090($sp)
/* 001C4 80B94E64 F7B80058 */ sdc1 $f24, 0x0058($sp)
/* 001C8 80B94E68 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 001CC 80B94E6C AFBE0098 */ sw $s8, 0x0098($sp)
/* 001D0 80B94E70 AFB70094 */ sw $s7, 0x0094($sp)
/* 001D4 80B94E74 AFB5008C */ sw $s5, 0x008C($sp)
/* 001D8 80B94E78 AFB40088 */ sw $s4, 0x0088($sp)
/* 001DC 80B94E7C AFB30084 */ sw $s3, 0x0084($sp)
/* 001E0 80B94E80 AFB20080 */ sw $s2, 0x0080($sp)
/* 001E4 80B94E84 AFB1007C */ sw $s1, 0x007C($sp)
/* 001E8 80B94E88 3C160500 */ lui $s6, 0x0500 ## $s6 = 05000000
/* 001EC 80B94E8C 4481C000 */ mtc1 $at, $f24 ## $f24 = 16.00
/* 001F0 80B94E90 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 001F4 80B94E94 AFBF009C */ sw $ra, 0x009C($sp)
/* 001F8 80B94E98 AFB00078 */ sw $s0, 0x0078($sp)
/* 001FC 80B94E9C F7B60050 */ sdc1 $f22, 0x0050($sp)
/* 00200 80B94EA0 F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 00204 80B94EA4 26D65380 */ addiu $s6, $s6, 0x5380 ## $s6 = 05005380
/* 00208 80B94EA8 24910024 */ addiu $s1, $a0, 0x0024 ## $s1 = 00000024
/* 0020C 80B94EAC 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00210 80B94EB0 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00214 80B94EB4 27B400C8 */ addiu $s4, $sp, 0x00C8 ## $s4 = FFFFFFE8
/* 00218 80B94EB8 27B500BC */ addiu $s5, $sp, 0x00BC ## $s5 = FFFFFFDC
/* 0021C 80B94EBC 2417000C */ addiu $s7, $zero, 0x000C ## $s7 = 0000000C
.L80B94EC0:
/* 00220 80B94EC0 00122400 */ sll $a0, $s2, 16
/* 00224 80B94EC4 0C01DE1C */ jal Math_Sins
## sins?
/* 00228 80B94EC8 00042403 */ sra $a0, $a0, 16
/* 0022C 80B94ECC 00122400 */ sll $a0, $s2, 16
/* 00230 80B94ED0 46000506 */ mov.s $f20, $f0
/* 00234 80B94ED4 0C01DE0D */ jal Math_Coss
## coss?
/* 00238 80B94ED8 00042403 */ sra $a0, $a0, 16
/* 0023C 80B94EDC 4618A102 */ mul.s $f4, $f20, $f24
/* 00240 80B94EE0 46000586 */ mov.s $f22, $f0
/* 00244 80B94EE4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00248 80B94EE8 E7A400C8 */ swc1 $f4, 0x00C8($sp)
/* 0024C 80B94EEC 461E0182 */ mul.s $f6, $f0, $f30
/* 00250 80B94EF0 C7B000C8 */ lwc1 $f16, 0x00C8($sp)
/* 00254 80B94EF4 4618B282 */ mul.s $f10, $f22, $f24
/* 00258 80B94EF8 00000000 */ nop
/* 0025C 80B94EFC 461C8482 */ mul.s $f18, $f16, $f28
/* 00260 80B94F00 461A3200 */ add.s $f8, $f6, $f26
/* 00264 80B94F04 E7AA00D0 */ swc1 $f10, 0x00D0($sp)
/* 00268 80B94F08 E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 0026C 80B94F0C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00270 80B94F10 E7B200BC */ swc1 $f18, 0x00BC($sp)
/* 00274 80B94F14 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00278 80B94F18 44812000 */ mtc1 $at, $f4 ## $f4 = 6.00
/* 0027C 80B94F1C C7AA00D0 */ lwc1 $f10, 0x00D0($sp)
/* 00280 80B94F20 C7B200C8 */ lwc1 $f18, 0x00C8($sp)
/* 00284 80B94F24 46040182 */ mul.s $f6, $f0, $f4
/* 00288 80B94F28 461A3200 */ add.s $f8, $f6, $f26
/* 0028C 80B94F2C 461C5402 */ mul.s $f16, $f10, $f28
/* 00290 80B94F30 E7A800C0 */ swc1 $f8, 0x00C0($sp)
/* 00294 80B94F34 C7A800CC */ lwc1 $f8, 0x00CC($sp)
/* 00298 80B94F38 E7B000C4 */ swc1 $f16, 0x00C4($sp)
/* 0029C 80B94F3C C6240000 */ lwc1 $f4, 0x0000($s1) ## 00000024
/* 002A0 80B94F40 46049180 */ add.s $f6, $f18, $f4
/* 002A4 80B94F44 E7A600C8 */ swc1 $f6, 0x00C8($sp)
/* 002A8 80B94F48 C6300004 */ lwc1 $f16, 0x0004($s1) ## 00000028
/* 002AC 80B94F4C 46104480 */ add.s $f18, $f8, $f16
/* 002B0 80B94F50 E7B200CC */ swc1 $f18, 0x00CC($sp)
/* 002B4 80B94F54 C6240008 */ lwc1 $f4, 0x0008($s1) ## 0000002C
/* 002B8 80B94F58 46045180 */ add.s $f6, $f10, $f4
/* 002BC 80B94F5C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 002C0 80B94F60 E7A600D0 */ swc1 $f6, 0x00D0($sp)
/* 002C4 80B94F64 3C0180B9 */ lui $at, %hi(D_80B958D0) ## $at = 80B90000
/* 002C8 80B94F68 C42858D0 */ lwc1 $f8, %lo(D_80B958D0)($at)
/* 002CC 80B94F6C 3C0180B9 */ lui $at, %hi(D_80B958D4) ## $at = 80B90000
/* 002D0 80B94F70 4608003C */ c.lt.s $f0, $f8
/* 002D4 80B94F74 00000000 */ nop
/* 002D8 80B94F78 45000003 */ bc1f .L80B94F88
/* 002DC 80B94F7C 00000000 */ nop
/* 002E0 80B94F80 10000009 */ beq $zero, $zero, .L80B94FA8
/* 002E4 80B94F84 24100060 */ addiu $s0, $zero, 0x0060 ## $s0 = 00000060
.L80B94F88:
/* 002E8 80B94F88 C43058D4 */ lwc1 $f16, %lo(D_80B958D4)($at)
/* 002EC 80B94F8C 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
/* 002F0 80B94F90 4610003C */ c.lt.s $f0, $f16
/* 002F4 80B94F94 00000000 */ nop
/* 002F8 80B94F98 45000003 */ bc1f .L80B94FA8
/* 002FC 80B94F9C 00000000 */ nop
/* 00300 80B94FA0 10000001 */ beq $zero, $zero, .L80B94FA8
/* 00304 80B94FA4 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
.L80B94FA8:
/* 00308 80B94FA8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0030C 80B94FAC 00000000 */ nop
/* 00310 80B94FB0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00314 80B94FB4 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
/* 00318 80B94FB8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 0031C 80B94FBC 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 00320 80B94FC0 46120282 */ mul.s $f10, $f0, $f18
/* 00324 80B94FC4 240EFF38 */ addiu $t6, $zero, 0xFF38 ## $t6 = FFFFFF38
/* 00328 80B94FC8 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
/* 0032C 80B94FCC 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 00330 80B94FD0 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 00334 80B94FD4 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C
/* 00338 80B94FD8 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
/* 0033C 80B94FDC 46045180 */ add.s $f6, $f10, $f4
/* 00340 80B94FE0 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
/* 00344 80B94FE4 AFAC0038 */ sw $t4, 0x0038($sp)
/* 00348 80B94FE8 AFAB0034 */ sw $t3, 0x0034($sp)
/* 0034C 80B94FEC 4600320D */ trunc.w.s $f8, $f6
/* 00350 80B94FF0 AFAA0030 */ sw $t2, 0x0030($sp)
/* 00354 80B94FF4 AFA9002C */ sw $t1, 0x002C($sp)
/* 00358 80B94FF8 AFB8001C */ sw $t8, 0x001C($sp)
/* 0035C 80B94FFC 44084000 */ mfc1 $t0, $f8
/* 00360 80B95000 AFAF0018 */ sw $t7, 0x0018($sp)
/* 00364 80B95004 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00368 80B95008 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 0036C 80B9500C 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
/* 00370 80B95010 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFDC
/* 00374 80B95014 02203825 */ or $a3, $s1, $zero ## $a3 = 00000024
/* 00378 80B95018 AFB00014 */ sw $s0, 0x0014($sp)
/* 0037C 80B9501C AFA00020 */ sw $zero, 0x0020($sp)
/* 00380 80B95020 AFA00028 */ sw $zero, 0x0028($sp)
/* 00384 80B95024 AFB6003C */ sw $s6, 0x003C($sp)
/* 00388 80B95028 0C00A7A3 */ jal EffectSsKakera_Spawn
/* 0038C 80B9502C AFA80024 */ sw $t0, 0x0024($sp)
/* 00390 80B95030 26524E20 */ addiu $s2, $s2, 0x4E20 ## $s2 = 00004E20
/* 00394 80B95034 00129400 */ sll $s2, $s2, 16
/* 00398 80B95038 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 0039C 80B9503C 1677FFA0 */ bne $s3, $s7, .L80B94EC0
/* 003A0 80B95040 00129403 */ sra $s2, $s2, 16
/* 003A4 80B95044 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032
/* 003A8 80B95048 240E008C */ addiu $t6, $zero, 0x008C ## $t6 = 0000008C
/* 003AC 80B9504C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 003B0 80B95050 AFAF0018 */ sw $t7, 0x0018($sp)
/* 003B4 80B95054 AFAE0014 */ sw $t6, 0x0014($sp)
/* 003B8 80B95058 AFAD0010 */ sw $t5, 0x0010($sp)
/* 003BC 80B9505C 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 003C0 80B95060 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 003C4 80B95064 3C064220 */ lui $a2, 0x4220 ## $a2 = 42200000
/* 003C8 80B95068 0C00CD20 */ jal func_80033480
/* 003CC 80B9506C 24070003 */ addiu $a3, $zero, 0x0003 ## $a3 = 00000003
/* 003D0 80B95070 8FBF009C */ lw $ra, 0x009C($sp)
/* 003D4 80B95074 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 003D8 80B95078 D7B60050 */ ldc1 $f22, 0x0050($sp)
/* 003DC 80B9507C D7B80058 */ ldc1 $f24, 0x0058($sp)
/* 003E0 80B95080 D7BA0060 */ ldc1 $f26, 0x0060($sp)
/* 003E4 80B95084 D7BC0068 */ ldc1 $f28, 0x0068($sp)
/* 003E8 80B95088 D7BE0070 */ ldc1 $f30, 0x0070($sp)
/* 003EC 80B9508C 8FB00078 */ lw $s0, 0x0078($sp)
/* 003F0 80B95090 8FB1007C */ lw $s1, 0x007C($sp)
/* 003F4 80B95094 8FB20080 */ lw $s2, 0x0080($sp)
/* 003F8 80B95098 8FB30084 */ lw $s3, 0x0084($sp)
/* 003FC 80B9509C 8FB40088 */ lw $s4, 0x0088($sp)
/* 00400 80B950A0 8FB5008C */ lw $s5, 0x008C($sp)
/* 00404 80B950A4 8FB60090 */ lw $s6, 0x0090($sp)
/* 00408 80B950A8 8FB70094 */ lw $s7, 0x0094($sp)
/* 0040C 80B950AC 8FBE0098 */ lw $s8, 0x0098($sp)
/* 00410 80B950B0 03E00008 */ jr $ra
/* 00414 80B950B4 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View File

@ -1,176 +0,0 @@
.late_rodata
glabel D_80B958D8
.word 0x3E3851EC
glabel D_80B958DC
.float 0.2
.text
glabel func_80B950B8
/* 00418 80B950B8 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 0041C 80B950BC AFB1007C */ sw $s1, 0x007C($sp)
/* 00420 80B950C0 AFBF009C */ sw $ra, 0x009C($sp)
/* 00424 80B950C4 AFBE0098 */ sw $s8, 0x0098($sp)
/* 00428 80B950C8 AFB70094 */ sw $s7, 0x0094($sp)
/* 0042C 80B950CC AFB60090 */ sw $s6, 0x0090($sp)
/* 00430 80B950D0 AFB5008C */ sw $s5, 0x008C($sp)
/* 00434 80B950D4 AFB40088 */ sw $s4, 0x0088($sp)
/* 00438 80B950D8 AFB30084 */ sw $s3, 0x0084($sp)
/* 0043C 80B950DC AFB20080 */ sw $s2, 0x0080($sp)
/* 00440 80B950E0 AFB00078 */ sw $s0, 0x0078($sp)
/* 00444 80B950E4 F7BE0070 */ sdc1 $f30, 0x0070($sp)
/* 00448 80B950E8 F7BC0068 */ sdc1 $f28, 0x0068($sp)
/* 0044C 80B950EC F7BA0060 */ sdc1 $f26, 0x0060($sp)
/* 00450 80B950F0 F7B80058 */ sdc1 $f24, 0x0058($sp)
/* 00454 80B950F4 F7B60050 */ sdc1 $f22, 0x0050($sp)
/* 00458 80B950F8 F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 0045C 80B950FC 24910024 */ addiu $s1, $a0, 0x0024 ## $s1 = 00000024
/* 00460 80B95100 8E2F0000 */ lw $t7, 0x0000($s1) ## 00000024
/* 00464 80B95104 27B500C8 */ addiu $s5, $sp, 0x00C8 ## $s5 = FFFFFFE8
/* 00468 80B95108 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 0046C 80B9510C AEAF0000 */ sw $t7, 0x0000($s5) ## FFFFFFE8
/* 00470 80B95110 8E2E0004 */ lw $t6, 0x0004($s1) ## 00000028
/* 00474 80B95114 241801F4 */ addiu $t8, $zero, 0x01F4 ## $t8 = 000001F4
/* 00478 80B95118 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 0047C 80B9511C AEAE0004 */ sw $t6, 0x0004($s5) ## FFFFFFEC
/* 00480 80B95120 8E2F0008 */ lw $t7, 0x0008($s1) ## 0000002C
/* 00484 80B95124 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00488 80B95128 AEAF0008 */ sw $t7, 0x0008($s5) ## FFFFFFF0
/* 0048C 80B9512C C7A400CC */ lwc1 $f4, 0x00CC($sp)
/* 00490 80B95130 C4860084 */ lwc1 $f6, 0x0084($a0) ## 00000084
/* 00494 80B95134 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00498 80B95138 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFE8
/* 0049C 80B9513C 46062200 */ add.s $f8, $f4, $f6
/* 004A0 80B95140 AFB80014 */ sw $t8, 0x0014($sp)
/* 004A4 80B95144 AFA00010 */ sw $zero, 0x0010($sp)
/* 004A8 80B95148 0C00A527 */ jal EffectSsGSplash_Spawn
/* 004AC 80B9514C E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 004B0 80B95150 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 004B4 80B95154 4481F000 */ mtc1 $at, $f30 ## $f30 = 5.00
/* 004B8 80B95158 3C0180B9 */ lui $at, %hi(D_80B958D8) ## $at = 80B90000
/* 004BC 80B9515C C43C58D8 */ lwc1 $f28, %lo(D_80B958D8)($at)
/* 004C0 80B95160 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 004C4 80B95164 4481D000 */ mtc1 $at, $f26 ## $f26 = 2.00
/* 004C8 80B95168 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 004CC 80B9516C 3C170500 */ lui $s7, 0x0500 ## $s7 = 05000000
/* 004D0 80B95170 4481C000 */ mtc1 $at, $f24 ## $f24 = 16.00
/* 004D4 80B95174 26F75380 */ addiu $s7, $s7, 0x5380 ## $s7 = 05005380
/* 004D8 80B95178 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 004DC 80B9517C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 004E0 80B95180 241E000C */ addiu $s8, $zero, 0x000C ## $s8 = 0000000C
/* 004E4 80B95184 27B600BC */ addiu $s6, $sp, 0x00BC ## $s6 = FFFFFFDC
.L80B95188:
/* 004E8 80B95188 00122400 */ sll $a0, $s2, 16
/* 004EC 80B9518C 0C01DE1C */ jal Math_Sins
## sins?
/* 004F0 80B95190 00042403 */ sra $a0, $a0, 16
/* 004F4 80B95194 00122400 */ sll $a0, $s2, 16
/* 004F8 80B95198 46000506 */ mov.s $f20, $f0
/* 004FC 80B9519C 0C01DE0D */ jal Math_Coss
## coss?
/* 00500 80B951A0 00042403 */ sra $a0, $a0, 16
/* 00504 80B951A4 4618A282 */ mul.s $f10, $f20, $f24
/* 00508 80B951A8 46000586 */ mov.s $f22, $f0
/* 0050C 80B951AC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00510 80B951B0 E7AA00C8 */ swc1 $f10, 0x00C8($sp)
/* 00514 80B951B4 461E0402 */ mul.s $f16, $f0, $f30
/* 00518 80B951B8 C7A600C8 */ lwc1 $f6, 0x00C8($sp)
/* 0051C 80B951BC 4618B102 */ mul.s $f4, $f22, $f24
/* 00520 80B951C0 00000000 */ nop
/* 00524 80B951C4 461C3202 */ mul.s $f8, $f6, $f28
/* 00528 80B951C8 461A8480 */ add.s $f18, $f16, $f26
/* 0052C 80B951CC E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 00530 80B951D0 E7B200CC */ swc1 $f18, 0x00CC($sp)
/* 00534 80B951D4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00538 80B951D8 E7A800BC */ swc1 $f8, 0x00BC($sp)
/* 0053C 80B951DC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00540 80B951E0 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00
/* 00544 80B951E4 C7A400D0 */ lwc1 $f4, 0x00D0($sp)
/* 00548 80B951E8 C7A800C8 */ lwc1 $f8, 0x00C8($sp)
/* 0054C 80B951EC 460A0402 */ mul.s $f16, $f0, $f10
/* 00550 80B951F0 461A8480 */ add.s $f18, $f16, $f26
/* 00554 80B951F4 461C2182 */ mul.s $f6, $f4, $f28
/* 00558 80B951F8 E7B200C0 */ swc1 $f18, 0x00C0($sp)
/* 0055C 80B951FC C7B200CC */ lwc1 $f18, 0x00CC($sp)
/* 00560 80B95200 E7A600C4 */ swc1 $f6, 0x00C4($sp)
/* 00564 80B95204 C62A0000 */ lwc1 $f10, 0x0000($s1) ## 00000024
/* 00568 80B95208 460A4400 */ add.s $f16, $f8, $f10
/* 0056C 80B9520C E7B000C8 */ swc1 $f16, 0x00C8($sp)
/* 00570 80B95210 C6260004 */ lwc1 $f6, 0x0004($s1) ## 00000028
/* 00574 80B95214 46069200 */ add.s $f8, $f18, $f6
/* 00578 80B95218 E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 0057C 80B9521C C62A0008 */ lwc1 $f10, 0x0008($s1) ## 0000002C
/* 00580 80B95220 460A2400 */ add.s $f16, $f4, $f10
/* 00584 80B95224 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00588 80B95228 E7B000D0 */ swc1 $f16, 0x00D0($sp)
/* 0058C 80B9522C 3C0180B9 */ lui $at, %hi(D_80B958DC) ## $at = 80B90000
/* 00590 80B95230 C43258DC */ lwc1 $f18, %lo(D_80B958DC)($at)
/* 00594 80B95234 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
/* 00598 80B95238 4612003C */ c.lt.s $f0, $f18
/* 0059C 80B9523C 00000000 */ nop
/* 005A0 80B95240 45000003 */ bc1f .L80B95250
/* 005A4 80B95244 00000000 */ nop
/* 005A8 80B95248 10000001 */ beq $zero, $zero, .L80B95250
/* 005AC 80B9524C 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
.L80B95250:
/* 005B0 80B95250 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 005B4 80B95254 00000000 */ nop
/* 005B8 80B95258 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 005BC 80B9525C 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
/* 005C0 80B95260 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 005C4 80B95264 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 005C8 80B95268 46060202 */ mul.s $f8, $f0, $f6
/* 005CC 80B9526C 2419FF4C */ addiu $t9, $zero, 0xFF4C ## $t9 = FFFFFF4C
/* 005D0 80B95270 2408001E */ addiu $t0, $zero, 0x001E ## $t0 = 0000001E
/* 005D4 80B95274 2409001E */ addiu $t1, $zero, 0x001E ## $t1 = 0000001E
/* 005D8 80B95278 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
/* 005DC 80B9527C 240D0046 */ addiu $t5, $zero, 0x0046 ## $t5 = 00000046
/* 005E0 80B95280 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 005E4 80B95284 46044280 */ add.s $f10, $f8, $f4
/* 005E8 80B95288 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 005EC 80B9528C AFAF0038 */ sw $t7, 0x0038($sp)
/* 005F0 80B95290 AFAE0034 */ sw $t6, 0x0034($sp)
/* 005F4 80B95294 4600540D */ trunc.w.s $f16, $f10
/* 005F8 80B95298 AFAD0030 */ sw $t5, 0x0030($sp)
/* 005FC 80B9529C AFAC002C */ sw $t4, 0x002C($sp)
/* 00600 80B952A0 AFA9001C */ sw $t1, 0x001C($sp)
/* 00604 80B952A4 440B8000 */ mfc1 $t3, $f16
/* 00608 80B952A8 AFA80018 */ sw $t0, 0x0018($sp)
/* 0060C 80B952AC AFB90010 */ sw $t9, 0x0010($sp)
/* 00610 80B952B0 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00614 80B952B4 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFE8
/* 00618 80B952B8 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFDC
/* 0061C 80B952BC 02203825 */ or $a3, $s1, $zero ## $a3 = 00000024
/* 00620 80B952C0 AFB00014 */ sw $s0, 0x0014($sp)
/* 00624 80B952C4 AFA00020 */ sw $zero, 0x0020($sp)
/* 00628 80B952C8 AFA00028 */ sw $zero, 0x0028($sp)
/* 0062C 80B952CC AFB7003C */ sw $s7, 0x003C($sp)
/* 00630 80B952D0 0C00A7A3 */ jal EffectSsKakera_Spawn
/* 00634 80B952D4 AFAB0024 */ sw $t3, 0x0024($sp)
/* 00638 80B952D8 26524E20 */ addiu $s2, $s2, 0x4E20 ## $s2 = 00004E20
/* 0063C 80B952DC 00129400 */ sll $s2, $s2, 16
/* 00640 80B952E0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00644 80B952E4 167EFFA8 */ bne $s3, $s8, .L80B95188
/* 00648 80B952E8 00129403 */ sra $s2, $s2, 16
/* 0064C 80B952EC 8FBF009C */ lw $ra, 0x009C($sp)
/* 00650 80B952F0 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 00654 80B952F4 D7B60050 */ ldc1 $f22, 0x0050($sp)
/* 00658 80B952F8 D7B80058 */ ldc1 $f24, 0x0058($sp)
/* 0065C 80B952FC D7BA0060 */ ldc1 $f26, 0x0060($sp)
/* 00660 80B95300 D7BC0068 */ ldc1 $f28, 0x0068($sp)
/* 00664 80B95304 D7BE0070 */ ldc1 $f30, 0x0070($sp)
/* 00668 80B95308 8FB00078 */ lw $s0, 0x0078($sp)
/* 0066C 80B9530C 8FB1007C */ lw $s1, 0x007C($sp)
/* 00670 80B95310 8FB20080 */ lw $s2, 0x0080($sp)
/* 00674 80B95314 8FB30084 */ lw $s3, 0x0084($sp)
/* 00678 80B95318 8FB40088 */ lw $s4, 0x0088($sp)
/* 0067C 80B9531C 8FB5008C */ lw $s5, 0x008C($sp)
/* 00680 80B95320 8FB60090 */ lw $s6, 0x0090($sp)
/* 00684 80B95324 8FB70094 */ lw $s7, 0x0094($sp)
/* 00688 80B95328 8FBE0098 */ lw $s8, 0x0098($sp)
/* 0068C 80B9532C 03E00008 */ jr $ra
/* 00690 80B95330 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View File

@ -1,7 +0,0 @@
glabel func_80B95334
/* 00694 80B95334 3C0E80B9 */ lui $t6, %hi(func_80B9534C) ## $t6 = 80B90000
/* 00698 80B95338 25CE534C */ addiu $t6, $t6, %lo(func_80B9534C) ## $t6 = 80B9534C
/* 0069C 80B9533C 240F00FE */ addiu $t7, $zero, 0x00FE ## $t7 = 000000FE
/* 006A0 80B95340 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 006A4 80B95344 03E00008 */ jr $ra
/* 006A8 80B95348 A08F00AE */ sb $t7, 0x00AE($a0) ## 000000AE

View File

@ -1,141 +0,0 @@
glabel func_80B9534C
/* 006AC 80B9534C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 006B0 80B95350 AFBF0024 */ sw $ra, 0x0024($sp)
/* 006B4 80B95354 AFB10020 */ sw $s1, 0x0020($sp)
/* 006B8 80B95358 AFB0001C */ sw $s0, 0x001C($sp)
/* 006BC 80B9535C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006C0 80B95360 0C00BD04 */ jal Actor_HasParent
/* 006C4 80B95364 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 006C8 80B95368 50400006 */ beql $v0, $zero, .L80B95384
/* 006CC 80B9536C 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
/* 006D0 80B95370 0C2E5550 */ jal func_80B95540
/* 006D4 80B95374 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006D8 80B95378 1000006D */ beq $zero, $zero, .L80B95530
/* 006DC 80B9537C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 006E0 80B95380 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
.L80B95384:
/* 006E4 80B95384 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 006E8 80B95388 31CF0020 */ andi $t7, $t6, 0x0020 ## $t7 = 00000000
/* 006EC 80B9538C 51E00017 */ beql $t7, $zero, .L80B953EC
/* 006F0 80B95390 92180161 */ lbu $t8, 0x0161($s0) ## 00000161
/* 006F4 80B95394 44812000 */ mtc1 $at, $f4 ## $f4 = 19.00
/* 006F8 80B95398 C6060084 */ lwc1 $f6, 0x0084($s0) ## 00000084
/* 006FC 80B9539C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00700 80B953A0 4606203C */ c.lt.s $f4, $f6
/* 00704 80B953A4 00000000 */ nop
/* 00708 80B953A8 45020010 */ bc1fl .L80B953EC
/* 0070C 80B953AC 92180161 */ lbu $t8, 0x0161($s0) ## 00000161
/* 00710 80B953B0 0C2E542E */ jal func_80B950B8
/* 00714 80B953B4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00718 80B953B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0071C 80B953BC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00720 80B953C0 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00724 80B953C4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00728 80B953C8 240728AA */ addiu $a3, $zero, 0x28AA ## $a3 = 000028AA
/* 0072C 80B953CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00730 80B953D0 0C2E5328 */ jal func_80B94CA0
/* 00734 80B953D4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00738 80B953D8 0C00B55C */ jal Actor_Kill
/* 0073C 80B953DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00740 80B953E0 10000053 */ beq $zero, $zero, .L80B95530
/* 00744 80B953E4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00748 80B953E8 92180161 */ lbu $t8, 0x0161($s0) ## 00000161
.L80B953EC:
/* 0074C 80B953EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00750 80B953F0 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 00754 80B953F4 1320000F */ beq $t9, $zero, .L80B95434
/* 00758 80B953F8 00000000 */ nop
/* 0075C 80B953FC 0C2E538E */ jal func_80B94E38
/* 00760 80B95400 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00764 80B95404 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00768 80B95408 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 0076C 80B9540C 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00770 80B95410 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00774 80B95414 240728AA */ addiu $a3, $zero, 0x28AA ## $a3 = 000028AA
/* 00778 80B95418 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0077C 80B9541C 0C2E5328 */ jal func_80B94CA0
/* 00780 80B95420 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00784 80B95424 0C00B55C */ jal Actor_Kill
/* 00788 80B95428 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0078C 80B9542C 10000040 */ beq $zero, $zero, .L80B95530
/* 00790 80B95430 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B95434:
/* 00794 80B95434 0C00B638 */ jal Actor_MoveForward
/* 00798 80B95438 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0079C 80B9543C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 007A0 80B95440 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 007A4 80B95444 AFA80014 */ sw $t0, 0x0014($sp)
/* 007A8 80B95448 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 007AC 80B9544C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 007B0 80B95450 3C064198 */ lui $a2, 0x4198 ## $a2 = 41980000
/* 007B4 80B95454 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 007B8 80B95458 0C00B92D */ jal func_8002E4B4
/* 007BC 80B9545C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 007C0 80B95460 92020162 */ lbu $v0, 0x0162($s0) ## 00000162
/* 007C4 80B95464 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000
/* 007C8 80B95468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007CC 80B9546C 30490008 */ andi $t1, $v0, 0x0008 ## $t1 = 00000000
/* 007D0 80B95470 15200009 */ bne $t1, $zero, .L80B95498
/* 007D4 80B95474 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
/* 007D8 80B95478 44815000 */ mtc1 $at, $f10 ## $f10 = 28.00
/* 007DC 80B9547C C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
/* 007E0 80B95480 344A0008 */ ori $t2, $v0, 0x0008 ## $t2 = 00000008
/* 007E4 80B95484 4610503C */ c.lt.s $f10, $f16
/* 007E8 80B95488 00000000 */ nop
/* 007EC 80B9548C 45020003 */ bc1fl .L80B9549C
/* 007F0 80B95490 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 007F4 80B95494 A20A0162 */ sb $t2, 0x0162($s0) ## 00000162
.L80B95498:
/* 007F8 80B95498 3C014416 */ lui $at, 0x4416 ## $at = 44160000
.L80B9549C:
/* 007FC 80B9549C 44819000 */ mtc1 $at, $f18 ## $f18 = 600.00
/* 00800 80B954A0 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
/* 00804 80B954A4 4612003C */ c.lt.s $f0, $f18
/* 00808 80B954A8 00000000 */ nop
/* 0080C 80B954AC 45020017 */ bc1fl .L80B9550C
/* 00810 80B954B0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00814 80B954B4 0C0189B7 */ jal Collider_CylinderUpdate
/* 00818 80B954B8 AFA5002C */ sw $a1, 0x002C($sp)
/* 0081C 80B954BC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00820 80B954C0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00824 80B954C4 02212821 */ addu $a1, $s1, $at
/* 00828 80B954C8 AFA50028 */ sw $a1, 0x0028($sp)
/* 0082C 80B954CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00830 80B954D0 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00834 80B954D4 8FA6002C */ lw $a2, 0x002C($sp)
/* 00838 80B954D8 3C014334 */ lui $at, 0x4334 ## $at = 43340000
/* 0083C 80B954DC 44812000 */ mtc1 $at, $f4 ## $f4 = 180.00
/* 00840 80B954E0 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
/* 00844 80B954E4 8FA50028 */ lw $a1, 0x0028($sp)
/* 00848 80B954E8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0084C 80B954EC 4604003C */ c.lt.s $f0, $f4
/* 00850 80B954F0 00000000 */ nop
/* 00854 80B954F4 45020005 */ bc1fl .L80B9550C
/* 00858 80B954F8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0085C 80B954FC 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 00860 80B95500 8FA6002C */ lw $a2, 0x002C($sp)
/* 00864 80B95504 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
/* 00868 80B95508 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
.L80B9550C:
/* 0086C 80B9550C 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 00870 80B95510 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00874 80B95514 4606003C */ c.lt.s $f0, $f6
/* 00878 80B95518 00000000 */ nop
/* 0087C 80B9551C 45020004 */ bc1fl .L80B95530
/* 00880 80B95520 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00884 80B95524 0C00BD60 */ jal func_8002F580
/* 00888 80B95528 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0088C 80B9552C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B95530:
/* 00890 80B95530 8FB0001C */ lw $s0, 0x001C($sp)
/* 00894 80B95534 8FB10020 */ lw $s1, 0x0020($sp)
/* 00898 80B95538 03E00008 */ jr $ra
/* 0089C 80B9553C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,14 +0,0 @@
glabel func_80B95540
/* 008A0 80B95540 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 008A4 80B95544 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008A8 80B95548 3C0E80B9 */ lui $t6, %hi(func_80B95574) ## $t6 = 80B90000
/* 008AC 80B9554C 25CE5574 */ addiu $t6, $t6, %lo(func_80B95574) ## $t6 = 80B95574
/* 008B0 80B95550 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
/* 008B4 80B95554 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 008B8 80B95558 A08F0003 */ sb $t7, 0x0003($a0) ## 00000003
/* 008BC 80B9555C 0C00BDF7 */ jal func_8002F7DC
/* 008C0 80B95560 24050878 */ addiu $a1, $zero, 0x0878 ## $a1 = 00000878
/* 008C4 80B95564 8FBF0014 */ lw $ra, 0x0014($sp)
/* 008C8 80B95568 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 008CC 80B9556C 03E00008 */ jr $ra
/* 008D0 80B95570 00000000 */ nop

View File

@ -1,59 +0,0 @@
.late_rodata
glabel D_80B958E0
.float 0.1
.text
glabel func_80B95574
/* 008D4 80B95574 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 008D8 80B95578 AFBF0024 */ sw $ra, 0x0024($sp)
/* 008DC 80B9557C AFB00020 */ sw $s0, 0x0020($sp)
/* 008E0 80B95580 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 008E4 80B95584 0C00BD68 */ jal Actor_HasNoParent
/* 008E8 80B95588 AFA5002C */ sw $a1, 0x002C($sp)
/* 008EC 80B9558C 10400025 */ beq $v0, $zero, .L80B95624
/* 008F0 80B95590 8FAE002C */ lw $t6, 0x002C($sp)
/* 008F4 80B95594 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
/* 008F8 80B95598 01EE7821 */ addu $t7, $t7, $t6
/* 008FC 80B9559C 81EF1CBC */ lb $t7, 0x1CBC($t7) ## 00011CBC
/* 00900 80B955A0 C6000068 */ lwc1 $f0, 0x0068($s0) ## 00000068
/* 00904 80B955A4 3C0180B9 */ lui $at, %hi(D_80B958E0) ## $at = 80B90000
/* 00908 80B955A8 A20F0003 */ sb $t7, 0x0003($s0) ## 00000003
/* 0090C 80B955AC C42458E0 */ lwc1 $f4, %lo(D_80B958E0)($at)
/* 00910 80B955B0 46000005 */ abs.s $f0, $f0
/* 00914 80B955B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00918 80B955B8 4604003C */ c.lt.s $f0, $f4
/* 0091C 80B955BC 00000000 */ nop
/* 00920 80B955C0 45000009 */ bc1f .L80B955E8
/* 00924 80B955C4 00000000 */ nop
/* 00928 80B955C8 0C00BE0A */ jal Audio_PlayActorSound2
/* 0092C 80B955CC 240528AB */ addiu $a1, $zero, 0x28AB ## $a1 = 000028AB
/* 00930 80B955D0 0C2E54CD */ jal func_80B95334
/* 00934 80B955D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00938 80B955D8 92180162 */ lbu $t8, 0x0162($s0) ## 00000162
/* 0093C 80B955DC 3319FFF7 */ andi $t9, $t8, 0xFFF7 ## $t9 = 00000000
/* 00940 80B955E0 10000007 */ beq $zero, $zero, .L80B95600
/* 00944 80B955E4 A2190162 */ sb $t9, 0x0162($s0) ## 00000162
.L80B955E8:
/* 00948 80B955E8 0C2E558E */ jal func_80B95638
/* 0094C 80B955EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00950 80B955F0 0C2E5340 */ jal func_80B94D00
/* 00954 80B955F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00958 80B955F8 0C00B5FB */ jal func_8002D7EC
/* 0095C 80B955FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B95600:
/* 00960 80B95600 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00964 80B95604 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00968 80B95608 AFA80014 */ sw $t0, 0x0014($sp)
/* 0096C 80B9560C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00970 80B95610 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00974 80B95614 3C064198 */ lui $a2, 0x4198 ## $a2 = 41980000
/* 00978 80B95618 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 0097C 80B9561C 0C00B92D */ jal func_8002E4B4
/* 00980 80B95620 E7A60010 */ swc1 $f6, 0x0010($sp)
.L80B95624:
/* 00984 80B95624 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00988 80B95628 8FB00020 */ lw $s0, 0x0020($sp)
/* 0098C 80B9562C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00990 80B95630 03E00008 */ jr $ra
/* 00994 80B95634 00000000 */ nop

View File

@ -1,28 +0,0 @@
glabel func_80B95638
/* 00998 80B95638 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0099C 80B9563C AFBF0014 */ sw $ra, 0x0014($sp)
/* 009A0 80B95640 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 009A4 80B95644 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 009A8 80B95648 0C01DE1C */ jal Math_Sins
## sins?
/* 009AC 80B9564C AFA50018 */ sw $a1, 0x0018($sp)
/* 009B0 80B95650 8FA50018 */ lw $a1, 0x0018($sp)
/* 009B4 80B95654 C4A40068 */ lwc1 $f4, 0x0068($a1) ## 00000068
/* 009B8 80B95658 84A40032 */ lh $a0, 0x0032($a1) ## 00000032
/* 009BC 80B9565C 46040182 */ mul.s $f6, $f0, $f4
/* 009C0 80B95660 0C01DE0D */ jal Math_Coss
## coss?
/* 009C4 80B95664 E4A6005C */ swc1 $f6, 0x005C($a1) ## 0000005C
/* 009C8 80B95668 8FA50018 */ lw $a1, 0x0018($sp)
/* 009CC 80B9566C 3C0F80B9 */ lui $t7, %hi(func_80B9569C) ## $t7 = 80B90000
/* 009D0 80B95670 240E00F0 */ addiu $t6, $zero, 0x00F0 ## $t6 = 000000F0
/* 009D4 80B95674 C4A80068 */ lwc1 $f8, 0x0068($a1) ## 00000068
/* 009D8 80B95678 25EF569C */ addiu $t7, $t7, %lo(func_80B9569C) ## $t7 = 80B9569C
/* 009DC 80B9567C A0AE00AE */ sb $t6, 0x00AE($a1) ## 000000AE
/* 009E0 80B95680 46080282 */ mul.s $f10, $f0, $f8
/* 009E4 80B95684 ACAF014C */ sw $t7, 0x014C($a1) ## 0000014C
/* 009E8 80B95688 E4AA0064 */ swc1 $f10, 0x0064($a1) ## 00000064
/* 009EC 80B9568C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009F0 80B95690 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009F4 80B95694 03E00008 */ jr $ra
/* 009F8 80B95698 00000000 */ nop

View File

@ -1,90 +0,0 @@
glabel func_80B9569C
/* 009FC 80B9569C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00A00 80B956A0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A04 80B956A4 AFB10020 */ sw $s1, 0x0020($sp)
/* 00A08 80B956A8 AFB0001C */ sw $s0, 0x001C($sp)
/* 00A0C 80B956AC 94820088 */ lhu $v0, 0x0088($a0) ## 00000088
/* 00A10 80B956B0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00A14 80B956B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A18 80B956B8 304E000B */ andi $t6, $v0, 0x000B ## $t6 = 00000000
/* 00A1C 80B956BC 15C00006 */ bne $t6, $zero, .L80B956D8
/* 00A20 80B956C0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00A24 80B956C4 908F0160 */ lbu $t7, 0x0160($a0) ## 00000160
/* 00A28 80B956C8 30590040 */ andi $t9, $v0, 0x0040 ## $t9 = 00000000
/* 00A2C 80B956CC 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 00A30 80B956D0 1300000F */ beq $t8, $zero, .L80B95710
/* 00A34 80B956D4 00000000 */ nop
.L80B956D8:
/* 00A38 80B956D8 0C2E538E */ jal func_80B94E38
/* 00A3C 80B956DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A40 80B956E0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00A44 80B956E4 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00A48 80B956E8 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00A4C 80B956EC 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00A50 80B956F0 240728AA */ addiu $a3, $zero, 0x28AA ## $a3 = 000028AA
/* 00A54 80B956F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A58 80B956F8 0C2E5328 */ jal func_80B94CA0
/* 00A5C 80B956FC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00A60 80B95700 0C00B55C */ jal Actor_Kill
/* 00A64 80B95704 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A68 80B95708 1000002E */ beq $zero, $zero, .L80B957C4
/* 00A6C 80B9570C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B95710:
/* 00A70 80B95710 1320000F */ beq $t9, $zero, .L80B95750
/* 00A74 80B95714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A78 80B95718 0C2E542E */ jal func_80B950B8
/* 00A7C 80B9571C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00A80 80B95720 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00A84 80B95724 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00A88 80B95728 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00A8C 80B9572C 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00A90 80B95730 240728AA */ addiu $a3, $zero, 0x28AA ## $a3 = 000028AA
/* 00A94 80B95734 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A98 80B95738 0C2E5328 */ jal func_80B94CA0
/* 00A9C 80B9573C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00AA0 80B95740 0C00B55C */ jal Actor_Kill
/* 00AA4 80B95744 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AA8 80B95748 1000001E */ beq $zero, $zero, .L80B957C4
/* 00AAC 80B9574C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B95750:
/* 00AB0 80B95750 0C2E5340 */ jal func_80B94D00
/* 00AB4 80B95754 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AB8 80B95758 0C00B5FB */ jal func_8002D7EC
/* 00ABC 80B9575C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AC0 80B95760 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00AC4 80B95764 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00AC8 80B95768 AFA80014 */ sw $t0, 0x0014($sp)
/* 00ACC 80B9576C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00AD0 80B95770 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00AD4 80B95774 3C064198 */ lui $a2, 0x4198 ## $a2 = 41980000
/* 00AD8 80B95778 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 00ADC 80B9577C 0C00B92D */ jal func_8002E4B4
/* 00AE0 80B95780 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00AE4 80B95784 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
/* 00AE8 80B95788 AFA5002C */ sw $a1, 0x002C($sp)
/* 00AEC 80B9578C 0C0189B7 */ jal Collider_CylinderUpdate
/* 00AF0 80B95790 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AF4 80B95794 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00AF8 80B95798 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00AFC 80B9579C 02218021 */ addu $s0, $s1, $at
/* 00B00 80B957A0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00B04 80B957A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00B08 80B957A8 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 00B0C 80B957AC 8FA6002C */ lw $a2, 0x002C($sp)
/* 00B10 80B957B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00B14 80B957B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00B18 80B957B8 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 00B1C 80B957BC 8FA6002C */ lw $a2, 0x002C($sp)
/* 00B20 80B957C0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B957C4:
/* 00B24 80B957C4 8FB0001C */ lw $s0, 0x001C($sp)
/* 00B28 80B957C8 8FB10020 */ lw $s1, 0x0020($sp)
/* 00B2C 80B957CC 03E00008 */ jr $ra
/* 00B30 80B957D0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,24 +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 Obj_Kibako_InitVars
.word 0x01100600, 0x04000010, 0x00030000, 0x0000019C
.word ObjKibako_Init
.word ObjKibako_Destroy
.word ObjKibako_Update
.word ObjKibako_Draw
glabel D_80B95850
.word 0x0A090939, 0x20010000, 0x00000000, 0x00000002, 0x00010000, 0x4FC00748, 0x00000000, 0x01010100, 0x000C001B, 0x00000000, 0x00000000
glabel D_80B9587C
.word 0x0000000C, 0x003CFE00
glabel D_80B95884
.word 0xC8500064, 0xB0F403E8, 0xB0F8003C, 0x30FC03E8, 0x00000000, 0x00000000, 0x00000000

1
spec
View File

@ -3495,7 +3495,6 @@ endseg
beginseg
name "ovl_Obj_Kibako"
include "build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o"
include "build/data/overlays/actors/z_obj_kibako.data.o"
include "build/data/overlays/actors/z_obj_kibako.reloc.o"
endseg

View File

@ -1,10 +1,11 @@
/*
* File: z_obj_kibako.c
* Overlay: ovl_Obj_Kibako
* Description: Small, Liftable Crate
* Description: Small wooden box
*/
#include "z_obj_kibako.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#define FLAGS 0x04000010
@ -15,7 +16,16 @@ void ObjKibako_Destroy(Actor* thisx, GlobalContext* globalCtx);
void ObjKibako_Update(Actor* thisx, GlobalContext* globalCtx);
void ObjKibako_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void ObjKibako_SetupIdle(ObjKibako* this);
void ObjKibako_Idle(ObjKibako* this, GlobalContext* globalCtx);
void ObjKibako_SetupHeld(ObjKibako* this);
void ObjKibako_Held(ObjKibako* this, GlobalContext* globalCtx);
void ObjKibako_SetupThrown(ObjKibako* this);
void ObjKibako_Thrown(ObjKibako* this, GlobalContext* globalCtx);
extern Gfx D_05005290[];
extern Gfx D_05005380[];
const ActorInit Obj_Kibako_InitVars = {
ACTOR_OBJ_KIBAKO,
ACTORTYPE_PROP,
@ -27,33 +37,242 @@ const ActorInit Obj_Kibako_InitVars = {
(ActorFunc)ObjKibako_Update,
(ActorFunc)ObjKibako_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B94CA0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B94D00.s")
static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x09, 0x09, 0x39, 0x20, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000002, 0x00, 0x01 }, { 0x4FC00748, 0x00, 0x00 }, 0x01, 0x01, 0x01 },
{ 12, 27, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B94D34.s")
static CollisionCheckInfoInit sCCInfoInit = { 0, 0xC, 0x3C, 0xFE };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/ObjKibako_Init.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 60, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/ObjKibako_Destroy.s")
void ObjKibako_SpawnCollectible(ObjKibako* this, GlobalContext* globalCtx) {
s16 collectible;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B94E38.s")
collectible = this->actor.params & 0x1F;
if ((collectible >= 0) && (collectible <= 0x19)) {
Item_DropCollectible(globalCtx, &this->actor.posRot.pos,
collectible | (((this->actor.params >> 8) & 0x3F) << 8));
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B950B8.s")
void ObjKibako_ApplyGravity(ObjKibako* this) {
this->actor.velocity.y += this->actor.gravity;
if (this->actor.velocity.y < this->actor.minVelocityY) {
this->actor.velocity.y = this->actor.minVelocityY;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B95334.s")
void ObjKibako_InitCollider(Actor* thisx, GlobalContext* globalCtx) {
ObjKibako* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B9534C.s")
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
Collider_CylinderUpdate(&this->actor, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B95540.s")
void ObjKibako_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ObjKibako* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B95574.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.gravity = -1.2f;
this->actor.minVelocityY = -13.0f;
ObjKibako_InitCollider(&this->actor, globalCtx);
func_80061ED4(&this->actor.colChkInfo, NULL, &sCCInfoInit);
ObjKibako_SetupIdle(this);
// wooden box
osSyncPrintf("(dungeon keep 木箱)(arg_data 0x%04x)\n", this->actor.params);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B95638.s")
void ObjKibako_Destroy(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
ObjKibako* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/func_80B9569C.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/ObjKibako_Update.s")
void ObjKibako_AirBreak(ObjKibako* this, GlobalContext* globalCtx) {
s16 angle;
s32 i;
Vec3f* breakPos = &this->actor.posRot.pos;
Vec3f pos;
Vec3f velocity;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Kibako/ObjKibako_Draw.s")
for (i = 0, angle = 0; i < 12; i++, angle += 0x4E20) {
f32 sn = Math_Sins(angle);
f32 cs = Math_Coss(angle);
f32 temp_rand;
s16 phi_s0;
pos.x = sn * 16.0f;
pos.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f;
pos.z = cs * 16.0f;
velocity.x = pos.x * 0.2f;
velocity.y = (Math_Rand_ZeroOne() * 6.0f) + 2.0f;
velocity.z = pos.z * 0.2f;
pos.x += breakPos->x;
pos.y += breakPos->y;
pos.z += breakPos->z;
temp_rand = Math_Rand_ZeroOne();
if (temp_rand < 0.1f) {
phi_s0 = 0x60;
} else if (temp_rand < 0.7f) {
phi_s0 = 0x40;
} else {
phi_s0 = 0x20;
}
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, breakPos, -200, phi_s0, 10, 10, 0,
(Math_Rand_ZeroOne() * 30.0f) + 10.0f, 0, 32, 60, KAKERA_COLOR_NONE,
OBJECT_GAMEPLAY_DANGEON_KEEP, D_05005380);
}
func_80033480(globalCtx, &this->actor.posRot.pos, 40.0f, 3, 50, 140, 1);
}
void ObjKibako_WaterBreak(ObjKibako* this, GlobalContext* globalCtx) {
s16 angle;
s32 i;
Vec3f* breakPos = &this->actor.posRot.pos;
Vec3f pos;
Vec3f velocity;
pos = *breakPos;
pos.y += this->actor.waterY;
EffectSsGSplash_Spawn(globalCtx, &pos, NULL, NULL, 0, 500);
for (i = 0, angle = 0; i < 12; i++, angle += 0x4E20) {
f32 sn = Math_Sins(angle);
f32 cs = Math_Coss(angle);
f32 temp_rand;
s16 phi_s0;
pos.x = sn * 16.0f;
pos.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f;
pos.z = cs * 16.0f;
velocity.x = pos.x * 0.18f;
velocity.y = (Math_Rand_ZeroOne() * 4.0f) + 2.0f;
velocity.z = pos.z * 0.18f;
pos.x += breakPos->x;
pos.y += breakPos->y;
pos.z += breakPos->z;
temp_rand = Math_Rand_ZeroOne();
phi_s0 = (temp_rand < 0.2f) ? 0x40 : 0x20;
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, breakPos, -180, phi_s0, 30, 30, 0,
(Math_Rand_ZeroOne() * 30.0f) + 10.0f, 0, 32, 70, KAKERA_COLOR_NONE,
OBJECT_GAMEPLAY_DANGEON_KEEP, D_05005380);
}
}
void ObjKibako_SetupIdle(ObjKibako* this) {
this->actionFunc = ObjKibako_Idle;
this->actor.colChkInfo.mass = 0xFE;
}
void ObjKibako_Idle(ObjKibako* this, GlobalContext* globalCtx) {
if (Actor_HasParent(&this->actor, globalCtx)) {
ObjKibako_SetupHeld(this);
} else if ((this->actor.bgCheckFlags & 0x20) && (this->actor.waterY > 19.0f)) {
ObjKibako_WaterBreak(this, globalCtx);
Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 20, NA_SE_EV_WOODBOX_BREAK);
ObjKibako_SpawnCollectible(this, globalCtx);
Actor_Kill(&this->actor);
} else if (this->collider.base.acFlags & 2) {
ObjKibako_AirBreak(this, globalCtx);
Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 20, NA_SE_EV_WOODBOX_BREAK);
ObjKibako_SpawnCollectible(this, globalCtx);
Actor_Kill(&this->actor);
} else {
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 19.0f, 20.0f, 0.0f, 5);
if (!(this->collider.base.maskA & 8) && (this->actor.xzDistFromLink > 28.0f)) {
this->collider.base.maskA |= 8;
}
if (this->actor.xzDistFromLink < 600.0f) {
ColliderCylinder* collider = &this->collider;
Collider_CylinderUpdate(&this->actor, collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &collider->base);
if (this->actor.xzDistFromLink < 180.0f) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &collider->base);
}
}
if (this->actor.xzDistFromLink < 100.0f) {
func_8002F580(&this->actor, globalCtx);
}
}
}
void ObjKibako_SetupHeld(ObjKibako* this) {
this->actionFunc = ObjKibako_Held;
this->actor.room = -1;
func_8002F7DC(&this->actor, 0x878);
}
void ObjKibako_Held(ObjKibako* this, GlobalContext* globalCtx) {
if (Actor_HasNoParent(&this->actor, globalCtx)) {
this->actor.room = globalCtx->roomCtx.curRoom.num;
if (fabsf(this->actor.speedXZ) < 0.1f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_PUT_DOWN_WOODBOX);
ObjKibako_SetupIdle(this);
this->collider.base.maskA &= ~8;
} else {
ObjKibako_SetupThrown(this);
ObjKibako_ApplyGravity(this);
func_8002D7EC(&this->actor);
}
func_8002E4B4(globalCtx, &this->actor, 19.0f, 20.0f, 0.0f, 5);
}
}
void ObjKibako_SetupThrown(ObjKibako* this) {
this->actor.velocity.x = Math_Sins(this->actor.posRot.rot.y) * this->actor.speedXZ;
this->actor.velocity.z = Math_Coss(this->actor.posRot.rot.y) * this->actor.speedXZ;
this->actor.colChkInfo.mass = 240;
this->actionFunc = ObjKibako_Thrown;
}
void ObjKibako_Thrown(ObjKibako* this, GlobalContext* globalCtx) {
Actor* thisx = &this->actor;
if ((thisx->bgCheckFlags & 0xB) || (this->collider.base.atFlags & 2)) {
ObjKibako_AirBreak(this, globalCtx);
Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 20, NA_SE_EV_WOODBOX_BREAK);
ObjKibako_SpawnCollectible(this, globalCtx);
Actor_Kill(thisx);
} else if (this->actor.bgCheckFlags & 0x40) {
ObjKibako_WaterBreak(this, globalCtx);
Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 20, NA_SE_EV_WOODBOX_BREAK);
ObjKibako_SpawnCollectible(this, globalCtx);
Actor_Kill(thisx);
} else {
ColliderCylinder* collider = &this->collider;
ObjKibako_ApplyGravity(this);
func_8002D7EC(thisx);
func_8002E4B4(globalCtx, thisx, 19.0f, 20.0f, 0.0f, 5);
Collider_CylinderUpdate(thisx, collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &collider->base);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &collider->base);
}
}
void ObjKibako_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ObjKibako* this = THIS;
this->actionFunc(this, globalCtx);
}
void ObjKibako_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ObjKibako* this = THIS;
Gfx_DrawDListOpa(globalCtx, D_05005290);
}

View File

@ -6,9 +6,12 @@
struct ObjKibako;
typedef void (*ObjKibakoActionFunc)(struct ObjKibako*, GlobalContext*);
typedef struct ObjKibako {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x50];
/* 0x014C */ ObjKibakoActionFunc actionFunc;
/* 0x0150 */ ColliderCylinder collider;
} ObjKibako; // size = 0x019C
extern const ActorInit Obj_Kibako_InitVars;

View File

@ -1133,6 +1133,10 @@ D_0600FCF8 = 0x0600FCF8;
D_060105E0 = 0x060105E0;
D_06012160 = 0x06012160;
// z_obj_kibako
D_05005290 = 0x05005290;
D_05005380 = 0x05005380;
// z_en_bg_hidan_rsekizou
D_0600AD00 = 0x0600AD00;
D_0600D5C0 = 0x0600D5C0;