Каракули получаются потому, что твои русские буквы отображаются родными шрифтами, эти буквы не понимающими. Стопроцентной рекомендации дать нельзя, но кое-что посоветовать можно.
1. Если игра использует в графической моде стандартные системные ДОС-шрифты, проблему можно решить установкой ДОС-русификатора KEYRUS (он выложен на этом сайте). Причем в его настройках нужно ставить ПОЛНУЮ русификацию, и в текстовом и в графическом режимах с загрузкой полной кодовой таблицы. Все эти параметры устанавливаются в модуле настройки драйвера, там все просто и наглядно.
2. Если игра использует свои шрифты - тут будет посложнее... Они могут быть или внедрены в тело екзешника, или находиться отдельно в каталоге игры. Такие файлы в имени или раширении, как правило, имеют намек на "font", т.е. "шрифт" (что-нибуль вроде main.fnt, message.fon, fonts.res и т.д.) Тут нужно разобраться в формате этих файлов и рихтовать их вручную. В случае внедренных шрифтов - еще неприятнее: нужно попытаться найти в екзешнике место, где этот шрифт прописан и ручками (двоичным редактором) его по месту рихтовать...
3. Часто в играх шрифты хранятся в ресурсных библиотеках, вместе с картинками, курсорами, спрайтами и т.д. Например у старых сьерровских квестов эти библиотеки имеют название *.VOL, у более поздних - RESOURCE.*... Нужно научиться вскрывать эти библиотеки, модифицировать нужные модули и собирать их обратно...
Форматы шрифтов могут быть самыми разными... Например, стандартный ДОСовский шрифт - просто двоичный массив, где 1 обозначает черную точку, 0 - точку фона... Такие шрифты хорошо редактируются редактором EVAFONT. Есть еще BGI шрифты - от Борланда... Делались для Турбо Паскаля, Турбо С и прочего. Эти шрифты векторные, но для них тоже есть свои редакторы... Очень часто в играх шрифт - просто картинка, на которой выписаны все буквы. Программа выбирает нужный клип и вставлает его в сообщение. Такие "шрифты" рихтуются обычным графическим редактором.
java@oceangt.com