mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-21 11:20:58 +00:00
Texture browser: show textures from subfolders of the selected folder
This commit is contained in:
parent
4b9ae5e332
commit
718d3d6f35
1 changed files with 25 additions and 12 deletions
|
@ -46,16 +46,20 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private TreeNode selectedset; //mxd
|
||||
private long selecttextureonfill; //mxd. Was string, which wasn't reliable whem dealing with long texture names
|
||||
private readonly bool browseflats; //mxd
|
||||
private readonly bool showsubfolder; //sphere
|
||||
|
||||
// Properties
|
||||
public string SelectedName { get { return selectedname; } }
|
||||
|
||||
|
||||
// Constructor
|
||||
public TextureBrowserForm(string selecttexture, bool browseflats)
|
||||
{
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
General.Interface.DisableProcessing(); //mxd
|
||||
|
||||
//sphere
|
||||
showsubfolder = true;
|
||||
|
||||
TreeNode item; //mxd
|
||||
long longname = Lump.MakeLongName(selecttexture ?? "");
|
||||
// [ZZ] check if this name is even ok.
|
||||
|
@ -538,19 +542,15 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
TreeNodeData data = (TreeNodeData)child.Tag;
|
||||
browser.AddFolder(ImageBrowserItemType.FOLDER, data.FolderName);
|
||||
|
||||
//sphere: Add textures from subfolders
|
||||
if (showsubfolder)
|
||||
FillSubfolderImagesList(child, data);
|
||||
}
|
||||
|
||||
// Add textures
|
||||
if(browseflats)
|
||||
{
|
||||
// Add all available flats
|
||||
foreach(ImageData img in set.Flats) browser.AddItem(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Add all available textures
|
||||
foreach (ImageData img in set.Textures) browser.AddItem(img);
|
||||
}
|
||||
// Add textures (or flats)
|
||||
foreach (ImageData img in (browseflats ? set.Flats : set.Textures))
|
||||
browser.AddItem(img);
|
||||
|
||||
browser.MakeTexturesUnique(); // biwa
|
||||
|
||||
|
@ -558,6 +558,19 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
browser.EndAdding();
|
||||
}
|
||||
|
||||
//sphere
|
||||
private void FillSubfolderImagesList(TreeNode node, TreeNodeData data)
|
||||
{
|
||||
IFilledTextureSet subset = data.Set;
|
||||
foreach (ImageData img in (browseflats ? subset.Flats : subset.Textures))
|
||||
browser.AddItem(img);
|
||||
|
||||
foreach (TreeNode child in node.Nodes)
|
||||
{
|
||||
FillSubfolderImagesList(child, (TreeNodeData)child.Tag);
|
||||
}
|
||||
}
|
||||
|
||||
private void FillCategoriesList()
|
||||
{
|
||||
// Start adding
|
||||
|
|
Loading…
Reference in a new issue