Skip to content

ELFBSP v1.3.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 01:21
· 19 commits to main since this release
elfbsp_v1.3.0
69a51b5

Changes since ELFBSP 1.2

New features:

  • Added support for the new XBM1 32-bit blockmap lump format
    • Instead of outputting empty BLOCKMAP lumps when the vanilla format overflows, it will output XBM1 lumps
  • Changed default BSP tree lump format in Doom & Hexen map formats to XNOD, this will help massively reduce slime trails
  • Restored support for compressed variants of ZDBSP formats (ZNOD, ZGLN, ZGL2, ZGL3)
    • ZGL3 is now the default for UDMF levels
    • The new --compress CLI flag will force the use of the compressed counterparts in the Doom & Hexen map formats
  • Improved blockmap compression for smaller lump size
    • Added automatic removal of non-special self-referencing linedefs from the blockmap
    • Revised "identical blocklist deduplication" algorithm, now cuts down a few more blocks
    • Added "Blocklist size sorting" to squeeze out smaller offsets
    • Added --bmap-zero CLI flag for vanilla-optimized blockmaps
  • Added support for the Doom 64 binary map format, and its LEAFS lump
    • Includes the DeePBSPV4 BSP tree lump format for large maps exceeding the vanilla limits
    • Includes the XBM1 blockmap lump format for large maps exceeding the vanilla limits
  • Added support for proper REJECT building algorithm with visibility checks (thanks @knightmb)
    • Using --fast makes the builder skip the visibility algorithm, and uses only the sector grouping algorithm
  • Added support for special effects in Doom 64 map format levels
    • Sector special of 999 is blocked from the REJECT grouping algorithm, makes enemies within it "blind"
    • Lines containing the "Do not add to blockmap" linedef flag will be excluded from the blockmap
    • Lines containing both the "Show on automap" AND "Hide from automap" linedef flags will be excluded the blockmap
  • Added UDMF namespace awareness for polyobjects, DoomEdNums are now inferred automtically from the namespace
    • Hexen polyobject editor numbers for the Hexen and DelphiHexen namespaces
    • ZDoom polyobject editor numbers for all other namespaces
    • The --polyobj CLI flag is now ignored for UDMF maps
  • Added simple performance profiler on CLI output, benchmarking the time taken by certain parts of the builder to work
  • Added --skip-bsp, --skip-bmap and --skip-reject CLI flags to skip building maps that are already compiled

Bugfixes:

  • Restored REJECT builder's debug logging, i.e fix --debug-reject not working before
  • Fixed critical UDMF reading issues
    • Fixed map format detection loading UDMF levels as Hexen map format levels
    • Fixed long-standing borked UDMF lump parsing

Meta:

  • Removed support for Intel MacOS, only ARM MacOS (Apple Silicon) is now supported
  • Fixed builds not being static, should now run on UDB Flatpak just fine
  • Windows builds now use MSYS2 Clang instead of MSYS2 MinGW
  • Added Linux GCC to CI pipeline