mirror of https://github.com/zeldaret/botw.git
ksys/act: Finish Query
This commit is contained in:
parent
952a40d472
commit
4f2f4ede4f
|
@ -74060,10 +74060,10 @@
|
||||||
0x0000007100d5a49c,AI_QueryBase::getIntDynamic,84,_ZNK4ksys3act2ai5Query15getDynamicParamEPPiRKN4sead14SafeStringBaseIcEE
|
0x0000007100d5a49c,AI_QueryBase::getIntDynamic,84,_ZNK4ksys3act2ai5Query15getDynamicParamEPPiRKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a4f0,sub_7100D5A4F0,80,_ZNK4ksys3act2ai5Query15getDynamicParamEPPfRKN4sead14SafeStringBaseIcEE
|
0x0000007100d5a4f0,sub_7100D5A4F0,80,_ZNK4ksys3act2ai5Query15getDynamicParamEPPfRKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a540,sub_7100D5A540,80,_ZNK4ksys3act2ai5Query15getDynamicParamEPPbRKN4sead14SafeStringBaseIcEE
|
0x0000007100d5a540,sub_7100D5A540,80,_ZNK4ksys3act2ai5Query15getDynamicParamEPPbRKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a590,AI_QueryBase::getArgument_m10,196,
|
0x0000007100d5a590,AI_QueryBase::getArgument_m10,196,_ZN4ksys3act2ai5Query10loadStringERKN4evfl13ParamAccessorERKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a654,sub_7100D5A654,184,
|
0x0000007100d5a654,sub_7100D5A654,184,_ZN4ksys3act2ai5Query7loadIntERKN4evfl13ParamAccessorERKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a70c,sub_7100D5A70C,184,
|
0x0000007100d5a70c,sub_7100D5A70C,184,_ZN4ksys3act2ai5Query9loadFloatERKN4evfl13ParamAccessorERKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a7c4,sub_7100D5A7C4,184,
|
0x0000007100d5a7c4,sub_7100D5A7C4,184,_ZN4ksys3act2ai5Query8loadBoolERKN4evfl13ParamAccessorERKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a87c,sub_7100D5A87C,12,_ZNK4ksys3act2ai5Query17getAITreeVariableEPPN4sead14SafeStringBaseIcEERKS5_
|
0x0000007100d5a87c,sub_7100D5A87C,12,_ZNK4ksys3act2ai5Query17getAITreeVariableEPPN4sead14SafeStringBaseIcEERKS5_
|
||||||
0x0000007100d5a888,sub_7100D5A888,12,_ZNK4ksys3act2ai5Query17getAITreeVariableEPPvRKN4sead14SafeStringBaseIcEE
|
0x0000007100d5a888,sub_7100D5A888,12,_ZNK4ksys3act2ai5Query17getAITreeVariableEPPvRKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d5a894,sub_7100D5A894,236,
|
0x0000007100d5a894,sub_7100D5A894,236,
|
||||||
|
|
Can't render this file because it is too large.
|
|
@ -74,10 +74,12 @@ public:
|
||||||
T* getVariable(const sead::SafeString& key, AIDefParamType type, bool a4 = true) const;
|
T* getVariable(const sead::SafeString& key, AIDefParamType type, bool a4 = true) const;
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void setVariable(const sead::SafeString& key, AIDefParamType type, const T& val) const {
|
bool setVariable(const sead::SafeString& key, AIDefParamType type, const T& val) const {
|
||||||
T* variable = getVariable<T>(key, type, true);
|
T* variable = getVariable<T>(key, type, true);
|
||||||
if (variable)
|
if (!variable)
|
||||||
|
return false;
|
||||||
*variable = val;
|
*variable = val;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool load(const Actor& actor, const ParamNameTypePairs& pairs, s32 count, sead::Heap* heap);
|
bool load(const Actor& actor, const ParamNameTypePairs& pairs, s32 count, sead::Heap* heap);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "KingSystem/ActorSystem/actAiQuery.h"
|
#include "KingSystem/ActorSystem/actAiQuery.h"
|
||||||
|
#include <evfl/Param.h>
|
||||||
#include "KingSystem/ActorSystem/actActor.h"
|
#include "KingSystem/ActorSystem/actActor.h"
|
||||||
#include "KingSystem/ActorSystem/actActorParam.h"
|
#include "KingSystem/ActorSystem/actActorParam.h"
|
||||||
#include "KingSystem/ActorSystem/actAiClassDef.h"
|
#include "KingSystem/ActorSystem/actAiClassDef.h"
|
||||||
|
@ -70,6 +71,38 @@ bool Query::getDynamicParam(bool** value, const sead::SafeString& param) const {
|
||||||
return ret != nullptr;
|
return ret != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Query::loadString(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
|
||||||
|
ore::StringView value;
|
||||||
|
if (!accessor.FindString(&value, param.cstr()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return mParamPack.setString(value.data(), param);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Query::loadInt(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
|
||||||
|
int value;
|
||||||
|
if (!accessor.FindInt(&value, param.cstr()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return mParamPack.setVariable(param, AIDefParamType::Int, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Query::loadFloat(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
|
||||||
|
float value;
|
||||||
|
if (!accessor.FindFloat(&value, param.cstr()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return mParamPack.setVariable(param, AIDefParamType::Float, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Query::loadBool(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
|
||||||
|
bool value;
|
||||||
|
if (!accessor.FindBool(&value, param.cstr()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return mParamPack.setVariable(param, AIDefParamType::Bool, value);
|
||||||
|
}
|
||||||
|
|
||||||
bool Query::getAITreeVariable(sead::SafeString** value, const sead::SafeString& param) const {
|
bool Query::getAITreeVariable(sead::SafeString** value, const sead::SafeString& param) const {
|
||||||
return mActor->getRootAi()->getAITreeVariable(value, param);
|
return mActor->getRootAi()->getAITreeVariable(value, param);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue