Home | Rules | Authors | Mailing lists | Game options and menus | 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.

## Memory bugs

Memory allocation of Liquid War 5 can get very buggy, especially when you run it in a DOS box.

The main reason is that Liquid War keeps on allocating and freeing bitmaps. And sometimes there is not enough DPMI memory to create bitmaps. If this happens, Liquid War should exit and give you a short description of the problem.

But it is also possible that Liquid War exits with a page fault error without warning you. This is often because the GUI manager of Allegro NEEDS free memory to work correctly. And if this memory is not available, it crashes... I have tried hard to work this arround but could not make it. All you can do to avoid this is to give Liquid War more DPMI memory and try and reduce the "-mem n" command line parameter.

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

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