Qodot 1.6.4
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 onQodotMap
- 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 thetarget
property to point another entity at it. If the targeted entity has a method calleduse
and the targeting entity has a signal calledtrigger
, these will be automatically connected by Qodot during map build - Advanced: Use the new
signal
andslot
point entity classes together withtarget
andtargetname
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.
- Simple: Use the
- Two ways to do this:
- 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
andlibmap
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
- Qodot will now download platform-appropriate binaries of
- 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