Skip to content
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

Mod download UI integration #595

Merged
merged 106 commits into from
Dec 14, 2023

Conversation

Alystrasz
Copy link
Contributor

@Alystrasz Alystrasz commented Nov 12, 2023

UI integration of the mod downloading feature merged in #545

When downloading a mod, this will display download progress, then extraction progress onscreen. Once mod has been downloaded, mods will be reloaded, and server join will pursue.

NB: NSReloadMods currently doesn't support all mods (weapon skins for instance); some maps are supported.

Mods PR: R2Northstar/NorthstarMods#761

Test instructions

  • Install launcher PR
  • Install mods PR
  • Enable mod downloading in Controls menu (this is now done by switching the allow_mod_auto_download convar to 1)
  • Join a server ("Space battle" test server should up for you to try this feature, if not ping me please)

Media

Here's a demo of end-to-end custom map download:

autodl-frostbite-demo.mp4

Changes

  • Expose download function to squirrel VM;
  • modState variable is updated regarding mod download state (downloading, extracting etc);
  • NSGetModInstallState function returns mod download state as a ModInstallState struct (defined in squirrel);
  • ModFetchingProgressCallback function is used to get curl download progress information;
  • GetModArchiveSize function gives information for extraction progress stats;
  • FetchModSync isn't run in a thread anymore (since the whole downloading process is already run in a separate thread).

Alystrasz and others added 30 commits August 21, 2023 02:55
@ASpoonPlaysGames ASpoonPlaysGames added needs testing Changes from the PR still need to be tested needs code review Changes from PR still need to be reviewed in code labels Nov 18, 2023
Copy link
Member

@GeckoEidechse GeckoEidechse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed working in testing together with R2Northstar/NorthstarMods#761

I tested by attempting to join the Space battle server. First with the convar still set to 0 and subsequently being unable to join. Then setting the convar to 1 and rejoining triggered the auto-download and I was able to successfully join the server and play the custom map.

@GeckoEidechse GeckoEidechse removed the needs testing Changes from the PR still need to be tested label Dec 12, 2023
@GeckoEidechse
Copy link
Member

@ASpoonPlaysGames @Jan200101 given that the two of you reviewed #545 you wanna do code review on this one as well?

Testing was already done by me so only code review is left before we can merge this ^^

@GeckoEidechse GeckoEidechse added the almost ready to merge Apart from any small remaining other issues addressed by other labels, this would be ready to merge label Dec 13, 2023
@GeckoEidechse GeckoEidechse changed the title feat: Mod download UI integration Mod download UI integration Dec 14, 2023
Copy link
Contributor

@ASpoonPlaysGames ASpoonPlaysGames left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good as far as I'm concerned

@ASpoonPlaysGames ASpoonPlaysGames added READY TO MERGE This mergeable right now and removed needs code review Changes from PR still need to be reviewed in code almost ready to merge Apart from any small remaining other issues addressed by other labels, this would be ready to merge labels Dec 14, 2023
@GeckoEidechse GeckoEidechse merged commit 5a7ad22 into R2Northstar:main Dec 14, 2023
2 checks passed
@Alystrasz Alystrasz deleted the feat/auto-dl-integration branch December 27, 2023 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
READY TO MERGE This mergeable right now
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants