ksys/res: Implement Archive

This commit is contained in:
Léo Lam
2020-09-06 17:10:23 +02:00
parent 3d3bcaee1a
commit bb055e442e
5 changed files with 47 additions and 9 deletions
@@ -0,0 +1,13 @@
#include "KingSystem/Resource/resResourceArchive.h"
namespace ksys::res {
Archive::Archive() = default;
Archive::~Archive() = default;
void Archive::doCreate_(u8* data, u32 size, sead::Heap* heap) {
sead::ArchiveRes::doCreate_(data + mDataOffset, size, heap);
}
} // namespace ksys::res
@@ -0,0 +1,23 @@
#pragma once
#include <resource/seadSharcArchiveRes.h>
#include "KingSystem/Resource/resResource.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
struct ArchiveOffset {
u32 mDataOffset = 0;
};
class Archive : public sead::SharcArchiveRes, public IResource, public ArchiveOffset {
SEAD_RTTI_OVERRIDE(Archive, sead::SharcArchiveRes)
public:
Archive();
~Archive() override;
void doCreate_(u8* data, u32 size, sead::Heap* heap) override;
};
KSYS_CHECK_SIZE_NX150(Archive, 0x68);
} // namespace ksys::res