From fa294e421503ea26846c4f4c3420f5e47a837510 Mon Sep 17 00:00:00 2001 From: Garux Date: Wed, 2 Aug 2017 09:04:00 +0300 Subject: [PATCH] Q3map2: * do not delete q3map2_*.shader on minimap generation Radiant: misc... * fix: crash in CSG::BrushDeleteSelected * fix: crash in Brush::windingForClipPlane * disabled snapping of transform/pivot origin --- radiant/brush.h | 5 +++++ radiant/csg.cpp | 3 ++- radiant/selection.cpp | 2 +- tools/quake3/q3map2/main.c | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/radiant/brush.h b/radiant/brush.h index 93b3f636..611ad115 100644 --- a/radiant/brush.h +++ b/radiant/brush.h @@ -2014,6 +2014,11 @@ void windingForClipPlane( Winding& winding, const Plane3& plane ) const { continue; } + if( buffer[swap].points.empty() ){ + //globalErrorStream() << "windingForClipPlane: about to feed empty winding\n"; + break; + } + buffer[!swap].clear(); #if BRUSH_CONNECTIVITY_DEBUG diff --git a/radiant/csg.cpp b/radiant/csg.cpp index 1b824b6a..753c5077 100644 --- a/radiant/csg.cpp +++ b/radiant/csg.cpp @@ -419,8 +419,9 @@ void post( const scene::Path& path, scene::Instance& instance ) const { if ( brush != 0 && Instance_getSelectable( instance )->isSelected() && path.size() > 1 ) { + scene::Node& parent = path.parent(); Path_deleteTop( path ); - if( Node_getTraversable( path.parent() )->empty() ){ + if( Node_getTraversable( parent )->empty() ){ m_eraseParent = true; //globalOutputStream() << "Empty node?!.\n"; } diff --git a/radiant/selection.cpp b/radiant/selection.cpp index 7f4cdf7a..ff4c6ee3 100644 --- a/radiant/selection.cpp +++ b/radiant/selection.cpp @@ -3400,7 +3400,7 @@ void RadiantSelectionSystem::ConstructPivot() const { m_object_pivot = bounds.origin; } - vector3_snap( m_object_pivot, GetSnapGridSize() ); + //vector3_snap( m_object_pivot, GetSnapGridSize() ); m_pivot2world = matrix4_translation_for_vec3( m_object_pivot ); switch ( m_manipulator_mode ) diff --git a/tools/quake3/q3map2/main.c b/tools/quake3/q3map2/main.c index 2e97c89d..0240bb83 100644 --- a/tools/quake3/q3map2/main.c +++ b/tools/quake3/q3map2/main.c @@ -546,7 +546,7 @@ int MiniMapBSPMain( int argc, char **argv ){ StripExtension( source ); DefaultExtension( source, ".bsp" ); Sys_Printf( "Loading %s\n", source ); - BeginMapShaderFile( source ); + //BeginMapShaderFile( source ); //do not delete q3map2_*.shader on minimap generation LoadShaderInfo(); LoadBSPFile( source ); -- 2.39.2