View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005603 | DarkRadiant | GUI | public | 04.05.2021 20:05 | 02.04.2022 05:55 |
Reporter | orbweaver | Assigned To | orbweaver | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.12.0 | ||||
Target Version | 2.13.0 | Fixed in Version | 2.13.0 | ||
Summary | 0005603: Ability to choose from several different pointfiles | ||||
Description | The latest TDM code is capable of writing out .lin files for purposes other than detecting map leaks, such as identifying broken visportals. Currently these .lin files have to be manually renamed so that DarkRadiant will load them with the File->Pointfile menu command. Instead, we should detect all available .lin files associated with the current map, and show a list of them in a dialog if there is more than one to choose. If there is only one file, it should be loaded without further interaction as per the current behaviour. | ||||
Tags | No tags attached. | ||||
DarkRadiant: master ece03600 06.05.2021 19:36 Details Diff |
Initial PointTrace class with test Add a PointTrace class which can parse pointfile data from a std::istream and construct a vector of point positions. This class is unit tested but not yet used by the existing PointFile code. |
Affected Issues 0005603 |
|
add - libs/scene/PointTrace.h | Diff File | ||
mod - test/CMakeLists.txt | Diff File | ||
add - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master 9f575515 06.05.2021 19:52 Details Diff |
Test constructing PointTrace with empty data |
Affected Issues 0005603 |
|
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master bf131e1e 11.05.2021 19:38 Details Diff |
Initial IMap::forEachPointfile() method to enumerate pointfiles New method with a unit test which is currently trivial because the method does not yet do anything. |
Affected Issues 0005603 |
|
mod - include/imap.h | Diff File | ||
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - radiantcore/map/Map.h | Diff File | ||
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master 6c3af511 11.05.2021 19:42 Details Diff |
Add two test .lin files for the altar.map example Test now fails because there should be two pointfiles enumerated with forEachPointfile(). |
Affected Issues 0005603 |
|
mod - test/PointTrace.cpp | Diff File | ||
add - test/resources/tdm/maps/altar.lin | Diff File | ||
add - test/resources/tdm/maps/altar_portalL_544_64_112.lin | Diff File | ||
DarkRadiant: master 41764665 12.05.2021 19:20 Details Diff |
PointTraceTest now uses the RadiantTest fixture |
Affected Issues 0005603 |
|
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master 9fc9017c 12.05.2021 20:22 Details Diff |
Functional implementation of forEachPointfile() Method uses fs::directory_iterator to enumerate files in the directory containing the map file, and looks for any file with a .lin extension and a stem which corresponds to the map name (with a possible underscore suffix). Unit test now passes as a result. |
Affected Issues 0005603 |
|
mod - radiantcore/map/Map.cpp | Diff File | ||
DarkRadiant: master e1072c83 18.05.2021 19:33 Details Diff |
Test that pointfiles are not returned for an unrelated map This test actually provoked a bug in the forEachPointfile() method, which was not checking if the map directory actually existed before constructing a directory_iterator, possibly resulting in an exception. |
Affected Issues 0005603 |
|
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master dc165ce7 18.05.2021 19:46 Details Diff |
Test enumerated pointfiles have correct names PointfileFunctor now accepts fs::path references rather than bare std::strings, and this information is now recorded and examined in the unit test to ensure the returned pointfiles have the correct filenames (ignoring parent paths). |
Affected Issues 0005603 |
|
mod - include/imap.h | Diff File | ||
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master 2690984f 18.05.2021 20:05 Details Diff |
PointFile::parse() makes use of forEachPointfile() Since there is not yet any selection GUI, the first pointfile found is used. Currently the pointfile order is undefined if there is more than one present. |
Affected Issues 0005603 |
|
mod - radiantcore/map/PointFile.cpp | Diff File | ||
DarkRadiant: master 884043d3 18.05.2021 20:13 Details Diff |
forEachPointfile() sorts pointfile names Sorting the names lexicographically should ensure that <mapname>.lin is always first in the list, so the actual leak pointfile will take precedence over any visportal pointfiles. |
Affected Issues 0005603 |
|
mod - radiantcore/map/Map.cpp | Diff File | ||
DarkRadiant: master dfc0ae4f 19.05.2021 20:09 Details Diff |
Confirm PointTrace can return correct point positions PointTrace has a new method points() which returns the point vector, which is now examined in the unit test. |
Affected Issues 0005603 |
|
mod - libs/scene/PointTrace.h | Diff File | ||
mod - test/PointTrace.cpp | Diff File | ||
DarkRadiant: master 01cd7350 25.05.2021 19:06 Details Diff |
Initial dialog for choosing pointfiles Dialog is shown by File->Pointfile if (and only if) there is more than one pointfile available. The dialog shows the correct list of files but is rather useless at the moment since the selection does not have any influence over the pointfile which is actually loaded. |
Affected Issues 0005603 |
|
mod - install/menu.xml | Diff File | ||
mod - radiant/CMakeLists.txt | Diff File | ||
add - radiant/ui/PointFileChooser.cpp | Diff File | ||
add - radiant/ui/PointFileChooser.h | Diff File | ||
mod - radiant/ui/UserInterfaceModule.cpp | Diff File | ||
DarkRadiant: master 5fbe4eec 25.05.2021 20:12 Details Diff |
PointFileChooser layout and behaviour tweaks Fit() the dialog to avoid wasted space. Return without showing the point trace if the Cancel button is clicked. |
Affected Issues 0005603 |
|
mod - radiant/ui/PointFileChooser.cpp | Diff File | ||
DarkRadiant: master 771a105c 26.05.2021 19:21 Details Diff |
Move PointFile into the Map module The point file is closely associated with the current map, and does not really benefit from being a module in its own right. Making it a member variable of the Map module opens the door to exposing current pointfile state through the IMap public interface. |
Affected Issues 0005603 |
|
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - radiantcore/map/Map.h | Diff File | ||
mod - radiantcore/map/PointFile.cpp | Diff File | ||
mod - radiantcore/map/PointFile.h | Diff File | ||
DarkRadiant: master bd647ef4 26.05.2021 19:30 Details Diff |
Only show PointFileChooser when making trace visible Visibility of current trace is exposed through a new method isPointTraceVisible() on the IMap interface. This method is now used by PointFileChooser to avoid showing the dialog when hiding the point trace. |
Affected Issues 0005603 |
|
mod - include/imap.h | Diff File | ||
mod - radiant/ui/PointFileChooser.cpp | Diff File | ||
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - radiantcore/map/Map.h | Diff File | ||
DarkRadiant: master eba4a9ef 01.06.2021 19:03 Details Diff |
Show pointfile selected in PointFileChooser Add a new method to the IMap interface to show a pointfile specified with an fs::path. This method is now called by the PointFileChooser to show the pointfile selected in the wxChoice dropdown. |
Affected Issues 0005603 |
|
mod - include/imap.h | Diff File | ||
mod - radiant/ui/PointFileChooser.cpp | Diff File | ||
mod - radiant/ui/PointFileChooser.h | Diff File | ||
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - radiantcore/map/Map.h | Diff File | ||
mod - radiantcore/map/PointFile.cpp | Diff File | ||
mod - radiantcore/map/PointFile.h | Diff File | ||
DarkRadiant: master 7913c055 01.06.2021 19:32 Details Diff |
Use PointTrace to parse point data The parsing code currently covered by unit tests is now used in the main application. |
Affected Issues 0005603 |
|
mod - radiantcore/map/PointFile.cpp | Diff File | ||
DarkRadiant: master e3238aca 01.06.2021 19:38 Details Diff |
Clean up some unneeded methods on PointFile |
Affected Issues 0005603 |
|
mod - radiantcore/map/PointFile.cpp | Diff File | ||
mod - radiantcore/map/PointFile.h | Diff File | ||
DarkRadiant: master c0e4b437 02.06.2021 18:26 Details Diff |
Merge remote-tracking branch 'remotes/origin/merge_visualisation' |
Affected Issues 0005603 |
|
mod - LICENSE | Diff File | ||
add - include/icomparablenode.h | Diff File | ||
mod - include/iglrender.h | Diff File | ||
mod - include/imap.h | Diff File | ||
add - include/imapmerge.h | Diff File | ||
mod - include/inode.h | Diff File | ||
mod - include/irenderable.h | Diff File | ||
mod - include/iselection.h | Diff File | ||
add - install/bitmaps/merge_arrow.png | Diff File | ||
add - install/bitmaps/merge_fork.png | Diff File | ||
add - install/bitmaps/merge_selection_mode.png | Diff File | ||
mod - install/menu.xml | Diff File | ||
add - install/ui/mergecontroldialog.fbp | Diff File | ||
add - install/ui/mergecontroldialog.xrc | Diff File | ||
mod - install/user.xml | Diff File | ||
mod - libs/UndoFileChangeTracker.h | Diff File | ||
mod - libs/math/CMakeLists.txt | Diff File | ||
add - libs/math/Hash.h | Diff File | ||
add - libs/math/SHA256.cpp | Diff File | ||
add - libs/math/SHA256.h | Diff File | ||
mod - libs/render/CamRenderer.h | Diff File | ||
mod - libs/render/RenderableCollectionWalker.h | Diff File | ||
mod - libs/render/VertexHashing.h | Diff File | ||
mod - libs/scene/CMakeLists.txt | Diff File | ||
mod - libs/scene/Node.cpp | Diff File | ||
mod - libs/scene/Node.h | Diff File | ||
add - libs/scene/merge/ComparisonResult.h | Diff File | ||
add - libs/scene/merge/GraphComparer.cpp | Diff File | ||
add - libs/scene/merge/GraphComparer.h | Diff File | ||
add - libs/scene/merge/MergeAction.h | Diff File | ||
add - libs/scene/merge/MergeOperation.cpp | Diff File | ||
add - libs/scene/merge/MergeOperation.h | Diff File | ||
mod - libs/scenelib.h | Diff File | ||
mod - libs/wxutil/dataview/TreeViewItemStyle.h | Diff File | ||
mod - libs/wxutil/preview/RenderPreview.cpp | Diff File | ||
mod - libs/wxutil/preview/RenderPreview.h | Diff File | ||
mod - radiant/CMakeLists.txt | Diff File | ||
mod - radiant/camera/CamWnd.cpp | Diff File | ||
mod - radiant/camera/CamWnd.h | Diff File | ||
mod - radiant/ui/SelectionModeToggle.h | Diff File | ||
mod - radiant/ui/UserInterfaceModule.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
add - radiant/ui/merge/MergeControlDialog.cpp | Diff File | ||
add - radiant/ui/merge/MergeControlDialog.h | Diff File | ||
mod - radiant/xyview/XYRenderer.h | Diff File | ||
mod - radiant/xyview/XYWnd.cpp | Diff File | ||
mod - radiant/xyview/XYWnd.h | Diff File | ||
mod - radiantcore/CMakeLists.txt | Diff File | ||
mod - radiantcore/brush/BrushNode.cpp | Diff File | ||
mod - radiantcore/brush/BrushNode.h | Diff File | ||
mod - radiantcore/entity/EntityNode.cpp | Diff File | ||
mod - radiantcore/entity/EntityNode.h | Diff File | ||
mod - radiantcore/layers/LayerManager.cpp | Diff File | ||
mod - radiantcore/map/Map.cpp | Diff File | ||
mod - radiantcore/map/Map.h | Diff File | ||
mod - radiantcore/map/MapResource.cpp | Diff File | ||
add - radiantcore/map/MergeActionNode.cpp | Diff File | ||
add - radiantcore/map/MergeActionNode.h | Diff File | ||
mod - radiantcore/map/RegionWalkers.h | Diff File | ||
mod - radiantcore/map/algorithm/Import.cpp | Diff File | ||
mod - radiantcore/map/algorithm/Import.h | Diff File | ||
mod - radiantcore/patch/PatchNode.cpp | Diff File | ||
mod - radiantcore/patch/PatchNode.h | Diff File | ||
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp | Diff File | ||
mod - radiantcore/selection/RadiantSelectionSystem.cpp | Diff File | ||
mod - radiantcore/selection/RadiantSelectionSystem.h | Diff File | ||
mod - radiantcore/selection/SelectionTestWalkers.cpp | Diff File | ||
mod - radiantcore/selection/SelectionTestWalkers.h | Diff File | ||
mod - radiantcore/selection/algorithm/General.cpp | Diff File | ||
mod - test/CMakeLists.txt | Diff File | ||
add - test/MapMerging.cpp | Diff File | ||
add - test/resources/tdm/maps/fingerprinting.mapx | Diff File | ||
add - test/resources/tdm/maps/fingerprinting_2.mapx | Diff File | ||
mod - tools/msvc/DarkRadiant.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiant.vcxproj.filters | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj.filters | Diff File | ||
mod - tools/msvc/include.vcxproj | Diff File | ||
mod - tools/msvc/mathlib.vcxproj | Diff File | ||
mod - tools/msvc/scenelib.vcxproj | Diff File | ||
mod - tools/msvc/scenelib.vcxproj.filters | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
04.05.2021 20:05 | orbweaver | New Issue | |
04.05.2021 20:05 | orbweaver | Status | new => assigned |
04.05.2021 20:05 | orbweaver | Assigned To | => orbweaver |
18.05.2021 16:35 | Dragofer | Relationship added | related to 0005492 |
02.06.2021 19:12 | orbweaver | Status | assigned => resolved |
02.06.2021 19:12 | orbweaver | Resolution | open => fixed |
02.06.2021 19:12 | orbweaver | Fixed in Version | => 2.13.0 |
02.06.2021 19:12 | orbweaver | Note Added: 0014061 | |
02.06.2021 19:56 | greebo | Changeset attached | => DarkRadiant master c0e4b437 |
02.06.2021 19:56 | greebo | Changeset attached | => DarkRadiant master 7913c055 |
02.06.2021 19:57 | greebo | Changeset attached | => DarkRadiant master eba4a9ef |
02.06.2021 19:57 | greebo | Changeset attached | => DarkRadiant master e3238aca |
02.06.2021 19:58 | greebo | Changeset attached | => DarkRadiant master bd647ef4 |
02.06.2021 19:59 | greebo | Changeset attached | => DarkRadiant master 771a105c |
02.06.2021 20:00 | greebo | Changeset attached | => DarkRadiant master 5fbe4eec |
02.06.2021 20:00 | greebo | Changeset attached | => DarkRadiant master 01cd7350 |
02.06.2021 20:01 | greebo | Changeset attached | => DarkRadiant master dfc0ae4f |
02.06.2021 20:01 | greebo | Changeset attached | => DarkRadiant master 9fc9017c |
02.06.2021 20:01 | greebo | Changeset attached | => DarkRadiant master 884043d3 |
02.06.2021 20:01 | greebo | Changeset attached | => DarkRadiant master 2690984f |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master dc165ce7 |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master e1072c83 |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master 41764665 |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master 6c3af511 |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master bf131e1e |
02.06.2021 20:02 | greebo | Changeset attached | => DarkRadiant master 9f575515 |
02.06.2021 20:03 | greebo | Changeset attached | => DarkRadiant master ece03600 |
02.04.2022 05:55 | greebo | Status | resolved => closed |