LayoutResourceMgr::init

This commit is contained in:
Pistonight 2024-08-07 20:41:13 -07:00
parent 9f572d3526
commit cecb84bd2f
3 changed files with 29 additions and 8 deletions

View File

@ -88330,8 +88330,8 @@ Address,Quality,Size,Name
0x00000071010a22c4,U,000372,
0x00000071010a2438,U,000112,
0x00000071010a24a8,U,000120,
0x00000071010a2520,U,000284,LayoutResourceMgr::createInstance
0x00000071010a263c,U,000268,LayoutResourceMgr::init
0x00000071010a2520,O,000284,_ZN4ksys2ui17LayoutResourceMgr14createInstanceEPN4sead4HeapE
0x00000071010a263c,O,000268,_ZN4ksys2ui17LayoutResourceMgr4initEPN4sead4HeapE
0x00000071010a2748,U,000424,LayoutResourceMgr::loadMsgPack
0x00000071010a28f0,U,000384,LayoutResourceMgr::__auto2
0x00000071010a2a70,U,000260,LayoutResourceMgr::loadLangFont

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

View File

@ -1,12 +1,33 @@
#include "LayoutResourceMgr.h"
#include "devenv/seadEnvUtil.h"
namespace ksys::ui {
SEAD_SINGLETON_DISPOSER_IMPL(LayoutResourceMgr)
void LayoutResourceMgr::init(sead::Heap* heap) {
// TODO
mHandleAtx28 = new (heap) res::Handle;
mLangFontTodo = new (heap) res::Handle;
mVersionRes = new (heap) res::Handle;
int count;
// value() needed because operator int() is volatile
switch (sead::EnvUtil::getRegionLanguage().value()) {
case sead::RegionLanguageID::KRko:
case sead::RegionLanguageID::CNzh:
case sead::RegionLanguageID::TWzh:
count = 4;
break;
default:
count = 0;
break;
}
for (int i = 0; i < count; i++) {
mArray.pushBack(new (heap) res::Handle);
}
if (count > 0) {
mHandleAtx90 = new (heap) res::Handle;
}
}
}
} // namespace ksys::ui

View File

@ -20,11 +20,11 @@ public:
void init(sead::Heap* heap);
private:
void* _28 = nullptr;
void* mLangFontTodo = nullptr;
res::Handle* mHandleAtx28 = nullptr;
res::Handle* mLangFontTodo = nullptr;
res::Handle* mVersionRes = nullptr;
sead::FixedPtrArray<void, 8> mArray;
u64 _90 = 0;
sead::FixedPtrArray<res::Handle, 8> mArray;
res::Handle* mHandleAtx90 = 0;
ArcResourceMgr* mArcResourceMgr = nullptr;
res::Handle* mLangFontRes = nullptr;
void* _a8 = nullptr;