mirror of https://github.com/zeldaret/botw.git
ksys/res: Implement GParamList System + General
This commit is contained in:
parent
62880a0b1d
commit
5ff20fa250
|
|
@ -64,6 +64,8 @@ add_executable(uking
|
|||
src/KingSystem/MessageSystem/mesTransceiver.h
|
||||
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListObject.h
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.cpp
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.h
|
||||
src/KingSystem/Resource/GeneralParamList/resGParamListTraits.h
|
||||
|
|
|
|||
|
|
@ -89058,7 +89058,7 @@
|
|||
0x000000710118bc20,nullsub_4619,4,_ZThn632_N4ksys3res15DummyGParamList9doCreate_EPhjPN4sead4HeapE
|
||||
0x000000710118bc24,sub_710118BC24,24,_ZN4ksys3res15DummyGParamList6parse_EPhmPN4sead4HeapE
|
||||
0x000000710118bc3c,sub_710118BC3C,28,_ZThn632_N4ksys3res15DummyGParamList6parse_EPhmPN4sead4HeapE
|
||||
0x000000710118bc58,BgparamlistObjectGeneral::ctor,764,
|
||||
0x000000710118bc58,BgparamlistObjectGeneral::ctor,764,_ZN4ksys3res23GParamListObjectGeneralC2Ev
|
||||
0x000000710118bf54,BgparamlistObjectEnemy::ctor,1440,
|
||||
0x000000710118c4f4,BgparamlistObjectEnemyLevel::ctor,936,
|
||||
0x000000710118c89c,BgparamlistObjectEnemyRace::ctor,2780,
|
||||
|
|
@ -89145,8 +89145,8 @@
|
|||
0x00000071011a7b1c,sub_71011A7B1C,36,_ZThn632_N4ksys3res15DummyGParamListD0Ev
|
||||
0x00000071011a7b40,sub_71011A7B40,52,_ZThn664_N4ksys3res15DummyGParamListD1Ev
|
||||
0x00000071011a7b74,sub_71011A7B74,40,_ZThn664_N4ksys3res15DummyGParamListD0Ev
|
||||
0x00000071011a7b9c,sub_71011A7B9C,12,
|
||||
0x00000071011a7ba8,sub_71011A7BA8,12,
|
||||
0x00000071011a7b9c,sub_71011A7B9C,12,_ZNK4ksys3res22GParamListObjectSystem7getNameEv
|
||||
0x00000071011a7ba8,sub_71011A7BA8,12,_ZNK4ksys3res23GParamListObjectGeneral7getNameEv
|
||||
0x00000071011a7bb4,sub_71011A7BB4,12,
|
||||
0x00000071011a7bc0,sub_71011A7BC0,12,
|
||||
0x00000071011a7bcc,sub_71011A7BCC,12,
|
||||
|
|
|
|||
|
Can't render this file because it is too large.
|
|
|
@ -0,0 +1,38 @@
|
|||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameter.h>
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
class GParamListObjectGeneral : public GParamListObject {
|
||||
public:
|
||||
GParamListObjectGeneral();
|
||||
const char* getName() const override { return "General"; }
|
||||
|
||||
agl::utl::Parameter<f32> mSpeed;
|
||||
agl::utl::Parameter<s32> mLife;
|
||||
agl::utl::Parameter<bool> mIsLifeInfinite;
|
||||
agl::utl::Parameter<f32> mElectricalDischarge;
|
||||
agl::utl::Parameter<bool> mIsBurnOutBorn;
|
||||
agl::utl::Parameter<sead::SafeString> mBurnOutBornName;
|
||||
agl::utl::Parameter<bool> mIsBurnOutBornIdent;
|
||||
agl::utl::Parameter<sead::SafeString> mChangeDropTableName;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GParamListObjectGeneral, 0x148);
|
||||
|
||||
inline GParamListObjectGeneral::GParamListObjectGeneral() {
|
||||
auto* const obj = &mObj;
|
||||
|
||||
mSpeed.init(1.0, "Speed", "", obj);
|
||||
mLife.init(100, "Life", "", obj);
|
||||
mIsLifeInfinite.init(false, "IsLifeInfinite", "", obj);
|
||||
mElectricalDischarge.init(1.0, "ElectricalDischarge", "", obj);
|
||||
mIsBurnOutBorn.init(false, "IsBurnOutBorn", "", obj);
|
||||
mBurnOutBornName.init("", "BurnOutBornName", "", obj);
|
||||
mIsBurnOutBornIdent.init(false, "IsBurnOutBornIdent", "", obj);
|
||||
mChangeDropTableName.init("", "ChangeDropTableName", "", obj);
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameter.h>
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
class GParamListObjectSystem : public GParamListObject {
|
||||
public:
|
||||
GParamListObjectSystem();
|
||||
const char* getName() const override { return "System"; }
|
||||
|
||||
agl::utl::Parameter<sead::SafeString> mSameGroupActorName;
|
||||
agl::utl::Parameter<bool> mIsGetItemSelf;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GParamListObjectSystem, 0x80);
|
||||
|
||||
inline GParamListObjectSystem::GParamListObjectSystem() {
|
||||
auto* const obj = &mObj;
|
||||
|
||||
mSameGroupActorName.init("", "SameGroupActorName", "", obj);
|
||||
mIsGetItemSelf.init(false, "IsGetItemSelf", "", obj);
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
||||
|
|
@ -3,6 +3,8 @@
|
|||
#include <agl/Utils/aglParameter.h>
|
||||
#include <prim/seadRuntimeTypeInfo.h>
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h"
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h"
|
||||
#include "KingSystem/Resource/GeneralParamList/resGParamListTraits.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
|
@ -37,7 +39,10 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
|
|||
|
||||
const agl::utl::ResParameterArchive archive{data};
|
||||
|
||||
// TODO: System, etc.
|
||||
add<GParamListObjType::System>(archive.getRootList(), "System", heap, dummy_list);
|
||||
add<GParamListObjType::General>(archive.getRootList(), "General", heap, dummy_list);
|
||||
|
||||
// TODO: the rest
|
||||
|
||||
if (data)
|
||||
applyResParameterArchive(archive);
|
||||
|
|
|
|||
Loading…
Reference in New Issue