View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005132 | DarkRadiant | Map Editing | public | 22.01.2020 10:58 | 08.11.2020 18:41 |
Reporter | Dragofer | Assigned To | greebo | ||
Priority | low | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
OS | Windows | OS Version | 10 | ||
Product Version | 2.7.0 | ||||
Target Version | 2.8.0 | Fixed in Version | 2.8.0 | ||
Summary | 0005132: Undo after thickening a cylinder cap along vertex normals causes crash | ||||
Description | It's possible to create a cap for a cylinder patch via 'Patch' -> 'Cap Selection'. If I try to do this backwards, as in 'thicken' the cap to create a cylinder, the map's patch count increases but nothing visible or selectable is created. If I then press undo for this step DR will crash to desktop. | ||||
Steps To Reproduce | 1) Create a cylinder patch 2) Select cylinder patch -> Patch -> Cap Selection -> Cylinder -> Ok 3) Deselect the uppermost cap and hit delete. There is now only 1 patch in the map, a cap 4) Select cap patch -> Patch -> Thicken Selected Patches -> Extrude along Vertex Normals, 16 units, Create Seams -> Ok 5) The map now has 2 patches, but only the cap is visible or selectable 6) Press Undo. DR crashes to desktop | ||||
Tags | No tags attached. | ||||
related to | 0005224 | confirmed | 'Thicken Selected Patches' along vertex normals on a cylinder cap produces deformed shape |
Attached map contains the cylinder cap patch, as described above. cylinder_cap.map (529 bytes)
Version 2 // entity 0 { "classname" "worldspawn" "editor_drLastCameraPos" "-231.882 -91.8032 171.492" "editor_drLastCameraAngle" "-26.4 24.3 0" // primitive 0 { patchDef2 { "_default" ( 3 5 0 0 0 ) ( ( ( -64 0 64 0 0 ) ( -64 64 64 0 -2.5 ) ( 0 64 64 0 -5 ) ( 64 64 64 0 -7.5 ) ( 64 0 64 0 -10 ) ) ( ( -64 0 64 2.5 0 ) ( -64 0 64 2.5 -2.5 ) ( 0 0 64 2.5 -5 ) ( 64 0 64 2.5 -7.5 ) ( 64 0 64 2.5 -10 ) ) ( ( -64 0 64 5 0 ) ( -64 -64 64 5 -2.5 ) ( 0 -64 64 5 -5 ) ( 64 -64 64 5 -7.5 ) ( 64 0 64 5 -10 ) ) ) } } } |
|
DarkRadiant: master e1c31bb7 23.03.2020 04:56 Details Diff |
Fix the crash described in 0005132. Patches were submitting UndoMementos to the undo system even though they ended up not being added to the scene. The new approach is to only add them to the scene after it's clear they are going to be kept. |
Affected Issues 0005132 |
|
mod - radiant/patch/Patch.cpp | Diff File | ||
mod - radiant/patch/algorithm/General.cpp | Diff File | ||
DarkRadiant: master b80a9add 23.03.2020 18:43 Details Diff |
Resolve 0005132: Refactor and harden patch thicken algorithm a bit. Some patches have one or more control vertices in the same spot, leading to degenerate tangents, which in turn are producing degenerate normals. Don't attempt to normalise those, instead use a 0,0,0 normal to extrude that bogus patch. The result of the thickening is probably unusable anyway, but at least no invisible patches with invalid control vertices are added to the scene. |
Affected Issues 0005132 |
|
mod - radiant/patch/Patch.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
22.01.2020 10:58 | Dragofer | New Issue | |
22.01.2020 16:06 | greebo | Status | new => acknowledged |
22.03.2020 18:27 | greebo | Status | acknowledged => confirmed |
23.03.2020 04:56 | greebo | Assigned To | => greebo |
23.03.2020 04:56 | greebo | Status | confirmed => assigned |
23.03.2020 04:56 | greebo | Target Version | => 2.8.0 |
23.03.2020 06:03 | greebo | Changeset attached | => DarkRadiant master e1c31bb7 |
23.03.2020 18:43 | greebo | Changeset attached | => DarkRadiant master b80a9add |
23.03.2020 18:43 | greebo | Resolution | open => fixed |
23.03.2020 18:44 | greebo | Status | assigned => resolved |
23.03.2020 18:44 | greebo | Fixed in Version | => 2.8.0 |
23.03.2020 18:45 | greebo | Note Added: 0012301 | |
23.03.2020 18:45 | greebo | File Added: cylinder_cap.map | |
24.04.2020 12:21 | Dragofer | Relationship added | related to 0005224 |
03.05.2020 13:23 | greebo | Changeset attached | => DarkRadiant core_module decc490e |
03.05.2020 13:23 | greebo | Changeset attached | => DarkRadiant core_module 7ac46e32 |
03.05.2020 13:27 | greebo | Changeset removed | DarkRadiant core_module 7ac46e32 => |
03.05.2020 13:27 | greebo | Changeset removed | DarkRadiant core_module decc490e => |
08.11.2020 18:41 | greebo | Status | resolved => closed |