diff --git a/plugins/entity/entity.cpp b/plugins/entity/entity.cpp index b721c45c..bf318de1 100644 --- a/plugins/entity/entity.cpp +++ b/plugins/entity/entity.cpp @@ -415,6 +415,10 @@ void Entity_Construct( EGameType gameType ){ GlobalPreferenceSystem().registerPreference( "SI_ShowAngles", BoolImportStringCaller( g_showAngles ), BoolExportStringCaller( g_showAngles ) ); GlobalPreferenceSystem().registerPreference( "LightRadiuses", BoolImportStringCaller( g_lightRadii ), BoolExportStringCaller( g_lightRadii ) ); + if( !g_showTargetNames ){ + Static::instance().m_nameKey = "classname"; + } + Entity_InitFilters(); LightType lightType = LIGHTTYPE_DEFAULT; if ( g_gameType == eGameTypeRTCW ) { diff --git a/plugins/entity/namedentity.h b/plugins/entity/namedentity.h index 69d3c091..af8e1698 100644 --- a/plugins/entity/namedentity.h +++ b/plugins/entity/namedentity.h @@ -26,7 +26,7 @@ #include "eclasslib.h" #include "generic/callback.h" #include "nameable.h" -#include "entity.h" //g_showTargetNames +#include "entity.h" #include @@ -117,7 +117,8 @@ public: } RenderableNamedEntity( NamedEntity& named, const Vector3& position, const char* exclude = 0 ) : m_named( named ), m_position( position ), m_tex( 0 ), m_exclude( exclude ) { - construct_textures( g_showTargetNames ? m_named.name() : m_named.classname() ); +// construct_textures( g_showTargetNames ? m_named.name() : m_named.classname() ); + construct_textures( m_named.name() ); m_named.attach( IdentifierChangedCaller( *this ) ); } bool excluded_not() const { @@ -261,7 +262,8 @@ public: } void identifierChanged( const char* value ){ delete_textures(); - construct_textures( g_showTargetNames ? value : m_named.classname() ); +// construct_textures( g_showTargetNames ? value : m_named.classname() ); + construct_textures( value ); } typedef MemberCaller1 IdentifierChangedCaller; }; diff --git a/radiant/entity.cpp b/radiant/entity.cpp index 2e9fb161..56c923f7 100644 --- a/radiant/entity.cpp +++ b/radiant/entity.cpp @@ -668,6 +668,21 @@ void ShowNamesRatioExport( EntityCreator& self, const IntImportCallback& importe typedef ReferenceCaller1 ShowNamesRatioExportCaller; +void ShowTargetNamesImport( EntityCreator& self, bool value ){ + const bool oldvalue = self.getShowTargetNames(); + self.setShowTargetNames( value ); + if( oldvalue != value ){ + PreferencesDialog_restartRequired( "Entity Names = Targetnames" ); + } +} +typedef ReferenceCaller1 ShowTargetNamesImportCaller; + +void ShowTargetNamesExport( EntityCreator& self, const BoolImportCallback& importer ){ + importer( self.getShowTargetNames() ); +} +typedef ReferenceCaller1 ShowTargetNamesExportCaller; + + void Entity_constructPreferences( PreferencesPage& page ){ page.appendSpinner( "Names Display Distance (3D)", 512.0, 0.0, 200500.0, IntImportCallback( ShowNamesDistImportCaller( GlobalEntityCreator() ) ), @@ -677,6 +692,9 @@ void Entity_constructPreferences( PreferencesPage& page ){ IntImportCallback( ShowNamesRatioImportCaller( GlobalEntityCreator() ) ), IntExportCallback( ShowNamesRatioExportCaller( GlobalEntityCreator() ) ) ); + page.appendCheckBox( "Entity Names", "= Targetnames", + BoolImportCallback( ShowTargetNamesImportCaller( GlobalEntityCreator() ) ), + BoolExportCallback( ShowTargetNamesExportCaller( GlobalEntityCreator() ) ) ); } void Entity_constructPage( PreferenceGroup& group ){ PreferencesPage page( group.createPage( "Entities", "Entity Display Preferences" ) ); diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 2ad56036..166db0fe 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -2079,7 +2079,6 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){ } create_check_menu_item_with_mnemonic( menu_in_menu, "Show Entity _Angles", "ShowAngles" ); create_check_menu_item_with_mnemonic( menu_in_menu, "Show Entity _Names", "ShowNames" ); - create_check_menu_item_with_mnemonic( menu_in_menu, "Entity Names = Targetnames", "ShowTargetNames" ); create_check_menu_item_with_mnemonic( menu_in_menu, "Show Light Radiuses", "ShowLightRadiuses" ); create_check_menu_item_with_mnemonic( menu_in_menu, "Show Entity Boxes", "ShowBboxes" ); diff --git a/radiant/xywindow.cpp b/radiant/xywindow.cpp index 9ad9fdc7..29cc4e26 100644 --- a/radiant/xywindow.cpp +++ b/radiant/xywindow.cpp @@ -3184,18 +3184,6 @@ void ShowBboxesToggle(){ UpdateAllWindows(); } -void ShowTargetNamesExport( const BoolImportCallback& importer ){ - importer( GlobalEntityCreator().getShowTargetNames() ); -} -typedef FreeCaller1 ShowTargetNamesExportCaller; -ShowTargetNamesExportCaller g_show_targetnames_caller; -ToggleItem g_show_targetnames( g_show_targetnames_caller ); -void ShowTargetNamesToggle(){ - GlobalEntityCreator().setShowTargetNames( !GlobalEntityCreator().getShowTargetNames() ); - g_show_targetnames.update(); - XY_UpdateAllWindows(); -} - void ShowAnglesExport( const BoolImportCallback& importer ){ importer( GlobalEntityCreator().getShowAngles() ); } @@ -3336,7 +3324,6 @@ void XYShow_registerCommands(){ GlobalToggles_insert( "ShowAngles", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_angles ) ); GlobalToggles_insert( "ShowNames", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_names ) ); GlobalToggles_insert( "ShowBboxes", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_bboxes ) ); - GlobalToggles_insert( "ShowTargetNames", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_targetnames ) ); GlobalToggles_insert( "ShowBlocks", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_blocks ) ); GlobalToggles_insert( "ShowCoordinates", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_coordinates ) ); GlobalToggles_insert( "ShowWindowOutline", FreeCaller(), ToggleItem::AddCallbackCaller( g_show_outline ) );