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

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

7 минут назад, CRYM0RY сказал:

@kro44i  С официальной страницы игры дядя.

С какой? До выхода игры страниц у нее нигде не было, и то, что будут только ру субтитры объявили за день до релиза. В steamdb тоже упоминаются только субтитры.

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


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

@kro44i Страница стима, uplay, playstarion store. Во всех магазинах это указано, что только субтитры. на playground на vtgames xibt всё было написано заранее, что русской озвучки там не будет. Только сабы. 

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


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

@CRYM0RY так человек пишет про озвучку, которую вырезали. Я и спрашиваю, с чего решили что ее вырезали? То, что она когда-то была, не значит что ее вырезали. Может права на нее принадлежат Буке или еще какие юридические тонкости которые решать никто не захотел.

  • Лайк (+1) 1

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


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

@xoixa Мучительный процесс. В любом случае, методом исключения получится. Хоть и муторно.

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


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

@xoixa получил такую инфу. Надеюсь поможет

Цитата

Пусть в метаданных wem смотрит, иногда там бывают зашиты нормальные имена

И два, там обычно ещё лежат json и xml файлики, в которых такое же соответствие храниться должно

У них названия должны совпадать с .bnk

 

Не понимаю о чём речь. Но надеюсь смысл тут есть o_O

  • Лайк (+1) 1

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


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

Всем привет! Удалось кому-то распаковать/посмотреть .pak файлы, где содержится текст?

Только прикупил игру, так меня со стартового экрана “порадовали” отсутствием пробела и ещё кучей недочётов в меню игры. Саму игру ещё не начинал, но некоторые проходившие жалуются, что там тоже много ошибок.

Возможно ли чем-то самому открыть данные файлы и поправить текст?

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


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

Всем привет! Удалось кому-то распаковать/посмотреть .pak файлы, где содержится текст?

Только прикупил игру, так меня со стартового экрана “порадовали” отсутствием пробела и ещё кучей недочётов в меню игры. Саму игру ещё не начинал, но некоторые проходившие жалуются, что там тоже много ошибок.

Возможно ли чем-то самому открыть данные файлы и поправить текст?

С этими проблемами нужно обратится туда где вы преобрели игру. В Ubisoft.

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


Ссылка на сообщение
В 30.06.2024 в 00:53, mphuZ сказал:

Удалось кому-то распаковать/посмотреть .pak файлы, где содержится текст?

Текст находится в Data\Paks\Text-*.pak файлах. Достать можно этим скриптом для QuickBMS:

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

# Script by Bartlomiej Duda (Ikskoks)
# Beyond Good and Evil - 20th Anniversary Edition (Nintendo Switch) PAK script


# Ver    Date        Author               Comment
# v1.0   25.06.2024  Bartlomiej Duda      -
# v1.1   25.06.2024  Bartlomiej Duda      Fix for "Resources.pak" file
# mod                                     moded for Text pak

idstring "BPAK"
get Type basename
string Lang = Type
string Lang | "-" //Language 
string Type % "-" // Pak type "Audio" "Text" "Resources"
print "%Type% %Lang%"
comtype lz4
goto 16
get NUMBER_OF_FILES long
get INDEX_SIZE long
savepos BASE_OFFSET
get ARCHIVE_SIZE asize

xmath INDEX_OFFSET "ARCHIVE_SIZE - INDEX_SIZE"
goto INDEX_OFFSET

for i = 0 < NUMBER_OF_FILES
	get ENCRYPTION_FLAG byte
	
	if ENCRYPTION_FLAG == 0
		get FILE_NAME_LENGTH long
		GetDString FILE_NAME FILE_NAME_LENGTH
	else if ENCRYPTION_FLAG == 1
		get FILE_NAME_HASH long
		string FILE_NAME p "file%d" i
	else
		print "Flag %ENCRYPTION_FLAG% not supported! Exiting!"
		cleanexit
	endif
	
	get UNCOMPRESSED_FILE_SIZE long
	get COMPRESSED_FILE_SIZE long
	get UNKNOWN2 longlong
	get FILE_OFFSET longlong
	xmath FILE_OFFSET "BASE_OFFSET + FILE_OFFSET"
	
	putarray 0 -1 FILE_NAME
	putarray 1 -1 FILE_OFFSET
	putarray 2 -1 COMPRESSED_FILE_SIZE
	putarray 3 -1 UNCOMPRESSED_FILE_SIZE
next i

for i = 0 < NUMBER_OF_FILES
	getarray FILE_NAME 0 i
	getarray FILE_OFFSET 1 i
	getarray COMPRESSED_FILE_SIZE 2 i
	getarray UNCOMPRESSED_FILE_SIZE 3 i
	
	if UNCOMPRESSED_FILE_SIZE > 3
		if Type = "Text"
		clog MEMORY_FILE FILE_OFFSET COMPRESSED_FILE_SIZE UNCOMPRESSED_FILE_SIZE
		get MFSize asize MEMORY_FILE
		goto -4 MEMORY_FILE 
		get ID long MEMORY_FILE
		goto 0 MEMORY_FILE
		
			if ID != 0xcccccccc
				
				//empty file check
				xmath Count "MFSize / 4"
				for y = 0 < Count
					get Data long MEMORY_FILE
					math Data + Data
				next y
					
				if Data > 0
					string FILE_NAME P "text_%Lang%\%FILE_NAME%.txt"
					clog FILE_NAME FILE_OFFSET COMPRESSED_FILE_SIZE UNCOMPRESSED_FILE_SIZE
				endif
				
			else //not a text
				string FILE_NAME P "txtnames\%FILE_NAME%"
				//clog FILE_NAME FILE_OFFSET COMPRESSED_FILE_SIZE UNCOMPRESSED_FILE_SIZE
			endif
			
		elif Type = "Audio"
			string FILE_NAME P "audio_%Lang%\%FILE_NAME%"
			clog FILE_NAME FILE_OFFSET COMPRESSED_FILE_SIZE UNCOMPRESSED_FILE_SIZE
		else
			clog FILE_NAME FILE_OFFSET COMPRESSED_FILE_SIZE UNCOMPRESSED_FILE_SIZE
		endif
	endif
next i

 

Русский текст имеет такой вид

\P26\\p14\\a34\
\U+1057\\U+1088\\U+1072\\U+1073\\U+1086\\U+1090\\U+1072\\U+1083\\U+1086\. \P26\\p14\\a32\
\U+1040\\U+1081\! \U+1040\-\U+1072\-\U+1088\\U+1075\\U+1093\! \P26\\p14\\a34\
\U+1040\\U+1096\-\U+1044\\U+1074\\U+1072\!  \P26\\p14\\a32\
\U+1052\\U+1080\\U+1089\\U+1089\ \U+1044\\U+1078\\U+1077\\U+1081\\U+1076\...

Декодировать txt в читаемый вид можно таким скриптом для WinHex:

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

ReplaceAll "\U+1025\" "Ё"
ReplaceAll "\U+1105\" "ё"
ReplaceAll "\U+1040\" "А"
ReplaceAll "\U+1041\" "Б"
ReplaceAll "\U+1042\" "В"
ReplaceAll "\U+1043\" "Г"
ReplaceAll "\U+1044\" "Д"
ReplaceAll "\U+1045\" "Е"
ReplaceAll "\U+1046\" "Ж"
ReplaceAll "\U+1047\" "З"
ReplaceAll "\U+1048\" "И"
ReplaceAll "\U+1049\" "Й"
ReplaceAll "\U+1050\" "К"
ReplaceAll "\U+1051\" "Л"
ReplaceAll "\U+1052\" "М"
ReplaceAll "\U+1053\" "Н"
ReplaceAll "\U+1054\" "О"
ReplaceAll "\U+1055\" "П"
ReplaceAll "\U+1056\" "Р"
ReplaceAll "\U+1057\" "С"
ReplaceAll "\U+1058\" "Т"
ReplaceAll "\U+1059\" "У"
ReplaceAll "\U+1060\" "Ф"
ReplaceAll "\U+1061\" "Х"
ReplaceAll "\U+1062\" "Ц"
ReplaceAll "\U+1063\" "Ч"
ReplaceAll "\U+1064\" "Ш"
ReplaceAll "\U+1065\" "Щ"
ReplaceAll "\U+1066\" "Ъ"
ReplaceAll "\U+1067\" "Ы"
ReplaceAll "\U+1068\" "Ь"
ReplaceAll "\U+1069\" "Э"
ReplaceAll "\U+1070\" "Ю"
ReplaceAll "\U+1071\" "Я"
ReplaceAll "\U+1072\" "а"
ReplaceAll "\U+1073\" "б"
ReplaceAll "\U+1074\" "в"
ReplaceAll "\U+1075\" "г"
ReplaceAll "\U+1076\" "д"
ReplaceAll "\U+1077\" "е"
ReplaceAll "\U+1078\" "ж"
ReplaceAll "\U+1079\" "з"
ReplaceAll "\U+1080\" "и"
ReplaceAll "\U+1081\" "й"
ReplaceAll "\U+1082\" "к"
ReplaceAll "\U+1083\" "л"
ReplaceAll "\U+1084\" "м"
ReplaceAll "\U+1085\" "н"
ReplaceAll "\U+1086\" "о"
ReplaceAll "\U+1087\" "п"
ReplaceAll "\U+1088\" "р"
ReplaceAll "\U+1089\" "с"
ReplaceAll "\U+1090\" "т"
ReplaceAll "\U+1091\" "у"
ReplaceAll "\U+1092\" "ф"
ReplaceAll "\U+1093\" "х"
ReplaceAll "\U+1094\" "ц"
ReplaceAll "\U+1095\" "ч"
ReplaceAll "\U+1096\" "ш"
ReplaceAll "\U+1097\" "щ"
ReplaceAll "\U+1098\" "ъ"
ReplaceAll "\U+1099\" "ы"
ReplaceAll "\U+1100\" "ь"
ReplaceAll "\U+1101\" "э"
ReplaceAll "\U+1102\" "ю"
ReplaceAll "\U+1103\" "я"
ReplaceAll "\U+8230\" "…"

 

Обратно закодировать текст для импорта, соответственно

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

ReplaceAll "Ё" "\U+1025\"
ReplaceAll "ё" "\U+1105\"
ReplaceAll "А" "\U+1040\"
ReplaceAll "Б" "\U+1041\"
ReplaceAll "В" "\U+1042\"
ReplaceAll "Г" "\U+1043\"
ReplaceAll "Д" "\U+1044\"
ReplaceAll "Е" "\U+1045\"
ReplaceAll "Ж" "\U+1046\"
ReplaceAll "З" "\U+1047\"
ReplaceAll "И" "\U+1048\"
ReplaceAll "Й" "\U+1049\"
ReplaceAll "К" "\U+1050\"
ReplaceAll "Л" "\U+1051\"
ReplaceAll "М" "\U+1052\"
ReplaceAll "Н" "\U+1053\"
ReplaceAll "О" "\U+1054\"
ReplaceAll "П" "\U+1055\"
ReplaceAll "Р" "\U+1056\"
ReplaceAll "С" "\U+1057\"
ReplaceAll "Т" "\U+1058\"
ReplaceAll "У" "\U+1059\"
ReplaceAll "Ф" "\U+1060\"
ReplaceAll "Х" "\U+1061\"
ReplaceAll "Ц" "\U+1062\"
ReplaceAll "Ч" "\U+1063\"
ReplaceAll "Ш" "\U+1064\"
ReplaceAll "Щ" "\U+1065\"
ReplaceAll "Ъ" "\U+1066\"
ReplaceAll "Ы" "\U+1067\"
ReplaceAll "Ь" "\U+1068\"
ReplaceAll "Э" "\U+1069\"
ReplaceAll "Ю" "\U+1070\"
ReplaceAll "Я" "\U+1071\"
ReplaceAll "а" "\U+1072\"
ReplaceAll "б" "\U+1073\"
ReplaceAll "в" "\U+1074\"
ReplaceAll "г" "\U+1075\"
ReplaceAll "д" "\U+1076\"
ReplaceAll "е" "\U+1077\"
ReplaceAll "ж" "\U+1078\"
ReplaceAll "з" "\U+1079\"
ReplaceAll "и" "\U+1080\"
ReplaceAll "й" "\U+1081\"
ReplaceAll "к" "\U+1082\"
ReplaceAll "л" "\U+1083\"
ReplaceAll "м" "\U+1084\"
ReplaceAll "н" "\U+1085\"
ReplaceAll "о" "\U+1086\"
ReplaceAll "п" "\U+1087\"
ReplaceAll "р" "\U+1088\"
ReplaceAll "с" "\U+1089\"
ReplaceAll "т" "\U+1090\"
ReplaceAll "у" "\U+1091\"
ReplaceAll "ф" "\U+1092\"
ReplaceAll "х" "\U+1093\"
ReplaceAll "ц" "\U+1094\"
ReplaceAll "ч" "\U+1095\"
ReplaceAll "ш" "\U+1096\"
ReplaceAll "щ" "\U+1097\"
ReplaceAll "ъ" "\U+1098\"
ReplaceAll "ы" "\U+1099\"
ReplaceAll "ь" "\U+1100\"
ReplaceAll "э" "\U+1101\"
ReplaceAll "ю" "\U+1102\"
ReplaceAll "я" "\U+1103\"
ReplaceAll "…" "\U+8230\"

 

Импортировать изменённый текст можно тем же скриптом с параметрами -r -w

quickBMS.exe -r -w bge20thPAKmod.bms Text-ru.pak

 

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

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


Ссылка на сообщение
9 часов назад, Grinder X19 сказал:

С этими проблемами нужно обратится туда где вы преобрели игру. В Ubisoft.

Уже. Но перспективы пока непонятные.

2 часа назад, xoixa сказал:

Достать можно этим скриптом

Спасибо. Хотя выглядит пока всё сложно. Чуть позже попробую разобраться :)

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


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

WinHex так и не осилил :(

Так и не понял, куда там нажимать для замены. Может это вообще с помощью другой программы делается?

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


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

@mphuZ блокнотом и автозаменой хоть пройтись по каждой букве с "заменить всё". 

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


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

@xoixa скажите дорогой, есть прогресс по переводу? Получается хоть что-то?

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


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

@xoixa иногда разрабы оставляют мусорные SoundbanksInfo.xml или .json файлы с именами .bnk пакетов, если повезёт. Стоит пройтись поиском по архивам, мб и тут оставили, а в них есть все соответствия имён к ид. Ну или искать вызовы имён (а они либо могут быть в скриптах, либо в ехе) и через FNV1 прогонять имена вызовов, чтобы получить ид. 

  • Спасибо (+1) 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Gerald
      Предлагаю на перевод вот steam https://store.steampowered.com/app/1294420/Rollerdrome/


      Rollerdrome — экшен-шутер от третьего лица, в котором высокоскоростные бои и безупречная картинка соединяются в одно захватывающее целое. Участвуйте в яростных впечатляющих боях, где убийства восполняют ваше здоровье, а трюки и грайнды дают боеприпасы: с этим адреналиновым шутером вы точно не соскучитесь.

      Идет 2030 год. В мире правят корпорации, граница между реальностью и игрой размыта, а всё внимание общества приковывает к себе новое, безгранично жестокое и кровавое зрелище — «Роллердром». Хватит ли у вас смелости стать чемпионом «Роллердрома» и выяснить истинные намерения таинственной корпорации «Маттерхорн»?

      Разработчики Roll7, которые подарили нам прекрасно принятую публикой и критиками серию OlliOlli, представляют напряженный роликовый шутер Rollerdrome в ностальгическом стиле ретрофутуризма. 

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

      Испытание мастерства: участвуйте в суровом турнире «Роллердрома». Доминируйте в списках лидеров и проверьте пределы своей ловкости в особом режиме «Охотники за кровью».  

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

      Мрачный заговор: раскройте зловещую интригу ретрофутуристичного мира.

    • Автор: Локалыч
      Русификатор — Kingdoms of the Dump — v1.0 (билд 1.0.19)
      Kingdoms of the Dump — уютная пошаговая ролевая игра в духе классических JRPG. Мир здесь населён ожившим мусором, а герой — мусорный рыцарь по имени Дастин, которому выпало спасать королевство. Тёплое, смешное и большое приключение. Русификатор полностью переводит игру на русский язык.
      ➤ СКАЧАТЬ РУСИФИКАТОР (Яндекс.Диск)
      ЧТО ПЕРЕВЕДЕНО

      Сюжет и катсцены Все диалоги и побочные задания Карта мира, таблички и указатели Бой: навыки, предметы, экипировка, враги и бестиарий Меню, настройки и весь интерфейс

      КАК УСТАНОВИТЬ

      Откройте папку с игрой: в Steam правой кнопкой по Kingdoms of the Dump → «Управление» → «Просмотреть локальные файлы». Скопируйте туда два файла — dinput8.dll и loc_ru.pck — рядом с kingdoms_of_the_dump.exe. Запустите игру. Она сразу будет на русском.

      СКРИНШОТЫ





      НЕБОЛЬШОЕ ПРИМЕЧАНИЕ
      Кое-где может попадаться английский — это служебные места, завязанные на саму игру, которые нельзя перевести без риска её сломать. На прохождение и понимание сюжета это не влияет. Заметите явно непереведённую реплику — напишите, добавлю.
      ПОСЛЕ ОБНОВЛЕНИЙ ИГРЫ
      Если после крупного обновления игры русский язык пропадёт или игра перестанет запускаться — удалите dinput8.dll (игра снова заработает в оригинале) и напишите мне: выпущу обновлённую версию русификатора. Сохранениям это не вредит.
      КАК УДАЛИТЬ
      Удалите из папки игры dinput8.dll и loc_ru.pck — вернётся оригинальная версия. Файлы игры не изменяются.
      ПРИМЕЧАНИЕ
      Если антивирус ругается на dinput8.dll — это ложное срабатывание, файл безопасен (добавьте папку игры в исключения).


      Перевод — Локалыч. Сделан с помощью нейросети и вычитан вручную.
      Telegram: https://t.me/lokalych
      VK: https://vk.com/lokalych
      Нашли ошибку или непереведённое место — напишите, поправлю.
       


×