Age | Commit message (Collapse) | Author |
|
[Net] New `@rpc` annotation, "sync" is no longer part of mode.
|
|
Allow dropping custom node scripts in VisualScript editor
|
|
- Move the "sync" property for RPCs to RPCConfig.
- Unify GDScript annotations into a single one:
- `@rpc(master)` # default
- `@rpc(puppet)`
- `@rpc(any)` # former `@remote`
- Implement three additional `@rpc` options:
- The second parameter is the "sync" option (which also calls the
function locally when RPCing). One of "sync", "nosync".
- The third parameter is the transfer mode (reliable, unreliable,
ordered).
- The third parameter is the channel (unused for now).
|
|
|
|
Optimize StringName usage
|
|
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
|
|
|
|
Allows to drop custom node scripts directly in VisualScript
|
|
on WebRTCDataChannel
|
|
This information is exposed to the websocket server through the
client_connected-signal.
example.com/chat?id=10 gives the resource name "/chat?id=10"
|
|
From empirical testing, this seems to provide the best compression
compared to other compression algorithms when used in the
Multiplayer Bomber demo.
Other algorithms may provide better compression ratios for more
complex games, but some compression is probably better than
no compression.
Zstandard was also not very efficient in my testing, so I added
a note in the documentation.
|
|
|
|
The XR API changed a bit, and it's not just a rename, though probably an
easy update for someone who is qualified :).
|
|
While there are still various bugs to solve and features to implement, the C#
support as of Godot 3.4 is fairly mature and already used by a number of users
in production. Now that we default to dotnet CLI as build tool, it also seems
to be more reliable than MSBuild.
The documentation can (and does for the most part) point out some caveats that
users should be aware of, but this info dialog has outlived its intended
purpose.
|
|
Was looking for misuse of module headers without checking that the module is
actually enabled and got carried away...
|
|
|
|
Separate underscore from grapheme punctuation to enable doubleclick and caret jump over snakecase variables in editor
|
|
Implement the ability to disable classes
|
|
caret jump over snakecase variables in editor
|
|
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
`scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
|
|
Improvements to Label's layout options
|
|
Options to clean/simplify convex hull generated from mesh
|
|
|
|
|
|
|
|
Use `multiplayer` or `get_multiplayer()` instead of `get_tree()`.
|
|
|
|
Redo how instance bindings work
|
|
* The harcoded 8 slots are no more and impose limits in the new extension system.
* New system is limitless, although it will impose small performance hit with a mutex.
* Use a token to request the instance binding.
**Warning**: Mono will most likely break as a result of this, will need to be modified to use the new system.
|
|
|
|
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)
In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.
|
|
Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint
|
|
Improve error reporting in WebSocketServer
|
|
Fix gdnative api generation for methods that return enums
|
|
This should make troubleshooting easier.
|
|
Remove unused code related to Travis CI
|
|
Previously, only StandardMaterial3D could be defined as an alternative
to ShaderMaterial.
This also reorders the CanvasItemMaterial property hints to follow
alphabetical order (which is enforced by the inspector).
|
|
- Added options to trim the text in case it overruns
- Added more autowrap modes
- Improved line breaking, which ignores trailing spaces
|
|
Would cause memory leak when the context was `start`ed but not
`finish`ed.
|
|
Also use const more often.
|
|
|
|
|
|
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
|
|
Fix editor suffixes and degrees conversion
|
|
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:
* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
|
|
|
|
|
|
And rename `gdnavigation` module to simply `navigation`.
|
|
* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases.
* Improves cache usage, as objects are now allocated together
* Should improve performance in 2D rendering
|
|
Validate image formats, check if resize_to_po2 failed
|