It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

Just adding some notes on my Ubuntu 20.04 experience using - 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 ...


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
stephematician: 3. I could change the scaling in the source code ... but only multiples of 640x480; so i run at 1280x960.
Right now, changing resolution properly is not as high hanging fruit as before, though several things still need to be fixed:
- objective text area seem to assume line width of 640
- some items should be positioned in more dynamic manner, ie. minimap should be at bottom of the screen
- interface elements should be drawn with scaling
- we could also make a collection of higher resolution sprites for the menus
- and the resolution option should be in a config file (there are many video modes predefined, but it is possible to add a mechanism for registering new modes, so any resolution is really achievable)

See here for some details: