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

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

Ребят, не знаю, уместно ли здесь об этом просить, но всё же:
Не подскажите, есть ли какой-то известный Вам способ, как "вытащить" из игры "Beyond: Two Souls" весь текстовый контент (субтитры, комментарии к управлению, перевод надписей и пути выбора действий; включая не попавший в финальную версию игры) в формате json-файла на всех доступных в игре языках?
Раннее на Github энтузиасты выкладывали скрипт, написанный на Python, с помощью которого, пошаманив с 16-чной системой, можно было извлечь из другой игры Quantic Dreams, "Detroit: Beyond Two Souls", весь текстовый контент на всех языках [.json-файл на выходе получается весьма большим: около 50 мегабайт].
Получилась длиннющая таблица из пары сотен тысяч строк такого типа:

0 FRE GUI_ACTION_USE Utiliser
1 FRE GUI_ACTION_TAKE Prendre
2 FRE GUI_ACTION_PUTBACK Reposer
3 FRE GUI_ACTION_INTIMIDATE Intimider
4 FRE GUI_ACTION_PROTECTEMMA Protéger Emma
5 FRE GUI_ACTION_GRABGUN Prendre l'arme
6 FRE GUI_ACTION_SHOT Tirer
7 FRE GUI_ACTION_AIM Viser
8 FRE GUI_ACTION_OBSERVE Regarder
9 FRE GUI_ACTION_CANCEL Annuler
10 FRE GUI_ACTION_EXAMINE Examiner
...
59037 RUS X0201C_RECON_MAIN_PC_X02CHANK_03ANDSTAB {S}{*1}То есть ты мне хочешь сказать, что андроид оборонялся? {*2}Ладно, что потом?
59038 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_04BATHROOM {S}{*1}...в ванную.
59039 RUS X0201C_RECON_MAIN_PC_X02CHANK_04BATHROOM
59040 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_04GARDEN {S}{*1}...в сад.
59041 RUS X0201C_RECON_MAIN_PC_X02CHANK_04GARDEN  X0201C
59042 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_04LIVINGROOM01 {S}{*1}...в гостиную.
59043 RUS X0201C_RECON_MAIN_PC_X02CHANK_04LIVINGROOM01
59044 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_05WEAPON {S}{*1}...без оружия.
59045 RUS X0201C_RECON_MAIN_PC_X02CHANK_05WEAPON
59046 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_05BAT {S}{*1}...битой.
59047 RUS X0201C_RECON_MAIN_PC_X02CHANK_05BAT
59048 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_05KNIFE {S}{*1}...ножом.{*2}Он был поврежден битой...{*3}и стал терять тириум...
59049 RUS X0201C_RECON_MAIN_PC_X02CHANK_05KNIFE {S}{*1}Ладно,{*2}твоя версия не такая уж бредовая...{*3}Вот только куда потом делся андроид?
59050 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_FAIL03
59051 RUS X0201C_RECON_MAIN_PC_X02CHANK_FAIL03 {S}{*1}Ну все.{*2}Это максимальная доза бреда за сутки.{*3}Убийца на свободе, а я трачу время на треп с андроидом...{*4}Я пошел.
59052 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_01VICTIM {S}{*1}Жертва напала на андроида...
59053 RUS X0201C_RECON_MAIN_PC_X02CHANK_01VICTIM
59054 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_BEGAN {S}{*1}Все началось...
59055 RUS X0201C_RECON_MAIN_PC_X02CHANK_BEGAN
59056 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_01WRONG
59057 RUS X0201C_RECON_MAIN_PC_X02CHANK_01WRONG {S}{*1}Слышь, а ты кухню-то вообще видел?{*2}Явно там "все началось".
59058 RUS X0201C_RECON_MAIN_PC_X02CCONNOR_01KITCHEN01 {S}{*1}...на кухне.
59059 RUS X0201C_RECON_MAIN_PC_X02CHANK_01KITCHEN01
59060 RUS X0201C_RECON_MAIN_PC_X02CHANK_FAIL01 {S}{*1}Нет, не может быть... Улики говорят о другом.

В Two souls, в отличие от Детроита, на каждый из .d[00]-.d[28] файлов приходится не один единый .idx-файл, а отдельный для каждого .idx-файл. Я пробовал аналогичным образом извлечь из .d00-файлов игры Beyond Two Souls необходимый мне контент, менял методом проб и ошибок содержимое скрипта под особенности паковки файлов игры, да ничего из этого не вышло...
С первого .idx файла я вытащил вот такую таблицу из 7 столбцов и 803 строк:
7424, 256, 93184, 524288, 465260032, 0, 0
7424, 256, 58368, 466092032, 58368, 0, 0
...
7424, 256, 978987, 80740352, 286777856, 283081984, 0
В первом столбце, я понимаю, указан номер формата контента, но что дальше делать с этим - ума не приложу...
Может, у Вас есть какие-то знания относительно того, как заполучить json-файл со всем текстовым контентом игры, или кто-то из знакомых, кто мог бы легко вытащить текстовый контент. Аудиофайлы мне не нужны, как и модельки и прочее: нужен только текст на всех языках.
Буду очень рад, если поможете. Может, даже отблагодарю Вас за помощь.

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


Ссылка на сообщение
46 минут назад, Damin72 сказал:

Обновлено: Нет, всё же потревожу ещё раз. Даже если указать путь к UnityEX_soft, то при обратной запаковке PNG выскакивает ошибка “Divide by zero” и файл ломается. Галочка “Force to crunch” в данном случае не влияет ни на что.

Не вижу такой ошибки. Всё работает, извлечение в png, dds, запаковка png, dds.
Похоже что-то с подключением доп. софта, может антивирус отключить.

Спрайты работают, но только когда текстура, простая storygs1\CAB-e64d57cb5ae21b69499017c830a0e994\Textures\storygs1.tex.(dds/png) Не какая-нибудь dds ETC2, тут есть какие-то проблемы не значительные. Текстура по этому пути и принудительный крунч, решает эту проблему.
 

Как вариант ещё попробовать включить/выключить flip, может не стандарт png какой, хотя ваш странный на 5мб, берёт, когда он как бы должен быть под 3мб. Да и вообще всё удалить старое, и оригинал запаковать.

@Keibuho Arigatou Тут в шапке есть только софт который может достать текст из столбцов, или пробелы там тоже можно (unPacker_CSV или из этого EX_REPLACER_TEXT смастерить).

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


Ссылка на сообщение
43 минуты назад, DragonZH сказал:

Не вижу такой ошибки. Всё работает, извлечение в png, dds, запаковка png, dds.
Похоже что-то с подключением доп. софта, может антивирус отключить.

Спрайты работают, но только когда текстура, простая storygs1\CAB-e64d57cb5ae21b69499017c830a0e994\Textures\storygs1.tex.(dds/png) Не какая-нибудь dds ETC2, тут есть какие-то проблемы не значительные. Текстура по этому пути и принудительный крунч, решает эту проблему.
 

Как вариант ещё попробовать включить/выключить flip, может не стандарт png какой, хотя ваш странный на 5мб, берёт, когда он как бы должен быть под 3мб. Да и вообще всё удалить старое, и оригинал запаковать.

@Keibuho Arigatou Тут в шапке есть только софт который может достать текст из столбцов, или пробелы там тоже можно (unPacker_CSV или из этого EX_REPLACER_TEXT смастерить).

Извините, в первый раз сталкиваюсь со вскрытием зашифрованных архивов: не очень понятен Ваш ответ. Подойдёт или нет софт, про который Вы сказали, для извлечения текста из игры Beyond: Two Souls, или всё же стоит спросить в других темах?

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

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


Ссылка на сообщение
52 минуты назад, Keibuho Arigatou сказал:

Извините, в первый раз сталкиваюсь со вскрытием зашифрованных архивов: не очень понятен Ваш ответ. Подойдёт или нет софт, про который Вы сказали, для извлечения текста из игры Beyond: Two Souls, или всё же стоит спросить в других темах?

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

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


Ссылка на сообщение
28 минут назад, DragonZH сказал:

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

Эх, и как быть то? Я ведь только что скачал эти софты, а что делать с ними — вообще не представляю: скачал я этот “unPacker_CSV”, вижу в корневой папке файл “unPacker_CSV.exe”, нажал на него и вижу инструкцию в командной строке:
 

Скрытый текст

Usage: unPacker_CSV [Mode] [Options] [csv] [folder/file]
     Mode:
             [-u] unpack
             [-p] pack
             folder = [folder]
             optionally [folder] = default .\[namecsv]\
---------------------------------------------------------
             [-s [colom]] sorted numer colom
             [-ce] clear empty (work with one export colom)
             [-nd[l] [colom]] not dublicates numer colom [l]=last duble (default first duble)
---------------------------------------------------------
             [-uc [value]] unpack colom value
             [-pc [value]] pack colom value namefile = [file].txt
             [-ucn [name]] unpack colom name
             [-pcn [name]] pack colom name namefile = [file].txt
             namefile text = [file]
             [-namefiles [name]] set namefiles = [name]_[colomn].txt
             optionally = .\[namecsv]\[namecsv]_[value].txt
     Options:
             [-d [char]] Delimiter
             [-q [char]] Quote, -q [q]=" -q [n]= not use quote
             [-qopt] quote optimize if -q true
             [-c [value]] count colom
optionally -d -q -c = auto detect
             [-fe[none,da,rn,hex,hml]] format enter
             [-ncfl[d0]] name colom first line (warning need original file!) [d0] = delete text 0 line



, а что вводить в консоль, чтобы не вылетела программа — непонятно...

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

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


Ссылка на сообщение
7 часов назад, DragonZH сказал:

Спрайты работают, но только когда текстура, простая storygs1\CAB-e64d57cb5ae21b69499017c830a0e994\Textures\storygs1.tex.(dds/png) Не какая-нибудь dds ETC2, тут есть какие-то проблемы не значительные. Текстура по этому пути и принудительный крунч, решает эту проблему.

https://disk.yandex.ru/d/KDIRcfqwlfy9ug

Storygs1 и ещё один файл сработали. Однако почему-то некоторые другие задники отказываются вставляться, выдавая ошибку “Divided by zero”. Прикладываю файл после вставки, оригинальный и PNG-текстуру (она даже меньше исходной по весу).
Вставлял при таких настройках storygs1:
cOB5jmulOys.jpg?size=940x368&quality=95&sign=a32d6cc3552c6f051c152a3cfc6c5343&type=album

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


Ссылка на сообщение
2 часа назад, Damin72 сказал:

Вставлял при таких настройках storygs1:

Это уже DXT5.

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


Ссылка на сообщение
1 минуту назад, DragonZH сказал:

Это уже DXT5.

До этого тоже Crunch. Это я показал актуальные на момент замены настройки. С одними текстурами работает, с другими (как в архиве) — нет.

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


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

Похоже что-то с запаковкой бандла (Divided by zero), а не текстурами.

С одиночным чанком при размерах меньше $0200.
Пока помогает переключение сжатия.

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

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


Ссылка на сообщение
16 часов назад, DragonZH сказал:

@Damin72 1.10.9.3 Исправлено Divided by zero.

Доброго вечера. Понимаю, что уже задолбал, да и в целом не то чтобы важный нюанс (мобильная версия в целом кушает DXT5), но занятно, что если распаковать CRN и запаковать PNG, то в целом-то пакуется, однако в игре превращается в месиво.
cMiBsFoabhg.jpg?size=1280x582&quality=96

Если запаковать как DXT5, то всё работает.

vDSC5Du9ji8.jpg?size=1280x582&quality=96

https://disk.yandex.ru/d/tgljJcmAi2d9YA

В архив приложил оригинал, запакованный CRN-вариант и запакованный DXT5.

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


Ссылка на сообщение
3 часа назад, Damin72 сказал:

если распаковать CRN и запаковать PNG, то в целом-то пакуется, однако в игре превращается в месиво.

По видимому альфа не добавлялась в -ETC2
Обновил pack_crunch.bat в допах.
-ETC2 заменяется на -ETC2AS с альфой и лучшее сжатие.
Также можно заменить -DXT5 на -DXT5_AGBR это лучшее сжатие будет.
Если это не прокатит можно паковать крунчем dds в -DXT5 в форсировании, это тоже компактно и должно работать.
Также, чтобы уменьшить размер бандла, как и сказали выше можно и во внутренний ресурс запихать (включать флаг запись в ресурс нужно), если размер текстуры меньше то старая перепишется, но это конечно не существенно 60кб сохранит. Да и немного проблемно в распакованный ресурс добавлять, а потом его ещё запаковывать. Может потом как-нибудь добавлю запаковку во внутренний ресурс сразу.

Изменено пользователем DragonZH
  • +1 1

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


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

Удаление файлов из ассетов не планируется (добавление же есть)? В UABEA это есть давно (не буду расписывать зачем мне, но раз туда добавили — значит не бесполезная функция).

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


Ссылка на сообщение
20 часов назад, SupHamster сказал:

Удаление файлов из ассетов не планируется (добавление же есть)? В UABEA это есть давно (не буду расписывать зачем мне, но раз туда добавили — значит не бесполезная функция).

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

Обновление фиксы для спрайтов 6000 версии.

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


Ссылка на сообщение
В 23.07.2024 в 17:06, snowyegret98 сказал:

sprite import issue: can’t reimport sprite using automesh mode.

gamefile: https://pixeldrain.com/u/NKYjavcR

target asset: King of the Bridge_Data\StreamingAssets\aa\StandaloneWindows64\localization-assets-english(en)_assets_all.bundle

inside all sprites.

target: https://ibb.co/TmmXRRr

edited png file: https://pixeldrain.com/u/npj7fgTG

(only pngs. just copy n overwrite it.)

if I import using automesh, game is crash or appear bug.

working method: open bundle file, select all sprites, overwrite png file, import using automesh, then start game.

thanks.

Может немного с запозданием.
Обновление v1.10.9.6 Ultimate
Теперь не должно вылетать. Проверил только на запаковке оригинальных спрайтов, работает.
Проблема была в весах и костях на вершины от спрайта.
(Проверил изменение, тоже работает, теперь можно перерисовать текст).

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас



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

×