-
Notifications
You must be signed in to change notification settings - Fork 124
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
Mod download UI integration #595
Conversation
…ady-existing directory
There was a problem hiding this 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.
@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 ^^ |
There was a problem hiding this 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
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
in Controls menu(this is now done by switching theallow_mod_auto_download
convar to1
)Media
Here's a demo of end-to-end custom map download:
autodl-frostbite-demo.mp4
Changes
modState
variable is updated regarding mod download state (downloading, extracting etc);NSGetModInstallState
function returns mod download state as aModInstallState
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).