This is archived copy of currently unavailable Nem's Tools website, restored from Web Archive.
Download section now provides links to both Web Archive and to this unofficial Github mirror.
About Crafty - NemPosted: Aug 7th, 2006 - 1:21:50 pm

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.

Object Viewer

Object Viewer

Object Viewer

Object Viewer

File System Browser

Material Browser

Model Browser
  • 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.
Hidden Features:

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 2 3 4 ]

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:

"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 on.

I'm on another vacation at the moment so I can't really test it, I'll have a look when get back.hiding

3. snakemediaPosted: Aug 17th, 2006 - 3:46:06 pm
What?? Filetype is *.xzp, what is that??

I do not lknow that new filetype.

Gb SnakeMedia

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.

5. snakemediaPosted: Aug 18th, 2006 - 5:54:54 am
Thanks, I know that new filertype...

Thanks Nerm!

Gb SnakeMedia

6. firetellerPosted: Aug 22nd, 2006 - 11:49:58 am
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.

Next question:

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.

8. firetellerPosted: Aug 23rd, 2006 - 3:56:24 pm
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 fact.


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) waaa

I tried it with Source Engine 2, Counter-Strike Source Shared, Client and Source Materials, Models and Sounds.
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 ;)

15. firetellerPosted: Aug 27th, 2006 - 3:42:11 pm
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 no workaround)


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 pm
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 pm
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.

PLZ Help.

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 pm
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 pm
"Do the models make use of the .mdl, .vtf and .vvd files you see in Half-Life 2?"

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 Half-Life 2.

24. bubaakPosted: Sep 3rd, 2006 - 10:45:35 am
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:

First export:
Material Type: Materials.
Textures enabled.
Models enabled.

Second Export:
Material Type: Lightmaps.
Textures enabled.
Models disabled.

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 pm
ok cool, thanks anyway

28. joselitostrikeModified: Sep 9th, 2006 - 6:22:11 pm
I was wondering why this happens in Crafty Alpha 12 and BSPViewer 1.5.6 and not in Counter-Strike 1.6.

The map is de_duztec2, which i found here

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. cool

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.

30. joselitostrikePosted: Sep 10th, 2006 - 12:24:06 pm
Cool thx! And sorry, i didn't looked the "Reset Camera" feature lazy bleeh

31. nitropoweredPosted: Sep 13th, 2006 - 11:02:17 am
absolutely gosu program thx and keep the good work !!! cool

32. BluntmannPosted: Sep 16th, 2006 - 6:19:23 am
Awesome nem, the new version works without any error for me :)



33. FrigolitPosted: Sep 19th, 2006 - 12:17:30 pm
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.
Any thoughts?

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 pm
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 pm
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 am
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.

40. Mad MartinPosted: Oct 1st, 2006 - 5:31:33 pm
Hi Nem,

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.

Any suggestions?


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.

42. Mad MartinPosted: Oct 2nd, 2006 - 6:12:57 am
Thanks, that did fine.

43. edman747Posted: Oct 8th, 2006 - 9:56:09 am
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 am
@ who have the cs 1.6 maps for 3Dsmax ? :D

46. StinoPosted: Oct 15th, 2006 - 3:30:58 am
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 am
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 up.

crafty output:
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 object viewer.

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 me.

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 isn't 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.

Maybe try searching for another 3DS Max OBJ importer on the net? There is also a good program out there called PoseRay which 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.

50. Le PoulpePosted: Oct 20th, 2006 - 6:51:11 am
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.

52. Le PoulpePosted: Oct 21st, 2006 - 2:37:41 pm
Thank youcheckingthenews

53. TheShadePosted: Oct 22nd, 2006 - 4:11:21 pm
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 decompilers.

55. firetellerPosted: Oct 24th, 2006 - 7:40:22 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.


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.

57. firetellerPosted: Oct 28th, 2006 - 5:04:04 pm
Wow I red through the comments and didn't even see that. Thanks a million!!


58. jonofmacPosted: Nov 4th, 2006 - 12:35:29 am
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 pm
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 be one)

and thats quite annoying if you are replacing the .tga files by .vtf files with normal and spectacular settings.

[ 1 2 3 4 ]

Nem's Tools v2.0 © 2006 Ryan Gregg.
Execution time: 0.07963s; Queries: 14.