ksys/act: Start adding BaseProcInitializer

This commit is contained in:
Léo Lam 2021-03-12 20:03:27 +01:00
parent c23f86e6d5
commit 5638f4a4e9
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 49 additions and 1 deletions

View File

@ -96967,7 +96967,7 @@
0x0000007101305638,sub_7101305638,52,_ZN4sead10Delegate1RIN4ksys3act18BaseProcCreateTaskEPvbE6invokeES4_
0x000000710130566c,sub_710130566C,92,_ZNK4sead10Delegate1RIN4ksys3act18BaseProcCreateTaskEPvbE5cloneEPNS_4HeapE
0x00000071013056c8,sub_71013056C8,64,
0x0000007101305708,BaseProcInitializer::ctor,40,
0x0000007101305708,BaseProcInitializer::ctor,40,_ZN4ksys3act19BaseProcInitializerC1Ev
0x0000007101305730,BaseProcInitializer::dtor,260,
0x0000007101305834,BaseProcInitializer::dtorDelete,36,
0x0000007101305858,BaseProcInitializer::init,960,

Can't render this file because it is too large.

View File

@ -62,6 +62,8 @@ target_sources(uking PRIVATE
actBaseProcHandle.h
actBaseProcHeapMgr.cpp
actBaseProcHeapMgr.h
actBaseProcInitializer.cpp
actBaseProcInitializer.h
actBaseProcJob.cpp
actBaseProcJob.h
actBaseProcJobHandler.cpp

View File

@ -0,0 +1,7 @@
#include "KingSystem/ActorSystem/actBaseProcInitializer.h"
namespace ksys::act {
BaseProcInitializer::BaseProcInitializer() = default;
} // namespace ksys::act

View File

@ -0,0 +1,39 @@
#pragma once
#include <basis/seadTypes.h>
namespace sead {
class Heap;
}
namespace ksys::util {
class TaskMgr;
class TaskQueue;
} // namespace ksys::util
namespace ksys::act {
class BaseProcInitializer {
public:
BaseProcInitializer();
virtual ~BaseProcInitializer();
BaseProcInitializer(const BaseProcInitializer&) = delete;
auto operator=(const BaseProcInitializer&) = delete;
u32 get8() const { return _8; }
void set8(u32 value) { _8 = value; }
bool isActorGenerationEnabled() const { return mActorGenerationEnabled; }
void setActorGenerationEnabled(bool enabled) { mActorGenerationEnabled = enabled; }
private:
u32 _8 = 0;
void* _10 = nullptr;
util::TaskMgr* mTaskMgr = nullptr;
util::TaskQueue* mTaskQueue = nullptr;
sead::Heap* mHeap = nullptr;
bool mActorGenerationEnabled = true;
};
} // namespace ksys::act