Modding discussion for DRIV3R.
User avatar
By Fireboyd78
#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):

Image

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

	../[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
CITIES
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:

Image
Image

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? :P

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
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
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!
User avatar
By Fireboyd78
#46230
Yep, I think the sound effects file is a particles based file. "P" in "PMU" might stand for Particles.
User avatar
By Fireboyd78
#48031
Image

Well now I know how to reads vertices. Too bad faces aren't as easy...

Image

Since this is the file research topic, I will post a snippet of code that may or may not serve a purpose to anyone who sees it.
Code: Select all
UPVH > MDPC Offset: 543000

-Offset-|-- MDPC PART DEF --|-- HEXADECIMAL ----|-- WORD ---|
0x56F00C| UNK_LIST_OFFSET	| 80 00 00 00 		| 80		|
0x56F014| UNK_LIST2_OFFSET	| 80 28 00 00 		| 2880		|
0x56F028| DDS_TEX_START		| 00 60 08 00 		| 86000		|
0x56F02C| PCMP_OFFSET 		| 00 50 08 00 		| 85000		|
0x56F034| FACES_LENGTH 		| F8 6B 00 00 		| 6BF8 		|
0x56F038| FACES_OFFSET 		| 9C 53 00 00 		| 539C 		|
0x56F040| UNK_HEADER01 		| 80 53 00 00 		| 5380 		|

Vertex List begin: 	57AF94
Vertex list end: 	5F35D7
Vertex list length: 78644	(44 86 07 00)

Faces List begin:	57439C 	(9C 43 57 00)
Faces List end:		57AF93 	(93 AF 57 00)
Faces List length:	6BF8	(F8 6B 00 00)

INTERIOR
Vertices Offset:	57AF94 	(94 AF 57 00)
Vertices End:		58C453 	(53 C4 58 00)
Vertices Length:	114C0	(C0 14 01 00)
Faces Offset:		???
Faces End:			???

BF94


Minimum Start: 57B000
Maximum Start: 5DCAD0

Minimum End: 57C67F
Maximum End: 5E1683

-- INTERIOR ---------------|--MAX.--|
57B000 - 585ED7 (MESH_0640)| 57C67F |
57B564 - 585DE7 (MESH_0646)| 57FCDF |
57BEC4 - 57FCDF (MESH_0634)| 584AEB |
57C2C0 - 57C67F (MESH_0657)| 5852E3 |
57C771 - 585E9B (MESH_0662)| 585DE7 |
57E0FC - 584AEB (MESH_2970)| 585E9B |
581DEC - 5852E3 (MESH_0669)| 585ED7 |
------------------------------------|
Real length: 57B000 - 58C453 (11454)
------------------------------------|
-- LOD MODEL --------------|--------|
58C454 - 59152F (MESH_0678)| 5914F3 |
58C9B8 - 592CDB (MESH_0668)| 59152F |
58D9A8 - 5914F3 (MESH_2972)| 59242F |
58E86C - 592B37 (MESH_0639)| 59273B |
58FA00 - 59273B (MESH_0645)| 592B37 |
58FAB4 - 59336B (MESH_0650)| 592CDB |
591698 - 59242F (MESH_0683)| 59336B |
-- REAR CLIP --------------|--------|
595FF4 - 5A0CAF (MESH_0638)| 59C0BF |
596FA8 - 59F17F (MESH_0666)| 59F17F |
598A60 - 5A1597 (MESH_0675)| 5A0CAF |
5994EC - 59C0BF (MESH_0643)| 5A10AB |
5A0CEC - 5A10AB (MESH_2971)| 5A1597 |
-- TRUNK ------------------|--------|
5A92FC - 5A9DC3 (MESH_0667)| 5A9DC3 |
5A9680 - 5A9EB3 (MESH_0677)| 5A9EB3 |
5A9EF0 - 5AA4CB (MESH_0644)| 5AA4CB |
-- BUMPER -----------------|--------|
5AAB20 - 5ABFFB (MESH_0676)| 5ABFFB |
-- RIGHT DOOR -------------|--------|
5AEE64 - 5B1B9F (MESH_0674)| 5B082B |
5AEF90 - 5B082B (MESH_0665)| 5B0E07 |
5B0868 - 5B0E07 (MESH_0637)| 5B1203 |
5B0E44 - 5B1203 (MESH_0649)| 5B1B9F |
-- LEFT DOOR --------------|--------|
5B4198 - 5B6FFF (MESH_0673)| 5B62DF |
5B42C4 - 5B62DF (MESH_0664)| 5B6717 |
5B613C - 5B6717 (MESH_0636)| 5B6AD7 |
5B6754 - 5B6AD7 (MESH_0648)| 5B6FFF |
-- ENGINE BAY -------------|--------|
5B9670 - 5BF4E3 (MESH_0635)| 5BC54F |
5BC118 - 5BC54F (MESH_0641)| 5BF4E3 |
-- FRONT CLIP -------------|--------|
5C55B0 - 5C758F (MESH_0672)| 5C758F |
5C9354 - 5CB3AB (MESH_0671)| 5CB3AB |
5CCFCC - 5D22C3 (MESH_0670)| 5D22C3 |
-- HOOD -------------------|--------|
5D521C - 5D7A6B (MESH_0663)| 5D7A6B |
5D7A6C - 5D946F (MESH_0642)| 5D946F |
-- STEERING WHEEL ---------|--------|
5DB270 - 5DC1E7 (MESH_0647)| 5DC1E7 |
-- WHEEL MODEL ------------|--------|
5DC788 - 5E1683 (3D WHEEL) | 5DD33F |
5DCAD0 - 5DD33F (WHL TREAD)| 5E1683 |
---------------------------|--------|
Here's the heavily-WIP MaxScript I made in case anyone cares...:P
Code: Select all
clearlistener()

if (heapSize < 200000) do (
   heapSize = 2000000
)

--vF = GetOpenFileName caption:"Choose VVS File:" \
--types:"DRIV3R Vehicles (*.VVS)|*.VVS|"

vF = "C:\Program Files (x86)\Atari\DRIV3R\Vehicles\miami.vvs"

f = fopen vF "rb"

readFaces = true
readVerts = true

face_array = #()

if readFaces == true do (
   fseek f 5718940 #seek_set
   
   format "Faces begin: 0x%\n" ((bit.intAsHex(ftell f)) as string)
   --format "%\n" "---------------------------------"
   
   for k = 1 to 304 do (
      --format "%\n" ("Indice Idx: "+k as string)
      
      i0 = ReadShort f #unsigned+1
      i1 = ReadShort f #unsigned+1
      i2 = ReadShort f #unsigned+1
      
      append Face_array[i0,i1,i2]
         
      --format "indicies: [%,%,%]\n"\
         --((i0+1) as string)\
         --((i1+1) as string)\
         --((i2+1) as string)
      
      --format "%\n" ("---------------------------------")
      windows.processPostedMessages()
   )
   format "Faces end: 0x%\n" ((bit.intAsHex(ftell f)) as string)
)

if readVerts == true do (
   fseek f 5750468 #seek_set

   vx = 0.0
   vy = 0.0
   vz = 0.0
   nx = 0.0
   ny = 0.0
   nz = 0.0
   tu = 0.0
   tv = 0.0

   
   vert_array = #()
   norm_array = #()
   uv_array = #()

   debugStuff = 0
   format "Vertices Begin: 0x%\n" ((bit.intAsHex(ftell f)) as string)
   
   for i = 1 to 6910 do (
      if debugStuff == 1 do format "Current Position: 0x%\n" ((bit.intAsHex(ftell f)) as string)
      
      vx = ReadFloat f
      vy = ReadFloat f
      vz = ReadFloat f
      
      nx = ReadFloat f
      ny = ReadFloat f
      nz = ReadFloat f
      
      tu = ReadFloat f
      tv = ReadFloat f
      
      junk1 = ReadLong f #unsigned
      junk2 = ReadLong f #unsigned
      junk3 = ReadLong f #unsigned
      junk4 = ReadLong f #unsigned
      junk5 = ReadLong f #unsigned
      junk6 = ReadLong f #unsigned
      junk7 = ReadLong f #unsigned
      
      --The format is vx, vy, vz, nx, ny, nz, tu, tv, junk1, junk2, junk3, junk4, junk5, junk6, junk7...
      
      append vert_array[vx*100,-vz*100,vy*100]
      append norm_array[nx,ny,nz]
      append uv_array[tu,tv,0]
      
      if debugStuff == 1 do (
         format "\nvx: %\nvy:\t%\nvz:\t%\nnx:\t%\nny:\t%\nnz:\t%\ntu:\t%\ntv:\t%"\
            (vx as string)\
            (vy as string)\
            (vz as string)\
            (nx as string)\
            (ny as string)\
            (nz as string)\
            (tu as string)\
            (tu as string)
         format "\n----------------------------------------------------------------------\n"
      )

   windows.processPostedMessages()
   )
   format "Vertices End: 0x%\n" ((bit.intAsHex(ftell f)) as string)

   msh = mesh vertices:vert_array faces:face_array
      setNumTVerts msh uv_array.count
         
      for i = 1 to uv_array.count do (setTVert msh i uv_array[i])
      buildTVFaces msh false
      for i = 1 to face_array.count do (setTVFace msh i face_array[i])
         
      select msh
)

fclose f
User avatar
By Fireboyd78
#48036
Been on the case for the past 3 hours straight. Looks like faces are going to be the most difficult...
User avatar
By Skylabh
#48048
Nice progress.
About the max script, i have some errors at lines 22, 42, 63, 108 : " unable to convert: undefined to type : integer "

Edit: i have found.

Another error for " windows.processPostedMessages() "

Seems to be a version issue.

Ok, i have commented the lines, now it works.
Last edited by Skylabh on Mon Mar 11, 2013 2:49 am, edited 6 times in total.
User avatar
By Fireboyd78
#48055
Skylabh wrote:Nice progress.
About the max script, i have some errors at lines 22, 42, 63, 108 : " unable to convert: undefined to type : integer "

Edit: i have found.

Another error for " windows.processPostedMessages() "

Seems to be a version issue.

Ok, i have commented the lines, now it works.
Which version of 3DS Max are you using?
User avatar
By Fireboyd78
#48077
Skylabh wrote:3DS Max 2010, so that explains the errors i guess.
Actually no, that makes no sense at all. I am using 2011 and the commands I used have been around in 3DS Max for a long time. Maybe you ran the script wrong? Doesn't make much sense.
User avatar
By Skylabh
#48087
RacingFreak wrote:I have 3DS MAX 2011 and it runs just fine :specialdriver:
Yes this seems logical because the function is available from 2011 version.

Anyway it's not a big deal having said.
User avatar
By Fireboyd78
#48210
Alright, so it only took me about 22 days to fix the faces issue...LOL! I can't thank Jeff enough for helping me get past that one last barrier that was in my way (Y)

Things are looking up, but we're not quite there yet.

Image

I estimate that sometime in April, if things continue looking good the way they are now, I will be able to import a complete vehicle into 3ds Max - textures and all.
User avatar
By Fireboyd78
#48219
I'm just as excited about this as you guys are! What's even cooler is that I'm actually doing what I've always wanted to do...be one of the first people to mod a game! Anyone who wants to be a programmer, I strongly encourage you to try this out at least once!
User avatar
By Klancnik777
Registration Days Posts Posts Posts Posts Avatar
#50388
CONTENT UPDATED

my turn!

so for 6 days i was researching mpc files and here's what i found:
Code: Select all
Exported Mission Objects
|_controls character's actions in cutscenes (ex: tanner gets in a car)
|__ defines position for scripted vehicles
|____ defines scripted character spawn locations (this also goes for the player)
|_____ assigns what model should specific character have
|______ controls camera and its position for cutscenes (probably also rotation)
|_______ it also defines what vehicle should spawn
         |__ these are defined by vehicle id

Mission summary
|_ defines what city should load
|___ defines which mood file should load and also which music file should load
Image

i will upload more information if something new is discovered!
Last edited by Klancnik777 on Sun Aug 25, 2013 10:01 am, edited 2 times in total.
Crazy Copper Frenzy

https://youtu.be/xAE3QsULyB4

https://youtu.be/AxdGf3F0yIg

Driv3r "Nice Getaway"

https://youtu.be/CYkmGAPoO9s Lucas in Driv3r's Ni[…]

https://youtu.be/Yvc_xKrKhnc?si=k4I5kraarTXctHJp […]