Commit Graph

337 Commits (11e2ca71e67984455b3b219cdf303a2a0e8be4c0)

Author SHA1 Message Date
smatz 4eff39a54c (svn r15278) -Fix [FS#2332]: test noise limit of nearest town instead of st->town 16 years ago
Yexo c8a4bf862b (svn r15277) -Fix (r15027): Building bridges in AITestMode always returned false. 16 years ago
glx 53fe1afa1f (svn r15270) -Change [API CHANGE]: remove AIEventTest 16 years ago
glx 470da22ac3 (svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication. 16 years ago
frosch 512cc98b35 (svn r15262) -Fix: AIEvents were not freed, when they were not queued for any AI. 16 years ago
glx 9b73303b4d (svn r15261) -Add: added Engine::GetRunningCost() to remove some code duplication. Also stops AIs decrementing vehicle counter of first company 16 years ago
frosch 7120b2455a (svn r15255) -Fix (r15027): AIVehicle::GetLength() returned only the length of the first part of articulated road vehicles. 16 years ago
frosch 8be4bc3d1e (svn r15252) -Fix (r15027): AIMarine::AreWaterTilesConnected() reported aqueducts being connected with all surrounding tiles. Also add some type safety. 16 years ago
frosch 2eb5af3bb8 (svn r15244) -Fix (r15027): The station tile of an oilrig-like industry is not neccessarily the first industry tile. 16 years ago
frosch ac7883fe93 (svn r15241) -Fix (r15027): NoAI API was not aware of certain newindustries 'features'. 16 years ago
glx 205289cf9d (svn r15228) -Fix [FS#2571]: possible crash when an AI/Library doesn't have a required function 16 years ago
glx 6301d1cc0a (svn r15226) -Fix (r15214): broken AI content download 16 years ago
rubidium 80e59f375f (svn r15215) -Fix: various MSVC x64 compiler warnings 16 years ago
glx 7809b7ef0e (svn r15214) -Fix [NoAI]: ignore case for ai/library main script path on windows 16 years ago
glx e30d391345 (svn r15191) -Fix (r15188): -1 is not a bool (MSVC warning) 16 years ago
Yexo e3c69b7c4e (svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map. 16 years ago
Yexo 7b009c3586 (svn r15188) -Feature: You can now change the number of AIs from the AI config window. 16 years ago
Yexo dcdb771c40 (svn r15187) -Fix: assert when an AI called AIRoad::GetNeighbourRoadCount on a tile at the north edge (bug found by SmatZ). 16 years ago
Yexo 9fd38d1022 (svn r15186) -Fix: Select the currently selected AI instead of the second on in the list.
-Feature: Double clicking on a slot in the AI config window results in opening the list of AIs.
16 years ago
Yexo 78c857422b (svn r15185) -Fix (r15175): It was impossible to select AIs that had a different instance name then their name. 16 years ago
glx 11fe4bcc56 (svn r15184) -Cleanup: remove extra spaces 16 years ago
Yexo aaa8be9a3f (svn r15182) -Fix: After updating an AI select the latest version for the next game. 16 years ago
Yexo 593f380462 (svn r15175) -Feature: Add the option to select the AIs to start in a new game and configure them via the gui. 16 years ago
Yexo 1f5b8c97df (svn r15171) -Fix (r15027): Buffer underflow in case there are no settings to save for an AI. 16 years ago
peter1138 b85389dca5 (svn r15149) -Codechange: GetMaskOfTownActions() is used by a Cmd handler, therefore it does not belong in _gui. 16 years ago
rubidium a0e24cc6c9 (svn r15139) -Fix [NoAI]: a wrong tile got returned for hangar tiles when the station sign isn't over st->airport_tile. 16 years ago
peter1138 6644fa86ee (svn r15133) -Fix: Crash if no NoAIs are present. 16 years ago
rubidium 72b0341ed0 (svn r15126) -Feature: downloading content from a central server (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. 16 years ago
truebrain fac5cee3d3 (svn r15124) -Fix: last memory leak related to NoAI 16 years ago
truebrain eb0d82ada0 (svn r15123) -Fix [NoAI]: 'const char *' implies that the return value should not be free'd, which is should .. so make them 'char *' 16 years ago
truebrain ef75a7af90 (svn r15122) -Codechange: add a security assert, to make sure something never happens 16 years ago
truebrain 002427eab9 (svn r15121) -Fix: more mem-leak fixes (this should make SmatZ so happy ;) :p) 16 years ago
truebrain 8cbf156252 (svn r15120) -Fix: more mem-leak fixes 16 years ago
truebrain d790884ee6 (svn r15118) -Fix: fix a minor mem-leak 16 years ago
truebrain dec721ca6f (svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo) 16 years ago
truebrain f5e0590c09 (svn r15107) -Fix [NoAI]: don't use so much explicit string copies if it is not required 16 years ago
rubidium 65ae906940 (svn r15106) -Fix [NoAI]: printf-ing of garbage. 16 years ago
truebrain cafff6eb60 (svn r15102) -Fix (r15101): somehow makedepend fucked up (patch by Yexo) 16 years ago
truebrain bd520ca562 (svn r15101) -Change [API CHANGE]: more consistant naming for consts:
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
16 years ago
truebrain b9ebab0e5d (svn r15100) -Add [NoAI]: introduce TILE_INVALID as const 16 years ago
truebrain 1cd56af6da (svn r15099) -Fix (r15078): GetTileIndex(0, -1) is perfectly fine 16 years ago
truebrain 91c7cba05b (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
16 years ago
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
16 years ago
truebrain fe7997e95f (svn r15093) -Fix [NoAI]: check if a tile is valid before using IsTileType (bug found by Zuu, patch by Yexo) 16 years ago
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 16 years ago
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. 16 years ago
truebrain 1e1cdd01b4 (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 ;) 16 years ago
truebrain 61093eb211 (svn r15084) -Fix [NoAI] (r15027): by removing the threads for NoAIs, it is no longer possible to use DoCommand (even indirect) in AIAbstractList::Valuator(). 16 years ago
rubidium eb19b0abf9 (svn r15082) -Codechange: make the AI library path also a searchdir instead of manually manufacturing it into a searchdir. 16 years ago
truebrain 9724a986c8 (svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo) 16 years ago
smatz ca45774160 (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
16 years ago
truebrain 5b4da28594 (svn r15076) -Fix: a start_date of 0 would never start an AI .. so don't allow it (Yexo) 16 years ago
truebrain d5a599f5e5 (svn r15074) -Fix: make Rubidium happy 16 years ago
peter1138 4585d9785d (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. 16 years ago
truebrain ec4bdfe611 (svn r15068) -Add [NoAI]: introducing 'step_size' for AIConfig, for future AIGUI (Yexo) 16 years ago
peter1138 afb94c252d (svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using SmallVector instead of using std::set. SmallVector does everything needed anyway. 16 years ago
truebrain f293bff01b (svn r15066) -Change: start_date is now in days, instead of in months (Yexo) 16 years ago
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)
16 years ago
smatz 638411c087 (svn r15062) -Fix: further forgotten svn properties and headers 16 years ago
smatz c30ce23866 (svn r15061) -Fix (r15027): three files were missing the Id header 16 years ago
truebrain ee17e1e7b8 (svn r15059) -Add [NoAI]: use 'start_date' from the AI configure to see when an AI should start next 16 years ago
truebrain bf1acb6772 (svn r15057) -Fix [NoAI]: clamp the values of a setting between the ones allowed by info.nut 16 years ago
truebrain f29941a043 (svn r15056) -Add [NoAI]: when starting a game, give a random value to the setting marked with AICONFIG_RANDOM (Yexo) 16 years ago
truebrain 53d28d24b5 (svn r15055) -Add [NoAI]: add the AICONFIG_RANDOM and AICONFIG_BOOLEAN consts (Yexo) 16 years ago
glx 55db451a32 (svn r15049) -Fix (r15045): MSVC performance warning 16 years ago
truebrain 81157e3d91 (svn r15048) -Fix (r15047): the one time you don't compile a patch of someone, it contains a warning .. ;) 16 years ago
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) 16 years ago
truebrain 75b8afc136 (svn r15046) -Fix (r15045): in case CanLoadFromRevision does not exist, only allow savedata from the same version as we are now 16 years ago
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
16 years ago
truebrain 27c0a4c801 (svn r15044) -Add [NoAI]: AIConfig::GetVersion(), to get the version of the current AI 16 years ago
truebrain c8f9cbca53 (svn r15042) -Fix (r15027): don't leak memory in AIInfo (Yexo) 16 years ago
truebrain 03725c057f (svn r15036) -Fix: use the same value for 'random' through-out the code for PlantTree 16 years ago
truebrain dcae208dfe (svn r15033) -Fix (r15027): silent a warning when compiling without network 16 years ago
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
16 years ago
frosch 0c23420998 (svn r14991) -Fix: Command-flags is an uint32. 16 years ago
rubidium 28ea38ae55 (svn r14949) -Cleanup: pointer coding style 16 years ago
rubidium c0e7434f38 (svn r14944) -Cleanup: add spaces around some operators 16 years ago
rubidium 7a5798695d (svn r14919) -Feature: distant joining of stations (Frostregen and PhilSophus) 16 years ago
glx c61674221c (svn r14840) -Cleanup: remove duplicate includes 16 years ago
smatz 91233ea596 (svn r14828) -Codechange: move most of save/load-specific code to separate files 16 years ago
smatz cd88a7590a (svn r14812) -Codechange: use INVALID_TILE instead of 0 to mark company without HQ 16 years ago
rubidium e83cca7d13 (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 16 years ago
smatz c88a6199a7 (svn r14743) -Codechange: use INVALID_TILE to indicate station doesn't have queried facility (or station/roadstop is invalid) instead of 0 (Yexo) 16 years ago
smatz 8a06e67067 (svn r14734) -Codechange: type of bankrupt_asked is CompanyMask, not byte 16 years ago
frosch ee9fc4e49b (svn r14707) -Cleanup: Replace an 'int' by 'Trackdir'. 16 years ago
smatz 82ef029f41 (svn r14693) -Codechange: replace one check in old AI (probably typo, but the effect was the same) (Yexo) 16 years ago
michi_cc 9c6541c80b (svn r14504) -Cleanup: Use the right variable type for tile offsets. 16 years ago
rubidium b5e467978b (svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus) 16 years ago
smatz b2852f88fb (svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch by planetmaker) 16 years ago
rubidium e589c7e580 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
rubidium f56e630e5c (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 16 years ago
frosch e10127f032 (svn r14335) -Codechange: Remove some magic numbers. 16 years ago
belugas de43d17a82 (svn r14169) -Codechange: rename location_of_house for location_of_HQ, which is more exact and less subject to interpretation 16 years ago
belugas 9506434539 (svn r14105) -Fix: Some typos that are more grammatical errors, as it seems.
Provided by ln
I've added a little fix on currency.cpp too, why not :)
16 years ago
frosch c8e699cc35 (svn r14076) -Codechange: Merge the four start/stop commands into a single CMD_START_STOP_VEHICLE. 16 years ago
rubidium 688267ad52 (svn r14062) -Fix [FS#2226]: division by 0 in newai. 16 years ago
rubidium 1ef65c329e (svn r13999) -Fix [FS#2190]: crash when the AI tries to find the depot of an airport that doesn't have a depot. 16 years ago
rubidium 4396b7c68c (svn r13809) -Fix: memory leak each time a "new ai" got (re)started. 16 years ago
rubidium cde65455ac (svn r13731) -Codechange: make a pool of the array of players. 16 years ago
rubidium 6898a76c5f (svn r13719) -Codechange: rename IsValidPlayer to IsValidPlayerID in line with all other structs/classes that are in a pool. 16 years ago
rubidium e7a501100a (svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games. 17 years ago
rubidium d289464d69 (svn r13255) -Codechange: move _opt to _settings. 17 years ago
rubidium dc77647ea4 (svn r13251) -Codechange: rename _patches to _settings as that is more logic.
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
17 years ago
frosch 8f104a2e97 (svn r13233) -Fix: Replace some (incorrect) evaluations of TileOwner by RoadOwner.
-Fix: Before evaluating RoadOwner, check if the roadtype is present.
-Fix: Some places assumed that MP_ROAD means normal street.
17 years ago
smatz 8841f3be40 (svn r13222) -Change: allow old AI building helistations and helidepots for oil rig routes 17 years ago
smatz 9e2490abb2 (svn r13221) -Fix (r8747): old AI failed to build oil rig routes 17 years ago
smatz baeb6e5395 (svn r13217) -Fix: old AI was building small airports in years when they were not available in original game, causing small planes and helis everywhere 17 years ago
smatz 2be223fc03 (svn r13090) -Codechange: add functions for direct conversion from DiagDirection to Track and Trackbits 17 years ago
rubidium 1ce0b03bf0 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 17 years ago
peter1138 45034bc522 (svn r12924) -Feature: Introducing the so called 'engine pool' which primarily removes the fixed engine type limits and also happens to allow (with the patch option 'dynamic_engines') multiple NewGRF vehicle sets to coexist. 17 years ago
rubidium f4b07a78c4 (svn r12762) -Fix: tabs after the first non-tab character are generally not okay (or lines starting with a space and then tabs). 17 years ago
rubidium ca1f8fbe2e (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 17 years ago
rubidium 6d063c3ad6 (svn r12754) -Codechange: split depot.h into depot_map.h, depot_func.h and depot_base.h and remove quite a lot of unneeded (before this) includes of depot.h. 17 years ago
smatz ec588da9e8 (svn r12753) -Codechange: do not use IsDepotTypeTile() where simpler function can be used 17 years ago
smatz 966e476df8 (svn r12745) -Codechange: a bit of naming conventions, introduce Is*DepotTile() 17 years ago
rubidium 973997e896 (svn r12617) -Codechange: add type safety to the Order's load and unload types. 17 years ago
rubidium cf250390c5 (svn r12615) -Codechange: rename some enums related to depot orders to make it more clear that they are no loading/unloading flags. Also add more type strictness. 17 years ago
rubidium 53d101cc99 (svn r12593) -Codechange: hide Order's flags in most of the code. 17 years ago
rubidium 935b562074 (svn r12588) -Codechange: do not access the destination of an order directly. 17 years ago
rubidium a3224512cc (svn r12587) -Codechange: unduplicate some code in the Unpack*Order functions and move the 'normal' case Pack/Unpack to Order. 17 years ago
rubidium 3b0e3d8d30 (svn r12584) -Codechange: do not access the order type directly. 17 years ago
frosch ae01e263ad (svn r12540) -Codechange: Enumify some values in original pathfinder and remove an unused variable. 17 years ago
frosch 15b2f07587 (svn r12533) -Cleanup: Remove some wizardry from default ai by using existings enums and helper functions. 17 years ago
rubidium df1d9bd880 (svn r12490) -Codechange: rename engine.h to engine_func.h and remove unneeded inclusions of engine.h and/or replace them with engine_type.h. 17 years ago
rubidium c51b81c247 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 17 years ago
rubidium b84b16cfcd (svn r12488) -Codechange: split order.h into order_base.h and order_func.h. 17 years ago
rubidium 49a040e6ad (svn r12476) -Codechange: split type engine related types from engine.h (and openttd.h) to engine_type.h. 17 years ago
peter1138 a729283a3c (svn r12451) -Codechange: use of FOR_ALL_ENGINES/ENGINEIDS_OF_TYPE instead of for-loops 17 years ago
smatz 988b5a9111 (svn r12200) -Fix: force AI to build rail or road instead of bridges if possible, so it doesn't build bridges everywhere 17 years ago
frosch 7f3d56041b (svn r12199) -Codechange: Remove magic around the results of GetTileTrackStatus(). 17 years ago
smatz 9bdb194b2a (svn r12197) -Fix [FS#1788](r12134): show correct last year profit when the train had negative income
-Codechange: use GetDisplayProfitThisYear() to convert vehicle profit to readable form
17 years ago
frosch 1d120c51b8 (svn r12193) -Codechange: Rename a magic variable, give it a decent type, and remove a 'goto'. 17 years ago
smatz a53594ebd4 (svn r12184) -Fix: take into account possible loan when AI is deciding which bridge to build, so it won't build wooden bridges everytime 17 years ago
glx d7924424ac (svn r12155) -Fix (r12154): some warnings (always compile before commit) 17 years ago
glx a148985087 (svn r12154) -Codechange: removed a magic number 17 years ago
frosch 514df81e27 (svn r12141) -Codechange: Introduce IsNormalRoad[Tile](), IsRoadDepot[Tile]() and HasTileRoadType(); and use them. 17 years ago
smatz fe48d0be21 (svn r12134) -Change: count the number of ticks a vehicle was running this day to calculate running cost
-Fix [FS#1739]: vehicle profit is now counted with 8bit fract, so it is now shown properly in the vehicle details window
17 years ago
peter1138 1268a70466 (svn r12019) -Codechange: Add support for passenger engine designation for AI-use, NewGRF property 0x08 for trains. 17 years ago
frosch d4dc5e0775 (svn r11983) -Codechange: Add some helper functions for slopes and use them. 17 years ago
smatz 773446df5e (svn r11972) -Fix: old AI shouldn't build fast planes with a small airport in orders 17 years ago
smatz 74af65e556 (svn r11968) -Codechange: remove redundant FindLengthOfTunnel(), use GetTunnelBridgeLength() and/or GetOtherTunnelEnd() instead 17 years ago
smatz 881b74e882 (svn r11962) -Cleanup: OPF is no longer used to update signals 17 years ago
smatz 8be486c27e (svn r11960) -Cleanup: simplify some IsTunnel(Tile) / IsBridge(Tile) conditions 17 years ago
peter1138 622f251197 (svn r11959) -Codechange: Use macro to loop for specific engine types instead of using specific indexes each time.
-Codechange: Minor scope changes in said loops.
17 years ago
smatz 51d7692aca (svn r11958) -Fix (r11204): NewAI couldn't build any road vehicles when there were any tram grfs loaded 17 years ago
frosch 8a72af3a13 (svn r11946) -Fix: slope detection of bridge ramps.
YAPF failed for steep slopes.
  Trolly failed for a lot.
17 years ago
smatz 66a0fafc93 (svn r11917) -Fix (r3677): AI was reading wrong tile slope while building road bridge 17 years ago
rubidium c141639bcc (svn r11887) -Fix [FS#1658]: segmentation faults/wrong frees due uninitialized memory in the AI. 17 years ago
smatz 61e40b1aa5 (svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station 17 years ago
rubidium 736640fd87 (svn r11866) -Codechange: swap OFB_* and OF_* so it conceptually in sync with other cases of *B_* vs *_* like VETSB_* and VETS_*. 17 years ago