Jump to content
The Dark Mod Forums

func_static issues


Recommended Posts

@SneaksieDave: I was investigating #630: "Expand selection to whole entities malfunction"

 

1. create two brushes, them convert them to a single func_static

2. use groupcycle to cycle to one of the individual brushes

3. use Edit | Expand Selection to whole Entities

 

Problems:

1. groupcycle commands no longer work

This is expected, as only the two child brushes are selected after choosing "Expand Selection to whole Entity". GroupCycle only works with the parent func_static entity selected, which is not the case here anymore - only the two brushes are selected, and none of them is a group.

 

DarkRadiant can't "sense" what was highlighted before you chose "Expand Selection to whole Entities", hence this behaviour.

 

2. drag the group to another location -- the func_static origin stays behind, not moving with the whole.

This is also expected, because that's what you get when you move single child brushes of func_static entities. The entity itself is not selected, therefore it is not moved along.

 

On the other hand, if you deselected and reselected the func_static, then used Expand Selection, DR shows *two* origins: a new one created by the Expand Selection operation, and the old origin, which is the one that doesn't move with the group.

I tried to reproduce that, but I couldn't. Is there something I missed in your description? I followed these steps closely, and I always saw only one origin. :mellow:

Link to comment
Share on other sites

This is expected, as only the two child brushes are selected after choosing "Expand Selection to whole Entity". GroupCycle only works with the parent func_static entity selected, which is not the case here anymore - only the two brushes are selected, and none of them is a group.
This is also expected, because that's what you get when you move single child brushes of func_static entities. The entity itself is not selected, therefore it is not moved along.

From those, I think I must misunderstand the functionality. I am assuming that "Expand selection to whole entities" means, "select the whole thing (of which I hold a part)." No? If not, and the desire is to select only the brushes and leave the origin out of it, then I guess it's working correctly. What purpose does that serve, though? I can only think of one at the moment: moving the brushes without affecting the origin (which we can do in reverse; move everything, and then reposition the origin alone).

 

I guess another way to look at it is to try this:

1. 2 or more brushes

2. convert to func_static

3. deselect and reselect

4. Expand to whole entities

 

Now you can't groupcycle anymore, even though the whole thing is selected (even origin). Why? I guess I don't understand this feature.

 

I tried to reproduce that, but I couldn't. Is there something I missed in your description? I followed these steps closely, and I always saw only one origin.

Crud, I'm having trouble making it happen now too. I definitely had it happen several times; maybe I got something into an error condition first. I'll try to track it down better. Either that or maybe I was daydreaming. :)

Link to comment
Share on other sites

Well, if you're expecting it to do something else, I can also add a similar feature which does what you want. Is the name of the feature misleading? Maybe we should rename this feature to "Expand Selection to Siblings/all Children" and add another one "Expand Selection to whole Entity" which selects the entire func_static including the parent container.

 

To complete the set of functions, there is already the "Select Children" command which only selects the child primitive of a selected entity.

 

Just to further clarify, the scenegraph structure of a func_static is like this:

- func_static (Entity)
  - Brush (primitive)
  - Brush (primitive)
  - Patch (primitive)

Here, all brushes/patches (primitives) are children of the parent entity. The entity is an actual "Node" on its own and can therefore be selected itself.

 

The same holds for the worldspawn entity, btw. The worldspawn is (from DarkRadiant's perspective) just a larger func_static - it's the same class in the code.

Link to comment
Share on other sites

:laugh: What a confusing topic.

Maybe we should rename this feature to "Expand Selection to Siblings/all Children"

I think that's probably the best idea ("siblings" particularly is most clear IMO, as it doesn't imply children of that child); I guess the name did throw me off. So basically, the intention is to select all but the parent. And from the other side of things, with the whole selected, the idea behind Select Children is clear enough as is (I'd never used it myself). So, these two functions go from child -> children (siblings), or parent -> children.

 

As for this one,

and add another one "Expand Selection to whole Entity" which selects the entire func_static including the parent container.

I'm not sure if it's worth extra effort, but that's just my current thought. I'd imagine in any situation where a user has a child selected and wants the whole, they can just as easily de-select and re-select.

 

I do still think there is some funkiness in groupcycle though. Try this one:

-create multibrush func_static

-groupcycle to one of the child brushes

-now, shift click (select) one of the other child brushes

 

At first, I think hooray!, the whole family is selected, just as I wanted. But... now groupcycle doesn't work. I assume because DR thinks two things are selected maybe?

Link to comment
Share on other sites

I think that's probably the best idea ("siblings" particularly is most clear IMO, as it doesn't imply children of that child); I guess the name did throw me off. So basically, the intention is to select all but the parent. And from the other side of things, with the whole selected, the idea behind Select Children is clear enough as is (I'd never used it myself). So, these two functions go from child -> children (siblings), or parent -> children.

Ok, I'll rename that one in SVN.

 

I'm not sure if it's worth extra effort, but that's just my current thought. I'd imagine in any situation where a user has a child selected and wants the whole, they can just as easily de-select and re-select.

Hm, yes that's a point. I'll leave that out then and see if people mind.

 

I do still think there is some funkiness in groupcycle though. Try this one:

-create multibrush func_static

-groupcycle to one of the child brushes

-now, shift click (select) one of the other child brushes

Ah, I see. Not an everyday situation but I know what's going on here. DarkRadiant in fact thinks there is one brush and one entity selected, but it doesn't analyse whether the brush is a child of the entity.

 

I'll have to think about what to do in that case - maybe there is no solution to that, but it might help to de-select any children if the parent entity gets selected. This hurts performance though.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      The FAQ wiki is almost a proper FAQ now. Probably need to spin-off a bunch of the "remedies" for playing older TDM versions into their own article.
      · 1 reply
    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 3 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 7 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
×
×
  • Create New...