mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 01:34:18 +00:00
Decomp BgHidanSekizou (#970)
* mostly matching * OK! * relocs * I fix * fix some floats * fixes * array counts Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
parent
f8015f4cd5
commit
8e318d257e
18 changed files with 331 additions and 1385 deletions
|
@ -1,20 +0,0 @@
|
|||
glabel BgHidanSekizou_Destroy
|
||||
/* 0052C 8088D3EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00530 8088D3F0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00534 8088D3F4 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00538 8088D3F8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0053C 8088D3FC 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 00540 8088D400 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00544 8088D404 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 00548 8088D408 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 0054C 8088D40C 0C00FB56 */ jal DynaPoly_DeleteBgActor
|
||||
## DynaPoly_DeleteBgActor
|
||||
/* 00550 8088D410 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00554 8088D414 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00558 8088D418 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 0055C 8088D41C 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 00560 8088D420 24A50174 */ addiu $a1, $a1, 0x0174 ## $a1 = 00000174
|
||||
/* 00564 8088D424 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00568 8088D428 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0056C 8088D42C 03E00008 */ jr $ra
|
||||
/* 00570 8088D430 00000000 */ nop
|
|
@ -1,180 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8088E2B8
|
||||
.asciz "../z_bg_hidan_sekizou.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088E2D0
|
||||
.asciz "../z_bg_hidan_sekizou.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8088E2E8
|
||||
.asciz "../z_bg_hidan_sekizou.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgHidanSekizou_Draw
|
||||
/* 01028 8088DEE8 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
|
||||
/* 0102C 8088DEEC AFB40030 */ sw $s4, 0x0030($sp)
|
||||
/* 01030 8088DEF0 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
|
||||
/* 01034 8088DEF4 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 01038 8088DEF8 AFB3002C */ sw $s3, 0x002C($sp)
|
||||
/* 0103C 8088DEFC AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 01040 8088DF00 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 01044 8088DF04 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01048 8088DF08 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 0104C 8088DF0C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 01050 8088DF10 3C068089 */ lui $a2, %hi(D_8088E2B8) ## $a2 = 80890000
|
||||
/* 01054 8088DF14 24C6E2B8 */ addiu $a2, $a2, %lo(D_8088E2B8) ## $a2 = 8088E2B8
|
||||
/* 01058 8088DF18 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFD0
|
||||
/* 0105C 8088DF1C 2407033B */ addiu $a3, $zero, 0x033B ## $a3 = 0000033B
|
||||
/* 01060 8088DF20 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 01064 8088DF24 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
|
||||
/* 01068 8088DF28 0C024F46 */ jal func_80093D18
|
||||
/* 0106C 8088DF2C 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
|
||||
/* 01070 8088DF30 8E6202C0 */ lw $v0, 0x02C0($s3) ## 000002C0
|
||||
/* 01074 8088DF34 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000
|
||||
/* 01078 8088DF38 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003
|
||||
/* 0107C 8088DF3C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 01080 8088DF40 AE6E02C0 */ sw $t6, 0x02C0($s3) ## 000002C0
|
||||
/* 01084 8088DF44 3C058089 */ lui $a1, %hi(D_8088E2D0) ## $a1 = 80890000
|
||||
/* 01088 8088DF48 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 0108C 8088DF4C 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
|
||||
/* 01090 8088DF50 24A5E2D0 */ addiu $a1, $a1, %lo(D_8088E2D0) ## $a1 = 8088E2D0
|
||||
/* 01094 8088DF54 2406033F */ addiu $a2, $zero, 0x033F ## $a2 = 0000033F
|
||||
/* 01098 8088DF58 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0109C 8088DF5C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
|
||||
/* 010A0 8088DF60 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
|
||||
/* 010A4 8088DF64 8638001C */ lh $t8, 0x001C($s1) ## 0000001C
|
||||
/* 010A8 8088DF68 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
|
||||
/* 010AC 8088DF6C 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
|
||||
/* 010B0 8088DF70 17000009 */ bne $t8, $zero, .L8088DF98
|
||||
/* 010B4 8088DF74 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
|
||||
/* 010B8 8088DF78 8E6202C0 */ lw $v0, 0x02C0($s3) ## 000002C0
|
||||
/* 010BC 8088DF7C 3C090601 */ lui $t1, %hi(gFireTempleStationaryFlamethrowerShortDL) ## $t1 = 06010000
|
||||
/* 010C0 8088DF80 2529B0F8 */ addiu $t1, $t1, %lo(gFireTempleStationaryFlamethrowerShortDL) ## $t1 = 0600B0F8
|
||||
/* 010C4 8088DF84 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 010C8 8088DF88 AE7902C0 */ sw $t9, 0x02C0($s3) ## 000002C0
|
||||
/* 010CC 8088DF8C AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 010D0 8088DF90 10000008 */ beq $zero, $zero, .L8088DFB4
|
||||
/* 010D4 8088DF94 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
|
||||
.L8088DF98:
|
||||
/* 010D8 8088DF98 8E6202C0 */ lw $v0, 0x02C0($s3) ## 000002C0
|
||||
/* 010DC 8088DF9C 3C0C0601 */ lui $t4, %hi(gFireTempleStationaryFlamethrowerTallDL) ## $t4 = 06010000
|
||||
/* 010E0 8088DFA0 258CABC8 */ addiu $t4, $t4, %lo(gFireTempleStationaryFlamethrowerTallDL) ## $t4 = 0600ABC8
|
||||
/* 010E4 8088DFA4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 010E8 8088DFA8 AE6A02C0 */ sw $t2, 0x02C0($s3) ## 000002C0
|
||||
/* 010EC 8088DFAC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 010F0 8088DFB0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
.L8088DFB4:
|
||||
/* 010F4 8088DFB4 0C024DDD */ jal Gfx_CallSetupDL
|
||||
/* 010F8 8088DFB8 8E6402D0 */ lw $a0, 0x02D0($s3) ## 000002D0
|
||||
/* 010FC 8088DFBC AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
/* 01100 8088DFC0 862D001C */ lh $t5, 0x001C($s1) ## 0000001C
|
||||
/* 01104 8088DFC4 55A00039 */ bnel $t5, $zero, .L8088E0AC
|
||||
/* 01108 8088DFC8 868D07A0 */ lh $t5, 0x07A0($s4) ## 000007A0
|
||||
/* 0110C 8088DFCC 862E0168 */ lh $t6, 0x0168($s1) ## 00000168
|
||||
/* 01110 8088DFD0 19C00055 */ blez $t6, .L8088E128
|
||||
/* 01114 8088DFD4 00000000 */ nop
|
||||
/* 01118 8088DFD8 868F07A0 */ lh $t7, 0x07A0($s4) ## 000007A0
|
||||
/* 0111C 8088DFDC 000FC080 */ sll $t8, $t7, 2
|
||||
/* 01120 8088DFE0 0298C821 */ addu $t9, $s4, $t8
|
||||
/* 01124 8088DFE4 0C016A7D */ jal Camera_GetCamDirYaw
|
||||
/* 01128 8088DFE8 8F240790 */ lw $a0, 0x0790($t9) ## 00000790
|
||||
/* 0112C 8088DFEC 862300B6 */ lh $v1, 0x00B6($s1) ## 000000B6
|
||||
/* 01130 8088DFF0 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 01134 8088DFF4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01138 8088DFF8 00434023 */ subu $t0, $v0, $v1
|
||||
/* 0113C 8088DFFC 00084C00 */ sll $t1, $t0, 16
|
||||
/* 01140 8088E000 00095403 */ sra $t2, $t1, 16
|
||||
/* 01144 8088E004 05400016 */ bltz $t2, .L8088E060
|
||||
/* 01148 8088E008 2466E000 */ addiu $a2, $v1, 0xE000 ## $a2 = FFFFE000
|
||||
/* 0114C 8088E00C 8E6B02D0 */ lw $t3, 0x02D0($s3) ## 000002D0
|
||||
/* 01150 8088E010 24662000 */ addiu $a2, $v1, 0x2000 ## $a2 = 00002000
|
||||
/* 01154 8088E014 00063400 */ sll $a2, $a2, 16
|
||||
/* 01158 8088E018 86270168 */ lh $a3, 0x0168($s1) ## 00000168
|
||||
/* 0115C 8088E01C 00063403 */ sra $a2, $a2, 16
|
||||
/* 01160 8088E020 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 01164 8088E024 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01168 8088E028 0C223714 */ jal func_8088DC50
|
||||
/* 0116C 8088E02C AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 01170 8088E030 AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
/* 01174 8088E034 862600B6 */ lh $a2, 0x00B6($s1) ## 000000B6
|
||||
/* 01178 8088E038 86270168 */ lh $a3, 0x0168($s1) ## 00000168
|
||||
/* 0117C 8088E03C AFA20010 */ sw $v0, 0x0010($sp)
|
||||
/* 01180 8088E040 24C6E000 */ addiu $a2, $a2, 0xE000 ## $a2 = FFFFE000
|
||||
/* 01184 8088E044 00063400 */ sll $a2, $a2, 16
|
||||
/* 01188 8088E048 00063403 */ sra $a2, $a2, 16
|
||||
/* 0118C 8088E04C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 01190 8088E050 0C223714 */ jal func_8088DC50
|
||||
/* 01194 8088E054 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01198 8088E058 10000033 */ beq $zero, $zero, .L8088E128
|
||||
/* 0119C 8088E05C AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
.L8088E060:
|
||||
/* 011A0 8088E060 8E6C02D0 */ lw $t4, 0x02D0($s3) ## 000002D0
|
||||
/* 011A4 8088E064 00063400 */ sll $a2, $a2, 16
|
||||
/* 011A8 8088E068 86270168 */ lh $a3, 0x0168($s1) ## 00000168
|
||||
/* 011AC 8088E06C 00063403 */ sra $a2, $a2, 16
|
||||
/* 011B0 8088E070 0C223714 */ jal func_8088DC50
|
||||
/* 011B4 8088E074 AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 011B8 8088E078 AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
/* 011BC 8088E07C 862600B6 */ lh $a2, 0x00B6($s1) ## 000000B6
|
||||
/* 011C0 8088E080 86270168 */ lh $a3, 0x0168($s1) ## 00000168
|
||||
/* 011C4 8088E084 AFA20010 */ sw $v0, 0x0010($sp)
|
||||
/* 011C8 8088E088 24C62000 */ addiu $a2, $a2, 0x2000 ## $a2 = 00002000
|
||||
/* 011CC 8088E08C 00063400 */ sll $a2, $a2, 16
|
||||
/* 011D0 8088E090 00063403 */ sra $a2, $a2, 16
|
||||
/* 011D4 8088E094 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 011D8 8088E098 0C223714 */ jal func_8088DC50
|
||||
/* 011DC 8088E09C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 011E0 8088E0A0 10000021 */ beq $zero, $zero, .L8088E128
|
||||
/* 011E4 8088E0A4 AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
/* 011E8 8088E0A8 868D07A0 */ lh $t5, 0x07A0($s4) ## 000007A0
|
||||
.L8088E0AC:
|
||||
/* 011EC 8088E0AC 000D7080 */ sll $t6, $t5, 2
|
||||
/* 011F0 8088E0B0 028E7821 */ addu $t7, $s4, $t6
|
||||
/* 011F4 8088E0B4 0C016A7D */ jal Camera_GetCamDirYaw
|
||||
/* 011F8 8088E0B8 8DE40790 */ lw $a0, 0x0790($t7) ## 00000790
|
||||
/* 011FC 8088E0BC 00022400 */ sll $a0, $v0, 16
|
||||
/* 01200 8088E0C0 00042403 */ sra $a0, $a0, 16
|
||||
/* 01204 8088E0C4 862500B6 */ lh $a1, 0x00B6($s1) ## 000000B6
|
||||
/* 01208 8088E0C8 0C223782 */ jal func_8088DE08
|
||||
/* 0120C 8088E0CC 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFE4
|
||||
/* 01210 8088E0D0 27B0006C */ addiu $s0, $sp, 0x006C ## $s0 = FFFFFFE4
|
||||
/* 01214 8088E0D4 27B2007C */ addiu $s2, $sp, 0x007C ## $s2 = FFFFFFF4
|
||||
/* 01218 8088E0D8 8E020000 */ lw $v0, 0x0000($s0) ## FFFFFFE4
|
||||
.L8088E0DC:
|
||||
/* 0121C 8088E0DC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 01220 8088E0E0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01224 8088E0E4 0002C040 */ sll $t8, $v0, 1
|
||||
/* 01228 8088E0E8 0238C821 */ addu $t9, $s1, $t8
|
||||
/* 0122C 8088E0EC 87270168 */ lh $a3, 0x0168($t9) ## 00000168
|
||||
/* 01230 8088E0F0 58E0000B */ blezl $a3, .L8088E120
|
||||
/* 01234 8088E0F4 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = FFFFFFE8
|
||||
/* 01238 8088E0F8 862800B6 */ lh $t0, 0x00B6($s1) ## 000000B6
|
||||
/* 0123C 8088E0FC 00024B80 */ sll $t1, $v0, 14
|
||||
/* 01240 8088E100 8E6A02D0 */ lw $t2, 0x02D0($s3) ## 000002D0
|
||||
/* 01244 8088E104 01093021 */ addu $a2, $t0, $t1
|
||||
/* 01248 8088E108 00063400 */ sll $a2, $a2, 16
|
||||
/* 0124C 8088E10C 00063403 */ sra $a2, $a2, 16
|
||||
/* 01250 8088E110 0C223714 */ jal func_8088DC50
|
||||
/* 01254 8088E114 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 01258 8088E118 AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0
|
||||
/* 0125C 8088E11C 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = FFFFFFEC
|
||||
.L8088E120:
|
||||
/* 01260 8088E120 5612FFEE */ bnel $s0, $s2, .L8088E0DC
|
||||
/* 01264 8088E124 8E020000 */ lw $v0, 0x0000($s0) ## FFFFFFEC
|
||||
.L8088E128:
|
||||
/* 01268 8088E128 3C068089 */ lui $a2, %hi(D_8088E2E8) ## $a2 = 80890000
|
||||
/* 0126C 8088E12C 24C6E2E8 */ addiu $a2, $a2, %lo(D_8088E2E8) ## $a2 = 8088E2E8
|
||||
/* 01270 8088E130 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFD0
|
||||
/* 01274 8088E134 8E850000 */ lw $a1, 0x0000($s4) ## 00000000
|
||||
/* 01278 8088E138 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 0127C 8088E13C 24070383 */ addiu $a3, $zero, 0x0383 ## $a3 = 00000383
|
||||
/* 01280 8088E140 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 01284 8088E144 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01288 8088E148 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 0128C 8088E14C 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 01290 8088E150 8FB3002C */ lw $s3, 0x002C($sp)
|
||||
/* 01294 8088E154 8FB40030 */ lw $s4, 0x0030($sp)
|
||||
/* 01298 8088E158 03E00008 */ jr $ra
|
||||
/* 0129C 8088E15C 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000
|
|
@ -1,103 +0,0 @@
|
|||
glabel BgHidanSekizou_Init
|
||||
/* 003BC 8088D27C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 003C0 8088D280 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 003C4 8088D284 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 003C8 8088D288 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 003CC 8088D28C 3C058089 */ lui $a1, %hi(D_8088E270) ## $a1 = 80890000
|
||||
/* 003D0 8088D290 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 003D4 8088D294 AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 003D8 8088D298 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 003DC 8088D29C AFA00040 */ sw $zero, 0x0040($sp)
|
||||
/* 003E0 8088D2A0 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 003E4 8088D2A4 24A5E270 */ addiu $a1, $a1, %lo(D_8088E270) ## $a1 = 8088E270
|
||||
/* 003E8 8088D2A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 003EC 8088D2AC 0C010D20 */ jal DynaPolyActor_Init
|
||||
|
||||
/* 003F0 8088D2B0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 003F4 8088D2B4 26300174 */ addiu $s0, $s1, 0x0174 ## $s0 = 00000174
|
||||
/* 003F8 8088D2B8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000174
|
||||
/* 003FC 8088D2BC 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00400 8088D2C0 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00404 8088D2C4 3C078089 */ lui $a3, %hi(D_8088E258) ## $a3 = 80890000
|
||||
/* 00408 8088D2C8 262E0194 */ addiu $t6, $s1, 0x0194 ## $t6 = 00000194
|
||||
/* 0040C 8088D2CC AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00410 8088D2D0 24E7E258 */ addiu $a3, $a3, %lo(D_8088E258) ## $a3 = 8088E258
|
||||
/* 00414 8088D2D4 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00418 8088D2D8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000174
|
||||
/* 0041C 8088D2DC 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00420 8088D2E0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 00424 8088D2E4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L8088D2E8:
|
||||
/* 00428 8088D2E8 8E2F0190 */ lw $t7, 0x0190($s1) ## 00000190
|
||||
/* 0042C 8088D2EC 01E31021 */ addu $v0, $t7, $v1
|
||||
/* 00430 8088D2F0 8458002E */ lh $t8, 0x002E($v0) ## 0000002E
|
||||
/* 00434 8088D2F4 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000040
|
||||
/* 00438 8088D2F8 28610180 */ slti $at, $v1, 0x0180
|
||||
/* 0043C 8088D2FC 1420FFFA */ bne $at, $zero, .L8088D2E8
|
||||
/* 00440 8088D300 A4580036 */ sh $t8, 0x0036($v0) ## 00000036
|
||||
/* 00444 8088D304 8639001C */ lh $t9, 0x001C($s1) ## 0000001C
|
||||
/* 00448 8088D308 24080024 */ addiu $t0, $zero, 0x0024 ## $t0 = 00000024
|
||||
/* 0044C 8088D30C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00450 8088D310 17200019 */ bne $t9, $zero, .L8088D378
|
||||
/* 00454 8088D314 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
|
||||
/* 00458 8088D318 A6280168 */ sh $t0, 0x0168($s1) ## 00000168
|
||||
/* 0045C 8088D31C 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
|
||||
.L8088D320:
|
||||
/* 00460 8088D320 16000003 */ bne $s0, $zero, .L8088D330
|
||||
/* 00464 8088D324 2402E000 */ addiu $v0, $zero, 0xE000 ## $v0 = FFFFE000
|
||||
/* 00468 8088D328 10000001 */ beq $zero, $zero, .L8088D330
|
||||
/* 0046C 8088D32C 24022000 */ addiu $v0, $zero, 0x2000 ## $v0 = 00002000
|
||||
.L8088D330:
|
||||
/* 00470 8088D330 862900B6 */ lh $t1, 0x00B6($s1) ## 000000B6
|
||||
/* 00474 8088D334 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00478 8088D338 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0047C 8088D33C 00493021 */ addu $a2, $v0, $t1
|
||||
/* 00480 8088D340 00063400 */ sll $a2, $a2, 16
|
||||
/* 00484 8088D344 0C2233B0 */ jal func_8088CEC0
|
||||
/* 00488 8088D348 00063403 */ sra $a2, $a2, 16
|
||||
/* 0048C 8088D34C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00490 8088D350 1612FFF3 */ bne $s0, $s2, .L8088D320
|
||||
/* 00494 8088D354 00000000 */ nop
|
||||
/* 00498 8088D358 3C040601 */ lui $a0, %hi(gFireTempleStationaryFlamethrowerCol) ## $a0 = 06010000
|
||||
/* 0049C 8088D35C 2484CC90 */ addiu $a0, $a0, %lo(gFireTempleStationaryFlamethrowerCol) ## $a0 = 0600CC90
|
||||
/* 004A0 8088D360 0C010620 */ jal CollisionHeader_GetVirtual
|
||||
|
||||
/* 004A4 8088D364 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFF0
|
||||
/* 004A8 8088D368 3C0A8089 */ lui $t2, %hi(func_8088D720) ## $t2 = 80890000
|
||||
/* 004AC 8088D36C 254AD720 */ addiu $t2, $t2, %lo(func_8088D720) ## $t2 = 8088D720
|
||||
/* 004B0 8088D370 1000000C */ beq $zero, $zero, .L8088D3A4
|
||||
/* 004B4 8088D374 AE2A0164 */ sw $t2, 0x0164($s1) ## 00000164
|
||||
.L8088D378:
|
||||
/* 004B8 8088D378 A620016E */ sh $zero, 0x016E($s1) ## 0000016E
|
||||
/* 004BC 8088D37C 8622016E */ lh $v0, 0x016E($s1) ## 0000016E
|
||||
/* 004C0 8088D380 2484CDA0 */ addiu $a0, $a0, 0xCDA0 ## $a0 = FFFFCDA0
|
||||
/* 004C4 8088D384 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFF0
|
||||
/* 004C8 8088D388 A622016C */ sh $v0, 0x016C($s1) ## 0000016C
|
||||
/* 004CC 8088D38C A622016A */ sh $v0, 0x016A($s1) ## 0000016A
|
||||
/* 004D0 8088D390 0C010620 */ jal CollisionHeader_GetVirtual
|
||||
|
||||
/* 004D4 8088D394 A6220168 */ sh $v0, 0x0168($s1) ## 00000168
|
||||
/* 004D8 8088D398 3C0B8089 */ lui $t3, %hi(func_8088D434) ## $t3 = 80890000
|
||||
/* 004DC 8088D39C 256BD434 */ addiu $t3, $t3, %lo(func_8088D434) ## $t3 = 8088D434
|
||||
/* 004E0 8088D3A0 AE2B0164 */ sw $t3, 0x0164($s1) ## 00000164
|
||||
.L8088D3A4:
|
||||
/* 004E4 8088D3A4 A6200170 */ sh $zero, 0x0170($s1) ## 00000170
|
||||
/* 004E8 8088D3A8 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 004EC 8088D3AC 8FA70040 */ lw $a3, 0x0040($sp)
|
||||
/* 004F0 8088D3B0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 004F4 8088D3B4 0C00FA9D */ jal DynaPoly_SetBgActor
|
||||
## DynaPoly_SetBgActor
|
||||
/* 004F8 8088D3B8 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 004FC 8088D3BC 3C068089 */ lui $a2, %hi(D_8088E268) ## $a2 = 80890000
|
||||
/* 00500 8088D3C0 AE22014C */ sw $v0, 0x014C($s1) ## 0000014C
|
||||
/* 00504 8088D3C4 24C6E268 */ addiu $a2, $a2, %lo(D_8088E268) ## $a2 = 8088E268
|
||||
/* 00508 8088D3C8 26240098 */ addiu $a0, $s1, 0x0098 ## $a0 = 00000098
|
||||
/* 0050C 8088D3CC 0C0187B5 */ jal CollisionCheck_SetInfo
|
||||
/* 00510 8088D3D0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00514 8088D3D4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00518 8088D3D8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0051C 8088D3DC 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 00520 8088D3E0 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 00524 8088D3E4 03E00008 */ jr $ra
|
||||
/* 00528 8088D3E8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,92 +0,0 @@
|
|||
glabel BgHidanSekizou_Update
|
||||
/* 009F8 8088D8B8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 009FC 8088D8BC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A00 8088D8C0 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00A04 8088D8C4 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00A08 8088D8C8 84820170 */ lh $v0, 0x0170($a0) ## 00000170
|
||||
/* 00A0C 8088D8CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A10 8088D8D0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00A14 8088D8D4 10400003 */ beq $v0, $zero, .L8088D8E4
|
||||
/* 00A18 8088D8D8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00A1C 8088D8DC A48E0170 */ sh $t6, 0x0170($a0) ## 00000170
|
||||
/* 00A20 8088D8E0 84820170 */ lh $v0, 0x0170($a0) ## 00000170
|
||||
.L8088D8E4:
|
||||
/* 00A24 8088D8E4 14400002 */ bne $v0, $zero, .L8088D8F0
|
||||
/* 00A28 8088D8E8 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00A2C 8088D8EC A60F0170 */ sh $t7, 0x0170($s0) ## 00000170
|
||||
.L8088D8F0:
|
||||
/* 00A30 8088D8F0 92020184 */ lbu $v0, 0x0184($s0) ## 00000184
|
||||
/* 00A34 8088D8F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A38 8088D8F8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00A3C 8088D8FC 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
|
||||
/* 00A40 8088D900 13000003 */ beq $t8, $zero, .L8088D910
|
||||
/* 00A44 8088D904 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00A48 8088D908 0C2235D4 */ jal func_8088D750
|
||||
/* 00A4C 8088D90C A2190184 */ sb $t9, 0x0184($s0) ## 00000184
|
||||
.L8088D910:
|
||||
/* 00A50 8088D910 8E190164 */ lw $t9, 0x0164($s0) ## 00000164
|
||||
/* 00A54 8088D914 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A58 8088D918 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00A5C 8088D91C 0320F809 */ jalr $ra, $t9
|
||||
/* 00A60 8088D920 00000000 */ nop
|
||||
/* 00A64 8088D924 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 00A68 8088D928 55000015 */ bnel $t0, $zero, .L8088D980
|
||||
/* 00A6C 8088D92C 860A0168 */ lh $t2, 0x0168($s0) ## 00000168
|
||||
/* 00A70 8088D930 86090168 */ lh $t1, 0x0168($s0) ## 00000168
|
||||
/* 00A74 8088D934 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00A78 8088D938 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00A7C 8088D93C 19200028 */ blez $t1, .L8088D9E0
|
||||
/* 00A80 8088D940 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00A84 8088D944 02212821 */ addu $a1, $s1, $at
|
||||
/* 00A88 8088D948 26060174 */ addiu $a2, $s0, 0x0174 ## $a2 = 00000174
|
||||
/* 00A8C 8088D94C AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00A90 8088D950 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00A94 8088D954 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00A98 8088D958 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00A9C 8088D95C 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00AA0 8088D960 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOC
|
||||
/* 00AA4 8088D964 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00AA8 8088D968 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AAC 8088D96C 0C00BE5D */ jal func_8002F974
|
||||
/* 00AB0 8088D970 24052033 */ addiu $a1, $zero, 0x2033 ## $a1 = 00002033
|
||||
/* 00AB4 8088D974 1000001B */ beq $zero, $zero, .L8088D9E4
|
||||
/* 00AB8 8088D978 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00ABC 8088D97C 860A0168 */ lh $t2, 0x0168($s0) ## 00000168
|
||||
.L8088D980:
|
||||
/* 00AC0 8088D980 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00AC4 8088D984 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00AC8 8088D988 1D400009 */ bgtz $t2, .L8088D9B0
|
||||
/* 00ACC 8088D98C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00AD0 8088D990 860B016A */ lh $t3, 0x016A($s0) ## 0000016A
|
||||
/* 00AD4 8088D994 5D600007 */ bgtzl $t3, .L8088D9B4
|
||||
/* 00AD8 8088D998 02212821 */ addu $a1, $s1, $at
|
||||
/* 00ADC 8088D99C 860C016C */ lh $t4, 0x016C($s0) ## 0000016C
|
||||
/* 00AE0 8088D9A0 5D800004 */ bgtzl $t4, .L8088D9B4
|
||||
/* 00AE4 8088D9A4 02212821 */ addu $a1, $s1, $at
|
||||
/* 00AE8 8088D9A8 860D016E */ lh $t5, 0x016E($s0) ## 0000016E
|
||||
/* 00AEC 8088D9AC 19A0000C */ blez $t5, .L8088D9E0
|
||||
.L8088D9B0:
|
||||
/* 00AF0 8088D9B0 02212821 */ addu $a1, $s1, $at
|
||||
.L8088D9B4:
|
||||
/* 00AF4 8088D9B4 26060174 */ addiu $a2, $s0, 0x0174 ## $a2 = 00000174
|
||||
/* 00AF8 8088D9B8 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00AFC 8088D9BC 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00B00 8088D9C0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00B04 8088D9C4 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00B08 8088D9C8 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00B0C 8088D9CC 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOC
|
||||
/* 00B10 8088D9D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00B14 8088D9D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B18 8088D9D8 0C00BE5D */ jal func_8002F974
|
||||
/* 00B1C 8088D9DC 24052033 */ addiu $a1, $zero, 0x2033 ## $a1 = 00002033
|
||||
.L8088D9E0:
|
||||
/* 00B20 8088D9E0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088D9E4:
|
||||
/* 00B24 8088D9E4 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00B28 8088D9E8 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00B2C 8088D9EC 03E00008 */ jr $ra
|
||||
/* 00B30 8088D9F0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
@ -1,246 +0,0 @@
|
|||
glabel func_8088CEC0
|
||||
/* 00000 8088CEC0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00004 8088CEC4 00051880 */ sll $v1, $a1, 2
|
||||
/* 00008 8088CEC8 00651823 */ subu $v1, $v1, $a1
|
||||
/* 0000C 8088CECC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00010 8088CED0 AFA60048 */ sw $a2, 0x0048($sp)
|
||||
/* 00014 8088CED4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00018 8088CED8 24690003 */ addiu $t1, $v1, 0x0003 ## $t1 = 00000003
|
||||
/* 0001C 8088CEDC AFA90034 */ sw $t1, 0x0034($sp)
|
||||
/* 00020 8088CEE0 AFA9001C */ sw $t1, 0x001C($sp)
|
||||
/* 00024 8088CEE4 AFA70040 */ sw $a3, 0x0040($sp)
|
||||
/* 00028 8088CEE8 87A4004A */ lh $a0, 0x004A($sp)
|
||||
/* 0002C 8088CEEC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00030 8088CEF0 AFA30020 */ sw $v1, 0x0020($sp)
|
||||
/* 00034 8088CEF4 87A4004A */ lh $a0, 0x004A($sp)
|
||||
/* 00038 8088CEF8 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 0003C 8088CEFC E7A00030 */ swc1 $f0, 0x0030($sp)
|
||||
/* 00040 8088CF00 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 00044 8088CF04 8FA9001C */ lw $t1, 0x001C($sp)
|
||||
/* 00048 8088CF08 8FA70040 */ lw $a3, 0x0040($sp)
|
||||
/* 0004C 8088CF0C 8FA80034 */ lw $t0, 0x0034($sp)
|
||||
/* 00050 8088CF10 0069082A */ slt $at, $v1, $t1
|
||||
/* 00054 8088CF14 C7AE0030 */ lwc1 $f14, 0x0030($sp)
|
||||
/* 00058 8088CF18 102000D4 */ beq $at, $zero, .L8088D26C
|
||||
/* 0005C 8088CF1C 00602825 */ or $a1, $v1, $zero ## $a1 = 00000000
|
||||
/* 00060 8088CF20 01231023 */ subu $v0, $t1, $v1
|
||||
/* 00064 8088CF24 30420001 */ andi $v0, $v0, 0x0001 ## $v0 = 00000000
|
||||
/* 00068 8088CF28 10400029 */ beq $v0, $zero, .L8088CFD0
|
||||
/* 0006C 8088CF2C 00082180 */ sll $a0, $t0, 6
|
||||
/* 00070 8088CF30 8CEE0190 */ lw $t6, 0x0190($a3) ## 00000190
|
||||
/* 00074 8088CF34 00037980 */ sll $t7, $v1, 6
|
||||
/* 00078 8088CF38 C4E80008 */ lwc1 $f8, 0x0008($a3) ## 00000008
|
||||
/* 0007C 8088CF3C 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* 00080 8088CF40 84580028 */ lh $t8, 0x0028($v0) ## 00000028
|
||||
/* 00084 8088CF44 8459002C */ lh $t9, 0x002C($v0) ## 0000002C
|
||||
/* 00088 8088CF48 904C0015 */ lbu $t4, 0x0015($v0) ## 00000015
|
||||
/* 0008C 8088CF4C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
|
||||
/* 00090 8088CF50 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
|
||||
/* 00094 8088CF54 8458002A */ lh $t8, 0x002A($v0) ## 0000002A
|
||||
/* 00098 8088CF58 468020A0 */ cvt.s.w $f2, $f4
|
||||
/* 0009C 8088CF5C 904E0017 */ lbu $t6, 0x0017($v0) ## 00000017
|
||||
/* 000A0 8088CF60 24650001 */ addiu $a1, $v1, 0x0001 ## $a1 = 00000001
|
||||
/* 000A4 8088CF64 358D0001 */ ori $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 000A8 8088CF68 46803320 */ cvt.s.w $f12, $f6
|
||||
/* 000AC 8088CF6C 46020282 */ mul.s $f10, $f0, $f2
|
||||
/* 000B0 8088CF70 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 000B4 8088CF74 460C7482 */ mul.s $f18, $f14, $f12
|
||||
/* 000B8 8088CF78 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 000BC 8088CF7C 46027482 */ mul.s $f18, $f14, $f2
|
||||
/* 000C0 8088CF80 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 000C4 8088CF84 440B3000 */ mfc1 $t3, $f6
|
||||
/* 000C8 8088CF88 460C0182 */ mul.s $f6, $f0, $f12
|
||||
/* 000CC 8088CF8C A44B0030 */ sh $t3, 0x0030($v0) ## 00000030
|
||||
/* 000D0 8088CF90 C4E8000C */ lwc1 $f8, 0x000C($a3) ## 0000000C
|
||||
/* 000D4 8088CF94 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 000D8 8088CF98 440F5000 */ mfc1 $t7, $f10
|
||||
/* 000DC 8088CF9C 00000000 */ nop
|
||||
/* 000E0 8088CFA0 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 000E4 8088CFA4 A4590032 */ sh $t9, 0x0032($v0) ## 00000032
|
||||
/* 000E8 8088CFA8 C4F00010 */ lwc1 $f16, 0x0010($a3) ## 00000010
|
||||
/* 000EC 8088CFAC 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 000F0 8088CFB0 A04F0017 */ sb $t7, 0x0017($v0) ## 00000017
|
||||
/* 000F4 8088CFB4 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 000F8 8088CFB8 A04D0015 */ sb $t5, 0x0015($v0) ## 00000015
|
||||
/* 000FC 8088CFBC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00100 8088CFC0 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00104 8088CFC4 440B5000 */ mfc1 $t3, $f10
|
||||
/* 00108 8088CFC8 10A900A8 */ beq $a1, $t1, .L8088D26C
|
||||
/* 0010C 8088CFCC A44B0034 */ sh $t3, 0x0034($v0) ## 00000034
|
||||
.L8088CFD0:
|
||||
/* 00110 8088CFD0 00051980 */ sll $v1, $a1, 6
|
||||
/* 00114 8088CFD4 8CF80190 */ lw $t8, 0x0190($a3) ## 00000190
|
||||
/* 00118 8088CFD8 2484FF80 */ addiu $a0, $a0, 0xFF80 ## $a0 = FFFFFF80
|
||||
/* 0011C 8088CFDC 03031021 */ addu $v0, $t8, $v1
|
||||
/* 00120 8088CFE0 10640052 */ beq $v1, $a0, .L8088D12C
|
||||
/* 00124 8088CFE4 84590028 */ lh $t9, 0x0028($v0) ## 00000028
|
||||
.L8088CFE8:
|
||||
/* 00128 8088CFE8 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
|
||||
/* 0012C 8088CFEC 844A002C */ lh $t2, 0x002C($v0) ## 0000002C
|
||||
/* 00130 8088CFF0 C4F00008 */ lwc1 $f16, 0x0008($a3) ## 00000008
|
||||
/* 00134 8088CFF4 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 00138 8088CFF8 448A6000 */ mtc1 $t2, $f12 ## $f12 = 0.00
|
||||
/* 0013C 8088CFFC 8459002A */ lh $t9, 0x002A($v0) ## 0000002A
|
||||
/* 00140 8088D000 904D0015 */ lbu $t5, 0x0015($v0) ## 00000015
|
||||
/* 00144 8088D004 904F0017 */ lbu $t7, 0x0017($v0) ## 00000017
|
||||
/* 00148 8088D008 46806320 */ cvt.s.w $f12, $f12
|
||||
/* 0014C 8088D00C 46120282 */ mul.s $f10, $f0, $f18
|
||||
/* 00150 8088D010 35AE0001 */ ori $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 00154 8088D014 460C7202 */ mul.s $f8, $f14, $f12
|
||||
/* 00158 8088D018 460A8280 */ add.s $f10, $f16, $f10
|
||||
/* 0015C 8088D01C 46127482 */ mul.s $f18, $f14, $f18
|
||||
/* 00160 8088D020 46085200 */ add.s $f8, $f10, $f8
|
||||
/* 00164 8088D024 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 00168 8088D028 460C0302 */ mul.s $f12, $f0, $f12
|
||||
/* 0016C 8088D02C 440C4000 */ mfc1 $t4, $f8
|
||||
/* 00170 8088D030 00000000 */ nop
|
||||
/* 00174 8088D034 A44C0030 */ sh $t4, 0x0030($v0) ## 00000030
|
||||
/* 00178 8088D038 C4E8000C */ lwc1 $f8, 0x000C($a3) ## 0000000C
|
||||
/* 0017C 8088D03C 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 00180 8088D040 44184000 */ mfc1 $t8, $f8
|
||||
/* 00184 8088D044 00000000 */ nop
|
||||
/* 00188 8088D048 03195021 */ addu $t2, $t8, $t9
|
||||
/* 0018C 8088D04C A44A0032 */ sh $t2, 0x0032($v0) ## 00000032
|
||||
/* 00190 8088D050 C4E80010 */ lwc1 $f8, 0x0010($a3) ## 00000010
|
||||
/* 00194 8088D054 A04E0015 */ sb $t6, 0x0015($v0) ## 00000015
|
||||
/* 00198 8088D058 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 0019C 8088D05C 46124481 */ sub.s $f18, $f8, $f18
|
||||
/* 001A0 8088D060 A0580017 */ sb $t8, 0x0017($v0) ## 00000017
|
||||
/* 001A4 8088D064 460C9300 */ add.s $f12, $f18, $f12
|
||||
/* 001A8 8088D068 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 001AC 8088D06C 440C6000 */ mfc1 $t4, $f12
|
||||
/* 001B0 8088D070 00000000 */ nop
|
||||
/* 001B4 8088D074 A44C0034 */ sh $t4, 0x0034($v0) ## 00000034
|
||||
/* 001B8 8088D078 8CF90190 */ lw $t9, 0x0190($a3) ## 00000190
|
||||
/* 001BC 8088D07C C4EC0008 */ lwc1 $f12, 0x0008($a3) ## 00000008
|
||||
/* 001C0 8088D080 03231021 */ addu $v0, $t9, $v1
|
||||
/* 001C4 8088D084 844A0068 */ lh $t2, 0x0068($v0) ## 00000068
|
||||
/* 001C8 8088D088 844B006C */ lh $t3, 0x006C($v0) ## 0000006C
|
||||
/* 001CC 8088D08C 904E0055 */ lbu $t6, 0x0055($v0) ## 00000055
|
||||
/* 001D0 8088D090 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
|
||||
/* 001D4 8088D094 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
|
||||
/* 001D8 8088D098 844A006A */ lh $t2, 0x006A($v0) ## 0000006A
|
||||
/* 001DC 8088D09C 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 001E0 8088D0A0 90580057 */ lbu $t8, 0x0057($v0) ## 00000057
|
||||
/* 001E4 8088D0A4 24420040 */ addiu $v0, $v0, 0x0040 ## $v0 = 00000040
|
||||
/* 001E8 8088D0A8 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 001EC 8088D0AC 24630080 */ addiu $v1, $v1, 0x0080 ## $v1 = 00000080
|
||||
/* 001F0 8088D0B0 46804220 */ cvt.s.w $f8, $f8
|
||||
/* 001F4 8088D0B4 46120282 */ mul.s $f10, $f0, $f18
|
||||
/* 001F8 8088D0B8 460A6280 */ add.s $f10, $f12, $f10
|
||||
/* 001FC 8088D0BC 46087302 */ mul.s $f12, $f14, $f8
|
||||
/* 00200 8088D0C0 460C5300 */ add.s $f12, $f10, $f12
|
||||
/* 00204 8088D0C4 46127482 */ mul.s $f18, $f14, $f18
|
||||
/* 00208 8088D0C8 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 0020C 8088D0CC 46080202 */ mul.s $f8, $f0, $f8
|
||||
/* 00210 8088D0D0 440D6000 */ mfc1 $t5, $f12
|
||||
/* 00214 8088D0D4 00000000 */ nop
|
||||
/* 00218 8088D0D8 A44D0030 */ sh $t5, 0x0030($v0) ## 00000070
|
||||
/* 0021C 8088D0DC C4EC000C */ lwc1 $f12, 0x000C($a3) ## 0000000C
|
||||
/* 00220 8088D0E0 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 00224 8088D0E4 44196000 */ mfc1 $t9, $f12
|
||||
/* 00228 8088D0E8 00000000 */ nop
|
||||
/* 0022C 8088D0EC 032A5821 */ addu $t3, $t9, $t2
|
||||
/* 00230 8088D0F0 A44B0032 */ sh $t3, 0x0032($v0) ## 00000072
|
||||
/* 00234 8088D0F4 C4EC0010 */ lwc1 $f12, 0x0010($a3) ## 00000010
|
||||
/* 00238 8088D0F8 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 0023C 8088D0FC A04F0015 */ sb $t7, 0x0015($v0) ## 00000055
|
||||
/* 00240 8088D100 46126481 */ sub.s $f18, $f12, $f18
|
||||
/* 00244 8088D104 A0590017 */ sb $t9, 0x0017($v0) ## 00000057
|
||||
/* 00248 8088D108 46089200 */ add.s $f8, $f18, $f8
|
||||
/* 0024C 8088D10C 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 00250 8088D110 440D4000 */ mfc1 $t5, $f8
|
||||
/* 00254 8088D114 00000000 */ nop
|
||||
/* 00258 8088D118 A44D0034 */ sh $t5, 0x0034($v0) ## 00000074
|
||||
/* 0025C 8088D11C 8CF80190 */ lw $t8, 0x0190($a3) ## 00000190
|
||||
/* 00260 8088D120 03031021 */ addu $v0, $t8, $v1
|
||||
/* 00264 8088D124 1464FFB0 */ bne $v1, $a0, .L8088CFE8
|
||||
/* 00268 8088D128 84590028 */ lh $t9, 0x0028($v0) ## 00000068
|
||||
.L8088D12C:
|
||||
/* 0026C 8088D12C 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
|
||||
/* 00270 8088D130 844A002C */ lh $t2, 0x002C($v0) ## 0000006C
|
||||
/* 00274 8088D134 C4F00008 */ lwc1 $f16, 0x0008($a3) ## 00000008
|
||||
/* 00278 8088D138 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 0027C 8088D13C 448A6000 */ mtc1 $t2, $f12 ## $f12 = 0.00
|
||||
/* 00280 8088D140 8459002A */ lh $t9, 0x002A($v0) ## 0000006A
|
||||
/* 00284 8088D144 904D0015 */ lbu $t5, 0x0015($v0) ## 00000055
|
||||
/* 00288 8088D148 904F0017 */ lbu $t7, 0x0017($v0) ## 00000057
|
||||
/* 0028C 8088D14C 46806320 */ cvt.s.w $f12, $f12
|
||||
/* 00290 8088D150 46120282 */ mul.s $f10, $f0, $f18
|
||||
/* 00294 8088D154 35AE0001 */ ori $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 00298 8088D158 24840080 */ addiu $a0, $a0, 0x0080 ## $a0 = 00000000
|
||||
/* 0029C 8088D15C 460C7202 */ mul.s $f8, $f14, $f12
|
||||
/* 002A0 8088D160 460A8280 */ add.s $f10, $f16, $f10
|
||||
/* 002A4 8088D164 46127482 */ mul.s $f18, $f14, $f18
|
||||
/* 002A8 8088D168 00000000 */ nop
|
||||
/* 002AC 8088D16C 460C0302 */ mul.s $f12, $f0, $f12
|
||||
/* 002B0 8088D170 46085200 */ add.s $f8, $f10, $f8
|
||||
/* 002B4 8088D174 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 002B8 8088D178 440C4000 */ mfc1 $t4, $f8
|
||||
/* 002BC 8088D17C 00000000 */ nop
|
||||
/* 002C0 8088D180 A44C0030 */ sh $t4, 0x0030($v0) ## 00000070
|
||||
/* 002C4 8088D184 C4E8000C */ lwc1 $f8, 0x000C($a3) ## 0000000C
|
||||
/* 002C8 8088D188 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 002CC 8088D18C 44184000 */ mfc1 $t8, $f8
|
||||
/* 002D0 8088D190 00000000 */ nop
|
||||
/* 002D4 8088D194 03195021 */ addu $t2, $t8, $t9
|
||||
/* 002D8 8088D198 A44A0032 */ sh $t2, 0x0032($v0) ## 00000072
|
||||
/* 002DC 8088D19C C4E80010 */ lwc1 $f8, 0x0010($a3) ## 00000010
|
||||
/* 002E0 8088D1A0 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 002E4 8088D1A4 A04E0015 */ sb $t6, 0x0015($v0) ## 00000055
|
||||
/* 002E8 8088D1A8 46124481 */ sub.s $f18, $f8, $f18
|
||||
/* 002EC 8088D1AC A0580017 */ sb $t8, 0x0017($v0) ## 00000057
|
||||
/* 002F0 8088D1B0 460C9300 */ add.s $f12, $f18, $f12
|
||||
/* 002F4 8088D1B4 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 002F8 8088D1B8 440C6000 */ mfc1 $t4, $f12
|
||||
/* 002FC 8088D1BC 00000000 */ nop
|
||||
/* 00300 8088D1C0 A44C0034 */ sh $t4, 0x0034($v0) ## 00000074
|
||||
/* 00304 8088D1C4 8CF90190 */ lw $t9, 0x0190($a3) ## 00000190
|
||||
/* 00308 8088D1C8 C4EC0008 */ lwc1 $f12, 0x0008($a3) ## 00000008
|
||||
/* 0030C 8088D1CC 03231021 */ addu $v0, $t9, $v1
|
||||
/* 00310 8088D1D0 844A0068 */ lh $t2, 0x0068($v0) ## 000000A8
|
||||
/* 00314 8088D1D4 844B006C */ lh $t3, 0x006C($v0) ## 000000AC
|
||||
/* 00318 8088D1D8 904E0055 */ lbu $t6, 0x0055($v0) ## 00000095
|
||||
/* 0031C 8088D1DC 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
|
||||
/* 00320 8088D1E0 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
|
||||
/* 00324 8088D1E4 844A006A */ lh $t2, 0x006A($v0) ## 000000AA
|
||||
/* 00328 8088D1E8 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 0032C 8088D1EC 90580057 */ lbu $t8, 0x0057($v0) ## 00000097
|
||||
/* 00330 8088D1F0 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00334 8088D1F4 24420040 */ addiu $v0, $v0, 0x0040 ## $v0 = 00000080
|
||||
/* 00338 8088D1F8 24630080 */ addiu $v1, $v1, 0x0080 ## $v1 = 00000100
|
||||
/* 0033C 8088D1FC 46804220 */ cvt.s.w $f8, $f8
|
||||
/* 00340 8088D200 46120282 */ mul.s $f10, $f0, $f18
|
||||
/* 00344 8088D204 460A6280 */ add.s $f10, $f12, $f10
|
||||
/* 00348 8088D208 46087302 */ mul.s $f12, $f14, $f8
|
||||
/* 0034C 8088D20C 460C5300 */ add.s $f12, $f10, $f12
|
||||
/* 00350 8088D210 46127482 */ mul.s $f18, $f14, $f18
|
||||
/* 00354 8088D214 00000000 */ nop
|
||||
/* 00358 8088D218 46080202 */ mul.s $f8, $f0, $f8
|
||||
/* 0035C 8088D21C 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 00360 8088D220 440D6000 */ mfc1 $t5, $f12
|
||||
/* 00364 8088D224 00000000 */ nop
|
||||
/* 00368 8088D228 A44D0030 */ sh $t5, 0x0030($v0) ## 000000B0
|
||||
/* 0036C 8088D22C C4EC000C */ lwc1 $f12, 0x000C($a3) ## 0000000C
|
||||
/* 00370 8088D230 4600630D */ trunc.w.s $f12, $f12
|
||||
/* 00374 8088D234 44196000 */ mfc1 $t9, $f12
|
||||
/* 00378 8088D238 00000000 */ nop
|
||||
/* 0037C 8088D23C 032A5821 */ addu $t3, $t9, $t2
|
||||
/* 00380 8088D240 A44B0032 */ sh $t3, 0x0032($v0) ## 000000B2
|
||||
/* 00384 8088D244 C4EC0010 */ lwc1 $f12, 0x0010($a3) ## 00000010
|
||||
/* 00388 8088D248 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 0038C 8088D24C A0590017 */ sb $t9, 0x0017($v0) ## 00000097
|
||||
/* 00390 8088D250 46126481 */ sub.s $f18, $f12, $f18
|
||||
/* 00394 8088D254 A04F0015 */ sb $t7, 0x0015($v0) ## 00000095
|
||||
/* 00398 8088D258 46089200 */ add.s $f8, $f18, $f8
|
||||
/* 0039C 8088D25C 4600420D */ trunc.w.s $f8, $f8
|
||||
/* 003A0 8088D260 440D4000 */ mfc1 $t5, $f8
|
||||
/* 003A4 8088D264 00000000 */ nop
|
||||
/* 003A8 8088D268 A44D0034 */ sh $t5, 0x0034($v0) ## 000000B4
|
||||
.L8088D26C:
|
||||
/* 003AC 8088D26C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003B0 8088D270 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 003B4 8088D274 03E00008 */ jr $ra
|
||||
/* 003B8 8088D278 00000000 */ nop
|
|
@ -1,203 +0,0 @@
|
|||
glabel func_8088D434
|
||||
/* 00574 8088D434 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
|
||||
/* 00578 8088D438 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 0057C 8088D43C 44811000 */ mtc1 $at, $f2 ## $f2 = 80.00
|
||||
/* 00580 8088D440 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00584 8088D444 AFB70030 */ sw $s7, 0x0030($sp)
|
||||
/* 00588 8088D448 AFB6002C */ sw $s6, 0x002C($sp)
|
||||
/* 0058C 8088D44C AFB50028 */ sw $s5, 0x0028($sp)
|
||||
/* 00590 8088D450 AFB40024 */ sw $s4, 0x0024($sp)
|
||||
/* 00594 8088D454 AFB30020 */ sw $s3, 0x0020($sp)
|
||||
/* 00598 8088D458 AFB2001C */ sw $s2, 0x001C($sp)
|
||||
/* 0059C 8088D45C AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 005A0 8088D460 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 005A4 8088D464 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 005A8 8088D468 44813000 */ mtc1 $at, $f6 ## $f6 = 300.00
|
||||
/* 005AC 8088D46C C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 005B0 8088D470 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 005B4 8088D474 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 005B8 8088D478 4606203C */ c.lt.s $f4, $f6
|
||||
/* 005BC 8088D47C 0000B825 */ or $s7, $zero, $zero ## $s7 = 00000000
|
||||
/* 005C0 8088D480 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
|
||||
/* 005C4 8088D484 02009025 */ or $s2, $s0, $zero ## $s2 = 00000000
|
||||
/* 005C8 8088D488 45000002 */ bc1f .L8088D494
|
||||
/* 005CC 8088D48C 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 005D0 8088D490 24170001 */ addiu $s7, $zero, 0x0001 ## $s7 = 00000001
|
||||
.L8088D494:
|
||||
/* 005D4 8088D494 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 005D8 8088D498 C44A0024 */ lwc1 $f10, 0x0024($v0) ## 00000024
|
||||
/* 005DC 8088D49C 00007025 */ or $t6, $zero, $zero ## $t6 = 00000000
|
||||
/* 005E0 8088D4A0 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
|
||||
/* 005E4 8088D4A4 460A4001 */ sub.s $f0, $f8, $f10
|
||||
/* 005E8 8088D4A8 24160023 */ addiu $s6, $zero, 0x0023 ## $s6 = 00000023
|
||||
/* 005EC 8088D4AC 27B50060 */ addiu $s5, $sp, 0x0060 ## $s5 = FFFFFFF0
|
||||
/* 005F0 8088D4B0 46000005 */ abs.s $f0, $f0
|
||||
/* 005F4 8088D4B4 4602003C */ c.lt.s $f0, $f2
|
||||
/* 005F8 8088D4B8 00000000 */ nop
|
||||
/* 005FC 8088D4BC 45020003 */ bc1fl .L8088D4CC
|
||||
/* 00600 8088D4C0 AFAE0060 */ sw $t6, 0x0060($sp)
|
||||
/* 00604 8088D4C4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00608 8088D4C8 AFAE0060 */ sw $t6, 0x0060($sp)
|
||||
.L8088D4CC:
|
||||
/* 0060C 8088D4CC C452002C */ lwc1 $f18, 0x002C($v0) ## 0000002C
|
||||
/* 00610 8088D4D0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00614 8088D4D4 00007825 */ or $t7, $zero, $zero ## $t7 = 00000000
|
||||
/* 00618 8088D4D8 46128001 */ sub.s $f0, $f16, $f18
|
||||
/* 0061C 8088D4DC 46000005 */ abs.s $f0, $f0
|
||||
/* 00620 8088D4E0 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00624 8088D4E4 00000000 */ nop
|
||||
/* 00628 8088D4E8 45020003 */ bc1fl .L8088D4F8
|
||||
/* 0062C 8088D4EC AFAF0064 */ sw $t7, 0x0064($sp)
|
||||
/* 00630 8088D4F0 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00634 8088D4F4 AFAF0064 */ sw $t7, 0x0064($sp)
|
||||
.L8088D4F8:
|
||||
/* 00638 8088D4F8 86580168 */ lh $t8, 0x0168($s2) ## 00000168
|
||||
/* 0063C 8088D4FC 26420168 */ addiu $v0, $s2, 0x0168 ## $v0 = 00000168
|
||||
/* 00640 8088D500 57000005 */ bnel $t8, $zero, .L8088D518
|
||||
/* 00644 8088D504 84480000 */ lh $t0, 0x0000($v0) ## 00000168
|
||||
/* 00648 8088D508 8619008A */ lh $t9, 0x008A($s0) ## 0000008A
|
||||
/* 0064C 8088D50C 10000006 */ beq $zero, $zero, .L8088D528
|
||||
/* 00650 8088D510 03331823 */ subu $v1, $t9, $s3
|
||||
/* 00654 8088D514 84480000 */ lh $t0, 0x0000($v0) ## 00000168
|
||||
.L8088D518:
|
||||
/* 00658 8088D518 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 0065C 8088D51C A4490000 */ sh $t1, 0x0000($v0) ## 00000168
|
||||
/* 00660 8088D520 860A008A */ lh $t2, 0x008A($s0) ## 0000008A
|
||||
/* 00664 8088D524 01531823 */ subu $v1, $t2, $s3
|
||||
.L8088D528:
|
||||
/* 00668 8088D528 00031400 */ sll $v0, $v1, 16
|
||||
/* 0066C 8088D52C 00021403 */ sra $v0, $v0, 16
|
||||
/* 00670 8088D530 06210004 */ bgez $s1, .L8088D544
|
||||
/* 00674 8088D534 322B0001 */ andi $t3, $s1, 0x0001 ## $t3 = 00000000
|
||||
/* 00678 8088D538 11600002 */ beq $t3, $zero, .L8088D544
|
||||
/* 0067C 8088D53C 00000000 */ nop
|
||||
/* 00680 8088D540 256BFFFE */ addiu $t3, $t3, 0xFFFE ## $t3 = FFFFFFFE
|
||||
.L8088D544:
|
||||
/* 00684 8088D544 000B6080 */ sll $t4, $t3, 2
|
||||
/* 00688 8088D548 02AC6821 */ addu $t5, $s5, $t4
|
||||
/* 0068C 8088D54C 8DAE0000 */ lw $t6, 0x0000($t5) ## 00000000
|
||||
/* 00690 8088D550 51C0001D */ beql $t6, $zero, .L8088D5C8
|
||||
/* 00694 8088D554 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 00698 8088D558 52E0001B */ beql $s7, $zero, .L8088D5C8
|
||||
/* 0069C 8088D55C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
|
||||
/* 006A0 8088D560 04400003 */ bltz $v0, .L8088D570
|
||||
/* 006A4 8088D564 00022823 */ subu $a1, $zero, $v0
|
||||
/* 006A8 8088D568 10000001 */ beq $zero, $zero, .L8088D570
|
||||
/* 006AC 8088D56C 00402825 */ or $a1, $v0, $zero ## $a1 = 00000168
|
||||
.L8088D570:
|
||||
/* 006B0 8088D570 28A14001 */ slti $at, $a1, 0x4001
|
||||
/* 006B4 8088D574 10200013 */ beq $at, $zero, .L8088D5C4
|
||||
/* 006B8 8088D578 26420168 */ addiu $v0, $s2, 0x0168 ## $v0 = 00000168
|
||||
/* 006BC 8088D57C 84430000 */ lh $v1, 0x0000($v0) ## 00000168
|
||||
/* 006C0 8088D580 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
|
||||
/* 006C4 8088D584 28610004 */ slti $at, $v1, 0x0004
|
||||
/* 006C8 8088D588 10200002 */ beq $at, $zero, .L8088D594
|
||||
/* 006CC 8088D58C 02C37823 */ subu $t7, $s6, $v1
|
||||
/* 006D0 8088D590 A44F0000 */ sh $t7, 0x0000($v0) ## 00000168
|
||||
.L8088D594:
|
||||
/* 006D4 8088D594 2A810002 */ slti $at, $s4, 0x0002
|
||||
/* 006D8 8088D598 14200003 */ bne $at, $zero, .L8088D5A8
|
||||
/* 006DC 8088D59C 00000000 */ nop
|
||||
/* 006E0 8088D5A0 10000001 */ beq $zero, $zero, .L8088D5A8
|
||||
/* 006E4 8088D5A4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
.L8088D5A8:
|
||||
/* 006E8 8088D5A8 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
|
||||
/* 006EC 8088D5AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006F0 8088D5B0 03133021 */ addu $a2, $t8, $s3
|
||||
/* 006F4 8088D5B4 00063400 */ sll $a2, $a2, 16
|
||||
/* 006F8 8088D5B8 0C2233B0 */ jal func_8088CEC0
|
||||
/* 006FC 8088D5BC 00063403 */ sra $a2, $a2, 16
|
||||
/* 00700 8088D5C0 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
|
||||
.L8088D5C4:
|
||||
/* 00704 8088D5C4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000003
|
||||
.L8088D5C8:
|
||||
/* 00708 8088D5C8 2A210004 */ slti $at, $s1, 0x0004
|
||||
/* 0070C 8088D5CC 26520002 */ addiu $s2, $s2, 0x0002 ## $s2 = 00000002
|
||||
/* 00710 8088D5D0 1420FFC9 */ bne $at, $zero, .L8088D4F8
|
||||
/* 00714 8088D5D4 26734000 */ addiu $s3, $s3, 0x4000 ## $s3 = 00004000
|
||||
/* 00718 8088D5D8 00141080 */ sll $v0, $s4, 2
|
||||
/* 0071C 8088D5DC 00541023 */ subu $v0, $v0, $s4
|
||||
/* 00720 8088D5E0 28410006 */ slti $at, $v0, 0x0006
|
||||
/* 00724 8088D5E4 10200043 */ beq $at, $zero, .L8088D6F4
|
||||
/* 00728 8088D5E8 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 0072C 8088D5EC 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 00730 8088D5F0 00C22023 */ subu $a0, $a2, $v0
|
||||
/* 00734 8088D5F4 30840003 */ andi $a0, $a0, 0x0003 ## $a0 = 00000000
|
||||
/* 00738 8088D5F8 10800011 */ beq $a0, $zero, .L8088D640
|
||||
/* 0073C 8088D5FC 00822821 */ addu $a1, $a0, $v0
|
||||
/* 00740 8088D600 00021980 */ sll $v1, $v0, 6
|
||||
/* 00744 8088D604 2404FFFE */ addiu $a0, $zero, 0xFFFE ## $a0 = FFFFFFFE
|
||||
.L8088D608:
|
||||
/* 00748 8088D608 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
||||
/* 0074C 8088D60C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 00750 8088D610 03231021 */ addu $v0, $t9, $v1
|
||||
/* 00754 8088D614 90480015 */ lbu $t0, 0x0015($v0) ## 00000015
|
||||
/* 00758 8088D618 01044824 */ and $t1, $t0, $a0
|
||||
/* 0075C 8088D61C A0490015 */ sb $t1, 0x0015($v0) ## 00000015
|
||||
/* 00760 8088D620 8E0A0190 */ lw $t2, 0x0190($s0) ## 00000190
|
||||
/* 00764 8088D624 01431021 */ addu $v0, $t2, $v1
|
||||
/* 00768 8088D628 904B0017 */ lbu $t3, 0x0017($v0) ## 00000017
|
||||
/* 0076C 8088D62C 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000040
|
||||
/* 00770 8088D630 01646024 */ and $t4, $t3, $a0
|
||||
/* 00774 8088D634 14B1FFF4 */ bne $a1, $s1, .L8088D608
|
||||
/* 00778 8088D638 A04C0017 */ sb $t4, 0x0017($v0) ## 00000017
|
||||
/* 0077C 8088D63C 1226002D */ beq $s1, $a2, .L8088D6F4
|
||||
.L8088D640:
|
||||
/* 00780 8088D640 2404FFFE */ addiu $a0, $zero, 0xFFFE ## $a0 = FFFFFFFE
|
||||
/* 00784 8088D644 00111980 */ sll $v1, $s1, 6
|
||||
/* 00788 8088D648 24050180 */ addiu $a1, $zero, 0x0180 ## $a1 = 00000180
|
||||
.L8088D64C:
|
||||
/* 0078C 8088D64C 8E0D0190 */ lw $t5, 0x0190($s0) ## 00000190
|
||||
/* 00790 8088D650 01A31021 */ addu $v0, $t5, $v1
|
||||
/* 00794 8088D654 904E0015 */ lbu $t6, 0x0015($v0) ## 00000015
|
||||
/* 00798 8088D658 01C47824 */ and $t7, $t6, $a0
|
||||
/* 0079C 8088D65C A04F0015 */ sb $t7, 0x0015($v0) ## 00000015
|
||||
/* 007A0 8088D660 8E180190 */ lw $t8, 0x0190($s0) ## 00000190
|
||||
/* 007A4 8088D664 03031021 */ addu $v0, $t8, $v1
|
||||
/* 007A8 8088D668 90590017 */ lbu $t9, 0x0017($v0) ## 00000017
|
||||
/* 007AC 8088D66C 03244024 */ and $t0, $t9, $a0
|
||||
/* 007B0 8088D670 A0480017 */ sb $t0, 0x0017($v0) ## 00000017
|
||||
/* 007B4 8088D674 8E090190 */ lw $t1, 0x0190($s0) ## 00000190
|
||||
/* 007B8 8088D678 01231021 */ addu $v0, $t1, $v1
|
||||
/* 007BC 8088D67C 904A0055 */ lbu $t2, 0x0055($v0) ## 00000055
|
||||
/* 007C0 8088D680 01445824 */ and $t3, $t2, $a0
|
||||
/* 007C4 8088D684 A04B0055 */ sb $t3, 0x0055($v0) ## 00000055
|
||||
/* 007C8 8088D688 8E0C0190 */ lw $t4, 0x0190($s0) ## 00000190
|
||||
/* 007CC 8088D68C 01831021 */ addu $v0, $t4, $v1
|
||||
/* 007D0 8088D690 904D0057 */ lbu $t5, 0x0057($v0) ## 00000057
|
||||
/* 007D4 8088D694 01A47024 */ and $t6, $t5, $a0
|
||||
/* 007D8 8088D698 A04E0057 */ sb $t6, 0x0057($v0) ## 00000057
|
||||
/* 007DC 8088D69C 8E0F0190 */ lw $t7, 0x0190($s0) ## 00000190
|
||||
/* 007E0 8088D6A0 01E31021 */ addu $v0, $t7, $v1
|
||||
/* 007E4 8088D6A4 90580095 */ lbu $t8, 0x0095($v0) ## 00000095
|
||||
/* 007E8 8088D6A8 0304C824 */ and $t9, $t8, $a0
|
||||
/* 007EC 8088D6AC A0590095 */ sb $t9, 0x0095($v0) ## 00000095
|
||||
/* 007F0 8088D6B0 8E080190 */ lw $t0, 0x0190($s0) ## 00000190
|
||||
/* 007F4 8088D6B4 01031021 */ addu $v0, $t0, $v1
|
||||
/* 007F8 8088D6B8 90490097 */ lbu $t1, 0x0097($v0) ## 00000097
|
||||
/* 007FC 8088D6BC 01245024 */ and $t2, $t1, $a0
|
||||
/* 00800 8088D6C0 A04A0097 */ sb $t2, 0x0097($v0) ## 00000097
|
||||
/* 00804 8088D6C4 8E0B0190 */ lw $t3, 0x0190($s0) ## 00000190
|
||||
/* 00808 8088D6C8 01631021 */ addu $v0, $t3, $v1
|
||||
/* 0080C 8088D6CC 904C00D5 */ lbu $t4, 0x00D5($v0) ## 000000D5
|
||||
/* 00810 8088D6D0 01846824 */ and $t5, $t4, $a0
|
||||
/* 00814 8088D6D4 A04D00D5 */ sb $t5, 0x00D5($v0) ## 000000D5
|
||||
/* 00818 8088D6D8 8E0E0190 */ lw $t6, 0x0190($s0) ## 00000190
|
||||
/* 0081C 8088D6DC 01C31021 */ addu $v0, $t6, $v1
|
||||
/* 00820 8088D6E0 904F00D7 */ lbu $t7, 0x00D7($v0) ## 000000D7
|
||||
/* 00824 8088D6E4 24630100 */ addiu $v1, $v1, 0x0100 ## $v1 = 00000140
|
||||
/* 00828 8088D6E8 01E4C024 */ and $t8, $t7, $a0
|
||||
/* 0082C 8088D6EC 1465FFD7 */ bne $v1, $a1, .L8088D64C
|
||||
/* 00830 8088D6F0 A05800D7 */ sb $t8, 0x00D7($v0) ## 000000D7
|
||||
.L8088D6F4:
|
||||
/* 00834 8088D6F4 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00838 8088D6F8 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 0083C 8088D6FC 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00840 8088D700 8FB2001C */ lw $s2, 0x001C($sp)
|
||||
/* 00844 8088D704 8FB30020 */ lw $s3, 0x0020($sp)
|
||||
/* 00848 8088D708 8FB40024 */ lw $s4, 0x0024($sp)
|
||||
/* 0084C 8088D70C 8FB50028 */ lw $s5, 0x0028($sp)
|
||||
/* 00850 8088D710 8FB6002C */ lw $s6, 0x002C($sp)
|
||||
/* 00854 8088D714 8FB70030 */ lw $s7, 0x0030($sp)
|
||||
/* 00858 8088D718 03E00008 */ jr $ra
|
||||
/* 0085C 8088D71C 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
|
|
@ -1,14 +0,0 @@
|
|||
glabel func_8088D720
|
||||
/* 00860 8088D720 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00864 8088D724 848E0168 */ lh $t6, 0x0168($a0) ## 00000168
|
||||
/* 00868 8088D728 24190024 */ addiu $t9, $zero, 0x0024 ## $t9 = 00000024
|
||||
/* 0086C 8088D72C 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00870 8088D730 A48F0168 */ sh $t7, 0x0168($a0) ## 00000168
|
||||
/* 00874 8088D734 84980168 */ lh $t8, 0x0168($a0) ## 00000168
|
||||
/* 00878 8088D738 2B01FFDD */ slti $at, $t8, 0xFFDD
|
||||
/* 0087C 8088D73C 10200002 */ beq $at, $zero, .L8088D748
|
||||
/* 00880 8088D740 00000000 */ nop
|
||||
/* 00884 8088D744 A4990168 */ sh $t9, 0x0168($a0) ## 00000168
|
||||
.L8088D748:
|
||||
/* 00888 8088D748 03E00008 */ jr $ra
|
||||
/* 0088C 8088D74C 00000000 */ nop
|
|
@ -1,103 +0,0 @@
|
|||
glabel func_8088D750
|
||||
/* 00890 8088D750 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00894 8088D754 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00898 8088D758 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0089C 8088D75C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 008A0 8088D760 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 008A4 8088D764 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
|
||||
/* 008A8 8088D768 C4860090 */ lwc1 $f6, 0x0090($a0) ## 00000090
|
||||
/* 008AC 8088D76C 8FAF0020 */ lw $t7, 0x0020($sp)
|
||||
/* 008B0 8088D770 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 008B4 8088D774 4606203C */ c.lt.s $f4, $f6
|
||||
/* 008B8 8088D778 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
|
||||
/* 008BC 8088D77C 45020004 */ bc1fl .L8088D790
|
||||
/* 008C0 8088D780 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C
|
||||
/* 008C4 8088D784 10000043 */ beq $zero, $zero, .L8088D894
|
||||
/* 008C8 8088D788 8487008A */ lh $a3, 0x008A($a0) ## 0000008A
|
||||
/* 008CC 8088D78C 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C
|
||||
.L8088D790:
|
||||
/* 008D0 8088D790 8FA80020 */ lw $t0, 0x0020($sp)
|
||||
/* 008D4 8088D794 5700001E */ bnel $t8, $zero, .L8088D810
|
||||
/* 008D8 8088D798 8507008A */ lh $a3, 0x008A($t0) ## 0000008A
|
||||
/* 008DC 8088D79C 85E200B6 */ lh $v0, 0x00B6($t7) ## 000000B6
|
||||
/* 008E0 8088D7A0 85F9008A */ lh $t9, 0x008A($t7) ## 0000008A
|
||||
/* 008E4 8088D7A4 03223823 */ subu $a3, $t9, $v0
|
||||
/* 008E8 8088D7A8 00073C00 */ sll $a3, $a3, 16
|
||||
/* 008EC 8088D7AC 00073C03 */ sra $a3, $a3, 16
|
||||
/* 008F0 8088D7B0 28E12001 */ slti $at, $a3, 0x2001
|
||||
/* 008F4 8088D7B4 54200006 */ bnel $at, $zero, .L8088D7D0
|
||||
/* 008F8 8088D7B8 28E1E000 */ slti $at, $a3, 0xE000
|
||||
/* 008FC 8088D7BC 24476000 */ addiu $a3, $v0, 0x6000 ## $a3 = 00006000
|
||||
/* 00900 8088D7C0 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00904 8088D7C4 10000033 */ beq $zero, $zero, .L8088D894
|
||||
/* 00908 8088D7C8 00073C03 */ sra $a3, $a3, 16
|
||||
/* 0090C 8088D7CC 28E1E000 */ slti $at, $a3, 0xE000
|
||||
.L8088D7D0:
|
||||
/* 00910 8088D7D0 10200005 */ beq $at, $zero, .L8088D7E8
|
||||
/* 00914 8088D7D4 00000000 */ nop
|
||||
/* 00918 8088D7D8 2447A000 */ addiu $a3, $v0, 0xA000 ## $a3 = FFFFA000
|
||||
/* 0091C 8088D7DC 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00920 8088D7E0 1000002C */ beq $zero, $zero, .L8088D894
|
||||
/* 00924 8088D7E4 00073C03 */ sra $a3, $a3, 16
|
||||
.L8088D7E8:
|
||||
/* 00928 8088D7E8 18E00004 */ blez $a3, .L8088D7FC
|
||||
/* 0092C 8088D7EC 2447E000 */ addiu $a3, $v0, 0xE000 ## $a3 = FFFFE000
|
||||
/* 00930 8088D7F0 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00934 8088D7F4 10000027 */ beq $zero, $zero, .L8088D894
|
||||
/* 00938 8088D7F8 00073C03 */ sra $a3, $a3, 16
|
||||
.L8088D7FC:
|
||||
/* 0093C 8088D7FC 24472000 */ addiu $a3, $v0, 0x2000 ## $a3 = 00002000
|
||||
/* 00940 8088D800 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00944 8088D804 10000023 */ beq $zero, $zero, .L8088D894
|
||||
/* 00948 8088D808 00073C03 */ sra $a3, $a3, 16
|
||||
/* 0094C 8088D80C 8507008A */ lh $a3, 0x008A($t0) ## 0000008A
|
||||
.L8088D810:
|
||||
/* 00950 8088D810 28E16001 */ slti $at, $a3, 0x6001
|
||||
/* 00954 8088D814 54200004 */ bnel $at, $zero, .L8088D828
|
||||
/* 00958 8088D818 28E14001 */ slti $at, $a3, 0x4001
|
||||
/* 0095C 8088D81C 1000001D */ beq $zero, $zero, .L8088D894
|
||||
/* 00960 8088D820 24074000 */ addiu $a3, $zero, 0x4000 ## $a3 = 00004000
|
||||
/* 00964 8088D824 28E14001 */ slti $at, $a3, 0x4001
|
||||
.L8088D828:
|
||||
/* 00968 8088D828 54200004 */ bnel $at, $zero, .L8088D83C
|
||||
/* 0096C 8088D82C 28E12001 */ slti $at, $a3, 0x2001
|
||||
/* 00970 8088D830 10000018 */ beq $zero, $zero, .L8088D894
|
||||
/* 00974 8088D834 24078000 */ addiu $a3, $zero, 0x8000 ## $a3 = FFFF8000
|
||||
/* 00978 8088D838 28E12001 */ slti $at, $a3, 0x2001
|
||||
.L8088D83C:
|
||||
/* 0097C 8088D83C 14200003 */ bne $at, $zero, .L8088D84C
|
||||
/* 00980 8088D840 00000000 */ nop
|
||||
/* 00984 8088D844 10000013 */ beq $zero, $zero, .L8088D894
|
||||
/* 00988 8088D848 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
.L8088D84C:
|
||||
/* 0098C 8088D84C 18E00003 */ blez $a3, .L8088D85C
|
||||
/* 00990 8088D850 28E1A000 */ slti $at, $a3, 0xA000
|
||||
/* 00994 8088D854 1000000F */ beq $zero, $zero, .L8088D894
|
||||
/* 00998 8088D858 24074000 */ addiu $a3, $zero, 0x4000 ## $a3 = 00004000
|
||||
.L8088D85C:
|
||||
/* 0099C 8088D85C 50200004 */ beql $at, $zero, .L8088D870
|
||||
/* 009A0 8088D860 28E1C000 */ slti $at, $a3, 0xC000
|
||||
/* 009A4 8088D864 1000000B */ beq $zero, $zero, .L8088D894
|
||||
/* 009A8 8088D868 2407C000 */ addiu $a3, $zero, 0xC000 ## $a3 = FFFFC000
|
||||
/* 009AC 8088D86C 28E1C000 */ slti $at, $a3, 0xC000
|
||||
.L8088D870:
|
||||
/* 009B0 8088D870 50200004 */ beql $at, $zero, .L8088D884
|
||||
/* 009B4 8088D874 28E1E000 */ slti $at, $a3, 0xE000
|
||||
/* 009B8 8088D878 10000006 */ beq $zero, $zero, .L8088D894
|
||||
/* 009BC 8088D87C 24078000 */ addiu $a3, $zero, 0x8000 ## $a3 = FFFF8000
|
||||
/* 009C0 8088D880 28E1E000 */ slti $at, $a3, 0xE000
|
||||
.L8088D884:
|
||||
/* 009C4 8088D884 10200003 */ beq $at, $zero, .L8088D894
|
||||
/* 009C8 8088D888 2407C000 */ addiu $a3, $zero, 0xC000 ## $a3 = FFFFC000
|
||||
/* 009CC 8088D88C 10000001 */ beq $zero, $zero, .L8088D894
|
||||
/* 009D0 8088D890 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
.L8088D894:
|
||||
/* 009D4 8088D894 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 009D8 8088D898 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 009DC 8088D89C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 009E0 8088D8A0 0C00BDC7 */ jal func_8002F71C
|
||||
/* 009E4 8088D8A4 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 009E8 8088D8A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 009EC 8088D8AC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 009F0 8088D8B0 03E00008 */ jr $ra
|
||||
/* 009F4 8088D8B4 00000000 */ nop
|
|
@ -1,171 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8088E2A0
|
||||
.asciz "../z_bg_hidan_sekizou.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_8088E300
|
||||
.word 0x3E124925
|
||||
glabel D_8088E304
|
||||
.float 0.7
|
||||
|
||||
glabel D_8088E308
|
||||
.float 0.7
|
||||
|
||||
.text
|
||||
glabel func_8088D9F4
|
||||
/* 00B34 8088D9F4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00B38 8088D9F8 87AE0062 */ lh $t6, 0x0062($sp)
|
||||
/* 00B3C 8088D9FC AFA60050 */ sw $a2, 0x0050($sp)
|
||||
/* 00B40 8088DA00 00063400 */ sll $a2, $a2, 16
|
||||
/* 00B44 8088DA04 00063403 */ sra $a2, $a2, 16
|
||||
/* 00B48 8088DA08 01C67821 */ addu $t7, $t6, $a2
|
||||
/* 00B4C 8088DA0C 3C018089 */ lui $at, %hi(D_8088E300) ## $at = 80890000
|
||||
/* 00B50 8088DA10 C428E300 */ lwc1 $f8, %lo(D_8088E300)($at)
|
||||
/* 00B54 8088DA14 8FA30064 */ lw $v1, 0x0064($sp)
|
||||
/* 00B58 8088DA18 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
||||
/* 00B5C 8088DA1C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B60 8088DA20 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00B64 8088DA24 05E10004 */ bgez $t7, .L8088DA38
|
||||
/* 00B68 8088DA28 31F80007 */ andi $t8, $t7, 0x0007 ## $t8 = 00000000
|
||||
/* 00B6C 8088DA2C 13000002 */ beq $t8, $zero, .L8088DA38
|
||||
/* 00B70 8088DA30 00000000 */ nop
|
||||
/* 00B74 8088DA34 2718FFF8 */ addiu $t8, $t8, 0xFFF8 ## $t8 = FFFFFFF8
|
||||
.L8088DA38:
|
||||
/* 00B78 8088DA38 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 00B7C 8088DA3C 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 00B80 8088DA40 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 00B84 8088DA44 354A0024 */ ori $t2, $t2, 0x0024 ## $t2 = DB060024
|
||||
/* 00B88 8088DA48 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00B8C 8088DA4C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00B90 8088DA50 3C048089 */ lui $a0, %hi(sFireballsTexs) ## $a0 = 80890000
|
||||
/* 00B94 8088DA54 3C198016 */ lui $t9, %hi(gSegments)
|
||||
/* 00B98 8088DA58 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00B9C 8088DA5C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00BA0 8088DA60 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000001
|
||||
/* 00BA4 8088DA64 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00BA8 8088DA68 00063400 */ sll $a2, $a2, 16
|
||||
/* 00BAC 8088DA6C 00063403 */ sra $a2, $a2, 16
|
||||
/* 00BB0 8088DA70 24630008 */ addiu $v1, $v1, 0x0008 ## $v1 = 00000008
|
||||
/* 00BB4 8088DA74 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00BB8 8088DA78 44098000 */ mfc1 $t1, $f16
|
||||
/* 00BBC 8088DA7C 00000000 */ nop
|
||||
/* 00BC0 8088DA80 A7A90062 */ sh $t1, 0x0062($sp)
|
||||
/* 00BC4 8088DA84 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 00BC8 8088DA88 87AB0062 */ lh $t3, 0x0062($sp)
|
||||
/* 00BCC 8088DA8C 000B6080 */ sll $t4, $t3, 2
|
||||
/* 00BD0 8088DA90 008C2021 */ addu $a0, $a0, $t4
|
||||
/* 00BD4 8088DA94 8C84E27C */ lw $a0, %lo(sFireballsTexs)($a0)
|
||||
/* 00BD8 8088DA98 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
|
||||
/* 00BDC 8088DA9C 358C0001 */ ori $t4, $t4, 0x0001 ## $t4 = FA000001
|
||||
/* 00BE0 8088DAA0 00047100 */ sll $t6, $a0, 4
|
||||
/* 00BE4 8088DAA4 000E7F02 */ srl $t7, $t6, 28
|
||||
/* 00BE8 8088DAA8 000FC080 */ sll $t8, $t7, 2
|
||||
/* 00BEC 8088DAAC 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 00BF0 8088DAB0 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
|
||||
/* 00BF4 8088DAB4 00816824 */ and $t5, $a0, $at
|
||||
/* 00BF8 8088DAB8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00BFC 8088DABC 01B94021 */ addu $t0, $t5, $t9
|
||||
/* 00C00 8088DAC0 01014821 */ addu $t1, $t0, $at
|
||||
/* 00C04 8088DAC4 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00C08 8088DAC8 24020004 */ addiu $v0, $zero, 0x0004 ## $v0 = 00000004
|
||||
/* 00C0C 8088DACC 10C2000C */ beq $a2, $v0, .L8088DB00
|
||||
/* 00C10 8088DAD0 3C0EFFFF */ lui $t6, 0xFFFF ## $t6 = FFFF0000
|
||||
/* 00C14 8088DAD4 84AA0170 */ lh $t2, 0x0170($a1) ## 00000170
|
||||
/* 00C18 8088DAD8 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
|
||||
/* 00C1C 8088DADC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.25
|
||||
/* 00C20 8088DAE0 004A5823 */ subu $t3, $v0, $t2
|
||||
/* 00C24 8088DAE4 448B9000 */ mtc1 $t3, $f18 ## $f18 = 0.00
|
||||
/* 00C28 8088DAE8 44865000 */ mtc1 $a2, $f10 ## $f10 = 0.00
|
||||
/* 00C2C 8088DAEC 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00C30 8088DAF0 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00C34 8088DAF4 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00C38 8088DAF8 10000004 */ beq $zero, $zero, .L8088DB0C
|
||||
/* 00C3C 8088DAFC 46088300 */ add.s $f12, $f16, $f8
|
||||
.L8088DB00:
|
||||
/* 00C40 8088DB00 44869000 */ mtc1 $a2, $f18 ## $f18 = 0.00
|
||||
/* 00C44 8088DB04 00000000 */ nop
|
||||
/* 00C48 8088DB08 46809320 */ cvt.s.w $f12, $f18
|
||||
.L8088DB0C:
|
||||
/* 00C4C 8088DB0C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000008
|
||||
/* 00C50 8088DB10 35CE0096 */ ori $t6, $t6, 0x0096 ## $t6 = FFFF0096
|
||||
/* 00C54 8088DB14 AC4E0004 */ sw $t6, 0x0004($v0) ## 0000000C
|
||||
/* 00C58 8088DB18 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000008
|
||||
/* 00C5C 8088DB1C 24630008 */ addiu $v1, $v1, 0x0008 ## $v1 = 00000010
|
||||
/* 00C60 8088DB20 00601025 */ or $v0, $v1, $zero ## $v0 = 00000010
|
||||
/* 00C64 8088DB24 3C18FF00 */ lui $t8, 0xFF00 ## $t8 = FF000000
|
||||
/* 00C68 8088DB28 371800FF */ ori $t8, $t8, 0x00FF ## $t8 = FF0000FF
|
||||
/* 00C6C 8088DB2C 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000
|
||||
/* 00C70 8088DB30 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000010
|
||||
/* 00C74 8088DB34 AC580004 */ sw $t8, 0x0004($v0) ## 00000014
|
||||
/* 00C78 8088DB38 3C018089 */ lui $at, %hi(D_8088E304) ## $at = 80890000
|
||||
/* 00C7C 8088DB3C C424E304 */ lwc1 $f4, %lo(D_8088E304)($at)
|
||||
/* 00C80 8088DB40 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00C84 8088DB44 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
|
||||
/* 00C88 8088DB48 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 00C8C 8088DB4C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00C90 8088DB50 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 00C94 8088DB54 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00C98 8088DB58 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 00C9C 8088DB5C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00CA0 8088DB60 24630008 */ addiu $v1, $v1, 0x0008 ## $v1 = 00000018
|
||||
/* 00CA4 8088DB64 460A3000 */ add.s $f0, $f6, $f10
|
||||
/* 00CA8 8088DB68 00601025 */ or $v0, $v1, $zero ## $v0 = 00000018
|
||||
/* 00CAC 8088DB6C 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000
|
||||
/* 00CB0 8088DB70 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003
|
||||
/* 00CB4 8088DB74 46100202 */ mul.s $f8, $f0, $f16
|
||||
/* 00CB8 8088DB78 E4E00028 */ swc1 $f0, 0x0028($a3) ## 00000028
|
||||
/* 00CBC 8088DB7C E4E00014 */ swc1 $f0, 0x0014($a3) ## 00000014
|
||||
/* 00CC0 8088DB80 E4E00000 */ swc1 $f0, 0x0000($a3) ## 00000000
|
||||
/* 00CC4 8088DB84 C7A60058 */ lwc1 $f6, 0x0058($sp)
|
||||
/* 00CC8 8088DB88 C4B00024 */ lwc1 $f16, 0x0024($a1) ## 00000024
|
||||
/* 00CCC 8088DB8C 24630008 */ addiu $v1, $v1, 0x0008 ## $v1 = 00000020
|
||||
/* 00CD0 8088DB90 460C4482 */ mul.s $f18, $f8, $f12
|
||||
/* 00CD4 8088DB94 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00CD8 8088DB98 240602C7 */ addiu $a2, $zero, 0x02C7 ## $a2 = 000002C7
|
||||
/* 00CDC 8088DB9C 46049080 */ add.s $f2, $f18, $f4
|
||||
/* 00CE0 8088DBA0 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
|
||||
/* 00CE4 8088DBA4 3C018089 */ lui $at, %hi(D_8088E308) ## $at = 80890000
|
||||
/* 00CE8 8088DBA8 46061282 */ mul.s $f10, $f2, $f6
|
||||
/* 00CEC 8088DBAC 46105200 */ add.s $f8, $f10, $f16
|
||||
/* 00CF0 8088DBB0 E4E80030 */ swc1 $f8, 0x0030($a3) ## 00000030
|
||||
/* 00CF4 8088DBB4 C42AE308 */ lwc1 $f10, %lo(D_8088E308)($at)
|
||||
/* 00CF8 8088DBB8 C4B20028 */ lwc1 $f18, 0x0028($a1) ## 00000028
|
||||
/* 00CFC 8088DBBC 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00D00 8088DBC0 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00D04 8088DBC4 46103200 */ add.s $f8, $f6, $f16
|
||||
/* 00D08 8088DBC8 E4E80034 */ swc1 $f8, 0x0034($a3) ## 00000034
|
||||
/* 00D0C 8088DBCC C7B2005C */ lwc1 $f18, 0x005C($sp)
|
||||
/* 00D10 8088DBD0 C4AA002C */ lwc1 $f10, 0x002C($a1) ## 0000002C
|
||||
/* 00D14 8088DBD4 3C058089 */ lui $a1, %hi(D_8088E2A0) ## $a1 = 80890000
|
||||
/* 00D18 8088DBD8 46121102 */ mul.s $f4, $f2, $f18
|
||||
/* 00D1C 8088DBDC 24A5E2A0 */ addiu $a1, $a1, %lo(D_8088E2A0) ## $a1 = 8088E2A0
|
||||
/* 00D20 8088DBE0 460A2180 */ add.s $f6, $f4, $f10
|
||||
/* 00D24 8088DBE4 E4E60038 */ swc1 $f6, 0x0038($a3) ## 00000038
|
||||
/* 00D28 8088DBE8 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000018
|
||||
/* 00D2C 8088DBEC AFA30064 */ sw $v1, 0x0064($sp)
|
||||
/* 00D30 8088DBF0 0C034A17 */ jal Matrix_CheckFloats
|
||||
/* 00D34 8088DBF4 AFA2002C */ sw $v0, 0x002C($sp)
|
||||
/* 00D38 8088DBF8 8FB90048 */ lw $t9, 0x0048($sp)
|
||||
/* 00D3C 8088DBFC AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 00D40 8088DC00 24050040 */ addiu $a1, $zero, 0x0040 ## $a1 = 00000040
|
||||
/* 00D44 8088DC04 0C031A73 */ jal Graph_Alloc
|
||||
|
||||
/* 00D48 8088DC08 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
|
||||
/* 00D4C 8088DC0C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00D50 8088DC10 0C034610 */ jal Matrix_MtxFToMtx
|
||||
/* 00D54 8088DC14 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
|
||||
/* 00D58 8088DC18 8FA8002C */ lw $t0, 0x002C($sp)
|
||||
/* 00D5C 8088DC1C 8FA30064 */ lw $v1, 0x0064($sp)
|
||||
/* 00D60 8088DC20 3C0A0601 */ lui $t2, %hi(gFireTempleFireballDL) ## $t2 = 06010000
|
||||
/* 00D64 8088DC24 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
|
||||
/* 00D68 8088DC28 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00D6C 8088DC2C 254ADC30 */ addiu $t2, $t2, %lo(gFireTempleFireballDL) ## $t2 = 0600DC30
|
||||
/* 00D70 8088DC30 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
|
||||
/* 00D74 8088DC34 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 00D78 8088DC38 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
|
||||
/* 00D7C 8088DC3C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D80 8088DC40 24630008 */ addiu $v1, $v1, 0x0008 ## $v1 = 00000008
|
||||
/* 00D84 8088DC44 00601025 */ or $v0, $v1, $zero ## $v0 = 00000008
|
||||
/* 00D88 8088DC48 03E00008 */ jr $ra
|
||||
/* 00D8C 8088DC4C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
|
@ -1,122 +0,0 @@
|
|||
glabel func_8088DC50
|
||||
/* 00D90 8088DC50 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40
|
||||
/* 00D94 8088DC54 AFB40048 */ sw $s4, 0x0048($sp)
|
||||
/* 00D98 8088DC58 0007A400 */ sll $s4, $a3, 16
|
||||
/* 00D9C 8088DC5C 0014A403 */ sra $s4, $s4, 16
|
||||
/* 00DA0 8088DC60 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 00DA4 8088DC64 00068400 */ sll $s0, $a2, 16
|
||||
/* 00DA8 8088DC68 AFB60050 */ sw $s6, 0x0050($sp)
|
||||
/* 00DAC 8088DC6C AFB5004C */ sw $s5, 0x004C($sp)
|
||||
/* 00DB0 8088DC70 2A810004 */ slti $at, $s4, 0x0004
|
||||
/* 00DB4 8088DC74 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000
|
||||
/* 00DB8 8088DC78 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
|
||||
/* 00DBC 8088DC7C 00108403 */ sra $s0, $s0, 16
|
||||
/* 00DC0 8088DC80 AFBF0054 */ sw $ra, 0x0054($sp)
|
||||
/* 00DC4 8088DC84 AFB30044 */ sw $s3, 0x0044($sp)
|
||||
/* 00DC8 8088DC88 AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 00DCC 8088DC8C AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 00DD0 8088DC90 F7B60030 */ sdc1 $f22, 0x0030($sp)
|
||||
/* 00DD4 8088DC94 F7B40028 */ sdc1 $f20, 0x0028($sp)
|
||||
/* 00DD8 8088DC98 AFA600C8 */ sw $a2, 0x00C8($sp)
|
||||
/* 00DDC 8088DC9C 10200005 */ beq $at, $zero, .L8088DCB4
|
||||
/* 00DE0 8088DCA0 AFA700CC */ sw $a3, 0x00CC($sp)
|
||||
/* 00DE4 8088DCA4 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
||||
/* 00DE8 8088DCA8 01D48823 */ subu $s1, $t6, $s4
|
||||
/* 00DEC 8088DCAC 10000007 */ beq $zero, $zero, .L8088DCCC
|
||||
/* 00DF0 8088DCB0 24120004 */ addiu $s2, $zero, 0x0004 ## $s2 = 00000004
|
||||
.L8088DCB4:
|
||||
/* 00DF4 8088DCB4 240F0024 */ addiu $t7, $zero, 0x0024 ## $t7 = 00000024
|
||||
/* 00DF8 8088DCB8 01F49023 */ subu $s2, $t7, $s4
|
||||
/* 00DFC 8088DCBC 2A410005 */ slti $at, $s2, 0x0005
|
||||
/* 00E00 8088DCC0 14200002 */ bne $at, $zero, .L8088DCCC
|
||||
/* 00E04 8088DCC4 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 00E08 8088DCC8 24120004 */ addiu $s2, $zero, 0x0004 ## $s2 = 00000004
|
||||
.L8088DCCC:
|
||||
/* 00E0C 8088DCCC 00102400 */ sll $a0, $s0, 16
|
||||
/* 00E10 8088DCD0 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00E14 8088DCD4 00042403 */ sra $a0, $a0, 16
|
||||
/* 00E18 8088DCD8 00102400 */ sll $a0, $s0, 16
|
||||
/* 00E1C 8088DCDC 46000506 */ mov.s $f20, $f0
|
||||
/* 00E20 8088DCE0 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00E24 8088DCE4 00042403 */ sra $a0, $a0, 16
|
||||
/* 00E28 8088DCE8 27B30068 */ addiu $s3, $sp, 0x0068 ## $s3 = FFFFFFA8
|
||||
/* 00E2C 8088DCEC 3C058013 */ lui $a1, %hi(gMtxFClear)
|
||||
/* 00E30 8088DCF0 46000586 */ mov.s $f22, $f0
|
||||
/* 00E34 8088DCF4 24A5DB60 */ addiu $a1, %lo(gMtxFClear)
|
||||
/* 00E38 8088DCF8 0C0346EA */ jal Matrix_MtxFCopy
|
||||
/* 00E3C 8088DCFC 02602025 */ or $a0, $s3, $zero ## $a0 = FFFFFFA8
|
||||
/* 00E40 8088DD00 86B807A0 */ lh $t8, 0x07A0($s5) ## 000007A0
|
||||
/* 00E44 8088DD04 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00E48 8088DD08 02B94021 */ addu $t0, $s5, $t9
|
||||
/* 00E4C 8088DD0C 0C016A7D */ jal Camera_GetCamDirYaw
|
||||
/* 00E50 8088DD10 8D040790 */ lw $a0, 0x0790($t0) ## 00000790
|
||||
/* 00E54 8088DD14 00501823 */ subu $v1, $v0, $s0
|
||||
/* 00E58 8088DD18 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00E5C 8088DD1C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00E60 8088DD20 04600003 */ bltz $v1, .L8088DD30
|
||||
/* 00E64 8088DD24 00031023 */ subu $v0, $zero, $v1
|
||||
/* 00E68 8088DD28 10000001 */ beq $zero, $zero, .L8088DD30
|
||||
/* 00E6C 8088DD2C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L8088DD30:
|
||||
/* 00E70 8088DD30 28414000 */ slti $at, $v0, 0x4000
|
||||
/* 00E74 8088DD34 10200015 */ beq $at, $zero, .L8088DD8C
|
||||
/* 00E78 8088DD38 2650FFFF */ addiu $s0, $s2, 0xFFFF ## $s0 = 00000003
|
||||
/* 00E7C 8088DD3C 0211082A */ slt $at, $s0, $s1
|
||||
/* 00E80 8088DD40 14200010 */ bne $at, $zero, .L8088DD84
|
||||
/* 00E84 8088DD44 2632FFFF */ addiu $s2, $s1, 0xFFFF ## $s2 = FFFFFFFF
|
||||
/* 00E88 8088DD48 8FB100D0 */ lw $s1, 0x00D0($sp)
|
||||
.L8088DD4C:
|
||||
/* 00E8C 8088DD4C 00103400 */ sll $a2, $s0, 16
|
||||
/* 00E90 8088DD50 00063403 */ sra $a2, $a2, 16
|
||||
/* 00E94 8088DD54 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 00E98 8088DD58 02C02825 */ or $a1, $s6, $zero ## $a1 = 00000000
|
||||
/* 00E9C 8088DD5C 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFA8
|
||||
/* 00EA0 8088DD60 E7B40010 */ swc1 $f20, 0x0010($sp)
|
||||
/* 00EA4 8088DD64 E7B60014 */ swc1 $f22, 0x0014($sp)
|
||||
/* 00EA8 8088DD68 AFB40018 */ sw $s4, 0x0018($sp)
|
||||
/* 00EAC 8088DD6C 0C22367D */ jal func_8088D9F4
|
||||
/* 00EB0 8088DD70 AFB1001C */ sw $s1, 0x001C($sp)
|
||||
/* 00EB4 8088DD74 2610FFFF */ addiu $s0, $s0, 0xFFFF ## $s0 = 00000002
|
||||
/* 00EB8 8088DD78 1612FFF4 */ bne $s0, $s2, .L8088DD4C
|
||||
/* 00EBC 8088DD7C 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 00EC0 8088DD80 AFA200D0 */ sw $v0, 0x00D0($sp)
|
||||
.L8088DD84:
|
||||
/* 00EC4 8088DD84 10000014 */ beq $zero, $zero, .L8088DDD8
|
||||
/* 00EC8 8088DD88 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
.L8088DD8C:
|
||||
/* 00ECC 8088DD8C 0232082A */ slt $at, $s1, $s2
|
||||
/* 00ED0 8088DD90 10200010 */ beq $at, $zero, .L8088DDD4
|
||||
/* 00ED4 8088DD94 02208025 */ or $s0, $s1, $zero ## $s0 = 00000000
|
||||
/* 00ED8 8088DD98 8FB100D0 */ lw $s1, 0x00D0($sp)
|
||||
.L8088DD9C:
|
||||
/* 00EDC 8088DD9C 00103400 */ sll $a2, $s0, 16
|
||||
/* 00EE0 8088DDA0 00063403 */ sra $a2, $a2, 16
|
||||
/* 00EE4 8088DDA4 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 00EE8 8088DDA8 02C02825 */ or $a1, $s6, $zero ## $a1 = 00000000
|
||||
/* 00EEC 8088DDAC 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFA8
|
||||
/* 00EF0 8088DDB0 E7B40010 */ swc1 $f20, 0x0010($sp)
|
||||
/* 00EF4 8088DDB4 E7B60014 */ swc1 $f22, 0x0014($sp)
|
||||
/* 00EF8 8088DDB8 AFB40018 */ sw $s4, 0x0018($sp)
|
||||
/* 00EFC 8088DDBC 0C22367D */ jal func_8088D9F4
|
||||
/* 00F00 8088DDC0 AFB1001C */ sw $s1, 0x001C($sp)
|
||||
/* 00F04 8088DDC4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00F08 8088DDC8 1612FFF4 */ bne $s0, $s2, .L8088DD9C
|
||||
/* 00F0C 8088DDCC 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 00F10 8088DDD0 AFA200D0 */ sw $v0, 0x00D0($sp)
|
||||
.L8088DDD4:
|
||||
/* 00F14 8088DDD4 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
.L8088DDD8:
|
||||
/* 00F18 8088DDD8 8FA200D0 */ lw $v0, 0x00D0($sp)
|
||||
/* 00F1C 8088DDDC D7B40028 */ ldc1 $f20, 0x0028($sp)
|
||||
/* 00F20 8088DDE0 D7B60030 */ ldc1 $f22, 0x0030($sp)
|
||||
/* 00F24 8088DDE4 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 00F28 8088DDE8 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 00F2C 8088DDEC 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 00F30 8088DDF0 8FB30044 */ lw $s3, 0x0044($sp)
|
||||
/* 00F34 8088DDF4 8FB40048 */ lw $s4, 0x0048($sp)
|
||||
/* 00F38 8088DDF8 8FB5004C */ lw $s5, 0x004C($sp)
|
||||
/* 00F3C 8088DDFC 8FB60050 */ lw $s6, 0x0050($sp)
|
||||
/* 00F40 8088DE00 03E00008 */ jr $ra
|
||||
/* 00F44 8088DE04 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000
|
|
@ -1,62 +0,0 @@
|
|||
glabel func_8088DE08
|
||||
/* 00F48 8088DE08 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00F4C 8088DE0C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00F50 8088DE10 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00F54 8088DE14 00042400 */ sll $a0, $a0, 16
|
||||
/* 00F58 8088DE18 00042403 */ sra $a0, $a0, 16
|
||||
/* 00F5C 8088DE1C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00F60 8088DE20 00851023 */ subu $v0, $a0, $a1
|
||||
/* 00F64 8088DE24 00021400 */ sll $v0, $v0, 16
|
||||
/* 00F68 8088DE28 00021403 */ sra $v0, $v0, 16
|
||||
/* 00F6C 8088DE2C 04400003 */ bltz $v0, .L8088DE3C
|
||||
/* 00F70 8088DE30 00021823 */ subu $v1, $zero, $v0
|
||||
/* 00F74 8088DE34 10000001 */ beq $zero, $zero, .L8088DE3C
|
||||
/* 00F78 8088DE38 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L8088DE3C:
|
||||
/* 00F7C 8088DE3C 28612001 */ slti $at, $v1, 0x2001
|
||||
/* 00F80 8088DE40 10200008 */ beq $at, $zero, .L8088DE64
|
||||
/* 00F84 8088DE44 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00F88 8088DE48 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 00F8C 8088DE4C 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
|
||||
/* 00F90 8088DE50 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
|
||||
/* 00F94 8088DE54 ACCE0004 */ sw $t6, 0x0004($a2) ## 00000004
|
||||
/* 00F98 8088DE58 ACCF0008 */ sw $t7, 0x0008($a2) ## 00000008
|
||||
/* 00F9C 8088DE5C 03E00008 */ jr $ra
|
||||
/* 00FA0 8088DE60 ACD8000C */ sw $t8, 0x000C($a2) ## 0000000C
|
||||
.L8088DE64:
|
||||
/* 00FA4 8088DE64 04400003 */ bltz $v0, .L8088DE74
|
||||
/* 00FA8 8088DE68 00021823 */ subu $v1, $zero, $v0
|
||||
/* 00FAC 8088DE6C 10000001 */ beq $zero, $zero, .L8088DE74
|
||||
/* 00FB0 8088DE70 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L8088DE74:
|
||||
/* 00FB4 8088DE74 28616000 */ slti $at, $v1, 0x6000
|
||||
/* 00FB8 8088DE78 14200008 */ bne $at, $zero, .L8088DE9C
|
||||
/* 00FBC 8088DE7C 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 00FC0 8088DE80 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
|
||||
/* 00FC4 8088DE84 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 00FC8 8088DE88 ACD90000 */ sw $t9, 0x0000($a2) ## 00000000
|
||||
/* 00FCC 8088DE8C ACC80004 */ sw $t0, 0x0004($a2) ## 00000004
|
||||
/* 00FD0 8088DE90 ACC90008 */ sw $t1, 0x0008($a2) ## 00000008
|
||||
/* 00FD4 8088DE94 03E00008 */ jr $ra
|
||||
/* 00FD8 8088DE98 ACC0000C */ sw $zero, 0x000C($a2) ## 0000000C
|
||||
.L8088DE9C:
|
||||
/* 00FDC 8088DE9C 28412001 */ slti $at, $v0, 0x2001
|
||||
/* 00FE0 8088DEA0 14200009 */ bne $at, $zero, .L8088DEC8
|
||||
/* 00FE4 8088DEA4 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003
|
||||
/* 00FE8 8088DEA8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00FEC 8088DEAC 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 00FF0 8088DEB0 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
|
||||
/* 00FF4 8088DEB4 ACCA0000 */ sw $t2, 0x0000($a2) ## 00000000
|
||||
/* 00FF8 8088DEB8 ACC00004 */ sw $zero, 0x0004($a2) ## 00000004
|
||||
/* 00FFC 8088DEBC ACCB0008 */ sw $t3, 0x0008($a2) ## 00000008
|
||||
/* 01000 8088DEC0 03E00008 */ jr $ra
|
||||
/* 01004 8088DEC4 ACCC000C */ sw $t4, 0x000C($a2) ## 0000000C
|
||||
.L8088DEC8:
|
||||
/* 01008 8088DEC8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 0100C 8088DECC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 01010 8088DED0 ACCD0000 */ sw $t5, 0x0000($a2) ## 00000000
|
||||
/* 01014 8088DED4 ACCE0004 */ sw $t6, 0x0004($a2) ## 00000004
|
||||
/* 01018 8088DED8 ACC00008 */ sw $zero, 0x0008($a2) ## 00000008
|
||||
/* 0101C 8088DEDC ACCF000C */ sw $t7, 0x000C($a2) ## 0000000C
|
||||
/* 01020 8088DEE0 03E00008 */ jr $ra
|
||||
/* 01024 8088DEE4 00000000 */ nop
|
|
@ -59,10 +59,11 @@
|
|||
<DList Name="gFireTempleSpinningFlamethrowerDL" Offset="0xAD00"/>
|
||||
<Collision Name="gFireTempleSpinningFlamethrowerCol" Offset="0xD5C0"/>
|
||||
|
||||
<DList Name="gFireTempleStationaryFlamethrowerTallDL" Offset="0xABC8"/>
|
||||
<DList Name="gFireTempleStationaryFlamethrowerShortDL" Offset="0xB0F8"/>
|
||||
<!-- I don't know if this collision corresponds to the tall or the short one -->
|
||||
<Collision Name="gFireTempleStationaryFlamethrowerCol" Offset="0xCC90"/>
|
||||
<Collision Name="gFireTempleStationaryFlamethrowerShortCol" Offset="0xCC90"/>
|
||||
|
||||
<DList Name="gFireTempleStationaryFlamethrowerTallDL" Offset="0xABC8"/>
|
||||
<Collision Name="gFireTempleStationaryFlamethrowerTallCol" Offset="0xCDA0"/>
|
||||
|
||||
<DList Name="gFireTempleStonePlatform1DL" Offset="0xC338"/>
|
||||
<Collision Name="gFireTempleStonePlatform1Col" Offset="0x120E8"/>
|
||||
|
@ -84,8 +85,5 @@
|
|||
<DList Name="gFireTempleDoorBackDL" Offset="0x11F20"/>
|
||||
|
||||
<Texture Name="gFireTempleDoorKillerTex" OutName="fire_temple_door_killer" Format="rgba16" Width="32" Height="64" Offset="0xE5A0"/>
|
||||
|
||||
<!-- I don't know what could this be -->
|
||||
<Blob Name="gFireTempleBlob_00CCC0" Size="0x10E" Offset="0xCCC0"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel Bg_Hidan_Sekizou_InitVars
|
||||
.word 0x00450100, 0x00000000, 0x002C0000, 0x00000314
|
||||
.word BgHidanSekizou_Init
|
||||
.word BgHidanSekizou_Destroy
|
||||
.word BgHidanSekizou_Update
|
||||
.word BgHidanSekizou_Draw
|
||||
glabel D_8088E180
|
||||
.word 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x001E0028, 0x00170064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x00200057, 0x001E0064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x00230096, 0x00280064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x001E0028, 0x00170064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x00200057, 0x001E0064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000100, 0x01000000, 0x00230096, 0x00280064
|
||||
glabel D_8088E258
|
||||
.word 0x0A110009, 0x20000000, 0x00000006
|
||||
.word D_8088E180
|
||||
glabel D_8088E268
|
||||
.word 0x01000028, 0x00F0FF00
|
||||
glabel D_8088E270
|
||||
.word 0xC8500064, 0xB0F80190, 0x30F405DC
|
||||
glabel sFireballsTexs
|
||||
.word gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex, gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex, 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_8088E310
|
||||
.incbin "baserom/ovl_Bg_Hidan_Sekizou", 0x1450, 0x000000C0
|
|
@ -171,7 +171,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ ColliderInfoInit info;
|
||||
/* 0x18 */ ColliderTrisElementDimInit dim;
|
||||
} ColliderTrisElementInit; // size 0x3C
|
||||
} ColliderTrisElementInit; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Collider base;
|
||||
|
|
3
spec
3
spec
|
@ -857,8 +857,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Hidan_Sekizou"
|
||||
include "build/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.o"
|
||||
include "build/data/overlays/actors/z_bg_hidan_sekizou.data.o"
|
||||
include "build/data/overlays/actors/z_bg_hidan_sekizou.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Hidan_Sekizou/ovl_Bg_Hidan_Sekizou_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -16,7 +16,9 @@ void BgHidanSekizou_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgHidanSekizou_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanSekizou_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_8088D434(BgHidanSekizou* this, GlobalContext* globalCtx);
|
||||
void func_8088D720(BgHidanSekizou* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Hidan_Sekizou_InitVars = {
|
||||
ACTOR_BG_HIDAN_SEKIZOU,
|
||||
ACTORCAT_BG,
|
||||
|
@ -29,7 +31,7 @@ const ActorInit Bg_Hidan_Sekizou_InitVars = {
|
|||
(ActorFunc)BgHidanSekizou_Draw,
|
||||
};
|
||||
|
||||
static ColliderJntSphElementInit D_8088E180[6] = {
|
||||
static ColliderJntSphElementInit sJntSphElementsInit[6] = {
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
|
@ -98,7 +100,7 @@ static ColliderJntSphElementInit D_8088E180[6] = {
|
|||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit D_8088E258 = {
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{
|
||||
COLTYPE_NONE,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
|
@ -108,27 +110,326 @@ static ColliderJntSphInit D_8088E258 = {
|
|||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
6,
|
||||
D_8088E180,
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088CEC0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Init.s")
|
||||
static CollisionCheckInfoInit sColChkInfoInit = { 1, 40, 240, MASS_IMMOVABLE };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Destroy.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 1500, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D434.s")
|
||||
static void* sFireballsTexs[] = {
|
||||
gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex,
|
||||
gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D720.s")
|
||||
void func_8088CEC0(BgHidanSekizou* this, s32 arg1, s16 arg2) {
|
||||
s32 i;
|
||||
s32 start = arg1 * 3;
|
||||
s32 end = start + 3;
|
||||
f32 sp30 = Math_SinS(arg2);
|
||||
f32 sp2C = Math_CosS(arg2);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D750.s")
|
||||
for (i = start; i < end; i++) {
|
||||
ColliderJntSphElement* element = &this->collider.elements[i];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Update.s")
|
||||
element->dim.worldSphere.center.x = this->dyna.actor.home.pos.x + (sp2C * element->dim.modelSphere.center.x) +
|
||||
(sp30 * element->dim.modelSphere.center.z);
|
||||
element->dim.worldSphere.center.y = (s16)this->dyna.actor.home.pos.y + element->dim.modelSphere.center.y;
|
||||
element->dim.worldSphere.center.z = this->dyna.actor.home.pos.z - (sp30 * element->dim.modelSphere.center.x) +
|
||||
(sp2C * element->dim.modelSphere.center.z);
|
||||
element->info.toucherFlags |= TOUCH_ON;
|
||||
element->info.ocElemFlags |= OCELEM_ON;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D9F4.s")
|
||||
void BgHidanSekizou_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgHidanSekizou* this = THIS;
|
||||
s32 i;
|
||||
CollisionHeader* colHeader = NULL;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088DC50.s")
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, this->elements);
|
||||
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||
}
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->unk_168[0] = 36;
|
||||
for (i = 0; i < 2; i++) {
|
||||
func_8088CEC0(this, i, this->dyna.actor.shape.rot.y + ((i == 0) ? 0x2000 : -0x2000));
|
||||
}
|
||||
CollisionHeader_GetVirtual(&gFireTempleStationaryFlamethrowerShortCol, &colHeader);
|
||||
this->updateFunc = func_8088D720;
|
||||
} else {
|
||||
this->unk_168[0] = this->unk_168[1] = this->unk_168[2] = this->unk_168[3] = 0;
|
||||
CollisionHeader_GetVirtual(&gFireTempleStationaryFlamethrowerTallCol, &colHeader);
|
||||
this->updateFunc = func_8088D434;
|
||||
}
|
||||
this->unk_170 = 0;
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
CollisionCheck_SetInfo(&this->dyna.actor.colChkInfo, NULL, &sColChkInfoInit);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088DE08.s")
|
||||
void BgHidanSekizou_Destroy(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
BgHidanSekizou* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Draw.s")
|
||||
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void func_8088D434(BgHidanSekizou* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
s32 i;
|
||||
s32 isAligned[2];
|
||||
s32 isClose;
|
||||
s32 phi_s4;
|
||||
|
||||
isClose = this->dyna.actor.xzDistToPlayer < 300.0f;
|
||||
isAligned[0] = fabsf(this->dyna.actor.world.pos.x - player->actor.world.pos.x) < 80.0f;
|
||||
isAligned[1] = fabsf(this->dyna.actor.world.pos.z - player->actor.world.pos.z) < 80.0f;
|
||||
phi_s4 = 0;
|
||||
for (i = 0; i < 4; i++) {
|
||||
s16 diff;
|
||||
s16* temp = &this->unk_168[i];
|
||||
|
||||
DECR(*temp);
|
||||
diff = this->dyna.actor.yawTowardsPlayer - i * 0x4000;
|
||||
if (isAligned[i % 2] && isClose) {
|
||||
if (ABS(diff) <= 0x4000) {
|
||||
if (*temp < 4) {
|
||||
*temp = 35 - *temp;
|
||||
}
|
||||
func_8088CEC0(this, (phi_s4 > 1) ? 1 : phi_s4, this->dyna.actor.shape.rot.y + i * 0x4000);
|
||||
phi_s4++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (i = 3 * phi_s4; i < ARRAY_COUNT(this->elements); i++) {
|
||||
this->collider.elements[i].info.toucherFlags &= ~TOUCH_ON;
|
||||
this->collider.elements[i].info.ocElemFlags &= ~OCELEM_ON;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8088D720(BgHidanSekizou* this, GlobalContext* globalCtx) {
|
||||
this->unk_168[0]--;
|
||||
if (this->unk_168[0] <= -36) {
|
||||
this->unk_168[0] = 36;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8088D750(BgHidanSekizou* this, GlobalContext* globalCtx) {
|
||||
s16 phi_a3;
|
||||
|
||||
if (this->dyna.actor.xzDistToPlayer > 200.0f) {
|
||||
phi_a3 = this->dyna.actor.yawTowardsPlayer;
|
||||
} else if (this->dyna.actor.params == 0) {
|
||||
phi_a3 = this->dyna.actor.yawTowardsPlayer - this->dyna.actor.shape.rot.y;
|
||||
if (phi_a3 > 0x2000) {
|
||||
phi_a3 = this->dyna.actor.shape.rot.y + 0x6000;
|
||||
} else if (phi_a3 < -0x2000) {
|
||||
phi_a3 = this->dyna.actor.shape.rot.y - 0x6000;
|
||||
} else if (phi_a3 > 0) {
|
||||
phi_a3 = this->dyna.actor.shape.rot.y - 0x2000;
|
||||
} else {
|
||||
phi_a3 = this->dyna.actor.shape.rot.y + 0x2000;
|
||||
}
|
||||
} else {
|
||||
phi_a3 = this->dyna.actor.yawTowardsPlayer;
|
||||
if (phi_a3 > 0x6000) {
|
||||
phi_a3 = 0x4000;
|
||||
} else if (phi_a3 > 0x4000) {
|
||||
phi_a3 = -0x8000;
|
||||
} else if (phi_a3 > 0x2000) {
|
||||
phi_a3 = 0;
|
||||
} else if (phi_a3 > 0) {
|
||||
phi_a3 = 0x4000;
|
||||
} else if (phi_a3 < -0x6000) {
|
||||
phi_a3 = -0x4000;
|
||||
} else if (phi_a3 < -0x4000) {
|
||||
phi_a3 = -0x8000;
|
||||
} else if (phi_a3 < -0x2000) {
|
||||
phi_a3 = 0;
|
||||
} else {
|
||||
phi_a3 = -0x4000;
|
||||
}
|
||||
}
|
||||
func_8002F71C(globalCtx, &this->dyna.actor, 5.0f, phi_a3, 1.0f);
|
||||
}
|
||||
|
||||
void BgHidanSekizou_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
BgHidanSekizou* this = THIS;
|
||||
|
||||
if (this->unk_170 != 0) {
|
||||
this->unk_170--;
|
||||
}
|
||||
if (this->unk_170 == 0) {
|
||||
this->unk_170 = 4;
|
||||
}
|
||||
|
||||
if (this->collider.base.atFlags & AT_HIT) {
|
||||
this->collider.base.atFlags &= ~AT_HIT;
|
||||
func_8088D750(this, globalCtx);
|
||||
}
|
||||
|
||||
this->updateFunc(this, globalCtx);
|
||||
|
||||
if (this->dyna.actor.params == 0) {
|
||||
if (this->unk_168[0] > 0) {
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_FIRE_PILLAR - SFX_FLAG);
|
||||
}
|
||||
} else {
|
||||
if ((this->unk_168[0] > 0) || (this->unk_168[1] > 0) || (this->unk_168[2] > 0) || (this->unk_168[3] > 0)) {
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_FIRE_PILLAR - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Gfx* func_8088D9F4(GlobalContext* globalCtx, BgHidanSekizou* this, s16 arg2, MtxF* arg3, f32 arg4, f32 arg5, s16 arg6,
|
||||
Gfx* arg7) {
|
||||
f32 temp_f0;
|
||||
f32 temp_f2;
|
||||
f32 phi_f12;
|
||||
|
||||
arg6 = (((arg6 + arg2) % 8) * 7) * (1 / 7.0f);
|
||||
arg2++;
|
||||
gSPSegment(arg7++, 9, SEGMENTED_TO_VIRTUAL(sFireballsTexs[arg6]));
|
||||
if (arg2 != 4) {
|
||||
phi_f12 = arg2 + ((4 - this->unk_170) / 4.0f);
|
||||
} else {
|
||||
phi_f12 = arg2;
|
||||
}
|
||||
gDPSetPrimColor(arg7++, 0, 1, 255, 255, 0, 150);
|
||||
gDPSetEnvColor(arg7++, 255, 0, 0, 255);
|
||||
|
||||
arg3->xx = arg3->yy = arg3->zz = (0.7f * phi_f12) + 0.5f;
|
||||
|
||||
temp_f2 = (arg3->xx * 10.0f * phi_f12) + 20.0f;
|
||||
arg3->xw = (temp_f2 * arg4) + this->dyna.actor.world.pos.x;
|
||||
arg3->yw = this->dyna.actor.world.pos.y + 30.0f + (.7f * phi_f12);
|
||||
arg3->zw = (temp_f2 * arg5) + this->dyna.actor.world.pos.z;
|
||||
gSPMatrix(arg7++,
|
||||
Matrix_MtxFToMtx(Matrix_CheckFloats(arg3, "../z_bg_hidan_sekizou.c", 711),
|
||||
Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
gSPDisplayList(arg7++, gFireTempleFireballDL);
|
||||
|
||||
return arg7;
|
||||
}
|
||||
|
||||
Gfx* func_8088DC50(GlobalContext* globalCtx, BgHidanSekizou* this, s16 arg2, s16 arg3, Gfx* arg4) {
|
||||
s32 pad;
|
||||
s16 temp_v1;
|
||||
s32 phi_s1;
|
||||
s32 phi_s2;
|
||||
f32 temp_f20;
|
||||
f32 temp_f22;
|
||||
MtxF sp68;
|
||||
s32 i;
|
||||
|
||||
if (arg3 < 4) {
|
||||
phi_s1 = 4 - arg3;
|
||||
phi_s2 = 4;
|
||||
} else {
|
||||
phi_s1 = 0;
|
||||
phi_s2 = 36 - arg3;
|
||||
phi_s2 = CLAMP_MAX(phi_s2, 4);
|
||||
}
|
||||
temp_f20 = Math_SinS(arg2);
|
||||
temp_f22 = Math_CosS(arg2);
|
||||
Matrix_MtxFCopy(&sp68, &gMtxFClear);
|
||||
temp_v1 = Camera_GetCamDirYaw(GET_ACTIVE_CAM(globalCtx)) - arg2;
|
||||
|
||||
if (ABS(temp_v1) < 0x4000) {
|
||||
for (i = phi_s2 - 1; i >= phi_s1; i--) {
|
||||
arg4 = func_8088D9F4(globalCtx, this, i, &sp68, temp_f20, temp_f22, arg3, arg4);
|
||||
}
|
||||
} else {
|
||||
for (i = phi_s1; i < phi_s2; i++) {
|
||||
arg4 = func_8088D9F4(globalCtx, this, i, &sp68, temp_f20, temp_f22, arg3, arg4);
|
||||
}
|
||||
}
|
||||
return arg4;
|
||||
}
|
||||
|
||||
void func_8088DE08(s16 arg0, s16 arg1, s32 arg2[]) {
|
||||
s16 diff = arg0 - arg1;
|
||||
|
||||
if (ABS(diff) <= 0x2000) {
|
||||
arg2[0] = 0;
|
||||
arg2[1] = 1;
|
||||
arg2[2] = 3;
|
||||
arg2[3] = 2;
|
||||
} else if (ABS(diff) >= 0x6000) {
|
||||
arg2[0] = 2;
|
||||
arg2[1] = 3;
|
||||
arg2[2] = 1;
|
||||
arg2[3] = 0;
|
||||
} else if (diff > 0x2000) {
|
||||
arg2[0] = 1;
|
||||
arg2[1] = 0;
|
||||
arg2[2] = 2;
|
||||
arg2[3] = 3;
|
||||
} else {
|
||||
arg2[0] = 3;
|
||||
arg2[1] = 2;
|
||||
arg2[2] = 0;
|
||||
arg2[3] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void BgHidanSekizou_Draw(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
BgHidanSekizou* this = THIS;
|
||||
s32 i;
|
||||
s32 sp6C[4];
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_sekizou.c", 827);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_sekizou.c", 831),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
if (this->dyna.actor.params == 0) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, gFireTempleStationaryFlamethrowerShortDL);
|
||||
} else {
|
||||
gSPDisplayList(POLY_OPA_DISP++, gFireTempleStationaryFlamethrowerTallDL);
|
||||
}
|
||||
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14);
|
||||
if (this->dyna.actor.params == 0) {
|
||||
if (this->unk_168[0] > 0) {
|
||||
if ((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(globalCtx)) - this->dyna.actor.shape.rot.y) >= 0) {
|
||||
POLY_XLU_DISP = func_8088DC50(globalCtx, this, this->dyna.actor.shape.rot.y + 0x2000, this->unk_168[0],
|
||||
POLY_XLU_DISP);
|
||||
POLY_XLU_DISP = func_8088DC50(globalCtx, this, this->dyna.actor.shape.rot.y - 0x2000, this->unk_168[0],
|
||||
POLY_XLU_DISP);
|
||||
} else {
|
||||
POLY_XLU_DISP = func_8088DC50(globalCtx, this, this->dyna.actor.shape.rot.y - 0x2000, this->unk_168[0],
|
||||
POLY_XLU_DISP);
|
||||
POLY_XLU_DISP = func_8088DC50(globalCtx, this, this->dyna.actor.shape.rot.y + 0x2000, this->unk_168[0],
|
||||
POLY_XLU_DISP);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
func_8088DE08(Camera_GetCamDirYaw(GET_ACTIVE_CAM(globalCtx)), this->dyna.actor.shape.rot.y, sp6C);
|
||||
for (i = 0; i < 4; i++) {
|
||||
s32 index = sp6C[i];
|
||||
|
||||
if (this->unk_168[index] > 0) {
|
||||
POLY_XLU_DISP = func_8088DC50(globalCtx, this, this->dyna.actor.shape.rot.y + index * 0x4000,
|
||||
this->unk_168[index], POLY_XLU_DISP);
|
||||
}
|
||||
}
|
||||
}
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_sekizou.c", 899);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,15 @@
|
|||
|
||||
struct BgHidanSekizou;
|
||||
|
||||
typedef void (*BgHidanSekizouUpdateFunc)(struct BgHidanSekizou*, GlobalContext*);
|
||||
|
||||
typedef struct BgHidanSekizou {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1C8];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgHidanSekizouUpdateFunc updateFunc;
|
||||
/* 0x0168 */ s16 unk_168[4];
|
||||
/* 0x0170 */ s16 unk_170;
|
||||
/* 0x0174 */ ColliderJntSph collider;
|
||||
/* 0x0194 */ ColliderJntSphElement elements[6];
|
||||
} BgHidanSekizou; // size = 0x0314
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue