project-navigation
Personal tools

Author Topic: Mapeditor Improvement: Inconsistency  (Read 5972 times)

Offline RudolfoWood

  • Rookie
  • ***
  • Posts: 85
    • View Profile
Mapeditor Improvement: Inconsistency
« on: January 20, 2009, 08:08:54 pm »
I actually started to implement some improvements regarding inconsistency of different values regarding selected entries.
For this I updates surfaceinspector->content/levelflags + value field. There are more fields that actually don't show a state representing actual selection, so I want to ask which would be the best way to solve it:

surfaceinspector/texture : the fields at the top showing texture name, stretch + shift + rotate values belong together, actually they show the content of last selected face (if you select a brush, last face of this brush is used). Applying changes updates values of all faces in current selection.

We have different solutions how to solve this:
1) apply changes only to displayed face
2) apply changes to all selected faces (as is, could lead to weird results)
3) let the user choose whether applying to all or only last selected face (add 2 radio buttons / preference for prefered behaviour)

A) Show only last selected face (as is)
B) Show diff between all selected faces, apply only those that were changed or not inconsistent (like for content/levelflags)
C) add a combobox (dropdown) that enables the user to choose which face to show from current selection (selection would look like "entity 1 face 1", "entity 1 face 3"...)

Which is the prefered solution for these? Any other ideas?

Offline RudolfoWood

  • Rookie
  • ***
  • Posts: 85
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #1 on: February 03, 2009, 07:14:08 pm »
More problems on inconsistency:

entity inspector (below entity list in entities tab):
- class list only supports one selection (only the first is shown here, no multi-selection)
- description also supports only one selection in class list
- there are different interface groups that are only visible if appropriate entity is selected (e.g. entity flags, model path; direction for world spawns). These are not applicable to all content in current selection, but possibly for some (e.g. worldspawn + func group)
- key-value list: actually content for different selections is mixed and shown as a combination. Different values for same key are not shown, only the one of the first selection. Changes are applied to all current selected objects, even if some keys are not allowed)

The best solution I see here (as for surfaceinspector) is to make a combobox showing actual selected entities and let the user switch between those - I don't have any idea how interface could be changed to show content for all entities in a merged manner.

Please give me suggestions how to implement/update these.

Offline richlv

  • Rookie
  • ***
  • Posts: 25
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #2 on: February 05, 2009, 02:40:56 pm »
conspect of the irc discussion :)

if multiple faces are selected, show data for the last selected. tint slightly fields that have different values for the selected faces;
untint as they are edited to indicate that this field now is consistent for all selected faces; by tinting i really mean very slight, unpobtrusive field background colour change, maybe 10% grey.
when a field is changed, that field and only that field is changed for all the selected faces.

as a completely separate issue - change somewhat the hilight of the face in 3d view for which the non-uniform data is displayed in the surface inspector, but previous description does not depend on this item in any way.

<RudolfoWood> and you don't think it could be good to let the editor choose which face of current selection he wants to change?
<Richlv> i think that would be pointless ;)

because you can select that face. such a choice would be redundant and clutter the interface/workflow - i have never ever wished for anything like that because that's what selection is for afterall.

now entitybrowser, that's a bigger mess.
i think first should come that key selection from entities.def or whatever the file is.
one thing that would make sense right away - if keys are updated for multiple selection, only valid keys are written back, if possible, so if i select multiple thingies and apply angles to them, only entities able to receive that key get it. i don't know how doable this would be, though.

Offline richlv

  • Rookie
  • ***
  • Posts: 25
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #3 on: February 05, 2009, 02:57:47 pm »
more from the irc :

for entity browser key list, inconsistent values would also be tinted.
ideally a tooltip upon mouseover a particular key could inform user how many entities from the selection has that key. mouseover value would maybe show some stats about value distribution (or most often used top 3 values or something like that).

<RudolfoWood> we could detect that a value is inconsistent, popup could display a (editable) combobox with different values (+ count). You could choose to set a given value or a new value to all...
<Richlv> when clicked, i suppose ?
<RudolfoWood> when clicking on value to change it

Offline RudolfoWood

  • Rookie
  • ***
  • Posts: 85
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #4 on: February 06, 2009, 01:07:05 pm »
thanks for putting it here.
Another idea for entity browser key list: use some sort of tree list,  sort key/values by entities they are applicable to. Example:

-all
--classname
-misc_model
--modelpath

another example for selecting info_player_start + info_civilian_start
-all
--angle
--classname
--origin
-info_player_start
--team

User could easily see which flags would be attached to which entities. Tinting, applying only changed values are the other things that would be usefull here.

Offline richlv

  • Rookie
  • ***
  • Posts: 25
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #5 on: February 06, 2009, 01:30:45 pm »
i like the treelist proposition - though there probably should be some smart decision mechanism that could decide when to list entities at what level of detail

Offline RudolfoWood

  • Rookie
  • ***
  • Posts: 85
    • View Profile
Re: Mapeditor Improvement: Inconsistency
« Reply #6 on: March 31, 2009, 07:47:44 pm »
I have to redefine the treelist proposal: I noticed it would not be usefull to merge entity keys from different entity classes as these could have different validation definitions (e.g. angle -1|-2 vs. angle 0|90|180|...). I had some additional ideas about that key/value list that will lead to following improvements:

1) I will group entity key/values by their classnames
2) I'll update the behaviour for update/change methods: if you change a key's value, this value is only applied to all selected entities of same class (not like now to all selected entities)
3) on editing a key's value I'll display a combobox for different current values from selection, entering new values will still be available

(4) adding new keys will be restricted to current selected classes (done to some extend actually), perhaps classlist will be updated to display all selected classes (not only first one)