jerrrrycho
43fcda05a0
refactor(sonar): use std::array for local fixed-size arrays (cpp:S5945)
...
Arrays that are class members or part of headers are left unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:44:14 +02:00
jerrrrycho
9fec0e925c
refactor(sonar): replace single-case switch statements with if (cpp:S1301)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:39:27 +02:00
jerrrrycho
adfad8016e
refactor(sonar): take read-only string parameters as std::string_view (cpp:S6009)
...
The Windows messaging helpers keep std::string, they need c_str().
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:28:41 +02:00
jerrrrycho
2ba33e8e63
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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:21:07 +02:00
jerrrrycho
5d33d89225
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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:16:40 +02:00
jerrrrycho
0a7c42c4a9
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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:08:45 +02:00
jerrrrycho
d7edea6fac
refactor(sonar): make read-only local references and pointers const (cpp:S5350)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:05:09 +02:00
jerrrrycho
3a6f21eb2d
refactor(sonar): initialise members in initialiser lists or declarations (cpp:S3230)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:03:17 +02:00
jerrrrycho
8afb232f2a
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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:49:01 +02:00
jerrrrycho
a47c2a6ea0
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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:45:39 +02:00
jerrrrycho
427e2823e9
refactor(sonar): inherit base constructors instead of forwarding them (cpp:S5952)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:41:22 +02:00
jerrrrycho
89583b2569
refactor(sonar): declare loop counters in the for statement (cpp:S5955)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:34:28 +02:00
jerrrrycho
f19e64bc11
refactor(sonar): declare variables separately from their type definitions (cpp:S3646)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:33:12 +02:00
jerrrrycho
319815cb0b
refactor(sonar): drop top-level const from by-value return types (cpp:S5951)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:29:47 +02:00
jerrrrycho
85640589aa
refactor(sonar): avoid side effects inside typeid operands (cpp:S5279)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:26:40 +02:00
jerrrrycho
0bf013fef9
refactor(sonar): add braces around nested if-else (cpp:S5261)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:25:40 +02:00
jerrrrycho
51337cb1b7
refactor(sonar): use std::ranges algorithms and std::erase(_if) (cpp:S6197)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:24:06 +02:00
jerrrrycho
22c7c33a63
refactor(sonar): use std::size for array lengths (cpp:S7127)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:22:49 +02:00
jerrrrycho
6445ef728a
refactor(sonar): add default cases to switch statements (cpp:S3562)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:22:01 +02:00
jerrrrycho
c67b8be22e
refactor(sonar): split chained assignments (cpp:S1121)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:20:06 +02:00
jerrrrycho
03652a5934
refactor(sonar): use range-based loops and ranges algorithms (cpp:S5566)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:13:12 +02:00
jerrrrycho
b6349b76e3
refactor(sonar): use structured bindings for pair access (cpp:S6005)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:06:32 +02:00
jerrrrycho
9c7043d013
refactor(sonar): remove unused variables, captures and private fields (cpp:S1481, cpp:S1068)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:03:19 +02:00
jerrrrycho
ce786c22ce
refactor(sonar): remove dead stores (cpp:S1854)
...
Side effects (e.g. LISTLINE++) are kept.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:58:05 +02:00
jerrrrycho
5a806223e7
refactor(sonar): document intentionally empty functions (cpp:S1186)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:56:34 +02:00
jerrrrycho
41e802eb7a
refactor(sonar): remove redundant parentheses (cpp:S1110)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:55:46 +02:00
jerrrrycho
8f89dcefcd
refactor(sonar): use auto where the type is spelled out on the right (cpp:S5827)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:52:25 +02:00
jerrrrycho
95bc9bd511
refactor(sonar): use try_emplace for map insertion (cpp:S6030)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:51:29 +02:00
jerrrrycho
6547f7e967
fix(sonar): give polymorphic base classes virtual destructors (cpp:S1235)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:48:07 +02:00
jerrrrycho
9b89a5d887
refactor(sonar): scope single-use variables in if init-statements (cpp:S6004)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:44:18 +02:00
jerrrrycho
f8104bd0dd
refactor(sonar): merge collapsible nested if statements (cpp:S1066)
...
Comments that preceded the inner if are kept above the merged statement.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:39:11 +02:00
jerrrrycho
3198cabc78
refactor(sonar): declare non-mutating member functions const (cpp:S5817)
...
Virtual functions are left untouched so overrides keep matching.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:26:48 +02:00
jerrrrycho
1f256e9593
refactor(sonar): mark unused parameters (cpp:S1172)
...
Unused names are commented out; parameters used only on some platforms
are marked [[maybe_unused]].
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:18:45 +02:00
jerrrrycho
8c23c1fe2b
refactor(sonar): make narrowing conversions explicit (cpp:S5276)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:16:28 +02:00
jerrrrycho
c831bb543c
refactor(sonar): remove redundant access specifiers (cpp:S3539)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:05:48 +02:00
jerrrrycho
3d7a06f425
refactor(sonar): prefer using over typedef (cpp:S5416)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:05:42 +02:00
jerrrrycho
65ded920d2
refactor(sonar): remove empty statements, one declaration per statement (cpp:S1116, cpp:S1659)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:03:30 +02:00
jerrrrycho
8ce68e3d41
refactor(sonar): use override instead of redundant virtual (cpp:S3471)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 14:55:56 +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
Ryba04
7d3b9a7360
Fix "Traxx" local brake
2026-08-18 00:04:31 +02:00
combolek
19441b5e91
Convert Przekladniki to std::array
2026-07-28 09:28:10 -07:00
combolek
12c583f418
Fix some SonarQube warnings
2026-07-28 08:54:33 -07:00