Explore replacing the game's Scaleform GFx UI with a new Avalonia UI #65
Labels
area: client
Issues related to the launcher and client integration.
area: research
Issues related to reverse engineering of the game.
area: tools
Issues related to the internal CLI tools.
state: deliberation
Issues that require design work and/or discussion.
Milestone
This is a very, very long term project that will require a lot of experimentation.
The idea is to completely rip out the ancient, slow, and ugly Scaleform GFx UI from the game. We would replace it with a new UI, written from scratch, using Avalonia.
Here's what I think we would roughly have to do:
For the Avalonia backend, I think we would basically just do a classic
IDXGISwapChain::Present()
hook. In the hook, we make Avalonia render using Direct2D or Win2D, which should be fairly easy since Avalonia already has an official Direct2D backend that we can learn from. Using Direct2D is advantageous because it can interoperate with Direct3D.Note: TERA only works with DirectX 11.0+ since the 64-bit upgrade. However, Direct2D/Direct3D interop will require Direct3D feature level 11.1. Unfortunately, the client currently hardcodes feature level 11.0 when calling
D3D11CreateDevice()
, so we will need to patch that.The text was updated successfully, but these errors were encountered: