From 78f64ca78c285ed536671d46a337e9913a34988d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 10 Oct 2020 01:30:29 +0200 Subject: [PATCH] ksys/res: Implement ResourceMgrTask::insertOverlayArena --- data/uking_functions.csv | 2 +- src/KingSystem/Resource/resResourceMgrTask.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 3857db96..8e71f334 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -90861,7 +90861,7 @@ 0x0000007101204054,res::ResourceMgrTask::dtor,1492,_ZN4ksys3res15ResourceMgrTaskD1Ev 0x0000007101204628,res::ResourceMgrTask::dtorDelete,36,_ZN4ksys3res15ResourceMgrTaskD0Ev 0x000000710120464c,res::ResourceMgrTask::prepare,4876, -0x0000007101205958,res::ResourceMgrTask::insertOverlayArena,136, +0x0000007101205958,res::ResourceMgrTask::insertOverlayArena,136,_ZN4ksys3res15ResourceMgrTask18insertOverlayArenaEPNS_12OverlayArenaE 0x00000071012059e0,sub_71012059E0,720, 0x0000007101205cb0,startResourceLoadingThread,236,_ZN4ksys3res15ResourceMgrTask25makeResourceLoadingThreadEPN4sead4HeapEb 0x0000007101205d9c,WorkerThread1::init,224, diff --git a/src/KingSystem/Resource/resResourceMgrTask.cpp b/src/KingSystem/Resource/resResourceMgrTask.cpp index 2622e3e5..46bf3320 100644 --- a/src/KingSystem/Resource/resResourceMgrTask.cpp +++ b/src/KingSystem/Resource/resResourceMgrTask.cpp @@ -4,6 +4,7 @@ #include #include "KingSystem/Resource/resCompactedHeap.h" #include "KingSystem/Resource/resEntryFactory.h" +#include "KingSystem/Resource/resSystem.h" #include "KingSystem/Resource/resTextureHandleList.h" #include "KingSystem/Resource/resTextureHandleMgr.h" #include "KingSystem/Utils/SafeDelete.h" @@ -76,6 +77,14 @@ ResourceMgrTask::~ResourceMgrTask() { mResSystemHeap->destroy(); } +void ResourceMgrTask::insertOverlayArena(OverlayArena* arena) { + auto lock = sead::makeScopedLock(mArenasCS); + if (!mArenas.isNodeLinked(arena)) { + mArenas.pushBack(arena); + stubbedLogFunction(); + } +} + util::TaskThread* ResourceMgrTask::makeResourceLoadingThread(sead::Heap* heap, bool use_game_task_thread) { if (use_game_task_thread) {