Age | Commit message (Collapse) | Author |
|
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947.
|
|
|
|
SceneTreeTimer: Ability to set pause mode
|
|
|
|
Adds an additional flag to SceneTree::create_timer() that tells it whether or not to process when the game is paused.
Defaults to false in order to not break existing functionality.
|
|
Fixes the problem with spinboxes not updating when clicking too fast.
|
|
Rename the _MD macro to D_METHOD
|
|
Export TextureButton::ResizeMode as its own enum values
|
|
This new name also makes its purpose a little clearer
This is a step towards fixing #56
|
|
This saves typing and is a step towards fixing #56
|
|
TCP/UDP listen bind to address and bugfixes
|
|
Polyline
|
|
Particles2D: implement texture flip parameters.
|
|
Enhance TextureButton and TextureRect with resize
|
|
Fix tween Transform2D typo
|
|
Fix touch button issues
|
|
Selected text is now deselected on ctrl+home/end
|
|
Add shape property to TouchScreenButton
|
|
Fix touch button needing double tap after pause (applies to those not set to pass-by)
Fix error when a pressed TouchScreenButton with no associated action exits the tree
(with some refactoring of duplicate code)
|
|
|
|
Make TextureButton to the same resize behavior with TextureRect
|
|
|
|
|
|
|
|
|
|
This fixes Issue #7694 and also the error mentioned in the comments of that issue.
|
|
|
|
Adapted from 67a0da34a2d5a95761c54b3012d0a8f1a79e10a6
|
|
scrolling is enabled
(cherry picked from commit e9316a009e08e8fe9aa961a0ccef2a77ba7133fc)
|
|
Fixed line lenght guideline, and added colour option
|
|
|
|
|
|
Greater VCS friendliness
|
|
|
|
|
|
- TCP:
- `listen` bind to wildcard "*" -> dual stack socket
- `listen` bind to address -> socket from address type
- `connect` -> resolve using best protocol (UNSPEC), socket from address type
- UDP:
- `listen` bind to wildcard "*" -> dual stack socket
- `listen` bind to address -> socket from address type
- `put_packet`/`put_var` -> resolve using TYPE_ANY (UNSPEC), socket from address type
(to change socket type you must first call `close` it)
|
|
CollisionShape2D: Fix warning icon not updating.
|
|
Respect style boxes for Button states other than "normal"
|
|
`CollisionPolygon2D` also had this problem.
|
|
|
|
|
|
Use real_t rather than float or double in generic functions (core/mat…
|
|
Fix Spatial::is_visible and editor calls to CanvasItem/Spatial::is_visible
|
|
Fixes #7476.
|
|
is_visible itself for Spatial
|
|
than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
|
|
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)
Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.
This PR is back-compat; won't break the load of existing files.
|
|
|
|
|
|
clang-format does not handle that well *at all*.
For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
|