Перейти к содержимому
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
      AV Director Life!

      Метки: Сексуальный контент, Нагота, Хентай, Симулятор, 3D Платформы: PC Разработчик: TeamKRAMA Издатель: Mango Party Дата выхода: 29 сентября 2025 года Отзывы Steam: 695 отзывов, 84% положительных

    • Автор: SerGEAnt
      Nexus 5X

      Метки: Настольная с полем, Стратегия, Настольная игра, Кооператив, Для нескольких игроков Платформы: PC Разработчик: Paradox Interactive Издатель: Paradox Interactive Дата выхода: 18 апреля 2024 года Отзывы Steam: 889 отзывов, 90% положительных

  • Сейчас популярно

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

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

    • Для информации пост Эксклюзивов из контакта: 
      Друзья, всем привет!
      Это небольшой чисто информационный пост, который давно назрел. 0) Мы как бы умерли, но не совсем)
      1) Lost Odyssey находится в работе, проект не заброшен, статус проекта на сайте актуален
      2) тестирование 4 диска полностью завершено
      3) сейчас идёт финальный этап правок в 4 диск (и все последующие)
      4) мы хотим всё закончить к новому году, и будем стараться это сделать
      5) новых проектов от нас не будет, после Lost Odyssey студия окончательно закроется   И последнее - мы очень благодарны, всем нашим подписчикам, за то, что проект не слит. Именно этот момент не даёт забить на всю эту историю. P.S. а теперь можно поныть в коментах, какие все переводчики пи..расы и как ахеренно живётся с нейропереводами))

      У меня как бы есть четкое мнение о их подходах к срокам и переводу, и что мешало хоть раз в полгода хоть что-то писать раньше, и мне жаль людей, купивших перевод ХХ лет назад и так и не окончивших игру. Но пусть каждый сам решает, кто тут пи..расы и ахеренно ли живётся с нейропереводами, выражаясь их языком 
    • Ремастер МЕ уже давно вышел. Legendary Edition называется
    • Русификатор v0.8.47
      +  Новый контент
      +  Новый текст
      +  Фиксы
    • истерию не просто так раскручивают, но когда в какой нибудь крупной игре появляется шесть пальцев, это ясно показывает кто ее делал, а появляется и значит, что логично ИИ они используют, причем самым ужасным способом, БЕЗ проверки. Так что истерия это даже смешно) Ведь за редким исключением она вполне по делу, опять же люди хотят сэкономить и только изредка некоторые с этим ПЕРЕБАРЩИВАЮТ. Потому что не важно каким способом сделан продукт, важно его финальное качество. А насчет того, какие задачи можно упростить, так это не генерация финального контента, это способ быстро размножить почти что угодно, накидать базовую форму кода, 3д модели и прочее прочее, быстро нарисовать концепт и даже подправить кое-что попиксельно, что у человека заняло бы уйму времени. Даже многие современные инструменты используют алгоритмы машинного обучения и пользователь инструмента об этом не в курсе. Так что ИИ это уже неизбежность, а вот его положительное влияние пока не видно, кроме того, что среди увеличившегося количества инди, иногда встречаются настоящие сокровища, как и раньше, но и число продуктов, которые надо перебрать тоже выросло.
    • Так может дело в ии истерии каторую раскручивают ? Поэтому то таких игр нет ибо постоянное нытье про недопустимость использование нейроники в играх постоянно слышна предлагают даже в стиме это все маркировать.
    • тут есть целых три варианта, виноват блоггер, прямо конкретный, проблема и правда есть и виноваты все остальные, что слушают непонятно кого, но в том же Стиме можно не играть, но нельзя не купить, с точки зрения маркетинга, это прямая выгода, которая, возможно, только на длительной перспективе может сделать плохо и то совсем необязательно. Более того какое это значение имеет для всех остальных, может если имеет то и в них проблема,?)) Вся объективность оценки складывается из оценок тех кому нравится и тех кому не нравится. Почему у какого нибудь Ведьмака, максимально популярного, на широкую аудиторию, а не нишевого имеется аж 90%+, почему ему то не помешали эти наплывы? А насчет цели заработать деньги, так мне без разницы, веришь или нет? И это логично, я смотрю на готовый продукт, мне не должно быть важно по каким причинам он меня НЕ устраивает. Сейчас с вводом ИИ можно автоматизировать часть процессов, можно сделать игру за те же деньги увеличив ЧИСЛО контента, с теми же вложениями, а не просто сэкономить и этого не происходит и не надо говорить мне про то, что никто им не пользуется. И что по итогу, игрок получил эти замечательные игры, где ИИ взял на себя некоторые промежуточные и рутинные процессы не повлияв на творчество? Нет, поэтому и мне, логично не должно быть дело, до тех причин почему этого не произошло или почему игра — полная ерунда. Но никто в здравом уме не будет низко оценивать действительно качественные игры, на них такого наплыва никогда не было и не будет. А вот ваша оценка, что забагованную хрень высоко оценили миллионы на этом фоне довольно субъективна. ВОЗМОЖНО, игрок не так глуп, как вам видится и та забагованная хрень сделана настолько малыми силами и по итогу гораздо интереснее крупной игры, что именно это и оценено по достоинству. 
    • это весьма условное сравнение, конечно ни кто не ставит их лоб в лоб, тут скорее два берега вновь уходим в нишевый продукт и финансы. если проект нишевый, то денег он много не принесет, то и финансировать его нет большого смысла. это замкнутый круг к сожалению нет, ну если ты прямо успел, и идея твоя не провальная, то откусить кусок пирога ты успеешь (а это главное) далее можно уже не переживать особо и ловить следующий тренд
    • Определенный смысл в этом есть. Но все же не стоит сравнивать ультра популярную трэшатину, цена которой 5 рублей в базарный день, и игры А+ класса. Да, игрок, как безликая масса, не знает чего хочет. Или знает, что хочет всего и сразу. Но в этой безликой массе всегда есть несколько групп игроков, которым интересно то или иное направление в играх. И добротно сделанный продукт они завсегда купят, обеспечив долю продаж. Издатель же должен оценивать рынок и определять рамки, а не тупо следовать за сиюминутными трендами. Поэтому, считаю, игрок тут виноват чуть меньше. Проблема только в том, что одна сторона четко персонифицирована - издатель и разработчик. А вот вторая размыта до невозможности понять - с кого спрашивать.
    • ага, и набегут те кто будет с пеной у рта на каждом углу орать — да игра же полное говно, и те кто играет — говноеды! масса подтянется и игра утонет в негативе, а ты будешь стоять и не понимать причин бурления, ведь эта масса даже не играла. просто послушала очередного блогера который на хайпе хоронит проект… открылся — выпустил игру — закрылся… заработать деньги, это ключевое в бизнесе, любом бизнесе. делать супер нишевый продукт можно, но там капец как много условностей. или ты просто одинокий воин, и сам что-то там клепаешь по тихой грусти, в надежде что денег хватит потом хотя бы на хлеб, даже без масла в любом случае, как не крути, виноваты обе стороны 
  • Изменения статусов

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


×