Opened 3 months ago

Last modified 5 weeks ago

#17021 new defect

Game Config INI Settings are not properly applied when running a game from Command Line

Reported by: nickkeane Owned by:
Priority: normal Component: Common
Version: gsoc Keywords: command line, game settings, ini, config
Cc: nickkeane Game: Zak McKracken

Description

Version: ScummVM 2026.3.1git27850-g815ab673b68
Game Version: FM Towns
OS: Windows 11 x64
Language: English

  1. Install Zak McKracken FM Towns Edition
  2. Enable Aspect Ratio Correction in Global Settings
  3. Enable Trim FM Towns to 200px height in Game Settings
  4. Run Zak McKracken, should not prompt alert for Aspect Ratio Correction issue
  5. Run Zak McKracken from the command line using --autostart, alert is prompted for the issue and height is not cut off in game

I would expect both cases to apply the specified Game Settings in scummvm.ini, but that only seems to be working when game is launched from the GUI. The CLI should be able to apply these settings from the file and/or pass in a specific INI file with Game Settings for each game.

Attachments (3)

scummvm.log​ (386 bytes ) - added by nickkeane 3 months ago.
scummvm.ini​ (9.3 KB ) - added by nickkeane 3 months ago.
scummvm.cfg​ (208 bytes ) - added by nickkeane 3 months ago.

Download all attachments as: .zip

Change History (8)

comment:1 by nickkeane, 3 months ago

Cc: nickkeane added

by nickkeane, 3 months ago

Attachment: scummvm.log​ added

by nickkeane, 3 months ago

Attachment: scummvm.ini​ added

by nickkeane, 3 months ago

Attachment: scummvm.cfg​ added

comment:2 by bluegr, 3 months ago

Priority: blocker → normal

Please, don't mess with ticket priority

comment:3 by seervii, 5 weeks ago

Hi nickkeane, I'd like to try working on this if it's not already being looked at. I don't own Zak McKracken FM Towns Edition, but since this looks like a general issue with per-game scummvm.ini settings not being applied when launching via --autostart vs. the GUI, I'm planning to reproduce it using a freeware title (e.g. Beneath a Steel Sky) with a different per-game setting, to confirm it's the same underlying bug. Let me know if that substitution seems valid, or if this is specific to the FM Towns/aspect-ratio path somehow. I'm fairly new to the codebase, so happy to hear if this is a reasonable one to start with.

comment:4 by criezy, 5 weeks ago

It currently works as intended and is not a bug.
There are several ways to start a game from the command line, which can be grouped into two main categories:

  • Specify the unique ID that is assigned to your game when you add it to ScummVM (you can see it in the Game Options in ScummVM). It may for example be "zak-v1" and it can be edited.
  • Specify the path to the game files and detect the game. Here you can help the detection by indicating the internal ID for the game (e.g. scumm:zak or just zak) or you can let scummvm auto-detect the game.

If the first case it will use all the settings you have set for that game.
The second case is primarily for cases where the game has not yet been added to ScummVM and it adds it temporarily with new default settings. There is no --autostart option, but if you mean --auto-detect it falls into this second category.

So to summarize:

  • scummvm zak-v1 starts the game if you have already added it to scummvm using the settings you have already set.
  • scummvm -p /path/to/game/files zak or scummvm -p /path/to/game/files --auto-detect start the game with new default settings (and it works also if the game was not previously added to scummvm).

Documentation: ​https://docs.scummvm.org/en/v2026.3.0/advanced_topics/command_line.html

After having written all this, we could decide to change the behaviour for the second case above (when specifying the game path and either auto-detection or using the internal game id), so that if the game for the specified path has already been added we behave as if we wanted to run that already added game.

But for now your solution is to use the game ID that you see for the added game in ScummVM instead of using the game path and auto-detect.

comment:5 by nickkeane, 5 weeks ago

It won't let me specify per-game arguments to the command line using LaunchBox, as the per-game command line arguments box is greyed out. Also, LaunchBox expects a file to run for the scummvm emulator, so i have a file in each game directory called '<gamename>.scummvm' that has the correct game id mapping in it on a single line. ScummVM recognizes the game id from the file and launches the correct game, but doesn't seem to apply the config settings i set when i ran ScummVM from standalone EXE and using the ScummVM GUI to launch games outside of LaunchBox.

I believe this issue is applying to all games, but the Zak McKracken FM Towns test is how i could see the difference visually.

The 2nd case fix might work for my case, if using a text file w/ game id instead of the game dir can work and connect the config settings. As long as the settings are mapped to a specific game id present in scummvm.ini, i would expect them to apply when a game w/ the matching gameid is launched by any means.

Last edited 5 weeks ago by nickkeane (previous) (diff)
Note: See TracTickets for help on using tickets.