Без описания |
Поиск в теме | Версия для печати |
Марат  |
Отправлено: 28 Февраля, 2016 - 03:01:13
|

Chief-Net
Покинул форум
Сообщений всего: 2201
Дата рег-ции: Окт. 2014
Откуда: Казахстан

|
Исходник компресора/декомпрессора к играм, разработчиками которых является фирма Beam Software. В игре используется алгоритм, основанный на методе сжатия данных LZB.
Цитата: LZB явился результатом экспериментов по оценке различных методов кодирования указателей тоже как явных символов и различающих их флагов. Метод дает гораздо лучшее чем LZSS сжатие и имеет дополнительное достоинство в меньшей чувствительности к выбору параметров.
Первой составляющей указателя есть позиция начала фразы от начала окна. LZB работает относительно этой компоненты. Первоначально, когда символов в окне 2, размер равен 1 биту, потом, при 4-х символах в окне, возрастает до 2 битов, и т.д., пока окно не станет содержать N символов. Для кодирования второй составляющей (длины фразы) указателя, LZB применяет схему кодов переменной длины Элиаса. Поскольку этот код может представлять фразу любой длины, то никаких ограничений на нее не накладывается.
В отличии от LZB в этом методе длина фразы кодируется унарным кодом. Унарный код имеет переменную длину и может закодироать любое целое положительное число от 1 и выше.
Игры, которые используют данный алгоритм сжатия.
Blades of Vengeance(smd),
True Lies(smd),
Radical Rex(smd),
Tom and Jerry: Frantic Antics(smd),
MechWarrior(snes)
ShadowRun(snes)
Думаю, список ещё пополнится.
|
|
|
JARL32  |
Отправлено: 20 Июня, 2025 - 05:36:06
|
Покинул форум
Сообщений всего: 480
Дата рег-ции: Май 2023

|
Ну из всех вышеперечисленных игр для меня здесь самая интересная - это Мехвариор. Основной шрифт я не нашёл и многой графики тоже. Текст частично виден, а частично сжат. Само собой, я не очень хорошо представляю как вычислять точные адреса для кодека.
Я уже находил на просторах интернета разного вида компрессоры/декомпрессоры. Некоторые у меня работают, некоторые нет.
К Шадоврану я тоже периодически возвращаюсь - смотрю и думаю, могу ли я что-нибудь с этим сделать. Да, в расширенном роме есть основная часть текста, но несколько фраз похоже ромхакер к нему потерял. Мне интересно, если разжать текстовую часть в оригинальном роме, с учётом неиспользованных фраз, слов пустышек, а также достаточно ёмкого перевода, смог бы я переводить не расширенный ром?
Также я узнал, что адреса рамок в шадовране находятся отдельно. Это немного по-дебильному выглядит, потому что чаще всего в нормальных играх координаты рамок идут в 4-6 байтах перед фразой. Как их вычислять с помощью дебаггера я особо не представляю. Хотя, если тщательно изучить ром, возможно найдётся какая-то последовательность.(Отредактировано автором: 20 Июня, 2025 - 06:08:03) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« Экстрим хакинг » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
 |
|