7.7 KiB
title | date | draft | tags | toc | series | ||||
---|---|---|---|---|---|---|---|---|---|
Astra & Novus Status Update: April 2024 | 2024-04-28 | false |
|
true |
|
Oh me, oh my - there's a lot to talk about! It's been a couple of months, but I made some pretty huge changes.
Moving to GitHub
I made an executive decision to move my FFXIV projects to GitHub, from sourcehut. I did it for two main reasons:
- builds.sr.ht does not provide Windows/macOS images, which led to me dropping support for those.
- Almost all FFXIV projects exist on GitHub. Being on GitHub reduces the barriers from those coming from other projects.
So now I have moved most (but not all) of the FFXIV related stuff over to my GitHub. I'm still in the process of updating URLs and sunsetting the sr.ht. repositories.
Continuous Integration
For Novus and Astra, (for the first time in a while) Windows builds are available again! Right now you have to download them through GitHub actions - which requires a GitHub account - but I plan on uploading them to xiv.zone as before.
(Note that Physis documentation updating and Flatpak are missing from the GitHub CI at the moment.)
Also as of the time of writing, the Windows version of Astra is not expected to work out of the box.
I have no plans to support macOS, but would not turn down a contribution to add support for it again.
Astra
Switched to the new Dalamud distribution server and made the asset updater more resilient.
Added support for 64-bit only clients.
Bypass the annoying FFXIV website browser check automatically when using the integrated web browser.
Added the latest expansion logo to the login page.
Expose a RenderDoc capture option for easily capturing the game when launching it through Astra. It's located under "Developer Settings":
Added preliminary support for launching the benchmark. I still have to expose options for the benchmark and stuff.
Added an option to open the user data folder easily from settings.
Physis
Physis has gained experimental Dawntrail support. It can read stuff like models, materials and shader packages albeit not very well tested. This took a huge load off my back as I was worried Dawntrail was going to completely obliterate my existing code.
On the topic of Dawntrail, I added support for index2 files which means benchmark data is now properly supported in Physis.
I also added support for basic reading of maps from the game, including terrain and layer files.
I've been busy deepening model support, adding support for more vertex types and some form of shape data reading/writing (but that's not complete yet!)
I also made some fixes for patches failing on recent game versions.
I integrated Jim Kirisame's vulgar words reader for reading .dic files, so those can now be read by Physis!
Some boring refactoring these past few months too, including shrinking the amount of dependencies. Yay!
C# Bindings
I want to announce a new project I started, but not sure how far I'm going with it yet.
Lots of stuff in the FFXIV world uses C#, so it only makes sense that Physis is available for that too. I started PhysisSharp which is a set of bindings of Physis in C#. I still have to write most of it, but I already figured out the hard part: the build process 😄
If you're curious about how the Rust <-> C# library is built, check out the README in the repository.
Novus
Gear Editor
Added item icons to the gear list. This is pretty greedy and can be cached better. Even then, everything still loads surprisingly fast.
Data Explorer
Added support for importing or downloading the path list. The import still takes way too long though.
Added an actual file type database, including nice type names in the file properties and icons in the sidebar.
Added a menu item to copy the file path when right-clicking files.
Excel Editor
Added a search bar for searching through available sheets.
Added a function to download or import Godbert definitions easily.
Model Viewer
Added a way to switch to wireframe mode.
Added a statistics tab to list the level of detail and triangle count.
Map Editor
Added a simple program to view the map files from the game. Still very basic but it does work!
Material Editor
A simple program to view the material's shaders, parameters, etc.
Renderer
As I discussed in [the last blog post]({{< ref "ffxiv-dec2023" >}}), a big goal of mine this year was to re-create FFXIV's rendering system and I'm happy to say I was successful! Not all shaders are supported yet, but some gear now render as expected:
This is rendered with Vulkan and without using any custom shaders1, it's all read from game data. Big thanks to Ouroboros and the people in the FFXIV Discords for helping me along. Oh yeah, and RenderDoc for being a fantastic tool as always.
I'm working on adding support for Dawntrail shaders next, you can follow along here.
See you next time!
-
Technically there's some, such as the blit from composite to swapchain and the Dear ImGui overlay. ↩︎