ksys/res: Start adding LoadRequest

This commit is contained in:
Léo Lam 2020-09-23 01:14:55 +02:00
parent 90ae681ae0
commit 75eaf5608f
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 87 additions and 6 deletions

View File

@ -90780,9 +90780,9 @@
0x00000071012014f4,ResourceBase::rtti2,92,_ZNK4ksys3res8Resource18getRuntimeTypeInfoEv
0x0000007101201550,nullsub_5570,4,
0x0000007101201554,sub_7101201554,324,_GLOBAL__sub_I_resHandle.cpp!
0x0000007101201698,ResourceLoadArgBase::dtorDelete,4,
0x000000710120169c,ResourceLoadArg::ctor,136,
0x0000007101201724,ResourceLoadArg::ctor2,112,
0x0000007101201698,ResourceLoadArgBase::dtorDelete,4,_ZN4ksys3res12ILoadRequestD0Ev
0x000000710120169c,ResourceLoadArg::ctor,136,_ZN4ksys3res11LoadRequestC1Ev
0x0000007101201724,ResourceLoadArg::ctor2,112,_ZN4ksys3res11LoadRequestC1Eijb
0x0000007101201794,ResourceLoadArg2::ctor,64,
0x00000071012017d4,ResourceLoadArg3::ctor,60,
0x0000007101201810,Res::ctor,72,_ZN4ksys3res6HandleC1Ev
@ -90814,8 +90814,8 @@
0x0000007101202880,Res::i,148,
0x0000007101202914,Res::makeEmptyString,32,
0x0000007101202934,Res::parse,204,
0x0000007101202a00,ResourceLoadArgBase::rtti1,112,
0x0000007101202a70,ResourceLoadArgBase::rtti2,92,
0x0000007101202a00,ResourceLoadArgBase::rtti1,112,_ZNK4ksys3res12ILoadRequest27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007101202a70,ResourceLoadArgBase::rtti2,92,_ZNK4ksys3res12ILoadRequest18getRuntimeTypeInfoEv
0x0000007101202acc,Res::rtti1,112,
0x0000007101202b3c,Res::rtti2,92,
0x0000007101202b98,ResourceLoadArg::rtti1,204,
@ -90827,7 +90827,7 @@
0x0000007101202e00,ResourceLoadArg2::dtorDelete,4,
0x0000007101202e04,ResourceLoadArg3::rtti1,204,
0x0000007101202ed0,ResourceLoadArg3::rtti2,92,
0x0000007101202f2c,ResourceLoadArgBase::dtor,20,
0x0000007101202f2c,ResourceLoadArgBase::dtor,20,_ZN4ksys3res12ILoadRequestD1Ev
0x0000007101202f40,ResourceLoadArg3::dtorDelete,4,
0x0000007101202f44,sub_7101202F44,140,
0x0000007101202fd0,sub_7101202FD0,32,

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

View File

@ -88,6 +88,8 @@ target_sources(uking PRIVATE
resEntryFactory.h
resHandle.cpp
resHandle.h
resLoadRequest.cpp
resLoadRequest.h
resResource.cpp
resResource.h

View File

@ -0,0 +1,16 @@
#include "KingSystem/Resource/resLoadRequest.h"
namespace ksys::res {
ILoadRequest::~ILoadRequest() {
;
}
LoadRequest::LoadRequest() = default;
LoadRequest::LoadRequest(s32 load_data_alignment, u32 arg_c, bool arg_20)
: _20(arg_20), mLoadDataAlignment(load_data_alignment) {
_c = arg_c;
}
} // namespace ksys::res

View File

@ -0,0 +1,63 @@
#pragma once
#include <basis/seadTypes.h>
#include <prim/seadRuntimeTypeInfo.h>
#include <prim/seadSafeString.h>
#include "KingSystem/Utils/Types.h"
namespace sead {
class FileDevice;
}
namespace ksys {
class OverlayArena;
}
namespace ksys::res {
class EntryFactoryBase;
class Handle;
class ILoadRequest {
SEAD_RTTI_BASE(ILoadRequest)
public:
virtual ~ILoadRequest();
bool _8 = false;
u32 _c = 1;
sead::SafeString mRequester;
};
KSYS_CHECK_SIZE_NX150(ILoadRequest, 0x20);
// FIXME: incomplete
class LoadRequest : public ILoadRequest {
SEAD_RTTI_OVERRIDE(LoadRequest, ILoadRequest)
public:
LoadRequest();
LoadRequest(s32 load_data_alignment, u32 arg_c, bool arg_20);
~LoadRequest() override = default;
bool _20 = false;
bool _21 = false;
bool _22 = false;
bool mCanFallBackToNonArchiveLoad = true;
bool _24 = false;
bool mLoadCompressed = true;
bool _26 = true;
bool _27 = true;
bool _28 = true;
s32 mLoadDataAlignment = 0;
u32 mAllocSize = 0;
u32 _34 = 0;
sead::FileDevice* mFileDevice = nullptr;
EntryFactoryBase* mEntryFactory = nullptr;
sead::FileDevice* mAocFileDevice = nullptr;
OverlayArena* mArena = nullptr;
Handle* mPackHandle = nullptr;
void* _60 = nullptr;
void* _68 = nullptr;
sead::SafeString mPath;
};
KSYS_CHECK_SIZE_NX150(LoadRequest, 0x80);
} // namespace ksys::res