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

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

В 06.07.2024 в 13:13, Tericonio сказал:

Редактирование скомпилированных скриптов ACS

 

В 07.07.2024 в 19:10, Tericonio сказал:

Редактирование карты через HEX

написал скрипты для упрощения процесса (QuickBMS включён в архив):

перетащить wad файл карты или dat/acs файл скрипта на unpack.bat для распаковки

перетащить wad файл карты или dat/acs файл скрипта на pack.bat для запаковки

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

get Name basename
string Name + ".txt"
idstring "ACS\x00"
get FSize long
findloc StrOffset string "STRL"
goto StrOffset

get ID long //STRL
get StrSize long

get Zero long
get StrCount long
get Zero long

//offsets
for i = 0 < StrCount
get StringOffset long
next i
log MEMORY_FILE 0 0
append
//strings
for i = 0 < StrCount
get Text string
put Text string MEMORY_FILE
put 0x0d byte MEMORY_FILE
next i
append

get MFSize asize MEMORY_FILE
log Name 0 MFSize MEMORY_FILE

 

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

get Name basename
get Ext EXTENSION
string Name + ".txt"
idstring "ACS\x00"
get FSize long
findloc StrlOffset string "STRL"
log MEMORY_FILE2 0 StrlOffset //before STRL
goto StrlOffset

get ID long //STRL
get StrlSize long

get Zero long
get StrlCount long
get Zero long

open "" Name 1
open 1
get TxtSize asize 
//parse txt
for 	
	getCT Text string 0x0d
	strlen TextSize Text
	math TextSize + 1
	putarray 0 -1 Text //save to array 0
	putarray 1 -1 TextSize //save length to array 1
	savepos Pos
	if Pos = TxtSize
		break
	endif 
next

getarray StringCount 0 -0x80000000


log MEMORY_FILE 0 0 // MF for STRL entry
//make new STRL entry
open MEMORY_FILE
append

//offsets
xmath BaseOffset "StringCount * 4 + 12"
set StringOffset long BaseOffset
for i = 0 < StringCount
getarray TextSize 1 i
put StringOffset long
math StringOffset + TextSize
next i 

for i = 0 < StringCount
getarray Text 0 i
put Text string
next i 

get MFSize asize
set NewStrlSize long MFSize
math NewStrlSize + 12
math NewStrlSize x 4 //alignment 4 bytes

open MEMORY_FILE2
put ID long //STRL
put NewStrlSize long

put Zero long
put StringCount long
put Zero long
log MEMORY_FILE2 0 MFSize MEMORY_FILE //append new STRL entry

xmath Delta "NewStrlSize - MFSize - 12"
putDstring "" Delta //append padding

xmath Offset "StrlOffset + StrlSize + 8"
xmath Size "FSize - Offset + 8"

open 0
log MEMORY_FILE2 Offset Size //append part after STRL entry
get MF2Size asize MEMORY_FILE2
xmath NewFSize "MF2Size - 8"
putVarChr MEMORY_FILE2 4 NewFSize long //new size
append
string Name > 4
string Name P "%Name%.%Ext%"
log Name 0 MF2Size MEMORY_FILE2 //write new acs to file

 

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

idstring "PWAD"
get FName basename
get Segments long
get SegOffset long
goto SegOffset

for i = 0 < Segments
get Offset long
get Size long
getDstring SegName 8
if i < 1
elif SegName = "SCRIPTS" || SegName = "TEXTMAP" || SegName = "DIALOGUE"
	string Name P "%FName%\%SegName%.txt"
	log Name Offset Size
elif SegName = "BEHAVIOR"
	string Name P "%FName%\%SegName%.acs"
	log Name Offset Size
elif SegName = "ZNODES"
	string Name P "%FName%\%SegName%.XGL3"
	log Name Offset Size
endif
next i

 

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

get FName basename
get Ext EXTENSION
get FSize asize
idstring "PWAD"
goto 0
get PWAD long
get Segments long
get SegOffset long
goto SegOffset
log MEMORY_FILE 0 0 //new wad
log MEMORY_FILE2 0 0 //SegTable
log MEMORY_FILE3 0 0 //
put PWAD long MEMORY_FILE
put Segments long MEMORY_FILE
set NewOffset long 0x0c
put NewOffset long MEMORY_FILE

//read seg data
for i = 0 < Segments
get Offset long
get Size long
getDstring SegName 8
if SegName = "SCRIPTS" || SegName = "TEXTMAP" || SegName = "DIALOGUE"
	string SegName + ".txt"
	open FName SegName 1
	string SegName > 4
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize
elif SegName = "BEHAVIOR"
	string SegName + ".acs"
	open FName SegName 1
	string SegName > 4
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize
elif SegName = "ZNODES"
	string SegName + ".XGL3"
	open FName SegName 1
	string SegName > 5
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize	
else 
	append
	log MEMORY_FILE Offset Size 0
	append
	put NewOffset long MEMORY_FILE2
	put Size long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + Size
endif

next i

get MFSize asize MEMORY_FILE
putVarChr MEMORY_FILE 8 MFSize long //write new SegTable offset

get MF2Size asize MEMORY_FILE2
append
log MEMORY_FILE 0 MF2Size MEMORY_FILE2 //append new SegTable 
append
get MFSize asize MEMORY_FILE
string Name P "%FName%.%Ext%"
log Name 0 MFSize MEMORY_FILE //write to file

 

 

Изменено пользователем xoixa
  • Лайк (+1) 2

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


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

@xoixa 

Для BEHAVIOR из *.wad ещё необходимо добавить смещения на 01 00 00 00 01 00 00 00 53 50 54 52 хоть они и не так критичны, можно и через HEX кусок вставить, всё равно сами смещения не меняются и размер файла тоже из-за внесения смещений тоже не поменяются.

Но даже без них уже намного меньше работы :beach:

Но может со временем, что-то на эти смещения будут вести какие-то другая часть переменных. 

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

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


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

Те кто будут проходить игру с моим русификатором, если появляются переменные, к примеру (DIALOG-01-76), то мне необходим номер этого диалога, поскольку для некоторого кода в скриптах при отображении этого текста возможно должен убираться знак $, в некоторых местах эта переменна нужна, а где-то нет.

Самому всё это протестировать — это будет очень долго и сложно.

Так же если касается и не переведённого текста, если есть скидывайте в эту ветку такие моменты.

Это касается всех будущих обновлений.

В новом обновлении: Добавлены будут все карты, где есть текст для планшетов и объектов или входа в локации, добавлены 3 шрифта (один из них точно работает, поскольку относится к тексту при открывании запертых дверей), так порядка 50 строк пришлось изменить, новых строк порядка 100.

Изменено пользователем Tericonio
  • Лайк (+1) 3

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


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

Обновление 0.61

Убрал переменные диалогов с карты, которые могли привести к появлению самой переменной — необходим тест.

Поправлено около ~50 мест разного характера, как диалоги, объекты, действия.

Добавлено нового текста — около 30 строк включая, Станцию улучшения оружия, Перемещение между локациями, и некоторые объекты.

Поправлен код бутылки пива, делая текст прозрачным — но необходим тест, переменную текста поднял выше альфа-канала, но пока не понятно, для чего альфа канал существует, может для прозрачности стекла??

Добавлены 4 шрифта для разных переменных отображающих текст, — Закрытые двери, Автомат Гвин, и повышение здоровья.

Внесены в некоторые скрипты уменьшенный масштаб текста, чтобы вмещался в рамки контуров.

Текст о повышении здоровья ещё можно уменьшить, если он ещё большой.

Благодаря @xoixa , изменение карт стало намного легче редактировать и вносить изменения, что уменьшило время.

 

По поводу тестов:

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

Изменено пользователем Tericonio
  • Лайк (+1) 3
  • Спасибо (+1) 1

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


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

Обновление старых сохранений, для их последующей загрузки под новые русификаторы (Может не сработать)

Переходим в папку Save в корневой папке игры, находим последний файл сохранения или создаём новый файл сохранения через игру.

Распаковываем autosave*.zds или save_manual*.zds через 7-zip в той же директории.

Открываем файл карты se_*.map.json и находим

 "MAIN","modsize": 123456

 ”QCKDIS","modsize": 123456

 ”ENEMYVO","modsize": 123456

За место 123456 размер этого файла за минусом 8 — 16 байт при сохранении

Если игра оригинальная то смотрим какой размер в моём Моде, в Language.pk3/ACS/ — в этой папке будут расположены все *.dat файлы, из-за которых игра выкидывает в Главное меню, если файлы менялись

 "MAIN" в оригинале 43312 (уже отнято 8 байт), в Моде 43772 (уже отнято 8 байт)

 ”QCKDIS" в оригинале 3568 (уже отнято 8 байт), в Моде 3872 (уже отнято 8 байт)

 ”ENEMYVO" в оригинале 73628 (уже отнято 8 байт), в Моде 73504 (уже отнято 8 байт) (В версии 0.61 его пока ещё нет)

Замещаем эти байты se_*.map.json и перекидываем в архив сохранения наши json файлы.

И пробуем загрузить наше сохранение, если получилось загрузить значит можно дальше играть не с 0.

Изменено пользователем Tericonio
  • Лайк (+1) 2

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


Ссылка на сообщение
В 12.07.2024 в 21:01, Tericonio сказал:

Обновление старых сохранений, для их последующей загрузки под новые русификаторы (Может не сработать)

Переходим в папку Save в корневой папке игры, находим последний файл сохранения или создаём новый файл сохранения через игру.

Распаковываем autosave*.zds или save_manual*.zds через 7-zip в той же директории.

Открываем файл карты se_*.map.json и находим

 "MAIN","modsize": 123456

 ”QCKDIS","modsize": 123456

 ”ENEMYVO","modsize": 123456

За место 123456 размер этого файла за минусом 8 — 16 байт при сохранении

Если игра оригинальная то смотрим какой размер в моём Моде, в Language.pk3/ACS/ — в этой папке будут расположены все *.dat файлы, из-за которых игра выкидывает в Главное меню, если файлы менялись

 "MAIN" в оригинале 43312 (уже отнято 8 байт), в Моде 43772 (уже отнято 8 байт)

 ”QCKDIS" в оригинале 3568 (уже отнято 8 байт), в Моде 3872 (уже отнято 8 байт)

 ”ENEMYVO" в оригинале 73628 (уже отнято 8 байт), в Моде 73504 (уже отнято 8 байт) (В версии 0.61 его пока ещё нет)

Замещаем эти байты se_*.map.json и перекидываем в архив сохранения наши json файлы.

И пробуем загрузить наше сохранение, если получилось загрузить значит можно дальше играть не с 0.

Добрый день! Я так понимаю, вы не продолжаете работу над русификатором?

  • Лайк (+1) 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Victor Veles

      Жанр: Экшен, приключенческая игра, квест Платформы: PC PS4 XONE NSW Разработчик: White Owls Inc. Издатель: White Owls Inc. Дата выхода на PC: 15 октября 2021 ОБ ЭТОЙ ИГРЕ:
      Состояние русификации
      Перевод — 100%
      Редактура — 55%
      Наша группа в ВКонтакте
      Наш канал в Telegram
      Наш бот в Telegram
      Наш чат в Telegram
      Наш канал на Youtube
    • Автор: Victor Veles

      Жанр: Action/Fighting Платформы:  PC XBOX Разработчик: Arc System Works Издатель: Arc System Works Дата выхода: 29 ноября 2007 Состояние русификации
      Шрифт — 100%
      Перевод — 100%
      Редактура — 70%
      Текстуры — 100%
      Наша группа в ВКонтакте
      Наш канал в Telegram
      Наш бот в Telegram
      Наш чат в Telegram
      Наш канал на Youtube

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

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

    • На эмулятор приставки Switch на ПК может? Или его можно поставить на Steam версию? Это два разных “человека”, Просьба не сбивать с панталыку, либо дать ссылку, где можно купить! Сразу — удалю свою ссылку и куплю лично (уже покупал для других игр переводы, и очень уважаю труд людей с того проекта!).
    • Не только на Свич, на ПК тоже.
    • SoulQuest Жанры: Экшен, Приключения, Инди, 2D
      Платформы: Windows (PC)
      Разработчик: SoulBlade Studio LLC, TomasJPereyra
      Издатель: indie.io
      Дата выхода: 1 мая 2026 г. Отзывы Steam: Очень положительные (85% положительных отзывов из 78)          Перевёл на русский язык с использованием нейросети + адаптированные шрифты. Совместимая версия:  steam v. 1.1.6 билд 23859951   от 22 июня 2026 года или 1.1.4 build  23349088 от 21 мая. Скачать: Boosty Установка: 1. Распакуйте архив. 2. Скопируйте содержимое архива. 3. Откройте Steam → нажмите на шестерёнку (Настройки) → Управление → Показать локальные файлы. 4. Вставьте скопированное в основную папку игры. 5. При запросе на замену файлов нажмите «Да».  
    • 10 Dead Doves Жанр:Глубокий сюжетСимулятор ходьбыЛавкрафтОлдскул Платформы: PC  Разработчик: Duonix Studios Издатель: Duonix Studios Дата выхода: 13 дек. 2024 г.     Русификатор 10 Dead Doves Нейросетевой перевод с правками, проверялось на версии build 20291734 Установка: распаковать в папку игры (TenDeadDoves\Content\Paks\mods) Бусти | видео

         
    • Попалась в коллекцию Steam-версия игры. Удивился, что нет русификатора для неё, только платный на приставку Switch. Решил ковырнуть и попробовать перевести, в итоге похоже получилось через MelonLoader... Делал для себя и своих — нейросетевой русификатор с ручными правками без фанатизма (названия, имена, артикли..), вроде неплохо получилось, по мне играбельно, делюсь: перевод Тестировалось на Steam версии  1.0.0 от 10.10.2025 (вроде как), но думаю к любой на ПК подойти должно.)
    • Жанр: Action/Adventure Платформы: PC PS2 GBA Разработчик: Powerhead Games Издатель: Konami Дата выхода: 28 апреля 2006 года WinX club — чудесное приключение в мире фэнтези моды и магии. 16-летняя земная девушка Блум вдруг обнаруживает в себе магические способности и переносится в сказочный мир Магикс, где в компании волшебниц ей предстоит пережить множество увлекательных приключений, поучаствовать в мини-играх, узнать о человеческих добродетелях и недостатках, познать ценность дружбы и спасти вселенную. Доброга-га!
      В пиццериях Додо началась коллаборация с "Клубом Винкс", а у нас таки дозрел патч на старый перевод главной феечки FF. В нём мы подлатали перевод, воткнули букву Ё, заменили сам шрифт, загадки перевели более адекватно. Готовы к полёту! Перевод уже доступен на ZoG. А что там по PS2-версии? Ну... не сегодня. А пока собирайте звёзды фей и хвастайтесь вашими брелоками из Додо. Всем пиццы и сытного дня!
    • Предлагаю на перевод вот steam https://store.steampowered.com/app/4121400/Uktena_64__Ultimate/ Мрачная комедийная хоррор-игра в стиле N64.

      Созданная для The Dread X Collection 4 , Uktena 64 - Ultimate представляет собой новое переиздание с 
      расширенными возможностями и совершенно новой дополнительной кампанией. Джебадию ждет странный звонок с предложением работы от CDC. 
      Больные животные распространяют смертельный неизвестный вирус, и их необходимо остановить. Джебу поручено выследить их и сфотографировать их жуткие телесные повреждения в качестве доказательств. 

      (Новая кампания с Ultimate)
      Пока Джеб охотится, его брат Джиб получает аналогичное задание. 
      ЦРУ хочет, чтобы всех зараженных животных выследили, а их тела уничтожили. У Джиба появляется отличная идея: он выследит этих тварей, а затем использует их мясо для своего терпящего крах ресторана барбекю. В игре Uktena 64 - Ultimate вы найдете: Атмосферная охота в разнообразных локациях с низким количеством полигонов. Множество уровней сложности, от очень лёгкого до совершенно несбалансированного. Пара забавных чудаков в качестве игровых персонажей. Разблокируемые чит-коды, позволяющие полностью взломать игру. Ужасы, превосходящие человеческое воображение.
    • Из перечисленных тут игр знаю только Смуту. И эти смутьяны там еще и экспэртами выступали. Если серьезно, хотелось бы чтобы подобные мероприятия приносили реальную пользу, а не заканчивались заключением пустых соглашений о всяческом сотрудничестве.
    • Горький 18 это, по сути, новая игра в плане сюжета. Там изменили не только имена, но и лор и диалоги и события. И да, игра классная получилась. Не раз проходил.
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×