Jump to content

A couple of questions about sprites and junk


KeeperOfGale
 Share

Recommended Posts

I just started fire emblem hacking and I've basically screwed around with text editing and sprites. Now I'm trying to change a couple of the sprites in sacred stones, as well as add a promotion for soldiers.

I'm not sure how to add a promotion for soldiers, or how to change a unit's class from something like trainee to soldier.

Also this is off topic, but can anyone point me in the direction of a guide that helps me understand hexidecimals? I'm not sure how to read them. Thanks a bunch.

Link to comment
Share on other sites

For adding promotions, use the FE8 Promotion Branch Editor, and scroll down. You'll find the Soldier class eventually (it's either 4E or 4D or something).

For changing a character's class, I think you have to use the Chapter Unit Editor (I say I think because I've never edited FE8 before but I assume it's the same as FE7) if you're just changing classes. If you're making custom events, you have to specify the class you want the unit to be in the events, instead. The reason for this is that the game will load characters based on what the events tell it to (eg. "load Moulder as a Priest") rather than the class being fixed in that character's data to accomodate for generic units.

I assume you have zero understanding of hexadecimal, which is fine. There's pretty much only 2-3 things you need to know about it. Firstly the numbering system. Hexadecimal, as the name implies, is a way of counting numbers to a base of 16. This would be as opposed to decimal, which is counting numbers to a base of 10. Whereas decimal counting system will go 0 1 2 3 4 5 6 7 8 9 and then 10, hexadecimal will go 0 1 2 3 4 5 6 7 8 9 A B C D E F and then 10, where its decimal equivalent would be 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 and then 16. For ROM hacking, you'll often see hexadecimal bytes, which are just one hexadecimal number like 0A or FF. The other thing is pointers, but I think this is probably better explained elsewhere as I'm not very good at articulating it.

Does that help at all?

Link to comment
Share on other sites

For adding promotions, use the FE8 Promotion Branch Editor, and scroll down. You'll find the Soldier class eventually (it's either 4E or 4D or something).

For changing a character's class, I think you have to use the Chapter Unit Editor (I say I think because I've never edited FE8 before but I assume it's the same as FE7) if you're just changing classes. If you're making custom events, you have to specify the class you want the unit to be in the events, instead. The reason for this is that the game will load characters based on what the events tell it to (eg. "load Moulder as a Priest") rather than the class being fixed in that character's data to accomodate for generic units.

-snip-

Does that help at all?

Thanks a ton! I found what I needed. However I need another thing. I want to add Halberdier as a promotion to the Soldier class. I have a sprite for it, but I'm not sure how I could just put it in without overwriting another sprite. Do I need to hex edit for this?

Link to comment
Share on other sites

(Note: I've put supplementary information in acronyms so if you need extra info just mouse over the text with the dotted line)

You'll need to do a few things in order to get a new animation working. First, you'll need to insert the animation using FEditor Adv. This is pretty simple. Open up FEditor and head over to the Class Animation Manager. You'll see something called "input index"--keep clicking through until you find an animation you want to replace. FE8, by default, ends at C9, so you need to change the max index to something higher (like F0 or whatever). Now go ahead and overwrite CA if you wish, and further on. Anyway, hit "Insert...", select the correct file and save it. With that, the animation's data will be in the game. Be sure to note down which index you put the animation at. For argument's sake, let's go with 0xCA for the standard lance animation, and 0xCB for the throwing spear animation (eg. Javelin).

Just keep in mind that overwriting indexes past the default may cause FEditor to become a little bit glitchy, but that's easily fixed. If it glitches up you'll know because the next time you open FEditor and try to use certain functions like the text editor, they won't load properly. If this happens, just open the ROM in FEditor and hit "Save" then close it and open it again and it'll work fine.

After that you'll need to let the game know where the new animation is. Load up Nightmare and open up the FE8 Custom Battle Animation Editor. You'll see a bunch of numbers in the drop list like 0x8E60000 and the like. These are the addresses where the animation stuff will go. Let's run with 0x8E60000. Now you'll see a bunch of other stuff: "Weapon Type", "All weapons...", "Animation Played" and "Separator". All will be set to 0xFF by default. For your Halberdier, you want to hit Weapon Type and select 0x01 All Spears (just scroll up until you find it). For All weapons... select "1 - All weapons for a weapon type". Finally, change Animation Played to CA (which is your Halberdier animation). Then set Separator to 0.

You'll need to do the same thing if you want a separate animation for Javelins/Short Spears/Spears by using the next entry and doing the same thing, but changing the Weapon type to Javelin and the Animation Played to 0xCB, and the next one for a Short Spear with 0xCB, and the same for a Spear. When you're done with this, make sure that the next Weapon Type is set to 0x00, which will tell the game to stop reading for animation data. If you run out of space in one address, just use the next address for the rest of the animations. As I said before, the game will keep reading for animation data until it hits a 0x00, so it doesn't matter if you spill over into the next one.

Lastly, go now to the Class Editor and find whichever class your Halberdier is at. Head over to Battle Animation Pointer. We want to change whatever's here into 0x8E60000 but for some reason, SpyroDi didn't really think of what the consequences of making this bit a droplist would be... so we're going to make it into an editable entry ourselves. Open up the Class Editor in a notepad-program. I recommend Notepad++, but I think Notepad works just the same. You'll see a whole bunch of stuff like this:

#FE8 Class Editor by SpyroDi
#

1
FE8 Class Editor by SpyroDi
0x807110
128
84
FE8 Class Editor.txt
NULL

and so on.

Scroll down to:

Battle Animation Pointer
52
4
NDHU
Battle Animations.txt

Now I want you to change that into:

Battle Animation Pointer
52
4
NEHU
NULL

omg we're such rebels editing the nightmare module

Now save it. Reopen the Class Editor in Nightmare, and scroll down the Battle Animation Pointer. Oh, look, you can input your own address now. Change it to 0x8E60000 and hit save. Your animation is now ready to go! You'll probably find that the palette looks like crap--this is because the game is still using the character's old palette, so check out this tutorial on how to change it.

For kicks and a better understanding of how the module works, open your FE8 ROM afterwards in HxD and go to address 0xE60000 (without the 8 in front). See how the bytes there match what you've got in the animation editor?

wow I didn't expect to write this much...

Link to comment
Share on other sites

Lastly, go now to the Class Editor and find whichever class your Halberdier is at. Head over to Battle Animation Pointer. We want to change whatever's here into 0x8E60000 but for some reason, SpyroDi didn't really think of what the consequences of making this bit a droplist would be... so we're going to make it into an editable entry ourselves. Open up the Class Editor in a notepad-program. I recommend Notepad++, but I think Notepad works just the same. You'll see a whole bunch of stuff like this:

#FE8 Class Editor by SpyroDi
#

1
FE8 Class Editor by SpyroDi
0x807110
128
84
FE8 Class Editor.txt
NULL

and so on.

Scroll down to:

Battle Animation Pointer
52
4
NDHU
Battle Animations.txt

Now I want you to change that into:

Battle Animation Pointer
52
4
NEHU
NULL

omg we're such rebels editing the nightmare module

Now save it. Reopen the Class Editor in Nightmare, and scroll down the Battle Animation Pointer. Oh, look, you can input your own address now. Change it to 0x8E60000 and hit save. Your animation is now ready to go! You'll probably find that the palette looks like crap--this is because the game is still using the character's old palette, so check out this tutorial on how to change it.

For kicks and a better understanding of how the module works, open your FE8 ROM afterwards in HxD and go to address 0xE60000 (without the 8 in front). See how the bytes there match what you've got in the animation editor?

wow I didn't expect to write this much...

I've gone up to this point. How do I make like, an actual Halberdier class? Like one a soldier(amelia) could promote to. Do I just use the (empty) slot as it and rename it somehow?

Link to comment
Share on other sites

If you want to overwrite another class, all you have to do is find the class you want to replace in the class editor. First things you'll want to do is change the name and class description. See the Class Name and Class Description values? Take note of them somewhere, then go to FEditor's text editor. In the input index, put those pointers in, and you'll see the text. Change the text to Halberdier and change the class description, and you're good to go. Alternatively, overwrite another pointer, take note of it, and put it into the entries in Nightmare. Again, be sure to save and close each program.

If you don't want to overwrite stuff for other classes, you'll have to repoint the class table. Check out Chapters 35-36 of the Ultimate Tutorial for a more detailed guide on that. Even though it's for the item animation table, the exact same principle applies.

btw I wouldn't recommend overwriting the "empty" entires, often they are not actually empty but were thought to be empty when they were made

Edited by Agro
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...