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


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

> Описание: Перевод Shining Force CD
Shini_EG Пользователь
Отправлено: 29 Марта, 2016 - 12:52:11
Post Id





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





Пожалуй оставлю это здесь. Начинал делать перевод Shining Force CD, но не сложилось довести проект до конца( Хотел сделать электронный мануал (как электронный журнал Re-Play) с переводом диалогов, описанием предметов и магии, а так же описанием персонажей. На данный момент переведены первая книга полностью и вторая чуть больше половины. Оформлены: описание, титульный экран, первая книга, частично магия и предметы. Так же сделан музыкальный плеер и собран плейлист)

https://yadi.sk/d/3J4twJ0UqZMrc



 
 Top
Guyver Администратор
Отправлено: 29 Марта, 2016 - 13:07:04
Post Id



Chief-Net


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





Почему бросил? Не хочешь доделать с посильной помощью? Улыбка

-----
Я не волшебник - я только учусь...
 
 Top
Shini_EG Пользователь
Отправлено: 29 Марта, 2016 - 15:55:27
Post Id





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





В ближайшей перспективе нет возможности продолжить проек( Работа в миру, отнимает много времени( Могу лишь помогать, тем кто готов доделать)
 
 Top
FonDen Пользователь
Отправлено: 29 Марта, 2016 - 18:03:41
Post Id






Покинул форум
Сообщений всего: 79
Дата рег-ции: Янв. 2016  
Откуда: Новосибирск





Очень хорошая идея и отличная реализация. Реально, большой труд. Жаль, если проект не будет доведен до конца.
 
 Top
Cypuk Пользователь
Отправлено: 27 Апреля, 2016 - 18:25:20
Post Id






Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2016  





Хорошая работа, жалко, что забросил ... Хотяя, я на собственной шкуре знаю - какой это гемор )). Можно я оставлю это здесь http://shedevr.org.ru/forum/viewtopic.php?t=4326 ? Это мой законченный перевод SFCD отдельным текстом ...

(Отредактировано автором: 27 Апреля, 2016 - 18:26:22)

-----
В любой правде есть вымысел, а в любом вымысле есть правда.

 
 Top
FonDen Пользователь
Отправлено: 28 Апреля, 2016 - 09:41:58
Post Id






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





Ух ты! Сколько неслучайных совпадений Радость
Может Chief-Net уже стоит обратить внимание?
 
 Top
Prince Nick Пользователь
Отправлено: 28 Апреля, 2016 - 21:31:12
Post Id






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





Я бы потестил Улыбка
 
 Top
Mefistotel Администратор
Отправлено: 02 Мая, 2016 - 14:10:43
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Эх, пока у нас туго с хакерами под Сегу. Марат весь в работе.
Поэтому ложим материалы в ящик стола.

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Mefistotel Администратор
Отправлено: 12 Апреля, 2018 - 23:23:50
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Надо будет качнуть, посмотреть что да как. Чует моё сердце, что там всё пожато-пережато.

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Марат Супермодератор
Отправлено: 27 Апреля, 2018 - 06:07:29
Post Id



Chief-Net


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





Похоже, что пожат и текст и графика. Ничего не нашел. Не могу пока найти процедуру распаковки.
 
 Top
Марат Супермодератор
Отправлено: 02 Мая, 2018 - 17:42:16
Post Id



Chief-Net


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





Нашёл шрифт. В формате 2bpp gbc. И, похоже, что лежит в каждом банке. Теперь пытаюсь найти текст.
Вроде, текст Хаффманом пожат, но пока не уверен.
 
 Top
Марат Супермодератор
Отправлено: 20 Мая, 2018 - 20:56:19
Post Id



Chief-Net


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





Выкроил время и изучил декомпрессор скрипта. Как я и подозревал это Хаффман, но не канонический, а его биграмная модель. Используются цепи Маркова 1-го порядка. Следующий символ предсказывается на основе предыдущего. Для каждого предшествующего символа строится дерева Хаффмана. Что-то подобное было в Bee52 на nes. Здесь же больше похоже на сжатие по протоколу mnp 5. Всё-таки не зря я его когда-то изучал. Непонятно было как хранятся деревья Хаффмана. Пришлось построить дерево для символа $FE и потом уже стал понятен способ хранения дерева. Теперь уже как будет время, постараюсь написать компрессор. Декомпрессор то уже написан, так как очень прост для реализации.
Приложил несколько файлов со скриптам, которые удалось найти с первого раза.
Принцип хранения дерева описан здесь http://qaru.site/questions/18979...ing-huffman-tree
Скачать файл: Shining Force CD Script.zip
Скачан раз: 204
 
 Top
Марат Супермодератор
Отправлено: 01 Июня, 2018 - 18:57:52
Post Id



Chief-Net


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





Таблица.
Скачать файл: Shining_eng.zip
Скачан раз: 211
 
 Top
Марат Супермодератор
Отправлено: 28 Октября, 2018 - 09:59:12
Post Id



Chief-Net


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





Наконец-то смог заставить себя дописать компрессор. Товарищ Lin1985 писал в личку, что есть какой-то чел, который хочет написать иснтрумент для перевода игры. Но ему нужен компрессор. Попутно выяснил, что декомпрессор немного неправильно был написан из-за чего несколько начальных строк терялось.
Блок на самом деле не ограничен 256 строками. Возможно это в самой игре так сделали, чтобы быстрее добираться до нужной строки указывая в каком блоке из 256 строк, находится искомая строка. Теперь осталос собрать компрессор и декомпрессор в одну программу и можно будет вытаскивать остальной текст. Правда, позабывал уже как это делал. Радость Память такая, что ненужные вещи быстро забываются.
Приложил правильно извлечённый скрипт.
Скачать файл: Script#1.zip
Скачан раз: 210
 
 Top
Mefistotel Администратор
Отправлено: 28 Октября, 2018 - 11:05:21
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Супер)
Ждём-с полноценную программу)

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Lin1985 Пользователь
Отправлено: 02 Ноября, 2018 - 07:28:53
Post Id





Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2017  





Замечательная новость. С нетерпением ждём. Улыбка
 
 Top
Марат Супермодератор
Отправлено: 02 Ноября, 2018 - 08:08:50
Post Id



Chief-Net


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





Ну, в принципе, я дописал кодер. Даже научился визуально находить сжатый текст. Определять где заканчиваются деревья и начинается сжатый текст. Но там их куча. Наверное, больше 30 блоков. Надо будет как-нибудь уделить время и выписать все адреса, а потом все распаковать.
 
 Top
Mefistotel Администратор
Отправлено: 03 Ноября, 2018 - 00:16:48
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Если в кодере уже будут адреса, то было просто замечательно.

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Lin1985 Пользователь
Отправлено: 03 Ноября, 2018 - 04:58:53
Post Id





Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2017  





Марат пишет:
Ну, в принципе, я дописал кодер. Даже научился визуально находить сжатый текст. Определять где заканчиваются деревья и начинается сжатый текст. Но там их куча. Наверное, больше 30 блоков. Надо будет как-нибудь уделить время и выписать все адреса, а потом все распаковать.

Класс. Процесс идёт. Ура.
 
 Top
Марат Супермодератор
Отправлено: 04 Ноября, 2018 - 12:14:11
Post Id



Chief-Net


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





Нашёл 57 блоков в среднем где-то по 16 кб. Итого где-то чуть больше 900 кб текста. Плюс некоторый текст не запакован. Кто знает какой в игре объём текста?
 
 Top
Марат Супермодератор
Отправлено: 04 Ноября, 2018 - 13:51:07
Post Id



Chief-Net


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





Так, текст вставляется без проблем. Единственное, что нужно будет найти и пересчитать все поинтеры. В образе у сжатого текста адреса другие в памяти приставки совсем другие. Если разобрать образ, то опять же несовпадение адресов. В общем, будет ещё над чем голову ломать.
 
 Top
Lin1985 Пользователь
Отправлено: 07 Ноября, 2018 - 09:29:32
Post Id





Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2017  





Марат пишет:
Так, текст вставляется без проблем. Единственное, что нужно будет найти и пересчитать все поинтеры. В образе у сжатого текста адреса другие в памяти приставки совсем другие. Если разобрать образ, то опять же несовпадение адресов. В общем, будет ещё над чем голову ломать.

В переводе скрипта вроде не столько текста. Может дублируется?
 
 Top
Марат Супермодератор
Отправлено: 07 Ноября, 2018 - 11:52:46
Post Id



Chief-Net


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





Ну в начале блоков несколько фраз одинаковых во всех блоках.
Я просто думал, что может текста должно быть больше, чем 1 мб.
 
 Top
Барзани Пользователь
Отправлено: 07 Декабря, 2018 - 16:00:47
Post Id





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





Как продвигается перевод?
 
 Top
Марат Супермодератор
Отправлено: 07 Декабря, 2018 - 20:37:21
Post Id



Chief-Net


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





Пока никто не переводит.
 
 Top
Lin1985 Пользователь
Отправлено: 26 Декабря, 2018 - 03:36:24
Post Id





Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2017  





Марат пишет:
Пока никто не переводит.

Можешь расписать, как ты находишь сжатые блоки с текстом.
И будет ли рабочий рекомпрессор? Очень бы помогло с переводом.
 
 Top
Марат Супермодератор
Отправлено: 27 Декабря, 2018 - 15:24:46
Post Id



Chief-Net


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





Попробую расписать. Начну с описания заголовка архива, так как именно по заголовку ищутся архивы.
Данные сжимаются биграмным методом хаффмана, о нем я писал выше.
В заголовке нет никаких ключевых слов, по которым можно отыскать архив.
Вначале сразу идёт таблица смещений на деревья хаффмана размером 255 * 2 байта. Каждое смещение размером 2 байта и вычисляется относительно конца таблицы. На каждый символ строится своё дерево хаффмана. После таблицы идут сами деревья хаффмана в битовом представлении. Всего 255 деревьев. Так как деревья имеют разный размер, то вычислить, где кончается блок с деревьями не представляется возможным. После блоков с деревьями идет сам сжатый текст. Перед каждым сообщением(блоком текста) идёт его размер в байтах.

На скриншоте выделил таблицу смещений деревьев хаффмана. Именно по ней я искал архивы.
Спойлер (Отобразить)


В основном начало текста в архивах повторяется, за редким исключением. Поэтому многие архивы находятся по такой последовательности
CODE:
FFFF004000510054
Если немного потренироваться, то можно и остальные архивы находить. Бывают и такие
CODE:
0001003DFFFF004D004F
В общем, разные бывают. Но вариантов не так много.
Но найти архив это ещё пол беды. Далее надо определить адрес начала сжатого текстового блока. Для этого из таблицы смещений берем последний поинтер и к адресу начала блока деревьев хаффмана прибавляем поинтер. На скриншоте это поинтер $0492. Прибавляем его к адресу $22EC9A. И получаем $22F12C. Это у нас адрес дерева символа $FE. Сразу за этим деревом начинается блок со сжатым текстом. Дерево обычно не занимает много байт и визуально можно определить начало сжатого текста.

Спойлер (Отобразить)

На скриншоте $0E размер сжатого текстовго блока. сразу за размером идут 14 байт сжатого блока, потом опять размер блока $0F и пятнадцать байт сжатый блок, $10 и шестнадцать байт сжатого блока и т.д. После того как адреса определены, нужно их подставить в программу распаковщика


Количество строк пишем на вскидку. После распаковки нужно будет посчитать сколько строк в действительности имеется и заново распаковать архив.
В общем, как-то так. Я вроде нашёл адреса всех архивов.
Проблема дальше будет только в том, чтобы найти поинтеры архивов, чтобы потом их исправить на свои. Без дебага это будет трудно.






 
 Top
Марат Супермодератор
Отправлено: 27 Декабря, 2018 - 15:25:10
Post Id



Chief-Net


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





Кодек
Скачать файл: ShiningForceCDCODEC.zip
Скачан раз: 196
 
 Top
Марат Супермодератор
Отправлено: 30 Декабря, 2018 - 22:33:36
Post Id



Chief-Net


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





Хорошая новость! Я проанализировал данные и вывел одну закономерность. Похоже, что архив в памяти приставки всегда находится по адресу $22EA9C. Это адрес на начало таблицы. $22EC9A - это адрес на начало блока деревьев Хаффмана. Прошёл поиском по файлам игры и он нашёл 58 вхождений с таким поинтером. 1 похоже лишний. Блоки с архивом хранятся в файлах с названием BANKD**.X и эти блоки имеют размер 436 кб. Архив лежит почти в конце файла. Там же находятся все поинтеры. Поинтер $22EA9C находится чуть выше архива. Поинтер на начало сжатого текста находится, похоже, сразу за архивом. Пока не проверял. Таким образом после сжатия, достаточно будет изменить этот поинтер вычислив разность.

 
 Top
Mefistotel Администратор
Отправлено: 31 Декабря, 2018 - 00:39:18
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Воистину новогодние новости!
Ёлка

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Переводы »


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



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