ksys/act: Start adding base Query class

This commit is contained in:
Léo Lam 2020-12-05 00:58:14 +01:00
parent 5672fd9397
commit aea46fce5e
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 67 additions and 14 deletions

View File

@ -40494,21 +40494,21 @@
0x0000007100683ec0,AI_Query_BranchByDyeColor::doQuery,36,
0x0000007100683ee4,AI_Query_BranchByDyeColor::m10,4,
0x0000007100683ee8,AI_Query_BranchByDyeColor::loadParams,4,
0x0000007100683eec,AI_QueryBase::m8n,4,
0x0000007100683eec,AI_QueryBase::m8n,4,_ZN4ksys3act2ai5Query2m8Ev
0x0000007100683ef0,AI_Query_BranchByDyeColor::rtti1,204,
0x0000007100683fbc,AI_Query_BranchByDyeColor::rtti2,92,
0x0000007100684018,AI_QueryBase::m4r0,8,
0x0000007100684020,AI_QueryBase::m5r0,8,
0x0000007100684028,AI_QueryBase::m6n,4,
0x000000710068402c,AI_QueryBase::m7r1,8,
0x0000007100684034,AI_QueryBase::m11r1,8,
0x000000710068403c,AI_QueryBase::m12n,4,
0x0000007100684040,AI_QueryBase::rtti1,112,
0x00000071006840b0,AI_QueryBase::rtti2,92,
0x000000710068410c,AI_QueryBase::dtor,20,
0x0000007100684120,AI_QueryBase::dtorDelete,52,
0x0000007100684154,AI_QueryBase::doQuery,8,
0x000000710068415c,AI_QueryBase::m10n,4,
0x0000007100684018,AI_QueryBase::m4r0,8,_ZN4ksys3act2ai5Query2m4Ev
0x0000007100684020,AI_QueryBase::m5r0,8,_ZN4ksys3act2ai5Query2m5Ev
0x0000007100684028,AI_QueryBase::m6n,4,_ZN4ksys3act2ai5Query2m6Ev
0x000000710068402c,AI_QueryBase::m7r1,8,_ZN4ksys3act2ai5Query2m7Ev
0x0000007100684034,AI_QueryBase::m11r1,8,_ZN4ksys3act2ai5Query3m11Ev
0x000000710068403c,AI_QueryBase::m12n,4,_ZN4ksys3act2ai5Query3m12Ev
0x0000007100684040,AI_QueryBase::rtti1,112,_ZNK4ksys3act2ai5Query27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071006840b0,AI_QueryBase::rtti2,92,_ZNK4ksys3act2ai5Query18getRuntimeTypeInfoEv
0x000000710068410c,AI_QueryBase::dtor,20,_ZN4ksys3act2ai5QueryD2Ev
0x0000007100684120,AI_QueryBase::dtorDelete,52,_ZN4ksys3act2ai5QueryD0Ev
0x0000007100684154,AI_QueryBase::doQuery,8,_ZN4ksys3act2ai5Query7doQueryEv
0x000000710068415c,AI_QueryBase::m10n,4,_ZN4ksys3act2ai5Query3m10Ev
0x0000007100684160,sub_7100684160,140,
0x00000071006841ec,AI_Query_BranchByGameOver::ctor,48,
0x000000710068421c,AI_Query_BranchByGameOver::dtor,20,
@ -74047,7 +74047,7 @@
0x0000007100d5a128,sub_7100D5A128,48,
0x0000007100d5a158,sub_7100D5A158,92,
0x0000007100d5a1b4,sub_7100D5A1B4,140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_15SharcArchiveResEE9isDerivedEPKNS0_9InterfaceE
0x0000007100d5a240,AI_QueryBase::ctor,72,
0x0000007100d5a240,AI_QueryBase::ctor,72,_ZN4ksys3act2ai5QueryC1ERKNS2_7InitArgE
0x0000007100d5a288,sub_7100D5A288,304,
0x0000007100d5a3b8,sub_7100D5A3B8,64,
0x0000007100d5a3f8,sub_7100D5A3F8,56,

Can't render this file because it is too large.

View File

@ -27,6 +27,8 @@ target_sources(uking PRIVATE
actAiClass.h
actAiParam.cpp
actAiParam.h
actAiQuery.cpp
actAiQuery.h
actAttention.cpp
actAttention.h
actBaseProc.cpp

View File

@ -0,0 +1,7 @@
#include "KingSystem/ActorSystem/actAiQuery.h"
namespace ksys::act::ai {
Query::Query(const InitArg& arg) : mProc(arg.proc), mDefIdx(arg.def_idx) {}
} // namespace ksys::act::ai

View File

@ -0,0 +1,44 @@
#pragma once
#include <basis/seadTypes.h>
#include <prim/seadRuntimeTypeInfo.h>
#include "KingSystem/ActorSystem/actAiParam.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::act {
class BaseProc;
}
namespace ksys::act::ai {
class Query {
SEAD_RTTI_BASE(Query)
public:
struct InitArg {
BaseProc* proc;
/// The index of the query definition in the actor's AI program.
s32 def_idx;
};
KSYS_CHECK_SIZE_NX150(InitArg, 0x10);
explicit Query(const InitArg& arg);
virtual ~Query() = default;
virtual bool m4() { return false; }
virtual bool m5() { return false; }
virtual void m6() {}
virtual bool m7() { return true; }
virtual void m8() {}
virtual int doQuery() { return 0; }
virtual void m10() {}
virtual bool m11() { return true; }
virtual void m12() {}
protected:
BaseProc* mProc;
ParamPack mParamPack;
s32 mDefIdx;
};
KSYS_CHECK_SIZE_NX150(Query, 0x20);
} // namespace ksys::act::ai