Commit Graph

344 Commits (1aee53ef6c944018381018e2e45f71bf6258183e)

Author SHA1 Message Date
frosch 7f198507f7 (svn r15358) -Add [NoAI]: AIEventVehicleCrashed::GetCrashReason() 16 years ago
frosch 9c4c0ff3a1 (svn r15326) -Fix: Old-ai-ishm when refitting vehicles. 16 years ago
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 16 years ago
frosch 7dbd0582b6 (svn r15286) -Fix: Refitting did not invalidate vehicle-colour-maps of road-vehicles, ships and aircraft, as well vehicle-length of road-vehicles. 16 years ago
glx c1cf3934fa (svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication. 16 years ago
glx c5f0fe7c40 (svn r15210) -Fix: Vehicle::GetRunningCost() was wrong for ships and aircraft 16 years ago
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
16 years ago
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
16 years ago
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 16 years ago
frosch aedc0c1302 (svn r14903) -Fix: First create all articulated parts of roadvehicles, then call callback 36 capacity, also call it for all articulated parts. 16 years ago
peter1138 c0efc759ef (svn r14869) -Feature: Allow road vehicles to move multiple steps in a tick (code based on train movement code) and add support for RV prop 15. This gives RVs a maximum speed of 318mph instead 79mph. This only implements higher speeds, not 'realistic acceleration'. 16 years ago
smatz 67bf6a0998 (svn r14835) -Change: apply the 'warn if train's income is negative' setting to other vehicle types, too 16 years ago
rubidium 87e5a8b52b (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 16 years ago
rubidium 3ebe66a5e4 (svn r14748) -Codechange: unduplicate window updating when deleting vehicles. 16 years ago
frosch 1a866c7552 (svn r14578) -Fix (r2389, r10811)[FS#Vikthor]: Allow capacity callbacks (15, 36) to return zero capacity. 16 years ago
rubidium c7f3935506 (svn r14566) -Fix [FS#2397]: RV's go via order would reserve a slot at the 'via' station which it never uses, which makes it unlikely that it reserves a slot for the next station and that makes queueing fail (Aali) 16 years ago
rubidium a6df995fbb (svn r14545) -Fix [FS#2386]: road vehicles sometimes never got their "slots" deallocated causing RVs not going to depot for service. 16 years ago
smatz 2611fbeb18 (svn r14458) -Fix [FS#2341](r14368): crash when there was a tram dead end after a station/tunnel/bridge (frosch123 and Rubidium) 16 years ago
rubidium b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
rubidium 3b798599b6 (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
rubidium cccd1a8739 (svn r14368) -Fix [FS#1852]: trams jumping when reversing on a single trambit (like caused during road construction reworks) or when (manually) reversing in a corner. 16 years ago
smatz 66be028ad4 (svn r14307) -Fix: when deleting a station, remove news items regarding it 16 years ago
rubidium fc62d736f7 (svn r14306) -Codechange: unify the code to draw the vehicle list.
-Fix [FS#2292]: inconsistency between drawn vehicle lists in the vehicle list and group windows.
16 years ago
rubidium 9474db5cb6 (svn r14258) -Codechange: rework the way to query the vehicle hash to make sure it always results in the same irregardless of the order of the hash-linked-list.
-Fix: desync in PBS reservation following, vehicle flooding and road vehicle overtake/follow code.
16 years ago
rubidium 3663965f3e (svn r14090) -Fix: the vehicle window of articulated road vehicles would show the clone/refit button when the vehicle was not completely stopped in the depot. 16 years ago
peter1138 9d0e1b635a (svn r14078) -Codechange: Rename *VehicleInfo::base_cost to cost_factor, indicating what it actually is. 16 years ago
frosch 844a83ed58 (svn r14076) -Codechange: Merge the four start/stop commands into a single CMD_START_STOP_VEHICLE. 16 years ago
rubidium ad36ea6b29 (svn r13912) -Codechange: remove some casts by returning the proper type instead of void*. 16 years ago
smatz 447ec39f49 (svn r13691) -Codechange: make it easier to determine whether a command is ran in the context of autoreplace or not 16 years ago
rubidium f06daceb16 (svn r13664) -Fix [FS#2117]: bus/truck forgetting go-to-depot order when entering a non-drivethrough road stop. 16 years ago
skidd13 9335a28cb5 (svn r13647) -Codechange: replace MAX_UVALUE() for std types with the equivalent constant 16 years ago
rubidium bd31dda2fb (svn r13581) -Fix [FS#2040]: RVs continueing onto next DT station when they are build adjacent to them. 16 years ago
rubidium da524e71ae (svn r13480) -Fix [FS#2050]: RVs stoppping at drive through stations of other companies. 16 years ago
smatz bd5067b5a0 (svn r13456) -Codechange: use AllocaM() macro instead of alloca() at most places 16 years ago
glx ee256e770a (svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror(). 16 years ago
rubidium 923e21129c (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. 16 years ago
rubidium 8c9cc415e3 (svn r13255) -Codechange: move _opt to _settings. 16 years ago
rubidium 4625695653 (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.
16 years ago
rubidium 9defec7876 (svn r13165) -Codechange: replace some RebuildXXXList/ResortXXXList+InvalidateWindowXXX with InvalidateWindowXXXData. 16 years ago
rubidium 76b8970a33 (svn r13100) -Codechange: reduce the amount of parameters passed via AddNewsMessage as there is (for each news message type) a tuple of 4 parameters that is the same for all calls. 16 years ago
smatz ec627dedf8 (svn r13090) -Codechange: add functions for direct conversion from DiagDirection to Track and Trackbits 16 years ago
rubidium d03994098b (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. 16 years ago
peter1138 a00371c8db (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. 16 years ago
peter1138 5dcd689f56 (svn r12824) -Codechange: Standardise routines for drawing vehicle images, using correct types and less duplication. 16 years ago
rubidium 22140d82c6 (svn r12818) -Codechange: make callbacks 31 and 37 behave like they do in TTDP according to frosch's survey. 16 years ago
rubidium b139756e2b (svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp 16 years ago
rubidium f55ffd14bd (svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing. 16 years ago
rubidium 0e624275ee (svn r12795) -Fix [FS#1938]: vehicles could break down during loading and keep loading. The intention of the break down code is not to break down when having zero speed, therefor break downs now do not happen when loading. 16 years ago
rubidium 9d8fa486af (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 16 years ago
rubidium 02cdf01507 (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. 16 years ago
smatz 059e94e355 (svn r12753) -Codechange: do not use IsDepotTypeTile() where simpler function can be used 16 years ago
smatz 9488db56d4 (svn r12745) -Codechange: a bit of naming conventions, introduce Is*DepotTile() 16 years ago
rubidium e8ee93b593 (svn r12689) -Feature: non-stop(or rather no non-stop) and via orders for road vehicles. 16 years ago
rubidium 570519d79b (svn r12658) -Codechange: unify a vast portion of the CmdSend<VehicleType>ToDepot commands. 16 years ago
rubidium 62bdc381e7 (svn r12657) -Codechange: add 'FindClosestDepot' to the vehicle class. 16 years ago
frosch 96700d5605 (svn r12629) -Codechange: Split VehicleNeedsService() into Vehicle::NeedsServicing() and Vehicle::NeedsAutomaticServicing().
-Fix (r11052): Disable servicing by service-interval if a vehicle has depot orders.
16 years ago
rubidium f1cd7ef5ee (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. 16 years ago
rubidium c57a1d74c3 (svn r12600) -Codechange: make GetNonStopType return a more augmented type; not is there a non-stop order but the kind of non-stop order, so one doesn't need to check _patches.new_nonstop type everywhere. 16 years ago
rubidium fb1c4eccd8 (svn r12593) -Codechange: hide Order's flags in most of the code. 16 years ago
rubidium d6623cf654 (svn r12588) -Codechange: do not access the destination of an order directly. 16 years ago
rubidium 5b47f81b0f (svn r12584) -Codechange: do not access the order type directly. 16 years ago
rubidium 5eb5889954 (svn r12578) -Codechange: merge the aircrafts ProcessOrder too into the 'unified' ProcessOrder. 16 years ago
rubidium bdd64495cd (svn r12575) -Codechange: unduplicate Process*Orders for trains, ships and road vehicles. 16 years ago
frosch 5e5e074a5d (svn r12540) -Codechange: Enumify some values in original pathfinder and remove an unused variable. 16 years ago
frosch 15a9fba867 (svn r12531) -Codechange: Rename some variables for consistency. 16 years ago
rubidium ef2be7d0fc (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. 16 years ago
rubidium 2edd403656 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 16 years ago
rubidium 4a1035ab95 (svn r12488) -Codechange: split order.h into order_base.h and order_func.h. 16 years ago
rubidium eeabab4555 (svn r12459) -Codechange: split news.h into news_type.h and news_func.h. 17 years ago
rubidium f0538b4b62 (svn r12390) -Fix [FS#1851]: trams failing to turn on bridge heads/tunnel entrances. 17 years ago
peter1138 dda6cab17a (svn r12209) -Fix: [NewGRF] Support using any base price for rail and road vehicles' running cost, and show running cost of wagons if they have it. 17 years ago
frosch b7993793c8 (svn r12199) -Codechange: Remove magic around the results of GetTileTrackStatus(). 17 years ago
frosch f5929d413b (svn r12193) -Codechange: Rename a magic variable, give it a decent type, and remove a 'goto'. 17 years ago
frosch 0e9e94a94b (svn r12191) -Fix: Do not start overtaking if the RV reaches wrong-way one-way-road in the next tiles. 17 years ago
frosch 43c0f7ea8e (svn r12141) -Codechange: Introduce IsNormalRoad[Tile](), IsRoadDepot[Tile]() and HasTileRoadType(); and use them. 17 years ago
smatz a0ddc43e92 (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
smatz fd51465c8b (svn r12132) -Cleanup: convert pathfinder selection from if/else to switch/case at many places 17 years ago
smatz 507728f46b (svn r12129) -Change [FS#1759]: simplified patch settings for pathfinders (Yorick) 17 years ago
frosch 7b9efcea21 (svn r12085) -Fix(r12058): Road vehicles could get stuck, when NPF told them to reverse on junction tiles. (spotted by SmatZ) 17 years ago
belugas 034150c199 (svn r12081) -Codechange: Rename table/roadveh.h to table/roadveh_movment.h
It is more descriptive name and it will not upset the generate script anymore
17 years ago
belugas 62b3520e51 (svn r12066) -Codechange: Rename GetBridge for the more common GetBridgeSpec
-Codechange: Remove direct access to the _bridge table in favor of the above mentioned GetBridgeSpec
-Codechange: Rationalize the use of Bridge type pointer
17 years ago
glx 525409b0fc (svn r12037) -Codechange: replace OnNewDay_(Aircraft|RoadVeh|Ship|Train) with an OnNewDay method in the Vehicle class 17 years ago
maedhros 21eef65e77 (svn r11994) -Codechange: Remove numbers from string names where the strings aren't present in TTD, since they don't correspond to either TTD's TextIDs or OpenTTD's StringIDs. 17 years ago
smatz d6eaf1a11a (svn r11962) -Cleanup: OPF is no longer used to update signals 17 years ago
smatz 0b888ccc00 (svn r11960) -Cleanup: simplify some IsTunnel(Tile) / IsBridge(Tile) conditions 17 years ago
smatz 1d59439166 (svn r11916) -Codechange: use enums from VehicleViewWindowWidgets instead of constants
-Fix: refit button widget was not correctly updated
17 years ago
smatz ac7bc24b0e (svn r11882) -Codechange: introduce MarkSingleVehicleDirty() and simplify the code at some places 17 years ago
rubidium 576f8ad93e (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
rubidium dc87b05e8c (svn r11834) -Codechange: only include settings_type.h if needed. 17 years ago
rubidium cc52a56052 (svn r11830) -Fix [FS#1625]: road vehicles would not wait in line, but at a single point on bridges. Based on a patch by SmatZ. 17 years ago
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 17 years ago
rubidium 853ca6386e (svn r11825) -Fix (FS#1627): an articulated road vehicle could split up when it turned around at a corner and then would enter a drive through station at the next tile. 17 years ago
peter1138 ab8382c0db (svn r11822) -Codechange: Replaced fixed size custom name array. Names are now attached to their object directly and there is
no limit to the amount of names.
-Fix: NewGRF engines could not be renamed.
17 years ago
rubidium ac528411df (svn r11818) -Codechange: split player.h into smaller pieces. 17 years ago
rubidium 998d7644f6 (svn r11800) -Codechange: move some functions to a more logical location + some type safety. 17 years ago
rubidium 46650c54b6 (svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114). 17 years ago
peter1138 a01fc4c142 (svn r11789) -Codechange: coding style for global variable names 17 years ago
rubidium 0e517fe023 (svn r11787) -Codechange: more header rewrites. This time related to viewport.h. 17 years ago
rubidium a8a3a7e3f2 (svn r11775) -Codechange: move all autoreplace/autorenew functions to a single location. 17 years ago
rubidium b0ac283aec (svn r11774) -Change: do not include variables.h in a header when it is not needed. 17 years ago
peter1138 7be2160cfb (svn r11770) -Codechange: An engine type's type is EngineID, not byte. 17 years ago
rubidium e5e75bd8f8 (svn r11719) -Codechange: split sound.h in a header with types and one with functions. 17 years ago
smatz 38f0e422ac (svn r11707) -Fix: do not allow refitting flooded (destroyed) vehicles 17 years ago
rubidium 384503e7d3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 17 years ago
rubidium b9046c97fb (svn r11702) -Codechange: move all date related stuff to date*. 17 years ago
rubidium 2786d789a1 (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). 17 years ago
rubidium 429521a7d1 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 17 years ago
rubidium 6a9e77e079 (svn r11680) -Codechange: refactor more out of openttd.h and functions.h. 17 years ago
rubidium 9e9cfe6e59 (svn r11677) -Codechange: move price and command related types/functions to their respective places. 17 years ago
rubidium 433a9f3c09 (svn r11675) -Codechange: split the string types from the string functions. 17 years ago
rubidium 5b49e75453 (svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h 17 years ago
smatz 145517fb8e (svn r11649) -Codechange: some code can be simplified thanks to changes in r11642 17 years ago
smatz 3cee0abdba (svn r11644) -Codechange: merge some functions from tunnel_map.h and bridge_map.h into tunnelbridge_map.h 17 years ago
smatz acf6e08f78 (svn r11642) -Codechange: VehicleFromPos does check for v->tile == tile, so remove useless checks 17 years ago
rubidium a5bcce4fc8 (svn r11621) -Fix [FS#1525]: there were still some cases where one could not build a tram track, but the tram could become blocked. 17 years ago
rubidium 02c46026b3 (svn r11571) -Fix [FS#1493]: road vehicle getting to the wrong side of a station when trying to overtake in there. 17 years ago
skidd13 82913a2134 (svn r11564) -Codechange: Increase the usage of the for_each_bit macro and rename it fitting to the naming style 17 years ago
rubidium 77b6a2674e (svn r11524) -Fix [FS#1485]: assertion when tram reversed at a station. 17 years ago
skidd13 bdc7fd2d76 (svn r11523) -Codechange: Move the CHANCE macros to core/random_func.cpp cause they depend on Random()
-Codechange: Convert the CHANCE macros to functions and rename them fitting to the naming style
17 years ago
skidd13 bf959f926f (svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style 17 years ago
skidd13 a91c2a4c39 (svn r11485) -Codechange: Remove the doubled function ToggleBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 eeaa348f8b (svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 5c31a973a1 (svn r11482) -Codechange: Remove the doubled function ClrBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 71c4325c50 (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 17 years ago
rubidium a4df4728fc (svn r11477) -Fix [FS#1451]: a road vehicle must not show that it is driving max speed when it is standing still waiting for the vehicle in from of it. 17 years ago
skidd13 50bfe1a19d (svn r11476) -Codechange: rename the function myabs to abs to get rid of an unneeded define 17 years ago
skidd13 8be526e499 (svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style 17 years ago
rubidium b1393d1169 (svn r11461) -Fix [FS#1449] (r11449): a bus turning around in a station could case an assertion error. Patch by divide. 17 years ago
rubidium ef6c4c1cdf (svn r11449) -Fix [FS#1160]: trams could deadlock themselves. As of now trams will turn as roadvehicles do when the player cannot build a tram track piece on the next tile without destroying anything. It will not turn when the player can build the before mentioned track piece on the 'next' tile. 17 years ago
rubidium 04925c3f12 (svn r11419) -Fix [FS#1388]: articulated vehicle breaking up when making a 90 degree turn immediately after a 180 degree turn. 17 years ago
truelight 9f319318b4 (svn r11385) -Fix r11383: bool operation can be hard to translate for some people ;) (tnx fjb for noticing this bug ;)) 17 years ago
truelight 4b8aaa994c (svn r11383) -Codechange: fixed all the mess around KillFirstBit (tnx to Rubidium and skidd13) 17 years ago
truelight 69b1d97c03 (svn r11382) -Codechange: renamed COUNTBITS to CountBits, as it is no longer a macro (skidd13) 17 years ago
rubidium 6fe325ae7f (svn r11367) -Fix [FS#1258]: non-articulated road vehicles should be able to overtake (not-too-long) articulated vehicles, i.e. overtaking of articulated vehicles that are several (3+) tiles long is not supported. 17 years ago
rubidium 3a7c8cc88d (svn r11366) -Fix [FS#1258]: road vehicles must not drive through eachother on bridges/in tunnels. 17 years ago
rubidium 4bb210614b (svn r11332) -Fix: vehicles getting a value of 0 on construction.
-Fix: assertion when selling vehicles.
17 years ago
rubidium 28bcf5bb46 (svn r11317) -Fix [FS#1355]: don't read a variable of a destroyed vehicle as the value will be reset to 0. 17 years ago
rubidium b6c9bc80cf (svn r11229) -Fix [FS#1307]: one could sell vehicles that were crashed in a depot, which would still yield money. 17 years ago
rubidium 07f8b91a18 (svn r11200) -Fix [FS#1291]: road vehicles could not overtake on one way roads going to the east. 17 years ago
rubidium 127c7c9b0f (svn r11173) -Codechange: rename some callback enums so they are more uniform. 17 years ago
rubidium 257fdb38e6 (svn r11122) -Fix [FS#1234]: crash when building a NewGRF vehicle when the articulated build vehicle callback returneed a different value for the purchase window than the normal build. Thanks for Dalestan and _minime_ for pointers to possible causes. 17 years ago
rubidium 9da9e77641 (svn r11120) -Codechange: remove the arbitrary limit of 10 articulated parts for a vehicle. 17 years ago
rubidium 38ff181ebf (svn r11072) -Fix [FS#1045]: when a vehicle had a service order, the goto-depot button did not make it possible to stop the vehicle at that depot. 17 years ago
rubidium 56ab253307 (svn r11031) -Codechange: reduce the amount of duplication of bit counting functions. Based on patches by skidd13, SmatZ and Belugas. 17 years ago
rubidium 2c8e50f20c (svn r11017) -Codechange: unify determining whether a vehicle needs/can be service a little more. 17 years ago
rubidium aba867d78d (svn r11011) -Fix [FS#1129]: GetFirstVehicleInChain did change the game state while being marked const.
-Codechange: do not brute force determine the first vehicle in the chain or previous vehicle, but do it by properly accounting the previous and first pointers when updating the next pointer. This gives a performance increase of about 15% when there are a lot of vehicles in the game.
17 years ago
rubidium cb7eaff353 (svn r11003) -Codechange: replace Vehicle->next to Vehicle->Next() and Vehicle->SetNext() so we can trap instances that change a next pointer and (in the future) update the first/previous pointers based on that. 17 years ago
rubidium a407d53d1b (svn r11001) -Codechange: unify the way to determine whether a vehicle is in a depot. 17 years ago
rubidium a83ccad6bd (svn r10983) -Codechange: use vehstatus & VS_CRASHED instead of some other "methods" custom to each vehicle to determine whether the vehicle is crashed. 17 years ago
rubidium 8a86526d05 (svn r10974) -Fix [FS#1144, FS#1155]: road vehicles that could not (properly) use a road stop still tried to go to that road stop. 17 years ago