bjarni
d3650ecb3a
(svn r13002) -Fix (r13001): [autoreplace] previous fix broke updating of a 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)
17 years ago
bjarni
addcd2bb2e
(svn r13001) -Fix [FS#1994](r12913): [autoreplace] we should stop working on vehicles right away if we fail to replace them and certainly not presume their data is valid
17 years ago
bjarni
02709df7e3
(svn r13001) -Fix [FS#1994](r12913): [autoreplace] we should stop working on vehicles right away if we fail to replace them and certainly not presume their data is valid
17 years ago
bjarni
63fea0790b
(svn r12940) -Fix [FS#1974](r12913): [autoreplace] a vehicle backup should include the cargo packets in the vehicle as well
17 years ago
bjarni
dbf6e344a4
(svn r12940) -Fix [FS#1974](r12913): [autoreplace] a vehicle backup should include the cargo packets in the vehicle as well
17 years ago
bjarni
783e20a263
(svn r12913) -Add: ability to backup and restore a player's economic data 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
17 years ago
bjarni
757de2bdf5
(svn r12913) -Add: ability to backup and restore a player's economic data 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
17 years ago
bjarni
fa4967d845
(svn r12797) -Codechange: [autoreplace] moved wagon removal to a function of it's own
17 years ago
bjarni
de015fbf90
(svn r12797) -Codechange: [autoreplace] moved wagon removal to a function of it's own
17 years ago
bjarni
fa549be09e
(svn r12794) -Doc: added missing doxygen comment in autoreplace_cmd.cpp
17 years ago
bjarni
c360e71e3c
(svn r12794) -Doc: added missing doxygen comment in autoreplace_cmd.cpp
17 years ago
bjarni
db403cbe92
(svn r12792) -Codechange: [autoreplace] added a function to figure out if a 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)
17 years ago
bjarni
01549e1574
(svn r12792) -Codechange: [autoreplace] added a function to figure out if a 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)
17 years ago
bjarni
44145548ea
(svn r12791) -Codechange: [autoreplace] Added a flag parameter (listens for DC_EXEC and DC_QUERY_COST) and included more info when returning CommandCost
...
This allowed cleaning up the code in MaybeReplaceVehicle()
17 years ago
bjarni
ad3ef0fb26
(svn r12791) -Codechange: [autoreplace] Added a flag parameter (listens for DC_EXEC and DC_QUERY_COST) and included more info when returning CommandCost
...
This allowed cleaning up the code in MaybeReplaceVehicle()
17 years ago
rubidium
6d063c3ad6
(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.
17 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.
17 years ago
rubidium
3edb967ecf
(svn r12586) -Codechange: do not access an order's refit variables directly.
17 years ago
rubidium
e68b2088ce
(svn r12586) -Codechange: do not access an order's refit variables directly.
17 years ago
rubidium
df1d9bd880
(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.
17 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.
17 years ago
rubidium
b84b16cfcd
(svn r12488) -Codechange: split order.h into order_base.h and order_func.h.
17 years ago
rubidium
4a1035ab95
(svn r12488) -Codechange: split order.h into order_base.h and order_func.h.
17 years ago
rubidium
2426f5342f
(svn r12459) -Codechange: split news.h into news_type.h and news_func.h.
17 years ago
rubidium
eeabab4555
(svn r12459) -Codechange: split news.h into news_type.h and news_func.h.
17 years ago
bjarni
b05919cc5a
(svn r12421) -Feature: [autoreplace] the autoreplace button in train depots 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)
17 years ago
bjarni
06c0e5df5a
(svn r12421) -Feature: [autoreplace] the autoreplace button in train depots 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)
17 years ago
frosch
0689524481
(svn r12346) -Fix [FS#1748, FS#1825](r9874, r11872): Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP.
17 years ago
frosch
8f556828f0
(svn r12346) -Fix [FS#1748, FS#1825](r9874, r11872): Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP.
17 years ago
bjarni
801bd045fe
(svn r12231) -Cleanup (r12230): [autoreplace] moved Vehicle::NeedsAutorenewing() and added comments
17 years ago
bjarni
8290a798fc
(svn r12231) -Cleanup (r12230): [autoreplace] moved Vehicle::NeedsAutorenewing() and added comments
17 years ago
bjarni
973d1fd6ad
(svn r12230) -Codechange: [autoreplace] made a function to detect if a vehicle needs autorenewing
...
This will remove duplicated code and ensure that the check is consistent
17 years ago
bjarni
089969e1ca
(svn r12230) -Codechange: [autoreplace] made a function to detect if a vehicle needs autorenewing
...
This will remove duplicated code and ensure that the check is consistent
17 years ago
belugas
33e63a3adc
(svn r12040) -Codechange: Change IsOrderListShared from a simple function to a class member(MagicBuzz).
17 years ago
belugas
fc4f6dcfb1
(svn r12040) -Codechange: Change IsOrderListShared from a simple function to a class member(MagicBuzz).
17 years ago
bjarni
9fdf784b7c
(svn r11929) -Fix (r9981)[FS#1624]: [autoreplace] fixed a case where a 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
17 years ago
bjarni
e91230415d
(svn r11929) -Fix (r9981)[FS#1624]: [autoreplace] fixed a case where a 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
17 years ago
bjarni
52e5f50158
(svn r11928) -Fix (r6393): [autoreplace] autoreplace could refit train 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)
17 years ago
bjarni
2f6ee3a4a1
(svn r11928) -Fix (r6393): [autoreplace] autoreplace could refit train 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)
17 years ago
rubidium
90acd52f22
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
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
peter1138
0f7392bd61
(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
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
2fc62eab05
(svn r11818) -Codechange: split player.h into smaller pieces.
17 years ago
rubidium
ac528411df
(svn r11818) -Codechange: split player.h into smaller pieces.
17 years ago
rubidium
0365c1f33b
(svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114).
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
rubidium
e2f7ec1d3e
(svn r11775) -Codechange: move all autoreplace/autorenew functions to a single location.
17 years ago
rubidium
a8a3a7e3f2
(svn r11775) -Codechange: move all autoreplace/autorenew functions to a single location.
17 years ago
rubidium
444e77d8bc
(svn r11774) -Change: do not include variables.h in a header when it is not needed.
17 years ago
rubidium
b0ac283aec
(svn r11774) -Change: do not include variables.h in a header when it is not needed.
17 years ago
rubidium
722613f7f3
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
17 years ago
rubidium
384503e7d3
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
17 years ago
rubidium
81bf9f8503
(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
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
766551b0bc
(svn r11677) -Codechange: move price and command related types/functions to their respective places.
17 years ago
rubidium
9e9cfe6e59
(svn r11677) -Codechange: move price and command related types/functions to their respective places.
17 years ago
rubidium
8427b8bad2
(svn r11675) -Codechange: split the string types from the string functions.
17 years ago
rubidium
433a9f3c09
(svn r11675) -Codechange: split the string types from the string functions.
17 years ago
smatz
3b59b68a15
(svn r11625) -Codechange: add CO_* enum at some places, add includes of order.h too
17 years ago
smatz
5acc147c1c
(svn r11625) -Codechange: add CO_* enum at some places, add includes of order.h too
17 years ago
skidd13
3ae50673a3
(svn r11484) -Codechange: Remove the doubled function SetBitT 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
c0a2c0c23e
(svn r11481) -Codechange: Rename the HASBIT function 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
bjarni
128e71cde9
(svn r11046) -Codechange: added function to get the next movable (non-articulated, non-read end of dualheaded engine) vehicle in a train
17 years ago
bjarni
f7d1c125b1
(svn r11046) -Codechange: added function to get the next movable (non-articulated, non-read end of dualheaded engine) vehicle in a train
17 years ago
bjarni
7cd2aeb1c9
(svn r11045) -Codechange: added a function to tell if a vehicle is the rear part of a dualheaded train engine
17 years ago
bjarni
7cdf6d1cbe
(svn r11045) -Codechange: added a function to tell if a vehicle is the rear part of a dualheaded train engine
17 years ago
bjarni
9e5376fefe
(svn r11044) -Fix (r11043): [autoreplace] a proper fix should cover all cases, not just the one mentioned in the bug report
...
Certain dualheaded/articulated consists could still trigger this issue
17 years ago
bjarni
1028e2dc91
(svn r11044) -Fix (r11043): [autoreplace] a proper fix should cover all cases, not just the one mentioned in the bug report
...
Certain dualheaded/articulated consists could still trigger this issue
17 years ago
bjarni
b50a3d7522
(svn r11043) -Fix (r10039) [FS#1185]: Autorenew/autoreplace fails silently with multiple multi-headed engines
17 years ago
bjarni
75bc407c46
(svn r11043) -Fix (r10039) [FS#1185]: Autorenew/autoreplace fails silently with multiple multi-headed engines
17 years ago
rubidium
732845440a
(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
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
235ad4ab6b
(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
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
13692798e6
(svn r10567) -Add [FS#915]: a "group" with ungrouped vehicles. Patch by Matthias Wolf.
17 years ago
rubidium
7aec26887c
(svn r10567) -Add [FS#915]: a "group" with ungrouped vehicles. Patch by Matthias Wolf.
17 years ago
peter1138
3878c55f34
(svn r10314) -Codechange: Refer to vehicle names by index
17 years ago
peter1138
fc7418d19d
(svn r10314) -Codechange: Refer to vehicle names by index
17 years ago
rubidium
fc201d4ad8
(svn r10266) -Codechange: keep track of the origin, time of travel and 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.
17 years ago
rubidium
e5c352818d
(svn r10266) -Codechange: keep track of the origin, time of travel and 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.
17 years ago
rubidium
0d8e82b7d7
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
17 years ago
rubidium
f806b46cc9
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
17 years ago
rubidium
7dda2d93da
(svn r10207) -Codechange: remove the redundant player_money in favour of the money64, which is now renamed to player_money.
17 years ago
rubidium
7a72dcb3b5
(svn r10207) -Codechange: remove the redundant player_money in favour of the money64, which is now renamed to player_money.
17 years ago
rubidium
773a7c9cb6
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
17 years ago
rubidium
49220cc6f1
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
17 years ago
rubidium
3ccc83e640
(svn r10197) -Codechange: replace int32 with CommandCost where appropriate.
17 years ago
rubidium
966e2738b9
(svn r10197) -Codechange: replace int32 with CommandCost where appropriate.
17 years ago
bjarni
1026c865fd
(svn r10039) -Fix: [autoreplace] when trying to replace an engine that can't carry the wagons the old one carries (GRF restrictoin), then don't try to replace at all
18 years ago
bjarni
9f44031a27
(svn r10039) -Fix: [autoreplace] when trying to replace an engine that can't carry the wagons the old one carries (GRF restrictoin), then don't try to replace at all
18 years ago
bjarni
eecf582cc4
(svn r9982) -Fix (r9874): autoreplacing vehicles from a group could sometimes add the new vehicle twice to the engine (EngineID, not total count) count in the group
18 years ago
bjarni
7d3d73e104
(svn r9982) -Fix (r9874): autoreplacing vehicles from a group could sometimes add the new vehicle twice to the engine (EngineID, not total count) count in the group
18 years ago
bjarni
6ce4211ad5
(svn r9981) -Fix: fixed a rare event that could cause autoreplace to run out 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)
18 years ago
bjarni
eb5b4ecd4a
(svn r9981) -Fix: fixed a rare event that could cause autoreplace to run out 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)
18 years ago
bjarni
bcb668c2ff
(svn r9967) -Fix (r9938): autoreplace would in certain conditions move 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
18 years ago
bjarni
a6bea527a3
(svn r9967) -Fix (r9938): autoreplace would in certain conditions move 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
18 years ago
bjarni
3963b48f17
(svn r9938) -Fix [FS#799]: 100 wagons train + replace engine
...
Replacing a unit in a train will now remove the old unit before adding the new one. This will solve issues when max train length has been reached
18 years ago
bjarni
fd2d6329f3
(svn r9938) -Fix [FS#799]: 100 wagons train + replace engine
...
Replacing a unit in a train will now remove the old unit before adding the new one. This will solve issues when max train length has been reached
18 years ago
rubidium
6ef7915e6e
(svn r9881) -Fix (FS#782, r9874): accidentally removed one condition too many causing asserts.
18 years ago
rubidium
904619f631
(svn r9881) -Fix (FS#782, r9874): accidentally removed one condition too many causing asserts.
18 years ago
rubidium
86bb5cc2a6
(svn r9878) -Fix (9874): some vehicle count's were not properly updated on delete or autoreplace of vehicles.
18 years ago
rubidium
4570a8954a
(svn r9878) -Fix (9874): some vehicle count's were not properly updated on delete or autoreplace of vehicles.
18 years ago
rubidium
8f0f090c51
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
18 years ago
rubidium
7d4be11516
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
18 years ago
bjarni
5eb076402f
(svn r9753) -Fix [FS#732]: trains are lost after autorenewal/autoreplace
...
v->dest_tile is now copied when replacing the front engine
18 years ago
bjarni
95e48eacac
(svn r9753) -Fix [FS#732]: trains are lost after autorenewal/autoreplace
...
v->dest_tile is now copied when replacing the front engine
18 years ago
bjarni
809888fa21
(svn r9688) -Codechange: Created a function to get default cargo type for a cargo type
18 years ago
bjarni
73875647b5
(svn r9688) -Codechange: Created a function to get default cargo type for a cargo type
18 years ago
rubidium
7577954ced
(svn r9672) -Cleanup: lots of coding style fixes around operands.
18 years ago
rubidium
80c259f64f
(svn r9672) -Cleanup: lots of coding style fixes around operands.
18 years ago
bjarni
b6efe5482d
(svn r9073) -Codechange: moved autoreplace to a file of it's own (now autoreplace has a cmd and a gui file)
18 years ago
bjarni
f776f3beb1
(svn r9073) -Codechange: moved autoreplace to a file of it's own (now autoreplace has a cmd and a gui file)
18 years ago