Skip to content
This repository was archived by the owner on Jan 10, 2022. It is now read-only.

Commit 781cb3e

Browse files
author
F1F7Y
committed
UI improvements; updated arrow controls; fixes
1 parent c456dda commit 781cb3e

File tree

3 files changed

+63
-38
lines changed

3 files changed

+63
-38
lines changed

mod.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"Name" : "Better.Serverbrowser",
3-
"Description" : "Improves the northstar serverbrowser\n\nContributors:\n - Fifty#8113\n - Meelo#6036\n\nReport issues at: https://github.com/F1F7Y/Better.Serverbrowser/issues\nor on discord: Fifty#8113",
3+
"Description" : "Improves the northstar serverbrowser\n\nContributors:\n - Fifty#8113\n - Meelo#6036\n - Kami-Kaze#0001\n\nReport issues at: https://github.com/F1F7Y/Better.Serverbrowser/issues\nor on discord: Fifty#8113",
44
"Version": "1.2.2",
55
"LoadPriority": 1,
66
"ConVars": [

mod/resource/ui/menus/server_browser.menu

+28-1
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,13 @@ resource/ui/menus/mods_browse.menu
319319
xpos -4
320320
ypos -1
321321

322+
scriptID 999
323+
322324
pin_to_sibling BtnServerPasswordProtectedTab
323325
pin_corner_to_sibling TOP_LEFT
324326
pin_to_sibling_corner TOP_RIGHT
327+
navDown BtnServer1
328+
navRight BtnServerPlayersTab
325329
}
326330

327331
BtnServerName0
@@ -560,9 +564,14 @@ resource/ui/menus/mods_browse.menu
560564
wide 104
561565
xpos 4
562566

567+
scriptID 999
568+
563569
pin_to_sibling BtnServerNameTab
564570
pin_corner_to_sibling TOP_LEFT
565571
pin_to_sibling_corner TOP_RIGHT
572+
navDown BtnServer1
573+
navLeft BtnServerNameTab
574+
navRight BtnServerMapTab
566575
}
567576

568577
BtnServerPlayers1
@@ -786,9 +795,14 @@ resource/ui/menus/mods_browse.menu
786795
wide 140
787796
xpos 4
788797

798+
scriptID 999
799+
789800
pin_to_sibling BtnServerPlayersTab
790801
pin_corner_to_sibling TOP_LEFT
791802
pin_to_sibling_corner TOP_RIGHT
803+
navDown BtnServer1
804+
navLeft BtnServerPlayersTab
805+
navRight BtnServerGamemodeTab
792806
}
793807

794808
BtnServerMap1
@@ -1011,9 +1025,14 @@ resource/ui/menus/mods_browse.menu
10111025
wide 150
10121026
xpos 4
10131027

1028+
scriptID 999
1029+
10141030
pin_to_sibling BtnServerMapTab
10151031
pin_corner_to_sibling TOP_LEFT
10161032
pin_to_sibling_corner TOP_RIGHT
1033+
navDown BtnServer1
1034+
navLeft BtnServerMapTab
1035+
navRight BtnServerLatencyTab
10171036
}
10181037

10191038
BtnServerGamemode1
@@ -1236,9 +1255,14 @@ resource/ui/menus/mods_browse.menu
12361255
wide 110
12371256
xpos 4
12381257

1258+
scriptID 999
1259+
12391260
pin_to_sibling BtnServerGamemodeTab
12401261
pin_corner_to_sibling TOP_LEFT
12411262
pin_to_sibling_corner TOP_RIGHT
1263+
navDown BtnServer1
1264+
navLeft BtnServerGamemodeTab
1265+
navLeft BtnServerJoin
12421266
}
12431267

12441268
BtnServerLatency1
@@ -1573,6 +1597,7 @@ resource/ui/menus/mods_browse.menu
15731597
pin_to_sibling ButtonRowAnchor
15741598
pin_corner_to_sibling TOP_LEFT
15751599
pin_to_sibling_corner TOP_LEFT
1600+
navUp BtnServerNameTab
15761601
navRight BtnServerJoin
15771602
}
15781603
BtnServer2
@@ -2170,7 +2195,7 @@ resource/ui/menus/mods_browse.menu
21702195
tall 288
21712196
wide 500
21722197
rui "ui/control_options_description.rpak"
2173-
wrap 1
2198+
visible 0
21742199
zpos 1
21752200

21762201
pin_to_sibling ServerDetailsPanel
@@ -2295,6 +2320,8 @@ resource/ui/menus/mods_browse.menu
22952320
ypos -57
22962321
zpos 999
22972322

2323+
scriptID 999
2324+
22982325
pin_to_sibling ServerDetailsPanel
22992326
pin_corner_to_sibling TOP_RIGHT
23002327
pin_to_sibling_corner BOTTOM_RIGHT

mod/scripts/vscripts/ui/menu_ns_serverbrowser.nut

+34-36
Original file line numberDiff line numberDiff line change
@@ -133,32 +133,6 @@ void function SliderBarUpdate()
133133
}
134134

135135

136-
// string.find() works like 10% of the time
137-
// https://www.csestack.org/implement-strstr-function-in-c/
138-
bool function strstr(string str, string strSub)
139-
{
140-
int i = 0
141-
int j = 0
142-
int nTemp = i
143-
int nStrLen = str.len()
144-
int nStrSubLen = strSub.len()
145-
for(i = 0; i < nStrLen - nStrSubLen; i++)
146-
{
147-
nTemp = i
148-
for(j = 0; j < nStrSubLen; j++)
149-
{
150-
151-
if ( str [ nTemp ] == strSub[ j ] )
152-
{
153-
if ( j == nStrSubLen - 1 ) return true
154-
nTemp++
155-
}
156-
else
157-
break
158-
}
159-
}
160-
return false
161-
}
162136

163137
bool function floatCompareInRange(float arg1, float arg2, float tolerance)
164138
{
@@ -213,7 +187,7 @@ void function InitServerBrowserMenu()
213187
//UpdateServerInfoBasedOnRes()
214188

215189

216-
filterArguments.filterMaps = GetPrivateMatchMaps()
190+
filterArguments.filterMaps.extend(GetPrivateMatchMaps())
217191
filterArguments.filterMaps.insert(0, "SWITCH_ANY")
218192
filterArguments.filterMaps.append("mp_lobby")
219193

@@ -328,27 +302,34 @@ void function OnCloseServerBrowserMenu()
328302

329303
void function OnKeyUpArrowSelected( var button )
330304
{
305+
DisplayFocusedServerInfo(file.serverButtonFocusedID)
306+
331307
if ( file.serverButtonFocusedID != 0) return
332308
file.scrollOffset -= 1
333309
if (file.scrollOffset < 0) file.scrollOffset = 0
310+
311+
//printt("Up arrow ", scriptID)
312+
334313
UpdateShownPage()
335314
UpdateListSliderPosition( serversArrayFiltered.len() )
336315
}
337316

338317
void function OnKeyDownArrowSelected( var button )
339318
{
319+
DisplayFocusedServerInfo(file.serverButtonFocusedID)
320+
340321
if ( file.serverButtonFocusedID != 14) return
341-
if (serversArrayFiltered.len() <= 15) return
342322
file.scrollOffset += 1
343323
if (file.scrollOffset + BUTTONS_PER_PAGE > serversArrayFiltered.len()) file.scrollOffset = serversArrayFiltered.len() - BUTTONS_PER_PAGE
324+
//printt("Down arrow ", scriptID)
325+
344326
UpdateShownPage()
345327
UpdateListSliderPosition( serversArrayFiltered.len() )
346328
}
347329

348330

349331
void function OnDownArrowSelected( var button )
350332
{
351-
if (serversArrayFiltered.len() <= 15) return
352333
file.scrollOffset += 1
353334
if (file.scrollOffset + BUTTONS_PER_PAGE > serversArrayFiltered.len()) file.scrollOffset = serversArrayFiltered.len() - BUTTONS_PER_PAGE
354335
UpdateShownPage()
@@ -648,6 +629,8 @@ void function FilterAndUpdateList( var n )
648629
default:
649630
printt( "How the f did you get here" )
650631
}
632+
633+
Hud_SetFocused( Hud_GetChild( file.menu, "BtnServer1" ) )
651634
}
652635

653636

@@ -679,6 +662,7 @@ void function WaitForServerListRequest()
679662
Hud_SetVisible( Hud_GetChild( menu, "LabelDescription" ), false )
680663
Hud_SetVisible( Hud_GetChild( menu, "LabelMods" ), false )
681664
Hud_SetVisible( Hud_GetChild( menu, "NextMapImage" ), false )
665+
Hud_SetVisible( Hud_GetChild( menu, "NextMapBack" ), false )
682666
Hud_SetVisible( Hud_GetChild( menu, "NextMapName" ), false )
683667
Hud_SetVisible( Hud_GetChild( menu, "NextModeIcon" ), false )
684668
Hud_SetVisible( Hud_GetChild( menu, "NextGameModeName" ), false )
@@ -732,7 +716,7 @@ void function FilterServerList()
732716
string sName = tempServer.serverName.tolower()
733717
string sTerm = filterArguments.searchTerm.tolower()
734718

735-
if ( strstr(sName, sTerm) )
719+
if ( sName.find(sTerm) != null)
736720
{
737721
if (filterArguments.filterMap != "SWITCH_ANY" && filterArguments.filterMap == tempServer.serverMap)
738722
{
@@ -832,10 +816,7 @@ void function OnServerButtonFocused( var button )
832816

833817
void function OnServerFocused( var button )
834818
{
835-
if ( NSIsRequestingServerList() || NSGetServerCount() == 0 || file.serverListRequestFailed )
836-
return
837-
838-
var menu = GetMenu( "ServerBrowserMenu" )
819+
DisplayFocusedServerInfo(int ( Hud_GetScriptID( button ) ))
839820

840821
file.focusedServerIndex = serversArrayFiltered[ file.scrollOffset + int ( Hud_GetScriptID( button ) ) ].serverIndex
841822
int serverIndex = file.scrollOffset + int ( Hud_GetScriptID( button ) )
@@ -849,8 +830,25 @@ void function OnServerFocused( var button )
849830
file.serverSelectedTimeLast = file.serverSelectedTime
850831
file.serverSelectedTime = Time()
851832

852-
if ((file.serverSelectedTime - file.serverSelectedTimeLast < DOUBLE_CLICK_TIME_MS) && sameServer)
833+
if ((file.serverSelectedTime - file.serverSelectedTimeLast < DOUBLE_CLICK_TIME_MS) && sameServer && ( serverIndex >= 0 && serverIndex <= 14 ) )
853834
OnServerSelected(0)
835+
}
836+
837+
void function DisplayFocusedServerInfo( int scriptID )
838+
{
839+
printt( scriptID )
840+
if ( scriptID == 999 ) return
841+
842+
843+
if ( NSIsRequestingServerList() || NSGetServerCount() == 0 || file.serverListRequestFailed )
844+
return
845+
846+
var menu = GetMenu( "ServerBrowserMenu" )
847+
848+
file.focusedServerIndex = serversArrayFiltered[ file.scrollOffset + scriptID ].serverIndex
849+
int serverIndex = file.scrollOffset + scriptID
850+
851+
854852

855853

856854
Hud_SetVisible( Hud_GetChild( menu, "BtnServerDescription" ), true )
@@ -866,6 +864,7 @@ void function OnServerFocused( var button )
866864
// map name/image/server name
867865
string map = serversArrayFiltered[ serverIndex ].serverMap
868866
Hud_SetVisible( Hud_GetChild( menu, "NextMapImage" ), true )
867+
Hud_SetVisible( Hud_GetChild( menu, "NextMapBack" ), true )
869868
RuiSetImage( Hud_GetRui( Hud_GetChild( menu, "NextMapImage" ) ), "basicImage", GetMapImageForMapName( map ) )
870869
Hud_SetVisible( Hud_GetChild( menu, "NextMapName" ), true )
871870
Hud_SetText( Hud_GetChild( menu, "NextMapName" ), GetMapDisplayName( map ) )
@@ -884,7 +883,6 @@ void function OnServerFocused( var button )
884883
Hud_SetText( Hud_GetChild( menu, "NextGameModeName" ), "#NS_SERVERBROWSER_UNKNOWNMODE" )
885884
}
886885

887-
888886
string function FillInServerModsLabel( int server )
889887
{
890888
string ret

0 commit comments

Comments
 (0)