                             LP-Editor version 4.0
                           =========================

*************************************
  USER'S GUIDE TO THE PROGRAM:
*************************************
  1. Initializing.
  2. The editor's window.
  3. How to navigate through graphs?
  4. Editing procedure.
*************************************



1. INITIALIZING.
=================

After you entered into the program, and selected game type, you have to
choose from the track list a track to edit. If you are SURE that you have
every file and directory in the right place, and program says that something
is missing, or wrong, then EXIT! This only happens when the memory is not
enough, and the system could not recognized and signed it, and kept up the
work. The <ESC> key is available for exit.

In NASCAR Racing 2, there are some additional tracks for night races. These
are: NBRISTOL - Bristol at night
     NCHRLTTE - Charlotte at night
     NRICHMND - Richmond at night
These tracks has the same LP-files as the original "day race" tracks. You
will edit the original tracks' (Bristol, Charlotte, Richmond) LP-files by my
program, and after it you have to manually copy the files to the night race's
directory.

If there are some pre-saved TXT-files in the track's directory, program will
ask you if you want to use LP-files or TXT-files. If TXT-files not exist it
will keep on automatically loading LP-files.

You should have LP-files too for work, only TXT-s is not enough. If you
choose TXT-s but you have not got some of them, the program will
automatically switch to LP-s again. If you want to edit TXT-files, be
careful: use commas to divide values and keep up the file's original shape
(column widths). If you selected LP-s, the program will check the existing
of all the 9 LP-files. (NASCAR 2 use 10 LP-s) If some of them is missing
you can create a new one. In that case you have to tell the program, how long
is that file, how many records are contained in it. You can also create all
the LP-files newly.

The program always uses the track length data, stored in the 'race.lp' file.
If this file is missing but you have the others, you should make the
'race.lp' file by reading the length data from other LP-files by using a
HEX-editor. In this case see LPINFO.TXT for LP-file data infos, how should
identify datas in these files. When my program creates a new file, this will
be filled up with some ow values, so the program will not crash because of
calculating from zero values.



2. THE EDITOR'S WINDOW.
========================

After the program loaded the files it will draw up the datas to the screen
in a window in three color graphs. First is the cross position on the track,
second is the speed, and third is called "coriolis". On the left-hand side
there is another window, where from top to bottom you can see these infos:

Under the track's indicator you can see which LP-file is the actual one. You
can switch between LP-files by the function keys, as shown on the screen.

Under these there is an indicator, which shows the longitudinal position and
the track's length in the number of records. The "distance" number represents
the distance from the start/finish line in special UNITs. One UNIT means
about 11 feet in length, and one record in LP-files represents one UNIT
on the track. The first and also the last record represents nearly the
start/finish line on the track. You can "move" on the track by the <ARROW>
keys, and move faster by the <PGUP>, <PGDN>, <HOME> keys.

Next indicator shows the laptime [sec], top speed and average speed [mph] on
the track by the actual LP-file. You can ask the program to calculate out
these values by pressing the <END> key. It is not automatically, because
the program is faster in this way.

After this indicator, you can see a larger block, where you can see the
actual record's values, and during editing you can see here your newly typed
values, each for the position or speed or coriolis fields.

Under this there is a small window, where you can see your actual setups. The
INCREMENT keyword shows, which digit will be update in the numbers during
special editing, which called "Increase" function. This could be switched by
the <[>, <]> keys. STEP keyword shows, that after editing a record, where to
will the program step automatically - one record forward/backward or it stays
in one place, and you have to move manually to the next record. This function
can be switched by the <TAB> key. ANIMATE keyword is some kind of indicator
like a VCR have. It is used only under the "Animate" section. This could be
started by the <ENTER> key.

At the bottom there is the block, which shows a little logo, so you cannot
forget which program you are using, and shows the game's type, so you cannot
forget which game is being edited.



3. HOW TO NAVIGATE THROUGH GRAPHS?
===================================

SPEED:
  The SPEED graph simply shows the ideal speed in [mph], which AI-cars try
  to reach at that point of the racetrack; if it is too much in a corner they
  maybe spin out. Here you can edit the AI-cars' acceleration.

POSITION:
  The POSITION graph shows the transversal position in [ft] of cars on the
  track. The more positive position means that car drives on the left, and
  more negative position means that car drives on the right. On an ideal
  track, the zero position should be represents the center-line. BUT THERE
  ARE ONLY A FEW TRACKS OF ALL WHICH ARE IDEAL!
  If this graph is nearly constant, the car drives on a straight line. If
  this looks something like a sinus wave, the car is probably in a long
  corner, or just change the side to prepare for the next corner . If the
  sinus wave is transferred to a narrow "peak", the car is probably in a
  sharp corner. The corner's type mainly depends on the actual speed values.
  A left-hand corner is a "hill", and a right-hand corner is a "hole" in the
  graph. You should know well enough the tracks to identify what kind of
  moving you see on this graph; the best would be if you had a track-map.
  A good cornering produces a nice sinus wave in the graph (car moving from
  one side of the track to the inside of the corner, and back - but you can
  see on the included PCX-image, that a bad cornering produces a similar
  graph to the sinus, so be careful).

CORIOLIS:
  The CORIOLIS graph shows the coriolis force, probably. It is positive
  when car comes closer to the centerpoint of a corner, and negative when
  car moves farther from it. In straights, this value should be zero, or
  unsignificantly low. I THINK these values do NOT need updating, but I have
  an idea, which I have not try: In the NR1 game in corners cars drive
  virtually that they spin all around the corner. The back of the car is
  cornering on a little larger radius. Maybe right coriolis force values will
  stop this effect. About coriolis force see the LPINFO.TXT file.



4. EDITING PROCEDURE.
======================

TYPING: You can edit graphs by pressing the <P> / <S> / <C> keys in this
  order: position - speed - coriolis. After it you can enter a new value into
  the selected graph's selected record. When you type a new data into the
  record, you can use the <BACKSPACE> key if typed something wrong. Also
  program does not allow you to type stupid values into the records. The
  <ESC> key is available for exit.

  Because of a one thosands difference, caused by calculating from datas in
  LP-files into an understandable value, you can see only two low digits in
  numbers. If you are typing a number perfectly in three low digits, the
  program will store it - just does not show it. During editing you can use
  the STEP function, which help you saving some time.

INCREASE: By this function you can update graphs by see changings in-time,
  instead of typing each value. You have to select a graph by pressing the
  <ALT> + <P> / <S> / <C> keys for position - speed - coriolis graphs. In
  this way you can increase/decrease the actual value by pressing continously
  the <> / <> arrow key. You can select which digit you want to adjust, by
  pressing the <> / <> arrow key. Your setup is shown on the screen in the
  bottom box. Before using this function setup the screen to see well the
  desired section of the graphs.

STEP: You can call the program to step to next/previous record automatically
  after editing a record by pressing the <TAB> key. Your selection will be
  shown in the bottom box at the "AutoStep" keyword.

  For exmaple, you want to edit continously speed values. Set STEP to
  forward, and select speed graph by <S>. Adjust speed value and press
  <ENTER> when finished. Program will step to the next record, and takes you
  again to the speed field, so you save time with pressing two less keys.
  Adjust speed values until you want, then press <ESC>, if you finished or
  want to edit another graph. Do not forget to switch STEP, if you want to
  move on the graphs manually during editing.

COPY: You can copy datas from one file's one graph to another or the
  same file's same type graph to any position, by pressing the <INS> key.
  Procedure can be followed on the screen too. First you have to switch the
  source file, and stop on the record, which you want to be the start of
  selection. Then you have to choose, which graph would you like to copy.
  After it, you should move on the graph, to select the end record of the
  selection, and press again <INS> key. You cannot move backward, and cannot
  "cross" the last record. After this you should select, which file would
  you like to copy to. After it you can see the selected file's graphs, and
  you have to select the starting position where to put new datas, by moving
  on the graphs. <ESC> key is always available. It is not such complicated
  after some practice.

  If you want to copy a whole graph to another file, you have to step onto
  the first record, select the whole graph by moving foreward until the last
  record. After selecting the file, where to put datas, step again onto its
  first record, and finish copying.

FILL: You can fill up a range on a selected graph with a specified value,
  by pressing the <DEL> key. For example, if you want a car to drive on a
  straight line you do not have to type more times the same value in the
  position graph, just use the FILL option. Procedure is just like the COPY,
  so after some practice I am sure it will not be difficult.

  If you type letter "R" AFTER the specified value, your filling will not
  be a constant value but a relative difference to the original values in
  the selected data range, so you can add a specified value to the original
  ones in the selected range. For example: "-120.5R" means xxx-120.5

  If you type letter "M" AFTER the specified value, you will fill the
  selected range by the specified value*original value, so you can multiply
  the original values easily by a constant number. For example: "0.98M"
  means xxx*0.98 >>> equals to: 98% of xxx.

  If you type letter "I" AFTER the specified value, you will fill the
  selected range by increasing values. The increment step will be the
  specified value, and the initial value will be the value stored in the
  selection's first record. If it is positive, numbers will raise, if it is
  negative, numbers will decrease. For example: "0.45I" means
  xxx+(i*0.45); i=0,1,2,3,...,n.

CALCULATE: This function starts by the <END> key. My program uses a simple
  trapezium integral for calculating. The result should be equal to the
  AI-cars' laptimes in the game, if you setted the opponents' strength to
  100% and "RELS 100" in the track's TXT-file. However in some tracks (i.e:
  New Hampshire) during qualifying the game's times does not match with my
  calculations. I do not know why. Maybe on oval courses the game uses a bad
  calculation, or the track's TXT-file is incorrect. Therefore I can only
  say, that the laptime is calculated by my program, is an ideal qualifying
  lap's result, and will NOT match with the game SOMETIMES.

ANIMATE: You can watch each LP-file as a real-time animation, by pressing the
  <ENTER> key. You can see a car from back, as moving across the track. The
  program calculates out the track's boundaries from the 'race.lp' file on
  unknown tracks - on known tracks it uses constants. This is because there
  are some tricky tracks, e.g. Mid Ohio, where in the start/finish straight
  the centerline is not placed on the center of the track. Therefore at that
  points of the track the animated car will run off the track. Most of the
  tracks are not ideal, so the centerline is not mean zero position, but
  there are some tracks where track's width is changing too. Tracks with
  known bugs:

  ICR2: Australia: wide first and second chicanes
        Cleveland: terrible centerline and fastly changing width all
                   over the track
        Laguna Seca: wide start/finish straight
        Mid Ohio: terribly wide start/finish straight
        Portland: wide start/finish straight
        Toronto: wide start/finish section

  NR1: Phoenix: wide last corner
       Pocono: wide last corner
       Sears Point: wide start/finish & back straight
       Watkins Glen: wide last corner & start/finish straight
       Wilkesboro: wide start/finish straight

  NR2: Phoenix: wide first corner
       Sears Point: wide start/finish & back straight
       Watkins Glen: wide last corner; back chicane is virtually wide
                     because it is programmed as a straight section

  Engine sound is supported, but if you do not like it, you can switch on/off
  it by the <S> key. You can do fast wind or rewind like on a real VCR, by
  pressing the <> / <> keys. You can continue the animation after pressing
  again the <ENTER>. This function starts from the actual record, and takes
  you back to editing at the record where you stopped animation by the <ESC>
  key.

EXIT: At the end, program will offer several ways for exiting. At the end
  you can choose if you want to create TXT-files from your work or not; if
  you want to save your work into LP-files or not.



Have a good time with editing and after racing.



--------------------- from the author :

Sziksz Rbert, as Sierra.  -  e.szikszo@sc.bme.hu
Technical University of Budapest (BME), Hungary.
1997.nov.10.