Перейти к содержимому
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 делайте сами.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • Странный квест. Первые 2/3 неплохое космическое приключение. А последняя часть — хз что такое, разработчики не знали как это все вообще собрать что они там накрутили и сляпали что-то маловразумительное и банальное. 
    • Если импакт и отдача реализованы так как здесь, то это не вкусовщина, а просто неумелая реализация.  Взгляни на Сultic или на Black Mesa, там это сделано гораздо лучше, про “мой” Selaco я уж промолчу )  Я тоже очень люблю FPS, но в этот в отличии от многих, мне продолжать не захотелось, и это не вкусовщина, так как различать где это сделано хорошо, где средне, а где плохо, ,большого труда не составляет, так как, благо есть с чем сравнивать. Возможно тебе и остальным, кому игра зашла, этот момент не так важен, не знаю, но если я не ловлю кайфа от стрельбы в подобных играх, то нах в такие игры мне играть, даже если по остальным аспектам всё на высоте.
    • Это тупо вкусовщина. В твоем селако стрельба взята из современных шутеров. А вот эта картонная пальба из ion fury мне не нравится. При это я прошел достаточно шутеров из начала нулевых, и вот стрельба в фантоме как раз оттуда. Я бы вообще сказал страшное – пальба из базового орудия тут прям как во второй халве. Пистолет точно оттуда слизан. 
    • @james_sun здесь же главный элемент это стрельба, но она здесь реализовна плохо, не знаю какое слово подходит — криво, картонно, неинтересно, хуже чем в Ion fury. Посмотри демку Selaco и поймёшь о чём речь. Никто не говорит, что “веселье” нужно наваливать сразу, но реализация стрельбы уже видна, и сделано это прлохо — враги “картонные”, импакт не чувствуется, а стрельба в таких играх должна приносить удовольствие.  Взгляни как это в Brootal Doom выполнено, или в том же Selaco, который далеко не глупый шутерок где одно только мясо.
    • Этой Джаге будет сложно состязаться с третьей Джагой.  У меня есть определенные ожидания, касательно этой игры.  Но лучше бы шагнули в сторону 7.62. 
    • ЕГС опять дал с подливкой ? Все так и есть,исключительно “злые издатели!”
    • В пошаговые играть надо,по видосу фиг что поймёшь. Но я в принципе, за любой “пошаг”)
    • @piton4 , ion fury косит под игры первой половины 1990-х, phantom – под самый конец девяностых-начало двухтысячных. По ней это прям видно. И в шутерах той поры никто тебе не вываливал все веселье в первые полчаса. Игры раскрывались постепенно. В той же культовой халве ты вообще первые десят минут тупо едешь на тележке, и первые полчаса и даже больше ты бегаешь по базе и со всеми болтаешь, лол. 
        Тут очень похожая схема, хотя и заметно шустрее. Судя по комментам в стиме, народ с чего-то ждал очередное бездумное мясо, а получил куда более размеренный экшен. По мне так это гораздо лучше, чем вот это бесконечное пиксельное олдскул-месиво, которое уже изрядно утомило. А вот под сюжетные шутеры именно конца девяностых - начала нулевых никто почему-то косить не хочет. Вот это один из немногих примеров, тоже имеет право на жизнь. 
    • Учитывая, какой замечательный пост об отзывчивости замечательного издателя Serenity Forge был тут, на ЗоГе (снизили цену на DLC до жалких ~500 рублей), интересно было бы услышать мнение главного местного господина-аналитика, а какой же филиал этой американской компании виноват в этом (отсылочка на запрет раздачи/продажи DNF Duel в EGS). Ведь не сами же Эпики отбирают/запрещают игры так избирательно, правда ведь?
    • В 2022-м Институт развития интернета выделил проекту грант в размере 90 миллионов рублей. Отечественная Lipsar Studio обнародовала геймплейный ролик из грядущей тактики из грядущей пошаговой тактики Sparta 2035. Сообщается, что эта игра о солдатах удачи, борющихся с вымышленной террористической организацией под названием Даамат.
      События разворачиваются в Африке 2030-х годов, в условиях жесточайшего кризиса. Командиру отряда «Спарта» предстоит не только защищать Африку от террористов и разбираться в истинных причинах конфликта, но и лавировать между различными фракциями, желающими извлечь из войны максимальную выгоду. Несмотря на серьезный сеттинг, авторы обещают наличие в их игре юмора и отсылок к массовой культуре. Кроме того, тут будет некий «налет научной фантастики». Релиз игры состоится не раньше 4 квартала текущего года. В 2022-м Институт развития интернета выделил проекту грант в размере 90 миллионов рублей.
  • Изменения статусов

  • Лучшие авторы


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

×