quakeforge/ruamoko/cl_menu/servlist.qc

110 lines
2.7 KiB
C++
Raw Normal View History

#include "menu.h"
#include "draw.h"
#include "InputLine.h"
#include "Rect.h"
#include "options_util.h"
#include "controls_o.h"
#include "client_menu.h"
integer () servlist_favorates_draw =
{
Draw_Pic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
Draw_CenterPic (160, 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
Draw_String (54, 40, "Under Construction");
return 1;
};
integer () servlist_all_draw =
{
Draw_Pic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
Draw_CenterPic (160, 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
Draw_String (54, 40, "Under Construction");
return 1;
};
integer serv_nfull;
integer serv_nempty;
2002-08-20 06:22:28 +00:00
InputLine serv_maxping;
InputLine serv_game;
integer () servlist_filter_draw =
{
Draw_Pic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
Draw_CenterPic (160, 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
Draw_String (62, 40, "Max Ping........:");
text_box (206, 32, 4, 1);
2002-08-20 06:22:28 +00:00
[serv_maxping draw:1];
Draw_String (62, 56, "Game Contains...:");
text_box (206, 48, 8, 1);
Draw_String (62, 72, "Server Not Full.:");
Draw_String (206, 72, ((serv_nfull == 0)?"No":"Yes"));
Draw_String (62, 88, "Server Not Empty:");
Draw_String (206, 88, ((serv_nempty == 0)?"No":"Yes"));
Draw_String (62, 96, "Under Construction");
opt_cursor (54, (Menu_GetIndex() * 16) + 40);
return 1;
};
void () servlist_favorates_menu =
{
Menu_Begin (54, 40, "favorites");
Menu_FadeScreen (1);
Menu_CenterPic (160, 4, "gfx/p_multi.lmp");
Menu_Draw (servlist_favorates_draw);
Menu_End ();
};
void () servlist_all_menu =
{
Menu_Begin (54, 48, "all");
Menu_FadeScreen (1);
Menu_CenterPic (160, 4, "gfx/p_multi.lmp");
Menu_Draw (servlist_all_draw);
Menu_End ();
};
integer (string text, integer key) sl_filter_in =
{
load_keybindings();
switch (text) {
case "isnfull":
serv_nfull ^= 1;
break;
case "isnempty":
serv_nempty ^= 1;
break;
default:
break;
}
return 0;
};
void () servlist_filter_menu =
{
Menu_Begin (54, 56, "filter");
Menu_FadeScreen (1);
Menu_CenterPic (160, 4, "gfx/p_multi.lmp");
Menu_Item (62, 40, "ping", sl_filter_in, 0);
Menu_Item (62, 48, "gametext", sl_filter_in, 0);
Menu_Item (62, 56, "isnfull", sl_filter_in, 0);
Menu_Item (62, 64, "isnempty", sl_filter_in, 0);
Menu_Draw (servlist_filter_draw);
Menu_End ();
};
void () server_list_menu =
{
2002-08-20 06:22:28 +00:00
id (serv_maxping) = [[InputLine alloc] initWithBounds:[[Rect alloc] initWithComponents:206 :40 :8 :4] promptCharacter:' '];
[serv_maxping setWidth:5];
Menu_Begin (54, 52, "");
Menu_FadeScreen (1);
Menu_Pic (16, 4, "gfx/qplaque.lmp");
Menu_CenterPic (160, 4, "gfx/p_multi.lmp");
servlist_favorates_menu ();
servlist_all_menu ();
servlist_filter_menu ();
Menu_End ();
};