Skip to content

Qodot 1.6.4

Compare
Choose a tag to compare
@Shfty Shfty released this 18 Mar 00:59
· 74 commits to master since this release

Qodot 1.6.4 introduces changes to the build system. Make sure to reinstance your QodotMap nodes and rebuild any map files to ensure compatibility.

Features

  • Worldspawn Layers
    • Texture-driven programmable volumes that serve a similar purpose to water, slime and lava in Quake
    • Any brush with a texture marked as a worldspawn layer will be stripped from the worldspawn and added to its own meta-entity
    • Layers can be specified by adding entries to the new Worldspawn Layers array property on QodotMap
  • Signals and slots can now be connected via map editor
    • Two ways to do this:
      • Simple: Use the targetname property to assign an id to an entity in the map editor, then use the target property to point another entity at it. If the targeted entity has a method called use and the targeting entity has a signal called trigger, these will be automatically connected by Qodot during map build
      • Advanced: Use the new signal and slot point entity classes together with target and targetname to connect specific signals between other custom entity types. These will be automatically fixed up during map build if the specified signal and method slot exist in the target objects.
  • New _phong_angle property to control edge splitting for smooth-shaded vertex normals generated by the _phong property
    • Edges will be split in order to flat-shade a given face if the angle between its normal and the normals of all adjacent faces exceeds the provided value, measured in degrees
    • Thanks to @grenappels
  • Added editor plugin-based build UI for QodotMap
    • Builds are now triggered from the menu bar at the top of the 3D viewport, and are accompanied by a progress bar
  • Proper category UI for QodotMap
  • Automatic dependency downloading
    • Qodot will now download platform-appropriate binaries of libqodot and libmap directly from GitHub when enabled in project settings
    • This means users will no longer need to download new Qodot versions directly from the GitHub releases page in order to obtain a working copy complete with dependencies
  • Optimized scene tree structure
    • Brush entity FGD classes can now specify the node class used to represent them in the scene tree
    • Significantly reduces overall node count by avoiding wrapper spatials where possible
  • Entity properties are now automatically converted into their equivalent Godot type during map build
    • Types are inferred based on the type of the default property value specified in the active FGD definition
  • FGD files can now specify a set of 'Base FGD' files to inherit from
    • The contents of these Base FGDs will be prepended to the FGD file on export

Fixes

  • Fixed TrenchBroom group hierarchy building
  • FGD script classes are no longer skipped if an instanced scene is specified
  • func_group entities are stripped from the tree if using nested TrenchBroom groups