mirror of
https://github.com/zeldaret/botw
synced 2026-07-30 07:45:30 -04:00
ksys/res: Add MemoryTask
This commit is contained in:
@@ -86,6 +86,8 @@ target_sources(uking PRIVATE
|
||||
resCache.h
|
||||
resCacheCriticalSection.cpp
|
||||
resCacheCriticalSection.h
|
||||
resControlTask.cpp
|
||||
resControlTask.h
|
||||
resCurrentResNameMgr.cpp
|
||||
resCurrentResNameMgr.h
|
||||
resEntryFactory.cpp
|
||||
@@ -94,8 +96,8 @@ target_sources(uking PRIVATE
|
||||
resHandle.h
|
||||
resLoadRequest.cpp
|
||||
resLoadRequest.h
|
||||
resControlTask.cpp
|
||||
resControlTask.h
|
||||
resMemoryTask.cpp
|
||||
resMemoryTask.h
|
||||
resOffsetReadFileDevice.cpp
|
||||
resOffsetReadFileDevice.h
|
||||
resResourceMgrTask.cpp
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#include "KingSystem/Resource/resMemoryTask.h"
|
||||
#include "KingSystem/Resource/resSystem.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
MemoryTask::MemoryTask(sead::Heap* heap) : util::ManagedTask(heap) {}
|
||||
|
||||
void MemoryTask::onRun_() {}
|
||||
|
||||
void MemoryTask::prepareImpl_(util::TaskRequest* req_) {
|
||||
auto* req = static_cast<MemoryTaskRequest*>(req_);
|
||||
mData._8 = req->mData_8;
|
||||
mData._c = req->mData_c;
|
||||
mData.mStr = req->mData_mStr;
|
||||
setUserData();
|
||||
}
|
||||
|
||||
void MemoryTask::preRemoveImpl_() {
|
||||
if (returnFalse())
|
||||
stubbedLogFunction();
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
||||
@@ -0,0 +1,48 @@
|
||||
#pragma once
|
||||
|
||||
#include <prim/seadSafeString.h>
|
||||
#include "KingSystem/Utils/Thread/ManagedTask.h"
|
||||
#include "KingSystem/Utils/Thread/TaskData.h"
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
class MemoryTaskData : public util::TaskData {
|
||||
SEAD_RTTI_OVERRIDE(MemoryTaskData, util::TaskData)
|
||||
public:
|
||||
virtual ~MemoryTaskData() = default;
|
||||
|
||||
bool _8 = false;
|
||||
s32 _c = -1;
|
||||
sead::FixedSafeString<128> mStr;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(MemoryTaskData, 0xa8);
|
||||
|
||||
class MemoryTask : public util::ManagedTask {
|
||||
SEAD_RTTI_OVERRIDE(MemoryTask, util::ManagedTask)
|
||||
public:
|
||||
explicit MemoryTask(sead::Heap* heap);
|
||||
~MemoryTask() override { ; }
|
||||
|
||||
private:
|
||||
void onRun_() override;
|
||||
void prepareImpl_(util::TaskRequest* req) override;
|
||||
void preRemoveImpl_() override;
|
||||
|
||||
void setUserData() { util::ManagedTask::setUserData(&mData); }
|
||||
|
||||
MemoryTaskData mData;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(MemoryTask, 0x168);
|
||||
|
||||
class MemoryTaskRequest : public util::TaskRequest {
|
||||
SEAD_RTTI_OVERRIDE(MemoryTaskRequest, util::TaskRequest)
|
||||
public:
|
||||
MemoryTaskRequest() = default;
|
||||
|
||||
bool mData_8 = false;
|
||||
s32 mData_c = -1;
|
||||
sead::FixedSafeString<128> mData_mStr;
|
||||
};
|
||||
|
||||
} // namespace ksys::res
|
||||
Reference in New Issue
Block a user