summaryrefslogtreecommitdiff
path: root/src/script/squirrel.cpp
AgeCommit message (Collapse)Author
2021-04-17Fix #6322: [Script] Try to let the script die when no memory can be ↵Rubidium
allocated instead of crashing the whole game
2020-12-02Fix: [NoAI] don't notify caught exceptionsRasmus Jonsson
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-05-15Fix #7590: decrement allocated_size in ScriptAllocator::Free()glx
2019-05-11Change: Limit memory allocations for each Squirrel instanceNiels Martin Hansen
This can avoid out-of-memory situations due to single scripts using up the entire address space. Instead, scripts that go above the maximum are killed. The maximum is default 1 GB per script, but can be configured by a setting.
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-01-05Fix 6accbf9: Silence warnings about unused fread() resultNiels Martin Hansen
2018-11-17Fix #6969: Account for BOM when reading script filesCharles Pigott
2014-09-07(svn r26797) -Codechange: rewrite the UTF8 reading code to make use of ↵rubidium
already existing functions instead of partially trying to implemented them
2014-09-07(svn r26796) -Fix: reading of high byte of "ASCII" files yielded a negative ↵rubidium
int8, then casted to an uint32 which caused the Squirrel lexer to bail out. Regardless... the file isn't actually ASCII, but that's beyond the point for now
2014-09-07(svn r26784) -Codechange [Squirrel]: use WChar for the lexerrubidium
2014-09-06(svn r26782) -Fix (r26781): was in the wrong folder when commitingrubidium
2014-09-06(svn r26776) -Codechange: use safe string functions in script/squirrel*.cpprubidium
2014-09-06(svn r26775) -Cleanup [Squirrel]: "resolve" several of the unicode wrapper ↵rubidium
defines
2014-09-06(svn r26774) -Cleanup [Squirrel]: remove _SC macrorubidium
2014-09-06(svn r26771) -Cleanup: remove OTTD2SQ and SQ2OTTDrubidium
2014-09-06(svn r26769) -Codechange [Squirrel]: remove the difference between some ↵rubidium
platforms having wchar for SQChar and others just char; always use char (and UTF-8) like in the rest of (internal) OpenTTD
2014-05-25(svn r26617) -Fix [FS#5973]: [Script] Loading/parsing of info .nuts was done ↵rubidium
in the same VM, causing e.g. constants to break the loading of info of other scripts
2014-05-11(svn r26584) -Codechange: [Squirrel] Make the internal integer for scripts ↵rubidium
always 64 bits, so scripts behave the same on 32 or 64 bits architectures
2014-04-25(svn r26509) -Codechange: replace strdup with stredup (the latter ensures ↵rubidium
the return is not NULL)
2014-04-24(svn r26506) -Codechange: replace most of vsnprintf with vseprintfrubidium
2014-04-24(svn r26494) -Codechange: replace some further usages of s(n)printf with ↵rubidium
seprintf
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-11-25(svn r26113) -Fix: unhandled seek error, and leaking file descriptorrubidium
2013-11-23(svn r26058) -Fix: handle the return value of a number of functions betterrubidium
2013-07-04(svn r25555) -Fix [FS#5632]: [Script] Texts from scripts were not validated ↵rubidium
before they were shown, causing an assertion to trigger
2013-05-29(svn r25305) -Fix [FS#5561]: Game Script APIs that execute a DoCommand were ↵zuu
returning the same result as in TestMode during world generation
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-01-15(svn r23801) -Fix: reading the utf-8 BOM from AI/GS files on big-endian ↵yexo
machines failed
2011-12-19(svn r23612) -Add: allow importing libraries in the same way as AI does, ↵truebrain
only with GS prefix (and in game/library)
2011-12-19(svn r23605) -Add: GAME_DIR and CONTENT_TYPE_GAME, and read gamescript from ↵truebrain
that directory
2011-12-06(svn r23439) -Fix: Use the DEBUG macro to output the reason for a compile ↵yexo
failure in info.nut instead of printing it directly to stderr
2011-11-29(svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo ↵truebrain
and AIScannerLibrary
2011-11-29(svn r23352) -Add: support dynamically adding an API prefix when returning a ↵truebrain
C++ class to Squirrel
2011-11-23(svn r23293) -Codechange: make LoadScript/LoadFile non-statictruebrain
2011-11-19(svn r23263) -Documentation: stop naming AI in comments in script/ files; it ↵truebrain
makes no sense
2011-11-14(svn r23216) -Codechange: introduce the concept of having different tar listsrubidium
2011-11-04(svn r23118) -Feature: [NoAI] Allow AIs to query the amount of remaining ↵rubidium
operations for the current tick
2011-11-04(svn r23117) -Fix: [NoAI] calling require() to include a file gave you ↵yexo
100.000 opcodes for free
2011-02-20(svn r22120) -Change: [NoAI] Prevent AIs from getting consistently over ↵rubidium
their allowed amount of operations by subtracting the amount they went over "budget" from the budget for the next "tick".
2010-08-26(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to ↵rubidium
some headers
2010-01-18(svn r18862) -Fix [FS#3544]: don't pass AI strings through iconvrubidium
2009-11-11(svn r18038) -Fix [FS#3290] (r17402): AIs failed to load their data from ↵rubidium
savegames by crashing them when they tried
2009-09-15(svn r17545) -Fix [FS#3202]: [NoAI] AIs had 'infinite' time when running ↵rubidium
code from the global scope
2009-09-03(svn r17402) -Fix (r16425): During every save a few slots on the squirrel ↵Yexo
stack were leaked
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-08-19(svn r17223) -Change [NoAI] [FS#2980]: Crash an AI when it uses a DoCommand ↵yexo
/ Sleep instead of just printing an error message in the AI Debug Window
2009-07-31(svn r17005) -Add [NoAI]: AIAbstractList::SORT_ASCENDING / SORT_DESCENDINGyexo
2009-07-15(svn r16834) -Fix [FS#3034]: call the AI Save() function only once so AIs ↵yexo
can't crash OpenTTD
2009-06-01(svn r16502) -Fix [FS#2935]: when an AI was suspended while in a function ↵yexo
called (indirectly) via call/acall/pcall OpenTTD crashed. Fix this by disallowing AIs to be suspended while called via call/acall/pcall. IMPORTANT FOR AI WRITERS: AIs can no longer call any DoCommand functions (change anything, build vehicles, etc.) in a function called (indirectly) via call/acall/pcall. Where possible, please rewrite your code so it doesn't use call/acall/pcall