misc...
	* restrict unwanted angle(s) keys commits on moving generic, eclassmodel, miscmodel entities
	* reverted angle(s), origin, scale entity keys save format from %f to %g
	* fix uniform rotation operations for generic entities with angles key
	* use more precise meth for rotating point entities with only angle rotated
	* snap tiny inaccuracies in angle(s) and origin point entities keys
	* workaround: don't discard empty group ents, having origin key
	* entity class convertion: prevent converting worldspawn; prevent converting point entity to empty group
This commit is contained in:
Garux
2017-08-02 09:43:35 +03:00
parent 9613511560
commit 335dcb2fa8
13 changed files with 114 additions and 44 deletions

View File

@@ -227,7 +227,7 @@ void renderWireframe( Renderer& renderer, const VolumeTest& volume, const Matrix
renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eWireframeOnly );
renderer.addRenderable( m_aabb_wire, localToWorld );
renderArrow( renderer, volume, localToWorld );
if ( selected || ( g_showNames && aabb_fits_view( aabb_for_oriented_aabb( m_aabb_local, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) {
if ( selected || ( g_showNames && aabb_fits_view( m_aabb_local, volume.GetModelview(), volume.GetViewport(), g_showNamesRatio ) ) ) {
m_renderName.render( renderer, volume, localToWorld, selected );
}
}
@@ -260,8 +260,10 @@ void revertTransform(){
void freezeTransform(){
m_originKey.m_origin = m_origin;
m_originKey.write( &m_entity );
m_anglesKey.m_angles = m_angles;
m_anglesKey.write( &m_entity );
if( m_anglesKey.m_angles != m_angles ){
m_anglesKey.m_angles = m_angles;
m_anglesKey.write( &m_entity );
}
}
void transformChanged(){
revertTransform();
@@ -338,7 +340,9 @@ void testSelect( Selector& selector, SelectionTest& test ){
void evaluateTransform(){
if ( getType() == TRANSFORM_PRIMITIVE ) {
m_contained.translate( getTranslation() );
m_contained.rotate( getRotation() );
if( getRotation() != c_quaternion_identity ){
m_contained.rotate( getRotation() );
}
}
}
void applyTransform(){