binds...
	* m1 + shift drag: snapped modes of manipulators:
		scale free: scale two axes synchronously
	* m2 in entities creation menu: change classname; ctrl + m2: change classname, don't close menu
	* ctrl + m1 in entities creation menu: create entity, don't close menu (+offset every next entity by 8u or gridsize, if > 8)

misc...
	* fix: laggy selectors, manipulators in mlook mode
	* scale free->snapped mode: constrain to two axes, most perpendicular to view direction (i.e. works for two axes in 3d too)
	* scale free->snapped mode: use min move delta for scale (was max = hard to scale down); fix ZY projection case
	* fix: pointfile was considered as shown, when trying to load missing one
	* entity inspector->EntityProperties treeview: Tab keypress = focus Key field
	* 2x2 layout: allow gtk to handle separators positions; fixes: unmaximize wnd, maximize = horizontal separators > center
		fixes: unmaximize wnd = not updated views glwidget positions on some systems
	* fix: paint selector, selecting occluded faces
	* camera->field of view option
	* wider Texture Gamma preference range
	* wad games->texbro treeview: do not group names, using underscore; fixes crash on loading parent; fixes mess if path contains underscore
	* fix: do not quit freelook on autosaving
	* entity creation menu has ability to be 'tearoff'
	* wad games: fix TextureBrowser_ShowDirectory crash on loading common dir (can cfg to load .wad), on loading containing dir (do nothing)
	* wad games: fix crash on selecting a shader (not a plain texture) in tex bro
	* wad games: more reliable filterbar texturing defaults
	* shader for 'caulk new brushes' and 'clipper uses caulk' options is optional via 'shader_caulk' option in .game
This commit is contained in:
Garux
2017-08-02 09:24:32 +03:00
parent 471fca65b6
commit cba5583d23
15 changed files with 275 additions and 138 deletions

View File

@@ -59,6 +59,7 @@ void Face_extrude( Face& face, const Brush& brush, brush_vector_t& out, float of
*/
#include "preferences.h"
#include "texwindow.h"
#include "filterbar.h"
typedef std::vector<DoubleVector3> doublevector_vector_t;
@@ -71,14 +72,6 @@ enum eHollowType
room = 4,
};
const char* getCaulkShader(){
const char* gotShader = g_pGameDescription->getKeyValue( "shader_caulk" );
if ( gotShader && *gotShader ){
return gotShader;
}
return "textures/common/caulk";
}
class CaulkFace
{
DoubleVector3 ExclusionAxis;
@@ -104,7 +97,7 @@ void operator()( Face& face ) const {
}
}
}
face.SetShader( getCaulkShader() );
face.SetShader( GetCaulkShader() );
}
}
};
@@ -177,12 +170,12 @@ void operator()( Face& face ) const {
face.undoSave();
out.push_back( new Brush( brush ) );
if( !RemoveInner && caulk )
face.SetShader( getCaulkShader() );
face.SetShader( GetCaulkShader() );
Face* newFace = out.back()->addFace( face );
face.getPlane().offset( -offset );
face.planeChanged();
if( caulk )
face.SetShader( getCaulkShader() );
face.SetShader( GetCaulkShader() );
if ( newFace != 0 ) {
newFace->flipWinding();
newFace->getPlane().offset( offset );
@@ -203,7 +196,7 @@ void operator()( Face& face ) const {
}
if( !RemoveInner && caulk )
face.SetShader( getCaulkShader() );
face.SetShader( GetCaulkShader() );
newFace = out.back()->addFace( face );
if ( newFace != 0 ) {
newFace->flipWinding();
@@ -233,7 +226,7 @@ void operator()( Face& face ) const {
if ( newFace != 0 ) {
if( !RemoveInner && caulk )
newFace->SetShader( getCaulkShader() );
newFace->SetShader( GetCaulkShader() );
newFace->flipWinding();
newFace->getPlane().offset( offset );
newFace->planeChanged();
@@ -259,7 +252,7 @@ void operator()( Face& face ) const {
}
}
}
out.back()->addPlane( winding[next].vertex, winding[index].vertex, BestPoint, caulk? getCaulkShader() : TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), projection );
out.back()->addPlane( winding[next].vertex, winding[index].vertex, BestPoint, caulk? GetCaulkShader() : TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), projection );
}
}
}