mirror of https://github.com/zeldaret/botw.git
96 lines
2.5 KiB
C++
96 lines
2.5 KiB
C++
#pragma once
|
|
|
|
#include <basis/seadTypes.h>
|
|
#include <prim/seadRuntimeTypeInfo.h>
|
|
#include <prim/seadSafeString.h>
|
|
#include <resource/seadResource.h>
|
|
#include "KingSystem/Utils/Types.h"
|
|
|
|
namespace sead {
|
|
class FileDevice;
|
|
}
|
|
|
|
namespace ksys {
|
|
class OverlayArena;
|
|
}
|
|
|
|
namespace ksys::res {
|
|
|
|
class Handle;
|
|
|
|
class EntryFactoryBase;
|
|
|
|
class ILoadRequest {
|
|
SEAD_RTTI_BASE(ILoadRequest)
|
|
public:
|
|
ILoadRequest() = default;
|
|
ILoadRequest(const ILoadRequest&) = default;
|
|
ILoadRequest& operator=(const ILoadRequest&) = default;
|
|
virtual ~ILoadRequest();
|
|
|
|
bool _8 = false;
|
|
u32 mLaneId = 1;
|
|
sead::SafeString mRequester;
|
|
};
|
|
KSYS_CHECK_SIZE_NX150(ILoadRequest, 0x20);
|
|
|
|
class LoadRequest : public ILoadRequest {
|
|
SEAD_RTTI_OVERRIDE(LoadRequest, ILoadRequest)
|
|
public:
|
|
LoadRequest();
|
|
LoadRequest(s32 load_data_alignment, u32 lane_id, bool arg_20);
|
|
LoadRequest(const LoadRequest&) = default;
|
|
LoadRequest& operator=(const LoadRequest&) = default;
|
|
~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 mBufferSize = 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);
|
|
|
|
class SimpleLoadRequest : public ILoadRequest {
|
|
SEAD_RTTI_OVERRIDE(SimpleLoadRequest, ILoadRequest)
|
|
public:
|
|
SimpleLoadRequest();
|
|
~SimpleLoadRequest() override = default;
|
|
SimpleLoadRequest(const SimpleLoadRequest&) = default;
|
|
SimpleLoadRequest& operator=(const SimpleLoadRequest&) = default;
|
|
|
|
sead::SafeString mPath;
|
|
void* _30 = nullptr;
|
|
};
|
|
KSYS_CHECK_SIZE_NX150(SimpleLoadRequest, 0x38);
|
|
|
|
class SimplePackedLoadRequest : public ILoadRequest {
|
|
SEAD_RTTI_OVERRIDE(SimplePackedLoadRequest, ILoadRequest)
|
|
public:
|
|
SimplePackedLoadRequest();
|
|
~SimplePackedLoadRequest() override = default;
|
|
SimplePackedLoadRequest(const SimplePackedLoadRequest&) = default;
|
|
SimplePackedLoadRequest& operator=(const SimplePackedLoadRequest&) = default;
|
|
|
|
Handle* mPack = nullptr;
|
|
void* _30 = nullptr;
|
|
};
|
|
KSYS_CHECK_SIZE_NX150(SimplePackedLoadRequest, 0x30);
|
|
|
|
} // namespace ksys::res
|