View Single Post
Old 10th November 2012, 12:18 AM  
Jambo51
Glory To Arstotzka
Ex-Staff
 
Jambo51's Avatar
 
Join Date: May 2012
Location: Scotland
Posts: 85
Jambo51
Default [GB/GBC] GB/GBC .s Music Extractor

Hey guys, I'm posting here today to reveal what I've been working on recently. It's a little tool which extracts songs from the early Pokémon game ROMs and exports them into the .s format used by Generation 3's Sappy Music Editor.

Please Note: This tool is very much a work in progress, so if you get weird results, let me know!
Major thanks to RichterSnipes of Pok?community for explaining the little differences between Gens 1 and 2, and for giving me the pointers to missing song headers from Gen 1.


OK, a running list of what it currently does NOT do:
Spoiler:
Pattern Recognition - A clever thing used in Gen 3 to limit the size of the compiled songs. Currently missing.
Non-English ROMs - Support could be added by adding the necessary info to the INI however.
Any Non-Pokémon ROM - Although, again, in theory, support could be added by adding the necessary data to the inis. (Assuming it uses the same engine as Pokémon, at least)


There is a button which says "Add VG...". If you press it, it will let you choose your GBA ROM, find free space for the VG to be inserted into, and then insert it for you, taking care of all the nasty repointing for you!

The tool can also generate a VG for each of the Game Boy games it supports, if you give it the number of waves and the locations of those waves. Note, it generates it in a manner consistent with using it with the tool's own Insert VG functionality.

Definitions.ini contains a list of definitions for what each byte inside the Pokémon Music Engine does. Unless you know what you're doing, I wouldn't touch it, if I were you.

Blarg.ini contains some vital information used to make the tool run. It contains information on the 5 English GB/GBC ROMs the tool currently supports, including the song names and order. Note, the list in the ini does not need to be in order, as the tool reorganises them into order while loading up.

It's formatted like Sappy's XML file. Reason for that being that most people with an interest in music hacking the Pokémon games will be at least a little familiar with Sappy's XML.

The tool's name is very much a placeholder. I'm open to suggestions for a better name.

MAJOR UPDATE: VG INSERTION AND WAVE RECOGNITION ADDED.
MAJOR UPDATE 2: NOISE SOMEWHAT CORRECTLY EXPORTED. VOLUME ADJUSTMENTS NEEDED.
MAJOR UPDATE 3: MODULATION NOW WORKS!
MAJOR UPDATE 4: GEN I NOW SUPPORTED!

The tool itself is attached below.
Attached Files
File Type: rar Sarpy.rar (20.0 KB, 181 views)
__________________
I have nothing interesting to add

Last edited by Jambo51; 7th February 2013 at 11:22 PM. Reason: Reattaching tool. Updates
Jambo51 is offline  
Likes Zullivan1987 liked this post