diff options
Diffstat (limited to 'src/KingSystem')
72 files changed, 1644 insertions, 0 deletions
diff --git a/src/KingSystem/Sound/Actor/AI/CMakeLists.txt b/src/KingSystem/Sound/Actor/AI/CMakeLists.txt new file mode 100644 index 00000000..726297a4 --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/CMakeLists.txt @@ -0,0 +1,8 @@ +target_sources(uking PRIVATE + aiEnvSeEmitPointRootAI.cpp + aiEnvSeEmitPointRootAI.h + aiSignaledSpotBgmTrigger.cpp + aiSignaledSpotBgmTrigger.h + aiSpotBgmTrigger.cpp + aiSpotBgmTrigger.h +) diff --git a/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.cpp b/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.cpp new file mode 100644 index 00000000..f63f9e15 --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.cpp @@ -0,0 +1,26 @@ +#include "KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.h" + +namespace ksys::snd { + +EnvSeEmitPointRootAI::EnvSeEmitPointRootAI(const InitArg& arg) : ksys::act::ai::Ai(arg) {} + +EnvSeEmitPointRootAI::~EnvSeEmitPointRootAI() = default; + +bool EnvSeEmitPointRootAI::init_(sead::Heap* heap) { + return ksys::act::ai::Ai::init_(heap); +} + +void EnvSeEmitPointRootAI::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Ai::enter_(params); +} + +void EnvSeEmitPointRootAI::leave_() { + ksys::act::ai::Ai::leave_(); +} + +void EnvSeEmitPointRootAI::loadParams_() { + getStaticParam(&mInvalidatePlayDistance_s, "InvalidatePlayDistance"); + getStaticParam(&mPlayDistance_s, "PlayDistance"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.h b/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.h new file mode 100644 index 00000000..dfbe0aba --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiEnvSeEmitPointRootAI.h @@ -0,0 +1,25 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAi.h" + +namespace ksys::snd { + +class EnvSeEmitPointRootAI : public ksys::act::ai::Ai { + SEAD_RTTI_OVERRIDE(EnvSeEmitPointRootAI, ksys::act::ai::Ai) +public: + explicit EnvSeEmitPointRootAI(const InitArg& arg); + ~EnvSeEmitPointRootAI() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + // static_param at offset 0x38 + const float* mInvalidatePlayDistance_s{}; + // static_param at offset 0x40 + const float* mPlayDistance_s{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.cpp b/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.cpp new file mode 100644 index 00000000..d9540710 --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.cpp @@ -0,0 +1,26 @@ +#include "KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.h" + +namespace ksys::snd { + +SignaledSpotBgmTrigger::SignaledSpotBgmTrigger(const InitArg& arg) : ksys::act::ai::Ai(arg) {} + +SignaledSpotBgmTrigger::~SignaledSpotBgmTrigger() = default; + +bool SignaledSpotBgmTrigger::init_(sead::Heap* heap) { + return ksys::act::ai::Ai::init_(heap); +} + +void SignaledSpotBgmTrigger::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Ai::enter_(params); +} + +void SignaledSpotBgmTrigger::leave_() { + ksys::act::ai::Ai::leave_(); +} + +void SignaledSpotBgmTrigger::loadParams_() { + getMapUnitParam(&mIsStopWithoutReductionY_m, "IsStopWithoutReductionY"); + getMapUnitParam(&mSound_m, "Sound"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.h b/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.h new file mode 100644 index 00000000..aafdb05b --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiSignaledSpotBgmTrigger.h @@ -0,0 +1,25 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAi.h" + +namespace ksys::snd { + +class SignaledSpotBgmTrigger : public ksys::act::ai::Ai { + SEAD_RTTI_OVERRIDE(SignaledSpotBgmTrigger, ksys::act::ai::Ai) +public: + explicit SignaledSpotBgmTrigger(const InitArg& arg); + ~SignaledSpotBgmTrigger() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + // map_unit_param at offset 0x38 + const bool* mIsStopWithoutReductionY_m{}; + // map_unit_param at offset 0x40 + sead::SafeString mSound_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.cpp b/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.cpp new file mode 100644 index 00000000..78e730c8 --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.cpp @@ -0,0 +1,26 @@ +#include "KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.h" + +namespace ksys::snd { + +SpotBgmTrigger::SpotBgmTrigger(const InitArg& arg) : ksys::act::ai::Ai(arg) {} + +SpotBgmTrigger::~SpotBgmTrigger() = default; + +bool SpotBgmTrigger::init_(sead::Heap* heap) { + return ksys::act::ai::Ai::init_(heap); +} + +void SpotBgmTrigger::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Ai::enter_(params); +} + +void SpotBgmTrigger::leave_() { + ksys::act::ai::Ai::leave_(); +} + +void SpotBgmTrigger::loadParams_() { + getMapUnitParam(&mIsStopWithoutReductionY_m, "IsStopWithoutReductionY"); + getMapUnitParam(&mSound_m, "Sound"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.h b/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.h new file mode 100644 index 00000000..4727c6c7 --- /dev/null +++ b/src/KingSystem/Sound/Actor/AI/aiSpotBgmTrigger.h @@ -0,0 +1,25 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAi.h" + +namespace ksys::snd { + +class SpotBgmTrigger : public ksys::act::ai::Ai { + SEAD_RTTI_OVERRIDE(SpotBgmTrigger, ksys::act::ai::Ai) +public: + explicit SpotBgmTrigger(const InitArg& arg); + ~SpotBgmTrigger() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + // map_unit_param at offset 0x38 + const bool* mIsStopWithoutReductionY_m{}; + // map_unit_param at offset 0x40 + sead::SafeString mSound_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/CMakeLists.txt b/src/KingSystem/Sound/Actor/Action/CMakeLists.txt new file mode 100644 index 00000000..6adf2730 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/CMakeLists.txt @@ -0,0 +1,64 @@ +target_sources(uking PRIVATE + actionBattleDungeonBGMAction.cpp + actionBattleDungeonBGMAction.h + actionCustomDuckingEndAction.cpp + actionCustomDuckingEndAction.h + actionCustomDuckingStartAction.cpp + actionCustomDuckingStartAction.h + actionEnvSeEmitPointBirdPlayAction.cpp + actionEnvSeEmitPointBirdPlayAction.h + actionEnvSeEmitPointInsectPlayAction.cpp + actionEnvSeEmitPointInsectPlayAction.h + actionEventBgmCtrlAction.cpp + actionEventBgmCtrlAction.h + actionEventBgmStartAction.cpp + actionEventBgmStartAction.h + actionEventBgmStartAndKeepAction.cpp + actionEventBgmStartAndKeepAction.h + actionEventBgmStopAction.cpp + actionEventBgmStopAction.h + actionFrontierSpotBgmTriggerAction.cpp + actionFrontierSpotBgmTriggerAction.h + actionGroupAllowEmitAction.cpp + actionGroupAllowEmitAction.h + actionGroupDisallowEmitAction.cpp + actionGroupDisallowEmitAction.h + actionKillAllDemoSoundAction.cpp + actionKillAllDemoSoundAction.h + actionListenerFixPositionAction.cpp + actionListenerFixPositionAction.h + actionListenerSetModeAction.cpp + actionListenerSetModeAction.h + actionMusicianSpotBgmTriggerAction.cpp + actionMusicianSpotBgmTriggerAction.h + actionPlayerEmitEquipmentNoise.cpp + actionPlayerEmitEquipmentNoise.h + actionSceneBgmCtrlAction.cpp + actionSceneBgmCtrlAction.h + actionSceneSoundCtrlAction.cpp + actionSceneSoundCtrlAction.h + actionSceneSoundKillDuckingAction.cpp + actionSceneSoundKillDuckingAction.h + actionSceneSoundNotifyTalkAction.cpp + actionSceneSoundNotifyTalkAction.h + actionSceneSoundSetEndProcAction.cpp + actionSceneSoundSetEndProcAction.h + actionSceneSoundSetStartProcAction.cpp + actionSceneSoundSetStartProcAction.h + actionSceneSoundStartDuckingAction.cpp + actionSceneSoundStartDuckingAction.h + actionSceneSoundStopDuckingAction.cpp + actionSceneSoundStopDuckingAction.h + actionSoundOcclusionTagAction.cpp + actionSoundOcclusionTagAction.h + actionSoundProxyRootAction.cpp + actionSoundProxyRootAction.h + actionSoundReverbAreaTagAction.cpp + actionSoundReverbAreaTagAction.h + actionSoundShieldingAreaTagAction.cpp + actionSoundShieldingAreaTagAction.h + actionSpotBgmTriggerAction.cpp + actionSpotBgmTriggerAction.h + actionStopAllDemoSoundAction.cpp + actionStopAllDemoSoundAction.h +) diff --git a/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.cpp b/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.cpp new file mode 100644 index 00000000..f5e5aa6d --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.cpp @@ -0,0 +1,27 @@ +#include "KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.h" + +namespace ksys::snd { + +BattleDungeonBGMAction::BattleDungeonBGMAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +BattleDungeonBGMAction::~BattleDungeonBGMAction() = default; + +bool BattleDungeonBGMAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void BattleDungeonBGMAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void BattleDungeonBGMAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void BattleDungeonBGMAction::loadParams_() {} + +void BattleDungeonBGMAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.h b/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.h new file mode 100644 index 00000000..51b58b0a --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionBattleDungeonBGMAction.h @@ -0,0 +1,22 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class BattleDungeonBGMAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(BattleDungeonBGMAction, ksys::act::ai::Action) +public: + explicit BattleDungeonBGMAction(const InitArg& arg); + ~BattleDungeonBGMAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.cpp b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.cpp new file mode 100644 index 00000000..dad90ef4 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.cpp @@ -0,0 +1,15 @@ +#include "KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.h" + +namespace ksys::snd { + +CustomDuckingEndAction::CustomDuckingEndAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +CustomDuckingEndAction::~CustomDuckingEndAction() = default; + +bool CustomDuckingEndAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void CustomDuckingEndAction::loadParams_() {} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.h b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.h new file mode 100644 index 00000000..feb76e3b --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingEndAction.h @@ -0,0 +1,19 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class CustomDuckingEndAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(CustomDuckingEndAction, ksys::act::ai::Action) +public: + explicit CustomDuckingEndAction(const InitArg& arg); + ~CustomDuckingEndAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.cpp b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.cpp new file mode 100644 index 00000000..1e63edb9 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.cpp @@ -0,0 +1,23 @@ +#include "KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.h" + +namespace ksys::snd { + +CustomDuckingStartAction::CustomDuckingStartAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +CustomDuckingStartAction::~CustomDuckingStartAction() = default; + +bool CustomDuckingStartAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void CustomDuckingStartAction::loadParams_() { + getDynamicParam(&mVolume_d, "Volume"); + getDynamicParam(&mFadeOutSec_d, "FadeOutSec"); + getDynamicParam(&mFadeInSec_d, "FadeInSec"); + getDynamicParam(&mStartDelaySec_d, "StartDelaySec"); + getDynamicParam(&mTargetGroups_d, "TargetGroups"); + getDynamicParam(&mExceptGroups_d, "ExceptGroups"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.h b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.h new file mode 100644 index 00000000..2e52c8bf --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionCustomDuckingStartAction.h @@ -0,0 +1,31 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class CustomDuckingStartAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(CustomDuckingStartAction, ksys::act::ai::Action) +public: + explicit CustomDuckingStartAction(const InitArg& arg); + ~CustomDuckingStartAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + float* mVolume_d{}; + // dynamic_param at offset 0x28 + float* mFadeOutSec_d{}; + // dynamic_param at offset 0x30 + float* mFadeInSec_d{}; + // dynamic_param at offset 0x38 + float* mStartDelaySec_d{}; + // dynamic_param at offset 0x40 + sead::SafeString mTargetGroups_d{}; + // dynamic_param at offset 0x50 + sead::SafeString mExceptGroups_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.cpp new file mode 100644 index 00000000..a6a9e18e --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.cpp @@ -0,0 +1,28 @@ +#include "KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.h" + +namespace ksys::snd { + +EnvSeEmitPointBirdPlayAction::EnvSeEmitPointBirdPlayAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +EnvSeEmitPointBirdPlayAction::~EnvSeEmitPointBirdPlayAction() = default; + +bool EnvSeEmitPointBirdPlayAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EnvSeEmitPointBirdPlayAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void EnvSeEmitPointBirdPlayAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void EnvSeEmitPointBirdPlayAction::loadParams_() {} + +void EnvSeEmitPointBirdPlayAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.h b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.h new file mode 100644 index 00000000..00fb4ff0 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointBirdPlayAction.h @@ -0,0 +1,22 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EnvSeEmitPointBirdPlayAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EnvSeEmitPointBirdPlayAction, ksys::act::ai::Action) +public: + explicit EnvSeEmitPointBirdPlayAction(const InitArg& arg); + ~EnvSeEmitPointBirdPlayAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.cpp new file mode 100644 index 00000000..dc4be044 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.cpp @@ -0,0 +1,28 @@ +#include "KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.h" + +namespace ksys::snd { + +EnvSeEmitPointInsectPlayAction::EnvSeEmitPointInsectPlayAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +EnvSeEmitPointInsectPlayAction::~EnvSeEmitPointInsectPlayAction() = default; + +bool EnvSeEmitPointInsectPlayAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EnvSeEmitPointInsectPlayAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void EnvSeEmitPointInsectPlayAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void EnvSeEmitPointInsectPlayAction::loadParams_() {} + +void EnvSeEmitPointInsectPlayAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.h b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.h new file mode 100644 index 00000000..bce2adfc --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEnvSeEmitPointInsectPlayAction.h @@ -0,0 +1,22 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EnvSeEmitPointInsectPlayAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EnvSeEmitPointInsectPlayAction, ksys::act::ai::Action) +public: + explicit EnvSeEmitPointInsectPlayAction(const InitArg& arg); + ~EnvSeEmitPointInsectPlayAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.cpp new file mode 100644 index 00000000..f77d47bc --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.h" + +namespace ksys::snd { + +EventBgmCtrlAction::EventBgmCtrlAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +EventBgmCtrlAction::~EventBgmCtrlAction() = default; + +bool EventBgmCtrlAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EventBgmCtrlAction::loadParams_() { + getDynamicParam(&mCtrlType_d, "CtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.h b/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.h new file mode 100644 index 00000000..5849aa9c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmCtrlAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EventBgmCtrlAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EventBgmCtrlAction, ksys::act::ai::Action) +public: + explicit EventBgmCtrlAction(const InitArg& arg); + ~EventBgmCtrlAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.cpp new file mode 100644 index 00000000..4ef076a5 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionEventBgmStartAction.h" + +namespace ksys::snd { + +EventBgmStartAction::EventBgmStartAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +EventBgmStartAction::~EventBgmStartAction() = default; + +bool EventBgmStartAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EventBgmStartAction::loadParams_() { + getDynamicParam(&mBgmName_d, "BgmName"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.h b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.h new file mode 100644 index 00000000..fa1faaf9 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EventBgmStartAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EventBgmStartAction, ksys::act::ai::Action) +public: + explicit EventBgmStartAction(const InitArg& arg); + ~EventBgmStartAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mBgmName_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.cpp new file mode 100644 index 00000000..f4d4f38c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.cpp @@ -0,0 +1,30 @@ +#include "KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.h" + +namespace ksys::snd { + +EventBgmStartAndKeepAction::EventBgmStartAndKeepAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +EventBgmStartAndKeepAction::~EventBgmStartAndKeepAction() = default; + +bool EventBgmStartAndKeepAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EventBgmStartAndKeepAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void EventBgmStartAndKeepAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void EventBgmStartAndKeepAction::loadParams_() { + getDynamicParam(&mBgmName_d, "BgmName"); +} + +void EventBgmStartAndKeepAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.h b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.h new file mode 100644 index 00000000..5e3c8f1d --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStartAndKeepAction.h @@ -0,0 +1,25 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EventBgmStartAndKeepAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EventBgmStartAndKeepAction, ksys::act::ai::Action) +public: + explicit EventBgmStartAndKeepAction(const InitArg& arg); + ~EventBgmStartAndKeepAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // dynamic_param at offset 0x20 + sead::SafeString mBgmName_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.cpp b/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.cpp new file mode 100644 index 00000000..36c442b8 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionEventBgmStopAction.h" + +namespace ksys::snd { + +EventBgmStopAction::EventBgmStopAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +EventBgmStopAction::~EventBgmStopAction() = default; + +bool EventBgmStopAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void EventBgmStopAction::loadParams_() { + getDynamicParam(&mFadeSec_d, "FadeSec"); + getDynamicParam(&mBgmName_d, "BgmName"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.h b/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.h new file mode 100644 index 00000000..36365211 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionEventBgmStopAction.h @@ -0,0 +1,23 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class EventBgmStopAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(EventBgmStopAction, ksys::act::ai::Action) +public: + explicit EventBgmStopAction(const InitArg& arg); + ~EventBgmStopAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + float* mFadeSec_d{}; + // dynamic_param at offset 0x28 + sead::SafeString mBgmName_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.cpp b/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.cpp new file mode 100644 index 00000000..1168c694 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.cpp @@ -0,0 +1,34 @@ +#include "KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.h" + +namespace ksys::snd { + +FrontierSpotBgmTriggerAction::FrontierSpotBgmTriggerAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +FrontierSpotBgmTriggerAction::~FrontierSpotBgmTriggerAction() = default; + +bool FrontierSpotBgmTriggerAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void FrontierSpotBgmTriggerAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void FrontierSpotBgmTriggerAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void FrontierSpotBgmTriggerAction::loadParams_() { + getDynamicParam(&mSound_d, "Sound"); + getMapUnitParam(&mSpotBgmLifeScaleMargin_m, "SpotBgmLifeScaleMargin"); + getMapUnitParam(&mIsStopWithoutReductionY_m, "IsStopWithoutReductionY"); + getMapUnitParam(&mSound_m, "Sound"); + getMapUnitParam(&mShape_m, "Shape"); +} + +void FrontierSpotBgmTriggerAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.h b/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.h new file mode 100644 index 00000000..d22a3d0e --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionFrontierSpotBgmTriggerAction.h @@ -0,0 +1,33 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class FrontierSpotBgmTriggerAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(FrontierSpotBgmTriggerAction, ksys::act::ai::Action) +public: + explicit FrontierSpotBgmTriggerAction(const InitArg& arg); + ~FrontierSpotBgmTriggerAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // dynamic_param at offset 0x20 + sead::SafeString mSound_d{}; + // map_unit_param at offset 0x30 + const float* mSpotBgmLifeScaleMargin_m{}; + // map_unit_param at offset 0x38 + const bool* mIsStopWithoutReductionY_m{}; + // map_unit_param at offset 0x40 + sead::SafeString mSound_m{}; + // map_unit_param at offset 0x50 + sead::SafeString mShape_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.cpp b/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.cpp new file mode 100644 index 00000000..e9f3de52 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.h" + +namespace ksys::snd { + +GroupAllowEmitAction::GroupAllowEmitAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +GroupAllowEmitAction::~GroupAllowEmitAction() = default; + +bool GroupAllowEmitAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void GroupAllowEmitAction::loadParams_() { + getDynamicParam(&mGroupName_d, "GroupName"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.h b/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.h new file mode 100644 index 00000000..d19c83da --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionGroupAllowEmitAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class GroupAllowEmitAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(GroupAllowEmitAction, ksys::act::ai::Action) +public: + explicit GroupAllowEmitAction(const InitArg& arg); + ~GroupAllowEmitAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mGroupName_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.cpp b/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.cpp new file mode 100644 index 00000000..bbd34145 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.h" + +namespace ksys::snd { + +GroupDisallowEmitAction::GroupDisallowEmitAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +GroupDisallowEmitAction::~GroupDisallowEmitAction() = default; + +bool GroupDisallowEmitAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void GroupDisallowEmitAction::loadParams_() { + getDynamicParam(&mGroupName_d, "GroupName"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.h b/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.h new file mode 100644 index 00000000..cb5c61c6 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionGroupDisallowEmitAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class GroupDisallowEmitAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(GroupDisallowEmitAction, ksys::act::ai::Action) +public: + explicit GroupDisallowEmitAction(const InitArg& arg); + ~GroupDisallowEmitAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mGroupName_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.cpp b/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.cpp new file mode 100644 index 00000000..5f39fe8c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.cpp @@ -0,0 +1,15 @@ +#include "KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.h" + +namespace ksys::snd { + +KillAllDemoSoundAction::KillAllDemoSoundAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +KillAllDemoSoundAction::~KillAllDemoSoundAction() = default; + +bool KillAllDemoSoundAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void KillAllDemoSoundAction::loadParams_() {} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.h b/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.h new file mode 100644 index 00000000..531059c3 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionKillAllDemoSoundAction.h @@ -0,0 +1,19 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class KillAllDemoSoundAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(KillAllDemoSoundAction, ksys::act::ai::Action) +public: + explicit KillAllDemoSoundAction(const InitArg& arg); + ~KillAllDemoSoundAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.cpp b/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.cpp new file mode 100644 index 00000000..3ba032cf --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.h" + +namespace ksys::snd { + +ListenerFixPositionAction::ListenerFixPositionAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +ListenerFixPositionAction::~ListenerFixPositionAction() = default; + +bool ListenerFixPositionAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void ListenerFixPositionAction::loadParams_() { + getDynamicParam(&mFixType_d, "FixType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.h b/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.h new file mode 100644 index 00000000..3d4fbb29 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionListenerFixPositionAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class ListenerFixPositionAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(ListenerFixPositionAction, ksys::act::ai::Action) +public: + explicit ListenerFixPositionAction(const InitArg& arg); + ~ListenerFixPositionAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mFixType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.cpp b/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.cpp new file mode 100644 index 00000000..38b72c9f --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionListenerSetModeAction.h" + +namespace ksys::snd { + +ListenerSetModeAction::ListenerSetModeAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +ListenerSetModeAction::~ListenerSetModeAction() = default; + +bool ListenerSetModeAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void ListenerSetModeAction::loadParams_() { + getDynamicParam(&mMode_d, "Mode"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.h b/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.h new file mode 100644 index 00000000..1d165767 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionListenerSetModeAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class ListenerSetModeAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(ListenerSetModeAction, ksys::act::ai::Action) +public: + explicit ListenerSetModeAction(const InitArg& arg); + ~ListenerSetModeAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mMode_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.cpp b/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.cpp new file mode 100644 index 00000000..5cf36231 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.cpp @@ -0,0 +1,30 @@ +#include "KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.h" + +namespace ksys::snd { + +MusicianSpotBgmTriggerAction::MusicianSpotBgmTriggerAction(const InitArg& arg) + : SpotBgmTriggerAction(arg) {} + +MusicianSpotBgmTriggerAction::~MusicianSpotBgmTriggerAction() = default; + +bool MusicianSpotBgmTriggerAction::init_(sead::Heap* heap) { + return SpotBgmTriggerAction::init_(heap); +} + +void MusicianSpotBgmTriggerAction::enter_(ksys::act::ai::InlineParamPack* params) { + SpotBgmTriggerAction::enter_(params); +} + +void MusicianSpotBgmTriggerAction::leave_() { + SpotBgmTriggerAction::leave_(); +} + +void MusicianSpotBgmTriggerAction::loadParams_() { + SpotBgmTriggerAction::loadParams_(); +} + +void MusicianSpotBgmTriggerAction::calc_() { + SpotBgmTriggerAction::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.h b/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.h new file mode 100644 index 00000000..f62d3af5 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionMusicianSpotBgmTriggerAction.h @@ -0,0 +1,23 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" +#include "KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.h" + +namespace ksys::snd { + +class MusicianSpotBgmTriggerAction : public SpotBgmTriggerAction { + SEAD_RTTI_OVERRIDE(MusicianSpotBgmTriggerAction, SpotBgmTriggerAction) +public: + explicit MusicianSpotBgmTriggerAction(const InitArg& arg); + ~MusicianSpotBgmTriggerAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.cpp b/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.cpp new file mode 100644 index 00000000..39f2000c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.cpp @@ -0,0 +1,19 @@ +#include "KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.h" + +namespace ksys::snd { + +PlayerEmitEquipmentNoise::PlayerEmitEquipmentNoise(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +PlayerEmitEquipmentNoise::~PlayerEmitEquipmentNoise() = default; + +bool PlayerEmitEquipmentNoise::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void PlayerEmitEquipmentNoise::loadParams_() { + getDynamicParam(&mSteppingFoot_d, "SteppingFoot"); + getDynamicParam(&mSpeed_d, "Speed"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.h b/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.h new file mode 100644 index 00000000..9aa52305 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionPlayerEmitEquipmentNoise.h @@ -0,0 +1,23 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class PlayerEmitEquipmentNoise : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(PlayerEmitEquipmentNoise, ksys::act::ai::Action) +public: + explicit PlayerEmitEquipmentNoise(const InitArg& arg); + ~PlayerEmitEquipmentNoise() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mSteppingFoot_d{}; + // dynamic_param at offset 0x30 + sead::SafeString mSpeed_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.cpp new file mode 100644 index 00000000..d3c6f632 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.cpp @@ -0,0 +1,17 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.h" + +namespace ksys::snd { + +SceneBgmCtrlAction::SceneBgmCtrlAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +SceneBgmCtrlAction::~SceneBgmCtrlAction() = default; + +bool SceneBgmCtrlAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneBgmCtrlAction::loadParams_() { + getDynamicParam(&mCtrlType_d, "CtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.h new file mode 100644 index 00000000..8976628f --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneBgmCtrlAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneBgmCtrlAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneBgmCtrlAction, ksys::act::ai::Action) +public: + explicit SceneBgmCtrlAction(const InitArg& arg); + ~SceneBgmCtrlAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.cpp new file mode 100644 index 00000000..27743b32 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.h" + +namespace ksys::snd { + +SceneSoundCtrlAction::SceneSoundCtrlAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +SceneSoundCtrlAction::~SceneSoundCtrlAction() = default; + +bool SceneSoundCtrlAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundCtrlAction::loadParams_() { + getDynamicParam(&mBgmCtrlType_d, "BgmCtrlType"); + getDynamicParam(&mSeCtrlType_d, "SeCtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.h new file mode 100644 index 00000000..6fce8483 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundCtrlAction.h @@ -0,0 +1,23 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundCtrlAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundCtrlAction, ksys::act::ai::Action) +public: + explicit SceneSoundCtrlAction(const InitArg& arg); + ~SceneSoundCtrlAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mBgmCtrlType_d{}; + // dynamic_param at offset 0x30 + sead::SafeString mSeCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.cpp new file mode 100644 index 00000000..c14c4885 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.h" + +namespace ksys::snd { + +SceneSoundKillDuckingAction::SceneSoundKillDuckingAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundKillDuckingAction::~SceneSoundKillDuckingAction() = default; + +bool SceneSoundKillDuckingAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundKillDuckingAction::loadParams_() { + getDynamicParam(&mDuckerType_d, "DuckerType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.h new file mode 100644 index 00000000..ec7dcf23 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundKillDuckingAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundKillDuckingAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundKillDuckingAction, ksys::act::ai::Action) +public: + explicit SceneSoundKillDuckingAction(const InitArg& arg); + ~SceneSoundKillDuckingAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mDuckerType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.cpp new file mode 100644 index 00000000..58184fdd --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.h" + +namespace ksys::snd { + +SceneSoundNotifyTalkAction::SceneSoundNotifyTalkAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundNotifyTalkAction::~SceneSoundNotifyTalkAction() = default; + +bool SceneSoundNotifyTalkAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundNotifyTalkAction::loadParams_() { + getDynamicParam(&mCtrlType_d, "CtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.h new file mode 100644 index 00000000..598dcc7d --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundNotifyTalkAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundNotifyTalkAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundNotifyTalkAction, ksys::act::ai::Action) +public: + explicit SceneSoundNotifyTalkAction(const InitArg& arg); + ~SceneSoundNotifyTalkAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.cpp new file mode 100644 index 00000000..5744565c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.h" + +namespace ksys::snd { + +SceneSoundSetEndProcAction::SceneSoundSetEndProcAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundSetEndProcAction::~SceneSoundSetEndProcAction() = default; + +bool SceneSoundSetEndProcAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundSetEndProcAction::loadParams_() { + getDynamicParam(&mCtrlType_d, "CtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.h new file mode 100644 index 00000000..6e1d212e --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetEndProcAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundSetEndProcAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundSetEndProcAction, ksys::act::ai::Action) +public: + explicit SceneSoundSetEndProcAction(const InitArg& arg); + ~SceneSoundSetEndProcAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.cpp new file mode 100644 index 00000000..8e3d47c5 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.cpp @@ -0,0 +1,19 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.h" + +namespace ksys::snd { + +SceneSoundSetStartProcAction::SceneSoundSetStartProcAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundSetStartProcAction::~SceneSoundSetStartProcAction() = default; + +bool SceneSoundSetStartProcAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundSetStartProcAction::loadParams_() { + getDynamicParam(&mBgmCtrlType_d, "BgmCtrlType"); + getDynamicParam(&mSeCtrlType_d, "SeCtrlType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.h new file mode 100644 index 00000000..50fb129f --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundSetStartProcAction.h @@ -0,0 +1,23 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundSetStartProcAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundSetStartProcAction, ksys::act::ai::Action) +public: + explicit SceneSoundSetStartProcAction(const InitArg& arg); + ~SceneSoundSetStartProcAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mBgmCtrlType_d{}; + // dynamic_param at offset 0x30 + sead::SafeString mSeCtrlType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.cpp new file mode 100644 index 00000000..35ce1f95 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.h" + +namespace ksys::snd { + +SceneSoundStartDuckingAction::SceneSoundStartDuckingAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundStartDuckingAction::~SceneSoundStartDuckingAction() = default; + +bool SceneSoundStartDuckingAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundStartDuckingAction::loadParams_() { + getDynamicParam(&mDuckerType_d, "DuckerType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.h new file mode 100644 index 00000000..0eccf0f1 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStartDuckingAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundStartDuckingAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundStartDuckingAction, ksys::act::ai::Action) +public: + explicit SceneSoundStartDuckingAction(const InitArg& arg); + ~SceneSoundStartDuckingAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mDuckerType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.cpp new file mode 100644 index 00000000..38e99383 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.cpp @@ -0,0 +1,18 @@ +#include "KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.h" + +namespace ksys::snd { + +SceneSoundStopDuckingAction::SceneSoundStopDuckingAction(const InitArg& arg) + : ksys::act::ai::Action(arg) {} + +SceneSoundStopDuckingAction::~SceneSoundStopDuckingAction() = default; + +bool SceneSoundStopDuckingAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SceneSoundStopDuckingAction::loadParams_() { + getDynamicParam(&mDuckerType_d, "DuckerType"); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.h b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.h new file mode 100644 index 00000000..782c1d61 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSceneSoundStopDuckingAction.h @@ -0,0 +1,21 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SceneSoundStopDuckingAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SceneSoundStopDuckingAction, ksys::act::ai::Action) +public: + explicit SceneSoundStopDuckingAction(const InitArg& arg); + ~SceneSoundStopDuckingAction() override; + + bool init_(sead::Heap* heap) override; + void loadParams_() override; + +protected: + // dynamic_param at offset 0x20 + sead::SafeString mDuckerType_d{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.cpp new file mode 100644 index 00000000..d1c7d5e8 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.cpp @@ -0,0 +1,29 @@ +#include "KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.h" + +namespace ksys::snd { + +SoundOcclusionTagAction::SoundOcclusionTagAction(const InitArg& arg) : AreaTagAction(arg) {} + +SoundOcclusionTagAction::~SoundOcclusionTagAction() = default; + +bool SoundOcclusionTagAction::init_(sead::Heap* heap) { + return AreaTagAction::init_(heap); +} + +void SoundOcclusionTagAction::enter_(ksys::act::ai::InlineParamPack* params) { + AreaTagAction::enter_(params); +} + +void SoundOcclusionTagAction::leave_() { + AreaTagAction::leave_(); +} + +void SoundOcclusionTagAction::loadParams_() { + getStaticParam(&mOcclusionLevel_s, "OcclusionLevel"); +} + +void SoundOcclusionTagAction::calc_() { + AreaTagAction::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.h b/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.h new file mode 100644 index 00000000..e277e87c --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundOcclusionTagAction.h @@ -0,0 +1,26 @@ +#pragma once + +#include "Game/Actor/Area/Action/actionAreaTagAction.h" +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SoundOcclusionTagAction : public uking::action::AreaTagAction { + SEAD_RTTI_OVERRIDE(SoundOcclusionTagAction, uking::action::AreaTagAction) +public: + explicit SoundOcclusionTagAction(const InitArg& arg); + ~SoundOcclusionTagAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // static_param at offset 0x48 + const float* mOcclusionLevel_s{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.cpp new file mode 100644 index 00000000..f2ece975 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.cpp @@ -0,0 +1,27 @@ +#include "KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.h" + +namespace ksys::snd { + +SoundProxyRootAction::SoundProxyRootAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +SoundProxyRootAction::~SoundProxyRootAction() = default; + +bool SoundProxyRootAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SoundProxyRootAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void SoundProxyRootAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void SoundProxyRootAction::loadParams_() {} + +void SoundProxyRootAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.h b/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.h new file mode 100644 index 00000000..08a70394 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundProxyRootAction.h @@ -0,0 +1,22 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SoundProxyRootAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SoundProxyRootAction, ksys::act::ai::Action) +public: + explicit SoundProxyRootAction(const InitArg& arg); + ~SoundProxyRootAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.cpp new file mode 100644 index 00000000..cac7dde0 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.cpp @@ -0,0 +1,34 @@ +#include "KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.h" + +namespace ksys::snd { + +SoundReverbAreaTagAction::SoundReverbAreaTagAction(const InitArg& arg) : AreaTagAction(arg) {} + +SoundReverbAreaTagAction::~SoundReverbAreaTagAction() = default; + +bool SoundReverbAreaTagAction::init_(sead::Heap* heap) { + return AreaTagAction::init_(heap); +} + +void SoundReverbAreaTagAction::enter_(ksys::act::ai::InlineParamPack* params) { + AreaTagAction::enter_(params); +} + +void SoundReverbAreaTagAction::leave_() { + AreaTagAction::leave_(); +} + +void SoundReverbAreaTagAction::loadParams_() { + getMapUnitParam(&mReverbSendAdd_m, "ReverbSendAdd"); + getMapUnitParam(&mReverbTimeAdd_m, "ReverbTimeAdd"); + getMapUnitParam(&mEarlyReflectionFeedbackAdd_m, "EarlyReflectionFeedbackAdd"); + getMapUnitParam(&mRoomHfAdd_m, "RoomHfAdd"); + getMapUnitParam(&mReverbAdd_m, "ReverbAdd"); + getMapUnitParam(&mMerginDistance_m, "MerginDistance"); +} + +void SoundReverbAreaTagAction::calc_() { + AreaTagAction::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.h b/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.h new file mode 100644 index 00000000..a6d53e8e --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundReverbAreaTagAction.h @@ -0,0 +1,36 @@ +#pragma once + +#include "Game/Actor/Area/Action/actionAreaTagAction.h" +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SoundReverbAreaTagAction : public uking::action::AreaTagAction { + SEAD_RTTI_OVERRIDE(SoundReverbAreaTagAction, uking::action::AreaTagAction) +public: + explicit SoundReverbAreaTagAction(const InitArg& arg); + ~SoundReverbAreaTagAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // map_unit_param at offset 0x70 + const float* mReverbSendAdd_m{}; + // map_unit_param at offset 0x78 + const float* mReverbTimeAdd_m{}; + // map_unit_param at offset 0x80 + const float* mEarlyReflectionFeedbackAdd_m{}; + // map_unit_param at offset 0x88 + const float* mRoomHfAdd_m{}; + // map_unit_param at offset 0x90 + const float* mReverbAdd_m{}; + // map_unit_param at offset 0x98 + const float* mMerginDistance_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.cpp new file mode 100644 index 00000000..0025a32a --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.cpp @@ -0,0 +1,30 @@ +#include "KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.h" + +namespace ksys::snd { + +SoundShieldingAreaTagAction::SoundShieldingAreaTagAction(const InitArg& arg) : AreaTagAction(arg) {} + +SoundShieldingAreaTagAction::~SoundShieldingAreaTagAction() = default; + +bool SoundShieldingAreaTagAction::init_(sead::Heap* heap) { + return AreaTagAction::init_(heap); +} + +void SoundShieldingAreaTagAction::enter_(ksys::act::ai::InlineParamPack* params) { + AreaTagAction::enter_(params); +} + +void SoundShieldingAreaTagAction::leave_() { + AreaTagAction::leave_(); +} + +void SoundShieldingAreaTagAction::loadParams_() { + getMapUnitParam(&mMerginDistance_m, "MerginDistance"); + getMapUnitParam(&mIsShieldChemicalWind_m, "IsShieldChemicalWind"); +} + +void SoundShieldingAreaTagAction::calc_() { + AreaTagAction::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.h b/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.h new file mode 100644 index 00000000..e0672e92 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSoundShieldingAreaTagAction.h @@ -0,0 +1,28 @@ +#pragma once + +#include "Game/Actor/Area/Action/actionAreaTagAction.h" +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SoundShieldingAreaTagAction : public uking::action::AreaTagAction { + SEAD_RTTI_OVERRIDE(SoundShieldingAreaTagAction, uking::action::AreaTagAction) +public: + explicit SoundShieldingAreaTagAction(const InitArg& arg); + ~SoundShieldingAreaTagAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // map_unit_param at offset 0x38 + const float* mMerginDistance_m{}; + // map_unit_param at offset 0x40 + const bool* mIsShieldChemicalWind_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.cpp b/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.cpp new file mode 100644 index 00000000..8cf51b3b --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.cpp @@ -0,0 +1,31 @@ +#include "KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.h" + +namespace ksys::snd { + +SpotBgmTriggerAction::SpotBgmTriggerAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +SpotBgmTriggerAction::~SpotBgmTriggerAction() = default; + +bool SpotBgmTriggerAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void SpotBgmTriggerAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void SpotBgmTriggerAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void SpotBgmTriggerAction::loadParams_() { + getDynamicParam(&mSound_d, "Sound"); + getMapUnitParam(&mIsStopWithoutReductionY_m, "IsStopWithoutReductionY"); + getMapUnitParam(&mSound_m, "Sound"); +} + +void SpotBgmTriggerAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.h b/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.h new file mode 100644 index 00000000..701c0bcb --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionSpotBgmTriggerAction.h @@ -0,0 +1,29 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class SpotBgmTriggerAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(SpotBgmTriggerAction, ksys::act::ai::Action) +public: + explicit SpotBgmTriggerAction(const InitArg& arg); + ~SpotBgmTriggerAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; + + // dynamic_param at offset 0x20 + sead::SafeString mSound_d{}; + // map_unit_param at offset 0x30 + const bool* mIsStopWithoutReductionY_m{}; + // map_unit_param at offset 0x38 + sead::SafeString mSound_m{}; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.cpp b/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.cpp new file mode 100644 index 00000000..4b8c9e4e --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.cpp @@ -0,0 +1,27 @@ +#include "KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.h" + +namespace ksys::snd { + +StopAllDemoSoundAction::StopAllDemoSoundAction(const InitArg& arg) : ksys::act::ai::Action(arg) {} + +StopAllDemoSoundAction::~StopAllDemoSoundAction() = default; + +bool StopAllDemoSoundAction::init_(sead::Heap* heap) { + return ksys::act::ai::Action::init_(heap); +} + +void StopAllDemoSoundAction::enter_(ksys::act::ai::InlineParamPack* params) { + ksys::act::ai::Action::enter_(params); +} + +void StopAllDemoSoundAction::leave_() { + ksys::act::ai::Action::leave_(); +} + +void StopAllDemoSoundAction::loadParams_() {} + +void StopAllDemoSoundAction::calc_() { + ksys::act::ai::Action::calc_(); +} + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.h b/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.h new file mode 100644 index 00000000..90d29086 --- /dev/null +++ b/src/KingSystem/Sound/Actor/Action/actionStopAllDemoSoundAction.h @@ -0,0 +1,22 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" + +namespace ksys::snd { + +class StopAllDemoSoundAction : public ksys::act::ai::Action { + SEAD_RTTI_OVERRIDE(StopAllDemoSoundAction, ksys::act::ai::Action) +public: + explicit StopAllDemoSoundAction(const InitArg& arg); + ~StopAllDemoSoundAction() override; + + bool init_(sead::Heap* heap) override; + void enter_(ksys::act::ai::InlineParamPack* params) override; + void leave_() override; + void loadParams_() override; + +protected: + void calc_() override; +}; + +} // namespace ksys::snd diff --git a/src/KingSystem/Sound/Actor/CMakeLists.txt b/src/KingSystem/Sound/Actor/CMakeLists.txt new file mode 100644 index 00000000..cb49b63b --- /dev/null +++ b/src/KingSystem/Sound/Actor/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(Action) +add_subdirectory(AI) diff --git a/src/KingSystem/Sound/CMakeLists.txt b/src/KingSystem/Sound/CMakeLists.txt index e86e8ff0..0e022d50 100644 --- a/src/KingSystem/Sound/CMakeLists.txt +++ b/src/KingSystem/Sound/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(Actor) + target_sources(uking PRIVATE sndInfoData.cpp sndInfoData.h |
