ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Apr 25, 2017 8:37 am

All times are UTC




Post new topic  Reply to topic  [ 42 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: Tue Jul 26, 2016 5:42 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Here goes nothing.

Multi-platform/miscellaneous:
Rockstar Renderware scripts(.DIR/.IMG or just .IMG)
Metal Gear Solid/Kojima Productions - .bms collection
The Crystal Dynamics quickBMS Collection
Crystal Dynamics .mul sorter

And in any case you receive an error in one of my scripts you've downloaded on this thread, contact me by PM. By doing so, you must show in detail what is causing the error in the first place, and if possible, include the file* the error has been triggering. I'll look into it.
* I advise you to upload the file on a filehoster that doesn't require an account.

EDIT: Due to the 9-URL limit, this thread has now one section.

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Mon Dec 19, 2016 7:11 pm, edited 18 times in total.

Top
   
PostPosted: Tue Jul 26, 2016 5:46 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Rockstar Renderware scripts

I made two separate scripts, meant to work with two separate files with different structures. I advise you to read the included .txt file because it has whatever you need to know before using these two scripts.

What the .txt forgot to state is that there's an function I commented around somewhere in these two scripts. Not that it's necessary for you to enable that function but even that isn't necessary since the developers copy-pasted these files on the PS2 version of their games just to fill out the space.

Another one is that the .txd/.dff files inside the GTA3.IMG archive on the XBOX version of both games(GTAIII, GTAVC) are compressed using some sort of lzo1x algorithm variant(lxo1x-999). If anyone has a solution to decompress these files, I'm open to any suggestion you have to offer.


Attachments:
rockstar_renderware_bms.rar [1.3 KiB]
Downloaded 55 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Thu Aug 25, 2016 6:47 pm, edited 1 time in total.
Top
   
PostPosted: Thu Aug 25, 2016 6:39 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Tomb Raider: Legend - NDS .pak

That file was quite easy to work with, since I'm still just a beginner on the field and stuff...
Keep in mind that it only works for the NDS version. It might work for the games developed by Human Soft, but none are tested so far.
So in case you find a Human Soft game that uses a similar file format then contact me in private.

(it might have a similar structure with plenty of other games out there... in any case, I'll post them either way)


Attachments:
trl_ds_pak.rar [181 Bytes]
Downloaded 42 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Wed Sep 07, 2016 5:20 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
METIN - .tar

It's the exact same script, just written for a MMORPG game. As of quickBMS' latest version, it can also extract non-english filenames.


Attachments:
metin.rar [176 Bytes]
Downloaded 35 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Sun Sep 25, 2016 12:05 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Metal Gear Solid/Kojima Productions - .bms collection

So far the "collection" consists of these* scripts: one for Metal Gear Solid(PS1 - both the original and Integral), and the rest for Metal Gear Solid 2 and beyond(now with just one script to rule them all - mgs2_dat.bms - plus a few extra scripts for specific archives such as CODEC.DAT). Both scripts are capable of dumping the data based on a hex-string. This "collection" will get updated over time when I get through more games that Kojima had worked on.

On another note, it was my idea to have the mgs2_dat.bms script to have the files being extracted with a .sdt extension. Also, archive files with the name STAGE are not supported on these scripts because of an unknown encryption algorithm applied to the header starting with Metal Gear Solid 2.

* The XBOX version contains a splitted version of data1 and data2 archive files. The script was originally going to handle the splitted files but nothing worked out in the end. Therefore, it is necessary to concatenate the splitted files into one before using the mgs2substance_xbox_concatenatedfilesonly.bms script.

For games that Hideo Kojima didn't actually get involved(a.k.a. his role in those games were along the lines of "Producer") but was developed using the same engine nevertheless:
Zone of the Enders Z.O.E. - zone_of_the_enders.bms (included in the pack)
ANUBIS ZONE OF THE ENDERS/Zone of the Enders: The 2nd Runner - mgs2_dat.bms (included in the pack)

Changes from v5 to beyond:
- (v5) The mgs2_dat.bms script can now detect the end offset by the string "\xf0\x00\x00\x00\x10\x00\x00\x00"("\x00\x00\x00\xf0\x00\x00\x00\x10" on Metal Gear Solid The Twin Snakes, and "\xf0\x04\x00\x00\x00\x00" for just Metal Gear Solid), therefore making other scripts from the previous version look redundant. Because I deleted the .DAT files I used to work with while making the script, I need you to report your results with the mgs2_dat.bms script in this thread so that I can know if the extraction had been "succesful".
- (v6) The mgs2_dat.bms script was adjusted so that it can extract .sdt files properly(it doesn't detect the end offset by the above string anymore; this was reflected by archives that were extracted with under 200% success, as a result there were a few files that started with odd offsets).
- (v7) mgs_tts_dat.bms and mgs_dat.bms went through the same changes as above. Also, one new script(mgs2xbox_codec.bms) was added.
- (v8) A new script(mgs_tts_codec.bms) was added, alongside one change not listed here.
- (v9) A new script(mgspw_pdt.bms) was added. Said script has a function in which the extension is guessed from the sign of the file, and so far only one extension was found.
- (v10) mgs_dat.bms has been rewritten as mgs1_dat.bms. It now supports the "stage" archive(or to put it accurately, partial coverage of it), assigns the extensions to the extracted files of their respective archives, and notifies the user regarding other archives.
- (v11) mgs1_dat.bms can now fully extract STAGE.DIR... as individual files.


Attachments:
kojimaproductions_bmscollection_v11.rar [4.08 KiB]
Downloaded 19 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Tue Mar 07, 2017 5:32 pm, edited 30 times in total.
Top
   
PostPosted: Mon Oct 03, 2016 2:00 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
SDX1/SDX2 converter

Exactly what it says in the title. Only tested on Gravity Rush, so I don't know about the other games that use this format.

UPDATE(16/10/2016): The script got a new update. Changes include the refinement of AT9 header to aim accuracy over what an encoded 192kbps .at9 file would look like. See here:
Encoded .at9 file(no loops)
Code:
00000000  52 49 46 46 5C B0 09 00 57 41 56 45 66 6D 74 20  RIFF\°..WAVEfmt 
00000010  34 00 00 00 FE FF 02 00 80 BB 00 00 C0 5D 00 00  4...þÿ..€»..À]..
00000020  00 02 00 00 22 00 00 04 03 00 00 00 D2 42 E1 47  ....".......ÒBáG
00000030  BA 36 8D 4D 88 FC 61 65 4F 8C 83 6C 01 00 00 00  º6.MˆüaeOŒƒl....
00000040  FE 74 0F F0 00 00 00 00 66 61 63 74 0C 00 00 00  þt.ð....fact....
00000050  C2 5C 13 00 00 01 00 00 00 01 00 00 64 61 74 61  Â\..........data
00000060  00 B0 09 00 37 56 5F 40 98 15 73 39 32 A8 B9 64  .°..7V_@˜.s92¨¹d
To achieve that, I've made several tests with .at9 stereo encoding. Then I compared the encoded .at9 files to the .at9 files the script generated before this revision - it also involved comparing what I had of .at9 files from other games as well. That is the reason why I made this update in the first place.

In case the .sxd1/.sxd2 gets used in a game with another codec(such as anything other than 0x42), let me know.


Attachments:
sxd_at9.rar [871 Bytes]
Downloaded 63 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Sat Oct 22, 2016 5:43 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
DOOM (2016) - .mega2

Here's a .bms script for the .mega2 files used in the newest DOOM game(2016). The files themselves are quite big(with the most biggest .mega2 file weighing around 10,6GB) and has the staggering amount of files I've ever seen so expect to wait a few hours before everything in that archive is extracted.

EDIT: From what I've gathered, the .mega2 extension implies that the game used a new version of the MegaTexture feature present in id Tech engines. Huh.


Attachments:
doom2016_mega2.rar [296 Bytes]
Downloaded 45 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Tue Oct 25, 2016 10:58 pm, edited 1 time in total.
Top
   
PostPosted: Sat Oct 22, 2016 7:11 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5837
As far as I remember the bms extension is accepted in the attachments, just in case you want to attach the scripts without compressing them.


Top
   
PostPosted: Sat Oct 22, 2016 7:36 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Ahh, I never knew that the attachment could support something beyond just the .zip/.rar extensions.

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Top
   
PostPosted: Tue Nov 01, 2016 4:18 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
The Crystal Dynamics quickBMS Collection

There ya' have it, the .bms collection we've all been waitin' for!

So far this collection has only two scripts for 3DO games as developed by Crystal Dynamics. This might be expanded in the future.

UPDATE(13/12/2016): A modified script of tomb_raider_legend.bms(thanks goes to aluigi for the script) was added to the pack(it's now crystaldynamics_type000.bms). It has been tested through almost all versions(barring PS3 and PC) of the entirety of Crystal Dynamics' first reboot(Legend, Anniversary and Underworld).
UPDATE(20/12/2016): crystaldynamics_type000.bms is now renamed back to tomb_raider_legend.bms. This move was made to show respect for the original script author(aluigi).


Attachments:
crystaldynamics_20161220.rar [1.44 KiB]
Downloaded 34 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Tue Dec 20, 2016 8:59 pm, edited 4 times in total.
Top
   
PostPosted: Tue Nov 29, 2016 5:32 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Forza Motorsport - UIMusic.wmapack

This script was originally designed for the archive that is stored in the Xbox-exclusive Forza Motorsport only. Unless you manage to find an .wmapack file that is used in another game, that is.


Attachments:
forzamotorsport_wmapack.bms [320 Bytes]
Downloaded 25 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Sat Dec 03, 2016 6:10 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
func_header_AT9.bms

Well, I've been inspired by AlphaTwentyThree's scripts so...
Basically, this script serves as a guide for adding headerless AT9 data through two functions. Provided it has the variables to call it, that is.

Here is a example(non-looped):
Code:
include "func_header_AT9.bms"

set FREQUENCY 48000
set CHANNELS 2
set OFFSET 0
set BITRATE 192

get SIZE asize
math RSIZE = SIZE
xmath TOTALSAMPLES "SIZE * FREQUENCY / CHANNELS / 60"
putarray 0 i TOTALSAMPLES
math SIZE -= OFFSET
callfunction AT9 1
So far this script only supports bitrates through 192, but later on I'll work on adding support to later bitrates(up to 504) as well as up to 8 channels if possible.

UPDATE(04/12/2016): This script can now support looping. A new function was added to reflect this.
UPDATE(13/12/2016): The RSIZE variable is now required for calling.


Attachments:
func_header_AT9.bms [6.37 KiB]
Downloaded 30 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Mon Jan 16, 2017 9:02 pm, edited 8 times in total.
Top
   
PostPosted: Sun Dec 04, 2016 4:39 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Tomb Raider Legend (Xbox 360) - .mul->.xma

This was mostly based off AlphaTwentyThree's two scripts which handles the .mul files(based on their different structures) stored in the Xbox 360 version of Deus Ex Human Revolution. Except this script can handle all .mul files within one script, even up to 8 channels. It can also work with other Xbox 360 games that were developed by Crystal Dynamics.

UPDATE(06/12/2016): A new [but minor] update to the script was made. Said update includes an naming condition if the .mul file it's about to convert contains one channel(therefore ########.mul is converted to XMA as ########.xma instead of ########_1.xma). Although for files that contains 2+ channels, the naming process is the same(########_1.xma and ########_2.xma for 2-channel .mul files and so on).
UPDATE(12/02/2017): Due to vgmstream`s XMA1/XMA2 support, xma_test/xma_parse is no longer a dependency. As far as the audio goes, the difference between an output .xma file from the previous update to this update is minimal.


Attachments:
tomb_raider_legend_mul_xbox360.bms [5.27 KiB]
Downloaded 19 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Mon Feb 13, 2017 5:57 am, edited 11 times in total.
Top
   
PostPosted: Sun Dec 04, 2016 6:12 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Crystal Dynamics .mul sorter

This script is designed for use in .mul files(or EMFF as vgmstream used to call it) used by Crystal Dynamics(although one of their games might use different engines, as is the case of Mad Dash Racing, Blood Omen 2, Whiplash and Project Snowblind - as a result, the format used in these games tend to differ) from the sixth-generation era and beyond.


Attachments:
crystaldynamics_mul_sorter.bms [436 Bytes]
Downloaded 28 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Thu Jan 19, 2017 10:53 pm, edited 2 times in total.
Top
   
PostPosted: Mon Dec 12, 2016 7:51 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
func_header_AT3.bms/func_header_AT3plus.bms

Look, I know this name is similar to the one used in one of AlphaTwentyThree's scripts. The only difference, however, is that there are now two functions: one for non-looped files, and one for looped files. There's also a AT3plus header script as well!
It serves the same purpose as func_header_AT9.bms. It only needs the variables to call it.

Here is an example(non-looped):
Code:
include "func_header_AT3.bms"

set FREQUENCY 44100
set CHANNELS 2
set OFFSET 0
set BITRATE 132

get SIZE asize
math SIZE -= OFFSET
callfunction AT3 1
UPDATE(12/12/2016): Fixed an bug in which func_header_AT3plus.bms would stop working.


Attachments:
func_header_AT3plus.bms [6.57 KiB]
Downloaded 30 times
func_header_AT3.bms [3.46 KiB]
Downloaded 33 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Tue Dec 13, 2016 3:22 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Metal Gear Solid HD Collection (Vita) - .9tav->.at9

The first of many scripts to depend on the func_header_AT9.bms script. These files are stored within .sdt files, which can be demuxed with sdt_demux.py(written by Nisto). You can find it here.
Do keep in mind though that this works only with "mgs2" files. I haven't found a way to work with "mgs3" .9tav files yet, but for some of these files(without the MTAF header) they should "work" with the script.

UPDATE(17/12/2016): The script sees the addition of DUMMY6 and DUMMY7 variables, and it assigns the BITRATE and CHANNELS variables for the function depending on the value. An message will be shown when the .9tav file in question has a different DUMMY6 and DUMMY7 value from the ones assigned.


Attachments:
mgs_hdc_9tav.bms [608 Bytes]
Downloaded 34 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Sat Dec 17, 2016 2:37 pm, edited 1 time in total.
Top
   
PostPosted: Tue Dec 13, 2016 7:06 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Metal Gear Solid HD Collection (PS3) - .msf->.genh

This .msf format was used in... you guessed it, Metal Gear Solid HD Collection.
Anyway, this .msf format uses an ADPCM codec which is signed as 0x1 despite being reserved for 16-bit PCM codec audio... or maybe I'm wrong.
Sorry if the converted output file is a few samples ahead.


Attachments:
mgs_hdc_ps3_msf.bms [1.17 KiB]
Downloaded 33 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.
Top
   
PostPosted: Mon Dec 19, 2016 5:40 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
GENH extractor


Attachments:
genh_extractor.bms [440 Bytes]
Downloaded 38 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Sat Apr 01, 2017 3:35 am, edited 1 time in total.
Top
   
PostPosted: Sat Dec 24, 2016 4:18 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Redump multi-track .bin audio tracks - RIFF header adder - OBSOLETE

If you're stuck by odd formats Redump uses for their releases, you can just use vgmtoolbox(Misc. Tools -> Extraction Tools -> Generic -> ISO/Archive Extractor then drag the .cue/.gdi file - hoping the tool doesn't crash just by reading these files anyway).
However, if vgmtoolbox can't extract Redbook Audio, then this script can do what vgmtoolbox can't!

About the script, all it does is add RIFF headers on Redump's .bin audio files as .wav files for playback on all players.

IsoBuster can also handle Redbook Audio, but consider this as an alternative in case your Redump ISO doesn't work with it.


Attachments:
redump_audiobin.bms [1.46 KiB]
Downloaded 28 times

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Last edited by AnonBaiter on Sat Apr 01, 2017 3:36 am, edited 1 time in total.
Top
   
PostPosted: Sun Feb 12, 2017 12:34 am 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 842
Okay, so I finally got a new computer. It includes Linux(Debian, version Wheezy) as its installed OS, but if I want to keep writing BMS scripts for yet "unexplored" formats I'll use VirtualBox.
It's going to take a while though, as WIndows XP does not detect the external HDD from the USB, and I'll have to get through more ISOs from various Windows systems.

I just wanted to say I haven't given up on it yet!

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 42 posts ]  Go to page 1 2 3 Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited