Сейчас на форуме: asfa, _MBK_, Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› смена кодидорвки
Посл.ответ Сообщение

Ранг: 10.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 февраля 2009 21:30 · Поправил: stlay
· Личное сообщение · #1

Здравствуйте, возникла следующая проблема. Есть файл с него запускается игра. Дак вот, в игре когда печатаешь в окно чата русские буквы отображаются бракозябрами. Как можно решить эту проблему?



Ранг: 8.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 15 февраля 2009 17:23
· Личное сообщение · #2

Заменить файл шрифта в ресурсах, на свой, или изменить ссылу на шрифт, но тот, который в системе установлен. Может быть еще одно решение проблемы : добавить к названию шрифта приставку Cyr, например, если где то в ресурсах шрифт называется как Arial, то пробуй сделать чтоб назывался ArialCyr. Такая штучка еще прокатывает в MacroMedia, когда нада отобразить русский текст, то в название шрифта добавить приставку, и все норм.

Пробуй, мож поможет



Ранг: 24.2 (новичок), 1thx
Активность: 0.030
Статус: Участник

Создано: 15 февраля 2009 22:18
· Личное сообщение · #3

Попробуй добавить в реестр этот регфайлик. Во многих случаях помогает.

d3d6_15.02.2009_CRACKLAB.rU.tgz - rus.rar




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 февраля 2009 22:48
· Личное сообщение · #4

ты бы выложил файлик... На Delphi наверное написан
если да, то я тебе его пропатчу

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 16 февраля 2009 07:53
· Личное сообщение · #5

Isaev Пропатчишь, и расскажи как это делается на пальцах




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 16 февраля 2009 11:35
· Личное сообщение · #6

Когда-то запарила проблемма этих кодовых страниц...
Примерно вот так:
Code:
  1. Function FixDefaultUserCodePageBug(Image:Pointer;Size:Integer;CodePage:Integer) :Boolean;
  2. Type
  3.   TRelMov=Packed Record
  4.     MovOp:Word;//mov [xxxxxxxx],xxxxxxxx
  5.     VarAddr:DWord;//DefaultUserCodePage
  6.     Value:DWord;//3
  7.   End;
  8.   TCode=Packed Record
  9.     CallOpA:Byte;//$E8
  10.     OffsetA:Integer;//GetThreadLocale
  11.     CallOpB:Byte;//$E8
  12.     OffsetB:Integer;//LCIDToCodePage
  13.     MovOp:Byte;//$A3
  14.     VarAddr:DWord;//DefaultUserCodePage
  15.   End;
  16.   TCodes=Packed Record
  17.     Jmp:Word;//jz +$2d ($2d74)
  18.     Code:Array[0..15] Of Byte;//GetVersion check
  19.     RelMov:TRelMov;//DefaultUserCodePage := 3
  20.     Jmp2:Word;//Short jump
  21.     Code1:TCode;//NT4
  22.     Jmp3:Word;//Short jump
  23.     Code2:TCode;//Win95/98/ME
  24.   End;
  25. Var
  26.   Code:^TCodes;
  27. Begin
  28.   Result:=False;
  29.   Code:=Image;
  30.   While Size>SizeOf(TCodes) Do
  31.     Begin
  32.       With Code^ Do
  33.         If (Jmp=$2D74) And (RelMov.MovOp=$05C7) And (RelMov.Value=3)
  34.             And (Code1.CallOpA=$E8) And (Code1.CallOpB=$E8) And (Code1.MovOp=$A3)
  35.             And (Code2.CallOpA=$E8) And (Code2.CallOpB=$E8) And (Code2.MovOp=$A3)
  36.             And (Code1.OffsetA-Code1.OffsetB=Code2.OffsetA-Code2.OffsetB)
  37.             And (Code1.VarAddr=Code2.VarAddr) And (Code1.VarAddr=RelMov.VarAddr) Then
  38.           Begin
  39.             RelMov.Value:=CodePage;
  40.             Jmp:=$EB12;
  41.             Result:=True;
  42.             Break;
  43.           End;
  44.       Inc(PByte(Code));
  45.       Dec(Size);
  46.     End;
  47. End;


-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



 eXeL@B —› Вопросы новичков —› смена кодидорвки
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати