Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] Advanced Series (GBA toolbox)

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Closed Thread
 
Thread Tools
  #1    
Old September 27th, 2009 (12:19 PM). Edited August 24th, 2012 by giradialkia.
Wichu's Avatar
Wichu Wichu is offline
Project Amethyst
 
Join Date: Sep 2007
Location: North Herts, England
Age: 22
Gender: Male
Nature: Naive
Posts: 2,052
Advanced Series
As the title suggests, this is a series of tools for hacking the GBA Pokémon games. I'm currently focusing on tools for inserting new Pokémon and sprites.

Quick Notes
These tools are written in Visual Basic 9, which is part of the .NET framework. Therefore, to run these tools, you will need to have the .NET framework installed on your computer. It can be downloaded for free from Microsoft. You may as well get it now, since other programs you might want to use later may use it.
Also, I'm a beginner at VB. Because I know other languages, my code should be pretty good; however, there are definitely bugs in it somewhere :P If you find any bugs, could you post them in this thread, or VM me them?

Advanced Pokémon Icon Editor (APIE)
Spoiler:
Quick Instructions:
  • Open your ROM with the tool (Ctrl+O)
  • Select a Pokémon from the list
  • Import a 32x64 image into the tool (Ctrl+I)
  • Click OK
  • Click Write To ROM

Features:
  • Imports non-indexed .png, .bmp, .gif and .jpg images
  • Exports .png images
  • Automatically selects a matching palette, and converts the icon to it
  • Won't complain if your icon has over 16 colours
  • Ability to change the palette of an icon
Screenshots:
Spoiler:

Main interface

Import Icon dialog

Support for an extended Pokédex
In-depth Instructions
The File menu commands are: Open ROM, Save all changes, Import image, and Export image.
  • Open ROM: Opens a .GBA ROM
  • Save all changes: Saves all changes to icons. Useful if you're changing multiple icons.
  • Import image: After selecting an image file, opens the Import Image dialog.
  • Export image: Saves the current icon as a .png file.
The tool automatically selects a matching INI when you load a ROM. However, if you have repointed data, use the INI select box to select a custom INI.
The Species Name and Species Number boxes change the current species. Any changes made to icons will be kept in memory, so you don't have to worry about writing to the ROM before switching species.
The Repoint button allows you to repoint the icon; this is useful for editing the ?????????? Pokémon.
The Palette ID box allows you to change the palette of an icon. There are 3 palettes to choose from.
The Write To ROM button writes the icon data of the currently selected Pokémon to the ROM.
The Revert button reloads the current icon image from the ROM.

The Import Image dialog automatically selects a palette depending on the colours in the image, and recolours it to that palette. The palette to which it is recoloured can be changed using the Palette box.
The Auto-Transparency checkbox will ensure that the colour used at the top-left corner of the imported image is treated as the first colour in the palette (the transparent colour), and stops any others from being assigned that colour. This prevents transparency issues in-game.

The Repoint dialog shows the length of the icon data, and two offsets. The start offset is editable; however, to ensure that important data is not overwritten, the actual offset to be written to is shown below. To set the write offset to the start offset, click the Set Write Offset button. Ensure that you have enough free space at that offset first.
The Find Free Space button searches the ROM after the start offset for a suitable amount of free space, and sets the write offset to the free space offset. Finding free space may take a few seconds, depending on the start offset.
Clicking OK copies the icon data to the write offset, and repoints the relevant offset in the icon table.


Advanced Sprite Position Editor (ASPE)
Spoiler:
Quick Instructions:
  • Open your ROM with the tool (Ctrl+O)
  • Select a Pokémon from the list
  • Click Auto-Position
  • Adjust the Enemy Altitude to add/remove a shadow
  • Click Write To ROM
  • DO NOT edit the positions of the Egg and alternate Unown sprites at the end

Features:
  • Modifies the player and enemy sprites' vertical positions
  • Modifies the enemy sprite's altitude (to add/remove a shadow)
  • Automatically gets the Y values from the player/enemy sprites
  • Loads sprites from the ROM, so is compatible with custom sprites
Screenshots:
Spoiler:

Main interface

Modifying the altitude of an inserted sprite

In-depth Instructions
The File menu commands are Open ROM and Save all changes.
  • Open ROM: Opens a .GBA ROM
  • Save all changes: Saves all changes to sprite positions. Useful if you're changing the positions of multiple Pokémon.
The tool automatically selects a matching INI when you load a ROM. However, if you have repointed data, use the INI select box to select a custom INI.
The Species Name and Species Number boxes change the current species. Any changes made to positions will be kept in memory, so you don't have to worry about writing to the ROM before switching species.
The Player Y box changes the vertical position of the back (player) sprite. Increasing the Player Y makes the sprite move downwards, and vice-versa. Values can be between -128 and 127.
The Enemy Y box changes the vertical position of the front (enemy) sprite. Increasing the Enemy Y makes the sprite move downwards, and vice-versa. Values can be between -128 and 127.
The Enemy Altitude box changes the vertical position of the front (enemy) sprite, and controls whether a shadow is displayed or not. Increasing the Enemy Altitude makes the sprite move upwards, and vice-versa. When the value is 0, no shadow is displayed. Values can be between -128 and 127.
The Auto-Position button automatically adjusts both the player and enemy Y values so the sprite is positioned correctly, according to the official sprites. This means that the player sprite will touch the message box at the bottom, and the enemy sprite will be 40 pixels above it. It does not affect the enemy altitude value.
The Write To ROM button writes the sprite position data of the currently selected Pokémon to the ROM.
The Revert button reloads the sprite position data of the current Pokémon from the ROM.
DO NOT edit the position of the Egg and alternate Unown sprites. They don't actually have sprite position data; attempting to edit them may overwrite other important data in the ROM.


Advanced Pokémon Sprite Editor (APSE)
Spoiler:
Quick Instructions:
  • Open your ROM with the tool (Ctrl+O)
  • Select a Pokémon from the list
  • Click the Edit button
  • Click the Import buttons underneath each sprite, and select the corresponding image (make sure that the normal and shiny sprites are the same, just with different colours)
  • Click Synchronize Palettes to fix the palettes
  • Click OK
  • Click Write To ROM
  • Type the offset to write the sprite to in the Start Offset box
  • Click Find Free Space
  • Click OK

Features:
  • Imports non-indexed .png, .bmp, .gif and .jpg images
  • Exports .png images
  • Won't complain if your sprite has over 16 colours
  • Gets a modifiable 16-colour palette from an imported image
  • Automatically indexes the image
  • Handles tricky palette situations, such as when the shiny sprite has a different number of colours to the normal sprite
  • Edits sprites of alternate forms and second frames (however, Castform uses different palettes for its forms, so you'll have to edit those manually)
  • Built-in free space finder
  • Can import multiple sprites in one image (for example, the normal, shiny, back, and shiny back sprites)
  • Automatically repoints offsets in the sprite/palette tables
Screenshots:
Spoiler:

Main interface

Edit Sprite dialog

Write to ROM dialog

In-depth Instructions
The File menu commands are: Open ROM, Save all changes, and Export image.
  • Open ROM: Opens a .GBA ROM
  • Save all changes: Saves all changes to sprites. Useful if you're changing multiple sprites. All the sprites will be written to the ROM at one offset.
  • Import all images: Imports all images from a folder named #.png or ###.png, with # meaning the species number (not national dex number). The sprites should be in the same format used for the Import All function in the Edit Sprite window. This function may take a long time if you import a large number of sprites; for example, importing a sprite for each Pokémon will take between 15-30 minutes.
  • Export image: Saves the current sprites as a .png file (256x64 pixels, in the order: normal front, shiny front, normal back, and shiny back).
The tool automatically selects a matching INI when you load a ROM. However, if you have repointed data, use the INI select box to select a custom INI.
The Species Name and Species Number boxes change the current species. Any changes made to sprites will be kept in memory, so you don't have to worry about writing to the ROM before switching species.
The Frame box changes the form or frame displayed. It is disabled if the Pokémon only has one frame in its sprite.
The Write To ROM button brings up the Write To ROM dialog.
The Revert button reloads the current Pokémon sprites from the ROM.

The Edit dialog has three main sections. The top section contains the imported sprites, and the frame select and import buttons. The middle section deals with the palettes, and the bottom section shows how the sprites will look in-game.
The Frame box simply changes the frame shown.
The Import buttons under each sprite allow you to import a sprite. It must be 64 pixels wide. If the sprite is 64 pixels tall, it will replace the current frame; if it is taller, it will replace multiple frames (starting from the first one). This can be used to easily insert animated into Emerald (once an INI is made).
The Import All button takes a 256 pixel wide image, in the same format as the images saved by the Export function (i.e. the same order as the sprites are shown in the Edit dialog). It can also take images taller than 64 pixels in the same way as the normal Import buttons.
The Auto-Transparency checkbox will ensure that the colour used at the top-left corner of the imported image is treated as the first colour in the palette (the transparent colour), and stops any others from being assigned that colour. This prevents transparency issues in-game.
The colours in the palettes are clickable. Single clicking a palette entry, then clicking on the imported sprite, will change the colour in the palette to that of the clicked pixel. Double-clicking will bring up a colour selection dialog.
The Synchronise Palettes button creates palettes from the imported sprites, and indexes the sprites to be inserted accordingly, matching the normal to the shiny palette. It will only work if the normal and shiny sprites are identical, other than the colours, and won't work with images with compression artefacts (such as .jpgs). It will account for different numbers of colours on front/back or normal/shiny sprites, such as with Magnemite or Budew.
The Update Sprite Palette button simply recolours the sprite to be inserted to match the current palette. If you edit the palette, be sure to click this button when you're done.

The Write To ROM dialog shows the length of the compressed data, and two offsets. The start offset is editable; however, to ensure that important data is not overwritten, the actual offset to be written to is shown below. To set the write offset to the start offset, click the Set Write Offset button. Ensure that you have enough free space at that offset first.
The Find Free Space button searches the ROM after the start offset for a suitable amount of free space, and sets the write offset to the free space offset. Finding free space may take a few seconds, depending on the start offset.
Clicking OK writes the sprite data to the ROM, and repoints the relevant offsets in the sprite/palette tables.


Download
A-Series 1.04 (complete package) - 08/10/09
Download from FileFront (.zip, 159KB)
Download from 2Shared (.zip, 159KB)
Download from MegaUpload (.zip, 159KB)

Old Downloads
Spoiler:

A-Series 1.03 (complete package) - 05/10/09
Download from FileFront (.zip, 157KB)
Download from 2Shared (.zip, 157KB)
Download from MegaUpload (.zip, 157KB)

A-Series 1.02 (complete package) - 04/10/09
Download from FileFront (.zip, 157KB)
Download from 2Shared (.zip, 157KB)
Download from MegaUpload (.zip, 157KB)

A-Series 1.01 (complete package) - 28/09/09
Download (.zip, 157KB)

A-Series 1.00 (complete package) - 27/09/09
Download (.zip, 151KB)


Changelog
Spoiler:

1.04
  • Fixed importing and viewing corrupted sprites
  • Fixed palette bug in the sprite editor
  • Added a batch import function to the sprite editor

1.03
  • Fixed the save all changes button in the sprite editor
  • Fixed a bug in the LZ77 compression algorithm which caused the last palette entry to be compressed incorrectly
  • Fixed a bug in the sprite editor which caused errors with Emerald
  • Added Emerald (U).ini file

1.02
  • Fixed a potential bug in the sprite editor

1.01
  • Included the image files which were causing ASPE to crash
  • Added a repoint function to the icon editor
  • Added a set write offset function to the sprite editor
  • Added an auto-transparency option to the icon and sprite editors
  • Added an update palette function to the sprite editor
  • Stopped the original imported image in the sprite editor being recoloured

Happy hacking!

EDIT (giradialkia here): https://dl.dropbox.com/u/34957059/Advanced%20Series.rar
Here is a renewed link for the programs.
__________________
  #2    
Old September 27th, 2009 (05:44 PM).
Gamer2020's Avatar
Gamer2020 Gamer2020 is offline
This love is a sickness...
 
Join Date: Jun 2008
Location: Distant Land
Gender: Male
Nature: Bold
Posts: 796
Send a message via Skype™ to Gamer2020
Nice job sir but you may want to do some debugging

I start this program up and get this right away.

__________________
Pokemon Game Editor Download!
Pokemon TCG Assistant!
Fun Fact: Even though PGE isn't posted on PC anymore it still has the same number of downloads per day.
Accept no imitations!
  #3    
Old September 27th, 2009 (05:53 PM).
.Seth's Avatar
.Seth .Seth is offline
.explorer.
Crystal Tier
 
Join Date: Jun 2008
Location: A capacitor in a power supply board.
Gender: Male
Nature: Quiet
Posts: 1,645
Mine says it stopped working. :/
  #4    
Old September 27th, 2009 (05:55 PM).
sky_queen3's Avatar
sky_queen3 sky_queen3 is offline
Minusle Fangirl. ;)
 
Join Date: Feb 2009
Location: Australia
Age: 25
Gender: Female
Nature: Naive
Posts: 249
Little problem which might just be me, as soon as I open Advanced Sprite Position Editor, I get Advanced Sprite Position Editor has stopped working. Why is that the other two work fine.

Oh thank goodness I'm not the only one, I was worried I broke something.
__________________
  #5    
Old September 27th, 2009 (07:19 PM).
justinufer justinufer is offline
Learner
 
Join Date: May 2008
Age: 19
Gender: Male
Nature: Relaxed
Posts: 14
I get the same problem with Advanced Sprite Position Editor. I'm also using windows vista and if this might help this what pops up in the problem details.


Description:
Stopped working
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: advanced sprite position editor
Problem Signature 02: 1.0.0.0
Problem Signature 03: 4abf8b55
Problem Signature 04: Advanced Sprite Position Editor
Problem Signature 05: 1.0.0.0
Problem Signature 06: 4abf8b55
Problem Signature 07: f
Problem Signature 08: c6
Problem Signature 09: System.InvalidOperationException
OS Version: 6.0.6002.2.2.0.768.3
Locale ID: 3081

Hopefully this can help you.


Also since your manly going on inserting new pokemon would you be able to find a way to make it so that you can add new pokemon but also add pokedex data and stuff. This is just a sugestion.
  #6    
Old September 27th, 2009 (08:32 PM).
Neo-Wolf's Avatar
Neo-Wolf Neo-Wolf is offline
I am back!
 
Join Date: Apr 2009
Location: Faridabad, India
Age: 20
Gender: Male
Nature: Relaxed
Posts: 724
These are good, but very buggy. I hope you can improve these.
__________________


Hey guys, I am back!
But NO more ROM Hacking for me.
Nor any CSS.
I am now primarily a writer.

Stuck in your hack? Developed a writer's block? Get cool story ideas from me!
  #7    
Old September 27th, 2009 (11:07 PM).
874521's Avatar
874521 874521 is offline
School days again...
 
Join Date: Dec 2008
Location: Philippines
Age: 17
Gender: Female
Nature: Naughty
Posts: 507
I can say that the tools are great but I have a problem, when I clicked Write to ROM in APIE then check it to the ROM, what happened is this:

__________________
Hacks I Support:
Pokemon Ametrino





--------------------------
My Thread: http://www.pokecommunity.com/showthread.php?t=201787
Post your suggestions on my thread.
Contains DPP and HGSS Tiles and Overworlds!



874521 Pair up with Napalm
  #8    
Old September 28th, 2009 (12:08 AM).
NatureKeeper NatureKeeper is offline
No longer active here.
 
Join Date: Jun 2008
Location: Somewhere.
Age: 17
Gender: Male
Nature: Hasty
Posts: 1,234
Send a message via Windows Live Messenger to NatureKeeper Send a message via Skype™ to NatureKeeper
Quote originally posted by 874521:
I can say that the tools are great but I have a problem, when I clicked Write to ROM in APIE then check it to the ROM, what happened is this:

Did you use the right Transparent Color? The Green Thing, I mean.
  #9    
Old September 28th, 2009 (12:17 AM).
874521's Avatar
874521 874521 is offline
School days again...
 
Join Date: Dec 2008
Location: Philippines
Age: 17
Gender: Female
Nature: Naughty
Posts: 507
Quote originally posted by NatureKeeper:
Did you use the right Transparent Color? The Green Thing, I mean.
I insert the icon unindexed because it has the features of inserting unindexed icons but I use the Icon ED to change the background.
__________________
Hacks I Support:
Pokemon Ametrino





--------------------------
My Thread: http://www.pokecommunity.com/showthread.php?t=201787
Post your suggestions on my thread.
Contains DPP and HGSS Tiles and Overworlds!



874521 Pair up with Napalm
  #10    
Old September 28th, 2009 (03:05 AM).
Masterge77's Avatar
Masterge77 Masterge77 is offline
Jacen The Robot Floatzel
 
Join Date: Dec 2007
Location: Sinnoh Region
Gender: Male
Nature: Serious
Posts: 1,045
Can you make one for trainer sprites?
__________________
My DA account
Avatar made by MelNathea on DeviantART

The Owner of Sea Weasels, the club for Buizel and Floatzel fans!
  #11    
Old September 28th, 2009 (07:24 AM). Edited September 28th, 2009 by Wichu.
Wichu's Avatar
Wichu Wichu is offline
Project Amethyst
 
Join Date: Sep 2007
Location: North Herts, England
Age: 22
Gender: Male
Nature: Naive
Posts: 2,052
The sprite position editor isn't a bug in the tool; I just forgot to include some images in the .zip :P
I'm working on a quick update, and I'll make sure to put them in this time. For now, download these images to the tool's folder:
http://img101.imageshack.us/img101/6534/battlepreviewshadow.png
http://img515.imageshack.us/img515/9228/battlepreviewbackground.png

The new release will have a few extra features, mainly in the icon/sprite editors.

EDIT: New release!
__________________
  #12    
Old September 28th, 2009 (09:15 AM).
wesling123 wesling123 is offline
 
Join Date: Sep 2009
Gender: Male
Posts: 5
I hope that you'll make it compatible with Pokemon Emerald
I really need it
Thanks
  #13    
Old September 28th, 2009 (09:26 AM).
negative's Avatar
negative negative is offline
Life returns. Life prevails.
 
Join Date: Aug 2008
Location: Ptuj, Slovenia.
Gender: Male
Nature: Naughty
Posts: 500
Wichu, You make my life easier:D Thanks for the new tools, I am Mostly using APIE and I love it:D
__________________
Pokémon Twisted Mind
  #14    
Old September 28th, 2009 (09:55 AM).
NarutoActor's Avatar
NarutoActor NarutoActor is offline
The rocks cry out to me
Silver Tier
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 21
Gender: Female
Nature: Bashful
Posts: 1,975
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
cant you combine all these tools into one like you did with rmxp
__________________
~There are those people who understand hex, F the rest
  #15    
Old September 28th, 2009 (12:50 PM).
Blubber300's Avatar
Blubber300 Blubber300 is offline
 
Join Date: Aug 2009
Gender: Male
Posts: 67
nice but you should put an emerald ini
__________________
  #16    
Old September 28th, 2009 (03:33 PM).
sky_queen3's Avatar
sky_queen3 sky_queen3 is offline
Minusle Fangirl. ;)
 
Join Date: Feb 2009
Location: Australia
Age: 25
Gender: Female
Nature: Naive
Posts: 249
Yay for update, I'll try it and let you know how it works out.
__________________
  #17    
Old September 28th, 2009 (03:50 PM).
Aljam's Avatar
Aljam Aljam is offline
Pierce the heavens
Gold Tier
 
Join Date: Jul 2008
Location: Canada
Age: 21
Gender: Male
Nature: Modest
Posts: 583
Sweet tools Wichu! I will certainly use these when I get a chance
__________________
Paired with Druyii.
  #18    
Old September 28th, 2009 (04:18 PM). Edited September 28th, 2009 by justinufer.
justinufer justinufer is offline
Learner
 
Join Date: May 2008
Age: 19
Gender: Male
Nature: Relaxed
Posts: 14
These three programs are really great and usefull. I had a short test with them it dosn't look like they got any bugs in them nor does anything to the game from what i checked. The only problem with them is the unown's slots down the bottom the name's are glitched. You should see if you could fix those, if not, it's not much of a problem, but they could be if you use those for fake pokemon. A question did you get those unown's for the empty free 25 pokemon spot's, I'm just curous.
  #19    
Old September 28th, 2009 (04:23 PM).
Master Terrador's Avatar
Master Terrador Master Terrador is offline
Welcome to the Underworld!
Crystal Tier
 
Join Date: Jan 2009
Location: Lost in my mind
Age: 21
Gender: Male
Nature: Quiet
Posts: 1,047
Man, I Love you for APIE.
This makes my Iconing job much easier.
__________________
The distortion of antimatter signifies the dark one's arrival
Dragonadopters | Friend codes | Prism | Snakewood | Life of Guardians| Credits
  #20    
Old September 28th, 2009 (08:52 PM).
874521's Avatar
874521 874521 is offline
School days again...
 
Join Date: Dec 2008
Location: Philippines
Age: 17
Gender: Female
Nature: Naughty
Posts: 507
Quote originally posted by XD002:
Man, I Love you for APIE.
This makes my Iconing job much easier.
Yeah, I agree with you. It makes it easier and good thing that you add features on it.
__________________
Hacks I Support:
Pokemon Ametrino





--------------------------
My Thread: http://www.pokecommunity.com/showthread.php?t=201787
Post your suggestions on my thread.
Contains DPP and HGSS Tiles and Overworlds!



874521 Pair up with Napalm
  #21    
Old September 29th, 2009 (04:54 AM).
dragonarche's Avatar
dragonarche dragonarche is offline
Is back :D
 
Join Date: Apr 2008
Location: New bark town
Gender: Male
Nature: Brave
Posts: 459
Send a message via Windows Live Messenger to dragonarche
Nice you should add more toolls !
Btw the icon edtior works fine for me
iam running windows 7 beta
__________________

Experienced Vb.net and C# Dev
  #22    
Old September 29th, 2009 (05:46 AM).
Wichu's Avatar
Wichu Wichu is offline
Project Amethyst
 
Join Date: Sep 2007
Location: North Herts, England
Age: 22
Gender: Male
Nature: Naive
Posts: 2,052
Quote originally posted by justinufer:
These three programs are really great and usefull. I had a short test with them it dosn't look like they got any bugs in them nor does anything to the game from what i checked. The only problem with them is the unown's slots down the bottom the name's are glitched. You should see if you could fix those, if not, it's not much of a problem, but they could be if you use those for fake pokemon. A question did you get those unown's for the empty free 25 pokemon spot's, I'm just curous.
The 27 Unown slots, as well as the Egg slot, aren't actually available for Pokémon. They just store the sprites of the Egg and Unowns. The glitchy names are because at the Pokémon name list only goes up to 411; past that is the move data. That's why you see bits of attack names as the names for the Unown forms.
So no, you can't use those slots for new Pokémon; they're already used for the Egg and Unown sprites. If you try editing anything but the sprites/icons, you could crash the ROM (since they don't have their own data). I need to add a note saying that to the instructions of ASPE :P
__________________
  #23    
Old September 29th, 2009 (02:13 PM).
Flandre Scarlet's Avatar
Flandre Scarlet Flandre Scarlet is offline
Free your mind.
Gold Tier
 
Join Date: Feb 2008
Location: Australia
Age: 19
Gender: Male
Nature: Adamant
Posts: 354
hey Wichu,

theres tools are nice, they'll help me alot, thanks man! :3
and do you think that you'll release an OW editor?'

thx.
__________________
  #24    
Old September 29th, 2009 (03:24 PM).
justinufer justinufer is offline
Learner
 
Join Date: May 2008
Age: 19
Gender: Male
Nature: Relaxed
Posts: 14
Well put them in the instructions and that's if and one's goin read it, not many do, but i Do.
  #25    
Old September 29th, 2009 (05:11 PM).
manomow's Avatar
manomow manomow is offline
 
Join Date: Jun 2007
Age: 18
Nature: Jolly
Posts: 214
Could you put it on a differnt site, I get errors from that site.
__________________
Pokémon Lapis & Coral | DeviantArt | Youtube
Closed Thread
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 02:06 AM.