Race Driver 3 .col track Files important!

ZModeler2-related discussion. General questions, howto, etc.

Moderator: Oleg

User avatar
Oleg
Site Admin
Posts: 14213
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Race Driver 3 .col track Files important!

Post by Oleg »

May you remind me, what is the main purpose of all this job? what are you trying to do actually? I would like to know it whether the task you are trying to solve has any solution or not.

You have specified in the first post that you are trying to edit collision for the track. But what are the changes are you trying to make and what game are you going to have this all working in?

The .col specs you have sent (links in a post) are not quite accurate and yet the vertices and triangles data is readable (the geometry of collision model could be drawn), but the .col file contains game-specific data for quick hit-test on collision polygons that does not seem to be well sorted out. In other words, I do not see any straight ward way to create .col file from scene's geometry object.

The model export in game-compatible format (creation of .col file) is not like writing of a dozen lines of code (to load/draw .col file), it requires complete file format decoding and getting a full understanding of the logic the game expects from the data saved in. When the logic is now known, it requires a lot of testing with (probably with a lot of game crashes) to find the type of data the game will handle with no crash and run fine (give the game something that works somehow instead of correct and proper data it actually needs).

I guess you are going to have some new or modified tracks in a RD3 to ride on, but this is an extremely outdated game that I see no point to waste time for. Consider the (part of the task you need) .col import/export will take days of work or may be even weeks to make exported .col at least run in game. I can see someone have been decoding .col files data, so I guess you might get some coders that are interested in this game or someone like that?

So far, I have made the .col loading into ZModeler (probably you already have a tool that can read .col file to show geometry), this is the most that could be done with the given format decode level.
charlie323a
Posts: 1
Joined: Fri Aug 11, 2023 12:40 am

Re: Race Driver 3 .col track Files important!

Post by charlie323a »

please Oleg, do your best, make an editor or something for that.. after that i might be able to create new track.... maybe
resso
Polecze02
Posts: 16
Joined: Sun Mar 13, 2022 1:19 am

Re: Race Driver 3 .col track Files important!

Post by Polecze02 »

Welcome Oleg, my friend LFGamer2004 figured out that it's possible to import whole scene from RD2 (visual) as old version of 3dsimed can open the RD2 p3d format, the collision mesh can be imported from rd2. Now I've set up the scene of imported track in zmodeler (most track shaders are supported), however the export is problematic - the filter was made for cars, the tracks are .px so i renamed the newly made .p3d into .px the track loads in game but yeah the mapping is quite bugged.
I'm gonna post how it looks
Original Track_Env in ZModeler (renamed from .px to .p3d)

https://prnt.sc/-kV0lqh7BgSD

New track_env - before export

https://prnt.sc/jLzJdyywao7f

after export

https://prnt.sc/mQmx0SfryUru

Can something be done for ZM3? I believe guys can donate ^
The p3d is known
https://cdn.discordapp.com/attachments/ ... 97c053bfa2&
and it's very simillar to px
I have received some time ago something about px
// 3D Mesh

// HEADER
4 - Unknown (2)
4 - Block 1 Offset
4 - Block 2 Offset
4 - Block 3 Offset
4 - Block 4 Offset
4 - Unknown (1)
4 - null
4 - Number of Vertices
4 - Vertex Block Size (24/36)
4 - Vertex List Offset
4 - Number of Face Indices
4 - Face Index List Offset
4 - Unknown (1)
8 - null
8 - Unknown
8 - Unknown (255)
8 - Number of Parts
4 - null
4 - Number of Face Indices
8 - null
4 - Number of Vertices
4 - Unknown (2/3)
4 - Block 5 Offset
4 - Number of Names
4 - Name Block Size (17)
4 - Name List Offset

// BLOCK 1
4 - null
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float

// BLOCK 2
// for each entry
4 - Unknown ID
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown
16 - null
4 - Unknown
16 - null
4 - Unknown
16 - null
4 - Unknown
4 - Unknown ID
4 - Unknown ID
4 - Unknown ID
4 - Number of Extra Data Blocks (0/1)
4 - Unknown

// for each extra data block
4 - Unknown

// BLOCK 3
// for each entry
24 - Unknown
4 - Unknown ID
4 - Unknown ID
4 - Number of Data Blocks (1/2/3)
4 - Unknown

// for each data block
4 - Unknown

// BLOCK 4 (PARTS)
// for each part (48 bytes per entry)
12 - null
4 - Unknown (0/1/2/3)
12 - Unknown (all byte 255)
4 - null
4 - Number of Vertices for this Part
4 - First Vertex Index for this Part
4 - Number of Face Indexes for this Part
4 - First Face Index for this Part

// BLOCK 5
X - Unknown

// NAME LIST
// for each name
17 - Filename (null terminated, filled with nulls)

// VERTEX LIST
// for each vertex
24/36 - Vertex Data

// FACE INDICES
// for each face index
2 - Vertex Index
Post Reply