EkszBox-Abx v1.5

======================================================

Release Date .....: 12/March/2007                       
OS Type...........: 9X/NT/XP
App Type..........: Audio extraction/injection tool
Supported Formats.: 28 Xbox audio/container formats

======================================================


Copyright Info
==============

EkszBox-ABX 
- Copyright  2006-2007 Kernel Master

Adx2wav 
- Copyright  2001 BERO

======================================================


LEGAL
=====

This program is for educational purposes only & should not to be used for 
bootlegging copyrighted materials, such actions are not condoned by the author, 
said person is beyond reprimand until the end of time.
This software is freeware & comes with no warranties of any kind, it may be 
freely distributed as long as it is not re-packaged.
By using this software you must accent to the following condition;
I as a human/humanoid/other agree to waiving all rights and or autonomies I have.


###########################################################################################
Note: See end of file for help/tips/info



Prerequisites
-------------
To convert Xbox adpcm's use a program such as dBpowerAMP.
You must first however, download & properly install the following codec:

http://dwl.xbox-scene.com/~xbox/xbox-scene/tools/drivers/xb_adpcm_codec.rar

Initially codec may default back to: "Do not use this audio codec" setting.
If you have any conversion problems double-check to make sure it set to: 
"Use this audio codec".



Minimum System Requirements
---------------------------
* 128-256MB Available Physical Memory
* 500Mhz AMD/Intel CPU
* Windows 9X/NT/XP


Recommended System Requirements
-------------------------------
* 512MB Available Physical Memory
* 1Ghz AMD/Intel CPu
* Windows XP


Note: Program has only been tested on Win98 & WinXP,
however it should run on most Windows operating systems.



User Feedback
-------------
If you have any questions/comments/suggestions regarding EkszBox-ABX,
Send them to kmeksz[~]yahoo.com - (replace [~] with @). 



App should be available at these places:
----------------------------------------
Xbox-Scene: 
- http://www.xbox-scene.com/tools/tools.php?page=managers
Xbins: 
- /XBOX/PC Based Applications/editors/EkszBox/
Eurasia: 
- http://www.eurasia.nu/



Terse Program Description
-------------------------
EkszBox-ABX is a file extraction/injection tool 
which supports multiple Xbox audio/container formats.




EkszBox-ABX Main Features
=========================


* The best extraction/injection tool for xbox audio/container formats 
  (Some Pc games are also supported).

* 28 different formats are currently supported, many of which are exclusively
  supported by this program.

* Supported formats: Adx, Afs, Arc, Big, Fsb, Gta5, Hwx, Lug, Map, Mpk, Msx, 
  Pod, Piz, Rcf, Rez, Rfa, Rws, Samp, Stx, Sxb/Vxb, Sr, Wad, Wxv, Xbox Iso, 
  Xsb, Xwb, Xwc/Swwc & Zwb.

* Xact/Xbox Wave Bank compatibility is more vast and robust than any other xwb 
  extraction programs.

* High quality & compatibility Xwb & Rcf audio file swap feature.

* Adx files can be extracted from Afs files to uncompressed Pcm format. 
  (Select Pcm from format list box)

* Header-less Pcm & Xadpcm wav's have headers automatically created upon extraction.

* SCX allows you to scan & extract Mp3, Ogg, Wav, Wma & Xwb files from any 
  unencrypted formats, and does so in some cases over 60 times faster than 
  ^other programs, includes auto-buffer backtracking so no files are missed. 

  ^ Dragon UnPACKer 5, Jaeder Naub & Game Audio Player.

* Batch mode file processing.

* Tested & confirmed to work with archives over 1GB &/or containing over 10,000 files.

* Comes with a custom database format (Xct) which contains song names/filenames for
  certain titles.

* Supports file renaming & custom Xct database construction.

* Loaded extension-less supported files are auto-renamed with correct file extension.

* High performance & a reasonably small memory footprint.

* No major known bugs.

* No dll's, no registry entries & no .net runtime dependencies.

* Written in C/C++.


###########################################################################################



V1.5 Changes
============

* 28 formats supported.
* Exclusive Hwx support (Star Wars Episode III: Revenge Of The Sith).
* Exclusive Lug support (Fable).
* Exclusive Samp support (Namco Museum 50th Anniversary).
* Exclusive Wxv support (Namco Museum 50th Anniversary).
* Fsb Support (Flatout 2).
* Mpk support (Dungeons & Dragons: Heroes, Mission Impossible: Operation Surma).
* Pod support (BloodRayne 2).
* Xbox Iso support (Thanks to Andrew de Quincey's Xbox Dvd Filesystem documentation).
* PC version of Chronicles Of Riddick is now supported (Xwc/Swwc).
* More robust Rws code; doesn't crash on Kill Switch, Mashed or 
  Neighbours From Hell Rws's anymore.
* Cleaned up Xwb code (Runs faster due to this).
* Batch load/extract speedup (Up to 70% on small files).
* Filelist load speedup (70-85%).
* Improved error/incompatible file handling & memory allocation.
* Added 'Cancel Batch' button; Cancels batch mode file extraction.
* X360 Xwb header info is now byteswapped in assembly as opposed to C++ (50% faster).
* Scx could miss very small files at the end of archives- fixed.
* The following extensions are now supported: 
  .pak - (OutRun 2006: Coast 2 Coast) & .dvdxwb/.hdxwb - (MechAssault 2)
  as pertaining files are standard Xwb's.
* Last used Scx & fileSwap directories are now remembered.
* Load file gui glitch fixed (partly).
* Gui looks better in Win9x due to some changes.
* Alot of code was rewritten, again.
* Many little optimizations/fixes/tweaks.
* Leftover debug map code removed.
* Made the Kakuto Chojin Xct database entries better.
* Added Xct database entries for BloodRayne 2 & Namco Museum 50th Anniversary.



Lug Notes
---------
Lug files only work if pertaining met files exist in the same directory.
i.e 'Fountain.lug' needs 'Fountain.met' etc.........


Samp Notes
----------
Samp files only work if pertaining uber files exist in the same directory.
i.e 'Namco50.samp' needs 'Namco50.uber' etc.........


Xbox Iso Notes
--------------
Tested & confirmed to work with iso's made using qwix & xboxisotool.
Contained directories are not created, 
there may be an option in the future to support this.
If you don't have alot of free Ram you may have issues extracting large files.


Documention Info
----------------
Docs have not been fully updated since last version due to last of time/interest.



^ Thanks to TeknoJuce for the MechAssault 2 extension info.




V1.4 Changes
============

* 20 formats supported.
* Exclusive Stx support (Kakuto Chojin).
* Bug which caused list to become wider- fixed.
* Fixed a number of gui glitches.
* Obscure X360 Xwb bug fixed.
* New & better BG graphics (Inc. 1 in Psd format to aid customization endevours)
* Added a bits option (Only works for Pcm audio).
* Removed bits of extraneous code from a few places.
* Changed/fixed many other bits & pieces.
* Added Xct database entries for Kakuto Chojin.



Stx Notes
---------
Stx is a modified xadpcm/abadpcm format.

It's the first audio format i've managed to crack.

Compatibility is greater than 90%.
A few stage stream files have 4 channels they won't
play/convert with any programs I know of.

Files are converted into standard xadpcm format, regardless of program settings.

Gaps/clicks are indicative of loop points as opposed to conversion errors.




V1.3 Changes
============

* 19 formats are now supported.
* Map support (Halo & Stubbs).
* (Beta) Msx support (Mortal Kombat Deception).
* Support for xwb's from 'Blazing Angels Squadrons Of WWII' (Not fully tested).
* Xwb file swap modified so it should support aforementioned game (as above).
* Temporary hack written to support 'Lord Of The Rings The Two Towers' xwb's (as above).
* Xsb code totally rewritten (Includes error checking/correcting) 
  [All Psychonauts xsb's are read perfectly now].
* Xwb filename parsing improved (Fixes problems /w Counter-Strike xwb's).
* SCX support for xwb's.
* SCX buffer code rewritten.
* Pcm & Xadpcm headers are written faster due to code optimization.
* 8 bit headers were not created correctly -> fixed.
* Xadpcm headers had incorrect byte rates -> fixed.
* Saving Xct ini name files was buggy -> fixed.
* Updated my Xct app (Code cleaned up).
* Load & save settings totally rewritten.
* Save last used directory bug fixed.
* Bug which caused settings file to be saved in strange places -> fixed.
* settings.ini renamed to EkszBoxSettings.ini.
* Added Xct database entries for 'Soul Calibur II' & 'Psyvariar 2 Extend Edition'.



Halo Map Notes
--------------
Decompressed maps are saved as *.mapU, these are safe to delete after you're done
extracting. To save time they may also be loaded directly.



Msx Notes
---------
Some extracted files don't work, due to a lack of time/Msx files I was unable to do 
anything about this. 
(I might try to fix the problem for the next version [if there is one]).




V1.2 Changes
============

* 17 formats are now supported.
* Adx support (Always extracts to Pcm format).
* Sxb/Vxb support ('Ford Racing 3').
* Rez support (support for 'Mojo!' only).
  Note: Not all extracted audio works (sfx), however all of the music works fine.
* Rcf file swap compatibility (Simpsons Hit & Run, Tetris Worlds).
* Improved/Fixed Rcf support
* Batch mode file processing support.
* Beta stage X360 Xwb support.
* Major engine changes.
* Faster file extraction.
* Updated gui.
* Support for adding your own background bmp.
* New folder browse feature.
* Found some memory leaks -> fixed.
* Noticed that rename files was broken -> fixed.
* Fixed progress dialog position annoyance.
* Gui wasn't updated if SCX didn't find any files -> fixed.
* List now shows relevant icons for 16 different file types.
* Xact wave bank (xwb) info now shows version number.
* Filenames are now read from xwb's which contain thersuch.
* Removed non audio format support from SCX.
* Fixed a auto-buffer backtracking bug which caused SCX to miss certain files.
* SCX refined & optimized (Better speed).
* Rewritten & improved xwb compatibility.
* Improved xwb file swap compatibility.
* Many other code changes, optimizations & fixes.
* Fixed San Andreas Xct database entries.
* Added Xct database entries for Burnout Revenge, Madagascar & Mojo!.



-> Source code (C++Builder 2006) will be included in one of the next versions.



Rcf Audio File Swap Notes
-------------------------
* Imported audio must be in pcm format (16bit, stereo or mono).

* Tetris Worlds: Music can easily be swapped
  (Must be stereo & 24khz to play at correct speed) 

* Simpsons Hit & Run: Car sounds can be changed, however there will be freeze-ups 
  if imported files don't have very similiar specs compared to the originals.
  Music is a pain to swap as the game seems very fussy about certain files 
  (Possibly the rms files contained in 'music01' have region &/or filesize info which 
  needs to be changed to fix this).



Improved/Fixed Rcf support Notes
--------------------------------
Note: Offsets & pertaining chunk sizes are now sorted by size to match with filenames.
Pcm files as found in Simpsons Hit & Run now have all the padding removed from start, 
(This padding caused clicks at the beginning of sounds).




V1.1 Changes
============

* New Xwb audio file swap feature: xadpcm, pcm & wma files contained in xwb's may 
  now be swapped with your own.
* Interestingly, with some games this feature even allows you to use xadpcm in place
  of pcm or pcm in place of xadpcm etc.. (Most of the time swapping wma for
  xadpcm/pcm or vice versa won't work).
  Note: For best compatibility only use audio files which are all in pcm, xadpcm or wma
  format & if your game crashes try to match the specs of the original sounds more closely, 
  Mixing & matching different formats within banks can cause problems with many games.
* This feature was only made possible because I finally managed to crack the pcm 
  magic numbers formula as well as the critical xwb file padding algorithm.
* Supports most streaming or in-memory version 1, 2 & 3 xwb's. (Many ver 1 xwb's should work, 
  albeit maybe not always as perfectly as most ver. 2 or 3 xbe's do).
* Tested & confirmed to work with xwb's from Burnout 3, Capcom Classics Collection,
  Egg Mania, PGR2, Sims 2, Super Bubble Pop & Top Spin.
  (Had a load of fun swapping sounds & music from Street Fighter 2 in Capcom Classics
  as well as changing engine sounds in PGR2).
* Xwb Pcm info contained in magic numbers is now decoded with my own formula. 
  (much faster & more elegant than previous solution)
* Updated Sims 2 filename database entry.
* Removed: Rws debug info.
* Removed: Browse for folder support. (Temporary - when I get it working perfectly it 
  will be added again)
* Fixed: Wav headers were not being created for audio files extracted from Rfa's.
* Fixed: Auto-Clear CheckBox caption was static.
* Cleaned up some more bits of code.



Xwb Audio File Swap Instructions
--------------------------------
(1) Open an xwb.
(2) Make sure the file list is enabled.
(3) Check or uncheck appropriate files in the file list.
(4) Right click the file list & click on 'swap checked'.
(5) Figure out the rest on your own.

Note: If you click cancel on the open file dialog after having clicked 'swap checked' 
the original audio file from the opened xwb will be inserted in place of the file you were 
supposed to select.
Note: Edited Xwb's are given a .xwbX extension.




V1.01 Changes
=============

* New (tentative) support for Zwb (Thanks to Luigi Auriemma for the info)
* Fixed a bug which caused extracted filenames to be messed up.
* Removed debug & partially supported formats code.
* Cleaned up a few small bits of code & fixed a few other minor bugs.


#############################################################################################


Compatible Xbox Games (83) +
-----------------------------


AfterShock Pool SX - (xsb, xwb)
Blazing Angels Squadrons Of WWII - (xwb)
BloodRayne 2 - (pod)
Bloody Roar Extreme - (xwb)
Burnout 3 Takedown - (xwb)
Burnout Revenge - (xwb)
Castlevania: Curse Of Darkness - (xwb)
Capcom Classics Collection - (xwb)
Chronicles Of Riddick: Escape From Butcher Bay - (xwc)
Colin McRae Rally 2005 - (big)
Conker: Live & Reloaded - (xsb, xwb)
Crash 'N' Burn - (xwb)
Crazy Taxi 3 - (afs)
Dead Or Alive 3 - (afs)
Deus Ex: Invisible War - (csc)
Disney's Extreme Skate Adventure - (wad)
Dungeons & Dragons: Heroes - (mpk)
Egg Mania - (xwb)
Fable - (lug, met)
Flatout 2 - (fsb)
Ford Racing 3 - (sxb, vxb)
Forza Motorsport - (xwb)
Full Spectrum Warrior - (xwb)
Fuzion Frenzy - (xbp)
Grabbed By The Ghoulies - (no extension)
GTA: San Andreas - (no extension)
Halo - (map)
Hello Kitty: Mission Rescue - (xau)
House Of The Dead 3 - (afs)
Igo - (xwb)
Jade Empire - (xwb)
Juiced - (xwb)
Kakuto Chojin - (stx)
Karaoke Revolution - (xwb)
King of Fighters: Neowave - (xwb) [Claimed compatible by: Vlcice]
Land Of The Dead: Road to Fiddler's Green - (xwb) [Claimed compatible by: robot2]
Madagascar - (rws)
Magic The Gathering: Battlegrounds - (xwb)
Marvel Vs. Capcom 2 - (afs)
Mashed - (piz)
Max Payne 2 - (rws)
MechAssault 2: Lonewolf - (xwb)
Men Of Valor - (xwb)
Metal Slug 3 - (afs, xwb)
MicroMachines V4  - (rws)
Mission: Impossible: Operation Surma - (mpk)
Mojo! - (rez)
Mortal Kombat - (sr)
Mortal Kombat 2 - (sr)
Mortal Kombat 3 - (sr)
Mortal Kombat: Armageddon - (msx)
Mortal Kombat: Deception - (msx)
Namco Museum 50th Anniversary - (samp, sr, uber, wxv)
Nickelodeon Party Blast - (wad)
Obscure - (hvp)
Oddworld: Strangers Wrath - (xwb)
OutRun 2006: Coast 2 Coast - (pak, xwb)
Pro Beach Soccer - (xwb)
Project Gotham Racing 2 - (xwb)
Psychonauts - (xsb, xwb)
Puyo Pop Fever - (adx)
RalliSport Challenge - (rfa)
RollerCoaster Tycoon - (dat) (use script)
Sega Soccer Slam - (dat, jbc)
Shadow Ops: Red Mercury - (xwb)
Simpsons Hit & Run, The - (rcf)
Sims 2, The - (arc, xwb)
Sonic Heroes - (adx, afs)
Sonic Mega Collection Plus - (afs)
Star Wars Episode III: Revenge Of The Sith - (hwx)
Stubbs The Zombie: Rebel Without A Pulse - (map)
Sudeki - (xwb)
Super Bubble Pop - (xsb, xwb)
Super Monkey Ball Deluxe - (adx)
Tetris Worlds - (rcf)
Top Spin - (xwb)
True Crime: New York City - (xwb)
Warriors, The - (xwb)
World Championship Poker - (xwb)
Xbox Music Mixer - (xwb)
XbomberBox - (xwb)
XbomberBox 2 - (xwb)
Xlime - (xfa)


Compatible PC Games (4) +
-------------------------


Chronicles Of Riddick: Escape From Butcher Bay - (Xwc/Swwc)
Far Cry - (pak)
Richard Burns Rally - (dat)
Thief, The Dark Project - (crf)


+ Many more games are likely to be compatible, this list 
   however contains only games which have been tested 
   & are claimed/conjectured/verified to be compatible by 
   the author or EkszBox-ABX users.


#############################################################################################


Info
====


SCX
---
SCX Buffer sizes are now allocated based on available [non-virtual] memory.
Scanning multi GB files should be possible on any system now.
If you're scanning large files choosing a large buffer may not be a good idea.
Medium is not any slower alot of the time.


Xct
---
The Xct format was designed with simplicity & speed in mind (More speed optimizations 
are on the way).
Switching the Xct database off will not give much of a performance gain as scanning 
it for a match takes on average less than 0.01 secs.


Rws Format
----------
The first file in every Max Payne 2 rws is blank.
This is not an error with the way this app parses these files.


Operating System
----------------
Windows 9x users who wish to run the app using a shortcut need to follow these steps
to avoid anomalies:

* Make your shortcut
* Right click the shortcut
* Select properties
* Copy all of the text from the 'Target' textbox to the 'Start in' textbox
* Remove EkszBox-ABX v***.exe from the text you copied into the 'Start in' textbox 
  (Don't remove the " from the end)



Misc
----
To play xadpcm, xwb, zwb, wba, xsd or xsh files with winamp try 
this Xbox ADPCM plugin:

http://www.winamp.com/plugins/details.php?id=147392



Help
====

Let's say you had 700 xwb's and you didn't want the contents of each put into a subfolder, 
you just wanted all audio files dumped into a single folder, well this can actually be done 
like this:

(1) Turn the List off [This is optional, but will offer better speed].
(2) Turn the Xct database off (Also optional).
(3) Turn Auto-Clear off.
(4) Enter a name into the Folder name textbox.
(5) Click Open or SCX & select all the files you wish to batch process.


Format, Channels & Sample Rate settings generally only change what info is written to the 
pcm or xadpcm headers.
These settings should set to Auto for most situations, however for converting adx files
contained in afs files into pcm format, the Format setting should be changed to PCM.


The % symbol can be used in the rename files textbox (Doesn't yet work with SCX).
Here is an example: Audio %%%%%%%%
Load a file & turn on the list to see how it functions.


Known Issues
============

List fucks up if more than 5000 file details get loaded in, 
I fixed this problem by disabling the list if more than said amount of files are found 
in an archive & the list is enabled.


#############################################################################################



Credits
=======

EkszBox-Abx (Copyright  2006-2007 Kernel Master):
- Kernel Master - (kmeksz[~]yahoo.com)


Adx2wav Code (Copyright  2001 BERO): 
- BERO - (http://www.geocities.co.jp/Playtown/2004/)


Zlib decompression code (Copyright free - zpipe.c): 
- Mark Adler - (http://www.zlib.org)



EkszBox-ABX is coded with Borland C++Builder 2006 & makes use of:
=================================================================

Jedi Code Library - http://sourceforge.net/projects/jcl/
Jedi Visual Component Library - http://homepages.borland.com/jedi/jvcl/
Zlib Data Compression Library - http://www.zlib.org

PECompact2 - http://www.bitsum.com
Kenny icons: ?



Thanks To
=========

Xantium for the support & for hosting this app.
- http://www.xbox-scene.com

Xbins for hosting.
- www.xbins.org

BERO for sharing his adx2wav c source code:
- http://www.geocities.co.jp/Playtown/2004/

Andrew de Quincey for his Xbox Dvd Filesystem documentation:
- http://www.xbox-linux.org/docs/gdfs.html

Grenadiac, Dylan Barrie & Thomas Kaiser for their in-depth Halo map file documentation:
- http://wiki.fpsgamers.se/index.php?n=Halo.HomePage
- http://www.halomods.com/forums/viewtopic.php?t=5003
- http://www.halomods.com/forums/viewtopic.php?t=5436
- http://files.halomods.com/viewtopic.php?t=3088

Ben Gorman for his xwb documentation (Found in Psychonauts Explorer)
- http://quick.mixnmojo.com

Luigi Auriemma for the zwb info. 

robot2 for the 8 bit bug report, for supplying a relevant file & also for beta testing.

TeknoJuce for the MechAssault 2 extension (.hdxwb) info.

The South Park icons author.

Everyone who has given me positive feedback.



Fuck You To
===========

All the leeching drones who ask me to add support for certain formats, but who 
find it way too much effort to upload the formats they wish to have supported.

Luigi Auriemma for not crediting/thanking me for supplying him with certain xwb/vxb/sxb info.


#############################################################################################


[<->GAME OVER<->]