rubidium
a1e9becc8f
(svn r19776) -Change: don't scan for tars in the script scanner; it has already happened.
2010-05-10 09:35:25 +00:00
smatz
52050197ea
(svn r19509) -Codechange: remove superfluous semicolons after function definitions
2010-03-23 22:37:18 +00:00
rubidium
0bf54aaedb
(svn r18862) -Fix [FS#3544]: don't pass AI strings through iconv
2010-01-18 15:41:38 +00:00
rubidium
9467b7c6d6
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
2010-01-15 16:41:15 +00:00
rubidium
3de085a143
(svn r18683) -Fix: it's not an other
2010-01-01 18:45:40 +00:00
smatz
a5e8465a4a
(svn r18555) -Fix (r15027): fake definitions of squirrel types were wrong for eg. 64bit systems, don't use them
2009-12-19 23:46:15 +00:00
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'.
2009-12-06 20:22:21 +00:00
rubidium
8f4ae09c03
(svn r18038) -Fix [FS#3290] (r17402): AIs failed to load their data from savegames by crashing them when they tried
2009-11-11 18:13:17 +00:00
rubidium
318c2fad7c
(svn r17963) -Codechange: some documentation style
2009-11-03 17:30:08 +00:00
rubidium
982b8ee5fc
(svn r17693) -Cleanup: remove some unneeded includes
2009-10-04 17:16:41 +00:00
rubidium
310465da07
(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos
2009-09-19 09:51:14 +00:00
rubidium
83be7b09ea
(svn r17545) -Fix [FS#3202]: [NoAI] AIs had 'infinite' time when running code from the global scope
2009-09-15 16:18:10 +00:00
yexo
f922a7ca8e
(svn r17498) -Add [NoAI]: Enable the squirrel std math library
2009-09-10 20:19:12 +00:00
Yexo
d49addb48e
(svn r17402) -Fix (r16425): During every save a few slots on the squirrel stack were leaked
2009-09-03 11:32:16 +00:00
rubidium
99d46e0ad7
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
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
2009-08-19 16:14:15 +00:00
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
2009-08-19 14:54:52 +00:00
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
2009-07-31 23:13:53 +00:00
yexo
f35d7f210f
(svn r17005) -Add [NoAI]: AIAbstractList::SORT_ASCENDING / SORT_DESCENDING
2009-07-31 19:50:01 +00:00
yexo
6e467e8ae0
(svn r16834) -Fix [FS#3034]: call the AI Save() function only once so AIs can't crash OpenTTD
2009-07-15 19:47:06 +00:00
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
2009-06-01 22:00:47 +00:00
rubidium
f163217dbb
(svn r16493) -Fix: missing/wrong @file doxygen 'headers'
2009-06-01 12:56:18 +00:00
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.
2009-06-01 11:49:46 +00:00
yexo
de04ae2cda
(svn r16425) -Change [FS#2869]: Stop an AI when it takes too long to initialize or load
2009-05-25 21:55:47 +00:00
rubidium
99a215c8ec
(svn r16222) -Fix: unneeded pointer dereferencing
2009-05-03 21:56:46 +00:00
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.
2009-04-21 19:13:32 +00:00
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.
2009-04-19 15:14:23 +00:00
yexo
cd73406b9c
(svn r15743) -Codechange: move the definitions of some fake squirrel types to their own file.
2009-03-16 17:30:49 +00:00
yexo
d02548b204
(svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
2009-03-15 22:41:57 +00:00
yexo
28c49b694a
(svn r15668) -Fix: a few typos.
2009-03-11 07:32:31 +00:00
yexo
a53062dd80
(svn r15629) -Fix (r15027): Validate strings that are passed from squirrel to the API, not strings passed from the API to squirrel.
2009-03-06 14:21:26 +00:00
yexo
301dcb6dc4
(svn r15558) -Cleanup: Remove some unnecessary friend declarations.
2009-02-23 19:35:19 +00:00
glx
85ea21a5d0
(svn r15535) -Fix (r15460, pre noai merge): use '.' as 'any' for squirrel calls typechecking as stated in squirrel docs
2009-02-21 00:43:18 +00:00
yexo
310446d448
(svn r15531) -Fix (r15467): AIs were stopped at every error, whether they caught it or not.
2009-02-20 13:39:18 +00:00
yexo
3e53890348
(svn r15467) -Fix [NoAI]: AIs with an error in their info.nut are no longer available in-game.
2009-02-13 17:17:34 +00:00
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.
2009-02-08 01:51:48 +00:00
rubidium
2eebb52592
(svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular references (by enabling the GC).
2009-02-03 22:42:42 +00:00
glx
47a61fb10c
(svn r15316) -Fix [NoAI]: ignore unprintable chars when returning a string to squirrel
2009-02-02 13:46:26 +00:00
Yexo
da066fab5b
(svn r15222) -Fix: The squirrel stack was corrupted if an AI called any C++ function during Save().
2009-01-23 10:30:50 +00:00
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.
2009-01-22 02:01:07 +00:00
Yexo
2abfbafaf2
(svn r15167) -Fix [FS#2558]: The top of the stack was resetted after executing the first Ai tick causing random AI crashes.
2009-01-20 14:11:58 +00:00
smatz
c30ce23866
(svn r15061) -Fix (r15027): three files were missing the Id header
2009-01-13 15:49:32 +00:00
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
2009-01-13 01:46:46 +00:00
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
2009-01-12 17:11:45 +00:00