Home | Rules | Authors | Game options and menus | Network game | Command line parameters | Platform specific issues | User levels | Core algorithm | Source code | Bugs | To do

# Platform specific issues

## General remarks

Liquid War is now a cross-platform game, thanks to Allegro. So now you can play under 3 different OS, without rebooting. I personnally never use the Windows port, since the DOS one works better. Anyways I almost never run Windows for I have a nice GNU/Linux box runnning all the time, and I find it much more adapted to my needs.

The same code will compile under the 3 platforms, but with slight differences when running. C defines are used to code the specific stuff.

As I said, I try to use the same code for all platforms. This is in the long term the best solution. Otherwise there would different branches of the source tree, and I don't think this is a very good solution.

Therefore some optimizations that were performed in the old DOS-only version have been totally removed, for they were 100% platform dependent (ie mode-X asm coding). Therefore, the new versions are all a little slower than the old 5.1 stuff, but the performance loss is only about 20%, which is not significant with today's PCs.

## DOS

This is the original version. It's the fastest one as far as I know, the safest one and it will always be I think, since Allegro was first designed for DOS, and DOS allows a full (but unsafe) access to all the hardware ressources LW requires. LW doesn't use any hardware acceleration and it's not been designed to do so. Unfortunately there's no network support for the DOS version of Liquid War.

## Windows

When running under a Windows box, the DOS release used to be safer than the native Windows port. Now that DOS support is getting really poor with recent versions of Windows, the native Windows release of Liquid War starts begin the good choice for Windows users.

The other reason to choose this release rather than the DOS release is that it has network support.

## GNU/Linux

This port is the most recent one, and also the one I prefer. Paths have been changed to an UNIXish style, ie the data is stored in:

    /usr/local/share/games/liquidwar

the exe in:

    /usr/local/games

and the configuration file is

    ~/.liquidwarrc

Since not all GNU/Linux distributions have /usr/games in their path, I also put a symbolic link to the binaries in /usr/bin. I believe Liquid War is quite FHS compliant, so if its default directories do not match your configuration, blame your distro for not following the standards 8-) AFAIK the only touchy directory is /usr/share/pixmaps which I've seen on many distribution but does not seem to be referenced in the FHS.

With the latest releases of Allegro, Liquid War is becoming pretty safe under GNU/Linux. You should also know that the GNU/Linux port is usually the most up to date, since I very very seldom boot Windows at home and do most of the coding under GNU/Linux.

This documentation is also available on: www.ufoot.org/liquidwar.
Contact author: ufoot@ufoot.org