Jump to content

Inserting a custom animation into Fire Emblem 7 with FEditor Adv


Todasmile
 Share

Recommended Posts

Hello! I am currently having some trouble inserting a custom animation into Fire Emblem 7 with FEditor Adv, as the title states.

My problem?

Basically everything.

First off. Although I have finished the frames, and can clean them up whenever, the problem is the actual insertion. Am I supposed to use the Animation Manager or the Animation Creator? It seems that I'm supposed to use the latter, in which case...

Well, I have no idea what to do. This link: http://www.feuniverse.net/forums/index.php?showtopic=4485 didn't help. At all.

What is a script? How do I make it? WTF is the tutorial telling me to do? After it tells me "Now we're going to create the script", it just tells me a bunch of useless gibberish. Mainly because not only do I not know where this script is, it seems to be assuming that I do, and completely overlooking everythingthat I went there to figure out.

So that's my situation. Thank you to anyone who helps.

Link to comment
Share on other sites

I would help you more with this but I am quite busy but if things calm down here and if you are still in need of help I'll try to help you in depth.

Okay, to answer your first question, yes you use the animation creator in FEditor Adv.

If you have the frames done then all you need is the script. The way I understood it was looking at the "Example Animation Insertion Script" in the Battle Animations folder in the Doc and looking at the "debug script" in the Debug Animation Frames folder to see how a finished script looks like, although animations tend to have a lot more frames than that. Also read the "0x85 Command Usage" which explains what C04, C1A, C1F etc. mean.

Basically, just read the doc.

Link to comment
Share on other sites

Here's my little explanation I gave another member of this forum

First, you need to make your frames. They MUST be 248x160 pixels and have 16 colors or less, including the background. A good tool to check the ammount of colors is Usenti. Here are two frames from my Zack animation. The first is a rough position of where your standing frame should be (though depending on the size and stance of the frame, you might need to move it forward or backward a few squares. For example, my Zack standing frame is holding his sword out in front of him, so I will have to move him back. Most standing frames should have their shadow's in line with Zack's, though.) and the second image is about where the enemy is standing. So that's where you should position your sprite when it is actually hitting the enemy.

StandingStanding.png

HittingAttack6.png

I suppose I should explain the standing position a bit better. Just line up your standing sprite's shadow with Zack's (Feel free to use both images for reference) If your image is holding out a sword or something, like Zack is, then you should probably move it back 8 pixels.

Ok, so let's assume you've finished your frames, now onto scripting.

The script for your animation is divided into 12 parts:

Part 1: Normal attack

Layered in front of the enemy

Part 2: Called with normal attack - mimicks sound effects and uses blank frames to keep the timing

Layered behind the enemy

Part 3: Critical attack

Layered in front of the enemy

Part 4: See mode 2; this is for critical attacks, however

Layered behind the enemy

Part 5: Magic attack

Part 6: Critical magic attack

Part 7: Close range dodge

Part 8: Ranged dodge

Part 9: Standing "animation"

Can have more than one frame - they actually play, too!

Must have at LEAST one frame, or the game will crash, though

These get to play about the first 16 frames of the animation before they are interrupted

Part 10: Standing "animation" 2

Should be same as previous (could probably get more creative though)

Part 11: Ranged standing "animation"

Can be the same as the previous two standing animations

Part 12: Dodged attack

You don't actually need to do anything for parts 2 and 4, 11 and 10 are the same as 9 and 8 and 7 are the same. 12 is almost exactly the same as 1, except with two minor differences, which I will explain later.

first of all, you should start your script with "/// - Mode 1." so you can remember what mode you are doing. Lines beginning with /// are skipped, so you can leave comments.

Every attacking animation (parts 1, 3, 5, 6 and 12) Must start like this

C03

C07

Both are commands used by the game to make stuff happen. Like sounds, visual effetcs, etc. C03 and C07 are both pretty much the command for Start Attacking. They must be used together.

After C03 and C07, you tell the game to play your standing frame. You do this like so:

5  p- Standing.png

the '5' is the number of "counts" you want the frame to play for. They're not in seconds. In fact, I'm not sure how "counts" are timed, so the timing of your animation will probably be a little bit off once it's inserted... Mine was <.<

after the number, you need to put TWO spaces if it's a single digit count, or just one if it's double digit, then "p- (Whatever frame your inserting).png" (frames must be in .png format)

Keep inserting your frames, and just guess the timing, for your animation. for "blurry" frames, I recommend 3 or 4 counts, and 5 or 6 for any others. For frames where you want it to pause for a while, use more than 10 counts.

If you wan't to put in sound effects or visual effects for a frame, you need to put in the appropriate command BEFORE the frame where you want the effect. Here's a list of sound and visual effetcs, spoilered because of the ammount

0x19 Play bow pulling SFE

0x1B Play quick "heavy step" SFE

0x1C Play light horse stepping SFE; pitch decreases

0x1D Play light horse stepping SFE; pitch increases

0x1E Similar to 0x1D; a bit louder

0x1F Play hit SFE (sounds like Eliwood with sword's hit)

(Will be normal hit sound during normal attack and critical hit sound during critical

attack)

0x20 Play hit SFE (sounds like Knight Lord with Durandal's hit) (see previous note)

0x21 Play hit SFE (sounds like Knight Lord with sword's hit) (see previous note)

0x22 Play short sword swinging SFE

0x23 Play shorter sword swinging SFE

0x24 Play sword slashing air SFE

0x25 Play wing flap SFE

0x26 Sword toss; VERY hardcoded (uses 32x32 at linear sheet index 0x1C from current sheet)

0x27 Shield toss; while this command is used for shield tossing,

it is actually just a copy of command 0x26

0x28 Play electrical charging SFE (Used by Shamans)

0x29 Kills BGM

0x2A Kills BGM

0x2B Play armored unit "leaping" SFE

0x2C Show fire (that envelopes Sealed Sword; contains all Sealed Sword fire frames) animation

Slashing frames missing in FE 7/8!

0x2D ? (Assassin critical) (Lethality activator that is dependent on other commands?)

0x2E Show sage's normal magic rune drawing animation

0x2F Show sage's critical magic rune drawing animation

0x30 Show dirt kicking (as from dashing forward) animation

0x31 Show small dirt wave moving forward animation (starts about mid screen)

0x32 Show medium sized dirt wave moving backward animation (starts from feet of attacker)

0x33 Play battle cry SFE (REALLY stupid)

0x34 Play heavy stepping SFE

0x35 Play longer wing flapping SFE

0x36 Play sword unsheathing SFE

0x37 Play sword clicking SFE

0x38 Play heavy spear spinning SFE

0x39 Pauses the attacker, makes them flash white and makes the screen flash white

Essentially makes it look as though the attacker was hit, but without

blue sparks

0x3A Play dancer magic release SFE

0x3B Play bard song SFE

0x3C Play sword "whooshing" SFE (done by Nomads; sounds like wing flap)

0x3D Show Nergal's dark aura animation - FE 7 only!

0x3E Play burning SFE

0x3F Play alternate arrow firing SFE?

0x40 Kills BGM

0x41 Play short axe swinging SFE

0x42 Play long axe swinging SFE

0x43 Play weapon stance SFE (Clicking noise)

0x44 Play short "light emission" SFE (I seriously don't know a better way to describe this)

0x45 Play horse neighing SFE

0x46 Play dropped axe crashing onto ground SFE

0x47 Show cape flowing animation; VERY hardcoded

0x48 Kills BGM

0x49 Play sage's magic firing SFE

0x4A Play valkyrie's magic charging SFE (Pretty much the same as the shaman's)

0x4B Play monk's magic casting SFE

0x4C Play Athos' magic casting SFE

0x4D Play Athos' critical glint SFE

0x4E Show dirt wave (as from horse kicking forward from ground) animation

0x4F Play druid critical charging SFE

Replace the '0x' with a capital C.

Once you get to the frame where it hits the enemy, put the following BEFORE the frame where it hits the enemy:

C04
C1A
C1F

C04 prepares the game for HP depletion (even if there's none), C1A tells the game it's a normal hit, and C1F plays the hit sound.

After that, put your frames that have your animation returning to standing position, and end with the standing position.

then, put

 C01
C06
C0D

under the final standing frame insert. This is just telling the game the animation is over. put ~~~ directly under the C0D. the ~~~ tells FEditor that Mode 1 has ended.

Just so you get an idea of what it should look like, here's my example for Mode 1, spoilered for size.

/// - Mode 1 (Attack)

C03

C07

5 p- Standing.png

C22

5 p- Attack1.png

10 p- Attack2.png

4 p- Attack3.png

6 p- Attack4.png

7 p- Attack5.png

7 p- Attack6.png

4 p- Attack7.png

C04

C1A

C1F

6 p- Attack8.png

9 p- Attack9.png

5 p- Attack10.png

5 p- Attack11.png

5 p- Attack12.png

5 p- Attack13.png

4 p- Attack14.png

16 p- Standing.png

C01

C06

C0D

~~~

Skip Mode 2, and go straight to Mode 3, beginning with /// - Mode 3.

Once again, you need to use C03 and C07 to start it off, then it's the same process as Mode 1, only your inserting your critical hit animation frames instead of your normal attack ones. When you get to C04, C1A, C1F, put C08 instead of C1A. C08 tells the game it's a critical hit. Then, same as before, put the frames of your animation returning to standing position, put C01, C06, C0D at the end (all on seperate lines, of course) then ~~~ under C0D.

We don't need to do anything for part 4, so now onto part 5.

Part 5 is magic attacking (and healing). as per usual, you should start off with /// - Mode 5. (so you can keep track of what mode your doing) and then the C03, C07. You start off with your Standing frame, then put the rest of the frames for your magic animation. Just put them all in for now. Now, in every magic animation, there is a frame where the animation 'pauses' while the spell is being cast. (it is also possible to have loops, such as a flowing cape, but I won't go into that right now. If you want to use a loop, PM me, and I'll explain how you do it). I want you to find this frame.

Found it? good. Now put an empty line between it and the frame above it, and type C05 into that line. C05 summons the spell associated with the weapon being used. And on a blank line under it, type C01. At the very end, type C06 and C0D, into their own lines, then ~~~ to end the mode.

Part 6 now. Pretty much exactly the same as above, only there will be a few extra/different frames because it's a magic critical attack. I'm sure you can figure it out. If you can't, just PM. I'd be happy to help.

Part 7 now, dodging. This time, do not start with C03 and C07, start with C02, which is the start of dodge command. Put in some frames under the C02. (it's usually one, but, sometimes you can have more) BEFORE the frame where the animation 'pauses' during the dodge sequence, put C0E, and under it, C01. Now just put any other frames that have your animation returning to stand frame. if you don't have any, just put C0D, then ~~~ to end the animation. If you do, put C0D and ~~~ after the frames

Just copy and paste part 7 for part 8...

Now, parts 9, 10 and 11 are all the same, and this is the layout for them.

/// - Mode (9, 10 or 11)

3 p- (your standing frame here.png

C01

~~~

That should be easy enough. Don't start with C03 and C07, just put your standing frame, followed by C01 and ~~~. Yay.

Now for part 12. Copy and paste your part 1 script for part 12, now find where you typed C04 and C1A. either get rid of them or put /// and a space before them.

Ok, now I'm gonna show you my whole script, spoilered for size, of course. Feel free to save it and use it for referencing.

/// - Mode 1 (Attack)

C03

C07

5 p- Standing.png

C22

5 p- Attack1.png

10 p- Attack2.png

4 p- Attack3.png

6 p- Attack4.png

7 p- Attack5.png

7 p- Attack6.png

4 p- Attack7.png

C04

C1A

C1F

6 p- Attack8.png

9 p- Attack9.png

5 p- Attack10.png

5 p- Attack11.png

5 p- Attack12.png

5 p- Attack13.png

4 p- Attack14.png

16 p- Standing.png

C01

C06

C0D

~~~

/// - Mode 3 (Critical Attack)

C03

C07

8 p- Standing.png

C22

5 p- Attack1.png

10 p- Attack2.png

C30

4 p- Crit1.png

6 p- Crit2.png

4 p- Attack7.png

C51

C1F

4 p- Attack8.png

5 p- Attack9.png

15 p- Crit3.png

C51

C1F

4 p- Attack10.png

15 p- Attack11.png

6 p- Crit4.png

C04

C08

C1F

20 p- Crit5.png

4 p- Crit4.png

C22

4 p- Attack10.png

8 p- Attack11.png

5 p- Attack12.png

5 p- Attack13.png

3 p- Attack14.png

16 p- Standing.png

C01

C06

C0D

~~~

/// - Mode 5 (Magic Attack)

C03

C07

8 p- Standing.png

4 p- Magic1.png

4 p- Magic2.png

C05

12 p- Magic3.png

C01

4 p- Magic2.png

4 p- Magic1.png

16 p- Standing.png

C06

C0D

~~~

/// - Mode 6 (Magic Critical)

C03

C07

8 p- Standing.png

4 p- Magic1.png

10 p- MagicCrit1.png

4 p- Magic1.png

4 p- Magic2.png

C05

12 p- Magic3.png

C01

4 p- Magic2.png

4 p- Magic1.png

16 p- Standing.png

C06

C0D

~~~

/// - Mode 7 (Dodge)

C02

3 p- Dodge1.png

C0E

9 p- Dodge2.png

C01

3 p- Dodge1.png

C0D

~~~

/// - Mode 8 (Dodge, again)

C02

3 p- Dodge1.png

C0E

9 p- Dodge2.png

C01

3 p- Dodge1.png

C0D

~~~

/// - Mode 9 (Standing)

3 p- Standing.png

C01

~~~

/// - Mode 10 (Standing, again)

3 p- Standing.png

C01

~~~

/// - Mode 11 (Ranged Standing)

3 p- Standing.png

C01

~~~

/// - Mode 12 (Missed Attack)

C03

C07

5 p- Standing.png

C22

5 p- Attack1.png

10 p- Attack2.png

4 p- Attack3.png

6 p- Attack4.png

7 p- Attack5.png

7 p- Attack6.png

4 p- Attack7.png

C04

/// - C1A

/// - C1F

6 p- Attack8.png

9 p- Attack9.png

5 p- Attack10.png

5 p- Attack11.png

5 p- Attack12.png

5 p- Attack13.png

4 p- Attack14.png

16 p- Standing.png

C01

C06

C0D

~~~

.

Once your done, save your script, and put it in the fame folder as the frames.

Now that you have your script ready, open up any FE rom FEditor Adv and go into Class Animation CREATOR. Click Load From Script. Select the script and press OK, or Load, or whatever it says, and cross your fingers. If an error comes up, check all your images and make sure they have only 16 colors or less, and that they all have the same ammount (If you're checking with Usenti, they don't need to be in the same order).

Also check to make sure they are 248x160 pixels in size. Once you've fixed any problems, try again. If it still doesn't work, send me a copy of your script and I'll check it out.

Now, let's assume it worked, hooray!. (You'll know because in the little white box it will say Mode: Complete). Click Save to file, and call it whatever you like (example: I called mine Zack.) Then save it. If you look where you saved it, you'll notice you'll have a 'File' called Zack, or whatever you called it, a 'Zack Frame Data.dmp' and a few sheets.

Now you insert it with the Custom Animation Manager function of FEditor. I'm sure you can figure that out. Save your ROM and close FEditor. Now open up the ROM in VBA and test it. if it's a bit choppy or laggy or misses some frames, you'll need to adjust the timing in your script.

Hope that helps

Edited by Jecht
Link to comment
Share on other sites

  • 2 years later...
  • 11 months later...
  • 3 weeks later...

https://dl.dropboxusercontent.com/u/336940/Software/Hextator's%20Doc/Media/Games/Reverse%20Engineering/Console/NGBA/Fire%20Emblem/Apps/FEditor%20Adv/doc/Class%20Animation%20Creator.txt

About looping frames/commands:

The 01 command has been hacked to allow looping of the frames and commands prior to it. To utilize this, an "add loop marker" button will allow specification of which location in the animation to begin repeating each time the 01 command is reached without the animation continuing beyond (normally the game loops back to the 01 command itself). Specifying a loop marker in a script is as easy as having a line with "L", but the "L" line must come after a "C04" or "C05" line.

you mean that?

Edited by Solais
Link to comment
Share on other sites

  • 1 year later...

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