diff options
| author | Léo Lam <leo@leolam.fr> | 2026-09-28 03:39:31 +0200 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2026-10-06 03:19:39 +0200 |
| commit | 98f0c80f1d0b9d3ca19f0b38efcb597ee65d9dc0 (patch) | |
| tree | c05c560af93ab2944f0f565665bd12b9a8bdd07f /src/KingSystem/Framework | |
| parent | 6442a24670f69f73aaafb925b625e58aeac8e842 (diff) | |
The task and thread families are plain ksys::
They link in the same block as the plain-ksys:: Message family.
getItemValue and applyScreenFade sit in engine UI TUs, hence ksys::ui.
(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
Diffstat (limited to 'src/KingSystem/Framework')
| -rw-r--r-- | src/KingSystem/Framework/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/KingSystem/Framework/Framework.cpp | 1 | ||||
| -rw-r--r-- | src/KingSystem/Framework/frmFramework.cpp | 1 | ||||
| -rw-r--r-- | src/KingSystem/Framework/frmFramework.h (renamed from src/KingSystem/Framework/Framework.h) | 0 | ||||
| -rw-r--r-- | src/KingSystem/Framework/frmWorkerSupportThreadMgr.cpp | 20 | ||||
| -rw-r--r-- | src/KingSystem/Framework/frmWorkerSupportThreadMgr.h | 16 |
6 files changed, 21 insertions, 21 deletions
diff --git a/src/KingSystem/Framework/CMakeLists.txt b/src/KingSystem/Framework/CMakeLists.txt index cbae2e87..e3bea8e3 100644 --- a/src/KingSystem/Framework/CMakeLists.txt +++ b/src/KingSystem/Framework/CMakeLists.txt @@ -1,7 +1,7 @@ target_sources(uking PRIVATE + frmFramework.cpp + frmFramework.h frmRootTaskParam.h frmWorkerSupportThreadMgr.cpp frmWorkerSupportThreadMgr.h - Framework.cpp - Framework.h ) diff --git a/src/KingSystem/Framework/Framework.cpp b/src/KingSystem/Framework/Framework.cpp deleted file mode 100644 index f11ef44e..00000000 --- a/src/KingSystem/Framework/Framework.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "KingSystem/Framework/Framework.h"
\ No newline at end of file diff --git a/src/KingSystem/Framework/frmFramework.cpp b/src/KingSystem/Framework/frmFramework.cpp new file mode 100644 index 00000000..2dbca29c --- /dev/null +++ b/src/KingSystem/Framework/frmFramework.cpp @@ -0,0 +1 @@ +#include "KingSystem/Framework/frmFramework.h"
\ No newline at end of file diff --git a/src/KingSystem/Framework/Framework.h b/src/KingSystem/Framework/frmFramework.h index aa390f57..aa390f57 100644 --- a/src/KingSystem/Framework/Framework.h +++ b/src/KingSystem/Framework/frmFramework.h diff --git a/src/KingSystem/Framework/frmWorkerSupportThreadMgr.cpp b/src/KingSystem/Framework/frmWorkerSupportThreadMgr.cpp index 4880df32..fafd9f42 100644 --- a/src/KingSystem/Framework/frmWorkerSupportThreadMgr.cpp +++ b/src/KingSystem/Framework/frmWorkerSupportThreadMgr.cpp @@ -15,13 +15,13 @@ SEAD_SINGLETON_DISPOSER_IMPL(WorkerSupportThreadMgr) void WorkerSupportThreadMgr::init(sead::Heap* heap) { auto* worker = mWorkers; for (size_t i = 0; i < NumWorkers; ++i) { - auto* mgr = new (heap) util::TaskMgr(heap); - mgr->init<util::ManagedTask>(NumTasks, heap); + auto* mgr = new (heap) TaskMgr(heap); + mgr->init<ManagedTask>(NumTasks, heap); worker->task_mgr = mgr; - worker->task_handle = new (heap) util::ManagedTaskHandle; + worker->task_handle = new (heap) ManagedTaskHandle; for (int j = 0; j < NumTasks; ++j) - worker->tasks[j] = new (heap) util::ManagedTask(heap); + worker->tasks[j] = new (heap) ManagedTask(heap); const auto affinity = [&] { if (i == 0) @@ -30,11 +30,11 @@ void WorkerSupportThreadMgr::init(sead::Heap* heap) { }(); worker->thread_name.format("WorkerSupport[%d]", int(i)); - worker->task_thread = new (heap) util::GameTaskThread( + worker->task_thread = new (heap) GameTaskThread( worker->thread_name, heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(17), sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0x20000, 32); - util::TaskThread::InitArg arg; + TaskThread::InitArg arg; arg.batch_size = 0; arg.heap = nullptr; arg.queue = nullptr; @@ -85,23 +85,23 @@ static int getTaskIdx(u32 id) { return idx[id]; } -util::ManagedTask* WorkerSupportThreadMgr::getTask(int id) { +ManagedTask* WorkerSupportThreadMgr::getTask(int id) { return mWorkers[getWorkerIdx(id)].tasks[getTaskIdx(id)]; } -void WorkerSupportThreadMgr::submitRequest(int id, util::TaskDelegate* delegate) { +void WorkerSupportThreadMgr::submitRequest(int id, TaskDelegate* delegate) { auto& worker = mWorkers[getWorkerIdx(id)]; if (mThreadsPaused) return; - util::TaskRequest req{false}; + TaskRequest req{false}; req.mName = worker.thread_name; req.mDelegate = delegate; req.mHasHandle = true; req.mSynchronous = false; req.mThread = worker.task_thread; - util::TaskMgrRequest task_mgr_req; + TaskMgrRequest task_mgr_req; task_mgr_req.request = &req; task_mgr_req.handle = worker.task_handle; task_mgr_req.task = worker.tasks[getTaskIdx(id)]; diff --git a/src/KingSystem/Framework/frmWorkerSupportThreadMgr.h b/src/KingSystem/Framework/frmWorkerSupportThreadMgr.h index 2ec99fa2..25a3ada2 100644 --- a/src/KingSystem/Framework/frmWorkerSupportThreadMgr.h +++ b/src/KingSystem/Framework/frmWorkerSupportThreadMgr.h @@ -11,12 +11,12 @@ class DelegateThread; class Thread; } // namespace sead -namespace ksys::util { +namespace ksys { class GameTaskThread; class ManagedTask; class ManagedTaskHandle; class TaskMgr; -} // namespace ksys::util +} // namespace ksys namespace ksys::frm { @@ -28,7 +28,7 @@ class WorkerSupportThreadMgr { public: void init(sead::Heap* heap); - void submitRequest(int id, util::TaskDelegate* delegate); + void submitRequest(int id, TaskDelegate* delegate); void waitForTask(int id); void pauseThreads(); void resumeThreads(); @@ -39,18 +39,18 @@ private: static constexpr int NumTasks = 5; struct Worker { - util::GameTaskThread* task_thread = nullptr; + GameTaskThread* task_thread = nullptr; sead::DelegateThread* thread; - util::ManagedTask* tasks[NumTasks]; - util::TaskMgr* task_mgr = nullptr; - util::ManagedTaskHandle* task_handle; + ManagedTask* tasks[NumTasks]; + TaskMgr* task_mgr = nullptr; + ManagedTaskHandle* task_handle; sead::FixedSafeString<32> thread_name; }; void initSleeperThreads(); void sleeperThreadFun(sead::Thread* thread, sead::MessageQueue::Element); - util::ManagedTask* getTask(int id); + ManagedTask* getTask(int id); Worker mWorkers[NumWorkers]; bool mThreadsPaused = false; |
