Commit Graph

387 Commits (f5b1115039e41d7f75f91e7355003f10dd01b352)

Author SHA1 Message Date
frosch 2e90f7f8b9 (svn r19670) -Codechange: Add CeilDiv() and RoundDiv() to simplify integer divisions with rounding. 14 years ago
frosch 1f28e232c3 (svn r19621) -Codechange: Remove direct usage of magic 'p1's in build vehicle commands. 14 years ago
alberth 05d705e077 (svn r19494) -Codechange: Remove _error_message. 14 years ago
yexo 414071d07f (svn r19463) -Codechange: add helper function to determine if an airport has at least one hangar 14 years ago
yexo c4a88ce022 (svn r19455) -Codechange: split all airport information in Station to a seperate class 14 years ago
yexo 89a069629e (svn r19453) -Codechange: split getting the initial aircraft position to a new function 14 years ago
alberth 7cc68f493d (svn r19405) -Codechange: CheckOwnership() returns a CommandCost. 14 years ago
peter1138 58012c6e6b (svn r19364) -Fix [FS#3668]: Implement custom sound effect for helicopter take-off. 15 years ago
yexo 698737f485 (svn r19198) -Codechange: store the size of stations in savegames 15 years ago
alberth 33a96b5ef3 (svn r19132) -Codechange: No need to end a line with ;;. 15 years ago
rubidium 32cdc157ee (svn r19091) -Cleanup: remove some unneeded zeroing 15 years ago
rubidium 21bd2722cd (svn r19081) -Codechange: make it possible to disable compilation of the AI+Squirrel 15 years ago
yexo f8b0ddd3ec (svn r18949) -Fix (r18942): 'reduced plane crashes' were actually 'more plane crashes' 15 years ago
yexo fa01b25f74 (svn r18942) -Feature [FS#2678]: add a setting to reduce/disable aircraft crashes 15 years ago
yexo da3ff51759 (svn r18940) -Feature: make the crash position of aircraft a bit random by giving aircraft a chance to crash every tick they're breaking.
Slow aircraft will crash a bit less, fast aircraft might crash a bit more
15 years ago
yexo b76a5669f5 (svn r18880) -Fix: aircraft can be send to an hangar when the target airport has one and when it can land, not only when it has a plane terminal 15 years ago
rubidium f94c83a387 (svn r18872) -Codechange: introduce PaletteID and use it 15 years ago
rubidium 4d93b704d9 (svn r18866) -Codechange: remove the CmdFailed(ret)/CmdSucceeded(ret) wrapper functions 15 years ago
yexo a1f28ec88b (svn r18860) -Codechange: introduce a wrapper to get an hangar tile from a station 15 years ago
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
yexo d669801f1d (svn r18807) -Codechange: introduce AirportSpec and move several non-statemachine-related variables to there 15 years ago
rubidium e4af35d316 (svn r18764) -Fix [FS#3422]: split the (un)load ticks counter and signal wait counter; sometimes they might get into eachother's way 15 years ago
rubidium 97e7a584a2 (svn r18616) -Fix [FS#3413]: crash when the current order is a conditional order when a plane is checking whether it needs servicing 15 years ago
rubidium 2555c7966a (svn r18553) -Fix: make aircraft behave the same on autoreplace/autorenew as other vehicles 15 years ago
rubidium 19fa38601d (svn r18402) -Codechange: unify/centralise the code for crashing vehicles 15 years ago
yexo 8bed302bcf (svn r18395) -Fix (r17415): helicopters can turn freely even while in the air 15 years ago
frosch d507136e04 (svn r18268) -Feature: [NewGRF] Make price base multipliers related to vehicles only apply to the GRF locally, if it defines engines of that type itself. 15 years ago
frosch 912bce0b8c (svn r18266) -Codechange: Add a function to compute prices from price base and cost factor and use it consistently for vehicle purchase, running cost, and refit cost. 15 years ago
rubidium bae066ecaf (svn r18123) -Codechange: try our best to keep the vehicles within the build vehicle list/autoreplace lists instead of overflowing. 15 years ago
rubidium 1c5a92ae98 (svn r18121) -Codechange: pass the maximum left/right location to the Draw*Engine functions 15 years ago
frosch ba1fc280e3 (svn r18005) -Codechange: Convert the Prices struct into an array and an enum. 15 years ago
frosch 79627b4f89 (svn r17976) -Codechange: Move CargoClass to cargotype.h and clean up including of newgrf_cargo.h 15 years ago
frosch 67cae40ec1 (svn r17926) -Fix (r9352): Make the decision whether aircraft carry mail consistent. Now always the cargo class decides. 15 years ago
frosch 00aca63b48 (svn r17899) -Codechange: Deduplicate code for refitting vehicles. 15 years ago
frosch 83894809d0 (svn r17897) -Fix [FS#3255]: CB15 and CB36 (capacity) were not always called when they should.
-Codechange: Move capacity calculation to a single function for all vehicle types, so the behaviour can be kept consistent easier.
15 years ago
frosch 334b809644 (svn r17894) -Fix: Invalidate cache of vehicle vars 40-43 after testruns of certain commands, that change them temporarily. 15 years ago
rubidium 8f090ec4a8 (svn r17762) -Fix [FS#3259]: don't let aircraft drive a while over the grass when landing at high altitude airports 15 years ago
frosch f3aacb8fe3 (svn r17725) -Codechange: Reduce usage of EngInfo and XxxVehInfo, esp. when a Engine * is already present. 15 years ago
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
frosch e261d8d9a0 (svn r17616) -Codechange [FS#3222]: Enumerize properties used in callback 0x36. Based on Terkhen's work. 15 years ago
frosch 7fa4d576ca (svn r17594) -Fix: Vehicle image was not always updated when needed. 15 years ago
rubidium 04d5b67eb6 (svn r17567) -Fix: some doxygen warnings 15 years ago
rubidium af457fc9fe (svn r17552) -Codechange: rename load_unload_time_rem to something more generic as it's used for more than just load/unload. Also add some documentation about where it is used. 15 years ago
rubidium 64bafcbe18 (svn r17534) -Codechange: unify the naming of callback masks/flags 15 years ago
frosch ebd916be3d (svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability. 15 years ago
yexo e2122dc7f0 (svn r17483) -Fix (r17405): when an aircraft starts flying in circles make it turn in the correct direction first before continuing 15 years ago
yexo 37d702b2ce (svn r17480) -Fix (r17405): fast aircraft could get stuck flyin gin circles trying to reach a certain point 15 years ago
yexo e540385038 (svn r17415) -Change: make sure aircraft don't move while turning as long as they are on the ground. This prevents a lot of unnecesary turns when leaving terminals 15 years ago
yexo 16e3083ff7 (svn r17405) -Fix (r100): aircraft shouldn't be allowed to make turns bigger then 45 degrees while in flight 15 years ago
yexo 7d25a4014f (svn r17382) -Cleanup: don't set load_unload_time_rem when an aircraft turns in the air as it's not used 15 years ago
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
frosch efcaefd178 (svn r17121) -Fix [FS#3060]: Update vehicle position cache when the vehicle sprite changes. 15 years ago
smatz adcc5338f3 (svn r17085) -Codechange: unify the place where vehicle's cargo ages 15 years ago
rubidium 1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium 4b2592dbc0 (svn r17062) -Change: unify the naming of some 125 strings 15 years ago
rubidium 097e79a86d (svn r17001) -Codechange: replace some more assert(0)s to NOT_REACHED() and document why they (assert(0)) have to stay for the remaining cases. 15 years ago
rubidium 594070194f (svn r16842) -Cleanup: add some spaces around a few operators 15 years ago
smatz b6960e4e17 (svn r16814) -Codechange: make IsNormalAircraft() member of Aircraft 15 years ago
yexo 8bc9adde19 (svn r16648) -Codechange: move some more includes around 15 years ago
yexo 44c15e4196 (svn r16647) -Codechange: remove newgrf.h include from newgrf_engine.h to prevent unnecessary inclusion newgrf.h anyway 15 years ago
smatz 8343340acb (svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile() 15 years ago
smatz 192b9bda7b (svn r16633) -Codechange: remove checks for consistency of newpool 15 years ago
rubidium 512b021e26 (svn r16581) -Codechange: unify the access to Engine::lifelength. 15 years ago
rubidium 4b05617c42 (svn r16580) -Codechange: rename Engine::image_index to original_image_index to not confuse it with image_index from *VehInfo. 15 years ago
frosch 0d782b0f96 (svn r16498) -Codechange: Remove hardly used HASBITS. 15 years ago
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
frosch 9853c0dc22 (svn r16480) -Fix (r15617): Invalidate newgrf variable caches of more vehicles in more places. Esp. they were only invalidated for trains. 15 years ago
frosch 56988b198d (svn r16479) -Fix (r5146): Call callbacks after initialisation of vehicle variables. 15 years ago
smatz 5a463c8347 (svn r16442) -Codechange: use new Vehicle accessors at more places 15 years ago
smatz 7ee882d03f (svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types 15 years ago
yexo 0d56cfabfa (svn r16439) -Change: Make the default vehicle servicing settings company-based settings, so in a multiplayer game everyone can change them. 15 years ago
rubidium 984bd3b98d (svn r16427) -Codechange: replace a few magic numbers with an existing constant and unduplicate a few lines. 15 years ago
frosch a4557c7da4 (svn r16416) -Fix [FS#2912]: Rework deleting of news when referenced vehicles/stations/industries are deleted. 15 years ago
rubidium 6237fe1462 (svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier. 15 years ago
rubidium c882248348 (svn r16388) -Codechange: move u.air to Aircraft 15 years ago
rubidium ada3067960 (svn r16387) -Codechange: use Aircraft instead of Vehicle where appropriate 15 years ago
smatz 62a7948af0 (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 15 years ago
smatz b687ac51ee (svn r16376) -Codechange: Vehicle::Tick() now returns false if the vehicle was deleted 15 years ago
smatz 8808f3beea (svn r16352) -Codechange: use PoolItem::GetIfValid() instead of PoolItem::IsValidID() and PoolItem::Get() 15 years ago
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 15 years ago
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
yexo 31eff1d4c3 (svn r16315) -Codechange: move the autorenew settings to a new CompanySettings struct 15 years ago
frosch 32ecc48ec8 (svn r16303) -Codechange: Use the question mark as default sprite when creating vehicles, instead of arbitrary sprites not related to the vehicle. (though that also applies to the question mark) 15 years ago
smatz 0274886ae1 (svn r16300) -Codechange: reduce usage of Vehicle::AllocateList 15 years ago
rubidium d23f616e9f (svn r16296) -Codechange: silence some ICC warnings 15 years ago
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. 15 years ago
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 16 years ago
rubidium 655b0ccc2e (svn r15676) -Codechange: remove the need for BeginVehicleMove and merge VehiclePositionChanged and EndVehicleMove. 16 years ago
peter1138 733c0c5c5b (svn r15665) -Fix (r8973): Handling of aircraft crash counter did not take account of the reduced number of calls (from 6 down to 2) to the aircraft event handler, resulting in crashed aircraft taking three times longer than they should to clear. Compensate by increasing the counter by 3 on every call instead of 1. 16 years ago
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.
16 years ago
rubidium d846eef0b6 (svn r15434) -Codechange: bit of type safety for the DC_xxx flags. 16 years ago
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 16 years ago
rubidium 377ce6c5bf (svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability. 16 years ago
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
peter1138 3deb373c60 (svn r15131) -Fix: Indentifluxation combobulated 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 3d6c09b38d (svn r14952) -Codechange: unify the "can vehicle go to station" tests 16 years ago
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 16 years ago
glx c7959ce2a9 (svn r14840) -Cleanup: remove duplicate includes 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
smatz 7368c740a6 (svn r14828) -Codechange: move most of save/load-specific code to separate files 16 years ago
rubidium 87e5a8b52b (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 16 years ago
rubidium c2466d9571 (svn r14749) -Codechange: replace a few wrapper functions that only called delete by a direct delete instead. 16 years ago
rubidium 3ebe66a5e4 (svn r14748) -Codechange: unduplicate window updating when deleting vehicles. 16 years ago
rubidium f18043ee21 (svn r14747) -Codechange: remove DeleteVehicleChain in favour of the vehicle destructor as that was already doing the same for a few vehicle types. 16 years ago
smatz 419f6e099f (svn r14743) -Codechange: use INVALID_TILE to indicate station doesn't have queried facility (or station/roadstop is invalid) instead of 0 (Yexo) 16 years ago
frosch fab1a52963 (svn r14672) -Fix [FS#2444]: Property 7 and callback 12 were broken for aircraft.
Now callback 12 is properly called also for 'mail'.
If the callback is not used, 'mail' uses 1/4 of property 7 (rounded up).
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
smatz abbc9cd9cb (svn r14383) -Fix [FS#2316](r14343): handle invalid 'v->u.air.targetairport' in the NewGRF code, too 16 years ago
smatz 192d348f78 (svn r14343) -Fix [FS#2300]: invalid v->u.air.targetairport could cause crashes at several places when the station pool got smaller 16 years ago
rubidium ab4d0e2dac (svn r14309) -Fix [FS#2244]: aircraft frozen above oil rig when the next order is invalid. 16 years ago
smatz 66be028ad4 (svn r14307) -Fix: when deleting a station, remove news items regarding it 16 years ago
rubidium c8e8911ef6 (svn r14223) -Codechange: make GetSprite aware of the 4 different types of sprites: fonts, recolour, mapgen and normal sprites. 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 af21ac537e (svn r13794) -Fix: helicopters leaving a heliport could get stuck after processing conditional orders. 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 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 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
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
peter1138 b418ee5a4c (svn r12809) -Fix (r1704): Possible out of bounds array access. 16 years ago
rubidium b139756e2b (svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp 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 b1d1a4ac66 (svn r12757) -Codechange: move all cheat related stuff from all over the place to a single location. 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
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
rubidium 3abf0eea7c (svn r12631) -Fix [FS#1911]: sometimes aircraft couldn't find their way to their depot. 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 fb1c4eccd8 (svn r12593) -Codechange: hide Order's flags in most of the code. 16 years ago
rubidium 5d8e3adccc (svn r12592) -Fix (r12580): aircraft's go-to-depot handling is a mess, which assumes destination to be a station even when it did not set a destination yet. 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
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