You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GameArguments from StarMapConfig.json no longer reaches the game since 0.4.6 #83
Arguments configured in StarMapConfig.json under GameArguments are not passed to the game anymore.
In 0.4.5, SoleModeInner constructed the GameSurveyer with gameConfig.GameArguments, and RunGame invoked the game's entry point with them.
Since the 0.4.6 single-process refactor, Program.Main passes StarMap's own process arguments instead, and gameConfig.GameArguments is never read after LoaderConfig.TryLoadConfig assigns it.
Verified by adding a probe mod that patched a prefix onto the game's Main and recorded the argument array it receives. With "GameArguments": ["-config-tracer"] in the config and -InstancePath <path> on the command line, Main received only -InstancePath <path>. The command line arrives, the config value does not.
Impact
Someone with e.g. "GameArguments": ["-fixed-viewport"] in their config silently loses the setting on updating to 0.4.6. The command line works as a stand-in (StarMap.exe -fixed-viewport reaches the game now that process arguments pass through), but the config field still exists, still parses, and looks like it works.
Suggestion
If the config field is meant to stay, forwarding could concatenate config and process arguments, e.g. [.. gameConfig.GameArguments, .. args] when constructing the GameSurveyer. If the command line is meant to replace it, removing the field from LoaderConfig and the config template would stop it from looking functional.
Activity