View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005770 | DarkRadiant | Map Editing | public | 02.10.2021 17:57 | 02.04.2022 05:56 |
Reporter | MirceaKitsune | Assigned To | greebo | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Manjaro | OS Version | Stable |
Product Version | 2.14.0 | ||||
Target Version | 2.14.0 | Fixed in Version | 2.14.0 | ||
Summary | 0005770: Some brushes change shape or disappear when rotated or duplicated | ||||
Description | Some brushes will disappear when you rotate them or use space to duplicate. If you keep the brush selected, the boundary markers in the 2D viewports will indicate the now invisible selection is stretching out to infinity. I made a copy of my map where I noticed this issue leaving only an affected visportal in: Open this map in DR, select the vis brush at the center, then use the rotate Z shortcut button. You should notice the brush disappear and the selection marker stretch out to infinity. | ||||
Additional Information | The issue must have been introduced sometime this or last week: I updated and compiled DR roughly a week ago and don't believe I was getting this issue, it started occurring after I did so again last night. | ||||
Tags | No tags attached. | ||||
Attached Files | test.map (574 bytes)
Version 2 // entity 0 { "classname" "worldspawn" // primitive 0 { brushDef3 { ( 0 1 0 -16 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/common/nodraw" 0 0 0 ( 0 0 -1 0 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/common/nodraw" 0 0 0 ( 0 -1 0 0 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/editor/visportal" 0 0 0 ( 0 0 1 -100 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/common/nodraw" 0 0 0 ( -1 0 0 144 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/common/nodraw" 0 0 0 ( 1 0 0 -240 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/common/nodraw" 0 0 0 } } } | ||||
DarkRadiant: master 549372e7 02.10.2021 18:21 Details Diff |
0005770: Craft unit test to reproduce the problem at hand |
Affected Issues 0005770 |
|
mod - test/Brush.cpp | Diff File | ||
DarkRadiant: master 8385d906 03.10.2021 04:19 Details Diff |
0005770: Remove the EmitTextureCoordinates call from Face::revertTransform(), as this triggers a full brush transform evaluation through some obscure callbacks. Rather than touching this pile of traps, there'll be a separate change to fix the texture tool rotation behaviour. |
Affected Issues 0005770 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
DarkRadiant: master c75a91bd 03.10.2021 04:35 Details Diff |
0005770: Change emitTextureCoordinates() behaviour to not call Face::plane3() which triggers a lot of callbacks internally. Instead, use the m_planeTransformed member which is up to date enough for all the call sites I checked. Texture coordinates are usually emitted long after the rest of the transform is calculated (in particular the normal vector), so it's not necessary to trigger some lazy transform evaluation callback just to apply the texture matrix. The method emitTextureCoordinates should do just as the name states, it's the job of the caller to make sure the normal vector is ready before emitTextureCoordinates is called. |
Affected Issues 0005770 |
|
mod - radiantcore/brush/Brush.cpp | Diff File | ||
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | Diff File | ||
DarkRadiant: master 601c7489 03.10.2021 05:04 Details Diff |
0005770: Expand unit tests to cover all three rotation commands on a defined brush: RotateSelectionX; RotateSelectionY; RotateSelectionZ |
Affected Issues 0005770 |
|
mod - test/Brush.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
02.10.2021 17:57 | MirceaKitsune | New Issue | |
02.10.2021 17:57 | MirceaKitsune | Tag Attached: Bug | |
02.10.2021 17:57 | MirceaKitsune | File Added: test.map | |
02.10.2021 17:57 | MirceaKitsune | File Added: Screenshot_20211002_200621.png.cfd8fd2f8d6817fd8066a8090e76ddf9.png | |
02.10.2021 18:14 | greebo | Status | new => confirmed |
02.10.2021 18:14 | greebo | Product Version | 2.13.0 => 2.14.0 |
02.10.2021 18:14 | greebo | Target Version | => 2.14.0 |
02.10.2021 18:15 | greebo | Assigned To | => greebo |
02.10.2021 18:15 | greebo | Status | confirmed => assigned |
02.10.2021 18:15 | greebo | Priority | high => normal |
02.10.2021 18:15 | greebo | Tag Detached: Bug | |
02.10.2021 18:15 | greebo | Reproducibility | sometimes => always |
03.10.2021 05:05 | greebo | Changeset attached | => DarkRadiant master 549372e7 |
03.10.2021 05:05 | greebo | Changeset attached | => DarkRadiant master 8385d906 |
03.10.2021 05:05 | greebo | Changeset attached | => DarkRadiant master c75a91bd |
03.10.2021 05:05 | greebo | Changeset attached | => DarkRadiant master 601c7489 |
03.10.2021 05:05 | greebo | Status | assigned => resolved |
03.10.2021 05:05 | greebo | Resolution | open => fixed |
03.10.2021 05:05 | greebo | Fixed in Version | => 2.14.0 |
02.04.2022 05:56 | greebo | Status | resolved => closed |