За три года единственная жалоба подобного рода. Очевидно, что это либо проблема с эмулятором (с vBag трудности уже возникали), либо с установкой патча.
Сверь контрольные суммы; убедись, что взят именно нужный РОМ; проверь на других эмуляторах.
Вот у тебя в шрифте есть буква 'A'. Её код в кодировке юникод равен 0x61. Берёшь элемент таблицы по индексу 0x61, и приравниваешь его номеру буквы 'A' в шрифте (допустим, 10).
Игра, видимо, использует эту таблицу, чтобы преобразовывать введённые имена в нормальную кодировку. Хотя, не уверен, может вообще никак её не использует.
А что тут непонятного? В данном случае и понятие кодировки условное - просто каждой букве соответствует её номер в шрифте.
Алгоритм таков: берёшь текст локации, извлекаешь оттуда набор используемых символов, создаёшь текстуру с этими символами и файл шрифта с информацией о них. Генерируешь файл текста, где каждый байт соответствует получившемуся номеру символа в шрифте.
А на их место можно русские буквы добавить например? Эта информация не используется игрой, но полезна для декодирования текста.
И еще, ты писал, что в каждом PCK файле (где содержатся сообщения)своя кодировка, можно ли ее заменить на одну, чтобы не править все? Это в корне неверный подход. Рассматривай эту кодировку как нечто, что возникает только при экспорте перевода в формат данных игры. Т.е. надо будет генерировать кодировку и полотно символов автоматически, исходя из текста.