Это, по-сути, ненужная рутина, цель которой уменьшить размер каждой фразы в байтах. Я над ней особо не задумывался. Хотя может именно из-за нее и происходят крэши.
Кстати, текст из конвертера можно сохранять в текстовые файлы Shift-JIS и потом проверить в хексе?
У меня просто конвертер не запускается, там что-то с 4-ой версией фреймворка у меня не так.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Если ты про RLPAKTOOL, то там уже встроена эта рутина по конвертированию необходимых ascii символов в то, что на psp фактически выводится на экран. Тут экспортировал текст в shiftjis, правда там мусора много.
riku.kh3, вообщем вывел я все коды символов. Догнал, что текстовой редактор показывает количество байт на символ. По этой функции и определил все коды в хексе.
По ходу конвертер все символы пишет исключительно в 2-байтовой кодировке. А вот PSP в память складывает узкие символы из 1-байтовой кодировки, а широкие символы оставляет те же 2-байтные.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
ErikPshat, да все так. Суть всей этой кутерьмы в том, что часть наиболее часто используемых символов слоговой азбуки в игровом скрипте заменили на однобайтовые, причем реализовано это на движке игры (в ps2 и ps3 версии этой игры все так же, и сам шрифт там другой) и они выводятся на экран в другом виде. Это помогает сэкономить несколько байт на каждой фразе (там кстати физический лимит поинтера 255 байт на каждую фразу). Если проводить аналогию на привычных вещах, то автоконвертер транслита на русский.. что-то в подобном духе.
Но я все-таки не уверен что это причина крэшей, т.к. русский текст все-таки отображается на экране как положено.. проблема только при попытке сейва происходит.
По сути, можно взять и нарисовать русские буковки на другое безопасное место shiftjis'а вместо ненужных символов.. но, опять же, все сводится к ковырянию PGF формата в попытаках найти таблицу длины и ширины каждого символа в пикселях.
riku.kh3, я думаю, что можно перевод сохранить в Win-1251 и шрифт использовать обычный свой или переименовать ltn0.pgf в jpn0.pgf. И должно всё выводится.
Думаю крэш в сохранении происходит не из-за шрифтов, т.к. скорее всего в перед и после текстовых диалогов должен стоять поинтер на то, что это именно текстовая секция. Поэтому не должна быть мешанина со служебным кодом.
Скорее всего присутствует баг в самом конвертере. Ведь программный код и текст находятся в одном файле. Если делать перевод и пытаться сохранить текст вместе с программным кодом в какой-либо кодировке, то конечно программный код тоже перекодируется в другую кодировку. Поэтому можно только конвертировать текстовую секцию, но программный код трогать нельзя.
А я чую, что там в тексте как раз присутствуют программные коды, например видел скобки {}, доллары $, буквы S, прямо посреди текста.
Дело в том, что даже если ты видишь на экране те же символы, то даже при перекодировке из shiftjis в тот же самый shiftjis, ты будешь на экране видеть всё те же символы. А на самом деле, в хексе, ты увидишь уже вместо программного кода уже другие цифры, хотя в текстовике для твоих глаз будут отображаться всё те же скобки {}, доллары $, буквы S.
Так что нужно проконтролировать этот момент.
Сообщение от ErikPshat
По сути, можно взять и нарисовать русские буковки на другое безопасное место shiftjis'а вместо ненужных символов.. но, опять же, все сводится к ковырянию PGF формата в попытаках найти таблицу длины и ширины каждого символа в пикселях.
Нет, длина и ширина находятся как раз в самом шрифте. Можно просто копирнуть весь русский алфавит вместо японского, который используется в игре по номерам 82A8 (Ё) по 82FF - этого диапазона хватит выше крыши для кириллицы. А я видел, что японский алфавит вообще уходит за пределы 9600.
И вообще можно удалить все остальные шрифты, тогда твой PGF будет весить всего 128 байт )))
А сейчас я смотрю твой шрифт, так он весит почти мегабайт, зачем столько всего в нём.
Сообщение от riku.kh3
RLPAKTOOL
В исходниках видел файл kanaconv.txt, так вот там и прописывается перенаправление шрифтов.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram