Changesets: DarkRadiant

undosystem c813c212

27.10.2021 18:20

greebo


Details Diff
0005408: Extend the IUndoSystem::Tracker interface to include the operation name Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - test/UndoRedo.cpp Diff File

undosystem f18aa2d3

27.10.2021 17:45

greebo


Details Diff
0005408: Messages have a time to live before they disappear Affected Issues
0005408
mod - radiant/ui/statusbar/CommandStatus.cpp Diff File
mod - radiant/ui/statusbar/CommandStatus.h Diff File
mod - radiant/ui/statusbar/StatusBarManager.cpp Diff File

undosystem 22631517

27.10.2021 17:35

greebo


Details Diff
0005408: Set up infrastructure to show the last named map operation in the status bar Affected Issues
0005408
mod - include/imessagebus.h Diff File
mod - include/iundo.h Diff File
mod - include/ui/istatusbarmanager.h Diff File
add - libs/messages/MapOperationMessage.h Diff File
mod - radiant/CMakeLists.txt Diff File
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/UserInterfaceModule.h Diff File
add - radiant/ui/statusbar/CommandStatus.cpp Diff File
add - radiant/ui/statusbar/CommandStatus.h Diff File
mod - radiant/ui/statusbar/StatusBarManager.cpp Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

master 2f972227

26.10.2021 19:14

Matthew Mott


Details Diff
Add test for rotated projected light

This only tests a simple rotation using the "rotation" key, not moving the
light_target position directly (which is known to be buggy).
mod - test/Renderer.cpp Diff File

undosystem c4f7a6f0

26.10.2021 10:21

greebo


Details Diff
0005408: Simplify the code in TraversableNodeSet a bit, there's a C++ standard equivalent which can be used to insert the different nodes into a target container. Affected Issues
0005408
mod - libs/scene/TraversableNodeSet.cpp Diff File

undosystem cbfae9f6

26.10.2021 10:05

greebo


Details Diff
0005408: Replace the second occurrence of GlobalUndoSystem() event subscriptions in the entity KeyValue class. Affected Issues
0005408
mod - libs/ObservedUndoable.h Diff File
mod - radiantcore/entity/KeyValue.cpp Diff File
mod - radiantcore/entity/KeyValue.h Diff File
mod - radiantcore/entity/SpawnArgs.cpp Diff File

undosystem 7c99e2cd

26.10.2021 09:40

greebo


Details Diff
0005408: IUndoables are notified about a restore operation being finished (without having to subscribe). This replaces the code in TraversableNodeSet subscribing to the GlobalUndoSystem instance to perform the node insertions after undo/redo. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/scene/TraversableNodeSet.cpp Diff File
mod - libs/scene/TraversableNodeSet.h Diff File
mod - radiantcore/undo/Operation.h Diff File

undosystem f881e461

26.10.2021 06:17

greebo


Details Diff
0005408: Some refactoring Affected Issues
0005408
mod - radiantcore/undo/Operation.h Diff File
mod - radiantcore/undo/Stack.h Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - test/UndoRedo.cpp Diff File

undosystem 98704ce0

26.10.2021 05:03

greebo


Details Diff
0005408: IUndoStateSaver doesn't need the IUndoable reference as argument, it can be associated at construction time. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/ObservedUndoable.h Diff File
mod - libs/scene/SelectableNode.cpp Diff File
mod - libs/scene/TraversableNodeSet.cpp Diff File
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/model/StaticModel.cpp Diff File
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File

undosystem 918a1ce2

26.10.2021 04:13

greebo


Details Diff
0005408: Refactoring Affected Issues
0005408
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - radiantcore/undo/UndoSystem.h Diff File

undosystem bb0e005a

26.10.2021 04:00

greebo


Details Diff
0005408: Remove unused method Affected Issues
0005408
mod - include/iundo.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - radiantcore/undo/UndoSystem.h Diff File

undosystem 62f57ba5

26.10.2021 03:51

greebo


Details Diff
0005408: Use the passed IMapRootNode to acquire the UndoSystem the nodes are connecting to Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/ObservedUndoable.h Diff File
mod - libs/scene/Node.cpp Diff File
mod - libs/scene/Node.h Diff File
mod - libs/scene/SelectableNode.cpp Diff File
mod - libs/scene/SelectableNode.h Diff File
mod - libs/scene/TraversableNodeSet.cpp Diff File
mod - libs/scene/TraversableNodeSet.h Diff File
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/KeyValue.cpp Diff File
mod - radiantcore/entity/KeyValue.h Diff File
mod - radiantcore/entity/ModelKey.cpp Diff File
mod - radiantcore/entity/ModelKey.h Diff File
mod - radiantcore/entity/SpawnArgs.cpp Diff File
mod - radiantcore/entity/SpawnArgs.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/map/RootNode.cpp Diff File
mod - radiantcore/map/RootNode.h Diff File
mod - radiantcore/model/StaticModel.cpp Diff File
mod - radiantcore/model/StaticModel.h Diff File
mod - radiantcore/model/StaticModelNode.cpp Diff File
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/PatchNode.cpp Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File

undosystem 1381730c

25.10.2021 19:31

greebo


Details Diff
0005408: No IMapFileChangeTracker reference is needed anymore when acquiring an undo state saver. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/ObservedUndoable.h Diff File
mod - libs/scene/BasicRootNode.h Diff File
mod - libs/scene/Node.cpp Diff File
mod - libs/scene/Node.h Diff File
mod - libs/scene/SelectableNode.cpp Diff File
mod - libs/scene/SelectableNode.h Diff File
mod - libs/scene/TraversableNodeSet.cpp Diff File
mod - libs/scene/TraversableNodeSet.h Diff File
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/KeyValue.cpp Diff File
mod - radiantcore/entity/KeyValue.h Diff File
mod - radiantcore/entity/ModelKey.cpp Diff File
mod - radiantcore/entity/ModelKey.h Diff File
mod - radiantcore/entity/SpawnArgs.cpp Diff File
mod - radiantcore/entity/SpawnArgs.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/map/RootNode.cpp Diff File
mod - radiantcore/model/StaticModel.cpp Diff File
mod - radiantcore/model/StaticModel.h Diff File
mod - radiantcore/model/StaticModelNode.cpp Diff File
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/PatchNode.cpp Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - radiantcore/undo/UndoSystem.h Diff File

undosystem 9a3824fc

25.10.2021 18:44

greebo


Details Diff
0005408: Rename interface header file to imapfilechangetracker.h Affected Issues
0005408
mod - include/imap.h Diff File
mod - include/precompiled_interfaces.h Diff File

undosystem d228c9c0

25.10.2021 18:44

greebo


Details Diff
0005408: Rename interface header file to imapfilechangetracker.h Affected Issues
0005408
mod - include/imap.h Diff File
mod - include/precompiled_interfaces.h Diff File
mod - libs/ObservedUndoable.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - libs/scene/BasicRootNode.h Diff File
mod - libs/scene/TraversableNodeSet.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/entity/ModelKey.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/MapResource.cpp Diff File
mod - radiantcore/map/autosaver/AutoSaver.cpp Diff File
mod - radiantcore/map/autosaver/AutoSaver.h Diff File
mod - radiantcore/model/StaticModel.h Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - tools/msvc/include.vcxproj Diff File
mod - tools/msvc/include.vcxproj.filters Diff File

undosystem 86112a39

25.10.2021 18:41

greebo


Details Diff
0005408: Change IMapFileChangeTracker interface to use more descriptive names, add documentation. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - include/mapfile.h Diff File

undosystem 0e6762ba

25.10.2021 18:18

greebo


Details Diff
0005408: The MapResource class no longer calls the internal GlobalMap() singleton to notify about status changes - it could be any map root node firing the change signal, not just the one loaded as primary map. The MapResource now offers a "modified status changed" signal which is subscribed by the main Map class owning it. As another refactoring step, the UndoFileChangeTracker is no longer using a single callback functor, since this can easily overridden if two MapResources are sharing the same root node (which is a valid use case during renaming). Affected Issues
0005408
mod - include/imapresource.h Diff File
mod - include/mapfile.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File
mod - radiantcore/map/MapResource.cpp Diff File
mod - radiantcore/map/MapResource.h Diff File
mod - test/UndoRedo.cpp Diff File

undosystem dc44cc06

25.10.2021 16:47

greebo


Details Diff
0005408: Remove the old pointer-to-member-based state machine in UndoFileChangeTracker. Remove the corresponding methods and the calls to it from UndoSystem. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - include/mapfile.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - radiantcore/undo/StackFiller.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - radiantcore/undo/UndoSystem.h Diff File

undosystem 2144bcbc

25.10.2021 16:21

greebo


Details Diff
0005408: Fix change tracker registration/deregistration leak when handling root nodes in the MapResource class. Affected Issues
0005408
mod - radiantcore/map/MapResource.cpp Diff File
mod - radiantcore/map/MapResource.h Diff File

undosystem b5439e45

25.10.2021 15:38

greebo


Details Diff
0005408: Change UndoSystem::Tracker interface which is implemented by the IMapFileChangeTracker. The MapResource is now monitoring the tracked change count and maintains the map modified state accordingly. Affected Issues
0005408
mod - include/iundo.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - radiantcore/map/MapResource.cpp Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File

undosystem a53ba84f

24.10.2021 16:05

greebo


Details Diff
0005408: After some restructuring and a few paper cuts, the UndoSystem is now a child of the IMapRootNode implementations.
The GlobalUndoSystem() accessor now refers to the GlobalMapModule()'s undo system, the undo system module has been transformed into the GlobalUndoSystemFactory.
I'm not entirely happy with the way the Map module is subscribing to each map resource's undo system on map change, since the root node of a MapResource is not always available.
Affected Issues
0005408
mod - include/imap.h Diff File
mod - include/iundo.h Diff File
mod - libs/scene/BasicRootNode.h Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/brush/BrushModule.cpp Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File
mod - radiantcore/map/RootNode.cpp Diff File
mod - radiantcore/map/RootNode.h Diff File
mod - radiantcore/undo/UndoSystem.cpp Diff File
mod - radiantcore/undo/UndoSystem.h Diff File
add - radiantcore/undo/UndoSystemFactory.cpp Diff File
mod - test/UndoRedo.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

undosystem 3c688847

24.10.2021 07:13

greebo


Details Diff
0005408: Migrate UI classes to subscribe to the IMap postUndo/postRedo signals instead of the GlobalUndoSystem() Affected Issues
0005408
mod - plugins/dm.editing/AIEditingPanel.cpp Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.cpp Diff File
mod - radiant/ui/merge/MergeControlDialog.cpp Diff File
mod - radiant/ui/patch/PatchInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiantcore/selection/shaderclipboard/ShaderClipboard.cpp Diff File

undosystem 1154843d

24.10.2021 07:04

greebo


Details Diff
0005408: Prepare to move the postUndo/postRedo signals to the IMap interface. Subscribers should keep getting notified after changing maps, so it's better if they subscribe to IMap instead of the GlobalUndoSystem. Add corresponding unit tests. Affected Issues
0005408
mod - include/imap.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File
mod - test/UndoRedo.cpp Diff File

undosystem 4f676735

24.10.2021 05:35

greebo


Details Diff
0005408: Set up a test featuring two unrelated scene graphs. The test fails since the main scene undo command affects the second scene. Affected Issues
0005408
mod - test/UndoRedo.cpp Diff File

undosystem 0a891f9d

24.10.2021 05:14

greebo


Details Diff
0005408: Test the map file change tracker which should be tagging the map as modified or unmodified depending on the position in the undo history. Affected Issues
0005408
mod - test/UndoRedo.cpp Diff File
 First  Prev  1 2 3 ... 30 ... 60 ... 87 88 89 90 91 92 93 ... 120 ... 150 ... 180 ... 210 ... 240 ... 261 262 263  Next  Last