- •Downloads:
- •Update Log:
- •Table of Contents:
- •Prologue: Bare Basics
- •Chapter 1: Key Terminology & Abbreviations
- •7Zip Archive – Supposedly the best file archiver there is, but not used as much, and thus less convenient. Requires 7zip or winRar to use.
- •VisualBoyAdvance – most people’s emulator of choice, almost always referred to as “vba” for short.
- •Chapter 2: Using Nightmare Modules
- •I upload anything that I think might be useful to someone on that site. Just use the menus and search until you find it.
- •Chapter 3: File Management
- •In order to be a successful hacker you need to have a lot of good management.
- •Chapter 4: Pointer Tables
- •Chapter 5: Battle Animation Editor
- •Chapter 6: Character Editor
- •Chapter 7: Class Editor
- •Chapter 8: Item Editor
- •Item icon – obvious
- •Chapter 9: Spell Association Editor
- •Chapter 13: Movement Cost Editor
- •If the value next to a type of terrain is ‘255’ then it is uncrossable because a unit won’t have 255 movement points.
- •Chapter 16: Battle Palette Reference Editor
- •If you want to know how to actually edit battle palettes’ colors, you can find that in a later chapter that I will make.
- •Chapter 17: Arena Class Editor
- •It’s a bit of work, but making cGs is quite rewarding, and it’s easier than some stuff, that’s for sure! Good luck with your cg making!
- •Chapter 20: Lyn’s Ending Editor
- •Chapter 21: Tutorial Editing/Getting Rid of the Tutorial
- •Part 2: Downloading the Programs
- •Part 3: Preparing Your midi
- •If you still have more than 10 tracks, you should find another midi. Sorry but, there are limits in life.
- •Part 4: Applying Blazer’s Beta Music Insertion/Instrument Patch
- •Part 5: Converting Your midi
- •Part 6: Making Your midi Repeat and Transferring it to Your rom
- •If the b1 and bc are next to each other then I can almost guarantee you want to replace it, so hit “replace” and do that with every instance and once you’re finished you’re good to go.
- •Part 7: Track Pointers & Repointing
- •Part 8: Finale- Assembling Your Song & Profit
- •If you don’t have this module, you’ll have to use this outdated way of doing it. Do check to see if you have the latest Nightmare Modules in general, but otherwise… well, sorry I guess. Xp
- •Part 9: Possible Errors & Wrap-up
- •Part 10: Documentation and Stuff
- •Atrius’ Notes:
- •Charon’s Notes:
- •Part 11: The Music Hacking Run-Down (Shorter Version of Tutorial & Walls of Text)
- •Part 12: Credits & Thanks
- •Chapter 25: Music Editing with Zahlman’s Song Editor
- •If you actually do type in help and press ‘enter’ on your keyboard, it’ll give you a list of commands, and tell you some stuff. Here’s the important stuff:
- •It worked! Great! I know how to import a song!
- •Chapter 26: Exporting Music with gba2midi
- •Chapter 27: Battle Background Graphics
- •If it doesn’t, I suggest double-checking all your settings (everything should be compressed) and make sure your width is set to 30 and your height is set to 32.
- •Chapter 28: Music Array Module
- •Chapter 29: Sound Room Editing
- •Chapter 30: Chapter Unit Editing with Nightmare
- •Chapter 31: Death Quotes
- •Chapter 32: Event iDs
- •Chapter 33: Battle Conversations
- •Chapter 34: Triangle Attacks
- •Chapter 35-36: The Animation Modules & Repointing Tutorial
- •It should look like this:
- •Chapter 37: Support Editing
- •Chapter 38: Miscellaneous Nightmare Modules
- •In this chapter I’m going to quickly run through what some other nightmare modules do.
- •Vendor/Armory Editors – edits the contents of vendors and armories.
- •Vulnerary Editor – edits the amount of hp restored by a vulnerary. (Default: 10)
- •Vulnerary Editor – edits the amount of hp restored by a vulnerary.
- •Chapter 40: Text Editing with fEditor Adv
- •Chapter 41: Portrait Formatting & Preparation
- •Chapter 42: Portrait Insertion with fEditor Adv
- •I wouldn’t mess with the palette editor (the colorful boxes).
- •Chapter 43: Locating Palettes
- •Chapter 44: Editing Palettes
- •I don’t exactly have a color I want to use for this title screen background, so I’m just going to show you how to get the rgb of some random color on a portrait.
- •If something didn’t work right, make sure you:
- •Chapter 45: Working with gbage
- •Chapter 46: Chapter Data Editor
- •Vision Distance is for Fog of War (fow). If it’s ‘0’, it’s assumed there is no fog of war.
- •Hold it! (Unless you aren’t hacking fe7!)
- •Chapter 47: Map Creation
- •I’m tired of writing this tutorial. Honestly. So from now on, I’m going to stop making so many wasteful comments like the one I am typing right now.
- •Chapter 48: Map Insertion
- •If you’re looking to make a totally new chapter (instead of being limited to the old game’s exact same scenes with exact same events) then read on, because I’m going to hack events next!
- •Chapter 49: Event Assembler Basics
- •I would just always add end guards since it’s not something you need to worry about too much.
- •Chapter 50: Events – The Layout
- •Including the stlb
- •Chapter 51: Events – The Event Codes
- •Items is just a list of items with a max of 4 starting items. I prefer to use the 3rd method of writing them, with the brackets and all. Each item is separated by a comma.
- •Chapter 52: Event Construction
- •VillageGate: // name of tile data group
- •Chapter 54: Chapter Creation Finishing Touches
- •Chapter 55: Importing Tilesets
- •Part 2: The First Frame
- •Part 1b: Palette Preparing
- •Part 2: Testing the Foundation to Your Animation
- •If all goes well, your guy should be standing, kinda like this.
- •Part 3: Making the Rest of Your Frames
- •Chapter 58: Custom Battle Animations – Scripts
- •I just pulled a Xeld. Had to do that at least once in this tutorial.
- •If you don’t know what a sound sounds like, just test it out with your animation and find out. Experiment with the codes if you need to.
- •Chapter 59: Custom Spell Animations
- •0X85 command count for this spell: 10
- •It’s true! It did work! It’s still very much a work in progress, as you can see, but the point is we got he test frame working. The rest just takes time, patience, and the attitude that you can do it!
- •Chapter 60: Weapon Icons
- •If you did, you are successful. Despite the odd format of the icons, you have spotted them, and that is what is most important, in my honest opinion.
- •I have this show up:
- •Chapter 61: Map Sprites
- •Chapter 62: Proper Betatesting
- •Chapter 63: vba’s Tools
- •Chapter 64: Other vba Options
- •In this chapter I’m going to detail some of vba’s semi-obscure but not totally obscure options. Knowing how to use vba will help you test your game in various ways.
- •Chapter 65: Recording Videos & Sound
- •Chapter 66: Fixing the Desync with VirtualDubMod & Video Rendering
- •Chapter 67: ips Patching & General Patching Information
- •Chapter 68: ups Patching
- •I suggest you read the ips patching tutorial (at least the beginning) if you haven’t done so as I will not be as thorough with this chapter as I was the previous.
- •In an extremely similar manner you can apply patches. Take a look.
- •Chapter 69: jfp Patching
- •Chapter 70: xDelta Patching
- •Chapter 71: Nightmare Module Format
- •It is recommended (for reasons of readability by humans) that a newline
- •Is unused ("null") for editboxes.
- •Chapter 72: Miscellaneous Information Archive
- •Chapter 73: Useful Links & Websites
- •Chapter 74: Bonus – Assembly Hacking
- •Preparations:
- •Part 1: Background Info
- •Part 2: Inserting an Assembly Hack
- •Part 2: Breaking Down Your First asm Hack
- •I digressed a lot, but back to the point:
- •Part 3: Second Example – More Codes, More Fun
- •Read other people’s doc.
- •Part 4: More Examples – “Speed-Analyzing”
- •It’s thumb. Write to offset 0. Start with label “Initial”. Push 5 registers and the last register, then start a loop counter in r2 with starting value 0x00.
- •Ifat *Conditional id* *asm routine pointer*
- •I may have mentioned this before, but finding where to hack routines is difficult. And I’m sure I mentioned that finding space for them is difficult.
- •It’s not super long, but it’s got some new things we need to learn. Let’s get started.
- •Part 5: Finding asm Routines & Basics of Using a Debugger
- •Warning: terms may not be accurate. In fact, they almost definitely aren’t accurate, as you’ve probably figured out by now.
- •I don’t know what the flags do either, but they’re there, right next to the window. That’s g.
- •I hope to hear of your achievements in the near future!
- •Final Chapter: Credits, Thanks, and the Epilogue
Chapter 33: Battle Conversations
There are two types of battle conversations: specified and unspecified. Specified means it is between two specific characters, while an unspecified battle conversation can happen when one character fights with any character.
We’ll start with the unspecified battle conversation module by Icy Toast. The character and chapter are obvious. Now depending on your version of this NMM, you may have ‘Convo Text’ and ‘Convo Bank’, or just ‘Convo Text Pointer’. Regardless of where it’s broken up into two slots or not, it’s just the text pointer that is used.
For information on trigger IDs, see the other topic. If you wanted a battle conversation to occur everytime you fight a unit, you could use 00. The default value for boss battle convos (assuming there aren’t any special properties) is 01. If you wanted an event to happen after a battle conversation, you could set it to something else and make an AFEV event happen when said event ID is triggered. You’ll learn about after events (AFEV events) in the event chapters of this tutorial.
The specified battle conversation editor works similarly, except there are 2 characters, and the event ID is not 01. It’s some other value that the game uses. Remember that event IDs for a chapter are shared between battle conversations and scenic events/the main events, so don’t have two events with the same ID.
The ‘event data pointer’ can be used in place of a text pointer. It’s really only used when there’s special properties for a battle conversation-for example, if there is a different battle conversation for Hector’s mode and Eliwood’s mode of a chapter. It’s just a pointer to an event-you have to either edit the event in hex or make an event with the EA, specify an exact location for that event, and then put the pointer to that event in the battle conversation ‘Event Data Pointer’ slot. It’s something you most likely won’t use in your hack, so I wouldn’t worry about it too much.
That’s all there is to it. Another chapter down, w00t!
Chapter 34: Triangle Attacks
Before I go on writing a tutorial, I’m going to post some notes I have on triangle attacks.
Notes on Triangle Attack: Character Editor Nightmare Module: Ability 3, 0x20 is Triangle Attack. This is for Pegasus Knights. There is another triangle attack option, 0x40. I am almost certain this is leftover from FE6 as the armor knight triangle 'skill' is 0x40 in FE6. However, this triangle attack could probably be used for something else too. 0xC9F130 - Triangle Attack Convos Character, chapter (0x43=any), Text ID, Trigger ID (Info thanks to NL) Should be able to expand to allow more triangle attack convos, for say, alternate combinations of triangle attacks (like if there are 4 pegasus knights) or usage of the currently unused triangle attack skill (just add more convos, set the skills, and if the game already has the code there [just unused], then it should work). Triangle Attack Graphics- Start around image 495 (+ or - a few) in GBAGE 0x2E5CB8 - First Graphic Order: PegasusKnight (Lance) FalcoKnight (Lance) FalcoKnight (Sword) PegasusKnight (Lance) (2nd sheet) FalcoKnight (Lance) (2nd sheet) FalcoKnight (Sword) (2nd sheet) ArmorKnight (Standing) General (Spear) (Standing) General (Axe) (Standing) General (Handaxe) (Standing) ArmorKnight (Attack Motion) General (Spear) (Attack Motion) General (Axe) (Attack Motion) General (Handaxe) (Attack Motion) Pointer to ArmorKnight graphics at 0x6AAC8 in ASM This means that they are probably already coded into the game and leftover from FE6, but simply unused (most likely since there aren't 3 armor knights to do it with). This also means that it's likely that one can use the Armor Knight triangle if they just set it up. Data continues right after the final graphics (i.e. there is more graphics right after the General handaxe graphics) meaning miscellaneous data (animation and whatever else) is probably both before and in the first megabyte's span of data. 0x2E58BC - compressed data right before graphics. Slight resemblance to TSA at first but then diverts from this and shows signs of graphical data (0xF0 0x01, which is in essence blank graphics). Idk if it has to do with anything. In any case the only way to tell how this works and what is relevant or not is through ASM. One could edit the existing graphics, triangle convos, who has the skills, and test the usage of the unused [once used as FE6's armor knight] triangle attack. For palettes, I believe that the palette of the surrounding characters is used... that is, use the battle reference module to get the palette of the Pegasus Knight sisters. I tested this and it loads fine and looks great. Farina's Palette- 0xFDA00C Fiora's Palette- 0xFDA07C Florina's Palette- 0xFDA0EC
Alright. Now that that is off my back, I can tell you how to make use of this information.
To start, there’s a module called the Triangle Attack Convo Editor or something like it. At least, there is such a module for Fire Emblem 7. I’d like you to open that up in Nightmare.
The character, chapter, and convo value/text pointer work as they always have. If you don’t know how these work, I suggest learning about death quotes and battle conversations first.
The ‘trigger ID’ also works as it usually does. There’s a whole chapter on these, so I won’t explain this either. Which means we’re almost done here.
By default there’s only room for 3 conversations. But what if you want more than 3 conversations? There could be many reasons for wanting more conversations—if there’s another Pegasus Knight, if there’s a special conversation for a chapter, or something else. Well, to do this, you have to expand the table. To expand it, you have to first move the data to empty space and then repoint it. The details? I’ll cover them in a later chapter.
Now, how does the game know which characters have the triangle attack ‘ability’? The keyword is ‘ability’. It’s in the character abilities. Load up Fiora in the character module and scroll down all the way to ‘character ability 3’. You should see 0x20 – Triangle Attack. Bam. There’s also another set of triangle attacks with the value 0x40. I think this was originally the armor knight triangle attack, but when I tested it out myself with 3 FalcoKnights, it showed FalcoKnights, not Armor Knights, so maybe the game checks to see if there are 3 armor knights first. I really don’t know, but the alternate triangle attack is there and ready to use.
As for palettes, the palettes of the FalcoKnights that cut-in are from the other characters palettes… err, that means that as long as the palettes of whoever is in the Triangle Attack are working palettes, they should work/look fine during a triangle attack.
If you’re really into graphic editing, you could try fiddling with the jumbled graphics that I noted in my notes (I gave offsets and some other information). However, it’s not very easy, nor is there a lot of freedom with it, so I wouldn’t exactly suggest it.
With this, have fun editing triangle attack conversations, making your own triangle attacks, etc.!
