mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 21:02:50 +00:00
b0879ba255
Group and the menu plist parser are currently broken.
111 lines
2.9 KiB
C++
111 lines
2.9 KiB
C++
#include "menu.h"
|
|
#include "draw.h"
|
|
#include "options_util.h"
|
|
#include "controls_o.h"
|
|
#include "client_menu.h"
|
|
|
|
#include "gui/InputLine.h"
|
|
#include "gui/Rect.h"
|
|
|
|
integer (integer x, integer y) servlist_favorates_draw =
|
|
{
|
|
Draw_Pic (x + 16, y + 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
|
|
Draw_CenterPic (x + 160, y + 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
|
|
Draw_String (x + 54, y + 40, "Under Construction");
|
|
return 1;
|
|
};
|
|
|
|
integer (integer x, integer y) servlist_all_draw =
|
|
{
|
|
Draw_Pic (x + 16, y + 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
|
|
Draw_CenterPic (x + 160, y + 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
|
|
Draw_String (x + 54, y + 40, "Under Construction");
|
|
return 1;
|
|
};
|
|
|
|
integer serv_nfull;
|
|
integer serv_nempty;
|
|
InputLine serv_maxping;
|
|
InputLine serv_game;
|
|
|
|
integer (integer x, integer y) servlist_filter_draw =
|
|
{
|
|
Draw_Pic (x + 16, y + 4, Draw_CachePic ("gfx/qplaque.lmp", 1));
|
|
Draw_CenterPic (x + 160, y + 4, Draw_CachePic ("gfx/p_multi.lmp", 1));
|
|
Draw_String (x + 62, y + 40, "Max Ping........:");
|
|
text_box (x + 206, y + 32, 4, 1);
|
|
[serv_maxping setBasePos:x y:y];
|
|
[serv_maxping cursor:1];
|
|
[serv_maxping draw];
|
|
Draw_String (x + 62, y + 56, "Game Contains...:");
|
|
text_box (x + 206, y + 48, 8, 1);
|
|
Draw_String (x + 62, y + 72, "Server Not Full.:");
|
|
Draw_String (x + 206, y + 72, ((serv_nfull == 0) ? "No" : "Yes"));
|
|
Draw_String (x + 62, y + 88, "Server Not Empty:");
|
|
Draw_String (x + 206, y + 88, ((serv_nempty == 0) ? "No" : "Yes"));
|
|
Draw_String (x + 62, y + 96, "Under Construction");
|
|
opt_cursor (x + 54, y + (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 =
|
|
{
|
|
serv_maxping = [[InputLine alloc] initWithBounds:makeRect (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 ();
|
|
};
|