Перейти к содержимому
Zone of Games Forum
[Silent Man]

From Dust

Рекомендованные сообщения

Сегодня я исследовал формат файлов *.oli, в них хранится весь текст. Он оказался тоже не простым.

Вот скрин с описанием того, что мне удалось выяснить:

olizia.th.png

Тут нужно писать отдельную утилиту, которая будет извлекать и записывать в них данные.

Поделиться сообщением


Ссылка на сообщение
Сегодня я исследовал формат файлов *.oli, в них хранится весь текст. Он оказался тоже не простым.

Вот скрин с описанием того, что мне удалось выяснить:

olizia.th.png

Тут нужно писать отдельную утилиту, которая будет извлекать и записывать в них данные.

одно слово или фраза из игры один файл *.oli на разных языках.

Поделиться сообщением


Ссылка на сообщение

да да, очень извращённо. :mad:

Ещё замечания: После каждого текстового фрагмента 12 байт нулей.

AutoIt понимает этот текст только в кодировке UTF16 Little Endian, а Акельпад в UTF16 Big Endian

не знаю кому верить))

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Если я не ошибаюсь в игре есть русский шрифт.не все буквы я, э, Э, P, p, Х, х, ю, Ю отсуствуют

Поделиться сообщением


Ссылка на сообщение

Я пробывал забивать русский текст через HEX редактор (перевёл один из пункутов меню) строка тупо не отображалась. Хотя может я что-то напутал с кодировками.

Набросал скриптик, которым буду обрабатывать OLI файлы (это только набросок, потом будет массово)

$sScriptName = "From Dust OLI exporter v.0.1" ; имя программы$sOliFilePath = FileOpenDialog ( "Select *.oli archive", @ScriptDir, "From Dust(*.oli)", 1); выбираем файл *.oliIf $sOliFilePath = "" Then Exit ; если ничего не выбрали, выход$hOLIfile = FileOpen ($sOliFilePath, 0+16) ;открываем файл в режиме чтения+бинарный$bOLIfile = FileRead ($hOLIfile)$iNameLen = Dec (Hex (_Rotate(Binarymid ($bOLIfile, 38, 4)), 4))$sOliName = BinaryToString (Binarymid ($bOLIfile, 42, $iNameLen-2), 2); преобразуем бинарные данные в строку. UTF16 Little Endian$iTextLen = Dec (Hex (_Rotate(Binarymid ($bOLIfile, 42+$iNameLen+2, 4)), 4))$sOliText = BinaryToString (Binarymid ($bOLIfile, 42+$iNameLen+6, $iTextLen-2), 2)ClipPut ("["&$sOliName&"]"&@CRLF&$sOliText); копируем результат в буфер обменаMsgBox (0, $sScriptName, "["&$sOliName&"]"&@CRLF&$sOliText); функция переворачивания байтFunc _Rotate($bBytesToRotate)If IsBinary ($bBytesToRotate) = 0 Then Return "" ; если переданные данные не являются бинарными, возвращаем из функции пустоту$iBytes = BinaryLen ($bBytesToRotate) ; определяем количество байт$bRotatedBytes = Binary ("") ; объявляем переменную, в которой будет перевёрнутое значение и указываем, что она для хранения бинарных данныхFor $i = $iBytes To 1 Step -1 ; крутим цикл от максимального значения до 1$bRotatedBytes &= BinaryMid ($bBytesToRotate, $i, 1); выбираем по 1 байту с конца и объединяем с содержимым объявленной переменнойNext   Return $bRotatedBytes ; возвращаем перевёрнутый результат из функцииEndFunc ;==>_Rotate

 

Текст буду собирать в один файл, маркируя к какому файлу он относится. Пример:

[006_Dustpedia_Map_7_0000241]

The Ancients set foot on a strange land, which rose and fell with a gentle tide. The presence of the trees of water and trees of fire frightened the Ancients, who had already suffered from their clash. A man then noticed that a tree of fire and one of water had become intertwined.The fire of the first nourished the water of the second, from which vegetation grew. When the Ancients understood that the two breaths would oppose each other or join forces depending on the circumstances, they pursued their journey.

On this territory, you can form a long serpent of jellified water to grow vegetation on. The vegetation will spread along the water until it begins to flow again, when the effect of the power wears off.

Поделиться сообщением


Ссылка на сообщение

Ну вроде готово. Массовый экспортер текста из OLI файлов: OLI_text_export.rar

Oli файлов том больше тысячи...

Выходной файл я сделал в кодировке UTF-8, так как вдруг придётся заливать на нотабиноид.

Встречаются какие-то непонятные символы, например в файле 006_Promo_Line2_Text_0001500.oli строка начинается с символа 0x2220, потом два пробела 0x2000 0x2000.

Что за символ?

Ну и собственно сам английский текст: Gen_Common.lin.bf.rar

з.ы.

И ещё небольшой прогресс: Мне удалось вручную запихать текст в архив без ограничение на длинну строки. Теперь нужно писать скрипт-патчер

fromdust201108231537028.th.png

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Интересно!

Будем ждать патчер и шрифты.

ОЛЕГатор - молодец :victory:

Поделиться сообщением


Ссылка на сообщение

Небольшая инструкция как добавить текст вручную на примере [1891]000_Main_Menu_Play_Text_0000252.oli:

Открываем *.oli файл в HEX редакторе, Сверяясь по описанию находим первую строку с текстом (первый у нас английский, строка Play) и его длинну 0A 00 00 00, переворачиваем её 00 00 00 0A и переводим в десятичную систему 10 (можно использовать калькулятор Windows). Итого строка Play занимает 10 байт (на самом деле 8, последние 2 байта нули) по 2 байта на каждый символ. Теперь например откроем Akelpad напишем новый текст и сохраним его в кодировке UTF16 Little Endian (это значит старший байт будет первый из двух). Теперь открываем этот текстовый файлик в HEX редакторе и считаем сколько байт он занимает (Если вы сохраняли с BOM, то первые 2 байта это маркер кодировки и его не трогаем). Зная сколько было байт (8, последние нули не считаем) и сколько стало, расчитываем сколько лишних байт добивится в OLI файл. В HEX редакторе встаём на конец строки и зажимаем правой кнопкой Insert и добавляем нужное количество байт, заполняем их нужными значениями, помня о том, что последняя пара нули + расстояние до следующей строки 12 байт нулей. Теперь прибавляем количество к значениям размера блака данных (который идёт в самом начале и повторяется 2 раза) и к размеру всего файла, также перевернув, преобразовав в десятичну и потом результат в обратной последовательности.

Геморно, но я работаю над инструментом.

Теперь нужно всё это дело прикрепить к архиву BF. Открываем в его в HEX редакторе, двираемся в конец файла и правой кнопкой Insert и добавляем нужное количество байт равное размеру файлу (ПКМ => свойства на oli файле, который изменили) и заполняем эти байты данными из файла. Запоминаем смещение, с которого начинается этот блок данных. Идём в самое начало архива, поиском находим текст 000_Main_Menu_Play_Text_0000252.oli в шапке и по описанию формата находим размер (2 раза) и смещение, меняем их на наши учитывая, что они перевёрнуты.

Всё!

Тоже геморно, но я работаю над этим.

з.ы.

Этим методом вчера пытался всунуть TGA шрифт (предварительно изуродовав пару букв), чтобы идентифицировать какой куда относится - Так и не обнаружил никаких изменений во внешнем виде шрифта, перебрав все толстые. Вероятно он не в TGA?

--------------------------------

Нашёл пару ошибок в распаковщике *.BF архивов. Исправленная версия анпакера: FromDust_BF_unpacker_fixed.rar

Исправления:

- устранена причина некорректного определения количества файлов в архиве

- исправлена ошибка с преобразованием HEX

- добавлена нумерация файлов в квадратных скобках, решает проблему перезаписи дублей (дубли оказались не совсмем дублями, имена одинаковые, а содержимое разное)

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

 

OLEGator84 Молодец =) Щас пока некогда игрой заниматься. если сильно не спешите, помогу чем смогу =)

Поделиться сообщением


Ссылка на сообщение

Не помешает помощь в написании упаковщика в BF и необходимо разобраться со шрифтами. Я не смог выявить какие файлы к ним относятся. Имеющиеся TGA текстуры я менял, но результата нет.

В данный момент я работаю над редактором OLI

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

OLEGator84

Не смотрел еще что где находится, может из других файлов, а может и системные шрифты используются.

Напиши в личку аську. Так удобнее будет скоординироваться по наличию свободного времени.

Насчет текста, в игре его много? По объему в страницах =) Я просто в игру толком еще не играл.

Поделиться сообщением


Ссылка на сообщение

ого, ну вы работу проводите, жаль я помочь не смогу, не разбираюсь в этом =(

Поделиться сообщением


Ссылка на сообщение

текста 123.6 КБ в текстовом файле формата UTF-8 (это с именами файлов внутри, а зачастую имя файла больше самого текста)

Текст я выкладывал выше.

Поделиться сообщением


Ссылка на сообщение

шрифты находятся в файла расширением ffd русская буква {А} код 0С0Н буква {Я}-0DFH

Изменено пользователем BumB_32

Поделиться сообщением


Ссылка на сообщение

ммм... интересно!

Это значит нам не нужно их править и русские буквы все внутри?

Только мне не понятно что это: 0С0Н, 0DFH ? Что означает символ H?

В кодировке UTF-16 LE: А - 1004, Я - 2F04 не отображаются в игре.

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: SerGEAnt
      No Results Found

      Метки: Расследования, Исследования, Выбери себе приключение, Иммерсивный симулятор, Криминал Платформы: PC Разработчик: Zzangdol Games Издатель: Jungle Game Lab Дата выхода: 14 августа 2026 года Отзывы Steam: 3168 отзывов, 95% положительных
    • Автор: SerGEAnt
      Bratz: Flaunt your fashion

      Метки: Кастомизация персонажа, Казуальная игра, Для всей семьи, Душевная, Исследования Платформы: PC Разработчик: Petoons Studio Издатель: Outright Games Дата выхода: 4 ноября 2022 года Отзывы Steam: 445 отзывов, 77% положительных

  • Продвигаемые темы

  • Последние сообщения

    • Если б было так то, я даже не заикнулся бы. Ну и я всё таки не оцениваю озвучку, а выражаю ощущения.
    • сделал чистую игру, попытался поставить русификатор, но как и в 1 попытку он не сработал даже (хотя что-то оно там патчило). Жду помощи
    • Всем привет! Пока тема стояла, на GitHub появился русификатор от eSave — esave007/OrwellRU. Его переведённый текст я взял за основу и довёл русификатор до приличного вида, а заодно перевёл всё, что оставалось на английском. Что сделано поверх перевода eSave: Шрифты. Во всех шрифтах игры (интерфейс и сайты) теперь нормальная кириллица. Раньше русские буквы брались из запасного шрифта и выглядели пиксельными, «прыгали» по высоте. Непереведённое. Доперевёл недостающие места: ответы теста, профили, документы, чаты, закладки и т. д. Единые названия мест, организаций и приложений во всех текстах, исправлен род в репликах. Вёрстка. Русский текст длиннее английского, поэтому тексты подогнаны под свободное место, статьи больше не обрезаются, подсветка фрагментов данных стоит на нужных словах. Даты и время по-русски: «13 апреля 2017», 24-часовой формат. Пришлось поправить код игры, так что старт дня и сохранения работают как прежде. Интро-ролик с русскими субтитрами и надписями, тайминги субтитров подкастов исправлены. Надписи на картинках: логотипы сайтов, герб, рекламные баннеры, афиша, карты, вывески — в стиле оригинала. Это по желанию, установщик спрашивает, ставить ли их. Установщик сам находит игру, делает резервную копию оригинальных файлов и всё восстанавливает при удалении. Скачать: https://github.com/StimDesu/OrwellRU/releases Важно: Русификатор только для Steam-версии (сборка 1.1.9207.35014). GOG-версия — другая сборка с другими файлами, на неё установщик не ставится. Чтобы сделать версию для GOG, мне нужна актуальная GOG-сборка игры. Если кому-то нужен русификатор под GOG и вы можете её предоставить — напишите. Про тестирование: игра пройдена целиком по одной ветке решений, это примерно 99% контента. Всё, что попадалось по пути, исправлено, так что больших косяков быть не должно. Но другие ветки вживую не проверены, поэтому прошу поиграть и потестировать. Если найдёте ошибку — непереведённый текст, наложение, вылет, кривую фразу — пишите сюда или в Issues на GitHub. Укажите, в каком месте игры это было (эпизод, сайт, документ), и по возможности приложите скриншот. Честно скажу: я не программист, техническую часть делал с помощью ИИ-ассистента, а результат проверял глазами в игре. Весь код открыт в репозитории. Спасибо eSave за перевод, а всем в теме — за интерес к игре. Приятной игры!

         
    • процентов 10,а то и меньше  ,нормально слушается\играется …  ребята молодцы ... а ,ну тогда понятна ,годика 2 назад бы начал ... так в тот момент и сабы на аглицком ,а это косяк уже родной … 
    • Хз… если это одна из “лучших ИИ озвучек” то, какие же тогда остальные? Мне не с чем сравнивать — с нейроозвучкой играл впервые. По ощущениям 30% реплик озвучены криво, т.е. каждая 3-я реплика (а то и чаще) с косяками — ударения, акцент, ускорения и т.д. Версия “цензуренная” — в оригинале есть матюки. Встречаются неозвученные и непереведённые реплики и переведённые но не озвученные. Игра проходилась с версией озвучки v1.2
    • кстати все сделал строго по гайду, но впервый раз не пропатчило ( возможно из-за докачки драйвера который требовался, тоже кстати такие приколы впервые вижу ). По времени лично у меня патчилось 1-2 минуты. Из того что переведено, такое ощущение что буквально нечего (главное меню + какие то крупицы в лобби, а именно элемент практика в меню выбора миссий, который при наводке имеет анимацию, но старый статичный текст остается на месте и там каша) возможно не так пропатчил, хотя вроде все делал по гайду строго. СО 2 ПОПЫТКИ, Я ПЫТАЛСЯ ЧЕСН
      upd: после этого по отдельности попытался включить каждый батник, а после еще раз на всякий бат файл который указан как фулл, но не помогло, попытаюсь на чистую игру еще раз все накатить




    • Осталось хренову кучу описаний, кнопок и внутренних диалогов перевести (а, еще игра не дружит частично с большими кириллическими символами у которых есть англоязычный вариант — хотя уже и подмену шрифтов сделал внутри игры, чтобы убрать все шрифты без поддержки кириллицы)  — часов на 5 еще работы…
      И будет полноценная версия 1.0   
    • ку, не мог бы ты сделать более удобный патч (много не понятных для чего файлов) + быстрее чтобы было (ибо ну какие 10-20 мин, я впервые такое вижу). И когда планируешь ДЛС перевести?
    • Решил я пройти что то из метрошек  и зацепился глаз за  https://store.steampowered.com/app/1189780/Wallachia_Reign_of_Dracula/ Как потом оказалось, тегги обманули, и это больше смесь кастелвания (сеттинг) и контры (сложность), но игра прям прикольная, и рисовка, и музон. И опу на харде надирает похлеще опного рыцаря
  • Изменения статусов

    • goosemose  »  Orionus

      Здраствуйте
      Хотел спросить за руссификатор для Dragon Quest 3, есть ли бесплатный для пк? Или только платный недавно купил ее в стиме, думал что на пк есть руссификатор, уже некоторое время ищу и нахожу либу пустые файлы либо платные, хотя по коментариям вроде видно что был на пк бесплатный перевод.
      Подскажите пожалуйста.
       
      · 0 ответов
    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
  • Лучшие авторы


×