Releases: func-godot/func_godot_plugin
FuncGodot 2025.1
New to FuncGodot 2025.1:
- New Point Class Entity property
apply_scale_on_map_build
: Toggles whether entity will usescale
to determine the generated node or scene's scale. This is performed on the top level node. The property can be a float, Vector3, or Vector2. Set tofalse
if you would like to define how the generated node is scaled yourself. 4b6d60d - You can now select a default FuncGodotMapSettings for new FuncGodotMap nodes in the Project Settings. This addition comes from @ValorZard! #67
- Entity descriptions can now be multiple lines. #85
- TrenchBroom's Game Config Version 9 is now the default, compatible with the latest stable release of TrenchBroom. #80
Also a whole host of bug fixes and tweaks.
First release of the new year. While the things I was hoping to figure out didn't get figured out (regarding smooth shading and vertex merging issues specifically) we still got some neat features added. Hopefully we can figure out performant per entity phong this year!
FuncGodot 2024.3.1
2024.3.1 Hot Fix
- Solid Entity Origin Type Bounds calculations now correctly retrieve the bounding box dimensions. See #66 for more information. This could be considered a breaking change if you adapted your workflow to this particular bug.
New to FuncGodot 2024.3:
- New Entity property
auto_apply_to_matching_node_properties
: Automatically applies entity class properties to matching properties in the generated node. This feature comes from @greenfox1505! - New Solid Entity feature Mesh Metadata: a group of properties that tell FuncGodot to add a "func_godot_mesh_data"] Dictionary to the metadata of the generated node upon build. This data is parallelized, so that each element of the array is ordered to reference the same face in the mesh.
add_textures_metadata
add_vertex_metadata
add_face_position_metadata
add_face_normal_metadata
add_collision_shape_face_range_metadata
Short list but the mesh metadata is a long requested major feature. The main purpose behind it is to allow devs to get the texture on a particular face of the map geometry, to allow for surface based effects like footsteps based on the ground texture or bullet decals based on the wall or ceiling, etc...
Godot separates Meshes and Collision, for a wide number of reasons. This makes it a complex undertaking trying to solve for the texture a character may be standing on or any other similar game mechanics. The new Mesh Metadata feature is our way of bridging that gap. You can read the discussion we had over it here. A number of us discussed it and came up with general designs and requirements for the feature but the brunt of the work and final implementation comes from @the-argus!
The feature is off by default and must be enabled in your own custom or duplicated entities. If wanting to use this feature on one of the default entities, be sure to copy the definitions outside the addons folder, as any changes will be overwritten with every update to the plugin. Be sure to read the Manual to understand how it works!
Speaking of The Manual, it's been updated to not only include the new features but also for slight improvements to readability. Linking to individual pages should also work properly now.
Lastly, we'll finally be getting FuncGodot on AssetLib. We want to thank you for your patience on this. Stay tuned for a brief announcement on this!
And yes, Phong is still broken. Working on that.
Looking forward to all of your surface shenanigans experiments and showcases!
@RhapsodyInGeek
FuncGodot 2024.2
New to FuncGodot 2024.2:
func_geo
is now an official default entity and the recommended way to construct occluding colliding geometry.- FuncGodotFGDFile's
model_keyword_supported
property changed totarget_map_editor
for better clarity and potential future features. - Added support for the Half-Life WAD3 format. They are still imported as QuakeWadFile resources, but FuncGodot will automatically determine whether the format is Quake's WAD2 or Half-Life's WAD3.
- Changed Solid Entity Origin Type
IGNORE
toAVERAGED
, which better reflects how the origin is determined under this setting (by averaging all of the brush vertices positions). Due to its unpredictability, it is no longer the default origin type. - New Solid Entity Origin Type
BRUSH
: emulates the Half-Life origin brush used for rotating objects. This new addition comes from @jpiolho! - Origin Texture property added to FuncGodotMapSettings, to be used with new Brush origin type.
- New Solid Entity Origin Type
BOUNDS_CENTER
: Uses the center of the entity's bounding box to determine the origin. This replaces the previous default of Ignore, now named Averaged, due to its better build predictability. - New Solid Entity Origin Type
BOUNDS_MINS
: Uses the lowest values of the entity's bounding box to determine the origin. This emulates default Quake and Half-Life behavior. - New Solid Entity Origin Type
BOUNDS_MAXS
: Uses the highest values of the entity's bounding box to determine the origin. use_trenchbroom_groups_hierarchy
no longer generates omitted layers. They are now skipped entirely in the build process.- Removed the
unshaded
property from FuncGodotMapSettings, an old carryover from Qodot. This also had the effect of not allowing newly generated materials to use Vertex Shading, even if the Default Material specified it. A generated material's shading is now solely decided by the FuncGodotMapSettings' Default Material.
TrenchBroom Features
- A textures folder can now be specified for TrenchBroom configurations.
- A palette file can be specified for TrenchBroom configurations when using Quake WAD2 files. This is not needed if using Half-Life WAD3 files.
- Compatibility support for TrenchBroom Game Config Version 4. This addition comes from @Pesquisador-Stefano and allows for other compatibility patches if needed. Default will always be Latest stable release.
- Compatibility support for TrenchBroom Game Config Version 9. This will become the default when TrenchBroom 2024.2 gets a Stable Release.
- Origin TrenchbroomTag added to default TrenchBroom Game Configs, to give origin brush faces translucency like Skip and Clip.
NetRadiant-Custom Features
- You can now customize the Default Build Menu XML when generating NetRadiant-Custom Gamepacks using the new Default Build Menu Variables and Default Build Menu Commands properties. This addition comes from our new core team member, @sinewavey!
- Origin NetRadiantCustomShader added to the default NetRadiantCustomGamepackConfig, to give origin brush faces translucency like Skip and Clip.
The included documentation has been brought up to date with all of the new features, including the addition of a short guide on the new Origin Texture feature.
In addition to the new features, there have been a large number of bug fixes and optimizations made. This release has been pretty thoroughly tested, but if you do find any issues be sure to report them to the tracker!
Phong shading only working per brush rather than per entity is a known issue. We're having some trouble solving this performantly in GDScript and welcome any help in tackling this problem!
Hope you all build some more awesome things with this new release!
@RhapsodyInGeek
FuncGodot 2024.1.1
Bug fixes