ksys/act: Add copies of getDynamicParam that are sometimes used

This commit is contained in:
Léo Lam 2020-12-26 16:21:16 +01:00
parent 95b91196aa
commit 18b90cea29
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 30 additions and 0 deletions

View File

@ -245,6 +245,28 @@ protected:
value, key, static_cast<sead::SafeString*>(getDefaultString32()));
}
// TODO: rename -- why do these exist?
template <AIDefParamType Type, typename T>
bool getDynamicParamPtrImpl2(T** value, const sead::SafeString& key, T* default_value) const {
return getDynamicParamImpl(value, key, &ParamPack::getPtrGeneric2<T, Type>, &default_value);
}
bool getDynamicParam2(int** value, const sead::SafeString& key) const {
return getDynamicParamPtrImpl2<AIDefParamType::Int>(value, key, getDefaultInt());
}
bool getDynamicParam2(float** value, const sead::SafeString& key) const {
return getDynamicParamPtrImpl2<AIDefParamType::Float>(value, key, getDefaultFloat());
}
bool getDynamicParam2(sead::Vector3f** value, const sead::SafeString& key) const {
return getDynamicParamPtrImpl2<AIDefParamType::Vec3>(value, key, getDefaultVec3());
}
bool getDynamicParam2(bool** value, const sead::SafeString& key) const {
return getDynamicParamPtrImpl2<AIDefParamType::Bool>(value, key, getDefaultBool());
}
Actor* mActor;
ParamPack mParams;
s16 mDefinitionIdx;

View File

@ -92,6 +92,14 @@ public:
return ptr != nullptr;
}
// TODO: rename this -- why does this exist?
template <typename T, AIDefParamType Type>
bool getPtrGeneric2(T** value, const sead::SafeString& key) const {
auto* ptr = static_cast<T*>(getAITreeVariablePointer(key, Type));
*value = ptr;
return ptr != nullptr;
}
bool getString(sead::SafeString* value, const sead::SafeString& key) const;
bool setString(const sead::SafeString& value, const sead::SafeString& key) const;