A collection of various tools and libraries for the Hitman game engine, Glacier.
A collection of libraries that allow converting various game resources to JSON and back, each targetting a specific Hitman game. The library exposes a C interface that can be directly integrated into third party tools, without additional dependencies. You can also find a C# / .NET wrapper around ResourceLib here.
Currently supported games and resource types:
Game | Supported Resources |
---|---|
Hitman 3 | TEMP , TBLU , AIRG , ATMD *, CBLU , CPPT , CRMD , DSWB , ECPB , GFXF , GIDX , VIDB , WSGB , ENUM , RTLV , UICB |
Hitman 2 | TEMP , TBLU , AIRG , ATMD *, CBLU , CPPT , CRMD , DSWB , ECPB , GFXF , GIDX , VIDB , WSGB , ENUM , RTLV , UICB |
Hitman 2016 | TEMP , TBLU , AIRG , ATMD *, CBLU , CPPT , CRMD , DSWB , GFXF , GIDX , VIDB , WSGB , RTLV , UICB |
Hitman Absolution* | TEMP , TBLU , AIRG , CBLU , CPPT , CRMD , DSWB , GFXF , GIDX , WSGB |
*
Experimental
A companion library to ResourceLib, used to generate conversion and generation code for a specific game. It can be injected into any of the supported titles, and it will generate the various files that ResourceLib needs. Usually used to update ResourceLib after a title update. More information on updating ResourceLib using this tool can be found below.
A library containing basic research on the NavPower navmesh format. It currently accepts a navmesh resource and converts it to a JSON representation that can be rendered by the NavViewer tool mentioned below.
A command-line tool that allows converting various game resources to JSON and back, using ResourceLib. It supports all the game and resource formats that ResourceLib supports.
A tool that automatically detects any supported running game processes and injects CodeGenLib into them, using it to generate code for ResourceLib.
A tool that post-processes the property text files generated by CodeGenLib into a form usable by ResourceLib.
A tool that parses Hitman Absolution debug depot moduleinfo files and generates a list of properties and enums for use by CodeGenLib. This is needed because this information is stripped from the executable in Hitman Absolution.
A command-line tool that allows converting NavPower navmeshes into a custom JSON representation, using the NavWeakness library.
A web-based viewer of NavPower navmeshes, which uses the output of the NavTool to show a realtime 3D representation of the navmesh. Useful for validating research.
Almost every time there's a new game / title update, the ResourceLib for that game needs to updated. The following steps are necessary to perform that update:
- Start the game in question and wait until you reach the main menu.
- Run the
CodeGen
tool, making sure thatCodeGenLib.dll
is in the same directory as it. - Open the directory with the name of the game that was created in the directory of the
CodeGen
tool. - Copy all the files starting with
ZHM
into the appropriateResourceLib
directory (for example for Hitman 3 copy them toLibraries/ResourceLib/Src/Generated/HM3
). - Run the
PropertyBundler
tool by passing the path to the directory of ZHMTools as an argument to it (for examplePropertyBundler.exe C:\Path\To\ZHMTools
. - Re-compile
ResourceLib
.