Jump to content

Getting additional animations to work in FE7


valin24
 Share

Recommended Posts

I'd been wanting to add several additional classes in a FE7 hack I'm working on, and I'd added on several additional animations using FEditor. However, there's an issue.

I'd been trying to follow this tutorial: http://serenesforest.net/forums/index.php?showtopic=34510&page=11#entry2881467

However, it specifically uses FE8 as the subject, and while there really shouldn't be any real difference between them, their respective Custom Animation Editors have a slight difference:

animationinsertproblem1.png

For FE8, the selection for animations goes well beyond the default number of pages in FEditor's Class Animation Manager, so that additional animations can easily be added with the Custom Animation Editor.

In FE7's case, however...

animationinsertproblem2.png

It only goes up to A1 (oddly, the default number of pages ends at A2).

What I'm asking is how I can enter the additional Class Animation Manager page information to the Custom Animations Editor for FE7. Is there a way to extend the list or to manually enter the number?

Seeing as it was done in Elibian Nights, adding in additional animations, that is, I'm sure it's somehow possible.

Also, on a somewhat related subject...

animationinsertproblem3.png

Is there any way to increase the number of places to make custom classes?

Thank you in advance!

Link to comment
Share on other sites

I tried to follow the first tutorial as best I could (I'm fairly new to hacking).

I assumed that the dropboxes reference the .txt files, so I made this edit:

animationinsertproblem4.png

However, in Nightmare, it still only goes down as far as A1.

Link to comment
Share on other sites

litmus test:

are you sure that's the right file?

are you sure that's in the right directory?

did you close nightmare and reload the module?

EDIT

yeah did you do what icecube asked because that's a far more likely problem

Edited by CT075
Link to comment
Share on other sites

I'm not 100% certain of what specifically you want to expand, but be careful because a lot of that data in FE7 is tightly packed, and extending it will cut into the next clump of data which will have a ton of bad side effects. For example, if you look at the class editor, the number of classes ends at some number, and extending it past that cuts into a completely different editor's data entirely.

So if you're not seeing a ton of 00 00 00 entries when you expand, you've probably cut into other data.

Link to comment
Share on other sites

Have you change the first line of the file? It's the number of entries shown. Change it into the number of lines - 1, and you're done

I counted 208 lines, so I put down 207 (my animation list goes up to D0, by the way, though I'm probably not going to end up using all of them). However, since I was going one line at a time (I can't count in hex), it's possible I'd messed up. Still, when I tried to get into the Custom Animation Editor, this came up:

animationinsertproblem5.png

As I said before, maybe I miscounted, but the message also may imply that perhaps I'd numbered it wrong someplace?

Link to comment
Share on other sites

It's not about the number. It's the line. Just write something after the hex value. (e.g. 0xCF write something here)

Wow! It worked! Thank you so much!

One more thing. While the aforementioned animation insertion tutorial did a pretty good job of explaining how foreign/custom classes can be added in, how does one add new animations to existing units, like adding a sword animation to a Pegasus Knight, or adding a magic animation to a Troubadour?

Link to comment
Share on other sites

custom battle animation editor

So, should I just remake the unit's animation set from the ground up?

EDIT: Come to think of it, in the past, I'd tried to give Cleric Serra access to light magic, and for a while, it worked fine, but sooner or later, the game would freeze at the end of a battle. Would giving her a custom animation, with her using her staff animation for light magic fix that problem?

Also, I'm thinking of adding the Great Knight class. Most of the classes I'm adding really don't have a lot of animations, but that one's the exception, with five, though it's probably going to turn out being six, since the Tomahawk requires the handaxe animation input for that as well. Since one page in the Custom Animation Editor doesn't have enough room for all that, I imagine I have to use HxD, but one line doesn't have enough space either, so in that case, what's needed to get the outset required to run it?

Edited by valin24
Link to comment
Share on other sites

You can just make the animation set spill over into the next entry. It will keep reading for animations until it hits a 0x00 (separator).

Link to comment
Share on other sites

As for custom classes, you have to do the same thing, but there's an extra step involved.

This talks about how to increase the items array.

I more-or-less got the Halberdier class added to my hack. I changed one of the bosses' classes, and it seems to be working fine.

post-11538-0-09157500-1405874768_thumb.pngpost-11538-0-39786200-1405874768_thumb.png

And if that looks like an unfair boss battle, I replaced the Armorslayer in one of the chests with an Iron Rune.

Granted, there's no map sprite in the status screen, but I suppose that brings me to the next thing: I need to add its map sprite (I'm just using the Soldier sprite for now) and generic enemy card.

In the case of the map sprite, I'm aware of this tutorial: http://serenesforest.net/forums/index.php?showtopic=24957

and I did pull some sprites from The Sacred Stones. However, the Halberdier class is 100% custom, and I don't have any bitmap images, but rather, these:post-11538-0-00917300-1405871857_thumb.pngpost-11538-0-30312900-1405871857.png

Is there any way to add these as they are?

Also the tutorial explains how to replace an existing unit's sprite with another. For more options on where to put map sprites, do I just have to edit the corresponding .txt document, like I did with the class animation selection?

As for generic enemy card, I tried adding it on the same way I added on the battle animations, but then, this came up:post-11538-0-47413800-1405871922_thumb.png

I'm assuming there's a different method. I looked at other hacks, and they somehow managed to add more pages to the portrait selection.

Lastly, while this doesn't really have anything to do with sprites or animations, while I do know how to make it so that the Soldier class promotes to Halberdier, I'm having trouble finding where I choose which promotion item promotes the Soldier class (although, ultimately, I plan for there to be just one universal promotion item, but hey, one step at a time.)

Edited by valin24
Link to comment
Share on other sites

it is the same process except with different numbers

I'm sorry, but which numbers are those?

Also, I'm afraid that hex editing is one of the things I'm having a harder time understanding (and am sort of nervous about doing in fear of messing up an existing function), so please bear with me.

EDIT:

Also, this is probably a stupid question, but for FE7, does this qualify as free space?

hexproblem.png

The reason I'm asking is that in the sprite insertion tutorial, it appeared that free space is represented by FF's, so is that only a Sacred Stones thing, or should I look for that too in FE7?

Edited by valin24
Link to comment
Share on other sites

The thing right after that looks like LZ data and the thing before it probably is too. To my knowledge a string of 0x00 or other bytes wouldn't ever become a string of 0x00 in the LZ data, but either way I wouldn't recommend touching that area. As a general rule, free space is going to be closer to the end of the ROM. Compilers pack stuff at the lower addresses (especially important for achitectures like the GBA's ARM core, due to addressing limitations of the machine's opcodes) starting with code and then data, scattering larger resources more toward the end which will be loaded using a reference (thus circumventing the addressing issues).

FE7 is reported to (still not really confirmed) have a truckload of free space about a megabyte in length around the 0x00D00000 area,

Now, some hacks, like FEditor's auto patches, use what is believed to be free space (I believe one of the FE6 autopatches actually isn't in free space and has not been moved since the late discovery of this unfortunate case) at lower addresses so that the code for those patches can "reach" and use the functions already in the game, as well as allow those functions be able to "reach" the patches. These patches shouldn't be borked in any way (although one of them are near the region you've highlighted because, as I have said, that does not even appear to be free space) and all of the actual original data shouldn't either, so no one mentions any regions at those lower addresses as being "free"...and it would probably be best if they continued to regard them as "used".

As a fun anecdote for the technically minded, "user code" (stuff us hackers make) can be written to circumvent addressing limitations of the hardware by adjusting the calling convention in a way that unfortunately clobbers a register (one that is not an argument register, though, meaning it can be preserved on the stack if necessary). It's sort of awful to do in about 8 instructions what could have been done with just 2 in the past, as well as not using the instruction(s; BL is actually 2 instructions in Thumb) meant for calling other functions for its intended purpose (or at all, rather), but there's not really anything else you can do for a game compiled into Thumb code.

Link to comment
Share on other sites

if it's between 0xD00000 and 0xE00000 it's free, provided you haven't written anything into there yourself

Okay, so as long as nothing has been added to an area, it's free game, as long as it's an offset between D00000 and E00000. I guess I'm starting to feel a bit more at ease.

In the map sprite insertion tutorial, I learned that new sprites can be written into areas like these:

freespacequestion1.png

However, does it also work in areas where the entries (for lack of a better term) are in reverse, like these?

freespacequestion2.png

Just out of curiosity. I really don't plan to add in that many new map sprites. I just want to know what places I can enter stuff without ill consequence to the game's functionality. I'm new to hex editing, and I apologize if I'm asking too many questions.

Also...

mapspriteeditorlist.png

This drop box only seems to go down to 0x57, which, if I'm reading it right, is the sprite for "Child (F)." For the additional classes, I need to get it down past 0x60. Is it just a simple matter of editing the .txt document, like I had to for the battle animations dropbox, or do I have to input something in the hex editor as well to make it work?

Link to comment
Share on other sites

So, most of the free space is toward the bottom?

Would it be something like this, then?

attachicon.giffree space.png

That is very likely free and has been used for old Nightmare modules in the past for that reason. FEditor and the community as a whole both do not acknowledge that area as free space and it is not well documented, but I am confident that it is safer to use as free space than most other areas in the ROM, including:

if it's between 0xD00000 and 0xE00000 it's free, provided you haven't written anything into there yourself

This was never really confirmed. FEditor uses it as a consequence of gossip. I have seen a reported issue regarding the use of some part of that region as free space. Unfortunately I have lost that reference.

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...