Commit Graph

265 Commits

Author SHA1 Message Date
yexo a0b57c849e (svn r15494) -Change [API CHANGE]: Split AIRoad::BuildRoadStation in BuildRoadStation and BuildDriveThroughRoadStation. 2009-02-14 22:06:11 +00:00
yexo 2b221f5afc (svn r15492) -Change [API CHANGE]: Split AIVehicle::MoveWagon in MoveWagon and MoveWagonChain (frosch). 2009-02-14 21:22:42 +00:00
yexo 336abd66a2 (svn r15491) -Change [API CHANGE]: AIMarine::BuildWaterDepot now accepts a front tile instead of a bool is_vertical (frosch). 2009-02-14 21:19:33 +00:00
yexo 7d88077add (svn r15490) -Change [API CHANGE]: Remove AIBridge::GetYearAvailable. AIBridge::IsValidBridge now only returns true for available bridges. 2009-02-14 21:17:35 +00:00
yexo 16954ba378 (svn r15489) -Change [API CHANGE]: Remove AIAirport::AirportAvailable. AIAirport::IsValidAirportType now only returns true for available AirportTypes. 2009-02-14 21:16:21 +00:00
yexo bce1bcb0f2 (svn r15488) -Change [API CHANGE]: Add support for distant-join stations. 2009-02-14 21:15:23 +00:00
yexo 5a5bc8ab52 (svn r15487) -Change [API CHANGE]: Remove the never implemented function AIEventVehicleCrashed::CloneCrashedVehicle. 2009-02-14 21:13:45 +00:00
yexo 8ceb92e699 (svn r15486) -Change [API CHANGE]: Remove AITown::GetMaxTownID. 2009-02-14 21:13:15 +00:00
yexo cea470e687 (svn r15485) -Change [API CHANGE]: Split AIIndustry::HasHeliportAndDock and GetHeliportAndDockLocation in HasHeliport/HasDock and GetHeliportLocation/GetDockLocation. 2009-02-14 21:09:48 +00:00
yexo 58359b8d6e (svn r15484) -Change [API CHANGE]: Remove AICompany::GetCompanyName and SetCompanyName. They've been replaced with GetName and SetName. 2009-02-14 21:06:58 +00:00
yexo 7fdde2fec0 (svn r15483) -Change [API CHANGE]: Remove AIIndustry::GetProduction, use AIIndustry::GetLastMonthProduction instead. 2009-02-14 21:05:57 +00:00
yexo 92fc2e692c (svn r15482) -Fix [NoAI]: Typos in api docs. 2009-02-14 20:07:05 +00:00
yexo 37819fc8c5 (svn r15481) -Fix [NoAI]: Make sure AIs can't call functions they shouldn't call. 2009-02-14 20:03:06 +00:00
frosch b123756c9f (svn r15479) -Fix: Documentation of AIIndustryType::CanBuildIndustry(). 2009-02-14 18:40:31 +00:00
yexo 4c7106dad7 (svn r15462) -Change [NoAI]: Make AIController::GetTick() and AIController::GetSetting() static functions.
-Fix (r15460): ai_controller.hpp.sq was forgotten.
2009-02-13 00:18:56 +00:00
rubidium dea3490b2f (svn r15460) -Fix [NoAI]: don't require an instance to exist in the scope for static functions and limit exposure of the internal function GetClassName. 2009-02-12 22:25:53 +00:00
yexo 8d25202067 (svn r15441) -Cleanup: Use a return value instead of passing a pointer to where the result should be stored. 2009-02-11 00:48:15 +00:00
yexo 1eeb0f6748 (svn r15440) -Fix: Backup AIObject::GetAllowDoCommand and restore the old value so AIs can't work around it. 2009-02-10 19:22:09 +00:00
peter1138 ad30a3c4ca (svn r15436) -Codechange: Return index of station spec within station class as a return parameter of GetCustomStationSpecByGrf(), as the index is already known. Saves on an extra loop and an extern... 2009-02-09 22:49:28 +00:00
rubidium 377ce6c5bf (svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability. 2009-02-08 12:25:13 +00:00
Yexo 5bcdcdd1d1 (svn r15408) -Fix (r15027): AIs could call AIController::Sleep() at times they're not allowed to sleep. 2009-02-08 11:34:51 +00:00
rubidium e1b1fd18b5 (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
frosch 4e8707b93f (svn r15400) -Fix: Typos in comments. 2009-02-07 16:23:42 +00:00
frosch 324e92f879 (svn r15360) -Fix: Flooding vehicles did not trigger an AI event. 2009-02-05 17:48:08 +00:00
frosch cb049e4e58 (svn r15359) -Add [NoAI]: AIEventVehicleCrashed::CRASH_RV_UFO, AIEventDisasterZeppelinerCrashed and AIEventDisasterZeppelinerCleared as aliens accepted NoAIs as competing life-form. 2009-02-05 17:38:47 +00:00
frosch 7f198507f7 (svn r15358) -Add [NoAI]: AIEventVehicleCrashed::GetCrashReason() 2009-02-05 17:28:37 +00:00
rubidium 8fb4962407 (svn r15355) -Codechange: simplify some stuff now ->FirstShared returns non-NULL again. 2009-02-05 15:59:23 +00:00
Yexo f2907d816f (svn r15346) -Add [NoAI]: Add AIAirport::GetNearestTown() so AIs can known in which town the noise level will increase. 2009-02-05 01:15:54 +00:00
Yexo 62a11eb5a9 (svn r15345) -Add [NoAI]: Add AIVehicle::HasSharedOrders() and AIVehicleList_SharedOrders. 2009-02-05 01:12:49 +00:00
Yexo b321130d9a (svn r15343) -Add [NoAI]: Add AITown::GetRoadLayout so AIs can get the road layout per town. 2009-02-04 23:26:21 +00:00
smatz 5ad1cd32b2 (svn r15324) -Codechange: unify the class used for comparing of strings for std::map 2009-02-03 18:08:07 +00:00
frosch de9a6fc90b (svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions. 2009-02-01 17:14:39 +00:00
frosch 317220c2e4 (svn r15307) -Fix: AIVehicle::GetCurrentSpeed() should also use km-ish/h instead of mph. (Documentation by Rubidium) 2009-02-01 16:21:18 +00:00
frosch c28c4c1986 (svn r15306) -Codechange: Deduplicate code by adding Engine::GetDisplayMaxSpeed(), GetPower() and GetDisplayWeight(). (and using them) 2009-02-01 16:10:06 +00:00
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
smatz 659989af45 (svn r15278) -Fix [FS#2332]: test noise limit of nearest town instead of st->town 2009-01-26 21:09:17 +00:00
Yexo 7f9c91901e (svn r15277) -Fix (r15027): Building bridges in AITestMode always returned false. 2009-01-26 20:18:50 +00:00
glx 062f32a186 (svn r15270) -Change [API CHANGE]: remove AIEventTest 2009-01-25 19:06:00 +00:00
glx c1cf3934fa (svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication. 2009-01-25 00:57:03 +00:00
glx e8b5f49861 (svn r15261) -Add: added Engine::GetRunningCost() to remove some code duplication. Also stops AIs decrementing vehicle counter of first company 2009-01-24 20:14:15 +00:00
frosch 47cdbe4a20 (svn r15255) -Fix (r15027): AIVehicle::GetLength() returned only the length of the first part of articulated road vehicles. 2009-01-24 14:26:48 +00:00
frosch 7e6049ba02 (svn r15252) -Fix (r15027): AIMarine::AreWaterTilesConnected() reported aqueducts being connected with all surrounding tiles. Also add some type safety. 2009-01-24 13:05:04 +00:00
frosch d05ab5a531 (svn r15244) -Fix (r15027): The station tile of an oilrig-like industry is not neccessarily the first industry tile. 2009-01-23 22:36:17 +00:00
frosch a1d4b792e8 (svn r15241) -Fix (r15027): NoAI API was not aware of certain newindustries 'features'. 2009-01-23 22:09:31 +00:00
Yexo db3ee34b44 (svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map. 2009-01-21 02:31:55 +00:00
Yexo 2307adf8d2 (svn r15187) -Fix: assert when an AI called AIRoad::GetNeighbourRoadCount on a tile at the north edge (bug found by SmatZ). 2009-01-21 01:37:20 +00:00
peter1138 481c2164d0 (svn r15149) -Codechange: GetMaskOfTownActions() is used by a Cmd handler, therefore it does not belong in _gui. 2009-01-19 12:07:01 +00:00
rubidium 67ac7124b1 (svn r15139) -Fix [NoAI]: a wrong tile got returned for hangar tiles when the station sign isn't over st->airport_tile. 2009-01-18 17:03:57 +00:00
truebrain 3abb8abd07 (svn r15123) -Fix [NoAI]: 'const char *' implies that the return value should not be free'd, which is should .. so make them 'char *' 2009-01-17 15:31:30 +00:00
truebrain 8510afe233 (svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo) 2009-01-16 15:01:54 +00:00
truebrain b8d2049bc4 (svn r15102) -Fix (r15101): somehow makedepend fucked up (patch by Yexo) 2009-01-16 00:27:22 +00:00
truebrain 94dd36d1ec (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
2009-01-16 00:05:26 +00:00
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 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 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
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
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
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
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 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