17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 03:59:19 +02:00
Commit Graph

98 Commits

Author SHA1 Message Date
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
dbd37798ae chore: strip stray carriage returns left in TTrain constructor comments 2026-10-10 20:44:57 +02:00
jerrrrycho
780ddf9ddb refactor(sonar): more small fixes
- std::format instead of iostream manipulators in to_string/to_hex_str (cpp:S6495);
  output verified identical, negative hex values keep the unsigned form
- remove an empty compound statement (cpp:S108)
- drop an always-false unsigned < 0 branch (cpp:S1768)
- explicit lambda capture (cpp:S3608)
- std::make_unique (cpp:S5950)
2026-10-10 20:44:56 +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
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
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
14dcbc0a45 refactor(sonar): rely on class template argument deduction (cpp:S6012) 2026-10-10 20:44:47 +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
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
9aa7e658ac refactor(sonar): remove redundant parentheses (cpp:S1110) 2026-10-10 20:44:40 +02:00
jerrrrycho
f8c6e358bd refactor(sonar): use try_emplace for map insertion (cpp:S6030) 2026-10-10 20:44:39 +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
07d94806b7 refactor(sonar): remove redundant casts (cpp:S1905) 2026-10-10 20:44:34 +02:00
jerrrrycho
baafdcc1cc refactor(sonar): use =default for trivial special members (cpp:S3490) 2026-10-10 20:44:32 +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
c26041f2e7 Merge pull request #199 from MaSzyna-EU07/brake-diag
AI - prevent overcharge when pipe pressure of car is too high for too long
2026-10-10 20:37:12 +02:00
9935257783 Add nosonar tags 2026-10-09 18:40:31 +02:00
917c8f7285 Merge branch 'master' into feat/modern-editor 2026-10-08 17:44:58 +02:00
maj00r
4e406fdd86 fix(ai): end brake charging on control reservoir overcharge, charge on blocked departures
- end the charging position when the control reservoir of any vehicle, the
  locomotive included, rises 0.05 bar above the nominal pipe pressure
- standing and unable to depart for 10 s: allow the charging position
  regardless of the equivalent pipe pressure and the train type
2026-10-07 18:17:59 +02:00
maj00r
084a705452 fix(vehicles): vehicle placed with a switch as its first path no longer reads the direction of a previous path it doesn't have; vehicle put back on the track keeps the direction of its axles 2026-10-06 22:19:12 +02:00
jerrrrycho
79bd0c8e91 fix(sonar): addressing reliability/security issues (#202) 2026-10-04 20:00:13 +02:00
27a94509c4 feat(roads): right of way and lane turns at junctions, road weights, kerbs, medians and forking roads, banks to the ground, roundabouts, pedestrian crossings, spawn sets by count; fix(editor): model skin export, placement on the ground under the orthophoto 2026-10-04 01:55:35 +02:00
2f417fddcc feat(roads): road node with generated lanes, surface and markings 2026-10-03 17:35:08 +02:00
maj00r
affa7cdaa9 AI - prevent overcharge when pipe pressure of car is too high for too long 2026-10-02 19:55:23 +02:00
maj00r
314e7df294 braking diagnostics 2026-10-01 21:57:18 +02:00
jerrrrycho
1474d2b773 fix: merge nested ifs in Driver.cpp cpp:s1066 (#194) 2026-10-01 13:30:36 +02:00
jakubg1
99c5a0090b Remove brake position check from TController::PrepareEngine()
The function would flag the consist as not ready (`iEngineActive` set to `false`) when the brake handle was at a cutoff position. Since this is what the brake lever is exactly starting at in the EW58 train, the train when asked to move the brake lever to operating position would not listen since the `control_tractive_and_braking_force()` function which is supposed to do that is gated behind the readiness flag in the `TController::Update()` function.

This makes sure EW58 trains can be driven by AI once again instead of being stuck.

I don't really know why the brake position check was there, since it would fail only if:
- There is a brake handle
- The brake handle is in the cutoff position
- The brake handle is NOT in the operating position

The third check seems redundant but curiously there is one case where this matters and it's... MHZ_EN57. Its operating and cutoff positions are both defined as `0`, which might be a hack, since the actual cutoff position in the MHZ_EN57 handle is meant to be `6`.
2026-10-01 02:10:21 +02:00
b67bbb19e6 Merge pull request #188 from MaSzyna-EU07/feat/dynobj-seasonal-models
seasonal model variants for vehicle exterior model
2026-09-28 21:21:49 +02:00
jerrrrycho
176427f96b refactor: sonar c++20 changes (#185) 2026-09-28 21:08:15 +02:00
jerrrrycho
4137f5504a fix: sonar sast fixes - sonar.yml, nosonar, linux chmod modification 2026-09-28 21:07:53 +02:00