Changesets: DarkRadiant

master 3e1877aa

21.12.2023 14:25

orbweaver


Details Diff
Fix compilation errors due to IUserControlCreator rename

IUserControl was renamed to IUserControlCreator in 33fb427cca877278181
but some references in the Dark Mod plugins had not been updated because
I wasn't building them locally.
mod - include/ui/iusercontrol.h Diff File
mod - plugins/dm.editing/AIEditingControl.h Diff File
mod - plugins/dm.gameconnection/GameConnectionControl.h Diff File

master 254d9c10

21.12.2023 13:41

orbweaver


Details Diff
0006332: file picker constructed in code Affected Issues
0006332
mod - install/ui/overlaydialog.fbp Diff File
mod - install/ui/overlaydialog.xrc Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.h Diff File

master f2495c1e

21.12.2023 13:22

orbweaver


Details Diff
0006332: OrthoBackgroundPanel sliders and spinners now added in code

Instead of the previous confusing hybrid of XML-based layout and
additional widgets inserted via code, all the slider and spinner
construction is now done in code. Common code is now refactored into a
helper function, and the widget hierarchy is simpler since there is no
need for placeholder panels within the XML form to hold the
code-constructed spinners.
Affected Issues
0006332
mod - install/ui/overlaydialog.fbp Diff File
mod - install/ui/overlaydialog.xrc Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File

master 9c5e880e

08.12.2023 14:18

orbweaver


Details Diff
0006351: fix crash on activating lighting mode in Model Selector

The issue was almost certainly introduced in a99bd537c293fc6eba6, when
(in order to solve an issue with wxWidgets parenting) intialisation of
the ModelSelector was connected to the MainFrameConstructed signal.

This resulted in the ModelSelector and its component preview widget
being constructed before the shared OpenGL context, which in turn meant
that the preview widget's contained OpenGLRenderSystem did not properly
realise the GLPrograms, resulting in the crash when lighting mode was
activated and the non-existent interaction shader was requested.

Rather than make further changes to ModelSelector initialisation timing,
which would be a fragile solution that could easily allow the issue to
recur in future, the OpenGLRenderSystem initialisation has been made
more robust. If there is no shared context at the time of construction,
we now connect to the appropriate signal to ensure construction happens
when the shared context is created, rather than leaving the render
system without any shaders available.
Affected Issues
0006351
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File

master 715b6180

08.12.2023 13:26

orbweaver


Details Diff
0006351: use abort() for unexpected exception on Linux

For a reason which is unclear but probably has something to do with
wxWidgets event handling, the popup-based OnExceptionInMainLoop() is
entering an infinite loop of error popups which cannot be interacted
with or dismissed, which makes debugging impossible on Linux.

Instead we just dump the error message to std::cerr and then abort(),
which creates a console message and then terminates the program. This
code is protected by an __linux__ #ifdef to avoid changing the behaviour
on Windows.
Affected Issues
0006351
mod - radiant/RadiantApp.cpp Diff File
mod - radiant/RadiantApp.h Diff File

master c1534a5f

08.12.2023 13:10

orbweaver


Details Diff
0006351: remove two-stage initialisation of GLProgram

Although this is not the cause of 0006351, two-stage initialisation is
inherently error-prone, and entirely unnecessary in this case since only
the GLProgramFactory is responsible for constructing and destructing
shaders and can simply ensure that it happens at the appropriate time
(during realise/unrealise, rather than construction/destruction).
Affected Issues
0006351
mod - include/iglprogram.h Diff File
mod - libs/command/ExecutionNotPossible.h Diff File
mod - radiantcore/rendersystem/backend/GLProgramFactory.cpp Diff File
mod - radiantcore/rendersystem/backend/GLProgramFactory.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/BlendLightProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/BlendLightProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/CubeMapProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/CubeMapProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/DepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/DepthFillAlphaProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GenericVFPProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GenericVFPProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/InteractionProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/InteractionProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/RegularStageProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/RegularStageProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/ShadowMapProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/ShadowMapProgram.h Diff File

master 36a99d21

07.12.2023 14:51

orbweaver


Details Diff
0006351: reduce console message spam

Remove "Auto-saving registry to user settings path" which happens every
few seconds, and reduce GLSL program construction messages to a single
line unless there are any validation warnings to report.
Affected Issues
0006351
mod - radiantcore/rendersystem/backend/GLProgramFactory.cpp Diff File
mod - radiantcore/xmlregistry/XMLRegistry.cpp Diff File

master 98b70589

07.12.2023 14:39

orbweaver


Details Diff
0006351: remove RenderSystem::setShaderProgramsAvailable()

The availability of shader programs is determined internally by
OpenGLRenderSystem based on GL version/extensions; this method is never
called virtually from other modules.
Affected Issues
0006351
mod - include/irender.h Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.h Diff File

master 70c73d85

29.11.2023 20:33

orbweaver


Details Diff
0006332: OrthoBackgroundPanel stores slider pointers as members

As with the checkbox pointers, use a nested member struct to store the
slider pointers instead of retrieving them from the XML form each time
they are used. Also move common spinner construction code into a
separate local function, and create the option checkboxes in code.
Affected Issues
0006332
mod - install/ui/overlaydialog.fbp Diff File
mod - install/ui/overlaydialog.xrc Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.h Diff File

master a0fb69f3

28.11.2023 20:28

orbweaver


Details Diff
0006332: remove unused argument from OrthoBackgroundPanel::onOptionToggled() Affected Issues
0006332
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.h Diff File

master d98ba072

15.11.2023 20:30

orbweaver


Details Diff
0006332: OrthoBackgroundPanel stores checkbox pointers as members

Store the checkbox pointers as members of a nested struct rather than
looking them up from the XML form each time. Also switch to the modern
Bind() API for connecting checkbox signals.
Affected Issues
0006332
mod - libs/util/ScopedBoolLock.h Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.h Diff File

master d54ed353

08.11.2023 19:35

orbweaver


Details Diff
Use modern event binding API for OrthoBackgroundPanel spinboxes
mod - radiant/ui/overlay/OrthoBackgroundPanel.cpp Diff File
mod - radiant/ui/overlay/OrthoBackgroundPanel.h Diff File

master 4a0a33d9

01.11.2023 19:58

orbweaver


Details Diff
Add a registry::connect convenience function
mod - libs/registry/registry.h Diff File
mod - radiant/camera/CamWnd.cpp Diff File
mod - radiant/camera/CamWnd.h Diff File

master 48ec32e0

28.10.2023 03:58

codereader


Details Diff
Compilation fixes
mod - plugins/dm.editing/AIEditingControl.h Diff File
mod - plugins/dm.gameconnection/GameConnectionControl.h Diff File

master 3a3f5bad

28.10.2023 03:52

codereader


Details Diff
Update VC++ solution
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File
mod - tools/msvc/mathlib.vcxproj Diff File
mod - tools/msvc/mathlib.vcxproj.filters Diff File

master 9142c3f2

28.10.2023 03:45

codereader


Details Diff
Merge remote-tracking branch 'remotes/orbweaver/master'
add - doc/img/lightingModeWithShadows.png Diff File
mod - doc/manual.adoc Diff File
mod - include/iclipper.h Diff File
mod - include/iorthoview.h Diff File
mod - include/iregistry.h Diff File
mod - include/irender.h Diff File
mod - include/ui/iusercontrol.h Diff File
mod - include/ui/iuserinterface.h Diff File
add - libs/math/XYZ.h Diff File
mod - libs/scene/SelectionIndex.cpp Diff File
mod - libs/string/convert.h Diff File
mod - libs/wxutil/DockablePanel.h Diff File
mod - libs/wxutil/FreezePointer.cpp Diff File
mod - libs/wxutil/FreezePointer.h Diff File
mod - libs/xmlutil/Node.cpp Diff File
mod - libs/xmlutil/Node.h Diff File
mod - radiant/CMakeLists.txt Diff File
mod - radiant/RadiantApp.cpp Diff File
mod - radiant/camera/CameraWndManager.cpp Diff File
mod - radiant/camera/tools/JumpToObjectTool.h Diff File
mod - radiant/textool/TextureToolControl.h Diff File
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/UserInterfaceModule.h Diff File
mod - radiant/ui/aas/AasVisualisationControl.h Diff File
mod - radiant/ui/console/ConsoleControl.h Diff File
mod - radiant/ui/einspector/EntityInspectorModule.cpp Diff File
mod - radiant/ui/entitylist/EntityListControl.h Diff File
mod - radiant/ui/favourites/FavouritesBrowser.cpp Diff File
mod - radiant/ui/favourites/FavouritesBrowserControl.h Diff File
mod - radiant/ui/findshader/FindShaderControl.h Diff File
mod - radiant/ui/layers/LayerControl.h Diff File
mod - radiant/ui/lightinspector/LightInspectorControl.h Diff File
mod - radiant/ui/mainframe/MainFrame.cpp Diff File
mod - radiant/ui/mainframe/PropertyNotebook.cpp Diff File
mod - radiant/ui/mediabrowser/MediaBrowserModule.cpp Diff File
mod - radiant/ui/merge/MapMergeControl.h Diff File
mod - radiant/ui/overlay/OrthoBackgroundControl.h Diff File
mod - radiant/ui/patch/PatchInspectorControl.h Diff File
mod - radiant/ui/script/ScriptPanel.h Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspectorControl.h Diff File
mod - radiant/ui/texturebrowser/TextureBrowserManager.cpp Diff File
mod - radiant/ui/transform/TransformPanelControl.h Diff File
mod - radiant/xyview/GlobalXYWnd.cpp Diff File
mod - radiant/xyview/GlobalXYWnd.h Diff File
mv - radiant/xyview/XYWnd.cpp → radiant/xyview/OrthoView.cpp Diff File
mv - radiant/xyview/XYWnd.h → radiant/xyview/OrthoView.h Diff File
mod - radiant/xyview/tools/BrushCreatorTool.cpp Diff File
mod - radiant/xyview/tools/CameraAngleTool.h Diff File
mod - radiant/xyview/tools/CameraMoveTool.h Diff File
mod - radiant/xyview/tools/ClipperTool.cpp Diff File
mod - radiant/xyview/tools/XYMouseToolEvent.h Diff File
mod - radiantcore/clipper/ClipPoint.cpp Diff File
mod - radiantcore/clipper/ClipPoint.h Diff File
mod - radiantcore/clipper/Clipper.cpp Diff File
mod - radiantcore/clipper/Clipper.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/PointFile.cpp Diff File
mod - radiantcore/map/RegionManager.cpp Diff File
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/rendersystem/backend/BuiltInShader.cpp Diff File
mod - radiantcore/rendersystem/backend/ColourShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLState.h Diff File
mod - radiantcore/selection/BasicSelectable.h Diff File
mod - radiantcore/selection/algorithm/Primitives.cpp Diff File
mod - radiantcore/selection/algorithm/SelectionPolicies.h Diff File
mod - radiantcore/selection/algorithm/Transformation.cpp Diff File
mod - radiantcore/selection/algorithm/Transformation.h Diff File
mod - radiantcore/selection/manipulators/ModelScaleManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/Renderables.h Diff File
mod - radiantcore/selection/manipulators/RotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/RotateManipulator.h Diff File
mod - radiantcore/selection/manipulators/TranslateManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/xmlregistry/RegistryTree.cpp Diff File
mod - radiantcore/xmlregistry/RegistryTree.h Diff File
mod - radiantcore/xmlregistry/XMLRegistry.cpp Diff File
rm - snap/snapcraft.yaml Diff
mod - test/Basic.cpp Diff File
mod - test/CMakeLists.txt Diff File
add - test/Registry.cpp Diff File

master 28bc0b38

26.10.2023 11:01

Matthew Mott


Details Diff
Remove Snap configuration file

The Snap build of DarkRadiant never worked correctly, and Snap itself is
a widely-disliked Ubuntu-specific software installation mechanism which
is very unlikely to be used in future now that we have a functioning
FlatPak.
rm - snap/snapcraft.yaml Diff

master 0f5e8e21

25.10.2023 19:24

Matthew Mott


Details Diff
Document the shadow toggle button in the camera view
add - doc/img/lightingModeWithShadows.png Diff File
mod - doc/manual.adoc Diff File

master da321126

18.10.2023 18:33

Matthew Mott


Details Diff
0006327: fix assertion on docking additional views on Properties panel

It seems that the GTK implementation of wxWidgets does not like -1 as an
image index in wxAuiNotebook::AddPage(), so intead we call the overload
which takes an explicit wxBitmap object with wxNullBitmap as the value.
mod - radiant/ui/mainframe/PropertyNotebook.cpp Diff File

master 5931fe7a

11.10.2023 18:40

Matthew Mott


Details Diff
Update "Interface layout" manual section

Remove obsolete information about the hard-coded layouts, and describe
the new approach based on dockable windows.
mod - doc/manual.adoc Diff File

master 5debc68d

04.10.2023 19:16

Matthew Mott


Details Diff
Remove some unneeded methods on FreezePointer
mod - libs/wxutil/FreezePointer.cpp Diff File
mod - libs/wxutil/FreezePointer.h Diff File

master 82c78542

20.09.2023 18:31

Matthew Mott


Details Diff
De-duplicate orientation-to-axis code

Replace numerous almost-identical lines which map OrthoOrientation
values to pairs of axis indices, with a lookup into a static map.
mod - radiant/xyview/OrthoView.cpp Diff File

master b9b17632

19.09.2023 19:09

Matthew Mott


Details Diff
Cleanup OrthoView::mouseToPoint()

Constify, return by value rather than parameter, accept Vector2i instead
of separate coordinates.
mod - include/iorthoview.h Diff File
mod - radiant/xyview/OrthoView.cpp Diff File
mod - radiant/xyview/OrthoView.h Diff File

master d04c3fdc

14.09.2023 19:15

Matthew Mott


Details Diff
OrthoView orientation loaded from registry
mod - radiant/xyview/OrthoView.cpp Diff File
mod - radiant/xyview/OrthoView.h Diff File

master 3bb62adc

13.09.2023 19:10

Matthew Mott


Details Diff
OrthoView orientation saved into registry

The orientation of the view is saved to (but not yet loaded from) a
registry key under a new "ui/xyview/state" node, with a separate
sub-node for each separate OrthoView indexed by numeric ID.
mod - radiant/xyview/OrthoView.cpp Diff File
mod - radiant/xyview/OrthoView.h Diff File
 First  Prev  1 2 3 4 5 6 7 ... 30 ... 60 ... 90 ... 120 ... 150 ... 180 ... 210 ... 240 ... 261 262 263  Next  Last