diff options
author | Will Castro <39478251+VITALISED@users.noreply.github.com> | 2022-01-21 19:54:51 +1100 |
---|---|---|
committer | Barichello <artur@barichello.me> | 2022-01-24 11:59:07 -0300 |
commit | eff4aa914acf4ba971aab9654b8ab4e31d38d29b (patch) | |
tree | df61e91d7f728778b166a2373b2b6d0633cc1463 /Northstar.Client/mod/scripts/vscripts | |
parent | 398dcd02e563c0ed1d63b2fda0d3b93b0f4e2532 (diff) | |
download | NorthstarMods-eff4aa914acf4ba971aab9654b8ab4e31d38d29b.tar.gz NorthstarMods-eff4aa914acf4ba971aab9654b8ab4e31d38d29b.zip |
Add dialogs and status messages
Diffstat (limited to 'Northstar.Client/mod/scripts/vscripts')
-rw-r--r-- | Northstar.Client/mod/scripts/vscripts/ui/panel_mainmenu.nut | 53 |
1 files changed, 43 insertions, 10 deletions
diff --git a/Northstar.Client/mod/scripts/vscripts/ui/panel_mainmenu.nut b/Northstar.Client/mod/scripts/vscripts/ui/panel_mainmenu.nut index e59e0e59..195cc787 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/panel_mainmenu.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/panel_mainmenu.nut @@ -29,6 +29,7 @@ struct array<var> spotlightButtons bool installing = false + bool stopNSLocalAuth = false } file const DEBUG_PERMISSIONS = false @@ -84,8 +85,6 @@ void function InitMainMenuPanel() Hud_AddEventHandler( file.fdButton, UIE_CLICK, OnPlayFDButton_Activate ) Hud_SetLocked( file.fdButton, true ) - thread TryUnlockNorthstarButton() - headerIndex++ buttonIndex = 0 var settingsHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_SETTINGS" ) @@ -165,6 +164,7 @@ void function OnShowMainMenuPanel() UpdateSPButtons() thread UpdatePlayButton( file.mpButton ) + thread UpdatePlayButton( file.fdButton ) thread MonitorTrialVersionChange() #if DURANGO_PROG @@ -404,17 +404,22 @@ void function UpdatePlayButton( var button ) message = "#CONTACTING_RESPAWN_SERVERS" file.mpButtonActivateFunc = null } - else if ( !isMPAllowed ) + else if ( button == file.mpButton && !isMPAllowed ) { message = "#MULTIPLAYER_NOT_AVAILABLE" file.mpButtonActivateFunc = null } - else if ( !hasLatestPatch ) + else if ( button == file.mpButton && !hasLatestPatch ) { message = "#ORIGIN_UPDATE_AVAILABLE" file.mpButtonActivateFunc = null } - else + else if ( button == file.fdButton && GetConVarInt( "ns_has_agreed_to_send_token" ) != NS_AGREED_TO_SEND_TOKEN ) + { + message = "#AUTHENTICATIONAGREEMENT_NO" + file.mpButtonActivateFunc = null + } + else if ( button == file.mpButton ) { // restrict non-vanilla players from accessing official servers bool hasNonVanillaMods = false @@ -434,7 +439,10 @@ void function UpdatePlayButton( var button ) } isLocked = file.mpButtonActivateFunc == null ? true : false - Hud_SetLocked( button, isLocked ) + if( button == file.fdButton ) + thread TryUnlockNorthstarButton() + else + Hud_SetLocked( button, isLocked ) #endif if ( Script_IsRunningTrialVersion() && !IsTrialPeriodActive() && file.mpButtonActivateFunc != LaunchGamePurchase ) @@ -448,7 +456,7 @@ void function UpdatePlayButton( var button ) ComboButton_SetText( file.mpButton, buttonText ) ComboButton_SetText( file.fdButton, "#MENU_LAUNCH_NORTHSTAR" ) - Hud_SetEnabled( file.fdButton, true ) + //Hud_SetEnabled( file.fdButton, false ) if ( file.installing ) message = "" @@ -501,10 +509,9 @@ void function TryUnlockNorthstarButton() { // unlock "Launch Northstar" button until you're authed with masterserver, are allowing insecure auth, or 7.5 seconds have passed float time = Time() - + while ( GetConVarInt( "ns_has_agreed_to_send_token" ) != NS_AGREED_TO_SEND_TOKEN || time + 10.0 > Time() ) { - Hud_SetLocked( file.fdButton, true ) if ( ( NSIsMasterServerAuthenticated() && IsStryderAuthenticated() ) || GetConVarBool( "ns_auth_allow_insecure" ) ) break @@ -527,19 +534,45 @@ void function OnPlayFDButton_Activate( var button ) // repurposed for launching void function TryAuthWithLocalServer() { + DialogData dialogData + dialogData.showSpinner = true + dialogData.header = "#CONNECTING" + dialogData.message = "#DIALOG_AUTHENTICATING_MASTERSERVER" // probably isn't actually what's going on here but makes more sense to the user + + AddDialogButton( dialogData, "#CANCEL", CancelNSLocalAuth ) + AddDialogFooter( dialogData, "#A_BUTTON_SELECT" ) + + OpenDialog( dialogData ) + while ( NSIsAuthenticatingWithServer() ) + { + if( file.stopNSLocalAuth ) + { + file.stopNSLocalAuth = false + return + } WaitFrame() - + } + if ( NSWasAuthSuccessful() ) + { NSCompleteAuthWithLocalServer() + } if ( GetConVarString( "mp_gamemode" ) == "solo" ) SetConVarString( "mp_gamemode", "tdm" ) + CloseAllDialogs() + ClientCommand( "setplaylist tdm" ) ClientCommand( "map mp_lobby" ) } +void function CancelNSLocalAuth() +{ + file.stopNSLocalAuth = true +} + void function OnPlayMPButton_Activate( var button ) { if ( file.mpButtonActivateFunc == null ) |