Разработка и ромхакинг > Ромхакинг и программирование
Перевод Digimon World PSX (PAL)
<< < (3/3)
Mr2:

--- Цитата: ReeDeR от 19 Июнь 2015, 20:08:25 ---Ну вот теперь несколько знаю.
--- Конец цитаты ---
Если тут почитаешь - будешь знать всё.
Вот тут кое что по русски.


--- Цитата: ReeDeR от 19 Июнь 2015, 20:08:25 ---Погоди мы поитер то нашли? :blush:

--- Конец цитаты ---
А оно нам надо? :lol:
Мне его быстрей самому найти, чем писать 10 страниц на форуме. :cool:
Всем необходимым я тебя снабдил.
ReeDeR:

--- Цитата: Mr2 от 19 Июнь 2015, 20:20:26 ---Если тут почитаешь - будешь знать всё.
Вот тут кое что по русски.
А оно нам надо? :lol:
Мне его быстрей самому найти, чем писать 10 страниц на форуме. :cool:

--- Конец цитаты ---

Люди совсем обленились. Уже нажимать на кнопочки, лень. :lol:
Mr2:

--- Цитата: ReeDeR от 19 Июнь 2015, 20:26:40 ---Люди совсем обленились. Уже нажимать на кнопочки, лень. :lol:

--- Конец цитаты ---
Поверь, есть много других интересных дел. :facepalm:
ReeDeR:

--- Цитата: Mr2 от 19 Июнь 2015, 20:30:57 ---Поверь, есть много других интересных дел. :facepalm:

--- Конец цитаты ---
Я тебя не заставляю отрываться от любимых интересных дел. Отказал помощь ,спасибо. Просто я подумал что дойдём до конечного результата. :-\
Mr2:

--- Цитата: ReeDeR от 19 Июнь 2015, 20:37:03 ---Отказал помощь ,спасибо.
--- Конец цитаты ---

Я подписывался только рассказать как искать поинтеры через дебаггер. :P


--- Цитата: ReeDeR от 19 Июнь 2015, 20:37:03 ---Просто я подумал что дойдём до конечного результата. :-\

--- Конец цитаты ---
Конечно дойдём, только ты иди своей дорогой, а я своей. :cool:

Покопал я код, похоже нет в игре никаких поинтеров(в игровых диалогах), всё работает по скрипту.
Далее нужно изучать скрипт и эксперементировать. ReeDeR, в каком редакторе нормально отображается игровой текст?
ReeDeR:

--- Цитата: Mr2 от 19 Июнь 2015, 23:09:42 ---Покопал я код, похоже нет в игре никаких поинтеров(в игровых диалогах), всё работает по скрипту.
Далее нужно изучать скрипт и эксперементировать. ReeDeR, в каком редакторе нормально отображается игровой текст?

--- Конец цитаты ---

Что значит нормально? В принципе в любом. Если в нем можно кодировку shift jis ставить. Или возьми редактор и вставь таблицу которую я кидал. Я вот использую редактор в CrystalTile2 , там и кодировка есть такая и таблицу можно вставить если надо.

--- Цитата ---Покопал я код, похоже нет в игре никаких поинтеров(в игровых диалогах), всё работает по скрипту.
--- Конец цитаты ---
Мне на одном испанском форуме тоже так сказали. Текст имеет вид компилированного скрипта и поинтеры не легко найти. Перед каждым блоком теста идёт скрипт его видно.
Таблицу прикрепил если надо.
Mr2:

--- Цитата: ReeDeR от 19 Июнь 2015, 23:34:07 ---Я вот использую редактор в CrystalTile2 , там и кодировка есть такая и таблицу можно вставить если надо.
--- Конец цитаты ---
Ага, есть у меня такой редактор.


--- Цитата: ReeDeR от 19 Июнь 2015, 23:34:07 ---Мне на одном испанском форуме тоже так сказали. Текст имеет вид компилированного скрипта и поинтеры не легко найти. Перед каждым блоком теста идёт скрипт его видно.

--- Конец цитаты ---
Скрипт есть, поинтеров нет.

Я укоротил фразу "Welcome to Digimon World!" до "Welcome to" и следующий диалог "What?", вывелся без проблем.(диалог в самом начале игры)
Если бы использовались поинтеры, то "What?"  вывелся бы некорректно. Так что нужно разбирать скрипт. Прикрепил модифицированный файл DG0.SCN к сообщению.
Вот и иди с тобой до конечного результата которого нет. ;)


--- Цитата: ReeDeR от 19 Июнь 2015, 19:56:13 ---800ee5f0 ADDI v0,v0 0002 Я так понял она складывает 8015C104 +0002? и записывает это в 8013bf54.

--- Конец цитаты ---
$8013bf54 - это указатель не на строки, а на скрипт, поэтому значения по этому адресу постоянно меняются.
Инструкция 800ee5f0 ADDI v0,v0 0002 перехидит на следующие два байта скрипта.(там может быть как буква так и командные байты) К обычным строковым поинтерам - это не имеет никакого отношения.
Leprikon:

--- Цитата: Mr2 от 20 Июнь 2015, 02:00:30 ---Ага, есть у меня такой редактор.
Скрипт есть, поинтеров нет.

Я укоротил фразу "Welcome to Digimon World!" до "Welcome to" и следующий диалог "What?", вывелся без проблем.(диалог в самом начале игры)
Если бы использовались поинтеры, то "What?"  вывелся бы некорректно. Так что нужно разбирать скрипт. Прикрепил модифицированный файл DG0.SCN к сообщению.
Вот и иди с тобой до конечного результата которого нет. ;)
$8013bf54 - это указатель не на строки, а на скрипт, поэтому значения по этому адресу постоянно меняются.
Инструкция 800ee5f0 ADDI v0,v0 0002 перехидит на следующие два байта скрипта.(там может быть как буква так и командные байты) К обычным строковым поинтерам - это не имеет никакого отношения.


--- Конец цитаты ---
Если проблем с поитнерами нет почему ПасКудос сделал такой перевод? Хотя чего я спрашиваю это ж ПасКудос. :lol:
paul_met:

--- Цитата: Leprikon ---Если проблем с поитнерами нет почему ПасКудос сделал такой перевод? Хотя чего я спрашиваю это ж ПасКудос.
--- Конец цитаты ---

Пираты практически никогда не заморачивались и не копали глубоко. Если места для переведённого текста недостаточно было, то они либо впихивали как есть, либо урезали текст так,чтобы он влез в отведённое для него пространство (при этом теряя смысл и т.д.). Кудос так вообще ложил на всё. Ни палитра, ни форматирование текста, ни тем более поинтеры его не заботили.

А касаемо отсутствия поинтеров на определённые диалоги, то вспоминается ситуация с Vandal Hearts I, где диалоги сидели в отдельных файлах. Там реплики персонажей разделялись управляющими байтами, а сама игра ориентировалась лишь на их количество - то есть считала количество управляемых байтов и исходя из этого выводила нужный диалог. По мне, так очень толковый и удобный способ.
ReeDeR:

--- Цитата: paul_met от 20 Июнь 2015, 11:12:25 ---
Пираты практически никогда не заморачивались и не копали глубоко. Если места для переведённого текста недостаточно было, то они либо впихивали как есть, либо урезали текст так,чтобы он влез в отведённое для него пространство (при этом теряя смысл и т.д.). Кудос так вообще ложил на всё. Ни палитра, ни форматирование текста, ни тем более поинтеры его не заботили.

А касаемо отсутствия поинтеров на определённые диалоги, то вспоминается ситуация с Vandal Hearts I, где диалоги сидели в отдельных файлах. Там реплики персонажей разделялись управляющими байтами, а сама игра ориентировалась лишь на их количество - то есть считала количество управляемых байтов и исходя из этого выводила нужный диалог. По мне, так очень толковый и удобный способ.

--- Конец цитаты ---

В дигимонах вроде всё сюжетные диалоги в одном файле. Но в этом файле не только диалоги. А даже некоторые действия, переходы между локациями  ,  движения персонажей. Т.е там все сценические действия которые проиходят в сюжете игры. Ну не зря у файла расширение SCN - SCENE.
Mr2:

--- Цитата: Leprikon от 20 Июнь 2015, 10:46:24 ---Если проблем с поитнерами нет почему ПасКудос сделал такой перевод?

--- Конец цитаты ---
Чтобы делать нормальный вывод текста нужно разбираться со скриптом.


--- Цитата: ReeDeR от 20 Июнь 2015, 11:35:31 ---Но в этом файле не только диалоги. А даже некоторые действия, переходы между локациями  ,  движения персонажей. Т.е там все сценические действия которые проиходят в сюжете игры.

--- Конец цитаты ---
Так это и есть скрипт.

Поинтеры на скрипт грузятся инструкцией I>800ee004 в регистр v0 из адреса в s0+2:
Затем поинтер v0 складывается с базовым адресом s1 инструкцией I>800ee00c, и в регистре v0 мы получаем реальный адрес скрипта.
Пример:
$8015abf4 базовый адрес для диалогов двух покемонов с которыми можно поговорить в начале игры:
Yuramon "OK, I'll explain to you the surrounding of this city."
Tanemon "Wold you like some Meat?"

Скрипт диалога Yuraman индексируется двумя байтами из адреса $8015ac20  =0x1620
Скрипт диалога Tanemon индексируется двумя байтами из адреса $8015ac1c  =0x0b68

Базовый адрес $8015abf4+0x1620  =реальный адрес скрипта $8015c214 Yuraman "OK, I'll explain to you the surrounding of this city."
Базовый адрес $8015abf4+0x0b68  =реальный адрес скрипта $8015b75c Tanemon "Wold you like some Meat?"

Чтобы отслеживать код загрузки поинтера, в дебаггере напротив "PC" впиши 800ee004 и нажми кнопку "set".

Сами поинтеры находятся в файле со скриптом.
Yuramon  $8015ac20 f$7782c  =0x1620
Tanemon  $8015ac1c f$77828  =0x0b68
$ - адрес поинтера на скрипт в оперативной памяти
f$ - адрес поинтера на скрипт в файле DG0.SCN.

Для проверки в файле DG0.SCN поменял поинтеры на скрипт местами.
Yuramon f$7782c =0x0b68
Tanemon f$77828 =0x1620
И покемоны поменялись диалогами.
ReeDeR:

--- Цитата: Mr2 от 20 Июнь 2015, 11:58:47 ---Чтобы делать нормальный вывод текста нужно разбираться со скриптом.
Так это и есть скрипт.

Поинтеры на скрипт грузятся инструкцией I>800ee004 в регистр v0 из адреса в s0+2:
Затем поинтер v0 складывается с базовым адресом s1 инструкцией I>800ee00c, и в регистре v0 мы получаем реальный адрес скрипта.
Пример:
$8015abf4 базовый адрес для диалогов двух покемонов с которыми можно поговорить в начале игры:
Yuraman "OK, I'll explain to you the surrounding of this city."
Tanemon "Wold you like some Meat?"

Скрипт диалога Yuraman индексируется двумя байтами из адреса $8015ac20  =0x1620
Скрипт диалога Tanemon индексируется двумя байтами из адреса $8015ac1c  =0x0b68

Базовый адрес $8015abf4+0x1620  =реальный адрес скрипта $8015c214 Yuraman "OK, I'll explain to you the surrounding of this city."
Базовый адрес $8015abf4+0x0b68  =реальный адрес скрипта $8015b75c Tanemon "Wold you like some Meat?"

Чтобы отслеживать код загрузки поинтера, в дебаггере напротив "PC" впиши 800ee004 и нажми кнопку "set".

Сами поинтеры находятся в файле со скриптом.
Yuraman  $8015ac20 f$7782c  =0x1620
Tanemon  $8015ac1c f$77828  =0x0b68
$ - адрес поинтера на скрипт в оперативной памяти
f$ - адрес поинтера на скрипт в файле DG0.SCN.

Для проверки в файле DG0.SCN поменял поинтеры на скрипт местами.
Yuraman f$7782c =0x0b68
Tanemon f$77828 =0x1620
И покемоны поменялись диалогами.


--- Конец цитаты ---
Mr2,
В пух и прах :thumbup:
Mr2:

--- Цитата: ReeDeR от 20 Июнь 2015, 12:22:49 ---Mr2,
В пух и прах :thumbup:

--- Конец цитаты ---
Годы тренировок. :wall:
Чтение указателя на скрипт происходит перед началом диалога. Подходишь к покемону, жмёшь "x" и читается поинтер для вывода диалогов.
SILENT_Pavel:
Я тут нашёл код на дебаг рум в этой игре, но не смог добиться какого-нибудь результата с ним, у кого-нибудь получается его активировать и увидеть результат описанный и показанный автором?

http://www.gamefaqs.com/boards/913684-digimon-world/59905574?page=5

--- Код: ---Debugmode NTSC
301BDFD2 0000
301BDFD3 0000
301BDFD4 0000
301BDFE6 0000
----------------------------
Debugmode PAL
30158BE3 0000
30158BE4 0000
30158BE5 0000
30158BF6 0000
--- Конец кода ---


это может помочь в тесте перевода например
Yoti:
SILENT_Pavel,
может по аналогии с японской версией?
drakodong:
Что в итоге с переводом? Хотелось бы поиграть :(
ReeDeR:
Ого а тему то подняли! Выложу русифицированную титлу. ^_^
Dyons:

--- Цитата: ReeDeR от 24 Апрель 2016, 20:03:52 ---Ого а тему то подняли! Выложу русифицированную титлу. ^_^

--- Конец цитаты ---
а почему дигимон а не диджимон?
ReeDeR:
А как вместить столько букв?  :lol: Дигимонами проще называть. Да и вообще во всех фан сайтах люди дигимонами называют. Даже в вики так.
http://ru.digimon.wikia.com/wiki/%D0%94%D0%B8%D0%B3%D0%B8%D0%BC%D0%BE%D0%BD
Absolutium:
Здравствуйте, пусть и прошло уже 5 лет, но всё же спрошу, были ли какие-либо результаты, или всё затихло еще тогда? Кроме перевода Кудосов поисковик, к сожалению, ничего не выдает...
Навигация
Главная страница сообщений
Предыдущая страница

Перейти к полной версии