mirror of
https://github.com/zeldaret/ph
synced 2026-07-09 14:05:36 -04:00
Decomp ActorManager
This commit is contained in:
@@ -21,13 +21,13 @@ class FilterActor : public FilterActorBase {
|
||||
/* 04 */ u32 mType;
|
||||
/* 08 */ s32 mUnk_08;
|
||||
/* 0c */ s32 mUnk_0c;
|
||||
/* 10 */ s32 *mExcludeIds; // list of excluded actor ids, terminated by -1
|
||||
/* 10 */ ActorRef *mExcludeRefs; // list of excluded actor ids, terminated by -1
|
||||
/* 14 */ bool mExcludeNotInAABB;
|
||||
/* 15 */ unk8 mUnk_15[3];
|
||||
/* 18 */ AABB mAABB;
|
||||
/* 30 */ bool mExcludeNotInSphere;
|
||||
/* 31 */ unk8 mUnk_1a[3];
|
||||
/* 34 */ Sphere sphere;
|
||||
/* 34 */ Sphere mSphere;
|
||||
/* 44 */
|
||||
|
||||
/* 0 */ virtual bool Filter(Actor *actor) override;
|
||||
@@ -78,21 +78,21 @@ public:
|
||||
/* c4 */
|
||||
|
||||
void DeleteActor(u32 index, bool param2);
|
||||
static void func_ov00_020c3484(ActorRef *ref, Actor *actor, unk32 param3);
|
||||
static void func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr, unk32 param3);
|
||||
void Actor_vfunc_10(u32 param1);
|
||||
Actor *FindActorById(s32 id);
|
||||
Actor *GetActor(ActorRef *ref);
|
||||
s32 FilterActors(FilterActorBase *filter, ActorList *filteredActors);
|
||||
static void FindActorByType(ActorRef *ref, ActorManager *manager, ActorTypeId type);
|
||||
static void FindNearestActorOfType(ActorRef *ref, ActorManager *manager, ActorTypeId type, Vec3p *pos);
|
||||
static void FindActorByType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type);
|
||||
static void FindNearestActorOfType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type, Vec3p *pos);
|
||||
bool func_ov00_020c398c(u32 index);
|
||||
void func_ov00_020c399c(u32 index, Cylinder *cylinder);
|
||||
Actor *func_ov00_020c39ac(u32 index, const ActorTypeId *actorTypes, bool param3);
|
||||
Actor *func_ov00_020c39ac(u32 index, ActorTypeId *actorTypes, bool param3);
|
||||
s32 func_ov00_020c3b2c(s32 *param1);
|
||||
s32 func_ov00_020c3bb0(unk32 param1, s32 *param2);
|
||||
void func_ov00_020c3ce8(unk32 param1, unk32 param2);
|
||||
void Actor_vfunc_28();
|
||||
static bool ActorTypeIsOneOf(char *type, char **types);
|
||||
static bool ActorTypeIsOneOf(ActorTypeId type, ActorTypeId *types);
|
||||
};
|
||||
|
||||
extern ActorManager *gActorManager;
|
||||
|
||||
@@ -12,20 +12,6 @@ class Actor;
|
||||
class FilterActorBase {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mType;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ s32 *mExcludeIds;
|
||||
/* 14 */ bool mExcludeNotInAABB;
|
||||
/* 15 */ unk8 mUnk_15;
|
||||
/* 16 */ unk8 mUnk_16;
|
||||
/* 17 */ unk8 mUnk_17;
|
||||
/* 18 */ AABB mAABB;
|
||||
/* 30 */ bool mExcludeNotInSphere;
|
||||
/* 31 */ unk8 mUnk_31;
|
||||
/* 32 */ unk8 mUnk_32;
|
||||
/* 33 */ unk8 mUnk_33;
|
||||
/* 34 */ Sphere mSphere;
|
||||
|
||||
/* 0 */ virtual bool Filter(Actor *actor) = 0;
|
||||
/* 4 */
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_027e103c {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk16 *mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk16 mUnk_1c;
|
||||
/* 1e */ unk16 mUnk_1a;
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
/* 22 */ s16 mUnk_22;
|
||||
/* 24 */ u8 mUnk_24;
|
||||
/* 25 */ unk8 mUnk_25[7];
|
||||
/* 2c */
|
||||
};
|
||||
|
||||
extern UnkStruct_027e103c *data_027e103c;
|
||||
@@ -8,4 +8,6 @@
|
||||
struct AABB {
|
||||
Vec3p min;
|
||||
Vec3p max;
|
||||
|
||||
bool ContainsInXZ(Vec3p *vec);
|
||||
};
|
||||
|
||||
@@ -8,4 +8,6 @@
|
||||
struct Sphere {
|
||||
Vec3p pos;
|
||||
int radius;
|
||||
|
||||
bool ContainsInXZ(Vec3p *vec);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user