mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r23117) -Fix: [NoAI] calling require() to include a file gave you 100.000 opcodes for free
This commit is contained in:
parent
3e016e4254
commit
02913f40b0
|
@ -8611,9 +8611,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
GetNumWagons(): 3
|
GetNumWagons(): 3
|
||||||
GetLength(): 24
|
GetLength(): 24
|
||||||
GetWagonEngineType(): 9
|
GetWagonEngineType(): 9
|
||||||
GetWagonAge(): 0
|
GetWagonAge(): 1
|
||||||
GetWagonEngineType(): 27
|
GetWagonEngineType(): 27
|
||||||
GetWagonAge(): 0
|
GetWagonAge(): 1
|
||||||
GetWagonEngineType(): 27
|
GetWagonEngineType(): 27
|
||||||
GetWagonAge(): 0
|
GetWagonAge(): 0
|
||||||
GetWagonEngineType(): 65535
|
GetWagonEngineType(): 65535
|
||||||
|
@ -8647,11 +8647,11 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
14 => 1
|
14 => 1
|
||||||
12 => 1
|
12 => 1
|
||||||
Age ListDump:
|
Age ListDump:
|
||||||
|
17 => 1
|
||||||
|
16 => 1
|
||||||
14 => 1
|
14 => 1
|
||||||
13 => 1
|
13 => 1
|
||||||
12 => 1
|
12 => 1
|
||||||
17 => 0
|
|
||||||
16 => 0
|
|
||||||
MaxAge ListDump:
|
MaxAge ListDump:
|
||||||
16 => 10980
|
16 => 10980
|
||||||
14 => 10980
|
14 => 10980
|
||||||
|
@ -8659,9 +8659,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
13 => 5490
|
13 => 5490
|
||||||
12 => 5490
|
12 => 5490
|
||||||
AgeLeft ListDump:
|
AgeLeft ListDump:
|
||||||
16 => 10980
|
16 => 10979
|
||||||
14 => 10979
|
14 => 10979
|
||||||
17 => 7320
|
17 => 7319
|
||||||
13 => 5489
|
13 => 5489
|
||||||
12 => 5489
|
12 => 5489
|
||||||
CurrentSpeed ListDump:
|
CurrentSpeed ListDump:
|
||||||
|
|
|
@ -481,15 +481,19 @@ static SQInteger _io_file_read(SQUserPointer file, SQUserPointer buf, SQInteger
|
||||||
/* Make sure we are always in the root-table */
|
/* Make sure we are always in the root-table */
|
||||||
if (in_root) sq_pushroottable(vm);
|
if (in_root) sq_pushroottable(vm);
|
||||||
|
|
||||||
|
SQInteger ops_left = vm->_ops_till_suspend;
|
||||||
/* 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, 100000))) {
|
if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue, 100000))) {
|
||||||
sq_pop(vm, 1);
|
sq_pop(vm, 1);
|
||||||
|
/* After compiling the file we want to reset the amount of opcodes. */
|
||||||
|
vm->_ops_till_suspend = ops_left;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vm->_ops_till_suspend = ops_left;
|
||||||
DEBUG(misc, 0, "[squirrel] Failed to compile '%s'", script);
|
DEBUG(misc, 0, "[squirrel] Failed to compile '%s'", script);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue