summaryrefslogtreecommitdiff
path: root/src/script/squirrel.hpp
AgeCommit message (Collapse)Author
2021-06-17Cleanup: [Script] Use nullptr instead of 0 or NULLRubidium
2020-06-27Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings ↵Charles Pigott
that followed
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
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
2014-09-06(svn r26771) -Cleanup: remove OTTD2SQ and SQ2OTTDrubidium
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
2011-12-19(svn r23604) -Add: initial support for GameScriptstruebrain
2011-11-29(svn r23366) -Codechange: move most of the Dummy code to script/, unifying ittruebrain
2011-11-29(svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo ↵truebrain
and AIScannerLibrary
2011-11-29(svn r23360) -Codechange: move AIInstance to ScriptInstance, making it ↵truebrain
reusable by other script API instances
2011-11-29(svn r23355) -Codechange: rename all AI* to Script* (Rubidium)truebrain
2011-11-29(svn r23352) -Add: support dynamically adding an API prefix when returning a ↵truebrain
C++ class to Squirrel
2011-11-29(svn r23350) -Add: support different ScriptTypes in the helper functions for ↵truebrain
GetClassName (Rubidium)
2011-11-23(svn r23295) -Codechange: put ImportLibrary in AIController (and document ↵truebrain
the parameters for NoAI docs)
2011-11-23(svn r23293) -Codechange: make LoadScript/LoadFile non-statictruebrain
2011-11-19(svn r23264) -Fix (r23263): save before committruebrain
2011-11-04(svn r23118) -Feature: [NoAI] Allow AIs to query the amount of remaining ↵rubidium
operations for the current tick
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-11-24(svn r21311) -Fix [FS#4260]: AIs in an infinite loop in e.g. autosave, but ↵rubidium
also getting settings and such from info.nut, would not be interrupted after a while causing OpenTTD to seem to not respond
2010-08-26(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to ↵rubidium
some headers
2010-08-19(svn r20574) -Codechange: a little over 1 million vehicles should be enough ↵rubidium
for the forseeable future
2010-01-18(svn r18862) -Fix [FS#3544]: don't pass AI strings through iconvrubidium
2009-09-19(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, ↵rubidium
which were sometimes missing and sometimes just typos
2009-09-10(svn r17498) -Add [NoAI]: Enable the squirrel std math libraryyexo
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
2009-04-21(svn r16113) -Feature [NoAI]: Add UseAsRandomAI as function in info.nut. ↵yexo
When an AI returns false, it'll never be chosen as random AI.
2009-02-23(svn r15558) -Cleanup: Remove some unnecessary friend declarations.yexo
2009-02-13(svn r15467) -Fix [NoAI]: AIs with an error in their info.nut are no longer ↵yexo
available in-game.
2009-02-08(svn r15406) -Fix: make Valuate actually cost a few opcodes to not make it a ↵rubidium
single opcode method of doing lots of the same thing. This should resolve most of the hiccups caused by AIs.
2009-02-03(svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular ↵rubidium
references (by enabling the GC).
2009-01-13(svn r15045) -Add [NoAI API CHANGE]: in info.nut you can now have (optional) ↵truebrain
a CanLoadFromVersion(version), which should return true/false, to indicate if you can load a savegame made with your AI of version 'version' -Add [NoAI API CHANGE]: in main.nut the Load() function now should be Load(version, data), where 'version' is the version of your AI which made the savegame -Codechange [NoAI]: various of function renames to make things more sane -Add [NoAI]: push the 'version' of the AI through various of layers -Codechange [NoAI]: various of code cleanups -Add [NoAI]: store the version of the AI in the savegame too
2009-01-12(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to ↵truebrain
see. NoAI is an API (a framework) to build your own AIs in. See: http://wiki.openttd.org/wiki/index.php/AI:Main_Page With many thanks to: - glx and Rubidium for their syncing, feedback and hard work - Yexo for his feedback, patches, and AIs which tested the system very deep - Morloth for his feedback and patches - TJIP for hosting a challenge which kept NoAI on track - All AI authors for testing our AI API, and all other people who helped in one way or another -Remove: all old AIs and their cheats/hacks