Age | Commit message (Collapse) | Author |
|
Note: Only replaced 2 instances to test, Node.get_children and TileMap.get_used_cells
Note: Will do a mass replace on later PRs of whathever I can find, but probably need
a tool to grep through doc.
Warning: Mono will break, needs to be fixed (and so do TypeScript and NativeScript, need to ask respective maintainers)
|
|
Also added an easier way to load native GLSL shaders.
Extras:
Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.
Note:
The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
|
|
Subgroups were added in #37678 but not properly handled everywhere
where PROPERTY_USAGE_GROUP is.
|
|
Properly expose classes that we actually want accessible.
|
|
Implement decals
|
|
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
|
|
autocomplete for disconnect implemented
|
|
|
|
`:=` fails on some nodes fix: #37357
|
|
|
|
|
|
Seems like this was overlooked in PR #31142. See also issue #17082.
|
|
doc: Update classref with node renames
|
|
A few extra renames for classes which were missed in last week's PRs.
|
|
Configured for a max line length of 120 characters.
psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:
- Manually wrapped strings will be reflowed, so by using a line length
of 120 for the sake of preserving readability for our long command
calls, it also means that some manually wrapped strings are back on
the same line and should be manually merged again.
- Code generators using string concatenation extensively look awful,
since black puts each operand on a single line. We need to refactor
these generators to use more pythonic string formatting, for which
many options are available (`%`, `format` or f-strings).
- CI checks and a pre-commit hook will be added to ensure that future
buildsystem changes are well-formatted.
|
|
|
|
Fix for loop range bug: #37358
|
|
|
|
|
|
|
|
Now that the unused DocDump was removed, the `editor/doc` subfolder is
redundant.
Similarly, there's no reason for Collada to have a subfolder for itself
when glTF or OBJ don't.
|
|
This addresses the issue godotengine/godot#37143
|
|
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.
Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
|
|
Generates the rpc and rset info for exported GDScript.
|
|
Fixed rset method for gdscript and visual script
|
|
Found via `codespell`
|
|
GDScript duplicate arguments bug fixed
|
|
fix: Classes can't have pass
|
|
Fix: logic error in gdscript_parser.cpp for-loop-range
|
|
ScriptDebugger refactor, threading, profilers.
|
|
Fix missing module editor icons
|
|
Module icons need to be renamed to PascalCase as well
for them to be registered in 4.0.
See godotengine/godot#36513.
|
|
Return only scenes for script owners on LSP completion
|
|
EngineDebugger is the new interface to access the debugger.
It tries to be as agnostic as possible on the data that various
subsystems can expose.
It allows 2 types of interactions:
- Profilers:
A subsystem can register a profiler, assigning it a unique name.
That name can be used to activate the profiler or add data to it.
The registered profiler can be composed of up to 3 functions:
- Toggle: called when the profiler is activated/deactivated.
- Add: called whenever data is added to the debugger
(via `EngineDebugger::profiler_add_frame_data`)
- Tick: called every frame (during idle), receives frame times.
- Captures: (Only relevant in remote debugger for now)
A subsystem can register a capture, assigning it a unique name.
When receiving a message, the remote debugger will check if it starts
with `[prefix]:` and call the associated capture with name `prefix`.
Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new
profiler system.
Port SceneDebugger and RemoteDebugger to the new capture system.
The LocalDebugger also uses the new profiler system for scripts
profiling.
|
|
Fix: #36680
|
|
there was a logic error in for loop range argument that
check if all of the argument were constants, fixed
|
|
|
|
|
|
|
|
|
|
|
|
Improved the send rpc log message when fail.
This work has been kindly sponsored by IMVU.
|
|
Add a practical example for `@GDScript.linear2db()`
|
|
Improve the `@GDScript.inverse_lerp()` documentation
|
|
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
|
|
One of its most common applications in games is for volume sliders.
See https://www.dr-lex.be/info-stuff/volumecontrols.html for
more information.
|
|
This closes https://github.com/godotengine/godot-docs/issues/2589.
|
|
Fix autocomplete and highlighting for new integer types
|
|
Types include new integer types and others
|
|
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.
Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
|