Peter Nelson
20e57a02a2
Codechange: Use GetString() with argument parameters in simple cases. ( #13551 )
...
Avoids using global string parameters.
2025-02-14 00:10:56 +00:00
Rubidium
c3d5e6d2a0
Codechange: Use EnumBitSet for DoCommandFlags
2025-02-14 00:28:57 +01:00
Peter Nelson
f309b90a1d
Codechange: Use EnumBitSet for Airport blocks.
2025-02-13 22:02:02 +00:00
Peter Nelson
75387b9e2b
Codechange: Use EnumBitSet for StationFacility.
2025-02-13 18:03:13 +00:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Peter Nelson
0d5708ba86
Codechange: Use EnumBitSet for AirportFTAClass::Flags ( #13535 )
2025-02-11 21:49:18 +00:00
Rubidium
ec492cb267
Codechange: make CompanyMask a BaseBitSet implementation
2025-02-09 19:24:51 +01:00
Peter Nelson
d61b376998
Codechange: Use EnumBitSet for CargoClasses. ( #13491 )
2025-02-08 08:46:38 +00:00
Rubidium
f90fa2a4d1
Codechange: use C++ constructs over MallocT/free
2025-02-07 22:49:03 +01:00
Rubidium
e937c4dcfd
Codechange: change DestinationID into class with conversion helpers
...
A DestinationID is either a DepotID or StationID, where the aircraft hangar
being conceptually a depot is actually a StationID. When making those types
stronger, a lot of casts would need to be added, but this shows the intent
much better.
2025-02-06 21:03:24 +01:00
Rubidium
5a78bb8fac
Codechange: ToWindowNumber describes better what is the intent than Pack
2025-02-02 15:57:18 +01:00
Peter Nelson
877fa54f66
Codechange: Use EnumBitSet for GRFBug enum.
2025-02-02 10:49:45 +00:00
Peter Nelson
59354576d4
Codechange: Use EnumBitSet for LandscapeTypes and remove LandscapeID. ( #13436 )
2025-02-01 23:09:18 +00:00
Peter Nelson
6c4ddb242a
Codechange: Use EnumBitSet for EngineMiscFlags.
2025-01-31 18:55:31 +00:00
Peter Nelson
40aeedeade
Codechange: Use EnumBitSet for callback masks.
2025-01-31 17:08:24 +00:00
Peter Nelson
f51627c76f
Codechange: Use EnumBitSet for DepotCommand(Flag)s.
2025-01-29 21:46:39 +00:00
Rubidium
e894a5880c
Codechange: rename CargoID to CargoType and amend related variables/comments
2025-01-26 18:07:10 +01:00
Peter Nelson
5f0e4cd646
Codechange: Make RoadStopType an enum class. ( #13340 )
2025-01-19 21:43:17 +00:00
Rubidium
08d84b2f4a
Codechange: use AdviceType over StringID to remove vehicle advice news
2025-01-08 02:03:55 +01:00
Peter Nelson
810e442203
Codechange: Split GoodsEntry cargo and flows data to unique_ptr. ( #13058 )
...
This allows cargo packets and cargo flow data to be empty if not in use, which is the case for the majority of station goods entries, and data is allocated when needed.
This reduces the initial size of a Station from 9192 bytes to 2024 bytes (on 64 bit platforms), although an allocation of 120 bytes is made for each active cargo type at a station.
Based on similar changes in JGRPP.
2025-01-02 20:48:23 +00:00
Rubidium
3956ed086a
Codechange: use Date/Year constructor explicitly
2025-01-01 16:25:32 +01:00
Peter Nelson
1e77fd0b61
Codechange: Remove unnecessary 'return_cmd_error` macro. ( #13160 )
...
This macro is a leftover from when errors used to be packed into a single int32_t.
`return CommandCost` is clearer, and doesn't need a macro.
2024-12-08 18:02:30 +00:00
Peter Nelson
e73d6fcaac
Codechange: Store grfid with entity grfprops.
...
This allows using the grfid without having to dereference the grffile pointer.
Uses no extra storage as it fits within otherwise wasted padding space.
2024-12-05 18:17:58 +00:00
Peter Nelson
d54341318e
Fix: VF_LOADING_FINISHED and VF_STOP_LOADING flags tested on wrong vehicle part. ( #13063 )
...
These flags are only set on the front part of a vehicle as they apply to the whole consist.
2024-11-07 00:25:05 +00:00
SamuXarick
a86f9dba0f
Codefix: Correct handling of GetDepotOrderType() comparison ( #13023 )
...
In the function where we check the depot order type, using `!=` with GetDepotOrderType() is not ideal because the function can return flag bits.
2024-10-27 18:47:22 +01:00
Peter Nelson
376e882a14
Codechange: Add HasFlag() to test if a value is present in a bitset enum type. ( #12959 )
...
This simplifies tests for `(x & y) != y` with enum classes by reducing repetition, similar to HasBit(), and also makes the intent of the expression clearer.
2024-09-22 14:51:37 +01:00
Jonathan G Rennison
9c84e5df3f
Add: Road waypoint functionality
2024-06-24 22:12:08 +02:00
merni-ns
0409577277
Add: Setting to disable warning for old vehicles ( #12714 )
2024-06-15 17:14:29 -04:00
Peter Nelson
8d26d032e1
Fix #12497 : [NewGRF] Increase vehicle motion counter for all parts. ( #12561 )
...
NewGRFs relied on the incorrectly motion counter that was 'fixed' in #12229 , so always update v->motion_counter for all vehicle parts.
2024-05-17 20:50:04 +01:00
Tyler Trahan
78b83190cc
Fix: Mark vehicle status bars dirty when a vehicle leaves unbunching depot ( #12516 )
2024-04-18 12:45:00 -04:00
Tyler Trahan
5878d09ef2
Fix: Smooth outliers in unbunching round trip calculations ( #12513 )
2024-04-17 15:03:53 -04:00
Tyler Trahan
824687d1f0
Codefix: Don't mix signed and unsigned ints in unbunching calculations ( #12514 )
2024-04-17 14:42:49 -04:00
Peter Nelson
ef8eb66a2b
Fix c38df2d58: Use VehicleID instead of pointer in map of vehicles to replace. ( #12512 )
...
This affects the sort order, VehicleID is deterministic, Vehicle * is not.
2024-04-17 18:54:50 +01:00
Peter Nelson
9854553e10
Codechange: ZOOM_LVL_SHIFT/BASE are not actually ZOOM_LVLs.
...
Rename to ZOOM_BASE_SHIFT and ZOOM_BASE respectively, and derive from ZOOM_LVL instead of numeric value.
2024-04-04 22:27:03 +01:00
Jonathan G Rennison
433484cda3
Fix #12388 : Vehicle::CopyVehicleConfigAndStatistics not releasing unit number ( #12389 )
2024-03-27 21:20:27 +01:00
Peter Nelson
737e3feaf0
Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. ( #12334 )
...
EffectVehicles never create news and can't be debugged, so searching for news items and windows to delete just wastes time.
2024-03-18 23:39:42 +00:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Rubidium
bab5a8a787
Codechange: use std::source_location over __FILE__ and __LINE__ for Backup
2024-03-10 10:14:20 +01:00
Tyler Trahan
32b0fb9f6e
Fix #12010 : Use economy timer for vehicle stats minimum age, not calendar ( #12142 )
2024-03-09 09:38:52 -05:00
Tyler Trahan
ab315d0dc9
Fix #12118 : When adding an unbunching order, properly check for unsafe conditions ( #12136 )
2024-03-09 08:28:05 -05:00
Tyler Trahan
5806c2aba4
Fix #12203 : When unbunching at a depot, don't overlook implicit orders ( #12220 )
2024-03-08 10:19:50 -05:00
Peter Nelson
a9de766fa6
Fix: Train running sounds should only be produced for engine parts. ( #12229 )
2024-03-08 14:23:48 +01:00
Tyler Trahan
3fd5c33ae6
Fix f6dd505: Only reset unbunching departure data in the correct depot ( #12155 )
2024-03-01 21:29:55 +00:00
Peter Nelson
56cf89d189
Change: Use bitmap for free unit ID generation. ( #12165 )
...
This improves performance of finding the next free unit number for a vehicle.
Based loosely on pool's used slot bitmap.
2024-02-25 12:36:13 +00:00
Peter Nelson
df691eb31e
Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle. ( #12064 )
...
* Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle.
When deleting a vehicle, the vehicle pool is scanned to find a targetting disaster vehicle. With lots of vehicles this can take some time, especially when deleting multiple consecutive vehicles.
Disasters vehicles can actually only target road vehicles. Store the DisasterVehicle index in the road vehicle, so that no pool scan is necessary.
* Change: Small UFOs no longer target a vehicle which is already a target.
2024-02-11 23:04:29 +00:00
Peter Nelson
2fd9096070
Change: Decouple and remove landscape-dependent cargo types. ( #11719 )
...
Cargo types of default engines, industries and houses are now specified in terms of label.
2024-02-04 10:16:08 +00:00
Tyler Trahan
f6dd5053a3
Feature: Order flag to unbunch vehicles at depot ( #11945 )
2024-02-03 08:04:24 -05:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
merni-ns
5a88027a19
Feature: Infinite money mode ( #11902 )
2024-01-30 18:01:02 +00:00
frosch
68c64d2511
Codechange: Remove TKM string codes by duplicating strings.
2024-01-28 14:44:24 +01:00