Форум Magic Team


 

Новости:

01.01.2017: Релиз испанской версии Naruto - Ninja Council (GBA)
02.12.2016: Добавлена документация по Kruptar 7
09.10.2015: Обновление перевода игры Battletoads (NES) [версия 1.3]
22.01.2015: Kruptar Open Source
18.10.2014: Релиз обновлённой русской версии Castlevania - Dawn of Sorrow (GBA) от Owls Group
01.05.2014: Релиз русской версии Taiyou no Yuusha Firebird (NES)
24.06.2012: Добавлена доработанная документация и инструкция
26.05.2012: Обновление ORITON [версия 2.050]
11.05.2012: Обновление ORITON [версия 2.048]
11.03.2012: Обновление Kruptar 7 [версия 7.1.1.17]
29.01.2012: Обновление LZ77Restructor 2 [версия 1.02]
01.01.2012: Релиз русской версии Drill Dozer (GBA)

Подробнее на страничке новостей.
Ознакомьтесь с правилами нашего форума.


  • Форум
  • Поиск
  • Вход
  • Регистрация

  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Перевод игры Ghost Trick
« предыдущая тема следующая тема »
  • Печать
Страницы: [1]   Вниз

Автор Тема: Перевод игры Ghost Trick  (Прочитано 18374 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cpp

  • Новичок
  • Сообщений: 5
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« : 25 Октября 2012, 21:24:51 »
Привет!
Хотелось бы перевести игру Ghost Trick (DS) на русский. После гугления на эту тему, нашел два начинания:
1)На русский - так и не начат. Автор темы - переводчик, он не умеет вскрывать ромы и ему никто не помог это сделать.
2)На бразильский (или испанский?) - застрял на половине.
Также был найден скрипт на Python (по-видимому, от автора бразильского перевода), который достает текст и запаковывает его.  Тексты в игре сжаты и лежат в файлах с расширением .xml.lz, я ума не приложу, как еще их можно открыть, кроме этого скрипта.
Шрифты я нашел в четырех файлах (возможно, их там больше; я открывал только те, в названии которых есть слово font). Все замечательно открылись в CrystalTile2 с настройками 16х16, Tile form: GBA 4bpp. Один из шрифтов содержит также катакану, а еще каждый символ повернут на 90 градусов. Есть один шрифт 8х8.
Сейчас я переписываю тот самый скрипт на православный C++, попутно понимая, что в нем происходит.
Так как из опыта в ромхакинге у меня только перерисовывание шрифтов в Pokemon Platinum и последующая "BCTABKA BOT TAKOIO TPAHCLUTHOIO TEKCTA", то у меня возникают некие вопросы:
1. Можно ли дорисовать русские буквы на пустое место в шрифтах и как в таком случае игра поймет, что нужно использовать эти клетки?
2. Не был ли изобретен бразильский велосипед? Я имею в виду, возможно, этот скрипт легко можно заменить каким-то более цивилизованным и стандартным решением?


В прикрепленыше шрифты, открытые в CrystalTile2.

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Перевод игры Ghost Trick
« Ответ #1 : 26 Октября 2012, 08:41:28 »
Цитата: cpp от 25 Октября 2012, 21:24:51
Можно ли дорисовать русские буквы на пустое место в шрифтах и как в таком случае игра поймет, что нужно использовать эти клетки?
Нужно. У каждой клетки есть индекс. Индекс = код символа.

Оффлайн cpp

  • Новичок
  • Сообщений: 5
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #2 : 26 Октября 2012, 18:47:18 »
М, я понял кажется.
Там буквы закодированы двумя байтами от 0x00 0x00 (0) и далее. Причем второй байт служит для каких-то служебных целей (концы строк, эффекты, видимо), обычные буквы и знаки везде содержат 0x00. Поменял вручную несколько букв на 0x73 0x00 (пустая область), нарисовал там квадрат, ну и он отобразился в игре. Правда, с шириной небольшие проблемы, но я там видел файлы с названиями "CharWidth.bin" - там, видимо, хранится ширина. Вобщем надо копать.
Но шрифт! Вот что с ним не так? Как его правильно открыть? У меня получилось очертания букв получить с такими настройками: 16x16, byte jump 32, 4 color 2bpp. Но он выглядит совсем не так, как в игре. Там если все 4 цвета поменять, в буквах есть пробелы. Приложил скриншот с тем, что я получил (внизу - увеличенный текст из эмулятора), а также сам шрифт.

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Перевод игры Ghost Trick
« Ответ #3 : 27 Октября 2012, 14:02:26 »
Возможно используется кодировка Shift-JIS. Часто в японских играх.
Формат графики, думаю, надо конвертировать собственными силами. Вряд ли есть такой в тайловых редакторах.

Оффлайн cpp

  • Новичок
  • Сообщений: 5
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #4 : 27 Октября 2012, 22:03:09 »
Буду здесь писать свой прогресс, вдруг кто-то захочет помочь/подсказать/ткнуть в очевидные ошибки  :)
Цитировать (выделенное)
Формат графики, думаю, надо конвертировать собственными силами.

Я понял, что нужно изменить по сравнению с 4 color 2bpp из CT2:
Код: [Выделить]
1  ряд +1
2  ряд -1
3  ряд +1
4  ряд -1
5  ряд +1
6  ряд -1
7  ряд +1
8  ряд -1
9  ряд +1
10 ряд -1
11 ряд +1
12 ряд -1
13 ряд +1
14 ряд -1
15 ряд +1
16 ряд -1
Собственно, каждые 2 ряда должны поменяться местами. Я думаю, что это связано с тем, что CT2 читает файл, как Big Endian, а нужно Little Endian (или наоборот :) ).


По поводу самого текста.
Вот такая вот карта символов у игры:
Код: [Выделить]
char charmap[]={
 '0','1','2','3','4','5','6','7','8','9',   //9
 'A','B','C','D','E','F','G','H','I','J',   //19
 'K','L','M','N','O','P','Q','R','S','T',   //29
 'U','V','W','X','Y','Z','a','b','c','d',   //39
 'e','f','g','h','i','j','k','l','m','n',   //49
 'o','p','q','r','s','t','u','v','w','x',   //59
 'y','z','!','?','?','?','?','?','?','?',   //69
 '?','?','?','?','?','?','?','?','?','?',   //79
 '?','?','?','?','*','?','?','?','?','?',   //89
 '?','?','?','?','?','?','?','?','?','?',   //99
 '?','?','?','?','?','?','?','?','?','*',   //109
 '?','?','?','?','*','*','*','*','*','*',   //119
 '*','*','*','*','*','*','*','*','*','*',   //129
 '*','*','*','*','*','*','*','*','*','*',   //139
 '*','*','*','*','*','*','*','*','*','*',   //149
 '*','*','*','*','*','*','*','*','*','*',   //159
 '*','*','*','*','*','*','*','*','*','*',   //169
 '*','*','*','*','*','*','*','*','*','*',   //179
 '*','*','*','*','*','*','*','*','*','*',   //189
 '*','*','*','*','*','*','*','*','*','*',   //199
 '*','*','*','*','*','*','*','*','*','*',   //209
 '*','*','*','*','*','*','*','*','*','*',   //219
 '*','*','*','*','*','.','*','?','?','(',   //229
 ')','?','?','*','"','?','?',':','*',',',   //239
 '+','/','#','\'','-','*','*','%','*','*',  //249
 '*','*','&','?','?',' '};                 //255
* - пустые места (и те, что я еще пока не разобрал). Русский алфавит можно вставить после символа ?
Также я сделал распаковку LZSS + вытаскивание текста в одной программе: скриншот

Осталось прикрутить GUI для перевода, который будет расставлять вместо русских букв их индексы, нарисовать русский шрифт на этих самых индексах и расковырять файлы, где записана ширина символов. Вроде ничего не забыл :) 


******************
(обновление)

Сделал конвертер шрифта в обычный файл. Распознается, как GBA 8bpp - скриншот

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Перевод игры Ghost Trick
« Ответ #5 : 28 Октября 2012, 06:29:21 »
Молодец. Ещё палитру нормальную подключи и вообще будет здорово :)

Оффлайн cpp

  • Новичок
  • Сообщений: 5
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #6 : 29 Октября 2012, 01:01:31 »
http://ssmaker.ru/6580ea88/ вот с нормальной палитрой.
http://SSMaker.Ru/f661e2ea/ вот я перерисовал букву M, закодировал шрифт назад и посмотрел на результат. Работает!
Теперь буду делать редактор текста

Оффлайн Mefistotel

  • Пользователь
  • Сообщений: 123
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #7 : 29 Октября 2012, 11:50:56 »
Действительно молодец. :)
Если у редактора будет возможность вставлять более емкий по сравнению с оригиналом текст, то будет супер. То есть он должен работать по указателям и должна быть возможность изменения адресов хранения текста. По аналогии как Круптар)

Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Перевод игры Ghost Trick
« Ответ #8 : 29 Октября 2012, 15:49:18 »
А зачем редактор текста? Там специфические коды с текстом идут?

Оффлайн Oraculum

  • Magic Team
  • Сообщений: 534
  • Репутация: +11/-4
  • oraculum[гав-гав]ro.ru
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #9 : 29 Октября 2012, 21:02:23 »
Цитата: JurasskPark от 29 Октября 2012, 15:49:18
А зачем редактор текста? Там специфические коды с текстом идут?
Цитата: cpp от 25 Октября 2012, 21:24:51
Тексты в игре сжаты и лежат в файлах с расширением .xml.lz


Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Перевод игры Ghost Trick
« Ответ #10 : 29 Октября 2012, 21:52:15 »
Цитата: Oraculum от 29 Октября 2012, 21:02:23
Цитата: JurasskPark от 29 Октября 2012, 15:49:18
А зачем редактор текста? Там специфические коды с текстом идут?
Цитата: cpp от 25 Октября 2012, 21:24:51
Тексты в игре сжаты и лежат в файлах с расширением .xml.lz
Ну так не редактор, а конвертер.

Оффлайн Oraculum

  • Magic Team
  • Сообщений: 534
  • Репутация: +11/-4
  • oraculum[гав-гав]ro.ru
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #11 : 29 Октября 2012, 22:34:22 »
Цитата: JurasskPark от 29 Октября 2012, 21:52:15
Цитата: Oraculum от 29 Октября 2012, 21:02:23
Цитата: JurasskPark от 29 Октября 2012, 15:49:18
А зачем редактор текста? Там специфические коды с текстом идут?
Цитата: cpp от 25 Октября 2012, 21:24:51
Тексты в игре сжаты и лежат в файлах с расширением .xml.lz
Ну так не редактор, а конвертер.
Естественно, редактор будет включать в себя распаковщик и запаковщик.

Оффлайн cpp

  • Новичок
  • Сообщений: 5
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #12 : 30 Октября 2012, 15:48:04 »
Ну, во-первых, специфические коды идут, да. Например, всякие там раскрашивания текста, портреты, звуки.
А во-вторых, это хороший повод попрактиковаться в программировании  :)


http://ssmaker.ru/1c0e1191/

Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Перевод игры Ghost Trick
« Ответ #13 : 30 Октября 2012, 15:54:10 »
Г слишком уж ровная по сравнению с остальными.

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Перевод игры Ghost Trick
« Ответ #14 : 30 Октября 2012, 17:31:20 »
Это специально такой жуткий шрифт?)))

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #15 : 31 Октября 2012, 05:19:14 »
Вырвиглазный шрифт :o

Оффлайн German

  • Пользователь
  • Сообщений: 367
  • Репутация: +1/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #16 : 31 Октября 2012, 08:58:09 »
Я думал это стилизация, хотя в игре текст идёт более удобочитаемым шрифтом. Может. не туда смотрю?  :)

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #17 : 01 Ноября 2012, 06:49:18 »
Цитата: German от 31 Октября 2012, 08:58:09
Я думал это стилизация, хотя в игре текст идёт более удобочитаемым шрифтом. Может. не туда смотрю?  :)
В оригинале шрифт не только прямее, но и многоцветный (с полутонами), а ТС сделал кривой одноцветный шрифт. Судя по всему, шрифт он вручную не рисовал, а нафотошопил из какого-нибудь имеющегося в системе шрифта. С полутонами он, может быть, смотрелся ещё ничего, но если из фигурного шрифта делать чисто белый (с заменой полутонов на белый цвет), то ожидаемо получается "вырвиглаз".

Оффлайн greengh0st

  • Magic Team
  • Сообщений: 696
  • Репутация: +7/-1
  • Мы лучшие среди худших и худшие среди лучших
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #18 : 25 Ноября 2012, 00:01:41 »
Ну что есть новости?


Оффлайн Voodoo

  • Пользователь
  • Сообщений: 73
  • Репутация: +0/-1
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #19 : 29 Ноября 2012, 01:36:55 »
Там текст запакован в не стандартный .lz архив, удалось его достать?

Оффлайн Mefistotel

  • Пользователь
  • Сообщений: 123
  • Репутация: +0/-0
    • Просмотр профиля
Перевод игры Ghost Trick
« Ответ #20 : 21 Января 2016, 15:32:20 »
Ни у кого контакты автора темы не сохранились? Почта или агент какой.

  • Печать
Страницы: [1]   Вверх
« предыдущая тема следующая тема »
  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Перевод игры Ghost Trick
 

  • SMF 2.0.12 | SMF © 2011, Simple Machines
  • XHTML
  • RSS
  • Мобильная версия

  • GreenUP by Neekiinh0.

Размер занимаемой памяти: 2 мегабайта.
Страница сгенерирована за 0.067 секунд. Запросов: 65.