diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2025-07-25 15:59:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-25 15:59:54 +0200 |
| commit | 8ad6359c7d3c7afcbddd7d450b7fa4b9764255b6 (patch) | |
| tree | 09095f8f36375fe4bb358c163d614ebfbc8fe344 /include/Actor | |
| parent | dda45d5574798dc45a31437f473eaa55b9142e13 (diff) | |
ActorSwitchObject OK (#130)
* Map symbol in Game
* ActorSwitchObject OK
* Mark ActorSwitchObject as complete
* Document `mTrapActors`
* Fix FilterActorBase
* Fix regressions
Diffstat (limited to 'include/Actor')
| -rw-r--r-- | include/Actor/ActorManager.hpp | 6 | ||||
| -rw-r--r-- | include/Actor/ActorRef.hpp | 4 | ||||
| -rw-r--r-- | include/Actor/ActorSpawner.hpp | 6 | ||||
| -rw-r--r-- | include/Actor/Dungeon/ActorSwitchObject.hpp | 11 | ||||
| -rw-r--r-- | include/Actor/FilterActorBase.hpp | 10 |
5 files changed, 21 insertions, 16 deletions
diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index fd246f37..08ef7fd2 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -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); diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp index eeace571..5ef03f2c 100644 --- a/include/Actor/ActorRef.hpp +++ b/include/Actor/ActorRef.hpp @@ -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) {} diff --git a/include/Actor/ActorSpawner.hpp b/include/Actor/ActorSpawner.hpp index e99bafb3..05bb46a9 100644 --- a/include/Actor/ActorSpawner.hpp +++ b/include/Actor/ActorSpawner.hpp @@ -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 { diff --git a/include/Actor/Dungeon/ActorSwitchObject.hpp b/include/Actor/Dungeon/ActorSwitchObject.hpp index 0658fcb2..12fcc16a 100644 --- a/include/Actor/Dungeon/ActorSwitchObject.hpp +++ b/include/Actor/Dungeon/ActorSwitchObject.hpp @@ -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(); }; diff --git a/include/Actor/FilterActorBase.hpp b/include/Actor/FilterActorBase.hpp index 8d721195..1ef32ccb 100644 --- a/include/Actor/FilterActorBase.hpp +++ b/include/Actor/FilterActorBase.hpp @@ -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); - } }; |
