Commit Graph

32 Commits

Author SHA1 Message Date
yexo
9d92eefbc9 (svn r23801) -Fix: reading the utf-8 BOM from AI/GS files on big-endian machines failed 2012-01-15 11:31:34 +00:00
truebrain
ff7797c421 (svn r23612) -Add: allow importing libraries in the same way as AI does, only with GS prefix (and in game/library) 2011-12-19 20:56:59 +00:00
truebrain
14325e2391 (svn r23605) -Add: GAME_DIR and CONTENT_TYPE_GAME, and read gamescript from that directory 2011-12-19 20:54:37 +00:00
yexo
5677505b3f (svn r23439) -Fix: Use the DEBUG macro to output the reason for a compile failure in info.nut instead of printing it directly to stderr 2011-12-06 15:09:02 +00:00
truebrain
906045c457 (svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo and AIScannerLibrary 2011-11-29 23:21:52 +00:00
truebrain
1ced96bb3c (svn r23352) -Add: support dynamically adding an API prefix when returning a C++ class to Squirrel 2011-11-29 22:24:30 +00:00
truebrain
7700e274de (svn r23293) -Codechange: make LoadScript/LoadFile non-static 2011-11-23 13:37:48 +00:00
truebrain
8d14fd4b29 (svn r23263) -Documentation: stop naming AI in comments in script/ files; it makes no sense 2011-11-19 15:50:10 +00:00
rubidium
9bf2cb0e86 (svn r23216) -Codechange: introduce the concept of having different tar lists 2011-11-14 21:28:43 +00:00
rubidium
2de0383538 (svn r23118) -Feature: [NoAI] Allow AIs to query the amount of remaining operations for the current tick 2011-11-04 23:20:14 +00:00
yexo
8a5c74e1d0 (svn r23117) -Fix: [NoAI] calling require() to include a file gave you 100.000 opcodes for free 2011-11-04 23:14:23 +00:00
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". 2011-02-20 20:28:49 +00:00
rubidium
360d6daf34 (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +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
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
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
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
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
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
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
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
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
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