About VTFLib - NemPosted: Apr 18th, 2005 - 10:27:01 pm

VTFLib is a LGPL open source programming library, written by Neil Jedrzejewski and I. VTFLib provides a C and C++ API that, with a few simple functions, can open and save .vtf and .vmt files, providing access to all known features. The library functions independent of Steam, allowing third party applications to use the library without Steam present or runningi on the target system.

VTFLib includes two GPL example applications, VTFCmd and VTFEdit. VTFCmd is a C command line frontend for VTFLib that can create .vtf and .vmt files from various source formats. It is similar in functionality to Valve's vtex Source SDK utility, but offers a lot more control. VTFEdit is a C++ .NET graphical frontend for VTFLib with viewing and creation capabilities. Both VTFCmd and VTFEdit support several source image formats, including, but not limited to .bmp, .dds, .gif, .jpg, .png and .tga.


VTFEdit .vtf frame/face/mipmap viewing. VTFEdit .vtf information viewing.

VTFEdit file system browsing. VTFEdit .vmt viewing.

VTFEdit import options. VTFEdit batch conversion options.

VTFEdit .wad conversion options. VTFEdit .vmt creation wizard.

VTFEdit .vmt creation wizard. VTFCmd command line options.

Documentation: Features:
  • Convert .bmp, .dds, .gif, .jpg, .png and .tga files to .vtf and .vmt files with easy access to all .vtf options.
  • Convert .vtf files to .bmp, .jpg, .png and .tga files.
  • Convert entire folders to and from .vtf and .vmt files.
  • Convert .wad files to .vtf and .vmt files.
  • Explore .bsp, .gcf, .pak, .wad and .xzp packages.
  • Preview .vtf files.
  • Recent file menu.
  • 100% Free.
Download: Third Party Downloads:
Modified: Sep 14th, 2007 - 3:28:10 am[ 595172 Views ]

[ 1 2 3 4 5 6 7 8 9 ]

16. NoBodyPosted: Jun 26th, 2005 - 4:46:56 pm
Ok :)
Would it be posible for you to make a option to extract a vmt and all it's related .vtf files from the gcf file?

17. NemPosted: Jun 27th, 2005 - 10:15:54 pm
I suppose. I want to modify the file system tree to update in real time, so maybe I'll add that to the tree as a special .vmt option.

18. DeathByNukesPosted: Sep 7th, 2005 - 7:12:50 pm
Can you make VTFEdit import alpha from .BMPs? So far the only format that seems to import alpha is .DDS sad.
Also, the binary archive download doesn't have VTFCmd in it.

19. NemPosted: Sep 7th, 2005 - 9:57:29 pm
You should use .tga files if you want an alpha channel.

And VTFCmd is in the binary archive, it is in the bin folder.

20. DeathByNukesPosted: Sep 8th, 2005 - 5:49:23 pm
Haha I just found out Photoshop 7 doesn't save alpha in .tga files without a patch!

21. sputnikPosted: Sep 27th, 2005 - 9:28:12 pm
where the heck is the button to download it!>!!?!?!!?!?

22. pgr999Posted: Oct 21st, 2005 - 4:26:03 am

I am looking to add a buy zone to cs source map dotd_hellhold(I only have the bsp file).
Any suggestions would be appriciated.
G@b00n Vip3r

23. XinPosted: Nov 17th, 2005 - 2:04:54 am
exhaustedAAAAH, How do you make a VTF !!!? when i greated texutere i fot those pink and black squares.waaa

Can someone tell me where a tutorial is or make one?viking

24. NemPosted: Nov 17th, 2005 - 2:16:42 am
It's not your .vtf that is the problem, it is your .vmt file (specifically the $basetexture path).

25. makit3dPosted: Jan 8th, 2006 - 7:04:55 pm
I had read that vtfedit converts .vtf files into tga files. I have done this, but can it convert more than one at a time?

26. NemModified: Jan 8th, 2006 - 7:30:56 pm
  1. Select Tools->Convert Folder.
  2. Set the Input Folder to the folder with your .vtf files.
  3. Set the Output Folder to the folder you want the .tgas to go.
  4. Set the Filter to *.vtf.
  5. Press Convert.
That's all there is to it, additional faces and frames in animated .vtfs and environment maps will not be converted, these should be done manually.

27. makit3dModified: Jan 8th, 2006 - 7:43:32 pm
I mistook the batch convert section as looking to convert .tga's to .vtf.

Also, let me say thanks for these very sweet tools. I began my mapping days with Doom! It's a wild trip to see things get to where they are and these tools you have created sure to do make it a great deal more fun.


p.s. (lol...this is giving me a huge smile. I wish kids were this easy to deal with!)

28. AK47FALCONPosted: Apr 4th, 2006 - 5:47:08 pm
Hi I just got the VtfEdit program but when I try to use the tga to vtf conversion I get a program error when ever I try to select an input or output folder and I have reinstalled the program many times.

29. NemPosted: Apr 4th, 2006 - 6:01:08 pm
I'd need the exact error message, but I think you are experiencing one of the bugs with the .NET v1.1 framework. This is a critical bug in the .NET framework which prevents the OpenFolder dialog from running if the threading is not in a certain apartment state (and there is no way to set this state, it is system dependant).

As a work around, you can manually set the paths by setting the following two variables in your VTFEdit.ini file (before running VTFEdit):
Forms.BatchConvert.InputFolder =
Forms.BatchConvert.OutputFolder =

I will try to come up with a workaround if I can, but there isn't really an elegant solution. GCFScape had this same problem and I ended up converting it to .NET v2.0 (which doesn't have this bug). Unfortunately converting s a royal pain in the ass.

30. AK47FALCONModified: Apr 4th, 2006 - 6:27:17 pm
Ahh I see now. Lol I was looking around for that .ini! One um question though...I have three TGA's that won't conver to VTF but they meet the specs for conversion(powers of two). I get the message error loading "file". If you could help me on that, that would be nice. Good program though once I got past the errors....I hate vtex.

EDIT: Nevermind I went back and took the three bmps those files originally came from and the program converted fine. Excellent program!!! Just setup a shortcut to the .ini!

[ 1 2 3 4 5 6 7 8 9 ]

You must be logged in to post a comment.
New users can register here.
Nem's Tools v2.0 © 2006 Ryan Gregg.
Execution time: 0.182177s; Queries: 17.
dishes served.
Powered by The Wavelength.

Valid XHTML 1.0 Transitional Valid CSS