Friday, March 26, 2010

Gundam VS Gundam NEXT - Custom BGM Manual Part II

Continuing off from the previous part, the ADX file must be encrypted first before compilation.

Unpack ADXEncrypter into a folder. For best effect, copy your prepared ADX file/s into the same folder.

Important! You must have the latest Java Runtime Environment installed to execute ADXEncrypter.



Once you have everything set, simply drag-and-drop your ADX into the file named 'GvsGNextPlus_PresetA'.




Something like the following should appear. This confirms that the process occurred without error.

Once all your ADX files have been encrypted, they can be compiled into the game.

Before that, a naming convention must be considered. The game uses a hexadecimal numbering system for the BGMs, with audio for the series going 10-19, then 1a-1e...going something like:

bgm10 - MS Gundam
bgm11 - Zeta
bgm12 - ZZ

etc...in order of their display on the BGM selection menu (rightward).


For the 'Original' BGMs:

bgm1f - Original 1
bgm3b - Original 2
bgm3c - Original 3
bgm4f - Original 4
bgm50 - Original 5
bgm51 - Original 6
bgm52 - Original 7
bgm53 - Original 8
bgm54 - Original 9

Rename your ADX files to whatever place they will be replacing.

Once done, you can now begin compilation. For compilation, we will be using UMDGen and DKZ Studio.

If you haven't done so already, rip your game from the UMD, and open up the container using UMDGen.




Extract 'X_DATA.BIN' somewhere by right-clicking on it, then selecting 'Extract'. Go to where you extracted it, then rename it as 'X_DATA.AFS'.

NOTE: You may have to change Windows' option of displaying the extensions of known file types. If you see the extracted file as 'X_DATA.BIN', then you can just change 'BIN' to 'AFS'. But if you only see 'X_DATA', then you'll have to switch the Windows option. Search Google for more info on doing that.






Once X_DATA.AFS is ready, open the file in DKZ Studio.





Simply drag-and-drop all your ADX files, saying 'Yes' (or 'Yes to all') to any replace prompts.

Save the file, then rename your saved file back as 'X_DATA.BIN'. Drag-and-drop it back into your GvGN+ Disc Image in UMDGen - in the same place - overwriting the old copy. Save the new Image, then copy it into your Memory Stick.

Tuesday, March 23, 2010

Gundam VS Gundam NEXT - Custom BGM Manual Part I

The following tools will be needed:
  • DKZ Studio
  • UMDGen
  • adxencd (or better yet, the CRI ADX SDK)
  • Your favorite audio editing software (Goldwave or CoolEdit/Audition will work)
  • ADXEncrypter (song encryption software, requires the latest Java Runtime Environment

First, you'll need a WAV file of the song that you'd like to insert into GvGN+. Most songs would be encoded in popular formats like MP3, so some conversion is needed here.

Use your favorite audio conversion tool/editing software to get a WAV file out of your MP3. Another method would be to dump a raw stream of your song from an application like WinAMP, which comes with the ability to create dumps natively.

Once you have the WAV file, you'll have to decide on some things:
  • Would you like the song to loop at certain points?
  • Is the audio loud enough for playback?
About the second item, you will have to take into consideration that once converted into ADX, your song may lose a few volume levels. If you think that it's loud enough even with a reduction, you can skip the volume adjustment step later.

Next, open up your favorite audio editing software, and use it to edit your WAV file. I will be using Goldwave in my example.

What you'll want to do are the following:
  1. Boost the volume
  2. Downsample the audio to 22050hz (this ensures maximum compatibility with the game)
  3. Search for loop points (if you want your song to not end, but rather loop at a certain point)
To boost the volume, simply select a 'Volume' effect found in most audio editing software:







Boost the volume level as necessary.

Next, downsample the file by using a 'Resample' feature:





Change the value to 22050.

If you wish to have your song loop, you simply have to take note of the sample points of your loop start, and your loop end. The song will continuously loop between those two points (this step can be skipped if you want your song to run from end-to-end).

To see 'time' as 'samples', right-click on this area (for Goldwave only):




Then simply move the selection sliders on both ends to create a selection of the area to be looped.



Simply take note of the two numerical values on the same area I encircled earlier (e.g. 'xxxx' to 'xxxx').

IMPORTANT! If you intend to downsample your audio (from 44100 to 22050), you MUST downsample first before taking your loop samples.

Now, you are ready to make your audio file into an ADX file.

For this step, you will be required to use an ADX conversion tool. I recommend using the official CRI ADX SDK for this step; it is attached earlier in this post. For this task, we will be using the 'ADX Encoder' tool of the SDK.




The CRI ADX SDK allows you to easily create and test any ADX file, as well as set loop points without having to use a command line (which would have been harder for me to explain). The SDK was offered for free by CRIware a little while back, but no longer, unless you're a game development company.

To begin, simply click on "Item", then "Add". Alternatively, you may click on the second folder in the shortcut sidebar. A file selection box should appear; find your WAV file, then click 'OK'. Alternatively, you may drag-and-drop your file into the program.

Important! The file has to be in WAV format. MP3s and other popular formats won't work, so you'll have to perform the earlier step of WAV>MP3 conversion using your favorite audio software.


After adding the file, the window should look something like this:


Set the loop points by clicking on the "Setup of Loop Settings" button (fifth button on the sidebar, the one with rotating arrows).




Set your Loop Points by typing in the two values you took note of earlier (into Begin & End). Click 'OK', then finally, 'Encode'.

Your ADX file has been created. Compiling will be demonstrated in the next part.