Просмотр
Материал из DoomDev
Страница «
LINEDEFS
»
Перейти к:
навигация
,
поиск
Линии (linedef) - то, что составляет облик карты. Каждая линия заключена между двумя [[VERTEXES|вертексами]] и может содержать один или два [[SIDEDEFS|sidedef]] (которые содержат данные о текстурах). У линий две основных цели. Первая - отделить игрока от пустоты (пустотой считается всё по ту сторону односторонних линий), вторая - запускать [[спецификаторы]] ("тип линии" в терминах обычного Doom). ZDoom использует те же основные данные карт, что и Doom, но с двумя исключениями: блоки LINEDEFS и THINGS расширены в форму, совместимую с Hexen. ZDoom решает, в каком формате записаны эти блоки, проверяя, содержит ли карта блок BEHAVIOR. Если содержит, то блоки LINEDEFS и THINGS рассматриваются, как имеющие формат Hexen, в противном случае – как имеющие обычный формат DOOM. В Hexen Блок LINEDEFS состоит из ряда 16-и байтовых записей, в Doom - из 14-и байтовых. Каждая запись структурирована следующим образом: {|border=1 !Смещение<br>(Doom) !Смещение<br>(Hexen) !Размер !Метка !Значение |- |0 |0 |word |v1 |Вертекс начала линии |- |2 |2 |word |v2 |Вертекс конца линии |- |4 |4 |word |flags |Свойства линии (см. ниже) |- |6 | |word |type |Тип линии |- |8 | |word |tag |Tag сектора |- | |6 |byte |special |Индекс спецификатора линии |- | |7 |byte |args[0] |Первый аргумент спецификатора линии |- | |8 |byte |args[1] |Второй аргумент спецификатора линии |- | |9 |byte |args[2] |Третий аргумент спецификатора линии |- | |10 |byte |args[3] |Четвертый аргумент спецификатора линии |- | |11 |byte |args[4] |Пятый аргумент спецификатора линии |- |10 |12 |word |sidenum[0] |Индекс переднего sidedef линии. 0xffff - нет sidedef. |- |12 |14 |word |sidenum[1] |Индекс заднего sidedef линии. 0xffff - нет sidedef. |} Значение битов поля свойств lidedef: {|border=1 !Бит !Шестнадцатиричный экв. !Значение |- |0 |0x0001 |Не пускает и игроков и монстров |- |1 |0x0002 |Не пускает только монстров |- |2 |0x0004 |Линия является двухсторонней |- |3 |0x0008 |Верхняя текстура зафиксирована |- |4 |0x0010 |Нижняя текстура зафиксирована |- |5 |0x0020 |Секретная линия (на автоматической карте рисуется как односторонняя) |- |6 |0x0040 |Не пропускает звук |- |7 |0x0080 |Никогда не рисовать эту линию на автоматической карте |- |8 |0x0100 |Всегда рисовать эту линию на автоматической карте |- |9 |0x0200 |Спецификатор повторяем |- |10-12 |0x1c00 |Тип активации данной линии (см. ниже) |- |13 |0x2000 |Линия может быть активирована монстрами (и игроками) |- |14 |0x4000 |Зарезервировано |- |15 |0x8000 |Ничего не пропускает (включая пули и ракеты) |} Каждый спецификатор линии может иметь один из следующих типов активации: {|border=1 !Индекс типа !Значение типа !Значение |- |0 |0x0000 |Активируется при пересечении линии игроком |- |1 |0x0400 |Активируется, когда игрок использует линию |- |2 |0x0800 |Активируется, когда монстр пересекает линию |- |3 |0x0c00 |Активируется, когда снаряд попадает в линию |- |4 |0x1000 |Активируется, когда игрок сталкивается с линией |- |5 |0x1400 |Активируется, когда снаряд пересекает линию |- |6 |0x1800 |То же, что 1, но с пересечением |- |7 |0x1c00 |Зарезервировано |} {{zdoomwikibased2|Linedef}}
Шаблон:Zdoomwikibased2
Возврат к странице
LINEDEFS
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы