Liquid War (v5.5.8) - 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:
    http://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 http://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.

