1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-16 12:06:35 +00:00

z_bg_hidan_sima OK (#680)

* z_bg_hidan_sima OK

* cleanup code

* implement suggestions
This commit is contained in:
mzxrules 2021-02-13 18:31:25 -05:00 committed by GitHub
parent 12348ca3df
commit f9886c1097
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 235 additions and 1063 deletions

View file

@ -1,20 +0,0 @@
glabel BgHidanSima_Destroy
/* 00100 8088E4D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00104 8088E4D4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00108 8088E4D8 8FAE0018 */ lw $t6, 0x0018($sp)
/* 0010C 8088E4DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00110 8088E4E0 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 00114 8088E4E4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00118 8088E4E8 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 0011C 8088E4EC AFA7001C */ sw $a3, 0x001C($sp)
/* 00120 8088E4F0 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 00124 8088E4F4 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00128 8088E4F8 8FA50018 */ lw $a1, 0x0018($sp)
/* 0012C 8088E4FC 8FA4001C */ lw $a0, 0x001C($sp)
/* 00130 8088E500 0C016F32 */ jal Collider_DestroyJntSph
/* 00134 8088E504 24A5016C */ addiu $a1, $a1, 0x016C ## $a1 = 0000016C
/* 00138 8088E508 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0013C 8088E50C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00140 8088E510 03E00008 */ jr $ra
/* 00144 8088E514 00000000 */ nop

View file

@ -1,111 +0,0 @@
.rdata
glabel D_8088F250
.asciz "../z_bg_hidan_sima.c"
.balign 4
glabel D_8088F268
.asciz "../z_bg_hidan_sima.c"
.balign 4
glabel D_8088F280
.asciz "../z_bg_hidan_sima.c"
.balign 4
.text
glabel BgHidanSima_Draw
/* 00C38 8088F008 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00C3C 8088F00C AFBF001C */ sw $ra, 0x001C($sp)
/* 00C40 8088F010 AFB00018 */ sw $s0, 0x0018($sp)
/* 00C44 8088F014 AFA40050 */ sw $a0, 0x0050($sp)
/* 00C48 8088F018 AFA50054 */ sw $a1, 0x0054($sp)
/* 00C4C 8088F01C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00C50 8088F020 3C068089 */ lui $a2, %hi(D_8088F250) ## $a2 = 80890000
/* 00C54 8088F024 24C6F250 */ addiu $a2, $a2, %lo(D_8088F250) ## $a2 = 8088F250
/* 00C58 8088F028 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00C5C 8088F02C 24070281 */ addiu $a3, $zero, 0x0281 ## $a3 = 00000281
/* 00C60 8088F030 0C031AB1 */ jal Graph_OpenDisps
/* 00C64 8088F034 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00C68 8088F038 8FAF0054 */ lw $t7, 0x0054($sp)
/* 00C6C 8088F03C 0C024F46 */ jal func_80093D18
/* 00C70 8088F040 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 00C74 8088F044 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00C78 8088F048 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 00C7C 8088F04C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 00C80 8088F050 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00C84 8088F054 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 00C88 8088F058 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00C8C 8088F05C 8FA80054 */ lw $t0, 0x0054($sp)
/* 00C90 8088F060 3C058089 */ lui $a1, %hi(D_8088F268) ## $a1 = 80890000
/* 00C94 8088F064 24A5F268 */ addiu $a1, $a1, %lo(D_8088F268) ## $a1 = 8088F268
/* 00C98 8088F068 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 00C9C 8088F06C 24060285 */ addiu $a2, $zero, 0x0285 ## $a2 = 00000285
/* 00CA0 8088F070 0C0346A2 */ jal Matrix_NewMtx
/* 00CA4 8088F074 AFA20034 */ sw $v0, 0x0034($sp)
/* 00CA8 8088F078 8FA30034 */ lw $v1, 0x0034($sp)
/* 00CAC 8088F07C 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
/* 00CB0 8088F080 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
/* 00CB4 8088F084 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00CB8 8088F088 8FA60050 */ lw $a2, 0x0050($sp)
/* 00CBC 8088F08C 84C9001C */ lh $t1, 0x001C($a2) ## 0000001C
/* 00CC0 8088F090 5520000A */ bnel $t1, $zero, .L8088F0BC
/* 00CC4 8088F094 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00CC8 8088F098 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00CCC 8088F09C 3C0C0601 */ lui $t4, %hi(D_0600C338) ## $t4 = 06010000
/* 00CD0 8088F0A0 258CC338 */ addiu $t4, $t4, %lo(D_0600C338) ## $t4 = 0600C338
/* 00CD4 8088F0A4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 00CD8 8088F0A8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 00CDC 8088F0AC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 00CE0 8088F0B0 10000025 */ beq $zero, $zero, .L8088F148
/* 00CE4 8088F0B4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 00CE8 8088F0B8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
.L8088F0BC:
/* 00CEC 8088F0BC 3C0F0601 */ lui $t7, %hi(D_0600C470) ## $t7 = 06010000
/* 00CF0 8088F0C0 25EFC470 */ addiu $t7, $t7, %lo(D_0600C470) ## $t7 = 0600C470
/* 00CF4 8088F0C4 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 00CF8 8088F0C8 AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
/* 00CFC 8088F0CC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00D00 8088F0D0 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00D04 8088F0D4 8CD90164 */ lw $t9, 0x0164($a2) ## 00000164
/* 00D08 8088F0D8 3C188089 */ lui $t8, %hi(func_8088E7A8) ## $t8 = 80890000
/* 00D0C 8088F0DC 2718E7A8 */ addiu $t8, $t8, %lo(func_8088E7A8) ## $t8 = 8088E7A8
/* 00D10 8088F0E0 17190019 */ bne $t8, $t9, .L8088F148
/* 00D14 8088F0E4 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 00D18 8088F0E8 0C024DDD */ jal Gfx_CallSetupDL
/* 00D1C 8088F0EC 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
/* 00D20 8088F0F0 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 00D24 8088F0F4 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 00D28 8088F0F8 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
/* 00D2C 8088F0FC 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000
/* 00D30 8088F100 3C0AFFFF */ lui $t2, 0xFFFF ## $t2 = FFFF0000
/* 00D34 8088F104 354A0096 */ ori $t2, $t2, 0x0096 ## $t2 = FFFF0096
/* 00D38 8088F108 35290001 */ ori $t1, $t1, 0x0001 ## $t1 = FA000001
/* 00D3C 8088F10C AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 00D40 8088F110 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00D44 8088F114 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00D48 8088F118 3C0DFF00 */ lui $t5, 0xFF00 ## $t5 = FF000000
/* 00D4C 8088F11C 35AD00FF */ ori $t5, $t5, 0x00FF ## $t5 = FF0000FF
/* 00D50 8088F120 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00D54 8088F124 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 00D58 8088F128 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000
/* 00D5C 8088F12C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00D60 8088F130 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 00D64 8088F134 8E0602D0 */ lw $a2, 0x02D0($s0) ## 000002D0
/* 00D68 8088F138 8FA50050 */ lw $a1, 0x0050($sp)
/* 00D6C 8088F13C 0C223AD5 */ jal func_8088EB54
/* 00D70 8088F140 8FA40054 */ lw $a0, 0x0054($sp)
/* 00D74 8088F144 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
.L8088F148:
/* 00D78 8088F148 8FAE0054 */ lw $t6, 0x0054($sp)
/* 00D7C 8088F14C 3C068089 */ lui $a2, %hi(D_8088F280) ## $a2 = 80890000
/* 00D80 8088F150 24C6F280 */ addiu $a2, $a2, %lo(D_8088F280) ## $a2 = 8088F280
/* 00D84 8088F154 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00D88 8088F158 2407029C */ addiu $a3, $zero, 0x029C ## $a3 = 0000029C
/* 00D8C 8088F15C 0C031AD5 */ jal Graph_CloseDisps
/* 00D90 8088F160 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 00D94 8088F164 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D98 8088F168 8FB00018 */ lw $s0, 0x0018($sp)
/* 00D9C 8088F16C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00DA0 8088F170 03E00008 */ jr $ra
/* 00DA4 8088F174 00000000 */ nop
/* 00DA8 8088F178 00000000 */ nop
/* 00DAC 8088F17C 00000000 */ nop

View file

@ -1,75 +0,0 @@
glabel BgHidanSima_Init
/* 00000 8088E3D0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 8088E3D4 AFA50044 */ sw $a1, 0x0044($sp)
/* 00008 8088E3D8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0000C 8088E3DC AFB00020 */ sw $s0, 0x0020($sp)
/* 00010 8088E3E0 3C058089 */ lui $a1, %hi(D_8088F1F8) ## $a1 = 80890000
/* 00014 8088E3E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 8088E3E8 AFA00034 */ sw $zero, 0x0034($sp)
/* 0001C 8088E3EC 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 8088E3F0 24A5F1F8 */ addiu $a1, $a1, %lo(D_8088F1F8) ## $a1 = 8088F1F8
/* 00024 8088E3F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00028 8088E3F8 0C010D20 */ jal DynaPolyActor_Init
/* 0002C 8088E3FC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00030 8088E400 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00034 8088E404 3C040601 */ lui $a0, %hi(D_0600FAE8) ## $a0 = 06010000
/* 00038 8088E408 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
/* 0003C 8088E40C 15C00006 */ bne $t6, $zero, .L8088E428
/* 00040 8088E410 2484FAE8 */ addiu $a0, $a0, %lo(D_0600FAE8) ## $a0 = 0600FAE8
/* 00044 8088E414 3C040601 */ lui $a0, %hi(D_060120E8) ## $a0 = 06010000
/* 00048 8088E418 0C010620 */ jal CollisionHeader_GetVirtual
/* 0004C 8088E41C 248420E8 */ addiu $a0, $a0, %lo(D_060120E8) ## $a0 = 060120E8
/* 00050 8088E420 10000004 */ beq $zero, $zero, .L8088E434
/* 00054 8088E424 8FA40044 */ lw $a0, 0x0044($sp)
.L8088E428:
/* 00058 8088E428 0C010620 */ jal CollisionHeader_GetVirtual
/* 0005C 8088E42C 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
/* 00060 8088E430 8FA40044 */ lw $a0, 0x0044($sp)
.L8088E434:
/* 00064 8088E434 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00068 8088E438 8FA70034 */ lw $a3, 0x0034($sp)
/* 0006C 8088E43C 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 00070 8088E440 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00074 8088E444 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 00078 8088E448 2605016C */ addiu $a1, $s0, 0x016C ## $a1 = 0000016C
/* 0007C 8088E44C AFA5002C */ sw $a1, 0x002C($sp)
/* 00080 8088E450 0C016EFE */ jal Collider_InitJntSph
/* 00084 8088E454 8FA40044 */ lw $a0, 0x0044($sp)
/* 00088 8088E458 3C078089 */ lui $a3, %hi(D_8088F1E8) ## $a3 = 80890000
/* 0008C 8088E45C 260F018C */ addiu $t7, $s0, 0x018C ## $t7 = 0000018C
/* 00090 8088E460 8FA5002C */ lw $a1, 0x002C($sp)
/* 00094 8088E464 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00098 8088E468 24E7F1E8 */ addiu $a3, $a3, %lo(D_8088F1E8) ## $a3 = 8088F1E8
/* 0009C 8088E46C 8FA40044 */ lw $a0, 0x0044($sp)
/* 000A0 8088E470 0C017014 */ jal Collider_SetJntSph
/* 000A4 8088E474 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000A8 8088E478 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 000AC 8088E47C 24040080 */ addiu $a0, $zero, 0x0080 ## $a0 = 00000080
.L8088E480:
/* 000B0 8088E480 8E180188 */ lw $t8, 0x0188($s0) ## 00000188
/* 000B4 8088E484 03031021 */ addu $v0, $t8, $v1
/* 000B8 8088E488 8459002E */ lh $t9, 0x002E($v0) ## 0000002E
/* 000BC 8088E48C 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000040
/* 000C0 8088E490 1464FFFB */ bne $v1, $a0, .L8088E480
/* 000C4 8088E494 A4590036 */ sh $t9, 0x0036($v0) ## 00000036
/* 000C8 8088E498 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
/* 000CC 8088E49C 3C0A8089 */ lui $t2, %hi(func_8088E760) ## $t2 = 80890000
/* 000D0 8088E4A0 3C098089 */ lui $t1, %hi(func_8088E518) ## $t1 = 80890000
/* 000D4 8088E4A4 15000004 */ bne $t0, $zero, .L8088E4B8
/* 000D8 8088E4A8 254AE760 */ addiu $t2, $t2, %lo(func_8088E760) ## $t2 = 8088E760
/* 000DC 8088E4AC 2529E518 */ addiu $t1, $t1, %lo(func_8088E518) ## $t1 = 8088E518
/* 000E0 8088E4B0 10000002 */ beq $zero, $zero, .L8088E4BC
/* 000E4 8088E4B4 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L8088E4B8:
/* 000E8 8088E4B8 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
.L8088E4BC:
/* 000EC 8088E4BC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 000F0 8088E4C0 8FB00020 */ lw $s0, 0x0020($sp)
/* 000F4 8088E4C4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 000F8 8088E4C8 03E00008 */ jr $ra
/* 000FC 8088E4CC 00000000 */ nop

View file

@ -1,71 +0,0 @@
.late_rodata
glabel D_8088F2B8
.word 0x3E20D97C
.text
glabel BgHidanSima_Update
/* 0069C 8088EA6C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 006A0 8088EA70 AFB00018 */ sw $s0, 0x0018($sp)
/* 006A4 8088EA74 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006A8 8088EA78 AFBF001C */ sw $ra, 0x001C($sp)
/* 006AC 8088EA7C AFA50034 */ sw $a1, 0x0034($sp)
/* 006B0 8088EA80 8E190164 */ lw $t9, 0x0164($s0) ## 00000164
/* 006B4 8088EA84 0320F809 */ jalr $ra, $t9
/* 006B8 8088EA88 00000000 */ nop
/* 006BC 8088EA8C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 006C0 8088EA90 51C0002C */ beql $t6, $zero, .L8088EB44
/* 006C4 8088EA94 8FBF001C */ lw $ra, 0x001C($sp)
/* 006C8 8088EA98 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
/* 006CC 8088EA9C 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 006D0 8088EAA0 55F80004 */ bnel $t7, $t8, .L8088EAB4
/* 006D4 8088EAA4 86020168 */ lh $v0, 0x0168($s0) ## 00000168
/* 006D8 8088EAA8 10000003 */ beq $zero, $zero, .L8088EAB8
/* 006DC 8088EAAC 86020168 */ lh $v0, 0x0168($s0) ## 00000168
/* 006E0 8088EAB0 86020168 */ lh $v0, 0x0168($s0) ## 00000168
.L8088EAB4:
/* 006E4 8088EAB4 24420050 */ addiu $v0, $v0, 0x0050 ## $v0 = 00000050
.L8088EAB8:
/* 006E8 8088EAB8 8E080164 */ lw $t0, 0x0164($s0) ## 00000164
/* 006EC 8088EABC 3C038089 */ lui $v1, %hi(func_8088E7A8) ## $v1 = 80890000
/* 006F0 8088EAC0 2463E7A8 */ addiu $v1, $v1, %lo(func_8088E7A8) ## $v1 = 8088E7A8
/* 006F4 8088EAC4 54680003 */ bnel $v1, $t0, .L8088EAD4
/* 006F8 8088EAC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 006FC 8088EACC 24420014 */ addiu $v0, $v0, 0x0014 ## $v0 = 00000064
/* 00700 8088EAD0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
.L8088EAD4:
/* 00704 8088EAD4 3C018089 */ lui $at, %hi(D_8088F2B8) ## $at = 80890000
/* 00708 8088EAD8 C428F2B8 */ lwc1 $f8, %lo(D_8088F2B8)($at)
/* 0070C 8088EADC 468021A0 */ cvt.s.w $f6, $f4
/* 00710 8088EAE0 AFA30020 */ sw $v1, 0x0020($sp)
/* 00714 8088EAE4 46083302 */ mul.s $f12, $f6, $f8
/* 00718 8088EAE8 0C041184 */ jal cosf
/* 0071C 8088EAEC 00000000 */ nop
/* 00720 8088EAF0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00724 8088EAF4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 00728 8088EAF8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0072C 8088EAFC 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 00730 8088EB00 46005401 */ sub.s $f16, $f10, $f0
/* 00734 8088EB04 C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 00738 8088EB08 8FA30020 */ lw $v1, 0x0020($sp)
/* 0073C 8088EB0C 8E090164 */ lw $t1, 0x0164($s0) ## 00000164
/* 00740 8088EB10 46128102 */ mul.s $f4, $f16, $f18
/* 00744 8088EB14 46043201 */ sub.s $f8, $f6, $f4
/* 00748 8088EB18 14690009 */ bne $v1, $t1, .L8088EB40
/* 0074C 8088EB1C E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
/* 00750 8088EB20 0C223A43 */ jal func_8088E90C
/* 00754 8088EB24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00758 8088EB28 8FA40034 */ lw $a0, 0x0034($sp)
/* 0075C 8088EB2C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00760 8088EB30 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00764 8088EB34 2606016C */ addiu $a2, $s0, 0x016C ## $a2 = 0000016C
/* 00768 8088EB38 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 0076C 8088EB3C 00812821 */ addu $a1, $a0, $at
.L8088EB40:
/* 00770 8088EB40 8FBF001C */ lw $ra, 0x001C($sp)
.L8088EB44:
/* 00774 8088EB44 8FB00018 */ lw $s0, 0x0018($sp)
/* 00778 8088EB48 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 0077C 8088EB4C 03E00008 */ jr $ra
/* 00780 8088EB50 00000000 */ nop

View file

@ -1,51 +0,0 @@
glabel func_8088E518
/* 00148 8088E518 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0014C 8088E51C AFBF001C */ sw $ra, 0x001C($sp)
/* 00150 8088E520 AFB00018 */ sw $s0, 0x0018($sp)
/* 00154 8088E524 AFA5002C */ sw $a1, 0x002C($sp)
/* 00158 8088E528 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 0015C 8088E52C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00160 8088E530 3C064059 */ lui $a2, 0x4059 ## $a2 = 40590000
/* 00164 8088E534 AFAF0024 */ sw $t7, 0x0024($sp)
/* 00168 8088E538 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
/* 0016C 8088E53C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 4059999A
/* 00170 8088E540 0C01DE80 */ jal Math_StepToF
/* 00174 8088E544 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 00178 8088E548 0C010D5B */ jal func_8004356C
/* 0017C 8088E54C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00180 8088E550 1040001A */ beq $v0, $zero, .L8088E5BC
/* 00184 8088E554 8FB80024 */ lw $t8, 0x0024($sp)
/* 00188 8088E558 8F19067C */ lw $t9, 0x067C($t8) ## 0000067C
/* 0018C 8088E55C 8FA2002C */ lw $v0, 0x002C($sp)
/* 00190 8088E560 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 00194 8088E564 33286000 */ andi $t0, $t9, 0x6000 ## $t0 = 00000000
/* 00198 8088E568 55000015 */ bnel $t0, $zero, .L8088E5C0
/* 0019C 8088E56C 8FBF001C */ lw $ra, 0x001C($sp)
/* 001A0 8088E570 A6090168 */ sh $t1, 0x0168($s0) ## 00000168
/* 001A4 8088E574 844A07A0 */ lh $t2, 0x07A0($v0) ## 000007A0
/* 001A8 8088E578 000A5880 */ sll $t3, $t2, 2
/* 001AC 8088E57C 004B6021 */ addu $t4, $v0, $t3
/* 001B0 8088E580 0C016A7D */ jal Camera_GetCamDirYaw
/* 001B4 8088E584 8D840790 */ lw $a0, 0x0790($t4) ## 00000790
/* 001B8 8088E588 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 001BC 8088E58C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 001C0 8088E590 244D4000 */ addiu $t5, $v0, 0x4000 ## $t5 = 00004000
/* 001C4 8088E594 3C0E8089 */ lui $t6, %hi(func_8088E5D0) ## $t6 = 80890000
/* 001C8 8088E598 4604303E */ c.le.s $f6, $f4
/* 001CC 8088E59C 3C0F8089 */ lui $t7, %hi(func_8088E6D0) ## $t7 = 80890000
/* 001D0 8088E5A0 A60D0032 */ sh $t5, 0x0032($s0) ## 00000032
/* 001D4 8088E5A4 25CEE5D0 */ addiu $t6, $t6, %lo(func_8088E5D0) ## $t6 = 8088E5D0
/* 001D8 8088E5A8 45000003 */ bc1f .L8088E5B8
/* 001DC 8088E5AC 25EFE6D0 */ addiu $t7, $t7, %lo(func_8088E6D0) ## $t7 = 8088E6D0
/* 001E0 8088E5B0 10000002 */ beq $zero, $zero, .L8088E5BC
/* 001E4 8088E5B4 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
.L8088E5B8:
/* 001E8 8088E5B8 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
.L8088E5BC:
/* 001EC 8088E5BC 8FBF001C */ lw $ra, 0x001C($sp)
.L8088E5C0:
/* 001F0 8088E5C0 8FB00018 */ lw $s0, 0x0018($sp)
/* 001F4 8088E5C4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 001F8 8088E5C8 03E00008 */ jr $ra
/* 001FC 8088E5CC 00000000 */ nop

View file

@ -1,73 +0,0 @@
glabel func_8088E5D0
/* 00200 8088E5D0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00204 8088E5D4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00208 8088E5D8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0020C 8088E5DC AFA50024 */ sw $a1, 0x0024($sp)
/* 00210 8088E5E0 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00214 8088E5E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00218 8088E5E8 3C0A8089 */ lui $t2, %hi(func_8088E6D0) ## $t2 = 80890000
/* 0021C 8088E5EC 10400003 */ beq $v0, $zero, .L8088E5FC
/* 00220 8088E5F0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00224 8088E5F4 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
/* 00228 8088E5F8 84820168 */ lh $v0, 0x0168($a0) ## 00000168
.L8088E5FC:
/* 0022C 8088E5FC 1040001B */ beq $v0, $zero, .L8088E66C
/* 00230 8088E600 254AE6D0 */ addiu $t2, $t2, %lo(func_8088E6D0) ## $t2 = 8088E6D0
/* 00234 8088E604 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
/* 00238 8088E608 0002C380 */ sll $t8, $v0, 14
/* 0023C 8088E60C 01F82021 */ addu $a0, $t7, $t8
/* 00240 8088E610 00042400 */ sll $a0, $a0, 16
/* 00244 8088E614 0C01DE1C */ jal Math_SinS
## sins?
/* 00248 8088E618 00042403 */ sra $a0, $a0, 16
/* 0024C 8088E61C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00250 8088E620 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 00254 8088E624 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
/* 00258 8088E628 86080168 */ lh $t0, 0x0168($s0) ## 00000168
/* 0025C 8088E62C 46040182 */ mul.s $f6, $f0, $f4
/* 00260 8088E630 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00264 8088E634 00084B80 */ sll $t1, $t0, 14
/* 00268 8088E638 03292021 */ addu $a0, $t9, $t1
/* 0026C 8088E63C 00042400 */ sll $a0, $a0, 16
/* 00270 8088E640 00042403 */ sra $a0, $a0, 16
/* 00274 8088E644 46083280 */ add.s $f10, $f6, $f8
/* 00278 8088E648 0C01DE0D */ jal Math_CosS
## coss?
/* 0027C 8088E64C E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 00280 8088E650 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00284 8088E654 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
/* 00288 8088E658 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
/* 0028C 8088E65C 46100482 */ mul.s $f18, $f0, $f16
/* 00290 8088E660 46049180 */ add.s $f6, $f18, $f4
/* 00294 8088E664 10000006 */ beq $zero, $zero, .L8088E680
/* 00298 8088E668 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
.L8088E66C:
/* 0029C 8088E66C C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
/* 002A0 8088E670 C60A0010 */ lwc1 $f10, 0x0010($s0) ## 00000010
/* 002A4 8088E674 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 002A8 8088E678 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 002AC 8088E67C E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
.L8088E680:
/* 002B0 8088E680 860B0168 */ lh $t3, 0x0168($s0) ## 00000168
/* 002B4 8088E684 240500B4 */ addiu $a1, $zero, 0x00B4 ## $a1 = 000000B4
/* 002B8 8088E688 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 002BC 8088E68C 05610004 */ bgez $t3, .L8088E6A0
/* 002C0 8088E690 316C0003 */ andi $t4, $t3, 0x0003 ## $t4 = 00000000
/* 002C4 8088E694 11800002 */ beq $t4, $zero, .L8088E6A0
/* 002C8 8088E698 00000000 */ nop
/* 002CC 8088E69C 258CFFFC */ addiu $t4, $t4, 0xFFFC ## $t4 = FFFFFFFC
.L8088E6A0:
/* 002D0 8088E6A0 15800006 */ bne $t4, $zero, .L8088E6BC
/* 002D4 8088E6A4 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
/* 002D8 8088E6A8 0C02A800 */ jal func_800AA000
/* 002DC 8088E6AC C60C008C */ lwc1 $f12, 0x008C($s0) ## 0000008C
/* 002E0 8088E6B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002E4 8088E6B4 0C00BE0A */ jal Audio_PlayActorSound2
/* 002E8 8088E6B8 24052838 */ addiu $a1, $zero, 0x2838 ## $a1 = 00002838
.L8088E6BC:
/* 002EC 8088E6BC 8FBF001C */ lw $ra, 0x001C($sp)
/* 002F0 8088E6C0 8FB00018 */ lw $s0, 0x0018($sp)
/* 002F4 8088E6C4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 002F8 8088E6C8 03E00008 */ jr $ra
/* 002FC 8088E6CC 00000000 */ nop

View file

@ -1,41 +0,0 @@
glabel func_8088E6D0
/* 00300 8088E6D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00304 8088E6D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00308 8088E6D8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0030C 8088E6DC 0C010D5B */ jal func_8004356C
/* 00310 8088E6E0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00314 8088E6E4 10400004 */ beq $v0, $zero, .L8088E6F8
/* 00318 8088E6E8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0031C 8088E6EC 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 00320 8088E6F0 10000005 */ beq $zero, $zero, .L8088E708
/* 00324 8088E6F4 A4EE0168 */ sh $t6, 0x0168($a3) ## 00000168
.L8088E6F8:
/* 00328 8088E6F8 84E20168 */ lh $v0, 0x0168($a3) ## 00000168
/* 0032C 8088E6FC 10400002 */ beq $v0, $zero, .L8088E708
/* 00330 8088E700 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 00334 8088E704 A4EF0168 */ sh $t7, 0x0168($a3) ## 00000168
.L8088E708:
/* 00338 8088E708 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0033C 8088E70C 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 00340 8088E710 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C
/* 00344 8088E714 3C063FD9 */ lui $a2, 0x3FD9 ## $a2 = 3FD90000
/* 00348 8088E718 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3FD9999A
/* 0034C 8088E71C 46062201 */ sub.s $f8, $f4, $f6
/* 00350 8088E720 AFA70018 */ sw $a3, 0x0018($sp)
/* 00354 8088E724 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
/* 00358 8088E728 44054000 */ mfc1 $a1, $f8
/* 0035C 8088E72C 0C01DE80 */ jal Math_StepToF
/* 00360 8088E730 00000000 */ nop
/* 00364 8088E734 8FA70018 */ lw $a3, 0x0018($sp)
/* 00368 8088E738 3C198089 */ lui $t9, %hi(func_8088E518) ## $t9 = 80890000
/* 0036C 8088E73C 2739E518 */ addiu $t9, $t9, %lo(func_8088E518) ## $t9 = 8088E518
/* 00370 8088E740 84F80168 */ lh $t8, 0x0168($a3) ## 00000168
/* 00374 8088E744 57000003 */ bnel $t8, $zero, .L8088E754
/* 00378 8088E748 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0037C 8088E74C ACF90164 */ sw $t9, 0x0164($a3) ## 00000164
/* 00380 8088E750 8FBF0014 */ lw $ra, 0x0014($sp)
.L8088E754:
/* 00384 8088E754 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00388 8088E758 03E00008 */ jr $ra
/* 0038C 8088E75C 00000000 */ nop

View file

@ -1,21 +0,0 @@
glabel func_8088E760
/* 00390 8088E760 AFA50004 */ sw $a1, 0x0004($sp)
/* 00394 8088E764 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00398 8088E768 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 0039C 8088E76C 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 003A0 8088E770 10400003 */ beq $v0, $zero, .L8088E780
/* 003A4 8088E774 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 003A8 8088E778 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
/* 003AC 8088E77C 84820168 */ lh $v0, 0x0168($a0) ## 00000168
.L8088E780:
/* 003B0 8088E780 14400007 */ bne $v0, $zero, .L8088E7A0
/* 003B4 8088E784 3C088089 */ lui $t0, %hi(func_8088E7A8) ## $t0 = 80890000
/* 003B8 8088E788 848F0032 */ lh $t7, 0x0032($a0) ## 00000032
/* 003BC 8088E78C 2508E7A8 */ addiu $t0, $t0, %lo(func_8088E7A8) ## $t0 = 8088E7A8
/* 003C0 8088E790 A4990168 */ sh $t9, 0x0168($a0) ## 00000168
/* 003C4 8088E794 01E1C021 */ addu $t8, $t7, $at
/* 003C8 8088E798 A4980032 */ sh $t8, 0x0032($a0) ## 00000032
/* 003CC 8088E79C AC880164 */ sw $t0, 0x0164($a0) ## 00000164
.L8088E7A0:
/* 003D0 8088E7A0 03E00008 */ jr $ra
/* 003D4 8088E7A4 00000000 */ nop

View file

@ -1,109 +0,0 @@
.late_rodata
glabel D_8088F298
.word 0x3F9111F0, 0xC34C1A8B
glabel D_8088F2A0
.word 0x400921FB, 0x60000000
glabel D_8088F2A8
.word 0x3F9111F0, 0xC34C1A8B
glabel D_8088F2B0
.word 0x400921FB, 0x60000000
.text
glabel func_8088E7A8
/* 003D8 8088E7A8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 003DC 8088E7AC AFBF001C */ sw $ra, 0x001C($sp)
/* 003E0 8088E7B0 AFB00018 */ sw $s0, 0x0018($sp)
/* 003E4 8088E7B4 AFA5002C */ sw $a1, 0x002C($sp)
/* 003E8 8088E7B8 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 003EC 8088E7BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003F0 8088E7C0 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 003F4 8088E7C4 10400003 */ beq $v0, $zero, .L8088E7D4
/* 003F8 8088E7C8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 003FC 8088E7CC A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
/* 00400 8088E7D0 84820168 */ lh $v0, 0x0168($a0) ## 00000168
.L8088E7D4:
/* 00404 8088E7D4 860F0016 */ lh $t7, 0x0016($s0) ## 00000016
/* 00408 8088E7D8 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 0040C 8088E7DC 03224023 */ subu $t0, $t9, $v0
/* 00410 8088E7E0 51F80018 */ beql $t7, $t8, .L8088E844
/* 00414 8088E7E4 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
/* 00418 8088E7E8 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
/* 0041C 8088E7EC 3C018089 */ lui $at, %hi(D_8088F298) ## $at = 80890000
/* 00420 8088E7F0 D428F298 */ ldc1 $f8, %lo(D_8088F298)($at)
/* 00424 8088E7F4 468021A1 */ cvt.d.w $f6, $f4
/* 00428 8088E7F8 3C013FE0 */ lui $at, 0x3FE0 ## $at = 3FE00000
/* 0042C 8088E7FC 44818800 */ mtc1 $at, $f17 ## $f17 = 1.75
/* 00430 8088E800 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 00434 8088E804 3C018089 */ lui $at, %hi(D_8088F2A0) ## $at = 80890000
/* 00438 8088E808 46283282 */ mul.d $f10, $f6, $f8
/* 0043C 8088E80C D424F2A0 */ ldc1 $f4, %lo(D_8088F2A0)($at)
/* 00440 8088E810 46305481 */ sub.d $f18, $f10, $f16
/* 00444 8088E814 46249182 */ mul.d $f6, $f18, $f4
/* 00448 8088E818 0C0400A4 */ jal sinf
/* 0044C 8088E81C 46203320 */ cvt.s.d $f12, $f6
/* 00450 8088E820 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00454 8088E824 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00458 8088E828 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 0045C 8088E82C 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
/* 00460 8088E830 46080280 */ add.s $f10, $f0, $f8
/* 00464 8088E834 46105082 */ mul.s $f2, $f10, $f16
/* 00468 8088E838 10000017 */ beq $zero, $zero, .L8088E898
/* 0046C 8088E83C 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 00470 8088E840 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
.L8088E844:
/* 00474 8088E844 3C018089 */ lui $at, %hi(D_8088F2A8) ## $at = 80890000
/* 00478 8088E848 D426F2A8 */ ldc1 $f6, %lo(D_8088F2A8)($at)
/* 0047C 8088E84C 46809121 */ cvt.d.w $f4, $f18
/* 00480 8088E850 3C013FE0 */ lui $at, 0x3FE0 ## $at = 3FE00000
/* 00484 8088E854 44815800 */ mtc1 $at, $f11 ## $f11 = 1.75
/* 00488 8088E858 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 0048C 8088E85C 3C018089 */ lui $at, %hi(D_8088F2B0) ## $at = 80890000
/* 00490 8088E860 46262202 */ mul.d $f8, $f4, $f6
/* 00494 8088E864 D432F2B0 */ ldc1 $f18, %lo(D_8088F2B0)($at)
/* 00498 8088E868 462A4401 */ sub.d $f16, $f8, $f10
/* 0049C 8088E86C 46328102 */ mul.d $f4, $f16, $f18
/* 004A0 8088E870 0C0400A4 */ jal sinf
/* 004A4 8088E874 46202320 */ cvt.s.d $f12, $f4
/* 004A8 8088E878 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 004AC 8088E87C 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 004B0 8088E880 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
/* 004B4 8088E884 44815000 */ mtc1 $at, $f10 ## $f10 = -200.00
/* 004B8 8088E888 46060200 */ add.s $f8, $f0, $f6
/* 004BC 8088E88C 460A4082 */ mul.s $f2, $f8, $f10
/* 004C0 8088E890 00000000 */ nop
/* 004C4 8088E894 86040032 */ lh $a0, 0x0032($s0) ## 00000032
.L8088E898:
/* 004C8 8088E898 0C01DE1C */ jal Math_SinS
## sins?
/* 004CC 8088E89C E7A20024 */ swc1 $f2, 0x0024($sp)
/* 004D0 8088E8A0 C7A20024 */ lwc1 $f2, 0x0024($sp)
/* 004D4 8088E8A4 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 004D8 8088E8A8 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 004DC 8088E8AC 46020402 */ mul.s $f16, $f0, $f2
/* 004E0 8088E8B0 46128100 */ add.s $f4, $f16, $f18
/* 004E4 8088E8B4 0C01DE0D */ jal Math_CosS
## coss?
/* 004E8 8088E8B8 E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
/* 004EC 8088E8BC C7A20024 */ lwc1 $f2, 0x0024($sp)
/* 004F0 8088E8C0 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
/* 004F4 8088E8C4 86090168 */ lh $t1, 0x0168($s0) ## 00000168
/* 004F8 8088E8C8 46020182 */ mul.s $f6, $f0, $f2
/* 004FC 8088E8CC 3C0B8089 */ lui $t3, %hi(func_8088E760) ## $t3 = 80890000
/* 00500 8088E8D0 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
/* 00504 8088E8D4 256BE760 */ addiu $t3, $t3, %lo(func_8088E760) ## $t3 = 8088E760
/* 00508 8088E8D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0050C 8088E8DC 46083280 */ add.s $f10, $f6, $f8
/* 00510 8088E8E0 15200003 */ bne $t1, $zero, .L8088E8F0
/* 00514 8088E8E4 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
/* 00518 8088E8E8 A60A0168 */ sh $t2, 0x0168($s0) ## 00000168
/* 0051C 8088E8EC AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
.L8088E8F0:
/* 00520 8088E8F0 0C00BE5D */ jal func_8002F974
/* 00524 8088E8F4 24052033 */ addiu $a1, $zero, 0x2033 ## $a1 = 00002033
/* 00528 8088E8F8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0052C 8088E8FC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00530 8088E900 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00534 8088E904 03E00008 */ jr $ra
/* 00538 8088E908 00000000 */ nop

View file

@ -1,93 +0,0 @@
glabel func_8088E90C
/* 0053C 8088E90C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00540 8088E910 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00544 8088E914 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00548 8088E918 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 0054C 8088E91C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00550 8088E920 AFA50028 */ sw $a1, 0x0028($sp)
/* 00554 8088E924 00812021 */ addu $a0, $a0, $at
/* 00558 8088E928 00042400 */ sll $a0, $a0, 16
/* 0055C 8088E92C 0C01DE0D */ jal Math_CosS
## coss?
/* 00560 8088E930 00042403 */ sra $a0, $a0, 16
/* 00564 8088E934 8FA50028 */ lw $a1, 0x0028($sp)
/* 00568 8088E938 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 0056C 8088E93C 84A40032 */ lh $a0, 0x0032($a1) ## 00000032
/* 00570 8088E940 E7A0001C */ swc1 $f0, 0x001C($sp)
/* 00574 8088E944 00812021 */ addu $a0, $a0, $at
/* 00578 8088E948 00042400 */ sll $a0, $a0, 16
/* 0057C 8088E94C 0C01DE1C */ jal Math_SinS
## sins?
/* 00580 8088E950 00042403 */ sra $a0, $a0, 16
/* 00584 8088E954 8FA50028 */ lw $a1, 0x0028($sp)
/* 00588 8088E958 C7AC001C */ lwc1 $f12, 0x001C($sp)
/* 0058C 8088E95C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 00590 8088E960 24040080 */ addiu $a0, $zero, 0x0080 ## $a0 = 00000080
/* 00594 8088E964 8CAE0188 */ lw $t6, 0x0188($a1) ## 00000188
/* 00598 8088E968 2484FFC0 */ addiu $a0, $a0, 0xFFC0 ## $a0 = 00000040
/* 0059C 8088E96C C4B00024 */ lwc1 $f16, 0x0024($a1) ## 00000024
/* 005A0 8088E970 01C31021 */ addu $v0, $t6, $v1
/* 005A4 8088E974 844F002C */ lh $t7, 0x002C($v0) ## 0000002C
/* 005A8 8088E978 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 005AC 8088E97C 00000000 */ nop
/* 005B0 8088E980 468054A0 */ cvt.s.w $f18, $f10
/* 005B4 8088E984 46120382 */ mul.s $f14, $f0, $f18
/* 005B8 8088E988 50640020 */ beql $v1, $a0, .L8088EA0C
/* 005BC 8088E98C 460E8200 */ add.s $f8, $f16, $f14
.L8088E990:
/* 005C0 8088E990 46126282 */ mul.s $f10, $f12, $f18
/* 005C4 8088E994 460E8200 */ add.s $f8, $f16, $f14
/* 005C8 8088E998 844C002A */ lh $t4, 0x002A($v0) ## 0000002A
/* 005CC 8088E99C 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000040
/* 005D0 8088E9A0 4600420D */ trunc.w.s $f8, $f8
/* 005D4 8088E9A4 44194000 */ mfc1 $t9, $f8
/* 005D8 8088E9A8 00000000 */ nop
/* 005DC 8088E9AC A4590030 */ sh $t9, 0x0030($v0) ## 00000030
/* 005E0 8088E9B0 C4A80028 */ lwc1 $f8, 0x0028($a1) ## 00000028
/* 005E4 8088E9B4 4600420D */ trunc.w.s $f8, $f8
/* 005E8 8088E9B8 440B4000 */ mfc1 $t3, $f8
/* 005EC 8088E9BC 00000000 */ nop
/* 005F0 8088E9C0 016C6821 */ addu $t5, $t3, $t4
/* 005F4 8088E9C4 A44D0032 */ sh $t5, 0x0032($v0) ## 00000032
/* 005F8 8088E9C8 C4A8002C */ lwc1 $f8, 0x002C($a1) ## 0000002C
/* 005FC 8088E9CC 460A4280 */ add.s $f10, $f8, $f10
/* 00600 8088E9D0 4600528D */ trunc.w.s $f10, $f10
/* 00604 8088E9D4 440F5000 */ mfc1 $t7, $f10
/* 00608 8088E9D8 00000000 */ nop
/* 0060C 8088E9DC A44F0034 */ sh $t7, 0x0034($v0) ## 00000034
/* 00610 8088E9E0 8CAE0188 */ lw $t6, 0x0188($a1) ## 00000188
/* 00614 8088E9E4 C4B00024 */ lwc1 $f16, 0x0024($a1) ## 00000024
/* 00618 8088E9E8 01C31021 */ addu $v0, $t6, $v1
/* 0061C 8088E9EC 844F002C */ lh $t7, 0x002C($v0) ## 0000002C
/* 00620 8088E9F0 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 00624 8088E9F4 00000000 */ nop
/* 00628 8088E9F8 468054A0 */ cvt.s.w $f18, $f10
/* 0062C 8088E9FC 46120382 */ mul.s $f14, $f0, $f18
/* 00630 8088EA00 1464FFE3 */ bne $v1, $a0, .L8088E990
/* 00634 8088EA04 00000000 */ nop
/* 00638 8088EA08 460E8200 */ add.s $f8, $f16, $f14
.L8088EA0C:
/* 0063C 8088EA0C 844C002A */ lh $t4, 0x002A($v0) ## 0000002A
/* 00640 8088EA10 46126282 */ mul.s $f10, $f12, $f18
/* 00644 8088EA14 24840040 */ addiu $a0, $a0, 0x0040 ## $a0 = 00000080
/* 00648 8088EA18 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000080
/* 0064C 8088EA1C 4600420D */ trunc.w.s $f8, $f8
/* 00650 8088EA20 44194000 */ mfc1 $t9, $f8
/* 00654 8088EA24 00000000 */ nop
/* 00658 8088EA28 A4590030 */ sh $t9, 0x0030($v0) ## 00000030
/* 0065C 8088EA2C C4A80028 */ lwc1 $f8, 0x0028($a1) ## 00000028
/* 00660 8088EA30 4600420D */ trunc.w.s $f8, $f8
/* 00664 8088EA34 440B4000 */ mfc1 $t3, $f8
/* 00668 8088EA38 00000000 */ nop
/* 0066C 8088EA3C 016C6821 */ addu $t5, $t3, $t4
/* 00670 8088EA40 A44D0032 */ sh $t5, 0x0032($v0) ## 00000032
/* 00674 8088EA44 C4A8002C */ lwc1 $f8, 0x002C($a1) ## 0000002C
/* 00678 8088EA48 460A4280 */ add.s $f10, $f8, $f10
/* 0067C 8088EA4C 4600528D */ trunc.w.s $f10, $f10
/* 00680 8088EA50 440F5000 */ mfc1 $t7, $f10
/* 00684 8088EA54 00000000 */ nop
/* 00688 8088EA58 A44F0034 */ sh $t7, 0x0034($v0) ## 00000034
/* 0068C 8088EA5C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00690 8088EA60 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00694 8088EA64 03E00008 */ jr $ra
/* 00698 8088EA68 00000000 */ nop

View file

@ -1,332 +0,0 @@
.rdata
glabel D_8088F220
.asciz "../z_bg_hidan_sima.c"
.balign 4
glabel D_8088F238
.asciz "../z_bg_hidan_sima.c"
.balign 4
.late_rodata
glabel D_8088F2BC
.float 0.4
.text
glabel func_8088EB54
/* 00784 8088EB54 27BDFF18 */ addiu $sp, $sp, 0xFF18 ## $sp = FFFFFF18
/* 00788 8088EB58 AFB40040 */ sw $s4, 0x0040($sp)
/* 0078C 8088EB5C 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 00790 8088EB60 AFBF0054 */ sw $ra, 0x0054($sp)
/* 00794 8088EB64 AFB10034 */ sw $s1, 0x0034($sp)
/* 00798 8088EB68 AFA400E8 */ sw $a0, 0x00E8($sp)
/* 0079C 8088EB6C 3C058013 */ lui $a1, %hi(gMtxFClear)
/* 007A0 8088EB70 00C08825 */ or $s1, $a2, $zero ## $s1 = 00000000
/* 007A4 8088EB74 AFBE0050 */ sw $s8, 0x0050($sp)
/* 007A8 8088EB78 AFB7004C */ sw $s7, 0x004C($sp)
/* 007AC 8088EB7C AFB60048 */ sw $s6, 0x0048($sp)
/* 007B0 8088EB80 AFB50044 */ sw $s5, 0x0044($sp)
/* 007B4 8088EB84 AFB3003C */ sw $s3, 0x003C($sp)
/* 007B8 8088EB88 AFB20038 */ sw $s2, 0x0038($sp)
/* 007BC 8088EB8C AFB00030 */ sw $s0, 0x0030($sp)
/* 007C0 8088EB90 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 007C4 8088EB94 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 007C8 8088EB98 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 007CC 8088EB9C 24A5DB60 */ addiu $a1, %lo(gMtxFClear)
/* 007D0 8088EBA0 0C0346EA */ jal Matrix_MtxFCopy
/* 007D4 8088EBA4 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFC0
/* 007D8 8088EBA8 868E0032 */ lh $t6, 0x0032($s4) ## 00000032
/* 007DC 8088EBAC 34108000 */ ori $s0, $zero, 0x8000 ## $s0 = 00008000
/* 007E0 8088EBB0 01D02021 */ addu $a0, $t6, $s0
/* 007E4 8088EBB4 00042400 */ sll $a0, $a0, 16
/* 007E8 8088EBB8 0C01DE0D */ jal Math_CosS
## coss?
/* 007EC 8088EBBC 00042403 */ sra $a0, $a0, 16
/* 007F0 8088EBC0 E7A00098 */ swc1 $f0, 0x0098($sp)
/* 007F4 8088EBC4 868F0032 */ lh $t7, 0x0032($s4) ## 00000032
/* 007F8 8088EBC8 01F02021 */ addu $a0, $t7, $s0
/* 007FC 8088EBCC 00042400 */ sll $a0, $a0, 16
/* 00800 8088EBD0 0C01DE1C */ jal Math_SinS
## sins?
/* 00804 8088EBD4 00042403 */ sra $a0, $a0, 16
/* 00808 8088EBD8 E7A00094 */ swc1 $f0, 0x0094($sp)
/* 0080C 8088EBDC 86840168 */ lh $a0, 0x0168($s4) ## 00000168
/* 00810 8088EBE0 2418003C */ addiu $t8, $zero, 0x003C ## $t8 = 0000003C
/* 00814 8088EBE4 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 00818 8088EBE8 0304A823 */ subu $s5, $t8, $a0
/* 0081C 8088EBEC 0015A843 */ sra $s5, $s5, 1
/* 00820 8088EBF0 2AA10004 */ slti $at, $s5, 0x0004
/* 00824 8088EBF4 14200002 */ bne $at, $zero, .L8088EC00
/* 00828 8088EBF8 0004C843 */ sra $t9, $a0, 1
/* 0082C 8088EBFC 24150003 */ addiu $s5, $zero, 0x0003 ## $s5 = 00000003
.L8088EC00:
/* 00830 8088EC00 01191023 */ subu $v0, $t0, $t9
/* 00834 8088EC04 04410002 */ bgez $v0, .L8088EC10
/* 00838 8088EC08 2405004F */ addiu $a1, $zero, 0x004F ## $a1 = 0000004F
/* 0083C 8088EC0C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L8088EC10:
/* 00840 8088EC10 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00844 8088EC14 0086001A */ div $zero, $a0, $a2
/* 00848 8088EC18 00021880 */ sll $v1, $v0, 2
/* 0084C 8088EC1C 00004810 */ mfhi $t1
/* 00850 8088EC20 00621823 */ subu $v1, $v1, $v0
/* 00854 8088EC24 000318C0 */ sll $v1, $v1, 3
/* 00858 8088EC28 00095080 */ sll $t2, $t1, 2
/* 0085C 8088EC2C 00AA5823 */ subu $t3, $a1, $t2
/* 00860 8088EC30 00621821 */ addu $v1, $v1, $v0
/* 00864 8088EC34 01636021 */ addu $t4, $t3, $v1
/* 00868 8088EC38 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 0086C 8088EC3C C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024
/* 00870 8088EC40 C7AC0098 */ lwc1 $f12, 0x0098($sp)
/* 00874 8088EC44 46803220 */ cvt.s.w $f8, $f6
/* 00878 8088EC48 3C018089 */ lui $at, %hi(D_8088F2BC) ## $at = 80890000
/* 0087C 8088EC4C C434F2BC */ lwc1 $f20, %lo(D_8088F2BC)($at)
/* 00880 8088EC50 14C00002 */ bne $a2, $zero, .L8088EC5C
/* 00884 8088EC54 00000000 */ nop
/* 00888 8088EC58 0007000D */ break 7
.L8088EC5C:
/* 0088C 8088EC5C 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 00890 8088EC60 14C10004 */ bne $a2, $at, .L8088EC74
/* 00894 8088EC64 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00898 8088EC68 14810002 */ bne $a0, $at, .L8088EC74
/* 0089C 8088EC6C 00000000 */ nop
/* 008A0 8088EC70 0006000D */ break 6
.L8088EC74:
/* 008A4 8088EC74 46004282 */ mul.s $f10, $f8, $f0
/* 008A8 8088EC78 3C190601 */ lui $t9, %hi(D_0600DC30) ## $t9 = 06010000
/* 008AC 8088EC7C 2739DC30 */ addiu $t9, $t9, %lo(D_0600DC30) ## $t9 = 0600DC30
/* 008B0 8088EC80 00409825 */ or $s3, $v0, $zero ## $s3 = 00000000
/* 008B4 8088EC84 241E0007 */ addiu $s8, $zero, 0x0007 ## $s8 = 00000007
/* 008B8 8088EC88 3C178089 */ lui $s7, %hi(D_8088F1FC) ## $s7 = 80890000
/* 008BC 8088EC8C 460A2400 */ add.s $f16, $f4, $f10
/* 008C0 8088EC90 E7B000D8 */ swc1 $f16, 0x00D8($sp)
/* 008C4 8088EC94 868D0168 */ lh $t5, 0x0168($s4) ## 00000168
/* 008C8 8088EC98 C692002C */ lwc1 $f18, 0x002C($s4) ## 0000002C
/* 008CC 8088EC9C 01A6001A */ div $zero, $t5, $a2
/* 008D0 8088ECA0 00007010 */ mfhi $t6
/* 008D4 8088ECA4 000E7880 */ sll $t7, $t6, 2
/* 008D8 8088ECA8 00AFC023 */ subu $t8, $a1, $t7
/* 008DC 8088ECAC 03034021 */ addu $t0, $t8, $v1
/* 008E0 8088ECB0 44883000 */ mtc1 $t0, $f6 ## $f6 = 0.00
/* 008E4 8088ECB4 14C00002 */ bne $a2, $zero, .L8088ECC0
/* 008E8 8088ECB8 00000000 */ nop
/* 008EC 8088ECBC 0007000D */ break 7
.L8088ECC0:
/* 008F0 8088ECC0 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 008F4 8088ECC4 14C10004 */ bne $a2, $at, .L8088ECD8
/* 008F8 8088ECC8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 008FC 8088ECCC 15A10002 */ bne $t5, $at, .L8088ECD8
/* 00900 8088ECD0 00000000 */ nop
/* 00904 8088ECD4 0006000D */ break 6
.L8088ECD8:
/* 00908 8088ECD8 46803220 */ cvt.s.w $f8, $f6
/* 0090C 8088ECDC 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00910 8088ECE0 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 00914 8088ECE4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00918 8088ECE8 460C4102 */ mul.s $f4, $f8, $f12
/* 0091C 8088ECEC 46049280 */ add.s $f10, $f18, $f4
/* 00920 8088ECF0 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
/* 00924 8088ECF4 00000000 */ nop
/* 00928 8088ECF8 46809120 */ cvt.s.w $f4, $f18
/* 0092C 8088ECFC E7AA00E0 */ swc1 $f10, 0x00E0($sp)
/* 00930 8088ED00 C6900028 */ lwc1 $f16, 0x0028($s4) ## 00000028
/* 00934 8088ED04 46068200 */ add.s $f8, $f16, $f6
/* 00938 8088ED08 46142282 */ mul.s $f10, $f4, $f20
/* 0093C 8088ED0C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 00940 8088ED10 0055082A */ slt $at, $v0, $s5
/* 00944 8088ED14 E7A800DC */ swc1 $f8, 0x00DC($sp)
/* 00948 8088ED18 C7A80094 */ lwc1 $f8, 0x0094($sp)
/* 0094C 8088ED1C 46105080 */ add.s $f2, $f10, $f16
/* 00950 8088ED20 E7A200D0 */ swc1 $f2, 0x00D0($sp)
/* 00954 8088ED24 E7A200BC */ swc1 $f2, 0x00BC($sp)
/* 00958 8088ED28 10200056 */ beq $at, $zero, .L8088EE84
/* 0095C 8088ED2C E7A200A8 */ swc1 $f2, 0x00A8($sp)
/* 00960 8088ED30 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 00964 8088ED34 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
/* 00968 8088ED38 44819000 */ mtc1 $at, $f18 ## $f18 = 25.00
/* 0096C 8088ED3C 3C16DB06 */ lui $s6, 0xDB06 ## $s6 = DB060000
/* 00970 8088ED40 46083582 */ mul.s $f22, $f6, $f8
/* 00974 8088ED44 36D60024 */ ori $s6, $s6, 0x0024 ## $s6 = DB060024
/* 00978 8088ED48 AFB90060 */ sw $t9, 0x0060($sp)
/* 0097C 8088ED4C 460C9602 */ mul.s $f24, $f18, $f12
/* 00980 8088ED50 26F7F1FC */ addiu $s7, $s7, %lo(D_8088F1FC) ## $s7 = 8088F1FC
.L8088ED54:
/* 00984 8088ED54 C7A400D8 */ lwc1 $f4, 0x00D8($sp)
/* 00988 8088ED58 C7B000E0 */ lwc1 $f16, 0x00E0($sp)
/* 0098C 8088ED5C C7A800A8 */ lwc1 $f8, 0x00A8($sp)
/* 00990 8088ED60 46162280 */ add.s $f10, $f4, $f22
/* 00994 8088ED64 C7A400BC */ lwc1 $f4, 0x00BC($sp)
/* 00998 8088ED68 C7AC0098 */ lwc1 $f12, 0x0098($sp)
/* 0099C 8088ED6C 46188180 */ add.s $f6, $f16, $f24
/* 009A0 8088ED70 C7B000D0 */ lwc1 $f16, 0x00D0($sp)
/* 009A4 8088ED74 E7AA00D8 */ swc1 $f10, 0x00D8($sp)
/* 009A8 8088ED78 46144480 */ add.s $f18, $f8, $f20
/* 009AC 8088ED7C E7A600E0 */ swc1 $f6, 0x00E0($sp)
/* 009B0 8088ED80 02201025 */ or $v0, $s1, $zero ## $v0 = 00000000
/* 009B4 8088ED84 46142280 */ add.s $f10, $f4, $f20
/* 009B8 8088ED88 E7B200A8 */ swc1 $f18, 0x00A8($sp)
/* 009BC 8088ED8C 3C198016 */ lui $t9, %hi(gSegments)
/* 009C0 8088ED90 46148180 */ add.s $f6, $f16, $f20
/* 009C4 8088ED94 E7AA00BC */ swc1 $f10, 0x00BC($sp)
/* 009C8 8088ED98 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000008
/* 009CC 8088ED9C 02208025 */ or $s0, $s1, $zero ## $s0 = 00000008
/* 009D0 8088EDA0 E7A600D0 */ swc1 $f6, 0x00D0($sp)
/* 009D4 8088EDA4 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
/* 009D8 8088EDA8 86890168 */ lh $t1, 0x0168($s4) ## 00000168
/* 009DC 8088EDAC 3C058089 */ lui $a1, %hi(D_8088F220) ## $a1 = 80890000
/* 009E0 8088EDB0 24A5F220 */ addiu $a1, $a1, %lo(D_8088F220) ## $a1 = 8088F220
/* 009E4 8088EDB4 01335021 */ addu $t2, $t1, $s3
/* 009E8 8088EDB8 015E001A */ div $zero, $t2, $s8
/* 009EC 8088EDBC 00005810 */ mfhi $t3
/* 009F0 8088EDC0 000B6080 */ sll $t4, $t3, 2
/* 009F4 8088EDC4 02EC6821 */ addu $t5, $s7, $t4
/* 009F8 8088EDC8 8DA30000 */ lw $v1, 0x0000($t5) ## 00000000
/* 009FC 8088EDCC 17C00002 */ bne $s8, $zero, .L8088EDD8
/* 00A00 8088EDD0 00000000 */ nop
/* 00A04 8088EDD4 0007000D */ break 7
.L8088EDD8:
/* 00A08 8088EDD8 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 00A0C 8088EDDC 17C10004 */ bne $s8, $at, .L8088EDF0
/* 00A10 8088EDE0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00A14 8088EDE4 15410002 */ bne $t2, $at, .L8088EDF0
/* 00A18 8088EDE8 00000000 */ nop
/* 00A1C 8088EDEC 0006000D */ break 6
.L8088EDF0:
/* 00A20 8088EDF0 00037900 */ sll $t7, $v1, 4
/* 00A24 8088EDF4 000FC702 */ srl $t8, $t7, 28
/* 00A28 8088EDF8 00184080 */ sll $t0, $t8, 2
/* 00A2C 8088EDFC 0328C821 */ addu $t9, $t9, $t0
/* 00A30 8088EE00 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00A34 8088EE04 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* 00A38 8088EE08 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00A3C 8088EE0C 00617024 */ and $t6, $v1, $at
/* 00A40 8088EE10 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00A44 8088EE14 01D94821 */ addu $t1, $t6, $t9
/* 00A48 8088EE18 01215021 */ addu $t2, $t1, $at
/* 00A4C 8088EE1C 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
/* 00A50 8088EE20 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00A54 8088EE24 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
/* 00A58 8088EE28 AE0B0000 */ sw $t3, 0x0000($s0) ## 00000008
/* 00A5C 8088EE2C 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000010
/* 00A60 8088EE30 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFC0
/* 00A64 8088EE34 0C034A17 */ jal Matrix_CheckFloats
/* 00A68 8088EE38 24060263 */ addiu $a2, $zero, 0x0263 ## $a2 = 00000263
/* 00A6C 8088EE3C 8FAC00E8 */ lw $t4, 0x00E8($sp)
/* 00A70 8088EE40 00409025 */ or $s2, $v0, $zero ## $s2 = 00000000
/* 00A74 8088EE44 24050040 */ addiu $a1, $zero, 0x0040 ## $a1 = 00000040
/* 00A78 8088EE48 0C031A73 */ jal Graph_Alloc
/* 00A7C 8088EE4C 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 00A80 8088EE50 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00A84 8088EE54 0C034610 */ jal Matrix_MtxFToMtx
/* 00A88 8088EE58 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 00A8C 8088EE5C AE020004 */ sw $v0, 0x0004($s0) ## 0000000C
/* 00A90 8088EE60 02201025 */ or $v0, $s1, $zero ## $v0 = 00000010
/* 00A94 8088EE64 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 00A98 8088EE68 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000010
/* 00A9C 8088EE6C 8FAF0060 */ lw $t7, 0x0060($sp)
/* 00AA0 8088EE70 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00AA4 8088EE74 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000018
/* 00AA8 8088EE78 1675FFB6 */ bne $s3, $s5, .L8088ED54
/* 00AAC 8088EE7C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000014
/* 00AB0 8088EE80 C7AC0098 */ lwc1 $f12, 0x0098($sp)
.L8088EE84:
/* 00AB4 8088EE84 0015C080 */ sll $t8, $s5, 2
/* 00AB8 8088EE88 0315C023 */ subu $t8, $t8, $s5
/* 00ABC 8088EE8C 0018C0C0 */ sll $t8, $t8, 3
/* 00AC0 8088EE90 0315C021 */ addu $t8, $t8, $s5
/* 00AC4 8088EE94 27080050 */ addiu $t0, $t8, 0x0050 ## $t0 = 00000050
/* 00AC8 8088EE98 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
/* 00ACC 8088EE9C C7A40094 */ lwc1 $f4, 0x0094($sp)
/* 00AD0 8088EEA0 C6920024 */ lwc1 $f18, 0x0024($s4) ## 00000024
/* 00AD4 8088EEA4 46804020 */ cvt.s.w $f0, $f8
/* 00AD8 8088EEA8 3C0E0601 */ lui $t6, %hi(D_0600DC30) ## $t6 = 06010000
/* 00ADC 8088EEAC 3C16DB06 */ lui $s6, 0xDB06 ## $s6 = DB060000
/* 00AE0 8088EEB0 25CEDC30 */ addiu $t6, $t6, %lo(D_0600DC30) ## $t6 = 0600DC30
/* 00AE4 8088EEB4 36D60024 */ ori $s6, $s6, 0x0024 ## $s6 = DB060024
/* 00AE8 8088EEB8 02201025 */ or $v0, $s1, $zero ## $v0 = 00000018
/* 00AEC 8088EEBC 46040282 */ mul.s $f10, $f0, $f4
/* 00AF0 8088EEC0 241E0007 */ addiu $s8, $zero, 0x0007 ## $s8 = 00000007
/* 00AF4 8088EEC4 3C178089 */ lui $s7, %hi(D_8088F1FC) ## $s7 = 80890000
/* 00AF8 8088EEC8 460C0202 */ mul.s $f8, $f0, $f12
/* 00AFC 8088EECC 26F7F1FC */ addiu $s7, $s7, %lo(D_8088F1FC) ## $s7 = 8088F1FC
/* 00B00 8088EED0 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000020
/* 00B04 8088EED4 02208025 */ or $s0, $s1, $zero ## $s0 = 00000020
/* 00B08 8088EED8 3C058089 */ lui $a1, %hi(D_8088F238) ## $a1 = 80890000
/* 00B0C 8088EEDC 460A9400 */ add.s $f16, $f18, $f10
/* 00B10 8088EEE0 24A5F238 */ addiu $a1, $a1, %lo(D_8088F238) ## $a1 = 8088F238
/* 00B14 8088EEE4 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000028
/* 00B18 8088EEE8 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFC0
/* 00B1C 8088EEEC E7B000D8 */ swc1 $f16, 0x00D8($sp)
/* 00B20 8088EEF0 C686002C */ lwc1 $f6, 0x002C($s4) ## 0000002C
/* 00B24 8088EEF4 AFAE0060 */ sw $t6, 0x0060($sp)
/* 00B28 8088EEF8 3C0E8016 */ lui $t6, %hi(gSegments)
/* 00B2C 8088EEFC 46083100 */ add.s $f4, $f6, $f8
/* 00B30 8088EF00 24060270 */ addiu $a2, $zero, 0x0270 ## $a2 = 00000270
/* 00B34 8088EF04 E7A400E0 */ swc1 $f4, 0x00E0($sp)
/* 00B38 8088EF08 AC560000 */ sw $s6, 0x0000($v0) ## 00000018
/* 00B3C 8088EF0C 86990168 */ lh $t9, 0x0168($s4) ## 00000168
/* 00B40 8088EF10 03334821 */ addu $t1, $t9, $s3
/* 00B44 8088EF14 013E001A */ div $zero, $t1, $s8
/* 00B48 8088EF18 00005010 */ mfhi $t2
/* 00B4C 8088EF1C 000A5880 */ sll $t3, $t2, 2
/* 00B50 8088EF20 02EB6021 */ addu $t4, $s7, $t3
/* 00B54 8088EF24 8D830000 */ lw $v1, 0x0000($t4) ## 00000000
/* 00B58 8088EF28 17C00002 */ bne $s8, $zero, .L8088EF34
/* 00B5C 8088EF2C 00000000 */ nop
/* 00B60 8088EF30 0007000D */ break 7
.L8088EF34:
/* 00B64 8088EF34 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 00B68 8088EF38 17C10004 */ bne $s8, $at, .L8088EF4C
/* 00B6C 8088EF3C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00B70 8088EF40 15210002 */ bne $t1, $at, .L8088EF4C
/* 00B74 8088EF44 00000000 */ nop
/* 00B78 8088EF48 0006000D */ break 6
.L8088EF4C:
/* 00B7C 8088EF4C 00037900 */ sll $t7, $v1, 4
/* 00B80 8088EF50 000FC702 */ srl $t8, $t7, 28
/* 00B84 8088EF54 00184080 */ sll $t0, $t8, 2
/* 00B88 8088EF58 01C87021 */ addu $t6, $t6, $t0
/* 00B8C 8088EF5C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00B90 8088EF60 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 00B94 8088EF64 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00B98 8088EF68 00616824 */ and $t5, $v1, $at
/* 00B9C 8088EF6C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00BA0 8088EF70 01AEC821 */ addu $t9, $t5, $t6
/* 00BA4 8088EF74 03214821 */ addu $t1, $t9, $at
/* 00BA8 8088EF78 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 00BAC 8088EF7C AC490004 */ sw $t1, 0x0004($v0) ## 0000001C
/* 00BB0 8088EF80 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 00BB4 8088EF84 0C034A17 */ jal Matrix_CheckFloats
/* 00BB8 8088EF88 AE0A0000 */ sw $t2, 0x0000($s0) ## 00000020
/* 00BBC 8088EF8C 8FAB00E8 */ lw $t3, 0x00E8($sp)
/* 00BC0 8088EF90 00409025 */ or $s2, $v0, $zero ## $s2 = 00000000
/* 00BC4 8088EF94 24050040 */ addiu $a1, $zero, 0x0040 ## $a1 = 00000040
/* 00BC8 8088EF98 0C031A73 */ jal Graph_Alloc
/* 00BCC 8088EF9C 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
/* 00BD0 8088EFA0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00BD4 8088EFA4 0C034610 */ jal Matrix_MtxFToMtx
/* 00BD8 8088EFA8 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 00BDC 8088EFAC AE020004 */ sw $v0, 0x0004($s0) ## 00000024
/* 00BE0 8088EFB0 02201025 */ or $v0, $s1, $zero ## $v0 = 00000028
/* 00BE4 8088EFB4 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 00BE8 8088EFB8 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000028
/* 00BEC 8088EFBC 8FAF0060 */ lw $t7, 0x0060($sp)
/* 00BF0 8088EFC0 26310008 */ addiu $s1, $s1, 0x0008 ## $s1 = 00000030
/* 00BF4 8088EFC4 AC4F0004 */ sw $t7, 0x0004($v0) ## 0000002C
/* 00BF8 8088EFC8 8FBF0054 */ lw $ra, 0x0054($sp)
/* 00BFC 8088EFCC 02201025 */ or $v0, $s1, $zero ## $v0 = 00000030
/* 00C00 8088EFD0 8FB10034 */ lw $s1, 0x0034($sp)
/* 00C04 8088EFD4 8FBE0050 */ lw $s8, 0x0050($sp)
/* 00C08 8088EFD8 8FB7004C */ lw $s7, 0x004C($sp)
/* 00C0C 8088EFDC 8FB60048 */ lw $s6, 0x0048($sp)
/* 00C10 8088EFE0 8FB50044 */ lw $s5, 0x0044($sp)
/* 00C14 8088EFE4 8FB40040 */ lw $s4, 0x0040($sp)
/* 00C18 8088EFE8 8FB3003C */ lw $s3, 0x003C($sp)
/* 00C1C 8088EFEC 8FB20038 */ lw $s2, 0x0038($sp)
/* 00C20 8088EFF0 8FB00030 */ lw $s0, 0x0030($sp)
/* 00C24 8088EFF4 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00C28 8088EFF8 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00C2C 8088EFFC D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00C30 8088F000 03E00008 */ jr $ra
/* 00C34 8088F004 27BD00E8 */ addiu $sp, $sp, 0x00E8 ## $sp = 00000000

View file

@ -1,27 +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_Sima_InitVars
.word 0x00460100, 0x00000000, 0x002C0000, 0x0000020C
.word BgHidanSima_Init
.word BgHidanSima_Destroy
.word BgHidanSima_Update
.word BgHidanSima_Draw
glabel D_8088F1A0
.word 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000000, 0x01000000, 0x00280064, 0x00160064, 0x00000000, 0x20000000, 0x01040000, 0x00000000, 0x00000000, 0x19000000, 0x01000000, 0x00280091, 0x001E0064
glabel D_8088F1E8
.word 0x0A110000, 0x20000000, 0x00000002
.word D_8088F1A0
glabel D_8088F1F8
.word 0x48500064
glabel D_8088F1FC
.word 0x06015D20, 0x06016120, 0x06016520, 0x06016920, 0x06016D20, 0x06017120, 0x06017520, 0x06017920, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8088F2C0
.incbin "baserom/ovl_Bg_Hidan_Sima", 0xEF0, 0x00000100

3
spec
View file

@ -868,8 +868,7 @@ endseg
beginseg
name "ovl_Bg_Hidan_Sima"
include "build/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.o"
include "build/data/overlays/actors/z_bg_hidan_sima.data.o"
include "build/data/overlays/actors/z_bg_hidan_sima.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Hidan_Sima/ovl_Bg_Hidan_Sima_reloc.o"
endseg
beginseg

View file

@ -9,13 +9,19 @@ void BgHidanSima_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgHidanSima_Update(Actor* thisx, GlobalContext* globalCtx);
void BgHidanSima_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_0600C338;
extern UNK_TYPE D_0600C470;
extern UNK_TYPE D_0600DC30;
extern UNK_TYPE D_0600FAE8;
extern UNK_TYPE D_060120E8;
void func_8088E518(BgHidanSima* this, GlobalContext* globalCtx);
void func_8088E5D0(BgHidanSima* this, GlobalContext* globalCtx);
void func_8088E6D0(BgHidanSima* this, GlobalContext* globalCtx);
void func_8088E760(BgHidanSima* this, GlobalContext* globalCtx);
void func_8088E7A8(BgHidanSima* this, GlobalContext* globalCtx);
void func_8088E90C(BgHidanSima* this);
extern Gfx D_0600C338[];
extern Gfx D_0600C470[];
extern Gfx D_0600DC30[];
extern CollisionHeader D_0600FAE8;
extern CollisionHeader D_060120E8;
/*
const ActorInit Bg_Hidan_Sima_InitVars = {
ACTOR_BG_HIDAN_SIMA,
ACTORCAT_BG,
@ -28,7 +34,7 @@ const ActorInit Bg_Hidan_Sima_InitVars = {
(ActorFunc)BgHidanSima_Draw,
};
static ColliderJntSphElementInit D_8088F1A0[2] = {
static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEMTYPE_UNK0,
@ -53,7 +59,7 @@ static ColliderJntSphElementInit D_8088F1A0[2] = {
},
};
static ColliderJntSphInit D_8088F1E8 = {
static ColliderJntSphInit sJntSphInit = {
{
COLTYPE_NONE,
AT_ON | AT_TYPE_ENEMY,
@ -62,28 +68,227 @@ static ColliderJntSphInit D_8088F1E8 = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
2,
D_8088F1A0,
ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/BgHidanSima_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/BgHidanSima_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E518.s")
u64* D_8088F1FC[] = { 0x06015D20, 0x06016120, 0x06016520, 0x06016920, 0x06016D20, 0x06017120, 0x06017520, 0x06017920 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E5D0.s")
void BgHidanSima_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHidanSima* this = THIS;
s32 pad;
CollisionHeader* colHeader = NULL;
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E6D0.s")
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
if (this->dyna.actor.params == 0) {
CollisionHeader_GetVirtual(&D_060120E8, &colHeader);
} else {
CollisionHeader_GetVirtual(&D_0600FAE8, &colHeader);
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, this->elements);
for (i = 0; i < ARRAY_COUNT(sJntSphElementsInit); i++) {
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
}
if (this->dyna.actor.params == 0) {
this->actionFunc = func_8088E518;
} else {
this->actionFunc = func_8088E760;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E760.s")
void BgHidanSima_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgHidanSima* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E7A8.s")
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
Collider_DestroyJntSph(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088E90C.s")
void func_8088E518(BgHidanSima* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/BgHidanSima_Update.s")
Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 3.4f);
if (func_8004356C(&this->dyna) && !(player->stateFlags1 & 0x6000)) {
this->timer = 20;
this->dyna.actor.world.rot.y = Camera_GetCamDirYaw(globalCtx->cameraPtrs[globalCtx->activeCamera]) + 0x4000;
if (this->dyna.actor.home.pos.y <= this->dyna.actor.world.pos.y) {
this->actionFunc = func_8088E5D0;
} else {
this->actionFunc = func_8088E6D0;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/func_8088EB54.s")
void func_8088E5D0(BgHidanSima* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer != 0) {
this->dyna.actor.world.pos.x =
Math_SinS(this->dyna.actor.world.rot.y + (this->timer * 0x4000)) * 5.0f + this->dyna.actor.home.pos.x;
this->dyna.actor.world.pos.z =
Math_CosS(this->dyna.actor.world.rot.y + (this->timer * 0x4000)) * 5.0f + this->dyna.actor.home.pos.z;
} else {
this->actionFunc = func_8088E6D0;
this->dyna.actor.world.pos.x = this->dyna.actor.home.pos.x;
this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z;
}
if (!(this->timer % 4)) {
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_SHAKE);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sima/BgHidanSima_Draw.s")
void func_8088E6D0(BgHidanSima* this, GlobalContext* globalCtx) {
if (func_8004356C(&this->dyna)) {
this->timer = 20;
} else if (this->timer != 0) {
this->timer--;
}
Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y - 100.0f, 1.7f);
if (this->timer == 0) {
this->actionFunc = func_8088E518;
}
}
void func_8088E760(BgHidanSima* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
this->dyna.actor.world.rot.y += 0x8000;
this->timer = 60;
this->actionFunc = func_8088E7A8;
}
}
void func_8088E7A8(BgHidanSima* this, GlobalContext* globalCtx) {
f32 temp;
if (this->timer != 0) {
this->timer--;
}
if (this->dyna.actor.world.rot.y != this->dyna.actor.home.rot.y) {
temp = (sinf(((60 - this->timer) * 0.01667 - 0.5) * M_PI) + 1) * 200;
} else {
temp = (sinf((this->timer * 0.01667 - 0.5) * M_PI) + 1) * -200;
}
this->dyna.actor.world.pos.x = Math_SinS(this->dyna.actor.world.rot.y) * temp + this->dyna.actor.home.pos.x;
this->dyna.actor.world.pos.z = Math_CosS(this->dyna.actor.world.rot.y) * temp + this->dyna.actor.home.pos.z;
if (this->timer == 0) {
this->timer = 20;
this->actionFunc = func_8088E760;
}
func_8002F974(&this->dyna.actor, NA_SE_EV_FIRE_PILLAR - SFX_FLAG);
}
void func_8088E90C(BgHidanSima* this) {
ColliderJntSphElement* elem;
s32 i;
f32 cos = Math_CosS(this->dyna.actor.world.rot.y + 0x8000);
f32 sin = Math_SinS(this->dyna.actor.world.rot.y + 0x8000);
for (i = 0; i < 2; i++) {
elem = &this->collider.elements[i];
elem->dim.worldSphere.center.x = this->dyna.actor.world.pos.x + sin * elem->dim.modelSphere.center.z;
elem->dim.worldSphere.center.y = (s16)this->dyna.actor.world.pos.y + elem->dim.modelSphere.center.y;
elem->dim.worldSphere.center.z = this->dyna.actor.world.pos.z + cos * elem->dim.modelSphere.center.z;
}
}
void BgHidanSima_Update(Actor* thisx, GlobalContext* globalCtx) {
BgHidanSima* this = THIS;
s32 pad;
this->actionFunc(this, globalCtx);
if (this->dyna.actor.params != 0) {
s32 temp = (this->dyna.actor.world.rot.y == this->dyna.actor.shape.rot.y) ? this->timer : (this->timer + 80);
if (this->actionFunc == func_8088E7A8) {
temp += 20;
}
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y - ((1.0f - cosf(temp * (M_PI / 20))) * 5.0f);
if (this->actionFunc == func_8088E7A8) {
func_8088E90C(this);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
}
Gfx* func_8088EB54(GlobalContext* globalCtx, BgHidanSima* this, Gfx* gfx) {
MtxF mtxF;
s32 phi_s5;
s32 s3;
s32 v0;
f32 cos;
f32 sin;
s32 pad[2];
Matrix_MtxFCopy(&mtxF, &gMtxFClear);
cos = Math_CosS(this->dyna.actor.world.rot.y + 0x8000);
sin = Math_SinS(this->dyna.actor.world.rot.y + 0x8000);
phi_s5 = (60 - this->timer) >> 1;
phi_s5 = CLAMP_MAX(phi_s5, 3);
v0 = 3 - (this->timer >> 1);
v0 = CLAMP_MIN(v0, 0);
mtxF.wx = this->dyna.actor.world.pos.x + ((79 - ((this->timer % 6) * 4)) + v0 * 25) * sin;
mtxF.wz = this->dyna.actor.world.pos.z + ((79 - ((this->timer % 6) * 4)) + v0 * 25) * cos;
mtxF.wy = this->dyna.actor.world.pos.y + 40.0f;
mtxF.zz = v0 * 0.4f + 1.0f;
mtxF.yy = v0 * 0.4f + 1.0f;
mtxF.xx = v0 * 0.4f + 1.0f;
for (s3 = v0; s3 < phi_s5; s3++) {
mtxF.wx += 25.0f * sin;
mtxF.wz += 25.0f * cos;
mtxF.xx += 0.4f;
mtxF.yy += 0.4f;
mtxF.zz += 0.4f;
gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088F1FC[(this->timer + s3) % 7]));
gSPMatrix(gfx++,
Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 611),
Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, D_0600DC30);
}
mtxF.wx = this->dyna.actor.world.pos.x + (phi_s5 * 25 + 80) * sin;
mtxF.wz = this->dyna.actor.world.pos.z + (phi_s5 * 25 + 80) * cos;
gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088F1FC[(this->timer + s3) % 7]));
gSPMatrix(gfx++,
Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 624),
Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, D_0600DC30);
return gfx;
}
void BgHidanSima_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgHidanSima* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_sima.c", 641);
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_sima.c", 645),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->dyna.actor.params == 0) {
gSPDisplayList(POLY_OPA_DISP++, D_0600C338);
} else {
gSPDisplayList(POLY_OPA_DISP++, D_0600C470);
if (this->actionFunc == func_8088E7A8) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 1, 255, 255, 0, 150);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 255);
POLY_XLU_DISP = func_8088EB54(globalCtx, this, POLY_XLU_DISP);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_sima.c", 668);
}

View file

@ -6,9 +6,14 @@
struct BgHidanSima;
typedef void (*BgHidanSimaActionFunc)(struct BgHidanSima*, GlobalContext*);
typedef struct BgHidanSima {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xC0];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgHidanSimaActionFunc actionFunc;
/* 0x0168 */ s16 timer;
/* 0x016C */ ColliderJntSph collider;
/* 0x018C */ ColliderJntSphElement elements[2];
} BgHidanSima; // size = 0x020C
extern const ActorInit Bg_Hidan_Sima_InitVars;