Since it looked really easy I decided to build the Debian package and it took less than two minutes. Alas, it looks like if you were serious about it you’d quickly get into some serious versioning trouble:
~/.wine/drive_c/Program Files (x86)/Captain Disaster DEMO in Death Has a Million Stomping Boots$ ags
Adventure Game Studio v3.99 Interpreter
Copyright (c) 1999-2011 Chris Jones and 2011-2018 others
ACI version 3.99.99.0
Initializing allegro
Initializing game data
Located game data file: /home/frans/.wine/drive_c/Program Files (x86)/Captain Disaster DEMO in Death Has a Million Stomping Boots/cd-dhamsb-demo-1-3-0.exe
Opened game data file: game28.dta
Game data version: 47
Compiled with:
This game format is not supported by the engine (game compiled with: ).
It cannot be run.Loading game failed with error:
Format version is too old; this engine can only run games made with AGS 3.4.1 or later
Required format version: 47, supported 48 - 49.
The game files may be incomplete, corrupt or from unsupported version of AGS.
I could just build whichever tag hadn’t yet dropped support for v47, which might be 3.3 as opposed to the current 3.4 range of releases? But managing that would be hellish. (And unnecessary given how Wine seems to have no trouble at all.)
On another note, it looks like someone is working on (legacy) AGS support for ScummVM: https://wiki.scummvm.org/index.php/AGS
PS Apparently building tag v.3.3.5.11
or v.3.4.0.16
isn’t something you can just do either:
$ git checkout v.3.3.5.11
Note: checking out 'v.3.3.5.11'.
[…]
HEAD is now at c8e6fc4c Manual: updated to 3.3.5.11
frans@frenzie-desktop:~/src/ags$ fakeroot debian/rules binary
dh binary --parallel
dh: Compatibility levels before 9 are deprecated (level 8 in use)
Good news though, at least for now that’s really easily fixed by changing this file from 8 to 9.
Don’t forget to clean first:
fakeroot debian/rules clean
And now we have a v.3.4.0.16
that runs the game natively.
It’s worse than the Wine version in this quick test. It’s basically exactly the same, except in Wine the audio works properly out the box, and I can still more or less Alt-Tab. In Wine the game still doesn’t quite seem to want to do it, but you can still Alt-Tab. The mouse arguably controls more smoothly in Wine, but it’s a bit iffy either way, perhaps due to the ultra-low resolution thing. Here’s the log running the Linux ags executable in the data folder for the curious:
~/.wine/drive_c/Progrgs Files (x86)/Captain Disaster DEMO in Death Has a Million Stomping Boots$ ags
Adventure Game Studio v3.4 Interpreter
Copyright (c) 1999-2011 Chris Jones and 2011-2017 others
ACI version 3.4.0.16
Initializing allegro
Reading configuration
Looking for game data file
Game data file: /home/frans/.wine/drive_c/Program Files (x86)/Captain Disaster DEMO in Death Has a Million Stomping Boots/cd-dhamsb-demo-1-3-0.exe
Game data version: 47
Requested engine version: 3.4.0.16
Setting up window
Initializing TTF renderer
Initializing mouse: number of buttons reported is 3
Checking memory
Initializing speech vox
Speech sample file found and initialized.
Initializing audio vox
Audio vox found and initialized.
Initializing keyboard
Install timer
Initialize sound drivers
Trying digital driver ID: 'Auto' (0xffffffff), MIDI driver ID: 'Auto' (0xffffffff)
ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory
Unable to initialize your audio hardware.
[Problem: DIGMID patch set not found]
Installed digital driver ID: 'ALSA' (0x414c5341), MIDI driver ID: 'None' (0x0)
Install exit handler
Initialize path finder library
Load game data
Game data version: 47
Requested engine version: 3.4.0.16
Game GUI version: 118
Captain Disaster
Checking for disk space
Initializing MOD/XM player
Initializing resolution settings
Game native resolution: 320 x 200 (32 bit)
Device display resolution: 3840 x 2160
Game settings: windowed = no, screen def: max, screen size: 0 x 0, match device ratio: yes, game scale: max_round
Using graphics factory: DX5
Created graphics driver: Allegro/DX5
Supported gfx modes (32-bit):
640x480;640x480;640x480;720x400;720x480;720x480;720x576;800x600;
800x600;1024x768;1024x768;1152x864;1280x720;1280x720;1280x720;1280x800;
1280x1024;1280x1024;1440x900;1600x900;1600x1200;1680x1050;1920x1080;1920x1080;
1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1200;
2048x1280;2560x1440;3840x2160;
Supported gfx modes (24-bit):
640x480;640x480;640x480;720x400;720x480;720x480;720x576;800x600;
800x600;1024x768;1024x768;1152x864;1280x720;1280x720;1280x720;1280x800;
1280x1024;1280x1024;1440x900;1600x900;1600x1200;1680x1050;1920x1080;1920x1080;
1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1080;1920x1200;
2048x1280;2560x1440;3840x2160;
Requested gfx filter: StdScale
Using gfx filter: StdScale
Switching to graphics mode
Attempting to find nearest supported resolution for screen size 3840 x 2160 (32-bit) fullscreen
Attempt to switch gfx mode to 3840 x 2160 (32-bit) fullscreen; game frame: 3200 x 2000
Succeeded. Using gfx mode 3840 x 2160 (32-bit) fullscreen
filter dest (320, 80, 3519, 2079 : 3200 x 2000), render dest (320, 80, 3519, 2079 : 3200 x 2000)
Preparing graphics mode screen
Initializing colour conversion
Mouse control: on, base: 1.000000, speed: 1.000000
Check for preload image
Initialize sprites
Set up screen
Initialize game settings
Cannot open translation: default.tra
Prepare to start game
Mouse confined: (320,80)-(3519,2079) (3200x2000)
Audio is processed on the main thread
Checking replay status
Engine initialization complete
Starting game
***** ENGINE HAS SHUTDOWN