integrate sensglove libraries v2.301.0-c70bce637 and the required refactor to make it build/work
This commit is contained in:
@@ -104,6 +104,8 @@ Welcom to the SenseGlove Unreal Engine Handbook!
|
||||
- [SenseGlove SDK License](license/senseglove-sdk.md)
|
||||
- [SGBLE and SGBLExx Rust Dependencies Licenses](license/sgble-sgblexx-rust-dependencies.md)
|
||||
- [Boost C++ Libraries License](license/boost-cpp-libraries.md)
|
||||
- [{fmt} Formatting Library License](license/fmt-formatting-library.md)
|
||||
- [Loguru Logging Library License](license/loguru-loggin-library.md)
|
||||
- [Serial Communication Library License](license/serial-communication-library.md)
|
||||
|
||||
-----------
|
||||
|
||||
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
This minor release focuses on delivering performance improvements, made possible by major optimizations in the underlying proprietary SenseGlove libraries, while also introducing some breaking changes.
|
||||
|
||||
### Added
|
||||
|
||||
- Added prebuilt binaries for third-party library [{fmt} Formatting Library](https://github.com/fmtlib/fmt) on all supported platforms. This third-party library is a required dependency of SenseGlove libraries >= `v2.300.0`.
|
||||
- Added prebuilt binaries for third-party library: [Loguru Logging Library](https://github.com/emilk/loguru) on all supported platforms. This third-party library is a required dependency of SenseGlove libraries >= `v2.300.0`.
|
||||
- Added third-party module `SGCommonThirdPartyLibs`.
|
||||
- Added third-party module `SGConnectShmThirdPartyLibs`.
|
||||
- Added third-party module `SGCoreShmThirdPartyLibs`.
|
||||
- Added third-party module `SGFmtThirdPartyLibs`.
|
||||
- Added third-party module `SGLogThirdPartyLibs`.
|
||||
- Added third-party module `SGLoguruThirdPartyLibs`.
|
||||
- Added third-party module `SGWjwwoodSerialThirdPartyLibs` to replace `SGSerialThirdPartyLibs` while retaining `SGSerialThirdPartyLibs` for a different purpose. See the relevant comment in the Changed section below.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix a typo in the function name `SGDeviceList::SenseCommRunning()`. This fix breaks ABI and API compatibility with previous versions of the plugin and affects both C++ and Blueprint code.
|
||||
@@ -14,7 +28,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
### Changed
|
||||
|
||||
- `SGDeviceList::SenseCommRunning()` has been renamed to `SGDeviceList::SenseComRunning()` due to a typo. This change breaks ABI and API compatibility with previous versions of the plugin and affects both C++ and Blueprint code.
|
||||
- Bumped the SenseGlove libraries to `v2.205.1-cb26979ed`.
|
||||
- Bumped the SenseGlove libraries to `v2.301.0-c70bce637`. This release of the SenseGlove libraries disables RTTI/Exceptions for the most parts and isolates it to a minor portion of the code base, which yields noticable performance gains. Futhermore, some optiomizations are done in the multi-threaded code, such as replacing Spinlocks with Adaptive Mutexes (a hybrid Mutex/Spinlock).
|
||||
- As a result of SenseGlove libraries >= `v2.300.0` changing it's directory structure, the `ThirdParty` folder's directory structure has been revamped.
|
||||
- Renamed third-party module `SGSerialThirdPartyLibs` to `SGWjwwoodSerialThirdPartyLibs` since SenseGlove libraries >= `v2.300.0` ships a new static library named `sgserial`. Thus, to avoid confusion and naming conflicts the third-party `serial` static library is now provided by the `SGWjwwoodSerialThirdPartyLibs` module and `sgserial` is provided by the `SGSerialThirdPartyLibs` module.
|
||||
|
||||
### Removed
|
||||
|
||||
@@ -24,6 +40,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Cleaned up remnants of the long-removed Unreal Engine `5.2` from `SenseGlove.Build.cs`, `SenseGloveKismet.Build.cs`, `SenseGloveTracking.Build.cs`, files.
|
||||
- Cleaned up remnants of the long-removed Unreal Engine `5.2` from `SenseGloveTracking` module.
|
||||
|
||||
### Documentation
|
||||
|
||||
- Added [{fmt} Formatting Library License](../license/fmt-formatting-library.html) section.
|
||||
- Added [Loguru Logging Library License](../license/loguru-loggin-library.html) section.
|
||||
|
||||
## [2.6.3] - 2025-06-27
|
||||
|
||||
This patch release contains no changes to the plugin code. It includes only documentation updates and improvements.
|
||||
@@ -1032,4 +1053,4 @@ This is a minor release focusing on adherence to the Unreal Engine Marketplace G
|
||||
|
||||
### Added
|
||||
|
||||
- Initial public release of the SenseGlove haptic API for Unreal Engine with support for Microsoft Windows and GNU/Linux.
|
||||
- Initial public release of the SenseGlove haptic API for Unreal Engine with support for Microsoft Windows and GNU/Linux.
|
||||
@@ -69,17 +69,17 @@
|
||||
│
|
||||
├── include (header files)
|
||||
│ │
|
||||
│ ├── boost
|
||||
│ │
|
||||
│ ├── SenseGlove
|
||||
│ │ │
|
||||
│ │ ├── BLE (SGBLE headers)
|
||||
│ │ │
|
||||
│ │ ├── Connect (SGConnect headers)
|
||||
│ │ │
|
||||
│ │ └── Core (SGCoreCpp headers)
|
||||
│ │
|
||||
│ └── serial
|
||||
│ └── SenseGlove
|
||||
│ │
|
||||
│ ├── BLE (SGBLE headers)
|
||||
│ │
|
||||
│ ├── Common (SGCommon headers)
|
||||
│ │
|
||||
│ ├── Connect (SGConnect headers)
|
||||
│ │
|
||||
│ ├── Core (SGCore headers)
|
||||
│ │
|
||||
│ └── Log (SGLog headers)
|
||||
│
|
||||
├── lib (platform-specific pre-built binary dependencies)
|
||||
│ │
|
||||
@@ -87,13 +87,13 @@
|
||||
│ │ │
|
||||
│ │ └── r25b (Android NDK r25b dependencies for UE 5.1+)
|
||||
│ │ │
|
||||
│ │ ├── arm64 (64-bit ARM variant of Android)
|
||||
│ │ ├── aarch64 (64-bit ARM variant of Android)
|
||||
│ │ │ │
|
||||
│ │ │ ├── debug
|
||||
│ │ │ │
|
||||
│ │ │ └── release
|
||||
│ │ │
|
||||
│ │ └── x64 (64-bit x86-64 variant of Android)
|
||||
│ │ └── x86-64 (64-bit x86-64 variant of Android)
|
||||
│ │ │
|
||||
│ │ ├── debug
|
||||
│ │ │
|
||||
@@ -157,19 +157,23 @@
|
||||
│ │ │
|
||||
│ │ └── release
|
||||
│ │
|
||||
│ └── win64
|
||||
│ └── windows
|
||||
│ │
|
||||
│ ├── msvc143 (Microsoft Visual Studio 2022 dependencies)
|
||||
│ ├── v143 (Microsoft Visual Studio 2022 dependencies)
|
||||
│ │ │
|
||||
│ │ ├── debug
|
||||
│ │ │
|
||||
│ │ └── release
|
||||
│ │ └── x86-64 (dependencies targeting Microsoft Windows x86-64 architecture)
|
||||
│ │ │
|
||||
│ │ ├── debug
|
||||
│ │ │
|
||||
│ │ └── release
|
||||
│ │
|
||||
│ └── rustc (Microsoft Windows binary dependencies built with Rust)
|
||||
│ │
|
||||
│ ├── debug
|
||||
│ │
|
||||
│ └── release
|
||||
│ └── x86-64 (dependencies targeting Microsoft Windows x86-64 architecture)
|
||||
│ │
|
||||
│ ├── debug
|
||||
│ │
|
||||
│ └── release
|
||||
│
|
||||
├── SGBleThirdPartyLibs (Third-party module providing SGBLE headers and libraries)
|
||||
│
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# {fmt} Formatting Library License
|
||||
|
||||
```
|
||||
Copyright (c) 2012 - present, Victor Zverovich and {fmt} contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
--- Optional exception to the license ---
|
||||
|
||||
As an exception, if, as a result of your compiling your source code, portions
|
||||
of this Software are embedded into a machine-executable object form of such
|
||||
source code, you may redistribute such embedded portions in such object form
|
||||
without including the above copyright and permission notices.
|
||||
```
|
||||
@@ -0,0 +1,28 @@
|
||||
# Loguru Logging Library License
|
||||
|
||||
```
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org>
|
||||
```
|
||||
@@ -7,6 +7,8 @@ The following third-party software are used and shipped with the SenseGlove Unre
|
||||
- [The SenseGlove SDK (a.k.a. SenseGlove Backend Libraries, or SenseGlove Core Libraries)](senseglove-sdk.md)
|
||||
- [SGBLE and SGBLExx Rust Dependencies](sgble-sgblexx-rust-dependencies.md)
|
||||
- [The Boost C++ Libraries](boost-cpp-libraries.md)
|
||||
- [The {fmt} Formatting Library](fmt-formatting-library.md)
|
||||
- [The Loguru Logging Library License](loguru-loggin-library.md)
|
||||
- [The Serial Communication Library](serial-communication-library.md)
|
||||
|
||||
For more information consult their own respective open-source licenses, please.
|
||||
|
||||
@@ -110,4 +110,6 @@ The appendix contains various extra useful information:
|
||||
- [SenseGlove SDK License](../license/senseglove-sdk.md)
|
||||
- [SGBLE and SGBLExx Rust Dependencies Licenses](../license/sgble-sgblexx-rust-dependencies.md)
|
||||
- [Boost C++ Libraries License](../license/boost-cpp-libraries.md)
|
||||
- [{fmt} Formatting Library License](../license/fmt-formatting-library.md)
|
||||
- [Loguru Logging Library License](../license/loguru-loggin-library.md)
|
||||
- [Serial Communication Library License](../license/serial-communication-library.md)
|
||||
|
||||
Reference in New Issue
Block a user