Notice: GDScript tokenizer used the old PoolFloatArray name.
Renamed PoolFloatArray to PoolRealArray.
Moved "project_settings.h" down one line to comply with the clang-format rules.
Fixes#9638
Closed pull request #9714 because I messed up with commits, sorry!
I'm working on Nim bindings and Nim GC needs to know the stack
boundaries to check whether certain pointers are located on the stack
or in the heap. This commit adds godot_get_stack_bottom procedure
to gdnative module which returns pointer to the stack bottom of the
main thread. Later on this may be improved to return stack bottom of
the current thread.
- Remove use of non-builtin overloaded `InterlockedExhangeSubtract()` for Windows. Moreover, it was wrongly being used as if it hadn't a 64-bit version instead of being overloaded.
- Implement exchange-if-greater (as a CAS loop).
The script system does not provide information about specific int
sizes, so we should establish convention to use the largest size
(64 bits). For real types double is always used.
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
The public API looks the same but with added overloads.
The implementation uses templates or overloads depending on the context
to avoid code duplication.
Using a magic value for memory allocated but uninitialized and another one for memory about-to-be-released. Helps in debugging unitialized members, dangling pointerts, etc.
Disabled by default. Can be enabled for debug builds by defining `DEBUG_MEMORY_TAGGING`.
The allocation count is managed atomically and where it actually should
change (for instance, not counting an allocation before its success has
been checked).
Bonus: Improve readability of the pre-pad checks.
Plus the addition of some convenience CRASH_* error macros.
Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL.
Plus explanation about the do-while(0) loop in some error macros.