Разработка и ромхакинг > Переводы игр
[GB] Gargoyle's Quest
Егор_М:
Здравствуйте. Будет ли уместно, если окошко в игре будет частично перекрывать персонажа?
mlegion:
--- Цитата: Егор_М от 28 Июнь 2025, 07:22:17 ---Здравствуйте. Будет ли уместно, если окошко в игре будет частично перекрывать персонажа?
--- Конец цитаты ---
Я бы сказал, что не будет, так как композиция кадра явно рассчитана на то, что персонажа мы всё-таки видим. Уж лучше сокращёнными фразами написать. Или выделить свободные тайлы, если таковые имеются, для написания специально предназначенных для меню "сдвоенных" сочетаний букв
Егор_М:
А как лучше сократить( ограничение в 6 символов) :
Talk - Говорить
Use - Применить
Status - Статус
Search - Поиск или Искать
Добавлено позже:
А сдвоенные буквы, мне кажется, будут некрасиво смотреться.
Zzmey:
--- Цитата: Егор_М от 28 Июнь 2025, 09:21:58 ---Talk - Говорить
Use - Применить
--- Конец цитаты ---
Talk - говори (скажи) диалог
Use - возьми (или дай) может - "вещи" или "навыки", что там я не знаю
Как вариант
Егор_М:
У меня вопрос: как найти в роме команду, отвечающую за длину и ширину окна меню? Мне нужно увеличить окно с Talk, Use, Status и Search по ширине на 2 тайла. Как увеличить количество символов в строке рамки, я нашел. А как увеличить саму рамку - нет. Вот прикладываю ром и tbl. Сам текст рамки начинается с 20000, а команда, отвечающая за количество строк в окошке - с 20060.
mlegion:
--- Цитата: Егор_М от 28 Июнь 2025, 09:21:58 ---Talk - Говорить
Use - Применить
Status - Статус
Search - Поиск или Искать
--- Конец цитаты ---
Talk - Диалог
Use (не совсем понятен контекст команды)
Status - Статус
Search - Поиск
Егор_М:
Use - это использование сюжетного предмета из инвентаря
ghostdog3:
Перенесено по пожеланию автора.
Одно сообщение было сразу на две темы, пусть тут хоть цитатой будет.
--- Цитата: Sharpnull от 28 Июнь 2025, 15:28:31 ---Ответ всегда один: изучать ассемблерный код. В данной игре нельзя просто взять и изменить размер окна, там используются константы (ширина и высота) в нескольких местах, а индексы тайлов окна копируются в RAM, поэтому нельзя увеличить площадь окна. Я уменьшил по высоте и увеличил на 2 тайла по ширине. Сравните файлы и увидите замену ширины 09 -> 0B и высоты 09 -> 06. Возможно нужно где-то ещё.
--- Конец цитаты ---
Егор_М:
Здравствуйте. Выкладываю перевод. Не переведены ещё надписи READY и GAME OVER.
Егор_М:
Здравствуйте. Мне нужна помощь: необходимо увеличить надпись GAME OVER (хочу изменить на ИГРА ОКОНЧЕНА) с 9 до 13 символов в одну строку (в этом месте строка ограничена 9 символами). Надписи READY и GAME OVER начинаются с адреса А403. Перед каждой из надписей есть байты 042F и 082E (04 и 2F - количество символов в надписи, 2F и 2E - положение текста по горизонтали). Притом, если количество символов будет больше 9, оставшиеся символы перенесутся на строки ниже и будут отображаться не так, как надо, независимо от того, изменяешь ли ты байты положения текста или нет.Поинтеры на надписи начинаются с адреса 975А. Ром и таблицу прилагаю.
Sharpnull:
--- Цитата: Егор_М от 08 Июль 2025, 19:27:26 --- необходимо увеличить надпись GAME OVER (хочу изменить на ИГРА ОКОНЧЕНА) с 9 до 13 символов в одну строку
--- Конец цитаты ---
Не получится, текст выводится спрайтами, а у Game Boy ограничение на 10 спрайтов на сканлайн. Второй байт в начале текста с PRG $A403 - индекс в массиве адресов, здесь индексы 2E и 2F с PRG $98DC: 7F 6E 83 6E, CPU $6E7F и $6E83 соответствуют PRG $AE7F и $AE83, там относительные координаты Y и X парами (т. е. в начале FC DC означает Y = -4, X = -36, потом FC E4 означает Y = -4, X = -28). Замечу, что координаты для READY внутри GAME OVER, т. к. положение тоже самое и они сэкономили память. Поэтому, текст нужно разделить на 2 строки, найти место для координат, изменить адрес на них (здесь PRG $98DC-), текст (индексы тайлов) тоже придётся перенести для расширения.
Егор_М:
--- Цитата: Sharpnull от 08 Июль 2025, 21:15:16 ---Не получится, текст выводится спрайтами, а у Game Boy ограничение на 10 спрайтов на сканлайн. Второй байт в начале текста с PRG $A403 - индекс в массиве адресов, здесь индексы 2E и 2F с PRG $98DC: 7F 6E 83 6E, CPU $6E7F и $6E83 соответствуют PRG $AE7F и $AE83, там относительные координаты Y и X парами (т. е. в начале FC DC означает Y = -4, X = -36, потом FC E4 означает Y = -4, X = -28). Замечу, что координаты для READY внутри GAME OVER, т. к. положение тоже самое и они сэкономили память. Поэтому, текст нужно разделить на 2 строки, найти место для координат, изменить адрес на них (здесь PRG $98DC-), текст (индексы тайлов) тоже придётся перенести для расширения.
--- Конец цитаты ---
Текст я разделил на ИГРА и ОКОНЧЕНА, перенëс его в свободное место, нашел место для координат 2-й строки (ОКОНЧЕНА) и вставил их, изменил адрес на координаты. Так как строка у меня разделена на 2 слова, то и поинтеров будет теперь 2. Как в таблицу поинтеров добавить ещë один. И как проверить, есть в ней место на дополнительные поинтеры?
Sharpnull:
--- Цитата: Егор_М от 09 Июль 2025, 14:44:12 ---Так как строка у меня разделена на 2 слова, то и поинтеров будет теперь 2. Как в таблицу поинтеров добавить ещë один.
--- Конец цитаты ---
Не нужно разделять на 2 слова в роме, текст идёт одним куском, координаты тоже идут одним куском, для 2-го слова прибавить к координате Y, чтобы отображалось ниже. Чтобы ИГРАОКОНЧЕНА было ровно по центру, координаты FC F0 FC F8 FC 00 FC 08 04 E0 04 E8 04 F0 04 F8 04 00 04 08 04 10 04 18.
Егор_М:
А если в банке, где расположен текст, нет места, где можно уместить эти координаты? Можно ли их поместить в другом банке? И если можно, то как сделать так, чтобы эти координаты читались из другого банка?
Sharpnull:
--- Цитата: Егор_М от 09 Июль 2025, 18:33:52 ---А если в банке, где расположен текст, нет места, где можно уместить эти координаты?
--- Конец цитаты ---
Освободил место в PRG $815F-8197 (CPU $415A-4197, банк 2), перенеся в банк 11, хватит места для текста и координат ИГРАОКОНЧЕНА. Я не добавлял другие изменения в этот ром.
Егор_М:
Здравствуйте. Хочу перевести строки Yes/No, но возникла проблема: при переводе No нужно добавить вывод 3-го символа (что я и сделал), но в игре всë также отображается 2 символа. Думаю, что где-то в коде есть место, которое ограничивает вывод символов для No. Какие команды мне стоит искать?
Вывод теста Yes/No начинается с адреса в роме 32С2.
Вот пароль в игре: CabZ-GTDZ. С ним вы появляетесь в городе, где как раз и выводятся эти строки.
Sharpnull:
--- Цитата: Егор_М от 11 Июль 2025, 05:59:11 ---при переводе No нужно добавить вывод 3-го символа (что я и сделал), но в игре всë также отображается 2 символа.
--- Конец цитаты ---
Yes и No задаются кодом, поэтому нужно писать другой код. Замените байты с 0x32DA: 84 EA 62 C5 3E 8D EA 65 C5 3E A8 EA 66 C5 3E AD EA 67 C5 00 00 00 CD 90 00. Здесь байты 8D, A8, AD соответствуют Not.
Егор_М:
Всем здравствуйте. Вот готовый перевод. Пишите об ошибках.
ww:
--- Цитата: Егор_М от 11 Июль 2025, 17:30:14 --- Вот готовый перевод.
--- Конец цитаты ---
Напишите чем отличается J-версия, от "Gargoyle's Quest - Ghosts'n Goblins (UE)".
Почему перевод был именно японской версии?
Перевод я так понимаю был с английского? (на титульнике почему то FireBrand)
Sharpnull:
--- Цитата: ww от 14 Июль 2025, 14:34:58 ---Почему перевод был именно японской версии?
Перевод я так понимаю был с английского?
--- Конец цитаты ---
Там большего свободного места для символов и в англ. переводе японского рома уже расположили текст на каждой строке, что выглядит лучше. Конечно с англ. рома, он его и скидывал, когда просил помощи. Стоило бы вернуть оригинальный титульник или перевести на русский.
Теперь нужно переводить Makai-Mura Gaiden, который выходил только в Японии и является портом Red Arremar II, который является приквелом к Red Arremer - Makai-Mura Gaiden, который выходил на Game Boy, но не на NES :)
UPD: Перевод на англ. Makai-Mura Gaiden не очень: буквы нижнего регистра есть в VRAM, но не используются, текст выводится через строку.
Навигация
Перейти к полной версии