Jump to content
Sign in to follow this  
Arch

Easy Text Editing

Recommended Posts

Introduction


First thing's first, download FEditor if you don't already have it! This tutorial will cover text editing, from the basics to the variety of commands. Hopefully newcomers will find the tutorial helpful. Without any further delay, let's begin.


The Text Editor

1W5tygm.png


This is the text editor. It's used to write...well, it's for text. Dialogue uses a special formatting that relies on combining text commands and script. In this tutorial, we'll cover all of the text commands, as well as the way text is formatted. Before that, though, we'll cover the basic functions of the text editor.

The highlighted bit of numbers is the "Input index." Each piece of text occupies a slot, which is identified by its input index. This index is how you'll reference the text during event construction.

Find, Find Next, and Find Previous are all pretty self-explanatory. Type the text into the "Input text to find" box, and away you go!

Apply is an important button. When you modify the a slot's text, you'll need to apply the change before moving onto another slot. You apply changes, then save (with a simple ctrl+s, in case you weren't aware). Revert simply puts the text back the way it was originally (based on the last saved version).

Dump and Insert handle the game's entire script. You can dump a text file containing all of the game's text, and import the script into another ROM.

Loading Portraits

32oZJPh.png


These are the six slots in which one can place a portrait. In general, when having two portraits on either side, the two portraits will be in the Left/Right and FarLeft/FarRight, positions (using the Mid position creates a cramped look on the screen). There are also off-screen slots, FarFarLeft and FarFarRight. Portraits loaded in these positions aren't seen, but can be moved onto the screen via other commands to create an "entering" effect. The slots also are used for text bubbles for characters speaking from off-screen.

In FEditor, you'll write this line of text to load a portrait in the MidRight slot: [OpenMidRight][LoadFace][0x01][0x01].

The first 0x01 corresponds to the portrait that will be loaded. The second 0x01 is static, and will always be entered as 0x01 (except in one special circumstance that I'll mention in a bit). To reference portraits, use FEditor's Portrait Editor.

OB6gQPX.png


For generic village/house conversations, to load the active unit, simply use [LoadFace][0xFF][0xFF] on the desired slot.

Basic Text


When you aren't loading a portrait, simply use [Open______] to make the unit in that slot speak (no need to use [LoadPortrait] for every line).

[OpenRight]
Hey.[A]
[OpenLeft]
Oh, hello.[A]
[A] is used to insert a break in the text, which requires the user to press A to continue. In the GBAFE games, there is a break every two lines. Well-formatted text will fit the size of the bubble (which varies based on how many words are on the longest line) and adhere to that two line rule. After each line, the game will automatically start a new line. If you'd like to skip two lines, you can use the [0x02] command.

When it's time for a character to leave the conversation, while their slot is open, using the command [ClearFace] to remove their portrait.



[OpenRight]
Hey.[A]
[OpenLeft]
Oh, hello.[A]
[OpenRight]
Oops. My apologies. I've forgotten
that I have somewhere to be![A][ClearFace]
[OpenLeft]
Wait, what?[A][0x02]
That was bizarre.[A]
[X]
The [X] command is used at the end of each text entry.

Other Commands


Remember the slot-based commands from earlier? Scenario, I have a portrait in the Left slot, and I want it to move back slightly mid-conversation: [MoveMidLeft]. You can move any portrait to any slot. If, say, I have a unit in the Left slot and use [MoveLeft], the portrait will bounce in place.

Want a character to close their eyes mid-conversation? [CloseEyes] is the command for you, then. After applying that command, you can use [OpenEyes] to, well, open the character's eyes. When a character's eyes are normal, you can use either [CloseEyes] or [HalfCloseEyes]. These command apply specifically to the slot they're used on. If you use [CloseEyes] while under [OpenMidLeft], only the unit in the MidLeft slot will close their eyes. The [Wink] command will close only the character's outside eye.

You're also able to control a character's blinking with text commands. [DisableBlinking] does exactly what you think it does. Once disabled, you can use [EnableBlinking] to have the character resume blinkery. [DelayBlinking] disables blinking for a fixed amount of time, [PauseBlinking] disables it for a shorter amount of time (these commands do not queue properly).

[ToggleSmile] does exactly what it sounds like it'd do. If smiling is off, it'll toggle it on (and vice versa). When smiling is turned on, any unit slot that is opened will use their smiling frames. The smile isn't locked to the specific slot you use the command on.

[sendToBack] functions similarly, in terms of scope. When used, it'll turn the effect on. If used while on, it'll turn the effect off. When you use [Open______], the portrait comes out in front of other portraits. This effect makes portraits do the opposite.

Sometimes, you'll want to have a pause mid-line for dramatic effect. [....], [.....], [......], and [.......] are all recognized by the game. The more dots in the command, the longer the pause will be. Pauses are typically used in conjunction with ellipses in text, but can be applied to a variety of situations.

[ToggleMouthMove] will toggle whether characters' mouths move while speaking. Generally, you'll use this command for ellipses (like when a line consists of only ellipses to indicate silence).

[ToggleColorInvert] will change the color of the text bubble, from a black font on a white bubble to a white font on a black bubble (which lacks the tail pointing to a specific face). This is generally used for ominous voices, ghosts, and other sorts of special dialogue. [ToggleRed] will just change the font color to red.

Want to change songs in the middle of dialogue? This can be accomplished in FEditor as well, albeit with a bit of help from the Event Assembler. The command [LoadOverworldFaces] is pretty self-explanatory in the realm of world map events. In conversational text, however, it's used as a command to tell the game to continue reading events. The game will continue reading until the SCRO event command is used. After [LoadOverworldFaces], the game would read a MUS1 event command that changes the song mid-dialogue. Thank FE6 for teaching me this little trick. You can also use this trick to move things on the map, change the weather, or create a variety of effects mid-conversation.

In FE7, the [Tact] command loads the tactician's name.

In FE6, you can hasten the speed of text with the [FastPrint] command. After using it, to return text to normal simply use the [NormalPrint] command. [FastPrint] also works in FE8, but apparently there is no equivalent for [NormalPrint]. Edited by Arch

Share this post


Link to post
Share on other sites

This file is currently set to private.

When a resource is set to private by its owner, only the owner can access it. If you would like to request access to the file, please log in to your account.

Edited by Naughx

Share this post


Link to post
Share on other sites

Fixed the link in the main post. Fuckin' Xeld moving his shit around.

Next goal is to add some example texts that utilize all of the text codes.

Share this post


Link to post
Share on other sites

Could you include some info about how the game organizes and stores variable-length text (ie all of it?) It would be helpful to those that want to expand the index array or make a string longer (like Knight -> Bow Knight or something)

Good tutorial overall! It's language is very clear and helpful.

Share this post


Link to post
Share on other sites

feditor handles all of that internally, i believe

there isn't really a way to hack into that process unless you're extremely savvy so i'd recommend against it unless you know what you're doing anyway

Share this post


Link to post
Share on other sites

Yes, FEditor manages free space for you and provides an interface to override it as well.

I do not recommend you override it except for external edits. FEditor knows what it is doing.

Edit:

Okay why is Arch still writing tutorials? What's going on here? Why does FEditor work on Windows 8 but Nightmare 2.0 doesn't work period?

Edited by Aleph

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...