Skip to content

Commit

Permalink
#5219: Add option to texture browser to show "Other Materials", whose…
Browse files Browse the repository at this point in the history
… material names don't start with the usual "textures/" prefix
  • Loading branch information
codereader committed Apr 20, 2020
1 parent b2372ac commit a2e190e
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 1 deletion.
1 change: 1 addition & 0 deletions install/user.xml
Expand Up @@ -91,6 +91,7 @@
<contextMenuMouseEpsilon value="5" />
<maxShadernameLength value="18" />
<clampToUniformSize value="1" />
<showOtherMaterials value="0" />
</browser>
<defaultTextureScale value="0.5" />
<quality value="3" />
Expand Down
5 changes: 4 additions & 1 deletion radiant/ui/texturebrowser/TextureBrowser.cpp
Expand Up @@ -220,11 +220,13 @@ TextureBrowser::TextureBrowser(wxWindow* parent) :
_showTextureFilter(registry::getValue<bool>(RKEY_TEXTURE_SHOW_FILTER)),
_showTextureScrollbar(registry::getValue<bool>(RKEY_TEXTURE_SHOW_SCROLLBAR)),
_hideUnused(registry::getValue<bool>(RKEY_TEXTURES_HIDE_UNUSED)),
_showOtherMaterials(registry::getValue<bool>(RKEY_TEXTURES_SHOW_OTHER_MATERIALS)),
_uniformTextureSize(registry::getValue<int>(RKEY_TEXTURE_UNIFORM_SIZE)),
_maxNameLength(registry::getValue<int>(RKEY_TEXTURE_MAX_NAME_LENGTH)),
_updateNeeded(true)
{
observeKey(RKEY_TEXTURES_HIDE_UNUSED);
observeKey(RKEY_TEXTURES_SHOW_OTHER_MATERIALS);
observeKey(RKEY_TEXTURE_UNIFORM_SIZE);
observeKey(RKEY_TEXTURE_SHOW_SCROLLBAR);
observeKey(RKEY_TEXTURE_MOUSE_WHEEL_INCR);
Expand Down Expand Up @@ -386,6 +388,7 @@ void TextureBrowser::filterChanged()
void TextureBrowser::keyChanged()
{
_hideUnused = registry::getValue<bool>(RKEY_TEXTURES_HIDE_UNUSED);
_showOtherMaterials = registry::getValue<bool>(RKEY_TEXTURES_SHOW_OTHER_MATERIALS);
_showTextureFilter = registry::getValue<bool>(RKEY_TEXTURE_SHOW_FILTER);
_uniformTextureSize = registry::getValue<int>(RKEY_TEXTURE_UNIFORM_SIZE);
_showTextureScrollbar = registry::getValue<bool>(RKEY_TEXTURE_SHOW_SCROLLBAR);
Expand Down Expand Up @@ -519,7 +522,7 @@ bool TextureBrowser::materialIsVisible(const MaterialPtr& material)
return false;
}

if (!string::istarts_with(material->getName(), GlobalTexturePrefix_get()))
if (!_showOtherMaterials && !string::istarts_with(material->getName(), GlobalTexturePrefix_get()))
{
return false;
}
Expand Down
4 changes: 4 additions & 0 deletions radiant/ui/texturebrowser/TextureBrowser.h
Expand Up @@ -26,6 +26,7 @@ namespace ui
namespace
{
const char* const RKEY_TEXTURES_HIDE_UNUSED = "user/ui/textures/browser/hideUnused";
const char* const RKEY_TEXTURES_SHOW_OTHER_MATERIALS = "user/ui/textures/browser/showOtherMaterials";
const char* const RKEY_TEXTURE_UNIFORM_SIZE = "user/ui/textures/browser/uniformSize";
const char* const RKEY_TEXTURE_SHOW_SCROLLBAR = "user/ui/textures/browser/showScrollBar";
const char* const RKEY_TEXTURE_MOUSE_WHEEL_INCR = "user/ui/textures/browser/mouseWheelIncrement";
Expand Down Expand Up @@ -103,6 +104,9 @@ class TextureBrowser :
// if true, the texture window will only display in-use shaders
// if false, all the shaders in memory are displayed
bool _hideUnused;

// Whether materials not starting with "textures/" should be visible
bool _showOtherMaterials;

// The uniform size (in pixels) that textures are resized to when m_resizeTextures is true.
int _uniformTextureSize;
Expand Down
1 change: 1 addition & 0 deletions radiant/ui/texturebrowser/TextureBrowserManager.cpp
Expand Up @@ -66,6 +66,7 @@ void TextureBrowserManager::registerPreferencePage()
page.appendSpinner(_("Max shadername length"), RKEY_TEXTURE_MAX_NAME_LENGTH, 4, 100, 1);

page.appendCheckBox(_("Show Texture Filter"), RKEY_TEXTURE_SHOW_FILTER);
page.appendCheckBox(_("Show \"Other Materials\""), RKEY_TEXTURES_SHOW_OTHER_MATERIALS);
}

// Static command target
Expand Down

0 comments on commit a2e190e

Please sign in to comment.