View Issue Details

IDProjectCategoryView StatusLast Update
0005878DarkRadiantGUIpublic05.01.2023 16:25
ReporterAluminumHaste Assigned Togreebo  
Status closedResolutionfixed 
Product Version2.14.0 
Target Version3.0.0Fixed in Version3.0.0 
Summary0005878: Free Rotation not working anymore, can only rotate along 3 axes
Description For some reason and I can't figure out why, I can no longer free rotate things in DarkRadiant like I used to be able to.
I can only rotate on the 3 axis.

I looked at the options for but can't find one that turns this feature back on.

Recorded a video in case I'm confusing everyone.

First DarkRadiant is 1.8.1 from 2014, second one is latest release

Steps To ReproduceIn DR 2.14, select a brush, and try to freely rotate it, nothing happens when you click.
Only clicking on the XYZ circles allows rotation now.
Additional Information
TagsNo tags attached.




12.01.2022 13:55

updater   ~0014672

Forum discussion:


01.06.2022 19:57

developer   ~0014838

Unfortunately I have to unassign this one since I do not have the mathematical knowledge to fix it. I have established that the call to Circle_BestPoint() in RotateManipulator::testSelect() is returning an invalid intersection regardless of the mouse click position, which results in the _circleSphere never being a candidate for selection even if none of the other manipulator elements were clicked on. However the maths code in Circle_BestPoint() and its callees is beyond my ability to understand or effectively debug.


08.06.2022 19:07

developer   ~0014847

I did a Git Bisect which revealed that this is the commit which introduced the problem. This seems to relate only to render so it is not clear how it affects selection, unless it's just a mismatch between the rendered point positions and what the selection system is testing for. The commit does not touch Circle_BestPoint() at all so it does not appear there is any problem with the maths in this function.

commit 26ab05dffc5380e066251b278d3c196222c56492 (refs/bisect/bad)
Author: codereader <>
Date: Wed Oct 13 10:49:55 2021 +0200

    0005733: Compensate the view's projection aspect ratio when rendering the rotate manipulator


09.06.2022 04:06

administrator   ~0014849

@OrbWeaver: thanks for spending the time on the bisect. The triangle winding order has most likely been changed in the commit you tracked down.

Related Changesets

DarkRadiant: master fa260f0d

26.04.2022 18:53


Details Diff
0005878: RenderableSemiCircle uses Matrix4 for axis substitution

Instead of using a RemapPolicy struct passed via a template parameter
(which results in a separate copy of this non-trivial constructor being
generated for each axis), pass in a simple Matrix4 which is used to
substitute the axes.
Affected Issues
mod - radiantcore/selection/manipulators/Renderables.h Diff File
mod - radiantcore/selection/manipulators/RotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/RotateManipulator.h Diff File

DarkRadiant: master 8127bccc

09.06.2022 04:01


Details Diff
0005878: Prevent free-rotate selection test culling all the circle triangles.
Most likely I accidentally reversed the winding direction in 26ab05df.
Affected Issues
mod - radiantcore/selection/manipulators/RotateManipulator.cpp Diff File

Issue History

Date Modified Username Field Change
12.01.2022 13:55 AluminumHaste New Issue
12.01.2022 13:55 AluminumHaste Note Added: 0014672
22.02.2022 20:08 orbweaver Assigned To => orbweaver
22.02.2022 20:08 orbweaver Status new => assigned
01.06.2022 19:52 orbweaver Assigned To orbweaver =>
01.06.2022 19:57 orbweaver Status assigned => confirmed
01.06.2022 19:57 orbweaver Note Added: 0014838
08.06.2022 19:07 orbweaver Note Added: 0014847
09.06.2022 03:58 greebo Assigned To => greebo
09.06.2022 03:58 greebo Status confirmed => assigned
09.06.2022 03:59 greebo Target Version => 3.0.0
09.06.2022 03:59 greebo Summary Can only rotate along 3 axis now. => Free Rotation not working anymore, can only rotate along 3 axes
09.06.2022 04:05 orbweaver Changeset attached => DarkRadiant master fa260f0d
09.06.2022 04:05 greebo Changeset attached => DarkRadiant master 8127bccc
09.06.2022 04:06 greebo Status assigned => resolved
09.06.2022 04:06 greebo Resolution open => fixed
09.06.2022 04:06 greebo Fixed in Version => 3.0.0
09.06.2022 04:06 greebo Note Added: 0014849
05.01.2023 16:25 greebo Status resolved => closed