
Next Generation Physics (NGP) Plugin (Version 7.4) for RBR 1.02 SSE
===============================================================================

This plugin for Richard Burns Rally enhances RBR's builtin physics, fixes some
known problems in RBR, removes a few limitations and enhances some dialogs.
Tires and surface materials have been optimized to improve the behavior of the
vehicles.
The vehicle physics have been enhanced with new differential types and new
engines.
New drive types like rear wheel drive and torque splitting all wheel drive are
provided.
Suspension has been improved by progressive bumpstops and fast rebound damping.
Setup parameters are being validated, fixed and logged if invalid.
NGP uses an alternative sound system, based on FMOD Studio by Firelight
Technologies Pty Ltd.

Sound Fixes
-----------
a) Buffer Fix
The internal sound buffers are too small to hold the sound data to be played,
e.g. front end music, service park music, pace note calls ect.
From time to time these buffers are filled with more data than initially
allocated so memory located right after these buffers gets corrupted.
Depending on which object or data is located in the corrupted memory region
more or less strange things may happen, e.g. crashes or freezes.

So, this is where the patch applies. It convinces RBR to use larger buffers,
large enough to hold the sound data.

b) Sound Distance Fix
Unfortunately RBR uses a wrong DirectSound library call to specify the maximum
distance at which a sound should be audible. Instead it always just sets the
minimum distance twice.
This patch addresses this issue to make the correct call.

c) Engine Sound Fix
Sometimes RBR distorts or loses the engine sound when switching to the menu
and back.
This patch resets the engine sound buffers.

d) Gravel Pitch and Offroad Fix
During the transition from one surface material to another the calculation of
the gravel pitch and the offroad flag was wrong.
This patch addresses these issues.

e) Helicopter Distance Fix
When playing the sound of the helicopter the maximum distance has not been set
correctly by RBR.
Instead, RBR has actually set the minimum distance. Fixed.

f) V-Sync Off Sound Issues Fix
When running the game with v-sync off, especially tire sounds are not being
emitted correctly. This is best noticeable on tarmac stages where the tire
screaming sounds are more pronounced.
Actually there are two effects. One effect is that the tires seem to scream
intermittently without actually any noticeable wheel slip. The other effect is
that no noticeable tire sound is emitted when the tires actual have slip, like
when braking before entering a corner.
The patch uses a fixed sound emission rate to address these issues.


Setup Slots and Setup Naming
----------------------------
The original RBR has a limit of 3 setup slots and restricts the name of a
setup to 10 characters.
This patch enhances the number of setup slots to 127 and allows for a setup
name to be 31 characters.
The dialogs to select or save a setup respectively have been enhanced to show
10 setups at once.


Replay Lists and Replay Naming
------------------------------
The original RBR limited the name of a replay to 13 characters.
This patch allows for the replay name to be entered when saving to be 31
characters in length.
The replay list dialog has been enhanced to show 20 replays at once, the name
column is much wider than before.


Service Park
------------
Due to an error in the implementation the 'Manager Advice' in the service park
didn't work as expected. Also the number of mechanics wasn't taken into
account properly. This patch fixes these problems.


Aspect Ratio (Widescreen Support)
---------------------------------
The original RBR uses a fixed 4:3 aspect ratio for drawing. On widescreen
hardware the objects drawn on screen get distorted due to the aspect ratio
being 16:9 or 16:10 (actually XRes / YRes).
This patch fixes the aspect ratio being used for drawing to be XRes / YRes.
This fix may be disabled if you'd like to use other programs to fix the aspect
ratio (see "Configuration").


Fullscreen Window
-----------------
When running RBR in fullscreen mode the game uses the entire screen to draw
on, but you can't switch back to the desktop without screwing up the game.
When running RBR in windowed mode you always get the window decorations
(titlebar, menu icon, close button ect.) surrounding the window, but would be
able to switch to another application.
This patch allows you to run RBR in fullscreen windowed mode without the
annoying window decorations. Switching to another application is then possible.
To use this new mode you have to configure "Fullscreen=false" in
RichardBurnsRally.ini.
This fix may be disabled if you'd like to use other programs to run in windowed
mode (see "Configuration").


Vertical Synchronization (V-SYNC)
---------------------------------
The fullscreen window mode revealed a bug in the sound processing when v-sync
is disabled. Especially on tarmac there are weird tire sounds, in service
park there is some strange noise as well.
This patch allows you to specify whether to set the v-sync mode and if v-sync
should be enabled (the default) or disabled (see "Configuration").
It is recommended to enable the fix and to enable v-sync for a better gaming
experience.
Note: this fix is independent of the Fullscreen Window fix.


Head Gasket Durability
----------------------
When driving with realistic damage settings the head gasket might get damaged
more than one would expect, especially on long tracks (e.g. Noiker).
With this fix you can specify how much longer the head gasket resists the
damage (see "Configuration").
Note: actually the calculation of the head gasket damage is kind of voodoo and
involves some randomness. With this fix you should be able to get rid of this
annoying behavior.


Center and Scale Dialogs and HUD/Dash to 4:3
--------------------------------------------
When your screen resolution (XRes/YRes) is not equal to one of the native
resolutions 640x480, 800x600, 1024x768 or 1280x1024, usually the dialogs are 
distorted and widened by the RBR graphics engine to fit the screen.
This fix centers the view (dialogs and HUD) and sets the width to match the
height in a 4:3 ratio.
Example:
XRes=1680 YRes=1050 (16/10) ==> view = 1400 x 1050 (4/3) centered on screen
x-position of view: (1680 - 1400) / 2 = 140 (pixels)
Note:
As the view's width is set to (4/3 * YRes), the corresponding
dash/minidash.ini files will be used by RBR to draw the HUD. In the example
above the digidash_1280.ini (1400 greater than 1280 but less than 1600) would
be used instead of digidash.ini (1680 greater than 1600).
This fix may be disabled (see "Configuration").


Interactive Object Manager
--------------------------
Some add-on tracks have invalid interactive object ids which cause the game
to crash.
This patch checks for invalid object ids and prevents them from being used.


DLS and Other Data Check and Fix
--------------------------------
Some DLS files contain corrupt animation and replay camera channel data.
Sometimes the offset of the name of the animation ids is wrong and invalid
data is being addressed at runtime.
The corrupt data causes to crash the game randomly, sometimes during the
loading process, sometimes while driving the stage.
This patch fixes the data in memory before it is being processed by RBR's
loader.
Errors are reported into the file "dlserrors.log" in the current directory.
No data files on disk are touched or changed!

A broken sanity check for valid indices into an array containing the rally
names may cause crashes while loading the car flip animation for a track.
This is the case when loading e.g. track 160.


Collision Mesh Fix
------------------
If the car hits an object exactly at the endpoint of a collision mesh
polygon vector there may happen a crash of the whole game due to a small
numerical error when calculating a vector length ratio.
This patch limits the length of one vector so the ratio remains less than one.


Track Loading Fix
-----------------
Some tracks have invalid texture indices in the LBS file which causes crashes
on some machines, although it should happen on every machine on every load
(e.g. Sardian).
This patch fixes the data in memory before it is being processed by RBR's
loader.
Add-on tracks may use ten times the number of fences than before.
This patch increases all related buffers to be able to hold tenfold the
original data.


Force Feedback Dead Zone
-----------------------
When using direct drive wheels you may suffer from small oscillations of the
steering wheel while driving a straight line, especially on tarmac.
You may configure a dead zone within which the force feedback at your steering
wheel is set to zero.
This fix may be disabled and configured (see "Configuration" for details).


Z-Modeler Fix
-------------
Car models built with the Z-Modeler are lacking some internal animation
objects related to cameras.
This fix repairs some indices related to the animation objects to prevent RBR
from crashing.
You no longer need the Z.DLL fix (which sometimes did seem to not work
properly).


Enhanced Trackloader
--------------------
RBR has issues loading large tracks, especially LBS files.
This fix loads the LBS file data from two files, LBS and LB2.
The LB2 file must have been generated by the splitlbs tool located in the bin
folder.


FMOD Sound System
-----------------
To use the FMOD Sound System copy your bank and strings.bank files into the
AudioFMOD folder located within the RBR root folder.

See "Configuration" how to use and configure.


Optimized Memory Usage
----------------------
RBR has issues with loading big tracks and detailed car models multiple times
because of limited and fragmented memory.
This fix should reduce such issues, although it cannot square the circle.


Tires
-----
RBR's tire parameters have been optimized, e.g. performance affected by camber.


Materials/Surface
-----------------
RBR's surface materials have been optimized.


Center Diff Handbrake Release and Left-Foot-Brake Threshold
-----------------------------------------------------------
RBR does allow to edit these values in the builtin setup editor, but the
values are not being used by the original game's physics calculation.
Instead, the game uses the predefined values from the car's physics files.
This plugin enables the physics calculation to use the user specified setup
values.
This applies to all AWD cars.

Configuration: setup.


Engine and Starter
------------------
A new engine implementation allows for specifying arbitrary torque curves.

Parameterization: LSP physics files.

The starter logic has been changed to be closer to the real thing.
To start the engine, the IGNITION action in the controls has to be mapped to a
button, and requires at least 500ms keypress before being activated.
Shifting to neutral gear or applying throttle is no longer required, as long
as clutch is depressed.


New Differential Types
------------------------
New types of differentials are provided which can be used as a replacement for
any of the original differentials (front, center, rear).

Mechanical
----------
One of the new differential types is a Salisbury type, which allows for
parameterizing the preload torque in Newton meters (Nm), the throttle lock and
brake lock as a percentage, e.g. 25% locking.

Parameterization: LSP physics files.
Configuration: setup.
Use first the mapping entry (throttle/brake 0%) for the locking percentage.
All other values in the mapping are being ignored and locked in the settings
dialog.

Viscous Coupling
----------------
Another new differential is a viscous coupling type, which allows for
parameterizing the preload torque (only available with special VC diff types)
in Newton meter (Nm), and the lock as a percentage of some builtin base
torque, e.g. 25% locking.

Parameterization: LSP physics files.
Configuration: setup.
Use the first mapping entry (throttle 0%) for the locking percentage.
All other values in the mapping are being ignored and locked in the settings
dialog.


New Drive Types
---------------
* rear wheel drive
Uses the specified rear diff type.

* front wheel drive
Uses the specified front diff type.

* torque split all wheel drive
All wheel drive with fixed torque split respective bias between front and rear
axle.

* non-center diff all wheel drive (center spool)
This new drive type realizes a four wheel drive without a center diff.

Parameterization: LSP physics files.


Suspension
----------
Bumpstops are linear or progressive, depending on the vehicle and setup.
Bumpstop settings are adjustable (applies to some vehicle types only).

True 4-way damping can be configured via the builtin setup editor.

Parameterization: LSP physics files.


Aero Kit
--------
Front and rear downforce can be specified separately, in N(ewton).
The value provided is only a base value. The actual downforce varies with
speed.

Parameterization: LSP physics files.


FFB Sensitivity Adjustable
--------------------------
The force feedback sensitivity may be adjusted separately for each surface and
car (based on the car slot).
See "Configuration" for details.


Material Maps Processing
------------------------
RBR defines material maps sized 16x16 (=256 spots) for specifying the physical
properties of the track. RBR uses only the first row (x coordinate) of this
map, so only the first 16 values apply. The remaining 15 rows or 240 values
were simply ignored which is not what the track creators intended.  This
plugin convinces RBR to calculate the material in two dimensions (x and y).


Setup Parameter Validation
--------------------------
The NGP plugin checks all setup parameters relevant for the car's performance
just before the stage is being started, and sets invalid setup parameter
values to reasonable values.
Invalid values are being logged in a file named NGP_SetupErrors.log located
in the Temporary directory specified by the operating system's settings.

The following setup parameters are being checked:
* MaxSteeringLock
* FrontRollBarStiffness
* RearRollBarStiffness
* MaxBrakePressureFront
* MaxBrakePressureRear
* CenterDiffThrottle
* LfCenterDiffThrottle
* CenterDiffBrake
* LfCenterDiffBrake
* CenterSpeedMap
* LfCenterSpeedMap
* FrontDiffThrottle
* FrontDiffBrake
* FrontSpeedMap
* RearDiffThrottle
* RearDiffBrake
* RearSpeedMap
* CenterDiffHandbrakeRelease
* LeftFootBrakeThreshold
* CenterDiffMaxTorque
* FrontDiffMaxTorque
* RearDiffMaxTorque
* StrutPlatformHeight
* SteeringRodLength
* WheelAxisInclination
* SpringLength
* SpringStiffness
* HelperSpringLength
* HelperSpringStiffness
* DampingBump
* DampingRebound
* DampingBumpHighSpeed
* BumpHighSpeedBreak
* DampingReboundHighSpeed
* ReboundHighSpeedBreak
* BumpStopStiffness
* BumpStopDampingBump
* BumpStopDampingRebound
* Pressure

Differential mapping velocities are not validated, as these parameters have no
impact on the performance of the car.


Input Controller Filter For Handbrake And Clutch
------------------------------------------------
The filter settings for handbrake and clutch can be configured (like throttle
and brake filters) for analog and digital input.


Multi-Colored Gear Shift Indicator
----------------------------------
The gear shift indicator of the dash has been enhanced to use multiple colors.
The delta RPM for changing the colors can be configured.
See "Configuration" for details.


Skid Sound Threshold Adjustable
-------------------------------
The slip peak relative threshold for playing the skid sound can be configured.
Standard RBR uses 125 (%), which is too high to really help the driver finding
the limit.
We recommend values close to or less than 100, so you can actually hear when
a tire starts to reach its peak force.
See "Configuration" for details.


Direct Gear Mapping aka Stick Shift (H-Shifter)
-----------------------------------------------
Original RBR only allowed to shift up or down sequentially. NGP enhances the
builtin controller mapping to use arbitrary keys for changing gears directly.
You may use this for applying an H-pattern or to directly shift into
neutral while using a sequential gearbox.

Configuration:
Goto "Options-->Controls-->Controller Setup-->Controller Setup".

There will be new entries in the list of "Action" to "Input" mappings:

* Reverse
* Neutral
* First Gear
* Second Gear
* Third Gear
* Fourth Gear
* Fifth Gear
* Sixth Gear

Please note that if you do not assign the "Neutral" action, the other actions
like "First Gear" etc. have to be mapped to sticky keys, as otherwise when
releasing the mapped key, RBR will shift into neutral automatically (like a
real stick shift).

Also note that you should remove the H-shifter plugin, if installed.
Otherwise there might be conflicting key mappings.


Barometric Formula
------------------
Original RBR only used constant barometric pressure and temperature.
NGP uses the barometric formula to calculate ambient pressure and temperature
which have an impact on e.g. engine, brake and tire performance.


Engine Temperature Management
-----------------------------
Temperature management of several engine parts has been improved.


Tire Temperature Management
---------------------------
Temperature management of the tires has been significantly improved. Depending
on the type of tire (dry/intermediate/wet, tarmac/gravel/snow) the operating
window of the optimum tire temperature is different.
Tires heat depending on slip and flexing. Cooling depends on rotational
velocity and wetness of ground surface.

Optimal Tire Temperature Operating Windows [C]
-----------------------------------------------
tarmac dry ................60....90...
tarmac int ..............50....80.....
tarmac wet ............40....70.......
gravel dry .................65....95..
gravel int ...............55....85....
gravel wet .............45....75......
snow       ...............55....85....*

*only wear affected


Brake Temperature Management
----------------------------
The performance of the brakes depends on brake temperature and sliding
velocity. Depending on the vehicle there may be more or less brake fading if
the temperature is beyond the optimal operating window.


Telemetry Recording
-------------------
A builtin telemetry recorder allows for recording several car telemetry
values related to engine, springs, dampers, brakes and tires etc.
See section "Telemetry Recorder" below.


UDP Telemetry
-------------
A builtin UDP telemetry emitter allows for tracing several car telemetry
values related to engine, springs, dampers, brakes and tires etc.
See section "UDP Telemetry" below.


Multi-core support
------------------
Physics, device input and FFB are processed in parallel using multiple CPU
cores if available.
See "Configuration" for details.


Installation
---------------------------------------------------------------------

Prerequisites:
This plugin needs RBR patch 1.02 SSE to work properly.

Important notes:
****************
The NGP plugin will not work without the accompanying physics.lsp
located in the new physics.rbz.

If both, "physics.rbz" and "Physics" folder are present, all the contained LSP
files have to be identical, otherwise the NGP plugin will not work.

If you have previously installed FixUp and/or PhysicsNG plugins, you have to
uninstall them first (delete the respective DLLs in the Plugins folder)!

1) Make a backup copy of your original physics.rbz.

2) Extract the entire (!) NGP installation archive into your RBR installation
folder.

3) Install the cars as you would normally do into the new physics.rbz file or
the Physics folder, depending on the plugin or mod you are using for driving
the stages.

Uninstallation
---------------------------------------------------------------------
Remove the AudioFMOD folder.
Delete the NGP.dll file and restore your original physics.rbz.
You may also delete the NGP folder located in the "Plugins" folder.



Configuration
---------------------------------------------------------------------

In the file "RichardBurnsRally.ini" some new parameters in a new section [NGP]
will be generated the first time you start RBR with activated NGP
plugin.

To resolve the surface type the plugin reads the SetupSpec value from the
active surface.lsp file of the selected car and applies the respective
ForceFeedbackSensitivitySurface Type value:

SetupSpec := Surface Type
        0 := Gravel
        1 := Tarmac
        2 := Snow

Generally values only apply if they are greater than 0 (zero).
If set, car specific values overwrite the global values.

[NGP]
; The force feedback sensitivity, given in percent.
; Values lower than 100 decrease the FF sensitivity and increase the FF force.
; Values larger than 100 increase the FF sensitivity and decrease the FF force.
;
; Generally lower values do make the force feedback less precise, but
; stronger, and reduce peak force impacts.
; 
;
; Global values (without CarN postfix)
;
; applies to gravel stages
ForceFeedbackSensitivityGravel=100

; applies to tarmac stages
ForceFeedbackSensitivityTarmac=100

; applies to snow stages
ForceFeedbackSensitivitySnow=100

; car specific values:
; a value of 0 (zero) leaves the FF sensitivity unchanged
ForceFeedbackSensitivityGravel_Car0=0
ForceFeedbackSensitivityTarmac_Car0=0
ForceFeedbackSensitivitySnow_Car0=0
ForceFeedbackSensitivityGravel_Car1=0
ForceFeedbackSensitivityTarmac_Car1=0
ForceFeedbackSensitivitySnow_Car1=0
ForceFeedbackSensitivityGravel_Car2=0
ForceFeedbackSensitivityTarmac_Car2=0
ForceFeedbackSensitivitySnow_Car2=0
ForceFeedbackSensitivityGravel_Car3=0
ForceFeedbackSensitivityTarmac_Car3=0
ForceFeedbackSensitivitySnow_Car3=0
ForceFeedbackSensitivityGravel_Car4=0
ForceFeedbackSensitivityTarmac_Car4=0
ForceFeedbackSensitivitySnow_Car4=0
ForceFeedbackSensitivityGravel_Car5=0
ForceFeedbackSensitivityTarmac_Car5=0
ForceFeedbackSensitivitySnow_Car5=0
ForceFeedbackSensitivityGravel_Car6=0
ForceFeedbackSensitivityTarmac_Car6=0
ForceFeedbackSensitivitySnow_Car6=0
ForceFeedbackSensitivityGravel_Car7=0
ForceFeedbackSensitivityTarmac_Car7=0
ForceFeedbackSensitivitySnow_Car7=0

; Specifies the slip percentage threshold to play the skid sound for tarmac
; surface.
; Standard RBR uses 125 (not recommended).
tarmacSkidSoundThreshold=100

; Specifies the slip percentage threshold to play the skid sound for
; non-tarmac surfaces.
; Standard RBR uses 125 (not recommended).
skidSoundThreshold=100

; Specifies the delta RPM (engine revs) for changing the color of
; the gear shift indicator.
; Colors are as follows:
; white - white
; green - white
; green - green
; yellow - green
; yellow - yellow
; red - yellow
; red - red
; Double red light appears above (upshift - 25) for all gears except the last,
; where (rpm limit - 25) applies.
;
; Setting this value to 0 (zero) skips the intermediate colors and uses only
; white - white
; red - red
gearChangeIndicatorDeltaRPM=200

; Activates telemetry recording.
; 0 - Telemetry recording disabled.
; 1 - Telemetry recording enabled.
; This value can be toggled in the NGP plugin dialog.
telemetryRecording=0

; Number of tics to be used for telemetry recording.
; Each "telemetryTics" tics a telemetry record is written.
; The higher the value, the less accurate the recording,
; but saves processing time and disk space.
telemetryTics=5

; Activates UDP telemetry.
; 0 - UDP telemetry disabled.
; 1 - UDP telemetry enabled.
; This value can be toggled in the NGP plugin dialog.
udpTelemetry=0

; Comma-separated list of network endpoints (address:port)
; to send UDP datagrams to.
; Default: 127.0.0.1:6776
udpTelemetryEndpoints=127.0.0.1:6776


; Use entire screen in window mode if "Fullscreen=false" in
; RichardBurnsRally.ini.
; Valid values:
;   0 - disable
;   1 - enable
fullScreenWindow=1


; Use aspect ratio (XRes / YRes).
; Valid values:
;   0 - disable
;   1 - enable
fixAspectRatio=1

; If fixAspectRatio is enabled, another setting can be applied:
; Enable high quality cubic environment maps.
;   0 - disable
;   1 - enable
highQualityCubicEnvironmentMaps=1


; Set V-Sync mode.
; Valid values:
;   0 - disable the fix
;   1 - enable
fixVSync=1


; Enable/disable V-Sync. Only applicable if fixVSync=1.
; Valid values:
;   0 - disable/deactivate vertical synchronization
;   1 - enable/activate vertical synchronization
vSyncActive=1


; Specify the durability of the head gasket.
; Valid values:
;   0 or 1      - same behavior as before, normal durability
;   2 and above - last approximately 2 (n) times longer than normal
headGasketDurability=10


; Enable/disable Menu (dialog, HUD) centering
; Valid values:
;   0 - disable/deactivate centering
;   1 - enable/activate centering
centerMenu=1


; Deadzone of the steering wheel as a percentage of the total wheel lock in
; one direction.
;
; E.g. if you have configured your wheel with 900 degrees lock to lock, a
; value of 0.02 would specify a 0.02 * (900/2) = 9 degrees dead zone from
; center to right, and from center to left, respectively.
;
; Reasonable values are usually in the range 0.02 to 0.05.
; E.g.
; MiGE 130ST-M10010 : 0.04
; Lenze MCS12H15L   : 0.02 - 0.03
;
;  0 - no deadzone
; >0 - deadzone percentage
ffbDeadZone=0.0

; Force feedback threshold as a percentage of the maximum force.
; Any force feedback force below this value is clipped, so eventually the FFB
; at your steering wheel is zero, if and only if the current steering wheel
; position is within the ffbDeadZone.
;
; E.g. if you have set this value to 0.10, the force feedback will be set to
; zero if the force is below 10% of the maximum force and the wheel lock is
; within the configured dead zone.
;
; Reasonable values are usually in the range 0.05 to 0.15.
; E.g.
; MiGE 130ST-M10010 : 0.10
; Lenze MCS12H15L   : 0.06
;
ffbDeadZoneThreshold=0.0

; Rate for polling device inputs in Hz.
; Use 0 (zero) to disable processing in a separate thread.
; Note that the rate is capped to 1000 Hz.
; 
; Valid values:
;   0 - disable threaded input polling
;  >0 - enable threaded input polling using the given frequency 
inputRate=1000

; Rate for generating force feedback in Hz.
; Use 0 (zero) to disable processing in a separate thread.
; If disabled and inputRate is >0, FFB is generated in the input thread.
; Note that the rate is capped to 1000 Hz.
; 
; Valid values:
;   0 - disable threaded force feedback generation
;  >0 - enable threaded force feedback generation using the given frequency 
ffbRate=1000


FMOD Sound System Configuration
-------------------------------
After the first start the plugin creates a configuration file "AudioFMOD.ini"
in the AudioFMOD folder.
You may configure the following parameters:

; General section.
[Settings]
; Enable or disable FMOD sound system.
;
; true or 1  - enable
; false or 0 - disable, use original RBR sounds
; 
enableFMOD=false

; Enable or disable FMOD Studio's live update feature.
;
; true  or 1 - enable
; false or 0 - disable
;
enableLiveUpdate=false

; Set the profile port, also used for the live update feature.
;
; 0 - use default port
;
profilePort=0

; car sections, separately for each car slot, 00 up to 07.
[Car00]
; Name of the bank to be loaded. Don't specify the ".bank" extension !!
; E.g. if your sound bank files are named "test.bank" and "test.strings.bank":
; bankName=test
;
bankName=

; masterVolume
; The master volume of all FMOD sound effects as floating point value.
;
; < 1.0 - lower
; > 1.0 - louder
;
masterVolume=1.0


The same applies to the other 7 car slots in sections [Car01] up to [Car07].


Telemetry Recorder
------------------
To activate automatic telemetry recording go to the NGP plugin dialog
("Plugins --> NGP") and press 'T' to toggle.
The current value is saved in the INI file, so you do not have to re-activate
this each time you start RBR.
Which values actually are recorded depends on the flags set in the
"Telemetry.ini" file located in the "Plugins/NGP/" directory.
Please note that the more values are recorded, the larger the generated
telemetry values file will be. Recording only works in normal GAME mode, not
in REPLAY mode.

The telemetry file name is being generated automatically, the file is written
into the directory "Plugins/NGP/telemetry".

We recommend "gnuplot" to plot the recorded telemetry data, as usually a
spreadsheet application is not capable of handling these amounts of data.
Please note that some sample gnuplot functions are present in the file
'rbr.gp' located in the "Plugins/NGP/scripts" folder. In this folder
several scripts have been placed for your convenience. These scripts rely on a
gnuplot variable 'file' to be present and pointing to the telemetry data file
to be plotted.

Note:
=====
Take care of your available disk space if you have telemetry recording
enabled. The recorder does not check for free disk space !


UDP Telemetry
-------------
To activate UDP telemetry go to the NGP plugin dialog ("Plugins --> NGP") and
press 'U' to toggle.
The current value is saved in the INI file, so you do not have to re-activate
this each time you start RBR.
The values which are emitted are hardcoded, the transmitted structure can be
found in "rbr.telemetry.TelemetryData.h" in the directory
"Plugins/NGP/sdk" .
UDP telemetry is only emitted in normal GAME mode, not in REPLAY mode.
You can use the telemetry values e.g. to control a motion platform.
Multiple UDP endpoints are supported and can be specified as comma-separated
list.
Target addresses and ports can be set in the INI file, with port 6776
being the default.
Remember to enable these ports in your operation system's firewall
configuration.

Note:
=====
The transmission of UDP telemetry is done in separate parallel threads,
so this should not affect your gameplay if you have network problems.


Tool "splitlbs.exe"
---------------------------------------------------------------------
This tool splits an LBS file into two files, LBS and LB2.
The LB2 file contains all large objects: visible objects, geom blocks, object
blocks.
The LBS file contains all other segments from the original file.
A backup file track_xx.lbs.orig is created before doing the split.
To restore your original configuration simply remove the split .lbs and .lb2
files and remove the .orig extension.



Notes
---------------------------------------------------------------------

- The UI dialog page shows the state of the NGP plugin and allows for toggling
  the telemetry recording.
- Only genuine NGP cars will work with this plugin. All other cars are limited
  to using only reverse and first gear.



Disclaimer
---------------------------------------------------------------------

This software and the accompanying files are supplied "as is" and
without warranties as to performance or merchantibility or any other
warranties whether expressed or implied. No warranty of fitness for
a particular purpose is offered.

You may use this plugin in online plugins as long as you distribute all the
files being initially contained in the NGP installation package,
especially the readme and documentation files.



Version History
---------------------------------------------------------------------
7.4.778 2024-09-15
    * fixed rally yard and stage trial in pre season mode

7.4.777 2024-08-04
    * fixed playing of impact speech sounds
    * reduced memory footprint of FMOD and telemetry recording
    * updated FMOD to version 2.2.20
    * 64-bit FMOD integration
    * 64-bit telemetry recorder (also used by PaceNote plugin 2.x)

7.3.776 2024-03-23
    * more tolerant starter logic to address faulty hardware
      causing accidental activation mid-stage

7.3.775 2024-03-07
    * fixed race timer issues
    * fixed shifting issues
    * new data item utcSystemTime in file telemetry

7.3.774 2024-02-20
    * multicore physics
    * fixed starter code (remember to map ignition in controls menu!)
    * fixed handling of occasionally missed special pace notes
      (Start, Split, Finish, End Of Track)
    * fixed particle system, size of particles

7.2.773 2023-11-03
    * input and FFB rate configurable

7.2.772 2023-10-30
    * support multiple UDP telemetry endpoints
    * fixed sporadic shifting issues with some devices
    * separate input and FFB handling

7.2.771 2023-10-03
    * fixed stutter and timer issues
    * enhanced replay input buffer

7.2.770 2023-09-13
    * performance improvements, use multiple CPU cores
    * removed adaptive FFB (obsolete)
    * use RBR engine volume setting for FMOD engine sounds
    * mute RBR engine sound in replay when car has FMOD bank
    * fixed HUD distance to end calculation
    * reset camera zfar setting on stage load to prevent unwanted pop-ins
    * requires PaceNote plugin 1.14 or higher for replay speed handling


7.1.769 2023-02-03
    * fixed performance issues due to excessive collision detection
    * fixed low car speed issues


7.1 2023-01-09
    * PhysicsNG and FixUp plugin merged as NGP plugin
    * all settings now in RichardBurnsRally.ini, FixUp.ini is obsolete!
    * fixed skidmark handling
    * improved steering
    * French text translations courtesy of BlauGregg
    * removed processor option
    * added surface materials Sett_Dry, Sett_Damp, Sett_Wet


Former PhysicsNG History
------------------------
7.0 2022-07-08
    * increased, fixed physics update rate of 720 Hz
    * increased accuracy of calculations
    * fixed some issues related to high screen refresh rates

6.5 2022-04-18
    * fixed calculation of surface bumpiness when using material blending
    * introduce new surface materials:
    ** Black_Ice
    ** Passthrough
    ** Cobble_Dry, Cobble_Damp, Cobble_Wet
    * fixed list of road materials to include all Gravel_Coarse_Deeper,
      Tarmace_Medium_Sprinkled_Dry, Dirt_Hard_xxx_Clone

6.4 2020-12-27
    * fixed in-game setup editor suspension geometry calculation
    * fixed loading of in-game setup editor suspension menu

6.3 2020-01-30
    * UDP telemetry port configurable
    * physics update rate configurable (144 Hz monitor stutter fix)
    * snow surfaces and snow walls adjusted

6.2 2020-01-02
    * new feature: UDP telemetry
    * added telemetry values: roll, pitch, yaw
    * snow tire optimized

6.1 2019-12-14
    * BUGFIX: fixed issue with sound volume of engine/transmission

6.0 2019-09-06
    * revised tires and surfaces
    * barometric formula (affects tires, engine, brakes, aero)
    * engine temperature management
    * tire temperature management
    * tire performance truely camber dependent
    * brake temperature management
    * rear brakes still functional if brake circuit damaged
    * handbrake pressure adjustable
    * telemetry recorder
    * allow only genuine NGP cars

5.0.1 2017-11-30
    * fixed issue of RBR shifting into reverse when using H-pattern and vsync
      is off (usually only noticable when frame rates exceed ~130 maybe)
    * don't downshift from first gear to N(eutral) when N is mapped to a key
      (mimics behavior of real R5/WRC cars)

5.0 2017-11-25
    * more aggressive tires, improved handling
    * direct gear mapping aka H-pattern

4.4 2016-11-11
    * bug fixes after intensive testing

4.3 2016-10-22
    * new viscous coupling differential type for all diffs (center/front/rear)
    * optimized differential handling
    * optimized engine idle/stall handling

4.2 2016-02-20
    * use correct labels in "Differential Torque" page ("preload"), depending
      on the differential type
    * tires/materials evolution, improved tires not suitable for
      the surface (e.g. snow on tarmac etc.)
    * changed mass and inertia of some movable objects for more variance

4.1 2015-12-27
    * fixed power/coast diff issue

4.0 2015-11-19
    * adjustable linear and progressive bump stops
    * adjustable fast rebound (4-way damping)
    * engine loses some power when some parts are damaged
    * variable shift times
    * better support very lightweight and heavyweight vehicles
    * new dialog to select game language

3.1 2015-06-05
    * tires optimized
    * optional single color gear change indicator
    * support for big wheels with radii > 400mm

3.0 2015-03-14
    * decreased performance of "wrong" tires (dry on wet etc.)
    * more decrease of performance with tire wear
    * reduce/remove downforce if front bumper/wing are damaged/broken
    * allow negative downforce
    * maximum clutch torque depending on maximum engine torque
    * fixed weird engine behaviour after collision if damage is non-realistic 
    * set helper spring minimum length to 40% of helper spring length
    * input controller filter for handbrake and clutch
    * multi-color gear shift indicator
    * adjustable threshold for playing the skid sound

2.4 2015-01-06
    * fixed typo in readme
    * removed FixUp from installation archive

2.4 2014-11-25
    * new tire performance parameter
    * fixed loading of physics in quick rally mode

2.3 2014-11-15
    * tarmac/snow improved

2.2 2014-10-12
    * aero kit

2.1 2014-09-21
    * improved support for online plugins
    * set idle rpm of standard engine

2.0 2014-09-06
    * setup parameter validation
    * fixed high speed damping

1.11 2014-08-16
    * progressive bumpstops
    * improved high power turbo engine

1.10 2014-07-24
    * same grip level for all cars
    * optimized snow surface parameters

1.8 2014-05-20
    * improved force feedback

1.7 2014-05-11
    * adjustable force feedback sensitivity
    * show/hide revision hint

1.4 2014-04-03
    * variable tire diameter

1.3 2014-03-28
    * fixed engine idle
    * clutch help adapted to new engine idle

1.2 2014-03-23
    * drivetrain fixes
    * optimized snow walls
    * online-ready, activation codes in physics files

1.1 2014-03-06
    * fixed restart of engine after wheels lockup

1.0 2014-03-02
    Initial version.

Former FixUp History
--------------------
5.1 2022-10-01
    New features
    * fixed shading bug for internal cameras
    * fixed siren (spectator cheering) sound
    * fixed loading of animations

5.0 2022-07-08
    * removed sound refresh rate parameter, now refreshes at fixed rate
    * FMOD requires NGP7
    * FMOD sound system: support NGP 7.0.764.444

4.6 2022-04-15
    New features
    * mute inaudible original sounds properly (especially when FMOD is active)
    * FMOD sound system: support NGP 6.5.763.443

4.5 2021-07-30
    Update
    * FMOD sound system: support NGP 6.4.759.437

4.4 2021-04-05
    New features
    * reduced flickering, especially in replays
    * fixed loading of replays which aborted right at the start

4.3 2021-03-07
    New features
    * fix memory fragmentation

4.2 2021-02-10
    New features
    * fix clipping issues (scenery popping in/out of view)
    * optional: use high quality cubic environment maps (mirrors, reflections)

4.1 2020-12-27
    Update
    * FMOD sound system: support NGP 6.4.759.432

4.0 2020-05-11
    New feature
    * FMOD sound system, requires NGP 6.3.758.413
    * important: changed directory structure of FixUp installation archive

3.1 2020-02-18
    New features
    * fix season loading crash

3.0 2019-04-19
    New features
    * enhanced LBS file loader
    * new tool splitlbs.exe to split LBS file into LBS+LB2 for the new loader

2.9 2017-02-14
    New features
    * configurable sound refresh rate to address tire sound issues

2.8 2016-12-10
    New features
    * Z-Modeler fix

2.7 2016-02-11
    New features:
    * another sound buffer fix, this time in the context of the mixer
    * adaptive FFB has configurable FPS now
    * added FFB steering wheel dead zone
    * ten times the number of fences for add-on tracks

2.6 2015-03-01
    * no calibration of FFB in replay
    * adaptive FFB disabled by default

2.5 2015-01-27
    New features:
    * adaptive force feedback configurable

2.4 2015-01-19
    New features:
    * adaptive force feedback

2.3 2015-01-07
    New features:
    * check and fix textures indices after loading the LBS file

2.2 2014-09-21
    * improved support for online plugins

2.1  2014-07-03
    New feature:
    * sound bug fix: fixed calculation of gravel pitch

2.00 2014-03-02
    New features:
    * show patch revision in dialog
    * removed material maps patch, which is now part of the PhysicsNG plugin

1.13 2013-07-14
    New features:
    * fix sanity check of index in rally names array while loading
      car flip animation

1.12 2013-04-08
    New features:
    * check and fix name offsets of animation ids in DLS data

1.11 2013-03-28
    New features:
    * material maps fix

1.10 2013-02-28
    New features:
    * fix collision mesh calculation

1.9.3 2012-12-31
    New features:
    * check and fix DLS data

1.9.2 2012-12-25
    New features:
    * processor of the main thread configurable

1.9.1 2012-12-21
    New features:
    * dropped RBRDLL support
    * fixed car damage speech stuff
    * set main thread affinity to first available processor

1.9
    New features:
    * proxy access to FixUp features

1.8
    New features:
    * sound distance fix
    * engine sound
    * check interactive object ids

1.7
    New features:
    * center and scale menus, dialogs, hud to 4:3

1.6
    New features:
    * set head gasket durability

1.5.1
    Bugfix:
    * do not write log file
    
1.5
    New features:
    * set v-sync mode

1.4
    New features:
    * fix aspect ratio [XRes / YRes] (widescreen support)
    * fullscreen window mode

1.3
    New features:
    * fix RBR's plugin loading routine if RBRDLL is present

1.2
    New features:
    * service park manager advice, number of mechanics

1.1
    New features:
    * 127 setup slots, setup name 31 characters, enhanced listings
    * replay name 31 characters, enhanced listings

1.0
    Initial version.

_____________________________________________________________________
WorkerBee

Credits for the translation of the strings.ini file go to Vaclav K. (CZ),
Cristiano V. (vcorp, IT), Wojtek N. (PL), Gabriel R. (SP), BlauGregg (FR).
Thank you, guys !

mail to guenter.schlupf at gmx.net

vim: set nocindent :
