about summary refs log tree commit diff
path: root/src/game/client/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client/components')
-rw-r--r--src/game/client/components/hud.cpp19
-rw-r--r--src/game/client/components/hud.hpp1
-rw-r--r--src/game/client/components/menus.cpp16
-rw-r--r--src/game/client/components/menus.hpp1
-rw-r--r--src/game/client/components/menus_browser.cpp30
5 files changed, 28 insertions, 39 deletions
diff --git a/src/game/client/components/hud.cpp b/src/game/client/components/hud.cpp
index 697e75bd..65b1728e 100644
--- a/src/game/client/components/hud.cpp
+++ b/src/game/client/components/hud.cpp
@@ -167,24 +167,6 @@ void HUD::render_connectionwarning()
 	}
 }
 
-void HUD::render_tunewarning()
-{
-	TUNING_PARAMS standard_tuning;
-
-	// render warning about non standard tuning
-	bool flash = time_get()/(time_freq()/2)%2 == 0;
-	if(config.cl_warning_tuning && memcmp(&standard_tuning, &gameclient.tuning, sizeof(TUNING_PARAMS)) != 0)
-	{
-		const char *text = "Warning! Server is running non-standard tuning.";
-		if(flash)
-			gfx_text_color(1,0.4f,0.4f,1.0f);
-		else
-			gfx_text_color(0.75f,0.2f,0.2f,1.0f);
-		gfx_text(0x0, 5, 40, 6, text, -1);
-		gfx_text_color(1,1,1,1);
-	}
-}		
-
 void HUD::render_teambalancewarning()
 {
 	// render prompt about team-balance
@@ -307,7 +289,6 @@ void HUD::on_render()
 	render_fps();
 	if(client_state() != CLIENTSTATE_DEMOPLAYBACK)
 		render_connectionwarning();
-	render_tunewarning();
 	render_teambalancewarning();
 	render_voting();
 	render_cursor();
diff --git a/src/game/client/components/hud.hpp b/src/game/client/components/hud.hpp
index 3ec102f1..41fa0ff2 100644
--- a/src/game/client/components/hud.hpp
+++ b/src/game/client/components/hud.hpp
@@ -8,7 +8,6 @@ class HUD : public COMPONENT
 	
 	void render_fps();
 	void render_connectionwarning();
-	void render_tunewarning();
 	void render_teambalancewarning();
 	void render_voting();
 	void render_healthandammo();
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp
index 4fb652d9..3122a3bd 100644
--- a/src/game/client/components/menus.cpp
+++ b/src/game/client/components/menus.cpp
@@ -761,6 +761,13 @@ int MENUS::render()
 			button_text = "Ok";
 			extra_align = -1;
 		}
+		else if(popup == POPUP_PURE)
+		{
+			title = "Disconnected";
+			extra_text = "The server is running a non-standard tuning on a pure game mode.";
+			button_text = "Ok";
+			extra_align = -1;
+		}
 		else if(popup == POPUP_PASSWORD)
 		{
 			title = "Password Error";
@@ -996,6 +1003,13 @@ void MENUS::on_render()
 		render_demoplayer(screen);
 	}
 	
+	if(client_state() == CLIENTSTATE_ONLINE && gameclient.servermode == gameclient.SERVERMODE_PUREMOD)
+	{
+		client_disconnect();
+		set_active(true);
+		popup = POPUP_PURE;
+	}
+	
 	if(!is_active())
 	{
 		escape_pressed = false;
@@ -1003,7 +1017,7 @@ void MENUS::on_render()
 		num_inputevents = 0;
 		return;
 	}
-		
+	
 	// update colors
 	vec3 rgb = hsl_to_rgb(vec3(config.ui_color_hue/255.0f, config.ui_color_sat/255.0f, config.ui_color_lht/255.0f));
 	gui_color = vec4(rgb.r, rgb.g, rgb.b, config.ui_color_alpha/255.0f);
diff --git a/src/game/client/components/menus.hpp b/src/game/client/components/menus.hpp
index ab4d5303..8a50c122 100644
--- a/src/game/client/components/menus.hpp
+++ b/src/game/client/components/menus.hpp
@@ -68,6 +68,7 @@ class MENUS : public COMPONENT
 		POPUP_FIRST_LAUNCH,
 		POPUP_CONNECTING,
 		POPUP_DISCONNECTED,
+		POPUP_PURE,
 		POPUP_PASSWORD,
 		POPUP_QUIT, 
 	};
diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp
index 5f328e58..bad38b76 100644
--- a/src/game/client/components/menus_browser.cpp
+++ b/src/game/client/components/menus_browser.cpp
@@ -46,7 +46,7 @@ void MENUS::render_serverbrowser_serverlist(RECT view)
 		SPACER=2,
 		
 		COL_FLAG_LOCK=0,
-		COL_FLAG_TUNED,
+		COL_FLAG_PURE,
 		COL_FLAG_FAV,
 		COL_NAME,
 		COL_GAMETYPE,
@@ -60,7 +60,7 @@ void MENUS::render_serverbrowser_serverlist(RECT view)
 	static column cols[] = {
 		{-1,			-1,						" ",		-1, 2.0f, 0, {0}, {0}},
 		{COL_FLAG_LOCK,	-1,						" ",		-1, 14.0f, 0, {0}, {0}},
-		{COL_FLAG_TUNED,	-1,						" ",		-1, 14.0f, 0, {0}, {0}},
+		{COL_FLAG_PURE,	-1,						" ",		-1, 14.0f, 0, {0}, {0}},
 		{COL_FLAG_FAV,	-1,						" ",		-1, 14.0f, 0, {0}, {0}},
 		{COL_NAME,		BROWSESORT_NAME,		"Name",		0, 300.0f, 0, {0}, {0}},
 		{COL_GAMETYPE,	BROWSESORT_GAMETYPE,	"Type",		1, 50.0f, 0, {0}, {0}},
@@ -161,16 +161,17 @@ void MENUS::render_serverbrowser_serverlist(RECT view)
 
 	selected_index = -1;
 
-	for (int i = 0; i < num_servers; i++)
+	/*for (int i = 0; i < num_servers; i++)
 	{
 		SERVER_INFO *item = client_serverbrowse_sorted_get(i);
 		num_players += item->num_players;
-	}
+	}*/
 	
 	for (int i = 0; i < num_servers; i++)
 	{
 		int item_index = i;
 		SERVER_INFO *item = client_serverbrowse_sorted_get(item_index);
+		num_players += item->num_players;
 		RECT row;
         RECT select_hit_box;
 			
@@ -226,10 +227,10 @@ void MENUS::render_serverbrowser_serverlist(RECT view)
 				if(item->flags & SRVFLAG_PASSWORD)
 					ui_draw_browse_icon(SPRITE_BROWSE_LOCK, &button);
 			}
-			else if(id == COL_FLAG_TUNED)
+			else if(id == COL_FLAG_PURE)
 			{
-				if(item->flags & SRVFLAG_TUNED)
-					ui_draw_browse_icon(SPRITE_BROWSE_TUNED, &button);
+				if(strncmp(item->gametype, "DM", 2) == 0 || strncmp(item->gametype, "TDM", 3) == 0 || strncmp(item->gametype, "CTF", 3) == 0)
+					ui_draw_browse_icon(SPRITE_BROWSE_PURE, &button);
 			}
 			else if(id == COL_FLAG_FAV)
 			{
@@ -345,10 +346,10 @@ void MENUS::render_serverbrowser_filters(RECT view)
 	ui_hsplit_t(&view, 20.0f, &button, &view);
 	if (ui_do_button((char *)&config.b_filter_compatversion, "Compatible Version", config.b_filter_compatversion, &button, ui_draw_checkbox, 0))
 		config.b_filter_compatversion ^= 1;
-
+	
 	ui_hsplit_t(&view, 20.0f, &button, &view);
-	if (ui_do_button((char *)&config.b_filter_tuned, "Not tuned", config.b_filter_tuned, &button, ui_draw_checkbox, 0))
-		config.b_filter_tuned ^= 1;
+	if (ui_do_button((char *)&config.b_filter_pure, "Only pure", config.b_filter_pure, &button, ui_draw_checkbox, 0))
+		config.b_filter_pure ^= 1;
 
 	ui_hsplit_t(&view, 20.0f, &button, &view);
 	ui_do_label(&button, "Game types: ", 14.0f, -1);
@@ -387,7 +388,6 @@ void MENUS::render_serverbrowser_filters(RECT view)
 		config.b_filter_ping = 999;
 		config.b_filter_gametype[0] = 0;
 		config.b_filter_compatversion = 1;
-		config.b_filter_tuned = 1;
 		config.b_filter_string[0] = 0;
 	}
 }
@@ -420,7 +420,7 @@ void MENUS::render_serverbrowser_serverdetail(RECT view)
 	if (selected_server)
 	{
 		RECT row;
-		static const char *labels[] = { "Version:", "Game Type:", "Tuning:", "Progression:", "Ping:" };
+		static const char *labels[] = { "Version:", "Game Type:", "Progression:", "Ping:" };
 
 		RECT left_column;
 		RECT right_column;
@@ -457,12 +457,6 @@ void MENUS::render_serverbrowser_serverdetail(RECT view)
 
 		char temp[16];
 
-		str_format(temp, sizeof(temp), "%s", selected_server->flags & SRVFLAG_TUNED ? "non-standard" : "standard");
-
-		ui_hsplit_t(&right_column, 15.0f, &row, &right_column);
-		ui_do_label(&row, temp, font_size, -1);
-
-
 		if(selected_server->progression < 0)
 			str_format(temp, sizeof(temp), "N/A");
 		else