Blender-ZeroEngine-MSH2-Plugin/src_research_readme/mesh-info-pages/index.html

4005 lines
78 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>.msh Format</title>
<meta name="description" content="">
<meta name="keywords" content="programming, code">
<link rel="shortcut icon" type="image/png" href="https://schlechtwetterfront.github.io/images/personal_logo_small.png">
<link rel="stylesheet" href="msh%20Format_files/subpage-style.css" type="text/css">
</head>
<body class="page-fileformats">
<div class="container-fluid page__header">
<header class="page__title container">
<h1>.msh Format</h1>
</header>
</div>
<div class="container">
<nav class="menu">
<ul class="menu__nav blocks">
<li class="menu__category"><h5 class="category-title">Navigation</h5></li>
<li class="menu__link"><a href="#overview">Overview</a></li>
<li class="menu__link"><a href="https://schlechtwetterfront.github.io/ze_filetypes/index.html">Back</a></li>
<li class="menu__category"><h5 class="category-title">Example</h5></li>
<li class="menu__link"><a href="#ExampleChunk" alt="ExampleChunk">ExampleChunk</a></li>
<li class="menu__category"><h5 class="category-title">General Chunks</h5></li>
<li class="menu__link"><a href="#HEDR" alt="HEDR">HEDR</a></li>
<li class="menu__link"><a href="#SHVO" alt="SHVO">SHVO</a></li>
<li class="menu__link"><a href="#MSH2" alt="MSH2">MSH2</a></li>
<li class="menu__link"><a href="#FINF" alt="FINF">FINF</a></li>
<li class="menu__link"><a href="#SINF" alt="SINF">SINF</a></li>
<li class="menu__link"><a href="#FRAM" alt="FRAM">FRAM</a></li>
<li class="menu__link"><a href="#CAMR" alt="CAMR">CAMR</a></li>
<li class="menu__category"><h5 class="category-title">Materials</h5></li>
<li class="menu__link"><a href="#MATL" alt="MATL (Materials)">MATL (Materials)</a></li>
<li class="menu__link"><a href="#MATD" alt="MATD (Material)">MATD (Material)</a></li>
<li class="menu__link"><a href="#MATD.DATA" alt="MATD.DATA">MATD.DATA</a></li>
<li class="menu__link"><a href="#ATRB" alt="ATRB">ATRB</a></li>
<li class="menu__link"><a href="#TX0D" alt="TX0D">TX0D</a></li>
<li class="menu__link"><a href="#PRFX" alt="PRFX">PRFX</a></li>
<li class="menu__category"><h5 class="category-title">Models</h5></li>
<li class="menu__link"><a href="#MODL" alt="MODL (Model)">MODL (Model)</a></li>
<li class="menu__link"><a href="#MTYP" alt="MTYP">MTYP</a></li>
<li class="menu__link"><a href="#MNDX" alt="MNDX">MNDX</a></li>
<li class="menu__link"><a href="#PRNT" alt="PRNT">PRNT</a></li>
<li class="menu__link"><a href="#FLGS" alt="FLGS">FLGS</a></li>
<li class="menu__link"><a href="#TRAN" alt="TRAN">TRAN</a></li>
<li class="menu__link"><a href="#SWCI" alt="SWCI">SWCI</a></li>
<li class="menu__category"><h5 class="category-title">Geometry</h5></li>
<li class="menu__link"><a href="#GEOM" alt="GEOM (Geometry)">GEOM (Geometry)</a></li>
<li class="menu__link"><a href="#ENVL" alt="ENVL (Envelope)">ENVL (Envelope)</a></li>
<li class="menu__link"><a href="#SEGM" alt="SEGM">SEGM</a></li>
<li class="menu__link"><a href="#SHDW" alt="SHDW">SHDW</a></li>
<li class="menu__link"><a href="#MATI" alt="MATI">MATI</a></li>
<li class="menu__link"><a href="#POSL" alt="POSL">POSL</a></li>
<li class="menu__link"><a href="#NRML" alt="NRML">NRML</a></li>
<li class="menu__link"><a href="#UV0L" alt="UV0L">UV0L</a></li>
<li class="menu__link"><a href="#CLRL" alt="CLRL">CLRL</a></li>
<li class="menu__link"><a href="#CLRB" alt="CLRB">CLRB</a></li>
<li class="menu__link"><a href="#WGHT" alt="WGHT">WGHT</a></li>
<li class="menu__link"><a href="#NDXL" alt="NDXL">NDXL</a></li>
<li class="menu__link"><a href="#NDXT" alt="NDXT">NDXT</a></li>
<li class="menu__link"><a href="#STRP" alt="STRP">STRP</a></li>
<li class="menu__link"><a href="#VLTB" alt="VLTB">VLTB</a></li>
<li class="menu__link"><a href="#VLTL" alt="VLTL">VLTL</a></li>
<li class="menu__category"><h5 class="category-title">Cloth</h5></li>
<li class="menu__link"><a href="#CLTH" alt="CLTH (Cloth)">CLTH (Cloth)</a></li>
<li class="menu__link"><a href="#CTEX" alt="CTEX">CTEX</a></li>
<li class="menu__link"><a href="#CPOS" alt="CPOS">CPOS</a></li>
<li class="menu__link"><a href="#CUV0" alt="CUV0">CUV0</a></li>
<li class="menu__link"><a href="#FIDX" alt="FIDX">FIDX</a></li>
<li class="menu__link"><a href="#FWGT" alt="FWGT">FWGT</a></li>
<li class="menu__link"><a href="#CMSH" alt="CMSH">CMSH</a></li>
<li class="menu__link"><a href="#SPRS" alt="SPRS">SPRS</a></li>
<li class="menu__link"><a href="#CPRS" alt="CPRS">CPRS</a></li>
<li class="menu__link"><a href="#BPRS" alt="BPRS">BPRS</a></li>
<li class="menu__link"><a href="#COLL" alt="COLL">COLL</a></li>
<li class="menu__category"><h5 class="category-title">Animation</h5></li>
<li class="menu__link"><a href="#SKL2" alt="SKL2 (Skeleton)">SKL2 (Skeleton)</a></li>
<li class="menu__link"><a href="#BLN2" alt="BLN2">BLN2</a></li>
<li class="menu__link"><a href="#ANM2" alt="ANM2 (Animation)">ANM2 (Animation)</a></li>
<li class="menu__link"><a href="#CYCL" alt="CYCL">CYCL</a></li>
<li class="menu__link"><a href="#KFR3" alt="KFR3">KFR3</a></li>
<li class="menu__category"><h5 class="category-title">Other</h5></li>
<li class="menu__link"><a href="#CL1L" alt="CL1L">CL1L</a></li>
<li class="menu__link"><a href="#NAME" alt="NAME">NAME</a></li>
<li class="menu__link"><a href="#BBOX" alt="BBOX">BBOX</a></li>
<li class="menu__category"><h5 class="category-title">Deprecated</h5></li>
<li class="menu__link"><a href="#LGTP" alt="LGTP">LGTP</a></li>
<li class="menu__link"><a href="#LGTI" alt="LGTI">LGTI</a></li>
<li class="menu__link"><a href="#LGTS" alt="LGTS">LGTS</a></li>
<li class="menu__link"><a href="#FOGD" alt="FOGD">FOGD</a></li>
</ul>
</nav>
<div class="content">
<section class="block block-overview">
<h2 id="overview">Overview</h2>
<p>This page lists all .MSH file chunks.
In the .MSH file these chunks are organized in a hierarchy with <a class="chunk" href="#hedr">HEDR</a>
(header) being the first chunk and branching out from there
(as visualized in the sidebar navigation).</p>
<p>Some of these chunks are exclusive to certain versions of the engine
(Star Wars: The Clone Wars and before, Star Wars: Battlefront and Star Wars: Battlefront II)
or deprecated completely. Most notably Cloth Simulation (<a class="chunk" href="#clth">CLTH</a> and children)
being limited to Star Wars: Battlefront II.</p>
</section>
<section class="block">
<h2 class="title" id="chunk-hierarchy">Chunk Hierarchy</h2>
<div class="hierarchy">
<header class="has-children">
<a href="#HEDR" alt="HEDR" class="title chunk">HEDR</a>
</header>
<div class="children">
<header class="">
<a href="#SHVO" alt="SHVO" class="title chunk">SHVO</a>
</header>
<header class="has-children">
<a href="#MSH2" alt="MSH2" class="title chunk">MSH2</a>
</header>
<div class="children">
<header class="has-children">
<a href="#SINF" alt="SINF" class="title chunk">SINF</a>
</header>
<div class="children">
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#FRAM" alt="FRAM" class="chunk">FRAM</a>
<a href="#BBOX" alt="BBOX" class="chunk">BBOX</a>
</div>
<header class="has-children">
<a href="#CAMR" alt="CAMR" class="title chunk">CAMR</a>
</header>
<div class="children">
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#DATA" alt="DATA" class="chunk">DATA</a>
</div>
<header class="has-children">
<a href="#MATL" alt="MATL (Materials)" class="title chunk">MATL</a>
</header>
<div class="children">
<header class="has-children">
<a href="#MATD" alt="MATD (Material)" class="title chunk">MATD</a>
</header>
<div class="children">
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#MATD.DATA" alt="MATD.DATA" class="chunk">MATD.DATA</a>
<a href="#ATRB" alt="ATRB" class="chunk">ATRB</a>
<a href="#TX0D" alt="TX0D" class="chunk">TX0D</a>
</div>
</div>
<header class="has-children">
<a href="#MODL" alt="MODL (Model)" class="title chunk">MODL</a>
</header>
<div class="children">
<header class="">
<a href="#NAME" alt="NAME" class="title chunk">NAME</a>
</header>
<header class="">
<a href="#MTYP" alt="MTYP" class="title chunk">MTYP</a>
</header>
<header class="">
<a href="#MNDX" alt="MNDX" class="title chunk">MNDX</a>
</header>
<header class="">
<a href="#PRNT" alt="PRNT" class="title chunk">PRNT</a>
</header>
<header class="">
<a href="#FLGS" alt="FLGS" class="title chunk">FLGS</a>
</header>
<header class="">
<a href="#TRAN" alt="TRAN" class="title chunk">TRAN</a>
</header>
<header class="has-children">
<a href="#GEOM" alt="GEOM (Geometry)" class="title chunk">GEOM</a>
</header>
<div class="children">
<header class="">
<a href="#BBOX" alt="BBOX" class="title chunk">BBOX</a>
</header>
<header class="has-children">
<a href="#SEGM" alt="SEGM" class="title chunk">SEGM</a>
</header>
<div class="children">
<header class="">
<a href="#SHDW" alt="SHDW" class="title chunk">SHDW</a>
</header>
<header class="">
<a href="#MATI" alt="MATI" class="title chunk">MATI</a>
</header>
<header class="">
<a href="#POSL" alt="POSL" class="title chunk">POSL</a>
</header>
<header class="">
<a href="#CLRL" alt="CLRL" class="title chunk">CLRL</a>
</header>
<header class="">
<a href="#CLRB" alt="CLRB" class="title chunk">CLRB</a>
</header>
<header class="">
<a href="#WGHT" alt="WGHT" class="title chunk">WGHT</a>
</header>
<header class="">
<a href="#NRML" alt="NRML" class="title chunk">NRML</a>
</header>
<header class="">
<a href="#UV0L" alt="UV0L" class="title chunk">UV0L</a>
</header>
<header class="">
<a href="#NDXL" alt="NDXL" class="title chunk">NDXL</a>
</header>
<header class="">
<a href="#NDXT" alt="NDXT" class="title chunk">NDXT</a>
</header>
<header class="has-children">
<a href="#STRP" alt="STRP" class="title chunk">STRP</a>
</header>
<div class="children">
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#FRAM" alt="FRAM" class="chunk">FRAM</a>
<a href="#BBOX" alt="BBOX" class="chunk">BBOX</a>
</div>
</div>
<header class="has-children">
<a href="#CLTH" alt="CLTH (Cloth)" class="title chunk">CLTH</a>
</header>
<div class="children">
<a href="#CTEX" alt="CTEX" class="chunk">CTEX</a>
<a href="#CPOS" alt="CPOS" class="chunk">CPOS</a>
<a href="#CUV0" alt="CUV0" class="chunk">CUV0</a>
<a href="#FIDX" alt="FIDX" class="chunk">FIDX</a>
<a href="#FWGT" alt="FWGT" class="chunk">FWGT</a>
<a href="#CMSH" alt="CMSH" class="chunk">CMSH</a>
<a href="#SPRS" alt="SPRS" class="chunk">SPRS</a>
<a href="#CPRS" alt="CPRS" class="chunk">CPRS</a>
<a href="#BPRS" alt="BPRS" class="chunk">BPRS</a>
<a href="#COLL" alt="COLL" class="chunk">COLL</a>
</div>
<header class="">
<a href="#ENVL" alt="ENVL (Envelope)" class="title chunk">ENVL</a>
</header>
</div>
<header class="">
<a href="#SWCI" alt="SWCI" class="title chunk">SWCI</a>
</header>
</div>
</div>
<header class="">
<a href="#BLN2" alt="BLN2" class="title chunk">BLN2</a>
</header>
<header class="">
<a href="#SKL2" alt="SKL2 (Skeleton)" class="title chunk">SKL2</a>
</header>
<header class="has-children">
<a href="#ANM2" alt="ANM2 (Animation)" class="title chunk">ANM2</a>
</header>
<div class="children">
<a href="#CYCL" alt="CYCL" class="chunk">CYCL</a>
<a href="#KFR3" alt="KFR3" class="chunk">KFR3</a>
</div>
<header class="">
<a href="#CL1L" alt="CL1L" class="title chunk">CL1L</a>
</header>
</div>
</div>
</section>
<section class="chunk block">
<h2 class="title" id="ExampleChunk">ExampleChunk</h2>
<p>This is an example chunk.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#PARENT CHUNK" alt="PARENT CHUNK" class="chunk">PARENT CHUNK</a>
</td>
<td>
<a href="#ALL" alt="ALL" class="chunk">ALL</a>
<a href="#POSSIBLE" alt="POSSIBLE" class="chunk">POSSIBLE</a>
<a href="#CHILDREN" alt="CHILDREN" class="chunk">CHILDREN</a>
</td>
<td>
Number of appearances or if it's optional.
</td>
</tr>
</tbody></table>
<p class="see-also">
See also:
<a href="#" alt="A list of links for further reading.">A list of links for further reading.</a>
</p>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="byte">byte[4]</td>
<td>4</td>
<td><p>Header/chunk name. Every chunk has this.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Length indicator. Stores the length in bytes <em>excluding</em> the header and the size indicator. Every chunk has this indicator.</p></td>
</tr>
<tr>
<td></td>
<td>~</td>
<td><p>The rest of the data.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="HEDR">HEDR</h2>
<p>.msh file header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
<a href="#SHVO" alt="SHVO" class="chunk">SHVO</a>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
<a href="#BLN2" alt="BLN2" class="chunk">BLN2</a>
<a href="#SKL2" alt="SKL2" class="chunk">SKL2</a>
<a href="#ANM2" alt="ANM2" class="chunk">ANM2</a>
<a href="#CL1L" alt="CL1L" class="chunk">CL1L</a>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SHVO">SHVO</h2>
<p>Indicates a shadow volume.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#HEDR" alt="HEDR" class="chunk">HEDR</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>0 or 1 (if .msh has a shadow volume).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MSH2">MSH2</h2>
<p>.msh file mesh header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#HEDR" alt="HEDR" class="chunk">HEDR</a>
</td>
<td>
<a href="#SINF" alt="SINF" class="chunk">SINF</a>
<a href="#CAMR" alt="CAMR" class="chunk">CAMR</a>
<a href="#MATL" alt="MATL" class="chunk">MATL</a>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
Once
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FINF">FINF</h2>
<p>Possibly deprecated. File information. PROJ: project name. USER: user name. TIME: time.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
</td>
<td>
<a href="#PROJ" alt="PROJ" class="chunk">PROJ</a>
<a href="#USER" alt="USER" class="chunk">USER</a>
<a href="#TIME" alt="TIME" class="chunk">TIME</a>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>4 * X</td>
<td><p>File information.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SINF">SINF</h2>
<p>Scene information header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
</td>
<td>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#FRAM" alt="FRAM" class="chunk">FRAM</a>
<a href="#BBOX" alt="BBOX" class="chunk">BBOX</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FRAM">FRAM</h2>
<p>Scene frame information.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SINF" alt="SINF" class="chunk">SINF</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Start of frame range.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>End of frame range.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Frames per second (usually ~30).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CAMR">CAMR</h2>
<p>Scene camera header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
</td>
<td>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#DATA" alt="DATA" class="chunk">DATA</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MATL">MATL (Materials)</h2>
<p>Material list header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
</td>
<td>
<a href="#MATD" alt="MATD" class="chunk">MATD</a>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Count of materials (MATD) in this list.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MATD">MATD (Material)</h2>
<p>Material header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MATL" alt="MATL" class="chunk">MATL</a>
</td>
<td>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#MATD.DATA" alt="MATD.DATA" class="chunk">MATD.DATA</a>
<a href="#ATRB" alt="ATRB" class="chunk">ATRB</a>
<a href="#TX0D" alt="TX0D" class="chunk">TX0D</a>
</td>
<td>
One or more.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MATD.DATA">MATD.DATA</h2>
<p>Material colors and specular sharpness (gloss). Colors are stored in 0-1 range.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MATD" alt="MATD" class="chunk">MATD</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float [4]</td>
<td>16</td>
<td><p>Diffuse RGBA color.</p></td>
</tr>
<tr>
<td class="float">float [4]</td>
<td>16</td>
<td><p>Specular RGBA color.</p></td>
</tr>
<tr>
<td class="float">float [4]</td>
<td>16</td>
<td><p>Ambient RGBA color.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Specular sharpness (gloss).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="ATRB">ATRB</h2>
<p>Material flags (glow and other special rendertypes).</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MATD" alt="MATD" class="chunk">MATD</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<p class="see-also">
See also:
<a href="https://schlechtwetterfront.github.io/ze_filetypes/render_types.html" alt="ZeroEngine Render Types">ZeroEngine Render Types</a><span>, </span><a href="http://www.gametoast.com/viewtopic.php?p=279620#p279620" alt="Inside Edit Flags (GT)">Inside Edit Flags (GT)</a><span>, </span><a href="http://gametoast.com/viewtopic.php?t=24851&amp;f=27&amp;start=31" alt="GameToast ATRB discussion">GameToast ATRB discussion</a><span>, </span><a href="https://schlechtwetterfront.github.io/ze_filetypes/index.html#atrb-calculator" alt="Flag Calculator">Flag Calculator</a>
</p>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Sum of all flag values.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Render Type number.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Data0 Value. Range: 0-255</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Data1 Value. Range: 0-255</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="TX0D">TX0D</h2>
<p>Texture name with extension (not full path). For multiple textures the name of the chunk will change to TX1D, TX2D, TX3D.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MATD" alt="MATD" class="chunk">MATD</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Texture name.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="PRFX">PRFX</h2>
<p>Possibly deprecated. Material prefix.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MATD" alt="MATD" class="chunk">MATD</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>4 * X</td>
<td><p>Prefix.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MODL">MODL (Model)</h2>
<p>Model header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MSH2" alt="MSH2" class="chunk">MSH2</a>
</td>
<td>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#MTYP" alt="MTYP" class="chunk">MTYP</a>
<a href="#MNDX" alt="MNDX" class="chunk">MNDX</a>
<a href="#PRNT" alt="PRNT" class="chunk">PRNT</a>
<a href="#FLGS" alt="FLGS" class="chunk">FLGS</a>
<a href="#TRAN" alt="TRAN" class="chunk">TRAN</a>
<a href="#GEOM" alt="GEOM" class="chunk">GEOM</a>
<a href="#SWCI" alt="SWCI" class="chunk">SWCI</a>
</td>
<td>
One or more.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MTYP">MTYP</h2>
<p>Model type.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Model type.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MNDX">MNDX</h2>
<p>0-based Model index.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Model index.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="PRNT">PRNT</h2>
<p>Name of the parent model, padded with 00's to fill up to a multiple-of-4 size.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Parent model name.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FLGS">FLGS</h2>
<p>Model display flags.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Render Flags.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="TRAN">TRAN</h2>
<p>Matrix transform. Scale can get ignored in-game.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float [3]</td>
<td>12</td>
<td><p>Scale factor in XYZ.</p></td>
</tr>
<tr>
<td class="float">float [4]</td>
<td>16</td>
<td><p>Quaternion Rotation in XYZW.</p></td>
</tr>
<tr>
<td class="float">float [3]</td>
<td>12</td>
<td><p>Translation in XYZ.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SWCI">SWCI</h2>
<p>Collision primitive.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Primitive type (0: sphere, 1: sphere, 2: cylinder, 4: cube).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: radius, cylinder: radius, cube: x_length.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: -, cylinder: height, cube: y_length.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: -, cylinder: -, cube: z_length.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="GEOM">GEOM (Geometry)</h2>
<p>Geometry header. Will be used for static/dynamic geometry and shadow volumes.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#MODL" alt="MODL" class="chunk">MODL</a>
</td>
<td>
<a href="#BBOX" alt="BBOX" class="chunk">BBOX</a>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
<a href="#ENVL" alt="ENVL" class="chunk">ENVL</a>
</td>
<td>
Optional (depends on model type).
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="ENVL">ENVL (Envelope)</h2>
<p>List of indices into <a class="chunk" href="#MODL">MODL</a>. This model is enveloped to those indices' models.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#GEOM" alt="GEOM" class="chunk">GEOM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of indices into <a class="chunk" href="#MODL">MODL</a>.</p></td>
</tr>
<tr>
<td class="long">long int []</td>
<td>4 each</td>
<td><p>Index into <a class="chunk" href="#MODL">MODL</a>.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SEGM">SEGM</h2>
<p>Geometry segment header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#GEOM" alt="GEOM" class="chunk">GEOM</a>
</td>
<td>
<a href="#SHDW" alt="SHDW" class="chunk">SHDW</a>
<a href="#MATI" alt="MATI" class="chunk">MATI</a>
<a href="#POSL" alt="POSL" class="chunk">POSL</a>
<a href="#CLRL" alt="CLRL" class="chunk">CLRL</a>
<a href="#CLRB" alt="CLRB" class="chunk">CLRB</a>
<a href="#WGHT" alt="WGHT" class="chunk">WGHT</a>
<a href="#NRML" alt="NRML" class="chunk">NRML</a>
<a href="#UV0L" alt="UV0L" class="chunk">UV0L</a>
<a href="#NDXL" alt="NDXL" class="chunk">NDXL</a>
<a href="#NDXT" alt="NDXT" class="chunk">NDXT</a>
<a href="#STRP" alt="STRP" class="chunk">STRP</a>
</td>
<td>
One or more.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SHDW">SHDW</h2>
<p>Shadow mesh geometry.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
If the model is a shadow mesh, once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of vertex positions.</p></td>
</tr>
<tr>
<td class="float">float [3][]</td>
<td>12 each</td>
<td><p>Vertex positions (XYZ).</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of edges.</p></td>
</tr>
<tr>
<td class="short">short int [4][]</td>
<td>8 each</td>
<td><p>Edge. The following 4 entries form one edge.</p></td>
</tr>
<tr>
<td class="short">&gt; short int</td>
<td>2</td>
<td><p>Vertex index of this edge entry. Refers to the vertex list above.</p></td>
</tr>
<tr>
<td class="short">&gt; short int</td>
<td>2</td>
<td><p>Reference into an edge. Defines the target vertex (the local
edge vertex of the referenced edge) to which the edge should be dran
from the local vertex.</p></td>
</tr>
<tr>
<td class="short">&gt; short int</td>
<td>2</td>
<td><p>Second reference into an edge. In all example .msh files
I've seen this always refers to the same vertex as the first edge
reference.</p></td>
</tr>
<tr>
<td class="short">&gt; short int</td>
<td>2</td>
<td><p>MAX_VALUE of short integers (65535). Indicates the end of this edge.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="MATI">MATI</h2>
<p>Material index (index into MATL).</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Once?
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Material index.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="POSL">POSL</h2>
<p>List of vertex coordinates.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Once (unless shadow mesh).
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of coordinates stored in this list.</p></td>
</tr>
<tr>
<td class="float">float [3][]</td>
<td>12 each</td>
<td><p>XYZ coordinates for each vertex.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="NRML">NRML</h2>
<p>List of normals.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Once (unless shadow mesh).
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of normal vectors stored in this list.</p></td>
</tr>
<tr>
<td class="float">float [3][]</td>
<td>12 each</td>
<td><p>UVW vector for each vertex.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="UV0L">UV0L</h2>
<p>List of UV coordinates.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of UV coordinates stored in this list.</p></td>
</tr>
<tr>
<td class="float">float [2][]</td>
<td>8 each</td>
<td><p>UV coordinate for each vertex.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CLRL">CLRL</h2>
<p>List of vertex colors.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of colors stored in this list.</p></td>
</tr>
<tr>
<td class="byte">byte [4][]</td>
<td>4 each</td>
<td><p>RGBA color (0-255).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CLRB">CLRB</h2>
<p>One vertex color for the whole segment.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="byte">byte [4]</td>
<td>4</td>
<td><p>RGBA color (0-255).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="WGHT">WGHT</h2>
<p>List of bone-weight percentage pairs. Always 4 pairs per vertex.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of bone weights stored in this list.</p></td>
</tr>
<tr>
<td></td>
<td></td>
<td><p>The following appears 4 times per vertex (to allow for soft weighting).</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Index into <a class="chunk" href="#ENVL">ENVL</a> (which then indexes into <a class="chunk" href="#MODL">MODL</a>).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Weight value (0-1).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="NDXL">NDXL</h2>
<p>Polygons.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional/deprecated.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="NDXT">NDXT</h2>
<p>Triangles.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional/deprecated.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="STRP">STRP</h2>
<p>List of triangles strips. The start of a strip is indicated by 2
entries with a high bit set (0x8000 or 32768 added). Triangles are
listed CW, CCW, CW, CCW... NOTE: In some meshes this chunk has a
trailing short which is not calculated into the length/size of this
chunk or the # of indices. This short can be ignored. If added to the
last polygon it will break it as it always seems to be 0.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#FRAM" alt="FRAM" class="chunk">FRAM</a>
<a href="#BBOX" alt="BBOX" class="chunk">BBOX</a>
</td>
<td>
Once (unless shadow mesh).
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of indices into <a class="chunk" href="#POSL">POSL</a>.</p></td>
</tr>
<tr>
<td class="short">short int []</td>
<td>2 each</td>
<td><p>Index into <a class="chunk" href="#POSL">POSL</a>. The indices will form polygons.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="VLTB">VLTB</h2>
<p>Possibly deprecated. Baked vertex light.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Alpha.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="VLTL">VLTL</h2>
<p>Possibly deprecated. Unique baked vertex lights for vertices.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#SEGM" alt="SEGM" class="chunk">SEGM</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of colors to come.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="byte">byte</td>
<td>1</td>
<td><p>Alpha.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CLTH">CLTH (Cloth)</h2>
<p>Cloth header. Replaces <a class="chunk" href="#SEGM">SEGM</a>.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#GEOM" alt="GEOM" class="chunk">GEOM</a>
</td>
<td>
<a href="#CTEX" alt="CTEX" class="chunk">CTEX</a>
<a href="#CPOS" alt="CPOS" class="chunk">CPOS</a>
<a href="#CUV0" alt="CUV0" class="chunk">CUV0</a>
<a href="#FIDX" alt="FIDX" class="chunk">FIDX</a>
<a href="#FWGT" alt="FWGT" class="chunk">FWGT</a>
<a href="#CMSH" alt="CMSH" class="chunk">CMSH</a>
<a href="#SPRS" alt="SPRS" class="chunk">SPRS</a>
<a href="#CPRS" alt="CPRS" class="chunk">CPRS</a>
<a href="#BPRS" alt="BPRS" class="chunk">BPRS</a>
<a href="#COLL" alt="COLL" class="chunk">COLL</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CTEX">CTEX</h2>
<p>Texture name with extension.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Texture name.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CPOS">CPOS</h2>
<p>List of vertex coordinates.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of vertex positions.</p></td>
</tr>
<tr>
<td class="float">float [3][]</td>
<td>12 each</td>
<td><p>XYZ coordinates.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CUV0">CUV0</h2>
<p>List of UV coordinates.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of UV coordinates.</p></td>
</tr>
<tr>
<td class="float">float [2][]</td>
<td>8 each</td>
<td><p>UV coordinate.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FIDX">FIDX</h2>
<p>List of fixed points.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of points.</p></td>
</tr>
<tr>
<td class="long">long int ]</td>
<td>4 each</td>
<td><p>Index into <a class="chunk" href="#CPOS">CPOS</a>.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FWGT">FWGT</h2>
<p>Index of <a class="chunk" href="#FIDX">FIDX</a> weighted to a bone by name.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of points.</p></td>
</tr>
<tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Name of the bone the corresponding <a class="chunk" href="#FIDX">FIDX</a> is moving with.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CMSH">CMSH</h2>
<p>Cloth triangles.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of points.</p></td>
</tr>
<tr>
<td class="long">long int [3][]</td>
<td>16 each</td>
<td><p>Triangle points defined CCW.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SPRS">SPRS</h2>
<p>Stretch constraint data. Keeps cloth size by storing relations between points (like edges around a quad).</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<p class="see-also">
See also:
<a href="http://www.gametoast.com/viewtopic.php?p=472300#p472300" alt="Constraint discussion (GT)">Constraint discussion (GT)</a>
</p>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of items.</p></td>
</tr>
<tr>
<td class="short">short int [2][]</td>
<td>4 each</td>
<td><p>Two points sharing an edge.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CPRS">CPRS</h2>
<p>Cross constraint data. Keeps individual pieces of the cloth from
shearing (cross relations between points). Think of the edges as sticky
tape, glueing the points together.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<p class="see-also">
See also:
<a href="http://www.gametoast.com/viewtopic.php?p=472300#p472300" alt="Constraint discussion (GT)">Constraint discussion (GT)</a>
</p>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of items.</p></td>
</tr>
<tr>
<td class="short">short int [2][]</td>
<td>4 each</td>
<td><p>Two points sharing a quad.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="BPRS">BPRS</h2>
<p>Bend constraint data. Keeps the cloth's shape (relations between
border-points of the cloth mesh, disables bending along those edges).</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<p class="see-also">
See also:
<a href="http://www.gametoast.com/viewtopic.php?p=472300#p472300" alt="Constraint discussion (GT)">Constraint discussion (GT)</a>
</p>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of items.</p></td>
</tr>
<tr>
<td class="short">short int [2][]</td>
<td>4 each</td>
<td><p>Two border-points sharing a 'straight' edge over the complete cloth.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="COLL">COLL</h2>
<p>Cloth collision. Note that this chunk is padded with 00's until it has a multiple of 4 chunk size.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#CLTH" alt="CLTH" class="chunk">CLTH</a>
</td>
<td>
</td>
<td>
Optional?
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of collisions.</p></td>
</tr>
<tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Collision object name.</p></td>
</tr>
<tr>
<td class="string">ASCII string</td>
<td>~</td>
<td><p>Object name this collision moves with.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Primitive type (0: sphere, 1: cylinder, 2: cube).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: radius, cylinder: radius, cube: x_length / 2).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: radius, cylinder: height, cube: y_length / 2).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Data (sphere: radius, cylinder: -, cube: z_length / 2).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="SKL2">SKL2 (Skeleton)</h2>
<p>Skeleton/chain. Lists some bone properties for every item in the chain. The values don't seem to make a big difference.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#HEDR" alt="HEDR" class="chunk">HEDR</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of bones in this skeleton.</p></td>
</tr>
<tr>
<td class="crc">CRC checksum</td>
<td>4</td>
<td><p><a href="https://schlechtwetterfront.github.io/ze_filetypes/index.html">CRC checksum</a> of the bone.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Type (bone?). Usual value: 0.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Constrain. Usual value: -1 or 1.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Bone length 1. Usual value: 0.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Bone length 2. Usual value: 0.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="BLN2">BLN2</h2>
<p>Blend factors for the chain items (bones). Purpose unknown. Blend factor usually is 0/nothing (if float). </p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#HEDR" alt="HEDR" class="chunk">HEDR</a>
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of bones.</p></td>
</tr>
<tr>
<td class="crc">CRC checksum</td>
<td>4</td>
<td><p><a href="https://schlechtwetterfront.github.io/ze_filetypes/index.html">CRC checksum</a> of the bone.</p></td>
</tr>
<tr>
<td>?</td>
<td>4</td>
<td><p>Blend factor. Usual value: 0.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="ANM2">ANM2 (Animation)</h2>
<p>Animation header.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#HEDR" alt="HEDR" class="chunk">HEDR</a>
</td>
<td>
<a href="#CYCL" alt="CYCL" class="chunk">CYCL</a>
<a href="#KFR3" alt="KFR3" class="chunk">KFR3</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CYCL">CYCL</h2>
<p>Animation cycles. Can contain multiple animations.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#ANM2" alt="ANM2" class="chunk">ANM2</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of animations.</p></td>
</tr>
<tr>
<td></td>
<td></td>
<td><p>The following can appear multiple times.</p></td>
</tr>
<tr>
<td class="string">ASCII string</td>
<td>64</td>
<td><p>Aimation name.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Frame rate.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Play Style.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>First frame.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Last frame.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="KFR3">KFR3</h2>
<p>All the frames and their local translation and rotation. Frame
indices don't have to be consecutive. They can skip frames (like
keyframes).</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
<a href="#ANM2" alt="ANM2" class="chunk">ANM2</a>
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Number of bones in this animation.</p></td>
</tr>
<tr>
<td></td>
<td></td>
<td><p>The following will appear once per chain item.</p></td>
</tr>
<tr>
<td class="crc">&gt; CRC checksum</td>
<td>4</td>
<td><p><a href="https://schlechtwetterfront.github.io/ze_filetypes/index.html">CRC checksum</a>.</p></td>
</tr>
<tr>
<td class="long">&gt; long int</td>
<td>4</td>
<td><p>Keyframe type.</p></td>
</tr>
<tr>
<td class="long">&gt; long int</td>
<td>4</td>
<td><p>Number of translation frames.</p></td>
</tr>
<tr>
<td class="long">&gt; long int</td>
<td>4</td>
<td><p>Number of rotation frames.</p></td>
</tr>
<tr>
<td></td>
<td></td>
<td><p>Translation frames will be listed first.</p></td>
</tr>
<tr>
<td class="long">&gt;&gt; long int</td>
<td>4</td>
<td><p>Translation frame index.</p></td>
</tr>
<tr>
<td class="float">&gt;&gt; float [3][]</td>
<td>12</td>
<td><p>Translation in XYZ.</p></td>
</tr>
<tr>
<td></td>
<td></td>
<td><p>Rotation frames will be listed second.</p></td>
</tr>
<tr>
<td class="long">&gt;&gt; long int</td>
<td>4</td>
<td><p>Rotation frame index.</p></td>
</tr>
<tr>
<td class="float">&gt;&gt; float [4][]</td>
<td>16</td>
<td><p>Quaternion rotation in XYZW.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="CL1L">CL1L</h2>
<p>Closing chunk, indicates the end of the .msh file.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="NAME">NAME</h2>
<p>Name, padded with 00's to fill up a multiple-of-4 size.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="string">ASCII string</td>
<td>4 * X</td>
<td><p>Name.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="BBOX">BBOX</h2>
<p>Bounding box. <a class="chunk" href="#SINF">SINF</a>'s BBox will determine the blue/green selection box in ZeroEdit.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
</td>
<td>
Once.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float [4]</td>
<td>16</td>
<td><p>Quaternion Rotation in XYZW.</p></td>
</tr>
<tr>
<td class="float">float [3]</td>
<td>12</td>
<td><p>Center of the BBox.</p></td>
</tr>
<tr>
<td class="float">float [3]</td>
<td>12</td>
<td><p>Extents of the BBox (width/2, height/2, depth/2).</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Bounding sphere radius.</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="LGTP">LGTP</h2>
<p>Possibly deprecated. Point Light.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
<a href="#PRFX" alt="PRFX" class="chunk">PRFX</a>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#DATA" alt="DATA" class="chunk">DATA</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float</td>
<td>4</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Alpha.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>X.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Y.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Z.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff start.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff end.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Flags (1: CastShadows).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="LGTI">LGTI</h2>
<p>Possibly deprecated. Infinite Light.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
<a href="#PRFX" alt="PRFX" class="chunk">PRFX</a>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#DATA" alt="DATA" class="chunk">DATA</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float</td>
<td>4</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Alpha.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>X.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Y.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Z.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff start.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff end.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Flags (1: CastShadows).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="LGTS">LGTS</h2>
<p>Possibly deprecated. Spot Light.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
<a href="#PRFX" alt="PRFX" class="chunk">PRFX</a>
<a href="#NAME" alt="NAME" class="chunk">NAME</a>
<a href="#DATA" alt="DATA" class="chunk">DATA</a>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float</td>
<td>4</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Alpha.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>X.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Y.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Z.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Interest X.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Interest Y.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Interest Z.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff start.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Falloff end.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Cone Angle.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Spread Angle.</p></td>
</tr>
<tr>
<td class="long">long int</td>
<td>4</td>
<td><p>Flags (1: CastShadows).</p></td>
</tr>
</tbody></table>
</section>
<section class="chunk block">
<h2 class="title" id="FOGD">FOGD</h2>
<p>Possibly deprecated. Fog data.</p>
<table class="hierarchy">
<thead>
<tr>
<th>Parent</th>
<th>Children</th>
<th>Appearance</th>
</tr>
</thead>
<tbody><tr>
<td>
-
</td>
<td>
</td>
<td>
Optional.
</td>
</tr>
</tbody></table>
<table class="structure">
<thead>
<tr class="title"><th>Structure</th></tr>
<tr>
<th>Data Type</th><th>Size</th><th>Description</th>
</tr>
</thead>
<tbody><tr>
<td class="float">float</td>
<td>4</td>
<td><p>Red.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Green.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Blue.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Alpha.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Near plane.</p></td>
</tr>
<tr>
<td class="float">float</td>
<td>4</td>
<td><p>Far plane.</p></td>
</tr>
</tbody></table>
</section>
</div>
<footer>
</footer>
</div>
</body></html>