=======================================================================
=     Colin | McRae | Rally | 2    filter v1.6 for ZModeler v1.06     =
=                                           (c) Oleg M. 2001 - 2002   =
=======================================================================

CONTENTS:
1. Importing
   1.1 Requirements
   1.2 Preparing files
   1.3 Imorting
2. Exporting
   2.1 Naming Objects
   2.2 Naming Materials
   2.3 Textures
   2.4 Faces Properties
   2.5 Exporting
3. Lunching your car in CMR2
4. References
   4.1 Objects types and names
   4.2 Materials names
   4.3 Textures alpha chanell
   4.4 "C3D Custom Settings" box
   4.5 Restrictions
5. Known issueses
6. Information for registered users
7. Tips
8. Credits
9. Contact

-------------------------------------------------------------------------
1. Importing
-------------------------------------------------------------------------

1.1 Requirements
    To import the car into ZModeler you require the following tools:
    - ZModeler v1.06
    - Any BFL-unpack tool. (I used main.exe beta tool from BflWorks)
    - DDS plugin for Adoble photoshop or any other DDS to TGA convertor
1.2 Preparing Files
    To import the file properly, you have to perform the following
operations:
    1) Extract textures
    2) Convert all textures to TGA files.
    3) Put textures into proper folder.

    To Extract textures, use the BFL-unpack tool. I've used "main.exe"
beta tool from BflWorks package. You can find these tools at
....................
    You have to convert ALL textures to TGA format. You can either use
DDS plugin for Adobe Photoshop or any other DDS to TGA convertor.
    Textures should be put into proper folder. The folder name must
match the C3D file's name, but be the 5 (four) charackters length. For
example: FOCA1 for Foca1n.c3d, or FOCA5 for Foca5.c3d). Otherwise, the
white untextured meshes in ZModeler is the most common issue.
    Now you have the following structure:
CarName\
    ???a1n.C3D
    ???a1s.C3D
    ???a1l.C3D
    ???a5.C3D
    ???c1.C3D
    ???c3.C3D
    ???c5.C3D
    ....
    ???A1\ (5 charachters textures folder for ????a??.c3d files)
        a???bodf.TGA
        a???bobu.TGA
        a???whdf.TGA
        a???whd2.TGA
        ...
    ???A5\
        a??int01.TGA
        ...
    ???C1\
        c???bodf.TGA
        ...
    etc...
    BACKUP\ (optional)
        *.c3d (original c3d files)


1.3 Importing
    Start ZModeler and hit Import button. Then locate your C3D file and
import it. NOTE: ZModeler might take long time to load all highdetailed
textures. I recommend to resize all textures to make them smaller:
512x512 -> 256x256, 1024x1024 -> 512x512, etc.
    If everything is on it's places, then you have imported the car
properly.
    NOTE: Since file format isn't 100% correct, I assume, some files
might not import, or will import incorrectly, as it happens with
STRA1N.c3d file.


-------------------------------------------------------------------------
2. Exporting
-------------------------------------------------------------------------

2.1 Naming Objects

    Before exporting geometry, you have to verify a lot of things.
Them most weak place in C3D filter is the objects' names. Object name
holds valueable information about itseld and the hierarchy.
    NOTE: Since C3D files have the hierarchy, while ZModeler actually
DOES NOT support hierarchy of objects, the objects' names are holding
the information about relation of the objects.
    Refer topic 4.1 for details.
 
2.2 Naming Materials
    You have to give proper names to materials before you export
geometry. Material Name holds valueable information about texture. Note
that C3D filter DOES NOT reads the actual name of texture you're using:
it READS MATERIAL NAME INSTEAD. Thus, for example, material "Textured:
affnbodf.tga" will be exported as "affnbodf" material, regardless to
the actual primary texture, used by this material ("skin.tga" for
example).
    By default, material name MATCHES the name of primary texture.
    NOTE: C3D filter hardly tries to restoer original structure of the
file and it will try to find the groups of materials. For example,
car's glasses uses textures: a??glodf.tga, g??globu.tga as "unknown
alpha", a??glod2.tga as "damage stage #1", a??glob2.tga as "unknown
alpha for damage stage #1" and so on. All the materials excpet
a??glodf.tga are NOT assigned to the mesh, but will be exported. Thus,
you have to verify material names, delete all unreferenced materials
(if you have no according texture) or create new materials for textures
that you have.
    Refer topic 4.2 for details on Textures and Materials names.

2.3 Textures
    As it was said in 2.2, texture names must match the material's name
you have specified.
    Refer topic 4.2 for more details.


2.4 Faces properties
    C3D has several properties for the faces. You can skip this step,
if desired, but if you want to create a normal "workable" car with
visual damages, you have to adjust faces properties.
    You can use the "Plugins\C3D Faces Settings" box for this.
    Refer topic 4.4 for details.

2.5 Exporting
   Hit Export button and choose the "Colin McRae Rally 2" file format
in drop-list. Then choose the file to overwrite or type a name of the
new file. Hit Save button in this dialog box to export.
   If after exporting several objects have been disabled, then this
object WAS NOT exported. This might happen due to improper naming of
the object.
   Refer topic 5 for known issueses.


-------------------------------------------------------------------------
3. Lunching your car in CMR2
-------------------------------------------------------------------------
    Before lunching your car in CMR2, save your work (as *.Z3D file),
backup the original *.C3D files and then Hit "New" button in ZModeler
and re-imort your *.C3D file, that you have just exported. Make sure
the geomtry is on it's places (wheels for the car and steering wheel
and driver's hands for interior). Make sure all textures (that were
loaded before you've exported) are loded well. If several textures are
missing, then use Material Editor to find this missing textures.
    If everything seems to be right, quit ZModeler (don't save) and
perform the following:
    a) copy your *.C3D file to the GAME folder.
    b) Assemble textures (you can leave them in TGA format, it's ok)
    c) Put texture (BFL) files into GAME folder.
    d) Start the game and test the car

3.a
    You can't "add" your car, since CMR2 doesn't support ADD-ON cars.
You can only replace STOCK car(s). I recommend to replace the car that
is the most similar ro your car and this car should be rare-used. (For
example, I replaced StreetRacing (white) Mitsubishi with other sedans).
    The folder you work with is <colinMcRae2>\Game\Cars\.
    If you have created a mycar.c3d file, then replace the stock car
files with this file. For example, to replace stopck Ford Focus, you
should copy your maycar.c3d as foca1n.c3d, then, if you haven't made
LODs (other level of detail), copy mycar.c3d as focc1.c3d, focc3.c3d,
and so on; foca5.c3d is interior. foca1l.c3d is "normal" wheels, while
foca1s.c3d is "snow" wheels.

3.b
    You should either assemble textures just after you have made/drawen
them, or after completion of the car's mesh (using matte colored (red,
green, etc) textures in the game). So, you don't need to re-pack
textures each time.
    I've used normal textures in ZModeler and same textures in BFL file
that I've made in begining.
    To pack textures, make sure these textures are on their places (in
proper folders). Then pack them as BFL file with any BFL tool.

3.c
    As you have done with C3D file, put your textures into game\cars
folder, replacing stock car's texture files. I recommend to make the
lower-detilaed textures (reducing image size in PhotoShop) for at least
"C" and "D" level of detail (for example it's focc1.bfl, focd3.bfl etc)

3.d
    After you've started the game, try to choose your car in selection
menu. If the car appears in "Service Area", then the mesh and textures
for the car (not interior) are seems to be right. For the most common
issueses see topic 5.


-------------------------------------------------------------------------
4. References
-------------------------------------------------------------------------
    I recommend to print this chapter (until topic 5) to reffer it.

4.1 Objects types and names
    Object name have the following structure:
aa:bbbbbb(cc), where:
- aa   :type of the object (05, 08, 13, 24 and so on),
- bbbb :name of the object you prefer (at least one letter).
- cc   :owner in hierarchy (type, but not an order number).
==============
    Types:
00 - root of the hierarchy (optional for interior but not for the car)
01 - LFWhl    :Left Front Wheel
02 - RFWhl    :Right Front Wheel
03 - LRWhl    :Left Rear Wheel
04 - RRWhl    :Right Rear Wheel
05 - Front    :Frontal part (visible from cabine also!)
06 - Inter    :Interior (including driver and co-driver)
07 - Glass    :all glasses, both inner and outer sides.
08 - Body     :the rest of Body
09 - Hood     :hood, that has animated damage.
10 - RBump    :rear bumper
11 - Trunk    :rear trunk
12 - Tail     :TailGate
13 - RSpoil   :rear spoiler
14 - Lights   :lamps of the car: "shines" in night or when breaking
15 - Under    :under of the car
16,17,18,19   :Unknown
---- interior file -----
20 - Inter    :rest of interior
21 - Roof     :roof
22 - LWiper   :left wiper
23 - RWiper   :right wiper
24 - Decails  :decails and semitransparent stuff.
25 - Glass    :glass
26 - GearStick:gear stick. Used by "gear hand" when switching gears.
27 - SteerWhl :Steering wheel.
28 - GearHand :"Right" hand (that switches gears)
29 - LeftHand :"Left" hand (another hand, that don't switch gears;)
30 - SteerClm :Stuff behind steering wheel.

------------------
    hierarchy.
------------------
    You should use standart hierarchy or at least don't go too far of
it.

Car file:                              Interior:
  00                                     20 (or 00)
  |                                      |
  +-- 01                                 +-- 21
  +-- 02                                 +-- 22
  +-- 03                                 +-- 23
  +-- 04                                 +-- 24
  +-- 05                                 +-- 25
      |                                  +-- 26
      +-- 06                             +-- 27
      +-- 07                             |   |
      +-- 08                             |   +-- 28
      +-- 09                             |   +-- 29
      +-- 10                             +-- 30
      +-- (11 or 12)
      |       |
      |       +-- 13
      +-- 14
      +-- 15

    In terms of object's names the car's hierarchy looks like this:
00: ,01:(0),02:(0),03:(0),04:(0),05:(0),06:(5),07:(5),08:(5),09:(5),
10:(5), 11:(5) or 12:(5)],[opti. 13:(12)], 14:(5), 15:(5).
    where (0), (5) and (12) are the TYPE of the parent (like on the
scheme.
    NOTE, the root DOES NOT have parent, as well as #20 in interior.


4.2 Materials names
    The name of material must not exceed 8 characters. It should be
named properly, so the filter can understand them.
    The rest of textures, used by interior can be named as you wish,
but the filename length must not exceed 8 characters ("digit.tga" is
ok, but "focus_digit.tga" is error).
    Textures names for the car's file MUST follow the rules:
[L][ID][N/L][NM][TY], where:
L  - level of detail: A,C,D,E, etc.
ID - car's id in two characters, like FF for ford focus, SI for subaru
     impresa and like this.
N/L- one charachter: N or L: unknown purpose. this can be part of
     3-charcters ID, like aFOC**** instead of aFFN**** or a part of
     3-charachter name (see follows)
NM - two characters of the texture's name (BO - body, gLI - glasses of
     inner part, gLO - glasses of outer part*. g - on the place of N/L)
TY - two characters to specify type of this texture:
  DF - normal*
  BU - alpha - bump mapping (or "spinning DF" for the wheels)
  D2 - damage stage#1.
  B2 - alpha for D2 (or "spinning D2" for the wheels)
  D3 - damage stage#2.
  B3 - alpha for D3 (or "spinning D3" for the wheels)
  D4 - unknow (i don't use it)
  B4 - alpha for D4 (or "spinning D4" for the wheels)
  BL - unknow

* NOTE, DF is the only required, while all other types are optional.
    For the Lamps object (#14), use the "BR" instead of "DF" and "RU"
for the "shining" stage of the lamps.
    NOTE: the length of this coded name MUST BE EXACTLY 8 characters.
    For example,
  AFFNWHD2.tga              CSIGLIDF.TGA              AFFLIGBR.TGA
(A)  "A"-level of detail  (C)  "C"-Level of detail  (A) "A" LOD
(FF) ford focus           (SI) Subaru Impresa       (FF) Ford Focus
(N)  unknown              (GLI)Glass inner          (LIG)Lights
(WH) wheel                (DF) Normal               (BR) normal lamp
(D2) Damage stage#1
    Note, only "DF" (and "BR") texture are actually assigned to the car
while all other textures used by filter to make the "set of textures",
that game requires. Of cause, you can ignore it and delete these unused
materials, but thus you will lose "spinning" textures and "damage"
textures, but the game will run well.

    
4.3 Textures alpha chanell
    So-called "BU" textures are used both fo bump mapping and environment
mapping. You can skip include of this texture, there will be no reflections
on the car. You can include small (32x32) gray texture instead of "BU"
that will stand for average reflection. And a white texture insead of "BU"
(B2,D2, etc.) for the glasses, that will stand for high reflection.
    Always pay attention to the alpha chanell of texture. On some
textures the alpha channel separates textures (like on "BR" and "RU"
textures and on some textures in interior).
    You should refer the "painting" tutorials for more details.


4.4 "C3D Custom Settings" box
    This settings box is used to setup proper setting for the faces.
You can skip this setting and the game will run well, but it will lose
"damage" textures effect.
    This tool-box is in ZModeler's menu: Plugins\C3D Faces Settings.
Switch ONE object to faces level and select the group of faces with any
of Select tools. Then checkmark/uncheck/dim the checkmarks in toolbox
and hit "Apply".
    - checkmarked box stands for "apply to all selected faces"
    - unchecked   box stands for "remove property from all selected"
    - dimmed      box stands for "leave unchanged"


4.5 Restrictions

a) Always specify owner for the object in brackets, except the root.
b) don't make loops in hierarchy (like 03:(7),04:(3),07:(4))
c) same as b), but the most common: parent points to itself 05:front(5).
d) Always link "wheels" to root.
e) The car must have at least "front" (#05) and "lights" (#14) objects.
   You should at least create small single-face dummy objects to
   replace these objects if you haven't made them. I used copy of root
   to replace all objects except wheels and "body" and the game runs
   fine. Don't forget to map these "dummies" to any texture.
f) before exporting, make sure that all faces uses proper materials and
   none of the objects (except "root") uses "<default material>"
g) Always make a separate texture for the Lights (#14) object and never
   assign any face of the Light(#14) object to any other texture (like
   affbBODF.TGA - texture for "body"). Otherwise, the "shining" car (or
   any part of it is the most common result).
h) CMR2 is CaSE CenCIVEd, so convert ALL texture names to lower case!!!

=======================================================================
-------------------------------------------------------------------------
5. Known issueses
-------------------------------------------------------------------------
5.1  Game returns to the windows instead of service area.
   - invalid hierarchy
   - not all required objects were found
   - forgotten wheel files: ???a1l.c3d and/or ???a1s.ced
5.2  Game Prompts for "Insert CMR2 CD"
   - your car reffers to texture that WAS NOT found in BFLs
   - There is one (several) textures in BFL with the name, that wasn't
     converted to lowercase(!!!).
   - missing c3D file(s) for LODs, or missing wheels (????1l, ????1s)
   - make sure the wheels are not reffering to missing texture(s)
5.3  The car is untextured (white)
   - you have put textures in improper format (compressed TGA?)
   - invalid naming of textures (see 4.2)
5.4  The car is textured, but "shines"
   - you have mapped several faces of Light(#14) to texture that texture
   - invalid naming of textures (see 4.2)
5.5  Wheels and other stuff is "chromed" (environment mapping)
   - select these polygons and set the "No Blend" property for them in
     custom flags box (Ctrl-A -> MiscFlags -> "No Blend")
   - make sure you've included proper "BU" (bump map) texture.
5.6  White texture appears instead "cracked" windows or "spining" Wheels
   - improperly named materials when exported.
5.7  Game quits to windows/asks for "CMR2 CD" after loading of the stage
   - see 5.1, 5.2 relative to interior file.
5.8  Camera position is in the middle of interior, but not infront the
     steering wheel
   - the steering wheel is not linked to the "top" object. You should
     either create a root in interior file or link the steering wheel
     to the "top" (of hierarchy) object (usually #20).
5.9  Steering wheel doesn't rotate
   - improperly named or improperly linked steering wheel(#27)
5.10 Glowing object(s) (near the lamps), antennas, or exhaust flame
     appears on old car's places.
   - See 5.16
5.11 Wipers are rotating a bit strange
   - known bug. not fixed yet.
5.12 The glass of interior is no longer "light-up" the scene
   - known bug. not fixed yet.
5.14 Damages are awful!
   - Currently working on fixing this.
5.15 Car's bound doesn't match the real size (bound wither smaller of
     the car or bigger).
   - Known bug. This bound is somewhere in "*.CIN" file, but haven't
     found it yet. Currently the bound from Focus is used.
5.16 Glowing objects(s) are missing or misplaced.
   - To edit glowing objects you should register ZModeler;)
   - Otherwise you can copy the *.CIN file with the most similar sizes
     and positions of glowing objects.
5.17 The game quits in replay mode when whetehr is ON (dizzle, storm)
   - Known bug, the reason is still unknown


-------------------------------------------------------------------------
6. Registered Users information
-------------------------------------------------------------------------
    If you have registered ZModeler, then C3D filter will allow you
edit the *.CIN file. Since researching of these files is not completed
(at the moment of releasing of the filter), not all functions of CIN
files can be changed.
   Currently, if you put an according CIN file into the same folder as
the C3D file, the following object(s) will appear:
   Dummy:LB - left breaking signal
   Dummy:RB - right breaking signal
   Dummy:LH - left hazard signal
   Dummy:RH - right hazard signal
   Dummy:HL - headlight
   Dummy:RE - reverse light
   Dummy:EX - exhaust effect (2 maximum)
    These objects appear as "Diamonds". The filter uses position of these
objects and their sizes. The first two letters after "dummy:" keyword
are used to recognise the object (so "dummy:EX1" and "dummy:EX(4)" will
be both treated as "exhaust").
    If no "Dummy" objects was found, C3D will generate empty CIN file,
that will also work fine in the game.
    Note: the filter is supplied with "r_glow.tga", "w_glow.tga",
"o_glow.tga" and "exhaust.tga" textures for the CIN file. You can
either leave these textures in TEXTURE\ folder or copy them into your
car's folder. You should not include these files into BFL file.
    The following objects are the cameras' positions:
   Camera:HO - "Hood camera"    (#05, #06 and #09 parts are drawen)
   Camera:BU - "Bumper camera"  (no one of car's part is drawen)
   Camera:RE - "Reverse camera" (every car's part is drawen)
    If any of these cameras missing, C3D will reset cameras position to
default.

-------------------------------------------------------------------------
7. Tips
-------------------------------------------------------------------------
- Use DDS textures instead of TGA.
- Use "stock" CIN files when creating the car and only if neccessary, use
  the files that C3D filter generates.
- Try to modify existen car but don't create the one from scratch
- Start with minimal set of textures (only skin and one texture for #14)
- Always include object #14 and object #05
- Use #root always and link all/most of the objects to it.
- Use stock dashboards or create your own after you've done the car.
- Create the car and map it onto supplied textures (if you replacing Ford
  Focus, map onto it's teuxtres). Then overwrite several/all textures
  with yours. Don't replace the "stock" texture files in the beginning.
  You should replace stock textures in your work folder. but not in BFL
  files. After you've done the mesh and mapped it and it looks fine in ZM,
  you should make final test in the game and then replace stock BFL file
  with your own.
- Always convert texture names ot lowercase (including extenstion). Or
  convert them to DDS.
- Minimal set of objects and textures is:
  #root - #05 - #14 for the objects
  "skin.tga" and "lights.tga" as textures.
- CMR2 will only use environment mapping if "bu" textures are supplied:
  "mycarbu.tga" for "mycardf.tga". Otherwise, your car will not be
  reflective.

-------------------------------------------------------------------------
8. Credits
-------------------------------------------------------------------------
    Thanks to:
- nVidia for DDS plugin for Adobe PhotoShop
- Lun Sakai for BflWorks and "main.exe" tools.



-------------------------------------------------------------------------
9. Contact
-------------------------------------------------------------------------
    Comments, suggestions and feedback send to < funspeed@softhome.net >
Other questions concerned ZModeler can be asked on ZModeler forum.
    If you have found exact reason of any bug (or known when it start
appearing) let me know: <funspeed@softhome.net>.
    NOTE: I DON'T CONVERT/FIX/MAKE any cars. If you have any questions,
ask me or post on message boards, but DON'T send me any files/screenshots.

This text file was written by Oleg M.
C3D and CIN files research by Oleg M.

Source of CMR2 stuff: http://rally.btwracing.com
ZModeler's homepage:  http://www.zmodeler.com
=======================================================================

                                Zanoza Modeler (c) Oleg M. 1999-2001
