Vehicle Track Asset: Difference between revisions

From COD Engine Research
Created page with "__NOTOC__ Category:Assets Category:MW3 Category:Ghosts The vehicle_track asset was added on Modern Warfare 3 and remained completely unchanged on Ghosts. Although ..."
 
No edit summary
Line 5: Line 5:
The vehicle_track asset was added on Modern Warfare 3 and remained completely unchanged on Ghosts. Although the majority of the structure is unknown, it clearly holds pathing information for particular vehicles to be bound to on a particular map. It is part of the D3DBSP system produced by Radiant.
The vehicle_track asset was added on Modern Warfare 3 and remained completely unchanged on Ghosts. Although the majority of the structure is unknown, it clearly holds pathing information for particular vehicles to be bound to on a particular map. It is part of the D3DBSP system produced by Radiant.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
struct unknownTrackNodeStruct
struct VehicleTrackObstacle
{
{
   char unknown1[0x34];
   float origin[2];
   char * unknown2; //size = ((unknownCount1 << 1) + unknownCount1) << 2
   float radius;
  unsigned int unknownCount1;
};
};


struct TrackNode
struct __declspec(align(8)) VehicleTrackSector
{
{
   const char * name;
  float startEdgeDir[2];
   unknownTrackNodeStruct * unknownStructArray;
  float startEdgeDist;
   unsigned int unknownStructCount;
  float leftEdgeDir[2];
   TrackNode * * unknownNodes1; //Count = unknownNodeCount1;
  float leftEdgeDist;
   unsigned int unknownNodeCount1;
  float rightEdgeDir[2];
   TrackNode * * unknownNodes2;
  float rightEdgeDist;
   unsigned int unknownNodeCount2;
  float sectorLength;
   char unknown[0x10];
  float sectorWidth;
  float totalPriorLength;
  float totalFollowingLength;
  VehicleTrackObstacle *obstacles;
  unsigned int obstacleCount;
};
 
const struct __declspec(align(8)) VehicleTrackSegment
{
   const char * targetName;
   VehicleTrackSector *sectors;
   unsigned int sectorCount;
   VehicleTrackSegment **nextBranches;
   unsigned int nextBranchesCount;
   VehicleTrackSegment **prevBranches;
   unsigned int prevBranchesCount;
   float endEdgeDir[2];
  float endEdgeDist;
  float totalLength;
};
};


struct VehicleTrackMap
struct __declspec(align(8)) VehicleTrack
{
{
   const char * name;
   const char * name;
   TrackNode * nodes;
   VehicleTrackSegment *segments;
   unsigned int nodeCount;
   unsigned int segmentCount;
};
};
</syntaxhighlight>
</syntaxhighlight>

Revision as of 05:32, 22 December 2014

The vehicle_track asset was added on Modern Warfare 3 and remained completely unchanged on Ghosts. Although the majority of the structure is unknown, it clearly holds pathing information for particular vehicles to be bound to on a particular map. It is part of the D3DBSP system produced by Radiant.

struct VehicleTrackObstacle
{
  float origin[2];
  float radius;
};

struct __declspec(align(8)) VehicleTrackSector
{
  float startEdgeDir[2];
  float startEdgeDist;
  float leftEdgeDir[2];
  float leftEdgeDist;
  float rightEdgeDir[2];
  float rightEdgeDist;
  float sectorLength;
  float sectorWidth;
  float totalPriorLength;
  float totalFollowingLength;
  VehicleTrackObstacle *obstacles;
  unsigned int obstacleCount;
};

const struct __declspec(align(8)) VehicleTrackSegment
{
  const char * targetName;
  VehicleTrackSector *sectors;
  unsigned int sectorCount;
  VehicleTrackSegment **nextBranches;
  unsigned int nextBranchesCount;
  VehicleTrackSegment **prevBranches;
  unsigned int prevBranchesCount;
  float endEdgeDir[2];
  float endEdgeDist;
  float totalLength;
};

struct __declspec(align(8)) VehicleTrack
{
  const char * name;
  VehicleTrackSegment *segments;
  unsigned int segmentCount;
};