Cyprian Klimaszewski
21bee91fa7
Codechange: Make some variables and constants documentation comments recognised by doxygen.
2026-02-21 15:05:13 +01:00
Rubidium
73232058d9
Codechange: deduplicate code by dereferencing in callee instead of callers
2026-02-01 15:50:17 +01:00
Rubidium
4adf494ebc
Codechange: enum-class-ify Commands
2026-01-28 23:32:51 +01:00
Rubidium
d4f0ff927e
Codechange: make aircraft vehicle flags enum-class and EnumBitSet
2026-01-16 07:33:13 +01:00
Cyprian Klimaszewski
322ce224b4
Codechange: Make Price an enum class.
2026-01-14 22:07:02 +01:00
Rubidium
13cf05c941
Codechange: remove unused parameter and unneeded heap allocation
2026-01-03 18:34:37 +01:00
Cyprian Klimaszewski
99f04f27de
Doc: Update information for receiving a copy of GPL. ( #14869 )
2025-12-07 11:25:08 +00:00
Peter Nelson
42c9f84d74
Fix 3ac1a2f1e4: Game crash due to invalid vehicle type information. ( #14628 )
...
Use std::variant instead of union for vehicle info.
RailVehicleInfo is now non-POD so using in a union causes undefined behaviour.
2025-09-24 22:44:41 +01:00
Tyler Trahan
5dea170589
Fix #14588 : Show error when unable to clone partly-cleared crashed train ( #14591 )
2025-09-15 19:05:35 -04:00
Rubidium
7c0f69a8fe
Codefix: typos in comments and strings
2025-08-31 10:30:37 +02:00
Peter Nelson
f2318c35db
Fix 0455627d16: Order backups were no longer created when selling vehicles. ( #14352 )
2025-06-10 18:03:05 +01:00
Peter Nelson
0455627d16
Codechange: Move ownership of Orders to OrderList. ( #13948 )
...
Removes the orders pool, and orders are now stored directly in each OrderList.
Iterating orders now no longer needs to traverse a linked-list, all orders in an OrderList are sequential.
2025-05-23 10:36:28 +01:00
Peter Nelson
a2addf0fe7
Fix: Clear rail vehicle flipped flag if reverse probability callback returns false. ( #14281 )
...
This now distinguishes between not-flipped and callback not implemented.
2025-05-20 23:03:55 +01:00
Peter Nelson
ce83f583bc
Codechange: Use EnumBitSet for VehicleRailFlags. ( #14280 )
2025-05-19 18:56:45 +01:00
frosch
c6fa5022cb
Add: [NewGRF] All callbacks returning D0xx strings, have now the option to return any string id via register 0x100.
2025-05-09 12:39:11 +02:00
Peter Nelson
2c59838acb
Codechange: (re)set multiple bitset flags in one call. ( #14017 )
2025-04-18 14:07:57 +01:00
frosch
04246c530f
Codechange: Use fmt::format instead of stringstream with iomanip flags. ( #13964 )
2025-04-08 20:57:50 +00:00
Peter Nelson
89948b941b
Codechange: Use emplace_back instead of push_back. ( #13855 )
2025-03-20 17:39:10 +00:00
Peter Nelson
17f7d0950e
Fix #13838 : Formatted error message of sub-errors may be lost. ( #13840 )
2025-03-18 08:39:40 +00:00
Rubidium
5ea5855677
Codechange: use std::move over copying where applicable
2025-03-16 17:33:06 +01:00
Rubidium
754311a779
Codechange: use std::move when appropriate
2025-03-13 13:00:24 +01:00
Peter Nelson
91d22f7617
Codechange: Use EnumBitSet for VehStates. ( #13755 )
...
Renamed from VehStatus because pluralising that is weird.
2025-03-08 18:24:21 +00:00
Rubidium
fd4adc55e3
Codechange: replace INVALID_X with XID::Invalid() for PoolIDs
2025-02-16 20:23:00 +01:00
Rubidium
c3d5e6d2a0
Codechange: Use EnumBitSet for DoCommandFlags
2025-02-14 00:28:57 +01:00
Peter Nelson
d61b376998
Codechange: Use EnumBitSet for CargoClasses. ( #13491 )
2025-02-08 08:46:38 +00:00
Peter Nelson
ffb5e71a28
Fix: Missing error messages with sell- and autoreplace-all commands. ( #13469 )
...
If these commands failed then then the error message part was blank.
2025-02-04 22:30:42 +00:00
Peter Nelson
6c4ddb242a
Codechange: Use EnumBitSet for EngineMiscFlags.
2025-01-31 18:55:31 +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
Rubidium
08d84b2f4a
Codechange: use AdviceType over StringID to remove vehicle advice news
2025-01-08 02:03:55 +01:00
Peter Nelson
2d372fa516
Codechange: NewGRF strings are not StringIDs.
...
Add GRFStringID type and use it when dealing with GRF-local string IDs.
2025-01-02 20:03:40 +00: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
3be0166801
Codechange: Use std::ranges::find where possible.
...
Replace `std::find(range.begin(), range.end(), ...)` with `std::ranges::find(range, ...)`.
2024-11-24 10:36:03 +00: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
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Peter Nelson
e93d081a4a
Codechange: Use range-for instead of indexed loop. ( #12191 )
2024-02-27 18:18:57 +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
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
Peter Nelson
952d111b94
Codechange: Split CT_INVALID into CT_INVALID and INVALID_CARGO.
...
INVALID_CARGO is a CargoID and should be used for most purposes in game.
CT_INVALID is a CargoType used for defining default properties.
2024-01-09 18:56:05 +00:00
Peter Nelson
e6d132d24b
Fix #10926 : New free wagons no longer split by type. ( #11507 )
...
NormalizeTrainVehInDepot() should only be called if an engine was built, not for wagons.
2023-11-28 13:48:09 +00:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
PeterN
2a2443dd01
Feature: Create group of vehicles from manage vehicle list button. ( #10890 )
2023-06-18 20:48:04 +01:00
PeterN
2097719f26
Fix: Don't restore backed up vehicle name if it's no longer unique. ( #10979 )
2023-06-09 21:18:55 +00:00
PeterN
ee2d0745e9
Fix #10502 : Refit engine before attaching free wagons. ( #10926 )
...
Caused by incorrect order of operations when buying a train engine with refit and attaching free wagons.
2023-06-04 15:57:36 +01:00
Peter Nelson
f177ce7c9a
Codechange: Base CargoArray off std::array.
...
This avoids needing to define array accessors and allows use of
default value initialization.
2023-05-23 19:07:36 +01:00
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Rubidium
90f1768006
Codechange: add non-nullptr asserts in cases where it should never be nullptr
...
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
2023-01-14 21:15:23 +01:00
Jonathan G Rennison
10e76b2788
Fix #10032 : Capacities of articulated vehicles in build window
...
See also: #9954
2023-01-14 18:52:01 +01:00
Michael Lutz
d5fc423793
Fix #10223 : Crash when vehicle cloning fails on order cloning.
2022-12-08 00:09:12 +01:00