Jed’s Half-Life Model Viewer

The defacto tool for previewing Half-Life models is Mete Ciragan’s Half-Life Model Viewer. However, the current version doesnt support the new texture features of the Half-Life engine. To get around this, I’ve modified the source of the v1.25 of the Half-Life Model viewer and added support for these features as best I can plus added some new ones.

Sequence view with added event info and sound playbackAdditive model texture plus GCF file opened direct in JHLMVWeapon Origin viewTexture view with UV map overlay

The program is a complete hack as I’m no C++ expert and it was the first C++ program I ever attempted, but here’s the list of current enhancements to the default 1.25 viewer:

  • GUI re-organised
  • Default background colour is now blue/grey instead of black
  • “Save Options” allows you to save your preferences so they are loaded next time you start HLMV
  • Dump Model Info option creates a text file giving a detailed breakdown of your models internal structure
  • Acts as a front-end to STUDIOMDL and MDLDEC allowing you to decompile and compile models from within HLMV
  • Can open GCF, PAK, WAD and BSP files
  • Poly counter shows how many polygons are being drawn
  • Supports the Alpha and Additive texture flags
  • Displays transparent and additive textures in the model preview
  • Texture flags can be set and previewed and saved to the model
  • Option to view the UV Map for any given texture
  • Sequence panel now shows additional sequence parameters
  • Events for a given sequence can be viewed
  • Previewing of new weapon origins for v_model’s (tweaked this version)
  • Addition of crosshair and guides for helping with re-origining weapons
  • Small bugs from HLMV 1.25 fixed

Download

IMPORTANT: Jed’s Half-Life Model Viewer is for Goldsrc games only, i.e. the original Half-Life, CounterStrike 1.6, Day of Defeat 1.3, etc. If you want to look at models for Source based games like Half-Life2, CounterStrike:Source of Day of Defeat:Source, use the HLMV version included in the Source SDK.

Known bugs

  • 3D view doesnt move or respond to keyboard commands occasionally. Just click once inside the 3D window to un-stick it
  • Scale Mesh/Bones can be a little funky at times
  • Loading a model while in Weapon Origin view can make the model get a little lost when switching tabs

Mini FAQ

Q) I’ve moved my model and now I can’t find it. How do I centre it?
A) Use the “Center View” option under the “Options” menu.

Q) Why do my textures look blurry?

A) HLMV has to scale all textures up to be a power-of-2. This is a requirement of most graphic card hardware. Because of the scaling, some blurring may occur. Textures that are originally power-of-2 will blur less. Also running HLMV in a 16-bit colour mode will cause the colours to appear less than optimal.

Q) How do I use the decompiler/compiler option?
A) First grab a copy of STUDIOMDL and MDLDEC relevant for your mod/game. A good place to look is at: http://collective.valve-erc.com/. Next, use “Configure Tools” to tell HLMV where these are. Then its as simple as choosing Decompile or Compile and pointing it to you MDL or QC file.

Q) I’ve decompiled my model and re-compiled it but some of my textures are no longer chrome and additive.
A) MDLDEC and STUDIOMDL dont seem to be able to handle textures with multiple rendermode flags sometimes. If this happens, re-set your texture flags within HLMV and save your model from the “File Menu”.

Q) How do I use the Weapon Origin Featue?
A)Decompile your v_model and add and $origin line along. with the values from the Weapon Origin view into your QC file and re-compile. A tutorial on doing this using HLMV can be found at: http://homepage.ntlworld.com/scitzo/hlmvtut.htm.

Q) How do I play back event sounds?
A) Use the “Set Sound Folder” option on the “Options” menu to set the root folder of where your sounds are stored. For example, if your event triggers a sound called “\common\ding.wav” and you set your sound folder as “C:\My Sounds”, HLMV will look for and play “C:\My Sounds\common\ding.wav”.

Q) How do I use Save and Recall View?

A) Move the model viewport into a position you like and choose “Save View”. You can them move the model around or load another model and using “Recall View” will snap the camera back to the position you saved. This can also be done in fullscreen mode with C & R.

Q) How do I open/convert a PS2 Half-Life model?
A) When you open a file, click on the “Files of type:” option and select the PS2 model type. When the model is loaded you can then use “Save Model As” and the model will then be saved in PC Half-Life format.

Q) How do I open/extract from a GCF ?
A) Click on the item you want to extract then right click and choose extract and choose a location to extract to. If the file is a MDL, texture and sequence files will be extracted with it.

Q) Can I preview a file without extracting it?
A) Yes, double click the file. If its a sound it will play, if its a model HLMV will load it. Any other file will launch the currently associated windows application for that file type (if one exists).

Changelog

Version 1.3.6

  • Added Windows Vista fixes
  • Updated HLLib to version 1.1.8.0

Version 1.3.5

  • Added Windows XP themes support
  • Updated HLLib to version 1.1.6.0
  • Fixed minor memory leak
  • Fixed errant message box about changed models

Version 1.3

  • Replaced PAK viewer with a generic Half-Life Package Viewer
  • Can now open GCF, BSP, WAD and PAK files
  • Extracting a model automaticall extracts texture and sequence files with it
  • Removed the “Black Alpha Option”
  • Removed the File Associations. Package viewer now opens files with the currently registered application for that type
  • Removed dependancy on DevIL library

Version 1.2

  • Added support for PS2 Half-Life DOL models
  • Added Export UV as BMP option
  • Added option to playback event sounds during animation
  • Added “Save View” and “Recall View” so you can remember a viewport camera position
  • Added “Black Alpha” option to black out transparent texture parts to avoid blue edges
  • Added ability to use GUIStudioMDL as a compiler
  • Fixed erroneous event display
  • Other stuff I can’t remember

Version 1.1

  • Added “Wireframe Overlay” option
  • Added “View Eye Position” option
  • Added Polygon counter to the sub-models menu
  • Added sequence controls to Weapon Origin view
  • Added a few “user friendly” reminders to some tabs
  • Small tweaks to stop textures in “Texture View” blurring so much
  • Sexy new icon!
  • Proper installer/Uninstaller

Version 1.0

  • Fixed config loading errors
  • Expanded Model Dump info
  • Added support for decompiling/compiling
  • Re-organised GUI
  • Added UW Map display option
  • Improved Events display for Sequences
  • Adjusted Weapon Origin view for accuracy
  • Various bug fixes

BETA versions

Version 1.1b

  • Re-wrote rendering code
  • Fixed “X-Ray” additive textures (needs testing, may still occur on multi-layered additive meshes)
  • Improved transparency support to be more like Half-Life’s
  • Added Day Of Defeat first-person weapon origin editing

Version 1.0b

  • Added support for transparent and additive texture modes
  • Added support for setting of texture flags and previewing
  • Added listing of events associated with a sequence
  • Added additional sequence info
  • Added dump model info option
  • Added Save Options command
  • Changed default background colour to grey

License / Disclaimer

You are allowed to distribute software on this page freely as long as it is not for profit and this documentation is intact and unmodified. If you do decide to distribute it, please let me know as I’d like to know who’s using it.

This software is experimental. I, the author, assume no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.