Добрый день) На этот форум меня позвал человек с ником "Greengh0st", надеюсь он не соврал, сказав что здесь мне могут помочь ;)
Хотел заняться переводом Ninja Gaiden на Master System, но проблема в том, что шрифт в игре пожат, скорее всего по алгоритму RLE.
Конечно я могу и сам попробовать распаковать шрифт, может через годок-другой сделаю :D
Надеюсь найдутся люди, готовые помочь.
AlivE, Вы уже нашли сам блок со сжатой графикой непосредственно в роме?
AlivE, напишу всё в личку, скину номер аськи там всё обсудим.
Как успехи?
Нормально шрифт нашли, теперь жду когда AlivE, выйдет на связь, я ему дал доку по поинтерам, чтоб он разобрался с ними и можно было проект для перевода собрать. Просто думаю я бы разобрался с ними. Но ему это просто полезнее будет сделать самому, если не получится, тогда помогу ему.
Что-тог автор темы куда-то пропал.
Занят наверное. Подождём. Может уже кто-то из знакомых пишет ему распаковщик запаковщик , шрифт мы нашли, а для него это было главным. Главное чтоб не забросил.)))
Написал альфа-версию распаковщика.
Ого! Спасибо, вот нежданно негаданно)))
Ждём запаковщика и исходники. :)
Упаковщик и обновлённый распаковщик в архиве.
УРА)))
У меня компрессор работает как надо, а вот декомпрессор вылетает...
Система win 7 64 bit.
Хотя нет и компрессор рушится в конце. На выходе нулевой файл.
При запуске программы у меня потребовали следующие файлы: Libgcc_S_Dw2-1.dll и libstdc++-6.dll. Залил их на народ, может кому-то тоже понадобятся.
Скачать Libgcc_S_Dw2-1.dll и libstdc++-6.dll (https://yadi.sk/d/vT7TpWZodrdcB)
Цитата: proton от 08 января 2015, 20:10Упаковщик и обновлённый распаковщик в архиве.
А можно хотя бы в двух словах как им пользоваться?
В NG для SMS пожаты только буквы (шрифт) или есть ещё какая-то пожатая графика? Если есть, то её тоже распаковывает?
Пожат не только шрифт, но остальная графика.
Упаковщик (компрессор) и распаковщик (декомпрессор) используют в качестве параметров аргументы командной строки.
Для упаковщика используется следующий вид:
ninja_gaiden_c.exe "файл_с_перерисованным_шрифтом.bin" "выходной_файл_со_сжатым_шрифтом.bin"
То есть, если вы перерисовали шрифт и сохранили в файле под названием "111.bin", название второго файла можно взять по вашему желанию. Например, "222.bin".
В командной строке это будет выглядеть вот так:
ninja_gaiden_c.exe "111.bin" "222.bin"
В результирующем файле ("222.bin") мы получим запакованный шрифт, который нужно будет вставить в РОМ с помощью шестнадцатеричного редактора по адресу 0x20000 (hex).
Для распаковщика используется следующий вид:
ninja_gaiden_d.exe "РОМ_с_игрой.sms" "выходной_файл_с_распакованной_графикой.bin" [адрес_смещения_в_РОМе]
В командной строке это будет выглядеть вот так:
ninja_gaiden_d.exe "NG.sms" "decomp.bin" 0x20000
Адрес смещения указывается в формате шестнадцатеричного числа.
Если нужно распаковать графику и простого файла, а не игры, то необходимо указывать адрес смещения - 0.
ninja_gaiden_d.exe "gfx.bin" "decomp.bin" 0
По этой ссылке можно скачать MinGW
http://sourceforge.net/projects/mingw/files/latest/download?source=files
Цитата: Mefistotel от 09 января 2015, 05:58Хотя нет и компрессор рушится в конце. На выходе нулевой файл.
Пришли, пожалуйста, тот файл, который ты сжимаешь.
У меня тоже не работает. По ошибкам, судя по всему, тоже самое, что и у Mefistotel.
Или чтобы работало нужно скачать MinGW?
Лучше всего установить MinGW. Выбрать из раздела Basic Setup пакеты mingw32-base и mingw32-base-gcc-g++. Перегрузиться. Можно ещё добавить путь C:\MinGW\bin в переменную среды Path.