mirror of https://github.com/zeldaret/botw.git
ksys/res: Implement Demo
This commit is contained in:
parent
072e906eaf
commit
0fafc292f9
|
@ -54,6 +54,8 @@ add_executable(uking
|
|||
src/KingSystem/Resource/resEntryFactory.h
|
||||
src/KingSystem/Resource/resResource.cpp
|
||||
src/KingSystem/Resource/resResource.h
|
||||
src/KingSystem/Resource/resResourceDemo.cpp
|
||||
src/KingSystem/Resource/resResourceDemo.cpp
|
||||
src/KingSystem/Resource/resResourceLod.cpp
|
||||
src/KingSystem/Resource/resResourceLod.h
|
||||
|
||||
|
|
|
@ -92173,12 +92173,12 @@
|
|||
0x0000007101273b7c,sub_7101273B7C,168,
|
||||
0x0000007101273c24,DemoASLoader::finishLoad,212,
|
||||
0x0000007101273cf8,registerBdemoResourceFactory,288,
|
||||
0x0000007101273e18,ResourceBdemo::doCreate,6656,
|
||||
0x0000007101275818,sub_7101275818,292,
|
||||
0x000000710127593c,sub_710127593C,324,
|
||||
0x0000007101275a80,sub_7101275A80,300,
|
||||
0x0000007101275bac,sub_7101275BAC,328,
|
||||
0x0000007101275cf4,ResourceBdemo::ctor,1364,
|
||||
0x0000007101273e18,ResourceBdemo::doCreate,6656,_ZN4ksys3res4Demo9doCreate_EPhjPN4sead4HeapE
|
||||
0x0000007101275818,sub_7101275818,292,_ZN4ksys3res4DemoD2Ev
|
||||
0x000000710127593c,sub_710127593C,324,_ZN4ksys3res4DemoD0Ev
|
||||
0x0000007101275a80,sub_7101275A80,300,_ZThn32_N4ksys3res4DemoD1Ev
|
||||
0x0000007101275bac,sub_7101275BAC,328,_ZThn32_N4ksys3res4DemoD0Ev
|
||||
0x0000007101275cf4,ResourceBdemo::ctor,1364,_ZN4ksys3res4DemoC1Ev
|
||||
0x0000007101276248,sub_7101276248,356,
|
||||
0x00000071012763ac,sub_71012763AC,364,
|
||||
0x0000007101276518,sub_7101276518,132,
|
||||
|
|
Can't render this file because it is too large.
|
2
lib/sead
2
lib/sead
|
@ -1 +1 @@
|
|||
Subproject commit ef9b03681383c64b99861ac5e65ad71fc4b90988
|
||||
Subproject commit b085263d6999ae37d8442ad1a1e9f5832dbdfc19
|
|
@ -0,0 +1,89 @@
|
|||
#include "KingSystem/Resource/resResourceDemo.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
Demo::Demo() : agl::utl::IParameterIO(".bdemo", 0) {}
|
||||
|
||||
void Demo::doCreate_(u8* buffer, u32, sead::Heap*) {
|
||||
using FormatStr = sead::FormatFixedSafeString<128>;
|
||||
|
||||
mLocation.init(sead::Vector3f::zero, FormatStr("Location"), "", &mDemoSettingObj);
|
||||
mWeather.init(FormatStr("none"), FormatStr("Weather"), "", &mDemoSettingObj);
|
||||
mTime.init(-1.0, FormatStr("Time"), "", &mDemoSettingObj);
|
||||
mStartType.init(FormatStr("Load"), FormatStr("StartType"), "", &mDemoSettingObj);
|
||||
mNoEntryActors.init(FormatStr("none"), FormatStr("NoEntryActors"), "", &mDemoSettingObj);
|
||||
mSaveType.init(FormatStr("none"), FormatStr("SaveType"), "", &mDemoSettingObj);
|
||||
mExtension.init(FormatStr("evfl"), FormatStr("Extension"), "", &mDemoSettingObj);
|
||||
mIsFlashbackDemo.init(false, FormatStr("IsFlashbackDemo"), "", &mDemoSettingObj);
|
||||
|
||||
mOverwritePlayerPos.init(sead::Vector3f::zero, FormatStr("OverwritePlayerPos"), "",
|
||||
&mDemoSettingObj);
|
||||
mIsOverwritePlayerPos.init(false, FormatStr("IsOverwritePlayerPos"), "", &mDemoSettingObj);
|
||||
|
||||
mMapProjectName.init("", FormatStr("MapProjectName"), "", &mDemoSettingObj);
|
||||
mMapResourceName.init("", FormatStr("MapResourceName"), "", &mDemoSettingObj);
|
||||
mIsStartupDemo.init(false, FormatStr("IsStartupDemo"), "", &mDemoSettingObj);
|
||||
mProgress.init("", FormatStr("Progress"), "", &mDemoSettingObj);
|
||||
mProductFormat.init("", FormatStr("ProductFormat"), "", &mDemoSettingObj);
|
||||
|
||||
mNextDemo.init("", FormatStr("NextDemo"), "", &mDemoSettingObj);
|
||||
|
||||
mIsStopChemical.init(true, FormatStr("IsStopChemical"), "", &mDemoSettingObj);
|
||||
|
||||
mPlayerEndPos.init(sead::Vector3f::zero, FormatStr("PlayerEndPos"), "", &mDemoSettingObj);
|
||||
mIsMovePlayerEndPos.init(false, FormatStr("IsMovePlayerEndPos"), "", &mDemoSettingObj);
|
||||
|
||||
mStartLocationType.init(FormatStr("Starter"), FormatStr("StartLocationType"), "",
|
||||
&mDemoSettingObj);
|
||||
mEventMode.init(FormatStr("Seamless"), FormatStr("EventMode"), "", &mDemoSettingObj);
|
||||
mWithTransAnimation.init(false, FormatStr("WithTransAnimation"), "", &mDemoSettingObj);
|
||||
|
||||
mOverwritePlayerRotY.init(0.0, FormatStr("OverwritePlayerRotY"), "", &mDemoSettingObj);
|
||||
mPlayerEndRotY.init(0.0, FormatStr("PlayerEndRotY"), "", &mDemoSettingObj);
|
||||
mStartLocationRotY.init(0.0, FormatStr("StartLocationRotY"), "", &mDemoSettingObj);
|
||||
mStartPosName.init("", FormatStr("StartPosName"), "", &mDemoSettingObj);
|
||||
mEndPosName.init("", FormatStr("EndPosName"), "", &mDemoSettingObj);
|
||||
|
||||
mSkipPolicy.init("Auto", FormatStr("SkipPolicy"), "", &mDemoSettingObj);
|
||||
mDispName.init("", FormatStr("DispName"), "", &mDemoSettingObj);
|
||||
mTraverseLimit.init(0.0, FormatStr("TraverseLimit"), "", &mDemoSettingObj);
|
||||
|
||||
mForceEnableIK.init(false, FormatStr("ForceEnableIK"), "", &mDemoSettingObj);
|
||||
|
||||
mIsUseNakedSound.init(false, FormatStr("IsUseNakedSound"), "", &mDemoSettingObj);
|
||||
mWorldMuteType.init("Thru_ShakeNoise", FormatStr("WorldMuteType"), "", &mDemoSettingObj);
|
||||
mBgmStopType.init("StopWithFade", FormatStr("BgmStopType"), "", &mDemoSettingObj);
|
||||
|
||||
mTraverseType.init("", FormatStr("TraverseType"), "", &mDemoSettingObj);
|
||||
mTraversePos.init(sead::Vector3f::zero, FormatStr("TraversePos"), "", &mDemoSettingObj);
|
||||
|
||||
mVoiceComplete.init(false, FormatStr("VoiceComplete"), "", &mProgressObj);
|
||||
mSeComplete.init(false, FormatStr("SEComplete"), "", &mProgressObj);
|
||||
mBgmComplete.init(false, FormatStr("BgmComplete"), "", &mProgressObj);
|
||||
mEffectComplete.init(false, FormatStr("EffectComplete"), "", &mProgressObj);
|
||||
mEnvComplete.init(false, FormatStr("EnvComplete"), "", &mProgressObj);
|
||||
mFinalComplete.init(false, FormatStr("FinalComplete"), "", &mProgressObj);
|
||||
|
||||
mWaitLoadActorNames.init("", FormatStr("WaitLoadActorNames"), "", &mDemoSettingObj);
|
||||
mHideActors.init("", FormatStr("HideActors"), "", &mDemoSettingObj);
|
||||
mDisableFarActors.init("", FormatStr("DisableFarActors"), "", &mDemoSettingObj);
|
||||
mTraverseMergePolicy.init("default", FormatStr("TraverseMergePolicy"), "", &mDemoSettingObj);
|
||||
mHighPriorityActors.init("", FormatStr("HighPriorityActors"), "", &mDemoSettingObj);
|
||||
mTraverseCutPos.init(sead::Vector3f::zero, FormatStr("TraverseCutPos"), "", &mDemoSettingObj);
|
||||
mTraverseCutRadius.init(0.0, FormatStr("TraverseCutRadius"), "", &mDemoSettingObj);
|
||||
mTraverseInnerCutPos1.init(sead::Vector3f::zero, FormatStr("TraverseInnerCutPos1"), "",
|
||||
&mDemoSettingObj);
|
||||
mTraverseInnerCutRadius1.init(0.0, FormatStr("TraverseInnerCutRadius1"), "", &mDemoSettingObj);
|
||||
mTraverseInnerCutPos2.init(sead::Vector3f::zero, FormatStr("TraverseInnerCutPos2"), "",
|
||||
&mDemoSettingObj);
|
||||
mTraverseInnerCutRadius2.init(0.0, FormatStr("TraverseInnerCutRadius2"), "", &mDemoSettingObj);
|
||||
mDisableTraverseTime.init(-1, FormatStr("DisableTraverseTime"), "", &mDemoSettingObj);
|
||||
|
||||
addObj(&mDemoSettingObj, FormatStr("DemoSetting"));
|
||||
addObj(&mProgressObj, FormatStr("Progress"));
|
||||
|
||||
if (buffer)
|
||||
applyResParameterArchive(agl::utl::ResParameterArchive{buffer});
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
|
@ -0,0 +1,85 @@
|
|||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameter.h>
|
||||
#include <agl/Utils/aglParameterIO.h>
|
||||
#include <agl/Utils/aglParameterObj.h>
|
||||
#include <resource/seadResource.h>
|
||||
|
||||
namespace ksys::res {
|
||||
|
||||
class Demo : public sead::DirectResource, public agl::utl::IParameterIO {
|
||||
public:
|
||||
Demo();
|
||||
|
||||
void doCreate_(u8* buffer, u32 bufferSize, sead::Heap* heap) override;
|
||||
|
||||
agl::utl::ParameterObj mDemoSettingObj;
|
||||
agl::utl::ParameterObj mProgressObj;
|
||||
|
||||
agl::utl::Parameter<sead::Vector3f> mLocation;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mWeather;
|
||||
agl::utl::Parameter<f32> mTime;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mStartType;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mNoEntryActors;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mSaveType;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mExtension;
|
||||
agl::utl::Parameter<bool> mIsFlashbackDemo;
|
||||
agl::utl::Parameter<sead::Vector3f> mOverwritePlayerPos;
|
||||
agl::utl::Parameter<bool> mIsOverwritePlayerPos;
|
||||
agl::utl::Parameter<sead::SafeString> mMapProjectName;
|
||||
agl::utl::Parameter<sead::SafeString> mMapResourceName;
|
||||
agl::utl::Parameter<bool> mIsStartupDemo;
|
||||
agl::utl::Parameter<sead::SafeString> mProgress;
|
||||
agl::utl::Parameter<sead::SafeString> mProductFormat;
|
||||
agl::utl::Parameter<sead::SafeString> mNextDemo;
|
||||
agl::utl::Parameter<bool> mIsStopChemical;
|
||||
|
||||
agl::utl::Parameter<bool> mIsMovePlayerEndPos;
|
||||
agl::utl::Parameter<sead::Vector3f> mPlayerEndPos;
|
||||
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mStartLocationType;
|
||||
agl::utl::Parameter<sead::FixedSafeString<32>> mEventMode;
|
||||
agl::utl::Parameter<bool> mWithTransAnimation;
|
||||
|
||||
agl::utl::Parameter<f32> mOverwritePlayerRotY;
|
||||
agl::utl::Parameter<f32> mPlayerEndRotY;
|
||||
agl::utl::Parameter<f32> mStartLocationRotY;
|
||||
|
||||
agl::utl::Parameter<sead::SafeString> mStartPosName;
|
||||
agl::utl::Parameter<sead::SafeString> mEndPosName;
|
||||
|
||||
agl::utl::Parameter<sead::SafeString> mSkipPolicy;
|
||||
agl::utl::Parameter<sead::SafeString> mDispName;
|
||||
agl::utl::Parameter<f32> mTraverseLimit;
|
||||
|
||||
agl::utl::Parameter<bool> mVoiceComplete;
|
||||
agl::utl::Parameter<bool> mSeComplete;
|
||||
agl::utl::Parameter<bool> mBgmComplete;
|
||||
agl::utl::Parameter<bool> mEffectComplete;
|
||||
agl::utl::Parameter<bool> mEnvComplete;
|
||||
agl::utl::Parameter<bool> mFinalComplete;
|
||||
|
||||
agl::utl::Parameter<bool> mForceEnableIK;
|
||||
|
||||
agl::utl::Parameter<bool> mIsUseNakedSound;
|
||||
agl::utl::Parameter<sead::SafeString> mWorldMuteType;
|
||||
agl::utl::Parameter<sead::SafeString> mBgmStopType;
|
||||
|
||||
agl::utl::Parameter<sead::SafeString> mTraverseType;
|
||||
agl::utl::Parameter<sead::Vector3f> mTraversePos;
|
||||
|
||||
agl::utl::Parameter<sead::SafeString> mWaitLoadActorNames;
|
||||
agl::utl::Parameter<sead::SafeString> mHideActors;
|
||||
agl::utl::Parameter<sead::SafeString> mDisableFarActors;
|
||||
agl::utl::Parameter<sead::SafeString> mTraverseMergePolicy;
|
||||
agl::utl::Parameter<sead::SafeString> mHighPriorityActors;
|
||||
agl::utl::Parameter<sead::Vector3f> mTraverseCutPos;
|
||||
agl::utl::Parameter<f32> mTraverseCutRadius;
|
||||
agl::utl::Parameter<sead::Vector3f> mTraverseInnerCutPos1;
|
||||
agl::utl::Parameter<f32> mTraverseInnerCutRadius1;
|
||||
agl::utl::Parameter<sead::Vector3f> mTraverseInnerCutPos2;
|
||||
agl::utl::Parameter<f32> mTraverseInnerCutRadius2;
|
||||
agl::utl::Parameter<s32> mDisableTraverseTime;
|
||||
};
|
||||
|
||||
} // namespace ksys::res
|
Loading…
Reference in New Issue