Fire Emblem 4 Hacking Documentation By Dark Twilkitri Section: Scripting Dialogue Control Codes Based on a list by j2e Commands 10+ require escaping with 00 otherwise they will be characters. GENERAL COMMANDS 00: Control character 01: Terminate Dialogue IE: End conversation, finish with that section of map, etc... 02: Line Break 03: Clear Text 04: Scroll Text 05: Target Window via argument But what is the point when there are the next two commands? TARGETING CURRENT WINDOW = BAD 06: Target Top Window 07: Target Bottom Window 08: Pause until Button Press 09: Kana Text Type 0A: Kanji Text Type 0B: Kanji Text Type 0C: Kanji Text Type 0D: Kanji Text Type 0E: ????? Text Type 0F: ????? Text Type CONVERSATION ONLY (?) 10: Move Caret to Arguments X and Y EVEN NUMBERS ONLY - odd numbers go between lines and other wierd things 11: I have no idea. Freaky things. 12: Text Speed via argument 01 = fast, going up slows it down. 00 = DEATH 13: Change Music via argument 14: Change Text SFX via argument 00 after argument = CRASH! Don't do it! 15: ??????????? takes two arguments 16: Set Fill Character? Two arguments Er... I have no idea why anyone would use this. Of course, I'm not even sure how to use it... 17: Combined 03 and 08 18: Pause until Button Press (again) I can't see any differences between this and 08. 19: Move Caret to Arguments X and Y This time the origin is the corner of the dialog box instead of the screen. I think. 1A: ??????????? takes two arguments 1B: Something to do with the pallete... Not exactly reccommended to use during speech. Maybe the codes are also used elsewhere? 1C: Spaces via argument 1D: Pause via argument No button press for this one. 1E: I have no idea Takes two arguments. 1F: Same as 1E 20: No visible effect 21: Pause until Button Press (again) I can't see any differences between this and 18 and 08. 22: Prints out Sigurd. Hmm... Maybe this stuff can be 'set' somewhere? 23: Prints out Sigurd. Hmm... 24: Changes portrait to Sigurd 25: Prints out 0. Hmm... 26: Prints out 0. Hmm... 27: Prints out Iron Sword. Hmm... 28: Prints out Social Knight. Hmm... 29: Scroll Text 2A: Points to text elsewhere Takes arguments XX YY ZZ, points to ZZ YY XX MINUS $800000. Remember to add/subtract $200 for the header too. 2B: No visible effect 2C: Prints out Sigurd. Hmm... 2D: Crashes 2E: Changes portrait to Sigurd 2F: Changes portrait to Sigurd 30: Prints out Sigurd. Hmm... 31: No visible effect 32: No visible effect 33: No visible effect 34: Changes portrait to Sigurd 35: Line Break 36: Line Break 37: Line Break 38: Line Break 39: Line Break 3A: No visible effect 3B: Prints out hiragana 'Wa'... 3C: Target Window via argument 3D: Open Dialog Box 3E: Close Dialog Box 3F: Character Portrait Takes a two-byte argument. 40: Remove Portrait MAP ONLY (?) 80: Draw map symbols - 4 arguments Too detailed to explain here. Check controlcodes_ mapsymbols.txt. 81: Remove map symbols via argument This will remove any map symbol currently in the provided instance. IE: 00 81 0C removes any map symbols drawn with an instance argument of 0C. 82: Prepare portrait - three arguments OK, this is mildly 83: Show portrait - three arguments complicated, so 84: Remove portrait - one argument listen up! Before 85: Reposition portrait - three arguments you can show a portrait on the screen, you have to prepare it first. Why? I dunno. In any case, the first argument is the instance of the portrait in all of them. This is just a number used to differentiate the pictures and save space. Now, in command 82, the second and third arguments are the character number, reversed, of course. For example: Sigurd, normally 0001, has arguments 01 00. Azmur, normally 027B, has arguments 7B 02. And so on. In command 83, it will display the portrait in the instance provided at a location on the screen of XX YY, where XX and YY are the second and third arguments, respectively. In command 84, it will remove the portrait you provide the instance of. In command 85, it will move the portrait in the instance provided to the location given in the second and third arguments, XX and YY. If you want to make a portrait visibly move, put waits in between small moves or it will only show the final position. I think. Now, you can use any number for the instances, provided it's either 02, 04, 06, 08, or 0A. You do not want to get into higher numbers... not only will it not display properly, it can kill the map. And don't even think about odd numbers. I'm not sure what they have against odd numbers... 86: Highlight country via argument It will highlight the country as if it was centered in the screen, whether it is or not... 87: Remove country highlight