Commit Graph

815 Commits

Author SHA1 Message Date
Michael Lutz 21675ec7e2 Codechange: Un-bitstuff vehicle/engine commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 4f3ea3907e Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID). 2021-12-16 22:28:32 +01:00
Michael Lutz 0f64ee5ce1 Codechange: Template DoCommandP 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.
2021-12-16 22:28:32 +01:00
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.
2021-12-16 22:28:32 +01:00
Michael Lutz 7048e1522f Codechange: Move flags in CommandProc in front of the command arguments. 2021-12-16 22:28:32 +01:00
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.
2021-12-16 22:28:32 +01:00
Michael Lutz 549caca39c Codechange: Move command arguments to the back of the networked command function calls. 2021-12-16 22:28:32 +01:00
Michael Lutz b6933a2ebd Codechange: Move command arguments to the back of the DoCommand function call. 2021-12-16 22:28:32 +01:00
Patric Stout 7acdaaaf2f
Fix: Prevent train reversing when wholly inside a train depot (#9557)
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2021-09-18 15:56:23 +02:00
Michael Lutz ee333a9549
Fix 2183fd4d: [NewGRF] Use divide instead of right shift for signed numbers. (#9480)
"For negative a, the value of a >> b is implementation-defined (in most implementations, this performs arithmetic right shift, so that the result remains negative)."
2021-08-15 12:14:53 +02:00
Vít Šefl 2183fd4dab
Feature: [NewGRF] Maximum curve speed modifier for rail vehicles (#9346) 2021-08-15 11:17:05 +02:00
glx22 49b66ea504 Codechange: Remove FOR_EACH_SET_TRACK 2021-07-09 21:36:09 +02:00
glx22 5799402f7a Codechange: Rename window related DeleteXXX to match new behaviour 2021-05-29 21:08:25 +02:00
rubidium42 2e136285e1 Codechange: move from C-string to std::string for DoCommand 2021-05-29 19:02:18 +02:00
rubidium42 b791ffc6de Fix: do not hide parameter by local variable with the same name 2021-05-27 18:30:56 +02:00
Jonathan G Rennison a896753ecc Fix #9264: Do not attach temporary wagons to free wagon chains when autoreplacing 2021-05-23 21:05:55 +02:00
rubidium42 44ca7d9377 Change: Use gender-neutral pronouns 2021-05-15 10:16:48 +02:00
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 2021-02-20 19:01:04 +01:00
Patric Stout cd36e17160
Fix: don't allow free-wagon-chains to exceed max-train-length (#8533)
This makes no sense, that a free-wagon-chain could be larger than
the maximum length of a train, as you cannot put an engine in
front of that anyway. And it prevents run-away AIs making very
silly long free-wagon-chains.
2021-01-11 20:58:00 +01:00
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Patric Stout dff7ee8e1c
Fix #7611: keeps news about accidents around after vehicle is cleaned up (#8497)
When a vehicle is cleaned up, all news that points to the news is
also removed. This was a bit evil, as it would also remove any
news related to crashed, acting like the crash never happened.
This left players a bit in the dark what was going on exactly.
2021-01-05 21:39:23 +01:00
Matt Kimber 9b28b15e67 Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods 2021-01-05 11:42:25 +01:00
Andy 0f91cb0479
Fix: GetCurveSpeedLimit needs railtype from current tile (#8466) 2021-01-03 22:19:06 +01:00
glx d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
JMcKiern 04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Henry Wilson c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
Henry Wilson a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
Michael Lutz cc5f175615 Feature: Railtype flags to allow/disallow 90 degree curves. (#7352) 2019-03-10 08:12:47 +00:00
Michael Lutz 690d1dd6a4 Fix #7159, e934f09: Waiting time at red one-way signals was too short.
This is not an exact fix as previously, the wait time was speed/acceleration dependant. This simple fix ignores that and just makes the 'days' from the settings comment to be actually days.
2019-02-21 23:19:03 +00:00
J0an Josep 029c48cf4a Cleanup: [NPF] Remove unused parameter. 2019-01-31 22:15:56 +00:00
J0an Josep 96c5e5e73a Cleanup: [NPF] Remove unused parameters. 2019-01-31 22:15:56 +00:00
Joan Josep 96854b2b8b Codechange #5859: Simplify CheckTrainStayInDepot() (#7045) 2019-01-12 17:04:04 +00:00
Andy e934f09f02 Fix: Don't increase motion counter while train is waiting at non-path signals (Author: frosch123) #5877 (#7018) 2019-01-09 18:37:58 +01:00
Charles Pigott bb7353c02a Codechange: Some more null checks 2018-10-31 12:41:49 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Niels Martin Hansen 2a868b9f3b Feature: Framerate display window (#6822)
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-07-19 21:17:07 +02:00
PeterN c2a7728084
Fix: Prevent ships moving into docks after finishing (un)loading. (#6791) 2018-06-14 09:25:39 +01:00
PeterN a07394a63a
Change: Remove direction parameter from Vehicle::UpdateDeltaXY. (#6792)
The value is either unused or always the same as this->direction.
2018-05-22 18:43:34 +01:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
peter1138 5951d2406e (svn r27811) -Change: Remove unused parameters in FreeTrainTrackReservation
FreeTrainTrackReservation is always called with INVALID_TILE
and INVALID_TRACKDIR as second and third arguments, so remove
them and just use those constants instead. (cirdan)
2017-03-20 17:49:44 +00:00
peter1138 67ab0450dd (svn r27809) -Codechange: Improve check in UpdateLevelCrossing
In UpdateLevelCrossing, checking if a level crossing is reserved is
cheaper than finding trains on it or approaching it, so do it first. (cirdan)
2017-03-20 08:04:47 +00:00
frosch c175067ed9 (svn r27667) -Codechange: Add VehicleSpriteSeq::GetBounds and Draw. 2016-10-16 14:58:38 +00:00
frosch d2393b4f6c (svn r27666) -Codechange: Pass vehicle sprites around using a struct VehicleSpriteSeq. 2016-10-16 14:57:56 +00:00
frosch a6d1d128da (svn r27663) -Codechange: Deduplicate code when rotating crashed vehicles. 2016-10-16 14:56:33 +00:00
frosch d188d02384 (svn r27580) -Fix [FS#6395]: Set date of last service on construction also for wagons and articulated parts. 2016-05-22 11:45:03 +00:00
frosch 378653100b (svn r27419) -Fix [FS#6369]: CmdSellRailWagon did not revert all actions properly when no orderlist could be allocated. (Juanjo) 2015-10-30 16:18:39 +00:00
frosch beb213f9ee (svn r27209) -Add: Draw path reservation on the whole bridge, not only on the bridge heads. 2015-03-28 14:04:06 +00:00
frosch a8080b6256 (svn r27134) -Codechange: Simplify GUI scaling by adding UnScaleGUI() and ScaleGUITrad(). 2015-02-01 20:54:24 +00:00
rubidium d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 2014-10-15 18:31:37 +00:00
peter1138 ce9fab58bc (svn r26951) -Codechange: Do the GUI-scale dance for vehicle, depot, and purchase lists. 2014-10-04 16:40:23 +00:00
peter1138 c64586ea44 (svn r26907) -Codechange: Scale engine purchase list to GUI zoom level for multihead engines. 2014-09-22 13:13:02 +00:00
rubidium 6c2abf0930 (svn r26863) -Codechange: move a number of Vehicle* functions into the Vehicle class 2014-09-20 15:31:26 +00:00
fonsinchen c915d9fa55 (svn r26546) -Codechange: Make order wait_time, travel_time and max_speed private 2014-05-01 14:48:44 +00:00
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 2014-04-23 20:13:33 +00:00
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. 2014-02-07 23:48:56 +00:00
rubidium d2ba772f6a (svn r26130) -Codechange: add some guards against using invalid image indices 2013-11-26 16:08:58 +00:00
rubidium 7abe85d727 (svn r26129) -Fix: remove dead code; it could be made to do what it did, but then it would be inconsistent with moving vehicles around 2013-11-26 15:30:41 +00:00
rubidium 54a8e00a7e (svn r26126) -Cleanup: remove unneeded check for NULL 2013-11-26 14:52:28 +00:00
frosch 8fbd2f5cb5 (svn r26026) -Fix (r25648) [FS#5775-ish]: Invalidate vehicle colour palette again when rearranging consist, reversing, ... 2013-11-17 16:01:50 +00:00
rubidium 169bf3a403 (svn r25955) -Fix [FS#5723]: Train's "force proceed" status gets reset when the track on the other side of the tile has a signal (adf88) 2013-11-08 22:24:21 +00:00
frosch 0aae2fd606 (svn r25946) -Add: [NewGRF Debuggnig] Inspecting other vehicles in a chain. 2013-11-07 18:17:21 +00:00
frosch 322b2da953 (svn r25744) -Fix (r25648): [NewGRF] Also invalidate vehicle colour palette when rearranging consists. 2013-08-25 15:43:52 +00:00
frosch fbe6b92b1d (svn r25698) -Fix [FS#5700]: Autoreplace/renew also refits free wagons. 2013-08-06 21:01:14 +00:00
frosch 5bda07c10c (svn r25648) -Change [FS#5669]: [NewGRF] Invalidate vehicle recolour palette during (un)loading. 2013-08-04 14:02:27 +00:00
rubidium 254c3834d0 (svn r25319) -Fix [FS#5570]: crash when train with reserved cargo vanishes 2013-06-04 15:04:59 +00:00
rubidium 3947453277 (svn r25259) -Codechange: track capacities and usage of links 2013-05-19 14:22:04 +00:00
michi_cc 461d366f30 (svn r25200) -Fix (r24846): The level crossing sound is an ambient sound and not a new year sound. 2013-04-24 00:37:06 +00:00
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) 2013-04-13 13:42:08 +00:00
frosch 1eb6e76d08 (svn r25167) -Fix [FS#5523] (r24832): Original train and rv acceleration did no longer respect bridge speed limits. 2013-04-08 19:55:24 +00:00
rubidium ced17303c2 (svn r24998) -Fix [FS#5137]: Set vehicle's service interval is percent flag appropriately on creation (peter1138) 2013-02-14 17:24:55 +00:00
rubidium c77cd1f409 (svn r24994) -Codechange: Replace access to service_interval with accessors (peter1138) 2013-02-14 17:04:01 +00:00
peter1138 c00a400cc7 (svn r24905) -Feature(ish): Implement station randomisation triggers. 2013-01-11 07:39:25 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
frosch 3ce8d2ce70 (svn r24846) -Add: Advanced settings to disable certain sound effects. 2012-12-23 21:09:09 +00:00
michi_cc 245e32a10e (svn r24839) -Feature [FS#5271]: [NewGRF] Support oversized purchase list sprites. (Based on patch by Eddi) 2012-12-23 01:00:25 +00:00
michi_cc 01566d6816 (svn r24834) -Fix [FS#5396]: The autorefit dropdown in the order GUI wasn't always updated when modifying vehicle consists. 2012-12-20 19:44:06 +00:00
michi_cc c75962e04c (svn r24833) -Codechange: Replace magic numbers for invalidating vehicle-related windows with an enum. 2012-12-20 19:44:02 +00:00
michi_cc 8eb1cb4ebb (svn r24832) -Fix [FS#5397]: [NewGRF] Take bridge speed limits into account for vehicle variable 4C. 2012-12-20 19:43:58 +00:00
michi_cc 0ef3ce8c08 (svn r24831) -Fix [FS#5398]: [NewGRF] Incorrect values are better than a crash when a NewGRF queries vehicle variable 4C before vehicle initialisation is completed. 2012-12-20 19:43:54 +00:00
frosch 0a4fe02a47 (svn r24713) -Fix [FS#5262]: [NewGRF] Tolerate old NewGRFs returning invalid values via CB 11. 2012-11-12 20:13:02 +00:00
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. 2012-07-07 15:39:46 +00:00
frosch 22632d5e9a (svn r24382) -Fix: Call Vehicle::IsStoppedInDepot only for the first vehicle in a chain (i.e. primary vehicle or free wagon). 2012-07-07 15:35:28 +00:00
frosch a8c88f43b6 (svn r24284) -Codechange: Remove NewsSubtypes and directly use NewsTypes and NewsFlag instead. 2012-05-26 14:16:03 +00:00
frosch 00b3ff80bb (svn r24282) -Codechange: Add AddVehicleAdviceNewsItem function to preemptively deduplicate code. 2012-05-26 14:15:52 +00:00
michi_cc ce5c936b07 (svn r24246) -Add [FS#5052-ish]: [NewGRF] Variable with the current max speed for vehicles. 2012-05-14 19:56:49 +00:00
michi_cc 7e438d27f1 (svn r24078) -Fix [FS#5093,FS#5130] (r24071): A fix that breaks all other cases isn't really a fix. Redo it to make sure that reservations of trains entering or exiting depots are properly made and freed. 2012-03-29 12:27:34 +00:00
michi_cc f8b62a3c7a (svn r24071) -Fix [FS#5093]: Reversing trains while they were entering or leaving a depot could lead to stuck trains. 2012-03-25 23:42:49 +00:00
michi_cc f2c694c8fb (svn r23947) -Feature: Timetabled maximum travel speeds for non-flying vehicles. 2012-02-14 17:04:06 +00:00
rubidium 6045c9e383 (svn r23855) -Fix [FS#5007]: out of bounds read for slowdown parameter caused desync when railtype >= 4, vehicles were fast, and the original acceleration model was used 2012-01-26 17:48:23 +00:00
rubidium 2728cb21a9 (svn r23781) -Fix [FS#4964]: under certain circumstances, e.g. a single invalid order, trying to determine the next order state could end up in an infinite loop 2012-01-09 22:19:53 +00:00
michi_cc 9232a2ef0c (svn r23773) -Change: [NewGRF] Update all cached train properties if a train vehicle enters a new railtype. 2012-01-08 12:47:54 +00:00
frosch 7ff95b9e97 (svn r23744) -Fix (r23142) [FS#4923]: Check the version of the right GRF. 2012-01-03 22:36:35 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain 091bc25a90 (svn r23714) -Codechange: don't mix Viewport with non-viewport code 2012-01-02 13:44:37 +00:00
truebrain 0d929e877f (svn r23713) -Codechange: split VehicleMove() into two functions, to minimalize the work done where possible 2012-01-02 13:44:30 +00:00
alberth 4af8c2d5e1 (svn r23704) -Doc: Doxygen comment fixes and additions. 2012-01-01 17:22:32 +00:00