Releases: GamesTrap/TRAP
Releases · GamesTrap/TRAP
TRAP™ Release notes 0.10.0|23w45a1 - 0.10.93|24w29b1
TRAP™ Release notes 0.10.0|23w45a1 - 0.10.93|24w29b1
Known issues:
- TRAP-Editor modifying entities or their properties while in play mode has no effect on the scene
- TRAP-Editor using gizmos while in play mode has no effect on the scene
Core engine changes:
- Multithreading preparation:
- Added contention free shared mutex to replace std::shared_mutex
- Added Safe, a wrapper for user-defined types which get protected using a mutex on access
- Utils added WaitForAll() which allows waiting for multiple std::futures
- HotReloading fixed shader changes not being visible after reload (pipeline not getting invalidated)
- VulkanRenderer fixed vkAcquireNextImageKHR semaphore synchronization error
- ImGuiVulkanBackend Fixed synchronization errors
- VulkanSwapChain Fixed crash when resizing on Linux X11/Xwayland
- VulkanRenderer added support for depth/stencil attachments
- VulkanCommandBuffer Fixed Vulkan errors in ResolveImage()
- Vulkan names for most objects are now set to make debugging easier (only in debug builds)
- Renderer fixed usage of wrong instance count in draw calls
- Added deprecated warnings for C++23 backports when switching standard to C++23
- Negative time scales are now ignored
- Fixed a bug which made X11/XWayland the default instead of Wayland on Linux
- Added custom implementation of std::optional with backported functionality from C++23
- Added custom implementation of std::expected with backported functionality from C++23
- Improved code and test coverage
- Added premake-ninja as submodule
- Backported functionality from C++26
- Fixed unstable hash values in PipelineCache
- Profiling systems to profile can now be set with SetTRAPProfileSystems() at runtime
- Added UniqueResource and ScopeFail utility classes from C++ library fundamentals v3 TS
- Reworked FileWatcher (now called FileSystemWatcher)
- Refactored Vulkan code
- Math removed all Perspective() functions which do not use an infinite far plane and reverse Z
- Math removed all Orthographic() functions which are not using reverse Z
- Updated various dependencies (milestone/5)
- Removed USE_RENDER_DOC macro, RenderDoc will inject the capture layer by itself now
- Enabled heterogeneous lookup for std::unordered_map and std::map when using std::string as key
- Texture fixed wrong texture type being used when creating a multi-file cube texture
- MSVC enabled /utf-8 compiler option (required by fmt)
TRAP-Editor changes:
- Scene saving now uses the correct scene
- Fixed SceneGraphPanel tree using the same identifier for all entities
Documentation changes:
- Doxyfile added threadsafety, threadsafe, reentrancy, experimental and callback_signature tags
CI/CD changes:
- Switched from make to ninja for GCC and Clang builds
- Switched from msbuild to ninja for Windows builds
- Enabled second Windows runner
Detailed changelog and future changes can be found at https://docs.trappedgames.de/pages/changelog.html
TRAP™ Release notes 0.9.0|23w12d1 - 0.9.125|23w44a1
TRAP™ Release notes 0.9.0|23w12d1 - 0.9.125|23w44a1
Core engine changes:
- Fixed various crashes
- Critical errors now display a message box and then quit the engine
- Enabled link time optimizations (LTO) for release builds
- Use mold linker on Linux when installed
- VulkanRenderer now requires SPIRV 1.4 support
- VulkanSwapchain now reuses old swapchain on recreation
- VulkanPhysicalDevice greatly reduced score impact of maxImageDimension2D and maxImageDimensionCube properties
- Unfocused FPS limit can now be set via engine.cfg
- Merged Wayland support for Linux (#104)
- Select X11 or Wayland at runtime using TRAP_WM env var
- Merged Wayland fractional scaling support for Linux (#102)
- Merged Wayland arbitrary (emulated) video mode support for Linux (#104)
- Fixed various Wayland related issues
- Windows now update while being dragged or resized on Windows
- More accurate monitor names for Windows
- Updated NVIDIA Reflex support to v1.8 (re-verified functionality)
- Updated Steamworks SDK support to v1.58
- Updated various dependencies (milestone/5)
- Resolved various compiler and tool warnings
- Refactored premake files
- Dropped support for Visual Studio 2019
- Switched to C++20 standard
- Refactored engine using new std functionality
- Added libfmt as submodule
- Added GCEM as submodule (compile-time math support)
- Backported various functionality from upcoming C++23 standard
- Added various unit tests using Catch2
- Logs are now saved on engine crash
- Added support for code coverage generation on Linux
- Windows 10 or newer is now required, dropped support for older versions
Headless mode changes:
- Fixed various crashes
- Removed ImGuizmo, ImGui, DiscordGameSDK & NVIDIA-Reflex dependencies
- NVIDIA Aftermath SDK & Steamworks SDK are now optional dependencies
- SteamworksSDK added support for Steam Game Server API
- Relaxed Vulkan requirements for headless mode
- Removed WindowingAPI support
ConvertToSPIRV changes:
- Shaders are now converted from GLSL to the TRAP-SPIRV (TP-SPV) format
- Added --info parameter to display information of a generated shader
Documentation changes:
- Added NVIDIA Reflex SDK to additional libraries section
- Added section to describe difference between normal and headless modes
- Re-generated documentation
- Moved documentation to TRAP-Docs repository
CI/CD changes:
- Switched to self-hosted runners
- Added Linux & Windows runner dockerfiles to repo
- Pipeline now uploads compiled executables as artifacts to TrappedGames server
- Pipeline added job for clang on Linux
- Replaced GCC 10 with GCC 13
- Replaced Clang 12 with Clang 17
- Removed Visual Studio 2019 job
- Updated Linux runners to Ubuntu 23.10
- Added workflow to automatically open PRs for dependency updates
- Added unit test job after compilation using the produced artficats
- Added proprietary SDKs like NVIDIA Reflex to be included in Build-CI artifacts
Detailed changelog and future changes can be found at https://docs.trappedgames.de/pages/changelog.html