mirror of
https://github.com/zeldaret/botw
synced 2026-07-26 06:27:51 -04:00
query: Implement CompareGameDataTime
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "Game/AI/Query/queryCompareGameDataTime.h"
|
||||
#include <evfl/query.h>
|
||||
#include "KingSystem/GameData/gdtManager.h"
|
||||
|
||||
namespace uking::query {
|
||||
|
||||
@@ -7,8 +8,40 @@ CompareGameDataTime::CompareGameDataTime(const InitArg& arg) : ksys::act::ai::Qu
|
||||
|
||||
CompareGameDataTime::~CompareGameDataTime() = default;
|
||||
|
||||
// FIXME: implement
|
||||
int CompareGameDataTime::doQuery() {
|
||||
int min_a{};
|
||||
int sec_a{};
|
||||
int milli_a{};
|
||||
int min_b{};
|
||||
int sec_b{};
|
||||
int milli_b{};
|
||||
|
||||
auto* gdt = ksys::gdt::Manager::instance();
|
||||
if (!gdt)
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&min_a, mGameDataIntMinA))
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&sec_a, mGameDataIntSecA))
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&milli_a, mGameDataIntMilliA))
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&min_b, mGameDataIntMinB))
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&sec_b, mGameDataIntSecB))
|
||||
return 0;
|
||||
if (!gdt->getParamBypassPerm().get().getS32(&milli_b, mGameDataIntMilliB))
|
||||
return 0;
|
||||
|
||||
const int time_a = (60 * 1000 * min_a) + (1000 * sec_a) + milli_a;
|
||||
const int time_b = (60 * 1000 * min_b) + (1000 * sec_b) + milli_b;
|
||||
|
||||
if (time_a < time_b)
|
||||
return 0;
|
||||
if (time_a == time_b)
|
||||
return 1;
|
||||
if (time_a != time_b)
|
||||
return 2;
|
||||
SEAD_ASSERT(false);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user