- •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
Part 1b: Palette Preparing
So, what you are going to do is place all 16 colors of your palette in the top-right corner. The very top-right color must be the background/transparent color, and the colors after that can be in any order you desire. How to get the colors? You can either manually use the eye-dropper tool and select each color and then place one pixel of it in the top-right corner, or you can use the “Usenti method”, which I invented.
To do the Usenti method of palette preparing, you must first download and open Usenti. It should look like this:
Then, drag your image (standing frame) onto Usenti (or use File->open to open your standing frame).
At the right is a palette box. It has a list of all the colors used in that image. Because battle sprites must be 16 colors or less, your palette should be no more than 16 colors. (Having more than 16 colors is a spriting issue, so if it IS more than 16 colors, ask some spriter how to get rid of colors.)
Here is my palette box:
As you can see, there is one row, or 16 colors. Now what you must do is take a screenshot of Usenti by pressing the screenshot button on your computer. Then, open up a new window of MS Paint, and paste your screenshot into that window. Then, using the select tool, find the 16 colors in your palette box, select them, and copy them. This is what I’m talking about:
Then, paste that bar into your standing frame image, near the top-right, and zoom in, like so:
Now we have some colors here that aren’t actually apart of the palette. I’m talking about the red, white, and green outline, as well as the black stuff in between, and the grey outline. We need to get rid of all that, which can quickly be done by usingt he bucket tool and making all those dumb colors into the transparent/background color (dark green in this case).
Great, we have what we need. Now we use the eyedropper tool to select each color and put one pixel of it in the top-right corner. Watch.
Do you see the colors at the top-right? The very top-right pixel is the dark green background color, with the rest of the colors to the left and below that. Just make that the area of the palette space is 8x2 pixels (8 times 2 = 16 colors), i.e. one row should only have 8 colors. If you by some chance don’t have 16 colors and have like, 14 colors, just make the rest of the area dark green (transparent color).
Now, delete the big squares of colors, and save your image, which should look something like this:
(Note: I’m zoomed in at 2x or 200%)
Part 2: Testing the Foundation to Your Animation
You now have one frame. Wooh, that may have seemed like a lot of work. In fact, your first time, it probably will be, especially since you have to read my long, detailed explanations of how to do everything. But once you know what you’re doing, it should only take 5 minutes, if that.
Now that we have one frame, we can base every single other frame off of this one, because the palette is set-up (well, maybe it is). However, to be safe, we are first going to test your animation, to make sure that the first frame was made right.
WHAT?!
WE ONLY HAVE ONE FRAME?!
Yes, but that one frame will be the basis for every other frame, so it better work right!
We’ll just make a simple animation script. It starts with a text file, a simple notepad file ending in .txt. Since my guy is named Kelik and his class is “Legend” and he uses a sword, I appropriately called him Kelik Legend (Sword).txt.
Since I’m nice, I’ll give you guys a template script. As long as you have one frame called “standing.png”, it should work. Which reminds me—ALWAYS SAVE YOUR FRAMES AS PNG’S. Why? Because BMP’s take up a lot of space, and I always use PNG’s, so it’ll be easier to follow this tutorial if you do too. Plus, if I remember correctly, FEditor Adv only accepts 24bit bitmaps, and I could explain that to you, but I really don’t want to.
------------------------
/// - Mode 1
C03 -
C07 -
3 p- standing.png
/// - Attack Frames
C04
C1A
C1F
/// - Frames after hitting but before stopping to wait for HP depletion
C01
/// - RETURN TO BASE
3 p- standing.png
C06
C0D
~~~ -
/// - Mode 3
C03 -
C07 -
3 p- standing.png
/// - Critical Frames
C04
C08
C1F
/// - Frames after hitting but before stopping to wait for HP depletion
C01
/// - RETURN TO BASE
3 p- standing.png
C06
C0D
~~~ - Mode 5
C03 -
C07 -
5 p- standing.PNG
C05
4 p- standing.PNG
C01
4 p- standing.PNG
C06
3 p- standing.png
C0D
~~~ - Mode 6
C03 -
C07 -
5 p- standing.PNG
C05
4 p- standing.PNG
C01
4 p- standing.PNG
C06
3 p- standing.png
C0D
~~~ - Mode 7
C02
2 p- standing.PNG
C0E
3 p- standing.PNG
C01
2 p- standing.PNG
C06
2 p- standing.png
C0D
~~~ - Mode 8
C02
2 p- standing.PNG
C0E
3 p- standing.PNG
C01
2 p- standing.PNG
C06
2 p- standing.png
C0D
~~~ - Mode 9
3 p- standing.png
C01 -
~~~ - Mode 10
3 p- standing.png
C01 -
~~~ - Mode 11
3 p- standing.png
C01 -
~~~ - Mode 12
C03 -
C07 -
3 p- standing.png
/// - Attack-That-Will-Miss Frames
C04
C1F
/// - Frames after hitting but before stopping to wait for HP depletion
C01
/// - RETURN TO BASE
3 p- standing.png
C06
C0D
~~~ - End Animation Data
-------------
Everything between the dashed lines is part of the template script, so copy and paste it into your text file. Then save it.
You now have a working script. You don’t know what it does though, because I haven’t taught that, and I don’t plan on teaching it. Ever. In this chapter. :P
In all seriousness, all it does is show the standing frame for literally every single animation mode. But that’s cool enough for us. Let’s crank up FEditor Adv with our ROM so we can insert this bad boy.
Oh, but quickly, a review of what we have:
one frame called ‘standing.png’ with the sprite and the palette at the top-right that we spent forever making
a script that we gave a nice name to with the codes I provided you
That’s it. And both items are in the same folder, because I said so (hint: put them in the same folder).
OSHI- IT’S FEDITOR ADV
Yes it is. This is the “Class Animation Creator”. What you want to do is hit the “Load from Script” button. Then, select your .txt file animation script. FEditor Adv will run through it and stuff. If your script is error-free and so is your image, nothing will come up. If some error does, here’s what you should check:
size of image (should be 248x160)
file type of image (PNG? if that somehow doesn’t work, try a 24bpp bitmap)
palette (if you didn’t prepare the palette, try doing that. If you did, make sure it’s less than 16 colors!)
script is .txt file with what I gave you
Blazer (check to make sure he isn’t being dumb and didn’t forget something or mess up something? if it’s none of the above it might be this… >_>)
At the end, in the small dialog box at the bottom, it should say “Mode: Complete” if it’s all done.
NOTE: IF IT GIVES IN AN ERROR YOU MUST HIT “RESET ANIMATION” BEFORE YOU TRY TO INSERT THE ANIMATION AGAIN. I ALSO SUGGEST HITTING “QUIT” AND RELOADING THE EDITOR IF FEDITOR ADV IS GIVING YOU PROBLEMS. (If you’re wondering why I bolded that, I got an e-mail saying that someone got stuck for 1-hour because they didn’t; and admittedly it’s not the most obvious thing in the world and I should have mentioned it, so yeah, here it is.)
Here’s the dumb part. You have to save the animation by clicking “save to file…”. I usually make a new folder called “Animation Data” within the folder where I am keeping all my frames and the animation script, and I save it in there. Just name it something logical and then go to the Class Animation Manager in FEditor Adv.
Okay, so now you have to find the animation you want to insert over. You type in a new number into the “Input Index”, which neatly corresponds to the animation list supplied in the folders of Nightmare Modules.
Once you find the animation you want to replace, you hit “Insert” and find that one file you just saved with the “Class Animation Creator” part of FEditor Adv. Let FEditor Adv do it’s shit, then save your ROM with FEditor adv.
