Changesets: DarkRadiant

master 53d3d9c3

2021-02-05 07:45:20

greebo

Details Diff
0005460: Add unit test covering the behaviour - the workzone needs to be recalculated everytime the user has finished a selection through the SelectionSystem API.
The lower level Node_setSelected() itself is not enough.
Affected Issues
0005460
mod - test/Selection.cpp Diff File
mod - test/algorithm/Primitives.h Diff File

master 0cbee8e6

2021-02-05 04:46:08

greebo

Details Diff
0005460: Recalculate the selection workzone after a selection test has been performed. This is not quite the same as doing it in the idle processing loop (like in pre-2.10.0 versions), but let's hope it does the trick. Affected Issues
0005460
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.h Diff File

master bb8ce4db

2021-02-05 04:33:19

greebo

Details Diff
0004846: Construct a unit test asserting that the pivot is properly reset on canceling the operation Affected Issues
0004846
mod - test/Selection.cpp Diff File

master 89e5a1c5

2021-02-05 04:03:25

greebo

Details Diff
0004846: Fix the manipulation pivot being stuck in a position when the user cancels the move, preventing it from recalculating its position on selection change or even changing the manipulator. Affected Issues
0004846
mod - radiantcore/selection/ManipulationPivot.cpp Diff File
mod - radiantcore/selection/ManipulationPivot.h Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File

master 4c6e85e2

2021-02-05 03:48:43

greebo

Details Diff
0005465: Backfacing brush faces are no longer being culled in orthoviews Affected Issues
0005465
mod - radiantcore/brush/BrushNode.cpp Diff File

master 3bd99f9f

2021-02-04 20:08:36

orbweaver

Details Diff
Initial list of attached entities in EntityNode

EntityNode maintains a list of entity node pointers representing the attached
entities, which are submitted at render time. The basic rendering is working
and covered by a unit test, but the attached entity appears at the origin since
there is not yet any handling of the localToWorld matrix.
Attach Issues:
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - test/Entity.cpp Diff File
mod - test/resources/tdm/def/lights.def Diff File

master 3f2c43cf

2021-02-03 21:10:12

orbweaver

Details Diff
Add initial test for rendering attached light entity

Confirm that we can create an EclassModelNode from the torch_brazier model,
traverse its children (which consists of 1 StaticModelNode) and receive
renderables for the model surfaces. This does not test for the presence of any
attached entities, since this functionality isn't implemented yet.
Attach Issues:
mod - test/Entity.cpp Diff File
add - test/resources/tdm/def/base.def Diff File
mod - test/resources/tdm/def/lights_static.def Diff File
add - test/resources/tdm/models/torch.lwo Diff File

master 1e546235

2021-02-03 17:15:51

greebo

Details Diff
0005266: Pass the two-sided flag only if the material is actually two-sided (exception: brush faces should always be treated like they're twosided due to 0005444).
Adjusted the cull type determination code in SelectionVolume::BeginMesh.
Affected Issues
0005266, 0005444
mod - libs/selection/SelectionVolume.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/model/picomodel/StaticModel.cpp Diff File
mod - radiantcore/model/picomodel/StaticModelSurface.cpp Diff File
mod - radiantcore/model/picomodel/StaticModelSurface.h Diff File
mod - radiantcore/patch/PatchNode.cpp Diff File

master b4b79b00

2021-02-02 20:48:54

orbweaver

Details Diff
Test that entity updates when its entity class is modified

Confirm that a light entity captures a new wireframe shader in response to a
colour change on its entity class. Currently we can't confirm that it's the
*right* shader because the Shader interface doesn't expose that much (the
result of getMaterial() will be null because this is a built-in single-colour
shader rather than one derived from a material).
Attach Issues:
mod - test/Entity.cpp Diff File

master 859ed645

2021-02-02 20:05:35

orbweaver

Details Diff
Remove Light::worldOrigin()

For some reason this was a public virtual exposed on the RendererLight
interface despite not being used anywhere outside Light itself. Perhaps other
calls to this method were removed during recent renderer refactoring.
Attach Issues:
mod - include/irender.h Diff File
mod - radiantcore/entity/light/Light.cpp Diff File
mod - radiantcore/entity/light/Light.h Diff File
mod - test/Entity.cpp Diff File

master c9fba2dd

2021-02-01 21:11:38

orbweaver

Details Diff
Test more RendererLight properties

Construct a light_torchflame_small instead of just a basic light, and confirm
that the AABB extents and origin match the values from the entity def, along
with the light shader.
Attach Issues:
mod - include/irender.h Diff File
mod - test/Entity.cpp Diff File

master df60c5f8

2021-01-31 21:18:44

orbweaver

Details Diff
Test rendered light entity has correct world origin

TestRenderableCollector now stores a list of RendererLight pointers rather than
just counting the lights submitted, and this list is used to confirm that the
"origin" key set on the test light entity appears correctly as the result of
worldOrigin().
Attach Issues:
mod - include/irender.h Diff File
mod - test/Entity.cpp Diff File

master 65a2ef3e

2021-01-31 20:59:40

orbweaver

Details Diff
Add a test for light source rendering

This test checks that the RenderableCollector::addLight() method has been
invoked after rendering a light entity in full materials mode.
Attach Issues:
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - test/Entity.cpp Diff File

master b14de84b

2021-01-31 20:08:52

orbweaver

Details Diff
Split RenderLightEntity into separate tests for selected/unselected

Split tests for better organisation and to avoid one test operating on an
object which has already been modified by an earlier test.
Attach Issues:
mod - test/Entity.cpp Diff File

master f05ee065

2021-01-31 18:12:37

greebo

Details Diff
0005266: More test cases, covering patches, brushes and model surfaces with one- and two-sided materials. Affected Issues
0005266
mod - test/Selection.cpp Diff File
mod - test/resources/tdm/maps/selection_test.map Diff File
mod - test/resources/tdm/maps/twosided_ivy.mapx Diff File
mod - test/resources/tdm/materials/twosided.mtr Diff File
add - test/resources/tdm/skins/selection_test.skin Diff File

master bf77456d

2021-01-31 17:28:55

orbweaver

Details Diff
Fix possible crash in shutting down selection system

When the selection system shuts down it clears out any remaining selected
nodes, which causes the SelectableNode destructor to unselect the node, which
then tries to call back into the selection system using Node::getSelf() which
finally results in a shared_from_this() being called from within the node's own
destructor, which shared_ptr really doesn't like.

This is resolved by having the selection system instruct any remaining selected
nodes to unselect themselves before clearing out the list, thus ensuring that
the same sequence happens before the node's destructor is invoked.
Attach Issues:
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - test/Entity.cpp Diff File

master c9cbda76

2021-01-31 14:47:38

orbweaver

Details Diff
Add two new tests for entity selection

Test that selecting an entity propagates the selected node to the selection
system (which passes), and test that we can destroy a selected entity (which
currently fails due to trying to call shared_from_this() in a destructor).
Attach Issues:
mod - test/Entity.cpp Diff File

master a4a3ace8

2021-01-31 14:25:51

orbweaver

Details Diff
Add a simple test for rendering a light entity

Render the light entity in wireframe mode and confirm we receive the expected
number of renderables (origin diamond, radius and light_center depending on
selection status).
Attach Issues:
mod - include/irenderable.h Diff File
mod - test/Entity.cpp Diff File

master 235b1a9e

2021-01-31 08:10:42

greebo

Details Diff
0005266: Rearrange the SelectionTest fixture to OrthoViewSelectionTest and CameraViewSelectionTest, add test cases Affected Issues
0005266
mod - test/Selection.cpp Diff File

master f66f124e

2021-01-31 05:11:17

greebo

Details Diff
0005266: Move some camera matrix code to libs/render/CameraView.h, to be re-used by the unit test code. Affected Issues
0005266
add - libs/render/CameraView.h Diff File
mod - radiantcore/camera/Camera.cpp Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

master 6ed581fb

2021-01-30 21:29:03

orbweaver

Details Diff
AttachmentData now returns attachment offsets

SpawnArgs now calls validateAttachments() after the initial parse step, and the
forEachAttachment() method on AttachmentData now sets a valid offset vector on
the Entity::Attachment object, derived from looking up the named position in
the parsed key data.
Attach Issues:
mod - radiantcore/entity/AttachmentData.cpp Diff File
mod - radiantcore/entity/AttachmentData.h Diff File
mod - radiantcore/entity/SpawnArgs.cpp Diff File

master 5c98a884

2021-01-30 20:58:59

orbweaver

Details Diff
Add a new failing test for attachment offset

atdm:torch_brazier should have its flame at (0, 0, 10) based on the offset
value in the entityDef.
Attach Issues:
mod - test/Entity.cpp Diff File

master 2534e093

2021-01-30 20:46:41

orbweaver

Details Diff
Initial attachment parsing in SpawnArgs class

SpawnArgs now calls a new parseAttachments() method in its constructor, which
iterates over all keys (using the new 'includeInherited' parameter to
forEachKeyValue()) and parses them for possible attachment information. Current
version of CreateAttachedLightEntity test now passes.
Attach Issues:
mod - radiantcore/entity/AttachmentData.cpp Diff File
mod - radiantcore/entity/AttachmentData.h Diff File
mod - radiantcore/entity/SpawnArgs.cpp Diff File
mod - radiantcore/entity/SpawnArgs.h Diff File

master fd57c693

2021-01-30 20:20:12

orbweaver

Details Diff
CopySpawnargs test checks EntityKeyValue pointer identities

Copied SpawnArgs object should have same key value strings but different
EntityKeyValue object pointers.
Attach Issues:
mod - test/Entity.cpp Diff File

master 5c365636

2021-01-30 17:51:05

orbweaver

Details Diff
Merge math tests into a single test suite

Instead of four separate top-level test suites cluttering up the list, all of
the tests for Matrix, Plane, Quaternion and Vector are in a single MathTest
suite.
Attach Issues:
mod - test/math/Matrix4.cpp Diff File
mod - test/math/Plane3.cpp Diff File
mod - test/math/Quaternion.cpp Diff File
mod - test/math/Vector3.cpp Diff File
 First  Prev  1 2 3 4 5 6 7 8 9 10 ... 20 ... 30 ... 40 ... 50 ... 60 ... 70 ... 80 ... 90 ... 100 ... 105 106 107  Next  Last