Перейти к содержимому
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% положительных

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

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

    • Завершён сбор средств на перевод Valkyrie Profile: Lenneth (PSP)
      Наше сообщество в VK: https://vk.ru/temple_of_tales_translations
      Страница проекта: https://temple-tales.ru/translations_vp1_psp.html Сбор средств на локализацию первой части серии Valkyrie Profile завершён! Низкий поклон тем, кто вложился в этот проект. Все, кто поддержал наше общее дело, в любой момент могут попросить текущую сборку, если, конечно, не терпится поиграть. Но мы советуем подождать версию 1.00, ведь тестирование этой игры у нас скоро закончится. Так как сборы на VP1 уже завершены, то на следующей неделе мы анонсируем два новых проекта, которые уже находятся в работе, и откроем новые сборы. На текущий момент перевод и редактирование всех текстов игры завершены на 100%! А ещё перерисованы практически все текстуры. Тестирование мы начали в конце лета этого года, и игру уже можно комфортно пройти. Если вы желаете поиграть в текущую версию, то доступ открыт тем, кто вкладывался в проект, а также всем подписчикам в VK Donut и Boosty. Мы запланировали выпустить Дело валькирии примерно в декабре этого года или январе 2027, но финальная версия будет доступна сразу только тем, кто поддержал проект. С этого момента почти все наши новые релизы будут выходить в открытый доступ с задержкой примерно в 1-2 года. Это означает, что нашу локализацию Valkyrie Profile: Lenneth мы выпустим в общий доступ примерно в 2028 году. Если кто-то пожелает получить перевод раньше, то он будет доступен только за минимальную сумму — 1000 р. Данное условие распространяется и на все остальные переводы. Эти средства пойдут в счёт сборов на следующие два проекта. Для получения перевода вы можете обратиться в личные сообщения к администратору нашего сообщества:
      VK > https://vk.ru/evil_finalist
      Telegram > @Evil_Finalist
      Discord > evilfinalist
      ----------------------------------------------------------------------------------
      Сбор средств на оплату услуг программиста и переводчика
      Valkyrie Profile: Lenneth завершён.
      Начало сборов: 24 октября 2023
      Конец сборов: 23 сентября 2026
      Общее время: ~2 года 11 месяцев

      Собрано: 200 553,46 / 200 000
      последнее обновление от 23.09.2026 Карта ВТБ: 4272 2908 4659 1246
      ЮMoney/Яндекс кошелёк: 410011235819402
      Донат через CloudTips: https://pay.cloudtips.ru/p/01f57b38
    • К сожалению то что я успел поправить, весьма мало, я бы хотел закончить и выпустить максимально приближеную к идеалу версию, чтобы в будущем тратить минимум времени. Но всё как раз упирается во время, сейчас у меня его критически мало, но я потихоньку доделываю.
    • Воин+яд. Это имба, не знаю, почему никто не шарит. Бафы на урон ядом и кровотечением (по ветке яд на 1 цель) накладываются на массовые удары воина, как итог — массовое поражение ядом и кровотечением, один массовый удар и толпа врагов ложится. И я про оффлайн игру, может тут обсуждение онлайновой — не знаю. 
      Нашла эту комбинацию после опыта в другой mmorpg, когда стала видеть больше возможностей и лазеек)
    • Сделал русификатор для Демо-версии игры. Так что кто хочет попробовать игру перед покупкой может взять его в руководстве Steam
    • @typo0ra  День добрый. У вас пиратская или Стим-версия игры? Я проверял работоспособность русификатора только на Стим-версии, поэтому гарантировать его корректную работу на пиратской версии не могу. Что касается патчера, постараюсь максимально оперативно исправить все проблемы и сделать процесс установки более удобным и понятным. К переводу DLC приступлю уже после того, как полностью закончу перевод основной игры, поскольку там ещё осталось довольно много работы. Сам перевод, по сути, — чистой воды ИИ-слоп, который я пытаюсь более-менее довести до ума, исправляя ошибки и контролируя качество. Сейчас работаю над переводом описаний лодаутов, каталога и доски. Планирую выпустить обновление ближе к концу недели. Текущую версию перевода пока можно назвать лишь альфой. Выпустил я её так рано по одной простой причине — сам не люблю долго ждать, поэтому решил дать возможность другим поиграть на русском уже сейчас. 

      P.S. Можете скинуть скриншоты, что у вас за проблемы ? Попытаюсь их решить. 
    • INAZUMA ELEVEN: Victory Road Дата выхода: 13 ноября 2025
      Разработчик: Level-5
      Издатель: Level-5
      Жанр: Спортивные, RPG
      Платформы: PC, PS5, PS4, SW, iOS, Android https://store.steampowered.com/app/2799860/INAZUMA_ELEVEN_Victory_Road/ "INAZUMA ELEVEN: Victory Road" — футбольная RPG, разработанная LEVEL5 Inc., которая сочетает в себе спортивный экшен и ролевые элементы. Действие игры разворачивается спустя 25 лет после событий оригинальной части, а сюжет повествует о Дестине Биллоусе, который, по иронии судьбы, поступает в среднюю школу Саут Сиррус, стремясь жить в мире без футбола, но сталкивается с Харпером Эвансом, восходящей "Футбольной Машиной" из престижной средней школы Раймон. В игре представлен впечатляющий ростер из более чем 5400 коллекционных персонажей из предыдущих частей серии, которых вы можете тренировать и собирать в команду своей мечты. Может кто, у кого времени свободного с избытком, возьмётся. Инструменты есть на github, кириллица в шрифте есть, но нужно править кернинг.  
    • https://store.steampowered.com/app/3479420/Okko_The_Exiled/ Игра для тех, кто заскучал по хорни метрошкам.
    • Если б было так то, я даже не заикнулся бы. Ну и я всё таки не оцениваю озвучку, а выражаю ощущения.
    • сделал чистую игру, попытался поставить русификатор, но как и в 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 за перевод, а всем в теме — за интерес к игре. Приятной игры!

         
  • Изменения статусов

    • 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 ответов
  • Лучшие авторы


×