* content of brush is determined now not by 1st side in brush definition (inconsistency!)
		but on priority: liquid > fog > playerclip > nonsolid > solid
		ex.: nodraw solid shader works now for hiding liquid or fog volume splits / unwanted faces
		solid or nonsolid shader + face(s) of playerclip = playerclip
		solid shader + face(s) of nonsolid = nonsolid (b4 could happen: 5nonsolid sides + 1solid = solid brush )


Radiant:

binds...
	* make structural - alt+s
	* shift+n - cycle patch tex projection
	* ctrl+f - fit texture
	* bind a, d in no mlook mode - CameraStrafeLeft/Right

menus...
	* smartified content basically
	* hidden killconnect for games, which are not nexuiz
	* view-orthographic+: center 2d on selected (ctrl+shift+tab)
	* removed parent from menu, regroup does work + isn't bugged
	* edit+: SelectAllOfType (shift+a)
	* view->show+: ToggleCrosshair, show size info, show grid
	* view menu: +patch inspector
	* curve->texture+: flip patch tex ( {ctrl}shift+i ), naturalize, cycle projection
	* cleaned, updated help menu links,+: Mouse Shortcuts, recent offline&fixed Shader Manual,
		netRadiant specific docs, lists of q3map2 switches/entity keys/shader directives
misc...
	* removed note to save before going to preferences, project settings
	* fog is automatically transparent
	* Doom3LightRadius: failed to parse default light radius - spammy msg removed
	* 1.5x bigger light ents (8->12u)
	* longer list of recently opened (4->9)
	* crosshair display: is saving in prefs
	* defaulted Maya theme
	* removed question to override current compile monitoring
This commit is contained in:
Garux 2017-08-01 13:36:40 +03:00
parent a255fbd84e
commit 6e687efe88
17 changed files with 171 additions and 72 deletions

View File

@ -531,10 +531,12 @@ Callback m_changed;
bool m_useCenterKey;
Doom3LightRadius( const char* defaultRadius ) : m_defaultRadius( 300, 300, 300 ), m_center( 0, 0, 0 ), m_useCenterKey( false ){
if ( !string_parse_vector3( defaultRadius, m_defaultRadius ) ) {
if ( g_lightType == LIGHTTYPE_DOOM3 ){
if ( !string_parse_vector3( defaultRadius, m_defaultRadius ) ) {
globalErrorStream() << "Doom3LightRadius: failed to parse default light radius\n";
}
}
m_radius = m_defaultRadius;
}
}
void lightRadiusChanged( const char* value ){
@ -655,7 +657,7 @@ void render( RenderStateFlags state ) const {
};
inline void default_extents( Vector3& extents ){
extents = Vector3( 8, 8, 8 );
extents = Vector3( 12, 12, 12 );
}
class ShaderRef

View File

@ -1255,6 +1255,7 @@ bool ShaderTemplate::parseQuake3( Tokeniser& tokeniser ){
if ( string_equal_nocase( surfaceparm, "fog" ) ) {
m_nFlags |= QER_FOG;
m_nFlags |= QER_TRANS;
if ( m_fTrans == 1.0f ) { // has not been explicitly set by qer_trans
m_fTrans = 0.35f;
}

View File

@ -1418,7 +1418,7 @@ void Brush_registerCommands(){
GlobalCommands_insert( "FlipClip", FreeCaller<FlipClipper>(), Accelerator( GDK_Return, (GdkModifierType)GDK_CONTROL_MASK ) );
GlobalCommands_insert( "MakeDetail", FreeCaller<Select_MakeDetail>(), Accelerator( 'D', (GdkModifierType)GDK_MOD1_MASK ) );
GlobalCommands_insert( "MakeStructural", FreeCaller<Select_MakeStructural>(), Accelerator( 'S', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) );
GlobalCommands_insert( "MakeStructural", FreeCaller<Select_MakeStructural>(), Accelerator( 'S', (GdkModifierType)GDK_MOD1_MASK ) );
}
void Brush_constructMenu( GtkMenu* menu ){

View File

@ -1897,8 +1897,8 @@ void CamWnd_Construct(){
GlobalShortcuts_insert( "CameraBack", Accelerator( GDK_Down ) );
GlobalShortcuts_insert( "CameraLeft", Accelerator( GDK_Left ) );
GlobalShortcuts_insert( "CameraRight", Accelerator( GDK_Right ) );
GlobalShortcuts_insert( "CameraStrafeRight", Accelerator( GDK_period ) );
GlobalShortcuts_insert( "CameraStrafeLeft", Accelerator( GDK_comma ) );
GlobalShortcuts_insert( "CameraStrafeRight", Accelerator( 'D' ) );
GlobalShortcuts_insert( "CameraStrafeLeft", Accelerator( 'A' ) );
GlobalShortcuts_insert( "CameraUp", accelerator_null() );
GlobalShortcuts_insert( "CameraDown", accelerator_null() );

View File

@ -571,7 +571,9 @@ void Entity_constructMenu( GtkMenu* menu ){
create_menu_item_with_mnemonic( menu, "_Regroup", "GroupSelection" );
create_menu_item_with_mnemonic( menu, "_Ungroup", "UngroupSelection" );
create_menu_item_with_mnemonic( menu, "_Connect", "ConnectSelection" );
create_menu_item_with_mnemonic( menu, "_KillConnect", "KillConnectSelection" );
if ( g_pGameDescription->mGameType == "nexuiz" ) {
create_menu_item_with_mnemonic( menu, "_KillConnect", "KillConnectSelection" );
}
create_menu_item_with_mnemonic( menu, "_Select Color...", "EntityColor" );
create_menu_item_with_mnemonic( menu, "_Normalize Color...", "NormalizeColor" );
}

View File

@ -362,7 +362,7 @@ void ProjectSettingsDialog_ok( ProjectSettingsDialog& dialog ){
}
void DoProjectSettings(){
if ( ConfirmModified( "Edit Project Settings" ) ) {
//if ( ConfirmModified( "Edit Project Settings" ) ) {
ModalDialog modal;
ProjectSettingsDialog dialog;
@ -373,7 +373,7 @@ void DoProjectSettings(){
}
gtk_widget_destroy( GTK_WIDGET( window ) );
}
//}
}
// =============================================================================
@ -478,10 +478,7 @@ void DoAbout(){
RADIANT_ABOUTMSG "\n\n"
"By alientrap.org\n\n"
"This program is free software\n"
"licensed under the GNU GPL.\n\n"
"NetRadiant is unsupported, however\n"
"you may report your problems at\n"
"http://www.icculus.org/netradiant/"
"licensed under the GNU GPL.\n"
) );
gtk_widget_show( GTK_WIDGET( label ) );
@ -677,13 +674,13 @@ EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){
}
}
}
// Initialize with last used values
char buf[16];
sprintf( buf, "%f", last_used_texture_layout_scale_x );
gtk_entry_set_text( x, buf );
sprintf( buf, "%f", last_used_texture_layout_scale_y );
gtk_entry_set_text( y, buf );
@ -694,7 +691,7 @@ EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){
if ( ret == eIDOK ) {
*fx = static_cast<float>( atof( gtk_entry_get_text( x ) ) );
*fy = static_cast<float>( atof( gtk_entry_get_text( y ) ) );
// Remember last used values
last_used_texture_layout_scale_x = *fx;
last_used_texture_layout_scale_y = *fy;

View File

@ -1822,16 +1822,16 @@ GtkMenuItem* create_file_menu(){
create_menu_item_with_mnemonic( menu, "Save s_elected...", "SaveSelected" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Save re_gion...", "SaveRegion" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "_Refresh models", "RefreshReferences" );
menu_separator( menu );
// menu_separator( menu );
// create_menu_item_with_mnemonic( menu, "_Refresh models", "RefreshReferences" );
// menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Pro_ject settings...", "ProjectSettings" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "_Pointfile...", "TogglePointfile" );
menu_separator( menu );
MRU_constructMenu( menu );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Check for NetRadiant update (web)", "CheckForUpdate" ); // FIXME
// create_menu_item_with_mnemonic( menu, "Check for NetRadiant update (web)", "CheckForUpdate" ); // FIXME
create_menu_item_with_mnemonic( menu, "E_xit", "Exit" );
return file_menu_item;
@ -1855,18 +1855,22 @@ GtkMenuItem* create_edit_menu(){
create_menu_item_with_mnemonic( menu, "Duplicate, make uni_que", "CloneSelectionAndMakeUnique" );
create_menu_item_with_mnemonic( menu, "D_elete", "DeleteSelection" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Pa_rent", "ParentSelection" );
create_menu_item_with_mnemonic( menu, "Snap To Grid", "SnapToGrid" );
//create_menu_item_with_mnemonic( menu, "Pa_rent", "ParentSelection" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "C_lear Selection", "UnSelectSelection" );
create_menu_item_with_mnemonic( menu, "_Invert Selection", "InvertSelection" );
create_menu_item_with_mnemonic( menu, "Select i_nside", "SelectInside" );
create_menu_item_with_mnemonic( menu, "Select _touching", "SelectTouching" );
GtkMenu* convert_menu = create_sub_menu_with_mnemonic( menu, "E_xpand Selection" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( convert_menu );
}
create_menu_item_with_mnemonic( convert_menu, "To Whole _Entities", "ExpandSelectionToEntities" );
menu_separator( menu );
// GtkMenu* convert_menu = create_sub_menu_with_mnemonic( menu, "E_xpand Selection" );
// if ( g_Layout_enableDetachableMenus.m_value ) {
// menu_tearoff( convert_menu );
// }
create_menu_item_with_mnemonic( menu, "Select All Of Type", "SelectAllOfType" );
create_menu_item_with_mnemonic( menu, "_Expand Selection To Entities", "ExpandSelectionToEntities" );
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Pre_ferences...", "Preferences" );
@ -1918,6 +1922,7 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){
create_menu_item_with_mnemonic( menu, "Entity Inspector", "ViewEntityInfo" );
}
create_menu_item_with_mnemonic( menu, "_Surface Inspector", "SurfaceInspector" );
create_menu_item_with_mnemonic( menu, "_Patch Inspector", "PatchInspector" );
create_menu_item_with_mnemonic( menu, "Entity List", "EntityList" );
menu_separator( menu );
@ -1953,6 +1958,8 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){
menu_separator( orthographic_menu );
}
create_menu_item_with_mnemonic( orthographic_menu, "Center on Selected", "CenterXYView" );
menu_separator( orthographic_menu );
create_menu_item_with_mnemonic( orthographic_menu, "_XY 100%", "Zoom100" );
create_menu_item_with_mnemonic( orthographic_menu, "XY Zoom _In", "ZoomIn" );
create_menu_item_with_mnemonic( orthographic_menu, "XY Zoom _Out", "ZoomOut" );
@ -1965,6 +1972,12 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_in_menu );
}
create_menu_item_with_mnemonic( menu_in_menu, "Show Size Info", "ToggleSizePaint" );
create_menu_item_with_mnemonic( menu_in_menu, "Show Crosshair", "ToggleCrosshairs" );
create_menu_item_with_mnemonic( menu_in_menu, "Show Grid", "ToggleGrid" );
menu_separator( menu_in_menu );
create_check_menu_item_with_mnemonic( menu_in_menu, "Show _Angles", "ShowAngles" );
create_check_menu_item_with_mnemonic( menu_in_menu, "Show _Names", "ShowNames" );
create_check_menu_item_with_mnemonic( menu_in_menu, "Show Blocks", "ShowBlocks" );
@ -1984,12 +1997,14 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){
}
menu_separator( menu );
{
GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "Hide/Show" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_in_menu );
}
create_menu_item_with_mnemonic( menu_in_menu, "Hide Selected", "HideSelected" );
create_menu_item_with_mnemonic( menu_in_menu, "Show Hidden", "ShowHidden" );
// GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "Hide/Show" );
// if ( g_Layout_enableDetachableMenus.m_value ) {
// menu_tearoff( menu_in_menu );
// }
// create_menu_item_with_mnemonic( menu_in_menu, "Hide Selected", "HideSelected" );
// create_menu_item_with_mnemonic( menu_in_menu, "Show Hidden", "ShowHidden" );
create_menu_item_with_mnemonic( menu, "Hide Selected", "HideSelected" );
create_menu_item_with_mnemonic( menu, "Show Hidden", "ShowHidden" );
}
menu_separator( menu );
{
@ -2164,13 +2179,13 @@ GtkMenuItem* create_help_menu(){
menu_tearoff( menu );
}
create_menu_item_with_mnemonic( menu, "Manual", "OpenManual" );
// create_menu_item_with_mnemonic( menu, "Manual", "OpenManual" );
// this creates all the per-game drop downs for the game pack helps
// it will take care of hooking the Sys_OpenURL calls etc.
create_game_help_menu( menu );
create_menu_item_with_mnemonic( menu, "Bug report", FreeCaller<OpenBugReportURL>() );
// create_menu_item_with_mnemonic( menu, "Bug report", FreeCaller<OpenBugReportURL>() );
create_menu_item_with_mnemonic( menu, "Shortcuts list", FreeCaller<DoCommandListDlg>() );
create_menu_item_with_mnemonic( menu, "_About", FreeCaller<DoAbout>() );

View File

@ -34,14 +34,14 @@
#include "map.h"
#include "qe3.h"
#define MRU_MAX 4
#define MRU_MAX 9
namespace {
GtkMenuItem *MRU_items[MRU_MAX];
std::size_t MRU_used;
typedef CopiedString MRU_filename_t;
MRU_filename_t MRU_filenames[MRU_MAX];
typedef const char* MRU_key_t;
MRU_key_t MRU_keys[MRU_MAX] = { "File0", "File1", "File2", "File3" };
MRU_key_t MRU_keys[MRU_MAX] = { "File0", "File1", "File2", "File3", "File4", "File5", "File6", "File7", "File8" };
}
inline const char* MRU_GetText( std::size_t index ){
@ -190,6 +190,11 @@ LoadMRU g_load_mru1( 1 );
LoadMRU g_load_mru2( 2 );
LoadMRU g_load_mru3( 3 );
LoadMRU g_load_mru4( 4 );
LoadMRU g_load_mru5( 5 );
LoadMRU g_load_mru6( 6 );
LoadMRU g_load_mru7( 7 );
LoadMRU g_load_mru8( 8 );
LoadMRU g_load_mru9( 9 );
void MRU_constructMenu( GtkMenu* menu ){
{
@ -212,6 +217,31 @@ void MRU_constructMenu( GtkMenu* menu ){
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 3 );
}
{
GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_5", LoadMRUCaller( g_load_mru5 ) );
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 4 );
}
{
GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_6", LoadMRUCaller( g_load_mru6 ) );
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 5 );
}
{
GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_7", LoadMRUCaller( g_load_mru7 ) );
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 6 );
}
{
GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_8", LoadMRUCaller( g_load_mru8 ) );
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 7 );
}
{
GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_9", LoadMRUCaller( g_load_mru9 ) );
gtk_widget_hide( GTK_WIDGET( item ) );
MRU_AddWidget( item, 8 );
}
}
#include "preferencesystem.h"

View File

@ -695,7 +695,7 @@ void Patch_registerCommands(){
GlobalCommands_insert( "SmoothCols", FreeCaller<Patch_SmoothCols>(), Accelerator( 'W', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) );
GlobalCommands_insert( "MatrixTranspose", FreeCaller<Patch_Transpose>(), Accelerator( 'M', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) );
GlobalCommands_insert( "CapCurrentCurve", FreeCaller<Patch_Cap>(), Accelerator( 'C', (GdkModifierType)GDK_SHIFT_MASK ) );
GlobalCommands_insert( "CycleCapTexturePatch", FreeCaller<Patch_CycleProjection>(), Accelerator( 'N', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) );
GlobalCommands_insert( "CycleCapTexturePatch", FreeCaller<Patch_CycleProjection>(), Accelerator( 'N', (GdkModifierType)GDK_SHIFT_MASK ) );
GlobalCommands_insert( "MakeOverlayPatch", FreeCaller<Patch_OverlayOn>(), Accelerator( 'Y' ) );
GlobalCommands_insert( "ClearPatchOverlays", FreeCaller<Patch_OverlayOff>(), Accelerator( 'L', (GdkModifierType)GDK_CONTROL_MASK ) );
}
@ -720,12 +720,12 @@ void Patch_constructMenu( GtkMenu* menu ){
create_menu_item_with_mnemonic( menu, "End cap", "PatchEndCap" );
create_menu_item_with_mnemonic( menu, "Bevel", "PatchBevel" );
{
GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "More End caps, Bevels" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_in_menu );
}
create_menu_item_with_mnemonic( menu_in_menu, "Square Endcap", "PatchSquareBevel" );
create_menu_item_with_mnemonic( menu_in_menu, "Square Bevel", "PatchSquareEndcap" );
// GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "More End caps, Bevels" );
// if ( g_Layout_enableDetachableMenus.m_value ) {
// menu_tearoff( menu_in_menu );
// }
create_menu_item_with_mnemonic( menu, "Square Endcap", "PatchSquareBevel" );
create_menu_item_with_mnemonic( menu, "Square Bevel", "PatchSquareEndcap" );
}
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Cone", "PatchCone" );
@ -765,23 +765,36 @@ void Patch_constructMenu( GtkMenu* menu ){
menu_tearoff( menu_in_menu );
}
create_menu_item_with_mnemonic( menu_in_menu, "Invert", "InvertCurve" );
GtkMenu* menu_3 = create_sub_menu_with_mnemonic( menu_in_menu, "Re-disperse" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_3 );
}
create_menu_item_with_mnemonic( menu_3, "Rows", "RedisperseRows" );
create_menu_item_with_mnemonic( menu_3, "Columns", "RedisperseCols" );
GtkMenu* menu_4 = create_sub_menu_with_mnemonic( menu_in_menu, "Smooth" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_4 );
}
create_menu_item_with_mnemonic( menu_4, "Rows", "SmoothRows" );
create_menu_item_with_mnemonic( menu_4, "Columns", "SmoothCols" );
create_menu_item_with_mnemonic( menu_in_menu, "Transpose", "MatrixTranspose" );
// GtkMenu* menu_3 = create_sub_menu_with_mnemonic( menu_in_menu, "Re-disperse" );
// if ( g_Layout_enableDetachableMenus.m_value ) {
// menu_tearoff( menu_3 );
// }
menu_separator( menu_in_menu );
create_menu_item_with_mnemonic( menu_in_menu, "Re-disperse Rows", "RedisperseRows" );
create_menu_item_with_mnemonic( menu_in_menu, "Re-disperse Columns", "RedisperseCols" );
// GtkMenu* menu_4 = create_sub_menu_with_mnemonic( menu_in_menu, "Smooth" );
// if ( g_Layout_enableDetachableMenus.m_value ) {
// menu_tearoff( menu_4 );
// }
menu_separator( menu_in_menu );
create_menu_item_with_mnemonic( menu_in_menu, "Smooth Rows", "SmoothRows" );
create_menu_item_with_mnemonic( menu_in_menu, "Smooth Columns", "SmoothCols" );
}
menu_separator( menu );
create_menu_item_with_mnemonic( menu, "Cap Selection", "CapCurrentCurve" );
create_menu_item_with_mnemonic( menu, "Cycle Cap Texture", "CycleCapTexturePatch" );
menu_separator( menu );
{
GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "Texture" );
if ( g_Layout_enableDetachableMenus.m_value ) {
menu_tearoff( menu_in_menu );
}
create_menu_item_with_mnemonic( menu_in_menu, "Cycle Projection", "CycleCapTexturePatch" );
create_menu_item_with_mnemonic( menu_in_menu, "Naturalize", "NaturalizePatch" );
create_menu_item_with_mnemonic( menu_in_menu, "Invert X", "InvertCurveTextureX" );
create_menu_item_with_mnemonic( menu_in_menu, "Invert Y", "InvertCurveTextureY" );
}
menu_separator( menu );
{
GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "Overlay" );

View File

@ -932,7 +932,8 @@ void PreferencesDialog_restartRequired( const char* staticName ){
}
void PreferencesDialog_showDialog(){
if ( ConfirmModified( "Edit Preferences" ) && g_Preferences.DoModal() == eIDOK ) {
//if ( ConfirmModified( "Edit Preferences" ) && g_Preferences.DoModal() == eIDOK ) {
if ( g_Preferences.DoModal() == eIDOK ) {
if ( !g_restart_required.empty() ) {
StringOutputStream message( 256 );
message << "Preference changes require a restart:\n";

View File

@ -1505,7 +1505,7 @@ void SurfaceInspector_registerPreferencesPage(){
}
void SurfaceInspector_registerCommands(){
GlobalCommands_insert( "FitTexture", FreeCaller<SurfaceInspector_FitTexture>(), Accelerator( 'B', (GdkModifierType)GDK_SHIFT_MASK ) );
GlobalCommands_insert( "FitTexture", FreeCaller<SurfaceInspector_FitTexture>(), Accelerator( 'F', (GdkModifierType)GDK_CONTROL_MASK ) );
GlobalCommands_insert( "SurfaceInspector", FreeCaller<SurfaceInspector_toggleShown>(), Accelerator( 'S' ) );
GlobalCommands_insert( "FaceCopyTexture", FreeCaller<SelectedFaces_copyTexture>() );

View File

@ -772,11 +772,11 @@ void CWatchBSP::DoMonitoringLoop( GPtrArray *pCmd, const char *sBSPName ){
if ( m_eState != EIdle ) {
globalOutputStream() << "WatchBSP got a monitoring request while not idling...\n";
// prompt the user, should we cancel the current process and go ahead?
if ( gtk_MessageBox( GTK_WIDGET( MainFrame_getWindow() ), "I am already monitoring a Build process.\nDo you want me to override and start a new compilation?",
"Build process monitoring", eMB_YESNO ) == eIDYES ) {
// if ( gtk_MessageBox( GTK_WIDGET( MainFrame_getWindow() ), "I am already monitoring a Build process.\nDo you want me to override and start a new compilation?",
// "Build process monitoring", eMB_YESNO ) == eIDYES ) {
// disconnect and set EIdle state
Reset();
}
// }
}
m_pCmd = str_ptr_array_clone( pCmd );
m_iCurrentStep = 0;

View File

@ -2758,6 +2758,7 @@ void XYWindow_Construct(){
GlobalPreferenceSystem().registerPreference( "NewRightClick", BoolImportStringCaller( g_xywindow_globals.m_bRightClick ), BoolExportStringCaller( g_xywindow_globals.m_bRightClick ) );
GlobalPreferenceSystem().registerPreference( "ChaseMouse", BoolImportStringCaller( g_xywindow_globals_private.m_bChaseMouse ), BoolExportStringCaller( g_xywindow_globals_private.m_bChaseMouse ) );
GlobalPreferenceSystem().registerPreference( "SizePainting", BoolImportStringCaller( g_xywindow_globals_private.m_bSizePaint ), BoolExportStringCaller( g_xywindow_globals_private.m_bSizePaint ) );
GlobalPreferenceSystem().registerPreference( "ShowCrosshair", BoolImportStringCaller( g_bCrossHairs ), BoolExportStringCaller( g_bCrossHairs ) );
GlobalPreferenceSystem().registerPreference( "NoStipple", BoolImportStringCaller( g_xywindow_globals.m_bNoStipple ), BoolExportStringCaller( g_xywindow_globals.m_bNoStipple ) );
GlobalPreferenceSystem().registerPreference( "SI_ShowCoords", BoolImportStringCaller( g_xywindow_globals_private.show_coordinates ), BoolExportStringCaller( g_xywindow_globals_private.show_coordinates ) );
GlobalPreferenceSystem().registerPreference( "SI_ShowOutlines", BoolImportStringCaller( g_xywindow_globals_private.show_outline ), BoolExportStringCaller( g_xywindow_globals_private.show_outline ) );

View File

@ -255,10 +255,10 @@ struct xywindow_globals_t
bool m_bNoStipple;
xywindow_globals_t() :
color_gridback( 1.f, 1.f, 1.f ),
color_gridminor( 0.75f, 0.75f, 0.75f ),
color_gridmajor( 0.5f, 0.5f, 0.5f ),
color_gridblock( 0.f, 0.f, 1.f ),
color_gridback( 0.77f, 0.77f, 0.77f ),
color_gridminor( 0.83f, 0.83f, 0.83f ),
color_gridmajor( 0.89f, 0.89f, 0.89f ),
color_gridblock( 1.0f, 1.0f, 1.0f ),
color_gridtext( 0.f, 0.f, 0.f ),
color_brushes( 0.f, 0.f, 0.f ),
color_selbrushes( 1.f, 0.f, 0.f ),

View File

@ -1,7 +1,16 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<!-- generated by Radiant setup, modify at your own risks -->
<links>
<item name="NetRadiant website" url="http://www.icculus.org/netradiant/"/>
<item name="q3map2 handbook (web)" url="http://shaderlab.com/q3map2/manual/default.htm"/>
<item name="ETB documentation (web)" url="http://www.map-craft.com/modules.php?name=ETB"/>
<!--item name="NetRadiant website" url="http://www.icculus.org/netradiant/"/-->
<item name="q3map2 handbook (web)" url="http://en.wikibooks.org/wiki/Category:Q3Map2"/>
<item name="Shader Manual (web)" url="http://robotrenegade.com/q3map2/docs/shader_manual/contents.html"/>
<item name="Shader Manual (offline+fixed)" url="docs/shaderManual/contents.html"/>
<item name="Mouse Shortcuts" url="docs/Mouse Shortcuts.txt"/>
<item name="Additional map compiler features" url="docs/Additional_map_compiler_features.htm"/>
<item name="Additional map editor features" url="docs/Additional_map_editor_features.htm"/>
<item name="Complete list of command line parameters" url="docs/Complete_list_of_command_line_parameters.htm"/>
<item name="Complete list of entity keys" url="docs/Complete_list_of_entity_keys.htm"/>
<item name="Complete list of shader keywords" url="docs/Complete_list_of_shader_keywords.htm"/>
<item name="Q3Map2 - FS20 - R5 readme" url="docs/fsr_readme.txt"/>
<!--item name="ETB documentation (web)" url="http://www.map-craft.com/modules.php?name=ETB"/-->
</links>

View File

@ -68,7 +68,7 @@
#define Q_CONT_NODROP 0x80000000 /* don't leave bodies or items (death fog, lava) */
#define Q_SURF_NODAMAGE 0x1 /* never give falling damage */
#define Q_SURF_SLICK 0x2 /* effects game physics */
#define Q_SURF_SLICK 0x2 /* effects game physics: zero friction on this */
#define Q_SURF_SKY 0x4 /* lighting from environment map */
#define Q_SURF_LADDER 0x8
#define Q_SURF_NOIMPACT 0x10 /* don't make missile explosions */
@ -199,7 +199,7 @@
{ "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 },
{ "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 },
{ "noob", 0, 0, Q_SURF_NOOB, 0, 0, 0 },
{ "ob", 0, 0, 0, 0, C_OB, 0 },
{ "ob", 0, 0, 0, 0, C_OB, 0 },
/* null */

View File

@ -528,7 +528,8 @@ void SetBrushContents( brush_t *b ){
//% mixed = qfalse;
/* get the content/compile flags for every side in the brush */
for ( i = 1; i < b->numsides; i++, s++ )
//for ( i = 1; i < b->numsides; i++, s++ )
for ( i = 1; i < b->numsides; i++ )
{
s = &b->sides[ i ];
if ( s->shaderInfo == NULL ) {
@ -539,6 +540,33 @@ void SetBrushContents( brush_t *b ){
contentFlags |= s->contentFlags;
compileFlags |= s->compileFlags;
/* resolve inconsistency, when brush content was determined by 1st face */
if ( b->contentShader->compileFlags & C_LIQUID ){
continue;
}
else if ( s->compileFlags & C_LIQUID ){
b->contentShader = s->shaderInfo;
}
else if ( b->contentShader->compileFlags & C_FOG ){
continue;
}
else if ( s->compileFlags & C_FOG ){
b->contentShader = s->shaderInfo;
}
//playerclip
else if ( b->contentShader->contentFlags & 0x10000 ){
continue;
}
else if ( s->contentFlags & 0x10000 ){
b->contentShader = s->shaderInfo;
}
else if (!( b->contentShader->compileFlags & C_SOLID )){
continue;
}
else if (!( s->compileFlags & C_SOLID )){
b->contentShader = s->shaderInfo;
}
}
/* ydnar: getting rid of this stupid warning */