Age | Commit message (Collapse) | Author |
|
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
|
|
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.
|
|
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
|
|
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
|
|
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
|
|
|
|
|
|
|
|
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.
The icon was designed by redlamp.
Co-authored-by: Taylor Wright <taylor@redlamp.org>
|
|
|
|
|
|
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
|
|
|
|
Co-authored-by: Eric M <itsjusteza@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Calinou/editor-visual-profiler-tweak-frame-time-label
Tweak editor visual profiler frame time label for consistency
|
|
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
|
|
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
|
|
|
|
|
|
Calinou/editor-visual-profiler-fix-light-font-color
Fix font color in the editor visual profiler when using light theme
|
|
|
|
Previously, white text would be drawn on a white background.
|
|
This is consistent with the general profiler's frame time label.
|
|
This was already done for the general profiler.
|
|
|
|
|
|
|
|
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
|
|
|
|
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.
Removes unnecessary `editor_node.h` includes in various editor classes.
Renames `dynamicfont` to `dynamic_font` in a couple files.
Misc cleanup while jumping through that rabbit hole.
|
|
|
|
|
|
[Debugger] Move most profilers to ServersDebugger, fix core includes.
|
|
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
|
|
|
|
This reverts commit a988fad9a092053434545c32afae91ccbdfbe792.
As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
|
|
Less stringly typed logic, and less String allocations and comparisons.
|
|
|
|
Forcing draw during debug break is now handled by ServersDebugger, and
only happens when the proper message is sent from the EditorDebugger
("servers:draw").
In a similar way, briging the window in foreground is now also handled
by ServersDebugger upon receiving "servers:foreground" which is sent by
the EditorDebugger when resuming from a break ("continue").
|
|
Also splits bandwidth/rpc profiler (RPCProfiler is now in
SceneDebugger).
|
|
|
|
|
|
|