=======================================================================
=  Grand Theft Auto 3 & ViceCity DFF filter v1.2   for ZModeler v1.06 =
=                                               (c) Oleg M. 2002-2003 =
=======================================================================

Last Updated: 07.July.2003

=========================
        CONTENTS
=========================
        WHAT'S NEW
        GENERAL INFORMATION
        LEGAL
        FEATURES
        REQUIRED TOOLS
        IMPORTING
        EXPORTING
        CONTACT INFORMATION

=========================
      WHAT'S NEW
=========================
- HighGhrome/NoChrome support in Vice City mode
- Heat 2004 support added.
- Vice City support added. ViceCity player and peds models will not open.


=========================
   GENERAL INFORMATION
=========================
DFF.zmf is a filter (plug-in) for ZModeler v1.06e and higher. Filter
allows you to open (import) and save (export) DFF files that are
capatible with Grand Theft Auto.

GTA doesn't support used add-on cars, thus, you can only replace
stock cars.
     
ZModeler is not a GTA editor.
      


=========================
         LEGAL
=========================
Replacing cars, modifying them or even extracting any files from
IMG files is initially illegal. You are the only resposible for
any consequence it might cause.

Reusing (converting into other games, selling etc.) of any stock
GTA models (meshes/art) is law-breaking. You have been warned,
be resposible!

Converting any car into GTA for farther releases requires prior
agreement of the author.

All exported files can be locked to prevent them from been
imported and/or converted.



=========================
        FEATURES
=========================
DFF filter provides you the following features:

Importing DFF files
  + meshes (damaged/undamaged)
  + textures (should be previousely extracted from TXD file)
  + dummy objects
  + preserv hierarchy info (with ZHierarchy plug-in)
Exporting scene in DFF format
  + meshes (damaged/undamaged)
  + preserving zmodeler's faces properties (high chrome/no chrome)
  + dummy objects
  + hierarchy info
  + files locking
  + multiple files export
 


=========================
     REQUIRED TOOLS
=========================
You need the following tools in order to work with DFF:

- IMGTool v1.1 or higher (extracting/adding DFFs and TXDs)
- TXDTool or ResHack tool (extracting/modifying textures)
- IMGEd   for GTA Vice City



=========================
       IMPORTING
=========================
To import a DFF file, you need it extracted from IMG file. Use
IMGTool or ResHack. In order to import the mesh with textures,
you need all required textures in TGA format, extracted from
corresponding TXD file. ResHack tool will do it for you.

By default, filter will search for TGA textures in a folder
entitled as the imported file:
DFFs\
  bmw.dff
  bmw\
    bmwbody128.tga
    white64.tga
    white128.tga
But you can extract TGAs into the same folder where DFF is.

Imported mesh and materials properties preservs (almost) all
properties of the source DFF file. This means that you can
import and then export DFF file without loosing any of it's
features.

To import DFF file, start ZModeler, hit Import button or
press Ctrl-I, pick the file and click 'Open' in a dialog
box.

Locked DFF files are imprted as blank and no waning message box
appears. YOU CAN'T IMPORT LOCKED FILE, SO YOU SHOULD HAVE YOU
WORK SAVED AS .Z3D FILE IN ORDER TO MODIFY IT FARTHER.



=========================
       EXPORTING
=========================
DFF filter allows you to export DFF files that are capatible
with GTA. You have to ensure in several things before you try
to export your car. If you think that you can import 3ds file
and immediately export it as DFF, then you are wrong. The
following things have to be verified:
1) objects
2) dummies
3) materials
4) hierarchy

1. OBJECT NAMES

GTA uses object's names to distinct geomery objects. Game's
engine very critical to object names. All names have to be in
lowercase (except _L0 suffix in buildings). Object's name have
to be written properly in order to be understood by game
engine.

The following is the list of tested object names:
    windscreen
    bump_rear
    bump_front
    chassis
    door_rf
    door_lf
    door_rr
    door_lr
    boot
    bonnet
    wing_rf
    wing_lf
    wing_rr
    wing_lr
Each name have to be shipped with suffix(es). Game uses _vlo
suffix for the objects, rendered on far distances (very low
detailed), and _hi suffix for the objects with high detail.
E.g. chassis_vlo and chassis_hi.

Suffixes _ok and _dam are used for normal and damaged parts
respectively. You have to specify _ok and _dam suffixes for
damage-able parts. E.g. boot_hi_ok and boot_hi_dam.

Note, IF YOU HAVE SPECIFIED _ok SUFFIX, YOU NEED AN OBJECT
WITH _dam SUFFIX FOR CAPABILITY WITH GTA. Leaving objects
without _ok/_dam suffixes haven't been tested. The only
object that can be left without these suffixes is chassis_hi.

The next generations of the filter will generate missing _dam
objects automatically.


2. DUMMIES

GTA has a wide range of dummy objects. By placing a dummy
object you specify pivots of rotation (bonnet, doors),
positions of objects (ped_frontseat), positions any kind
of effects (reverselights, exhaust). 

Dummy object have to be named properly in order to be
understood by the game. The list of tested names follows:
indicators_front (unknown purpose)  door_rf_dummy         
indicators_back  (unknown purpose)  door_lf_dummy        
brakelights                         door_rr_dummy        
taillights                          door_lr_dummy        
reverselights                       boot_dummy           
headlights                          bonnet_dummy         
wheel_rf_dummy                      wing_rf_dummy        
wheel_lf_dummy                      wing_lf_dummy        
wheel_rb_dummy                      wing_rr_dummy        
wheel_lb_dummy                      wing_lr_dummy        
chassis_dummy                       steer_wheel_dummy    
ped_backseat                        chassis_vlo_taillight
ped_frontseat                       chassis_vlo_headlight
                                    
Each dummy object have to be indicated by ZModeler's
miscellaneous flag#1. (Right-click on the object's name
in objects bar, pick "Properties...", in the first page
of Attributes dialog box set 'Meaningfull for: GTA' and
checkmark 'Dummy Object').

Once again: ALL DUMMY OBJECTS NEED THIS PROPERTY SET ON
(checkmarked).


3. MATERIALS

DFF supports both textured and untextured materials. The
following features of material editor preserved in exported
DFF file:
- Color
- Opacity (in Alpha mode: 'Glowing' only)
- Primary texture
- Reflection texture (on/off only)

Primary and secondary color of the car is assigned on
per-material basis. So, to make a material that will be
painted to car's primary color, you need to add a "[prim]"
suffix in the name of this material. E.g.
"Textured: bansheebody64.tga [prim]". <- Faces assigned
to this material will be painted to primary color in the
game. Secondary color's suffix is "[sec]"

By default, primary color (when importing) defaulted to
white and secondary color defaulted to red.

3.1. Transparent materials/textures
To make material transparent/semitransparent, you have to
change it's alpha mode to 'Alpha Glow'.

The filter recognises the following transparent textures:
white128a (crackedglass128a)
white64   (scratcha64)
black64   (scratcha64)

In order to use custom transparent texture, it's alhpa channel
in TXD file have to be named as <texturename>a. For example,
if you have bmw_skin.tga, you should import it's RGB texture
as bmw_skin.bmp and it's alpha channel as bmw_skina.bmp


4. HIERARCHY

First of all: I strongly recommend to have a dummy object as
the root of hierarcy. e.g. 'bmw'. All objects and dummy 
objects should be direct or indirect children of this root.
'chassis_dummy' dummy node have to be direct child of the
root and should hold all visual (geometry) nodes.

Each geometry node is always a direct child of a corresponding
dummy object. E.g. 'door_rf_hi_ok' and 'door_rf_hi_dam' are
always a children of 'door_rf_dummy' node.

To modify hierarchy, open a hierarchy browser and drag nodes
in the tree to make a valid hierarchy structure. I recommend
to import any stock car and print it's hierarchy structure.


Finnaly, exporting.
Hit Export button (Ctrl-E), select 'Grand Theft Auto 3 DFF'
file type and type the name of the file.

--------------------------------------------------------------
WARNING:
By locking DFF file you prevent it from been imported back.
It's recommended to save your work as .Z3D file before
exporting.
--------------------------------------------------------------

You can export file unlocked by removing checkmark in an
export-mode dialog box.

The following objects and dummies haven't been tested
boat_moving_hi     chassis_dummy       forks_front    
boat_rudder_hi     toprotor            forks_rear     
windscreen         backrotor           wheel_front    
door_lhs_dummy     topknot             wheel_rear     
door_rhs_dummy     skid_left           mudguard       
light_front        skid-right          flaps_*               
light_rear         wheel_front_dummy  
ped_left_entry     wheel_rear_dummy   
ped_right_entry    light_tailplane    
ped_mid_entry      light_left         
ped_left_entry     light_right        




=========================
   CONTACT INFORMATION
=========================
URL: http://www.zmodeler.com
Comments, suggestions and feedback send to <funspeed@softhome.net>

This text file was written by Oleg M.
Source of GTA stuff and tools: http://www.gta3mods.com

Other questions concerned ZModeler can be asked on Zmodeler forum.
=======================================================================
                                Zanoza Modeler (c) Oleg M. 1999-2002
