About This File
This is a visual dialog editor for KOTOR and TSL. It's currently in alpha, so if you're planning to use it for your mods just be aware that there might be (i.e. will be) bugs.
COMPATIBILITY
I am unaware of any compatibility issues with the DLGs created by this editor, but that doesn't mean there aren't any because this is an early alpha release. Please let me know if you experience any issues.
INSTALLATION STEPS
1. Download the ZIP file, and unzip it into a folder (it doesn't create one on its own - I hate it when zips do that ).
2. Copy your "dialog.tlk" into the folder alongside the file "app.exe" - I included the "dialog.tlk" file for KOTOR (as "kotor.tlk"), and for TSL (as "tsl.tlk"), but if you're using any mods which edit "dialog.tlk" for the game you're working on (e.g. using TSLRCM), you'll need to replace it with your own copy. You can find the "dialog.tlk" file in the same folder as the base executable for your KOTOR/TSL installation. If it's for KOTOR 1, rename the copy of "dialog.tlk" you put into your app folder to "kotor.tlk". If it's for TSL, rename your "dialog.tlk" to "tsl.tlk". Don't change the name of dialog.tlk inside your actual KOTOR/TSL installation, as that will break the game. Only change the name of the version you copied into the KotOR Dialog Editor install directory (alongside "app.exe").
34 Run "app.exe"
UNINSTALLATION
Delete all the downloaded files.
USAGE INSTRUCTIONS
General Usage
- Create a new dialog file (for KOTOR 1) by pressing the "New" button, or open an existing DLG file using "Open"
- Save dialog files using the "Save" button (there's no auto-save, nor does ctrl-s work - I'll make it work eventually)
- Once you open a dialog file, you'll see some panels:
- The top-left panel contains the "actions" list, which is a set of actions you can currently take.
- The bottom-left panel contains "link" information when you select a response which is linked to the current response.
- The top-middle panel contains NPC dialog (entries)
- The bottom-middle panel contains player dialog (replies)
- The right panel contains metadata for the selected response (strref, text, script, etc.)
Some Important Terminology
To understand what the actions do, you'll need to know the following terminology (some of which I made up, so please read this even if you're a pro):
- Response: A line of dialog, spoken either by an NPC or the player (I sometimes call this a "node" too)
- Entry: A line of NPC dialog
- Reply: A line of player dialog
- Start: A possible entry point for the dialog (always points to an entry, never a reply)
- Link: Responses are linked to one another through "links"
- Metadata: The general dialog data (things like the script that should run when the dialog ends, etc,.)
- Selected response: The response which is highlighted in orange - this is preserved when navigating (until you select something else)
- Current response: The response you last navigated into.
- Copied response: The response you last selected "Copy Selected Node" on.
Actions:
The panel in the top-left corner contains a list of actions you can perform to edit your dialog. I'll try to describe the actions as well as I can here, but honestly the best way to learn the software is just to try it out:
- Back To Start: Go back to the start of the dialog you're currently in
- New Response: Create a new response (either an entry or a reply, depending on context)
- Unlink Response: Removes the link between the selected response and the current response
- Copy Selected: Sets the selected response as the copied response
- Paste Into Start: If you have an entry as your copied response, and have selected a start response, it makes the start response point to the copied response
- Paste As Link (Link): Adds a link from the current response to the copied response
- Move Selected Up/Down: Moves the selected response up or down (respectively) by one level in the dialog evaluation order (for player dialog, this changes the order of the dialog lines they can choose from; for NPCs, the first line in the evaluation order whose "Active" script is either blank or returns TRUE is selected as the NPC's line)
- Step Back/Forward: Move back/forwards in your dialog history (so you can easily go in/out of replies without restarting the dialog)
FAQ
I did x and it crashed/broke my DLG/set my PC on fire
Yeah, this is alpha software and I need some people to test it out. Please let me know what broke the software so I can fix it.
I'm clicking responses but nothing's happening
You need to select responses for both the player (the bottom screen) and the NPCs they're talking to (the top screen). If this info doesn't fix your problem, let me know so I can look into it.
I can navigate through the dialog, but how do I edit things?
You left click on dialog lines to navigate through them, or right click on them to "select" them. Once a line is selected, you can edit it in the window to the right, edit the link between it and the current dialog node on the bottom-left panel, or copy it to another node by navigating to that node and pressing "Paste Into Current (Link)".
The navigation seems to work, but I can't see the actual dialog text
Make sure you have the correct "dialog.tlk" file in the same folder as "app.exe". If this doesn't solve the problem, please let me know so I can look into it.
Cool app. Ugly, though...
Yeah, I'm working on it, and I'm open to suggestions for making the UI cleaner/better/easier to use.
DLGEdit's faster to use/better in some other way
This isn't meant to be a replacement for DLGEdit - DLGEdit's power comes from the ease at which you can change an existing DLG into exactly what you want. Although this tool can do that too, it's designed for easily/naturally building DLGs from scratch rather than doing minor edits in existing DLGs, while having to actually run the dialog in KOTOR/TSL as little as possible (to avoid the time it takes to load the games and get to the conversation).
FUTURE FEATURES
- Flow chart view
- Animation selection
- More testing, bug fixes, etc.
KNOWN ISSUES
- If you create a link from node A to node B, and node A already has a link to node B, the dialog editor doesn't know which one you want to select when you right click and does weird things (e.g. always selecting the bottom-most copy, even when you right click on another copy). Will fix this asap.
INCLUSION IN OTHER MODS
Anyone who wants to use this in their mod is free to do so, with appropriate attribution.
CREDITS
This mod is created by me (lachjames). Thanks to Thor110 for helping me test it out.
Thanks to the Xoreos team for allowing us to include xoreos-tools with this mod. We use the gff2xml and xml2gff tools from xoreos-tools to read and write the DLG files. Xoreos-tools is licensed under the terms of the GNU General Public License v3; more information can be found here.
What's New in Version 0.2.0 See changelog
Released
Fixed some issues with KotOR 2 compatibility.
This will be the last version of this tool that I work on - my efforts now are dedicated to making a proper KotOR level editor, and that will include a dialog editor that has all the features of this one (plus many more).