mirror of
https://github.com/zeldaret/ph
synced 2026-09-04 18:21:43 -04:00
ActorSwitchObject OK (#130)
* Map symbol in Game * ActorSwitchObject OK * Mark ActorSwitchObject as complete * Document `mTrapActors` * Fix FilterActorBase * Fix regressions
This commit is contained in:
@@ -78,13 +78,13 @@ public:
|
||||
/* c4 */
|
||||
|
||||
void DeleteActor(u32 index, bool param2);
|
||||
static void func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr, unk32 param3);
|
||||
ActorRef func_ov00_020c3484(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 *actorMgr, ActorTypeId type);
|
||||
static void FindNearestActorOfType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type, Vec3p *pos);
|
||||
ActorRef FindActorByType(ActorTypeId type);
|
||||
ActorRef FindNearestActorOfType(ActorTypeId type, Vec3p *pos);
|
||||
bool func_ov00_020c398c(u32 index);
|
||||
void func_ov00_020c399c(u32 index, Cylinder *cylinder);
|
||||
Actor *func_ov00_020c39ac(s32 index, const ActorTypeId *actorTypes, bool param3);
|
||||
|
||||
@@ -8,7 +8,9 @@ struct ActorRef {
|
||||
/* 4 */ s32 index;
|
||||
/* 8 */
|
||||
|
||||
inline ActorRef() {}
|
||||
inline ActorRef() {
|
||||
Reset();
|
||||
}
|
||||
inline ActorRef(s32 id, s32 index) :
|
||||
id(id),
|
||||
index(index) {}
|
||||
|
||||
@@ -19,6 +19,12 @@ struct ActorSpawnOptions {
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */
|
||||
|
||||
void func_ov000_020c3348();
|
||||
inline ActorSpawnOptions() :
|
||||
mUnk_1c(-1, -1) {
|
||||
func_ov000_020c3348();
|
||||
}
|
||||
};
|
||||
|
||||
class ActorSpawner : public SysObject {
|
||||
|
||||
@@ -17,7 +17,7 @@ public:
|
||||
/* 164 */ unk32 mUnk_164;
|
||||
/* 168 */ unk32 mUnk_168;
|
||||
/* 16c */ u32 mUnk_16c;
|
||||
/* 170 */ ActorRef mUnk_170[5];
|
||||
/* 170 */ ActorRef mTrapActors[5];
|
||||
/* 198 */
|
||||
|
||||
/* 00 */ virtual ~ActorSwitchObject() override;
|
||||
@@ -27,10 +27,17 @@ public:
|
||||
/* 18 */ virtual void vfunc_18(u32 param1) override;
|
||||
/* b4 */
|
||||
|
||||
inline ActorSwitchObject() :
|
||||
mUnk_158(0),
|
||||
mUnk_15c(0),
|
||||
mUnk_160(0),
|
||||
mUnk_164(0),
|
||||
mUnk_168(0) {}
|
||||
|
||||
static ActorSwitchObject *Create();
|
||||
bool func_ov000_0208fc10(s32 param1);
|
||||
void func_ov000_0208fc7c();
|
||||
bool func_ov000_0208fcb4();
|
||||
unk32 func_ov000_0208fcb4();
|
||||
void func_ov000_0208fef8();
|
||||
void func_ov000_0209032c();
|
||||
};
|
||||
|
||||
@@ -20,14 +20,4 @@ public:
|
||||
class FilterActorReturn {
|
||||
public:
|
||||
/* 00 */ ActorRef refs[20];
|
||||
|
||||
inline FilterActorReturn() {
|
||||
ActorRef *ref = refs;
|
||||
ActorRef *end;
|
||||
do {
|
||||
end = &refs[20];
|
||||
ref->Reset();
|
||||
ref++;
|
||||
} while (ref < end);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user