http://mm2kiwi.apan.is-a-geek.com/api.php?action=feedcontributions&user=CarLuver69&feedformat=atom
Mm2kiwi - User contributions [en-gb]
2024-03-29T11:59:19Z
User contributions
MediaWiki 1.27.1
http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKG&diff=1758
PKG
2017-11-28T05:29:39Z
<p>CarLuver69: /* Shaders */ Updated shader formats.</p>
<hr />
<div>==Introduction==<br />
<br />
Many aspects of MM2 requires geometric objects. These range from lampposts and waste bins, through monuments and complex facades to vehicles hudmaps and dashboards. A PKG file defines the geometric properties of a single object as well as the visual material properties of the surfaces.<br />
<br />
The PKG format used in the game Midnight Club differs slightly from this format. A description of the differences can be found [[PKGMC|here]].<br />
<br />
==Format description==<br />
===Files===<br />
The PKG file format is built up by several chunks of data, these chunks are called ''files''. There are a number of different types of files, each of these contain different types of data that make up the complete 3D model of the object.<br />
<br />
Each file has a name. This name determines the type of the file.<br />
<br />
{| class="wikitable"<br />
! Name !! Description<br />
|-<br />
| ''*VL, *L, *M, *H''<br />
| Files whose name ends with one of ''VL'', ''L'', ''M'' or ''H'' define geometry primitives. The name suffixes define the LOD, the level of detail, of the particular part of the object. A PKG-file can have any number of separate parts, some have special significance, especially for vehicle models. The suffixes themself stand for Very Low, Low, Medium and High respectively. Look [[PKG_Groups|here]] for a description of the special geometry groups.<br />
|-<br />
| ''shaders''<br />
| A PKG-file always have one ''shader'' file. It defines the visual material properties to use for the surfaces defined in the geometry files. Shaders can be defined in one of two ways, either using floating point colour values or integer colour values. Each shader defines ambient, diffuse, specular and emissive colours. The floating point shader also specifies the shininess used to calculate highlights. Each shader can also specify one texture map. The shaders are organized in groups called ''paint jobs''. When an object is placed in game, a certain paint job is requested, either by the [[INST]], [[Pathset]] or [[PSDL]] for monuments and props or by user interaction for player vehicle models. Each paint job holds the same number of shaders, even if a particular shader is identical in several paint jobs. Each group of geometry primitives referens an index in to a single paint-job of the shader list. <br />
|-<br />
| ''offset''<br />
| Unknown, probably provides a way to offset every point of this model with a fixed vector. A PKG-file can only contain one offset file.<br />
|-<br />
| ''xref''<br />
| Reference to another PKG. Some objects are constructed by attaching several smaller objects to itself. Often these parts are ''breakable''. This means that they can be broken off from the main object. Examples are awnings on facades or pieces of driveable vehicles that can break off as a result of careless driving.<br />
|}<br />
<br />
===Structure===<br />
MM2 can read two types of PKG files, PKG2 and PKG3, these differ slightly in the structure. The following C-style format description describes this using a ''union'' type.<br />
struct PKG<br />
{<br />
char[4] header = "PKG3" | "PKG2";<br />
PKGFile[] files;<br />
}<br />
<br />
union PKGFile<br />
{<br />
PKG2File pkg2file; // If header == "PKG2"<br />
PKG3File pkg3file; // If header == "PKG3"<br />
}<br />
<br />
struct PKG2File<br />
{<br />
char[4] header = "FILE";<br />
String name; // Name of this section<br />
PKGFileData data; // Format depends of name, see below<br />
}<br />
<br />
struct PKG3File<br />
{<br />
char[4] header = "FILE";<br />
String name; // Name of this section<br />
long length; // Length of this PKGFile in bytes<br />
PKGFileData data; // Format depends of name, see below<br />
}<br />
<br />
struct String<br />
{<br />
unsigned byte length; // Number of bytes in this string including<br />
// the string terminator.<br />
char[length - 1] characters; // ASCII characters<br />
char terminator = '\0';<br />
}<br />
<br />
====Geometry file====<br />
struct PKGFileData<br />
{<br />
long nSections; // Number of sections making up this LOD<br />
long nVerticesTot; // Total number of vertices in this LOD<br />
long nIndiciesTot; // Total number of indicies in this LOD<br />
long nSections2; // Repetition of the number of sections?<br />
// Highly unlikely, but I have no better suggestion at<br />
// this time<br />
long fvf; // Flags defining what components are provided with<br />
// each vertex, see below<br />
PKGSection[nSections] sections;<br />
}<br />
<br />
struct PKGSection<br />
{<br />
ushort nStrips; // Number of geometry strips in this section<br />
ushort flags; // Unknown flags (Always 0 in MM2 PKGs)<br />
<br />
long shaderOffset; // Offset into the shader list of the requested<br />
// paintjob<br />
PKGStrip[nStrips] strips;<br />
}<br />
<br />
struct PKGStrip<br />
{<br />
long primType; // Determines the primitive type<br />
long nVertices; // Number of vertices in this strip<br />
PKGVertex[nVertices] vertices;<br />
long nIndices; // Number of indices making up the geometry strip<br />
ushort[nIndices] indices;<br />
}<br />
<br />
struct PKGVertex<br />
{<br />
Vertex3D coordinate; // If flags indicate coordinates<br />
Vector3D normal; // If flags indicate normals<br />
Vertex2D textureCoordinate; // If flags indicate texture coordinates<br />
}<br />
<br />
struct Vertex3D<br />
{<br />
float x;<br />
float y;<br />
float z;<br />
}<br />
<br />
struct Vector3D<br />
{<br />
float x;<br />
float y;<br />
float z;<br />
}<br />
<br />
struct Vertex2D<br />
{<br />
float x;<br />
float y;<br />
}<br />
<br />
The bits of the PKGFILEData.fvf field are defined by the DirectX flexible vertex format enumerated type. Some of the bits are as follows:<br />
<br />
<ol start="0"><br />
<li>D3DFVF_RESERVED0</li><br />
<li>D3DFVF_XYZ - Coordinate</li><br />
<li>D3DFVF_XYZRHW - Pre-transformed coordinate</li><br />
<li>Unknown</li><br />
<li>D3DFVF_NORMAL - Normal vector</li><br />
<li>D3DFVF_RESERVED1</li><br />
<li>D3DFVF_DIFFUSE - Vertex colour 0 (diffuse)</li><br />
<li>D3DFVF_SPECULAR - Vertex colour 1 (specular)</li><br />
<li>D3DFVF_TEX1 - One 2D texture coordinate</li><br />
</ol><br />
Other bits can be checked in the DirectX documentation or header file d3dtypes.h.<br />
<br />
The only known value for primType is PRIMTYPE_TRIANGLES (=3) that means that the indices make up lists of complete, separate triangles.<br />
<br />
====Shaders====<br />
PKGFileData<br />
{<br />
long shaderType; // Bit 7: Shader type<br />
// Bit 0-6: Number of paint jobs<br />
long shadersPerPaintJob;<br />
PKGShader[Number of paint jobs * shadersPerPaintJob] shaders;<br />
}<br />
<br />
union PKGShader<br />
{<br />
PKGFullShader fullShader; // If type is 0<br />
PKGLightShader lightShader; // If type is 1<br />
}<br />
<br />
'''NOTE:''' The original format for shaders was ''wrong''! Diffuse and Ambient were reversed, and Emissive was incorrectly named Reflective. The shader names have also been updated to try and better reflect their uses.<br />
<br />
PKGFullShader<br />
{<br />
String textureName;<br />
Color4f diffuse;<br />
Color4f ambient;<br />
Color4f specular;<br />
Color4f emissive;<br />
float shininess; // Intensity of specular highlights<br />
}<br />
<br />
PKGLightShader<br />
{<br />
String textureName;<br />
Color4d diffuse;<br />
Color4d ambient;<br />
Color4d emissive;<br />
float shininess; // Intensity of specular highlights<br />
}<br />
<br />
Color4f<br />
{<br />
float red;<br />
float green;<br />
float blue;<br />
float alpha;<br />
}<br />
<br />
Color4d<br />
{<br />
unsigned char red;<br />
unsigned char green;<br />
unsigned char blue;<br />
unsigned char alpha;<br />
}<br />
<br />
====Offset====<br />
PKGFileData<br />
{<br />
Vector3D offset; // Have not tested, but could be an offset added to all<br />
// vertices in the object<br />
}<br />
<br />
====XRef====<br />
PKGFileData<br />
{<br />
long nReferences;<br />
PKGXRef[nReferences] references;<br />
}<br />
<br />
PKGXRef<br />
{<br />
Vector3D xAxis;<br />
Vector3D yAxis;<br />
Vector3D zAxis;<br />
Vector3D origin;<br />
char[32] name;<br />
}<br />
<br />
==MTX - Local objects==<br />
Some PKGs have several geometry files that are defined in a local coordinate system. These are recognised by the fact that they have an additional, external file in the filesystem. Look [[MTX|here]] for more information.<br />
<br />
==Boundary files==<br />
MM2 use three file types for collision detection and material properties on regular PKG objects:<br />
<br />
* [[BND]] - Simple bound mesh in a plain ASCII format.<br />
* [[BBND]] - Binary version of .bnd<br />
* [[TER]] - Unknown, but the MM2 engine does read these files<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1711
BND
2012-01-11T21:33:50Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br />
<pre><br />
version: 1.01 //Always seems to be 1.01?<br />
verts: 12 //Vertex count<br />
materials: 1 //How many material definitions the BOUND has<br />
edges: 0 //Edge count<br />
polys: 13 //Poly count<br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</pre><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1710
BND
2012-01-11T21:32:00Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<pre><br />
version: 1.01 //Always seems to be 1.01?<br />
verts: 12 //Vertex count<br />
materials: 1 //How many material definitions the BOUND has<br />
edges: 0 //Edge count<br />
polys: 13 //Poly count<br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</pre><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1709
BND
2012-01-11T21:31:39Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<pre><br />
version: 1.01 //Always seems to be 1.01?<br />
verts: 12 //Vertex count<br />
materials: 1 //How many material definitions the BOUND has<br />
edges: 0 //Edge count<br />
polys: 13 //Poly count<br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</pre><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1708
BND
2012-01-11T21:29:58Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<pre><br />
version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</pre><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1707
BND
2012-01-11T21:29:29Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<pre><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</pre><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1706
File tree
2012-01-11T21:19:07Z
<p>CarLuver69: /* Water of death definition */</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the height of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>[_BREAK##].dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Joystick/Wheel settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1705
BND
2012-01-11T21:15:29Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of a [[PKG]] object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BBND&diff=1704
BBND
2012-01-11T21:14:58Z
<p>CarLuver69: </p>
<hr />
<div>BBND is a binary version of the [[BND|ASCII-based]] format used to define the boundary of [[PKG]] objects.<br />
<br />
struct BBND<br />
{<br />
char version; // == 1<br />
long nVertices;<br />
long nMaterials;<br />
long nPolys;<br />
BBNDVertex vertices[nVertices];<br />
BBNDMaterial materials[nMaterials];<br />
BBNDPolygon polys[nPolys];<br />
};<br />
<br />
struct BBNDVertex<br />
{<br />
float x;<br />
float y;<br />
float z;<br />
};<br />
<br />
struct BBNDMaterial<br />
{<br />
char[32] name;<br />
float elasticity;<br />
float friction;<br />
char[32] effect;<br />
char[32] sound;<br />
};<br />
<br />
struct BBNDPolygon<br />
{<br />
short indicies[4];<br />
short material;<br />
};<br />
<br />
Bound polygons can be quads and triangles. If a polygon is a triangle, the last index is 0. Therefore a future exporter must never put the vertex index 0 last in a quad polygon. All strings are fixed 32 byte arrays with terminator byte 0x00.</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1703
BND
2012-01-11T21:13:00Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br><br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1702
BND
2012-01-11T21:12:44Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<i>vp4x4_BOUND.bnd</i><br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1701
BND
2012-01-11T21:12:19Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1700
BND
2012-01-11T20:09:27Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br><br />
v -1.237810 0.624240 2.996410<br> <br />
v -1.237810 1.771920 2.827500<br> <br />
v -1.237810 2.202820 -0.881580<br> <br />
v -1.237810 1.310590 -2.904570<br> <br />
v -1.237810 0.420690 -2.904570<br> <br />
v 1.243870 0.624240 2.996410<br> <br />
v 1.243870 0.420690 -2.904570<br> <br />
v 1.243870 1.310590 -2.904570<br> <br />
v 1.243870 2.202820 -0.881580<br> <br />
v 1.243870 1.792910 2.827500<br> <br />
v -1.237810 2.192200 1.307540<br> <br />
v 1.243870 2.192200 1.307540<br> <br />
<br />
mtl default {<br><br />
elasticity: 0.100000<br> <br />
friction: 0.500000<br> <br />
effect: none<br><br />
sound: 0<br><br />
}<br><br />
<br><br />
<br><br />
quad 0 1 2 3 0 <br><br />
tri 3 4 0 0 <br><br />
quad 5 6 7 8 0 <br><br />
quad 11 9 5 8 0 <br><br />
quad 0 4 6 5 0 <br><br />
quad 4 3 7 6 0 <br><br />
quad 2 10 11 8 0 <br><br />
tri 1 0 5 0 <br><br />
tri 5 9 1 0 <br><br />
quad 8 7 3 2 0 <br><br />
tri 9 11 10 0 <br><br />
tri 10 1 9 0 <br><br />
tri 1 10 2 0 <br><br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1699
BND
2012-01-11T20:08:49Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code><br />
version: 1.01<br><br />
verts: 12<br> <br />
materials: 1<br> <br />
edges: 0<br><br />
polys: 13<br> <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1698
BND
2012-01-11T20:08:29Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code><br />
version: 1.01;<br />
verts: 12; <br />
materials: 1; <br />
edges: 0; <br />
polys: 13; <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1697
BND
2012-01-11T20:08:13Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code><br />
version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1696
BND
2012-01-11T20:06:38Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<table border="1" cellpadding="2" cellspacing="0"<tr><td>version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</td></tr></table><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1695
BND
2012-01-11T20:06:10Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<table><td>version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</td></table><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1694
BND
2012-01-11T20:05:53Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<td>version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</td><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1693
BND
2012-01-11T19:59:16Z
<p>CarLuver69: </p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<code>version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</code><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=BND&diff=1692
BND
2012-01-11T19:59:03Z
<p>CarLuver69: Ah, there we go. BND has its own page now.</p>
<hr />
<div>BND is a simple ASCII format file used to define the collision box of an object. An example of a BND file would be this:<br />
<br />
<nowiki>version: 1.01<br />
verts: 12 <br />
materials: 1 <br />
edges: 0 <br />
polys: 13 <br />
<br />
v -1.237810 0.624240 2.996410 <br />
v -1.237810 1.771920 2.827500 <br />
v -1.237810 2.202820 -0.881580 <br />
v -1.237810 1.310590 -2.904570 <br />
v -1.237810 0.420690 -2.904570 <br />
v 1.243870 0.624240 2.996410 <br />
v 1.243870 0.420690 -2.904570 <br />
v 1.243870 1.310590 -2.904570 <br />
v 1.243870 2.202820 -0.881580 <br />
v 1.243870 1.792910 2.827500 <br />
v -1.237810 2.192200 1.307540 <br />
v 1.243870 2.192200 1.307540 <br />
<br />
mtl default {<br />
elasticity: 0.100000 <br />
friction: 0.500000 <br />
effect: none<br />
sound: 0<br />
}<br />
<br />
<br />
quad 0 1 2 3 0 <br />
tri 3 4 0 0 <br />
quad 5 6 7 8 0 <br />
quad 11 9 5 8 0 <br />
quad 0 4 6 5 0 <br />
quad 4 3 7 6 0 <br />
quad 2 10 11 8 0 <br />
tri 1 0 5 0 <br />
tri 5 9 1 0 <br />
quad 8 7 3 2 0 <br />
tri 9 11 10 0 <br />
tri 10 1 9 0 <br />
tri 1 10 2 0 <br />
</nowiki><br />
<br />
BND's can have their own materials (grass, cobblestone, etc.) depending on what the purpose of the BND is (car's collision box, drivable surfaces, etc.)</div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1691
File tree
2012-01-11T19:48:06Z
<p>CarLuver69: /* Tuning information */</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the heghit of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>[_BREAK##].dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Joystick/Wheel settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1690
File tree
2012-01-11T19:47:19Z
<p>CarLuver69: /* Tuning information */</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the heghit of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>_[_BREAK##].dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Joystick/Wheel settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1689
File tree
2012-01-11T19:46:52Z
<p>CarLuver69: /* Tuning information */ .dgbangerdata files can have _BREAK suffixes</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the heghit of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>[_BREAK##].dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Joystick/Wheel settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1688
File tree
2012-01-11T19:44:47Z
<p>CarLuver69: /* Tuning information */ .asnode defined</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the heghit of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>.dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Joystick/Wheel settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69
http://mm2kiwi.apan.is-a-geek.com/index.php?title=File_tree&diff=1687
File tree
2012-01-11T19:42:13Z
<p>CarLuver69: /* Race definitions */ Amateur/Professional aimaps</p>
<hr />
<div>__NOTOC__<br />
The AR files of MM2 make up a common file tree, the files are extracted to a, shared, virtual file system when needed. The structure of this file system is as follows:<br />
==Structure==<br />
<div class="FolderTree"><br />
<ul><br />
<li class="FolderTree-Open">root<br />
<ul><br />
<li class="FolderTree-Open">anim<br />
<div class="FolderTree-Content"><br />
===Animated objects===<br />
<p><br />
The ''anim'' folder holds definitions of the animated objects <br />
of MM2. These are the pedestrians.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.anim<br />
<div class="FolderTree-Content"><br />
====Animation sequence====<br />
<p><br />
Each [[Pedestrian animations|animation sequence]], <br />
associated with a state, is made up by a number of key <br />
frames. Each key frame has several parameters that should be <br />
applied to each bone in the skeleton. By moving the <br />
skeleton, the entire model will move.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.csv<br />
<div class="FolderTree-Content"><br />
====Animation state model====<br />
<p><br />
The animation of a pedestrian is based on a <br />
[[Pedestrian state models|state model]]. A pedestrian is <br />
always in a specific state and each state is connected to an <br />
animation sequence. For example, if the pedestrian is in the <br />
state "WALK", the animation named pedanim_womwalk.anim is <br />
looping over and over again. When something happens, the <br />
pedestrian might make a transition from one state to another.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.rays<br />
<div class="FolderTree-Content"><br />
<br />
====Unknown: rays====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.shaders<br />
<div class="FolderTree-Content"><br />
====Shader definitions====<br />
<p><br />
The [[PKG#Shaders|shaders]] are defined in exactly the same <br />
way as for PKG objects. The pedmodel_*.shaders files follow <br />
the specification of the PKGFileData in the [[PKG]] file <br />
format.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.skel<br />
<div class="FolderTree-Content"><br />
====Skeleton====<br />
<p><br />
All the parts of a pedestrian model are bound to a <br />
[[Pedestrian skeleton|skeleton]]. <br />
A skeleton is constructed by a number of bones that are <br />
attached with joints. In MM2 the skeletons are defined using <br />
a tree structure. <br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mod<br />
<div class="FolderTree-Content"><br />
====Geometry model====<br />
<p><br />
The [[Pedestrian model|pedmodel_*.mod]] files define the <br />
actual 3D model of a pedestrian. It defines vertices, some <br />
material attributes and the surfaces of the model.<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">aud<br />
<div class="FolderTree-Content"><br />
<br />
===Audio files===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">bound<br />
<div class="FolderTree-Content"><br />
<br />
===Object boundaries===<br />
<p><br />
MM2 use three file types for collision detection and material properties on regular PKG objects, [[BND]], [[BBND]] and [[TER]].<br />
<br />
It is not clear when to pick .bbnd/.ter over .bnd, but some indications imply that objects placed with INST typically uses the binary formats.<br />
</p><br />
</div><br />
<ul><br />
<li class="FolderTree-File-JS">*.bnd<br />
<div class="FolderTree-Content"><br />
====ASCII bound====<br />
<p><br />
Simple, ASCII-based file format defined [[BND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.bbnd<br />
<div class="FolderTree-Content"><br />
====Binary bound====<br />
<p><br />
Binary version of the ASCII-based format, defined [[BBND|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ter<br />
<div class="FolderTree-Content"><br />
====Terrain bound====<br />
<p><br />
Unknown format, defined [[TER|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">city<br />
<div class="FolderTree-Content"><br />
<br />
===City definitions===<br />
<p><br />
Each MM2 city has a number of files defining the actual city, its geometry, monuments, traffic flows and so on. Many of the files that controls these things are stored in the ''city'' folder.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-Open">audio_pathsets<br />
<ul><br />
<li class="FolderTree-File-JS">*.pathset<br />
<div class="FolderTree-Content"><br />
====Local city sound placement====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">decals.pathset<br />
<div class="FolderTree-Content"><br />
====Decal placements====<br />
<p><br />
Decals are flat images that can be placed on the ground <br />
and on facades to increase the visual detail level. Decals <br />
are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">props.pathset<br />
<div class="FolderTree-Content"><br />
====Prop placements====<br />
<p><br />
Props are, typically, small 3D objects like road cones, <br />
park benches and similar that can be placed around the <br />
city. Props are placed using [[Pathset|pathset]] files.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">propdefs.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop definitions====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
repetiton controls for certain props. The proprules file <br />
controls which of these props are to be placed next in <br />
line.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">proprules.csv<br />
<div class="FolderTree-Content"><br />
====Roadside prop rules====<br />
<p><br />
The roads defined by the [[PSDL]] file can be <br />
automatically be filled with props. This file defines <br />
the sequencing of the prop definitions defined in the <br />
propdefs file. The [[PSDL]] file selects a proprule index <br />
from this file for each road. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file====<br />
<p><br />
This file controls what ambients are present in this city.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.bai<br />
<div class="FolderTree-Content"><br />
====Ambient path file====<br />
<p><br />
This file defines where and how the ambients may move in the <br />
city. See [[BAI]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cpvs<br />
<div class="FolderTree-Content"><br />
====Potentially visible set definition====<br />
<p><br />
MM2 uses a PVS, or potentially visible set, algorithm to <br />
speed up rendering of each game frame. These files contain <br />
the pre-calculated PVS tree. See [[CPVS]] for details.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.inst<br />
<div class="FolderTree-Content"><br />
====Stationary objects====<br />
<p><br />
For stationary objects that require more detail than the <br />
[[PSDL]] file can provide, the [[INST]] file can be used to <br />
place [[PKG]] objects throughout the city. These objects <br />
will not move for anything.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.ldef<br />
<div class="FolderTree-Content"><br />
====LDEF====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lmap<br />
<div class="FolderTree-Content"><br />
====Light map definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.lt*<br />
<div class="FolderTree-Content"><br />
====LT====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.csv<br />
<div class="FolderTree-Content"><br />
====Material mappings====<br />
<p><br />
This file simply lists what material should be used together <br />
with which image map.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">materials.mtl<br />
<div class="FolderTree-Content"><br />
====Material definitions====<br />
<p><br />
Defines material properties such as friction and possible <br />
particle effecs that apply to a particular type of surface.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.psdl<br />
<div class="FolderTree-Content"><br />
====City geometry====<br />
<p><br />
The [[PSDL]] file defines the major geometry of the city. <br />
All roads and most buildings are defined with this file.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.sky<br />
<div class="FolderTree-Content"><br />
====Sky dome definition====<br />
<p><br />
Defines the name of the sky dome object and to position of <br />
the center of this dome relative to the [[PSDL]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.water<br />
<div class="FolderTree-Content"><br />
====Water of death definition====<br />
<p><br />
Defines the heghit of deadly water - if a vehicle goes below <br />
this height it sleeps with the fishes. Possibly a list of <br />
[[PSDL]] block ids can be listed for blocks that define <br />
deadly water at any height. <br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">geometry<br />
<div class="FolderTree-Content"><br />
<br />
===Object definitions===<br />
<p><br />
The geometry of generic 3D objects are defined by PKG files. These are used for many things, from player vehicles to statues and complex facades.<br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.pkg<br />
<div class="FolderTree-Content"><br />
====Object geometry====<br />
<p><br />
Actual geometry is defined in these files, definition can be found [[PKG|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.mtx<br />
<div class="FolderTree-Content"><br />
====Object matrix====<br />
<p><br />
Defines a transformation matrix for ''local'' parts of a [[PKG]]. Format is defined [[MTX|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">jpg<br />
<div class="FolderTree-Content"><br />
<br />
===Game interface graphics===<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-Open">texture<br />
<div class="FolderTree-Content"><br />
===Game image maps===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">*.tex<br />
<div class="FolderTree-Content"><br />
====Custom image map file====<br />
<p><br />
The [[TEX]] file format is a format for storing bit mapped images. This format is made by Angel Studios for their games.<br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.tga<br />
<div class="FolderTree-Content"><br />
====Targa image map file====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">race<br />
<div class="FolderTree-Content"><br />
===Race definitions===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open"><cityname><br />
<ul><br />
<li class="FolderTree-File-JS">*.aimap<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Amateur)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">*.aimap_p<br />
<div class="FolderTree-Content"><br />
====Ambient control file (Professional)====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>waypoints.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>data.csv<br />
<div class="FolderTree-Content"><br />
====Race waypoint positioning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><eventname>.csv<br />
<div class="FolderTree-Content"><br />
====Event definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">mm[blitz|circuit|crash|race]data.csv<br />
<div class="FolderTree-Content"><br />
====Race progression definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">multicopwaypoints.csv<br />
<div class="FolderTree-Content"><br />
====Cops and robbers locations====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>_rewards.csv<br />
<div class="FolderTree-Content"><br />
====Race reward definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>-[a|p]-<n>.opp<br />
<div class="FolderTree-Content"><br />
====Opponent definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><racename>.pathset<br />
<div class="FolderTree-Content"><br />
====Race props====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">scene<br />
<div class="FolderTree-Content"><br />
<br />
===Scene?===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-File-JS">modtypes.ini<br />
<div class="FolderTree-Content"><br />
====Mod types?====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">tune<br />
<div class="FolderTree-Content"><br />
===Tuning information===<br />
<p><br />
</p><br />
</div><table></table><br />
<ul><br />
<li class="FolderTree-Open">banger<br />
<ul><br />
<li class="FolderTree-File-JS"><objectname>.dgBangerData<br />
<div class="FolderTree-Content"><br />
====Object collision properties====<br />
<p><br />
Defines properties controlling [[PKG]] objects that has<br />
collided with something. The format is described [[dgBangerData|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">camera<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>[_dash].camPovCS<br />
<div class="FolderTree-Content"><br />
<br />
====Camera definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_[NEAR|FAR].camTrackCS<br />
<div class="FolderTree-Content"><br />
====Camera tracking definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">effects<br />
<ul><br />
<li class="FolderTree-File-JS"><effectname>.asBirthRule<br />
<div class="FolderTree-Content"><br />
====Particle effect definition====<br />
<p><br />
Particle effects are used in weather, vehicle effects and collisions. The format is described [[asBirthRule|here]].<br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-Open">vehicle<br />
<ul><br />
<li class="FolderTree-File-JS"><vehiclename>.aiVehicleData<br />
<div class="FolderTree-Content"><br />
<br />
====Ambient vehicle data====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====??====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehCarDamage<br />
<div class="FolderTree-Content"><br />
====Vehicle damage control====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>[_opp].vehCarSim<br />
<div class="FolderTree-Content"><br />
====Vehicle tuning====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehGyro<br />
<div class="FolderTree-Content"><br />
====Vehicle stability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehStuck<br />
<div class="FolderTree-Content"><br />
====Vehicle instability====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
<li class="FolderTree-File-JS">[rain|snow].asBirthRule<br />
<div class="FolderTree-Content"><br />
====Weather particle effect====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle control settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>_dash.asNode<br />
<div class="FolderTree-Content"><br />
====Vehicle dashboard settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.cinfo<br />
<div class="FolderTree-Content"><br />
====City definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.dgTrailerJoint<br />
<div class="FolderTree-Content"><br />
====Trailer joint settings====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.info<br />
<div class="FolderTree-Content"><br />
====Vehicle information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">menu.csv<br />
<div class="FolderTree-Content"><br />
====Game interface menu options====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS">widget.csv<br />
<div class="FolderTree-Content"><br />
====Game interface widgets====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><cityname>.mmHudMap<br />
<div class="FolderTree-Content"><br />
====Hudmap definitions====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.mmMirror<br />
<div class="FolderTree-Content"><br />
====Vehicle rear view mirror definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><texturenamestem>.movie<br />
<div class="FolderTree-Content"><br />
====Animated image sequence definition====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
<li class="FolderTree-File-JS"><vehiclename>.vehTrailer<br />
<div class="FolderTree-Content"><br />
====Vehicle trailer information====<br />
<p><br />
</p><br />
</div><table></table><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</li><br />
</ul><br />
</div></div>
CarLuver69