More Awesome tools, Thanks TK !!!!!!!:D
svцsh
Thank you so very much for this TK. I have actually been pulling my modding punches and not trying to dive to heavily into TSL modding untill a new version of DLG edit and MDLops was released. Now I have no excuse other than time now to not dive headlong into my massive scale mod project that I started.
:worship:
Just in time too! I was about to start some dialogue editing...in...dare I say... GFF Editor :eek: dum..dum..dum...
Thanks for saving me from that nightmare ;) heheh
Awesome work as usual man!
Excellent work as always tk102. with this dlg editor and the dlg functions OE added, IMO Dialogs are capable of being much more dynamic then ever before.
Thanks a million.
I certainly agree with you there T7, especially in the area of script parameters.
Both Fred and I really need the help of fellow modders who perform .dlg edits to give feedback as to how some of the new fields work. AlienRaceNode? What's that? RecordNoVO? Hopefully you all can figure out what's important and what's junk fields left in by Obsidian.
v2.1.3 released
Added CameraID field support and updated readme.
Thanks Xcom. :)
Hey TK, this is a minor think i know but it just is a real bear when you have to edit cutscenes in the gff editor. What I am talking about is that you provided a listener field only for replies and not for the entries as well. For cutscenes it is important to have speaker and listener fields for the entries so that the two npc's that are talking face each other. I noticed that this field was present in the gff editor but not in the DLGEditor, and in tsl, editing dialogs with a gff editor can sometimes cause problems. So, you don't have to do this i guess, but it would be nice, if you could just add a listener field for the entries as well as the replies. Thanks in advance,
-GSCCC
^^ what is difference? Does specifying the listener feild on entries do. Is it only a problem if there are multiple npc's talking in the same dlg. Becuase I haven't noticed the npc not faceing each other in 1 on 1 dialogs.
Then you havent played my mod, the admiral jumps around from looking towards the pc from looking towards the npc he is talking to, this is because sometimes the listener field is set and sometimes it wasnt, mainly i tried to do it in just the first two entries to try and see if he would stay facing darth cravon, only he didnt. Im not trying to complain or anyting i just think it would be nice to have that option there. Makes a lot less work for people when doing cutscenes where the pc is present.
Ah ic. Ya I have mostly only done 1 on 1 dialogs so I never noticed the need for it. Oh and no I haven't tried your mod, I have just been too busy with my own ;)
Yes, the problem happens if the pc is present in a cutscene which unless you use a recorded stunt module he always is, the npc's will want to face the pc so you have to set their listener tag to look at the npc they are talking to ex: if the admiral really did turn around and face in the opposite direction of the Dark Lord while he was talking, he probably wouldn't be admiral for long :p.
BTW: Don't worry about the whole you havent played my mod thing, i wasnt buggin you about it was just giving an example :p.
Ah, ok. Thanks for the suggestion Gsccc! I didn't know Entry structs recognized the Listener field -- I hadn't opened a dlg in GFFEditor that had one. I appreciate the constructive feedback. This item is next on my to-do list.
(Makes you wonder if adding a Speaker field to a Reply would work.)
I would like to add my gratitude to this application tk102. I dont know what I would have done without it :)
I have one complaint though.
The application runs very slow, like when selecting dialog entries it takes "a long time" to update the fields which get can get somewhat tiresome. Compared to in Kotor Tool it updates the fields as soon as you select a new line. While with this tool it usually takes a few seconds.
Maybe its something on my part but I wanted to mention it anyway.
Keep up the great work :D
There are a number of reasons for the slowness including:
1) the size of the TSL dialogs are huge
2) there are many more fields to handle in TSL than in KotOR
3) the Undo feature I added consumes more memory
4) I destroy and recreate the widgets and each dialog branch -- that's something I'd like to fix but it will require extensive reprogramming
Thanks a BUNCH tk102, this will make making cutscenes a LOT easyer for modders, heck i know it will for me!:D
Originally posted by tk102
There are a number of reasons for the slowness including:
1) the size of the TSL dialogs are huge
2) there are many more fields to handle in TSL than in KotOR
3) the Undo feature I added consumes more memory
4) I destroy and recreate the widgets and each dialog branch -- that's something I'd like to fix but it will require extensive reprogramming
I just turned of the "Automatic Apply Changes" feature and it was way faster, dont why I never thought of that :rolleyes:
v2.1.4 released
Added support for Listener fields in Entry branches (Thanks Gsccc)
Fixed a bug that caused generated Script2 fields to be written as CExoStrings instead of CResref, causing said scripts to fail in-game. (Thanks T7Nowhere)
Originally posted by tk102 v2.1.4 released
Added support for Listener fields in Entry branches (Thanks Gsccc)
Good news I'm about to start some cutscene work soon :)
Originally posted by tk102
Fixed a bug that caused generated Script2 fields to be written as CExoStrings instead of CResref, causing said scripts to fail in-game. (Thanks T7Nowhere)
Thats why my second script didnt fire!
I have been going through my scripts several times to figure out what was wrong :)
One quick question, do I need to make a new dialog file or will the editor update my exsisting dialog file so second scripts are written as CResref?
And thanks for the update ;)
I'm sorry about that envida and T7. DLGEditor will not automatically fix it. If you can wait a couple hours, I'll have a small fix-it utility that will.
Here's dialog fixit utility.
There's really nothing much to it... when you launch it, it will ask you to browse to your dialog file. It will then rewrite Script2 fields so that they are CRESREF field types.
If you open it from a command prompt (not necessary), it will also tell you how many fields it fixed.
Thanks heaps for the utility you are one cool hardworking guy :cool:
Hey,
Wanted to say awesome work on the DLGEditor :) My main nitpick is that the tree view pane is rather short, and that it cannot be resized vertically.
Beyond that, I just had a question about camera id's. Is there really any difference between a camera id of -1 and 0?
New nodes created in DLG Editor seem to use -1 by default, but after I change the value in the camera id field to test other camera results, I cannot change it back to -1 because it no longer allows a minus sign in that field. Sure, I could change it back to -1 with GFF Editor, but I was curious about this deliberate >=0 limitation in DLGEditor.
AlienRaceNode? What's that? RecordNoVO?
As far as I can tell, AlienRaceNode refers to indicies in alienvo.2da, which map to voice files in the StreamVoice\AVO\ folder. For example, in recent dialogs I have edited, T3-M4's nodes have AlienRaceNode set to 21 (which is the "T3_Speech" row in alienvo.2da), and changing it to 0 resulted in silence.
RecordNoVO seemed to always be set to 1 when AlienRaceNode was filled in, but I haven't really checked it out to see if it had to be set.
Originally posted by Razorfish.8
Hey...the tree view pane is rather short, and that it cannot be resized vertically.I know -- I don't like that either and for awhile I was trying to find the right splitter widget that would allow resizing, but I got sidetracked.
Beyond that, I just had a question about camera id's. Is there really any difference between a camera id of -1 and 0? New nodes created in DLG Editor seem to use -1 by default, but after I change the value in the camera id field to test other camera results, I cannot change it back to -1 because it no longer allows a minus sign in that field... I was curious about this deliberate >=0 limitation in DLGEditor.
Yeah, that's my own inconsistencies you're noticing I think. As far as I know -1 is almost always means INVALID when it comes to constants in KotOR/TSL. 0 usually means DEFAULT. At the time I was making DLGEditor, I didn't know what the camera id should default to. I chose -1. But as you noticed my numeric-only code only allows values >= 0. There is no ulterior reasons behind these behaviors. :) Glad that you can't tell a difference between 0 and -1 in-game.
AlienRaceNode...
RecordNoVO...
Hey thanks for the info!
Wanted to say awesome work on the DLGEditor :)
I appreciate the feedback. I'll take another look at what I can do about making those panes resizeable.
I just tested the dialog fixit utility and it worked great. It changed 119 fields. What a timesaver!
v2.1.5
- Animations added for TSL
- Fixed behavior problems with Copy/Paste New
- Paste now also pastes conditional scripts
- Ability to turn off undo feature for more speed
*tsk tsk* I thought you were going to take a break and play TSL... :lol:
v2.1.6
(Finally) added an adjuster widget so that the top pane can be resized. I don't why it took so long to find that widget. :doh: Anyway, if you put your cursor between the upper and lower pane, it will turn into an up/down arrow and you can drag the upper pane to make it bigger or smaller.
Great work, tk .. as always.
BTW.. Have you finished TSL or you're still on Ravager? :D
Edit tk102: Yes I finished last night.
Just updated the readme.txt for v2.1.6 with the information gathered about some of the fields discussed in this (
http://www.lucasforums.com/showthread.php?s=&threadid=148877) thread.
v2.2.0
Improved mouse click recognition
A long time annoyance has been remedied with this version. The Perl/Tk menu system has a bug in it (on Win32 platforms) that, when a menu item is selected, the focus does not return to the main window. Instead, an extra click is needed to return focus to the main window, so users sometimes find that two clicks are required to get the Treeview to respond.
v2.2.0 of DLGEditor worksaround this shortcoming my simulating a mouse click after a menu selection is made. The result is that the application seems more responsive to user input.
v2.2.1
- Added Search by StringRef (F9) and Search by Text (F10) functions to the View menu
Thanks for adding this tk :)
Here come the cookies:
:burg1: :burg1: :burg1:
Quick question.... about the conditional things...
How does it work if you use both fields?
a) If #1 is true and #2 is true , show this thing
b) If #1 is false and #2 is true, show this thing
c) If #1 is true or #2 is true, show this thing
d) If #1 is false or #2 is false, show this thing
I'm sortof looking for a way to do this:
#1 would be c_npc_avail
#2 would be c_hasitem
If atton is in party, show this thing
If atton is not in party, but player has x item, show this thing
If atton is not in party, and player doesn't have x item, hide this thing
:giveup: :sweat:
Hi. Your described scenarios can be handled in DLGEditor using these settings:
a) Parm1 "Not": unchecked; Parm2 "Not" unchecked; Logic=0
b) Parm1 "Not": checked; Parm2 "Not" unchecked; Logic=0
c) Parm1 "Not": unchecked; Parm2 "Not" unchecked; Logic=1
d) Parm1 "Not": checked; Parm2 "Not" checked; Logic =1
At least that's what I wrote in the dlgeditor-readme.txt for the "Logic" field description at one time. :)
If atton is in party, show this thing
If atton is not in party, but player has x item, show this thing
If atton is not in party, and player doesn't have x item, hide this thing
That just boils down to: IF X OR Y which is described in c) above.
v2.2.2 released
- Removed duplicate 'Listener' field in Add New Entry operations
- Removed duplicate 'Active', 'Index', and 'IsChild' fields in Paste As Copy operations
(thanks stoffe -mkb-!)
Hi, tk! Any chance you could add the CameraAnimation field (found in, for example, the first entry of enc_ruin.dlg in 605DAN) to your most excellent tool? It would make testing much easier. :)
thanks!
Hello, I am new to Modding and I am trying to incorparate 2 DLG files into one. First I need to open and compare them for the differences. But when I open a DLG in the DLG Editor the editor shuts down and produces an error. I can't tell what the error is from the report.
All I do is click File, Open, and choose the .dlg I want and the editor shuts down. If anyone has ideal of what the problem is please let me know.
Can you post the error message?
Sorry about the late response. Computer was down. I have got the newest version now so the problem dosn't happen anymore. I thought I had the latest version but somehow got version 1.0.0.8. and I had downloaded it within the last 2 weeks
I am having a weird problem. I can edit and save the Starport Visa Fix but if I try to edit something else. Such as a dlg file from the USM I don't get the option to save. The Save and Save As options stay greyed out. :confused:
I am using the 2.2.4 version of the editor.
Make sure you click on another line before trying to save. I have no difficulties editing those files.
Thanks Darth333 :heart:
I have read the readme file and still cannot figure out how to edit the actual dialog. :o:(
It's been a while since I've done any TSL editing (so, sorry for the dated praise), but I've recently started using v2.2.4 and I'm totally loving the resize widget and search functions :)
One somewhat odd feature (bug?) with copy / paste-as-copy that I noticed while using the latest version is that the scriptname field for Conditional #1 is not copied over, but Conditional #1's parameters, as well as the entire specification for Conditional #2 (i.e., scriptname + parameters) and conditional logic is copied over. I was copying and pasting a player reply when I noticed this behavior.
Another thing I noticed was that, upon setting Script #1 or #2, the field data is propagated to all its copies, but this doesn't happen when setting/editing Conditional #1 or #2. If this a feature, would it be possible to add a separate option to propagate these conditional changes to the node's copies?
One somewhat odd feature (bug?) with copy / paste-as-copy that I noticed while using the latest version is that the scriptname field for Conditional #1 is not copied over...
Another thing I noticed was that, upon setting Script #1 or #2, the field data is propagated to all its copies... If this a feature, would it be possible to add a separate option to propagate these conditional changes to the node's copies?
Hi Razorfish.8! In even more belated response to your post...
I've fixed both of these features in DLGEditor v2.2.5. In the latter case, a popup will now occur asking you if you wish to propagate the conditional changes.
tk102 I also noticed that if I do a copy / paste-as-new conditionals are not copied over is that a bug or intended?
That was intentional, albeit lazy also. :) I guess it would be better to have the conditionals copies too.
I can't see that anyone else has ever reported this type of behavior, so I can only conclude that my computer (WinXP SP2) has some kind of really freaky issues with Perl.
I have the worst time trying to use DLGEditor (the latest version and the two versions before it). I can open the teeniest files, but if I try to open any normal sized ones, it crashes. And crash in this case means Poof! gone, no errors, no warnings, nothing. If the file is small enough, then it may open on the 2nd or 3rd (or 4th or 5th...) try. But as soon as I click on a node in the tree, it crashes. Or in the rare case that it stays open long enough for me to actually click on a node, edit something, click on another node to activate "Save", then it will usually crash when I try to save. :compcry:
I have similar problems with K-Gff. It will open small files (like .uti and .utc size files), but larger files, forget it. Crashes every time. And if say, I want to add a new camera to a .git file, I have to add a new struct, and add each field one at a time because if I copy an existing camera struct, it will crash on the paste operation. And I have to save after each new field, because it occasionally crashes on saving and better to lose one field than ten. For what it's worth, camedit adds the camera beautifully and then crashes on saving. FindRefs shows that it's searching for a bit, then crashes. I think KSE is the only one of tk102's tools I have that doesn't give me any trouble.
Has anyone ever heard of this sort of thing?
Edit tk102: Recently, I upgraded from Perl 5.8.0 to 5.8.8 which addressed a variety of bugs. I have since recompiled DLGEditor, K-GFF, and FindRefs GUI with this new version of Perl. cjt0202 has indicated this has fixed the problem. :)