  1 ..... Compiling,_installing,_running_XRacer
1.1 ..... Can_I_get_my_Voodoo_Banshee_card_running_with_XRacer?
          I've_got_a_Voodoo_XYZ_3D_accelerator,_but_when_I_run_XRacer,
1.2 ..... it_runs_in_a_window_at_about_0.01_frames_per_second._(or)_I've
          got_a_Voodoo_Graphics_or_Voodoo2_3D_accelerator,_and_the_-
          f_switch_gives_a_badly_offset_screen_view.
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!
1.5 ..... `configure'_works,_but_the_compile_fails_with_the_error_"sh:
          no:_command_not_found".
  2 ..... Platforms
2.1 ..... Is_there_a_Windows_port_of_XRacer?
2.2 ..... Is_there_a_(insert_Unix_flavour_here)_port?
          I_can't_run_XRacer_on_my_386._Are_you_planning_support_for
2.3 ..... 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
been
able to get my Voodoo Banshee card running with XRacer. Here's what I
did
(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
are
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-
glide
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
few
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._(or)_I've_got_a_Voodoo
Graphics_or_Voodoo2_3D_accelerator,_and_the_-f_switch_gives_a_badly
offset_screen_view._****
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.
Do not use the -f switch with Voodoo Graphics and Voodoo2 cards, it's
broken with these.
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.
****_1.5_`configure'_works,_but_the_compile_fails_with_the_error_"sh:
no:_command_not_found"._****
You don't have gettext installed on your system. Either install gettext,
or run configure with the --disable-nls switch.
*****_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
