Page 1 of 2

The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Sat May 30, 2009 1:25 pm
by Itze
Hey i've been trying to unpack The Void / Tension Bigfiles and it works, atleast for files without folder structures.

I've never worked with mexcom script before but i wanted to give it a try ;)

File Structure of .VFS Files:

long 0x0 = fileheader = "LP2C"
long 0x4 = total folders in Archive(probably :P)
long 0x8 = files in current folder
byte 0xC = length of filename
string 0xC + lof = filename
long 0xC + lof = filesize
long 0xC + lof + 4 = offset of file in archive
long 0xC + lof + 4 + 12 = next file

i don't know if i explained this correctly but check my example files and you'll know wtf i mean ;)

Examples archives:
http://s000.tinyupload.com/index.php?fi ... k=transfer

the script will work perfectly for Effects.vfs however Properties.vfs contains a folderstructure and i have no idea how to handle it...

This is my BMS script so far:

Code: Select all

# The Void
# script for QuickBMS http://aluigi.org/papers.htm#quickbms

idstring "LP2C"
get TOTAL_SIZE asize
get FOLDERS long 0
set PATHNAME string ""

if FOLDERS < 1;
get FILES long 0
else;
#set FILES 0 
EndIf;

for i = 1 to FILES;
get FILENLENGTH byte 0
getdstring FILENAME FILENLENGTH

get FILESIZE long 0

savepos OFFSET
math OFFSET += 4
goto OFFSET
get FILEOFFSET long 0

string PATHNAME += Extracted
string PATHNAME += \
string PATHNAME += FILENAME

log PATHNAME FILEOFFSET FILESIZE

set PATHNAME string ""

savepos OFFSET
math OFFSET += 12
goto OFFSET

next i;

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Sat May 30, 2009 8:09 pm
by aluigi
the bms language is not good for recursive formats like this one

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Sun Jun 07, 2009 10:12 pm
by aluigi
new version of quickbms just released with (experimental) support for recursive function.
I have tested it with the 2 files you provided and worked perfectly so get the script and the new version and test also the other files:
http://aluigi.org/papers/bms/thevoid.bms
http://aluigi.org/papers.htm#quickbms

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 5:09 pm
by Savage
I tried and is NOt working in a big file called TEXTURES.VFS 3.183.391.171bytes, if you need big attachments (like 25-50mb's) i can upload.

Code: Select all

QuickBMS generic files extractor 0.3.4b
by Luigi Auriemma
e-mail: [email protected]
web:    aluigi.org

- open input file Textures.vfs
- open script thevoid.bms
- set output folder output

  offset   filesize   filename
------------------------------
- SCRIPT's MESSAGE:
  the ZERO value is not 0 (721451109), contact me!

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 5:27 pm
by aluigi
ok no problem, first try the following test.
open thevoid.bms with a text editor and place a # before the "cleanexit" instruction at line 29, example: "#cleanexit"
then relaunch the script and check if all the files are extracted correctly.
then open the first extracted file (the one for which was showed the ZERO alert) and check if it's content is correct.

if the extraction fails or the content of the file is corrupted then I need to analyze this file, otherwise let me know if it's all correct and I will remove the alert

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 6:13 pm
by Savage
Okay added # in cleanexit at line 29 i get the next:

Code: Select all

  offset   filesize   filename
------------------------------
- SCRIPT's MESSAGE:
  the ZERO value is not 0 (721451109), contact me!

  742e426f 1818582872 \normalize.prc\n☻\_lt.prc♠☺\fresnel_glass.prc\r☻\Û╔☺‼ps_fi
rework_ray.texP♂\Ü╠☼╣Û╔☺‼map_moving_girl.texÇ►\exǧ\\ãn(╣Û╔☺¶Garden2GrassTile.te
xÇ \◄\◄\y_up.texÇ \HT_LemnaMoonSkyUp.texÇ \\\╔☺▬PS_FX_DrillerSpark.texÇ(\ernButt
erflies.texÇ_\Ole_door2_loops_dnn_300.tex\┘♣\\\Ole_modeling_03_cont_dnn.tex\X♠\\
N7▬╣Û╔☺↓ole_stucco_moulding_2.texÇ_\texÇ_\\_dirDrop.tex

Error: incomplete input file number 0, can't read 584380420 bytes.
       anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted
No files extracted just created a folder called normalize.prc

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 6:17 pm
by aluigi
ok, in this case I need to have the file or piece of it

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 6:38 pm
by Savage
Here is, 44.21MB, unpacked it's 95mb's
http://www.zshare.net/download/67659142b85bb1a1/

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 7:01 pm
by aluigi
very well, practically the problem was in the handling of the folders before the files while it was the opposite.
I have updated the script to version 0.1.1

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Oct 29, 2009 11:21 pm
by Savage
i get some errors:
This is unpacking the file Textures.vfs

Code: Select all

  7ea3e04d 5505152    \garden1_terrain_down_dust.tex
  7ef7e0cd 5505152    \garden1_terrain_right_dust.tex
  7f4be14d 5505152    \garden1_tower_down.tex
  7f9fe1cd 5505152    \garden1_tower_down_normal_200.tex
  7ff3e24d 5505152    \garden1_tower_up.tex
  8047e2cd 5505152    \garden1_tower_up_normal_200.tex

Error: the specified offset can't be reached
This is unpacking audios in some files, file sizes are different but with same name

Code: Select all

 0ad2d024 247979     \gesture_mine_fireworks#22.ogg
 0ad698cf 248154     \girl_sister_tree_alive#22.ogg
 0ada6229 248337     \poema#22.ogg
 the file "poema#22.ogg" already exists
 do you want to overwrite it (y/N/all)?
And (sorry) the file Scenes.vfs is compressed with zlib, the script unpacks this but not decompress
I upload a 10mb's of scenes.vfs
http://www.zshare.net/download/676705594a3b061e/

Thanks! 8D

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Fri Oct 30, 2009 12:29 am
by aluigi
for the first problem it was a bug of quickbms in the handling of files bigger than 2 gigabytes and has been fixed just today in version 0.3.5a, what a luck :)

the second one instead doesn't seem a problem of the script.
sometimes happens that some archives have one or more files with the same name, something like an old and new version of the same file or maybe a resource to which has been assigned the same name (we see their original name but for the game their are only resources to which the latest is the one to be used).

the third one isn't a bug too.
indeed the compressed chunks you see are inside the files so it's part of their format and not part of the archive, that's why don't exist fields in the archive where are located compressed sizes (DUMMY and ZERO are not related to this thing).

I give you an example:
the file test.s is stored at offset 0000f196 and has a size of 11260105 (so till 00acc25f) and we can see a sequence of compressed chunks with offzip in all its content but in its middle and not at the beginning: 0000f25b, 0018ef9f, 001b65ba and so on.

so it's definitely a feature of that specific file or file format and not something related to the archive :)

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Fri Oct 30, 2009 3:51 pm
by Savage
Works like a charm!! thanks!! :P

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script done

Posted: Thu Aug 19, 2010 2:45 am
by Arglaar
Sorry for resurrecting this dead topic, but I seem to be having an issue with this for some reason, and I didn't think it would be appropriate to start a new one.

I wanted to take a look at some of the scripts for the game so I downloaded your tool, and the thevoid.bms script.

When I run the bms script on the scripts.vfs file (attached at bottom), I get the following error message:

Code: Select all

- error in src\quickbms.c line 2727: CMD_String_func()
Error: Not enough space
The file, itself is only 8.7 meg big and I have over 500gb free on the hard-disk I'm extracting it to.

Running Windows 7 Professional x64 w/ 4gb of DDR3.
Quickbms version 0.4.6a
thevoid.bms ver 0.1.1
*edit* I forgot to add, this is using the Direct2Drive version of TheVoid, which the data files should be the same, shouldn't they?


Link for the file:
scripts.zip - 1.77MB - 8.7MB Unzipped


Thanks in advance for any assistance you can give.

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script

Posted: Fri Sep 17, 2010 5:13 pm
by aluigi
*edit*
ok I have noticed that you wrote you have version 0.4.6a that is the latest at the moment and same for the bms script, so don't know what else to suggest because here I don't have problems with that file

Re: The Void / Tension Bigfiles(.vfs) - Partial .bms Script

Posted: Sat Sep 18, 2010 9:01 am
by Arglaar
Thanks for taking a look at it.

Maybe I had the syntax wrong or something. *Shrug*

I've since finished this game and moved on, so it's not really that important anymore to get it working.

Thanks again.