Michael Lutz
e740c24eb7
Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
Michael Lutz
7048e1522f
Codechange: Move flags in CommandProc in front of the command arguments.
3 years ago
Michael Lutz
33ca4f2b99
Codechange: Let the compile generate the master command table out of templated command traits.
...
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
3 years ago
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
3 years ago
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
3 years ago
Jonathan G Rennison
8a33e98834
Fix #8169 : nullptr dereference when autoreplacing vehicle with no orders ( #9387 )
3 years ago
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
3 years ago
frosch
5bd8144853
Fix #9256 , 12e43c697d2: invalid read after free. ( #9258 )
...
This also changes ScriptEventVehicleAutoReplaced when replacing wagons:
The event is now only spawned, if the head engine changes, so only if the VehicleID of the consist changes.
Previously replacing wagons spawned an event with OldVehicleID==NewVehicleID.
3 years ago
peter1138
a05bc04b63
Feature: Per-group wagon removal flag.
3 years ago
Patric Stout
fece1c57ca
Codechange: Suppress warnings when asserts are disabled ( #8917 )
3 years ago
Jonathan G Rennison
e059a88533
Fix: Autorenew failure advice due to bad refit being shown to all companies ( #8681 )
3 years ago
Chris Stevens
a6aec252b1
Fix #8153 : Report incompatible cargo/order when autoreplace fails ( #8169 )
4 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
glx22
d8605ad18d
Codechange: Replace FOR_VEHICLE_ORDERS with range-based for loops
4 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
glx
12e43c697d
Add: [Script] ScriptEventVehicleAutoReplaced.
5 years ago
JMcKiern
04f659e768
Fix: Some typos found using codespell
5 years ago
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
5 years ago
peter1138
d54b6ac09b
Feature: When filtering purchase list by cargo type, make buy button perform a refit if required.
5 years ago
Joan Josep
823c5bfa3b
Fix #5978 : Ensure group GUI stats and lists are invalidated properly (3298, Juanjo) ( #7046 )
6 years ago
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
6 years ago
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
6 years ago
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
10 years ago
frosch
41b7a04a68
(svn r26317) -Fix [FS#5897]: Check whether NewGRF change vehicle capacity when they are not supposed to, and truncate cargo appropiately if they are allowed to.
11 years ago
frosch
5eddbb338b
(svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen)
11 years ago
rubidium
cdb0a76958
(svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load improved loading) instead of calculating if for every cycle
12 years ago
rubidium
2795ed5b09
(svn r25008) -Codechange: Make CargoList::Truncate behave similarly to CargoList::MoveTo, i.e. pass the amount to truncate (fonsinchen)
12 years ago
peter1138
13e8656804
(svn r24939) -Fix: Redraw autoreplace window properly in network games.
12 years ago
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
frosch
48e0d9901f
(svn r24443) -Codechange: Move Vehicle::name to BaseConsist.
12 years ago
frosch
08a8c3a773
(svn r24384) -Fix [FS#5188-ish]: Make IsInDepot() functions behave consistent across vehicle types and add IsChainInDepot instead, if that is what shall be checked.
12 years ago
frosch
22632d5e9a
(svn r24382) -Fix: Call Vehicle::IsStoppedInDepot only for the first vehicle in a chain (i.e. primary vehicle or free wagon).
12 years ago
frosch
a9165d3f32
(svn r24201) -Fix [FS#5170]: Mark group list dirty when setting/clearing autoreplace for an engine type.
12 years ago
michi_cc
6a70abbd99
(svn r24136) -Feature [FS#4465]: Autoreplace vehicles only when they get old. (Vikthor)
12 years ago
frosch
5167f2be29
(svn r23965) -Fix [FS#5070]: Refittability should never depend on the current capacity of a vehicle.
13 years ago
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
13 years ago
rubidium
8d125a60ce
(svn r23683) -Fix [FS#4912]-ish: when fitting another engine the cargo capacity of wagons could become lower, causing them to contain more than they should. This caused the cargo transfer from the replaced parts to put even more stuff in the already full wagon. Prevent this from happening by reducing the amount of cargo in the vehicle to the capacity when moving vehicles/wagons around, or when autoreplacing
13 years ago
rubidium
3d88c74389
(svn r23526) -Codechange: unify cargos vs cargoes
13 years ago
frosch
2fe8e89a45
(svn r23487) -Change/Fix: Make autoreplace, autorenew, cloning and autorefit check all articulated parts of a vehicle to find a shared cargo subtype.
13 years ago
michi_cc
f200ffa90c
(svn r23087) -Feature: Auto-refitting of vehicles during loading at a station when the vehicle allows it.
13 years ago
frosch
d071eefc54
(svn r22985) -Feature: Display autoreplace status in group GUI.
13 years ago
frosch
b2bc7797bf
(svn r22876) -Fix [FS#4712]: Report an error in the news if autoreplace/renew fails due to the engine type being no longer available.
13 years ago
rubidium
4836a6e50e
(svn r22845) -Fix [FS#4745]: perform stricter checks on some commands (monoid)
13 years ago
rubidium
95b6aeaabd
(svn r22078) -Fix [FS#4499]: maximum train length interfered with wagon replacement when wagon removal was turned on
14 years ago
rubidium
1d0d7635e0
(svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so it doesn't recompile everything that needs to be recompiled...
14 years ago
terkhen
734994c9ba
(svn r21924) -Codechange: Unify some parts of the articulated vehicle code.
...
-Cleanup: Avoid conversions to Train and RoadVehicle that are no longer required.
14 years ago
rubidium
12b64a12b0
(svn r21910) -Codechange: rename some autoreplace internal functions so they don't collide with globabl functions
14 years ago
terkhen
48b7916458
(svn r21521) -Codechange: Unify some cached values that were present in both road vehicles and trains.
14 years ago