форум группы Chief-Net форум группы Chief-Net
Перевод приставочных игр и не только!
drako site Перейти на сайт группы     Наш чат      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Перевод рома
Zion744 Пользователь
Отправлено: 27 Марта, 2021 - 17:05:37
Post Id





Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2021  





В общем всем привет!

Задался я целью перевести любимую игру детства Super Robin Hood от разработчика Codemaster для консоли NES.
Хорошо



Видел тут на форуме уже пытались создавать темы с ней, но мало чего толкового увидел.
Ром открывал редактором Translhextion, пару букв удалось перевести в роме, но это все ерунда. Хотел вот начать с титульника, использовал графический редактор yychr в итоге увидел, что вся графика там пожата даже алфавита не найти, в общем на этом я и остановился. На форуме наткнулся на пост 2019 года когда Griever разместил утилиту которая вроде как может раскодировать весь ром, но так не понял как она работает.

Закатив глазки В общем если кому интересно или кто готов помочь с переводом присоединяйтесь буду очень рад, текста в игре не много. Сам ром прикрепил.

Скачать файл: Super Robin Hood.rar
Скачан раз: 5
 
 Top
Марат Супермодератор
Отправлено: 27 Марта, 2021 - 21:45:43
Post Id



Chief-Net


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





Придёт Гривер и, может, напишет вам скрипт для луа для извлечения адресов. Заодно и объяснит, как пользоваться тулзой. Вообще перерисовывать графику можно и без распаковщика, можно просто дампить видеопамять и работать с ней.
 
 Top
Griever Пользователь
Отправлено: 27 Марта, 2021 - 23:37:41
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





Привет. Похоже, здесь алгоритм был немного модифицирован, по сравнению с bee52. Нужно разбираться и дописывать инструмент.
Как обычно, сжаты также и тайловые карты, причём необычным алгоритмом, который также нужно изучать.
Я планирую на досуге потихоньку расколупывать графику и карту, но это тебе не поможет.
Потому что как только я скажу тебе как и чем перепаковать карту и графику, следующий вопрос будет, как перерисовать сам титульник. Здесь они используют обе страницы CHR в одном титульнике: одну для верхней половины, вторую для нижней. Такое только в Djinn Tile Mapper переделывать, перерисовывая половины, подменяя CHR.
Я также не смотрел остальное, но, помня Bee52 там почти все надписи на заплатках и костылях: то есть не грузят что-то напрямую из РОМа, а суют данные прямо в код и потом надо редактировать сами операнды.
Здесь, по сути, весь перевод и заключается во взломе.
 
 Top
Марат Супермодератор
Отправлено: 27 Марта, 2021 - 23:55:15
Post Id



Chief-Net


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





Griever пишет:
Привет. Похоже, здесь алгоритм был немного модифицирован, по сравнению с bee52. Нужно разбираться и дописывать инструмент.

Интересненько! Потом расскажешь, улучшили они сжатие или нет. Или это более поздняя версия.
Griever пишет:
Здесь они используют обе страницы CHR в одном титульнике: одну для верхней половины, вторую для нижней.

О, это как в Батл тоудс энд Дабл драгон. Если не ошибаюсь, то делал так: берешь карту и 1-ый chr банк и грузишь всё это в MapImage 2 на выходе получаешь картинку, у которой нижняя половина испорчена, а верхняя нормальная. Потом берешь ту же самую карту и 2-ой chr банк и грузишь в MapImage 2. На выходе получаешь картинку, у которой верхняя часть испорчена, а нижняя нормальная. Ну, а дальше обе картинки грузишь в фотошоп или ещё куда и склеиваешь нормальные половинки в цельную картинку и рисуешь как тебе надо.
 
 Top
Марат Супермодератор
Отправлено: 28 Марта, 2021 - 00:05:25
Post Id



Chief-Net


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





Хотя нет, вру, проще через Джинн Тайл Маппер последней версии вытащить из видеопамяти вместе с палитрой.
 
 Top
Griever Пользователь
Отправлено: 28 Марта, 2021 - 21:52:06
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





По графике.
Нашел у себя баг в одном из граничных случаев. Перезакачай последний релиз . Алгоритм оказался тем же самым, ложная тревога Улыбка
Вот здесь lua скрипт для fceux, который поможет найти адреса на сжатую графику.
Вот команды для извлечения тех кусков, до которых я смог дотянуться:
CODE:
echo off

codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0x843c decompressedLogo.chr
codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0x90F9 decompressedTitle0.chr
codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0x998A decompressedTitle1.chr

codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0x8b7f decompressedFont.chr

codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0xac60 decompressedLevelBlock1.chr
codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0xb162 decompressedLevelBlock2.chr
codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0xbc9d decompressedLevelBlock3.chr

codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0xa223 decompressedLevelSprites.chr
codemastersMarkov -d "Super Robin Hood [p1][!].nes" 0xbed7 decompressedOkTile.chr

pause

Попробуй перепаковать, если получится.

По тайловым картам, пробую копать.

(Отредактировано автором: 28 Марта, 2021 - 21:55:04)

 
 Top
Griever Пользователь
Отправлено: 30 Марта, 2021 - 21:18:42
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





По карте: не совсем сжатие, но используются разные команды для записи в PPU:
CODE:
0XXXXXXX: raw copy of XXXXXXX until next command byte encounter.
<=F0 XXXXXXXX: set new dst PPU ptr: Val&0x7F | XXXXXXXX, i.e. A0 0A = 200A as new address. This get saved and not updated as PPU written
>F0:
FF: end
FC: CCCCCCCC ...: raw copy C count of next bytes
FE XXXXXXXX YYYYYYYY: unpack another piece of compressed map at new pointer XXXXXXXX YYYYYYYY and return to initial compressed stream
FB CCCCCCCC : rle copy C timesof next chunk. Chunk is terminated by command byte FA
FA: decrement rle count and stop copy if needed
F9: set dst as next line (PPU ptr + 0x20)
F7: skip next 8 tiles (PPU ptr + 8)

Что-то типа RLE/LZ, но на деле (в титульнике) используют только Raw и немного RLE, но сжимет все равно несильно. На практике, если речь идет о двух-трех экранах, сжать быстрее вообще руками, чем писать упаковщик под это.
 
 Top
Марат Супермодератор
Отправлено: 30 Марта, 2021 - 21:24:10
Post Id



Chief-Net


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





А меня вот заинтересовало сжатиев UMK3.
Надо как-нибудь на досуге разобрать. А то, те у кого есть, почему-то не выкладывают в общий доступ.
 
 Top
Griever Пользователь
Отправлено: 31 Марта, 2021 - 20:34:36
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





Дай знать, если будет нужна помощь Подмигивание
 
 Top
Марат Супермодератор
Отправлено: 02 Апреля, 2021 - 21:18:52
Post Id



Chief-Net


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





Обязательно)
Но вроде справился.
Вот https://pastebin.com/nQx8cbkq описание в соответствии с твоей нотацией.
В принципе, ничего сложного.
 
 Top
Griever Пользователь
Отправлено: 03 Апреля, 2021 - 20:32:56
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





Интересно, как пираты в своё время это переводили Улыбка
 
 Top
Марат Супермодератор
Отправлено: 03 Апреля, 2021 - 20:48:39
Post Id



Chief-Net


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





Да там, вроде, шрифт не пожат и текст тоже. Только спрайты, арены и прочее.
 
 Top
Марат Супермодератор
Отправлено: 06 Апреля, 2021 - 00:49:10
Post Id



Chief-Net


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





Всё! Добил.
Подправил описание
https://pastebin.com/YxQHxABD

Скачать файл: UMK3CODEC.zip
Скачан раз: 3
 
 Top
Griever Пользователь
Отправлено: 06 Апреля, 2021 - 21:15:59
Post Id


VIP


Покинул форум
Сообщений всего: 409
Дата рег-ции: Июнь 2015  





Reverse LZ не хватает, так бы был чистый алгоритм Kirby Улыбка
 
 Top
Марат Супермодератор
Отправлено: 06 Апреля, 2021 - 23:15:21
Post Id



Chief-Net


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





Griever пишет:
Reverse LZ не хватает, так бы был чистый алгоритм Kirby

А я и писал на его исходниках Радость Просто заменил процедуры на другие.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Переводы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®