Level — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(→Описание файла "level") |
Pavel (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
'''Формат разобрал Haper''' | '''Формат разобрал Haper''' | ||
− | + | ==Описание файла "level" == | |
+ | <big>Cодержит в себе всё самое основное. Тут хранятся источники света, описания объектов, имена соответствующих им текстур и шейдеров, порталы и секторы.</big> | ||
+ | |||
+ | |||
+ | ===[[Версии формата level]]=== | ||
+ | |||
+ | |||
+ | |||
+ | Существует программа для разбора и сбора этого файла - [http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=417 unp level], автор - [http://www.gameru.net/forum/index.php?showuser=8923 XiaNi] | ||
+ | ===Общая структура - блоки файла=== | ||
+ | <table width="391" border="0" style="border: 1px solid black" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="259"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="116"><div align="center">Код блока</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Версия компилятора карты</td> | ||
+ | <td style="border: 1px solid black"><div align="center">1</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Описание порталов</td> | ||
+ | <td style="border: 1px solid black"><div align="center">4</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Источники света</td> | ||
+ | <td style="border: 1px solid black"><div align="center">6</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Короны источников света</td> | ||
+ | <td style="border: 1px solid black"><div align="center">7</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Объекты</td> | ||
+ | <td style="border: 1px solid black"><div align="center">3</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Текстуры</td> | ||
+ | <td style="border: 1px solid black"><div align="center">2</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Секторы</td> | ||
+ | <td style="border: 1px solid black"><div align="center">8</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | === Версия компилятора карты (блок для всех карт одинаковый) === | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">1</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">4</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Номер версии (для всех одинаковый) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">13</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | === Описание порталов (блок для всех карт одинаковый и данных не содержит) === | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">4</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | === Источники света === | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">6</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Источник свет </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">(108*х)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | ==== Источник света ==== | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="113"><div align="center">Смещение</div></td> | ||
+ | <td style="border: 1px solid black" width="106"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Тип источника света (встречались только 1 или 2) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">(встречались только 1 или 3)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">4</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style3">Цвет Красный </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style3">8</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style3">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style5">Цвет Зелёный </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style5">12</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style5">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style2">Цвет Синий </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style2">16</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style2">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center"><p>20</p></div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">24</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">28</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">32</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">36</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">40</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">44</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">48</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">52</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Координата X</td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">56</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Координата Z</td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">60</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Координата Y</td> | ||
+ | <td style="border: 1px solid black"><div align="center">64</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Угол поворота по X</td> | ||
+ | <td style="border: 1px solid black"><div align="center">68</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style12">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Угол поворота по Z</td> | ||
+ | <td style="border: 1px solid black"><div align="center">72</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style12">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Угол поворота по Y</td> | ||
+ | <td style="border: 1px solid black"><div align="center">76</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style12">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">80</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">84</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">88</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">92</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">96</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">100</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">104</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Single(4)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | === Короны источников света === | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">7</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Корона источника света </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">(18*х)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | ==== Корона источника света ==== | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="113"><div align="center">Смещение</div></td> | ||
+ | <td style="border: 1px solid black" width="106"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style7">Координата X </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style7">Координата Z </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">4</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><span class="style7">Координата Y </span></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">8</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center" class="style7">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">???</td> | ||
+ | <td style="border: 1px solid black"><div align="center">12</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Single(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">???</td> | ||
+ | <td style="border: 1px solid black"><div align="center">16</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | === Текстуры === | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">2</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Кол-во текстур </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Текстуры</td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | ==== Текстура ==== | ||
+ | <table width="586" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="345"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="123"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Шейдер (с путём)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">String</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Разделитель</td> | ||
+ | <td style="border: 1px solid black"><div align="center">"/"</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Byte(1)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Текстура (с путём)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">String</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" colspan="3"><div align="center">Начало необязательной части </div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Разделитель</td> | ||
+ | <td style="border: 1px solid black"><div align="center">","</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Byte(1)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Лайтмап 1 </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">String</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Разделитель</td> | ||
+ | <td style="border: 1px solid black"><div align="center">","</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Byte(1)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black"><p>Лайтмап 2</p> </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">String</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" colspan="3"><div align="center">Конец необязательной части </div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Нулевой символ - конец названия текстуры</td> | ||
+ | <td style="border: 1px solid black"><div align="center">#0</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Byte(1)</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | <small> * Примечание: нулевая текстура указана без имени файла и состоит только из символа #0. Так что после поля "кол-во текстур" сразу попадается символ #0, не пугайтесь :) </small> | ||
+ | |||
+ | |||
+ | |||
+ | === Секторы === | ||
+ | <table width="582" border="0" style="border: 1px solid black"> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black" width="344"><div align="center"></div></td> | ||
+ | <td style="border: 1px solid black" width="96"><div align="center">Значение</div></td> | ||
+ | <td style="border: 1px solid black" width="120"><div align="center">Размер</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Код блока</td> | ||
+ | <td style="border: 1px solid black"><div align="center">8</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Сжатие данных (0 - нет, 32768 - да)</td> | ||
+ | <td style="border: 1px solid black"><div align="center">32768</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">Word(2)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Размер несжатого блока (в байтах) </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">DWord(4)</div></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid black">Описание секторов </td> | ||
+ | <td style="border: 1px solid black"><div align="center">-</div></td> | ||
+ | <td style="border: 1px solid black"><div align="center">????</div></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | [[Категория:Форматы файлов]] |
Текущая версия на 17:42, 26 июня 2020
Формат разобрал Haper
Содержание
Описание файла "level"
Cодержит в себе всё самое основное. Тут хранятся источники света, описания объектов, имена соответствующих им текстур и шейдеров, порталы и секторы.
Версии формата level
Существует программа для разбора и сбора этого файла - unp level, автор - XiaNi
Общая структура - блоки файла
Код блока |
|
Версия компилятора карты | 1 |
Описание порталов | 4 |
Источники света | 6 |
Короны источников света | 7 |
Объекты | 3 |
Текстуры | 2 |
Секторы | 8 |
Версия компилятора карты (блок для всех карт одинаковый)
Значение |
Размер |
|
Код блока | 1 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 0 |
Word(2) |
Размер блока (в байтах) | 4 |
DWord(4) |
Номер версии (для всех одинаковый) | 13 |
DWord(4) |
Описание порталов (блок для всех карт одинаковый и данных не содержит)
Значение |
Размер |
|
Код блока | 4 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 0 |
Word(2) |
Размер блока (в байтах) | 0 |
DWord(4) |
Источники света
Значение |
Размер |
|
Код блока | 6 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 0 |
Word(2) |
Размер блока (в байтах) | - |
DWord(4) |
Источник свет | - |
(108*х) |
Источник света
Смещение |
Размер |
|
Тип источника света (встречались только 1 или 2) | 0 |
DWord(4) |
(встречались только 1 или 3) | 4 |
DWord(4) |
Цвет Красный | 8 |
Single(4) |
Цвет Зелёный | 12 |
Single(4) |
Цвет Синий | 16 |
Single(4) |
20 |
DWord(4) |
|
24 |
DWord(4) |
|
28 |
DWord(4) |
|
32 |
DWord(4) |
|
36 |
DWord(4) |
|
40 |
DWord(4) |
|
44 |
DWord(4) |
|
48 |
DWord(4) |
|
52 |
DWord(4) |
|
Координата X | 56 |
Single(4) |
Координата Z | 60 |
Single(4) |
Координата Y | 64 |
Single(4) |
Угол поворота по X | 68 |
Single(4) |
Угол поворота по Z | 72 |
Single(4) |
Угол поворота по Y | 76 |
Single(4) |
80 |
DWord(4) |
|
84 |
DWord(4) |
|
88 |
Single(4) |
|
92 |
Single(4) |
|
96 |
Single(4) |
|
100 |
DWord(4) |
|
104 |
Single(4) |
Короны источников света
Значение |
Размер |
|
Код блока | 7 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 0 |
Word(2) |
Размер блока (в байтах) | - |
DWord(4) |
Корона источника света | - |
(18*х) |
Корона источника света
Смещение |
Размер |
|
Координата X | 0 |
Single(4) |
Координата Z | 4 |
Single(4) |
Координата Y | 8 |
Single(4) |
??? | 12 |
Single(4) |
??? | 16 |
Word(2) |
Текстуры
Значение |
Размер |
|
Код блока | 2 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 0 |
Word(2) |
Размер блока (в байтах) | - |
DWord(4) |
Кол-во текстур | - |
DWord(4) |
Текстуры | - |
- |
Текстура
Значение |
Размер |
|
Шейдер (с путём) | - |
String |
Разделитель | "/" |
Byte(1) |
Текстура (с путём) | - |
String |
Начало необязательной части |
||
Разделитель | "," |
Byte(1) |
Лайтмап 1 | - |
String |
Разделитель | "," |
Byte(1) |
Лайтмап 2 |
- |
String |
Конец необязательной части |
||
Нулевой символ - конец названия текстуры | #0 |
Byte(1) |
* Примечание: нулевая текстура указана без имени файла и состоит только из символа #0. Так что после поля "кол-во текстур" сразу попадается символ #0, не пугайтесь :)
Секторы
Значение |
Размер |
|
Код блока | 8 |
Word(2) |
Сжатие данных (0 - нет, 32768 - да) | 32768 |
Word(2) |
Размер блока (в байтах) | - |
DWord(4) |
Размер несжатого блока (в байтах) | - |
DWord(4) |
Описание секторов | - |
???? |