Sorry for the late reply I didn't see your comment, texdiag.exe is in the same github releases page that texconv.exe is at. But I'll add a second link to the same page that mentions texdiag.exe for those that didn't know.
Hi mate, I just wanted to say that this is an absolute godsend. I don't even mod fallout 4, but I've looking for around for something like this for a while now. Thanks so much!
You can edit the batch script to change the mip maps.
Spoiler:
Show
By default I think texconv uses all 11 mipmaps which increases the file size of the images, so if you want to change that you can edit/open the .bat file with notepad and in line 88 add "-m #" after the "-srgb" argument, replace # with the number of mipmaps, with 1 being the minimum I think. You can also further customize that line to fit whatever you need texconv to do, more info on texconv is in the github page.
Line 88 "%@TEXCONVEXE02%" %@LOGO% -srgb -m 1 -f %@FORMAT% "%@ISTRING%" -o "%@OSTRING%" -y The "%@string%" are batch variables, the -letter are texconv arguments.
This is not related to F04 in any way with what I'm working on, but how would you set this so that the script loops through every single sub folder under a main folder, that have .DDS files and converts them to .PNG files to the same sub folders?
Hello sorry for the late reply, haven't been active for a while. Yes such a thing is relatively simple to do, you can probably even find free image converters that can convert DDS textures to another format if you prefer to use a GUI. Let me know if you would still like me to put together a bat script for this.
Yeah I planned on adding mipmap configuration as well as other features in the next update, I'm just taking a hiatus from modding for a while.
By default I think texconv uses all 11 mipmaps which increases the file size of the images, so if you want to change that you can edit/open the .bat file with notepad and in line 88 add "-m #" after the "-srgb" argument, replace # with the number of mipmaps, with 1 being the minimum I think. You can also further customize that line to fit whatever you need texconv to do, more info on texconv is in the github page.
This seems to be working well so far, i've used texconv itself successfully but the lack of folder structure preservation made it basically useless. This fixes that, so great work!
The only (probably pretty difficult) feature i would want implemented would be some sort of multi-threaded mode where multiple instances of texconv are working on different files simultaneously.
Thanks! Honsestly the code I wrote for this script is really sloppy so now that I know a bit more on bash scripting I've planned on rewriting this script anyways, so adding multithreading with the /affinity command should be pretty straight forward.
The only real challange is making it auto pick different CPU threads for all of the different PC configurations ( 4 cores 2 threads, 8 cores 8 threads, 6 cores 12 threads, 24 cores 48 threads, etc..) and give them to each process and then somehow giving each process it's own divided list of textures to convert. But it should be possible.
I didn't even know there was a 64-bit executable, I'm guessing you just have to either rename the x64 exe to "texdiag.exe" or edit the script to point to the x64 executable.
Edit: Oh wow I feel dumb, texconv has the BC7_UNORM & BC7_UNORM_SRGB formats which I would guess is the new BC7 format. I'll post an update for the newer format instead of DXT5. But all the script requires is to change the @FORMAT=DXT5 TO @FORMAT=BC7_UNORM I'm not sure what the difference is between the SRGB one.
Tbh, I've never even heard of that before, I just started getting into modding and these tools weren't available back when fallout 4 was released so this is all new to me. According to the wiki, Elric also uses texconv, to make optimized textures for fallout 4, which by that I assume they mean it compresses the textures to the new BC7 format?
There's still much for me to learn and I don't know if my script can convert to the new optimized BC7 format, from until very recently I've always been using DXT5 since I didn't really know much about modding. But my script basically fully utilizes and relies purly on texconv.exe, however it can be customized to do just about anything texconv and batch scripting is capable of doing, like adding BSArch implementation to automatically pack the new DDS images into a BA2 or something.
While Elric only uses the optimized BC7 format (I assume), this script can be easily changed to all the different ones TexConv supports, including DXT1 through DXT5 for legacy support of the other games, as well as the uncompressed RGBA formats, though I'm not sure about BC7, I didn't really see it in the list of formats. There are also a bunch of parameters to mess around with, including block compression, so maybe my script is also capable of BC7 optimization? I'll need to look into it further.
So I guess since it optimizes the textures by default, has lot's of cool features, and even has a GUI, it's probably better to use than my script, which is more geared towards power users that are familiar with the command line.
"The texture process functions as a configuration wrapper to Microsoft's DirectXTex (texconv.exe) processing tool." https://www.creationkit.com/fallout4/index.php?title=Elric
Gotcha. I don't know anything about the specifics of texture compression with DDS files. I've not looked into the option in Elric since the default options have worked for me so far.
The extensibility sounds pretty dope though. That's something that can be useful if someone knows how to use it (unlike me lol).
22 comments
By default I think texconv uses all 11 mipmaps which increases the file size of the images, so if you want to change that you can edit/open the
.bat file with notepad and in line 88 add "-m #" after the "-srgb"
argument, replace # with the number of mipmaps, with 1 being the minimum
I think. You can also further customize that line to fit whatever you
need texconv to do, more info on texconv is in the github page.
Line 88
"%@TEXCONVEXE02%" %@LOGO% -srgb -m 1 -f %@FORMAT% "%@ISTRING%" -o "%@OSTRING%" -y
The "%@string%" are batch variables, the -letter are texconv arguments.
you may be interested by my work here.
Really digging the sleek UI design, very cool.
By default I think texconv uses all 11 mipmaps which increases the file size of the images, so if you want to change that you can edit/open the .bat file with notepad and in line 88 add "-m #" after the "-srgb" argument, replace # with the number of mipmaps, with 1 being the minimum I think. You can also further customize that line to fit whatever you need texconv to do, more info on texconv is in the github page.
Line 88
"%@TEXCONVEXE02%" %@LOGO% -srgb -m 1 -f %@FORMAT% "%@ISTRING%" -o "%@OSTRING%" -y
The "%@string%" are batch variables, the -letter are texconv arguments.
The only (probably pretty difficult) feature i would want implemented would be some sort of multi-threaded mode where multiple instances of texconv are working on different files simultaneously.
The only real challange is making it auto pick different CPU threads for all of the different PC configurations ( 4 cores 2 threads, 8 cores 8 threads, 6 cores 12 threads, 24 cores 48 threads, etc..) and give them to each process and then somehow giving each process it's own divided list of textures to convert. But it should be possible.
Tbh, I've never even heard of that before, I just started getting into modding and these tools weren't available back when fallout 4 was released so this is all new to me. According to the wiki, Elric also uses texconv, to make optimized textures for fallout 4, which by that I assume they mean it compresses the textures to the new BC7 format?
There's still much for me to learn and I don't know if my script can convert to the new optimized BC7 format, from until very recently I've always been using DXT5 since I didn't really know much about modding. But my script basically fully utilizes and relies purly on texconv.exe, however it can be customized to do just about anything texconv and batch scripting is capable of doing, like adding BSArch implementation to automatically pack the new DDS images into a BA2 or something.
While Elric only uses the optimized BC7 format (I assume), this script can be easily changed to all the different ones TexConv supports, including DXT1 through DXT5 for legacy support of the other games, as well as the uncompressed RGBA formats, though I'm not sure about BC7, I didn't really see it in the list of formats. There are also a bunch of parameters to mess around with, including block compression, so maybe my script is also capable of BC7 optimization? I'll need to look into it further.
So I guess since it optimizes the textures by default, has lot's of cool features, and even has a GUI, it's probably better to use than my script, which is more geared towards power users that are familiar with the command line.
"The texture process functions as a configuration wrapper to Microsoft's DirectXTex (texconv.exe) processing tool."
https://www.creationkit.com/fallout4/index.php?title=Elric
The extensibility sounds pretty dope though. That's something that can be useful if someone knows how to use it (unlike me lol).
But I can't take all the credit, TexConv does all the complex image processing work. I just made a simple script for it.