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

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

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

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

Сообщения - inside

Страницы: 1 2 [3] 4
51
Ромхакинг и перевод / Shining Force: RoDD
« : 01 Января 2012, 13:16:31 »
Да, они отдельно там идут, под руку не попались, поэтому тоже ещё не переведены. Хотя я думаю можно для первой главы попробовать перевести часть сейчас.

52
Ромхакинг и перевод / Shining Force: RoDD
« : 31 Декабря 2011, 22:22:46 »
Перевод действительно немного отложился в декабре, но первая глава все таки завершена (основные и побочные фразы). С оружием и предметами пока по нулю. Тот перевод который сейчас есть протестирован пока ещё процентов на 20, поэтому я так его и не показал. Но на недельке он будет :)

53
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 21:42:39 »
Цитата: JurasskPark от 11 Ноября 2011, 21:38:59
Спойлер для   :
Ху-у-у-як, ху-у-у-як, ху-у-у-як!
И ты уже мертвяк. :)
Спойлер для   :
Это намек на то что комьюнити сделает со мной если мы так переведём? (:

54
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 21:38:29 »
Цитировать
Можно просто словами, типа: "Проклятье!", "Чёрт возьми!".
"Засранцы!" в конце концов .
И т. д.
Даааа... только после
Hyaaa!
Aaaargh
и т.п.
Иногда следуют те же ругательства, поэтому такой перевод увеличивает количество брани, утрачивая эмоциональное звуковое восклицание, что не хорошо отражает оригинальный смысл\настроение.

Трудное дело перевод...

55
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 20:40:09 »
Цитата: JurasskPark от 11 Ноября 2011, 20:20:16
Можно ещё "Гр-р-р!"  :)
Да, наверное так и напишем, но в игре полно таких "звуков",  например "Aaaaaargh" - по сути как раз "Гр-р-р". Или разбить его на "Ааааа... гр-р-р!"? (:

56
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 20:04:05 »
"Hyaaa!" - в одном из диалогов (перед самой первой битвой - от Rune Knight) - по смыслу выражение ярости, гнева от того что гоблины тормозят в поисках.

Хотя как выкрик перед ударом тоже используется, тогда да, "Получай!" в принципе подойдёт, спасибо.

Но... осмысленное слово порой трудно вставить в том месте где использовалась имитация звука, и там где оно по смыслу должно и остаться.

57
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 18:13:57 »
Цитата: Hatsuyuki от 11 Ноября 2011, 16:41:52
140 000? Не верится что-то, что в первой главе текста на 70 полноценных страниц (без кучи свободного места) :-|
Преувеличил маленько наверное. Я просто нашёл адрес первого сообщения главы, нашёл адрес последнего сообщения главы, и вуаля.
Судя по http://shining-force.co.uk/?p=printscript&id=sfr&ch=1&se=2 в первой главе ~43 000. Хотя хотелось бы сразу перевести оружие, магию которая доступна в первой главе и всякие-эвентовые события, ну и диалоги лавочек\священника, интерфейс...

И... вопросик, как перевести возгласы: "Hyaaa!", "Hyaaah!". По звучанию не благозвучно перевести, а фантазии на аналог что-то не хватает. А если и хватает, то он по контексту не подходит. Прям беда какая то  :-|

58
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 13:45:41 »
Цитата: Джинни от 11 Ноября 2011, 13:44:20
Полтора месяца - слишком быстро :)
А я оптимист  ;D

59
Ромхакинг и перевод / Shining Force: RoDD
« : 11 Ноября 2011, 13:18:30 »
Цитата: Hatsuyuki от 11 Ноября 2011, 02:50:46
Как жена поживает? Когда подглядеть перевод можно будет? :)

Nick уже весь извертелся (я же знаю) (:
Перевод идёт отнюдь не ударными темпами  :-[ это ведь только у меня энтузиазм проснулся :)
И первая глава весьма длинная, 140 000 символов вроде. Ну, надеюсь на новый год будет подарочек...

60
Ромхакинг и перевод / Battle Kid - Fortress of peril (NES)
« : 10 Ноября 2011, 23:59:36 »
Захотел похакать сабж, вначале все оказалось просто, вся графика лежит в открытую, шрифт тоже - на тебе. Текст нашёлся, только вот раскидан оказался. Поковырял я ром - поинтеров нет. Задизасемблил и сделал вывод - текст намешан в кучу с кодом (вижу участок текста - до и после отчетливо идет осмысленный код. и так везде). Какие приёмы существуют чтобы мучать такие РОМы?

61
Программирование / Kruptar
« : 10 Ноября 2011, 23:52:03 »
Цитата: Hatsuyuki от 10 Ноября 2011, 23:05:45
Извините, вы длину строки обсуждаете?
Хочу сделать подсчет ширины (в пикселях) результирующей строки чтобы не проверять каждый раз запуская ром.

Строка -> Заменяем символы по таблице -> Список байтов -> Цикл по байтам -> Найти для каждого байта из массива ширин размер -> Суммируем -> ??? -> Профит

(:

Сложнее все это в интерфейс впихнуть, это окошкодергание ааахххх, WinAPI и то проще, так что не скоро разберусь даже с этим :(

62
Программирование / CrystalTile2
« : 08 Ноября 2011, 15:58:46 »
А через File->Save As ?
Там вообще некоторые форматы графики Read-only если я не ошибаюсь. Попробуй для теста помалякать в другом режиме.

63
Программирование / Kruptar
« : 08 Ноября 2011, 15:57:05 »
Цитата: JurasskPark от 08 Ноября 2011, 15:16:05
Где ж ты был, когда мы сайт писали? Столько добра пропало зря.
LOL Так надо будет - новое напишем, обращайся :)

64
Программирование / Kruptar
« : 08 Ноября 2011, 13:12:09 »
Цитата: Джинни
Я могу их дать, но они на Delphi.
Знаком... хотя признаться Delphi - это самое малоизученное для меня. Отправь пожалуйста на insideone #собака# rambler #точка# ru ... Метки мне тоже попытаться сделать или не стоит так глубоко зарываться? (:

Цитата: TriсkZter
И они без комментариев - без вагона водки не разобраться  :D
Вот к чему не привыкать - так это к коду без комментариев :) Ведь последние полтора года я работаю PHP-программистом
ps. это я не про свой код пишу, 90% приходится сайты допиливать... ну а с каким кодом приходится иметь дело можно посмотреть например на http://govnokod.ru/php  :-|

65
Программирование / Kruptar
« : 08 Ноября 2011, 11:24:11 »
Цитата: Джинни
К этому советую привыкнуть.
Нууу... есть же блок загрузки таблиц? Таблица ширин по сути аналогичная была бы т.е.
Код: [Выделить]
00=0
01=4
...
39=10
3A=8
3B=8
...
FF=0
6 // число без указания байта задает ширину для всех не заданных в таблице символов
...
Ну и подсчет ширины строки - банальный цикл, разве сложно сделать? :) Профит реально ощутимый будет. Ускорение перевода как минимум в 2 раза! Наверное для рядового перевода это не ощутимо, но во всяких РПГ чтобы дойти до определенной фразы - нужно порой постараться. Ведь не все фразы доступны. Конечно save-load помогает, но и его нельзя всегда применить.

ps. Сам программист. Были бы сорцы - допилил (все равно пока супруга переводит хакать особо нечего, заставку разве?). Но кто же мне их даст, мечты... :) Или нет?

66
Программирование / Kruptar
« : 08 Ноября 2011, 00:06:24 »
Начали переводить с помощью Kruptar, все супер, но хотелось бы ряд мелочей которые весьма бы облегчили перевод (реально в разы).

Основная проблема - каждый раз нужно контролировать ширину строки. Причем это делается так - переводишь, компилишь (это я так назвал процесс вставки текста в игру и пересчет поинтеров), запускаешь игру и находишь там диалог чтобы проверить не вылезло ли чего.
Тестить в конце-концов то конечно придется все равно, однако чтобы уменьшить количество итераций можно было бы встроить в программу возможность для каждого символа задавать ширину и автоматически считать её для строки. Ну и выводить её около количества символов. Было бы так удобно!

Второе пожелание, которое украсило бы жизнь переводчика - это всем знакомые "метки". Т.е. для каждой строки хотелось бы уметь выставлять "цветовую" метку, при этом слева от номера строки будет показываться квадратик того цвета который был выбран.
Было бы классно отмечать трудные фразы, чтобы можно было бы быстро вернуться к ним (иногда не хочется гробить вечер ради одной фразы, а есть желание закончить большой блок). К тому же такие метки могли бы облегчить работу нескольких переводчиков использующих один проект. Загрузил другой переводчик и сразу видит, где ему ещё работа есть :) В общем область применения большая... Думаю не зря эти метки можно встретить практически везде

Ещё одна идея - кнопка фильтрации "отображать только не переведенные". Нажимаем её - и вуаля - отображаются только те строки на которые ещё не ступала ног... упс, ну думаю понятно о чем я хотел сказать :) Аналогично можно сделать фильтр "по меткам"

И... спасибо за такую замечательную программу Джинни! Может у меня бы хватило терпения вставлять в игру текст полу-автоматическими методами, но это точно бы затянуло перевод на пару лет)

67
Ромхакинг и перевод / Shining Force: RoDD
« : 06 Ноября 2011, 17:12:42 »
Цитата: TriсkZter от 06 Ноября 2011, 15:18:27
Если так оставить, то Круптар сначала выдерет все такие символы в виде ~, а потом при вставке заменит их на первый подходящий код, то есть на 00. В итоге игра не будет работать корректно.
Да, понял. Это кажется называется необратимой таблицей.

Цитировать
А как ты этот перенос в таблице обозначил?
В самом файле таблицы из которого я подгружал в Kruptar данные - никак. Но в самом Kruptar'е я в секцию "Коды окончания строк" добавил 00. А в коды разрыва строк добавил 0A.

Цитировать
Выясни что делает 03 и что делает 00. Вероятнее всего, что 00 - это конец строки, а 03 - какой-нибудь спецсимвол, например, это может быть символом, который выводит на экран мигающий курсор.
Чтобы точно узнать что делает тот или иной код, просто попробуй воткнуть его посреди предложения и посмотри что произойдёт в игре.
Понял! Это знак игре "жди нажатия чтобы показать пользователю текст дальше". Без него диалог не дожидаясь игрока закончится сам

Цитировать
Верно. Если мне не изменяет склероз, Круптар пожалуется на нехватку текста и ничео не вставит.
Уже заметил! Однако что-то вставил как ни странно. Может не вставил то что не влезает

Цитировать
Да, в таблице символов можно писать слова. Круптар их будет корректно кодировать.
Уфф... это отлично!


--
update спец-символов:
03 - ждать нажатия
05 - пауза



ps. Перевод начат  (:

68
Ромхакинг и перевод / Shining Force: RoDD
« : 06 Ноября 2011, 14:49:18 »
Цитировать
В 99.9% GBAшных игр поинтеры именно такие. Других поинтеров практически никогда не бывает. Поинтеры в GBA абсолютные
Спасибо, в общем-то так и понял. Только я подумал что это не очень то рационально :)

Цитировать
В 99.9% GBAшных игр поинтеры именно такие. Других поинтеров практически никогда не бывает. Поинтеры в GBA абсолютные
Упорно хочу оставить английский :)

Цитировать
Но в новых версиях названия некоторых параметров изменились. Об этом читать в readme.
Спасибо! Уже создал почти готовый к переводу. Только с таблицой непонятки есть, а почитать о них вроде негде.

1. Спец-символы (звездочки, стрелочки) которые не будут использоваться для перевода - не нужно оставлять в таблице вообще?
2. Когда я делаю перевод строки в просмотрщике строк видны два квадратика на том месте где есть перенос - это нормально или я что-то не так сделал. Странно как-то :)
3. Можно ли в таблице символов задавать правосторонние значения в виде нескольких символов - вроде
09=#HERO#
Типа макросов для замены. Будет ли это корректно обработано? Или если в переводе написать #HERO# то каждый из этих символов заменится соответсвенно и в игре вместо соответствующего байта будет прям так и написано "#HERO#"?
4. В игре каждый монолог заканчивается на код 03 (а после него сразу идет 00). Как мне его при переводе отображать? Или убрать его из таблицы чтобы он был /03 ?
5. Для чего нужны "Диапазоны адресов" при создании группы. Как я догадываюсь - там задаются адреса тех мест на которые Kruptar'у разрешается записывать; вне этого диапазона он ничего не подпортит. (Кстати как он поступит если результирующий текст по размеру больше чем оригинальный и не влезает в условленные рамки?

69
Ромхакинг и перевод / Shining Force: RoDD
« : 06 Ноября 2011, 00:10:02 »
Подтолкните на мысль...

В игре размер текстового блока - около 0x217569. Соответственно размер поинтера - 3 байта.
Есть 2 сообщения по адресам
А: 0x178248
Б: 0x1782C1
Между ними 121 байт
Соотстветственно я предполагаю, что где-то в игре есть 2 поинтера, один из которых равен X а другой X+121. Вот исходя из этого я написал программу. Однако такого места в роме вообще нет. Чтобы это могло значить?

Может поинтеры этих двух фраз (которые идут друг за другом) находятся не подряд? Было бы странно. Или я где ошибся в рассуждениях?

Пока по этой технологии проверил 3х и 4х байтные поинтеры

Добавлено позже после небольших раздумий:
Нашлись поинтеры :) Причем самым банальным способом, поинтеры абсолютные, без всяких там смещений.
Например первая фраза игры (ENG) находится по адресу 0x178248
Если поискать 48 82 17 найдется 1 совпадение - вот и наш первый поинтер

Что интересно поинтеры 4-байтные, к каждому добавляется 08 (прим 48 82 17 08). Интересно зачем оно нужно? :) Ведь 08 явно лишняя. Это они что так одну операцию процессора сэкономили?

Впрочем не важно. Осталось разобраться с Kruptar7. Есть ли для него хелп по параметрам? Всякие ptReference, ptAlign...

70
Ромхакинг и перевод / Shining Force: RoDD
« : 05 Ноября 2011, 20:17:18 »
Цитата: Anton
У тебя же их две.
Одна английская (оригинальная), вторая русская (новая).
Ну, не совсем так. Как я понимаю обычно приходится перерисовывать оригинальный шрифт (английский например). И тогда будут две таблицы - в них символы будут пересекаться. Например 1E в одном будет "r" а в другой "ш". У меня же таблицы не пересекаются, т.к. английский шрифт был не тронут. Другими словами я могу писать и на английском и на русском (к примеру: "Макс нашёл Chaos Breaker"). И для перевода мне как бы не нужно иметь два рома на руках, ведь 1 таблица символов позволяет мне видеть оригинальный английский и русский который в процессе

Цитата: JurasskPark от 05 Ноября 2011, 19:41:44
Гм... А зачем шрифт диалогов было делать шириной больше оригинала?
Хм? Как было 12x12 так и осталось. Или как? :) Кстати шрифт - унылый Arial, но другой не придумался :) Если с переводом закончим потом шрифт перерисовать не так уж и сложно



 :-[ поинтеры не ищутся. На тему начитался, и вроде все очевидно. Накидал прожку:
Код: [Выделить]
#include "stdafx.h"
#include <iostream>

#define FILE_LEN 4194304
#define TABL_LEN 5

int _tmain(int argc, _TCHAR* argv[])
{
// Таблица смещения адреса для каждого последующего сообщения
unsigned int arCheck[TABL_LEN] = {
121, 28, 61, 14, 73
};

// Считываем файл
FILE* file = fopen("F15.gba", "r");
unsigned int* arFile = new unsigned int[FILE_LEN];
while(fread(arFile, sizeof(unsigned int), 64, file));

unsigned int curFilePosValue = 0;
unsigned int curBatchPosValue = 0;
unsigned int pointerAddress = 0;
bool finded = true;

// Адрес предполагаемого поинтера
for(int curFilePos = 0; curFilePos < FILE_LEN; curFilePos++)
{
finded = true;

// Куда указывает предполагаемый поинтер (А)
curFilePosValue = arFile[curFilePos];
for (int curBatchPos = 0; curBatchPos < TABL_LEN; curBatchPos++)
{
// Следующее значение куда указывает поинтер (Б) который идет после предполагаемого (А) на X+curBatchPos позиций
curBatchPosValue = arFile[curFilePos+curBatchPos+1];

// Разница между следующей позицией и текущей должна соответствовать заданной
if ( (curBatchPosValue - curFilePosValue) != arCheck[curBatchPos] )
{
// Если не соответствует - помечаем что ничего не нашли и выходим
finded = false;
break;
}

// А = Б и ищем дальше
curFilePosValue = curBatchPosValue;
}

// Все тесты пройдены?
if ( finded )
{
// Запоминаем адрес поинтера и выходим
pointerAddress = curFilePos;
break;
}
}

std::cout << pointerAddress;
return 0;
}
Логика: берем предпологаемый 4 байтный поинтер. Берем следующий после него, проверяем разницу значений между ними. Если она arCheck[0] - значит идем дальше, и т.п. пока всю таблицу не просмотрим. arCheck задает разницу между сообщениями А, Б, В, Г, Д. Т.е. сообщение А = 0, а Б = A + 121, В = Б + 28 и т.п.

Или надо по другой логике искать?

Только не говорите где они лежат сразу, хочу разобраться  ;) А вот если логику поиска подскажите - буду рад :)

Цитата: GD
А разве нельзя взять наработки (шрифт) из зачахшего прожекта?
Ну, во-первых у меня его нет. Во-вторых автор думаю проект не забросил, просто пока отложил, поэтому отбирать его работу я не собираюсь :) А вообще просто хотелось самому разобраться с самых азов. Но туго как то идет, сложное это дело  :-|

Цитата: Anton
чтобы потом делать лишнюю работу и править ширины
(все... молчу, молчу...)
Поздно, уже поправил :) Да в общем-то ширину пофиксить не долго, а вот найти где оно лежало конечно не так просто. Спасибо Джинни за нахождение :) Впрочем я бы все равно нашёл бы рано или поздно с помощью корруптера и понял где тупанул (на ширине знака "!")... Ну а может бы и не нашёл... :))
И... ширину EN-алфавита я вообще не трогал. Переправил только ширину спец-языковых символов (всякие А с точками наверху и т.п.)

71
Ромхакинг и перевод / Shining Force: RoDD
« : 05 Ноября 2011, 17:35:36 »
Цитата: Джинни от 05 Ноября 2011, 07:35:38
Там есть такая таблица. Адрес 7BE40 и до 7BEE8.
Спасибо! Моя ошибка была в том что я "померил" восклицательный знак в 2 пикселя, а у них он за 4 идет. В 6 часов ночи и не такое намеришь...

Джинни, как я понимаю Kruptar7 вполне должен справиться с переводом игры, с учетом того что таблица одна? Больно много настроек, пока во все въедешь...  :-[

И ещё я решил выкладывать наработки периодически
Спойлер для  Shining Force - Resurrection of the Dark Dragon (E) (M5):
Заметки:
Цитировать
Моноширинный шрифт: 0x77632C (GBA 4bpp 8x8)
Немоноширинный шрифт: 0x1765E0 (4 color 2bpp 12x12)

Символы на клавиатуре ввода имени: 0x1E206D / 0x1E20FD

Таблица ширины букв (начиная с пробела): 0x07BE3D

Языки:
0x178248 Английский
0x1E2284 Итальянский
0x250798 Французский
0x2B89E4 Немецкий
0x3277A8 Испанский

Спец-символы:
0x00 Конец строки
0x01 ?
0x02 ?
0x03 Конец монолога
0x04 ?
0x05 ?
0x06 ?
0x07 Числовой макрос
0x08 Именной макрос
0x09 Имя персонажа
0x0A ?
0x0B ?
0x0C ?
0x0D ?
0x0E Конец фразы (то из чего состоит монолог)
0x0F ?

Оригинальная таблица (~ - спецсимволы)
Цитировать
00=~
02=~
03=~
04=~
05=~
06=~
07=~
08=~
09=^
0A=\n
0B=~
0C=~
0D=~
0E=~
0F=~
10=
11=0
12=1
13=2
14=3
15=4
16=5
17=6
18=7
19=8
1A=9
1B=!
1C=#
1D=%
1E=&
1F=(
20=)
21=+
22=-
23=.
24=/
25=:
26=<
27==
28=>
29=?
2A=@
2B=A
2C=B
2D=C
2E=D
2F=E
30=F
31=G
32=H
33=I
34=J
35=K
36=L
37=M
38=N
39=O
3A=P
3B=Q
3C=R
3D=S
3E=T
3F=U
40=V
41=W
42=X
43=Y
44=Z
45=[
46=]
47=_
48=a
49=b
4A=c
4B=d
4C=e
4D=f
4E=g
4F=h
50=i
51=j
52=k
53=l
54=m
55=n
56=o
57=p
58=q
59=r
5A=s
5B=t
5C=u
5D=v
5E=w
5F=x
60=y
61=z
62=~
63=…
64=~
65=~
66=~
67=,
68=~
69='
6A=~
6B=~
6C=~
6D=~
6E=~
6F=~
70=~
71=~
72=~
73=~
74=~
75=~
76=~
77=~
78=~
79=~
7A=~
7B=~
7C=~
7D=~
7E=~
7F=~
80=~
81=~
82=~
83=~
84=~
85=~
86=~
87=~
88=~
89=~
8A=~
8B=~
8C=~
8D=~
8E=~
8F=~
90=~
91=~
92=~
93=~
94=~
95=~
96=~
97=~
98=~
99=~
9A=~
9B=~
9C=~
9D=~
9E=~
9F=~
A0=~
A1=~
A2=~
A3=~
A4=~
A5=~
A6=~
A7=~
A8=~
A9=~
AA=;
AB=~
AC=~
AD=*
AE=«
AF=»
B0=~
B1=~
B2=$
B3=~
B4=~
B5=~
B6=~
B7=~
B8=~
B9=~
BA=~
BB=~
BC=~
BD=~
BE=~
BF=~

Новая таблица:
Цитировать
00=~
02=~
03=~
04=~
05=~
06=~
07=~
08=~
09=^
0A=\n
0B=~
0C=~
0D=~
0E=~
0F=~
10=
11=0
12=1
13=2
14=3
15=4
16=5
17=6
18=7
19=8
1A=9
1B=!
1C=#
1D=%
1E=&
1F=(
20=)
21=+
22=-
23=.
24=/
25=:
26=<
27==
28=>
29=?
2A=@
2B=A
2C=B
2D=C
2E=D
2F=E
30=F
31=G
32=H
33=I
34=J
35=K
36=L
37=M
38=N
39=O
3A=P
3B=Q
3C=R
3D=S
3E=T
3F=U
40=V
41=W
42=X
43=Y
44=Z
45=[
46=]
47=_
48=a
49=b
4A=c
4B=d
4C=e
4D=f
4E=g
4F=h
50=i
51=j
52=k
53=l
54=m
55=n
56=o
57=p
58=q
59=r
5A=s
5B=t
5C=u
5D=v
5E=w
5F=x
60=y
61=z
62=~
63=…
64=~
65=~
66=~
67=,
68=~
69='
6A=~
6B=~
6C=А
6D=Б
6E=В
6F=Г
70=Д
71=Е
72=Ж
73=З
74=И
75=Й
76=К
77=Л
78=М
79=Н
7A=О
7B=П
7C=Р
7D=С
7E=Т
7F=У
80=Ф
81=Х
82=Ц
83=Ч
84=Ш
85=Щ
86=Э
87=Ю
88=Я
89=а
8A=б
8B=в
8C=г
8D=д
8E=е
8F=ё
90=ж
91=з
92=и
93=й
94=к
95=л
96=м
97=н
98=о
99=п
9A=р
9B=с
9C=т
9D=у
9E=ф
9F=х
A0=ц
A1=ч
A2=ш
A3=щ
A4=ъ
A5=ы
A6=ь
A7=э
A8=ю
A9=я
AA=;
AB=~
AC=~
AD=*
AE=«
AF=»
B0=~
B1=~
B2=$
B3=~
B4=№
B5=~
B6=~
B7=~
B8=~
B9=~
BA=~
BB=~
BC=~
BD=~
BE=~
BF=~

Таблица ширины букв (перерисованное)
Код: [Выделить]
          00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0x07BE90: -- -- -- -- -- -- -- -- -- 0A 08 08 07 0A 08 0C
                                      A  Б  В  Г  Д  Е  Ж
0x07BEA0: 07 08 08 08 09 0A 08 09 08 08 08 08 08 0A 08 0A
           З  И  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц
0x07BEB0: 08 0A 0B 08 0C 08 06 06 06 05 08 06 06 0A 06 06
           Ч  Ш  Щ  Э  Ю  Я  а  б  в  г  д  е  ё  ж  з  и
0x07BEC0: 06 06 07 08 06 06 06 06 06 06 06 08 06 07 06 0A
           й  к  л  м  н  о  п  р  с  т  у  ф  х  ц  ч  ш
0x07BED0: 0B 07 08 06 06 09 06 -- -- -- -- -- -- -- -- --
           щ  ъ  ы  ь  э  ю  я

Перерисованные шрифты во вложении

72
Ромхакинг и перевод / Shining Force: RoDD
« : 05 Ноября 2011, 05:33:40 »
Почти все подготовил к переводу (с сохранением EN версии). Однако ром не хочет сдаваться без боя :)
Т.к. шрифт немоноширинный, оказалось что где-то задана ширина для каждой буквы. А т.к. я перерисовывал - куча букв не той ширины которой должна бы быть и буквы на друг друга наползают. Пока ищу где это в роме задается. Вроде было бы логично задать где-то рядом и по сути должен быть ряд малых чисел типа: 08 06 08 08 09 08 08 08 08 08 02 08 08 08 04 (по ширине букв в пикселях). Но такого нет :( Может у кого есть опыт в поиске таких мест (или конкретно для этой игры)?

73
Ромхакинг и перевод / Shining Force: RoDD
« : 04 Ноября 2011, 00:15:28 »
Урррра! :) Ох и ступил же я, и впрямь все логично оказалось. А этот коварный шрифт при другом размере тайла как мусор смотрится, я 12х12 не догадался проставить. Пойду перерисовывать :D

Anton, Джинни, большое спасибо за помощь!

ps. Надеюсь скоро вернусь с переводом первой главы

74
Ромхакинг и перевод / Shining Force: RoDD
« : 03 Ноября 2011, 22:12:46 »
Увы, 0x57782C-0x57bd7b визуально ничего нет. Смотрел и в европейской и в американской. После этого прокорруптил данные адреса - европейка виснет, а в американской шрифт не изменяется. Значит все таки он не там  :-|

Может пожато? Буду копаться дальше...

75
Ромхакинг и перевод / Shining Force: RoDD
« : 03 Ноября 2011, 11:51:35 »
Прокрутил все режимы (до 16bpp) с установленным 2-dimensional... Наверное остается корруптить внимательнее  :-|

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

  • GreenUP by Neekiinh0.

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