summaryrefslogtreecommitdiff
path: root/src/ai
AgeCommit message (Collapse)Author
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
2009-01-11(svn r14991) -Fix: Command-flags is an uint32.frosch
2009-01-10(svn r14949) -Cleanup: pointer coding stylerubidium
2009-01-09(svn r14944) -Cleanup: add spaces around some operatorsrubidium
2009-01-08(svn r14919) -Feature: distant joining of stations (Frostregen and PhilSophus)rubidium
2009-01-04(svn r14840) -Cleanup: remove duplicate includesglx
2009-01-04(svn r14828) -Codechange: move most of save/load-specific code to separate filessmatz
2009-01-03(svn r14812) -Codechange: use INVALID_TILE instead of 0 to mark company ↵smatz
without HQ
2008-12-28(svn r14754) -Codechange: get rid of _cmd_text and just pass it as ↵rubidium
(optional) parameter.
2008-12-26(svn r14743) -Codechange: use INVALID_TILE to indicate station doesn't have ↵smatz
queried facility (or station/roadstop is invalid) instead of 0 (Yexo)
2008-12-24(svn r14734) -Codechange: type of bankrupt_asked is CompanyMask, not bytesmatz
2008-12-20(svn r14707) -Cleanup: Replace an 'int' by 'Trackdir'.frosch
2008-12-19(svn r14693) -Codechange: replace one check in old AI (probably typo, but ↵smatz
the effect was the same) (Yexo)
2008-10-20(svn r14504) -Cleanup: Use the right variable type for tile offsets.michi_cc
2008-10-14(svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus)rubidium
2008-10-07(svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch ↵smatz
by planetmaker)
2008-09-30(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.rubidium
2008-09-30(svn r14421) -Codechange: rename all player variables/types to company *or* ↵rubidium
client so it is immediatelly clear which one you are working with.
2008-09-15(svn r14335) -Codechange: Remove some magic numbers.frosch