
- •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 54: Chapter Creation Finishing Touches
Before we’re totally finished we should fix up some of the stuff in the Chapter Data Editor. It’ll help out with our chapter creation—we already have the maps and events, so now it’s onto the other stuff.
I’ve already been through what all this does, but anyhow… the triggerable map changes byte should be the one for your chapter and it should match the byte in the Tile Map Changes part of your events.
If the Preparations Screen is turned off and you try and load battle preps (ENDB), it won’t work. If it’s ON and you don’t load battle preps, idk what’ll happen, but it could screw up as well. Just make sure that the events match the setting in the CDE. If you used ENDB/GotoPrepScreen at the end of your opening scene, the game will try and go to the battle preps, but only if it is enabled. And, of course, if preparation screens are on, remember to have an event on turn 1 with the BlackOff code (for FE7, anyhow…).
Make sure your weather and battle tileset match your map/what you want them to be. Change the map music around as well if you want.
Just showing some more music you can change. It’s better to use the “Chapter Opening BGM” thing instead of your own event code to load the music at the beginning of the chapter. (I use 0xC3 “Nothing” in this screenshot, but I actually have custom music inserted over it, so it actually does play a song, mind you…)
Changing your chapter name/number text is a good idea. Again, make sure your event data reference byte is right, and if you don’t want a worldmap chapter prologue scene, set that byte to 0x00. Also, take care of the augury text if needed (on later chapters in Eliwood’s mode Hannah or whatever her name is will appear and the augury option will be turned on).
More augury text and the portrait and the price, obvious stuff. The Preparation Screen Ch. No. only has to be worried about if you have battle preps on. It’s what it displays as the chapter at the top.
See where it says “Chapter 10”? That’s what I’m referring to.
Anyway, the Merlinus co-ordinates are easy, as is the Winning Road byte. The chapter title display fade-out is somewhat important because it dictates how your chapter starts off. If it’s ‘fade to black’, you need to use the black off code to fade out of the black and onto the map, IIRC. *alternatively you could TRY the FADU or REMA code, but I can’t say it’ll work*
Just a few more things we might want to take care of. You’ll probably need to change your objective/goal text, and possibly the goal window information. If you are doing a defend or timed chapter of some sort, a turn count would be nice. For the protect character marker, see the original chapter on Chapter Data editing. The tile marker would be used in like an escape chapter to specify where the unit should escape to. XP
Now save any changes in the Chapter Data Editor and exit. Assemble your events (I say how in like the first chapter on Event Assembly—you just input the text, output the ROM, hit the game you are assembling for on the right, and hit “Assemble”) and fix any problems there are. Test your events out as well. There are many, many places you could make errors in, even if the Event Assembler doesn’t report an error in your events. (It only reports stuff that it can’t properly interpret—it doesn’t say whether the event will turn out like you actually want it to in-game, it doesn’t know that much.)
Here are some things to check if you’re having errors:
Names of definitions. If you use say “IronLance” and it doesn’t work, that’s because the weapon is defined as “IronSpear”. The EA is case-sensitive. IIRC sometimes weapons like “Armorslayer” are spelled “Armourslayer” (although I could be wrong about this specific case).
If you aren’t sure what a macro, definition, or code is, look it up. If you aren’t sure what a code does, see if I explain it, and if it’s one of the few codes I didn’t cover, ask a question about it on a forum or something.
If the game says that certain things aren’t word-aligned, look at where the error starts. That is if it says “Opening_scene:” and everything beyond isn’t word-aligned, then look BEFORE that for something that might somehow mis-align it. The code ALIGN 4 should help realign stuff afterwards, by the way.
If you can’t load even up to the main menu, it’s very possible that your chapter name is too long or something. Try changing it.
If the game screen goes black after starting the chapter, you may need the BlackOff code. Otherwise, try changing the Chapter Title Display thing in the Chapter Data Editor (I will reference this as the CDE from now on).
Always double-check your pointers in Nightmare and the such. Don’t forget about adding 0x08000000 to your offset.
If it says “X is an invalid name” it’s likely because you didn’t actually make a scenic event, but you made the base event for it (an event that points to said event).
If it says some code isn’t supported, check the format. This is likely to happen in Unit Data if you forget a byte or make a typo or something.
Remember, use FADI code to fade into black, run some ‘background events’—stuff the players don’t need to/shouldn’t see happen, and then use FADU to fade out to either the map, a dialog background, or CG.
If battle preparations aren’t loading, check the Battle Preps byte in the CDE, or check to see if you used ENDB (for FE7) or GotoPrepScreen (for FE7 and FE8, maybe FE6, idk for sure).
It IS possible that the EA isn’t working properly somewhere. Make sure it’s not your own mistake first and then report it and see if a problem is the EA’s fault. The EA is pretty well done, but it’s easy to make a small error somewhere.
When asking for help on events, post your script! Knowing how to ask questions is imperative. Post a script, a patch, and a savestate. That way people have the information to help you. Sometimes screenshots and videos are useful too.
Don’t forget CODE 0x00, ENDA, or UNIT Empty at the end of a group/label/event. CODE 0x00 is for the main framework events (turn, character, location, misc, and ballista events), ENDA is for scenic events, and UNIT Empty is for units, if you forgot.
If your map isn’t loading, there are various reasons why it may not load. It’s probably a pointer problem though. If it loads but looks weird, either your map is corrupted or you are using the wrong tileset. See the map chapter(s) for more information.
Sometimes if you forget the ‘BlackOff’ code units may not load or move properly. There are many weird glitches that come along with not using this code, for whatever reason, so beware.
There are many, many codes and macros that can be used. See if one of them can fit whatever you need. If it happens in the original game, it can probably happen in your hack too, so sometimes analyzing other events by disassembling is useful.
That’s all I have to say to help you for now. With that, I hope your custom chapters are success!