I've done an initial port of Waterways to Godot 4 using Alpha 14. I got it to the point of being able to add a River node to the scene and having it show up with a flowing shader.
The inspector reports some properties. I haven't done any further testing. In this push, I only changed the project file and addon/waterways. The remainder of the demo project has not been touched. I renamed all nodes and functions. I reimplemented raycasts, and Callables for signal connections.
Known issues:
I don't know if any of the functionality actually works. There is no water menu on top of the viewport, nor do I see polygon or curve gizmos. None of the inspector parameters I tried did anything.
river_manager.gd L189 - shader_get_shader_uniform_list() now returns a dictionary. In GD3 the function returned an array. The code needs to be reimplemented.
In river_shader.gdshader Back light seems to work a little differently than transmission. Try it out.
progress_window.tscn - It used to be a WindowDialog. That class has gone away and it looks like Window is its replacement. However its a derivative of Viewport now instead of control. I couldn't figure out how to use it, and didn't even know what you used this scene for, so I just set it to a Panel to get it to run.
When adding a River node to the tree, the console reports these errors:
SCRIPT ERROR: Invalid set index 'mesh' (on base: 'Nil') with value of type 'ArrayMesh'.
at: _generate_river (res://addons/waterways/river_manager.gd:609)
SCRIPT ERROR: Invalid get index 'debug_view' (on base: 'Nil').
at: _on_selection_change (res://addons/waterways/plugin.gd:95)
I've done an initial port of Waterways to Godot 4 using Alpha 14. I got it to the point of being able to add a River node to the scene and having it show up with a flowing shader.
The inspector reports some properties. I haven't done any further testing. In this push, I only changed the project file and
addon/waterways
. The remainder of the demo project has not been touched. I renamed all nodes and functions. I reimplemented raycasts, and Callables for signal connections.Known issues:
river_manager.gd
L189 -shader_get_shader_uniform_list()
now returns a dictionary. In GD3 the function returned an array. The code needs to be reimplemented.river_shader.gdshader
Back light seems to work a little differently than transmission. Try it out.progress_window.tscn
- It used to be aWindowDialog
. That class has gone away and it looks like Window is its replacement. However its a derivative of Viewport now instead of control. I couldn't figure out how to use it, and didn't even know what you used this scene for, so I just set it to aPanel
to get it to run.