Как прикрепить карту локации на глобальную карту в ПДА Статья-урок
Попробуем вначале разобраться, что такое глобальная карта и как она работает. Откуда на ней все карты локаций, и каким образом открывая ПДА в разделе карты мы видим метки Кордона на участке обозначающем Кордон, а метки например, Складов – там где они и должны быть.
Итак… Папка gamedata\config, файл game_maps_single.ltx. Откроем его. Поясню, что там внутри за что отвечает.
[level_maps_single]
L01_escape
L02_garbage
L03_agroprom
L03u_agr_underground
l04_darkvalley
l04u_LabX18
L05_bar
L06_rostok
l07_military
l08_yantar
l 10_radar
l11_pripyat
l12_stancia
l12_stancia_2
l12u_control_monolith
l12u_sarcofag
l08u_brainlab
Эта секция перечисляет все уровни, что есть в игре. Как видно – от Кордона до ЧАЭС-2, включая все подземные уровни. Это список из ТЧ, оригинальная игра.
[level_music_tracks]
music\amb01 = 0, 12, 0.5, 10,20
music\amb03 = 0, 12, 0.5, 10,15
music\amb07 = 12,24, 1.0, 5, 25
Понятия не имею что это, но наверно что-то про музыку… Нам не понадобится.
[global_map]
texture = ui\ui_global_map
bound_rect = 0.0,0.0, 1024, 2634.0
max_zoom = 6.0
А вот это самое главное. Здесь определена текстура – она лежит по адресу gamedata\textures\ui, называется ui_global_map – обратите внимание, текстура без расширения указана. bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. Max_zoom – тут я думаю ясно, это максимально разрешённое увеличение. То есть самое большее насколько можно «приблизить» изображение в ПДА открыв глобальную карту это в 6 раз. Попробуйте поставить другие значения – иногда получается интересно.
Дальше файл заполнен однотипными секциями, описывающими уровни и расположение их карт на глобальной карте. Возьмём несколько для разбора, скажем, Кордон, Агропром, ну и пожалуй, Припять.
[l01_escape]
texture = map\map_escape
bound_rect = -317.164, -633.718, 404.880, 811.627
global_rect = 355.0,2011.0, 576.0,2453.000000
weathers = default
music_tracks = l01_escape_musics
[l03_agroprom]
texture = map\map_agroprom
bound_rect = -266.505, -355.611, 331.388, 213.838
global_rect = 161.0, 1834.0, 344.0,2008.293945
weathers = default
;music_tracks = l03_agroprom_musics
music_tracks = l01_escape_musics
[l11_pripyat]
texture = map\map_pripyat
bound_rect = -529.399, -457.516, 574.854, 769.050
global_rect = 457.0, 586.0, 798.0, 964.770996
weathers = pripyat
music_tracks = l11_pripyat_musics