mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 11:03:46 +00:00
EnEncount2 and EnFireRock OK (#659)
* first two funcs done * fixing struct var name due to external use * func_80A07CA4 done * started EnEncount2_Update * EnEncount2_Update done * Encount2 done! * EnFireRock_Init done (but will only match once initvars are uncommented * progress * 4 funcs left * Fully matching * minor formatting * renames * change structs back to normal * formatting * removing unused comments * even more formatting stuff * removed unused asm * pr stuff * pr stuff * added newline at end of file * some merge suggestions * more pr stuff * review Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
parent
8e0fa07a7e
commit
ca5a9aa7d1
27 changed files with 755 additions and 2752 deletions
|
@ -1,9 +0,0 @@
|
|||
glabel EnEncount2_Draw
|
||||
/* 00CE4 80A08674 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00CE8 80A08678 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00CEC 80A0867C 0C282247 */ jal func_80A0891C
|
||||
/* 00CF0 80A08680 00000000 */ nop
|
||||
/* 00CF4 80A08684 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00CF8 80A08688 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00CFC 80A0868C 03E00008 */ jr $ra
|
||||
/* 00D00 80A08690 00000000 */ nop
|
|
@ -1,74 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A08B70
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08B74
|
||||
.asciz "\x1b[32m☆☆☆☆☆ デスマウンテンエンカウント2セットされました ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08BC4
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08BC8
|
||||
.asciz "\x1b[32m☆☆☆☆☆ ガノンタワー脱出エンカウント2セットされました ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnEncount2_Init
|
||||
/* 00000 80A07990 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00004 80A07994 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00008 80A07998 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0000C 80A0799C 84AE00A4 */ lh $t6, 0x00A4($a1) ## 000000A4
|
||||
/* 00010 80A079A0 24010060 */ addiu $at, $zero, 0x0060 ## $at = 00000060
|
||||
/* 00014 80A079A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 80A079A8 11C10002 */ beq $t6, $at, .L80A079B4
|
||||
/* 0001C 80A079AC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00020 80A079B0 A48F015A */ sh $t7, 0x015A($a0) ## 0000015A
|
||||
.L80A079B4:
|
||||
/* 00024 80A079B4 8618015A */ lh $t8, 0x015A($s0) ## 0000015A
|
||||
/* 00028 80A079B8 3C0480A1 */ lui $a0, %hi(D_80A08BC4) ## $a0 = 80A10000
|
||||
/* 0002C 80A079BC 17000015 */ bne $t8, $zero, .L80A07A14
|
||||
/* 00030 80A079C0 00000000 */ nop
|
||||
/* 00034 80A079C4 3C0480A1 */ lui $a0, %hi(D_80A08B70) ## $a0 = 80A10000
|
||||
/* 00038 80A079C8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0003C 80A079CC 24848B70 */ addiu $a0, $a0, %lo(D_80A08B70) ## $a0 = 80A08B70
|
||||
/* 00040 80A079D0 3C0480A1 */ lui $a0, %hi(D_80A08B74) ## $a0 = 80A10000
|
||||
/* 00044 80A079D4 24848B74 */ addiu $a0, $a0, %lo(D_80A08B74) ## $a0 = 80A08B74
|
||||
/* 00048 80A079D8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0004C 80A079DC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00050 80A079E0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00054 80A079E4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00058 80A079E8 8C590004 */ lw $t9, 0x0004($v0) ## 8015E664
|
||||
/* 0005C 80A079EC 1720000F */ bne $t9, $zero, .L80A07A2C
|
||||
/* 00060 80A079F0 00000000 */ nop
|
||||
/* 00064 80A079F4 94480EDC */ lhu $t0, 0x0EDC($v0) ## 8015F53C
|
||||
/* 00068 80A079F8 31090200 */ andi $t1, $t0, 0x0200 ## $t1 = 00000000
|
||||
/* 0006C 80A079FC 1120000B */ beq $t1, $zero, .L80A07A2C
|
||||
/* 00070 80A07A00 00000000 */ nop
|
||||
/* 00074 80A07A04 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00078 80A07A08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0007C 80A07A0C 10000007 */ beq $zero, $zero, .L80A07A2C
|
||||
/* 00080 80A07A10 00000000 */ nop
|
||||
.L80A07A14:
|
||||
/* 00084 80A07A14 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00088 80A07A18 24848BC4 */ addiu $a0, $a0, %lo(D_80A08BC4) ## $a0 = FFFF8BC4
|
||||
/* 0008C 80A07A1C 3C0480A1 */ lui $a0, %hi(D_80A08BC8) ## $a0 = 80A10000
|
||||
/* 00090 80A07A20 24848BC8 */ addiu $a0, $a0, %lo(D_80A08BC8) ## $a0 = 80A08BC8
|
||||
/* 00094 80A07A24 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00098 80A07A28 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
.L80A07A2C:
|
||||
/* 0009C 80A07A2C 3C0A80A0 */ lui $t2, %hi(func_80A07A4C) ## $t2 = 80A00000
|
||||
/* 000A0 80A07A30 254A7A4C */ addiu $t2, $t2, %lo(func_80A07A4C) ## $t2 = 80A07A4C
|
||||
/* 000A4 80A07A34 AE0A014C */ sw $t2, 0x014C($s0) ## 0000014C
|
||||
/* 000A8 80A07A38 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000AC 80A07A3C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 000B0 80A07A40 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 000B4 80A07A44 03E00008 */ jr $ra
|
||||
/* 000B8 80A07A48 00000000 */ nop
|
|
@ -1,260 +0,0 @@
|
|||
glabel EnEncount2_Update
|
||||
/* 00918 80A082A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0091C 80A082AC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00920 80A082B0 84820154 */ lh $v0, 0x0154($a0) ## 00000154
|
||||
/* 00924 80A082B4 10400002 */ beq $v0, $zero, .L80A082C0
|
||||
/* 00928 80A082B8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 0092C 80A082BC A48E0154 */ sh $t6, 0x0154($a0) ## 00000154
|
||||
.L80A082C0:
|
||||
/* 00930 80A082C0 84820156 */ lh $v0, 0x0156($a0) ## 00000156
|
||||
/* 00934 80A082C4 10400002 */ beq $v0, $zero, .L80A082D0
|
||||
/* 00938 80A082C8 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 0093C 80A082CC A48F0156 */ sh $t7, 0x0156($a0) ## 00000156
|
||||
.L80A082D0:
|
||||
/* 00940 80A082D0 8482015E */ lh $v0, 0x015E($a0) ## 0000015E
|
||||
/* 00944 80A082D4 10400002 */ beq $v0, $zero, .L80A082E0
|
||||
/* 00948 80A082D8 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 0094C 80A082DC A498015E */ sh $t8, 0x015E($a0) ## 0000015E
|
||||
.L80A082E0:
|
||||
/* 00950 80A082E0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00954 80A082E4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00958 80A082E8 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
|
||||
/* 0095C 80A082EC 0320F809 */ jalr $ra, $t9
|
||||
/* 00960 80A082F0 00000000 */ nop
|
||||
/* 00964 80A082F4 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00968 80A082F8 0C2821D2 */ jal func_80A08748
|
||||
/* 0096C 80A082FC 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00970 80A08300 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00974 80A08304 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00978 80A08308 8488015A */ lh $t0, 0x015A($a0) ## 0000015A
|
||||
/* 0097C 80A0830C 550000D6 */ bnel $t0, $zero, .L80A08668
|
||||
/* 00980 80A08310 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00984 80A08314 84890178 */ lh $t1, 0x0178($a0) ## 00000178
|
||||
/* 00988 80A08318 3C01BFC0 */ lui $at, 0xBFC0 ## $at = BFC00000
|
||||
/* 0098C 80A0831C 44817000 */ mtc1 $at, $f14 ## $f14 = -1.50
|
||||
/* 00990 80A08320 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
|
||||
/* 00994 80A08324 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
|
||||
/* 00998 80A08328 44818000 */ mtc1 $at, $f16 ## $f16 = -50.00
|
||||
/* 0099C 80A0832C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 009A0 80A08330 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 009A4 80A08334 44814000 */ mtc1 $at, $f8 ## $f8 = 60.00
|
||||
/* 009A8 80A08338 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 009AC 80A0833C 00A11021 */ addu $v0, $a1, $at
|
||||
/* 009B0 80A08340 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
|
||||
/* 009B4 80A08344 46083003 */ div.s $f0, $f6, $f8
|
||||
/* 009B8 80A08348 46100082 */ mul.s $f2, $f0, $f16
|
||||
/* 009BC 80A0834C E480017C */ swc1 $f0, 0x017C($a0) ## 0000017C
|
||||
/* 009C0 80A08350 4600128D */ trunc.w.s $f10, $f2
|
||||
/* 009C4 80A08354 E4820160 */ swc1 $f2, 0x0160($a0) ## 00000160
|
||||
/* 009C8 80A08358 440B5000 */ mfc1 $t3, $f10
|
||||
/* 009CC 80A0835C 00000000 */ nop
|
||||
/* 009D0 80A08360 000B6400 */ sll $t4, $t3, 16
|
||||
/* 009D4 80A08364 000C6C03 */ sra $t5, $t4, 16
|
||||
/* 009D8 80A08368 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
|
||||
/* 009DC 80A0836C 00000000 */ nop
|
||||
/* 009E0 80A08370 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 009E4 80A08374 460E2182 */ mul.s $f6, $f4, $f14
|
||||
/* 009E8 80A08378 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 009EC 80A0837C 44813000 */ mtc1 $at, $f6 ## $f6 = -20.00
|
||||
/* 009F0 80A08380 3C014320 */ lui $at, 0x4320 ## $at = 43200000
|
||||
/* 009F4 80A08384 44811000 */ mtc1 $at, $f2 ## $f2 = 160.00
|
||||
/* 009F8 80A08388 440F4000 */ mfc1 $t7, $f8
|
||||
/* 009FC 80A0838C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00A00 80A08390 00250821 */ addu $at, $at, $a1
|
||||
/* 00A04 80A08394 A44F0AB0 */ sh $t7, 0x0AB0($v0) ## 00000AB0
|
||||
/* 00A08 80A08398 C48A0160 */ lwc1 $f10, 0x0160($a0) ## 00000160
|
||||
/* 00A0C 80A0839C 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 00A10 80A083A0 44039000 */ mfc1 $v1, $f18
|
||||
/* 00A14 80A083A4 00000000 */ nop
|
||||
/* 00A18 80A083A8 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00A1C 80A083AC 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00A20 80A083B0 A4430AB4 */ sh $v1, 0x0AB4($v0) ## 00000AB4
|
||||
/* 00A24 80A083B4 A4430AB2 */ sh $v1, 0x0AB2($v0) ## 00000AB2
|
||||
/* 00A28 80A083B8 C484017C */ lwc1 $f4, 0x017C($a0) ## 0000017C
|
||||
/* 00A2C 80A083BC 46062302 */ mul.s $f12, $f4, $f6
|
||||
/* 00A30 80A083C0 4600620D */ trunc.w.s $f8, $f12
|
||||
/* 00A34 80A083C4 E48C0168 */ swc1 $f12, 0x0168($a0) ## 00000168
|
||||
/* 00A38 80A083C8 44084000 */ mfc1 $t0, $f8
|
||||
/* 00A3C 80A083CC 00000000 */ nop
|
||||
/* 00A40 80A083D0 00084C00 */ sll $t1, $t0, 16
|
||||
/* 00A44 80A083D4 00095403 */ sra $t2, $t1, 16
|
||||
/* 00A48 80A083D8 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00
|
||||
/* 00A4C 80A083DC 00000000 */ nop
|
||||
/* 00A50 80A083E0 468054A0 */ cvt.s.w $f18, $f10
|
||||
/* 00A54 80A083E4 460E9102 */ mul.s $f4, $f18, $f14
|
||||
/* 00A58 80A083E8 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00A5C 80A083EC 440C3000 */ mfc1 $t4, $f6
|
||||
/* 00A60 80A083F0 00000000 */ nop
|
||||
/* 00A64 80A083F4 A44C0AB6 */ sh $t4, 0x0AB6($v0) ## 00000AB6
|
||||
/* 00A68 80A083F8 C4880168 */ lwc1 $f8, 0x0168($a0) ## 00000168
|
||||
/* 00A6C 80A083FC 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00A70 80A08400 44035000 */ mfc1 $v1, $f10
|
||||
/* 00A74 80A08404 00000000 */ nop
|
||||
/* 00A78 80A08408 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00A7C 80A0840C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00A80 80A08410 A4430ABA */ sh $v1, 0x0ABA($v0) ## 00000ABA
|
||||
/* 00A84 80A08414 A4430AB8 */ sh $v1, 0x0AB8($v0) ## 00000AB8
|
||||
/* 00A88 80A08418 C492017C */ lwc1 $f18, 0x017C($a0) ## 0000017C
|
||||
/* 00A8C 80A0841C 46109002 */ mul.s $f0, $f18, $f16
|
||||
/* 00A90 80A08420 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 00A94 80A08424 E4800170 */ swc1 $f0, 0x0170($a0) ## 00000170
|
||||
/* 00A98 80A08428 440F2000 */ mfc1 $t7, $f4
|
||||
/* 00A9C 80A0842C 00000000 */ nop
|
||||
/* 00AA0 80A08430 A42F0AC2 */ sh $t7, 0x0AC2($at) ## 00010AC2
|
||||
/* 00AA4 80A08434 90580AF3 */ lbu $t8, 0x0AF3($v0) ## 00000AF3
|
||||
/* 00AA8 80A08438 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00AAC 80A0843C 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00
|
||||
/* 00AB0 80A08440 07010004 */ bgez $t8, .L80A08454
|
||||
/* 00AB4 80A08444 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00AB8 80A08448 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
|
||||
/* 00ABC 80A0844C 00000000 */ nop
|
||||
/* 00AC0 80A08450 460A4200 */ add.s $f8, $f8, $f10
|
||||
.L80A08454:
|
||||
/* 00AC4 80A08454 46081481 */ sub.s $f18, $f2, $f8
|
||||
/* 00AC8 80A08458 C484017C */ lwc1 $f4, 0x017C($a0) ## 0000017C
|
||||
/* 00ACC 80A0845C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00AD0 80A08460 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 00AD4 80A08464 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 00AD8 80A08468 4459F800 */ cfc1 $t9, $31
|
||||
/* 00ADC 80A0846C 44C8F800 */ ctc1 $t0, $31
|
||||
/* 00AE0 80A08470 00000000 */ nop
|
||||
/* 00AE4 80A08474 460032A4 */ cvt.w.s $f10, $f6
|
||||
/* 00AE8 80A08478 4448F800 */ cfc1 $t0, $31
|
||||
/* 00AEC 80A0847C 00000000 */ nop
|
||||
/* 00AF0 80A08480 31080078 */ andi $t0, $t0, 0x0078 ## $t0 = 00000000
|
||||
/* 00AF4 80A08484 51000013 */ beql $t0, $zero, .L80A084D4
|
||||
/* 00AF8 80A08488 44085000 */ mfc1 $t0, $f10
|
||||
/* 00AFC 80A0848C 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00
|
||||
/* 00B00 80A08490 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00B04 80A08494 460A3281 */ sub.s $f10, $f6, $f10
|
||||
/* 00B08 80A08498 44C8F800 */ ctc1 $t0, $31
|
||||
/* 00B0C 80A0849C 00000000 */ nop
|
||||
/* 00B10 80A084A0 460052A4 */ cvt.w.s $f10, $f10
|
||||
/* 00B14 80A084A4 4448F800 */ cfc1 $t0, $31
|
||||
/* 00B18 80A084A8 00000000 */ nop
|
||||
/* 00B1C 80A084AC 31080078 */ andi $t0, $t0, 0x0078 ## $t0 = 00000000
|
||||
/* 00B20 80A084B0 15000005 */ bne $t0, $zero, .L80A084C8
|
||||
/* 00B24 80A084B4 00000000 */ nop
|
||||
/* 00B28 80A084B8 44085000 */ mfc1 $t0, $f10
|
||||
/* 00B2C 80A084BC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00B30 80A084C0 10000007 */ beq $zero, $zero, .L80A084E0
|
||||
/* 00B34 80A084C4 01014025 */ or $t0, $t0, $at ## $t0 = 80000000
|
||||
.L80A084C8:
|
||||
/* 00B38 80A084C8 10000005 */ beq $zero, $zero, .L80A084E0
|
||||
/* 00B3C 80A084CC 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 00B40 80A084D0 44085000 */ mfc1 $t0, $f10
|
||||
.L80A084D4:
|
||||
/* 00B44 80A084D4 00000000 */ nop
|
||||
/* 00B48 80A084D8 0500FFFB */ bltz $t0, .L80A084C8
|
||||
/* 00B4C 80A084DC 00000000 */ nop
|
||||
.L80A084E0:
|
||||
/* 00B50 80A084E0 904A0AF4 */ lbu $t2, 0x0AF4($v0) ## 00000AF4
|
||||
/* 00B54 80A084E4 44D9F800 */ ctc1 $t9, $31
|
||||
/* 00B58 80A084E8 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 000000FF
|
||||
/* 00B5C 80A084EC 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
|
||||
/* 00B60 80A084F0 A4490ABC */ sh $t1, 0x0ABC($v0) ## 00000ABC
|
||||
/* 00B64 80A084F4 05410005 */ bgez $t2, .L80A0850C
|
||||
/* 00B68 80A084F8 468044A0 */ cvt.s.w $f18, $f8
|
||||
/* 00B6C 80A084FC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00B70 80A08500 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
|
||||
/* 00B74 80A08504 00000000 */ nop
|
||||
/* 00B78 80A08508 46049480 */ add.s $f18, $f18, $f4
|
||||
.L80A0850C:
|
||||
/* 00B7C 80A0850C 46121181 */ sub.s $f6, $f2, $f18
|
||||
/* 00B80 80A08510 C48A017C */ lwc1 $f10, 0x017C($a0) ## 0000017C
|
||||
/* 00B84 80A08514 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 00B88 80A08518 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 00B8C 80A0851C 460A3202 */ mul.s $f8, $f6, $f10
|
||||
/* 00B90 80A08520 444BF800 */ cfc1 $t3, $31
|
||||
/* 00B94 80A08524 44CCF800 */ ctc1 $t4, $31
|
||||
/* 00B98 80A08528 00000000 */ nop
|
||||
/* 00B9C 80A0852C 46004124 */ cvt.w.s $f4, $f8
|
||||
/* 00BA0 80A08530 444CF800 */ cfc1 $t4, $31
|
||||
/* 00BA4 80A08534 00000000 */ nop
|
||||
/* 00BA8 80A08538 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
|
||||
/* 00BAC 80A0853C 51800013 */ beql $t4, $zero, .L80A0858C
|
||||
/* 00BB0 80A08540 440C2000 */ mfc1 $t4, $f4
|
||||
/* 00BB4 80A08544 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
|
||||
/* 00BB8 80A08548 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 00BBC 80A0854C 46044101 */ sub.s $f4, $f8, $f4
|
||||
/* 00BC0 80A08550 44CCF800 */ ctc1 $t4, $31
|
||||
/* 00BC4 80A08554 00000000 */ nop
|
||||
/* 00BC8 80A08558 46002124 */ cvt.w.s $f4, $f4
|
||||
/* 00BCC 80A0855C 444CF800 */ cfc1 $t4, $31
|
||||
/* 00BD0 80A08560 00000000 */ nop
|
||||
/* 00BD4 80A08564 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
|
||||
/* 00BD8 80A08568 15800005 */ bne $t4, $zero, .L80A08580
|
||||
/* 00BDC 80A0856C 00000000 */ nop
|
||||
/* 00BE0 80A08570 440C2000 */ mfc1 $t4, $f4
|
||||
/* 00BE4 80A08574 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00BE8 80A08578 10000007 */ beq $zero, $zero, .L80A08598
|
||||
/* 00BEC 80A0857C 01816025 */ or $t4, $t4, $at ## $t4 = 80000000
|
||||
.L80A08580:
|
||||
/* 00BF0 80A08580 10000005 */ beq $zero, $zero, .L80A08598
|
||||
/* 00BF4 80A08584 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 00BF8 80A08588 440C2000 */ mfc1 $t4, $f4
|
||||
.L80A0858C:
|
||||
/* 00BFC 80A0858C 00000000 */ nop
|
||||
/* 00C00 80A08590 0580FFFB */ bltz $t4, .L80A08580
|
||||
/* 00C04 80A08594 00000000 */ nop
|
||||
.L80A08598:
|
||||
/* 00C08 80A08598 904E0AF5 */ lbu $t6, 0x0AF5($v0) ## 00000AF5
|
||||
/* 00C0C 80A0859C 44CBF800 */ ctc1 $t3, $31
|
||||
/* 00C10 80A085A0 3C014316 */ lui $at, 0x4316 ## $at = 43160000
|
||||
/* 00C14 80A085A4 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
|
||||
/* 00C18 80A085A8 318D00FF */ andi $t5, $t4, 0x00FF ## $t5 = 000000FF
|
||||
/* 00C1C 80A085AC 44819000 */ mtc1 $at, $f18 ## $f18 = 150.00
|
||||
/* 00C20 80A085B0 A44D0ABE */ sh $t5, 0x0ABE($v0) ## 00000ABE
|
||||
/* 00C24 80A085B4 05C10005 */ bgez $t6, .L80A085CC
|
||||
/* 00C28 80A085B8 468032A0 */ cvt.s.w $f10, $f6
|
||||
/* 00C2C 80A085BC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00C30 80A085C0 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
|
||||
/* 00C34 80A085C4 00000000 */ nop
|
||||
/* 00C38 80A085C8 46085280 */ add.s $f10, $f10, $f8
|
||||
.L80A085CC:
|
||||
/* 00C3C 80A085CC 460A9101 */ sub.s $f4, $f18, $f10
|
||||
/* 00C40 80A085D0 C486017C */ lwc1 $f6, 0x017C($a0) ## 0000017C
|
||||
/* 00C44 80A085D4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00C48 80A085D8 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 00C4C 80A085DC 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00C50 80A085E0 444FF800 */ cfc1 $t7, $31
|
||||
/* 00C54 80A085E4 44D8F800 */ ctc1 $t8, $31
|
||||
/* 00C58 80A085E8 00000000 */ nop
|
||||
/* 00C5C 80A085EC 460044A4 */ cvt.w.s $f18, $f8
|
||||
/* 00C60 80A085F0 4458F800 */ cfc1 $t8, $31
|
||||
/* 00C64 80A085F4 00000000 */ nop
|
||||
/* 00C68 80A085F8 33180078 */ andi $t8, $t8, 0x0078 ## $t8 = 00000000
|
||||
/* 00C6C 80A085FC 53000013 */ beql $t8, $zero, .L80A0864C
|
||||
/* 00C70 80A08600 44189000 */ mfc1 $t8, $f18
|
||||
/* 00C74 80A08604 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
|
||||
/* 00C78 80A08608 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00C7C 80A0860C 46124481 */ sub.s $f18, $f8, $f18
|
||||
/* 00C80 80A08610 44D8F800 */ ctc1 $t8, $31
|
||||
/* 00C84 80A08614 00000000 */ nop
|
||||
/* 00C88 80A08618 460094A4 */ cvt.w.s $f18, $f18
|
||||
/* 00C8C 80A0861C 4458F800 */ cfc1 $t8, $31
|
||||
/* 00C90 80A08620 00000000 */ nop
|
||||
/* 00C94 80A08624 33180078 */ andi $t8, $t8, 0x0078 ## $t8 = 00000000
|
||||
/* 00C98 80A08628 17000005 */ bne $t8, $zero, .L80A08640
|
||||
/* 00C9C 80A0862C 00000000 */ nop
|
||||
/* 00CA0 80A08630 44189000 */ mfc1 $t8, $f18
|
||||
/* 00CA4 80A08634 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00CA8 80A08638 10000007 */ beq $zero, $zero, .L80A08658
|
||||
/* 00CAC 80A0863C 0301C025 */ or $t8, $t8, $at ## $t8 = 80000000
|
||||
.L80A08640:
|
||||
/* 00CB0 80A08640 10000005 */ beq $zero, $zero, .L80A08658
|
||||
/* 00CB4 80A08644 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 00CB8 80A08648 44189000 */ mfc1 $t8, $f18
|
||||
.L80A0864C:
|
||||
/* 00CBC 80A0864C 00000000 */ nop
|
||||
/* 00CC0 80A08650 0700FFFB */ bltz $t8, .L80A08640
|
||||
/* 00CC4 80A08654 00000000 */ nop
|
||||
.L80A08658:
|
||||
/* 00CC8 80A08658 44CFF800 */ ctc1 $t7, $31
|
||||
/* 00CCC 80A0865C 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 000000FF
|
||||
/* 00CD0 80A08660 A4590AC0 */ sh $t9, 0x0AC0($v0) ## 00000AC0
|
||||
/* 00CD4 80A08664 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A08668:
|
||||
/* 00CD8 80A08668 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00CDC 80A0866C 03E00008 */ jr $ra
|
||||
/* 00CE0 80A08670 00000000 */ nop
|
|
@ -1,170 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A08D4C
|
||||
.float 1500.0
|
||||
|
||||
glabel D_80A08D50
|
||||
.word 0xC4A14000
|
||||
|
||||
.text
|
||||
glabel func_80A07A4C
|
||||
/* 000BC 80A07A4C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 000C0 80A07A50 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 000C4 80A07A54 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 000C8 80A07A58 848E015A */ lh $t6, 0x015A($a0) ## 0000015A
|
||||
/* 000CC 80A07A5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 000D0 80A07A60 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 000D4 80A07A64 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 000D8 80A07A68 15C00025 */ bne $t6, $zero, .L80A07B00
|
||||
/* 000DC 80A07A6C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 000E0 80A07A70 3C0180A1 */ lui $at, %hi(D_80A08D4C) ## $at = 80A10000
|
||||
/* 000E4 80A07A74 C4248D4C */ lwc1 $f4, %lo(D_80A08D4C)($at)
|
||||
/* 000E8 80A07A78 C4460028 */ lwc1 $f6, 0x0028($v0) ## 00000028
|
||||
/* 000EC 80A07A7C 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000
|
||||
/* 000F0 80A07A80 4606203C */ c.lt.s $f4, $f6
|
||||
/* 000F4 80A07A84 00000000 */ nop
|
||||
/* 000F8 80A07A88 4500003A */ bc1f .L80A07B74
|
||||
/* 000FC 80A07A8C 00000000 */ nop
|
||||
/* 00100 80A07A90 C4400024 */ lwc1 $f0, 0x0024($v0) ## 00000024
|
||||
/* 00104 80A07A94 44814000 */ mtc1 $at, $f8 ## $f8 = -700.00
|
||||
/* 00108 80A07A98 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 0010C 80A07A9C 4600403C */ c.lt.s $f8, $f0
|
||||
/* 00110 80A07AA0 00000000 */ nop
|
||||
/* 00114 80A07AA4 45000033 */ bc1f .L80A07B74
|
||||
/* 00118 80A07AA8 00000000 */ nop
|
||||
/* 0011C 80A07AAC 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
|
||||
/* 00120 80A07AB0 3C0180A1 */ lui $at, %hi(D_80A08D50) ## $at = 80A10000
|
||||
/* 00124 80A07AB4 460A003C */ c.lt.s $f0, $f10
|
||||
/* 00128 80A07AB8 00000000 */ nop
|
||||
/* 0012C 80A07ABC 4500002D */ bc1f .L80A07B74
|
||||
/* 00130 80A07AC0 00000000 */ nop
|
||||
/* 00134 80A07AC4 C440002C */ lwc1 $f0, 0x002C($v0) ## 0000002C
|
||||
/* 00138 80A07AC8 C4308D50 */ lwc1 $f16, %lo(D_80A08D50)($at)
|
||||
/* 0013C 80A07ACC 3C01C561 */ lui $at, 0xC561 ## $at = C5610000
|
||||
/* 00140 80A07AD0 4610003C */ c.lt.s $f0, $f16
|
||||
/* 00144 80A07AD4 00000000 */ nop
|
||||
/* 00148 80A07AD8 45000026 */ bc1f .L80A07B74
|
||||
/* 0014C 80A07ADC 00000000 */ nop
|
||||
/* 00150 80A07AE0 44819000 */ mtc1 $at, $f18 ## $f18 = -3600.00
|
||||
/* 00154 80A07AE4 00000000 */ nop
|
||||
/* 00158 80A07AE8 4600903C */ c.lt.s $f18, $f0
|
||||
/* 0015C 80A07AEC 00000000 */ nop
|
||||
/* 00160 80A07AF0 45000020 */ bc1f .L80A07B74
|
||||
/* 00164 80A07AF4 00000000 */ nop
|
||||
/* 00168 80A07AF8 1000001E */ beq $zero, $zero, .L80A07B74
|
||||
/* 0016C 80A07AFC 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
.L80A07B00:
|
||||
/* 00170 80A07B00 3C01442F */ lui $at, 0x442F ## $at = 442F0000
|
||||
/* 00174 80A07B04 44813000 */ mtc1 $at, $f6 ## $f6 = 700.00
|
||||
/* 00178 80A07B08 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
||||
/* 0017C 80A07B0C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00180 80A07B10 24050037 */ addiu $a1, $zero, 0x0037 ## $a1 = 00000037
|
||||
/* 00184 80A07B14 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00188 80A07B18 00000000 */ nop
|
||||
/* 0018C 80A07B1C 45000015 */ bc1f .L80A07B74
|
||||
/* 00190 80A07B20 00000000 */ nop
|
||||
/* 00194 80A07B24 A7A30028 */ sh $v1, 0x0028($sp)
|
||||
/* 00198 80A07B28 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 0019C 80A07B2C AFA60034 */ sw $a2, 0x0034($sp)
|
||||
/* 001A0 80A07B30 87A30028 */ lh $v1, 0x0028($sp)
|
||||
/* 001A4 80A07B34 1040000F */ beq $v0, $zero, .L80A07B74
|
||||
/* 001A8 80A07B38 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 001AC 80A07B3C 84C200A4 */ lh $v0, 0x00A4($a2) ## 000000A4
|
||||
/* 001B0 80A07B40 2401004F */ addiu $at, $zero, 0x004F ## $at = 0000004F
|
||||
/* 001B4 80A07B44 10410007 */ beq $v0, $at, .L80A07B64
|
||||
/* 001B8 80A07B48 2401001A */ addiu $at, $zero, 0x001A ## $at = 0000001A
|
||||
/* 001BC 80A07B4C 10410005 */ beq $v0, $at, .L80A07B64
|
||||
/* 001C0 80A07B50 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 001C4 80A07B54 10410003 */ beq $v0, $at, .L80A07B64
|
||||
/* 001C8 80A07B58 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 001CC 80A07B5C 14410005 */ bne $v0, $at, .L80A07B74
|
||||
/* 001D0 80A07B60 00000000 */ nop
|
||||
.L80A07B64:
|
||||
/* 001D4 80A07B64 860F015C */ lh $t7, 0x015C($s0) ## 0000015C
|
||||
/* 001D8 80A07B68 15E00002 */ bne $t7, $zero, .L80A07B74
|
||||
/* 001DC 80A07B6C 00000000 */ nop
|
||||
/* 001E0 80A07B70 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
.L80A07B74:
|
||||
/* 001E4 80A07B74 10600007 */ beq $v1, $zero, .L80A07B94
|
||||
/* 001E8 80A07B78 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 001EC 80A07B7C 10620011 */ beq $v1, $v0, .L80A07BC4
|
||||
/* 001F0 80A07B80 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 001F4 80A07B84 50610031 */ beql $v1, $at, .L80A07C4C
|
||||
/* 001F8 80A07B88 86190178 */ lh $t9, 0x0178($s0) ## 00000178
|
||||
/* 001FC 80A07B8C 10000041 */ beq $zero, $zero, .L80A07C94
|
||||
/* 00200 80A07B90 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A07B94:
|
||||
/* 00204 80A07B94 86080178 */ lh $t0, 0x0178($s0) ## 00000178
|
||||
/* 00208 80A07B98 24180000 */ addiu $t8, $zero, 0x0000 ## $t8 = 00000000
|
||||
/* 0020C 80A07B9C 24190000 */ addiu $t9, $zero, 0x0000 ## $t9 = 00000000
|
||||
/* 00210 80A07BA0 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00214 80A07BA4 A6090178 */ sh $t1, 0x0178($s0) ## 00000178
|
||||
/* 00218 80A07BA8 860A0178 */ lh $t2, 0x0178($s0) ## 00000178
|
||||
/* 0021C 80A07BAC AE190184 */ sw $t9, 0x0184($s0) ## 00000184
|
||||
/* 00220 80A07BB0 AE180180 */ sw $t8, 0x0180($s0) ## 00000180
|
||||
/* 00224 80A07BB4 5D400037 */ bgtzl $t2, .L80A07C94
|
||||
/* 00228 80A07BB8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0022C 80A07BBC 10000034 */ beq $zero, $zero, .L80A07C90
|
||||
/* 00230 80A07BC0 A6000178 */ sh $zero, 0x0178($s0) ## 00000178
|
||||
.L80A07BC4:
|
||||
/* 00234 80A07BC4 860B0154 */ lh $t3, 0x0154($s0) ## 00000154
|
||||
/* 00238 80A07BC8 504B0008 */ beql $v0, $t3, .L80A07BEC
|
||||
/* 0023C 80A07BCC 84CE07A0 */ lh $t6, 0x07A0($a2) ## 000007A0
|
||||
/* 00240 80A07BD0 8E0C0180 */ lw $t4, 0x0180($s0) ## 00000180
|
||||
/* 00244 80A07BD4 8E0D0184 */ lw $t5, 0x0184($s0) ## 00000184
|
||||
/* 00248 80A07BD8 5580001C */ bnel $t4, $zero, .L80A07C4C
|
||||
/* 0024C 80A07BDC 86190178 */ lh $t9, 0x0178($s0) ## 00000178
|
||||
/* 00250 80A07BE0 55A0001A */ bnel $t5, $zero, .L80A07C4C
|
||||
/* 00254 80A07BE4 86190178 */ lh $t9, 0x0178($s0) ## 00000178
|
||||
/* 00258 80A07BE8 84CE07A0 */ lh $t6, 0x07A0($a2) ## 000007A0
|
||||
.L80A07BEC:
|
||||
/* 0025C 80A07BEC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00260 80A07BF0 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00264 80A07BF4 00CFC021 */ addu $t8, $a2, $t7
|
||||
/* 00268 80A07BF8 0C024BE2 */ jal Quake_Add
|
||||
/* 0026C 80A07BFC 8F040790 */ lw $a0, 0x0790($t8) ## 00000790
|
||||
/* 00270 80A07C00 00022400 */ sll $a0, $v0, 16
|
||||
/* 00274 80A07C04 A7A2002A */ sh $v0, 0x002A($sp)
|
||||
/* 00278 80A07C08 00042403 */ sra $a0, $a0, 16
|
||||
/* 0027C 80A07C0C 0C024B6B */ jal Quake_SetSpeed
|
||||
/* 00280 80A07C10 24057FFF */ addiu $a1, $zero, 0x7FFF ## $a1 = 00007FFF
|
||||
/* 00284 80A07C14 87A4002A */ lh $a0, 0x002A($sp)
|
||||
/* 00288 80A07C18 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
|
||||
/* 0028C 80A07C1C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00290 80A07C20 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00294 80A07C24 0C024B9C */ jal Quake_SetQuakeValues
|
||||
/* 00298 80A07C28 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0029C 80A07C2C 87A4002A */ lh $a0, 0x002A($sp)
|
||||
/* 002A0 80A07C30 0C024B7C */ jal Quake_SetCountdown
|
||||
/* 002A4 80A07C34 2405012C */ addiu $a1, $zero, 0x012C ## $a1 = 0000012C
|
||||
/* 002A8 80A07C38 24080000 */ addiu $t0, $zero, 0x0000 ## $t0 = 00000000
|
||||
/* 002AC 80A07C3C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 002B0 80A07C40 AE090184 */ sw $t1, 0x0184($s0) ## 00000184
|
||||
/* 002B4 80A07C44 AE080180 */ sw $t0, 0x0180($s0) ## 00000180
|
||||
/* 002B8 80A07C48 86190178 */ lh $t9, 0x0178($s0) ## 00000178
|
||||
.L80A07C4C:
|
||||
/* 002BC 80A07C4C 3C0F80A0 */ lui $t7, %hi(func_80A07CA4) ## $t7 = 80A00000
|
||||
/* 002C0 80A07C50 240C003C */ addiu $t4, $zero, 0x003C ## $t4 = 0000003C
|
||||
/* 002C4 80A07C54 272A0001 */ addiu $t2, $t9, 0x0001 ## $t2 = 00000001
|
||||
/* 002C8 80A07C58 A60A0178 */ sh $t2, 0x0178($s0) ## 00000178
|
||||
/* 002CC 80A07C5C 860B0178 */ lh $t3, 0x0178($s0) ## 00000178
|
||||
/* 002D0 80A07C60 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8
|
||||
/* 002D4 80A07C64 25EF7CA4 */ addiu $t7, $t7, %lo(func_80A07CA4) ## $t7 = 80A07CA4
|
||||
/* 002D8 80A07C68 2961003D */ slti $at, $t3, 0x003D
|
||||
/* 002DC 80A07C6C 54200003 */ bnel $at, $zero, .L80A07C7C
|
||||
/* 002E0 80A07C70 860D0154 */ lh $t5, 0x0154($s0) ## 00000154
|
||||
/* 002E4 80A07C74 A60C0178 */ sh $t4, 0x0178($s0) ## 00000178
|
||||
/* 002E8 80A07C78 860D0154 */ lh $t5, 0x0154($s0) ## 00000154
|
||||
.L80A07C7C:
|
||||
/* 002EC 80A07C7C 55A00005 */ bnel $t5, $zero, .L80A07C94
|
||||
/* 002F0 80A07C80 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 002F4 80A07C84 A60E0154 */ sh $t6, 0x0154($s0) ## 00000154
|
||||
/* 002F8 80A07C88 A6000158 */ sh $zero, 0x0158($s0) ## 00000158
|
||||
/* 002FC 80A07C8C AE0F014C */ sw $t7, 0x014C($s0) ## 0000014C
|
||||
.L80A07C90:
|
||||
/* 00300 80A07C90 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A07C94:
|
||||
/* 00304 80A07C94 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00308 80A07C98 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 0030C 80A07C9C 03E00008 */ jr $ra
|
||||
/* 00310 80A07CA0 00000000 */ nop
|
|
@ -1,469 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A08C1C
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08C4C
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08C7C
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08CAC
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08CDC
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A08D54
|
||||
.float 1500.0
|
||||
|
||||
glabel D_80A08D58
|
||||
.word 0xC4A14000
|
||||
glabel D_80A08D5C
|
||||
.word 0xC5714000
|
||||
glabel D_80A08D60
|
||||
.float 0.005
|
||||
|
||||
glabel D_80A08D64
|
||||
.word 0x3BE56042
|
||||
glabel D_80A08D68
|
||||
.float 1.99000000954
|
||||
|
||||
glabel D_80A08D6C
|
||||
.word 0x407F5C29
|
||||
|
||||
.text
|
||||
glabel func_80A07CA4
|
||||
/* 00314 80A07CA4 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
|
||||
/* 00318 80A07CA8 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 0031C 80A07CAC AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 00320 80A07CB0 8CB91C44 */ lw $t9, 0x1C44($a1) ## 00001C44
|
||||
/* 00324 80A07CB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00328 80A07CB8 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 0032C 80A07CBC AFB90094 */ sw $t9, 0x0094($sp)
|
||||
/* 00330 80A07CC0 84880178 */ lh $t0, 0x0178($a0) ## 00000178
|
||||
/* 00334 80A07CC4 240B003C */ addiu $t3, $zero, 0x003C ## $t3 = 0000003C
|
||||
/* 00338 80A07CC8 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 0033C 80A07CCC A4890178 */ sh $t1, 0x0178($a0) ## 00000178
|
||||
/* 00340 80A07CD0 848A0178 */ lh $t2, 0x0178($a0) ## 00000178
|
||||
/* 00344 80A07CD4 2941003D */ slti $at, $t2, 0x003D
|
||||
/* 00348 80A07CD8 54200003 */ bnel $at, $zero, .L80A07CE8
|
||||
/* 0034C 80A07CDC A7A00060 */ sh $zero, 0x0060($sp)
|
||||
/* 00350 80A07CE0 A48B0178 */ sh $t3, 0x0178($a0) ## 00000178
|
||||
/* 00354 80A07CE4 A7A00060 */ sh $zero, 0x0060($sp)
|
||||
.L80A07CE8:
|
||||
/* 00358 80A07CE8 860C015A */ lh $t4, 0x015A($s0) ## 0000015A
|
||||
/* 0035C 80A07CEC 3C01442F */ lui $at, 0x442F ## $at = 442F0000
|
||||
/* 00360 80A07CF0 55800036 */ bnel $t4, $zero, .L80A07DCC
|
||||
/* 00364 80A07CF4 AFA6009C */ sw $a2, 0x009C($sp)
|
||||
/* 00368 80A07CF8 860D0154 */ lh $t5, 0x0154($s0) ## 00000154
|
||||
/* 0036C 80A07CFC 8FB80094 */ lw $t8, 0x0094($sp)
|
||||
/* 00370 80A07D00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00374 80A07D04 15A00007 */ bne $t5, $zero, .L80A07D24
|
||||
/* 00378 80A07D08 24052049 */ addiu $a1, $zero, 0x2049 ## $a1 = 00002049
|
||||
/* 0037C 80A07D0C 3C0F80A0 */ lui $t7, %hi(func_80A07A4C) ## $t7 = 80A00000
|
||||
/* 00380 80A07D10 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
|
||||
/* 00384 80A07D14 25EF7A4C */ addiu $t7, $t7, %lo(func_80A07A4C) ## $t7 = 80A07A4C
|
||||
/* 00388 80A07D18 A60E0154 */ sh $t6, 0x0154($s0) ## 00000154
|
||||
/* 0038C 80A07D1C 1000015D */ beq $zero, $zero, .L80A08294
|
||||
/* 00390 80A07D20 AE0F014C */ sw $t7, 0x014C($s0) ## 0000014C
|
||||
.L80A07D24:
|
||||
/* 00394 80A07D24 3C0180A1 */ lui $at, %hi(D_80A08D54) ## $at = 80A10000
|
||||
/* 00398 80A07D28 C4248D54 */ lwc1 $f4, %lo(D_80A08D54)($at)
|
||||
/* 0039C 80A07D2C C70A0028 */ lwc1 $f10, 0x0028($t8) ## 00000028
|
||||
/* 003A0 80A07D30 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000
|
||||
/* 003A4 80A07D34 460A203C */ c.lt.s $f4, $f10
|
||||
/* 003A8 80A07D38 00000000 */ nop
|
||||
/* 003AC 80A07D3C 4500001E */ bc1f .L80A07DB8
|
||||
/* 003B0 80A07D40 00000000 */ nop
|
||||
/* 003B4 80A07D44 C7000024 */ lwc1 $f0, 0x0024($t8) ## 00000024
|
||||
/* 003B8 80A07D48 44813000 */ mtc1 $at, $f6 ## $f6 = -700.00
|
||||
/* 003BC 80A07D4C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 003C0 80A07D50 4600303C */ c.lt.s $f6, $f0
|
||||
/* 003C4 80A07D54 00000000 */ nop
|
||||
/* 003C8 80A07D58 45000017 */ bc1f .L80A07DB8
|
||||
/* 003CC 80A07D5C 00000000 */ nop
|
||||
/* 003D0 80A07D60 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
|
||||
/* 003D4 80A07D64 3C0180A1 */ lui $at, %hi(D_80A08D58) ## $at = 80A10000
|
||||
/* 003D8 80A07D68 4608003C */ c.lt.s $f0, $f8
|
||||
/* 003DC 80A07D6C 00000000 */ nop
|
||||
/* 003E0 80A07D70 45000011 */ bc1f .L80A07DB8
|
||||
/* 003E4 80A07D74 00000000 */ nop
|
||||
/* 003E8 80A07D78 C700002C */ lwc1 $f0, 0x002C($t8) ## 0000002C
|
||||
/* 003EC 80A07D7C C4248D58 */ lwc1 $f4, %lo(D_80A08D58)($at)
|
||||
/* 003F0 80A07D80 3C0180A1 */ lui $at, %hi(D_80A08D5C) ## $at = 80A10000
|
||||
/* 003F4 80A07D84 4604003C */ c.lt.s $f0, $f4
|
||||
/* 003F8 80A07D88 00000000 */ nop
|
||||
/* 003FC 80A07D8C 4500000A */ bc1f .L80A07DB8
|
||||
/* 00400 80A07D90 00000000 */ nop
|
||||
/* 00404 80A07D94 C42A8D5C */ lwc1 $f10, %lo(D_80A08D5C)($at)
|
||||
/* 00408 80A07D98 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 0040C 80A07D9C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00410 80A07DA0 4600503C */ c.lt.s $f10, $f0
|
||||
/* 00414 80A07DA4 00000000 */ nop
|
||||
/* 00418 80A07DA8 45000003 */ bc1f .L80A07DB8
|
||||
/* 0041C 80A07DAC 00000000 */ nop
|
||||
/* 00420 80A07DB0 A7B9005E */ sh $t9, 0x005E($sp)
|
||||
/* 00424 80A07DB4 A7A80060 */ sh $t0, 0x0060($sp)
|
||||
.L80A07DB8:
|
||||
/* 00428 80A07DB8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 0042C 80A07DBC AFA6009C */ sw $a2, 0x009C($sp)
|
||||
/* 00430 80A07DC0 10000020 */ beq $zero, $zero, .L80A07E44
|
||||
/* 00434 80A07DC4 87AD0060 */ lh $t5, 0x0060($sp)
|
||||
/* 00438 80A07DC8 AFA6009C */ sw $a2, 0x009C($sp)
|
||||
.L80A07DCC:
|
||||
/* 0043C 80A07DCC C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
|
||||
/* 00440 80A07DD0 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00
|
||||
/* 00444 80A07DD4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00448 80A07DD8 24050037 */ addiu $a1, $zero, 0x0037 ## $a1 = 00000037
|
||||
/* 0044C 80A07DDC 4608303C */ c.lt.s $f6, $f8
|
||||
/* 00450 80A07DE0 00000000 */ nop
|
||||
/* 00454 80A07DE4 45020017 */ bc1fl .L80A07E44
|
||||
/* 00458 80A07DE8 87AD0060 */ lh $t5, 0x0060($sp)
|
||||
/* 0045C 80A07DEC 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00460 80A07DF0 AFA6009C */ sw $a2, 0x009C($sp)
|
||||
/* 00464 80A07DF4 10400012 */ beq $v0, $zero, .L80A07E40
|
||||
/* 00468 80A07DF8 8FA9009C */ lw $t1, 0x009C($sp)
|
||||
/* 0046C 80A07DFC 852200A4 */ lh $v0, 0x00A4($t1) ## 000000A4
|
||||
/* 00470 80A07E00 2401004F */ addiu $at, $zero, 0x004F ## $at = 0000004F
|
||||
/* 00474 80A07E04 10410007 */ beq $v0, $at, .L80A07E24
|
||||
/* 00478 80A07E08 2401001A */ addiu $at, $zero, 0x001A ## $at = 0000001A
|
||||
/* 0047C 80A07E0C 10410005 */ beq $v0, $at, .L80A07E24
|
||||
/* 00480 80A07E10 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 00484 80A07E14 10410003 */ beq $v0, $at, .L80A07E24
|
||||
/* 00488 80A07E18 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 0048C 80A07E1C 54410009 */ bnel $v0, $at, .L80A07E44
|
||||
/* 00490 80A07E20 87AD0060 */ lh $t5, 0x0060($sp)
|
||||
.L80A07E24:
|
||||
/* 00494 80A07E24 860A015C */ lh $t2, 0x015C($s0) ## 0000015C
|
||||
/* 00498 80A07E28 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 0049C 80A07E2C 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
|
||||
/* 004A0 80A07E30 55400004 */ bnel $t2, $zero, .L80A07E44
|
||||
/* 004A4 80A07E34 87AD0060 */ lh $t5, 0x0060($sp)
|
||||
/* 004A8 80A07E38 A7AB005E */ sh $t3, 0x005E($sp)
|
||||
/* 004AC 80A07E3C A7AC0060 */ sh $t4, 0x0060($sp)
|
||||
.L80A07E40:
|
||||
/* 004B0 80A07E40 87AD0060 */ lh $t5, 0x0060($sp)
|
||||
.L80A07E44:
|
||||
/* 004B4 80A07E44 8FA6009C */ lw $a2, 0x009C($sp)
|
||||
/* 004B8 80A07E48 51A00113 */ beql $t5, $zero, .L80A08298
|
||||
/* 004BC 80A07E4C 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 004C0 80A07E50 C4C200E0 */ lwc1 $f2, 0x00E0($a2) ## 000000E0
|
||||
/* 004C4 80A07E54 C4C400EC */ lwc1 $f4, 0x00EC($a2) ## 000000EC
|
||||
/* 004C8 80A07E58 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 004CC 80A07E5C 46022281 */ sub.s $f10, $f4, $f2
|
||||
/* 004D0 80A07E60 E7AA008C */ swc1 $f10, 0x008C($sp)
|
||||
/* 004D4 80A07E64 C4C600F0 */ lwc1 $f6, 0x00F0($a2) ## 000000F0
|
||||
/* 004D8 80A07E68 C4CE00E4 */ lwc1 $f14, 0x00E4($a2) ## 000000E4
|
||||
/* 004DC 80A07E6C 460E3201 */ sub.s $f8, $f6, $f14
|
||||
/* 004E0 80A07E70 C7A6008C */ lwc1 $f6, 0x008C($sp)
|
||||
/* 004E4 80A07E74 E7A80088 */ swc1 $f8, 0x0088($sp)
|
||||
/* 004E8 80A07E78 C4C400F4 */ lwc1 $f4, 0x00F4($a2) ## 000000F4
|
||||
/* 004EC 80A07E7C C4D000E8 */ lwc1 $f16, 0x00E8($a2) ## 000000E8
|
||||
/* 004F0 80A07E80 46063202 */ mul.s $f8, $f6, $f6
|
||||
/* 004F4 80A07E84 E7A60040 */ swc1 $f6, 0x0040($sp)
|
||||
/* 004F8 80A07E88 46102281 */ sub.s $f10, $f4, $f16
|
||||
/* 004FC 80A07E8C C7A40088 */ lwc1 $f4, 0x0088($sp)
|
||||
/* 00500 80A07E90 AFA6009C */ sw $a2, 0x009C($sp)
|
||||
/* 00504 80A07E94 E7AA0084 */ swc1 $f10, 0x0084($sp)
|
||||
/* 00508 80A07E98 46042282 */ mul.s $f10, $f4, $f4
|
||||
/* 0050C 80A07E9C 460A4200 */ add.s $f8, $f8, $f10
|
||||
/* 00510 80A07EA0 C7AA0084 */ lwc1 $f10, 0x0084($sp)
|
||||
/* 00514 80A07EA4 460A5182 */ mul.s $f6, $f10, $f10
|
||||
/* 00518 80A07EA8 46064000 */ add.s $f0, $f8, $f6
|
||||
/* 0051C 80A07EAC C7A80040 */ lwc1 $f8, 0x0040($sp)
|
||||
/* 00520 80A07EB0 46000004 */ sqrt.s $f0, $f0
|
||||
/* 00524 80A07EB4 46004483 */ div.s $f18, $f8, $f0
|
||||
/* 00528 80A07EB8 44814000 */ mtc1 $at, $f8 ## $f8 = 300.00
|
||||
/* 0052C 80A07EBC 3C014320 */ lui $at, 0x4320 ## $at = 43200000
|
||||
/* 00530 80A07EC0 46005183 */ div.s $f6, $f10, $f0
|
||||
/* 00534 80A07EC4 E7B2007C */ swc1 $f18, 0x007C($sp)
|
||||
/* 00538 80A07EC8 46089282 */ mul.s $f10, $f18, $f8
|
||||
/* 0053C 80A07ECC 460A1200 */ add.s $f8, $f2, $f10
|
||||
/* 00540 80A07ED0 E7A60048 */ swc1 $f6, 0x0048($sp)
|
||||
/* 00544 80A07ED4 E7A60074 */ swc1 $f6, 0x0074($sp)
|
||||
/* 00548 80A07ED8 46002283 */ div.s $f10, $f4, $f0
|
||||
/* 0054C 80A07EDC E7A8008C */ swc1 $f8, 0x008C($sp)
|
||||
/* 00550 80A07EE0 44814000 */ mtc1 $at, $f8 ## $f8 = 160.00
|
||||
/* 00554 80A07EE4 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
|
||||
/* 00558 80A07EE8 46085102 */ mul.s $f4, $f10, $f8
|
||||
/* 0055C 80A07EEC 44814000 */ mtc1 $at, $f8 ## $f8 = 400.00
|
||||
/* 00560 80A07EF0 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 00564 80A07EF4 46047280 */ add.s $f10, $f14, $f4
|
||||
/* 00568 80A07EF8 46085100 */ add.s $f4, $f10, $f8
|
||||
/* 0056C 80A07EFC 44815000 */ mtc1 $at, $f10 ## $f10 = 300.00
|
||||
/* 00570 80A07F00 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00574 80A07F04 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
/* 00578 80A07F08 460A3202 */ mul.s $f8, $f6, $f10
|
||||
/* 0057C 80A07F0C E7A40088 */ swc1 $f4, 0x0088($sp)
|
||||
/* 00580 80A07F10 46088100 */ add.s $f4, $f16, $f8
|
||||
/* 00584 80A07F14 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00588 80A07F18 E7A40084 */ swc1 $f4, 0x0084($sp)
|
||||
/* 0058C 80A07F1C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00590 80A07F20 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
|
||||
/* 00594 80A07F24 C7A6007C */ lwc1 $f6, 0x007C($sp)
|
||||
/* 00598 80A07F28 8FAE009C */ lw $t6, 0x009C($sp)
|
||||
/* 0059C 80A07F2C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 005A0 80A07F30 460A3202 */ mul.s $f8, $f6, $f10
|
||||
/* 005A4 80A07F34 C5C400E0 */ lwc1 $f4, 0x00E0($t6) ## 000000E0
|
||||
/* 005A8 80A07F38 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
/* 005AC 80A07F3C 46082180 */ add.s $f6, $f4, $f8
|
||||
/* 005B0 80A07F40 46060280 */ add.s $f10, $f0, $f6
|
||||
/* 005B4 80A07F44 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 005B8 80A07F48 E7AA0064 */ swc1 $f10, 0x0064($sp)
|
||||
/* 005BC 80A07F4C C7A40088 */ lwc1 $f4, 0x0088($sp)
|
||||
/* 005C0 80A07F50 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 005C4 80A07F54 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
/* 005C8 80A07F58 46040200 */ add.s $f8, $f0, $f4
|
||||
/* 005CC 80A07F5C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 005D0 80A07F60 E7A80068 */ swc1 $f8, 0x0068($sp)
|
||||
/* 005D4 80A07F64 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 005D8 80A07F68 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
|
||||
/* 005DC 80A07F6C C7A60074 */ lwc1 $f6, 0x0074($sp)
|
||||
/* 005E0 80A07F70 8FAF009C */ lw $t7, 0x009C($sp)
|
||||
/* 005E4 80A07F74 3C0180A1 */ lui $at, %hi(D_80A08D60) ## $at = 80A10000
|
||||
/* 005E8 80A07F78 460A3102 */ mul.s $f4, $f6, $f10
|
||||
/* 005EC 80A07F7C C5E800E8 */ lwc1 $f8, 0x00E8($t7) ## 000000E8
|
||||
/* 005F0 80A07F80 C42C8D60 */ lwc1 $f12, %lo(D_80A08D60)($at)
|
||||
/* 005F4 80A07F84 46044180 */ add.s $f6, $f8, $f4
|
||||
/* 005F8 80A07F88 46060280 */ add.s $f10, $f0, $f6
|
||||
/* 005FC 80A07F8C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00600 80A07F90 E7AA006C */ swc1 $f10, 0x006C($sp)
|
||||
/* 00604 80A07F94 3C0180A1 */ lui $at, %hi(D_80A08D64) ## $at = 80A10000
|
||||
/* 00608 80A07F98 C4288D64 */ lwc1 $f8, %lo(D_80A08D64)($at)
|
||||
/* 0060C 80A07F9C 87B80060 */ lh $t8, 0x0060($sp)
|
||||
/* 00610 80A07FA0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00614 80A07FA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00618 80A07FA8 17010006 */ bne $t8, $at, .L80A07FC4
|
||||
/* 0061C 80A07FAC 46080080 */ add.s $f2, $f0, $f8
|
||||
/* 00620 80A07FB0 44061000 */ mfc1 $a2, $f2
|
||||
/* 00624 80A07FB4 0C2821A5 */ jal func_80A08694
|
||||
/* 00628 80A07FB8 27A50064 */ addiu $a1, $sp, 0x0064 ## $a1 = FFFFFFCC
|
||||
/* 0062C 80A07FBC 1000000B */ beq $zero, $zero, .L80A07FEC
|
||||
/* 00630 80A07FC0 86090158 */ lh $t1, 0x0158($s0) ## 00000158
|
||||
.L80A07FC4:
|
||||
/* 00634 80A07FC4 8619015E */ lh $t9, 0x015E($s0) ## 0000015E
|
||||
/* 00638 80A07FC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0063C 80A07FCC 57200007 */ bnel $t9, $zero, .L80A07FEC
|
||||
/* 00640 80A07FD0 86090158 */ lh $t1, 0x0158($s0) ## 00000158
|
||||
/* 00644 80A07FD4 44061000 */ mfc1 $a2, $f2
|
||||
/* 00648 80A07FD8 0C2821A5 */ jal func_80A08694
|
||||
/* 0064C 80A07FDC 27A50064 */ addiu $a1, $sp, 0x0064 ## $a1 = FFFFFFCC
|
||||
/* 00650 80A07FE0 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
|
||||
/* 00654 80A07FE4 A608015E */ sh $t0, 0x015E($s0) ## 0000015E
|
||||
/* 00658 80A07FE8 86090158 */ lh $t1, 0x0158($s0) ## 00000158
|
||||
.L80A07FEC:
|
||||
/* 0065C 80A07FEC 87AA005E */ lh $t2, 0x005E($sp)
|
||||
/* 00660 80A07FF0 012A082A */ slt $at, $t1, $t2
|
||||
/* 00664 80A07FF4 502000A8 */ beql $at, $zero, .L80A08298
|
||||
/* 00668 80A07FF8 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 0066C 80A07FFC 860B0156 */ lh $t3, 0x0156($s0) ## 00000156
|
||||
/* 00670 80A08000 87AC0060 */ lh $t4, 0x0060($sp)
|
||||
/* 00674 80A08004 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00678 80A08008 556000A3 */ bnel $t3, $zero, .L80A08298
|
||||
/* 0067C 80A0800C 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 00680 80A08010 15810054 */ bne $t4, $at, .L80A08164
|
||||
/* 00684 80A08014 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032
|
||||
/* 00688 80A08018 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
|
||||
/* 0068C 80A0801C A60D0156 */ sh $t5, 0x0156($s0) ## 00000156
|
||||
/* 00690 80A08020 3C0180A1 */ lui $at, %hi(D_80A08D68) ## $at = 80A10000
|
||||
/* 00694 80A08024 A7A00062 */ sh $zero, 0x0062($sp)
|
||||
/* 00698 80A08028 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 0069C 80A0802C C42C8D68 */ lwc1 $f12, %lo(D_80A08D68)($at)
|
||||
/* 006A0 80A08030 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 006A4 80A08034 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 006A8 80A08038 3C0E8016 */ lui $t6, %hi(gSaveContext+4)
|
||||
/* 006AC 80A0803C 8FB90094 */ lw $t9, 0x0094($sp)
|
||||
/* 006B0 80A08040 4604003C */ c.lt.s $f0, $f4
|
||||
/* 006B4 80A08044 00000000 */ nop
|
||||
/* 006B8 80A08048 45020015 */ bc1fl .L80A080A0
|
||||
/* 006BC 80A0804C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 006C0 80A08050 8DCEE664 */ lw $t6, %lo(gSaveContext+4)($t6)
|
||||
/* 006C4 80A08054 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 006C8 80A08058 51C00011 */ beql $t6, $zero, .L80A080A0
|
||||
/* 006CC 80A0805C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 006D0 80A08060 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 006D4 80A08064 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 006D8 80A08068 00000000 */ nop
|
||||
/* 006DC 80A0806C 8FAF0094 */ lw $t7, 0x0094($sp)
|
||||
/* 006E0 80A08070 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 006E4 80A08074 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 006E8 80A08078 C5E60024 */ lwc1 $f6, 0x0024($t7) ## 00000024
|
||||
/* 006EC 80A0807C 46060280 */ add.s $f10, $f0, $f6
|
||||
/* 006F0 80A08080 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 006F4 80A08084 E7AA007C */ swc1 $f10, 0x007C($sp)
|
||||
/* 006F8 80A08088 8FB80094 */ lw $t8, 0x0094($sp)
|
||||
/* 006FC 80A0808C C708002C */ lwc1 $f8, 0x002C($t8) ## 0000002C
|
||||
/* 00700 80A08090 46080100 */ add.s $f4, $f0, $f8
|
||||
/* 00704 80A08094 1000005A */ beq $zero, $zero, .L80A08200
|
||||
/* 00708 80A08098 E7A40074 */ swc1 $f4, 0x0074($sp)
|
||||
/* 0070C 80A0809C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
.L80A080A0:
|
||||
/* 00710 80A080A0 C72A0838 */ lwc1 $f10, 0x0838($t9) ## 00000838
|
||||
/* 00714 80A080A4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00718 80A080A8 460A3032 */ c.eq.s $f6, $f10
|
||||
/* 0071C 80A080AC 00000000 */ nop
|
||||
/* 00720 80A080B0 4503001C */ bc1tl .L80A08124
|
||||
/* 00724 80A080B4 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00728 80A080B8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 0072C 80A080BC 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
/* 00730 80A080C0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00734 80A080C4 00000000 */ nop
|
||||
/* 00738 80A080C8 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 0073C 80A080CC 44812000 */ mtc1 $at, $f4 ## $f4 = 300.00
|
||||
/* 00740 80A080D0 C7A8007C */ lwc1 $f8, 0x007C($sp)
|
||||
/* 00744 80A080D4 8FA8009C */ lw $t0, 0x009C($sp)
|
||||
/* 00748 80A080D8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 0074C 80A080DC 46044182 */ mul.s $f6, $f8, $f4
|
||||
/* 00750 80A080E0 C50A00E0 */ lwc1 $f10, 0x00E0($t0) ## 000000E0
|
||||
/* 00754 80A080E4 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
/* 00758 80A080E8 46065200 */ add.s $f8, $f10, $f6
|
||||
/* 0075C 80A080EC 46080100 */ add.s $f4, $f0, $f8
|
||||
/* 00760 80A080F0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00764 80A080F4 E7A4007C */ swc1 $f4, 0x007C($sp)
|
||||
/* 00768 80A080F8 3C014416 */ lui $at, 0x4416 ## $at = 44160000
|
||||
/* 0076C 80A080FC 44813000 */ mtc1 $at, $f6 ## $f6 = 600.00
|
||||
/* 00770 80A08100 C7AA0074 */ lwc1 $f10, 0x0074($sp)
|
||||
/* 00774 80A08104 8FA9009C */ lw $t1, 0x009C($sp)
|
||||
/* 00778 80A08108 46065202 */ mul.s $f8, $f10, $f6
|
||||
/* 0077C 80A0810C C52400E8 */ lwc1 $f4, 0x00E8($t1) ## 000000E8
|
||||
/* 00780 80A08110 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 00784 80A08114 460A0180 */ add.s $f6, $f0, $f10
|
||||
/* 00788 80A08118 1000000F */ beq $zero, $zero, .L80A08158
|
||||
/* 0078C 80A0811C E7A60074 */ swc1 $f6, 0x0074($sp)
|
||||
/* 00790 80A08120 44816000 */ mtc1 $at, $f12 ## $f12 = 600.00
|
||||
.L80A08124:
|
||||
/* 00794 80A08124 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00798 80A08128 00000000 */ nop
|
||||
/* 0079C 80A0812C 8FAA0094 */ lw $t2, 0x0094($sp)
|
||||
/* 007A0 80A08130 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 007A4 80A08134 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 007A8 80A08138 C5440024 */ lwc1 $f4, 0x0024($t2) ## 00000024
|
||||
/* 007AC 80A0813C 46040200 */ add.s $f8, $f0, $f4
|
||||
/* 007B0 80A08140 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 007B4 80A08144 E7A8007C */ swc1 $f8, 0x007C($sp)
|
||||
/* 007B8 80A08148 8FAB0094 */ lw $t3, 0x0094($sp)
|
||||
/* 007BC 80A0814C C56A002C */ lwc1 $f10, 0x002C($t3) ## 0000002C
|
||||
/* 007C0 80A08150 460A0180 */ add.s $f6, $f0, $f10
|
||||
/* 007C4 80A08154 E7A60074 */ swc1 $f6, 0x0074($sp)
|
||||
.L80A08158:
|
||||
/* 007C8 80A08158 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
|
||||
/* 007CC 80A0815C 10000028 */ beq $zero, $zero, .L80A08200
|
||||
/* 007D0 80A08160 A7AC0062 */ sh $t4, 0x0062($sp)
|
||||
.L80A08164:
|
||||
/* 007D4 80A08164 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 007D8 80A08168 A60D0156 */ sh $t5, 0x0156($s0) ## 00000156
|
||||
/* 007DC 80A0816C 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
|
||||
/* 007E0 80A08170 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
|
||||
/* 007E4 80A08174 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 007E8 80A08178 A7AE0062 */ sh $t6, 0x0062($sp)
|
||||
/* 007EC 80A0817C C7A4008C */ lwc1 $f4, 0x008C($sp)
|
||||
/* 007F0 80A08180 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 007F4 80A08184 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
|
||||
/* 007F8 80A08188 46040200 */ add.s $f8, $f0, $f4
|
||||
/* 007FC 80A0818C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00800 80A08190 E7A8007C */ swc1 $f8, 0x007C($sp)
|
||||
/* 00804 80A08194 C7AA0084 */ lwc1 $f10, 0x0084($sp)
|
||||
/* 00808 80A08198 3C0180A1 */ lui $at, %hi(D_80A08D6C) ## $at = 80A10000
|
||||
/* 0080C 80A0819C C42C8D6C */ lwc1 $f12, %lo(D_80A08D6C)($at)
|
||||
/* 00810 80A081A0 460A0180 */ add.s $f6, $f0, $f10
|
||||
/* 00814 80A081A4 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00818 80A081A8 E7A60074 */ swc1 $f6, 0x0074($sp)
|
||||
/* 0081C 80A081AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00820 80A081B0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00824 80A081B4 3C01428C */ lui $at, 0x428C ## $at = 428C0000
|
||||
/* 00828 80A081B8 4604003C */ c.lt.s $f0, $f4
|
||||
/* 0082C 80A081BC 00000000 */ nop
|
||||
/* 00830 80A081C0 45020010 */ bc1fl .L80A08204
|
||||
/* 00834 80A081C4 8FA6009C */ lw $a2, 0x009C($sp)
|
||||
/* 00838 80A081C8 44816000 */ mtc1 $at, $f12 ## $f12 = 70.00
|
||||
/* 0083C 80A081CC 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00840 80A081D0 00000000 */ nop
|
||||
/* 00844 80A081D4 8FAF0094 */ lw $t7, 0x0094($sp)
|
||||
/* 00848 80A081D8 3C01428C */ lui $at, 0x428C ## $at = 428C0000
|
||||
/* 0084C 80A081DC 44816000 */ mtc1 $at, $f12 ## $f12 = 70.00
|
||||
/* 00850 80A081E0 C5E80024 */ lwc1 $f8, 0x0024($t7) ## 00000024
|
||||
/* 00854 80A081E4 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00858 80A081E8 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 0085C 80A081EC E7AA007C */ swc1 $f10, 0x007C($sp)
|
||||
/* 00860 80A081F0 8FB80094 */ lw $t8, 0x0094($sp)
|
||||
/* 00864 80A081F4 C706002C */ lwc1 $f6, 0x002C($t8) ## 0000002C
|
||||
/* 00868 80A081F8 46060100 */ add.s $f4, $f0, $f6
|
||||
/* 0086C 80A081FC E7A40074 */ swc1 $f4, 0x0074($sp)
|
||||
.L80A08200:
|
||||
/* 00870 80A08200 8FA6009C */ lw $a2, 0x009C($sp)
|
||||
.L80A08204:
|
||||
/* 00874 80A08204 C7A8007C */ lwc1 $f8, 0x007C($sp)
|
||||
/* 00878 80A08208 C7AA0088 */ lwc1 $f10, 0x0088($sp)
|
||||
/* 0087C 80A0820C C7A60074 */ lwc1 $f6, 0x0074($sp)
|
||||
/* 00880 80A08210 87B90062 */ lh $t9, 0x0062($sp)
|
||||
/* 00884 80A08214 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00888 80A08218 240700B5 */ addiu $a3, $zero, 0x00B5 ## $a3 = 000000B5
|
||||
/* 0088C 80A0821C AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00890 80A08220 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00894 80A08224 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00898 80A08228 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
|
||||
/* 0089C 80A0822C E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 008A0 80A08230 E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 008A4 80A08234 E7A60018 */ swc1 $f6, 0x0018($sp)
|
||||
/* 008A8 80A08238 0C00C916 */ jal Actor_SpawnAsChild
|
||||
|
||||
/* 008AC 80A0823C AFB90028 */ sw $t9, 0x0028($sp)
|
||||
/* 008B0 80A08240 10400006 */ beq $v0, $zero, .L80A0825C
|
||||
/* 008B4 80A08244 3C0480A1 */ lui $a0, %hi(D_80A08C1C) ## $a0 = 80A10000
|
||||
/* 008B8 80A08248 AC500190 */ sw $s0, 0x0190($v0) ## 00000190
|
||||
/* 008BC 80A0824C 86080158 */ lh $t0, 0x0158($s0) ## 00000158
|
||||
/* 008C0 80A08250 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 008C4 80A08254 1000000F */ beq $zero, $zero, .L80A08294
|
||||
/* 008C8 80A08258 A6090158 */ sh $t1, 0x0158($s0) ## 00000158
|
||||
.L80A0825C:
|
||||
/* 008CC 80A0825C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 008D0 80A08260 24848C1C */ addiu $a0, $a0, %lo(D_80A08C1C) ## $a0 = 80A08C1C
|
||||
/* 008D4 80A08264 3C0480A1 */ lui $a0, %hi(D_80A08C4C) ## $a0 = 80A10000
|
||||
/* 008D8 80A08268 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 008DC 80A0826C 24848C4C */ addiu $a0, $a0, %lo(D_80A08C4C) ## $a0 = 80A08C4C
|
||||
/* 008E0 80A08270 3C0480A1 */ lui $a0, %hi(D_80A08C7C) ## $a0 = 80A10000
|
||||
/* 008E4 80A08274 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 008E8 80A08278 24848C7C */ addiu $a0, $a0, %lo(D_80A08C7C) ## $a0 = 80A08C7C
|
||||
/* 008EC 80A0827C 3C0480A1 */ lui $a0, %hi(D_80A08CAC) ## $a0 = 80A10000
|
||||
/* 008F0 80A08280 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 008F4 80A08284 24848CAC */ addiu $a0, $a0, %lo(D_80A08CAC) ## $a0 = 80A08CAC
|
||||
/* 008F8 80A08288 3C0480A1 */ lui $a0, %hi(D_80A08CDC) ## $a0 = 80A10000
|
||||
/* 008FC 80A0828C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00900 80A08290 24848CDC */ addiu $a0, $a0, %lo(D_80A08CDC) ## $a0 = 80A08CDC
|
||||
.L80A08294:
|
||||
/* 00904 80A08294 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L80A08298:
|
||||
/* 00908 80A08298 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 0090C 80A0829C 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
|
||||
/* 00910 80A082A0 03E00008 */ jr $ra
|
||||
/* 00914 80A082A4 00000000 */ nop
|
|
@ -1,51 +0,0 @@
|
|||
glabel func_80A08694
|
||||
/* 00D04 80A08694 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00D08 80A08698 44867000 */ mtc1 $a2, $f14 ## $f14 = 0.00
|
||||
/* 00D0C 80A0869C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D10 80A086A0 24830188 */ addiu $v1, $a0, 0x0188 ## $v1 = 00000188
|
||||
/* 00D14 80A086A4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A086A8:
|
||||
/* 00D18 80A086A8 906E0010 */ lbu $t6, 0x0010($v1) ## 00000198
|
||||
/* 00D1C 80A086AC 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 00D20 80A086B0 00021400 */ sll $v0, $v0, 16
|
||||
/* 00D24 80A086B4 15C0001D */ bne $t6, $zero, .L80A0872C
|
||||
/* 00D28 80A086B8 00021403 */ sra $v0, $v0, 16
|
||||
/* 00D2C 80A086BC 8CB80000 */ lw $t8, 0x0000($a1) ## 00000000
|
||||
/* 00D30 80A086C0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00D34 80A086C4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00D38 80A086C8 AC780000 */ sw $t8, 0x0000($v1) ## 00000188
|
||||
/* 00D3C 80A086CC 8CAF0004 */ lw $t7, 0x0004($a1) ## 00000004
|
||||
/* 00D40 80A086D0 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
|
||||
/* 00D44 80A086D4 AC6F0004 */ sw $t7, 0x0004($v1) ## 0000018C
|
||||
/* 00D48 80A086D8 8CB80008 */ lw $t8, 0x0008($a1) ## 00000008
|
||||
/* 00D4C 80A086DC E46E000C */ swc1 $f14, 0x000C($v1) ## 00000194
|
||||
/* 00D50 80A086E0 E4600020 */ swc1 $f0, 0x0020($v1) ## 000001A8
|
||||
/* 00D54 80A086E4 E4600024 */ swc1 $f0, 0x0024($v1) ## 000001AC
|
||||
/* 00D58 80A086E8 E4600028 */ swc1 $f0, 0x0028($v1) ## 000001B0
|
||||
/* 00D5C 80A086EC AC780008 */ sw $t8, 0x0008($v1) ## 00000190
|
||||
/* 00D60 80A086F0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00D64 80A086F4 AFA3001C */ sw $v1, 0x001C($sp)
|
||||
/* 00D68 80A086F8 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
|
||||
/* 00D6C 80A086FC 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 00D70 80A08700 44812000 */ mtc1 $at, $f4 ## $f4 = -20.00
|
||||
/* 00D74 80A08704 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00D78 80A08708 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
|
||||
/* 00D7C 80A0870C E4600014 */ swc1 $f0, 0x0014($v1) ## 00000014
|
||||
/* 00D80 80A08710 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00D84 80A08714 E4640018 */ swc1 $f4, 0x0018($v1) ## 00000018
|
||||
/* 00D88 80A08718 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 00D8C 80A0871C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00D90 80A08720 E460001C */ swc1 $f0, 0x001C($v1) ## 0000001C
|
||||
/* 00D94 80A08724 10000004 */ beq $zero, $zero, .L80A08738
|
||||
/* 00D98 80A08728 A0790010 */ sb $t9, 0x0010($v1) ## 00000010
|
||||
.L80A0872C:
|
||||
/* 00D9C 80A0872C 28410032 */ slti $at, $v0, 0x0032
|
||||
/* 00DA0 80A08730 1420FFDD */ bne $at, $zero, .L80A086A8
|
||||
/* 00DA4 80A08734 2463002C */ addiu $v1, $v1, 0x002C ## $v1 = 0000002C
|
||||
.L80A08738:
|
||||
/* 00DA8 80A08738 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00DAC 80A0873C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00DB0 80A08740 03E00008 */ jr $ra
|
||||
/* 00DB4 80A08744 00000000 */ nop
|
|
@ -1,140 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A08D70
|
||||
.float 0.8
|
||||
|
||||
glabel D_80A08D74
|
||||
.float 0.3
|
||||
|
||||
glabel D_80A08D78
|
||||
.float 1500.0
|
||||
|
||||
.text
|
||||
glabel func_80A08748
|
||||
/* 00DB8 80A08748 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 00DBC 80A0874C F7BE0040 */ sdc1 $f30, 0x0040($sp)
|
||||
/* 00DC0 80A08750 3C0180A1 */ lui $at, %hi(D_80A08D70) ## $at = 80A10000
|
||||
/* 00DC4 80A08754 C43E8D70 */ lwc1 $f30, %lo(D_80A08D70)($at)
|
||||
/* 00DC8 80A08758 F7BC0038 */ sdc1 $f28, 0x0038($sp)
|
||||
/* 00DCC 80A0875C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00DD0 80A08760 4481E000 */ mtc1 $at, $f28 ## $f28 = 30.00
|
||||
/* 00DD4 80A08764 F7BA0030 */ sdc1 $f26, 0x0030($sp)
|
||||
/* 00DD8 80A08768 3C0180A1 */ lui $at, %hi(D_80A08D74) ## $at = 80A10000
|
||||
/* 00DDC 80A0876C C43A8D74 */ lwc1 $f26, %lo(D_80A08D74)($at)
|
||||
/* 00DE0 80A08770 AFB40058 */ sw $s4, 0x0058($sp)
|
||||
/* 00DE4 80A08774 AFB30054 */ sw $s3, 0x0054($sp)
|
||||
/* 00DE8 80A08778 AFB1004C */ sw $s1, 0x004C($sp)
|
||||
/* 00DEC 80A0877C AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 00DF0 80A08780 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 00DF4 80A08784 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 00DF8 80A08788 AFBF005C */ sw $ra, 0x005C($sp)
|
||||
/* 00DFC 80A0878C AFB20050 */ sw $s2, 0x0050($sp)
|
||||
/* 00E00 80A08790 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 00E04 80A08794 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00E08 80A08798 4481C000 */ mtc1 $at, $f24 ## $f24 = 500.00
|
||||
/* 00E0C 80A0879C 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
|
||||
/* 00E10 80A087A0 24900188 */ addiu $s0, $a0, 0x0188 ## $s0 = 00000188
|
||||
/* 00E14 80A087A4 8CB21C44 */ lw $s2, 0x1C44($a1) ## 00001C44
|
||||
/* 00E18 80A087A8 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 00E1C 80A087AC 24140060 */ addiu $s4, $zero, 0x0060 ## $s4 = 00000060
|
||||
.L80A087B0:
|
||||
/* 00E20 80A087B0 920E0010 */ lbu $t6, 0x0010($s0) ## 00000198
|
||||
/* 00E24 80A087B4 51C00046 */ beql $t6, $zero, .L80A088D0
|
||||
/* 00E28 80A087B8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 00E2C 80A087BC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E30 80A087C0 00000000 */ nop
|
||||
/* 00E34 80A087C4 46180182 */ mul.s $f6, $f0, $f24
|
||||
/* 00E38 80A087C8 C6040020 */ lwc1 $f4, 0x0020($s0) ## 000001A8
|
||||
/* 00E3C 80A087CC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00E40 80A087D0 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E44 80A087D4 E6080020 */ swc1 $f8, 0x0020($s0) ## 000001A8
|
||||
/* 00E48 80A087D8 46180402 */ mul.s $f16, $f0, $f24
|
||||
/* 00E4C 80A087DC C60A0024 */ lwc1 $f10, 0x0024($s0) ## 000001AC
|
||||
/* 00E50 80A087E0 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00E54 80A087E4 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E58 80A087E8 E6120024 */ swc1 $f18, 0x0024($s0) ## 000001AC
|
||||
/* 00E5C 80A087EC 46180482 */ mul.s $f18, $f0, $f24
|
||||
/* 00E60 80A087F0 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000188
|
||||
/* 00E64 80A087F4 C60E0014 */ lwc1 $f14, 0x0014($s0) ## 0000019C
|
||||
/* 00E68 80A087F8 C60C0028 */ lwc1 $f12, 0x0028($s0) ## 000001B0
|
||||
/* 00E6C 80A087FC C60A0004 */ lwc1 $f10, 0x0004($s0) ## 0000018C
|
||||
/* 00E70 80A08800 460E8380 */ add.s $f14, $f16, $f14
|
||||
/* 00E74 80A08804 C6100018 */ lwc1 $f16, 0x0018($s0) ## 000001A0
|
||||
/* 00E78 80A08808 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000190
|
||||
/* 00E7C 80A0880C 46126480 */ add.s $f18, $f12, $f18
|
||||
/* 00E80 80A08810 44057000 */ mfc1 $a1, $f14
|
||||
/* 00E84 80A08814 C60E001C */ lwc1 $f14, 0x001C($s0) ## 000001A4
|
||||
/* 00E88 80A08818 46105500 */ add.s $f20, $f10, $f16
|
||||
/* 00E8C 80A0881C 4406D000 */ mfc1 $a2, $f26
|
||||
/* 00E90 80A08820 4407E000 */ mfc1 $a3, $f28
|
||||
/* 00E94 80A08824 460E4580 */ add.s $f22, $f8, $f14
|
||||
/* 00E98 80A08828 E6120028 */ swc1 $f18, 0x0028($s0) ## 000001B0
|
||||
/* 00E9C 80A0882C 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00EA0 80A08830 02002025 */ or $a0, $s0, $zero ## $a0 = 00000188
|
||||
/* 00EA4 80A08834 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00EA8 80A08838 4406F000 */ mfc1 $a2, $f30
|
||||
/* 00EAC 80A0883C 26040004 */ addiu $a0, $s0, 0x0004 ## $a0 = 0000018C
|
||||
/* 00EB0 80A08840 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00EB4 80A08844 3C07437A */ lui $a3, 0x437A ## $a3 = 437A0000
|
||||
/* 00EB8 80A08848 4405B000 */ mfc1 $a1, $f22
|
||||
/* 00EBC 80A0884C 4406D000 */ mfc1 $a2, $f26
|
||||
/* 00EC0 80A08850 4407E000 */ mfc1 $a3, $f28
|
||||
/* 00EC4 80A08854 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00EC8 80A08858 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000190
|
||||
/* 00ECC 80A0885C 3C063F66 */ lui $a2, 0x3F66 ## $a2 = 3F660000
|
||||
/* 00ED0 80A08860 34C66666 */ ori $a2, $a2, 0x6666 ## $a2 = 3F666666
|
||||
/* 00ED4 80A08864 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 000001A0
|
||||
/* 00ED8 80A08868 3C05C1A0 */ lui $a1, 0xC1A0 ## $a1 = C1A00000
|
||||
/* 00EDC 80A0886C 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00EE0 80A08870 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
|
||||
/* 00EE4 80A08874 866F00A4 */ lh $t7, 0x00A4($s3) ## 000000A4
|
||||
/* 00EE8 80A08878 3C0180A1 */ lui $at, %hi(D_80A08D78) ## $at = 80A10000
|
||||
/* 00EEC 80A0887C 528F000D */ beql $s4, $t7, .L80A088B4
|
||||
/* 00EF0 80A08880 C6060004 */ lwc1 $f6, 0x0004($s0) ## 0000018C
|
||||
/* 00EF4 80A08884 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00EF8 80A08888 44819000 */ mtc1 $at, $f18 ## $f18 = 50.00
|
||||
/* 00EFC 80A0888C C6500080 */ lwc1 $f16, 0x0080($s2) ## 00000080
|
||||
/* 00F00 80A08890 C60A0004 */ lwc1 $f10, 0x0004($s0) ## 0000018C
|
||||
/* 00F04 80A08894 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 00F08 80A08898 4604503C */ c.lt.s $f10, $f4
|
||||
/* 00F0C 80A0889C 00000000 */ nop
|
||||
/* 00F10 80A088A0 4502000B */ bc1fl .L80A088D0
|
||||
/* 00F14 80A088A4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
|
||||
/* 00F18 80A088A8 10000008 */ beq $zero, $zero, .L80A088CC
|
||||
/* 00F1C 80A088AC A2000010 */ sb $zero, 0x0010($s0) ## 00000198
|
||||
/* 00F20 80A088B0 C6060004 */ lwc1 $f6, 0x0004($s0) ## 0000018C
|
||||
.L80A088B4:
|
||||
/* 00F24 80A088B4 C4288D78 */ lwc1 $f8, %lo(D_80A08D78)($at)
|
||||
/* 00F28 80A088B8 4608303C */ c.lt.s $f6, $f8
|
||||
/* 00F2C 80A088BC 00000000 */ nop
|
||||
/* 00F30 80A088C0 45020003 */ bc1fl .L80A088D0
|
||||
/* 00F34 80A088C4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000003
|
||||
/* 00F38 80A088C8 A2000010 */ sb $zero, 0x0010($s0) ## 00000198
|
||||
.L80A088CC:
|
||||
/* 00F3C 80A088CC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000004
|
||||
.L80A088D0:
|
||||
/* 00F40 80A088D0 00118C00 */ sll $s1, $s1, 16
|
||||
/* 00F44 80A088D4 00118C03 */ sra $s1, $s1, 16
|
||||
/* 00F48 80A088D8 2A210032 */ slti $at, $s1, 0x0032
|
||||
/* 00F4C 80A088DC 1420FFB4 */ bne $at, $zero, .L80A087B0
|
||||
/* 00F50 80A088E0 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 000001B4
|
||||
/* 00F54 80A088E4 8FBF005C */ lw $ra, 0x005C($sp)
|
||||
/* 00F58 80A088E8 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 00F5C 80A088EC D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 00F60 80A088F0 D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 00F64 80A088F4 D7BA0030 */ ldc1 $f26, 0x0030($sp)
|
||||
/* 00F68 80A088F8 D7BC0038 */ ldc1 $f28, 0x0038($sp)
|
||||
/* 00F6C 80A088FC D7BE0040 */ ldc1 $f30, 0x0040($sp)
|
||||
/* 00F70 80A08900 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 00F74 80A08904 8FB1004C */ lw $s1, 0x004C($sp)
|
||||
/* 00F78 80A08908 8FB20050 */ lw $s2, 0x0050($sp)
|
||||
/* 00F7C 80A0890C 8FB30054 */ lw $s3, 0x0054($sp)
|
||||
/* 00F80 80A08910 8FB40058 */ lw $s4, 0x0058($sp)
|
||||
/* 00F84 80A08914 03E00008 */ jr $ra
|
||||
/* 00F88 80A08918 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
|
@ -1,164 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A08D10
|
||||
.asciz "../z_en_encount2.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08D24
|
||||
.asciz "../z_en_encount2.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A08D38
|
||||
.asciz "../z_en_encount2.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A08D7C
|
||||
.word 0x3C8EFA35
|
||||
|
||||
.text
|
||||
glabel func_80A0891C
|
||||
/* 00F8C 80A0891C 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
|
||||
/* 00F90 80A08920 AFBF0044 */ sw $ra, 0x0044($sp)
|
||||
/* 00F94 80A08924 AFBE0040 */ sw $s8, 0x0040($sp)
|
||||
/* 00F98 80A08928 AFB7003C */ sw $s7, 0x003C($sp)
|
||||
/* 00F9C 80A0892C AFB60038 */ sw $s6, 0x0038($sp)
|
||||
/* 00FA0 80A08930 AFB50034 */ sw $s5, 0x0034($sp)
|
||||
/* 00FA4 80A08934 AFB40030 */ sw $s4, 0x0030($sp)
|
||||
/* 00FA8 80A08938 AFB3002C */ sw $s3, 0x002C($sp)
|
||||
/* 00FAC 80A0893C AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 00FB0 80A08940 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 00FB4 80A08944 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00FB8 80A08948 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00FBC 80A0894C AFA50094 */ sw $a1, 0x0094($sp)
|
||||
/* 00FC0 80A08950 8CB20000 */ lw $s2, 0x0000($a1) ## 00000000
|
||||
/* 00FC4 80A08954 24910188 */ addiu $s1, $a0, 0x0188 ## $s1 = 00000188
|
||||
/* 00FC8 80A08958 3C0680A1 */ lui $a2, %hi(D_80A08D10) ## $a2 = 80A10000
|
||||
/* 00FCC 80A0895C 24C68D10 */ addiu $a2, $a2, %lo(D_80A08D10) ## $a2 = 80A08D10
|
||||
/* 00FD0 80A08960 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
|
||||
/* 00FD4 80A08964 24070282 */ addiu $a3, $zero, 0x0282 ## $a3 = 00000282
|
||||
/* 00FD8 80A08968 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00FDC 80A0896C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 00FE0 80A08970 8FA40094 */ lw $a0, 0x0094($sp)
|
||||
/* 00FE4 80A08974 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00FE8 80A08978 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00FEC 80A0897C 24050092 */ addiu $a1, $zero, 0x0092 ## $a1 = 00000092
|
||||
/* 00FF0 80A08980 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00FF4 80A08984 00812021 */ addu $a0, $a0, $at
|
||||
/* 00FF8 80A08988 0440005E */ bltz $v0, .L80A08B04
|
||||
/* 00FFC 80A0898C 3C18E700 */ lui $t8, 0xE700 ## $t8 = E7000000
|
||||
/* 01000 80A08990 8E4402D0 */ lw $a0, 0x02D0($s2) ## 000002D0
|
||||
/* 01004 80A08994 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
|
||||
/* 01008 80A08998 35080018 */ ori $t0, $t0, 0x0018 ## $t0 = DB060018
|
||||
/* 0100C 80A0899C 248F0008 */ addiu $t7, $a0, 0x0008 ## $t7 = 00000008
|
||||
/* 01010 80A089A0 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
|
||||
/* 01014 80A089A4 AC800004 */ sw $zero, 0x0004($a0) ## 00000004
|
||||
/* 01018 80A089A8 AC980000 */ sw $t8, 0x0000($a0) ## 00000000
|
||||
/* 0101C 80A089AC 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
|
||||
/* 01020 80A089B0 00025100 */ sll $t2, $v0, 4
|
||||
/* 01024 80A089B4 01425021 */ addu $t2, $t2, $v0
|
||||
/* 01028 80A089B8 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
|
||||
/* 0102C 80A089BC AE5902C0 */ sw $t9, 0x02C0($s2) ## 000002C0
|
||||
/* 01030 80A089C0 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
|
||||
/* 01034 80A089C4 8FA90094 */ lw $t1, 0x0094($sp)
|
||||
/* 01038 80A089C8 000A5080 */ sll $t2, $t2, 2
|
||||
/* 0103C 80A089CC 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000
|
||||
/* 01040 80A089D0 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 01044 80A089D4 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 01048 80A089D8 8D8C17B4 */ lw $t4, 0x17B4($t4) ## 000117B4
|
||||
/* 0104C 80A089DC 3C0180A1 */ lui $at, %hi(D_80A08D7C) ## $at = 80A10000
|
||||
/* 01050 80A089E0 3C1E9BFF */ lui $s8, 0x9BFF ## $s8 = 9BFF0000
|
||||
/* 01054 80A089E4 3C16FF9B */ lui $s6, 0xFF9B ## $s6 = FF9B0000
|
||||
/* 01058 80A089E8 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
|
||||
/* 0105C 80A089EC C4348D7C */ lwc1 $f20, %lo(D_80A08D7C)($at)
|
||||
/* 01060 80A089F0 36D637FF */ ori $s6, $s6, 0x37FF ## $s6 = FF9B37FF
|
||||
/* 01064 80A089F4 37DE37FF */ ori $s8, $s8, 0x37FF ## $s8 = 9BFF37FF
|
||||
/* 01068 80A089F8 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
|
||||
/* 0106C 80A089FC 3C17FB00 */ lui $s7, 0xFB00 ## $s7 = FB000000
|
||||
/* 01070 80A08A00 3C15FA00 */ lui $s5, 0xFA00 ## $s5 = FA000000
|
||||
.L80A08A04:
|
||||
/* 01074 80A08A04 922D0010 */ lbu $t5, 0x0010($s1) ## 00000198
|
||||
/* 01078 80A08A08 3C140600 */ lui $s4, %hi(D_06000DE0) ## $s4 = 06000000
|
||||
/* 0107C 80A08A0C 26940DE0 */ addiu $s4, $s4, %lo(D_06000DE0) ## $s4 = 06000DE0
|
||||
/* 01080 80A08A10 11A00036 */ beq $t5, $zero, .L80A08AEC
|
||||
/* 01084 80A08A14 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 01088 80A08A18 C62C0000 */ lwc1 $f12, 0x0000($s1) ## 00000188
|
||||
/* 0108C 80A08A1C C62E0004 */ lwc1 $f14, 0x0004($s1) ## 0000018C
|
||||
/* 01090 80A08A20 0C034261 */ jal Matrix_Translate
|
||||
/* 01094 80A08A24 8E260008 */ lw $a2, 0x0008($s1) ## 00000190
|
||||
/* 01098 80A08A28 C6240020 */ lwc1 $f4, 0x0020($s1) ## 000001A8
|
||||
/* 0109C 80A08A2C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 010A0 80A08A30 46142302 */ mul.s $f12, $f4, $f20
|
||||
/* 010A4 80A08A34 0C0342DC */ jal Matrix_RotateX
|
||||
/* 010A8 80A08A38 00000000 */ nop
|
||||
/* 010AC 80A08A3C C6260024 */ lwc1 $f6, 0x0024($s1) ## 000001AC
|
||||
/* 010B0 80A08A40 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 010B4 80A08A44 46143302 */ mul.s $f12, $f6, $f20
|
||||
/* 010B8 80A08A48 0C034348 */ jal Matrix_RotateY
|
||||
/* 010BC 80A08A4C 00000000 */ nop
|
||||
/* 010C0 80A08A50 C6280028 */ lwc1 $f8, 0x0028($s1) ## 000001B0
|
||||
/* 010C4 80A08A54 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 010C8 80A08A58 46144302 */ mul.s $f12, $f8, $f20
|
||||
/* 010CC 80A08A5C 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 010D0 80A08A60 00000000 */ nop
|
||||
/* 010D4 80A08A64 C62C000C */ lwc1 $f12, 0x000C($s1) ## 00000194
|
||||
/* 010D8 80A08A68 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 010DC 80A08A6C 44066000 */ mfc1 $a2, $f12
|
||||
/* 010E0 80A08A70 0C0342A3 */ jal Matrix_Scale
|
||||
/* 010E4 80A08A74 46006386 */ mov.s $f14, $f12
|
||||
/* 010E8 80A08A78 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
|
||||
/* 010EC 80A08A7C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 010F0 80A08A80 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 010F4 80A08A84 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
|
||||
/* 010F8 80A08A88 AE4E02C0 */ sw $t6, 0x02C0($s2) ## 000002C0
|
||||
/* 010FC 80A08A8C AC760004 */ sw $s6, 0x0004($v1) ## 00000004
|
||||
/* 01100 80A08A90 AC750000 */ sw $s5, 0x0000($v1) ## 00000000
|
||||
/* 01104 80A08A94 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
|
||||
/* 01108 80A08A98 3C0580A1 */ lui $a1, %hi(D_80A08D24) ## $a1 = 80A10000
|
||||
/* 0110C 80A08A9C 24A58D24 */ addiu $a1, $a1, %lo(D_80A08D24) ## $a1 = 80A08D24
|
||||
/* 01110 80A08AA0 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
|
||||
/* 01114 80A08AA4 AE4F02C0 */ sw $t7, 0x02C0($s2) ## 000002C0
|
||||
/* 01118 80A08AA8 AC7E0004 */ sw $s8, 0x0004($v1) ## 00000004
|
||||
/* 0111C 80A08AAC AC770000 */ sw $s7, 0x0000($v1) ## 00000000
|
||||
/* 01120 80A08AB0 8E5002C0 */ lw $s0, 0x02C0($s2) ## 000002C0
|
||||
/* 01124 80A08AB4 2406029D */ addiu $a2, $zero, 0x029D ## $a2 = 0000029D
|
||||
/* 01128 80A08AB8 26180008 */ addiu $t8, $s0, 0x0008 ## $t8 = 00000008
|
||||
/* 0112C 80A08ABC AE5802C0 */ sw $t8, 0x02C0($s2) ## 000002C0
|
||||
/* 01130 80A08AC0 AE190000 */ sw $t9, 0x0000($s0) ## 00000000
|
||||
/* 01134 80A08AC4 8FA80094 */ lw $t0, 0x0094($sp)
|
||||
/* 01138 80A08AC8 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0113C 80A08ACC 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 01140 80A08AD0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
|
||||
/* 01144 80A08AD4 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
|
||||
/* 01148 80A08AD8 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 0114C 80A08ADC 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
|
||||
/* 01150 80A08AE0 AE4902C0 */ sw $t1, 0x02C0($s2) ## 000002C0
|
||||
/* 01154 80A08AE4 AC740004 */ sw $s4, 0x0004($v1) ## 00000004
|
||||
/* 01158 80A08AE8 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
|
||||
.L80A08AEC:
|
||||
/* 0115C 80A08AEC 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
|
||||
/* 01160 80A08AF0 00139C00 */ sll $s3, $s3, 16
|
||||
/* 01164 80A08AF4 00139C03 */ sra $s3, $s3, 16
|
||||
/* 01168 80A08AF8 2A610032 */ slti $at, $s3, 0x0032
|
||||
/* 0116C 80A08AFC 1420FFC1 */ bne $at, $zero, .L80A08A04
|
||||
/* 01170 80A08B00 2631002C */ addiu $s1, $s1, 0x002C ## $s1 = 000001B4
|
||||
.L80A08B04:
|
||||
/* 01174 80A08B04 3C0680A1 */ lui $a2, %hi(D_80A08D38) ## $a2 = 80A10000
|
||||
/* 01178 80A08B08 24C68D38 */ addiu $a2, $a2, %lo(D_80A08D38) ## $a2 = 80A08D38
|
||||
/* 0117C 80A08B0C 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
|
||||
/* 01180 80A08B10 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01184 80A08B14 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 01188 80A08B18 240702A6 */ addiu $a3, $zero, 0x02A6 ## $a3 = 000002A6
|
||||
/* 0118C 80A08B1C 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 01190 80A08B20 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 01194 80A08B24 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01198 80A08B28 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 0119C 80A08B2C 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 011A0 80A08B30 8FB3002C */ lw $s3, 0x002C($sp)
|
||||
/* 011A4 80A08B34 8FB40030 */ lw $s4, 0x0030($sp)
|
||||
/* 011A8 80A08B38 8FB50034 */ lw $s5, 0x0034($sp)
|
||||
/* 011AC 80A08B3C 8FB60038 */ lw $s6, 0x0038($sp)
|
||||
/* 011B0 80A08B40 8FB7003C */ lw $s7, 0x003C($sp)
|
||||
/* 011B4 80A08B44 8FBE0040 */ lw $s8, 0x0040($sp)
|
||||
/* 011B8 80A08B48 03E00008 */ jr $ra
|
||||
/* 011BC 80A08B4C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
|
|
@ -1,60 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12D90
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12D94
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 発生数回復 ☆☆☆☆☆%d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12DC0
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnFireRock_Destroy
|
||||
/* 00410 80A12030 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00414 80A12034 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00418 80A12038 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0041C 80A1203C 8C830118 */ lw $v1, 0x0118($a0) ## 00000118
|
||||
/* 00420 80A12040 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00424 80A12044 5060001B */ beql $v1, $zero, .L80A120B4
|
||||
/* 00428 80A12048 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0042C 80A1204C 8C8E0190 */ lw $t6, 0x0190($a0) ## 00000190
|
||||
/* 00430 80A12050 55C30018 */ bnel $t6, $v1, .L80A120B4
|
||||
/* 00434 80A12054 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00438 80A12058 8C6F0130 */ lw $t7, 0x0130($v1) ## 00000130
|
||||
/* 0043C 80A1205C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00440 80A12060 51E00014 */ beql $t7, $zero, .L80A120B4
|
||||
/* 00444 80A12064 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00448 80A12068 84630158 */ lh $v1, 0x0158($v1) ## 00000158
|
||||
/* 0044C 80A1206C 3C0480A1 */ lui $a0, %hi(D_80A12D90) ## $a0 = 80A10000
|
||||
/* 00450 80A12070 24842D90 */ addiu $a0, $a0, %lo(D_80A12D90) ## $a0 = 80A12D90
|
||||
/* 00454 80A12074 1860000E */ blez $v1, .L80A120B0
|
||||
/* 00458 80A12078 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 0045C 80A1207C A4580158 */ sh $t8, 0x0158($v0) ## 00000158
|
||||
/* 00460 80A12080 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00464 80A12084 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00468 80A12088 AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 0046C 80A1208C 8FA20018 */ lw $v0, 0x0018($sp)
|
||||
/* 00470 80A12090 3C0480A1 */ lui $a0, %hi(D_80A12D94) ## $a0 = 80A10000
|
||||
/* 00474 80A12094 24842D94 */ addiu $a0, $a0, %lo(D_80A12D94) ## $a0 = 80A12D94
|
||||
/* 00478 80A12098 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0047C 80A1209C 84450158 */ lh $a1, 0x0158($v0) ## 00000158
|
||||
/* 00480 80A120A0 3C0480A1 */ lui $a0, %hi(D_80A12DC0) ## $a0 = 80A10000
|
||||
/* 00484 80A120A4 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00488 80A120A8 24842DC0 */ addiu $a0, $a0, %lo(D_80A12DC0) ## $a0 = 80A12DC0
|
||||
/* 0048C 80A120AC 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
.L80A120B0:
|
||||
/* 00490 80A120B0 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
.L80A120B4:
|
||||
/* 00494 80A120B4 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00498 80A120B8 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
|
||||
/* 0049C 80A120BC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004A0 80A120C0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 004A4 80A120C4 03E00008 */ jr $ra
|
||||
/* 004A8 80A120C8 00000000 */ nop
|
|
@ -1,131 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12E58
|
||||
.asciz "../z_en_fire_rock.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12E6C
|
||||
.asciz "../z_en_fire_rock.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12E80
|
||||
.asciz "../z_en_fire_rock.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A12EE0
|
||||
.word 0x3C8EFA35
|
||||
glabel D_80A12EE4
|
||||
.word 0x3C8EFA35
|
||||
glabel D_80A12EE8
|
||||
.word 0x3C8EFA35, 0x00000000
|
||||
|
||||
.text
|
||||
glabel EnFireRock_Draw
|
||||
/* 00EB0 80A12AD0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00EB4 80A12AD4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00EB8 80A12AD8 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00EBC 80A12ADC AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00EC0 80A12AE0 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00EC4 80A12AE4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00EC8 80A12AE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00ECC 80A12AEC 3C0680A1 */ lui $a2, %hi(D_80A12E58) ## $a2 = 80A10000
|
||||
/* 00ED0 80A12AF0 24C62E58 */ addiu $a2, $a2, %lo(D_80A12E58) ## $a2 = 80A12E58
|
||||
/* 00ED4 80A12AF4 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
|
||||
/* 00ED8 80A12AF8 240702EB */ addiu $a3, $zero, 0x02EB ## $a3 = 000002EB
|
||||
/* 00EDC 80A12AFC 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00EE0 80A12B00 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00EE4 80A12B04 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00EE8 80A12B08 C6060170 */ lwc1 $f6, 0x0170($s0) ## 00000170
|
||||
/* 00EEC 80A12B0C C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00EF0 80A12B10 C6120178 */ lwc1 $f18, 0x0178($s0) ## 00000178
|
||||
/* 00EF4 80A12B14 46062300 */ add.s $f12, $f4, $f6
|
||||
/* 00EF8 80A12B18 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 00EFC 80A12B1C C60A0174 */ lwc1 $f10, 0x0174($s0) ## 00000174
|
||||
/* 00F00 80A12B20 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00F04 80A12B24 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00F08 80A12B28 460A4380 */ add.s $f14, $f8, $f10
|
||||
/* 00F0C 80A12B2C 44062000 */ mfc1 $a2, $f4
|
||||
/* 00F10 80A12B30 0C034261 */ jal Matrix_Translate
|
||||
/* 00F14 80A12B34 00000000 */ nop
|
||||
/* 00F18 80A12B38 3C0180A1 */ lui $at, %hi(D_80A12EE0) ## $at = 80A10000
|
||||
/* 00F1C 80A12B3C C4282EE0 */ lwc1 $f8, %lo(D_80A12EE0)($at)
|
||||
/* 00F20 80A12B40 C6060158 */ lwc1 $f6, 0x0158($s0) ## 00000158
|
||||
/* 00F24 80A12B44 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00F28 80A12B48 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 00F2C 80A12B4C 0C0342DC */ jal Matrix_RotateX
|
||||
/* 00F30 80A12B50 00000000 */ nop
|
||||
/* 00F34 80A12B54 3C0180A1 */ lui $at, %hi(D_80A12EE4) ## $at = 80A10000
|
||||
/* 00F38 80A12B58 C4302EE4 */ lwc1 $f16, %lo(D_80A12EE4)($at)
|
||||
/* 00F3C 80A12B5C C60A015C */ lwc1 $f10, 0x015C($s0) ## 0000015C
|
||||
/* 00F40 80A12B60 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00F44 80A12B64 46105302 */ mul.s $f12, $f10, $f16
|
||||
/* 00F48 80A12B68 0C034348 */ jal Matrix_RotateY
|
||||
/* 00F4C 80A12B6C 00000000 */ nop
|
||||
/* 00F50 80A12B70 3C0180A1 */ lui $at, %hi(D_80A12EE8) ## $at = 80A10000
|
||||
/* 00F54 80A12B74 C4242EE8 */ lwc1 $f4, %lo(D_80A12EE8)($at)
|
||||
/* 00F58 80A12B78 C6120160 */ lwc1 $f18, 0x0160($s0) ## 00000160
|
||||
/* 00F5C 80A12B7C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00F60 80A12B80 46049302 */ mul.s $f12, $f18, $f4
|
||||
/* 00F64 80A12B84 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 00F68 80A12B88 00000000 */ nop
|
||||
/* 00F6C 80A12B8C C60C0050 */ lwc1 $f12, 0x0050($s0) ## 00000050
|
||||
/* 00F70 80A12B90 C60E0054 */ lwc1 $f14, 0x0054($s0) ## 00000054
|
||||
/* 00F74 80A12B94 8E060058 */ lw $a2, 0x0058($s0) ## 00000058
|
||||
/* 00F78 80A12B98 0C0342A3 */ jal Matrix_Scale
|
||||
/* 00F7C 80A12B9C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00F80 80A12BA0 8FAF0054 */ lw $t7, 0x0054($sp)
|
||||
/* 00F84 80A12BA4 0C024F46 */ jal func_80093D18
|
||||
/* 00F88 80A12BA8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00F8C 80A12BAC 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
|
||||
/* 00F90 80A12BB0 3C08FF9B */ lui $t0, 0xFF9B ## $t0 = FF9B0000
|
||||
/* 00F94 80A12BB4 350837FF */ ori $t0, $t0, 0x37FF ## $t0 = FF9B37FF
|
||||
/* 00F98 80A12BB8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00F9C 80A12BBC AE3802C0 */ sw $t8, 0x02C0($s1) ## 000002C0
|
||||
/* 00FA0 80A12BC0 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000
|
||||
/* 00FA4 80A12BC4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00FA8 80A12BC8 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
|
||||
/* 00FAC 80A12BCC 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
|
||||
/* 00FB0 80A12BD0 3C0B9BFF */ lui $t3, 0x9BFF ## $t3 = 9BFF0000
|
||||
/* 00FB4 80A12BD4 356B37FF */ ori $t3, $t3, 0x37FF ## $t3 = 9BFF37FF
|
||||
/* 00FB8 80A12BD8 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00FBC 80A12BDC AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0
|
||||
/* 00FC0 80A12BE0 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
|
||||
/* 00FC4 80A12BE4 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 00FC8 80A12BE8 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
/* 00FCC 80A12BEC 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
|
||||
/* 00FD0 80A12BF0 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000
|
||||
/* 00FD4 80A12BF4 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003
|
||||
/* 00FD8 80A12BF8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 00FDC 80A12BFC AE2C02C0 */ sw $t4, 0x02C0($s1) ## 000002C0
|
||||
/* 00FE0 80A12C00 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 00FE4 80A12C04 8FAE0054 */ lw $t6, 0x0054($sp)
|
||||
/* 00FE8 80A12C08 3C0580A1 */ lui $a1, %hi(D_80A12E6C) ## $a1 = 80A10000
|
||||
/* 00FEC 80A12C0C 24A52E6C */ addiu $a1, $a1, %lo(D_80A12E6C) ## $a1 = 80A12E6C
|
||||
/* 00FF0 80A12C10 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
|
||||
/* 00FF4 80A12C14 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
|
||||
/* 00FF8 80A12C18 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00FFC 80A12C1C 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
|
||||
/* 01000 80A12C20 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
|
||||
/* 01004 80A12C24 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
|
||||
/* 01008 80A12C28 3C190600 */ lui $t9, %hi(D_06000DE0) ## $t9 = 06000000
|
||||
/* 0100C 80A12C2C 27390DE0 */ addiu $t9, $t9, %lo(D_06000DE0) ## $t9 = 06000DE0
|
||||
/* 01010 80A12C30 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 01014 80A12C34 AE2F02C0 */ sw $t7, 0x02C0($s1) ## 000002C0
|
||||
/* 01018 80A12C38 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
|
||||
/* 0101C 80A12C3C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 01020 80A12C40 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 01024 80A12C44 8FA80054 */ lw $t0, 0x0054($sp)
|
||||
/* 01028 80A12C48 3C0680A1 */ lui $a2, %hi(D_80A12E80) ## $a2 = 80A10000
|
||||
/* 0102C 80A12C4C 24C62E80 */ addiu $a2, $a2, %lo(D_80A12E80) ## $a2 = 80A12E80
|
||||
/* 01030 80A12C50 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
|
||||
/* 01034 80A12C54 24070305 */ addiu $a3, $zero, 0x0305 ## $a3 = 00000305
|
||||
/* 01038 80A12C58 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 0103C 80A12C5C 8D050000 */ lw $a1, 0x0000($t0) ## 00000000
|
||||
/* 01040 80A12C60 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01044 80A12C64 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 01048 80A12C68 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 0104C 80A12C6C 03E00008 */ jr $ra
|
||||
/* 01050 80A12C70 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 01054 80A12C74 00000000 */ nop
|
||||
/* 01058 80A12C78 00000000 */ nop
|
||||
/* 0105C 80A12C7C 00000000 */ nop
|
|
@ -1,345 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12D00
|
||||
.asciz "\x1b[33m☆☆☆☆☆ 天井待ち岩 ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12D2C
|
||||
.asciz "\x1b[33m☆☆☆☆☆ 床岩 ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A12D54
|
||||
.asciz "\x1b[33m☆☆☆☆☆ そんな岩はねぇ!ERR!!!!!! ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_80A12E94
|
||||
.word L80A11D9C
|
||||
.word L80A11E70
|
||||
.word L80A11F50
|
||||
.word L80A11DD8
|
||||
.word L80A12008
|
||||
.word L80A11CF4
|
||||
.word L80A11D14
|
||||
glabel D_80A12EB0
|
||||
.float 0.02
|
||||
|
||||
glabel D_80A12EB4
|
||||
.word 0x477FFF00
|
||||
glabel D_80A12EB8
|
||||
.float 0.02
|
||||
|
||||
glabel D_80A12EBC
|
||||
.word 0x477FFF00
|
||||
glabel D_80A12EC0
|
||||
.float 0.01
|
||||
|
||||
glabel D_80A12EC4
|
||||
.float -1.2
|
||||
|
||||
glabel D_80A12EC8
|
||||
.word 0x477FFF00
|
||||
|
||||
.text
|
||||
glabel EnFireRock_Init
|
||||
/* 00000 80A11C20 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 80A11C24 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00008 80A11C28 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0000C 80A11C2C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00010 80A11C30 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00014 80A11C34 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00018 80A11C38 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
|
||||
/* 0001C 80A11C3C AFAF0030 */ sw $t7, 0x0030($sp)
|
||||
/* 00020 80A11C40 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
|
||||
/* 00024 80A11C44 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00028 80A11C48 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
|
||||
/* 0002C 80A11C4C A498018C */ sh $t8, 0x018C($a0) ## 0000018C
|
||||
/* 00030 80A11C50 8482018C */ lh $v0, 0x018C($a0) ## 0000018C
|
||||
/* 00034 80A11C54 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
|
||||
/* 00038 80A11C58 5041001F */ beql $v0, $at, .L80A11CD8
|
||||
/* 0003C 80A11C5C 2C410007 */ sltiu $at, $v0, 0x0007
|
||||
/* 00040 80A11C60 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00044 80A11C64 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00048 80A11C68 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 0004C 80A11C6C 8602018C */ lh $v0, 0x018C($s0) ## 0000018C
|
||||
/* 00050 80A11C70 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00054 80A11C74 10410017 */ beq $v0, $at, .L80A11CD4
|
||||
/* 00058 80A11C78 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0005C 80A11C7C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00060 80A11C80 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00064 80A11C84 00000000 */ nop
|
||||
/* 00068 80A11C88 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 0006C 80A11C8C 44812000 */ mtc1 $at, $f4 ## $f4 = 15.00
|
||||
/* 00070 80A11C90 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00074 80A11C94 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00078 80A11C98 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 0007C 80A11C9C 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00080 80A11CA0 E606014C */ swc1 $f6, 0x014C($s0) ## 0000014C
|
||||
/* 00084 80A11CA4 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 00088 80A11CA8 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
|
||||
/* 0008C 80A11CAC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00090 80A11CB0 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00094 80A11CB4 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00098 80A11CB8 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 0009C 80A11CBC E60A0150 */ swc1 $f10, 0x0150($s0) ## 00000150
|
||||
/* 000A0 80A11CC0 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 000A4 80A11CC4 44818000 */ mtc1 $at, $f16 ## $f16 = 15.00
|
||||
/* 000A8 80A11CC8 8602018C */ lh $v0, 0x018C($s0) ## 0000018C
|
||||
/* 000AC 80A11CCC 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 000B0 80A11CD0 E6120154 */ swc1 $f18, 0x0154($s0) ## 00000154
|
||||
.L80A11CD4:
|
||||
/* 000B4 80A11CD4 2C410007 */ sltiu $at, $v0, 0x0007
|
||||
.L80A11CD8:
|
||||
/* 000B8 80A11CD8 102000CB */ beq $at, $zero, .L80A12008
|
||||
/* 000BC 80A11CDC 0002C880 */ sll $t9, $v0, 2
|
||||
/* 000C0 80A11CE0 3C0180A1 */ lui $at, %hi(jtbl_80A12E94) ## $at = 80A10000
|
||||
/* 000C4 80A11CE4 00390821 */ addu $at, $at, $t9
|
||||
/* 000C8 80A11CE8 8C392E94 */ lw $t9, %lo(jtbl_80A12E94)($at)
|
||||
/* 000CC 80A11CEC 03200008 */ jr $t9
|
||||
/* 000D0 80A11CF0 00000000 */ nop
|
||||
glabel L80A11CF4
|
||||
/* 000D4 80A11CF4 3C0480A1 */ lui $a0, %hi(D_80A12D00) ## $a0 = 80A10000
|
||||
/* 000D8 80A11CF8 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
|
||||
/* 000DC 80A11CFC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000E0 80A11D00 24842D00 */ addiu $a0, $a0, %lo(D_80A12D00) ## $a0 = 80A12D00
|
||||
/* 000E4 80A11D04 3C0880A1 */ lui $t0, %hi(func_80A125B8) ## $t0 = 80A10000
|
||||
/* 000E8 80A11D08 250825B8 */ addiu $t0, $t0, %lo(func_80A125B8) ## $t0 = 80A125B8
|
||||
/* 000EC 80A11D0C 100000C3 */ beq $zero, $zero, .L80A1201C
|
||||
/* 000F0 80A11D10 AE080168 */ sw $t0, 0x0168($s0) ## 00000168
|
||||
glabel L80A11D14
|
||||
/* 000F4 80A11D14 3C053CF5 */ lui $a1, 0x3CF5 ## $a1 = 3CF50000
|
||||
/* 000F8 80A11D18 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3CF5C28F
|
||||
/* 000FC 80A11D1C 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00100 80A11D20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00104 80A11D24 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00108 80A11D28 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0010C 80A11D2C 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00110 80A11D30 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00114 80A11D34 3C0780A1 */ lui $a3, %hi(D_80A12CCC) ## $a3 = 80A10000
|
||||
/* 00118 80A11D38 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 0011C 80A11D3C 24E72CCC */ addiu $a3, $a3, %lo(D_80A12CCC) ## $a3 = 80A12CCC
|
||||
/* 00120 80A11D40 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00124 80A11D44 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00128 80A11D48 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0012C 80A11D4C 3C0480A1 */ lui $a0, %hi(D_80A12D2C) ## $a0 = 80A10000
|
||||
/* 00130 80A11D50 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00134 80A11D54 24842D2C */ addiu $a0, $a0, %lo(D_80A12D2C) ## $a0 = 80A12D2C
|
||||
/* 00138 80A11D58 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0013C 80A11D5C 24090017 */ addiu $t1, $zero, 0x0017 ## $t1 = 00000017
|
||||
/* 00140 80A11D60 240A0025 */ addiu $t2, $zero, 0x0025 ## $t2 = 00000025
|
||||
/* 00144 80A11D64 240BFFF6 */ addiu $t3, $zero, 0xFFF6 ## $t3 = FFFFFFF6
|
||||
/* 00148 80A11D68 A60901D4 */ sh $t1, 0x01D4($s0) ## 000001D4
|
||||
/* 0014C 80A11D6C A60A01D6 */ sh $t2, 0x01D6($s0) ## 000001D6
|
||||
/* 00150 80A11D70 A60B01D8 */ sh $t3, 0x01D8($s0) ## 000001D8
|
||||
/* 00154 80A11D74 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00158 80A11D78 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006
|
||||
/* 0015C 80A11D7C 0C00CDD2 */ jal Actor_ChangeCategory
|
||||
|
||||
/* 00160 80A11D80 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
|
||||
/* 00164 80A11D84 3C0D80A1 */ lui $t5, %hi(func_80A12730) ## $t5 = 80A10000
|
||||
/* 00168 80A11D88 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 0016C 80A11D8C 25AD2730 */ addiu $t5, $t5, %lo(func_80A12730) ## $t5 = 80A12730
|
||||
/* 00170 80A11D90 A20C00AE */ sb $t4, 0x00AE($s0) ## 000000AE
|
||||
/* 00174 80A11D94 100000A1 */ beq $zero, $zero, .L80A1201C
|
||||
/* 00178 80A11D98 AE0D0168 */ sw $t5, 0x0168($s0) ## 00000168
|
||||
glabel L80A11D9C
|
||||
/* 0017C 80A11D9C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00180 80A11DA0 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
/* 00184 80A11DA4 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00188 80A11DA8 00000000 */ nop
|
||||
/* 0018C 80A11DAC 8FAE0030 */ lw $t6, 0x0030($sp)
|
||||
/* 00190 80A11DB0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00194 80A11DB4 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
/* 00198 80A11DB8 C5C40024 */ lwc1 $f4, 0x0024($t6) ## 00000024
|
||||
/* 0019C 80A11DBC 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 001A0 80A11DC0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 001A4 80A11DC4 E606017C */ swc1 $f6, 0x017C($s0) ## 0000017C
|
||||
/* 001A8 80A11DC8 8FAF0030 */ lw $t7, 0x0030($sp)
|
||||
/* 001AC 80A11DCC C5E8002C */ lwc1 $f8, 0x002C($t7) ## 0000002C
|
||||
/* 001B0 80A11DD0 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 001B4 80A11DD4 E60A0184 */ swc1 $f10, 0x0184($s0) ## 00000184
|
||||
glabel L80A11DD8
|
||||
/* 001B8 80A11DD8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 001BC 80A11DDC 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
|
||||
/* 001C0 80A11DE0 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 001C4 80A11DE4 00000000 */ nop
|
||||
/* 001C8 80A11DE8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 001CC 80A11DEC 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
|
||||
/* 001D0 80A11DF0 3C0180A1 */ lui $at, %hi(D_80A12EB0) ## $at = 80A10000
|
||||
/* 001D4 80A11DF4 C4242EB0 */ lwc1 $f4, %lo(D_80A12EB0)($at)
|
||||
/* 001D8 80A11DF8 46100483 */ div.s $f18, $f0, $f16
|
||||
/* 001DC 80A11DFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001E0 80A11E00 46049080 */ add.s $f2, $f18, $f4
|
||||
/* 001E4 80A11E04 44051000 */ mfc1 $a1, $f2
|
||||
/* 001E8 80A11E08 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 001EC 80A11E0C E602016C */ swc1 $f2, 0x016C($s0) ## 0000016C
|
||||
/* 001F0 80A11E10 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 001F4 80A11E14 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 001F8 80A11E18 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 001FC 80A11E1C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00200 80A11E20 3C0780A1 */ lui $a3, %hi(D_80A12CA0) ## $a3 = 80A10000
|
||||
/* 00204 80A11E24 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00208 80A11E28 24E72CA0 */ addiu $a3, $a3, %lo(D_80A12CA0) ## $a3 = 80A12CA0
|
||||
/* 0020C 80A11E2C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00210 80A11E30 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00214 80A11E34 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00218 80A11E38 3C0180A1 */ lui $at, %hi(D_80A12EB4) ## $at = 80A10000
|
||||
/* 0021C 80A11E3C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00220 80A11E40 C42C2EB4 */ lwc1 $f12, %lo(D_80A12EB4)($at)
|
||||
/* 00224 80A11E44 4600018D */ trunc.w.s $f6, $f0
|
||||
/* 00228 80A11E48 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 0022C 80A11E4C 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
|
||||
/* 00230 80A11E50 3C1980A1 */ lui $t9, %hi(func_80A120CC) ## $t9 = 80A10000
|
||||
/* 00234 80A11E54 44023000 */ mfc1 $v0, $f6
|
||||
/* 00238 80A11E58 273920CC */ addiu $t9, $t9, %lo(func_80A120CC) ## $t9 = 80A120CC
|
||||
/* 0023C 80A11E5C AE190168 */ sw $t9, 0x0168($s0) ## 00000168
|
||||
/* 00240 80A11E60 E60800C4 */ swc1 $f8, 0x00C4($s0) ## 000000C4
|
||||
/* 00244 80A11E64 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 00248 80A11E68 1000006C */ beq $zero, $zero, .L80A1201C
|
||||
/* 0024C 80A11E6C A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
glabel L80A11E70
|
||||
/* 00250 80A11E70 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00254 80A11E74 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 00258 80A11E78 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 0025C 80A11E7C 00000000 */ nop
|
||||
/* 00260 80A11E80 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00264 80A11E84 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00
|
||||
/* 00268 80A11E88 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 0026C 80A11E8C 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 00270 80A11E90 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 00274 80A11E94 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00278 80A11E98 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
|
||||
/* 0027C 80A11E9C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00280 80A11EA0 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00
|
||||
/* 00284 80A11EA4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00288 80A11EA8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 0028C 80A11EAC 46120100 */ add.s $f4, $f0, $f18
|
||||
/* 00290 80A11EB0 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00294 80A11EB4 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 00298 80A11EB8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 0029C 80A11EBC 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
|
||||
/* 002A0 80A11EC0 3C0180A1 */ lui $at, %hi(D_80A12EB8) ## $at = 80A10000
|
||||
/* 002A4 80A11EC4 C42A2EB8 */ lwc1 $f10, %lo(D_80A12EB8)($at)
|
||||
/* 002A8 80A11EC8 46060203 */ div.s $f8, $f0, $f6
|
||||
/* 002AC 80A11ECC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002B0 80A11ED0 460A4080 */ add.s $f2, $f8, $f10
|
||||
/* 002B4 80A11ED4 44051000 */ mfc1 $a1, $f2
|
||||
/* 002B8 80A11ED8 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 002BC 80A11EDC E602016C */ swc1 $f2, 0x016C($s0) ## 0000016C
|
||||
/* 002C0 80A11EE0 3C01BFC0 */ lui $at, 0xBFC0 ## $at = BFC00000
|
||||
/* 002C4 80A11EE4 44818000 */ mtc1 $at, $f16 ## $f16 = -1.50
|
||||
/* 002C8 80A11EE8 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 002CC 80A11EEC E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C
|
||||
/* 002D0 80A11EF0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 002D4 80A11EF4 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 002D8 80A11EF8 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 002DC 80A11EFC 3C0780A1 */ lui $a3, %hi(D_80A12CA0) ## $a3 = 80A10000
|
||||
/* 002E0 80A11F00 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 002E4 80A11F04 24E72CA0 */ addiu $a3, $a3, %lo(D_80A12CA0) ## $a3 = 80A12CA0
|
||||
/* 002E8 80A11F08 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 002EC 80A11F0C 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 002F0 80A11F10 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 002F4 80A11F14 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 002F8 80A11F18 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 002FC 80A11F1C 3C0180A1 */ lui $at, %hi(D_80A12EBC) ## $at = 80A10000
|
||||
/* 00300 80A11F20 E61200C4 */ swc1 $f18, 0x00C4($s0) ## 000000C4
|
||||
/* 00304 80A11F24 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00308 80A11F28 C42C2EBC */ lwc1 $f12, %lo(D_80A12EBC)($at)
|
||||
/* 0030C 80A11F2C 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 00310 80A11F30 3C0980A1 */ lui $t1, %hi(func_80A120CC) ## $t1 = 80A10000
|
||||
/* 00314 80A11F34 252920CC */ addiu $t1, $t1, %lo(func_80A120CC) ## $t1 = 80A120CC
|
||||
/* 00318 80A11F38 AE090168 */ sw $t1, 0x0168($s0) ## 00000168
|
||||
/* 0031C 80A11F3C 44022000 */ mfc1 $v0, $f4
|
||||
/* 00320 80A11F40 00000000 */ nop
|
||||
/* 00324 80A11F44 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 00328 80A11F48 10000034 */ beq $zero, $zero, .L80A1201C
|
||||
/* 0032C 80A11F4C A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
glabel L80A11F50
|
||||
/* 00330 80A11F50 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00334 80A11F54 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 00338 80A11F58 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 0033C 80A11F5C 00000000 */ nop
|
||||
/* 00340 80A11F60 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00344 80A11F64 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00
|
||||
/* 00348 80A11F68 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 0034C 80A11F6C 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 00350 80A11F70 46060200 */ add.s $f8, $f0, $f6
|
||||
/* 00354 80A11F74 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00358 80A11F78 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
|
||||
/* 0035C 80A11F7C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 00360 80A11F80 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00
|
||||
/* 00364 80A11F84 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00368 80A11F88 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 0036C 80A11F8C 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 00370 80A11F90 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00374 80A11F94 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 00378 80A11F98 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 0037C 80A11F9C 44819000 */ mtc1 $at, $f18 ## $f18 = 500.00
|
||||
/* 00380 80A11FA0 3C0180A1 */ lui $at, %hi(D_80A12EC0) ## $at = 80A10000
|
||||
/* 00384 80A11FA4 C4262EC0 */ lwc1 $f6, %lo(D_80A12EC0)($at)
|
||||
/* 00388 80A11FA8 46120103 */ div.s $f4, $f0, $f18
|
||||
/* 0038C 80A11FAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00390 80A11FB0 46062080 */ add.s $f2, $f4, $f6
|
||||
/* 00394 80A11FB4 44051000 */ mfc1 $a1, $f2
|
||||
/* 00398 80A11FB8 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 0039C 80A11FBC E602016C */ swc1 $f2, 0x016C($s0) ## 0000016C
|
||||
/* 003A0 80A11FC0 3C0180A1 */ lui $at, %hi(D_80A12EC4) ## $at = 80A10000
|
||||
/* 003A4 80A11FC4 C4282EC4 */ lwc1 $f8, %lo(D_80A12EC4)($at)
|
||||
/* 003A8 80A11FC8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 003AC 80A11FCC 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 003B0 80A11FD0 3C0180A1 */ lui $at, %hi(D_80A12EC8) ## $at = 80A10000
|
||||
/* 003B4 80A11FD4 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C
|
||||
/* 003B8 80A11FD8 E60A00C4 */ swc1 $f10, 0x00C4($s0) ## 000000C4
|
||||
/* 003BC 80A11FDC 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 003C0 80A11FE0 C42C2EC8 */ lwc1 $f12, %lo(D_80A12EC8)($at)
|
||||
/* 003C4 80A11FE4 4600040D */ trunc.w.s $f16, $f0
|
||||
/* 003C8 80A11FE8 3C0B80A1 */ lui $t3, %hi(func_80A120CC) ## $t3 = 80A10000
|
||||
/* 003CC 80A11FEC 256B20CC */ addiu $t3, $t3, %lo(func_80A120CC) ## $t3 = 80A120CC
|
||||
/* 003D0 80A11FF0 AE0B0168 */ sw $t3, 0x0168($s0) ## 00000168
|
||||
/* 003D4 80A11FF4 44028000 */ mfc1 $v0, $f16
|
||||
/* 003D8 80A11FF8 00000000 */ nop
|
||||
/* 003DC 80A11FFC A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 003E0 80A12000 10000006 */ beq $zero, $zero, .L80A1201C
|
||||
/* 003E4 80A12004 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
glabel L80A12008
|
||||
.L80A12008:
|
||||
/* 003E8 80A12008 3C0480A1 */ lui $a0, %hi(D_80A12D54) ## $a0 = 80A10000
|
||||
/* 003EC 80A1200C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 003F0 80A12010 24842D54 */ addiu $a0, $a0, %lo(D_80A12D54) ## $a0 = 80A12D54
|
||||
/* 003F4 80A12014 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 003F8 80A12018 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80A1201C:
|
||||
/* 003FC 80A1201C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00400 80A12020 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00404 80A12024 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00408 80A12028 03E00008 */ jr $ra
|
||||
/* 0040C 80A1202C 00000000 */ nop
|
|
@ -1,207 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12E24
|
||||
.asciz "\x1b[33m☆☆☆☆☆ シールド防御 Lv1 ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A12EDC
|
||||
.word 0xBE99999A
|
||||
|
||||
.text
|
||||
glabel EnFireRock_Update
|
||||
/* 00BF4 80A12814 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00BF8 80A12818 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00BFC 80A1281C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00C00 80A12820 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00C04 80A12824 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C08 80A12828 AFA2003C */ sw $v0, 0x003C($sp)
|
||||
/* 00C0C 80A1282C AFA20038 */ sw $v0, 0x0038($sp)
|
||||
/* 00C10 80A12830 8483018A */ lh $v1, 0x018A($a0) ## 0000018A
|
||||
/* 00C14 80A12834 10600002 */ beq $v1, $zero, .L80A12840
|
||||
/* 00C18 80A12838 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00C1C 80A1283C A48E018A */ sh $t6, 0x018A($a0) ## 0000018A
|
||||
.L80A12840:
|
||||
/* 00C20 80A12840 86020188 */ lh $v0, 0x0188($s0) ## 00000188
|
||||
/* 00C24 80A12844 10400002 */ beq $v0, $zero, .L80A12850
|
||||
/* 00C28 80A12848 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00C2C 80A1284C A60F0188 */ sh $t7, 0x0188($s0) ## 00000188
|
||||
.L80A12850:
|
||||
/* 00C30 80A12850 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00C34 80A12854 8E190168 */ lw $t9, 0x0168($s0) ## 00000168
|
||||
/* 00C38 80A12858 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C3C 80A1285C 0320F809 */ jalr $ra, $t9
|
||||
/* 00C40 80A12860 00000000 */ nop
|
||||
/* 00C44 80A12864 8618018C */ lh $t8, 0x018C($s0) ## 0000018C
|
||||
/* 00C48 80A12868 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00C4C 80A1286C 53010094 */ beql $t8, $at, .L80A12AC0
|
||||
/* 00C50 80A12870 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00C54 80A12874 C60A015C */ lwc1 $f10, 0x015C($s0) ## 0000015C
|
||||
/* 00C58 80A12878 C6100150 */ lwc1 $f16, 0x0150($s0) ## 00000150
|
||||
/* 00C5C 80A1287C C6040158 */ lwc1 $f4, 0x0158($s0) ## 00000158
|
||||
/* 00C60 80A12880 C606014C */ lwc1 $f6, 0x014C($s0) ## 0000014C
|
||||
/* 00C64 80A12884 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00C68 80A12888 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00C6C 80A1288C 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00
|
||||
/* 00C70 80A12890 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00C74 80A12894 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00C78 80A12898 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00
|
||||
/* 00C7C 80A1289C C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
|
||||
/* 00C80 80A128A0 C6040160 */ lwc1 $f4, 0x0160($s0) ## 00000160
|
||||
/* 00C84 80A128A4 E612015C */ swc1 $f18, 0x015C($s0) ## 0000015C
|
||||
/* 00C88 80A128A8 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 00C8C 80A128AC 44819000 */ mtc1 $at, $f18 ## $f18 = 300.00
|
||||
/* 00C90 80A128B0 C610016C */ lwc1 $f16, 0x016C($s0) ## 0000016C
|
||||
/* 00C94 80A128B4 E6080158 */ swc1 $f8, 0x0158($s0) ## 00000158
|
||||
/* 00C98 80A128B8 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00C9C 80A128BC 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 00CA0 80A128C0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00CA4 80A128C4 E60A0174 */ swc1 $f10, 0x0174($s0) ## 00000174
|
||||
/* 00CA8 80A128C8 E6080160 */ swc1 $f8, 0x0160($s0) ## 00000160
|
||||
/* 00CAC 80A128CC 46022000 */ add.s $f0, $f4, $f2
|
||||
/* 00CB0 80A128D0 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00CB4 80A128D4 E60000C4 */ swc1 $f0, 0x00C4($s0) ## 000000C4
|
||||
/* 00CB8 80A128D8 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00CBC 80A128DC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00CC0 80A128E0 45020003 */ bc1fl .L80A128F0
|
||||
/* 00CC4 80A128E4 C60600C4 */ lwc1 $f6, 0x00C4($s0) ## 000000C4
|
||||
/* 00CC8 80A128E8 E60200C4 */ swc1 $f2, 0x00C4($s0) ## 000000C4
|
||||
/* 00CCC 80A128EC C60600C4 */ lwc1 $f6, 0x00C4($s0) ## 000000C4
|
||||
.L80A128F0:
|
||||
/* 00CD0 80A128F0 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00CD4 80A128F4 00000000 */ nop
|
||||
/* 00CD8 80A128F8 45020003 */ bc1fl .L80A12908
|
||||
/* 00CDC 80A128FC 8603018C */ lh $v1, 0x018C($s0) ## 0000018C
|
||||
/* 00CE0 80A12900 E60000C4 */ swc1 $f0, 0x00C4($s0) ## 000000C4
|
||||
/* 00CE4 80A12904 8603018C */ lh $v1, 0x018C($s0) ## 0000018C
|
||||
.L80A12908:
|
||||
/* 00CE8 80A12908 50600003 */ beql $v1, $zero, .L80A12918
|
||||
/* 00CEC 80A1290C 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
||||
/* 00CF0 80A12910 14610009 */ bne $v1, $at, .L80A12938
|
||||
/* 00CF4 80A12914 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
||||
.L80A12918:
|
||||
/* 00CF8 80A12918 44815000 */ mtc1 $at, $f10 ## $f10 = 7.00
|
||||
/* 00CFC 80A1291C C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
|
||||
/* 00D00 80A12920 3C0180A1 */ lui $at, %hi(D_80A12EDC) ## $at = 80A10000
|
||||
/* 00D04 80A12924 C4322EDC */ lwc1 $f18, %lo(D_80A12EDC)($at)
|
||||
/* 00D08 80A12928 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00D0C 80A1292C 8603018C */ lh $v1, 0x018C($s0) ## 0000018C
|
||||
/* 00D10 80A12930 46109101 */ sub.s $f4, $f18, $f16
|
||||
/* 00D14 80A12934 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
|
||||
.L80A12938:
|
||||
/* 00D18 80A12938 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00D1C 80A1293C 50610011 */ beql $v1, $at, .L80A12984
|
||||
/* 00D20 80A12940 8E090168 */ lw $t1, 0x0168($s0) ## 00000168
|
||||
/* 00D24 80A12944 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00D28 80A12948 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D2C 80A1294C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00D30 80A12950 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
|
||||
/* 00D34 80A12954 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00D38 80A12958 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
|
||||
/* 00D3C 80A1295C 2408001C */ addiu $t0, $zero, 0x001C ## $t0 = 0000001C
|
||||
/* 00D40 80A12960 44060000 */ mfc1 $a2, $f0
|
||||
/* 00D44 80A12964 44070000 */ mfc1 $a3, $f0
|
||||
/* 00D48 80A12968 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00D4C 80A1296C 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00D50 80A12970 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00D54 80A12974 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 00D58 80A12978 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00D5C 80A1297C 8603018C */ lh $v1, 0x018C($s0) ## 0000018C
|
||||
/* 00D60 80A12980 8E090168 */ lw $t1, 0x0168($s0) ## 00000168
|
||||
.L80A12984:
|
||||
/* 00D64 80A12984 3C0680A1 */ lui $a2, %hi(func_80A1241C) ## $a2 = 80A10000
|
||||
/* 00D68 80A12988 24C6241C */ addiu $a2, $a2, %lo(func_80A1241C) ## $a2 = 80A1241C
|
||||
/* 00D6C 80A1298C 10C9001B */ beq $a2, $t1, .L80A129FC
|
||||
/* 00D70 80A12990 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00D74 80A12994 10600005 */ beq $v1, $zero, .L80A129AC
|
||||
/* 00D78 80A12998 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00D7C 80A1299C 10610003 */ beq $v1, $at, .L80A129AC
|
||||
/* 00D80 80A129A0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00D84 80A129A4 54610016 */ bnel $v1, $at, .L80A12A00
|
||||
/* 00D88 80A129A8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
.L80A129AC:
|
||||
/* 00D8C 80A129AC 920201A4 */ lbu $v0, 0x01A4($s0) ## 000001A4
|
||||
/* 00D90 80A129B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D94 80A129B4 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
|
||||
/* 00D98 80A129B8 304A0004 */ andi $t2, $v0, 0x0004 ## $t2 = 00000000
|
||||
/* 00D9C 80A129BC 1140000E */ beq $t2, $zero, .L80A129F8
|
||||
/* 00DA0 80A129C0 304BFFFB */ andi $t3, $v0, 0xFFFB ## $t3 = 00000000
|
||||
/* 00DA4 80A129C4 A20B01A4 */ sb $t3, 0x01A4($s0) ## 000001A4
|
||||
/* 00DA8 80A129C8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00DAC 80A129CC AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 00DB0 80A129D0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00DB4 80A129D4 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
/* 00DB8 80A129D8 3C0480A1 */ lui $a0, %hi(D_80A12E24) ## $a0 = 80A10000
|
||||
/* 00DBC 80A129DC 24842E24 */ addiu $a0, $a0, %lo(D_80A12E24) ## $a0 = 80A12E24
|
||||
/* 00DC0 80A129E0 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
|
||||
/* 00DC4 80A129E4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
|
||||
/* 00DC8 80A129E8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00DCC 80A129EC AE060168 */ sw $a2, 0x0168($s0) ## 00000168
|
||||
/* 00DD0 80A129F0 10000033 */ beq $zero, $zero, .L80A12AC0
|
||||
/* 00DD4 80A129F4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A129F8:
|
||||
/* 00DD8 80A129F8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A129FC:
|
||||
/* 00DDC 80A129FC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
.L80A12A00:
|
||||
/* 00DE0 80A12A00 1461001E */ bne $v1, $at, .L80A12A7C
|
||||
/* 00DE4 80A12A04 00000000 */ nop
|
||||
/* 00DE8 80A12A08 920201A4 */ lbu $v0, 0x01A4($s0) ## 000001A4
|
||||
/* 00DEC 80A12A0C 304C0002 */ andi $t4, $v0, 0x0002 ## $t4 = 00000000
|
||||
/* 00DF0 80A12A10 11800019 */ beq $t4, $zero, .L80A12A78
|
||||
/* 00DF4 80A12A14 304DFFFD */ andi $t5, $v0, 0xFFFD ## $t5 = 00000001
|
||||
/* 00DF8 80A12A18 A20D01A4 */ sb $t5, 0x01A4($s0) ## 000001A4
|
||||
/* 00DFC 80A12A1C 8FAE0038 */ lw $t6, 0x0038($sp)
|
||||
/* 00E00 80A12A20 8E0F0198 */ lw $t7, 0x0198($s0) ## 00000198
|
||||
/* 00E04 80A12A24 8FA2003C */ lw $v0, 0x003C($sp)
|
||||
/* 00E08 80A12A28 55CF0014 */ bnel $t6, $t7, .L80A12A7C
|
||||
/* 00E0C 80A12A2C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00E10 80A12A30 8C59067C */ lw $t9, 0x067C($v0) ## 0000067D
|
||||
/* 00E14 80A12A34 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E18 80A12A38 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00E1C 80A12A3C 0019C140 */ sll $t8, $t9, 5
|
||||
/* 00E20 80A12A40 0700001E */ bltz $t8, .L80A12ABC
|
||||
/* 00E24 80A12A44 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 00E28 80A12A48 84470032 */ lh $a3, 0x0032($v0) ## 00000033
|
||||
/* 00E2C 80A12A4C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00E30 80A12A50 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
|
||||
/* 00E34 80A12A54 00073823 */ subu $a3, $zero, $a3
|
||||
/* 00E38 80A12A58 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00E3C 80A12A5C 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
|
||||
/* 00E40 80A12A60 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00E44 80A12A64 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00E48 80A12A68 0C00BDD6 */ jal func_8002F758
|
||||
/* 00E4C 80A12A6C E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 00E50 80A12A70 10000013 */ beq $zero, $zero, .L80A12AC0
|
||||
/* 00E54 80A12A74 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A12A78:
|
||||
/* 00E58 80A12A78 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A12A7C:
|
||||
/* 00E5C 80A12A7C 1040000F */ beq $v0, $zero, .L80A12ABC
|
||||
/* 00E60 80A12A80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E64 80A12A84 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00E68 80A12A88 0C0189B7 */ jal Collider_UpdateCylinder
|
||||
|
||||
/* 00E6C 80A12A8C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00E70 80A12A90 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E74 80A12A94 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00E78 80A12A98 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00E7C 80A12A9C 00812821 */ addu $a1, $a0, $at
|
||||
/* 00E80 80A12AA0 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00E84 80A12AA4 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00E88 80A12AA8 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 00E8C 80A12AAC 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00E90 80A12AB0 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E94 80A12AB4 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00E98 80A12AB8 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
.L80A12ABC:
|
||||
/* 00E9C 80A12ABC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A12AC0:
|
||||
/* 00EA0 80A12AC0 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00EA4 80A12AC4 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00EA8 80A12AC8 03E00008 */ jr $ra
|
||||
/* 00EAC 80A12ACC 00000000 */ nop
|
|
@ -1,248 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A12ECC
|
||||
.word 0xC61C4000
|
||||
glabel D_80A12ED0
|
||||
.word 0xC4A14000
|
||||
glabel D_80A12ED4
|
||||
.word 0xC5728000
|
||||
|
||||
.text
|
||||
glabel func_80A120CC
|
||||
/* 004AC 80A120CC 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 004B0 80A120D0 AFBF0044 */ sw $ra, 0x0044($sp)
|
||||
/* 004B4 80A120D4 AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 004B8 80A120D8 AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 004BC 80A120DC AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 004C0 80A120E0 F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 004C4 80A120E4 3C0180A1 */ lui $at, %hi(D_80A12ECC) ## $at = 80A10000
|
||||
/* 004C8 80A120E8 C4242ECC */ lwc1 $f4, %lo(D_80A12ECC)($at)
|
||||
/* 004CC 80A120EC C4860080 */ lwc1 $f6, 0x0080($a0) ## 00000080
|
||||
/* 004D0 80A120F0 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 004D4 80A120F4 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 004D8 80A120F8 46062032 */ c.eq.s $f4, $f6
|
||||
/* 004DC 80A120FC 8CB01C44 */ lw $s0, 0x1C44($a1) ## 00001C44
|
||||
/* 004E0 80A12100 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 004E4 80A12104 45010009 */ bc1t .L80A1212C
|
||||
/* 004E8 80A12108 00000000 */ nop
|
||||
/* 004EC 80A1210C C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028
|
||||
/* 004F0 80A12110 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
|
||||
/* 004F4 80A12114 C4800028 */ lwc1 $f0, 0x0028($a0) ## 00000028
|
||||
/* 004F8 80A12118 46081281 */ sub.s $f10, $f2, $f8
|
||||
/* 004FC 80A1211C 460A003C */ c.lt.s $f0, $f10
|
||||
/* 00500 80A12120 00000000 */ nop
|
||||
/* 00504 80A12124 45020006 */ bc1fl .L80A12140
|
||||
/* 00508 80A12128 8622018C */ lh $v0, 0x018C($s1) ## 0000018C
|
||||
.L80A1212C:
|
||||
/* 0050C 80A1212C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00510 80A12130 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00514 80A12134 100000B3 */ beq $zero, $zero, .L80A12404
|
||||
/* 00518 80A12138 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 0051C 80A1213C 8622018C */ lh $v0, 0x018C($s1) ## 0000018C
|
||||
.L80A12140:
|
||||
/* 00520 80A12140 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00524 80A12144 5040000A */ beql $v0, $zero, .L80A12170
|
||||
/* 00528 80A12148 4600103C */ c.lt.s $f2, $f0
|
||||
/* 0052C 80A1214C 1041004B */ beq $v0, $at, .L80A1227C
|
||||
/* 00530 80A12150 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
||||
/* 00534 80A12154 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00538 80A12158 1041002C */ beq $v0, $at, .L80A1220C
|
||||
/* 0053C 80A1215C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00540 80A12160 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
|
||||
/* 00544 80A12164 10000051 */ beq $zero, $zero, .L80A122AC
|
||||
/* 00548 80A12168 96390088 */ lhu $t9, 0x0088($s1) ## 00000088
|
||||
/* 0054C 80A1216C 4600103C */ c.lt.s $f2, $f0
|
||||
.L80A12170:
|
||||
/* 00550 80A12170 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000
|
||||
/* 00554 80A12174 45020026 */ bc1fl .L80A12210
|
||||
/* 00558 80A12178 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 0055C 80A1217C C6020024 */ lwc1 $f2, 0x0024($s0) ## 00000024
|
||||
/* 00560 80A12180 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00
|
||||
/* 00564 80A12184 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00568 80A12188 4602803C */ c.lt.s $f16, $f2
|
||||
/* 0056C 80A1218C 00000000 */ nop
|
||||
/* 00570 80A12190 45030013 */ bc1tl .L80A121E0
|
||||
/* 00574 80A12194 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00578 80A12198 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 0057C 80A1219C 3C0180A1 */ lui $at, %hi(D_80A12ED0) ## $at = 80A10000
|
||||
/* 00580 80A121A0 4612103C */ c.lt.s $f2, $f18
|
||||
/* 00584 80A121A4 00000000 */ nop
|
||||
/* 00588 80A121A8 4503000D */ bc1tl .L80A121E0
|
||||
/* 0058C 80A121AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00590 80A121B0 C600002C */ lwc1 $f0, 0x002C($s0) ## 0000002C
|
||||
/* 00594 80A121B4 C4242ED0 */ lwc1 $f4, %lo(D_80A12ED0)($at)
|
||||
/* 00598 80A121B8 3C0180A1 */ lui $at, %hi(D_80A12ED4) ## $at = 80A10000
|
||||
/* 0059C 80A121BC 4600203C */ c.lt.s $f4, $f0
|
||||
/* 005A0 80A121C0 00000000 */ nop
|
||||
/* 005A4 80A121C4 45030006 */ bc1tl .L80A121E0
|
||||
/* 005A8 80A121C8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 005AC 80A121CC C4262ED4 */ lwc1 $f6, %lo(D_80A12ED4)($at)
|
||||
/* 005B0 80A121D0 4606003C */ c.lt.s $f0, $f6
|
||||
/* 005B4 80A121D4 00000000 */ nop
|
||||
/* 005B8 80A121D8 4500000C */ bc1f .L80A1220C
|
||||
/* 005BC 80A121DC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
.L80A121E0:
|
||||
/* 005C0 80A121E0 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
|
||||
/* 005C4 80A121E4 44051000 */ mfc1 $a1, $f2
|
||||
/* 005C8 80A121E8 26240024 */ addiu $a0, $s1, 0x0024 ## $a0 = 00000024
|
||||
/* 005CC 80A121EC 4406A000 */ mfc1 $a2, $f20
|
||||
/* 005D0 80A121F0 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 005D4 80A121F4 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
|
||||
/* 005D8 80A121F8 4406A000 */ mfc1 $a2, $f20
|
||||
/* 005DC 80A121FC 2624002C */ addiu $a0, $s1, 0x002C ## $a0 = 0000002C
|
||||
/* 005E0 80A12200 8E05002C */ lw $a1, 0x002C($s0) ## 0000002C
|
||||
/* 005E4 80A12204 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 005E8 80A12208 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
|
||||
.L80A1220C:
|
||||
/* 005EC 80A1220C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
.L80A12210:
|
||||
/* 005F0 80A12210 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
|
||||
/* 005F4 80A12214 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 005F8 80A12218 4600A306 */ mov.s $f12, $f20
|
||||
/* 005FC 80A1221C C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
|
||||
/* 00600 80A12220 4600A306 */ mov.s $f12, $f20
|
||||
/* 00604 80A12224 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00608 80A12228 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 0060C 80A1222C E7AA0058 */ swc1 $f10, 0x0058($sp)
|
||||
/* 00610 80A12230 C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
|
||||
/* 00614 80A12234 4600A306 */ mov.s $f12, $f20
|
||||
/* 00618 80A12238 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 0061C 80A1223C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00620 80A12240 E7B2005C */ swc1 $f18, 0x005C($sp)
|
||||
/* 00624 80A12244 C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
|
||||
/* 00628 80A12248 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 0062C 80A1224C AFAE0018 */ sw $t6, 0x0018($sp)
|
||||
/* 00630 80A12250 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 00634 80A12254 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00638 80A12258 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0063C 80A1225C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00640 80A12260 E7A60060 */ swc1 $f6, 0x0060($sp)
|
||||
/* 00644 80A12264 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00648 80A12268 27A60058 */ addiu $a2, $sp, 0x0058 ## $a2 = FFFFFFF0
|
||||
/* 0064C 80A1226C 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
|
||||
/* 00650 80A12270 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
|
||||
/* 00654 80A12274 1000000D */ beq $zero, $zero, .L80A122AC
|
||||
/* 00658 80A12278 96390088 */ lhu $t9, 0x0088($s1) ## 00000088
|
||||
.L80A1227C:
|
||||
/* 0065C 80A1227C 01F27821 */ addu $t7, $t7, $s2
|
||||
/* 00660 80A12280 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00001DE4
|
||||
/* 00664 80A12284 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00668 80A12288 31F80003 */ andi $t8, $t7, 0x0003 ## $t8 = 00000000
|
||||
/* 0066C 80A1228C 57000004 */ bnel $t8, $zero, .L80A122A0
|
||||
/* 00670 80A12290 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00674 80A12294 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00678 80A12298 240538D7 */ addiu $a1, $zero, 0x38D7 ## $a1 = 000038D7
|
||||
/* 0067C 80A1229C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
.L80A122A0:
|
||||
/* 00680 80A122A0 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
|
||||
/* 00684 80A122A4 00000000 */ nop
|
||||
/* 00688 80A122A8 96390088 */ lhu $t9, 0x0088($s1) ## 00000088
|
||||
.L80A122AC:
|
||||
/* 0068C 80A122AC 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000
|
||||
/* 00690 80A122B0 51000054 */ beql $t0, $zero, .L80A12404
|
||||
/* 00694 80A122B4 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 00698 80A122B8 86290188 */ lh $t1, 0x0188($s1) ## 00000188
|
||||
/* 0069C 80A122BC 55200051 */ bnel $t1, $zero, .L80A12404
|
||||
/* 006A0 80A122C0 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 006A4 80A122C4 8622018C */ lh $v0, 0x018C($s1) ## 0000018C
|
||||
/* 006A8 80A122C8 26300024 */ addiu $s0, $s1, 0x0024 ## $s0 = 00000024
|
||||
/* 006AC 80A122CC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 006B0 80A122D0 10400005 */ beq $v0, $zero, .L80A122E8
|
||||
/* 006B4 80A122D4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 006B8 80A122D8 10410007 */ beq $v0, $at, .L80A122F8
|
||||
/* 006BC 80A122DC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 006C0 80A122E0 14410032 */ bne $v0, $at, .L80A123AC
|
||||
/* 006C4 80A122E4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
.L80A122E8:
|
||||
/* 006C8 80A122E8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 006CC 80A122EC 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 006D0 80A122F0 0C00CFA2 */ jal func_80033E88
|
||||
/* 006D4 80A122F4 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
|
||||
.L80A122F8:
|
||||
/* 006D8 80A122F8 8E2700C4 */ lw $a3, 0x00C4($s1) ## 000000C4
|
||||
/* 006DC 80A122FC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 006E0 80A12300 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
|
||||
/* 006E4 80A12304 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 006E8 80A12308 240B01F4 */ addiu $t3, $zero, 0x01F4 ## $t3 = 000001F4
|
||||
/* 006EC 80A1230C 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
|
||||
/* 006F0 80A12310 AFAC001C */ sw $t4, 0x001C($sp)
|
||||
/* 006F4 80A12314 AFAB0018 */ sw $t3, 0x0018($sp)
|
||||
/* 006F8 80A12318 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 006FC 80A1231C AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00700 80A12320 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00704 80A12324 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00708 80A12328 02003025 */ or $a2, $s0, $zero ## $a2 = 00000024
|
||||
/* 0070C 80A1232C 0C00CC98 */ jal func_80033260
|
||||
/* 00710 80A12330 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 00714 80A12334 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
.L80A12338:
|
||||
/* 00718 80A12338 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 0071C 80A1233C 4600A306 */ mov.s $f12, $f20
|
||||
/* 00720 80A12340 C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
|
||||
/* 00724 80A12344 4600A306 */ mov.s $f12, $f20
|
||||
/* 00728 80A12348 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 0072C 80A1234C E7B00058 */ swc1 $f16, 0x0058($sp)
|
||||
/* 00730 80A12350 C6320080 */ lwc1 $f18, 0x0080($s1) ## 00000080
|
||||
/* 00734 80A12354 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00738 80A12358 E7B2005C */ swc1 $f18, 0x005C($sp)
|
||||
/* 0073C 80A1235C C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
|
||||
/* 00740 80A12360 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF
|
||||
/* 00744 80A12364 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 00748 80A12368 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 0074C 80A1236C AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00750 80A12370 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00754 80A12374 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00758 80A12378 E7A60060 */ swc1 $f6, 0x0060($sp)
|
||||
/* 0075C 80A1237C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00760 80A12380 27A60058 */ addiu $a2, $sp, 0x0058 ## $a2 = FFFFFFF0
|
||||
/* 00764 80A12384 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
|
||||
/* 00768 80A12388 2407012C */ addiu $a3, $zero, 0x012C ## $a3 = 0000012C
|
||||
/* 0076C 80A1238C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00770 80A12390 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00774 80A12394 1601FFE8 */ bne $s0, $at, .L80A12338
|
||||
/* 00778 80A12398 00000000 */ nop
|
||||
/* 0077C 80A1239C 3C0E80A1 */ lui $t6, %hi(func_80A1241C) ## $t6 = 80A10000
|
||||
/* 00780 80A123A0 25CE241C */ addiu $t6, $t6, %lo(func_80A1241C) ## $t6 = 80A1241C
|
||||
/* 00784 80A123A4 10000016 */ beq $zero, $zero, .L80A12400
|
||||
/* 00788 80A123A8 AE2E0168 */ sw $t6, 0x0168($s1) ## 00000168
|
||||
.L80A123AC:
|
||||
/* 0078C 80A123AC 8E2700C4 */ lw $a3, 0x00C4($s1) ## 000000C4
|
||||
/* 00790 80A123B0 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 00794 80A123B4 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
|
||||
/* 00798 80A123B8 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 0079C 80A123BC 241800C8 */ addiu $t8, $zero, 0x00C8 ## $t8 = 000000C8
|
||||
/* 007A0 80A123C0 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
|
||||
/* 007A4 80A123C4 AFB9001C */ sw $t9, 0x001C($sp)
|
||||
/* 007A8 80A123C8 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 007AC 80A123CC AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 007B0 80A123D0 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 007B4 80A123D4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 007B8 80A123D8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000001
|
||||
/* 007BC 80A123DC 0C00CC98 */ jal func_80033260
|
||||
/* 007C0 80A123E0 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 007C4 80A123E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 007C8 80A123E8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000001
|
||||
/* 007CC 80A123EC 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 007D0 80A123F0 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 007D4 80A123F4 24072802 */ addiu $a3, $zero, 0x2802 ## $a3 = 00002802
|
||||
/* 007D8 80A123F8 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 007DC 80A123FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L80A12400:
|
||||
/* 007E0 80A12400 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
.L80A12404:
|
||||
/* 007E4 80A12404 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 007E8 80A12408 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 007EC 80A1240C 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 007F0 80A12410 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 007F4 80A12414 03E00008 */ jr $ra
|
||||
/* 007F8 80A12418 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
|
@ -1,129 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12DC4
|
||||
.asciz "\x1b[33m☆☆☆☆☆ イッパイデッス ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A12ED8
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_80A1241C
|
||||
/* 007FC 80A1241C 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 00800 80A12420 AFBF0074 */ sw $ra, 0x0074($sp)
|
||||
/* 00804 80A12424 AFB60070 */ sw $s6, 0x0070($sp)
|
||||
/* 00808 80A12428 AFB5006C */ sw $s5, 0x006C($sp)
|
||||
/* 0080C 80A1242C AFB40068 */ sw $s4, 0x0068($sp)
|
||||
/* 00810 80A12430 AFB30064 */ sw $s3, 0x0064($sp)
|
||||
/* 00814 80A12434 AFB20060 */ sw $s2, 0x0060($sp)
|
||||
/* 00818 80A12438 AFB1005C */ sw $s1, 0x005C($sp)
|
||||
/* 0081C 80A1243C AFB00058 */ sw $s0, 0x0058($sp)
|
||||
/* 00820 80A12440 F7BC0050 */ sdc1 $f28, 0x0050($sp)
|
||||
/* 00824 80A12444 F7BA0048 */ sdc1 $f26, 0x0048($sp)
|
||||
/* 00828 80A12448 F7B80040 */ sdc1 $f24, 0x0040($sp)
|
||||
/* 0082C 80A1244C F7B60038 */ sdc1 $f22, 0x0038($sp)
|
||||
/* 00830 80A12450 F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 00834 80A12454 8482018C */ lh $v0, 0x018C($a0) ## 0000018C
|
||||
/* 00838 80A12458 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 0083C 80A1245C 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
|
||||
/* 00840 80A12460 10400006 */ beq $v0, $zero, .L80A1247C
|
||||
/* 00844 80A12464 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 00848 80A12468 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 0084C 80A1246C 10410005 */ beq $v0, $at, .L80A12484
|
||||
/* 00850 80A12470 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00854 80A12474 14410004 */ bne $v0, $at, .L80A12488
|
||||
/* 00858 80A12478 00000000 */ nop
|
||||
.L80A1247C:
|
||||
/* 0085C 80A1247C 10000002 */ beq $zero, $zero, .L80A12488
|
||||
/* 00860 80A12480 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
.L80A12484:
|
||||
/* 00864 80A12484 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
.L80A12488:
|
||||
/* 00868 80A12488 1060003A */ beq $v1, $zero, .L80A12574
|
||||
/* 0086C 80A1248C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00870 80A12490 3C0180A1 */ lui $at, %hi(D_80A12ED8) ## $at = 80A10000
|
||||
/* 00874 80A12494 C43C2ED8 */ lwc1 $f28, %lo(D_80A12ED8)($at)
|
||||
/* 00878 80A12498 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0087C 80A1249C 4481D000 */ mtc1 $at, $f26 ## $f26 = 10.00
|
||||
/* 00880 80A124A0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00884 80A124A4 00039C00 */ sll $s3, $v1, 16
|
||||
/* 00888 80A124A8 3C1580A1 */ lui $s5, %hi(D_80A12DC4) ## $s5 = 80A10000
|
||||
/* 0088C 80A124AC 4481C000 */ mtc1 $at, $f24 ## $f24 = 3.00
|
||||
/* 00890 80A124B0 26B52DC4 */ addiu $s5, $s5, %lo(D_80A12DC4) ## $s5 = 80A12DC4
|
||||
/* 00894 80A124B4 00139C03 */ sra $s3, $s3, 16
|
||||
/* 00898 80A124B8 26D21C24 */ addiu $s2, $s6, 0x1C24 ## $s2 = 00001C24
|
||||
/* 0089C 80A124BC 24140002 */ addiu $s4, $zero, 0x0002 ## $s4 = 00000002
|
||||
.L80A124C0:
|
||||
/* 008A0 80A124C0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 008A4 80A124C4 4600C306 */ mov.s $f12, $f24
|
||||
/* 008A8 80A124C8 46000506 */ mov.s $f20, $f0
|
||||
/* 008AC 80A124CC 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 008B0 80A124D0 4600C306 */ mov.s $f12, $f24
|
||||
/* 008B4 80A124D4 46000586 */ mov.s $f22, $f0
|
||||
/* 008B8 80A124D8 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 008BC 80A124DC 4600C306 */ mov.s $f12, $f24
|
||||
/* 008C0 80A124E0 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
|
||||
/* 008C4 80A124E4 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
|
||||
/* 008C8 80A124E8 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24
|
||||
/* 008CC 80A124EC 461A4280 */ add.s $f10, $f8, $f26
|
||||
/* 008D0 80A124F0 02C02825 */ or $a1, $s6, $zero ## $a1 = 00000000
|
||||
/* 008D4 80A124F4 240600B5 */ addiu $a2, $zero, 0x00B5 ## $a2 = 000000B5
|
||||
/* 008D8 80A124F8 4604A180 */ add.s $f6, $f20, $f4
|
||||
/* 008DC 80A124FC 460AB400 */ add.s $f16, $f22, $f10
|
||||
/* 008E0 80A12500 44073000 */ mfc1 $a3, $f6
|
||||
/* 008E4 80A12504 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 008E8 80A12508 C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C
|
||||
/* 008EC 80A1250C AFB30024 */ sw $s3, 0x0024($sp)
|
||||
/* 008F0 80A12510 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 008F4 80A12514 46120100 */ add.s $f4, $f0, $f18
|
||||
/* 008F8 80A12518 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 008FC 80A1251C AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00900 80A12520 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00904 80A12524 E7A40014 */ swc1 $f4, 0x0014($sp)
|
||||
/* 00908 80A12528 1040000A */ beq $v0, $zero, .L80A12554
|
||||
/* 0090C 80A1252C 00000000 */ nop
|
||||
/* 00910 80A12530 862E0032 */ lh $t6, 0x0032($s1) ## 00000032
|
||||
/* 00914 80A12534 16000003 */ bne $s0, $zero, .L80A12544
|
||||
/* 00918 80A12538 A44E0032 */ sh $t6, 0x0032($v0) ## 00000032
|
||||
/* 0091C 80A1253C 862F00B6 */ lh $t7, 0x00B6($s1) ## 000000B6
|
||||
/* 00920 80A12540 A44F00B6 */ sh $t7, 0x00B6($v0) ## 000000B6
|
||||
.L80A12544:
|
||||
/* 00924 80A12544 C626016C */ lwc1 $f6, 0x016C($s1) ## 0000016C
|
||||
/* 00928 80A12548 461C3201 */ sub.s $f8, $f6, $f28
|
||||
/* 0092C 80A1254C 10000003 */ beq $zero, $zero, .L80A1255C
|
||||
/* 00930 80A12550 E448016C */ swc1 $f8, 0x016C($v0) ## 0000016C
|
||||
.L80A12554:
|
||||
/* 00934 80A12554 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00938 80A12558 02A02025 */ or $a0, $s5, $zero ## $a0 = 80A12DC4
|
||||
.L80A1255C:
|
||||
/* 0093C 80A1255C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00940 80A12560 1614FFD7 */ bne $s0, $s4, .L80A124C0
|
||||
/* 00944 80A12564 00000000 */ nop
|
||||
/* 00948 80A12568 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0094C 80A1256C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00950 80A12570 240538D7 */ addiu $a1, $zero, 0x38D7 ## $a1 = 000038D7
|
||||
.L80A12574:
|
||||
/* 00954 80A12574 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00958 80A12578 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0095C 80A1257C 8FBF0074 */ lw $ra, 0x0074($sp)
|
||||
/* 00960 80A12580 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 00964 80A12584 D7B60038 */ ldc1 $f22, 0x0038($sp)
|
||||
/* 00968 80A12588 D7B80040 */ ldc1 $f24, 0x0040($sp)
|
||||
/* 0096C 80A1258C D7BA0048 */ ldc1 $f26, 0x0048($sp)
|
||||
/* 00970 80A12590 D7BC0050 */ ldc1 $f28, 0x0050($sp)
|
||||
/* 00974 80A12594 8FB00058 */ lw $s0, 0x0058($sp)
|
||||
/* 00978 80A12598 8FB1005C */ lw $s1, 0x005C($sp)
|
||||
/* 0097C 80A1259C 8FB20060 */ lw $s2, 0x0060($sp)
|
||||
/* 00980 80A125A0 8FB30064 */ lw $s3, 0x0064($sp)
|
||||
/* 00984 80A125A4 8FB40068 */ lw $s4, 0x0068($sp)
|
||||
/* 00988 80A125A8 8FB5006C */ lw $s5, 0x006C($sp)
|
||||
/* 0098C 80A125AC 8FB60070 */ lw $s6, 0x0070($sp)
|
||||
/* 00990 80A125B0 03E00008 */ jr $ra
|
||||
/* 00994 80A125B4 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
|
@ -1,111 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A12DF4
|
||||
.asciz "\x1b[33m☆☆☆☆☆ イッパイデッス ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A125B8
|
||||
/* 00998 80A125B8 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 0099C 80A125BC AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 009A0 80A125C0 AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 009A4 80A125C4 AFA50064 */ sw $a1, 0x0064($sp)
|
||||
/* 009A8 80A125C8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 009AC 80A125CC 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
|
||||
/* 009B0 80A125D0 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 009B4 80A125D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 009B8 80A125D8 4606203C */ c.lt.s $f4, $f6
|
||||
/* 009BC 80A125DC 00000000 */ nop
|
||||
/* 009C0 80A125E0 45020030 */ bc1fl .L80A126A4
|
||||
/* 009C4 80A125E4 A200018E */ sb $zero, 0x018E($s0) ## 0000018E
|
||||
/* 009C8 80A125E8 908E018E */ lbu $t6, 0x018E($a0) ## 0000018E
|
||||
/* 009CC 80A125EC 55C0002A */ bnel $t6, $zero, .L80A12698
|
||||
/* 009D0 80A125F0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 009D4 80A125F4 848F018A */ lh $t7, 0x018A($a0) ## 0000018A
|
||||
/* 009D8 80A125F8 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
|
||||
/* 009DC 80A125FC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 009E0 80A12600 55E00025 */ bnel $t7, $zero, .L80A12698
|
||||
/* 009E4 80A12604 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 009E8 80A12608 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 009EC 80A1260C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 009F0 80A12610 A498018A */ sh $t8, 0x018A($a0) ## 0000018A
|
||||
/* 009F4 80A12614 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 009F8 80A12618 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 009FC 80A1261C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00A00 80A12620 E7A00054 */ swc1 $f0, 0x0054($sp)
|
||||
/* 00A04 80A12624 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00A08 80A12628 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 00A0C 80A1262C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00A10 80A12630 C7A80054 */ lwc1 $f8, 0x0054($sp)
|
||||
/* 00A14 80A12634 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00A18 80A12638 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00A1C 80A1263C 8FA50064 */ lw $a1, 0x0064($sp)
|
||||
/* 00A20 80A12640 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 00A24 80A12644 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00A28 80A12648 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00A2C 80A1264C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00A30 80A12650 AFB90024 */ sw $t9, 0x0024($sp)
|
||||
/* 00A34 80A12654 44078000 */ mfc1 $a3, $f16
|
||||
/* 00A38 80A12658 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00A3C 80A1265C AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00A40 80A12660 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00A44 80A12664 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00A48 80A12668 E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 00A4C 80A1266C 240600B5 */ addiu $a2, $zero, 0x00B5 ## $a2 = 000000B5
|
||||
/* 00A50 80A12670 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00A54 80A12674 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00A58 80A12678 10400004 */ beq $v0, $zero, .L80A1268C
|
||||
/* 00A5C 80A1267C 3C0480A1 */ lui $a0, %hi(D_80A12DF4) ## $a0 = 80A10000
|
||||
/* 00A60 80A12680 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
|
||||
/* 00A64 80A12684 10000003 */ beq $zero, $zero, .L80A12694
|
||||
/* 00A68 80A12688 A4480188 */ sh $t0, 0x0188($v0) ## 00000188
|
||||
.L80A1268C:
|
||||
/* 00A6C 80A1268C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00A70 80A12690 24842DF4 */ addiu $a0, $a0, %lo(D_80A12DF4) ## $a0 = 80A12DF4
|
||||
.L80A12694:
|
||||
/* 00A74 80A12694 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
.L80A12698:
|
||||
/* 00A78 80A12698 10000002 */ beq $zero, $zero, .L80A126A4
|
||||
/* 00A7C 80A1269C A209018E */ sb $t1, 0x018E($s0) ## 0000018E
|
||||
/* 00A80 80A126A0 A200018E */ sb $zero, 0x018E($s0) ## 0000018E
|
||||
.L80A126A4:
|
||||
/* 00A84 80A126A4 3C0A8016 */ lui $t2, %hi(gGameInfo)
|
||||
/* 00A88 80A126A8 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
|
||||
/* 00A8C 80A126AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00A90 80A126B0 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 00A94 80A126B4 854B12D4 */ lh $t3, 0x12D4($t2) ## 801612D4
|
||||
/* 00A98 80A126B8 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
|
||||
/* 00A9C 80A126BC 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 00AA0 80A126C0 51600017 */ beql $t3, $zero, .L80A12720
|
||||
/* 00AA4 80A126C4 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 00AA8 80A126C8 860C0032 */ lh $t4, 0x0032($s0) ## 00000032
|
||||
/* 00AAC 80A126CC C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024
|
||||
/* 00AB0 80A126D0 C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028
|
||||
/* 00AB4 80A126D4 8E06002C */ lw $a2, 0x002C($s0) ## 0000002C
|
||||
/* 00AB8 80A126D8 86070030 */ lh $a3, 0x0030($s0) ## 00000030
|
||||
/* 00ABC 80A126DC AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00AC0 80A126E0 860D0034 */ lh $t5, 0x0034($s0) ## 00000034
|
||||
/* 00AC4 80A126E4 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 00AC8 80A126E8 8FB90064 */ lw $t9, 0x0064($sp)
|
||||
/* 00ACC 80A126EC AFB80034 */ sw $t8, 0x0034($sp)
|
||||
/* 00AD0 80A126F0 AFAF0030 */ sw $t7, 0x0030($sp)
|
||||
/* 00AD4 80A126F4 AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 00AD8 80A126F8 AFAE0028 */ sw $t6, 0x0028($sp)
|
||||
/* 00ADC 80A126FC AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00AE0 80A12700 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 00AE4 80A12704 E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 00AE8 80A12708 E7A0001C */ swc1 $f0, 0x001C($sp)
|
||||
/* 00AEC 80A1270C E7A00020 */ swc1 $f0, 0x0020($sp)
|
||||
/* 00AF0 80A12710 8F280000 */ lw $t0, 0x0000($t9) ## 00000000
|
||||
/* 00AF4 80A12714 0C018FA7 */ jal DebugDisplay_AddObject
|
||||
|
||||
/* 00AF8 80A12718 AFA80038 */ sw $t0, 0x0038($sp)
|
||||
/* 00AFC 80A1271C 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80A12720:
|
||||
/* 00B00 80A12720 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 00B04 80A12724 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
||||
/* 00B08 80A12728 03E00008 */ jr $ra
|
||||
/* 00B0C 80A1272C 00000000 */ nop
|
|
@ -1,64 +0,0 @@
|
|||
glabel func_80A12730
|
||||
/* 00B10 80A12730 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00B14 80A12734 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00B18 80A12738 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00B1C 80A1273C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00B20 80A12740 848E018A */ lh $t6, 0x018A($a0) ## 0000018A
|
||||
/* 00B24 80A12744 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B28 80A12748 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00B2C 80A1274C 55C0002D */ bnel $t6, $zero, .L80A12804
|
||||
/* 00B30 80A12750 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00B34 80A12754 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
|
||||
/* 00B38 80A12758 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00B3C 80A1275C 00000000 */ nop
|
||||
/* 00B40 80A12760 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00B44 80A12764 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00B48 80A12768 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
|
||||
/* 00B4C 80A1276C 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 00B50 80A12770 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00B54 80A12774 E7A60034 */ swc1 $f6, 0x0034($sp)
|
||||
/* 00B58 80A12778 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 00B5C 80A1277C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00B60 80A12780 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
|
||||
/* 00B64 80A12784 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00B68 80A12788 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00B6C 80A1278C E7AA0038 */ swc1 $f10, 0x0038($sp)
|
||||
/* 00B70 80A12790 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00B74 80A12794 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00B78 80A12798 44816000 */ mtc1 $at, $f12 ## $f12 = 60.00
|
||||
/* 00B7C 80A1279C 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 00B80 80A127A0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00B84 80A127A4 E7B2003C */ swc1 $f18, 0x003C($sp)
|
||||
/* 00B88 80A127A8 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 00B8C 80A127AC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00B90 80A127B0 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00
|
||||
/* 00B94 80A127B4 44082000 */ mfc1 $t0, $f4
|
||||
/* 00B98 80A127B8 00000000 */ nop
|
||||
/* 00B9C 80A127BC 25090082 */ addiu $t1, $t0, 0x0082 ## $t1 = 00000082
|
||||
/* 00BA0 80A127C0 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00BA4 80A127C4 A7A90032 */ sh $t1, 0x0032($sp)
|
||||
/* 00BA8 80A127C8 4600018D */ trunc.w.s $f6, $f0
|
||||
/* 00BAC 80A127CC 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00BB0 80A127D0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00BB4 80A127D4 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFF4
|
||||
/* 00BB8 80A127D8 440D3000 */ mfc1 $t5, $f6
|
||||
/* 00BBC 80A127DC 00000000 */ nop
|
||||
/* 00BC0 80A127E0 25AE0003 */ addiu $t6, $t5, 0x0003 ## $t6 = 00000003
|
||||
/* 00BC4 80A127E4 A60E018A */ sh $t6, 0x018A($s0) ## 0000018A
|
||||
/* 00BC8 80A127E8 AFAF0018 */ sw $t7, 0x0018($sp)
|
||||
/* 00BCC 80A127EC AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00BD0 80A127F0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00BD4 80A127F4 87A70032 */ lh $a3, 0x0032($sp)
|
||||
/* 00BD8 80A127F8 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
|
||||
/* 00BDC 80A127FC 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00BE0 80A12800 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A12804:
|
||||
/* 00BE4 80A12804 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00BE8 80A12808 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00BEC 80A1280C 03E00008 */ jr $ra
|
||||
/* 00BF0 80A12810 00000000 */ nop
|
|
@ -1,18 +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 En_Encount2_InitVars
|
||||
.word 0x00B40500, 0x00000030, 0x00920000, 0x00000A20
|
||||
.word EnEncount2_Init
|
||||
.word 0x00000000
|
||||
.word EnEncount2_Update
|
||||
.word EnEncount2_Draw
|
||||
|
|
@ -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_80A08D80
|
||||
.incbin "baserom/ovl_En_Encount2", 0x13F0, 0x00000120
|
|
@ -1,22 +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 En_Fire_Rock_InitVars
|
||||
.word 0x00B50500, 0x00000030, 0x00920000, 0x000001E0
|
||||
.word EnFireRock_Init
|
||||
.word EnFireRock_Destroy
|
||||
.word EnFireRock_Update
|
||||
.word EnFireRock_Draw
|
||||
glabel D_80A12CA0
|
||||
.word 0x0C110900, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x09080000, 0xFFCFFFFF, 0x00000000, 0x01010000, 0x001E001E, 0xFFF60000, 0x00000000
|
||||
glabel D_80A12CCC
|
||||
.word 0x0C110900, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x01080000, 0xFFCFFFFF, 0x00000000, 0x01010000, 0x001E001E, 0xFFF60000, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_80A12EF0
|
||||
.incbin "baserom/ovl_En_Fire_Rock", 0x12D0, 0x00000180
|
|
@ -75,9 +75,9 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ u32 size;
|
||||
/* 0x0004 */ void* bufp;
|
||||
/* 0x0008 */ void* head;
|
||||
/* 0x000C */ void* tail;
|
||||
/* 0x0004 */ void* bufp;
|
||||
/* 0x0008 */ void* head;
|
||||
/* 0x000C */ void* tail;
|
||||
} TwoHeadArena; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
|
|
6
spec
6
spec
|
@ -2182,8 +2182,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Encount2"
|
||||
include "build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o"
|
||||
include "build/data/overlays/actors/z_en_encount2.data.o"
|
||||
include "build/data/overlays/actors/z_en_encount2.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Encount2/ovl_En_Encount2_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -2220,8 +2219,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Fire_Rock"
|
||||
include "build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o"
|
||||
include "build/data/overlays/actors/z_en_fire_rock.data.o"
|
||||
include "build/data/overlays/actors/z_en_fire_rock.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Fire_Rock/ovl_En_Fire_Rock_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,16 +1,30 @@
|
|||
#include "z_en_encount2.h"
|
||||
#include "overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
#define THIS ((EnEncount2*)thisx)
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ ENCOUNT2_INACTIVE,
|
||||
/* 0x1 */ ENCOUNT2_ACTIVE_DEATH_MOUNTAIN,
|
||||
/* 0x2 */ ENCOUNT2_ACTIVE_GANONS_TOWER
|
||||
} Encount2State;
|
||||
|
||||
void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnEncount2_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnEncount2_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06000DE0;
|
||||
void EnEncount2_Wait(EnEncount2* this, GlobalContext* globalCtx);
|
||||
void EnEncount2_SpawnRocks(EnEncount2* this, GlobalContext* globalCtx);
|
||||
|
||||
void EnEncount2_ParticleInit(EnEncount2* this, Vec3f* particlePos, f32 scale);
|
||||
void EnEncount2_ParticleDraw(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnEncount2_ParticleUpdate(EnEncount2* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx* D_06000DE0[];
|
||||
|
||||
/*
|
||||
const ActorInit En_Encount2_InitVars = {
|
||||
ACTOR_EN_ENCOUNT2,
|
||||
ACTORCAT_ENEMY,
|
||||
|
@ -22,19 +36,339 @@ const ActorInit En_Encount2_InitVars = {
|
|||
(ActorFunc)EnEncount2_Update,
|
||||
(ActorFunc)EnEncount2_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/EnEncount2_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/func_80A07A4C.s")
|
||||
void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnEncount2* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/func_80A07CA4.s")
|
||||
if (globalCtx->sceneNum != SCENE_SPOT16) {
|
||||
this->isNotDeathMountain = true;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/EnEncount2_Update.s")
|
||||
if (!this->isNotDeathMountain) {
|
||||
osSyncPrintf("\n\n");
|
||||
// "☆☆☆☆☆ Death Mountain Encount2 set ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ デスマウンテンエンカウント2セットされました ☆☆☆☆☆ %d\n" VT_RST,
|
||||
this->actor.params);
|
||||
if (LINK_IS_ADULT && (gSaveContext.eventChkInf[4] & 0x200)) { // flag for having used fire temple blue warp
|
||||
Actor_Kill(thisx);
|
||||
}
|
||||
} else {
|
||||
osSyncPrintf("\n\n");
|
||||
// "☆☆☆☆☆ Ganon Tower Escape Encount2 set ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ガノンタワー脱出エンカウント2セットされました ☆☆☆☆☆ %d\n" VT_RST,
|
||||
this->actor.params);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/EnEncount2_Draw.s")
|
||||
this->actionFunc = EnEncount2_Wait;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/func_80A08694.s")
|
||||
void EnEncount2_Wait(EnEncount2* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s16 quakeIndex;
|
||||
s16 spawnerState;
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/func_80A08748.s")
|
||||
spawnerState = ENCOUNT2_INACTIVE;
|
||||
if (!this->isNotDeathMountain) {
|
||||
if ((player->actor.world.pos.y > 1500.0f) && (player->actor.world.pos.x > -700.0f) &&
|
||||
(player->actor.world.pos.x < 100.0f) && (player->actor.world.pos.z < -1290.0f) &&
|
||||
(player->actor.world.pos.z > -3600.0f)) {
|
||||
spawnerState = ENCOUNT2_ACTIVE_DEATH_MOUNTAIN;
|
||||
}
|
||||
} else if ((this->actor.xzDistToPlayer < 700.0f) && (Flags_GetSwitch(globalCtx, 0x37))) {
|
||||
s16 scene = globalCtx->sceneNum;
|
||||
if (((scene == SCENE_GANON_DEMO) || (scene == SCENE_GANON_FINAL) || (scene == SCENE_GANON_SONOGO) ||
|
||||
(scene == SCENE_GANONTIKA_SONOGO)) &&
|
||||
(!this->collapseSpawnerInactive)) {
|
||||
spawnerState = ENCOUNT2_ACTIVE_GANONS_TOWER;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Encount2/func_80A0891C.s")
|
||||
switch (spawnerState) {
|
||||
case ENCOUNT2_INACTIVE:
|
||||
this->isQuaking = false;
|
||||
this->envEffectsTimer--;
|
||||
if (this->envEffectsTimer <= 0) {
|
||||
this->envEffectsTimer = 0;
|
||||
}
|
||||
break;
|
||||
case ENCOUNT2_ACTIVE_DEATH_MOUNTAIN:
|
||||
if ((this->deathMountainSpawnerTimer == 1) || (!this->isQuaking)) {
|
||||
quakeIndex = Quake_Add(ACTIVE_CAM, 1);
|
||||
Quake_SetSpeed(quakeIndex, 0x7FFF);
|
||||
Quake_SetQuakeValues(quakeIndex, 50, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeIndex, 300);
|
||||
this->isQuaking = true;
|
||||
}
|
||||
case ENCOUNT2_ACTIVE_GANONS_TOWER:
|
||||
this->envEffectsTimer++;
|
||||
if (this->envEffectsTimer > 60) {
|
||||
this->envEffectsTimer = 60;
|
||||
}
|
||||
if (this->deathMountainSpawnerTimer == 0) {
|
||||
this->deathMountainSpawnerTimer = 200;
|
||||
this->numSpawnedRocks = 0;
|
||||
this->actionFunc = EnEncount2_SpawnRocks;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void EnEncount2_SpawnRocks(EnEncount2* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
EnFireRock* spawnedRock;
|
||||
f32 tempVec1X;
|
||||
f32 tempVec1Y;
|
||||
f32 tempVec1Z;
|
||||
f32 magnitude;
|
||||
f32 tempVec2X;
|
||||
f32 tempVec2Y;
|
||||
f32 tempVec2Z;
|
||||
f32 particleScale;
|
||||
Vec3f particlePos;
|
||||
s16 spawnedRockType;
|
||||
s16 spawnerState;
|
||||
s16 maxRocks;
|
||||
|
||||
this->envEffectsTimer++;
|
||||
|
||||
if (this->envEffectsTimer > 60) {
|
||||
this->envEffectsTimer = 60;
|
||||
}
|
||||
|
||||
spawnerState = ENCOUNT2_INACTIVE;
|
||||
|
||||
if (!this->isNotDeathMountain) {
|
||||
if (this->deathMountainSpawnerTimer == 0) {
|
||||
this->deathMountainSpawnerTimer = 100;
|
||||
this->actionFunc = EnEncount2_Wait;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((player->actor.world.pos.y > 1500.0f) && (player->actor.world.pos.x > -700.0f) &&
|
||||
(player->actor.world.pos.x < 100.0f) && (player->actor.world.pos.z < -1290.0f) &&
|
||||
(player->actor.world.pos.z > -3860.0f)) {
|
||||
maxRocks = 2;
|
||||
spawnerState = ENCOUNT2_ACTIVE_DEATH_MOUNTAIN;
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_VOLCANO - SFX_FLAG);
|
||||
} else if ((this->actor.xzDistToPlayer < 700.0f) && (Flags_GetSwitch(globalCtx, 0x37) != 0)) {
|
||||
s16 scene = globalCtx->sceneNum;
|
||||
|
||||
if (((scene == SCENE_GANON_DEMO) || (scene == SCENE_GANON_FINAL) || (scene == SCENE_GANON_SONOGO) ||
|
||||
(scene == SCENE_GANONTIKA_SONOGO)) &&
|
||||
(!this->collapseSpawnerInactive)) {
|
||||
maxRocks = 1;
|
||||
spawnerState = ENCOUNT2_ACTIVE_GANONS_TOWER;
|
||||
}
|
||||
}
|
||||
if (spawnerState != ENCOUNT2_INACTIVE) {
|
||||
// Direction vector for the direction the camera is facing
|
||||
tempVec1X = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
|
||||
tempVec1Y = globalCtx->view.lookAt.y - globalCtx->view.eye.y;
|
||||
tempVec1Z = globalCtx->view.lookAt.z - globalCtx->view.eye.z;
|
||||
|
||||
// Normalised direction vector for the direction the camera is facing
|
||||
magnitude = sqrtf(SQ(tempVec1X) + SQ(tempVec1Y) + SQ(tempVec1Z));
|
||||
tempVec2X = tempVec1X / magnitude;
|
||||
tempVec2Y = tempVec1Y / magnitude;
|
||||
tempVec2Z = tempVec1Z / magnitude;
|
||||
|
||||
// Position between 160 and 300 units ahead of camera depending on camera pitch, plus a 400 unit offset in +y
|
||||
tempVec1X = globalCtx->view.eye.x + (tempVec2X * 300.0f);
|
||||
tempVec1Y = globalCtx->view.eye.y + (tempVec2Y * 160.0f) + 400.0f;
|
||||
tempVec1Z = globalCtx->view.eye.z + (tempVec2Z * 300.0f);
|
||||
|
||||
// Position between 160 and 200 units ahead of camera depending on camera pitch, plus a 400 unit offset in +y
|
||||
// (plus some random variation)
|
||||
particlePos.x = Rand_CenteredFloat(200.0f) + (globalCtx->view.eye.x + (tempVec2X * 200.0f));
|
||||
particlePos.y = Rand_CenteredFloat(50.0f) + tempVec1Y;
|
||||
particlePos.z = Rand_CenteredFloat(200.0f) + (globalCtx->view.eye.z + (tempVec2Z * 200.0f));
|
||||
particleScale = Rand_CenteredFloat(0.005f) + 0.007f;
|
||||
|
||||
if (spawnerState == ENCOUNT2_ACTIVE_DEATH_MOUNTAIN) {
|
||||
EnEncount2_ParticleInit(this, &particlePos, particleScale);
|
||||
} else if (this->particleSpawnTimer == 0) {
|
||||
EnEncount2_ParticleInit(this, &particlePos, particleScale);
|
||||
this->particleSpawnTimer = 5;
|
||||
}
|
||||
|
||||
if ((this->numSpawnedRocks < maxRocks) && (this->timerBetweenRockSpawns == 0)) {
|
||||
if (spawnerState == ENCOUNT2_ACTIVE_DEATH_MOUNTAIN) {
|
||||
this->timerBetweenRockSpawns = 4;
|
||||
spawnedRockType = FIRE_ROCK_SPAWNED_FALLING1;
|
||||
if ((Rand_ZeroFloat(1.99f) < 1.0f) && (LINK_IS_CHILD)) {
|
||||
// rock spawn pos X, Z near player
|
||||
tempVec2X = Rand_CenteredFloat(10.0f) + player->actor.world.pos.x;
|
||||
tempVec2Z = Rand_CenteredFloat(10.0f) + player->actor.world.pos.z;
|
||||
} else {
|
||||
if (player->linearVelocity != 0.0f) {
|
||||
// rock spawn pos is between 300 and 600 units from the camera depending on the camera yaw.
|
||||
// Rocks will generally spawn closer to the camera in the X axis than in the Z axis.
|
||||
tempVec2X = Rand_CenteredFloat(200.0f) + (globalCtx->view.eye.x + (tempVec2X * 300.0f));
|
||||
tempVec2Z = Rand_CenteredFloat(50.0f) + (globalCtx->view.eye.z + (tempVec2Z * 600.0f));
|
||||
} else {
|
||||
// rock spawn pos X, Z near player
|
||||
tempVec2X = Rand_CenteredFloat(10.0f) + player->actor.world.pos.x;
|
||||
tempVec2Z = Rand_CenteredFloat(10.0f) + player->actor.world.pos.z;
|
||||
}
|
||||
spawnedRockType = FIRE_ROCK_SPAWNED_FALLING2;
|
||||
}
|
||||
} else {
|
||||
this->timerBetweenRockSpawns = 50;
|
||||
spawnedRockType = FIRE_ROCK_SPAWNED_FALLING2;
|
||||
// rock spawn pos X,Z at a random position roughly 300 units ahead of camera
|
||||
tempVec2X = Rand_CenteredFloat(100.0f) + tempVec1X;
|
||||
tempVec2Z = Rand_CenteredFloat(100.0f) + tempVec1Z;
|
||||
|
||||
if (Rand_ZeroFloat(3.99f) < 1.0f) {
|
||||
// rock spawn pos X,Z at a random position near player
|
||||
tempVec2X = Rand_CenteredFloat(70.0f) + player->actor.world.pos.x;
|
||||
tempVec2Z = Rand_CenteredFloat(70.0f) + player->actor.world.pos.z;
|
||||
}
|
||||
}
|
||||
spawnedRock =
|
||||
(EnFireRock*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FIRE_ROCK,
|
||||
tempVec2X, tempVec1Y, tempVec2Z, 0, 0, 0, spawnedRockType);
|
||||
if (spawnedRock != NULL) {
|
||||
spawnedRock->spawner = this;
|
||||
this->numSpawnedRocks++;
|
||||
return;
|
||||
}
|
||||
// "☆☆☆☆☆ Can't occur! ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n" VT_RST);
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n" VT_RST);
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n" VT_RST);
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n" VT_RST);
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生できません! ☆☆☆☆☆\n\n" VT_RST);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnEncount2_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
EnEncount2* this = THIS;
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
|
||||
if (this->deathMountainSpawnerTimer != 0) {
|
||||
this->deathMountainSpawnerTimer--;
|
||||
}
|
||||
|
||||
if (this->timerBetweenRockSpawns != 0) {
|
||||
this->timerBetweenRockSpawns--;
|
||||
}
|
||||
|
||||
if (this->particleSpawnTimer != 0) {
|
||||
this->particleSpawnTimer--;
|
||||
}
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
EnEncount2_ParticleUpdate(this, globalCtx);
|
||||
|
||||
if (!this->isNotDeathMountain) {
|
||||
this->unk17C = this->envEffectsTimer / 60.0f;
|
||||
this->unk160 = this->unk17C * -50.0f;
|
||||
globalCtx->envCtx.unk_8C[0][0] = (s16)this->unk160 * -1.5f;
|
||||
globalCtx->envCtx.unk_8C[0][1] = globalCtx->envCtx.unk_8C[0][2] = this->unk160;
|
||||
this->unk168 = this->unk17C * -20.0f;
|
||||
globalCtx->envCtx.unk_8C[1][0] = (s16)this->unk168 * -1.5f;
|
||||
globalCtx->envCtx.unk_8C[1][1] = globalCtx->envCtx.unk_8C[1][2] = this->unk168;
|
||||
this->unk170 = this->unk17C * -50.0f;
|
||||
globalCtx->envCtx.unk_9E = this->unk170;
|
||||
globalCtx->envCtx.unk_8C[2][0] = (u8)((160.0f - globalCtx->envCtx.unk_CF[0]) * this->unk17C);
|
||||
globalCtx->envCtx.unk_8C[2][1] = (u8)((160.0f - globalCtx->envCtx.unk_CF[1]) * this->unk17C);
|
||||
globalCtx->envCtx.unk_8C[2][2] = (u8)((150.0f - globalCtx->envCtx.unk_CF[2]) * this->unk17C);
|
||||
}
|
||||
}
|
||||
|
||||
void EnEncount2_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnEncount2* this = THIS;
|
||||
|
||||
EnEncount2_ParticleDraw(&this->actor, globalCtx);
|
||||
}
|
||||
|
||||
void EnEncount2_ParticleInit(EnEncount2* this, Vec3f* particlePos, f32 scale) {
|
||||
EnEncount2Particle* particle = this->particles;
|
||||
s16 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->particles); i++, particle++) {
|
||||
if (!particle->isAlive) {
|
||||
particle->pos = *particlePos;
|
||||
particle->scale = scale;
|
||||
particle->rot.x = 0.0f;
|
||||
particle->rot.y = 0.0f;
|
||||
particle->rot.z = 0.0f;
|
||||
particle->moveDirection.x = Rand_CenteredFloat(20.0f);
|
||||
particle->moveDirection.y = -20.0f;
|
||||
particle->moveDirection.z = Rand_CenteredFloat(20.0f);
|
||||
particle->isAlive = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnEncount2_ParticleUpdate(EnEncount2* this, GlobalContext* globalCtx) {
|
||||
s16 i;
|
||||
EnEncount2Particle* particle = this->particles;
|
||||
Player* player = PLAYER;
|
||||
Vec3f targetPos;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->particles); particle++, i++) {
|
||||
if (particle->isAlive) {
|
||||
particle->rot.x += Rand_ZeroOne() * 500.0f;
|
||||
particle->rot.y += Rand_ZeroOne() * 500.0f;
|
||||
particle->rot.z += Rand_ZeroOne() * 500.0f;
|
||||
targetPos.x = particle->pos.x + particle->moveDirection.x;
|
||||
targetPos.y = particle->pos.y + particle->moveDirection.y;
|
||||
targetPos.z = particle->pos.z + particle->moveDirection.z;
|
||||
Math_ApproachF(&particle->pos.x, targetPos.x, 0.3f, 30.0f);
|
||||
Math_ApproachF(&particle->pos.y, targetPos.y, 0.8f, 250.0f);
|
||||
Math_ApproachF(&particle->pos.z, targetPos.z, 0.3f, 30.0f);
|
||||
Math_ApproachF(&particle->moveDirection.y, -20.0f, 0.9f, 1.0f);
|
||||
|
||||
if (globalCtx->sceneNum != SCENE_SPOT16) {
|
||||
if (particle->pos.y < (player->actor.floorHeight - 50.0f)) {
|
||||
particle->isAlive = 0;
|
||||
}
|
||||
} else if (particle->pos.y < 1500.0f) {
|
||||
particle->isAlive = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnEncount2_ParticleDraw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnEncount2* this = THIS;
|
||||
EnEncount2Particle* particle = this->particles;
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
s16 i;
|
||||
s32 objBankIndex;
|
||||
|
||||
OPEN_DISPS(gfxCtx, "../z_en_encount2.c", 642);
|
||||
|
||||
objBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_EFC_STAR_FIELD);
|
||||
|
||||
if (objBankIndex >= 0) {
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->particles); particle++, i++) {
|
||||
if (particle->isAlive) {
|
||||
Matrix_Translate(particle->pos.x, particle->pos.y, particle->pos.z, MTXMODE_NEW);
|
||||
Matrix_RotateX(particle->rot.x * (M_PI / 180), MTXMODE_APPLY);
|
||||
Matrix_RotateY(particle->rot.y * (M_PI / 180), MTXMODE_APPLY);
|
||||
Matrix_RotateZ(particle->rot.z * (M_PI / 180), MTXMODE_APPLY);
|
||||
Matrix_Scale(particle->scale, particle->scale, particle->scale, MTXMODE_APPLY);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 155, 55, 255);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_encount2.c", 669),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000DE0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CLOSE_DISPS(gfxCtx, "../z_en_encount2.c", 678);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,36 @@
|
|||
|
||||
struct EnEncount2;
|
||||
|
||||
typedef void (*EnEncount2ActionFunc)(struct EnEncount2*, GlobalContext*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Vec3f pos;
|
||||
/* 0x000C */ f32 scale;
|
||||
/* 0x0010 */ u8 isAlive;
|
||||
/* 0x0014 */ Vec3f moveDirection;
|
||||
/* 0x0020 */ Vec3f rot;
|
||||
} EnEncount2Particle; // size = 0x2C
|
||||
|
||||
typedef struct EnEncount2 {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x10];
|
||||
/* 0x015C */ u16 unk_15C;
|
||||
/* 0x015E */ char unk_15E[0x8C2];
|
||||
/* 0x014C */ EnEncount2ActionFunc actionFunc;
|
||||
/* 0x0150 */ char unk150[0x4];
|
||||
/* 0x0154 */ s16 deathMountainSpawnerTimer;
|
||||
/* 0x0156 */ s16 timerBetweenRockSpawns;
|
||||
/* 0x0158 */ s16 numSpawnedRocks;
|
||||
/* 0x015A */ s16 isNotDeathMountain;
|
||||
/* 0x015C */ s16 collapseSpawnerInactive;
|
||||
/* 0x015E */ s16 particleSpawnTimer;
|
||||
/* 0x0160 */ f32 unk160;
|
||||
/* 0x0164 */ char unk164[0x4];
|
||||
/* 0x0168 */ f32 unk168;
|
||||
/* 0x016C */ char unk16C[0x4];
|
||||
/* 0x0178 */ f32 unk170;
|
||||
/* 0x0174 */ char unk174[0x4];
|
||||
/* 0x0178 */ s16 envEffectsTimer;
|
||||
/* 0x017C */ f32 unk17C;
|
||||
/* 0x0180 */ u64 isQuaking;
|
||||
/* 0x0188 */ EnEncount2Particle particles[50];
|
||||
} EnEncount2; // size = 0x0A20
|
||||
|
||||
extern const ActorInit En_Encount2_InitVars;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "z_en_fire_rock.h"
|
||||
#include "overlays/actors/ovl_En_Encount2/z_en_encount2.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -9,9 +11,13 @@ void EnFireRock_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnFireRock_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnFireRock_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06000DE0;
|
||||
void FireRock_WaitSpawnRocksFromCeiling(EnFireRock* this, GlobalContext* globalCtx);
|
||||
void FireRock_WaitOnFloor(EnFireRock* this, GlobalContext* globalCtx);
|
||||
void EnFireRock_Fall(EnFireRock* this, GlobalContext* globalCtx);
|
||||
void EnFireRock_SpawnMoreBrokenPieces(EnFireRock* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx D_06000DE0[];
|
||||
|
||||
/*
|
||||
const ActorInit En_Fire_Rock_InitVars = {
|
||||
ACTOR_EN_FIRE_ROCK,
|
||||
ACTORCAT_ENEMY,
|
||||
|
@ -24,6 +30,26 @@ const ActorInit En_Fire_Rock_InitVars = {
|
|||
(ActorFunc)EnFireRock_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_80A12CA0 = {
|
||||
{
|
||||
COLTYPE_HARD,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_NONE,
|
||||
OC2_TYPE_2,
|
||||
COLSHAPE_CYLINDER,
|
||||
},
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x09, 0x08 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_NONE,
|
||||
},
|
||||
{ 30, 30, -10, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_80A12CCC = {
|
||||
{
|
||||
COLTYPE_HARD,
|
||||
|
@ -44,38 +70,331 @@ static ColliderCylinderInit D_80A12CCC = {
|
|||
{ 30, 30, -10, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_80A12CA0 = {
|
||||
{
|
||||
COLTYPE_HARD,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_NONE,
|
||||
OC2_TYPE_2,
|
||||
COLSHAPE_CYLINDER,
|
||||
},
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x09, 0x08 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_NONE,
|
||||
},
|
||||
{ 30, 30, -10, { 0, 0, 0 } },
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/EnFireRock_Init.s")
|
||||
void EnFireRock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
GlobalContext* globalCtx2 = globalCtx;
|
||||
Player* player = PLAYER;
|
||||
EnFireRock* this = THIS;
|
||||
s16 temp;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/EnFireRock_Destroy.s")
|
||||
this->type = this->actor.params;
|
||||
if (this->type != FIRE_ROCK_CEILING_SPOT_SPAWNER) {
|
||||
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 15.0f);
|
||||
if (this->type != FIRE_ROCK_ON_FLOOR) {
|
||||
this->angularVelocity.x = (Rand_ZeroFloat(10.0f) + 15.0f);
|
||||
this->angularVelocity.y = (Rand_ZeroFloat(10.0f) + 15.0f);
|
||||
this->angularVelocity.z = (Rand_ZeroFloat(10.0f) + 15.0f);
|
||||
}
|
||||
}
|
||||
switch (this->type) {
|
||||
case FIRE_ROCK_CEILING_SPOT_SPAWNER:
|
||||
this->actor.draw = NULL;
|
||||
// "☆☆☆☆☆ ceiling waiting rock ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 天井待ち岩 ☆☆☆☆☆ \n" VT_RST);
|
||||
this->actionFunc = FireRock_WaitSpawnRocksFromCeiling;
|
||||
break;
|
||||
case FIRE_ROCK_ON_FLOOR:
|
||||
Actor_SetScale(&this->actor, 0.03f);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &D_80A12CCC);
|
||||
// "☆☆☆☆☆ floor rock ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 床岩 ☆☆☆☆☆ \n" VT_RST);
|
||||
this->collider.dim.radius = 23;
|
||||
this->collider.dim.height = 37;
|
||||
this->collider.dim.yShift = -10;
|
||||
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_PROP);
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->actionFunc = FireRock_WaitOnFloor;
|
||||
break;
|
||||
case FIRE_ROCK_SPAWNED_FALLING1: // spawned by encount2
|
||||
// sets unused vars?
|
||||
this->unk17C.x = (f32)(Rand_CenteredFloat(50.0f) + player->actor.world.pos.x);
|
||||
this->unk17C.z = (f32)(Rand_CenteredFloat(50.0f) + player->actor.world.pos.z);
|
||||
case FIRE_ROCK_SPAWNED_FALLING2: // spawned by encount2 and by the ceilling spawner
|
||||
this->scale = (Rand_ZeroFloat(2.0f) / 100.0f) + 0.02f;
|
||||
Actor_SetScale(&this->actor, this->scale);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &D_80A12CA0);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y = Rand_CenteredFloat(65535.0f);
|
||||
this->actionFunc = EnFireRock_Fall;
|
||||
this->actor.shape.shadowScale = 15.0f;
|
||||
break;
|
||||
case FIRE_ROCK_BROKEN_PIECE1:
|
||||
this->actor.velocity.y = Rand_ZeroFloat(3.0f) + 4.0f;
|
||||
this->actor.speedXZ = Rand_ZeroFloat(3.0f) + 3.0f;
|
||||
this->scale = (Rand_ZeroFloat(1.0f) / 100.0f) + 0.02f;
|
||||
Actor_SetScale(&this->actor, this->scale);
|
||||
this->actor.gravity = -1.5f;
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &D_80A12CA0);
|
||||
this->actor.shape.shadowScale = 10.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y = Rand_CenteredFloat(65535.0f);
|
||||
this->actionFunc = EnFireRock_Fall;
|
||||
break;
|
||||
case FIRE_ROCK_BROKEN_PIECE2:
|
||||
this->actor.velocity.y = Rand_ZeroFloat(3.0f) + 4.0f;
|
||||
this->actor.speedXZ = Rand_ZeroFloat(3.0f) + 2.0f;
|
||||
this->scale = (Rand_ZeroFloat(1.0f) / 500.0f) + 0.01f;
|
||||
Actor_SetScale(&this->actor, this->scale);
|
||||
this->actor.gravity = -1.2f;
|
||||
this->actor.shape.shadowScale = 5.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y = Rand_CenteredFloat(65535.0f);
|
||||
this->actionFunc = EnFireRock_Fall;
|
||||
break;
|
||||
default:
|
||||
// "☆☆☆☆☆ No such rock! ERR !!!!!! ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ そんな岩はねぇ!ERR!!!!!! ☆☆☆☆☆ \n" VT_RST);
|
||||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/func_80A120CC.s")
|
||||
void EnFireRock_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFireRock* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/func_80A1241C.s")
|
||||
if ((this->actor.parent != NULL) && (this->actor.parent == &this->spawner->actor)) {
|
||||
EnEncount2* spawner = (EnEncount2*)this->actor.parent;
|
||||
if ((spawner->actor.update != NULL) && (spawner->numSpawnedRocks > 0)) {
|
||||
spawner->numSpawnedRocks--;
|
||||
osSyncPrintf("\n\n");
|
||||
// "☆☆☆☆☆ Number of spawned instances recovery ☆☆☆☆☆%d"
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 発生数回復 ☆☆☆☆☆%d\n" VT_RST, spawner->numSpawnedRocks);
|
||||
osSyncPrintf("\n\n");
|
||||
}
|
||||
}
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/func_80A125B8.s")
|
||||
void EnFireRock_Fall(EnFireRock* this, GlobalContext* globalCtx) {
|
||||
Player* player;
|
||||
Vec3f flamePos;
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/func_80A12730.s")
|
||||
player = PLAYER;
|
||||
if ((this->actor.floorHeight == -10000.0f) || (this->actor.world.pos.y < (player->actor.world.pos.y - 200.0f))) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
switch (this->type) {
|
||||
case FIRE_ROCK_SPAWNED_FALLING1:
|
||||
if (player->actor.world.pos.y < this->actor.world.pos.y) {
|
||||
if ((player->actor.world.pos.x > -700.0f) || (player->actor.world.pos.x < 100.0f) ||
|
||||
(player->actor.world.pos.z > -1290.0f) || (player->actor.world.pos.z < -3880.0f)) {
|
||||
Math_ApproachF(&this->actor.world.pos.x, player->actor.world.pos.x, 1.0f, 10.0f);
|
||||
Math_ApproachF(&this->actor.world.pos.z, player->actor.world.pos.z, 1.0f, 10.0f);
|
||||
}
|
||||
}
|
||||
case FIRE_ROCK_SPAWNED_FALLING2:
|
||||
flamePos.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x;
|
||||
flamePos.y = Rand_CenteredFloat(20.0f) + this->actor.world.pos.y;
|
||||
flamePos.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z;
|
||||
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &flamePos, 100, 0, 0, -1);
|
||||
break;
|
||||
case FIRE_ROCK_BROKEN_PIECE1:
|
||||
if ((globalCtx->gameplayFrames & 3) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_ROCK);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((this->actor.bgCheckFlags & 1) && (this->timer == 0)) {
|
||||
switch (this->type) {
|
||||
case FIRE_ROCK_SPAWNED_FALLING1:
|
||||
case FIRE_ROCK_SPAWNED_FALLING2:
|
||||
func_80033E88(&this->actor, globalCtx, 5, 2);
|
||||
case FIRE_ROCK_BROKEN_PIECE1:
|
||||
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1, 8.0f,
|
||||
500, 10, 0);
|
||||
for (i = 0; i < 5; i++) {
|
||||
flamePos.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x;
|
||||
flamePos.y = this->actor.floorHeight;
|
||||
flamePos.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z;
|
||||
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &flamePos, 300, 0, 0, -1);
|
||||
}
|
||||
this->actionFunc = EnFireRock_SpawnMoreBrokenPieces;
|
||||
break;
|
||||
default:
|
||||
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 3, 8.0f,
|
||||
200, 10, 0);
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 40, NA_SE_EV_EXPLOSION);
|
||||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/EnFireRock_Update.s")
|
||||
/**
|
||||
* After the rock has already hit the ground and started rolling, spawn two more, giving the illusion of breaking into
|
||||
* two pieces.
|
||||
*/
|
||||
void EnFireRock_SpawnMoreBrokenPieces(EnFireRock* this, GlobalContext* globalCtx) {
|
||||
EnFireRock* spawnedFireRock;
|
||||
s32 nextRockType;
|
||||
s32 i;
|
||||
s32 temp;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fire_Rock/EnFireRock_Draw.s")
|
||||
nextRockType = FIRE_ROCK_SPAWNED_FALLING1;
|
||||
switch (this->type) {
|
||||
case FIRE_ROCK_SPAWNED_FALLING1:
|
||||
case FIRE_ROCK_SPAWNED_FALLING2:
|
||||
nextRockType = FIRE_ROCK_BROKEN_PIECE1;
|
||||
break;
|
||||
case FIRE_ROCK_BROKEN_PIECE1:
|
||||
nextRockType = FIRE_ROCK_BROKEN_PIECE2;
|
||||
}
|
||||
|
||||
if (nextRockType != FIRE_ROCK_SPAWNED_FALLING1) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
spawnedFireRock = (EnFireRock*)Actor_Spawn(
|
||||
&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIRE_ROCK, Rand_CenteredFloat(3.0f) + this->actor.world.pos.x,
|
||||
Rand_CenteredFloat(3.0f) + (this->actor.world.pos.y + 10.0f),
|
||||
Rand_CenteredFloat(3.0f) + this->actor.world.pos.z, 0, 0, 0, nextRockType);
|
||||
if (spawnedFireRock != NULL) {
|
||||
spawnedFireRock->actor.world.rot.y = this->actor.world.rot.y;
|
||||
if (i == 0) {
|
||||
spawnedFireRock->actor.shape.rot.y = this->actor.shape.rot.y;
|
||||
}
|
||||
spawnedFireRock->scale = this->scale - 0.01f;
|
||||
} else {
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ イッパイデッス ☆☆☆☆☆ \n" VT_RST);
|
||||
}
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_ROCK);
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
|
||||
void FireRock_WaitSpawnRocksFromCeiling(EnFireRock* this, GlobalContext* globalCtx) {
|
||||
EnFireRock* spawnedFireRock;
|
||||
|
||||
if (this->actor.xzDistToPlayer < 200.0f) {
|
||||
if ((this->playerNearby == 0) && (this->timer2 == 0)) {
|
||||
this->timer2 = 30;
|
||||
spawnedFireRock = (EnFireRock*)Actor_Spawn(
|
||||
&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIRE_ROCK, Rand_CenteredFloat(3.0f) + this->actor.world.pos.x,
|
||||
this->actor.world.pos.y + 10.0f, Rand_CenteredFloat(3.0f) + this->actor.world.pos.z, 0, 0, 0,
|
||||
FIRE_ROCK_SPAWNED_FALLING2);
|
||||
if (spawnedFireRock != NULL) {
|
||||
spawnedFireRock->timer = 10;
|
||||
} else {
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ イッパイデッス ☆☆☆☆☆ \n" VT_RST);
|
||||
}
|
||||
}
|
||||
this->playerNearby = 1;
|
||||
} else {
|
||||
this->playerNearby = 0;
|
||||
}
|
||||
if (BREG(0) != 0) {
|
||||
DebugDisplay_AddObject(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z,
|
||||
this->actor.world.rot.x, this->actor.world.rot.y, this->actor.world.rot.z, 1.0f, 1.0f,
|
||||
1.0f, 0, 255, 0, 255, 4, globalCtx->state.gfxCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void FireRock_WaitOnFloor(EnFireRock* this, GlobalContext* globalCtx) {
|
||||
Vec3f flamePos;
|
||||
s16 scale;
|
||||
|
||||
if (this->timer2 == 0) {
|
||||
flamePos.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x;
|
||||
flamePos.y = Rand_CenteredFloat(20.0f) + this->actor.world.pos.y;
|
||||
flamePos.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z;
|
||||
scale = 130 + (s16)Rand_CenteredFloat(60.0f);
|
||||
this->timer2 = 3 + (s16)Rand_ZeroFloat(3.0f);
|
||||
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &flamePos, scale, 0, 0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFireRock_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFireRock* this = THIS;
|
||||
s16 setCollision;
|
||||
Player* player = PLAYER;
|
||||
Actor* playerActor = &PLAYER->actor;
|
||||
|
||||
if (this->timer2 != 0) {
|
||||
this->timer2--;
|
||||
}
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
if (this->type != FIRE_ROCK_CEILING_SPOT_SPAWNER) {
|
||||
f32 temp;
|
||||
this->rockRotation.x += this->angularVelocity.x;
|
||||
this->rockRotation.y += this->angularVelocity.y;
|
||||
this->rockRotation.z += this->angularVelocity.z;
|
||||
this->relativePos.y = 3.0f;
|
||||
|
||||
temp = 10.0f + (this->scale * 300.0f);
|
||||
thisx->shape.shadowScale = temp;
|
||||
if (thisx->shape.shadowScale < 10.0f) {
|
||||
thisx->shape.shadowScale = 10.0f;
|
||||
}
|
||||
if (thisx->shape.shadowScale > 20.0f) {
|
||||
thisx->shape.shadowScale = 20.0f;
|
||||
}
|
||||
|
||||
if ((this->type == FIRE_ROCK_SPAWNED_FALLING1) || (this->type == FIRE_ROCK_SPAWNED_FALLING2)) {
|
||||
thisx->gravity = -0.3f - (this->scale * 7.0f);
|
||||
}
|
||||
if (this->type != FIRE_ROCK_ON_FLOOR) {
|
||||
Actor_MoveForward(thisx);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, thisx, 50.0f, 50.0f, 100.0f, 0x1C);
|
||||
}
|
||||
|
||||
setCollision = false;
|
||||
if (this->actionFunc != EnFireRock_SpawnMoreBrokenPieces) {
|
||||
if ((this->type == FIRE_ROCK_SPAWNED_FALLING1) || (this->type == FIRE_ROCK_SPAWNED_FALLING2) ||
|
||||
(this->type == FIRE_ROCK_BROKEN_PIECE1)) {
|
||||
if (this->collider.base.atFlags & 4) {
|
||||
this->collider.base.atFlags &= ~4;
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_BRIDGE_OPEN_STOP);
|
||||
thisx->velocity.y = 0.0f;
|
||||
thisx->speedXZ = 0.0f;
|
||||
this->actionFunc = EnFireRock_SpawnMoreBrokenPieces;
|
||||
// "☆☆☆☆☆ Shield Defense Lv1 ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ シールド防御 Lv1 ☆☆☆☆☆ \n" VT_RST);
|
||||
return;
|
||||
}
|
||||
setCollision = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->type == FIRE_ROCK_ON_FLOOR) {
|
||||
if (this->collider.base.atFlags & 2) {
|
||||
this->collider.base.atFlags &= ~2;
|
||||
if (this->collider.base.at == playerActor) {
|
||||
if (!(player->stateFlags1 & 0x04000000)) {
|
||||
func_8002F758(globalCtx, thisx, 2.0f, -player->actor.world.rot.y, 3.0f, 4);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
setCollision = true;
|
||||
}
|
||||
if (setCollision) {
|
||||
Collider_UpdateCylinder(thisx, &this->collider);
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnFireRock_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFireRock* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fire_rock.c", 747);
|
||||
Matrix_Translate(thisx->world.pos.x + this->relativePos.x, thisx->world.pos.y + this->relativePos.y,
|
||||
thisx->world.pos.z + this->relativePos.z, MTXMODE_NEW);
|
||||
Matrix_RotateX(DEG_TO_RAD(this->rockRotation.x), MTXMODE_APPLY);
|
||||
Matrix_RotateY(DEG_TO_RAD(this->rockRotation.y), MTXMODE_APPLY);
|
||||
Matrix_RotateZ(DEG_TO_RAD(this->rockRotation.z), MTXMODE_APPLY);
|
||||
Matrix_Scale(thisx->scale.x, thisx->scale.y, thisx->scale.z, MTXMODE_APPLY);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 155, 55, 255);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fire_rock.c", 768),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000DE0);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fire_rock.c", 773);
|
||||
}
|
||||
|
|
|
@ -4,11 +4,36 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
#include "overlays/actors/ovl_En_Encount2/z_en_encount2.h"
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FIRE_ROCK_SPAWNED_FALLING1,
|
||||
/* 0x01 */ FIRE_ROCK_BROKEN_PIECE1,
|
||||
/* 0x02 */ FIRE_ROCK_BROKEN_PIECE2,
|
||||
/* 0x03 */ FIRE_ROCK_SPAWNED_FALLING2,
|
||||
/* 0x05 */ FIRE_ROCK_CEILING_SPOT_SPAWNER = 5,
|
||||
/* 0x06 */ FIRE_ROCK_ON_FLOOR
|
||||
} EnFireRockType;
|
||||
|
||||
struct EnFireRock;
|
||||
|
||||
typedef void (*EnFireRockActionFunc)(struct EnFireRock*, GlobalContext*);
|
||||
|
||||
typedef struct EnFireRock {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x94];
|
||||
/* 0x014C */ Vec3f angularVelocity;
|
||||
/* 0x0158 */ Vec3f rockRotation;
|
||||
/* 0x0164 */ char unk164[0x4];
|
||||
/* 0x0168 */ EnFireRockActionFunc actionFunc;
|
||||
/* 0x016C */ f32 scale;
|
||||
/* 0x0170 */ Vec3f relativePos;
|
||||
/* 0x017C */ Vec3f unk17C; // set but unused?
|
||||
/* 0x0188 */ s16 timer;
|
||||
/* 0x018A */ s16 timer2;
|
||||
/* 0x018C */ s16 type;
|
||||
/* 0x018E */ u8 playerNearby;
|
||||
/* 0x0190 */ EnEncount2* spawner;
|
||||
/* 0x0194 */ ColliderCylinder collider;
|
||||
} EnFireRock; // size = 0x01E0
|
||||
|
||||
extern const ActorInit En_Fire_Rock_InitVars;
|
||||
|
|
|
@ -1926,10 +1926,10 @@ s32 func_80B57890(EnZl3* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_80B57A74(GlobalContext* globalCtx) {
|
||||
Actor* actorIt = globalCtx->actorCtx.actorLists[ACTORCAT_PROP].head;
|
||||
|
||||
//! @bug checks for encount2 in ACTORCAT_PROP but encount2 is in ACTORCAT_ENEMY so this condition is never met
|
||||
while (actorIt != NULL) {
|
||||
if (actorIt->id == ACTOR_EN_ENCOUNT2) {
|
||||
((EnEncount2*)actorIt)->unk_15C = 1;
|
||||
((EnEncount2*)actorIt)->collapseSpawnerInactive = true;
|
||||
}
|
||||
actorIt = actorIt->next;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue