diff options
| author | AlexApps99 <alex.apps99@gmail.com> | 2021-08-16 11:26:11 +1200 |
|---|---|---|
| committer | AlexApps99 <alex.apps99@gmail.com> | 2021-08-20 23:27:01 +1200 |
| commit | dfeb87fd3d128d655633e29b0b71eb795d58eab2 (patch) | |
| tree | 4c123792562055302e02887566aee8bfe586b3bf /src/KingSystem/Resource | |
| parent | 8812e80809dcc18d00faa7f21f5f28b92bfefc66 (diff) | |
ksys: Add StarterPackMgr
Diffstat (limited to 'src/KingSystem/Resource')
| -rw-r--r-- | src/KingSystem/Resource/resResourceArchive.h | 2 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resResourceMgrTask.cpp | 9 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resResourceMgrTask.h | 6 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resSystem.cpp | 8 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resSystem.h | 11 |
5 files changed, 36 insertions, 0 deletions
diff --git a/src/KingSystem/Resource/resResourceArchive.h b/src/KingSystem/Resource/resResourceArchive.h index 60550d53..34b0c16d 100644 --- a/src/KingSystem/Resource/resResourceArchive.h +++ b/src/KingSystem/Resource/resResourceArchive.h @@ -17,6 +17,8 @@ public: ~Archive() override; void doCreate_(u8* data, u32 size, sead::Heap* heap) override; + + static constexpr size_t cLoadDataAlignment = 0x80; }; KSYS_CHECK_SIZE_NX150(Archive, 0x68); diff --git a/src/KingSystem/Resource/resResourceMgrTask.cpp b/src/KingSystem/Resource/resResourceMgrTask.cpp index 4497d4f4..6b4d34f2 100644 --- a/src/KingSystem/Resource/resResourceMgrTask.cpp +++ b/src/KingSystem/Resource/resResourceMgrTask.cpp @@ -238,6 +238,10 @@ void ResourceMgrTask::setFlag2000Or5000(s32 type) { } } +void ResourceMgrTask::resetFlag20000() { + mFlags.reset(Flag::_20000); +} + bool ResourceMgrTask::isFlag4Set() const { return mFlags.isOn(Flag::_4); } @@ -701,4 +705,9 @@ void ResourceMgrTask::removeOverlayArena(OverlayArena* arena) { } } +void ResourceMgrTask::setPack(Handle* pack) { + mPackHandle = pack; + res::stubbedLogFunction(); +} + } // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceMgrTask.h b/src/KingSystem/Resource/resResourceMgrTask.h index 81e3e083..225d9b6f 100644 --- a/src/KingSystem/Resource/resResourceMgrTask.h +++ b/src/KingSystem/Resource/resResourceMgrTask.h @@ -137,6 +137,7 @@ public: void controlField9c0d88(bool off); void setFlag2000Or5000(s32 type); + void resetFlag20000(); void copyLoadRequest(ILoadRequest* request, const sead::SafeString& path, const ILoadRequest& source_request); @@ -264,6 +265,10 @@ public: ResourceUnitDelegatePair& getUnitInitLoadFn() { return mUnitInitLoadFn; } auto& getUnitAdjustHeapFn() { return mUnitAdjustHeapFn; } + OverlayArena* getArenaForResourceL() { return &mArenaForResourceL; } + + void setPack(Handle* pack); + private: enum class Flag { _1 = 1, @@ -274,6 +279,7 @@ private: _1000 = 0x1000, _2000 = 0x2000, _4000 = 0x4000, + _20000 = 0x20000, }; enum class CacheControlFlag : u8 { diff --git a/src/KingSystem/Resource/resSystem.cpp b/src/KingSystem/Resource/resSystem.cpp index c40b9df9..e1064b13 100644 --- a/src/KingSystem/Resource/resSystem.cpp +++ b/src/KingSystem/Resource/resSystem.cpp @@ -36,4 +36,12 @@ s32 getDefaultAlignment() { return 8; } +void registerPackExtension(bool has_extension, const sead::SafeString& extension) {} + +void stubbedBool(bool) {} + +void setResourceMgrPack(Handle* pack) { + ResourceMgrTask::instance()->setPack(pack); +} + } // namespace ksys::res diff --git a/src/KingSystem/Resource/resSystem.h b/src/KingSystem/Resource/resSystem.h index 4d44d20f..9cdc52f8 100644 --- a/src/KingSystem/Resource/resSystem.h +++ b/src/KingSystem/Resource/resSystem.h @@ -1,6 +1,7 @@ #pragma once #include <prim/seadSafeString.h> +#include "resHandle.h" namespace ksys::res { @@ -27,4 +28,14 @@ bool returnFalse3(const sead::SafeString& path); s32 getDefaultAlignment(); +// In release builds, this function does nothing. +// TODO: figure out what this is used for. Stubbed log function? +void registerPackExtension(bool has_extension, const sead::SafeString& extension); + +// In release builds, this function does nothing. +// TODO: figure out what this is used for. Stubbed log function? +void stubbedBool(bool); + +void setResourceMgrPack(Handle* pack); + } // namespace ksys::res |
