Changesets: DarkRadiant

master 36ebf11d

19.03.2024 20:26

orbweaver


Details Diff
Devirtualise Entity class

Entity is now defined in scene/Entity.h, and includes the concrete
functionality of the old SpawnArgs class as well as the interface of
Entity. Since most downstream users of the ientity.h header also need
the full definition of Entity, most ientity.h includes have been
replaced with scene/Entity.h.
mod - include/ientity.h Diff File
mod - libs/entitylib.h Diff File
mod - libs/maplib.h Diff File
mod - libs/scene/AttachmentData.cpp Diff File
mod - libs/scene/AttachmentData.h Diff File
mod - libs/scene/CMakeLists.txt Diff File
mod - libs/scene/ChildPrimitives.cpp Diff File
mv - libs/scene/SpawnArgs.cpp → libs/scene/Entity.cpp Diff File
add - libs/scene/Entity.h Diff File
add - libs/scene/EntityAttachment.h Diff File
mod - libs/scene/EntityBreakdown.h Diff File
mod - libs/scene/ModelFinder.cpp Diff File
rm - libs/scene/SpawnArgs.h Diff
mod - libs/scene/merge/MergeAction.h Diff File
mod - libs/scene/merge/NodeUtils.h Diff File
mod - libs/selection/CollectiveSpawnargs.h Diff File
mod - libs/selection/EntitiesFirstSelector.h Diff File
mod - libs/selection/EntitySelection.h Diff File
mod - libs/selectionlib.h Diff File
mod - libs/wxutil/preview/EntityPreview.cpp Diff File
mod - libs/wxutil/preview/EntityPreview.h Diff File
mod - libs/wxutil/preview/ParticlePreview.cpp Diff File
mod - plugins/dm.conversation/ActorNodeFinder.h Diff File
mod - plugins/dm.conversation/ConversationDialog.h Diff File
mod - plugins/dm.conversation/ConversationEntity.cpp Diff File
mod - plugins/dm.conversation/ConversationEntity.h Diff File
mod - plugins/dm.conversation/ConversationEntityFinder.h Diff File
mod - plugins/dm.conversation/ConversationKeyExtractor.h Diff File
mod - plugins/dm.difficulty/DifficultyDialog.h Diff File
mod - plugins/dm.difficulty/DifficultyEntity.cpp Diff File
mod - plugins/dm.difficulty/DifficultyEntity.h Diff File
mod - plugins/dm.difficulty/DifficultyEntityFinder.h Diff File
mod - plugins/dm.editing/AIEditingPanel.h Diff File
mod - plugins/dm.editing/AIHeadPropertyEditor.cpp Diff File
mod - plugins/dm.editing/AIVocalSetPropertyEditor.cpp Diff File
mod - plugins/dm.editing/SpawnargLinkedCheckbox.h Diff File
mod - plugins/dm.editing/SpawnargLinkedSpinButton.h Diff File
mod - plugins/dm.gameconnection/DiffDoom3MapWriter.cpp Diff File
mod - plugins/dm.gameconnection/GameConnection.cpp Diff File
mod - plugins/dm.gameconnection/MapObserver.cpp Diff File
mod - plugins/dm.gameconnection/MapObserver.h Diff File
mod - plugins/dm.gui/ReadableEditorDialog.cpp Diff File
mod - plugins/dm.gui/plugin.cpp Diff File
mod - plugins/dm.objectives/ObjectiveEntity.cpp Diff File
mod - plugins/dm.objectives/ObjectiveEntityFinder.cpp Diff File
mod - plugins/dm.objectives/ObjectiveKeyExtractor.h Diff File
mod - plugins/dm.objectives/ObjectivesEditor.cpp Diff File
mod - plugins/dm.objectives/TargetList.h Diff File
mod - plugins/dm.objectives/ce/specpanel/EntityNameSpecifierPanel.cpp Diff File
mod - plugins/dm.objectives/objectives.cpp Diff File
mod - plugins/dm.stimresponse/SRPropertyLoader.h Diff File
mod - plugins/dm.stimresponse/SRPropertyRemover.h Diff File
mod - plugins/dm.stimresponse/StimResponseEditor.h Diff File
mod - plugins/dm.stimresponse/StimTypes.h Diff File
mod - plugins/script/CMakeLists.txt Diff File
mod - plugins/script/interfaces/EntityInterface.cpp Diff File
mod - plugins/script/interfaces/EntityInterface.h Diff File
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/animationpreview/AnimationPreview.cpp Diff File
mod - radiant/ui/animationpreview/AnimationPreview.h Diff File
mod - radiant/ui/common/EntityChooser.cpp Diff File
mod - radiant/ui/eclasstree/EClassTree.cpp Diff File
mod - radiant/ui/einspector/AddPropertyDialog.cpp Diff File
mod - radiant/ui/einspector/AddPropertyDialog.h Diff File
mod - radiant/ui/einspector/AnglePropertyEditor.cpp Diff File
mod - radiant/ui/einspector/BooleanPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/ClassnamePropertyEditor.cpp Diff File
mod - radiant/ui/einspector/ColourPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/EntityPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/FloatPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/FxPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/ModelPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/PropertyEditor.cpp Diff File
mod - radiant/ui/einspector/SkinPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/SoundPropertyEditor.cpp Diff File
mod - radiant/ui/einspector/TexturePropertyEditor.cpp Diff File
mod - radiant/ui/einspector/Vector3PropertyEditor.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.cpp Diff File
mod - radiant/ui/materials/editor/MaterialPreview.cpp Diff File
mod - radiant/ui/ortho/OrthoContextMenu.cpp Diff File
mod - radiant/xyview/OrthoView.cpp Diff File
mod - radiantcore/brush/csg/CSG.cpp Diff File
mod - radiantcore/brush/export/CollisionModel.cpp Diff File
mod - radiantcore/entity/AngleKey.cpp Diff File
mod - radiantcore/entity/ColourKey.h Diff File
mod - radiantcore/entity/EntityModule.cpp Diff File
mod - radiantcore/entity/EntityModule.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/EntitySettings.h Diff File
mod - radiantcore/entity/KeyObserverDelegate.h Diff File
mod - radiantcore/entity/KeyObserverMap.h Diff File
mod - radiantcore/entity/KeyValueObserver.cpp Diff File
mod - radiantcore/entity/KeyValueObserver.h Diff File
mod - radiantcore/entity/NameKey.h Diff File
mod - radiantcore/entity/NameKeyObserver.cpp Diff File
mod - radiantcore/entity/NameKeyObserver.h Diff File
mod - radiantcore/entity/NamespaceManager.cpp Diff File
mod - radiantcore/entity/NamespaceManager.h Diff File

master ebbea317

19.03.2024 19:42

orbweaver


Details Diff
Rename scenegraph library to scene
mod - CMakeLists.txt Diff File
mod - libs/scene/CMakeLists.txt Diff File
mod - libs/wxutil/CMakeLists.txt Diff File
mod - radiant/CMakeLists.txt Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - test/CMakeLists.txt Diff File

master 0108265d

13.03.2024 20:26

orbweaver


Details Diff
Devirtualise EntityKeyValue

Instead of a virtual interface EntityKeyValue implemented by a concrete
KeyValue class, there is now only a concrete EntityKeyValue class
defined in the scene library and used directly by downstream code.
mod - include/ientity.h Diff File
mod - libs/scene/CMakeLists.txt Diff File
mv - radiantcore/entity/KeyValue.cpp → libs/scene/EntityKeyValue.cpp Diff File
add - libs/scene/EntityKeyValue.h Diff File
mv - radiantcore/entity/SpawnArgs.cpp → libs/scene/SpawnArgs.cpp Diff File
mv - radiantcore/entity/SpawnArgs.h → libs/scene/SpawnArgs.h Diff File
mod - libs/selection/CollectiveSpawnargs.h Diff File
mod - plugins/dm.gameconnection/MapObserver.cpp Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/entity/EntityModule.cpp Diff File
mod - radiantcore/entity/KeyObserverMap.h Diff File
rm - radiantcore/entity/KeyValue.h Diff
mod - radiantcore/entity/KeyValueObserver.cpp Diff File
mod - radiantcore/entity/NameKey.h Diff File
mod - radiantcore/entity/NameKeyObserver.cpp Diff File
mod - radiantcore/entity/NamespaceManager.h Diff File
mod - radiantcore/entity/generic/GenericEntityNode.h Diff File
mod - radiantcore/entity/target/TargetKey.cpp Diff File
mod - radiantcore/entity/target/TargetableNode.h Diff File
mod - test/Entity.cpp Diff File

master 50f1e1ca

13.03.2024 20:26

orbweaver


Details Diff
Ignore perf.data files
mod - .gitignore Diff File
mv - radiantcore/entity/AttachmentData.cpp → libs/scene/AttachmentData.cpp Diff File
mv - radiantcore/entity/AttachmentData.h → libs/scene/AttachmentData.h Diff File

master 9a9c014c

09.03.2024 10:37

greebo


Details Diff
0006502: Fix XmlTest resource path in Windows Affected Issues
0006502
mod - test/XmlUtil.cpp Diff File

master 04e753ca

08.03.2024 05:58

greebo


Details Diff
0006502: Remove win_iconv property sheet, doesn't seem to be used anymore Affected Issues
0006502
rm - tools/msvc/properties/win_iconv.props Diff

master e248785f

08.03.2024 05:52

greebo


Details Diff
Bump version
mod - include/version.h Diff File

master 6f34491b

08.03.2024 05:43

greebo


Details Diff
0006502: Remove libxml2 property sheet, minor tweaks to Node file pair. Affected Issues
0006502
mod - libs/xmlutil/Node.cpp Diff File
mod - libs/xmlutil/Node.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/dm.conversation.vcxproj Diff File
mod - tools/msvc/dm.difficulty.vcxproj Diff File
mod - tools/msvc/dm.gui.vcxproj Diff File
mod - tools/msvc/dm.objectives.vcxproj Diff File
mod - tools/msvc/dm.stimresponse.vcxproj Diff File
rm - tools/msvc/properties/libxml2.props Diff
mod - tools/msvc/vcs.vcxproj Diff File
mod - tools/msvc/xmlutillib.vcxproj Diff File

master 0674a6cc

08.03.2024 05:25

greebo


Details Diff
0006502: Update LICENSE, add pugixml license file as taken from their github repository Affected Issues
0006502
mod - LICENSE Diff File
add - libs/pugixml/LICENSE Diff File

master 41451ae4

08.03.2024 05:18

greebo


Details Diff
Merge remote-tracking branch 'remotes/orbweaver/master'

# Conflicts:
# libs/xmlutil/Document.cpp
# libs/xmlutil/Document.h
mod - .gitlab-ci.yml Diff File
mod - CMakeLists.txt Diff File
add - libs/pugixml/pugiconfig.hpp Diff File
add - libs/pugixml/pugixml.cpp Diff File
add - libs/pugixml/pugixml.hpp Diff File
mod - libs/wxutil/GLWidget.cpp Diff File
mod - libs/xmlutil/CMakeLists.txt Diff File
mod - libs/xmlutil/Document.cpp Diff File
mod - libs/xmlutil/Document.h Diff File
mod - libs/xmlutil/Node.cpp Diff File
mod - libs/xmlutil/Node.h Diff File
rm - libs/xmlutil/XmlModule.cpp Diff
rm - libs/xmlutil/XmlModule.h Diff
mod - radiant/eventmanager/ShortcutSaver.h Diff File
mod - radiantcore/Radiant.cpp Diff File
mod - radiantcore/map/format/portable/PortableMapWriter.cpp Diff File
mod - radiantcore/xmlregistry/RegistryTree.cpp Diff File
mod - test/RadiantTest.h Diff File
mod - test/XmlUtil.cpp Diff File
mod - test/algorithm/XmlUtils.h Diff File
add - test/resources/xml/darkmod.game Diff File
add - test/resources/xml/input.xml Diff File

master df2f7a96

06.03.2024 20:25

orbweaver


Details Diff
0005502: set depth buffer size to 24 bits

Although the wxGLCanvas wiki tutorial uses a depth buffer of 16 bits, this is
extremely low precision for a depth buffer, and is likely the cause of
the Z fighting issues described in 0005502.

We now set it to the more usual 24 bits, as confirmed by OpenGL
tutorials such as https://learnopengl.com/Advanced-OpenGL/Depth-testing
Affected Issues
0005502
mod - libs/wxutil/GLWidget.cpp Diff File

master d837e020

05.03.2024 20:34

Matthew Mott


Details Diff
Attempt to invoke asciidoctor in CI configuration
mod - .gitlab-ci.yml Diff File

master c3b67e55

21.02.2024 20:01

orbweaver


Details Diff
Remove remnants of libxml2
mod - CMakeLists.txt Diff File
mod - libs/xmlutil/CMakeLists.txt Diff File
mod - libs/xmlutil/Document.cpp Diff File
mod - libs/xmlutil/Node.cpp Diff File
rm - libs/xmlutil/XmlModule.cpp Diff
rm - libs/xmlutil/XmlModule.h Diff
mod - radiantcore/Radiant.cpp Diff File

master 46192738

30.01.2024 20:19

orbweaver


Details Diff
Replace usage of libxml2 with pugixml

pugixml is a lightweight C++ XML parsing library with a much more
ergonomic interface than libxml2, and more importantly fixes the
mysterious problem with XPaths that xmlReadFile() on Linux seems to
introduce.

Since our usage of XML was already wrapped in the xmlutil::Node and
Document classes, and well covered by unit tests, this replacement was
much more straightforward that it might otherwise have been. Very few
changes to the application outside of the xmlutil library were required,
and the only change to a unit test involved making the "round-trip"
SaveDocumentTo{String,File} tests more tolerant of formatting changes
since pugixml does not preserve formatting.

The pugixml library itself has been imported into libs/pugixml and the
HEADER_ONLY option set in its config, which will hopefully make the
Windows integration easy (or even a no-op).
add - libs/pugixml/pugiconfig.hpp Diff File
add - libs/pugixml/pugixml.cpp Diff File
add - libs/pugixml/pugixml.hpp Diff File
mod - libs/xmlutil/Document.cpp Diff File
mod - libs/xmlutil/Document.h Diff File
mod - libs/xmlutil/Node.cpp Diff File
mod - libs/xmlutil/Node.h Diff File
mod - radiant/eventmanager/ShortcutSaver.h Diff File
mod - radiantcore/map/format/portable/PortableMapWriter.cpp Diff File
mod - radiantcore/xmlregistry/RegistryTree.cpp Diff File
mod - test/XmlUtil.cpp Diff File
mod - test/algorithm/XmlUtils.h Diff File

master 25117a18

30.01.2024 20:15

orbweaver


Details Diff
Add basic unit tests for reading input.xml and a .game file

XmlTest now tests reading some real-world XML files as used by
DarkRadiant, rather than just a test XML file.
mod - test/XmlUtil.cpp Diff File
add - test/resources/xml/darkmod.game Diff File
add - test/resources/xml/input.xml Diff File

master dcb8a65c

28.01.2024 14:54

orbweaver


Details Diff
RadiantTest re-throws exception instead of abort() on Linux

abort() does not provide any information about the exception itself,
whereas re-throwing it results in the what() description appearing on
the console.
mod - test/RadiantTest.h Diff File

run_linux_tests a561c060

28.01.2024 08:30

greebo


Details Diff
Manually set DISPLAY environment variable
mod - .github/workflows/build.yml Diff File

run_linux_tests e97fdf7e

28.01.2024 07:58

greebo


Details Diff
Check if running the tests is working just like that
mod - .github/workflows/build.yml Diff File

master 0d5ca6ff

28.01.2024 05:10

greebo


Details Diff
0006472: Revert to xmlParseFile for Linux for the moment being Affected Issues
0006472
mod - libs/xmlutil/Document.cpp Diff File

python_commands f2dcaa3c

28.01.2024 04:35

greebo


Details Diff
0006473: The WIP state of my investigations - leaving this topic for now Affected Issues
0006473
mod - install/scripts/builtin/brush.py Diff File
add - install/scripts/builtin/internal.py Diff File
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/PythonModule.h Diff File
mod - plugins/script/ScriptingSystem.cpp Diff File
mod - plugins/script/interfaces/ScriptingSystemInterface.cpp Diff File
mod - plugins/script/interfaces/ScriptingSystemInterface.h Diff File

master 173ce643

27.01.2024 17:29

orbweaver


Details Diff
XmlTest no longer depends on RadiantTest on Linux

RadiantTest was only used for a single purpose: locating the test
resources directory. By using TEST_BASE_PATH on Linux, we can avoid the
Catch-22 situation of basic XML tests depending on a module which cannot
be initialised without correctly setting up the XML registry, as well as
improving performance by not initialising the core module for each test.

The original behaviour is retained on Windows because it is not clear
that TEST_BASE_PATH is actually available on that platform (it is
defined in the CMake build system).
mod - test/RadiantTest.h Diff File
mod - test/XmlUtil.cpp Diff File

python_commands 9ac6de8e

27.01.2024 14:04

greebo


Details Diff
0006473: Some ground work to load script algorithms from builtin/*.py. Add ScriptingSystemInterface skeleton. Refactoring. Affected Issues
0006473
add - install/scripts/builtin/brush.py Diff File
mod - plugins/script/CMakeLists.txt Diff File
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/ScriptModule.cpp Diff File
mod - plugins/script/ScriptingSystem.cpp Diff File
mod - plugins/script/ScriptingSystem.h Diff File
add - plugins/script/interfaces/ScriptingSystemInterface.cpp Diff File
add - plugins/script/interfaces/ScriptingSystemInterface.h Diff File
mod - tools/msvc/script.vcxproj Diff File
mod - tools/msvc/script.vcxproj.filters Diff File

master dacbe452

27.01.2024 09:39

greebo


Details Diff
Move hard-coded constants into anonymous namespace
mod - plugins/script/ScriptingSystem.cpp Diff File

master 2382c8d5

27.01.2024 09:13

greebo


Details Diff
Refactoring, move pybind11-related code to the PythonModule type.
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/PythonModule.h Diff File
mod - plugins/script/ScriptCommand.h Diff File
mod - plugins/script/ScriptingSystem.cpp Diff File
mod - plugins/script/ScriptingSystem.h Diff File

master 89b0289d

27.01.2024 08:45

greebo


Details Diff
Instead of statically allocate the module_def, use a unique ptr.
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/PythonModule.h Diff File
 First  Prev  1 2 3 ... 7 8 9 10 11 12 13 ... 30 ... 60 ... 90 ... 120 ... 150 ... 180 ... 210 ... 240 ... 270 271 272  Next  Last