ActorSpawner 99%

This commit is contained in:
Aetias
2025-05-29 12:24:19 +02:00
parent a65e5547da
commit d29c7c377e
7 changed files with 123 additions and 17 deletions
+3 -4
View File
@@ -35,8 +35,8 @@ struct Actor_UnkStruct_020 {
/* 08 */ u8 mUnk_08[2];
/* 0a */ u8 mUnk_0a[2];
/* 0c */ unk8 mUnk_0c;
/* 0d */ unk8 mUnk_0d;
/* 0e */ unk8 mUnk_0e;
/* 0d */ u8 mUnk_0d;
/* 0e */ u8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */ unk32 mUnk_10;
/* 14 */
@@ -110,8 +110,7 @@ public:
/* 012 */ unk16 mUnk_012;
/* 014 */ Vec3p mUnk_014;
/* 020 */ Actor_UnkStruct_020 mUnk_020;
/* 034 */ unk32 mUnk_034;
/* 038 */ unk32 mUnk_038;
/* 034 */ ActorRef mUnk_034;
/* 03c */ unk32 mUnk_03c;
/* 040 */ ActorRef mUnk_040;
/* 048 */ Vec3p mPos;
+16 -3
View File
@@ -5,10 +5,23 @@
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
#include "System/SysNew.hpp"
class ActorSpawner {
struct ActorSpawnOptions {
/* 00 */ Actor_UnkStruct_020 mUnk_00;
/* 14 */ s16 mAngle;
/* 16 */ unk8 mUnk_16[0x2];
/* 18 */ unk32 mUnk_18;
/* 1c */ ActorRef mUnk_1c;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2c */
};
class ActorSpawner : public SysObject {
public:
/* 0 (empty) */
@@ -18,8 +31,8 @@ public:
~ActorSpawner();
void func_ov000_020c4014();
void func_ov000_020c4018();
Actor *CreateActor(ActorTypeId type);
s32 Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref);
Actor *CreateActor(ActorTypeId typeId);
s32 Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *param3, ActorRef *ref);
};
extern ActorSpawner *gActorSpawner;