<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
		<id>http://mm2kiwi.apan.is-a-geek.com/index.php?action=history&amp;feed=atom&amp;title=PKGMC</id>
		<title>PKGMC - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://mm2kiwi.apan.is-a-geek.com/index.php?action=history&amp;feed=atom&amp;title=PKGMC"/>
		<link rel="alternate" type="text/html" href="http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;action=history"/>
		<updated>2026-04-13T16:06:00Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=1319&amp;oldid=prev</id>
		<title>Fre-Ber: /* Structure: Forgot the number of the new primType */</title>
		<link rel="alternate" type="text/html" href="http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=1319&amp;oldid=prev"/>
				<updated>2005-12-06T23:13:23Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Structure: Forgot the number of the new primType&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en-GB'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:13, 6 December 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot; &gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All other bits are unknown at this time.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All other bits are unknown at this time.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MC also adds the new primitive type PRIMTYPE_TRIANGLESTRIP. This means that the point indices in the strips define series of connected triangles.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MC also adds the new primitive type PRIMTYPE_TRIANGLESTRIP &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(=4)&lt;/ins&gt;. This means that the point indices in the strips define series of connected triangles.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mm2kiwi:diff:version:1.11a:oldid:46:newid:1319 --&gt;
&lt;/table&gt;</summary>
		<author><name>Fre-Ber</name></author>	</entry>

	<entry>
		<id>http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=46&amp;oldid=prev</id>
		<title>Fre-Ber: /* Structure: Corrected the primType attribute, previously known as nVerticesPerFace */</title>
		<link rel="alternate" type="text/html" href="http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=46&amp;oldid=prev"/>
				<updated>2005-12-06T23:08:13Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Structure: Corrected the primType attribute, previously known as nVerticesPerFace&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en-GB'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:08, 6 December 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot; &gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; PKGCompactStrip&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; PKGCompactStrip&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;verticesPerFace; &lt;/del&gt;// Indicates &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;triangles or quads&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;primType&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;// Indicates &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;primitive type&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort nVertices;&amp;#160; &amp;#160; &amp;#160;  // Number of vertices in this section &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort nVertices;&amp;#160; &amp;#160; &amp;#160;  // Number of vertices in this section &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  PKGCompactVertex[nVertices] vertices; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  PKGCompactVertex[nVertices] vertices; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l53&quot; &gt;Line 53:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort index;&amp;#160;  // Index in vertex list, bit 14 and 15 are special:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160;  ushort index;&amp;#160;  // Index in vertex list, bit 14 and 15 are special:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  // bit 14: Vertex order is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;reversed &lt;/del&gt;for this strip&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  // bit 14: Vertex order is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;clockwise &lt;/ins&gt;for this strip&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  // bit 15: Indicates the end of a strip&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  // bit 15: Indicates the end of a strip&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l95&quot; &gt;Line 95:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 95:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ol&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ol&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All other bits are unknown at this time.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All other bits are unknown at this time.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MC also adds the new primitive type PRIMTYPE_TRIANGLESTRIP. This means that the point indices in the strips define series of connected triangles.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mm2kiwi:diff:version:1.11a:oldid:43:newid:46 --&gt;
&lt;/table&gt;</summary>
		<author><name>Fre-Ber</name></author>	</entry>

	<entry>
		<id>http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=43&amp;oldid=prev</id>
		<title>Fre-Ber at 16:40, 30 August 2005</title>
		<link rel="alternate" type="text/html" href="http://mm2kiwi.apan.is-a-geek.com/index.php?title=PKGMC&amp;diff=43&amp;oldid=prev"/>
				<updated>2005-08-30T16:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The PKG format of Midnight Club (MC) differs slightly from the PKG format of MM2. This section proposes an explanation of the differences.&lt;br /&gt;
&lt;br /&gt;
===Geometry files===&lt;br /&gt;
Some objects in MC use a new graphics primitive. Several separate strips can be described in the same geometry structure. This is controlled by bit eight in the flags of the PKGSection. This flag also controls the data type of several attributes of the strips, presenting a more compact way of representing the geometry.&lt;br /&gt;
&lt;br /&gt;
As a part of this more compact representation, normals are not represented by vectors. Instead Euler angles are used to give the direction of the normal. The angles are given in three unsigned bytes as a value between 0 and 255, yielding a full revolution in 256 steps. (This range is not yet verified)&lt;br /&gt;
&lt;br /&gt;
===Structure===&lt;br /&gt;
 union PKGSection&lt;br /&gt;
 {&lt;br /&gt;
     STDPKGSection     stdSection;     // If flags indicate standard sections&lt;br /&gt;
     CompactPKGSection compactSection; // If flags indicate compact sections&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 // Standard section - A single actual strip per strip, this is the only&lt;br /&gt;
 //                    format used in MM2.&lt;br /&gt;
 //&lt;br /&gt;
 //&lt;br /&gt;
 STDPKGSection&lt;br /&gt;
 {&lt;br /&gt;
     ushort nStrips;       // Number of geometry strips in this section &lt;br /&gt;
     ushort flags;         // Unknown flags, bit 8 clear&lt;br /&gt;
     long shaderOffset;    // Offset into the shader list of the requested&lt;br /&gt;
                           // paintjob&lt;br /&gt;
     PKGStrip[nStrips] strips;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 // Compact section - Each strip can contain several separate strips and data&lt;br /&gt;
 //                   types are smaller than in the standard section.&lt;br /&gt;
 //&lt;br /&gt;
 //&lt;br /&gt;
 CompactPKGSection &lt;br /&gt;
 { &lt;br /&gt;
     ushort nStrips;         // Number of geometry strips in this section &lt;br /&gt;
     ushort flags;           // Unknown flags, bit 8 set&lt;br /&gt;
     ushort shaderOffset;    // Offset into the shader list of the requested&lt;br /&gt;
                             // paintjob &lt;br /&gt;
     PKGCompactStrip[nStrips] strips;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
 PKGCompactStrip&lt;br /&gt;
 {&lt;br /&gt;
     ushort verticesPerFace; // Indicates triangles or quads&lt;br /&gt;
     ushort nVertices;       // Number of vertices in this section &lt;br /&gt;
     PKGCompactVertex[nVertices] vertices; &lt;br /&gt;
     ushort nIndices;        // Number of indices making up the geometry strip &lt;br /&gt;
     PKGCompactIndex[nIndices] indices;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 PKGCompactIndex&lt;br /&gt;
 { &lt;br /&gt;
     ushort index;   // Index in vertex list, bit 14 and 15 are special:&lt;br /&gt;
                     // bit 14: Vertex order is reversed for this strip&lt;br /&gt;
                     // bit 15: Indicates the end of a strip&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 struct PKGOrientation&lt;br /&gt;
 {&lt;br /&gt;
     unsigned char xAngle;  // Integer angle of unknown range, assumed 0-255&lt;br /&gt;
     unsigned char yAngle;  // Integer angle of unknown range, assumed 0-255&lt;br /&gt;
     unsigned char zAngle;  // Integer angle of unknown range, assumed 0-255&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 PKGCompactTex2D&lt;br /&gt;
 {&lt;br /&gt;
     ushort x; // Fixed point value s = (x / 128f)&lt;br /&gt;
     ushort y; // Fixed point value t = (y / 128f)&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 PKGCompactVertex&lt;br /&gt;
 {&lt;br /&gt;
     Vertex3D     coordinate;           // If PKGFileData.flags indicate&lt;br /&gt;
                                        // coordinates&lt;br /&gt;
     PKGOrientation  normal;            // If PKGFileData.flags indicate normals&lt;br /&gt;
     ulong           unknown;           // If PKGFileData.flags indicate unknown&lt;br /&gt;
     PKGCompactTex2D textureCoordinate; // If PKGFileData.flags indicate texture&lt;br /&gt;
                                        // coordinates&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Midnight Club adds at least one new flag to the PKGFILEData.flags field, &lt;br /&gt;
the bits are defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Texture coordinates or coordinates&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Normal vectors&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown value, 32 bits&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Unknown&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Coordinates or texture coordinates&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
All other bits are unknown at this time.&lt;/div&gt;</summary>
		<author><name>Fre-Ber</name></author>	</entry>

	</feed>