Racer v0.8.37 released

Ruud

RACER Developer
Just in time for X-mas. ;)

Get the new version at http://www.mediafire.com/?hc44aiq5izp4iqi
Then get the racer.exe/pdb which fixes reflections at www.racer.nl/temp/racer0838_alpha.7z

At some point we're going to have to call it v0.9rc1, since this one does a little tweaking to the graphics intensities (energy conserving) and sets cast_shadow to 0 by default. Most shadows will disappear; a huge fps boost until you put shadows back in shader files (.shd).

Merry Christmas!
Ruud

The changelist for v0.8.37:
- Added views.ini keep_aspect property to maintain aspect ratio for static images. See http://www.racer.nl/tutorial/dials.htm
- dyn_standard_reflect_window_f.cg now uses alpha as reflectiveness as well; opaque parts get less reflection
- TrackEd's AutoAseToDof has improved error messages on bad submaterial usage.
- TrackEd: some (progress) dialogs never appeared. Copy flags to group didn't work.
- TrackEd now colorizes the Collide and Surface flags in Props mode (F4) for easy tweaking of flags.
- standard_bump_detail_f.cg had a hardcoded 12x scale; now it uses the scale defined in the .shd file
- The garage track is not shown in the 'Select Track' screen anymore.
- Added log.events.host/port settings for remote racer tracking (niche usage).
- Lidar data (track.rld files) can now be sorted and driven on. Pro use only.
- Added car pitch/roll in body AND world coordinates in the Ctrl-9 debug screen.
- Added 'analyse shaders' command to check all shaders (track.shd/car.shd).
- The shaders default 'reflect' value for each layer is now 0 (was 1).
- Final tweaks in the shading system; energy conservation for diffuse and specular. For diffuse colors, this
means diffuse colors are divided by PI (assuming diffuse colors are kept between 0 and 1), and specular
colors are being corrected with (n+6)/8*PI.
See also http://www.rorydriscoll.com/2009/01/25/energy-conservation-in-games/
- Timers are now in microsecond accuracy using QueryPerformanceTimer(). Multicore machine issues?
- Profiling is more accurate due to the better timer accuracy. More graphics divisions added.
- Shader cast_shadow property by default is now 0; it's better to explicitly define shadow-casting materials
since you don't need a lot of shaders to cast shadows to still get a good image.
You *will* need to add cast_shadow=1 lines for shaders that you want to cast shadows.
- Depth texture setup optimized for shadowmapping; quite a big fps increase.
- Added look/left right controls (look_left, look_right) to dynamically look left or right (Q/W by default)
- In your controller file you can add global.left_right_look_velocity to set left/right look velocity (default=250)
- In your controller file you can add global.left_right_look_max to set the max left/right look angle (default=45)
 
Thanks for the update, Ruud :)

Despite having set the reflect value specifically for the corresponding shaders, I don't seem to be getting any reflections at all. There doesn't seem to be a related change in racer.ini or elsewhere I looked so far either, hm.

The cameras still seem to be bugged, as in the last release - even if they were already defined from the nullpoint (no cg.offset used), their position and movements aren't lining up with our inputs settings

Indeed, the texture caching went a bit overboard and applied everything as 2D, even cubemaps. That's fixed now (in v0.8.38).
I'll check out the camera locations.
 
Is there any more support for Win2000? Or is my system just too old?

It doesn't run anymore? There are some functions, like processor number fetching, that I'd like to use in Win7 even, but refrain because they were not there in XP... Win2000 is not explicitly supported no.
 
uff...so many words for one thing...(sorry Dave^^)
NO REFLECTIONS = NO FUN! :mad:

Try the exe at www.racer.nl/temp/racer0838_alpha.7z
It fixes the reflections. Other changes (no TrackIR tutorial yet):
- Look_up/look_down controls added for to make TrackIR devices possible. See http://www.racer.nl/XXXXX
That makes head tracking possible, although currently a bit crude.
- In your controller file you can add global.up_down_velocity to set up/down look velocity (default=250)
- In your controller file you can add global.up_down_look_max to set the max up/down look angle (default=45)

I've taken out the diffuse/specular energy conserving for the moment, but that's in the shader files, not in this zip (just the exe).
 
Hi Ruud

Forgive me if this question has been asked before, but is this excellent game still being developed or updated for Mac OS X? I have downloaded a Mac version from 2008, and notice the version number for the above Windows version is higher.

Still a superb experience driving a Honda Civic at 120 MPH!

Peter Fludde

Not really, no. Wine under Mac may run it. There's actually a new colleague here, Guido, who has a Macbook and is trying to get Racer to compile (and then run) under Mac, so there may some progress there (although he's doing this in his spare time).
If anyone has a good tutorial on running Racer under Mac, that would be most helpful (I could place it on Racer.nl).
 
Haven't worked out all the shadow problems yet. Cars will need to be updated with the car.shd file redone to include the shadow command for each shader I guess. Haven't changed racer.ini to test.

I get two 1282 errors in my Qlog file, why?

Overall a good update Ruud, thanks and Merry Christmas.

Cast_shadow hopefully not for each shader; that would defeat the idea that only a few shaders need shadow casting to get the visuals done. Most of the time currently goes into creating shadowmaps, or at least it was that way in v0.8.36! In v0.8.37, with the cast_shadow defaulting to 0, I can get shadowmap creation down to less than the 'normal' render (see 'debug 6' profiling numbers).

For tracks, a lot of objects on the ground don't need to cast shadows (roads/kerbs/grass) and objects that are far away may be ok without them too.

The 1282 errors was due to the same problem as reflections not appearing; trying to bind a cubemap texture as a 2D texture was giving that error. This made the reflection map disappear.
 
Bob, not only on Roggel! It's close to ALL Tracks....

Seemingly TrackEd generates 'empty' track cameras somewhere while creating them. This may be the cause for track cameras that are not really defined. Previously they were ignored, until a few of them here gave weird flipping views on some tracks. A bit like zooming in from -infinite to +infinite fov, vertically flipping the view even. I discovered the empty track camera definitions when hunting this bug...
 
Ruud, the alpha .exe and .pdb don't want to run here - they throw the following crash log instead:

Code:
Tue Dec 27 15:54:20 (FATAL): [racer/3788] Exception 0xC0000005, flags 0, Address 0x00479DB1
(this dialog text is stored in QLOG.txt)
 
OS-Version: 6.1.7601 (Service Pack 1) 0x100-0x1
 
0x00479DB1 d:\source\trunk\dev_racer\src\lib\rcontrolengine.cpp (line 505): RControllerEngine::StepPhysics()
0x0045C420 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 2652): RManager::StepControllers()
0x00480652 d:\source\trunk\dev_racer\src\lib\rphysics.cpp (line 270): RPhysics::Step()
0x004614E0 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 2739): RManager::SimulateUntilNow()
0x00461694 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 2847): RManager::Step()
0x00402870 d:\source\trunk\dev_racer\src\mrun.cpp (line 1519): rrIdleFuncGame()
0x0053E685 d:\source\trunk\dev\src\libs\license\qapp.cpp (line 941): QApp::Run1()
0x00403AFB d:\source\trunk\dev_racer\src\mrun.cpp (line 2061): Run()
0x0040155B d:\source\trunk\dev_racer\src\main.cpp (line 241): main()
0x004015D3 d:\source\trunk\dev_racer\src\main.cpp (line 248): WinMain()
0x005654CB f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (line 263): __tmainCRTStartup()
0x7490339A [kernel32]: (filename not available): BaseThreadInitThunk
0x77049ED2 [ntdll]: (filename not available): RtlInitializeExceptionChain
0x77049EA5 [ntdll]: (filename not available): RtlInitializeExceptionChain



Also, is there a reason why Racer takes so long to close when hitting Escape? I compared the current beta to an older one - v0.8.3 - and it was pretty instantaneous back then. Right now, even with all the fade out set to zero in racer.ini, it takes annoyingly long. There's also the comical aspect, as you repeatedly press Escape, Racer will restart the fade out loop and not close, which again used to be not the case in older versions.
 
Ruud, could you please take into consideration some of the thoughts i've posted here, if you need information on the mtkit..i can find it for you...as for the auto shading thing. i dont know how that works..you'd need to take that up with synetic the developers of wr2, anyway..i'm just throwing up ideas..hopefully like a cat, they land on all fours..cheers


Uploaded with ImageShack.us
 
Ruud, the alpha .exe and .pdb don't want to run here - they throw the following crash log instead:


Also, is there a reason why Racer takes so long to close when hitting Escape? I compared the current beta to an older one - v0.8.3 - and it was pretty instantaneous back then. Right now, even with all the fade out set to zero in racer.ini, it takes annoyingly long. There's also the comical aspect, as you repeatedly press Escape, Racer will restart the fade out loop and not close, which again used to be not the case in older versions.

I see the crash; something with the look_up/down controls. Redownload and it should be fixed (careful with the browser cache).
Closing Racer has become slower yes; it's a specific socket being closed (I believe in the console). It hangs a second or so on a closesocket() call. Perhaps that is waiting for, well, I don't know what. Not sure why that changed at some point. Still, it may be quite hard to figure out somehow why a socket close would take more time (especially since all of it is UDP, so connectionless!). Hm. Currently, on my Win7 machine, it seems ok now, when I exit from the menu instead of while racing.
 
Thanks a lot for the quick fix, Ruud - much appreciated :)

As for the closing duration, I normally don't run through the main menu (which is indeed quicker), so it basically affects me all the time hence the curiousity.



I've got another crash here when attempting to load Some1's Mount Autobahn track - it worked fine in v0.8.36 still, but 37/38 don't seem to like it:

Code:
0x00B0DD82 [newton]: (filename not available): NewtonMeshGetIndirectVertexStreams
0x0C9301E0 [(module-name not available)]: (filename not available): (function-name not available)
0x19300060 [(module-name not available)]: (filename not available): (function-name not available)

Is that something on our side? I haven't seen this message on the other tracks dozen or so tracks I tried in v0.8.37/38 so far. I already had Racer create a fresh cache file for the collisions, to no avail.
 
That Newton thing may happen when it's regenerating trackcollision.bin. I only see crashes on big tracks, which generate out of memory really. It might help trying to reduce memory usage (of Racer, your OS is probably fine); turning off textures for example, or optimize_newton_tree=0.
 
It makes no sense to use the old fashioned specular when we have a live envmap and a whole bunch of mips that we can use. Perhaps even a system of cube envmaps that we generate at runtime, or when TOD changes, for track materials. They generally only need to be fairly low res for specular use

I've got envmap mipmaps working. :) Steps to follow, starting from a base v0.8.37 install:
- download http://www.racer.nl/temp/0838_mipmap_envmap.7z
- unzip the files in the Racer directory
- in racer.ini, set envmap.generate_mipmaps to 1 (default is 1)
- check out Lambo's reflections

Changes:
- racer.exe: the envmap gets mipmaps generated if envmap.generate_mipmaps=1
- The Lambo's car.shd adds a few 'mipmap=...' lines
- a few reflective shaders were changed to add the uniform 'mipmap'. In your car.shd for example, you can now specify:

shader_murcielago_wheel~vf_reflect
{
...
mipmap=5

To take mip level 5. I have attached a screenshot. The problem might be that a mipmap level of 5 depends really on the base map size, but most people will run the default 1024 envmap size anyway.
The 'mipmap' shader global parameter gets sent to the fragment shaders, where they now use texCUBElod() instead of texCUBE().

I do wonder though if there are many cards out there that don't support texCUBElod yet...
envmap_mipmap.jpg
 
Tried 08.38a, is mostly an improvement, reflections work, get decent fps.
Something's happened to the movable objects, my shopping trolleys on Broken Springs can now be driven thru. The car sort of interacts with them, but its like they are ghost objects, the car passes thru them.
[edit]
Noticed three more anomolies
1. Cycling thru camera views ('c' key) looking at the damagable Lambo, one view shows no damage, while every other one does show damage. Maybe its a beer-goggles cam hehe?
2. Driving the damagable Lambo, and using it as 3 of 5 AI cars, FSR's BMW as 2/5, I noticed dents appearing in my Lambo, I hadn't hit anything. It appears the damage is applied per car model, not per instance. If I smash my Lambo, the other lambo's also have the damage applied as well. The BM's also 'shared' damage, but didn't share it with the Lambo's
Voodoo damage lol.

3. guages seem to be stretched again when running across three monitors.
[/edit]
 
I've got another crash here when attempting to load Some1's Mount Autobahn track - it worked fine in v0.8.36 still, but 37/38 don't seem to like it:

Code:
0x00B0DD82 [newton]: (filename not available): NewtonMeshGetIndirectVertexStreams
0x0C9301E0 [(module-name not available)]: (filename not available): (function-name not available)
0x19300060 [(module-name not available)]: (filename not available): (function-name not available)
In 0.8.35 I had intermittent crashes when cars drove on one of the off-ramps (either player or AI). So it might just be noticing that issue sooner.
Code:
Mon Nov 28 23:20:29 (INFO): [racer/3120] Crash detected - attempting to recover some data before displaying the crash dialog
Mon Nov 28 23:20:31 (FATAL): [racer/3120] Exception 0xC0000005, flags 0, Address 0x00376BD3
(this dialog text is stored in QLOG.txt)

OS-Version: 6.1.7601 (Service Pack 1) 0x300-0x1

0x00376BD3 [newton]: (filename not available): NewtonWorldForEachJointDo
0x003A397B [newton]: (filename not available): NewtonWorldForEachJointDo
0x003A86CB [newton]: (filename not available): NewtonWorldForEachJointDo
0x0035DC0D [newton]: (filename not available): NewtonWorldForEachJointDo
0x0035E04F [newton]: (filename not available): NewtonWorldForEachJointDo
0x00561760 [racer]: (filename not available): _CIsqrt
0x0054CDB7 d:\source\trunk\dev\src\libs\plib\prigidbody.cpp (line 1117): PRigidBody::SyncWithPhysicsEngine()
0x00541648 d:\source\trunk\dev\src\libs\plib\newton.cpp (line 143): PNewtonWorld::Update()
0x00472D33 d:\source\trunk\dev_racer\src\lib\rscene.cpp (line 4697): RScene::Animate()
0x0047FB98 d:\source\trunk\dev_racer\src\lib\rphysics.cpp (line 282): RPhysics::Step()
0x00461C50 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 2700): RManager::SimulateUntilNow()
0x00461E04 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 2808): RManager::Step()
0x004028F1 d:\source\trunk\dev_racer\src\mrun.cpp (line 1525): rrIdleFuncGame()
0x005376D5 d:\source\trunk\dev\src\libs\license\qapp.cpp (line 930): QApp::Run1()
0x00403ACB d:\source\trunk\dev_racer\src\mrun.cpp (line 2040): Run()
0x00401534 d:\source\trunk\dev_racer\src\main.cpp (line 241): main()
0x004015A3 d:\source\trunk\dev_racer\src\main.cpp (line 248): WinMain()
0x0055DD7B f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (line 263): __tmainCRTStartup()
0x7619339A [kernel32]: (filename not available): BaseThreadInitThunk
0x77E19ED2 [ntdll]: (filename not available): RtlInitializeExceptionChain
0x77E19EA5 [ntdll]: (filename not available): RtlInitializeExceptionChain
Can't drive it in 37 or 38 of course to see if it still exists.
 
Seemingly TrackEd generates 'empty' track cameras somewhere while creating them. This may be the cause for track cameras that are not really defined. Previously they were ignored, until a few of them here gave weird flipping views on some tracks. A bit like zooming in from -infinite to +infinite fov, vertically flipping the view even. I discovered the empty track camera definitions when hunting this bug...

I tracked down the flipping camera problem a while ago, it's due to the flag being set to zero for that camera.

Alex Forbin
 
Try the exe at www.racer.nl/temp/racer0838_alpha.7z
It fixes the reflections. Other changes (no TrackIR tutorial yet):
- Look_up/look_down controls added for to make TrackIR devices possible. See http://www.racer.nl/XXXXX
That makes head tracking possible, although currently a bit crude.
- In your controller file you can add global.up_down_velocity to set up/down look velocity (default=250)
- In your controller file you can add global.up_down_look_max to set the max up/down look angle (default=45)

I've taken out the diffuse/specular energy conserving for the moment, but that's in the shader files, not in this zip (just the exe).

Cool! I've been wanting head tracking for a while. :)
I find my intelligence a bit lacking however, when it comes to your explanation on how to implement this most excellent feature, the posted link has me baffled! I'm still looking for this "404" section in the controller.ini.
After further study I've come to the conclusion that it must have something to do with your "mothers site". I'll call her and see if she knows how to activate this feature. ;)

Alex Forbin
 

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top