ksys/res: Finish implementing Chemical

This commit is contained in:
Léo Lam 2021-03-21 18:55:57 +01:00
parent f8ca5ab333
commit ddf55e78da
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
3 changed files with 54 additions and 19 deletions

View File

@ -96718,24 +96718,24 @@
0x00000071012f9e70,sub_71012F9E70,372,_ZN4ksys3res11BoneControl33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012f9fe4,sub_71012F9FE4,384,_ZN4ksys3res11BoneControl6EyeSetC2Ev
0x00000071012fa164,sub_71012FA164,368,_ZN4ksys3res11BoneControl9SpineNodeC2Ev
0x00000071012fa2d4,sub_71012FA2D4,272,
0x00000071012fa3e4,nullsub_4837,4,
0x00000071012fa3e8,nullsub_4838,4,
0x00000071012fa3ec,sub_71012FA3EC,180,
0x00000071012fa4a0,sub_71012FA4A0,180,
0x00000071012fa554,sub_71012FA554,104,
0x00000071012fa5bc,sub_71012FA5BC,92,
0x00000071012fa618,sub_71012FA618,8,
0x00000071012fa620,sub_71012FA620,92,
0x00000071012fa67c,sub_71012FA67C,8,
0x00000071012fa684,sub_71012FA684,8,
0x00000071012fa68c,sub_71012FA68C,92,
0x00000071012fa6e8,sub_71012FA6E8,104,
0x00000071012fa750,sub_71012FA750,92,
0x00000071012fa7ac,sub_71012FA7AC,8,
0x00000071012fa7b4,sub_71012FA7B4,100,
0x00000071012fa818,sub_71012FA818,88,
0x00000071012fa870,sub_71012FA870,372,
0x00000071012fa2d4,sub_71012FA2D4,272,_ZN4ksys3res8ChemicalC1Ev
0x00000071012fa3e4,nullsub_4837,4,_ZN4ksys3res8Chemical9doCreate_EPhjPN4sead4HeapE
0x00000071012fa3e8,nullsub_4838,4,_ZThn632_N4ksys3res8Chemical9doCreate_EPhjPN4sead4HeapE
0x00000071012fa3ec,sub_71012FA3EC,180,_ZN4ksys3res8Chemical6parse_EPhmPN4sead4HeapE
0x00000071012fa4a0,sub_71012FA4A0,180,_ZThn632_N4ksys3res8Chemical6parse_EPhmPN4sead4HeapE
0x00000071012fa554,sub_71012FA554,104,_ZN4ksys3res8ChemicalD2Ev
0x00000071012fa5bc,sub_71012FA5BC,92,_ZN4ksys3res8ChemicalD0Ev
0x00000071012fa618,sub_71012FA618,8,_ZNK4ksys3res8Chemical27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012fa620,sub_71012FA620,92,_ZNK4ksys3res8Chemical18getRuntimeTypeInfoEv
0x00000071012fa67c,sub_71012FA67C,8,_ZNK4ksys3res8Chemical10needsParseEv
0x00000071012fa684,sub_71012FA684,8,_ZThn632_NK4ksys3res8Chemical27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012fa68c,sub_71012FA68C,92,_ZThn632_NK4ksys3res8Chemical18getRuntimeTypeInfoEv
0x00000071012fa6e8,sub_71012FA6E8,104,_ZThn632_N4ksys3res8ChemicalD1Ev
0x00000071012fa750,sub_71012FA750,92,_ZThn632_N4ksys3res8ChemicalD0Ev
0x00000071012fa7ac,sub_71012FA7AC,8,_ZThn632_NK4ksys3res8Chemical10needsParseEv
0x00000071012fa7b4,sub_71012FA7B4,100,_ZThn664_N4ksys3res8ChemicalD1Ev
0x00000071012fa818,sub_71012FA818,88,_ZThn664_N4ksys3res8ChemicalD0Ev
0x00000071012fa870,sub_71012FA870,372,_ZN4ksys3res8Chemical33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012fa9e4,nullsub_4839,4,_ZN4ksys3res3Lod9doCreate_EPhjPN4sead4HeapE
0x00000071012fa9e8,nullsub_4840,4,_ZThn632_N4ksys3res3Lod9doCreate_EPhjPN4sead4HeapE
0x00000071012fa9ec,sub_71012FA9EC,492,_ZN4ksys3res3Lod6parse_EPhmPN4sead4HeapE

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

View File

@ -1 +1,24 @@
#include "KingSystem/Resource/resResourceChemical.h"
namespace ksys::res {
Chemical::Chemical() : ParamIO("chemical", 0) {
addList(&mRoot, "chemical_root");
}
void Chemical::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {}
bool Chemical::parse_(u8* data, size_t size, sead::Heap* heap) {
if (!data)
return true;
agl::utl::ResParameterArchive archive{data};
const auto chemical_root_list =
agl::utl::getResParameterList(archive.getRootList(), "chemical_root");
mRoot.parse(chemical_root_list, heap);
return true;
}
} // namespace ksys::res

View File

@ -1,13 +1,25 @@
#pragma once
#include "KingSystem/Chemical/chmRoot.h"
#include "KingSystem/Resource/resResource.h"
#include "KingSystem/Utils/ParamIO.h"
namespace ksys::res {
// TODO
class Chemical : public ParamIO, public Resource {
SEAD_RTTI_OVERRIDE(Chemical, Resource)
public:
Chemical();
void doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) override;
bool needsParse() const override { return true; }
bool parse_(u8* data, size_t size, sead::Heap* heap) override;
const chm::Root& getRoot() const { return mRoot; }
private:
chm::Root mRoot;
};
} // namespace ksys::res