Garux / netradiant-custom

The open-source, cross-platform level editor for id Tech based games.
https://garux.github.io/NRC/
Other
316 stars 56 forks source link

Entity Regroup / Ungroup feature missing #50

Closed Krischan74 closed 4 years ago

Krischan74 commented 4 years ago

This fork works great for editing Wolfenstein: Enemy Territory maps, too. I've used the Xonotic Netradiant before (https://github.com/xonotic/netradiant) but this one here runs more smooth and stable IMHO. But I'm missing a very important feature which is: regrouping/ungrouping of Entities.

For example: you have a func_group of brushes and patches and want to add some brushes from another func_group. In the other Netradiant, I select the whole source entity with SHIFT+Brush and CTRL+ALT+E and then the Brush(es) I want to add holding SHIFT, clicking them and just select Entity > Regroup which adds them to the source func_group.

In this version, there are no such options. I know there is Entity > Move primitives to Entity but it works different. The selection process is the same, but I can't add a single brush from another group as the whole group gets added when I selected single brushes. The only workaround is to "worldspawn" these brushes first, creating a separate func_group for them which I then add to the other func_group.

Perhaps you can add such an option as a new feature which is very useful.

Garux commented 4 years ago

I refactored routines to follow 'have primitives of interest selected, select a primitive of target entity, move' logic, like in GtkRadiant 1.4, which felt more human.
Regroup thing was contextual anyway, which was complication of user's logic.
This https://github.com/Garux/netradiant-custom/commit/ed151906bd428f4cb33a1077fbb858b47e098380 adds EntityMovePrimitivesToFirst command, which mimics Regroup logic.
Ungroup is replaced by entity creation menu.worldspawn, which seems the most intuitive option.

problem is also described in changelog-custom.txt:

Q: how to move brushes into group entity?
A: select brushes to move, select target entity brush, Move Primitives to Entity

Q: how to remove brushes from group entity?
A: select brushes, entities creation menu->worldspawn (right mouse button click to ungroup whole entity(ies))
Krischan74 commented 4 years ago

So it is intentional. I was only confused as it behaved different and it sometimes broke my func groups. So I must work with the worldspawn intermediate step :-(

Garux commented 4 years ago

So I must work with the worldspawn intermediate step

No, EntityMovePrimitivesToLast & EntityMovePrimitivesToFirst do not require intermediate step

Also note one more benefit of new logic: it does not require expanding selection to the target entity (minus step, profit).

Krischan74 commented 4 years ago

ok, I tried it again and it works: so I FIRST need to select the brush(es) I want to add and THEN select a Brush from the func_group and with the command Entity > MovePrimitives to Entity it gets added to it, and not the whole func_group. This is very confusing when coming from another Radiant version, but hey at least it works :-D I often regroup func_groups and this is the most useful function in Radiant to me. I think you can close this issue :-)

By the way: I am using that latest released binary, which say 1.5.0n May 14 2020.

Garux commented 4 years ago

As i mentioned, this is how it works in GtkRadiant 1.4/1.6, so it's zero confusing for its users; It's also less confusing and more intuitive for new users i think.
As i also mentioned, EntityMovePrimitivesToFirst command mimics Regroup logic, so you can use it w/o notice of change (though you don't actually need to expand selection with it).

Krischan74 commented 4 years ago

Not confusing for GtkRadiant users, but confusing for former Xonotic Netradiant users as I am ;-) But I think the new workflow is better. By the way: thanks for this great fork, I really start loving it :-D