форум группы Chief-Net » » Переводы » Metroid: Zero Mission [GBA]

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

1. lupus - 17 Октября, 2016 - 06:09:44 - перейти к сообщению
lupus
Наткнулся я когда-то (уже года 2 наверное назад) на утилитку MetroID 0.6 (http://www.romhacking.net/utils/459/), которая умеет вынимать текст из игры Metroid: Zero Mission. И делает это она по заявлению автора Рointer based, но вот со вставкой скрипта назад есть некоторые проблемы...
Вообщем что есть у меня:
1. Переведённый скрипт (да, текста не много, но он переведён). По большей части я отталкивался от русской версии Metroid Fusion, сделанной Шедевром.
2. Нарисованный кириллический шрифт (рисовал поверх иероглифов, которые идут после латиницы).
3. Желание вставить всё это добро в РОМ, дабы Самус заговорила по-русски.
Поскольку с технической стороной вопроса у меня есть проблемы, то может кто-то из хакеров возьмётся помочь мне?
Русский скрипт: http://upwap.ru/665383
Русский шрифт выглядит так:

2. Guyver - 17 Октября, 2016 - 06:10:23 - перейти к сообщению
Guyver
Выложи в одном архиве:
Утилиту
Оригинальный ром
Ром с русским шрифтом
Ну скрипт ты уже выложил...
А то неохота качать всё в разных местах...
3. lupus - 17 Октября, 2016 - 06:10:51 - перейти к сообщению
lupus
ром , остальное (софтинка с сырцами, патч со шрифтом для U рома, скрипт)
4. Guyver - 17 Октября, 2016 - 06:11:15 - перейти к сообщению
Guyver
Я ещё ничего не смотрел, так как на работе... Но в скрипте у тебя Screw Attack вроде не переведено?
5. Guyver - 17 Октября, 2016 - 06:11:41 - перейти к сообщению
Guyver
Пропустил?
6. lupus - 17 Октября, 2016 - 06:12:18 - перейти к сообщению
lupus
переводил давно, уже не помню. наверное не придумал как перевести и отложил до момента тестрования.
7. lupus - 17 Октября, 2016 - 06:12:45 - перейти к сообщению
lupus
Цитата:
Я ещё ничего не смотрел, так как на работе... Но в скрипте у тебя Screw Attack вроде не переведено?

Думаю что-то типа винтовая атака или ещё как-то, не помню уже, как во фьюжине было переведено.
Это скилл, когда в прыжке Самус вращается и может наносить урон врагам. Также помогает взлетать высоко вверх, продлевая прыжок, "отталкиваясь" от воздуха.
Как там с хакингом, есть ли прогресс?
8. Rex OConnor - 17 Октября, 2016 - 06:13:10 - перейти к сообщению
Rex O#39;Connor
По скрипту - часть 1.

<$0x2680><$0x81>Максимум Энегии повысился.<END STRING>
Опечатку видишь?

ЭнергоКонтейнер
РакетоКонтейнер

ИМХО, я бы написал без большой буквы, с ней - не по-русски =)

Супер Ракетницы

По идее эти два слова должны писаться или слитно или через дефис - по правилам русского =)

<$0x4180><$0x581>Контейнер мощных мин.<LINE BREAK>
<$0x1680><$0x81>Ёмкость Супер Ракетницы возросла.<END STRING>


Почему в одном случае слова с маленькой буквы, в другом - с большой?
Я к тому, что и с маленькой классно смотрится, а излишней капитализации в русском нет вообще-то.

<$0x4180><$0x581>Контейнер мощных мин.<LINE BREAK>
<$0x2280><$0x581>Super Missile Tank acquired.<LINE BREAK>


но

<$0x4180><$0x581>Power Bomb Tank<LINE BREAK>
<$0x4180><$0x581>Мощные мины<LINE BREAK>


Почему???

<$0x4480>Боекомплект<LINE BREAK>
<$0x3d80>восполнен.<END STRING>
<$0x3880>Оружие и энергия<LINE BREAK>
<$0x4780>восполнены.<END STRING>


Может, лучше "восстановлен"?

<$0x2480><$0x981>Получена<$0x81> <$0x581>карта<$0x81> Бринстар.<LINE BREAK>
<$0x6e80><END STRING>


Здесь и далее лучше наверное будет:
"Получена карта: Бринстар."

<$0x2c80>Enemy location abnormal.<LINE BREAK>
<$0x1e80>Check message frame position.<END STRING>


Не переведено.

<$0x4080>ИССЛЕДОВАТЕЛЬСКАЯ КОМНАТА<END STRING>

Может, лучше "КОМНАТА ДЛЯ ИССЛЕДОВАНИЙ"?

<$0x4580>UNUSED OBJ 7<END STRING>

И далее - не переведено.

Итог: неплохой перевод, но на замечания обрати внимание)
И шрифт вроде классный)

И не забудь - названия предметов, пожалуй, лучше с маленькой буквы писать.
9. Rex OConnor - 17 Октября, 2016 - 06:13:37 - перейти к сообщению
Rex O#39;Connor
По скрипту - часть 2.

Обледенелых врагов можно использовать, как опору.<END STRING>

Думаю, лучше будет "обледеневших".

Свернись Клубком и нажми <B>, для установки.<END STRING>

Ну, про большие буквы я тебе уже говорил.

Снижает урон наносимый врагами. Защищает<LINE BREAK>

После "урон" - запятая.

Снижает урон наносимый врагами. Повышает<LINE BREAK>

Аналогично.

Дважды нажми <down>, чтобы свернуться клубком.<LINE BREAK>

Вот здесь наверное лучше <down> заменить на "вниз" - "крестик" на приставке буквами не подписан, в отличие от других кнопок. Поэтому могут быть непонятки.

Разгонись как следует, тогда ты сможешь<LINE BREAK>
проломить некоторые блоки и сбивать врагов.<END STRING>


"Проламывать (пробивать) ... и сбивать"
Глаголы должны быть в одинаковых видовременных формах.

Увеличение высоты пыжка. Возможность<LINE BREAK>
прыгать, свернувшись клубком.<END STRING>


Во-первых, очепятка =) Во-вторых, смотри: тут у тебя "клубок" с маленькой буквы. Вот так и пиши в остальных случаях =)

Поражать врагов крутясь в прыжке.<END STRING>

Здесь запятая будет, после "врагов" или после "крутясь", в зависимости от смысла.

поведать лишь историю моей превой битвы<LINE BREAK>

Опечатка.

эвакуации. Я была атакована космическими<LINE BREAK>
Пиратами и стала весьма уязвима, без<LINE BREAK>
моего Боевого Скафандра. Все, что у меня<LINE BREAK>
осталось для защиты, это почти бесполезный<LINE BREAK>
аварийный пистолет. Возможно, глупо пытаться<LINE BREAK>
проникнуть на Корабль Космических Пиратов,<LINE BREAK>
но у меня нет другого выбора...<END STRING>


Большие буквы глаза режут.

Начать игру<LINE BREAK>
Начать игру (Link)<END STRING>


По поводу "Link" не знаю... Может, стоит заменить? А может и нет =)

Уничтожьте всех Метроидов<LINE BREAK>
на планете Зебес...<END STRING>

И разрушьте искусственную форму жизни,<LINE BREAK>
Материнский Мозг.<END STRING>


А вот здесь, пожалуй, лучше большие буквы оставить.

Выберите дынные<LINE BREAK>
для очистки.<END STRING>


Опечатка. И к тому же, может лучше "для удаления?"

Настройка сообщений<LINE BREAK>
Kanji<LINE BREAK>
Hiragana<END STRING>


Если там только кандзи с хираганой, то откуда взялся английский?

Пожалуста ждите.<END STRING>

Опечатка.

Отколючите питание и<LINE BREAK>

Опечатка.

Вы не можете копировать<LINE BREAK>
Данные игры на время.<END STRING>


"Данные" с маленькой буквы.

<$0x581>Оригинальный Метроид<$0x81> теперь<LINE BREAK>
доступен из меню<LINE BREAK>
<$0x681>ОПЦИЙ<$0x81>.<END STRING>


Здесь и в подобных фрагментах по идее правильнее будет: "... из меню ОПЦИИ", а как у тебя написано - это разговорная форма.
Затем "Оригинальный "Метроид""
или "Оригинальный Metroid"
или "Оригинальная игра "Метроид"
или "Оригинальная игра Metroid"

А вообще перевод классный =) Мне понравился yess1
10. lupus - 17 Октября, 2016 - 06:14:04 - перейти к сообщению
lupus

за наводки спасибо, будем вылизывать, но пока основная часть - хакинг.
Переводилось давно, поэтому выложил в том виде, как было, чтобы хакеры имели представление о том, что сделано.
upd
Поправил практически всё, на что было указано. Отдельное спасибо за опечатки.
не тронуто только это:
<$0x2c80>Enemy location abnormal.<LINE BREAK>
<$0x1e80>Check message frame position.<END STRING>
- не совсем понимаю, о чем речь и где это выводится
Настройка сообщений<LINE BREAK>
Kanji<LINE BREAK>
Hiragana<END STRING>
это вообще хз где, думаю наследие от японского релиза, но на всякий случай привёл к тому виду, который видим.
Всякий текст в круглых () и угловых <> скобках - это управляющие символы. Переводить их смысла нет, т.к. <down> отображается стрелкой вниз и т.п.
11. lupus - 17 Октября, 2016 - 06:14:28 - перейти к сообщению
lupus
судя по всему данная история не имеет продолжения Недовольство, огорчение
выкладываю исправленный скрипт M:ZM, вдруг кто-то однажды решит расхачить...
брать тут.
12. Mefistotel - 17 Октября, 2016 - 06:15:06 - перейти к сообщению
Mefistotel
У нас у каждого по проекту. И времени на что-то другое пока нет. В будущем, все может быть.
13. Guyver - 17 Октября, 2016 - 06:15:32 - перейти к сообщению
Guyver
В игре используется "таблица ширины" букв, её надо найти... Это если перерисовывать английские буквы на русские.
А если заново подключать русские буквы - так это вообще получается жесть... Да?
14. alex_231 - 17 Октября, 2016 - 06:15:57 - перейти к сообщению
alex_231
А-а-а-а-а!!!
Утиль - вынос мозга.
Я свой бета-скриптер туда приладил за 10 минут (в основном на таблицу время ушло).
Вопрос к lupus'у: а что ж ты сам не попробуешь графику найти?
один из пакетов лежит здесь: 0x3FEB60, пожат стандартным LZ, декомпрессоров и рекомпрессоров к нему хватает (есть один в теме про перевод Castlevania).
Да и раз ты перерисовал шрифт, думаю и таблица у тебя есть, так что текст можно и самому вставить, тем же Круптаром (правда придется сначала вынуть в круптаровском формате, перенести перевод туда, а потом уже вставлять).
15. Guyver - 17 Октября, 2016 - 06:16:26 - перейти к сообщению
Guyver
Ну в принципе можно и этой прогой всё вставить - у меня получилось... Но...
ВЕСЬ СКРИПТ НАДО ПЕРЕДЕЛЫВАТЬ! Он сделан ужасно - строки не вмещаются в окна, слова разрываются на середине и т.д. и т.п. Почти во ВСЕХ фразах!!!
16. lupus - 17 Октября, 2016 - 06:16:54 - перейти к сообщению
lupus
Цитата:
Вопрос к lupus'у: а что ж ты сам не попробуешь графику найти?
один из пакетов лежит здесь: 0x3FEB60, пожат стандартным LZ, декомпрессоров и рекомпрессоров к нему хватает (есть один в теме про перевод Castlevania).
Да и раз ты перерисовал шрифт, думаю и таблица у тебя есть, так что текст можно и самому вставить, тем же Круптаром (правда придется сначала вынуть в круптаровском формате, перенести перевод туда, а потом уже вставлять).

Я в хаке не силён и с поинтерами не разберусь точно Недовольство, огорчение
если кто-то поможет с проектом к круптару, то буду только благодарен.
Графику я ещё даже не искал, поэтому не перерисована, на данный момент меня больше беспокоит как раз работа с текстом.
17. lupus - 17 Октября, 2016 - 06:17:29 - перейти к сообщению
lupus

Цитата:
Ну в принципе можно и этой прогой всё вставить - у меня получилось... Но...
ВЕСЬ СКРИПТ НАДО ПЕРЕДЕЛЫВАТЬ! Он сделан ужасно - строки не вмещаются в окна, слова разрываются на середине и т.д. и т.п. Почти во ВСЕХ фразах!!!

Да я не против переделывать так, чтобы смотрелось на экране хорошо, но я не знаю, как вставить текст назад в ром.
Ты судя по всему вставлял текст текст этой программой нарисовав кирилицу поверх латиницы?
alex_231, а по какому признаку искать пожатые куски? заголовков компессора в них нет... или я смотрел как-то неправильно?
18. Mefistotel - 17 Октября, 2016 - 06:17:55 - перейти к сообщению
Mefistotel
Таблица ширин может состоять из 256 байтов. И буквам нарисованным ниже тоже можно назначить нормальную ширину. Поищи выше самого шрифта.
19. alex_231 - 17 Октября, 2016 - 06:18:23 - перейти к сообщению
alex_231
Заголовки есть.
Сначала идет байт h10, затем размер исходных данных в распакованном виде (два байта), затем нулевой байт (видать конец заголовка), ну а дальше собственно пожатые данные.
Цитата:
Я в хаке не силён и с поинтерами не разберусь точно...


А ты пытался? На GBA используются одни из самых простых поинтеров, да что там, самые простые (за редким исключением). И благодаря этой 32-битной адресации с поинтерами вообще не должно быть никаких проблем (особенно в сабже).
Сказать "я не умею" проще всего, а вот если научишься, то и себе пользу принесешь, и окружающие оценят (в идеале).
И вообще, на Шедевре есть такие замечательные доки по переводу (сам по ним учился). Если не читал - обязательно прочти, если читал, читай до тех пор, пока не поймешь всё, что там написано.
Кстати, поинтер на указанный мной пакет лежит по адресу 0x06A794.
20. Марат - 17 Октября, 2016 - 06:18:47 - перейти к сообщению
Марат
Данные пожатые lz можно искать и распаковывать программой NLZ-GBA, правда, она у меня один раз вылетала при попытке открыть ром.
21. lupus - 17 Октября, 2016 - 06:19:11 - перейти к сообщению
lupus
Марат, спасибо, очень помог.
22. lupus - 17 Октября, 2016 - 06:19:37 - перейти к сообщению
lupus
Марат, некоторые данные азад не вставляются, программа говорит, что новые данные большего размера Недовольство, огорчение как бы обойти этот подводный камень?
23. Марат - 17 Октября, 2016 - 06:20:06 - перейти к сообщению
Марат
Цитата:
Марат, некоторые данные азад не вставляются, программа говорит, что новые данные большего размера Недовольство, огорчение как бы обойти этот подводный камень?

Значит, надо в другое свободное место данные перенести. Если свободного места нет, то надо ром расширить. В противном случае надо код упаковщика переписывать, чтоб оптимальнее данные сжимал. Последнее, конечно, сложнее для тебя будет.
24. lupus - 17 Октября, 2016 - 06:20:34 - перейти к сообщению
lupus
как оказалось, моих скромных познаний в программировании вполне достаточно, чтобы модифицировать программу на предмет работы с кирилицей. теперь нужно пофиксить ширину символов. подскажите, на что она похожа может быть...
пока получается как-то так:
Цитата:
http://img197.imageshack.us/img197/3106/mzmf.png

25. Марат - 17 Октября, 2016 - 06:21:03 - перейти к сообщению
Марат
Надо измерить ширину в пикселах, хотя бы нескольких букв оригинального шрифта. И потом искать эту последовательность в роме. Например, если у тебя получилось, что А=7, В=8, C=8, D=8, то в поиске вводишь 07080808. Найдешь что-нибудь похоже, глянь на соседние числа и на ширину соседних букв. Изменяй их и проверяй в игре. Не факт, что найдешь, и что они лежат в роме именно таким образом, но все же попробуй.
26. Mefistotel - 17 Октября, 2016 - 06:21:53 - перейти к сообщению
Mefistotel
Марат дело говорит.
Цитата:
Я в хаке не силён и с поинтерами не разберусь точно...

Указатели на GBA самые простые, как и на Сеге. Правильно тебе все alex_231 сказал.
Почитай, и тебе должно быть все понятно.
27. lupus - 17 Октября, 2016 - 06:22:23 - перейти к сообщению
lupus
Цитата:
Таблица ширин может состоять из 256 байтов. И буквам нарисованным ниже тоже можно назначить нормальную ширину. Поищи выше самого шрифта.

шрифт лежит по адресу 0X656e4, смотрел выше, вроди ничего повторяющегося нет.
28. lupus - 17 Октября, 2016 - 06:22:52 - перейти к сообщению
lupus
Цитата:
Надо измерить ширину в пикселах, хотя бы нескольких букв оригинального шрифта. И потом искать эту последовательность в роме. Например, если у тебя получилось, что А=7, В=8, C=8, D=8, то в поиске вводишь 07080808. Найдешь что-нибудь похоже, глянь на соседние числа и на ширину соседних букв. Изменяй их и проверяй в игре. Не факт, что найдешь, и что они лежат в роме именно таким образом, но все же попробуй.
хранятся не так Недовольство, огорчение

Mefistotel, с выемкой и встакой текста проблем больше нет, теперь ширину поправить нужно...
29. Mefistotel - 17 Октября, 2016 - 06:24:12 - перейти к сообщению
Mefistotel
Найди указатели на шрифт. И посмотри около пойнтера, обычно рядом лежит указатель и на ширину шрифта (так узнаешь адрес таблицы ширин) или сама таблица ширин. Она может быть и ниже текста и значения могут идти через байт.
Например, 00 05 00 06 00 05 06
30. alex_231 - 17 Октября, 2016 - 06:24:38 - перейти к сообщению
alex_231
А могут и через три (это же всё-таки GBA Улыбка )
00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 06 и т. д.

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