Jump to content
Zone of Games Forum
sheltem

Full Throttle Remastered

Recommended Posts

Прошу помощи или подсказки “чем и как” в открытии двух файлов из игры de.speech.info и  de.uitext.info для переноса русского перевода на другую платформу.

Файлы для открытия

Share this post


Link to post
2 часа назад, misha_rus сказал:

спорное утверждение конечно сейчас такое говорить.

Когда по этому коду чат бот написал код почти что рабочий.

а программист написал бы рабочий xD
Ну и да — попробуй чат ботом ту же якудзу разобрать, давай, я посмотрю
Я насколько помню делал и упаковку, и распаковку, вот отрывокctRX9FngwlQ.jpg?size=1624x831&quality=96

Share this post


Link to post

efimandreev0 - если есть возможность - помогите с переносом на другую платформу.

Share this post


Link to post
В 08.06.2024 в 14:55, sheltem сказал:

efimandreev0 - если есть возможность - помогите с переносом на другую платформу.

я алчный ублюдок и помогаю за бабки

 

  • Like (+1) 1

Share this post


Link to post

все имеет цену и алчность тоже...

Share this post


Link to post
6 часов назад, sheltem сказал:

все имеет цену и алчность тоже...

ну моя алчность начинается от 5, а дальше посмотрим

 

  • Like (+1) 1

Share this post


Link to post
Posted (edited)
В 16.09.2023 в 11:31, sheltem сказал:

Прошу помощи или подсказки “чем и как” в открытии двух файлов из игры de.speech.info и  de.uitext.info для переноса русского перевода на другую платформу.

Файлы для открытия

если под “открытием” вы имели ввиду извлечь текст

Edited by xoixa
  • Like (+1) 1

Share this post


Link to post

Скрипты для распаковки/запаковки info файлов из игры Full Throttle Remastered (QuickBMS включён в архив)

распаковать в папку с info файлами

Перетащить info файл на соответствующий convertPC.bat или convertPS4.bat для распаковки в txt

Перетащить txt файл на соответствующий convertPC.bat или convertPS4.bat для запаковки в info

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

//Full.Throttle.Remastered localization text extract from PC uitext.info and speech.info
//quickbms script
get FSize asize
get Name basename
//search filename for "speech" in it
string type = Name
string type < 3
string type r type
string type $ "hceeps"
string type r type

get Count long
if type == "speech" //speech
print "seems its a speech type file"
savepos Pos
get Unk1 long
get Unk2 long
get Zero longlong
get Zero longlong
get First long
goto Pos
for i = 0 < Count
getDString Unk1 12
getDString Unk2 12
get idOffset long
get textOffset long
putarray 2 -1 Unk1
putarray 3 -1 Unk2
next i

set headerSize 28
math First + headerSize
goto First
else //ui
print "seems its a ui type file"
set headerSize 4
get First long
math First + headerSize
goto First
endif


for i = 0 < Count
get id string
get Text string 

putarray 0 -1 id
putarray 1 -1 Text
next i

log MEMORY_FILE 0 0
append
for i = 0 < Count
getarray id 0 i
getarray Text 1 i
strlen idsize id 1
strlen Textsize Text 1

if type == "speech" //speech
getarray Unk1 2 i
getarray Unk2 3 i
putDString Unk1 12 MEMORY_FILE
putDString Unk2 12 MEMORY_FILE
put 0x09 byte MEMORY_FILE //tab
endif

putDString id idsize MEMORY_FILE
put 0x09 byte MEMORY_FILE //tab
putDString Text Textsize MEMORY_FILE
put 0x0d byte MEMORY_FILE //next line
next i
append

get Size asize MEMORY_FILE
string Name + ".txt"
log Name 0 Size MEMORY_FILE

 

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

//Full.Throttle.Remastered localization text packer to PC uitext.info and speech.info
//quickbms script
get FSize asize
get Name basename
//search filename for "speech" in it
string type = Name
string type < 3
string type r type
string type $ "hceeps"
string type r type

for 
if type == "speech" //speech
getDstring Unk1 12
getDstring Unk2 12
get Tab byte //0x09
putarray 4 -1 Unk1
putarray 5 -1 Unk2
endif
getCT id string 0x09
getCT Text string 0x0D
strlen idSize id
math idSize + 1
strlen TextSize Text
math TextSize + 1
putarray 0 -1 id
putarray 1 -1 Text
putarray 2 -1 idSize
putarray 3 -1 TextSize
savepos Pos
if Pos = FSize
break
endif
next
getarray Count 0 -0x80000000 //get elements count in array 0

log MEMORY_FILE 0 0
open MEMORY_FILE
append
put Count long 
if type == "speech" //speech
print "seems its a speech type file"
else //ui
print "seems its a ui type file"
endif


//make Offsets Table
if type == "speech"                        //speech
	//Strings Offsets
	set EntrySize 32
	xmath strStartOffset "4 + Count * EntrySize"

	for i = 0 < Count
	
	getarray Unk1 4 i
	getarray Unk2 5 i
	getarray idSize 2 i
	getarray TextSize 3 i	
	putDString Unk1 12
	putDString Unk2 12	
	
	if i = 0 
		math strOffset = 0
		math Shift = 28
		
		xmath idOffset "strStartOffset + strOffset - Shift"
		put idOffset long //idOffset
		
		xmath textOffset "strStartOffset + strOffset - Shift + idSize - 4"
		put textOffset long //textOffset
		
		xmath strOffset "strOffset + idSize + TextSize"
	else
		math Shift + 32
		xmath idOffset "strStartOffset + strOffset - Shift"
		put idOffset long //idOffset
		
		xmath textOffset "strStartOffset + strOffset - Shift + idSize - 4"
		put textOffset long //textOffset
		
		xmath strOffset "strOffset + idSize + TextSize"
	endif
	next i
else                                         //ui
	//Strings Offsets
	xmath Offset "Count * 2 * 4"
	for i = 0 < Count
	getarray idSize 2 i
	getarray TextSize 3 i
	put Offset long
	xmath Offset "Offset + idSize - 4"
	put Offset long
	xmath Offset "Offset + TextSize - 4"
	next i
endif

//make Strings Table
for i = 0 < Count
getarray id 0 i
getarray Text 1 i
put id string
put Text string
next i
append
get Size asize

open 0
string Name + ".info"
log Name 0 Size MEMORY_FILE

 

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

//Full.Throttle.Remastered localization text extractor from PS4 uitext.info and speech.info
//quickbms script
get FSize asize
get Name basename
//search filename for "speech" in it
string type = Name
string type < 3
string type r type
string type $ "hceeps"
string type r type

get Count longlong
if type == "speech" //speech
print "seems its a speech type file"
savepos Pos
get Unk1 longlong
get Unk2 longlong
get Zero longlong
get First longlong //first string offset
goto Pos
//read unk data
for i = 0 < Count
getDString Unk1 12
getDString Unk2 12
get idOffset longlong
get textOffset longlong
putarray 2 -1 Unk1
putarray 3 -1 Unk2
next i

set headerSize 32
math First + headerSize
goto First
else //ui
print "seems its a ui type file"
set headerSize 8
get First longlong
math First + headerSize
goto First
endif

//read text data
for i = 0 < Count
get id string
get Text string 

putarray 0 -1 id
putarray 1 -1 Text
next i

log MEMORY_FILE 0 0
append

//write to MF
for i = 0 < Count
getarray id 0 i
getarray Text 1 i
strlen idsize id 1 //lenght without trailing zero
strlen Textsize Text 1 //lenght without trailing zero

if type == "speech" //speech
getarray Unk1 2 i
getarray Unk2 3 i
putDString Unk1 12 MEMORY_FILE
putDString Unk2 12 MEMORY_FILE
put 0x09 byte MEMORY_FILE //tab
endif

putDString id idsize MEMORY_FILE
put 0x09 byte MEMORY_FILE //tab
putDString Text Textsize MEMORY_FILE
put 0x0d byte MEMORY_FILE //next line
next i
append

get Size asize MEMORY_FILE
string Name + ".txt"
log Name 0 Size MEMORY_FILE

 

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

//Full.Throttle.Remastered localization text packer to PS4 uitext.info and speech.info
//quickbms script
get FSize asize
get Name basename
//search filename for "speech" in it
string type = Name
string type < 3
string type r type
string type $ "hceeps"
string type r type

//read data from txt
for 
if type == "speech" //speech
getDstring Unk1 12
getDstring Unk2 12
get Tab byte //0x09
putarray 4 -1 Unk1
putarray 5 -1 Unk2
endif
getCT id string 0x09
getCT Text string 0x0D
strlen idSize id
math idSize + 1 //string size + 00
strlen TextSize Text
math TextSize + 1 //string size + 00
putarray 0 -1 id
putarray 1 -1 Text
putarray 2 -1 idSize
putarray 3 -1 TextSize
savepos Pos
if Pos = FSize
break
endif
next
getarray Count 0 -0x80000000 //get elements count in array 0

log MEMORY_FILE 0 0
open MEMORY_FILE
append
//write to MF
put Count longlong 
if type == "speech" //speech
print "seems its a speech type file"
else //ui
print "seems its a ui type file"
endif


//make Offsets Table
if type == "speech"                        //speech
	//Strings Offset
	set EntrySize 40
	xmath strStartOffset "8 + Count * EntrySize"
	for i = 0 < Count
	
	getarray Unk1 4 i
	getarray Unk2 5 i
	getarray idSize 2 i
	getarray TextSize 3 i	
	putDString Unk1 12
	putDString Unk2 12	
	
	if i = 0 
		math strOffset = 0
		math Shift = 32
		
		xmath idOffset "strStartOffset + strOffset - Shift"
		put idOffset longlong //idOffset
		
		xmath textOffset "strStartOffset + strOffset - Shift + idSize - 8"
		put textOffset longlong //textOffset
		
		xmath strOffset "strOffset + idSize + TextSize"
	else
		math Shift + EntrySize
		
		xmath idOffset "strStartOffset + strOffset - Shift"
		put idOffset longlong //idOffset
		
		xmath textOffset "strStartOffset + strOffset - Shift + idSize - 8"
		put textOffset longlong //textOffset
		
		xmath strOffset "strOffset + idSize + TextSize"
	endif
	next i
else                                         //ui
	//Strings Offset
	xmath Offset "Count * 2 * 8"
	for i = 0 < Count
	getarray idSize 2 i
	getarray TextSize 3 i
	put Offset longlong
	xmath Offset "Offset + idSize - 8"
	put Offset longlong
	xmath Offset "Offset + TextSize - 8"
	next i
endif

//make Strings Table
for i = 0 < Count
getarray id 0 i
getarray Text 1 i
put id string
put Text string
next i

append
get Size asize

open 0
string Name + ".info"
log Name 0 Size MEMORY_FILE

 

 

  • Like (+1) 1
  • Thanks (+1) 1

Share this post


Link to post

Спасибо.. проверяю...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Featured

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

    • Не надо мне лицензию. Попозже скину шрифты.
    • Не, у меня силы воли хватило на Sunless Sea, уж эту я точно переведу. Пришли свой аккаунт на Стиме, я тебе лицензию на игру отправлю.
    • Отчёт по прогрессу: Было переведено 3 миссии:   4A - "Удар по вражескому отряду":   4B - "Снайперская операция":   5A - "Преследование":   В процессе перевода:   Миссия 5B - "Перекрытие линий снабжения".
      Миссия 06 - "Оборона арсенала".
      Миссия 07 - "Охота".   Были переведены сплэш-скрины ("ход игрока", "ход врага", "миссия выполнена" и т.д.):   Также была обнаружена возможность использовать цветной текст:   Всем спасибо за поддержку!
    • Если ты всерьёз собираешься делать полный перевод, то я шрифты сделаю без проблем. Просто как правило здесь все переводы заканчиваются на извлечении текста.
    • должно быть конечно
    •   Не совсем, в серии есть свои ньюансы: FE1 и FE2(буду писать нумирацией, так проще) играть сейчас можно только для исторической справки, у обоих игр есть ремейк. FE3 японская классика и игра, которая построила франшизу. Она одновременно ремейк FE1 и её же сиквел. FE4 культовая игра серии, фанаты которой до сих пор надеются на ремейк, любят за сюжет. FE5 мидквел FE4, славится своей нечестной сложностью и заковыристыми экспериментами с игровой механикой. FE6 слегка вернул серию к корням, облегчив игровую механику в сравнении с прошлыми играми серии. FE7 приквел к FE6, первая игра серии, выпущенная на западе. FE8 игра, выпущенная под конец жизни GBA, разработанная параллельно FE9 и полностью самостоятельный сюжет от остальной серии. FE9 тоже культовая игра серии, которую не признали на релизе, но теперь её почитают как одну из лучших. FE10 прямой сиквел к FE9, игра, которая из-за своего высокого бюджета и провала чуть не похоронила серию. FE11 ремейк FE1. FE12 ремейк FE3, не выходила за пределами японии. FE13 спасла серию от забвения, хоть и устоявшиеся фанаты невзлюбили её, но она открыла окно серии для массовой аудитории. FE14 идейный сиквел FE13, с другим сюжетом и допиленными игровыми механиками оттуда. Хоть и игру до сих пор ругают за её странный сюжет, но в геймплейном плане игра считается одной из лучших. FE15 ремейк FE2. FE16 на данный момент самая успешная игра серии. Хоть и очень раздутая, но игрокам, как старичкам, так и новичкам, понравилась. FE17 Игра, которая изначально планировалась как игра-кроссовер на юбилей серии в 2020 году, которую превратили в полноценную игру серии. Понравилась людям за геймплей.
    • Успех Атомного сердца кому-то не даёт покоя.
    • Ну вероятно история “Терминатор” особо неизвестна(непопулярна) в азиатских странах, вот они и решили для азиатов аналог сделать.
    • Обновление для версии 1.5.0. Содержит перевод всех дополнений:
      СКАЧАТЬ
  • Recent Status Updates

    • Samum2000  »  SerGEAnt

      Это был ответ на массоввое занижение моей репутации от OneinchofAsh
      Предупреждай и его тогда.
      · 3 replies
    • analiys  »  PeterRodgers

      ты где жи есть?
      · 0 replies
    • evilneverdie  »  McLain

      Здравствуйте, нет ли у Вас желания починить шрифт в русификаторе The Last Case of Benedict Fox для версии Definitive Edition, заранее спасибо
      · 2 replies
    • Иван54  »  SerGEAnt

      почему после устоновке русефекатора звука меня выкинула на мисе где вечеринка когда я захожу нажимаю продолжить меня опять выкинула  Marvel's Midnight Suns

       
      · 0 replies
  • Popular Contributors


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

×