Форум 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 »
  • Профиль пользователя cpp »
  • Просмотр сообщений »
  • Сообщения
  • Профиль пользователя
    • Основная информация
    • Статистика
    • Просмотр сообщений...
      • Сообщения
      • Темы
      • Вложения

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.

  • Сообщения
  • Темы
  • Вложения

Сообщения - cpp

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


http://ssmaker.ru/1c0e1191/

2
Ромхакинг и перевод / Перевод игры Ghost Trick
« : 29 Октября 2012, 01:01:31 »
http://ssmaker.ru/6580ea88/ вот с нормальной палитрой.
http://SSMaker.Ru/f661e2ea/ вот я перерисовал букву M, закодировал шрифт назад и посмотрел на результат. Работает!
Теперь буду делать редактор текста

3
Ромхакинг и перевод / Перевод игры Ghost Trick
« : 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 - скриншот

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

5
Ромхакинг и перевод / Перевод игры 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.

Страницы: [1]
  • SMF 2.0.12 | SMF © 2011, Simple Machines
  • XHTML
  • RSS
  • Мобильная версия

  • GreenUP by Neekiinh0.

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