Перейти к содержимому
Zone of Games Forum
Eltarniel

Проблемы с файлом локализации MOM2ed (Steam)

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

Возникла такая проблема: Приложение-компаньон для настольной игры Mansions of Madness 2ed. Само приложение свободно распространяется в Steam (Mansions of Madness 2ed).

Предыдущие приложения (Descent, XCOM TBG) без особых проблем разбирались стандартным набором (UnityEX) и собирались обратно. В этот раз вместо текста в извлеченном txt файле какая-то фигня.

Возможно файл неправильно извлёкся, возможно применено шифрование.

Файлы в архиве: Извлечённые файлы локализации при помощи UnityEX

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

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

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


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

 

             ObfuscateBytes(bytes, 0x411a1ba);public static void ObfuscateBytes(byte[] bytes, int key)        {            if ((bytes != null) && (bytes.Length > 3))            {                int num5 = 0;                for (int i = 0; i < bytes.Length; i += 4)                {                    byte num2;                    byte num3;                    byte num4;                    byte num = num2 = num3 = (byte)(num4 = 0);                    num = bytes[i];                    if ((i + 1) < bytes.Length)                    {                        num2 = bytes[i + 1];                    }                    if ((i + 2) < bytes.Length)                    {                        num3 = bytes[i + 2];                    }                    if ((i + 3) < bytes.Length)                    {                        num4 = bytes[i + 3];                    }                    num5 = (((num << 0x18) | (num2 << 0x10)) | (num3 << 8)) | num4;                    num5 ^= key;                    bytes[i] = (byte)(num5 >> 0x18);                    if ((i + 1) < bytes.Length)                    {                        bytes[i + 1] = (byte)((num5 >> 0x10) & 0xff);                    }                    if ((i + 2) < bytes.Length)                    {                        bytes[i + 2] = (byte)((num5 >> 8) & 0xff);                    }                    if ((i + 3) < bytes.Length)                    {                        bytes[i + 3] = (byte)(num5 & 0xff);                    }                }            }        }

 


Обратно можно шифровать тем же самым кодом с тем же ключом. Слава Ксору)
Результат https://yadi.sk/i/KIsoZBh2wzEam На выходе CSV. Вроде достаточно стандартный. Уверен, у старожил найдётся тулза для извлечения/вставки Н-ой записи из каждой строки
Пример
.,English,Spanish,French,German,Italian,Portuguese,Polish,Japanes
// ICONS,,,,,,,,
ICON_SKILL_STRENGTH,?,?,?,?,?,?,?,?
LOADING_QUOTE_0,"It is absolutely necessary, for the peace and safety of mankind, that some of earth's dark, dead corners and unplumbed depths be let alone.","Es absolutamente necesario para la paz y la seguridad de la humanidad que algunos rincones oscuros y muertos, algunas profundidades insondables de la Tierra, no sean perturbados…","Il est absolument indispensable, pour la paix et la s?curit? de l'humanit?, qu'on ne trouble pas certains recoins obscurs et morts, certaines profondeurs insond?es de la Terre…","Um des Friedens und der Sicherheit der Menschheit willen ist es absolut notwendig, dass einige der dunklen, toten Winkel und unergr?ndeten Tiefen dieser Erde unangetastet bleiben;","? assolutamente necessario, per la pace e la salvezza dell’umanit?, che alcuni degli angoli pi? oscuri e sepolti della terra e delle sue abissali profondit? rimangano inviolati.","? absolutamente necess?rio, para a paz e seguran?a da humanidade, que alguns dos confins sombrios e m?rbidos e das profundezas insond?veis da Terra permane?am inexplorados.",Ze wzgl?du na spok?j i bezpiecze?stwo ludzko?ci nale?y bezwzgl?dnie pozostawi? w spokoju pewne mroczne zak?tki i niezg??bione otch?anie ziemi.,?????????????????????????????????????????????????????????
Изменено пользователем Nightmares88

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


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

Это .csv файл и тут нужен Exel на оси

 

Spoiler

07ba5244f1e6.jpg

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


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

Nightmares88, makc_ar спасибо огромное за консультацию и помощь. Ещё немного понублю - как правильно применять приведённый код (через какую программу/как исполнительный файл/другой вариант)?

Обрабатывать перевод буду не только я, так что каждый сам будет вытаскивать для себя. Или же ведущему проект придётся паковать/шифровать файлы, полученные от других.

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


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

Это часть кода игры. Т.е. использовать его надо в среде разработки C#, например MSVS.

Скомилировал код. Исполняемый файл запускать с параметрами "входной файл" "выходной файл". Если не запустится проверь наличие .Net framework на ПК

Примеры батников приложил. Если потребуется редактируй смело/создавай свои по образу и подобию.

https://yadi.sk/d/e0Z_D_jPxRDcZ

Последний вопрос очевидно нужно адресовать коллегам. Хотят ли они разбираться сами или им проще просить ведущего.

Как вариант можно разобраться с тем, как работает UnityEX.exe в консольном режиме и сделать bat'ник который в один клик извлекает/запаковывает все файлы которые нужно редактировать

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

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


Ссылка на сообщение
Это часть кода игры. Т.е. использовать его надо в среде разработки C#, например MSVS.

Скомилировал код. Исполняемый файл запускать с параметрами "входной файл" "выходной файл". Если не запустится проверь наличие .Net framework на ПК

Примеры батников приложил. Если потребуется редактируй смело/создавай свои по образу и подобию.

https://yadi.sk/d/e0Z_D_jPxRDcZ

Последний вопрос очевидно нужно адресовать коллегам. Хотят ли они разбираться сами или им проще просить ведущего.

Как вариант можно разобраться с тем, как работает UnityEX.exe в консольном режиме и сделать bat'ник который в один клик извлекает/запаковывает все файлы которые нужно редактировать

Спасибо, это ровно та информация, которой мне не хватало.

Буду копать дальше.

Вопрос: а где можно почитать про консольное использование UnityEX.exe? Тут на форуме искать или ...?

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


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

Распаковать в корень игры архив https://yadi.sk/d/2iCi7tvDxSdcm + кинуть в корень наш зашифрованный Localization.txt

Get Text.bat - расшифровывает наш Localization.txt для перевода.

Pack Text.bat - пакует текст в игровой архив.

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


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

Доброго времени суток. Есть ли успехи в процессе перевода? :rolleyes:

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


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

Пришло обновление и готовый на 90% перевод оказался неприменим. Снова нужна помощь форумчан!

Итак, файлы локализаций вынесли из общих ассетов, теперь они хранятся по адресу в папке стима: "SteamApps\common\Mansions of Madness\Mansions of Madness_Data\StreamingAssets\AssetBundles\1.3.6\Windows\localization\"

там несколько файлов, каждый из них - asset без разрешения, но отлично открывается UAE, как ассет.

Проблема в том, при копировании готовых файлов ничего не происходит - приложение всё так же остаётся на английском, хотя в файле уже полностью руссифицированный текст.

АПД: Файлы локализации: Файлы МОМ2

Шрифты идут в sharedassets0 и sharedassets1, файл локализации - из main

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

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


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

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

Как заставить unity WebPlayer сначала пытаться использовать локальные данные и лишь потом удалённые я не знаю.

PS Похоже за ресурсами игра лезет на s3.amazonaws.com, вариант залокалхостить сей ресурс через host сработал. Хотя тоже не слишком хороший вариант.

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

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


Ссылка на сообщение
А он похоже и не использует эти файлы в базовом сценарии, можно удалить всю папку StreamingAssets, а игра загрузится , даже при грохнутом кэше. Как плохое решение - удалить кэш, заменить файл, запустить игру без сети. В этом случае она закэширует локальные данные, т.е. русские тексты. При новом запуске игра использует кэш, т.е. перевод останется, даже если сеть появилась. Другой вопрос, надолго ли.

Как заставить unity WebPlayer сначала пытаться использовать локальные данные и лишь потом удалённые я не знаю.

PS Похоже за ресурсами игра лезет на s3.amazonaws.com, вариант залокалхостить сей ресурс через host сработал. Хотя тоже не слишком хороший вариант.

Кстати, а может залокалхостить тот адрес в asset'ах? в смысле поменять его в resources.assets, чтобы он просто не лез куда не надо?

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

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


Ссылка на сообщение
Кстати, а может залокалхостить тот адрес в asset'ах? в смысле поменять его в resources.assets, чтобы он просто не лез куда не надо?

В Deus Ex: The Fall я убивал библиотеку Assembly-CSharp.dll. где есть строки сайта. Замени все оригиналы на http://www.zoneofgames.ru[/post] и проверь.

Делал я как-то шрифт Old Newspaper Types с кириллицей.

Spoiler

7afa5f86f9be.jpg

Распаковать http://dropmefiles.com/jgzJB в папку с игрой, а потом запустить RU.bat.

Кеши тут сидят: C:\Users\ИМЯ КОМПА\AppData\LocalLow\Unity\WebPlayer\Cache Можно добавить в батник строчку для копирования файлов локализации, которые находятся на системном диске и тем самым не убивать библиотеку.

Отображение скрытых файлов и папок: https://support.microsoft.com/ru-ru/help/14...ow-hidden-files

Spoiler

e2b47a3cd271.jpg

Не уверен в том, что прокатит замена кеша. Добавил папку RU в русификатор http://dropmefiles.com/Ma4do, где будет текст для патча, но он там у меня английский. У меня нет дополнения Mansions of Madness - What Lies Within http://store.steampowered.com/app/478980/, т.е. новый кеш в папке RU делайте сами.

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


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

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

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

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

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

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

Войти

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

Войти сейчас



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

×