Haze (PS3) - sample files

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Haze (PS3) - sample files

Post by AnonBaiter »

Well...

It does use zlib compression, though.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

Can you check if this script works?
http://aluigi.org/bms/swbf3.bms
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Yeah, it "kinda" works.
The .str file simply doesn`t exist in the game directory(it does work with the script so it`s not a complete loss), and there is also install.qik/install.val which has the rest of the archives among other stuff.

Not to mention that "uncompressed" archives simply doesn`t work with the script:

Code: Select all

Last script line before the error or that produced the error:
  70  getarray CHUNK_ZSIZE 1 CHUNK_IDX
Here`s a sample.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

"str" is optional.
As far as I can see all the files have been correctly extracted, right?
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Only on the ones that are compressed. Others such as "sound_french.pak"/"sound_french.pak.00"(it`s right there on the sendspace link) doesn`t work with the script as I`ve said earlier.

Code: Select all

. 0000000000000000 get     ARCHIVE_NAME "sound_french.pak" -1000
. 0000000000000000 idstr              "PBCK" 4
    50 42 43 4b                                       PBCK
. 0000000000000004 get     DUMMY      0x0000000000000018 4
. 0000000000000008 get     FILES      0x00000000000020e8 4
. 000000000000000c get     CHUNKS_OFF 0x0000000000029238 4
. 0000000000000010 get     CHUNKS_SIZE 0x0000000000000000 4
. 0000000000000014 get     DUMMY      0x0000000000000001 2
. 0000000000000016 get     DUMMY      0x0000000000000002 2
. 00000000 putarr  0          0x0000000000000000 1:0
. 00000000 putarr             "" 0:8424
. 0000000000004000 putvarc            0x0000000000000000 1
. 0000000000000018 get     CRC        0x00000000000eb373 4
. 000000000000001c get     SIZE       0x0000000000008bc0 4
. 0000000000000020 get     ZSIZE      0x0000000000000000 4
. 0000000000000024 get     OFFSET     0x0000000000b38000 4
. 0000000000000028 get     CHUNK_IDX  0x0000000000d1e6fc 3
. 000000000000002b get     PAK_NUM    0x0000000000000000 1
. 00000000 getarr  NAME       "" 0:0
. 0000000000008bc0 putvarc            0x0000000000000000 1
The script just stops if CHUNKS_SIZE/ZSIZE value is zero.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

If the problem is just SIZE 0 then try script 0.2.3
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Thanks for the update mate, it works now!
There is one thing missing though, and it`s not these .pak files.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

So I`m trying to write a script based on these install.qik/install.val files.

Code: Select all

open FDDE "val" 0
open FDDE "qik" 1

get VAL_SIZE asize

for CURR_OFF = 0 < VAL_SIZE
   get TMP line
   string TMP R "*" "  "
   string ELEMENTS S TMP IDENT NAME SIZE
   putarray 0 i TMP
   putarray 1 i IDENT
   putarray 2 i NAME
   putarray 3 i SIZE
   savepos CURR_OFF
next
The thing is I just want the script to break a line after it has been separated by " ", but I don`t know how to achieve that.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

So you want to process all the TMP lines including the one that contains a space " " in it, and then breaking after it, correct?
go with do->while:

Code: Select all

do
...
while TMP & " "
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Like this?

Code: Select all

do
   get TMP line
   string TMP R "*" " "
   string ELEMENTS S TMP IDENT NAME SIZE
while TMP & " "
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

Ah right you need just the opposite of that condition (like !TMP&" ") which is not possible in quickbms, so use this:

Code: Select all

for OK = 1 != 0
   get TMP line
   string TMP R "*" " "
   string ELEMENTS S TMP IDENT NAME SIZE
   if TMP & " "
      math OK = 1
   endif
next

The following works too:

Code: Select all

for
   get TMP line
   string TMP R "*" " "
   string ELEMENTS S TMP IDENT NAME SIZE
   if TMP & " "
      break
   endif
next

Please note that the Break command had some problems in versions of quickbms before 0.8.0, it will work in the example above but in some different and more complex situations may give problems with these old versions.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

I tried both solutions and the result was still the same.

Code: Select all

. 00000000 putarr  IDENT      "0" 0:0
. 00000000 putarr  NAME       "00369c0b.pak" 1:0
. 00000000 putarr  SIZE       "77948" 2:0
.
Only the first of the many files was processed, and this is from the latest version.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

It works exactly as expected.
You told me that you want to break when a space is found in the input and that's what it does.
If you meant something else then reformulate.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Sorry.
BRAGme
Posts: 1
Joined: Fri Dec 22, 2017 3:04 am

Re: Haze (PS3) - sample files

Post by BRAGme »

So does the install.qik have the music as well? I know the sound_english has the music but does it have all the music? I would like the script to extract the install.qik please!
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Haze (PS3) - sample files

Post by AnonBaiter »

Probably.
EDXZ23
Posts: 5
Joined: Thu Jun 20, 2019 10:39 pm

Re: Haze (PS3) - sample files

Post by EDXZ23 »

Is there a script for the install.qik? swbf3.bms(0.2.3) doesn’t extract it
EDXZ23
Posts: 5
Joined: Thu Jun 20, 2019 10:39 pm

Re: Haze (PS3) - sample files

Post by EDXZ23 »

Hi Luigi,

the SWBF3 bms 0.2.3 extracts Haze archives.

However it doesn't extract the 3D models to the right extension (.rax) but to .dat

is there a script that extracts to .rax or is there a way to convert them?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Haze (PS3) - sample files

Post by aluigi »

The script dumps the files "as-is" without any conversion.
EDXZ23
Posts: 5
Joined: Thu Jun 20, 2019 10:39 pm

Re: Haze (PS3) - sample files

Post by EDXZ23 »

aluigi wrote:The script dumps the files "as-is" without any conversion.


Managed to get around all of that by using a hex2obj program. I was wondering though if it was possible for you to update the script so all the dumps have the asset name? right now it dumps them and it has a string of numbers and i have to manually search over 28,000 files to find what I want. I appreciate your work though, I wouldn't be able to get as far on my project without it :D