READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

My quickBMS scripts

Coders and would-be coders alike, this is the place to talk about programming.
AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Tue Oct 09, 2012 10:12 pm

Dinoguy1000 wrote:
AlphaTwentyThree wrote:I have a feeling that there's some better way to do this (since, according to my understanding, it's basically just a ceil() function with a custom "cutoff"), but my maths isn't strong enough to pick it out (I think bit-shifting would play a role, though... does QuickBMS actually support bit-wise manipulations?). =/
Damn, should have looked inside the documentation better... it's only called "alignment" there, which is nothing else than a ceil. Will change it in the scripts. ;)
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Tue Oct 09, 2012 10:17 pm

Faster than Light dat extractor

All those easy formats provide excellent learning scripts. ;)

Code: Select all

# FLT: Faster than Light (PC, 2012) *.dat extractor
# (c) 2012-10-09 by AlphaTwentyThree of XeNTaX

get FILES long
for i = 1 <= FILES
	get OFFSET long
	if OFFSET == 0
		cleanexit
	endif
	savepos MYOFF
	goto OFFSET
	get SIZE long
	get NAMEL long
	getDstring NAME NAMEL
	savepos OFFSET
	log NAME OFFSET SIZE
	goto MYOFF
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Tue Oct 09, 2012 11:02 pm

War of the Human Tanks (2012, PC) - ald extractor

Bears a striking resemblance to the above format...

Code: Select all

# *.ald extractor for War of the Human Tanks (2012, PC)
# (c) 2012-10-10 by AlphaTwentyThree of XeNTaX

get UNK threebyte
get FSIZE asize
for i = 1
	get OFFSET threebyte
	math OFFSET *= 0x100
	set TEST FSIZE
	math TEST -= OFFSET
	if TEST <= 0x20
		cleanexit
	endif
	savepos MYOFF
	goto OFFSET
	get HEADER long
	get SIZE long
	get HASH longlong
	getDstring NAME 0x10
	math OFFSET += HEADER
	log NAME OFFSET SIZE
	goto MYOFF
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

User avatar
Dinoguy1000
Site Admin
Posts: 721
Joined: Mon Sep 13, 2004 1:55 am
Has thanked: 106 times
Been thanked: 130 times

Re: My quickBMS scripts

Post by Dinoguy1000 » Wed Oct 10, 2012 5:30 am

AlphaTwentyThree wrote:
Dinoguy1000 wrote:
AlphaTwentyThree wrote:I have a feeling that there's some better way to do this (since, according to my understanding, it's basically just a ceil() function with a custom "cutoff"), but my maths isn't strong enough to pick it out (I think bit-shifting would play a role, though... does QuickBMS actually support bit-wise manipulations?). =/
Damn, should have looked inside the documentation better... it's only called "alignment" there, which is nothing else than a ceil. Will change it in the scripts. ;)
Of course, I'm an idiot; "ceil() with a custom 'cutoff'" is just a rounding function. =D
Welcome to Xentax!

Rules | Requests | Wiki

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Wed Oct 10, 2012 4:27 pm

Dinoguy1000 wrote:Of course, I'm an idiot;
Ladies and gentlemen, listen to the admin! ;)
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Wed Oct 10, 2012 4:37 pm

Added some more formats to the Unity3D extractor. Thanks nefarel. :)
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

User avatar
Dinoguy1000
Site Admin
Posts: 721
Joined: Mon Sep 13, 2004 1:55 am
Has thanked: 106 times
Been thanked: 130 times

Re: My quickBMS scripts

Post by Dinoguy1000 » Wed Oct 10, 2012 11:57 pm

AlphaTwentyThree wrote:
Dinoguy1000 wrote:Of course, I'm an idiot;
Ladies and gentlemen, listen to the admin! ;)
Hardly the first time; I've been practicing digital self-deprecation since 2003. :D
Welcome to Xentax!

Rules | Requests | Wiki

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Thu Oct 11, 2012 11:04 am

Dinoguy1000 wrote:
AlphaTwentyThree wrote:
Dinoguy1000 wrote:Of course, I'm an idiot;
Ladies and gentlemen, listen to the admin! ;)
Hardly the first time; I've been practicing digital self-deprecation since 2003. :D
Well... kudos then, lol. ^^
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Sun Oct 14, 2012 7:38 pm

Just updated the XNB to WAV script (viewtopic.php?f=13&t=4450&p=75157#p75157). Now supports other formats than uncompressed PCM. :)
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Mon Oct 15, 2012 5:52 pm

And another update for the Unity3D extractor: viewtopic.php?f=13&t=4450&p=77959#p77959
Now detects xml and png files in type 49 files. :)
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Tue Oct 16, 2012 11:06 pm

Half Minute Hero rwv converter

Converts the MSADPCM streams from the game to *.lwav files, playable with vgmstream. You'll need the newest func_header_PCM.bms for this: viewtopic.php?f=13&t=4450&p=71565#p71565

Code: Select all

# convert rvw files found in Half Minute Hero (2012, PC) to lwav
# needed func_header_PCM version: 2012-10-16
# (c) 2012-10-16 by AlphaTwentyThree of XeNTaX

include "func_header_PCM.bms"
idstring "fmt "
findLoc OFFSET string "data" 0 ""
math OFFSET += 8
findLoc SAMPLE string "smpl" 0 ""
if SAMPLE != ""
	get NAME basename
	string NAME += ".smpl"
	get SIZE asize
	math SIZE -= 0xc
	math SIZE -= SAMPLE
	log NAME SAMPLE SIZE
	set SIZE SAMPLE
else
	get SIZE asize
	math SIZE -= 0xc
endif
math SIZE -= OFFSET
goto 0x8
get CODEC short
get CH short
get FREQ long
get UNK long
get BLOCKALIGN short
get BITS short
set NAME ""
callfunction PCM 1
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Fri Oct 19, 2012 1:20 am

RAW: Reals of Ancient War - *.bf extractor

Code: Select all

# extracts the *.bf file from Realms of Ancient War (PC, 2012)
# (c) 2012-10-19 by AlphaTwentyThree of XeNTaX

get DATASTART long
get FILES long
for i = 1 <= FILES
	get HASH longlong
	get NAME string
	get OFFSET long
	get SIZE long
	log NAME OFFSET SIZE
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Sat Oct 20, 2012 3:45 pm

StoneChess (2012) PC - data.scp extractor

Now they are really getting lazy with their GRAFs...

Code: Select all

# extracts the data.scp from StoneChess (PC, 2012)
# (c) 2012-10-20 byAlphaTwentyThree of XeNTaX

get FILES long
get DATASTART long
get UNK long
for i = 1 <= FILES
	get NAME string
	get SIZE long
	log NAME OFFSET SIZE
	math OFFSET += SIZE
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Sat Oct 20, 2012 5:21 pm

Top Secret Finders (2012) PC - TSF.vst extractor

Code: Select all

# extract the TSF.vst from "Top Secret Finders" (PC, 2012)
# (c) 2012-10-20 by AlphaTwentyThree of XeNTaX

get INFO asize
math INFO -= 4
goto INFO
get INFO long
goto INFO
get FILES long
for i = 1 <= FILES
	get NAMEL long
	getDstring NAME NAMEL
	get OFFSET long
	get ZSIZE long
	savepos MYOFF
	goto OFFSET
	get TEST byte
	goto MYOFF
	if TEST == 0x78
		set SIZE ZSIZE
		math SIZE *= 0xffffff
		clog NAME OFFSET ZSIZE SIZE
	else 
		log NAME OFFSET ZSIZE
	endif
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

AlphaTwentyThree
double-veteran
double-veteran
Posts: 984
Joined: Mon Aug 24, 2009 10:55 pm
Has thanked: 75 times
Been thanked: 621 times

Re: My quickBMS scripts

Post by AlphaTwentyThree » Sat Oct 20, 2012 7:26 pm

Doom 3: BFG Edition (2012) PC - *.resources

Should work on all platforms.

Code: Select all

# extracts the *.resources from Doom 3: BFG Edition (2012)
# (c) 2012-10-20 by AlphaTwentyThree of XeNTaX

endian big
get DUMMY long
get INFOPOS long
goto INFOPOS
get FILES long
for i = 1 <= FILES
	get NAMEL long
	reverselong NAMEL
	getDstring NAME NAMEL
	get OFFSET long
	get SIZE long
	log NAME OFFSET SIZE
next i
If you like what you see, why not click the little Thank You button? ;) It will definitely motivate me! :)
And here's Mr.Mouse's Facebook link: http://www.facebook.com/permalink.php?s ... 8469022795 - thanks ;)

Post Reply