Tue Jan 18 23:24:24 GMT 2000
Version 0.95.25: Minor update. Removed all printf's and perror's from the code. Tidied up handling of --verbose command line argument. Made compiler warnings much more strict, and removed a ton of buggy code which triggered warnings.
Tue Jan 18 21:30:06 GMT 2000
Version 0.95.24: A minor update. Added some more scenery. Some changes to tracks/simple/control.c. Fixed RPM builds (slightly more).
Mon Jan 17 23:37:33 GMT 2000
Version 0.95.23: I can't believe that until now I didn't have a link to ssystem from these pages. Well that's rectified now. This program has been around for a few years now. It's a really beautiful solar system simulator. Get it now (it needs Mesa 3.0). OK, there's no new code in this release. I just got RPMs working (maybe - perhaps someone could mail me if they get the RPM to work/not work).
Mon Jan 17 19:24:57 GMT 2000
Version 0.95.22: Nick Lewycky sent another patch in which fixes the mouse controls (actually - makes them work, full stop).
Sun Jan 16 23:17:15 GMT 2000
Version 0.95.21: Just playing with Blender and adding some more scenery to the basic track.
Sun Jan 16 16:16:09 GMT 2000
Version 0.95.20: Added support for textured scenery objects (although the texturing is not quite right at the moment, and drawing large quads seems to make the engine slow down unacceptably). Added debug of segment number. Fixed a build bug.
Sun Jan 16 10:17:18 GMT 2000
Version 0.95.19: Nick Lewycky sent in a patch which fixes the keyboard controls.
Sat Jan 15 16:08:04 GMT 2000
Version 0.95.18: Added code to browse directories and load tracks.
Sun Jan 9 15:27:20 GMT 2000
Version 0.95.17: Laps code imported from 0.94 release.
Sat Jan 8 18:45:44 GMT 2000
Version 0.95.16: Minor patch fixes a warning and CVS problem in previous release.
Sat Jan 8 18:27:44 GMT 2000
Version 0.95.15: It's taken me most of the week to figure out a really annoying bug. I added a skeleton outline for the sound code, but this caused XRacer to consistently lock up the machine every time it ran. Eventually worked out that I was calling exit(3) not _exit(2) in the sound subprocess - deeply confusing Mesa/Glide by calling all the atexit callbacks twice over. Here it is - no sound, but the skeleton for sound is in place. Also updates to the FAQ, craft drawn in background a la Elite, and numerous small updates.
Mon Jan 3 22:42:58 GMT 2000
Version 0.95.14: Added code to store craft in a file, and load them when the game starts up. Added a simple Blender VRML parser, so that (in theory at least) you can draw craft in Blender. This works, to some extent, but it's not really ready for prime-time.
The mailing list, which had been in a state of not-workingness for some time is now working again. To subscribe to it, do this:
echo 'subscribe xracer' | mail -s '' xracer-request@annexia.org
Sun Jan 2 17:13:24 GMT 2000
Version 0.95.13: No change. Just updating the website.
Sun Jan 2 14:14:25 GMT 2000
Version 0.95.12: Joystick controls work, but the handling is very ropey. It's here.
Sun Jan 2 01:49:40 GMT 2000
Version 0.95.11: Screenshots work again. Added joystick code (but you still can't move around - promise that for the next version). Did lots of cleaning up of the menu code. There are now a few menus you can navigate between. It's here.
Sat Jan 1 17:40:27 GMT 2000
Version 0.95.10: Fixed a few more stupid bugs. FPS calculated correctly now (there was me about to post a message about how slow Mesa 3.1 was :-). Text is the right way up! It's here.
Sat Jan 1 17:15:36 GMT 2000
Version 0.95.9: Pulled in the powerups, panel, LCD code. It's here.
Sat Jan 1 15:57:04 GMT 2000
Version 0.95.8: Happy new year to everyone from London, England! ... We recently got coverage by the folks at linuxgames.com. This is good news, but please note that the 0.95.x releases of XRacer are intermediate, sub-alpha, unplayable versions. I'm rewriting the game engine from scratch now. If you just want to play with the game, try version 0.94 instead.
Tracks and textures on the track are now generated from a Blender-exported file. A tool converts the track description directly into a piece of optimized C code which is called upon to draw the track. The code is stored in the track file. This is how things should work. It avoids all the display list clutter and problems with parsing track files. Also should allow the track scenery to be really dynamic - ie. someone could hack together a track file with animated textures, or even an animated track.
The latest version is here.
Wed Dec 29 21:35:38 GMT 1999
Version 0.95.7: Fixed a lot of physics problems. It's here.
Wed Dec 29 17:17:37 GMT 1999
Version 0.95.6: As usual, getting the physics to work can prove to be a little bit of a problem. It's here.
Tue Dec 28 19:19:43 GMT 1999
Version 0.95.5: Wow. You can see the track now. The distribution file here is a little bit smaller. I removed some intermediate files which had slipped in there by accident.
Tue Dec 28 16:42:08 GMT 1999
Version 0.95.4: More stuff, still no game. It's here.
Mon Dec 27 16:15:11 GMT 1999
Version 0.95.3: Another release for the brave (or should that be foolhardy). Please read the notes about version 0.95.2 first. And yes, I know the text is upside down :-) It's here.
Sun Dec 26 17:18:55 GMT 1999
Version 0.95.2: A few people have asked me for source for the new, rewritten-from-scratch, XRacer. It's here. This version is extremely incomplete. I have only just started the process of copying code over from version 0.94 into this new series. It's probably not worth sending me patches against this version yet. If you want a working playable game, go and download 0.94.
Important XRacer NewsThu Nov 11 13:45:57 GMT 1999
XRacer development is in a temporary lull. There are various reasons for this: Firstly, I was working 25 hours a day completing and deploying the Linux rewrite of SchoolMaster - the world's best and most popular community for schools. It used to run on Notes/NT. 'Nuff said, I think. This is still on-going, but since the system has been successfully deployed and all existing schools transferred across, development is not quite so hectic now.
Secondly, I'm in Tokyo, Japan right now on holiday.
So I hope you will accept my excuses, and now get ready for the good news: refreshed from my holiday, I am full of good ideas for XRacer, and ready to start a substantial rewrite when I get back next week. I even have time off from work to start it.
Modeller: AC3D was becoming something of a liability. We reached the limits of what was possible very quickly, and it was clear to me that development could not continue without a new modeller. In addition, AC3D is not free software in either free beer or free speech senses of the word. I was loathed to force my codevelopers to have to pay to build tracks.
I bought the Blender book, did a few tutorials, and now I'm beginning to get the hang of this very powerful and complete modeller. I am convinced that Blender, although it is free beer and not yet free speech, provides the best way forward for easily and quickly building tracks. For a start, I quickly found out that you could draw a bezier curve (circle, actually), extrude a shape along it and convert it into a mesh. Instant track.
Now Blender is not the ideal tool for the job. One of its main problems is the fact that it is hard to export models in a useful form. In particular, I can think of two features which would be immediately useful: firstly to be able to export the scene objects in complete internal form to a simple ASCII-based format; secondly to be able to export just single objects at a time. Ton has promised to release the source to Blender 2. I hope he decides to do this sooner rather than later so I can add the features I need directly. In the meantime, there seems to be sufficient export capability to allow us to use Blender as a modeller for XRacer with some simple Perl scripts to convert between formats.
Code: The XRacer code base has become rather tangled. I plan to substantially rewrite and clean up the code to make the flow of execution cleaner and more obvious. Also to allow simpler platform-dependent sections to be written (the original code didn't pay any attention to platforms other than Linux, meaning that a Windows-native port is a tricky affair). Fred Brooks said something on the lines of ``plan to throw away the first version ... you will anyway''. Consider the current version to be the first attempt. The second version should get a lot more things right.
Track format: The old track format was a definite mistake. Not only are track files large and slow, but they are not even very flexible or useful. For example, you can't program intelligence into objects - so you couldn't have cars moving along a motorway realistically for example. The new track file format will simply be a shared library (a .so file on Unix). The track code will perform everything related to drawing and GL, and hence be able to make intelligent track-specific optimizations such as ...
Display lists & Mesa 3.1: The current implementation is not very intelligent about how it uses display lists. It works well with Mesa 3.0, but as anyone who has tried to run XRacer against Mesa 3.1 will have found out, it fails miserably when display lists are properly implemented. Thanks to a number of comments made on the mailing list, I now have a much better understanding of display lists and how future hardware will be able to optimize them. The new implementation will be built against Mesa 3.1 from the start, and should use display lists somewhat more intelligently where possible.
Mailing list: The mailing list is (or perhaps isn't) down. This is odd. I could swear that I didn't change anything about the sendmail or majordomo configuration, but I'll check. Anyhow, annexia.org is soon going to be moved onto a different machine at work (for general security / isolation reasons), so I will have a chance to build a fresh sendmail and majordomo installation. Things should be back to normal as soon as this happens.
That's all for now. Keep an eye on this space for the next two weeks, and you should see things start to happen again. Thanks for your patience.
Rich. Tokyo, Japan.
Mon Sep 20 20:56:46 BST 1999
Version 0.94: Font and instrument panel scaling patch by Szczepan Kuzniarz. Meanwhile, I've been hard at work learning to use Blender.
Sun Sep 12 14:15:42 BST 1999
Version 0.93: Sound patch: DirectSound is now (possibly) supported on Windows / CygWin platform. The patch comes from courtesy of Bart Jaszcz, thanks to him. Feedback is appreciated (I had to modify the patch heavily, and I don't really have a Windows box to test this on). Integrated a patch from Kai Jan Runte which should allow clean compiles on Solaris 2.5.1. Also some patches from Szczepan Kuzniarz for the Amiga.
This is quite a major code-only patch and it's possible that things have been broken (eg. sound).
Sun Sep 5 12:12:16 BST 1999
Version 0.92: Some patches to fix Solaris compilation (it still doesn't quite compile correctly on Solaris, but it's nearly there). A new Windows binary of version 0.89 is out. New in this binary: sound support and untested network support. Thanks to Bart Jaszcz for this.
Tue Aug 31 23:38:31 BST 1999
Version 0.91: I reversed out the sound changes in 0.90 (which were broken). I still don't know how to use SIGIO (patch anyone!). Anyway, this version can choose to use poll(2) or select(2) at compile time, so it should be much more portable.
Tue Aug 24 21:59:22 BST 1999
Version 0.90: Various autoconf patches. You can now build properly in a separate directory. You can also build with Mesa even if you have another GL library (specify ./configure --disable-GL). Thanks to Filip Van Raemdonck for these patches. You can also disable ESD support (ie. prefer OSS support if you have it) by specifying ./configure --disable-esd. I also fiddled with the sound parameters, and this appears to get rid of the latency problems. I also replaced the old poll(2) method used by the sound process with asynchronous SIGIO signals. The theory is that this may make the code more portable to platforms which do not support select/poll of audio devices. However, in practice, it doesn't seem to work! I fear that Linux doesn't support SIGIO on pipes. There's no mention of SIGIO in /usr/src/linux/fs/pipe.c, but maybe I'm looking in the wrong place or making the wrong syscalls. Any help here would be useful. The relevant code is in sound_process.c.
Fri Aug 20 14:54:33 BST 1999
Version 0.89: Sorry about the few releases recently. As we discussed on the XRacer mailing list this is because of two factors: no one's sending me patches (!) and I've been snowed under at work. At least you'll see Postmaster undergo a fantastic transformation next Monday - I've not been wasting my time. Anyway, this is just a minor patch to see if we can't improve the latency of sound samples. It only affects the OSS (Linux native) sound driver.
Sun Aug 15 12:34:30 BST 1999
Version 0.88: Somewhat broken ESD (E Sound Daemon) support. The sound is choppy even though I set the socket to non-blocking mode by hand.
Wed Aug 11 20:02:03 BST 1999
Version 0.87: This version possibly fixes a problem with the generic sound driver. I need someone to test it on a non-OSS platform (eg. Solaris).
Tue Aug 10 08:31:11 BST 1999
Version 0.86: This fixes a couple of small bugs with the fading in/out of menus.
Mon Aug 9 21:19:57 BST 1999
Version 0.85: Fixed bug with slow menus in previous release. Added some comments about needing to be able to load textures without using mipmaps.
Sun Aug 8 16:34:04 BST 1999
Version 0.84: OK, course over, back to work. There are lots of changes here. Sound effects improved (better wind noise). Menus introduced (implies lots of structural changes to the code and some breakage). Why are menus so slow? There's obviously some GL effect enabled here which shouldn't be. Fixed a bug in text display functions. Tidied up lots of bits of the code.
You need to get the data files again for this release.
Mon Aug 2 19:15:54 BST 1999
Version 0.83: Another slow day in XRacer development (we are slowing down now ... think of the heady pace just a few weeks ago). OK - we have one patch from Ilpo in here which allows you to disable sound at runtime. Run xracer with the --nosound (-q) option if you have trouble with sound. One user has reported that the backdrop (the mountains) don't appear with the Mesa GLX drivers. Can anyone confirm or deny this? Ilpo is still looking for people who have used the LAN or Internet play options - help him out please chaps.
I'm on a database course (fun) all this week.
Sat Jul 31 17:52:08 BST 1999
Version 0.82: Major fix to track representation. Craft hang lower on the track, and there is less bounce. You need to get the data files with this release. Updated the FAQ.
Sat Jul 31 17:04:58 BST 1999
Version 0.81: Substantially fixed the sky and backdrop code. The backdrop mountains now follow the viewer as you would expect, rather than appearing stationary against the sky. Joe Waters' explanation of display list optimization (see the mailing list) helped a great deal when implementing this.
Thu Jul 29 23:33:43 BST 1999
Version 0.80: A bigger, smoother and better looking mountains texture submitted by Darin Ohashi. Sounds are now smooth (provided you use a Voodoo - any suggestions as to why they still break up on a G220?). More sound effects. You need the latest data file.
Tue Jul 27 23:47:51 BST 1999
Version 0.79: This version has very broken sound support (developers only). Does anyone know why the sound breaks up, or how to persuade OSS to generate continuous sound? This release also contains various other patches.
You need to get the new data files -- they contain the samples. You will also need the sox program.
Mon Jul 26 22:55:48 BST 1999
Version 0.78: Alan Levy sent gorgeous high resolution photographs of snowy mountains. Find them in the data source archive, in the directory images/alanlevy/. If anyone has enough experience with the GIMP and wants to turn one of two of these images into backdrops and or clean texture maps, please send me a mail. The backdrops need to wrap left-right. The texture maps need to tile in both directions. For the backdrops, it would be helpful if you could remove clouds from the sky and set the sky all to a single colour, or even better produce a separate alpha map the same size as the image (see images/mountains3.jpg and images/mountains3-alpha.jpg to see what I mean by this). Both need to be scaled so that the width and height are powers of 2 (this is a requirement for GL textures).
Meanwhile, I'm still fiddling with the vagaries of the OSS API and database imports.
Mon Jul 26 08:38:34 BST 1999
Version 0.77: I'm still writing the sound code. It still doesn't work. This release contains a small patch from Ilpo so you can specify the paths to search for GL and GLUT libraries. Ilpo appeals for people to try out the network code and post results on the mailing list.
Sun Jul 25 22:47:56 BST 1999
Version 0.76: This just fixes a compilation bug with 0.75.
Sun Jul 25 15:34:41 BST 1999
Version 0.75: This is just a very minor patch. I fiddled with the sound code, but it still isn't close to working. This is just an update to say that the dreaded database export is still ongoing. annexia.org and I are working overtime ... so things are still going very slowly on the XRacer front. Bart Jaszcz has put together another Windows binary release. Iota put together a page explaining how to get Voodoo Banshees and XRacer to coexist. I've not put it up yet, but if you want info, mail me in the meantime. I also downloaded Mesa 3.1 beta 2, and (yes) it really doesn't work with XRacer, and I don't know why.
Wed Jul 21 23:16:18 BST 1999
Version 0.74: Patch from Ilpo - beginnings of network game play.
OK - xracer.annexia.org is up and down. I upgraded it today to a Dual Pentium II-450 with 512 MB of RAM, because it is also being used for a huge database export. It still runs out of RAM sometimes half way through the export, so don't expect things to be too stable. The mailing list may also be intermittent for the same reason. There will be no XRacer updates from me until Saturday (except for simple patches that people send me), because of commitments at work (database export, q.v.).
Wed Jul 21 08:53:24 BST 1999
Version 0.73: Fixed bug in texture mapped fonts. Big patch from Ilpo.
Tue Jul 20 19:42:02 BST 1999
Version 0.72: Wireframe mode (toggle with 'l'). Select number of laps and difficulty level with -l and -d on command line. Fix to configure script should detect faulty glut libraries better. I'm working on sound right now.
Mon Jul 19 23:38:30 BST 1999
New screenshots.
Mon Jul 19 22:15:47 BST 1999
There's a FAQ.
Mon Jul 19 19:29:33 BST 1999
Version 0.71: Ilpo sent a patch which moves the architecture dependent stuff into different subdirectories. This seems to work OK on Linux, b