View Issue Details

IDProjectCategoryView StatusLast Update
0006360DarkRadiantMap Editingpublic07.01.2024 13:00
ReporterFrost_Salamander Assigned Togreebo  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
PlatformPCOSWindowsOS Version11
Product Version3.8.0 
Target Version3.9.0Fixed in Version3.9.0 
Summary0006360: Feature Request: Preserve patch tesselation fixed subdivisions when creating caps
DescriptionWhen creating a cap from an end cap, patch fixed subdivisions aren't preserved resulting in an extra manual step.

Example scenario:

- create a square or rectangular brush
- select the brush and create an end cap with fixed subdivisions (say 8 horizontal and 1 vertical)
- select the newly created end cap and select Patch -> Cap... -> Inverted End Cap

The resulting inverted end cap will not have the same fixed subdivisions as its 'parent' end cap, but rather the default 4/4 vertical/horizontal subdivisions meaning it will need to be readjusted using the patch inspector to the 8/1 so it fits the end cap properly. This is an extra step that becomes tedious after creating hundreds (or more) of patches over the course of creating a map.

For this example, ideally the 'fixed subdivisions' value on the initial end cap of 8/1 would be automatically applied to the inverted end caps.

The same would apply to other types of cap patches, although for some of them the vertical/horizontal needs to be reversed (e.g. inverted bevel).

Implementation ideas:

- automatically without any user setting or intervention
- make it a 'preferences' option in Patch section
- make it an option in the 'Create Cap Patch' dialogue (e.g. a tick box that is selected by default)
Additional Informationsee attached screenshots. The 'before' one is what you get initially, and 'after' is what one actually wants it to look like and requires the extra step.
TagsNo tags attached.
Attached Files
before_endcap.png (9,812 bytes)   
before_endcap.png (9,812 bytes)   
after_endcap.png (7,569 bytes)   
after_endcap.png (7,569 bytes)   

Activities

Related Changesets

DarkRadiant: master 77586c6e

07.01.2024 10:14

greebo


Details Diff
0006360: Add test proving that an inverted endcap inherits the tesselation settings from a def2 endcap Affected Issues
0006360
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/algorithm/Prefab.cpp Diff File
mod - test/CMakeLists.txt Diff File
mod - test/Patch.cpp Diff File
mod - test/RadiantTest.h Diff File
add - test/TestOrthoViewManager.cpp Diff File
add - test/TestOrthoViewManager.h Diff File
mod - test/algorithm/Scene.h Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 140dabba

07.01.2024 10:35

greebo


Details Diff
0006360: Inherit the tesselation of the source patch. Refactoring. Affected Issues
0006360
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - test/Patch.cpp Diff File

DarkRadiant: master 6597d0e6

07.01.2024 12:24

greebo


Details Diff
0006360: Add unit test checking the creation of various cap types Affected Issues
0006360
mod - test/Patch.cpp Diff File
add - test/resources/tdm/maps/patch_cap_test.mapx Diff File

DarkRadiant: master 575ca074

07.01.2024 12:30

greebo


Details Diff
0006360: Refactor cap creation routine to reduce code duplication Affected Issues
0006360
mod - radiantcore/patch/algorithm/Prefab.cpp Diff File

DarkRadiant: master a50ae68e

07.01.2024 12:35

greebo


Details Diff
0006360: More patch cap code refactoring Affected Issues
0006360
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/algorithm/Prefab.cpp Diff File

DarkRadiant: master 6cf7792f

07.01.2024 12:40

greebo


Details Diff
0006360: Move some cap algorithm to patch::algorithm namespace, out of the Patch class implementation

Refactor code to operate on the IPatch interface
Affected Issues
0006360
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/algorithm/Prefab.cpp Diff File
mod - radiantcore/patch/algorithm/Prefab.h Diff File
mod - radiantcore/selection/algorithm/Patch.cpp Diff File

DarkRadiant: master 1fa67ff9

07.01.2024 12:56

greebo


Details Diff
0006360: Refactor patch cap algorithm. Don't add the cap to the parent only to remove it later if it's degenerate in the first place Affected Issues
0006360
mod - radiantcore/patch/algorithm/Prefab.cpp Diff File

Issue History

Date Modified Username Field Change
29.12.2023 12:57 Frost_Salamander New Issue
29.12.2023 12:57 Frost_Salamander File Added: before_endcap.png
29.12.2023 12:57 Frost_Salamander File Added: after_endcap.png
29.12.2023 13:02 Frost_Salamander Description Updated
29.12.2023 13:11 Frost_Salamander Severity normal => feature
07.01.2024 12:57 greebo Assigned To => greebo
07.01.2024 12:57 greebo Status new => assigned
07.01.2024 12:58 greebo Target Version => 3.9.0
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 77586c6e
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 140dabba
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 6597d0e6
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 575ca074
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master a50ae68e
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 6cf7792f
07.01.2024 13:00 greebo Changeset attached => DarkRadiant master 1fa67ff9
07.01.2024 13:00 greebo Status assigned => resolved
07.01.2024 13:00 greebo Resolution open => fixed
07.01.2024 13:00 greebo Fixed in Version => 3.9.0