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

# Bugs

## Report a new bug

If you have troubles with Liquid War 5, if you think it is a bug, and if it is not described in this file, then just send a (precise...) decription of your problem to the Liquid War user mailing list.

## Network

Network support in Liquid War is far from being perfect, so there are a bunch of little problems which can appear. Basically, once the game is correctly started on a LAN, you should have no problems, but getting the game started might be difficult.

## Interference with other Windows programs

It's been reported that Liquid War can run very slowly on Windows when some other programs (Mozilla for instance) are running. So if Liquid War's menus seem to be really really slow, then try to shut down other applications and run the game again.

This problem does not seem to apply on GNU/Linux - at least if you do not run 300 daemons together on your machine 8-)

## Datafile bugs

Sometimes there are some problems when compiling the datafile, this includes:

- The liquidwarcol, liquidwarmap and liquidwartex utilities might freeze or segfault. Typing "make" again often solves the problem.
- The background image sometimes ends up using the wrong palette, which has a very nasty consequence: it looks ugly.

These bugs are quite hard to get rid off, since I can not reproduce them easily. The good solution would be to completely rewrite the liquidwarcol, liquidwarmap and liquidwartex utilities.

## Midi does not work on OSS

IF your midi music on Liquid War, or indeed any other Allegro game, doesn't work and you are using the OSS (Open Sound System) drivers (these are the sound drivers which come with the standard kernel distribution), this may well be because Allegro only supports "FM synthesis" and not "wavetable" when it is using OSS. FM synthesis is a very old method of making sound from MIDI and has long since been replaced by wavetable synthesis, with the net result that it's quite possible you've got OSS MIDI working nicely in other applications without having FM support set up at all. This is what I found. (It has to be said that I didn't find the FM sound quality quite as bad as people have said, though).

In this situation, it looks to me like you have the following choices:

### Hack Allegro...

...to implement wavetable midi on OSS :-)

and for the rest of us...

### Use Allegro's DIGMID midi driver...

...which creates audio from MIDI using a set of patches (more info here: www.talula.demon.co.uk/allegro/digmid.html) and plays back through your sound card's audio.

### Get an FM driver up and running...

...Which is comprised of the following steps:

- Find out which FM driver is appropriate for your sound card. If you have distribution-specific tools and docs for setting up sound, try those. If not, you will need to be familiar with the knowledge in the Sound-HOWTO and Kernel-HOWTO i.e. know how to compile kernels and modules and deal with sound drivers.
- Look through the OSS modules in 'make menuconfig' and see if anything catches your eye. See if there is any specific documentation on your sound card on www.linuxdoc.org. Do a few web searches. For my AWE64, I use the OPL3 driver.
- Compile and install the FM driver module, or set up your system to use the new kernel if you want to compile the driver in.
- Load the module, or boot your new kernel. It is very important that you pay attention to what is said in the 'help' for your FM driver in 'make menuconfig' and read any necessary files in the Documentation/sound/ directory. For example, I just had a nice half-hour wondering why the hell my FM wasn't working now when it had been before - with the OPL3 driver, you have to give the option io=0x388 to insmod. Which is stated nice and clear in the docs, but of course I had forgotten since then. You can prevent such happenings by recording options permanently in /etc/modules.conf - see the manpage etc.
- Try the game. If it's worked you will hear particularly beepy music. Enjoy!

--IMPORTANT-- If you are using Liquid War, your FM will only work if you go to the map 'Elephant inside a boa' and proceed to chase each other round in circles for at least 10 minutes. This cures a bug in the design of the OPL3 interface which conflicts badly with the core Liquid War algorithms. How the hell the music hardware even knows about the core algorithms I don't know, but that's what I made of the now-defunct opl3-occult-FAQ, from which here is an excerpt:

    Many roads a man must take. Those with one-track minds are DOOMED, I tells ya.

---- The Liquid War algorithm calculates distances to one place, the cursor.

And:

    Man or machine, face or code, must stand strong and solid; must not just ooze away as slime.

---- We think it might just take objection to the whole 'slimy' nature of the LW beings. As well as it being LIQUID War.

So, our carefully tailored approach, is to firstly have the players going in all the possible different directions evenly by moving around the map in circles, and secondly to divert the opl3's attention from the general slimy liquidness of it all by emphasizing the solidity, reality, and natural goodness of that classic tapestry: an elephant inside a boa.

That and it's a f***ing ace level.

## Checksum errors

The Liquid War server is a "light" servers which - to some extent - has no idea about what is going on in the game. It simply replicates key strokes between clients and each client maintains its own game state. Normally, the game is designed so that given the same user input, it will behave exactly the same.

However, it happens that sometimes 2 clients can behave differently, and this is a (severe) bug. One consequence is that messages reporting "Checksum errors" appear on the server's and on the client's console output. This bug appears in 5.5.6 when using non-default rules settings. I tried to fixed the core algorithm so that things work better in 5.5.7, but I can't really garantee it will work perfectly.

I'm highly interested in bug-reports concerning this problem.

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