• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 04:40:13 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Graphics Editing (By: Tuosinoc)

Started by ffta707, December 11, 2010, 12:17:26 am

ffta707

Couldn't quite capture the headings for the sections he made. They are very cool.
 

 

The Administrator (ffta707) has stated that he will upload all of the "old tutorials" to the site.  Presumably, those tutorials contain a guide on graphics editing (probably several, in fact).  Until they are uploaded, however, I thought I would donate the little knowledge I possess here.

 

 __        ,        ,

/  ` _ ._ -+- _ ._ -+- __ *

\__.(_)[ ) | (/,[ ) | _)  *

 

    - Introduction                    [INT]

    - What You Need                   [WYN]

    - Step By Step                    [SBS]

      - Making Backups                [BCK]

      - Finding the Palette           [PAL]

      - Molesting the Tiles           [TIL]

      - Play Testing                  [PLT]

    - Final Thoughts                  [FIN]

    - Credits                         [CRD]

 

 / _/_   _/  __/'   .

(/)// ()(/(/( //()/).                 [INT]

 

Have you ever played a game on an emulator and found yourself thinking "Wouldn't that character look great if he was a little more mage-like?", "Ugh! That is ugly! And it wouldn't be that hard to fix!", or something similar?  If so, then this guide is for you!  With a bit of patience and a modicum of artisitic skill, you can customize just about any rom's graphics.

 

(   // __/  (__/      /| )_ _ _/.

|/|//)(//    / ()(/  / |/(-(-(/ .     [WYN]

 

1. A Gameboy Advance rom (I'll be using Final Fantasy Tactics Advance, but this guide works for any rom).  In my country (USA), it is legal to own a rom of a game so long as you own the original game (which I do).  Familiarize yourself with your respective country's laws, and do not ask for roms on this site.  See Rule 4 on the Rules page.

 

2. Tile Molester Alternate.  Tile Molester is a program written by Kent Hansen that allows the manipulation of graphical data within a rom.  The "Alternate" part was written by Central MiB, and it allows us to import palette files (which will be extremely handy later on). You can get it here: http://www.romhacking.net/utils/%5B515% ... ernate.zip.

NOTE: This program is rather bug-ridden, so keep the original zip file.  When the program starts spitting out errors, delete it and unzip the file afresh.

 

3. VisualBoy Advance.  To play roms you need an emulator, and I think this is the best available.  Besides, we need its ability to export palettes.  I use VisualBoy Advance-M, a variant.  You can get it here: https://sourceforge.net/projects/vbam/f ... z/download

 

3. Patience.  Getting tiles to line up correctly can be a tedious process, and sometimes it seems impossible.

 

  __            __

 ( _/_    /    ( _/_  .

__)/(-/) ()(/ __)/(-/).               [SBS]

     /     /       /

 

Making Backups                        [BCK]

 

First, and most importantly, you must learn the Cardinal Laws of Modding, namely:

    1. When in doubt, make a backup.

    2. When not in doubt, make a backup.

    3. If you ever feel like not making a backup, see rules one and two.

 

Seriously, regularly backing up your work can save hours of frustration.

 

Say you've got a rom called "Final Fantasy Tactics Advance".  Make a copy of it and call it "FFTA - Experiment".  Then you change the way the Black Mage looks, you play test it, and you like it.  Rename it "FFTA - Black Mage Edit". Make a copy of it and call it "FFTA - Black Mage Edit II".  Then you change the way the Summoner looks, you play test it, and you like it.  Rename it "FFTA - Black Mage and Summoner Edit".  Make a copy of it and call it "FFTA - Black Mage and Summoner Edit II".  Etcetera.

 

That way, if you encounter a bug, you can test each modification in kind until you find the source of the bug.  If you have a large project, you can even have version numbers and a change log.  Just keep things backed up!

 

The modder who keeps a plethora of backups is not the modder who says, "Aaaargh! I can't find this bug! A week of work is ruined!".

 

With that out of the way, let's get started.

 

Finding the Palette                   [PAL]

 

Let us say we wish to modify the in-battle sprites for FFTA.  First, we need the palette for those sprites.  The palette file tells the game what colors the various sprites should be.  If you were to just search for the tiles right now, the sprites would all be the wrong colors.  It would make them almost impossible to find and difficult to work with.

 

So, run VisualBoy Advance and open up the rom (File -> Open GBA).

 

Then, play through it until the sprites we want (the battle sprites) are clearly visible.  Go to Tools -> Palette Viewer... and the "Palette View" box will pop up.

 

You'll see two palettes, "Background" and "Sprite".  Generally speaking, the Background palette is for the environment (things that don't move), while the Sprite palette is for the characters (things that do move).  Since we want the battle sprites, we want the Sprite palette.  To save it, press the "Save OBJ..." button and save the palette wherever you want to.

 

And now you have your palette!  That wasn't so hard, was it?  On to the tiles!

 

Molesting the Tiles                   [TIL]

 

Run Tile Molester Alternate by double-clicking on "TMLauncher.bat".  If you try to run it just by clicking TileMolester.exe, it'll behave oddly.

 

Once it's fully open (and it might take a few moments), go to File -> Open... and open up your rom.

 

(By the way, if the program decides to be buggy, it'll usually show up here. See NOTE underneath [WYN]-2.)

 

You should see a bunch of menus and a block window in full technicolor disarray.

 

Now we need to import our palette.  Go to Palette -> Import From -> Another File... and import the palette you saved earlier.  You'll notice the colors have changed (although they still don't make any sense).

 

It's time for the hunt!  The sprites we want are somewhere in that rom, but we don't know where.  Now that the palette is accurate, the sprites should look normal when they do show up.

 

Normally, you'd have to scroll through the whole thing searching for the sprites (and you may want to do that anyway for the practice).  But, out of the goodness of my heart, I'll give you the location.  Go to Navigate -> Go To..., enter 0069B600, and press OK (the other settings should be at their defaults, "Hex" for "Radix" and "Absolute" for "Mode").

 

If you're familiar with the game, you should recognize chopped up bits of a soldier in here. But, my oh my! What a mess!

 

Let's clean it up!  Go to the View Menu and click on the "Row-interleaved" option.  Notice how many pieces fit together now. (Some roms require this option on, while others do not.  You'll have to experiment.)  It's still messy, though.  Go to View again and select the "Tile Grid" option.  This will help differentiate sprite groups.

 

Now comes the tricky part.  Do you see those buttons on the toolbar in the upper right?  If you hover your mouse over them they'll tell you what they do.  Those buttons help you navigate inside the rom.  Tweaking with these will help to line things up correctly.

 

Try clicking the "Byte Forward" button (the one that looks like a plus sign) twenty-eight times.  You'll notice that our soldier fits nicer inside the red boxes.  That's a big improvement of our first view of him, isn't it?

 

If you're disappointed that it's not perfect, then I've got some bad news for you.  I've tried to make those little blobs line up perfectly for forever without success.  Sometimes, you just have to be grateful for a fair facsimile.

 

Well, now you can edit things to your heart's content.  The controls on the left side are remarkably similar to Paint, so a little effort will suffice to familiarize yourself with them.

 

Once you're done, go to File -> Save and you're done!

 

Play Testing                          [PLT]

 

Now you just need to rev up VisualBoy Advance again and play through the game 'til you get to your edited piece.  Make sure it operates as you wanted and make sure you test as many animations as possible.  You'd be amazed where little errors can creep in.

 

If everything conforms to your satisfaction, then congratulations!  You're done!  Enjoy.

 

 ___       ____

(_  '  _ /  /  /     _ /_/ _.

/  //)(/(  (  /)()(/(//)/_) .         [FIN]

                   _/

 

If you're new to this sort of stuff, then welcome to the happy community of modders! If not, then I hope this guide was somewhat helpful.

 

If I missed something or left something out, feel free to let me know (just post it below).  I'm pretty new at this, too, after all.

 

Other than that, thanks for reading and good luck!

 

  _

 / )_ _ _/'_/ _.

(__/ (-(// /_) .                      [CRD]

 

I would like to thank the following people/entities:

    1. ffta707 The Administrator for establishing a promising forum for stuff like this.

    2. Kent Hansen for making Tile Molester

    3. Central MiB for adding palette capacity to Tile Molester

    4. Nintendo for making the Gameboy Advance

    5. Square for making Final Fantasy Tactics Advance

 


 

____

 /       _ '    _

(  (/()_) //)()(_,

st4rw4k3r

You have a broken link. In #2 of [WYN]

http://www.romhacking.net/utils/%5B515% ... ernate.zip

also I like you mod rule.
Quote from: "ffta707"1. When in doubt, make a backup.
2. When not in doubt, make a backup.
3. If you ever feel like not making a backup, see rules one and two.

Any way I'm trying out this modding of FFTA.
Never really liked it that much.
So why not fix what I don't like.

*EDIT*
I found out whats wrong with the link. Rom Hacking  doesn't like it when you type in the address to the download.
So just replace the link with this: http://www.romhacking.net/utils/515/
If people want it then they have to click the link and click download.

Lightmancer

A suggestion: Offset dictionaries would help much

Auron

This is a pretty old thread, but i am wondering if it is possible to replace a sprite with a completly new and different sprite.