summaryrefslogtreecommitdiff
path: root/src/articulated_vehicles.cpp
AgeCommit message (Collapse)Author
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-07-02(svn r16723) -Codechange: make GetNextArticPart(), GetLastEnginePart(), ↵smatz
GetNextVehicle(), GetPrevVehicle(), GetNextUnit(), GetPrevUnit() members of Train
2009-07-02(svn r16722) -Codechange: unify the naming of the Is/Set/HasArticulatedPart ↵rubidium
functions
2009-07-02(svn r16721) -Codechange: make Is/SetRoadVehicleFront, ↵rubidium
Is/Set/HasArticulatedPart member of RoadVehicle.
2009-07-02(svn r16720) -Codechange: make Set/ClearFrontEngine(), ↵smatz
Set/ClearArticulatedPart(), Set/ClearWagon(), Set/ClearEngine(), Set/ClearFreeWagon() and Set/ClearMultiheaded() members of Train
2009-07-01(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), ↵smatz
IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
2009-06-27(svn r16679) -Codechange: Let GetCapacityOfArticulatedParts() return a ↵frosch
CargoArray instead of a pointer to a static array.
2009-06-06(svn r16527) -Codechange: use static member functions instead of simple ↵smatz
casts when converting Vehicle to specialised vehicle types. Includes safety check
2009-05-26(svn r16426) -Fix [FS#2921] (r16390): articulated parts got the wrong image ↵rubidium
assigned
2009-05-24(svn r16421) -Codechange: do not unnecessarily remove constness or ↵rubidium
unnecessarily add it.
2009-05-24(svn r16412) -Cleanup: Shuffle vehicle pointers in AddArticulatedParts(), ↵frosch
and remove two of them.
2009-05-24(svn r16411) -Fix (r16390): Building articulated roadvehicles caused ↵frosch
infinite loop due to v->Next() pointing to v itself.
2009-05-23(svn r16394) -Codechange: move (NewGRF) cache variables into a separate ↵rubidium
struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier.
2009-05-22(svn r16393) -Codechange: move VehicleRail to Train.rubidium
2009-05-22(svn r16392) -Codechange: move some variables (the ones that aren't caches) ↵rubidium
from VehicleRail to Train
2009-05-22(svn r16391) -Codechange: use Train instead of Vehicle where appropriate.rubidium
2009-05-22(svn r16390) -Codechange: move u.road to RoadVehicle.rubidium
2009-05-22(svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation ↵smatz
time, binary size and run time (with asserts disabled) should be improved
2009-05-16(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)smatz
2009-05-13(svn r16303) -Codechange: Use the question mark as default sprite when ↵frosch
creating vehicles, instead of arbitrary sprites not related to the vehicle. (though that also applies to the question mark)
2009-05-13(svn r16302) -Codechange: remove Vehicle::AllocateListsmatz
2009-03-18(svn r15763) -Codechange/Fix: Add Engine::GetDisplayDefaultCapacity() and ↵frosch
use it everywhere, so CB 36 is also used everywhere.
2009-03-13(svn r15701) -Fix [FS#2595]: Blame NewGRFs returning inconsistent ↵frosch
information in purchase-list/after building before users have a chance to blame OpenTTD for incorrectly autorenewing/-replacing.
2009-03-11(svn r15676) -Codechange: remove the need for BeginVehicleMove and merge ↵rubidium
VehiclePositionChanged and EndVehicleMove.
2009-03-09(svn r15655) -Codechange: Initialise vehicle vars only after a placement new ↵michi_cc
so possible default constructors don't overwrite the values.
2009-03-09(svn r15654) -Fix: Only ever call any vehicle callbacks after the whole ↵frosch
articulated engine has been built. (except 0x16)
2009-02-27(svn r15592) -Fix: Refit-info in purchase list did only check the first ↵frosch
articulated part.
2009-02-21(svn r15541) -Revert (r15399): 'v->cargo_type' is also used in other places, ↵frosch
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-01-31(svn r15299) -Cleanup: remove many redundant includessmatz
2009-01-09(svn r14933) -Codechange: check the whether a pool item can be constructed ↵rubidium
instead of trying to make it and check for NULL.
2009-01-07(svn r14903) -Fix: First create all articulated parts of roadvehicles, then ↵frosch
call callback 36 capacity, also call it for all articulated parts.
2008-07-27(svn r13850) -Fix [FS#2146]: Fix resp. implement refitting of articulated ↵frosch
vehicles during autoreplace.
2008-07-27(svn r13847) -Codechange: Add MAX_ARTICULATED_PARTS and set it to 100.frosch
2008-06-05(svn r13385) -Fix (r12137): In the purchase list, CB36 for capacity was not ↵peter1138
called for the first part of rail and road vehicles.
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-04-30(svn r12932) -Fix [FS#1970]: Articulated engines ignored GRF engine overrides.peter1138
2008-04-29(svn r12924) -Feature: Introducing the so called 'engine pool' which ↵peter1138
primarily removes the fixed engine type limits and also happens to allow (with the patch option 'dynamic_engines') multiple NewGRF vehicle sets to coexist.
2008-04-21(svn r12819) -Codechange: handle more NewGRFs in the same way as TTDP does ↵rubidium
it, i.e. testing the low bits for 0xFF or 0 instead of all bits.
2008-03-31(svn r12490) -Codechange: rename engine.h to engine_func.h and remove ↵rubidium
unneeded inclusions of engine.h and/or replace them with engine_type.h.
2008-02-14(svn r12137) -Fix [FS#1769]: Show cargo capacity for articulated vehicles ↵peter1138
correctly in the purchase list. Multiple cargo types can also now been shown.
2007-12-27(svn r11706) -Codechange: split vehicle.h and remove another bunch of ↵rubidium
useless includes.
2007-12-25(svn r11692) -Codechange: move some functions from 'functions.h' to a more ↵rubidium
logical place and remove about 50% of the includes of 'functions.h'
2007-12-21(svn r11677) -Codechange: move price and command related types/functions to ↵rubidium
their respective places.
2007-11-19(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming ↵skidd13
style
2007-09-26(svn r11173) -Codechange: rename some callback enums so they are more uniform.rubidium
2007-09-17(svn r11122) -Fix [FS#1234]: crash when building a NewGRF vehicle when the ↵rubidium
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.
2007-09-16(svn r11120) -Codechange: remove the arbitrary limit of 10 articulated parts ↵rubidium
for a vehicle.
2007-09-05(svn r11047) -Fix (r11011) [FS#1205]: desync due to wrong cached vehicle ↵rubidium
length on articulated vehicle construction.
2007-09-01(svn r11033) -Fix [FS#1184] (r11011): building articulated vehicles failed. ↵rubidium
Based on a patch by SmatZ.
2007-08-30(svn r11003) -Codechange: replace Vehicle->next to Vehicle->Next() and ↵rubidium
Vehicle->SetNext() so we can trap instances that change a next pointer and (in the future) update the first/previous pointers based on that.