Перевод от DarkFate для NewDark 1.19+

Автор DonSleza4e, 23 декабря 2012 21:35:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

DonSleza4e

с книгами исправлено, сделал малюеськую утилитку, которая вырезает эти символы во всех книжках

DonSleza4e

#46
В общем стало ясно что будет из себя представлять русик )

В папке RUS будут лежать все русифицированные файлы, в папках russian вместо english
В папке RUSPATCH будут лежать русифицированные файлы Thief 1 для патча 1.19
В папке ENGPATCH будут лежать оригинальные файлы для патча 1.19 (для запуска англ. версии игры)
Задание языка и папок будет не через INSTALL.CFG, а через USER.CFG - TFix не убьет русик, если будет установлен после него.
TFix и русификатор можно будет ставить в любой последовательности
Если во время установки будут найдены файлы конфигурации 1.19/DDFix, то они не будут перезаписываться (чтобы не убивать ранее выполненную кастомизацию)

Нужно подумать еще на счет программы, которая будет модифицировать USER.CFG в зависимости от выбранной запускаемого варианта игры
А то поставлять тонну конфигов не очень удобно
видимо придется вспоминать delphi...

Hromis

Хорошая новость :yay: жду с нетерпением.

DJ Riff

#48
Цитата: DonSleza4e от 27 декабря 2012 20:43:35
Нужно подумать еще на счет программы, которая будет модифицировать USER.CFG в зависимости от выбранной запускаемого варианта игры
А то поставлять тонну конфигов не очень удобно
видимо придется вспоминать delphi...

Вот функция из Тафферпатча, написана на Object Pascal, так что большая её часть должна прижиться в Дельфи. В принципе, она адаптирована для записи набора путей в строки типа mod_path или resname_base, но может использоваться и для записи любых переменных (например, я её также использую для включения тумана "fogging 1" в cam.cfg).
//This function writes any "+" separated string to the specified file.
//Can be used to modify cam_mod.ini.
function WriteCfgPath(Filename: string; Header: string; Data: TStrings; UseAbsolute: boolean): boolean;
var
i: integer;
s, filepath: string;
DataStrings: TStrings;
CfgFile: TArrayOfString;
begin
  result:= false;
  DataStrings:= TStringList.Create;
  filepath:= RemoveBackSlashUnlessRoot(ExtractFilePath(Filename));
  try
    DataStrings.AddStrings(Data);
    for i:= 0 to DataStrings.Count - 1 do begin
      //Make relative paths
      if not UseAbsolute then
        if Pos(AnsiLowercase(filepath), AnsiLowercase(DataStrings.Strings[i])) > 0 then
          DataStrings.Strings[i]:= '.\' + ExtractRelativePath(AddBackSlash(filepath), DataStrings.Strings[i]);
      DataStrings.Strings[i]:= RemoveBackSlashUnlessRoot(DataStrings.Strings[i]);
      if DataStrings.Strings[i] = '' then
        DataStrings.Delete(i);
    end;
    //Merge strings
    s:= Trim(DataStrings.Text);
    StringChangeEx(s, #13#10, '+', true);
    //Writing to the file
    LoadStringsFromFile(Filename, CfgFile);
    for i:= 0 to (GetArrayLength(CfgFile) - 1) do
      if Pos(Header, CfgFile[i]) = 1 then begin
        if Length(s) > 0 then
          CfgFile[i]:= Header + ' ' + s
        else
          DeleteArrayString(CfgFile, i);
        break;
      end
      else
        if (i = (GetArrayLength(CfgFile) - 1)) and (Length(s) > 0) then begin
          SetArrayLength(CfgFile, GetArrayLength(CfgFile) + 1);
          CfgFile[GetArrayLength(CfgFile) - 1]:= Header + ' ' + s;
        end;
    result:= SaveStringsToFile(Filename, CfgFile, false);
  finally
    DataStrings.Free;
    SetArrayLength(CfgFile, 0);
  end;
  if result then
    Log(Format('Succesfully saved entry %s to file %s', [Header, Filename]));
end;


В полноценном Дельфи она должна будет выглядеть ещё проще, т.к. можно использовать TStrings.DelimitedText вместо ручной замены на "+", да и работа с файлами там поудобнее.
Тьма тоже распространяется со скоростью света.

DonSleza4e

пасиб, я вчера уже написал небольшую утилиту) Исходники будут в комплекте, если кто-то захочет перекомпилировать
В параметры хранятся в ini файле, так что если желании всегда можно скорректировать что именно меняется

DonSleza4e

у кого есть возможность, гляньте новую версию - ссылка
очень много чего переработано

распаковать в папку с Thief Gold, запустить installrus.bat
после этого или можно запускать игру с Thief.exe(будет запущена русская версия под 1.19), или через TGLoader.exe (где можно указывать желаемую версию для запуска)

Hromis

#51
1-ый вариант теста: gog - русик - tfix
- подмены файлов не было (все чисто встало)
- запустил installrus.bat - запустил игру с Thief.exe
- intro работает с сабами (шрифт четкий), вступительный ролик работает с сабами (шрифт четкий), текст задания на рус.   работает, карта на рус. (четкий текст).
- проблема с  детализацией подставки фонарного столба и дверей исчезла!
- но вот озвучка у меня была на анг.  для проверки кинул свой файл snd.crf в папку res с заменой появилась рус. озвучка.
Завтра более детально потестирую - поиграю.

DonSleza4e

если в папку RES_RUSSIAN кинуть папку snd или файл snd.crf, то звуки из него будут проигрываться вне зависимости от того, лежат там ресурсы в папках english или russian

DonSleza4e

убрал пока файл, выпиливаю жучков

DonSleza4e

непонятно
на одном компе c user.cfg берется язык игры и приоритеты ресурсов
на другом - не берется  :\

DJ Riff

При запуске батников с повышенными правами админа на Win7, рабочим каталогом устанавливается системная папка System32 — может, в этом проблема?
Тьма тоже распространяется со скоростью света.

DonSleza4e

разобрался, баг связан с поддержкой субтитров в 1.19 http://darkfate.org/forum/index.php?topic=4201.msg161456#msg161456
из-за этого чтение настроек прерывалось

DonSleza4e

Цитата: DJ Riff от 29 декабря 2012 14:29:25
При запуске батников с повышенными правами админа на Win7, рабочим каталогом устанавливается системная папка System32 — может, в этом проблема?

пасиб кстати за наводку на очередную проблему
погуглил, спасает команда

pushd %~dp0

возвращает в текущую папку

DonSleza4e

#58
Так, ну вроде все
Опять таки, пока версия в архиве ссылка (напомню, это для Thief Gold!)

после распаковки в папку с игрой запустить installrus.bat

дальше игру запустить через TGLoader.exe. Хотя можно и через Thief.exe напрямую, но не будет зарегистрирован шрифт

Известная проблема - если установлен Tfix, то при запуске вариации FM миссия + 1.19 патч будет скакать лого игры. Потому что в папке patch поставляется целая коллекция анимированных картинок для англ. версии, и это затрагивает нашу


Если не будет каких-то замечаний, соберу в exe файл и выпущу как 1.2 версию русика
з.ы. Картелон отлично выглядит в субтитрах видео  :yay:

Hromis

а чтоб переключить на анг. версию можно через installrus.bat тоже?
нада потестить TGLoader.exe а то у меня не охотно варьировался. а как посоветуешь сперва ставить русик или тфикс?