ksys/act: FIx Query loadBool, loadInt, loadFloat

This commit is contained in:
Léo Lam 2021-06-21 18:33:10 +02:00
parent 4f2f4ede4f
commit 7d6938bc27
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 12 additions and 3 deletions

View File

@ -82,6 +82,15 @@ public:
return true;
}
template <typename T>
bool setAITreeVariable(const sead::SafeString& key, AIDefParamType type, const T& val) const {
auto* variable = static_cast<T*>(getAITreeVariablePointer(key, type, true));
if (!variable)
return false;
*variable = val;
return true;
}
bool load(const Actor& actor, const ParamNameTypePairs& pairs, s32 count, sead::Heap* heap);
void* getAITreeVariablePointer(const sead::SafeString& key, AIDefParamType type,
bool x = false) const;

View File

@ -84,7 +84,7 @@ bool Query::loadInt(const evfl::ParamAccessor& accessor, const sead::SafeString&
if (!accessor.FindInt(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Int, value);
return mParamPack.setAITreeVariable(param, AIDefParamType::Int, value);
}
bool Query::loadFloat(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
@ -92,7 +92,7 @@ bool Query::loadFloat(const evfl::ParamAccessor& accessor, const sead::SafeStrin
if (!accessor.FindFloat(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Float, value);
return mParamPack.setAITreeVariable(param, AIDefParamType::Float, value);
}
bool Query::loadBool(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
@ -100,7 +100,7 @@ bool Query::loadBool(const evfl::ParamAccessor& accessor, const sead::SafeString
if (!accessor.FindBool(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Bool, value);
return mParamPack.setAITreeVariable(param, AIDefParamType::Bool, value);
}
bool Query::getAITreeVariable(sead::SafeString** value, const sead::SafeString& param) const {