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

From Dust

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

общем Афторы геморойщики ещё те...

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

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

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


Ссылка на сообщение
Всё проблема найдена! Это не то, что я думал. Самый большой файл внутри 81,4 МБ и нормально читается в память целиком. Проблема была в дурном формате архива. Я доверился информации из заголовка, где указано одно количество файлов, а на деле их было меньше.

Вобщем вот инструмент: FromDust_BF_unpacker.rar, тестируйте (распаковывать нужно файл Gen_Common.lin.bf).

текст хранится в файлах с расширением *.oli, их очень много, а текста в каждом мало. Открывается AkelPad'ом с кодировкой UTF-16 (BE), но в этих файлах ещё присутствует какойто свой заголовок.

Шрифты в виде текстур *.tga и файлы с расширением *.ffd. Эти FFD похожи на обычные файлы шрифтов типа FNT и TTF, но возможно со своим хитрым заголовком.

Вобщем Афторы геморойщики ещё те...

'

з.ы.

Кстати просматривая в HEX редакторе этот большой файл Gen_Common.lin.bf я обнаружил, что некоторые имена файлов повторяются по нескольку раз (типа дубликаты). В анпакере я это не учитывал и они будут перезаписываться.

А по поводу упаковки обратно есть только одна идея: Дописывать все изменённые файлы в конец большого архива и потом только поменять указатель и размер на них в заголовке архива.

Во-первых, что за скрипты такие интересные и почему нельзя нормально на С++ или, хотя бы, Паскале писать.

Во-вторых, не мучай оперативу такими ахтунгами char[0x8000] и сверяясь с размером, потихому всё вынимаешь.

В-третьих, когда пишешь файл, дублируй перед именем его номер: 0_ABC.qwe, 1_CDE.qwe, 2_ABC.qwe, 3_CDE.qwe - защита от перезаписи.

Ну и наконец, молодец что исходники выкладываешь, поощряю - авось кто что новое узнает, я например обнаружил ещё один вид скриптов (хотя мне головной боли от одного QBMS хватает, к счастью многое на сишник походит). А вот комментариев внутри излишне много (хотя с N++ все легко читается) - достаточно описать общее назначение процедур и функций.

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


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

ну что, теперь вся надежда на Вас

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


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

RUSLAN_05

Знаю, что тебе как минимум пред за посторонние вопросы...

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


Ссылка на сообщение
Во-первых, что за скрипты такие интересные и почему нельзя нормально на С++ или, хотя бы, Паскале писать.

Во-вторых, не мучай оперативу такими ахтунгами char[0x8000] и сверяясь с размером, потихому всё вынимаешь.

В-третьих, когда пишешь файл, дублируй перед именем его номер: 0_ABC.qwe, 1_CDE.qwe, 2_ABC.qwe, 3_CDE.qwe - защита от перезаписи.

Ну и наконец, молодец что исходники выкладываешь, поощряю - авось кто что новое узнает, я например обнаружил ещё один вид скриптов (хотя мне головной боли от одного QBMS хватает, к счастью многое на сишник походит). А вот комментариев внутри излишне много (хотя с N++ все легко читается) - достаточно описать общее назначение процедур и функций.

1. Я не программист. AutoIt - это единственный язык который я знаю. Изучал самостоятельно по файлу справки от него. Если интересно, то велком: autoit-script.ru

2. Это я не понял о чём речь.

3. То что в архиве присутствуют дубли я заметил уже поздно и хотел спать, поэтому решил пока оставить всё как есть.

4. А обильно коментировать это у меня привычка.

з.ы. Для добавления автонумерации заменить 37 строку этим: $sCurFilePath = $sBfFilePath & "_unpacked\["& $i &]"& $sCurFileName

Будут имена типа:

[1]default.cfg

[2]Global Library.grp

[3]Univers.mdl

Запустить скрипт можно, установив это: autoit-v3-setup.exe, кликнуть правой кнопкой мыши по файлу скрипта и нажать Run Script

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

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


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

Ну с такими мастерами русик не за горами :ok:

Спасибо вам, за то, что вы делаете :D

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


Ссылка на сообщение
1. Я не программист. AutoIt - это единственный язык который я знаю. Изучал самостоятельно по файлу справки от него. Если интересно, то велком: autoit-script.ru

2. Это я не понял о чём речь.

3. То что в архиве присутствуют дубли я заметил уже поздно и хотел спать, поэтому решил пока оставить всё как есть.

4. А обильно коментировать это у меня привычка.

з.ы. Для добавления автонумерации заменить 37 строку этим: $sCurFilePath = $sBfFilePath & "_unpacked\["& $i &]"& $sCurFileName

Будут имена типа:

[1]default.cfg

[2]Global Library.grp

[3]Univers.mdl

Запустить скрипт можно, установив это: autoit-v3-setup.exe, кликнуть правой кнопкой мыши по файлу скрипта и нажать Run Script

Кстати ты ещё говорил что там полно мелких файлов с кусочками текста: делаешь так - при распаковке создаёшь отдельный текстовый файл куда имена этих файлов прога тебе выписывает, потом эти имена используешь в новой программе-обработчике, которая последовательно пройдя через каждый файл, вынет текст, пометит из какого он файла и перезапишет в другой текстовый файл - и вуаля, все тексты в новом файле за пару секунд.

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


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

Если честно у меня уже энтузиазм кончается. Подключайся тоже, коллективно может быть осилим.

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


Ссылка на сообщение
Если честно у меня уже энтузиазм кончается. Подключайся тоже, коллективно может быть осилим.

не кидай это дело, вся надежда на тебя. Я бы помог, но ни бум-бум ;)

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


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

Ну вроде осталось написать программку для запаковки всего этого добра обратно в архив.

А шрифты перерисовать и текст перевести - эт мы и сами сможем.

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


Ссылка на сообщение
Если честно у меня уже энтузиазм кончается. Подключайся тоже, коллективно может быть осилим.

У меня слишком много работы, сил на что-то ещё нету.

Могу только советовать как реализовать, саму реализацию пусть тянут люди со свободным временем.

Ну вроде осталось написать программку для запаковки всего этого добра обратно в архив.

А шрифты перерисовать и текст перевести - эт мы и сами сможем.

Я вас знаю, вы с кинозала, да? :buba:

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


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

Поэкспериментирую с возможностью прицепить модифицированный файл к архиву и перебить смещение на него.

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


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

помнится недавно делал прогу которая заменяла звуки в архиве типа этого. То есть там тоже заголовок был в начале файла, где была таблица файлов внутри. А дальше все эти файлы подряд шли.

Может думаю переделать ее под этот формат, да и всё =)

Смысл в том, что файл состовляется с нуля. Сначало составляется шапка (заголовок файла) а потом уже идут подряд все модифицированные/или не очень =) файлы

Посмотрю как приеду, если не забуду.

Соответственно надо будет с Олегом скооперироваться. Но это ближе к середине недели будет. Не раньше.

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

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


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

Буду рад помощи.

Для меня в данный момент припятствие в полном пересоздании архива - это неясность всего формата шапки. Странная она. Но может быть свежий взгляд на архив прольёт свет.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: sergiy
      Final Fantasy 10-2 HD / Final Fantasy X-2 HD

      Метки: Японская ролевая игра, Пошаговые сражения, Глубокий сюжет, Ролевая игра, Отличный саундтрек Платформы: PC PS4 PS3 PSV Разработчик: Square Enix Издатель: Square Enix Серия: FINAL FANTASY Дата выхода: 12 мая 2016 года Отзывы Steam: 18648 отзывов, 88% положительных
    • Автор: SerGEAnt
      Grind Survivors

      Метки: Экшен, Экшен-рогалик, Пулевой ад, Аркада, Мясо Платформы: PC Разработчик: Pushka Studios Издатель: Assemble Entertainment Дата выхода: 16 марта 2026 года Отзывы Steam: 412 отзывов, 78% положительных

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

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

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

    • Дело вкуса конечно. Как по мне, то не очень идеально. Опять же, сравнивая с английской, то наверное лучше будет русская.
    • IgnoreVirtualTextSetterCallingRules Параметр IgnoreVirtualTextSetterCallingRules в XUnity.AutoTranslator отвечает за отключение правил, ограничивающих перехват виртуальных методов установки текста. Это специализированная настройка для решения проблем совместимости, которая позволяет плагину перехватывать текст в тех случаях, когда стандартные механизмы "хукинга" не срабатывают из-за особенностей работы с виртуальными методами в Unity . Значение параметра
      В Unity текстовые компоненты (например, Text или TMP_Text) часто используют виртуальные методы для установки текста. Это означает, что реальный метод, который вызывается в игре, может отличаться от того, который ожидает перехватить плагин. Стандартные "правила вызова" могут пропускать некоторые из этих методов, чтобы избежать ошибок или излишней нагрузки. Когда этот параметр включен (True), плагин игнорирует эти правила и пытается перехватить все возможные варианты виртуальных методов установки текста. Это увеличивает шансы на успешный перевод текста в играх со сложной или нестандартной структурой кода. Параметр    Значение по умолчанию    Секция конфигурации
      IgnoreVirtualTextSetterCallingRules    False (выключен)    [Behaviour]
      Важно: Эта настройка относится к группе параметров, управляющих интеграцией плагина с игрой. Включать её следует только при наличии проблем с переводом текста, когда стандартные методы не работают. Где находится настройка
      Файл конфигурации зависит от используемого менеджера модов : Менеджер модов    Путь к файлу конфигурации
      BepInEx    [Папка с игрой]/BepInEx/config/gravydevsupreme.xunity.autotranslator.ini
      MelonLoader    [Папка с игрой]/MelonPreferences.cfg (секция [XUnity.AutoTranslator])
      IPA    [Папка с игрой]/Plugins/xinput1_3.ini
      ReiPatcher    [Папка с игрой]/ReiPatcher/Config/XUnity.AutoTranslator.ini
      Чтобы включить параметр, найдите секцию [Behaviour] и установите значение: ini
      [Behaviour]
      IgnoreVirtualTextSetterCallingRules = True
      Связанные параметры интеграции
      Этот параметр входит в группу настроек, отвечающих за то, как плагин подключается к игре и взаимодействует с ней : Параметр    Что делает    Связь
      TextGetterCompatibilityMode    Включает режим совместимости для игр, где текст влияет на логику (код зависит от отображаемого текста).    Если включен, помогает избежать ошибок, когда замена текста "ломает" игровую логику.
      ForceMonoModHooks    Принудительно использует хуки MonoMod вместо Harmony.    Помогает в случаях, когда Harmony не может подключиться к методам без тела или методам из netstandard2.0.
      InitializeHarmonyDetourBridge    Инициализирует мост для обхода Harmony.    Дополнительный механизм для сложных случаев интеграции.
      EnableTranslationHelper    Включает дополнительные отладочные сообщения о работе переводчика.    Полезно для диагностики проблем с перехватом текста.
      EnableTranslationScoping    Включает обработку директив TARC для контекстного перевода.    По умолчанию включен (True).
      Когда стоит включать
      Включайте True, если: Текст в игре не переводится, хотя плагин установлен правильно и другие игры работают. Переводятся только некоторые элементы интерфейса, а другие (например, диалоги) остаются на исходном языке. Вы видите в логах сообщения о невозможности перехватить текст, связанные с виртуальными методами. Игра использует нестандартные компоненты TextMeshPro или кастомные текстовые поля. Оставляйте False (по умолчанию), если: Перевод работает корректно. Вы не сталкиваетесь с проблемами непереводимого текста. Совет: Если вы включили этот параметр и текст начал переводиться, но появились ошибки или нестабильность, попробуйте также включить TextGetterCompatibilityMode = True для более безопасной работы. Итог
      IgnoreVirtualTextSetterCallingRules — это продвинутая настройка для решения проблем с перехватом текста в сложных или нестандартных играх. Она расширяет возможности плагина по перехвату виртуальных методов, но по умолчанию отключена, чтобы избежать потенциальных конфликтов. Включать её следует только при наличии конкретных проблем с переводом текста, когда стандартные настройки не помогают 
    • Актёры чем тебе не угодили? Идеально же вписались в японскую стилистику. Также как в стеллар блейде в корейскую!
    • Обновил русификатор до версии игры 20 марта.
    • Всё, больше ничего на этой распродаже не видел.
    • хорошая шутка, графон говно
    • 9ч пока наиграл, оторваться тяжело но надо идти спать. Графон классный, ультра/кинематографические с rtx в фулхд+длсс качество, 85-96 фпс на 4060ti. Саундтрек шикарный, сюжет я так понял предыстория бдо, многие персы оттуда. Поначалу управление не привычное и чтобы понять некоторые механики, надо лезть в гугл. Пока только 2 боссов завалил, но попотеть пришлось. Квест
    • resizer Файл resizer.txt — это инструмент для тонкой настройки отображения переведенного текста в интерфейсе игры. В отличие от глобальных параметров в config.ini (например, OverrideFontSize или EnableUIResizing), этот файл позволяет применять разные правила к конкретным элементам интерфейса — кнопкам, панелям диалогов, текстовым полям и т.д. Зачем нужен resizer.txt При переводе текста его длина часто меняется. Фраза, которая на языке оригинала занимала 10 символов, на русском или китайском может занимать 15—20 символов. В результате текст не помещается в отведенную область, обрезается, выходит за границы кнопки или наезжает на другие элементы интерфейса . Глобальные настройки из config.ini (EnableUIResizing, OverrideFontSize) работают "для всех", но часто требуется более гибкий подход: где-то шрифт нужно уменьшить сильнее, где-то — изменить межстрочный интервал, а где-то — вообще не трогать. Именно для этого и существует resizer.txt. Где находится файл Файл resizer.txt создается автоматически или вручную в папке с переводами. Точный путь зависит от используемого загрузчика модов : Загрузчик модовПуть к папке с переводами BepInEx [Папка с игрой]/BepInEx/Translation/{Lang}/Text/ MelonLoader [Папка с игрой]/Mods/Translation/{Lang}/Text/ ReiPatcher [Папка с игрой]/AutoTranslator/Translation/{Lang}/Text/ {Lang} — это код целевого языка, например ru или zh-CN. Если папки или файла нет, их можно создать вручную. После изменения файла можно нажать ALT+R в игре, чтобы применить изменения без перезапуска . Как определить путь к элементу интерфейса Чтобы применить правило к конкретному элементу, нужно знать его путь в иерархии UI. Самый простой способ его получить: Включите логирование путей в config.ini : [Behaviour] EnableTextPathLogging = True Запустите игру и откройте нужный экран (меню, диалог и т.д.). Закройте игру и откройте файл лога (LogOutput.log для MelonLoader или BepInEx/LogOutput.log для BepInEx). В нем будут строки с путями к текстовым элементам, которые использовались во время игры. Пример пути может выглядеть так: /Canvas/DialogPanel/MessageText /LevelSingletons/SingletonPrefabsBundle(Clone)/PauseScreenUI/Pause Screen Ui Panel Доступные команды В файл resizer.txt записываются команды в формате путь = команда(параметры). Каждая команда — с новой строки. Поддерживаются следующие команды : 1. AutoResize(min, max) — автоматическая подгонка размера шрифта Плагин сам подбирает оптимальный размер шрифта в указанных пределах, чтобы текст полностью помещался в контейнер. /Canvas/DialogPanel/MessageText = AutoResize(12, 28) Этот пример заставит плагин подобрать размер шрифта для текста в панели диалогов в диапазоне от 12 до 28 пикселей . 2. ChangeFontSizeByPercentage(коэффициент) — масштабирование шрифта Умножает исходный размер шрифта на указанный коэффициент. Значение 0.7 уменьшит шрифт на 30%, 1.2 — увеличит на 20%. /Canvas/MainMenu/PlayButton = ChangeFontSizeByPercentage(0.8) /LevelSingletons/.../ItemTitleText = ChangeFontSizeByPercentage(0.7) Это полезно, когда нужно уменьшить сразу все элементы на определенной панели . 3. UGUI_ChangeLineSpacing(коэффициент) — настройка межстрочного интервала Изменяет расстояние между строками для многострочного текста. Значение 0.8 уменьшит интервал на 20%, что может помочь уместить больше строк в ограниченной области . /Canvas/QuestLog/DescriptionText = UGUI_ChangeLineSpacing(0.85) 4. UGUI_HorizontalOverflow(режим) — управление горизонтальным переполнением Может принимать значения Wrap (переносить текст на новую строку) или Overflow (разрешить выход за границы). /Canvas/Inventory/ItemName = UGUI_HorizontalOverflow(Wrap) 5. UGUI_VerticalOverflow(режим) — управление вертикальным переполнением Принимает значения Truncate (обрезать текст, если не помещается) или Overflow (разрешить выход за границы). /Canvas/StatusWindow/Description = UGUI_VerticalOverflow(Truncate) 6. IgnoreFontSize — отключить изменение размера Запрещает плагину изменять размер шрифта для указанного элемента. Полезно для текста, который не нужно трогать (например, технические надписи) . /Canvas/VersionText = IgnoreFontSize 7. TMP_Alignment(выравнивание) — выравнивание текста для TextMeshPro Задает выравнивание для компонентов TextMeshPro. Возможные значения: TopLeft, TopCenter, MiddleCenter, BottomRight и т.д. /Canvas/DialogPanel/MessageText = TMP_Alignment(MiddleCenter) Пример файла resizer.txt # Глобальное уменьшение шрифта для всей игры /Canvas = ChangeFontSizeByPercentage(0.7) # Для панели диалогов — авто-подбор размера /Canvas/DialogPanel/MessageText = AutoResize(14, 26) # Уменьшаем шрифт в кнопках паузы чуть сильнее /Canvas/PauseMenu/ResumeButton = ChangeFontSizeByPercentage(0.65) /Canvas/PauseMenu/SettingsButton = ChangeFontSizeByPercentage(0.65) # Для описания предметов уменьшаем межстрочный интервал /Canvas/Inventory/ItemDescription = UGUI_ChangeLineSpacing(0.8) # Текст версии не трогаем /Canvas/VersionText = IgnoreFontSize Как проверить, работает ли настройка Сохраните изменения в resizer.txt. Нажмите в игре ALT+R — это принудительно перезагрузит все настройки и переводы . Если команда применилась, текст изменится сразу. Если нет — проверьте путь к элементу (возможно, он изменился или был указан неверно). Важно: Некоторые команды (например, AutoResize) могут не сработать мгновенно и требуют переоткрытия окна или перезагрузки сцены . Связь с другими настройками resizer.txt дополняет, но не заменяет глобальные параметры из config.ini : Параметр в config.iniЧто делает EnableUIResizing = TrueВключает систему изменения размеров UI в принципе. Без этого resizer.txt может не работать. ForceUIResizing = TrueПрименяет изменения ко всем элементам, даже если текст не был переведен. OverrideFontSize = 18Глобально меняет размер шрифта. resizer.txt позволяет сделать это более адресно. Итог resizer.txt — это гибкий инструмент для решения проблем с отображением переведенного текста. Он позволяет: Задавать разные правила для разных элементов интерфейса Использовать авто-подбор размера шрифта Контролировать межстрочный интервал и выравнивание Применять изменения на лету (ALT+R) Рекомендуется включать EnableUIResizing = True в config.ini, а для тонкой настройки использовать resizer.txt, указывая пути к конкретным элементам интерфейса
    • А откуда информация, что он нейросетевой?) И почему тут формулировка нейросетевой, а тут формулировка такой нет? Ох, никогда вещей некоторых не пойму)
    • Основная проблема в том, что у них запорото глобальное освещение. А оно никуда не девается и при включении лучей. Игра тупо не доведена до ума в техническом плане. Её будто полусырой выкинули в релиз. Впрочем, это уже стало настолько обыденным явлением для трипл А проектов, что меня это совершенно уже не удивляет. Тут ещё не самый худший случай из тех, что были.
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2026 | Реклама на сайте.

×