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

Вскрытие XCOM TBG. Локализация

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

Прошу помочь. Сначала немного о сабже - это приложение для настольной игры XCOM, написанное на Unity 4.6 (судя по логам). Я понимаю, что сама тематика немного не по специализации форума, но больше не знаю куда обратиться.

XCOMTBG - App Win

Начиная с последней версии приложение стало поддерживать несколько языков локализации (как это обычно бывает - без русского, поэтому появилось желание перевести его самостоятельно).

Пользуясь советами и программами из данного раздела форума мне удалось найти файл, в котором хранится локализация. К сожалению, Unity Assets Explorer (1.3 и 1.5) хоть и смог распаковать архивы Unity, но при сборке обратно вместо какого-либо из языков локализации отображаются названия переменных (скрины скину вечером, сейчас, к сожалению не могу их снять), да и объем файла увеличивается на 3 лишних мегабайта.

Плагин Unity Assets Support для Total Commander'а напротив, справился с задачей на отлично - мне удалось вытащить файл, заменить ряд названий (поставил русские названия, вместо немецких) и загрузить обратно в архив.

После успешной первой пробы был переведён ещё кусок текста и названий. Но при дальнейшей загрузке обновлённого файла локализации приложение начало вылетать.

По логам, которые создаются в папке приложения ошибка в следующем:

DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1935762480B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

На всякий случай, я решил удалить часть локализации, которая мне не понадобится в дальнейшем (другие европейские языки). И тут тоже постигло разочарование, т.к. ошибка расширилась:

The file 'D:/!Work/Unity/XCOMTBG_Win (1)/XCOMTBG_Win_v1.1.3_Data/resources.assets' is corrupted! Remove it and launch unity again![Position out of bounds! 111980300 > 111972262](Filename:  Line: 273)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1850027056B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

Если честно - я слабо представляю как правильно сделать локализацию данного приложения (хотя на первый взгляд вроде всё не сложно). Очень прошу помочь советом - с чего начать, как продолжить, на что обратить внимание и где нужно будет внести изменения, чтобы все заработало.

Заранее спасибо.

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

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


Ссылка на сообщение
После успешной первой пробы был переведён ещё кусок текста и названий. Но при дальнейшей загрузке обновлённого файла локализации приложение начало вылетать.

А ты добавлял в тот же файл куда уже добавлял до этого или в оригинальный заново? Попробуй в оригинальный добавлять. По чуть-чуть.

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


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

Добавлял в изменённый. Я оставил контрольный файл локализации, который был изначально (Localization.mov.xml.bcg). Если копирую его обратно (т.е. восстанавливаю assets в том виде, как они были изначально, то приложение снова запускается.

Хорошо, попробую в оригинальный, по чуть-чуть.

Странно, теперь даже то, что получалось в начале не получается. Вылетает с ошибкой, в логах:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1952544368B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview[ ALLOC_DEFAULT ] used: 13836895B | peak: 0B | reserved: 20971520B [ ALLOC_GFX ] used: 69948B | peak: 0B | reserved: 7340032B [ ALLOC_CACHEOBJECTS ] used: 427232B | peak: 0B | reserved: 10485760B [ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B [ ALLOC_PROFILER ] used: 2340B | peak: 0B | reserved: 8388608B Could not allocate memory: System out of memory!Trying to allocate: 1952544368B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

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


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

Eltarniel, перед редактированием файла, желательно удалить первые четыре байта, в котором указан размер текстового блока, после редактирования - вернуть и актуализировать..

2d23247bd8b4.png

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


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

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

И ещё вопрос: Есть ли возможность удалить из файла ненужные локализации? Чтобы была только русская и английская версии.

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


Ссылка на сообщение
Вот я рискую сорвать приз за тупые вопросы: А как правильно актуализировать информацию, какая верная длина должна быть?

Размер файла в байтах

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


Ссылка на сообщение
Размер файла в байтах

Хм. Идею понял, но вот тут интересный вопрос: судя по скрину длина файла 982056 + 4, но Тотал Коммандер говорит, что общая длина файла 982064. Куда делись 4 байта? О_о

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


Ссылка на сообщение
Хм. Идею понял, но вот тут интересный вопрос: судя по скрину длина файла 982056 + 4, но Тотал Коммандер говорит, что общая длина файла 982064. Куда делись 4 байта? О_о

4 байта в конце (00 00 00 00), служат для "выравнивания" длинны файла, пока оставь их как есть

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


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

Всем огромное спасибо за помощь, работа пошла!

Но как всегда - новые сложности:

Рабочий файл локализации

Как только я добавляю дополнительный перевод в файл выше (ну, в смысле перевожу очередной кусок текста) приложение начинает вылетать с ошибкой:

The file 'D:/!Work/Unity/XCOMTBG_Win (1)/XCOMTBG_Win_v1.1.3_Data/resources.assets' is corrupted! Remove it and launch unity again![Position out of bounds! 112833268 > 111981298](Filename:  Line: 273)Mismatched serialization in the builtin class 'TextAsset'. (Read 983076 bytes but expected 983074 bytes)(Filename:  Line: 1174)Shader warmup: 17 shaders 45 combinations 0.025sAudioController - Initialized with 24 hooks(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)Loading Saved Settings Music: 0.7894737 Sound: 0.7894737(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1733230628B with 4 alignment. MemoryLabel: AudioAllocation happend at: Line:334 in Memory overview[ ALLOC_DEFAULT ] used: 14692208B | peak: 0B | reserved: 20971520B [ ALLOC_GFX ] used: 69992B | peak: 0B | reserved: 7340032B [ ALLOC_CACHEOBJECTS ] used: 158348B | peak: 0B | reserved: 10485760B [ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B [ ALLOC_PROFILER ] used: 2376B | peak: 0B | reserved: 8388608B Could not allocate memory: System out of memory!Trying to allocate: 1733230628B with 4 alignment. MemoryLabel: AudioAllocation happend at: Line:334 in Memory overview

 

Пока проверил на двух разных кусках перевода в разных частях файла, ошибка вылетает одна и та же, как только значение длины файла, которую я записываю становится: 0a 00 0f 00

на нынешнем значении всё работает

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


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

UPD Всем огромная благодарность за помощь! Процесс идёт полных ходом.

Для тех, кто будет разбираться с дебрях перевода, читая эту тему - чтобы избежать ошибки в данном посте выше, необходимо добавить (или убрать) в конец файла (в блок выравнивания) дополнительные 00 байты так, чтобы длина файла делилась на 4.

Кстати, вопрос всё ещё актуален, кто-нибудь сталкивался:

И ещё вопрос: Есть ли возможность удалить из файла ненужные локализации? Чтобы была только русская и английская версии.

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


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

Перевод почти закончен, хочу ещё раз поблагодарить всех за помощь.

Накопилось несколько вопросов, с которыми так же хотел попросить помочь:

1. Если в файле локализаций меняешь название языка (в моём случае German -> Russian), то приложение падает. Как я понимаю, это связано с тем, что по названиям локализаций подгружаются остальные файлы из архива (картинки, музыка). Можно ли как-нибудь исправить данное падение и таки добавить русский в список доступных языков?

1.1. Есть вариант конечно, попробовать добавить пачку файлов с _Russian в названии, вдруг получится и заработает, но об этом скажу только завтра.

2. В продолжении варианта 1, есть ли возможность убрать остальные локализации, кроме Английской и Русской? (они, в принципе, не нужны, только место занимают) Если убираю вручную, то приложение опять же падает (а вот тут уже возникает подозрение, что языки "вшиты" в код приложения)

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

Заранее благодарен за помощь.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • вроде последняя, стим обновляет. ни ошибок, ни чего. для чистоты эксперимента проверил стимом установку (он перекачал изменённые файлы), после этого скопировал ваш русификатор и всё равно, ничего не поменялось.
    • Фильм кстати неплохой. По сути это треш фантастика , но хорошая треш фантастика, в молодости он вызывал у меня тревожные ощущения, когда машина безжалостно кромсала людей следуя своей программе
    • @Stygian_Desolator , какая у вас версия игры? Что конкретно не работает? Может скрин с ошибкой есть? У себя проверял два раза. Всё отлично работает. 
    • С текстурами проблем нет, в ближайшие дни архивчик соберу. С текстом на первый взгляд тоже, но его сложнее организовать так, чтобы было удобно переводить. Там всё же 5 языков сразу + ограничения на длину строки, в итоге всё разбито на части.
    • И от кого же позвольте узнать? От западных русофобов, которые уже лет триста придумывают про русских всякую дичь, что бы убедить всех вокруг какие мы дикие животные и нелюди, которых надо вырезать всех до единого? Или от “наших” соевых либералов релокантов, которые на проверку поголовно оказываются евреями? Ну тут просто ультра комбо сложилось, мало того что игра, судя по количеству и качеству рекламных материалов, хреновая или скорее даже “ни какая”, так она ещё и украинская, от укро-чешской студии релокантов ухилистов, спонсирующих нацистов и унижающих своих фанатов из за их неправильных форм черепа, языка и гражданства. тут сам бог велел обосрать А что касается самого ролика, то как я писал уже, выглядит она ни как, ни плохо, ни хорошо, просто ни как, по сути пока игры нет и её ни разу не показали. Ну а с озвучкой на мове-суржике, смотреть это невыносимо, тут не знаешь, бежать за бинтами когда кровь из ушей начинает идти или ржать, серьёзно смотреть что то на этом языке просто невозможно. Я как то пытался чемпионат WRC смотреть с украинским комментатором… Осилил несколько этапов и перешёл на великобританский английскй с их характерным произношением. Хоть английский я ни когда не учил, но того, что я запомнил вполне хватало для того, что бы понять основной смысл. И в сравнении с украинской озвучкой, это было как бальзам на душу. Однако теперь меня всю жизнь будет преследовать украинская “делянка” вместо нормального “спец участка” и “перший” вместо “первого”.
    • @LoadRunner Если получится распаковать все текстуры и тексты, скинь их сюда, пожалуйста. Хотелось бы помочь с переводом любимой игры)
    • Как установить на Стим дек? Вроде делаю все как надо, но перевод не встаёт 
    • Все ноют от того, что в этом "Next Gen Update", нет, собственно "Next Gen-а" как такового. И в целом, в нём мало что есть. Ну, кроме того, что он половину модов сделал не рабочими. Графика? На ПС4 была мылом без теней, на ПС5 мылом без теней и осталась. На XBOX ситуация аналогичная. На ПК графика лучше, чем на консолях, только вот она и до "Next Gen-а" была лучше. А после него осталась без изменения. И в чём, собственно, "Next Gen"? От графона 2015г. хотят, чтоб он хотя бы на новых консолях был такой же, как и на ПК. Ладно ещё старые консоли, там урезанную графику хоть оправдать слабым железом можно, но на новых то чем? Дали 60 фпс? Ну чудно, только вот на консолях этого добились тем, что графика игры 2015г урезана до графики игр года 2012. На ПК, впрочем, даже этого не добились. В бостоне как было падение до 30 фпс, так и осталось. Спасибо, что хоть там графику не даунгрейдили. Поддержка широкоформатных мониторов? Ну это да, действительно хорошо, но что это даёт тем, у кого нет таких мониторов? Может быть хотя бы исправлены баги? Ну да, исправили порядка 20. Круто. Но учитывая их общее количество, это слёзы, а не исправление. Да и исправили, на мой взгляд, какие-то максимально локальные баги Про квесто-моды, не вписывающиеся ни в лор, ни даже в геймплей, говорить не буду. То, что это бесплатно не оправдывает то, что это просто халтура. Вы (разработчики, а не конкретно комментатор) анонсировали "Next Gen Update", соизвольте дать этот "Next Gen" хотя бы в небольшом количестве. Вы не дали. Ладно. Но при этом вы сделали кучу модов не рабочими. А моды эти, словом, давали какой-никакой "Next Gen". Фактически, ПК игрокам за бесплатно отрубили кучу модов. Консольщикам... Да кроме 60 фпс, полученных урезанием графики, ничего и не дали то вроде.
    • Представь себе, не всем дано понимать что ты там предполагаешь.  Это буквально то, на что прямо отсылается игра.  Мы говорим именно про игру из ролика. 
      В ролике эдакий клон Джаги. Что собственно и заставляет лично меня ждать игру.  Каких то конкретных минусов (как впрочем и плюсов) я там не увидел. 
      То что авторы клепают мобилки то же не показатель. Вон авторы Эндерала то же около-мобилки клепают. 
    • неизвестный мне фильм загляну на огонёк зы а как насчёт Hell Comes To Frogtown 
  • Изменения статусов

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


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

×