diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index 0c45c0cce4..fd58f8b45d 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -95,23 +95,9 @@ const char *AIFileInfo::GetInstanceName() bool AIFileInfo::CanLoadFromVersion(int version) { if (version == -1) return true; - if (!this->engine->MethodExists(*this->SQ_instance, "CanLoadFromVersion")) return (version == this->GetVersion()); + if (!this->engine->MethodExists(*this->SQ_instance, "MinVersionToLoad")) return (version == this->GetVersion()); - HSQUIRRELVM vm = this->engine->GetVM(); - int top = sq_gettop(vm); - - sq_pushobject(vm, *this->SQ_instance); - sq_pushstring(vm, OTTD2FS("CanLoadFromVersion"), -1); - sq_get(vm, -2); - sq_pushobject(vm, *this->SQ_instance); - sq_pushinteger(vm, version); - sq_call(vm, 2, SQTrue, SQFalse); - - HSQOBJECT ret; - sq_getstackobj(vm, -1, &ret); - - sq_settop(vm, top); - return sq_objtobool(&ret) != 0; + return version >= this->engine->CallIntegerMethod(*this->SQ_instance, "MinVersionToLoad") && version <= this->GetVersion(); } const char *AIFileInfo::GetMainScript()