|
|
|||||||
| Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
|
#1 |
|
Пользователь
Регистрация: 19.03.2009
Сообщений: 61
|
Ура, все запустилось!!! Усе норм, все на своих местах!!!
Спасибо огромное Dad, mr N, deSAD! Короче Dad, ты все правельно писал, -Координатами вырезаемого куска являются левый нижний и правый верхний углы. И только так! Если мосты вырезать с верхего левого угла, то карта просто не запускается (проверил на горьком опыте безсонных ночей). Общую статику и так и эдак пробовал. По мойму ее лучше с левого верхнего угла резать изначально нужно, по другому тоже норм, но вроде есть маленькая здвижка, метров 20-40(может показалось). Но если рассуждать трезво, то координаты мостов и общей статики, просчитываются из разных углов карты, а значит и резать по разному нужно. mr N, Ты гений, без твоих прог, просто никуда с этим всем! Dad, спасибо за терпение! Короче спасибо всем еще раз, погнал марофет наводить на карте. ![]() Не прощаюсь
|
|
|
|
|
|
#2 |
|
Новичок
Регистрация: 07.03.2007
Сообщений: 16
|
Проба сил. Во вложении прототип редактора для map_c.
Пока только отображает содержимое одного сегмента 32х32. На вход загружается файл BMP в оттенках серого размером 32х32 (другие размеры тоже позволяет загрузить, но нормально отрабатывать не будет). На выходе отображается соответствующий вид береговой линии. Исходник сегмента можно править попиксельно изменением яркости. Выбор пикселя на исходнике - ЛКМ или ПКМ. Если ПКМ, то изображение ландшафта центрируется на выбранной точке. Исходник можно скопировать в буфер обмена и далее вставить в графический редактор. Карту береговой линии можно сохранить в файл (BMP), либо также скопировать в буфер. Карта береговой линии - зеленый цвет - суша, синий - вода. Бирюзовый цвет (на стыке воды и земли) - это, как я их называю, "шуршащие" тайлы. В зависимости от положения карты и масштаба в FMB на это место отображается то вода, то суша. Каждый пиксел карты - 80,645 см. Можно слепить сегменты карты береговой линии - для этого нужно построить карты соседних сегментов, а потом в графическом редакторе слепить их в один файл с перехлестом в один пиксель. В дальнейшем - работа напрямую с парой файлов map_c и редактирование непосредственно береговой линии на карте (пока идет наработка методов). З.Ы. подскажите формат файла tga_table. |
|
|
|
|
|
#3 |
|
Местный
|
Да запросто
![]() для удобства буду называть map_C - Иловский файл, тот что работает в паре с tga_table, а map_C_e - человеческий, который править удобно. Оба они строятся из блоков 32х32 пикселя. map_C имеет стандартную ширину 1024 пикселей (32 блока). Весь файл состоит из 4-х байтных целых значений. Особенность только в том, что значения укладываются в сетевом порядке байт (по мотороловски) по младшему адресу - старший байт. Т.е. байты в файл нужно толкать в порядке Самый старший, .., .., самый младший. Структура файла: - ширина map_C_e в пикселях - высота map_C_e в пикселях - количество блоков 32х32 по горизонтали (т.е. ширина map_C_e / 32) - количество блоков 32х32 по вертикали (т.е. высота map_C_e / 32) - (ширина map_C_e / 32) * (высота map_C_e / 32) значений - индексов блоков в Иловском map_C. В обоих файлах ( map_C и map_C_e ) блоки 32х32 пикселя перебираются по строкам слева направо, сверху вниз. Напимер индекс 0 соответствует верхнему левому блоку в map_C, индекс 1 - второму блоку в первой строке блоков, индекс 100 - пятому блоку в четвертой строке. Первые два блока как правило это полностью черный (с индексом 0) и полностью белый (с индексом 1). Т.е. по сути этот формат хранения - что то типа компрессии. Все чисто водные или чисто сухопутные блоки map_C_e ссылаются на первые 2 блока map_C, а таких обычно большинство. НО. Исследования показали, map_C не обязан быть шириной именно 32 блока! Он может иметь хоть по 1 блоку в строке - и Ил нормально читает такие файлы. Это может оказаться полезно при работе с гиганскими картами, насыщенными неодноцветными квадратами - согласно формату Truevision TARGA (*.tga) файл не может быть выше или шире 65535 пикселей (там двухбайтные значения), и если хранить по 32 квадрата в ряд, в высоту файл map_C может получиться очень большим. Вот тут и пригодится возможность укладывать в строки напр по 64 или 100 квадратов ![]() И углубляясь совсем в извращения можно вообще не разбирать map_C_e - просто переименовать его в map_C, и сфабриковать правильный map_c.tga_table ( просто свалить в него подряд значения индексов от 0 до (ширина map_C_e / 32) * (высота map_C_e / 32) - 1 ) - и Ил скорее всего такой файл схавает ![]() Но утилиты CMap.jar и Map_C_Toolbox скорее всего не умеют работать с map_C шириной не 32 блока (1024 пикселя). ( map_x_Tool умеет ) |
|
|
|
|
|
#4 | |
|
Новичок
Регистрация: 07.03.2007
Сообщений: 16
|
Цитата:
. Только одна фишка - если индекс сегмента равен 0 или 1, то ил-2 рисует просто воду и просто сушу - не смотря на действительное содержимое этих квадратов в подсовываемой map_C_e |
|
|
|
|
|
|
#5 | |
|
Местный
|
Цитата:
![]() ![]() оптимизация движка игры ![]() ![]() ![]() Чтож - жаль.... |
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|