Commit Graph

652 Commits

Author SHA1 Message Date
rubidium e9bc557b2a (svn r16930) -Codechange: more StringID name unification and grouping 2009-07-23 19:31:50 +00:00
rubidium 1e6b1a7613 (svn r16927) -Change: make the 'there is no AI' error message translatable 2009-07-23 15:39:21 +00:00
rubidium 9980af2898 (svn r16921) -Codechange: make it more clear what strings are related to road vehicles; only ROAD isn't always enough. Also unify the way of writing it. 2009-07-22 22:44:56 +00:00
rubidium c17c31b5b6 (svn r16919) -Codechange: unify some more StringID w.r.t. their naming 2009-07-22 19:12:20 +00:00
rubidium 3bcfa7c52a (svn r16917) -Codechange: fix some GCC 4.5 'case X is not in enum Y' warnings 2009-07-22 16:56:36 +00:00
rubidium cb0409fe52 (svn r16912) -Codechange: split waypoint.h in waypoint_base.h and waypoint_func.h 2009-07-22 10:18:19 +00:00
rubidium 68ead6b84f (svn r16909) -Fix [FS#2996]: NewGRF stations would be triggering assertions all over the place when using the more advanced station types.
-Change: make (rail) waypoints sub classes of 'base stations', make buoys waypoints and unify code between them where possible.
2009-07-22 08:59:57 +00:00
rubidium e3053660c6 (svn r16886) -Codechange: unify naming of some string IDs related to string codes and group them logically 2009-07-20 11:21:57 +00:00
smatz af13707e00 (svn r16877) -Codechange: use Subsidy::IsAwarded() instead of testing subsidy's age 2009-07-18 19:54:35 +00:00
yexo 82ac703e2d (svn r16866) -Fix (r16865): forgot to run squirrel_export.sh 2009-07-17 21:45:57 +00:00
yexo 38768d0ca2 (svn r16865) -Doc [NoAI] [FS#3037]: replace old exception names with current ones and fix a type in the noai documentation (patch by Chruker) 2009-07-17 21:36:26 +00:00
smatz 77d13eae61 (svn r16852) -Codechange: use FOR_ALL_CARGOSPECS for iterating over all valid CargoSpecs 2009-07-16 20:40:06 +00:00
smatz 1f29e38b83 (svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get() 2009-07-16 19:00:13 +00:00
alberth d0a47fc1b4 (svn r16845) -Codechange: Introduction of constants for describing the bits in a WWT_MATRIX data field. 2009-07-16 16:22:23 +00:00
yexo f085d7775b (svn r16834) -Fix [FS#3034]: call the AI Save() function only once so AIs can't crash OpenTTD 2009-07-15 19:47:06 +00:00
yexo b58001f695 (svn r16790) -Add [NoAI]: AIVehicle::GetReliability to get the current reliability of vehicles 2009-07-10 22:30:38 +00:00
rubidium 3b8d0621a2 (svn r16785) -Codechange: make ships going to buoys use OT_GOTO_WAYPOINT too 2009-07-10 18:30:02 +00:00
rubidium 1c1b6da4a3 (svn r16783) -Change: make it more clear that the squirrel_export script needs gawk. 2009-07-10 18:21:14 +00:00
alberth bc32b7dc4c (svn r16780) -Add [FS#3015]: Allow the AI Debug Window to become sticky. 2009-07-09 20:23:13 +00:00
rubidium 741a340b8b (svn r16772) -Fix [FS#3019]: don't use the same error message for turning around road vehicles and flipping parts of trains in the depot 2009-07-08 22:11:55 +00:00
rubidium 16e207f78b (svn r16771) -Fix: API export was forgotten causing API to think variables were uint; doesn't matter much as int was converted to uint and then back. 2009-07-08 20:49:29 +00:00
yexo 369d4ce179 (svn r16767) -Fix [NoAI] (r16524): AITile::GetCargoProduction/Acceptance didn't accept a radius of 0 anymore 2009-07-08 17:42:58 +00:00
alberth c7c422465a (svn r16738) -Codechange: Remove casting away constness by changing the text before storing. 2009-07-04 13:55:28 +00:00
yexo a6b0f0b51a (svn r16731) -Fix [NoAI]: AIDepotList contained wrong tiles for hangars when st->xy != st->airport_tile. 2009-07-03 19:55:07 +00:00
smatz 1e6a12b75b (svn r16724) -Fix (r16714): MSVC 64bit warnings (Rubidium) 2009-07-02 12:47:52 +00:00
smatz 6a0855f0d1 (svn r16723) -Codechange: make GetNextArticPart(), GetLastEnginePart(), GetNextVehicle(), GetPrevVehicle(), GetNextUnit(), GetPrevUnit() members of Train 2009-07-02 12:10:39 +00:00
rubidium 4d14c1b534 (svn r16722) -Codechange: unify the naming of the Is/Set/HasArticulatedPart functions 2009-07-02 09:06:15 +00:00
rubidium 61e735ba4c (svn r16721) -Codechange: make Is/SetRoadVehicleFront, Is/Set/HasArticulatedPart member of RoadVehicle. 2009-07-02 08:59:27 +00:00
smatz d86e17d65a (svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train 2009-07-01 23:57:20 +00:00
smatz ecfaa0564d (svn r16718) -Codechange: make IsFreeWagon() member of Train 2009-07-01 23:49:13 +00:00
smatz 76a50ce94d (svn r16714) -Codechange: use pool-like accessors for Subsidy 2009-07-01 18:45:05 +00:00
smatz f4d0d94184 (svn r16711) -Codechange: use FOR_ALL_SUBSIDIES macro when iterating over all subsidies 2009-07-01 17:43:26 +00:00
frosch 1e09854cb7 (svn r16679) -Codechange: Let GetCapacityOfArticulatedParts() return a CargoArray instead of a pointer to a static array. 2009-06-27 21:36:04 +00:00
frosch a288e4d82f (svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays. 2009-06-27 21:06:58 +00:00
frosch 812ad41f23 (svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names. 2009-06-27 18:26:50 +00:00
yexo cc07a78577 (svn r16650) -Fix (r16649): missing () 2009-06-24 23:24:01 +00:00
yexo 2970b72e59 (svn r16649) -Fix: When the exact AI version a game was saved with is no longer available and the latest version of the AI can't load data from that AI version, use the latest available version of the AI that can load the data instead of the first found version that can load the data. 2009-06-24 23:23:08 +00:00
smatz 05c695a647 (svn r16646) -Codechange: rename GetDepotByTile() to Depot::GetByTile() 2009-06-24 19:26:41 +00:00
smatz 8343340acb (svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile() 2009-06-24 17:39:54 +00:00
smatz 0045096403 (svn r16640) -Codechange: move roadstop stuff to separate files 2009-06-23 21:44:48 +00:00
frosch b07ef35f44 (svn r16618) -Fix (r16614): Silence a warning. 2009-06-21 20:59:30 +00:00
yexo c7bd6c8d34 (svn r16614) -Codechange: Make the airport min/max available year a property of the Airport class.
-Change: rename station.always_small_airport to station.never_expire_airports to make it more future-proof
2009-06-21 13:26:30 +00:00
yexo d09d3566dd (svn r16585) -Add [NoAI]: AIBuoyList to get a list of all buoys 2009-06-17 13:12:08 +00:00
rubidium 512b021e26 (svn r16581) -Codechange: unify the access to Engine::lifelength. 2009-06-16 13:52:18 +00:00
yexo b3c3cf6e6d (svn r16563) -Fix [NoAI]: AIMarine::AreWaterTilesConnected didn't return true for bridge head<>neighbouring water tile 2009-06-11 14:29:03 +00:00
yexo f92feb2a95 (svn r16562) -Revert (r16561) 2009-06-11 14:17:26 +00:00
yexo 176e55a8a3 (svn r16561) -Fix [NoAI]: AIMarine::AreWaterTilesConnected didn't return true for bridge head<>neighbouring water tile 2009-06-11 14:15:18 +00:00
smatz bea3fe2b8b (svn r16559) -Codechange: introduce Company::IsValidAiID() and Company::IsValidHumanID(), don't use IsHumanCompany() where possible 2009-06-10 22:05:01 +00:00
smatz 8563b77fee (svn r16557) -Feature(tte) [NoAI][FS#2892]: mark dead AIs by red background in the AIDebug window 2009-06-10 19:26:04 +00:00
smatz 83e2df5b72 (svn r16556) -Codechange [NoAI]: use accessor for AIInstance::is_dead 2009-06-10 19:23:25 +00:00
yexo 726ba50868 (svn r16529) -Fix [NoAI]: StationIDs from oilrigs were not considered valid by the API. 2009-06-07 13:29:09 +00:00
smatz 0c10006907 (svn r16527) -Codechange: use static member functions instead of simple casts when converting Vehicle to specialised vehicle types. Includes safety check 2009-06-06 16:54:22 +00:00
rubidium ec3ef70adb (svn r16524) -Fix [FS#2963]: missing guards in the NoAI API making it possible to hit an assert in OpenTTD. 2009-06-06 11:47:21 +00:00
yexo 59ae226ab1 (svn r16522) -Fix [FS#2962]: possible assert in ai debug window when an AI was stopped an a human company took it's CompanyID 2009-06-06 01:53:17 +00:00
yexo ad5f018195 (svn r16520) -Fix [NoAI]: Make sure AIBridge::BuildBridge returns what the documentation says it does (r16244 for AIBridge) 2009-06-05 17:36:39 +00:00
rubidium caf98238e3 (svn r16510) -Doc: silence some (AI) doxygen warnings by adding comments about the appropriate things. 2009-06-03 18:47:08 +00:00
yexo 4ea3e511bd (svn r16502) -Fix [FS#2935]: when an AI was suspended while in a function called (indirectly) via call/acall/pcall OpenTTD crashed. Fix this by disallowing AIs to be suspended while called via call/acall/pcall.
IMPORTANT FOR AI WRITERS: AIs can no longer call any DoCommand functions (change anything, build vehicles, etc.) in a function called (indirectly) via call/acall/pcall. Where possible, please rewrite your code so it doesn't use call/acall/pcall
2009-06-01 22:00:47 +00:00
rubidium 765c65b738 (svn r16493) -Fix: missing/wrong @file doxygen 'headers' 2009-06-01 12:56:18 +00:00
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 2009-06-01 11:43:36 +00:00
smatz 7ee882d03f (svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types 2009-05-26 22:10:13 +00:00
yexo aa546e513f (svn r16440) -Fix [NoAI]: AIRail::GetRailStationDirection returned incorrect information 2009-05-26 22:03:16 +00:00
yexo 2a5a8f395c (svn r16433) -Codechange: Remove most of CmdSetAutoreplace and replace it with calls to CmdChangeCompanySetting 2009-05-26 13:29:01 +00:00
yexo 7425bf779d (svn r16425) -Change [FS#2869]: Stop an AI when it takes too long to initialize or load 2009-05-25 21:55:47 +00:00
rubidium 0d99b6c71c (svn r16421) -Codechange: do not unnecessarily remove constness or unnecessarily add it. 2009-05-24 20:29:04 +00:00
smatz b2aed51f8e (svn r16403) -Codechange: move code related to subsidies to separate file 2009-05-23 15:46:00 +00:00
yexo 0b243d25cb (svn r16400) -Add [NoAI]: add AISignList that can be used to get a list of valid signs. This makes AISign::GetMaxSignID obsolete. 2009-05-23 14:54:55 +00:00
rubidium 86710c5185 (svn r16397) -Codechange: move GetVehicleOrder/GetLastVehicleOrder into Vehicle 2009-05-23 12:27:42 +00:00
smatz b270ca84ba (svn r16395) -Fix (r16379): max sign ID can be higher than total number of signs 2009-05-23 11:13:43 +00:00
rubidium 6237fe1462 (svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier. 2009-05-23 09:10:56 +00:00
rubidium da5661a0c8 (svn r16393) -Codechange: move VehicleRail to Train. 2009-05-22 22:55:41 +00:00
rubidium 80e94b9bb1 (svn r16391) -Codechange: use Train instead of Vehicle where appropriate. 2009-05-22 22:22:46 +00:00
rubidium 7a37220881 (svn r16390) -Codechange: move u.road to RoadVehicle. 2009-05-22 20:22:20 +00:00
smatz 10d1ef5447 (svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead 2009-05-22 15:23:47 +00:00
smatz 70aab8bf04 (svn r16354) -Codechange: use 'new' pool accessors and methods for Engine too 2009-05-18 19:32:16 +00:00
smatz 8808f3beea (svn r16352) -Codechange: use PoolItem::GetIfValid() instead of PoolItem::IsValidID() and PoolItem::Get() 2009-05-18 16:21:28 +00:00
smatz 0af27062c4 (svn r16349) -Codechange: rename IsPlainRailTile() to IsPlainRail(), introduce shiny new IsPlainRailTile() 2009-05-18 01:26:23 +00:00
rubidium e7dedf4e1b (svn r16332) -Codechange: replace some -1 + 1 with 'nothing' or <= .. - 1 with < .. - 1 (both caused due to wrapper functions) 2009-05-17 11:17:53 +00:00
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 2009-05-17 01:00:56 +00:00
smatz ed1e54bd84 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 2009-05-16 23:44:36 +00:00
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 2009-05-16 23:34:14 +00:00
yexo 31eff1d4c3 (svn r16315) -Codechange: move the autorenew settings to a new CompanySettings struct 2009-05-15 23:55:06 +00:00
frosch 8ffb93c358 (svn r16311) -Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL and _SIGNALS. 2009-05-15 16:07:36 +00:00
frosch bdf0b9491d (svn r16267) -Documentation: [NoAI] Explain how to deal with IDs of various objects. 2009-05-10 15:23:55 +00:00
frosch c6f08e1247 (svn r16266) -Documentation: [NoAI] Add details to AITile::(Raise|Lower)Tile wrt. modifiing multiple corners at once. 2009-05-10 15:23:08 +00:00
frosch 96dace426b (svn r16264) -Change/Fix (r16262): [NoAI] Change SLOPE_INVALID to 0xFFFF so that SLOPE_INVALID != (SLOPE_ELEVATED | SLOPE_STEEP | SLOPE_HALFTILE_MASK). 2009-05-10 12:26:55 +00:00
yexo 8d22e4bec3 (svn r16262) -Fix [NoAI]: Check slopes passed to the API better for validity 2009-05-09 19:45:02 +00:00
yexo a00b22b1cd (svn r16253) -Add [NoAI]: AIController::GetVersion, this returns the newgrf-version of OpenTTD 2009-05-07 21:33:38 +00:00
yexo 9b4a32deb4 (svn r16252) -Add [NoAI]: AIAirport::GetPrice, returning the building cost of an airport 2009-05-07 21:30:18 +00:00
yexo 73e1d18871 (svn r16249) -Fix [NoAI]: Enable parameter checking for AIController::* functions again 2009-05-07 12:13:58 +00:00
yexo afc5c66386 (svn r16244) -Fix [NoAI]: Make sure AITunnel::BuildTunnel returns what the documentation says it does 2009-05-06 21:40:51 +00:00
yexo ca435fcece (svn r16243) -Fix [FS#2875]: CmdBuildTunnel could be called with invalid parameters from the api code, causing crashes later 2009-05-06 21:38:59 +00:00
yexo fe5defbacc (svn r16239) -Fix (r16199): Use the stop/non-stop intermediate orderflags AIs can give for goto-depot orders 2009-05-06 12:48:13 +00:00
frosch d518b3d0ac (svn r16199) -Codechange: Pass OrderNonStopFlags also to MakeGoToDepotOrder().
-Fix: 'Go non-stop to nearest depot'-orders did not work wrt. the 'non-stop' part.
-Fix: Adding 'Go to nearest depot'-orders did not respect the default setting for 'non-stop'.
2009-05-02 00:10:24 +00:00
yexo bc8f31da4e (svn r16174) -Fix (r16093) [FS#2863]: crash when starting a game/loading a game with no AIs available. 2009-04-26 19:30:31 +00:00
yexo d63f01d78b (svn r16172) -Fix (r16171): typo (thanks SmatZ) 2009-04-26 17:16:30 +00:00
yexo 3578f4408c (svn r16171) -Add [NoAI]: two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_ESCAVATION_WOULD_DAMAGE. 2009-04-26 17:01:05 +00:00
frosch e04ddbe0ac (svn r16166) -Add [NoAI]: AITile::Get(Min|Max|Corner)Height 2009-04-26 16:26:41 +00:00
yexo 9101de49d8 (svn r16165) -Add [FS#2801] [NoAI]: several functions to AIOrder to check the what kind of order an order is.
-Fix: AIOrder::GetOrderDestination and AIOrder::GetOrderFlags didn't work on ORDER_CURRENT when the vehicle was loading/leaving in a station.
2009-04-26 16:14:53 +00:00
rubidium 7dd677ced2 (svn r16162) -Codechange: remove needless TC_ colours from DrawString when they are part of strings and add some colours to a few strings. 2009-04-26 15:26:19 +00:00
rubidium 53887e07bb (svn r16160) -Codechange: remove the need for explicit TC_FROMSTRING for DrawString. 2009-04-26 14:52:56 +00:00
yexo f0bc464b18 (svn r16158) -Codechange: fix the string alignment in all .hpp.sq files 2009-04-26 12:22:09 +00:00
yexo 660f90d37b (svn r16151) -Codechange: move some includes around to prevent including half the AI api in non-noai related code. 2009-04-25 23:51:15 +00:00
yexo 486e5b4bfe (svn r16150) -Fix [NoAI]: Change WAYPOINT_INVALID to 0xFFFF from -1 as that's the value the AIs got (due to casting).
Clarify some api documentation.
2009-04-25 22:57:15 +00:00
rubidium d8bc98d5de (svn r16149) -Fix [FS#2860]: when there's no AI and an AI is started... *boom* 2009-04-25 22:40:24 +00:00
rubidium 59d45a04d6 (svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible. 2009-04-21 23:40:56 +00:00
rubidium 2ec09d95a1 (svn r16114) -Cleanup: unify some more strings and remove some more unused strings 2009-04-21 20:20:53 +00:00
yexo 3949050714 (svn r16113) -Feature [NoAI]: Add UseAsRandomAI as function in info.nut. When an AI returns false, it'll never be chosen as random AI. 2009-04-21 19:13:32 +00:00
yexo 10c98f7e0e (svn r16109) -Fix [NoAI]: Make sure AIOrder::GetDestination always returns a tile belonging to the station 2009-04-21 16:49:53 +00:00
yexo 63db874050 (svn r16108) -Fix [NoAI]: When giving an aircraft a goto-hangar order don't let it be a normal goto-station order.
Note to AI writers: AIOrder.AppendOrder(vehicle_id, AIStation.GetLocation(station_id)) will give a goto-hangar order for helistations (assuming the station sign is at it's default location).
2009-04-21 12:51:36 +00:00
yexo 61d883e7e5 (svn r16107) -Add [NoAI]: AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to allow stop-in-depot orders 2009-04-20 23:49:27 +00:00
yexo a664a2668c (svn r16106) -Fix [NoAI]: AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders. 2009-04-20 23:12:32 +00:00
frosch 90ebf211dc (svn r16094) -Fix: AIDebug window profiled the blitters by invalidating itself unconditionally on repaint. OTOH it was not invalidated in other cases when needed. 2009-04-19 16:04:44 +00:00
yexo a91ff2d5e8 (svn r16093) -Feature [FS#2808]: Add GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window. 2009-04-19 15:14:23 +00:00
yexo 3e2e5b097c (svn r16091) -Change [FS#2778]: Reverse the order of the lines in the AI debug window 2009-04-19 14:42:03 +00:00
frosch eb7414ea9e (svn r16062) -Fix (r16037): AIOrder::InsertOrder was broken. Default all AI orders to 'stop at far end'. 2009-04-15 17:31:08 +00:00
rubidium bee930f9b3 (svn r16024) -Codechange: harden string copying on places where it's possible 2009-04-10 20:37:05 +00:00
yexo 57dab45e75 (svn r15910) -Fix [FS#2777]: Clarify that TILE_INVALID is part of AIMap make doxygen output some documentation for it. 2009-04-01 08:38:57 +00:00
frosch f55be81e3c (svn r15901) -Add: AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry. 2009-03-30 20:48:10 +00:00
alberth 9d2738b9c4 (svn r15885) -Codechange: Removed new_size parameter of Window::OnResize() callback 2009-03-29 09:49:11 +00:00
yexo 50a6e589ed (svn r15881) -Fix (r15875): add an explicit cast so some compilers stop complaining. 2009-03-28 16:19:04 +00:00
yexo 400208ee0a (svn r15875) -Add: AIBridge::GetBridgeID() so AIs can get the type of bridge that are already build. 2009-03-28 12:04:38 +00:00
frosch 44351cdc57 (svn r15860) -Add: AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop. 2009-03-26 19:45:45 +00:00
frosch 19b47c1e89 (svn r15859) -Documentation: Meaning of AICargo::CC_PASSENGERS wrt. bus- and truckstops, and meaning of AICargo::IsFreight() wrt. freight train weight multiplier. 2009-03-26 19:44:13 +00:00
yexo 809e4f398c (svn r15852) -Codechange: New widgets for the AI windows. 2009-03-25 21:35:53 +00:00
rubidium 3e93f8adda (svn r15844) -Codechange: allow text alignment to be forced so the console and ai debug output don't get swapped (those are untranslateable anyways) 2009-03-25 01:10:24 +00:00
yexo 84fb615344 (svn r15835) -Codechange: Prevent using the return value of DrawString as much as possible. 2009-03-24 20:03:02 +00:00
rubidium 22d4270ea8 (svn r15811) -Fix: left != right and as a result of that the ai debug window was kinda empty. 2009-03-22 14:08:53 +00:00
rubidium ead0a6a6e5 (svn r15806) -Codechange: pass both left and right to the vehicle details drawing functions instead of only the left. 2009-03-22 10:37:51 +00:00
rubidium d837fc4d03 (svn r15797) -Codechange: make users of the old DrawStringMultiLine use the new one. 2009-03-21 23:45:34 +00:00
frosch d452a0a0ec (svn r15789) -Codechange: Add DiagdirBetweenTiles() and use it. 2009-03-21 21:43:23 +00:00
rubidium 45f189fdca (svn r15785) -Codechange: remove the *Truncated part of the old text drawing API. 2009-03-21 20:12:12 +00:00
yexo 971ed8d2a3 (svn r15781) -Fix [NoAI]: Missing "AIs" in the information the debug AI prints. 2009-03-21 19:08:04 +00:00
yexo d2dae07595 (svn r15774) -Fix (r15708): Don't show the message about reporting an AI crash for the dummy AI. 2009-03-19 23:38:51 +00:00
frosch 6dd04a9a78 (svn r15763) -Codechange/Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere. 2009-03-18 19:32:13 +00:00
yexo 384599ef2c (svn r15743) -Codechange: move the definitions of some fake squirrel types to their own file. 2009-03-16 17:30:49 +00:00
yexo b078f8095a (svn r15742) -Fix (r15736): AIs with an invalid info.nut weren't ignored anymore. 2009-03-16 14:40:32 +00:00
yexo ce4744e1d6 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo. 2009-03-15 22:41:57 +00:00
rubidium f9def73be6 (svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth) 2009-03-15 15:12:06 +00:00
rubidium 8761a5a4c4 (svn r15721) -Change: give a more useful (for 'normal' users) error message when there's no AI and they want to play with an AI 2009-03-15 14:33:40 +00:00
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 2009-03-15 00:32:18 +00:00
yexo 86a9df82b7 (svn r15716) -Change [NoAI]: AI libraries should now be stored in ai/library/<library_name>/ instead of ai/library/<category_name>/<library_name>/. Libraries inside tar files are not affected. 2009-03-14 23:57:37 +00:00
rubidium 9d018723b7 (svn r15711) -Codechange: lots of whitespace cleanup/fixes 2009-03-14 18:16:29 +00:00
yexo 2e6e2457f1 (svn r15708) -Feature [FS#2728]: Pop up the AI Debug Window if one of the AIs crashed and show a message that the user should report the crash. 2009-03-14 01:32:04 +00:00
frosch fa35dc10e5 (svn r15705) -Fix: Do not show passenger-/mail-capacity if the aircraft carries only cargo. 2009-03-13 23:49:12 +00:00
yexo cef662825b (svn r15684) -Add [NoAI]: AIOrder::SkipToOrder(). 2009-03-12 11:43:40 +00:00
yexo 13fb01d07d (svn r15668) -Fix: a few typos. 2009-03-11 07:32:31 +00:00
yexo 1ff06b3f9c (svn r15658) -Fix [NoAI]: Rewrite AIAbstractList::Valuate to make it more readable and fix a crash if no parameters are given to that function. 2009-03-09 22:14:47 +00:00
truebrain 3ca01c64f7 (svn r15638) -Fix: there is a time in your life you should stop coding for a project. You know that time is there when you make two huge mistakes in just 10 lines of code. I wish you all the best of luck :) (ps: HUGE mistakes!) 2009-03-07 20:55:24 +00:00
yexo 3633fd9a06 (svn r15630) -Fix (r15027): Make sure OpenTTD loads the dummy AI script when no other AI is available instead of a non-existing file. 2009-03-06 15:20:18 +00:00
yexo 890c5e3ae4 (svn r15616) -Change [API CHANGE]: Rename AIOrder::ChangeOrder() to AIOrder::SetOrderFlags(). 2009-03-04 23:12:48 +00:00
yexo ffe2caf20f (svn r15614) -Add [NoAI]: AIVehicleList_Group(group_id) and AIVehicleList_DefaultGroup(vehicle_type). 2009-03-04 22:37:25 +00:00
yexo a41b143e58 (svn r15587) -Fix (r15345): I should really test even those simple api functions better. 2009-02-26 07:30:13 +00:00
yexo 932b1c24b2 (svn r15563) -Change [API CHANGE]: Remove AIIndustry::GetMaxIndustryID(). 2009-02-23 21:07:01 +00:00
yexo 1884ba20bc (svn r15562) -Change: Use GetName() to determine the unique AI name instead of GetInstanceName() to make branching of AIs easier. 2009-02-23 20:57:55 +00:00
yexo cabfe35e54 (svn r15558) -Cleanup: Remove some unnecessary friend declarations. 2009-02-23 19:35:19 +00:00
frosch d3850e101c (svn r15541) -Revert (r15399): 'v->cargo_type' is also used in other places, which cannot accept CT_INVALID.
-Codechange: Add Engine::GetDefaultCargoType() and Engine::CanCarryCargo() and use them.
-Fix [FS#2617]: When articulated parts have no available default cargo, use the cargo type of the first part for livery selection.
-Change: To decide whether a vehicle is refittable do not test its current capacity for being zero, but always use the 'capacity property'.
  Note: The property is used unmodifed without calling CB 15/36. By setting it to a non-zero value and returning zero in the callback vehicles can be refitted to/from zero capacity for e.g. livery effects.
  Note: It is intentional that you cannot control refittability by CB 36.
2009-02-21 12:52:41 +00:00
yexo c3c549f731 (svn r15538) -Fix (r15334): The difficulty level wasn't set to custom when changing the amount of towns/industries from the newgame gui. 2009-02-21 02:34:53 +00:00
glx ab3fc1d437 (svn r15535) -Fix (r15460, pre noai merge): use '.' as 'any' for squirrel calls typechecking as stated in squirrel docs 2009-02-21 00:43:18 +00:00
yexo 07a37af14c (svn r15530) -Fix (r15519): The AIWaypoint classes were not exported to squirrel. 2009-02-20 10:03:16 +00:00
yexo a54061f840 (svn r15527) -Fix (r15526): A ')' too much. 2009-02-19 23:22:31 +00:00
yexo b3fe664d90 (svn r15526) -Add [NoAI]: Support for conditional orders. 2009-02-19 23:12:57 +00:00
yexo 3491b0fab9 (svn r15524) -Add [NoAI]: AIEngine::GetPower, AIEngine::GetWeight and AIEngine::GetMaxTractiveEffort. 2009-02-19 19:44:19 +00:00
yexo 459a855e60 (svn r15520) -Cleanup [NoAI]: Fix some typos, unify the comment style and update some documentation since a few enums have been renamed. 2009-02-19 09:01:34 +00:00
yexo c0e7ddeb9e (svn r15519) -Add [NoAI]: support for waypoints by adding AIRail::Build/Remove RailWaypoint, AIWaypoint and AIWaypointList. 2009-02-19 07:40:08 +00:00
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 e84f25a2bd (svn r15470) -Fix [NoAI]: Check the types of the parameters passed to AddSetting, AddLabels and RegisterAI. 2009-02-13 18:43:56 +00:00
yexo 8e14d77d05 (svn r15467) -Fix [NoAI]: AIs with an error in their info.nut are no longer available in-game. 2009-02-13 17:17:34 +00:00
yexo 15b9366f06 (svn r15466) -Fix (r15330): The squirrel instance object was freed twice if an info.nut failed to compile. 2009-02-13 16:25:53 +00:00
smatz d3f018a7e3 (svn r15465) -Codechange: constify most of AIInfo/AIFileInfo methods, move definition of very simple getters to header file 2009-02-13 02:11:54 +00:00
yexo 9292c90360 (svn r15464) -Codechange [NoAI]: Call all info.nut functions exactly once and only during initialization. 2009-02-13 01:44:56 +00:00
yexo b9c66aa750 (svn r15463) -Change [API CHANGE]: Replace AIInfo::CanLoadFromVersion(version) with AIInfo::MinVersionToLoad() which should return a single integer, the minimum version the AI is able to load data from. 2009-02-13 01:24:30 +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 c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
rubidium 8dae160d0f (svn r15425) -Codechange: some color->colour changes and type safety. 2009-02-09 02:09:47 +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
smatz 9c59b711b7 (svn r15401) -Fix [FS#2619](r15027): AI::Stop changed _current_company, but didn't restore its original value 2009-02-07 17:01:44 +00:00
frosch 4e8707b93f (svn r15400) -Fix: Typos in comments. 2009-02-07 16:23:42 +00:00
rubidium 6252c74584 (svn r15368) -Fix: some typos in comments 2009-02-06 10:31:05 +00:00
Yexo cb3784d8b1 (svn r15366) -Add [NoAI]: Add AddLabels() where you can define labels for the values of the settings in info.nut 2009-02-06 00:25:37 +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
rubidium 1c30c8c801 (svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular references (by enabling the GC). 2009-02-03 22:42:42 +00:00
Yexo 101f55e65c (svn r15328) -Fix (r15327): Load(data, version) was called instead of Load(version, data). 2009-02-03 21:05:32 +00:00
Yexo 1892c34ac6 (svn r15327) -Fix (r15027): AIs could access the map and other data in their constructor and Load() function while the savegame was not completely loaded. 2009-02-03 20:49:08 +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
Yexo a5807f4a77 (svn r15322) -Fix (r15175): The AI list window didn't display information about the selected AI if it wasn't visible. 2009-02-02 22:57:22 +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
Yexo ea01534e6d (svn r15284) -Fix [FS#2582] (r15045): Parameters were popped from the squirrel stack twice. 2009-01-27 13:11:11 +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
frosch 80ee3d3440 (svn r15262) -Fix: AIEvents were not freed, when they were not queued for any AI. 2009-01-24 21:38:30 +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
glx 4fe58bc303 (svn r15228) -Fix [FS#2571]: possible crash when an AI/Library doesn't have a required function 2009-01-23 15:38:13 +00:00
glx ceb60b426e (svn r15226) -Fix (r15214): broken AI content download 2009-01-23 15:10:13 +00:00
rubidium 83e1288c6a (svn r15215) -Fix: various MSVC x64 compiler warnings 2009-01-23 02:01:05 +00:00
glx 92f5c6b1da (svn r15214) -Fix [NoAI]: ignore case for ai/library main script path on windows 2009-01-23 01:29:13 +00:00
glx b44390bf39 (svn r15191) -Fix (r15188): -1 is not a bool (MSVC warning) 2009-01-21 03:47:04 +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 ddcaf2f4cc (svn r15188) -Feature: You can now change the number of AIs from the AI config window. 2009-01-21 01:56:42 +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
Yexo e395533632 (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.
2009-01-21 00:36:22 +00:00
Yexo c3b7917da1 (svn r15185) -Fix (r15175): It was impossible to select AIs that had a different instance name then their name. 2009-01-21 00:19:21 +00:00
glx a4d3c76093 (svn r15184) -Cleanup: remove extra spaces 2009-01-21 00:18:30 +00:00
Yexo 3c757724e9 (svn r15182) -Fix: After updating an AI select the latest version for the next game. 2009-01-21 00:09:36 +00:00
Yexo 3d35b3c2cc (svn r15175) -Feature: Add the option to select the AIs to start in a new game and configure them via the gui. 2009-01-20 16:49:10 +00:00
Yexo 61ee8ca42a (svn r15171) -Fix (r15027): Buffer underflow in case there are no settings to save for an AI. 2009-01-20 15:58:40 +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
peter1138 dba9d60d3a (svn r15133) -Fix: Crash if no NoAIs are present. 2009-01-17 22:22:53 +00:00
rubidium 3a13b75e37 (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. 2009-01-17 16:53:32 +00:00
truebrain 4bc7afae41 (svn r15124) -Fix: last memory leak related to NoAI 2009-01-17 15:38:37 +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 7e8d9a3e66 (svn r15122) -Codechange: add a security assert, to make sure something never happens 2009-01-17 15:14:13 +00:00
truebrain 27717e1b6d (svn r15121) -Fix: more mem-leak fixes (this should make SmatZ so happy ;) :p) 2009-01-17 15:07:35 +00:00
truebrain fe90077681 (svn r15120) -Fix: more mem-leak fixes 2009-01-17 14:54:24 +00:00
truebrain 7eae652302 (svn r15118) -Fix: fix a minor mem-leak 2009-01-17 14:45:44 +00:00
truebrain 8510afe233 (svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo) 2009-01-16 15:01:54 +00:00