View Issue Details

IDProjectCategoryView StatusLast Update
0005382DarkRadiantMap Editingpublic13.12.2020 17:59
ReporterIZaRTaX Assigned Togreebo  
PrioritynormalSeverityfeatureReproducibilityunable to reproduce
Status resolvedResolutionfixed 
PlatformPCOSWindows 7 Ultimate Edition ‎X64OS Version2/26/2019
Product Version2.8.0 
Target Version2.10.0Fixed in Version2.10.0 
Summary0005382: Merge patch connect patches
DescriptionYou can split patch but you cannot connect patch, honestly I would like a way to connect patches if it possible like that.
https://www.youtube.com/watch?v=WpNIcrvm4tw

OD Radiant has the similar tools and open source check here > https://sourceforge.net/p/odblur/code/HEAD/tree/code/OverDose%20Tools/ODRadiant/
> https://overdose-game.com/sdk.html

https://forums.thedarkmod.com/uploads/monthly_2020_11/od_t.png.9b87ee463ae745b800cdeb3296171f48.png

I hope you'll do it in the future :)
Steps To ReproduceMerge / combine patch
Additional InformationGood luck if you can release it !
Tagsmerge patch connect patch

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master dda10bc1

2020-12-05 02:37:12

greebo

Details Diff
0005382: Having a go at porting the patch weld algorithm from ODRadiant Affected Issues
0005382
mod - install/menu.xml Diff File
mod - radiantcore/patch/PatchModule.cpp Diff File
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - radiantcore/patch/algorithm/General.h Diff File

DarkRadiant: master 16f7c78f

2020-12-05 03:10:48

greebo

Details Diff
0005382: ODRadiant uses (col,row) when accessing control points, DarkRadiant is using (row,col)
Fix a copy/paste error in the algorithm.
Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 1da29b53

2020-12-05 03:38:01

greebo

Details Diff
0005382: Fix index-out-of-bounds crashes Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 92d8b414

2020-12-05 07:53:17

greebo

Details Diff
0005382: Add unit test resources and start setting up a test map with some patches to weld Affected Issues
0005382
add - test/PatchWelding.cpp Diff File
add - test/resources/tdm/maps/weld_patches.mapx Diff File
add - test/resources/tdm/materials/numbers.mtr Diff File
add - test/resources/tdm/textures/numbers/0.tga Diff File
add - test/resources/tdm/textures/numbers/1.tga Diff File
add - test/resources/tdm/textures/numbers/10.tga Diff File
add - test/resources/tdm/textures/numbers/11.tga Diff File
add - test/resources/tdm/textures/numbers/12.tga Diff File
add - test/resources/tdm/textures/numbers/13.tga Diff File
add - test/resources/tdm/textures/numbers/14.tga Diff File
add - test/resources/tdm/textures/numbers/15.tga Diff File
add - test/resources/tdm/textures/numbers/16.tga Diff File
add - test/resources/tdm/textures/numbers/17.tga Diff File
add - test/resources/tdm/textures/numbers/18.tga Diff File
add - test/resources/tdm/textures/numbers/19.tga Diff File
add - test/resources/tdm/textures/numbers/2.tga Diff File
add - test/resources/tdm/textures/numbers/20.tga Diff File
add - test/resources/tdm/textures/numbers/3.tga Diff File
add - test/resources/tdm/textures/numbers/4.tga Diff File
add - test/resources/tdm/textures/numbers/5.tga Diff File
add - test/resources/tdm/textures/numbers/6.tga Diff File
add - test/resources/tdm/textures/numbers/7.tga Diff File
add - test/resources/tdm/textures/numbers/8.tga Diff File
add - test/resources/tdm/textures/numbers/9.tga Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 07a9e831

2020-12-05 08:14:13

greebo

Details Diff
0005382: First working test Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master afbf56cc

2020-12-05 12:41:53

greebo

Details Diff
0005382: Expanded unit tests to what we want to have (50% failing right now) Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master 6d1f3a5c

2020-12-06 05:42:58

greebo

Details Diff
0005382: Add PatchControlIterator class Affected Issues
0005382
add - radiantcore/patch/algorithm/PatchIterators.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 48a5d017

2020-12-06 08:31:11

greebo

Details Diff
0005382: Expand PatchControl iterators, plus some WIP algorithm code Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - radiantcore/patch/algorithm/PatchIterators.h Diff File

DarkRadiant: master 24fbf89f

2020-12-06 08:34:28

greebo

Details Diff
0005382: Move PatchIterators.h to libs/patch/ to make it accessible to unit tests Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: master efb4ecfc

2020-12-06 12:59:29

greebo

Details Diff
0005382: Add PatchControlIterator tests Affected Issues
0005382
mod - test/Makefile.am Diff File
add - test/PatchIterators.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 9cc2a902

2020-12-06 12:59:54

greebo

Details Diff
0005382: Fix and clarify documentation in PatchIterators.h Affected Issues
0005382
mod - libs/patch/PatchIterators.h Diff File

DarkRadiant: master aa0b4106

2020-12-08 04:17:54

greebo

Details Diff
0005382: More number textures, just in case Affected Issues
0005382
add - test/resources/tdm/textures/numbers/21.tga Diff File
add - test/resources/tdm/textures/numbers/22.tga Diff File
add - test/resources/tdm/textures/numbers/23.tga Diff File
add - test/resources/tdm/textures/numbers/24.tga Diff File
add - test/resources/tdm/textures/numbers/25.tga Diff File
add - test/resources/tdm/textures/numbers/26.tga Diff File
add - test/resources/tdm/textures/numbers/27.tga Diff File
add - test/resources/tdm/textures/numbers/28.tga Diff File
add - test/resources/tdm/textures/numbers/29.tga Diff File
add - test/resources/tdm/textures/numbers/30.tga Diff File
add - test/resources/tdm/textures/numbers/31.tga Diff File
add - test/resources/tdm/textures/numbers/32.tga Diff File

DarkRadiant: master 8160d635

2020-12-08 07:24:08

greebo

Details Diff
0005382: WIP welding code. Add parameterised unit test, welding patch 1 in the test map with a set of other patches Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File
add - test/resources/tdm/maps/weld_patches2.mapx Diff File

DarkRadiant: master 26e68f3f

2020-12-08 08:53:19

greebo

Details Diff
0005382: Add reverse column and row iterators Affected Issues
0005382
mod - libs/patch/PatchIterators.h Diff File
mod - test/PatchIterators.cpp Diff File

DarkRadiant: master 8fb51895

2020-12-08 11:00:06

greebo

Details Diff
0005382: Edge detection code WIP, expanded unit test combinations. Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master 7a4291fc

2020-12-08 13:47:11

greebo

Details Diff
0005382: Add row- and column-wise iterators which can traverse the matrix major in reverse direction Affected Issues
0005382
mod - libs/patch/PatchIterators.h Diff File
mod - test/PatchIterators.cpp Diff File

DarkRadiant: master 245bd1bd

2020-12-08 14:27:51

greebo

Details Diff
0005382: Expand unit test cases to work with cases where startRow > endRow or startColumn > endColumn Affected Issues
0005382
mod - libs/patch/PatchIterators.h Diff File
mod - test/PatchIterators.cpp Diff File

DarkRadiant: master a95bd7a4

2020-12-08 17:48:07

greebo

Details Diff
0005382: Some progress on the main welding algorithm Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 4de94e43

2020-12-08 18:17:32

greebo

Details Diff
0005382: Welding algorithm works for the 3x3 patches in the weld_patches2 testmap Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 889c079f

2020-12-10 17:31:17

greebo

Details Diff
0005382: Add TestLogFile class, which will (unlike the regular DarkRadiant.log) append text to the output file, not clearing it on open. Affected Issues
0005382
mod - test/RadiantTest.h Diff File
add - test/TestLogFile.h Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 973a0ad4

2020-12-10 17:38:27

greebo

Details Diff
0005382: Use GlobalSelectionSystem().ultimateSelected and penultimateSelected as we need the actual selection order Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master acf01aaf

2020-12-10 17:55:36

greebo

Details Diff
0005382: Test cases are green now Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master 1207500c

2020-12-10 18:15:39

greebo

Details Diff
0005382: Reactivate some of the older tests Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master 25843943

2020-12-10 18:19:32

greebo

Details Diff
0005382: Dispose of all the unused code Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 0f9b1cc3

2020-12-12 02:59:14

greebo

Details Diff
0005382: Remove unused parts and fix a few warnings Affected Issues
0005382
mod - libs/patch/PatchIterators.h Diff File
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 91aaf3b6

2020-12-12 03:14:07

greebo

Details Diff
0005382: Nudging towards using more concisely typed data structures Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 3f3f6af4

2020-12-12 04:05:27

greebo

Details Diff
0005382: Condense the code a bit more to make it more readable, more comments Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 68e07fd1

2020-12-12 06:00:54

greebo

Details Diff
0005382: Add unit test asserting that selection groups are preserved. Right now, the way it works the scenario doesn't allow for anything than a single group. Affected Issues
0005382
mod - libs/selectionlib.h Diff File
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master 947b0976

2020-12-13 04:40:52

greebo

Details Diff
0005382: Another test scenario of having multiple patches which are candidates of being merged together. The algorithm should be able to merge all 6 of them into 1, any path is valid. Expand unit tests. Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File
mod - test/resources/tdm/maps/weld_patches.mapx Diff File

DarkRadiant: master 020113d3

2020-12-13 04:42:43

greebo

Details Diff
0005382: Expand welding capabilities. We treat a selection of exactly two patches as special case where the selection order determines which patch's properties are preserved. When many things with at least two patches are selected, the algorithm will dive in an weld anything suitable (single pass), similar to what the CSG Merge algorithm is doing. Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File

DarkRadiant: master 6465e126

2020-12-13 04:50:34

greebo

Details Diff
0005382: Welding should preserve the fixed subdivision setting of the first patch. Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File
mod - test/resources/tdm/maps/weld_patches.mapx Diff File

DarkRadiant: master 7204659f

2020-12-13 04:52:52

greebo

Details Diff
0005382: Welding should preserve non-fixed subdivision setting of the first patch. Affected Issues
0005382
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master e27e13cd

2020-12-13 04:57:28

greebo

Details Diff
0005382: Welding should preserve the first patch's material Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master fa02e0a7

2020-12-13 16:38:52

greebo

Details Diff
0005382: Make sure the merged patches are facing the same direction Affected Issues
0005382
mod - include/version.h Diff File
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File

DarkRadiant: master c35e419d

2020-12-13 17:37:00

greebo

Details Diff
0005382: Vector3::angle should clamp all dot values to -1..+1, not just the positive values. Affected Issues
0005382
mod - libs/math/Vector3.h Diff File

DarkRadiant: master 602c2789

2020-12-13 17:40:23

greebo

Details Diff
0005382: Improved check for merged patches which should be facing the same direction Affected Issues
0005382
mod - radiantcore/patch/algorithm/General.cpp Diff File
mod - test/PatchWelding.cpp Diff File

Issue History

Date Modified Username Field Change
07.11.2020 10:31 IZaRTaX New Issue
07.11.2020 10:31 IZaRTaX Tag Attached: merge patch connect patch
07.11.2020 15:47 greebo Priority immediate => normal
07.11.2020 15:47 greebo Severity block => feature
07.11.2020 15:47 greebo Status new => acknowledged
13.12.2020 03:39 greebo Status acknowledged => confirmed
13.12.2020 03:39 greebo Assigned To => greebo
13.12.2020 03:39 greebo Status confirmed => assigned
13.12.2020 03:39 greebo Target Version => 2.10.0
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master dda10bc1
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 16f7c78f
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 1da29b53
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 92d8b414
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 07a9e831
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master afbf56cc
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 6d1f3a5c
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 48a5d017
13.12.2020 04:59 greebo Changeset attached => DarkRadiant master 24fbf89f
13.12.2020 05:04 greebo Status assigned => resolved
13.12.2020 05:04 greebo Resolution open => fixed
13.12.2020 05:04 greebo Fixed in Version => 2.10.0
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master efb4ecfc
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 9cc2a902
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master aa0b4106
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 8160d635
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 26e68f3f
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 8fb51895
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 7a4291fc
13.12.2020 05:06 greebo Changeset attached => DarkRadiant master 245bd1bd
13.12.2020 05:14 greebo Changeset attached => DarkRadiant master a95bd7a4
13.12.2020 05:14 greebo Changeset attached => DarkRadiant master 4de94e43
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 889c079f
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 973a0ad4
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master acf01aaf
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 1207500c
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 25843943
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 0f9b1cc3
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 91aaf3b6
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 3f3f6af4
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 68e07fd1
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 947b0976
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 020113d3
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 6465e126
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master 7204659f
13.12.2020 06:04 greebo Changeset attached => DarkRadiant master e27e13cd
13.12.2020 17:59 greebo Changeset attached => DarkRadiant master fa02e0a7
13.12.2020 17:59 greebo Changeset attached => DarkRadiant master c35e419d
13.12.2020 17:59 greebo Changeset attached => DarkRadiant master 602c2789