mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-02 09:34:27 +00:00
Demo_Kekkai, its object, and its cutscenes (#627)
* first pass * scene * object * name * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "44f5d7cb9" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "44f5d7cb9" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * now with cutscenes * one last name * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "0305ec2c2" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "0305ec2c2" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * ZAPD works * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "2e1174063" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "2e1174063" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * now with vtx arrays * revert zap changes * review Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain> Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
parent
1fbc0f1943
commit
6615d212eb
31 changed files with 455 additions and 1410 deletions
|
@ -42,8 +42,8 @@ glabel BgGndFiremeiro_Draw
|
||||||
/* 00494 80879954 0C0346A2 */ jal Matrix_NewMtx
|
/* 00494 80879954 0C0346A2 */ jal Matrix_NewMtx
|
||||||
/* 00498 80879958 AFA20028 */ sw $v0, 0x0028($sp)
|
/* 00498 80879958 AFA20028 */ sw $v0, 0x0028($sp)
|
||||||
/* 0049C 8087995C 8FA30028 */ lw $v1, 0x0028($sp)
|
/* 0049C 8087995C 8FA30028 */ lw $v1, 0x0028($sp)
|
||||||
/* 004A0 80879960 3C0B0601 */ lui $t3, %hi(D_0600E210) ## $t3 = 06010000
|
/* 004A0 80879960 3C0B0601 */ lui $t3, %hi(gFireTrialPlatformDL) ## $t3 = 06010000
|
||||||
/* 004A4 80879964 256BE210 */ addiu $t3, $t3, %lo(D_0600E210) ## $t3 = 0600E210
|
/* 004A4 80879964 256BE210 */ addiu $t3, $t3, %lo(gFireTrialPlatformDL) ## $t3 = 0600E210
|
||||||
/* 004A8 80879968 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
/* 004A8 80879968 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||||
/* 004AC 8087996C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
/* 004AC 8087996C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||||
/* 004B0 80879970 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
/* 004B0 80879970 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||||
|
|
|
@ -29,8 +29,8 @@ glabel BgGndFiremeiro_Init
|
||||||
/* 00064 80879524 0C010D20 */ jal DynaPolyActor_Init
|
/* 00064 80879524 0C010D20 */ jal DynaPolyActor_Init
|
||||||
|
|
||||||
/* 00068 80879528 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
/* 00068 80879528 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||||
/* 0006C 8087952C 3C040601 */ lui $a0, %hi(D_0600ECD8) ## $a0 = 06010000
|
/* 0006C 8087952C 3C040601 */ lui $a0, %hi(gFireTrialPlatformCol) ## $a0 = 06010000
|
||||||
/* 00070 80879530 2484ECD8 */ addiu $a0, $a0, %lo(D_0600ECD8) ## $a0 = 0600ECD8
|
/* 00070 80879530 2484ECD8 */ addiu $a0, $a0, %lo(gFireTrialPlatformCol) ## $a0 = 0600ECD8
|
||||||
/* 00074 80879534 0C010620 */ jal CollisionHeader_GetVirtual
|
/* 00074 80879534 0C010620 */ jal CollisionHeader_GetVirtual
|
||||||
|
|
||||||
/* 00078 80879538 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
/* 00078 80879538 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
glabel DemoKekkai_Destroy
|
|
||||||
/* 00270 8098D240 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00274 8098D244 AFA40018 */ sw $a0, 0x0018($sp)
|
|
||||||
/* 00278 8098D248 AFA5001C */ sw $a1, 0x001C($sp)
|
|
||||||
/* 0027C 8098D24C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
|
||||||
/* 00280 8098D250 8FA50018 */ lw $a1, 0x0018($sp)
|
|
||||||
/* 00284 8098D254 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00288 8098D258 0C0170EB */ jal Collider_DestroyCylinder
|
|
||||||
|
|
||||||
/* 0028C 8098D25C 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
|
|
||||||
/* 00290 8098D260 8FA50018 */ lw $a1, 0x0018($sp)
|
|
||||||
/* 00294 8098D264 8FA4001C */ lw $a0, 0x001C($sp)
|
|
||||||
/* 00298 8098D268 0C0170EB */ jal Collider_DestroyCylinder
|
|
||||||
|
|
||||||
/* 0029C 8098D26C 24A50198 */ addiu $a1, $a1, 0x0198 ## $a1 = 00000198
|
|
||||||
/* 002A0 8098D270 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 002A4 8098D274 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 002A8 8098D278 03E00008 */ jr $ra
|
|
||||||
/* 002AC 8098D27C 00000000 */ nop
|
|
|
@ -1,107 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_8098E254
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E268
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E27C
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel DemoKekkai_Draw
|
|
||||||
/* 00F50 8098DF20 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
|
||||||
/* 00F54 8098DF24 AFBF003C */ sw $ra, 0x003C($sp)
|
|
||||||
/* 00F58 8098DF28 AFB10038 */ sw $s1, 0x0038($sp)
|
|
||||||
/* 00F5C 8098DF2C AFB00034 */ sw $s0, 0x0034($sp)
|
|
||||||
/* 00F60 8098DF30 AFA40078 */ sw $a0, 0x0078($sp)
|
|
||||||
/* 00F64 8098DF34 C48401EC */ lwc1 $f4, 0x01EC($a0) ## 000001EC
|
|
||||||
/* 00F68 8098DF38 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
|
||||||
/* 00F6C 8098DF3C 3C068099 */ lui $a2, %hi(D_8098E254) ## $a2 = 80990000
|
|
||||||
/* 00F70 8098DF40 4600218D */ trunc.w.s $f6, $f4
|
|
||||||
/* 00F74 8098DF44 24C6E254 */ addiu $a2, $a2, %lo(D_8098E254) ## $a2 = 8098E254
|
|
||||||
/* 00F78 8098DF48 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE0
|
|
||||||
/* 00F7C 8098DF4C 240702C1 */ addiu $a3, $zero, 0x02C1 ## $a3 = 000002C1
|
|
||||||
/* 00F80 8098DF50 44183000 */ mfc1 $t8, $f6
|
|
||||||
/* 00F84 8098DF54 00000000 */ nop
|
|
||||||
/* 00F88 8098DF58 3319FFFF */ andi $t9, $t8, 0xFFFF ## $t9 = 00000000
|
|
||||||
/* 00F8C 8098DF5C AFB9006C */ sw $t9, 0x006C($sp)
|
|
||||||
/* 00F90 8098DF60 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
|
||||||
/* 00F94 8098DF64 0C031AB1 */ jal Graph_OpenDisps
|
|
||||||
/* 00F98 8098DF68 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
|
||||||
/* 00F9C 8098DF6C 0C024F61 */ jal func_80093D84
|
|
||||||
/* 00FA0 8098DF70 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
|
||||||
/* 00FA4 8098DF74 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 00FA8 8098DF78 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
|
|
||||||
/* 00FAC 8098DF7C 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
|
|
||||||
/* 00FB0 8098DF80 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
|
||||||
/* 00FB4 8098DF84 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 00FB8 8098DF88 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
|
||||||
/* 00FBC 8098DF8C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
|
||||||
/* 00FC0 8098DF90 3C058099 */ lui $a1, %hi(D_8098E268) ## $a1 = 80990000
|
|
||||||
/* 00FC4 8098DF94 24A5E268 */ addiu $a1, $a1, %lo(D_8098E268) ## $a1 = 8098E268
|
|
||||||
/* 00FC8 8098DF98 240602C3 */ addiu $a2, $zero, 0x02C3 ## $a2 = 000002C3
|
|
||||||
/* 00FCC 8098DF9C 0C0346A2 */ jal Matrix_NewMtx
|
|
||||||
/* 00FD0 8098DFA0 AFA20054 */ sw $v0, 0x0054($sp)
|
|
||||||
/* 00FD4 8098DFA4 8FA30054 */ lw $v1, 0x0054($sp)
|
|
||||||
/* 00FD8 8098DFA8 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
|
|
||||||
/* 00FDC 8098DFAC 3C0DFFAA */ lui $t5, 0xFFAA ## $t5 = FFAA0000
|
|
||||||
/* 00FE0 8098DFB0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00FE4 8098DFB4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 00FE8 8098DFB8 35ADFFFF */ ori $t5, $t5, 0xFFFF ## $t5 = FFAAFFFF
|
|
||||||
/* 00FEC 8098DFBC 358C0080 */ ori $t4, $t4, 0x0080 ## $t4 = FA000080
|
|
||||||
/* 00FF0 8098DFC0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
|
||||||
/* 00FF4 8098DFC4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 00FF8 8098DFC8 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
|
||||||
/* 00FFC 8098DFCC AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
|
||||||
/* 01000 8098DFD0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 01004 8098DFD4 8FA8006C */ lw $t0, 0x006C($sp)
|
|
||||||
/* 01008 8098DFD8 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
|
|
||||||
/* 0100C 8098DFDC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
|
||||||
/* 01010 8098DFE0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 01014 8098DFE4 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
|
|
||||||
/* 01018 8098DFE8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
|
||||||
/* 0101C 8098DFEC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
|
||||||
/* 01020 8098DFF0 00080823 */ subu $at, $zero, $t0
|
|
||||||
/* 01024 8098DFF4 00013880 */ sll $a3, $at, 2
|
|
||||||
/* 01028 8098DFF8 240B0040 */ addiu $t3, $zero, 0x0040 ## $t3 = 00000040
|
|
||||||
/* 0102C 8098DFFC 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
|
|
||||||
/* 01030 8098E000 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040
|
|
||||||
/* 01034 8098E004 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
|
||||||
/* 01038 8098E008 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
|
|
||||||
/* 0103C 8098E00C 00083040 */ sll $a2, $t0, 1
|
|
||||||
/* 01040 8098E010 AFA6001C */ sw $a2, 0x001C($sp)
|
|
||||||
/* 01044 8098E014 AFAA0024 */ sw $t2, 0x0024($sp)
|
|
||||||
/* 01048 8098E018 AFA90018 */ sw $t1, 0x0018($sp)
|
|
||||||
/* 0104C 8098E01C AFB90014 */ sw $t9, 0x0014($sp)
|
|
||||||
/* 01050 8098E020 AFB80010 */ sw $t8, 0x0010($sp)
|
|
||||||
/* 01054 8098E024 AFAB0028 */ sw $t3, 0x0028($sp)
|
|
||||||
/* 01058 8098E028 AFA70020 */ sw $a3, 0x0020($sp)
|
|
||||||
/* 0105C 8098E02C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
|
||||||
/* 01060 8098E030 0C0253D0 */ jal Gfx_TwoTexScroll
|
|
||||||
/* 01064 8098E034 AFA2004C */ sw $v0, 0x004C($sp)
|
|
||||||
/* 01068 8098E038 8FA3004C */ lw $v1, 0x004C($sp)
|
|
||||||
/* 0106C 8098E03C 3C0E0600 */ lui $t6, %hi(D_06004930) ## $t6 = 06000000
|
|
||||||
/* 01070 8098E040 25CE4930 */ addiu $t6, $t6, %lo(D_06004930) ## $t6 = 06004930
|
|
||||||
/* 01074 8098E044 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 01078 8098E048 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 0107C 8098E04C 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
|
|
||||||
/* 01080 8098E050 3C068099 */ lui $a2, %hi(D_8098E27C) ## $a2 = 80990000
|
|
||||||
/* 01084 8098E054 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
|
||||||
/* 01088 8098E058 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
|
|
||||||
/* 0108C 8098E05C AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
|
||||||
/* 01090 8098E060 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
|
||||||
/* 01094 8098E064 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
|
||||||
/* 01098 8098E068 24C6E27C */ addiu $a2, $a2, %lo(D_8098E27C) ## $a2 = 8098E27C
|
|
||||||
/* 0109C 8098E06C 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE0
|
|
||||||
/* 010A0 8098E070 0C031AD5 */ jal Graph_CloseDisps
|
|
||||||
/* 010A4 8098E074 240702D2 */ addiu $a3, $zero, 0x02D2 ## $a3 = 000002D2
|
|
||||||
/* 010A8 8098E078 8FBF003C */ lw $ra, 0x003C($sp)
|
|
||||||
/* 010AC 8098E07C 8FB00034 */ lw $s0, 0x0034($sp)
|
|
||||||
/* 010B0 8098E080 8FB10038 */ lw $s1, 0x0038($sp)
|
|
||||||
/* 010B4 8098E084 03E00008 */ jr $ra
|
|
||||||
/* 010B8 8098E088 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
|
||||||
/* 010BC 8098E08C 00000000 */ nop
|
|
|
@ -1,169 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel jtbl_8098E290
|
|
||||||
.word L8098D0F0
|
|
||||||
.word L8098D148
|
|
||||||
.word L8098D148
|
|
||||||
.word L8098D148
|
|
||||||
.word L8098D148
|
|
||||||
.word L8098D148
|
|
||||||
.word L8098D148
|
|
||||||
glabel D_8098E2AC
|
|
||||||
.float 6100.0
|
|
||||||
glabel D_8098E2B0
|
|
||||||
.float 5000.0
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel DemoKekkai_Init
|
|
||||||
/* 00044 8098D014 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
|
||||||
/* 00048 8098D018 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
|
||||||
/* 0004C 8098D01C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
|
||||||
/* 00050 8098D020 AFBF001C */ sw $ra, 0x001C($sp)
|
|
||||||
/* 00054 8098D024 AFB00018 */ sw $s0, 0x0018($sp)
|
|
||||||
/* 00058 8098D028 AFA50034 */ sw $a1, 0x0034($sp)
|
|
||||||
/* 0005C 8098D02C 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
|
||||||
/* 00060 8098D030 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00064 8098D034 A48001F6 */ sh $zero, 0x01F6($a0) ## 000001F6
|
|
||||||
/* 00068 8098D038 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
|
||||||
/* 0006C 8098D03C 0C00B58B */ jal Actor_SetScale
|
|
||||||
|
|
||||||
/* 00070 8098D040 E48401E4 */ swc1 $f4, 0x01E4($a0) ## 000001E4
|
|
||||||
/* 00074 8098D044 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
|
||||||
/* 00078 8098D048 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE
|
|
||||||
/* 0007C 8098D04C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
|
||||||
/* 00080 8098D050 AFA50020 */ sw $a1, 0x0020($sp)
|
|
||||||
/* 00084 8098D054 0C0170D9 */ jal Collider_InitCylinder
|
|
||||||
|
|
||||||
/* 00088 8098D058 8FA40034 */ lw $a0, 0x0034($sp)
|
|
||||||
/* 0008C 8098D05C 3C078099 */ lui $a3, %hi(D_8098E0B0) ## $a3 = 80990000
|
|
||||||
/* 00090 8098D060 24E7E0B0 */ addiu $a3, $a3, %lo(D_8098E0B0) ## $a3 = 8098E0B0
|
|
||||||
/* 00094 8098D064 8FA40034 */ lw $a0, 0x0034($sp)
|
|
||||||
/* 00098 8098D068 8FA50020 */ lw $a1, 0x0020($sp)
|
|
||||||
/* 0009C 8098D06C 0C01712B */ jal Collider_SetCylinder
|
|
||||||
|
|
||||||
/* 000A0 8098D070 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
|
||||||
/* 000A4 8098D074 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198
|
|
||||||
/* 000A8 8098D078 AFA50024 */ sw $a1, 0x0024($sp)
|
|
||||||
/* 000AC 8098D07C 0C0170D9 */ jal Collider_InitCylinder
|
|
||||||
|
|
||||||
/* 000B0 8098D080 8FA40034 */ lw $a0, 0x0034($sp)
|
|
||||||
/* 000B4 8098D084 3C078099 */ lui $a3, %hi(D_8098E0B0) ## $a3 = 80990000
|
|
||||||
/* 000B8 8098D088 24E7E0B0 */ addiu $a3, $a3, %lo(D_8098E0B0) ## $a3 = 8098E0B0
|
|
||||||
/* 000BC 8098D08C 8FA40034 */ lw $a0, 0x0034($sp)
|
|
||||||
/* 000C0 8098D090 8FA50024 */ lw $a1, 0x0024($sp)
|
|
||||||
/* 000C4 8098D094 0C01712B */ jal Collider_SetCylinder
|
|
||||||
|
|
||||||
/* 000C8 8098D098 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
|
||||||
/* 000CC 8098D09C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 000D0 8098D0A0 0C0189B7 */ jal Collider_UpdateCylinder
|
|
||||||
|
|
||||||
/* 000D4 8098D0A4 8FA50020 */ lw $a1, 0x0020($sp)
|
|
||||||
/* 000D8 8098D0A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 000DC 8098D0AC 0C0189B7 */ jal Collider_UpdateCylinder
|
|
||||||
|
|
||||||
/* 000E0 8098D0B0 8FA50024 */ lw $a1, 0x0024($sp)
|
|
||||||
/* 000E4 8098D0B4 8604001C */ lh $a0, 0x001C($s0) ## 0000001C
|
|
||||||
/* 000E8 8098D0B8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
|
||||||
/* 000EC 8098D0BC 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
|
||||||
/* 000F0 8098D0C0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
|
||||||
/* 000F4 8098D0C4 2C810007 */ sltiu $at, $a0, 0x0007
|
|
||||||
/* 000F8 8098D0C8 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4
|
|
||||||
/* 000FC 8098D0CC E60001F0 */ swc1 $f0, 0x01F0($s0) ## 000001F0
|
|
||||||
/* 00100 8098D0D0 10200049 */ beq $at, $zero, .L8098D1F8
|
|
||||||
/* 00104 8098D0D4 E60601EC */ swc1 $f6, 0x01EC($s0) ## 000001EC
|
|
||||||
/* 00108 8098D0D8 00047880 */ sll $t7, $a0, 2
|
|
||||||
/* 0010C 8098D0DC 3C018099 */ lui $at, %hi(jtbl_8098E290) ## $at = 80990000
|
|
||||||
/* 00110 8098D0E0 002F0821 */ addu $at, $at, $t7
|
|
||||||
/* 00114 8098D0E4 8C2FE290 */ lw $t7, %lo(jtbl_8098E290)($at)
|
|
||||||
/* 00118 8098D0E8 01E00008 */ jr $t7
|
|
||||||
/* 0011C 8098D0EC 00000000 */ nop
|
|
||||||
glabel L8098D0F0
|
|
||||||
/* 00120 8098D0F0 3C188099 */ lui $t8, %hi(func_8098D4D4) ## $t8 = 80990000
|
|
||||||
/* 00124 8098D0F4 2718D4D4 */ addiu $t8, $t8, %lo(func_8098D4D4) ## $t8 = 8098D4D4
|
|
||||||
/* 00128 8098D0F8 AE1801F8 */ sw $t8, 0x01F8($s0) ## 000001F8
|
|
||||||
/* 0012C 8098D0FC 3C018099 */ lui $at, %hi(D_8098E2AC) ## $at = 80990000
|
|
||||||
/* 00130 8098D100 C42AE2AC */ lwc1 $f10, %lo(D_8098E2AC)($at)
|
|
||||||
/* 00134 8098D104 C6080050 */ lwc1 $f8, 0x0050($s0) ## 00000050
|
|
||||||
/* 00138 8098D108 3C018099 */ lui $at, %hi(D_8098E2B0) ## $at = 80990000
|
|
||||||
/* 0013C 8098D10C C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054
|
|
||||||
/* 00140 8098D110 460A4402 */ mul.s $f16, $f8, $f10
|
|
||||||
/* 00144 8098D114 240B012C */ addiu $t3, $zero, 0x012C ## $t3 = 0000012C
|
|
||||||
/* 00148 8098D118 8604001C */ lh $a0, 0x001C($s0) ## 0000001C
|
|
||||||
/* 0014C 8098D11C 4600848D */ trunc.w.s $f18, $f16
|
|
||||||
/* 00150 8098D120 44089000 */ mfc1 $t0, $f18
|
|
||||||
/* 00154 8098D124 00000000 */ nop
|
|
||||||
/* 00158 8098D128 A60801D8 */ sh $t0, 0x01D8($s0) ## 000001D8
|
|
||||||
/* 0015C 8098D12C C426E2B0 */ lwc1 $f6, %lo(D_8098E2B0)($at)
|
|
||||||
/* 00160 8098D130 A60B01DC */ sh $t3, 0x01DC($s0) ## 000001DC
|
|
||||||
/* 00164 8098D134 46062202 */ mul.s $f8, $f4, $f6
|
|
||||||
/* 00168 8098D138 4600428D */ trunc.w.s $f10, $f8
|
|
||||||
/* 0016C 8098D13C 440A5000 */ mfc1 $t2, $f10
|
|
||||||
/* 00170 8098D140 1000002D */ beq $zero, $zero, .L8098D1F8
|
|
||||||
/* 00174 8098D144 A60A01DA */ sh $t2, 0x01DA($s0) ## 000001DA
|
|
||||||
glabel L8098D148
|
|
||||||
/* 00178 8098D148 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
|
||||||
/* 0017C 8098D14C E60001E4 */ swc1 $f0, 0x01E4($s0) ## 000001E4
|
|
||||||
/* 00180 8098D150 E60001E8 */ swc1 $f0, 0x01E8($s0) ## 000001E8
|
|
||||||
/* 00184 8098D154 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
|
||||||
/* 00188 8098D158 0C00B58B */ jal Actor_SetScale
|
|
||||||
|
|
||||||
/* 0018C 8098D15C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00190 8098D160 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
|
||||||
/* 00194 8098D164 44819000 */ mtc1 $at, $f18 ## $f18 = 120.00
|
|
||||||
/* 00198 8098D168 C6100050 */ lwc1 $f16, 0x0050($s0) ## 00000050
|
|
||||||
/* 0019C 8098D16C 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000
|
|
||||||
/* 001A0 8098D170 44815000 */ mtc1 $at, $f10 ## $f10 = 2000.00
|
|
||||||
/* 001A4 8098D174 46128102 */ mul.s $f4, $f16, $f18
|
|
||||||
/* 001A8 8098D178 C6080054 */ lwc1 $f8, 0x0054($s0) ## 00000054
|
|
||||||
/* 001AC 8098D17C 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
|
|
||||||
/* 001B0 8098D180 3C0C8099 */ lui $t4, %hi(func_8098D87C) ## $t4 = 80990000
|
|
||||||
/* 001B4 8098D184 460A4402 */ mul.s $f16, $f8, $f10
|
|
||||||
/* 001B8 8098D188 258CD87C */ addiu $t4, $t4, %lo(func_8098D87C) ## $t4 = 8098D87C
|
|
||||||
/* 001BC 8098D18C AE0C0130 */ sw $t4, 0x0130($s0) ## 00000130
|
|
||||||
/* 001C0 8098D190 3C0D8099 */ lui $t5, %hi(func_8098D9C0) ## $t5 = 80990000
|
|
||||||
/* 001C4 8098D194 25ADD9C0 */ addiu $t5, $t5, %lo(func_8098D9C0) ## $t5 = 8098D9C0
|
|
||||||
/* 001C8 8098D198 240C005F */ addiu $t4, $zero, 0x005F ## $t4 = 0000005F
|
|
||||||
/* 001CC 8098D19C 4600218D */ trunc.w.s $f6, $f4
|
|
||||||
/* 001D0 8098D1A0 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
|
|
||||||
/* 001D4 8098D1A4 AE0D0134 */ sw $t5, 0x0134($s0) ## 00000134
|
|
||||||
/* 001D8 8098D1A8 4600848D */ trunc.w.s $f18, $f16
|
|
||||||
/* 001DC 8098D1AC 440F3000 */ mfc1 $t7, $f6
|
|
||||||
/* 001E0 8098D1B0 44813000 */ mtc1 $at, $f6 ## $f6 = 320.00
|
|
||||||
/* 001E4 8098D1B4 3C0143FF */ lui $at, 0x43FF ## $at = 43FF0000
|
|
||||||
/* 001E8 8098D1B8 44199000 */ mfc1 $t9, $f18
|
|
||||||
/* 001EC 8098D1BC 46062202 */ mul.s $f8, $f4, $f6
|
|
||||||
/* 001F0 8098D1C0 44819000 */ mtc1 $at, $f18 ## $f18 = 510.00
|
|
||||||
/* 001F4 8098D1C4 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054
|
|
||||||
/* 001F8 8098D1C8 A6000190 */ sh $zero, 0x0190($s0) ## 00000190
|
|
||||||
/* 001FC 8098D1CC A60C01DC */ sh $t4, 0x01DC($s0) ## 000001DC
|
|
||||||
/* 00200 8098D1D0 46128102 */ mul.s $f4, $f16, $f18
|
|
||||||
/* 00204 8098D1D4 8604001C */ lh $a0, 0x001C($s0) ## 0000001C
|
|
||||||
/* 00208 8098D1D8 A60F018C */ sh $t7, 0x018C($s0) ## 0000018C
|
|
||||||
/* 0020C 8098D1DC A619018E */ sh $t9, 0x018E($s0) ## 0000018E
|
|
||||||
/* 00210 8098D1E0 4600428D */ trunc.w.s $f10, $f8
|
|
||||||
/* 00214 8098D1E4 4600218D */ trunc.w.s $f6, $f4
|
|
||||||
/* 00218 8098D1E8 44095000 */ mfc1 $t1, $f10
|
|
||||||
/* 0021C 8098D1EC 440B3000 */ mfc1 $t3, $f6
|
|
||||||
/* 00220 8098D1F0 A60901D8 */ sh $t1, 0x01D8($s0) ## 000001D8
|
|
||||||
/* 00224 8098D1F4 A60B01DA */ sh $t3, 0x01DA($s0) ## 000001DA
|
|
||||||
.L8098D1F8:
|
|
||||||
/* 00228 8098D1F8 0C2633F4 */ jal func_8098CFD0
|
|
||||||
/* 0022C 8098D1FC 00000000 */ nop
|
|
||||||
/* 00230 8098D200 5040000B */ beql $v0, $zero, .L8098D230
|
|
||||||
/* 00234 8098D204 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
/* 00238 8098D208 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
|
|
||||||
/* 0023C 8098D20C 8FAF0034 */ lw $t7, 0x0034($sp)
|
|
||||||
/* 00240 8098D210 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00244 8098D214 15A00003 */ bne $t5, $zero, .L8098D224
|
|
||||||
/* 00248 8098D218 002F0821 */ addu $at, $at, $t7
|
|
||||||
/* 0024C 8098D21C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
|
||||||
/* 00250 8098D220 A02E0AE3 */ sb $t6, 0x0AE3($at) ## 00010AE3
|
|
||||||
.L8098D224:
|
|
||||||
/* 00254 8098D224 0C00B55C */ jal Actor_Kill
|
|
||||||
|
|
||||||
/* 00258 8098D228 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 0025C 8098D22C 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
.L8098D230:
|
|
||||||
/* 00260 8098D230 8FB00018 */ lw $s0, 0x0018($sp)
|
|
||||||
/* 00264 8098D234 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
||||||
/* 00268 8098D238 03E00008 */ jr $ra
|
|
||||||
/* 0026C 8098D23C 00000000 */ nop
|
|
|
@ -1,89 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel D_8098E2C0
|
|
||||||
.float 0.99
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel DemoKekkai_Update
|
|
||||||
/* 00620 8098D5F0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
|
||||||
/* 00624 8098D5F4 AFBF002C */ sw $ra, 0x002C($sp)
|
|
||||||
/* 00628 8098D5F8 AFB20028 */ sw $s2, 0x0028($sp)
|
|
||||||
/* 0062C 8098D5FC AFB10024 */ sw $s1, 0x0024($sp)
|
|
||||||
/* 00630 8098D600 AFB00020 */ sw $s0, 0x0020($sp)
|
|
||||||
/* 00634 8098D604 3C018099 */ lui $at, %hi(D_8098E2C0) ## $at = 80990000
|
|
||||||
/* 00638 8098D608 C424E2C0 */ lwc1 $f4, %lo(D_8098E2C0)($at)
|
|
||||||
/* 0063C 8098D60C C48601E4 */ lwc1 $f6, 0x01E4($a0) ## 000001E4
|
|
||||||
/* 00640 8098D610 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00644 8098D614 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
|
||||||
/* 00648 8098D618 4606203C */ c.lt.s $f4, $f6
|
|
||||||
/* 0064C 8098D61C 00000000 */ nop
|
|
||||||
/* 00650 8098D620 45020027 */ bc1fl .L8098D6C0
|
|
||||||
/* 00654 8098D624 8E1901F8 */ lw $t9, 0x01F8($s0) ## 000001F8
|
|
||||||
/* 00658 8098D628 908E015C */ lbu $t6, 0x015C($a0) ## 0000015C
|
|
||||||
/* 0065C 8098D62C 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
|
||||||
/* 00660 8098D630 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
|
||||||
/* 00664 8098D634 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
|
||||||
/* 00668 8098D638 55E00006 */ bnel $t7, $zero, .L8098D654
|
|
||||||
/* 0066C 8098D63C 44810000 */ mtc1 $at, $f0 ## $f0 = 6.00
|
|
||||||
/* 00670 8098D640 909801A8 */ lbu $t8, 0x01A8($a0) ## 000001A8
|
|
||||||
/* 00674 8098D644 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
|
|
||||||
/* 00678 8098D648 53200008 */ beql $t9, $zero, .L8098D66C
|
|
||||||
/* 0067C 8098D64C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00680 8098D650 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00
|
|
||||||
.L8098D654:
|
|
||||||
/* 00684 8098D654 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
|
|
||||||
/* 00688 8098D658 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 0068C 8098D65C 44060000 */ mfc1 $a2, $f0
|
|
||||||
/* 00690 8098D660 0C00BDC7 */ jal func_8002F71C
|
|
||||||
/* 00694 8098D664 E7A00010 */ swc1 $f0, 0x0010($sp)
|
|
||||||
/* 00698 8098D668 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
.L8098D66C:
|
|
||||||
/* 0069C 8098D66C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
|
||||||
/* 006A0 8098D670 02219021 */ addu $s2, $s1, $at
|
|
||||||
/* 006A4 8098D674 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
|
|
||||||
/* 006A8 8098D678 AFA60030 */ sw $a2, 0x0030($sp)
|
|
||||||
/* 006AC 8098D67C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
|
||||||
/* 006B0 8098D680 0C0175E7 */ jal CollisionCheck_SetAT
|
|
||||||
## CollisionCheck_setAT
|
|
||||||
/* 006B4 8098D684 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 006B8 8098D688 8FA60030 */ lw $a2, 0x0030($sp)
|
|
||||||
/* 006BC 8098D68C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 006C0 8098D690 0C017713 */ jal CollisionCheck_SetOC
|
|
||||||
## CollisionCheck_setOC
|
|
||||||
/* 006C4 8098D694 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
|
||||||
/* 006C8 8098D698 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198
|
|
||||||
/* 006CC 8098D69C AFA60030 */ sw $a2, 0x0030($sp)
|
|
||||||
/* 006D0 8098D6A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 006D4 8098D6A4 0C0175E7 */ jal CollisionCheck_SetAT
|
|
||||||
## CollisionCheck_setAT
|
|
||||||
/* 006D8 8098D6A8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
|
||||||
/* 006DC 8098D6AC 8FA60030 */ lw $a2, 0x0030($sp)
|
|
||||||
/* 006E0 8098D6B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 006E4 8098D6B4 0C017713 */ jal CollisionCheck_SetOC
|
|
||||||
## CollisionCheck_setOC
|
|
||||||
/* 006E8 8098D6B8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
|
||||||
/* 006EC 8098D6BC 8E1901F8 */ lw $t9, 0x01F8($s0) ## 000001F8
|
|
||||||
.L8098D6C0:
|
|
||||||
/* 006F0 8098D6C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 006F4 8098D6C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
|
||||||
/* 006F8 8098D6C8 0320F809 */ jalr $ra, $t9
|
|
||||||
/* 006FC 8098D6CC 00000000 */ nop
|
|
||||||
/* 00700 8098D6D0 C60801EC */ lwc1 $f8, 0x01EC($s0) ## 000001EC
|
|
||||||
/* 00704 8098D6D4 C60A01F0 */ lwc1 $f10, 0x01F0($s0) ## 000001F0
|
|
||||||
/* 00708 8098D6D8 3C014780 */ lui $at, 0x4780 ## $at = 47800000
|
|
||||||
/* 0070C 8098D6DC 44811000 */ mtc1 $at, $f2 ## $f2 = 65536.00
|
|
||||||
/* 00710 8098D6E0 460A4400 */ add.s $f16, $f8, $f10
|
|
||||||
/* 00714 8098D6E4 E61001EC */ swc1 $f16, 0x01EC($s0) ## 000001EC
|
|
||||||
/* 00718 8098D6E8 C60001EC */ lwc1 $f0, 0x01EC($s0) ## 000001EC
|
|
||||||
/* 0071C 8098D6EC 4600103C */ c.lt.s $f2, $f0
|
|
||||||
/* 00720 8098D6F0 00000000 */ nop
|
|
||||||
/* 00724 8098D6F4 45020004 */ bc1fl .L8098D708
|
|
||||||
/* 00728 8098D6F8 8FBF002C */ lw $ra, 0x002C($sp)
|
|
||||||
/* 0072C 8098D6FC 46020481 */ sub.s $f18, $f0, $f2
|
|
||||||
/* 00730 8098D700 E61201EC */ swc1 $f18, 0x01EC($s0) ## 000001EC
|
|
||||||
/* 00734 8098D704 8FBF002C */ lw $ra, 0x002C($sp)
|
|
||||||
.L8098D708:
|
|
||||||
/* 00738 8098D708 8FB00020 */ lw $s0, 0x0020($sp)
|
|
||||||
/* 0073C 8098D70C 8FB10024 */ lw $s1, 0x0024($sp)
|
|
||||||
/* 00740 8098D710 8FB20028 */ lw $s2, 0x0028($sp)
|
|
||||||
/* 00744 8098D714 03E00008 */ jr $ra
|
|
||||||
/* 00748 8098D718 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
|
@ -1,22 +0,0 @@
|
||||||
glabel func_8098CFD0
|
|
||||||
/* 00000 8098CFD0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00004 8098CFD4 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00008 8098CFD8 04800004 */ bltz $a0, .L8098CFEC
|
|
||||||
/* 0000C 8098CFDC 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
|
||||||
/* 00010 8098CFE0 28810007 */ slti $at, $a0, 0x0007
|
|
||||||
/* 00014 8098CFE4 14200003 */ bne $at, $zero, .L8098CFF4
|
|
||||||
/* 00018 8098CFE8 00057080 */ sll $t6, $a1, 2
|
|
||||||
.L8098CFEC:
|
|
||||||
/* 0001C 8098CFEC 10000005 */ beq $zero, $zero, .L8098D004
|
|
||||||
/* 00020 8098CFF0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L8098CFF4:
|
|
||||||
/* 00024 8098CFF4 3C048099 */ lui $a0, %hi(D_8098E100) ## $a0 = 80990000
|
|
||||||
/* 00028 8098CFF8 008E2021 */ addu $a0, $a0, $t6
|
|
||||||
/* 0002C 8098CFFC 0C00D6D3 */ jal Flags_GetEventChkInf
|
|
||||||
|
|
||||||
/* 00030 8098D000 8C84E100 */ lw $a0, %lo(D_8098E100)($a0)
|
|
||||||
.L8098D004:
|
|
||||||
/* 00034 8098D004 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00038 8098D008 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 0003C 8098D00C 03E00008 */ jr $ra
|
|
||||||
/* 00040 8098D010 00000000 */ nop
|
|
|
@ -1,167 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel D_8098E2B4
|
|
||||||
.float 65535.0
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_8098D280
|
|
||||||
/* 002B0 8098D280 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
|
|
||||||
/* 002B4 8098D284 F7BE0050 */ sdc1 $f30, 0x0050($sp)
|
|
||||||
/* 002B8 8098D288 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
|
||||||
/* 002BC 8098D28C 4481F000 */ mtc1 $at, $f30 ## $f30 = 3.00
|
|
||||||
/* 002C0 8098D290 F7BC0048 */ sdc1 $f28, 0x0048($sp)
|
|
||||||
/* 002C4 8098D294 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
|
||||||
/* 002C8 8098D298 4481E000 */ mtc1 $at, $f28 ## $f28 = 7.00
|
|
||||||
/* 002CC 8098D29C F7BA0040 */ sdc1 $f26, 0x0040($sp)
|
|
||||||
/* 002D0 8098D2A0 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
|
||||||
/* 002D4 8098D2A4 AFBE0078 */ sw $s8, 0x0078($sp)
|
|
||||||
/* 002D8 8098D2A8 AFB70074 */ sw $s7, 0x0074($sp)
|
|
||||||
/* 002DC 8098D2AC AFB60070 */ sw $s6, 0x0070($sp)
|
|
||||||
/* 002E0 8098D2B0 AFB5006C */ sw $s5, 0x006C($sp)
|
|
||||||
/* 002E4 8098D2B4 4481D000 */ mtc1 $at, $f26 ## $f26 = 8.00
|
|
||||||
/* 002E8 8098D2B8 AFB40068 */ sw $s4, 0x0068($sp)
|
|
||||||
/* 002EC 8098D2BC AFB30064 */ sw $s3, 0x0064($sp)
|
|
||||||
/* 002F0 8098D2C0 AFB20060 */ sw $s2, 0x0060($sp)
|
|
||||||
/* 002F4 8098D2C4 F7B80038 */ sdc1 $f24, 0x0038($sp)
|
|
||||||
/* 002F8 8098D2C8 3C018099 */ lui $at, %hi(D_8098E2B4) ## $at = 80990000
|
|
||||||
/* 002FC 8098D2CC 3C158099 */ lui $s5, %hi(D_8098E11C) ## $s5 = 80990000
|
|
||||||
/* 00300 8098D2D0 3C168099 */ lui $s6, %hi(D_8098E128) ## $s6 = 80990000
|
|
||||||
/* 00304 8098D2D4 3C178099 */ lui $s7, %hi(D_8098E134) ## $s7 = 80990000
|
|
||||||
/* 00308 8098D2D8 3C1E8099 */ lui $s8, %hi(D_8098E138) ## $s8 = 80990000
|
|
||||||
/* 0030C 8098D2DC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
|
|
||||||
/* 00310 8098D2E0 AFBF007C */ sw $ra, 0x007C($sp)
|
|
||||||
/* 00314 8098D2E4 AFB1005C */ sw $s1, 0x005C($sp)
|
|
||||||
/* 00318 8098D2E8 AFB00058 */ sw $s0, 0x0058($sp)
|
|
||||||
/* 0031C 8098D2EC F7B60030 */ sdc1 $f22, 0x0030($sp)
|
|
||||||
/* 00320 8098D2F0 F7B40028 */ sdc1 $f20, 0x0028($sp)
|
|
||||||
/* 00324 8098D2F4 AFA500A4 */ sw $a1, 0x00A4($sp)
|
|
||||||
/* 00328 8098D2F8 27DEE138 */ addiu $s8, $s8, %lo(D_8098E138) ## $s8 = 8098E138
|
|
||||||
/* 0032C 8098D2FC 26F7E134 */ addiu $s7, $s7, %lo(D_8098E134) ## $s7 = 8098E134
|
|
||||||
/* 00330 8098D300 26D6E128 */ addiu $s6, $s6, %lo(D_8098E128) ## $s6 = 8098E128
|
|
||||||
/* 00334 8098D304 26B5E11C */ addiu $s5, $s5, %lo(D_8098E11C) ## $s5 = 8098E11C
|
|
||||||
/* 00338 8098D308 C438E2B4 */ lwc1 $f24, %lo(D_8098E2B4)($at)
|
|
||||||
/* 0033C 8098D30C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
|
|
||||||
/* 00340 8098D310 27B40094 */ addiu $s4, $sp, 0x0094 ## $s4 = FFFFFFF4
|
|
||||||
.L8098D314:
|
|
||||||
/* 00344 8098D314 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 00348 8098D318 4600C306 */ mov.s $f12, $f24
|
|
||||||
/* 0034C 8098D31C 4600010D */ trunc.w.s $f4, $f0
|
|
||||||
/* 00350 8098D320 4600C306 */ mov.s $f12, $f24
|
|
||||||
/* 00354 8098D324 44112000 */ mfc1 $s1, $f4
|
|
||||||
/* 00358 8098D328 00000000 */ nop
|
|
||||||
/* 0035C 8098D32C 00118C00 */ sll $s1, $s1, 16
|
|
||||||
/* 00360 8098D330 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 00364 8098D334 00118C03 */ sra $s1, $s1, 16
|
|
||||||
/* 00368 8098D338 4600018D */ trunc.w.s $f6, $f0
|
|
||||||
/* 0036C 8098D33C 00112400 */ sll $a0, $s1, 16
|
|
||||||
/* 00370 8098D340 00042403 */ sra $a0, $a0, 16
|
|
||||||
/* 00374 8098D344 44103000 */ mfc1 $s0, $f6
|
|
||||||
/* 00378 8098D348 00000000 */ nop
|
|
||||||
/* 0037C 8098D34C 00108400 */ sll $s0, $s0, 16
|
|
||||||
/* 00380 8098D350 0C01DE0D */ jal Math_CosS
|
|
||||||
## coss?
|
|
||||||
/* 00384 8098D354 00108403 */ sra $s0, $s0, 16
|
|
||||||
/* 00388 8098D358 00102400 */ sll $a0, $s0, 16
|
|
||||||
/* 0038C 8098D35C 00042403 */ sra $a0, $a0, 16
|
|
||||||
/* 00390 8098D360 0C01DE1C */ jal Math_SinS
|
|
||||||
## sins?
|
|
||||||
/* 00394 8098D364 46000586 */ mov.s $f22, $f0
|
|
||||||
/* 00398 8098D368 46000506 */ mov.s $f20, $f0
|
|
||||||
/* 0039C 8098D36C 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 003A0 8098D370 4600D306 */ mov.s $f12, $f26
|
|
||||||
/* 003A4 8098D374 4616A202 */ mul.s $f8, $f20, $f22
|
|
||||||
/* 003A8 8098D378 3C018099 */ lui $at, %hi(D_8098E11C) ## $at = 80990000
|
|
||||||
/* 003AC 8098D37C 00112400 */ sll $a0, $s1, 16
|
|
||||||
/* 003B0 8098D380 00042403 */ sra $a0, $a0, 16
|
|
||||||
/* 003B4 8098D384 46080282 */ mul.s $f10, $f0, $f8
|
|
||||||
/* 003B8 8098D388 0C01DE0D */ jal Math_CosS
|
|
||||||
## coss?
|
|
||||||
/* 003BC 8098D38C E42AE11C */ swc1 $f10, %lo(D_8098E11C)($at)
|
|
||||||
/* 003C0 8098D390 00102400 */ sll $a0, $s0, 16
|
|
||||||
/* 003C4 8098D394 00042403 */ sra $a0, $a0, 16
|
|
||||||
/* 003C8 8098D398 0C01DE0D */ jal Math_CosS
|
|
||||||
## coss?
|
|
||||||
/* 003CC 8098D39C 46000586 */ mov.s $f22, $f0
|
|
||||||
/* 003D0 8098D3A0 46000506 */ mov.s $f20, $f0
|
|
||||||
/* 003D4 8098D3A4 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 003D8 8098D3A8 4600D306 */ mov.s $f12, $f26
|
|
||||||
/* 003DC 8098D3AC 4616A402 */ mul.s $f16, $f20, $f22
|
|
||||||
/* 003E0 8098D3B0 3C018099 */ lui $at, %hi(D_8098E124) ## $at = 80990000
|
|
||||||
/* 003E4 8098D3B4 00112400 */ sll $a0, $s1, 16
|
|
||||||
/* 003E8 8098D3B8 00042403 */ sra $a0, $a0, 16
|
|
||||||
/* 003EC 8098D3BC 46100482 */ mul.s $f18, $f0, $f16
|
|
||||||
/* 003F0 8098D3C0 0C01DE1C */ jal Math_SinS
|
|
||||||
## sins?
|
|
||||||
/* 003F4 8098D3C4 E432E124 */ swc1 $f18, %lo(D_8098E124)($at)
|
|
||||||
/* 003F8 8098D3C8 46000506 */ mov.s $f20, $f0
|
|
||||||
/* 003FC 8098D3CC 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 00400 8098D3D0 4600F306 */ mov.s $f12, $f30
|
|
||||||
/* 00404 8098D3D4 46140102 */ mul.s $f4, $f0, $f20
|
|
||||||
/* 00408 8098D3D8 3C018099 */ lui $at, %hi(D_8098E120) ## $at = 80990000
|
|
||||||
/* 0040C 8098D3DC E424E120 */ swc1 $f4, %lo(D_8098E120)($at)
|
|
||||||
/* 00410 8098D3E0 3C018099 */ lui $at, %hi(D_8098E11C) ## $at = 80990000
|
|
||||||
/* 00414 8098D3E4 C426E11C */ lwc1 $f6, %lo(D_8098E11C)($at)
|
|
||||||
/* 00418 8098D3E8 3C018099 */ lui $at, %hi(D_8098E120) ## $at = 80990000
|
|
||||||
/* 0041C 8098D3EC C432E120 */ lwc1 $f18, %lo(D_8098E120)($at)
|
|
||||||
/* 00420 8098D3F0 461C3202 */ mul.s $f8, $f6, $f28
|
|
||||||
/* 00424 8098D3F4 C66A0024 */ lwc1 $f10, 0x0024($s3) ## 00000024
|
|
||||||
/* 00428 8098D3F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
|
||||||
/* 0042C 8098D3FC 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
|
||||||
/* 00430 8098D400 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
|
||||||
/* 00434 8098D404 46049182 */ mul.s $f6, $f18, $f4
|
|
||||||
/* 00438 8098D408 460A4400 */ add.s $f16, $f8, $f10
|
|
||||||
/* 0043C 8098D40C E7B00094 */ swc1 $f16, 0x0094($sp)
|
|
||||||
/* 00440 8098D410 C6680028 */ lwc1 $f8, 0x0028($s3) ## 00000028
|
|
||||||
/* 00444 8098D414 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00
|
|
||||||
/* 00448 8098D418 3C018099 */ lui $at, %hi(D_8098E124) ## $at = 80990000
|
|
||||||
/* 0044C 8098D41C 46083280 */ add.s $f10, $f6, $f8
|
|
||||||
/* 00450 8098D420 C424E124 */ lwc1 $f4, %lo(D_8098E124)($at)
|
|
||||||
/* 00454 8098D424 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
|
||||||
/* 00458 8098D428 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
|
|
||||||
/* 0045C 8098D42C 46105480 */ add.s $f18, $f10, $f16
|
|
||||||
/* 00460 8098D430 461C2182 */ mul.s $f6, $f4, $f28
|
|
||||||
/* 00464 8098D434 E7B20098 */ swc1 $f18, 0x0098($sp)
|
|
||||||
/* 00468 8098D438 C668002C */ lwc1 $f8, 0x002C($s3) ## 0000002C
|
|
||||||
/* 0046C 8098D43C 46083280 */ add.s $f10, $f6, $f8
|
|
||||||
/* 00470 8098D440 0C00CFBE */ jal Rand_ZeroFloat
|
|
||||||
|
|
||||||
/* 00474 8098D444 E7AA009C */ swc1 $f10, 0x009C($sp)
|
|
||||||
/* 00478 8098D448 4600040D */ trunc.w.s $f16, $f0
|
|
||||||
/* 0047C 8098D44C 24180BB8 */ addiu $t8, $zero, 0x0BB8 ## $t8 = 00000BB8
|
|
||||||
/* 00480 8098D450 AFB80018 */ sw $t8, 0x0018($sp)
|
|
||||||
/* 00484 8098D454 8FA400A4 */ lw $a0, 0x00A4($sp)
|
|
||||||
/* 00488 8098D458 44088000 */ mfc1 $t0, $f16
|
|
||||||
/* 0048C 8098D45C 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFF4
|
|
||||||
/* 00490 8098D460 02A03025 */ or $a2, $s5, $zero ## $a2 = 8098E11C
|
|
||||||
/* 00494 8098D464 2509002D */ addiu $t1, $t0, 0x002D ## $t1 = 0000002D
|
|
||||||
/* 00498 8098D468 AFA9001C */ sw $t1, 0x001C($sp)
|
|
||||||
/* 0049C 8098D46C 02C03825 */ or $a3, $s6, $zero ## $a3 = 8098E128
|
|
||||||
/* 004A0 8098D470 AFB70010 */ sw $s7, 0x0010($sp)
|
|
||||||
/* 004A4 8098D474 0C00A33B */ jal EffectSsKiraKira_SpawnFocused
|
|
||||||
/* 004A8 8098D478 AFBE0014 */ sw $s8, 0x0014($sp)
|
|
||||||
/* 004AC 8098D47C 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
|
|
||||||
/* 004B0 8098D480 24010055 */ addiu $at, $zero, 0x0055 ## $at = 00000055
|
|
||||||
/* 004B4 8098D484 1641FFA3 */ bne $s2, $at, .L8098D314
|
|
||||||
/* 004B8 8098D488 00000000 */ nop
|
|
||||||
/* 004BC 8098D48C 8FBF007C */ lw $ra, 0x007C($sp)
|
|
||||||
/* 004C0 8098D490 D7B40028 */ ldc1 $f20, 0x0028($sp)
|
|
||||||
/* 004C4 8098D494 D7B60030 */ ldc1 $f22, 0x0030($sp)
|
|
||||||
/* 004C8 8098D498 D7B80038 */ ldc1 $f24, 0x0038($sp)
|
|
||||||
/* 004CC 8098D49C D7BA0040 */ ldc1 $f26, 0x0040($sp)
|
|
||||||
/* 004D0 8098D4A0 D7BC0048 */ ldc1 $f28, 0x0048($sp)
|
|
||||||
/* 004D4 8098D4A4 D7BE0050 */ ldc1 $f30, 0x0050($sp)
|
|
||||||
/* 004D8 8098D4A8 8FB00058 */ lw $s0, 0x0058($sp)
|
|
||||||
/* 004DC 8098D4AC 8FB1005C */ lw $s1, 0x005C($sp)
|
|
||||||
/* 004E0 8098D4B0 8FB20060 */ lw $s2, 0x0060($sp)
|
|
||||||
/* 004E4 8098D4B4 8FB30064 */ lw $s3, 0x0064($sp)
|
|
||||||
/* 004E8 8098D4B8 8FB40068 */ lw $s4, 0x0068($sp)
|
|
||||||
/* 004EC 8098D4BC 8FB5006C */ lw $s5, 0x006C($sp)
|
|
||||||
/* 004F0 8098D4C0 8FB60070 */ lw $s6, 0x0070($sp)
|
|
||||||
/* 004F4 8098D4C4 8FB70074 */ lw $s7, 0x0074($sp)
|
|
||||||
/* 004F8 8098D4C8 8FBE0078 */ lw $s8, 0x0078($sp)
|
|
||||||
/* 004FC 8098D4CC 03E00008 */ jr $ra
|
|
||||||
/* 00500 8098D4D0 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
|
|
|
@ -1,88 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel D_8098E2B8
|
|
||||||
.float 0.2
|
|
||||||
|
|
||||||
glabel D_8098E2BC
|
|
||||||
.float 0.003
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_8098D4D4
|
|
||||||
/* 00504 8098D4D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00508 8098D4D8 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 0050C 8098D4DC 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
|
|
||||||
/* 00510 8098D4E0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
|
||||||
/* 00514 8098D4E4 51C00038 */ beql $t6, $zero, .L8098D5C8
|
|
||||||
/* 00518 8098D4E8 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6
|
|
||||||
/* 0051C 8098D4EC 8CA21D8C */ lw $v0, 0x1D8C($a1) ## 00001D8C
|
|
||||||
/* 00520 8098D4F0 50400035 */ beql $v0, $zero, .L8098D5C8
|
|
||||||
/* 00524 8098D4F4 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6
|
|
||||||
/* 00528 8098D4F8 94430000 */ lhu $v1, 0x0000($v0) ## 00000000
|
|
||||||
/* 0052C 8098D4FC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
|
||||||
/* 00530 8098D500 10610030 */ beq $v1, $at, .L8098D5C4
|
|
||||||
/* 00534 8098D504 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
|
||||||
/* 00538 8098D508 5461002F */ bnel $v1, $at, .L8098D5C8
|
|
||||||
/* 0053C 8098D50C 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6
|
|
||||||
/* 00540 8098D510 948F01F6 */ lhu $t7, 0x01F6($a0) ## 000001F6
|
|
||||||
/* 00544 8098D514 2404000C */ addiu $a0, $zero, 0x000C ## $a0 = 0000000C
|
|
||||||
/* 00548 8098D518 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
|
|
||||||
/* 0054C 8098D51C 57000008 */ bnel $t8, $zero, .L8098D540
|
|
||||||
/* 00550 8098D520 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
|
||||||
/* 00554 8098D524 0C03CFCF */ jal func_800F3F3C
|
|
||||||
/* 00558 8098D528 AFA60018 */ sw $a2, 0x0018($sp)
|
|
||||||
/* 0055C 8098D52C 8FA60018 */ lw $a2, 0x0018($sp)
|
|
||||||
/* 00560 8098D530 94D901F6 */ lhu $t9, 0x01F6($a2) ## 000001F6
|
|
||||||
/* 00564 8098D534 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
|
|
||||||
/* 00568 8098D538 A4C801F6 */ sh $t0, 0x01F6($a2) ## 000001F6
|
|
||||||
/* 0056C 8098D53C 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
|
||||||
.L8098D540:
|
|
||||||
/* 00570 8098D540 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00
|
|
||||||
/* 00574 8098D544 C4C001F0 */ lwc1 $f0, 0x01F0($a2) ## 000001F0
|
|
||||||
/* 00578 8098D548 3C018099 */ lui $at, %hi(D_8098E2B8) ## $at = 80990000
|
|
||||||
/* 0057C 8098D54C 4604003C */ c.lt.s $f0, $f4
|
|
||||||
/* 00580 8098D550 00000000 */ nop
|
|
||||||
/* 00584 8098D554 45020006 */ bc1fl .L8098D570
|
|
||||||
/* 00588 8098D558 94C901F4 */ lhu $t1, 0x01F4($a2) ## 000001F4
|
|
||||||
/* 0058C 8098D55C C426E2B8 */ lwc1 $f6, %lo(D_8098E2B8)($at)
|
|
||||||
/* 00590 8098D560 46060200 */ add.s $f8, $f0, $f6
|
|
||||||
/* 00594 8098D564 10000017 */ beq $zero, $zero, .L8098D5C4
|
|
||||||
/* 00598 8098D568 E4C801F0 */ swc1 $f8, 0x01F0($a2) ## 000001F0
|
|
||||||
/* 0059C 8098D56C 94C901F4 */ lhu $t1, 0x01F4($a2) ## 000001F4
|
|
||||||
.L8098D570:
|
|
||||||
/* 005A0 8098D570 240400C3 */ addiu $a0, $zero, 0x00C3 ## $a0 = 000000C3
|
|
||||||
/* 005A4 8098D574 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
|
|
||||||
/* 005A8 8098D578 3142FFFF */ andi $v0, $t2, 0xFFFF ## $v0 = 00000001
|
|
||||||
/* 005AC 8098D57C 28410065 */ slti $at, $v0, 0x0065
|
|
||||||
/* 005B0 8098D580 14200007 */ bne $at, $zero, .L8098D5A0
|
|
||||||
/* 005B4 8098D584 A4CA01F4 */ sh $t2, 0x01F4($a2) ## 000001F4
|
|
||||||
/* 005B8 8098D588 0C00D6DD */ jal Flags_SetEventChkInf
|
|
||||||
|
|
||||||
/* 005BC 8098D58C AFA60018 */ sw $a2, 0x0018($sp)
|
|
||||||
/* 005C0 8098D590 0C00B55C */ jal Actor_Kill
|
|
||||||
|
|
||||||
/* 005C4 8098D594 8FA40018 */ lw $a0, 0x0018($sp)
|
|
||||||
/* 005C8 8098D598 10000012 */ beq $zero, $zero, .L8098D5E4
|
|
||||||
/* 005CC 8098D59C 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L8098D5A0:
|
|
||||||
/* 005D0 8098D5A0 28410029 */ slti $at, $v0, 0x0029
|
|
||||||
/* 005D4 8098D5A4 14200007 */ bne $at, $zero, .L8098D5C4
|
|
||||||
/* 005D8 8098D5A8 3C018099 */ lui $at, %hi(D_8098E2BC) ## $at = 80990000
|
|
||||||
/* 005DC 8098D5AC C430E2BC */ lwc1 $f16, %lo(D_8098E2BC)($at)
|
|
||||||
/* 005E0 8098D5B0 C4CA0050 */ lwc1 $f10, 0x0050($a2) ## 00000050
|
|
||||||
/* 005E4 8098D5B4 46105480 */ add.s $f18, $f10, $f16
|
|
||||||
/* 005E8 8098D5B8 E4D20050 */ swc1 $f18, 0x0050($a2) ## 00000050
|
|
||||||
/* 005EC 8098D5BC C4C40050 */ lwc1 $f4, 0x0050($a2) ## 00000050
|
|
||||||
/* 005F0 8098D5C0 E4C40058 */ swc1 $f4, 0x0058($a2) ## 00000058
|
|
||||||
.L8098D5C4:
|
|
||||||
/* 005F4 8098D5C4 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6
|
|
||||||
.L8098D5C8:
|
|
||||||
/* 005F8 8098D5C8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
|
||||||
/* 005FC 8098D5CC 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
|
|
||||||
/* 00600 8098D5D0 55800004 */ bnel $t4, $zero, .L8098D5E4
|
|
||||||
/* 00604 8098D5D4 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00608 8098D5D8 0C00BE5D */ jal func_8002F974
|
|
||||||
/* 0060C 8098D5DC 240520EE */ addiu $a1, $zero, 0x20EE ## $a1 = 000020EE
|
|
||||||
/* 00610 8098D5E0 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L8098D5E4:
|
|
||||||
/* 00614 8098D5E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 00618 8098D5E8 03E00008 */ jr $ra
|
|
||||||
/* 0061C 8098D5EC 00000000 */ nop
|
|
|
@ -1,108 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel D_8098E2C4
|
|
||||||
.float 0.05
|
|
||||||
|
|
||||||
glabel D_8098E2C8
|
|
||||||
.float 6.25e-4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_8098D71C
|
|
||||||
/* 0074C 8098D71C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
|
||||||
/* 00750 8098D720 AFBF001C */ sw $ra, 0x001C($sp)
|
|
||||||
/* 00754 8098D724 AFB00018 */ sw $s0, 0x0018($sp)
|
|
||||||
/* 00758 8098D728 AFA50024 */ sw $a1, 0x0024($sp)
|
|
||||||
/* 0075C 8098D72C 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
|
|
||||||
/* 00760 8098D730 3C088099 */ lui $t0, %hi(D_8098E13C) ## $t0 = 80990000
|
|
||||||
/* 00764 8098D734 94AF1D74 */ lhu $t7, 0x1D74($a1) ## 00001D74
|
|
||||||
/* 00768 8098D738 0018C840 */ sll $t9, $t8, 1
|
|
||||||
/* 0076C 8098D73C 01194021 */ addu $t0, $t0, $t9
|
|
||||||
/* 00770 8098D740 9508E13C */ lhu $t0, %lo(D_8098E13C)($t0)
|
|
||||||
/* 00774 8098D744 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00778 8098D748 15E80003 */ bne $t7, $t0, .L8098D758
|
|
||||||
/* 0077C 8098D74C 00000000 */ nop
|
|
||||||
/* 00780 8098D750 0C03CFCF */ jal func_800F3F3C
|
|
||||||
/* 00784 8098D754 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
|
|
||||||
.L8098D758:
|
|
||||||
/* 00788 8098D758 3C018099 */ lui $at, %hi(D_8098E2C4) ## $at = 80990000
|
|
||||||
/* 0078C 8098D75C C422E2C4 */ lwc1 $f2, %lo(D_8098E2C4)($at)
|
|
||||||
/* 00790 8098D760 C60001E4 */ lwc1 $f0, 0x01E4($s0) ## 000001E4
|
|
||||||
/* 00794 8098D764 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050
|
|
||||||
/* 00798 8098D768 4600103E */ c.le.s $f2, $f0
|
|
||||||
/* 0079C 8098D76C 00000000 */ nop
|
|
||||||
/* 007A0 8098D770 45020005 */ bc1fl .L8098D788
|
|
||||||
/* 007A4 8098D774 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
|
||||||
/* 007A8 8098D778 46020101 */ sub.s $f4, $f0, $f2
|
|
||||||
/* 007AC 8098D77C 10000004 */ beq $zero, $zero, .L8098D790
|
|
||||||
/* 007B0 8098D780 E60401E4 */ swc1 $f4, 0x01E4($s0) ## 000001E4
|
|
||||||
/* 007B4 8098D784 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
|
||||||
.L8098D788:
|
|
||||||
/* 007B8 8098D788 00000000 */ nop
|
|
||||||
/* 007BC 8098D78C E60601E4 */ swc1 $f6, 0x01E4($s0) ## 000001E4
|
|
||||||
.L8098D790:
|
|
||||||
/* 007C0 8098D790 960301F4 */ lhu $v1, 0x01F4($s0) ## 000001F4
|
|
||||||
/* 007C4 8098D794 28610028 */ slti $at, $v1, 0x0028
|
|
||||||
/* 007C8 8098D798 10200014 */ beq $at, $zero, .L8098D7EC
|
|
||||||
/* 007CC 8098D79C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
|
||||||
/* 007D0 8098D7A0 01235023 */ subu $t2, $t1, $v1
|
|
||||||
/* 007D4 8098D7A4 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
|
|
||||||
/* 007D8 8098D7A8 44838000 */ mtc1 $v1, $f16 ## $f16 = 0.00
|
|
||||||
/* 007DC 8098D7AC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
|
||||||
/* 007E0 8098D7B0 468042A0 */ cvt.s.w $f10, $f8
|
|
||||||
/* 007E4 8098D7B4 04610004 */ bgez $v1, .L8098D7C8
|
|
||||||
/* 007E8 8098D7B8 468084A0 */ cvt.s.w $f18, $f16
|
|
||||||
/* 007EC 8098D7BC 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
|
|
||||||
/* 007F0 8098D7C0 00000000 */ nop
|
|
||||||
/* 007F4 8098D7C4 46049480 */ add.s $f18, $f18, $f4
|
|
||||||
.L8098D7C8:
|
|
||||||
/* 007F8 8098D7C8 46125182 */ mul.s $f6, $f10, $f18
|
|
||||||
/* 007FC 8098D7CC 3C018099 */ lui $at, %hi(D_8098E2C8) ## $at = 80990000
|
|
||||||
/* 00800 8098D7D0 C428E2C8 */ lwc1 $f8, %lo(D_8098E2C8)($at)
|
|
||||||
/* 00804 8098D7D4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
|
||||||
/* 00808 8098D7D8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
|
||||||
/* 0080C 8098D7DC 46083402 */ mul.s $f16, $f6, $f8
|
|
||||||
/* 00810 8098D7E0 46048280 */ add.s $f10, $f16, $f4
|
|
||||||
/* 00814 8098D7E4 10000014 */ beq $zero, $zero, .L8098D838
|
|
||||||
/* 00818 8098D7E8 E60A01E8 */ swc1 $f10, 0x01E8($s0) ## 000001E8
|
|
||||||
.L8098D7EC:
|
|
||||||
/* 0081C 8098D7EC 28410032 */ slti $at, $v0, 0x0032
|
|
||||||
/* 00820 8098D7F0 10200004 */ beq $at, $zero, .L8098D804
|
|
||||||
/* 00824 8098D7F4 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
|
||||||
/* 00828 8098D7F8 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
|
|
||||||
/* 0082C 8098D7FC 1000000E */ beq $zero, $zero, .L8098D838
|
|
||||||
/* 00830 8098D800 E61201E8 */ swc1 $f18, 0x01E8($s0) ## 000001E8
|
|
||||||
.L8098D804:
|
|
||||||
/* 00834 8098D804 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
|
|
||||||
/* 00838 8098D808 14410008 */ bne $v0, $at, .L8098D82C
|
|
||||||
/* 0083C 8098D80C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00840 8098D810 0C00BE0A */ jal Audio_PlayActorSound2
|
|
||||||
|
|
||||||
/* 00844 8098D814 24051842 */ addiu $a1, $zero, 0x1842 ## $a1 = 00001842
|
|
||||||
/* 00848 8098D818 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 0084C 8098D81C 0C2634A0 */ jal func_8098D280
|
|
||||||
/* 00850 8098D820 8FA50024 */ lw $a1, 0x0024($sp)
|
|
||||||
/* 00854 8098D824 10000005 */ beq $zero, $zero, .L8098D83C
|
|
||||||
/* 00858 8098D828 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
|
||||||
.L8098D82C:
|
|
||||||
/* 0085C 8098D82C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
|
||||||
/* 00860 8098D830 00000000 */ nop
|
|
||||||
/* 00864 8098D834 E60601E8 */ swc1 $f6, 0x01E8($s0) ## 000001E8
|
|
||||||
.L8098D838:
|
|
||||||
/* 00868 8098D838 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
|
||||||
.L8098D83C:
|
|
||||||
/* 0086C 8098D83C C61001E8 */ lwc1 $f16, 0x01E8($s0) ## 000001E8
|
|
||||||
/* 00870 8098D840 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00874 8098D844 46104032 */ c.eq.s $f8, $f16
|
|
||||||
/* 00878 8098D848 00000000 */ nop
|
|
||||||
/* 0087C 8098D84C 45030004 */ bc1tl .L8098D860
|
|
||||||
/* 00880 8098D850 960B01F4 */ lhu $t3, 0x01F4($s0) ## 000001F4
|
|
||||||
/* 00884 8098D854 0C00BE5D */ jal func_8002F974
|
|
||||||
/* 00888 8098D858 240520ED */ addiu $a1, $zero, 0x20ED ## $a1 = 000020ED
|
|
||||||
/* 0088C 8098D85C 960B01F4 */ lhu $t3, 0x01F4($s0) ## 000001F4
|
|
||||||
.L8098D860:
|
|
||||||
/* 00890 8098D860 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
|
|
||||||
/* 00894 8098D864 A60C01F4 */ sh $t4, 0x01F4($s0) ## 000001F4
|
|
||||||
/* 00898 8098D868 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
/* 0089C 8098D86C 8FB00018 */ lw $s0, 0x0018($sp)
|
|
||||||
/* 008A0 8098D870 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
||||||
/* 008A4 8098D874 03E00008 */ jr $ra
|
|
||||||
/* 008A8 8098D878 00000000 */ nop
|
|
|
@ -1,103 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_8098E1D0
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E1E4
|
|
||||||
.asciz "\"当ったよ\" = %s\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E1F8
|
|
||||||
.asciz "当ったよ"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_8098D87C
|
|
||||||
/* 008AC 8098D87C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
|
||||||
/* 008B0 8098D880 AFBF0024 */ sw $ra, 0x0024($sp)
|
|
||||||
/* 008B4 8098D884 AFB10020 */ sw $s1, 0x0020($sp)
|
|
||||||
/* 008B8 8098D888 AFB0001C */ sw $s0, 0x001C($sp)
|
|
||||||
/* 008BC 8098D88C 908E015C */ lbu $t6, 0x015C($a0) ## 0000015C
|
|
||||||
/* 008C0 8098D890 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 008C4 8098D894 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
|
||||||
/* 008C8 8098D898 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
|
||||||
/* 008CC 8098D89C 11E00008 */ beq $t7, $zero, .L8098D8C0
|
|
||||||
/* 008D0 8098D8A0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
|
||||||
/* 008D4 8098D8A4 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00
|
|
||||||
/* 008D8 8098D8A8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
|
||||||
/* 008DC 8098D8AC 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
|
|
||||||
/* 008E0 8098D8B0 44060000 */ mfc1 $a2, $f0
|
|
||||||
/* 008E4 8098D8B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
|
||||||
/* 008E8 8098D8B8 0C00BDC7 */ jal func_8002F71C
|
|
||||||
/* 008EC 8098D8BC E7A00010 */ swc1 $f0, 0x0010($sp)
|
|
||||||
.L8098D8C0:
|
|
||||||
/* 008F0 8098D8C0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 008F4 8098D8C4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
|
||||||
/* 008F8 8098D8C8 02212821 */ addu $a1, $s1, $at
|
|
||||||
/* 008FC 8098D8CC 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
|
|
||||||
/* 00900 8098D8D0 AFA60028 */ sw $a2, 0x0028($sp)
|
|
||||||
/* 00904 8098D8D4 AFA5002C */ sw $a1, 0x002C($sp)
|
|
||||||
/* 00908 8098D8D8 0C0175E7 */ jal CollisionCheck_SetAT
|
|
||||||
## CollisionCheck_setAT
|
|
||||||
/* 0090C 8098D8DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 00910 8098D8E0 8FA60028 */ lw $a2, 0x0028($sp)
|
|
||||||
/* 00914 8098D8E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 00918 8098D8E8 0C017713 */ jal CollisionCheck_SetOC
|
|
||||||
## CollisionCheck_setOC
|
|
||||||
/* 0091C 8098D8EC 8FA5002C */ lw $a1, 0x002C($sp)
|
|
||||||
/* 00920 8098D8F0 921801A9 */ lbu $t8, 0x01A9($s0) ## 000001A9
|
|
||||||
/* 00924 8098D8F4 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
|
|
||||||
/* 00928 8098D8F8 53200026 */ beql $t9, $zero, .L8098D994
|
|
||||||
/* 0092C 8098D8FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 00930 8098D900 0C01E221 */ jal func_80078884
|
|
||||||
/* 00934 8098D904 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
|
||||||
/* 00938 8098D908 3C048099 */ lui $a0, %hi(D_8098E1D0) ## $a0 = 80990000
|
|
||||||
/* 0093C 8098D90C 2484E1D0 */ addiu $a0, $a0, %lo(D_8098E1D0) ## $a0 = 8098E1D0
|
|
||||||
/* 00940 8098D910 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
|
|
||||||
/* 00944 8098D914 2405023C */ addiu $a1, $zero, 0x023C ## $a1 = 0000023C
|
|
||||||
/* 00948 8098D918 3C048099 */ lui $a0, %hi(D_8098E1E4) ## $a0 = 80990000
|
|
||||||
/* 0094C 8098D91C 3C058099 */ lui $a1, %hi(D_8098E1F8) ## $a1 = 80990000
|
|
||||||
/* 00950 8098D920 24A5E1F8 */ addiu $a1, $a1, %lo(D_8098E1F8) ## $a1 = 8098E1F8
|
|
||||||
/* 00954 8098D924 0C00084C */ jal osSyncPrintf
|
|
||||||
|
|
||||||
/* 00958 8098D928 2484E1E4 */ addiu $a0, $a0, %lo(D_8098E1E4) ## $a0 = 8098E1E4
|
|
||||||
/* 0095C 8098D92C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
|
||||||
/* 00960 8098D930 3C088099 */ lui $t0, %hi(func_8098D71C) ## $t0 = 80990000
|
|
||||||
/* 00964 8098D934 2508D71C */ addiu $t0, $t0, %lo(func_8098D71C) ## $t0 = 8098D71C
|
|
||||||
/* 00968 8098D938 3C028099 */ lui $v0, %hi(D_8098E14C) ## $v0 = 80990000
|
|
||||||
/* 0096C 8098D93C 00095080 */ sll $t2, $t1, 2
|
|
||||||
/* 00970 8098D940 AE080130 */ sw $t0, 0x0130($s0) ## 00000130
|
|
||||||
/* 00974 8098D944 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4
|
|
||||||
/* 00978 8098D948 004A1021 */ addu $v0, $v0, $t2
|
|
||||||
/* 0097C 8098D94C 8C42E14C */ lw $v0, %lo(D_8098E14C)($v0)
|
|
||||||
/* 00980 8098D950 3C0F8016 */ lui $t7, %hi(gSegments)
|
|
||||||
/* 00984 8098D954 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
|
||||||
/* 00988 8098D958 00026100 */ sll $t4, $v0, 4
|
|
||||||
/* 0098C 8098D95C 000C6F02 */ srl $t5, $t4, 28
|
|
||||||
/* 00990 8098D960 000D7080 */ sll $t6, $t5, 2
|
|
||||||
/* 00994 8098D964 01EE7821 */ addu $t7, $t7, $t6
|
|
||||||
/* 00998 8098D968 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7)
|
|
||||||
/* 0099C 8098D96C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
|
||||||
/* 009A0 8098D970 00415824 */ and $t3, $v0, $at
|
|
||||||
/* 009A4 8098D974 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
|
||||||
/* 009A8 8098D978 016FC021 */ addu $t8, $t3, $t7
|
|
||||||
/* 009AC 8098D97C 0301C821 */ addu $t9, $t8, $at
|
|
||||||
/* 009B0 8098D980 AE391D68 */ sw $t9, 0x1D68($s1) ## 00001D68
|
|
||||||
/* 009B4 8098D984 3C018016 */ lui $at, %hi(gSaveContext+0x1414)
|
|
||||||
/* 009B8 8098D988 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
|
||||||
/* 009BC 8098D98C A028FA74 */ sb $t0, %lo(gSaveContext+0x1414)($at)
|
|
||||||
/* 009C0 8098D990 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
.L8098D994:
|
|
||||||
/* 009C4 8098D994 8FA5002C */ lw $a1, 0x002C($sp)
|
|
||||||
/* 009C8 8098D998 0C01767D */ jal CollisionCheck_SetAC
|
|
||||||
## CollisionCheck_setAC
|
|
||||||
/* 009CC 8098D99C 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198
|
|
||||||
/* 009D0 8098D9A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 009D4 8098D9A4 0C00BE5D */ jal func_8002F974
|
|
||||||
/* 009D8 8098D9A8 240520ED */ addiu $a1, $zero, 0x20ED ## $a1 = 000020ED
|
|
||||||
/* 009DC 8098D9AC 8FBF0024 */ lw $ra, 0x0024($sp)
|
|
||||||
/* 009E0 8098D9B0 8FB0001C */ lw $s0, 0x001C($sp)
|
|
||||||
/* 009E4 8098D9B4 8FB10020 */ lw $s1, 0x0020($sp)
|
|
||||||
/* 009E8 8098D9B8 03E00008 */ jr $ra
|
|
||||||
/* 009EC 8098D9BC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
|
@ -1,366 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_8098E204
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E218
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E22C
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8098E240
|
|
||||||
.asciz "../z_demo_kekkai.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_8098D9C0
|
|
||||||
/* 009F0 8098D9C0 27BDFEE0 */ addiu $sp, $sp, 0xFEE0 ## $sp = FFFFFEE0
|
|
||||||
/* 009F4 8098D9C4 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
|
||||||
/* 009F8 8098D9C8 AFBF003C */ sw $ra, 0x003C($sp)
|
|
||||||
/* 009FC 8098D9CC AFB00038 */ sw $s0, 0x0038($sp)
|
|
||||||
/* 00A00 8098D9D0 AFA40120 */ sw $a0, 0x0120($sp)
|
|
||||||
/* 00A04 8098D9D4 AFA50124 */ sw $a1, 0x0124($sp)
|
|
||||||
/* 00A08 8098D9D8 01E57821 */ addu $t7, $t7, $a1
|
|
||||||
/* 00A0C 8098D9DC 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
|
|
||||||
/* 00A10 8098D9E0 3C098099 */ lui $t1, %hi(D_8098E168) ## $t1 = 80990000
|
|
||||||
/* 00A14 8098D9E4 2529E168 */ addiu $t1, $t1, %lo(D_8098E168) ## $t1 = 8098E168
|
|
||||||
/* 00A18 8098D9E8 31F8FFFF */ andi $t8, $t7, 0xFFFF ## $t8 = 00000000
|
|
||||||
/* 00A1C 8098D9EC AFB80118 */ sw $t8, 0x0118($sp)
|
|
||||||
/* 00A20 8098D9F0 252C0060 */ addiu $t4, $t1, 0x0060 ## $t4 = 8098E1C8
|
|
||||||
/* 00A24 8098D9F4 27B900B0 */ addiu $t9, $sp, 0x00B0 ## $t9 = FFFFFF90
|
|
||||||
.L8098D9F8:
|
|
||||||
/* 00A28 8098D9F8 8D2B0000 */ lw $t3, 0x0000($t1) ## 8098E168
|
|
||||||
/* 00A2C 8098D9FC 2529000C */ addiu $t1, $t1, 0x000C ## $t1 = 8098E174
|
|
||||||
/* 00A30 8098DA00 2739000C */ addiu $t9, $t9, 0x000C ## $t9 = FFFFFF9C
|
|
||||||
/* 00A34 8098DA04 AF2BFFF4 */ sw $t3, -0x000C($t9) ## FFFFFF90
|
|
||||||
/* 00A38 8098DA08 8D2AFFF8 */ lw $t2, -0x0008($t1) ## 8098E16C
|
|
||||||
/* 00A3C 8098DA0C AF2AFFF8 */ sw $t2, -0x0008($t9) ## FFFFFF94
|
|
||||||
/* 00A40 8098DA10 8D2BFFFC */ lw $t3, -0x0004($t1) ## 8098E170
|
|
||||||
/* 00A44 8098DA14 152CFFF8 */ bne $t1, $t4, .L8098D9F8
|
|
||||||
/* 00A48 8098DA18 AF2BFFFC */ sw $t3, -0x0004($t9) ## FFFFFF98
|
|
||||||
/* 00A4C 8098DA1C 8D2B0000 */ lw $t3, 0x0000($t1) ## 8098E174
|
|
||||||
/* 00A50 8098DA20 3C020600 */ lui $v0, %hi(D_06004FD0) ## $v0 = 06000000
|
|
||||||
/* 00A54 8098DA24 24424FD0 */ addiu $v0, $v0, %lo(D_06004FD0) ## $v0 = 06004FD0
|
|
||||||
/* 00A58 8098DA28 AF2B0000 */ sw $t3, 0x0000($t9) ## FFFFFF9C
|
|
||||||
/* 00A5C 8098DA2C 952B0004 */ lhu $t3, 0x0004($t1) ## 8098E178
|
|
||||||
/* 00A60 8098DA30 00026900 */ sll $t5, $v0, 4
|
|
||||||
/* 00A64 8098DA34 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
|
||||||
/* 00A68 8098DA38 A72B0004 */ sh $t3, 0x0004($t9) ## FFFFFFA0
|
|
||||||
/* 00A6C 8098DA3C 8FA90120 */ lw $t1, 0x0120($sp)
|
|
||||||
/* 00A70 8098DA40 000D7702 */ srl $t6, $t5, 28
|
|
||||||
/* 00A74 8098DA44 000E7880 */ sll $t7, $t6, 2
|
|
||||||
/* 00A78 8098DA48 C52601E8 */ lwc1 $f6, 0x01E8($t1) ## 8098E35C
|
|
||||||
/* 00A7C 8098DA4C 3C188016 */ lui $t8, %hi(gSegments)
|
|
||||||
/* 00A80 8098DA50 030FC021 */ addu $t8, $t8, $t7
|
|
||||||
/* 00A84 8098DA54 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
|
||||||
/* 00A88 8098DA58 46062032 */ c.eq.s $f4, $f6
|
|
||||||
/* 00A8C 8098DA5C 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
|
|
||||||
/* 00A90 8098DA60 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
|
||||||
/* 00A94 8098DA64 00416024 */ and $t4, $v0, $at
|
|
||||||
/* 00A98 8098DA68 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
|
||||||
/* 00A9C 8098DA6C 030C3021 */ addu $a2, $t8, $t4
|
|
||||||
/* 00AA0 8098DA70 45010126 */ bc1t .L8098DF0C
|
|
||||||
/* 00AA4 8098DA74 00C13021 */ addu $a2, $a2, $at
|
|
||||||
/* 00AA8 8098DA78 3C01434A */ lui $at, 0x434A ## $at = 434A0000
|
|
||||||
/* 00AAC 8098DA7C 44815000 */ mtc1 $at, $f10 ## $f10 = 202.00
|
|
||||||
/* 00AB0 8098DA80 C52801E4 */ lwc1 $f8, 0x01E4($t1) ## 8098E358
|
|
||||||
/* 00AB4 8098DA84 3C0142FC */ lui $at, 0x42FC ## $at = 42FC0000
|
|
||||||
/* 00AB8 8098DA88 44813000 */ mtc1 $at, $f6 ## $f6 = 126.00
|
|
||||||
/* 00ABC 8098DA8C 460A4402 */ mul.s $f16, $f8, $f10
|
|
||||||
/* 00AC0 8098DA90 93AF00B0 */ lbu $t7, 0x00B0($sp)
|
|
||||||
/* 00AC4 8098DA94 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFF84
|
|
||||||
/* 00AC8 8098DA98 24C30020 */ addiu $v1, $a2, 0x0020 ## $v1 = 00000020
|
|
||||||
/* 00ACC 8098DA9C 008FC021 */ addu $t8, $a0, $t7
|
|
||||||
/* 00AD0 8098DAA0 27A200B2 */ addiu $v0, $sp, 0x00B2 ## $v0 = FFFFFF92
|
|
||||||
/* 00AD4 8098DAA4 27A50116 */ addiu $a1, $sp, 0x0116 ## $a1 = FFFFFFF6
|
|
||||||
/* 00AD8 8098DAA8 4600848D */ trunc.w.s $f18, $f16
|
|
||||||
/* 00ADC 8098DAAC 440B9000 */ mfc1 $t3, $f18
|
|
||||||
/* 00AE0 8098DAB0 00000000 */ nop
|
|
||||||
/* 00AE4 8098DAB4 A3AB00A6 */ sb $t3, 0x00A6($sp)
|
|
||||||
/* 00AE8 8098DAB8 C52401E4 */ lwc1 $f4, 0x01E4($t1) ## 8098E358
|
|
||||||
/* 00AEC 8098DABC A3A000A4 */ sb $zero, 0x00A4($sp)
|
|
||||||
/* 00AF0 8098DAC0 46062202 */ mul.s $f8, $f4, $f6
|
|
||||||
/* 00AF4 8098DAC4 4600428D */ trunc.w.s $f10, $f8
|
|
||||||
/* 00AF8 8098DAC8 440E5000 */ mfc1 $t6, $f10
|
|
||||||
/* 00AFC 8098DACC 00000000 */ nop
|
|
||||||
/* 00B00 8098DAD0 A3AE00A5 */ sb $t6, 0x00A5($sp)
|
|
||||||
/* 00B04 8098DAD4 930C0000 */ lbu $t4, 0x0000($t8) ## 80160000
|
|
||||||
/* 00B08 8098DAD8 A0CC000F */ sb $t4, 0x000F($a2) ## 0000000F
|
|
||||||
/* 00B0C 8098DADC 93A900B1 */ lbu $t1, 0x00B1($sp)
|
|
||||||
/* 00B10 8098DAE0 00895021 */ addu $t2, $a0, $t1
|
|
||||||
/* 00B14 8098DAE4 914B0000 */ lbu $t3, 0x0000($t2) ## 00000000
|
|
||||||
/* 00B18 8098DAE8 A0CB001F */ sb $t3, 0x001F($a2) ## 0000001F
|
|
||||||
.L8098DAEC:
|
|
||||||
/* 00B1C 8098DAEC 90590000 */ lbu $t9, 0x0000($v0) ## FFFFFF92
|
|
||||||
/* 00B20 8098DAF0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = FFFFFF96
|
|
||||||
/* 00B24 8098DAF4 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000060
|
|
||||||
/* 00B28 8098DAF8 00996821 */ addu $t5, $a0, $t9
|
|
||||||
/* 00B2C 8098DAFC 91AE0000 */ lbu $t6, 0x0000($t5) ## 00000000
|
|
||||||
/* 00B30 8098DB00 A06EFFCF */ sb $t6, -0x0031($v1) ## 0000002F
|
|
||||||
/* 00B34 8098DB04 904FFFFD */ lbu $t7, -0x0003($v0) ## FFFFFF93
|
|
||||||
/* 00B38 8098DB08 008FC021 */ addu $t8, $a0, $t7
|
|
||||||
/* 00B3C 8098DB0C 930C0000 */ lbu $t4, 0x0000($t8) ## 80160000
|
|
||||||
/* 00B40 8098DB10 A06CFFDF */ sb $t4, -0x0021($v1) ## 0000003F
|
|
||||||
/* 00B44 8098DB14 9049FFFE */ lbu $t1, -0x0002($v0) ## FFFFFF94
|
|
||||||
/* 00B48 8098DB18 00895021 */ addu $t2, $a0, $t1
|
|
||||||
/* 00B4C 8098DB1C 914B0000 */ lbu $t3, 0x0000($t2) ## 00000000
|
|
||||||
/* 00B50 8098DB20 A06BFFEF */ sb $t3, -0x0011($v1) ## 0000004F
|
|
||||||
/* 00B54 8098DB24 9059FFFF */ lbu $t9, -0x0001($v0) ## FFFFFF95
|
|
||||||
/* 00B58 8098DB28 00996821 */ addu $t5, $a0, $t9
|
|
||||||
/* 00B5C 8098DB2C 91AE0000 */ lbu $t6, 0x0000($t5) ## 00000000
|
|
||||||
/* 00B60 8098DB30 1445FFEE */ bne $v0, $a1, .L8098DAEC
|
|
||||||
/* 00B64 8098DB34 A06EFFFF */ sb $t6, -0x0001($v1) ## 0000005F
|
|
||||||
/* 00B68 8098DB38 8FAF0120 */ lw $t7, 0x0120($sp)
|
|
||||||
/* 00B6C 8098DB3C 8FAA0124 */ lw $t2, 0x0124($sp)
|
|
||||||
/* 00B70 8098DB40 3C068099 */ lui $a2, %hi(D_8098E204) ## $a2 = 80990000
|
|
||||||
/* 00B74 8098DB44 85F8001C */ lh $t8, 0x001C($t7) ## 0001001C
|
|
||||||
/* 00B78 8098DB48 24C6E204 */ addiu $a2, $a2, %lo(D_8098E204) ## $a2 = 8098E204
|
|
||||||
/* 00B7C 8098DB4C 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFF68
|
|
||||||
/* 00B80 8098DB50 00186080 */ sll $t4, $t8, 2
|
|
||||||
/* 00B84 8098DB54 01986023 */ subu $t4, $t4, $t8
|
|
||||||
/* 00B88 8098DB58 000C6040 */ sll $t4, $t4, 1
|
|
||||||
/* 00B8C 8098DB5C 2589FFFA */ addiu $t1, $t4, 0xFFFA ## $t1 = 8098E1C2
|
|
||||||
/* 00B90 8098DB60 AFA900AC */ sw $t1, 0x00AC($sp)
|
|
||||||
/* 00B94 8098DB64 8D450000 */ lw $a1, 0x0000($t2) ## 00000000
|
|
||||||
/* 00B98 8098DB68 24070278 */ addiu $a3, $zero, 0x0278 ## $a3 = 00000278
|
|
||||||
/* 00B9C 8098DB6C 0C031AB1 */ jal Graph_OpenDisps
|
|
||||||
/* 00BA0 8098DB70 00A08025 */ or $s0, $a1, $zero ## $s0 = FFFFFFF6
|
|
||||||
/* 00BA4 8098DB74 8FAB0124 */ lw $t3, 0x0124($sp)
|
|
||||||
/* 00BA8 8098DB78 0C024F61 */ jal func_80093D84
|
|
||||||
/* 00BAC 8098DB7C 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
|
|
||||||
/* 00BB0 8098DB80 0C034213 */ jal Matrix_Push
|
|
||||||
/* 00BB4 8098DB84 00000000 */ nop
|
|
||||||
/* 00BB8 8098DB88 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
|
||||||
/* 00BBC 8098DB8C 3C014496 */ lui $at, 0x4496 ## $at = 44960000
|
|
||||||
/* 00BC0 8098DB90 44817000 */ mtc1 $at, $f14 ## $f14 = 1200.00
|
|
||||||
/* 00BC4 8098DB94 44066000 */ mfc1 $a2, $f12
|
|
||||||
/* 00BC8 8098DB98 0C034261 */ jal Matrix_Translate
|
|
||||||
/* 00BCC 8098DB9C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00BD0 8098DBA0 8FB90120 */ lw $t9, 0x0120($sp)
|
|
||||||
/* 00BD4 8098DBA4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00BD8 8098DBA8 C72C01E8 */ lwc1 $f12, 0x01E8($t9) ## 000001E8
|
|
||||||
/* 00BDC 8098DBAC 44066000 */ mfc1 $a2, $f12
|
|
||||||
/* 00BE0 8098DBB0 0C0342A3 */ jal Matrix_Scale
|
|
||||||
/* 00BE4 8098DBB4 46006386 */ mov.s $f14, $f12
|
|
||||||
/* 00BE8 8098DBB8 3C01C496 */ lui $at, 0xC496 ## $at = C4960000
|
|
||||||
/* 00BEC 8098DBBC 44817000 */ mtc1 $at, $f14 ## $f14 = -1200.00
|
|
||||||
/* 00BF0 8098DBC0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
|
||||||
/* 00BF4 8098DBC4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
|
|
||||||
/* 00BF8 8098DBC8 0C034261 */ jal Matrix_Translate
|
|
||||||
/* 00BFC 8098DBCC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00C00 8098DBD0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00C04 8098DBD4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
|
|
||||||
/* 00C08 8098DBD8 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
|
|
||||||
/* 00C0C 8098DBDC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
|
||||||
/* 00C10 8098DBE0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00C14 8098DBE4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
|
||||||
/* 00C18 8098DBE8 8FAF0124 */ lw $t7, 0x0124($sp)
|
|
||||||
/* 00C1C 8098DBEC 3C058099 */ lui $a1, %hi(D_8098E218) ## $a1 = 80990000
|
|
||||||
/* 00C20 8098DBF0 24A5E218 */ addiu $a1, $a1, %lo(D_8098E218) ## $a1 = 8098E218
|
|
||||||
/* 00C24 8098DBF4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
|
||||||
/* 00C28 8098DBF8 2406027F */ addiu $a2, $zero, 0x027F ## $a2 = 0000027F
|
|
||||||
/* 00C2C 8098DBFC 0C0346A2 */ jal Matrix_NewMtx
|
|
||||||
/* 00C30 8098DC00 AFA20084 */ sw $v0, 0x0084($sp)
|
|
||||||
/* 00C34 8098DC04 8FA30084 */ lw $v1, 0x0084($sp)
|
|
||||||
/* 00C38 8098DC08 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
|
|
||||||
/* 00C3C 8098DC0C 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024
|
|
||||||
/* 00C40 8098DC10 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00C44 8098DC14 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00C48 8098DC18 8FA80118 */ lw $t0, 0x0118($sp)
|
|
||||||
/* 00C4C 8098DC1C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
|
|
||||||
/* 00C50 8098DC20 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
|
||||||
/* 00C54 8098DC24 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00C58 8098DC28 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
|
||||||
/* 00C5C 8098DC2C 8FA90124 */ lw $t1, 0x0124($sp)
|
|
||||||
/* 00C60 8098DC30 00080823 */ subu $at, $zero, $t0
|
|
||||||
/* 00C64 8098DC34 00013880 */ sll $a3, $at, 2
|
|
||||||
/* 00C68 8098DC38 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
|
|
||||||
/* 00C6C 8098DC3C 00E13821 */ addu $a3, $a3, $at
|
|
||||||
/* 00C70 8098DC40 00083080 */ sll $a2, $t0, 2
|
|
||||||
/* 00C74 8098DC44 00073840 */ sll $a3, $a3, 1
|
|
||||||
/* 00C78 8098DC48 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
|
||||||
/* 00C7C 8098DC4C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
|
||||||
/* 00C80 8098DC50 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
|
|
||||||
/* 00C84 8098DC54 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020
|
|
||||||
/* 00C88 8098DC58 00C83021 */ addu $a2, $a2, $t0
|
|
||||||
/* 00C8C 8098DC5C AFA6001C */ sw $a2, 0x001C($sp)
|
|
||||||
/* 00C90 8098DC60 AFA60050 */ sw $a2, 0x0050($sp)
|
|
||||||
/* 00C94 8098DC64 AFAE0028 */ sw $t6, 0x0028($sp)
|
|
||||||
/* 00C98 8098DC68 AFAD0024 */ sw $t5, 0x0024($sp)
|
|
||||||
/* 00C9C 8098DC6C AFB90018 */ sw $t9, 0x0018($sp)
|
|
||||||
/* 00CA0 8098DC70 AFAB0014 */ sw $t3, 0x0014($sp)
|
|
||||||
/* 00CA4 8098DC74 AFA70020 */ sw $a3, 0x0020($sp)
|
|
||||||
/* 00CA8 8098DC78 AFA7004C */ sw $a3, 0x004C($sp)
|
|
||||||
/* 00CAC 8098DC7C AFAA0010 */ sw $t2, 0x0010($sp)
|
|
||||||
/* 00CB0 8098DC80 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
|
||||||
/* 00CB4 8098DC84 0C0253D0 */ jal Gfx_TwoTexScroll
|
|
||||||
/* 00CB8 8098DC88 AFA20080 */ sw $v0, 0x0080($sp)
|
|
||||||
/* 00CBC 8098DC8C 8FA30080 */ lw $v1, 0x0080($sp)
|
|
||||||
/* 00CC0 8098DC90 3C0C0600 */ lui $t4, %hi(D_06005CB0) ## $t4 = 06000000
|
|
||||||
/* 00CC4 8098DC94 258C5CB0 */ addiu $t4, $t4, %lo(D_06005CB0) ## $t4 = 06005CB0
|
|
||||||
/* 00CC8 8098DC98 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00CCC 8098DC9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00CD0 8098DCA0 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
|
|
||||||
/* 00CD4 8098DCA4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
|
||||||
/* 00CD8 8098DCA8 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00CDC 8098DCAC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
|
||||||
/* 00CE0 8098DCB0 0C034221 */ jal Matrix_Pull
|
|
||||||
/* 00CE4 8098DCB4 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
|
||||||
/* 00CE8 8098DCB8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00CEC 8098DCBC 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
|
|
||||||
/* 00CF0 8098DCC0 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
|
|
||||||
/* 00CF4 8098DCC4 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
|
||||||
/* 00CF8 8098DCC8 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00CFC 8098DCCC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
|
||||||
/* 00D00 8098DCD0 8FAB0124 */ lw $t3, 0x0124($sp)
|
|
||||||
/* 00D04 8098DCD4 3C058099 */ lui $a1, %hi(D_8098E22C) ## $a1 = 80990000
|
|
||||||
/* 00D08 8098DCD8 24A5E22C */ addiu $a1, $a1, %lo(D_8098E22C) ## $a1 = 8098E22C
|
|
||||||
/* 00D0C 8098DCDC 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
|
|
||||||
/* 00D10 8098DCE0 24060290 */ addiu $a2, $zero, 0x0290 ## $a2 = 00000290
|
|
||||||
/* 00D14 8098DCE4 0C0346A2 */ jal Matrix_NewMtx
|
|
||||||
/* 00D18 8098DCE8 AFA20078 */ sw $v0, 0x0078($sp)
|
|
||||||
/* 00D1C 8098DCEC 8FA30078 */ lw $v1, 0x0078($sp)
|
|
||||||
/* 00D20 8098DCF0 3C0DE700 */ lui $t5, 0xE700 ## $t5 = E7000000
|
|
||||||
/* 00D24 8098DCF4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
|
|
||||||
/* 00D28 8098DCF8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00D2C 8098DCFC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D30 8098DD00 3C183200 */ lui $t8, 0x3200 ## $t8 = 32000000
|
|
||||||
/* 00D34 8098DD04 371864FF */ ori $t8, $t8, 0x64FF ## $t8 = 320064FF
|
|
||||||
/* 00D38 8098DD08 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
|
||||||
/* 00D3C 8098DD0C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D40 8098DD10 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
|
||||||
/* 00D44 8098DD14 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
|
||||||
/* 00D48 8098DD18 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D4C 8098DD1C 35EF0080 */ ori $t7, $t7, 0x0080 ## $t7 = FA000080
|
|
||||||
/* 00D50 8098DD20 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
|
|
||||||
/* 00D54 8098DD24 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
|
||||||
/* 00D58 8098DD28 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D5C 8098DD2C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
|
||||||
/* 00D60 8098DD30 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
|
||||||
/* 00D64 8098DD34 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D68 8098DD38 35290028 */ ori $t1, $t1, 0x0028 ## $t1 = DB060028
|
|
||||||
/* 00D6C 8098DD3C 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
|
|
||||||
/* 00D70 8098DD40 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
|
||||||
/* 00D74 8098DD44 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00D78 8098DD48 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
|
||||||
/* 00D7C 8098DD4C 8FAA0124 */ lw $t2, 0x0124($sp)
|
|
||||||
/* 00D80 8098DD50 8FAE0118 */ lw $t6, 0x0118($sp)
|
|
||||||
/* 00D84 8098DD54 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
|
|
||||||
/* 00D88 8098DD58 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
|
|
||||||
/* 00D8C 8098DD5C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
|
||||||
/* 00D90 8098DD60 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020
|
|
||||||
/* 00D94 8098DD64 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
|
||||||
/* 00D98 8098DD68 AFAB0010 */ sw $t3, 0x0010($sp)
|
|
||||||
/* 00D9C 8098DD6C AFB90014 */ sw $t9, 0x0014($sp)
|
|
||||||
/* 00DA0 8098DD70 AFAD0018 */ sw $t5, 0x0018($sp)
|
|
||||||
/* 00DA4 8098DD74 AFB80028 */ sw $t8, 0x0028($sp)
|
|
||||||
/* 00DA8 8098DD78 AFAF0024 */ sw $t7, 0x0024($sp)
|
|
||||||
/* 00DAC 8098DD7C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
|
||||||
/* 00DB0 8098DD80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
|
||||||
/* 00DB4 8098DD84 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
|
||||||
/* 00DB8 8098DD88 AFA2006C */ sw $v0, 0x006C($sp)
|
|
||||||
/* 00DBC 8098DD8C AFAE0020 */ sw $t6, 0x0020($sp)
|
|
||||||
/* 00DC0 8098DD90 0C0253D0 */ jal Gfx_TwoTexScroll
|
|
||||||
/* 00DC4 8098DD94 AFAE001C */ sw $t6, 0x001C($sp)
|
|
||||||
/* 00DC8 8098DD98 8FA3006C */ lw $v1, 0x006C($sp)
|
|
||||||
/* 00DCC 8098DD9C 3C0A0600 */ lui $t2, %hi(D_06004F00) ## $t2 = 06000000
|
|
||||||
/* 00DD0 8098DDA0 254A4F00 */ addiu $t2, $t2, %lo(D_06004F00) ## $t2 = 06004F00
|
|
||||||
/* 00DD4 8098DDA4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00DD8 8098DDA8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00DDC 8098DDAC 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
|
|
||||||
/* 00DE0 8098DDB0 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000
|
|
||||||
/* 00DE4 8098DDB4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
|
||||||
/* 00DE8 8098DDB8 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00DEC 8098DDBC AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
|
||||||
/* 00DF0 8098DDC0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
|
|
||||||
/* 00DF4 8098DDC4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00DF8 8098DDC8 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000
|
|
||||||
/* 00DFC 8098DDCC 35CE0080 */ ori $t6, $t6, 0x0080 ## $t6 = FA000080
|
|
||||||
/* 00E00 8098DDD0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
|
||||||
/* 00E04 8098DDD4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E08 8098DDD8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
|
||||||
/* 00E0C 8098DDDC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
|
||||||
/* 00E10 8098DDE0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E14 8098DDE4 3C188099 */ lui $t8, %hi(D_8098E0DC) ## $t8 = 80990000
|
|
||||||
/* 00E18 8098DDE8 2718E0DC */ addiu $t8, $t8, %lo(D_8098E0DC) ## $t8 = 8098E0DC
|
|
||||||
/* 00E1C 8098DDEC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
|
||||||
/* 00E20 8098DDF0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E24 8098DDF4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
|
||||||
/* 00E28 8098DDF8 8FAF00AC */ lw $t7, 0x00AC($sp)
|
|
||||||
/* 00E2C 8098DDFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
|
||||||
/* 00E30 8098DE00 01F81821 */ addu $v1, $t7, $t8
|
|
||||||
/* 00E34 8098DE04 90690002 */ lbu $t1, 0x0002($v1) ## 00000002
|
|
||||||
/* 00E38 8098DE08 90790000 */ lbu $t9, 0x0000($v1) ## 00000000
|
|
||||||
/* 00E3C 8098DE0C 90780001 */ lbu $t8, 0x0001($v1) ## 00000001
|
|
||||||
/* 00E40 8098DE10 00095200 */ sll $t2, $t1, 8
|
|
||||||
/* 00E44 8098DE14 00196E00 */ sll $t5, $t9, 24
|
|
||||||
/* 00E48 8098DE18 014D7025 */ or $t6, $t2, $t5 ## $t6 = 06004F08
|
|
||||||
/* 00E4C 8098DE1C 00186400 */ sll $t4, $t8, 16
|
|
||||||
/* 00E50 8098DE20 01CC4825 */ or $t1, $t6, $t4 ## $t1 = 06004F08
|
|
||||||
/* 00E54 8098DE24 352B00FF */ ori $t3, $t1, 0x00FF ## $t3 = 06004FFF
|
|
||||||
/* 00E58 8098DE28 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
|
||||||
/* 00E5C 8098DE2C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E60 8098DE30 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
|
|
||||||
/* 00E64 8098DE34 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
|
||||||
/* 00E68 8098DE38 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E6C 8098DE3C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
|
||||||
/* 00E70 8098DE40 906C0003 */ lbu $t4, 0x0003($v1) ## 00000003
|
|
||||||
/* 00E74 8098DE44 906F0005 */ lbu $t7, 0x0005($v1) ## 00000005
|
|
||||||
/* 00E78 8098DE48 906A0004 */ lbu $t2, 0x0004($v1) ## 00000004
|
|
||||||
/* 00E7C 8098DE4C 000C4E00 */ sll $t1, $t4, 24
|
|
||||||
/* 00E80 8098DE50 000FC200 */ sll $t8, $t7, 8
|
|
||||||
/* 00E84 8098DE54 03095825 */ or $t3, $t8, $t1 ## $t3 = 8698EFDC
|
|
||||||
/* 00E88 8098DE58 000A6C00 */ sll $t5, $t2, 16
|
|
||||||
/* 00E8C 8098DE5C 016D7825 */ or $t7, $t3, $t5 ## $t7 = 8698EFDC
|
|
||||||
/* 00E90 8098DE60 35EE0080 */ ori $t6, $t7, 0x0080 ## $t6 = 8698EFDC
|
|
||||||
/* 00E94 8098DE64 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
|
||||||
/* 00E98 8098DE68 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00E9C 8098DE6C 8FA7004C */ lw $a3, 0x004C($sp)
|
|
||||||
/* 00EA0 8098DE70 8FA60050 */ lw $a2, 0x0050($sp)
|
|
||||||
/* 00EA4 8098DE74 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
|
|
||||||
/* 00EA8 8098DE78 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
|
||||||
/* 00EAC 8098DE7C AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00EB0 8098DE80 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
|
|
||||||
/* 00EB4 8098DE84 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
|
||||||
/* 00EB8 8098DE88 8FA90124 */ lw $t1, 0x0124($sp)
|
|
||||||
/* 00EBC 8098DE8C 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040
|
|
||||||
/* 00EC0 8098DE90 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
|
|
||||||
/* 00EC4 8098DE94 8D240000 */ lw $a0, 0x0000($t1) ## 06004F08
|
|
||||||
/* 00EC8 8098DE98 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
|
||||||
/* 00ECC 8098DE9C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
|
|
||||||
/* 00ED0 8098DEA0 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020
|
|
||||||
/* 00ED4 8098DEA4 AFB90010 */ sw $t9, 0x0010($sp)
|
|
||||||
/* 00ED8 8098DEA8 AFAA0014 */ sw $t2, 0x0014($sp)
|
|
||||||
/* 00EDC 8098DEAC AFAB0018 */ sw $t3, 0x0018($sp)
|
|
||||||
/* 00EE0 8098DEB0 AFAF0028 */ sw $t7, 0x0028($sp)
|
|
||||||
/* 00EE4 8098DEB4 AFAD0024 */ sw $t5, 0x0024($sp)
|
|
||||||
/* 00EE8 8098DEB8 AFA20058 */ sw $v0, 0x0058($sp)
|
|
||||||
/* 00EEC 8098DEBC AFA70020 */ sw $a3, 0x0020($sp)
|
|
||||||
/* 00EF0 8098DEC0 0C0253D0 */ jal Gfx_TwoTexScroll
|
|
||||||
/* 00EF4 8098DEC4 AFA6001C */ sw $a2, 0x001C($sp)
|
|
||||||
/* 00EF8 8098DEC8 8FA30058 */ lw $v1, 0x0058($sp)
|
|
||||||
/* 00EFC 8098DECC 3C180600 */ lui $t8, %hi(D_06005A30) ## $t8 = 06000000
|
|
||||||
/* 00F00 8098DED0 27185A30 */ addiu $t8, $t8, %lo(D_06005A30) ## $t8 = 06005A30
|
|
||||||
/* 00F04 8098DED4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00F08 8098DED8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00F0C 8098DEDC 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
|
|
||||||
/* 00F10 8098DEE0 3C068099 */ lui $a2, %hi(D_8098E240) ## $a2 = 80990000
|
|
||||||
/* 00F14 8098DEE4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
|
||||||
/* 00F18 8098DEE8 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002C6
|
|
||||||
/* 00F1C 8098DEEC AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
|
||||||
/* 00F20 8098DEF0 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
|
||||||
/* 00F24 8098DEF4 8FA90124 */ lw $t1, 0x0124($sp)
|
|
||||||
/* 00F28 8098DEF8 24C6E240 */ addiu $a2, $a2, %lo(D_8098E240) ## $a2 = 8098E240
|
|
||||||
/* 00F2C 8098DEFC 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFF68
|
|
||||||
/* 00F30 8098DF00 240702B8 */ addiu $a3, $zero, 0x02B8 ## $a3 = 000002B8
|
|
||||||
/* 00F34 8098DF04 0C031AD5 */ jal Graph_CloseDisps
|
|
||||||
/* 00F38 8098DF08 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
|
|
||||||
.L8098DF0C:
|
|
||||||
/* 00F3C 8098DF0C 8FBF003C */ lw $ra, 0x003C($sp)
|
|
||||||
/* 00F40 8098DF10 8FB00038 */ lw $s0, 0x0038($sp)
|
|
||||||
/* 00F44 8098DF14 27BD0120 */ addiu $sp, $sp, 0x0120 ## $sp = 00000000
|
|
||||||
/* 00F48 8098DF18 03E00008 */ jr $ra
|
|
||||||
/* 00F4C 8098DF1C 00000000 */ nop
|
|
|
@ -135,8 +135,8 @@ glabel func_80BA54AC
|
||||||
.L80BA5660:
|
.L80BA5660:
|
||||||
/* 02BC0 80BA5660 02770019 */ multu $s3, $s7
|
/* 02BC0 80BA5660 02770019 */ multu $s3, $s7
|
||||||
/* 02BC4 80BA5664 00138080 */ sll $s0, $s3, 2
|
/* 02BC4 80BA5664 00138080 */ sll $s0, $s3, 2
|
||||||
/* 02BC8 80BA5668 3C150600 */ lui $s5, %hi(D_06005FF0) ## $s5 = 06000000
|
/* 02BC8 80BA5668 3C150600 */ lui $s5, %hi(gDemoKekkaiDL_005FF0) ## $s5 = 06000000
|
||||||
/* 02BCC 80BA566C 26B55FF0 */ addiu $s5, $s5, %lo(D_06005FF0) ## $s5 = 06005FF0
|
/* 02BCC 80BA566C 26B55FF0 */ addiu $s5, $s5, %lo(gDemoKekkaiDL_005FF0) ## $s5 = 06005FF0
|
||||||
/* 02BD0 80BA5670 03B0C021 */ addu $t8, $sp, $s0
|
/* 02BD0 80BA5670 03B0C021 */ addu $t8, $sp, $s0
|
||||||
/* 02BD4 80BA5674 03B0C821 */ addu $t9, $sp, $s0
|
/* 02BD4 80BA5674 03B0C821 */ addu $t9, $sp, $s0
|
||||||
/* 02BD8 80BA5678 03B04021 */ addu $t0, $sp, $s0
|
/* 02BD8 80BA5678 03B04021 */ addu $t0, $sp, $s0
|
||||||
|
|
41
assets/xml/objects/object_demo_kekkai.xml
Normal file
41
assets/xml/objects/object_demo_kekkai.xml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<Root>
|
||||||
|
<File Name="object_demo_kekkai" Segment="6">
|
||||||
|
<!-- Demo_Kekkai -->
|
||||||
|
<DList Name="gTowerBarrierDL" Offset="0x4930"/>
|
||||||
|
<DList Name="gTrialBarrierFloorDL" Offset="0x4F00"/>
|
||||||
|
<Array Name="gTrialBarrierEnergyVtx" Count="102" Offset="0x4FD0">
|
||||||
|
<Vtx/>
|
||||||
|
</Array>
|
||||||
|
<DList Name="gTrialBarrierEnergyDL" Offset="0x5A30"/>
|
||||||
|
<DList Name="gTrialBarrierOrbDL" Offset="0x5CB0"/>
|
||||||
|
|
||||||
|
<!-- Bg_Gnd_Darkmeiro -->
|
||||||
|
<DList Name="gShadowTrialPathDL" Offset="0x88B0"/>
|
||||||
|
<DList Name="gClearBlockDL" Offset="0xBEC0"/>
|
||||||
|
<Collision Name="gClearBlockCol" Offset="0xC080"/>
|
||||||
|
|
||||||
|
<!-- Bg_Gnd_Firemeiro -->
|
||||||
|
<DList Name="gFireTrialPlatformDL" Offset="0xE210"/>
|
||||||
|
<Collision Name="gFireTrialPlatformCol" Offset="0xECD8"/>
|
||||||
|
|
||||||
|
<!-- Bg_Gnd_Iceblock -->
|
||||||
|
<DList Name="gWaterTrialIceBlockDL" Offset="0x4420"/>
|
||||||
|
<Collision Name="gWaterTrialIceBlockCol" Offset="0x4618"/>
|
||||||
|
|
||||||
|
<!-- Bg_Gnd_Nisekabe -->
|
||||||
|
<DList Name="gLightTrialFakeWallDL" Offset="0x9230"/>
|
||||||
|
<DList Name="gGanonsCastleUnusedFakeWallDL" Offset="0xA390"/>
|
||||||
|
<DList Name="gGanonsCastleScrubsFakeWallDL" Offset="0xB4A0"/>
|
||||||
|
|
||||||
|
<!-- Bg_Gnd_Soulmeiro -->
|
||||||
|
<DList Name="gSpiritTrialWebDL" Offset="0x7C00"/>
|
||||||
|
<DList Name="gSpiritTrialLightSourceDL" Offset="0x2320"/>
|
||||||
|
<DList Name="gSpiritTrialLightFloorDL" Offset="0x35A0"/>
|
||||||
|
|
||||||
|
<!-- Object_Kankyo -->
|
||||||
|
<DList Name="gDemoKekkaiDL_005FF0" Offset="0x5FF0"/>
|
||||||
|
|
||||||
|
<!-- Door_Shutter -->
|
||||||
|
<DList Name="gGanonsCastleDoorDL" Offset="0x20D0"/>
|
||||||
|
</File>
|
||||||
|
</Root>
|
|
@ -1,6 +1,22 @@
|
||||||
<Root>
|
<Root>
|
||||||
<File Name="ganontika_scene">
|
<File Name="ganontika_scene">
|
||||||
<Scene Name="ganontika_scene"/>
|
<Scene Name="ganontika_scene">
|
||||||
|
<CutsceneHint Name="gForestTrialSageCs" Offset="0x19EE0"/>
|
||||||
|
<CutsceneHint Name="gWaterTrialSageCs" Offset="0x1A8E0"/>
|
||||||
|
<CutsceneHint Name="gShadowTrialSageCs" Offset="0x1B2B0"/>
|
||||||
|
<CutsceneHint Name="gFireTrialSageCs" Offset="0x1BC80"/>
|
||||||
|
<CutsceneHint Name="gLightTrialSageCs" Offset="0x1C6B0"/>
|
||||||
|
<CutsceneHint Name="gSpiritTrialSageCs" Offset="0x1D080"/>
|
||||||
|
|
||||||
|
<CutsceneHint Name="gTowerBarrierCs" Offset="0x1DA50"/>
|
||||||
|
|
||||||
|
<CutsceneHint Name="gLightBarrierCs" Offset="0x1DF90"/>
|
||||||
|
<CutsceneHint Name="gFireBarrierCs" Offset="0x1E3E0"/>
|
||||||
|
<CutsceneHint Name="gForestBarrierCs" Offset="0x1E790"/>
|
||||||
|
<CutsceneHint Name="gSpiritBarrierCs" Offset="0x1EB40"/>
|
||||||
|
<CutsceneHint Name="gWaterBarrierCs" Offset="0x1EF70"/>
|
||||||
|
<CutsceneHint Name="gShadowBarrierCs" Offset="0x21380"/>
|
||||||
|
</Scene>
|
||||||
</File>
|
</File>
|
||||||
<File Name="ganontika_room_0">
|
<File Name="ganontika_room_0">
|
||||||
<Room Name="ganontika_room_0"/>
|
<Room Name="ganontika_room_0"/>
|
||||||
|
|
|
@ -1,42 +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 Demo_Kekkai_InitVars
|
|
||||||
.word 0x01A70700, 0x00000030, 0x01790000, 0x000001FC
|
|
||||||
.word DemoKekkai_Init
|
|
||||||
.word DemoKekkai_Destroy
|
|
||||||
.word DemoKekkai_Update
|
|
||||||
.word DemoKekkai_Draw
|
|
||||||
glabel D_8098E0B0
|
|
||||||
.word 0x0A110939, 0x10010000, 0x00000000, 0x20000000, 0x07040000, 0x00002000, 0x00000000, 0x01010100, 0x02A800DC, 0x00780000, 0x00000000
|
|
||||||
glabel D_8098E0DC
|
|
||||||
.word 0xAAFFFF00, 0x32FFFFFF, 0xAAC8FF00, 0xFFFFAAC8, 0x0000FFAA, 0xFF6400C8, 0xFFFFAAFF, 0x7800FFFF, 0xAA00C800
|
|
||||||
glabel D_8098E100
|
|
||||||
.word 0x000000C3, 0x000000BC, 0x000000BF, 0x000000BE, 0x000000BD, 0x000000AD, 0x000000BB
|
|
||||||
glabel D_8098E11C
|
|
||||||
.word 0x00000000
|
|
||||||
glabel D_8098E120
|
|
||||||
.word 0x00000000
|
|
||||||
glabel D_8098E124
|
|
||||||
.word 0x00000000
|
|
||||||
glabel D_8098E128
|
|
||||||
.word 0x00000000, 0x00000000, 0x00000000
|
|
||||||
glabel D_8098E134
|
|
||||||
.word 0xFFFFAA00
|
|
||||||
glabel D_8098E138
|
|
||||||
.word 0xC8000000
|
|
||||||
glabel D_8098E13C
|
|
||||||
.word 0x00000118, 0x01180118, 0x01180118, 0x01180000
|
|
||||||
glabel D_8098E14C
|
|
||||||
.word 0x00000000, 0x0201A8E0, 0x0201C6B0, 0x0201BC80, 0x0201B2B0, 0x0201D080, 0x02019EE0
|
|
||||||
glabel D_8098E168
|
|
||||||
.word 0x01010000, 0x02020202, 0x02020202, 0x02020202, 0x01010000, 0x00010202, 0x02020202, 0x01000001, 0x02020101, 0x02020202, 0x02020202, 0x02020101, 0x00000001, 0x01000202, 0x02020202, 0x02020202, 0x02020202, 0x01010000, 0x00010100, 0x02020202, 0x02020202, 0x02020100, 0x01000202, 0x02020202, 0x02010102, 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_8098E2D0
|
|
||||||
.incbin "baserom/ovl_Demo_Kekkai", 0x1300, 0x00000190
|
|
|
@ -947,7 +947,7 @@ void func_80074CE8(GlobalContext* globalCtx, s32 arg1);
|
||||||
// ? func_80074D6C(?);
|
// ? func_80074D6C(?);
|
||||||
// ? func_80074FF4(?);
|
// ? func_80074FF4(?);
|
||||||
// ? func_800750C0(?);
|
// ? func_800750C0(?);
|
||||||
// ? func_800753C4(?);
|
void func_800753C4(GlobalContext* globalCtx, u8 arg1);
|
||||||
// ? func_8007542C(?);
|
// ? func_8007542C(?);
|
||||||
// ? func_800758AC(?);
|
// ? func_800758AC(?);
|
||||||
// ? func_80075B44(?);
|
// ? func_80075B44(?);
|
||||||
|
@ -2205,7 +2205,7 @@ void func_800ED858(u8);
|
||||||
// ? func_800EE57C(?);
|
// ? func_800EE57C(?);
|
||||||
// ? func_800EE5EC(?);
|
// ? func_800EE5EC(?);
|
||||||
// ? func_800EE6F4(?);
|
// ? func_800EE6F4(?);
|
||||||
// ? func_800EE824(?);
|
void func_800EE824(CutsceneContext* csCtx);
|
||||||
// ? func_800EE930(?);
|
// ? func_800EE930(?);
|
||||||
// ? func_800EE97C(?);
|
// ? func_800EE97C(?);
|
||||||
// ? func_800EE9D0(?);
|
// ? func_800EE9D0(?);
|
||||||
|
@ -2284,7 +2284,7 @@ void func_800F6AB0(u8);
|
||||||
// ? func_800F6BB8(?);
|
// ? func_800F6BB8(?);
|
||||||
void func_800F6C14();
|
void func_800F6C14();
|
||||||
// ? func_800F6C34(?);
|
// ? func_800F6C34(?);
|
||||||
// ? func_800F6D58(?);
|
void func_800F6D58(u8, u8, u8);
|
||||||
// ? func_800F6E7C(?);
|
// ? func_800F6E7C(?);
|
||||||
// ? func_800F6FB4(?);
|
// ? func_800F6FB4(?);
|
||||||
void func_800F70F8();
|
void func_800F70F8();
|
||||||
|
|
|
@ -24,7 +24,6 @@ extern u8 D_020035C0[][0x40];
|
||||||
extern u8 D_020038C0[];
|
extern u8 D_020038C0[];
|
||||||
extern u8 D_02003940[];
|
extern u8 D_02003940[];
|
||||||
extern u8 D_02003AC0[];
|
extern u8 D_02003AC0[];
|
||||||
extern u32 D_0201DA50;
|
|
||||||
extern u32 D_0300AA48;
|
extern u32 D_0300AA48;
|
||||||
extern u32 D_03012B20;
|
extern u32 D_03012B20;
|
||||||
//extern ? D_0500CA70;
|
//extern ? D_0500CA70;
|
||||||
|
|
6
spec
6
spec
|
@ -1543,8 +1543,7 @@ endseg
|
||||||
beginseg
|
beginseg
|
||||||
name "ovl_Demo_Kekkai"
|
name "ovl_Demo_Kekkai"
|
||||||
include "build/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.o"
|
include "build/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.o"
|
||||||
include "build/data/overlays/actors/z_demo_kekkai.data.o"
|
include "build/src/overlays/actors/ovl_Demo_Kekkai/ovl_Demo_Kekkai_reloc.o"
|
||||||
include "build/data/overlays/actors/z_demo_kekkai.reloc.o"
|
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
@ -5657,7 +5656,8 @@ endseg
|
||||||
beginseg
|
beginseg
|
||||||
name "object_demo_kekkai"
|
name "object_demo_kekkai"
|
||||||
romalign 0x1000
|
romalign 0x1000
|
||||||
include "build/baserom/object_demo_kekkai.o"
|
include "build/assets/objects/object_demo_kekkai/object_demo_kekkai.o"
|
||||||
|
number 6
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "z64camera.h"
|
#include "z64camera.h"
|
||||||
|
#include "scenes/dungeons/ganontika/ganontika_scene.h"
|
||||||
|
|
||||||
u16 D_8011E1C0 = 0;
|
u16 D_8011E1C0 = 0;
|
||||||
u16 D_8011E1C4 = 0;
|
u16 D_8011E1C4 = 0;
|
||||||
|
@ -25,22 +26,22 @@ u8 sTitleCsState = 0;
|
||||||
|
|
||||||
// TODO: use symbols for these cutscene locations once scenes and rooms are in C
|
// TODO: use symbols for these cutscene locations once scenes and rooms are in C
|
||||||
EntranceCutscene sEntranceCutsceneTable[] = {
|
EntranceCutscene sEntranceCutsceneTable[] = {
|
||||||
{ 0x0185, 2, 0xA0, 0x02013AA0 }, { 0x013D, 2, 0xA1, 0x02007EA0 }, { 0x00DB, 2, 0xA3, 0x0200A540 },
|
{ 0x0185, 2, 0xA0, 0x02013AA0 }, { 0x013D, 2, 0xA1, 0x02007EA0 }, { 0x00DB, 2, 0xA3, 0x0200A540 },
|
||||||
{ 0x0108, 2, 0xA4, 0x02003D70 }, { 0x0138, 1, 0xA5, 0x02003F40 }, { 0x014D, 2, 0xA6, 0x02008400 },
|
{ 0x0108, 2, 0xA4, 0x02003D70 }, { 0x0138, 1, 0xA5, 0x02003F40 }, { 0x014D, 2, 0xA6, 0x02008400 },
|
||||||
{ 0x0053, 2, 0xA7, 0x0200CE00 }, { 0x0000, 2, 0xA8, 0x0200B650 }, { 0x028A, 0, 0x18, 0x0200F9E0 },
|
{ 0x0053, 2, 0xA7, 0x0200CE00 }, { 0x0000, 2, 0xA8, 0x0200B650 }, { 0x028A, 0, 0x18, 0x0200F9E0 },
|
||||||
{ 0x0292, 0, 0x18, 0x0200FF00 }, { 0x028E, 0, 0x18, 0x02010550 }, { 0x0476, 0, 0x18, 0x02010B30 },
|
{ 0x0292, 0, 0x18, 0x0200FF00 }, { 0x028E, 0, 0x18, 0x02010550 }, { 0x0476, 0, 0x18, 0x02010B30 },
|
||||||
{ 0x050F, 1, 0xA9, 0x0200BB80 }, { 0x0102, 2, 0xB1, 0x02007A30 }, { 0x0117, 2, 0xB2, 0x020031E0 },
|
{ 0x050F, 1, 0xA9, 0x0200BB80 }, { 0x0102, 2, 0xB1, 0x02007A30 }, { 0x0117, 2, 0xB2, 0x020031E0 },
|
||||||
{ 0x0129, 2, 0xB3, 0x02006490 }, { 0x0157, 2, 0xB4, 0x02005BD0 }, { 0x0028, 2, 0xB5, 0x02015600 },
|
{ 0x0129, 2, 0xB3, 0x02006490 }, { 0x0157, 2, 0xB4, 0x02005BD0 }, { 0x0028, 2, 0xB5, 0x02015600 },
|
||||||
{ 0x00E4, 2, 0xB6, 0x020070C0 }, { 0x0225, 2, 0xB7, 0x02004A80 }, { 0x0123, 2, 0xB8, 0x02007990 },
|
{ 0x00E4, 2, 0xB6, 0x020070C0 }, { 0x0225, 2, 0xB7, 0x02004A80 }, { 0x0123, 2, 0xB8, 0x02007990 },
|
||||||
{ 0x0147, 2, 0xB9, 0x020076D0 }, { 0x0138, 0, 0xBA, 0x02004280 }, { 0x0574, 2, 0x5A, 0x020028E0 },
|
{ 0x0147, 2, 0xB9, 0x020076D0 }, { 0x0138, 0, 0xBA, 0x02004280 }, { 0x0574, 2, 0x5A, 0x020028E0 },
|
||||||
{ 0x0538, 2, 0xBB, 0x0201E790 }, { 0x053C, 2, 0xBC, 0x0201EF70 }, { 0x0540, 2, 0xBD, 0x02021380 },
|
{ 0x0538, 2, 0xBB, gForestBarrierCs }, { 0x053C, 2, 0xBC, gWaterBarrierCs }, { 0x0540, 2, 0xBD, gShadowBarrierCs },
|
||||||
{ 0x0544, 2, 0xBE, 0x0201E3E0 }, { 0x0548, 2, 0xBF, 0x0201DF90 }, { 0x054C, 2, 0xAD, 0x0201EB40 },
|
{ 0x0544, 2, 0xBE, gFireBarrierCs }, { 0x0548, 2, 0xBF, gLightBarrierCs }, { 0x054C, 2, 0xAD, gSpiritBarrierCs },
|
||||||
{ 0x008D, 0, 0xC0, 0x02002BB0 }, { 0x03B4, 0, 0xC7, 0x020055C0 }, { 0x0246, 2, 0xB9, 0x020076D0 },
|
{ 0x008D, 0, 0xC0, 0x02002BB0 }, { 0x03B4, 0, 0xC7, 0x020055C0 }, { 0x0246, 2, 0xB9, 0x020076D0 },
|
||||||
{ 0x05E8, 2, 0xC6, 0x0200C9D0 },
|
{ 0x05E8, 2, 0xC6, 0x0200C9D0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
// Unused, seems to be an early list of dungeon entrance cutscene locations
|
// Unused, seems to be an early list of dungeon entrance cutscene locations
|
||||||
u32 D_8011E304[] = { 0x0200B650, 0x02015600, 0x02014F80, 0x02003F80, 0x02000330, 0x0201DA50 };
|
u32 D_8011E304[] = { 0x0200B650, 0x02015600, 0x02014F80, 0x02003F80, 0x02000330, gTowerBarrierCs };
|
||||||
|
|
||||||
u16 D_8015FCC0;
|
u16 D_8015FCC0;
|
||||||
u16 D_8015FCC2;
|
u16 D_8015FCC2;
|
||||||
|
@ -164,7 +165,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
||||||
|
|
||||||
sp3F = 0;
|
sp3F = 0;
|
||||||
|
|
||||||
if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame)) {
|
if ((csCtx->frames < cmd->startFrame) || ((csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1123,7 +1124,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
case 113:
|
case 113:
|
||||||
if (Flags_GetEventChkInf(0xBB) && Flags_GetEventChkInf(0xBC) && Flags_GetEventChkInf(0xBD) &&
|
if (Flags_GetEventChkInf(0xBB) && Flags_GetEventChkInf(0xBC) && Flags_GetEventChkInf(0xBD) &&
|
||||||
Flags_GetEventChkInf(0xBE) && Flags_GetEventChkInf(0xBF) && Flags_GetEventChkInf(0xAD)) {
|
Flags_GetEventChkInf(0xBE) && Flags_GetEventChkInf(0xBF) && Flags_GetEventChkInf(0xAD)) {
|
||||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0201DA50);
|
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTowerBarrierCs);
|
||||||
globalCtx->csCtx.frames = 0;
|
globalCtx->csCtx.frames = 0;
|
||||||
gSaveContext.cutsceneTrigger = 1;
|
gSaveContext.cutsceneTrigger = 1;
|
||||||
gSaveContext.cutsceneIndex = 0xFFFF;
|
gSaveContext.cutsceneIndex = 0xFFFF;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_bg_gnd_darkmeiro.h"
|
#include "z_bg_gnd_darkmeiro.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000030
|
#define FLAGS 0x00000030
|
||||||
|
|
||||||
|
@ -34,10 +35,6 @@ const ActorInit Bg_Gnd_Darkmeiro_InitVars = {
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Gfx D_060088B0[];
|
|
||||||
extern Gfx D_0600BEC0[];
|
|
||||||
extern CollisionHeader D_0600C080;
|
|
||||||
|
|
||||||
void BgGndDarkmeiro_ToggleBlock(BgGndDarkmeiro* this, GlobalContext* globalCtx) {
|
void BgGndDarkmeiro_ToggleBlock(BgGndDarkmeiro* this, GlobalContext* globalCtx) {
|
||||||
if (this->actionFlags & 2) {
|
if (this->actionFlags & 2) {
|
||||||
if (this->timer1 == 0) {
|
if (this->timer1 == 0) {
|
||||||
|
@ -63,7 +60,7 @@ void BgGndDarkmeiro_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->dyna.actor.flags |= 0x80;
|
this->dyna.actor.flags |= 0x80;
|
||||||
break;
|
break;
|
||||||
case DARKMEIRO_CLEAR_BLOCK:
|
case DARKMEIRO_CLEAR_BLOCK:
|
||||||
CollisionHeader_GetVirtual(&D_0600C080, &colHeader);
|
CollisionHeader_GetVirtual(&gClearBlockCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx2, &globalCtx2->colCtx.dyna, &this->dyna.actor, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx2, &globalCtx2->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||||
if (((this->dyna.actor.params >> 8) & 0x3F) == 0x3F) {
|
if (((this->dyna.actor.params >> 8) & 0x3F) == 0x3F) {
|
||||||
this->updateFunc = BgGndDarkmeiro_UpdateStaticBlock;
|
this->updateFunc = BgGndDarkmeiro_UpdateStaticBlock;
|
||||||
|
@ -181,7 +178,7 @@ void BgGndDarkmeiro_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgGndDarkmeiro_DrawInvisiblePath(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndDarkmeiro_DrawInvisiblePath(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Gfx_DrawDListXlu(globalCtx, D_060088B0);
|
Gfx_DrawDListXlu(globalCtx, gShadowTrialPathDL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgGndDarkmeiro_DrawSwitchBlock(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndDarkmeiro_DrawSwitchBlock(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
@ -202,11 +199,11 @@ void BgGndDarkmeiro_DrawSwitchBlock(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 378);
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 378);
|
||||||
//@bug Due to a bug in the display list, the transparency data is not used.
|
//! @bug Due to a bug in the display list, the transparency data is not used.
|
||||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, this->timer2);
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, this->timer2);
|
||||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 380);
|
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 380);
|
||||||
|
|
||||||
Gfx_DrawDListXlu(globalCtx, D_0600BEC0);
|
Gfx_DrawDListXlu(globalCtx, gClearBlockDL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,5 +212,5 @@ void BgGndDarkmeiro_DrawStaticBlock(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, 255);
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, 255);
|
||||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 393);
|
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 393);
|
||||||
|
|
||||||
Gfx_DrawDListXlu(globalCtx, D_0600BEC0);
|
Gfx_DrawDListXlu(globalCtx, gClearBlockDL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_bg_gnd_firemeiro.h"
|
#include "z_bg_gnd_firemeiro.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000030
|
#define FLAGS 0x00000030
|
||||||
|
|
||||||
|
@ -19,8 +20,8 @@ void func_808795AC(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||||
void func_80879668(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
void func_80879668(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||||
void func_80879808(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
void func_80879808(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
extern UNK_TYPE D_0600E210;
|
// extern Gfx gFireTrialPlatformDL[];
|
||||||
extern UNK_TYPE D_0600ECD8;
|
// extern CollisionHeader gFireTrialPlatformCol;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
const ActorInit Bg_Gnd_Firemeiro_InitVars = {
|
const ActorInit Bg_Gnd_Firemeiro_InitVars = {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_bg_gnd_iceblock.h"
|
#include "z_bg_gnd_iceblock.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000030
|
#define FLAGS 0x00000030
|
||||||
|
|
||||||
|
@ -24,9 +25,6 @@ void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void BgGndIceblock_Idle(BgGndIceblock* this, GlobalContext* globalCtx);
|
void BgGndIceblock_Idle(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||||
void BgGndIceblock_Slide(BgGndIceblock* this, GlobalContext* globalCtx);
|
void BgGndIceblock_Slide(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
extern Gfx D_06004420[];
|
|
||||||
extern CollisionHeader D_06004618;
|
|
||||||
|
|
||||||
const ActorInit Bg_Gnd_Iceblock_InitVars = {
|
const ActorInit Bg_Gnd_Iceblock_InitVars = {
|
||||||
ACTOR_BG_GND_ICEBLOCK,
|
ACTOR_BG_GND_ICEBLOCK,
|
||||||
ACTORCAT_PROP,
|
ACTORCAT_PROP,
|
||||||
|
@ -55,7 +53,7 @@ void BgGndIceblock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
||||||
CollisionHeader_GetVirtual(&D_06004618, &colHeader);
|
CollisionHeader_GetVirtual(&gWaterTrialIceBlockCol, &colHeader);
|
||||||
this->targetPos = this->dyna.actor.home.pos;
|
this->targetPos = this->dyna.actor.home.pos;
|
||||||
this->actionFunc = BgGndIceblock_Idle;
|
this->actionFunc = BgGndIceblock_Idle;
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||||
|
@ -358,5 +356,5 @@ void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
BgGndIceblock* this = THIS;
|
BgGndIceblock* this = THIS;
|
||||||
|
|
||||||
Gfx_DrawDListOpa(globalCtx, D_06004420);
|
Gfx_DrawDListOpa(globalCtx, gWaterTrialIceBlockDL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_bg_gnd_nisekabe.h"
|
#include "z_bg_gnd_nisekabe.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000010
|
#define FLAGS 0x00000010
|
||||||
|
|
||||||
|
@ -27,8 +28,6 @@ const ActorInit Bg_Gnd_Nisekabe_InitVars = {
|
||||||
(ActorFunc)BgGndNisekabe_Draw,
|
(ActorFunc)BgGndNisekabe_Draw,
|
||||||
};
|
};
|
||||||
|
|
||||||
static Gfx* sDLists[] = { 0x06009230, 0x0600A390, 0x0600B4A0 };
|
|
||||||
|
|
||||||
void BgGndNisekabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndNisekabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
BgGndNisekabe* this = THIS;
|
BgGndNisekabe* this = THIS;
|
||||||
|
|
||||||
|
@ -45,17 +44,22 @@ void BgGndNisekabe_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
if (globalCtx->actorCtx.unk_03 != 0) {
|
if (globalCtx->actorCtx.unk_03 != 0) {
|
||||||
this->actor.flags |= 0x80;
|
this->actor.flags |= 0x80;
|
||||||
} else {
|
} else {
|
||||||
this->actor.flags &= 0xFFFFFF7F;
|
this->actor.flags &= ~0x80;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgGndNisekabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndNisekabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
static Gfx* dLists[] = {
|
||||||
|
gLightTrialFakeWallDL,
|
||||||
|
gGanonsCastleUnusedFakeWallDL,
|
||||||
|
gGanonsCastleScrubsFakeWallDL,
|
||||||
|
};
|
||||||
BgGndNisekabe* this = THIS;
|
BgGndNisekabe* this = THIS;
|
||||||
u32 index = this->actor.params & 0xFF;
|
u32 index = this->actor.params & 0xFF;
|
||||||
|
|
||||||
if ((this->actor.flags & 0x80) == 0x80) {
|
if ((this->actor.flags & 0x80) == 0x80) {
|
||||||
Gfx_DrawDListXlu(globalCtx, sDLists[index]);
|
Gfx_DrawDListXlu(globalCtx, dLists[index]);
|
||||||
} else {
|
} else {
|
||||||
Gfx_DrawDListOpa(globalCtx, sDLists[index]);
|
Gfx_DrawDListOpa(globalCtx, dLists[index]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_bg_gnd_soulmeiro.h"
|
#include "z_bg_gnd_soulmeiro.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000000
|
#define FLAGS 0x00000000
|
||||||
|
@ -59,13 +60,9 @@ static InitChainEntry sInitChain[] = {
|
||||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||||
};
|
};
|
||||||
|
|
||||||
static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f };
|
|
||||||
|
|
||||||
static Gfx* D_8087B578[] = { 0x06007C00, 0x06002320, 0x060035A0 };
|
|
||||||
|
|
||||||
void BgGndSoulmeiro_Init(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndSoulmeiro_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
BgGndSoulmeiro* this = THIS;
|
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
BgGndSoulmeiro* this = THIS;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||||
this->actionFunc = NULL;
|
this->actionFunc = NULL;
|
||||||
|
@ -107,61 +104,54 @@ void BgGndSoulmeiro_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
||||||
|
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f vecA;
|
Vec3f vecA;
|
||||||
Vec3f vecB;
|
Vec3f vecB;
|
||||||
s16 temp_1;
|
Actor* thisx = &this->actor;
|
||||||
s16 temp_2;
|
|
||||||
f32 temp_3;
|
|
||||||
f32 temp_4;
|
|
||||||
f32 distXZ;
|
|
||||||
s32 i;
|
|
||||||
BgGndSoulmeiro* this2;
|
|
||||||
|
|
||||||
if (this->unk_198 != 0) {
|
if (this->unk_198 != 0) {
|
||||||
this->unk_198--;
|
this->unk_198--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_198 == 20) {
|
if (this->unk_198 == 20) {
|
||||||
Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F);
|
Flags_SetSwitch(globalCtx, (thisx->params >> 8) & 0x3F);
|
||||||
this->actor.draw = NULL;
|
thisx->draw = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This should be this->unk_198 == 0, this is required to match
|
// This should be this->unk_198 == 0, this is required to match
|
||||||
if (!this->unk_198) {
|
if (!this->unk_198) {
|
||||||
Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F);
|
Flags_SetSwitch(globalCtx, (thisx->params >> 8) & 0x3F);
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, this->actor.world.pos.x, this->actor.world.pos.y,
|
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, thisx->world.pos.x, thisx->world.pos.y,
|
||||||
this->actor.world.pos.z, 0, 0, 0, 9);
|
thisx->world.pos.z, 0, 0, 0, 9);
|
||||||
return;
|
} else if ((this->unk_198 % 6) == 0) {
|
||||||
}
|
s32 i;
|
||||||
|
s16 temp_2 = Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f
|
||||||
|
|
||||||
if (1) {}
|
|
||||||
|
|
||||||
if ((this->unk_198 % 6) == 0) {
|
|
||||||
temp_2 = Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f
|
|
||||||
vecA.y = 0.0f;
|
vecA.y = 0.0f;
|
||||||
vecB.y = this->actor.world.pos.y;
|
vecB.y = thisx->world.pos.y;
|
||||||
|
|
||||||
this2 = this;
|
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
temp_1 = Rand_CenteredFloat(0x2800) + temp_2;
|
s16 temp_1 = Rand_CenteredFloat(0x2800) + temp_2;
|
||||||
temp_3 = Math_SinS(temp_1);
|
f32 temp_3 = Math_SinS(temp_1);
|
||||||
temp_4 = Math_CosS(temp_1);
|
f32 temp_4 = Math_CosS(temp_1);
|
||||||
vecB.x = this2->actor.world.pos.x + (120.0f * temp_3);
|
f32 distXZ;
|
||||||
vecB.z = this2->actor.world.pos.z + (120.0f * temp_4);
|
|
||||||
distXZ = Math_Vec3f_DistXZ(&this2->actor.home.pos, &vecB) * (1.0f / 120.0f);
|
vecB.x = thisx->world.pos.x + (120.0f * temp_3);
|
||||||
|
vecB.z = thisx->world.pos.z + (120.0f * temp_4);
|
||||||
|
distXZ = Math_Vec3f_DistXZ(&thisx->home.pos, &vecB) * (1.0f / 120.0f);
|
||||||
if (distXZ < 0.7f) {
|
if (distXZ < 0.7f) {
|
||||||
temp_3 = Math_SinS(temp_1 + 0x8000);
|
temp_3 = Math_SinS(temp_1 + 0x8000);
|
||||||
temp_4 = Math_CosS(temp_1 + 0x8000);
|
temp_4 = Math_CosS(temp_1 + 0x8000);
|
||||||
vecB.x = this->actor.world.pos.x + (120.0f * temp_3);
|
vecB.x = thisx->world.pos.x + (120.0f * temp_3);
|
||||||
vecB.z = this->actor.world.pos.z + (120.0f * temp_4);
|
vecB.z = thisx->world.pos.z + (120.0f * temp_4);
|
||||||
distXZ = Math_Vec3f_DistXZ(&this->actor.home.pos, &vecB) * (1.0f / 120.0f);
|
distXZ = Math_Vec3f_DistXZ(&thisx->home.pos, &vecB) * (1.0f / 120.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
vecA.x = 4.0f * temp_3 * distXZ;
|
vecA.x = 4.0f * temp_3 * distXZ;
|
||||||
vecA.y = 0.0f;
|
vecA.y = 0.0f;
|
||||||
vecA.z = 4.0f * temp_4 * distXZ;
|
vecA.z = 4.0f * temp_4 * distXZ;
|
||||||
EffectSsDeadDb_Spawn(globalCtx, &this->actor.home.pos, &vecA, &sZeroVec, 60, 6, 255, 255, 150, 170, 255, 0,
|
EffectSsDeadDb_Spawn(globalCtx, &thisx->home.pos, &vecA, &zeroVec, 60, 6, 255, 255, 150, 170, 255, 0,
|
||||||
0, 1, 14, true);
|
0, 1, 14, true);
|
||||||
temp_2 += 0x2AAA;
|
temp_2 += 0x2AAA;
|
||||||
}
|
}
|
||||||
|
@ -177,15 +167,14 @@ void func_8087B284(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
||||||
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||||
this->unk_198 = 40;
|
this->unk_198 = 40;
|
||||||
this->actionFunc = func_8087AF38;
|
this->actionFunc = func_8087AF38;
|
||||||
return;
|
} else {
|
||||||
|
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||||
|
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||||
}
|
}
|
||||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
|
||||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
|
if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
|
||||||
this->actor.draw = BgGndSoulmeiro_Draw;
|
this->actor.draw = BgGndSoulmeiro_Draw;
|
||||||
} else {
|
} else {
|
||||||
|
@ -202,6 +191,11 @@ void BgGndSoulmeiro_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
static Gfx* dLists[] = {
|
||||||
|
gSpiritTrialWebDL,
|
||||||
|
gSpiritTrialLightSourceDL,
|
||||||
|
gSpiritTrialLightFloorDL,
|
||||||
|
};
|
||||||
s32 params = thisx->params & 0xFF;
|
s32 params = thisx->params & 0xFF;
|
||||||
|
|
||||||
if (1) {}
|
if (1) {}
|
||||||
|
@ -209,19 +203,17 @@ void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
switch (params) {
|
switch (params) {
|
||||||
case 0:
|
case 0:
|
||||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 398);
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 398);
|
||||||
|
|
||||||
func_80093D84(globalCtx->state.gfxCtx);
|
func_80093D84(globalCtx->state.gfxCtx);
|
||||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400),
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400),
|
||||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
|
gSPDisplayList(POLY_XLU_DISP++, dLists[params]);
|
||||||
gSPDisplayList(POLY_XLU_DISP++, D_8087B578[params]);
|
|
||||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 403);
|
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 403);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Gfx_DrawDListXlu(globalCtx, D_8087B578[params]);
|
Gfx_DrawDListXlu(globalCtx, dLists[params]);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
Gfx_DrawDListOpa(globalCtx, D_8087B578[params]);
|
Gfx_DrawDListOpa(globalCtx, dLists[params]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,12 @@
|
||||||
|
/**
|
||||||
|
* File: z_demo_kekkai.c
|
||||||
|
* Overlay: ovl_Demo_Kekkai
|
||||||
|
* Description: Ganon's castle barriers
|
||||||
|
*/
|
||||||
|
|
||||||
#include "z_demo_kekkai.h"
|
#include "z_demo_kekkai.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
|
#include "scenes/dungeons/ganontika/ganontika_scene.h"
|
||||||
|
|
||||||
#define FLAGS 0x00000030
|
#define FLAGS 0x00000030
|
||||||
|
|
||||||
|
@ -7,15 +15,14 @@
|
||||||
void DemoKekkai_Init(Actor* thisx, GlobalContext* globalCtx);
|
void DemoKekkai_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void DemoKekkai_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
void DemoKekkai_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void DemoKekkai_Update(Actor* thisx, GlobalContext* globalCtx);
|
void DemoKekkai_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void DemoKekkai_Draw(Actor* thisx, GlobalContext* globalCtx);
|
void DemoKekkai_DrawTowerBarrier(Actor* thisx, GlobalContext* globalCtx);
|
||||||
|
|
||||||
extern UNK_TYPE D_06004930;
|
void DemoKekkai_TrialBarrierDispel(Actor* thisx, GlobalContext* globalCtx);
|
||||||
extern UNK_TYPE D_06004F00;
|
void DemoKekkai_TrialBarrierIdle(Actor* thisx, GlobalContext* globalCtx);
|
||||||
extern UNK_TYPE D_06004FD0;
|
void DemoKekkai_DrawTrialBarrier(Actor* thisx, GlobalContext* globalCtx);
|
||||||
extern UNK_TYPE D_06005A30;
|
|
||||||
extern UNK_TYPE D_06005CB0;
|
void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
/*
|
|
||||||
const ActorInit Demo_Kekkai_InitVars = {
|
const ActorInit Demo_Kekkai_InitVars = {
|
||||||
ACTOR_DEMO_KEKKAI,
|
ACTOR_DEMO_KEKKAI,
|
||||||
ACTORCAT_ITEMACTION,
|
ACTORCAT_ITEMACTION,
|
||||||
|
@ -25,10 +32,10 @@ const ActorInit Demo_Kekkai_InitVars = {
|
||||||
(ActorFunc)DemoKekkai_Init,
|
(ActorFunc)DemoKekkai_Init,
|
||||||
(ActorFunc)DemoKekkai_Destroy,
|
(ActorFunc)DemoKekkai_Destroy,
|
||||||
(ActorFunc)DemoKekkai_Update,
|
(ActorFunc)DemoKekkai_Update,
|
||||||
(ActorFunc)DemoKekkai_Draw,
|
(ActorFunc)DemoKekkai_DrawTowerBarrier,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ColliderCylinderInit D_8098E0B0 = {
|
static ColliderCylinderInit sCylinderInit = {
|
||||||
{
|
{
|
||||||
COLTYPE_NONE,
|
COLTYPE_NONE,
|
||||||
AT_ON | AT_TYPE_ENEMY,
|
AT_ON | AT_TYPE_ENEMY,
|
||||||
|
@ -47,23 +54,285 @@ static ColliderCylinderInit D_8098E0B0 = {
|
||||||
},
|
},
|
||||||
{ 680, 220, 120, { 0, 0, 0 } },
|
{ 680, 220, 120, { 0, 0, 0 } },
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s")
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s")
|
static u8 sEnergyColors[] = {
|
||||||
|
/* Water prim */ 170, 255, 255, /* env */ 0, 50, 255,
|
||||||
|
/* Light prim */ 255, 255, 170, /* env */ 200, 255, 0,
|
||||||
|
/* Fire prim */ 255, 255, 170, /* env */ 200, 0, 0,
|
||||||
|
/* Shadow prim */ 255, 170, 255, /* env */ 100, 0, 200,
|
||||||
|
/* Spirit prim */ 255, 255, 170, /* env */ 255, 120, 0,
|
||||||
|
/* Forest prim */ 255, 255, 170, /* env */ 0, 200, 0,
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s")
|
s32 DemoKekkai_CheckEventFlag(s32 params) {
|
||||||
|
static s32 eventFlags[] = { 0xC3, 0xBC, 0xBF, 0xBE, 0xBD, 0xAD, 0xBB };
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s")
|
if ((params < KEKKAI_TOWER) || (params > KEKKAI_FOREST)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return Flags_GetEventChkInf(eventFlags[params]);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s")
|
void DemoKekkai_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
s32 pad;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s")
|
this->sfxFlag = 0;
|
||||||
|
this->energyAlpha = 1.0f;
|
||||||
|
Actor_SetScale(thisx, 0.1f);
|
||||||
|
thisx->colChkInfo.mass = MASS_IMMOVABLE;
|
||||||
|
Collider_InitCylinder(globalCtx, &this->collider1);
|
||||||
|
Collider_SetCylinder(globalCtx, &this->collider1, thisx, &sCylinderInit);
|
||||||
|
Collider_InitCylinder(globalCtx, &this->collider2);
|
||||||
|
Collider_SetCylinder(globalCtx, &this->collider2, thisx, &sCylinderInit);
|
||||||
|
Collider_UpdateCylinder(thisx, &this->collider1);
|
||||||
|
Collider_UpdateCylinder(thisx, &this->collider2);
|
||||||
|
this->timer = 0;
|
||||||
|
this->barrierScrollRate = 1.0f;
|
||||||
|
this->barrierScroll = 0.0f;
|
||||||
|
switch (thisx->params) {
|
||||||
|
case KEKKAI_TOWER:
|
||||||
|
this->updateFunc = DemoKekkai_TowerBarrier;
|
||||||
|
this->collider2.dim.radius = thisx->scale.x * 6100.0f;
|
||||||
|
this->collider2.dim.height = thisx->scale.y * 5000.0f;
|
||||||
|
this->collider2.dim.yShift = 300;
|
||||||
|
break;
|
||||||
|
case KEKKAI_WATER:
|
||||||
|
case KEKKAI_LIGHT:
|
||||||
|
case KEKKAI_FIRE:
|
||||||
|
case KEKKAI_SHADOW:
|
||||||
|
case KEKKAI_SPIRIT:
|
||||||
|
case KEKKAI_FOREST:
|
||||||
|
this->energyAlpha = 1.0f;
|
||||||
|
this->orbScale = 1.0f;
|
||||||
|
Actor_SetScale(thisx, 0.1f);
|
||||||
|
thisx->update = DemoKekkai_TrialBarrierIdle;
|
||||||
|
thisx->draw = DemoKekkai_DrawTrialBarrier;
|
||||||
|
this->collider1.dim.radius = thisx->scale.x * 120.0f;
|
||||||
|
this->collider1.dim.height = thisx->scale.y * 2000.0f;
|
||||||
|
this->collider1.dim.yShift = 0;
|
||||||
|
this->collider2.dim.radius = thisx->scale.x * 320.0f;
|
||||||
|
this->collider2.dim.height = thisx->scale.y * 510.0f;
|
||||||
|
this->collider2.dim.yShift = 95;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (DemoKekkai_CheckEventFlag(thisx->params)) {
|
||||||
|
if (thisx->params == KEKKAI_TOWER) {
|
||||||
|
globalCtx->envCtx.unk_BF = 1;
|
||||||
|
}
|
||||||
|
Actor_Kill(thisx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s")
|
void DemoKekkai_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
s32 pad;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s")
|
Collider_DestroyCylinder(globalCtx, &this->collider1);
|
||||||
|
Collider_DestroyCylinder(globalCtx, &this->collider2);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s")
|
void DemoKekkai_SpawnParticles(DemoKekkai* this, GlobalContext* globalCtx) {
|
||||||
|
static Vec3f vel = { 0.0f, 0.0f, 0.0f };
|
||||||
|
static Vec3f accel = { 0.0f, 0.0f, 0.0f };
|
||||||
|
static Color_RGBA8 lightYellow = { 255, 255, 170, 0 };
|
||||||
|
static Color_RGBA8 darkRed = { 200, 0, 0, 0 };
|
||||||
|
Vec3f pos;
|
||||||
|
s32 i;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s")
|
for (i = 0; i < 85; i++) {
|
||||||
|
s16 roll = Rand_ZeroFloat(65535.0f);
|
||||||
|
s16 yaw = Rand_ZeroFloat(65535.0f);
|
||||||
|
|
||||||
|
vel.x = Math_SinS(yaw) * Math_CosS(roll) * Rand_ZeroFloat(8.0f);
|
||||||
|
vel.z = Math_CosS(yaw) * Math_CosS(roll) * Rand_ZeroFloat(8.0f);
|
||||||
|
vel.y = Math_SinS(roll) * Rand_ZeroFloat(3.0f);
|
||||||
|
|
||||||
|
pos.x = (vel.x * 7.0f) + this->actor.world.pos.x;
|
||||||
|
pos.y = (vel.y * 20.0f) + this->actor.world.pos.y + 120.0f;
|
||||||
|
pos.z = (vel.z * 7.0f) + this->actor.world.pos.z;
|
||||||
|
|
||||||
|
EffectSsKiraKira_SpawnFocused(globalCtx, &pos, &vel, &accel, &lightYellow, &darkRed, 3000,
|
||||||
|
(s32)Rand_ZeroFloat(40.0f) + 45);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx) {
|
||||||
|
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[0] != NULL) &&
|
||||||
|
(globalCtx->csCtx.npcActions[0]->action != 1) && (globalCtx->csCtx.npcActions[0]->action == 2)) {
|
||||||
|
if (!(this->sfxFlag & 1)) {
|
||||||
|
func_800F3F3C(0xC);
|
||||||
|
this->sfxFlag |= 1;
|
||||||
|
}
|
||||||
|
if (this->barrierScrollRate < 7.0f) {
|
||||||
|
this->barrierScrollRate += 0.2f;
|
||||||
|
} else {
|
||||||
|
this->timer++;
|
||||||
|
if (this->timer > 100) {
|
||||||
|
Flags_SetEventChkInf(0xC3);
|
||||||
|
Actor_Kill(&this->actor);
|
||||||
|
return;
|
||||||
|
} else if (this->timer > 40) {
|
||||||
|
this->actor.scale.z = this->actor.scale.x += 0.003f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!(this->sfxFlag & 1)) {
|
||||||
|
func_8002F974(&this->actor, NA_SE_EV_TOWER_BARRIER - SFX_FLAG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DemoKekkai_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
|
GlobalContext* globalCtx = globalCtx2;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
|
||||||
|
if (this->energyAlpha > 0.99f) {
|
||||||
|
if ((this->collider1.base.atFlags & AT_HIT) || (this->collider2.base.atFlags & AT_HIT)) {
|
||||||
|
func_8002F71C(globalCtx, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f);
|
||||||
|
}
|
||||||
|
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||||
|
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||||
|
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||||
|
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||||
|
}
|
||||||
|
this->updateFunc(this, globalCtx);
|
||||||
|
this->barrierScroll += this->barrierScrollRate;
|
||||||
|
if (this->barrierScroll > 65536.0f) {
|
||||||
|
this->barrierScroll -= 65536.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DemoKekkai_TrialBarrierDispel(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
static u16 csFrames[] = { 0, 280, 280, 280, 280, 280, 280 };
|
||||||
|
s32 pad;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
|
||||||
|
if (globalCtx->csCtx.frames == csFrames[this->actor.params]) {
|
||||||
|
func_800F3F3C(0xA);
|
||||||
|
}
|
||||||
|
if (this->energyAlpha >= 0.05f) {
|
||||||
|
this->energyAlpha -= 0.05f;
|
||||||
|
} else {
|
||||||
|
this->energyAlpha = 0.0f;
|
||||||
|
}
|
||||||
|
if (this->timer < 40) {
|
||||||
|
this->orbScale = ((80 - this->timer) * (f32)this->timer * 0.000625f) + 1.0f;
|
||||||
|
} else if (this->timer < 50) {
|
||||||
|
this->orbScale = 2.0f;
|
||||||
|
} else if (this->timer == 50) {
|
||||||
|
Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
|
||||||
|
DemoKekkai_SpawnParticles(this, globalCtx);
|
||||||
|
} else {
|
||||||
|
this->orbScale = 0.0f;
|
||||||
|
}
|
||||||
|
if (this->orbScale != 0.0f) {
|
||||||
|
func_8002F974(&this->actor, NA_SE_EV_TOWER_ENERGY - SFX_FLAG);
|
||||||
|
}
|
||||||
|
this->timer++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static CutsceneData* sSageCutscenes[] = {
|
||||||
|
NULL,
|
||||||
|
gWaterTrialSageCs,
|
||||||
|
gLightTrialSageCs,
|
||||||
|
gFireTrialSageCs,
|
||||||
|
gShadowTrialSageCs,
|
||||||
|
gSpiritTrialSageCs,
|
||||||
|
gForestTrialSageCs,
|
||||||
|
};
|
||||||
|
|
||||||
|
void DemoKekkai_TrialBarrierIdle(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
s32 pad;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
|
||||||
|
if (this->collider1.base.atFlags & AT_HIT) {
|
||||||
|
func_8002F71C(globalCtx, &this->actor, 5.0f, this->actor.yawTowardsPlayer, 5.0f);
|
||||||
|
}
|
||||||
|
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||||
|
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||||
|
if (this->collider2.base.acFlags & AC_HIT) {
|
||||||
|
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||||
|
// I got it
|
||||||
|
LOG_STRING("当ったよ", "../z_demo_kekkai.c", 572);
|
||||||
|
this->actor.update = DemoKekkai_TrialBarrierDispel;
|
||||||
|
this->timer = 0;
|
||||||
|
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(sSageCutscenes[this->actor.params]);
|
||||||
|
gSaveContext.cutsceneTrigger = 1;
|
||||||
|
}
|
||||||
|
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||||
|
func_8002F974(&this->actor, NA_SE_EV_TOWER_ENERGY - SFX_FLAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DemoKekkai_DrawTrialBarrier(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
|
GlobalContext* globalCtx = globalCtx2;
|
||||||
|
s32 frames = globalCtx->gameplayFrames & 0xFFFF;
|
||||||
|
u8 alphaIndex[102] = {
|
||||||
|
1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 1, 2, 2,
|
||||||
|
1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||||
|
1, 1, 0, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 1, 0, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 0, 0,
|
||||||
|
};
|
||||||
|
s32 colorIndex;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
u8 alphas[3];
|
||||||
|
Vtx* energyVtx = SEGMENTED_TO_VIRTUAL(gTrialBarrierEnergyVtx);
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
if (this->orbScale != 0.0f) {
|
||||||
|
if (1) {}
|
||||||
|
alphas[2] = (s32)(this->energyAlpha * 202.0f);
|
||||||
|
alphas[1] = (s32)(this->energyAlpha * 126.0f);
|
||||||
|
alphas[0] = 0;
|
||||||
|
for (i = 0; i < 102; i++) {
|
||||||
|
energyVtx[i].v.cn[3] = alphas[alphaIndex[i]];
|
||||||
|
}
|
||||||
|
colorIndex = (this->actor.params - 1) * 6;
|
||||||
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 632);
|
||||||
|
func_80093D84(globalCtx->state.gfxCtx);
|
||||||
|
Matrix_Push();
|
||||||
|
Matrix_Translate(0.0f, 1200.0f, 0.0f, MTXMODE_APPLY);
|
||||||
|
Matrix_Scale(this->orbScale, this->orbScale, this->orbScale, MTXMODE_APPLY);
|
||||||
|
Matrix_Translate(0.0f, -1200.0f, 0.0f, MTXMODE_APPLY);
|
||||||
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 639),
|
||||||
|
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
|
gSPSegment(POLY_XLU_DISP++, 0x09,
|
||||||
|
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, frames * 5, frames * -10, 0x20, 0x20, 1, frames * 5,
|
||||||
|
frames * -10, 0x20, 0x20));
|
||||||
|
gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierOrbDL);
|
||||||
|
Matrix_Pull();
|
||||||
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 656),
|
||||||
|
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
|
gDPPipeSync(POLY_XLU_DISP++);
|
||||||
|
gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 50, 0, 100, 255);
|
||||||
|
gSPSegment(POLY_XLU_DISP++, 0x0A,
|
||||||
|
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x20, 1, frames, frames, 0x20, 0x20));
|
||||||
|
gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierFloorDL);
|
||||||
|
gDPPipeSync(POLY_XLU_DISP++);
|
||||||
|
gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, sEnergyColors[colorIndex + 0], sEnergyColors[colorIndex + 1],
|
||||||
|
sEnergyColors[colorIndex + 2], 255);
|
||||||
|
gDPSetEnvColor(POLY_XLU_DISP++, sEnergyColors[colorIndex + 3], sEnergyColors[colorIndex + 4],
|
||||||
|
sEnergyColors[colorIndex + 5], 128);
|
||||||
|
gSPSegment(POLY_XLU_DISP++, 0x08,
|
||||||
|
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, frames * 5, frames * -10, 0x20, 0x20, 1, frames * 5,
|
||||||
|
frames * -10, 0x20, 0x40));
|
||||||
|
gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierEnergyDL);
|
||||||
|
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 696);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DemoKekkai_DrawTowerBarrier(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
s32 pad;
|
||||||
|
DemoKekkai* this = THIS;
|
||||||
|
s32 scroll;
|
||||||
|
|
||||||
|
scroll = (s32)this->barrierScroll & 0xFFFF;
|
||||||
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 705);
|
||||||
|
func_80093D84(globalCtx->state.gfxCtx);
|
||||||
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 707),
|
||||||
|
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
|
gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 255, 170, 255, 255);
|
||||||
|
gSPSegment(POLY_XLU_DISP++, 0x08,
|
||||||
|
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * -4, 0x20, 0x40, 1, scroll * 2,
|
||||||
|
scroll * -4, 0x20, 0x40));
|
||||||
|
gSPDisplayList(POLY_XLU_DISP++, gTowerBarrierDL);
|
||||||
|
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 722);
|
||||||
|
}
|
||||||
|
|
|
@ -6,11 +6,31 @@
|
||||||
|
|
||||||
struct DemoKekkai;
|
struct DemoKekkai;
|
||||||
|
|
||||||
|
typedef void (*DemoKekkaiUpdateFunc)(struct DemoKekkai* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
typedef struct DemoKekkai {
|
typedef struct DemoKekkai {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ char unk_14C[0xB0];
|
/* 0x014C */ ColliderCylinder collider1;
|
||||||
|
/* 0x0198 */ ColliderCylinder collider2;
|
||||||
|
/* 0x01E4 */ f32 energyAlpha;
|
||||||
|
/* 0x01E8 */ f32 orbScale;
|
||||||
|
/* 0x01EC */ f32 barrierScroll;
|
||||||
|
/* 0x01F0 */ f32 barrierScrollRate;
|
||||||
|
/* 0x01F4 */ u16 timer;
|
||||||
|
/* 0x01F6 */ u16 sfxFlag;
|
||||||
|
/* 0x01F8 */ DemoKekkaiUpdateFunc updateFunc;
|
||||||
} DemoKekkai; // size = 0x01FC
|
} DemoKekkai; // size = 0x01FC
|
||||||
|
|
||||||
extern const ActorInit Demo_Kekkai_InitVars;
|
extern const ActorInit Demo_Kekkai_InitVars;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0 */ KEKKAI_TOWER,
|
||||||
|
/* 1 */ KEKKAI_WATER,
|
||||||
|
/* 2 */ KEKKAI_LIGHT,
|
||||||
|
/* 3 */ KEKKAI_FIRE,
|
||||||
|
/* 4 */ KEKKAI_SHADOW,
|
||||||
|
/* 5 */ KEKKAI_SPIRIT,
|
||||||
|
/* 6 */ KEKKAI_FOREST
|
||||||
|
} DemoKekkaiType;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_door_shutter.h"
|
#include "z_door_shutter.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
#include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h"
|
#include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h"
|
||||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||||
|
|
||||||
|
@ -99,7 +100,7 @@ static ShutterInfo D_80998134[] = {
|
||||||
{ 0x06003890, gDungeonDoorDL, 130, 12, 20, 15 },
|
{ 0x06003890, gDungeonDoorDL, 130, 12, 20, 15 },
|
||||||
{ 0x06001D10, gDungeonDoorDL, 130, 12, 20, 15 },
|
{ 0x06001D10, gDungeonDoorDL, 130, 12, 20, 15 },
|
||||||
{ 0x060010D0, gDungeonDoorDL, 130, 12, 20, 15 },
|
{ 0x060010D0, gDungeonDoorDL, 130, 12, 20, 15 },
|
||||||
{ 0x060020D0, gDungeonDoorDL, 130, 12, 20, 15 },
|
{ gGanonsCastleDoorDL, gDungeonDoorDL, 130, 12, 20, 15 },
|
||||||
{ 0x060000C0, gDungeonDoorDL, 130, 12, 20, 15 },
|
{ 0x060000C0, gDungeonDoorDL, 130, 12, 20, 15 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_object_kankyo.h"
|
#include "z_object_kankyo.h"
|
||||||
|
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||||
|
|
||||||
#define FLAGS 0x02000030
|
#define FLAGS 0x02000030
|
||||||
|
@ -17,7 +18,6 @@ void ObjectKankyo_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx);
|
void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||||
|
|
||||||
extern UNK_TYPE D_01000000;
|
extern UNK_TYPE D_01000000;
|
||||||
extern UNK_TYPE D_06005FF0;
|
|
||||||
extern UNK_TYPE D_06009620;
|
extern UNK_TYPE D_06009620;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2007,7 +2007,6 @@ D_06008390 = 0x06008390;
|
||||||
// z_demo_kekkai
|
// z_demo_kekkai
|
||||||
D_06004930 = 0x06004930;
|
D_06004930 = 0x06004930;
|
||||||
D_06004F00 = 0x06004F00;
|
D_06004F00 = 0x06004F00;
|
||||||
D_06004FD0 = 0x06004FD0;
|
|
||||||
D_06005A30 = 0x06005A30;
|
D_06005A30 = 0x06005A30;
|
||||||
D_06005CB0 = 0x06005CB0;
|
D_06005CB0 = 0x06005CB0;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue