Releases: TheDuckCow/godot-road-generator
v0.5.2 (Godot 4.2-4.3) | Error, undo, and resource fixes
What's Changed
- Auto generate new curve resources if needed by @TheDuckCow in #197
- Fixed curve offset rotation by using local instead of global space by @TheDuckCow in #199
- This resolves an issue where offset curves would appear to be over-rotated when parents or grandparents have rotated transforms, which would mess with traffic following and road-side edge curves for things elements like barriers or railings
- Fixing undo redo stack issues in godot4 by @TheDuckCow in #200
- Applying discovered fix to make resources editable and avoid errors by @TheDuckCow in #201
- Some users cited this would cause accessing custom or nested resources impossible while the road generator is active, this is now fixed
Full Changelog: 0.5.1.gd4...0.5.2.gd4
v0.5.2 (Godot 3.5) | Fix for curve parent rotation
What's Changed
- Fixed curves and AI paths endpoints being over-rotated when parents or grandparents have rotated transforms, which would mess with traffic following and road-side edge curves for things elements like barriers or railings - by @TheDuckCow in #198
- Non-user impacting backports of other Godot 4 bug fixing
Full Changelog: 0.5.1...0.5.2
v0.5.1 (Godot 3.5) | Prior release fixes, improved demo scene
What's Changed
- Patches to the v0.5.1 along with godot4 migration improvements by @TheDuckCow in #192
- Reduces the number of errors in the console window with general usage, primarily when adding a RoadPoint via the Roads menu or on left-click in add mode while a RoadContainer was initially selected
- Ensures that you are allowed to add a RoadPoint by the Roads menu even if a RoadContainer is selected (this was true in 0.4.x, but a bug in 0.5.0 prevented this)
- Ensures that when using left click to add or by using the Roads menu to add new nodes, the newly added nodes are consistently selected, letting you continue left-clicking to continue adding road features.
- Also added some random height placement in the procgen demo, to help highlight the curves are solving in proper 3D space.
Full Changelog: v0.5.0...0.5.1
v0.5.1 (Godot 4.2-4.3) | First Godot 4 beta release
While the godot4
branch has been around for awhile, this release represents the first beta version, which will intend to be added to the Godot Asset Library soon after the release. Be sure to report bugs if any are found!
Tested on Godot 4.2 and 4.3, both found to be working well. Marked as a beta as unit tests have not been fully migrated, which won't happen until v1.0.
What's Changed
- Migrate forward v0.5.0 into godot4 by @TheDuckCow in #190
- This change is to catch empty gizmos array before it spam floods the console (godot 4.3rc3) and cancels before emitting on_transform signal by @FishOfTheNorthStar in #177
- 4.x Reducing console errors on adding RoadPoint via menu or click by @TheDuckCow in #194
New Contributors
- @FishOfTheNorthStar made their first contribution in #177
Full Changelog: v0.5.0...0.5.1.gd4
v0.5.0 (Godot 3.5) | Agents, Snapping, and Edge Curves
Changed behavior:
- Per #182, the RoadManager's
rebuild_all_containers
function is now blocking instead of deferring generation to an idle cycle. This change was made as part of an effort to reduce potential unnecessary rebuilds and ensuring atomic operations when necessary. Use the newly addedrebuild_all_containers_deferred
on the RoadManager to get the old functionality if needed.
New features:
- Introduction of a new RoadLaneAgent object, now included in the Roads 3D toolbar menu by @TheDuckCow in #188
- The actual agent code was added as a part of #174
- There are plans to improve and extend the functionality of this agent over time, but for now acts as a simpler way to interface with following lanes and the transitions between one RoadSegment and the next.
- New procedural demo project in the demo folder by @TheDuckCow in #174
- Showcases how to create an infinite road generator along with how to use the RoadLaneAgent in practice.
- to view, you must clone the repository, it will not be distributed to you via the Godot Library.
- Implemented a new tick box on RoadContainers for "Generate Edge curves" by @bdog2112 in #156, #158, and #160
- Purpose is to create curves on the left, right, and middle which are directly added to the editor. These are approximations of the road curves, allowing you to use your own procedural tools via placement along these curves. Off by default.
- RoadPoint inspector panel bulk tools and copy properties by @TheDuckCow in #162
- Hold shift to apply addition or removal of lanes for the entire RoadContainer instead of just the selected RoadPoint
- Press "Copy Settings" to copy all relevant RoadPoint settings like lane width, lane counts, shoulder size, and gutter profile. Press Apply with another RoadPoint selected, or hold shift to apply these settings to all RoadPoints of the selected RoadPoint's RoadContainer
- RoadContainer snapping and unsnapping by @bdog2112 in #166
- This allows you to take one RoadContainer - whether a previously saved scene, or defined in the same scene - and move it around until one of its edge RoadPoints overlaps an edge RoadPoint of another container. This is an alternative to using the connection tool, and allows you to easily link together all prefab made pieces of road, if that's your preference.
- Added collider to group with assigned meta for easier script fetching by @TheDuckCow in #181
- Revamped the readme page to include animated visuals of features by @TheDuckCow in #189
- Also added a section for "Games made with this plugin" - be sure to let us know if you use it for your project!
Fixes:
- Fixed the kinking RoadLanes on curvy roads via an offset algorithm by @bdog2112 in #155 as described in #46
- Updated get_vehicles() by @bdog2112 in #148
- Streamline the periodic migration to godot4 via by @TheDuckCow in #143
- Road Lane orientation fixing by @bdog2112 in #152
- Fix not in tree startup errors by @TheDuckCow in #150
- Fixed invalid index check and more gd4 hinting by @TheDuckCow in #153
- Resolved texture assignment for segments between flipped RoadPoints by @TheDuckCow in #164
- Updating default density to 1 loop per 4m for improved performance by @TheDuckCow in #172
- Backporting the godot4 branch contribution by @FishOfTheNorthStar by @TheDuckCow in #180
- More responsive UI with some rebuilds prevented by @TheDuckCow in #182
- Remove terminating RPs from container edge list by @TheDuckCow in #185
- Fix dissolve and delete RoadPoints undo redo by @TheDuckCow in #186
- Improved undo/redo of RoadPoint edit panel's add next/prior RoadPoint by @TheDuckCow in #187
Full Changelog: 0.4.0...v0.5.0
0.4.0 (Godot 3.5) | Interactive tools and node restructure
This update represents a lot of new work and structure necessary to support having custom prefab/hand modeled scenes, as well as be a stepping stone to procedural intersections.
NOTE: This is not a backwards compatible update. Nodes have been renamed, and therefore you will need to fix references. View the project migration guide here or watch this video guide
Improvements
- Renaming of nodes for consistency and visibility, and new folder structure. Now all primary nodes by this plugin have the prefix "Road" for discoverability. More context here #74
- Moved the
RoadPoint
into thenodes/road_point.gd
location - Renamed
RoadNework
to beRoadContainer
(nodes/road_container.gd
) - Renamed
LaneSegment
to beRoadLane
(done in a prior release actually) - RoadLanes are name direct children of RoadPoints, instead of children of RoadSegments. Eventually, we will have the option to visibly expose them in the editor in a default locked mode.
- Moved the
- Long awaited introduction to "tool modes" and being able to point and click to add new roads quickly. #64
- There is now a Select, Add, and Delete (dissolve) mode in the 3D toolbar when any road node is selected
- Created interactive tools to connect/disconnect RoadPoints in the 3D view #117
- This is available when the Add mode is on in the 3D view
- Established the concept of connections between different RoadContainers
- Previously, nothing stopped someone from connecting two point belonging to different controllers (ie what used to be called RoadNetworks and are now called RoadContainers). This is now strictly enforced through the tool modes.
- In order to connect two RoadContainers together, one or both of which might be saved subscenes, you must use the Add mode's built in connection tooling. See demo here.
- This includes tools to connect and perform validations of connections between different RoadContainers. There are some nuances and making changes in one Container and result in validation warnings in the other, but these are mostly auto resolved by pressing the Refresh Roads button.
- Wiki updates: The wiki pages have all been updated to reflect the new structures, including a better sidebar for navigation between pages: https://github.com/TheDuckCow/godot-road-generator/wiki
Fixes
- You can now arbitrarily rotate RoadContainers (previously RoadNetwork) without artifacts. Previously you would get weird bends and geometry warpping. #73
- Disabled LFS so that downloads from the github branches page contain all files necessary #138
- Toggling visibility on RoadLanes in the editor/game performs much faster, as it won't rebuild all segments.
Generated Changelogs
- Restructure points and segments by @TheDuckCow in #120
- Rename RoadNetwork to RoadContainer. by @TheDuckCow in #125
- Establish RoadManager controls and updates by @TheDuckCow in #126
- More consistent utilities and getter functions. by @TheDuckCow in #127
- Identify container edges by @TheDuckCow in #128
- Establish edit modes by @TheDuckCow in #129
- Improved defaults and size agnostic widget editing by @TheDuckCow in #130
- Establishing Connection tools by @TheDuckCow in #131
- Eliminating duplicate segments with changes in connection direction. by @TheDuckCow in #132
- Added instructions and script for command line testing by @TheDuckCow in #137
- Establish connections between RoadContainers by @TheDuckCow in #133
- Disable git lfs by @TheDuckCow in #139
- Update class icons to be absolute paths by @TheDuckCow in #140
- Auto disconnect containers by @TheDuckCow in #141
Full Changelog: 0.3.4...0.4.0
0.3.4
What's Changed
- Fixed critical issue where roads would not generate in game exports due to an editor-only typing hint
- Add "Refresh roads" and "select network" buttons to Create menu. by @TheDuckCow in #114
Full Changelog: 0.3.3...0.3.4
0.3.3
What's Changed
- Improved install experience from Godot Asset Library by @TheDuckCow in #98
- Update export vars so that shoulders and lane width are floats by @TheDuckCow in #99
- Fix repeated names visible in the add node menu by @TheDuckCow in #103
- Renamed LaneSegment class and file to RoadLane by @TheDuckCow in #104
- Auto connect RoadLane ends and sides to neighbors to support car AI by @TheDuckCow in #101
- Adding dirty flag to fix duplicate rebuilds on scene open by @TheDuckCow in #107
- Generate signals on road updated by @TheDuckCow in #105
- Enforce bi-directional RoadPoint connections, and improved validation flexibility on next/prior RoadPoint NodePath updates by @TheDuckCow in #108
- Fixed persistent lane width and improved easing by @TheDuckCow in #112
Full Changelog: v0.3.2...0.3.3
Published 2023-07-07, publish state to Asset Library TBD
v0.3.2 | Polished release and fresh icon
What's Changed
- Snazzy new project logo created by Kenney (https://www.kenney.nl/assets)
- Alpha documentation by @TheDuckCow in #72
- Added automated release script by @TheDuckCow in #91
- Updated auto-texturing for one-way roads by @bdog2112 in #88
- Fixed segment redraw on scene change by @bdog2112 in #93
- Workaround for godot empty array synced bug by @TheDuckCow in #87
- 94 select roadsegment on click by @bdog2112 in #95
Full Changelog: v0.3.1...v0.3.2
v0.3.1 | Alpha release
This is the first publicly available version of the road generator, in a state that we believe other users are safe to try it out under the guise of it being still in alpha. Some things still may change, but this is already a big step forward over completely manual road creation.
See milestone for issue-oriented list of updates:
https://github.com/TheDuckCow/godot-road-generator/milestone/6?closed=1
What's Changed via PRs
- Style update to the show-hide road toolbar. by @TheDuckCow in #71
- Address several issues for release v0.3.1 by @bdog2112 in #76
- 3D Widget undo and redo by @TheDuckCow in #60
- 54 panel undo redo support by @TheDuckCow in #83
Full Changelog: v0.3.0...v0.3.1