ksys/res: Implement GParamList HorseCreator

This commit is contained in:
Léo Lam 2020-09-20 12:05:59 +02:00
parent 707001d747
commit bc80812c09
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 30 additions and 2 deletions

View File

@ -91,6 +91,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseCreator.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h

View File

@ -89104,7 +89104,7 @@
0x00000071011a07fc,BgparamlistObjectHorse::ctor,1068,_ZN4ksys3res21GParamListObjectHorseC2Ev
0x00000071011a0c28,BgparamlistObjectHorseUnit::ctor,424,_ZN4ksys3res25GParamListObjectHorseUnitC2Ev
0x00000071011a0dd0,BgparamlistObjectHorseRider::ctor,1432,_ZN4ksys3res26GParamListObjectHorseRiderC2Ev
0x00000071011a1368,BgparamlistObjectHorseCreator::ctor,328,
0x00000071011a1368,BgparamlistObjectHorseCreator::ctor,328,_ZN4ksys3res28GParamListObjectHorseCreatorC2Ev
0x00000071011a14b0,BgparamlistObjectGiantArmorSlot::ctor,1188,
0x00000071011a1954,BgparamlistObjectGuardian::ctor,812,
0x00000071011a1c80,BgparamlistObjectSwarm::ctor,388,
@ -89200,7 +89200,7 @@
0x00000071011a7e0c,sub_71011A7E0C,12,_ZNK4ksys3res25GParamListObjectHorseUnit7getNameEv
0x00000071011a7e18,sub_71011A7E18,12,_ZNK4ksys3res27GParamListObjectHorseObject7getNameEv
0x00000071011a7e24,sub_71011A7E24,12,_ZNK4ksys3res26GParamListObjectHorseRider7getNameEv
0x00000071011a7e30,sub_71011A7E30,12,
0x00000071011a7e30,sub_71011A7E30,12,_ZNK4ksys3res28GParamListObjectHorseCreator7getNameEv
0x00000071011a7e3c,sub_71011A7E3C,12,
0x00000071011a7e48,sub_71011A7E48,12,
0x00000071011a7e54,sub_71011A7E54,12,

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

View File

@ -0,0 +1,25 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectHorseCreator : public GParamListObject {
public:
GParamListObjectHorseCreator() {
auto* const obj = &mObj;
mHorseNames.init("", "HorseNames", "", obj);
mLeaderHorseNames.init("", "LeaderHorseNames", "", obj);
}
const char* getName() const override { return "HorseCreator"; }
agl::utl::Parameter<sead::SafeString> mHorseNames;
agl::utl::Parameter<sead::SafeString> mLeaderHorseNames;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectHorseCreator, 0x88);
} // namespace ksys::res

View File

@ -30,6 +30,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseCreator.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h"
@ -152,6 +153,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::HorseUnit>(archive.getRootList(), "HorseUnit", heap, dummy_list);
add<GParamListObjType::HorseObject>(archive.getRootList(), "HorseObject", heap, dummy_list);
add<GParamListObjType::HorseRider>(archive.getRootList(), "HorseRider", heap, dummy_list);
add<GParamListObjType::HorseCreator>(archive.getRootList(), "HorseCreator", heap, dummy_list);
// TODO: the rest