1
0
Fork 0

(svn r17545) -Fix [FS#3202]: [NoAI] AIs had 'infinite' time when running code from the global scope

release/1.0
rubidium 2009-09-15 16:18:10 +00:00
parent 227824f753
commit f2487381ce
2 changed files with 3 additions and 2 deletions

View File

@ -142,7 +142,8 @@ AIInstance::AIInstance(AIInfo *info) :
if (strcmp(main_script, "%_dummy") == 0) { if (strcmp(main_script, "%_dummy") == 0) {
extern void AI_CreateAIDummy(HSQUIRRELVM vm); extern void AI_CreateAIDummy(HSQUIRRELVM vm);
AI_CreateAIDummy(this->engine->GetVM()); AI_CreateAIDummy(this->engine->GetVM());
} else if (!this->engine->LoadScript(main_script)) { } else if (!this->engine->LoadScript(main_script) || this->engine->IsSuspended()) {
if (this->engine->IsSuspended()) AILog::Error("This AI took too long to load script. AI is not started.");
this->Died(); this->Died();
return; return;
} }

View File

@ -473,7 +473,7 @@ static SQInteger _io_file_read(SQUserPointer file, SQUserPointer buf, SQInteger
/* Load and run the script */ /* Load and run the script */
if (SQ_SUCCEEDED(LoadFile(vm, script, SQTrue))) { if (SQ_SUCCEEDED(LoadFile(vm, script, SQTrue))) {
sq_push(vm, -2); sq_push(vm, -2);
if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) { if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue, 100000))) {
sq_pop(vm, 1); sq_pop(vm, 1);
return true; return true;
} }