Skip to content

Releases: GamesTrap/TRAP

TRAP™ Release notes 0.10.0|23w45a1 - 0.10.93|24w29b1

28 Jul 00:11
58b10b6
Compare
Choose a tag to compare

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

20 Apr 19:24
7bd3a0e
Compare
Choose a tag to compare

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