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 enhacements #52

Closed
neuromancer opened this issue Aug 26, 2018 · 10 comments
Closed

Scummvm enhacements #52

neuromancer opened this issue Aug 26, 2018 · 10 comments

Comments

@neuromancer
Copy link
Contributor

A good amount of GOG games are using scummvm. I wonder if we could have some special options to handle them, for instance to replace the bundled scummvm executable with the system one. This feature, combined with #33, will enable the automatic port of some games arbitrarily available for some platforms.

@tkashkin tkashkin added this to the Non-native games support milestone Aug 26, 2018
tkashkin added a commit that referenced this issue Sep 17, 2018
Allow to force compat even for games which do support Linux (#51, #52, 
#71)
@neuromancer
Copy link
Contributor Author

I recently revisited this issue. I tried to use some SCUMMVM games with the custom emulator feature. It's promising, but it won't work as expected with SCUMMVM since it requires to change the directory to the game directory, for every game. The custom emulator feature does not allow that (or at least, I don't know how to do it without creating a custom script).

Moreover, maybe could be a good idea to remove the Dosbox/Wine/Proton code and re-add them as custom emulators.

@tkashkin
Copy link
Owner

tkashkin commented Nov 10, 2018

it requires to change the directory to the game directory, for every game. The custom emulator feature does not allow that

Yes, it currently uses install_dir of Emulator as a working directory.

Possible solutions:

  • Use install_dir of Game
  • Provide option to choose which directory to use (game or emu)

First solution can possibly break emulators if they require to be launched from their directory.
Second solution may be a bit harder (or may not). What should be default for that option if second will be implemented?

Moreover, maybe could be a good idea to remove the Dosbox/Wine/Proton code and re-add them as custom emulators.

No. CompatTools and Emulators are different things and work differently.
Also Emulators can depend on CompatTools itself.

@neuromancer
Copy link
Contributor Author

Provide option to choose which directory to use (game or emu)

I think that's the best option. The default could be the install_dir of Emulator. I believe this is the most common configuration for Emulators.

No. CompatTools and Emulators are different things and work differently.
Also Emulators can depend on CompatTools itself.

Fair enough. So, do you think that SCUMMVM should be a CompatTool or an Emulator?

@tkashkin
Copy link
Owner

So, do you think that SCUMMVM should be a CompatTool or an Emulator?

I don't know. ScummVM uses *.ini for configs, it's a bit harder to detect than dosbox_*.conf for DOSBox. Also I don't think that ScummVM is as popular as DOSBox.
User can add it as a custom emulator if needed.

@tkashkin
Copy link
Owner

Provide option to choose which directory to use (game or emu)

Added as a compat option for CustomEmulator tool

Options list now shows translatable option description for options instead of name (name is shown in tooltip instead). I don't know if it's better than it was before.

@neuromancer
Copy link
Contributor Author

I don't know. ScummVM uses .ini for configs, it's a bit harder to detect than dosbox_.conf for DOSBox.

Using scummvm --auto-detect in the game directory works 99% of the time. Time to test it!

@neuromancer
Copy link
Contributor Author

Works great!. My last suggestion is to include the scummvm custom emulator if GameHub detects scummvm in the PATH. If you don't want to implement this feature, just close this issue.

@tkashkin
Copy link
Owner

How does scummvm --auto-detect work? Does it just launch game if detected? Is there a way to use that autodetection but without launching game?

@neuromancer
Copy link
Contributor Author

Does it just launch game if detected?

Yes.

Is there a way to use that autodetection but without launching game?

Use --detect to show games in the current directory. Some examples:

$ scummvm --detect
ID             Description                                                Full Path
-------------- ---------------------------------------------------------- ---------------------------------------------------------
zak            Zak McKracken and the Alien Mindbenders (FM-TOWNS/English) /home/g/Games/GOG/Zak_McKracken_and_the_Alien_Mindbenders
$ scummvm --detect
ID             Description                                                Full Path
-------------- ---------------------------------------------------------- ---------------------------------------------------------
kyra2          The Legend of Kyrandia: The Hand of Fate (CD/DOS/English)  /home/g/Games/GOG/The_Legend_of_Kyrandia_Hand_of_Fate_Book_Two
kyra2          The Legend of Kyrandia: The Hand of Fate (CD/DOS/German)   /home/g/Games/GOG/The_Legend_of_Kyrandia_Hand_of_Fate_Book_Two
kyra2          The Legend of Kyrandia: The Hand of Fate (CD/DOS/French)   /home/g/Games/GOG/The_Legend_of_Kyrandia_Hand_of_Fate_Book_Two
$ scummvm --detect
WARNING: ScummVM could not find any game in /tmp
WARNING: Consider using --path=<path> *before* --add or --detect to specify a directory
WARNING: Consider using --recursive *before* --add or --detect to search inside subdirectories

tkashkin added a commit that referenced this issue Nov 10, 2018
@neuromancer
Copy link
Contributor Author

187c708 🎉

It works great! I will test with a few games and close this issue.

Lucki pushed a commit to Lucki/GameHub that referenced this issue Oct 30, 2021
Allow to force compat even for games which do support Linux (tkashkin#51, tkashkin#52, 
tkashkin#71)


Former-commit-id: 36b90dc
Lucki pushed a commit to Lucki/GameHub that referenced this issue Oct 30, 2021
Lucki pushed a commit to Lucki/GameHub that referenced this issue Oct 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants