mirror of https://github.com/zeldaret/botw.git
ksys/res: Implement Archive
This commit is contained in:
parent
3d3bcaee1a
commit
bb055e442e
|
@ -57,6 +57,8 @@ add_executable(uking
|
|||
src/KingSystem/Resource/resResource.h
|
||||
src/KingSystem/Resource/resResourceActorLink.cpp
|
||||
src/KingSystem/Resource/resResourceActorLink.h
|
||||
src/KingSystem/Resource/resResourceArchive.cpp
|
||||
src/KingSystem/Resource/resResourceArchive.h
|
||||
src/KingSystem/Resource/resResourceDemo.cpp
|
||||
src/KingSystem/Resource/resResourceDemo.h
|
||||
src/KingSystem/Resource/resResourceLod.cpp
|
||||
|
|
|
@ -91067,14 +91067,14 @@
|
|||
0x00000071012132cc,return_0,8,
|
||||
0x00000071012132d4,return_8,8,
|
||||
0x00000071012132dc,return1,16,
|
||||
0x00000071012132ec,ArchiveRes::ctor,60,
|
||||
0x0000007101213328,ArchiveRes::dtor,4,
|
||||
0x000000710121332c,sub_710121332C,8,
|
||||
0x0000007101213334,ArchiveRes::dtorDelete,36,
|
||||
0x0000007101213358,sub_7101213358,40,
|
||||
0x0000007101213380,ArchiveRes::doCreate,12,
|
||||
0x000000710121338c,ArchiveRes::rtti1,132,
|
||||
0x0000007101213410,ArchiveRes::rtti2,92,
|
||||
0x00000071012132ec,ArchiveRes::ctor,60,_ZN4ksys3res7ArchiveC1Ev
|
||||
0x0000007101213328,ArchiveRes::dtor,4,_ZN4ksys3res7ArchiveD1Ev
|
||||
0x000000710121332c,sub_710121332C,8,_ZThn88_N4ksys3res7ArchiveD1Ev
|
||||
0x0000007101213334,ArchiveRes::dtorDelete,36,_ZN4ksys3res7ArchiveD0Ev
|
||||
0x0000007101213358,sub_7101213358,40,_ZThn88_N4ksys3res7ArchiveD0Ev
|
||||
0x0000007101213380,ArchiveRes::doCreate,12,_ZN4ksys3res7Archive9doCreate_EPhjPN4sead4HeapE
|
||||
0x000000710121338c,ArchiveRes::rtti1,132,_ZNK4ksys3res7Archive27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
|
||||
0x0000007101213410,ArchiveRes::rtti2,92,_ZNK4ksys3res7Archive18getRuntimeTypeInfoEv
|
||||
0x000000710121346c,_ZN4sead15SharcArchiveRes19closeDirectoryImpl_EPNS_9SafeArrayIhLi32EEE,8,_ZNK4sead15SharcArchiveRes19closeDirectoryImpl_EPNS_9SafeArrayIhLi32EEE
|
||||
0x00000071012135e8,sub_71012135E8,56,
|
||||
0x0000007101213620,sub_7101213620,92,
|
||||
|
|
Can't render this file because it is too large.
|
2
lib/sead
2
lib/sead
|
@ -1 +1 @@
|
|||
Subproject commit 397b25d7f0c8841972f20a59f6000f1fb5daabfe
|
||||
Subproject commit 46ef57b925a24bfb54cbd679a5ecfb413be2d3dc
|
|
@ -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
|
Loading…
Reference in New Issue