Following fixes and features:
Rotation: Snap to grid behaviour:
Added Console::Variable (s)
ed_anglesnap - 0 off (default) 1 on
ed_anglestep - [degrees] ( similar to ed_gridsize ) – default 5 degrees
ed_angleresetwidget - 0 (default) do not reset the widget position to the right of the object being rotated once mouse is lifted. 1 = do
ed_angleresetwidget can probably be dropped, but wasn’t sure of what the ideal solution was so put it in for now. Unlike the other two which are in ViewPanel.cpp this one is at the top of Rotate.cpp
The widget still gets out of alignment with the mouse sometimes, still needs work, But angle snapping works anyways.
Added global util function AngleSnap which works similarly to GridSnap.
Rotation: Make work with brushes:
– see comments inside BrushEntity.cpp
Works by mallocing a temp buffer which holds a local to entity vector for each point in the brush. Then rotates the entity and modifies each stored local to world using the new entity’s transform and setupbrush is called.
Committed By Pat Glynn