
           1 ..... Compiling, installing, running XRacer
      1.1 ..... Can I get my Voodoo Banshee card running with
                              XRacer?
   1.2 ..... I've got a Voodoo XYZ 3D accelerator, but when I run
    XRacer, it runs in a window at about 0.01 frames per second.
     1.3 ..... XRacer can't find my GL/GLU/glut libraries when
    compiling. (or) XRacer runs, but it doesn't seem to be using
                            acceleration
     1.4 ..... On Linux, with my Voodoo XYZ, XRacer dumps core
                   before even opening a window!
                         2 ..... Platforms
            2.1 ..... Is there a Windows port of XRacer?
       2.2 ..... Is there a (insert Unix flavour here) port?
      2.3 ..... I can't run XRacer on my 386. Are you planning
    support for low-end PCs? (or) Can I run XRacer without a 3D
                         accelerator card?
                       3 ..... Contributions
              3.1 ..... How to make code contributions
    3.2 ..... What formats can I send music/samples/textures in?
   3.3 ..... I'm a music composer. Can I send you music/samples?
       3.4 ..... I'm a Blender guru. How do I design tracks?
                  4 ..... Miscellaneous questions
      4.1 ..... Wouldn't it be cool if XRacer did (insert cool
                             feature) !
    4.2 ..... I'm too lazy to download these beta versions. When
                     is release 1.0 coming out?
          4.3 ..... What are your future plans for XRacer?
       4.4 ..... Where do you live, and what's your day job?
                                  
1 Compiling, installing, running XRacer

  1.1 Can I get my Voodoo Banshee card running with XRacer?
  
   The Voodoo Banshee is the combined 2D/3D version of the Voodoo
   2 (rather like the relationship between the Voodoo Rush and
   the original Voodoo 1).
   
   Jason Gill sent me this message:
Richard -
I am glad to inform you that, after much tweaking and testing, I have b
een
able to get my Voodoo Banshee card running with XRacer. Here's what I d
id
(feel free to add this to the FAQ, if you feel needed. This information
*should* apply to the Voodoo3, because AFAIK, the Voodoo3 and Banshee a
re
essentially the same (the use the same drivers, at least.))

1) Get the newest versions of Glide and the associated tools for the
Voodoo3/Voodoo Banshee from
http://glide.xxedgexx.com/3DfxRPMS_vb_glibc.html
Install them as instructed on that page. Make sure that test3dfx works!

2) Get the Mesa 3.0 source (NOT BINARIES/RPMS!). Compile using 'make
linux-glide` (try other options if you feel you need them, but linux-gl
ide
should work no matter what.) Install as appropriate for your system.

3) Set MESA_GLX_FX=f in your shell (better yet, add it to your shell's
profile or start-up script).

4) Download, compile, and install XRacer however you like. Edit
"globals.c" and set the resolution you want (works for me in any
resolution that my Xserver is set up for.)

5) XRacer should work! If not, make sure that you can run test3dfx, a f
ew
Mesa Demo's or other Mesa-based Fullscreen programs. If all else fails,
make a patch and submit it :)

  1.2 I've got a Voodoo XYZ 3D accelerator, but when I run XRacer, it
  runs in a window at about 0.01 frames per second.
  
   Try setting the MESA_GLX_FX environment variable before
   running it, like this:
export MESA_GLX_FX=f

   or
setenv MESA_GLX_FX f

   if you have a csh-derived shell.
   
   If that fails to make any difference, then it's probably a
   problem with libraries (see question 1.3).
   
  1.3 XRacer can't find my GL/GLU/glut libraries when compiling. (or)
  XRacer runs, but it doesn't seem to be using acceleration
  
   Libraries seem to be a big problem for people compiling
   XRacer, or rather people seem to like to install five similar
   but subtly different versions of Mesa all over the place, and
   then complain that the configure script isn't clever enough to
   find the right one.
   
   First a note: there are Mesa libraries and there are Mesa
   libraries. Just because you installed what you thought are the
   latest Mesa libraries from RPMs, does not mean that they
   support your 3D accelerator card in accelerated mode. In fact,
   most Mesa RPMs seem to be compiled with software drivers only.
   
   Therefore, I strongly suggest that you search your system,
   remove all out of date Mesa libraries, and recompile from
   source.
   
   Use the locate command to find Mesa libraries installed, eg:
locate libMesa
locate libGL
locate libglut

   Follow the instructions in the Mesa packages when compiling
   from source. At a minimum you will need to find the right
   compile option from the possible list. For example you might
   do:
./configure --help

   Make sure that /usr/local/lib appears in /etc/ld.so.conf and
   rebuild the ld.so cache like so:
/sbin/ldconfig

   Now that you have a correctly installed Mesa, build XRacer.
   During the configure, you should see lines like this:
   :
checking for glNewList in -lGL... yes
checking for gluLookAt in -lGLU... yes
checking for glutKeyboardUpFunc in -lglut... yes
   :

   The yes indicates that the configure script successfully
   located the GL, GLU and glut libraries.
   
   If you prefer to install Mesa libraries in a non-standard
   place, then try configuring XRacer with the
   --with-gl-libs=DIR, --with-gl-inc=DIR, --with-glut-libs=DIR
   and/or --with-glut-inc=DIR options. You will definitely need
   to add the non-standard paths to your /etc/ld.so.conf and
   rebuild the ld.so cache with ldconfig, or else use the
   LD_LIBRARY_PATH environment variable.
   
   If you still have problems after building XRacer, check which
   libraries it is linked against using the ldd command. A
   correct build looks like this. Notice the glide, GL, GLU and
   glut libraries.
$ ldd `which xracer`
   :
        libglut.so.3 => /usr/local/lib/libglut.so.3 (0x4003b000)
        libGLU.so.1 => /usr/local/lib/libGLU.so.1 (0x4006d000)
        libGL.so.1 => /usr/local/lib/libGL.so.1 (0x40089000)
   :
        libglide2x.so => /usr/lib/libglide2x.so (0x404eb000)
   :

  1.4 On Linux, with my Voodoo XYZ, XRacer dumps core before even
  opening a window!
  
   If you built support for /dev/3dfx into your kernel, then
   upgraded the kernel and forgot to rebuild the /dev/3dfx
   module, then any GL program will dump core as soon as it runs.
   Solution: rebuild the /dev/3dfx module.
   
2 Platforms

  2.1 Is there a Windows port of XRacer?
  
   Yes. It's part of the main distribution. You will need Cygnus
   Cygwin to compile it. The port is maintained by Bart Jaszcz,
   and he periodically releases binary versions which you can
   find on the main site.
   
   To compile from source, please see the following resources:
     * How to compile GLUT on Windows:
       http://members.xoom.com/bpj1138/glut_on_windows.html
     * Precompiled GLUT 3.7 DLLs:
       http://reality.sgi.com/opengl/glut3/glutdlls37beta.zip
       
  2.2 Is there a (insert Unix flavour here) port?
  
   XRacer compiles out of the box on most Unix flavours. Please
   mail me (with patches) if you successfully compile XRacer on
   an esoteric flavour of Unix.
   
  2.3 I can't run XRacer on my 386. Are you planning support for
  low-end PCs? (or) Can I run XRacer without a 3D accelerator card?
  
   The short answer is no: I have no plans to support low-end PCs
   or PCs without 3D accelerator cards. As a general guide, you
   will need a PC at least as powerful as mine to run XRacer, and
   my PC is a Pentium II 266 MHz with a Voodoo 2 and a Matrox
   Millenium G200 graphics card.
   
   The slightly longer answer is that various people have talked
   about writing a version of XRacer which can run on low-end
   hardware, but no one has yet sent me any concrete patches. One
   person, for instance, hacked together a wireframe version of
   the game. I'm quite willing to incorporate such patches,
   provided the changes are fairly minor.
   
3 Contributions

  3.1 How to make code contributions
  
   I only accept code contributions in the form of a unified diff
   against the latest version (or a very recent version) of the
   code.
   
   To make a unified diff, please follow these instructions:
    1. Remove temporary files:
make distclean
    2. Rename your source tree:
cd ..
mv xracer-5.67 xracer-5.67-snazzy-feature
    3. Unpack the original xracer source alongside it:
tar zxf /tmp/xracer-5.67.tar.gz
    4. Generate the diffs:
diff -urNb xracer-5.67 xracer-5.67-snazzy-feature > /tmp/xracer.patch
    5. Check the patch and remove any unnecessary patches from
       the file.
    6. If you've added several features, it's best to send them
       as several independent patches if you can.
    7. Don't forget to add your name and email address to AUTHORS
       so that you assert copyright over XRacer and help to keep
       XRacer free!
       
   If you have just patched one or two files, then making patches
   is even easier. For each file, just do:
cp file.c file.c.orig
Make changes to file.c ...
diff -u file.c.orig file.c > /tmp/file.c.patch

   and just send me the patch: /tmp/file.c.patch.
   
  3.2 What formats can I send music/samples/textures in?
  
   XRacer will soon be able to play MP3 files. If you would like
   to contribute a music track, then please send it in MP3
   format.
   
   Sound samples should be sent in WAV or RAW format. If you send
   it in RAW format, please tell me the sample rate, number of
   channels, number of bits per sample and byte order.
   
   Textures should be supplied as JPEGs or GIMP XCF files.
   
  3.3 I'm a music composer. Can I send you music/samples?
  
   If you wish to write music to go with XRacer, please send it
   to me in MP3 format. Like Wipeout, XRacer goes well with
   upbeat techno / house tracks.
   
   I particularly need samples of the following:
     * Crowd noises.
     * Crashes.
     * Powerups (shield: woommm .. woommm .. woommm, laser
       sounds, missile sounds, explosions, pick up powerup
       sounds).
     * A loopable scraping sound.
     * A loopable wind-noise sound.
       
  3.4 I'm a Blender guru. How do I design tracks?
  
   At the moment, you can't design tracks in Blender. Also,
   designing tracks now in the hope that I may eventually
   incorporate Blender support is not likely to be useful - I
   will probably require all sorts of special textures and object
   names to indicate special things to the importer. Sorry. Use
   AC3D instead, or see question 4.3
   
4 Miscellaneous questions

  4.1 Wouldn't it be cool if XRacer did (insert cool feature) !
  
   Yes, wouldn't it. Show me the code, and I'll show you the
   feature.
   
  4.2 I'm too lazy to download these beta versions. When is release 1.0
  coming out?
  
   Probably never if too many people take this attitude. The more
   people send me cogent bug reports, code patches, samples,
   scenery and so on, the faster XRacer gets developed.
   
  4.3 What are your future plans for XRacer?
  
   At the moment, the main aim is to get a stable 1.0 release of
   XRacer. There is a limited list of features that I am working
   on for a 1.0 release (you can find it on the website). Once
   1.0 is released, XRacer will be a stable, enjoyable game,
   probably with just a single level.
   
   For 2.0, I intend to completely rewrite the track design code
   to use Blender and more free-form tracks. Currently tracks are
   divided into `segments', and segments are treated separately
   from scenery. This distinction will disappear and you will be
   able to design tracks which are much more arbitrary - for
   example, tracks will be able to cross over themselves, and you
   will be able to have tracks where you can `escape' and drive
   around the scenery. Once Blender support is in place and there
   is a stable 1.0 release to demonstrate the engine, I'm hoping
   to attract a lot more people to just develop and submit
   tracks.
   
   With 2.0, I will take the opportunity to slow down
   development, perhaps to just a few releases a week, and clean
   up the code.
   
   LAN multiplayer mode may go into 1.0 if there is time.
   Otherwise, it will be held over to 2.0 when the code is
   cleaned up.
   
  4.4 Where do you live, and what's your day job?
  
   I live in London, England. By day I'm migrating Postmaster (a
   free email service) and Schoolmaster (a free-for-schools web
   service) from legacy NT to Linux.
     _________________________________________________________
   
   
    Richard Jones
    
   Last modified: Sun Jan 30 08:18:57 GMT 2000
