Half-Life Unified SDK Map Decompiler Created 11 months ago2023-12-01 14:27:57 UTC by Solokiller Solokiller

Created 11 months ago2023-12-01 14:27:57 UTC by Solokiller Solokiller

Posted 11 months ago2023-12-01 14:27:57 UTC Post #348130
The Half-Life Unified SDK Map Decompiler is a cross-platform map decompiler based on Quake 3's BSPC map decompiler tool.

Designed to decompile Half-Life 1 maps only (including Half-Life Alpha maps) this decompiler fixes bugs, adds support for maps produced by the latest compilers and introduces new features to produce the most accurate decompiled map sources possible.

Note that decompilers cannot produce perfectly accurate map sources due to limitations involving the Half-Life 1 BSP format. You will always need to fix up decompiled maps to get them working properly.

Release Candidate 1 is now available: https://github.com/SamVanheer/HalfLife.UnifiedSdk.MapDecompiler/releases/tag/V1.0.0.0-RC001

Changes in Release Candidate 1:
  • Fixed description text color not updating when changing the theme between Light and Dark
  • Reworked command line interface to use verbs to select the decompiler strategy instead of an option to make it easier to see which options apply to which strategy. See README.md for more information
  • Added more information about some features to README.md

I tried to add support for decompiling clip brushes but it seems to be impossible due to how clip brushes are handled by the compiler:
// clip brushes don't stay in the drawing hull
if (contents == CONTENTS_CLIP)
{
    b->hulls[0].faces = NULL;
    b->contents = CONTENTS_SOLID;
}
This makes clip brushes invisible but also removes them from the point hull, used for things like hitscan ray traces which is why you can shoot through them.

The tree-based algorithm uses the point hull so clip brushes can't be reconstructed by that, and the face-to-brush algorithm uses the visual mesh (aka drawing hull) so they don't exist there either.
This release will also be the full release if there are no problems. That will have to wait until the SDK projects have been moved so as to ensure the links contained in this project are updated to point to the twhl-community organization on Github.
Posted 10 months ago2024-01-15 14:33:35 UTC Post #348448

Map Decompiler V1 released

Map Decompiler version 1 has been released: https://github.com/twhl-community/HalfLife.UnifiedSdk.MapDecompiler/releases/tag/V1.0.0.0

Changes since RC1:
  • Added check to detect when bsp files are actually XML files
  • Print first 64 bytes converted to UTF-8 when file type is not supported
  • Added changelog
Version 1 is the full and stable release of the map decompiler. Just like Half-Life Updated and the Unified SDK this project has been handed to the community to manage from now on.
You must be logged in to post a response.