Crafty is a 3D object, material, model and file browsing utility targeted towards Half-Life modders
or enthusiasts looking for a Steam Independent application for quick previews. It currently supports
Half-Life 2 .bsp, .mdl, .vmf and .gl formats along with Half-Life .bsp, .mdl, .map and .rmf formats in
a variety of render modes.
- View Half-Life 2 .bsp, .gl, .mdl and .vmf files.
- View Half-Life 1 .bsp, .map, .mdl and .rmf files.
- View .obj and .skp files.
- Textured, solid, x-ray, wireframe and point render modes.
- Toggle occlusion, frustum and backface culling.
- Scene freezing.
- Export all formats and materials to .obj.
- Browse and export from GCF and other package formats.
- Browse and export materials.
- Browse and export models.
- Quick and easy setup.
- 100% free.
Crafty is designed foremost as an object viewer, but it also contains several useful features that
can be invoked externally. For example, Crafty's File System Browser, Material Browser and Model
Browser can all be invoked with special command arguments. To view one or more packages in File System
Browser simply use: Crafty.exe -fsb -mount [package 1] -mount [package 2] ... . To view one or
more packages in Material Browser simply use: Crafty.exe -msb -mount [package 1] -mount [package 2]
... . To view one or more packages in Model Browser simply use: Crafty.exe -mb -mount
[package 1] -mount [package 2] ... . For example, if you wanted to view thumbnails of the
materials in source materials.gcf you would use Crafty.exe -msb -mount "source
materials.gcf". If you are familiar with Windows you can also add shortcuts to these features in
the system context menu.
Modified: Jul 25th, 2009 - 4:37:18 pm[ 228575 Views ]
1. firetellerModified: Aug 14th, 2006 - 2:09:12 pm
This seems like a cool tool, but when I try to load a HL2 bsp it pops up an
"Error loading file:
Error: Unknown file extension."
So at the moment it doesn't seem to work at all.
Also it says "Object Viewer" on the windows and icons, perhaps "Crafty" would make more sense.
Tanks for the tools!
2. NemModified: Aug 15th, 2006 - 7:51:25 pm
How are you trying to load the .bsp files? Double click? Do they work from within
Object Viewer? The error message should have the file name after the ":" so something odd may be going
I'm on another vacation at the moment so I can't really test it, I'll have a look when get back.
What?? Filetype is *.xzp, what is that??
I do not lknow that new filetype.
4. NemPosted: Aug 17th, 2006 - 7:58:07 pm
.xzp (XZip) is the file format for the XBox equivalent of a .gcf files. If you own
the XBox version of the game, and you stick it in your computer's DVD-Rom, you will find .xzp files.
There are also source and header files in the Source SDK that relate to it.
Thanks, I know that new filertype...
The error seems to be specific to one of the machines I was using. Must be a windows
issue. So I have it working now on another computer.
I am trying to create some cinematics for a cut sequence of my level. To get the same 'look' as in game
I have altred vrad to output the lightmaps as tga files. I have exported the set as obj from crafty
(hammer dxf does not have texture param). However, the parameterization of the surfaces that come out of
craft don't match to the lightmaps, and there is only one texture coordinate set. Any ideas on how to
get the lightmap coordinates?
7. NemPosted: Aug 22nd, 2006 - 8:09:47 pm
Lightmaps require an additional UV set which is generated off the the vertices of
each face using a linear combination of the vertices in the face and the lightmap's texture axis (then
normalized by the lightmap's size and minimums).
.obj files only support one UV set so it's kinda hard to export these.
Any chance that you could put in a flag, that allows crafty to output the lightmap uv
set instead of the texture uv set, in the obj? I can combine them in maya procedurally after the
9. NemPosted: Aug 24th, 2006 - 1:25:07 am
Maybe something like this
10. BluntmannModified: Aug 24th, 2006 - 9:48:30 am
My favorite tool is the File System Browser.
It crashes when i try to extract multiple (big) mounted GCFs at the same time though. (Right after
extracting the first GCFs successfully)
I tried it with Source Engine 2, Counter-Strike Source Shared, Client and Source Materials, Models and
When i try to extract smaller Gcfs it works.
But still a really good job Nem :)
11. NemPosted: Aug 24th, 2006 - 11:30:17 am
Thanks for the info Bluntman (nice name). The next time it does this, can you post
the details of the error message? This will help me track the bug down.
I've also almost completed v2.0.0 of HLLib (the library that opens GCF files) so the File System Browser
will see a big face lift to it's internals in the next few weeks.
12. firetellerModified: Aug 24th, 2006 - 3:11:43 pm
> Maybe something like this?
Percicely. Like I said, I've got the light maps. I'll see if I can't hook the guy up on the link with
how to get them to export from vrad.
So if you can put that feature in it would be *very* helpful. It's the last piece that will allow is to
create a compleatly ingame look in a 3d package.
Alternatly, you might could give me a hent as to were in one of the valve mod kit apps I might just find
the reading or writing of the lightmap UV set (or a procedure that computes them). And I could handle
the rest myself.
I'll start looking myself, but so far I haven't see anything obvious.
you can find me at: joshua at crackcreative dot com
Thanks again for the tools!
13. NemPosted: Aug 24th, 2006 - 9:26:10 pm
Exporting the lightmaps and the lightmap UVs as a separate mesh isn't to troublesome
(that is to say, the way the code is, exporting the lightmaps can be done in a line or two), the reason
the next release is going to take about two weeks is because I'm converting it over to HLLib v2.0.0 and
I have still to implement the .map <-> .vmf conversion I promised someone else.
HLLib v2.0.0 is sitting at a healthy 8000+ lines and is just undergoing some final tweaking, and
GCFScape v1.5.0 is ready (minus the validation feature I added to HLLib v2.0.0). But as you can imagine
all these things take up a lot of my spare time and I have to prioritize feature requests.
I'll try to lookup the formulas for the UVs this weekend and post them (they weren't anywhere obvious in
the source code, I had to figure them out for myself).
14. BluntmannModified: Aug 25th, 2006 - 4:43:58 pm
you got mail concerning the bugs, sir ;)
As long as we're on the subject. It would also be very nice if you could preserve the
materials assignments. In the obj file, I get a few objects, one of which is the entire bsp model, the
others are trigger zones that I don't need. However, when I break it apart every single poly is
seperate, and they all have the same material. To rebuild I'm manually going through grouping, and
assigning materals based on the same bsp loaded in hammer (good thing I have two monitors). It sure
would save a good deal of time if I could have the materal assignments.
(I know, this is a request for later, and the light maps are much more important to me - sence there is
16. NemPosted: Aug 28th, 2006 - 8:01:05 pm
I'm not sure what you mean. The materials seem to be assigned correctly in every
modeling package/viewer I've tested.
17. firetellerModified: Aug 29th, 2006 - 4:42:47
Oh really? That's interesting. In maya it comes up as a single materal assigned to
everything. I'll check some other packages.
okay, I'm stupid... I had the wrong profile selected. I was wondering why everthing came up white.
18. bvigecPosted: Aug 30th, 2006 - 12:28:40
Whenever i try to click on a MDL file an error occurs:
Error initalizing OpenGL engine
Error: wglUseFontBitmaps() failed
I have a 6600GT, athlon 3000+ 1 GB RAM.
19. NemPosted: Aug 31st, 2006 - 10:31:02 pm
Weird, been using the same font code for years. Did you update your drivers recently?
I'll try to look into it.
20. bubaakPosted: Sep 2nd, 2006 - 12:06:27
Hi, your work seems fantastic :)
anyway, i was trying to open VtM: Bloodlines .MDL files with Crafty, but got this error:
Error: MDL version 2531 not supported.
Does it mean that Bloodlines uses different .MDL format than HL2?
21. NemPosted: Sep 2nd, 2006 - 12:46:52 pm
It would appear so. 2531 doesn't seem like a very likely version number so the header
must be a different format. Do the models make use of the .mdl, .vtf and .vvd files you see in Half-Life
2? (I'm not too familiar with blood lines.)
22. bubaakPosted: Sep 2nd, 2006 - 3:42:51
"Do the models make use of the .mdl, .vtf and .vvd files you see in Half-Life
I'm not sure what do you mean by this, could you explain please?
23. NemPosted: Sep 3rd, 2006 - 12:02:10 am
Each model in Half-Life 2 is composed of several files, namely a .mdl, a .vvd and
several .vtx files. If you only have .mdl files then VtM: Bloodlines is completely different than
24. bubaakPosted: Sep 3rd, 2006 - 10:45:35
aaah, i see
the models are composed of one .mdl, usually one .phy and some .vtx files, in some cases there is also
one or more .vmt files but no .vvd
25. NemPosted: Sep 3rd, 2006 - 12:59:25 pm
Humm, I suspect they're based on an earlier version of the Half-Life 2 models then.
Not much I can do about adding support without documentation on the format.
26. NemPosted: Sep 5th, 2006 - 5:32:00 pm
I've added the ability to export lightmaps from VBSP files. To Get the whole VBSP
file, complete with lightmap, export it twice with the following settings:
Material Type: Materials.
Material Type: Lightmaps.
You can enabled or disable Special Materials
(just keep it the same for both exports) and use whatever Texture Extension you want. These
settings can be found under the Exporting tab of the Options dialog.
Let me know how it works.
27. bubaakPosted: Sep 6th, 2006 - 4:00:01
ok cool, thanks anyway
I was wondering why this happens in Crafty Alpha 12 and BSPViewer 1.5.6 and not in
The map is de_duztec2, which i found herehttp://www.fpsbanana.com/_files/maps/aim_duztec2.zip
I tried it ingame from many angles, but nothing appeared.
Also, i noticed that Half-Life .mdl is not working correctly in Crafty at the moment, you should make a
note about that for people who are trying it at this moment, even if it still alpha.
EDIT: Another thing you should fix, is that you can't see any face of the map from outside of it. This
makes me sometimes reload the map because i lose the sight of where the map is.
Only tested in CS maps.
29. NemPosted: Sep 10th, 2006 - 12:03:20 pm
I'll look into the hole you posted above, it could be any number of differences
between how Crafty and HL render BSP files, but I'll try to sort it out.
MDL files do *work*,
they just lack animations which causes models with animations to appear all jumbled. Animations will be
added for the final release.
If you venture outside the world, you can get the whole world to
draw by disabling Occlusion Culling (Rendering menu). You can also reset the camera to its
starting position in the View menu.
Cool thx! And sorry, i didn't looked the "Reset Camera" feature
absolutely gosu program thx and keep the good work !!!
32. BluntmannPosted: Sep 16th, 2006 - 6:19:23
Awesome nem, the new version works without any error for me :)
33. FrigolitPosted: Sep 19th, 2006 - 12:17:30
Great tool, however... I found a little bug!
On the de_dust2 map from CS 1.6 it seems like when i move the camera (movement, not rotation) it
suddenly jumps from the current position to like -14723894729834.
But it seems like it started happening after i applied the textures (mounted a folder with the .wad
files in the FSB).
It doesn't occur on other maps I've tested, so I'm kinda out of ideas.
34. NemPosted: Sep 20th, 2006 - 11:59:38 am
Could be an issue with how Crafty handles keyboard input. There is no real message
loop in .NET so the keyboard input is kind of a hack (I'll try to revisit it). Does this continuously
happen or is it only once per load? In the mean time, you can reset the camera from the view menu when
it happens, though I have to say I've never experienced it.
35. FrigolitPosted: Sep 20th, 2006 - 2:09:13
It happens all the time, but only on de_dust2 (of the maps i've tested).
I've tried reloading the map and also restarting the whole app.
I can move the camera a bit, veeery short, just tapping on the key. Tap again and it flies away.
And tap it back to the previous location, so it's like if the camera was inside somekind of box.
And when it steps out of the box it jumps to a weird position.
But today it seems to be working fine so far.
I'll write if it happens again.
36. rhoenPosted: Sep 22nd, 2006 - 9:49:49
Hey great program. I'm just trying to find out the codes for any maps I don't know
yet and I'm not really sure how to go about doing that, I tried a couple of these bsp things - not sure
if the map I'm using doesn't decompile correctly or whatever but I can't find anything even close to a
code (like on a keypad that opens a door etc) how can one go about doing this? thanks for any advice and
btw so far this is the easiest (best looking) bsp viewer I've seen so far!
37. NemPosted: Sep 23rd, 2006 - 5:29:12 pm
What do you mean by finding codes? Do you mean an entity list?
38. rhoenPosted: Sep 24th, 2006 - 4:49:14
hmm It could be. I'm just talking about like when you near the end of a map and it
has special hidden rooms accessible through coded (secure, passworded) doorways. For some maps aside
from trial and error of millions of combinations, decompiling(?) may be the only way to find the codes
as the maps are older and/or it is very rare to find someone who might know it. seems like it woulda
been easier than this :) click on an object and see it's associations etc- but nothing so far. the codes
are almost always a sequence of numbers (1-9) or letters. maybe the rarer maps I'm looking for didn't
decompile correctly or something. Would this be a hard thing to do ? o.O thanks for the advice :)
39. NemPosted: Sep 27th, 2006 - 7:02:14 pm
I do plan to add the ability to select and view entity properties in Object Viewer,
however, it is on a long list of other features that need implementation so it may take some time. If
you are viewing Half-Life 1 BSP files, my BSP Viewer already has this functionality.
at first I'd like to thank you for this awesome tool! It's very handy.
But I got a problem:
Every time I load a model from outside any GFCs, the appropriate textures are missing. This happens -
for example - with Fakefactory's Cinematic Mod, where some new high poly character models are used with
also new high resolution textures. All the models can be opened, but I still haven't found a way to
display them textured.
41. NemPosted: Oct 2nd, 2006 - 1:30:51 am
You need to edit the Specifications\GameInfoCustom.csf file (in NotePad) to
add support for additional MODs to Crafty. The file contains documentation on how to do this. Once you
have added your new MOD, select its profile in Crafty and everything should work.
43. edman747Posted: Oct 8th, 2006 - 9:56:09
I would like to use crafty to fly around and check out a map.
when I load a level, the point of view is on the floor. how do i change the z, or height? plus is there
any way to use the mouse and look around?
44. NemPosted: Oct 8th, 2006 - 10:03:12 pm
Hold the right mouse button to look.
45. basty7Posted: Oct 14th, 2006 - 5:43:39
@ who have the cs 1.6 maps for 3Dsmax ? :D
46. StinoPosted: Oct 15th, 2006 - 3:30:58
Hmmz, 3ds max seems to crash when i import the obj file from crafty.
47. NemPosted: Oct 15th, 2006 - 12:41:56 pm
What type of object are you exporting from Crafty and what export settings are you
using in Crafty? What error message does 3DS Max give you?
I used 3DS Max 8 to test .obj
exportation so it should work. These are the proper import settings to use in 3DS max:
48. StinoModified: Oct 18th, 2006 - 5:41:28
sometime it works if i set import options to multiple.
and with import settings on single it works mostly for smaller maps. but the normals are totally messed
i export bsp files.
3d max error: unexpected error, 3d max has detected no changes in your scene and wil exit now. or if i
import to something unsaved: will attempt to save a copy of your scene in ...
if i export models from the model viewer i don't have problems with normals only if i export with the
and for some reason the horizon is vertical (the whole world is turned 90° around the x axis)
49. NemPosted: Oct 19th, 2006 - 3:33:21 pm
Dunno what to say, I've tried a bunch of maps and they all work fine for
If your importer only works some of the time (seemingly randomly) it's a good indication
that there might be something wrong with your importer.
BSP normals are not exported (3DS Max
should calculate these) and model normals should be fine as long as Unify
isn't checked. Object
Viewer and Model Viewer use the same export code, so if you get different results it sounds like a
problem with your importer.
The rotation should be fixed if Rotate Model
checked, but it's hard to know what your importer will do because OBJ files do not specify the
"up" vector, and it is different for different modeling packages.
searching for another 3DS Max OBJ importer on the net? There is also a good program out there called PoseRay
can import Crafty OBJ files fine, view them, transform them (swap Y and Z to change the up vector etc.)
for different modeling packages and export them.
PoulpePosted: Oct 20th, 2006 - 6:51:11
I load a BSP with Object Viewer. i have everything but the decals. Is it normal?
51. NemPosted: Oct 20th, 2006 - 11:39:39 am
Yes, there are a couple of things the rendering engine is still missing, decals are
one of them. They will be added at one point or another.
PoulpePosted: Oct 21st, 2006 - 2:37:41
53. TheShadePosted: Oct 22nd, 2006 - 4:11:21
Will support for exporting Counter-Strike Condition Zero/Half-Life Mod maps be
supported any time soon? Just curious as I've wanted to port one of the Condition Zero maps to
Counter-Strike: Source, and I am unable to decompile it with any of the modern decompiles out there.
Also, thanks to this tool one of the mod teams I work on has been able to port our maps to another
engine with ease as we are constantly debating what engine to follow through with.
54. NemPosted: Oct 23rd, 2006 - 11:41:59 am
Crafty has been able to load Half-Life 1 maps for a long time (just select the
correct profile) and has been able to export Half-Life 1 maps to .obj since alpha 12. It cannot,
however, decompile them to .map format. For this you may try my BSP Viewer or any number of old school
Checking in again re lightmap uv export. Still relly need a way to apply the
lightmaps. Even the formula for the calculation would be helpful.
56. NemPosted: Oct 24th, 2006 - 7:45:06 pm
Checking in again re lightmap uv export. Still relly need a way to apply the
lightmaps. Even the formula for the calculation would be helpful.
I added it ages ago
Wow I red through the comments and didn't even see that. Thanks a million!!
58. jonofmacPosted: Nov 4th, 2006 - 12:35:29
Hey, quick question... I'm trying to convert a HL2 map to a .obj file for use with
3Ds Max 9 (for a little project) and I can get the object to import just fine, but the textures are not
preserved... If i import the .mtl list I still do not get the textures with the files loaded... just
default grey... Which means i have to go through by hand and add the .tgas to the textures 1 at a time
which is a slight pain in the arse... Is this just the way it is? Or am I doing something wrong??
59. NemPosted: Nov 4th, 2006 - 4:54:28 pm
The textures work from me in 3DS Max 8. Check the screen shot I posted a little while
ago above for the import settings I use.
60. StinoPosted: Nov 13th, 2006 - 12:35:34
hmm, it seems that it export a few times the same texture again.
like the floor of a room with a hole in the middle, at the left and the right of the hole its texture 1,
front is texture 3, and back is texture 4, while the whole floor is the same material (try to export the
prizon background from hl2, the lower level has like 10 different textures for the wall while it should
and thats quite annoying if you are replacing the .tga files by .vtf files with normal and spectacular