Introduction
------------

This is an all in one package of TORCS. Be aware that some included
artwork has non free (in the GPL sense) licenses, you will find a "readme.txt"
in those directories. The rest is either licenced under the GPL or the Free
Art license.

Non-Free content (in GPL sense)
-------------------------------
Here the list with the directories containing non free content, look at the
readme.txt for details:
- data/cars/models/pw-*
- data/cars/models/kc-*
- data/cars/models/vm-*


Linux Installation from Source
-------------------------------
- requires plib 1.8.3, FreeGLUT or GLUT.
- untar the archive
- cd into the torcs-1.2.3 directory
- ./configure (use --help for showing the options, of interest might be
  --enable-debug and --disable-xrandr).
- make
- make install
- make datainstall
- start with "torcs"

Command line arguments:
-s do not use multitexturing.
-d start with gdb and show a backtrace on crash (helps most combined with
   --enable-debug at configure time).

Windows Installation from Source
--------------------------------
- requires VC++ 6.0
- untar the archive into a path without whitespaces and special characters.
- cd into the torcs-1.2.3 directory
- run setup_win32.bat
- run setup_win32-data-from-CVS.bat
- open "TORCS.dsw" with VC++ 6.0, hit cancel for the missing projects.
- do not try to build a debug version, the projects are not set up!
- select the TORCS project and the w32-Release version
- compile project
- cd into the "runtime" directory.
- run "wtorcs.exe"

Windows Binary Installation
---------------------------
- unzip the archive
- cd into the torcs-1.2.3 directory
- run "wtorcs.exe"

Testing
-------
Please pick bugs below and retest them (you can find the original reports on
http://sourceforge.net/tracker/?group_id=3777&atid=103777, select "any" bugs to
see as well the closed ones). If you find problems which should be already
fixed or new ones please report them to the torcs-users mailing list.
Additionally it would be interesting to know if PPC and AMD64 builds compile
and run (I have no such boxes to try).

Getting Help
------------
During the game press F1. For more in depth information visit www.torcs.org,
you find there a lot of information, look at the documentation section on
the left, have as well a look into the list of howto's. If you are stuck
have a look into the FAQ to learn how and where to report a problem.

Have fun, bye

Bernhard.



Changes since 1.2.2
-------------------
- Better sound (Christos).
- New track (Christos).
- New and updated robots (Christos, Bernhard).
- New car (SpeedyChonChon).
- Lots of bugfixes (Eric, Bernhard).
- Option to disable sound (Bernhard).
- Optional "Compatibility" video init for broken GLUT/GLX/OpenGL drivers
  (Bernhard).
- Added -fPIC, are AMD64 builds now working out of the box (Bernhard)?
- ...


Changes since 1.2.3-bw-unofficial-test1
---------------------------------------
- Reintroduced gear switching flames (Bernhard).
- Fix/Retest track selection crash (Bernhard).
- Hunting lost open filehandles (done, all I have found so far and are caused
  by TORCS) (Bernhard).
- Updated open wheel car (Speedychonchon, Benrhard).
- Fixed championship saving bug (Bernhard, SF report by Eugen).
- Fixed mouse-scrolling crash (Bernhard, SF report by Frieder).
- Collision (wall of death), not perfect, but good enough for now (Bernhard).
- Timelimit in qualification (for robots only) (Bernhard).
- Remove too slow cars from races (for robots only) (Bernhard).


Changes since 1.2.3-bw-unofficial-test2
---------------------------------------
- Disabled outdated barrier normal computation in collide.cpp (Bernhard).
- Replaced glCopyTexImage2D with glCopyTexSubImage2D for mirror cam (suggested
  in NVidia's performance slides) (Bernhard).
- Fixed broken env map animation (caused by experimental changes in
  grvtxtable.cpp 1.12) (Bernhard, report by Eric).
- Add resolutions for windowed mode, so 320x240, 640x480 and 800x600 are always
  in the list if you have enabled xrandr (Bernhard).
- Set default optimization to -O2, was -O3 before (Bernhard).
- Updated Windows plib to 1.8.3 without multithreading (replaced /MT with /ML)
  (Bernhard).
- Fixed all warnings (level W2) for the windows build (please add "f" to
  constants if you mean float) (Bernhard).
- Update Windows project files/make it work in Windows (Bernhard).
- Backported a fix from berniw_2004 to berniw's (Bernhard).
- Fixed broken P406 counters (Bernhard).
- nfs2ac: Catched segfault if no argument is given (Bernhard).
- Added nfsperf project, fixes (Bernhard).
- Update windows bat files (add sounds, track, car, etc) (Bernhard).
- Compressed all RGB's to RLE compressed RGB's (disk usage -90MB!) with
  "find . -name "*.rgb" -exec convert -compress RLE {} {} \;"
- Reduced the resolution of a few textures (Bernhard).
- Fixed Formula 1 camera (Reported by Speedychonchon, Bernhard).


Changes since 1.2.3-bw-unofficial-test3
---------------------------------------
- Removed ssggraph_old dir (Bernhard).
- Preselect valid drivers for practice, non championship race, endurance race,
  etc (Bernhard).
- remove Olethros and grsound printf's (Bernhard).
- sorted out currently unneeded textures (Bernhard).
- removed corvette for now (would need major rework) (Bernhard).
- changed suspension and weight distribution settings of p406 (Bernhard).
- Fixed some "first time uninitialized values" for inferno 2-10 (Bernhard).
- Reviewed Inferno/Inferno 2004, no crash bug found (Bernhard).
- sorted out unneeded sounds (Bernhard).

Changes since 1.2.3-bw-unofficial-test4
---------------------------------------
- Disabled Olethros track_* file writing (Bernhard).
- Reworked Viper (new bottom, 1 sided polygons, fixed holes) (Bernhard).
- Some changes in Makefiles etc.
- released as 1.2.3.


TODO for unofficial 1.2.4
-------------------------
- Fix new introduced bugs.
- Fix more memory leaks (already hunt down a LOT there are still more).
- (Improve collision).
- Hunting lost open filehandles if any left.
- S3TC Option for all textures (with option).
- Scale down for all textures on load (user adjustable to improve performance).
- possibility of one pit for 2 cars of one module.
- Bugfixes and cleanup.
- (Add billy, astigot).
- Add cameras/update track format on/for several tracks (spring, alpine,
  e-track-1, aalborg, eroad, ...).
- solution for varying gl headers (include mesa headers into the source?)
- Smoke starts too high above ground, review?
- Sound performance problem (no facts, just a feeling at the moment, wait for
  feedback), review?
- merge berniw_2004 code into berniw's.
- Add validation for the case no driver selected, do not exit to
  console.
- (Sound did not work well with 40 cars, investigate).
- Integrate documentation into distribution?
- try to resolve "(null)" texture problem (seems to be in the model files).
- Make all sounds work (backport simuv3 -> v2, backfire, etc.).
- rework free car models (several holes, no emmissive color of lod (model
  becomes dark at a certain distance), single sided).
- fix driver list with more than 100 entries (number cut).

TODO for unofficial 1.2.5
-------------------------
- All the new and postponed stuff.
- make use of pbuffers to render mirror/trackmap if available.
- Add valgrind option to "torcs".
- Include suppressions file for valgrind.
- (Automate GL features verification).
- (Free camera controlled with mouse and keys).
- (Fix parallel build with make -j n, breaks currently in SOLID).
- Improve visual quality of some existing tracks (e.g. e-track-1, alborg, ...).
- Texture clamp to edge needs explicit setting in nvidia driver tab in windows,
  have a look into that (otherwise the border is not taken as color around the
  pit door, pits are quite dark around the logo).


TODO LATER
----------
- Fix more memory leaks (already hunt down a LOT there are still more).
- Replace vector/matrix oprations with an efficient implementation.
- SMP simulaton core (for myself).
- Replays.
- Setup editor (add a function to the robot interface to ask the robot
  about the location or a file handle for its setup file, perhaps a
  close function is needed as well).
- Telemetry recorder/viewer.
- Networking (2.0).
- SDL Port.
- Sound OpenAL.
- Installer/packages.
- Redesign/Reimplement multitexturing and fileformat.
- Apply light maps to skid marks, smoke and wheels, etc.
- Phong specular highlights (optional env, cube or GLSL).
- Shadowmapped/Stenciled dynamic car shadows.
- Compile/crosscompile on MinGW/Cygwin/Linux for Windows native.
- so/dll with libtool, common code?
- 3d-grass.
- Dynamic sky.
- Pace car and trucks to remove wrecks (remove "virtual" crane).
- More Rules.
- TRB integration.
- Fix/create new simu/switch to updated/new simu.
- (clean up simuv3 conflicts)
- Show just fitting resolutions for fullscreen/change for windowed mode.
- Make it possible for a robot module to carry any arbitrary number of
  drivers (instead of static 10).
- Solve problem of wheels cutting the car body (stencil?).
- Nicer Tires, a bit more round, better lighting.
- Separate components more clean (e.g. ssgInit should go back to
  ssggraph, etc.)
- persistent skidmarks (simply put them back into the shadowmap after
  the race? Extra texture? Just restore them?), restore function.
- Make Windows debug build work.
- Fix windows project such that it compiles in all locations (currently it
  fails if special characters are in the path).
- Avoid cameras cutting the landscape.
- Rework models (holes, just single sided polygons for culling, etc.)
- Check (and fix if neccessary) screenshots on Windows, still wrong gamma?
- Fix border transparency (fences, pit barrier -> rename "trans-*"?).
- API to change setup during the practice mode.
- Timed races (e.g. 24h).
- Allow more mouse events /suggested by Frieder -> mouse wheel for gear
  switching).
- lighting of wheels broken on right side (check normals)?
- Start position marks on track (same technique like fake shadow, skids).
- Start procedures (pace car, etc).
- Better transparency for track objects.
- More driving aids, switch to AI and back.
- localization (e.g English, French, German, ...).
- add compatibility lib for strndup etc. on win32.

IDEAS FOR MUCH LATER
--------------------
- Weather.
- Dynamic day/night-time, car lights with projective texturing.
- Pit crew.
- Dynamic "intelligent" Objects (e.g. Helicopter)
- Solid/dynamic obstacles.
- Nicer trees etc, terrain LOD.
- Inside view.
- Animated driver.
- Dirt on cars, inside view.
- free terrain.
- Open track dynamically generated when driving.
- Random track generator.
- Separate pit path, Y segments, etc?
- TORCS as benchmark or screensaver?
- Switch to rigid body engine?
- Force feedback.
- (Compressed data files?)


