mirror of https://github.com/zeldaret/oot.git
commit
4988a70113
|
|
@ -1,23 +0,0 @@
|
|||
glabel ArrowFire_Destroy
|
||||
/* 00080 80865D90 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00084 80865D94 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00088 80865D98 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0008C 80865D9C 0C021DB2 */ jal func_800876C8
|
||||
/* 00090 80865DA0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00094 80865DA4 3C048086 */ lui $a0, %hi(D_80867B30) ## $a0 = 80860000
|
||||
/* 00098 80865DA8 24847B30 */ addiu $a0, $a0, %lo(D_80867B30) ## $a0 = 80867B30
|
||||
/* 0009C 80865DAC 0C000B84 */ jal LogUtils_LogThreadId
|
||||
|
||||
/* 000A0 80865DB0 240501A5 */ addiu $a1, $zero, 0x01A5 ## $a1 = 000001A5
|
||||
/* 000A4 80865DB4 3C048086 */ lui $a0, %hi(D_80867B44) ## $a0 = 80860000
|
||||
/* 000A8 80865DB8 3C058086 */ lui $a1, %hi(D_80867B54) ## $a1 = 80860000
|
||||
/* 000AC 80865DBC 24A57B54 */ addiu $a1, $a1, %lo(D_80867B54) ## $a1 = 80867B54
|
||||
/* 000B0 80865DC0 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000B4 80865DC4 24847B44 */ addiu $a0, $a0, %lo(D_80867B44) ## $a0 = 80867B44
|
||||
/* 000B8 80865DC8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000BC 80865DCC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 000C0 80865DD0 03E00008 */ jr $ra
|
||||
/* 000C4 80865DD4 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
glabel ArrowFire_Init
|
||||
/* 00008 80865D18 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0000C 80865D1C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00010 80865D20 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 80865D24 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00018 80865D28 3C058086 */ lui $a1, %hi(D_80867B20) ## $a1 = 80860000
|
||||
/* 0001C 80865D2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 80865D30 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00024 80865D34 24A57B20 */ addiu $a1, $a1, %lo(D_80867B20) ## $a1 = 80867B20
|
||||
/* 00028 80865D38 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0002C 80865D3C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00030 80865D40 3C058086 */ lui $a1, %hi(func_80865DD8) ## $a1 = 80860000
|
||||
/* 00034 80865D44 A6000164 */ sh $zero, 0x0164($s0) ## 00000164
|
||||
/* 00038 80865D48 24A55DD8 */ addiu $a1, $a1, %lo(func_80865DD8) ## $a1 = 80865DD8
|
||||
/* 0003C 80865D4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00040 80865D50 0C219744 */ jal func_80865D10
|
||||
/* 00044 80865D54 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158
|
||||
/* 00048 80865D58 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 0004C 80865D5C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00050 80865D60 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00054 80865D64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00058 80865D68 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 0005C 80865D6C 240E00A0 */ addiu $t6, $zero, 0x00A0 ## $t6 = 000000A0
|
||||
/* 00060 80865D70 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168
|
||||
/* 00064 80865D74 A6000166 */ sh $zero, 0x0166($s0) ## 00000166
|
||||
/* 00068 80865D78 E606015C */ swc1 $f6, 0x015C($s0) ## 0000015C
|
||||
/* 0006C 80865D7C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00070 80865D80 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00074 80865D84 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00078 80865D88 03E00008 */ jr $ra
|
||||
/* 0007C 80865D8C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
glabel ArrowFire_Update
|
||||
/* 0052C 8086623C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00530 80866240 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 00534 80866244 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00538 80866248 00451021 */ addu $v0, $v0, $a1
|
||||
/* 0053C 8086624C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC
|
||||
/* 00540 80866250 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00544 80866254 10410003 */ beq $v0, $at, .L80866264
|
||||
/* 00548 80866258 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 0054C 8086625C 54410006 */ bnel $v0, $at, .L80866278
|
||||
/* 00550 80866260 8C990160 */ lw $t9, 0x0160($a0) ## 00000160
|
||||
.L80866264:
|
||||
/* 00554 80866264 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00558 80866268 00000000 */ nop
|
||||
/* 0055C 8086626C 10000005 */ beq $zero, $zero, .L80866284
|
||||
/* 00560 80866270 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00564 80866274 8C990160 */ lw $t9, 0x0160($a0) ## 00000160
|
||||
.L80866278:
|
||||
/* 00568 80866278 0320F809 */ jalr $ra, $t9
|
||||
/* 0056C 8086627C 00000000 */ nop
|
||||
/* 00570 80866280 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80866284:
|
||||
/* 00574 80866284 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00578 80866288 03E00008 */ jr $ra
|
||||
/* 0057C 8086628C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80865D10
|
||||
/* 00000 80865D10 03E00008 */ jr $ra
|
||||
/* 00004 80865D14 AC850160 */ sw $a1, 0x0160($a0) ## 00000160
|
||||
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
glabel func_80865DD8
|
||||
/* 000C8 80865DD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 000CC 80865DDC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000D0 80865DE0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 000D4 80865DE4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 000D8 80865DE8 10400004 */ beq $v0, $zero, .L80865DFC
|
||||
/* 000DC 80865DEC 00000000 */ nop
|
||||
/* 000E0 80865DF0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 000E4 80865DF4 55C00006 */ bnel $t6, $zero, .L80865E10
|
||||
/* 000E8 80865DF8 84830164 */ lh $v1, 0x0164($a0) ## 00000164
|
||||
.L80865DFC:
|
||||
/* 000EC 80865DFC 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 000F0 80865E00 00000000 */ nop
|
||||
/* 000F4 80865E04 1000002E */ beq $zero, $zero, .L80865EC0
|
||||
/* 000F8 80865E08 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000FC 80865E0C 84830164 */ lh $v1, 0x0164($a0) ## 00000164
|
||||
.L80865E10:
|
||||
/* 00100 80865E10 2861000A */ slti $at, $v1, 0x000A
|
||||
/* 00104 80865E14 10200002 */ beq $at, $zero, .L80865E20
|
||||
/* 00108 80865E18 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
|
||||
/* 0010C 80865E1C A48F0164 */ sh $t7, 0x0164($a0) ## 00000164
|
||||
.L80865E20:
|
||||
/* 00110 80865E20 8C590024 */ lw $t9, 0x0024($v0) ## 00000024
|
||||
/* 00114 80865E24 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024
|
||||
/* 00118 80865E28 2405007D */ addiu $a1, $zero, 0x007D ## $a1 = 0000007D
|
||||
/* 0011C 80865E2C AC790000 */ sw $t9, 0x0000($v1) ## 00000024
|
||||
/* 00120 80865E30 8C580028 */ lw $t8, 0x0028($v0) ## 00000028
|
||||
/* 00124 80865E34 AC780004 */ sw $t8, 0x0004($v1) ## 00000028
|
||||
/* 00128 80865E38 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C
|
||||
/* 0012C 80865E3C AC790008 */ sw $t9, 0x0008($v1) ## 0000002C
|
||||
/* 00130 80865E40 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4
|
||||
/* 00134 80865E44 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7
|
||||
/* 00138 80865E48 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4
|
||||
/* 0013C 80865E4C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7
|
||||
/* 00140 80865E50 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8
|
||||
/* 00144 80865E54 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8
|
||||
/* 00148 80865E58 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0014C 80865E5C AFA30018 */ sw $v1, 0x0018($sp)
|
||||
/* 00150 80865E60 0C00BE5D */ jal func_8002F974
|
||||
/* 00154 80865E64 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00158 80865E68 8FA2001C */ lw $v0, 0x001C($sp)
|
||||
/* 0015C 80865E6C 8FA30018 */ lw $v1, 0x0018($sp)
|
||||
/* 00160 80865E70 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00164 80865E74 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118
|
||||
/* 00168 80865E78 55400011 */ bnel $t2, $zero, .L80865EC0
|
||||
/* 0016C 80865E7C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00170 80865E80 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000
|
||||
/* 00174 80865E84 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
|
||||
/* 00178 80865E88 3C058086 */ lui $a1, %hi(func_808660E8) ## $a1 = 80860000
|
||||
/* 0017C 80865E8C AC8C014C */ sw $t4, 0x014C($a0) ## 0000014C
|
||||
/* 00180 80865E90 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004
|
||||
/* 00184 80865E94 24A560E8 */ addiu $a1, $a1, %lo(func_808660E8) ## $a1 = 808660E8
|
||||
/* 00188 80865E98 AC8B0150 */ sw $t3, 0x0150($a0) ## 00000150
|
||||
/* 0018C 80865E9C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008
|
||||
/* 00190 80865EA0 A48D0164 */ sh $t5, 0x0164($a0) ## 00000164
|
||||
/* 00194 80865EA4 AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154
|
||||
/* 00198 80865EA8 0C219744 */ jal func_80865D10
|
||||
/* 0019C 80865EAC AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 001A0 80865EB0 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 001A4 80865EB4 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 001A8 80865EB8 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
/* 001AC 80865EBC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80865EC0:
|
||||
/* 001B0 80865EC0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 001B4 80865EC4 03E00008 */ jr $ra
|
||||
/* 001B8 80865EC8 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
glabel func_80865ECC
|
||||
/* 001BC 80865ECC C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000
|
||||
/* 001C0 80865ED0 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
|
||||
/* 001C4 80865ED4 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
|
||||
/* 001C8 80865ED8 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004
|
||||
/* 001CC 80865EDC 46002181 */ sub.s $f6, $f4, $f0
|
||||
/* 001D0 80865EE0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008
|
||||
/* 001D4 80865EE4 460C3202 */ mul.s $f8, $f6, $f12
|
||||
/* 001D8 80865EE8 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 001DC 80865EEC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000
|
||||
/* 001E0 80865EF0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004
|
||||
/* 001E4 80865EF4 46028481 */ sub.s $f18, $f16, $f2
|
||||
/* 001E8 80865EF8 460C9102 */ mul.s $f4, $f18, $f12
|
||||
/* 001EC 80865EFC 46041180 */ add.s $f6, $f2, $f4
|
||||
/* 001F0 80865F00 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004
|
||||
/* 001F4 80865F04 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008
|
||||
/* 001F8 80865F08 460E4281 */ sub.s $f10, $f8, $f14
|
||||
/* 001FC 80865F0C 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00200 80865F10 46107480 */ add.s $f18, $f14, $f16
|
||||
/* 00204 80865F14 03E00008 */ jr $ra
|
||||
/* 00208 80865F18 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008
|
||||
|
||||
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
glabel func_80865F1C
|
||||
/* 0020C 80865F1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00210 80865F20 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00214 80865F24 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00218 80865F28 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 0021C 80865F2C 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00
|
||||
/* 00220 80865F30 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0
|
||||
/* 00224 80865F34 3C018086 */ lui $at, %hi(D_80867B98) ## $at = 80860000
|
||||
/* 00228 80865F38 4602003C */ c.lt.s $f0, $f2
|
||||
/* 0022C 80865F3C 00000000 */ nop
|
||||
/* 00230 80865F40 45000005 */ bc1f .L80865F58
|
||||
/* 00234 80865F44 00000000 */ nop
|
||||
/* 00238 80865F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0023C 80865F4C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00240 80865F50 10000012 */ beq $zero, $zero, .L80865F9C
|
||||
/* 00244 80865F54 94830166 */ lhu $v1, 0x0166($a0) ## 00000166
|
||||
.L80865F58:
|
||||
/* 00248 80865F58 C4247B98 */ lwc1 $f4, %lo(D_80867B98)($at)
|
||||
/* 0024C 80865F5C 3C018086 */ lui $at, %hi(D_80867B9C) ## $at = 80860000
|
||||
/* 00250 80865F60 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00254 80865F64 00000000 */ nop
|
||||
/* 00258 80865F68 45020006 */ bc1fl .L80865F84
|
||||
/* 0025C 80865F6C 46020181 */ sub.s $f6, $f0, $f2
|
||||
/* 00260 80865F70 3C01439B */ lui $at, 0x439B ## $at = 439B0000
|
||||
/* 00264 80865F74 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00
|
||||
/* 00268 80865F78 10000008 */ beq $zero, $zero, .L80865F9C
|
||||
/* 0026C 80865F7C 94830166 */ lhu $v1, 0x0166($a0) ## 00000166
|
||||
/* 00270 80865F80 46020181 */ sub.s $f6, $f0, $f2
|
||||
.L80865F84:
|
||||
/* 00274 80865F84 C4287B9C */ lwc1 $f8, %lo(D_80867B9C)($at)
|
||||
/* 00278 80865F88 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0027C 80865F8C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 00280 80865F90 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00284 80865F94 46105300 */ add.s $f12, $f10, $f16
|
||||
/* 00288 80865F98 94830166 */ lhu $v1, 0x0166($a0) ## 00000166
|
||||
.L80865F9C:
|
||||
/* 0028C 80865F9C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
|
||||
/* 00290 80865FA0 10600029 */ beq $v1, $zero, .L80866048
|
||||
/* 00294 80865FA4 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00298 80865FA8 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF
|
||||
/* 0029C 80865FAC 28610008 */ slti $at, $v1, 0x0008
|
||||
/* 002A0 80865FB0 A48E0166 */ sh $t6, 0x0166($a0) ## 00000166
|
||||
/* 002A4 80865FB4 14200024 */ bne $at, $zero, .L80866048
|
||||
/* 002A8 80865FB8 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 002AC 80865FBC 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7
|
||||
/* 002B0 80865FC0 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
|
||||
/* 002B4 80865FC4 3C018086 */ lui $at, %hi(D_80867BA0) ## $at = 80860000
|
||||
/* 002B8 80865FC8 C4267BA0 */ lwc1 $f6, %lo(D_80867BA0)($at)
|
||||
/* 002BC 80865FCC 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 002C0 80865FD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 002C4 80865FD4 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 002C8 80865FD8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 002CC 80865FDC 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 002D0 80865FE0 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 002D4 80865FE4 46062002 */ mul.s $f0, $f4, $f6
|
||||
/* 002D8 80865FE8 C4820158 */ lwc1 $f2, 0x0158($a0) ## 00000158
|
||||
/* 002DC 80865FEC 000240C0 */ sll $t0, $v0, 3
|
||||
/* 002E0 80865FF0 01024021 */ addu $t0, $t0, $v0
|
||||
/* 002E4 80865FF4 00084080 */ sll $t0, $t0, 2
|
||||
/* 002E8 80865FF8 01024023 */ subu $t0, $t0, $v0
|
||||
/* 002EC 80865FFC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8
|
||||
/* 002F0 80866000 46000002 */ mul.s $f0, $f0, $f0
|
||||
/* 002F4 80866004 46004281 */ sub.s $f10, $f8, $f0
|
||||
/* 002F8 80866008 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 002FC 8086600C 3C018086 */ lui $at, %hi(D_80867BA4) ## $at = 80860000
|
||||
/* 00300 80866010 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00304 80866014 46024281 */ sub.s $f10, $f8, $f2
|
||||
/* 00308 80866018 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0030C 8086601C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00310 80866020 44193000 */ mfc1 $t9, $f6
|
||||
/* 00314 80866024 00000000 */ nop
|
||||
/* 00318 80866028 A4990164 */ sh $t9, 0x0164($a0) ## 00000164
|
||||
/* 0031C 8086602C C4307BA4 */ lwc1 $f16, %lo(D_80867BA4)($at)
|
||||
/* 00320 80866030 28410010 */ slti $at, $v0, 0x0010
|
||||
/* 00324 80866034 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00328 80866038 46121100 */ add.s $f4, $f2, $f18
|
||||
/* 0032C 8086603C 10200002 */ beq $at, $zero, .L80866048
|
||||
/* 00330 80866040 E4840158 */ swc1 $f4, 0x0158($a0) ## 00000158
|
||||
/* 00334 80866044 A0890168 */ sb $t1, 0x0168($a0) ## 00000168
|
||||
.L80866048:
|
||||
/* 00338 80866048 28610009 */ slti $at, $v1, 0x0009
|
||||
/* 0033C 8086604C 1420000E */ bne $at, $zero, .L80866088
|
||||
/* 00340 80866050 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 00344 80866054 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00348 80866058 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 0034C 8086605C C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C
|
||||
/* 00350 80866060 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
|
||||
/* 00354 80866064 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00358 80866068 00000000 */ nop
|
||||
/* 0035C 8086606C 45020012 */ bc1fl .L808660B8
|
||||
/* 00360 80866070 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00364 80866074 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25
|
||||
/* 00368 80866078 94820166 */ lhu $v0, 0x0166($a0) ## 00000166
|
||||
/* 0036C 8086607C 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00370 80866080 1000000C */ beq $zero, $zero, .L808660B4
|
||||
/* 00374 80866084 E48A015C */ swc1 $f10, 0x015C($a0) ## 0000015C
|
||||
.L80866088:
|
||||
/* 00378 80866088 C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C
|
||||
/* 0037C 8086608C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00380 80866090 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000
|
||||
/* 00384 80866094 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00388 80866098 00000000 */ nop
|
||||
/* 0038C 8086609C 45020006 */ bc1fl .L808660B8
|
||||
/* 00390 808660A0 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00394 808660A4 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12
|
||||
/* 00398 808660A8 94820166 */ lhu $v0, 0x0166($a0) ## 00000166
|
||||
/* 0039C 808660AC 46120101 */ sub.s $f4, $f0, $f18
|
||||
/* 003A0 808660B0 E484015C */ swc1 $f4, 0x015C($a0) ## 0000015C
|
||||
.L808660B4:
|
||||
/* 003A4 808660B4 28410008 */ slti $at, $v0, 0x0008
|
||||
.L808660B8:
|
||||
/* 003A8 808660B8 10200003 */ beq $at, $zero, .L808660C8
|
||||
/* 003AC 808660BC 00000000 */ nop
|
||||
/* 003B0 808660C0 A0800168 */ sb $zero, 0x0168($a0) ## 00000168
|
||||
/* 003B4 808660C4 94820166 */ lhu $v0, 0x0166($a0) ## 00000166
|
||||
.L808660C8:
|
||||
/* 003B8 808660C8 54400004 */ bnel $v0, $zero, .L808660DC
|
||||
/* 003BC 808660CC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003C0 808660D0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 003C4 808660D4 A48A0166 */ sh $t2, 0x0166($a0) ## 00000166
|
||||
/* 003C8 808660D8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808660DC:
|
||||
/* 003CC 808660DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003D0 808660E0 03E00008 */ jr $ra
|
||||
/* 003D4 808660E4 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
glabel func_808660E8
|
||||
/* 003D8 808660E8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 003DC 808660EC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003E0 808660F0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003E4 808660F4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 003E8 808660F8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 003EC 808660FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003F0 80866100 10400004 */ beq $v0, $zero, .L80866114
|
||||
/* 003F4 80866104 00000000 */ nop
|
||||
/* 003F8 80866108 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 003FC 8086610C 55C00006 */ bnel $t6, $zero, .L80866128
|
||||
/* 00400 80866110 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L80866114:
|
||||
/* 00404 80866114 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00408 80866118 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0040C 8086611C 10000043 */ beq $zero, $zero, .L8086622C
|
||||
/* 00410 80866120 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00414 80866124 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L80866128:
|
||||
/* 00418 80866128 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 0041C 8086612C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00420 80866130 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024
|
||||
/* 00424 80866134 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028
|
||||
/* 00428 80866138 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028
|
||||
/* 0042C 8086613C 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C
|
||||
/* 00430 80866140 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C
|
||||
/* 00434 80866144 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4
|
||||
/* 00438 80866148 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7
|
||||
/* 0043C 8086614C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4
|
||||
/* 00440 80866150 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7
|
||||
/* 00444 80866154 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8
|
||||
/* 00448 80866158 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8
|
||||
/* 0044C 8086615C AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00450 80866160 AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00454 80866164 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 00458 80866168 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 0045C 8086616C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00460 80866170 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 00464 80866174 3C018086 */ lui $at, %hi(D_80867BA8) ## $at = 80860000
|
||||
/* 00468 80866178 C4247BA8 */ lwc1 $f4, %lo(D_80867BA8)($at)
|
||||
/* 0046C 8086617C 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 00470 80866180 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00474 80866184 46040082 */ mul.s $f2, $f0, $f4
|
||||
/* 00478 80866188 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 0047C 8086618C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
|
||||
/* 00480 80866190 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
|
||||
/* 00484 80866194 460C103C */ c.lt.s $f2, $f12
|
||||
/* 00488 80866198 E6020158 */ swc1 $f2, 0x0158($s0) ## 00000158
|
||||
/* 0048C 8086619C 45000002 */ bc1f .L808661A8
|
||||
/* 00490 808661A0 00000000 */ nop
|
||||
/* 00494 808661A4 E60C0158 */ swc1 $f12, 0x0158($s0) ## 00000158
|
||||
.L808661A8:
|
||||
/* 00498 808661A8 0C2197B3 */ jal func_80865ECC
|
||||
/* 0049C 808661AC AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 004A0 808661B0 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 004A4 808661B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004A8 808661B8 90490249 */ lbu $t1, 0x0249($v0) ## 00000249
|
||||
/* 004AC 808661BC 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
|
||||
/* 004B0 808661C0 5140000D */ beql $t2, $zero, .L808661F8
|
||||
/* 004B4 808661C4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
/* 004B8 808661C8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 004BC 808661CC 2405183A */ addiu $a1, $zero, 0x183A ## $a1 = 0000183A
|
||||
/* 004C0 808661D0 3C058086 */ lui $a1, %hi(func_80865F1C) ## $a1 = 80860000
|
||||
/* 004C4 808661D4 24A55F1C */ addiu $a1, $a1, %lo(func_80865F1C) ## $a1 = 80865F1C
|
||||
/* 004C8 808661D8 0C219744 */ jal func_80865D10
|
||||
/* 004CC 808661DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004D0 808661E0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
||||
/* 004D4 808661E4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 004D8 808661E8 A60B0166 */ sh $t3, 0x0166($s0) ## 00000166
|
||||
/* 004DC 808661EC 1000000E */ beq $zero, $zero, .L80866228
|
||||
/* 004E0 808661F0 A20C0168 */ sb $t4, 0x0168($s0) ## 00000168
|
||||
/* 004E4 808661F4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
.L808661F8:
|
||||
/* 004E8 808661F8 29A10022 */ slti $at, $t5, 0x0022
|
||||
/* 004EC 808661FC 5020000B */ beql $at, $zero, .L8086622C
|
||||
/* 004F0 80866200 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 004F4 80866204 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
|
||||
/* 004F8 80866208 28410023 */ slti $at, $v0, 0x0023
|
||||
/* 004FC 8086620C 10200005 */ beq $at, $zero, .L80866224
|
||||
/* 00500 80866210 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7
|
||||
/* 00504 80866214 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00508 80866218 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0050C 8086621C 10000003 */ beq $zero, $zero, .L8086622C
|
||||
/* 00510 80866220 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80866224:
|
||||
/* 00514 80866224 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168
|
||||
.L80866228:
|
||||
/* 00518 80866228 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8086622C:
|
||||
/* 0051C 8086622C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00520 80866230 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00524 80866234 03E00008 */ jr $ra
|
||||
/* 00528 80866238 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
glabel ArrowIce_Destroy
|
||||
/* 00080 80867D50 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00084 80867D54 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00088 80867D58 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0008C 80867D5C 0C021DB2 */ jal func_800876C8
|
||||
/* 00090 80867D60 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00094 80867D64 3C048087 */ lui $a0, %hi(D_80869B10) ## $a0 = 80870000
|
||||
/* 00098 80867D68 24849B10 */ addiu $a0, $a0, %lo(D_80869B10) ## $a0 = 80869B10
|
||||
/* 0009C 80867D6C 0C000B84 */ jal LogUtils_LogThreadId
|
||||
|
||||
/* 000A0 80867D70 2405019F */ addiu $a1, $zero, 0x019F ## $a1 = 0000019F
|
||||
/* 000A4 80867D74 3C048087 */ lui $a0, %hi(D_80869B24) ## $a0 = 80870000
|
||||
/* 000A8 80867D78 3C058087 */ lui $a1, %hi(D_80869B34) ## $a1 = 80870000
|
||||
/* 000AC 80867D7C 24A59B34 */ addiu $a1, $a1, %lo(D_80869B34) ## $a1 = 80869B34
|
||||
/* 000B0 80867D80 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000B4 80867D84 24849B24 */ addiu $a0, $a0, %lo(D_80869B24) ## $a0 = 80869B24
|
||||
/* 000B8 80867D88 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000BC 80867D8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 000C0 80867D90 03E00008 */ jr $ra
|
||||
/* 000C4 80867D94 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
glabel ArrowIce_Init
|
||||
/* 00008 80867CD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0000C 80867CDC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00010 80867CE0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 80867CE4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00018 80867CE8 3C058087 */ lui $a1, %hi(D_80869B00) ## $a1 = 80870000
|
||||
/* 0001C 80867CEC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 80867CF0 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00024 80867CF4 24A59B00 */ addiu $a1, $a1, %lo(D_80869B00) ## $a1 = 80869B00
|
||||
/* 00028 80867CF8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0002C 80867CFC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00030 80867D00 3C058086 */ lui $a1, %hi(func_80867D98) ## $a1 = 80860000
|
||||
/* 00034 80867D04 A600014C */ sh $zero, 0x014C($s0) ## 0000014C
|
||||
/* 00038 80867D08 24A57D98 */ addiu $a1, $a1, %lo(func_80867D98) ## $a1 = 80867D98
|
||||
/* 0003C 80867D0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00040 80867D10 0C219F34 */ jal func_80867CD0
|
||||
/* 00044 80867D14 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160
|
||||
/* 00048 80867D18 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 0004C 80867D1C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00050 80867D20 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00054 80867D24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00058 80867D28 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 0005C 80867D2C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
|
||||
/* 00060 80867D30 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150
|
||||
/* 00064 80867D34 A600014E */ sh $zero, 0x014E($s0) ## 0000014E
|
||||
/* 00068 80867D38 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164
|
||||
/* 0006C 80867D3C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00070 80867D40 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00074 80867D44 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00078 80867D48 03E00008 */ jr $ra
|
||||
/* 0007C 80867D4C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
glabel ArrowIce_Update
|
||||
/* 0052C 808681FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00530 80868200 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 00534 80868204 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00538 80868208 00451021 */ addu $v0, $v0, $a1
|
||||
/* 0053C 8086820C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC
|
||||
/* 00540 80868210 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00544 80868214 10410003 */ beq $v0, $at, .L80868224
|
||||
/* 00548 80868218 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 0054C 8086821C 54410006 */ bnel $v0, $at, .L80868238
|
||||
/* 00550 80868220 8C990168 */ lw $t9, 0x0168($a0) ## 00000168
|
||||
.L80868224:
|
||||
/* 00554 80868224 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00558 80868228 00000000 */ nop
|
||||
/* 0055C 8086822C 10000005 */ beq $zero, $zero, .L80868244
|
||||
/* 00560 80868230 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00564 80868234 8C990168 */ lw $t9, 0x0168($a0) ## 00000168
|
||||
.L80868238:
|
||||
/* 00568 80868238 0320F809 */ jalr $ra, $t9
|
||||
/* 0056C 8086823C 00000000 */ nop
|
||||
/* 00570 80868240 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80868244:
|
||||
/* 00574 80868244 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00578 80868248 03E00008 */ jr $ra
|
||||
/* 0057C 8086824C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80867CD0
|
||||
/* 00000 80867CD0 03E00008 */ jr $ra
|
||||
/* 00004 80867CD4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168
|
||||
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
glabel func_80867D98
|
||||
/* 000C8 80867D98 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 000CC 80867D9C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000D0 80867DA0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 000D4 80867DA4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 000D8 80867DA8 10400004 */ beq $v0, $zero, .L80867DBC
|
||||
/* 000DC 80867DAC 00000000 */ nop
|
||||
/* 000E0 80867DB0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 000E4 80867DB4 55C00006 */ bnel $t6, $zero, .L80867DD0
|
||||
/* 000E8 80867DB8 8483014C */ lh $v1, 0x014C($a0) ## 0000014C
|
||||
.L80867DBC:
|
||||
/* 000EC 80867DBC 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 000F0 80867DC0 00000000 */ nop
|
||||
/* 000F4 80867DC4 1000002E */ beq $zero, $zero, .L80867E80
|
||||
/* 000F8 80867DC8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000FC 80867DCC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C
|
||||
.L80867DD0:
|
||||
/* 00100 80867DD0 2861000A */ slti $at, $v1, 0x000A
|
||||
/* 00104 80867DD4 10200002 */ beq $at, $zero, .L80867DE0
|
||||
/* 00108 80867DD8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
|
||||
/* 0010C 80867DDC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C
|
||||
.L80867DE0:
|
||||
/* 00110 80867DE0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024
|
||||
/* 00114 80867DE4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024
|
||||
/* 00118 80867DE8 2405007E */ addiu $a1, $zero, 0x007E ## $a1 = 0000007E
|
||||
/* 0011C 80867DEC AC790000 */ sw $t9, 0x0000($v1) ## 00000024
|
||||
/* 00120 80867DF0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028
|
||||
/* 00124 80867DF4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028
|
||||
/* 00128 80867DF8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C
|
||||
/* 0012C 80867DFC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C
|
||||
/* 00130 80867E00 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4
|
||||
/* 00134 80867E04 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7
|
||||
/* 00138 80867E08 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4
|
||||
/* 0013C 80867E0C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7
|
||||
/* 00140 80867E10 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8
|
||||
/* 00144 80867E14 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8
|
||||
/* 00148 80867E18 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0014C 80867E1C AFA30018 */ sw $v1, 0x0018($sp)
|
||||
/* 00150 80867E20 0C00BE5D */ jal func_8002F974
|
||||
/* 00154 80867E24 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00158 80867E28 8FA2001C */ lw $v0, 0x001C($sp)
|
||||
/* 0015C 80867E2C 8FA30018 */ lw $v1, 0x0018($sp)
|
||||
/* 00160 80867E30 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00164 80867E34 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118
|
||||
/* 00168 80867E38 55400011 */ bnel $t2, $zero, .L80867E80
|
||||
/* 0016C 80867E3C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00170 80867E40 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000
|
||||
/* 00174 80867E44 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
|
||||
/* 00178 80867E48 3C058087 */ lui $a1, %hi(func_808680A8) ## $a1 = 80870000
|
||||
/* 0017C 80867E4C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154
|
||||
/* 00180 80867E50 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004
|
||||
/* 00184 80867E54 24A580A8 */ addiu $a1, $a1, %lo(func_808680A8) ## $a1 = 808680A8
|
||||
/* 00188 80867E58 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158
|
||||
/* 0018C 80867E5C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008
|
||||
/* 00190 80867E60 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C
|
||||
/* 00194 80867E64 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C
|
||||
/* 00198 80867E68 0C219F34 */ jal func_80867CD0
|
||||
/* 0019C 80867E6C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 001A0 80867E70 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 001A4 80867E74 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 001A8 80867E78 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150
|
||||
/* 001AC 80867E7C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80867E80:
|
||||
/* 001B0 80867E80 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 001B4 80867E84 03E00008 */ jr $ra
|
||||
/* 001B8 80867E88 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
glabel func_80867E8C
|
||||
/* 001BC 80867E8C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000
|
||||
/* 001C0 80867E90 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
|
||||
/* 001C4 80867E94 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
|
||||
/* 001C8 80867E98 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004
|
||||
/* 001CC 80867E9C 46002181 */ sub.s $f6, $f4, $f0
|
||||
/* 001D0 80867EA0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008
|
||||
/* 001D4 80867EA4 460C3202 */ mul.s $f8, $f6, $f12
|
||||
/* 001D8 80867EA8 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 001DC 80867EAC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000
|
||||
/* 001E0 80867EB0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004
|
||||
/* 001E4 80867EB4 46028481 */ sub.s $f18, $f16, $f2
|
||||
/* 001E8 80867EB8 460C9102 */ mul.s $f4, $f18, $f12
|
||||
/* 001EC 80867EBC 46041180 */ add.s $f6, $f2, $f4
|
||||
/* 001F0 80867EC0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004
|
||||
/* 001F4 80867EC4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008
|
||||
/* 001F8 80867EC8 460E4281 */ sub.s $f10, $f8, $f14
|
||||
/* 001FC 80867ECC 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00200 80867ED0 46107480 */ add.s $f18, $f14, $f16
|
||||
/* 00204 80867ED4 03E00008 */ jr $ra
|
||||
/* 00208 80867ED8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008
|
||||
|
||||
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
glabel func_80867EDC
|
||||
/* 0020C 80867EDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00210 80867EE0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00214 80867EE4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00218 80867EE8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 0021C 80867EEC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00
|
||||
/* 00220 80867EF0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0
|
||||
/* 00224 80867EF4 3C018087 */ lui $at, %hi(D_80869B78) ## $at = 80870000
|
||||
/* 00228 80867EF8 4602003C */ c.lt.s $f0, $f2
|
||||
/* 0022C 80867EFC 00000000 */ nop
|
||||
/* 00230 80867F00 45000005 */ bc1f .L80867F18
|
||||
/* 00234 80867F04 00000000 */ nop
|
||||
/* 00238 80867F08 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0023C 80867F0C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00240 80867F10 10000012 */ beq $zero, $zero, .L80867F5C
|
||||
/* 00244 80867F14 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
.L80867F18:
|
||||
/* 00248 80867F18 C4249B78 */ lwc1 $f4, %lo(D_80869B78)($at)
|
||||
/* 0024C 80867F1C 3C018087 */ lui $at, %hi(D_80869B7C) ## $at = 80870000
|
||||
/* 00250 80867F20 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00254 80867F24 00000000 */ nop
|
||||
/* 00258 80867F28 45020006 */ bc1fl .L80867F44
|
||||
/* 0025C 80867F2C 46020181 */ sub.s $f6, $f0, $f2
|
||||
/* 00260 80867F30 3C01439B */ lui $at, 0x439B ## $at = 439B0000
|
||||
/* 00264 80867F34 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00
|
||||
/* 00268 80867F38 10000008 */ beq $zero, $zero, .L80867F5C
|
||||
/* 0026C 80867F3C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
/* 00270 80867F40 46020181 */ sub.s $f6, $f0, $f2
|
||||
.L80867F44:
|
||||
/* 00274 80867F44 C4289B7C */ lwc1 $f8, %lo(D_80869B7C)($at)
|
||||
/* 00278 80867F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0027C 80867F4C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 00280 80867F50 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00284 80867F54 46105300 */ add.s $f12, $f10, $f16
|
||||
/* 00288 80867F58 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
.L80867F5C:
|
||||
/* 0028C 80867F5C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
|
||||
/* 00290 80867F60 10600029 */ beq $v1, $zero, .L80868008
|
||||
/* 00294 80867F64 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00298 80867F68 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF
|
||||
/* 0029C 80867F6C 28610008 */ slti $at, $v1, 0x0008
|
||||
/* 002A0 80867F70 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E
|
||||
/* 002A4 80867F74 14200024 */ bne $at, $zero, .L80868008
|
||||
/* 002A8 80867F78 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 002AC 80867F7C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7
|
||||
/* 002B0 80867F80 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
|
||||
/* 002B4 80867F84 3C018087 */ lui $at, %hi(D_80869B80) ## $at = 80870000
|
||||
/* 002B8 80867F88 C4269B80 */ lwc1 $f6, %lo(D_80869B80)($at)
|
||||
/* 002BC 80867F8C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 002C0 80867F90 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 002C4 80867F94 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 002C8 80867F98 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 002CC 80867F9C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 002D0 80867FA0 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 002D4 80867FA4 46062002 */ mul.s $f0, $f4, $f6
|
||||
/* 002D8 80867FA8 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160
|
||||
/* 002DC 80867FAC 000240C0 */ sll $t0, $v0, 3
|
||||
/* 002E0 80867FB0 01024021 */ addu $t0, $t0, $v0
|
||||
/* 002E4 80867FB4 00084080 */ sll $t0, $t0, 2
|
||||
/* 002E8 80867FB8 01024023 */ subu $t0, $t0, $v0
|
||||
/* 002EC 80867FBC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8
|
||||
/* 002F0 80867FC0 46000002 */ mul.s $f0, $f0, $f0
|
||||
/* 002F4 80867FC4 46004281 */ sub.s $f10, $f8, $f0
|
||||
/* 002F8 80867FC8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 002FC 80867FCC 3C018087 */ lui $at, %hi(D_80869B84) ## $at = 80870000
|
||||
/* 00300 80867FD0 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00304 80867FD4 46024281 */ sub.s $f10, $f8, $f2
|
||||
/* 00308 80867FD8 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0030C 80867FDC 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00310 80867FE0 44193000 */ mfc1 $t9, $f6
|
||||
/* 00314 80867FE4 00000000 */ nop
|
||||
/* 00318 80867FE8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C
|
||||
/* 0031C 80867FEC C4309B84 */ lwc1 $f16, %lo(D_80869B84)($at)
|
||||
/* 00320 80867FF0 28410010 */ slti $at, $v0, 0x0010
|
||||
/* 00324 80867FF4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00328 80867FF8 46121100 */ add.s $f4, $f2, $f18
|
||||
/* 0032C 80867FFC 10200002 */ beq $at, $zero, .L80868008
|
||||
/* 00330 80868000 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160
|
||||
/* 00334 80868004 A0890150 */ sb $t1, 0x0150($a0) ## 00000150
|
||||
.L80868008:
|
||||
/* 00338 80868008 28610009 */ slti $at, $v1, 0x0009
|
||||
/* 0033C 8086800C 1420000E */ bne $at, $zero, .L80868048
|
||||
/* 00340 80868010 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 00344 80868014 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00348 80868018 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 0034C 8086801C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00350 80868020 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
|
||||
/* 00354 80868024 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00358 80868028 00000000 */ nop
|
||||
/* 0035C 8086802C 45020012 */ bc1fl .L80868078
|
||||
/* 00360 80868030 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00364 80868034 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25
|
||||
/* 00368 80868038 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
/* 0036C 8086803C 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00370 80868040 1000000C */ beq $zero, $zero, .L80868074
|
||||
/* 00374 80868044 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164
|
||||
.L80868048:
|
||||
/* 00378 80868048 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 0037C 8086804C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00380 80868050 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000
|
||||
/* 00384 80868054 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00388 80868058 00000000 */ nop
|
||||
/* 0038C 8086805C 45020006 */ bc1fl .L80868078
|
||||
/* 00390 80868060 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00394 80868064 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12
|
||||
/* 00398 80868068 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
/* 0039C 8086806C 46120101 */ sub.s $f4, $f0, $f18
|
||||
/* 003A0 80868070 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164
|
||||
.L80868074:
|
||||
/* 003A4 80868074 28410008 */ slti $at, $v0, 0x0008
|
||||
.L80868078:
|
||||
/* 003A8 80868078 10200003 */ beq $at, $zero, .L80868088
|
||||
/* 003AC 8086807C 00000000 */ nop
|
||||
/* 003B0 80868080 A0800150 */ sb $zero, 0x0150($a0) ## 00000150
|
||||
/* 003B4 80868084 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
.L80868088:
|
||||
/* 003B8 80868088 54400004 */ bnel $v0, $zero, .L8086809C
|
||||
/* 003BC 8086808C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003C0 80868090 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 003C4 80868094 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E
|
||||
/* 003C8 80868098 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8086809C:
|
||||
/* 003CC 8086809C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003D0 808680A0 03E00008 */ jr $ra
|
||||
/* 003D4 808680A4 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
glabel func_808680A8
|
||||
/* 003D8 808680A8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 003DC 808680AC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003E0 808680B0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003E4 808680B4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 003E8 808680B8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 003EC 808680BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003F0 808680C0 10400004 */ beq $v0, $zero, .L808680D4
|
||||
/* 003F4 808680C4 00000000 */ nop
|
||||
/* 003F8 808680C8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 003FC 808680CC 55C00006 */ bnel $t6, $zero, .L808680E8
|
||||
/* 00400 808680D0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L808680D4:
|
||||
/* 00404 808680D4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00408 808680D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0040C 808680DC 10000043 */ beq $zero, $zero, .L808681EC
|
||||
/* 00410 808680E0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00414 808680E4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L808680E8:
|
||||
/* 00418 808680E8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 0041C 808680EC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154
|
||||
/* 00420 808680F0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024
|
||||
/* 00424 808680F4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028
|
||||
/* 00428 808680F8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028
|
||||
/* 0042C 808680FC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C
|
||||
/* 00430 80868100 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C
|
||||
/* 00434 80868104 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4
|
||||
/* 00438 80868108 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7
|
||||
/* 0043C 8086810C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4
|
||||
/* 00440 80868110 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7
|
||||
/* 00444 80868114 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8
|
||||
/* 00448 80868118 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8
|
||||
/* 0044C 8086811C AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00450 80868120 AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00454 80868124 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 00458 80868128 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 0045C 8086812C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00460 80868130 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 00464 80868134 3C018087 */ lui $at, %hi(D_80869B88) ## $at = 80870000
|
||||
/* 00468 80868138 C4249B88 */ lwc1 $f4, %lo(D_80869B88)($at)
|
||||
/* 0046C 8086813C 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 00470 80868140 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00474 80868144 46040082 */ mul.s $f2, $f0, $f4
|
||||
/* 00478 80868148 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 0047C 8086814C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
|
||||
/* 00480 80868150 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
|
||||
/* 00484 80868154 460C103C */ c.lt.s $f2, $f12
|
||||
/* 00488 80868158 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160
|
||||
/* 0048C 8086815C 45000002 */ bc1f .L80868168
|
||||
/* 00490 80868160 00000000 */ nop
|
||||
/* 00494 80868164 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160
|
||||
.L80868168:
|
||||
/* 00498 80868168 0C219FA3 */ jal func_80867E8C
|
||||
/* 0049C 8086816C AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 004A0 80868170 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 004A4 80868174 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004A8 80868178 90490249 */ lbu $t1, 0x0249($v0) ## 00000249
|
||||
/* 004AC 8086817C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
|
||||
/* 004B0 80868180 5140000D */ beql $t2, $zero, .L808681B8
|
||||
/* 004B4 80868184 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
/* 004B8 80868188 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 004BC 8086818C 2405183B */ addiu $a1, $zero, 0x183B ## $a1 = 0000183B
|
||||
/* 004C0 80868190 3C058086 */ lui $a1, %hi(func_80867EDC) ## $a1 = 80860000
|
||||
/* 004C4 80868194 24A57EDC */ addiu $a1, $a1, %lo(func_80867EDC) ## $a1 = 80867EDC
|
||||
/* 004C8 80868198 0C219F34 */ jal func_80867CD0
|
||||
/* 004CC 8086819C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004D0 808681A0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
||||
/* 004D4 808681A4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 004D8 808681A8 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E
|
||||
/* 004DC 808681AC 1000000E */ beq $zero, $zero, .L808681E8
|
||||
/* 004E0 808681B0 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150
|
||||
/* 004E4 808681B4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
.L808681B8:
|
||||
/* 004E8 808681B8 29A10022 */ slti $at, $t5, 0x0022
|
||||
/* 004EC 808681BC 5020000B */ beql $at, $zero, .L808681EC
|
||||
/* 004F0 808681C0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 004F4 808681C4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150
|
||||
/* 004F8 808681C8 28410023 */ slti $at, $v0, 0x0023
|
||||
/* 004FC 808681CC 10200005 */ beq $at, $zero, .L808681E4
|
||||
/* 00500 808681D0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7
|
||||
/* 00504 808681D4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00508 808681D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0050C 808681DC 10000003 */ beq $zero, $zero, .L808681EC
|
||||
/* 00510 808681E0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808681E4:
|
||||
/* 00514 808681E4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150
|
||||
.L808681E8:
|
||||
/* 00518 808681E8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808681EC:
|
||||
/* 0051C 808681EC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00520 808681F0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00524 808681F4 03E00008 */ jr $ra
|
||||
/* 00528 808681F8 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
glabel ArrowLight_Destroy
|
||||
/* 00080 80869D30 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00084 80869D34 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00088 80869D38 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0008C 80869D3C 0C021DB2 */ jal func_800876C8
|
||||
/* 00090 80869D40 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00094 80869D44 3C048087 */ lui $a0, %hi(D_8086BB00) ## $a0 = 80870000
|
||||
/* 00098 80869D48 2484BB00 */ addiu $a0, $a0, %lo(D_8086BB00) ## $a0 = 8086BB00
|
||||
/* 0009C 80869D4C 0C000B84 */ jal LogUtils_LogThreadId
|
||||
|
||||
/* 000A0 80869D50 24050193 */ addiu $a1, $zero, 0x0193 ## $a1 = 00000193
|
||||
/* 000A4 80869D54 3C048087 */ lui $a0, %hi(D_8086BB14) ## $a0 = 80870000
|
||||
/* 000A8 80869D58 3C058087 */ lui $a1, %hi(D_8086BB24) ## $a1 = 80870000
|
||||
/* 000AC 80869D5C 24A5BB24 */ addiu $a1, $a1, %lo(D_8086BB24) ## $a1 = 8086BB24
|
||||
/* 000B0 80869D60 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000B4 80869D64 2484BB14 */ addiu $a0, $a0, %lo(D_8086BB14) ## $a0 = 8086BB14
|
||||
/* 000B8 80869D68 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000BC 80869D6C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 000C0 80869D70 03E00008 */ jr $ra
|
||||
/* 000C4 80869D74 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
glabel ArrowLight_Init
|
||||
/* 00008 80869CB8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0000C 80869CBC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00010 80869CC0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 80869CC4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00018 80869CC8 3C058087 */ lui $a1, %hi(D_8086BAF0) ## $a1 = 80870000
|
||||
/* 0001C 80869CCC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 80869CD0 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00024 80869CD4 24A5BAF0 */ addiu $a1, $a1, %lo(D_8086BAF0) ## $a1 = 8086BAF0
|
||||
/* 00028 80869CD8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0002C 80869CDC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00030 80869CE0 3C058087 */ lui $a1, %hi(func_80869D78) ## $a1 = 80870000
|
||||
/* 00034 80869CE4 A600014C */ sh $zero, 0x014C($s0) ## 0000014C
|
||||
/* 00038 80869CE8 24A59D78 */ addiu $a1, $a1, %lo(func_80869D78) ## $a1 = 80869D78
|
||||
/* 0003C 80869CEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00040 80869CF0 0C21A72C */ jal func_80869CB0
|
||||
/* 00044 80869CF4 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160
|
||||
/* 00048 80869CF8 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 0004C 80869CFC 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00050 80869D00 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00054 80869D04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00058 80869D08 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 0005C 80869D0C 240E0082 */ addiu $t6, $zero, 0x0082 ## $t6 = 00000082
|
||||
/* 00060 80869D10 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150
|
||||
/* 00064 80869D14 A600014E */ sh $zero, 0x014E($s0) ## 0000014E
|
||||
/* 00068 80869D18 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164
|
||||
/* 0006C 80869D1C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00070 80869D20 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00074 80869D24 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00078 80869D28 03E00008 */ jr $ra
|
||||
/* 0007C 80869D2C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
glabel ArrowLight_Update
|
||||
/* 0052C 8086A1DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00530 8086A1E0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 00534 8086A1E4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00538 8086A1E8 00451021 */ addu $v0, $v0, $a1
|
||||
/* 0053C 8086A1EC 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC
|
||||
/* 00540 8086A1F0 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00544 8086A1F4 10410003 */ beq $v0, $at, .L8086A204
|
||||
/* 00548 8086A1F8 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 0054C 8086A1FC 54410006 */ bnel $v0, $at, .L8086A218
|
||||
/* 00550 8086A200 8C990168 */ lw $t9, 0x0168($a0) ## 00000168
|
||||
.L8086A204:
|
||||
/* 00554 8086A204 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00558 8086A208 00000000 */ nop
|
||||
/* 0055C 8086A20C 10000005 */ beq $zero, $zero, .L8086A224
|
||||
/* 00560 8086A210 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00564 8086A214 8C990168 */ lw $t9, 0x0168($a0) ## 00000168
|
||||
.L8086A218:
|
||||
/* 00568 8086A218 0320F809 */ jalr $ra, $t9
|
||||
/* 0056C 8086A21C 00000000 */ nop
|
||||
/* 00570 8086A220 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8086A224:
|
||||
/* 00574 8086A224 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00578 8086A228 03E00008 */ jr $ra
|
||||
/* 0057C 8086A22C 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80869CB0
|
||||
/* 00000 80869CB0 03E00008 */ jr $ra
|
||||
/* 00004 80869CB4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168
|
||||
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
glabel func_80869D78
|
||||
/* 000C8 80869D78 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 000CC 80869D7C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000D0 80869D80 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 000D4 80869D84 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 000D8 80869D88 10400004 */ beq $v0, $zero, .L80869D9C
|
||||
/* 000DC 80869D8C 00000000 */ nop
|
||||
/* 000E0 80869D90 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 000E4 80869D94 55C00006 */ bnel $t6, $zero, .L80869DB0
|
||||
/* 000E8 80869D98 8483014C */ lh $v1, 0x014C($a0) ## 0000014C
|
||||
.L80869D9C:
|
||||
/* 000EC 80869D9C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 000F0 80869DA0 00000000 */ nop
|
||||
/* 000F4 80869DA4 1000002E */ beq $zero, $zero, .L80869E60
|
||||
/* 000F8 80869DA8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000FC 80869DAC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C
|
||||
.L80869DB0:
|
||||
/* 00100 80869DB0 2861000A */ slti $at, $v1, 0x000A
|
||||
/* 00104 80869DB4 10200002 */ beq $at, $zero, .L80869DC0
|
||||
/* 00108 80869DB8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
|
||||
/* 0010C 80869DBC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C
|
||||
.L80869DC0:
|
||||
/* 00110 80869DC0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024
|
||||
/* 00114 80869DC4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024
|
||||
/* 00118 80869DC8 2405007F */ addiu $a1, $zero, 0x007F ## $a1 = 0000007F
|
||||
/* 0011C 80869DCC AC790000 */ sw $t9, 0x0000($v1) ## 00000024
|
||||
/* 00120 80869DD0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028
|
||||
/* 00124 80869DD4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028
|
||||
/* 00128 80869DD8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C
|
||||
/* 0012C 80869DDC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C
|
||||
/* 00130 80869DE0 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4
|
||||
/* 00134 80869DE4 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7
|
||||
/* 00138 80869DE8 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4
|
||||
/* 0013C 80869DEC B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7
|
||||
/* 00140 80869DF0 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8
|
||||
/* 00144 80869DF4 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8
|
||||
/* 00148 80869DF8 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0014C 80869DFC AFA30018 */ sw $v1, 0x0018($sp)
|
||||
/* 00150 80869E00 0C00BE5D */ jal func_8002F974
|
||||
/* 00154 80869E04 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00158 80869E08 8FA2001C */ lw $v0, 0x001C($sp)
|
||||
/* 0015C 80869E0C 8FA30018 */ lw $v1, 0x0018($sp)
|
||||
/* 00160 80869E10 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00164 80869E14 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118
|
||||
/* 00168 80869E18 55400011 */ bnel $t2, $zero, .L80869E60
|
||||
/* 0016C 80869E1C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00170 80869E20 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000
|
||||
/* 00174 80869E24 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
|
||||
/* 00178 80869E28 3C058087 */ lui $a1, %hi(func_8086A088) ## $a1 = 80870000
|
||||
/* 0017C 80869E2C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154
|
||||
/* 00180 80869E30 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004
|
||||
/* 00184 80869E34 24A5A088 */ addiu $a1, $a1, %lo(func_8086A088) ## $a1 = 8086A088
|
||||
/* 00188 80869E38 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158
|
||||
/* 0018C 80869E3C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008
|
||||
/* 00190 80869E40 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C
|
||||
/* 00194 80869E44 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C
|
||||
/* 00198 80869E48 0C21A72C */ jal func_80869CB0
|
||||
/* 0019C 80869E4C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 001A0 80869E50 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 001A4 80869E54 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 001A8 80869E58 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150
|
||||
/* 001AC 80869E5C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80869E60:
|
||||
/* 001B0 80869E60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 001B4 80869E64 03E00008 */ jr $ra
|
||||
/* 001B8 80869E68 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
glabel func_80869E6C
|
||||
/* 001BC 80869E6C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000
|
||||
/* 001C0 80869E70 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
|
||||
/* 001C4 80869E74 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
|
||||
/* 001C8 80869E78 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004
|
||||
/* 001CC 80869E7C 46002181 */ sub.s $f6, $f4, $f0
|
||||
/* 001D0 80869E80 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008
|
||||
/* 001D4 80869E84 460C3202 */ mul.s $f8, $f6, $f12
|
||||
/* 001D8 80869E88 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 001DC 80869E8C E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000
|
||||
/* 001E0 80869E90 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004
|
||||
/* 001E4 80869E94 46028481 */ sub.s $f18, $f16, $f2
|
||||
/* 001E8 80869E98 460C9102 */ mul.s $f4, $f18, $f12
|
||||
/* 001EC 80869E9C 46041180 */ add.s $f6, $f2, $f4
|
||||
/* 001F0 80869EA0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004
|
||||
/* 001F4 80869EA4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008
|
||||
/* 001F8 80869EA8 460E4281 */ sub.s $f10, $f8, $f14
|
||||
/* 001FC 80869EAC 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00200 80869EB0 46107480 */ add.s $f18, $f14, $f16
|
||||
/* 00204 80869EB4 03E00008 */ jr $ra
|
||||
/* 00208 80869EB8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008
|
||||
|
||||
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
glabel func_80869EBC
|
||||
/* 0020C 80869EBC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00210 80869EC0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00214 80869EC4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00218 80869EC8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 0021C 80869ECC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00
|
||||
/* 00220 80869ED0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0
|
||||
/* 00224 80869ED4 3C018087 */ lui $at, %hi(D_8086BB68) ## $at = 80870000
|
||||
/* 00228 80869ED8 4602003C */ c.lt.s $f0, $f2
|
||||
/* 0022C 80869EDC 00000000 */ nop
|
||||
/* 00230 80869EE0 45000005 */ bc1f .L80869EF8
|
||||
/* 00234 80869EE4 00000000 */ nop
|
||||
/* 00238 80869EE8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0023C 80869EEC 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 00240 80869EF0 10000012 */ beq $zero, $zero, .L80869F3C
|
||||
/* 00244 80869EF4 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
.L80869EF8:
|
||||
/* 00248 80869EF8 C424BB68 */ lwc1 $f4, %lo(D_8086BB68)($at)
|
||||
/* 0024C 80869EFC 3C018087 */ lui $at, %hi(D_8086BB6C) ## $at = 80870000
|
||||
/* 00250 80869F00 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00254 80869F04 00000000 */ nop
|
||||
/* 00258 80869F08 45020006 */ bc1fl .L80869F24
|
||||
/* 0025C 80869F0C 46020181 */ sub.s $f6, $f0, $f2
|
||||
/* 00260 80869F10 3C01439B */ lui $at, 0x439B ## $at = 439B0000
|
||||
/* 00264 80869F14 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00
|
||||
/* 00268 80869F18 10000008 */ beq $zero, $zero, .L80869F3C
|
||||
/* 0026C 80869F1C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
/* 00270 80869F20 46020181 */ sub.s $f6, $f0, $f2
|
||||
.L80869F24:
|
||||
/* 00274 80869F24 C428BB6C */ lwc1 $f8, %lo(D_8086BB6C)($at)
|
||||
/* 00278 80869F28 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0027C 80869F2C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 00280 80869F30 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00284 80869F34 46105300 */ add.s $f12, $f10, $f16
|
||||
/* 00288 80869F38 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E
|
||||
.L80869F3C:
|
||||
/* 0028C 80869F3C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
|
||||
/* 00290 80869F40 10600029 */ beq $v1, $zero, .L80869FE8
|
||||
/* 00294 80869F44 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00298 80869F48 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF
|
||||
/* 0029C 80869F4C 28610008 */ slti $at, $v1, 0x0008
|
||||
/* 002A0 80869F50 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E
|
||||
/* 002A4 80869F54 14200024 */ bne $at, $zero, .L80869FE8
|
||||
/* 002A8 80869F58 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 002AC 80869F5C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7
|
||||
/* 002B0 80869F60 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
|
||||
/* 002B4 80869F64 3C018087 */ lui $at, %hi(D_8086BB70) ## $at = 80870000
|
||||
/* 002B8 80869F68 C426BB70 */ lwc1 $f6, %lo(D_8086BB70)($at)
|
||||
/* 002BC 80869F6C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 002C0 80869F70 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 002C4 80869F74 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 002C8 80869F78 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 002CC 80869F7C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 002D0 80869F80 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 002D4 80869F84 46062002 */ mul.s $f0, $f4, $f6
|
||||
/* 002D8 80869F88 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160
|
||||
/* 002DC 80869F8C 000240C0 */ sll $t0, $v0, 3
|
||||
/* 002E0 80869F90 01024021 */ addu $t0, $t0, $v0
|
||||
/* 002E4 80869F94 00084080 */ sll $t0, $t0, 2
|
||||
/* 002E8 80869F98 01024023 */ subu $t0, $t0, $v0
|
||||
/* 002EC 80869F9C 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8
|
||||
/* 002F0 80869FA0 46000002 */ mul.s $f0, $f0, $f0
|
||||
/* 002F4 80869FA4 46004281 */ sub.s $f10, $f8, $f0
|
||||
/* 002F8 80869FA8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 002FC 80869FAC 3C018087 */ lui $at, %hi(D_8086BB74) ## $at = 80870000
|
||||
/* 00300 80869FB0 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* 00304 80869FB4 46024281 */ sub.s $f10, $f8, $f2
|
||||
/* 00308 80869FB8 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0030C 80869FBC 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00310 80869FC0 44193000 */ mfc1 $t9, $f6
|
||||
/* 00314 80869FC4 00000000 */ nop
|
||||
/* 00318 80869FC8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C
|
||||
/* 0031C 80869FCC C430BB74 */ lwc1 $f16, %lo(D_8086BB74)($at)
|
||||
/* 00320 80869FD0 28410010 */ slti $at, $v0, 0x0010
|
||||
/* 00324 80869FD4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00328 80869FD8 46121100 */ add.s $f4, $f2, $f18
|
||||
/* 0032C 80869FDC 10200002 */ beq $at, $zero, .L80869FE8
|
||||
/* 00330 80869FE0 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160
|
||||
/* 00334 80869FE4 A0890150 */ sb $t1, 0x0150($a0) ## 00000150
|
||||
.L80869FE8:
|
||||
/* 00338 80869FE8 28610009 */ slti $at, $v1, 0x0009
|
||||
/* 0033C 80869FEC 1420000E */ bne $at, $zero, .L8086A028
|
||||
/* 00340 80869FF0 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF
|
||||
/* 00344 80869FF4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00348 80869FF8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 0034C 80869FFC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00350 8086A000 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
|
||||
/* 00354 8086A004 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00358 8086A008 00000000 */ nop
|
||||
/* 0035C 8086A00C 45020012 */ bc1fl .L8086A058
|
||||
/* 00360 8086A010 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00364 8086A014 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25
|
||||
/* 00368 8086A018 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
/* 0036C 8086A01C 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00370 8086A020 1000000C */ beq $zero, $zero, .L8086A054
|
||||
/* 00374 8086A024 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164
|
||||
.L8086A028:
|
||||
/* 00378 8086A028 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 0037C 8086A02C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00380 8086A030 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000
|
||||
/* 00384 8086A034 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00388 8086A038 00000000 */ nop
|
||||
/* 0038C 8086A03C 45020006 */ bc1fl .L8086A058
|
||||
/* 00390 8086A040 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 00394 8086A044 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12
|
||||
/* 00398 8086A048 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
/* 0039C 8086A04C 46120101 */ sub.s $f4, $f0, $f18
|
||||
/* 003A0 8086A050 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164
|
||||
.L8086A054:
|
||||
/* 003A4 8086A054 28410008 */ slti $at, $v0, 0x0008
|
||||
.L8086A058:
|
||||
/* 003A8 8086A058 10200003 */ beq $at, $zero, .L8086A068
|
||||
/* 003AC 8086A05C 00000000 */ nop
|
||||
/* 003B0 8086A060 A0800150 */ sb $zero, 0x0150($a0) ## 00000150
|
||||
/* 003B4 8086A064 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E
|
||||
.L8086A068:
|
||||
/* 003B8 8086A068 54400004 */ bnel $v0, $zero, .L8086A07C
|
||||
/* 003BC 8086A06C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003C0 8086A070 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 003C4 8086A074 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E
|
||||
/* 003C8 8086A078 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8086A07C:
|
||||
/* 003CC 8086A07C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003D0 8086A080 03E00008 */ jr $ra
|
||||
/* 003D4 8086A084 00000000 */ nop
|
||||
|
||||
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
glabel func_8086A088
|
||||
/* 003D8 8086A088 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 003DC 8086A08C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003E0 8086A090 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003E4 8086A094 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 003E8 8086A098 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
|
||||
/* 003EC 8086A09C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003F0 8086A0A0 10400004 */ beq $v0, $zero, .L8086A0B4
|
||||
/* 003F4 8086A0A4 00000000 */ nop
|
||||
/* 003F8 8086A0A8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
|
||||
/* 003FC 8086A0AC 55C00006 */ bnel $t6, $zero, .L8086A0C8
|
||||
/* 00400 8086A0B0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L8086A0B4:
|
||||
/* 00404 8086A0B4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00408 8086A0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0040C 8086A0BC 10000043 */ beq $zero, $zero, .L8086A1CC
|
||||
/* 00410 8086A0C0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00414 8086A0C4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024
|
||||
.L8086A0C8:
|
||||
/* 00418 8086A0C8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 0041C 8086A0CC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154
|
||||
/* 00420 8086A0D0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024
|
||||
/* 00424 8086A0D4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028
|
||||
/* 00428 8086A0D8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028
|
||||
/* 0042C 8086A0DC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C
|
||||
/* 00430 8086A0E0 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C
|
||||
/* 00434 8086A0E4 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4
|
||||
/* 00438 8086A0E8 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7
|
||||
/* 0043C 8086A0EC AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4
|
||||
/* 00440 8086A0F0 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7
|
||||
/* 00444 8086A0F4 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8
|
||||
/* 00448 8086A0F8 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8
|
||||
/* 0044C 8086A0FC AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00450 8086A100 AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00454 8086A104 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 00458 8086A108 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 0045C 8086A10C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00460 8086A110 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 00464 8086A114 3C018087 */ lui $at, %hi(D_8086BB78) ## $at = 80870000
|
||||
/* 00468 8086A118 C424BB78 */ lwc1 $f4, %lo(D_8086BB78)($at)
|
||||
/* 0046C 8086A11C 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 00470 8086A120 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00474 8086A124 46040082 */ mul.s $f2, $f0, $f4
|
||||
/* 00478 8086A128 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 0047C 8086A12C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
|
||||
/* 00480 8086A130 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
|
||||
/* 00484 8086A134 460C103C */ c.lt.s $f2, $f12
|
||||
/* 00488 8086A138 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160
|
||||
/* 0048C 8086A13C 45000002 */ bc1f .L8086A148
|
||||
/* 00490 8086A140 00000000 */ nop
|
||||
/* 00494 8086A144 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160
|
||||
.L8086A148:
|
||||
/* 00498 8086A148 0C21A79B */ jal func_80869E6C
|
||||
/* 0049C 8086A14C AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 004A0 8086A150 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 004A4 8086A154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004A8 8086A158 90490249 */ lbu $t1, 0x0249($v0) ## 00000249
|
||||
/* 004AC 8086A15C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
|
||||
/* 004B0 8086A160 5140000D */ beql $t2, $zero, .L8086A198
|
||||
/* 004B4 8086A164 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
/* 004B8 8086A168 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 004BC 8086A16C 2405183C */ addiu $a1, $zero, 0x183C ## $a1 = 0000183C
|
||||
/* 004C0 8086A170 3C058087 */ lui $a1, %hi(func_80869EBC) ## $a1 = 80870000
|
||||
/* 004C4 8086A174 24A59EBC */ addiu $a1, $a1, %lo(func_80869EBC) ## $a1 = 80869EBC
|
||||
/* 004C8 8086A178 0C21A72C */ jal func_80869CB0
|
||||
/* 004CC 8086A17C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004D0 8086A180 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
||||
/* 004D4 8086A184 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 004D8 8086A188 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E
|
||||
/* 004DC 8086A18C 1000000E */ beq $zero, $zero, .L8086A1C8
|
||||
/* 004E0 8086A190 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150
|
||||
/* 004E4 8086A194 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248
|
||||
.L8086A198:
|
||||
/* 004E8 8086A198 29A10022 */ slti $at, $t5, 0x0022
|
||||
/* 004EC 8086A19C 5020000B */ beql $at, $zero, .L8086A1CC
|
||||
/* 004F0 8086A1A0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 004F4 8086A1A4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150
|
||||
/* 004F8 8086A1A8 28410023 */ slti $at, $v0, 0x0023
|
||||
/* 004FC 8086A1AC 10200005 */ beq $at, $zero, .L8086A1C4
|
||||
/* 00500 8086A1B0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7
|
||||
/* 00504 8086A1B4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00508 8086A1B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0050C 8086A1BC 10000003 */ beq $zero, $zero, .L8086A1CC
|
||||
/* 00510 8086A1C0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8086A1C4:
|
||||
/* 00514 8086A1C4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150
|
||||
.L8086A1C8:
|
||||
/* 00518 8086A1C8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8086A1CC:
|
||||
/* 0051C 8086A1CC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00520 8086A1D0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00524 8086A1D4 03E00008 */ jr $ra
|
||||
/* 00528 8086A1D8 00000000 */ nop
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80867BD0
|
||||
|
||||
.incbin "baserom/ovl_Arrow_Fire", 0x1EC0, 0x00000100
|
||||
|
|
@ -1,53 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_80867B30
|
||||
.asciz "../z_arrow_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80867B44
|
||||
.word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000
|
||||
glabel D_80867B54
|
||||
.word 0xBEC3CCC7, 0x00000000
|
||||
glabel D_80867B5C
|
||||
.asciz "../z_arrow_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80867B70
|
||||
.asciz "../z_arrow_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80867B84
|
||||
.asciz "../z_arrow_fire.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80867B98
|
||||
.word 0x446D8000
|
||||
glabel D_80867B9C
|
||||
.word 0x3EAAAAAB
|
||||
glabel D_80867BA0
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_80867BA4
|
||||
.word 0x3DCCCCCD
|
||||
glabel D_80867BA8
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_80867BAC
|
||||
.word 0x38C90FDB
|
||||
glabel D_80867BB0
|
||||
.word 0x38C90FDB
|
||||
glabel D_80867BB4
|
||||
.word 0x38C90FDB
|
||||
glabel D_80867BB8
|
||||
.word 0x3C23D70A
|
||||
glabel D_80867BBC
|
||||
.word 0x44BB8000
|
||||
glabel D_80867BC0
|
||||
.word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80869BB0
|
||||
|
||||
.incbin "baserom/ovl_Arrow_Ice", 0x1EE0, 0x00000100
|
||||
|
|
@ -1,57 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_80869B10
|
||||
|
||||
.asciz "../z_arrow_ice.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80869B24
|
||||
.word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000
|
||||
glabel D_80869B34
|
||||
.word 0xBEC3CCC7, 0x00000000
|
||||
glabel D_80869B3C
|
||||
|
||||
.asciz "../z_arrow_ice.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80869B50
|
||||
|
||||
.asciz "../z_arrow_ice.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80869B64
|
||||
|
||||
.asciz "../z_arrow_ice.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80869B78
|
||||
.word 0x446D8000
|
||||
glabel D_80869B7C
|
||||
.word 0x3EAAAAAB
|
||||
glabel D_80869B80
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_80869B84
|
||||
.word 0x3DCCCCCD
|
||||
glabel D_80869B88
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_80869B8C
|
||||
.word 0x38C90FDB
|
||||
glabel D_80869B90
|
||||
.word 0x38C90FDB
|
||||
glabel D_80869B94
|
||||
.word 0x38C90FDB
|
||||
glabel D_80869B98
|
||||
.word 0x3C23D70A
|
||||
glabel D_80869B9C
|
||||
.word 0x44BB8000
|
||||
glabel D_80869BA0
|
||||
.word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_8086BBA0
|
||||
|
||||
.incbin "baserom/ovl_Arrow_Light", 0x1EF0, 0x00000100
|
||||
|
|
@ -1,57 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_8086BB00
|
||||
|
||||
.asciz "../z_arrow_light.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8086BB14
|
||||
.word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000
|
||||
glabel D_8086BB24
|
||||
.word 0xBEC3CCC7, 0x00000000
|
||||
glabel D_8086BB2C
|
||||
|
||||
.asciz "../z_arrow_light.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8086BB40
|
||||
|
||||
.asciz "../z_arrow_light.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8086BB54
|
||||
|
||||
.asciz "../z_arrow_light.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8086BB68
|
||||
.word 0x446D8000
|
||||
glabel D_8086BB6C
|
||||
.word 0x3EAAAAAB
|
||||
glabel D_8086BB70
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_8086BB74
|
||||
.word 0x3DCCCCCD
|
||||
glabel D_8086BB78
|
||||
.word 0x3D2AAAAB
|
||||
glabel D_8086BB7C
|
||||
.word 0x38C90FDB
|
||||
glabel D_8086BB80
|
||||
.word 0x38C90FDB
|
||||
glabel D_8086BB84
|
||||
.word 0x38C90FDB
|
||||
glabel D_8086BB88
|
||||
.word 0x3C23D70A
|
||||
glabel D_8086BB8C
|
||||
.word 0x44BB8000
|
||||
glabel D_8086BB90
|
||||
.word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
|
||||
|
|
@ -756,8 +756,8 @@ s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60*
|
|||
// ? func_80061C98(?);
|
||||
// ? func_80061E48(?);
|
||||
// ? func_80061E8C(?);
|
||||
void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
|
||||
void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
|
||||
void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init);
|
||||
void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init);
|
||||
// ? func_80061F64(?);
|
||||
// ? func_800622E4(?);
|
||||
// ? func_80062530(?);
|
||||
|
|
|
|||
|
|
@ -80,13 +80,6 @@ typedef struct {
|
|||
} attack[32];
|
||||
} ActorDamageChart;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ u8 mass;
|
||||
} SubActor98Init;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)...
|
||||
/* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body
|
||||
|
|
@ -182,6 +175,21 @@ typedef struct Actor {
|
|||
/* From here on, the structure and size varies for each actor */
|
||||
} Actor; // size = 0x14C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ u8 mass;
|
||||
} Sub98Init4;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 unk_10;
|
||||
/* 0x04 */ s16 unk_12;
|
||||
/* 0x06 */ u16 unk_14;
|
||||
/* 0x08 */ u8 mass;
|
||||
} Sub98Init5;
|
||||
|
||||
typedef enum {
|
||||
COLTYPE_CYLINDER = 1,
|
||||
COLTYPE_CYLINDER_GROUP = 0,
|
||||
|
|
|
|||
12
spec
12
spec
|
|
@ -670,25 +670,19 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Arrow_Fire"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o"
|
||||
include "build/data/overlays/actors/z_arrow_fire.data.o"
|
||||
include "build/data/overlays/actors/z_arrow_fire.rodata.o"
|
||||
include "build/data/overlays/actors/z_arrow_fire.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
name "ovl_Arrow_Ice"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o"
|
||||
include "build/data/overlays/actors/z_arrow_ice.data.o"
|
||||
include "build/data/overlays/actors/z_arrow_ice.rodata.o"
|
||||
include "build/data/overlays/actors/z_arrow_ice.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
name "ovl_Arrow_Light"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o"
|
||||
include "build/data/overlays/actors/z_arrow_light.data.o"
|
||||
include "build/data/overlays/actors/z_arrow_light.rodata.o"
|
||||
include "build/data/overlays/actors/z_arrow_light.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
|||
|
|
@ -1,4 +1,11 @@
|
|||
/*
|
||||
* File: z_arrow_fire.c
|
||||
* Overlay: ovl_Arrow_Fire
|
||||
* Description: Fire Arrow actor. Spawned by and attached to a normal arrow.
|
||||
*/
|
||||
|
||||
#include "z_arrow_fire.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
|
@ -8,7 +15,12 @@ void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx);
|
|||
void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx);
|
||||
void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx);
|
||||
void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx);
|
||||
void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx);
|
||||
|
||||
#include "z_arrow_fire_gfx.c"
|
||||
|
||||
const ActorInit Arrow_Fire_InitVars = {
|
||||
ACTOR_ARROW_FIRE,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
|
|
@ -21,21 +33,214 @@ const ActorInit Arrow_Fire_InitVars = {
|
|||
(ActorFunc)ArrowFire_Update,
|
||||
(ActorFunc)ArrowFire_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s")
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s")
|
||||
void ArrowFire_SetupAction(ArrowFire* this, ActorFunc* actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s")
|
||||
void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
this->radius = 0;
|
||||
this->unk_158 = 1.0f;
|
||||
ArrowFire_SetupAction(&this->actor, ArrowFire_Charge);
|
||||
Actor_SetScale(this, 0.01f);
|
||||
this->alpha = 0xA0;
|
||||
this->timer = 0;
|
||||
this->unk_15C = 0.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s")
|
||||
void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
func_800876C8(globalCtx);
|
||||
LogUtils_LogThreadId("../z_arrow_fire.c", 421);
|
||||
// Translates to: ""Disappearance" = Disappearance"
|
||||
osSyncPrintf("\"消滅\" = %s\n", "消滅");
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s")
|
||||
void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s")
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s")
|
||||
if (this->radius < 10) {
|
||||
this->radius += 1;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s")
|
||||
func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_FIRE);
|
||||
|
||||
// If arrow's attached is null, Link has fired the arrow
|
||||
if (arrow->actor.attachedA == NULL) {
|
||||
this->unkPos = this->actor.posRot.pos;
|
||||
this->radius = 10;
|
||||
ArrowFire_SetupAction(this, ArrowFire_Fly);
|
||||
this->alpha = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80865ECC(Vec3f* unkPos, Vec3f* firePos, f32 scale) {
|
||||
unkPos->x += ((firePos->x - unkPos->x) * scale);
|
||||
unkPos->y += ((firePos->y - unkPos->y) * scale);
|
||||
unkPos->z += ((firePos->z - unkPos->z) * scale);
|
||||
}
|
||||
|
||||
void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
f32 scale;
|
||||
f32 offset;
|
||||
u16 timer;
|
||||
|
||||
if (this->actor.unk_F0 < 50.0f) {
|
||||
scale = 10.0f;
|
||||
} else {
|
||||
if (950.0f < this->actor.unk_F0) {
|
||||
scale = 310.0f;
|
||||
} else {
|
||||
scale = this->actor.unk_F0;
|
||||
scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f;
|
||||
}
|
||||
}
|
||||
|
||||
timer = this->timer;
|
||||
if (timer != 0) {
|
||||
this->timer -= 1;
|
||||
|
||||
if (this->timer >= 8) {
|
||||
offset = ((this->timer - 8) * (1.0f / 24.0f));
|
||||
offset = SQ(offset);
|
||||
this->radius = (((1.0f - offset) * scale) + 10.0f);
|
||||
this->unk_158 += ((2.0f - this->unk_158) * 0.1f);
|
||||
if (this->timer < 16) {
|
||||
if (1) {}
|
||||
this->alpha = ((this->timer * 0x23) - 0x118);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer >= 9) {
|
||||
if (this->unk_15C < 1.0f) {
|
||||
this->unk_15C += 0.25f;
|
||||
}
|
||||
} else {
|
||||
if (this->unk_15C > 0.0f) {
|
||||
this->unk_15C -= 0.125f;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer < 8) {
|
||||
this->alpha = 0;
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 255;
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
f32 distanceScaled;
|
||||
s32 pad;
|
||||
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f);
|
||||
this->unk_158 = distanceScaled;
|
||||
if (distanceScaled < 1.0f) {
|
||||
this->unk_158 = 1.0f;
|
||||
}
|
||||
func_80865ECC(&this->unkPos, &this->actor.posRot.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME);
|
||||
ArrowFire_SetupAction(this, ArrowFire_Hit);
|
||||
this->timer = 32;
|
||||
this->alpha = 0xFF;
|
||||
} else if (arrow->timer < 34) {
|
||||
if (this->alpha < 0x23) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->alpha -= 0x19;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) {
|
||||
s32 pad1;
|
||||
s32 pad2;
|
||||
u32 stateFrames;
|
||||
GraphicsContext* gfxCtx;
|
||||
Actor* tranform;
|
||||
EnArrow* arrow;
|
||||
Gfx* gfxArr[4];
|
||||
|
||||
stateFrames = globalCtx->state.frames;
|
||||
arrow = this->actor.attachedA;
|
||||
if (1) {}
|
||||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
// clang-format off
|
||||
gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
|
||||
// clang-format on
|
||||
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
|
||||
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
|
||||
|
||||
// Draw red effect over the screen when arrow hits
|
||||
if (this->unk_15C > 0) {
|
||||
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0x00, 0x00,
|
||||
(s32)(150.0f * this->unk_15C) & 0xFF);
|
||||
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
|
||||
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
|
||||
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
|
||||
}
|
||||
|
||||
// Draw fire on the arrow
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xC8, 0x00, this->alpha);
|
||||
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0x00, 0x00, 0x80);
|
||||
Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY);
|
||||
if (this->timer != 0) {
|
||||
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY);
|
||||
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, textureDL);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1,
|
||||
255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64));
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL);
|
||||
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,13 @@
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x014C */ Vec3f unkPos;
|
||||
/* 0x0158 */ f32 unk_158;
|
||||
/* 0x015C */ f32 unk_15C;
|
||||
/* 0x0160 */ ActorFunc actionFunc;
|
||||
/* 0x0164 */ s16 radius;
|
||||
/* 0x0166 */ u16 timer;
|
||||
/* 0x0168 */ u8 alpha;
|
||||
} ArrowFire; // size = 0x016C
|
||||
|
||||
extern const ActorInit Arrow_Fire_InitVars;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,192 @@
|
|||
#include "z_arrow_fire.h"
|
||||
|
||||
static UNK_TYPE texture1[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000,
|
||||
0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001,
|
||||
0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000,
|
||||
0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C,
|
||||
0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103,
|
||||
0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001,
|
||||
0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102,
|
||||
0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503,
|
||||
0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F,
|
||||
0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801,
|
||||
0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001,
|
||||
0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19,
|
||||
0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403,
|
||||
0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304,
|
||||
0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29,
|
||||
0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223,
|
||||
0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25,
|
||||
0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F,
|
||||
0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520,
|
||||
0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F,
|
||||
0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15,
|
||||
0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741,
|
||||
0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B,
|
||||
0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76,
|
||||
0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53,
|
||||
0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F,
|
||||
0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791,
|
||||
0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90,
|
||||
0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C,
|
||||
0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE,
|
||||
0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5,
|
||||
0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1,
|
||||
0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB,
|
||||
0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC,
|
||||
0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5,
|
||||
0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5,
|
||||
0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC,
|
||||
0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0,
|
||||
0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE,
|
||||
0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6,
|
||||
0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA,
|
||||
0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE,
|
||||
0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD,
|
||||
0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5,
|
||||
0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE,
|
||||
0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF,
|
||||
0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
};
|
||||
|
||||
static UNK_TYPE texture2[] = {
|
||||
0x2F3E56AB, 0xA4582102, 0x10417AB0, 0x805C312A, 0x32376DD4, 0xA2633907, 0x0B387DA2, 0x6D81470C, 0x3C5C60AC,
|
||||
0xA5571801, 0x154C97B9, 0x68533236, 0x304276D6, 0x9B533108, 0x154A96B7, 0x7C9B400B, 0x3E756FAE, 0xAF5D1301,
|
||||
0x1D59B4BF, 0x53432C38, 0x2F487DCC, 0x8A4A2406, 0x1F5DB0C8, 0x90B55110, 0x408B7FAA, 0xB76D1503, 0x286ACCBE,
|
||||
0x43312030, 0x2B4C82BA, 0x77431607, 0x2B70C7D5, 0xA6B95B13, 0x409C93A6, 0xB87D1D08, 0x367FE1C1, 0x3C261629,
|
||||
0x2A508AAB, 0x69410C0C, 0x3986DDDB, 0xB5AE6316, 0x40A0A7A1, 0xAA7D2610, 0x4596F1CD, 0x47281E36, 0x365C97A3,
|
||||
0x63450713, 0x499DF0D8, 0xB49E721A, 0x409AB59F, 0x8A662D1C, 0x57AEFBDF, 0x6B404456, 0x536EA49B, 0x6A4D061E,
|
||||
0x5CB6FCC6, 0x9A8E7F20, 0x428EBEA0, 0x623F2E2A, 0x69C6FFF0, 0x9A686569, 0x6F83AC92, 0x7F5D0B2A, 0x70CDFFB2,
|
||||
0x77848D29, 0x4787C4A0, 0x401D2E3E, 0x7ED9FFFC, 0xC48F7973, 0x8598AE86, 0x9A701339, 0x85E1FFA6, 0x5E859534,
|
||||
0x5189C99B, 0x2C0B3455, 0x92E9FFFA, 0xDCAB8071, 0x94ACAD7A, 0xB1882249, 0x9AF1FFB0, 0x6A8F9746, 0x6394CD8D,
|
||||
0x290C416F, 0xA5EEFFF4, 0xDCB46B6D, 0xA1BFAD77, 0xB6A43A58, 0xAAF8FFC8, 0x84959963, 0x7BA4CE78, 0x351A588E,
|
||||
0xB5E3F9F1, 0xCFAC6077, 0xABCFAC77, 0xA8C05A6A, 0xB2F3FFE1, 0xA3959471, 0x94B9D065, 0x473274A9, 0xBDCDECEF,
|
||||
0xC2A05F86, 0xBADDAC78, 0x92D87C7D, 0xAFDEFDF1, 0xBC8C8971, 0xA6D2D45A, 0x584B95BB, 0xC1B3D5ED, 0xB8956697,
|
||||
0xC5E9A670, 0x7AE6978F, 0xA4BEF0EF, 0xB9797360, 0xB1E8DD5D, 0x5D5FAFC7, 0xC49CB8E3, 0xAF8C78A5, 0xCBF19D5F,
|
||||
0x6AE5A6A3, 0x9398DBE7, 0xB46A5841, 0xB8F2E871, 0x586DC1CD, 0xC78C9DD5, 0xAA878CB1, 0xD8F89249, 0x63DCABB3,
|
||||
0x8576C5D8, 0xA95E4430, 0xC0EBEE91, 0x5378CACE, 0xC58087C5, 0xA4859EAE, 0xE1FD8A36, 0x60D0ACBD, 0x7765B9C5,
|
||||
0x9C563A2B, 0xCED7E7B4, 0x5484C7CC, 0xB66F7CBB, 0x9F81A898, 0xE3FF8D2E, 0x63C8B0BA, 0x6D69B8B0, 0x93573B2E,
|
||||
0xE0C2CED2, 0x6898C0C3, 0x97587EBC, 0x9D749570, 0xDEFF9D36, 0x67C8B4A8, 0x6682BD9B, 0x93643E37, 0xF0B4A8DE,
|
||||
0x86A9B6B0, 0x70448BBE, 0x99617545, 0xD1FFB84E, 0x70CAB48C, 0x64A4BD8D, 0x96763D41, 0xFAAC82DA, 0xA7B6AE9A,
|
||||
0x4D359AC0, 0x90494F27, 0xC0FFD675, 0x80CCAD6D, 0x63C1B681, 0x9C85374E, 0xFFA069C9, 0xC1BAA785, 0x3936A4B6,
|
||||
0x7D342E18, 0xA9FFEEA5, 0x9AC59F56, 0x60D0A873, 0x9288315E, 0xFB8669B6, 0xD0B6A473, 0x3C47A39A, 0x6228241B,
|
||||
0x8BFFF6CD, 0xB7BB8F47, 0x57CFA169, 0x77782C6B, 0xE56478AA, 0xD6AC9E64, 0x4E61977C, 0x4B232428, 0x6FFFEBE5,
|
||||
0xD0AF813C, 0x44C2A266, 0x5B61296E, 0xC04188A8, 0xD4A09051, 0x5D788B61, 0x3E202234, 0x58F9D7DF, 0xDEA27332,
|
||||
0x31AE9A6C, 0x3E4B2F62, 0x902688B3, 0xD0937A3F, 0x5D7D8B58, 0x37241F35, 0x46F2C5BF, 0xD7956528, 0x1E918E76,
|
||||
0x3442424A, 0x601774C3, 0xCB8F6630, 0x48698261, 0x333C2729, 0x3CECBF95, 0xC2885420, 0x11717B78, 0x4952673A,
|
||||
0x3D1153CD, 0xC994602F, 0x2D496F6D, 0x31674418, 0x32E7CA6C, 0xA77D4318, 0x09526672, 0x6B6F963E, 0x2B1036D0,
|
||||
0xCAA26E3C, 0x1B2A5A7B, 0x3798700F, 0x2BDFD94D, 0x8C773712, 0x043C606C, 0x9086B955, 0x281225C9, 0xC7AD8954,
|
||||
0x141B4085, 0x53CB9C10, 0x26D3E63A, 0x757A3B11, 0x0131666F, 0xAB87BA6A, 0x2E151FBF, 0xC1AEA16A, 0x1721388C,
|
||||
0x81ECBB17, 0x23C1EE30, 0x6688561E, 0x02317381, 0xA36A9566, 0x3B171FB9, 0xB5A5AF7A, 0x1B384395, 0xABFBC81D,
|
||||
0x20AAEB28, 0x61987838, 0x05358299, 0x85405D4E, 0x45181FB5, 0xA695B083, 0x1C55569C, 0xCEFFCF1E, 0x1A8CDA24,
|
||||
0x62A39755, 0x0A398FAE, 0x601A2A2C, 0x49161FB1, 0x9A8BAC8A, 0x23736DA0, 0xE0FFD61E, 0x136BAF23, 0x70ABAD6D,
|
||||
0x143D95BD, 0x41030D16, 0x41151DAA, 0x938BAA94, 0x2E8A8BA7, 0xE6FFD921, 0x0C4A7D2D, 0x7CACAB70, 0x244093C3,
|
||||
0x38020F11, 0x2F151CA3, 0x9293ABA1, 0x3995AAB7, 0xEDF7D924, 0x072F5842, 0x83AE9C66, 0x3F498EC7, 0x420D2812,
|
||||
0x1E151F9B, 0x989CB0B2, 0x4697C5CE, 0xF5F0D626, 0x061B435B, 0x85B18A5B, 0x5F568BCD, 0x54245213, 0x12172593,
|
||||
0x9FA1BAC0, 0x5291D4E1, 0xFAF0D123, 0x0711416F, 0x82B2765B, 0x84668FCB, 0x684D8212, 0x1318308A, 0xA3A2C2C6,
|
||||
0x5F88D3EE, 0xFEF6C81B, 0x0B104276, 0x85B06A72, 0xA97896C3, 0x7C81AC19, 0x24194083, 0xA2A0C6C4, 0x6A82CCF1,
|
||||
0xFFFFB910, 0x14173E77, 0x8BAE6992, 0xC6879BB4, 0x92B3C933, 0x3C1D4F7D, 0x9DA2CCBE, 0x7381C6E6, 0xFFFFB111,
|
||||
0x26233975, 0x92AF6DAF, 0xDB949AA3, 0xADDBDD64, 0x5927597B, 0x99AAD4B9, 0x7687C6D5, 0xFCFFB736, 0x432D3A78,
|
||||
0x98B371BD, 0xE5A0989E, 0xCCF2EAA0, 0x753C5C80, 0x9DB9E3BC, 0x7896CFBF, 0xF6FFCB72, 0x64323F81, 0x9CBC70B4,
|
||||
0xE3AC9EAD, 0xE6FBF6CF, 0x8B5C5C85, 0xA7C8F4C2, 0x7AA6D9A3, 0xF0FFE2A9, 0x8032448D, 0xA4C970A0, 0xDBB5AAC6,
|
||||
0xF7FEFDE7, 0xA3806187, 0xB0D6FFC9, 0x7FB5D686, 0xE7FFF0D2, 0x8D2F4E98, 0xABD7768D, 0xCFB9B4E1, 0xF8F8FFE7,
|
||||
0xB29B7089, 0xB7E4FFCD, 0x8CB8BF65, 0xD5FFF0D7, 0x8D34609D, 0xB4E48385, 0xC3BAB0F1, 0xE2E8FEDC, 0xB5A07A8D,
|
||||
0xBDEFFFD0, 0x9AAB9543, 0xB9FFE9C3, 0x80447497, 0xC0EF9C90, 0xBDB997E5, 0xC2CCFBD4, 0xAB8F7387, 0xC8F8FFD4,
|
||||
0xA4936324, 0x98FFE5B3, 0x6F577E8A, 0xCEFABCA8, 0xC0BC71C7, 0x9EADF4D2, 0x916D5D7B, 0xD4FEFFD6, 0xA575390F,
|
||||
0x76FFE4A6, 0x656A7F7D, 0xDDFFDABF, 0xC8BF4CA1, 0x8095E8CC, 0x744A3B66, 0xDAFFFFD6, 0x9D5B1E04, 0x5DFDDF9A,
|
||||
0x6075787A, 0xECFFF1CD, 0xCEC42E7C, 0x7087D6BF, 0x5A311F49, 0xD4FFFFD0, 0x8E4B1100, 0x50F7D892, 0x68767788,
|
||||
0xF6FFFDCE, 0xCDC31E65, 0x6E88C3A8, 0x4922153A, 0xC3FFFDC4, 0x7F410B03, 0x4BEED08B, 0x747682A0, 0xFDFFFEBF,
|
||||
0xBCB61456, 0x7792B18B, 0x3E19153D, 0xB5FFF8B2, 0x733B0908, 0x4DE0C487, 0x827797BC, 0xFFFFF8AB, 0x9E9B0E50,
|
||||
0x869E9F6E, 0x3714184D, 0xB5FFF09E, 0x67380C11, 0x56CFB285, 0x8F7EADD4, 0xFFFFED96, 0x78730A53, 0x9CA98F57,
|
||||
0x310F1C69, 0xC8FFE18A, 0x5D35161D, 0x64BC9E84, 0x978BBFE7, 0xFFFFDD81, 0x5348075A, 0xB5B07F48, 0x290A2088,
|
||||
0xE1FFCF75, 0x5335272B, 0x74AD877F, 0x9C9DCFF3, 0xFFFEC86E, 0x35260864, 0xC6B16F3E, 0x200422A6, 0xF8FCB95F,
|
||||
0x47373A3C, 0x86A36F73, 0x9FB0D9FA, 0xFFF7B15B, 0x21110E70, 0xCDAB6139, 0x160027C1, 0xFFF09F4C, 0x3B3A4B4D,
|
||||
0x989D5B5D, 0x9DB5D9FE, 0xFFEA994C, 0x1509177B, 0xC8A15C3C, 0x0E022BD1, 0xFFE1873B, 0x2F3E5460, 0xA8954F44,
|
||||
0x96A6CEFF, 0xFFD7823C, 0x0C0A2784, 0xB9956343, 0x0B0731DB, 0xFFCE722C, 0x22415672, 0xB58C4A31, 0x8A88BAFF,
|
||||
0xFAC56E2E, 0x060F398F, 0xA989764A, 0x0A0C3AE1, 0xFFB85F20, 0x17425787, 0xBF824826, 0x775FA3FF, 0xF1B66121,
|
||||
0x03164B98, 0x9A818E4A, 0x0A1040D4, 0xE8974D14, 0x11405495, 0xBB74401F, 0x603D86F1, 0xD7A35414, 0x02195694,
|
||||
0x8476943E, 0x171A46C5, 0xCC7D3D0C, 0x0D3E599E, 0xAE6C371C, 0x4A2D72E3, 0xC38F4C0E, 0x03205F96, 0x766A792A,
|
||||
0x242B4FB8, 0xB66A2E06, 0x0D3E66AA, 0x9B663322, 0x3B2D6CDD, 0xB47B450A, 0x062B6E9C, 0x6E705D17
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices1[] = {
|
||||
0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271,
|
||||
0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000,
|
||||
0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005,
|
||||
0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF,
|
||||
0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC,
|
||||
0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000,
|
||||
0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800,
|
||||
0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF,
|
||||
0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB,
|
||||
0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000,
|
||||
0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2,
|
||||
0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF,
|
||||
0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC,
|
||||
0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000,
|
||||
0x05000419, 0x273FA2FF,
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices2[] = {
|
||||
0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B,
|
||||
0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000,
|
||||
0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419,
|
||||
0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF,
|
||||
0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF,
|
||||
};
|
||||
|
||||
static Gfx textureDL[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15),
|
||||
gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, G_TX_NOLOD),
|
||||
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT,
|
||||
COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0),
|
||||
gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL |
|
||||
GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1),
|
||||
G_RM_ZB_CLD_SURF2),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
static Gfx vertexDL[] = {
|
||||
gsSPVertex(vertices1, 32, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0),
|
||||
gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0),
|
||||
gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0),
|
||||
gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0),
|
||||
gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0),
|
||||
gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0),
|
||||
gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0),
|
||||
gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0),
|
||||
gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0),
|
||||
gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0),
|
||||
gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0),
|
||||
gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0),
|
||||
gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0),
|
||||
gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0),
|
||||
gsSP1Triangle(27, 31, 28, 0),
|
||||
gsSPVertex(vertices2, 11, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0),
|
||||
gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
/*
|
||||
* File: z_arrow_ice.c
|
||||
* Overlay: ovl_Arrow_Ice
|
||||
* Description: Ice Arrow actor. Spawned by and attached to a normal arrow.
|
||||
*/
|
||||
|
||||
#include "z_arrow_ice.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
|
@ -8,7 +15,12 @@ void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx);
|
|||
void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx);
|
||||
void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx);
|
||||
void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx);
|
||||
void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx);
|
||||
|
||||
#include "z_arrow_ice_gfx.c"
|
||||
|
||||
const ActorInit Arrow_Ice_InitVars = {
|
||||
ACTOR_ARROW_ICE,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
|
|
@ -21,21 +33,214 @@ const ActorInit Arrow_Ice_InitVars = {
|
|||
(ActorFunc)ArrowIce_Update,
|
||||
(ActorFunc)ArrowIce_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s")
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s")
|
||||
void ArrowIce_SetupAction(ArrowIce* this, ActorFunc* actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s")
|
||||
void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
this->radius = 0;
|
||||
this->unk_160 = 1.0f;
|
||||
ArrowIce_SetupAction(this, ArrowIce_Charge);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->alpha = 0x64;
|
||||
this->timer = 0;
|
||||
this->unk_164 = 0.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s")
|
||||
void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
func_800876C8(globalCtx);
|
||||
LogUtils_LogThreadId("../z_arrow_ice.c", 415);
|
||||
// Translates to: ""Disappearance" = Disappearance"
|
||||
osSyncPrintf("\"消滅\" = %s\n", "消滅");
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s")
|
||||
void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s")
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s")
|
||||
if (this->radius < 10) {
|
||||
this->radius += 1;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s")
|
||||
func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_ICE);
|
||||
|
||||
// If arrow's attached is null, Link has fired the arrow
|
||||
if (arrow->actor.attachedA == NULL) {
|
||||
this->unkPos = this->actor.posRot.pos;
|
||||
this->radius = 10;
|
||||
ArrowIce_SetupAction(this, ArrowIce_Fly);
|
||||
this->alpha = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80867E8C(Vec3f* unkPos, Vec3f* icePos, f32 scale) {
|
||||
unkPos->x += ((icePos->x - unkPos->x) * scale);
|
||||
unkPos->y += ((icePos->y - unkPos->y) * scale);
|
||||
unkPos->z += ((icePos->z - unkPos->z) * scale);
|
||||
}
|
||||
|
||||
void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
f32 scale;
|
||||
f32 offset;
|
||||
u16 timer;
|
||||
|
||||
if (this->actor.unk_F0 < 50.0f) {
|
||||
scale = 10.0f;
|
||||
} else {
|
||||
if (950.0f < this->actor.unk_F0) {
|
||||
scale = 310.0f;
|
||||
} else {
|
||||
scale = this->actor.unk_F0;
|
||||
scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f;
|
||||
}
|
||||
}
|
||||
|
||||
timer = this->timer;
|
||||
if (timer != 0) {
|
||||
this->timer -= 1;
|
||||
|
||||
if (this->timer >= 8) {
|
||||
offset = ((this->timer - 8) * (1.0f / 24.0f));
|
||||
offset = SQ(offset);
|
||||
this->radius = (((1.0f - offset) * scale) + 10.0f);
|
||||
this->unk_160 += ((2.0f - this->unk_160) * 0.1f);
|
||||
if (this->timer < 16) {
|
||||
if (1) {}
|
||||
this->alpha = ((this->timer * 0x23) - 0x118);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer >= 9) {
|
||||
if (this->unk_164 < 1.0f) {
|
||||
this->unk_164 += 0.25f;
|
||||
}
|
||||
} else {
|
||||
if (this->unk_164 > 0.0f) {
|
||||
this->unk_164 -= 0.125f;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer < 8) {
|
||||
this->alpha = 0;
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 255;
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
f32 distanceScaled;
|
||||
s32 pad;
|
||||
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f);
|
||||
this->unk_160 = distanceScaled;
|
||||
if (distanceScaled < 1.0f) {
|
||||
this->unk_160 = 1.0f;
|
||||
}
|
||||
func_80867E8C(&this->unkPos, &this->actor.posRot.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE);
|
||||
ArrowIce_SetupAction(this, ArrowIce_Hit);
|
||||
this->timer = 32;
|
||||
this->alpha = 0xFF;
|
||||
} else if (arrow->timer < 34) {
|
||||
if (this->alpha < 0x23) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->alpha -= 0x19;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
s32 pad1;
|
||||
s32 pad2;
|
||||
Actor* tranform;
|
||||
u32 stateFrames;
|
||||
GraphicsContext* gfxCtx;
|
||||
EnArrow* arrow;
|
||||
Gfx* gfxArr[4];
|
||||
|
||||
stateFrames = globalCtx->state.frames;
|
||||
arrow = this->actor.attachedA;
|
||||
if (1) {}
|
||||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
// clang-format off
|
||||
gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610);
|
||||
// clang-format on
|
||||
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
|
||||
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
|
||||
|
||||
// Draw blue effect over the screen when arrow hits
|
||||
if (this->unk_164 > 0) {
|
||||
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF,
|
||||
(s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF);
|
||||
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
|
||||
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
|
||||
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
|
||||
}
|
||||
|
||||
// Draw ice on the arrow
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xAA, 0xFF, 0xFF, this->alpha);
|
||||
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0x00, 0xFF, 0x80);
|
||||
Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY);
|
||||
if (this->timer != 0) {
|
||||
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY);
|
||||
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, textureDL);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1,
|
||||
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16));
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL);
|
||||
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,13 @@
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x014C */ s16 radius;
|
||||
/* 0x014E */ u16 timer;
|
||||
/* 0x0150 */ u8 alpha;
|
||||
/* 0x0154 */ Vec3f unkPos;
|
||||
/* 0x0160 */ f32 unk_160;
|
||||
/* 0x0164 */ f32 unk_164;
|
||||
/* 0x0168 */ ActorFunc actionFunc;
|
||||
} ArrowIce; // size = 0x016C
|
||||
|
||||
extern const ActorInit Arrow_Ice_InitVars;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,192 @@
|
|||
#include "z_arrow_ice.h"
|
||||
|
||||
static UNK_TYPE texture1[] = {
|
||||
0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A,
|
||||
0x254A1B0E, 0xAFF66600, 0x00467E29, 0x08020000, 0x03383E0B, 0x0501000A, 0x31211C05, 0x00031C27, 0x4CA92F13,
|
||||
0xB2EF5500, 0x057EBF37, 0x00000000, 0x0E493F13, 0x00000002, 0x335C3E03, 0x00000E07, 0x3C761200, 0x447E2200,
|
||||
0x00426710, 0x00000000, 0x071C2208, 0x00000168, 0xE18F0F00, 0x00060E00, 0x0A100000, 0x0514022D, 0x1B020400,
|
||||
0x00000000, 0x093A3F0A, 0x050010AE, 0xDA360000, 0x00070500, 0x00000000, 0x00001461, 0x3E050024, 0x24000000,
|
||||
0x184E3755, 0x9132043C, 0x2F000000, 0x12020A54, 0x3C000200, 0x00000F3E, 0x2B041159, 0x2C000000, 0x030B22CE,
|
||||
0xF9420000, 0x00000301, 0x371160EF, 0xAC6D2B00, 0x00000008, 0x05000D27, 0x06000000, 0x00001A91, 0x760B0000,
|
||||
0x000B030A, 0x747DB0BD, 0xBDA31D00, 0x00000000, 0x00000000, 0x00000511, 0x01000209, 0x03020015, 0x583A0010,
|
||||
0xC1E0892D, 0x532D0000, 0x03160600, 0x00050001, 0x15142E4E, 0x07000500, 0x100D004C, 0xB65C001B, 0xB2DF9417,
|
||||
0x00000020, 0x57420400, 0x45882F00, 0x18093B3E, 0x01182F0D, 0x1405003F, 0xB75B001E, 0x5DC2E14F, 0x00000161,
|
||||
0xBC4A005A, 0xECF84A00, 0x0011330F, 0x0044591C, 0x01001C7C, 0xB122001F, 0x5DE4FF71, 0x00000177, 0xBA3218D9,
|
||||
0xFFC41700, 0x1E7B5A1C, 0x2B769635, 0x0044D5FA, 0x9E000530, 0xC7FFCE35, 0x00000035, 0x663441CF, 0xC9380000,
|
||||
0x3D733C28, 0x3E709726, 0x0086FAF1, 0x9B170D4C, 0xC9812700, 0x000E1A02, 0x4C642544, 0x2B000000, 0x0D0E0508,
|
||||
0x0A252F03, 0x00335297, 0xC75B014E, 0x77470600, 0x00160F00, 0x3A350016, 0x29070000, 0x0C3A3911, 0x00000003,
|
||||
0x0100004B, 0x8F4B051C, 0x7F6C1C00, 0x00000000, 0x00000437, 0x2E030001, 0x2A6E6B2C, 0x0604000E, 0x0B000004,
|
||||
0x19350814, 0x3E63813D, 0x13000000, 0x00000117, 0x06000000, 0x14362911, 0x312E021F, 0x13000000, 0x010C000C,
|
||||
0x10B9EF72, 0x2D010000, 0x040C0C10, 0x02000000, 0x33410306, 0x3B30071D, 0x07000000, 0x00000000, 0x1BC2A129,
|
||||
0x0D000000, 0x050E1112, 0x0100002E, 0xD2C22E00, 0x21593403, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000,
|
||||
0x0000060D, 0x00000061, 0xFFEA2E00, 0x3DA04200, 0x00000000, 0x06140B00, 0x00040200, 0x00000000, 0x00061B0C,
|
||||
0x00000037, 0x8D620500, 0x2A8F5801, 0x00000000, 0x082E3404, 0x00000000, 0x00000003, 0x0A201B02, 0x00000000,
|
||||
0x06000000, 0x11826503, 0x00060400, 0x07303402, 0x07010007, 0x2F1E0B0A, 0x09080000, 0x03000000, 0x00000000,
|
||||
0x07452500, 0x0E361100, 0x000B0A00, 0x06000018, 0x3E170600, 0x00060F0D, 0x3E190000, 0x00000000, 0x00000000,
|
||||
0x21360700, 0x00000000, 0x00000007, 0x09000000, 0x0A857124, 0x703C0000, 0x01000000, 0x00000000, 0x08050000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x32D97112, 0x4A1B0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000613,
|
||||
0x07000000, 0x00000000, 0x1E5D1700, 0x04000000, 0x37550400, 0x00000000, 0x14300600, 0x00003E5B, 0x08000000,
|
||||
0x00000000, 0x2F2F0000, 0x00000007, 0x90840300, 0x0F070000, 0x06070000, 0x00055A62, 0x00000000, 0x00000020,
|
||||
0xA77B0700, 0x0106000F, 0x612D0006, 0x1B030000, 0x00000001, 0x0000211A, 0x00000000, 0x0000002E, 0x944A0103,
|
||||
0x3B390200, 0x04000011, 0x14000005, 0x302F0D10, 0x01000000, 0x00000000, 0x00000009, 0x10000015, 0x5D290000,
|
||||
0x00000015, 0x09000027, 0x73510F09, 0x37410700, 0x00061408, 0x00000000, 0x25582D09, 0x12020E03, 0x0C070007,
|
||||
0x00031627, 0x41240011, 0x795B0000, 0x00102D29, 0x244B1C0D, 0xB0F76600, 0x00467C28, 0x08020000, 0x02383E0B,
|
||||
0x0401000A, 0x32231C04, 0x00031B28, 0x4CA83112, 0xB2EF5500, 0x057EBE38, 0x00000000, 0x0D493D13, 0x00000002,
|
||||
0x325C3F03, 0x00000E08, 0x3D761200, 0x457F2200, 0x0043660F, 0x00000000, 0x071D2208, 0x00000168, 0xE1901000,
|
||||
0x00070E00, 0x09110000, 0x0515022D, 0x1B020400, 0x00000000, 0x093B3E09, 0x050011AE, 0xD9370000, 0x00070500,
|
||||
0x00000000, 0x00001462, 0x3E050024, 0x25000000, 0x184E3554, 0x9431043C, 0x2E000000, 0x12010955, 0x3C000300,
|
||||
0x0000103E, 0x2B04115A, 0x2D000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x361161EF, 0xAC6B2B00, 0x00000008,
|
||||
0x05000D27, 0x07000000, 0x00001A8F, 0x760B0000, 0x000B030A, 0x727DB1BD, 0xBCA21C00, 0x00000000, 0x00000000,
|
||||
0x00000610, 0x00000208, 0x03030016, 0x57390010, 0xC1E1892E, 0x522C0000, 0x03160600, 0x00060001, 0x14142F4E,
|
||||
0x07000500, 0x100E004B, 0xB55C001B, 0xB0DD9416, 0x0000001F, 0x57430500, 0x468A3000, 0x16093B3E, 0x01192F0D,
|
||||
0x1405003E, 0xB65B001D, 0x5CC1E04E, 0x0000005E, 0xBC4B0058, 0xEBFA4B00, 0x0011340E, 0x0045591C, 0x02001C7C,
|
||||
0xB223001E, 0x5CE5FF71, 0x00000176, 0xB93216D8, 0xFFC21700, 0x1D7B5B1C, 0x2B759636, 0x0041D4FC, 0x9D000530,
|
||||
0xC7FFCE36, 0x00000036, 0x663540CE, 0xC6360000, 0x3C743E29, 0x3E719827, 0x0085FAF0, 0x9B160D4E, 0xC9812600,
|
||||
0x000F1A03, 0x4B642646, 0x2B000000, 0x0D0E0608, 0x0A253002, 0x00345299, 0xC85B014E, 0x75470600, 0x00160F00,
|
||||
0x39350015, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x914B051E, 0x7D6C1C01, 0x00000000, 0x00000437,
|
||||
0x2E030001, 0x2A6F6A2A, 0x0604000E, 0x0B000003, 0x1A350814, 0x3E63813E, 0x13000000, 0x00000118, 0x07000000,
|
||||
0x13382911, 0x302E0320, 0x14000000, 0x010D000C, 0x0FB9EE73, 0x2F000000, 0x040B0C11, 0x02000000, 0x36440307,
|
||||
0x3B30071D, 0x07000000, 0x00000000, 0x1ABF9F29, 0x0E000000, 0x050F1112, 0x0100002D, 0xD3C42B00, 0x22593404,
|
||||
0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000070C, 0x00000061, 0xFFED2F00, 0x3EA04300, 0x00000000,
|
||||
0x05140B00, 0x00030200, 0x00000000, 0x00061C0B, 0x00000037, 0x8F640500, 0x2A8F5901, 0x00000000, 0x082D3504,
|
||||
0x00000000, 0x00010003, 0x0A201B02, 0x00000000, 0x07000000, 0x11826503, 0x00050400, 0x072F3503, 0x07010007,
|
||||
0x2F1E0C0B, 0x09080000, 0x03000000, 0x00000000, 0x07462500, 0x0E361100, 0x000B0900, 0x04000018, 0x3E160600,
|
||||
0x00060F0B, 0x3D190000, 0x00000000, 0x00000000, 0x21370600, 0x00000000, 0x00000007, 0x09000000, 0x0B866F22,
|
||||
0x713C0000, 0x02000000, 0x00000000, 0x08060000, 0x00000000, 0x00000000, 0x00000000, 0x30D76F12, 0x4B1A0001,
|
||||
0x02050000, 0x00000000, 0x021A0A00, 0x00000714, 0x08000000, 0x00000000, 0x1E5C1700, 0x03000000, 0x36560400,
|
||||
0x00000000, 0x15300600, 0x00003F5D, 0x07000000, 0x00000000, 0x2E2F0000, 0x00000008, 0x8F840300, 0x0F060000,
|
||||
0x06070000, 0x00065B61, 0x00000000, 0x00000020, 0xA67C0700, 0x0006000E, 0x612D0006, 0x1B030000, 0x00000001,
|
||||
0x0001211B, 0x00000000, 0x0000002F, 0x93490103, 0x3B390200, 0x04000011, 0x13000005, 0x2F2E0C11, 0x02000000,
|
||||
0x00000000, 0x00000008, 0x14030015, 0x5D2C0000, 0x00000115, 0x08000027, 0x724F0F0A, 0x353D0600,
|
||||
};
|
||||
|
||||
static UNK_TYPE texture2[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02030404,
|
||||
0x04040303, 0x03030303, 0x03020202, 0x02020201, 0x01010000, 0x00000000, 0x01010305, 0x090B0D0D, 0x0C0B0A0A,
|
||||
0x0A0A0B0A, 0x09080707, 0x07070707, 0x07070705, 0x04030201, 0x0304070B, 0x11141717, 0x16141313, 0x14151514,
|
||||
0x110D0B0B, 0x0C0D0F12, 0x13141413, 0x110C0905, 0x07070B12, 0x181E2121, 0x201F1F20, 0x2225221D, 0x17120F0F,
|
||||
0x13171D23, 0x292D2D2A, 0x2219120A, 0x07080C13, 0x1B202223, 0x22232629, 0x2C2B261F, 0x17121112, 0x18202B36,
|
||||
0x4046453D, 0x3022150C, 0x07080D15, 0x1C202325, 0x272A2E33, 0x3431281E, 0x16121217, 0x202E3F4F, 0x595D5A4E,
|
||||
0x3B27170C, 0x07090F16, 0x1C202327, 0x2B32383C, 0x3B34291E, 0x1613161E, 0x2D425866, 0x6D6E6856, 0x3F28160B,
|
||||
0x070A1117, 0x1C20252A, 0x333B4245, 0x41382C21, 0x18161B28, 0x3D586E7A, 0x7D7A6F58, 0x3C231309, 0x070C1318,
|
||||
0x1E222932, 0x3C464E4F, 0x4A413529, 0x1F1D2232, 0x4C6A8189, 0x88816D50, 0x331D0E07, 0x090F181F, 0x252B343F,
|
||||
0x4A555E5F, 0x5C524537, 0x2B272D40, 0x5D7C9197, 0x91816444, 0x29160B07, 0x0F19222A, 0x323B4550, 0x5D6D787D,
|
||||
0x796B5B49, 0x3C373E52, 0x7190A2A2, 0x93785537, 0x20110A0A, 0x1D28343E, 0x47505A64, 0x738698A1, 0x9C8D7761,
|
||||
0x534E566D, 0x8DA6B0A6, 0x8D69472C, 0x190F0E13, 0x36434F57, 0x5F676E77, 0x869BB0BC, 0xBBAF9A84, 0x74717D93,
|
||||
0xADBCBBA5, 0x835E412A, 0x1D1A1E27, 0x5360696E, 0x73777C82, 0x8C9EB3C5, 0xCECBBEAB, 0x9F9FA9BC, 0xCACEBFA0,
|
||||
0x7A593F2F, 0x282B3545, 0x6F767778, 0x78787A7F, 0x8593A8C2, 0xD6DDDAD2, 0xCCCBD2DA, 0xDFD7BE9B, 0x775A473C,
|
||||
0x3A445463, 0x7E7D7875, 0x716D6D71, 0x78849BBA, 0xD8EAEDED, 0xEBEBEDED, 0xEBDABB97, 0x7862554F, 0x5562727B,
|
||||
0x7F766E67, 0x625D5C5F, 0x697991B2, 0xD6EFF7F5, 0xF3F4F7F7, 0xEDD5B496, 0x7F70696B, 0x74808787, 0x796C5F57,
|
||||
0x514D4C52, 0x5E738EAF, 0xD1EAF1ED, 0xEBEDF4F4, 0xE6CCB099, 0x8A818087, 0x91959288, 0x7261534A, 0x4541434A,
|
||||
0x597290AE, 0xCADCE0DC, 0xDADDE5E6, 0xD9C2AD9D, 0x9390949D, 0xA2A09584, 0x6C5A4B41, 0x3B3B3D46, 0x57718EA9,
|
||||
0xBDC9CBCA, 0xCACED2CF, 0xC3B3A398, 0x92939AA1, 0xA39D907F, 0x6955453C, 0x38373C46, 0x58718DA5, 0xB7C1C5C6,
|
||||
0xC9CCCAC2, 0xB4A59A91, 0x8D91979D, 0x9E998D7D, 0x6752423A, 0x38383C46, 0x576F8AA2, 0xB3BFC6CB, 0xCECCC5B7,
|
||||
0xA7988D86, 0x83868E95, 0x98968D7D, 0x644F403B, 0x393A3E47, 0x566C859C, 0xAFBDC7CE, 0xCEC8BCAA, 0x9A8A7F78,
|
||||
0x777A838D, 0x94958C7A, 0x5E4C423E, 0x3E3E4047, 0x54677D94, 0xA9BAC7CD, 0xC9C0AF9F, 0x8E80746D, 0x6B707A86,
|
||||
0x91928975, 0x5A4B4543, 0x43434448, 0x5161768C, 0xA3B5C3C7, 0xC1B4A394, 0x85776D66, 0x63687480, 0x8C8D836F,
|
||||
0x574D4848, 0x4848484A, 0x505D7087, 0x9DB1BDBE, 0xB6A9998B, 0x7F746A63, 0x62656F7B, 0x84847A67, 0x554F4D4D,
|
||||
0x4D4D4E4F, 0x535F6F85, 0x9BAEB8B8, 0xAFA29488, 0x7E756B65, 0x62656D75, 0x7B797061, 0x56535353, 0x5556585A,
|
||||
0x6069788A, 0x9EAEB6B4, 0xAB9F948A, 0x817A726B, 0x67686B6F, 0x726E665D, 0x585A5C5E, 0x62676C70, 0x767E8A98,
|
||||
0xA6B2B6B4, 0xACA1978E, 0x89837C76, 0x716E6C6C, 0x6A66605C, 0x5F62686F, 0x7680888F, 0x94999FA7, 0xAFB6B7B5,
|
||||
0xAEA49C96, 0x928E8983, 0x7D76716B, 0x67625F5D, 0x676D7681, 0x8E9BA6AD, 0xB0B1B1B2, 0xB4B7B9B6, 0xB1A8A29E,
|
||||
0x9B999590, 0x877F7770, 0x6A656364, 0x71788392, 0xA3B2BDC3, 0xC3BFBAB7, 0xB6B8B9B7, 0xB3ABA6A3, 0xA3A19E98,
|
||||
0x91888079, 0x736E6C6D, 0x7A818C9C, 0xAFBFC9CE, 0xCBC4BDB7, 0xB7B8BBBA, 0xB4ACA6A4, 0xA4A5A4A0, 0x9A958F89,
|
||||
0x837E7A79, 0x868A94A3, 0xB5C4CED0, 0xCCC5BEBA, 0xBBBFC1BF, 0xB7AEA8A5, 0xA7A9ABAC, 0xACAAA8A4, 0x9D968D88,
|
||||
0x8F9199A7, 0xB7C5CCCD, 0xC9C4C0BF, 0xC3C7C8C2, 0xB7ADA7A6, 0xA8ADB3BA, 0xBFC3C4BF, 0xB7AB9E94, 0x97979FAB,
|
||||
0xB9C3C8C9, 0xC7C5C4C7, 0xCCCFCBC2, 0xB6ADA8A8, 0xADB5C1CD, 0xD8E0E0D9, 0xCCBBAB9E, 0x9C9DA4AE, 0xBAC1C5C6,
|
||||
0xC6C7CAD0, 0xD4D3CBC0, 0xB5ADABAD, 0xB6C2D2E3, 0xF1F9F8ED, 0xDAC5B2A3, 0xA2A4ABB4, 0xBBC1C4C5, 0xC8CCD2D7,
|
||||
0xD8D3CABE, 0xB4B0B0B6, 0xC1D2E5F7, 0xFFFFFFF5, 0xE0C9B6A9, 0xA9ABB1B7, 0xBDC1C4C7, 0xCBD1D8DC, 0xDAD4C9BF,
|
||||
0xB7B4B7BF, 0xCEE1F5FF, 0xFFFFFFF5, 0xDEC8B7AD, 0xB0B2B7BC, 0xC0C3C7CB, 0xD1D8DEDF, 0xDCD6CDC4, 0xBEBBBFC9,
|
||||
0xD9EDFFFF, 0xFFFFFFEE, 0xD9C6B9B1, 0xB6BABEC2, 0xC5C8CCD2, 0xD8DFE3E4, 0xE1DBD4CC, 0xC6C4C8D2, 0xE2F6FFFF,
|
||||
0xFFFFF7E5, 0xD3C5BBB6, 0xBEC2C6C9, 0xCDD0D5DA, 0xE1E6EAEB, 0xE9E4DED6, 0xD0CED1DB, 0xEAFAFFFF, 0xFFFDEEDD,
|
||||
0xCFC5BFBD, 0xC7CBCFD3, 0xD6DADEE3, 0xE9EFF4F7, 0xF4EFE7E0, 0xDBD8DBE4, 0xF2FFFFFF, 0xFFF4E6D8, 0xCEC7C4C4,
|
||||
0xD1D5D9DD, 0xE0E3E7EB, 0xF0F7FEFF, 0xFFFAF2EA, 0xE5E3E6EE, 0xFAFFFFFF, 0xFAEDE0D7, 0xD0CDCCCD, 0xDCE0E3E6,
|
||||
0xE9EBEDF0, 0xF5FBFFFF, 0xFFFFFBF4, 0xEFEEF2F9, 0xFFFFFFFE, 0xF4E8DFD8, 0xD4D3D5D7, 0xE6E9EBED, 0xEEEFF1F2,
|
||||
0xF5F9FFFF, 0xFFFFFFFD, 0xFAFAFDFF, 0xFFFFFFFA, 0xF0E7E1DD, 0xDBDCDEE2, 0xEDEFEFF0, 0xF0F0F0F1, 0xF2F5FAFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF7, 0xEFE9E5E2, 0xE2E4E7EB, 0xF1F1F0F0, 0xEFEEEEEF, 0xF0F3F6FC, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFDF6, 0xF0ECEAE8, 0xEAECEFF1, 0xF2F1EFEF, 0xEEEDEDED, 0xEFF1F5FA, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFBF6, 0xF2F0EFEF, 0xF1F2F3F3, 0xF3F1EFEE, 0xEDEDEDED, 0xEFF2F5FA, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFDFAF7,
|
||||
0xF5F4F4F5, 0xF6F7F6F5, 0xF3F1F0EF, 0xEEEEEEEF, 0xF1F3F6FA, 0xFDFFFFFF, 0xFFFFFFFF, 0xFFFCFAF8, 0xF7F6F7F8,
|
||||
0xF8F8F7F5, 0xF5F3F2F1, 0xF0F0F0F1, 0xF3F5F8FA, 0xFCFDFDFD, 0xFDFEFEFE, 0xFDFBFAF9, 0xF8F9F9FA, 0xFAF9F8F7,
|
||||
0xF7F5F3F3, 0xF3F2F3F4, 0xF5F7F9FB, 0xFDFDFEFE, 0xFEFEFEFD, 0xFCFBFAFA, 0xF9FAFAFB, 0xFBFAF9F8, 0xF8F7F6F5,
|
||||
0xF5F5F5F6, 0xF7F9FAFC, 0xFDFEFEFF, 0xFFFFFEFD, 0xFDFBFBFA, 0xFAFAFBFB, 0xFBFBFBFA, 0xFAF9F8F7, 0xF7F7F8F8,
|
||||
0xF9FAFBFC, 0xFEFFFFFF, 0xFFFFFEFD, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFCFB, 0xFBFAFAFA, 0xFAFAFAFA, 0xFBFBFCFD,
|
||||
0xFEFFFFFF, 0xFFFFFEFE, 0xFDFCFCFC, 0xFBFCFCFD, 0xFDFDFDFC, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFDFE, 0xFFFFFFFF,
|
||||
0xFFFFFFFE, 0xFEFDFDFD, 0xFDFDFDFD, 0xFEFEFDFD, 0xFDFDFDFD, 0xFDFDFDFD, 0xFDFDFEFE, 0xFFFFFFFF, 0xFFFFFFFE,
|
||||
0xFEFEFEFD, 0xFDFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE,
|
||||
0xFEFEFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices1[] = {
|
||||
0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271,
|
||||
0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000,
|
||||
0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005,
|
||||
0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF,
|
||||
0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC,
|
||||
0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000,
|
||||
0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800,
|
||||
0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF,
|
||||
0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB,
|
||||
0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000,
|
||||
0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2,
|
||||
0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF,
|
||||
0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC,
|
||||
0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000,
|
||||
0x05000419, 0x273FA2FF,
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices2[] = {
|
||||
0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B,
|
||||
0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000,
|
||||
0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419,
|
||||
0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF,
|
||||
0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF,
|
||||
};
|
||||
|
||||
static Gfx textureDL[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPLoadTextureBlock(texture2, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15),
|
||||
gsDPLoadMultiBlock(texture1, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 14),
|
||||
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 0, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT,
|
||||
COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0),
|
||||
gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL |
|
||||
GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1),
|
||||
G_RM_ZB_CLD_SURF2),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
static Gfx vertexDL[] = {
|
||||
gsSPVertex(vertices1, 32, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0),
|
||||
gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0),
|
||||
gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0),
|
||||
gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0),
|
||||
gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0),
|
||||
gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0),
|
||||
gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0),
|
||||
gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0),
|
||||
gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0),
|
||||
gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0),
|
||||
gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0),
|
||||
gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0),
|
||||
gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0),
|
||||
gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0),
|
||||
gsSP1Triangle(27, 31, 28, 0),
|
||||
gsSPVertex(vertices2, 11, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0),
|
||||
gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
/*
|
||||
* File: z_arrow_light.c
|
||||
* Overlay: ovl_Arrow_Light
|
||||
* Description: Light Arrow actor. Spawned by and attached to a normal arrow.
|
||||
*/
|
||||
|
||||
#include "z_arrow_light.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
|
@ -8,7 +15,12 @@ void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx);
|
|||
void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx);
|
||||
void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx);
|
||||
void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx);
|
||||
void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx);
|
||||
|
||||
#include "z_arrow_light_gfx.c"
|
||||
|
||||
const ActorInit Arrow_Light_InitVars = {
|
||||
ACTOR_ARROW_LIGHT,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
|
|
@ -21,21 +33,214 @@ const ActorInit Arrow_Light_InitVars = {
|
|||
(ActorFunc)ArrowLight_Update,
|
||||
(ActorFunc)ArrowLight_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s")
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s")
|
||||
void ArrowLight_SetupAction(ArrowLight* this, ActorFunc* actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s")
|
||||
void ArrowLight_Init(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
this->radius = 0;
|
||||
this->unk_160 = 1.0f;
|
||||
ArrowLight_SetupAction(this, ArrowLight_Charge);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->alpha = 0x82;
|
||||
this->timer = 0;
|
||||
this->unk_164 = 0.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s")
|
||||
void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
func_800876C8(globalCtx);
|
||||
LogUtils_LogThreadId("../z_arrow_light.c", 403);
|
||||
// Translates to: ""Disappearance" = Disappearance"
|
||||
osSyncPrintf("\"消滅\" = %s\n", "消滅");
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s")
|
||||
void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s")
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s")
|
||||
if (this->radius < 10) {
|
||||
this->radius += 1;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s")
|
||||
func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_LIGHT);
|
||||
|
||||
// If arrow's attached is null, Link has fired the arrow
|
||||
if (arrow->actor.attachedA == NULL) {
|
||||
this->unkPos = this->actor.posRot.pos;
|
||||
this->radius = 10;
|
||||
ArrowLight_SetupAction(this, ArrowLight_Fly);
|
||||
this->alpha = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80869E6C(Vec3f* unkPos, Vec3f* lightPos, f32 scale) {
|
||||
unkPos->x += ((lightPos->x - unkPos->x) * scale);
|
||||
unkPos->y += ((lightPos->y - unkPos->y) * scale);
|
||||
unkPos->z += ((lightPos->z - unkPos->z) * scale);
|
||||
}
|
||||
|
||||
void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
f32 scale;
|
||||
f32 offset;
|
||||
u16 timer;
|
||||
|
||||
if (this->actor.unk_F0 < 50.0f) {
|
||||
scale = 10.0f;
|
||||
} else {
|
||||
if (950.0f < this->actor.unk_F0) {
|
||||
scale = 310.0f;
|
||||
} else {
|
||||
scale = this->actor.unk_F0;
|
||||
scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f;
|
||||
}
|
||||
}
|
||||
|
||||
timer = this->timer;
|
||||
if (timer != 0) {
|
||||
this->timer -= 1;
|
||||
|
||||
if (this->timer >= 8) {
|
||||
offset = ((this->timer - 8) * (1.0f / 24.0f));
|
||||
offset = SQ(offset);
|
||||
this->radius = (((1.0f - offset) * scale) + 10.0f);
|
||||
this->unk_160 += ((2.0f - this->unk_160) * 0.1f);
|
||||
if (this->timer < 16) {
|
||||
if (1) {}
|
||||
this->alpha = ((this->timer * 0x23) - 0x118);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer >= 9) {
|
||||
if (this->unk_164 < 1.0f) {
|
||||
this->unk_164 += 0.25f;
|
||||
}
|
||||
} else {
|
||||
if (this->unk_164 > 0.0f) {
|
||||
this->unk_164 -= 0.125f;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer < 8) {
|
||||
this->alpha = 0;
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 255;
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
EnArrow* arrow;
|
||||
f32 distanceScaled;
|
||||
s32 pad;
|
||||
|
||||
arrow = this->actor.attachedA;
|
||||
if ((arrow == NULL) || (arrow->actor.update == NULL)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
// copy position and rotation from the attached arrow
|
||||
this->actor.posRot.pos = arrow->actor.posRot.pos;
|
||||
this->actor.shape.rot = arrow->actor.shape.rot;
|
||||
distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f);
|
||||
this->unk_160 = distanceScaled;
|
||||
if (distanceScaled < 1.0f) {
|
||||
this->unk_160 = 1.0f;
|
||||
}
|
||||
func_80869E6C(&this->unkPos, &this->actor.posRot.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_LIGHT);
|
||||
ArrowLight_SetupAction(this, ArrowLight_Hit);
|
||||
this->timer = 32;
|
||||
this->alpha = 0xFF;
|
||||
} else if (arrow->timer < 34) {
|
||||
if (this->alpha < 0x23) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->alpha -= 0x19;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) {
|
||||
s32 pad1;
|
||||
s32 pad2;
|
||||
u32 stateFrames;
|
||||
GraphicsContext* gfxCtx;
|
||||
Actor* tranform;
|
||||
EnArrow* arrow;
|
||||
Gfx* gfxArr[4];
|
||||
|
||||
stateFrames = globalCtx->state.frames;
|
||||
arrow = this->actor.attachedA;
|
||||
if (1) {}
|
||||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
// clang-format off
|
||||
gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598);
|
||||
// clang-format on
|
||||
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
|
||||
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
|
||||
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
|
||||
|
||||
// Draw yellow effect over the screen when arrow hits
|
||||
if (this->unk_164 > 0) {
|
||||
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF,
|
||||
(s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF);
|
||||
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
|
||||
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
|
||||
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
|
||||
}
|
||||
|
||||
// Draw light on the arrow
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xFF, 0xAA, this->alpha);
|
||||
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0xFF, 0x00, 0x80);
|
||||
Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY);
|
||||
if (this->timer != 0) {
|
||||
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY);
|
||||
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, textureDL);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1,
|
||||
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16));
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL);
|
||||
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,13 @@
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x014C */ s16 radius;
|
||||
/* 0x014E */ u16 timer;
|
||||
/* 0x0150 */ u8 alpha;
|
||||
/* 0x0154 */ Vec3f unkPos;
|
||||
/* 0x0160 */ f32 unk_160;
|
||||
/* 0x0164 */ f32 unk_164;
|
||||
/* 0x0168 */ ActorFunc actionFunc;
|
||||
} ArrowLight; // size = 0x016C
|
||||
|
||||
extern const ActorInit Arrow_Light_InitVars;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,192 @@
|
|||
#include "z_arrow_light.h"
|
||||
|
||||
static UNK_TYPE texture1[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000,
|
||||
0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001,
|
||||
0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000,
|
||||
0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C,
|
||||
0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103,
|
||||
0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001,
|
||||
0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102,
|
||||
0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503,
|
||||
0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F,
|
||||
0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801,
|
||||
0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001,
|
||||
0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19,
|
||||
0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403,
|
||||
0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304,
|
||||
0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29,
|
||||
0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223,
|
||||
0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25,
|
||||
0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F,
|
||||
0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520,
|
||||
0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F,
|
||||
0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15,
|
||||
0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741,
|
||||
0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B,
|
||||
0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76,
|
||||
0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53,
|
||||
0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F,
|
||||
0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791,
|
||||
0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90,
|
||||
0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C,
|
||||
0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE,
|
||||
0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5,
|
||||
0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1,
|
||||
0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB,
|
||||
0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC,
|
||||
0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5,
|
||||
0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5,
|
||||
0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC,
|
||||
0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0,
|
||||
0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE,
|
||||
0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6,
|
||||
0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA,
|
||||
0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE,
|
||||
0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD,
|
||||
0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5,
|
||||
0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE,
|
||||
0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF,
|
||||
0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
};
|
||||
|
||||
static UNK_TYPE texture2[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000102, 0x02010000, 0x00000001, 0x01010202,
|
||||
0x00000000, 0x00000000, 0x00000202, 0x02000000, 0x01010205, 0x07050200, 0x00000001, 0x01010304, 0x02010000,
|
||||
0x00000000, 0x00000305, 0x04010001, 0x05030307, 0x0A090401, 0x00000101, 0x01020206, 0x05030200, 0x00000000,
|
||||
0x01010408, 0x08030003, 0x08080607, 0x09090602, 0x01000001, 0x01010104, 0x05060603, 0x02010002, 0x0505060A,
|
||||
0x0C080404, 0x07090707, 0x06050709, 0x07010000, 0x01010101, 0x05080B0A, 0x06020205, 0x090A0A0C, 0x0F0E0A05,
|
||||
0x05080905, 0x05040810, 0x10060000, 0x00010102, 0x050A1113, 0x0E080608, 0x0A0C0D10, 0x1514120D, 0x0E0C0D0B,
|
||||
0x09080B15, 0x190F0402, 0x01000308, 0x0A0F161A, 0x180F0A0A, 0x0A0B0B12, 0x191B2A20, 0x221B1F1B, 0x1815141C,
|
||||
0x22170806, 0x03030611, 0x1A1F201E, 0x1C140E0E, 0x0D0E0F11, 0x181D2F3D, 0x3F333532, 0x2C261F24, 0x2E230F0D,
|
||||
0x0A090E18, 0x242E2D24, 0x1B141010, 0x11161813, 0x1618274A, 0x4E464948, 0x42383030, 0x39311712, 0x16151F24,
|
||||
0x2331362A, 0x1B111013, 0x191D201C, 0x1E273145, 0x4F51565B, 0x584C4140, 0x4A3F1C14, 0x1E202D32, 0x242B3631,
|
||||
0x22140F14, 0x1D23221D, 0x273C4A4E, 0x675F636D, 0x70645452, 0x564C2616, 0x2D363842, 0x38333F3F, 0x35241817,
|
||||
0x242C2A25, 0x2F4F656C, 0x948A7E81, 0x887D6A63, 0x60583B2F, 0x4454575F, 0x5B555C5E, 0x56493E34, 0x39414644,
|
||||
0x49627089, 0xBBBAA89B, 0x9B917A70, 0x67595152, 0x677A8184, 0x857F7A7C, 0x756D6A63, 0x5C5D626E, 0x767F8795,
|
||||
0xC4D1CABB, 0xB5A68C82, 0x7D706B76, 0x8B969DA7, 0xAEA69592, 0x928C8B8A, 0x857D8094, 0xA5AAA8A5, 0xC4CEC9C7,
|
||||
0xC2B69E94, 0x948F8991, 0x9EA4A9B7, 0xBEBDAFA2, 0xA2A49F9A, 0x99959BB7, 0xC9CECAC4, 0xD7CDC8C8, 0xCBC8B6AB,
|
||||
0xAAAAA7A0, 0xA0A2ACBD, 0xC6CCC9BD, 0xB4BAB6A8, 0xA3A3AECF, 0xE3E4E0DE, 0xE6DBD4CE, 0xD0D0C6BA, 0xB6B6B3A7,
|
||||
0x9FA7B4C7, 0xD5D7D8D3, 0xC9C9CDBF, 0xB1B2BED9, 0xF2ECE3E5, 0xECEAE1DA, 0xDBDDD7CB, 0xC2BFBCB4, 0xADB4C4D7,
|
||||
0xE4E7E4DD, 0xD6D6E0DC, 0xC7BABFD4, 0xE9E8DFE2, 0xF0F4EDE8, 0xE6E7E7DD, 0xCFC9CAC9, 0xC8CEDCEA, 0xF3F6F1E7,
|
||||
0xE0DEE3E7, 0xDAC2C3D6, 0xE4E8E3E5, 0xF7FBF8F1, 0xECEAEFEB, 0xDFDCDDE0, 0xE2E4E7EF, 0xF7FCFAF4, 0xEFE9E5E7,
|
||||
0xE2CDC8D7, 0xE5E9EAEE, 0xFDFEFCF7, 0xF1EBEDF0, 0xE9E8EDF1, 0xF3F0EEF0, 0xF5FBFBF8, 0xF7F3E9E2, 0xDDD6D3E1,
|
||||
0xEBEBEBF4, 0xFCFEFEFC, 0xF6F0F1F4, 0xEDEAF3FA, 0xFCF5EBEA, 0xF0F8F8F6, 0xF7F6EEE6, 0xE2E0E4ED, 0xEDE9E1EE,
|
||||
0xFAFFFDFD, 0xFAF7F7F7, 0xF2EFF6FB, 0xFBF2E1DF, 0xEEF8F6F2, 0xF4F6F2EE, 0xEAE7ECF2, 0xEEE6E0E5, 0xF6FCFCFD,
|
||||
0xFDFCFCF9, 0xF2F0F5FA, 0xFAF3DED8, 0xE8F7F7F3, 0xF4F8F7F6, 0xF2EEEEF0, 0xECE5E2E5, 0xF8FBF5F7, 0xFAFBFAF5,
|
||||
0xEBE7F4FC, 0xFAF6E8DD, 0xE8F8FCF8, 0xF8F9FAFA, 0xF9F4EEE9, 0xE4DFE0E9, 0xF9FAF1EE, 0xF2F5F7F5, 0xEBE1EDFB,
|
||||
0xFBFAF5EF, 0xF4FCFEFD, 0xFBF8F8FB, 0xFBF7F2EA, 0xE4DCD8E5, 0xF6FBF0EA, 0xECEFF3F2, 0xEDE5EAF9, 0xFDFCFDFC,
|
||||
0xFCFDFDFC, 0xF9F5F7FA, 0xFCF9F6F2, 0xEBE0D6E1, 0xEDF9F5EE, 0xEDEEF0F0, 0xEEEBEFFA, 0xFEFEFFFC, 0xF9F6F8FB,
|
||||
0xFAF7F6FA, 0xFDFDFBFA, 0xF7E8DCDB, 0xECF7F9F4, 0xF3F1F0EF, 0xECECF3FC, 0xFEFEFEF9, 0xF1EDEEF7, 0xFBFAF9FC,
|
||||
0xFEFEFDFC, 0xFBF3DFE0, 0xF0F5FBFA, 0xF7F3F3F4, 0xF1EFF2F8, 0xFAFCFEFA, 0xF1EAE7F0, 0xFAFEFDFE, 0xFFFEFEFD,
|
||||
0xFDFBE7E9, 0xF6FBFDFB, 0xF8F3F2F7, 0xF9F4EFF0, 0xF3F6FBFB, 0xF5EEEDF0, 0xFAFFFFFF, 0xFEFDFDFE, 0xFEFDF7F0,
|
||||
0xF9FDFCFA, 0xF5ECEAF4, 0xFCF8ECE8, 0xEBEFF7FC, 0xF8F6F7F6, 0xF9FCFEFD, 0xFBFAF8FB, 0xFEFFFEF7, 0xF3FAFCF7,
|
||||
0xEFE4E1EA, 0xF7F8EBE1, 0xE4EAEDF5, 0xF6F3F7F8, 0xF7F9FAF9, 0xF5F3F1F0, 0xF4FBFFFA, 0xECEEF6F4, 0xECE1DBE1,
|
||||
0xEFF5EDE0, 0xE0E2E0E6, 0xEDEBEFF2, 0xF3F6F6F5, 0xEEECEDE6, 0xE2EEFEFA, 0xEAE3E6E6, 0xE5E2DEDF, 0xE7EDE7DD,
|
||||
0xDBDDD8DA, 0xE5E6E8ED, 0xEEF2F4EF, 0xE3D9DFE4, 0xDDE2F7FB, 0xF2E5D8D2, 0xD4DDE3DB, 0xD7DCDCD4, 0xCFD1D5DC,
|
||||
0xE6E7E8E8, 0xE5E9EBE3, 0xD1C5CEE0, 0xE2E2F3FD, 0xF8EAD6C2, 0xC1CDDCD7, 0xC5BFC4C1, 0xB7B9CCE7, 0xF0EDE2DD,
|
||||
0xD8D4D7CA, 0xB4AFBFD6, 0xE4EBF2FC, 0xEEEAD8C2, 0xBABECCCF, 0xB9A1A3AA, 0xA6A2B0DB, 0xF0E9D8CE, 0xC6BFBDAE,
|
||||
0x9292ACCC, 0xE0E4E3EB, 0xCFD5CFBF, 0xB3AEB1B6, 0xA68D8A95, 0x9A99A1C2, 0xE3DBC6BA, 0xB4ACA292, 0x757299C0,
|
||||
0xD7D8CBC6, 0xA5B3BAB0, 0xA59A9293, 0x8C7A757E, 0x889198AE, 0xCACAB7A7, 0xA09C9480, 0x63597696, 0xAEC0BEA8,
|
||||
0x8C959F97, 0x89807772, 0x6752536B, 0x79808896, 0xAEB8A894, 0x827E796B, 0x59556374, 0x849EB6A5, 0x918F8D7B,
|
||||
0x6A676A66, 0x53363453, 0x6A6D6E76, 0x8A9D9E90, 0x73625D58, 0x5157605F, 0x5E749CA7, 0x96898163, 0x4E506064,
|
||||
0x4A2A1E36, 0x565D5B5F, 0x697D8D8C, 0x714E4240, 0x44525E59, 0x5161869C, 0x81776D54, 0x3D3A4D5A, 0x46281B22,
|
||||
0x363E424A, 0x545D6E7B, 0x714F3630, 0x313E4E4C, 0x44537384, 0x625B4E3E, 0x2E293646, 0x37201C20, 0x1E1D1F2D,
|
||||
0x3E454A59, 0x5F4D2D20, 0x2229363E, 0x3B4A6A70, 0x453C3329, 0x211F2835, 0x2A1A1B20, 0x1307050F, 0x242C2933,
|
||||
0x43442C18, 0x15151C2A, 0x3140655C, 0x251B1F1B, 0x15161F27, 0x261D1C20, 0x15040005, 0x141E1516, 0x26312716,
|
||||
0x0E0C0D19, 0x28385556, 0x170D1511, 0x0A0B141E, 0x2222201F, 0x170B0403, 0x0D190F0B, 0x151F1B10, 0x0B08050C,
|
||||
0x17264546, 0x130C140C, 0x03030C12, 0x13181F1C, 0x16100A07, 0x090E0F09, 0x11160F08, 0x0C0F0A09, 0x0F1B2E32,
|
||||
0x12171D11, 0x0301070D, 0x0B0D1414, 0x110F110F, 0x0A07070A, 0x11150B04, 0x0C15130F, 0x0E0E1B23, 0x10172113,
|
||||
0x0401050C, 0x0E09090B, 0x09090E13, 0x10090505, 0x0D120C04, 0x07141911, 0x0C0A1016, 0x09101811, 0x05020308,
|
||||
0x0D090606, 0x0504060C, 0x110F0903, 0x060B0804, 0x030A100D, 0x0A090B0C, 0x05060A06, 0x01010204, 0x07080403,
|
||||
0x02010307, 0x0A0D0B04, 0x02020302, 0x02030606, 0x04040708, 0x02020200, 0x00000201, 0x02030200, 0x00000102,
|
||||
0x05060704, 0x01000001, 0x01020201, 0x00010406, 0x01000201, 0x00000000, 0x00000000, 0x00000001, 0x02020202,
|
||||
0x01000000, 0x00000101, 0x00000102, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices1[] = {
|
||||
0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271,
|
||||
0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000,
|
||||
0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005,
|
||||
0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF,
|
||||
0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC,
|
||||
0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000,
|
||||
0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800,
|
||||
0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF,
|
||||
0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB,
|
||||
0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000,
|
||||
0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2,
|
||||
0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF,
|
||||
0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC,
|
||||
0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000,
|
||||
0x05000419, 0x273FA2FF,
|
||||
};
|
||||
|
||||
static UNK_TYPE vertices2[] = {
|
||||
0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B,
|
||||
0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000,
|
||||
0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419,
|
||||
0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF,
|
||||
0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF,
|
||||
};
|
||||
|
||||
static Gfx textureDL[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 15),
|
||||
gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_MIRROR | G_TX_WRAP, 5, 6, 14, 14),
|
||||
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT,
|
||||
COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0),
|
||||
gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL |
|
||||
GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1),
|
||||
G_RM_ZB_CLD_SURF2),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
static Gfx vertexDL[] = {
|
||||
gsSPVertex(vertices1, 32, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0),
|
||||
gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0),
|
||||
gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0),
|
||||
gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0),
|
||||
gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0),
|
||||
gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0),
|
||||
gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0),
|
||||
gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0),
|
||||
gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0),
|
||||
gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0),
|
||||
gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0),
|
||||
gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0),
|
||||
gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0),
|
||||
gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0),
|
||||
gsSP1Triangle(27, 31, 28, 0),
|
||||
gsSPVertex(vertices2, 11, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0),
|
||||
gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
|
@ -168,7 +168,7 @@ static ColliderCylinderInit colliderInit = {
|
|||
0x00, 0x00, 0xFFCFFFFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000, 0x0001, 0x0000, 0x000A, 0x0046, 0x0000,
|
||||
};
|
||||
|
||||
static SubActor98Init subActor98Init = {
|
||||
static Sub98Init4 sub98Init = {
|
||||
0x0A,
|
||||
0x0023,
|
||||
0x0064,
|
||||
|
|
@ -202,7 +202,7 @@ static void BgTokiSwd_Init(BgTokiSwd* this, GlobalContext* globalCtx) {
|
|||
ActorCollider_AllocCylinder(globalCtx, collision);
|
||||
ActorCollider_InitCylinder(globalCtx, collision, thisx, &colliderInit);
|
||||
ActorCollider_Cylinder_Update(thisx, collision);
|
||||
func_80061ED4(&thisx->sub_98, 0, &subActor98Init);
|
||||
func_80061ED4(&thisx->sub_98, 0, &sub98Init);
|
||||
}
|
||||
|
||||
static void BgTokiSwd_Destroy(BgTokiSwd* this, GlobalContext* globalCtx) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,10 @@
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x114];
|
||||
/* 0x014C */ char unk_14C[0xFC];
|
||||
/* 0x0248 */ u8 timer; // used for dissapearing when flying or hitting a wall
|
||||
/* 0x0249 */ u8 hitWall;
|
||||
/* 0x024A */ char unk_24A[0x16];
|
||||
} EnArrow; // size = 0x0260
|
||||
|
||||
extern const ActorInit En_Arrow_InitVars;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_en_dog.c
|
||||
* Overlay: ovl_En_Dog
|
||||
* Description: Dog actor that Link can interact with
|
||||
*/
|
||||
|
||||
#include "z_en_dog.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
|
|
@ -35,17 +41,7 @@ static ColliderCylinderInit cylinderInit = {
|
|||
0x0010, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
// There are multiple versions of sub98 init structs
|
||||
// Keeping these local until z_collision_check is decompiled
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 unk_10;
|
||||
/* 0x04 */ s16 unk_12;
|
||||
/* 0x06 */ u16 unk_14;
|
||||
/* 0x08 */ u8 mass;
|
||||
} sub98Init;
|
||||
|
||||
static sub98Init sub98Data = {
|
||||
static Sub98Init5 sub98Data = {
|
||||
0x00, // health
|
||||
0x0000, // unk_10
|
||||
0x0000, // unk_12
|
||||
|
|
|
|||
|
|
@ -1,15 +1,10 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "z_en_tk.h"
|
||||
/*
|
||||
* File: z_en_tk.c
|
||||
* Overlay: ovl_En_Tk
|
||||
* Description: Dampe NPC from "Dampe's Heart-Pounding Gravedigging Tour"
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ u8 health; /* SubActorStruct98.health */
|
||||
/* 0x0002 */ s16 h_2; /* SubActorStruct98.unk_10 */
|
||||
/* 0x0004 */ s16 h_4; /* SubActorStruct98.unk_12 */
|
||||
/* 0x0006 */ s16 h_6; /* SubActorStruct98.unk_14 */
|
||||
/* 0x0008 */ u8 mass; /* SubActorStruct98.mass */
|
||||
/* 0x000A */
|
||||
} EnTk_SubActorStruct98Init;
|
||||
#include "z_en_tk.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000009
|
||||
|
|
@ -181,7 +176,7 @@ static ColliderCylinderInit D_80B1D508 = {
|
|||
0x00, 0x00, 0x01, 0x00, 0x001E, 0x0034, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
static EnTk_SubActorStruct98Init D_80B1D534 = {
|
||||
static Sub98Init5 D_80B1D534 = {
|
||||
0x00, 0x0000, 0x0000, 0x0000, 0xFF,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,12 @@ static ColliderCylinderInit colCylinderInit = {
|
|||
0x00, 0x01, 0x01, 0x00, 0x001E, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
static SubActor98Init subActor98Init = { 0x04, 0x001E, 0x0028, 0x96 };
|
||||
static Sub98Init4 sub98Init = {
|
||||
0x04,
|
||||
0x001E,
|
||||
0x0028,
|
||||
0x96,
|
||||
};
|
||||
|
||||
static ActorDamageChart damageChart = { {
|
||||
{ 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x1 }, { 0x0, 0x2 }, { 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x2 }, { 0x1, 0x0 },
|
||||
|
|
@ -96,7 +101,7 @@ static void EnWallmas_Init(EnWallmas* this, GlobalContext* globalCtx) {
|
|||
|
||||
ActorCollider_AllocCylinder(globalCtx, &this->colCylinder);
|
||||
ActorCollider_InitCylinder(globalCtx, &this->colCylinder, &this->actor, &colCylinderInit);
|
||||
func_80061ED4(&this->actor.sub_98, &damageChart, &subActor98Init);
|
||||
func_80061ED4(&this->actor.sub_98, &damageChart, &sub98Init);
|
||||
this2->switchFlag = (u8)(this2->actor.params >> 0x8);
|
||||
this->actor.params = this->actor.params & 0xFF;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue