- Sat Jan 05, 2013 10:06 pm
#45943
Welcome to the thread that's going to make history. I encourage everyone to provide us with as many details as possible on DRIV3R's file format, any research is appreciated. I'll dump some of my own information:
NOTE: This image has outdated information. To be used for reference only!
CHUNK files have "PCMP" sections that hold DDS textures. It contains complex offsets (to me, at least) describing where each new DDS begins and how long it is. A good friend of mine helped me decode the headers a bit, here's what we came up with (sorry if it's not very specific, I didn't make this picture but will when further documentation arises):
Stuff about the CHUNK files --
The cities of DRIV3R is basically what makes up the whole game - Miami is 390MB, Istanbul is 319MB, and Nice is 286MB. On average, each city has close to over 3,500 textures and an unknown amount of models. According to older work-in-progress screenshots, a program called "Mr. RoadBuilder" was used to create every aspect of the city itself. Here are the only screenshots ever released:
This could give potential reverse engineers an insight into how everything works. Note in the upper-right corner there are references to "Global Regions" and "Super Regions" - these are important to take note of, as they play a crucial part in my observations below. Without further ado...
Legend:
-- = Folder
---- = Inside Folder
city = Name of the city (Miami, Nice, or Istanbul)
timeofday = DAY or NIGHT
platform = I'm assuming what platform it's mean for (in this case, PC = _PC)
.d3c = DRIV3R City. These are known as "Global Regions" that basically make up the whole of the city. The .D3C file interacts with the .PCS file somehow, as there are no models or textures inside.
.pcs = Models and textures for the city. How the .D3C files access these is currently unknown.
--city_timeofday_platform*
----Interiors.pcs**
----SuperRegions.pcs***
city_timeofday_platform.d3c****
* - By default there are 6 folders - Miami with day textures is called "MIAMI_DAY_PC" and with night textures is "MIAMI_NIGHT_PC". The rest is self-explanatory.
** - Definitions for interiors are in here.
*** - Definitions for the outside world you drive in.
**** - For each folder, day or night, there is a .D3C file accompanied by it.
.PCS Files - Last Updated 11/22/2012
.PCS files contain the models and textures that make up the city. The .D3C file uses this file as an index in order to retrieve models amongst other things.
.D3C Files - Last Updated 11/22/2012
These files are very rich in content - these are the biggest CHUNK based files in the whole game. There's so much to a city it's unbelievable. More information will be put here later on.
CONFIGS
Vehicle configurations for every vehicle in the game are in here.
----Vehicles
----BigVO3
----*.b03*
* one for each city
.B03 Files - Last Updated 11/22/2012
While they're not CHUNK based files, they are still a crucial part of the game that need to be documented more. Vehicle handling, colors, etc. for every vehicle in the game.
GUNS
Weapons data located in here.
--Guns.cpr
.CPR Files - Last Updated 11/22/2012
Guess who forgot to document these files?
MISSIONS
The mission scripting language related files can be found here.
--Personalities
----*.acp
--Recordings
----*.pad
*.dam
*.mpc
.ACP Files - Last Updated 11/22/2012
AI behavior files. Not much is known.
.PAD Files - Last Updated 11/22/2012
Vehicle recording files. These were probably made in a special developer mode that records player movement similar to the Film Director.
.MCP Files - Last Updated 11/22/2012
Exported mission scripts. There was most likely a stage where they were written in a plain-text format and later converted to this special format that uses IDs from locale files.
.DAM Files - Last Updated 11/22/2012
Contains models and textures for each mission. There are a variety of things in here, so its main purpose is unknown. However, it is used to define character models/textures/joints/etc. !
OVERLAYS
I'll update this section at another time.
*.bin
*.gfx
*.map
SFX (Sound Effects)
I'll update this section at another time.
Sfx.pmu
Skies
I'll update this section at another time.
*.d3s
Sounds
I'll update this section at another time.
*.dat
*.vsb
GUI
I'll update this section at another time.
*.mec
Vehicles
I'll update this section at another time.
--city
----CarGlobals[city].vgt
*.VVS
*.VVV
BO3 file research dump:
NOTE: This image has outdated information. To be used for reference only!
CHUNK files have "PCMP" sections that hold DDS textures. It contains complex offsets (to me, at least) describing where each new DDS begins and how long it is. A good friend of mine helped me decode the headers a bit, here's what we came up with (sorry if it's not very specific, I didn't make this picture but will when further documentation arises):
Stuff about the CHUNK files --
Code: Select all
CHNK (Reflections CHUNK Container)
- Archive-like tendencies:
- Defines size of chunk
- Defines # of packages inside
- Always has an unknown LONG at the end; "03 00 00 00" (3 in little endian)
- Possibly version number (credits go to user WRS)
- Package offsets begin on the line of the CHNK header:
- For example, let's say "BLAH" has offset of "00 10 00 00" (or 1000). This means the beginning of "BLAH" is offset 1000 from the CHNK header. Got all that?
- Offsets are 4096 byte-aligned (credits go to XeNTaX)
- Files inside CHUNK's are uncompressed ASCII format, however they are not common file formats and are not meant to be used as external files. Files inside chunks need to be extracted, modified, and have offsets/checksums recalculated - a relatively easy process once everything is totally understood.
- Acts as a container
- Nesting capabilities:
CHNK
[parent]
CHNK
[child/parent]
CHNK
[child/parent]
CHNK
[child/parent]
...
[child]
[child]
[parent]
- Think of the chunk as a big tupperware container; You can put other smaller containers inside, as well as a couple of other things on the side.
"Unified Package"
- The result of a package having no specific name assigned (all 00's)
- Acts as a container that holds another chunk inside of it, most likely so the main chunk itself can access it and then start doing sub-routines. Why this is necessary is unknown, maybe just for organization.
- No further information.
-------------------------
%CITY%.D3C
-------------------------
GESR (Global Region)
----GEPM (Building Physics Data)
----PMLD (Building Physics Lookup Data)
----GWTR (Water Instance Data)
----GEBI (Global Building Instance Data)
----GERD (Spline Road Data)
--------AIEX (AIExport)
----ANOD (Animated Object Data)
----SCND (Global Scene Data)
----GEPD (Prop Data Container)
--------HRDT (Prop Hiearchy Information)
GEIR (Region %0d)
----GWRD (Water Region Data)
----GEBI (Building Instance Data)
----GRTD (Region Terrain)
----GEBR (Building Routefind Data)
----JNR! (Broadphase Data)
----ATRD (Attractor Data)
----SCND (Region SceneData Data ?)
----OCGD (Occluder Game Data)
IRCT (External file link + External?)
----ATRD (Interior Attractor Object Data)
----ANOD (Interior Animated Object Data)
----GEBI (Interior Instance Data)
----IRDT (Interior Scene Data )
----GEPM (Interior Physics Model Data)
----PMLD (Interior Physics Lookup Data)
----JNR! (Interior Broadphase Data)
----ISHM (Interior Lighting Data)
--------PROBv1.0 (unknown format - unused?)
GESR (again?) (External file link + Internal?)
----GEPD (Prop Data Container)
--------HRDT (Internal Interior Prop Hierarchy Prop-Data Container)
PINF (Model Information for Mission Editor)
----PIND (Model Data for Mission Editor)
----PINS (Model Strings for Mission Editor)
GEGL (Grandiose Lookup?)
----GESI (Super Region Info)
----GILH (Lookup Header)
----GSIL (Super Region Lookup )
----GRIL (Region Lookup)
----IRLU (Interior Lookup Info)
PCSL (Specific Region? "NORTH DOWNTOWN")
----GEPM (Building Physics Data)
----PMLD (Building Lookup Physics Data)
----ANOD (Animated Object Data)
-------------------------
MISSION%0d.MPC
-------------------------
"Exported Mission Root"
Description: Basically a "shrink wrap" for the exported mission data.
----EM__ (Exported Mission)
Description: Holds all mission-related data. Nested multiple times (rare).
--------EMOB (Exported Mission Objects)
--------EMPR (Exported Mission Prop Handles)
--------LELD (Logic Export Data)
------------LESC (String Collection)
------------LESB (Sound Bank)
------------LEAC (Actors)
--------------------LEAD (Actor Definitions)
--------------------LEPR (Actor Properties Table)
------------LENC (Logic Nodes)
--------------------LEND (Logic Node Definitions Table)
--------------------LEPR (Logic Node Properties Table)
------------LEAS (Actor Set Table)
------------LEWC (Wire Collection)
------------LECO (Script Counter)
-------------------------
MISSION%0d.DAM
-------------------------
"Unified Packager"
Description: Presumably stuff related to models and characters for each specific mission.
----MDPC (Renderer Model Package)
----UPXD (Extra Character Data Package)
----UPCB (Skelton Package)
EMMS (Mission Summary)
Description: Probably used for locale purposes.
-------------------------
%CITY%.MAP
-------------------------
"Unified Packager"
Description: The HUD map.
----MDPC (Renderer Model Package)
-------------------------
*.GFX
-------------------------
"Unified Packager"
Description: Packaged graphics, each with a different purpose.
----UPST (Standalone Textures)
----MDPC (Renderer Model Package)
-------------------------
SFX.PMU
-------------------------
"Unified Packager"
Description: No idea what these are for...sound effects need textures?
----UPST (Standalone Textures)
----MDPC (Renderer Model Package)
-------------------------
*.MEC
-------------------------
RDMP (Reflections Menu Data Package)
Description: Contains menu data chunks
----RMDL (Reflections Menu Data Chunk)
----MDPC (Reflections Menu Material Chunk)
-------------------------
FONT.BNK
-------------------------
FONT (Font Container)
Description: Holds information regarding fonts for DRIV3R. Universal.
----UPST (Standalone Textures [lContainerPa?])
----MDPC (Renderer Model Package)
----FBNK (Font Data)
-------------------------
CARGLOBALS%CITY%.VGT
-------------------------
"Unified Packager"
Description: Contains global content used for vehicles, such as interiors, brakelights, etc.
----UPST (Standalone Textures)
----MDPC (Renderer Model Package)
-------------------------
%CITY%.VVS
-------------------------
"Individual Model"
Description: Each individual car model, along with textures, is contained in here. UPVH has an unknown LONG at the beginning in place of the usual magic numbers - this should be noted.
----UPVH (Vehicle Hiearchy)*
--------AWHF (Unknown Format)
MDPC (Renderer Model Package)*
-------------------------
%CITY%.VVV
%CITY%_ARTIC_TRUCK.VVV
%CITY%_BOAT.VVV
%CITY%_BIKE.VVV
MISSION%0d.VVV
-------------------------
"Unified Packager"
Description: This is an interesting one. There's a .VVV file for the city, the semi truck, boats, motorcycles, and individual missions. Could this be vehicle selection?
----UPVH (Vehicle Hiearchy)*
--------AWHF (Unknown Format)
----MDPC (Renderer Model Package)*
* means multiple instances
Code: Select all
CITIES/CITIES
../[CITY]_[TIMEOFDAY]_[PLATFORM]
*.PCS
CHNK
MDPC - ModelPackage_PC
*.D3C
CHNK
GESR - Global Region
CHNK
GEPM - Building Physics Data
PMLD - Building Physics Lookup Data
GWTR - Water Instance Data
GEBI - Global Building Instance Data
GERD - Spline Road Data
CHNK
AIEX - AIExport
ANOD - Animated Object Data
SCND - Global Scene Data
GEPD - Prop Data Container
HRDT - Prop Hiearchy Information
GEIR - Region
CHNK
GWRD - Water Region Data
GEBI - Building Instance Data
GRTD - Region Terrain
GEBR - Building Routefind Data
JNR! - Broadphase Data
ATRD - Attractor Data
SCND - Region SceneData Data ?
OCGD - Occluder Game Data
IRCT - External file link + External?
CHNK
ATRD - Interior Attractor Object Data
ANOD - Interior Animated Object Data
GEBI - Interior Instance Data
IRDT - Interior Scene Data
GEPM - Interior Physics Model Data
PMLD - Interior Physics Lookup Data
JNR! - Interior Broadphase Data
ISHM - Interior Lighting Data
PROBv1.0 (unknown format - unused?)
GESR (again?) - External file link + Internal?
CHNK
GEPD - Prop Data Container
CHNK
HRDT - Internal Interior Prop Hierarchy Prop-Data Container
PINF - Model Information for Mission Editor
CHNK
PIND - Model Data for Mission Editor
PINS - Model Strings for Mission Editor
GEGL - Grandiose Lookup?
CHNK
GESI - Super Region Info
GILH - Lookup Header
GSIL - Super Region Lookup
GRIL - Region Lookup
IRLU - Interior Lookup Info
PCSL - "NORTH DOWNTOWN" ?
CHNK
GEPM - Building Physics Data
PMLD - Building Lookup Physics Data
ANOD - Animated Object Data
/MISSIONS
*.MPC
CHNK
[blank] - Exported Mission Root
CHNK
EM__ - Exported Mission
CHNK
EMOB - Exported Mission Objects
EMPR - Exported Mission Prop Handles
LELD - Logic Export Data
CHNK
LESC - String Collection
LESB - Sound Bank
LEAC - Actors
CHNK
LEAD - Actor Definitions
LEPR - Actor Properties Table
LENC - Logic Nodes
CHNK
LEND - Logic Node Definitions Table
LEPR - Logic Node Properties Table
LEAS - Actor Set Table
LEWC - Wire Collection
LECO - Script Counters
EMMS - Mission Summary
*.DAM
CHNK
[blank] - Unified Packager
CHNK
MDPC - Renderer Model Package
UPXD - Extra Character Data Package
UPCB - Skelton Package
/OVERLAYS
*.MAP
CHNK
[blank] - Unified Packager
CHNK
MDPC
*.GFX
CHNK
[blank] - Unified Packager
CHNK
UPST - Standalone Textures
MDPC - Renderer Model Package
/SFX
*.PMU
CHNK
[blank] - Unified Packager
UPST - Standalone Textures
MDPC - Renderer Model Package
/TERRITORY/[LOCALE]
../GUI
*.MEC
CHNK
RDMP - Reflections Menu Data Package
CHNK
RMDL - Reflections Menu Data Chunk
MDPC - Reflections Menu Material Chunk
../LOCALE/[LANGUAGE]..
../FONTS
*.BNK
CHNK
FONT - Font Container
CHNK
UPST - Standalone Textures (lContainerPa?)
MDPC - Renderer Model Package
FBNK - Font Data
/VEHICLES
../[CITYNAME]
*.VGT
CHNK
[blank] - Unified Packager
CHNK
UPST - Standalone Textures
MDPC - Renderer Model Package
*.VVS
CHNK
[UNKNOWN long] - Individual Model
CHNK
UPVH - Vehicle Hiearchy
AWHF (Unknown Format)
MDPC - Renderer Model Package
*.VVV
CHNK
[blank] - Unified Packager
CHNK
UPVH - Vehicle Hiearchy
AWHF (Unknown Format)
MDPC - Renderer Model Package
The cities of DRIV3R is basically what makes up the whole game - Miami is 390MB, Istanbul is 319MB, and Nice is 286MB. On average, each city has close to over 3,500 textures and an unknown amount of models. According to older work-in-progress screenshots, a program called "Mr. RoadBuilder" was used to create every aspect of the city itself. Here are the only screenshots ever released:
This could give potential reverse engineers an insight into how everything works. Note in the upper-right corner there are references to "Global Regions" and "Super Regions" - these are important to take note of, as they play a crucial part in my observations below. Without further ado...
Legend:
-- = Folder
---- = Inside Folder
city = Name of the city (Miami, Nice, or Istanbul)
timeofday = DAY or NIGHT
platform = I'm assuming what platform it's mean for (in this case, PC = _PC)
.d3c = DRIV3R City. These are known as "Global Regions" that basically make up the whole of the city. The .D3C file interacts with the .PCS file somehow, as there are no models or textures inside.
.pcs = Models and textures for the city. How the .D3C files access these is currently unknown.
--city_timeofday_platform*
----Interiors.pcs**
----SuperRegions.pcs***
city_timeofday_platform.d3c****
* - By default there are 6 folders - Miami with day textures is called "MIAMI_DAY_PC" and with night textures is "MIAMI_NIGHT_PC". The rest is self-explanatory.
** - Definitions for interiors are in here.
*** - Definitions for the outside world you drive in.
**** - For each folder, day or night, there is a .D3C file accompanied by it.
.PCS Files - Last Updated 11/22/2012
.PCS files contain the models and textures that make up the city. The .D3C file uses this file as an index in order to retrieve models amongst other things.
.D3C Files - Last Updated 11/22/2012
These files are very rich in content - these are the biggest CHUNK based files in the whole game. There's so much to a city it's unbelievable. More information will be put here later on.
CONFIGS
Vehicle configurations for every vehicle in the game are in here.
----Vehicles
----BigVO3
----*.b03*
* one for each city
.B03 Files - Last Updated 11/22/2012
While they're not CHUNK based files, they are still a crucial part of the game that need to be documented more. Vehicle handling, colors, etc. for every vehicle in the game.
GUNS
Weapons data located in here.
--Guns.cpr
.CPR Files - Last Updated 11/22/2012
Guess who forgot to document these files?
MISSIONS
The mission scripting language related files can be found here.
--Personalities
----*.acp
--Recordings
----*.pad
*.dam
*.mpc
.ACP Files - Last Updated 11/22/2012
AI behavior files. Not much is known.
.PAD Files - Last Updated 11/22/2012
Vehicle recording files. These were probably made in a special developer mode that records player movement similar to the Film Director.
.MCP Files - Last Updated 11/22/2012
Exported mission scripts. There was most likely a stage where they were written in a plain-text format and later converted to this special format that uses IDs from locale files.
.DAM Files - Last Updated 11/22/2012
Contains models and textures for each mission. There are a variety of things in here, so its main purpose is unknown. However, it is used to define character models/textures/joints/etc. !
OVERLAYS
I'll update this section at another time.
*.bin
*.gfx
*.map
SFX (Sound Effects)
I'll update this section at another time.
Sfx.pmu
Skies
I'll update this section at another time.
*.d3s
Sounds
I'll update this section at another time.
*.dat
*.vsb
GUI
I'll update this section at another time.
*.mec
Vehicles
I'll update this section at another time.
--city
----CarGlobals[city].vgt
*.VVS
*.VVV
BO3 file research dump:
Code: Select all
Feel free to add to this thread with your own discoveries. Let's make history right here on Driver Madness and crack into this mystery known as DRIV3R modding!unknown (no colors): 0x108
unknown (unassigned?): 0x1F8
unknown (unassigned?): 0x360
unknown (unassigned?): 0x4C8
mustang: 0x630
el toro: 0x9D8
semi: 0xB50
unknown: 0xC70
challenger: 0xD70
van: 0xEC8
g750 pickup: 0x1028
unknown: 0x1190
scout chaser: 0x12A8
hunter 313t: 0x1400
V-8: 0x1588
patriarch tycoon: 0x16E8
packer transport: 0x1858
80 redline v-8: 0x1970
grande spedizione: 0x1AD0
unknown (no colors): 0x1C38
adams liberty: 0x1D10
unknown (no colors): 0x1E60
farley whole hog: 0x1F58
unknown (no colors): 0x2088
unknown (no colors): 0x2118
unknown (no colors): 0x21D0
unknown (unassigned?): 0x2278
unknown (no colors): 0x23D0
velocity turbo: 0x24A8
TT Cuatro Superpower: 0x2610
unknown (unassigned?): 0x2770
unknown (no colors): 0x2870
Need help with something? PM Me!
Formerly known as CarLuver69 / Dr. Doom
Formerly known as CarLuver69 / Dr. Doom