Age | Commit message (Collapse) | Author |
|
Doctool and core: Fix return type in docs for some Variant methods...
|
|
This closes #28503.
|
|
Generates the rpc and rset info for exported GDScript.
|
|
typedefs: Cleanup unused macros and unnecessary checks
|
|
We now require a compiler with C++17 support, so we don't need to
check for features added to GCC 5 or Clang 3.2.
Clang builtin availability checks were unused anyway as Clang defines
`__GNUC__` as it's also a GNU C implementation.
Fixes #36986.
|
|
Found via `codespell`
|
|
Resurrect HTML5 platform, add it to CI (no rendering yet)
|
|
|
|
PROPERTY_USAGE_NIL_IS_VARIANT to MethodInfo usage when we have something to return
|
|
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.
|
|
|
|
Used to know if we can read or write without blocking.
|
|
|
|
|
|
Drop old semaphore implementation
|
|
|
|
Turn Rect2's 'intersects_touch()' into an extra argument of 'intersects()'
|
|
Compilation fixes on Android
|
|
Fixes bugs found by Sonarcloud and Coverity
|
|
|
|
Improve UX of drive letters
|
|
Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assert
|
|
|
|
Typo: in error_macros.h fixed
|
|
Read and write exported infs/nans correctly (#35388)
|
|
|
|
|
|
- Removed platform-specific implementations.
- Now all semaphores are in-object, unless they need to be conditionally created.
- Similarly to `Mutex`, provided a dummy implementation for when `NO_THREADS` is defined.
- Similarly to `Mutex`, methods are made `const` for easy use in such contexts.
- Language bindings updated: `wait()` and `post()` are now `void`.
- Language bindings updated: `try_wait()` added.
Bonus:
- Rewritten the `#ifdef` in `mutex.h` to meet the code style.
|
|
Namely, move the drive dropdown to just the left of the path text box and don't include the former
in the latter.
This improves the UX on Windows.
In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its
dropdown is kept at the original location.
|
|
|
|
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
|
|
Fix Variant to Vector<Variant> conversion operator
|
|
Fix InputEventKey::echo property type from INT to BOOL
|
|
Force mipmaps off when importing RGBA4444 textures
|
|
|
|
|
|
|
|
Removed ResourceInteractiveLoader, add built-in threaded loading.
|
|
|
|
|
|
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.
No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
|
|
Improved the send rpc log message when fail.
This work has been kindly sponsored by IMVU.
|
|
|
|
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
|
|
Remove friend reference to non-existing class RefBase
|
|
This work has been kindly sponsored by IMVU.
|
|
Commit
7ad14e7a3e6f87ddc450f7e34621eb5200808451
removed RefBase class - but still there is hanging reference in....Reference :) class (no pun intended)
|
|
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`.
|
|
|
|
Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
|