aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut331
1 files changed, 174 insertions, 157 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 6bffe8bb..c77000e9 100644
--- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut
+++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut
@@ -7,15 +7,16 @@ global function ThreadedAuthAndConnectToServer
// Stop peeking
-const int BUTTONS_PER_PAGE = 15
-const float DOUBLE_CLICK_TIME_MS = 0.4 // unsure what the ideal value is
-
+const int BUTTONS_PER_PAGE = 15 // Number of servers we show
+const float DOUBLE_CLICK_TIME_MS = 0.4 // Max time between clicks for double click registering
+// Stores mouse delta used for scroll bar
struct {
int deltaX = 0
int deltaY = 0
} mouseDeltaBuffer
+// Filters
struct {
bool hideFull = false
bool hideEmpty = false
@@ -39,6 +40,7 @@ enum sortingBy
LATENCY
}
+// Column sort direction, only one of these can be aplied at once
struct {
// true = alphabeticaly false = reverse
bool serverName = true
@@ -62,6 +64,7 @@ struct serverStruct {
}
struct {
+ // UI state vars
var menu
int lastSelectedServer = 999
int focusedServerIndex = 0
@@ -72,9 +75,11 @@ struct {
int serverButtonFocusedID = 0
bool shouldFocus = true
bool cancelConnection = false
-
+
+ // filtered array of servers
array<serverStruct> serversArrayFiltered
-
+
+ // UI references
array<var> serverButtons
array<var> serversName
array<var> playerCountLabels
@@ -86,9 +91,10 @@ struct {
-bool function floatCompareInRange(float arg1, float arg2, float tolerance)
+bool function FloatsEqual( float arg1, float arg2, float epsilon )
{
- if ( arg1 > arg2 - tolerance && arg1 < arg2 + tolerance) return true
+ if ( fabs( arg1 - arg2 ) < epsilon ) return true
+
return false
}
@@ -159,7 +165,7 @@ void function InitServerBrowserMenu()
AddMenuFooterOption( file.menu, BUTTON_Y, PrependControllerPrompts( BUTTON_Y, "#REFRESH_SERVERS" ), "#REFRESH_SERVERS", RefreshServers )
// Setup server buttons
- var width = 1120.0 * (GetScreenSize()[1] / 1080.0)
+ var width = 1120.0 * ( GetScreenSize()[1] / 1080.0 )
foreach ( var button in GetElementsByClassname( file.menu, "ServerButton" ) )
{
AddButtonEventHandler( button, UIE_CLICK, OnServerButtonClicked )
@@ -206,20 +212,20 @@ void function InitServerBrowserMenu()
// Hidden cause no need, if server descriptions become too long use this
- Hud_SetEnabled( Hud_GetChild( file.menu, "BtnServerDescription"), false)
- Hud_SetEnabled( Hud_GetChild( file.menu, "BtnServerMods"), false)
- Hud_SetText( Hud_GetChild( file.menu, "BtnServerDescription"), "")
- Hud_SetText( Hud_GetChild( file.menu, "BtnServerMods"), "")
+ Hud_SetEnabled( Hud_GetChild( file.menu, "BtnServerDescription"), false )
+ Hud_SetEnabled( Hud_GetChild( file.menu, "BtnServerMods"), false )
+ Hud_SetText( Hud_GetChild( file.menu, "BtnServerDescription"), "" )
+ Hud_SetText( Hud_GetChild( file.menu, "BtnServerMods"), "" )
// Unfinished features
Hud_SetLocked( Hud_GetChild( file.menu, "BtnServerLatencyTab" ), true )
// Rui is a pain
- RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideFull")), "buttonText", "")
- RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideEmpty")), "buttonText", "")
- RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideProtected")), "buttonText", "")
- RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnSelectMap")), "buttonText", "")
- RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnSelectGamemode")), "buttonText", "")
+ RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideFull") ), "buttonText", "" )
+ RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideEmpty") ), "buttonText", "" )
+ RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnHideProtected") ), "buttonText", "" )
+ RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnSelectMap") ), "buttonText", "" )
+ RuiSetString( Hud_GetRui( Hud_GetChild( file.menu, "SwtBtnSelectGamemode") ), "buttonText", "" )
ToggleConnectingHUD(false)
@@ -231,7 +237,7 @@ void function InitServerBrowserMenu()
////////////////////////////
// Slider
////////////////////////////
-void function UpdateMouseDeltaBuffer(int x, int y)
+void function UpdateMouseDeltaBuffer( int x, int y )
{
mouseDeltaBuffer.deltaX += x
mouseDeltaBuffer.deltaY += y
@@ -248,7 +254,7 @@ void function FlushMouseDeltaBuffer()
void function SliderBarUpdate()
{
- if ( file.serversArrayFiltered.len() <= 15 )
+ if ( file.serversArrayFiltered.len() <= BUTTONS_PER_PAGE )
{
FlushMouseDeltaBuffer()
return
@@ -258,17 +264,17 @@ void function SliderBarUpdate()
var sliderPanel = Hud_GetChild( file.menu , "BtnServerListSliderPanel" )
var movementCapture = Hud_GetChild( file.menu , "MouseMovementCapture" )
- Hud_SetFocused(sliderButton)
+ Hud_SetFocused( sliderButton )
- float minYPos = -40.0 * (GetScreenSize()[1] / 1080.0)
- float maxHeight = 562.0 * (GetScreenSize()[1] / 1080.0)
- float maxYPos = minYPos - (maxHeight - Hud_GetHeight( sliderPanel ))
- float useableSpace = (maxHeight - Hud_GetHeight( sliderPanel ))
+ float minYPos = -40.0 * ( GetScreenSize()[1] / 1080.0 )
+ float maxHeight = 562.0 * ( GetScreenSize()[1] / 1080.0 )
+ float maxYPos = minYPos - ( maxHeight - Hud_GetHeight( sliderPanel ) )
+ float useableSpace = ( maxHeight - Hud_GetHeight( sliderPanel ) )
- float jump = minYPos - (useableSpace / ( float( file.serversArrayFiltered.len())))
+ float jump = minYPos - ( useableSpace / ( float( file.serversArrayFiltered.len() ) ) )
// got local from official respaw scripts, without untyped throws an error
- local pos = Hud_GetPos(sliderButton)[1]
+ local pos = Hud_GetPos( sliderButton )[1]
local newPos = pos - mouseDeltaBuffer.deltaY
FlushMouseDeltaBuffer()
@@ -279,7 +285,7 @@ void function SliderBarUpdate()
Hud_SetPos( sliderPanel , 2, newPos )
Hud_SetPos( movementCapture , 2, newPos )
- file.scrollOffset = -int( ( (newPos - minYPos) / useableSpace ) * (file.serversArrayFiltered.len() - 15) )
+ file.scrollOffset = -int( ( ( newPos - minYPos ) / useableSpace ) * ( file.serversArrayFiltered.len() - BUTTONS_PER_PAGE ) )
UpdateShownPage()
}
@@ -289,10 +295,10 @@ void function UpdateListSliderHeight( float servers )
var sliderPanel = Hud_GetChild( file.menu , "BtnServerListSliderPanel" )
var movementCapture = Hud_GetChild( file.menu , "MouseMovementCapture" )
- float maxHeight = 562.0 * (GetScreenSize()[1] / 1080.0)
- float minHeight = 80.0 * (GetScreenSize()[1] / 1080.0)
+ float maxHeight = 562.0 * ( GetScreenSize()[1] / 1080.0 )
+ float minHeight = 80.0 * ( GetScreenSize()[1] / 1080.0 )
- float height = maxHeight * (15.0 / servers )
+ float height = maxHeight * ( BUTTONS_PER_PAGE / servers )
if ( height > maxHeight ) height = maxHeight
if ( height < minHeight ) height = minHeight
@@ -309,12 +315,10 @@ void function UpdateListSliderPosition( int servers )
var sliderPanel = Hud_GetChild( file.menu , "BtnServerListSliderPanel" )
var movementCapture = Hud_GetChild( file.menu , "MouseMovementCapture" )
- float minYPos = -40.0 * (GetScreenSize()[1] / 1080.0)
- float useableSpace = (562.0 * (GetScreenSize()[1] / 1080.0) - Hud_GetHeight( sliderPanel ))
+ float minYPos = -40.0 * ( GetScreenSize()[1] / 1080.0 )
+ float useableSpace = (562.0 * ( GetScreenSize()[1] / 1080.0 ) - Hud_GetHeight( sliderPanel ) )
- float jump = minYPos - (useableSpace / ( float( servers ) - 15.0 ) * file.scrollOffset)
-
- //jump = jump * (GetScreenSize()[1] / 1080.0)
+ float jump = minYPos - ( useableSpace / ( float( servers ) - BUTTONS_PER_PAGE ) * file.scrollOffset )
if ( jump > minYPos ) jump = minYPos
@@ -325,7 +329,7 @@ void function UpdateListSliderPosition( int servers )
void function OnScrollDown( var button )
{
- if (file.serversArrayFiltered.len() <= 15) return
+ if (file.serversArrayFiltered.len() <= BUTTONS_PER_PAGE) return
file.scrollOffset += 5
if (file.scrollOffset + BUTTONS_PER_PAGE > file.serversArrayFiltered.len()) {
file.scrollOffset = file.serversArrayFiltered.len() - BUTTONS_PER_PAGE
@@ -337,7 +341,7 @@ void function OnScrollDown( var button )
void function OnScrollUp( var button )
{
file.scrollOffset -= 5
- if (file.scrollOffset < 0) {
+ if ( file.scrollOffset < 0 ) {
file.scrollOffset = 0
}
UpdateShownPage()
@@ -349,7 +353,7 @@ void function OnScrollUp( var button )
////////////////////////////
void function ToggleConnectingHUD( bool vis )
{
- foreach (e in GetElementsByClassname(file.menu, "connectingHUD")) {
+ foreach (e in GetElementsByClassname( file.menu, "connectingHUD" ) ) {
Hud_SetEnabled( e, vis )
Hud_SetVisible( e, vis )
}
@@ -369,7 +373,7 @@ void function ConnectingButton_Activate( var button )
// This doesn't werk on some obscure resolutions, mostly really small 4:3
void function UpdateServerInfoBasedOnRes()
{
- if (floatCompareInRange(float(GetScreenSize()[0]) / float(GetScreenSize()[1]) , 1.6, 0.07)) // 16/10
+ if ( FloatsEqual( float(GetScreenSize()[0] ) / float( GetScreenSize()[1] ) , 1.6, 0.07 ) ) // 16/10
{
Hud_SetWidth( Hud_GetChild(file.menu, "ServerName"), 392)
Hud_SetWidth( Hud_GetChild(file.menu, "NextMapImage"), 400)
@@ -378,7 +382,7 @@ void function UpdateServerInfoBasedOnRes()
Hud_SetWidth( Hud_GetChild(file.menu, "LabelDescription"), 360)
Hud_SetWidth( Hud_GetChild(file.menu, "ServerDetailsPanel"), 400)
}
- if(floatCompareInRange(float(GetScreenSize()[0]) / float(GetScreenSize()[1]) , 1.3, 0.055)) // 4/3
+ if( FloatsEqual( float( GetScreenSize()[0] ) / float( GetScreenSize()[1] ) , 1.3, 0.055 ) ) // 4/3
{
Hud_SetWidth( Hud_GetChild(file.menu, "ServerName"), 292)
Hud_SetWidth( Hud_GetChild(file.menu, "NextMapImage"), 300)
@@ -396,19 +400,19 @@ void function OnCloseServerBrowserMenu()
{
try
{
- DeregisterButtonPressedCallback(MOUSE_WHEEL_UP , OnScrollUp)
- DeregisterButtonPressedCallback(MOUSE_WHEEL_DOWN , OnScrollDown)
- DeregisterButtonPressedCallback(KEY_TAB , OnKeyTabPressed)
- DeregisterButtonPressedCallback(KEY_ENTER, OnEnterPressed)
- DeregisterButtonPressedCallback(KEY_R, OnKeyRPressed)
+ DeregisterButtonPressedCallback( MOUSE_WHEEL_UP , OnScrollUp )
+ DeregisterButtonPressedCallback( MOUSE_WHEEL_DOWN , OnScrollDown )
+ DeregisterButtonPressedCallback( KEY_TAB , OnKeyTabPressed )
+ DeregisterButtonPressedCallback( KEY_ENTER, OnEnterPressed )
+ DeregisterButtonPressedCallback( KEY_R, OnKeyRPressed )
}
catch ( ex ) {}
}
void function OnServerBrowserMenuOpened()
{
- Hud_SetText( Hud_GetChild( file.menu, "InGamePlayerLabel" ), Localize("#INGAME_PLAYERS", "0") )
- Hud_SetText( Hud_GetChild( file.menu, "TotalServerLabel" ), Localize("#TOTAL_SERVERS", "0") )
+ Hud_SetText( Hud_GetChild( file.menu, "InGamePlayerLabel" ), Localize( "#INGAME_PLAYERS", "0" ) )
+ Hud_SetText( Hud_GetChild( file.menu, "TotalServerLabel" ), Localize( "#TOTAL_SERVERS", "0" ) )
UpdatePrivateMatchModesAndMaps()
Hud_SetText( Hud_GetChild( file.menu, "Title" ), "#MENU_TITLE_SERVER_BROWSER" )
UI_SetPresentationType( ePresentationType.KNOWLEDGEBASE_MAIN )
@@ -424,22 +428,23 @@ void function OnServerBrowserMenuOpened()
thread WaitForServerListRequest()
- RegisterButtonPressedCallback(MOUSE_WHEEL_UP , OnScrollUp)
- RegisterButtonPressedCallback(MOUSE_WHEEL_DOWN , OnScrollDown)
- RegisterButtonPressedCallback(KEY_TAB , OnKeyTabPressed)
- RegisterButtonPressedCallback(KEY_ENTER, OnEnterPressed)
- RegisterButtonPressedCallback(KEY_R, OnKeyRPressed)
+ RegisterButtonPressedCallback( MOUSE_WHEEL_UP , OnScrollUp )
+ RegisterButtonPressedCallback( MOUSE_WHEEL_DOWN , OnScrollDown )
+ RegisterButtonPressedCallback( KEY_TAB , OnKeyTabPressed )
+ RegisterButtonPressedCallback( KEY_ENTER, OnEnterPressed )
+ RegisterButtonPressedCallback( KEY_R, OnKeyRPressed )
}
////////////////////////////
// Arrow navigation fuckery
////////////////////////////
-bool function IsFilterPanelElementFocused() {
+bool function IsFilterPanelElementFocused()
+{
// get name of focused element
- var focusedElement = GetFocus();
- var name = Hud_GetHudName(focusedElement);
+ var focusedElement = GetFocus()
- foreach (element in GetElementsByClassname( file.menu, "FilterPanelChild")) {
+ foreach ( element in GetElementsByClassname( file.menu, "FilterPanelChild" ) )
+ {
if ( element == focusedElement ) return true
}
@@ -447,65 +452,78 @@ bool function IsFilterPanelElementFocused() {
return false;
}
-void function OnKeyTabPressed(var button) {
+void function OnKeyTabPressed( var button )
+{
try
{
// toggle focus between server list and filter panel
- if (IsFilterPanelElementFocused()) {
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServer1"))
+ if ( IsFilterPanelElementFocused() )
+ {
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer1" ) )
}
- else {
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServerSearch"))
+ else
+ {
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServerSearch" ) )
HideServerInfo()
}
}
catch ( ex ) {}
}
-void function OnHitDummyTop(var button) {
+void function OnHitDummyTop( var button )
+{
file.scrollOffset -= 1
- if (file.scrollOffset < 0) {
+ if ( file.scrollOffset < 0 )
+ {
// was at top already
file.scrollOffset = 0
Hud_SetFocused(Hud_GetChild(file.menu, "BtnServerNameTab"))
- } else {
+ }
+ else
+ {
// only update if list position changed
UpdateShownPage()
UpdateListSliderPosition( file.serversArrayFiltered.len() )
- DisplayFocusedServerInfo(file.serverButtonFocusedID)
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServer1"))
+ DisplayFocusedServerInfo( file.serverButtonFocusedID )
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer1" ) )
}
}
-void function OnHitDummyBottom(var button) {
+void function OnHitDummyBottom( var button )
+{
file.scrollOffset += 1
- if (file.scrollOffset + BUTTONS_PER_PAGE > file.serversArrayFiltered.len())
+ if ( file.scrollOffset + BUTTONS_PER_PAGE > file.serversArrayFiltered.len() )
{
// was at bottom already
file.scrollOffset = file.serversArrayFiltered.len() - BUTTONS_PER_PAGE
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServerSearch"))
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServerSearch" ) )
HideServerInfo()
- } else {
+ }
+ else
+ {
// only update if list position changed
UpdateShownPage()
UpdateListSliderPosition( file.serversArrayFiltered.len() )
- DisplayFocusedServerInfo(file.serverButtonFocusedID)
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServer15"))
+ DisplayFocusedServerInfo( file.serverButtonFocusedID )
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer15" ) )
}
}
-void function OnHitDummyAfterFilterClear(var button) {
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServerNameTab"))
+void function OnHitDummyAfterFilterClear( var button )
+{
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServerNameTab" ) )
}
void function OnDownArrowSelected( var button )
{
- if (file.serversArrayFiltered.len() <= 15) return
+ if ( file.serversArrayFiltered.len() <= BUTTONS_PER_PAGE ) return
file.scrollOffset += 1
- if (file.scrollOffset + BUTTONS_PER_PAGE > file.serversArrayFiltered.len()) {
+ if ( file.scrollOffset + BUTTONS_PER_PAGE > file.serversArrayFiltered.len() )
+ {
file.scrollOffset = file.serversArrayFiltered.len() - BUTTONS_PER_PAGE
}
+
UpdateShownPage()
UpdateListSliderPosition( file.serversArrayFiltered.len() )
}
@@ -514,9 +532,11 @@ void function OnDownArrowSelected( var button )
void function OnUpArrowSelected( var button )
{
file.scrollOffset -= 1
- if (file.scrollOffset < 0) {
+ if ( file.scrollOffset < 0 )
+ {
file.scrollOffset = 0
}
+
UpdateShownPage()
UpdateListSliderPosition( file.serversArrayFiltered.len() )
}
@@ -524,18 +544,18 @@ void function OnUpArrowSelected( var button )
////////////////////////
// Key Callbacks
////////////////////////
-void function OnEnterPressed(arg)
+void function OnEnterPressed( arg )
{
// only trigger if a server is focused
- if (IsServerButtonFocused())
+ if ( IsServerButtonFocused() )
{
OnServerSelected(0)
}
}
-void function OnKeyRPressed(arg)
+void function OnKeyRPressed( arg )
{
- if (!IsSearchBarFocused())
+ if ( !IsSearchBarFocused() )
{
RefreshServers(0);
}
@@ -543,22 +563,24 @@ void function OnKeyRPressed(arg)
bool function IsServerButtonFocused()
{
- var focusedElement = GetFocus();
- var name = Hud_GetHudName(focusedElement);
+ var focusedElement = GetFocus()
+ if ( focusedElement == null )
+ return false
+
+ var name = Hud_GetHudName( focusedElement )
- foreach (element in GetElementsByClassname( file.menu, "ServerButton"))
+ foreach ( element in GetElementsByClassname( file.menu, "ServerButton" ) )
{
if ( element == focusedElement )
return true
}
-
- return false;
+ return false
}
bool function IsSearchBarFocused()
{
- return Hud_GetChild( file.menu, "BtnServerSearch") == GetFocus()
+ return Hud_GetChild( file.menu, "BtnServerSearch" ) == GetFocus()
}
@@ -567,31 +589,32 @@ bool function IsSearchBarFocused()
////////////////////////////
void function ShowServerDescription( var button )
{
- Hud_SetVisible( Hud_GetChild( file.menu, "LabelDescription"), true)
- Hud_SetVisible( Hud_GetChild( file.menu, "LabelMods"), false)
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelDescription" ), true )
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelMods" ), false )
}
void function ShowServerMods( var button )
{
- Hud_SetVisible( Hud_GetChild( file.menu, "LabelDescription"), false)
- Hud_SetVisible( Hud_GetChild( file.menu, "LabelMods"), true)
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelDescription" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelMods" ), true )
}
////////////////////////////
// Server list; filter,update,...
////////////////////////////
-void function HideServerInfo() {
- Hud_SetVisible(Hud_GetChild(file.menu, "BtnServerDescription"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "BtnServerMods"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "BtnServerJoin"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "LabelDescription"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "LabelMods"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "NextMapImage"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "NextMapBack"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "NextMapName"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "ServerName"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "NextModeIcon"), false)
- Hud_SetVisible(Hud_GetChild(file.menu, "NextGameModeName"), false)
+void function HideServerInfo()
+{
+ Hud_SetVisible( Hud_GetChild( file.menu, "BtnServerDescription" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "BtnServerMods" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "BtnServerJoin" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelDescription" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "LabelMods" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "NextMapImage" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "NextMapBack" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "NextMapName" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "ServerName" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "NextModeIcon" ), false )
+ Hud_SetVisible( Hud_GetChild( file.menu, "NextGameModeName" ), false )
}
void function OnBtnFiltersClear_Activate( var button )
@@ -677,8 +700,7 @@ void function RefreshServers( var button )
void function WaitForServerListRequest()
{
-
- for ( int i = 0; i < 15; i++)
+ for ( int i = 0; i < BUTTONS_PER_PAGE; i++)
{
Hud_SetVisible( file.serversProtected[ i ], false )
Hud_SetVisible( file.serverButtons[ i ], false )
@@ -689,12 +711,9 @@ void function WaitForServerListRequest()
Hud_SetText( file.serversLatency[ i ], "" )
}
-
HideServerInfo()
-
Hud_SetVisible( file.serversName[ 0 ], true )
-
Hud_SetText( file.serversName[ 0 ], "#NS_SERVERBROWSER_WAITINGFORSERVERS" )
// wait for request to complete
@@ -709,7 +728,7 @@ void function WaitForServerListRequest()
else
{
FilterAndUpdateList(0)
- Hud_SetFocused(Hud_GetChild(file.menu, "BtnServer1"))
+ Hud_SetFocused( Hud_GetChild(file.menu, "BtnServer1" ) )
}
}
@@ -735,21 +754,21 @@ void function FilterServerList()
// Branchless programming ;)
- if (!(filterArguments.hideEmpty && tempServer.serverPlayers == 0) && !(filterArguments.hideFull && tempServer.serverPlayers == tempServer.serverPlayersMax) && !(filterArguments.hideProtected && tempServer.serverProtected))
+ if ( !( filterArguments.hideEmpty && tempServer.serverPlayers == 0 ) && !( filterArguments.hideFull && tempServer.serverPlayers == tempServer.serverPlayersMax ) && !( filterArguments.hideProtected && tempServer.serverProtected ) )
{
if ( filterArguments.useSearch )
{
- string sName = tempServer.serverName.tolower() + " " + Localize(GetMapDisplayName(tempServer.serverMap)).tolower() + " " + tempServer.serverMap.tolower() + " " + tempServer.serverGamemode.tolower() + " " + Localize(tempServer.serverGamemode).tolower()
+ string sName = tempServer.serverName.tolower() + " " + Localize( GetMapDisplayName( tempServer.serverMap ) ).tolower() + " " + tempServer.serverMap.tolower() + " " + tempServer.serverGamemode.tolower() + " " + Localize( tempServer.serverGamemode ).tolower()
string sTerm = filterArguments.searchTerm.tolower()
- if ( sName.find(sTerm) != null)
+ if ( sName.find( sTerm ) != null)
{
- if (filterArguments.filterMap != "SWITCH_ANY" && filterArguments.filterMap == tempServer.serverMap)
+ if ( filterArguments.filterMap != "SWITCH_ANY" && filterArguments.filterMap == tempServer.serverMap )
{
CheckGamemode( tempServer )
}
- else if (filterArguments.filterMap == "SWITCH_ANY")
+ else if ( filterArguments.filterMap == "SWITCH_ANY" )
{
CheckGamemode( tempServer )
}
@@ -757,28 +776,28 @@ void function FilterServerList()
}
else
{
- if (filterArguments.filterMap != "SWITCH_ANY" && filterArguments.filterMap == tempServer.serverMap)
+ if ( filterArguments.filterMap != "SWITCH_ANY" && filterArguments.filterMap == tempServer.serverMap )
{
CheckGamemode( tempServer )
}
- else if (filterArguments.filterMap == "SWITCH_ANY")
+ else if ( filterArguments.filterMap == "SWITCH_ANY" )
{
CheckGamemode( tempServer )
}
}
}
- Hud_SetText( Hud_GetChild( file.menu, "InGamePlayerLabel" ), Localize("#INGAME_PLAYERS", string(totalPlayers)) )
- Hud_SetText( Hud_GetChild( file.menu, "TotalServerLabel" ), Localize("#TOTAL_SERVERS", string( NSGetServerCount()) ) )
+ Hud_SetText( Hud_GetChild( file.menu, "InGamePlayerLabel" ), Localize("#INGAME_PLAYERS", string( totalPlayers ) ) )
+ Hud_SetText( Hud_GetChild( file.menu, "TotalServerLabel" ), Localize("#TOTAL_SERVERS", string( NSGetServerCount() ) ) )
}
}
void function CheckGamemode( serverStruct t )
{
- if (filterArguments.filterGamemode != "SWITCH_ANY" && filterArguments.filterGamemode == t.serverGamemode)
+ if ( filterArguments.filterGamemode != "SWITCH_ANY" && filterArguments.filterGamemode == t.serverGamemode )
{
file.serversArrayFiltered.append( t )
}
- else if (filterArguments.filterGamemode == "SWITCH_ANY")
+ else if ( filterArguments.filterGamemode == "SWITCH_ANY" )
{
file.serversArrayFiltered.append( t )
}
@@ -788,7 +807,7 @@ void function CheckGamemode( serverStruct t )
void function UpdateShownPage()
{
- for ( int i = 0; i < 15; i++)
+ for ( int i = 0; i < BUTTONS_PER_PAGE; i++ )
{
Hud_SetVisible( file.serversProtected[ i ], false )
Hud_SetVisible( file.serverButtons[ i ], false )
@@ -799,7 +818,7 @@ void function UpdateShownPage()
Hud_SetText( file.serversLatency[ i ], "" )
}
- int j = file.serversArrayFiltered.len() > 15 ? 15 : file.serversArrayFiltered.len()
+ int j = file.serversArrayFiltered.len() > BUTTONS_PER_PAGE ? BUTTONS_PER_PAGE : file.serversArrayFiltered.len()
for ( int i = 0; i < j; i++ )
{
@@ -829,26 +848,26 @@ void function UpdateShownPage()
void function OnServerButtonFocused( var button )
{
- if (file.scrollOffset < 0)
+ if ( file.scrollOffset < 0 )
file.scrollOffset = 0
- int scriptID = int (Hud_GetScriptID(button))
+ int scriptID = int ( Hud_GetScriptID( button ) )
file.serverButtonFocusedID = scriptID
if ( file.serversArrayFiltered.len() > 0 )
file.focusedServerIndex = file.serversArrayFiltered[ file.scrollOffset + scriptID ].serverIndex
- DisplayFocusedServerInfo(scriptID);
+ DisplayFocusedServerInfo( scriptID )
}
void function OnServerButtonClicked(var button)
{
- int scriptID = int (Hud_GetScriptID(button))
+ int scriptID = int ( Hud_GetScriptID( button ) )
- DisplayFocusedServerInfo(scriptID)
- CheckDoubleClick(scriptID, true)
+ DisplayFocusedServerInfo( scriptID )
+ CheckDoubleClick( scriptID, true )
}
-void function CheckDoubleClick(int scriptID, bool wasClickNav)
+void function CheckDoubleClick( int scriptID, bool wasClickNav )
{
if ( NSGetServerCount() == 0 ) return
@@ -856,34 +875,31 @@ void function CheckDoubleClick(int scriptID, bool wasClickNav)
int serverIndex = file.scrollOffset + scriptID
bool sameServer = false
- if (file.lastSelectedServer == serverIndex) sameServer = true
+ if ( file.lastSelectedServer == serverIndex ) sameServer = true
file.serverSelectedTimeLast = file.serverSelectedTime
file.serverSelectedTime = Time()
- printt(file.serverSelectedTime - file.serverSelectedTimeLast, file.lastSelectedServer, serverIndex)
-
file.lastSelectedServer = serverIndex
-
- if (wasClickNav && (file.serverSelectedTime - file.serverSelectedTimeLast < DOUBLE_CLICK_TIME_MS) && sameServer)
+ if ( wasClickNav && ( file.serverSelectedTime - file.serverSelectedTimeLast < DOUBLE_CLICK_TIME_MS ) && sameServer )
{
OnServerSelected(0)
}
}
-void function DisplayFocusedServerInfo( int scriptID)
+void function DisplayFocusedServerInfo( int scriptID )
{
- if (scriptID == 999 || scriptID == -1 || scriptID == 16) return
+ if ( scriptID == 999 || scriptID == -1 || scriptID == 16 ) return
- if ( NSIsRequestingServerList() || NSGetServerCount() == 0 || file.serverListRequestFailed || file.serversArrayFiltered.len() == 0)
+ if ( NSIsRequestingServerList() || NSGetServerCount() == 0 || file.serverListRequestFailed || file.serversArrayFiltered.len() == 0 )
return
var menu = GetMenu( "ServerBrowserMenu" )
int serverIndex = file.scrollOffset + scriptID
- if (serverIndex < 0) serverIndex = 0
+ if ( serverIndex < 0 ) serverIndex = 0
Hud_SetVisible( Hud_GetChild( menu, "BtnServerDescription" ), true )
@@ -892,7 +908,7 @@ void function DisplayFocusedServerInfo( int scriptID)
// text panels
Hud_SetVisible( Hud_GetChild( menu, "LabelDescription" ), true )
Hud_SetVisible( Hud_GetChild( menu, "LabelMods" ), false )
- Hud_SetText( Hud_GetChild( menu, "LabelDescription" ), NSGetServerDescription( file.serversArrayFiltered[ serverIndex ].serverIndex ) + "\n\nRequired Mods:\n" + FillInServerModsLabel( file.serversArrayFiltered[ serverIndex ].serverIndex ))
+ Hud_SetText( Hud_GetChild( menu, "LabelDescription" ), NSGetServerDescription( file.serversArrayFiltered[ serverIndex ].serverIndex ) + "\n\nRequired Mods:\n" + FillInServerModsLabel( file.serversArrayFiltered[ serverIndex ].serverIndex ) )
// map name/image/server name
string map = file.serversArrayFiltered[ serverIndex ].serverMap
@@ -1019,33 +1035,33 @@ void function ThreadedAuthAndConnectToServer( string password = "" )
ToggleConnectingHUD( true )
- while ( NSIsAuthenticatingWithServer() && !file.cancelConnection)
+ while ( NSIsAuthenticatingWithServer() && !file.cancelConnection )
{
WaitFrame()
}
ToggleConnectingHUD( false )
- if (file.cancelConnection)
+ if ( file.cancelConnection )
{
file.cancelConnection = false
// re-focus server list
- Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer" + (file.serverButtonFocusedID + 1)) )
+ Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer" + ( file.serverButtonFocusedID + 1 ) ) )
return
}
file.cancelConnection = false
- NSSetLoading(true)
+ NSSetLoading( true )
NSUpdateServerInfo(
- NSGetServerID(file.lastSelectedServer),
- NSGetServerName(file.lastSelectedServer),
+ NSGetServerID( file.lastSelectedServer ),
+ NSGetServerName( file.lastSelectedServer ),
password,
- NSGetServerPlayerCount(file.lastSelectedServer),
- NSGetServerMaxPlayerCount(file.lastSelectedServer),
- NSGetServerMap(file.lastSelectedServer),
- Localize(GetMapDisplayName(NSGetServerMap(file.lastSelectedServer))),
- NSGetServerPlaylist(file.lastSelectedServer),
- Localize(GetPlaylistDisplayName(NSGetServerPlaylist(file.lastSelectedServer)))
+ NSGetServerPlayerCount( file.lastSelectedServer ),
+ NSGetServerMaxPlayerCount( file.lastSelectedServer ),
+ NSGetServerMap( file.lastSelectedServer ),
+ Localize( GetMapDisplayName( NSGetServerMap( file.lastSelectedServer ) ) ),
+ NSGetServerPlaylist( file.lastSelectedServer ),
+ Localize( GetPlaylistDisplayName( NSGetServerPlaylist( file.lastSelectedServer ) ) )
)
if ( NSWasAuthSuccessful() )
@@ -1093,7 +1109,7 @@ void function ThreadedAuthAndConnectToServer( string password = "" )
//////////////////////////////////////
// Shadow realm
//////////////////////////////////////
-int function ServerSortLogic ( serverStruct a, serverStruct b)
+int function ServerSortLogic ( serverStruct a, serverStruct b )
{
var aTemp
var bTemp
@@ -1101,7 +1117,8 @@ int function ServerSortLogic ( serverStruct a, serverStruct b)
bool direction
// We can hard code this cause adding entire columns isn't as easy
- switch ( filterDirection.sortingBy ) {
+ switch ( filterDirection.sortingBy )
+ {
case sortingBy.NAME:
aTemp = a.serverName.tolower()
bTemp = b.serverName.tolower()
@@ -1113,13 +1130,13 @@ int function ServerSortLogic ( serverStruct a, serverStruct b)
direction = filterDirection.serverPlayers
break;
case sortingBy.MAP:
- aTemp = Localize(a.serverMap).tolower()
- bTemp = Localize(b.serverMap).tolower()
+ aTemp = Localize( a.serverMap ).tolower()
+ bTemp = Localize( b.serverMap ).tolower()
direction = filterDirection.serverMap
break;
case sortingBy.GAMEMODE:
- aTemp = Localize(a.serverGamemode).tolower()
- bTemp = Localize(b.serverGamemode).tolower()
+ aTemp = Localize( a.serverGamemode ).tolower()
+ bTemp = Localize( b.serverGamemode ).tolower()
direction = filterDirection.serverGamemode
break;
case sortingBy.LATENCY: