12 #include "../stdafx.h"
14 #include "../script/squirrel_class.hpp"
18 #include "../string_func.h"
21 #include "../safeguards.h"
29 return strcmp(api_version,
"0.7") == 0 || strcmp(api_version,
"1.0") == 0 || strcmp(api_version,
"1.1") == 0 ||
30 strcmp(api_version,
"1.2") == 0 || strcmp(api_version,
"1.3") == 0 || strcmp(api_version,
"1.4") == 0 ||
31 strcmp(api_version,
"1.5") == 0 || strcmp(api_version,
"1.6") == 0 || strcmp(api_version,
"1.7") == 0;
37 template <>
const char *GetClassName<AIInfo, ST_AI>() {
return "AIInfo"; }
43 SQAIInfo.PreRegister(engine);
44 SQAIInfo.AddConstructor<void (
AIInfo::*)(), 1>(engine,
"x");
59 SQAIInfo.PostRegister(engine);
67 SQUserPointer instance = NULL;
68 if (SQ_FAILED(sq_getinstanceup(vm, 2, &instance, 0)) || instance == NULL)
return sq_throwerror(vm,
"Pass an instance of a child class of AIInfo to RegisterAI");
72 if (res != 0)
return res;
94 DEBUG(script, 1,
"Loading info.nut from (%s.%d): GetAPIVersion returned invalid version", info->
GetName(), info->
GetVersion());
102 sq_setinstanceup(vm, 2, NULL);
111 SQUserPointer instance;
112 sq_getinstanceup(vm, 2, &instance, 0);
117 if (res != 0)
return res;
120 seprintf(buf,
lastof(buf),
"%d.%d",
GB(_openttd_newgrf_version, 28, 4),
GB(_openttd_newgrf_version, 24, 4));
124 sq_setinstanceup(vm, 2, NULL);
131 min_loadable_version(0),
132 use_as_random(false),
144 if (version == -1)
return true;
149 AILibrary::~AILibrary()