virtualx-engine/modules/gdnavigation
Pedro J. Estébanez 18fbdbb456 Reimplement Mutex with C++'s <mutex>
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`.
2020-02-26 20:40:10 +01:00
..
config.py - Integrated NavigationServer and Navigation2DServer. 2020-02-10 14:38:52 +01:00
gd_navigation_server.cpp Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
gd_navigation_server.h Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
nav_map.cpp Fixed remove region method. 2020-02-24 18:09:14 +01:00
nav_map.h Added utility functions to the new NavigationServer: 2020-02-18 17:12:45 +01:00
nav_region.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
nav_region.h Vulkan: Move thirdparty code out of drivers, style fixes 2020-02-11 14:08:44 +01:00
nav_rid.h Vulkan: Move thirdparty code out of drivers, style fixes 2020-02-11 14:08:44 +01:00
nav_utils.h Vulkan: Move thirdparty code out of drivers, style fixes 2020-02-11 14:08:44 +01:00
navigation_mesh_editor_plugin.cpp Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
navigation_mesh_editor_plugin.h - Integrated NavigationServer and Navigation2DServer. 2020-02-10 14:38:52 +01:00
navigation_mesh_generator.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
navigation_mesh_generator.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
register_types.cpp - Integrated NavigationServer and Navigation2DServer. 2020-02-10 14:38:52 +01:00
register_types.h - Integrated NavigationServer and Navigation2DServer. 2020-02-10 14:38:52 +01:00
rvo_agent.cpp Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
rvo_agent.h Vulkan: Move thirdparty code out of drivers, style fixes 2020-02-11 14:08:44 +01:00
SCsub - Integrated NavigationServer and Navigation2DServer. 2020-02-10 14:38:52 +01:00