mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-16 12:06:35 +00:00
Magic Fire OK (#662)
* all done, graphics commands written in draw however very messy and non matching * figuring out data * OK * formatting before merge * pr stuff * more pr stuff * pr changes
This commit is contained in:
parent
f9d96d9f73
commit
97cfe49797
10 changed files with 461 additions and 891 deletions
|
@ -1,10 +0,0 @@
|
|||
glabel MagicFire_Destroy
|
||||
/* 000A8 80B88E18 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000AC 80B88E1C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000B0 80B88E20 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 000B4 80B88E24 0C021DB2 */ jal func_800876C8
|
||||
/* 000B8 80B88E28 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 000BC 80B88E2C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000C0 80B88E30 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 000C4 80B88E34 03E00008 */ jr $ra
|
||||
/* 000C8 80B88E38 00000000 */ nop
|
|
@ -1,439 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80B8AFC0
|
||||
.asciz "../z_magic_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B8AFD4
|
||||
.asciz "../z_magic_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B8AFE8
|
||||
.asciz "../z_magic_fire.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80B8B010
|
||||
.float 0.15
|
||||
|
||||
.text
|
||||
glabel MagicFire_Draw
|
||||
/* 00504 80B89274 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40
|
||||
/* 00508 80B89278 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
||||
/* 0050C 80B8927C AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00510 80B89280 AFA400C0 */ sw $a0, 0x00C0($sp)
|
||||
/* 00514 80B89284 AFA500C4 */ sw $a1, 0x00C4($sp)
|
||||
/* 00518 80B89288 01E57821 */ addu $t7, $t7, $a1
|
||||
/* 0051C 80B8928C 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
|
||||
/* 00520 80B89290 3C0680B9 */ lui $a2, %hi(D_80B8AFC0) ## $a2 = 80B90000
|
||||
/* 00524 80B89294 24C6AFC0 */ addiu $a2, $a2, %lo(D_80B8AFC0) ## $a2 = 80B8AFC0
|
||||
/* 00528 80B89298 AFAF00B4 */ sw $t7, 0x00B4($sp)
|
||||
/* 0052C 80B8929C 849901A4 */ lh $t9, 0x01A4($a0) ## 000001A4
|
||||
/* 00530 80B892A0 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFFD4
|
||||
/* 00534 80B892A4 5B20018A */ blezl $t9, .L80B898D0
|
||||
/* 00538 80B892A8 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 0053C 80B892AC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00540 80B892B0 240702AA */ addiu $a3, $zero, 0x02AA ## $a3 = 000002AA
|
||||
/* 00544 80B892B4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00548 80B892B8 AFA500A4 */ sw $a1, 0x00A4($sp)
|
||||
/* 0054C 80B892BC 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 00550 80B892C0 0C024DF0 */ jal func_800937C0
|
||||
/* 00554 80B892C4 8C6402D0 */ lw $a0, 0x02D0($v1) ## 000002D0
|
||||
/* 00558 80B892C8 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 0055C 80B892CC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 00560 80B892D0 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
|
||||
/* 00564 80B892D4 AC6202D0 */ sw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00568 80B892D8 AC6C02D0 */ sw $t4, 0x02D0($v1) ## 000002D0
|
||||
/* 0056C 80B892DC AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 00570 80B892E0 8FAF00C0 */ lw $t7, 0x00C0($sp)
|
||||
/* 00574 80B892E4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00578 80B892E8 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
|
||||
/* 0057C 80B892EC C5E0019C */ lwc1 $f0, 0x019C($t7) ## 0000019C
|
||||
/* 00580 80B892F0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00584 80B892F4 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
|
||||
/* 00588 80B892F8 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 0058C 80B892FC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 00590 80B89300 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00594 80B89304 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 00598 80B89308 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 0059C 80B8930C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 005A0 80B89310 440C4000 */ mfc1 $t4, $f8
|
||||
/* 005A4 80B89314 44814000 */ mtc1 $at, $f8 ## $f8 = 120.00
|
||||
/* 005A8 80B89318 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 005AC 80B8931C 44199000 */ mfc1 $t9, $f18
|
||||
/* 005B0 80B89320 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 005B4 80B89324 000C6E00 */ sll $t5, $t4, 24
|
||||
/* 005B8 80B89328 332E00FF */ andi $t6, $t9, 0x00FF ## $t6 = 00000000
|
||||
/* 005BC 80B8932C 000E6400 */ sll $t4, $t6, 16
|
||||
/* 005C0 80B89330 440E3000 */ mfc1 $t6, $f6
|
||||
/* 005C4 80B89334 01AC7825 */ or $t7, $t5, $t4 ## $t7 = FA000008
|
||||
/* 005C8 80B89338 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 005CC 80B8933C 31CD00FF */ andi $t5, $t6, 0x00FF ## $t5 = 00000000
|
||||
/* 005D0 80B89340 000D6200 */ sll $t4, $t5, 8
|
||||
/* 005D4 80B89344 01ECC025 */ or $t8, $t7, $t4 ## $t8 = FA000008
|
||||
/* 005D8 80B89348 440D8000 */ mfc1 $t5, $f16
|
||||
/* 005DC 80B8934C 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000
|
||||
/* 005E0 80B89350 35CE1A01 */ ori $t6, $t6, 0x1A01 ## $t6 = E3001A01
|
||||
/* 005E4 80B89354 31AF00FF */ andi $t7, $t5, 0x00FF ## $t7 = 00000000
|
||||
/* 005E8 80B89358 030F6025 */ or $t4, $t8, $t7 ## $t4 = FA000008
|
||||
/* 005EC 80B8935C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 005F0 80B89360 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 005F4 80B89364 240D0030 */ addiu $t5, $zero, 0x0030 ## $t5 = 00000030
|
||||
/* 005F8 80B89368 3C0FE300 */ lui $t7, 0xE300 ## $t7 = E3000000
|
||||
/* 005FC 80B8936C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00600 80B89370 AC7902D0 */ sw $t9, 0x02D0($v1) ## 000002D0
|
||||
/* 00604 80B89374 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
||||
/* 00608 80B89378 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 0060C 80B8937C 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00610 80B89380 35EF1801 */ ori $t7, $t7, 0x1801 ## $t7 = E3001801
|
||||
/* 00614 80B89384 240C00C0 */ addiu $t4, $zero, 0x00C0 ## $t4 = 000000C0
|
||||
/* 00618 80B89388 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 0061C 80B8938C AC7802D0 */ sw $t8, 0x02D0($v1) ## 000002D0
|
||||
/* 00620 80B89390 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 00624 80B89394 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 00628 80B89398 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 0062C 80B8939C 3C0EF64F */ lui $t6, 0xF64F ## $t6 = F64F0000
|
||||
/* 00630 80B893A0 35CEC3BC */ ori $t6, $t6, 0xC3BC ## $t6 = F64FC3BC
|
||||
/* 00634 80B893A4 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00638 80B893A8 AC7902D0 */ sw $t9, 0x02D0($v1) ## 000002D0
|
||||
/* 0063C 80B893AC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 00640 80B893B0 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 00644 80B893B4 8FAD00C4 */ lw $t5, 0x00C4($sp)
|
||||
/* 00648 80B893B8 8DA40000 */ lw $a0, 0x0000($t5) ## 00000030
|
||||
/* 0064C 80B893BC 0C024F61 */ jal func_80093D84
|
||||
/* 00650 80B893C0 AFA300A4 */ sw $v1, 0x00A4($sp)
|
||||
/* 00654 80B893C4 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 00658 80B893C8 8FA500C0 */ lw $a1, 0x00C0($sp)
|
||||
/* 0065C 80B893CC 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
|
||||
/* 00660 80B893D0 8C6402D0 */ lw $a0, 0x02D0($v1) ## 000002D0
|
||||
/* 00664 80B893D4 35EF0080 */ ori $t7, $t7, 0x0080 ## $t7 = FA000080
|
||||
/* 00668 80B893D8 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 0066C 80B893DC 24980008 */ addiu $t8, $a0, 0x0008 ## $t8 = 00000008
|
||||
/* 00670 80B893E0 AC7802D0 */ sw $t8, 0x02D0($v1) ## 000002D0
|
||||
/* 00674 80B893E4 AC8F0000 */ sw $t7, 0x0000($a0) ## 00000000
|
||||
/* 00678 80B893E8 44810000 */ mtc1 $at, $f0 ## $f0 = 255.00
|
||||
/* 0067C 80B893EC C4B20198 */ lwc1 $f18, 0x0198($a1) ## 00000198
|
||||
/* 00680 80B893F0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00684 80B893F4 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 00688 80B893F8 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 0068C 80B893FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00690 80B89400 444CF800 */ cfc1 $t4, $31
|
||||
/* 00694 80B89404 44D9F800 */ ctc1 $t9, $31
|
||||
/* 00698 80B89408 00000000 */ nop
|
||||
/* 0069C 80B8940C 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 006A0 80B89410 4459F800 */ cfc1 $t9, $31
|
||||
/* 006A4 80B89414 00000000 */ nop
|
||||
/* 006A8 80B89418 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
|
||||
/* 006AC 80B8941C 53200013 */ beql $t9, $zero, .L80B8946C
|
||||
/* 006B0 80B89420 44193000 */ mfc1 $t9, $f6
|
||||
/* 006B4 80B89424 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
|
||||
/* 006B8 80B89428 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 006BC 80B8942C 46062181 */ sub.s $f6, $f4, $f6
|
||||
/* 006C0 80B89430 44D9F800 */ ctc1 $t9, $31
|
||||
/* 006C4 80B89434 00000000 */ nop
|
||||
/* 006C8 80B89438 460031A4 */ cvt.w.s $f6, $f6
|
||||
/* 006CC 80B8943C 4459F800 */ cfc1 $t9, $31
|
||||
/* 006D0 80B89440 00000000 */ nop
|
||||
/* 006D4 80B89444 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
|
||||
/* 006D8 80B89448 17200005 */ bne $t9, $zero, .L80B89460
|
||||
/* 006DC 80B8944C 00000000 */ nop
|
||||
/* 006E0 80B89450 44193000 */ mfc1 $t9, $f6
|
||||
/* 006E4 80B89454 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 006E8 80B89458 10000007 */ beq $zero, $zero, .L80B89478
|
||||
/* 006EC 80B8945C 0321C825 */ or $t9, $t9, $at ## $t9 = 80000000
|
||||
.L80B89460:
|
||||
/* 006F0 80B89460 10000005 */ beq $zero, $zero, .L80B89478
|
||||
/* 006F4 80B89464 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 006F8 80B89468 44193000 */ mfc1 $t9, $f6
|
||||
.L80B8946C:
|
||||
/* 006FC 80B8946C 00000000 */ nop
|
||||
/* 00700 80B89470 0720FFFB */ bltz $t9, .L80B89460
|
||||
/* 00704 80B89474 00000000 */ nop
|
||||
.L80B89478:
|
||||
/* 00708 80B89478 03207025 */ or $t6, $t9, $zero ## $t6 = FFFFFFFF
|
||||
/* 0070C 80B8947C 31CD00FF */ andi $t5, $t6, 0x00FF ## $t5 = 000000FF
|
||||
/* 00710 80B89480 3C01FFC8 */ lui $at, 0xFFC8 ## $at = FFC80000
|
||||
/* 00714 80B89484 01A1C025 */ or $t8, $t5, $at ## $t8 = FFC800FF
|
||||
/* 00718 80B89488 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
|
||||
/* 0071C 80B8948C 8C6402D0 */ lw $a0, 0x02D0($v1) ## 000002D0
|
||||
/* 00720 80B89490 44CCF800 */ ctc1 $t4, $31
|
||||
/* 00724 80B89494 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000
|
||||
/* 00728 80B89498 248F0008 */ addiu $t7, $a0, 0x0008 ## $t7 = 00000008
|
||||
/* 0072C 80B8949C AC6F02D0 */ sw $t7, 0x02D0($v1) ## 000002D0
|
||||
/* 00730 80B894A0 AC8C0000 */ sw $t4, 0x0000($a0) ## 00000000
|
||||
/* 00734 80B894A4 C4A80198 */ lwc1 $f8, 0x0198($a1) ## 00000198
|
||||
/* 00738 80B894A8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 0073C 80B894AC 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 00740 80B894B0 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 00744 80B894B4 4459F800 */ cfc1 $t9, $31
|
||||
/* 00748 80B894B8 44CEF800 */ ctc1 $t6, $31
|
||||
/* 0074C 80B894BC 00000000 */ nop
|
||||
/* 00750 80B894C0 46005424 */ cvt.w.s $f16, $f10
|
||||
/* 00754 80B894C4 444EF800 */ cfc1 $t6, $31
|
||||
/* 00758 80B894C8 00000000 */ nop
|
||||
/* 0075C 80B894CC 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
|
||||
/* 00760 80B894D0 51C00013 */ beql $t6, $zero, .L80B89520
|
||||
/* 00764 80B894D4 440E8000 */ mfc1 $t6, $f16
|
||||
/* 00768 80B894D8 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00
|
||||
/* 0076C 80B894DC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00770 80B894E0 46105401 */ sub.s $f16, $f10, $f16
|
||||
/* 00774 80B894E4 44CEF800 */ ctc1 $t6, $31
|
||||
/* 00778 80B894E8 00000000 */ nop
|
||||
/* 0077C 80B894EC 46008424 */ cvt.w.s $f16, $f16
|
||||
/* 00780 80B894F0 444EF800 */ cfc1 $t6, $31
|
||||
/* 00784 80B894F4 00000000 */ nop
|
||||
/* 00788 80B894F8 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
|
||||
/* 0078C 80B894FC 15C00005 */ bne $t6, $zero, .L80B89514
|
||||
/* 00790 80B89500 00000000 */ nop
|
||||
/* 00794 80B89504 440E8000 */ mfc1 $t6, $f16
|
||||
/* 00798 80B89508 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 0079C 80B8950C 10000007 */ beq $zero, $zero, .L80B8952C
|
||||
/* 007A0 80B89510 01C17025 */ or $t6, $t6, $at ## $t6 = 80000000
|
||||
.L80B89514:
|
||||
/* 007A4 80B89514 10000005 */ beq $zero, $zero, .L80B8952C
|
||||
/* 007A8 80B89518 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 007AC 80B8951C 440E8000 */ mfc1 $t6, $f16
|
||||
.L80B89520:
|
||||
/* 007B0 80B89520 00000000 */ nop
|
||||
/* 007B4 80B89524 05C0FFFB */ bltz $t6, .L80B89514
|
||||
/* 007B8 80B89528 00000000 */ nop
|
||||
.L80B8952C:
|
||||
/* 007BC 80B8952C 31D800FF */ andi $t8, $t6, 0x00FF ## $t8 = 000000FF
|
||||
/* 007C0 80B89530 3C01FF00 */ lui $at, 0xFF00 ## $at = FF000000
|
||||
/* 007C4 80B89534 03017825 */ or $t7, $t8, $at ## $t7 = FF0000FF
|
||||
/* 007C8 80B89538 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
|
||||
/* 007CC 80B8953C 3C0180B9 */ lui $at, %hi(D_80B8B010) ## $at = 80B90000
|
||||
/* 007D0 80B89540 C42CB010 */ lwc1 $f12, %lo(D_80B8B010)($at)
|
||||
/* 007D4 80B89544 44D9F800 */ ctc1 $t9, $31
|
||||
/* 007D8 80B89548 AFA300A4 */ sw $v1, 0x00A4($sp)
|
||||
/* 007DC 80B8954C 44066000 */ mfc1 $a2, $f12
|
||||
/* 007E0 80B89550 0C0342A3 */ jal Matrix_Scale
|
||||
/* 007E4 80B89554 46006386 */ mov.s $f14, $f12
|
||||
/* 007E8 80B89558 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 007EC 80B8955C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 007F0 80B89560 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 007F4 80B89564 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 007F8 80B89568 3C0580B9 */ lui $a1, %hi(D_80B8AFD4) ## $a1 = 80B90000
|
||||
/* 007FC 80B8956C 24A5AFD4 */ addiu $a1, $a1, %lo(D_80B8AFD4) ## $a1 = 80B8AFD4
|
||||
/* 00800 80B89570 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 00804 80B89574 AC6C02D0 */ sw $t4, 0x02D0($v1) ## 000002D0
|
||||
/* 00808 80B89578 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 0080C 80B8957C 8FAE00C4 */ lw $t6, 0x00C4($sp)
|
||||
/* 00810 80B89580 240602CB */ addiu $a2, $zero, 0x02CB ## $a2 = 000002CB
|
||||
/* 00814 80B89584 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
|
||||
/* 00818 80B89588 AFA300A4 */ sw $v1, 0x00A4($sp)
|
||||
/* 0081C 80B8958C 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00820 80B89590 AFA20078 */ sw $v0, 0x0078($sp)
|
||||
/* 00824 80B89594 8FA70078 */ lw $a3, 0x0078($sp)
|
||||
/* 00828 80B89598 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 0082C 80B8959C 3C05E700 */ lui $a1, 0xE700 ## $a1 = E7000000
|
||||
/* 00830 80B895A0 ACE20004 */ sw $v0, 0x0004($a3) ## 00000004
|
||||
/* 00834 80B895A4 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00838 80B895A8 3C0FD700 */ lui $t7, 0xD700 ## $t7 = D7000000
|
||||
/* 0083C 80B895AC 35EF0002 */ ori $t7, $t7, 0x0002 ## $t7 = D7000002
|
||||
/* 00840 80B895B0 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00844 80B895B4 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
|
||||
/* 00848 80B895B8 AC450000 */ sw $a1, 0x0000($v0) ## 00000000
|
||||
/* 0084C 80B895BC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 00850 80B895C0 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00854 80B895C4 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 00858 80B895C8 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000
|
||||
/* 0085C 80B895CC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00860 80B895D0 AC7802D0 */ sw $t8, 0x02D0($v1) ## 000002D0
|
||||
/* 00864 80B895D4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 00868 80B895D8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 0086C 80B895DC 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00870 80B895E0 35CE1001 */ ori $t6, $t6, 0x1001 ## $t6 = E3001001
|
||||
/* 00874 80B895E4 3C0F80B9 */ lui $t7, %hi(D_80B89900) ## $t7 = 80B90000
|
||||
/* 00878 80B895E8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 0087C 80B895EC AC7902D0 */ sw $t9, 0x02D0($v1) ## 000002D0
|
||||
/* 00880 80B895F0 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 00884 80B895F4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 00888 80B895F8 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 0088C 80B895FC 25EF9900 */ addiu $t7, $t7, %lo(D_80B89900) ## $t7 = 80B89900
|
||||
/* 00890 80B89600 3C18FD90 */ lui $t8, 0xFD90 ## $t8 = FD900000
|
||||
/* 00894 80B89604 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00898 80B89608 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
|
||||
/* 0089C 80B8960C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 008A0 80B89610 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 008A4 80B89614 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 008A8 80B89618 3C0E0701 */ lui $t6, 0x0701 ## $t6 = 07010000
|
||||
/* 008AC 80B8961C 35CE806F */ ori $t6, $t6, 0x806F ## $t6 = 0701806F
|
||||
/* 008B0 80B89620 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 008B4 80B89624 AC6C02D0 */ sw $t4, 0x02D0($v1) ## 000002D0
|
||||
/* 008B8 80B89628 3C19F590 */ lui $t9, 0xF590 ## $t9 = F5900000
|
||||
/* 008BC 80B8962C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 008C0 80B89630 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
||||
/* 008C4 80B89634 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 008C8 80B89638 3C18E600 */ lui $t8, 0xE600 ## $t8 = E6000000
|
||||
/* 008CC 80B8963C 3C19077F */ lui $t9, 0x077F ## $t9 = 077F0000
|
||||
/* 008D0 80B89640 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 008D4 80B89644 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
|
||||
/* 008D8 80B89648 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 008DC 80B8964C AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 008E0 80B89650 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 008E4 80B89654 3739F100 */ ori $t9, $t9, 0xF100 ## $t9 = 077FF100
|
||||
/* 008E8 80B89658 3C0CF300 */ lui $t4, 0xF300 ## $t4 = F3000000
|
||||
/* 008EC 80B8965C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 008F0 80B89660 AC6F02D0 */ sw $t7, 0x02D0($v1) ## 000002D0
|
||||
/* 008F4 80B89664 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 008F8 80B89668 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 008FC 80B8966C 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00900 80B89670 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
|
||||
/* 00904 80B89674 3718806F */ ori $t8, $t8, 0x806F ## $t8 = 0001806F
|
||||
/* 00908 80B89678 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 0090C 80B8967C AC6E02D0 */ sw $t6, 0x02D0($v1) ## 000002D0
|
||||
/* 00910 80B89680 AC450000 */ sw $a1, 0x0000($v0) ## 00000000
|
||||
/* 00914 80B89684 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 00918 80B89688 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 0091C 80B8968C 3C05F588 */ lui $a1, 0xF588 ## $a1 = F5880000
|
||||
/* 00920 80B89690 34A51000 */ ori $a1, $a1, 0x1000 ## $a1 = F5881000
|
||||
/* 00924 80B89694 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00928 80B89698 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
|
||||
/* 0092C 80B8969C AC450000 */ sw $a1, 0x0000($v0) ## 00000000
|
||||
/* 00930 80B896A0 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00934 80B896A4 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00938 80B896A8 3C0C000F */ lui $t4, 0x000F ## $t4 = 000F0000
|
||||
/* 0093C 80B896AC 358CC0FC */ ori $t4, $t4, 0xC0FC ## $t4 = 000FC0FC
|
||||
/* 00940 80B896B0 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00944 80B896B4 AC6F02D0 */ sw $t7, 0x02D0($v1) ## 000002D0
|
||||
/* 00948 80B896B8 3C06F200 */ lui $a2, 0xF200 ## $a2 = F2000000
|
||||
/* 0094C 80B896BC AC460000 */ sw $a2, 0x0000($v0) ## 00000000
|
||||
/* 00950 80B896C0 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 00954 80B896C4 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00958 80B896C8 3C0E0101 */ lui $t6, 0x0101 ## $t6 = 01010000
|
||||
/* 0095C 80B896CC 35CEB86E */ ori $t6, $t6, 0xB86E ## $t6 = 0101B86E
|
||||
/* 00960 80B896D0 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00964 80B896D4 AC7902D0 */ sw $t9, 0x02D0($v1) ## 000002D0
|
||||
/* 00968 80B896D8 AC450000 */ sw $a1, 0x0000($v0) ## 00000000
|
||||
/* 0096C 80B896DC AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
||||
/* 00970 80B896E0 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00974 80B896E4 3C18010F */ lui $t8, 0x010F ## $t8 = 010F0000
|
||||
/* 00978 80B896E8 3718C0FC */ ori $t8, $t8, 0xC0FC ## $t8 = 010FC0FC
|
||||
/* 0097C 80B896EC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00980 80B896F0 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
|
||||
/* 00984 80B896F4 AC460000 */ sw $a2, 0x0000($v0) ## 00000000
|
||||
/* 00988 80B896F8 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 0098C 80B896FC 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00990 80B89700 3C0C80B9 */ lui $t4, %hi(D_80B8ADC0) ## $t4 = 80B90000
|
||||
/* 00994 80B89704 258CADC0 */ addiu $t4, $t4, %lo(D_80B8ADC0) ## $t4 = 80B8ADC0
|
||||
/* 00998 80B89708 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 0099C 80B8970C AC6F02D0 */ sw $t7, 0x02D0($v1) ## 000002D0
|
||||
/* 009A0 80B89710 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 009A4 80B89714 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 009A8 80B89718 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 009AC 80B8971C 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 009B0 80B89720 8FAB00B4 */ lw $t3, 0x00B4($sp)
|
||||
/* 009B4 80B89724 240F01FF */ addiu $t7, $zero, 0x01FF ## $t7 = 000001FF
|
||||
/* 009B8 80B89728 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 009BC 80B8972C AC7902D0 */ sw $t9, 0x02D0($v1) ## 000002D0
|
||||
/* 009C0 80B89730 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 009C4 80B89734 8FAE00C4 */ lw $t6, 0x00C4($sp)
|
||||
/* 009C8 80B89738 000B6880 */ sll $t5, $t3, 2
|
||||
/* 009CC 80B8973C 01AB6821 */ addu $t5, $t5, $t3
|
||||
/* 009D0 80B89740 8DC40000 */ lw $a0, 0x0000($t6) ## 0101B86E
|
||||
/* 009D4 80B89744 31B801FF */ andi $t8, $t5, 0x01FF ## $t8 = 00000008
|
||||
/* 009D8 80B89748 01F83823 */ subu $a3, $t7, $t8
|
||||
/* 009DC 80B8974C 000B7880 */ sll $t7, $t3, 2
|
||||
/* 009E0 80B89750 240C0040 */ addiu $t4, $zero, 0x0040 ## $t4 = 00000040
|
||||
/* 009E4 80B89754 01EB7821 */ addu $t7, $t7, $t3
|
||||
/* 009E8 80B89758 000B4040 */ sll $t0, $t3, 1
|
||||
/* 009EC 80B8975C 310D00FF */ andi $t5, $t0, 0x00FF ## $t5 = 00000000
|
||||
/* 009F0 80B89760 000F7880 */ sll $t7, $t7, 2
|
||||
/* 009F4 80B89764 AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 009F8 80B89768 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 009FC 80B8976C 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040
|
||||
/* 00A00 80B89770 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00A04 80B89774 AFAE0018 */ sw $t6, 0x0018($sp)
|
||||
/* 00A08 80B89778 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 00A0C 80B8977C 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 000000FF
|
||||
/* 00A10 80B89780 AFAD001C */ sw $t5, 0x001C($sp)
|
||||
/* 00A14 80B89784 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
|
||||
/* 00A18 80B89788 0198C823 */ subu $t9, $t4, $t8
|
||||
/* 00A1C 80B8978C 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020
|
||||
/* 00A20 80B89790 AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 00A24 80B89794 AFB90020 */ sw $t9, 0x0020($sp)
|
||||
/* 00A28 80B89798 AFAD0028 */ sw $t5, 0x0028($sp)
|
||||
/* 00A2C 80B8979C 310601FF */ andi $a2, $t0, 0x01FF ## $a2 = 00000000
|
||||
/* 00A30 80B897A0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00A34 80B897A4 AFA300A4 */ sw $v1, 0x00A4($sp)
|
||||
/* 00A38 80B897A8 0C0253D0 */ jal Gfx_TwoTexScroll
|
||||
/* 00A3C 80B897AC AFA20040 */ sw $v0, 0x0040($sp)
|
||||
/* 00A40 80B897B0 8FA90040 */ lw $t1, 0x0040($sp)
|
||||
/* 00A44 80B897B4 8FA300A4 */ lw $v1, 0x00A4($sp)
|
||||
/* 00A48 80B897B8 3C1880B9 */ lui $t8, %hi(D_80B8ADE8) ## $t8 = 80B90000
|
||||
/* 00A4C 80B897BC AD220004 */ sw $v0, 0x0004($t1) ## 00000004
|
||||
/* 00A50 80B897C0 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
|
||||
/* 00A54 80B897C4 2718ADE8 */ addiu $t8, $t8, %lo(D_80B8ADE8) ## $t8 = 80B8ADE8
|
||||
/* 00A58 80B897C8 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
|
||||
/* 00A5C 80B897CC 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00A60 80B897D0 AC6F02D0 */ sw $t7, 0x02D0($v1) ## 000002D0
|
||||
/* 00A64 80B897D4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00A68 80B897D8 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 00A6C 80B897DC 8FB900C4 */ lw $t9, 0x00C4($sp)
|
||||
/* 00A70 80B897E0 3C0680B9 */ lui $a2, %hi(D_80B8AFE8) ## $a2 = 80B90000
|
||||
/* 00A74 80B897E4 24C6AFE8 */ addiu $a2, $a2, %lo(D_80B8AFE8) ## $a2 = 80B8AFE8
|
||||
/* 00A78 80B897E8 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFFD4
|
||||
/* 00A7C 80B897EC 240702EE */ addiu $a3, $zero, 0x02EE ## $a3 = 000002EE
|
||||
/* 00A80 80B897F0 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00A84 80B897F4 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
|
||||
/* 00A88 80B897F8 8FAE00C0 */ lw $t6, 0x00C0($sp)
|
||||
/* 00A8C 80B897FC 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 00A90 80B89800 44812000 */ mtc1 $at, $f4 ## $f4 = 255.00
|
||||
/* 00A94 80B89804 C5D20198 */ lwc1 $f18, 0x0198($t6) ## 00000198
|
||||
/* 00A98 80B89808 3C0280B9 */ lui $v0, %hi(D_80B8AF80) ## $v0 = 80B90000
|
||||
/* 00A9C 80B8980C 3C0580B9 */ lui $a1, %hi(D_80B8AFA4) ## $a1 = 80B90000
|
||||
/* 00AA0 80B89810 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 00AA4 80B89814 3C0480B9 */ lui $a0, %hi(D_80B8A900) ## $a0 = 80B90000
|
||||
/* 00AA8 80B89818 2484A900 */ addiu $a0, $a0, %lo(D_80B8A900) ## $a0 = 80B8A900
|
||||
/* 00AAC 80B8981C 24A5AFA4 */ addiu $a1, $a1, %lo(D_80B8AFA4) ## $a1 = 80B8AFA4
|
||||
/* 00AB0 80B89820 2442AF80 */ addiu $v0, $v0, %lo(D_80B8AF80) ## $v0 = 80B8AF80
|
||||
/* 00AB4 80B89824 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00AB8 80B89828 44034000 */ mfc1 $v1, $f8
|
||||
/* 00ABC 80B8982C 00000000 */ nop
|
||||
/* 00AC0 80B89830 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000000
|
||||
.L80B89834:
|
||||
/* 00AC4 80B89834 904F0000 */ lbu $t7, 0x0000($v0) ## 80B8AF80
|
||||
/* 00AC8 80B89838 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 80B8AF81
|
||||
/* 00ACC 80B8983C 0045082B */ sltu $at, $v0, $a1
|
||||
/* 00AD0 80B89840 000F6100 */ sll $t4, $t7, 4
|
||||
/* 00AD4 80B89844 008CC021 */ addu $t8, $a0, $t4
|
||||
/* 00AD8 80B89848 1420FFFA */ bne $at, $zero, .L80B89834
|
||||
/* 00ADC 80B8984C A303000F */ sb $v1, 0x000F($t8) ## 0000000F
|
||||
/* 00AE0 80B89850 8FB900C0 */ lw $t9, 0x00C0($sp)
|
||||
/* 00AE4 80B89854 3C014298 */ lui $at, 0x4298 ## $at = 42980000
|
||||
/* 00AE8 80B89858 44818000 */ mtc1 $at, $f16 ## $f16 = 76.00
|
||||
/* 00AEC 80B8985C C72A0198 */ lwc1 $f10, 0x0198($t9) ## 00000198
|
||||
/* 00AF0 80B89860 3C0280B9 */ lui $v0, %hi(D_80B8AFA4) ## $v0 = 80B90000
|
||||
/* 00AF4 80B89864 3C0580B9 */ lui $a1, %hi(D_80B8AFBC) ## $a1 = 80B90000
|
||||
/* 00AF8 80B89868 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00AFC 80B8986C 24A5AFBC */ addiu $a1, $a1, %lo(D_80B8AFBC) ## $a1 = 80B8AFBC
|
||||
/* 00B00 80B89870 2442AFA4 */ addiu $v0, $v0, %lo(D_80B8AFA4) ## $v0 = 80B8AFA4
|
||||
/* 00B04 80B89874 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00B08 80B89878 44032000 */ mfc1 $v1, $f4
|
||||
/* 00B0C 80B8987C 00000000 */ nop
|
||||
/* 00B10 80B89880 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000000
|
||||
.L80B89884:
|
||||
/* 00B14 80B89884 904D0000 */ lbu $t5, 0x0000($v0) ## 80B8AFA4
|
||||
/* 00B18 80B89888 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 80B8AFA8
|
||||
/* 00B1C 80B8988C 000D7900 */ sll $t7, $t5, 4
|
||||
/* 00B20 80B89890 008F6021 */ addu $t4, $a0, $t7
|
||||
/* 00B24 80B89894 A183000F */ sb $v1, 0x000F($t4) ## 0000000F
|
||||
/* 00B28 80B89898 9058FFFD */ lbu $t8, -0x0003($v0) ## 80B8AFA5
|
||||
/* 00B2C 80B8989C 0018C900 */ sll $t9, $t8, 4
|
||||
/* 00B30 80B898A0 00997021 */ addu $t6, $a0, $t9
|
||||
/* 00B34 80B898A4 A1C3000F */ sb $v1, 0x000F($t6) ## 0000000F
|
||||
/* 00B38 80B898A8 904DFFFE */ lbu $t5, -0x0002($v0) ## 80B8AFA6
|
||||
/* 00B3C 80B898AC 000D7900 */ sll $t7, $t5, 4
|
||||
/* 00B40 80B898B0 008F6021 */ addu $t4, $a0, $t7
|
||||
/* 00B44 80B898B4 A183000F */ sb $v1, 0x000F($t4) ## 0000000F
|
||||
/* 00B48 80B898B8 9058FFFF */ lbu $t8, -0x0001($v0) ## 80B8AFA7
|
||||
/* 00B4C 80B898BC 0018C900 */ sll $t9, $t8, 4
|
||||
/* 00B50 80B898C0 00997021 */ addu $t6, $a0, $t9
|
||||
/* 00B54 80B898C4 1445FFEF */ bne $v0, $a1, .L80B89884
|
||||
/* 00B58 80B898C8 A1C3000F */ sb $v1, 0x000F($t6) ## 0000000F
|
||||
/* 00B5C 80B898CC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L80B898D0:
|
||||
/* 00B60 80B898D0 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000
|
||||
/* 00B64 80B898D4 03E00008 */ jr $ra
|
||||
/* 00B68 80B898D8 00000000 */ nop
|
||||
/* 00B6C 80B898DC 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel MagicFire_Init
|
||||
/* 00000 80B88D70 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00004 80B88D74 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00008 80B88D78 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0000C 80B88D7C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00010 80B88D80 3C0580B9 */ lui $a1, %hi(D_80B8AF7C) ## $a1 = 80B90000
|
||||
/* 00014 80B88D84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 80B88D88 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0001C 80B88D8C 24A5AF7C */ addiu $a1, $a1, %lo(D_80B8AF7C) ## $a1 = 80B8AF7C
|
||||
/* 00020 80B88D90 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
|
||||
/* 00024 80B88D94 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00
|
||||
/* 00028 80B88D98 A60001A4 */ sh $zero, 0x01A4($s0) ## 000001A4
|
||||
/* 0002C 80B88D9C A60001A6 */ sh $zero, 0x01A6($s0) ## 000001A6
|
||||
/* 00030 80B88DA0 A60001A8 */ sh $zero, 0x01A8($s0) ## 000001A8
|
||||
/* 00034 80B88DA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00038 80B88DA8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 0003C 80B88DAC 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00040 80B88DB0 E6040198 */ swc1 $f4, 0x0198($s0) ## 00000198
|
||||
/* 00044 80B88DB4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00048 80B88DB8 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 0004C 80B88DBC 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00050 80B88DC0 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00054 80B88DC4 3C0780B9 */ lui $a3, %hi(D_80B8AF50) ## $a3 = 80B90000
|
||||
/* 00058 80B88DC8 24E7AF50 */ addiu $a3, $a3, %lo(D_80B8AF50) ## $a3 = 80B8AF50
|
||||
/* 0005C 80B88DCC 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00060 80B88DD0 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00064 80B88DD4 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00068 80B88DD8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0006C 80B88DDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00070 80B88DE0 0C0189B7 */ jal Collider_UpdateCylinder
|
||||
|
||||
/* 00074 80B88DE4 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00078 80B88DE8 3C0E80B9 */ lui $t6, %hi(func_80B88E3C) ## $t6 = 80B90000
|
||||
/* 0007C 80B88DEC 25CE8E3C */ addiu $t6, $t6, %lo(func_80B88E3C) ## $t6 = 80B88E3C
|
||||
/* 00080 80B88DF0 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
|
||||
/* 00084 80B88DF4 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 00088 80B88DF8 AE0E0130 */ sw $t6, 0x0130($s0) ## 00000130
|
||||
/* 0008C 80B88DFC A60F01A8 */ sh $t7, 0x01A8($s0) ## 000001A8
|
||||
/* 00090 80B88E00 A2180003 */ sb $t8, 0x0003($s0) ## 00000003
|
||||
/* 00094 80B88E04 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00098 80B88E08 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0009C 80B88E0C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 000A0 80B88E10 03E00008 */ jr $ra
|
||||
/* 000A4 80B88E14 00000000 */ nop
|
|
@ -1,276 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B8AFFC
|
||||
.word 0x43A28000
|
||||
glabel D_80B8B000
|
||||
.float 0.08
|
||||
|
||||
glabel D_80B8B004
|
||||
.float 0.001
|
||||
|
||||
glabel D_80B8B008
|
||||
.float 0.05
|
||||
|
||||
glabel D_80B8B00C
|
||||
.word 0x3D89AE40
|
||||
|
||||
.text
|
||||
glabel MagicFire_Update
|
||||
/* 00170 80B88EE0 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00174 80B88EE4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00178 80B88EE8 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 0017C 80B88EEC 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
||||
/* 00180 80B88EF0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 00184 80B88EF4 00451021 */ addu $v0, $v0, $a1
|
||||
/* 00188 80B88EF8 8C6F0024 */ lw $t7, 0x0024($v1) ## 00000024
|
||||
/* 0018C 80B88EFC 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00190 80B88F00 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00194 80B88F04 AC8F0024 */ sw $t7, 0x0024($a0) ## 00000024
|
||||
/* 00198 80B88F08 8C6E0028 */ lw $t6, 0x0028($v1) ## 00000028
|
||||
/* 0019C 80B88F0C 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 001A0 80B88F10 AC8E0028 */ sw $t6, 0x0028($a0) ## 00000028
|
||||
/* 001A4 80B88F14 8C6F002C */ lw $t7, 0x002C($v1) ## 0000002C
|
||||
/* 001A8 80B88F18 AC8F002C */ sw $t7, 0x002C($a0) ## 0000002C
|
||||
/* 001AC 80B88F1C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC
|
||||
/* 001B0 80B88F20 10410003 */ beq $v0, $at, .L80B88F30
|
||||
/* 001B4 80B88F24 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 001B8 80B88F28 14410005 */ bne $v0, $at, .L80B88F40
|
||||
/* 001BC 80B88F2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B88F30:
|
||||
/* 001C0 80B88F30 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 001C4 80B88F34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001C8 80B88F38 100000CA */ beq $zero, $zero, .L80B89264
|
||||
/* 001CC 80B88F3C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B88F40:
|
||||
/* 001D0 80B88F40 860301A4 */ lh $v1, 0x01A4($s0) ## 000001A4
|
||||
/* 001D4 80B88F44 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 001D8 80B88F48 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
|
||||
/* 001DC 80B88F4C 14610005 */ bne $v1, $at, .L80B88F64
|
||||
/* 001E0 80B88F50 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C
|
||||
/* 001E4 80B88F54 861801A8 */ lh $t8, 0x01A8($s0) ## 000001A8
|
||||
/* 001E8 80B88F58 27190019 */ addiu $t9, $t8, 0x0019 ## $t9 = 00000019
|
||||
/* 001EC 80B88F5C 10000006 */ beq $zero, $zero, .L80B88F78
|
||||
/* 001F0 80B88F60 A2190169 */ sb $t9, 0x0169($s0) ## 00000169
|
||||
.L80B88F64:
|
||||
/* 001F4 80B88F64 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 001F8 80B88F68 54610004 */ bnel $v1, $at, .L80B88F7C
|
||||
/* 001FC 80B88F6C AFA6002C */ sw $a2, 0x002C($sp)
|
||||
/* 00200 80B88F70 860801A8 */ lh $t0, 0x01A8($s0) ## 000001A8
|
||||
/* 00204 80B88F74 A2080169 */ sb $t0, 0x0169($s0) ## 00000169
|
||||
.L80B88F78:
|
||||
/* 00208 80B88F78 AFA6002C */ sw $a2, 0x002C($sp)
|
||||
.L80B88F7C:
|
||||
/* 0020C 80B88F7C 0C0189B7 */ jal Collider_UpdateCylinder
|
||||
|
||||
/* 00210 80B88F80 AFA7004C */ sw $a3, 0x004C($sp)
|
||||
/* 00214 80B88F84 3C0180B9 */ lui $at, %hi(D_80B8AFFC) ## $at = 80B90000
|
||||
/* 00218 80B88F88 C426AFFC */ lwc1 $f6, %lo(D_80B8AFFC)($at)
|
||||
/* 0021C 80B88F8C C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
|
||||
/* 00220 80B88F90 3C0143E1 */ lui $at, 0x43E1 ## $at = 43E10000
|
||||
/* 00224 80B88F94 44818000 */ mtc1 $at, $f16 ## $f16 = 450.00
|
||||
/* 00228 80B88F98 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0022C 80B88F9C C6000054 */ lwc1 $f0, 0x0054($s0) ## 00000054
|
||||
/* 00230 80B88FA0 3C01C361 */ lui $at, 0xC361 ## $at = C3610000
|
||||
/* 00234 80B88FA4 44813000 */ mtc1 $at, $f6 ## $f6 = -225.00
|
||||
/* 00238 80B88FA8 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 0023C 80B88FAC 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00240 80B88FB0 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 00244 80B88FB4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00248 80B88FB8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0024C 80B88FBC 00812821 */ addu $a1, $a0, $at
|
||||
/* 00250 80B88FC0 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00254 80B88FC4 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00258 80B88FC8 440A5000 */ mfc1 $t2, $f10
|
||||
/* 0025C 80B88FCC 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00260 80B88FD0 A60A018C */ sh $t2, 0x018C($s0) ## 0000018C
|
||||
/* 00264 80B88FD4 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00268 80B88FD8 440C2000 */ mfc1 $t4, $f4
|
||||
/* 0026C 80B88FDC 440E5000 */ mfc1 $t6, $f10
|
||||
/* 00270 80B88FE0 A60C018E */ sh $t4, 0x018E($s0) ## 0000018E
|
||||
/* 00274 80B88FE4 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00278 80B88FE8 A60E0190 */ sh $t6, 0x0190($s0) ## 00000190
|
||||
/* 0027C 80B88FEC 860301A4 */ lh $v1, 0x01A4($s0) ## 000001A4
|
||||
/* 00280 80B88FF0 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
|
||||
/* 00284 80B88FF4 3C0180B9 */ lui $at, %hi(D_80B8B000) ## $at = 80B90000
|
||||
/* 00288 80B88FF8 1060000B */ beq $v1, $zero, .L80B89028
|
||||
/* 0028C 80B88FFC 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00290 80B89000 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00294 80B89004 1041001B */ beq $v0, $at, .L80B89074
|
||||
/* 00298 80B89008 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
|
||||
/* 0029C 80B8900C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 002A0 80B89010 10410032 */ beq $v0, $at, .L80B890DC
|
||||
/* 002A4 80B89014 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 002A8 80B89018 1041003A */ beq $v0, $at, .L80B89104
|
||||
/* 002AC 80B8901C 00000000 */ nop
|
||||
/* 002B0 80B89020 1000004F */ beq $zero, $zero, .L80B89160
|
||||
/* 002B4 80B89024 860201A6 */ lh $v0, 0x01A6($s0) ## 000001A6
|
||||
.L80B89028:
|
||||
/* 002B8 80B89028 A6000034 */ sh $zero, 0x0034($s0) ## 00000034
|
||||
/* 002BC 80B8902C 86020034 */ lh $v0, 0x0034($s0) ## 00000034
|
||||
/* 002C0 80B89030 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 002C4 80B89034 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
|
||||
/* 002C8 80B89038 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
/* 002CC 80B8903C A6020030 */ sh $v0, 0x0030($s0) ## 00000030
|
||||
/* 002D0 80B89040 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8
|
||||
/* 002D4 80B89044 A60F01A8 */ sh $t7, 0x01A8($s0) ## 000001A8
|
||||
/* 002D8 80B89048 E6020058 */ swc1 $f2, 0x0058($s0) ## 00000058
|
||||
/* 002DC 80B8904C E6020054 */ swc1 $f2, 0x0054($s0) ## 00000054
|
||||
/* 002E0 80B89050 E6020050 */ swc1 $f2, 0x0050($s0) ## 00000050
|
||||
/* 002E4 80B89054 E6020198 */ swc1 $f2, 0x0198($s0) ## 00000198
|
||||
/* 002E8 80B89058 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 002EC 80B8905C A60200B4 */ sh $v0, 0x00B4($s0) ## 000000B4
|
||||
/* 002F0 80B89060 C430B000 */ lwc1 $f16, %lo(D_80B8B000)($at)
|
||||
/* 002F4 80B89064 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001
|
||||
/* 002F8 80B89068 A61801A4 */ sh $t8, 0x01A4($s0) ## 000001A4
|
||||
/* 002FC 80B8906C 1000003B */ beq $zero, $zero, .L80B8915C
|
||||
/* 00300 80B89070 E61001A0 */ swc1 $f16, 0x01A0($s0) ## 000001A0
|
||||
.L80B89074:
|
||||
/* 00304 80B89074 3C063D08 */ lui $a2, 0x3D08 ## $a2 = 3D080000
|
||||
/* 00308 80B89078 34C68889 */ ori $a2, $a2, 0x8889 ## $a2 = 3D088889
|
||||
/* 0030C 80B8907C 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00310 80B89080 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
|
||||
/* 00314 80B89084 861901A8 */ lh $t9, 0x01A8($s0) ## 000001A8
|
||||
/* 00318 80B89088 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000
|
||||
/* 0031C 80B8908C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD
|
||||
/* 00320 80B89090 1B20000C */ blez $t9, .L80B890C4
|
||||
/* 00324 80B89094 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
|
||||
/* 00328 80B89098 3C0180B9 */ lui $at, %hi(D_80B8B004) ## $at = 80B90000
|
||||
/* 0032C 80B8909C C432B004 */ lwc1 $f18, %lo(D_80B8B004)($at)
|
||||
/* 00330 80B890A0 8E0601A0 */ lw $a2, 0x01A0($s0) ## 000001A0
|
||||
/* 00334 80B890A4 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
|
||||
/* 00338 80B890A8 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
|
||||
/* 0033C 80B890AC 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00340 80B890B0 E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 00344 80B890B4 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
|
||||
/* 00348 80B890B8 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
|
||||
/* 0034C 80B890BC 10000027 */ beq $zero, $zero, .L80B8915C
|
||||
/* 00350 80B890C0 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
|
||||
.L80B890C4:
|
||||
/* 00354 80B890C4 860901A4 */ lh $t1, 0x01A4($s0) ## 000001A4
|
||||
/* 00358 80B890C8 24080019 */ addiu $t0, $zero, 0x0019 ## $t0 = 00000019
|
||||
/* 0035C 80B890CC A60801A8 */ sh $t0, 0x01A8($s0) ## 000001A8
|
||||
/* 00360 80B890D0 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
|
||||
/* 00364 80B890D4 10000021 */ beq $zero, $zero, .L80B8915C
|
||||
/* 00368 80B890D8 A60A01A4 */ sh $t2, 0x01A4($s0) ## 000001A4
|
||||
.L80B890DC:
|
||||
/* 0036C 80B890DC 860B01A8 */ lh $t3, 0x01A8($s0) ## 000001A8
|
||||
/* 00370 80B890E0 240C000F */ addiu $t4, $zero, 0x000F ## $t4 = 0000000F
|
||||
/* 00374 80B890E4 246D0001 */ addiu $t5, $v1, 0x0001 ## $t5 = 00000001
|
||||
/* 00378 80B890E8 1D60001C */ bgtz $t3, .L80B8915C
|
||||
/* 0037C 80B890EC 3C0180B9 */ lui $at, %hi(D_80B8B008) ## $at = 80B90000
|
||||
/* 00380 80B890F0 A60C01A8 */ sh $t4, 0x01A8($s0) ## 000001A8
|
||||
/* 00384 80B890F4 A60D01A4 */ sh $t5, 0x01A4($s0) ## 000001A4
|
||||
/* 00388 80B890F8 C424B008 */ lwc1 $f4, %lo(D_80B8B008)($at)
|
||||
/* 0038C 80B890FC 10000017 */ beq $zero, $zero, .L80B8915C
|
||||
/* 00390 80B89100 E60401A0 */ swc1 $f4, 0x01A0($s0) ## 000001A0
|
||||
.L80B89104:
|
||||
/* 00394 80B89104 3C0180B9 */ lui $at, %hi(D_80B8B00C) ## $at = 80B90000
|
||||
/* 00398 80B89108 C428B00C */ lwc1 $f8, %lo(D_80B8B00C)($at)
|
||||
/* 0039C 80B8910C C6060198 */ lwc1 $f6, 0x0198($s0) ## 00000198
|
||||
/* 003A0 80B89110 C60001A0 */ lwc1 $f0, 0x01A0($s0) ## 000001A0
|
||||
/* 003A4 80B89114 C6100050 */ lwc1 $f16, 0x0050($s0) ## 00000050
|
||||
/* 003A8 80B89118 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 003AC 80B8911C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 003B0 80B89120 C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054
|
||||
/* 003B4 80B89124 46008480 */ add.s $f18, $f16, $f0
|
||||
/* 003B8 80B89128 E60A0198 */ swc1 $f10, 0x0198($s0) ## 00000198
|
||||
/* 003BC 80B8912C C6100198 */ lwc1 $f16, 0x0198($s0) ## 00000198
|
||||
/* 003C0 80B89130 C6080058 */ lwc1 $f8, 0x0058($s0) ## 00000058
|
||||
/* 003C4 80B89134 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 003C8 80B89138 E6120050 */ swc1 $f18, 0x0050($s0) ## 00000050
|
||||
/* 003CC 80B8913C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003D0 80B89140 4602803E */ c.le.s $f16, $f2
|
||||
/* 003D4 80B89144 E6060054 */ swc1 $f6, 0x0054($s0) ## 00000054
|
||||
/* 003D8 80B89148 46004280 */ add.s $f10, $f8, $f0
|
||||
/* 003DC 80B8914C 45000003 */ bc1f .L80B8915C
|
||||
/* 003E0 80B89150 E60A0058 */ swc1 $f10, 0x0058($s0) ## 00000058
|
||||
/* 003E4 80B89154 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 003E8 80B89158 A60001A4 */ sh $zero, 0x01A4($s0) ## 000001A4
|
||||
.L80B8915C:
|
||||
/* 003EC 80B8915C 860201A6 */ lh $v0, 0x01A6($s0) ## 000001A6
|
||||
.L80B89160:
|
||||
/* 003F0 80B89160 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 003F4 80B89164 5040000A */ beql $v0, $zero, .L80B89190
|
||||
/* 003F8 80B89168 860E01AA */ lh $t6, 0x01AA($s0) ## 000001AA
|
||||
/* 003FC 80B8916C 10410010 */ beq $v0, $at, .L80B891B0
|
||||
/* 00400 80B89170 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00404 80B89174 1041001F */ beq $v0, $at, .L80B891F4
|
||||
/* 00408 80B89178 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 0040C 80B8917C 50410027 */ beql $v0, $at, .L80B8921C
|
||||
/* 00410 80B89180 860201AA */ lh $v0, 0x01AA($s0) ## 000001AA
|
||||
/* 00414 80B89184 1000002F */ beq $zero, $zero, .L80B89244
|
||||
/* 00418 80B89188 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8
|
||||
/* 0041C 80B8918C 860E01AA */ lh $t6, 0x01AA($s0) ## 000001AA
|
||||
.L80B89190:
|
||||
/* 00420 80B89190 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
|
||||
/* 00424 80B89194 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00428 80B89198 1DC00003 */ bgtz $t6, .L80B891A8
|
||||
/* 0042C 80B8919C 00000000 */ nop
|
||||
/* 00430 80B891A0 A60F01AA */ sh $t7, 0x01AA($s0) ## 000001AA
|
||||
/* 00434 80B891A4 A61801A6 */ sh $t8, 0x01A6($s0) ## 000001A6
|
||||
.L80B891A8:
|
||||
/* 00438 80B891A8 10000026 */ beq $zero, $zero, .L80B89244
|
||||
/* 0043C 80B891AC 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8
|
||||
.L80B891B0:
|
||||
/* 00440 80B891B0 860201AA */ lh $v0, 0x01AA($s0) ## 000001AA
|
||||
/* 00444 80B891B4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00448 80B891B8 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 0044C 80B891BC 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
|
||||
/* 00450 80B891C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00454 80B891C4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
|
||||
/* 00458 80B891C8 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 0045C 80B891CC 2419002D */ addiu $t9, $zero, 0x002D ## $t9 = 0000002D
|
||||
/* 00460 80B891D0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
|
||||
/* 00464 80B891D4 46062203 */ div.s $f8, $f4, $f6
|
||||
/* 00468 80B891D8 46085401 */ sub.s $f16, $f10, $f8
|
||||
/* 0046C 80B891DC 1C400003 */ bgtz $v0, .L80B891EC
|
||||
/* 00470 80B891E0 E610019C */ swc1 $f16, 0x019C($s0) ## 0000019C
|
||||
/* 00474 80B891E4 A61901AA */ sh $t9, 0x01AA($s0) ## 000001AA
|
||||
/* 00478 80B891E8 A60801A6 */ sh $t0, 0x01A6($s0) ## 000001A6
|
||||
.L80B891EC:
|
||||
/* 0047C 80B891EC 10000015 */ beq $zero, $zero, .L80B89244
|
||||
/* 00480 80B891F0 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8
|
||||
.L80B891F4:
|
||||
/* 00484 80B891F4 860901AA */ lh $t1, 0x01AA($s0) ## 000001AA
|
||||
/* 00488 80B891F8 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
|
||||
/* 0048C 80B891FC 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003
|
||||
/* 00490 80B89200 1D200003 */ bgtz $t1, .L80B89210
|
||||
/* 00494 80B89204 00000000 */ nop
|
||||
/* 00498 80B89208 A60A01AA */ sh $t2, 0x01AA($s0) ## 000001AA
|
||||
/* 0049C 80B8920C A60B01A6 */ sh $t3, 0x01A6($s0) ## 000001A6
|
||||
.L80B89210:
|
||||
/* 004A0 80B89210 1000000C */ beq $zero, $zero, .L80B89244
|
||||
/* 004A4 80B89214 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8
|
||||
/* 004A8 80B89218 860201AA */ lh $v0, 0x01AA($s0) ## 000001AA
|
||||
.L80B8921C:
|
||||
/* 004AC 80B8921C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 004B0 80B89220 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 004B4 80B89224 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
|
||||
/* 004B8 80B89228 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
|
||||
/* 004BC 80B8922C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 004C0 80B89230 46062283 */ div.s $f10, $f4, $f6
|
||||
/* 004C4 80B89234 1C400002 */ bgtz $v0, .L80B89240
|
||||
/* 004C8 80B89238 E60A019C */ swc1 $f10, 0x019C($s0) ## 0000019C
|
||||
/* 004CC 80B8923C A60C01A6 */ sh $t4, 0x01A6($s0) ## 000001A6
|
||||
.L80B89240:
|
||||
/* 004D0 80B89240 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8
|
||||
.L80B89244:
|
||||
/* 004D4 80B89244 18400002 */ blez $v0, .L80B89250
|
||||
/* 004D8 80B89248 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
|
||||
/* 004DC 80B8924C A60D01A8 */ sh $t5, 0x01A8($s0) ## 000001A8
|
||||
.L80B89250:
|
||||
/* 004E0 80B89250 860201AA */ lh $v0, 0x01AA($s0) ## 000001AA
|
||||
/* 004E4 80B89254 18400002 */ blez $v0, .L80B89260
|
||||
/* 004E8 80B89258 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 004EC 80B8925C A60E01AA */ sh $t6, 0x01AA($s0) ## 000001AA
|
||||
.L80B89260:
|
||||
/* 004F0 80B89260 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B89264:
|
||||
/* 004F4 80B89264 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 004F8 80B89268 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 004FC 80B8926C 03E00008 */ jr $ra
|
||||
/* 00500 80B89270 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel func_80B88E3C
|
||||
/* 000CC 80B88E3C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 000D0 80B88E40 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 000D4 80B88E44 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000D8 80B88E48 00451021 */ addu $v0, $v0, $a1
|
||||
/* 000DC 80B88E4C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC
|
||||
/* 000E0 80B88E50 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 000E4 80B88E54 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 000E8 80B88E58 10410004 */ beq $v0, $at, .L80B88E6C
|
||||
/* 000EC 80B88E5C 8CA71C44 */ lw $a3, 0x1C44($a1) ## 00001C44
|
||||
/* 000F0 80B88E60 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 000F4 80B88E64 54410006 */ bnel $v0, $at, .L80B88E80
|
||||
/* 000F8 80B88E68 84C201A8 */ lh $v0, 0x01A8($a2) ## 000001A8
|
||||
.L80B88E6C:
|
||||
/* 000FC 80B88E6C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00100 80B88E70 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00104 80B88E74 10000017 */ beq $zero, $zero, .L80B88ED4
|
||||
/* 00108 80B88E78 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0010C 80B88E7C 84C201A8 */ lh $v0, 0x01A8($a2) ## 000001A8
|
||||
.L80B88E80:
|
||||
/* 00110 80B88E80 3C0F80B9 */ lui $t7, %hi(MagicFire_Update) ## $t7 = 80B90000
|
||||
/* 00114 80B88E84 25EF8EE0 */ addiu $t7, $t7, %lo(MagicFire_Update) ## $t7 = 80B88EE0
|
||||
/* 00118 80B88E88 18400004 */ blez $v0, .L80B88E9C
|
||||
/* 0011C 80B88E8C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00120 80B88E90 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00124 80B88E94 10000008 */ beq $zero, $zero, .L80B88EB8
|
||||
/* 00128 80B88E98 A4CE01A8 */ sh $t6, 0x01A8($a2) ## 000001A8
|
||||
.L80B88E9C:
|
||||
/* 0012C 80B88E9C ACCF0130 */ sw $t7, 0x0130($a2) ## 00000130
|
||||
/* 00130 80B88EA0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00134 80B88EA4 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00138 80B88EA8 0C00BDF7 */ jal func_8002F7DC
|
||||
/* 0013C 80B88EAC 24050879 */ addiu $a1, $zero, 0x0879 ## $a1 = 00000879
|
||||
/* 00140 80B88EB0 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00144 80B88EB4 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
.L80B88EB8:
|
||||
/* 00148 80B88EB8 8CF90024 */ lw $t9, 0x0024($a3) ## 00000024
|
||||
/* 0014C 80B88EBC ACD90024 */ sw $t9, 0x0024($a2) ## 00000024
|
||||
/* 00150 80B88EC0 8CF80028 */ lw $t8, 0x0028($a3) ## 00000028
|
||||
/* 00154 80B88EC4 ACD80028 */ sw $t8, 0x0028($a2) ## 00000028
|
||||
/* 00158 80B88EC8 8CF9002C */ lw $t9, 0x002C($a3) ## 0000002C
|
||||
/* 0015C 80B88ECC ACD9002C */ sw $t9, 0x002C($a2) ## 0000002C
|
||||
/* 00160 80B88ED0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B88ED4:
|
||||
/* 00164 80B88ED4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00168 80B88ED8 03E00008 */ jr $ra
|
||||
/* 0016C 80B88EDC 00000000 */ nop
|
File diff suppressed because one or more lines are too long
|
@ -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_80B8B020
|
||||
.incbin "baserom/ovl_Magic_Fire", 0x22B0, 0x000000E0
|
3
spec
3
spec
|
@ -3259,8 +3259,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Magic_Fire"
|
||||
include "build/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.o"
|
||||
include "build/data/overlays/actors/z_magic_fire.data.o"
|
||||
include "build/data/overlays/actors/z_magic_fire.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Magic_Fire/ovl_Magic_Fire_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -15,7 +15,23 @@ void MagicFire_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void MagicFire_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void MagicFire_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void MagicFire_UpdateBeforeCast(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ DF_ACTION_INITIALIZE,
|
||||
/* 0x01 */ DF_ACTION_EXPAND_SLOWLY,
|
||||
/* 0x02 */ DF_ACTION_STOP_EXPANDING,
|
||||
/* 0x03 */ DF_ACTION_EXPAND_QUICKLY
|
||||
} MagicFireAction;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ DF_SCREEN_TINT_NONE,
|
||||
/* 0x01 */ DF_SCREEN_TINT_FADE_IN,
|
||||
/* 0x02 */ DF_SCREEN_TINT_MAINTAIN,
|
||||
/* 0x03 */ DF_SCREEN_TINT_FADE_OUT,
|
||||
/* 0x04 */ DF_SCREEN_TINT_FINISHED
|
||||
} MagicFireScreenTint;
|
||||
|
||||
const ActorInit Magic_Fire_InitVars = {
|
||||
ACTOR_MAGIC_FIRE,
|
||||
ACTORCAT_ITEMACTION,
|
||||
|
@ -28,7 +44,251 @@ const ActorInit Magic_Fire_InitVars = {
|
|||
(ActorFunc)MagicFire_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_80B8AF50 = {
|
||||
static u64 sTexture[] = {
|
||||
0x144849353C7496B7, 0xB18E6A462F170702, 0x07193C4D618CB0AE, 0x896E685931273E21, 0x204A36355385C9DE,
|
||||
0xB3856F5A492D0F03, 0x07152C46678BAA9D, 0x6D647F856028140B, 0x175B6A4E4A799BB6, 0xAF946A43250F0403,
|
||||
0x0C20425B79A9CAA8, 0x6E5B5E522E294D2D, 0x1A4841425B8BD3D8, 0xAE7F61473F290E05, 0x0E213C5A81A0C6AE,
|
||||
0x7A749C9E61161112, 0x175C816B5D7FA4B4, 0xB5A57245200C0206, 0x142A4B6B94C5DD9F, 0x60454A4727235030,
|
||||
0x1946464B628FD1C7, 0x9C735542301C0906, 0x162F4A7199BDD9BA, 0x9089B2B87D1D1618, 0x1A5E90887583A8AD,
|
||||
0xB2B78550240C030A, 0x1D38597DABDCE891, 0x523637361B18422C, 0x193F44536B8FC2B2, 0x86624F3C200F070C,
|
||||
0x203C5B85B0D5E6C2, 0xA8A3B4B88E25171E, 0x1C5D99A08F8EADA3, 0xACC2955D2F120611, 0x29476B92C3EEEF8F,
|
||||
0x4D2F2C2A1310342A, 0x1D39435C7892B6A0, 0x7555513913060914, 0x2D4B6E9CC9E9ECC4, 0xBCB4A8A698331621,
|
||||
0x215B95ABA59DB196, 0x9EB69260391B0C1A, 0x365880AAD9F9F4A2, 0x5B362F2C1A1D3B39, 0x2F3E4D6B899BB493,
|
||||
0x6A535B390B040D1F, 0x3B5C83B4E0F8EABB, 0xC1B59295A7481625, 0x2A5589AAB1ACB48C, 0x859174513D251627,
|
||||
0x456C97C1ECFEF9C0, 0x8455454342455759, 0x5157617B97AAAE88, 0x6A636A3A0907152D, 0x4C6F9CCCF1FFDCA6,
|
||||
0xA99D7A8DAF5D172B, 0x33517CA0B5BBBC84, 0x69604834362E2335, 0x5580AED9F8FFFDDF, 0xB384696B68616A6E,
|
||||
0x68767B88A2B4A47D, 0x77837F400D0E203B, 0x5E83B5E1FBFFCE8D, 0x867B6891B1761C32, 0x3C537599B5C6BF7E,
|
||||
0x5036211A2D383548, 0x6895C4EBFEFFFEF5, 0xDCAD928F81727479, 0x77919695AAB49374, 0x8AA8964916182C4C,
|
||||
0x7198CDF2FFFFC87E, 0x6A64679CAA882838, 0x485C7898B9CFBB75, 0x40200D0D29454C5E, 0x7CA8D8F7FFFFFAF3,
|
||||
0xF2C9B0A98D736F7B, 0x81A5ADA3B3AF806F, 0x9AC6AF5D27253D5C, 0x84ACE3FCFFFFD08E, 0x726D7BA49C954142,
|
||||
0x5C6C84A1C3D0AB68, 0x3C200D1030586876, 0x8FBAE2F8FDFFF7EB, 0xEDCCBCB17A5B6681, 0x89B2C1B4BCA67B71,
|
||||
0x9DCCC68142384C6C, 0x95BBEFFFFFFFE1AE, 0x8E818BA4949E625C, 0x778194AFCFCB8F59, 0x43331B1C43728891,
|
||||
0xA4C5DCE7F3FDF7E5, 0xDEBDB9A86C4F728B, 0x96B9D0C6C29A7E77, 0x8FB9D7AC674E5D7F, 0xA5BBECFBFEFFF3CE,
|
||||
0xB0999599929A706C, 0x8F9CA6C1DFC4774A, 0x4E4E32325D90A6A7, 0xB3C8CBCDE0F5F8E1, 0xCFB2AC9C6B4B8598,
|
||||
0xA8C4DCD7C591827B, 0x7A9FE3D48E667091, 0xADAFD4EAF7FDFAE5, 0xCAAF92868D8E6C71, 0x98B8BED6EDC06943,
|
||||
0x5B66474A7FB0B9B5, 0xBDC7B6AFC1E7F6DF, 0xC2AAA18E70549BA4, 0xB5D0E7E6C0857F74, 0x6384E5F1AB7A81A5,
|
||||
0xAC99B2CFE6F3F6E4, 0xC9AC7F6E7F735667, 0x93D1D7E6F6C96E46, 0x5E6F565FA1C5C2C2, 0xC7C3A6959ECEEFD4,
|
||||
0xBAA29783806CADAB, 0xBBD6EEF1B8797063, 0x5277DEF6B78896B8, 0xA37F8DABCBE5EFD8, 0xC5A7715C6756364B,
|
||||
0x8CE5E4E9FADA8954, 0x5C675C75BDCEC3CD, 0xCEBF9D837EB6E3C3, 0xB69F917E8D8BB4B3, 0xCAE2F5F7AF6B594C,
|
||||
0x4975D5EBB593A9C7, 0x976D6D88AFD7E0C6, 0xB7A0674F52412739, 0x8FF2E7D9F3EBAF6E, 0x5C5A5F89CFCBBFD6,
|
||||
0xCFB6957666A0D3B0, 0xB49A878399A8AEAC, 0xD4EEFAFBAB624439, 0x4675CADDAC9CBBC9, 0x89605E76A0CFCDB2,
|
||||
0xA9955F4747382233, 0xA2F9E0BEDCF3D491, 0x6053699DD1BEBDD9, 0xC4A183685C94C9A5, 0xB596768AA5B29493,
|
||||
0xD4F8FDFDB1643A31, 0x477BC7D1A8A9C0BC, 0x7C5B5D7BA5CAB89B, 0x9C925F484839203C, 0xC0FDD9A2BAE3EBBA,
|
||||
0x755D7FB4CAB0B9CE, 0xA87E67575D99C6A6, 0xB5956380979D6A6B, 0xC8FEFFFEC4744337, 0x4C7ECACBADB1B3A1,
|
||||
0x6F5E6F98B6C0A588, 0x96976D52513B1D50, 0xDAFFDA8C93C1E5DB, 0x92719DC0BDA7AFB5, 0x825949486EA6C2AB,
|
||||
0xB48D4F6B7E774042, 0xB1FEFFFFDB955D4B, 0x5585D0C8B1B09D7F, 0x626890BABFB59A7B, 0x959D83605737196A,
|
||||
0xECFFDD7D729CC9ED, 0xB389B7C2B0A2A396, 0x5F3C2F3F86B0C0B2, 0xAB7F3F4C5E4C2329, 0x93F8FFFFEEBD886C,
|
||||
0x6793D4C4B2A67E62, 0x5472B2D1BFA39170, 0x96A7956C562E1A86, 0xF8FFD66B6383A5EC, 0xCE9FC6BCA7A29278,
|
||||
0x4A2F24439DAFB4AE, 0x9369362E3A2D191F, 0x6FE9FFFFFCDFB899, 0x88A8CFB9AC94674E, 0x4575CBD8B3928465,
|
||||
0x899F9771522421A3, 0xFAF8B352698886DA, 0xDFAEC9ADA3A58260, 0x483C2F54AB9F9B96, 0x74502E212D221E28,
|
||||
0x4AC7FFFFFBEDDBC4, 0xAFBCC6ACA2805943, 0x366CD3D0AB8F7A5B, 0x708282694C1D2BB4, 0xEDE1833877A175C6,
|
||||
0xE9B8BF9F9EA3714F, 0x5458466DA986817A, 0x563E281C2D21283F, 0x319DFCFFF3DBEBE5, 0xD2CAB99F96714C3A,
|
||||
0x2854C4C7A8917A56, 0x5763615B481833B4, 0xCFBA512281B876BB, 0xE8BAB09193965B3E, 0x5B715D81A1746A5D,
|
||||
0x4439221B2A1F2D51, 0x296CF9FFEAB9DAEA, 0xE9D0AB9288643F30, 0x1C3BA9BD9D897E60, 0x3F4041504E1A309F,
|
||||
0xA08B2B137ABA84C4, 0xE4B6A385807D4730, 0x557665849B78674B, 0x3C392124271A2953, 0x2C41F3FFE59BB7D0,
|
||||
0xE1CD9D8578563425, 0x142284AA8E7F7F74, 0x3D293150602D2872, 0x68601C0B5BA2A0D1, 0xDBB49E826E633925,
|
||||
0x405D557285797452, 0x3733304836171E41, 0x332AE9FFE88D91A3, 0xBFC98F7564482A1B, 0x10105D8F7B6E757F,
|
||||
0x593A3C6381542E46, 0x3A441A073776B9DC, 0xD1B5A3886A583926, 0x2A393B53696E7968, 0x342B4F8061211229,
|
||||
0x341CDDFFF09D6E6F, 0x96C0836651392112, 0x0C083C6D6B5C6283, 0x7860587DA5894C2B, 0x1D3A1C061A4BCADD,
|
||||
0xCABDAE9679634A31, 0x211B20384D607E84, 0x342B7CB79B3E0D1A, 0x2E1CCAFFF9B45944, 0x6CB8805A452F1A0C,
|
||||
0x09042454685B547E, 0x9B8C738FB9B67A28, 0x123D20050C2ED3CF, 0xC5BFB9A190816642, 0x210B162B2F497E9E,
|
||||
0x4649B0E5D4620F19, 0x2A1FAFFEFECA4C28, 0x4CA9855A4835190A, 0x070418476D665779, 0xBAA77E87B0BF9C30,
|
||||
0x164821050E20CDC2, 0xC3B6BCA0A49E8252, 0x260A20312A3E81A8, 0x707DD5FAF884141F, 0x29248BF9FFD8421A,
|
||||
0x3E99926D624E2C11, 0x0906184774776A89, 0xB5986B66849D982F, 0x21581F07131BC7BB, 0xBDA4B596AEAF985E,
|
||||
0x240F3B47334791A5, 0x9CADEDFCFF9E1821, 0x272A61ECFED53516, 0x38929F837D734D22, 0x0C081D4C7D8A84A3,
|
||||
0x9C6E463D4E657227, 0x2E621E08161AC1B9, 0xB18EA986ACB3A764, 0x1F135A664457A29C, 0xC4D7F8FEFFB0171E,
|
||||
0x24283ECBF5C02A19, 0x3C8EA79594967239, 0x120C2351839B9FB6, 0x7C3C231A222E3F19, 0x3A5E1B09171AB7BB,
|
||||
0xA47FA17BA9ACB36C, 0x201C76885B6CAD94, 0xDFEAFBFFFCC4161A, 0x1B2324A0CD942420, 0x4D99ABA1A5AF8D4C,
|
||||
0x1D152A5585A2B2C9, 0x59190C070A0F1814, 0x3A4C1A0C161AA9BE, 0x987B9E7EA8A6BC79, 0x2B258AA27B8AB498,
|
||||
0xE5F0FEF6F1D81619, 0x1318186F9269302A, 0x639DABA5A6AC8A54, 0x2D24315381A1B8D1, 0x4E0F0508160E071A,
|
||||
0x2F311B10161A99BF, 0x947BA18CA6A5C789, 0x3D2B8EB29BABBFAB, 0xE7F8FDE7E5E91819, 0x0D0D18435A534C35,
|
||||
0x7798AAABA0957456, 0x46403E557D9DB9D6, 0x611408163B200420, 0x201B19161A1F87BE, 0x9882A59DA6ABD49C,
|
||||
0x513587BBB7C8D0C9, 0xECFEFCDADEEC181B, 0x0B0816282D4F6E41, 0x858EADB4987A5D58, 0x6561505B7C9CB7DE,
|
||||
0x7F1E1433733F061E, 0x1310181A212875BA, 0x9F8EA4A7ABBADCAB, 0x653E7DB6C7DADDE2, 0xF1FFFCD9E1E0161A,
|
||||
0x0A0715181E58894D, 0x8984ADB98C5D5165, 0x8A85636684A1AFDB, 0x9F2C3066AF630B17, 0x1513161B2F3766B3,
|
||||
0x9F9A9FA8B5C4DBB5, 0x734B72ABC5DBE6F5, 0xF7FFFCE2EAC11118, 0x0B0E161421579157, 0x868DA7B9814F5E89,
|
||||
0xB3A5757592A4A4D3, 0xB64060A0DC851A16, 0x2B20141A434A5FAC, 0x96A497A3C2C6D3B7, 0x7E596EA1BED7E7F9,
|
||||
0xFDFFFEF1EE980C12, 0x0F1D1C15284A8D64, 0x829BA2B87E4E77B1, 0xD4BA8283A2A392C6, 0xC75899D1F6A13B29,
|
||||
0x4E30161E56585AA5, 0x8BA893A4D0C7C8B5, 0x83647198B9D3DAEB, 0xFEFFFFFEF07D1315, 0x1E332A19303D8271,
|
||||
0x81A99EBB815191D3, 0xEDCA8C91AC9A7EBA, 0xD57DCBF2FEBB7157, 0x7A40212A645D5DA0, 0x82AB97AFDBCCC5B0,
|
||||
0x816D7A9ABBD4CBD5, 0xFCFFFFFFEF853E34, 0x3F4C371E3A3A7E7F, 0x80B39EC183559CE5, 0xF7D1989EB19077BB,
|
||||
0xE3ABEDFEFED4AB95, 0xA050364369576C9F, 0x89AEA2C3E7DAD0AD, 0x7E7488A7C8DCB8B7, 0xF6FFFFFFF1A77B6C,
|
||||
0x6D613E22403F878C, 0x81B6A8CD825396DA, 0xF1D4A4ACB5958BCA, 0xF1D2FCFFFFEAD8C6, 0xB86258676A4F73A3,
|
||||
0x9AB1B0D9F2EDDEAB, 0x7B7D95B7D9E39D96, 0xEFFFFFFEF6CEAF9D, 0x9B6B40273F489297, 0x8ABCB7D9825286C3,
|
||||
0xE2D3AFB6B6A5AFDD, 0xF9F0FEFFFFF9EEDF, 0xC87D818A714D77A3, 0xA8B6BFEAF9FBECAB, 0x7D87A4C2DFD88177,
|
||||
0xE1FEFFFCF7E7D6C2, 0xB9683C2D40599E9F, 0x91C1C6E7895878AB, 0xD0CCB7BAB4B4D2F2, 0xFBF3F3FDFFFEEDE0,
|
||||
0xCA999D9F815C7CA0, 0xB1BCCFF7FFFFF2AE, 0x8796ADBDCFBB6359, 0xC4F6FFFCF6E8D8C7, 0xC35F3C3B4D739DA3,
|
||||
0x9EC5D6F39763779D, 0xBFC5BEB8A7B4EAFC, 0xEBD7DBF6FFFCE2D2, 0xC4A4A4A0886C82A2, 0xB2C6E0FDFFFFF2B2,
|
||||
0x97A3A9A7A98D433E, 0x9AE2FEFCF5DBC5B2, 0xB752425469828EA0, 0xAECFE5F9B07D8BA0, 0xB4C0C7B28D99DEF4,
|
||||
0xCFB2B8E2FCF8DCC9, 0xB99D948B806B779E, 0xB7D5EEFFFFFFF0B9, 0xA6A69B8677592726, 0x6DC6FCFEF5D2B6A6,
|
||||
0xA1454B6F7E827A99, 0xBDDCF2FECEA1ADAE, 0xB3C3D6AC6B6EBDDD, 0xAE8992CBF3F1DCC4, 0xA1827269665C6593,
|
||||
0xC0E4F9FFFFFFECBE, 0xADA1846449301416, 0x45A4F9FFF8CDA99C, 0x9040548A8A756693, 0xCEEBFAFFE5C6CEBC,
|
||||
0xB5CCE7A54B4494BE, 0x8D6D77B4E6E4DABC, 0x885F5248403E4D80, 0xC4EFFFFEFFFFE7C0, 0xAB926C492B17090D,
|
||||
0x2C85F3FFF5C59C94, 0x85415B988D626096, 0xDFF9FFFFF7E5E4C1, 0xB5D8F4A133246B9E, 0x79626BA2D4D1D1AC,
|
||||
0x6D473A2D25242E64, 0xB7F1FFFDFFFFDEBB, 0x9F7E5D3B1C0B040B, 0x256FEEFEEFBD928D, 0x8A4D5D968C6268A9,
|
||||
0xECFEFFFFFEF7EABB, 0xACDDFA9724165285, 0x73656FA0C4B9BD94, 0x563B2B1C161D294E, 0x9EEAFFFDFFFAD2B0,
|
||||
0x906F53321506040F, 0x2663E4F8E7B58986, 0x955E5F8E97737CC4, 0xF7FFFFFFFFF8DDAA, 0x9ACEEE891B0E4078,
|
||||
0x77727CA4B8A2A078, 0x463624120E22334C, 0x88E2FFFEFFF1BFA0, 0x81644C2D12050715, 0x2E61D7EAD9AB8582,
|
||||
0x9F736486AB8D98E0, 0xFEFDFFFFFFEEC896, 0x81ADCD72150B3673, 0x83858DABAA8C805E, 0x3B33210C0B2A445D,
|
||||
0x86E0FFFFFCE3AC8D, 0x735D472B14090C1F, 0x3B67CBD5C39F8281, 0xA2896D86BCA8B7F3, 0xFDFAFFFFFBDCB281,
|
||||
0x667F9C540F0B3575, 0x999B9DB19D7B664A, 0x352D1C080B335A7C, 0xA5E7FFFFF3CF9979, 0x6558402A1E14162B,
|
||||
0x4975BDBAAA918184, 0x9F9B7B90C8BFD3FD, 0xFEFAFFFEF1C59A6D, 0x4F5064370A0C357E, 0xB4B1ABB28D6C533F,
|
||||
0x2E2415050C396FA3, 0xC9F2FFFBE4B98565, 0x57543B2B31272139, 0x5D83B6A38F7F7C83, 0x99A88FA0D3D1E8FF,
|
||||
0xFEFAFFF9DFAD855C, 0x3C2D361F08113B88, 0xC9BDB3AE7C5E4738, 0x27190D030D3C85C8, 0xEAFCFEF3CEA17150,
|
||||
0x484E372F453A2F4B, 0x6F95B391786A6D7D, 0x93B1A4B3D7DCF6FF, 0xFEFCFEEDC995714B, 0x2C1818130A1A4396,
|
||||
0xD4BEB2A66D514235, 0x1F0E07040F419EE6, 0xFDFFFAE3B4885E3F, 0x39463435574A3D5D, 0x82A6AF8667555668,
|
||||
0x8DB2AEB5CFE2FDFF, 0xFFFFF7DAB07F603E, 0x1F0D0B0F11264EA0, 0xD1B5AB9B664D4636, 0x1608050B1143AFF7,
|
||||
0xFFFFF1CD9C724C2F, 0x2B3A353E5F534D71, 0x98B3A77D5D49404A, 0x85AEA5A1BAE3FFFF, 0xFFFCE8C3976B4E30,
|
||||
0x150707131D385DA3, 0xC3A69D9268585436, 0x0F0905141546BFFE, 0xFFFDE2B685603C22, 0x1D2D36475E555D85,
|
||||
0xABBA9C745943332E, 0x7AA78A7F9CDAFFFF, 0xFFF1D5B184583E25, 0x0D04081B2C4A6DAA, 0xB4968C8A766E6431,
|
||||
0x0B0D071C1B4FC8FE, 0xFFF4CD9F71502F17, 0x1221384D58586F9A, 0xBFBC906E54412E19, 0x6A9664537CCEFDFF,
|
||||
0xFCE3C1A879492D1B, 0x08030D243C5C7FAC, 0xA6887D868C896B26, 0x090F08202256BBEE, 0xEDD7AB805D41200D,
|
||||
0x0B19394B4F5A7BA8, 0xC7AC80664A382C0E, 0x567E413260B2E5F3, 0xE4C3AA9D6B3A1E12, 0x05040F28426983A1,
|
||||
0x8F766B7F958F5D19, 0x0D2517222960ACDB, 0xD5B890694C321606, 0x06153A494B6589AE, 0xB99D7A5F3F2F2B0E,
|
||||
0x40652E255296D3EC, 0xD5A897896235180B, 0x0307172D4C6F8D9F, 0x7C6B626F7F72410E, 0x11372F29326DA1C8,
|
||||
0xC3A07C573D240E03, 0x05153A4953769CB4, 0xA688745D37293316, 0x2E542D294E8BCDE8, 0xC697847459321306,
|
||||
0x040D2039597D9B9D, 0x72646B746C4D2508,
|
||||
};
|
||||
|
||||
static Vtx sFireSphereVertices[] = {
|
||||
VTX(-707, 1732, 707, 1792, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 1732, 1000, 2048, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 1920, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-663, 1000, 1600, 1920, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(663, 1000, 1600, 2176, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(0, 0, 2000, 2048, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(0, 0, 2000, 0, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1414, 0, 1414, 256, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(663, 1000, 1600, 128, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(663, -1000, 1600, 128, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1600, -1000, 663, 384, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(707, -1732, 707, 256, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(1000, -1732, 0, 512, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 384, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-1000, 1732, 0, 1536, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 1664, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-1600, 1000, 663, 1664, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1414, 0, 1414, 1792, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-663, -1000, 1600, 1920, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(663, -1000, 1600, 2176, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(0, -1732, 1000, 2048, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -1732, 1000, 0, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 128, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-707, 1732, -707, 1280, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 1408, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-1600, 1000, -663, 1408, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-2000, 0, 0, 1536, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1600, -1000, 663, 1664, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-707, -1732, 707, 1792, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 1920, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(0, 1732, -1000, 1024, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 1152, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-663, 1000, -1600, 1152, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-707, 1732, -707, 1280, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 1732, -1000, 1024, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(-1600, 1000, -663, 1408, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1414, 0, -1414, 1280, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-2000, 0, 0, 1536, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1600, -1000, -663, 1408, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1600, -1000, 663, 1664, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-1000, -1732, 0, 1536, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(-707, -1732, 707, 1792, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 1664, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(707, 1732, -707, 768, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 896, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(663, 1000, -1600, 896, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(0, 0, -2000, 1024, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-663, -1000, -1600, 1152, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-707, -1732, -707, 1280, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 1408, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(1000, 1732, 0, 512, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 640, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(1600, 1000, -663, 640, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1414, 0, -1414, 768, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(663, -1000, -1600, 896, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(0, -1732, -1000, 1024, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 1152, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(707, 1732, 707, 256, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 384, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(1600, 1000, 663, 384, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(2000, 0, 0, 512, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1600, -1000, -663, 640, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(707, -1732, -707, 768, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 896, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(0, 1732, 1000, 0, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(707, 1732, 707, 256, 137, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, 2000, 0, 128, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(663, 1000, 1600, 128, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1600, 1000, 663, 384, 512, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1414, 0, 1414, 256, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(2000, 0, 0, 512, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1600, -1000, 663, 384, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1600, -1000, -663, 640, 1536, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(1000, -1732, 0, 512, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(707, -1732, -707, 768, 1911, 0xFF, 0xFF, 0xFF, 0x4C),
|
||||
VTX(0, -2000, 0, 640, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
};
|
||||
|
||||
static Gfx sTextureDList[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL1, 1, PRIM_LOD_FRAC, TEXEL0, PRIMITIVE,
|
||||
ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, SHADE, 0),
|
||||
gsDPSetRenderMode(AA_EN | Z_CMP | IM_RD | CLR_ON_CVG | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL |
|
||||
GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1),
|
||||
G_RM_AA_ZB_XLU_SURF2),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
static Gfx sVertexDList[] = {
|
||||
gsSPVertex(sFireSphereVertices, 32, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0),
|
||||
gsSP2Triangles(3, 4, 1, 0, 5, 4, 3, 0),
|
||||
gsSP2Triangles(6, 7, 8, 0, 9, 7, 6, 0),
|
||||
gsSP2Triangles(9, 10, 7, 0, 11, 10, 9, 0),
|
||||
gsSP2Triangles(11, 12, 10, 0, 12, 11, 13, 0),
|
||||
gsSP2Triangles(14, 0, 15, 0, 16, 0, 14, 0),
|
||||
gsSP2Triangles(16, 3, 0, 0, 17, 3, 16, 0),
|
||||
gsSP2Triangles(17, 5, 3, 0, 18, 5, 17, 0),
|
||||
gsSP2Triangles(18, 19, 5, 0, 20, 19, 18, 0),
|
||||
gsSP2Triangles(21, 11, 9, 0, 11, 21, 22, 0),
|
||||
gsSP2Triangles(23, 14, 24, 0, 25, 14, 23, 0),
|
||||
gsSP2Triangles(25, 16, 14, 0, 26, 16, 25, 0),
|
||||
gsSP2Triangles(26, 17, 16, 0, 27, 17, 26, 0),
|
||||
gsSP2Triangles(27, 18, 17, 0, 28, 18, 27, 0),
|
||||
gsSP2Triangles(28, 20, 18, 0, 20, 28, 29, 0),
|
||||
gsSP1Triangle(30, 23, 31, 0),
|
||||
gsSPVertex(&sFireSphereVertices[0x20], 32, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0),
|
||||
gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0),
|
||||
gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0),
|
||||
gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0),
|
||||
gsSP2Triangles(9, 8, 10, 0, 11, 2, 12, 0),
|
||||
gsSP2Triangles(13, 2, 11, 0, 13, 0, 2, 0),
|
||||
gsSP2Triangles(14, 0, 13, 0, 14, 4, 0, 0),
|
||||
gsSP2Triangles(15, 4, 14, 0, 15, 6, 4, 0),
|
||||
gsSP2Triangles(16, 6, 15, 0, 16, 8, 6, 0),
|
||||
gsSP2Triangles(8, 16, 17, 0, 18, 11, 19, 0),
|
||||
gsSP2Triangles(20, 11, 18, 0, 20, 13, 11, 0),
|
||||
gsSP2Triangles(21, 13, 20, 0, 21, 14, 13, 0),
|
||||
gsSP2Triangles(22, 14, 21, 0, 22, 15, 14, 0),
|
||||
gsSP2Triangles(23, 15, 22, 0, 23, 16, 15, 0),
|
||||
gsSP2Triangles(16, 23, 24, 0, 25, 18, 26, 0),
|
||||
gsSP2Triangles(27, 18, 25, 0, 27, 20, 18, 0),
|
||||
gsSP2Triangles(28, 20, 27, 0, 28, 21, 20, 0),
|
||||
gsSP2Triangles(29, 21, 28, 0, 29, 22, 21, 0),
|
||||
gsSP2Triangles(30, 22, 29, 0, 30, 23, 22, 0),
|
||||
gsSP1Triangle(23, 30, 31, 0),
|
||||
gsSPVertex(&sFireSphereVertices[0x40], 12, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0),
|
||||
gsSP2Triangles(3, 4, 1, 0, 5, 4, 3, 0),
|
||||
gsSP2Triangles(5, 6, 4, 0, 7, 6, 5, 0),
|
||||
gsSP2Triangles(7, 8, 6, 0, 9, 8, 7, 0),
|
||||
gsSP2Triangles(9, 10, 8, 0, 10, 9, 11, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{
|
||||
COLTYPE_NONE,
|
||||
AT_ON | AT_TYPE_PLAYER,
|
||||
|
@ -47,13 +307,197 @@ static ColliderCylinderInit D_80B8AF50 = {
|
|||
},
|
||||
{ 9, 9, 0, { 0, 0, 0 } },
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Fire/MagicFire_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Fire/MagicFire_Destroy.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F(scale, 0, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Fire/func_80B88E3C.s")
|
||||
static u8 sVertexIndices[] = {
|
||||
3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 25, 26, 27, 32, 35, 36, 37, 38, 39, 45,
|
||||
46, 47, 52, 53, 54, 59, 60, 61, 67, 68, 69, 70, 71, 72, 0, 1, 11, 12, 14, 20, 21, 23,
|
||||
28, 30, 33, 34, 40, 41, 43, 48, 50, 55, 57, 62, 64, 65, 73, 74,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Fire/MagicFire_Update.s")
|
||||
void MagicFire_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
MagicFire* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Fire/MagicFire_Draw.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
this->action = 0;
|
||||
this->screenTintBehaviour = 0;
|
||||
this->actionTimer = 0;
|
||||
this->alphaMultiplier = -3.0f;
|
||||
Actor_SetScale(&this->actor, 0.0f);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
this->actor.update = MagicFire_UpdateBeforeCast;
|
||||
this->actionTimer = 20;
|
||||
this->actor.room = -1;
|
||||
}
|
||||
|
||||
void MagicFire_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800876C8(globalCtx);
|
||||
}
|
||||
|
||||
void MagicFire_UpdateBeforeCast(Actor* thisx, GlobalContext* globalCtx) {
|
||||
MagicFire* this = THIS;
|
||||
Player* player = PLAYER;
|
||||
|
||||
if ((globalCtx->msgCtx.msgMode == 0xD) || (globalCtx->msgCtx.msgMode == 0x11)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
if (this->actionTimer > 0) {
|
||||
this->actionTimer--;
|
||||
} else {
|
||||
this->actor.update = &MagicFire_Update;
|
||||
func_8002F7DC(&player->actor, NA_SE_PL_MAGIC_FIRE);
|
||||
}
|
||||
this->actor.world.pos = player->actor.world.pos;
|
||||
}
|
||||
|
||||
void MagicFire_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
MagicFire* this = THIS;
|
||||
Player* player = PLAYER;
|
||||
s32 pad;
|
||||
|
||||
if (1) {}
|
||||
this->actor.world.pos = player->actor.world.pos;
|
||||
if ((globalCtx->msgCtx.msgMode == 0xD) || (globalCtx->msgCtx.msgMode == 0x11)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
if (this->action == DF_ACTION_EXPAND_SLOWLY) {
|
||||
this->collider.info.toucher.damage = this->actionTimer + 25;
|
||||
} else if (this->action == DF_ACTION_STOP_EXPANDING) {
|
||||
this->collider.info.toucher.damage = this->actionTimer;
|
||||
}
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
this->collider.dim.radius = (this->actor.scale.x * 325.0f);
|
||||
this->collider.dim.height = (this->actor.scale.y * 450.0f);
|
||||
this->collider.dim.yShift = (this->actor.scale.y * -225.0f);
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
|
||||
switch (this->action) {
|
||||
case DF_ACTION_INITIALIZE:
|
||||
this->actionTimer = 30;
|
||||
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.0f;
|
||||
this->actor.world.rot.x = this->actor.world.rot.y = this->actor.world.rot.z = 0;
|
||||
this->actor.shape.rot.x = this->actor.shape.rot.y = this->actor.shape.rot.z = 0;
|
||||
this->alphaMultiplier = 0.0f;
|
||||
this->scalingSpeed = 0.08f;
|
||||
this->action++;
|
||||
break;
|
||||
case DF_ACTION_EXPAND_SLOWLY: // Fire sphere slowly expands out of player for 30 frames
|
||||
Math_StepToF(&this->alphaMultiplier, 1.0f, 1.0f / 30.0f);
|
||||
if (this->actionTimer > 0) {
|
||||
Math_SmoothStepToF(&this->actor.scale.x, 0.4f, this->scalingSpeed, 0.1f, 0.001f);
|
||||
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
|
||||
} else {
|
||||
this->actionTimer = 25;
|
||||
this->action++;
|
||||
}
|
||||
break;
|
||||
case DF_ACTION_STOP_EXPANDING: // Sphere stops expanding and maintains size for 25 frames
|
||||
if (this->actionTimer <= 0) {
|
||||
this->actionTimer = 15;
|
||||
this->action++;
|
||||
this->scalingSpeed = 0.05f;
|
||||
}
|
||||
break;
|
||||
case DF_ACTION_EXPAND_QUICKLY: // Sphere beings to grow again and quickly expands out until killed
|
||||
this->alphaMultiplier -= 0.06722689f;
|
||||
this->actor.scale.x += this->scalingSpeed;
|
||||
this->actor.scale.y += this->scalingSpeed;
|
||||
this->actor.scale.z += this->scalingSpeed;
|
||||
if (this->alphaMultiplier <= 0.0f) {
|
||||
this->action = 0;
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
switch (this->screenTintBehaviour) {
|
||||
case DF_SCREEN_TINT_NONE:
|
||||
if (this->screenTintBehaviourTimer <= 0) {
|
||||
this->screenTintBehaviourTimer = 20;
|
||||
this->screenTintBehaviour = DF_SCREEN_TINT_FADE_IN;
|
||||
}
|
||||
break;
|
||||
case DF_SCREEN_TINT_FADE_IN:
|
||||
this->screenTintIntensity = 1.0f - (this->screenTintBehaviourTimer / 20.0f);
|
||||
if (this->screenTintBehaviourTimer <= 0) {
|
||||
this->screenTintBehaviourTimer = 45;
|
||||
this->screenTintBehaviour = DF_SCREEN_TINT_MAINTAIN;
|
||||
}
|
||||
break;
|
||||
case DF_SCREEN_TINT_MAINTAIN:
|
||||
if (this->screenTintBehaviourTimer <= 0) {
|
||||
this->screenTintBehaviourTimer = 5;
|
||||
this->screenTintBehaviour = DF_SCREEN_TINT_FADE_OUT;
|
||||
}
|
||||
break;
|
||||
case DF_SCREEN_TINT_FADE_OUT:
|
||||
this->screenTintIntensity = (this->screenTintBehaviourTimer / 5.0f);
|
||||
if (this->screenTintBehaviourTimer <= 0) {
|
||||
this->screenTintBehaviour = DF_SCREEN_TINT_FINISHED;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (this->actionTimer > 0) {
|
||||
this->actionTimer--;
|
||||
}
|
||||
if (this->screenTintBehaviourTimer > 0) {
|
||||
this->screenTintBehaviourTimer--;
|
||||
}
|
||||
}
|
||||
|
||||
void MagicFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
MagicFire* this = THIS;
|
||||
s32 pad1;
|
||||
u32 gameplayFrames = globalCtx->gameplayFrames;
|
||||
s32 pad2;
|
||||
s32 i;
|
||||
u8 alpha;
|
||||
|
||||
if (this->action > 0) {
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_magic_fire.c", 682);
|
||||
POLY_XLU_DISP = func_800937C0(POLY_XLU_DISP);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, (u8)(s32)(60 * this->screenTintIntensity),
|
||||
(u8)(s32)(20 * this->screenTintIntensity), (u8)(s32)(0 * this->screenTintIntensity),
|
||||
(u8)(s32)(120 * this->screenTintIntensity));
|
||||
gDPSetAlphaDither(POLY_XLU_DISP++, G_AD_DISABLE);
|
||||
gDPSetColorDither(POLY_XLU_DISP++, G_CD_DISABLE);
|
||||
gDPFillRectangle(POLY_XLU_DISP++, 0, 0, 319, 239);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 128, 255, 200, 0, (u8)(this->alphaMultiplier * 255));
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, (u8)(this->alphaMultiplier * 255));
|
||||
Matrix_Scale(0.15f, 0.15f, 0.15f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_fire.c", 715),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
gDPSetTextureLUT(POLY_XLU_DISP++, G_TT_NONE);
|
||||
gDPLoadTextureBlock(POLY_XLU_DISP++, sTexture, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 6, 6, 15, G_TX_NOLOD);
|
||||
gDPSetTile(POLY_XLU_DISP++, G_IM_FMT_I, G_IM_SIZ_8b, 8, 0, 1, 0, G_TX_NOMIRROR | G_TX_WRAP, 6, 14,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 6, 14);
|
||||
gDPSetTileSize(POLY_XLU_DISP++, 1, 0, 0, 252, 252);
|
||||
gSPDisplayList(POLY_XLU_DISP++, sTextureDList);
|
||||
gSPDisplayList(POLY_XLU_DISP++,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 2) % 512,
|
||||
511 - ((gameplayFrames * 5) % 512), 64, 64, 1, (gameplayFrames * 2) % 256,
|
||||
255 - ((gameplayFrames * 20) % 256), 32, 32));
|
||||
gSPDisplayList(POLY_XLU_DISP++, sVertexDList);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_magic_fire.c", 750);
|
||||
|
||||
alpha = (s32)(this->alphaMultiplier * 255);
|
||||
for (i = 0; i < 36; i++) {
|
||||
sFireSphereVertices[sVertexIndices[i]].n.a = alpha;
|
||||
}
|
||||
|
||||
alpha = (s32)(this->alphaMultiplier * 76);
|
||||
for (i = 36; i < 60; i++) {
|
||||
sFireSphereVertices[sVertexIndices[i]].n.a = alpha;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,14 @@ struct MagicFire;
|
|||
|
||||
typedef struct MagicFire {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x60];
|
||||
/* 0x014C */ ColliderCylinder collider;
|
||||
/* 0x0198 */ f32 alphaMultiplier;
|
||||
/* 0x019C */ f32 screenTintIntensity;
|
||||
/* 0x01A0 */ f32 scalingSpeed;
|
||||
/* 0x01A4 */ s16 action;
|
||||
/* 0x01A6 */ s16 screenTintBehaviour;
|
||||
/* 0x01A8 */ s16 actionTimer;
|
||||
/* 0x01AA */ s16 screenTintBehaviourTimer;
|
||||
} MagicFire; // size = 0x01AC
|
||||
|
||||
extern const ActorInit Magic_Fire_InitVars;
|
||||
|
|
Loading…
Add table
Reference in a new issue