truebrain
5119132dda
(svn r15100) -Add [NoAI]: introduce TILE_INVALID as const
2009-01-15 21:20:12 +00:00
truebrain
e9437c2b2b
(svn r15099) -Fix (r15078): GetTileIndex(0, -1) is perfectly fine
2009-01-15 20:59:22 +00:00
truebrain
6cfb9a24e0
(svn r15096) -Fix [NoAI]: free memory when no longer needed
...
-Fix [NoAI]: when there are multiple versions of one AI, never randonly pick an older one, but always the latest
2009-01-15 18:24:49 +00:00
truebrain
ef62688522
(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
3e7c2bbacc
(svn r15093) -Fix [NoAI]: check if a tile is valid before using IsTileType (bug found by Zuu, patch by Yexo)
2009-01-15 17:00:47 +00:00
truebrain
103cd2a5ed
(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
d62a85f2ce
(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
ae29148565
(svn r15086) -Fix: start AIs after 6 months on hard, 12 months on medium, and 24 months on easy. The current values were a bit .. too long waiting period ;)
2009-01-14 21:32:06 +00:00
truebrain
3cd6bf0ead
(svn r15084) -Fix [NoAI] (r15027): by removing the threads for NoAIs, it is no longer possible to use DoCommand (even indirect) in AIAbstractList::Valuator().
2009-01-14 18:25:48 +00:00
rubidium
ea5457d831
(svn r15082) -Codechange: make the AI library path also a searchdir instead of manually manufacturing it into a searchdir.
2009-01-14 15:20:06 +00:00
truebrain
6fe54a2d1a
(svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo)
2009-01-13 23:50:12 +00:00
smatz
e00cf92f47
(svn r15077) -Codechange: enumify DAYS_IN_YEAR and DAYS_IN_LEAP_YEAR
...
-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 22:58:03 +00:00
truebrain
cb221d9996
(svn r15076) -Fix: a start_date of 0 would never start an AI .. so don't allow it (Yexo)
2009-01-13 22:36:44 +00:00
truebrain
2d3fc8141d
(svn r15074) -Fix: make Rubidium happy
2009-01-13 21:11:02 +00:00
peter1138
792d1bd883
(svn r15073) -Fix (r15067) [FS#2532]: Default copy constructors don't necessarily do what you want. Instead of creating one, we now pass a pointer around as that avoids additional allocations.
2009-01-13 20:43:53 +00:00
truebrain
2e30efb530
(svn r15068) -Add [NoAI]: introducing 'step_size' for AIConfig, for future AIGUI (Yexo)
2009-01-13 18:26:58 +00:00
peter1138
02bda12599
(svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using SmallVector instead of using std::set. SmallVector does everything needed anyway.
2009-01-13 18:18:53 +00:00
truebrain
e1f64922c5
(svn r15066) -Change: start_date is now in days, instead of in months (Yexo)
2009-01-13 18:04:12 +00:00
truebrain
890074a03e
(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
smatz
0a357c0ac1
(svn r15062) -Fix: further forgotten svn properties and headers
2009-01-13 16:30:24 +00:00
smatz
7cea618fcc
(svn r15061) -Fix (r15027): three files were missing the Id header
2009-01-13 15:49:32 +00:00
truebrain
c3249d599f
(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
07f2afa635
(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
truebrain
1bd2867715
(svn r15056) -Add [NoAI]: when starting a game, give a random value to the setting marked with AICONFIG_RANDOM (Yexo)
2009-01-13 12:52:09 +00:00
truebrain
e6543c2776
(svn r15055) -Add [NoAI]: add the AICONFIG_RANDOM and AICONFIG_BOOLEAN consts (Yexo)
2009-01-13 12:51:46 +00:00
glx
37500a13f6
(svn r15049) -Fix (r15045): MSVC performance warning
2009-01-13 02:03:03 +00:00
truebrain
0adcb5bc2f
(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
c9d20bfd47
(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
e06e372529
(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
bcbbf2c366
(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
e6883c5cc7
(svn r15044) -Add [NoAI]: AIConfig::GetVersion(), to get the version of the current AI
2009-01-13 00:10:58 +00:00
truebrain
695765fde7
(svn r15042) -Fix (r15027): don't leak memory in AIInfo (Yexo)
2009-01-12 21:40:00 +00:00
truebrain
c666cf5a49
(svn r15036) -Fix: use the same value for 'random' through-out the code for PlantTree
2009-01-12 18:15:18 +00:00
truebrain
b7b29d96de
(svn r15033) -Fix (r15027): silent a warning when compiling without network
2009-01-12 17:40:13 +00:00
truebrain
a3dd7506d3
(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
frosch
e8796a148f
(svn r14991) -Fix: Command-flags is an uint32.
2009-01-11 14:11:06 +00:00
rubidium
11da45ee55
(svn r14949) -Cleanup: pointer coding style
2009-01-10 00:31:47 +00:00
rubidium
cda853872a
(svn r14944) -Cleanup: add spaces around some operators
2009-01-09 22:56:28 +00:00
rubidium
c8c61e36bd
(svn r14919) -Feature: distant joining of stations (Frostregen and PhilSophus)
2009-01-08 16:35:45 +00:00
glx
c7959ce2a9
(svn r14840) -Cleanup: remove duplicate includes
2009-01-04 21:02:59 +00:00
smatz
7368c740a6
(svn r14828) -Codechange: move most of save/load-specific code to separate files
2009-01-04 15:32:25 +00:00
smatz
afef22e3e7
(svn r14812) -Codechange: use INVALID_TILE instead of 0 to mark company without HQ
2009-01-03 17:11:52 +00:00
rubidium
87e5a8b52b
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
2008-12-28 14:37:19 +00:00
smatz
419f6e099f
(svn r14743) -Codechange: use INVALID_TILE to indicate station doesn't have queried facility (or station/roadstop is invalid) instead of 0 (Yexo)
2008-12-26 18:01:15 +00:00
smatz
5b26afbd6b
(svn r14734) -Codechange: type of bankrupt_asked is CompanyMask, not byte
2008-12-24 00:25:17 +00:00
frosch
ebf51ffb6b
(svn r14707) -Cleanup: Replace an 'int' by 'Trackdir'.
2008-12-20 20:26:40 +00:00
smatz
a7f82bd11a
(svn r14693) -Codechange: replace one check in old AI (probably typo, but the effect was the same) (Yexo)
2008-12-19 20:53:38 +00:00
michi_cc
02c99bdf66
(svn r14504) -Cleanup: Use the right variable type for tile offsets.
2008-10-20 19:35:48 +00:00
rubidium
272b2ef0e9
(svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus)
2008-10-14 18:38:51 +00:00
smatz
1906aa2bbb
(svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch by planetmaker)
2008-10-07 20:57:41 +00:00