Если проблем с поитнерами нет почему ПасКудос сделал такой перевод?
Чтобы делать нормальный вывод текста нужно разбираться со скриптом.
Но в этом файле не только диалоги. А даже некоторые действия, переходы между локациями , движения персонажей. Т.е там все сценические действия которые проиходят в сюжете игры.
Так это и есть скрипт.
Поинтеры на скрипт грузятся инструкцией 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
И покемоны поменялись диалогами.