From 930b780cd1513e1dd92bc114cde58adb552159a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 9 Dec 2020 18:32:25 +0100 Subject: ksys/act: Implement more Query functions --- src/KingSystem/Resource/resResourceAIProgram.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/KingSystem/Resource/resResourceAIProgram.cpp') diff --git a/src/KingSystem/Resource/resResourceAIProgram.cpp b/src/KingSystem/Resource/resResourceAIProgram.cpp index f7271975..242fb42b 100644 --- a/src/KingSystem/Resource/resResourceAIProgram.cpp +++ b/src/KingSystem/Resource/resResourceAIProgram.cpp @@ -326,6 +326,17 @@ AIProgram::Definition::findSInstParam(const sead::SafeString& name) const { return findSInstParam(agl::utl::ParameterBase::calcHash(name)); } +bool AIProgram::getSInstParam(const char** value, const AIProgram::Definition& def, + const sead::SafeString& param_name) const { + const auto* param = def.findSInstParam(param_name); + if (!param || param->getParameterType() != agl::utl::ParameterType::StringRef) { + *value = &sead::SafeString::cNullChar; + return false; + } + *value = param->ptrT(); + return true; +} + bool AIProgram::getSInstParam(sead::SafeString* value, const AIProgram::Definition& def, const sead::SafeString& param_name) const { const auto* param = def.findSInstParam(param_name); @@ -343,6 +354,12 @@ bool AIProgram::getSInstParam(const s32** value, const AIProgram::Definition& de return getSInstParam_(value, def, param_name, agl::utl::ParameterType::Int, &sDefault); } +bool AIProgram::getSInstParam(const f32** value, const AIProgram::Definition& def, + const sead::SafeString& param_name) const { + static const f32 sDefault{}; + return getSInstParam_(value, def, param_name, agl::utl::ParameterType::F32, &sDefault); +} + bool AIProgram::getSInstParam(const sead::Vector3f** value, const AIProgram::Definition& def, const sead::SafeString& param_name) const { return getSInstParam_(value, def, param_name, agl::utl::ParameterType::Vec3, -- cgit v1.2.3