mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 19:13:42 +00:00
En_Arrow OK (#648)
* fix colliderinit typo * fix initchain * start init * match init * progress * progress * more funcs * match func_809B3DD8 * progress * last func almost done * enum * name some more types * progress * all but one * fix warning * remove undefined syms * match arrows * review * spec * remove asm
This commit is contained in:
parent
6221723aad
commit
dff2dfef0f
29 changed files with 513 additions and 1609 deletions
|
@ -83,9 +83,9 @@ glabel func_8099E4F4
|
|||
/* 00D2C 8099E5FC C6220550 */ lwc1 $f2, 0x0550($s1) ## 00000550
|
||||
/* 00D30 8099E600 C6300554 */ lwc1 $f16, 0x0554($s1) ## 00000554
|
||||
/* 00D34 8099E604 C6320558 */ lwc1 $f18, 0x0558($s1) ## 00000558
|
||||
/* 00D38 8099E608 3C020403 */ lui $v0, %hi(gEffFairySparklesDL) ## $v0 = 04030000
|
||||
/* 00D38 8099E608 3C020403 */ lui $v0, %hi(gEffSparklesDL) ## $v0 = 04030000
|
||||
/* 00D3C 8099E60C 4602B201 */ sub.s $f8, $f22, $f2
|
||||
/* 00D40 8099E610 24427880 */ addiu $v0, $v0, %lo(gEffFairySparklesDL) ## $v0 = 04037880
|
||||
/* 00D40 8099E610 24427880 */ addiu $v0, $v0, %lo(gEffSparklesDL) ## $v0 = 04037880
|
||||
/* 00D44 8099E614 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00D48 8099E618 4604B001 */ sub.s $f0, $f22, $f4
|
||||
/* 00D4C 8099E61C C6440000 */ lwc1 $f4, 0x0000($s2) ## 0000024C
|
||||
|
|
|
@ -116,9 +116,9 @@ glabel func_8099E784
|
|||
/* 01028 8099E8F8 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
|
||||
/* 0102C 8099E8FC C62A0000 */ lwc1 $f10, 0x0000($s1) ## 0000014C
|
||||
/* 01030 8099E900 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 01034 8099E904 3C020403 */ lui $v0, %hi(gEffFairySparklesDL) ## $v0 = 04030000
|
||||
/* 01034 8099E904 3C020403 */ lui $v0, %hi(gEffSparklesDL) ## $v0 = 04030000
|
||||
/* 01038 8099E908 46185402 */ mul.s $f16, $f10, $f24
|
||||
/* 0103C 8099E90C 24427880 */ addiu $v0, $v0, %lo(gEffFairySparklesDL) ## $v0 = 04037880
|
||||
/* 0103C 8099E90C 24427880 */ addiu $v0, $v0, %lo(gEffSparklesDL) ## $v0 = 04037880
|
||||
/* 01040 8099E910 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01044 8099E914 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 01048 8099E918 0041B024 */ and $s6, $v0, $at
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
glabel EnArrow_Destroy
|
||||
/* 0022C 809B3B4C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00230 809B3B50 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00234 809B3B54 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00238 809B3B58 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0023C 809B3B5C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00240 809B3B60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00244 809B3B64 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00248 809B3B68 29C10006 */ slti $at, $t6, 0x0006
|
||||
/* 0024C 809B3B6C 50200004 */ beql $at, $zero, .L809B3B80
|
||||
/* 00250 809B3B70 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00254 809B3B74 0C009C27 */ jal Effect_Delete
|
||||
/* 00258 809B3B78 8E050228 */ lw $a1, 0x0228($s0) ## 00000228
|
||||
/* 0025C 809B3B7C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
.L809B3B80:
|
||||
/* 00260 809B3B80 0C0295BC */ jal SkelAnime_Free
|
||||
/* 00264 809B3B84 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00268 809B3B88 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0026C 809B3B8C 0C017418 */ jal Collider_DestroyQuad
|
||||
/* 00270 809B3B90 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
/* 00274 809B3B94 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 00278 809B3B98 5040000A */ beql $v0, $zero, .L809B3BC4
|
||||
/* 0027C 809B3B9C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00280 809B3BA0 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
|
||||
/* 00284 809B3BA4 51E00007 */ beql $t7, $zero, .L809B3BC4
|
||||
/* 00288 809B3BA8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0028C 809B3BAC 8C580004 */ lw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00290 809B3BB0 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 00294 809B3BB4 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 00298 809B3BB8 0301C824 */ and $t9, $t8, $at
|
||||
/* 0029C 809B3BBC AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 002A0 809B3BC0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809B3BC4:
|
||||
/* 002A4 809B3BC4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 002A8 809B3BC8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 002AC 809B3BCC 03E00008 */ jr $ra
|
||||
/* 002B0 809B3BD0 00000000 */ nop
|
|
@ -1,275 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809B4EF0
|
||||
.asciz "../z_en_arrow.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809B4F00
|
||||
.asciz "../z_en_arrow.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809B4F10
|
||||
.asciz "../z_en_arrow.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_809B4F5C
|
||||
.float 0.0000958738
|
||||
glabel D_809B4F60
|
||||
.float 0.0000958738
|
||||
|
||||
.text
|
||||
glabel EnArrow_Draw
|
||||
/* 01048 809B4968 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 0104C 809B496C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 01050 809B4970 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 01054 809B4974 AFA5007C */ sw $a1, 0x007C($sp)
|
||||
/* 01058 809B4978 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 0105C 809B497C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01060 809B4980 29C10009 */ slti $at, $t6, 0x0009
|
||||
/* 01064 809B4984 5020001C */ beql $at, $zero, .L809B49F8
|
||||
/* 01068 809B4988 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 0106C 809B498C 0C024F46 */ jal func_80093D18
|
||||
/* 01070 809B4990 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
|
||||
/* 01074 809B4994 3C188016 */ lui $t8, %hi(gGameInfo)
|
||||
/* 01078 809B4998 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
|
||||
/* 0107C 809B499C C60400EC */ lwc1 $f4, 0x00EC($s0) ## 000000EC
|
||||
/* 01080 809B49A0 8FA4007C */ lw $a0, 0x007C($sp)
|
||||
/* 01084 809B49A4 87190492 */ lh $t9, 0x0492($t8) ## 80160492
|
||||
/* 01088 809B49A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0108C 809B49AC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 01090 809B49B0 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
|
||||
/* 01094 809B49B4 00000000 */ nop
|
||||
/* 01098 809B49B8 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0109C 809B49BC 4608203C */ c.lt.s $f4, $f8
|
||||
/* 010A0 809B49C0 00000000 */ nop
|
||||
/* 010A4 809B49C4 45000003 */ bc1f .L809B49D4
|
||||
/* 010A8 809B49C8 00000000 */ nop
|
||||
/* 010AC 809B49CC 10000001 */ beq $zero, $zero, .L809B49D4
|
||||
/* 010B0 809B49D0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809B49D4:
|
||||
/* 010B4 809B49D4 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
||||
/* 010B8 809B49D8 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 010BC 809B49DC AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 010C0 809B49E0 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 010C4 809B49E4 0C0282D0 */ jal SkelAnime_DrawLod
|
||||
/* 010C8 809B49E8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 010CC 809B49EC 100000C9 */ beq $zero, $zero, .L809B4D14
|
||||
/* 010D0 809B49F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010D4 809B49F4 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
.L809B49F8:
|
||||
/* 010D8 809B49F8 C6100068 */ lwc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 010DC 809B49FC 46105032 */ c.eq.s $f10, $f16
|
||||
/* 010E0 809B4A00 00000000 */ nop
|
||||
/* 010E4 809B4A04 450300C3 */ bc1tl .L809B4D14
|
||||
/* 010E8 809B4A08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010EC 809B4A0C 92040248 */ lbu $a0, 0x0248($s0) ## 00000248
|
||||
/* 010F0 809B4A10 00800821 */ addu $at, $a0, $zero
|
||||
/* 010F4 809B4A14 00042080 */ sll $a0, $a0, 2
|
||||
/* 010F8 809B4A18 00812021 */ addu $a0, $a0, $at
|
||||
/* 010FC 809B4A1C 000420C0 */ sll $a0, $a0, 3
|
||||
/* 01100 809B4A20 00812023 */ subu $a0, $a0, $at
|
||||
/* 01104 809B4A24 00042100 */ sll $a0, $a0, 4
|
||||
/* 01108 809B4A28 00812021 */ addu $a0, $a0, $at
|
||||
/* 0110C 809B4A2C 000420C0 */ sll $a0, $a0, 3
|
||||
/* 01110 809B4A30 00042400 */ sll $a0, $a0, 16
|
||||
/* 01114 809B4A34 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 01118 809B4A38 00042403 */ sra $a0, $a0, 16
|
||||
/* 0111C 809B4A3C 3C0142FF */ lui $at, 0x42FF ## $at = 42FF0000
|
||||
/* 01120 809B4A40 44811000 */ mtc1 $at, $f2 ## $f2 = 127.50
|
||||
/* 01124 809B4A44 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 01128 809B4A48 3C06809B */ lui $a2, %hi(D_809B4EF0) ## $a2 = 809B0000
|
||||
/* 0112C 809B4A4C 46020482 */ mul.s $f18, $f0, $f2
|
||||
/* 01130 809B4A50 24C64EF0 */ addiu $a2, $a2, %lo(D_809B4EF0) ## $a2 = 809B4EF0
|
||||
/* 01134 809B4A54 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFDC
|
||||
/* 01138 809B4A58 46029180 */ add.s $f6, $f18, $f2
|
||||
/* 0113C 809B4A5C 4449F800 */ cfc1 $t1, $31
|
||||
/* 01140 809B4A60 44CAF800 */ ctc1 $t2, $31
|
||||
/* 01144 809B4A64 00000000 */ nop
|
||||
/* 01148 809B4A68 46003124 */ cvt.w.s $f4, $f6
|
||||
/* 0114C 809B4A6C 444AF800 */ cfc1 $t2, $31
|
||||
/* 01150 809B4A70 00000000 */ nop
|
||||
/* 01154 809B4A74 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
|
||||
/* 01158 809B4A78 11400012 */ beq $t2, $zero, .L809B4AC4
|
||||
/* 0115C 809B4A7C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 01160 809B4A80 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
|
||||
/* 01164 809B4A84 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 01168 809B4A88 46043101 */ sub.s $f4, $f6, $f4
|
||||
/* 0116C 809B4A8C 44CAF800 */ ctc1 $t2, $31
|
||||
/* 01170 809B4A90 00000000 */ nop
|
||||
/* 01174 809B4A94 46002124 */ cvt.w.s $f4, $f4
|
||||
/* 01178 809B4A98 444AF800 */ cfc1 $t2, $31
|
||||
/* 0117C 809B4A9C 00000000 */ nop
|
||||
/* 01180 809B4AA0 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
|
||||
/* 01184 809B4AA4 15400005 */ bne $t2, $zero, .L809B4ABC
|
||||
/* 01188 809B4AA8 00000000 */ nop
|
||||
/* 0118C 809B4AAC 440A2000 */ mfc1 $t2, $f4
|
||||
/* 01190 809B4AB0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01194 809B4AB4 10000007 */ beq $zero, $zero, .L809B4AD4
|
||||
/* 01198 809B4AB8 01415025 */ or $t2, $t2, $at ## $t2 = 80000000
|
||||
.L809B4ABC:
|
||||
/* 0119C 809B4ABC 10000005 */ beq $zero, $zero, .L809B4AD4
|
||||
/* 011A0 809B4AC0 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
|
||||
.L809B4AC4:
|
||||
/* 011A4 809B4AC4 440A2000 */ mfc1 $t2, $f4
|
||||
/* 011A8 809B4AC8 00000000 */ nop
|
||||
/* 011AC 809B4ACC 0540FFFB */ bltz $t2, .L809B4ABC
|
||||
/* 011B0 809B4AD0 00000000 */ nop
|
||||
.L809B4AD4:
|
||||
/* 011B4 809B4AD4 8FAB007C */ lw $t3, 0x007C($sp)
|
||||
/* 011B8 809B4AD8 A3AA006F */ sb $t2, 0x006F($sp)
|
||||
/* 011BC 809B4ADC 44C9F800 */ ctc1 $t1, $31
|
||||
/* 011C0 809B4AE0 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
|
||||
/* 011C4 809B4AE4 24070542 */ addiu $a3, $zero, 0x0542 ## $a3 = 00000542
|
||||
/* 011C8 809B4AE8 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 011CC 809B4AEC AFA50064 */ sw $a1, 0x0064($sp)
|
||||
/* 011D0 809B4AF0 8FAC007C */ lw $t4, 0x007C($sp)
|
||||
/* 011D4 809B4AF4 0C024F05 */ jal func_80093C14
|
||||
/* 011D8 809B4AF8 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
|
||||
/* 011DC 809B4AFC 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
|
||||
/* 011E0 809B4B00 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
|
||||
/* 011E4 809B4B04 8FA80064 */ lw $t0, 0x0064($sp)
|
||||
/* 011E8 809B4B08 15A10016 */ bne $t5, $at, .L809B4B64
|
||||
/* 011EC 809B4B0C 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000
|
||||
/* 011F0 809B4B10 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 011F4 809B4B14 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
|
||||
/* 011F8 809B4B18 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 011FC 809B4B1C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 01200 809B4B20 AD0E02D0 */ sw $t6, 0x02D0($t0) ## 000002D0
|
||||
/* 01204 809B4B24 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 01208 809B4B28 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 0120C 809B4B2C 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 01210 809B4B30 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
|
||||
/* 01214 809B4B34 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01218 809B4B38 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 0121C 809B4B3C AD1902D0 */ sw $t9, 0x02D0($t0) ## 000002D0
|
||||
/* 01220 809B4B40 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 01224 809B4B44 93AB006F */ lbu $t3, 0x006F($sp)
|
||||
/* 01228 809B4B48 3421FF00 */ ori $at, $at, 0xFF00 ## $at = 00FFFF00
|
||||
/* 0122C 809B4B4C 01616025 */ or $t4, $t3, $at ## $t4 = 00FFFF00
|
||||
/* 01230 809B4B50 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 01234 809B4B54 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
|
||||
/* 01238 809B4B58 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 0123C 809B4B5C 10000014 */ beq $zero, $zero, .L809B4BB0
|
||||
/* 01240 809B4B60 E7A80068 */ swc1 $f8, 0x0068($sp)
|
||||
.L809B4B64:
|
||||
/* 01244 809B4B64 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 01248 809B4B68 3C0F0C00 */ lui $t7, 0x0C00 ## $t7 = 0C000000
|
||||
/* 0124C 809B4B6C 35EF00FF */ ori $t7, $t7, 0x00FF ## $t7 = 0C0000FF
|
||||
/* 01250 809B4B70 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 01254 809B4B74 AD0D02D0 */ sw $t5, 0x02D0($t0) ## 000002D0
|
||||
/* 01258 809B4B78 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 0125C 809B4B7C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 01260 809B4B80 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 01264 809B4B84 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
|
||||
/* 01268 809B4B88 3C01FAFA */ lui $at, 0xFAFA ## $at = FAFA0000
|
||||
/* 0126C 809B4B8C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01270 809B4B90 AD1802D0 */ sw $t8, 0x02D0($t0) ## 000002D0
|
||||
/* 01274 809B4B94 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 01278 809B4B98 93AA006F */ lbu $t2, 0x006F($sp)
|
||||
/* 0127C 809B4B9C 01415825 */ or $t3, $t2, $at ## $t3 = FAFA0000
|
||||
/* 01280 809B4BA0 3C014316 */ lui $at, 0x4316 ## $at = 43160000
|
||||
/* 01284 809B4BA4 44815000 */ mtc1 $at, $f10 ## $f10 = 150.00
|
||||
/* 01288 809B4BA8 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
/* 0128C 809B4BAC E7AA0068 */ swc1 $f10, 0x0068($sp)
|
||||
.L809B4BB0:
|
||||
/* 01290 809B4BB0 0C034213 */ jal Matrix_Push
|
||||
/* 01294 809B4BB4 AFA80064 */ sw $t0, 0x0064($sp)
|
||||
/* 01298 809B4BB8 8FA4007C */ lw $a0, 0x007C($sp)
|
||||
/* 0129C 809B4BBC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 012A0 809B4BC0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
|
||||
/* 012A4 809B4BC4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 012A8 809B4BC8 0C03424C */ jal Matrix_Mult
|
||||
/* 012AC 809B4BCC 00812021 */ addu $a0, $a0, $at
|
||||
/* 012B0 809B4BD0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 012B4 809B4BD4 C6100068 */ lwc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 012B8 809B4BD8 8FAC007C */ lw $t4, 0x007C($sp)
|
||||
/* 012BC 809B4BDC 3C0D0001 */ lui $t5, 0x0001 ## $t5 = 00010000
|
||||
/* 012C0 809B4BE0 46100032 */ c.eq.s $f0, $f16
|
||||
/* 012C4 809B4BE4 8FA80064 */ lw $t0, 0x0064($sp)
|
||||
/* 012C8 809B4BE8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 012CC 809B4BEC 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 012D0 809B4BF0 45020004 */ bc1fl .L809B4C04
|
||||
/* 012D4 809B4BF4 8DAD1DE4 */ lw $t5, 0x1DE4($t5) ## 00011DE4
|
||||
/* 012D8 809B4BF8 10000013 */ beq $zero, $zero, .L809B4C48
|
||||
/* 012DC 809B4BFC 46000306 */ mov.s $f12, $f0
|
||||
/* 012E0 809B4C00 8DAD1DE4 */ lw $t5, 0x1DE4($t5) ## 00011DE4
|
||||
.L809B4C04:
|
||||
/* 012E4 809B4C04 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 012E8 809B4C08 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000
|
||||
/* 012EC 809B4C0C 000E7940 */ sll $t7, $t6, 5
|
||||
/* 012F0 809B4C10 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 012F4 809B4C14 000F7880 */ sll $t7, $t7, 2
|
||||
/* 012F8 809B4C18 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 012FC 809B4C1C 000F7940 */ sll $t7, $t7, 5
|
||||
/* 01300 809B4C20 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
|
||||
/* 01304 809B4C24 05E10004 */ bgez $t7, .L809B4C38
|
||||
/* 01308 809B4C28 468091A0 */ cvt.s.w $f6, $f18
|
||||
/* 0130C 809B4C2C 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
|
||||
/* 01310 809B4C30 00000000 */ nop
|
||||
/* 01314 809B4C34 46043180 */ add.s $f6, $f6, $f4
|
||||
.L809B4C38:
|
||||
/* 01318 809B4C38 3C01809B */ lui $at, %hi(D_809B4F5C) ## $at = 809B0000
|
||||
/* 0131C 809B4C3C C4284F5C */ lwc1 $f8, %lo(D_809B4F5C)($at)
|
||||
/* 01320 809B4C40 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 01324 809B4C44 00000000 */ nop
|
||||
.L809B4C48:
|
||||
/* 01328 809B4C48 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 0132C 809B4C4C AFA80064 */ sw $t0, 0x0064($sp)
|
||||
/* 01330 809B4C50 C7AC0068 */ lwc1 $f12, 0x0068($sp)
|
||||
/* 01334 809B4C54 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01338 809B4C58 44066000 */ mfc1 $a2, $f12
|
||||
/* 0133C 809B4C5C 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01340 809B4C60 46006386 */ mov.s $f14, $f12
|
||||
/* 01344 809B4C64 8FA80064 */ lw $t0, 0x0064($sp)
|
||||
/* 01348 809B4C68 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 0134C 809B4C6C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 01350 809B4C70 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 01354 809B4C74 3C05809B */ lui $a1, %hi(D_809B4F00) ## $a1 = 809B0000
|
||||
/* 01358 809B4C78 24A54F00 */ addiu $a1, $a1, %lo(D_809B4F00) ## $a1 = 809B4F00
|
||||
/* 0135C 809B4C7C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01360 809B4C80 AD1802D0 */ sw $t8, 0x02D0($t0) ## 000002D0
|
||||
/* 01364 809B4C84 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 01368 809B4C88 8FA9007C */ lw $t1, 0x007C($sp)
|
||||
/* 0136C 809B4C8C 2406055E */ addiu $a2, $zero, 0x055E ## $a2 = 0000055E
|
||||
/* 01370 809B4C90 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
|
||||
/* 01374 809B4C94 AFA80064 */ sw $t0, 0x0064($sp)
|
||||
/* 01378 809B4C98 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0137C 809B4C9C AFA20040 */ sw $v0, 0x0040($sp)
|
||||
/* 01380 809B4CA0 8FA30040 */ lw $v1, 0x0040($sp)
|
||||
/* 01384 809B4CA4 8FA80064 */ lw $t0, 0x0064($sp)
|
||||
/* 01388 809B4CA8 3C0C0403 */ lui $t4, %hi(gEffFairySparklesDL) ## $t4 = 04030000
|
||||
/* 0138C 809B4CAC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01390 809B4CB0 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
|
||||
/* 01394 809B4CB4 258C7880 */ addiu $t4, $t4, %lo(gEffFairySparklesDL) ## $t4 = 04037880
|
||||
/* 01398 809B4CB8 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
|
||||
/* 0139C 809B4CBC 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 013A0 809B4CC0 AD0A02D0 */ sw $t2, 0x02D0($t0) ## 000002D0
|
||||
/* 013A4 809B4CC4 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 013A8 809B4CC8 0C034221 */ jal Matrix_Pull
|
||||
/* 013AC 809B4CCC AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
/* 013B0 809B4CD0 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
|
||||
/* 013B4 809B4CD4 3C01809B */ lui $at, %hi(D_809B4F60) ## $at = 809B0000
|
||||
/* 013B8 809B4CD8 C4324F60 */ lwc1 $f18, %lo(D_809B4F60)($at)
|
||||
/* 013BC 809B4CDC 448D5000 */ mtc1 $t5, $f10 ## $f10 = 0.00
|
||||
/* 013C0 809B4CE0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 013C4 809B4CE4 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 013C8 809B4CE8 46128302 */ mul.s $f12, $f16, $f18
|
||||
/* 013CC 809B4CEC 0C034348 */ jal Matrix_RotateY
|
||||
/* 013D0 809B4CF0 00000000 */ nop
|
||||
/* 013D4 809B4CF4 8FAE007C */ lw $t6, 0x007C($sp)
|
||||
/* 013D8 809B4CF8 3C06809B */ lui $a2, %hi(D_809B4F10) ## $a2 = 809B0000
|
||||
/* 013DC 809B4CFC 24C64F10 */ addiu $a2, $a2, %lo(D_809B4F10) ## $a2 = 809B4F10
|
||||
/* 013E0 809B4D00 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFDC
|
||||
/* 013E4 809B4D04 24070565 */ addiu $a3, $zero, 0x0565 ## $a3 = 00000565
|
||||
/* 013E8 809B4D08 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 013EC 809B4D0C 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
|
||||
/* 013F0 809B4D10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809B4D14:
|
||||
/* 013F4 809B4D14 0C26D200 */ jal func_809B4800
|
||||
/* 013F8 809B4D18 8FA5007C */ lw $a1, 0x007C($sp)
|
||||
/* 013FC 809B4D1C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 01400 809B4D20 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 01404 809B4D24 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
||||
/* 01408 809B4D28 03E00008 */ jr $ra
|
||||
/* 0140C 809B4D2C 00000000 */ nop
|
|
@ -1,168 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809B4EB0
|
||||
.asciz "../z_en_arrow.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809B4EC0
|
||||
.asciz "this->at_info.cl_elem.at_btl_info.at_type = %x\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnArrow_Init
|
||||
/* 00008 809B3928 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0000C 809B392C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00010 809B3930 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00014 809B3934 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00018 809B3938 3C05809B */ lui $a1, %hi(D_809B4DA0) ## $a1 = 809B0000
|
||||
/* 0001C 809B393C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 809B3940 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00024 809B3944 24A54DA0 */ addiu $a1, $a1, %lo(D_809B4DA0) ## $a1 = 809B4DA0
|
||||
/* 00028 809B3948 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 0002C 809B394C 2401FFF6 */ addiu $at, $zero, 0xFFF6 ## $at = FFFFFFF6
|
||||
/* 00030 809B3950 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00034 809B3954 14410004 */ bne $v0, $at, .L809B3968
|
||||
/* 00038 809B3958 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
|
||||
/* 0003C 809B395C A60F001C */ sh $t7, 0x001C($s0) ## 0000001C
|
||||
/* 00040 809B3960 A20E024B */ sb $t6, 0x024B($s0) ## 0000024B
|
||||
/* 00044 809B3964 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L809B3968:
|
||||
/* 00048 809B3968 2841000A */ slti $at, $v0, 0x000A
|
||||
/* 0004C 809B396C 1020006E */ beq $at, $zero, .L809B3B28
|
||||
/* 00050 809B3970 28410009 */ slti $at, $v0, 0x0009
|
||||
/* 00054 809B3974 1020000B */ beq $at, $zero, .L809B39A4
|
||||
/* 00058 809B3978 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0005C 809B397C 3C060400 */ lui $a2, %hi(gArrowSkel) ## $a2 = 04000000
|
||||
/* 00060 809B3980 3C070400 */ lui $a3, %hi(gArrow2Anim) ## $a3 = 04000000
|
||||
/* 00064 809B3984 24E7436C */ addiu $a3, $a3, %lo(gArrow2Anim) ## $a3 = 0400436C
|
||||
/* 00068 809B3988 24C66010 */ addiu $a2, $a2, %lo(gArrowSkel) ## $a2 = 04006010
|
||||
/* 0006C 809B398C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00070 809B3990 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00074 809B3994 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00078 809B3998 0C02915F */ jal SkelAnime_Init
|
||||
|
||||
/* 0007C 809B399C AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00080 809B39A0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L809B39A4:
|
||||
/* 00084 809B39A4 28410003 */ slti $at, $v0, 0x0003
|
||||
/* 00088 809B39A8 10200014 */ beq $at, $zero, .L809B39FC
|
||||
/* 0008C 809B39AC 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
|
||||
/* 00090 809B39B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00094 809B39B4 14410005 */ bne $v0, $at, .L809B39CC
|
||||
/* 00098 809B39B8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 0009C 809B39BC 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 000A0 809B39C0 3C01809B */ lui $at, %hi(D_809B4DBC) ## $at = 809B0000
|
||||
/* 000A4 809B39C4 10000004 */ beq $zero, $zero, .L809B39D8
|
||||
/* 000A8 809B39C8 A0384DBC */ sb $t8, %lo(D_809B4DBC)($at)
|
||||
.L809B39CC:
|
||||
/* 000AC 809B39CC 24190010 */ addiu $t9, $zero, 0x0010 ## $t9 = 00000010
|
||||
/* 000B0 809B39D0 3C01809B */ lui $at, %hi(D_809B4DBC) ## $at = 809B0000
|
||||
/* 000B4 809B39D4 A0394DBC */ sb $t9, %lo(D_809B4DBC)($at)
|
||||
.L809B39D8:
|
||||
/* 000B8 809B39D8 3C08809B */ lui $t0, %hi(D_809B4DA4) ## $t0 = 809B0000
|
||||
/* 000BC 809B39DC 25084DA4 */ addiu $t0, $t0, %lo(D_809B4DA4) ## $t0 = 809B4DA4
|
||||
/* 000C0 809B39E0 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 000C4 809B39E4 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 000C8 809B39E8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 000CC 809B39EC 0C009B35 */ jal Effect_Add
|
||||
## Effect_Add
|
||||
/* 000D0 809B39F0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 000D4 809B39F4 10000027 */ beq $zero, $zero, .L809B3A94
|
||||
/* 000D8 809B39F8 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
.L809B39FC:
|
||||
/* 000DC 809B39FC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 000E0 809B3A00 1441000B */ bne $v0, $at, .L809B3A30
|
||||
/* 000E4 809B3A04 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 000E8 809B3A08 3C09809B */ lui $t1, %hi(D_809B4DC8) ## $t1 = 809B0000
|
||||
/* 000EC 809B3A0C 25294DC8 */ addiu $t1, $t1, %lo(D_809B4DC8) ## $t1 = 809B4DC8
|
||||
/* 000F0 809B3A10 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 000F4 809B3A14 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
|
||||
/* 000F8 809B3A18 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 000FC 809B3A1C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00100 809B3A20 0C009B35 */ jal Effect_Add
|
||||
## Effect_Add
|
||||
/* 00104 809B3A24 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00108 809B3A28 1000001A */ beq $zero, $zero, .L809B3A94
|
||||
/* 0010C 809B3A2C 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
.L809B3A30:
|
||||
/* 00110 809B3A30 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 00114 809B3A34 1441000B */ bne $v0, $at, .L809B3A64
|
||||
/* 00118 809B3A38 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0011C 809B3A3C 3C0A809B */ lui $t2, %hi(D_809B4DEC) ## $t2 = 809B0000
|
||||
/* 00120 809B3A40 254A4DEC */ addiu $t2, $t2, %lo(D_809B4DEC) ## $t2 = 809B4DEC
|
||||
/* 00124 809B3A44 AFAA0014 */ sw $t2, 0x0014($sp)
|
||||
/* 00128 809B3A48 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
|
||||
/* 0012C 809B3A4C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00130 809B3A50 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00134 809B3A54 0C009B35 */ jal Effect_Add
|
||||
## Effect_Add
|
||||
/* 00138 809B3A58 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0013C 809B3A5C 1000000D */ beq $zero, $zero, .L809B3A94
|
||||
/* 00140 809B3A60 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
.L809B3A64:
|
||||
/* 00144 809B3A64 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00148 809B3A68 14410009 */ bne $v0, $at, .L809B3A90
|
||||
/* 0014C 809B3A6C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00150 809B3A70 3C0B809B */ lui $t3, %hi(D_809B4E10) ## $t3 = 809B0000
|
||||
/* 00154 809B3A74 256B4E10 */ addiu $t3, $t3, %lo(D_809B4E10) ## $t3 = 809B4E10
|
||||
/* 00158 809B3A78 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 0015C 809B3A7C 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
|
||||
/* 00160 809B3A80 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00164 809B3A84 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00168 809B3A88 0C009B35 */ jal Effect_Add
|
||||
## Effect_Add
|
||||
/* 0016C 809B3A8C AFA00010 */ sw $zero, 0x0010($sp)
|
||||
.L809B3A90:
|
||||
/* 00170 809B3A90 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
.L809B3A94:
|
||||
/* 00174 809B3A94 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00178 809B3A98 0C017406 */ jal Collider_InitQuad
|
||||
/* 0017C 809B3A9C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00180 809B3AA0 3C07809B */ lui $a3, %hi(D_809B4D50) ## $a3 = 809B0000
|
||||
/* 00184 809B3AA4 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00188 809B3AA8 24E74D50 */ addiu $a3, $a3, %lo(D_809B4D50) ## $a3 = 809B4D50
|
||||
/* 0018C 809B3AAC 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00190 809B3AB0 0C017441 */ jal Collider_SetQuad
|
||||
/* 00194 809B3AB4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00198 809B3AB8 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 0019C 809B3ABC 240F0011 */ addiu $t7, $zero, 0x0011 ## $t7 = 00000011
|
||||
/* 001A0 809B3AC0 28410003 */ slti $at, $v0, 0x0003
|
||||
/* 001A4 809B3AC4 10200006 */ beq $at, $zero, .L809B3AE0
|
||||
/* 001A8 809B3AC8 00000000 */ nop
|
||||
/* 001AC 809B3ACC 920C01BD */ lbu $t4, 0x01BD($s0) ## 000001BD
|
||||
/* 001B0 809B3AD0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 001B4 809B3AD4 318EFFE7 */ andi $t6, $t4, 0xFFE7 ## $t6 = 00000000
|
||||
/* 001B8 809B3AD8 A20E01BD */ sb $t6, 0x01BD($s0) ## 000001BD
|
||||
/* 001BC 809B3ADC A20E01BD */ sb $t6, 0x01BD($s0) ## 000001BD
|
||||
.L809B3AE0:
|
||||
/* 001C0 809B3AE0 04410003 */ bgez $v0, .L809B3AF0
|
||||
/* 001C4 809B3AE4 2841000A */ slti $at, $v0, 0x000A
|
||||
/* 001C8 809B3AE8 1000000F */ beq $zero, $zero, .L809B3B28
|
||||
/* 001CC 809B3AEC A20F01A0 */ sb $t7, 0x01A0($s0) ## 000001A0
|
||||
.L809B3AF0:
|
||||
/* 001D0 809B3AF0 1020000D */ beq $at, $zero, .L809B3B28
|
||||
/* 001D4 809B3AF4 0002C080 */ sll $t8, $v0, 2
|
||||
/* 001D8 809B3AF8 3C19809B */ lui $t9, %hi(D_809B4E34) ## $t9 = 809B0000
|
||||
/* 001DC 809B3AFC 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 001E0 809B3B00 8F394E34 */ lw $t9, %lo(D_809B4E34)($t9)
|
||||
/* 001E4 809B3B04 3C04809B */ lui $a0, %hi(D_809B4EB0) ## $a0 = 809B0000
|
||||
/* 001E8 809B3B08 24844EB0 */ addiu $a0, $a0, %lo(D_809B4EB0) ## $a0 = 809B4EB0
|
||||
/* 001EC 809B3B0C 240502C3 */ addiu $a1, $zero, 0x02C3 ## $a1 = 000002C3
|
||||
/* 001F0 809B3B10 0C000B84 */ jal LogUtils_LogThreadId
|
||||
|
||||
/* 001F4 809B3B14 AE1901A8 */ sw $t9, 0x01A8($s0) ## 000001A8
|
||||
/* 001F8 809B3B18 3C04809B */ lui $a0, %hi(D_809B4EC0) ## $a0 = 809B0000
|
||||
/* 001FC 809B3B1C 24844EC0 */ addiu $a0, $a0, %lo(D_809B4EC0) ## $a0 = 809B4EC0
|
||||
/* 00200 809B3B20 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00204 809B3B24 8E0501A8 */ lw $a1, 0x01A8($s0) ## 000001A8
|
||||
.L809B3B28:
|
||||
/* 00208 809B3B28 3C05809B */ lui $a1, %hi(func_809B3BD4) ## $a1 = 809B0000
|
||||
/* 0020C 809B3B2C 24A53BD4 */ addiu $a1, $a1, %lo(func_809B3BD4) ## $a1 = 809B3BD4
|
||||
/* 00210 809B3B30 0C26CE48 */ jal func_809B3920
|
||||
/* 00214 809B3B34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00218 809B3B38 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 0021C 809B3B3C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00220 809B3B40 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00224 809B3B44 03E00008 */ jr $ra
|
||||
/* 00228 809B3B48 00000000 */ nop
|
|
@ -1,95 +0,0 @@
|
|||
glabel EnArrow_Update
|
||||
/* 00D88 809B46A8 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 00D8C 809B46AC AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 00D90 809B46B0 AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 00D94 809B46B4 AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 00D98 809B46B8 908E024B */ lbu $t6, 0x024B($a0) ## 0000024B
|
||||
/* 00D9C 809B46BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00DA0 809B46C0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00DA4 809B46C4 15C0000C */ bne $t6, $zero, .L809B46F8
|
||||
/* 00DA8 809B46C8 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
|
||||
/* 00DAC 809B46CC 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
|
||||
/* 00DB0 809B46D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DB4 809B46D4 05E00004 */ bltz $t7, .L809B46E8
|
||||
/* 00DB8 809B46D8 00000000 */ nop
|
||||
/* 00DBC 809B46DC 90D80A73 */ lbu $t8, 0x0A73($a2) ## 00000A73
|
||||
/* 00DC0 809B46E0 57000006 */ bnel $t8, $zero, .L809B46FC
|
||||
/* 00DC4 809B46E4 8E19025C */ lw $t9, 0x025C($s0) ## 0000025C
|
||||
.L809B46E8:
|
||||
/* 00DC8 809B46E8 0C023A37 */ jal Player_InBlockingCsMode
|
||||
/* 00DCC 809B46EC 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
|
||||
/* 00DD0 809B46F0 54400007 */ bnel $v0, $zero, .L809B4710
|
||||
/* 00DD4 809B46F4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L809B46F8:
|
||||
/* 00DD8 809B46F8 8E19025C */ lw $t9, 0x025C($s0) ## 0000025C
|
||||
.L809B46FC:
|
||||
/* 00DDC 809B46FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DE0 809B4700 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00DE4 809B4704 0320F809 */ jalr $ra, $t9
|
||||
/* 00DE8 809B4708 00000000 */ nop
|
||||
/* 00DEC 809B470C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L809B4710:
|
||||
/* 00DF0 809B4710 28410003 */ slti $at, $v0, 0x0003
|
||||
/* 00DF4 809B4714 14200022 */ bne $at, $zero, .L809B47A0
|
||||
/* 00DF8 809B4718 28410009 */ slti $at, $v0, 0x0009
|
||||
/* 00DFC 809B471C 10200020 */ beq $at, $zero, .L809B47A0
|
||||
/* 00E00 809B4720 3C08809B */ lui $t0, %hi(D_809B4E5C) ## $t0 = 809B0000
|
||||
/* 00E04 809B4724 25084E5C */ addiu $t0, $t0, %lo(D_809B4E5C) ## $t0 = 809B4E5C
|
||||
/* 00E08 809B4728 8D0A0000 */ lw $t2, 0x0000($t0) ## 809B4E5C
|
||||
/* 00E0C 809B472C 27A20048 */ addiu $v0, $sp, 0x0048 ## $v0 = FFFFFFE8
|
||||
/* 00E10 809B4730 AC4A0000 */ sw $t2, 0x0000($v0) ## FFFFFFE8
|
||||
/* 00E14 809B4734 8D090004 */ lw $t1, 0x0004($t0) ## 809B4E60
|
||||
/* 00E18 809B4738 AC490004 */ sw $t1, 0x0004($v0) ## FFFFFFEC
|
||||
/* 00E1C 809B473C 8D0A0008 */ lw $t2, 0x0008($t0) ## 809B4E64
|
||||
/* 00E20 809B4740 AC4A0008 */ sw $t2, 0x0008($v0) ## FFFFFFF0
|
||||
/* 00E24 809B4744 8E0B011C */ lw $t3, 0x011C($s0) ## 0000011C
|
||||
/* 00E28 809B4748 55600029 */ bnel $t3, $zero, .L809B47F0
|
||||
/* 00E2C 809B474C 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 00E30 809B4750 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
|
||||
/* 00E34 809B4754 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00E38 809B4758 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00E3C 809B475C 000C6840 */ sll $t5, $t4, 1
|
||||
/* 00E40 809B4760 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 00E44 809B4764 85C7FFFA */ lh $a3, -0x0006($t6) ## FFFFFFFA
|
||||
/* 00E48 809B4768 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00E4C 809B476C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00E50 809B4770 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00E54 809B4774 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 00E58 809B4778 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 00E5C 809B477C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00E60 809B4780 AFA00028 */ sw $zero, 0x0028($sp)
|
||||
/* 00E64 809B4784 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00E68 809B4788 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00E6C 809B478C AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00E70 809B4790 0C00C916 */ jal Actor_SpawnAsChild
|
||||
|
||||
/* 00E74 809B4794 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00E78 809B4798 10000015 */ beq $zero, $zero, .L809B47F0
|
||||
/* 00E7C 809B479C 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L809B47A0:
|
||||
/* 00E80 809B47A0 14400012 */ bne $v0, $zero, .L809B47EC
|
||||
/* 00E84 809B47A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00E88 809B47A8 3C0F809B */ lui $t7, %hi(D_809B4E80) ## $t7 = 809B0000
|
||||
/* 00E8C 809B47AC 3C18809B */ lui $t8, %hi(D_809B4E84) ## $t8 = 809B0000
|
||||
/* 00E90 809B47B0 27184E84 */ addiu $t8, $t8, %lo(D_809B4E84) ## $t8 = 809B4E84
|
||||
/* 00E94 809B47B4 25EF4E80 */ addiu $t7, $t7, %lo(D_809B4E80) ## $t7 = 809B4E80
|
||||
/* 00E98 809B47B8 3C06809B */ lui $a2, %hi(D_809B4E68) ## $a2 = 809B0000
|
||||
/* 00E9C 809B47BC 3C07809B */ lui $a3, %hi(D_809B4E74) ## $a3 = 809B0000
|
||||
/* 00EA0 809B47C0 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
|
||||
/* 00EA4 809B47C4 24080008 */ addiu $t0, $zero, 0x0008 ## $t0 = 00000008
|
||||
/* 00EA8 809B47C8 AFA80020 */ sw $t0, 0x0020($sp)
|
||||
/* 00EAC 809B47CC AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00EB0 809B47D0 24E74E74 */ addiu $a3, $a3, %lo(D_809B4E74) ## $a3 = 809B4E74
|
||||
/* 00EB4 809B47D4 24C64E68 */ addiu $a2, $a2, %lo(D_809B4E68) ## $a2 = 809B4E68
|
||||
/* 00EB8 809B47D8 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00EBC 809B47DC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00EC0 809B47E0 2605021C */ addiu $a1, $s0, 0x021C ## $a1 = 0000021C
|
||||
/* 00EC4 809B47E4 0C00A0DB */ jal func_8002836C
|
||||
/* 00EC8 809B47E8 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
.L809B47EC:
|
||||
/* 00ECC 809B47EC 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L809B47F0:
|
||||
/* 00ED0 809B47F0 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 00ED4 809B47F4 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 00ED8 809B47F8 03E00008 */ jr $ra
|
||||
/* 00EDC 809B47FC 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_809B3920
|
||||
/* 00000 809B3920 03E00008 */ jr $ra
|
||||
/* 00004 809B3924 AC85025C */ sw $a1, 0x025C($a0) ## 0000025C
|
|
@ -1,97 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_809B4F20
|
||||
.word L809B3C50
|
||||
.word L809B3C50
|
||||
.word L809B3C50
|
||||
.word L809B3C64
|
||||
.word L809B3C64
|
||||
.word L809B3C64
|
||||
.word L809B3C70
|
||||
.word L809B3C70
|
||||
.word L809B3C70
|
||||
.word L809B3C3C
|
||||
|
||||
.text
|
||||
glabel func_809B3BD4
|
||||
/* 002B4 809B3BD4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 002B8 809B3BD8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 002BC 809B3BDC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 002C0 809B3BE0 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
|
||||
/* 002C4 809B3BE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 002C8 809B3BE8 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
|
||||
/* 002CC 809B3BEC 55C0003B */ bnel $t6, $zero, .L809B3CDC
|
||||
/* 002D0 809B3BF0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 002D4 809B3BF4 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 002D8 809B3BF8 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 002DC 809B3BFC 10410008 */ beq $v0, $at, .L809B3C20
|
||||
/* 002E0 809B3C00 0002C080 */ sll $t8, $v0, 2
|
||||
/* 002E4 809B3C04 90CF0A73 */ lbu $t7, 0x0A73($a2) ## 00000A73
|
||||
/* 002E8 809B3C08 55E00006 */ bnel $t7, $zero, .L809B3C24
|
||||
/* 002EC 809B3C0C 2C41000A */ sltiu $at, $v0, 0x000A
|
||||
/* 002F0 809B3C10 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 002F4 809B3C14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002F8 809B3C18 10000030 */ beq $zero, $zero, .L809B3CDC
|
||||
/* 002FC 809B3C1C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809B3C20:
|
||||
/* 00300 809B3C20 2C41000A */ sltiu $at, $v0, 0x000A
|
||||
.L809B3C24:
|
||||
/* 00304 809B3C24 10200012 */ beq $at, $zero, .L809B3C70
|
||||
/* 00308 809B3C28 3C01809B */ lui $at, %hi(jtbl_809B4F20) ## $at = 809B0000
|
||||
/* 0030C 809B3C2C 00380821 */ addu $at, $at, $t8
|
||||
/* 00310 809B3C30 8C384F20 */ lw $t8, %lo(jtbl_809B4F20)($at)
|
||||
/* 00314 809B3C34 03000008 */ jr $t8
|
||||
/* 00318 809B3C38 00000000 */ nop
|
||||
glabel L809B3C3C
|
||||
/* 0031C 809B3C3C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00320 809B3C40 0C00BDF7 */ jal func_8002F7DC
|
||||
/* 00324 809B3C44 24051820 */ addiu $a1, $zero, 0x1820 ## $a1 = 00001820
|
||||
/* 00328 809B3C48 10000009 */ beq $zero, $zero, .L809B3C70
|
||||
/* 0032C 809B3C4C 00000000 */ nop
|
||||
glabel L809B3C50
|
||||
/* 00330 809B3C50 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00334 809B3C54 0C00BDF7 */ jal func_8002F7DC
|
||||
/* 00338 809B3C58 24051804 */ addiu $a1, $zero, 0x1804 ## $a1 = 00001804
|
||||
/* 0033C 809B3C5C 10000004 */ beq $zero, $zero, .L809B3C70
|
||||
/* 00340 809B3C60 00000000 */ nop
|
||||
glabel L809B3C64
|
||||
/* 00344 809B3C64 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00348 809B3C68 0C00BDF7 */ jal func_8002F7DC
|
||||
/* 0034C 809B3C6C 24051839 */ addiu $a1, $zero, 0x1839 ## $a1 = 00001839
|
||||
glabel L809B3C70
|
||||
.L809B3C70:
|
||||
/* 00350 809B3C70 3C05809B */ lui $a1, %hi(func_809B3FDC) ## $a1 = 809B0000
|
||||
/* 00354 809B3C74 24A53FDC */ addiu $a1, $a1, %lo(func_809B3FDC) ## $a1 = 809B3FDC
|
||||
/* 00358 809B3C78 0C26CE48 */ jal func_809B3920
|
||||
/* 0035C 809B3C7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00360 809B3C80 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 00364 809B3C84 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00368 809B3C88 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 0036C 809B3C8C 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 00370 809B3C90 3C0542A0 */ lui $a1, 0x42A0 ## $a1 = 42A00000
|
||||
/* 00374 809B3C94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00378 809B3C98 2B210009 */ slti $at, $t9, 0x0009
|
||||
/* 0037C 809B3C9C 1420000A */ bne $at, $zero, .L809B3CC8
|
||||
/* 00380 809B3CA0 00000000 */ nop
|
||||
/* 00384 809B3CA4 0C00B669 */ jal func_8002D9A4
|
||||
/* 00388 809B3CA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0038C 809B3CAC A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
|
||||
/* 00390 809B3CB0 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8
|
||||
/* 00394 809B3CB4 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
|
||||
/* 00398 809B3CB8 A2080248 */ sb $t0, 0x0248($s0) ## 00000248
|
||||
/* 0039C 809B3CBC A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 003A0 809B3CC0 10000005 */ beq $zero, $zero, .L809B3CD8
|
||||
/* 003A4 809B3CC4 A60200B4 */ sh $v0, 0x00B4($s0) ## 000000B4
|
||||
.L809B3CC8:
|
||||
/* 003A8 809B3CC8 0C00B669 */ jal func_8002D9A4
|
||||
/* 003AC 809B3CCC 3C054316 */ lui $a1, 0x4316 ## $a1 = 43160000
|
||||
/* 003B0 809B3CD0 2409000C */ addiu $t1, $zero, 0x000C ## $t1 = 0000000C
|
||||
/* 003B4 809B3CD4 A2090248 */ sb $t1, 0x0248($s0) ## 00000248
|
||||
.L809B3CD8:
|
||||
/* 003B8 809B3CD8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809B3CDC:
|
||||
/* 003BC 809B3CDC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 003C0 809B3CE0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 003C4 809B3CE4 03E00008 */ jr $ra
|
||||
/* 003C8 809B3CE8 00000000 */ nop
|
|
@ -1,72 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B4F48
|
||||
.float 0.4
|
||||
glabel D_809B4F4C
|
||||
.float 0.04
|
||||
glabel D_809B4F50
|
||||
.float 0.3
|
||||
|
||||
.text
|
||||
glabel func_809B3CEC
|
||||
/* 003CC 809B3CEC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 003D0 809B3CF0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003D4 809B3CF4 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 003D8 809B3CF8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 003DC 809B3CFC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 003E0 809B3D00 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003E4 809B3D04 3C05809B */ lui $a1, %hi(func_809B4640) ## $a1 = 809B0000
|
||||
/* 003E8 809B3D08 0C26CE48 */ jal func_809B3920
|
||||
/* 003EC 809B3D0C 24A54640 */ addiu $a1, $a1, %lo(func_809B4640) ## $a1 = 809B4640
|
||||
/* 003F0 809B3D10 3C050400 */ lui $a1, %hi(gArrow1Anim) ## $a1 = 04000000
|
||||
/* 003F4 809B3D14 24A54310 */ addiu $a1, $a1, %lo(gArrow1Anim) ## $a1 = 04004310
|
||||
/* 003F8 809B3D18 0C02947A */ jal Animation_PlayOnce
|
||||
/* 003FC 809B3D1C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00400 809B3D20 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00404 809B3D24 00000000 */ nop
|
||||
/* 00408 809B3D28 3C0146C0 */ lui $at, 0x46C0 ## $at = 46C00000
|
||||
/* 0040C 809B3D2C 44812000 */ mtc1 $at, $f4 ## $f4 = 24576.00
|
||||
/* 00410 809B3D30 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00414 809B3D34 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 00418 809B3D38 86180032 */ lh $t8, 0x0032($s0) ## 00000032
|
||||
/* 0041C 809B3D3C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 00420 809B3D40 46060201 */ sub.s $f8, $f0, $f6
|
||||
/* 00424 809B3D44 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* 00428 809B3D48 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 0042C 809B3D4C 440F8000 */ mfc1 $t7, $f16
|
||||
/* 00430 809B3D50 00000000 */ nop
|
||||
/* 00434 809B3D54 030FC821 */ addu $t9, $t8, $t7
|
||||
/* 00438 809B3D58 03214021 */ addu $t0, $t9, $at
|
||||
/* 0043C 809B3D5C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00440 809B3D60 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
|
||||
/* 00444 809B3D64 3C01809B */ lui $at, %hi(D_809B4F48) ## $at = 809B0000
|
||||
/* 00448 809B3D68 C4224F48 */ lwc1 $f2, %lo(D_809B4F48)($at)
|
||||
/* 0044C 809B3D6C C6120068 */ lwc1 $f18, 0x0068($s0) ## 00000068
|
||||
/* 00450 809B3D70 C60A0060 */ lwc1 $f10, 0x0060($s0) ## 00000060
|
||||
/* 00454 809B3D74 46001182 */ mul.s $f6, $f2, $f0
|
||||
/* 00458 809B3D78 46061100 */ add.s $f4, $f2, $f6
|
||||
/* 0045C 809B3D7C 46049202 */ mul.s $f8, $f18, $f4
|
||||
/* 00460 809B3D80 46085400 */ add.s $f16, $f10, $f8
|
||||
/* 00464 809B3D84 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00468 809B3D88 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
|
||||
/* 0046C 809B3D8C 3C01809B */ lui $at, %hi(D_809B4F4C) ## $at = 809B0000
|
||||
/* 00470 809B3D90 C4264F4C */ lwc1 $f6, %lo(D_809B4F4C)($at)
|
||||
/* 00474 809B3D94 3C01809B */ lui $at, %hi(D_809B4F50) ## $at = 809B0000
|
||||
/* 00478 809B3D98 C4324F50 */ lwc1 $f18, %lo(D_809B4F50)($at)
|
||||
/* 0047C 809B3D9C C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
|
||||
/* 00480 809B3DA0 3C01BFC0 */ lui $at, 0xBFC0 ## $at = BFC00000
|
||||
/* 00484 809B3DA4 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 00488 809B3DA8 44819000 */ mtc1 $at, $f18 ## $f18 = -1.50
|
||||
/* 0048C 809B3DAC 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
|
||||
/* 00490 809B3DB0 A2090248 */ sb $t1, 0x0248($s0) ## 00000248
|
||||
/* 00494 809B3DB4 E612006C */ swc1 $f18, 0x006C($s0) ## 0000006C
|
||||
/* 00498 809B3DB8 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 0049C 809B3DBC 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 004A0 809B3DC0 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 004A4 809B3DC4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 004A8 809B3DC8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 004AC 809B3DCC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 004B0 809B3DD0 03E00008 */ jr $ra
|
||||
/* 004B4 809B3DD4 00000000 */ nop
|
|
@ -1,141 +0,0 @@
|
|||
glabel func_809B3DD8
|
||||
/* 004B8 809B3DD8 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 004BC 809B3DDC AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 004C0 809B3DE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 004C4 809B3DE4 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 004C8 809B3DE8 AFA5007C */ sw $a1, 0x007C($sp)
|
||||
/* 004CC 809B3DEC 26050210 */ addiu $a1, $s0, 0x0210 ## $a1 = 00000210
|
||||
/* 004D0 809B3DF0 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
/* 004D4 809B3DF4 0C01DFB4 */ jal Math_Vec3f_Diff
|
||||
## Vec3f_Sub
|
||||
/* 004D8 809B3DF8 27A60068 */ addiu $a2, $sp, 0x0068 ## $a2 = FFFFFFF0
|
||||
/* 004DC 809B3DFC 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 004E0 809B3E00 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 004E4 809B3E04 C7AA0068 */ lwc1 $f10, 0x0068($sp)
|
||||
/* 004E8 809B3E08 C4460024 */ lwc1 $f6, 0x0024($v0) ## 00000024
|
||||
/* 004EC 809B3E0C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 004F0 809B3E10 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFF0
|
||||
/* 004F4 809B3E14 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 004F8 809B3E18 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
|
||||
/* 004FC 809B3E1C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00500 809B3E20 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 00504 809B3E24 C7A8006C */ lwc1 $f8, 0x006C($sp)
|
||||
/* 00508 809B3E28 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 0050C 809B3E2C 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00510 809B3E30 C446002C */ lwc1 $f6, 0x002C($v0) ## 0000002C
|
||||
/* 00514 809B3E34 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 00518 809B3E38 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 0051C 809B3E3C 460A8480 */ add.s $f18, $f16, $f10
|
||||
/* 00520 809B3E40 C7B00070 */ lwc1 $f16, 0x0070($sp)
|
||||
/* 00524 809B3E44 46104282 */ mul.s $f10, $f8, $f16
|
||||
/* 00528 809B3E48 460A9300 */ add.s $f12, $f18, $f10
|
||||
/* 0052C 809B3E4C 4604603C */ c.lt.s $f12, $f4
|
||||
/* 00530 809B3E50 00000000 */ nop
|
||||
/* 00534 809B3E54 4503005D */ bc1tl .L809B3FCC
|
||||
/* 00538 809B3E58 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 0053C 809B3E5C 0C032D80 */ jal Math3D_Vec3fMagnitudeSq
|
||||
/* 00540 809B3E60 E7AC004C */ swc1 $f12, 0x004C($sp)
|
||||
/* 00544 809B3E64 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00548 809B3E68 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 0054C 809B3E6C C7AC004C */ lwc1 $f12, 0x004C($sp)
|
||||
/* 00550 809B3E70 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00554 809B3E74 00000000 */ nop
|
||||
/* 00558 809B3E78 45030054 */ bc1tl .L809B3FCC
|
||||
/* 0055C 809B3E7C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00560 809B3E80 46006083 */ div.s $f2, $f12, $f0
|
||||
/* 00564 809B3E84 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFF0
|
||||
/* 00568 809B3E88 44051000 */ mfc1 $a1, $f2
|
||||
/* 0056C 809B3E8C 0C01DFD7 */ jal Math_Vec3f_Scale
|
||||
|
||||
/* 00570 809B3E90 00000000 */ nop
|
||||
/* 00574 809B3E94 8E04024C */ lw $a0, 0x024C($s0) ## 0000024C
|
||||
/* 00578 809B3E98 27A50068 */ addiu $a1, $sp, 0x0068 ## $a1 = FFFFFFF0
|
||||
/* 0057C 809B3E9C 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFFE4
|
||||
/* 00580 809B3EA0 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00584 809B3EA4 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
/* 00588 809B3EA8 8E05024C */ lw $a1, 0x024C($s0) ## 0000024C
|
||||
/* 0058C 809B3EAC 8FA4007C */ lw $a0, 0x007C($sp)
|
||||
/* 00590 809B3EB0 27AE0074 */ addiu $t6, $sp, 0x0074 ## $t6 = FFFFFFFC
|
||||
/* 00594 809B3EB4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00598 809B3EB8 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 0059C 809B3EBC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 005A0 809B3EC0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 005A4 809B3EC4 27A90044 */ addiu $t1, $sp, 0x0044 ## $t1 = FFFFFFCC
|
||||
/* 005A8 809B3EC8 AFA90024 */ sw $t1, 0x0024($sp)
|
||||
/* 005AC 809B3ECC AFA80020 */ sw $t0, 0x0020($sp)
|
||||
/* 005B0 809B3ED0 AFB9001C */ sw $t9, 0x001C($sp)
|
||||
/* 005B4 809B3ED4 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 005B8 809B3ED8 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 005BC 809B3EDC AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 005C0 809B3EE0 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFFE4
|
||||
/* 005C4 809B3EE4 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFD8
|
||||
/* 005C8 809B3EE8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 005CC 809B3EEC 0C00F7A1 */ jal BgCheck_EntityLineTest1
|
||||
/* 005D0 809B3EF0 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 005D4 809B3EF4 10400030 */ beq $v0, $zero, .L809B3FB8
|
||||
/* 005D8 809B3EF8 C7A80050 */ lwc1 $f8, 0x0050($sp)
|
||||
/* 005DC 809B3EFC C7B0005C */ lwc1 $f16, 0x005C($sp)
|
||||
/* 005E0 809B3F00 C7B20050 */ lwc1 $f18, 0x0050($sp)
|
||||
/* 005E4 809B3F04 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 005E8 809B3F08 4608803E */ c.le.s $f16, $f8
|
||||
/* 005EC 809B3F0C 00000000 */ nop
|
||||
/* 005F0 809B3F10 45020008 */ bc1fl .L809B3F34
|
||||
/* 005F4 809B3F14 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
/* 005F8 809B3F18 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 005FC 809B3F1C 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 00600 809B3F20 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00604 809B3F24 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
/* 00608 809B3F28 10000005 */ beq $zero, $zero, .L809B3F40
|
||||
/* 0060C 809B3F2C 46006006 */ mov.s $f0, $f12
|
||||
/* 00610 809B3F30 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
.L809B3F34:
|
||||
/* 00614 809B3F34 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00618 809B3F38 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 0061C 809B3F3C 46001006 */ mov.s $f0, $f2
|
||||
.L809B3F40:
|
||||
/* 00620 809B3F40 46120280 */ add.s $f10, $f0, $f18
|
||||
/* 00624 809B3F44 8E0A024C */ lw $t2, 0x024C($s0) ## 0000024C
|
||||
/* 00628 809B3F48 E54A0024 */ swc1 $f10, 0x0024($t2) ## 00000024
|
||||
/* 0062C 809B3F4C C7A40054 */ lwc1 $f4, 0x0054($sp)
|
||||
/* 00630 809B3F50 C7A60060 */ lwc1 $f6, 0x0060($sp)
|
||||
/* 00634 809B3F54 C7A80054 */ lwc1 $f8, 0x0054($sp)
|
||||
/* 00638 809B3F58 4604303E */ c.le.s $f6, $f4
|
||||
/* 0063C 809B3F5C 00000000 */ nop
|
||||
/* 00640 809B3F60 45020004 */ bc1fl .L809B3F74
|
||||
/* 00644 809B3F64 46001006 */ mov.s $f0, $f2
|
||||
/* 00648 809B3F68 10000002 */ beq $zero, $zero, .L809B3F74
|
||||
/* 0064C 809B3F6C 46006006 */ mov.s $f0, $f12
|
||||
/* 00650 809B3F70 46001006 */ mov.s $f0, $f2
|
||||
.L809B3F74:
|
||||
/* 00654 809B3F74 46080400 */ add.s $f16, $f0, $f8
|
||||
/* 00658 809B3F78 8E0B024C */ lw $t3, 0x024C($s0) ## 0000024C
|
||||
/* 0065C 809B3F7C E5700028 */ swc1 $f16, 0x0028($t3) ## 00000028
|
||||
/* 00660 809B3F80 C7B20058 */ lwc1 $f18, 0x0058($sp)
|
||||
/* 00664 809B3F84 C7AA0064 */ lwc1 $f10, 0x0064($sp)
|
||||
/* 00668 809B3F88 C7A40058 */ lwc1 $f4, 0x0058($sp)
|
||||
/* 0066C 809B3F8C 4612503E */ c.le.s $f10, $f18
|
||||
/* 00670 809B3F90 00000000 */ nop
|
||||
/* 00674 809B3F94 45020004 */ bc1fl .L809B3FA8
|
||||
/* 00678 809B3F98 46001006 */ mov.s $f0, $f2
|
||||
/* 0067C 809B3F9C 10000002 */ beq $zero, $zero, .L809B3FA8
|
||||
/* 00680 809B3FA0 46006006 */ mov.s $f0, $f12
|
||||
/* 00684 809B3FA4 46001006 */ mov.s $f0, $f2
|
||||
.L809B3FA8:
|
||||
/* 00688 809B3FA8 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 0068C 809B3FAC 8E0C024C */ lw $t4, 0x024C($s0) ## 0000024C
|
||||
/* 00690 809B3FB0 10000005 */ beq $zero, $zero, .L809B3FC8
|
||||
/* 00694 809B3FB4 E586002C */ swc1 $f6, 0x002C($t4) ## 0000002C
|
||||
.L809B3FB8:
|
||||
/* 00698 809B3FB8 8E04024C */ lw $a0, 0x024C($s0) ## 0000024C
|
||||
/* 0069C 809B3FBC 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFE4
|
||||
/* 006A0 809B3FC0 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 006A4 809B3FC4 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
.L809B3FC8:
|
||||
/* 006A8 809B3FC8 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L809B3FCC:
|
||||
/* 006AC 809B3FCC 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 006B0 809B3FD0 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
||||
/* 006B4 809B3FD4 03E00008 */ jr $ra
|
||||
/* 006B8 809B3FD8 00000000 */ nop
|
|
@ -1,437 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B4F54
|
||||
.float 7.2000003
|
||||
glabel D_809B4F58
|
||||
.float -0.4
|
||||
|
||||
.text
|
||||
glabel func_809B3FDC
|
||||
/* 006BC 809B3FDC 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
|
||||
/* 006C0 809B3FE0 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 006C4 809B3FE4 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 006C8 809B3FE8 AFA5009C */ sw $a1, 0x009C($sp)
|
||||
/* 006CC 809B3FEC 90820248 */ lbu $v0, 0x0248($a0) ## 00000248
|
||||
/* 006D0 809B3FF0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 006D4 809B3FF4 14400003 */ bne $v0, $zero, .L809B4004
|
||||
/* 006D8 809B3FF8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 006DC 809B3FFC 10000004 */ beq $zero, $zero, .L809B4010
|
||||
/* 006E0 809B4000 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809B4004:
|
||||
/* 006E4 809B4004 31C200FF */ andi $v0, $t6, 0x00FF ## $v0 = 000000FF
|
||||
/* 006E8 809B4008 00401825 */ or $v1, $v0, $zero ## $v1 = 000000FF
|
||||
/* 006EC 809B400C A20E0248 */ sb $t6, 0x0248($s0) ## 00000248
|
||||
.L809B4010:
|
||||
/* 006F0 809B4010 54600006 */ bnel $v1, $zero, .L809B402C
|
||||
/* 006F4 809B4014 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 006F8 809B4018 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 006FC 809B401C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00700 809B4020 1000016B */ beq $zero, $zero, .L809B45D0
|
||||
/* 00704 809B4024 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00708 809B4028 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
.L809B402C:
|
||||
/* 0070C 809B402C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00710 809B4030 04410004 */ bgez $v0, .L809B4044
|
||||
/* 00714 809B4034 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00718 809B4038 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
|
||||
/* 0071C 809B403C 00000000 */ nop
|
||||
/* 00720 809B4040 46083180 */ add.s $f6, $f6, $f8
|
||||
.L809B4044:
|
||||
/* 00724 809B4044 3C01809B */ lui $at, %hi(D_809B4F54) ## $at = 809B0000
|
||||
/* 00728 809B4048 C42A4F54 */ lwc1 $f10, %lo(D_809B4F54)($at)
|
||||
/* 0072C 809B404C 3C01809B */ lui $at, %hi(D_809B4F58) ## $at = 809B0000
|
||||
/* 00730 809B4050 460A303C */ c.lt.s $f6, $f10
|
||||
/* 00734 809B4054 00000000 */ nop
|
||||
/* 00738 809B4058 45020004 */ bc1fl .L809B406C
|
||||
/* 0073C 809B405C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00740 809B4060 C4304F58 */ lwc1 $f16, %lo(D_809B4F58)($at)
|
||||
/* 00744 809B4064 E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C
|
||||
/* 00748 809B4068 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L809B406C:
|
||||
/* 0074C 809B406C 0002182B */ sltu $v1, $zero, $v0
|
||||
/* 00750 809B4070 10600007 */ beq $v1, $zero, .L809B4090
|
||||
/* 00754 809B4074 28410009 */ slti $at, $v0, 0x0009
|
||||
/* 00758 809B4078 2843000A */ slti $v1, $v0, 0x000A
|
||||
/* 0075C 809B407C 10600004 */ beq $v1, $zero, .L809B4090
|
||||
/* 00760 809B4080 00000000 */ nop
|
||||
/* 00764 809B4084 920301A0 */ lbu $v1, 0x01A0($s0) ## 000001A0
|
||||
/* 00768 809B4088 30630002 */ andi $v1, $v1, 0x0002 ## $v1 = 00000000
|
||||
/* 0076C 809B408C 0003182B */ sltu $v1, $zero, $v1
|
||||
.L809B4090:
|
||||
/* 00770 809B4090 14600006 */ bne $v1, $zero, .L809B40AC
|
||||
/* 00774 809B4094 00000000 */ nop
|
||||
/* 00778 809B4098 920F024A */ lbu $t7, 0x024A($s0) ## 0000024A
|
||||
/* 0077C 809B409C 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 00780 809B40A0 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00784 809B40A4 11E000A8 */ beq $t7, $zero, .L809B4348
|
||||
/* 00788 809B40A8 00000000 */ nop
|
||||
.L809B40AC:
|
||||
/* 0078C 809B40AC 14200039 */ bne $at, $zero, .L809B4194
|
||||
/* 00790 809B40B0 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 00794 809B40B4 10600013 */ beq $v1, $zero, .L809B4104
|
||||
/* 00798 809B40B8 24071825 */ addiu $a3, $zero, 0x1825 ## $a3 = 00001825
|
||||
/* 0079C 809B40BC C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
|
||||
/* 007A0 809B40C0 C6040100 */ lwc1 $f4, 0x0100($s0) ## 00000100
|
||||
/* 007A4 809B40C4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 007A8 809B40C8 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 007AC 809B40CC 46049200 */ add.s $f8, $f18, $f4
|
||||
/* 007B0 809B40D0 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 007B4 809B40D4 C6100104 */ lwc1 $f16, 0x0104($s0) ## 00000104
|
||||
/* 007B8 809B40D8 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 007BC 809B40DC 46004182 */ mul.s $f6, $f8, $f0
|
||||
/* 007C0 809B40E0 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 007C4 809B40E4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 007C8 809B40E8 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 007CC 809B40EC E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 007D0 809B40F0 C6060108 */ lwc1 $f6, 0x0108($s0) ## 00000108
|
||||
/* 007D4 809B40F4 46064280 */ add.s $f10, $f8, $f6
|
||||
/* 007D8 809B40F8 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 007DC 809B40FC 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 007E0 809B4100 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
|
||||
.L809B4104:
|
||||
/* 007E4 809B4104 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 007E8 809B4108 14410013 */ bne $v0, $at, .L809B4158
|
||||
/* 007EC 809B410C 3C198016 */ lui $t9, %hi(gGameInfo)
|
||||
/* 007F0 809B4110 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
|
||||
/* 007F4 809B4114 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 007F8 809B4118 24060056 */ addiu $a2, $zero, 0x0056 ## $a2 = 00000056
|
||||
/* 007FC 809B411C A7380D38 */ sh $t8, 0x0D38($t9) ## 80160D38
|
||||
/* 00800 809B4120 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00804 809B4124 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
|
||||
/* 00808 809B4128 8FA5009C */ lw $a1, 0x009C($sp)
|
||||
/* 0080C 809B412C E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 00810 809B4130 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 00814 809B4134 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00818 809B4138 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 0081C 809B413C AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00820 809B4140 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00824 809B4144 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C48
|
||||
/* 00828 809B4148 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 0082C 809B414C E7A40014 */ swc1 $f4, 0x0014($sp)
|
||||
/* 00830 809B4150 10000001 */ beq $zero, $zero, .L809B4158
|
||||
/* 00834 809B4154 2407182B */ addiu $a3, $zero, 0x182B ## $a3 = 0000182B
|
||||
.L809B4158:
|
||||
/* 00838 809B4158 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 0083C 809B415C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00840 809B4160 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 00844 809B4164 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00848 809B4168 0C00A700 */ jal EffectSsStone1_Spawn
|
||||
/* 0084C 809B416C A7A70072 */ sh $a3, 0x0072($sp)
|
||||
/* 00850 809B4170 97A70072 */ lhu $a3, 0x0072($sp)
|
||||
/* 00854 809B4174 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 00858 809B4178 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 0085C 809B417C 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00860 809B4180 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00864 809B4184 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00868 809B4188 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0086C 809B418C 1000009E */ beq $zero, $zero, .L809B4408
|
||||
/* 00870 809B4190 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
.L809B4194:
|
||||
/* 00874 809B4194 26070024 */ addiu $a3, $s0, 0x0024 ## $a3 = 00000024
|
||||
/* 00878 809B4198 AFA70044 */ sw $a3, 0x0044($sp)
|
||||
/* 0087C 809B419C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00880 809B41A0 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096
|
||||
/* 00884 809B41A4 0C00A732 */ jal EffectSsHitMark_SpawnCustomScale
|
||||
/* 00888 809B41A8 AFA30050 */ sw $v1, 0x0050($sp)
|
||||
/* 0088C 809B41AC 8FA30050 */ lw $v1, 0x0050($sp)
|
||||
/* 00890 809B41B0 5060004D */ beql $v1, $zero, .L809B42E8
|
||||
/* 00894 809B41B4 9208024A */ lbu $t0, 0x024A($s0) ## 0000024A
|
||||
/* 00898 809B41B8 8E0301C8 */ lw $v1, 0x01C8($s0) ## 000001C8
|
||||
/* 0089C 809B41BC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 008A0 809B41C0 90690014 */ lbu $t1, 0x0014($v1) ## 00000014
|
||||
/* 008A4 809B41C4 51210048 */ beql $t1, $at, .L809B42E8
|
||||
/* 008A8 809B41C8 9208024A */ lbu $t0, 0x024A($s0) ## 0000024A
|
||||
/* 008AC 809B41CC 8E020194 */ lw $v0, 0x0194($s0) ## 00000194
|
||||
/* 008B0 809B41D0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 008B4 809B41D4 8C4A0130 */ lw $t2, 0x0130($v0) ## 00000130
|
||||
/* 008B8 809B41D8 51400024 */ beql $t2, $zero, .L809B426C
|
||||
/* 008BC 809B41DC 92090249 */ lbu $t1, 0x0249($s0) ## 00000249
|
||||
/* 008C0 809B41E0 920B01A0 */ lbu $t3, 0x01A0($s0) ## 000001A0
|
||||
/* 008C4 809B41E4 316C0004 */ andi $t4, $t3, 0x0004 ## $t4 = 00000000
|
||||
/* 008C8 809B41E8 55800020 */ bnel $t4, $zero, .L809B426C
|
||||
/* 008CC 809B41EC 92090249 */ lbu $t1, 0x0249($s0) ## 00000249
|
||||
/* 008D0 809B41F0 8C4D0004 */ lw $t5, 0x0004($v0) ## 00000004
|
||||
/* 008D4 809B41F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008D8 809B41F8 31AE4000 */ andi $t6, $t5, 0x4000 ## $t6 = 00000000
|
||||
/* 008DC 809B41FC 51C0001B */ beql $t6, $zero, .L809B426C
|
||||
/* 008E0 809B4200 92090249 */ lbu $t1, 0x0249($s0) ## 00000249
|
||||
/* 008E4 809B4204 AE02024C */ sw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 008E8 809B4208 AFA2006C */ sw $v0, 0x006C($sp)
|
||||
/* 008EC 809B420C 0C26CF76 */ jal func_809B3DD8
|
||||
/* 008F0 809B4210 8FA5009C */ lw $a1, 0x009C($sp)
|
||||
/* 008F4 809B4214 8FA2006C */ lw $v0, 0x006C($sp)
|
||||
/* 008F8 809B4218 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 008FC 809B421C 26060250 */ addiu $a2, $s0, 0x0250 ## $a2 = 00000250
|
||||
/* 00900 809B4220 0C01DFB4 */ jal Math_Vec3f_Diff
|
||||
## Vec3f_Sub
|
||||
/* 00904 809B4224 24440024 */ addiu $a0, $v0, 0x0024 ## $a0 = 00000024
|
||||
/* 00908 809B4228 8FA2006C */ lw $v0, 0x006C($sp)
|
||||
/* 0090C 809B422C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00910 809B4230 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 00914 809B4234 8C4F0004 */ lw $t7, 0x0004($v0) ## 00000004
|
||||
/* 00918 809B4238 35F88000 */ ori $t8, $t7, 0x8000 ## $t8 = 00008000
|
||||
/* 0091C 809B423C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00920 809B4240 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
|
||||
/* 00924 809B4244 C60A0060 */ lwc1 $f10, 0x0060($s0) ## 00000060
|
||||
/* 00928 809B4248 921901A0 */ lbu $t9, 0x01A0($s0) ## 000001A0
|
||||
/* 0092C 809B424C 46004182 */ mul.s $f6, $f8, $f0
|
||||
/* 00930 809B4250 3328FFFD */ andi $t0, $t9, 0xFFFD ## $t0 = 00000000
|
||||
/* 00934 809B4254 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 00938 809B4258 A20801A0 */ sb $t0, 0x01A0($s0) ## 000001A0
|
||||
/* 0093C 809B425C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
|
||||
/* 00940 809B4260 10000068 */ beq $zero, $zero, .L809B4404
|
||||
/* 00944 809B4264 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
|
||||
/* 00948 809B4268 92090249 */ lbu $t1, 0x0249($s0) ## 00000249
|
||||
.L809B426C:
|
||||
/* 0094C 809B426C 352B0001 */ ori $t3, $t1, 0x0001 ## $t3 = 00000001
|
||||
/* 00950 809B4270 A20B0249 */ sb $t3, 0x0249($s0) ## 00000249
|
||||
/* 00954 809B4274 356C0002 */ ori $t4, $t3, 0x0002 ## $t4 = 00000003
|
||||
/* 00958 809B4278 A20C0249 */ sb $t4, 0x0249($s0) ## 00000249
|
||||
/* 0095C 809B427C 906D0016 */ lbu $t5, 0x0016($v1) ## 00000016
|
||||
/* 00960 809B4280 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000
|
||||
/* 00964 809B4284 11C00010 */ beq $t6, $zero, .L809B42C8
|
||||
/* 00968 809B4288 00000000 */ nop
|
||||
/* 0096C 809B428C 846F000E */ lh $t7, 0x000E($v1) ## 0000000E
|
||||
/* 00970 809B4290 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
|
||||
/* 00974 809B4294 00000000 */ nop
|
||||
/* 00978 809B4298 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 0097C 809B429C E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00980 809B42A0 84780010 */ lh $t8, 0x0010($v1) ## 00000010
|
||||
/* 00984 809B42A4 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
|
||||
/* 00988 809B42A8 00000000 */ nop
|
||||
/* 0098C 809B42AC 468041A0 */ cvt.s.w $f6, $f8
|
||||
/* 00990 809B42B0 E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00994 809B42B4 84790012 */ lh $t9, 0x0012($v1) ## 00000012
|
||||
/* 00998 809B42B8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
|
||||
/* 0099C 809B42BC 00000000 */ nop
|
||||
/* 009A0 809B42C0 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 009A4 809B42C4 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
|
||||
.L809B42C8:
|
||||
/* 009A8 809B42C8 0C26CF3B */ jal func_809B3CEC
|
||||
/* 009AC 809B42CC 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 009B0 809B42D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009B4 809B42D4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 009B8 809B42D8 24051814 */ addiu $a1, $zero, 0x1814 ## $a1 = 00001814
|
||||
/* 009BC 809B42DC 1000004A */ beq $zero, $zero, .L809B4408
|
||||
/* 009C0 809B42E0 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 009C4 809B42E4 9208024A */ lbu $t0, 0x024A($s0) ## 0000024A
|
||||
.L809B42E8:
|
||||
/* 009C8 809B42E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009CC 809B42EC 3C05809B */ lui $a1, %hi(func_809B45E0) ## $a1 = 809B0000
|
||||
/* 009D0 809B42F0 51000045 */ beql $t0, $zero, .L809B4408
|
||||
/* 009D4 809B42F4 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 009D8 809B42F8 0C26CE48 */ jal func_809B3920
|
||||
/* 009DC 809B42FC 24A545E0 */ addiu $a1, $a1, %lo(func_809B45E0) ## $a1 = 809B45E0
|
||||
/* 009E0 809B4300 3C050400 */ lui $a1, %hi(gArrow2Anim) ## $a1 = 04000000
|
||||
/* 009E4 809B4304 24A5436C */ addiu $a1, $a1, %lo(gArrow2Anim) ## $a1 = 0400436C
|
||||
/* 009E8 809B4308 0C02947A */ jal Animation_PlayOnce
|
||||
/* 009EC 809B430C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 009F0 809B4310 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
||||
/* 009F4 809B4314 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C
|
||||
/* 009F8 809B4318 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
|
||||
/* 009FC 809B431C 05200003 */ bltz $t1, .L809B432C
|
||||
/* 00A00 809B4320 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A04 809B4324 10000002 */ beq $zero, $zero, .L809B4330
|
||||
/* 00A08 809B4328 A20A0248 */ sb $t2, 0x0248($s0) ## 00000248
|
||||
.L809B432C:
|
||||
/* 00A0C 809B432C A20B0248 */ sb $t3, 0x0248($s0) ## 00000248
|
||||
.L809B4330:
|
||||
/* 00A10 809B4330 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00A14 809B4334 24051815 */ addiu $a1, $zero, 0x1815 ## $a1 = 00001815
|
||||
/* 00A18 809B4338 920C0249 */ lbu $t4, 0x0249($s0) ## 00000249
|
||||
/* 00A1C 809B433C 358D0001 */ ori $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 00A20 809B4340 10000030 */ beq $zero, $zero, .L809B4404
|
||||
/* 00A24 809B4344 A20D0249 */ sb $t5, 0x0249($s0) ## 00000249
|
||||
.L809B4348:
|
||||
/* 00A28 809B4348 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00A2C 809B434C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00A30 809B4350 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00A34 809B4354 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A38 809B4358 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 00A3C 809B435C 260E0074 */ addiu $t6, $s0, 0x0074 ## $t6 = 00000074
|
||||
/* 00A40 809B4360 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00A44 809B4364 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00A48 809B4368 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00A4C 809B436C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00A50 809B4370 27A90090 */ addiu $t1, $sp, 0x0090 ## $t1 = FFFFFFF8
|
||||
/* 00A54 809B4374 AFA90024 */ sw $t1, 0x0024($sp)
|
||||
/* 00A58 809B4378 AFA80020 */ sw $t0, 0x0020($sp)
|
||||
/* 00A5C 809B437C AFB9001C */ sw $t9, 0x001C($sp)
|
||||
/* 00A60 809B4380 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 00A64 809B4384 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00A68 809B4388 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00A6C 809B438C 26050100 */ addiu $a1, $s0, 0x0100 ## $a1 = 00000100
|
||||
/* 00A70 809B4390 8FA60044 */ lw $a2, 0x0044($sp)
|
||||
/* 00A74 809B4394 27A70084 */ addiu $a3, $sp, 0x0084 ## $a3 = FFFFFFEC
|
||||
/* 00A78 809B4398 0C00F80B */ jal BgCheck_ProjectileLineTest
|
||||
/* 00A7C 809B439C 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 00A80 809B43A0 304A00FF */ andi $t2, $v0, 0x00FF ## $t2 = 00000000
|
||||
/* 00A84 809B43A4 1140000E */ beq $t2, $zero, .L809B43E0
|
||||
/* 00A88 809B43A8 A202024A */ sb $v0, 0x024A($s0) ## 0000024A
|
||||
/* 00A8C 809B43AC 8E060074 */ lw $a2, 0x0074($s0) ## 00000074
|
||||
/* 00A90 809B43B0 27AB0084 */ addiu $t3, $sp, 0x0084 ## $t3 = FFFFFFEC
|
||||
/* 00A94 809B43B4 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00A98 809B43B8 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 00A9C 809B43BC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00AA0 809B43C0 0C00BE7B */ jal func_8002F9EC
|
||||
/* 00AA4 809B43C4 8FA70090 */ lw $a3, 0x0090($sp)
|
||||
/* 00AA8 809B43C8 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFE0
|
||||
/* 00AAC 809B43CC 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00AB0 809B43D0 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 00AB4 809B43D4 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00AB8 809B43D8 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00ABC 809B43DC 27A50084 */ addiu $a1, $sp, 0x0084 ## $a1 = FFFFFFEC
|
||||
.L809B43E0:
|
||||
/* 00AC0 809B43E0 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
|
||||
/* 00AC4 809B43E4 29810009 */ slti $at, $t4, 0x0009
|
||||
/* 00AC8 809B43E8 50200007 */ beql $at, $zero, .L809B4408
|
||||
/* 00ACC 809B43EC 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 00AD0 809B43F0 C60E0060 */ lwc1 $f14, 0x0060($s0) ## 00000060
|
||||
/* 00AD4 809B43F4 C60C0068 */ lwc1 $f12, 0x0068($s0) ## 00000068
|
||||
/* 00AD8 809B43F8 0C034199 */ jal Math_Atan2S
|
||||
|
||||
/* 00ADC 809B43FC 46007387 */ neg.s $f14, $f14
|
||||
/* 00AE0 809B4400 A60200B4 */ sh $v0, 0x00B4($s0) ## 000000B4
|
||||
.L809B4404:
|
||||
/* 00AE4 809B4404 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
.L809B4408:
|
||||
/* 00AE8 809B4408 50400071 */ beql $v0, $zero, .L809B45D0
|
||||
/* 00AEC 809B440C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00AF0 809B4410 8C4D0130 */ lw $t5, 0x0130($v0) ## 00000130
|
||||
/* 00AF4 809B4414 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 00AF8 809B4418 26050250 */ addiu $a1, $s0, 0x0250 ## $a1 = 00000250
|
||||
/* 00AFC 809B441C 11A0006A */ beq $t5, $zero, .L809B45C8
|
||||
/* 00B00 809B4420 8FAE009C */ lw $t6, 0x009C($sp)
|
||||
/* 00B04 809B4424 25CF07C0 */ addiu $t7, $t6, 0x07C0 ## $t7 = 000007C0
|
||||
/* 00B08 809B4428 AFAF003C */ sw $t7, 0x003C($sp)
|
||||
/* 00B0C 809B442C 27A60060 */ addiu $a2, $sp, 0x0060 ## $a2 = FFFFFFC8
|
||||
/* 00B10 809B4430 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00B14 809B4434 AFA50040 */ sw $a1, 0x0040($sp)
|
||||
/* 00B18 809B4438 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00B1C 809B443C 8FA50040 */ lw $a1, 0x0040($sp)
|
||||
/* 00B20 809B4440 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00B24 809B4444 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFBC
|
||||
/* 00B28 809B4448 27B80094 */ addiu $t8, $sp, 0x0094 ## $t8 = FFFFFFFC
|
||||
/* 00B2C 809B444C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00B30 809B4450 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00B34 809B4454 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 00B38 809B4458 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00B3C 809B445C 27AB0090 */ addiu $t3, $sp, 0x0090 ## $t3 = FFFFFFF8
|
||||
/* 00B40 809B4460 AFAB0024 */ sw $t3, 0x0024($sp)
|
||||
/* 00B44 809B4464 AFAA0020 */ sw $t2, 0x0020($sp)
|
||||
/* 00B48 809B4468 AFA9001C */ sw $t1, 0x001C($sp)
|
||||
/* 00B4C 809B446C AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 00B50 809B4470 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00B54 809B4474 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00B58 809B4478 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00B5C 809B447C 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFC8
|
||||
/* 00B60 809B4480 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFBC
|
||||
/* 00B64 809B4484 0C00F7A1 */ jal BgCheck_EntityLineTest1
|
||||
/* 00B68 809B4488 27A70084 */ addiu $a3, $sp, 0x0084 ## $a3 = FFFFFFEC
|
||||
/* 00B6C 809B448C 1040003D */ beq $v0, $zero, .L809B4584
|
||||
/* 00B70 809B4490 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00B74 809B4494 C7B20084 */ lwc1 $f18, 0x0084($sp)
|
||||
/* 00B78 809B4498 C7A40054 */ lwc1 $f4, 0x0054($sp)
|
||||
/* 00B7C 809B449C C7A80084 */ lwc1 $f8, 0x0084($sp)
|
||||
/* 00B80 809B44A0 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00B84 809B44A4 4612203E */ c.le.s $f4, $f18
|
||||
/* 00B88 809B44A8 00000000 */ nop
|
||||
/* 00B8C 809B44AC 45020008 */ bc1fl .L809B44D0
|
||||
/* 00B90 809B44B0 44816000 */ mtc1 $at, $f12 ## $f12 = -1.00
|
||||
/* 00B94 809B44B4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00B98 809B44B8 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 00B9C 809B44BC 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00BA0 809B44C0 44816000 */ mtc1 $at, $f12 ## $f12 = -1.00
|
||||
/* 00BA4 809B44C4 10000005 */ beq $zero, $zero, .L809B44DC
|
||||
/* 00BA8 809B44C8 46001006 */ mov.s $f0, $f2
|
||||
/* 00BAC 809B44CC 44816000 */ mtc1 $at, $f12 ## $f12 = -1.00
|
||||
.L809B44D0:
|
||||
/* 00BB0 809B44D0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00BB4 809B44D4 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 00BB8 809B44D8 46006006 */ mov.s $f0, $f12
|
||||
.L809B44DC:
|
||||
/* 00BBC 809B44DC 46080180 */ add.s $f6, $f0, $f8
|
||||
/* 00BC0 809B44E0 8E0C024C */ lw $t4, 0x024C($s0) ## 0000024C
|
||||
/* 00BC4 809B44E4 E5860024 */ swc1 $f6, 0x0024($t4) ## 00000024
|
||||
/* 00BC8 809B44E8 C7AA0088 */ lwc1 $f10, 0x0088($sp)
|
||||
/* 00BCC 809B44EC C7B00058 */ lwc1 $f16, 0x0058($sp)
|
||||
/* 00BD0 809B44F0 C7B20088 */ lwc1 $f18, 0x0088($sp)
|
||||
/* 00BD4 809B44F4 460A803E */ c.le.s $f16, $f10
|
||||
/* 00BD8 809B44F8 00000000 */ nop
|
||||
/* 00BDC 809B44FC 45020004 */ bc1fl .L809B4510
|
||||
/* 00BE0 809B4500 46006006 */ mov.s $f0, $f12
|
||||
/* 00BE4 809B4504 10000002 */ beq $zero, $zero, .L809B4510
|
||||
/* 00BE8 809B4508 46001006 */ mov.s $f0, $f2
|
||||
/* 00BEC 809B450C 46006006 */ mov.s $f0, $f12
|
||||
.L809B4510:
|
||||
/* 00BF0 809B4510 46120100 */ add.s $f4, $f0, $f18
|
||||
/* 00BF4 809B4514 8E0D024C */ lw $t5, 0x024C($s0) ## 0000024C
|
||||
/* 00BF8 809B4518 E5A40028 */ swc1 $f4, 0x0028($t5) ## 00000028
|
||||
/* 00BFC 809B451C C7A8008C */ lwc1 $f8, 0x008C($sp)
|
||||
/* 00C00 809B4520 C7A6005C */ lwc1 $f6, 0x005C($sp)
|
||||
/* 00C04 809B4524 C7AA008C */ lwc1 $f10, 0x008C($sp)
|
||||
/* 00C08 809B4528 4608303E */ c.le.s $f6, $f8
|
||||
/* 00C0C 809B452C 00000000 */ nop
|
||||
/* 00C10 809B4530 45020004 */ bc1fl .L809B4544
|
||||
/* 00C14 809B4534 46006006 */ mov.s $f0, $f12
|
||||
/* 00C18 809B4538 10000002 */ beq $zero, $zero, .L809B4544
|
||||
/* 00C1C 809B453C 46001006 */ mov.s $f0, $f2
|
||||
/* 00C20 809B4540 46006006 */ mov.s $f0, $f12
|
||||
.L809B4544:
|
||||
/* 00C24 809B4544 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 00C28 809B4548 8E0E024C */ lw $t6, 0x024C($s0) ## 0000024C
|
||||
/* 00C2C 809B454C E5D0002C */ swc1 $f16, 0x002C($t6) ## 0000002C
|
||||
/* 00C30 809B4550 8E04024C */ lw $a0, 0x024C($s0) ## 0000024C
|
||||
/* 00C34 809B4554 8FA60040 */ lw $a2, 0x0040($sp)
|
||||
/* 00C38 809B4558 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 00C3C 809B455C 0C01DFB4 */ jal Math_Vec3f_Diff
|
||||
## Vec3f_Sub
|
||||
/* 00C40 809B4560 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
/* 00C44 809B4564 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 00C48 809B4568 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 00C4C 809B456C 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 00C50 809B4570 8C4F0004 */ lw $t7, 0x0004($v0) ## 00000004
|
||||
/* 00C54 809B4574 01E1C024 */ and $t8, $t7, $at
|
||||
/* 00C58 809B4578 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00C5C 809B457C 10000005 */ beq $zero, $zero, .L809B4594
|
||||
/* 00C60 809B4580 AE00024C */ sw $zero, 0x024C($s0) ## 0000024C
|
||||
.L809B4584:
|
||||
/* 00C64 809B4584 8E06024C */ lw $a2, 0x024C($s0) ## 0000024C
|
||||
/* 00C68 809B4588 8FA50040 */ lw $a1, 0x0040($sp)
|
||||
/* 00C6C 809B458C 0C01DFA7 */ jal Math_Vec3f_Sum
|
||||
## Vec3f_Add
|
||||
/* 00C70 809B4590 24C60024 */ addiu $a2, $a2, 0x0024 ## $a2 = 00000024
|
||||
.L809B4594:
|
||||
/* 00C74 809B4594 9219024A */ lbu $t9, 0x024A($s0) ## 0000024A
|
||||
/* 00C78 809B4598 5320000D */ beql $t9, $zero, .L809B45D0
|
||||
/* 00C7C 809B459C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00C80 809B45A0 8E02024C */ lw $v0, 0x024C($s0) ## 0000024C
|
||||
/* 00C84 809B45A4 5040000A */ beql $v0, $zero, .L809B45D0
|
||||
/* 00C88 809B45A8 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00C8C 809B45AC 8C480004 */ lw $t0, 0x0004($v0) ## 00000004
|
||||
/* 00C90 809B45B0 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 00C94 809B45B4 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 00C98 809B45B8 01014824 */ and $t1, $t0, $at
|
||||
/* 00C9C 809B45BC AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00CA0 809B45C0 10000002 */ beq $zero, $zero, .L809B45CC
|
||||
/* 00CA4 809B45C4 AE00024C */ sw $zero, 0x024C($s0) ## 0000024C
|
||||
.L809B45C8:
|
||||
/* 00CA8 809B45C8 AE00024C */ sw $zero, 0x024C($s0) ## 0000024C
|
||||
.L809B45CC:
|
||||
/* 00CAC 809B45CC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L809B45D0:
|
||||
/* 00CB0 809B45D0 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00CB4 809B45D4 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
|
||||
/* 00CB8 809B45D8 03E00008 */ jr $ra
|
||||
/* 00CBC 809B45DC 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
glabel func_809B45E0
|
||||
/* 00CC0 809B45E0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00CC4 809B45E4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00CC8 809B45E8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 00CCC 809B45EC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00CD0 809B45F0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00CD4 809B45F4 AFA50018 */ sw $a1, 0x0018($sp)
|
||||
/* 00CD8 809B45F8 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00CDC 809B45FC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00CE0 809B4600 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00CE4 809B4604 90A20248 */ lbu $v0, 0x0248($a1) ## 00000248
|
||||
/* 00CE8 809B4608 14400003 */ bne $v0, $zero, .L809B4618
|
||||
/* 00CEC 809B460C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00CF0 809B4610 10000003 */ beq $zero, $zero, .L809B4620
|
||||
/* 00CF4 809B4614 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809B4618:
|
||||
/* 00CF8 809B4618 A0AE0248 */ sb $t6, 0x0248($a1) ## 00000248
|
||||
/* 00CFC 809B461C 31C300FF */ andi $v1, $t6, 0x00FF ## $v1 = 000000FF
|
||||
.L809B4620:
|
||||
/* 00D00 809B4620 54600004 */ bnel $v1, $zero, .L809B4634
|
||||
/* 00D04 809B4624 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D08 809B4628 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00D0C 809B462C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00D10 809B4630 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809B4634:
|
||||
/* 00D14 809B4634 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D18 809B4638 03E00008 */ jr $ra
|
||||
/* 00D1C 809B463C 00000000 */ nop
|
|
@ -1,33 +0,0 @@
|
|||
glabel func_809B4640
|
||||
/* 00D20 809B4640 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00D24 809B4644 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00D28 809B4648 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 00D2C 809B464C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D30 809B4650 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00D34 809B4654 AFA50018 */ sw $a1, 0x0018($sp)
|
||||
/* 00D38 809B4658 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00D3C 809B465C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00D40 809B4660 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00D44 809B4664 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00D48 809B4668 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00D4C 809B466C 90A20248 */ lbu $v0, 0x0248($a1) ## 00000248
|
||||
/* 00D50 809B4670 14400003 */ bne $v0, $zero, .L809B4680
|
||||
/* 00D54 809B4674 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00D58 809B4678 10000003 */ beq $zero, $zero, .L809B4688
|
||||
/* 00D5C 809B467C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809B4680:
|
||||
/* 00D60 809B4680 A0AE0248 */ sb $t6, 0x0248($a1) ## 00000248
|
||||
/* 00D64 809B4684 31C300FF */ andi $v1, $t6, 0x00FF ## $v1 = 000000FF
|
||||
.L809B4688:
|
||||
/* 00D68 809B4688 54600004 */ bnel $v1, $zero, .L809B469C
|
||||
/* 00D6C 809B468C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D70 809B4690 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00D74 809B4694 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00D78 809B4698 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809B469C:
|
||||
/* 00D7C 809B469C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D80 809B46A0 03E00008 */ jr $ra
|
||||
/* 00D84 809B46A4 00000000 */ nop
|
|
@ -1,95 +0,0 @@
|
|||
glabel func_809B4800
|
||||
/* 00EE0 809B4800 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00EE4 809B4804 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00EE8 809B4808 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00EEC 809B480C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00EF0 809B4810 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00EF4 809B4814 3C04809B */ lui $a0, %hi(D_809B4EA0) ## $a0 = 809B0000
|
||||
/* 00EF8 809B4818 24844EA0 */ addiu $a0, $a0, %lo(D_809B4EA0) ## $a0 = 809B4EA0
|
||||
/* 00EFC 809B481C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F00 809B4820 2605021C */ addiu $a1, $s0, 0x021C ## $a1 = 0000021C
|
||||
/* 00F04 809B4824 8E0E025C */ lw $t6, 0x025C($s0) ## 0000025C
|
||||
/* 00F08 809B4828 3C0F809B */ lui $t7, %hi(func_809B3FDC) ## $t7 = 809B0000
|
||||
/* 00F0C 809B482C 25EF3FDC */ addiu $t7, $t7, %lo(func_809B3FDC) ## $t7 = 809B3FDC
|
||||
/* 00F10 809B4830 15CF0048 */ bne $t6, $t7, .L809B4954
|
||||
/* 00F14 809B4834 3C04809B */ lui $a0, %hi(D_809B4E88) ## $a0 = 809B0000
|
||||
/* 00F18 809B4838 24844E88 */ addiu $a0, $a0, %lo(D_809B4E88) ## $a0 = 809B4E88
|
||||
/* 00F1C 809B483C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F20 809B4840 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
|
||||
/* 00F24 809B4844 3C04809B */ lui $a0, %hi(D_809B4E94) ## $a0 = 809B0000
|
||||
/* 00F28 809B4848 24844E94 */ addiu $a0, $a0, %lo(D_809B4E94) ## $a0 = 809B4E94
|
||||
/* 00F2C 809B484C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F30 809B4850 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFE8
|
||||
/* 00F34 809B4854 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00F38 809B4858 2841000A */ slti $at, $v0, 0x000A
|
||||
/* 00F3C 809B485C 5020003E */ beql $at, $zero, .L809B4958
|
||||
/* 00F40 809B4860 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00F44 809B4864 8E18024C */ lw $t8, 0x024C($s0) ## 0000024C
|
||||
/* 00F48 809B4868 28430006 */ slti $v1, $v0, 0x0006
|
||||
/* 00F4C 809B486C 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00F50 809B4870 1700000A */ bne $t8, $zero, .L809B489C
|
||||
/* 00F54 809B4874 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190
|
||||
/* 00F58 809B4878 27B90038 */ addiu $t9, $sp, 0x0038 ## $t9 = FFFFFFE8
|
||||
/* 00F5C 809B487C AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00F60 809B4880 2606022C */ addiu $a2, $s0, 0x022C ## $a2 = 0000022C
|
||||
/* 00F64 809B4884 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFF4
|
||||
/* 00F68 809B4888 0C024120 */ jal func_80090480
|
||||
/* 00F6C 809B488C AFA30034 */ sw $v1, 0x0034($sp)
|
||||
/* 00F70 809B4890 8FA30034 */ lw $v1, 0x0034($sp)
|
||||
/* 00F74 809B4894 10000027 */ beq $zero, $zero, .L809B4934
|
||||
/* 00F78 809B4898 00621824 */ and $v1, $v1, $v0
|
||||
.L809B489C:
|
||||
/* 00F7C 809B489C 10600025 */ beq $v1, $zero, .L809B4934
|
||||
/* 00F80 809B48A0 C7A40044 */ lwc1 $f4, 0x0044($sp)
|
||||
/* 00F84 809B48A4 C6060230 */ lwc1 $f6, 0x0230($s0) ## 00000230
|
||||
/* 00F88 809B48A8 C7A80048 */ lwc1 $f8, 0x0048($sp)
|
||||
/* 00F8C 809B48AC 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00F90 809B48B0 00000000 */ nop
|
||||
/* 00F94 809B48B4 4500001F */ bc1f .L809B4934
|
||||
/* 00F98 809B48B8 00000000 */ nop
|
||||
/* 00F9C 809B48BC C60A0234 */ lwc1 $f10, 0x0234($s0) ## 00000234
|
||||
/* 00FA0 809B48C0 C7B0004C */ lwc1 $f16, 0x004C($sp)
|
||||
/* 00FA4 809B48C4 460A4032 */ c.eq.s $f8, $f10
|
||||
/* 00FA8 809B48C8 00000000 */ nop
|
||||
/* 00FAC 809B48CC 45000019 */ bc1f .L809B4934
|
||||
/* 00FB0 809B48D0 00000000 */ nop
|
||||
/* 00FB4 809B48D4 C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
/* 00FB8 809B48D8 C7A40038 */ lwc1 $f4, 0x0038($sp)
|
||||
/* 00FBC 809B48DC 46128032 */ c.eq.s $f16, $f18
|
||||
/* 00FC0 809B48E0 00000000 */ nop
|
||||
/* 00FC4 809B48E4 45000013 */ bc1f .L809B4934
|
||||
/* 00FC8 809B48E8 00000000 */ nop
|
||||
/* 00FCC 809B48EC C606023C */ lwc1 $f6, 0x023C($s0) ## 0000023C
|
||||
/* 00FD0 809B48F0 C7A8003C */ lwc1 $f8, 0x003C($sp)
|
||||
/* 00FD4 809B48F4 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00FD8 809B48F8 00000000 */ nop
|
||||
/* 00FDC 809B48FC 4500000D */ bc1f .L809B4934
|
||||
/* 00FE0 809B4900 00000000 */ nop
|
||||
/* 00FE4 809B4904 C60A0240 */ lwc1 $f10, 0x0240($s0) ## 00000240
|
||||
/* 00FE8 809B4908 C7B00040 */ lwc1 $f16, 0x0040($sp)
|
||||
/* 00FEC 809B490C 460A4032 */ c.eq.s $f8, $f10
|
||||
/* 00FF0 809B4910 00000000 */ nop
|
||||
/* 00FF4 809B4914 45000007 */ bc1f .L809B4934
|
||||
/* 00FF8 809B4918 00000000 */ nop
|
||||
/* 00FFC 809B491C C6120244 */ lwc1 $f18, 0x0244($s0) ## 00000244
|
||||
/* 01000 809B4920 46128032 */ c.eq.s $f16, $f18
|
||||
/* 01004 809B4924 00000000 */ nop
|
||||
/* 01008 809B4928 45000002 */ bc1f .L809B4934
|
||||
/* 0100C 809B492C 00000000 */ nop
|
||||
/* 01010 809B4930 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809B4934:
|
||||
/* 01014 809B4934 50600008 */ beql $v1, $zero, .L809B4958
|
||||
/* 01018 809B4938 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0101C 809B493C 0C009AC3 */ jal Effect_GetByIndex
|
||||
/* 01020 809B4940 8E040228 */ lw $a0, 0x0228($s0) ## 00000228
|
||||
/* 01024 809B4944 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
|
||||
/* 01028 809B4948 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
|
||||
/* 0102C 809B494C 0C007F7C */ jal EffectBlure_AddVertex
|
||||
/* 01030 809B4950 27A60038 */ addiu $a2, $sp, 0x0038 ## $a2 = FFFFFFE8
|
||||
.L809B4954:
|
||||
/* 01034 809B4954 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809B4958:
|
||||
/* 01038 809B4958 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0103C 809B495C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 01040 809B4960 03E00008 */ jr $ra
|
||||
/* 01044 809B4964 00000000 */ nop
|
|
@ -846,8 +846,8 @@
|
|||
<Texture Name="gBurnMark2Tex" OutName="burn_mark_2" Format="i4" Width="64" Height="64" Offset="0x36F30"/>
|
||||
<DList Name="gEffBurnMark1DL" Offset="0x37730"/>
|
||||
<DList Name="gEffBurnMark2DL" Offset="0x37798"/>
|
||||
<DList Name="gEffFairySparklesDL" Offset="0x37880"/>
|
||||
<Texture Name="gEffFairySparklesTex" OutName="eff_fairy_sparkles" Format="i4" Width="16" Height="16" Offset="0x378E0"/>
|
||||
<DList Name="gEffSparklesDL" Offset="0x37880"/>
|
||||
<Texture Name="gEffSparklesTex" OutName="eff_sparkles" Format="i4" Width="16" Height="16" Offset="0x378E0"/>
|
||||
<Texture Name="gEffUnknown13Tex" OutName="eff_unknown_tex_13" Format="i8" Width="16" Height="32" Offset="0x37960"/>
|
||||
<Texture Name="gEffUnknown14Tex" OutName="eff_unknown_tex_14" Format="i8" Width="16" Height="32" Offset="0x37B60"/>
|
||||
<DList Name="gHoverBootsCircleDL" Offset="0x37E30"/>
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel En_Arrow_InitVars
|
||||
.word 0x00160700, 0x00000030, 0x00010000, 0x00000260
|
||||
.word EnArrow_Init
|
||||
.word EnArrow_Destroy
|
||||
.word EnArrow_Update
|
||||
.word EnArrow_Draw
|
||||
glabel D_809B4D50
|
||||
.word 0x0A090000, 0x08030000, 0x02000000, 0x00000020, 0x00010000, 0xFFCFFFFF, 0x00000000, 0x1D000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_809B4DA0
|
||||
.word 0x3070FF6A
|
||||
glabel D_809B4DA4
|
||||
.word 0x00000000, 0x00040000, 0x00FFC8FF, 0x00FFFFFF, 0x00FFC800, 0x00FFFF00
|
||||
glabel D_809B4DBC
|
||||
.word 0x10000100, 0xFFFFAAFF, 0x00960000
|
||||
glabel D_809B4DC8
|
||||
.word 0x00000000, 0x00040000, 0x00FFC8FF, 0x00FFFFFF, 0x00FFC800, 0x00FFFF00, 0x10000100, 0xFFC800FF, 0xFF000000
|
||||
glabel D_809B4DEC
|
||||
.word 0x00000000, 0x00040000, 0x00FFC8FF, 0x00FFFFFF, 0x00FFC800, 0x00FFFF00, 0x10000100, 0xAAFFFFFF, 0x0064FF00
|
||||
glabel D_809B4E10
|
||||
.word 0x00000000, 0x00040000, 0x00FFC8FF, 0x00FFFFFF, 0x00FFC800, 0x00FFFF00, 0x10000100, 0xFFFFAAFF, 0xFFFF0000
|
||||
glabel D_809B4E34
|
||||
.word 0x00000800, 0x00000020, 0x00000020, 0x00000800, 0x00001000, 0x00002000, 0x00010000, 0x00004000, 0x00008000, 0x00000004
|
||||
glabel D_809B4E5C
|
||||
.word 0x010A010B, 0x010C010A, 0x010A010A
|
||||
glabel D_809B4E68
|
||||
.word 0x00000000, 0x3F000000, 0x00000000
|
||||
glabel D_809B4E74
|
||||
.word 0x00000000, 0x3F000000, 0x00000000
|
||||
glabel D_809B4E80
|
||||
.word 0xFFFF64FF
|
||||
glabel D_809B4E84
|
||||
.word 0xFF320000
|
||||
glabel D_809B4E88
|
||||
.word 0x00000000, 0x43C80000, 0x44BB8000
|
||||
glabel D_809B4E94
|
||||
.word 0x00000000, 0xC3C80000, 0x44BB8000
|
||||
glabel D_809B4EA0
|
||||
.word 0x00000000, 0x00000000, 0xC3960000, 0x00000000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_809B4F70
|
||||
.incbin "baserom/ovl_En_Arrow", 0x1650, 0x00000190
|
3
spec
3
spec
|
@ -1884,8 +1884,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Arrow"
|
||||
include "build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o"
|
||||
include "build/data/overlays/actors/z_en_arrow.data.o"
|
||||
include "build/data/overlays/actors/z_en_arrow.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Arrow/ovl_En_Arrow_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -166,7 +166,7 @@ void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
func_80865ECC(&this->unkPos, &this->actor.world.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
if (arrow->hitFlags & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME);
|
||||
ArrowFire_SetupAction(this, ArrowFire_Hit);
|
||||
this->timer = 32;
|
||||
|
@ -203,7 +203,7 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
tranform = (arrow->hitFlags & 2) ? &this->actor : &arrow->actor;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
func_80867E8C(&this->unkPos, &this->actor.world.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
if (arrow->hitFlags & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE);
|
||||
ArrowIce_SetupAction(this, ArrowIce_Hit);
|
||||
this->timer = 32;
|
||||
|
@ -204,7 +204,7 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
tranform = (arrow->hitFlags & 2) ? &this->actor : &arrow->actor;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610);
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
func_80869E6C(&this->unkPos, &this->actor.world.pos, 0.05f);
|
||||
|
||||
if (arrow->hitWall & 1) {
|
||||
if (arrow->hitFlags & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_LIGHT);
|
||||
ArrowLight_SetupAction(this, ArrowLight_Hit);
|
||||
this->timer = 32;
|
||||
|
@ -204,7 +204,7 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
|
||||
if (1) {}
|
||||
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
|
||||
tranform = (arrow->hitFlags & 2) ? &this->actor : &arrow->actor;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_light.c", 598);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_demo_im.h"
|
||||
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000011
|
||||
|
@ -750,7 +750,7 @@ void func_809865F8(DemoIm* this, GlobalContext* globalCtx, s32 arg2) {
|
|||
f32 spawnPosZ = thisPos->z + (Math_CosS(shapeRotY) * 30.0f);
|
||||
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ARROW, spawnPosX, spawnPosY, spawnPosZ, 0xFA0,
|
||||
this->actor.shape.rot.y, 0, 0xFFF6);
|
||||
this->actor.shape.rot.y, 0, ARROW_CS_NUT);
|
||||
this->unk_27C = 1;
|
||||
}
|
||||
} else {
|
||||
|
@ -1160,18 +1160,17 @@ s32 DemoIm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
|
|||
}
|
||||
}
|
||||
|
||||
if (*unk_2D0 != 0) {
|
||||
if (limbIndex == 15) {
|
||||
*dList = D_0600EDE8;
|
||||
}
|
||||
if ((*unk_2D0 != 0) && (limbIndex == 15)) {
|
||||
*dList = D_0600EDE8;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void DemoIm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
DemoIm* this = THIS;
|
||||
|
||||
if (limbIndex == 0x10) {
|
||||
if (limbIndex == 16) {
|
||||
Vec3f sp28 = D_809887D8;
|
||||
Vec3f dest;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_arow_trap.h"
|
||||
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
#define THIS ((EnArowTrap*)thisx)
|
||||
|
@ -47,7 +47,7 @@ void EnArowTrap_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (this->attackTimer == 0) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ARROW, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, this->actor.shape.rot.x,
|
||||
this->actor.shape.rot.y, this->actor.shape.rot.z, -1);
|
||||
this->actor.shape.rot.y, this->actor.shape.rot.z, ARROW_NORMAL_SILENT);
|
||||
this->attackTimer = 80;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* File: z_en_arrow.c
|
||||
* Overlay: ovl_En_Arrow
|
||||
* Description: Arrows
|
||||
* Description: Arrow, Deku Seed, and Deku Nut Projectile
|
||||
*/
|
||||
|
||||
#include "z_en_arrow.h"
|
||||
|
@ -16,7 +16,11 @@ void EnArrow_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnArrow_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnArrow_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnArrow_Shoot(EnArrow* this, GlobalContext* globalCtx);
|
||||
void EnArrow_Fly(EnArrow* this, GlobalContext* globalCtx);
|
||||
void func_809B45E0(EnArrow* this, GlobalContext* globalCtx);
|
||||
void func_809B4640(EnArrow* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Arrow_InitVars = {
|
||||
ACTOR_EN_ARROW,
|
||||
ACTORCAT_ITEMACTION,
|
||||
|
@ -29,7 +33,7 @@ const ActorInit En_Arrow_InitVars = {
|
|||
(ActorFunc)EnArrow_Draw,
|
||||
};
|
||||
|
||||
static ColliderQuadInit D_809B4D50 = {
|
||||
static ColliderQuadInit sColliderInit = {
|
||||
{
|
||||
COLTYPE_NONE,
|
||||
AT_ON | AT_TYPE_PLAYER,
|
||||
|
@ -48,27 +52,447 @@ static ColliderQuadInit D_809B4D50 = {
|
|||
},
|
||||
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3920.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Init.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_F32(minVelocityY, 65386, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Destroy.s")
|
||||
void EnArrow_SetupAction(EnArrow* this, EnArrowActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3BD4.s")
|
||||
void EnArrow_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static EffectBlureInit2 blureNormal = {
|
||||
0, 4, 0, { 0, 255, 200, 255 }, { 0, 255, 255, 255 }, { 0, 255, 200, 0 }, { 0, 255, 255, 0 }, 16,
|
||||
0, 1, 0, { 255, 255, 170, 255 }, { 0, 150, 0, 0 },
|
||||
};
|
||||
static EffectBlureInit2 blureFire = {
|
||||
0, 4, 0, { 0, 255, 200, 255 }, { 0, 255, 255, 255 }, { 0, 255, 200, 0 }, { 0, 255, 255, 0 }, 16,
|
||||
0, 1, 0, { 255, 200, 0, 255 }, { 255, 0, 0, 0 },
|
||||
};
|
||||
static EffectBlureInit2 blureIce = {
|
||||
0, 4, 0, { 0, 255, 200, 255 }, { 0, 255, 255, 255 }, { 0, 255, 200, 0 }, { 0, 255, 255, 0 }, 16,
|
||||
0, 1, 0, { 170, 255, 255, 255 }, { 0, 100, 255, 0 },
|
||||
};
|
||||
static EffectBlureInit2 blureLight = {
|
||||
0, 4, 0, { 0, 255, 200, 255 }, { 0, 255, 255, 255 }, { 0, 255, 200, 0 }, { 0, 255, 255, 0 }, 16,
|
||||
0, 1, 0, { 255, 255, 170, 255 }, { 255, 255, 0, 0 },
|
||||
};
|
||||
static u32 dmgFlags[] = {
|
||||
0x00000800, 0x00000020, 0x00000020, 0x00000800, 0x00001000,
|
||||
0x00002000, 0x00010000, 0x00004000, 0x00008000, 0x00000004,
|
||||
};
|
||||
EnArrow* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3CEC.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3DD8.s")
|
||||
if (this->actor.params == ARROW_CS_NUT) {
|
||||
this->isCsNut = true;
|
||||
this->actor.params = ARROW_NUT;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3FDC.s")
|
||||
if (this->actor.params <= ARROW_SEED) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B45E0.s")
|
||||
if (this->actor.params <= ARROW_0E) {
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &gArrowSkel, &gArrow2Anim, NULL, NULL, 0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4640.s")
|
||||
if (this->actor.params <= ARROW_NORMAL) {
|
||||
if (this->actor.params == ARROW_NORMAL_HORSE) {
|
||||
blureNormal.elemDuration = 4;
|
||||
} else {
|
||||
blureNormal.elemDuration = 16;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Update.s")
|
||||
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE2, 0, 0, &blureNormal);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4800.s")
|
||||
} else if (this->actor.params == ARROW_FIRE) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Draw.s")
|
||||
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE2, 0, 0, &blureFire);
|
||||
|
||||
} else if (this->actor.params == ARROW_ICE) {
|
||||
|
||||
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE2, 0, 0, &blureIce);
|
||||
|
||||
} else if (this->actor.params == ARROW_LIGHT) {
|
||||
|
||||
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE2, 0, 0, &blureLight);
|
||||
}
|
||||
|
||||
Collider_InitQuad(globalCtx, &this->collider);
|
||||
Collider_SetQuad(globalCtx, &this->collider, &this->actor, &sColliderInit);
|
||||
|
||||
if (this->actor.params <= ARROW_NORMAL) {
|
||||
this->collider.info.toucherFlags &= ~0x18;
|
||||
this->collider.info.toucherFlags |= 0;
|
||||
}
|
||||
|
||||
if (this->actor.params < 0) {
|
||||
this->collider.base.atFlags = (AT_ON | AT_TYPE_ENEMY);
|
||||
} else if (this->actor.params <= ARROW_SEED) {
|
||||
this->collider.info.toucher.dmgFlags = dmgFlags[this->actor.params];
|
||||
LOG_HEX("this->at_info.cl_elem.at_btl_info.at_type", this->collider.info.toucher.dmgFlags, "../z_en_arrow.c",
|
||||
707);
|
||||
}
|
||||
}
|
||||
|
||||
EnArrow_SetupAction(this, EnArrow_Shoot);
|
||||
}
|
||||
|
||||
void EnArrow_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnArrow* this = THIS;
|
||||
|
||||
if (this->actor.params <= ARROW_LIGHT) {
|
||||
Effect_Delete(globalCtx, this->effectIndex);
|
||||
}
|
||||
|
||||
SkelAnime_Free(&this->skelAnime, globalCtx);
|
||||
Collider_DestroyQuad(globalCtx, &this->collider);
|
||||
|
||||
if ((this->hitActor != NULL) && (this->hitActor->update != NULL)) {
|
||||
this->hitActor->flags &= ~0x8000;
|
||||
}
|
||||
}
|
||||
|
||||
void EnArrow_Shoot(EnArrow* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->actor.parent == NULL) {
|
||||
if ((this->actor.params != ARROW_NUT) && (player->unk_A73 == 0)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (this->actor.params) {
|
||||
case ARROW_SEED:
|
||||
func_8002F7DC(&player->actor, NA_SE_IT_SLING_SHOT);
|
||||
break;
|
||||
|
||||
case ARROW_NORMAL_LIT:
|
||||
case ARROW_NORMAL_HORSE:
|
||||
case ARROW_NORMAL:
|
||||
func_8002F7DC(&player->actor, NA_SE_IT_ARROW_SHOT);
|
||||
break;
|
||||
|
||||
case ARROW_FIRE:
|
||||
case ARROW_ICE:
|
||||
case ARROW_LIGHT:
|
||||
func_8002F7DC(&player->actor, NA_SE_IT_MAGIC_ARROW_SHOT);
|
||||
break;
|
||||
}
|
||||
|
||||
EnArrow_SetupAction(this, EnArrow_Fly);
|
||||
Math_Vec3f_Copy(&this->unk_210, &this->actor.world.pos);
|
||||
|
||||
if (this->actor.params >= ARROW_SEED) {
|
||||
func_8002D9A4(&this->actor, 80.0f);
|
||||
this->timer = 15;
|
||||
this->actor.shape.rot.x = this->actor.shape.rot.y = this->actor.shape.rot.z = 0;
|
||||
} else {
|
||||
func_8002D9A4(&this->actor, 150.0f);
|
||||
this->timer = 12;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B3CEC(GlobalContext* globalCtx, EnArrow* this) {
|
||||
EnArrow_SetupAction(this, func_809B4640);
|
||||
Animation_PlayOnce(&this->skelAnime, &gArrow1Anim);
|
||||
this->actor.world.rot.y += (s32)(24576.0f * (Rand_ZeroOne() - 0.5f)) + 0x8000;
|
||||
this->actor.velocity.y += (this->actor.speedXZ * (0.4f + (0.4f * Rand_ZeroOne())));
|
||||
this->actor.speedXZ *= (0.04f + 0.3f * Rand_ZeroOne());
|
||||
this->timer = 50;
|
||||
this->actor.gravity = -1.5f;
|
||||
}
|
||||
|
||||
void EnArrow_CarryActor(EnArrow* this, GlobalContext* globalCtx) {
|
||||
CollisionPoly* hitPoly;
|
||||
Vec3f posDiffLastFrame;
|
||||
Vec3f actorNextPos;
|
||||
Vec3f hitPos;
|
||||
f32 temp_f12;
|
||||
f32 scale;
|
||||
s32 bgId;
|
||||
|
||||
Math_Vec3f_Diff(&this->actor.world.pos, &this->unk_210, &posDiffLastFrame);
|
||||
|
||||
temp_f12 = ((this->actor.world.pos.x - this->hitActor->world.pos.x) * posDiffLastFrame.x) +
|
||||
((this->actor.world.pos.y - this->hitActor->world.pos.y) * posDiffLastFrame.y) +
|
||||
((this->actor.world.pos.z - this->hitActor->world.pos.z) * posDiffLastFrame.z);
|
||||
|
||||
if (!(temp_f12 < 0.0f)) {
|
||||
scale = Math3D_Vec3fMagnitudeSq(&posDiffLastFrame);
|
||||
|
||||
if (!(scale < 1.0f)) {
|
||||
scale = temp_f12 / scale;
|
||||
Math_Vec3f_Scale(&posDiffLastFrame, scale);
|
||||
Math_Vec3f_Sum(&this->hitActor->world.pos, &posDiffLastFrame, &actorNextPos);
|
||||
|
||||
if (BgCheck_EntityLineTest1(&globalCtx->colCtx, &this->hitActor->world.pos, &actorNextPos, &hitPos,
|
||||
&hitPoly, true, true, true, true, &bgId)) {
|
||||
this->hitActor->world.pos.x = hitPos.x + ((actorNextPos.x <= hitPos.x) ? 1.0f : -1.0f);
|
||||
this->hitActor->world.pos.y = hitPos.y + ((actorNextPos.y <= hitPos.y) ? 1.0f : -1.0f);
|
||||
this->hitActor->world.pos.z = hitPos.z + ((actorNextPos.z <= hitPos.z) ? 1.0f : -1.0f);
|
||||
} else {
|
||||
Math_Vec3f_Copy(&this->hitActor->world.pos, &actorNextPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnArrow_Fly(EnArrow* this, GlobalContext* globalCtx) {
|
||||
CollisionPoly* hitPoly;
|
||||
s32 bgId;
|
||||
Vec3f hitPoint;
|
||||
Vec3f posCopy;
|
||||
s32 atTouched;
|
||||
u16 sfxId;
|
||||
Actor* hitActor;
|
||||
Vec3f sp60;
|
||||
Vec3f sp54;
|
||||
|
||||
if (DECR(this->timer) == 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->timer < 7.2000003f) {
|
||||
this->actor.gravity = -0.4f;
|
||||
}
|
||||
|
||||
atTouched = (this->actor.params != ARROW_NORMAL_LIT) && (this->actor.params <= ARROW_SEED) &&
|
||||
(this->collider.base.atFlags & AT_HIT);
|
||||
|
||||
if (atTouched || this->touchedPoly) {
|
||||
if (this->actor.params >= ARROW_SEED) {
|
||||
if (atTouched) {
|
||||
this->actor.world.pos.x = (this->actor.world.pos.x + this->actor.prevPos.x) * 0.5f;
|
||||
this->actor.world.pos.y = (this->actor.world.pos.y + this->actor.prevPos.y) * 0.5f;
|
||||
this->actor.world.pos.z = (this->actor.world.pos.z + this->actor.prevPos.z) * 0.5f;
|
||||
}
|
||||
|
||||
if (this->actor.params == ARROW_NUT) {
|
||||
iREG(50) = -1;
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_M_FIRE1, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0);
|
||||
sfxId = NA_SE_IT_DEKU;
|
||||
} else {
|
||||
sfxId = NA_SE_IT_SLING_REFLECT;
|
||||
}
|
||||
|
||||
EffectSsStone1_Spawn(globalCtx, &this->actor.world.pos, 0);
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 20, sfxId);
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
EffectSsHitMark_SpawnCustomScale(globalCtx, 0, 150, &this->actor.world.pos);
|
||||
|
||||
if (atTouched && (this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) {
|
||||
hitActor = this->collider.base.at;
|
||||
|
||||
if ((hitActor->update != NULL) && (!(this->collider.base.atFlags & AT_BOUNCED)) &&
|
||||
(hitActor->flags & 0x4000)) {
|
||||
this->hitActor = hitActor;
|
||||
EnArrow_CarryActor(this, globalCtx);
|
||||
Math_Vec3f_Diff(&hitActor->world.pos, &this->actor.world.pos, &this->unk_250);
|
||||
hitActor->flags |= 0x8000;
|
||||
this->collider.base.atFlags &= ~AT_HIT;
|
||||
this->actor.speedXZ /= 2.0f;
|
||||
this->actor.velocity.y /= 2.0f;
|
||||
} else {
|
||||
this->hitFlags |= 1;
|
||||
this->hitFlags |= 2;
|
||||
|
||||
if (this->collider.info.atHitInfo->bumperFlags & 2) {
|
||||
this->actor.world.pos.x = this->collider.info.atHitInfo->bumper.hitPos.x;
|
||||
this->actor.world.pos.y = this->collider.info.atHitInfo->bumper.hitPos.y;
|
||||
this->actor.world.pos.z = this->collider.info.atHitInfo->bumper.hitPos.z;
|
||||
}
|
||||
|
||||
func_809B3CEC(globalCtx, this);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_ARROW_STICK_CRE);
|
||||
}
|
||||
} else if (this->touchedPoly) {
|
||||
EnArrow_SetupAction(this, func_809B45E0);
|
||||
Animation_PlayOnce(&this->skelAnime, &gArrow2Anim);
|
||||
|
||||
if (this->actor.params >= ARROW_NORMAL_LIT) {
|
||||
this->timer = 60;
|
||||
} else {
|
||||
this->timer = 20;
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_ARROW_STICK_OBJ);
|
||||
this->hitFlags |= 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Math_Vec3f_Copy(&this->unk_210, &this->actor.world.pos);
|
||||
Actor_MoveForward(&this->actor);
|
||||
|
||||
if (this->touchedPoly =
|
||||
BgCheck_ProjectileLineTest(&globalCtx->colCtx, &this->actor.prevPos, &this->actor.world.pos, &hitPoint,
|
||||
&this->actor.wallPoly, true, true, true, true, &bgId)) {
|
||||
func_8002F9EC(globalCtx, &this->actor, this->actor.wallPoly, bgId, &hitPoint);
|
||||
Math_Vec3f_Copy(&posCopy, &this->actor.world.pos);
|
||||
Math_Vec3f_Copy(&this->actor.world.pos, &hitPoint);
|
||||
}
|
||||
|
||||
if (this->actor.params <= ARROW_0E) {
|
||||
this->actor.shape.rot.x = Math_Atan2S(this->actor.speedXZ, -this->actor.velocity.y);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->hitActor != NULL) {
|
||||
if (this->hitActor->update != NULL) {
|
||||
Math_Vec3f_Sum(&this->unk_210, &this->unk_250, &sp60);
|
||||
Math_Vec3f_Sum(&this->actor.world.pos, &this->unk_250, &sp54);
|
||||
|
||||
if (BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp60, &sp54, &hitPoint, &hitPoly, true, true, true, true,
|
||||
&bgId)) {
|
||||
this->hitActor->world.pos.x = hitPoint.x + ((sp54.x <= hitPoint.x) ? 1.0f : -1.0f);
|
||||
this->hitActor->world.pos.y = hitPoint.y + ((sp54.y <= hitPoint.y) ? 1.0f : -1.0f);
|
||||
this->hitActor->world.pos.z = hitPoint.z + ((sp54.z <= hitPoint.z) ? 1.0f : -1.0f);
|
||||
Math_Vec3f_Diff(&this->hitActor->world.pos, &this->actor.world.pos, &this->unk_250);
|
||||
this->hitActor->flags &= ~0x8000;
|
||||
this->hitActor = NULL;
|
||||
} else {
|
||||
Math_Vec3f_Sum(&this->actor.world.pos, &this->unk_250, &this->hitActor->world.pos);
|
||||
}
|
||||
|
||||
if (this->touchedPoly && (this->hitActor != NULL)) {
|
||||
this->hitActor->flags &= ~0x8000;
|
||||
this->hitActor = NULL;
|
||||
}
|
||||
} else {
|
||||
this->hitActor = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B45E0(EnArrow* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
if (DECR(this->timer) == 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B4640(EnArrow* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
Actor_MoveForward(&this->actor);
|
||||
|
||||
if (DECR(this->timer) == 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnArrow_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnArrow* this = THIS;
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->isCsNut || ((this->actor.params >= ARROW_NORMAL_LIT) && (player->unk_A73 != 0)) ||
|
||||
!Player_InBlockingCsMode(globalCtx, player)) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
if ((this->actor.params >= ARROW_FIRE) && (this->actor.params <= ARROW_0E)) {
|
||||
s16 elementalActorIds[] = { ACTOR_ARROW_FIRE, ACTOR_ARROW_ICE, ACTOR_ARROW_LIGHT,
|
||||
ACTOR_ARROW_FIRE, ACTOR_ARROW_FIRE, ACTOR_ARROW_FIRE };
|
||||
|
||||
if (this->actor.child == NULL) {
|
||||
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, elementalActorIds[this->actor.params - 3],
|
||||
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0,
|
||||
0);
|
||||
}
|
||||
} else if (this->actor.params == ARROW_NORMAL_LIT) {
|
||||
static Vec3f velocity = { 0.0f, 0.5f, 0.0f };
|
||||
static Vec3f accel = { 0.0f, 0.5f, 0.0f };
|
||||
static Color_RGBA8 primColor = { 255, 255, 100, 255 };
|
||||
static Color_RGBA8 envColor = { 255, 50, 0, 0 };
|
||||
// spawn dust for the flame
|
||||
func_8002836C(globalCtx, &this->unk_21C, &velocity, &accel, &primColor, &envColor, 100, 0, 8);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B4800(EnArrow* this, GlobalContext* globalCtx) {
|
||||
static Vec3f D_809B4E88 = { 0.0f, 400.0f, 1500.0f };
|
||||
static Vec3f D_809B4E94 = { 0.0f, -400.0f, 1500.0f };
|
||||
static Vec3f D_809B4EA0 = { 0.0f, 0.0f, -300.0f };
|
||||
Vec3f sp44;
|
||||
Vec3f sp38;
|
||||
s32 addBlureVertex;
|
||||
|
||||
Matrix_MultVec3f(&D_809B4EA0, &this->unk_21C);
|
||||
|
||||
if (EnArrow_Fly == this->actionFunc) {
|
||||
Matrix_MultVec3f(&D_809B4E88, &sp44);
|
||||
Matrix_MultVec3f(&D_809B4E94, &sp38);
|
||||
|
||||
if (this->actor.params <= ARROW_SEED) {
|
||||
addBlureVertex = this->actor.params <= ARROW_LIGHT;
|
||||
|
||||
if (this->hitActor == NULL) {
|
||||
addBlureVertex &= func_80090480(globalCtx, &this->collider, &this->weaponInfo, &sp44, &sp38);
|
||||
} else {
|
||||
if (addBlureVertex) {
|
||||
if ((sp44.x == this->weaponInfo.tip.x) && (sp44.y == this->weaponInfo.tip.y) &&
|
||||
(sp44.z == this->weaponInfo.tip.z) && (sp38.x == this->weaponInfo.base.x) &&
|
||||
(sp38.y == this->weaponInfo.base.y) && (sp38.z == this->weaponInfo.base.z)) {
|
||||
addBlureVertex = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (addBlureVertex) {
|
||||
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &sp44, &sp38);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnArrow_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnArrow* this = THIS;
|
||||
u8 alpha;
|
||||
f32 scale;
|
||||
|
||||
if (this->actor.params <= ARROW_0E) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawLod(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, this,
|
||||
(this->actor.projectedPos.z < MREG(95)) ? 0 : 1);
|
||||
} else if (this->actor.speedXZ != 0.0f) {
|
||||
alpha = (Math_CosS(this->timer * 5000) * 127.5f) + 127.5f;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_arrow.c", 1346);
|
||||
|
||||
func_80093C14(globalCtx->state.gfxCtx);
|
||||
|
||||
if (this->actor.params == ARROW_SEED) {
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, alpha);
|
||||
scale = 50.0f;
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 12, 0, 0, 255);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 250, 250, 0, alpha);
|
||||
scale = 150.0f;
|
||||
}
|
||||
|
||||
Matrix_Push();
|
||||
Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
|
||||
// redundant check because this is contained in an if block for non-zero speed
|
||||
Matrix_RotateZ((this->actor.speedXZ == 0.0f) ? 0.0f
|
||||
: ((globalCtx->gameplayFrames & 0xFF) * 4000) * (M_PI / 32768),
|
||||
MTXMODE_APPLY);
|
||||
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_arrow.c", 1374),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gEffSparklesDL);
|
||||
Matrix_Pull();
|
||||
Matrix_RotateY(this->actor.world.rot.y * (M_PI / 32768), MTXMODE_APPLY);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_arrow.c", 1381);
|
||||
}
|
||||
|
||||
func_809B4800(this, globalCtx);
|
||||
}
|
||||
|
|
|
@ -6,16 +6,41 @@
|
|||
|
||||
struct EnArrow;
|
||||
|
||||
typedef void (*EnArrowActionFunc)(struct EnArrow*, GlobalContext*);
|
||||
|
||||
typedef struct EnArrow {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x5C];
|
||||
/* 0x01A8 */ s32 unk_1A8; // related to arrows being on fire
|
||||
/* 0x01AC */ char unk_1AC[0x9C];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ ColliderQuad collider;
|
||||
/* 0x0210 */ Vec3f unk_210;
|
||||
/* 0x021C */ Vec3f unk_21C;
|
||||
/* 0x0228 */ s32 effectIndex;
|
||||
/* 0x022C */ WeaponInfo weaponInfo;
|
||||
/* 0x0248 */ u8 timer; // used for dissapearing when flying or hitting a wall
|
||||
/* 0x0249 */ u8 hitWall;
|
||||
/* 0x024A */ char unk_24A[0x16];
|
||||
/* 0x0249 */ u8 hitFlags;
|
||||
/* 0x024A */ u8 touchedPoly;
|
||||
/* 0x024B */ u8 isCsNut;
|
||||
/* 0x024C */ Actor* hitActor;
|
||||
/* 0x0250 */ Vec3f unk_250;
|
||||
/* 0x025C */ EnArrowActionFunc actionFunc;
|
||||
} EnArrow; // size = 0x0260
|
||||
|
||||
typedef enum {
|
||||
/* -10 */ ARROW_CS_NUT = -10, // cutscene deku nuts are allowed to update in blocking mode
|
||||
/* -1 */ ARROW_NORMAL_SILENT = -1, // normal arrow that does not make a sound when being shot
|
||||
/* 0 */ ARROW_NORMAL_LIT, // normal arrow lit on fire
|
||||
/* 1 */ ARROW_NORMAL_HORSE, // normal arrow shot while riding a horse
|
||||
/* 2 */ ARROW_NORMAL,
|
||||
/* 3 */ ARROW_FIRE,
|
||||
/* 4 */ ARROW_ICE,
|
||||
/* 5 */ ARROW_LIGHT,
|
||||
/* 6 */ ARROW_0C,
|
||||
/* 7 */ ARROW_0D,
|
||||
/* 8 */ ARROW_0E,
|
||||
/* 9 */ ARROW_SEED,
|
||||
/* 10 */ ARROW_NUT
|
||||
} ArrowType;
|
||||
|
||||
extern const ActorInit En_Arrow_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,15 +9,15 @@ struct EnBoom;
|
|||
typedef void (*EnBoomActionFunc)(struct EnBoom*, GlobalContext*);
|
||||
|
||||
typedef struct EnBoom {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ColliderQuad collider;
|
||||
/* 0x01CC */ Actor* moveTo; // actor boomerang moves toward
|
||||
/* 0x01D0 */ Actor* grabbed; // actor grabbed by the boomerang
|
||||
/* 0x01D4 */ u8 returnTimer; // returns to Link when 0
|
||||
/* 0x01D5 */ u8 activeTimer; // increments once every update
|
||||
/* 0x01D8 */ s32 effectIndex; // set by Effect_Add
|
||||
/* 0x01DC */ WeaponInfo boomerangInfo;
|
||||
/* 0x01F8 */ EnBoomActionFunc actionFunc;
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ColliderQuad collider;
|
||||
/* 0x01CC */ Actor* moveTo; // actor boomerang moves toward
|
||||
/* 0x01D0 */ Actor* grabbed; // actor grabbed by the boomerang
|
||||
/* 0x01D4 */ u8 returnTimer; // returns to Link when 0
|
||||
/* 0x01D5 */ u8 activeTimer; // increments once every update
|
||||
/* 0x01D8 */ s32 effectIndex;
|
||||
/* 0x01DC */ WeaponInfo boomerangInfo;
|
||||
/* 0x01F8 */ EnBoomActionFunc actionFunc;
|
||||
} EnBoom; // size = 0x01FC
|
||||
|
||||
extern const ActorInit En_Boom_InitVars;
|
||||
|
|
|
@ -197,7 +197,7 @@ void ObjSyokudai_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
|||
arrow = (EnArrow*)this->colliderFlame.base.ac;
|
||||
if ((arrow->actor.update != NULL) && (arrow->actor.id == ACTOR_EN_ARROW)) {
|
||||
arrow->actor.params = 0;
|
||||
arrow->unk_1A8 = 0x800;
|
||||
arrow->collider.info.toucher.dmgFlags = 0x800;
|
||||
}
|
||||
}
|
||||
if ((0 <= this->litTimer) && (this->litTimer < (50 * litTimeScale + 100)) && (torchType != 0)) {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.h"
|
||||
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
|
||||
#include "overlays/actors/ovl_En_Boom/z_en_boom.h"
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
#include "overlays/actors/ovl_En_Box/z_en_box.h"
|
||||
#include "overlays/actors/ovl_En_Door/z_en_door.h"
|
||||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
|
@ -33,7 +34,8 @@ typedef struct {
|
|||
#define CHEST_ANIM_SHORT 0
|
||||
#define CHEST_ANIM_LONG 1
|
||||
|
||||
#define GET_ITEM_NONE { ITEM_NONE, 0, 0, 0, 0 }
|
||||
#define GET_ITEM_NONE \
|
||||
{ ITEM_NONE, 0, 0, 0, 0 }
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 itemId;
|
||||
|
@ -1931,13 +1933,13 @@ s32 func_80834380(GlobalContext* globalCtx, Player* this, s32* itemPtr, s32* typ
|
|||
if (LINK_IS_ADULT) {
|
||||
*itemPtr = ITEM_BOW;
|
||||
if (this->stateFlags1 & 0x800000) {
|
||||
*typePtr = 1;
|
||||
*typePtr = ARROW_NORMAL_HORSE;
|
||||
} else {
|
||||
*typePtr = this->heldItemActionParam - 6;
|
||||
}
|
||||
} else {
|
||||
*itemPtr = ITEM_SLINGSHOT;
|
||||
*typePtr = 9;
|
||||
*typePtr = ARROW_SEED;
|
||||
}
|
||||
|
||||
if (gSaveContext.minigameState == 1) {
|
||||
|
@ -1967,12 +1969,12 @@ s32 func_8083442C(Player* this, GlobalContext* globalCtx) {
|
|||
func_8002F7DC(&this->actor, D_80854398[ABS(this->unk_860) - 1]);
|
||||
|
||||
if (!Player_HoldsHookshot(this) && (func_80834380(globalCtx, this, &item, &arrowType) > 0)) {
|
||||
magicArrowType = arrowType - 3;
|
||||
magicArrowType = arrowType - ARROW_FIRE;
|
||||
|
||||
if (this->unk_860 >= 0) {
|
||||
if ((magicArrowType >= 0) && (magicArrowType < 3) &&
|
||||
if ((magicArrowType >= 0) && (magicArrowType <= 2) &&
|
||||
!func_80087708(globalCtx, sMagicArrowCosts[magicArrowType], 0)) {
|
||||
arrowType = 2;
|
||||
arrowType = ARROW_NORMAL;
|
||||
}
|
||||
|
||||
this->heldActor = Actor_SpawnAsChild(
|
||||
|
@ -9034,7 +9036,8 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
|||
titleFileSize = scene->titleFile.vromEnd - scene->titleFile.vromStart;
|
||||
if ((titleFileSize != 0) && gSaveContext.showTitleCard) {
|
||||
if ((gSaveContext.sceneSetupIndex < 4) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.entranceIndex) + ((void)0, gSaveContext.sceneSetupIndex)].field & 0x4000) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.entranceIndex) + ((void)0, gSaveContext.sceneSetupIndex)].field &
|
||||
0x4000) &&
|
||||
((globalCtx->sceneNum != SCENE_DDAN) || (gSaveContext.eventChkInf[11] & 1)) &&
|
||||
((globalCtx->sceneNum != SCENE_NIGHT_SHOP) || (gSaveContext.eventChkInf[2] & 0x20))) {
|
||||
TitleCard_InitPlaceName(globalCtx, &globalCtx->actorCtx.titleCtx, this->giObjectSegment, 0xA0, 0x78,
|
||||
|
|
|
@ -41,12 +41,12 @@ u32 EffectSsKiraKira_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, v
|
|||
|
||||
if ((this->life = initParams->life) < 0) {
|
||||
this->life = -this->life;
|
||||
this->gfx = SEGMENTED_TO_VIRTUAL(gEffFairySparklesDL);
|
||||
this->gfx = SEGMENTED_TO_VIRTUAL(gEffSparklesDL);
|
||||
this->update = func_809AAD6C;
|
||||
this->rEnvColorA = initParams->scale;
|
||||
this->rScale = 0;
|
||||
} else {
|
||||
this->gfx = SEGMENTED_TO_VIRTUAL(gEffFairySparklesDL);
|
||||
this->gfx = SEGMENTED_TO_VIRTUAL(gEffSparklesDL);
|
||||
|
||||
if (initParams->updateMode == 0) {
|
||||
this->update = func_809AABF0;
|
||||
|
|
Loading…
Add table
Reference in a new issue