Home | Rules | Authors | Mailing lists | Menus and hot keys | Network game | Command line parameters | Platform specific issues | User levels | Core algorithm | Source code | Bugs | To do | Copying

# 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.

The same source tree will compile under the 3 platforms, but with slight differences when running. C preprocessor #defines are used to code some platform specific stuff, and in some cases there are different files for the DOS, Windows and UNIX versions.

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). So 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. And anyways the performance loss is most of the time limited to the goog old VGA 320x200x8 mode-X, which starts being kind of obsolete.

## 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 unconditionnal 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. And Allegro for Windows is getting quite stable in the 4.x series.

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

If you have problems running Liquid War under Windows, please check out the "data\lwwin.log" file which should be written each time you run the game. It contains the information which is displayed on the console under other platforms, and might give you a clue about what's going wrong.

## 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 executable in:

    /usr/local/games

and the configuration file is

    ~/.liquidwarrc

Since not all GNU/Linux distributions have /usr/local/games in their path, I also put a symbolic link to the binaries in /usr/local/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/local/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 stable 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.