Home | Racer's beta versions to get to the next full version. |
|
CHANGE LOG
This is the log file of changes in Racer versions. These changes are a copy from the installation's README.txt.
v0.8.25 (2-12-10)
- Setting racer.ini's textures.compression to 0 had an effect on visuals (no SRGB).
- Ctrl-1 now shows when the force feedback is saturating the wheel (>20 Nm).
- Controller setup screen now removed POV and added horn and wiper controls.
- 'sunny' default was 0, should have been 1.
- standard_bump_f.cg now takes specularity from the normalmap's alpha channel (2nd layer)
- Only 3/4 of the tangents was passed for each objects. White spots and black triangles.
- Baja shader bug fixed (dyn_standard_bump_speca.cg was used)
- ff_damping (in car.ini) was applied to the wrong FF setting (friction instead of damping)
- Small change in spline triangle checking for road surfaces; in Carlswood doing Shift-F
4 times failed to recognize the underlying spline triangle.
- Y offset in viewelt_f.cg removed; dials were slightly moved up a centimeter.
- Using Cg 3.0 toolkit (was 2.2) from July 2010.
- smCor for the 3rd shadow split slightly increased
- Only angular 3D view elements (dials) were painted correctly. Other texts could appear rotated.
- 'show splines' and all debug lines & points were rendered in HDR mode thus dark. Now drawn in LDR
after postprocessing to remain visible at all times.
- Live track envmapping anti-aliased the whole main FBO on each side update (ouch). Faster now
when setting render_once to 0.
- Mirror was anti-aliased twice. Slightly faster now.
- Exposure gradient changed from 0.5 to 0.35 (darker exposures)
- Music & background image handling in all setup screens now supported.
- More live track options in the graphics setup screen.
- Added bestline_v/f.cg for visible rendering of the 'best line' (F3 to toggle bestline)
- Added bestline.tga in data/images as an overlay image (uses alpha channel).
- 'sunny' included in sky shaders (GetSkyColorAtm) for the sun disc
- Undetected controllers would crash the controller setup screen in a few places.
- The lobby was painted incorrectly when using 3 monitors.
- Fixed stack underflow in car selection screen.
v0.8.24 (26-11-10)
- dyn_standard_bump_reflect_*.cg rewritten to work in world space. Faster & reflection
is now also affected by the normal map (quite noticable).
- Same for dyn_standard_bump_*.cg; it now also takes the bumpmap's alpha for reflectiveness (specular).
- dyn_standard_bump_speca_v/f_cg was removed; use dyn_standard_bump*.cg instead (which does
the same thing).
- Controller stick_friction threshold velocity decreased from 20 m/s to 5 m/s (hardcoded).
- Added 'u' to position logging (normalized lateral position on the track)
- Added projected lights intensity: car.ini's lights.light<n>.color (default=4 4 4). In klux. Check
the Lambo's car.ini.
- async now runs the physics thread full throttle; it must run on a separate core if you want to avoid
it impact the other threads.
- TrackEd reworked to use the full render engine. Flashing also works again. Stack overflow fixed.
- Wheel setup screen now includes friction/stick friction/damping/inertia sliders.
- Added car.ini car.ff_friction, ff_stickfriction, ff_damping and ff_inertia factors to tune force feedback.
- Also added car.ini car.ff_gain, which modifies the ff_friction etc values directly (default=1.0)
- Added console commands 'ff friction <x>', 'ff stickfriction <x>', 'ff damping <x>' and 'ff inertia <x>'
for live setting of FF values. Absolute numbers for the controller, not car relative (0..10000).
- Fixed typo in NightSaturate() (no green in B&W color) in hdr.cg
- Tangents now generated in 4 coordinates (was 3). Mirrored UV seams are now being duplicated
to avoid tangent trouble where UV and mirrored UV parts meet.
- Modeler can now show tangents (T to toggle). It already did normals (N to toggle).
- Tangents were never used as VBO's; now they are (slightly faster).
v0.8.23 (19-11-10)
- Steering revised quite a bit - the controls for steering left/right now use degrees, instead of being
normalized. This changed some things inside the physics engine to use rotation more directly.
The idea: set your controller's lock correctly. With cars that have a steering lock that is smaller
or equal to that of the controller lock, the steering is direct (1:1). If a car has more lock defined
in its car.ini, linearity will be applied on the controller's steering output (now in degrees) to let it
use the full range of the car's steering wheel (linearity=controllerLock/steerLock).
This all targeted a bit for 900 degrees where you no longer then have to tweak for a lot of cars.
The controller setup screen is being worked on to visually check the lock (press F5 twice in the setup
screen to show the 'Wheel' page).
- Controller lock is now saved in the setup screen.
- A new important physics tweak is available: dbg_car.flip_tan. Defaulting to 0 (the v0.8.22 behavior),
setting it to 1 modifies the slipangle calculations for each wheel to use atan() rather than tan().
The tan() has been in there for a long time, to stabilize high slipangles. But, tan() makes values
worse as they grow, instead of flattening them like atan(). So, this needs to be investigated;
probably it has quite an influence on slipping behavior (with big slipangles).
- bloom_shadows_f.cg accidentally had bloom turned off
- Flare Cg shaders tweaked for nicer looks (alpha changes)
- log file position group added 'lap' (ASCII format)
- Added motion_blur.stencil option - use 1 for the old projected shadows, 0 for shadowmapping (faster)
- Added dev.nvidia_perf option that will try to access nVidia PerfSDK counters if installed.
Install an instrumented driver for this to work.
- Added a profile debug page (Ctrl-6, may have to press twice for the 2nd page) to see some nVidia performance counters.
I must say it bluescreened my XP machine more than once, so be careful with instrumented drivers.
- Added envmap.live_track.frames_per_update for more live track mapping control
- Fixed some tough render engine bugs that messed up Z-buffer usage (mirror on made the screen flicker)
- Generic models weren't transforming; fixed.
- Added wiper modes (off/interval/normal/fast), use 'w' to switch to the next mode (see also Ctrl-4 for the current mode)
- dyn_standard_bump_reflect_f.cg now also lets bumpmap alpha affect specular (next to reflectiveness)
- Sky_f.cg and sky_daynight_f.cg modified so clouds=1 now gives the normal effect (and does not raise
cloud regions to 175 klux!)
- A track's exposure in special.ini is now correctly used as the initial exposure (no more starting
with white, then coming back to a normal exposure if you set this one to a nice value; like 0.02?)
- Fixed a bug in the fresnel calculation in dyn_standard_bump_reflect_v.cg, which gave bad looking
reflections.
- Selecting Bloom/Shadowmapping from the menu gave problems with undefined 'gammaFactor' errors.
- Surround Gaming mode camera aspect fix (director mode)
- A surface's 'grip_decline_driveline' now defaults to 0 (was 1). Fixed issues with grip declining by default.
- Panorama shader's extinction now uses 'scale' Cg parameter instead of hardcoded value (5). Add 'scale' to
your track.shd file.
- Backfire would sometimes not work. This and a bunch of other uninitialized data fixed.
- 2D elements in the render engine could mess with motion blur blending (OpenGL state cache).
- When bloom was on, the aliased buffer was anti-aliased twice! (for bloom and at postprocessing)
- blur_alpha didn't work; the fullscreen shaders didn't output correct alpha. Using a bit of blur_alpha now
by default (0.3).
- Auto exposure sampling did an anti-alias pass; now it uses a previously anti-aliased result (faster).
- Dropped config.exe for now - anybody using it actively? Most should be settable ingame.
- Added 'sunny' in special.ini (tracks); 0=totally overcast, 1=super sunny. For ground objects.
Needs to be added to all fragment objects though. Also adds script cmd 'sunny <x>' to set it live.
v0.8.22 (10-11-10)
------------------
- Added speed limiter (controlled per car); see http://www.racer.nl/tutorial/engine.htm#speedlimiter
- If the speed limiter is on, the rpm_warning variable will 'flash' between 0 and 1. Useful
for Formula-style cars which indicate it that way.
- Added view var 'speed_limiter' that is 1 if the speed limiter is enabled (default: SPACE key)
- Added rev limiter time per car; see http://www.racer.nl/tutorial/engine.htm#revlimiter
- Added view mapping curve to map input values to output values. This allows for non-linear
dials, such as km/h gauges, commonly seen on lots of cars. See http://www.racer.nl/tutorial/dials.htm
and look for the 'map' variable.
- HDR tonemapping now uses the Uncharted 2 method. See http://www.racer.nl/tutorial/hdr.htm
This looks cleaner (a bit in the GT5 direction). In constants.cg you can add some gamma to increase
contrast (default=1.0).
- Modified auto exposure filter gain from 0.1 to 0.001 (much slower)
- Decoupled dynamic exposure integration from exposure sampling; made it smoother with less sampling.
- dyn_standard_bump_reflect_f.cg had a bug in its fresnel calculation, resulting in funny reflection
factors. Fixed.
- Multiplayer collisions using forces/torques instead of SetPosition(). Newton could get seriously
stuck when doing that (taking >1 second while resolving collisions for a single step).
Still a bit alpha functionality.
- Flares are now rendering using Cg to be able to give them more light. The 'color' property
of a flare should now be in klux, so a value of around 'color=40 40 40' should be better.
- TOD editor can now zoom in with Z key (multiple zoom levels); some curves needed precision at the low end.
- TOD exposure curve improved so things also work without auto-exposure.
- standard_mix*.cg shaders changed to put the most important texture in layer0. This was needed since
projective lighting only uses the first texture to light the scene, and that was a control texture,
giving funny black & white looks when lit. See http://www.racer.nl/reference/gpushader.htm
- Renderer now caches OpenGL's texenvmode for a small performance gain.
- Added 'reload track' console command.
- Added 'sound reverb <n>' console command. Useful in combination with trigger lines to give certain
areas of the track reverb sound. See http://www.racer.nl/reference/scripting.htm
- Carlswood sky improved (thanks to Luthobu)
v0.8.21 (29-10-10)
------------------
- Added improved process control for physics.async=1; the original process.cpu_affinity_mask now controls
the entire process (all threads). 'process.main_thread_affinity_mask' was added to control the main
thread cores. Additional, when physics.async=1, physics.thread_affinity_mask then controls
the cores on which the physics thread may run.
- 'cache_geodes' didn't work well when cars used data.ar to store .dof models. Common names like 'body.dof'
would conflict and different cars could use the same 3D models.
- Shadowmapping splits are now blended to make smoother transitions
- Shadowmapping per-split filtering can be turned on/off using renderer.shadowmapping.blur (0/1)
- renderer.auto_exposure.filter_gain was read incorrectly and thus had no effect (defaulting to 0.05). Fixed.
- Added wheel<n>.tire_damping_lowspeed and tire_damping_threshold for car.ini. Tires physically stiffen
up when rotating, but at low speed they get a lot of damping. Real life values arond 5.0 for the threshold
velocity and 2500.0 for tire_damping_lowspeed. See also http://racer.nl/reference/wheels.htm#tireforces
- dev.log_last now set to 0 by default since many people will not know what to do with QLOG anyway.
For content developers 1 is highly recommended.
- Removed the 'can't create envmap' error message on some DOF files - it isn't useful anymore.
- Switched Newton from v2.22 to v2.24. Small objects seem to have difficulty when colliding with cars.
- Modified dyn_standard_bump_speca_f.cg to accept 'scale' float parameter. This scales the normal map's
texture coordinates.
- Some large memory leaks fixed inbetween races.
- Renderer could crash in certain mixes of static geometry and custom geometry (particles/skidmarks etc)
- Ini keys with a dot (.) are found and warned about in QLOG. Some cars (F458 test version) had 'fresnel.bias'
defined directly in the ini file, which won't work (use fresnel { bias=xxx } ).
- View dials now have Cg shaders - data/renderer/shaders/viewelt_*.cg. Needed for klux lighting to avoid
very dark dials.
- Added bounce_amount and bounce_alpha properties for shaders to allow for lighting to not mix with the
alpha channel (Carlswood's road incorrectly reflected light; not enough light was reflected/bounced).
See also http://www.racer.nl/reference/shadereng.htm#matglobal
- Added surface 'grip_decline_driveline' property to allow grip to decrease when you go off the driveline.
Needs more work though.
- mirrors.texture.lod_factor set to 1.0 to avoid quickly disappearing geometry in the mirror
v0.8.20 (7-9-10)
----------------
- Set gamma to 1.0 in data/renderer/common/hdr.cg - gamma is done in your display!
- Added shader texture option 'mode' to specify linear or SRGB maps. Default is 'srgb'. Bumpmaps need 'linear'
otherwise their normals will be un-gamma'd (an SRGB image has gamma~0.45 where Racer works in linear light, gamma=1).
v0.8.19 (27-08-10)
------------------
- The cubemap camera position was wildly off, giving incorrect culling of objects in the reflected
environment often. This also fixed the appearance of seams in the cubemap sides.
- Using glGenerateMipmap() while loading textures - supposedly faster than using GLU.
- Switching free shifting and up/down shifting is now automatic. The default mode is still
stored in the data/controls/presets files for the initial gear.
- Auto exposure downsampling is now down without mipmaps but FBO's instead
(data/renderer/fullscreen_shaders_hdr/luminance_downsample_*.cg). Mipmaps was not working ok.
- In Ctrl-2 you can now see the luminance and RGB values of the rendered image. This to debug
sky values (the values shown represent a kilolux value).
- Auto-exposure is now working ok, so the TOD editor now also has an exposure factor next
to direct exposure (only useful without auto_exposure). This factor is multiplied with the auto exposure
calculations, so even if the auto exposure is trying to get a nice lit image, you can bring it down
at night (purposefully under-exposing).
- Auto exposure now uses log averaging of the screen pixels to get a better 'luminance' value. First,
the log luminance is calculated for all pixels, then this is downsampled until we get the average
screen luminance.
- Used Stereo's ToneMap function to desaturate dark colors. Also added a blue-shift for night scenes.
- Cloud color is multiplied with lightAmbient (sky color) in the sky shaders, so the clouds are now
more visible and don't need 'clouds 7' hacks.
- Auto exposure 'steps' setting has been replaced by 'time_per_sample'; it used to be framerate
dependent.
- Controller lock can now be specified (data/controls/default.ini). Used it on a G27, setting lock
to 900 in the controls file and in the Logitech Profiler software. Setting it lower in Profiler just gives
a mild software-controlled lock which is not too useful, so I just leave it at 900.
See data\controls\presets\logitech_g27_racing_wheel_usb.ini for an example (joystick0.lock=900).
Set the car.ini's steer.linearity to 1.0 preferably. Now, the steering lock will match that
of the wheel directly.
Racer caps the steering lock to what the car can do (car.ini's steer.lock), so for this feature
you really need a capable (900 degree wheel), otherwise you won't be able to make the degrees
required for the car to turn fully.
The default controller lock is 0, so people with less capable wheels
can still play (probably setting linearity for the controller to around 0.5). In that case,
the full range of the controller maps to the full range of the car's steering wheel.
- Per track TOD loading; the track can contain a tod/ directory. Curves that are not defined
are loaded from data/renderer/tod.
v0.8.18 (20-08-10)
------------------
- The Lobbyserver wasn't updated to use the new ENet version, so older version could connect
but were refused, and newer versions couldn't connect. Fixed.
- Autoexposure formula revised to exposure=gradient/luminance+offset. Thanks to Colin Pan.
It's much better but somehow the scene luminance doesn't seem to be calculated correctly
for non-power-of-two resolutions (glGenerateMipmap).
- Added a 'loading' or 'busy' indicator (data/images/loading_*.tga and the loading.indicator_pos setting)
- Rain was invisible in bright times of the day
- Some particles were dark as a result of the switch to klux lighting
- Tonemapping (in hdr.cg) used a 0.1 factor - removed that and for auto_exposure this means
gradient should be set to ~1.0 instead of ~10.0 (exposure=1/luminance).
- Added special.ini parameters under 'sun': azimuth_offset (rotation wrt North),
year, day, month, latitude, longitude and timezone. The sun XYZ TOD curves disappeared.
See also http://www.racer.nl/tutorial/newtrack.htm#sun
- Added 'sun azimuth <x>' command to change north angle live.
v0.8.17 (13-08-10)
------------------
- Revise TOD/lighting scaling - the base lighting unit is now kilolux. Direct sunlight is
around 32-130 klux, skylight 10-25 klux, moonlit night=0.001 klux
(see also http://en.wikipedia.org/wiki/Lux)
The curves are not too great yet, but the nice thing is that the car lights vary
from day to night.
- Mie/rayleigh combination mix reverted to the original paper; slight change of color,
but this blends the world objects more nicely into the sky with some mie.
- Removed specular curves from TOD editor - it's now copied from the diffuse curves
- Revised split distances and smCor[] in constants.cg once more.
- Also using 4 splits now, with splitrenderjump<x> so it's faster even than 3 splits without jumps
- New white styling
v0.8.16 (11-08-10)
------------------
- Mirror texture was 8-bits, now HDR (16-bits)
- Mirror uses data/renderer/fullscreen_shaders_hdr/mirror_hdr.cg to handle HDR->LDR while painting
so it looks as intended
- Sparks didn't render right when used with a mirror or live_track=1 (prevModelViewProj)
- TOD editor using 'edit tod' for exposure. Horizontal=0000-2359, vertical=variable.
The editor jumps live to the time you're editing. It replaces a number of variables
that were hardcoded/constant. The future will see per-track tod support.
- Revised split distances and smCor[] in constants.cg
v0.8.15 (06-08-10)
------------------
- Multiplayer linear interpolation revised due to timing problems. The spline method currently
is a bit buggy because of these revisions. Now default interpolation is linear (at 10Hz).
- Added standard_grass_v/f.cg shaders for grass (using the tree shader gives problems with shadows)
- Added dyn_standard_wave_v/f.cg for waving objects for cars (not too useful?)
- standard_bump_detail_v/f.cg had syntax errors
- Baja's collide.dof had an undefined material, fixed (thanks to Boomer541)
- BlackBox is removed (doesn't work on Win7) and replaced with StackWalker (only tested on Win7)
- fixed dyn_standard_bump_speca_v/f.cg shadow generation
- Replay save dialog wasn't visible, now it is (and dragable even)
- Replay movie creation dialog wasn't visible.
- Replay movie audio had some faults. It now downsamples any 5.1 sound to stereo (hope the channels
are ok) and saves a more correct .wav. Also the adding to replay.avi now seems to work correctly.
Also, the conversion to 16-bit was buggy and could generate spikes.
- Car 3D sounds now get a '3D spread' of 90 degrees. Previously, stereo input signals in 3D
would become mixed to mono (as 2 mono sources at the same spot). With the 90 degree spread,
they are played 45 degrees left & 45 degrees right, so this should provide a stereo separation.
It would be nice thus if engine sounds in the future become stereo, probably.
v0.8.14 (30-07-10)
------------------
- Shaders fixed for ATI cards again, so it should run again on that. No shadowmap filtering though;
the ATI path doesn't support for-loops, nor PCF for depth filtering.
Cg shaders are compiled with '-DATI' when running an ATI card (#ifdef ATI).
- Tracked & Modeler recompiled for new fmodex.dll
- Modeler/DOFFix's model optimize now also try to optimize submaterials (Multisub materials
where only 1 submaterial is really used). Needed for Swiss Stroll's .dof files.
- CSM now uses PCF correctly (nVidia only, ATI doesn't seem to support free PCF)
- Flares reworked a bit regarding visibility, which was with respect to the camera direction,
now a view vector from camera->flare. Billboarding keeps normal and direction, to avoid
wide flares (like for a 3rd brakelight) to rotate wrt the underlying brakelight geometry.
- All shaders now render into 1 render target (RT). This had an effect on bloom though,
so the bloom brightness pass was modified (in data/renderer/fullscreen_shaders_hdr/bloom_bright_f.cg)
This also fixes problems with blending materials, although the shaders will all need
to output the base texture's alpha to work correctly when blending.
- AI didn't reset correctly with Shift-R (it would try to start driving immediately)
- AI throttle playing before the start is improved
- Fixed standard_bump*.cg shadow generation, which was non-existant
- Added 'graph step' variables: susp0.piston_velocity, damper_force, arb_force and length to visualize
damper behavior.
- Sky shaders now 'stick' the Z coordinate to the far plane. This alleviates the need for an internal
very far projection matrix, so no projection matrix switching takes place while rendering the scene.
- Using 2 layers for sky shaders with both layers set to 'depthfunc=always' didn't work correctly
and was drawn in 2 passes instead of 1. Fixed (and used in Carlswood_NT).
- Added shader 'cast_shadow' global option (shader_<x>.cast_shadow=0 for example).
If set to 1, any geometry with this shader is skipped
during the shadow generation phase (so it won't cast a shadow in the final render).
v0.8.13 (23-07-10)
------------------
- Updated FMOD to v4.30.5 (needed in a first attempt to create a 64-bit Racer, for what it's worth)
- standard_blur_f.cg had a syntax error; fixed.
- You couldn't select shadowmapping (CSM) but no bloom. Now you can with fs_filter1=shadows_f.cg
(automatically done when selected from the menu)
- Bugfix: first moving menu image was faulty
- Added 'bloomFactor' to data/renderer/common/constants.cg (0.5) to adjust bloom amount
- Special.ini's gfx defaults were not too handy, giving division by zero and slow framerates.
- Number of available flares raised to 60 (was 40)
- Added physics.tracks.use_road_noise option to optionally ignore road_noise from track special.ini files
(not really useful for the internet version)
- 'show carpoints' now also shows flare normals
- Flare aspect was changed with viewing angle, making it appear as if the normal was bad.
- Flare texture rotation now a bit nicer (dot product with camera X instead of Z)
- Updated CSM filtering (+bloom) to use GPTDBiz's PCF filtering (nice work!)
It does have some aliasing/Z artifacts currently though, which need fixing.
- dyn_standard_bump_reflect*.cg had a bug in normal passing, which generated too much shadow areas
(all areas where the normals had negative components)
- Added 'track load <name>' console command to load an entire track (not too useful for general use)
- empty_f.cg shader was not released, giving QLOG warnings
- Rain could disappear sometimes (bad renderstate)
v0.8.12 (09-07-10)
- Added camera.auto_switch_director_track_cam setting to avoid automatic track/director camera mode switches
By default it's off.
- Lighting/shadowing fixes in shaders (dyn_standard_bump*.cg, dyn_standard_bump_speca*.cg)
- The Baja had some bad shaders (metal parts in car.shd)
- Modeler gave a lot of QLOG errors.
- Modeler ASE imports now show a dialog if too many indices are used in 1 geob.
- Accepting new graphics options would crash Racer
- Added auto-calibration for controls (not too useful for consumer controllers though)
See http://www.racer.nl/tutorial/ctrlset.htm#values
- Shadowmapping now done using a texture atlas instead of a texture array. This for ATI cards.
- On ATI, shadowmaps could not only be a Z-channel. ATI seems to need color buffers.
- More tweaks to get ATI to work better. Our experiments show that alpha_to_coverage is very poorly
supported, but at least shadowmapping seems to work better. nVidia cards recommended.
- sky_daynight*.cg fixed to do the same as sky_*.cg, only with an added night texture.
- Halo effects in shadow mapping improved through the use of Z information
- Added dyn_standard_speca_f.cg shader for 1 texture with specular control using alpha.
- Cg parameter passing in the render engine was cached. Lots faster.
v0.8.11 (02-07-10)
- Added standard_wave_banner_v.g for waving banners, see http://www.racer.nl/tutorial/waving_flag.html#banners
- Skidmark painting more robust (texture usage and render state could cause transparent or black renders)
- Non-Cg version still tried to load shadowmapping Cg shaders when renderer.shadowmapping.enable was 1
- Projected lights intensity back from 1.1 to 0.6( data/renderer/shaders_*/projected_texture_f.cg)
- Default shader_<x>.reflect value is now 1.0 (was 0)
- Modified per shader layer reading of .ambient a little; otherwise the global shader_<x>.ambient
did not default to the global shader_<x>.diffuse. This only really influences non-Cg .shd files.
- dyn_standard_reflect_window_v/f.cg improved to do per-pixel fresnel.
- Reflection shaders fixed to respond to ambient/diffuse more accurately ('diffuse=0 0 0' still gave a shadow).
- The Lambo brakediscs now heat up through an alpha layer, looks better
- shadowmapping.shadowintensity removed - shadows are ambient and need not be softened (would only include false diffuse lighting)
- Shader directories combined into data/renderer/shaders/*. Compilation uses -DCSM for shadowmapped variety.
- Shadowmapping optimized a little bit in the .cg shaders.
v0.8.10 (25-06-10)
- Using Newton 2.22 which fixes bugs in track collision meshes sometimes
- Modified shader sorting a bit - decal objects such as skidmarks on roads should use layer0.depthwrite=0
so that they render AFTER the road itself (which does depthwrite=1)
- Added csm_f.cg which is bloom_shadows_f.cg without bloom (just a bit faster)
- 'reload car' would crash sometimes. Also, 'reload car <name>' now works correctly due to the same issue.
- The 'join game' dialog was invisible (though active)
- Driving in reverse no longer causes the brakes to heat up
- Fixed bug with VBO's which could cause crashes while painting
- Failed DOF loads could cause the next models to be loaded without generating VBO's (slower rendering)
- Added support for DDS files which don't supply all mipmap levels
- LDR no longer supported; the hdr.enable option is gone
- 'strict' mode (dev.strict=1) now also catches shaders without vertex & fragment shaders; v0.9 will require Cg shaders
- Lambo rear wheels were unshaded
- Atmosphere shaders optimized. Also normalized the sun intensity, so special.ini sun.intensity should now be around 1.0!
- Started documenting on how to convert for v0.9, see http://racer.nl/tutorial/updating_v09.htm
- Added 'racer_nocg.exe', which loads track_nocg.shd and car_nocg.shd files instead of track.shd/car.shd
This enables you to provide simple shaders for old machines/cards. See http://racer.nl/tutorial/nocg.htm
- 'show carpoints' now also shows the backfire points
- Added 'envmap.live_track.render_once' to generate a single envmap at start time, then not update it again (for speed)
- Added 'scale' parameter to shaders (shader_<name>.scale) which is passed to Cg shaders
- Added 'standard_mix2_f.cg' for mixing of 2 textures using a control texture. Useful for tracks.
- Also added 'standard_mix1_f.cg' and 'standard_mix2w_f.cg', see http://racer.nl/tutorial/shading_tracks.htm
- Fresnel properties for GPU shaders can now be set: shader<x>.fresnel.bias, scale and power.
See http://racer.nl/reference/shadereng.htm#matglobal
v0.8.9 changes
- Bugfix: lateral damping prediction for the wheels wasn't correct. Could result in laterally shaking cars.
If you still have that (stiff cars mainly), try adding a bit of tire_damping to each wheel. I.e.
tire_rate=200000 -> try tire_damping=2000 (0.01*tire_rate).
- Bugfix: shader global diffuse/ambient (not in the layers) wasn't read in the right order, therefore
setting a global diffuse color, then no ambient color would still result in the ambient color
not taking the diffuse color values (which should happen, so that ambient=diffuse by default).
- standard_heat_f.cg has added passing heat through alpha, so not the entire brake disc has to light up
- Highly improved rain & snow, based on the method used in Project Gotham Racing 4. It does mean that rain & snow are now mutually exclusive.
- Added 'prev_camera' control to switch to previous camera mode (inverse of change_camera, normally key C)
- Added 'thunder <x>' script command to set thunder intensity (only on when it rains as well)
- Skidmarks now adhere to car tire widths.
- Skidmarks use a Cg shaders (shaders_hdr/skidmark_*.cg)
- Dials painting put deeper in the render pipeline to avoid dials disappearing.
- Depthbuffer available as texturemap in postprocessing Cg shaders; see data/renderer/fullscreen_shaders_hdr/show_depth_f.cg Usability still debatable (there are problems with it; multisampling...).
- CSAA support (nVidia cards); see renderer.motion_blur.coverage_samples. Typically use samples=4 and coverage_samples=16 for a view that looks like samples=16 but is almost twice as fast.
- Added renderer.bloom.width and height to set FBO initial size (default is 512x512)
- New engine load calculation (for audio mixing) takes rpm, calculates throttle at which that rpm would be 'idle' and compares to the current throttle. If throttle is really depressed more, load is present.
- Logging group added: 'ai' (set log.groups.ai to 1) for ai_line_delta variable logging.
- Added a console.port_mt multi-threaded socket for external status requests (only for RaceManager-type applications)
- Added cascaded shadowmapping support; set renderer.shadowmapping.enable to 1. Racer then uses data/renderer/shaders_hdr_csm (csm=cascaded shadow mapping). Turn off shadows.project_shadows (set to 0) to lose the old projected shadow
and use fs_filter1=bloom_shadows_f.cg to generate shadows during postprocessing of each frame.
- Added dev.strict; if set to 1, any errors will immediately be fatal once a track or car loads.
- Materials without (Racer) shaders (defined in .shd files) get warned about in QLOG. Strict mode will also trigger on these. Note that future versions of Racer (v0.9.0 final) will probably refuse materials without Cg shaders even.
- Tracked/Modeler revised to use only 1 double-buffered window. Dialogs now all live in the same window.
This will be useful to overlay Racer with regular GUI, enabling future onscreen editing (live shader editing for example).
- Tracked now has direct model information under F4 mode (like 'Information' in Modeler)
- Autoclutch rpm in car.ini can be set to 0; this is then dynamic and tries to attain maximum torque from the engine depending on the amount of throttle. More throttle means the autoclutch rpm is moved towards the rpm at which
the engine generates the most torque.
- Dropped stencil shadow support - it is replaced with shadow mapping.
- Added 'londistlap' logging for group 'position' (useful for detecting lap crossings in external log processing software)
- Added car.ini susp<n>.warplen to define a length used when the car is dropped onto the track. Default is 0, which
calculates a reasonable value ((minlen+maxlen)/2)
- Bugfix in tangent calculation (bumpmap); some tangents were NaN
- Bugfix in DDS loader for the last 2 mipmap levels
- Added 'optimize_dof <file>' script command to optimize DOF files straight from Racer (no need for Modeler for that).
- Added dev.optimize_newton_tree to optionally skip optimization of trackcollision.bin collision trees (development only)
- The console command 'reload car' can now also load a different car, i.e. 'reload car lambomurcielago'
v0.8.8 changes
- Fixed Pacejka loading for MF5.2 - didn't reset all to 0 at initialisation time
- Increased Win7 compatibility; with Aero theme, dialogs would stay hidden behind main window(s).
- Using Alt-Tab to switch applications now longer lets the Alt key hang (needed to press it again to really release)
- Using themes could make black lines appear due to the window's size not being correct. Fixed.
- Added minimap.alpha (defaults to 1) to make minimap semi-transparent.
- Added documentation page in the menu with links
v0.8.7 changes
- Removed dependencies on VC DLL's (static linking) to avoid VC Redistributable download & admin access.
- Bugfix: the implicit wheel integration was not entirely correct. Also expanded to work for non-linear dampers.
Now, dbg_car.susp_implicit_integration=1 is useful again (especially with stiff cars).
- Bugfix: car.ini CG offsets were not entirely correct; using a Z offset resulting in twitchy pitch behavior.
CG handling was revised and the problem is now gone.
- In CG fixing (and changing physics slightly), wing positions are now defined relative to the nullpoint,
rather than CG. This was the last setting that was still relative to the CG, and now everything is relative
to the nullpoint. Does have an effect on all cars with CG away from the nullpoint.
- Implicit wheel integration now also implicitly does spring forces. Also a bug was fixed for sqrt type dampers.
- Baja fixed up some more (some QLOG errors)
- Fixed force feedback 'inertia' force DirectX error (invalid param).
- Added Max2009 exporter (in max/) to the installation
- Added a start of dedicated race server (server.ini); see http://www.racer.nl/tutorial/multiplayer_server.htm
The lobbyserver will reject older Racers than v087 because of the settings it now sets to race.
- New multiplayer.expected_clients_timeout setting to timeout races where not all people connect.
- Lobby improved to show bots.
- The control setup screen now shows controller names instead of an index.
- Control setup now has 'autodetect'. For Logitech G25/G27/MOMO wheels, Wingman Attack 2 (joystick),
Thrustmaster F1 Force Feedback wheel currently, although the G25 is probably off with the buttons
(I only have a G27, MOMO and some others). Please send me data/controls/default.ini for your
controller, plus the name of the controller.
- G25/G27: Default max_torque for FF wheels is now 20Nm (joystick<n>.max_torque); consumer wheels twitch too easily
(saved in data/controls/default.ini)
- Support for the G27 leds (based on car.ini's min_warn_rpm/max_warn_rpm, defaulting to 70%/90% of max_rpm).
- min/max_warn_rpm now based on a car's max_rpm (commented out in data/cars/default/car.ini)
- Added stick friction for controllers; data/controls/default.ini, joystick<n>.stick_friction. For low speed.
- Locked diff still allowed wheel velocities to differ
- Support for GMax MD3 exports (see http://racer.nl/tutorial/gmax.htm) in Modeler.
No bones, just vertices & faces. No normals yet as well.
- Multiplayer server disconnect now also disconnects all clients
- Upgraded to use ENet v1.2.1 for the network middleware
- FBO mirror didn't work correctly when motion_blur.method was 4 (FBO). It also could cause Racer to crash.
- Newton.dll is no longer used; Newton is linked in statically.
- Also upgraded to Newton 2.10. This fixes the world_size problem where cars would get stuck at far-away locations partly.
- Simple car shadow would shake in corners; it now follows the car much better.
- Changed shader_<x>.ambient default; it will now take the diffuse value if not defined.
- Added sun diffuse/ambient etc readouts in Ctrl-2 debug screen.
- Added 'sun diffuse <x>' and 'sun ambient <x>' script commands.
- Using a Cg car on a non-Cg track could result in black (non-Cg) objects (envmapping was taking place it seemed)
- Added best line drawing (F3 toggles this); see also racer.ini:gfx.show_bestline. Based on the first car's AI line.
- Increased the max number of tracks supported in the Track Select screen to 250 (was 50).
- Console now accepts editing of lines while entering commands (left/right)
- Default movable damping was very high; cones got stuck to the car.
- Car selection now has a listbox (and revised with a smaller car)
- Track selection has best-laps removed to make room for a larger listbox
- Experimenting with glFinish() in the timing to get less jerky framebuffer swap behavior (if vsync=0)
- Fixed flares appearing in live track envmap.
- Fixed bug M1: "Live environment mapping for clients in multiplayer events is that of the host."
(last updated November 13, 2012 )