deadspace.bin

How to translate the files of a game
uninvited_
Posts: 16
Joined: Wed Sep 16, 2015 9:36 pm

deadspace.bin

Post by uninvited_ »

Hi guys, help to open "deadspace.bin" file, or tools, thanks.


File link: http://www.mediafire.com/?i0kwppvkw3bixwo/deadspace.bin
makc_ar
Posts: 1193
Joined: Sun Aug 17, 2014 7:27 pm

Re: deadspace.bin

Post by makc_ar »

AutoIt src http://www.zoneofgames.ru/forum/index.p ... t&p=338946

Code: Select all

$sDeadspace_bin = FileOpenDialog("Please select *.bin file...", @ScriptDir, "Dead Space (*.bin)|All (*.*)",1)
If $sDeadspace_bin = "" Then
    Exit
EndIf
$iOffset = 8296 ; смещение, с которого начинается блок с текстом (десятичное значение)
$hDeadspace_bin = FileOpen ($sDeadspace_bin, 0+16) ; открываем для чтения + бинарный режим
FileSetPos ($hDeadspace_bin, $iOffset, 0); встаём на оффсет
If FileRead ($hDeadspace_bin, 4) <> "0x53545253" Then ; проверяем заголовок блока (STRS)
    MsgBox (0, "", "Не найден блок данных с текстом.")
    Exit
EndIf
FileSetPos ($hDeadspace_bin, $iOffset + 12, 0)
$iStringsNum = Dec (Hex (_Rotate(FileRead ($hDeadspace_bin, 4)), 8)) ; читаем количество строк и переводим в десятичную систему
$sAllText = ""
For $i=1 To $iStringsNum
    $iStringLen = Dec (Hex (_Rotate(FileRead ($hDeadspace_bin, 4)), 8))
    $sAllText &= StringReplace (BinaryToString (FileRead ($hDeadspace_bin, $iStringLen), 4), @CRLF, "\n") & @CRLF
Next
FileClose ($hDeadspace_bin)
$hAllText = FileOpen (@ScriptDir & "\DeadSpace_Text.txt", 2+128)
FileWrite ($hAllText, $sAllText)
FileClose ($hAllText)
MsgBox (0, "", "Готово!")
; $bBbytesToRotate - бинарные данные, которые надо перевернуть
Func _Rotate($bBytesToRotate)
    If IsBinary ($bBytesToRotate) = 0 Then Return "" ; если переданные данные не являются бинарными, возвращаем из функции пустоту
    $iBytes = BinaryLen ($bBytesToRotate) ; определяем количество байт
    $bRotatedBytes = Binary ("") ; объявляем переменную, в которой будет перевёрнутое значение и указываем, что она для хранения бинарных данных
    For $i = $iBytes To 1 Step -1 ; крутим цикл от максимального значения до 1
        $bRotatedBytes &= BinaryMid ($bBytesToRotate, $i, 1); выбираем по 1 байту с конца и объединяем с содержимым объявленной переменной
    Next
    Return $bRotatedBytes ; возвращаем перевёрнутый результат из функции
EndFunc ;==>_Rotate
uninvited_
Posts: 16
Joined: Wed Sep 16, 2015 9:36 pm

Re: deadspace.bin

Post by uninvited_ »

Thank you master : )
uninvited_
Posts: 16
Joined: Wed Sep 16, 2015 9:36 pm

Re: deadspace.bin

Post by uninvited_ »

How do import ?
uninvited_
Posts: 16
Joined: Wed Sep 16, 2015 9:36 pm

Re: deadspace.bin

Post by uninvited_ »

have converted and .txt extension .bin changed it to xxx_ error has given