Skip to content

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

Pre-release
Pre-release

Choose a tag to compare

@GamesTrap GamesTrap released this 28 Jul 00:11
· 10 commits to master since this release
58b10b6

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