GBA Doom II Modding Tools! - 0.2 Beta


Get out of my kitchen you flying ass
God King
Well the wait is finally over! I present to you the GBA Doom II Modding Tools!
The tools are programmed in Blitzmax (because it's the programming language I know best).
I have to give credit to Magicteam for handing me their custom tool they used for making the translation patch. Despite that being too unfinished to be usable, it was a massive help to understand the filenames, find out what parts belong to textures/flats/sprites etc.
The source code helped me find offsets but other than that I didn't understand it however the compiled GUI tool was a massive help.

So what about these tools? What can they do?
*Modify, View & Extract in-game Sprites/Textures/Flats
*Modify, View & Extract raw graphics, such as the Hud.
*Modify, View & Extract rom Palettes.
*Convert all above to and from .PNG files
*Modify, View & Extract sounds (partially as of 0.1-0.2 Beta).
What tools are included in here?
Decompile.exe - Rips all the content defined in the bin folder, to extract them from the "DoomII.gba" rom to filetypes in the "\Decompile" folder
Recompile.exe - Gets all the changed files from the \Recompile folder and turns it back into a rom as "DoomII_Recomp.gba"
PaletteViewer.exe - For viewing decompiled/recompiled *.D2P Files
GraphicViewer.exe - For viewing decompiled/recompiled *.D2T and *.D2I Files
D2-TO-PNG.exe - Converts all Textures/Sprites/Flats/Images/Palettes from the Decompile folder into PNG format. They are exported to the "Decompile\PNG" folder.
PNG-TO-D2.exe - Same as above but the other way around. They are exported to the "Recompile\" folder. It loads files from the "Decompile\PNG" folder.
Rom Viewer.exe - Shows the rom with the raw byte data turning into colours from the palette, useful for finding graphics.
Alright so what dosen't the Tools support?
* As of 0.1-0.2 Beta, only a few sounds can be altered as I haven't finished defining them.
*Doesn't support compressed graphics, the intermission screen uses this for example.
*Doesn't support native GBA Sprites, which is used for the players FPS guns, game menus, and text.
*Doesn't support altering skies, but can be easily supported in a future update though.
*In-game mini text, because I simply haven't defined them yet.
*Rearranging YSTART/YSTOP values for sprites. Added to 0.2 Beta
If you want to know about the file formats, how the gba rom stores stuff, or what the command lines are.
I've put a Documentation.txt file in there describing lots of stuff.
For now mostly everything is a command line tool, so I recommend combining this for now with the russian GUI tool. Just so you would know if you recompiled output roughly was.
I plan on replacing the Recompile and Decompile tools with a single GUI tool eventually that can also view stuff on the fly.

Anyhow have some screenshots!

Anyway have fun!
If you appreciate the few months of work put into this, you can always Donate and help me host this website. c:
Check the attachments below for the ZIP Download.


Last edited:


Get out of my kitchen you flying ass
God King
There was an update today fellas! Here's the changelog, I may as well update this changelog post whenever a new update is finished.
GBA Doom II Modding Tools! - 0.2 Beta


0.2 Beta:
* X1Downscaler can now read headers (*.H) from the Recompile folder if it exists.
* The Recompiler and Decompiler now don't print a shitload of messages. As this was bottlenecking the speed.
  However there's now a percentage!
* The Recompiler had a big addition to the sprites. YSTART and YSTOP values can be modified on the fly
  to best fit your replacement graphics! Check out "Extras\Recompile Modes.png" and "Documentation.txt"
  for more detail on what you can do with this feature.
* The recompiler code has also been significantly shortend for sprites, not that it would effect real usage anyway.

0.1 Beta:
* Original release.


Dinomite - For encouraging and the original idea for the entire project.
Id Software - For making such a great game.
And MagicTeam - For making this all possible by handing me their Russian editor, which I was then able to figure out the graphic formats and program the tools.

Thanks dudes appreciate ya! ~ Kippykip
Recompile Modes.png
^Here's an example of what I'm talking about.