This fixes a couple of issues, such as Sapphire login breaking. This
also makes it possible to wait out the login gate, instead of having
to restart the launcher. The gate status check is also moved to the
squareboot class for now.
This option was completely broken, as the window would close even if you
didn't want it to, and the launcher would never exit. Now this option
actually does what it's supposed to.
The wine version isn't reported correctly, so we won't show it. It's
also currently not possible to select a custom Wine path in the GUI,
since the file portal will return a useless sandboxed copy of anything
in /usr.
Now it properly "slideshows" just like the real client, instead of being
a static image like it was before. The banners are now clickable, but
there's still a bug causing the controls to be reloaded twice on startup
- delaying the first animation.
It seems something changed in recent Wine versions(?) so there's now
a new TickCount() function using mach_continuous_time() based off of
XIV on Mac's implementation.
Square Enix detects your platform as "macOS" when it detects Wine DLL
exports (only on the 64-bit launcher apparently), so if you have a
Windows license selected Astra will automatically add
the relevant registry key for you now.
If you still want to take advantage of your macOS license, you'll still
be able to play by selecting "macOS" as your license in your settings.
Now the code is much cleaner, and the if-clauses are now cleanly
seperated based on which lobby you're attempting to sign into. Also,
the "Register" button for Sapphire servers is now disabled when login
is disabled too.
There's a new "Game" menu where you can install the game if you
missed the initial prompt on start-up.
If you have XIV on Mac (a fellow XIV launcher) installed, you
now have the option of using their wine binaries and libraries. There is
more to come in future commits, especially pertaining DXVK and MoltenVK.
Game installation has been fixed for macOS, enabling you to start
updating right away without having to fiddle around with finding the
right installer or app package.