diff options
| author | hgh32 <dfdd7237@gmail.com> | 2026-02-24 10:38:45 -0500 |
|---|---|---|
| committer | hgh32 <dfdd7237@gmail.com> | 2026-03-04 23:01:47 -0500 |
| commit | 007bdc90d65296cf581a6b07d18f3d138dbb47fc (patch) | |
| tree | f49ad69d7bf6fd7c3827e616e1feb1991c71bb38 | |
| parent | 5151dfa69adc38a6a9bf3e8a5aa3eb4d077c233b (diff) | |
Implement CheckE3Mode::doQuery
| -rw-r--r-- | data/uking_functions.csv | 2 | ||||
| -rw-r--r-- | src/Game/AI/Query/queryCheckE3Mode.cpp | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 3db151bc..ca006143 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -40718,7 +40718,7 @@ Address,Quality,Size,Name 0x0000007100689ec8,O,000048,_ZN5uking5query11CheckE3ModeC1ERKN4ksys3act2ai5Query7InitArgE 0x0000007100689ef8,O,000020,_ZN5uking5query11CheckE3ModeD1Ev 0x0000007100689f0c,O,000052,_ZN5uking5query11CheckE3ModeD0Ev -0x0000007100689f40,U,000104,AI_Query_CheckE3Mode::doQuery +0x0000007100689f40,O,000104,_ZN5uking5query11CheckE3Mode7doQueryEv 0x0000007100689fa8,O,000004,_ZN5uking5query11CheckE3Mode10loadParamsERKN4evfl8QueryArgE 0x0000007100689fac,O,000004,_ZN5uking5query11CheckE3Mode10loadParamsEv 0x0000007100689fb0,O,000204,_ZNK5uking5query11CheckE3Mode27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE diff --git a/src/Game/AI/Query/queryCheckE3Mode.cpp b/src/Game/AI/Query/queryCheckE3Mode.cpp index 45617654..88bb4056 100644 --- a/src/Game/AI/Query/queryCheckE3Mode.cpp +++ b/src/Game/AI/Query/queryCheckE3Mode.cpp @@ -1,5 +1,6 @@ #include "Game/AI/Query/queryCheckE3Mode.h" #include <evfl/Query.h> +#include "Game/E3Mgr.h" namespace uking::query { @@ -7,9 +8,20 @@ CheckE3Mode::CheckE3Mode(const InitArg& arg) : ksys::act::ai::Query(arg) {} CheckE3Mode::~CheckE3Mode() = default; -// FIXME: implement int CheckE3Mode::doQuery() { - return -1; + auto* e3m = E3Mgr::instance(); + if (e3m != nullptr) { + if (e3m->isDemoMode0AndNotStageSelect()) { + return 1; + } + if (e3m->isDemoMode1AndNotStageSelect()) { + return 2; + } + if (e3m->isDemoMode2AndNotStageSelect()) { + return 3; + } + } + return 0; } void CheckE3Mode::loadParams(const evfl::QueryArg& arg) {} |
