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

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


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

Добрый день.. Русификатор заглох?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: tishaninov

      Описание игры:

      Название: Bendy and the Dark Revival
      Год выпуска: 2022
      Жанр: Хоррор, Экшен
      Разработчик: Joey Drew Studios
      Издатель: Joey Drew Studios
      СТАТУС ЛОКАЛИЗАЦИИ:
      Корректура и редактура текста - 67.417%, текстуры — сортировка
    • Автор: Evil_Finalist

      Tales Of Xillia 2
      Сказания Эксиллии 2
      テイルズ オブ エクシリア 2 ДАТА ВЫХОДА: 22 августа 2014 (европа)                    ЖАНР: jRPG
      ИГРОВЫЕ ПЛАТФОРМЫ: PlayStation 3                             ИЗДАТЕЛЬ: Namco Bandai
      ЯЗЫК ПЕРЕВОДА: Русский                                               РАЗРАБОТЧИК: Namco Tales Studio
      ЯЗЫК ОЗВУЧКИ: Японский, Английский                      БОЕВАЯ СИСТЕМА: Cross Double-Raid Linear Motion Battle System
      (1) Технический план:                         (2) Текстовый план:
      100% Разбор ресурсов                      005% Сюжет
      000% Текстуры                                    000% НИП’ы и надписи
      000% Видеоролики                             000% Сценки
      000% Вставка контента                     000% Квесты
      000% Редактирование                       000% Синопсис
      000% Тестирование                         000% Меню и интерфейс
                                                                000% Глоссарий
        УЧАСТНИКИ ПЕРЕВОДА: Evil Finalist (Вадим Стрежов): руководство проекта, вставка контента
      Coronel Karol (Каролина Лебедева): главный переводчик (сюжет, сценки, квесты, НИПы и меню), редактирование
      NeXoGone: работа с текстурами и логотипом
      RangerRus: хакинг, разбор ресурсов
                  Начало проекта: 09.02.2021
      Завершение проекта: ???
      Дата релиза: ???     ССЫЛКИ НА РУСИФИКАТОРЫ:

      Полный перевод v1.00: ожидается Страница перевода на сайте: http://temple-tales.ru/translations_tox2.html
      Группа в ВК: ВК https://vk.com/temple_of_tales_translations
      Канал Ютуба: https://www.youtube.com/channel/UCJfDLKD1ClnKgLBdf7eblNA
       
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Идёт сбор средств на оплату услуг переводчика японского Tales Of Xillia 2
      Собрано: 11 546,67 / 350 000
      последнее обновление от 02.09.2024
      Карта Сбербанка: 5469 9802 0654 4716
      ЮMoney/Яндекс кошелёк: 410011235819402
      Список донатеров: http://temple-tales.ru/donations_tox2.txt
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

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

    • Стилистика прикольная, но геймплей смотрится как-то криво.
    • @Dendy1693 @mc-smail потому так ценны продукты, которые идут в разрез с этими устоявшимися правилами. И они все равно продолжаются появляться и иногда даже хватать нереально крутую кассу и любовь игроков. А продукты от условного Убейсофт, даже если и зарабатывают что-то, то похвалу они получают только от всяких Логвиновых и не более. Вполне может наступить момент, когда прибыль уже упадет настолько существено, а годные конкуренты начнут зарабатывать настолько хорошо, что что-то там может щелкнуть таки наконец, что если делать хорошие игры для своей аудитории — это будет окупаться в разы лучше. Про Убейсофт ща пишут, что у них совсем какаят жопа последнее время, так что не все так радужно, вероятно
    • В игре присутствует русская озвучка, которой занималась студия GamesVoice. Болгарская студия Admiral Games сообщила о выходе в ранний доступ «action/RPG beat ’em up» Immortal Hunters, действие которого происходит «во вселенной, где Церковь убила Бога и захватила мир». В игре присутствует русская озвучка, которой занималась студия GamesVoice.
    • Добрый день.. Русификатор заглох?
    • @marine_harrison опубликовал на форуме сразу несколько русских озвучек для оригинальной дилогии Serious Sam — пусть будут в коллекции. @marine_harrison опубликовал на форуме сразу несколько русских озвучек для оригинальной дилогии Serious Sam — пусть будут в коллекции. Теперь для Serious Sam: The First Encounter и The Second Encounter можно скачать следующее: Русификатор текста с золотого издания 1С Русификатор звука с классического издания 1С (Джигурда) Русификатор звука с золотого издания 1С (Джигурда) Русификатор звука с Fusion DLC (только для TFE) Русификатор от Real Russian Serious Sam Voice Pack Русификатор звука от MetalTales
    • @mc-smail Конечно будем посмотреть,  но по моим ощущениям ААА индустрия попросту вымирает. Убисофт — это хороший показательный пример. Они конечно могут свои продукты называть как угодно и даже это делают со своими АААА продуктами, но по факту качество и уровень исполнения — это в лучшем случае А продукт, а в более реалистичном приближении это УЖЕ B или даже С продукты. В которых только пиар и тянет на ААА. Сама же убисофт отчитывалась относительно недавно, что только Ассасин смог что-то там показать, а все остальное это сотни миллионов убытков. Поэтому и продукты скукоживаются как и их количество. А самое главное это происходит не потому что дорого, а потому что современный ААА геймдев не может мыслить широко. Сейчас им удобно мыслить лутбоксиками, микротранзакциями, играми сервисами и т.п., и сама мысль выходить за их рамки неудобна и неприятна. А игрок сам по себе сталкивается с давлением не только пиармашин крупных издателей, но и повсеместной фашистской политотой, которая тоже старается не давать мыслить широко. Такие игры как БГ3 или Вуконг, Зельда, игры прошлого создают неприятные прецеденты, и именно на их фоне можно видеть как измельчал современный ААА геймдев.  А по поводу, без спроса не будет и предложения так это давно уже не так. Современный ААА геймдев является частью империалистического капитала, поэтому управляется он не спросом, а внутренними интересами этого самого капитала. И именно эти интересы диктуют спрос. Даже если сейчас все разом перестанут покупать игры ЕА, Убисофт, Близард, Микрософт выходить они не перестанут. Вместо этого усилят внутреннее и внешнее давление на потребителя, что бы показать какой он плохой патриот, приверженец свободы и демократии, и соответственно находится на стороне зла. Мы уже видели как на свою аудиторию плевали вообще все. Зачем увеличивать прибыль от игр, фильмов, книг и т.п., если все те же деньги вы принесете в виде выплаты налогов, кредитов, комуналки и т.п. тем же самым людям? Безусловно эти области буду продолжать оставаться денежными, но никакие “потери” при современной системе распределения богатств уже не являются потерями в прямом смысле слова. 
    • Это неизбежность, как многие другие негативные вещи в игровой индустрии. Например внутриигровой донат в сюжетных проектах. Сколько люди не ругались в интернете на подобное в сингл проектах, Юби как встраивала в свои проекты внутриигровой магазин, так и продолжает встраивает, значит спрос есть, а без спроса не будет предложения. Как многие ругались на сырой релиз Киберпанка, но игра отлично продалась, а сырые игры как выходили, так и продолжает выходить, это никакого не остановило, так как сырой продукт не ровно плохие продажи. Поэтому все эти тенденции будут сохранятся и наращивать обороты, так как народ это поддерживает деньгами, а “ор” в интернете по факту ничего не решает, решают бабки. Но не те, что на скамейках у подъезда сидят) а те, что пахнут $$$ богатством
    • Ещё разработчики сделали анонс, что добавят в The Crew 2 и Motorfest режим оффлайн. Как по мне достойный поступок, а то у первой части серваки оффнули и всё(
  • Изменения статусов

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


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

×