[comp.sys.amiga] Info on Ferrari Formula One File Structure

tensi@lan.informatik.tu-muenchen.dbp.de (Thomas Tensi) (05/02/89)

Hi,

some time ago I asked if somebody knew the format of the files for the Ferrari
Formula One game.

Bernie Cosell (cosell@wilma.bbn.com) [thanks, Bernie] directed me to a survey
by Mark Kyprianou (kyp@stsci.EDU) which was posted about a year ago.

I tried to complete the information on the so-called "*.ses" files which
describe the current standings in a season and the drivers' and cars'
characteristics. Nevertheless I couldn't find out everything as I did't dive
into the machine code but only checked it out by experimenting.

I also couldn't get any hints on the track files structure. I guess the
panorama view in the upper half of the game is run length encoded, but I keep
on trying, because I want to change the courses (additional s-bends).

Maybe some other guy can give hints on that.

By the way: does the game run faster (e.g. in real time) on 68020 machines?


         Greetings from Germany,


Thomas Tensi, Institut fuer Informatik, Technische Univ. Muenchen,
Arcisstr. 21, 8000 Muenchen 2, West Germany
        | E-Mail:
        | tensi@lan.informatik.tu-muenchen.dbp.de                (X.400)
        | tensi%lan.informatik.tu-muenchen.dbp.de@relay.cs.net   (arpa/csnet)
        | tensi%lan.informatik.tu-muenchen.dbp.de@unido.uucp     (uucp)
        | tensi%lan.informatik.tu-muenchen.dbp.de@ddoinf6.bitnet (bitnet)

-- FERRARI FORMULA 1, "ses" file format
-- <> indicates a nonterminal, "--" a comment,   []  a footnote;
-- obviously blanks in file act only as separators, number is not significant;
11              -- unknown
1               -- unknown
formula <num>   -- <num>::= 1 | 2 | 3    -- formula driven
<xx>            -- number of next race (1=rio, 2=jerez ...)
-- now (<xx>-1) lines of points the 8 drivers achieved in previous races
  <a> <b> <c> <d> <e> <f> <g> <h>      -- points for first race
               . . .
-- now 8 lines (driver entries) of the form
<AA> <BBBBBBBBBB> <CCCCCCC> <D> <E> <FF> <GGG> <HHH> <III> <JJ> <KKKKKKK>
--********************************************************************
--*********************     drivers entries    ***********************
--********************************************************************
--| <AA>        driver's number (0..99)
--| <BBBBBBBBB> driver's name (max. 9 letters)
--| <CCCCCCC>   driver's country (max. 7 letters)
--| <D>         colour of car's wheel caps and labels on body (0..7, see below)
--| <E>         car's body colour (0..7, see below)
--| <FF>        colour of driver's entry in season overview (0..15, see below)
--| <GGG>       driver's and car's ability [a]
--| <HHH>       car's ability    (???) [b]
--| <III>        
--| <JJ>
--| <KKKKKK>
--|************************
--|  colour codes used for <D> <E>  (3 bit, dual playfield mode):
--|
--|  0=black,       1=blue,  2=yellow,        3=dark green,  
--|  4=gras green,  5=red,   6=asphalt grey,  7=white
--|
--|  colour codes used for <FF> (4 bit screen, obviously not all colours
--|  used):
--|
--|   0=black,       1=dark grey,    2=black,     3=black,
--|   4=light grey,  5=dark green,   6=dark red,  7=orange,
--|   8=black,       9=light grey,  10=black,    11=black,
--|  12=white,      13=light green, 14=yellow,   15=orange
--+---------------------------------------------------------------------
start    <date> <time>     -- start of game, 1st practice day at Fiorano
curtime  <date> <time>     -- actual game time when this file is loaded
--********************************************************************
--******************** date and time format **************************
--********************************************************************
--| <date> ::= <month>/<day>/<year>    -- numerical notation
--| <year> ::= 86                      -- I didn't check, if this is necessary
--| <time> ::= <hour>:<minute>         -- 24 hour notation
--+---------------------------------------------------------------------
-- now several 9-line entries of the form
track <track file name> <LLL> <MMM> <N> <O> <P> <QQ> <RR>
<track name>                 -- internal name of track
goto   <date> <time>         -- arrival date and time
pract1 <date> <time> <time>  -- date, start and end time of first practice
qual1  <date> <time> <time>  -- date, start and end time of first qual.
pract2 <date> <time> <time>  -- date, start and end time of second practice
qual2  <date> <time> <time>  -- date, start and end time of second qual.
warmup <date> <time> <time>  -- date, start and end time of warmup
race   <date> <time> <time>  -- date, start and end time of race
--********************************************************************
--********************** track parameters [c] ************************
--********************************************************************
--|   <LLL>  x-coordinate in pixels on airplane world map  (0..319)
--|   <MMM>  y-coordinate in pixels on airplane world map  (0..199)
--|   <N>    continent (well :-)   for calculation of travel time
--|             1=Europe,  2=N.America,  3=S.America,   4=Asia,  5=Australia
--|   <O>    country  (well, San Marino and Italy count as one...) for 
--|             calculation of travel time  (arbitrary number)
--|   <P>    ???
--|   <QQ>   ???
--|   <RR>   ???
--+---------------------------------------------------------------------
end <date> <time>            -- end of file marker

--********************************************************************
--************************   FOOTNOTES  ******************************
--********************************************************************
--| [a] this number gives the driver's and car's performance; the
--|     qualification time is approx. indirectly proportional to that
--|     number (with some random offset) : t1/t2 = G2/G1; as soon as you
--|     have a valid qualification round, the times get adjusted with
--|     t=b+m/G (m, b are some track constants);
--|
--| [b] this number is specific for a certain car make or team (both
--|     Williams and McLaren drivers have identical numbers); I don't know
--|     if this is for car ability or some info on failure probabilities of
--|     car's parts (as the numbers vary very much, I guess it's a set)...
--|
--| [c] these parameters obviously only give information before the track
--|     is visited (e.g. position on world map, travel time); e.g. the flag
--|     shown on the race course tower seems to be coded into the track
--|     file...
--+---------------------------------------------------------------------