dreamer / boxtron

Steam Play compatibility tool to run DOS games using native Linux DOSBox
https://luxtorpeda.gitlab.io/
GNU General Public License v2.0
405 stars 5 forks source link

Cannot run SierraLauncher games #9

Open boltronics opened 5 years ago

boltronics commented 5 years ago

Various games using the SierraLauncher are not compatible with steam-dos.

Games that are currently known to be affected include:

King's Quest Collection https://store.steampowered.com/app/10100/ https://steamdb.info/app/10100/

Phantasmagoria https://store.steampowered.com/app/501990/ https://steamdb.info/app/501990/

Phantasmagoria 2: A Puzzle of Flesh https://store.steampowered.com/app/501970/ https://steamdb.info/app/501970/

Police Quest™ Collection https://store.steampowered.com/app/494740/ https://steamdb.info/app/494740/

Quest For Glory Collection https://store.steampowered.com/app/502750/ https://steamdb.info/app/502750/

Space Quest Collection https://store.steampowered.com/app/10110/ https://steamdb.info/app/10110/

There are probably others.

dreamer commented 5 years ago

Unfortunately, I don't own any of these games…

By looking through titles in Activision Collection I found also:

Betrayal Collection https://store.steampowered.com/app/559640/Betrayal_Collection/ https://steamdb.info/app/559640/config/

Gabriel Knight: Sins of the Father® https://store.steampowered.com/app/495700/Gabriel_Knight_Sins_of_the_Father/ https://steamdb.info/app/495700/config/

Also, I found that someone already wrote simple "SierraLauncher replacement": https://magnus.gustavsson.se/hacks/ (but there's no license, so I can't use that code without asking author for permission). It might be replacement for https://www.sierraclassicgaming.com/launcher/ though...

Anyway - how does the launcher provided with these Steam games actually look like? What functionality it provides? Also, every game seems to include files SierraLauncher.ini and gameart.bmp - can you attach those files in here?

boltronics commented 5 years ago

Wow - the screeshots for that "SierraLauncher replacement" script, as well as the "Sierra Classics Launcher" look basically identical to the actual thing.

It appears as a small window with the game box art and the individual game launcher buttons on the left, along with an option to view the manual or close the box. If the launcher only supports a single game, nothing changes - there is just one launch button on the left instead of 7 or whatever.

Launching any game causes it to start in a DOSBox window. There's no special functionality. You could probably just generate a question in a BAT file like Rise of the Triad: Dark War does.

:loop: 
cls
@echo  1. Game 1
@echo  2. Game 2
@echo  3. Ga,e 3
@echo.
@echo  4. Setup Utility
@echo  5. Exit
@echo.
@choice /c12345 /s  Choose your game: [1-5]  /n
cls
if errorlevel 5 goto quit
if errorlevel 4 goto setup
if errorlevel 3 goto game3
if errorlevel 2 goto game2
if errorlevel 1 goto game1

:game1
GAME1.EXE
goto loop

...etc.
boltronics commented 5 years ago

SierraLauncher.ini format:

[Launcher]
Name=Steam collection name
NumButtons=6
GameManual=somefile.pdf

Game1Name=Game 1
Game1Prog=dosbox
Game1Path=game1dir
Game1Exe=game1
Game1Cmd=

Game2Name=Game 2
Game2Prog=dosbox
Game2Path=game2dir
Game2Exe=game2
Game2Cmd=

etc.

gameart.bmp is just the game box coverart. You can see many examples here: https://www.sierraclassicgaming.com/launcher/

dreamer commented 5 years ago

OK, I bought Gabriel Knight (was planning to play it at some point anyway) and prepared initial implementation - so far it only launches the first game mentioned in ini file, but that's already ok for many games (including both Phantasmagoria titles). I pushed it to branch sierra.

I will work on apps that provide more than one game later (let's keep this issue open, though).

edit: Changes from branch sierra are now released in version 0.3.1.

dreamer commented 5 years ago

Just added an option to select the specific game in collection using environment variable: https://github.com/dreamer/steam-dos#sierra-launcher

@boltronics I considered implementing text-based launcher, as you suggested - that would be cool, but different games in collection might need different dosbox configuration, so it won't work :(

The environment variable is ok for now, but I am keeping this issue open until we'll have proper GUI to replace Sierra Launcher.

ghost commented 4 years ago

We had a discussion awhile back in Discord about using Zenity for game selection, thought I'd mention it here as it seemed like a good solution.

boltronics commented 4 years ago

No worries - that's better than no menu and will do the job without too much development hassle.

However that Sierra Classics Launcher looks really nice. It would be really nice to eventually re-implement that GUI to keep the original look. :smile:

dreamer commented 4 years ago

I actually have some preliminary code see if it's possible using Zenity. It is, but frankly, looks quite ugly and there is no practical way to make it look any better: Screenshot from 2019-10-26 10-17-06

I'll probably include it for the next release of Boxtron.

boltronics commented 4 years ago

True but it's more important to have something functional right away than something that's functional and looks nice at some unspecified point in the future. Minimum viable product mentality, so nice work!