Repository navigation
Player release: ROM-missing event and double-dash arguments - #591
Conversation
[Medium impact] The PR appears safe to merge; no outstanding findings remain. SummaryAdds a missing-ROM event and double-dash command-line options while keeping single-dash support.
Reviews (2) · Last reviewed commit: "diagnostics: Test the simulation trace s..." · Reviewed by Greptile |
| foreach (var raw in Environment.GetCommandLineArgs()) { | ||
| // --name is the documented form, -name still works | ||
| var arg = raw.StartsWith("--", StringComparison.Ordinal) ? raw.Substring(1) : raw; |
There was a problem hiding this comment.
CommandLineOverride now accepts double-dash switches, but no test covers this parser. The new LoggingTests cases only exercise ParseCommandLineLevel, so a later change could silently break trace recording controls. Add a parser overload that takes arguments, then test both dash forms, no matching switch, and conflicting switches in both orders to protect the last-match-wins rule.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
There was a problem hiding this comment.
Split out SimulationTrace.ParseCommandLineOverride(args) and covered it in LoggingTests: both dash forms, case, no matching switch, near misses, and conflicting switches in both orders (last wins).
Part of the player release work (Windows installers, Linux tarballs, tag-triggered release builds), with matching PRs in the engine, PinMAME, DMD, PinUp, URP and player repos.
GamelogicPaths.RomMissinglets a gamelogic engine report a ROM it can't start, so the host can ask for the ROM folder. Reset with the play session.--vpe-log-level,--simulation-traceand the other word arguments take two dashes; one dash still works. Covered byLoggingTests.