#6
Вот, собственно, один из вариантов, как заставить там работать русский текст (опять же, не тестировал и не гарантирую, просто накидал исходя из находок в иной версии rUGP).
1. Создать костыльный шрифт, в котором каждому русскому символу будет поставлен либо символ половинной каны (и неиспользуемые символы, такие как "]"), либо латиница + неиспользуемые символы вроде "[". Приведу пример, дабы было понятнее. Допустим, у символа "t" могла бы быть картинка символа "т", так что при выводе "t" выводилась бы "т".
Делаться такой шрифт может на основе того же японского варианта MS Gothic (MS ゴシック).
Копироваться сами глифы должны из сравнительно узкого моноширинника (во избежание ряда проблем). Допустим, из Ubuntu Mono.
Название его должно быть желательно небольшим, допустим "MLFont".
2. Надо написать преобразователь исходных строк в "новые" строки, при записи которых в скрипт в игре будут выводиться исходные. Т.е., допустим, "абв" преобразовывается в "abc", которые в игре отображаются как "абв" благодаря костыльному шрифту.
3. Далее нужно найти в .exe-шнике и архивах с помощью HEX-редактора строки вроде "MS ゴシック" (82 6C 82 72 20 83 53 83 56 83 62 83 4E), "MS Pゴシック" (82 6C 82 72 20 82 6F 83 53 83 56 83 62 83 4E) и "MS 明朝" (82 6C 82 72 20 96 BE 82 A9). Эти строки надо заменить на, допустим, MLFont, который у пользователя должен быть уже установлен. Но надо сохранить длину, так что байты, оставшиеся от старой строки, надо менять на 00. Т.е., например, в случае "MS 明朝": "82 6C 82 72 20 96 BE 82 A9" меняется на "4D 4C 46 6F 6E 74 00 00 00".
А вот сейчас начнётся несколько более сложное...
4. Ежели строки были не только в .exe-шнике, но и архивах rio, причём после замены игра стала ломаться, дело сквернее. Однако решение есть.
Надо найти, какой именно в игре используется шрифт или какие из них. Далее надо создать клоны шрифта MLFont, такие, что их названия в кодировке Shift-JIS имеет столько же байтов, сколько используемые шрифты. Допустим, в случае MS Pゴシック то будет MLFont000000000.
И уже потом менять используемые оригинальные шрифты на соответствующие им (по числу байтов названия в кодировке Shift-JIS).
Тогда игра не должна более ломаться, ежели сделали правильно (и нет дополнительной проверки контрольной суммы).
=====
Опять же, сие одно из возможных решений, что может работать, а может и нет. Но сие, вероятно, самый простой метод в случае rUGP.
Сообщение отредактировал Tester - Вторник, 04/Май/2021, 22:46
Тестировать, тестировать и ещё раз тестировать.