From c9a1f8e9b037e9355331979a9b94206dbdaa66be Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 15 Jul 2024 00:06:29 +0200 Subject: [PATCH 01/11] feat: add NSFetchVerifiedModsManifesto signature to nativefuncs.json file --- .github/nativefuncs.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/nativefuncs.json b/.github/nativefuncs.json index 1148d3e58..889432d73 100644 --- a/.github/nativefuncs.json +++ b/.github/nativefuncs.json @@ -502,6 +502,13 @@ "returnTypeString":"array", "argTypes":"string modName" }, + { + "name": "NSFetchVerifiedModsManifesto", + "helpText": "Retrieves the verified mods list from the central authority (GitHub).", + "returnTypeString": "void", + "argTypes": "" + + }, { "name": "NSIsModDownloadable", "helpText": "checks whether a mod is verified and can be auto-downloaded", From df37c5a827f108829fca1df2589ad6f083b56f3d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 15 Jul 2024 00:14:04 +0200 Subject: [PATCH 02/11] feat: add ModInstallState.MANIFESTO_FETCHING enum value --- .../mod/resource/northstar_client_localisation_english.txt | 2 ++ .../mod/scripts/vscripts/ui/menu_ns_moddownload.nut | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/Northstar.Client/mod/resource/northstar_client_localisation_english.txt b/Northstar.Client/mod/resource/northstar_client_localisation_english.txt index eaec0cc72..baceed225 100644 --- a/Northstar.Client/mod/resource/northstar_client_localisation_english.txt +++ b/Northstar.Client/mod/resource/northstar_client_localisation_english.txt @@ -373,6 +373,8 @@ Press Yes if you agree to this. This choice can be changed in the mods menu at a "WRONG_MOD_VERSION" "Server has mod \"%s1\" v%s2 while you have v%s3" "MOD_NOT_VERIFIED" "(mod is not verified, and couldn't be downloaded automatically)" "MOD_DL_DISABLED" "(automatic mod downloading is disabled)" + "MANIFESTO_FETCHING_TITLE" "Setting up mod download" + "MANIFESTO_FETCHING_TEXT" "Retrieving the list of verified mods..." "DOWNLOADING_MOD_TITLE" "Downloading mod" "DOWNLOADING_MOD_TITLE_W_PROGRESS" "Downloading mod (%s1%)" "DOWNLOADING_MOD_TEXT" "Downloading %s1 v%s2..." diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut index 4d299362d..61ad99fd0 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut @@ -3,6 +3,7 @@ global function DisplayModDownloadErrorDialog global enum eModInstallStatus { + MANIFESTO_FETCHING, DOWNLOADING, CHECKSUMING, EXTRACTING, @@ -58,6 +59,10 @@ void function UpdateModDownloadDialog( RequiredModInfo mod, ModInstallState stat { switch ( state.status ) { + case eModInstallStatus.MANIFESTO_FETCHING: + Hud_SetText( header, Localize( "#MANIFESTO_FETCHING_TITLE" ) ) + Hud_SetText( body, Localize( "#MANIFESTO_FETCHING_TEXT" ) ) + break case eModInstallStatus.DOWNLOADING: Hud_SetText( header, Localize( "#DOWNLOADING_MOD_TITLE_W_PROGRESS", string( state.ratio ) ) ) Hud_SetText( body, Localize( "#DOWNLOADING_MOD_TEXT_W_PROGRESS", mod.name, mod.version, floor( state.progress / MB ), floor( state.total / MB ) ) ) From ecd2a294519fe27f836b37a08f779b645208119a Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 15 Jul 2024 00:34:53 +0200 Subject: [PATCH 03/11] feat: fetch verified mods manifesto on mod download Previously, the verified mods manifesto was fetched on game start without checking if the verified mod feature is enabled Squirrel -side. Now, the manifesto is only fetched when the user wants to download a mod (meaning they enabled the feature beforehand). --- .../vscripts/ui/menu_ns_moddownload.nut | 21 ++++++++++++++++++- .../vscripts/ui/menu_ns_serverbrowser.nut | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut index 61ad99fd0..5ba944e05 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut @@ -17,9 +17,13 @@ global enum eModInstallStatus NOT_FOUND } +struct { + string serverName = "" +} file + const int MB = 1024*1000; -bool function DownloadMod( RequiredModInfo mod ) +bool function DownloadMod( RequiredModInfo mod, string serverName ) { // Downloading mod UI DialogData dialogData @@ -36,6 +40,21 @@ bool function DownloadMod( RequiredModInfo mod ) var header = Hud_GetChild( menu, "DialogHeader" ) var body = GetSingleElementByClassname( menu, "DialogMessageClass" ) + // Refresh verified mods list if trying to connect to a new server + if ( serverName != file.serverName ) + { + NSFetchVerifiedModsManifesto() + file.serverName = serverName + + ModInstallState state = NSGetModInstallState() + UpdateModDownloadDialog( mod, state, menu, header, body ) + while ( state.status == eModInstallStatus.MANIFESTO_FETCHING ) + { + state = NSGetModInstallState() + WaitFrame() + } + } + // Start actual mod downloading NSDownloadMod( mod.name, mod.version ) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 4f17dedf2..2975da064 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -1000,7 +1000,7 @@ void function OnServerSelected_Threaded( var button ) else // Launch download { - if ( DownloadMod( mod ) ) + if ( DownloadMod( mod, server.name ) ) { downloadedMods++ } From 4db68c2a2ffeb619c78ffe0518c1b7ae2f9c341e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 15 Jul 2024 02:42:35 +0200 Subject: [PATCH 04/11] refactor: move fetching logic into IsModDownloadable function --- .../vscripts/ui/menu_ns_moddownload.nut | 48 ++++++++++----- .../vscripts/ui/menu_ns_serverbrowser.nut | 61 +++++++++++-------- 2 files changed, 69 insertions(+), 40 deletions(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut index 5ba944e05..bd8880cb3 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut @@ -1,5 +1,6 @@ global function DownloadMod global function DisplayModDownloadErrorDialog +global function IsModDownloadable global enum eModInstallStatus { @@ -23,6 +24,38 @@ struct { const int MB = 1024*1000; +bool function IsModDownloadable( string modName, string modVersion, string serverName ) +{ + // Refresh verified mods list if trying to connect to a new server + if ( serverName != file.serverName ) + { + // Fetching UI + DialogData dialogData + dialogData.header = Localize( "#MANIFESTO_FETCHING_TITLE" ) + dialogData.message = Localize( "#MANIFESTO_FETCHING_TEXT" ) + dialogData.showSpinner = true; + + // Prevent user from closing dialog + dialogData.forceChoice = true; + OpenDialog( dialogData ) + + + NSFetchVerifiedModsManifesto() + file.serverName = serverName + + ModInstallState state = NSGetModInstallState() + while ( state.status == eModInstallStatus.MANIFESTO_FETCHING ) + { + state = NSGetModInstallState() + WaitFrame() + } + + CloseActiveMenu() + } + + return NSIsModDownloadable( modName, modVersion ) +} + bool function DownloadMod( RequiredModInfo mod, string serverName ) { // Downloading mod UI @@ -40,21 +73,6 @@ bool function DownloadMod( RequiredModInfo mod, string serverName ) var header = Hud_GetChild( menu, "DialogHeader" ) var body = GetSingleElementByClassname( menu, "DialogMessageClass" ) - // Refresh verified mods list if trying to connect to a new server - if ( serverName != file.serverName ) - { - NSFetchVerifiedModsManifesto() - file.serverName = serverName - - ModInstallState state = NSGetModInstallState() - UpdateModDownloadDialog( mod, state, menu, header, body ) - while ( state.status == eModInstallStatus.MANIFESTO_FETCHING ) - { - state = NSGetModInstallState() - WaitFrame() - } - } - // Start actual mod downloading NSDownloadMod( mod.name, mod.version ) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 2975da064..8f13c3d81 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -971,45 +971,56 @@ void function OnServerSelected_Threaded( var button ) { if ( !NSGetModNames().contains( mod.name ) ) { - // Check if mod can be auto-downloaded - bool modIsVerified = NSIsModDownloadable( mod.name, mod.version ) + // Auto-download mod + if ( autoDownloadAllowed ) + { + bool modIsVerified = IsModDownloadable( mod.name, mod.version, server.name ) - // Display an error message if not - if ( !modIsVerified || !autoDownloadAllowed ) + // Display error message if mod is not verified + if ( !modIsVerified ) + { + DialogData dialogData + dialogData.header = "#ERROR" + dialogData.message = Localize( "#MISSING_MOD", mod.name, mod.version ) + dialogData.message += "\n" + Localize( "#MOD_NOT_VERIFIED" ) + dialogData.image = $"ui/menu/common/dialog_error" + + AddDialogButton( dialogData, "#DISMISS" ) + AddDialogFooter( dialogData, "#A_BUTTON_SELECT" ) + AddDialogFooter( dialogData, "#B_BUTTON_DISMISS_RUI" ) + + OpenDialog( dialogData ) + return + } + else + { + if ( DownloadMod( mod, server.name ) ) + { + downloadedMods++ + } + else + { + DisplayModDownloadErrorDialog( mod.name ) + return + } + } + } + + // Mod not found, display error message + else { DialogData dialogData dialogData.header = "#ERROR" dialogData.message = Localize( "#MISSING_MOD", mod.name, mod.version ) dialogData.image = $"ui/menu/common/dialog_error" - // Specify error (only if autoDownloadAllowed is set) - if ( autoDownloadAllowed ) - { - dialogData.message += "\n" + Localize( "#MOD_NOT_VERIFIED" ) - } - AddDialogButton( dialogData, "#DISMISS" ) - AddDialogFooter( dialogData, "#A_BUTTON_SELECT" ) AddDialogFooter( dialogData, "#B_BUTTON_DISMISS_RUI" ) OpenDialog( dialogData ) - return } - - else // Launch download - { - if ( DownloadMod( mod, server.name ) ) - { - downloadedMods++ - } - else - { - DisplayModDownloadErrorDialog( mod.name ) - return - } - } } else { From e7366ab214031e7f46028a77fbe297df01bfe83e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 16 Jul 2024 00:30:03 +0200 Subject: [PATCH 05/11] refactor: move manifesto fetching logic on server join --- .../vscripts/ui/menu_ns_moddownload.nut | 49 ++++++++----------- .../vscripts/ui/menu_ns_serverbrowser.nut | 22 ++++++++- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut index bd8880cb3..3b81c7f9a 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut @@ -1,6 +1,6 @@ global function DownloadMod global function DisplayModDownloadErrorDialog -global function IsModDownloadable +global function FetchVerifiedModsManifesto global enum eModInstallStatus { @@ -18,42 +18,35 @@ global enum eModInstallStatus NOT_FOUND } -struct { - string serverName = "" -} file - const int MB = 1024*1000; -bool function IsModDownloadable( string modName, string modVersion, string serverName ) -{ - // Refresh verified mods list if trying to connect to a new server - if ( serverName != file.serverName ) - { - // Fetching UI - DialogData dialogData - dialogData.header = Localize( "#MANIFESTO_FETCHING_TITLE" ) - dialogData.message = Localize( "#MANIFESTO_FETCHING_TEXT" ) - dialogData.showSpinner = true; - // Prevent user from closing dialog - dialogData.forceChoice = true; - OpenDialog( dialogData ) +void function FetchVerifiedModsManifesto() +{ + print("Start fetching verified mods manifesto from the Internet") + // Fetching UI + DialogData dialogData + dialogData.header = Localize( "#MANIFESTO_FETCHING_TITLE" ) + dialogData.message = Localize( "#MANIFESTO_FETCHING_TEXT" ) + dialogData.showSpinner = true; - NSFetchVerifiedModsManifesto() - file.serverName = serverName + // Prevent user from closing dialog + dialogData.forceChoice = true; + OpenDialog( dialogData ) - ModInstallState state = NSGetModInstallState() - while ( state.status == eModInstallStatus.MANIFESTO_FETCHING ) - { - state = NSGetModInstallState() - WaitFrame() - } + // Do the actual fetching + NSFetchVerifiedModsManifesto() - CloseActiveMenu() + ModInstallState state = NSGetModInstallState() + while ( state.status == eModInstallStatus.MANIFESTO_FETCHING ) + { + state = NSGetModInstallState() + WaitFrame() } - return NSIsModDownloadable( modName, modVersion ) + // Close dialog when manifesto has been received + CloseActiveMenu() } bool function DownloadMod( RequiredModInfo mod, string serverName ) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 8f13c3d81..d623d139e 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -967,6 +967,26 @@ void function OnServerSelected_Threaded( var button ) bool autoDownloadAllowed = GetConVarBool( "allow_mod_auto_download" ) int downloadedMods = 0; + // Check out if there's any server-required mod that is not locally installed + array modNames = NSGetModNames() + bool uninstalledModFound = false + foreach ( requiredModInfo in server.requiredMods ) + { + if ( !modNames.contains( requiredModInfo.name ) ) + { + uninstalledModFound = true + break + } + } + + // If yes, we fetch the verified mods manifesto, to check whether uninstalled + // mods can be installed through auto-download + if ( uninstalledModFound && autoDownloadAllowed ) + { + print("Auto-download is allowed, checking if missing mods can be installed automatically.") + FetchVerifiedModsManifesto() + } + foreach ( RequiredModInfo mod in server.requiredMods ) { if ( !NSGetModNames().contains( mod.name ) ) @@ -974,7 +994,7 @@ void function OnServerSelected_Threaded( var button ) // Auto-download mod if ( autoDownloadAllowed ) { - bool modIsVerified = IsModDownloadable( mod.name, mod.version, server.name ) + bool modIsVerified = NSIsModDownloadable( mod.name, mod.version ) // Display error message if mod is not verified if ( !modIsVerified ) From 0b6cd0e310a6caa260f17ddc98268837e76238d5 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 27 Jul 2024 22:31:49 +0200 Subject: [PATCH 06/11] feat: trigger manifesto fetching if remote mod exists locally but with a different version --- .../mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index d623d139e..39bde31dc 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -976,6 +976,9 @@ void function OnServerSelected_Threaded( var button ) { uninstalledModFound = true break + } else if ( NSGetModVersionByModName( requiredModInfo.name ) != requiredModInfo.version ) { + uninstalledModFound = true + break } } From a757a5c9d34c3a9da3921b45d18551546cb6e784 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 27 Jul 2024 22:32:19 +0200 Subject: [PATCH 07/11] feat: add print statements to help debugging --- .../mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 39bde31dc..50a650eca 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -974,9 +974,11 @@ void function OnServerSelected_Threaded( var button ) { if ( !modNames.contains( requiredModInfo.name ) ) { + print( format ( "\"%s\" was not found locally, triggering manifesto fetching.", requiredModInfo.name ) ) uninstalledModFound = true break } else if ( NSGetModVersionByModName( requiredModInfo.name ) != requiredModInfo.version ) { + print( format ( "\"%s\" was found locally but has version \"%s\" while server requires \"%s\", triggering manifesto fetching.", requiredModInfo.name, NSGetModVersionByModName( requiredModInfo.name ), requiredModInfo.version ) ) uninstalledModFound = true break } From 34bd5e0c2eacbbda80d1432a1beb1e7b706eae1f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sun, 28 Jul 2024 00:02:42 +0200 Subject: [PATCH 08/11] fix: enable auto-download if remote mod exists locally but with a different version --- .../mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 50a650eca..5d604198c 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -994,7 +994,7 @@ void function OnServerSelected_Threaded( var button ) foreach ( RequiredModInfo mod in server.requiredMods ) { - if ( !NSGetModNames().contains( mod.name ) ) + if ( !NSGetModNames().contains( mod.name ) || NSGetModVersionByModName( mod.name ) != mod.version ) { // Auto-download mod if ( autoDownloadAllowed ) From 9f1eb4541838d793af4e419fa7052ceb3898e8ff Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Jul 2024 01:26:31 +0200 Subject: [PATCH 09/11] fix: Northstar core mods can't be auto-downloaded --- .../scripts/vscripts/ui/menu_ns_serverbrowser.nut | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 5d604198c..2e7b418b0 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -972,6 +972,10 @@ void function OnServerSelected_Threaded( var button ) bool uninstalledModFound = false foreach ( requiredModInfo in server.requiredMods ) { + // Tolerate core mods having different versions + if ( requiredModInfo.name.len() > 10 && requiredModInfo.name.slice(0, 10) == "Northstar." ) + continue + if ( !modNames.contains( requiredModInfo.name ) ) { print( format ( "\"%s\" was not found locally, triggering manifesto fetching.", requiredModInfo.name ) ) @@ -994,6 +998,10 @@ void function OnServerSelected_Threaded( var button ) foreach ( RequiredModInfo mod in server.requiredMods ) { + // Tolerate core mods having different versions + if ( mod.name.len() > 10 && mod.name.slice(0, 10) == "Northstar." ) + continue + if ( !NSGetModNames().contains( mod.name ) || NSGetModVersionByModName( mod.name ) != mod.version ) { // Auto-download mod @@ -1139,6 +1147,7 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha if (mod.name == modName) { found = true + print("TROUVE " + mod.name) break } } @@ -1154,6 +1163,7 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha // enable all RequiredOnClient mods that are required by the server and are currently disabled foreach ( RequiredModInfo mod in file.lastSelectedServer.requiredMods ) { + print("=> " + mod.name) if ( NSIsModRequiredOnClient( mod.name ) && !NSIsModEnabled( mod.name )) { modsChanged = true @@ -1162,8 +1172,9 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha } // only actually reload if we need to since the uiscript reset on reload lags hard - if ( modsChanged ) + if ( modsChanged ) { ReloadMods() + } NSConnectToAuthedServer() } From fdbe77d046297d25f4056be82c5b989ce63e6162 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Jul 2024 01:27:58 +0200 Subject: [PATCH 10/11] style: cleanup --- .../mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 2e7b418b0..9d25e4d1a 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -1147,7 +1147,6 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha if (mod.name == modName) { found = true - print("TROUVE " + mod.name) break } } @@ -1172,9 +1171,8 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha } // only actually reload if we need to since the uiscript reset on reload lags hard - if ( modsChanged ) { + if ( modsChanged ) ReloadMods() - } NSConnectToAuthedServer() } From b06a0c826af17a49accd61772034204908ce2191 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Jul 2024 11:08:31 +0200 Subject: [PATCH 11/11] style: cleanup --- .../mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut | 1 - 1 file changed, 1 deletion(-) diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut index 9d25e4d1a..22cdffcf9 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut @@ -1162,7 +1162,6 @@ void function ThreadedAuthAndConnectToServer( string password = "", bool modsCha // enable all RequiredOnClient mods that are required by the server and are currently disabled foreach ( RequiredModInfo mod in file.lastSelectedServer.requiredMods ) { - print("=> " + mod.name) if ( NSIsModRequiredOnClient( mod.name ) && !NSIsModEnabled( mod.name )) { modsChanged = true