mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-17 20:41:28 +00:00
Ovl_Bg_Jya_Megami OK (#284)
* merge from upstream * one non-matching in bg_jya_megami * deleted asm files * renamed unk_1D0 * some suggested changes * megami OK, zero non-matchings * deleted old reloc.s * using a define rather than ARRAY_COUNT * suggested changes * some requested changes * Setup -> Init
This commit is contained in:
parent
845135d8e6
commit
88ad705457
20 changed files with 334 additions and 1146 deletions
|
@ -1,20 +0,0 @@
|
|||
glabel BgJyaMegami_Destroy
|
||||
/* 00474 8089A5A4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00478 8089A5A8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0047C 8089A5AC 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00480 8089A5B0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00484 8089A5B4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 00488 8089A5B8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0048C 8089A5BC 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 00490 8089A5C0 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 00494 8089A5C4 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00498 8089A5C8 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 0049C 8089A5CC 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 004A0 8089A5D0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 004A4 8089A5D4 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 004A8 8089A5D8 24A50168 */ addiu $a1, $a1, 0x0168 ## $a1 = 00000168
|
||||
/* 004AC 8089A5DC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004B0 8089A5E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 004B4 8089A5E4 03E00008 */ jr $ra
|
||||
/* 004B8 8089A5E8 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
glabel BgJyaMegami_Draw
|
||||
/* 00E24 8089AF54 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E28 8089AF58 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00E2C 8089AF5C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E30 8089AF60 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00E34 8089AF64 24C50168 */ addiu $a1, $a2, 0x0168 ## $a1 = 00000168
|
||||
/* 00E38 8089AF68 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00E3C 8089AF6C 0C018A29 */ jal func_800628A4
|
||||
/* 00E40 8089AF70 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 00E44 8089AF74 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00E48 8089AF78 3C0E808A */ lui $t6, %hi(func_8089A820) ## $t6 = 808A0000
|
||||
/* 00E4C 8089AF7C 25CEA820 */ addiu $t6, $t6, %lo(func_8089A820) ## $t6 = 8089A820
|
||||
/* 00E50 8089AF80 8CCF0164 */ lw $t7, 0x0164($a2) ## 00000164
|
||||
/* 00E54 8089AF84 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00E58 8089AF88 15CF0005 */ bne $t6, $t7, .L8089AFA0
|
||||
/* 00E5C 8089AF8C 00000000 */ nop
|
||||
/* 00E60 8089AF90 0C226B52 */ jal func_8089AD48
|
||||
/* 00E64 8089AF94 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00E68 8089AF98 10000004 */ beq $zero, $zero, .L8089AFAC
|
||||
/* 00E6C 8089AF9C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8089AFA0:
|
||||
/* 00E70 8089AFA0 0C226AF2 */ jal func_8089ABC8
|
||||
/* 00E74 8089AFA4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00E78 8089AFA8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8089AFAC:
|
||||
/* 00E7C 8089AFAC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00E80 8089AFB0 03E00008 */ jr $ra
|
||||
/* 00E84 8089AFB4 00000000 */ nop
|
||||
/* 00E88 8089AFB8 00000000 */ nop
|
||||
/* 00E8C 8089AFBC 00000000 */ nop
|
|
@ -1,42 +0,0 @@
|
|||
glabel BgJyaMegami_Init
|
||||
/* 003E8 8089A518 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 003EC 8089A51C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003F0 8089A520 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003F4 8089A524 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 003F8 8089A528 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003FC 8089A52C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00400 8089A530 24C65C4C */ addiu $a2, $a2, 0x5C4C ## $a2 = 06005C4C
|
||||
/* 00404 8089A534 0C22684C */ jal func_8089A130
|
||||
/* 00408 8089A538 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0040C 8089A53C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00410 8089A540 0C226862 */ jal func_8089A188
|
||||
/* 00414 8089A544 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00418 8089A548 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 0041C 8089A54C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00420 8089A550 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00424 8089A554 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00428 8089A558 10400005 */ beq $v0, $zero, .L8089A570
|
||||
/* 0042C 8089A55C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00430 8089A560 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00434 8089A564 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00438 8089A568 1000000A */ beq $zero, $zero, .L8089A594
|
||||
/* 0043C 8089A56C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8089A570:
|
||||
/* 00440 8089A570 3C05808A */ lui $a1, %hi(D_8089B190) ## $a1 = 808A0000
|
||||
/* 00444 8089A574 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00448 8089A578 24A5B190 */ addiu $a1, $a1, %lo(D_8089B190) ## $a1 = 8089B190
|
||||
/* 0044C 8089A57C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00450 8089A580 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00454 8089A584 3C05C248 */ lui $a1, 0xC248 ## $a1 = C2480000
|
||||
/* 00458 8089A588 0C22697B */ jal func_8089A5EC
|
||||
/* 0045C 8089A58C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00460 8089A590 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8089A594:
|
||||
/* 00464 8089A594 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00468 8089A598 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0046C 8089A59C 03E00008 */ jr $ra
|
||||
/* 00470 8089A5A0 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel BgJyaMegami_Update
|
||||
/* 00A74 8089ABA4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00A78 8089ABA8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00A7C 8089ABAC 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00A80 8089ABB0 0320F809 */ jalr $ra, $t9
|
||||
/* 00A84 8089ABB4 00000000 */ nop
|
||||
/* 00A88 8089ABB8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00A8C 8089ABBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00A90 8089ABC0 03E00008 */ jr $ra
|
||||
/* 00A94 8089ABC4 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_8089A130
|
||||
/* 00000 8089A130 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00004 8089A134 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00008 8089A138 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0000C 8089A13C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00010 8089A140 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 00014 8089A144 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00018 8089A148 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0001C 8089A14C 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00020 8089A150 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00024 8089A154 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00028 8089A158 27A50018 */ addiu $a1, $sp, 0x0018 ## $a1 = FFFFFFF8
|
||||
/* 0002C 8089A15C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00030 8089A160 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00034 8089A164 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00038 8089A168 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 0003C 8089A16C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00040 8089A170 8FAE0020 */ lw $t6, 0x0020($sp)
|
||||
/* 00044 8089A174 ADC2014C */ sw $v0, 0x014C($t6) ## 0000014C
|
||||
/* 00048 8089A178 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0004C 8089A17C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00050 8089A180 03E00008 */ jr $ra
|
||||
/* 00054 8089A184 00000000 */ nop
|
|
@ -1,22 +0,0 @@
|
|||
glabel func_8089A188
|
||||
/* 00058 8089A188 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0005C 8089A18C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00060 8089A190 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00064 8089A194 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00068 8089A198 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0006C 8089A19C 24C50168 */ addiu $a1, $a2, 0x0168 ## $a1 = 00000168
|
||||
/* 00070 8089A1A0 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 00074 8089A1A4 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00078 8089A1A8 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 0007C 8089A1AC 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 00080 8089A1B0 3C07808A */ lui $a3, %hi(D_8089B004) ## $a3 = 808A0000
|
||||
/* 00084 8089A1B4 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00088 8089A1B8 24CE0188 */ addiu $t6, $a2, 0x0188 ## $t6 = 00000188
|
||||
/* 0008C 8089A1BC AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00090 8089A1C0 24E7B004 */ addiu $a3, $a3, %lo(D_8089B004) ## $a3 = 8089B004
|
||||
/* 00094 8089A1C4 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00098 8089A1C8 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 0009C 8089A1CC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000A0 8089A1D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 000A4 8089A1D4 03E00008 */ jr $ra
|
||||
/* 000A8 8089A1D8 00000000 */ nop
|
|
@ -1,161 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8089B2A0
|
||||
.word 0x3EE66666
|
||||
glabel D_8089B2A4
|
||||
.float 0.7
|
||||
|
||||
.text
|
||||
glabel func_8089A1DC
|
||||
/* 000AC 8089A1DC 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40
|
||||
/* 000B0 8089A1E0 AFB50084 */ sw $s5, 0x0084($sp)
|
||||
/* 000B4 8089A1E4 AFB3007C */ sw $s3, 0x007C($sp)
|
||||
/* 000B8 8089A1E8 AFB20078 */ sw $s2, 0x0078($sp)
|
||||
/* 000BC 8089A1EC 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
|
||||
/* 000C0 8089A1F0 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000
|
||||
/* 000C4 8089A1F4 AFBF0094 */ sw $ra, 0x0094($sp)
|
||||
/* 000C8 8089A1F8 AFBE0090 */ sw $s8, 0x0090($sp)
|
||||
/* 000CC 8089A1FC AFB7008C */ sw $s7, 0x008C($sp)
|
||||
/* 000D0 8089A200 AFB60088 */ sw $s6, 0x0088($sp)
|
||||
/* 000D4 8089A204 AFB40080 */ sw $s4, 0x0080($sp)
|
||||
/* 000D8 8089A208 AFB10074 */ sw $s1, 0x0074($sp)
|
||||
/* 000DC 8089A20C AFB00070 */ sw $s0, 0x0070($sp)
|
||||
/* 000E0 8089A210 F7BC0068 */ sdc1 $f28, 0x0068($sp)
|
||||
/* 000E4 8089A214 F7BA0060 */ sdc1 $f26, 0x0060($sp)
|
||||
/* 000E8 8089A218 F7B80058 */ sdc1 $f24, 0x0058($sp)
|
||||
/* 000EC 8089A21C F7B60050 */ sdc1 $f22, 0x0050($sp)
|
||||
/* 000F0 8089A220 F7B40048 */ sdc1 $f20, 0x0048($sp)
|
||||
/* 000F4 8089A224 AFA600C8 */ sw $a2, 0x00C8($sp)
|
||||
/* 000F8 8089A228 AFA700CC */ sw $a3, 0x00CC($sp)
|
||||
/* 000FC 8089A22C 18E0006A */ blez $a3, .L8089A3D8
|
||||
/* 00100 8089A230 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
|
||||
/* 00104 8089A234 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00108 8089A238 4481E000 */ mtc1 $at, $f28 ## $f28 = 60.00
|
||||
/* 0010C 8089A23C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
|
||||
/* 00110 8089A240 4481D000 */ mtc1 $at, $f26 ## $f26 = 25.00
|
||||
/* 00114 8089A244 3C01808A */ lui $at, %hi(D_8089B2A0) ## $at = 808A0000
|
||||
/* 00118 8089A248 8FAF00D0 */ lw $t7, 0x00D0($sp)
|
||||
/* 0011C 8089A24C C438B2A0 */ lwc1 $f24, %lo(D_8089B2A0)($at)
|
||||
/* 00120 8089A250 3C01808A */ lui $at, %hi(D_8089B2A4) ## $at = 808A0000
|
||||
/* 00124 8089A254 C436B2A4 */ lwc1 $f22, %lo(D_8089B2A4)($at)
|
||||
/* 00128 8089A258 3C19808A */ lui $t9, %hi(D_8089B17C) ## $t9 = 808A0000
|
||||
/* 0012C 8089A25C 2739B17C */ addiu $t9, $t9, %lo(D_8089B17C) ## $t9 = 8089B17C
|
||||
/* 00130 8089A260 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 00134 8089A264 000FC040 */ sll $t8, $t7, 1
|
||||
/* 00138 8089A268 03194021 */ addu $t0, $t8, $t9
|
||||
/* 0013C 8089A26C 3C1E808A */ lui $s8, %hi(D_8089B15C) ## $s8 = 808A0000
|
||||
/* 00140 8089A270 3C17808A */ lui $s7, %hi(D_8089B14C) ## $s7 = 808A0000
|
||||
/* 00144 8089A274 3C16808A */ lui $s6, %hi(D_8089B16C) ## $s6 = 808A0000
|
||||
/* 00148 8089A278 4481A000 */ mtc1 $at, $f20 ## $f20 = 8.00
|
||||
/* 0014C 8089A27C 26D6B16C */ addiu $s6, $s6, %lo(D_8089B16C) ## $s6 = 8089B16C
|
||||
/* 00150 8089A280 26F7B14C */ addiu $s7, $s7, %lo(D_8089B14C) ## $s7 = 8089B14C
|
||||
/* 00154 8089A284 27DEB15C */ addiu $s8, $s8, %lo(D_8089B15C) ## $s8 = 8089B15C
|
||||
/* 00158 8089A288 AFA800A0 */ sw $t0, 0x00A0($sp)
|
||||
/* 0015C 8089A28C 27B400B4 */ addiu $s4, $sp, 0x00B4 ## $s4 = FFFFFFF4
|
||||
.L8089A290:
|
||||
/* 00160 8089A290 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00164 8089A294 00000000 */ nop
|
||||
/* 00168 8089A298 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 0016C 8089A29C 8FA900A0 */ lw $t1, 0x00A0($sp)
|
||||
/* 00170 8089A2A0 852A0000 */ lh $t2, 0x0000($t1) ## 00000000
|
||||
/* 00174 8089A2A4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00178 8089A2A8 440C3000 */ mfc1 $t4, $f6
|
||||
/* 0017C 8089A2AC 00000000 */ nop
|
||||
/* 00180 8089A2B0 000C6C00 */ sll $t5, $t4, 16
|
||||
/* 00184 8089A2B4 000D7403 */ sra $t6, $t5, 16
|
||||
/* 00188 8089A2B8 014E8824 */ and $s1, $t2, $t6
|
||||
/* 0018C 8089A2BC 2A210005 */ slti $at, $s1, 0x0005
|
||||
/* 00190 8089A2C0 5020000A */ beql $at, $zero, .L8089A2EC
|
||||
/* 00194 8089A2C4 24030020 */ addiu $v1, $zero, 0x0020 ## $v1 = 00000020
|
||||
/* 00198 8089A2C8 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0019C 8089A2CC 00000000 */ nop
|
||||
/* 001A0 8089A2D0 4616003C */ c.lt.s $f0, $f22
|
||||
/* 001A4 8089A2D4 00000000 */ nop
|
||||
/* 001A8 8089A2D8 45020004 */ bc1fl .L8089A2EC
|
||||
/* 001AC 8089A2DC 24030020 */ addiu $v1, $zero, 0x0020 ## $v1 = 00000020
|
||||
/* 001B0 8089A2E0 10000002 */ beq $zero, $zero, .L8089A2EC
|
||||
/* 001B4 8089A2E4 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
|
||||
/* 001B8 8089A2E8 24030020 */ addiu $v1, $zero, 0x0020 ## $v1 = 00000020
|
||||
.L8089A2EC:
|
||||
/* 001BC 8089A2EC 00111040 */ sll $v0, $s1, 1
|
||||
/* 001C0 8089A2F0 02C2C021 */ addu $t8, $s6, $v0
|
||||
/* 001C4 8089A2F4 87190000 */ lh $t9, 0x0000($t8) ## 00000000
|
||||
/* 001C8 8089A2F8 03C26021 */ addu $t4, $s8, $v0
|
||||
/* 001CC 8089A2FC 240FFFA6 */ addiu $t7, $zero, 0xFFA6 ## $t7 = FFFFFFA6
|
||||
/* 001D0 8089A300 858D0000 */ lh $t5, 0x0000($t4) ## 00000000
|
||||
/* 001D4 8089A304 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 001D8 8089A308 02E28021 */ addu $s0, $s7, $v0
|
||||
/* 001DC 8089A30C 86090000 */ lh $t1, 0x0000($s0) ## 00000000
|
||||
/* 001E0 8089A310 3C0F0601 */ lui $t7, 0x0601 ## $t7 = 06010000
|
||||
/* 001E4 8089A314 25EFB9F8 */ addiu $t7, $t7, 0xB9F8 ## $t7 = 0600B9F8
|
||||
/* 001E8 8089A318 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
|
||||
/* 001EC 8089A31C 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005
|
||||
/* 001F0 8089A320 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 001F4 8089A324 240E00F1 */ addiu $t6, $zero, 0x00F1 ## $t6 = 000000F1
|
||||
/* 001F8 8089A328 AFAE0038 */ sw $t6, 0x0038($sp)
|
||||
/* 001FC 8089A32C AFAA0034 */ sw $t2, 0x0034($sp)
|
||||
/* 00200 8089A330 AFAB002C */ sw $t3, 0x002C($sp)
|
||||
/* 00204 8089A334 AFA8001C */ sw $t0, 0x001C($sp)
|
||||
/* 00208 8089A338 AFAF003C */ sw $t7, 0x003C($sp)
|
||||
/* 0020C 8089A33C AFA00028 */ sw $zero, 0x0028($sp)
|
||||
/* 00210 8089A340 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00214 8089A344 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 00218 8089A348 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
|
||||
/* 0021C 8089A34C 8FA600C8 */ lw $a2, 0x00C8($sp)
|
||||
/* 00220 8089A350 02603825 */ or $a3, $s3, $zero ## $a3 = 00000000
|
||||
/* 00224 8089A354 AFA30014 */ sw $v1, 0x0014($sp)
|
||||
/* 00228 8089A358 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 0022C 8089A35C AFAD0030 */ sw $t5, 0x0030($sp)
|
||||
/* 00230 8089A360 0C00A7A3 */ jal func_80029E8C
|
||||
|
||||
/* 00234 8089A364 AFA90024 */ sw $t1, 0x0024($sp)
|
||||
/* 00238 8089A368 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0023C 8089A36C 00000000 */ nop
|
||||
/* 00240 8089A370 4618003C */ c.lt.s $f0, $f24
|
||||
/* 00244 8089A374 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFFF4
|
||||
/* 00248 8089A378 45020014 */ bc1fl .L8089A3CC
|
||||
/* 0024C 8089A37C 8FA900CC */ lw $t1, 0x00CC($sp)
|
||||
/* 00250 8089A380 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00254 8089A384 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
|
||||
/* 00258 8089A388 C7A800BC */ lwc1 $f8, 0x00BC($sp)
|
||||
/* 0025C 8089A38C 86020000 */ lh $v0, 0x0000($s0) ## 00000000
|
||||
/* 00260 8089A390 4406E000 */ mfc1 $a2, $f28
|
||||
/* 00264 8089A394 461A4280 */ add.s $f10, $f8, $f26
|
||||
/* 00268 8089A398 00021080 */ sll $v0, $v0, 2
|
||||
/* 0026C 8089A39C 24580032 */ addiu $t8, $v0, 0x0032 ## $t8 = 00000032
|
||||
/* 00270 8089A3A0 24590046 */ addiu $t9, $v0, 0x0046 ## $t9 = 00000046
|
||||
/* 00274 8089A3A4 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00278 8089A3A8 E7AA00BC */ swc1 $f10, 0x00BC($sp)
|
||||
/* 0027C 8089A3AC AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 00280 8089A3B0 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00284 8089A3B4 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00288 8089A3B8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 0028C 8089A3BC 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFF4
|
||||
/* 00290 8089A3C0 0C00CD20 */ jal func_80033480
|
||||
/* 00294 8089A3C4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00298 8089A3C8 8FA900CC */ lw $t1, 0x00CC($sp)
|
||||
.L8089A3CC:
|
||||
/* 0029C 8089A3CC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
|
||||
/* 002A0 8089A3D0 1649FFAF */ bne $s2, $t1, .L8089A290
|
||||
/* 002A4 8089A3D4 00000000 */ nop
|
||||
.L8089A3D8:
|
||||
/* 002A8 8089A3D8 8FBF0094 */ lw $ra, 0x0094($sp)
|
||||
/* 002AC 8089A3DC D7B40048 */ ldc1 $f20, 0x0048($sp)
|
||||
/* 002B0 8089A3E0 D7B60050 */ ldc1 $f22, 0x0050($sp)
|
||||
/* 002B4 8089A3E4 D7B80058 */ ldc1 $f24, 0x0058($sp)
|
||||
/* 002B8 8089A3E8 D7BA0060 */ ldc1 $f26, 0x0060($sp)
|
||||
/* 002BC 8089A3EC D7BC0068 */ ldc1 $f28, 0x0068($sp)
|
||||
/* 002C0 8089A3F0 8FB00070 */ lw $s0, 0x0070($sp)
|
||||
/* 002C4 8089A3F4 8FB10074 */ lw $s1, 0x0074($sp)
|
||||
/* 002C8 8089A3F8 8FB20078 */ lw $s2, 0x0078($sp)
|
||||
/* 002CC 8089A3FC 8FB3007C */ lw $s3, 0x007C($sp)
|
||||
/* 002D0 8089A400 8FB40080 */ lw $s4, 0x0080($sp)
|
||||
/* 002D4 8089A404 8FB50084 */ lw $s5, 0x0084($sp)
|
||||
/* 002D8 8089A408 8FB60088 */ lw $s6, 0x0088($sp)
|
||||
/* 002DC 8089A40C 8FB7008C */ lw $s7, 0x008C($sp)
|
||||
/* 002E0 8089A410 8FBE0090 */ lw $s8, 0x0090($sp)
|
||||
/* 002E4 8089A414 03E00008 */ jr $ra
|
||||
/* 002E8 8089A418 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000
|
|
@ -1,68 +0,0 @@
|
|||
glabel func_8089A41C
|
||||
/* 002EC 8089A41C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 002F0 8089A420 AFB60044 */ sw $s6, 0x0044($sp)
|
||||
/* 002F4 8089A424 AFB4003C */ sw $s4, 0x003C($sp)
|
||||
/* 002F8 8089A428 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 002FC 8089A42C F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00300 8089A430 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 00304 8089A434 AFB70048 */ sw $s7, 0x0048($sp)
|
||||
/* 00308 8089A438 AFB50040 */ sw $s5, 0x0040($sp)
|
||||
/* 0030C 8089A43C AFB30038 */ sw $s3, 0x0038($sp)
|
||||
/* 00310 8089A440 AFB20034 */ sw $s2, 0x0034($sp)
|
||||
/* 00314 8089A444 AFB10030 */ sw $s1, 0x0030($sp)
|
||||
/* 00318 8089A448 AFB0002C */ sw $s0, 0x002C($sp)
|
||||
/* 0031C 8089A44C 3C14808A */ lui $s4, %hi(D_8089B014) ## $s4 = 808A0000
|
||||
/* 00320 8089A450 3C16808A */ lui $s6, %hi(D_8089B184) ## $s6 = 808A0000
|
||||
/* 00324 8089A454 4486A000 */ mtc1 $a2, $f20 ## $f20 = 0.00
|
||||
/* 00328 8089A458 4481B000 */ mtc1 $at, $f22 ## $f22 = 15.00
|
||||
/* 0032C 8089A45C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 00330 8089A460 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
|
||||
/* 00334 8089A464 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 00338 8089A468 26D6B184 */ addiu $s6, $s6, %lo(D_8089B184) ## $s6 = 8089B184
|
||||
/* 0033C 8089A46C 2694B014 */ addiu $s4, $s4, %lo(D_8089B014) ## $s4 = 8089B014
|
||||
/* 00340 8089A470 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00344 8089A474 27B10050 */ addiu $s1, $sp, 0x0050 ## $s1 = FFFFFFF0
|
||||
/* 00348 8089A478 24150018 */ addiu $s5, $zero, 0x0018 ## $s5 = 00000018
|
||||
/* 0034C 8089A47C 2417000D */ addiu $s7, $zero, 0x000D ## $s7 = 0000000D
|
||||
.L8089A480:
|
||||
/* 00350 8089A480 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00354 8089A484 00000000 */ nop
|
||||
/* 00358 8089A488 4614003C */ c.lt.s $f0, $f20
|
||||
/* 0035C 8089A48C 00000000 */ nop
|
||||
/* 00360 8089A490 45020012 */ bc1fl .L8089A4DC
|
||||
/* 00364 8089A494 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00368 8089A498 02150019 */ multu $s0, $s5
|
||||
/* 0036C 8089A49C 26440024 */ addiu $a0, $s2, 0x0024 ## $a0 = 00000024
|
||||
/* 00370 8089A4A0 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF0
|
||||
/* 00374 8089A4A4 00007012 */ mflo $t6
|
||||
/* 00378 8089A4A8 028E2821 */ addu $a1, $s4, $t6
|
||||
/* 0037C 8089A4AC 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00380 8089A4B0 00000000 */ nop
|
||||
/* 00384 8089A4B4 C7A40058 */ lwc1 $f4, 0x0058($sp)
|
||||
/* 00388 8089A4B8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
|
||||
/* 0038C 8089A4BC 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFF0
|
||||
/* 00390 8089A4C0 46162180 */ add.s $f6, $f4, $f22
|
||||
/* 00394 8089A4C4 02C03025 */ or $a2, $s6, $zero ## $a2 = 8089B184
|
||||
/* 00398 8089A4C8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 0039C 8089A4CC AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 003A0 8089A4D0 0C226877 */ jal func_8089A1DC
|
||||
/* 003A4 8089A4D4 E7A60058 */ swc1 $f6, 0x0058($sp)
|
||||
/* 003A8 8089A4D8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
|
||||
.L8089A4DC:
|
||||
/* 003AC 8089A4DC 1617FFE8 */ bne $s0, $s7, .L8089A480
|
||||
/* 003B0 8089A4E0 00000000 */ nop
|
||||
/* 003B4 8089A4E4 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 003B8 8089A4E8 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 003BC 8089A4EC D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 003C0 8089A4F0 8FB0002C */ lw $s0, 0x002C($sp)
|
||||
/* 003C4 8089A4F4 8FB10030 */ lw $s1, 0x0030($sp)
|
||||
/* 003C8 8089A4F8 8FB20034 */ lw $s2, 0x0034($sp)
|
||||
/* 003CC 8089A4FC 8FB30038 */ lw $s3, 0x0038($sp)
|
||||
/* 003D0 8089A500 8FB4003C */ lw $s4, 0x003C($sp)
|
||||
/* 003D4 8089A504 8FB50040 */ lw $s5, 0x0040($sp)
|
||||
/* 003D8 8089A508 8FB60044 */ lw $s6, 0x0044($sp)
|
||||
/* 003DC 8089A50C 8FB70048 */ lw $s7, 0x0048($sp)
|
||||
/* 003E0 8089A510 03E00008 */ jr $ra
|
||||
/* 003E4 8089A514 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
|
@ -1,7 +0,0 @@
|
|||
glabel func_8089A5EC
|
||||
/* 004BC 8089A5EC 3C0E808A */ lui $t6, %hi(func_8089A604) ## $t6 = 808A0000
|
||||
/* 004C0 8089A5F0 25CEA604 */ addiu $t6, $t6, %lo(func_8089A604) ## $t6 = 8089A604
|
||||
/* 004C4 8089A5F4 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 004C8 8089A5F8 A48001C8 */ sh $zero, 0x01C8($a0) ## 000001C8
|
||||
/* 004CC 8089A5FC 03E00008 */ jr $ra
|
||||
/* 004D0 8089A600 A48001CC */ sh $zero, 0x01CC($a0) ## 000001CC
|
|
@ -1,120 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8089B2A8
|
||||
.float 0.04
|
||||
|
||||
glabel D_8089B2AC
|
||||
.float 0.05
|
||||
|
||||
.text
|
||||
glabel func_8089A604
|
||||
/* 004D4 8089A604 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 004D8 8089A608 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 004DC 8089A60C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 004E0 8089A610 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 004E4 8089A614 90820179 */ lbu $v0, 0x0179($a0) ## 00000179
|
||||
/* 004E8 8089A618 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 004EC 8089A61C 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
|
||||
/* 004F0 8089A620 51C00020 */ beql $t6, $zero, .L8089A6A4
|
||||
/* 004F4 8089A624 860201C8 */ lh $v0, 0x01C8($s0) ## 000001C8
|
||||
/* 004F8 8089A628 848F01C8 */ lh $t7, 0x01C8($a0) ## 000001C8
|
||||
/* 004FC 8089A62C 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00500 8089A630 A0990179 */ sb $t9, 0x0179($a0) ## 00000179
|
||||
/* 00504 8089A634 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00508 8089A638 A49801C8 */ sh $t8, 0x01C8($a0) ## 000001C8
|
||||
/* 0050C 8089A63C 8FA8002C */ lw $t0, 0x002C($sp)
|
||||
/* 00510 8089A640 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
|
||||
/* 00514 8089A644 01284821 */ addu $t1, $t1, $t0
|
||||
/* 00518 8089A648 8D291DE4 */ lw $t1, 0x1DE4($t1) ## 00011DE4
|
||||
/* 0051C 8089A64C 312A0003 */ andi $t2, $t1, 0x0003 ## $t2 = 00000000
|
||||
/* 00520 8089A650 5540000F */ bnel $t2, $zero, .L8089A690
|
||||
/* 00524 8089A654 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00528 8089A658 860B01CC */ lh $t3, 0x01CC($s0) ## 000001CC
|
||||
/* 0052C 8089A65C 3C01808A */ lui $at, %hi(D_8089B2A8) ## $at = 808A0000
|
||||
/* 00530 8089A660 C428B2A8 */ lwc1 $f8, %lo(D_8089B2A8)($at)
|
||||
/* 00534 8089A664 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
|
||||
/* 00538 8089A668 3C01808A */ lui $at, %hi(D_8089B2AC) ## $at = 808A0000
|
||||
/* 0053C 8089A66C C430B2AC */ lwc1 $f16, %lo(D_8089B2AC)($at)
|
||||
/* 00540 8089A670 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00544 8089A674 01002825 */ or $a1, $t0, $zero ## $a1 = 00000000
|
||||
/* 00548 8089A678 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 0054C 8089A67C 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00550 8089A680 44069000 */ mfc1 $a2, $f18
|
||||
/* 00554 8089A684 0C226907 */ jal func_8089A41C
|
||||
/* 00558 8089A688 00000000 */ nop
|
||||
/* 0055C 8089A68C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8089A690:
|
||||
/* 00560 8089A690 0C00BE5D */ jal func_8002F974
|
||||
/* 00564 8089A694 240520D1 */ addiu $a1, $zero, 0x20D1 ## $a1 = 000020D1
|
||||
/* 00568 8089A698 10000006 */ beq $zero, $zero, .L8089A6B4
|
||||
/* 0056C 8089A69C 860201C8 */ lh $v0, 0x01C8($s0) ## 000001C8
|
||||
/* 00570 8089A6A0 860201C8 */ lh $v0, 0x01C8($s0) ## 000001C8
|
||||
.L8089A6A4:
|
||||
/* 00574 8089A6A4 18400003 */ blez $v0, .L8089A6B4
|
||||
/* 00578 8089A6A8 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 0057C 8089A6AC A60C01C8 */ sh $t4, 0x01C8($s0) ## 000001C8
|
||||
/* 00580 8089A6B0 860201C8 */ lh $v0, 0x01C8($s0) ## 000001C8
|
||||
.L8089A6B4:
|
||||
/* 00584 8089A6B4 28410029 */ slti $at, $v0, 0x0029
|
||||
/* 00588 8089A6B8 14200014 */ bne $at, $zero, .L8089A70C
|
||||
/* 0058C 8089A6BC 26060168 */ addiu $a2, $s0, 0x0168 ## $a2 = 00000168
|
||||
/* 00590 8089A6C0 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00594 8089A6C4 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00598 8089A6C8 0C00B2DD */ jal Flags_SetSwitch
|
||||
|
||||
/* 0059C 8089A6CC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 005A0 8089A6D0 0C2269E3 */ jal func_8089A78C
|
||||
/* 005A4 8089A6D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005A8 8089A6D8 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 005AC 8089A6DC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 005B0 8089A6E0 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 005B4 8089A6E4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 005B8 8089A6E8 240728D0 */ addiu $a3, $zero, 0x28D0 ## $a3 = 000028D0
|
||||
/* 005BC 8089A6EC 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 005C0 8089A6F0 24050D70 */ addiu $a1, $zero, 0x0D70 ## $a1 = 00000D70
|
||||
/* 005C4 8089A6F4 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
|
||||
/* 005C8 8089A6F8 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 005CC 8089A6FC 0C02003E */ jal func_800800F8
|
||||
/* 005D0 8089A700 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 005D4 8089A704 1000001D */ beq $zero, $zero, .L8089A77C
|
||||
/* 005D8 8089A708 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L8089A70C:
|
||||
/* 005DC 8089A70C 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 005E0 8089A710 50200004 */ beql $at, $zero, .L8089A724
|
||||
/* 005E4 8089A714 28410010 */ slti $at, $v0, 0x0010
|
||||
/* 005E8 8089A718 10000012 */ beq $zero, $zero, .L8089A764
|
||||
/* 005EC 8089A71C A60001CC */ sh $zero, 0x01CC($s0) ## 000001CC
|
||||
/* 005F0 8089A720 28410010 */ slti $at, $v0, 0x0010
|
||||
.L8089A724:
|
||||
/* 005F4 8089A724 10200003 */ beq $at, $zero, .L8089A734
|
||||
/* 005F8 8089A728 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 005FC 8089A72C 1000000D */ beq $zero, $zero, .L8089A764
|
||||
/* 00600 8089A730 A60D01CC */ sh $t5, 0x01CC($s0) ## 000001CC
|
||||
.L8089A734:
|
||||
/* 00604 8089A734 28410018 */ slti $at, $v0, 0x0018
|
||||
/* 00608 8089A738 10200003 */ beq $at, $zero, .L8089A748
|
||||
/* 0060C 8089A73C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00610 8089A740 10000008 */ beq $zero, $zero, .L8089A764
|
||||
/* 00614 8089A744 A60E01CC */ sh $t6, 0x01CC($s0) ## 000001CC
|
||||
.L8089A748:
|
||||
/* 00618 8089A748 28410020 */ slti $at, $v0, 0x0020
|
||||
/* 0061C 8089A74C 10200004 */ beq $at, $zero, .L8089A760
|
||||
/* 00620 8089A750 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 00624 8089A754 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 00628 8089A758 10000002 */ beq $zero, $zero, .L8089A764
|
||||
/* 0062C 8089A75C A60F01CC */ sh $t7, 0x01CC($s0) ## 000001CC
|
||||
.L8089A760:
|
||||
/* 00630 8089A760 A61801CC */ sh $t8, 0x01CC($s0) ## 000001CC
|
||||
.L8089A764:
|
||||
/* 00634 8089A764 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00638 8089A768 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0063C 8089A76C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00640 8089A770 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00644 8089A774 00812821 */ addu $a1, $a0, $at
|
||||
/* 00648 8089A778 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L8089A77C:
|
||||
/* 0064C 8089A77C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00650 8089A780 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00654 8089A784 03E00008 */ jr $ra
|
||||
/* 00658 8089A788 00000000 */ nop
|
|
@ -1,40 +0,0 @@
|
|||
glabel func_8089A78C
|
||||
/* 0065C 8089A78C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00660 8089A790 AFB40028 */ sw $s4, 0x0028($sp)
|
||||
/* 00664 8089A794 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00668 8089A798 3C0E808A */ lui $t6, %hi(func_8089A820) ## $t6 = 808A0000
|
||||
/* 0066C 8089A79C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00670 8089A7A0 AFB30024 */ sw $s3, 0x0024($sp)
|
||||
/* 00674 8089A7A4 AFB20020 */ sw $s2, 0x0020($sp)
|
||||
/* 00678 8089A7A8 AFB1001C */ sw $s1, 0x001C($sp)
|
||||
/* 0067C 8089A7AC 25CEA820 */ addiu $t6, $t6, %lo(func_8089A820) ## $t6 = 8089A820
|
||||
/* 00680 8089A7B0 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 00684 8089A7B4 3C10808A */ lui $s0, %hi(D_8089B014) ## $s0 = 808A0000
|
||||
/* 00688 8089A7B8 3C14808A */ lui $s4, %hi(D_8089B14C) ## $s4 = 808A0000
|
||||
/* 0068C 8089A7BC 2694B14C */ addiu $s4, $s4, %lo(D_8089B14C) ## $s4 = 8089B14C
|
||||
/* 00690 8089A7C0 2610B014 */ addiu $s0, $s0, %lo(D_8089B014) ## $s0 = 8089B014
|
||||
/* 00694 8089A7C4 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00698 8089A7C8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 0069C 8089A7CC 249201D0 */ addiu $s2, $a0, 0x01D0 ## $s2 = 000001D0
|
||||
/* 006A0 8089A7D0 24930024 */ addiu $s3, $a0, 0x0024 ## $s3 = 00000024
|
||||
.L8089A7D4:
|
||||
/* 006A4 8089A7D4 02402025 */ or $a0, $s2, $zero ## $a0 = 000001D0
|
||||
/* 006A8 8089A7D8 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 006AC 8089A7DC 02602825 */ or $a1, $s3, $zero ## $a1 = 00000024
|
||||
/* 006B0 8089A7E0 C604000C */ lwc1 $f4, 0x000C($s0) ## 8089B020
|
||||
/* 006B4 8089A7E4 26100018 */ addiu $s0, $s0, 0x0018 ## $s0 = 8089B02C
|
||||
/* 006B8 8089A7E8 2631001C */ addiu $s1, $s1, 0x001C ## $s1 = 0000001C
|
||||
/* 006BC 8089A7EC 2652001C */ addiu $s2, $s2, 0x001C ## $s2 = 000001EC
|
||||
/* 006C0 8089A7F0 1614FFF8 */ bne $s0, $s4, .L8089A7D4
|
||||
/* 006C4 8089A7F4 E62401C0 */ swc1 $f4, 0x01C0($s1) ## 000001DC
|
||||
/* 006C8 8089A7F8 8FAF0030 */ lw $t7, 0x0030($sp)
|
||||
/* 006CC 8089A7FC A5E001CA */ sh $zero, 0x01CA($t7) ## 000001CA
|
||||
/* 006D0 8089A800 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 006D4 8089A804 8FB40028 */ lw $s4, 0x0028($sp)
|
||||
/* 006D8 8089A808 8FB30024 */ lw $s3, 0x0024($sp)
|
||||
/* 006DC 8089A80C 8FB20020 */ lw $s2, 0x0020($sp)
|
||||
/* 006E0 8089A810 8FB1001C */ lw $s1, 0x001C($sp)
|
||||
/* 006E4 8089A814 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 006E8 8089A818 03E00008 */ jr $ra
|
||||
/* 006EC 8089A81C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
@ -1,255 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8089B2B0
|
||||
.word 0x3D89374C
|
||||
glabel D_8089B2B4
|
||||
.word 0x3F7EB852
|
||||
glabel D_8089B2B8
|
||||
.float 0.6
|
||||
|
||||
.text
|
||||
glabel func_8089A820
|
||||
/* 006F0 8089A820 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
|
||||
/* 006F4 8089A824 AFBF0074 */ sw $ra, 0x0074($sp)
|
||||
/* 006F8 8089A828 AFBE0070 */ sw $s8, 0x0070($sp)
|
||||
/* 006FC 8089A82C AFB7006C */ sw $s7, 0x006C($sp)
|
||||
/* 00700 8089A830 AFB60068 */ sw $s6, 0x0068($sp)
|
||||
/* 00704 8089A834 AFB50064 */ sw $s5, 0x0064($sp)
|
||||
/* 00708 8089A838 AFB40060 */ sw $s4, 0x0060($sp)
|
||||
/* 0070C 8089A83C AFB3005C */ sw $s3, 0x005C($sp)
|
||||
/* 00710 8089A840 AFB20058 */ sw $s2, 0x0058($sp)
|
||||
/* 00714 8089A844 AFB10054 */ sw $s1, 0x0054($sp)
|
||||
/* 00718 8089A848 AFB00050 */ sw $s0, 0x0050($sp)
|
||||
/* 0071C 8089A84C F7BC0048 */ sdc1 $f28, 0x0048($sp)
|
||||
/* 00720 8089A850 F7BA0040 */ sdc1 $f26, 0x0040($sp)
|
||||
/* 00724 8089A854 F7B80038 */ sdc1 $f24, 0x0038($sp)
|
||||
/* 00728 8089A858 F7B60030 */ sdc1 $f22, 0x0030($sp)
|
||||
/* 0072C 8089A85C F7B40028 */ sdc1 $f20, 0x0028($sp)
|
||||
/* 00730 8089A860 848E01CA */ lh $t6, 0x01CA($a0) ## 000001CA
|
||||
/* 00734 8089A864 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
|
||||
/* 00738 8089A868 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000
|
||||
/* 0073C 8089A86C 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00740 8089A870 A48F01CA */ sh $t7, 0x01CA($a0) ## 000001CA
|
||||
/* 00744 8089A874 848301CA */ lh $v1, 0x01CA($a0) ## 000001CA
|
||||
/* 00748 8089A878 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
|
||||
/* 0074C 8089A87C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00750 8089A880 14610005 */ bne $v1, $at, .L8089A898
|
||||
/* 00754 8089A884 26850024 */ addiu $a1, $s4, 0x0024 ## $a1 = 00000024
|
||||
/* 00758 8089A888 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 0075C 8089A88C 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00760 8089A890 240728CF */ addiu $a3, $zero, 0x28CF ## $a3 = 000028CF
|
||||
/* 00764 8089A894 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
.L8089A898:
|
||||
/* 00768 8089A898 3C01808A */ lui $at, %hi(D_8089B2B0) ## $at = 808A0000
|
||||
/* 0076C 8089A89C C43CB2B0 */ lwc1 $f28, %lo(D_8089B2B0)($at)
|
||||
/* 00770 8089A8A0 3C01808A */ lui $at, %hi(D_8089B2B4) ## $at = 808A0000
|
||||
/* 00774 8089A8A4 C43AB2B4 */ lwc1 $f26, %lo(D_8089B2B4)($at)
|
||||
/* 00778 8089A8A8 3C01808A */ lui $at, %hi(D_8089B2B8) ## $at = 808A0000
|
||||
/* 0077C 8089A8AC C438B2B8 */ lwc1 $f24, %lo(D_8089B2B8)($at)
|
||||
/* 00780 8089A8B0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00784 8089A8B4 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00
|
||||
/* 00788 8089A8B8 3C01C190 */ lui $at, 0xC190 ## $at = C1900000
|
||||
/* 0078C 8089A8BC 3C12808A */ lui $s2, %hi(D_8089B014) ## $s2 = 808A0000
|
||||
/* 00790 8089A8C0 4481A000 */ mtc1 $at, $f20 ## $f20 = -18.00
|
||||
/* 00794 8089A8C4 2652B014 */ addiu $s2, $s2, %lo(D_8089B014) ## $s2 = 8089B014
|
||||
/* 00798 8089A8C8 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
|
||||
/* 0079C 8089A8CC 241E000D */ addiu $s8, $zero, 0x000D ## $s8 = 0000000D
|
||||
/* 007A0 8089A8D0 2416001C */ addiu $s6, $zero, 0x001C ## $s6 = 0000001C
|
||||
/* 007A4 8089A8D4 27B5008C */ addiu $s5, $sp, 0x008C ## $s5 = FFFFFFEC
|
||||
.L8089A8D8:
|
||||
/* 007A8 8089A8D8 86420014 */ lh $v0, 0x0014($s2) ## 8089B028
|
||||
/* 007AC 8089A8DC 0043082A */ slt $at, $v0, $v1
|
||||
/* 007B0 8089A8E0 10200036 */ beq $at, $zero, .L8089A9BC
|
||||
/* 007B4 8089A8E4 00000000 */ nop
|
||||
/* 007B8 8089A8E8 02760019 */ multu $s3, $s6
|
||||
/* 007BC 8089A8EC 0000C012 */ mflo $t8
|
||||
/* 007C0 8089A8F0 02988021 */ addu $s0, $s4, $t8
|
||||
/* 007C4 8089A8F4 C60401E0 */ lwc1 $f4, 0x01E0($s0) ## 000001E0
|
||||
/* 007C8 8089A8F8 261001D0 */ addiu $s0, $s0, 0x01D0 ## $s0 = 000001D0
|
||||
/* 007CC 8089A8FC 46182181 */ sub.s $f6, $f4, $f24
|
||||
/* 007D0 8089A900 E6060010 */ swc1 $f6, 0x0010($s0) ## 000001E0
|
||||
/* 007D4 8089A904 C6000010 */ lwc1 $f0, 0x0010($s0) ## 000001E0
|
||||
/* 007D8 8089A908 4614003C */ c.lt.s $f0, $f20
|
||||
/* 007DC 8089A90C 00000000 */ nop
|
||||
/* 007E0 8089A910 45020004 */ bc1fl .L8089A924
|
||||
/* 007E4 8089A914 C608000C */ lwc1 $f8, 0x000C($s0) ## 000001DC
|
||||
/* 007E8 8089A918 E6140010 */ swc1 $f20, 0x0010($s0) ## 000001E0
|
||||
/* 007EC 8089A91C C6000010 */ lwc1 $f0, 0x0010($s0) ## 000001E0
|
||||
/* 007F0 8089A920 C608000C */ lwc1 $f8, 0x000C($s0) ## 000001DC
|
||||
.L8089A924:
|
||||
/* 007F4 8089A924 C6100000 */ lwc1 $f16, 0x0000($s0) ## 000001D0
|
||||
/* 007F8 8089A928 C6060004 */ lwc1 $f6, 0x0004($s0) ## 000001D4
|
||||
/* 007FC 8089A92C 461A4282 */ mul.s $f10, $f8, $f26
|
||||
/* 00800 8089A930 86190018 */ lh $t9, 0x0018($s0) ## 000001E8
|
||||
/* 00804 8089A934 46003200 */ add.s $f8, $f6, $f0
|
||||
/* 00808 8089A938 860A001A */ lh $t2, 0x001A($s0) ## 000001EA
|
||||
/* 0080C 8089A93C E6080004 */ swc1 $f8, 0x0004($s0) ## 000001D4
|
||||
/* 00810 8089A940 E60A000C */ swc1 $f10, 0x000C($s0) ## 000001DC
|
||||
/* 00814 8089A944 C612000C */ lwc1 $f18, 0x000C($s0) ## 000001DC
|
||||
/* 00818 8089A948 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0081C 8089A94C E6040000 */ swc1 $f4, 0x0000($s0) ## 000001D0
|
||||
/* 00820 8089A950 86480010 */ lh $t0, 0x0010($s2) ## 8089B024
|
||||
/* 00824 8089A954 03284821 */ addu $t1, $t9, $t0
|
||||
/* 00828 8089A958 A6090018 */ sh $t1, 0x0018($s0) ## 000001E8
|
||||
/* 0082C 8089A95C 864B0012 */ lh $t3, 0x0012($s2) ## 8089B026
|
||||
/* 00830 8089A960 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 00834 8089A964 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00838 8089A968 A60C001A */ sh $t4, 0x001A($s0) ## 000001EA
|
||||
/* 0083C 8089A96C 461C003C */ c.lt.s $f0, $f28
|
||||
/* 00840 8089A970 02002025 */ or $a0, $s0, $zero ## $a0 = 000001D0
|
||||
/* 00844 8089A974 02402825 */ or $a1, $s2, $zero ## $a1 = 8089B014
|
||||
/* 00848 8089A978 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFEC
|
||||
/* 0084C 8089A97C 4500000D */ bc1f .L8089A9B4
|
||||
/* 00850 8089A980 00000000 */ nop
|
||||
/* 00854 8089A984 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00858 8089A988 2611000C */ addiu $s1, $s0, 0x000C ## $s1 = 000001DC
|
||||
/* 0085C 8089A98C C7AA0094 */ lwc1 $f10, 0x0094($sp)
|
||||
/* 00860 8089A990 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
|
||||
/* 00864 8089A994 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 00868 8089A998 46165400 */ add.s $f16, $f10, $f22
|
||||
/* 0086C 8089A99C 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 00870 8089A9A0 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFEC
|
||||
/* 00874 8089A9A4 02203025 */ or $a2, $s1, $zero ## $a2 = 000001DC
|
||||
/* 00878 8089A9A8 E7B00094 */ swc1 $f16, 0x0094($sp)
|
||||
/* 0087C 8089A9AC 0C226877 */ jal func_8089A1DC
|
||||
/* 00880 8089A9B0 24070003 */ addiu $a3, $zero, 0x0003 ## $a3 = 00000003
|
||||
.L8089A9B4:
|
||||
/* 00884 8089A9B4 10000017 */ beq $zero, $zero, .L8089AA14
|
||||
/* 00888 8089A9B8 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
.L8089A9BC:
|
||||
/* 0088C 8089A9BC 54430016 */ bnel $v0, $v1, .L8089AA18
|
||||
/* 00890 8089A9C0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
|
||||
/* 00894 8089A9C4 02760019 */ multu $s3, $s6
|
||||
/* 00898 8089A9C8 02402825 */ or $a1, $s2, $zero ## $a1 = 8089B014
|
||||
/* 0089C 8089A9CC 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFEC
|
||||
/* 008A0 8089A9D0 00007012 */ mflo $t6
|
||||
/* 008A4 8089A9D4 028E8021 */ addu $s0, $s4, $t6
|
||||
/* 008A8 8089A9D8 261001D0 */ addiu $s0, $s0, 0x01D0 ## $s0 = 000003A0
|
||||
/* 008AC 8089A9DC 02002025 */ or $a0, $s0, $zero ## $a0 = 000003A0
|
||||
/* 008B0 8089A9E0 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 008B4 8089A9E4 2611000C */ addiu $s1, $s0, 0x000C ## $s1 = 000003AC
|
||||
/* 008B8 8089A9E8 C7B20094 */ lwc1 $f18, 0x0094($sp)
|
||||
/* 008BC 8089A9EC 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
|
||||
/* 008C0 8089A9F0 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 008C4 8089A9F4 46169100 */ add.s $f4, $f18, $f22
|
||||
/* 008C8 8089A9F8 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 008CC 8089A9FC 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFEC
|
||||
/* 008D0 8089AA00 02203025 */ or $a2, $s1, $zero ## $a2 = 000003AC
|
||||
/* 008D4 8089AA04 E7A40094 */ swc1 $f4, 0x0094($sp)
|
||||
/* 008D8 8089AA08 0C226877 */ jal func_8089A1DC
|
||||
/* 008DC 8089AA0C 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 008E0 8089AA10 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
.L8089AA14:
|
||||
/* 008E4 8089AA14 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
|
||||
.L8089AA18:
|
||||
/* 008E8 8089AA18 167EFFAF */ bne $s3, $s8, .L8089A8D8
|
||||
/* 008EC 8089AA1C 26520018 */ addiu $s2, $s2, 0x0018 ## $s2 = 8089B02C
|
||||
/* 008F0 8089AA20 30780003 */ andi $t8, $v1, 0x0003 ## $t8 = 00000000
|
||||
/* 008F4 8089AA24 1700002C */ bne $t8, $zero, .L8089AAD8
|
||||
/* 008F8 8089AA28 2861001F */ slti $at, $v1, 0x001F
|
||||
/* 008FC 8089AA2C 1420002A */ bne $at, $zero, .L8089AAD8
|
||||
/* 00900 8089AA30 28610050 */ slti $at, $v1, 0x0050
|
||||
/* 00904 8089AA34 10200028 */ beq $at, $zero, .L8089AAD8
|
||||
/* 00908 8089AA38 28610029 */ slti $at, $v1, 0x0029
|
||||
/* 0090C 8089AA3C 54200027 */ bnel $at, $zero, .L8089AADC
|
||||
/* 00910 8089AA40 2861000D */ slti $at, $v1, 0x000D
|
||||
/* 00914 8089AA44 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00918 8089AA48 00000000 */ nop
|
||||
/* 0091C 8089AA4C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00920 8089AA50 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50
|
||||
/* 00924 8089AA54 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
|
||||
/* 00928 8089AA58 44814000 */ mtc1 $at, $f8 ## $f8 = 90.00
|
||||
/* 0092C 8089AA5C 46140181 */ sub.s $f6, $f0, $f20
|
||||
/* 00930 8089AA60 C6900024 */ lwc1 $f16, 0x0024($s4) ## 00000024
|
||||
/* 00934 8089AA64 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00938 8089AA68 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0093C 8089AA6C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00940 8089AA70 E7B2008C */ swc1 $f18, 0x008C($sp)
|
||||
/* 00944 8089AA74 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00948 8089AA78 44813000 */ mtc1 $at, $f6 ## $f6 = 80.00
|
||||
/* 0094C 8089AA7C C6840028 */ lwc1 $f4, 0x0028($s4) ## 00000028
|
||||
/* 00950 8089AA80 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00954 8089AA84 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00958 8089AA88 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00
|
||||
/* 0095C 8089AA8C 46082281 */ sub.s $f10, $f4, $f8
|
||||
/* 00960 8089AA90 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 00964 8089AA94 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00968 8089AA98 E7B20090 */ swc1 $f18, 0x0090($sp)
|
||||
/* 0096C 8089AA9C 46140181 */ sub.s $f6, $f0, $f20
|
||||
/* 00970 8089AAA0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00974 8089AAA4 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
|
||||
/* 00978 8089AAA8 C68A002C */ lwc1 $f10, 0x002C($s4) ## 0000002C
|
||||
/* 0097C 8089AAAC 3C06808A */ lui $a2, %hi(D_8089B1A0) ## $a2 = 808A0000
|
||||
/* 00980 8089AAB0 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* 00984 8089AAB4 24C6B1A0 */ addiu $a2, $a2, %lo(D_8089B1A0) ## $a2 = 8089B1A0
|
||||
/* 00988 8089AAB8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0098C 8089AABC 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 00990 8089AAC0 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFEC
|
||||
/* 00994 8089AAC4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00998 8089AAC8 46085401 */ sub.s $f16, $f10, $f8
|
||||
/* 0099C 8089AACC 0C226877 */ jal func_8089A1DC
|
||||
/* 009A0 8089AAD0 E7B00094 */ swc1 $f16, 0x0094($sp)
|
||||
/* 009A4 8089AAD4 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
.L8089AAD8:
|
||||
/* 009A8 8089AAD8 2861000D */ slti $at, $v1, 0x000D
|
||||
.L8089AADC:
|
||||
/* 009AC 8089AADC 10200015 */ beq $at, $zero, .L8089AB34
|
||||
/* 009B0 8089AAE0 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 009B4 8089AAE4 C6920024 */ lwc1 $f18, 0x0024($s4) ## 00000024
|
||||
/* 009B8 8089AAE8 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 009BC 8089AAEC 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
|
||||
/* 009C0 8089AAF0 E7B2008C */ swc1 $f18, 0x008C($sp)
|
||||
/* 009C4 8089AAF4 C6860028 */ lwc1 $f6, 0x0028($s4) ## 00000028
|
||||
/* 009C8 8089AAF8 24190096 */ addiu $t9, $zero, 0x0096 ## $t9 = 00000096
|
||||
/* 009CC 8089AAFC 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
|
||||
/* 009D0 8089AB00 46043281 */ sub.s $f10, $f6, $f4
|
||||
/* 009D4 8089AB04 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 009D8 8089AB08 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFEC
|
||||
/* 009DC 8089AB0C 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
|
||||
/* 009E0 8089AB10 E7AA0090 */ swc1 $f10, 0x0090($sp)
|
||||
/* 009E4 8089AB14 C688002C */ lwc1 $f8, 0x002C($s4) ## 0000002C
|
||||
/* 009E8 8089AB18 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 009EC 8089AB1C AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 009F0 8089AB20 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 009F4 8089AB24 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 009F8 8089AB28 0C00CD20 */ jal func_80033480
|
||||
/* 009FC 8089AB2C E7A80094 */ swc1 $f8, 0x0094($sp)
|
||||
/* 00A00 8089AB30 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
.L8089AB34:
|
||||
/* 00A04 8089AB34 2401003C */ addiu $at, $zero, 0x003C ## $at = 0000003C
|
||||
/* 00A08 8089AB38 54610005 */ bnel $v1, $at, .L8089AB50
|
||||
/* 00A0C 8089AB3C 28610064 */ slti $at, $v1, 0x0064
|
||||
/* 00A10 8089AB40 0C01E221 */ jal func_80078884
|
||||
/* 00A14 8089AB44 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00A18 8089AB48 868301CA */ lh $v1, 0x01CA($s4) ## 000001CA
|
||||
/* 00A1C 8089AB4C 28610064 */ slti $at, $v1, 0x0064
|
||||
.L8089AB50:
|
||||
/* 00A20 8089AB50 54200004 */ bnel $at, $zero, .L8089AB64
|
||||
/* 00A24 8089AB54 8FBF0074 */ lw $ra, 0x0074($sp)
|
||||
/* 00A28 8089AB58 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00A2C 8089AB5C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00A30 8089AB60 8FBF0074 */ lw $ra, 0x0074($sp)
|
||||
.L8089AB64:
|
||||
/* 00A34 8089AB64 D7B40028 */ ldc1 $f20, 0x0028($sp)
|
||||
/* 00A38 8089AB68 D7B60030 */ ldc1 $f22, 0x0030($sp)
|
||||
/* 00A3C 8089AB6C D7B80038 */ ldc1 $f24, 0x0038($sp)
|
||||
/* 00A40 8089AB70 D7BA0040 */ ldc1 $f26, 0x0040($sp)
|
||||
/* 00A44 8089AB74 D7BC0048 */ ldc1 $f28, 0x0048($sp)
|
||||
/* 00A48 8089AB78 8FB00050 */ lw $s0, 0x0050($sp)
|
||||
/* 00A4C 8089AB7C 8FB10054 */ lw $s1, 0x0054($sp)
|
||||
/* 00A50 8089AB80 8FB20058 */ lw $s2, 0x0058($sp)
|
||||
/* 00A54 8089AB84 8FB3005C */ lw $s3, 0x005C($sp)
|
||||
/* 00A58 8089AB88 8FB40060 */ lw $s4, 0x0060($sp)
|
||||
/* 00A5C 8089AB8C 8FB50064 */ lw $s5, 0x0064($sp)
|
||||
/* 00A60 8089AB90 8FB60068 */ lw $s6, 0x0068($sp)
|
||||
/* 00A64 8089AB94 8FB7006C */ lw $s7, 0x006C($sp)
|
||||
/* 00A68 8089AB98 8FBE0070 */ lw $s8, 0x0070($sp)
|
||||
/* 00A6C 8089AB9C 03E00008 */ jr $ra
|
||||
/* 00A70 8089ABA0 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
|
|
@ -1,111 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8089B210
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089B228
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089B240
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_8089ABC8
|
||||
/* 00A98 8089ABC8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00A9C 8089ABCC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00AA0 8089ABD0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00AA4 8089ABD4 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00AA8 8089ABD8 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00AAC 8089ABDC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00AB0 8089ABE0 3C06808A */ lui $a2, %hi(D_8089B210) ## $a2 = 808A0000
|
||||
/* 00AB4 8089ABE4 24C6B210 */ addiu $a2, $a2, %lo(D_8089B210) ## $a2 = 8089B210
|
||||
/* 00AB8 8089ABE8 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC
|
||||
/* 00ABC 8089ABEC 240702C2 */ addiu $a3, $zero, 0x02C2 ## $a3 = 000002C2
|
||||
/* 00AC0 8089ABF0 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00AC4 8089ABF4 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00AC8 8089ABF8 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 00ACC 8089ABFC 0C024F46 */ jal func_80093D18
|
||||
/* 00AD0 8089AC00 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00AD4 8089AC04 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00AD8 8089AC08 8FA80048 */ lw $t0, 0x0048($sp)
|
||||
/* 00ADC 8089AC0C 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
|
||||
/* 00AE0 8089AC10 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00AE4 8089AC14 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 00AE8 8089AC18 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
|
||||
/* 00AEC 8089AC1C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00AF0 8089AC20 850901CC */ lh $t1, 0x01CC($t0) ## 000001CC
|
||||
/* 00AF4 8089AC24 3C04808A */ lui $a0, %hi(D_8089B1AC) ## $a0 = 808A0000
|
||||
/* 00AF8 8089AC28 3C068016 */ lui $a2, %hi(gSegments)
|
||||
/* 00AFC 8089AC2C 00095080 */ sll $t2, $t1, 2
|
||||
/* 00B00 8089AC30 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 00B04 8089AC34 8C84B1AC */ lw $a0, %lo(D_8089B1AC)($a0)
|
||||
/* 00B08 8089AC38 24C66FA8 */ addiu $a2, %lo(gSegments)
|
||||
/* 00B0C 8089AC3C 3C0500FF */ lui $a1, 0x00FF ## $a1 = 00FF0000
|
||||
/* 00B10 8089AC40 00046100 */ sll $t4, $a0, 4
|
||||
/* 00B14 8089AC44 000C6F02 */ srl $t5, $t4, 28
|
||||
/* 00B18 8089AC48 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00B1C 8089AC4C 00CE7821 */ addu $t7, $a2, $t6
|
||||
/* 00B20 8089AC50 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
|
||||
/* 00B24 8089AC54 34A5FFFF */ ori $a1, $a1, 0xFFFF ## $a1 = 00FFFFFF
|
||||
/* 00B28 8089AC58 00855824 */ and $t3, $a0, $a1
|
||||
/* 00B2C 8089AC5C 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000
|
||||
/* 00B30 8089AC60 0178C821 */ addu $t9, $t3, $t8
|
||||
/* 00B34 8089AC64 03274821 */ addu $t1, $t9, $a3
|
||||
/* 00B38 8089AC68 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00B3C 8089AC6C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00B40 8089AC70 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
|
||||
/* 00B44 8089AC74 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024
|
||||
/* 00B48 8089AC78 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 00B4C 8089AC7C AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
|
||||
/* 00B50 8089AC80 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 00B54 8089AC84 850D01CC */ lh $t5, 0x01CC($t0) ## 000001CC
|
||||
/* 00B58 8089AC88 3C04808A */ lui $a0, %hi(D_8089B1C0) ## $a0 = 808A0000
|
||||
/* 00B5C 8089AC8C 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00B60 8089AC90 008E2021 */ addu $a0, $a0, $t6
|
||||
/* 00B64 8089AC94 8C84B1C0 */ lw $a0, %lo(D_8089B1C0)($a0)
|
||||
/* 00B68 8089AC98 00045900 */ sll $t3, $a0, 4
|
||||
/* 00B6C 8089AC9C 000BC702 */ srl $t8, $t3, 28
|
||||
/* 00B70 8089ACA0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00B74 8089ACA4 00D94821 */ addu $t1, $a2, $t9
|
||||
/* 00B78 8089ACA8 8D2A0000 */ lw $t2, 0x0000($t1) ## 00000000
|
||||
/* 00B7C 8089ACAC 00857824 */ and $t7, $a0, $a1
|
||||
/* 00B80 8089ACB0 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
|
||||
/* 00B84 8089ACB4 01EA6021 */ addu $t4, $t7, $t2
|
||||
/* 00B88 8089ACB8 01876821 */ addu $t5, $t4, $a3
|
||||
/* 00B8C 8089ACBC AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
||||
/* 00B90 8089ACC0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00B94 8089ACC4 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
|
||||
/* 00B98 8089ACC8 3C05808A */ lui $a1, %hi(D_8089B228) ## $a1 = 808A0000
|
||||
/* 00B9C 8089ACCC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 00BA0 8089ACD0 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
|
||||
/* 00BA4 8089ACD4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
/* 00BA8 8089ACD8 8FB8004C */ lw $t8, 0x004C($sp)
|
||||
/* 00BAC 8089ACDC 24A5B228 */ addiu $a1, $a1, %lo(D_8089B228) ## $a1 = 8089B228
|
||||
/* 00BB0 8089ACE0 240602CC */ addiu $a2, $zero, 0x02CC ## $a2 = 000002CC
|
||||
/* 00BB4 8089ACE4 8F040000 */ lw $a0, 0x0000($t8) ## 00000008
|
||||
/* 00BB8 8089ACE8 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00BBC 8089ACEC AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 00BC0 8089ACF0 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 00BC4 8089ACF4 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000
|
||||
/* 00BC8 8089ACF8 25EF5780 */ addiu $t7, $t7, 0x5780 ## $t7 = 06005780
|
||||
/* 00BCC 8089ACFC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00BD0 8089AD00 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00BD4 8089AD04 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
|
||||
/* 00BD8 8089AD08 3C06808A */ lui $a2, %hi(D_8089B240) ## $a2 = 808A0000
|
||||
/* 00BDC 8089AD0C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00BE0 8089AD10 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
|
||||
/* 00BE4 8089AD14 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 00BE8 8089AD18 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 00BEC 8089AD1C 8FAA004C */ lw $t2, 0x004C($sp)
|
||||
/* 00BF0 8089AD20 24C6B240 */ addiu $a2, $a2, %lo(D_8089B240) ## $a2 = 8089B240
|
||||
/* 00BF4 8089AD24 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC
|
||||
/* 00BF8 8089AD28 240702D0 */ addiu $a3, $zero, 0x02D0 ## $a3 = 000002D0
|
||||
/* 00BFC 8089AD2C 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00C00 8089AD30 8D450000 */ lw $a1, 0x0000($t2) ## 00000000
|
||||
/* 00C04 8089AD34 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00C08 8089AD38 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00C0C 8089AD3C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00C10 8089AD40 03E00008 */ jr $ra
|
||||
/* 00C14 8089AD44 00000000 */ nop
|
|
@ -1,154 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8089B258
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089B270
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089B288
|
||||
.asciz "../z_bg_jya_megami.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_8089B2BC
|
||||
.float 9.58738019108e-05
|
||||
|
||||
glabel D_8089B2C0
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_8089AD48
|
||||
/* 00C18 8089AD48 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
|
||||
/* 00C1C 8089AD4C AFB60048 */ sw $s6, 0x0048($sp)
|
||||
/* 00C20 8089AD50 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
|
||||
/* 00C24 8089AD54 AFBF0054 */ sw $ra, 0x0054($sp)
|
||||
/* 00C28 8089AD58 AFBE0050 */ sw $s8, 0x0050($sp)
|
||||
/* 00C2C 8089AD5C AFB7004C */ sw $s7, 0x004C($sp)
|
||||
/* 00C30 8089AD60 AFB50044 */ sw $s5, 0x0044($sp)
|
||||
/* 00C34 8089AD64 AFB40040 */ sw $s4, 0x0040($sp)
|
||||
/* 00C38 8089AD68 AFB3003C */ sw $s3, 0x003C($sp)
|
||||
/* 00C3C 8089AD6C AFB20038 */ sw $s2, 0x0038($sp)
|
||||
/* 00C40 8089AD70 AFB10034 */ sw $s1, 0x0034($sp)
|
||||
/* 00C44 8089AD74 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00C48 8089AD78 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 00C4C 8089AD7C F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 00C50 8089AD80 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00C54 8089AD84 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00C58 8089AD88 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00C5C 8089AD8C 3C06808A */ lui $a2, %hi(D_8089B258) ## $a2 = 808A0000
|
||||
/* 00C60 8089AD90 24C6B258 */ addiu $a2, $a2, %lo(D_8089B258) ## $a2 = 8089B258
|
||||
/* 00C64 8089AD94 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFE0
|
||||
/* 00C68 8089AD98 240702EA */ addiu $a3, $zero, 0x02EA ## $a3 = 000002EA
|
||||
/* 00C6C 8089AD9C 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00C70 8089ADA0 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
|
||||
/* 00C74 8089ADA4 0C024F46 */ jal func_80093D18
|
||||
/* 00C78 8089ADA8 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000
|
||||
/* 00C7C 8089ADAC 3C01808A */ lui $at, %hi(D_8089B2BC) ## $at = 808A0000
|
||||
/* 00C80 8089ADB0 C438B2BC */ lwc1 $f24, %lo(D_8089B2BC)($at)
|
||||
/* 00C84 8089ADB4 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 00C88 8089ADB8 4481B000 */ mtc1 $at, $f22 ## $f22 = -10.00
|
||||
/* 00C8C 8089ADBC 3C01808A */ lui $at, %hi(D_8089B2C0) ## $at = 808A0000
|
||||
/* 00C90 8089ADC0 3C10808A */ lui $s0, %hi(D_8089B014) ## $s0 = 808A0000
|
||||
/* 00C94 8089ADC4 3C14808A */ lui $s4, %hi(D_8089B1D4) ## $s4 = 808A0000
|
||||
/* 00C98 8089ADC8 3C1E808A */ lui $s8, %hi(D_8089B270) ## $s8 = 808A0000
|
||||
/* 00C9C 8089ADCC 3C17DA38 */ lui $s7, 0xDA38 ## $s7 = DA380000
|
||||
/* 00CA0 8089ADD0 36F70003 */ ori $s7, $s7, 0x0003 ## $s7 = DA380003
|
||||
/* 00CA4 8089ADD4 27DEB270 */ addiu $s8, $s8, %lo(D_8089B270) ## $s8 = 8089B270
|
||||
/* 00CA8 8089ADD8 2694B1D4 */ addiu $s4, $s4, %lo(D_8089B1D4) ## $s4 = 8089B1D4
|
||||
/* 00CAC 8089ADDC 2610B014 */ addiu $s0, $s0, %lo(D_8089B014) ## $s0 = 8089B014
|
||||
/* 00CB0 8089ADE0 C434B2C0 */ lwc1 $f20, %lo(D_8089B2C0)($at)
|
||||
/* 00CB4 8089ADE4 02209025 */ or $s2, $s1, $zero ## $s2 = 00000000
|
||||
/* 00CB8 8089ADE8 263301D0 */ addiu $s3, $s1, 0x01D0 ## $s3 = 000001D0
|
||||
.L8089ADEC:
|
||||
/* 00CBC 8089ADEC C6040000 */ lwc1 $f4, 0x0000($s0) ## 8089B014
|
||||
/* 00CC0 8089ADF0 C64601D0 */ lwc1 $f6, 0x01D0($s2) ## 000001D0
|
||||
/* 00CC4 8089ADF4 C6100008 */ lwc1 $f16, 0x0008($s0) ## 8089B01C
|
||||
/* 00CC8 8089ADF8 C65201D8 */ lwc1 $f18, 0x01D8($s2) ## 000001D8
|
||||
/* 00CCC 8089ADFC 46062300 */ add.s $f12, $f4, $f6
|
||||
/* 00CD0 8089AE00 C6080004 */ lwc1 $f8, 0x0004($s0) ## 8089B018
|
||||
/* 00CD4 8089AE04 C64A01D4 */ lwc1 $f10, 0x01D4($s2) ## 000001D4
|
||||
/* 00CD8 8089AE08 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00CDC 8089AE0C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00CE0 8089AE10 460A4380 */ add.s $f14, $f8, $f10
|
||||
/* 00CE4 8089AE14 44062000 */ mfc1 $a2, $f4
|
||||
/* 00CE8 8089AE18 0C034261 */ jal Matrix_Translate
|
||||
/* 00CEC 8089AE1C 00000000 */ nop
|
||||
/* 00CF0 8089AE20 866E001A */ lh $t6, 0x001A($s3) ## 000001EA
|
||||
/* 00CF4 8089AE24 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00CF8 8089AE28 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
|
||||
/* 00CFC 8089AE2C 00000000 */ nop
|
||||
/* 00D00 8089AE30 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00D04 8089AE34 46184302 */ mul.s $f12, $f8, $f24
|
||||
/* 00D08 8089AE38 0C034348 */ jal Matrix_RotateY
|
||||
/* 00D0C 8089AE3C 00000000 */ nop
|
||||
/* 00D10 8089AE40 866F0018 */ lh $t7, 0x0018($s3) ## 000001E8
|
||||
/* 00D14 8089AE44 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00D18 8089AE48 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
|
||||
/* 00D1C 8089AE4C 00000000 */ nop
|
||||
/* 00D20 8089AE50 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00D24 8089AE54 46188302 */ mul.s $f12, $f16, $f24
|
||||
/* 00D28 8089AE58 0C0342DC */ jal Matrix_RotateX
|
||||
/* 00D2C 8089AE5C 00000000 */ nop
|
||||
/* 00D30 8089AE60 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00D34 8089AE64 4600A306 */ mov.s $f12, $f20
|
||||
/* 00D38 8089AE68 4600A386 */ mov.s $f14, $f20
|
||||
/* 00D3C 8089AE6C 0C0342A3 */ jal Matrix_Scale
|
||||
/* 00D40 8089AE70 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00D44 8089AE74 C6120000 */ lwc1 $f18, 0x0000($s0) ## 8089B014
|
||||
/* 00D48 8089AE78 C6040004 */ lwc1 $f4, 0x0004($s0) ## 8089B018
|
||||
/* 00D4C 8089AE7C C6060008 */ lwc1 $f6, 0x0008($s0) ## 8089B01C
|
||||
/* 00D50 8089AE80 46169302 */ mul.s $f12, $f18, $f22
|
||||
/* 00D54 8089AE84 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00D58 8089AE88 46162382 */ mul.s $f14, $f4, $f22
|
||||
/* 00D5C 8089AE8C 00000000 */ nop
|
||||
/* 00D60 8089AE90 46163202 */ mul.s $f8, $f6, $f22
|
||||
/* 00D64 8089AE94 44064000 */ mfc1 $a2, $f8
|
||||
/* 00D68 8089AE98 0C034261 */ jal Matrix_Translate
|
||||
/* 00D6C 8089AE9C 00000000 */ nop
|
||||
/* 00D70 8089AEA0 8EA202C0 */ lw $v0, 0x02C0($s5) ## 000002C0
|
||||
/* 00D74 8089AEA4 03C02825 */ or $a1, $s8, $zero ## $a1 = 8089B270
|
||||
/* 00D78 8089AEA8 2406030A */ addiu $a2, $zero, 0x030A ## $a2 = 0000030A
|
||||
/* 00D7C 8089AEAC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00D80 8089AEB0 AEB802C0 */ sw $t8, 0x02C0($s5) ## 000002C0
|
||||
/* 00D84 8089AEB4 AC570000 */ sw $s7, 0x0000($v0) ## 00000000
|
||||
/* 00D88 8089AEB8 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000
|
||||
/* 00D8C 8089AEBC 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00D90 8089AEC0 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 00D94 8089AEC4 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
|
||||
/* 00D98 8089AEC8 8EA202C0 */ lw $v0, 0x02C0($s5) ## 000002C0
|
||||
/* 00D9C 8089AECC 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
|
||||
/* 00DA0 8089AED0 3C0A808A */ lui $t2, %hi(D_8089B208) ## $t2 = 808A0000
|
||||
/* 00DA4 8089AED4 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00DA8 8089AED8 AEB902C0 */ sw $t9, 0x02C0($s5) ## 000002C0
|
||||
/* 00DAC 8089AEDC AC480000 */ sw $t0, 0x0000($v0) ## 00000000
|
||||
/* 00DB0 8089AEE0 8E890000 */ lw $t1, 0x0000($s4) ## 8089B1D4
|
||||
/* 00DB4 8089AEE4 254AB208 */ addiu $t2, $t2, %lo(D_8089B208) ## $t2 = 8089B208
|
||||
/* 00DB8 8089AEE8 26940004 */ addiu $s4, $s4, 0x0004 ## $s4 = 8089B1D8
|
||||
/* 00DBC 8089AEEC 2652001C */ addiu $s2, $s2, 0x001C ## $s2 = 0000001C
|
||||
/* 00DC0 8089AEF0 2673001C */ addiu $s3, $s3, 0x001C ## $s3 = 000001EC
|
||||
/* 00DC4 8089AEF4 26100018 */ addiu $s0, $s0, 0x0018 ## $s0 = 8089B02C
|
||||
/* 00DC8 8089AEF8 168AFFBC */ bne $s4, $t2, .L8089ADEC
|
||||
/* 00DCC 8089AEFC AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00DD0 8089AF00 3C06808A */ lui $a2, %hi(D_8089B288) ## $a2 = 808A0000
|
||||
/* 00DD4 8089AF04 24C6B288 */ addiu $a2, $a2, %lo(D_8089B288) ## $a2 = 8089B288
|
||||
/* 00DD8 8089AF08 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFE0
|
||||
/* 00DDC 8089AF0C 8EC50000 */ lw $a1, 0x0000($s6) ## 00000000
|
||||
/* 00DE0 8089AF10 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00DE4 8089AF14 2407030F */ addiu $a3, $zero, 0x030F ## $a3 = 0000030F
|
||||
/* 00DE8 8089AF18 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
/* 00DEC 8089AF1C D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 00DF0 8089AF20 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 00DF4 8089AF24 D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 00DF8 8089AF28 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00DFC 8089AF2C 8FB10034 */ lw $s1, 0x0034($sp)
|
||||
/* 00E00 8089AF30 8FB20038 */ lw $s2, 0x0038($sp)
|
||||
/* 00E04 8089AF34 8FB3003C */ lw $s3, 0x003C($sp)
|
||||
/* 00E08 8089AF38 8FB40040 */ lw $s4, 0x0040($sp)
|
||||
/* 00E0C 8089AF3C 8FB50044 */ lw $s5, 0x0044($sp)
|
||||
/* 00E10 8089AF40 8FB60048 */ lw $s6, 0x0048($sp)
|
||||
/* 00E14 8089AF44 8FB7004C */ lw $s7, 0x004C($sp)
|
||||
/* 00E18 8089AF48 8FBE0050 */ lw $s8, 0x0050($sp)
|
||||
/* 00E1C 8089AF4C 03E00008 */ jr $ra
|
||||
/* 00E20 8089AF50 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
|
|
@ -1,47 +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_Jya_Megami_InitVars
|
||||
.word 0x01560100, 0x00000000, 0x00F10000, 0x0000033C
|
||||
.word BgJyaMegami_Init
|
||||
.word BgJyaMegami_Destroy
|
||||
.word BgJyaMegami_Update
|
||||
.word BgJyaMegami_Draw
|
||||
glabel D_8089AFE0
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00200000, 0x00000000, 0x00010000, 0x00000000, 0xFDA8FF38, 0x003C0064
|
||||
glabel D_8089B004
|
||||
.word 0x0A000900, 0x00000000, 0x00000001
|
||||
.word D_8089AFE0
|
||||
glabel D_8089B014
|
||||
.word 0xC2480000, 0xC1AA3D71, 0xC21BAE14, 0xBFCCCCCD, 0xFED4FE70, 0x00280000, 0xC08A3D71, 0xC1570A3D, 0xC15C28F6, 0x00000000, 0x04B00190, 0x002A0000, 0x41F75C29, 0xC1A3D70B, 0xC1E6B852, 0x3FCCCCCD, 0xFCE00320, 0x002C0000, 0xC1C0A3D7, 0xC223D70B, 0xC1AAE147, 0xBF800000, 0xFD4401F4, 0x00240000, 0xC2333333, 0xC293D70A, 0xC2470A3D, 0xC04CCCCD, 0x03E8FF38, 0x001E0000, 0xC1100000, 0xC298F5C2, 0xC153D70A, 0xBF800000, 0xFC180258, 0x001A0000, 0xC123D70B, 0xC2523D71, 0xC1566667, 0x3FCCCCCD, 0x0258FE70, 0x00220000, 0x420828F6, 0xC276E148, 0xC21428F6, 0x3FC00000, 0x02580258, 0x001C0000, 0x426DEB85, 0xC2199999, 0xC245999A, 0x3FE66666, 0x01F40000, 0x00260000, 0xC19851EC, 0xC2E07AE1, 0xC20C7AE2, 0xBFCCCCCD, 0x012C0320, 0x00160000, 0x4143D70A, 0xC2C6147B, 0xC1FD1EB8, 0x3FE66666, 0xFC18FE70, 0x00180000, 0x4244A3D7, 0xC2A27AE1, 0xC25E147B, 0x4019999A, 0x02BC012C, 0x00200000, 0x416C28F5, 0xC2FB999A, 0xC230A3D7, 0x3E4CCCCD, 0x03200258, 0x00140000
|
||||
glabel D_8089B14C
|
||||
.word 0x00050008, 0x000B000E, 0x00110014, 0x0017001A
|
||||
glabel D_8089B15C
|
||||
.word 0x0012001A, 0x0022002A, 0x0032003C, 0x00460050
|
||||
glabel D_8089B16C
|
||||
.word 0x0030002A, 0x00240020, 0x001C0018, 0x00140010
|
||||
glabel D_8089B17C
|
||||
.word 0x00010003, 0x00070000
|
||||
glabel D_8089B184
|
||||
.word 0x00000000, 0x00000000, 0x3F4CCCCD
|
||||
glabel D_8089B190
|
||||
.word 0xC8500064, 0xB0F404B0, 0xB0F80320, 0x30FC04B0
|
||||
glabel D_8089B1A0
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_8089B1AC
|
||||
.word 0x06000D00, 0x06001D00, 0x06002500, 0x06002D00, 0x06004D00
|
||||
glabel D_8089B1C0
|
||||
.word 0x06001500, 0x06003500, 0x06003D00, 0x06004500, 0x06000500
|
||||
glabel D_8089B1D4
|
||||
.word 0x06009928, 0x06009AC0, 0x06009C80, 0x06009DE8, 0x06009F60, 0x0600A0A8, 0x0600A278, 0x0600A418, 0x0600A568, 0x0600A6A0, 0x0600A7E0, 0x0600A978, 0x0600AAC8
|
||||
glabel D_8089B208
|
||||
.word 0x00000000, 0x00000000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_8089B2D0
|
||||
.incbin "baserom/ovl_Bg_Jya_Megami", 0x11A0, 0x00000170
|
3
spec
3
spec
|
@ -1035,8 +1035,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Jya_Megami"
|
||||
include "build/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.o"
|
||||
include "build/data/overlays/actors/z_bg_jya_megami.data.o"
|
||||
include "build/data/overlays/actors/z_bg_jya_megami.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Jya_Megami/ovl_Bg_Jya_Megami_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,7 +9,23 @@ void BgJyaMegami_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgJyaMegami_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgJyaMegami_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void BgJyaMegami_SetupDetectLight(BgJyaMegami* this);
|
||||
void BgJyaMegami_DetectLight(BgJyaMegami* this, GlobalContext* globalCtx);
|
||||
void BgJyaMegami_SetupExplode(BgJyaMegami* this);
|
||||
void BgJyaMegami_Explode(BgJyaMegami* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx D_06005780[];
|
||||
extern UNK_TYPE D_06005C4C;
|
||||
extern Gfx D_0600B9F8[];
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x0C */ f32 velX;
|
||||
/* 0x10 */ s16 rotVelX;
|
||||
/* 0x12 */ s16 rotVelY;
|
||||
/* 0x14 */ s16 delay;
|
||||
} BgJyaMegamiPieceInit; // size = 0x18
|
||||
|
||||
const ActorInit Bg_Jya_Megami_InitVars = {
|
||||
ACTOR_BG_JYA_MEGAMI,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -21,31 +37,310 @@ const ActorInit Bg_Jya_Megami_InitVars = {
|
|||
(ActorFunc)BgJyaMegami_Update,
|
||||
(ActorFunc)BgJyaMegami_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A130.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A188.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit[] = {
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00200000, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ 0x00, { { 0x0000, 0xFDA8, 0xFF38 }, 0x003C }, 0x0064 },
|
||||
},
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A1DC.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x00, COLSHAPE_JNTSPH },
|
||||
1,
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A41C.s")
|
||||
static BgJyaMegamiPieceInit sPiecesInit[] = {
|
||||
{ { -50.0f, -21.28f, -38.92f }, -1.6f, 0xFED4, 0xFE70, 40 },
|
||||
{ { -4.32f, -13.44f, -13.76f }, 0.0f, 0x04B0, 0x0190, 42 },
|
||||
{ { 30.92f, -20.480001f, -28.84f }, 1.6f, 0xFCE0, 0x0320, 44 },
|
||||
{ { -24.08f, -40.960003f, -21.359999f }, -1.0f, 0xFD44, 0x01F4, 36 },
|
||||
{ { -44.8f, -73.92f, -49.76f }, -3.2f, 0x03E8, 0xFF38, 30 },
|
||||
{ { -9.0f, -76.479996f, -13.24f }, -1.0f, 0xFC18, 0x0258, 26 },
|
||||
{ { -10.240001f, -52.56f, -13.400001f }, 1.6f, 0x0258, 0xFE70, 34 },
|
||||
{ { 34.04f, -61.72f, -37.04f }, 1.5f, 0x0258, 0x0258, 28 },
|
||||
{ { 59.48f, -38.399998f, -49.4f }, 1.8f, 0x01F4, 0x0000, 38 },
|
||||
{ { -19.04f, -112.24f, -35.120003f }, -1.6f, 0x012C, 0x0320, 22 },
|
||||
{ { 12.24f, -99.04f, -31.64f }, 1.8f, 0xFC18, 0xFE70, 24 },
|
||||
{ { 49.16f, -81.24f, -55.52f }, 2.4f, 0x02BC, 0x012C, 32 },
|
||||
{ { 14.759999f, -125.8f, -44.16f }, 0.2f, 0x0320, 0x0258, 20 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/BgJyaMegami_Init.s")
|
||||
s16 D_8089B14C[] = {
|
||||
0x0005, 0x0008, 0x000B, 0x000E, 0x0011, 0x0014, 0x0017, 0x001A,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/BgJyaMegami_Destroy.s")
|
||||
s16 D_8089B15C[] = {
|
||||
0x0012, 0x001A, 0x0022, 0x002A, 0x0032, 0x003C, 0x0046, 0x0050,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A5EC.s")
|
||||
s16 D_8089B16C[] = {
|
||||
0x0030, 0x002A, 0x0024, 0x0020, 0x001C, 0x0018, 0x0014, 0x0010,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A604.s")
|
||||
s16 D_8089B17C[] = {
|
||||
0x0001,
|
||||
0x0003,
|
||||
0x0007,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A78C.s")
|
||||
static Vec3f D_8089B184 = { 0.0f, 0.0f, 0.8f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089A820.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 800, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1200, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/BgJyaMegami_Update.s")
|
||||
static Vec3f sVec = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089ABC8.s")
|
||||
static UNK_PTR sRightSideCrumbles[] = {
|
||||
0x06000D00, 0x06001D00, 0x06002500, 0x06002D00, 0x06004D00,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/func_8089AD48.s")
|
||||
static UNK_PTR sLeftSideCrumbles[] = {
|
||||
0x06001500, 0x06003500, 0x06003D00, 0x06004500, 0x06000500,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Megami/BgJyaMegami_Draw.s")
|
||||
static Gfx* sDLists[] = {
|
||||
0x06009928, 0x06009AC0, 0x06009C80, 0x06009DE8, 0x06009F60, 0x0600A0A8, 0x0600A278,
|
||||
0x0600A418, 0x0600A568, 0x0600A6A0, 0x0600A7E0, 0x0600A978, 0x0600AAC8,
|
||||
};
|
||||
|
||||
void BgJyaMegami_InitDynaPoly(BgJyaMegami* this, GlobalContext* globalCtx, void* collision, DynaPolyMoveFlag flags) {
|
||||
s32 pad;
|
||||
u32 temp;
|
||||
|
||||
temp = 0;
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, flags);
|
||||
DynaPolyInfo_Alloc(collision, &temp);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, temp);
|
||||
}
|
||||
|
||||
void BgJyaMegami_InitCollider(BgJyaMegami* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, &this->colliderItem);
|
||||
}
|
||||
|
||||
void func_8089A1DC(GlobalContext* globalCtx, Vec3f* burstOrigin, Vec3f* burstDepthX, s32 num, s32 arg4) {
|
||||
Vec3f spB4;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < num; i++) {
|
||||
s32 idx = ((s16)(Math_Rand_ZeroOne() * 8.0f)) & D_8089B17C[arg4];
|
||||
s16 u0 = ((idx < 5) && (Math_Rand_ZeroOne() < 0.7f)) ? 0x40 : 0x20;
|
||||
func_80029E8C(globalCtx, burstOrigin, burstDepthX, burstOrigin, -90, u0, D_8089B16C[idx], 4, 0, D_8089B14C[idx],
|
||||
0, 5, D_8089B15C[idx], -1, OBJECT_JYA_OBJ, D_0600B9F8);
|
||||
if (Math_Rand_ZeroOne() < 0.45f) {
|
||||
Math_Vec3f_Copy(&spB4, burstOrigin);
|
||||
spB4.z += 25.0f;
|
||||
func_80033480(globalCtx, &spB4, 60.0f, 0, D_8089B14C[idx] * 4 + 50, D_8089B14C[idx] * 4 + 70, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8089A41C(BgJyaMegami* this, GlobalContext* globalCtx, f32 arg2) {
|
||||
s32 i;
|
||||
Vec3f sp50;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->pieces); i++) {
|
||||
if (Math_Rand_ZeroOne() < arg2) {
|
||||
Math_Vec3f_Sum(&this->dyna.actor.posRot.pos, &sPiecesInit[i].unk_00, &sp50);
|
||||
sp50.z += 15.0f;
|
||||
func_8089A1DC(globalCtx, &sp50, &D_8089B184, 1, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaMegami_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaMegami* this = THIS;
|
||||
|
||||
BgJyaMegami_InitDynaPoly(this, globalCtx, &D_06005C4C, 0);
|
||||
BgJyaMegami_InitCollider(this, globalCtx);
|
||||
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
} else {
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
Actor_SetHeight(&this->dyna.actor, -50.0f);
|
||||
BgJyaMegami_SetupDetectLight(this);
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaMegami_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaMegami* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void BgJyaMegami_SetupDetectLight(BgJyaMegami* this) {
|
||||
this->actionFunc = BgJyaMegami_DetectLight;
|
||||
this->lightTimer = 0;
|
||||
this->crumbleIndex = 0;
|
||||
}
|
||||
|
||||
void BgJyaMegami_DetectLight(BgJyaMegami* this, GlobalContext* globalCtx) {
|
||||
if (this->collider.base.acFlags & 0x2) {
|
||||
this->lightTimer++;
|
||||
this->collider.base.acFlags &= ~0x2;
|
||||
if (globalCtx->gameplayFrames % 4 == 0) {
|
||||
func_8089A41C(this, globalCtx, (this->crumbleIndex * 0.04f) + 0.05f);
|
||||
}
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_FACE_CRUMBLE_SLOW - SFX_FLAG);
|
||||
} else if (this->lightTimer > 0) {
|
||||
this->lightTimer--;
|
||||
}
|
||||
if (this->lightTimer > 40) {
|
||||
Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F);
|
||||
BgJyaMegami_SetupExplode(this);
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 100, NA_SE_EV_FACE_EXPLOSION);
|
||||
func_800800F8(globalCtx, 0xD70, -0x63, &this->dyna.actor, 0);
|
||||
} else {
|
||||
if (this->lightTimer < 8) {
|
||||
this->crumbleIndex = 0;
|
||||
} else if (this->lightTimer < 16) {
|
||||
this->crumbleIndex = 1;
|
||||
} else if (this->lightTimer < 24) {
|
||||
this->crumbleIndex = 2;
|
||||
} else if (this->lightTimer < 32) {
|
||||
this->crumbleIndex = 3;
|
||||
} else {
|
||||
this->crumbleIndex = 4;
|
||||
}
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaMegami_SetupExplode(BgJyaMegami* this) {
|
||||
u32 i;
|
||||
|
||||
this->actionFunc = BgJyaMegami_Explode;
|
||||
for (i = 0; i < ARRAY_COUNT(this->pieces); i++) {
|
||||
Math_Vec3f_Copy(&this->pieces[i].pos, &this->dyna.actor.posRot.pos);
|
||||
this->pieces[i].vel.x = sPiecesInit[i].velX;
|
||||
}
|
||||
this->explosionTimer = 0;
|
||||
}
|
||||
|
||||
void BgJyaMegami_Explode(BgJyaMegami* this, GlobalContext* globalCtx) {
|
||||
BgJyaMegamiPiece* temp;
|
||||
u32 i;
|
||||
Vec3f sp8C;
|
||||
BgJyaMegamiPieceInit* temp2;
|
||||
s32 pad;
|
||||
|
||||
this->explosionTimer++;
|
||||
if (this->explosionTimer == 30) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 100, NA_SE_EV_FACE_BREAKDOWN);
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->pieces); i++) {
|
||||
temp = &this->pieces[i];
|
||||
temp2 = &sPiecesInit[i];
|
||||
if (this->explosionTimer > temp2->delay) {
|
||||
temp->vel.y -= 0.6f;
|
||||
if (temp->vel.y < -18.0f) {
|
||||
temp->vel.y = -18.0f;
|
||||
}
|
||||
temp->vel.x *= 0.995f;
|
||||
temp->pos.x += temp->vel.x;
|
||||
temp->pos.y += temp->vel.y;
|
||||
temp->rotVelX += temp2->rotVelX;
|
||||
temp->rotVelY += temp2->rotVelY;
|
||||
if (Math_Rand_ZeroOne() < 0.067f) {
|
||||
Math_Vec3f_Sum(&temp->pos, &temp2->unk_00, &sp8C);
|
||||
sp8C.z += 10.0f;
|
||||
func_8089A1DC(globalCtx, &sp8C, &temp->vel, 3, 2);
|
||||
}
|
||||
} else if (this->explosionTimer == temp2->delay) {
|
||||
Math_Vec3f_Sum(&temp->pos, &temp2->unk_00, &sp8C);
|
||||
sp8C.z += 10.0f;
|
||||
func_8089A1DC(globalCtx, &sp8C, &temp->vel, 4, 2);
|
||||
}
|
||||
}
|
||||
|
||||
if ((this->explosionTimer % 4 == 0) && (this->explosionTimer > 30) && (this->explosionTimer < 80) &&
|
||||
(this->explosionTimer > 40)) {
|
||||
sp8C.x = ((Math_Rand_ZeroOne() - 0.5f) * 90.0f) + this->dyna.actor.posRot.pos.x;
|
||||
sp8C.y = (this->dyna.actor.posRot.pos.y - (Math_Rand_ZeroOne() * 80.0f)) - 20.0f;
|
||||
sp8C.z = this->dyna.actor.posRot.pos.z - ((Math_Rand_ZeroOne() - 0.5f) * 50.0f);
|
||||
func_8089A1DC(globalCtx, &sp8C, &sVec, 1, 0);
|
||||
}
|
||||
if (this->explosionTimer < ARRAY_COUNT(this->pieces)) {
|
||||
sp8C.x = this->dyna.actor.posRot.pos.x;
|
||||
sp8C.y = this->dyna.actor.posRot.pos.y - 60.0f;
|
||||
sp8C.z = this->dyna.actor.posRot.pos.z;
|
||||
func_80033480(globalCtx, &sp8C, 100.0f, 1, 150, 100, 1);
|
||||
}
|
||||
if (this->explosionTimer == 60) {
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
}
|
||||
if (this->explosionTimer >= 100) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaMegami_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaMegami* this = THIS;
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
void BgJyaMegami_DrawFace(BgJyaMegami* this, GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 706);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex]));
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex]));
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 716),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_06005780);
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 720);
|
||||
}
|
||||
|
||||
void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgJyaMegamiPiece* piece;
|
||||
u32 i;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 746);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->pieces); i++) {
|
||||
piece = &this->pieces[i];
|
||||
Matrix_Translate(piece->pos.x + sPiecesInit[i].unk_00.x, piece->pos.y + sPiecesInit[i].unk_00.y,
|
||||
piece->pos.z + sPiecesInit[i].unk_00.z, MTXMODE_NEW);
|
||||
Matrix_RotateY(piece->rotVelY * 0.0000958738f, MTXMODE_APPLY);
|
||||
Matrix_RotateX(piece->rotVelX * 0.0000958738f, MTXMODE_APPLY);
|
||||
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
||||
Matrix_Translate(sPiecesInit[i].unk_00.x * -10.0f, sPiecesInit[i].unk_00.y * -10.0f,
|
||||
sPiecesInit[i].unk_00.z * -10.0f, MTXMODE_APPLY);
|
||||
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 778),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, sDLists[i]);
|
||||
}
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 783);
|
||||
}
|
||||
|
||||
void BgJyaMegami_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaMegami* this = THIS;
|
||||
|
||||
func_800628A4(0, &this->collider);
|
||||
if (this->actionFunc == BgJyaMegami_Explode) {
|
||||
BgJyaMegami_DrawExplode(this, globalCtx);
|
||||
} else {
|
||||
BgJyaMegami_DrawFace(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,24 @@
|
|||
|
||||
struct BgJyaMegami;
|
||||
|
||||
typedef void (*BgJyaMegamiActionFunc)(struct BgJyaMegami*, GlobalContext*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f vel;
|
||||
/* 0x18 */ s16 rotVelX;
|
||||
/* 0x1A */ s16 rotVelY;
|
||||
} BgJyaMegamiPiece; // size = 0x1C
|
||||
|
||||
typedef struct BgJyaMegami {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1F0];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgJyaMegamiActionFunc actionFunc;
|
||||
/* 0x0168 */ ColliderJntSph collider;
|
||||
/* 0x0188 */ ColliderJntSphItem colliderItem;
|
||||
/* 0x01C8 */ s16 lightTimer;
|
||||
/* 0x01CA */ s16 explosionTimer;
|
||||
/* 0x01CC */ s16 crumbleIndex;
|
||||
/* 0x01D0 */ BgJyaMegamiPiece pieces[13];
|
||||
} BgJyaMegami; // size = 0x033C
|
||||
|
||||
extern const ActorInit Bg_Jya_Megami_InitVars;
|
||||
|
|
|
@ -849,6 +849,11 @@ D_02003C80 = 0x02003C80;
|
|||
D_02005020 = 0x02005020;
|
||||
D_020024A0 = 0x020024A0;
|
||||
|
||||
// z_bg_jya_megami
|
||||
D_06005C4C = 0x06005C4C;
|
||||
D_06005780 = 0x06005780;
|
||||
D_0600B9F8 = 0x0600B9F8;
|
||||
|
||||
// z_bg_mori_hineri
|
||||
D_060054B8 = 0x060054B8;
|
||||
D_06003490 = 0x06003490;
|
||||
|
|
Loading…
Add table
Reference in a new issue