- •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
If all goes well, your guy should be standing, kinda like this.
And that’s all the sprite should be doing, because you only have one frame. If it’s just doing that, and it’s looking hella boring, that’s great news. We can now go on and make every other frame. If there are some issues, we gotta fix them.
The main issue that comes to mind with this is the palette issue. You see, a custom battle animation has its own palette. You can force a character to use that class’s battle animation’s palette by setting their palette in the character editor to “0x00”. Look:
You see the blue box? It’s set to “0x00” because this character has a custom animation. The animation we are inserting has the palette for us, so we don’t need to assign the character another palette. This may or may not be the case for your animation.
If it’s another problem, I can’t be a psychic and predict and address it here, so I suggest posting on a forum or something to get some help with it. Make sure to post your animation script and the frame (and possibly a patch that lets one test the animation quickly or a screenshot showing what it looks like) or else there’s no way to really tell what the might problem be.
Anyway, back to the ideal situation—everything works. Now we exit out of FEditor and Nightmare and go back to that standing frame in MS Paint.
Part 3: Making the Rest of Your Frames
Looking good, kinda. Now, we have to make the rest of the frames. You can start with whatever mode you want—attack, critical, range, range critical, or dodge, but ultimately, every time you do a new animation mode (a part of the animation), you should start with the standing image.
Now, if you already know how to animate images, this is going to be a piece of cake. If not, well, it’ll take some practice and tweaking to get right, but have patience.
You need to copy the sprite from your sprite sheet and paste it onto MS Paint. Using the transparency feature of MS Paint which I explained a while ago is quite useful.
Can you see how the selection of Kelik I copied over has some green, and that green is covering over the old Kelik? It’s really hard to position my new pose over the old pose like that. So I turn on transparency, and wala:
Now I can drag him around until I get him to align with the last sprite. In this case, he’s only supposed to move his chest/head while dodging (because he’s slick like that). Since his feet aren’t moving, I can position the feet of this new pose over the feet of his old pose.
Wait, I can still see his old pose hiding behind there! Yeah, that’s a problem. That’s why once you align the new sprite/new pose over the old one, you can change the transparency mode to make it un-transparent, which will get rid of the old sprite. You should see what I mean:
(Notice how transparency is turned off using the box on the left toolbar)
Okay, we have another frame set-up. But it’s still called “standing”.png. That’s a problem. Using file->save as, save it as something else. Since this pose happens to be a dodge pose, I’ll call it “dodge1.png”. Thankfully, I’m lazy and I only made one dodge sprite, so there isn’t even a “dodge2.png”. Haha.
Now that I’m done with that animation mode (that was quick), I’ll do another one.
Doing the range mode frames is pretty easy, because chances are, your character won’t have to move much. That is, you don’t have to worry about whether a weapon will actually hit an enemy, and there probably won’t be much feet movement, or jumping, either. My point is, I don’t really have to cover that too much—just put the frames and know that the game will take care of showing the actual spell animation (for example, when the ice tornado forms and the ice block shatters in Fimbulvetr—the game will take care of that for you).
Physical attacks, however, are a bit harder. If you’re a mage, your attack animation and ranged animation are the same. If you’re like Kelik, and you’re a swordsman, your ranged animation is only used for ranged swords, while your attack animation is used for melee (close-up) attacks, so it’s different.
What makes physical attacks harder is just keeping track of the sprite’s movement. You don’t want it too high or too low. Remember, foot level is about 100 pixels down (it’s not some difficult number like 126.38 so no complaining). Your guy’s sprite should start about 140 pixels to the right. And the enemy’s center is typically at about (90,85) so that is where a weapon should slash through or whatever, approximately.
If you look at an actual screenshot of a game (even though this is a hack), you can see that there really isn’t too much space between the two enemies, so keep that in mind.
Here’s a screenshot of one of my attack frames. This is when the enemy is actually being hit.
It’s hard to see as usual, but at the bottom-right is the co-ordinate (92,87), which is ALMOST at what I suggested (the co-ordinate (90,85)). You could check the feet too and see that it’s at about 100 pixels down.
What is the significance of all this info? Why am I telling you? Well, during your attacks, you have to make sure the sprite will actually reach the enemy, but not have its sprite go too far into the enemy, or make it look like your character’s weapon is just BARELY hitting the enemy. Not only that, but you need to make sure that when your character moves back to his/her starting position, they are at the right place—which is why you always use your standing frame as a base to make sure your animation flows smoothly and that all other frames are aligned.
Now, we’re ALMOST done learning about making frames. I know, we haven’t even gotten to the coding, but thankfully coding is easier than this, or at least not as time-consuming.
One important thing I must show you how to do is piercing frames. The first example that comes to mind is a Knight. When he stabs an enemy with his lance, the lance doesn’t just appear right over the enemy sprite. It kinda actually looks like the lance is going through them, even if there is no blood.
This is not the example I was talking about, but whatever—you can see that the thief sprite somewhat covers the General’s spear a little, the point being it looks like the weapon’s going through him. Well, you have to make a special version of a frame for this effect.
This new frame will have a size of 488x160. You may have guessed already: the frame consists of 2 screens, each being 240x160, side-by-side, for a (240x2)x160 or 480x160 image, with an 8 pixel column for the palette, just like before.
Now, I’m gonna have to be a bad kid and switch my example animation to another one, because Kelik, the red-jacketed sword guy I’ve been showing, doesn’t use piercing frames (he slices, doesn’t pierce).
First, this:
Then, this:
(Note: the name ‘a13p’ stands for ‘attack13pierce’, as in, attack frame #13, which is a piercing frame.)
This is actually a very easy-to-do maneuver. The left portion of this frame is everything that DOESN’T pierce. It’s the 240x160 image of everything but the weapon. And the right portion of this frame is the sword; it pierces. If there is an enemy there, the enemy’s sprite will have priority over the sword, making it so that the enemy sprite/body covers the sword. Making it look like the sword went through the sprite… in short, piercing.
Once you set that up, you’re good to go. With piercing frames out of the way, you should now know how to make all your frames for your animation. I need you to do that, so we can FINALLY head on to the next chapter, which will cover animation scripts, and how the game will receive your animation.
