From 0c61ea8d1b62415f25b1e54230195d455269b6aa Mon Sep 17 00:00:00 2001 From: BobTheBob <32057864+BobTheBob9@users.noreply.github.com> Date: Fri, 15 Apr 2022 16:08:16 +0100 Subject: cleanup file structure and code for presence and chat (#292) * refactor presence and chat * improve spacing in cl_chat --- Northstar.Client/mod.json | 6 +-- Northstar.Client/mod/scripts/vscripts/chat.gnut | 22 -------- .../mod/scripts/vscripts/client/cl_chat.gnut | 22 ++++++++ .../mod/scripts/vscripts/presence/cl_presence.nut | 60 ++++++++++++++++++++++ .../mod/scripts/vscripts/presence/ui_presence.nut | 38 ++++++++++++++ .../mod/scripts/vscripts/state_client.nut | 59 --------------------- Northstar.Client/mod/scripts/vscripts/state_ui.nut | 36 ------------- 7 files changed, 123 insertions(+), 120 deletions(-) delete mode 100644 Northstar.Client/mod/scripts/vscripts/chat.gnut create mode 100644 Northstar.Client/mod/scripts/vscripts/client/cl_chat.gnut create mode 100644 Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut create mode 100644 Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut delete mode 100644 Northstar.Client/mod/scripts/vscripts/state_client.nut delete mode 100644 Northstar.Client/mod/scripts/vscripts/state_ui.nut diff --git a/Northstar.Client/mod.json b/Northstar.Client/mod.json index 4748d82e2..5d5f66e44 100644 --- a/Northstar.Client/mod.json +++ b/Northstar.Client/mod.json @@ -42,7 +42,7 @@ } }, { - "Path": "chat.gnut", + "Path": "client/cl_chat.gnut", "RunOn": "CLIENT" }, { @@ -54,14 +54,14 @@ } }, { - "Path": "state_ui.nut", + "Path": "presence/ui_presence.nut", "RunOn": "UI", "UICallback": { "After": "NSUpdateGameStateUIStart" } }, { - "Path": "state_client.nut", + "Path": "presence/cl_presence.nut", "RunOn": "CLIENT", "ClientCallback": { "After": "NSUpdateGameStateClientStart" diff --git a/Northstar.Client/mod/scripts/vscripts/chat.gnut b/Northstar.Client/mod/scripts/vscripts/chat.gnut deleted file mode 100644 index f5988bb76..000000000 --- a/Northstar.Client/mod/scripts/vscripts/chat.gnut +++ /dev/null @@ -1,22 +0,0 @@ -untyped -globalize_all_functions - -void function Chat_NetworkWriteLine(string text) -{ - NSChatWriteLine(0, text) -} - -void function Chat_GameWriteLine(string text) -{ - NSChatWriteLine(1, text) -} - -void function Chat_NetworkWrite(string text) -{ - NSChatWrite(0, text) -} - -void function Chat_GameWrite(string text) -{ - NSChatWrite(1, text) -} diff --git a/Northstar.Client/mod/scripts/vscripts/client/cl_chat.gnut b/Northstar.Client/mod/scripts/vscripts/client/cl_chat.gnut new file mode 100644 index 000000000..3a43f3125 --- /dev/null +++ b/Northstar.Client/mod/scripts/vscripts/client/cl_chat.gnut @@ -0,0 +1,22 @@ +untyped +globalize_all_functions + +void function Chat_NetworkWriteLine( string text ) +{ + NSChatWriteLine( 0, text) +} + +void function Chat_GameWriteLine( string text ) +{ + NSChatWriteLine( 1, text) +} + +void function Chat_NetworkWrite( string text ) +{ + NSChatWrite( 0, text) +} + +void function Chat_GameWrite( string text ) +{ + NSChatWrite( 1, text ) +} diff --git a/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut b/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut new file mode 100644 index 000000000..755396e30 --- /dev/null +++ b/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut @@ -0,0 +1,60 @@ +untyped +globalize_all_functions + +struct { + int highestScore = 0 + int secondHighestScore = 0 +} file + +void function OnPrematchStart() +{ + if ( GetServerVar( "roundBased" ) ) + NSUpdateTimeInfo( level.nv.roundEndTime - Time() ) + else + NSUpdateTimeInfo( level.nv.gameEndTime - Time() ) +} + +void function NSUpdateGameStateClientStart() +{ + #if MP + AddCallback_GameStateEnter( eGameState.Prematch, OnPrematchStart ) + #endif + + thread NSUpdateGameStateLoopClient() + OnPrematchStart() +} + +void function NSUpdateGameStateLoopClient() +{ + while ( true ) + { + if ( IsSingleplayer() ) + { + NSUpdateGameStateClient( GetPlayerArray().len(), GetCurrentPlaylistVarInt( "max_players", 65535 ), 1, 1, 1, GetServerVar( "roundBased" ), 1 ) + wait 1.0 + } + else + { + foreach ( player in GetPlayerArray() ) + { + if ( GameRules_GetTeamScore( player.GetTeam() ) >= file.highestScore ) + { + file.highestScore = GameRules_GetTeamScore( player.GetTeam() ) + } + else if ( GameRules_GetTeamScore( player.GetTeam() ) > file.secondHighestScore ) + { + file.secondHighestScore = GameRules_GetTeamScore( player.GetTeam() ) + } + } + + int ourScore = 0 + if ( IsValid( GetLocalClientPlayer() ) ) + ourScore = GameRules_GetTeamScore( GetLocalClientPlayer().GetTeam() ) + + int limit = IsRoundBased() ? GetCurrentPlaylistVarInt( "roundscorelimit", 0 ) : GetCurrentPlaylistVarInt( "scorelimit", 0 ) + NSUpdateGameStateClient( GetPlayerArray().len(), GetCurrentPlaylistVarInt( "max_players", 65535 ), ourScore, file.secondHighestScore, file.highestScore, GetServerVar( "roundBased" ), limit ) + OnPrematchStart() + wait 1.0 + } + } +} diff --git a/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut b/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut new file mode 100644 index 000000000..5f42cc7d8 --- /dev/null +++ b/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut @@ -0,0 +1,38 @@ +untyped +globalize_all_functions + +void function NSUpdateGameStateUIStart() +{ + thread NSUpdateGameStateLoopUI() +} + +void function NSUpdateGameStateLoopUI() +{ + while ( true ) + { + wait 1.0 + + if ( uiGlobal.loadedLevel == "" ) + { + if ( uiGlobal.isLoading ) + NSSetLoading( true ) + else + { + NSSetLoading( false ) + NSUpdateGameStateUI( "", "", "", "", true, false ) + } + + continue + } + + NSSetLoading( false ) + if( GetConVarString( "mp_gamemode" ) == "solo" ) + { + NSUpdateGameStateUI( "northstar", Localize( GetMapDisplayName( GetActiveLevel() + "_CAMPAIGN_NAME" ) ), "Campaign", "Campaign", IsFullyConnected(), false ) + } + else + { + NSUpdateGameStateUI( GetActiveLevel(), Localize( GetMapDisplayName( GetActiveLevel() ) ), GetConVarString( "mp_gamemode" ), Localize( GetPlaylistDisplayName( GetConVarString( "mp_gamemode" ) ) ), IsFullyConnected(), false ) + } + } +} diff --git a/Northstar.Client/mod/scripts/vscripts/state_client.nut b/Northstar.Client/mod/scripts/vscripts/state_client.nut deleted file mode 100644 index 2a380e356..000000000 --- a/Northstar.Client/mod/scripts/vscripts/state_client.nut +++ /dev/null @@ -1,59 +0,0 @@ -untyped - -int highestScore = 0 -int secondHighestScore = 0 -int ourScore = 0 - -globalize_all_functions - -void function OnPrematchStart() -{ - if (GetServerVar( "roundBased" )) - NSUpdateTimeInfo( level.nv.roundEndTime - Time() ) - else - NSUpdateTimeInfo( level.nv.gameEndTime - Time() ) -} - -void function NSUpdateGameStateClientStart() -{ - #if MP - AddCallback_GameStateEnter( eGameState.Prematch, OnPrematchStart ) - #endif - thread NSUpdateGameStateLoopClient() - OnPrematchStart() -} - -void function NSUpdateGameStateLoopClient() -{ - while ( true ) - { - if(GetConVarString( "mp_gamemode" ) == "solo") - { - - NSUpdateGameStateClient( GetPlayerArray().len(), GetCurrentPlaylistVarInt( "max_players", 65535 ), 1, 1, 1, GetServerVar( "roundBased" ), 1 ) - wait 1.0 - } - else - { - foreach ( player in GetPlayerArray() ) - { - if ( GameRules_GetTeamScore( player.GetTeam() ) >= highestScore ) - { - highestScore = GameRules_GetTeamScore( player.GetTeam() ) - } - else if ( GameRules_GetTeamScore( player.GetTeam() ) > secondHighestScore ) - { - secondHighestScore = GameRules_GetTeamScore( player.GetTeam() ) - } - } - if ( GetLocalClientPlayer() != null ) - { - ourScore = GameRules_GetTeamScore( GetLocalClientPlayer().GetTeam() ) - } - int limit = GetServerVar( "roundBased" ) ? GetCurrentPlaylistVarInt( "roundscorelimit", 0 ) : GetCurrentPlaylistVarInt( "scorelimit", 0 ) - NSUpdateGameStateClient( GetPlayerArray().len(), GetCurrentPlaylistVarInt( "max_players", 65535 ), ourScore, secondHighestScore, highestScore, GetServerVar( "roundBased" ), limit ) - OnPrematchStart() - wait 1.0 - } - } -} diff --git a/Northstar.Client/mod/scripts/vscripts/state_ui.nut b/Northstar.Client/mod/scripts/vscripts/state_ui.nut deleted file mode 100644 index 51e4856f3..000000000 --- a/Northstar.Client/mod/scripts/vscripts/state_ui.nut +++ /dev/null @@ -1,36 +0,0 @@ -untyped - -globalize_all_functions - -void function NSUpdateGameStateUIStart() -{ - thread NSUpdateGameStateLoopUI() -} - -void function NSUpdateGameStateLoopUI() -{ - while ( true ) - { - wait 1.0 - if ( uiGlobal.loadedLevel == "" ) - { - if ( uiGlobal.isLoading ) - NSSetLoading( true ) - else - { - NSSetLoading( false ) - NSUpdateGameStateUI( "", "", "", "", true, false ) - } - continue - } - NSSetLoading( false ) - if(GetConVarString( "mp_gamemode" ) == "solo") - { - NSUpdateGameStateUI( "northstar", Localize( GetMapDisplayName( GetActiveLevel()+"_CAMPAIGN_NAME" ) ) , "Campaign", "Campaign", IsFullyConnected(), false ) - - } - else{ - NSUpdateGameStateUI( GetActiveLevel(), Localize( GetMapDisplayName( GetActiveLevel() ) ), GetConVarString( "mp_gamemode" ), Localize( GetPlaylistDisplayName( GetConVarString("mp_gamemode") ) ), IsFullyConnected(), false ) - } -} -} -- cgit v1.2.3