LINEDEFS
Материал из DoomDev
(Различия между версиями)
Текущая версия (21:10, 26 марта 2008) (просмотреть исходный код) |
|||
+ | Линии (linedef) - то, что составляет облик карты. Каждая линия заключена между двумя [[VERTEXES|вертексами]] и может содержать один или два [[SIDEDEFS|sidedef]] (которые содержат данные о текстурах). У линий две основных цели. Первая - отделить игрока от пустоты (пустотой считается всё по ту сторону односторонних линий), вторая - запускать [[спецификаторы]] ("тип линии" в терминах обычного Doom). | ||
+ | |||
ZDoom использует те же основные данные карт, что и Doom, но с двумя исключениями: блоки LINEDEFS и THINGS расширены в форму, совместимую с Hexen. ZDoom решает, в каком формате записаны эти блоки, проверяя, содержит ли карта блок BEHAVIOR. Если содержит, то блоки LINEDEFS и THINGS рассматриваются, как имеющие формат Hexen, в противном случае – как имеющие обычный формат DOOM. | ZDoom использует те же основные данные карт, что и Doom, но с двумя исключениями: блоки LINEDEFS и THINGS расширены в форму, совместимую с Hexen. ZDoom решает, в каком формате записаны эти блоки, проверяя, содержит ли карта блок BEHAVIOR. Если содержит, то блоки LINEDEFS и THINGS рассматриваются, как имеющие формат Hexen, в противном случае – как имеющие обычный формат DOOM. | ||
- | + | В Hexen Блок LINEDEFS состоит из ряда 16-и байтовых записей, в Doom - из 14-и байтовых. Каждая запись структурирована следующим образом: | |
- | + | ||
- | Блок LINEDEFS состоит из ряда 16-и байтовых записей. Каждая запись структурирована следующим образом: | + | |
{|border=1 | {|border=1 | ||
- | !Смещение | + | !Смещение<br>(Doom) |
- | ! | + | !Смещение<br>(Hexen) |
+ | !Размер | ||
!Метка | !Метка | ||
!Значение | !Значение | ||
|- | |- | ||
+ | |0 | ||
|0 | |0 | ||
|word | |word | ||
|Вертекс начала линии | |Вертекс начала линии | ||
|- | |- | ||
+ | |2 | ||
|2 | |2 | ||
|word | |word | ||
|Вертекс конца линии | |Вертекс конца линии | ||
|- | |- | ||
+ | |4 | ||
|4 | |4 | ||
|word | |word | ||
|Свойства линии (см. ниже) | |Свойства линии (см. ниже) | ||
|- | |- | ||
+ | |6 | ||
+ | | | ||
+ | |word | ||
+ | |type | ||
+ | |Тип линии | ||
+ | |- | ||
+ | |8 | ||
+ | | | ||
+ | |word | ||
+ | |tag | ||
+ | |Tag сектора | ||
+ | |- | ||
+ | | | ||
|6 | |6 | ||
|byte | |byte | ||
|Индекс спецификатора линии | |Индекс спецификатора линии | ||
|- | |- | ||
+ | | | ||
|7 | |7 | ||
|byte | |byte | ||
|Первый аргумент спецификатора линии | |Первый аргумент спецификатора линии | ||
|- | |- | ||
+ | | | ||
|8 | |8 | ||
|byte | |byte | ||
|Второй аргумент спецификатора линии | |Второй аргумент спецификатора линии | ||
|- | |- | ||
+ | | | ||
|9 | |9 | ||
|byte | |byte | ||
|Третий аргумент спецификатора линии | |Третий аргумент спецификатора линии | ||
|- | |- | ||
+ | | | ||
|10 | |10 | ||
|byte | |byte | ||
|Четвертый аргумент спецификатора линии | |Четвертый аргумент спецификатора линии | ||
|- | |- | ||
+ | | | ||
|11 | |11 | ||
|byte | |byte | ||
|Пятый аргумент спецификатора линии | |Пятый аргумент спецификатора линии | ||
|- | |- | ||
+ | |10 | ||
|12 | |12 | ||
|word | |word | ||
|sidenum[0] | |sidenum[0] | ||
- | |Индекс переднего sidedef линии | + | |Индекс переднего sidedef линии. 0xffff - нет sidedef. |
|- | |- | ||
+ | |12 | ||
|14 | |14 | ||
|word | |word | ||
|sidenum[1] | |sidenum[1] | ||
- | |Индекс заднего sidedef линии | + | |Индекс заднего sidedef линии. 0xffff - нет sidedef. |
|} | |} | ||
|6 | |6 | ||
|0x1800 | |0x1800 | ||
- | |То же, что 1, но с пересечением | + | |То же, что 1, но с пересечением |
|- | |- | ||
|7 | |7 | ||
|Зарезервировано | |Зарезервировано | ||
|} | |} | ||
+ | |||
+ | {{zdoomwikibased2|Linedef}} |