Skip to content

Releases: cohaereo/alkahest

v0.5.1

02 Feb 19:21
Compare
Choose a tag to compare

✨ Highlights

  • FXAA pipeline support
  • Added an empty map for spawning objects
  • Add a search bar to the outliner by @AndrisBorbas in #41
  • Object channel editor

Added

  • Cull static/dynamic geometry outside of the view frustum
  • Write tracing events to alkahest.log
  • Basic controller support
  • Global channel labels/input field types
  • Added SpecularOnly, ValidLayeredMetalness, ValidSmoothnessHeatmap, ValidSourceColor debug views
  • Re-added loader code for decal and decal collection node
  • Implemented TFX bytecode op 0x3a gradient4_const
  • Implemented TFX bytecode op 0x3b
  • Added console command window_resize to resize the window to a specific size
  • Added console command set_camera_from_cb12 to load view matrices from a raw view scope buffer
  • Added commands lock_time and unlock_time to allow fixing the game time to a specific value (eg. for more deterministic image comparisons)
  • Shadow quality option (replaces shadow checkbox)
  • Added Arrow Hotkeys to navigate selected object heirarchies @Froggy618157725
    in #36
  • Added hotkeys to add to current route. + adds at the end of the route, or after current node, - adds before the selected node
  • Content confidentiality dialog on first startup
  • Log unimplemented TFX bytecode ops in the TFX debugger
  • Added breakpad integration for crash reporting
  • Creating a portable.txt file in the same directory as the executable will make Alkahest use that directory for its configuration and temporary files

Changed

  • Enable SSAO by default
  • Abstract global/fullscreen pipelines
  • Replaced hecs with bevy-ecs
  • Use bevy-ecs change detection to update cbuffers
  • Improved Route UI. Can now use translation gizmo for small adjustments
  • Enabled fast math for glam
  • Various atmosphere-related improvements
  • Updated destiny-pkg to 0.14, drastically improving startup time
  • Leading articles are now ignored when sorting destinations
  • Camera speed multiplier will no longer be able to reach 0
  • Config file is now automatically saved every 5 minutes

Fixed

  • Fix static transparents rendering in front of sky objects
  • Fix atmosphere rendering for TFS
  • Rewrote TFX bytecode op 0xe to merge_3_1
  • Fix cross-compilation on Linux by using FXC instead of D3DCompile
  • Fixed a random Discord presence related crash
  • Added transparency sorting for sky objects (fixes broken skyboxes such as the Anomaly in Vesper's Host)
  • Fixed a water related map loading error on Disjunction
  • Hotkeys are no longer triggered when typing in text fields
  • Fixed Alkahest sometimes not being able to detect the Steam installation of Destiny 2
  • Fixed loading of 80809121 volumes (renamed from slipsurface volume to Unknown80809121)
  • Display scaling is now properly applied upon launch
  • The GUI manager no longer sets the scale factor twice, making scaling more consistent
  • Fixed some concurrency-related crashes in the renderer by adding a reentrant lock to the immediate context
  • Fixed a stack overflow in debug mode by moving global scopes/pipelines to the heap
  • When a texture handle is explicitly set to none, Alkahest will now properly unset the texture instead of binding the fallback texture
  • Bake rustc version as a constant instead of checking it at runtime
  • Fixed solid geometry not rendering in simpler maps (Shard, Sunken, etc.)
  • Fixed invalid window sizes being handled (eg. win32 resizes the window to 0x0 when minimizing it)

v0.5

23 Jul 20:31
b506495
Compare
Choose a tag to compare

✨ Highlights

Alkahest has been largely rewritten, improving performance and flexibility, as well as adding (or opening the gates
for) a ton
of new features.

The motivation for this rewrite originally started with the desire to rewrite the renderer to make it more accurate to
Destiny 2's rendering pipeline. This quickly spiraled into a rewrite of the entire project as I noticed that the
existing codebase was not very flexible, and we were often implementing hacks for new features. The new codebase is much
easier to maintain and extend, and will allow for a lot of cool new features in the future.

Features are still well on their way, but all the features you know and love from Alkahest 0.4 are here, and some even
received some polish!

Added

  • Added a new, more accurate renderer
    • Added a proper extern slot system
    • Atmosphere rendering
    • Ambient voxel/cubemap IBL
    • Bind DX11 depth, blend, rasterizer and depth bias states based on Technique data
  • Shadow mapping
  • Global lighting
  • Decorator rendering (grass, plants, small rocks, etc.)
  • Transform gizmo
  • Compile-time shader compilation
  • Post processing framework
    • Ambient occlusion
  • Settings panel
  • Fullscreen mode (can be enabled through --fullscreen argument or alt+enter)
  • Hide the cursor when moving the camera
  • Smooth camera acceleration
  • Specular matcap (makes shiny objects look shiny in unshaded mode)
  • Static instances can now be moved, rotated and scaled individually
  • Added a material ball with configurable GBuffer output parameters
  • Added a dim outline when hovering over nametags
  • Added a unit testing framework
    • Currently used for sanity testing various loaders like maps and activities
  • Added Page Up/Down to move up and down in the map list @Froggy618157725
    in #31
  • Added a Children/Parent button in inspector by cohaereo

Changed

  • Reworked the multi-threaded asset loader to use channels, preventing locks
  • Asset loads are requested by the renderer to prevent duplicate loads
  • Cubemaps are now applied to only their respective volumes
  • Replaced the Visible component with Hidden
  • Reworked the Global and Hidden components as stateless ECS flags
  • Removed the scope editor
    • The scope editor has been replaced by the higher-level extern editor
  • Lowered DirectX feature level requirement to 11.0

Removed

  • Removed the built-in lighting mode
    • The built-in lighting mode was an artifact of early Alkahest, and looked horrible due to it rendering outside of
      the in-game shading pipeline.
  • Removed the composite shader
  • Removed entity VS override
    • This is internally still used as a workaround for skinned (skeleton) objects, but is no longer exposed as an
      option

Fixed

  • Fixed specular highlights not moving with the camera
  • Fix skinned meshes not displaying properly without VS override
  • Fixed windows with 0 size
  • Don't save the window size if it's minimized
  • Fixed decals not being blended properly
  • Fixed light shaft occlusion being rendered in the transparent stage
    • This caused objects to render the screen inside of them at 1/4th resolution
  • Fixed certain objects not being rendered correctly due to a missing color buffer
    • These objects are now rendered with a default color buffer
  • Fixed some suns turning into black holes
  • Fixed water showing up as a red box
  • Fixed a renderglobals related crash on startup when using pre-lightfall packages
  • Fixed certain special usage sky objects being rendered in the transparents stage
  • Fixed a bug in the auto updater that caused an error when trying to move the old executable

v0.4.1

27 Mar 22:41
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release

✨ Major Changes

  • ⚠ Alkahest is no longer compatible with Avvy's Alkgui. The features provided by Alkgui are now available in Alkahest itself.
  • Reworked the map loading mechanism to allow for maps to be loaded individually by @cohaereo
  • Added a map and activity browser by @cohaereo
  • Added a game installation detector by @cohaereo

Added

  • Added the ability to load maps from packages by name (eg. throneworld or dungeon_prophecy) through the -p argument by @cohaereo
  • Added draw_crosshair to the config by @Froggy618157725 in #21
  • Added 'I' Key shortcut to swap to previous map by @Froggy618157725 in #21
  • Added Controls under Help Menu @Froggy618157725 in #22
  • Added version information to panic log by @cohaereo
  • Package directory is now persisted in the config by @cohaereo

Deprecated

  • Passing a package file is deprecated in favor of the -p switch. In the future, Alkahest will only accept package directory paths

Changed

  • Create window before initializing the package manager by @cohaereo
  • Rework transparent(_advanced) scopes by @cohaereo
  • Change allocator to mimalloc by @cohaereo
  • Configuration files are now stored in the system config directories (see directories API) by @cohaereo
  • The tag dumper and bulk texture dumper windows are now hidden by default, and can be toggled from the View menu by @cohaereo

Fixed

  • Fixed the GitHub URL for stable releases by @cohaereo
  • Copy missing sections in nightly changelog diffs by @cohaereo
  • Fixed build date/timestamp generation by @cohaereo
  • Reset update check indicator timer when starting a new check by @cohaereo
  • Fixed a crash when creating render targets with a zero size by @cohaereo
  • Fixed a map loading crash on Disjunction by @cohaereo

v0.4

17 Feb 23:18
Compare
Choose a tag to compare
v0.4 Pre-release
Pre-release

Added

Changed

Fixed

  • Fixed cubemap level selection that made surfaces too glossy by @cohaereo
  • Lights now obey the Visible component
  • Fixed a TFX parameter that was causing some lights to not be visible by @cohaereo
  • Fixed depth linearization in the transparent scope by @cohaereo

Removed

  • Removed pointless world ID component from static instances by @cohaereo

v0.3

25 Jan 11:36
Compare
Choose a tag to compare
v0.3 Pre-release
Pre-release

Added

Changed

Removed

Fixed

  • Fix camera right and up axis by @cohaereo
  • Fix Utility Visibility by @Froggy618157725 in #10
  • Fixed Sphere Icon in Inspector Panel by @Froggy618167725 in #12
  • Fixed shader warnings by @cohaereo
  • Fix pickbuffer not respecting d3d mapped row pitch by @cohaereo
  • Fixed Selector behavior on screens with scaling factors @Froggy618157725 in #16
  • Fix cubemap view not rotating by @cohaereo
  • Fixed a potential GUI memory leak when using unmanaged DirectX textures by @cohaereo

v0.2.2

05 Jan 16:01
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

New features

  • Ruler intervals, places a marker at every x meters
  • Pressing F focuses the camera on the selected entity
  • User-created entities (such as the ruler) are now re-nameable
  • When dragging the camera, the cursor will now wrap around the edge of the window

Fixes

  • Changed the staging buffer to a 16-bit floating point format in order to access HDR values

0.2.1

02 Jan 18:48
Compare
Choose a tag to compare
0.2.1 Pre-release
Pre-release

New features

  • Turnback and instant kill barriers are split to their own resource type
  • 'Hide all unselected' shortcut shift+h
  • 'Show all hidden' shortcut alt+h
  • Texture viewer channel/mip selection
  • Texture viewer 3D depth slider
  • --lowres switch to load low resolution textures

Fixes

  • Resource nametags now obey entity visibility

Milestone 0.2: Scenegraph and Inspector

31 Dec 16:24
Compare
Choose a tag to compare
Pre-release
v0.2

Bump version