Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Diablo IV (.tex) textures

Get your graphics formats figures out here! Got details for others? Post here!
si3g
ultra-n00b
Posts: 5
Joined: Fri Apr 15, 2016 2:50 am
Has thanked: 3 times

Re: Diablo IV (.tex) textures

Post by si3g »

The textures i tried to extract, eg the sanctuary map, seem to result in garbage output.

I don't know if the original author would like to share this on github so we can contribute.
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

It was only given out to one person because it was never fully tested, so there may be a few unknown formats. But, I think it can handle most of them. Any bad formats it can't handle need to be collected and uploaded somewhere for further inspection. Both meta and payload files required.
MisterT
ultra-n00b
Posts: 2
Joined: Mon Jun 12, 2023 9:06 am

Re: Diablo IV (.tex) textures

Post by MisterT »

Chrome is currently refusing to redownload it, because of known trojan.
When I bypass it, windows defender blocks it, because known trojan.
When bypassing that as well and running it, Malwarebyte (Premium) goes haywire, because of known trojan.
As a certainty, I scanned my computer with SpyHunter, which also quarantined it as known trojan.

I guess I will not get the files I hope to obtain :P
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

Let me try to nip this virus nonsense right here and now.

The original program is 100% clean and safe. Downloading files from a single trusted source would be best, so if people distribute it elsewhere, that guarantee is lost. Malicious folks may try to hijack it.

This is the original hash from virustotal.com:

SHA-256: d2dceb984eaf160731d3e309048dfc66457a51161d386d71fe32dc1a159ffc53
File size 527.00 KB (539648 bytes)

So, trust this one.

btw, even Windows has a hash tool built into its operating system:

> certutil -hashfile d4_texture_converter.exe SHA256

SHA256 hash of file d4_texture_converter.exe:
d2 dc eb 98 4e af 16 07 31 d3 e3 09 04 8d fc 66 45 7a 51 16 1d 38 6d 71 fe 32 dc 1a 15 9f fc 53
CertUtil: -hashfile command completed successfully.
si3g
ultra-n00b
Posts: 5
Joined: Fri Apr 15, 2016 2:50 am
Has thanked: 3 times

Re: Diablo IV (.tex) textures

Post by si3g »

roswell wrote: Tue Jun 13, 2023 11:22 am It was only given out to one person because it was never fully tested, so there may be a few unknown formats. But, I think it can handle most of them. Any bad formats it can't handle need to be collected and uploaded somewhere for further inspection. Both meta and payload files required.
Here's the huge sanctuary map tex file, the output image from the tool gives something that indicates it's not handling properly something about the dimensions or something.

https://easyupload.io/ski68u

Here's how the output image looks like:

Image
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

I believe 6208x6208 is the correct texture dimensions. I assume it's a picture of a world map, according to its filename.
I'm not aware if the texture format stores any kind of scanline padding. But, it does look like the pixels are shifted.
I tried some things, but I couldn't unshift the pixels into something recognizable.

Subrect coords are always stored at the end of the file, but these are usually (0,0) to (1,1), so I see nothing there that would cause the pixels to shift.

Are there other "_Continent_map.tex" files with similar dimensions that convert correctly?
si3g
ultra-n00b
Posts: 5
Joined: Fri Apr 15, 2016 2:50 am
Has thanked: 3 times

Re: Diablo IV (.tex) textures

Post by si3g »

There are 4 map files that seem big:

Frac_Underworld_map.tex
Kehj_Hell_map.tex
Quest_Template_World_map.tex
Sanctuary_Eastern_Continent_map.tex

They all result with the same kind of output.
User avatar
IstiGI
ultra-n00b
Posts: 6
Joined: Mon Nov 16, 2015 4:10 pm
Has thanked: 1 time
Been thanked: 1 time

Re: Diablo IV (.tex) textures

Post by IstiGI »

Dimensions in meta are correct but the output textures contains blank alpha channel space. For example the world map texture file is actually 6272x6208 where 6208x6208 is a visible part of the texture. It would be very nice to get the updated version of the converter

Till then I can share a pretty ineffective way to get D4 textures
1) Install Noesis
2) Install TextureFinder plugin by Durik256
3) Choose .tex file in the plugin, select texture size and format (you can take it info from meta)
4) Now you can export a picture from Noesis preview
Image
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

Ok, the correct dimensions are 6272 x 6208. The decoder is simply being sent the wrong dimensions.

But, the converter uses the meta header to determine the dimensions for all textures, and
these say 6208 x 6208. The header doesn't contain the value of 6272. Difference is 64 (6272-6208),
and I don't see that value either. So, I don't know where they're getting 6272.

Image
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

Texture dimensions for this particular .tex file is stored in the meta header at:
0x20 width (WORD)
0x22 height (WORD)

I don't know how often this happens, if there's only a few textures that show this problem, then I could just add a simple hack until it breaks:
if (w == 6208) w = 6272;

btw, this program should never hangup or crash, so if any particular texture crashes it, let me know.

It saves out .png files at default (best) compression, so there's always a small delay when dealing with large textures.
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

Ok, I updated the converter:

- added map dimensions fix
- compiled as 64-bit
- compiled as unicode
- added readme.txt

Download link, Updated (v105)
https://app.box.com/s/iwcael2wbqbuor4eq7f5coqaexpz2cpt

SHA-256 33fd1dbb14e85595c73243a53f7beeb73e753c65176dda21185017217e33e50b
File size 619.50 KB (634368 bytes)

Uploaded to VirusTotal, 100% clean.
Last edited by roswell on Mon Jun 26, 2023 5:44 am, edited 4 times in total.
uroborostestsubject
advanced
Posts: 54
Joined: Thu Nov 23, 2017 12:11 pm
Has thanked: 9 times
Been thanked: 7 times

Re: Diablo IV (.tex) textures

Post by uroborostestsubject »

This is a question that has nothing to do with textures, but does the plug-in for extracting diablo 4 models still not exist? I looked up some plugins, but couldn't find anything that could extract bones and weight together. I think we need a plug-in that can completely convert the model and extract it rather than the texture. Does anyone know about these plugins or tools?
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

D4 model extraction thread here:
viewtopic.php?t=26587

But I think stand-alone tools are going to have a harder time importing D4 models, since they separated the data, and hashed all the filenames. You can't look up resources like materials or textures without having some kind of database telling you which file to use.

The only way to do it cleanly is for someone to build model extraction directly into CASExporer, or something like that.
User avatar
UuPhan
n00b
Posts: 13
Joined: Wed Apr 21, 2021 7:31 am
Has thanked: 10 times
Been thanked: 7 times

Re: Diablo IV (.tex) textures

Post by UuPhan »

Does anyone have a problem with AO, Normal, Metal, Roughness? I couldn't find a right format with these type of textures. Some example:
001_GoatManRanged_Body_AO.tex
001_GoatManRanged_Body_Metal.tex
001_GoatManRanged_Body_Normal.tex
001_GoatManRanged_Body_Rough.tex
roswell
advanced
Posts: 62
Joined: Tue Apr 02, 2019 1:00 am
Has thanked: 6 times
Been thanked: 13 times

Re: Diablo IV (.tex) textures

Post by roswell »

The pixel format is found in the meta header, and you only posted the payload data. Need to see both files.
Post Reply