Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scummvm: fix stretch_mode #13196

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aderumier
Copy link
Contributor

@aderumier aderumier commented Jan 4, 2025

since 8cc8b27, default stretch mode is broken.

The default stretch_mode of scummvm (if not defined in command line) is "fit", not "center". (Center don't scale at all, so if you have a 4k screen with a 320x200 games, it'll be displayed too small)

This patch simply don't force it command line

also, es_features.yml is buggy, as "center" value is currently defined in french "centre". (and scummvm is fallbacking to "fit" if a wrong value is defined)

@aderumier
Copy link
Contributor Author

current center stretch:

Capture d’écran du 2025-01-04 09-28-43

fit stretch (or default):

Capture d’écran du 2025-01-04 09-24-04

@Darknior
Copy link

Darknior commented Jan 4, 2025

Perfect :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

        else:
            commandArray.append("--stretch-mode=center")

Keep that in there, but change --stretch-mode=center to --stretch-mode=fit otherwise there's no default value in the configgen for --stretch-mode=.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Just updated the code. Simply keep the default (auto) -> no value , and don't force parameter in command line.

Like this, it'll use the default fit in nothing is defined in scummvm.ini and will use custom value that user could has done from scummvm gui/ini.

Copy link
Collaborator

@Tovarichtch Tovarichtch Jan 4, 2025

Choose a reason for hiding this comment

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

Please align formatting like this:

              "Fit resolution scale (Default)": "fit"
              "Center":                         "center"
              "Pixel Perfect":                  "pixel-perfect"
              "Even Pixels":                    "even-pixels"
              "Stretch to screen":              "stretch"
              "Fit 4:3 Aspect Ratio":           "fit_force_aspect"

Copy link

Choose a reason for hiding this comment

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

in fact, the biggest issue is that if you force the --stretch-mode with a value in scummvmGenerator.py, you can't change it manually afterwards, the value always remains (even if you specify it in the ini, the value takes over).
the --stretch-mode=fit is the default mode in scummvm, but allows you to change mode later if you wish, via scummvm.ini.
By adding a value to the configgen, it's impossible to change it afterwards.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok, so maybe we should have a default value : "auto" instead ? what do you think about it @Tovarichtch ?

Copy link
Contributor Author

@aderumier aderumier Jan 6, 2025

Choose a reason for hiding this comment

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

"auto" is no command line, so keep "fit" is nothing is defined in scummvm.ini. This allow user to do specific stretch mode customization directly in scummvm.ini or scummvm gui.

since batocera-linux@8cc8b27,
default stretch mode is broken.

The default stretch_mode of scummvm (if not defined in command line) is "fit", not "center".
(Center don't scale at all, so if you have a 4k screen with a 320x200 games, it'll be displayed too small)

This patch simply don't force it command line

also, es_features.yml is buggy, as "center" value is currently defined in french "centre"
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.

4 participants