summaryrefslogtreecommitdiff
path: root/src/ai
AgeCommit message (Collapse)Author
2009-01-19(svn r15149) -Codechange: GetMaskOfTownActions() is used by a Cmd handler, ↵peter1138
therefore it does not belong in _gui.
2009-01-18(svn r15139) -Fix [NoAI]: a wrong tile got returned for hangar tiles when ↵rubidium
the station sign isn't over st->airport_tile.
2009-01-17(svn r15133) -Fix: Crash if no NoAIs are present.peter1138
2009-01-17(svn r15126) -Feature: downloading content from a central server ↵rubidium
(content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates.
2009-01-17(svn r15124) -Fix: last memory leak related to NoAItruebrain
2009-01-17(svn r15123) -Fix [NoAI]: 'const char *' implies that the return value ↵truebrain
should not be free'd, which is should .. so make them 'char *'
2009-01-17(svn r15122) -Codechange: add a security assert, to make sure something ↵truebrain
never happens
2009-01-17(svn r15121) -Fix: more mem-leak fixes (this should make SmatZ so happy ;) :p)truebrain
2009-01-17(svn r15120) -Fix: more mem-leak fixestruebrain
2009-01-17(svn r15118) -Fix: fix a minor mem-leaktruebrain
2009-01-16(svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo)truebrain
2009-01-16(svn r15107) -Fix [NoAI]: don't use so much explicit string copies if it is ↵truebrain
not required
2009-01-16(svn r15106) -Fix [NoAI]: printf-ing of garbage.rubidium
2009-01-16(svn r15102) -Fix (r15101): somehow makedepend fucked up (patch by Yexo)truebrain
2009-01-16(svn r15101) -Change [API CHANGE]: more consistant naming for consts:truebrain
INVALID_TOWN_RATING -> TOWN_RATING_INVALID INVALID_TRANSPORT -> TRANSPORT_INVALID INVALID_ORDER -> ORDER_INVALID INVALID_GROUP -> GROUP_INVALID GROUP_ALL/DEFAULT -> ALL/DEFAULT_GROUP VEHICLE_RAIL/ROAD/.. -> VT_RAIL/ROAD/.. MY_COMPANY -> COMPANY_SELF FIRST/LAST/INVALID_COMPANY -> COMPANY_FIRST/LAST/INVALID
2009-01-15(svn r15100) -Add [NoAI]: introduce TILE_INVALID as consttruebrain
2009-01-15(svn r15099) -Fix (r15078): GetTileIndex(0, -1) is perfectly finetruebrain
2009-01-15(svn r15096) -Fix [NoAI]: free memory when no longer neededtruebrain
-Fix [NoAI]: when there are multiple versions of one AI, never randonly pick an older one, but always the latest
2009-01-15(svn r15095) -Add [NoAI]: allow AI Libraries to be in .tar files (subdir ↵truebrain
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(svn r15093) -Fix [NoAI]: check if a tile is valid before using IsTileType ↵truebrain
(bug found by Zuu, patch by Yexo)
2009-01-15(svn r15091) -Add [NoAI] [API CHANGE]: introduce GetCategory() as a ↵truebrain
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(svn r15090) -Add [NoAI] [API CHANGE]: info.nut/library.nut now requires a ↵truebrain
function GetShortName(), which should return a 4 (four) character string, unique throughout the world. This id is simular to a GRFid.
2009-01-14(svn r15086) -Fix: start AIs after 6 months on hard, 12 months on medium, ↵truebrain
and 24 months on easy. The current values were a bit .. too long waiting period ;)
2009-01-14(svn r15084) -Fix [NoAI] (r15027): by removing the threads for NoAIs, it is ↵truebrain
no longer possible to use DoCommand (even indirect) in AIAbstractList::Valuator().
2009-01-14(svn r15082) -Codechange: make the AI library path also a searchdir instead ↵rubidium
of manually manufacturing it into a searchdir.
2009-01-13(svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo)truebrain
2009-01-13(svn r15077) -Codechange: enumify DAYS_IN_YEAR and DAYS_IN_LEAP_YEARsmatz
-Change: when computing daily running cost, divide by 365 (instead of 364). Since r12134, the rounding errors don't need this correction anymore
2009-01-13(svn r15076) -Fix: a start_date of 0 would never start an AI .. so don't ↵truebrain
allow it (Yexo)
2009-01-13(svn r15074) -Fix: make Rubidium happytruebrain
2009-01-13(svn r15073) -Fix (r15067) [FS#2532]: Default copy constructors don't ↵peter1138
necessarily do what you want. Instead of creating one, we now pass a pointer around as that avoids additional allocations.
2009-01-13(svn r15068) -Add [NoAI]: introducing 'step_size' for AIConfig, for future ↵truebrain
AIGUI (Yexo)
2009-01-13(svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using ↵peter1138
SmallVector instead of using std::set. SmallVector does everything needed anyway.
2009-01-13(svn r15066) -Change: start_date is now in days, instead of in months (Yexo)truebrain
2009-01-13(svn r15063) -Fix [NoAI]: starting companies now listen correctly to ↵truebrain
'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(svn r15062) -Fix: further forgotten svn properties and headerssmatz
2009-01-13(svn r15061) -Fix (r15027): three files were missing the Id headersmatz
2009-01-13(svn r15059) -Add [NoAI]: use 'start_date' from the AI configure to see when ↵truebrain
an AI should start next
2009-01-13(svn r15057) -Fix [NoAI]: clamp the values of a setting between the ones ↵truebrain
allowed by info.nut
2009-01-13(svn r15056) -Add [NoAI]: when starting a game, give a random value to the ↵truebrain
setting marked with AICONFIG_RANDOM (Yexo)
2009-01-13(svn r15055) -Add [NoAI]: add the AICONFIG_RANDOM and AICONFIG_BOOLEAN ↵truebrain
consts (Yexo)
2009-01-13(svn r15049) -Fix (r15045): MSVC performance warningglx
2009-01-13(svn r15048) -Fix (r15047): the one time you don't compile a patch of ↵truebrain
someone, it contains a warning .. ;)
2009-01-13(svn r15047) -Fix [NoAI]: AICONFIG_BOOLEAN (in AddSetting) doesn't require ↵truebrain
(or even allow) a min/max setting .. it is always 0/1 (Yexo)
2009-01-13(svn r15046) -Fix (r15045): in case CanLoadFromRevision does not exist, only ↵truebrain
allow savedata from the same version as we are now
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-13(svn r15044) -Add [NoAI]: AIConfig::GetVersion(), to get the version of the ↵truebrain
current AI
2009-01-12(svn r15042) -Fix (r15027): don't leak memory in AIInfo (Yexo)truebrain
2009-01-12(svn r15036) -Fix: use the same value for 'random' through-out the code for ↵truebrain
PlantTree
2009-01-12(svn r15033) -Fix (r15027): silent a warning when compiling without networktruebrain
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