Commit Graph

36 Commits

Author SHA1 Message Date
yexo
1c68366128 (svn r17609) -Fix: the dummy AI had no API version set, causing the 'API compatibility script not found' error to be printed when loading it 2009-09-22 11:10:04 +00:00
rubidium
99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium
c096e3d54c (svn r17228) -Codechange: some coding style fixes 2009-08-20 10:23:39 +00:00
yexo
418c88f94d (svn r17214) -Add [NoAI]: GetAPIVersion() as optional function in info.nut. Return "0.7" to get an api compatible (as much as possible) with the 0.7 api or "0.8" to get the latest api.
-Change [NoAI]: move all deprecated functions to a separate squirrel script that is only loaded if an AI requests an old API version.
2009-08-18 18:51:42 +00:00
alberth
8f727713d6 (svn r16738) -Codechange: Remove casting away constness by changing the text before storing. 2009-07-04 13:55:28 +00:00
rubidium
c496a3e014 (svn r16421) -Codechange: do not unnecessarily remove constness or unnecessarily add it. 2009-05-24 20:29:04 +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
b4fb14693a (svn r15742) -Fix (r15736): AIs with an invalid info.nut weren't ignored anymore. 2009-03-16 14:40:32 +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
6f163ad8c9 (svn r15470) -Fix [NoAI]: Check the types of the parameters passed to AddSetting, AddLabels and RegisterAI. 2009-02-13 18:43:56 +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
yexo
8370da7a33 (svn r15466) -Fix (r15330): The squirrel instance object was freed twice if an info.nut failed to compile. 2009-02-13 16:25:53 +00:00
smatz
232d21df13 (svn r15465) -Codechange: constify most of AIInfo/AIFileInfo methods, move definition of very simple getters to header file 2009-02-13 02:11:54 +00:00
yexo
312e57df5f (svn r15464) -Codechange [NoAI]: Call all info.nut functions exactly once and only during initialization. 2009-02-13 01:44:56 +00:00
yexo
8eecd774ff (svn r15463) -Change [API CHANGE]: Replace AIInfo::CanLoadFromVersion(version) with AIInfo::MinVersionToLoad() which should return a single integer, the minimum version the AI is able to load data from. 2009-02-13 01:24:30 +00:00
yexo
ec9d949434 (svn r15441) -Cleanup: Use a return value instead of passing a pointer to where the result should be stored. 2009-02-11 00:48:15 +00:00
rubidium
5b74baa9be (svn r15368) -Fix: some typos in comments 2009-02-06 10:31:05 +00:00
Yexo
72643f2090 (svn r15366) -Add [NoAI]: Add AddLabels() where you can define labels for the values of the settings in info.nut 2009-02-06 00:25:37 +00:00
smatz
9021c20b5e (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
Yexo
593f380462 (svn r15175) -Feature: Add the option to select the AIs to start in a new game and configure them via the gui. 2009-01-20 16:49:10 +00:00
truebrain
8cbf156252 (svn r15120) -Fix: more mem-leak fixes 2009-01-17 14:54:24 +00:00
truebrain
d790884ee6 (svn r15118) -Fix: fix a minor mem-leak 2009-01-17 14:45:44 +00:00
truebrain
e436f0218f (svn r15095) -Add [NoAI]: allow AI Libraries to be in .tar files (subdir required, as with AIs
-Add [NoAI]: allow multiple versions of the same AI co-exist
-Change [NoAI]: updated the whole method of AI (Library) finding and loading; it is now much more clear and transparent
-Change [NoAI]: the name of the AI is now the name used by CreateInstance()
-Change [NoAI]: make the AI finder a bit more clever, mostly related to version finding
2009-01-15 18:15:12 +00:00
truebrain
ae5c8a8b35 (svn r15091) -Add [NoAI] [API CHANGE]: introduce GetCategory() as a requirement for every library.nut, to indicate in which category it belongs. Currently the directory indicates the category, but this doesn't allow planned future additions 2009-01-15 15:56:10 +00:00
truebrain
e84138af22 (svn r15090) -Add [NoAI] [API CHANGE]: info.nut/library.nut now requires a function GetShortName(), which should return a 4 (four) character string, unique throughout the world. This id is simular to a GRFid. 2009-01-15 14:37:44 +00:00
truebrain
ec4bdfe611 (svn r15068) -Add [NoAI]: introducing 'step_size' for AIConfig, for future AIGUI (Yexo) 2009-01-13 18:26:58 +00:00
truebrain
39cec4c65f (svn r15063) -Fix [NoAI]: starting companies now listen correctly to 'start_date' set to the AI slot (Yexo)
-Add [NoAI]: add a 'deviation' value for all settings, giving a slight deviation of the value of a setting (Yexo)
2009-01-13 16:53:03 +00:00
truebrain
ee17e1e7b8 (svn r15059) -Add [NoAI]: use 'start_date' from the AI configure to see when an AI should start next 2009-01-13 14:00:26 +00:00
truebrain
bf1acb6772 (svn r15057) -Fix [NoAI]: clamp the values of a setting between the ones allowed by info.nut 2009-01-13 13:09:49 +00:00
glx
55db451a32 (svn r15049) -Fix (r15045): MSVC performance warning 2009-01-13 02:03:03 +00:00
truebrain
81157e3d91 (svn r15048) -Fix (r15047): the one time you don't compile a patch of someone, it contains a warning .. ;) 2009-01-13 01:52:32 +00:00
truebrain
08591d8643 (svn r15047) -Fix [NoAI]: AICONFIG_BOOLEAN (in AddSetting) doesn't require (or even allow) a min/max setting .. it is always 0/1 (Yexo) 2009-01-13 01:51:39 +00:00
truebrain
75b8afc136 (svn r15046) -Fix (r15045): in case CanLoadFromRevision does not exist, only allow savedata from the same version as we are now 2009-01-13 01:50:51 +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
c8f9cbca53 (svn r15042) -Fix (r15027): don't leak memory in AIInfo (Yexo) 2009-01-12 21:40:00 +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