Не хотел создавать новую тему - просто есть один вопрос.
Решил сделать свой первый перевод, и как это бывает с новичками, застрял в самом начале.
В качестве испытуемой, выбрал игру Папирус на геймбое. Нашел алфавит, сделал таблицу (20=_,21=!,...,41=A,42=B,...), нашел текст и...... походу он как-то сжат (LZ-77?). Также, при после перерисовки тайла, игра не грузится из-за проблем с чексуммой.
Вопрос: можно ли решить проблему, или можно ставить крест на переводе этой игры?
Ром - Papyrus (E) (M6) [C][!].gbc
Текст вступления:
BANISHED BY PHARAOH MERENRE,...
AKER, HIGH PRIEST OF SETH, HAS STARTED TO SEEK HIS REVENGE.
THE PHARAOH WAS POISONED...
AND HIS DAUGHTER, THETI, WAS KIDNAPPED.
THE ENTIRE COUNTRY IS FACED WITH DISASTER.
THE GODS WILL NOT ALLOW SETH...
TO AVE HIS REVENGE.
THEY HAVE ALREADY CHOSEN THE ONE...
WHO MUST SAVE EGYPT.
Названия уровней
1-THE FORBIDDEN FOREST
2-THE TEMPLE OF OBLIVION
3-THE BURNING CAVE
и т.д.
есть еще мелкий текст и графика
Papyrus (E) (M6) [C][!].gbc
Сообщений 1 страница 20 из 106
Поделиться12013-04-26 22:54:12
Поделиться22013-04-27 07:23:39
С чексуммой не проблема - её можно исправить в конце, когда игра будет переведена, да и в эмулях можно отключить проверку чексуммы.
На сжатие не похоже, просто оптимизация небольшая. Такое бывает, можно перевести, главное закономерность выявить.
Например, "N" в конце строки будет иметь код = 32, а в середине слова = 52 и т.д. Т.е. у одной буквы может быть два-три значения. Похоже, тут что-то подобное... Не знаю, надо изменять что-то и смотреть что получается...
Поделиться32013-04-27 07:32:16
specialsafeway, вот зря ты отдельную тему не создал.
Алекс сможет помочь разобраться с этой оптимизацией. Здесь програмка нужна.
Поделиться42013-04-27 08:20:03
Ок, вечером краем глаза гляну, что там можно сделать.
Поделиться52013-04-27 13:54:47
Что-то мне совсем не нравятся те первые три буквы... "RNC", когда в последний раз я их видел, мне пришлось доооолго дебажить игру и выискивать код распаковщика.
Сейчас дамп памяти посмотрю и будет ясно с чем мы имеем дело.
Поделиться62013-04-27 14:11:25
Хм, нам сказочно повезло, программа распаковки/запаковки давным-давно написана (писалась она правда для Фантома, но здесь её использовать нам никто не запретит ).
Теперь только нужно её немного довести до ума (прикрутить обработку поинтеров, поправить интерфейс и т.п.) и можно будет работать.
Поделиться72013-04-27 21:42:46
Guyver, alex_231, спасибо.
Буду искать закономерность.
А где достать программу распаковки/запаковки или подождать перевода Фантома?
Поделиться82013-04-28 07:19:40
Программу нужно брать у меня, но она ещё не готова до конца - это раз.
В закономерности можно не разбираться, так как все тексты пожаты одним алгоритмом и программа сможет всё вынуть (нужно только в поинтерах разобраться) - это два.
Ну и, собственно программой я займусь в праздники, если ничего более срочного не нарисуется, - это три.
Поделиться92013-04-29 20:49:28
alex_231, спасибо, буду ждать.
Насчет графики. Пролистал всю карту тайлов, и нашел только динамическую графику - "press start" и "pause". Перерисовал, без проблем. А вот статическую графику никак не могу найти. Решил поэкспериментировать и перерисовать подозрительные тайлы, но безрезультатно.
И у меня возник вопрос: каким способом вы ищете графику и изменяете ее?
Поделиться102013-04-29 23:59:52
Возможно, она просто запакована.
Поделиться112013-04-30 01:40:00
Она запакована, я пока не смотрел как, но, очень может быть, что тоже чем нибудь вроде того, что в Фантоме используется (те же... первые три буквы... "RNC").
Поделиться122013-04-30 11:16:58
Ну тогда это не страшно. В сети же есть кодер к нему.
Поделиться132013-04-30 11:23:39
Тот, что в сети, для М68000 - RNC Pro Pack. Или ещё какой-то есть?
Поделиться142013-04-30 11:37:07
Там ещё gameboy, snes, mc68000.
Поделиться152013-04-30 22:11:41
Попробовал RNC_ProPack.
Я так понял, он предназначен для распаковки/запаковки файлов с заголовком "RNC 01". А у этой игры все заголовки "RNC 02". Поэтому распаковщик выдал ошибку "это не RNC файл".
Поделиться162013-04-30 22:51:19
По идее он с обоими методами должен работать.
Отредактировано Марат (2013-04-30 22:51:47)
Поделиться172013-04-30 23:29:56
Блин, надо было читать доку повнимательней.
Оказывается там есть опция выбора метода.
Поделиться182013-05-01 02:59:28
Ну и как успехи?
Поделиться192013-05-01 19:34:23
Успехи, так сказать, есть. Распаковал около 100 RNC-блоков, и то это всего лишь где-то 25-30 процентов. Нашел экран выдачи кода, спрайты боссов, стартовое меню и кредитсы (о разработчиках).
Распаковывается и запаковывается без проблем. Но игра не запускается.
Я, наверное, что-то делаю не так.
Мои действия:
Открываю игру в WinHEX'ce, далее с адреса 000CBCC0 до 000CBF19 сохраняю отдельно RNC-блок, в котором хранится графика экрана кредитсов, под названием credits.rnc (так не запутаюсь). Надо упомянуть, что первые 4 байта RNC 02, далее 00 00 04 30 = 1072 байта несжатых данных и 00 00 01 F3 = 499 байта сжатых данных, и мне непонятно, зачем мне нужно это знать. И за этими байтами идет не 499, а 505 байтов. Тоже непонятно.
Распаковываю в командной строке: C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.rnc
(u-unpack, -m 2 -выбрать второй метод).
Файл изменится, я его открываю в DjinnTM. В карте тайлов изменяю пару пикселей, чтобы было заметней.
Теперь пакую: C:\RNC\PPIBM.EXE p -m 2 C:\RNC\CREDITS.RNC
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Включаю эмулятор bgb, загружаю игру, и вижу дебаггер.
Нужно что-то дебажить или как?
Поделиться202013-05-01 21:03:58
Э-э-э... а ты уверен, что размер нового файла после запаковки не превышает размера старого файла до распаковки? Если нет (в смысле превышает), то у тебя твой измененный пакет залезет на следующий и игра не будет работать.