-
Notifications
You must be signed in to change notification settings - Fork 0
/
map_format.txt
132 lines (115 loc) · 4.25 KB
/
map_format.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
ОПИСАНИЕ ФОРМАТА КАРТ DOOM 2D MULTIPLAYER 0.6
Написал Черный Думер.
26.04.2013
Примечание по тексту: [S] - строка, [N] - число
ОСНОВНЫЕ СВЕДЕНИЯ О ФАЙЛЕ КАРТЫ:
Расширение: *.DLV
Тип хранения данных: текстовый
Сигнатура: отсутствует
Все пути к используемым картой файлам (музыка, текстуры фона и тайлов) записаны относительно местонахождения EXE-файла игры, без кавычек и прочих символов разметки.
ЗАГОЛОВОК ФАЙЛА КАРТЫ:
[S] Строка 1 - название
[S] Строка 2 - описание
[N] Строка 3 - ширина
[N] Строка 4 - высота
[S] Строка 5 - путь к файлу музыки (начинается всегда с "data\music\")
[S] Строка 6 - путь к файлу текстуры фона (начинается всегда с "data\sky\")
[N] Строка 7 - количество текстур + одна невидимая
Далее идет список текстур. Он состоит из количества строк, равному указанному в заголовке количеству текстур без учета невидимой текстуры (то есть, при значении 7 в заголовке список будет состоять из 6 строк).
Строки содержат пути к файлам текстур. Они начинаются всегда с "data\textures\".
После заголовка до конца файла следуют блоки описания тайлов.
СТРУКТУРА БЛОКА ОПИСАНИЯ ТАЙЛА:
[N] Строка 1 - идентификатор типа тайла
[N] Строка 2 - расширенный идентификатор
[N] Строка 3 - X-координата тайла
[N] Строка 4 - Y-координата тайла
Расширенный идентификатор используется:
- тайлами окружения для хранения номера текстуры. Значение 1 означает невидимую текстуру размером 16x16, б`ольшие значения обозначают текстуру по списку (для получения номера текстуры относительно списка, указанного в заголовке карты, необходимо вычесть 1).
- триггерами для хранения идентификатора типа триггера.
Если блок описывает триггер, его структура дополняется еще несколькими строками:
[N] Строка 5 - коэффициент масштабирования зоны активации по оси X (ширина)
[N] Строка 6 - коэффициент масштабирования зоны активации по оси Y (высота)
[N] Строка 7 - X-координата верхнего левого угла зоны воздействия
[N] Строка 8 - Y-координата верхнего левого угла зоны воздействия
[N] Строка 9 - X-координата нижнего правого угла зоны воздействия
[N] Строка 10 - Y-координата нижнего правого угла зоны воздействия
При одинарном (равном 1) значении коэффициента значение ширины/высоты будет равно 16.
Важные примечания:
- если блок описывает триггер "Завершить раунд", то в нем отсутствуют строки 7-10;
- если блок описывает триггер "Телепорт", то в нем отсутствуют строки 9-10, а в строках 7 и 8 сохраняются X и Y координаты центра новой позиции игрока после телепортации.
ЗАРЕЗЕРВИРОВАННЫЕ ЗНАЧЕНИЯ:
*NO_MUSIC
Если путь к файлу музыки равен этому значению, то музыка на карте не используется.
*NO_BACKGROUND
Если путь к файлу текстуры фона равен этому значению, то фон на карте не используется.
ИДЕНТИФИКАТОРЫ ТИПОВ ТАЙЛОВ:
Тайлы окружения:
0 - Стена
1 - Ступень
2 - Фон
3 - Передний план
4 - Вода
5 - Кислота 1
6 - Кислота 2
7 - Лифт вверх
8 - Лифт вниз
9 - Лифт влево
10 - Лифт вправо
Предметы:
11 - Аптечка
12 - Большая аптечка
13 - Зеленая броня
14 - Синяя броня
15 - Соулсфера
16 - Мегасфера
17 - Неуязвимость
18 - Джетпак
19 - Берсерк
20 - Рюкзак
21 - Обойма
22 - Ящик патронов
23 - 4 гильзы
24 - 25 гильз
25 - Бутылек +4 HP
26 - Черепок +5 AP
27 - 1 ракета
28 - 5 ракет
29 - Батарейка
30 - Батарея
31 - Ружье
32 - Двустволка
33 - Пулемет
34 - Бензопила
35 - Ракетница
36 - Плазмаган
37 - BFG9000
38 - Суперпулемет
49 - Невидимость
50 - Костюм
Области:
39 - Точка DM
40 - Красная точка DM
41 - Синяя точка DM
42 - Красный флаг
43 - Синий флаг
Триггеры:
44 - активируемый касанием
45 - активируемый нажатием
46 - активируемый выстрелом
47 - активируемый при начале игры
48 - активируемый другим триггером ("расширителем")
ИДЕНТИФИКАТОРЫ ТИПОВ ТРИГГЕРОВ:
0 - Включить стену
1 - Выключить стену
2 - Переключить стену
3 - Случайный расширитель
4 - Расширитель
5 - Переключить триггер
6 - Убить игрока
7 - Телепорт
8 - Завершить раунд
Также в идентификаторе типа триггера может сохраняться задержка в секундах перед активацией (только для триггера "Расширитель") или деактивацией (только для триггера "Переключить стену"). В таком случае тип триггера идентифицируется по следующим диапазонам:
101..400 - Переключить стену (значение вычитаемого: 100)
501..800 - Расширитель (значение вычитаемого: 500)
Значение вычитаемого необходимо для вычисления задержки по следующей формуле:
задержка = расширенный_идентификатор - значение_вычитаемого