-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve linux support (new launcher) #1848
base: master
Are you sure you want to change the base?
Conversation
cfb2938
to
dc11b8b
Compare
49cf07d
to
bbfcd47
Compare
With that, we present to you the Cross-Platform launcher. Have fun reviewing this 🌚 |
I have just tested this build on Linux, it does not support server save files from earlier versions or launch on Linux. While the new launch looks and feels great it fails to address the original issue of Linux support. The current version of the launcher is more functional on Linux, however, it fails to detect a running Steam instance so it doesn't launch the game. If we just fixed the code for detecting Steam it should let us avoid rewriting the entire launcher. |
Nitrox v1.8.0.0 is not meant to support older save files since there were major changes made to the build system. |
Implemented and adapted Tornac's "Instant Launch" profile from PR SubnauticaNitrox#2154 to the new launcher. Also fixed a thread error for when one is thrown while multiplayer is being launched, as well as changing errors thrown during server startup from being a notification to being an error dialog. Co-Authored-By: rootcan <24827220+tornac1234@users.noreply.github.com>
Release mode moves most dependency files to lib folder, including the .deps.json. The latter of which made the Nitrox.Launcher fail to find native Skia libraries.
Removed the dialog asking for server save to be created. As this is a developer feature, we assume you know what you're doing.
This is the expected CLI command argument style
Multiple clients can be started at the same time when more player names are provided to --instantlaunch. The color of the player is determined by a hash of their name.
Previously, the launcher created an empty save for the server to use.
The hyperlink text wasn't aligned for some reason and I thought it would look better if it was a button instead of a link. That being said, it looks a bit weird to have there.
There was a weird styling issue that I noticed where the actual "text" block area was centered within the textbox, making the cursor not change unless you hovered over it and also making selecting text a bit less convenient. This commit fixes that, though it would've been easier to fix had it not been for the DockPanel#PART_InnerDockPanel element refusing to stay at 0 margin and instead continuing to use the TemplateBinding padding. About 2.5 hours of work had to be put in and many hoops had to be jumped through to solve this issue :(
There is still an issue with initial foreground coloring, mentioned by the "TODO" comment in the code.
Skipped over prior color tags to the last applicable.
Co-Authored-By: Meas <1107063+Measurity@users.noreply.github.com>
Issues: - The LogText portion is duplicated for some reason (still need to look into it). - Still need to find a way to pass error/warning logs to the args so that we can format those logs with red/yellow foreground color. - Highlighting lines is just weird (can't highlight multiple lines, the scrollviewer doesn't scroll for you when trying to continue highlighting a long line of text, etc).
Just a little nit-picky thing on my end that I think looks better :) Feel free to revert if you don't like it though. I assumed it wasn't included in previous changes by mistake.
Anything we still want to do here? Will merge PR beginning of new month otherwise. |
I think we were talking about putting the port checker in launcher, see #2210 and https://discord.com/channels/525437013403631617/528915769107415040/1319975520946884609 Not a dealbreaker for launcher merge though can definitely wait to integrate until after new launcher is merged, this PR is already a pretty big monolith |
Probably something for a later PR. The focus of this one is just to rewrite the old launcher with cross-platform compatibility + better world management stuff and other improvements. |
dotnet build
on dotnet SDK 8+NitroxLauncher
to play Subnautica with Nitrox.NitroxLauncher
)This PR includes solution-wide changes to multi-target for .net 9 (server, launcher) and .net 4.7.2 (game client), allowing benefits of modern .net where possible.
Closes #988
Resources to assist with implementation