mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
Bg_Hidan_Kowarerukabe OK (#562)
* 10/12 functions decompiled and matched * 12/12 matched * file done * kowarerukabe OK * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com> * hopefully fixed build issue * OK now * Fix new math function names Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain> Co-authored-by: AdamKiddle <54328813+AdamKiddle@users.noreply.github.com>
This commit is contained in:
parent
c71b8183ae
commit
8f3dc3db94
17 changed files with 288 additions and 1074 deletions
|
@ -1,20 +0,0 @@
|
|||
glabel BgHidanKowarerukabe_Destroy
|
||||
/* 00228 8088A248 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0022C 8088A24C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00230 8088A250 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00234 8088A254 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00238 8088A258 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 0023C 8088A25C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00240 8088A260 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 00244 8088A264 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 00248 8088A268 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 0024C 8088A26C 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00250 8088A270 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00254 8088A274 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00258 8088A278 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 0025C 8088A27C 24A50164 */ addiu $a1, $a1, 0x0164 ## $a1 = 00000164
|
||||
/* 00260 8088A280 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00264 8088A284 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00268 8088A288 03E00008 */ jr $ra
|
||||
/* 0026C 8088A28C 00000000 */ nop
|
|
@ -1,76 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8088AF30
|
||||
.asciz "../z_bg_hidan_kowarerukabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088AF50
|
||||
.asciz "../z_bg_hidan_kowarerukabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088AF70
|
||||
.asciz "../z_bg_hidan_kowarerukabe.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgHidanKowarerukabe_Draw
|
||||
/* 00CDC 8088ACFC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00CE0 8088AD00 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00CE4 8088AD04 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00CE8 8088AD08 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00CEC 8088AD0C AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00CF0 8088AD10 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00CF4 8088AD14 3C068089 */ lui $a2, %hi(D_8088AF30) ## $a2 = 80890000
|
||||
/* 00CF8 8088AD18 24C6AF30 */ addiu $a2, $a2, %lo(D_8088AF30) ## $a2 = 8088AF30
|
||||
/* 00CFC 8088AD1C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 00D00 8088AD20 24070235 */ addiu $a3, $zero, 0x0235 ## $a3 = 00000235
|
||||
/* 00D04 8088AD24 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00D08 8088AD28 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00D0C 8088AD2C 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 00D10 8088AD30 0C024F46 */ jal func_80093D18
|
||||
/* 00D14 8088AD34 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00D18 8088AD38 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00D1C 8088AD3C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 00D20 8088AD40 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 00D24 8088AD44 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00D28 8088AD48 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 00D2C 8088AD4C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00D30 8088AD50 8FA8004C */ lw $t0, 0x004C($sp)
|
||||
/* 00D34 8088AD54 3C058089 */ lui $a1, %hi(D_8088AF50) ## $a1 = 80890000
|
||||
/* 00D38 8088AD58 24A5AF50 */ addiu $a1, $a1, %lo(D_8088AF50) ## $a1 = 8088AF50
|
||||
/* 00D3C 8088AD5C 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 00D40 8088AD60 24060238 */ addiu $a2, $zero, 0x0238 ## $a2 = 00000238
|
||||
/* 00D44 8088AD64 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00D48 8088AD68 AFA2002C */ sw $v0, 0x002C($sp)
|
||||
/* 00D4C 8088AD6C 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 00D50 8088AD70 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 00D54 8088AD74 3C0E8089 */ lui $t6, %hi(D_8088AE10) ## $t6 = 80890000
|
||||
/* 00D58 8088AD78 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00D5C 8088AD7C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00D60 8088AD80 8FA60048 */ lw $a2, 0x0048($sp)
|
||||
/* 00D64 8088AD84 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 00D68 8088AD88 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00D6C 8088AD8C AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00D70 8088AD90 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 00D74 8088AD94 84CB001C */ lh $t3, 0x001C($a2) ## 0000001C
|
||||
/* 00D78 8088AD98 24C50164 */ addiu $a1, $a2, 0x0164 ## $a1 = 00000164
|
||||
/* 00D7C 8088AD9C 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000000
|
||||
/* 00D80 8088ADA0 000C6880 */ sll $t5, $t4, 2
|
||||
/* 00D84 8088ADA4 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 00D88 8088ADA8 8DCEAE10 */ lw $t6, %lo(D_8088AE10)($t6)
|
||||
/* 00D8C 8088ADAC 0C018A29 */ jal func_800628A4
|
||||
/* 00D90 8088ADB0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
||||
/* 00D94 8088ADB4 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 00D98 8088ADB8 3C068089 */ lui $a2, %hi(D_8088AF70) ## $a2 = 80890000
|
||||
/* 00D9C 8088ADBC 24C6AF70 */ addiu $a2, $a2, %lo(D_8088AF70) ## $a2 = 8088AF70
|
||||
/* 00DA0 8088ADC0 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 00DA4 8088ADC4 2407023D */ addiu $a3, $zero, 0x023D ## $a3 = 0000023D
|
||||
/* 00DA8 8088ADC8 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00DAC 8088ADCC 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
|
||||
/* 00DB0 8088ADD0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00DB4 8088ADD4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00DB8 8088ADD8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00DBC 8088ADDC 03E00008 */ jr $ra
|
||||
/* 00DC0 8088ADE0 00000000 */ nop
|
||||
/* 00DC4 8088ADE4 00000000 */ nop
|
||||
/* 00DC8 8088ADE8 00000000 */ nop
|
||||
/* 00DCC 8088ADEC 00000000 */ nop
|
|
@ -1,78 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8088AE90
|
||||
.asciz "Error : 炎の神殿 壊れる壁 の arg_data が判別出来ない(%s %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088AEE0
|
||||
.asciz "../z_bg_hidan_kowarerukabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088AF00
|
||||
.asciz "(hidan 爆弾で壊れる 壁 床)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgHidanKowarerukabe_Init
|
||||
/* 00158 8088A178 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0015C 8088A17C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00160 8088A180 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00164 8088A184 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00168 8088A188 0C222808 */ jal func_8088A020
|
||||
/* 0016C 8088A18C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00170 8088A190 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 00174 8088A194 3C048089 */ lui $a0, %hi(D_8088AE90) ## $a0 = 80890000
|
||||
/* 00178 8088A198 2484AE90 */ addiu $a0, $a0, %lo(D_8088AE90) ## $a0 = 8088AE90
|
||||
/* 0017C 8088A19C 30E200FF */ andi $v0, $a3, 0x00FF ## $v0 = 00000000
|
||||
/* 00180 8088A1A0 04400003 */ bltz $v0, .L8088A1B0
|
||||
/* 00184 8088A1A4 28410003 */ slti $at, $v0, 0x0003
|
||||
/* 00188 8088A1A8 14200009 */ bne $at, $zero, .L8088A1D0
|
||||
/* 0018C 8088A1AC 00072A03 */ sra $a1, $a3, 8
|
||||
.L8088A1B0:
|
||||
/* 00190 8088A1B0 3C058089 */ lui $a1, %hi(D_8088AEE0) ## $a1 = 80890000
|
||||
/* 00194 8088A1B4 24A5AEE0 */ addiu $a1, $a1, %lo(D_8088AEE0) ## $a1 = 8088AEE0
|
||||
/* 00198 8088A1B8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0019C 8088A1BC 240600FE */ addiu $a2, $zero, 0x00FE ## $a2 = 000000FE
|
||||
/* 001A0 8088A1C0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 001A4 8088A1C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001A8 8088A1C8 1000001B */ beq $zero, $zero, .L8088A238
|
||||
/* 001AC 8088A1CC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088A1D0:
|
||||
/* 001B0 8088A1D0 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 001B4 8088A1D4 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 001B8 8088A1D8 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 001BC 8088A1DC 10400005 */ beq $v0, $zero, .L8088A1F4
|
||||
/* 001C0 8088A1E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001C4 8088A1E4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 001C8 8088A1E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001CC 8088A1EC 10000012 */ beq $zero, $zero, .L8088A238
|
||||
/* 001D0 8088A1F0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088A1F4:
|
||||
/* 001D4 8088A1F4 3C058089 */ lui $a1, %hi(D_8088AE78) ## $a1 = 80890000
|
||||
/* 001D8 8088A1F8 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 001DC 8088A1FC 24A5AE78 */ addiu $a1, $a1, %lo(D_8088AE78) ## $a1 = 8088AE78
|
||||
/* 001E0 8088A200 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
||||
/* 001E4 8088A204 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
||||
/* 001E8 8088A208 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 001EC 8088A20C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001F0 8088A210 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001F4 8088A214 0C22282E */ jal func_8088A0B8
|
||||
/* 001F8 8088A218 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 001FC 8088A21C 0C222854 */ jal func_8088A150
|
||||
/* 00200 8088A220 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00204 8088A224 3C048089 */ lui $a0, %hi(D_8088AF00) ## $a0 = 80890000
|
||||
/* 00208 8088A228 2484AF00 */ addiu $a0, $a0, %lo(D_8088AF00) ## $a0 = 8088AF00
|
||||
/* 0020C 8088A22C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00210 8088A230 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00214 8088A234 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088A238:
|
||||
/* 00218 8088A238 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0021C 8088A23C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00220 8088A240 03E00008 */ jr $ra
|
||||
/* 00224 8088A244 00000000 */ nop
|
|
@ -1,62 +0,0 @@
|
|||
glabel BgHidanKowarerukabe_Update
|
||||
/* 00C0C 8088AC2C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00C10 8088AC30 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00C14 8088AC34 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00C18 8088AC38 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00C1C 8088AC3C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00C20 8088AC40 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00C24 8088AC44 26260164 */ addiu $a2, $s1, 0x0164 ## $a2 = 00000164
|
||||
/* 00C28 8088AC48 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00C2C 8088AC4C 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000164
|
||||
/* 00C30 8088AC50 0C00CD90 */ jal Actor_GetCollidedExplosive
|
||||
/* 00C34 8088AC54 AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 00C38 8088AC58 1040001E */ beq $v0, $zero, .L8088ACD4
|
||||
/* 00C3C 8088AC5C 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 00C40 8088AC60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C44 8088AC64 0C222AE8 */ jal func_8088ABA0
|
||||
/* 00C48 8088AC68 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00C4C 8088AC6C 8625001C */ lh $a1, 0x001C($s1) ## 0000001C
|
||||
/* 00C50 8088AC70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C54 8088AC74 00052A03 */ sra $a1, $a1, 8
|
||||
/* 00C58 8088AC78 0C00B2DD */ jal Flags_SetSwitch
|
||||
|
||||
/* 00C5C 8088AC7C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00C60 8088AC80 862E001C */ lh $t6, 0x001C($s1) ## 0000001C
|
||||
/* 00C64 8088AC84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C68 8088AC88 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
|
||||
/* 00C6C 8088AC8C 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
|
||||
/* 00C70 8088AC90 15E00008 */ bne $t7, $zero, .L8088ACB4
|
||||
/* 00C74 8088AC94 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00C78 8088AC98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C7C 8088AC9C 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
|
||||
/* 00C80 8088ACA0 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00C84 8088ACA4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00C88 8088ACA8 24072802 */ addiu $a3, $zero, 0x2802 ## $a3 = 00002802
|
||||
/* 00C8C 8088ACAC 10000003 */ beq $zero, $zero, .L8088ACBC
|
||||
/* 00C90 8088ACB0 00000000 */ nop
|
||||
.L8088ACB4:
|
||||
/* 00C94 8088ACB4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00C98 8088ACB8 24072810 */ addiu $a3, $zero, 0x2810 ## $a3 = 00002810
|
||||
.L8088ACBC:
|
||||
/* 00C9C 8088ACBC 0C01E221 */ jal func_80078884
|
||||
/* 00CA0 8088ACC0 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00CA4 8088ACC4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00CA8 8088ACC8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00CAC 8088ACCC 10000007 */ beq $zero, $zero, .L8088ACEC
|
||||
/* 00CB0 8088ACD0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088ACD4:
|
||||
/* 00CB4 8088ACD4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00CB8 8088ACD8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00CBC 8088ACDC 02012821 */ addu $a1, $s0, $at
|
||||
/* 00CC0 8088ACE0 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00CC4 8088ACE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CC8 8088ACE8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088ACEC:
|
||||
/* 00CCC 8088ACEC 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00CD0 8088ACF0 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00CD4 8088ACF4 03E00008 */ jr $ra
|
||||
/* 00CD8 8088ACF8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
@ -1,43 +0,0 @@
|
|||
glabel func_8088A020
|
||||
/* 00000 8088A020 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 8088A024 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00008 8088A028 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0000C 8088A02C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00010 8088A030 AFA00028 */ sw $zero, 0x0028($sp)
|
||||
/* 00014 8088A034 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00018 8088A038 3C198089 */ lui $t9, %hi(D_8088AE50) ## $t9 = 80890000
|
||||
/* 0001C 8088A03C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 8088A040 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
|
||||
/* 00024 8088A044 000FC080 */ sll $t8, $t7, 2
|
||||
/* 00028 8088A048 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 0002C 8088A04C 8F39AE50 */ lw $t9, %lo(D_8088AE50)($t9)
|
||||
/* 00030 8088A050 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
|
||||
/* 00034 8088A054 53200013 */ beql $t9, $zero, .L8088A0A4
|
||||
/* 00038 8088A058 AE0B014C */ sw $t3, 0x014C($s0) ## 0000014C
|
||||
/* 0003C 8088A05C 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00040 8088A060 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00044 8088A064 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 00048 8088A068 3C048089 */ lui $a0, %hi(D_8088AE50) ## $a0 = 80890000
|
||||
/* 0004C 8088A06C 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF8
|
||||
/* 00050 8088A070 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000
|
||||
/* 00054 8088A074 00095080 */ sll $t2, $t1, 2
|
||||
/* 00058 8088A078 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0005C 8088A07C 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00060 8088A080 8C84AE50 */ lw $a0, %lo(D_8088AE50)($a0)
|
||||
/* 00064 8088A084 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00068 8088A088 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0006C 8088A08C 8FA70028 */ lw $a3, 0x0028($sp)
|
||||
/* 00070 8088A090 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00074 8088A094 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00078 8088A098 10000002 */ beq $zero, $zero, .L8088A0A4
|
||||
/* 0007C 8088A09C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00080 8088A0A0 AE0B014C */ sw $t3, 0x014C($s0) ## 0000014C
|
||||
.L8088A0A4:
|
||||
/* 00084 8088A0A4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00088 8088A0A8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0008C 8088A0AC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00090 8088A0B0 03E00008 */ jr $ra
|
||||
/* 00094 8088A0B4 00000000 */ nop
|
|
@ -1,39 +0,0 @@
|
|||
glabel func_8088A0B8
|
||||
/* 00098 8088A0B8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0009C 8088A0BC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 000A0 8088A0C0 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 000A4 8088A0C4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 000A8 8088A0C8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 000AC 8088A0CC 24C50164 */ addiu $a1, $a2, 0x0164 ## $a1 = 00000164
|
||||
/* 000B0 8088A0D0 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 000B4 8088A0D4 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 000B8 8088A0D8 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 000BC 8088A0DC 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 000C0 8088A0E0 3C078089 */ lui $a3, %hi(D_8088AE40) ## $a3 = 80890000
|
||||
/* 000C4 8088A0E4 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 000C8 8088A0E8 24CE0184 */ addiu $t6, $a2, 0x0184 ## $t6 = 00000184
|
||||
/* 000CC 8088A0EC AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 000D0 8088A0F0 24E7AE40 */ addiu $a3, $a3, %lo(D_8088AE40) ## $a3 = 8088AE40
|
||||
/* 000D4 8088A0F4 0C017014 */ jal Collider_SetJntSph
|
||||
/* 000D8 8088A0F8 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 000DC 8088A0FC 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 000E0 8088A100 3C088089 */ lui $t0, %hi(D_8088AE5C) ## $t0 = 80890000
|
||||
/* 000E4 8088A104 3C0D8089 */ lui $t5, %hi(D_8088AE64) ## $t5 = 80890000
|
||||
/* 000E8 8088A108 84CF001C */ lh $t7, 0x001C($a2) ## 0000001C
|
||||
/* 000EC 8088A10C 8CC90180 */ lw $t1, 0x0180($a2) ## 00000180
|
||||
/* 000F0 8088A110 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
|
||||
/* 000F4 8088A114 0018C840 */ sll $t9, $t8, 1
|
||||
/* 000F8 8088A118 01194021 */ addu $t0, $t0, $t9
|
||||
/* 000FC 8088A11C 8508AE5C */ lh $t0, %lo(D_8088AE5C)($t0)
|
||||
/* 00100 8088A120 A528002E */ sh $t0, 0x002E($t1) ## 0000002E
|
||||
/* 00104 8088A124 84CA001C */ lh $t2, 0x001C($a2) ## 0000001C
|
||||
/* 00108 8088A128 8CCE0180 */ lw $t6, 0x0180($a2) ## 00000180
|
||||
/* 0010C 8088A12C 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000
|
||||
/* 00110 8088A130 000B6040 */ sll $t4, $t3, 1
|
||||
/* 00114 8088A134 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 00118 8088A138 85ADAE64 */ lh $t5, %lo(D_8088AE64)($t5)
|
||||
/* 0011C 8088A13C A5CD002A */ sh $t5, 0x002A($t6) ## 0000002A
|
||||
/* 00120 8088A140 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00124 8088A144 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00128 8088A148 03E00008 */ jr $ra
|
||||
/* 0012C 8088A14C 00000000 */ nop
|
|
@ -1,11 +0,0 @@
|
|||
glabel func_8088A150
|
||||
/* 00130 8088A150 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00134 8088A154 3C018089 */ lui $at, %hi(D_8088AE6C) ## $at = 80890000
|
||||
/* 00138 8088A158 C486000C */ lwc1 $f6, 0x000C($a0) ## 0000000C
|
||||
/* 0013C 8088A15C 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
|
||||
/* 00140 8088A160 000FC080 */ sll $t8, $t7, 2
|
||||
/* 00144 8088A164 00380821 */ addu $at, $at, $t8
|
||||
/* 00148 8088A168 C424AE6C */ lwc1 $f4, %lo(D_8088AE6C)($at)
|
||||
/* 0014C 8088A16C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00150 8088A170 03E00008 */ jr $ra
|
||||
/* 00154 8088A174 E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
|
|
@ -1,76 +0,0 @@
|
|||
glabel func_8088A290
|
||||
/* 00270 8088A290 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00274 8088A294 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00278 8088A298 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 0027C 8088A29C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00280 8088A2A0 8C980024 */ lw $t8, 0x0024($a0) ## 00000024
|
||||
/* 00284 8088A2A4 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0
|
||||
/* 00288 8088A2A8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0028C 8088A2AC ACB80000 */ sw $t8, 0x0000($a1) ## FFFFFFF0
|
||||
/* 00290 8088A2B0 8C8F0028 */ lw $t7, 0x0028($a0) ## 00000028
|
||||
/* 00294 8088A2B4 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 00298 8088A2B8 24190258 */ addiu $t9, $zero, 0x0258 ## $t9 = 00000258
|
||||
/* 0029C 8088A2BC ACAF0004 */ sw $t7, 0x0004($a1) ## FFFFFFF4
|
||||
/* 002A0 8088A2C0 8C98002C */ lw $t8, 0x002C($a0) ## 0000002C
|
||||
/* 002A4 8088A2C4 2408012C */ addiu $t0, $zero, 0x012C ## $t0 = 0000012C
|
||||
/* 002A8 8088A2C8 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 002AC 8088A2CC ACB80008 */ sw $t8, 0x0008($a1) ## FFFFFFF8
|
||||
/* 002B0 8088A2D0 C7A4002C */ lwc1 $f4, 0x002C($sp)
|
||||
/* 002B4 8088A2D4 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 002B8 8088A2D8 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 002BC 8088A2DC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 002C0 8088A2E0 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 002C4 8088A2E4 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 002C8 8088A2E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
|
||||
/* 002CC 8088A2EC E7A8002C */ swc1 $f8, 0x002C($sp)
|
||||
/* 002D0 8088A2F0 0C00CD20 */ jal func_80033480
|
||||
/* 002D4 8088A2F4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 002D8 8088A2F8 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 002DC 8088A2FC 00000000 */ nop
|
||||
/* 002E0 8088A300 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 002E4 8088A304 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
|
||||
/* 002E8 8088A308 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 002EC 8088A30C 44819000 */ mtc1 $at, $f18 ## $f18 = 80.00
|
||||
/* 002F0 8088A310 460A0401 */ sub.s $f16, $f0, $f10
|
||||
/* 002F4 8088A314 8FAA0038 */ lw $t2, 0x0038($sp)
|
||||
/* 002F8 8088A318 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 002FC 8088A31C C5460024 */ lwc1 $f6, 0x0024($t2) ## 00000024
|
||||
/* 00300 8088A320 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00304 8088A324 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00308 8088A328 E7A80028 */ swc1 $f8, 0x0028($sp)
|
||||
/* 0030C 8088A32C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00310 8088A330 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
|
||||
/* 00314 8088A334 8FAB0038 */ lw $t3, 0x0038($sp)
|
||||
/* 00318 8088A338 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 0031C 8088A33C C5720028 */ lwc1 $f18, 0x0028($t3) ## 00000028
|
||||
/* 00320 8088A340 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00324 8088A344 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00328 8088A348 E7A4002C */ swc1 $f4, 0x002C($sp)
|
||||
/* 0032C 8088A34C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00330 8088A350 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 00334 8088A354 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00338 8088A358 44815000 */ mtc1 $at, $f10 ## $f10 = 80.00
|
||||
/* 0033C 8088A35C 46060201 */ sub.s $f8, $f0, $f6
|
||||
/* 00340 8088A360 8FAC0038 */ lw $t4, 0x0038($sp)
|
||||
/* 00344 8088A364 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
|
||||
/* 00348 8088A368 240E00FA */ addiu $t6, $zero, 0x00FA ## $t6 = 000000FA
|
||||
/* 0034C 8088A36C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00350 8088A370 C592002C */ lwc1 $f18, 0x002C($t4) ## 0000002C
|
||||
/* 00354 8088A374 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00358 8088A378 AFAF0018 */ sw $t7, 0x0018($sp)
|
||||
/* 0035C 8088A37C AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00360 8088A380 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 00364 8088A384 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00368 8088A388 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0036C 8088A38C 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0
|
||||
/* 00370 8088A390 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
|
||||
/* 00374 8088A394 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 00378 8088A398 0C00CD20 */ jal func_80033480
|
||||
/* 0037C 8088A39C E7A40030 */ swc1 $f4, 0x0030($sp)
|
||||
/* 00380 8088A3A0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00384 8088A3A4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00388 8088A3A8 03E00008 */ jr $ra
|
||||
/* 0038C 8088A3AC 00000000 */ nop
|
|
@ -1,197 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8088AF90
|
||||
.float 1.4
|
||||
|
||||
.text
|
||||
glabel func_8088A3B0
|
||||
/* 00390 8088A3B0 27BDFF08 */ addiu $sp, $sp, 0xFF08 ## $sp = FFFFFF08
|
||||
/* 00394 8088A3B4 AFB20080 */ sw $s2, 0x0080($sp)
|
||||
/* 00398 8088A3B8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 0039C 8088A3BC AFBF009C */ sw $ra, 0x009C($sp)
|
||||
/* 003A0 8088A3C0 AFBE0098 */ sw $s8, 0x0098($sp)
|
||||
/* 003A4 8088A3C4 AFB70094 */ sw $s7, 0x0094($sp)
|
||||
/* 003A8 8088A3C8 AFB60090 */ sw $s6, 0x0090($sp)
|
||||
/* 003AC 8088A3CC AFB5008C */ sw $s5, 0x008C($sp)
|
||||
/* 003B0 8088A3D0 AFB40088 */ sw $s4, 0x0088($sp)
|
||||
/* 003B4 8088A3D4 AFB30084 */ sw $s3, 0x0084($sp)
|
||||
/* 003B8 8088A3D8 AFB1007C */ sw $s1, 0x007C($sp)
|
||||
/* 003BC 8088A3DC AFB00078 */ sw $s0, 0x0078($sp)
|
||||
/* 003C0 8088A3E0 F7BE0070 */ sdc1 $f30, 0x0070($sp)
|
||||
/* 003C4 8088A3E4 F7BC0068 */ sdc1 $f28, 0x0068($sp)
|
||||
/* 003C8 8088A3E8 F7BA0060 */ sdc1 $f26, 0x0060($sp)
|
||||
/* 003CC 8088A3EC F7B80058 */ sdc1 $f24, 0x0058($sp)
|
||||
/* 003D0 8088A3F0 F7B60050 */ sdc1 $f22, 0x0050($sp)
|
||||
/* 003D4 8088A3F4 F7B40048 */ sdc1 $f20, 0x0048($sp)
|
||||
/* 003D8 8088A3F8 AFA500FC */ sw $a1, 0x00FC($sp)
|
||||
/* 003DC 8088A3FC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 003E0 8088A400 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
|
||||
/* 003E4 8088A404 46000606 */ mov.s $f24, $f0
|
||||
/* 003E8 8088A408 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 003EC 8088A40C 864400B6 */ lh $a0, 0x00B6($s2) ## 000000B6
|
||||
/* 003F0 8088A410 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 003F4 8088A414 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 003F8 8088A418 C6440028 */ lwc1 $f4, 0x0028($s2) ## 00000028
|
||||
/* 003FC 8088A41C 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 00400 8088A420 4481F000 */ mtc1 $at, $f30 ## $f30 = 11.00
|
||||
/* 00404 8088A424 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00408 8088A428 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 0040C 8088A42C 2402FFD0 */ addiu $v0, $zero, 0xFFD0 ## $v0 = FFFFFFD0
|
||||
/* 00410 8088A430 264E0024 */ addiu $t6, $s2, 0x0024 ## $t6 = 00000024
|
||||
/* 00414 8088A434 3C1E0500 */ lui $s8, %hi(D_05000530) ## $s8 = 05000000
|
||||
/* 00418 8088A438 4481E000 */ mtc1 $at, $f28 ## $f28 = 8.00
|
||||
/* 0041C 8088A43C 46000686 */ mov.s $f26, $f0
|
||||
/* 00420 8088A440 E7A800DC */ swc1 $f8, 0x00DC($sp)
|
||||
/* 00424 8088A444 27DE0530 */ addiu $s8, $s8, %lo(D_05000530) ## $s8 = 05000530
|
||||
/* 00428 8088A448 AFAE00A4 */ sw $t6, 0x00A4($sp)
|
||||
/* 0042C 8088A44C AFA200B8 */ sw $v0, 0x00B8($sp)
|
||||
/* 00430 8088A450 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
|
||||
/* 00434 8088A454 27B700E4 */ addiu $s7, $sp, 0x00E4 ## $s7 = FFFFFFEC
|
||||
/* 00438 8088A458 27B600D8 */ addiu $s6, $sp, 0x00D8 ## $s6 = FFFFFFE0
|
||||
/* 0043C 8088A45C 24150005 */ addiu $s5, $zero, 0x0005 ## $s5 = 00000005
|
||||
/* 00440 8088A460 24140004 */ addiu $s4, $zero, 0x0004 ## $s4 = 00000004
|
||||
.L8088A464:
|
||||
/* 00444 8088A464 8FA200B8 */ lw $v0, 0x00B8($sp)
|
||||
/* 00448 8088A468 266FFFFE */ addiu $t7, $s3, 0xFFFE ## $t7 = FFFFFFFE
|
||||
/* 0044C 8088A46C 448F3000 */ mtc1 $t7, $f6 ## $f6 = NaN
|
||||
/* 00450 8088A470 44825000 */ mtc1 $v0, $f10 ## $f10 = NaN
|
||||
/* 00454 8088A474 44829000 */ mtc1 $v0, $f18 ## $f18 = NaN
|
||||
/* 00458 8088A478 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0045C 8088A47C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00460 8088A480 2411FFD0 */ addiu $s1, $zero, 0xFFD0 ## $s1 = FFFFFFD0
|
||||
/* 00464 8088A484 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00468 8088A488 E7A800A8 */ swc1 $f8, 0x00A8($sp)
|
||||
/* 0046C 8088A48C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00470 8088A490 461A8082 */ mul.s $f2, $f16, $f26
|
||||
/* 00474 8088A494 00000000 */ nop
|
||||
/* 00478 8088A498 46182302 */ mul.s $f12, $f4, $f24
|
||||
/* 0047C 8088A49C E7A200B0 */ swc1 $f2, 0x00B0($sp)
|
||||
/* 00480 8088A4A0 E7AC00AC */ swc1 $f12, 0x00AC($sp)
|
||||
.L8088A4A4:
|
||||
/* 00484 8088A4A4 44915000 */ mtc1 $s1, $f10 ## $f10 = NaN
|
||||
/* 00488 8088A4A8 C7A200B0 */ lwc1 $f2, 0x00B0($sp)
|
||||
/* 0048C 8088A4AC C6440024 */ lwc1 $f4, 0x0024($s2) ## 00000024
|
||||
/* 00490 8088A4B0 46805020 */ cvt.s.w $f0, $f10
|
||||
/* 00494 8088A4B4 C7AC00AC */ lwc1 $f12, 0x00AC($sp)
|
||||
/* 00498 8088A4B8 46180402 */ mul.s $f16, $f0, $f24
|
||||
/* 0049C 8088A4BC 46028480 */ add.s $f18, $f16, $f2
|
||||
/* 004A0 8088A4C0 461A0202 */ mul.s $f8, $f0, $f26
|
||||
/* 004A4 8088A4C4 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 004A8 8088A4C8 460C4281 */ sub.s $f10, $f8, $f12
|
||||
/* 004AC 8088A4CC E7A600D8 */ swc1 $f6, 0x00D8($sp)
|
||||
/* 004B0 8088A4D0 C650002C */ lwc1 $f16, 0x002C($s2) ## 0000002C
|
||||
/* 004B4 8088A4D4 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 004B8 8088A4D8 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 004BC 8088A4DC E7B200E0 */ swc1 $f18, 0x00E0($sp)
|
||||
/* 004C0 8088A4E0 461C0102 */ mul.s $f4, $f0, $f28
|
||||
/* 004C4 8088A4E4 C7A600A8 */ lwc1 $f6, 0x00A8($sp)
|
||||
/* 004C8 8088A4E8 46062502 */ mul.s $f20, $f4, $f6
|
||||
/* 004CC 8088A4EC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 004D0 8088A4F0 00000000 */ nop
|
||||
/* 004D4 8088A4F4 2618FFFE */ addiu $t8, $s0, 0xFFFE ## $t8 = FFFFFFFE
|
||||
/* 004D8 8088A4F8 44985000 */ mtc1 $t8, $f10 ## $f10 = NaN
|
||||
/* 004DC 8088A4FC 461C0202 */ mul.s $f8, $f0, $f28
|
||||
/* 004E0 8088A500 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 004E4 8088A504 46104582 */ mul.s $f22, $f8, $f16
|
||||
/* 004E8 8088A508 00000000 */ nop
|
||||
/* 004EC 8088A50C 4618B482 */ mul.s $f18, $f22, $f24
|
||||
/* 004F0 8088A510 00000000 */ nop
|
||||
/* 004F4 8088A514 461AA102 */ mul.s $f4, $f20, $f26
|
||||
/* 004F8 8088A518 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 004FC 8088A51C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00500 8088A520 E7A600E4 */ swc1 $f6, 0x00E4($sp)
|
||||
/* 00504 8088A524 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00508 8088A528 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
|
||||
/* 0050C 8088A52C 00000000 */ nop
|
||||
/* 00510 8088A530 460A0202 */ mul.s $f8, $f0, $f10
|
||||
/* 00514 8088A534 00000000 */ nop
|
||||
/* 00518 8088A538 461AB402 */ mul.s $f16, $f22, $f26
|
||||
/* 0051C 8088A53C 00000000 */ nop
|
||||
/* 00520 8088A540 4618A482 */ mul.s $f18, $f20, $f24
|
||||
/* 00524 8088A544 E7A800E8 */ swc1 $f8, 0x00E8($sp)
|
||||
/* 00528 8088A548 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 0052C 8088A54C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00530 8088A550 E7A400EC */ swc1 $f4, 0x00EC($sp)
|
||||
/* 00534 8088A554 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00538 8088A558 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 0053C 8088A55C 3C018089 */ lui $at, %hi(D_8088AF90) ## $at = 80890000
|
||||
/* 00540 8088A560 C430AF90 */ lwc1 $f16, %lo(D_8088AF90)($at)
|
||||
/* 00544 8088A564 46060281 */ sub.s $f10, $f0, $f6
|
||||
/* 00548 8088A568 8FA400FC */ lw $a0, 0x00FC($sp)
|
||||
/* 0054C 8088A56C 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE0
|
||||
/* 00550 8088A570 02E03025 */ or $a2, $s7, $zero ## $a2 = FFFFFFEC
|
||||
/* 00554 8088A574 461E5202 */ mul.s $f8, $f10, $f30
|
||||
/* 00558 8088A578 8FA700A4 */ lw $a3, 0x00A4($sp)
|
||||
/* 0055C 8088A57C 2408FDDA */ addiu $t0, $zero, 0xFDDA ## $t0 = FFFFFDDA
|
||||
/* 00560 8088A580 2409000F */ addiu $t1, $zero, 0x000F ## $t1 = 0000000F
|
||||
/* 00564 8088A584 240A000F */ addiu $t2, $zero, 0x000F ## $t2 = 0000000F
|
||||
/* 00568 8088A588 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 0056C 8088A58C 240C0010 */ addiu $t4, $zero, 0x0010 ## $t4 = 00000010
|
||||
/* 00570 8088A590 46104482 */ mul.s $f18, $f8, $f16
|
||||
/* 00574 8088A594 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
|
||||
/* 00578 8088A598 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 0057C 8088A59C 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 00580 8088A5A0 461E9100 */ add.s $f4, $f18, $f30
|
||||
/* 00584 8088A5A4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00588 8088A5A8 44033000 */ mfc1 $v1, $f6
|
||||
/* 0058C 8088A5AC 00000000 */ nop
|
||||
/* 00590 8088A5B0 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00594 8088A5B4 12600003 */ beq $s3, $zero, .L8088A5C4
|
||||
/* 00598 8088A5B8 00031C03 */ sra $v1, $v1, 16
|
||||
/* 0059C 8088A5BC 56740008 */ bnel $s3, $s4, .L8088A5E0
|
||||
/* 005A0 8088A5C0 24020040 */ addiu $v0, $zero, 0x0040 ## $v0 = 00000040
|
||||
.L8088A5C4:
|
||||
/* 005A4 8088A5C4 12000003 */ beq $s0, $zero, .L8088A5D4
|
||||
/* 005A8 8088A5C8 00000000 */ nop
|
||||
/* 005AC 8088A5CC 56140004 */ bnel $s0, $s4, .L8088A5E0
|
||||
/* 005B0 8088A5D0 24020040 */ addiu $v0, $zero, 0x0040 ## $v0 = 00000040
|
||||
.L8088A5D4:
|
||||
/* 005B4 8088A5D4 10000002 */ beq $zero, $zero, .L8088A5E0
|
||||
/* 005B8 8088A5D8 24020041 */ addiu $v0, $zero, 0x0041 ## $v0 = 00000041
|
||||
/* 005BC 8088A5DC 24020040 */ addiu $v0, $zero, 0x0040 ## $v0 = 00000040
|
||||
.L8088A5E0:
|
||||
/* 005C0 8088A5E0 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 005C4 8088A5E4 AFA20014 */ sw $v0, 0x0014($sp)
|
||||
/* 005C8 8088A5E8 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 005CC 8088A5EC AFAA001C */ sw $t2, 0x001C($sp)
|
||||
/* 005D0 8088A5F0 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 005D4 8088A5F4 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 005D8 8088A5F8 AFAB0028 */ sw $t3, 0x0028($sp)
|
||||
/* 005DC 8088A5FC AFAC002C */ sw $t4, 0x002C($sp)
|
||||
/* 005E0 8088A600 AFAD0030 */ sw $t5, 0x0030($sp)
|
||||
/* 005E4 8088A604 AFAE0034 */ sw $t6, 0x0034($sp)
|
||||
/* 005E8 8088A608 AFAF0038 */ sw $t7, 0x0038($sp)
|
||||
/* 005EC 8088A60C 0C00A7A3 */ jal EffectSsKakera_Spawn
|
||||
|
||||
/* 005F0 8088A610 AFBE003C */ sw $s8, 0x003C($sp)
|
||||
/* 005F4 8088A614 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 005F8 8088A618 1615FFA2 */ bne $s0, $s5, .L8088A4A4
|
||||
/* 005FC 8088A61C 26310018 */ addiu $s1, $s1, 0x0018 ## $s1 = FFFFFFE8
|
||||
/* 00600 8088A620 8FB800B8 */ lw $t8, 0x00B8($sp)
|
||||
/* 00604 8088A624 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
|
||||
/* 00608 8088A628 27190018 */ addiu $t9, $t8, 0x0018 ## $t9 = 00000018
|
||||
/* 0060C 8088A62C 1675FF8D */ bne $s3, $s5, .L8088A464
|
||||
/* 00610 8088A630 AFB900B8 */ sw $t9, 0x00B8($sp)
|
||||
/* 00614 8088A634 8FBF009C */ lw $ra, 0x009C($sp)
|
||||
/* 00618 8088A638 D7B40048 */ ldc1 $f20, 0x0048($sp)
|
||||
/* 0061C 8088A63C D7B60050 */ ldc1 $f22, 0x0050($sp)
|
||||
/* 00620 8088A640 D7B80058 */ ldc1 $f24, 0x0058($sp)
|
||||
/* 00624 8088A644 D7BA0060 */ ldc1 $f26, 0x0060($sp)
|
||||
/* 00628 8088A648 D7BC0068 */ ldc1 $f28, 0x0068($sp)
|
||||
/* 0062C 8088A64C D7BE0070 */ ldc1 $f30, 0x0070($sp)
|
||||
/* 00630 8088A650 8FB00078 */ lw $s0, 0x0078($sp)
|
||||
/* 00634 8088A654 8FB1007C */ lw $s1, 0x007C($sp)
|
||||
/* 00638 8088A658 8FB20080 */ lw $s2, 0x0080($sp)
|
||||
/* 0063C 8088A65C 8FB30084 */ lw $s3, 0x0084($sp)
|
||||
/* 00640 8088A660 8FB40088 */ lw $s4, 0x0088($sp)
|
||||
/* 00644 8088A664 8FB5008C */ lw $s5, 0x008C($sp)
|
||||
/* 00648 8088A668 8FB60090 */ lw $s6, 0x0090($sp)
|
||||
/* 0064C 8088A66C 8FB70094 */ lw $s7, 0x0094($sp)
|
||||
/* 00650 8088A670 8FBE0098 */ lw $s8, 0x0098($sp)
|
||||
/* 00654 8088A674 03E00008 */ jr $ra
|
||||
/* 00658 8088A678 27BD00F8 */ addiu $sp, $sp, 0x00F8 ## $sp = 00000000
|
|
@ -1,184 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8088AF94
|
||||
.float 1.4
|
||||
|
||||
.text
|
||||
glabel func_8088A67C
|
||||
/* 0065C 8088A67C 27BDFF18 */ addiu $sp, $sp, 0xFF18 ## $sp = FFFFFF18
|
||||
/* 00660 8088A680 AFB40088 */ sw $s4, 0x0088($sp)
|
||||
/* 00664 8088A684 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
|
||||
/* 00668 8088A688 AFBF009C */ sw $ra, 0x009C($sp)
|
||||
/* 0066C 8088A68C AFBE0098 */ sw $s8, 0x0098($sp)
|
||||
/* 00670 8088A690 AFB70094 */ sw $s7, 0x0094($sp)
|
||||
/* 00674 8088A694 AFB60090 */ sw $s6, 0x0090($sp)
|
||||
/* 00678 8088A698 AFB5008C */ sw $s5, 0x008C($sp)
|
||||
/* 0067C 8088A69C AFB30084 */ sw $s3, 0x0084($sp)
|
||||
/* 00680 8088A6A0 AFB20080 */ sw $s2, 0x0080($sp)
|
||||
/* 00684 8088A6A4 AFB1007C */ sw $s1, 0x007C($sp)
|
||||
/* 00688 8088A6A8 AFB00078 */ sw $s0, 0x0078($sp)
|
||||
/* 0068C 8088A6AC F7BE0070 */ sdc1 $f30, 0x0070($sp)
|
||||
/* 00690 8088A6B0 F7BC0068 */ sdc1 $f28, 0x0068($sp)
|
||||
/* 00694 8088A6B4 F7BA0060 */ sdc1 $f26, 0x0060($sp)
|
||||
/* 00698 8088A6B8 F7B80058 */ sdc1 $f24, 0x0058($sp)
|
||||
/* 0069C 8088A6BC F7B60050 */ sdc1 $f22, 0x0050($sp)
|
||||
/* 006A0 8088A6C0 F7B40048 */ sdc1 $f20, 0x0048($sp)
|
||||
/* 006A4 8088A6C4 AFA500EC */ sw $a1, 0x00EC($sp)
|
||||
/* 006A8 8088A6C8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 006AC 8088A6CC 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
|
||||
/* 006B0 8088A6D0 46000606 */ mov.s $f24, $f0
|
||||
/* 006B4 8088A6D4 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 006B8 8088A6D8 868400B6 */ lh $a0, 0x00B6($s4) ## 000000B6
|
||||
/* 006BC 8088A6DC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 006C0 8088A6E0 4481F000 */ mtc1 $at, $f30 ## $f30 = 3.00
|
||||
/* 006C4 8088A6E4 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 006C8 8088A6E8 3C1E0500 */ lui $s8, %hi(D_05000530) ## $s8 = 05000000
|
||||
/* 006CC 8088A6EC 4481E000 */ mtc1 $at, $f28 ## $f28 = 11.00
|
||||
/* 006D0 8088A6F0 46000686 */ mov.s $f26, $f0
|
||||
/* 006D4 8088A6F4 27DE0530 */ addiu $s8, $s8, %lo(D_05000530) ## $s8 = 05000530
|
||||
/* 006D8 8088A6F8 26950024 */ addiu $s5, $s4, 0x0024 ## $s5 = 00000024
|
||||
/* 006DC 8088A6FC AFA000A8 */ sw $zero, 0x00A8($sp)
|
||||
/* 006E0 8088A700 27B700D4 */ addiu $s7, $sp, 0x00D4 ## $s7 = FFFFFFEC
|
||||
/* 006E4 8088A704 27B600C8 */ addiu $s6, $sp, 0x00C8 ## $s6 = FFFFFFE0
|
||||
.L8088A708:
|
||||
/* 006E8 8088A708 8FA200A8 */ lw $v0, 0x00A8($sp)
|
||||
/* 006EC 8088A70C C6880028 */ lwc1 $f8, 0x0028($s4) ## 00000028
|
||||
/* 006F0 8088A710 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 006F4 8088A714 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 006F8 8088A718 2412FFE0 */ addiu $s2, $zero, 0xFFE0 ## $s2 = FFFFFFE0
|
||||
/* 006FC 8088A71C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00700 8088A720 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00704 8088A724 E7AA00CC */ swc1 $f10, 0x00CC($sp)
|
||||
.L8088A728:
|
||||
/* 00708 8088A728 44928000 */ mtc1 $s2, $f16 ## $f16 = NaN
|
||||
/* 0070C 8088A72C C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024
|
||||
/* 00710 8088A730 46808020 */ cvt.s.w $f0, $f16
|
||||
/* 00714 8088A734 461A0482 */ mul.s $f18, $f0, $f26
|
||||
/* 00718 8088A738 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0071C 8088A73C 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 00720 8088A740 E7A600C8 */ swc1 $f6, 0x00C8($sp)
|
||||
/* 00724 8088A744 C688002C */ lwc1 $f8, 0x002C($s4) ## 0000002C
|
||||
/* 00728 8088A748 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 0072C 8088A74C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00730 8088A750 E7B000D0 */ swc1 $f16, 0x00D0($sp)
|
||||
/* 00734 8088A754 262EFFFE */ addiu $t6, $s1, 0xFFFE ## $t6 = FFFFFFFE
|
||||
/* 00738 8088A758 448E2000 */ mtc1 $t6, $f4 ## $f4 = NaN
|
||||
/* 0073C 8088A75C 461E0482 */ mul.s $f18, $f0, $f30
|
||||
/* 00740 8088A760 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00744 8088A764 46069502 */ mul.s $f20, $f18, $f6
|
||||
/* 00748 8088A768 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0074C 8088A76C 00000000 */ nop
|
||||
/* 00750 8088A770 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 00754 8088A774 44814000 */ mtc1 $at, $f8 ## $f8 = 6.00
|
||||
/* 00758 8088A778 00000000 */ nop
|
||||
/* 0075C 8088A77C 46080582 */ mul.s $f22, $f0, $f8
|
||||
/* 00760 8088A780 00000000 */ nop
|
||||
/* 00764 8088A784 4618B282 */ mul.s $f10, $f22, $f24
|
||||
/* 00768 8088A788 00000000 */ nop
|
||||
/* 0076C 8088A78C 461AA402 */ mul.s $f16, $f20, $f26
|
||||
/* 00770 8088A790 46105100 */ add.s $f4, $f10, $f16
|
||||
/* 00774 8088A794 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00778 8088A798 E7A400D4 */ swc1 $f4, 0x00D4($sp)
|
||||
/* 0077C 8088A79C 3C014190 */ lui $at, 0x4190 ## $at = 41900000
|
||||
/* 00780 8088A7A0 44819000 */ mtc1 $at, $f18 ## $f18 = 18.00
|
||||
/* 00784 8088A7A4 00000000 */ nop
|
||||
/* 00788 8088A7A8 46120182 */ mul.s $f6, $f0, $f18
|
||||
/* 0078C 8088A7AC 00000000 */ nop
|
||||
/* 00790 8088A7B0 461AB202 */ mul.s $f8, $f22, $f26
|
||||
/* 00794 8088A7B4 00000000 */ nop
|
||||
/* 00798 8088A7B8 4618A282 */ mul.s $f10, $f20, $f24
|
||||
/* 0079C 8088A7BC E7A600D8 */ swc1 $f6, 0x00D8($sp)
|
||||
/* 007A0 8088A7C0 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 007A4 8088A7C4 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 007A8 8088A7C8 E7B000DC */ swc1 $f16, 0x00DC($sp)
|
||||
/* 007AC 8088A7CC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 007B0 8088A7D0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 007B4 8088A7D4 3C018089 */ lui $at, %hi(D_8088AF94) ## $at = 80890000
|
||||
/* 007B8 8088A7D8 C428AF94 */ lwc1 $f8, %lo(D_8088AF94)($at)
|
||||
/* 007BC 8088A7DC 46040481 */ sub.s $f18, $f0, $f4
|
||||
/* 007C0 8088A7E0 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
|
||||
/* 007C4 8088A7E4 461C9182 */ mul.s $f6, $f18, $f28
|
||||
/* 007C8 8088A7E8 00000000 */ nop
|
||||
/* 007CC 8088A7EC 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 007D0 8088A7F0 461C5400 */ add.s $f16, $f10, $f28
|
||||
/* 007D4 8088A7F4 4600810D */ trunc.w.s $f4, $f16
|
||||
/* 007D8 8088A7F8 44022000 */ mfc1 $v0, $f4
|
||||
/* 007DC 8088A7FC 00000000 */ nop
|
||||
/* 007E0 8088A800 0002C400 */ sll $t8, $v0, 16
|
||||
/* 007E4 8088A804 0018CC03 */ sra $t9, $t8, 16
|
||||
/* 007E8 8088A808 2B21000F */ slti $at, $t9, 0x000F
|
||||
/* 007EC 8088A80C 00029C00 */ sll $s3, $v0, 16
|
||||
/* 007F0 8088A810 14200003 */ bne $at, $zero, .L8088A820
|
||||
/* 007F4 8088A814 00139C03 */ sra $s3, $s3, 16
|
||||
/* 007F8 8088A818 10000001 */ beq $zero, $zero, .L8088A820
|
||||
/* 007FC 8088A81C 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
|
||||
.L8088A820:
|
||||
/* 00800 8088A820 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00804 8088A824 00000000 */ nop
|
||||
/* 00808 8088A828 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 0080C 8088A82C 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
|
||||
/* 00810 8088A830 8FA400EC */ lw $a0, 0x00EC($sp)
|
||||
/* 00814 8088A834 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE0
|
||||
/* 00818 8088A838 4612003C */ c.lt.s $f0, $f18
|
||||
/* 0081C 8088A83C 02E03025 */ or $a2, $s7, $zero ## $a2 = FFFFFFEC
|
||||
/* 00820 8088A840 02A03825 */ or $a3, $s5, $zero ## $a3 = 00000024
|
||||
/* 00824 8088A844 2408FDE4 */ addiu $t0, $zero, 0xFDE4 ## $t0 = FFFFFDE4
|
||||
/* 00828 8088A848 45000004 */ bc1f .L8088A85C
|
||||
/* 0082C 8088A84C 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
|
||||
/* 00830 8088A850 36100001 */ ori $s0, $s0, 0x0001 ## $s0 = 00000021
|
||||
/* 00834 8088A854 00108400 */ sll $s0, $s0, 16
|
||||
/* 00838 8088A858 00108403 */ sra $s0, $s0, 16
|
||||
.L8088A85C:
|
||||
/* 0083C 8088A85C 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
|
||||
/* 00840 8088A860 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 00844 8088A864 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
|
||||
/* 00848 8088A868 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
|
||||
/* 0084C 8088A86C 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00850 8088A870 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 00854 8088A874 AFAF0038 */ sw $t7, 0x0038($sp)
|
||||
/* 00858 8088A878 AFAE0034 */ sw $t6, 0x0034($sp)
|
||||
/* 0085C 8088A87C AFAD0030 */ sw $t5, 0x0030($sp)
|
||||
/* 00860 8088A880 AFAC002C */ sw $t4, 0x002C($sp)
|
||||
/* 00864 8088A884 AFAB0028 */ sw $t3, 0x0028($sp)
|
||||
/* 00868 8088A888 AFAA001C */ sw $t2, 0x001C($sp)
|
||||
/* 0086C 8088A88C AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 00870 8088A890 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00874 8088A894 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 00878 8088A898 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 0087C 8088A89C AFB30024 */ sw $s3, 0x0024($sp)
|
||||
/* 00880 8088A8A0 0C00A7A3 */ jal EffectSsKakera_Spawn
|
||||
|
||||
/* 00884 8088A8A4 AFBE003C */ sw $s8, 0x003C($sp)
|
||||
/* 00888 8088A8A8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 0088C 8088A8AC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00890 8088A8B0 1621FF9D */ bne $s1, $at, .L8088A728
|
||||
/* 00894 8088A8B4 26520010 */ addiu $s2, $s2, 0x0010 ## $s2 = FFFFFFF0
|
||||
/* 00898 8088A8B8 8FB800A8 */ lw $t8, 0x00A8($sp)
|
||||
/* 0089C 8088A8BC 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064
|
||||
/* 008A0 8088A8C0 27190014 */ addiu $t9, $t8, 0x0014 ## $t9 = 00000014
|
||||
/* 008A4 8088A8C4 1721FF90 */ bne $t9, $at, .L8088A708
|
||||
/* 008A8 8088A8C8 AFB900A8 */ sw $t9, 0x00A8($sp)
|
||||
/* 008AC 8088A8CC 8FBF009C */ lw $ra, 0x009C($sp)
|
||||
/* 008B0 8088A8D0 D7B40048 */ ldc1 $f20, 0x0048($sp)
|
||||
/* 008B4 8088A8D4 D7B60050 */ ldc1 $f22, 0x0050($sp)
|
||||
/* 008B8 8088A8D8 D7B80058 */ ldc1 $f24, 0x0058($sp)
|
||||
/* 008BC 8088A8DC D7BA0060 */ ldc1 $f26, 0x0060($sp)
|
||||
/* 008C0 8088A8E0 D7BC0068 */ ldc1 $f28, 0x0068($sp)
|
||||
/* 008C4 8088A8E4 D7BE0070 */ ldc1 $f30, 0x0070($sp)
|
||||
/* 008C8 8088A8E8 8FB00078 */ lw $s0, 0x0078($sp)
|
||||
/* 008CC 8088A8EC 8FB1007C */ lw $s1, 0x007C($sp)
|
||||
/* 008D0 8088A8F0 8FB20080 */ lw $s2, 0x0080($sp)
|
||||
/* 008D4 8088A8F4 8FB30084 */ lw $s3, 0x0084($sp)
|
||||
/* 008D8 8088A8F8 8FB40088 */ lw $s4, 0x0088($sp)
|
||||
/* 008DC 8088A8FC 8FB5008C */ lw $s5, 0x008C($sp)
|
||||
/* 008E0 8088A900 8FB60090 */ lw $s6, 0x0090($sp)
|
||||
/* 008E4 8088A904 8FB70094 */ lw $s7, 0x0094($sp)
|
||||
/* 008E8 8088A908 8FBE0098 */ lw $s8, 0x0098($sp)
|
||||
/* 008EC 8088A90C 03E00008 */ jr $ra
|
||||
/* 008F0 8088A910 27BD00E8 */ addiu $sp, $sp, 0x00E8 ## $sp = 00000000
|
|
@ -1,181 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8088AF98
|
||||
.float 1.6
|
||||
|
||||
.text
|
||||
glabel func_8088A914
|
||||
/* 008F4 8088A914 27BDFF18 */ addiu $sp, $sp, 0xFF18 ## $sp = FFFFFF18
|
||||
/* 008F8 8088A918 AFB40088 */ sw $s4, 0x0088($sp)
|
||||
/* 008FC 8088A91C 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
|
||||
/* 00900 8088A920 AFBF009C */ sw $ra, 0x009C($sp)
|
||||
/* 00904 8088A924 AFBE0098 */ sw $s8, 0x0098($sp)
|
||||
/* 00908 8088A928 AFB70094 */ sw $s7, 0x0094($sp)
|
||||
/* 0090C 8088A92C AFB60090 */ sw $s6, 0x0090($sp)
|
||||
/* 00910 8088A930 AFB5008C */ sw $s5, 0x008C($sp)
|
||||
/* 00914 8088A934 AFB30084 */ sw $s3, 0x0084($sp)
|
||||
/* 00918 8088A938 AFB20080 */ sw $s2, 0x0080($sp)
|
||||
/* 0091C 8088A93C AFB1007C */ sw $s1, 0x007C($sp)
|
||||
/* 00920 8088A940 AFB00078 */ sw $s0, 0x0078($sp)
|
||||
/* 00924 8088A944 F7BE0070 */ sdc1 $f30, 0x0070($sp)
|
||||
/* 00928 8088A948 F7BC0068 */ sdc1 $f28, 0x0068($sp)
|
||||
/* 0092C 8088A94C F7BA0060 */ sdc1 $f26, 0x0060($sp)
|
||||
/* 00930 8088A950 F7B80058 */ sdc1 $f24, 0x0058($sp)
|
||||
/* 00934 8088A954 F7B60050 */ sdc1 $f22, 0x0050($sp)
|
||||
/* 00938 8088A958 F7B40048 */ sdc1 $f20, 0x0048($sp)
|
||||
/* 0093C 8088A95C AFA500EC */ sw $a1, 0x00EC($sp)
|
||||
/* 00940 8088A960 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00944 8088A964 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
|
||||
/* 00948 8088A968 46000606 */ mov.s $f24, $f0
|
||||
/* 0094C 8088A96C 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00950 8088A970 868400B6 */ lh $a0, 0x00B6($s4) ## 000000B6
|
||||
/* 00954 8088A974 3C014160 */ lui $at, 0x4160 ## $at = 41600000
|
||||
/* 00958 8088A978 4481F000 */ mtc1 $at, $f30 ## $f30 = 14.00
|
||||
/* 0095C 8088A97C 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 00960 8088A980 3C1E0500 */ lui $s8, %hi(D_05000530) ## $s8 = 05000000
|
||||
/* 00964 8088A984 4481E000 */ mtc1 $at, $f28 ## $f28 = 6.00
|
||||
/* 00968 8088A988 46000686 */ mov.s $f26, $f0
|
||||
/* 0096C 8088A98C 27DE0530 */ addiu $s8, $s8, %lo(D_05000530) ## $s8 = 05000530
|
||||
/* 00970 8088A990 26950024 */ addiu $s5, $s4, 0x0024 ## $s5 = 00000024
|
||||
/* 00974 8088A994 AFA000A8 */ sw $zero, 0x00A8($sp)
|
||||
/* 00978 8088A998 27B700D4 */ addiu $s7, $sp, 0x00D4 ## $s7 = FFFFFFEC
|
||||
/* 0097C 8088A99C 27B600C8 */ addiu $s6, $sp, 0x00C8 ## $s6 = FFFFFFE0
|
||||
.L8088A9A0:
|
||||
/* 00980 8088A9A0 8FA200A8 */ lw $v0, 0x00A8($sp)
|
||||
/* 00984 8088A9A4 C6880028 */ lwc1 $f8, 0x0028($s4) ## 00000028
|
||||
/* 00988 8088A9A8 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 0098C 8088A9AC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00990 8088A9B0 2412FFC8 */ addiu $s2, $zero, 0xFFC8 ## $s2 = FFFFFFC8
|
||||
/* 00994 8088A9B4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00998 8088A9B8 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0099C 8088A9BC E7AA00CC */ swc1 $f10, 0x00CC($sp)
|
||||
.L8088A9C0:
|
||||
/* 009A0 8088A9C0 44928000 */ mtc1 $s2, $f16 ## $f16 = NaN
|
||||
/* 009A4 8088A9C4 C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024
|
||||
/* 009A8 8088A9C8 46808020 */ cvt.s.w $f0, $f16
|
||||
/* 009AC 8088A9CC 461A0482 */ mul.s $f18, $f0, $f26
|
||||
/* 009B0 8088A9D0 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 009B4 8088A9D4 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 009B8 8088A9D8 E7A600C8 */ swc1 $f6, 0x00C8($sp)
|
||||
/* 009BC 8088A9DC C688002C */ lwc1 $f8, 0x002C($s4) ## 0000002C
|
||||
/* 009C0 8088A9E0 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 009C4 8088A9E4 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 009C8 8088A9E8 E7B000D0 */ swc1 $f16, 0x00D0($sp)
|
||||
/* 009CC 8088A9EC 262EFFFE */ addiu $t6, $s1, 0xFFFE ## $t6 = FFFFFFFE
|
||||
/* 009D0 8088A9F0 448E2000 */ mtc1 $t6, $f4 ## $f4 = NaN
|
||||
/* 009D4 8088A9F4 461C0482 */ mul.s $f18, $f0, $f28
|
||||
/* 009D8 8088A9F8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 009DC 8088A9FC 46069502 */ mul.s $f20, $f18, $f6
|
||||
/* 009E0 8088AA00 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 009E4 8088AA04 00000000 */ nop
|
||||
/* 009E8 8088AA08 461C0582 */ mul.s $f22, $f0, $f28
|
||||
/* 009EC 8088AA0C 00000000 */ nop
|
||||
/* 009F0 8088AA10 4618B202 */ mul.s $f8, $f22, $f24
|
||||
/* 009F4 8088AA14 00000000 */ nop
|
||||
/* 009F8 8088AA18 461AA282 */ mul.s $f10, $f20, $f26
|
||||
/* 009FC 8088AA1C 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00A00 8088AA20 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A04 8088AA24 E7B000D4 */ swc1 $f16, 0x00D4($sp)
|
||||
/* 00A08 8088AA28 3C014208 */ lui $at, 0x4208 ## $at = 42080000
|
||||
/* 00A0C 8088AA2C 44812000 */ mtc1 $at, $f4 ## $f4 = 34.00
|
||||
/* 00A10 8088AA30 00000000 */ nop
|
||||
/* 00A14 8088AA34 46040482 */ mul.s $f18, $f0, $f4
|
||||
/* 00A18 8088AA38 00000000 */ nop
|
||||
/* 00A1C 8088AA3C 461AB182 */ mul.s $f6, $f22, $f26
|
||||
/* 00A20 8088AA40 00000000 */ nop
|
||||
/* 00A24 8088AA44 4618A202 */ mul.s $f8, $f20, $f24
|
||||
/* 00A28 8088AA48 E7B200D8 */ swc1 $f18, 0x00D8($sp)
|
||||
/* 00A2C 8088AA4C 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 00A30 8088AA50 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A34 8088AA54 E7AA00DC */ swc1 $f10, 0x00DC($sp)
|
||||
/* 00A38 8088AA58 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00A3C 8088AA5C 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
|
||||
/* 00A40 8088AA60 3C018089 */ lui $at, %hi(D_8088AF98) ## $at = 80890000
|
||||
/* 00A44 8088AA64 C426AF98 */ lwc1 $f6, %lo(D_8088AF98)($at)
|
||||
/* 00A48 8088AA68 46100101 */ sub.s $f4, $f0, $f16
|
||||
/* 00A4C 8088AA6C 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
|
||||
/* 00A50 8088AA70 461E2482 */ mul.s $f18, $f4, $f30
|
||||
/* 00A54 8088AA74 00000000 */ nop
|
||||
/* 00A58 8088AA78 46069202 */ mul.s $f8, $f18, $f6
|
||||
/* 00A5C 8088AA7C 461E4280 */ add.s $f10, $f8, $f30
|
||||
/* 00A60 8088AA80 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00A64 8088AA84 44028000 */ mfc1 $v0, $f16
|
||||
/* 00A68 8088AA88 00000000 */ nop
|
||||
/* 00A6C 8088AA8C 0002C400 */ sll $t8, $v0, 16
|
||||
/* 00A70 8088AA90 0018CC03 */ sra $t9, $t8, 16
|
||||
/* 00A74 8088AA94 2B210015 */ slti $at, $t9, 0x0015
|
||||
/* 00A78 8088AA98 00029C00 */ sll $s3, $v0, 16
|
||||
/* 00A7C 8088AA9C 14200003 */ bne $at, $zero, .L8088AAAC
|
||||
/* 00A80 8088AAA0 00139C03 */ sra $s3, $s3, 16
|
||||
/* 00A84 8088AAA4 10000001 */ beq $zero, $zero, .L8088AAAC
|
||||
/* 00A88 8088AAA8 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
|
||||
.L8088AAAC:
|
||||
/* 00A8C 8088AAAC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A90 8088AAB0 00000000 */ nop
|
||||
/* 00A94 8088AAB4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00A98 8088AAB8 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
|
||||
/* 00A9C 8088AABC 8FA400EC */ lw $a0, 0x00EC($sp)
|
||||
/* 00AA0 8088AAC0 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE0
|
||||
/* 00AA4 8088AAC4 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00AA8 8088AAC8 02E03025 */ or $a2, $s7, $zero ## $a2 = FFFFFFEC
|
||||
/* 00AAC 8088AACC 02A03825 */ or $a3, $s5, $zero ## $a3 = 00000024
|
||||
/* 00AB0 8088AAD0 2408FD76 */ addiu $t0, $zero, 0xFD76 ## $t0 = FFFFFD76
|
||||
/* 00AB4 8088AAD4 45000004 */ bc1f .L8088AAE8
|
||||
/* 00AB8 8088AAD8 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
|
||||
/* 00ABC 8088AADC 36100001 */ ori $s0, $s0, 0x0001 ## $s0 = 00000021
|
||||
/* 00AC0 8088AAE0 00108400 */ sll $s0, $s0, 16
|
||||
/* 00AC4 8088AAE4 00108403 */ sra $s0, $s0, 16
|
||||
.L8088AAE8:
|
||||
/* 00AC8 8088AAE8 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
|
||||
/* 00ACC 8088AAEC 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 00AD0 8088AAF0 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
|
||||
/* 00AD4 8088AAF4 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
|
||||
/* 00AD8 8088AAF8 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00ADC 8088AAFC 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 00AE0 8088AB00 AFAF0038 */ sw $t7, 0x0038($sp)
|
||||
/* 00AE4 8088AB04 AFAE0034 */ sw $t6, 0x0034($sp)
|
||||
/* 00AE8 8088AB08 AFAD0030 */ sw $t5, 0x0030($sp)
|
||||
/* 00AEC 8088AB0C AFAC002C */ sw $t4, 0x002C($sp)
|
||||
/* 00AF0 8088AB10 AFAB0028 */ sw $t3, 0x0028($sp)
|
||||
/* 00AF4 8088AB14 AFAA001C */ sw $t2, 0x001C($sp)
|
||||
/* 00AF8 8088AB18 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 00AFC 8088AB1C AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00B00 8088AB20 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 00B04 8088AB24 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00B08 8088AB28 AFB30024 */ sw $s3, 0x0024($sp)
|
||||
/* 00B0C 8088AB2C 0C00A7A3 */ jal EffectSsKakera_Spawn
|
||||
|
||||
/* 00B10 8088AB30 AFBE003C */ sw $s8, 0x003C($sp)
|
||||
/* 00B14 8088AB34 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 00B18 8088AB38 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00B1C 8088AB3C 1621FFA0 */ bne $s1, $at, .L8088A9C0
|
||||
/* 00B20 8088AB40 2652001C */ addiu $s2, $s2, 0x001C ## $s2 = FFFFFFE4
|
||||
/* 00B24 8088AB44 8FB800A8 */ lw $t8, 0x00A8($sp)
|
||||
/* 00B28 8088AB48 24010078 */ addiu $at, $zero, 0x0078 ## $at = 00000078
|
||||
/* 00B2C 8088AB4C 27190018 */ addiu $t9, $t8, 0x0018 ## $t9 = 00000018
|
||||
/* 00B30 8088AB50 1721FF93 */ bne $t9, $at, .L8088A9A0
|
||||
/* 00B34 8088AB54 AFB900A8 */ sw $t9, 0x00A8($sp)
|
||||
/* 00B38 8088AB58 8FBF009C */ lw $ra, 0x009C($sp)
|
||||
/* 00B3C 8088AB5C D7B40048 */ ldc1 $f20, 0x0048($sp)
|
||||
/* 00B40 8088AB60 D7B60050 */ ldc1 $f22, 0x0050($sp)
|
||||
/* 00B44 8088AB64 D7B80058 */ ldc1 $f24, 0x0058($sp)
|
||||
/* 00B48 8088AB68 D7BA0060 */ ldc1 $f26, 0x0060($sp)
|
||||
/* 00B4C 8088AB6C D7BC0068 */ ldc1 $f28, 0x0068($sp)
|
||||
/* 00B50 8088AB70 D7BE0070 */ ldc1 $f30, 0x0070($sp)
|
||||
/* 00B54 8088AB74 8FB00078 */ lw $s0, 0x0078($sp)
|
||||
/* 00B58 8088AB78 8FB1007C */ lw $s1, 0x007C($sp)
|
||||
/* 00B5C 8088AB7C 8FB20080 */ lw $s2, 0x0080($sp)
|
||||
/* 00B60 8088AB80 8FB30084 */ lw $s3, 0x0084($sp)
|
||||
/* 00B64 8088AB84 8FB40088 */ lw $s4, 0x0088($sp)
|
||||
/* 00B68 8088AB88 8FB5008C */ lw $s5, 0x008C($sp)
|
||||
/* 00B6C 8088AB8C 8FB60090 */ lw $s6, 0x0090($sp)
|
||||
/* 00B70 8088AB90 8FB70094 */ lw $s7, 0x0094($sp)
|
||||
/* 00B74 8088AB94 8FBE0098 */ lw $s8, 0x0098($sp)
|
||||
/* 00B78 8088AB98 03E00008 */ jr $ra
|
||||
/* 00B7C 8088AB9C 27BD00E8 */ addiu $sp, $sp, 0x00E8 ## $sp = 00000000
|
|
@ -1,40 +0,0 @@
|
|||
glabel func_8088ABA0
|
||||
/* 00B80 8088ABA0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00B84 8088ABA4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00B88 8088ABA8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00B8C 8088ABAC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00B90 8088ABB0 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 00B94 8088ABB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B98 8088ABB8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00B9C 8088ABBC 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
|
||||
/* 00BA0 8088ABC0 10400008 */ beq $v0, $zero, .L8088ABE4
|
||||
/* 00BA4 8088ABC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BA8 8088ABC8 1041000A */ beq $v0, $at, .L8088ABF4
|
||||
/* 00BAC 8088ABCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BB0 8088ABD0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00BB4 8088ABD4 1041000B */ beq $v0, $at, .L8088AC04
|
||||
/* 00BB8 8088ABD8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BBC 8088ABDC 1000000C */ beq $zero, $zero, .L8088AC10
|
||||
/* 00BC0 8088ABE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8088ABE4:
|
||||
/* 00BC4 8088ABE4 0C2228EC */ jal func_8088A3B0
|
||||
/* 00BC8 8088ABE8 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00BCC 8088ABEC 10000008 */ beq $zero, $zero, .L8088AC10
|
||||
/* 00BD0 8088ABF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8088ABF4:
|
||||
/* 00BD4 8088ABF4 0C22299F */ jal func_8088A67C
|
||||
/* 00BD8 8088ABF8 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00BDC 8088ABFC 10000004 */ beq $zero, $zero, .L8088AC10
|
||||
/* 00BE0 8088AC00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8088AC04:
|
||||
/* 00BE4 8088AC04 0C222A45 */ jal func_8088A914
|
||||
/* 00BE8 8088AC08 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00BEC 8088AC0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8088AC10:
|
||||
/* 00BF0 8088AC10 0C2228A4 */ jal func_8088A290
|
||||
/* 00BF4 8088AC14 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00BF8 8088AC18 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00BFC 8088AC1C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00C00 8088AC20 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00C04 8088AC24 03E00008 */ jr $ra
|
||||
/* 00C08 8088AC28 00000000 */ nop
|
|
@ -1,35 +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_Hidan_Kowarerukabe_InitVars
|
||||
.word 0x00CF0100, 0x00000000, 0x002C0000, 0x000001C4
|
||||
.word BgHidanKowarerukabe_Init
|
||||
.word BgHidanKowarerukabe_Destroy
|
||||
.word BgHidanKowarerukabe_Update
|
||||
.word BgHidanKowarerukabe_Draw
|
||||
glabel D_8088AE10
|
||||
.word 0x0600B9C0, 0x0600C038, 0x0600B900
|
||||
glabel D_8088AE1C
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00640064
|
||||
glabel D_8088AE40
|
||||
.word 0x0A000900, 0x00000000, 0x00000001
|
||||
.word D_8088AE1C
|
||||
glabel D_8088AE50
|
||||
.word 0x0600D800, 0x0600D878, 0x0600D8F8
|
||||
glabel D_8088AE5C
|
||||
.word 0x0050002D, 0x00500000
|
||||
glabel D_8088AE64
|
||||
.word 0x000001F4, 0x01F40000
|
||||
glabel D_8088AE6C
|
||||
.word 0x3F333333, 0x00000000, 0x00000000
|
||||
glabel D_8088AE78
|
||||
.word 0xB0F407D0, 0xB0F80190, 0x30FC03E8, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -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_8088AFA0
|
||||
.incbin "baserom/ovl_Bg_Hidan_Kowarerukabe", 0xF80, 0x000000E0
|
3
spec
3
spec
|
@ -856,8 +856,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Hidan_Kowarerukabe"
|
||||
include "build/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.o"
|
||||
include "build/data/overlays/actors/z_bg_hidan_kowarerukabe.data.o"
|
||||
include "build/data/overlays/actors/z_bg_hidan_kowarerukabe.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/ovl_Bg_Hidan_Kowarerukabe_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,17 +1,29 @@
|
|||
/*
|
||||
* File: z_bg_hidan_kowarerukabe.c
|
||||
* Overlay: ovl_Bg_Hidan_Kowarerukabe
|
||||
* Description: Fire Temple Bombable Walls and Floors
|
||||
*/
|
||||
|
||||
#include "z_bg_hidan_kowarerukabe.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
#define THIS ((BgHidanKowarerukabe*)thisx)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ CRACKED_STONE_FLOOR,
|
||||
/* 1 */ BOMBABLE_WALL,
|
||||
/* 2 */ LARGE_BOMBABLE_WALL
|
||||
} FireTempleBombableObjectsType;
|
||||
|
||||
void BgHidanKowarerukabe_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanKowarerukabe_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanKowarerukabe_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanKowarerukabe_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_05000530;
|
||||
extern Gfx D_05000530[];
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Hidan_Kowarerukabe_InitVars = {
|
||||
ACTOR_BG_HIDAN_KOWARERUKABE,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -23,27 +35,284 @@ const ActorInit Bg_Hidan_Kowarerukabe_InitVars = {
|
|||
(ActorFunc)BgHidanKowarerukabe_Update,
|
||||
(ActorFunc)BgHidanKowarerukabe_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A020.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A0B8.s")
|
||||
static Gfx* sBreakableWallDLists[] = { 0x0600B9C0, 0x0600C038, 0x0600B900 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A150.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit[1] = { {
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ 0, { { 0, 0, 0 }, 100 }, 100 },
|
||||
} };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/BgHidanKowarerukabe_Init.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x00, COLSHAPE_JNTSPH },
|
||||
ARRAY_COUNT(sJntSphItemsInit),
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/BgHidanKowarerukabe_Destroy.s")
|
||||
void BgHidanKowarerukabe_InitDynaPoly(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
static ColHeader* collisionHeaders[] = { 0x0600D800, 0x0600D878, 0x0600D8F8 };
|
||||
s32 pad;
|
||||
CollisionHeader* colHeader = NULL;
|
||||
s32 pad2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A290.s")
|
||||
if (collisionHeaders[this->dyna.actor.params & 0xFF] != NULL) {
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, 0);
|
||||
DynaPolyInfo_Alloc(collisionHeaders[this->dyna.actor.params & 0xFF], &colHeader);
|
||||
this->dyna.dynaPolyId =
|
||||
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
} else {
|
||||
this->dyna.dynaPolyId = -1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A3B0.s")
|
||||
void BgHidanKowarerukabe_InitColliderSphere(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
static s16 sphereRadii[] = { 80, 45, 80 };
|
||||
static s16 sphereYPositions[] = { 0, 500, 500 };
|
||||
s32 pad;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A67C.s")
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088A914.s")
|
||||
this->collider.list[0].dim.modelSphere.radius = sphereRadii[this->dyna.actor.params & 0xFF];
|
||||
this->collider.list[0].dim.modelSphere.center.y = sphereYPositions[this->dyna.actor.params & 0xFF];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/func_8088ABA0.s")
|
||||
void BgHidanKowarerukabe_OffsetActorYPos(BgHidanKowarerukabe* this) {
|
||||
static f32 actorYPosOffsets[] = { 0.7f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/BgHidanKowarerukabe_Update.s")
|
||||
this->dyna.actor.posRot.pos.y =
|
||||
actorYPosOffsets[this->dyna.actor.params & 0xFF] + this->dyna.actor.initPosRot.pos.y;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/BgHidanKowarerukabe_Draw.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
void BgHidanKowarerukabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHidanKowarerukabe* this = THIS;
|
||||
|
||||
BgHidanKowarerukabe_InitDynaPoly(this, globalCtx);
|
||||
|
||||
if (((this->dyna.actor.params & 0xFF) < CRACKED_STONE_FLOOR) ||
|
||||
((this->dyna.actor.params & 0xFF) > LARGE_BOMBABLE_WALL)) {
|
||||
// Translation: Error: Fire Temple Breakable Walls. arg_data I can't determine the (%s %d)(arg_data
|
||||
// 0x%04x)
|
||||
osSyncPrintf("Error : 炎の神殿 壊れる壁 の arg_data が判別出来ない(%s %d)(arg_data 0x%04x)\n",
|
||||
"../z_bg_hidan_kowarerukabe.c", 254, this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
Actor_SetScale(&this->dyna.actor, 0.1f);
|
||||
BgHidanKowarerukabe_InitColliderSphere(this, globalCtx);
|
||||
BgHidanKowarerukabe_OffsetActorYPos(this);
|
||||
// Translation: (fire walls, floors, destroyed by bombs)(arg_data 0x%04x)
|
||||
osSyncPrintf("(hidan 爆弾で壊れる 壁 床)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHidanKowarerukabe* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_SpawnDust(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Vec3f pos;
|
||||
|
||||
pos = this->dyna.actor.posRot.pos;
|
||||
pos.y += 10.0f;
|
||||
|
||||
func_80033480(globalCtx, &pos, 0.0f, 0, 600, 300, 1);
|
||||
|
||||
pos.x = ((Rand_ZeroOne() - 0.5f) * 80.0f) + this->dyna.actor.posRot.pos.x;
|
||||
pos.y = (Rand_ZeroOne() * 100.0f) + this->dyna.actor.posRot.pos.y;
|
||||
pos.z = ((Rand_ZeroOne() - 0.5f) * 80.0f) + this->dyna.actor.posRot.pos.z;
|
||||
|
||||
func_80033480(globalCtx, &pos, 100.0f, 4, 200, 250, 1);
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_FloorBreak(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f velocity;
|
||||
Vec3f pos;
|
||||
s16 arg5;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
f32 sin = Math_SinS(thisx->shape.rot.y);
|
||||
f32 cos = Math_CosS(thisx->shape.rot.y);
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
s16 arg9;
|
||||
|
||||
pos.y = thisx->posRot.pos.y + 10.0f;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
for (j = 0; j < 5; j++) {
|
||||
tmp1 = 24 * (i - 2);
|
||||
tmp2 = 24 * (j - 2);
|
||||
|
||||
pos.x = (tmp2 * sin) + (tmp1 * cos) + thisx->posRot.pos.x;
|
||||
pos.z = (tmp2 * cos) - (tmp1 * sin) + thisx->posRot.pos.z;
|
||||
|
||||
tmp1 = 8.0f * Rand_ZeroOne() * (i - 2);
|
||||
tmp2 = 8.0f * Rand_ZeroOne() * (j - 2);
|
||||
|
||||
velocity.x = (tmp2 * sin) + (tmp1 * cos);
|
||||
velocity.y = 30.0f * Rand_ZeroOne();
|
||||
velocity.z = (tmp2 * cos) - (tmp1 * sin);
|
||||
|
||||
arg9 = ((Rand_ZeroOne() - 0.5f) * 11.0f * 1.4f) + 11.0f;
|
||||
|
||||
arg5 = (((i == 0) || (i == 4)) && ((j == 0) || (j == 4))) ? 65 : 64;
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->posRot.pos, -550, arg5, 15, 15, 0, arg9, 2, 16,
|
||||
100, KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8088A67C(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f velocity;
|
||||
Vec3f pos;
|
||||
s16 arg5;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
f32 sin = Math_SinS(thisx->shape.rot.y);
|
||||
f32 cos = Math_CosS(thisx->shape.rot.y);
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
s16 arg9;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
pos.y = (20 * i) + thisx->posRot.pos.y;
|
||||
for (j = 0; j < 5; j++) {
|
||||
tmp1 = 16 * (j - 2);
|
||||
|
||||
pos.x = (tmp1 * cos) + thisx->posRot.pos.x;
|
||||
pos.z = -(tmp1 * sin) + thisx->posRot.pos.z;
|
||||
|
||||
tmp1 = 3.0f * Rand_ZeroOne() * (j - 2);
|
||||
tmp2 = 6.0f * Rand_ZeroOne();
|
||||
|
||||
velocity.x = (tmp2 * sin) + (tmp1 * cos);
|
||||
velocity.y = 18.0f * Rand_ZeroOne();
|
||||
velocity.z = (tmp2 * cos) - (tmp1 * sin);
|
||||
|
||||
arg9 = ((Rand_ZeroOne() - 0.5f) * 11.0f * 1.4f) + 11.0f;
|
||||
arg5 = (arg9 >= 15) ? 32 : 64;
|
||||
|
||||
if (Rand_ZeroOne() < 5.0f) {
|
||||
arg5 |= 1;
|
||||
}
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->posRot.pos, -540, arg5, 20, 20, 0, arg9, 2, 32,
|
||||
100, KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_LargeWallBreak(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f velocity;
|
||||
Vec3f pos;
|
||||
s16 arg5;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
f32 sin = Math_SinS(thisx->shape.rot.y);
|
||||
f32 cos = Math_CosS(thisx->shape.rot.y);
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
s16 arg9;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
pos.y = (24 * i) + thisx->posRot.pos.y;
|
||||
for (j = 0; j < 5; j++) {
|
||||
tmp1 = 28 * (j - 2);
|
||||
|
||||
pos.x = (tmp1 * cos) + thisx->posRot.pos.x;
|
||||
pos.z = -(tmp1 * sin) + thisx->posRot.pos.z;
|
||||
|
||||
tmp1 = 6.0f * Rand_ZeroOne() * (j - 2);
|
||||
tmp2 = 6.0f * Rand_ZeroOne();
|
||||
|
||||
velocity.x = (tmp2 * sin) + (tmp1 * cos);
|
||||
velocity.y = 34.0f * Rand_ZeroOne();
|
||||
velocity.z = (tmp2 * cos) - (tmp1 * sin);
|
||||
|
||||
arg9 = ((Rand_ZeroOne() - 0.5f) * 14.0f * 1.6f) + 14.0f;
|
||||
arg5 = (arg9 > 20) ? 32 : 64;
|
||||
|
||||
if (Rand_ZeroOne() < 5.0f) {
|
||||
arg5 |= 1;
|
||||
}
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->posRot, -650, arg5, 20, 20, 0, arg9, 2, 32, 100,
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_Break(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
switch (this->dyna.actor.params & 0xFF) {
|
||||
case CRACKED_STONE_FLOOR:
|
||||
BgHidanKowarerukabe_FloorBreak(this, globalCtx);
|
||||
break;
|
||||
case BOMBABLE_WALL:
|
||||
func_8088A67C(this, globalCtx);
|
||||
break;
|
||||
case LARGE_BOMBABLE_WALL:
|
||||
BgHidanKowarerukabe_LargeWallBreak(this, globalCtx);
|
||||
break;
|
||||
}
|
||||
|
||||
BgHidanKowarerukabe_SpawnDust(this, globalCtx);
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHidanKowarerukabe* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
if (Actor_GetCollidedExplosive(globalCtx, &this->collider.base) != NULL) {
|
||||
BgHidanKowarerukabe_Break(this, globalCtx);
|
||||
Flags_SetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F);
|
||||
|
||||
if ((this->dyna.actor.params & 0xFF) == 0) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 40, NA_SE_EV_EXPLOSION);
|
||||
} else {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 40, NA_SE_EV_WALL_BROKEN);
|
||||
}
|
||||
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
|
||||
void BgHidanKowarerukabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHidanKowarerukabe* this = THIS;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kowarerukabe.c", 565);
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_kowarerukabe.c", 568),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, sBreakableWallDLists[this->dyna.actor.params & 0xFF]);
|
||||
|
||||
func_800628A4(0, &this->collider);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kowarerukabe.c", 573);
|
||||
}
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
struct BgHidanKowarerukabe;
|
||||
|
||||
typedef struct BgHidanKowarerukabe {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x78];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderJntSph collider;
|
||||
/* 0x0184 */ ColliderJntSphItem colliderItems[1];
|
||||
} BgHidanKowarerukabe; // size = 0x01C4
|
||||
|
||||
extern const ActorInit Bg_Hidan_Kowarerukabe_InitVars;
|
||||
|
|
Loading…
Reference in a new issue