      __  _   ____   ____    __  __  __       _____           ___  ___  __ 
     |  \| | |  __| |  __|  |  ||  ||  |     |  ___|         |  _|| _ ||   \
     | \ \ | |  _|  |__  |  |  ||  ||  |     | |___  /\| |/- | |_ |   || | |
     |_|\__| |_|    |____|  |__||__||__|     |_____| \/\ |   |___||_|_||___|
-------------------------------------------- Chris' Crazy Car Factory of Fun -
Version 1.3                                                 By Chris Barnard
30th January 1999

* NOTE: Make sure you read EVERYTHING in the 'New to this version' section! *

This is the fourth release of NFSIII Car CAD (originally known as Car Editor).
It is specifically designed for editing 'FCE' files, which can be extracted
from car 'VIV' files in NFSIII.
Please make sure you read this entire document before emailing me with
questions. If you're already using an older version of the editor, then make
sure you at least read the 'New to this version' section (below), and the
'Known bugs' sections.
For ease of creation, this program was written entirely in Visual Basic,
and so is not a very high-performance program. I am slowy introducing more
optimisation code.
PLEASE make sure you read this entire file before you email me. Any questions
I can answer should be in here somewhere.


Requirements
============

As far as I'm aware, you just need these two files to run CarCAD.

     - MSVBVM50.DLL run-time library.
     - COMDLG32.OCX

DirectX6 is required for the FCE Viewer.

       All of these files should be in your WINDOWS\SYSTEM directory
       and *should* be available from the Microsoft home page, but they
       might already be on your system (they are used quite frequently).

       If not, you can download the DLL files required from NFSCheats
       (www.nfscheats.com) on the Hot Downloads page.
       I currently have COMDLG32.OCA and COMDLG32.OCX on my page under the
       downloads section.

       There should be a link to this file in the downloads section.

Note: Some of the ways things are done in the program can be a bit clumsy and
      slow. My priority is to make everything work at the moment, and improve
      the user interface once it all runs properly. It's better to have big
      feet than none at all (if you get what I mean).


The very latest version of Car CAD is available from:

        www.btinternet.com/~bitsandpieces/nfs3

you can also try Camelot Systems:

                        camelot.warzone.com

The editor is also on www.NFSCheats.com on the 'hot downloads' page.

PS. I know I said in this document not to use my email address unless you
really have to (bitsandpieces@btinternet.com), but if you use the program
and like it, I would like to hear from you. Thanks.

*******************
New to this version - Read this: it contains usage and technical notes
*******************              (very important!!!)

     If you've used CarCAD before, the best new feature can be found by
     loading an FCE file and clicking on the 'View'->'Editing Window' menu
     option.
  1. One of the major updates to this version is vertice and triangle adding/
     removing. The remove functions have not been entirely tested, but they
     appear to work (don't trust them, though). I've included an example file
     of a pickup truck that shows that it does work - it's the '60s pickup
     truck (used for traffic), with a proper back that is sunk in (instead of
     just a flat surface).
     To add points, you need to open the Editing Window (from the 'view').
     Currently, adding this stuff is quite tricky (not for the faint hearted)
     - but it is possible.
     The two buttons in the Editing Window (V and T) select 'V'ertice or
     'T'riangle editing, and are just used to display two different sets of
     editing options. You can select triangles and vertices from this window
     - clicking on different triangle numbers will temporarily highlight the
     triangle selected (you cannot just click on a triangle with the mouse).
     Anyway - adding vertices is pretty simple; just click on the 'Add
     Vertice' button in the 'Vertices' section of the Editing Window.
     Note: The vertices always appear at the centre of the object (0,0,0). If
     you create two vertices on top of each other, you can still move them
     individually by entering values for their X, Y and Z coordinates, or by
     deselecting one of the points, by unchecking the 'Selected' option in
     the editing window (with the correct vertice highlighted)
     ***** ADDING TRIANGLES *****
     This is very rudimentary, but it works.
     First, select three vertices - make sure you ONLY have THREE selected, or
     you won't be allowed to add the triangle. The three vertices you have
     selected will make up the three points for the triangle. Next, select the
     'Triangles' section in the Editing Window (click on the 'T' button), and
     click on the 'Add Poly' button. If all goes well, you will be told which
     vertices are being used to make up your triangle, and the polygon should
     appear. Here comes the CATCH... 3D triangles have a side which is
     visible, and a side which is not (it is see-through on one side).
     The method used to work out which side is visible is defined by the order
     of the vertices. I won't go into details, but basically, there's a 50/50
     chance that the triangle you added won't be visible from the right side.
     DON'T PANIC - if this happens (use the FCE Viewer to see), click on the
     'T' button in the editing window, select the triangle which is facing the
     wrong way, and look at the numbers I1, I2 and I3 - these are the indexes
     for the vertices used to make up the triangle. All you have to do to sort
     out the problem is swap two of the indexes around - it doesn't matter
     which two, just click on the text boxes and enter the values manually.
     Then, don't forget to click the 'Apply' button. The triangle should now
     be facing the right way.
     Catch #2: The texture map (UV) values for each triangle are set to 0 when
     the triangle is created - you will have to enter the UV values manually
     (sorry - this is very tricky and takes a lot of practice). See if you can
     work it out - I'll try to release a new editing guide that explains
     everything as soon as possible.
  2. You can save parts to disk and insert them into FCE files from the 'File'
     menu - (pretty self-explanatory). The parts can be saved as either binary
     files, or text files (which can be edited with notepad). Hopefully, the
     text file format is pretty self-explanatory, but I'll release some
     instruction of how the part files work at some point.
  3. I think I've fixed the 'Unexpected Error' bug - my installation of VB was
     a bit messed up, and the files I used to compile the program were older
     versions. I've now recompiled everything on a fresh installation.
  4. The FCE Viewer program that comes with CarCAD is a simple DirectX program
     that allows you to quickly view the car in 3D. I will eventually make
     this standalone program part of CarCAD, but I want to see if it's free
     of bugs before I put it in (DirectX can be a *bit* temperamental at
     times...). I find the best way to edit cars is to load up CarCAD and
     FCEView, then you can make alterations, save them to disk and click
     on the 'Reload' button in FCEView to update the 3D view.
  5. The new 3D wireframe view in CarCAD will eventually be replace by
     Direct3D, but it's useful for quickly viewing the car, and if you can't
     get FCEView to run. One thing to note is that it doesn't display
     perspective correctly - car parts further away from the car don't get
     smaller (as they should do) - this give the optical illusion of making
     the car seem bigger at the back (the point furthest from the screen)
     than at the front - remember that this isn't really the case, so you
     shouldn't go making things smaller because it all looks out of
     proportion.
  6. The TGA loading routines are a bit of a cheat - I made a quick TGA to BMP
     converter, that I use to load a TGA file, save it to a temporary bitmap
     file, and then just load the bitmap file as before (this all happens
     automatically). There shouldn't be any problem with this method, unless
     you are VERY low on disk space (the temporary bitmap is saved to the
     same directory as CarCAD).
  7. Hopefully, I've fixed all the bugs that were present in earlier versions.

*******************
Known Bugs          (more important information!!!)
*******************
- First of all, be very careful when using the program - there are lots of
  things you could do that would cause the program to crash, so just take it
  easy, and make sure you save your car at regular intervals.
- I've had some problems with cars that are created from scratch in CarCAD,
  and also with cars that have had polygons removed or added. They seem to
  work fine in-game, but if you attempt to load them into EA's CarTool, they
  can cause a few problems. Usually, CarTool will load, but if you attempt
  to use the editing modes (such as the vertex and normal editors) - it will
  crash. The only way to sort this out is to keep loading CarTool until it
  doesn't crash - it seems that after a while, the problem clears itself
  (somehow!), so all I can suggest is that you keep trying different editing
  modes, cycling through each option on the CarTool menu, until the program
  doesn't crash anymore.
- This isn't really a bug, but one major limitation of CarCAD is the UV
  texture map editing - it's not very easy to use. I'm just starting to
  write a texture remapping program that will create texture map UV data
  from scratch.

                            --------------------
Keys
====
There are three editor modes the part editor, vertice editor and dummy editor.
These modes are accessed from the 'Edit' menu.
Here are the keys for each editing mode.

Part Editor
-----------
     1  -  Move selected part along x-axis
     2  -  Move selected part along y-axis
     3  -  Move selected part along z-axis
           Holding down shift whilst pressing 1, 2 or 3 moves the part in
           the opposite direction.
     N  -  Name selected part
     R  -  Redraw screen
     +  -  Zoom in  (plus on numeric keypad)
     -  -  Zoom out (minus on numeric keypad)

Vertice Editor
--------------
     0  -  Show 3D view
     1  -  Show X-Y view
     2  -  Show Z-X view
     3  -  Show Z-Y view (I think that's the order)
     4  -  Show UV (texure map) view.
 Mouse  -  Select vertice (click on point)
           Holding down shift deselects a point
Cursor  -  Move selected vertice(s)
     D  -  Deselect all nodes
     S  -  Invert node selection
     R  -  Redraw screen
     +  -  Zoom in
     -  -  Zoom out
  PGUP  -  Scroll to the left across the screen
  PGDN  -  Scroll to the right across the screen
  HOME  -  Scroll up across the screen
   END  -  Scroll down across the screen

Dummy Editor
------------
     1  -  Show X-Y view
     2  -  Show Z-X view
     3  -  Show Z-Y view
 Mouse  -  Select dummy
Cursor  -  Move selected dummy
     N  -  Name dummy
  PGUP  -  Scroll to the left across the screen
  PGDN  -  Scroll to the right across the screen
  HOME  -  Scroll up across the screen
   END  -  Scroll down across the screen
                            --------------------

 Just a few notes about the program:

    - You can rescale objects by using the 'Rescale Model' option in the
      'Edit' menu. All parts that have a checkbox next to them will be
      rescaled by the percentages entered.
    - New files cannot be create at the moment. You MUST modify an existing
      file. Loading and saving of existing files should work fine.
    - There are three areas in the .FCE file format that have an unknown
      function - they are referred to as Reserved Area #1, #2 and #3 in the
      .FCE file format specifications from the FAQ at Hacked Speed III
      (camelot.warzone.com/hs3). If anyone knows what these are used for, please
      contact me (bitsandpieces@btinternet.com).
    - I will work on a .3DS file converter once I know how to create an entire
      file from scratch.

    - Use this program entirely at your own risk. I will not be held
      responsible for any damage it causes.

History
=======
V1.3  30th January 1999
    - 'Unexpected Error' bug fixed?
    - FCE Viewer Direct3D program in archive
    - TGA file loading
    - Wireframe 3D view added
    - Node/Triangle adding (very simple)
    - Ability to create files from scratch (a bit dodgy)
    - Editor Window added
    - 'Extract Part' command (allows you to save parts to disk)
    - 'Insert Part' command (load parts saved with Extract Parts command)
    - Various minor bugfixes
    - A whole new set of bugs implemented (probably)
V1.2  17th January 1999
    - Car colour editor added (colours aren't quite accurate, though)
    - Tool Window included on right-hand side of screen.
    - Texure map UV editing added.
    - Copy Part command (Edit->Copy Part: Not very useful though)
    - Dummy add/removal.
    - Fixed minimize bug (minimizing the window caused a crash!)
    - Redraw key added (press 'R' to redraw screen)
    - 'Sure you want to quit?' message.
V1.1  6th January 1999
    - Fixed bug that only allowed editing of vertices in the first part.
    - 'Maintain Aspect Ratio' option ('View' menu) added.
    - Viewscreen scrolling in vertice and dummy editor added.
V1.0  5th January 1999
    - First Version

Things to do (in no particular order)
============
    - Insert Direct3D view into program
    - Better system for adding nodes and triangles
    - Intelligent automatic texture mapping system
    - Editing/Automatically calculating normals
    - Editing car smoothing bits (*must do!*)
    - Importing 3DS and other file formats
    - Faster graphics functions
    - Better/more intelligent user interface
    - Make sure I don't put any more bugs in the code! (not likely)

Credits
=======
Thanks to:
        JamNJim (CarCAD name)
        Tribute (3D mesh code)
        Patrice Scribe (Direct3D code and examples - 'www.chez.com/scribe')
        Hacked Speed III (NFSIII file specifications -
                                  'camelot.warzone.com/hs3')
        Everybody who's given me support and helped me with the program.

Contact
=======
You can contact me at

bitsandpieces@btinternet.com

If you like the program and have used it to make a car, email me and tell
me where I can download it from. I'm thinking of featuring some of the
best cars made with the editor on my site, if there's enough support to do
that. I really would like to hear from you.
However, please be warned that I may not reply to you - I am quite busy and
I really don't have much time. I would like to be able to answer everyone
who emails me, but it's becoming quite difficult to do that. I will try to
reply to everyone within a week, but I'm not sure it that'll be possible.
=======

Thanks and I hope you like the program.
bye.

Chris.
-*-
