LBMs и все, все, все - Моды на MTW и STW - TWoW.Games - Сообщество любителей умных игр Перейти к содержанию
TWoW.Games - Сообщество любителей умных игр

LBMs и все, все, все


Oleg Bazhenov

Рекомендуемые сообщения

2 Engineer

 

Для начала уточним - я баловался с файлом lukmap*.lbm. Как я понял это граффайл с разметкой по провинциям. Только я точно не знаю где он конкретно используется.

Я предполагал, что в маленьком окне с общей картой...

 

Я этот файл конвертнул из lbm в bmp и обратно. Заголовок действительно поменялся,

размер сильно вырос. Загрузил игру, сделал пару ходов. Вроде ничего не вылетело. Либо я неправильно понял и обращения к этому файлу не было, либо игра понимает и файл с измененным заголовком. GWS у меня, действительно, поновее, GWS95, от 13.03.96.

Размер в упаковке - примерно 1 Мб. Так что почтой я его кидать не хотел бы... Если можно - могу загрузить на форум.

 

С уважением

Олег Баженов

Ссылка на комментарий
  • Ответов 180
  • Создана
  • Последний ответ

Топ авторов темы

  • Engineer

    52

  • Chernish

    34

  • AlexMSQ

    28

  • ЛЮБИТЕЛЬ

    26

Топ авторов темы

2 Oleg Bazhenov:

GWS95, от 13.03.96.

Размер в упаковке - примерно 1 Мб. Так что почтой я его кидать не хотел бы... Если можно - могу загрузить на форум.

Ага, это что-то новое, у меня старый LBM, который делает в принципе то-же самое, но игра вылетает. Да, а ты её менял? Редактировал файл LBM или просто сохранил его в новом формате? Я вот, добавил провинцию и только тогда игра не приняла новый файл. Так может ошибка не в формате файла, а в способе добавления провинции и надо строго согласованно менять несколько файлов? LookupMap & lookmap - маленькая карта (2048 низкого разрешения?) и lookupmap2 & lookmap2 (карта 4096 большого разрешения?)?

В общем, качни его куда-нибудь или выложи ссылку в инет, если знаешь где, попробую снова.

 

Будем разбираться с картами. У кого ещё есть сведения с орга по этой теме?

Ссылка на комментарий
Да, а ты её менял? Редактировал файл LBM или просто сохранил его в новом формате? Я вот, добавил провинцию и только тогда игра не приняла новый файл. Так может ошибка не в формате файла, а в способе добавления провинции и надо строго согласованно менять несколько файлов? LookupMap & lookmap - маленькая карта (2048 низкого разрешения?) и lookupmap2 & lookmap2 (карта 4096 большого разрешения?)?

 

Нет, не менял, только два раза переконвертировал. Карты ИМХО надо менять

согласовано. Но разрешение, наверно, не связаны друг с другом. Это для разных установок разрешения игры. Ок, попробую все-таки мэйлом отправить

GWS.

 

С уважением

Олег Баженов

Ссылка на комментарий

2 Oleg Bazhenov:

Ок, попробую все-таки мэйлом отправить

GWS.

Спасибо.

 

Только я точно не знаю где он конкретно используется.
Карты ИМХО надо менять

согласовано.

Как я успел понять, две карты LBM формата (LukMap и LukMap2) используются для режимов низкого и высокого разрешений игры (как и два набора спрайтов юнитов в BIF файлах прототипов) в качестве маски, накладываемой на битмапную подложку TGA карт, отражаемых в главном окне игр (MapTex и MapTex2, соответственно). Т.е. LukMap-ы грузятся только после того, как загружена карта-подложка MapTex и служат для распознавания движком игры кривых границ между провинциями.

Это означает, что согласовано менять карты вполне можно. Подложку правим только для смены названий провинций, если надо. А маску достаточно поменять только в низком или, наоборот, в высоком разрешении.

Не знаю зачем служат копии файлов карт, абсолютно идентичные LBM: LukupMap и LukupMap2? Я менял их согласованно с LukMap-ами. Вообще, название LukupMap не уместно, для обзора карты используются хранимые там-же, но совсем отдельные BIF файлы, которые, как раз легко править. Это даёт отображение новой провинции на миникарте без каких либо проблем.

 

Осталось разобраться только с масками. В файлах кампаний, координаты физического расположения провинций заданы только двумя противоположными углами, - видимо для удобства работы распознающего LukMap алгоритма? Реальные границы между провинциями, в результате получаются кривые. Возможно три-четыре цвета, используемые для выделения границ провинций на маске строго обязательны? Цветового отличия самой провинции недостаточно? А может ещё и не должно быть двух одинаковых по цвету провинций? Скорее всего последнее верно. Буду проверять. На орге, ничего толком разузнать не смог, но я довольно давно там лазил.

 

Ага! Получилось! Твой GWS подходит. Только надо добавить ему в разделе Setup новую опцию: "LBM files /w PBM packing", а опцию "Compress IFF/LBM files" ни в коем случае не отключать. Господа моддеры, скоро мы получим новые карты провинций!

Для начала, попробую сделать тест - выложу новый комплект карт с одной добавленой провинцией: "Муром". Осталось только аккуратно проделать всё работу снова. Теперь мы можем менять маску провинций для стратегической карты. И MTW её успешно грузит. Спасибо Олегу!

Изменено пользователем Engineer
Ссылка на комментарий

А вот что пишет сам редактор GWS95 про эти два формата:

 

Deluxe Paint IFF/LBM

 

The IFF format started out on the Amiga. The IFF file standard is extremely flexible, and allows all sorts of things besides images to be stored in IFF files. IFF files are found on the PC having been ported from Amiga systems. They are also created on the PC by several applications such as Electronic Arts' Deluxe Paint package and Digital Vision's Computer Eyes video scanner board. In the first case they are given the extension LBM. In the second they are given the extension CE. The basic file structure is the same, however.

 

Deluxe Paint is a bit of a problem in the way it deals with IFF files, actually. This affects 256 colour files. Its native format is a subclass of IFF called PBM, and compresses its images as bytes. It's somewhat unique to Deluxe Paint, and Electronic Arts won't tell anyone quite how it works. You can actually work it out to a large degree, but every so often a file created in this format in the way it seems like it should be done refuses to load into Deluxe Paint.

 

The standard form for IFF image files is called ILBM, compressing all images as planes. This is much slower, but it means that files thus compressed will be readable by pretty well all IFF readers... even if you port 'em back to the Amiga. This is how Graphic Workshop creates IFF files. Unfortunately, there's a problem with old versions of Deluxe Paint which will occasionally cause them to stop reading one of these files part way through the image. This happens to IFF files from sources other than Graphic Workshop, so it's probably a bug in these versions of Deluxe Paint. It appears to have been rectified in more recent releases.

 

If you encounter an image which, when converted into an IFF file will not read into Deluxe Paint, use Setup to tell Graphic Workshop to produce an uncompressed IFF file. Uncompressed files read into Deluxe Paint with no difficulty.

 

Note that Graphic Workshop only reads "pure" IFF files, and will not handle the countless variations on the format which have appeared on the Amiga. Specifically, it does not read hold and modify, or HAM, files.

Ссылка на комментарий
Не знаю зачем служат копии файлов карт, абсолютно идентичные LBM: LukupMap и LukupMap2? Я менял их согласованно с LukMap-ами. Вообще, название LukupMap не уместно, для обзора карты используются хранимые там-же, но совсем отдельные BIF файлы, которые, как раз легко править. Это даёт отображение новой провинции на миникарте без каких либо проблем.

 

В "Викингах" lukmap файлов нет, только lukupmap. Вероятно это одно и тоже, используется lukupmap. Я попробовал совсем убрать lukmap - как работала, так и работает.

 

Осталось разобраться только с масками. В файлах кампаний, координаты физического расположения провинций заданы только двумя противоположными углами, - видимо для удобства работы распознающего LukMap алгоритма?

 

Это где? В startpos? Там вроде только координаты замков, портов и исходных точек...

 

Возможно три-четыре цвета, используемые для выделения границ провинций на маске строго обязательны? Цветового отличия самой провинции недостаточно?

 

Чего-то я не понял... Цветов провинций там до фига... Граница выделяеется тем же цветом, что и провинция, только чуть светлее. Как я понял по этой линии проводится линия цвета нации, которой эта провинция принадлежит.

 

С уважением

Олег Баженов

Ссылка на комментарий

2 Oleg Bazhenov:

Это где? В startpos? Там вроде только координаты замков, портов и исходных точек...

Извини, немного заговорился. Я говорил о координатах границы одной провинции(моря) с другой. В файлах кампаний заданы такие пары для каждой из граничащих провинций. Они, почему-то несколько отличаются (//Attributes of borders between provinces):

SetBorderInfo:: ID_RYAZAN ID_MUSCOVY 27160 4304 0 TEMPERATE AT_EASTERN_EUROPEAN INLAND FLAT NO_RIVER

SetBorderInfo:: ID_MUSCOVY ID_RYAZAN 27352 4368 0 LUSH AT_EASTERN_EUROPEAN INLAND PLAINS NO_RIVER

Видишь цифры после имени провинций (from.. > to..) Возможно здесь заданы координаты начала и конца пограничной линии? У меня пока нет четкого предположения. Похоже эти цифры некоторым образом задают одну точку на карте. Подобно координатам замка:

SetCastle:: ID_RYAZAN 28680 5544

 

А что означает третья цифра? Всегда "0", но почему-то только у Дании заданы:

SetBorderInfo:: ID_DENMARK ID_SAXONY 13000 6040 15 <...>

SetBorderInfo:: ID_BALTIC_SEA ID_SWEDEN 16120 2896 4 <...>

SetBorderInfo:: ID_SWEDEN ID_DENMARK 14328 4688 3 <...>

SetBorderInfo:: ID_SAXONY ID_DENMARK 12912 5936 7 <...>

SetBorderInfo:: ID_SKAGERRAK ID_DENMARK 13592 4304 3 <...>

SetBorderInfo:: ID_NORTH_SEA ID_DENMARK 12512 4760 11 <...>

SetBorderInfo:: ID_SWEDEN ID_NORWAY 14352 1384 5 <...>

SetBorderInfo:: ID_NORWEGIAN_SEA ID_NORWAY 11568 1576 13 <...>

SetBorderInfo:: ID_SKAGERRAK ID_NORWAY 13424 2048 7 <...>

SetBorderInfo:: ID_DENMARK ID_SWEDEN 14544 4640 11 <...>

SetBorderInfo:: ID_NORWAY ID_SWEDEN 14568 1408 13 <...>

SetBorderInfo:: ID_SKAGERRAK ID_SWEDEN 14272 3488 11 <...>

 

Координаты замков, потров и исходных точек работают даже если не грузить маску провинций, - стявятмся прямо на подложке. Только все армии и юниты размещаются в одной, - исходной точке провинции и перемещать их нельзя. Я так проверял, когда испортил файл маски конвертором. Заголовок прошёл, игра не вылетела, а сама маска не загрузилась.

 

Чего-то я не понял... Цветов провинций там до фига... Граница выделяеется тем же цветом, что и провинция, только чуть светлее. Как я понял по этой линии проводится линия цвета нации, которой эта провинция принадлежит.

Да. Но почему тогда все маски провинций выделены, - каждая своим цветом? И повторов вроде бы нет. И зачем линия границы светлее, - может именно для работы распознавалки? Просто так? Странно. Буду проверять. Резервные цвета ещё есть в палитре масок.

Ссылка на комментарий
Видишь цифры после имени провинций (from.. > to..) Возможно здесь заданы координаты начала и конца пограничной линии? У меня пока нет четкого предположения. Похоже эти цифры некоторым образом задают одну точку на карте. Подобно координатам замка:

 

Не похоже. Слишком близкие цифры для пересечения в ту и другую стороны.

Я пробовал загружать файл с маской в фотошоп и попытаться примерно определить где находится указанная точка. Карта разбита на 32768Х24576

узлов, а файл - 4096х3072 пикселя. Так что удобно - один пиксел - 8 узлов.

Получается примерно, что указанная точка находиться вблизи середины границы между провинциями, причем чуть-чуть в глубине провинции КУДА переходишь. Возможно это точка, перейдя которую юнит считается в другой провинции. Вот только как это можно описать одной точкой - для меня загадка. Третья цифра тоже непонятна. Странно, что она есть только для датских провинций.

 

Да. Но почему тогда все маски провинций выделены, - каждая своим цветом? И повторов вроде бы нет. И зачем линия границы светлее, - может именно для работы распознавалки? Просто так?

 

Видимо светлая граница действительно для распознавания. Ведь надо провести линию вдоль границы цветом владеющей нации. Вот, чтобы было понятно где можно вести, а где нет. Тогда более менее понятно зачем все провинции разноцветные - чтобы линия велась только вдоль границы одной провинции. Видимо распознавание идет только по цвету - где на маске стоит данный RGB - там и красить.

 

С уважением

Олег Баженов

Ссылка на комментарий

2 Oleg Bazhenov:

Видимо светлая граница действительно для распознавания. Ведь надо провести линию вдоль границы цветом владеющей нации. Вот, чтобы было понятно где можно вести, а где нет.
Видимо распознавание идет только по цвету - где на маске стоит данный RGB - там и красить

Ага! Тогда это никакое не распознавание, - оно, стало-быть по монотонному цвету провинции сделано, так надёжнее! А светлая граница, подобно замещаемым фракционным цветам юнитов служит для закраски именно этих пикселов цветом нации, - тот же механизм, что и в BIF-ах юнитов. Тогда всё понятно. Можно сделать провинцию без границ, одним цветом, и границы не станут окрашиваться, а можно закрасит потолще - и граница будет виднее. А точки по обе стороны, просто задают заведомое попадание в область соседней провинции, т.е. в любую точку, закрашенную соседним цветом. Возможно, тогда третья цифра, это размер зоны в пикселах, или глубина цвета для определения соседних провинций. Что-нибудь малозначительное, чем уже не пришлось пользоваться после отладки стратегического движка и работы карт.

 

Будем экспериментировать. Поехали!

Ссылка на комментарий
- выложу новый комплект карт с одной добавленой провинцией: "Муром".

 

На карты меня сейчас уже не хватает.. так что вы давайте - а мы после подтянемся...

 

Только зачем тебе этот Муром - лучше от Литвы Полоцк отрежь (зачем делать ненужную работу- Муром при нынешней нарезке не имеет смысла выделять а из Литвы Полоцк - особ. если Литва будет нацией - обязательно...)

Ссылка на комментарий

2 Engineer:

Может третье число имеет отношение только к полуостровам? Ведь остальные полуострова (Греция, Италия, Испания) как таковыми не являются - там идет континентальная часть: много провинций смешиваются с многими морями. Хотя, тоже не подходит... Тогда бы была беда с Константинополем.

 

2 Oleg Bazhenov:

В игре есть еще одна точка - точка входа в провинцию. Около нее должны (по описанию поля) появлятся фигурки юнитов. На двух точках уже можно сделать вектор.

Ссылка на комментарий

2 Chernish:

Только зачем тебе этот Муром - лучше от Литвы Полоцк отрежь (зачем делать ненужную работу- Муром при нынешней нарезке не имеет смысла выделять а из Литвы Полоцк - особ. если Литва будет нацией - обязательно...)

Ладно, пусть будет Полоцк, - хоть там и не было "заповедных и дремучих". А может были? Ну да ладно, сделаем в нём бонус лесорубам :)

Ссылка на комментарий
Тогда еще от Польши отрежте че-нить, Галицкую область(?), что ли... Шибко большая Польша.

Ее лучше просто на 2 провинции разрезать - Великая Польша и Малая..

Ссылка на комментарий

2 Engineer:

 

Есть конвертер LBM<->BMP (написан мной в C++Builder6 - соответственно есть алгоритм), рабочий (проверенно в MW:VI - добавление провинции, изменение границ), по степени пожатия близок к исходным LBM (чаще всего < или =).

Так же есть конвертер BIF<->BMP (написан на основе исходного кода RSW - переписан на С++), рабочий (проверенно в MW:VI - на щит ARMOUREDSPEARMEN нанесены фракционные цвета), по степени пожатия близок к исходным BIF (чаще всего < или =). Правда интерфейс в доработке (реализованна dll-библиотека с функциями чтения/записи заголовка, декодирования/кодирования тела и палитры, а exe-интерфейс пока немного хоотичен и не доработан), но все же чуть удобнее исходного.

Все это написанно для личных целей (моддинг), по замыслу в итоге это будет Medieval Construction Kit, для написания модов. Не против поделиться с народом (но навязывать не стану). Единственное - выложить в Интернет для всеобщего доступа нет возможности, но e-mail возможен. Если заинтересовало - ящик для писем указан при регистрации. Спасибо за внимание. Успехов!!!

Ссылка на комментарий

Почтенной публике,

 

 

Я два месяца работал над картой и кое-чего в ней просек.

 

Действительно, каждой провинции соответствует свой цвет, и наоборот.

Цвета провинций должны быть обязательно четными.

Если номер цвета в таблице цветов разделить на два - получится номер провинции в файлах names.txt, region_specific.txt и пр.

Следующий за данным четным номером цвет отображается в игре цветом нации, владеющей на данный момент данной провинцией.

 

Есть два исключения:

1. цвет номер 0 - используется как неотображаемый;

 

2. все моря идут без рабора чет/нечет в конце таблицы цветов. То, что это море, а не провинция, определяется опять-таки в names.txt, region_specific.txt и в файле описания кампании в каталоге /statpos.

 

Возможно я ошибаюсь (меня это в свое время не инитересовало), но алгоритмы определения того, пересек ли юнит границу провинции или нет, находятся в корневой директории /MTW.

 

 

С уважением

Ссылка на комментарий

2 Sturm LS:

спрашиваешь. Конечно интересует. Имхо это надо выложить в разделе "Инструментарий" - оттуда удобно будет всем скачать. Engineer, ты наверняка знаешь как этол организовать :) Очень вовремя надо сказать сделанное предложение! СПасибо!

Ссылка на комментарий

2 AVRELIAN:

Привет!

Слушай! А ну-ка давай поподробнее, пожалуйста. А то я уже добавил Полоцк и сделал карту, но не успел научиться правильно расставлять координаты границ, замков, переходов, - просёк только про чётный цвет, но ещё не понял зачем это.

Напиши пока сюда, - будем разбираться, и вместе сделаем статью потом в раздел по моддингу. А нам пока срочно нужно для русского мода. Поможешь?

 

P.S. Желающим могу выслать работающую карту Полоцка (4096- высокого разрешения=12Mb или 2048 -низкого=3Mb), а также два маленьких минимапа-для обзорных карт- оба с Полоцким княжеством. Теперь надо только разобраться со всеми деталями добавления провинций. С файлом кампаний я вроде расчихался, понял что цифры в границах только на перестановку юнитов по карте влияют, а не на возможность выделения самой провинции, ну и ещё много там всего накопал. Если AVRELIAN подключится и поделится опытом, добьём это дело быстренько.

Изменено пользователем Engineer
Ссылка на комментарий

Привет Engineer, у меня большущая прозьба помоги разобраться.....

Я русскую экспансию доделал, Африку ввел, викингов добросил, собственную нацию основал для прикола но.... у новой нации при том, что я все по уму накрутил при найме войск с фракционными щитами игруха вылетает при начале тактического сражения?????? Я tga файлы вставил из другой нации...но не помогает....

Ссылка на комментарий

Очередной этап разборок с картами господа. "lookupmap2.lbm" >> "lookupmap2.bmp"

 

Берём любимый фотошоп. Смотрим внимательно.

 

Итак. Палитра карты состоит из 256 цветов. Первый зарезервированы под цвет рамки для границ океанов. Второй и последние пять (предпоследние четыре вообще пустые) не используются. Остальные используются парами или по одиночке. Все провинции используют для закраски пары - соседние два цвета, чётный для самой провинции и нечётный для её границ, окрашиваемых потом движком в цвета владельца. Всего в игре я насчитал 99 провинций и 36 морских регионов. 99 провинций используют, стало быть, ровнёхонько 198 цветов - клеточек нашей палитры. 36 морских используют только 36 цветов, поскольку границ нации на море нет и все они ограничены одним цветом - первым. Итак остаётся свободных 256 - 198 - 36 - 7 = 15 цветов. Как найти незанятые цвета? Ведь это очень важно, - мы не можем добавлять в игру более 7 новых провинций - нужно иметь пару НЕЗАНЯТЫХ цветов на каждую новую провинцию.

 

[Лирическое отступление:] {Если закрасить новым цветом, использовав предпоследние две пустые пары клеточек палитры (добавляя их в палитру) провинция вообще не выделяется, - по-видимому править палитру нельзя. Взять цвет готовой провинции тоже нельзя, - движок игры именно для передвижений и выбора провинций на стратегической карте использует точное совпадение цвета! При этом в провинции всё строится, создаются юниты, туда приходят дипломаты, но выделив её, мы выделяем на самом деле другую провинций, - ту чей цвет был использован. Значит и войти в нашу провинцию нельзя, только вывести юнит из точки генерации в соседнии провинции.}

 

Ещё одно: Ох. Блин. Буду искать. Уж больно они все похожи! Не перебором же? В остальном, - новая провинция у меня работает. Когда разберусь с цветом, можно будет и поставить в неё юнит на стратегической карте, а то пока только из неё выйти можно или на автомате. Руки кривые у этих программистов из CA - поотрывать бы за такую "позитивную" идею, - зашивать в код цвета и палитры!

Ссылка на комментарий

2 AVRELIAN:

Возможно я ошибаюсь (меня это в свое время не инитересовало), но алгоритмы определения того, пересек ли юнит границу провинции или нет, находятся в корневой директории /MTW.

Дык! С этим вроде разобрались? Границы задаюся вектором от центральной точки - точки генерации юнитов до точки границы с другой провинцией. Определено это всё в файлах кампаний Early, High, Late. Или ты что-то другое нашёл?

 

2 BigDen:

Привет Engineer, у меня большущая прозьба помоги разобраться.....

Я русскую экспансию доделал, Африку ввел, викингов добросил, собственную нацию основал для прикола но.... у новой нации при том, что я все по уму накрутил при найме войск с фракционными щитами игруха вылетает при начале тактического сражения?????? Я tga файлы вставил из другой нации...но не помогает....

Это известный баг игры: hardcoded. Исправить нельзя, - CA пока думает. Так что 21-ю нацию добавить нельзя, именно из-за треклятых щитов! Вот. Используй пока первые 20 наций.

 

И еще вопрос...

Как музыку менять для фракций в сражении я понял, а как поменять сопроводительную музыку для татар с европейской на арабскую ???

В сражениях просто:

В файлах кампании (Early.txt, High.txt, Late.txt) найди строки:

SetFactionMusic:: FN_REBEL 1

SetFactionMusic:: FN_ALMOHAD 0

SetFactionMusic:: FN_BYZANTINE 1

SetFactionMusic:: FN_DANISH 2

Это оно и есть. А татарам мы в готовящемся моде уже музыку из Сёгуна перетащили.

 

А вот где менять в файлах музыку сопровождения я тоже пока не нашёл, - как то незачем было. Может кто знает?

Сами файлы можно поменять. Они там в обычном формате выложены.

Ссылка на комментарий

2 BigDen:

На Орге пожаловались еще в мае. Программеры СА взяли тайм-аут на две недели - и уже месяц думают :(

Ссылка на комментарий

2 Chernish:

 

Выкладывать или нет решать администраторам. Мое предложение - могу выслать на e-mail (весит не много), кто-нибудь из администраторов/модераторов посмотрит и решит. Могу выслать исходники (С++ Builder 6), правда проект еще в доработке, но необходимые операции (конвертации) реализованны.

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...

Важная информация

Политика конфиденциальности Политика конфиденциальности.