|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.05.2015, 01:14 | #11 | |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Цитата:
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
|
29.05.2015, 07:34 | #12 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
29.05.2015, 09:16 | #13 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Так ведь не плохо помогли. Даже формат и структуру файла примерную рассказали.
|
29.05.2015, 15:17 | #14 | |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Цитата:
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
|
29.05.2015, 20:45 | #15 |
Пользователь
Регистрация: 09.07.2011
Сообщений: 17
|
Я скачал архив: там лишь распакованные из zlib данные. А там-то как раз самое интересное! Кроме того, этот формат изменялся с выходом новых игр. Мне стало интересно, и я начал разбирать старые игры студии «Сатурн-плюс».
Первая игра "9 Принцев Амбера" была написана на другом движке. После этой игры студия в студии произошла смена руководства. Игры стали делать на другом движке. Первой игрой на новом движке стал квест "Новые Бременские". Формата mult там нет, но есть *.casm. Но в этом формате присутствуют лишь пути к кадрам и ещё какая-то информация, возможно, координаты. Сами изображения храниться в запакованном формате BMP, который я сегодня разобрал. Структура довольно простая: 4 байта на ширину, 4 байта на высоту и 4 байта — размер сжатой картинки в байтах. Само изображение сжато алгоритмом, чем-то схожим с RLE: байт на количество пикселе, 4 байта на (RGBA). Также есть ещё файлы *.MSK, но меня они не интересуют: скорее всего там зона, где разрешено ходить — "floor". Потом вышла игра "Приключения Поручика Ржевского", где структура точно такая же. А вот уже в игре "Агент: Особое Задание" появляется формат mult. Разница с последующими играми лишь в сжатии zlib (тут его нет) и в дополнительно информации. Следующим большим 2D проектом студии стала игра "Петька 3: Возвращение Аляски", где и появилась запаковка в Zlib. После этой игры структура файла практически не менялась. В целом мне понравился алгоритм сжатия в MULT, достаточно хорошо сжимает. Разбирали Штырлица 1-2 (основной алгоритм распаковки изображений писал не я, я лишь написал с его использованием распаковку всего архива), так его способ проигрывает во времени распаковки и, что самое главное, в объёме. Там, правда, формат другой, в двух словах не расскажешь. Если кратко: тупа всё запаковано в архив (в начале есть таблица файлов), у самих ресурсов (картинки, музыка) формата нет; звуковые файлы без заголовка. Уступает формат из Штырлица ещё в количестве цветов: если фоны запакованы с выделением 2 байта на цвет, то в анимациях палитра всего на 256 цветов. В MULT же 4095 цветов. Один минус формата — нули вместо неиспользованных цветов при условии, что в файле есть информация о количестве цветов в формате. То есть, если в изображении 200 цветов (на каждый цвет по 4 байта), в палитру будут записаны эти цвета и 0x00 на 16к байт вместо неиспользованных цветов. Я же для себя написал запаковщик в "свой" формат mult, где убрал ненужную мне информацию. Естественно, формат разобран не до конца: есть пустые кадры, непонятная информация, которая никак не влияет на игровой процесс (по крайней мере при изменении ничего не происходит). Вдобавок координаты записаны в формате одинарной точности. В общем, формат интересный. |
29.05.2015, 20:52 | #16 | |
Заблокирован
Регистрация: 26.05.2015
Сообщений: 9
|
Цитата:
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тестовый файл. Найти сумму всех чисел, входящих в этот файл. (Паскаль) | Homeros | Помощь студентам | 1 | 26.01.2011 14:05 |
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] | mifomen | Помощь студентам | 7 | 16.12.2010 22:00 |
WinInet загрузить файл во временной файл , использовать, потом удалить | Человек_Борща | Работа с сетью в Delphi | 5 | 03.08.2010 13:46 |
C++. Прочитать файл и вывести в другой файл каждую N-ую строку | Straiker | Помощь студентам | 3 | 15.12.2009 05:49 |
Ссылка на файл из текущей папки! Сбор инфы в один файл! | mephist | Microsoft Office Excel | 11 | 10.07.2009 13:51 |