Decomp Actor

This commit is contained in:
Aetias
2024-05-19 10:49:14 +02:00
parent 7ccd1447b0
commit c1384df63c
48 changed files with 275 additions and 140 deletions
+13 -13
View File
@@ -525,9 +525,9 @@ _020c1a28: .word gPlayer
_020c1a2c: .word gPlayerLink
arm_func_end _ZN5Actor18func_ov00_020c198cEv
.global _ZN20KillPickupItemActors6FilterEP5Actor
arm_func_start _ZN20KillPickupItemActors6FilterEP5Actor
_ZN20KillPickupItemActors6FilterEP5Actor: ; 0x020c1a30
.global _ZN17KillPickupsFilter6FilterEP5Actor
arm_func_start _ZN17KillPickupsFilter6FilterEP5Actor
_ZN17KillPickupsFilter6FilterEP5Actor: ; 0x020c1a30
stmdb sp!, {r3, lr}
ldr ip, [r1, #4]
ldr r3, _020c1af8 ; =0x464c414c
@@ -595,7 +595,7 @@ _020c1b08: .word 0x424f4d42
_020c1b0c: .word 0x464c544d
_020c1b10: .word 0x48415254
_020c1b14: .word 0x52555059
arm_func_end _ZN20KillPickupItemActors6FilterEP5Actor
arm_func_end _ZN17KillPickupsFilter6FilterEP5Actor
.global _ZN5Actor20KillPickupItemActorsEv
arm_func_start _ZN5Actor20KillPickupItemActorsEv
@@ -612,7 +612,7 @@ _020c1b2c:
cmp r2, r0
blo _020c1b2c
ldr r0, _020c1b64 ; =gActorManager
ldr r3, _020c1b68 ; =_ZTV20KillPickupItemActors
ldr r3, _020c1b68 ; =_ZTV17KillPickupsFilter
ldr r0, [r0]
add r1, sp, #0
mov r2, #0
@@ -622,7 +622,7 @@ _020c1b2c:
ldmia sp!, {pc}
.align 2, 0
_020c1b64: .word gActorManager
_020c1b68: .word _ZTV20KillPickupItemActors
_020c1b68: .word _ZTV17KillPickupsFilter
arm_func_end _ZN5Actor20KillPickupItemActorsEv
.global _ZN5Actor15TrySetTransformEP9Transform
@@ -691,9 +691,9 @@ _020c1c18: .word gMapManager
_020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii
arm_func_end _ZN5Actor18func_Ov00_020c1bfcEi
.global _ZN5Actor18func_ov00_020c1c20Eiii
arm_func_start _ZN5Actor18func_ov00_020c1c20Eiii
_ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20
.global _ZN5Actor18func_ov00_020c1c20Eii
arm_func_start _ZN5Actor18func_ov00_020c1c20Eii
_ZN5Actor18func_ov00_020c1c20Eii: ; 0x020c1c20
stmdb sp!, {r3, lr}
add ip, r0, r1
ldr r0, _020c1c44 ; =gMapManager
@@ -705,7 +705,7 @@ _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20
ldmia sp!, {r3, pc}
.align 2, 0
_020c1c44: .word gMapManager
arm_func_end _ZN5Actor18func_ov00_020c1c20Eiii
arm_func_end _ZN5Actor18func_ov00_020c1c20Eii
.global _ZN5Actor8vfunc_48Ei
arm_func_start _ZN5Actor8vfunc_48Ei
@@ -2814,9 +2814,9 @@ data_ov00_020e71dc: ; 0x020e71dc
.word data_ov00_020e71a0
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global _ZTV20KillPickupItemActors
_ZTV20KillPickupItemActors: ; 0x020e71e8
.word _ZN20KillPickupItemActors6FilterEP5Actor
.global _ZTV17KillPickupsFilter
_ZTV17KillPickupsFilter: ; 0x020e71e8
.word _ZN17KillPickupsFilter6FilterEP5Actor
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global _ZTV5Actor
+1 -1
View File
@@ -58,7 +58,7 @@
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_08Ev
+3 -3
View File
@@ -10921,12 +10921,12 @@ func_ov00_0208fc10: ; 0x0208fc10
_0208fc38:
mov r1, #0
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
b _0208fc74
_0208fc48:
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldr r0, [r4, #0x158]
cmp r0, #0
moveq r0, #0
@@ -11559,7 +11559,7 @@ func_ov00_0209048c: ; 0x0209048c
bne _020904bc
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, #0
strb r0, [r4, #0x118]
_020904bc:
+1 -1
View File
@@ -107,7 +107,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor4KillEv
+1 -1
View File
@@ -16521,7 +16521,7 @@ _020be3e4:
mov r1, #1
mov r0, r5
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r5
bl _ZN5Actor4KillEv
ldmia sp!, {r3, r4, r5, pc}
+1 -1
View File
@@ -60,7 +60,7 @@
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c195cEv
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c243cEiPi
+1 -1
View File
@@ -20420,7 +20420,7 @@ func_ov00_020d3ca8: ; 0x020d3ca8
stmdb sp!, {r3, lr}
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov00_020d3ca8
+1 -1
View File
@@ -78,7 +78,7 @@
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1788Ev
.extern _ZN5Actor18func_ov00_020c195cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
+1 -1
View File
@@ -30488,7 +30488,7 @@ func_ov14_02138380: ; 0x02138380
mov r1, #1
mov r4, r0
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldrh r0, [r4, #0x20]
cmp r0, #0x4b
blt _021383b0
+1 -1
View File
@@ -84,7 +84,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
.extern _ZN5Actor18func_ov00_020c3094Ev
+3 -3
View File
@@ -21584,7 +21584,7 @@ _0214c168:
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
bl _ZN5Actor4KillEv
ldmia sp!, {r4, pc}
@@ -22415,7 +22415,7 @@ _0214cbdc:
_0214cc10:
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mvn r0, #0
str r0, [r4, #0x158]
mov r0, #0
@@ -26137,7 +26137,7 @@ _0214fd28:
_0214fd38:
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mvn r1, #0
mov r0, r4
str r1, [r4, #0x158]
+1 -1
View File
@@ -95,7 +95,7 @@
.extern _ZN5Actor18CollidesWithPlayerEj
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1d58Ev
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
+21 -21
View File
@@ -16141,7 +16141,7 @@ _0212ca94:
mov r5, r0
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
cmp r5, #0
beq _0212cb0c
ldr r0, _0212cdf0 ; =gActorManager
@@ -17623,7 +17623,7 @@ _0212df28:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0212e03c:
ldr r1, _0212e070 ; =data_027e10a4
mov r0, #1
@@ -21589,7 +21589,7 @@ _021317fc:
mov r1, #0
mov r2, #1
str r3, [r4, #0x488]
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r1, #5
sub r0, r1, #6
strb r1, [r4, #0x490]
@@ -36782,7 +36782,7 @@ func_ov15_0213e87c: ; 0x0213e87c
beq _0213e89c
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0213e89c:
mov r1, #1
mov r0, r4
@@ -38714,7 +38714,7 @@ func_ov15_02140424: ; 0x02140424
mov r0, r4
mov r1, #1
mov r2, #0
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_021404bc:
ldr r0, _0214058c ; =data_027e103c
ldr r0, [r0]
@@ -38734,7 +38734,7 @@ _021404bc:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02140508:
mov r0, r4
bl func_ov15_02140e5c
@@ -38909,7 +38909,7 @@ _0214075c:
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0214078c:
mov r0, r4
bl _ZN5Actor4KillEv
@@ -38958,7 +38958,7 @@ func_ov15_021407f4: ; 0x021407f4
ldmneia sp!, {r3, pc}
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, pc}
.align 2, 0
_02140818: .word data_027e0c68
@@ -39286,7 +39286,7 @@ func_ov15_02140c60: ; 0x02140c60
mov r0, r5
mov r1, #1
mov r2, #0
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_02140cb4: .word data_027e0d3c
@@ -39313,7 +39313,7 @@ func_ov15_02140cb8: ; 0x02140cb8
mov r1, #1
mov r0, r5
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_02140d08: .word data_027e0d3c
@@ -71471,7 +71471,7 @@ _0215c29c:
strb r1, [r4, #0x1b9]
mov r2, #1
strb r2, [r4, #0x1bc]
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldr r0, _0215c330 ; =gAdventureFlags
ldr r1, [r4, #0x1b4]
ldr r0, [r0]
@@ -71697,7 +71697,7 @@ _0215c620:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r1, #1
ldr r0, _0215c69c ; =data_027e10a4
strb r1, [r4, #0x1ba]
@@ -78263,7 +78263,7 @@ _02161ee4:
mov r1, #1
mov r0, r10
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02161f00:
ldr r1, _02162438 ; =gActorManager
add sp, sp, #0x6c
@@ -78997,7 +78997,7 @@ _0216296c:
beq _02162984
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02162984:
ldr r0, _02162dfc ; =data_ov00_020eec68
mov r1, #0x1e
@@ -86681,7 +86681,7 @@ func_ov15_02169358: ; 0x02169358
mov r1, #0
mov r2, #1
mov r4, r0
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldr r0, _021694e4 ; =gAdventureFlags
mov r1, #0xb7
ldr r0, [r0]
@@ -87235,7 +87235,7 @@ _02169ae4:
mov r0, r5
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02169b40:
ldr r0, _02169e48 ; =data_027e103c
ldr r0, [r0]
@@ -87261,7 +87261,7 @@ _02169b50:
mov r1, #0
mov r0, r5
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02169ba0:
ldr r0, _02169e4c ; =data_027e0c68
ldr r2, _02169e50 ; =0x00050023
@@ -87302,7 +87302,7 @@ _02169be4:
mov r1, #0
mov r0, r5
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
b _02169e2c
_02169c3c:
add r0, sp, #0x68
@@ -87621,7 +87621,7 @@ _0216a088:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0216a0a4:
ldr r0, _0216a0f4 ; =data_027e103c
ldr r0, [r0]
@@ -96352,7 +96352,7 @@ _02171818:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldr r0, _02171934 ; =data_027e0d3c
ldr r0, [r0]
bl func_ov00_02078fac
@@ -115893,7 +115893,7 @@ _0218251c:
bne _02182548
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, #0
strb r0, [r4, #0x118]
_02182548:
+1 -1
View File
@@ -29,7 +29,7 @@
.extern _ZN5Actor18CollidesWithPlayerEj
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
.extern _ZN5Actor18func_ov00_020c2c0cEv
.extern _ZN5Actor18func_ov00_020c2c70Ev
+4 -4
View File
@@ -6764,7 +6764,7 @@ func_ov17_02160954: ; 0x02160954
mov r4, r0
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
bl _ZN5Actor4KillEv
ldmia sp!, {r4, pc}
@@ -7109,7 +7109,7 @@ _02160dd0:
mov r0, r5
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r5
bl _ZN5Actor4KillEv
add sp, sp, #0x20
@@ -13525,7 +13525,7 @@ _02165de8:
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
b _02165e2c
_02165dfc:
ldr r0, _02165e38 ; =data_027e0f6c
@@ -13539,7 +13539,7 @@ _02165dfc:
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02165e2c:
mov r0, #1
add sp, sp, #0xb0
+1 -1
View File
@@ -48,7 +48,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
+1 -1
View File
@@ -2002,7 +2002,7 @@ func_ov19_0216f0a8: ; 0x0216f0a8
ldmeqia sp!, {r3, pc}
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, pc}
arm_func_end func_ov19_0216f0a8
+1 -1
View File
@@ -43,7 +43,7 @@
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
+1 -1
View File
@@ -9888,7 +9888,7 @@ _021759e8:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
mov r1, #1
bl func_ov20_02175960
+1 -1
View File
@@ -50,7 +50,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
+1 -1
View File
@@ -7125,7 +7125,7 @@ func_ov22_0217341c: ; 0x0217341c
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x20
ldmia sp!, {r4, pc}
_02173484:
+1 -1
View File
@@ -80,7 +80,7 @@
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c243cEiPi
+1 -1
View File
@@ -8076,7 +8076,7 @@ _02174120:
mov r1, #1
mov r0, r4
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldr r0, _021741ac ; =gMapManager
ldr r0, [r0]
bl _ZN10MapManager18func_ov00_02084740Ev
+1 -1
View File
@@ -41,7 +41,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1d58Ev
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
+1 -1
View File
@@ -8826,7 +8826,7 @@ _02174e90:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
bl func_ov14_0214591c
mov r0, r4
+1 -1
View File
@@ -47,7 +47,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor4KillEv
.extern _ZN5Actor6GetPosEv
+1 -1
View File
@@ -3522,7 +3522,7 @@ func_ov26_02170068: ; 0x02170068
ldmeqia sp!, {r3, pc}
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, pc}
arm_func_end func_ov26_02170068
+1 -1
View File
@@ -38,7 +38,7 @@
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c243cEiPi
.extern _ZN5Actor18func_ov00_020c3094Ev
+1 -1
View File
@@ -8785,7 +8785,7 @@ func_ov28_0217475c: ; 0x0217475c
mov r0, r4
mov r2, r1
strb r3, [r4, #0x1c1]
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
bl func_ov28_021746cc
add r0, r4, #0x48
+1 -1
View File
@@ -22,7 +22,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1d58Ev
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder
+15 -15
View File
@@ -10157,7 +10157,7 @@ func_ov30_02183e30: ; 0x02183e30
ldmeqia sp!, {r3, pc}
mov r1, #1
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldmia sp!, {r3, pc}
arm_func_end func_ov30_02183e30
@@ -11387,13 +11387,13 @@ _021849cc:
mov r0, r4
bne _021849f4
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_021849f4:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11475,13 +11475,13 @@ _02184b10:
mov r0, r4
beq _02184b38
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_02184b38:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11575,13 +11575,13 @@ _02184c84:
mov r0, r4
beq _02184cac
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_02184cac:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11673,13 +11673,13 @@ _02184df0:
mov r0, r4
bne _02184e18
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_02184e18:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11768,13 +11768,13 @@ _02184f50:
mov r0, r4
bne _02184f78
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_02184f78:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11863,13 +11863,13 @@ _021850b0:
mov r0, r4
bne _021850d8
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_021850d8:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
@@ -11958,13 +11958,13 @@ _02185210:
mov r0, r4
bne _02185238
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
add sp, sp, #0x1bc
add sp, sp, #0x400
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
_02185238:
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02185240:
add sp, sp, #0x1bc
add sp, sp, #0x400
+1 -1
View File
@@ -15,7 +15,7 @@
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
+1 -1
View File
@@ -912,7 +912,7 @@ _0217c950:
mov r1, #1
mov r0, r5
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0217c984:
mov r0, r5
bl _ZN5Actor4KillEv
+1 -1
View File
@@ -30,7 +30,7 @@
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
+1 -1
View File
@@ -3607,7 +3607,7 @@ _0217edc0:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_0217edf4:
mov r0, r4
bl _ZN5Actor4KillEv
+1 -1
View File
@@ -24,7 +24,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
.extern _ZN5Actor18func_ov00_020c1fc8Ej
+1 -1
View File
@@ -4562,7 +4562,7 @@ func_ov37_0217fccc: ; 0x0217fccc
mov r1, #1
mov r4, r0
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r4
bl _ZN5Actor4KillEv
ldmia sp!, {r4, pc}
+1 -1
View File
@@ -14,7 +14,7 @@
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
+1 -1
View File
@@ -3501,7 +3501,7 @@ _02192eb4:
mov r1, #1
mov r0, r6
mov r2, r1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
_02192ecc:
ldr r0, [r6, #0x130]
cmp r0, #1
+1 -1
View File
@@ -24,7 +24,7 @@
.extern _ZN5Actor18CollidesWithPlayerEj
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c198cEv
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c2c0cEv
.extern _ZN5Actor18func_ov00_020c2c70Ev
.extern _ZN5Actor18func_ov00_020c313cEj
+3 -3
View File
@@ -2776,7 +2776,7 @@ _02197a88:
mov r0, r5
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
mov r0, r5
bl _ZN5Actor4KillEv
add sp, sp, #0x10
@@ -3285,14 +3285,14 @@ _021980e0:
mov r0, r4
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
b _02198144
_02198114:
mvn r3, #0
mov r1, #0
mov r2, #1
str r3, [r4, #0x158]
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
cmp r5, #0
bne _0219813c
ldr r0, _02198158 ; =gPlayerLink
+1 -1
View File
@@ -26,7 +26,7 @@
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1c20Eii
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
.extern _ZN5Actor18func_ov00_020c313cEj
+1 -1
View File
@@ -1055,7 +1055,7 @@ _02196358:
mov r0, r5
mov r1, #0
mov r2, #1
bl _ZN5Actor18func_ov00_020c1c20Eiii
bl _ZN5Actor18func_ov00_020c1c20Eii
ldrh r0, [r5, #0x20]
cmp r0, #1
bne _0219639c
+15 -12
View File
@@ -6,15 +6,17 @@
#include "lib/math.h"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
#include "Actor/FilterActorBase.hpp"
#include "Physics/Cylinder.hpp"
#include "Physics/Transform.hpp"
#include "Player/EquipBoomerang.hpp"
#include "System/SysNew.hpp"
struct Actor_UnkStruct_020 {
/* 00 */ unk16 mUnk_00[4];
/* 08 */ unk8 mUnk_08[2];
/* 0a */ unk8 mUnk_0a[2];
/* 08 */ u8 mUnk_08[2];
/* 0a */ u8 mUnk_0a[2];
/* 0c */ unk8 mUnk_0c;
/* 0c */ unk8 mUnk_0d;
/* 0c */ unk8 mUnk_0e;
@@ -43,9 +45,10 @@ struct Actor_UnkStruct_0a4 {
/* 14 */
};
class KillPickupItemActors : public FilterActorBase {
class KillPickupsFilter : public FilterActorBase {
public:
/* 0 (base) */
/* 4 */
/* 4 */ ActorRef mUnk_4[20];
/* 0 */ virtual bool Filter(Actor *actor) override;
/* 4 */
@@ -60,10 +63,10 @@ enum PlayerCollide_ {
PlayerCollide_Hammer = 0x10,
};
class Actor {
class Actor : public SysObject {
public:
/* 000 (vtable) */
/* 004 */ unk32 mType;
/* 004 */ ActorTypeId mType;
/* 008 */ unk32 mId;
/* 00c */ unk32 mIndex;
/* 010 */ u8 mUnk_010;
@@ -85,7 +88,7 @@ public:
/* 070 */ unk32 mMaxFall;
/* 074 */ unk32 mUnk_074;
/* 078 */ s16 mRotation;
/* 07a */ unk16 mUnk_07a;
/* 07a */ u16 mUnk_07a;
/* 07c */ Cylinder mHitbox;
/* 08c */ Cylinder mUnk_08c;
/* 09c */ Actor_UnkStruct_09c mUnk_09c;
@@ -113,7 +116,7 @@ public:
/* 118 */ bool mAlive;
/* 119 */ unk8 mUnk_119;
/* 11a */ bool mVisible;
/* 11b */ unk8 mUnk_11b;
/* 11b */ bool mUnk_11b;
/* 11c */ unk8 mUnk_11c;
/* 11d */ unk8 mUnk_11d;
/* 11e */ q4 mYOffset;
@@ -121,7 +124,7 @@ public:
/* 122 */ unk16 mUnk_122;
/* 124 */ unk8 mUnk_124;
/* 125 */ unk8 mUnk_125;
/* 126 */ unk16 mUnk_126;
/* 126 */ u16 mUnk_126;
/* 128 */ bool mUnk_128;
/* 129 */ bool mUnk_129;
/* 12a */ unk8 mUnk_12a;
@@ -158,7 +161,7 @@ public:
/* 4c */ virtual bool vfunc_4c(unk32 *param1);
/* 50 */ virtual Vec3p* GetPos();
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void SetUnk_11b();
/* 58 */ virtual bool SetUnk_11b();
/* 5c */ virtual bool SetVelocity(Vec3p *vel);
/* 60 */ virtual bool vfunc_60();
/* 64 */ virtual void vfunc_64();
@@ -171,7 +174,7 @@ public:
/* 80 */ virtual void vfunc_80();
/* 84 */ virtual void vfunc_84();
/* 88 */ virtual void vfunc_88();
/* 8c */ virtual void vfunc_8c();
/* 8c */ virtual bool vfunc_8c();
/* 90 */ virtual bool vfunc_90();
/* 94 */ virtual void vfunc_94();
/* 98 */ virtual bool vfunc_98();
@@ -191,7 +194,7 @@ public:
bool func_ov00_020c198c();
void KillPickupItemActors();
void func_Ov00_020c1bfc(s32 param1);
void func_ov00_020c1c20(s32 param1, unk32 param2, unk32 param3);
void func_ov00_020c1c20(s32 param1, unk32 param2);
bool IsNearLink();
void func_ov00_020c1cf8();
bool func_ov00_020c1d58();
+5
View File
@@ -7,4 +7,9 @@ struct ActorRef {
/* 0 */ s32 id;
/* 4 */ s32 index;
/* 8 */
inline ActorRef() {
id = -1;
index = -1;
}
};
+8 -2
View File
@@ -3,8 +3,6 @@
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#define __ACTOR_TYPE_ID(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
typedef u32 ActorTypeId;
@@ -63,8 +61,16 @@ enum ActorTypeId_ {
ActorTypeId_Linebeck = __ACTOR_TYPE_ID('L','N','B','K'),
ActorTypeId_Mailbox = __ACTOR_TYPE_ID('P','O','S','T'),
ActorTypeId_Postman = __ACTOR_TYPE_ID('P','S','T','M'),
ActorTypeId_BMRN = __ACTOR_TYPE_ID('B','M','R','N'),
ActorTypeId_BMTY = __ACTOR_TYPE_ID('B','M','T','Y'),
ActorTypeId_FLAL = __ACTOR_TYPE_ID('F','L','A','L'),
ActorTypeId_FLBM = __ACTOR_TYPE_ID('F','L','B','M'),
ActorTypeId_FLBT = __ACTOR_TYPE_ID('F','L','B','T'),
ActorTypeId_FLTM = __ACTOR_TYPE_ID('F','L','T','M'),
};
class Actor;
typedef Actor* (*ActorCreateFunc)();
struct ActorType {
+1
View File
@@ -77,6 +77,7 @@ public:
bool func_ov00_020bbd80(s32 param1);
void func_ov00_020bc854(Vec3p *param1);
bool func_ov00_020bd304();
};
extern PlayerLinkBase *gPlayerLink;
+148 -28
View File
@@ -1,6 +1,7 @@
#include "Actor/Actor.hpp"
#include "Actor/ActorManager.hpp"
#include "Map/MapManager.hpp"
#include "Player/PlayerLinkBase.hpp"
KILL(_ZN5ActorC1Ev)
Actor::Actor() {}
@@ -20,7 +21,7 @@ void Actor::GetOffsetPos(Vec3p *pos) {
pos->y += mYOffset;
}
extern unk32 func_ov00_02087ef0();
extern "C" unk32 func_ov00_02087ef0();
unk32 Actor::vfunc_38() {
return func_ov00_02087ef0();
}
@@ -29,11 +30,17 @@ unk8 Actor::func_ov00_020c1788() {
return gMapManager->func_ov00_02083570(mUnk_010, mUnk_011);
}
s32 Actor::vfunc_2c() {}
unk32 Actor::vfunc_30() {}
s32 Actor::vfunc_2c() {
return -1;
}
unk32 Actor::vfunc_30() {
return 0;
}
void Actor::vfunc_14(u32 param1) {}
extern void func_ov00_0207a1c8(Actor_UnkStruct_0a4 *param1, u32 param2, Vec3p *param3);
extern "C" void func_ov00_0207a1c8(Actor_UnkStruct_0a4 *param1, u32 param2, Vec3p *param3);
void Actor::vfunc_18(u32 param1) {
func_ov00_0207a1c8(&mUnk_0a4, param1, &mPos);
}
@@ -55,13 +62,14 @@ struct UnkStruct1 {
/* 20 */
};
extern void *data_027e0d3c;
extern void *data_02063e4c;
extern unk32 data_02063e4c;
extern "C" bool func_ov00_02079470(void *param1, Vec3p *param2, unk32 param3, unk32 param4, unk32 *param5, unk32 *param6, unk32 param7, unk32 param8);
extern "C" void func_01ffbe34(UnkStruct1 *param1);
extern "C" void func_020313c8(void *param1, unk32 *param2, unk32 *param3, u32 param4, UnkStruct1 *param5);
extern "C" void func_020313c8(unk32 *param1, unk32 param2, unk32 param3, u32 param4, UnkStruct1 *param5);
void Actor::vfunc_1c(u16 *param1) {
unk16 unk1 = mUnk_129 ? mUnk_126 : mUnk_07a;
if (unk1 != -1) {
u16 unk1 = mUnk_07a;
if (mUnk_129) unk1 = mUnk_126;
if (unk1 != 0xffff) {
if ((*param1 & 4) == 0 && (*param1 & 8) == 0) return;
unk32 unk2;
unk32 unk3;
@@ -69,41 +77,153 @@ void Actor::vfunc_1c(u16 *param1) {
UnkStruct1 unk4;
func_01ffbe34(&unk4);
unk4.mUnk_04 = 1;
func_020313c8(data_02063e4c, &unk2, &unk3, unk1, &unk4);
func_020313c8(&data_02063e4c, unk2, unk3, unk1, &unk4);
}
}
}
void Actor::vfunc_20(s32 param1) {}
void Actor::SetUnk_129(bool value) {}
void Actor::SetUnk_11b() {}
bool Actor::SetVelocity(Vec3p *vel) {}
bool Actor::vfunc_60() {}
void Actor::SetUnk_129(bool value) {
if (mUnk_128) mUnk_129 = value;
}
bool Actor::SetUnk_11b() {
if (mUnk_11b) return false;
mUnk_11b = true;
return true;
}
bool Actor::SetVelocity(Vec3p *vel) {
if (!mUnk_11b) return false;
mVel = *vel;
mUnk_11b = false;
return true;
}
bool Actor::vfunc_60() {
return false;
}
void Actor::vfunc_64() {}
void Actor::SetUnk_11c(unk8 value) {}
void Actor::SetUnk_11c(unk8 value) {
mUnk_11c = value;
}
void Actor::vfunc_68() {}
bool Actor::vfunc_6c() {}
bool Actor::vfunc_70() {}
bool Actor::vfunc_6c() {
return true;
}
bool Actor::vfunc_70() {
return true;
}
void Actor::vfunc_74() {}
void Actor::vfunc_7c() {}
bool Actor::vfunc_78() {}
bool Actor::vfunc_78() {
return true;
}
void Actor::vfunc_80() {}
void Actor::vfunc_84() {}
void Actor::vfunc_88() {}
void Actor::vfunc_8c() {}
bool Actor::vfunc_90() {}
bool Actor::vfunc_8c() {
return true;
}
bool Actor::vfunc_90() {
return true;
}
void Actor::vfunc_94() {}
bool Actor::vfunc_98() {}
bool Actor::vfunc_9c() {}
bool Actor::func_ov00_020c195c() {}
bool Actor::func_ov00_020c198c() {}
bool KillPickupItemActors::Filter(Actor *actor) {}
void Actor::KillPickupItemActors() {}
bool Actor::TrySetTransform(Transform *transform) {}
void Actor::SetTransform(Transform *transform) {}
bool Actor::func_ov00_020c195c() {
if (!mUnk_11b) return false;
gPlayerLink->func_ov00_020bc854(&mPos);
return true;
}
struct UnkStruct2 {
/* 0 */ s32 mUnk_0;
/* 4 */ s32 mUnk_4;
/* 8 */
};
extern UnkStruct2 data_027e077c;
extern u8 *data_02056be4;
extern "C" bool func_ov05_02103f4c(s32 param1);
extern s32 data_027e103c;
bool Actor::func_ov00_020c198c() {
if (
data_027e077c.mUnk_0 != data_027e077c.mUnk_4
|| (data_02056be4[data_027e077c.mUnk_0] & 1) != 0
|| (data_02056be4[data_027e077c.mUnk_0] & 4) != 0
|| func_ov05_02103f4c(data_027e103c)
|| gPlayer->mHealth <= 0
) {
return false;
}
if (gPlayerLink && !gPlayerLink->func_ov00_020bd304()) return false;
return true;
}
bool KillPickupsFilter::Filter(Actor *actor) {
switch (actor->mType) {
case ActorTypeId_Rupee:
case ActorTypeId_Heart:
case ActorTypeId_Bomb:
case ActorTypeId_Arrow:
case ActorTypeId_BMRN:
case ActorTypeId_BMTY:
case ActorTypeId_FLAL:
case ActorTypeId_FLBM:
case ActorTypeId_FLBT:
case ActorTypeId_FLTM:
{
actor->Kill();
return true;
}
default: return false;
}
}
void Actor::KillPickupItemActors() {
KillPickupsFilter killPickups;
gActorManager->FilterActors(&killPickups, NULL);
}
bool Actor::TrySetTransform(Transform *transform) {
mPrevPos = mPos;
mPos = transform->pos;
mRotation = transform->rotation;
mVisible = transform->visible;
return true;
}
void Actor::SetTransform(Transform *transform) {
mPrevPos = mPos;
mPos = transform->pos;
mRotation = transform->rotation;
mVisible = transform->visible;
}
void Actor::vfunc_a8() {}
void Actor::func_Ov00_020c1bfc(s32 param1) {}
void Actor::func_ov00_020c1c20(s32 param1, unk32 param2, unk32 param3) {}
void Actor::func_Ov00_020c1bfc(s32 param1) {
gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]);
}
void Actor::func_ov00_020c1c20(s32 param1, unk32 param2) {
gMapManager->func_ov00_02084b38(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1], param2);
}
bool Actor::vfunc_48(unk32 param1) {}
bool Actor::vfunc_4c(unk32 *param1) {}
bool Actor::IsNearLink() {}