Skip to content

Player release: ROM-missing event and double-dash arguments - #591

Merged
freezy merged 3 commits into
masterfrom
feat/player-release
Oct 16, 2026
Merged

freezy merged 3 commits into
masterfrom
feat/player-release

Conversation

@freezy

@freezy freezy commented Oct 16, 2026

Copy link
Copy Markdown
Owner

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.

  • gamelogic: GamelogicPaths.RomMissing lets a gamelogic engine report a ROM it can't start, so the host can ask for the ROM folder. Reset with the play session.
  • diagnostics: --vpe-log-level, --simulation-trace and the other word arguments take two dashes; one dash still works. Covered by LoggingTests.

@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no outstanding findings remain.

Summary

Adds a missing-ROM event and double-dash command-line options while keeping single-dash support.

  • Gamelogic engines can report missing ROMs to the host.
  • Player options accept one or two dashes.

Reviews (2) · Last reviewed commit: "diagnostics: Test the simulation trace s..." · Reviewed by Greptile

Comment on lines +224 to +226
foreach (var raw in Environment.GetCommandLineArgs()) {
// --name is the documented form, -name still works
var arg = raw.StartsWith("--", StringComparison.Ordinal) ? raw.Substring(1) : raw;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Trace switches lack tests

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!

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

@freezy
freezy merged commit 4f95169 into master Oct 16, 2026
15 checks passed
@freezy
freezy deleted the feat/player-release branch October 16, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant