mirror of
https://github.com/zeldaret/botw
synced 2026-08-02 08:22:28 -04:00
ksys/res: Add Lod
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#include "KingSystem/Resource/resResourceLod.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
Lod::Lod() : ParamIO("lod", 0) {}
|
||||
|
||||
Lod::~Lod() = default;
|
||||
|
||||
bool Lod::parse_(u8* data, size_t, sead::Heap*) {
|
||||
mDisableOutScreenCalcStop.init(false, "DisableOutScreenCalcStop", "", &mHeader);
|
||||
mDisableXLinkSkip.init(false, "DisableXLinkSkip", "", &mHeader);
|
||||
mDisableCalcSkipFrame.init(4, "DisableCalcSkipFrame", "", &mHeader);
|
||||
mDisableConstActor.init(false, "DisableConstActor", "", &mHeader);
|
||||
mDistanceScale.init(1.0, "DistanceScale", "", &mHeader);
|
||||
mDisableBehaviorSkip.init(false, "DisableBehaviorSkip", "", &mHeader);
|
||||
mDisableCalcRescueDistLimit.init(false, "DisableCalcRescueDistLimit", "", &mHeader);
|
||||
|
||||
addObj(&mHeader, "Header");
|
||||
|
||||
if (data)
|
||||
applyResParameterArchive(agl::utl::ResParameterArchive{data});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
||||
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameter.h>
|
||||
#include <agl/Utils/aglParameterIO.h>
|
||||
#include <agl/Utils/aglParameterObj.h>
|
||||
#include "KingSystem/Resource/resResource.h"
|
||||
#include "KingSystem/Utils/ParamIO.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
class Lod : public ParamIO, public Resource {
|
||||
SEAD_RTTI_OVERRIDE(Lod, Resource)
|
||||
public:
|
||||
Lod();
|
||||
~Lod() override;
|
||||
|
||||
bool ParamIO_m0() override { return true; }
|
||||
void doCreate_(u8*, u32, sead::Heap*) override {}
|
||||
bool needsParse() const override { return true; }
|
||||
|
||||
protected:
|
||||
bool parse_(u8* data, size_t size, sead::Heap* heap) override;
|
||||
|
||||
agl::utl::ParameterObj mHeader;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<bool> mDisableOutScreenCalcStop;
|
||||
agl::utl::Parameter<bool> mDisableXLinkSkip;
|
||||
agl::utl::Parameter<s32> mDisableCalcSkipFrame;
|
||||
agl::utl::Parameter<bool> mDisableConstActor;
|
||||
agl::utl::Parameter<f32> mDistanceScale;
|
||||
agl::utl::Parameter<bool> mDisableBehaviorSkip;
|
||||
agl::utl::Parameter<bool> mDisableCalcRescueDistLimit;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(Lod, 0x3c0);
|
||||
|
||||
} // namespace ksys::res
|
||||
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameterIO.h>
|
||||
#include <hostio/seadHostIONode.h>
|
||||
#include <prim/seadSafeString.h>
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys {
|
||||
|
||||
class ParamIO : public agl::utl::IParameterIO, public sead::hostio::Node {
|
||||
public:
|
||||
using agl::utl::IParameterIO::IParameterIO;
|
||||
|
||||
virtual bool ParamIO_m0() { return false; }
|
||||
|
||||
protected:
|
||||
u32 _1d8 = 0x1c;
|
||||
sead::FixedSafeString<128> _1e0;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(ParamIO, 0x278);
|
||||
|
||||
} // namespace ksys
|
||||
Reference in New Issue
Block a user