SLADE icon indicating copy to clipboard operation
SLADE copied to clipboard

Some more zdoom texture managment tools

Open ill opened this issue 2 years ago • 4 comments

Added some tools to find duplicate texture and patch entries in zdoom. This will help manage large texture packs. It'll check across Texture entries, texture files themselves, and flats. The patch tool will detect duplicate patch names across the ptable and all the patch files that can exist in an archive.

Other types of duplicate entries should be easy to detect using the existing find duplicate named entries tool.

ill avatar Jun 06 '22 17:06 ill

This is an example of the duplicate texture finding run in my massive texture pack I'm working on. I was previously trying to manage this with various OS file finding tools, but many duplicates still slipped through. This helps catch just about everything, and is case insensitive to ensure there is no name clashing within the Zdoom package namespaces.

https://github.com/ill/DooM_illTextureCompilation

The duplicate patch tool: I print the name of the files and if the patch is in the ptable, I print a path to the ptable.

PS15A0 /patches/d1gfxd2/PS15A0.png /patches/txgray/PS15A0.png WALL70_2 /patches/d1gfxd2/WALL70_2.png /patches/txgray/WALL70_2.png WALL70_3 /patches/d1gfxd2/WALL70_3.png /patches/txgray/WALL70_3.png

The duplicate textures tool: I print the texture name, and all the paths of that file. If the texture is contained within a Textures file, I print the path of that textures file.

BLACK /textures/sof/black.png /flats/MARS3DTex/BLACK.png BRICK1 /textures/doompotpurri/BRICK1.png /textures/sof/brick1.png BRICK2 /textures/doompotpurri/BRICK2.png /textures/sof/brick2.png BRNPOIS2 /TEXTURES.d1gfxd2 /TEXTURES.patchtex BROVINE /TEXTURES.d1gfxd2 /TEXTURES.patchtex BROWNGR5 /textures/doompotpurri/BROWNGR5.png /TEXTURES.patchtex CEMPOIS /TEXTURES.d1gfxd2 /TEXTURES.patchtex CRATE2 /textures/BAK_LEG/CRATE2.png /textures/sof/crate2.png CRATE3 /textures/BAK_LEG/CRATE3.png /textures/sof/crate3.png CRATE4 /textures/sof/crate4.png /TEXTURES.patchtex CRATE5 /textures/sof/crate5.png /TEXTURES.patchtex CUBICLE /TEXTURES.patchtex /TEXTURES.tnttex DESKTOP1 /textures/daiktatana/AnimatedTextures/DESKTOP1.png /textures/sof/desktop1.png DESKTOP2 /textures/daiktatana/AnimatedTextures/DESKTOP2.png /textures/sof/desktop2.png DNMETL01 /textures/duketex/DNMETL01.png /flats/duketex/DNMETL01.png DNMETL02 /textures/duketex/DNMETL02.png /flats/duketex/DNMETL02.png DNMETL03 /textures/duketex/DNMETL03.png /flats/duketex/DNMETL03.png DNMETL04 /textures/duketex/DNMETL04.png /flats/duketex/DNMETL04.png DNMETL05 /textures/duketex/DNMETL05.png /flats/duketex/DNMETL05.png DNMETL06 /textures/duketex/DNMETL06.png /flats/duketex/DNMETL06.png DNMETL07 /textures/duketex/DNMETL07.png /flats/duketex/DNMETL07.png DNMETL08 /textures/duketex/DNMETL08.png /flats/duketex/DNMETL08.png DNMETL09 /textures/duketex/DNMETL09.png /flats/duketex/DNMETL09.png DNMETL10 /textures/duketex/DNMETL10.png /flats/duketex/DNMETL10.png DNMETL11 /textures/duketex/DNMETL11.png /flats/duketex/DNMETL11.png DNMETL12 /textures/duketex/DNMETL12.png /flats/duketex/DNMETL12.png DNMETL13 /textures/duketex/DNMETL13.png /flats/duketex/DNMETL13.png DNMETL14 /textures/duketex/DNMETL14.png /flats/duketex/DNMETL14.png DNMETL15 /textures/duketex/DNMETL15.png /flats/duketex/DNMETL15.png DNMETL16 /textures/duketex/DNMETL16.png /flats/duketex/DNMETL16.png DNMETL17 /textures/duketex/DNMETL17.png /flats/duketex/DNMETL17.png DNMETL20 /textures/duketex/DNMETL20.png /flats/duketex/DNMETL20.png DNMETL21 /textures/duketex/DNMETL21.png /flats/duketex/DNMETL21.png DNMETL23 /textures/duketex/DNMETL23.png /flats/duketex/DNMETL23.png DOOR2 /textures/doompotpurri/DOOR2.png /textures/sof/door2.png DOOR3 /textures/chasmtex/DOOR3.png /textures/sof/door3.png DOOR4 /textures/sof/door4.png /TEXTURES.patchtex DOOR5 /textures/sof/door5.png /TEXTURES.patchtex DOOR6 /textures/sof/door6.png /TEXTURES.patchtex DOOR7 /textures/sof/door7.png /TEXTURES.patchtex DOOR8 /textures/sof/door8.png /TEXTURES.patchtex EGSUPRT3 /TEXTURES.patchtex /TEXTURES.tnttex GLASS1 /textures/nmncorp/GLASS1.png /textures/sof/glass1.png GLASS2 /textures/nmncorp/GLASS2.png /textures/sof/glass2.png GOLD /textures/mageslayer/GOLD.png /textures/sof/gold.png GRASS1 /textures/sof/grass1.png /flats/mlcetex/GRASS1.png GRASS2 /textures/sof/grass2.png /flats/mlcetex/GRASS2.png GRID1 /textures/decontex/GRID1.png /textures/sof/grid1.png GRID2 /textures/decontex/GRID2.png /textures/sof/grid2.png GROUND /textures/ChasmBeta/GROUND.png /flats/nmncorp1/GROUND.png HAZARD /textures/mlcetex/HAZARD.png /flats/nmncorp1/HAZARD.png LITE2 /TEXTURES.d1gfxd2 /TEXTURES.patchtex LITE4 /TEXTURES.d1gfxd2 /TEXTURES.patchtex LITE96 /TEXTURES.d1gfxd2 /TEXTURES.patchtex LITEMET /TEXTURES.d1gfxd2 /TEXTURES.patchtex LITESTON /TEXTURES.d1gfxd2 /TEXTURES.patchtex METALDR /TEXTURES.patchtex /TEXTURES.tnttex MIDBARS4 /textures/BAK_LEG/MIDBARS4.png /TEXTURES.patchtex MIDBARS5 /textures/BAK_LEG/MIDBARS5.png /TEXTURES.patchtex MIDGRAT2 /textures/BAK_LEG/MIDGRAT2.png /TEXTURES.patchtex MIDGRAT3 /textures/BAK_LEG/MIDGRAT3.png /TEXTURES.patchtex MIDVINE1 /TEXTURES.d1gfxd2 /TEXTURES.patchtex MIDVINE2 /TEXTURES.d1gfxd2 /TEXTURES.patchtex M_RDOOR /TEXTURES.patchtex /TEXTURES.tnttex M_TEC /TEXTURES.patchtex /TEXTURES.tnttex M_YDOOR /TEXTURES.patchtex /TEXTURES.tnttex N5WOOD09 /TEXTURES.nb5texd2 /TEXTURES.nb5texd2 NMETL1 /textures/nmncorp2/NMETL1.png /flats/nmncorp2/NMETL1.png NTKGN30D /textures/doompotpurri/NTKGN30D.png /textures/UDET/NTKGN30D.png N_CGRN01 /TEXTURES.mortres /TEXTURES.nmtext1 N_CGRY01 /TEXTURES.mortres /TEXTURES.nmtext1 N_CORA01 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRATE4 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRATE5 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRATE6 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRATE7 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRATE8 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRED01 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRTLT2 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRTLT3 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRTWD2 /TEXTURES.mortres /TEXTURES.nmtext1 N_CRTWD3 /TEXTURES.mortres /TEXTURES.nmtext1 N_CYEL01 /TEXTURES.mortres /TEXTURES.nmtext1 N_LTMX01 /TEXTURES.mortres /TEXTURES.nmtext1 N_MTBX11 /TEXTURES.mortres /TEXTURES.nmtext1 N_MTBX12 /TEXTURES.mortres /TEXTURES.nmtext1 N_MTBX13 /TEXTURES.mortres /TEXTURES.nmtext1 N_PPECN1 /TEXTURES.mortres /TEXTURES.nmtext1 N_PPECN2 /TEXTURES.mortres /TEXTURES.nmtext1 PIPE7 /textures/mlcetex/PIPE7.png /TEXTURES.patchtex PIPES2 /textures/nmncorp/PIPES2.png /TEXTURES.patchtex PLATEF1 /textures/doompotpurri/PLATEF1.png /flats/decontex/PLATEF1.png Q3TX_700 /TEXTURES.q3tex /TEXTURES.q3tex SAND /textures/doompotpurri/SAND.png /textures/sof/sand.png SLIME1 /TEXTURES.patchtex /TEXTURES.plutoniatex SLIME2 /TEXTURES.patchtex /TEXTURES.plutoniatex SLIME3 /TEXTURES.patchtex /TEXTURES.plutoniatex SLIME4 /TEXTURES.patchtex /TEXTURES.plutoniatex SLIME5 /TEXTURES.patchtex /TEXTURES.plutoniatex SLIME8 /TEXTURES.patchtex /TEXTURES.plutoniatex SPACEB1 /textures/doom64/SPACEB1.png /textures/UDET/SPACEB1.png SPACEB2 /textures/doom64/SPACEB2.png /textures/UDET/SPACEB2.png SPACEB3 /textures/doom64/SPACEB3.png /textures/UDET/SPACEB3.png SPACEC1 /textures/doom64/SPACEC1.png /textures/UDET/SPACEC1.png SPACEC2 /textures/doom64/SPACEC2.png /textures/UDET/SPACEC2.png SPACEC3 /textures/doom64/SPACEC3.png /textures/UDET/SPACEC3.png STKIH6 /textures/decontex/STKIH6.png /TEXTURES.decontex STKIH7 /textures/decontex/STKIH7.png /TEXTURES.decontex STONGARG /TEXTURES.d1gfxd2 /TEXTURES.patchtex STONPOIS /TEXTURES.d1gfxd2 /TEXTURES.patchtex STUCCO6 /textures/sof/stucco6.png /TEXTURES.patchtex STUCCO7 /textures/sof/stucco7.png /TEXTURES.patchtex STUCCO8 /textures/sof/stucco8.png /TEXTURES.patchtex TEKWALL3 /TEXTURES.d1gfxd2 /TEXTURES.patchtex WALL1 /textures/chasmtex/WALL1.png /textures/sof/wall1.png WALL2 /textures/chasmtex/WALL2.png /textures/sof/wall2.png WARNING2 /textures/doompotpurri/WARNING2.png /textures/sof/warning2.png WOODSKUL /TEXTURES.d1gfxd2 /TEXTURES.patchtex

ill avatar Jun 06 '22 17:06 ill

Also, it's styled as ZDoom, not Zdoom.

Gaerzi avatar Jun 09 '22 19:06 Gaerzi

Ah OK, going to fix these soon.

ill avatar Jul 01 '22 16:07 ill

@ill Any news?

Gaerzi avatar Aug 04 '22 07:08 Gaerzi

Hi, sorry for the delay. Had my Doom modding laptop in a weird state. Bout to update this.

ill avatar Aug 15 '22 05:08 ill