1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 11:03:46 +00:00

Some actor.c docs (in preparation for en_test) (#820)

* renames

* format

* format functions.h

* clean

* arg name

* remove asm
This commit is contained in:
fig02 2021-06-21 19:51:04 -04:00 committed by GitHub
parent 7984c1c514
commit 0a35c752e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
109 changed files with 424 additions and 359 deletions

View file

@ -25,7 +25,7 @@ glabel func_808FD4D4
/* 005EC 808FD52C 260601D0 */ addiu $a2, $s0, 0x01D0 ## $a2 = 000001D0
/* 005F0 808FD530 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 005F4 808FD534 AFAF0010 */ sw $t7, 0x0010($sp)
/* 005F8 808FD538 0C00CC98 */ jal func_80033260
/* 005F8 808FD538 0C00CC98 */ jal Actor_SpawnFloorDust
/* 005FC 808FD53C E7A40014 */ swc1 $f4, 0x0014($sp)
.L808FD540:
/* 00600 808FD540 87A90042 */ lh $t1, 0x0042($sp)
@ -47,7 +47,7 @@ glabel func_808FD4D4
/* 0063C 808FD57C 260601DC */ addiu $a2, $s0, 0x01DC ## $a2 = 000001DC
/* 00640 808FD580 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 00644 808FD584 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00648 808FD588 0C00CC98 */ jal func_80033260
/* 00648 808FD588 0C00CC98 */ jal Actor_SpawnFloorDust
/* 0064C 808FD58C E7A60014 */ swc1 $f6, 0x0014($sp)
.L808FD590:
/* 00650 808FD590 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000

View file

@ -163,7 +163,7 @@ glabel func_80921280
/* 05948 80921448 A22E00AF */ sb $t6, 0x00AF($s1) ## 000000AF
/* 0594C 8092144C 8FA40074 */ lw $a0, 0x0074($sp)
.L80921450:
/* 05950 80921450 0C00CB1F */ jal func_80032C7C
/* 05950 80921450 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 05954 80921454 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 05958 80921458 3C041001 */ lui $a0, 0x1001 ## $a0 = 10010000
/* 0595C 8092145C 0C03E803 */ jal Audio_SetBGM

View file

@ -58,7 +58,7 @@ glabel func_80949CE4
/* 110E8 80949DB8 0C24FC42 */ jal func_8093F108
/* 110EC 80949DBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 110F0 80949DC0 8FA4002C */ lw $a0, 0x002C($sp)
/* 110F4 80949DC4 0C00CB1F */ jal func_80032C7C
/* 110F4 80949DC4 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 110F8 80949DC8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 110FC 80949DCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 11100 80949DD0 0C00BE0A */ jal Audio_PlayActorSound2

View file

@ -153,7 +153,7 @@ glabel func_80952858
/* 0378C 80952A4C 0C254CD7 */ jal func_8095335C
/* 03790 80952A50 8FA5005C */ lw $a1, 0x005C($sp)
/* 03794 80952A54 8FA4005C */ lw $a0, 0x005C($sp)
/* 03798 80952A58 0C00CB1F */ jal func_80032C7C
/* 03798 80952A58 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 0379C 80952A5C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 037A0 80952A60 1000023A */ beq $zero, $zero, .L8095334C
/* 037A4 80952A64 8FBF0034 */ lw $ra, 0x0034($sp)

View file

@ -92,14 +92,14 @@ glabel func_809BDC08
/* 010CC 809BDD2C 00000000 */ nop
/* 010D0 809BDD30 45020014 */ bc1fl .L809BDD84
/* 010D4 809BDD34 3C01437A */ lui $at, 0x437A ## $at = 437A0000
/* 010D8 809BDD38 0C00B821 */ jal func_8002E084
/* 010D8 809BDD38 0C00B821 */ jal Actor_IsFacingPlayer
/* 010DC 809BDD3C A7A30036 */ sh $v1, 0x0036($sp)
/* 010E0 809BDD40 1440000F */ bne $v0, $zero, .L809BDD80
/* 010E4 809BDD44 87A30036 */ lh $v1, 0x0036($sp)
/* 010E8 809BDD48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010EC 809BDD4C 24052000 */ addiu $a1, $zero, 0x2000 ## $a1 = 00002000
/* 010F0 809BDD50 8FA60044 */ lw $a2, 0x0044($sp)
/* 010F4 809BDD54 0C00B7F2 */ jal func_8002DFC8
/* 010F4 809BDD54 0C00B7F2 */ jal Player_IsFacingActor
/* 010F8 809BDD58 A7A30036 */ sh $v1, 0x0036($sp)
/* 010FC 809BDD5C 14400008 */ bne $v0, $zero, .L809BDD80
/* 01100 809BDD60 87A30036 */ lh $v1, 0x0036($sp)
@ -122,7 +122,7 @@ glabel func_809BDC08
/* 01138 809BDD98 00000000 */ nop
/* 0113C 809BDD9C 45020015 */ bc1fl .L809BDDF4
/* 01140 809BDDA0 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050
/* 01144 809BDDA4 0C00B821 */ jal func_8002E084
/* 01144 809BDDA4 0C00B821 */ jal Actor_IsFacingPlayer
/* 01148 809BDDA8 A7A30036 */ sh $v1, 0x0036($sp)
/* 0114C 809BDDAC 14400010 */ bne $v0, $zero, .L809BDDF0
/* 01150 809BDDB0 87A30036 */ lh $v1, 0x0036($sp)

View file

@ -37,7 +37,7 @@ glabel func_809BE8DC
/* 01D00 809BE960 10000016 */ beq $zero, $zero, .L809BE9BC
/* 01D04 809BE964 8FBF001C */ lw $ra, 0x001C($sp)
.L809BE968:
/* 01D08 809BE968 0C00B821 */ jal func_8002E084
/* 01D08 809BE968 0C00B821 */ jal Actor_IsFacingPlayer
/* 01D0C 809BE96C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 01D10 809BE970 54400012 */ bnel $v0, $zero, .L809BE9BC
/* 01D14 809BE974 8FBF001C */ lw $ra, 0x001C($sp)
@ -51,7 +51,7 @@ glabel func_809BE8DC
/* 01D30 809BE990 24053909 */ addiu $a1, $zero, 0x3909 ## $a1 = 00003909
/* 01D34 809BE994 8FA40024 */ lw $a0, 0x0024($sp)
/* 01D38 809BE998 0C00CB1F */ jal func_80032C7C
/* 01D38 809BE998 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 01D3C 809BE99C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01D40 809BE9A0 10000003 */ beq $zero, $zero, .L809BE9B0
/* 01D44 809BE9A4 00000000 */ nop

View file

@ -139,7 +139,7 @@ glabel func_809E7104
/* 01B24 809E72F4 29E10004 */ slti $at, $t7, 0x0004
/* 01B28 809E72F8 5420000A */ bnel $at, $zero, .L809E7324
/* 01B2C 809E72FC 8FA40034 */ lw $a0, 0x0034($sp)
/* 01B30 809E7300 0C00B821 */ jal func_8002E084
/* 01B30 809E7300 0C00B821 */ jal Actor_IsFacingPlayer
/* 01B34 809E7304 2405016C */ addiu $a1, $zero, 0x016C ## $a1 = 0000016C
/* 01B38 809E7308 14400005 */ bne $v0, $zero, .L809E7320
/* 01B3C 809E730C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6

View file

@ -12,7 +12,7 @@ glabel func_809E8140
/* 02998 809E8168 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 0299C 809E816C A08F0249 */ sb $t7, 0x0249($a0) ## 00000249
/* 029A0 809E8170 26250238 */ addiu $a1, $s1, 0x0238 ## $a1 = 00000238
/* 029A4 809E8174 0C00D5CF */ jal func_8003573C
/* 029A4 809E8174 0C00D5CF */ jal Actor_SetDropFlagJntSph
/* 029A8 809E8178 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 029AC 809E817C 9238024C */ lbu $t8, 0x024C($s1) ## 0000024C
/* 029B0 809E8180 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
@ -173,7 +173,7 @@ glabel func_809E8140
/* 02BD0 809E83A0 1000000F */ beq $zero, $zero, .L809E83E0
/* 02BD4 809E83A4 8FBF002C */ lw $ra, 0x002C($sp)
.L809E83A8:
/* 02BD8 809E83A8 0C00CB1F */ jal func_80032C7C
/* 02BD8 809E83A8 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 02BDC 809E83AC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 02BE0 809E83B0 862B001C */ lh $t3, 0x001C($s1) ## 0000001C
/* 02BE4 809E83B4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001

View file

@ -84,13 +84,13 @@ glabel L8085FA00
/* 003E0 8085FA30 00000000 */ nop
/* 003E4 8085FA34 4500000F */ bc1f .L8085FA74
/* 003E8 8085FA38 00000000 */ nop
/* 003EC 8085FA3C 0C00B821 */ jal func_8002E084
/* 003EC 8085FA3C 0C00B821 */ jal Actor_IsFacingPlayer
/* 003F0 8085FA40 AFA60018 */ sw $a2, 0x0018($sp)
/* 003F4 8085FA44 1040000B */ beq $v0, $zero, .L8085FA74
/* 003F8 8085FA48 8FA60018 */ lw $a2, 0x0018($sp)
/* 003FC 8085FA4C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00400 8085FA50 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 00404 8085FA54 0C00CEA1 */ jal func_80033A84
/* 00404 8085FA54 0C00CEA1 */ jal Actor_IsTargeted
/* 00408 8085FA58 AFA60018 */ sw $a2, 0x0018($sp)
/* 0040C 8085FA5C 10400005 */ beq $v0, $zero, .L8085FA74
/* 00410 8085FA60 8FA60018 */ lw $a2, 0x0018($sp)

View file

@ -158,14 +158,14 @@ glabel L8085FBE0
/* 00660 8085FCB0 45000011 */ bc1f .L8085FCF8
/* 00664 8085FCB4 00000000 */ nop
/* 00668 8085FCB8 AFA60020 */ sw $a2, 0x0020($sp)
/* 0066C 8085FCBC 0C00B821 */ jal func_8002E084
/* 0066C 8085FCBC 0C00B821 */ jal Actor_IsFacingPlayer
/* 00670 8085FCC0 AFA70024 */ sw $a3, 0x0024($sp)
/* 00674 8085FCC4 8FA60020 */ lw $a2, 0x0020($sp)
/* 00678 8085FCC8 1040003D */ beq $v0, $zero, .L8085FDC0
/* 0067C 8085FCCC 8FA70024 */ lw $a3, 0x0024($sp)
/* 00680 8085FCD0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00684 8085FCD4 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 00688 8085FCD8 0C00CEA1 */ jal func_80033A84
/* 00688 8085FCD8 0C00CEA1 */ jal Actor_IsTargeted
/* 0068C 8085FCDC AFA60020 */ sw $a2, 0x0020($sp)
/* 00690 8085FCE0 14400037 */ bne $v0, $zero, .L8085FDC0
/* 00694 8085FCE4 8FA60020 */ lw $a2, 0x0020($sp)

View file

@ -82,7 +82,7 @@ glabel func_808600EC
/* 00B94 808601E4 10000047 */ beq $zero, $zero, .L80860304
/* 00B98 808601E8 AE0B07E8 */ sw $t3, 0x07E8($s0) ## 000007E8
.L808601EC:
/* 00B9C 808601EC 0C00B821 */ jal func_8002E084
/* 00B9C 808601EC 0C00B821 */ jal Actor_IsFacingPlayer
/* 00BA0 808601F0 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 00BA4 808601F4 10400034 */ beq $v0, $zero, .L808602C8
/* 00BA8 808601F8 3C01435C */ lui $at, 0x435C ## $at = 435C0000
@ -109,7 +109,7 @@ glabel func_808600EC
/* 00BF8 80860248 00000000 */ nop
/* 00BFC 8086024C 4500000D */ bc1f .L80860284
/* 00C00 80860250 00000000 */ nop
/* 00C04 80860254 0C00CEA1 */ jal func_80033A84
/* 00C04 80860254 0C00CEA1 */ jal Actor_IsTargeted
/* 00C08 80860258 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00C0C 8086025C 10400005 */ beq $v0, $zero, .L80860274
/* 00C10 80860260 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000

View file

@ -34,7 +34,7 @@ glabel func_808604FC
/* 00EF0 80860540 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00EF4 80860544 AE1807E8 */ sw $t8, 0x07E8($s0) ## 000007E8
/* 00EF8 80860548 E7A20068 */ swc1 $f2, 0x0068($sp)
/* 00EFC 8086054C 0C00CEAE */ jal func_80033AB8
/* 00EFC 8086054C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00F00 80860550 8FA40074 */ lw $a0, 0x0074($sp)
/* 00F04 80860554 10400004 */ beq $v0, $zero, .L80860568
/* 00F08 80860558 C7A20068 */ lwc1 $f2, 0x0068($sp)
@ -361,11 +361,11 @@ glabel func_808604FC
/* 01378 808609C8 00000000 */ nop
/* 0137C 808609CC 4500002D */ bc1f .L80860A84
/* 01380 808609D0 00000000 */ nop
/* 01384 808609D4 0C00B821 */ jal func_8002E084
/* 01384 808609D4 0C00B821 */ jal Actor_IsFacingPlayer
/* 01388 808609D8 2405071C */ addiu $a1, $zero, 0x071C ## $a1 = 0000071C
/* 0138C 808609DC 10400029 */ beq $v0, $zero, .L80860A84
/* 01390 808609E0 8FA40074 */ lw $a0, 0x0074($sp)
/* 01394 808609E4 0C00CEA1 */ jal func_80033A84
/* 01394 808609E4 0C00CEA1 */ jal Actor_IsTargeted
/* 01398 808609E8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0139C 808609EC 1040000D */ beq $v0, $zero, .L80860A24
/* 013A0 808609F0 8FA80054 */ lw $t0, 0x0054($sp)
@ -424,7 +424,7 @@ glabel func_808604FC
/* 0145C 80860AAC A6020032 */ sh $v0, 0x0032($s0) ## 00000032
/* 01460 80860AB0 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
.L80860AB4:
/* 01464 80860AB4 0C00B821 */ jal func_8002E084
/* 01464 80860AB4 0C00B821 */ jal Actor_IsFacingPlayer
/* 01468 80860AB8 240511C7 */ addiu $a1, $zero, 0x11C7 ## $a1 = 000011C7
/* 0146C 80860ABC 1440000E */ bne $v0, $zero, .L80860AF8
/* 01470 80860AC0 3C0142DC */ lui $at, 0x42DC ## $at = 42DC0000

View file

@ -154,7 +154,7 @@ glabel func_80860C24
/* 017D8 80860E28 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
.L80860E2C:
/* 017DC 80860E2C 2405071C */ addiu $a1, $zero, 0x071C ## $a1 = 0000071C
/* 017E0 80860E30 0C00B821 */ jal func_8002E084
/* 017E0 80860E30 0C00B821 */ jal Actor_IsFacingPlayer
/* 017E4 80860E34 AFA60028 */ sw $a2, 0x0028($sp)
/* 017E8 80860E38 1040001D */ beq $v0, $zero, .L80860EB0
/* 017EC 80860E3C 8FA60028 */ lw $a2, 0x0028($sp)

View file

@ -153,7 +153,7 @@ glabel func_80860F84
.L80861198:
/* 01B48 80861198 8FA4004C */ lw $a0, 0x004C($sp)
.L8086119C:
/* 01B4C 8086119C 0C00CEAE */ jal func_80033AB8
/* 01B4C 8086119C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 01B50 808611A0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01B54 808611A4 10400004 */ beq $v0, $zero, .L808611B8
/* 01B58 808611A8 3C014348 */ lui $at, 0x4348 ## $at = 43480000

View file

@ -42,7 +42,7 @@ glabel func_808619EC
/* 02428 80861A78 00000000 */ nop
/* 0242C 80861A7C 45020017 */ bc1fl .L80861ADC
/* 02430 80861A80 44818000 */ mtc1 $at, $f16 ## $f16 = 220.00
/* 02434 80861A84 0C00B821 */ jal func_8002E084
/* 02434 80861A84 0C00B821 */ jal Actor_IsFacingPlayer
/* 02438 80861A88 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 0243C 80861A8C 10400005 */ beq $v0, $zero, .L80861AA4
/* 02440 80861A90 00000000 */ nop
@ -72,7 +72,7 @@ glabel func_808619EC
/* 02494 80861AE4 00000000 */ nop
/* 02498 80861AE8 45000009 */ bc1f .L80861B10
/* 0249C 80861AEC 00000000 */ nop
/* 024A0 80861AF0 0C00B821 */ jal func_8002E084
/* 024A0 80861AF0 0C00B821 */ jal Actor_IsFacingPlayer
/* 024A4 80861AF4 24050E38 */ addiu $a1, $zero, 0x0E38 ## $a1 = 00000E38
/* 024A8 80861AF8 10400005 */ beq $v0, $zero, .L80861B10
/* 024AC 80861AFC 00000000 */ nop

View file

@ -5,7 +5,7 @@ glabel func_808627C4
/* 03180 808627D0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 03184 808627D4 AFA5002C */ sw $a1, 0x002C($sp)
/* 03188 808627D8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0318C 808627DC 0C00CEAE */ jal func_80033AB8
/* 0318C 808627DC 0C00CEAE */ jal Actor_OtherIsTargeted
/* 03190 808627E0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03194 808627E4 10400005 */ beq $v0, $zero, .L808627FC
/* 03198 808627E8 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188

View file

@ -152,7 +152,7 @@ glabel func_808628C8
/* 0347C 80862ACC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03480 80862AD0 254B3FFF */ addiu $t3, $t2, 0x3FFF ## $t3 = 00003FFF
/* 03484 80862AD4 A60B0032 */ sh $t3, 0x0032($s0) ## 00000032
/* 03488 80862AD8 0C00CEAE */ jal func_80033AB8
/* 03488 80862AD8 0C00CEAE */ jal Actor_OtherIsTargeted
/* 0348C 80862ADC 8FA40054 */ lw $a0, 0x0054($sp)
/* 03490 80862AE0 10400004 */ beq $v0, $zero, .L80862AF4
/* 03494 80862AE4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
@ -309,7 +309,7 @@ glabel func_808628C8
/* 036A0 80862CF0 8FA40054 */ lw $a0, 0x0054($sp)
/* 036A4 80862CF4 1440002B */ bne $v0, $zero, .L80862DA4
/* 036A8 80862CF8 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 036AC 80862CFC 0C00CEAE */ jal func_80033AB8
/* 036AC 80862CFC 0C00CEAE */ jal Actor_OtherIsTargeted
/* 036B0 80862D00 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 036B4 80862D04 10400005 */ beq $v0, $zero, .L80862D1C
/* 036B8 80862D08 8FA40054 */ lw $a0, 0x0054($sp)
@ -318,7 +318,7 @@ glabel func_808628C8
/* 036C4 80862D14 10000025 */ beq $zero, $zero, .L80862DAC
/* 036C8 80862D18 8FBF0024 */ lw $ra, 0x0024($sp)
.L80862D1C:
/* 036CC 80862D1C 0C00CEA1 */ jal func_80033A84
/* 036CC 80862D1C 0C00CEA1 */ jal Actor_IsTargeted
/* 036D0 80862D20 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 036D4 80862D24 1040000A */ beq $v0, $zero, .L80862D50
/* 036D8 80862D28 8FAB0048 */ lw $t3, 0x0048($sp)

View file

@ -44,7 +44,7 @@ glabel func_808634F8
/* 03F48 80863598 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
/* 03F4C 8086359C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 03F50 808635A0 A20D07DC */ sb $t5, 0x07DC($s0) ## 000007DC
/* 03F54 808635A4 0C00D594 */ jal func_80035650
/* 03F54 808635A4 0C00D594 */ jal Actor_SetDropFlag
/* 03F58 808635A8 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 03F5C 808635AC 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
/* 03F60 808635B0 0C03E291 */ jal func_800F8A44
@ -70,7 +70,7 @@ glabel func_808634F8
/* 03FA8 808635F8 10000022 */ beq $zero, $zero, .L80863684
/* 03FAC 808635FC 8FBF001C */ lw $ra, 0x001C($sp)
.L80863600:
/* 03FB0 80863600 0C00B821 */ jal func_8002E084
/* 03FB0 80863600 0C00B821 */ jal Actor_IsFacingPlayer
/* 03FB4 80863604 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 03FB8 80863608 10400010 */ beq $v0, $zero, .L8086364C
/* 03FBC 8086360C 00000000 */ nop
@ -79,7 +79,7 @@ glabel func_808634F8
/* 03FC4 80863614 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03FC8 80863618 14400008 */ bne $v0, $zero, .L8086363C
/* 03FCC 8086361C 8FA40024 */ lw $a0, 0x0024($sp)
/* 03FD0 80863620 0C00CB1F */ jal func_80032C7C
/* 03FD0 80863620 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 03FD4 80863624 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03FD8 80863628 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03FDC 8086362C 0C218BEA */ jal func_80862FA8
@ -100,7 +100,7 @@ glabel func_808634F8
/* 0400C 8086365C 0C218C3C */ jal func_808630F0
/* 04010 80863660 8FA50024 */ lw $a1, 0x0024($sp)
/* 04014 80863664 8FA40024 */ lw $a0, 0x0024($sp)
/* 04018 80863668 0C00CB1F */ jal func_80032C7C
/* 04018 80863668 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 0401C 8086366C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 04020 80863670 10000004 */ beq $zero, $zero, .L80863684
/* 04024 80863674 8FBF001C */ lw $ra, 0x001C($sp)

View file

@ -214,7 +214,7 @@ glabel func_80863CC4
/* 048D4 80863F24 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFFE4
/* 048D8 80863F28 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 048DC 80863F2C AFA00020 */ sw $zero, 0x0020($sp)
/* 048E0 80863F30 0C00CC98 */ jal func_80033260
/* 048E0 80863F30 0C00CC98 */ jal Actor_SpawnFloorDust
/* 048E4 80863F34 E7A80014 */ swc1 $f8, 0x0014($sp)
.L80863F38:
/* 048E8 80863F38 861907E0 */ lh $t9, 0x07E0($s0) ## 000007E0

View file

@ -3,7 +3,7 @@ glabel func_808641E8
/* 04B9C 808641EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 04BA0 808641F0 AFA40028 */ sw $a0, 0x0028($sp)
/* 04BA4 808641F4 AFA5002C */ sw $a1, 0x002C($sp)
/* 04BA8 808641F8 0C00CDE0 */ jal func_80033780
/* 04BA8 808641F8 0C00CDE0 */ jal Actor_GetProjectileActor
/* 04BAC 808641FC 3C064396 */ lui $a2, 0x4396 ## $a2 = 43960000
/* 04BB0 80864200 8FA7002C */ lw $a3, 0x002C($sp)
/* 04BB4 80864204 104000BD */ beq $v0, $zero, .L808644FC
@ -50,7 +50,7 @@ glabel func_808641E8
/* 04C50 808642A0 8FA40028 */ lw $a0, 0x0028($sp)
/* 04C54 808642A4 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 04C58 808642A8 A7A30022 */ sh $v1, 0x0022($sp)
/* 04C5C 808642AC 0C00CEA1 */ jal func_80033A84
/* 04C5C 808642AC 0C00CEA1 */ jal Actor_IsTargeted
/* 04C60 808642B0 AFA7002C */ sw $a3, 0x002C($sp)
/* 04C64 808642B4 87A30022 */ lh $v1, 0x0022($sp)
/* 04C68 808642B8 1040000A */ beq $v0, $zero, .L808642E4
@ -99,7 +99,7 @@ glabel func_808641E8
/* 04CFC 8086434C A7A30022 */ sh $v1, 0x0022($sp)
/* 04D00 80864350 A7A60020 */ sh $a2, 0x0020($sp)
/* 04D04 80864354 AFA7002C */ sw $a3, 0x002C($sp)
/* 04D08 80864358 0C00CEA1 */ jal func_80033A84
/* 04D08 80864358 0C00CEA1 */ jal Actor_IsTargeted
/* 04D0C 8086435C A7A8001E */ sh $t0, 0x001E($sp)
/* 04D10 80864360 87A30022 */ lh $v1, 0x0022($sp)
/* 04D14 80864364 87A60020 */ lh $a2, 0x0020($sp)

View file

@ -93,7 +93,7 @@ glabel EnTorch2_Update
/* 00558 80B1DED8 46083280 */ add.s $f10, $f6, $f8
/* 0055C 80B1DEDC 45010007 */ bc1t .L80B1DEFC
/* 00560 80B1DEE0 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
/* 00564 80B1DEE4 0C00CEA1 */ jal func_80033A84
/* 00564 80B1DEE4 0C00CEA1 */ jal Actor_IsTargeted
/* 00568 80B1DEE8 8FA40084 */ lw $a0, 0x0084($sp)
/* 0056C 80B1DEEC 14400003 */ bne $v0, $zero, .L80B1DEFC
/* 00570 80B1DEF0 8FAB005C */ lw $t3, 0x005C($sp)
@ -514,7 +514,7 @@ glabel EnTorch2_Update
/* 00B78 80B1E4F8 00000000 */ nop
/* 00B7C 80B1E4FC 4500002E */ bc1f .L80B1E5B8
/* 00B80 80B1E500 00000000 */ nop
/* 00B84 80B1E504 0C00CEA1 */ jal func_80033A84
/* 00B84 80B1E504 0C00CEA1 */ jal Actor_IsTargeted
/* 00B88 80B1E508 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00B8C 80B1E50C 1040002A */ beq $v0, $zero, .L80B1E5B8
/* 00B90 80B1E510 3C0380B2 */ lui $v1, %hi(sSwordJumpTimer) ## $v1 = 80B20000
@ -1333,7 +1333,7 @@ glabel EnTorch2_Update
/* 01744 80B1F0C4 272E0001 */ addiu $t6, $t9, 0x0001 ## $t6 = 00000001
/* 01748 80B1F0C8 A04E0000 */ sb $t6, 0x0000($v0) ## 80B1FA04
/* 0174C 80B1F0CC A023015E */ sb $v1, %lo(sActionState)($at)
/* 01750 80B1F0D0 0C00CB1F */ jal func_80032C7C
/* 01750 80B1F0D0 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 01754 80B1F0D4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01758 80B1F0D8 8FA40084 */ lw $a0, 0x0084($sp)
/* 0175C 80B1F0DC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
@ -1395,7 +1395,7 @@ glabel EnTorch2_Update
/* 0182C 80B1F1AC 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 01830 80B1F1B0 E60008A8 */ swc1 $f0, 0x08A8($s0) ## 000008A8
/* 01834 80B1F1B4 A20B08A0 */ sb $t3, 0x08A0($s0) ## 000008A0
/* 01838 80B1F1B8 0C00D594 */ jal func_80035650
/* 01838 80B1F1B8 0C00D594 */ jal Actor_SetDropFlag
/* 0183C 80B1F1BC E61008A4 */ swc1 $f16, 0x08A4($s0) ## 000008A4
/* 01840 80B1F1C0 920F0692 */ lbu $t7, 0x0692($s0) ## 00000692
/* 01844 80B1F1C4 3C0C80B2 */ lui $t4, %hi(sAlpha) ## $t4 = 80B20000

View file

@ -230,7 +230,7 @@ glabel func_80B33FB0
/* 00648 80B342F8 45000018 */ bc1f .L80B3435C
/* 0064C 80B342FC 00031C03 */ sra $v1, $v1, 16
/* 00650 80B34300 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00654 80B34304 0C00CEAE */ jal func_80033AB8
/* 00654 80B34304 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00658 80B34308 A7A3002E */ sh $v1, 0x002E($sp)
/* 0065C 80B3430C 14400013 */ bne $v0, $zero, .L80B3435C
/* 00660 80B34310 87A3002E */ lh $v1, 0x002E($sp)

View file

@ -109,7 +109,7 @@ glabel func_80B345E4
/* 00AA8 80B34758 2728FFFF */ addiu $t0, $t9, 0xFFFF ## $t0 = FFFFFFFF
/* 00AAC 80B3475C 15000022 */ bne $t0, $zero, .L80B347E8
/* 00AB0 80B34760 AE0802E8 */ sw $t0, 0x02E8($s0) ## 000002E8
/* 00AB4 80B34764 0C00B821 */ jal func_8002E084
/* 00AB4 80B34764 0C00B821 */ jal Actor_IsFacingPlayer
/* 00AB8 80B34768 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 00ABC 80B3476C 10400012 */ beq $v0, $zero, .L80B347B8
/* 00AC0 80B34770 00000000 */ nop

View file

@ -33,7 +33,7 @@ glabel func_80B3487C
/* 00C1C 80B348CC 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
/* 00C20 80B348D0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00C24 80B348D4 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
/* 00C28 80B348D8 0C00CEAE */ jal func_80033AB8
/* 00C28 80B348D8 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00C2C 80B348DC 8FA40064 */ lw $a0, 0x0064($sp)
/* 00C30 80B348E0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00C34 80B348E4 10400004 */ beq $v0, $zero, .L80B348F8
@ -170,7 +170,7 @@ glabel func_80B3487C
/* 00E08 80B34AB8 46000107 */ neg.s $f4, $f0
/* 00E0C 80B34ABC E7A4003C */ swc1 $f4, 0x003C($sp)
.L80B34AC0:
/* 00E10 80B34AC0 0C00B821 */ jal func_8002E084
/* 00E10 80B34AC0 0C00B821 */ jal Actor_IsFacingPlayer
/* 00E14 80B34AC4 240511C7 */ addiu $a1, $zero, 0x11C7 ## $a1 = 000011C7
/* 00E18 80B34AC8 14400012 */ bne $v0, $zero, .L80B34B14
/* 00E1C 80B34ACC 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
@ -210,7 +210,7 @@ glabel func_80B3487C
/* 00E98 80B34B48 03191823 */ subu $v1, $t8, $t9
/* 00E9C 80B34B4C 00031C00 */ sll $v1, $v1, 16
/* 00EA0 80B34B50 00031C03 */ sra $v1, $v1, 16
/* 00EA4 80B34B54 0C00CEAE */ jal func_80033AB8
/* 00EA4 80B34B54 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00EA8 80B34B58 A7A30042 */ sh $v1, 0x0042($sp)
/* 00EAC 80B34B5C 1440001C */ bne $v0, $zero, .L80B34BD0
/* 00EB0 80B34B60 87A30042 */ lh $v1, 0x0042($sp)
@ -247,7 +247,7 @@ glabel func_80B3487C
.L80B34BD0:
/* 00F20 80B34BD0 8FA40064 */ lw $a0, 0x0064($sp)
.L80B34BD4:
/* 00F24 80B34BD4 0C00CEAE */ jal func_80033AB8
/* 00F24 80B34BD4 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00F28 80B34BD8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00F2C 80B34BDC 1040000E */ beq $v0, $zero, .L80B34C18
/* 00F30 80B34BE0 00000000 */ nop
@ -320,7 +320,7 @@ glabel func_80B3487C
/* 01024 80B34CD4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01028 80B34CD8 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 0102C 80B34CDC 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 01030 80B34CE0 0C00CC98 */ jal func_80033260
/* 01030 80B34CE0 0C00CC98 */ jal Actor_SpawnFloorDust
/* 01034 80B34CE4 E7A80014 */ swc1 $f8, 0x0014($sp)
.L80B34CE8:
/* 01038 80B34CE8 8FBF0034 */ lw $ra, 0x0034($sp)

View file

@ -96,7 +96,7 @@ glabel func_80B34D48
/* 011E8 80B34E98 E60801A4 */ swc1 $f8, 0x01A4($s0) ## 000001A4
/* 011EC 80B34E9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011F0 80B34EA0 0C00B821 */ jal func_8002E084
/* 011F0 80B34EA0 0C00B821 */ jal Actor_IsFacingPlayer
/* 011F4 80B34EA4 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 011F8 80B34EA8 50400011 */ beql $v0, $zero, .L80B34EF0
/* 011FC 80B34EAC 8FA90024 */ lw $t1, 0x0024($sp)

View file

@ -85,7 +85,7 @@ glabel func_80B35024
/* 0148C 80B3513C A60902FE */ sh $t1, 0x02FE($s0) ## 000002FE
/* 01490 80B35140 8FA4005C */ lw $a0, 0x005C($sp)
.L80B35144:
/* 01494 80B35144 0C00CEAE */ jal func_80033AB8
/* 01494 80B35144 0C00CEAE */ jal Actor_OtherIsTargeted
/* 01498 80B35148 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0149C 80B3514C 10400004 */ beq $v0, $zero, .L80B35160
/* 014A0 80B35150 3C014316 */ lui $at, 0x4316 ## $at = 43160000
@ -281,7 +281,7 @@ glabel func_80B35024
/* 01744 80B353F4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01748 80B353F8 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 0174C 80B353FC 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 01750 80B35400 0C00CC98 */ jal func_80033260
/* 01750 80B35400 0C00CC98 */ jal Actor_SpawnFloorDust
/* 01754 80B35404 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 01758 80B35408 8FAB005C */ lw $t3, 0x005C($sp)
.L80B3540C:
@ -310,7 +310,7 @@ glabel func_80B35024
/* 017A8 80B35458 00000000 */ nop
/* 017AC 80B3545C 45020010 */ bc1fl .L80B354A0
/* 017B0 80B35460 8E1802E8 */ lw $t8, 0x02E8($s0) ## 000002E8
/* 017B4 80B35464 0C00CEAE */ jal func_80033AB8
/* 017B4 80B35464 0C00CEAE */ jal Actor_OtherIsTargeted
/* 017B8 80B35468 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 017BC 80B3546C 1440000B */ bne $v0, $zero, .L80B3549C
/* 017C0 80B35470 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
@ -331,7 +331,7 @@ glabel func_80B35024
/* 017F4 80B354A4 2719FFFF */ addiu $t9, $t8, 0xFFFF ## $t9 = FFFFFFFF
/* 017F8 80B354A8 17200020 */ bne $t9, $zero, .L80B3552C
/* 017FC 80B354AC AE1902E8 */ sw $t9, 0x02E8($s0) ## 000002E8
/* 01800 80B354B0 0C00CEAE */ jal func_80033AB8
/* 01800 80B354B0 0C00CEAE */ jal Actor_OtherIsTargeted
/* 01804 80B354B4 8FA4005C */ lw $a0, 0x005C($sp)
/* 01808 80B354B8 1040000E */ beq $v0, $zero, .L80B354F4
/* 0180C 80B354BC 00000000 */ nop

View file

@ -74,13 +74,13 @@ glabel func_80B355BC
/* 019D8 80B35688 14C10012 */ bne $a2, $at, .L80B356D4
/* 019DC 80B3568C 8FA4004C */ lw $a0, 0x004C($sp)
/* 019E0 80B35690 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 019E4 80B35694 0C00CEA1 */ jal func_80033A84
/* 019E4 80B35694 0C00CEA1 */ jal Actor_IsTargeted
/* 019E8 80B35698 AFA6003C */ sw $a2, 0x003C($sp)
/* 019EC 80B3569C 1440000D */ bne $v0, $zero, .L80B356D4
/* 019F0 80B356A0 8FA6003C */ lw $a2, 0x003C($sp)
/* 019F4 80B356A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 019F8 80B356A8 24052000 */ addiu $a1, $zero, 0x2000 ## $a1 = 00002000
/* 019FC 80B356AC 0C00B821 */ jal func_8002E084
/* 019FC 80B356AC 0C00B821 */ jal Actor_IsFacingPlayer
/* 01A00 80B356B0 AFA6003C */ sw $a2, 0x003C($sp)
/* 01A04 80B356B4 1040000C */ beq $v0, $zero, .L80B356E8
/* 01A08 80B356B8 8FA6003C */ lw $a2, 0x003C($sp)
@ -135,7 +135,7 @@ glabel func_80B355BC
/* 01AC0 80B35770 AFB80018 */ sw $t8, 0x0018($sp)
/* 01AC4 80B35774 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01AC8 80B35778 8FA4004C */ lw $a0, 0x004C($sp)
/* 01ACC 80B3577C 0C00CC98 */ jal func_80033260
/* 01ACC 80B3577C 0C00CC98 */ jal Actor_SpawnFloorDust
/* 01AD0 80B35780 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 01AD4 80B35784 8E0902E8 */ lw $t1, 0x02E8($s0) ## 000002E8
/* 01AD8 80B35788 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF
@ -143,7 +143,7 @@ glabel func_80B355BC
/* 01AE0 80B35790 AE0A02E8 */ sw $t2, 0x02E8($s0) ## 000002E8
.L80B35794:
/* 01AE4 80B35794 24051554 */ addiu $a1, $zero, 0x1554 ## $a1 = 00001554
/* 01AE8 80B35798 0C00B821 */ jal func_8002E084
/* 01AE8 80B35798 0C00B821 */ jal Actor_IsFacingPlayer
/* 01AEC 80B3579C AFA6003C */ sw $a2, 0x003C($sp)
/* 01AF0 80B357A0 14400017 */ bne $v0, $zero, .L80B35800
/* 01AF4 80B357A4 8FA6003C */ lw $a2, 0x003C($sp)

View file

@ -41,7 +41,7 @@ glabel func_80B359A8
/* 01D68 80B35A18 87A60022 */ lh $a2, 0x0022($sp)
/* 01D6C 80B35A1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D70 80B35A20 24051554 */ addiu $a1, $zero, 0x1554 ## $a1 = 00001554
/* 01D74 80B35A24 0C00B821 */ jal func_8002E084
/* 01D74 80B35A24 0C00B821 */ jal Actor_IsFacingPlayer
/* 01D78 80B35A28 A7A60022 */ sh $a2, 0x0022($sp)
/* 01D7C 80B35A2C 14400014 */ bne $v0, $zero, .L80B35A80
/* 01D80 80B35A30 87A60022 */ lh $a2, 0x0022($sp)

View file

@ -14,7 +14,7 @@ glabel func_80B35C10
/* 01F78 80B35C28 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 01F7C 80B35C2C 1040002D */ beq $v0, $zero, .L80B35CE4
/* 01F80 80B35C30 8FA40024 */ lw $a0, 0x0024($sp)
/* 01F84 80B35C34 0C00CEAE */ jal func_80033AB8
/* 01F84 80B35C34 0C00CEAE */ jal Actor_OtherIsTargeted
/* 01F88 80B35C38 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01F8C 80B35C3C 1440001B */ bne $v0, $zero, .L80B35CAC
/* 01F90 80B35C40 3C01432A */ lui $at, 0x432A ## $at = 432A0000

View file

@ -96,7 +96,7 @@ glabel func_80B35EE4
/* 0237C 80B3602C 00000000 */ nop
/* 02380 80B36030 4500000F */ bc1f .L80B36070
/* 02384 80B36034 00000000 */ nop
/* 02388 80B36038 0C00CEAE */ jal func_80033AB8
/* 02388 80B36038 0C00CEAE */ jal Actor_OtherIsTargeted
/* 0238C 80B3603C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02390 80B36040 1440000B */ bne $v0, $zero, .L80B36070
/* 02394 80B36044 8FAA002C */ lw $t2, 0x002C($sp)

View file

@ -45,7 +45,7 @@ glabel func_80B361A0
/* 02590 80B36240 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 02594 80B36244 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 02598 80B36248 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
/* 0259C 80B3624C 0C00CEAE */ jal func_80033AB8
/* 0259C 80B3624C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 025A0 80B36250 8FA4002C */ lw $a0, 0x002C($sp)
/* 025A4 80B36254 14400005 */ bne $v0, $zero, .L80B3626C
/* 025A8 80B36258 00000000 */ nop

View file

@ -99,7 +99,7 @@ glabel func_80B36328
/* 027D8 80B36488 01CF3023 */ subu $a2, $t6, $t7
/* 027DC 80B3648C 00063400 */ sll $a2, $a2, 16
/* 027E0 80B36490 00063403 */ sra $a2, $a2, 16
/* 027E4 80B36494 0C00CEAE */ jal func_80033AB8
/* 027E4 80B36494 0C00CEAE */ jal Actor_OtherIsTargeted
/* 027E8 80B36498 A7A6002C */ sh $a2, 0x002C($sp)
/* 027EC 80B3649C 14400013 */ bne $v0, $zero, .L80B364EC
/* 027F0 80B364A0 87A6002C */ lh $a2, 0x002C($sp)

View file

@ -66,7 +66,7 @@ glabel func_80B36740
.L80B36814:
/* 02B64 80B36814 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02B68 80B36818 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
/* 02B6C 80B3681C 0C00CEAE */ jal func_80033AB8
/* 02B6C 80B3681C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 02B70 80B36820 8FA40074 */ lw $a0, 0x0074($sp)
/* 02B74 80B36824 10400004 */ beq $v0, $zero, .L80B36838
/* 02B78 80B36828 3C014316 */ lui $at, 0x4316 ## $at = 43160000
@ -293,7 +293,7 @@ glabel func_80B36740
/* 02E8C 80B36B3C 8FA40074 */ lw $a0, 0x0074($sp)
/* 02E90 80B36B40 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02E94 80B36B44 A7A6004E */ sh $a2, 0x004E($sp)
/* 02E98 80B36B48 0C00CEAE */ jal func_80033AB8
/* 02E98 80B36B48 0C00CEAE */ jal Actor_OtherIsTargeted
/* 02E9C 80B36B4C E7AC0044 */ swc1 $f12, 0x0044($sp)
/* 02EA0 80B36B50 87A6004E */ lh $a2, 0x004E($sp)
/* 02EA4 80B36B54 14400014 */ bne $v0, $zero, .L80B36BA8
@ -365,7 +365,7 @@ glabel func_80B36740
/* 02F94 80B36C44 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02F98 80B36C48 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 02F9C 80B36C4C 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 02FA0 80B36C50 0C00CC98 */ jal func_80033260
/* 02FA0 80B36C50 0C00CC98 */ jal Actor_SpawnFloorDust
/* 02FA4 80B36C54 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 02FA8 80B36C58 8FAF003C */ lw $t7, 0x003C($sp)
.L80B36C5C:

View file

@ -66,7 +66,7 @@ glabel func_80B37038
/* 03470 80B37120 10410034 */ beq $v0, $at, .L80B371F4
/* 03474 80B37124 A20B0481 */ sb $t3, 0x0481($s0) ## 00000481
/* 03478 80B37128 A20202E6 */ sb $v0, 0x02E6($s0) ## 000002E6
/* 0347C 80B3712C 0C00D594 */ jal func_80035650
/* 0347C 80B3712C 0C00D594 */ jal Actor_SetDropFlag
/* 03480 80B37130 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03484 80B37134 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 03488 80B37138 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
@ -115,7 +115,7 @@ glabel func_80B37038
/* 03520 80B371D0 0C2CDB23 */ jal func_80B36C8C
/* 03524 80B371D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03528 80B371D8 8FA4002C */ lw $a0, 0x002C($sp)
/* 0352C 80B371DC 0C00CB1F */ jal func_80032C7C
/* 0352C 80B371DC 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 03530 80B371E0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03534 80B371E4 10000004 */ beq $zero, $zero, .L80B371F8
/* 03538 80B371E8 8FBF0024 */ lw $ra, 0x0024($sp)

View file

@ -4,7 +4,7 @@ glabel func_80B37830
/* 03B88 80B37838 AFB00018 */ sw $s0, 0x0018($sp)
/* 03B8C 80B3783C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 03B90 80B37840 AFA40028 */ sw $a0, 0x0028($sp)
/* 03B94 80B37844 0C00CDE0 */ jal func_80033780
/* 03B94 80B37844 0C00CDE0 */ jal Actor_GetProjectileActor
/* 03B98 80B37848 3C064416 */ lui $a2, 0x4416 ## $a2 = 44160000
/* 03B9C 80B3784C 10400049 */ beq $v0, $zero, .L80B37974
/* 03BA0 80B37850 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000

View file

@ -16,7 +16,7 @@ glabel func_80B44CF0
/* 00CD4 80B44D24 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00CD8 80B44D28 AFA30018 */ sw $v1, 0x0018($sp)
.L80B44D2C:
/* 00CDC 80B44D2C 0C00CEAE */ jal func_80033AB8
/* 00CDC 80B44D2C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 00CE0 80B44D30 AFA50024 */ sw $a1, 0x0024($sp)
/* 00CE4 80B44D34 8FA30018 */ lw $v1, 0x0018($sp)
/* 00CE8 80B44D38 14400003 */ bne $v0, $zero, .L80B44D48

View file

@ -105,7 +105,7 @@ glabel func_80B45174
/* 01294 80B452E4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01298 80B452E8 260604F0 */ addiu $a2, $s0, 0x04F0 ## $a2 = 000004F0
/* 0129C 80B452EC 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 012A0 80B452F0 0C00CC98 */ jal func_80033260
/* 012A0 80B452F0 0C00CC98 */ jal Actor_SpawnFloorDust
/* 012A4 80B452F4 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 012A8 80B452F8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 012AC 80B452FC 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00
@ -118,7 +118,7 @@ glabel func_80B45174
/* 012C8 80B45318 AFA00018 */ sw $zero, 0x0018($sp)
/* 012CC 80B4531C AFA0001C */ sw $zero, 0x001C($sp)
/* 012D0 80B45320 AFA00020 */ sw $zero, 0x0020($sp)
/* 012D4 80B45324 0C00CC98 */ jal func_80033260
/* 012D4 80B45324 0C00CC98 */ jal Actor_SpawnFloorDust
/* 012D8 80B45328 E7AA0014 */ swc1 $f10, 0x0014($sp)
.L80B4532C:
/* 012DC 80B4532C 0C02927F */ jal SkelAnime_Update

View file

@ -97,7 +97,7 @@ glabel func_80B4543C
/* 0152C 80B4557C 10000048 */ beq $zero, $zero, .L80B456A0
/* 01530 80B45580 AE0F03F0 */ sw $t7, 0x03F0($s0) ## 000003F0
.L80B45584:
/* 01534 80B45584 0C00B821 */ jal func_8002E084
/* 01534 80B45584 0C00B821 */ jal Actor_IsFacingPlayer
/* 01538 80B45588 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 0153C 80B4558C 10400038 */ beq $v0, $zero, .L80B45670
/* 01540 80B45590 3C014348 */ lui $at, 0x4348 ## $at = 43480000

View file

@ -180,7 +180,7 @@ glabel func_80B45748
.L80B459A4:
/* 01954 80B459A4 AFB8002C */ sw $t8, 0x002C($sp)
/* 01958 80B459A8 8FA4005C */ lw $a0, 0x005C($sp)
/* 0195C 80B459AC 0C00CEAE */ jal func_80033AB8
/* 0195C 80B459AC 0C00CEAE */ jal Actor_OtherIsTargeted
/* 01960 80B459B0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01964 80B459B4 10400005 */ beq $v0, $zero, .L80B459CC
/* 01968 80B459B8 8FA4002C */ lw $a0, 0x002C($sp)
@ -306,7 +306,7 @@ glabel func_80B45748
/* 01B14 80B45B64 860A03FE */ lh $t2, 0x03FE($s0) ## 000003FE
/* 01B18 80B45B68 552A0052 */ bnel $t1, $t2, .L80B45CB4
/* 01B1C 80B45B6C 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
/* 01B20 80B45B70 0C00B821 */ jal func_8002E084
/* 01B20 80B45B70 0C00B821 */ jal Actor_IsFacingPlayer
/* 01B24 80B45B74 240511C7 */ addiu $a1, $zero, 0x11C7 ## $a1 = 000011C7
/* 01B28 80B45B78 14400012 */ bne $v0, $zero, .L80B45BC4
/* 01B2C 80B45B7C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
@ -419,11 +419,11 @@ glabel func_80B45748
/* 01CAC 80B45CFC 00000000 */ nop
/* 01CB0 80B45D00 4502001D */ bc1fl .L80B45D78
/* 01CB4 80B45D04 8FAD005C */ lw $t5, 0x005C($sp)
/* 01CB8 80B45D08 0C00B821 */ jal func_8002E084
/* 01CB8 80B45D08 0C00B821 */ jal Actor_IsFacingPlayer
/* 01CBC 80B45D0C 2405071C */ addiu $a1, $zero, 0x071C ## $a1 = 0000071C
/* 01CC0 80B45D10 10400018 */ beq $v0, $zero, .L80B45D74
/* 01CC4 80B45D14 8FA4005C */ lw $a0, 0x005C($sp)
/* 01CC8 80B45D18 0C00CEA1 */ jal func_80033A84
/* 01CC8 80B45D18 0C00CEA1 */ jal Actor_IsTargeted
/* 01CCC 80B45D1C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01CD0 80B45D20 10400010 */ beq $v0, $zero, .L80B45D64
/* 01CD4 80B45D24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000

View file

@ -124,7 +124,7 @@ glabel func_80B46098
/* 02200 80B46250 8FBF001C */ lw $ra, 0x001C($sp)
/* 02204 80B46254 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B46258:
/* 02208 80B46258 0C00B821 */ jal func_8002E084
/* 02208 80B46258 0C00B821 */ jal Actor_IsFacingPlayer
/* 0220C 80B4625C 24051555 */ addiu $a1, $zero, 0x1555 ## $a1 = 00001555
/* 02210 80B46260 50400012 */ beql $v0, $zero, .L80B462AC
/* 02214 80B46264 8FAD0034 */ lw $t5, 0x0034($sp)

View file

@ -197,7 +197,7 @@ glabel func_80B463E4
.L80B46688:
/* 02638 80B46688 8FA4005C */ lw $a0, 0x005C($sp)
.L80B4668C:
/* 0263C 80B4668C 0C00CEAE */ jal func_80033AB8
/* 0263C 80B4668C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 02640 80B46690 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02644 80B46694 10400004 */ beq $v0, $zero, .L80B466A8
/* 02648 80B46698 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000

View file

@ -41,7 +41,7 @@ glabel func_80B46AE0
/* 02B00 80B46B50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02B04 80B46B54 1501001C */ bne $t0, $at, .L80B46BC8
/* 02B08 80B46B58 00000000 */ nop
/* 02B0C 80B46B5C 0C00B821 */ jal func_8002E084
/* 02B0C 80B46B5C 0C00B821 */ jal Actor_IsFacingPlayer
/* 02B10 80B46B60 24051554 */ addiu $a1, $zero, 0x1554 ## $a1 = 00001554
/* 02B14 80B46B64 14400018 */ bne $v0, $zero, .L80B46BC8
/* 02B18 80B46B68 00000000 */ nop

View file

@ -210,7 +210,7 @@ glabel func_80B4781C
/* 03AA8 80B47AF8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03AAC 80B47AFC 260604F0 */ addiu $a2, $s0, 0x04F0 ## $a2 = 000004F0
/* 03AB0 80B47B00 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 03AB4 80B47B04 0C00CC98 */ jal func_80033260
/* 03AB4 80B47B04 0C00CC98 */ jal Actor_SpawnFloorDust
/* 03AB8 80B47B08 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 03ABC 80B47B0C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 03AC0 80B47B10 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
@ -223,7 +223,7 @@ glabel func_80B4781C
/* 03ADC 80B47B2C AFA00018 */ sw $zero, 0x0018($sp)
/* 03AE0 80B47B30 AFA0001C */ sw $zero, 0x001C($sp)
/* 03AE4 80B47B34 AFA00020 */ sw $zero, 0x0020($sp)
/* 03AE8 80B47B38 0C00CC98 */ jal func_80033260
/* 03AE8 80B47B38 0C00CC98 */ jal Actor_SpawnFloorDust
/* 03AEC 80B47B3C E7A80014 */ swc1 $f8, 0x0014($sp)
/* 03AF0 80B47B40 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
/* 03AF4 80B47B44 C7B00074 */ lwc1 $f16, 0x0074($sp)

View file

@ -146,7 +146,7 @@ glabel func_80B48578
/* 04710 80B48760 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 04714 80B48764 25AE4000 */ addiu $t6, $t5, 0x4000 ## $t6 = 00004000
/* 04718 80B48768 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 0471C 80B4876C 0C00CEAE */ jal func_80033AB8
/* 0471C 80B4876C 0C00CEAE */ jal Actor_OtherIsTargeted
/* 04720 80B48770 8FA4005C */ lw $a0, 0x005C($sp)
/* 04724 80B48774 10400004 */ beq $v0, $zero, .L80B48788
/* 04728 80B48778 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000

View file

@ -27,7 +27,7 @@ glabel func_80B490B4
/* 050C4 80B49114 10410048 */ beq $v0, $at, .L80B49238
/* 050C8 80B49118 26050430 */ addiu $a1, $s0, 0x0430 ## $a1 = 00000430
/* 050CC 80B4911C A2020410 */ sb $v0, 0x0410($s0) ## 00000410
/* 050D0 80B49120 0C00D594 */ jal func_80035650
/* 050D0 80B49120 0C00D594 */ jal Actor_SetDropFlag
/* 050D4 80B49124 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 050D8 80B49128 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 050DC 80B4912C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
@ -85,7 +85,7 @@ glabel func_80B490B4
/* 05194 80B491E4 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 05198 80B491E8 8FA40034 */ lw $a0, 0x0034($sp)
/* 0519C 80B491EC 0C00CB1F */ jal func_80032C7C
/* 0519C 80B491EC 0C00CB1F */ jal Enemy_StartFinishingBlow
/* 051A0 80B491F0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 051A4 80B491F4 10000011 */ beq $zero, $zero, .L80B4923C
/* 051A8 80B491F8 8FBF0024 */ lw $ra, 0x0024($sp)

View file

@ -3,7 +3,7 @@ glabel func_80B49C2C
/* 05BE0 80B49C30 AFBF0014 */ sw $ra, 0x0014($sp)
/* 05BE4 80B49C34 AFA40020 */ sw $a0, 0x0020($sp)
/* 05BE8 80B49C38 AFA50024 */ sw $a1, 0x0024($sp)
/* 05BEC 80B49C3C 0C00CDE0 */ jal func_80033780
/* 05BEC 80B49C3C 0C00CDE0 */ jal Actor_GetProjectileActor
/* 05BF0 80B49C40 3C064416 */ lui $a2, 0x4416 ## $a2 = 44160000
/* 05BF4 80B49C44 8FA70024 */ lw $a3, 0x0024($sp)
/* 05BF8 80B49C48 1040007B */ beq $v0, $zero, .L80B49E38

View file

@ -4,7 +4,7 @@ glabel func_80B49E4C
/* 05E04 80B49E54 AFA40028 */ sw $a0, 0x0028($sp)
/* 05E08 80B49E58 AFA5002C */ sw $a1, 0x002C($sp)
/* 05E0C 80B49E5C A7A0001C */ sh $zero, 0x001C($sp)
/* 05E10 80B49E60 0C00CDE0 */ jal func_80033780
/* 05E10 80B49E60 0C00CDE0 */ jal Actor_GetProjectileActor
/* 05E14 80B49E64 3C064416 */ lui $a2, 0x4416 ## $a2 = 44160000
/* 05E18 80B49E68 8FA4002C */ lw $a0, 0x002C($sp)
/* 05E1C 80B49E6C 10400081 */ beq $v0, $zero, .L80B4A074

View file

@ -0,0 +1,7 @@
<Root>
<File Name="link_animetion" Segment="7">
<Array Name="firstAnim" Count="20" Offset="0x000000">
<Vector Type="s16" Dimensions="3" />
</Array>
</File>
</Root>

View file

@ -412,11 +412,14 @@ s32 func_8002DF38(GlobalContext* globalCtx, Actor* actor, u8 csMode);
s32 func_8002DF54(GlobalContext* globalCtx, Actor* actor, u8 arg2);
void func_8002DF90(DynaPolyActor* dynaActor);
void func_8002DFA4(DynaPolyActor* dynaActor, f32 arg1, s16 arg2);
s32 func_8002DFC8(Actor* actor, s16 arg1, GlobalContext* globalCtx);
s32 func_8002E084(Actor* actor, s16 arg1);
s32 func_8002E12C(Actor* actor, f32 arg1, s16 arg2);
s32 func_8002E1A8(Actor* actorA, Actor* actorB, f32 arg2, s16 arg3);
void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
s32 Player_IsFacingActor(Actor* actor, s16 angle, GlobalContext* globalCtx);
s32 Actor_ActorBIsFacingActorA(Actor* actorA, Actor* actorB, s16 angle);
s32 Actor_IsFacingPlayer(Actor* actor, s16 angle);
s32 Actor_ActorAIsFacingActorB(Actor* actorA, Actor* actorB, s16 angle);
s32 Actor_IsFacingAndNearPlayer(Actor* actor, f32 range, s16 angle);
s32 Actor_ActorAIsFacingAndNearActorB(Actor* actorA, Actor* actorB, f32 range, s16 angle);
void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 wallCheckHeight, f32 wallCheckRadius,
f32 ceilingCheckHeight, s32 flags);
Hilite* func_8002EABC(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
void func_8002EBCC(Actor* actor, GlobalContext* globalCtx, s32 flag);
@ -474,23 +477,23 @@ Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, GlobalCo
Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx);
Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player);
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorCategory);
void func_80032C7C(GlobalContext* globalCtx, Actor* actor);
void Enemy_StartFinishingBlow(GlobalContext* globalCtx, Actor* actor);
s16 func_80032CB4(s16* arg0, s16 arg1, s16 arg2, s16 arg3);
void BodyBreak_Alloc(BodyBreak* bodyBreak, s32 count, GlobalContext* globalCtx);
void BodyBreak_SetInfo(BodyBreak* bodyBreak, s32 limbIndex, s32 minLimbIndex, s32 maxLimbIndex, u32 count, Gfx** dList,
s16 objectId);
s32 BodyBreak_SpawnParts(Actor* actor, BodyBreak* bodyBreak, GlobalContext* globalCtx, s16 type);
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
s16 arg7, u8 arg8);
void Actor_SpawnFloorDust(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
s16 arg7, u8 arg8);
void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6);
Actor* Actor_GetCollidedExplosive(GlobalContext* globalCtx, Collider* collider);
Actor* func_80033684(GlobalContext* globalCtx, Actor* explosiveActor);
Actor* func_80033780(GlobalContext* globalCtx, Actor* refActor, f32 arg2);
Actor* Actor_GetProjectileActor(GlobalContext* globalCtx, Actor* refActor, f32 radius);
void Actor_ChangeCategory(GlobalContext* globalCtx, ActorContext* actorCtx, Actor* actor, u8 actorCategory);
void Actor_SetTextWithPrefix(GlobalContext* globalCtx, Actor* actor, s16 textIdLower);
s16 func_800339B8(Actor* actor, GlobalContext* globalCtx, f32 arg2, s16 arg3);
s32 func_80033A84(GlobalContext* globalCtx, Actor* actor);
s32 func_80033AB8(GlobalContext* globalCtx, Actor* actor);
s32 Actor_IsTargeted(GlobalContext* globalCtx, Actor* actor);
s32 Actor_OtherIsTargeted(GlobalContext* globalCtx, Actor* actor);
f32 func_80033AEC(Vec3f* arg0, Vec3f* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, GlobalContext* globalCtx);
void func_80033DB8(GlobalContext* globalCtx, s16 arg1, s16 arg2);
@ -523,8 +526,8 @@ void func_8003555C(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2, Vec3f* ar
void func_800355B8(GlobalContext* globalCtx, Vec3f* arg1);
u8 func_800355E4(GlobalContext* globalCtx, Collider* collider);
u8 Actor_ApplyDamage(Actor* actor);
void func_80035650(Actor* actor, ColliderInfo* colBody, s32 freezeFlag);
void func_8003573C(Actor* actor, ColliderJntSph* colBody, s32 freezeFlag);
void Actor_SetDropFlag(Actor* actor, ColliderInfo* colBody, s32 freezeFlag);
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* colBody, s32 freezeFlag);
void func_80035844(Vec3f* arg0, Vec3f* arg1, Vec3s* arg2, s32 arg3);
Actor* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, f32* arg3, s32 timer, s16* unused,
GlobalContext* globalCtx, s16 params, s32 arg8);

View file

@ -240,7 +240,7 @@ typedef struct {
} ActorListEntry; // size = 0x08
typedef struct {
/* 0x0000 */ u8 unk_00;
/* 0x0000 */ u8 freezeFlashTimer;
/* 0x0001 */ char unk_01[0x01];
/* 0x0002 */ u8 unk_02;
/* 0x0003 */ u8 unk_03;

View file

@ -1063,54 +1063,79 @@ void func_8002DFA4(DynaPolyActor* dynaActor, f32 arg1, s16 arg2) {
dynaActor->unk_158 = arg2;
}
s32 func_8002DFC8(Actor* actor, s16 arg1, GlobalContext* globalCtx) {
/**
* Chcek if the player is facing the specified actor.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
*/
s32 Player_IsFacingActor(Actor* actor, s16 maxAngle, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 var = (s16)(actor->yawTowardsPlayer + 0x8000) - player->actor.shape.rot.y;
s16 yawDiff = (s16)(actor->yawTowardsPlayer + 0x8000) - player->actor.shape.rot.y;
if (ABS(var) < arg1) {
if (ABS(yawDiff) < maxAngle) {
return true;
}
return false;
}
s32 func_8002E020(Actor* actorA, Actor* actorB, s16 arg2) {
s16 var = (s16)(Actor_WorldYawTowardActor(actorA, actorB) + 0x8000) - actorB->shape.rot.y;
/**
* Chcek if `actorB` is facing `actorA`.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
*
* This function is unused in the original game.
*/
s32 Actor_ActorBIsFacingActorA(Actor* actorA, Actor* actorB, s16 maxAngle) {
s16 yawDiff = (s16)(Actor_WorldYawTowardActor(actorA, actorB) + 0x8000) - actorB->shape.rot.y;
if (ABS(var) < arg2) {
if (ABS(yawDiff) < maxAngle) {
return true;
}
return false;
}
s32 func_8002E084(Actor* actor, s16 arg1) {
s16 var = actor->yawTowardsPlayer - actor->shape.rot.y;
/**
* Chcek if the specified actor is facing the player.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
*/
s32 Actor_IsFacingPlayer(Actor* actor, s16 maxAngle) {
s16 yawDiff = actor->yawTowardsPlayer - actor->shape.rot.y;
if (ABS(var) < arg1) {
if (ABS(yawDiff) < maxAngle) {
return true;
}
return false;
}
s32 func_8002E0D0(Actor* actorA, Actor* actorB, s16 arg2) {
s16 var = Actor_WorldYawTowardActor(actorA, actorB) - actorA->shape.rot.y;
/**
* Chcek if `actorA` is facing `actorB`.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
*
* This function is unused in the original game.
*/
s32 Actor_ActorAIsFacingActorB(Actor* actorA, Actor* actorB, s16 maxAngle) {
s16 yawDiff = Actor_WorldYawTowardActor(actorA, actorB) - actorA->shape.rot.y;
if (ABS(var) < arg2) {
if (ABS(yawDiff) < maxAngle) {
return true;
}
return false;
}
s32 func_8002E12C(Actor* actor, f32 arg1, s16 arg2) {
s16 var = actor->yawTowardsPlayer - actor->shape.rot.y;
/**
* Chcek if the specified actor is facing the player and is nearby.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
* The minimum distance that qualifies as "nearby" is specified by `range`.
*/
s32 Actor_IsFacingAndNearPlayer(Actor* actor, f32 range, s16 maxAngle) {
s16 yawDiff = actor->yawTowardsPlayer - actor->shape.rot.y;
if (ABS(var) < arg2) {
if (ABS(yawDiff) < maxAngle) {
f32 xyzDistanceFromLink = sqrtf(SQ(actor->xzDistToPlayer) + SQ(actor->yDistToPlayer));
if (xyzDistanceFromLink < arg1) {
if (xyzDistanceFromLink < range) {
return true;
}
}
@ -1118,11 +1143,16 @@ s32 func_8002E12C(Actor* actor, f32 arg1, s16 arg2) {
return false;
}
s32 func_8002E1A8(Actor* actorA, Actor* actorB, f32 arg2, s16 arg3) {
if (Actor_WorldDistXYZToActor(actorA, actorB) < arg2) {
s16 var = Actor_WorldYawTowardActor(actorA, actorB) - actorA->shape.rot.y;
/**
* Chcek if `actorA` is facing `actorB` and is nearby.
* The maximum angle difference that qualifies as "facing" is specified by `maxAngle`.
* The minimum distance that qualifies as "nearby" is specified by `range`.
*/
s32 Actor_ActorAIsFacingAndNearActorB(Actor* actorA, Actor* actorB, f32 range, s16 maxAngle) {
if (Actor_WorldDistXYZToActor(actorA, actorB) < range) {
s16 yawDiff = Actor_WorldYawTowardActor(actorA, actorB) - actorA->shape.rot.y;
if (ABS(var) < arg3) {
if (ABS(yawDiff) < maxAngle) {
return true;
}
}
@ -1204,7 +1234,8 @@ s32 func_8002E2AC(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, s32 arg3)
return true;
}
void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 wallCheckHeight, f32 wallCheckRadius,
f32 ceilingCheckHeight, s32 flags) {
f32 sp74;
s32 pad;
Vec3f sp64;
@ -1221,11 +1252,13 @@ void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f
func_800433A4(&globalCtx->colCtx, actor->floorBgId, actor);
}
if (arg5 & 1) {
if ((!(arg5 & 0x80) && BgCheck_EntitySphVsWall3(&globalCtx->colCtx, &sp64, &actor->world.pos, &actor->prevPos,
arg3, &actor->wallPoly, &bgId, actor, arg2)) ||
((arg5 & 0x80) && BgCheck_EntitySphVsWall4(&globalCtx->colCtx, &sp64, &actor->world.pos, &actor->prevPos,
arg3, &actor->wallPoly, &bgId, actor, arg2))) {
if (flags & 1) {
if ((!(flags & 0x80) &&
BgCheck_EntitySphVsWall3(&globalCtx->colCtx, &sp64, &actor->world.pos, &actor->prevPos, wallCheckRadius,
&actor->wallPoly, &bgId, actor, wallCheckHeight)) ||
((flags & 0x80) &&
BgCheck_EntitySphVsWall4(&globalCtx->colCtx, &sp64, &actor->world.pos, &actor->prevPos, wallCheckRadius,
&actor->wallPoly, &bgId, actor, wallCheckHeight))) {
wallPoly = actor->wallPoly;
Math_Vec3f_Copy(&actor->world.pos, &sp64);
actor->wallYaw = Math_Atan2S(wallPoly->normal.z, wallPoly->normal.x);
@ -1239,10 +1272,10 @@ void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f
sp64.x = actor->world.pos.x;
sp64.z = actor->world.pos.z;
if (arg5 & 2) {
if (flags & 2) {
sp64.y = actor->prevPos.y + 10.0f;
if (BgCheck_EntityCheckCeiling(&globalCtx->colCtx, &sp58, &sp64, (arg4 + sp74) - 10.0f, &sCurCeilingPoly,
&sCurCeilingBgId, actor)) {
if (BgCheck_EntityCheckCeiling(&globalCtx->colCtx, &sp58, &sp64, (ceilingCheckHeight + sp74) - 10.0f,
&sCurCeilingPoly, &sCurCeilingBgId, actor)) {
actor->bgCheckFlags |= 0x10;
actor->world.pos.y = (sp58 + sp74) - 10.0f;
} else {
@ -1250,9 +1283,9 @@ void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f
}
}
if (arg5 & 4) {
if (flags & 4) {
sp64.y = actor->prevPos.y;
func_8002E2AC(globalCtx, actor, &sp64, arg5);
func_8002E2AC(globalCtx, actor, &sp64, flags);
waterBoxYSurface = actor->world.pos.y;
if (WaterBox_GetSurface1(globalCtx, &globalCtx->colCtx, actor->world.pos.x, actor->world.pos.z,
&waterBoxYSurface, &waterBox)) {
@ -1262,7 +1295,7 @@ void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 arg2, f
} else {
if (!(actor->bgCheckFlags & 0x20)) {
actor->bgCheckFlags |= 0x40;
if (!(arg5 & 0x40)) {
if (!(flags & 0x40)) {
ripplePos.x = actor->world.pos.x;
ripplePos.y = waterBoxYSurface;
ripplePos.z = actor->world.pos.z;
@ -2987,8 +3020,12 @@ Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorCategory) {
return NULL;
}
void func_80032C7C(GlobalContext* globalCtx, Actor* actor) {
globalCtx->actorCtx.unk_00 = 5;
/**
* Play the death sound effect and flash the screen white for 4 frames.
* While the screen flashes, the game freezes.
*/
void Enemy_StartFinishingBlow(GlobalContext* globalCtx, Actor* actor) {
globalCtx->actorCtx.freezeFlashTimer = 5;
Audio_PlaySoundAtPosition(globalCtx, &actor->world.pos, 20, NA_SE_EN_LAST_DAMAGE);
}
@ -3064,7 +3101,7 @@ void BodyBreak_SetInfo(BodyBreak* bodyBreak, s32 limbIndex, s32 minLimbIndex, s3
s16 objectId) {
GlobalContext* globalCtx = Effect_GetGlobalCtx();
if ((globalCtx->actorCtx.unk_00 == 0) && (bodyBreak->val > 0)) {
if ((globalCtx->actorCtx.freezeFlashTimer == 0) && (bodyBreak->val > 0)) {
if ((limbIndex >= minLimbIndex) && (limbIndex <= maxLimbIndex) && (*dList != NULL)) {
bodyBreak->dLists[bodyBreak->val] = *dList;
Matrix_Get(&bodyBreak->matrices[bodyBreak->val]);
@ -3130,8 +3167,8 @@ s32 BodyBreak_SpawnParts(Actor* actor, BodyBreak* bodyBreak, GlobalContext* glob
return true;
}
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 scale,
s16 scaleStep, u8 arg8) {
void Actor_SpawnFloorDust(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 randAccelWeight,
s16 scale, s16 scaleStep, u8 arg8) {
Vec3f pos;
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3f accel = { 0.0f, 0.3f, 0.0f };
@ -3145,8 +3182,8 @@ void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3
for (i = arg4; i >= 0; i--) {
pos.x = (Math_SinF(var) * arg3) + arg2->x;
pos.z = (Math_CosF(var) * arg3) + arg2->z;
accel.x = (Rand_ZeroOne() - 0.5f) * arg5;
accel.z = (Rand_ZeroOne() - 0.5f) * arg5;
accel.x = (Rand_ZeroOne() - 0.5f) * randAccelWeight;
accel.z = (Rand_ZeroOne() - 0.5f) * randAccelWeight;
if (scale == 0) {
func_8002857C(globalCtx, &pos, &velocity, &accel);
@ -3220,44 +3257,47 @@ void Actor_ChangeCategory(GlobalContext* globalCtx, ActorContext* actorCtx, Acto
Actor_AddToCategory(actorCtx, actor, actorCategory);
}
typedef struct {
/* 0x000 */ Actor actor;
/* 0x14C */ char unk_14C[0xC4];
/* 0x210 */ s16 unk_210;
} Actor_80033780;
Actor* func_80033780(GlobalContext* globalCtx, Actor* refActor, f32 arg2) {
Actor_80033780* itemActor;
/**
* Checks if a hookshot or arrow actor is going to collide with the cylinder denoted by the
* actor's `cylRadius` and `cylHeight`.
* The check is only peformed if the projectile actor is within the provided sphere radius.
*
* Returns the actor if there will be collision, NULL otherwise.
*/
Actor* Actor_GetProjectileActor(GlobalContext* globalCtx, Actor* refActor, f32 radius) {
Actor* actor;
Vec3f spA8;
f32 deltaX;
f32 deltaY;
f32 deltaZ;
Vec3f sp90;
Vec3f sp84;
Actor* actor;
actor = globalCtx->actorCtx.actorLists[ACTORCAT_ITEMACTION].head;
while (actor != NULL) {
if (((actor->id != ACTOR_ARMS_HOOK) && (actor->id != ACTOR_EN_ARROW)) || (actor == refActor)) {
actor = actor->next;
} else {
itemActor = (Actor_80033780*)actor;
if ((arg2 < Math_Vec3f_DistXYZ(&refActor->world.pos, &itemActor->actor.world.pos)) ||
(itemActor->unk_210 == 0)) {
//! @bug The projectile actor gets unsafely casted to a hookshot to check its timer, even though
// it can also be an arrow.
// Luckily, the field at the same offset in the arrow actor is the x component of a vector
// which will rarely ever be 0. So its very unlikely for this bug to cause an issue.
if ((Math_Vec3f_DistXYZ(&refActor->world.pos, &actor->world.pos) > radius) ||
(((ArmsHook*)actor)->timer == 0)) {
actor = actor->next;
} else {
deltaX = Math_SinS(itemActor->actor.world.rot.y) * (itemActor->actor.speedXZ * 10.0f);
deltaY = itemActor->actor.velocity.y + (itemActor->actor.gravity * 10.0f);
deltaZ = Math_CosS(itemActor->actor.world.rot.y) * (itemActor->actor.speedXZ * 10.0f);
deltaX = Math_SinS(actor->world.rot.y) * (actor->speedXZ * 10.0f);
deltaY = actor->velocity.y + (actor->gravity * 10.0f);
deltaZ = Math_CosS(actor->world.rot.y) * (actor->speedXZ * 10.0f);
spA8.x = itemActor->actor.world.pos.x + deltaX;
spA8.y = itemActor->actor.world.pos.y + deltaY;
spA8.z = itemActor->actor.world.pos.z + deltaZ;
spA8.x = actor->world.pos.x + deltaX;
spA8.y = actor->world.pos.y + deltaY;
spA8.z = actor->world.pos.z + deltaZ;
if (CollisionCheck_CylSideVsLineSeg(refActor->colChkInfo.cylRadius, refActor->colChkInfo.cylHeight,
0.0f, &refActor->world.pos, &itemActor->actor.world.pos, &spA8,
&sp90, &sp84)) {
return &itemActor->actor;
0.0f, &refActor->world.pos, &actor->world.pos, &spA8, &sp90,
&sp84)) {
return actor;
} else {
actor = actor->next;
}
@ -3370,7 +3410,10 @@ s16 func_800339B8(Actor* actor, GlobalContext* globalCtx, f32 arg2, s16 arg3) {
return ret;
}
s32 func_80033A84(GlobalContext* globalCtx, Actor* actor) {
/**
* Returns true if the player is targeting the provided actor
*/
s32 Actor_IsTargeted(GlobalContext* globalCtx, Actor* actor) {
Player* player = PLAYER;
if ((player->stateFlags1 & 0x10) && actor->isTargeted) {
@ -3380,7 +3423,10 @@ s32 func_80033A84(GlobalContext* globalCtx, Actor* actor) {
}
}
s32 func_80033AB8(GlobalContext* globalCtx, Actor* actor) {
/**
* Returns true if the player is targeting an actor other than the provided actor
*/
s32 Actor_OtherIsTargeted(GlobalContext* globalCtx, Actor* actor) {
Player* player = PLAYER;
if ((player->stateFlags1 & 0x10) && !actor->isTargeted) {
@ -3987,7 +4033,7 @@ u8 Actor_ApplyDamage(Actor* actor) {
return actor->colChkInfo.health;
}
void func_80035650(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag) {
void Actor_SetDropFlag(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag) {
if (colInfo->acHitInfo == NULL) {
actor->dropFlag = 0x00;
} else if (freezeFlag && (colInfo->acHitInfo->toucher.dmgFlags & 0x10060000)) {
@ -4015,7 +4061,7 @@ void func_80035650(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag) {
}
}
void func_8003573C(Actor* actor, ColliderJntSph* jntSph, s32 freezeFlag) {
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph, s32 freezeFlag) {
ColliderInfo* curColInfo;
s32 flag;
s32 i;

View file

@ -805,9 +805,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
func_800AA178(1);
if (globalCtx->actorCtx.unk_00 && (globalCtx->actorCtx.unk_00-- < 5)) {
osSyncPrintf("FINISH=%d\n", globalCtx->actorCtx.unk_00);
if ((globalCtx->actorCtx.unk_00 > 0) && ((globalCtx->actorCtx.unk_00 % 2) != 0)) {
if (globalCtx->actorCtx.freezeFlashTimer && (globalCtx->actorCtx.freezeFlashTimer-- < 5)) {
osSyncPrintf("FINISH=%d\n", globalCtx->actorCtx.freezeFlashTimer);
if ((globalCtx->actorCtx.freezeFlashTimer > 0) &&
((globalCtx->actorCtx.freezeFlashTimer % 2) != 0)) {
globalCtx->envCtx.unk_E1 = 1;
globalCtx->envCtx.unk_E2[0] = globalCtx->envCtx.unk_E2[1] = globalCtx->envCtx.unk_E2[2] = 0x96;
globalCtx->envCtx.unk_E2[3] = 0x50;

View file

@ -129,11 +129,12 @@ void BgHidanFirewall_Erupt(BgHidanFirewall* this, GlobalContext* globalCtx) {
void BgHidanFirewall_Collide(BgHidanFirewall* this, GlobalContext* globalCtx) {
s16 phi_a3;
if (func_8002E084(&this->actor, 0x4000) != 0) {
if (Actor_IsFacingPlayer(&this->actor, 0x4000)) {
phi_a3 = this->actor.shape.rot.y;
} else {
phi_a3 = this->actor.shape.rot.y + 0x8000;
}
func_8002F71C(globalCtx, &this->actor, 5.0f, phi_a3, 1.0f);
}

View file

@ -522,7 +522,7 @@ void BgPoEvent_PaintingPresent(BgPoEvent* this, GlobalContext* globalCtx) {
if (((this->timer == 0) || ((thisx->xzDistToPlayer < 150.0f) && (thisx->yDistToPlayer < 50.0f)) ||
(func_8002DD78(player) && (thisx->xzDistToPlayer < 320.0f) &&
((this->index != 2) ? (thisx->yDistToPlayer < 100.0f) : (thisx->yDistToPlayer < 0.0f)) &&
func_8002DFC8(thisx, 0x2000, globalCtx))) &&
Player_IsFacingActor(thisx, 0x2000, globalCtx))) &&
((thisx->parent != NULL) || (thisx->child != NULL))) {
/*The third condition in the || is checking if
1) Link is holding a ranged weapon

View file

@ -234,7 +234,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, GlobalContext* globalCtx) {
gSaveContext.nextCutsceneIndex = 0xFFF1;
globalCtx->sceneLoadFlag = 0x14;
globalCtx->fadeTransition = 4;
} else if (func_8002E12C(&this->dyna.actor, 3000.0f, 30000)) {
} else if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 3000.0f, 0x7530)) {
globalCtx->envCtx.gloomySkyEvent = 1;
}
}

View file

@ -97,7 +97,7 @@ void BgTokiSwd_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_808BAF40(BgTokiSwd* this, GlobalContext* globalCtx) {
if (((gSaveContext.eventChkInf[4] & 0x8000) == 0) && (gSaveContext.sceneSetupIndex < 4) &&
(func_8002E12C(&this->actor, 800.0f, 0x7530) != 0) && !Gameplay_InCsMode(globalCtx)) {
Actor_IsFacingAndNearPlayer(&this->actor, 800.0f, 0x7530) && !Gameplay_InCsMode(globalCtx)) {
gSaveContext.eventChkInf[4] |= 0x8000;
globalCtx->csCtx.segment = D_808BBD90;
gSaveContext.cutsceneTrigger = 1;
@ -116,7 +116,7 @@ void func_808BAF40(BgTokiSwd* this, GlobalContext* globalCtx) {
this->actor.parent = NULL;
BgTokiSwd_SetupAction(this, func_808BB0AC);
} else {
if (func_8002E084(&this->actor, 0x2000) != 0) {
if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
func_8002F580(&this->actor, globalCtx);
}
}

View file

@ -142,7 +142,7 @@ void func_808BC8B8(BgTreemouth* this, GlobalContext* globalCtx) {
if ((!(Flags_GetEventChkInf(5))) || LINK_IS_ADULT) {
if (LINK_IS_CHILD) {
if (Flags_GetEventChkInf(0xC)) {
if (func_8002E12C(&this->dyna.actor, 1658.0f, 0x7530)) {
if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x7530)) {
this->dyna.actor.flags |= 1;
if (this->dyna.actor.isTargeted) {
this->dyna.actor.flags &= ~1;
@ -151,7 +151,7 @@ void func_808BC8B8(BgTreemouth* this, GlobalContext* globalCtx) {
BgTreemouth_SetupAction(this, func_808BC9EC);
}
}
} else if (func_8002E12C(&this->dyna.actor, 1658.0f, 0x4E20)) {
} else if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x4E20)) {
Flags_SetEventChkInf(0xC);
globalCtx->csCtx.segment = D_808BCE20;
gSaveContext.cutsceneTrigger = 1;
@ -167,7 +167,7 @@ void func_808BC9EC(BgTreemouth* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (globalCtx->csCtx.state == CS_STATE_UNSKIPPABLE_INIT) {
if (func_8002E12C(&this->dyna.actor, 350.0f, 0x7530)) {
if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 350.0f, 0x7530)) {
player->actor.world.pos.x = 3827.0f;
player->actor.world.pos.y = -161.0f;
player->actor.world.pos.z = -1142.0f;

View file

@ -692,9 +692,9 @@ void BossDodongo_Walk(BossDodongo* this, GlobalContext* globalCtx) {
} else if (this->unk_1BC != 2) {
if (((s32)this->skelAnime.curFrame == 1) || ((s32)this->skelAnime.curFrame == 31)) {
if ((s32)this->skelAnime.curFrame == 1) {
func_80033260(globalCtx, &this->actor, &this->unk_410, 25.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->unk_410, 25.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
} else {
func_80033260(globalCtx, &this->actor, &this->unk_404, 25.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->unk_404, 25.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
}
if (this->unk_1BC != 0) {
@ -789,7 +789,7 @@ void BossDodongo_Roll(BossDodongo* this, GlobalContext* globalCtx) {
}
if (!(this->unk_19E & 1)) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA, 0);
}
}
}
@ -1257,7 +1257,7 @@ void BossDodongo_UpdateDamage(BossDodongo* this, GlobalContext* globalCtx) {
if ((this->health <= 0) && (this->actionFunc != BossDodongo_DeathCutscene)) {
BossDodongo_SetupDeathCutscene(this);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
return;
}
@ -1421,7 +1421,8 @@ void BossDodongo_DeathCutscene(BossDodongo* this, GlobalContext* globalCtx) {
Camera_AddQuake(&globalCtx->mainCamera, 2, 1, 8);
}
if (!(this->unk_19E & 1)) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA,
0);
}
tempSin = cornerPos->x - this->actor.world.pos.x;
tempCos = cornerPos->z - this->actor.world.pos.z;
@ -1545,7 +1546,8 @@ void BossDodongo_DeathCutscene(BossDodongo* this, GlobalContext* globalCtx) {
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_K_ROLL - SFX_FLAG);
if (!(this->unk_19E & 1)) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 40.0f, 3, 8.0f, 0x1F4, 0xA,
0);
}
}
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.2f, 0.1f, 0.0f);

View file

@ -886,7 +886,7 @@ void BossFd2_CollisionCheck(BossFd2* this, GlobalContext* globalCtx) {
this->work[FD2_INVINC_TIMER] = 30000;
Audio_SetBGM(0x100100FF);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_DEAD);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else if (damage) {
BossFd2_SetupDamaged(this, globalCtx);
this->work[FD2_DAMAGE_FLASH_TIMER] = 10;

View file

@ -1258,7 +1258,7 @@ void BossGanondrof_CollisionCheck(BossGanondrof* this, GlobalContext* globalCtx)
if ((s8)this->actor.colChkInfo.health <= 0) {
BossGanondrof_SetupDeath(this, globalCtx);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
return;
}
}

View file

@ -368,11 +368,13 @@ void BossGoma_Init(Actor* thisx, GlobalContext* globalCtx) {
void BossGoma_PlayEffectsAndSfx(BossGoma* this, GlobalContext* globalCtx, s16 arg2, s16 amountMinus1) {
if (arg2 == 0 || arg2 == 1 || arg2 == 3) {
func_80033260(globalCtx, &this->actor, &this->rightHandBackLimbWorldPos, 25.0f, amountMinus1, 8.0f, 500, 10, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->rightHandBackLimbWorldPos, 25.0f, amountMinus1, 8.0f, 500,
10, 1);
}
if (arg2 == 0 || arg2 == 2 || arg2 == 3) {
func_80033260(globalCtx, &this->actor, &this->leftHandBackLimbWorldPos, 25.0f, amountMinus1, 8.0f, 500, 10, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->leftHandBackLimbWorldPos, 25.0f, amountMinus1, 8.0f, 500,
10, 1);
}
if (arg2 == 0) {
@ -1372,7 +1374,7 @@ void BossGoma_FloorLandStruckDown(BossGoma* this, GlobalContext* globalCtx) {
this->framesUntilNextAction = 150;
}
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 55.0f, 4, 8.0f, 500, 10, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 55.0f, 4, 8.0f, 500, 10, 1);
}
/**
@ -1398,7 +1400,7 @@ void BossGoma_FloorStunned(BossGoma* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelanime);
if (this->timer == 1) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 55.0f, 4, 8.0f, 500, 10, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 55.0f, 4, 8.0f, 500, 10, 1);
}
Math_ApproachZeroF(&this->actor.speedXZ, 0.5f, 1.0f);
@ -1819,7 +1821,7 @@ void BossGoma_UpdateHit(BossGoma* this, GlobalContext* globalCtx) {
EffectSsSibuki_SpawnBurst(globalCtx, &this->actor.focus.pos);
} else {
BossGoma_SetupDefeated(this, globalCtx);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
}
this->invincibilityFrames = 10;

View file

@ -2544,7 +2544,7 @@ void BossSst_HeadCollisionCheck(BossSst* this, GlobalContext* globalCtx) {
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (this->actionFunc == BossSst_HeadVulnerable) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
BossSst_HeadSetupDeath(this, globalCtx);
} else {
BossSst_HeadSetupDamage(this);

View file

@ -443,7 +443,7 @@ void DemoKankyo_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (globalCtx->sceneNum == SCENE_TOKINOMA) {
if (!Flags_GetEnv(globalCtx, 1)) {
break;
} else if (!func_8002E12C(&this->actor, 300.0f, 0x7530)) {
} else if (!Actor_IsFacingAndNearPlayer(&this->actor, 300.0f, 0x7530)) {
break;
} else {
if (LINK_IS_CHILD) {

View file

@ -560,7 +560,8 @@ void func_809973E8(DoorShutter* this, GlobalContext* globalCtx) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, this->dyna.actor.velocity.y)) {
if (this->dyna.actor.velocity.y > 20.0f) {
this->dyna.actor.floorHeight = this->dyna.actor.home.pos.y;
func_80033260(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 45.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
Actor_SpawnFloorDust(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 45.0f, 0xA, 8.0f, 0x1F4,
0xA, 0);
}
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
quakeId = Quake_Add(Gameplay_GetCamera(globalCtx, 0), 3);
@ -596,7 +597,8 @@ void func_809975C0(DoorShutter* this, GlobalContext* globalCtx) {
this->unk_164 = 10;
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
func_8099803C(globalCtx, 2, 10, parent->subCameraId);
func_80033260(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 70.0f, 20, 8.0f, 500, 10, 1);
Actor_SpawnFloorDust(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 70.0f, 20, 8.0f, 500, 10,
1);
}
}
}

View file

@ -270,7 +270,7 @@ void EnAm_SpawnEffects(EnAm* this, GlobalContext* globalCtx) {
}
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EN_AMOS_WALK);
func_80033260(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 4.0f, 3, 8.0f, 0x12C, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->dyna.actor, &this->dyna.actor.world.pos, 4.0f, 3, 8.0f, 0x12C, 0xF, 0);
}
void EnAm_SetupSleep(EnAm* this) {
@ -348,7 +348,7 @@ void EnAm_SetupRecoilFromDamage(EnAm* this, GlobalContext* globalCtx) {
}
this->dyna.actor.colorFilterTimer = 0;
func_80032C7C(globalCtx, &this->dyna.actor);
Enemy_StartFinishingBlow(globalCtx, &this->dyna.actor);
EnAm_SetupAction(this, EnAm_RecoilFromDamage);
}
@ -800,7 +800,7 @@ void EnAm_UpdateDamage(EnAm* this, GlobalContext* globalCtx) {
if (this->dyna.actor.colChkInfo.damageEffect != AM_DMGEFF_MAGIC_FIRE_LIGHT) {
this->unk_264 = 0;
this->damageEffect = this->dyna.actor.colChkInfo.damageEffect;
func_80035650(&this->dyna.actor, &this->hurtCollider.info, 0);
Actor_SetDropFlag(&this->dyna.actor, &this->hurtCollider.info, 0);
if ((this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_NUT) ||
(this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_STUN) ||

View file

@ -367,7 +367,7 @@ void EnAnubice_Update(Actor* thisx, GlobalContext* globalCtx) {
flameCircle->timer != 0) {
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_PROP);
this->actor.flags &= ~1;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_DEAD);
this->actionFunc = EnAnubice_SetupDie;
return;
@ -379,7 +379,7 @@ void EnAnubice_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.colChkInfo.damageEffect == 2) {
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_PROP);
this->actor.flags &= ~1;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_DEAD);
this->actionFunc = EnAnubice_SetupDie;
return;

View file

@ -715,7 +715,7 @@ void EnBb_Down(EnBb* this, GlobalContext* globalCtx) {
this->actor.velocity.y = 10.0f;
}
this->actor.bgCheckFlags &= ~1;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 7.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 7.0f, 2, 2.0f, 0, 0, 0);
Math_SmoothStepToS(&this->actor.world.rot.y, -this->actor.yawTowardsPlayer, 1, 0xBB8, 0);
}
this->actor.shape.rot.y = this->actor.world.rot.y;
@ -1115,7 +1115,7 @@ void EnBb_Stunned(EnBb* this, GlobalContext* globalCtx) {
} else {
this->actor.velocity.y = 0.0f;
}
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 7.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 7.0f, 2, 2.0f, 0, 0, 0);
}
if (this->actor.colorFilterTimer == 0) {
this->actor.shape.yOffset = 200.0f;
@ -1153,7 +1153,7 @@ void EnBb_CollisionCheck(EnBb* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
this->dmgEffect = this->actor.colChkInfo.damageEffect;
func_80035650(&this->actor, &this->collider.elements[0].info, 0);
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, 0);
switch (this->dmgEffect) {
case 7:
this->actor.freezeTimer = this->collider.elements[0].info.acHitInfo->toucher.damage;

View file

@ -551,12 +551,12 @@ void EnBili_UpdateDamage(EnBili* this, GlobalContext* globalCtx) {
if ((this->actor.colChkInfo.health != 0) && (this->collider.base.acFlags & AC_HIT)) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIRI_DEAD);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.flags &= ~1;
}

View file

@ -424,7 +424,7 @@ void EnBox_WaitOpen(EnBox* this, GlobalContext* globalCtx) {
player = PLAYER;
func_8002DBD0(&this->dyna.actor, &sp4C, &player->actor.world.pos);
if (sp4C.z > -50.0f && sp4C.z < 0.0f && fabsf(sp4C.y) < 10.0f && fabsf(sp4C.x) < 20.0f &&
func_8002DFC8(&this->dyna.actor, 0x3000, globalCtx)) {
Player_IsFacingActor(&this->dyna.actor, 0x3000, globalCtx)) {
func_8002F554(&this->dyna.actor, globalCtx, 0 - (this->dyna.actor.params >> 5 & 0x7F));
}
if (Flags_GetTreasure(globalCtx, this->dyna.actor.params & 0x1F)) {

View file

@ -337,7 +337,7 @@ void func_809CEA24(EnBw* this, GlobalContext* globalCtx) {
case 3:
Math_SmoothStepToF(&this->unk_248, 0.6f, 1.0f, 0.05f, 0.0f);
if ((this->unk_224 == 0) && (this->actor.xzDistToPlayer < 200.0f) &&
(ABS(this->actor.yDistToPlayer) < 50.0f) && func_8002E084(&this->actor, 0x1C70)) {
(ABS(this->actor.yDistToPlayer) < 50.0f) && Actor_IsFacingPlayer(&this->actor, 0x1C70)) {
func_809CF72C(this);
} else {
Math_SmoothStepToS(&this->actor.world.rot.y, this->unk_236 + this->unk_238, 1,
@ -350,7 +350,7 @@ void func_809CEA24(EnBw* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1,
this->actor.speedXZ * 1000.0f, 0);
if ((this->actor.xzDistToPlayer < 90.0f) && (this->actor.yDistToPlayer < 50.0f) &&
func_8002E084(&this->actor, 0x1554) &&
Actor_IsFacingPlayer(&this->actor, 0x1554) &&
func_800339B8(&this->actor, globalCtx, 71.24802f, this->actor.yawTowardsPlayer)) {
func_809CF8F0(this);
}
@ -365,8 +365,8 @@ void func_809CEA24(EnBw* this, GlobalContext* globalCtx) {
}
break;
case 1:
if (((sp64 == 0) && !(this->actor.bgCheckFlags & 8)) || func_8002E084(&this->actor, 0x1C70)) {
if (func_8002E084(&this->actor, 0x1C70)) {
if (((sp64 == 0) && !(this->actor.bgCheckFlags & 8)) || Actor_IsFacingPlayer(&this->actor, 0x1C70)) {
if (Actor_IsFacingPlayer(&this->actor, 0x1C70)) {
this->unk_238 = -this->unk_238;
}
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer - 0x8000, 1,
@ -460,7 +460,7 @@ void func_809CF984(EnBw* this, GlobalContext* globalCtx) {
Actor_Kill(&this->actor);
return;
}
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
this->unk_222 = 3000;
this->actor.flags &= ~0x01000000;
this->actor.speedXZ = 0.0f;
@ -494,7 +494,7 @@ void func_809CFC4C(EnBw* this, GlobalContext* globalCtx) {
this->unk_258 += this->unk_25C;
Math_SmoothStepToF(&this->unk_260, 0.075f, 1.0f, 0.005f, 0.0f);
if (this->actor.bgCheckFlags & 2) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
}
if (this->unk_224 != 0) {
@ -544,7 +544,7 @@ void func_809CFF98(EnBw* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->unk_248, 0.6f, 1.0f, 0.05f, 0.0f);
SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 3) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
this->unk_222 = 0xBB8;
this->unk_250 = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
@ -667,7 +667,7 @@ void func_809D0424(EnBw* this, GlobalContext* globalCtx) {
if (func_800355E4(globalCtx, &this->collider2.base)) {
this->unk_230 = 0;
this->actor.scale.y -= 0.009f;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
} else {
this->unk_230 = 1;
}
@ -681,7 +681,7 @@ void func_809D0584(EnBw* this, GlobalContext* globalCtx) {
if ((this->actor.bgCheckFlags & 0x10) && (this->actor.bgCheckFlags & 1)) {
this->unk_230 = 0;
this->actor.scale.y -= 0.009f;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
func_809D00F4(this);
} else {
if (this->collider2.base.acFlags & AC_HIT) {
@ -690,7 +690,7 @@ void func_809D0584(EnBw* this, GlobalContext* globalCtx) {
return;
}
this->damageEffect = this->actor.colChkInfo.damageEffect;
func_80035650(&this->actor, &this->collider2.info, 0);
Actor_SetDropFlag(&this->actor, &this->collider2.info, 0);
if ((this->damageEffect == 1) || (this->damageEffect == 0xE)) {
if (this->unk_23C == 0) {
Actor_ApplyDamage(&this->actor);
@ -709,7 +709,8 @@ void func_809D0584(EnBw* this, GlobalContext* globalCtx) {
if (func_800355E4(globalCtx, &this->collider2.base)) {
this->unk_230 = 0;
this->actor.scale.y -= 0.009f;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 30.0f, 0xB, 4.0f, 0, 0,
0);
} else {
this->unk_230 = 1;
}

View file

@ -286,7 +286,7 @@ void EnCrow_FlyIdle(EnCrow* this, GlobalContext* globalCtx) {
void EnCrow_DiveAttack(EnCrow* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 yaw;
s32 facingPlayer;
Vec3f pos;
s16 target;
@ -295,9 +295,9 @@ void EnCrow_DiveAttack(EnCrow* this, GlobalContext* globalCtx) {
this->timer--;
}
yaw = func_8002E084(&this->actor, 0x2800);
facingPlayer = Actor_IsFacingPlayer(&this->actor, 0x2800);
if (yaw != 0) {
if (facingPlayer) {
pos.x = player->actor.world.pos.x;
pos.y = player->actor.world.pos.y + 20.0f;
pos.z = player->actor.world.pos.z;
@ -310,7 +310,7 @@ void EnCrow_DiveAttack(EnCrow* this, GlobalContext* globalCtx) {
Math_ApproachS(&this->actor.shape.rot.x, -0x1000, 2, 0x100);
}
if ((yaw != 0) || (this->actor.xzDistToPlayer > 80.0f)) {
if (facingPlayer || (this->actor.xzDistToPlayer > 80.0f)) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 0xC00);
}
@ -413,14 +413,14 @@ void EnCrow_Respawn(EnCrow* this, GlobalContext* globalCtx) {
void EnCrow_UpdateDamage(EnCrow* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.elements[0].info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (this->actor.colChkInfo.damageEffect == 1) { // Deku Nuts
EnCrow_SetupTurnAway(this);
} else {
Actor_ApplyDamage(&this->actor);
this->actor.flags &= ~1;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
EnCrow_SetupDamaged(this, globalCtx);
}
}

View file

@ -446,7 +446,7 @@ void EnDekunuts_Die(EnDekunuts* this, GlobalContext* globalCtx) {
void EnDekunuts_ColliderCheck(EnDekunuts* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if (this->actor.colChkInfo.mass == 0x32) {
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (this->actor.colChkInfo.damageEffect != 1) {
@ -455,7 +455,7 @@ void EnDekunuts_ColliderCheck(EnDekunuts* this, GlobalContext* globalCtx) {
}
EnDekunuts_SetupBeDamaged(this);
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
}
} else if (this->actionFunc != EnDekunuts_BeStunned) {
EnDekunuts_SetupBeStunned(this);

View file

@ -270,7 +270,7 @@ void EnDh_Walk(EnDh* this, GlobalContext* globalCtx) {
}
if (this->actor.xzDistToPlayer <= 100.0f) {
this->actor.speedXZ = 0.0f;
if (func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
if (Actor_IsFacingPlayer(&this->actor, 60 * 0x10000 / 360)) {
EnDh_SetupAttack(this);
}
} else if (--this->timer == 0) {
@ -311,7 +311,7 @@ void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->actionState++;
} else if ((this->actor.xzDistToPlayer > 100.0f) || !func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
} else if ((this->actor.xzDistToPlayer > 100.0f) || !Actor_IsFacingPlayer(&this->actor, 60 * 0x10000 / 360)) {
Animation_Change(&this->skelAnime, &D_06004658, -1.0f, this->skelAnime.curFrame, 0.0f, ANIMMODE_ONCE, -4.0f);
this->actionState = 4;
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = AT_NONE; // also TOUCH_NONE
@ -344,7 +344,7 @@ void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
}
break;
case 3:
if ((this->actor.xzDistToPlayer <= 100.0f) && (func_8002E084(&this->actor, 60 * 0x10000 / 360) != 0)) {
if ((this->actor.xzDistToPlayer <= 100.0f) && (Actor_IsFacingPlayer(&this->actor, 60 * 0x10000 / 360))) {
Animation_Change(&this->skelAnime, &D_06004658, 1.0f, 20.0f, Animation_GetLastFrame(&D_06004658),
ANIMMODE_ONCE, -6.0f);
this->actionState = 0;
@ -427,7 +427,7 @@ void EnDh_Damage(EnDh* this, GlobalContext* globalCtx) {
this->actor.world.rot.y = this->actor.shape.rot.y;
if (this->retreat) {
EnDh_SetupRetreat(this, globalCtx);
} else if ((this->actor.xzDistToPlayer <= 105.0f) && func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
} else if ((this->actor.xzDistToPlayer <= 105.0f) && Actor_IsFacingPlayer(&this->actor, 60 * 0x10000 / 360)) {
f32 frames = Animation_GetLastFrame(&D_06004658);
EnDh_SetupAttack(this);

View file

@ -356,7 +356,7 @@ s32 func_809F70E8(EnDodojr* this, GlobalContext* globalCtx) {
}
if ((this->actor.colChkInfo.damageEffect == 0) && (this->actor.colChkInfo.damage != 0)) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->timer2 = 2;
this->actionFunc = func_809F7C48;
return 1;

View file

@ -551,13 +551,13 @@ void EnDodongo_Walk(EnDodongo* this, GlobalContext* globalCtx) {
if ((s32)this->skelAnime.curFrame < 21) {
if (!this->rightFootStep) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_WALK);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->leftFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
this->rightFootStep = true;
}
} else {
if (this->rightFootStep) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_WALK);
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->rightFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
this->rightFootStep = false;
}
}
@ -642,11 +642,11 @@ void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx) {
tailPos.x = this->sphElements[1].dim.worldSphere.center.x;
tailPos.y = this->sphElements[1].dim.worldSphere.center.y;
tailPos.z = this->sphElements[1].dim.worldSphere.center.z;
func_80033260(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
tailPos.x = this->sphElements[2].dim.worldSphere.center.x;
tailPos.y = this->sphElements[2].dim.worldSphere.center.y;
tailPos.z = this->sphElements[2].dim.worldSphere.center.z;
func_80033260(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
if (this->colliderBody.base.atFlags & AT_HIT) {
Player* player = PLAYER;
@ -717,7 +717,7 @@ void EnDodongo_CollisionCheck(EnDodongo* this, GlobalContext* globalCtx) {
this->colliderBody.base.acFlags &= ~AC_HIT;
} else if ((this->colliderBody.base.acFlags & AC_HIT) && (this->actionState > DODONGO_DEATH)) {
this->colliderBody.base.acFlags &= ~AC_HIT;
func_8003573C(&this->actor, &this->colliderBody, 0);
Actor_SetDropFlagJntSph(&this->actor, &this->colliderBody, 0);
if (this->actor.colChkInfo.damageEffect != 0xE) {
this->damageEffect = this->actor.colChkInfo.damageEffect;
if ((this->actor.colChkInfo.damageEffect == 1) || (this->actor.colChkInfo.damageEffect == 0xF)) {

View file

@ -610,11 +610,11 @@ void EnEiyer_Stunned(EnEiyer* this, GlobalContext* globalCtx) {
void EnEiyer_UpdateDamage(EnEiyer* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_EIER_DEAD);
this->actor.flags &= ~1;
}

View file

@ -293,7 +293,7 @@ s32 EnFd_ColliderCheck(EnFd* this, GlobalContext* globalCtx) {
this->invincibilityTimer = 30;
this->actor.flags &= ~1;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLAME_DAMAGE);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
return true;
} else if (DECR(this->attackTimer) == 0 && this->collider.base.atFlags & AT_HIT) {
this->collider.base.atFlags &= ~AT_HIT;
@ -666,7 +666,7 @@ void EnFd_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actor.flags &= ~1;
this->invincibilityTimer = 30;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLAME_DAMAGE);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else {
this->actor.flags &= ~0x2000;
}

View file

@ -201,8 +201,8 @@ void EnFireRock_Fall(EnFireRock* this, GlobalContext* globalCtx) {
case FIRE_ROCK_SPAWNED_FALLING2:
func_80033E88(&this->actor, globalCtx, 5, 2);
case FIRE_ROCK_BROKEN_PIECE1:
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1, 8.0f,
500, 10, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1,
8.0f, 500, 10, 0);
for (i = 0; i < 5; i++) {
flamePos.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x;
flamePos.y = this->actor.floorHeight;
@ -212,8 +212,8 @@ void EnFireRock_Fall(EnFireRock* this, GlobalContext* globalCtx) {
this->actionFunc = EnFireRock_SpawnMoreBrokenPieces;
break;
default:
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 3, 8.0f,
200, 10, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 3,
8.0f, 200, 10, 0);
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 40, NA_SE_EV_EXPLOSION);
Actor_Kill(&this->actor);
break;

View file

@ -465,7 +465,7 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
if (this->actor.bgCheckFlags & 8) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.wallYaw, 2, 0xC00, 0x300);
Math_ScaledStepToS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
} else if (func_8002E084(&this->actor, 0x2800)) {
} else if (Actor_IsFacingPlayer(&this->actor, 0x2800)) {
if (Animation_OnFrame(&this->skelAnime, 4.0f)) {
this->skelAnime.playSpeed = 0.0f;
this->skelAnime.curFrame = 4.0f;
@ -623,11 +623,11 @@ void EnFirefly_UpdateDamage(EnFirefly* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.elements[0].info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.flags &= ~1;
}
@ -636,7 +636,7 @@ void EnFirefly_UpdateDamage(EnFirefly* this, GlobalContext* globalCtx) {
if (damageEffect == 2) { // Din's Fire
if (this->actor.params == KEESE_ICE_FLY) {
this->actor.colChkInfo.health = 0;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
EnFirefly_Combust(this, globalCtx);
EnFirefly_SetupFall(this);
} else if (!this->onFire) {

View file

@ -255,7 +255,7 @@ void EnFloormas_SetupHover(EnFloormas* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
this->actor.gravity = 0.0f;
EnFloormas_MakeInvulnerable(this);
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 15.0f, 6, 20.0f, 0x12C, 0x64, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 15.0f, 6, 20.0f, 0x12C, 0x64, 1);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLOORMASTER_ATTACK);
this->actionFunc = EnFloormas_Hover;
}
@ -444,11 +444,11 @@ void EnFloormas_Die(EnFloormas* this, GlobalContext* globalCtx) {
void EnFloormas_BigDecideAction(EnFloormas* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
// within 400 units of link and within 90 degrees rotation of him
if (this->actor.xzDistToPlayer < 400.0f && !func_8002E084(&this->actor, 0x4000)) {
if (this->actor.xzDistToPlayer < 400.0f && !Actor_IsFacingPlayer(&this->actor, 0x4000)) {
this->actionTarget = this->actor.yawTowardsPlayer;
EnFloormas_SetupTurn(this);
// within 280 units of link and within 45 degrees rotation of him
} else if (this->actor.xzDistToPlayer < 280.0f && func_8002E084(&this->actor, 0x2000)) {
} else if (this->actor.xzDistToPlayer < 280.0f && Actor_IsFacingPlayer(&this->actor, 0x2000)) {
EnFloormas_SetupHover(this, globalCtx);
} else {
EnFloormas_SetupStand(this);
@ -483,13 +483,13 @@ void EnFloormas_BigWalk(EnFloormas* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_WALK);
}
if ((this->actor.xzDistToPlayer < 320.0f) && (func_8002E084(&this->actor, 0x4000))) {
if ((this->actor.xzDistToPlayer < 320.0f) && (Actor_IsFacingPlayer(&this->actor, 0x4000))) {
EnFloormas_SetupRun(this);
} else if (this->actor.bgCheckFlags & 8) {
// set target rotation to the colliding wall's rotation
this->actionTarget = this->actor.wallYaw;
EnFloormas_SetupTurn(this);
} else if ((this->actor.xzDistToPlayer < 400.0f) && !func_8002E084(&this->actor, 0x4000)) {
} else if ((this->actor.xzDistToPlayer < 400.0f) && !Actor_IsFacingPlayer(&this->actor, 0x4000)) {
// set target rotation to link.
this->actionTarget = this->actor.yawTowardsPlayer;
EnFloormas_SetupTurn(this);
@ -514,7 +514,7 @@ void EnFloormas_Run(EnFloormas* this, GlobalContext* globalCtx) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0x71C);
if ((this->actor.xzDistToPlayer < 280.0f) && func_8002E084(&this->actor, 0x2000) &&
if ((this->actor.xzDistToPlayer < 280.0f) && Actor_IsFacingPlayer(&this->actor, 0x2000) &&
!(this->actor.bgCheckFlags & 8)) {
EnFloormas_SetupHover(this, globalCtx);
} else if (this->actor.xzDistToPlayer > 400.0f) {
@ -980,7 +980,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, GlobalContext* globalCtx) {
if ((this->collider.base.acFlags & AC_HIT) != 0) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (this->collider.base.colType != COLTYPE_HARD) {
isSmall = 0;
@ -997,7 +997,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, GlobalContext* globalCtx) {
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_DEAD);
}
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.flags &= ~1;
} else if (this->actor.colChkInfo.damage != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_DAMAGE);

View file

@ -150,7 +150,7 @@ s32 EnFw_CheckCollider(EnFw* this, GlobalContext* globalCtx) {
this->collider.base.acFlags &= ~AC_HIT;
if (Actor_ApplyDamage(&this->actor) <= 0) {
if (this->actor.parent->colChkInfo.health <= 8) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.parent->colChkInfo.health = 0;
} else {
this->actor.parent->colChkInfo.health -= 8;

View file

@ -323,7 +323,7 @@ s32 EnGeldB_ReactToPlayer(GlobalContext* globalCtx, EnGeldB* this, s16 arg2) {
} else {
s16 angleToFacingLink = player->actor.shape.rot.y - thisx->shape.rot.y;
if ((thisx->xzDistToPlayer <= 45.0f) && !func_80033AB8(globalCtx, thisx) &&
if ((thisx->xzDistToPlayer <= 45.0f) && !Actor_OtherIsTargeted(globalCtx, thisx) &&
((globalCtx->gameplayFrames & 7) || (ABS(angleToFacingLink) < 0x38E0))) {
EnGeldB_SetupSlash(this);
return true;
@ -366,8 +366,8 @@ void EnGeldB_Wait(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.focus.pos = this->actor.world.pos;
this->actor.bgCheckFlags &= ~2;
this->actor.velocity.y = 0.0f;
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
}
if (SkelAnime_Update(&this->skelAnime)) {
EnGeldB_SetupReady(this);
@ -391,8 +391,8 @@ void EnGeldB_Flee(EnGeldB* this, GlobalContext* globalCtx) {
}
if (this->skelAnime.curFrame == 2.0f) {
this->actor.gravity = 0.0f;
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
}
if (SkelAnime_Update(&this->skelAnime)) {
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.floorHeight + 300.0f, 1.0f, 20.5f, 0.0f);
@ -443,10 +443,10 @@ void EnGeldB_Ready(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
EnGeldB_SetupCircle(this);
} else if (--this->timer == 0) {
if (func_8002E084(&this->actor, 30 * 0x10000 / 360)) {
if (Actor_IsFacingPlayer(&this->actor, 30 * 0x10000 / 360)) {
if ((210.0f > this->actor.xzDistToPlayer) && (this->actor.xzDistToPlayer > 150.0f) &&
(Rand_ZeroOne() < 0.3f)) {
if (func_80033AB8(globalCtx, &this->actor) || (Rand_ZeroOne() > 0.5f) ||
if (Actor_OtherIsTargeted(globalCtx, &this->actor) || (Rand_ZeroOne() > 0.5f) ||
(ABS(angleToLink) < 0x38E0)) {
EnGeldB_SetupRollForward(this);
} else {
@ -510,17 +510,17 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
playSpeed = ABS(this->skelAnime.playSpeed);
prevKeyFrame = (s32)(this->skelAnime.curFrame - playSpeed);
playSpeed = ABS(this->skelAnime.playSpeed); // yes it does this twice.
if (!func_8002E084(&this->actor, 0x11C7)) {
if (!Actor_IsFacingPlayer(&this->actor, 0x11C7)) {
if (Rand_ZeroOne() > 0.5f) {
EnGeldB_SetupCircle(this);
} else {
EnGeldB_SetupReady(this);
}
} else if (this->actor.xzDistToPlayer < 90.0f) {
if (!func_80033AB8(globalCtx, &this->actor) &&
if (!Actor_OtherIsTargeted(globalCtx, &this->actor) &&
(Rand_ZeroOne() > 0.03f || (this->actor.xzDistToPlayer <= 45.0f && facingAngletoLink < 0x38E0))) {
EnGeldB_SetupSlash(this);
} else if (func_80033AB8(globalCtx, &this->actor) && (Rand_ZeroOne() > 0.5f)) {
} else if (Actor_OtherIsTargeted(globalCtx, &this->actor) && (Rand_ZeroOne() > 0.5f)) {
EnGeldB_SetupRollBack(this);
} else {
EnGeldB_SetupCircle(this);
@ -528,8 +528,8 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
}
if (!EnGeldB_ReactToPlayer(globalCtx, this, 0)) {
if ((210.0f > this->actor.xzDistToPlayer) && (this->actor.xzDistToPlayer > 150.0f) &&
func_8002E084(&this->actor, 0x71C)) {
if (func_80033A84(globalCtx, &this->actor)) {
Actor_IsFacingPlayer(&this->actor, 0x71C)) {
if (Actor_IsTargeted(globalCtx, &this->actor)) {
if (Rand_ZeroOne() > 0.5f) {
EnGeldB_SetupRollForward(this);
} else {
@ -572,13 +572,13 @@ void EnGeldB_RollForward(EnGeldB* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->invisible = false;
this->actor.speedXZ = 0.0f;
if (!func_8002E084(&this->actor, 0x1554)) {
if (!Actor_IsFacingPlayer(&this->actor, 0x1554)) {
EnGeldB_SetupReady(this);
this->timer = (Rand_ZeroOne() * 5.0f) + 5.0f;
if (ABS(facingAngleToLink) < 0x38E0) {
this->lookTimer = 20;
}
} else if (!func_80033AB8(globalCtx, &this->actor) &&
} else if (!Actor_OtherIsTargeted(globalCtx, &this->actor) &&
(Rand_ZeroOne() > 0.5f || (ABS(facingAngleToLink) < 0x3FFC))) {
EnGeldB_SetupSlash(this);
} else {
@ -614,7 +614,7 @@ void EnGeldB_Pivot(EnGeldB* this, GlobalContext* globalCtx) {
}
this->skelAnime.playSpeed = -playSpeed;
SkelAnime_Update(&this->skelAnime);
if (func_8002E084(&this->actor, 30 * 0x10000 / 360)) {
if (Actor_IsFacingPlayer(&this->actor, 30 * 0x10000 / 360)) {
if (Rand_ZeroOne() > 0.8f) {
EnGeldB_SetupCircle(this);
} else {
@ -717,10 +717,10 @@ void EnGeldB_Circle(EnGeldB* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_BREATH);
}
if ((Math_CosS(angleBehindLink - this->actor.shape.rot.y) < -0.85f) &&
!func_80033AB8(globalCtx, &this->actor) && (this->actor.xzDistToPlayer <= 45.0f)) {
!Actor_OtherIsTargeted(globalCtx, &this->actor) && (this->actor.xzDistToPlayer <= 45.0f)) {
EnGeldB_SetupSlash(this);
} else if (--this->timer == 0) {
if (func_80033AB8(globalCtx, &this->actor) && (Rand_ZeroOne() > 0.5f)) {
if (Actor_OtherIsTargeted(globalCtx, &this->actor) && (Rand_ZeroOne() > 0.5f)) {
EnGeldB_SetupRollBack(this);
} else {
EnGeldB_SetupReady(this);
@ -813,7 +813,7 @@ void EnGeldB_SpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
if (this->timer == 0) {
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
if (!EnGeldB_DodgeRanged(globalCtx, this)) {
if (!func_80033AB8(globalCtx, &this->actor) && (this->actor.xzDistToPlayer <= 70.0f)) {
if (!Actor_OtherIsTargeted(globalCtx, &this->actor) && (this->actor.xzDistToPlayer <= 70.0f)) {
EnGeldB_SetupSlash(this);
} else {
EnGeldB_SetupRollBack(this);
@ -858,7 +858,7 @@ void EnGeldB_Slash(EnGeldB* this, GlobalContext* globalCtx) {
this->swordCollider.base.atFlags &= ~(AT_HIT | AT_BOUNCED);
EnGeldB_SetupRollBack(this);
} else if (SkelAnime_Update(&this->skelAnime)) {
if (!func_8002E084(&this->actor, 0x1554)) {
if (!Actor_IsFacingPlayer(&this->actor, 0x1554)) {
EnGeldB_SetupReady(this);
this->timer = (Rand_ZeroOne() * 5.0f) + 5.0f;
if (angleToLink > 0x4000) {
@ -923,8 +923,8 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
if ((s32)this->skelAnime.curFrame < 9) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
} else if ((s32)this->skelAnime.curFrame == 13) {
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
this->swordState = 1;
this->actor.speedXZ = 10.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK);
@ -934,7 +934,7 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
this->swordState = -1;
}
if (SkelAnime_Update(&this->skelAnime) && (this->spinAttackState < 2)) {
if (!func_8002E084(&this->actor, 0x1554)) {
if (!Actor_IsFacingPlayer(&this->actor, 0x1554)) {
EnGeldB_SetupReady(this);
this->timer = (Rand_ZeroOne() * 5.0f) + 5.0f;
this->lookTimer = 46;
@ -980,7 +980,7 @@ void EnGeldB_SetupRollBack(EnGeldB* this) {
void EnGeldB_RollBack(EnGeldB* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
if (!func_80033AB8(globalCtx, &this->actor) && (this->actor.xzDistToPlayer < 170.0f) &&
if (!Actor_OtherIsTargeted(globalCtx, &this->actor) && (this->actor.xzDistToPlayer < 170.0f) &&
(this->actor.xzDistToPlayer > 140.0f) && (Rand_ZeroOne() < 0.2f)) {
EnGeldB_SetupSpinAttack(this);
} else if (globalCtx->gameplayFrames & 1) {
@ -1062,7 +1062,7 @@ void EnGeldB_Damaged(EnGeldB* this, GlobalContext* globalCtx) {
if ((this->actor.bgCheckFlags & 8) && (ABS(angleToWall) < 0x2EE0) && (this->actor.xzDistToPlayer < 90.0f)) {
EnGeldB_SetupJump(this);
} else if (!EnGeldB_DodgeRanged(globalCtx, this)) {
if ((this->actor.xzDistToPlayer <= 45.0f) && !func_80033AB8(globalCtx, &this->actor) &&
if ((this->actor.xzDistToPlayer <= 45.0f) && !Actor_OtherIsTargeted(globalCtx, &this->actor) &&
(globalCtx->gameplayFrames & 7)) {
EnGeldB_SetupSlash(this);
} else {
@ -1098,7 +1098,7 @@ void EnGeldB_Jump(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
this->actor.world.pos.y = this->actor.floorHeight;
if (!func_80033AB8(globalCtx, &this->actor)) {
if (!Actor_OtherIsTargeted(globalCtx, &this->actor)) {
EnGeldB_SetupSlash(this);
} else {
EnGeldB_SetupReady(this);
@ -1144,7 +1144,7 @@ void EnGeldB_Block(EnGeldB* this, GlobalContext* globalCtx) {
}
} else {
angleFacingLink = player->actor.shape.rot.y - this->actor.shape.rot.y;
if (!func_80033AB8(globalCtx, &this->actor) &&
if (!Actor_OtherIsTargeted(globalCtx, &this->actor) &&
((globalCtx->gameplayFrames & 1) || (ABS(angleFacingLink) < 0x38E0))) {
EnGeldB_SetupSlash(this);
} else {
@ -1275,12 +1275,12 @@ void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx) {
s16 angleFacingPlayer2 = player2->actor.shape.rot.y - this->actor.shape.rot.y;
this->actor.world.rot.y = this->actor.shape.rot.y;
if ((this->actor.xzDistToPlayer <= 45.0f) && (!func_80033AB8(globalCtx, &this->actor)) &&
if ((this->actor.xzDistToPlayer <= 45.0f) && !Actor_OtherIsTargeted(globalCtx, &this->actor) &&
(!(globalCtx->gameplayFrames & 3) || (ABS(angleFacingPlayer2) < 0x38E0))) {
EnGeldB_SetupSlash(this);
} else if ((210.0f > this->actor.xzDistToPlayer) && (this->actor.xzDistToPlayer > 150.0f) &&
!(globalCtx->gameplayFrames & 1)) {
if (func_80033AB8(globalCtx, &this->actor) || (Rand_ZeroOne() > 0.5f) ||
if (Actor_OtherIsTargeted(globalCtx, &this->actor) || (Rand_ZeroOne() > 0.5f) ||
(ABS(angleFacingPlayer2) < 0x38E0)) {
EnGeldB_SetupRollForward(this);
} else {
@ -1358,7 +1358,7 @@ void EnGeldB_CollisionCheck(EnGeldB* this, GlobalContext* globalCtx) {
this->bodyCollider.base.acFlags &= ~AC_HIT;
if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) {
this->damageEffect = this->actor.colChkInfo.damageEffect;
func_80035650(&this->actor, &this->bodyCollider.info, 1);
Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, 1);
func_800F8A44(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH);
if ((this->actor.colChkInfo.damageEffect == GELDB_DMG_STUN) ||
(this->actor.colChkInfo.damageEffect == GELDB_DMG_FREEZE)) {
@ -1380,7 +1380,7 @@ void EnGeldB_CollisionCheck(EnGeldB* this, GlobalContext* globalCtx) {
}
}
EnGeldB_SetupDefeated(this);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else {
EnGeldB_SetupDamaged(this);
}
@ -1606,7 +1606,7 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
s32 EnGeldB_DodgeRanged(GlobalContext* globalCtx, EnGeldB* this) {
Actor* actor = func_80033780(globalCtx, &this->actor, 800.0f);
Actor* actor = Actor_GetProjectileActor(globalCtx, &this->actor, 800.0f);
if (actor != NULL) {
s16 angleToFacing;

View file

@ -333,7 +333,7 @@ void EnGoma_SetupHurt(EnGoma* this, GlobalContext* globalCtx) {
if ((s8)this->actor.colChkInfo.health <= 0) {
this->actionTimer = 5;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else {
this->actionTimer = 10;
}

View file

@ -462,7 +462,7 @@ void EnHintnuts_Freeze(EnHintnuts* this, GlobalContext* globalCtx) {
void EnHintnuts_ColliderCheck(EnHintnuts* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if (this->collider.base.ac->id != ACTOR_EN_NUTSBALL) {
EnHintnuts_SetupBurrow(this);
} else {

View file

@ -285,7 +285,7 @@ Actor* func_80A74674(GlobalContext* globalCtx, Actor* actor) {
if ((prop == actor) || (prop->id != ACTOR_BG_JYA_IRONOBJ)) {
prop = prop->next;
continue;
} else if (func_8002E1A8(actor, prop, 80.0f, 0x2710)) {
} else if (Actor_ActorAIsFacingAndNearActorB(actor, prop, 80.0f, 0x2710)) {
return prop;
}
@ -711,7 +711,7 @@ void func_80A75C38(EnIk* this, GlobalContext* globalCtx) {
}
sp38 = this->actor.world.pos;
sp38.y += 50.0f;
func_80035650(&this->actor, &this->bodyCollider.info, 1);
Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, 1);
temp_v0_3 = this->actor.colChkInfo.damageEffect;
this->unk_2FD = temp_v0_3 & 0xFF;
this->bodyCollider.base.acFlags &= ~AC_HIT;
@ -745,7 +745,7 @@ void func_80A75C38(EnIk* this, GlobalContext* globalCtx) {
if (this->actor.colChkInfo.health == 0) {
func_80A7598C(this);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
return;
}
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0x7D0, 0);

View file

@ -272,7 +272,7 @@ void EnKarebaba_Upright(EnKarebaba* this, GlobalContext* globalCtx) {
if (this->bodyCollider.base.acFlags & AC_HIT) {
EnKarebaba_SetupDying(this);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else if (Math_Vec3f_DistXZ(&this->actor.home.pos, &player->actor.world.pos) > 240.0f) {
EnKarebaba_SetupRetract(this);
} else if (this->actor.params == 0) {
@ -315,7 +315,7 @@ void EnKarebaba_Spin(EnKarebaba* this, GlobalContext* globalCtx) {
if (this->bodyCollider.base.acFlags & AC_HIT) {
EnKarebaba_SetupDying(this);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
} else if (this->actor.params == 0) {
EnKarebaba_SetupUpright(this);
}

View file

@ -643,7 +643,7 @@ void func_80AA7310(EnMb* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.5f, 1.0f, 0.0f);
if (this->actor.speedXZ > 1.0f) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
}
if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->unk_32A == 0) {
@ -687,7 +687,7 @@ void func_80AA74BC(EnMb* this, GlobalContext* globalCtx) {
if (this->actor.bgCheckFlags & 1) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 1.5f, 0.0f);
if (1.0f < this->actor.speedXZ) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
}
if (this->unk_32A != 0) {
this->unk_32E--;
@ -753,7 +753,7 @@ void func_80AA77D0(EnMb* this, GlobalContext* globalCtx) {
} else {
this->actor.speedXZ = 10.0f;
this->attackParams = 1;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
if ((currentFrame != (s32)this->skelAnime.curFrame) &&
(((s32)this->skelAnime.curFrame == 2) || ((s32)this->skelAnime.curFrame == 6))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
@ -846,7 +846,7 @@ void func_80AA7CAC(EnMb* this, GlobalContext* globalCtx) {
} else {
this->actor.speedXZ = 10.0f;
this->attackParams = 1;
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
if (currentFrame != (s32)this->skelAnime.curFrame) {
if (((s32)this->skelAnime.curFrame == 2 || (s32)this->skelAnime.curFrame == 6)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
@ -913,7 +913,7 @@ void func_80AA800C(EnMb* this, GlobalContext* globalCtx) {
sp50 = !func_800339B8(&this->actor, globalCtx, 110.0f, this->actor.world.rot.y);
currentFrame = (s32)this->skelAnime.curFrame;
SkelAnime_Update(&this->skelAnime);
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
if (currentFrame != (s32)this->skelAnime.curFrame) {
if (((s32)this->skelAnime.curFrame == 2) || ((s32)this->skelAnime.curFrame == 6)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
@ -1043,7 +1043,7 @@ void func_80AA8514(EnMb* this, GlobalContext* globalCtx) {
}
} else if (((s32)this->skelAnime.curFrame == 15) || ((s32)this->skelAnime.curFrame == 22)) {
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
func_80033260(globalCtx, &this->actor, &effPosition, 50.0f, 0xA, 3.0f, 0x190, 0x3C, 0);
Actor_SpawnFloorDust(globalCtx, &this->actor, &effPosition, 50.0f, 0xA, 3.0f, 0x190, 0x3C, 0);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
Camera_AddQuake(&globalCtx->mainCamera, 2, 0x19, 5);
}
@ -1328,7 +1328,7 @@ void func_80AA94D8(EnMb* this, GlobalContext* globalCtx) {
}
this->unk_188 = this->actor.colChkInfo.damageEffect;
this->attackParams = 0;
func_80035650(&this->actor, &this->collider1.info, 0);
Actor_SetDropFlag(&this->actor, &this->collider1.info, 0);
if ((this->actor.colChkInfo.damageEffect == 1) || (this->actor.colChkInfo.damageEffect == 6)) {
if (this->unk_320 != 5) {
Actor_ApplyDamage(&this->actor);

View file

@ -334,7 +334,7 @@ s32 EnNy_CollisionCheck(EnNy* this, GlobalContext* globalCtx) {
this->actor.shape.shadowAlpha = 0;
this->actor.flags &= ~1;
this->unk_1D0 = sp3F;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
return 1;
}
EffectSsHitMark_SpawnFixedScale(globalCtx, 0, &effectPos);

View file

@ -557,9 +557,9 @@ void EnOkuta_UpdateHeadScale(EnOkuta* this) {
void EnOkuta_ColliderCheck(EnOkuta* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.colChkInfo.health = 0;
this->actor.flags &= ~1;
if (this->actor.colChkInfo.damageEffect == 3) {

View file

@ -888,7 +888,7 @@ void EnPeehat_Adult_CollisionCheck(EnPeehat* this, GlobalContext* globalCtx) {
this->colJntSph.base.acFlags &= ~AC_HIT;
} else if (this->colJntSph.base.acFlags & AC_HIT) {
this->colJntSph.base.acFlags &= ~AC_HIT;
func_8003573C(&this->actor, &this->colJntSph, 1);
Actor_SetDropFlagJntSph(&this->actor, &this->colJntSph, 1);
if (this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_NUT ||
this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_LIGHT_ICE_ARROW) {
return;

View file

@ -728,7 +728,7 @@ void EnPoField_TestForDamage(EnPoField* this, GlobalContext* globalCtx) {
this->collider.base.acFlags &= ~AC_HIT;
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DEAD);
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DAMAGE);

View file

@ -262,7 +262,7 @@ void EnPoRelay_EndRace(EnPoRelay* this, GlobalContext* globalCtx) {
} else if (globalCtx->roomCtx.curRoom.num == 5) {
Actor_Kill(&this->actor);
gSaveContext.timer1State = 0;
} else if (func_8002E12C(&this->actor, 150.0f, 0x3000) != 0) {
} else if (Actor_IsFacingAndNearPlayer(&this->actor, 150.0f, 0x3000)) {
this->actor.textId = this->textId;
func_8002F2CC(&this->actor, globalCtx, 250.0f);
}

View file

@ -1134,7 +1134,7 @@ void func_80ADC10C(EnPoSisters* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if (this->unk_195 != 0) {
((EnPoSisters*)this->actor.parent)->unk_19C--;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_LAUGH2);
@ -1163,7 +1163,7 @@ void func_80ADC10C(EnPoSisters* this, GlobalContext* globalCtx) {
if (Actor_ApplyDamage(&this->actor) != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DAMAGE);
} else {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_SISTER_DEAD);
}
func_80AD95D8(this);

View file

@ -537,7 +537,7 @@ void func_80ADEC9C(EnPoh* this, GlobalContext* globalCtx) {
if (this->actor.xzDistToPlayer > 280.0f) {
EnPoh_SetupIdle(this);
} else if (this->unk_198 == 0 && this->actor.xzDistToPlayer < 140.0f &&
func_8002DFC8(&this->actor, 0x2AAA, globalCtx) == 0) {
!Player_IsFacingActor(&this->actor, 0x2AAA, globalCtx)) {
EnPoh_SetupAttack(this);
}
if (this->lightColor.a == 255) {
@ -866,7 +866,7 @@ void func_80AE032C(EnPoh* this, GlobalContext* globalCtx) {
this->colliderCyl.base.acFlags &= ~AC_HIT;
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DEAD);
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DAMAGE);

View file

@ -357,7 +357,7 @@ void func_80AE2C1C(EnRd* this, GlobalContext* globalCtx) {
}
if (!this->unk_307 && (Actor_WorldDistXYZToActor(&this->actor, &player->actor) <= 45.0f) &&
func_8002E084(&this->actor, 0x38E3)) {
Actor_IsFacingPlayer(&this->actor, 0x38E3)) {
player->actor.freezeTimer = 0;
if (globalCtx->grabPlayer(globalCtx, player)) {
this->actor.flags &= ~1;
@ -763,7 +763,7 @@ void func_80AE4114(EnRd* this, GlobalContext* globalCtx) {
this->unk_31C = this->actor.colChkInfo.damageEffect;
if (this->unk_31B != 11) {
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
if (player->unk_844 != 0) {
this->unk_31D = player->unk_845;
}

View file

@ -200,8 +200,8 @@ void func_80AE5054(EnReeba* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelanime);
if ((globalCtx->gameplayFrames % 4) == 0) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1, 8.0f, 500, 10,
1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1, 8.0f,
500, 10, 1);
}
if (this->unk_278 == 0) {
@ -341,8 +341,8 @@ void func_80AE56E0(EnReeba* this, GlobalContext* globalCtx) {
if ((this->unk_284 + 10.0f) <= this->actor.shape.yOffset) {
if ((globalCtx->gameplayFrames % 4) == 0) {
func_80033260(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1, 8.0f, 500,
10, 1);
Actor_SpawnFloorDust(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale, 1,
8.0f, 500, 10, 1);
}
Math_ApproachF(&this->actor.shape.yOffset, this->unk_284, 1.0f, this->unk_288);
@ -439,7 +439,7 @@ void func_80AE5A9C(EnReeba* this, GlobalContext* globalCtx) {
}
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIVA_DEAD);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actionfunc = func_80AE5C38;
}
}
@ -546,7 +546,7 @@ void func_80AE5EDC(EnReeba* this, GlobalContext* globalCtx) {
Actor_ApplyDamage(&this->actor);
if (this->actor.colChkInfo.health == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIVA_DEAD);
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actionfunc = func_80AE5BC4;
} else {
if (this->actionfunc == func_80AE5E48) {

View file

@ -427,7 +427,7 @@ s32 EnSb_UpdateDamage(EnSb* this, GlobalContext* globalCtx) {
this->hitByWindArrow = hitByWindArrow;
BodyBreak_Alloc(&this->bodyBreak, 8, globalCtx);
this->isDead = true;
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 40, NA_SE_EN_SHELL_DEAD);
return 1;
}

View file

@ -237,7 +237,7 @@ void EnShopnuts_SpawnSalesman(EnShopnuts* this, GlobalContext* globalCtx) {
void EnShopnuts_ColliderCheck(EnShopnuts* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
EnShopnuts_SetupSpawnSalesman(this);
} else if (globalCtx->actorCtx.unk_02 != 0) {
EnShopnuts_SetupSpawnSalesman(this);

View file

@ -191,7 +191,7 @@ void EnSkb_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_80AFCD60(EnSkb* this) {
if (gSaveContext.nightFlag == 0) {
func_80AFCF48(this);
} else if ((func_8002E084(&this->actor, 0x11C7) != 0) &&
} else if (Actor_IsFacingPlayer(&this->actor, 0x11C7) &&
(this->actor.xzDistToPlayer < (60.0f + (this->actor.params * 6.0f)))) {
func_80AFD33C(this);
} else {
@ -288,7 +288,7 @@ void EnSkb_Advance(EnSkb* this, GlobalContext* globalCtx) {
}
if (Math_Vec3f_DistXZ(&this->actor.home.pos, &player->actor.world.pos) > 800.0f || gSaveContext.nightFlag == 0) {
func_80AFCF48(this);
} else if ((func_8002E084(&this->actor, 0x11C7) != 0) &&
} else if (Actor_IsFacingPlayer(&this->actor, 0x11C7) &&
(this->actor.xzDistToPlayer < (60.0f + (this->actor.params * 6.0f)))) {
func_80AFD33C(this);
}
@ -447,7 +447,7 @@ void func_80AFD968(EnSkb* this, GlobalContext* globalCtx) {
this->collider.base.acFlags &= ~2;
if (this->actor.colChkInfo.damageEffect != 6) {
this->unk_282 = this->actor.colChkInfo.damageEffect;
func_80035650(&this->actor, &this->collider.elements[1].info, 1);
Actor_SetDropFlag(&this->actor, &this->collider.elements[1].info, 1);
this->unk_281 = 0;
if (this->actor.colChkInfo.damageEffect == 1) {
if (this->unk_280 != 6) {

View file

@ -472,7 +472,7 @@ s32 EnSt_CheckHitBackside(EnSt* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_DAMAGE);
return false;
}
func_80032C7C(globalCtx, &this->actor);
Enemy_StartFinishingBlow(globalCtx, &this->actor);
this->actor.flags &= ~1;
this->groundBounces = 3;
this->deathTimer = 20;

Some files were not shown because too many files have changed in this diff Show more