jerrrrycho
2b74c6dba7
refactor(sonar): clean up issues reported on PR 209
...
- remove locals left unused after the dead-store cleanup (cpp:S1481, cpp:S1854)
- unnamed unused parameter (cpp:S1172)
- single-use declarations moved into if init-statements (cpp:S6004)
- auto for casted initialisers (cpp:S5827)
- const references and pointers where nothing is modified (cpp:S5350)
- rename structured bindings shadowed by inner declarations (cpp:S1117)
2026-10-11 01:41:01 +02:00
jerrrrycho
ba6840b6ba
refactor(sonar): assorted small fixes
...
- empty() instead of size() comparisons (cpp:S1155)
- member initialisers in declaration order (cpp:S3229)
- no redundant c_str() when a std::string is accepted (cpp:S7121)
- contains() on associative containers (cpp:S6171)
- const reference instead of a copying range-for (cpp:S6032)
- starts_with() for prefix checks (cpp:S6178)
- no std::move on temporaries (cpp:S5274)
- has_value() on std::optional (cpp:S7172)
- bool literals for bool members (cpp:S5820)
- inline only on the definition (cpp:S3548)
- explicit base access specifier (cpp:S5965)
- explicit element access instead of dereferencing an array (cpp:S7116)
- rely on the C++20 rewritten operator!= (cpp:S6186)
2026-10-10 20:44:56 +02:00
jerrrrycho
ce450012b6
fix(sonar): test the bearing damage bit, not bit 0 (cpp:S872)
...
'DamageFlag & dtrain_bearing > 0' parsed as 'DamageFlag & (dtrain_bearing > 0)',
i.e. DamageFlag & 1, so bearing friction reacted to the wrong damage flag.
2026-10-10 20:44:56 +02:00
jerrrrycho
a322472632
refactor(sonar): use std::array for local fixed-size arrays (cpp:S5945)
...
Arrays that are class members or part of headers are left unchanged.
2026-10-10 20:44:55 +02:00
jerrrrycho
d846665b3b
refactor(sonar): replace single-case switch statements with if (cpp:S1301)
2026-10-10 20:44:54 +02:00
jerrrrycho
2afa42c6b7
refactor(sonar): take read-only string parameters as std::string_view (cpp:S6009)
...
The Windows messaging helpers keep std::string, they need c_str().
2026-10-10 20:44:53 +02:00
jerrrrycho
ea0d0ba396
refactor(sonar): use transparent comparators for string-keyed maps (cpp:S6045)
...
std::unordered_map instances and map types exposed in headers used by
other modules are left as they are.
2026-10-10 20:44:52 +02:00
jerrrrycho
f6736fa233
refactor(sonar): pass expensive-to-copy parameters by const reference (cpp:S1238)
...
Signatures declared in files touched by PR 206 (Driver.h, EU07.cpp) and
virtual overrides are left unchanged.
2026-10-10 20:44:51 +02:00
jerrrrycho
4532d5e037
refactor(sonar): take read-only pointer and reference parameters as const (cpp:S995)
...
TTrain command handlers keep their signature, it is fixed by the handler table.
2026-10-10 20:44:51 +02:00
jerrrrycho
693a817d5e
refactor(sonar): make read-only local references and pointers const (cpp:S5350)
2026-10-10 20:44:50 +02:00
jerrrrycho
29e8a1befc
refactor(sonar): initialise members in initialiser lists or declarations (cpp:S3230)
2026-10-10 20:44:50 +02:00
jerrrrycho
34c0c8182d
refactor(sonar): reduce enum qualification with using enum (cpp:S6177)
...
Applied only where no unqualified name in the block could be captured by
the introduced enumerators.
2026-10-10 20:44:49 +02:00
jerrrrycho
e524d38128
refactor(sonar): rename locals that shadow outer declarations (cpp:S1117)
...
Only local variables and definition parameters are renamed; shadowing
struct fields and enumerators in headers are left for a separate change.
2026-10-10 20:44:48 +02:00
jerrrrycho
846cb12430
refactor(sonar): inherit base constructors instead of forwarding them (cpp:S5952)
2026-10-10 20:44:48 +02:00
jerrrrycho
1a956d3215
refactor(sonar): declare loop counters in the for statement (cpp:S5955)
2026-10-10 20:44:47 +02:00
jerrrrycho
afbd49cc66
refactor(sonar): declare variables separately from their type definitions (cpp:S3646)
2026-10-10 20:44:46 +02:00
jerrrrycho
3c80ea20c7
refactor(sonar): drop top-level const from by-value return types (cpp:S5951)
2026-10-10 20:44:46 +02:00
jerrrrycho
f82b12b2c6
refactor(sonar): avoid side effects inside typeid operands (cpp:S5279)
2026-10-10 20:44:45 +02:00
jerrrrycho
a510996dc7
refactor(sonar): add braces around nested if-else (cpp:S5261)
2026-10-10 20:44:45 +02:00
jerrrrycho
d0a6353449
refactor(sonar): use std::ranges algorithms and std::erase(_if) (cpp:S6197)
2026-10-10 20:44:44 +02:00
jerrrrycho
9a674b4944
refactor(sonar): use std::size for array lengths (cpp:S7127)
2026-10-10 20:44:44 +02:00
jerrrrycho
eb82bf360b
refactor(sonar): add default cases to switch statements (cpp:S3562)
2026-10-10 20:44:43 +02:00
jerrrrycho
6b77352293
refactor(sonar): split chained assignments (cpp:S1121)
2026-10-10 20:44:43 +02:00
jerrrrycho
2d1cac601e
refactor(sonar): use range-based loops and ranges algorithms (cpp:S5566)
2026-10-10 20:44:42 +02:00
jerrrrycho
560512bd9e
refactor(sonar): use structured bindings for pair access (cpp:S6005)
2026-10-10 20:44:42 +02:00
jerrrrycho
71b338f30e
refactor(sonar): remove unused variables, captures and private fields (cpp:S1481, cpp:S1068)
2026-10-10 20:44:41 +02:00
jerrrrycho
d28695f073
refactor(sonar): remove dead stores (cpp:S1854)
...
Side effects (e.g. LISTLINE++) are kept.
2026-10-10 20:44:41 +02:00
jerrrrycho
4b55445a53
refactor(sonar): document intentionally empty functions (cpp:S1186)
2026-10-10 20:44:40 +02:00
jerrrrycho
9aa7e658ac
refactor(sonar): remove redundant parentheses (cpp:S1110)
2026-10-10 20:44:40 +02:00
jerrrrycho
413009e59e
refactor(sonar): use auto where the type is spelled out on the right (cpp:S5827)
2026-10-10 20:44:39 +02:00
jerrrrycho
f8c6e358bd
refactor(sonar): use try_emplace for map insertion (cpp:S6030)
2026-10-10 20:44:39 +02:00
jerrrrycho
8d93367de7
fix(sonar): give polymorphic base classes virtual destructors (cpp:S1235)
2026-10-10 20:44:38 +02:00
jerrrrycho
6fce71af36
refactor(sonar): scope single-use variables in if init-statements (cpp:S6004)
2026-10-10 20:44:38 +02:00
jerrrrycho
0d886e65ec
refactor(sonar): merge collapsible nested if statements (cpp:S1066)
...
Comments that preceded the inner if are kept above the merged statement.
2026-10-10 20:44:37 +02:00
jerrrrycho
8042953b95
refactor(sonar): declare non-mutating member functions const (cpp:S5817)
...
Virtual functions are left untouched so overrides keep matching.
2026-10-10 20:44:37 +02:00
jerrrrycho
01d2b9bf82
refactor(sonar): mark unused parameters (cpp:S1172)
...
Unused names are commented out; parameters used only on some platforms
are marked [[maybe_unused]].
2026-10-10 20:44:36 +02:00
jerrrrycho
ad32f1f840
refactor(sonar): make narrowing conversions explicit (cpp:S5276)
2026-10-10 20:44:35 +02:00
jerrrrycho
807d6822a5
refactor(sonar): remove redundant access specifiers (cpp:S3539)
2026-10-10 20:44:33 +02:00
jerrrrycho
3f1c9720fb
refactor(sonar): prefer using over typedef (cpp:S5416)
2026-10-10 20:44:32 +02:00
jerrrrycho
c4738dbc87
refactor(sonar): remove empty statements, one declaration per statement (cpp:S1116, cpp:S1659)
2026-10-10 20:44:31 +02:00
jerrrrycho
3d46090e49
refactor(sonar): use override instead of redundant virtual (cpp:S3471)
2026-10-10 20:44:30 +02:00
jerrrrycho
79bd0c8e91
fix(sonar): addressing reliability/security issues ( #202 )
2026-10-04 20:00:13 +02:00
jerrrrycho
76a39af8c2
fix: bound MotorParam and MPTRelay indices ( #196 )
2026-10-01 20:21:01 +02:00
jerrrrycho
06078ddab9
fix: other sonar sast fixes ( #193 )
2026-10-01 13:30:25 +02:00
jerrrrycho
f05b58b0e9
Revert "fix: yet other sonar sast fixes"
...
This reverts commit 403a6d1f9f .
2026-10-01 08:01:23 +02:00
jerrrrycho
403a6d1f9f
fix: yet other sonar sast fixes
2026-10-01 07:58:28 +02:00
pwarszawski
96be688d13
Send the reverser position, not the absolute direction, when activating a cab
...
CabActivisation() passed DirAbsolute (DirActive * CabActive) as the value of the
"Direction" command, which every receiving vehicle stores as its own DirActive.
Every other sender passes DirActive. With the cab at the rear end (CabActive = -1)
the two have opposite signs, so the other units got their reverser flipped
against the controlling one.
It shows whenever a rear cab is activated after the reverser has been set:
- the AI takes over an occupied cab (TakeControl() calls CabActivisation(true)),
e.g. an EN57 inserted with reardriver and a starting velocity: the motor car
drives the train backwards;
- a vehicle without automatic cab activation (SA134) driven by the AI from the
start: the cab is activated by a driver hint after the reverser is set, and
the two units pull against each other.
Fixes #169 .
2026-09-30 15:00:12 +02:00
6befd69968
Merge pull request #149 from combolek/getpf
...
state_manager: Optimize computation of pressure flow for Oerlikon ESt valves
2026-09-04 16:39:49 +02:00
jakubg1
f8cb5e4431
Fix EP fuse auto-(dis)engaging
...
When the Autorewident function is enabled, the EP fuse switch will no longer automatically engage or disengage if the player is controlling the train. This would happen for example when approaching a station.
2026-08-24 00:24:15 +02:00
Ryba04
7cc6a67399
Followed sonar's suggestions
2026-08-18 20:34:37 +02:00