Wow, is it really four years since my last post? A lot’s happened since then, far too much to go into detail, but anyway some updates.

I get a lot of email about updating my tools, especially 3DS Max plug-ins and Jed’s Half Life Model viewer. As I don’t do modding any more I haven’t had much motivation but I got the itch to do some coding again so have slowly started updating things for my own amusement.

I’ve tested the VTF Shell Extensions on Windows 8.1 and 10 and they work fine. I’ve updated the installer to work properly with these operating systems so you shouldn’t have any problems. As always, make sure you have the correct Micrsoft Runtimes installed (VC++ 2008 SP1) as well. I could have baked them into the installer but that would have made it a 10MB download.

As for the 3DS Max plug-ins, so far the I’ve got the SMD import and exporter to work on 3DS Max 2015 (and should work on 2016 too as their compatible) and I’ve in the process of porting the VTA export and VTF plug-ins. As soon as I’ve done that I’ll look at getting them to work in 3DS Max 2017.

I’m going to be following a general policy that I’ll probably only support the two most recently versions of 3DS Max as long as it doesn’t require me to maintain and entire new build chain. It seems that every other version of Max requires a newer version of Visual Studio and a code re-build. I don’t have the time and effort to maintain that sort of set-up as I did before so as newer versions come out, I’ll retire support for later ones. I’ll still leave the plug-ins for older versions of Max available – I just won’t back port any new features or bug fixes.

As for JHLMV and anything else, most of those need to be re-written from scratch as the original code was written way back in the days of Windows 98 and it’s just broken. Who knows when that will get an update.

I had a bit of free time so I managed to do a quick update of the Windows Shell Extensions, specifically to add support for version 7.5 VTF files.

There aren’t many big changes but as part of an update/clean-up of the code I’ve re-written the Windows Vista/7 thumbnail extension to use the new API that came with those versions. Several people told me that they also run on Windows 2008R2 so I’ve now officially added support for Windows 7 and 2008R2 to the installer. I’ve also changed the version number to 1.7.5 to reflect the version of VTF that it supports.

There are still a few 7.5 version files that it can’t create thumbnails for but it seems that is down to a problem with VTFLib more than with the shell extensions themselves.

IMPORTANT: Please un-install any older version of the extensions you have installed first before installing these. There have been some changes to filenames and trying to install this on top of an older version will cause conflicts. The installer should detect and warn you about an older version but for your own sake, un-install the old version first. You can do this from the control panel under “Add/Remove Programs” or “UnInstall a Program”.

One final note. For Vista/7 you also need to install the Visual Studio 2008 SP1 runtime pack. Links for this are given with the extensions download link. I could of included these in the installer but it would of been a 11Mb download instead of 0.5Mb. :/

Aug. 14, 2011 @ 17:40

Finally…

I’ve updated all of my plug-ins to include support from 3DS Max 2012 now. The VTF importer now also supports version 7.5 VTF files. I know a lot of people wanted them and I apologise for the delay. Real life gets in the way sometimes and takes priority.

I’ve tested them as thoroughly as I can but if you do find any bugs let me know. Remember to tell me how to recreate the issue you’re having and if possible send me the file that is causing the problem. No, I’m not going to steal your models – yes some people are that paranoid.

One final note – I’ve now officially dropped support for Max versions less then 9. Keeping a separate build environment going for that was pointless as it’s so old so I’m afraid no VTF importer for older versions of Max.

I haven’t added any new features this time around, but I have a few in the pipeline so keep watching this space. For now, just re-download the ZIP file which will have the 2012 included in it.

As I hinted at in my previous post, I’ve made some changes to my 3DS Max SMD Exporter in collaboration with Shawn Olson and Hunted Cow Studios. This is not a game-changing update but it adds a few features that were specifically asked for.

Here’s a list of what’s new.

  • Fixed issues with the options dialogue and added tool-tips to help explain features.
  • The exporter will use the name of the material applied to the mesh if no diffuse texture is loaded.
  • Meshes flagged as un-renderable will export their node but not their mesh. Useful for CAT rigs.
  • Keyframe only and Bookend modes for specialised animation exports.
  • Re-wrote the MaxScript interface from scratch. Example in the MaxScript folder.

Note: This update does not work with 3DS Max 2012! Support for that version is coming very soon. Promise!.

And with that, I’m off on my holidays. Tootle pip!

I’ve now re-compiled my 3DS Max plug-ins to support 3DS Max 2010. Grab them while they’re hot! 🙂

The only change has been to the SMD exporter where I’ve added support for spline objects after user requests. I left it out on purpose to stop people using splines in place of bones or dummies in model skeletons. The reason being is that they are very quirky and it often results in the animation in Max not matching the rotation on export. They are fine to use to as controllers to influence the rotation of a bone or dummy but don’t use them as bones themselves. You’ll put yourself in a world of pain.

I’ve testing the plug-ins in the 32-bit version of 3DS Max 2010 but I’m assuming that they’ll work fine in the 64-bit version too.

As always, any problems let me know.

I’ve been suffering from insomnia so I decided to finish up some changes to the SMD importer bringing it up to release version 1.0.

Changes in this version from the alpha are fixes to try and handle SMD parsing better, a “pre-parse” option to speed up reading SMDs by skipping data you don’t want and most significantly, support for importing animations.

Ta-da! So here it is after far to many months of faffing around trying to find time to work on it.

This is an “alpha” release meaning I can’t be 100% sure it’s bug free and it doesn’t contain all the features I’d hope to add to a final version. Most noticeably it doesn’t re-create smoothing groups (it uses vertex normals instead) and currently doesn’t support animation imports. That said, it’s got a couple of nice extra features I added.

I’ve also made a small update to the SMD exporter plug-in to enable it to export vertex normals correctly. This is important if your just importing/exporting from Max without editing.

As usual I welcome feedback and bug reports but remember I can’t fix a bug without a good description and the file that was causing the problem. I have to be able to replicate the problem to solve it.

Thanks to all for your patience and apologies it took so long. Sadly real life and my innate crapness at mathematics is to blame for the delay.

Edit: Oops, put a wrong file in the archive. Fixed it now.

Thanks to users who provided good feedback and sample Max files to debug from I’ve managed to nail a couple of annoying bugs in my 3DS Max SMD exporter plugin.

The first bug was incorrect error warnings about a mesh not having Sub/Muli-Object material when using a non-English version of 3DS Max. Thanks to Cherubim Entia for reporting that bug and testing the fix. The second bug was the exporter crashing when a rig contained a lot of mirrored parent bone/objects reported by “ifO” over at Mapcore who provided me with a good description and a Max file to debug from. The fix for this bug should also fix the crash when exporting an animation backwards.

Thanks again to those of you who have reported bugs and sorry I haven’t been able to jump on the problem as quickly as I liked. Hope the updated plug-in fixes most of the current issues.

Jun. 23, 2008 @ 14:30

I’ve made an update to the 3DS Max VTF Importer plug-in to add support for Max 2009. While I was at it I took the opportunity to re-write some bits of the code and stick some optimisations in. Not much but every little helps.

If you’re installing this new version please make sure you delete the old plug-in file from your Max plug-ins folder before you install the new one. It’s especially important for 64-bit Max users.

Been a while since I made any posts about what I’m up to these days so I thought it was about time I did. Not that I made many before but anyway…

In what little free time I’ve had over the past three months I’ve been hitting the Ham and Jam code pretty hard, doing what feels like a huge amount of coding to try and nail all the bugs we found in our last play test. There’s still some small niggles but if the hlcoders mailing list is to be believed, their inherent SDK bugs and hard to fix and not likely to go away.

Anyway, of the new thing to add was the deploy system for weapons with a bi-pod which, after two false starts, actually works now. The process of doing the deployment and swapping animations wasn’t too hard – it’s just all the other crap you have to deal with like the logic to check if you should be allowed to deploy and limiting player movement, preventing weapon selection, etc.

TF2 Heavy imported into 3DS Max 9

Still, apart from the art asset side of things, game play wise Ham and Jam is really starting to come together and resemble a proper game now.

I’ve been working quite a bit with 3DS Max plug-ins over the past week too and finally found a couple of hours to do some more work on the SMD importer I’m writing for Max 9, 2008 and 2009. I made a bit of a breakthrough today in that I made the first successful test run of the mesh re-construction code and apart from a small few snags at first, it actually works!

TF2 Heavy imported into 3DS Max 9

This may not seem like a big deal, but when you consider how an SMD file stores data it’s actually pretty cool. SMD files store each polygon in your model as a separate un-joined triangle. The problem with importing data like that is you get a huge number of duplicate vertices and your polygons aren’t actually connected together. As a result, you can’t smooth them out or set the normals properly as anyone who’s tried to use the MaxScript importer will know. The code I wrote analyses the data coming in from the SMD and uses some logic to reconstruct the mesh as one continuous mesh rather than separate triangles.

Lastly, you’ll probably of noticed over the last month or so I updated all my VTF tools to support the 7.4 texture version which started shipping with the Orange Box games. It took a while to do, mainly due to VTFLib which they rely on being a bit out of date. Nem usually handles the releases and while the code was there, he’d got really busy and didn’t have a chance to get it out as quickly as usual. Still, not biggy, it’s done now so hopefully everything should handle EP2/TF2 textures just fine now.

That’s all for now. Back to work…