Posted September 03, 2022
Just adding some notes on my Ubuntu 20.04 experience using github.com/mefistotelis/swars - mefistotelis's updated port.
1. Getting the ISO and the music was relatively easy in a terminal (using `bchunk`, `sox`, and `oggenc`)
2. Building 'release' worked, however 'debug' build instructions were slightly faulty.
3. I could change the scaling in the source code ... but only multiples of 640x480; so i run at 1280x960.
4. There are a few bugs but overall the game seems playable!
Firstly, I converted the GOG data to .iso and .cdr using bchunk
: bchunk game.gog game.ins swars_cd
I got output like swars_cd01.iso, swars_cd02.cdr, ..., swars_cd04.cdr.
I figured out I needed to convert the .cdr files to .ogg files named track_01.ogg, etc. The simplest approach I found was via sox and oggenc
: sox --endian little swars_cd02.cdr track_01.wav
: oggenc track_01.wav track_01.ogg
I found I had to use `--endian little` via trial-and-error with sox, I couldn't be bothered RTFM to work out why.
I then mounted the swars_cd01.iso (I used either Disk Image Mounter or mount -o loop at the terminal), and followed the build instructions on GitHub. Because I wanted to do local install I used the --prefix=<the local directory> argument to the configure script. Then make, and make install.
I then ran the `util/install` script to get the game data for the port:
- I had to set the execution privileges for util/install: chmod +x util/install)
- There was also an issue (for me) with the CRLF, i used vi to set unix format: vi -c "argdo set ff=unix | update" -c "qa" util/install
- I used the -M option (no music) otherwise it would abort because audio tracks weren't mounted.
- I set the target via -t <the local directory>/share/swars - this is to match the prefix I set when I ran configure.
I then put the .ogg files into <the local directory>/share/swars/music
Then from <the local directory> I ran bin/swars ...
Success!
Well - sort of. Working on some small bugs related to menu screen transitions still, but the missions work.
1. Getting the ISO and the music was relatively easy in a terminal (using `bchunk`, `sox`, and `oggenc`)
2. Building 'release' worked, however 'debug' build instructions were slightly faulty.
3. I could change the scaling in the source code ... but only multiples of 640x480; so i run at 1280x960.
4. There are a few bugs but overall the game seems playable!
Firstly, I converted the GOG data to .iso and .cdr using bchunk
: bchunk game.gog game.ins swars_cd
I got output like swars_cd01.iso, swars_cd02.cdr, ..., swars_cd04.cdr.
I figured out I needed to convert the .cdr files to .ogg files named track_01.ogg, etc. The simplest approach I found was via sox and oggenc
: sox --endian little swars_cd02.cdr track_01.wav
: oggenc track_01.wav track_01.ogg
I found I had to use `--endian little` via trial-and-error with sox, I couldn't be bothered RTFM to work out why.
I then mounted the swars_cd01.iso (I used either Disk Image Mounter or mount -o loop at the terminal), and followed the build instructions on GitHub. Because I wanted to do local install I used the --prefix=<the local directory> argument to the configure script. Then make, and make install.
I then ran the `util/install` script to get the game data for the port:
- I had to set the execution privileges for util/install: chmod +x util/install)
- There was also an issue (for me) with the CRLF, i used vi to set unix format: vi -c "argdo set ff=unix | update" -c "qa" util/install
- I used the -M option (no music) otherwise it would abort because audio tracks weren't mounted.
- I set the target via -t <the local directory>/share/swars - this is to match the prefix I set when I ran configure.
I then put the .ogg files into <the local directory>/share/swars/music
Then from <the local directory> I ran bin/swars ...
Success!
Well - sort of. Working on some small bugs related to menu screen transitions still, but the missions work.
Post edited September 03, 2022 by stephematician