Grand Prix Legends PATCH README
Version 1.1
5/5/99

[ To read this file, select Edit/Word Wrap from the menu above ]


                TABLE OF CONTENTS

        1.  NOTES

        2.  GENERAL

        3.  MULTIPLAYER - GENERAL

        4.  MULTIPLAYER - MODEM-TO-MODEM

        5.  MULTIPLAYER - FIREWALLS

        6.  NEW .INI FILE OPTIONS

        7.  NEW .INI FILE

        8.  NEW DEFAULT CAR SETUPS

        9.  FORCE FEEDBACK SUPPORT

        10.  CONTACTING SIERRA


1. NOTES
--------

Some of the multiplayer-specific changes included in this patch make GPL version 1.1.0.3 clients and servers incompatible with version 1.0.0.0 clients and servers.

2. GENERAL
-----------

The minimum ride height has been increased from 1 inch (2.54cm) to 2.5 inches (6.34cm).  Any car setup you load that has a lower ride height will automatically have the ride height increased to this value.

The order in which drivers are dropped when you choose less than a full field of AI  has been changed so that you still get some slow AI drivers even with small fields.

Joystick axes may now be assigned to shift up/shift down.

There was a bug in our DirectInput joystick code that caused problems when a device reported more than 8 axes (the Gravis Xterminator (at least on Win95), and Thrustmaster Force GT, for example).  This has been fixed.

A new 3Dfx rasterizer (rast3dfx.dll) is included.  The only difference is a change that allows Voodoo 3 users to change screen resolutions without corrupting the texture maps.

When calibrating your joystick, the on-screen instructions say to return your joystick to center before pressing OK.  The intent is to reset the joystick center position when you hit OK.  GPL 1.0 only set the center position when you pressed the "Calibrate Joysticks" button to begin the calibration, and did not reset it when you hit the OK button.  This has been fixed.

When loading a saved race, the qualifying setup would be applied to the car, even if the race was the current session.  This has been fixed.

The pit board at the Nurburgring has been moved to the other side of Sudkehre so that you now see your most recent lap time.

GPL would sometimes crash the system when saving a large replay.  This has been fixed.

GPL would sometimes shut down improperly, causing some files to not be saved, and some system settings to not be restored.  This seemed to happen more often on slower systems.  This has been fixed.  These changes also improved game performance by one or two percent.

Activating the Player Info screen would sometimes change the state of the automatic shifting, braking and traction driving aids.  This has been fixed.

The Race Setup dropdown list on the car setup screen would extend off the bottom of the screen, instead of scrolling as the Practice Setup dropdown list does.  This has been fixed.

GPL will now run on Windows NT with DirectX installed (I believe NT4 with service pack 3, and NT 5 Beta 2).  The Generic joystick driver is not avaliable on Windows NT.  GPL will also run on dual-processor NT systems, and take advantage of both processors.  Don't expect any miracles, though.  GPL is quite memory intensive, and a dual-processor machine has two processors fighting for memory bandwidth instead of just one.  Because of GPL's architecture, it is unlikely that a machine with more than two processors would provide any benefit.

You are no longer allowed to get into your car while the checkered flag is out during a qualifying session.  Also, Race Control will reduce the amount of time the checkered flag is displayed in qualifying once scoring has been completed for all cars.  

If all cars drop out of a race during the race session, Race Control will throw the checkered flag and end the race.

Exported race results now contain the race type (novice, intermediate-short, etc.), as well as the amount of time it took to run the race, and the number of laps in the race.

It was possible that driving controls (throttle, brake, shifting, etc.) would not be enabled when you got into your car, even though all controls were properly calibrated and assigned.  The problem was most likely to occur while the chat pad was open, but could occur at any time  This has been fixed.

By default, GPL uses a speed-sensitive steering ratio.  At and above 60MPH, the steering ratio specified by your car setup is used.  Below that speed, your the steering ratio will be set to somewhere between 7:1 and the ratio defined by your car setup.  GPL does this to make it possible to exit your pit stall when pit road is crowded, and to make navigating hairpin turns easier.  You can disable this feature by adding the following two lines to core.ini

[ Hack ]
steer_ratio = 0       ; 

You can now override any of GPL's .ini file options on the command line.  The command line overrides are not saved to the .ini file, so there is no need to backup the .ini file.  This facility will generally be used by programs that launch GPL (VROC, for example (see http://gpl.gamestats.com/vroc)).  The format of a command line override is...

	-ko"numeric_id:section_name:key_name:value"

	...where...

	numeric_id is the ID of the .ini file that contains the value to be overridden.  The mapping is:

		0  = core.ini,
		10 = app.ini
		20 = player.ini
		40 = track.ini
		50 = address.ini
		65 = server.ini

	section_name is the name of the section within the .ini file in which the key exists.  [Communications], for example.  The brackets ([, and ]) should not be specified.

	key_name is the name of the key.  net_mdm_client_send_every, for example.

	For example, to use a value of 3 for net_mdm_client_send_every from the Communications section of core.ini, you would use...

	gpl -ko"0:communications:net_mdm_client_send_every:3"



3. MULTIPLAYER - GENERAL
--------------------------

When the host of a multiplayer race started the race weekend, sometimes a client would not be given the green button that allowed them to get into their car.  This has been fixed.

Sometimes a client in a multiplayer race would not see their own lap times, or would see incorrect information on their pit board during the race.  For the most part, this has been fixed.  If a client has an exceptionally poor connection to the server, it is still possible that Race Control will be unable to correctly score this client.

Race control would sometimes disqualify a client for driving the track in the wrong direction, even when they did not do so.  This has been fixed.

Race control would sometimes register an impossibly short lap time for a client if the client "winked out" near the start/finish line.  We believe this is fixed.

Sometimes the keyboard shortcuts for the replay and camera systems would be active while typing a message into the chat pad.  These controls are supposed to be deactivated while chatting.  This has been fixed.

There was no way to restrict access to a GPL server based on the communications latency to a client.  When setting up a server, you may now specify a maximum allowable latency of up to 1 second (though latencies above 0.5 second are generally undesirable).  A client's latency is only checked once as they connect to the server.  If their latency increases while they are connected, the server will not automatically kick them off.

There was no way to limit the number of clients that could connect to a server on a particular network connection.  If too many players connected, the device would become overloaded causing poor performance for everyone.  There is now a "maximum number of players" selection for each network connection.

After many people had connected to and then disconnected from a race server, newly connecting drivers would see a long stream of "X.Y:Connected"..."X.Y:Disconnected" messages for drivers that were no longer connected to the server.  This has been fixed.

After many people had connected to and then disconnected from a race server, a newly connecting driver would be assigned car number 0, and would drive around in a car with no car number painted on it.  This has been fixed.

The rules shown to a client of a multiplayer Grand Prix race indicated that there were two practice sessions, when there is really only one.  This has been fixed.

A GPL race server will now broadcast its status, and respond to ping requests, while a race session is in progress.  Previously, it would only do this during qualifying sessions, and when it was on the race setup screen.

A GPL client tries to keep itself synchronized to the server to which it is connected.  Due to varying communications latencies that are typical on the Internet, this is an imprecise task.  The method that GPL 1.0 used to try and stay in synch with its server could cause two different anomalies that have become known as "frame stuttering" and "clock smashing."  You could try to trade off one for the other by changing the value of the "clock_adj_delay" setting in the [Communications] section of core.ini.  Lower values would generally cause more frame stuttering and fewer clock smashes, and higher values would generally cause the opposite.  The default value for this setting was 12 in GPL 1.0, but has been changed to 4 in GPL 1.1

GPL 1.1 introduces a second method by which a client can try to stay in synch with its server.  The new method ignores the clock_adj_delay setting, since it is not meaningful to the way this new method operates.  With the new method it is still possible to have clock smashes, though they should occur less often.  The new method also replaces frame stuttering with a more gentle adjustment.  It is generally less noticeable, and so is less distracting while driving.  As always, however, the less stable your connection to the server, the more noticeable the adjustment will be.

The new method is now the default.  You can revert to using the old method, if you wish, by changing the following core.ini setting from 1 to 0.

[ Task ]
synch_method = 1         ; 


There was no way to control a GPL server remotely.  Remote clients can now control a GPL server (we call anyone that can control the server a "boss").  This is accomplished by using a special form for the server password.  Clients that connect with the "boss" password will be able to control the server.  The password format is now "[access_pwd][/[boss_pwd]][=f.last_of_boss]" (neither the brackets, nor the quotes, should be used, and anything between a pair of brackets is optional).  The password is not case sensitive.  The meaning of several example server passwords is given below...

	"" - No password specified.  Anyone may connect to the server.  Only the server itself is a boss.
	"private"  - All clients must enter the password (private) in order to connect to the server.  Only the server itself is a boss.
	"private/secret" - All clients must enter the password (private) in order to connect to the server.  Any client that also knows the boss password (secret), and gives the password correctly (private/secret) will also be a boss of the server.  Note that this allows there to be more than one boss for the server.  Bosses must cooperate with each other!
	"private/secret=f.smith" - Same as above, but any driver whose last name is "smith", and whose first initial is "f" will be given boss control over the server, even if they don't enter the boss password (secret).
	"/quiet" - Anyone may connect to the server without specifying a password.  Anyone that gives the boss password (/quiet) will also be a boss.
	"/" - This would be interesting!  Anyone can connect to the server without specifying a password.  Everyone that connects will be a boss.

There was no way to eject a player from a server.  Any boss may now remove a player using the "!eject" command.  The command should be entered as a chat message.  The format of the command is "!eject player", where player can either be the "#" symbol along with the player's car number, or the players name.  For example,
	"!eject #12"
	"!eject smith"
	"!eject f.smith"
	"!eject fred.smith"

You can now launch GPL as either a client or a server by using command line options.  GPL will automatically advance to the multiplayer setup screen, activate all the proper buttons, and launch/connect.  When launched as a client, the remote server's IP address is not shown.  When a launched client disconnects, it's given the option to reconnect, but will otherwise exit the game.  When a launched server backs out of the track select screen, it exits the game.  See the description of the CLIENT and SERVER additions to the core.ini file below.  This capability is intended to be used by systems such as VROC (see http://gpl.gamestats.com/vroc).


4. MULTIPLAYER - MODEM-to-MODEM
--------------------------------

Several people have reported problems connecting using a direct modem-to-modem connection.  This is almost always because the two computers have different notions of how fast the two modems connected.  We have changed the meaning of the connection speed selection for a modem on GPL's multiplayer setup screen.  It used to mean: "Please try to connect at a speed no faster than this, but use whatever speed the system tells GPL it has connected at."  Some systems seem to ignore the "please don't connect any faster than this" request.  Other systems seem to report connect speeds that are higher than the actual speed at which the two modems connected.  Either of these situations could lead to a failed connection.

This selection now means: "Please try to connect at a speed no faster than this.  If the system tells GPL that it connected at a speed faster than this, assume it's lying and that the connection actually occurred at this speed.  If the system tells GPL that it connected at a speed slower than this, use this slower speed."  This reduces, but does not eliminate, the possibility of a failed connection.  This also makes it essential that the host and the client choose the same speed.  We've also added a new selection to the connect speed list, "Reported by modem".  If you did not previously have any problems connecting modem-to-modem, use this selection (it has almost the same meaning as before).

If you still can't connect even when both the dialer and answerer use the lowest speed in the dropdown list, there's one more thing that you can try (you can also try this with GPL 1.0.0.0).  In the same folder as the GPL program (gpl.exe) create a text file named core.ini using Notepad (or another plain text editor).  In this file, place the following two lines...

[ Communications ]
assumedModemConnectSpeed = baud_rate

Replace "baud_rate" with a baud rate that is no greater than the actual speed at which the modems connect.  For example, if you know the modems are actually connecting at 24000bps, use 24000.  If you're unsure of the baud rate at which the modems connect, it's probably best to guess low (normal speeds would include 19200, 21600, 24000, 26400, 28800, etc.)  If you guess too high, the connection will probably be dropped before long (if it's established at all).  It is important that both the dialer and answerer (client and server) use the same number.


5. MULTIPLAYER - FIREWALLS
--------------------------

With GPL 1.0.0.0 it was difficult, if not impossible, to configure a firewall that would allow a GPL client or server to run behind it.  This should now be fixed.  GPL now uses a range of 21 consecutive ports ([32766..32786], by default) for client/server communications, and  ports 6970 for status broadcast and 6971 for ping responses.

To run from a machine with a private IP address behind a Linux firewall, you need to use a combination of IP masquerading and IP autoforwarding.  The following three rules can be used.

ipfwadm -F -a accept -m -S a.a.a.a/m.m.m.m -D 0.0.0.0/0
ipautofw -A -r udp 6970 6971 -h a.a.a.a -v -u
ipautofw -A -r udp 32766 32786 -h a.a.a.a -v -u

where a.a.a.a is the address of the machine behind the firewall, and m.m.m.m is the netmask.  If you run a server behind the firewall, clients should connect to the IP address of the firewall.

If you want to run more than one server behind a firewall, you'll need to give each of the servers its own port range for client/server communications, and also include these port ranges in the ipautofw rules.  In core.ini on each of the additional server machines, add the following:

[ Communications ]
net_server_port = A

You might use A=32787 for the second server, A=32808 for the third server, etc.

If you want to allow machines outside your firewall (VROC, for example) to query the status of multiple GPL servers, you must also make provisions for this.  The best way we've found to do this is to use an ipautofw rule for GPL's ping port (port 6971) that causes the firewall to forward incoming GPL ping requests to the directed broadcast address of the network behind the firewall.  Use the rule

ipautofw -A -r udp 6970 6971 -h b.b.b.b -v -u

where b.b.b.b is the directed broadcast address of the network behind the firewall.

Broadcast address?  What's that?  A broadcast is a message that you want every system on the network to see.  The broadcast address is the address that all machines on the same network listen to for this message.  In this case, the ipautofw command is saying that you want all udp packets on ports 6970..6971 to go to all the machines behind your firewall.

How do I determine the broadcast address?  Easy:  Address | (NOT NetMask)
Take your ip address and convert it to binary:	
	Decimal->172.15.134.123
	Binary->10101100.00001111.10000110.01111011
Take your netmask and convert it to binary, then invert the 0 and 1's:	
	Decimal->255.255.255.0 
	Binary->11111111.11111111.11111111.00000000
	Invert->00000000.00000000.00000000.11111111
Take your address and bitwise-or in the inverted netmask address:
	10101100.00001111.10000110.01111011
	00000000.00000000.00000000.11111111
	-----------------------------------
	10101100.00001111.10000110.11111111
Finally, convert back to decimal
	Binary->10101100.00001111.10000110.11111111
	Decimal->172.15.134.255
So that b.b.b.b would be 172.15.134.255 in this example.

If you (or your network administrator) do not want to broadcast these packets, you'll need to assign each GPL server its own ping port in core.ini

[ Communications ]
bcast_ping_port = B

For example, you might use B=6972 for the second server, B=6973 the third server, etc.  You will also need to include these ports in your ipautofw rule, and tell anyone that might want to ping these servers about these other ports.


6. NEW .INI FILE OPTIONS
-------------------------

The following options and/or sections have been added to core.ini.  Default values are shown.

[ Communications ]
bcast_ping_disable = 0         ; Disable response to pings
bcast_send_disable = 0         ; Disable server status broadcast
disable_modem = 0              ; Do not look for modems at startup

If you don't want your GPL server to respond to ping requests, set bcast_ping_disable to 1 (note that even though the name includes the word bcast, ping responses are not sent via broadcast).  If you don't want your GPL server to broadcast its status, set bcast_send_disable to 1 (this option already existed in version 1.0.0.0).  If you don't intend to use GPL's modem-to-modem multiplayer ability, you can set disable_modem to 1 to tell GPL not to look for modems.  This can make starting the program faster.


ignore_net_read_errors = 1     ;
ignore_net_send_errors = 1     ;
log_server_comm_errors = 0     ;
log_server_connect_status = 0  ;

A GPL 1.0 server would disconnect a client (and a GPL 1.0 client would disconnect itself from a server) if it detected an error while either reading or sending a network packet.  These errors do seem to occur from time to time, even when they are not indicative of major problems.  They are probably a major cause of disconnects.

By default, GPL 1.1 will no longer disconnect when it detects network read or send errors.  The GPL 1.0 behavior can be enabled by setting the "ignore_" variables to 0.  By default, a GPL server will not log these read and send errors to its chat pad.  If you are having disconnect problems when hosting races, you can set log_server_comm_errors to 1 to cause these errors to be displayed.  You can also set log_server_connect_status to 1 to see connection status messages as clients connect to, and disconnect from your server.  You will generally only want to enable these logging facilities while diagnosing problems since the messages can be very distracting.


bcast_listserv =          ; 
bcast_send_freq = 4.0     ;

bcast_listserv can be blank, or can be either the numeric (1.2.3.4) or symbolic (foo.bar.net) address of a computer on the Internet.  If you set this value, your GPL server will send its status(*) to this computer once every bcast_send_freq seconds (this can be no less than 4 seconds).  Presumably, other people on the Internet can then ask this computer for a list of active GPL servers, and this computer will tell them about your GPL server.

Currently the most popular place to find GPL race servers on the Internet is VROC (pronounced "vee'-rock" - for Virtual Racers' Online Connection).  You can access VROC by pointing your Web browser to http://www.vroc.net (at the moment, this is also available via http://gpl.gamestats.com/vroc).  From there you can either use your browser to access the race list server, or download a utility called "GPL Spy Boy" which is a native Windows program that also provides access to the race list server.  Either of these utilities will allow you to join existing GPL races, or launch your own server thus allowing others to connect to it.  If you launch a server using either of these utilities, they will automatically use GPL's bcast_listserv facility to keep the VROC race list server informed of the status of your GPL server.  You do not need to explicitly set this value yourself.

If, instead, you start your GPL race server by hand, you can set

bcast_listserv = vroc.net

This will keep VROC informed of the status of your server.  Before you launch your server, you should visit http://www.vroc.net to register the server with VROC.  This allows you to provide additional information about your server, like the type of Internet connection it has (analog modem, cable modem, T1/T3, etc), where it is located (Boston, Paris, London, ...), etc.

bcast_listserv_req = 						; 
bcast_listserv_req_freq = 10.0				; 

If bcast_listserv_req is also set, your GPL client will send this string to the bcast_listserv computer once every bcast_listserv_req_freq seconds.  The first letter of this string should be a question mark (?).  Presumably, this computer is maintaining a list of active GPL race servers.  It can send its list of servers to your GPL client, and those races will appear in your "Local Games" table.  Currently VROC does not support being queried by GPL clients for its list of races.  You must use either your Web browser, or GPL Spy Boy to join races.

(*) Your GPL server will send only the following information to the bcast_listserv machine:
 - Your IP address (or the IP address of your firewall if it is performing address translation).
 - The version number of GPL that you are running.
 - The port number your race server is accepting connections through.
 - The first initial and last name of the player you are using.
 - The track you are visiting.
 - The current number of players connected to your server.
 - The maximum number of players that you have allowed to connect.
 - The minimum and maximum car classes that are allowed in the race (novice trainer, advanced trainer, Grand Prix car)
 - The type of race you are running (Novice, Intermediate Short, etc.)
 - Whether you are selecting the race parameters, or running the race weekend.
 - Which session your are running (qualifying or race).
 - How much time (or how many laps) are left in the session.
 - Whether or not your race is password protected (but not the password itself).
 - The maximum latency your server will permit a client to have.


[ CLIENT ]
to_ip =     ; numeric IP address to connect to
via_ip =    ; numeric IP address to connect via

These two options are intended to be used by VROC, or similar software, to launch GPL as a multiplayer client.  Both must be numeric IP addresses (#.#.#.# format).  to_ip should be the IP address of the GPL server.  via_ip should be the numeric IP address of the interface through which the GPL client will connect (if a firewall is involved, this would be the actual IP address of the client itself, not the IP address of the firewall behind which the client sits).  When both are set, GPL will automatically advance to the multiplayer "join" setup screen and attempt to connect to the GPL server.  If the race is password protected, you'll also need to specify the password on the command line.  The server's IP address is not shown to the user.

Example: gpl -ko"0:client:to_ip:5.4.3.2" -ko"0:client:via_ip:1.2.3.4" -ko"0:server:password:wow!"

[ SERVER ]
auto_export_standings = 0  ; Auto export if launched?
dedicated = 0              ; Unattended - run server.ini races
launch = 0                 ; Launch GPL as a mp server
max_latency = 0.0          ; Seconds. Set to 0.0 to disable
max_car_class = 0          ; 0=GP, 1=AdvT, 2=NovT
min_car_class = 2          ; 0=GP, 1=AdvT, 2=NovT
password =                 ; [access][/[boss]][=f.last]
repeat = 0                 ; 


If either dedicated or launch is set to 1, GPL will automatically advance to the multiplayer "host" setup screen.  Further, if auto_launch is set to 1 for any active network connection in server.ini (see below), GPL will automatically allow connections on those interfaces, and advance to the track select screen.  If not, GPL will wait for the user to select the allowed connection types and hit the green button to advance to the track select screen.  If dedicated is set to 1, GPL will then cycle through the consecutive list of valid races from race0..raceN (up to and including race31) specified in server.ini.  If repeat is set to 0, or is missing, it will cycle through them endlessly.  If repeat is greater than 0, it will cycle through them this number of times.  Sound and 3D graphics will be disabled, and the server itself will not be allowed to join the race (this reduces the load on the CPU).  If dedicated is 0, then the set of races specified in server.ini is ignored, and one of the server's bosses must control the server.

If either dedicated or launch is set to 1, the GPL server will automatically leave the track three minutes after race control has completed scoring for the race.  One minute before leaving the track, it will issue a warning to this effect.  If auto_export_standings is set to 1, the server will automatically export the race results when it issues this warning.  The results will be saved in GPL's exports directory, and will be named "<player last name>__<player first name>.<year>.<month>.<day>.<hour>.<minute>.html.  For example, "Smith__Fred.1999.04.30.18.02.html".

If max_latency is greater than 0, then it specifies the maximum latency a client is allowed to have when they connect to the server.  If their latency is higher than this value, they are not allowed to connect.  Once connected, however, a client will not be disconnected if their latency increases.  If max_latency is not greater than 0, then clients are allowed to connect regardless of their latency.

min_car_class and max_car_class can be used to force everyone that connects to the server to drive in a particular class of car (novice trainer, advanced trainer, or Grand Prix car).  Generally, both of these should be set to the same value.


7. NEW .INI FILE - SERVER.INI
-------------------------------

GPL 1.1.0.3 will create a new .ini file in its home directory named server.ini.  There are two main purposes for this file.  First, it keeps track of some information for each network address on your machine.  Second, it can contain a list of races that an unattended GPL server will run in sequence repeatedly.

Server.ini will have a separate section with three values for each TCP/IP and IPX address that GPL recognizes on your machine.  The sections are named ip0, ip1, ... ip5 for TCP/IP addresses, and ipx0 and ipx1 for IPX addresses.  The order is the same as what is shown on the multiplayer-host setup screen.  For example...

[ ip0 ]
addr = 129.9.6.19  ; Informational only!
auto_launch = 1    ; Allow connects when launched?
max_players = 5    ; Max players allowed

[ ipx0 ]
addr = F1F50002:00105A02FD1E  ; Informational only!
auto_launch = 1               ; Allow connects when launched?
max_players = 19              ; Max players allowed

addr - This value is put into the server.ini file solely for your information.  When GPL reads the server.ini file, it ignores this field.
auto_launch - If this value is 1, and GPL is launched as a multiplayer server (either launch or dedicated is set to 1 in core.ini), GPL will automatically allow connections on this interface.
max_players - This value reflects the maximum number of players you select for a particular network interface on the multiplayer-host setup screen.

If dedicated is set to 1 in the [SERVER] section of core.ini, then GPL will run as a dedicated race server.  It will automatically cycle through the list of races specified in this file (server.ini).  List the races you want the server to run in sections named [race0], [race1], etc., up to [race31].  The GPL server will run all races in sequence starting at 0 until the track entry is empty or invalid.  It will then cycle back to race0 and start again.  For example...

[ race0 ]
ai = 5            ; Number of AI
practice = 5      ; Number of minutes of practice
race_type = 4     ; 0=Nov,1/2=int s/l,3/4=pro s/l,5=GP
track = monza     ; Track

ai - Specifies the number of AI cars that are to participate in the race, from 0 to 19.
practice - Specifies the length of the practice session in minutes, from 1 to 120.
race_type - Specifies the type of race. 0 = Novice, 1 = Intermediate-short, 2 = Intermediate-long, 3 = Pro-short, 4 = Pro-long, 5 = Grand Prix.
track -  Specifies the name of the directory that contains the track (kyalami, mexico, monaco, monza, mosport, nurburg, rouen, silver, spa, watglen, zandvort).

The server will leave the track and advance to the next race three minutes after Race Control has completed scoring.  It will warn all the clients when there is one minute remaining before it leaves the track.  To prevent the server from automatically starting the next race in the sequence, hold the left shift key down on the server while the server leaves the track.  While at the race setup screen you can then hit the red button to exit the program.  Or, you can alter the race parameters and hit the green button to continue.


8. NEW DEFAULT CAR SETUPS
----------------------------

New default car setups for all of the Grand Prix cars are included.  The original default setups are, generally, faster when driven by an experienced driver than these new setups.  The new setups are, generally, more forgiving for inexperienced drivers and, within a given chassis type, have a more consistent "feel" from track to track.


9. FORCE FEEDBACK SUPPORT
----------------------------

It is possible to enable force-feedback steering by adding the following lines to core.ini:

[ Joy ]
allow_force_feedback = 1    ;


Additionally, there are (of course) some things to fiddle around with.  Three other lines can be added--these are the default values used if these lines are missing:

force_feedback_latency = 0.085               ; in seconds
force_feedback_damping = 40.0                ; magic number
max_steering_torque = 225.0                  ; in Newton-inches (???!!@#)

force_feedback_latency can be used to try to reduce the lag in force buildup.  If you swerve back and forth at speed, you might notice that the force does not seem to match what the car is doing--it is a little out of phase.  The default value seems to work best with the Microsoft wheel, other wheels may require some tweaking.  Generally, the lowest number that works for you is probably best.  Try 0.0, then move it up if the force seems out of phase.  If you set it too high, you will begin to get unwanted spikes in the force levels.

force_feedback_damping can be used to counteract the unwanted spikes. Guidelines for this number?  Try anything from 0.0 to several hundred, maybe, but this also causes jumpiness if raised to excess.

max_steering_torque is the level of torque actually computed in the game that will give the maximum force level on the device.  Setting this to a higher number will reduce the force you feel.  Setting this lower will increase the forces you feel, but will tend to clamp them, so you will not feel the car loading up on a hill, etc.  Sorry about the bogus units (although they are at least a unit of torque).


10. CONTACTING SIERRA
----------------------------

A) Customer Service, Support, and Sales
B) Technical Support
C) Legal Information


A) Customer Service, Support, and Sales
----------------------------------
United States	

U.S.A. Sales Phone: (800) 757-7707
International Sales:  (425) 746-5771 
Hours: Monday-Saturday 7AM to 11 PM CST,
Sundays 8 AM to 9PM CST 
FAX: (402) 393-3224	
	
Sierra Direct				
7100 W. Center Rd			
STE 301				
Omaha, NE  68106			

United Kingdom

Havas Interactive 	
Main: (0118) 920-9111
Monday-Friday, 9:00 a.m. - 5:00 p.m.
Fax:   (0118) 987-5603
Disk/CD replacements in the U.K. are £6.00,
or £7.00 outside the UK. Add "ATTN.: Returns."

2 Beacontree Plaza,			
Gillette Way,				
Reading, Berkshire			
RG2 0BS United Kingdom		


France
Havas Interactive 
Téléphone: 01-46-01-46-50
Lundi au Jeudi de 10h à 19h
Vendredi de 10h à 18h
Fax: 01-46-30-00-65


Parc Tertiaire de Meudon		
Immeuble "Le Newton"		
25 rue Jeanne Braconnier 		
92366 Meudon La Forêt Cedex
France


Germany

Havas Interactive  	
Tel: (0) 6103-99-40-40
Montag bis Freitag von 9h - 19Uhr
Fax: (0) 6103-99-40-35

Robert-Bosh-Str. 32			
D-63303 Dreieich			
Germany


On-Line Sales
CompuServe United Kingdom:GO UKSIERRA
CompuServe France:	  GO FRSIERRA
CompuServe Germany:  	  GO DESIERRA
Internet USA:		  http://www.sierra.com
Internet United Kingdom:  http://www.sierra-online.co.uk
Internet France:  	  http://www.sierra.fr
Internet Germany:	  http://www.sierra.de

Disk and or Manual Replacement:		

Product Returns:
Sierra On-Line Returns
4100 West 190th Street
Torrance, CA  90504

Sierra On-Line Fulfillment	
4100 West 190th Street		
Torrance, CA  90504				
		
NOTE: To replace your disk(s) please send only Disk #1 (or the CD) and copy of your dated Receipt, if less then 90 days.  After 90 days please include a $10 handling fee along with Disk / CD #1.  For Documentation, please include a $ 5.00 handling fee and a photocopy ONLY of disk #1.  Payment should be made at the time of your request.  Sorry, no credit cards.	

* Returns to this address valid in North America only.


B) TECHNICAL SUPPORT
-------------------------
North America

Sierra On-Line offers a 24-hour automated technical support line with recorded answers to the most frequently asked technical questions. To access this service, call (425) 644-4343, and follow the recorded instructions to find your specific topic and resolve the issue. If this fails to solve your problem, you may still write, or fax us with your questions, or contact us via our Web site.

Sierra On-Line				
Technical Support
P.O. Box 85006			
Bellevue, WA 98015-8506	

Main: (425) 644-4343
Monday-Friday, 8:00 a.m.- 4:45 p.m.  PST 
Fax:   (425) 644-7697

http://www.sierra.com
support@sierra.com


United Kingdom

Havas Interactive offers a 24-hour Automated Technical Support line with recorded answers to the most frequently asked technical questions. To access this service, call (0118) 920-9111, and follow the recorded instructions to find your specific topic and resolve the issue. If this fails to solve your problem, you may still write, or fax us with your questions, or contact us via our Internet or CompuServe sites.

Havas Interactive 	
2 Beacontree Plaza,			
Gillette Way,				
Reading, Berkshire			
RG2 0BS United Kingdom	

Main: (0118) 920-9111
Monday-Friday, 9:00 a.m. - 5:00 p.m.
Fax:   (0118) 987-5603

http://www.sierra-online.co.uk


France

Havas Interactive 
Parc Tertiaire de Meudon		
Immeuble "Le Newton"		 
25 rue Jeanne Braconnier		
92366 Meudon La Forêt Cedex	
France

Téléphone: 01-46-01-46-50
Lundi au Jeudi de 10h à 19h
Vendredi de 10h à 18h
Fax: 01-46-30-00-65

http://www.sierra.fr


Germany

Havas Interactive 
Robert-Bosh-Str. 32			
D-63303 Dreieich			
Deutschland				

Tel: (0) 6103-99-40-40
Montag bis Freitag von 9 - 19Uhr
Fax: (0) 6103-99-40-35
Mailbox: (0) 6103-99-40-35

http://www.sierra.de


Spain

Havas Interactive 
Avenida de Burgos 9			
1º-OF2					
28036 Madrid
Spain

Teléfono: (01) 383-2623
Lunes a Viernes de 9h30 a 14h y de 15h a 18h30
Fax: (01) 381-2437


Italy

Contattare il vostro distribotore.	


C) Sierra Warranty & Legal Information
-----------------------------------
You are entitled to use this product for your own use, but may not copy, reproduce, translate, publicly perform, display, or reduce to any electronic medium or machine- readable form, reproductions of the software or manual to other parties in any way, nor sell, rent or lease the product to others without prior written permission of Sierra.  You may use one copy of the product on a single computer.  YOU MAY NOT NETWORK THE PRODUCT OR OTHERWISE INSTALL IT OR USE IT ON MORE THAN ONE COMPUTER AT THE SAME TIME.
UNAUTHORIZED REPRESENTATIONS: SIERRA WARRANTS ONLY THAT THE PROGRAM WILL PERFORM AS DESCRIBED IN THE USER DOCUMENTATION. NO OTHER ADVERTISING, DESCRIPTION, OR REPRESENTATION, WHETHER MADE BY A SIERRA DEALER, DISTRIBUTOR, AGENT, OR EMPLOYEE, SHALL BE BINDING UPON SIERRA OR SHALL CHANGE THE TERMS OF THIS WARRANTY.
IMPLIED WARRANTIES LIMITED: EXCEPT AS STATED ABOVE, SIERRA MAKES NO WARRANTY, EXPRESS OR IMPLIED, REGARDING THIS PRODUCT. SIERRA DISCLAIMS ANY WARRANTY THAT THE SOFTWARE IS FIT FOR A PARTICULAR PURPOSE, AND ANY IMPLIED WARRANTY OF MERCHANTABILITY SHALL BE LIMITED TO THE NINETY (90) DAY DURATION OF THIS LIMITED EXPRESS WARRANTY AND IS OTHERWISE EXPRESSLY AND SPECIFICALLY DISCLAIMED. SOME STATES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
NO CONSEQUENTIAL DAMAGES: SIERRA SHALL NOT BE LIABLE FOR SPECIAL, INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF SIERRA IS ADVISED OF OR AWARE OF THE POSSIBILITY OF SUCH DAMAGES. THIS MEANS THAT SIERRA SHALL NOT BE RESPONSIBLE OR LIABLE FOR LOST PROFITS OR REVENUES, OR FOR DAMAGES OR COSTS INCURRED AS A RESULT OF LOSS OF TIME, DATA OR USE OF THE SOFTWARE, OR FROM ANY OTHER CAUSE EXCEPT THE ACTUAL COST OF THE PRODUCT. IN NO EVENT SHALL SIERRA'S LIABILITY EXCEED THE PURCHASE PRICE OF THIS PRODUCT. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.
Copyright (1999 Sierra On-Line, Inc.)  


