summaryrefslogtreecommitdiff
path: root/src/autoreplace_cmd.cpp
AgeCommit message (Collapse)Author
2008-05-07(svn r13002) -Fix (r13001): [autoreplace] previous fix broke updating of a ↵bjarni
pointer to the front vehicle in certain cases Now it's updated when it's the front vehicle and it's every time it's the front vehicle and only if it's the front vehicle (nomatter if the replacement works or not)
2008-05-07(svn r13001) -Fix [FS#1994](r12913): [autoreplace] we should stop working on ↵bjarni
vehicles right away if we fail to replace them and certainly not presume their data is valid
2008-05-04(svn r12940) -Fix [FS#1974](r12913): [autoreplace] a vehicle backup should ↵bjarni
include the cargo packets in the vehicle as well
2008-04-27(svn r12913) -Add: ability to backup and restore a player's economic data ↵bjarni
and data for a vehicle (or chain of vehicles) Autoreplace uses this with the following benefits: -Mass autoreplace (the button in the depot window) will now estimate costs correctly -Autoreplace now either replaces correctly or manages to keep the original vehicle (no more broken trains) Thanks to Ammler for testing this
2008-04-19(svn r12797) -Codechange: [autoreplace] moved wagon removal to a function of ↵bjarni
it's own
2008-04-19(svn r12794) -Doc: added missing doxygen comment in autoreplace_cmd.cppbjarni
2008-04-19(svn r12792) -Codechange: [autoreplace] added a function to figure out if a ↵bjarni
replacement is needed and if so, to which EngineID It's designed to save a bit of CPU time, specially if the replacement isn't buildable (think autorenew of old vehicle)
2008-04-19(svn r12791) -Codechange: [autoreplace] Added a flag parameter (listens for ↵bjarni
DC_EXEC and DC_QUERY_COST) and included more info when returning CommandCost This allowed cleaning up the code in MaybeReplaceVehicle()
2008-04-17(svn r12754) -Codechange: split depot.h into depot_map.h, depot_func.h and ↵rubidium
depot_base.h and remove quite a lot of unneeded (before this) includes of depot.h.
2008-04-06(svn r12586) -Codechange: do not access an order's refit variables directly.rubidium
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-03-30(svn r12488) -Codechange: split order.h into order_base.h and order_func.h.rubidium
2008-03-28(svn r12459) -Codechange: split news.h into news_type.h and news_func.h.rubidium
2008-03-25(svn r12421) -Feature: [autoreplace] the autoreplace button in train depots ↵bjarni
will now also replace wagons even if they aren't connected to a locomotive fixed estimated cost in CmdDepotMassAutoReplace() (will still not estimate wagon removal profits) Made it possible to command CmdDepotMassAutoReplace() to either replace everything or nothing (the button will still happily replace just some of the vehicles if cash premits)
2008-03-06(svn r12346) -Fix [FS#1748, FS#1825](r9874, r11872): Remove duplicated and ↵frosch
inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP.
2008-02-23(svn r12231) -Cleanup (r12230): [autoreplace] moved ↵bjarni
Vehicle::NeedsAutorenewing() and added comments
2008-02-23(svn r12230) -Codechange: [autoreplace] made a function to detect if a ↵bjarni
vehicle needs autorenewing This will remove duplicated code and ensure that the check is consistent
2008-02-02(svn r12040) -Codechange: Change IsOrderListShared from a simple function to ↵belugas
a class member(MagicBuzz).
2008-01-19(svn r11929) -Fix (r9981)[FS#1624]: [autoreplace] fixed a case where a ↵bjarni
single headed locomotive caused an assert when being replaced to a dualheaded one This triggered if the player had enough money to replace and refit one of them but not enough to refit the last one as well
2008-01-19(svn r11928) -Fix (r6393): [autoreplace] autoreplace could refit train ↵bjarni
engines to the wrong cargo type if the old engine had no cargo capacity and the new one had Now autoreplace will always look at the wagons to figure out what to replace to (as originally intended)
2008-01-13(svn r11828) -Codechange: include table/* as the last includes and remove an ↵rubidium
unneeded include from openttd.h.
2008-01-12(svn r11822) -Codechange: Replaced fixed size custom name array. Names are ↵peter1138
now attached to their object directly and there is no limit to the amount of names. -Fix: NewGRF engines could not be renamed.
2008-01-12(svn r11818) -Codechange: split player.h into smaller pieces.rubidium
2008-01-09(svn r11793) -Codechange: pass the expense type via the CommandCost instead ↵rubidium
of a global variable. Patch by Noldo (FS#1114).
2008-01-07(svn r11775) -Codechange: move all autoreplace/autorenew functions to a ↵rubidium
single location.
2008-01-07(svn r11774) -Change: do not include variables.h in a header when it is not ↵rubidium
needed.
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-12-21(svn r11675) -Codechange: split the string types from the string functions.rubidium
2007-12-12(svn r11625) -Codechange: add CO_* enum at some places, add includes of ↵smatz
order.h too
2007-11-20(svn r11484) -Codechange: Remove the doubled function SetBitT and rename the ↵skidd13
remaining to fit with the naming style
2007-11-19(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming ↵skidd13
style
2007-09-05(svn r11046) -Codechange: added function to get the next movable ↵bjarni
(non-articulated, non-read end of dualheaded engine) vehicle in a train
2007-09-05(svn r11045) -Codechange: added a function to tell if a vehicle is the rear ↵bjarni
part of a dualheaded train engine
2007-09-05(svn r11044) -Fix (r11043): [autoreplace] a proper fix should cover all ↵bjarni
cases, not just the one mentioned in the bug report Certain dualheaded/articulated consists could still trigger this issue
2007-09-04(svn r11043) -Fix (r10039) [FS#1185]: Autorenew/autoreplace fails silently ↵bjarni
with multiple multi-headed engines
2007-08-30(svn r11011) -Fix [FS#1129]: GetFirstVehicleInChain did change the game ↵rubidium
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.
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.
2007-07-14(svn r10567) -Add [FS#915]: a "group" with ungrouped vehicles. Patch by ↵rubidium
Matthias Wolf.
2007-06-24(svn r10314) -Codechange: Refer to vehicle names by indexpeter1138
2007-06-22(svn r10266) -Codechange: keep track of the origin, time of travel and ↵rubidium
accumulated feeder share (transfers) of individual pieces of cargo. This means that cargo isn't thrown on a big pile when it's put in a station or unloaded at a station, however the GUI does not reflect these changes yet so you will not actually see it.
2007-06-21(svn r10246) -Fix (r10297): some forgotten money conversions and truncation ↵rubidium
issues. Thanks to benc for providing the patch.
2007-06-18(svn r10207) -Codechange: remove the redundant player_money in favour of the ↵rubidium
money64, which is now renamed to player_money.
2007-06-18(svn r10205) -Codechange: refactor returning of cost, so it can be more ↵rubidium
easily modified.
2007-06-18(svn r10197) -Codechange: replace int32 with CommandCost where appropriate.rubidium
2007-06-04(svn r10039) -Fix: [autoreplace] when trying to replace an engine that can't ↵bjarni
carry the wagons the old one carries (GRF restrictoin), then don't try to replace at all
2007-05-29(svn r9982) -Fix (r9874): autoreplacing vehicles from a group could ↵bjarni
sometimes add the new vehicle twice to the engine (EngineID, not total count) count in the group
2007-05-29(svn r9981) -Fix: fixed a rare event that could cause autoreplace to run out ↵bjarni
of money and generate an error (spotted by elmex and UndernotBuilder) This happened if the new engine was a dualheaded engine and there was money to replace and refit the front, but not the rear It also adds the cost of refitting the rear end of dualheaded engines to the cost animations (display only)
2007-05-28(svn r9967) -Fix (r9938): autoreplace would in certain conditions move ↵bjarni
dualheaded engines in a train (usually to the rear) -Change: moving an engine in between the two ends of a dualheaded engine will now move the rear dualheaded engine to the front of the newly added engine (instead of moving the new engine to the rear of the rear dualheaded engine) This can make a difference if there are wagons in the train