Dialog Editor

From Oldunreal-Wiki
Jump to navigation Jump to search
File:DialogEditor.png
The main screen of the Dialog Editor.

The LEGEND Dialog Editor Version 1.04 is a tool for editing and creating dialogues in Unreal II. It was developed by Legend Entertainment's James A. Montanus using the Microsoft Class Foundation library. It is capable of creating and editing .dlg files that are used by Unreal II to handle in-game dialogues. The tool can be found in the Unreal2\Dialog folder, as DialogEditor.exe. Along with it is a Properties.txt file which is a list of all available parameters for each node of a dialog. The list presents all settings as Parameter=Value or type of value. This file is used to display the usage of all parameters in the property window inside the node editor.

The use of the DialogEditor is not required: dialogs are stored by the game as .dlg files which are simple text files and can be opened with notepad or a text editor. The Dialog Editor is only a convenient interface.

Usage

The Dialog Editor has two modes of operation - Nodes and Script. Nodes mode allows you to visualise the dialogue as a tree of nodes, while the Script mode shows slightly more information about each node and optionally allows you to see the lines of selected speakers only. To switch between the modes, either use the menu View or use the toolbar.

Node Mode

In Node mode, the dialog is displayed as a tree-view. The toolbar contains buttons to add and remove nodes, and a button to edit properties. You can also edit a node's properties by right-clicking on it and choosing "Properties" in the contextual menu, or by double-clicking on it. Either way opens the properties window, where all you can do is move, add or delete parameters in this particular node. Clicking Add will take you to the Property window.

The property window is divided in three parts: on the left-side is the list of all possible parameters which can be added to a node. There is also a [None] parameter which can be used to add commentaries or notes (with "//", as in UnrealScript, or with "#", as in Bash scripts). Once a parameter has been added, you can specify the value of this parameter by clicking on the large right-side panel and entering your value. The type of value needed is displayed at the bottom of the window to guide you. If other nodes use the same parameter, the small drop-down menu in the upper-right corner will allow you to quickly use these values, which can be useful to quickly select the Speaker in a long conversation, for example, instead of typing the speaker's names for every node.

A small black dash in a yellow square represents a node. However, if the node uses certain speakers, the symbol will be replaced by a specific icon: a white-on-black P for the player, a white-on-pink A for Aida, a white-on-brown N for Ne'ban, a white-on-green I for Isaac.

Script Mode

Known Bugs

  • Never press "Promote" on the Root node. Doing so will crash the editor.
  • Right-clicking on empty space in the main window will produce a Debug Assertion Failed! window. Pressing Ignore will allow the program to continue as normal.
  • Sound files for the dialogue nodes are automatically generated based on node and file names, and it is impossible to change them, so never save the original dialogue files that come with the game, or most of the times you will lose voice acting in-game. To be safe, you can set all of the stock dialogue files and directories read-only.
  • Even though the game itself is case insensitive, the Dialog Editor requires the value of the property NextNode to have the same case as the node name it should link to. If it is not, the editor drops the NextNode property. This holds true for stock dialogue files, too. In case that happens, upon opening the file a confirmation Warning! All nodes are not being displayed in the dialog tree. Would you like to correct this? is displayed. No matter what you choose, the properties will be dropped. If you get this warning, never save the file, or you will lose some data! Instead, use a text editor to correct the mistake.