adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-devel] Dlgedit 0.8pre1


From: Kai Sterker
Subject: [Adonthell-devel] Dlgedit 0.8pre1
Date: Tue, 19 Feb 2002 20:11:22 +0100

An early version of the new dialogue editor is in CVS (road_to_0-4 branch), 
and I'd like to use the opportunity to see if there are any wishes for new 
features or improvements.

Here is a list of what is done, and what is planned apart from the code 
cleanup:

* Allow several open dialogues at a time. That's useful if you need to check  
  for something in a different dialogue. And it's working already!
  There is the common "Window" menu to switch between all open dialogues.

* Keyboard controls: as Josh requested, the editor should be controllable with
  the keyboard. Here is what I have in mind

  With the LEFT and RIGHT keys you cycle through the siblings of a node. With
  UP you get to the parent node, and with DOWN to the first child.

  Like now, ENTER will open the edit dialog for the selected node, DEL will
  delete it. ESC will unselect the node, TAB select the very first node.

  In addition, SPACE would allow to add new nodes. Either as child of the
  currently selected, or without any connection when no node is currently
  selected. When hitting SPACE, the program would switch into a special mode,
  where the arrow keys move a curser around. Hitting SPACE again would either
  create a new node at an empty place, or create a link to the node under the
  cursor.

  When selecting nodes that are close to the border, the editor will
  automatically recenter the view.

  The current mouse controls are unaffected by this. Mouse and keyboard input
  can be mixed.

* Nodes are aligned to an invisible grid. Already done.

* No more 'indirect' links. As I seemed to be the only one using this feature,
  and since it complicated things more than it was usefull, I removed it.
  When loading a dialogue with such links, they are converted to normal ones.

* More control over the order of player replies. The position of nodes will
  now determine the final order in the dialogue. The upper, leftmost node will
  appear first, then those more to the right and downwards.  
  
  That'll also allow for more complex if-elif-else python constructs, as the
  behaviour will be predictible now.

* A big issue is modularisation. I'm not sure at all how to handle that, as a
  number of problems come with it. The idea is to compose a dialogue of
  different 'sub'-dialogues that in turn may contain subdialogues as well.
  
If you look at a dialogue like orloth_start, you'll see that it is a big, 
ugly mess. So there should be a way to 'hide' part of the dialogue in a 
subdialogue, which would be represented by a single symbol. You could then 
'descent' into the subdialogue to edit the nodes (and subdialogues) inside.

And if we already have something like subdialogues, wouldn't it be useful to 
make them reusable in other dialogues as well? 

I'm not really sure how it would integrate with the rest of dlgedit. 
Currently I am thinking of the following:

On the left side there would be a tree displaying the hierarchy of 
subdialogues. You could use that to jump directly to a certain subdialogue.

To connect a node on the outside with a node inside the subdialogue, you 
would first select that node, then click on the subdialogue symbol which 
would descent into the subdialogue and there you'd click on the desired node.

In a similar fashion you could drag a node over the subdialogue to move it to 
the subdialogue. Moving it back to the parent dialogue would be not quite so 
easy. Maybe there could be a special 'exit' area where you can drop nodes to 
move them a level up again.

Anyway, further thoughts and suggestions on that topic are welcome. Right now 
it's at the end of my list anyway.


Well, that's all for. As I said, if you have any ideas for the dialogue 
editor (GUI or others), please let me know.

Kai 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]