View Issue Details

IDProjectCategoryView StatusLast Update
0002937DarkRadiantMap Editingpublic11.10.2012 19:03
Reportergrayman Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionreopened 
Product Version1.7.0 
Target Version1.7.0Fixed in Version1.7.0 
Summary0002937: Clipping a worldspawn brush in layer A will make the new clipped brush disappear if the preferred layer is not visible
DescriptionNot sure what the official term for it is, but you can select a layer to be the preferred layer, where new brushes go.

However, when clipping a brush, all parts should end up in the same layer as the original brush. With 1.7.0 pre12, the new part(s) go into the preferred layer. If that's not visible at the time, the new parts disappear.

edit greebo: It only appears to go into the invisible (and preferred) default layer: in fact the node is properly inheriting the layer set from the brush it's been clipped off, but its visibility is wrongly calculated and hence it disappears after the clip operation.
Steps To Reproduce1. Create a new layer "Test"
2. Create a new brush
3. Move the brush into the new layer "Test"
4. Hide all layers, this will make the invisible "Default" layer the active one
5. Show the "Test" layer
6. Select the brush and clip off a part (using Shift-Enter)
7. The clipped part disappears, even though it's actually in the visible "Test" layer.
TagsNo tags attached.

Activities

grayman

grayman

30.11.2011 15:18

administrator   ~0004179

This still happens in 1.7.0.

It's disconcerting to have clipped parts disappear, even if I do know where they've gone. Then I have to go retrieve them.
greebo

greebo

30.11.2011 16:06

administrator   ~0004180

The reproduction steps as above are working as intended, the clipped part doesn't disappear. Do you have specific steps that are different to those above?
grayman

grayman

30.11.2011 17:32

administrator   ~0004181

Last edited: 30.11.2011 17:34

View 2 revisions

I just re-checked this.

Given a single visible layer A and a hidden layer Default, where Default is the preferred layer:

Clip a brush in A and the clipped part disappears. It's left in A, but hidden.

Unhide Default and the clipped part appears.

This happens to me quite often, especially at the start of a session, because when a map is loaded, Default is made the preferred layer. I'll hide all layers, make the layer I want to work in visible, forget to make it preferred, and eventually run into this problem.

greebo

greebo

30.11.2011 18:26

administrator   ~0004182

I can't reproduce it, I tried these steps:

Open DarkRadiant, empty map.
Create a brush
Create a layer A
Move the brush to layer A
Hit "Hide all", this makes the Default "active" (marked by the star)
Show the layer A, the brush re-appears
Now the layer A is visible, the hidden Default layer is still active.
Select the brush
Set to clip points on the brush
Hit Shift-Enter to split the brush in two.
Both are visible, are they not?
grayman

grayman

30.11.2011 19:03

administrator   ~0004183

No. One half disappeared.

After the clipped part disappeared, I did this:

Hit ESC to deselect the part of the clipped brush that remained on the screen.

Drew another brush off to one side. At the first drag of the mouse to draw the new brush, the clipped part that had disappeared, reappeared. The new brush that I was drawing was invisible, with only the dimensions showing. Upon checking, the new brush was placed in the Default layer, which I would expect, because that was the preferred layer.

Just to make sure we're using the same DR:

I downloaded the latest Windows 64-bit 1.7.0 version from the DR download page soon after you announced it. It was a fresh download into a new directory; no overwrites. DarkRadiant.exe is time-stamped 11/26/11 8:21PM and the About info says it was built Nov 26, 2011 at 20:17:06.
greebo

greebo

01.12.2011 15:06

administrator   ~0004184

Damn it, I followed the exact steps above another time and I still can't get the part to disappear - there must be something different in the way we are doing that clipping. Can you maybe post some screenshots documenting the steps leading up to the problem, maybe I'm placing the clip points wrong, I don't know.

The DR version is the correct one, that's the latest release. I'm using the SVN build, but there's virtually no difference between SVN and release.
grayman

grayman

01.12.2011 16:10

administrator  

Shots.zip (2,786,048 bytes)
grayman

grayman

01.12.2011 16:17

administrator   ~0004185

Pics are in the attached file "Shots.zip".

Open DarkRadiant, empty map. [Shot_1]
Create a brush [Shot_2]
Create a layer A [Shot_3]
Move the brush to layer A [Shot_4 - brush is now hidden when A is hidden]
Hit "Hide all", this makes the Default "active" (marked by the star) [Shot_5]
Show the layer A, the brush re-appears [Shot_6]
Now the layer A is visible, the hidden Default layer is still active. [Shot_6]
Select the brush
Set two clip points on the brush [Shot_7]
Hit Shift-Enter to split the brush in two. [Shot_8]

Note that the hidden half is still selected, as evidenced by the dimensions shown on the ortho view. It's still in A, but it isn't painted.
greebo

greebo

01.12.2011 17:17

administrator   ~0004186

It's insane, I followed the directions and screenshots exactly (made the brush at the same spot and dimensions, set the clip points in the same order, etc.), but the brush part doesn't disappear!

Are you sure the part is going into Default? Or is it just a matter of having a refresh? What happens if you hide the layer "A" and show it again? Does the brush part reappear?
grayman

grayman

01.12.2011 18:15

administrator   ~0004187

The new part remains in A (good), but isn't drawn on the screen (bad).

If I do anything that causes the screens to refresh, it pops into view. For example, drawing a new brush off to the side: Left-click, drag, lift mouse button. When the drag begins, the hidden brush appears.

If--after the clip and the part disappears--I simply hide A and show it again, the hidden part appears.
greebo

greebo

01.12.2011 18:50

administrator   ~0004188

Well, maybe it's enough to place a screen refresh call after the clip operation. Is it enough to move the orthoview to make it reappear or do you actually have to show/hide layers or drag new brushes?
greebo

greebo

01.12.2011 18:56

administrator   ~0004189

Ok, I'll be damned, I just took the release binaries I uploaded to sourceforge, and behold, I can see the problem there, exactly as you described it! I don't know if I can debug it well enough since it's a release build, but it could as well just be a compilation weirdness.
greebo

greebo

01.12.2011 19:21

administrator   ~0004190

It actually appears to be a compilation issue. When loading the symbols after attaching to the release binaries the code from BrushByPlaneClipper.cpp cannot be hit properly - and when stepping through the code it's easy to see that the layers get assigned AFTER the brush's visibility has been updated, which is indeed the code as it was before my fix above.

I guess a 1.7.1 build will be produced within the next weeks/month anyway, so expect it to be fixed there. If it is a large problem for you while mapping I can produce a pre-release build, if you want me to.
grayman

grayman

01.12.2011 19:57

administrator   ~0004191

Whew!

Thanks for finding it.

I don't need an interim release.

Issue History

Date Modified Username Field Change
24.11.2011 22:37 grayman New Issue
25.11.2011 05:25 greebo Status new => confirmed
25.11.2011 05:27 greebo Summary Clipping a worldspawn brush that's in layer A will place the new clipped brush in the preferred layer => Clipping a worldspawn brush in layer A will make the new clipped brush disappear if the preferred layer is not visible
25.11.2011 05:27 greebo Description Updated View Revisions
25.11.2011 05:27 greebo Assigned To => greebo
25.11.2011 05:27 greebo Status confirmed => assigned
25.11.2011 05:27 greebo Target Version => 1.7.0
25.11.2011 05:32 greebo Steps to Reproduce Updated View Revisions
25.11.2011 05:34 greebo Status assigned => resolved
25.11.2011 05:34 greebo Fixed in Version => 1.7.0
25.11.2011 05:34 greebo Resolution open => fixed
30.11.2011 15:18 grayman Note Added: 0004179
30.11.2011 15:18 grayman Resolution fixed => reopened
30.11.2011 16:06 greebo Note Added: 0004180
30.11.2011 17:32 grayman Note Added: 0004181
30.11.2011 17:34 grayman Note Edited: 0004181 View Revisions
30.11.2011 18:26 greebo Note Added: 0004182
30.11.2011 19:03 grayman Note Added: 0004183
01.12.2011 15:06 greebo Note Added: 0004184
01.12.2011 16:10 grayman File Added: Shots.zip
01.12.2011 16:17 grayman Note Added: 0004185
01.12.2011 17:17 greebo Note Added: 0004186
01.12.2011 18:15 grayman Note Added: 0004187
01.12.2011 18:50 greebo Note Added: 0004188
01.12.2011 18:56 greebo Note Added: 0004189
01.12.2011 19:21 greebo Note Added: 0004190
01.12.2011 19:57 grayman Note Added: 0004191
11.10.2012 19:03 greebo Status resolved => closed