Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some more zdoom texture managment tools #1391

Merged
merged 5 commits into from
Aug 15, 2022

Conversation

ill
Copy link
Contributor

@ill ill commented Jun 6, 2022

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.

…. 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
Copy link
Contributor Author

ill commented Jun 6, 2022

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

@Gaerzi
Copy link
Collaborator

Gaerzi commented Jun 9, 2022

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

@ill
Copy link
Contributor Author

ill commented Jul 1, 2022

Ah OK, going to fix these soon.

@Gaerzi
Copy link
Collaborator

Gaerzi commented Aug 4, 2022

@ill Any news?

@ill
Copy link
Contributor Author

ill commented Aug 15, 2022

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

@Gaerzi Gaerzi merged commit 1a0d25e into sirjuddington:master Aug 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants