rubidium
6e9122828e
(svn r22406) -Document: some more "random-ish" tidbits
14 years ago
rubidium
089d2053d5
(svn r22120) -Change: [NoAI] Prevent AIs from getting consistently over their allowed amount of operations by subtracting the amount they went over "budget" from the budget for the next "tick".
14 years ago
alberth
69762b70b2
(svn r21595) -Codechange: Some header files had their name changed, update the ifndef/define/endif lines.
14 years ago
rubidium
890eec6132
(svn r21311) -Fix [FS#4260]: AIs in an infinite loop in e.g. autosave, but also getting settings and such from info.nut, would not be interrupted after a while causing OpenTTD to seem to not respond
14 years ago
rubidium
360d6daf34
(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers
14 years ago
rubidium
bd5be9a942
(svn r20574) -Codechange: a little over 1 million vehicles should be enough for the forseeable future
14 years ago
rubidium
a1e9becc8f
(svn r19776) -Change: don't scan for tars in the script scanner; it has already happened.
15 years ago
smatz
52050197ea
(svn r19509) -Codechange: remove superfluous semicolons after function definitions
15 years ago
rubidium
0bf54aaedb
(svn r18862) -Fix [FS#3544]: don't pass AI strings through iconv
15 years ago
rubidium
9467b7c6d6
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
3de085a143
(svn r18683) -Fix: it's not an other
15 years ago
smatz
a5e8465a4a
(svn r18555) -Fix (r15027): fake definitions of squirrel types were wrong for eg. 64bit systems, don't use them
15 years ago
rubidium
a0a530a997
(svn r18418) -Fix [FS#3298]: under some circumstances a pointer could be left untouched and then freed. Make sure this doesn't happen by ensuring it starts out as NULL instead of 'garbage'.
15 years ago
rubidium
8f4ae09c03
(svn r18038) -Fix [FS#3290] (r17402): AIs failed to load their data from savegames by crashing them when they tried
15 years ago
rubidium
318c2fad7c
(svn r17963) -Codechange: some documentation style
15 years ago
rubidium
982b8ee5fc
(svn r17693) -Cleanup: remove some unneeded includes
15 years ago
rubidium
310465da07
(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos
15 years ago
rubidium
83be7b09ea
(svn r17545) -Fix [FS#3202]: [NoAI] AIs had 'infinite' time when running code from the global scope
15 years ago
yexo
f922a7ca8e
(svn r17498) -Add [NoAI]: Enable the squirrel std math library
15 years ago
Yexo
d49addb48e
(svn r17402) -Fix (r16425): During every save a few slots on the squirrel stack were leaked
15 years ago
rubidium
99d46e0ad7
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
yexo
c22f60c812
(svn r17223) -Change [NoAI] [FS#2980]: Crash an AI when it uses a DoCommand / Sleep instead of just printing an error message in the AI Debug Window
15 years ago
yexo
74e5f16bc2
(svn r17221) -Change [NoAI] [FS#3101]: when the API requests a string as parameter allow every squirrel type and convert to a string
15 years ago
rubidium
f9de918274
(svn r17013) -Fix [FS#3074]: concatenating strings in Squirrel when non-ASCII strings were received from OpenTTD failed. The number of bytes in an UTF-8 encoded string isn't always the same as the number of characters in the decoded (into wchars) string
15 years ago
yexo
f35d7f210f
(svn r17005) -Add [NoAI]: AIAbstractList::SORT_ASCENDING / SORT_DESCENDING
15 years ago
yexo
6e467e8ae0
(svn r16834) -Fix [FS#3034]: call the AI Save() function only once so AIs can't crash OpenTTD
15 years ago
yexo
62a698df32
(svn r16502) -Fix [FS#2935]: when an AI was suspended while in a function 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
16 years ago
rubidium
f163217dbb
(svn r16493) -Fix: missing/wrong @file doxygen 'headers'
16 years ago
smatz
d091c7d80f
(svn r16492) -Remove: support for gcc2. It hasn't been able to compile OTTD for months. All attempts to do another workaround failed.
16 years ago
yexo
de04ae2cda
(svn r16425) -Change [FS#2869]: Stop an AI when it takes too long to initialize or load
16 years ago
rubidium
99a215c8ec
(svn r16222) -Fix: unneeded pointer dereferencing
16 years ago
yexo
a127ed11e1
(svn r16113) -Feature [NoAI]: Add UseAsRandomAI as function in info.nut. When an AI returns false, it'll never be chosen as random AI.
16 years ago
yexo
f96429a494
(svn r16093) -Feature [FS#2808]: Add GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window.
16 years ago
yexo
cd73406b9c
(svn r15743) -Codechange: move the definitions of some fake squirrel types to their own file.
16 years ago
yexo
d02548b204
(svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
16 years ago
yexo
28c49b694a
(svn r15668) -Fix: a few typos.
16 years ago
yexo
a53062dd80
(svn r15629) -Fix (r15027): Validate strings that are passed from squirrel to the API, not strings passed from the API to squirrel.
16 years ago
yexo
301dcb6dc4
(svn r15558) -Cleanup: Remove some unnecessary friend declarations.
16 years ago
glx
85ea21a5d0
(svn r15535) -Fix (r15460, pre noai merge): use '.' as 'any' for squirrel calls typechecking as stated in squirrel docs
16 years ago
yexo
310446d448
(svn r15531) -Fix (r15467): AIs were stopped at every error, whether they caught it or not.
16 years ago
yexo
3e53890348
(svn r15467) -Fix [NoAI]: AIs with an error in their info.nut are no longer available in-game.
16 years ago
rubidium
2a66e934b8
(svn r15406) -Fix: make Valuate actually cost a few opcodes to not make it a single opcode method of doing lots of the same thing. This should resolve most of the hiccups caused by AIs.
16 years ago
rubidium
2eebb52592
(svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular references (by enabling the GC).
16 years ago
glx
47a61fb10c
(svn r15316) -Fix [NoAI]: ignore unprintable chars when returning a string to squirrel
16 years ago
Yexo
da066fab5b
(svn r15222) -Fix: The squirrel stack was corrupted if an AI called any C++ function during Save().
16 years ago
Yexo
b2bfa21155
(svn r15204) -Fix (r15167): The check was a bit too restrictive, the top of the stack needs to be resetted if another function is called while the AI is running but not suspended.
16 years ago
Yexo
2abfbafaf2
(svn r15167) -Fix [FS#2558]: The top of the stack was resetted after executing the first Ai tick causing random AI crashes.
16 years ago
smatz
c30ce23866
(svn r15061) -Fix (r15027): three files were missing the Id header
16 years ago
truebrain
5573d9a459
(svn r15045) -Add [NoAI API CHANGE]: in info.nut you can now have (optional) 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
16 years ago
truebrain
c2406cd42d
(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to 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
16 years ago