Example #1
0
void TeamMain_MenuInit( void ) {
	int		y;
	int		gametype;
	char	info[MAX_INFO_STRING];
	uiClientState_t cs;
	int team;
	int gt;

	memset( &s_teammain, 0, sizeof(s_teammain) );

	TeamMain_Cache();

	s_teammain.menu.wrapAround = qtrue;
	s_teammain.menu.fullscreen = qfalse;

	s_teammain.frame.generic.type   = MTYPE_BITMAP;
	s_teammain.frame.generic.flags	= QMF_INACTIVE;
	s_teammain.frame.generic.name   = TEAMMAIN_FRAME;
	s_teammain.frame.generic.x		= 142;
	s_teammain.frame.generic.y		= 118;
	s_teammain.frame.width			= 359;
	s_teammain.frame.height			= 256;

	y = 194;

	s_teammain.joinred.generic.type     = MTYPE_PTEXT;
	s_teammain.joinred.generic.flags    = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joinred.generic.id       = ID_JOINRED;
	s_teammain.joinred.generic.callback = TeamMain_MenuEvent;
	s_teammain.joinred.generic.x        = 320;
	s_teammain.joinred.generic.y        = y;
	s_teammain.joinred.string           = "JOIN RED";
	s_teammain.joinred.style            = UI_CENTER|UI_SMALLFONT;
	s_teammain.joinred.color            = colorRed;
	y += 20;

	s_teammain.joinblue.generic.type     = MTYPE_PTEXT;
	s_teammain.joinblue.generic.flags    = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joinblue.generic.id       = ID_JOINBLUE;
	s_teammain.joinblue.generic.callback = TeamMain_MenuEvent;
	s_teammain.joinblue.generic.x        = 320;
	s_teammain.joinblue.generic.y        = y;
	s_teammain.joinblue.string           = "JOIN BLUE";
	s_teammain.joinblue.style            = UI_CENTER|UI_SMALLFONT;
	s_teammain.joinblue.color            = colorRed;
	y += 20;

	s_teammain.joingame.generic.type     = MTYPE_PTEXT;
	s_teammain.joingame.generic.flags    = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joingame.generic.id       = ID_JOINGAME;
	s_teammain.joingame.generic.callback = TeamMain_MenuEvent;
	s_teammain.joingame.generic.x        = 320;
	s_teammain.joingame.generic.y        = y;
	s_teammain.joingame.string           = "JOIN GAME";
	s_teammain.joingame.style            = UI_CENTER|UI_SMALLFONT;
	s_teammain.joingame.color            = colorRed;
	y += 20;

	s_teammain.spectate.generic.type     = MTYPE_PTEXT;
	s_teammain.spectate.generic.flags    = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.spectate.generic.id       = ID_SPECTATE;
	s_teammain.spectate.generic.callback = TeamMain_MenuEvent;
	s_teammain.spectate.generic.x        = 320;
	s_teammain.spectate.generic.y        = y;
	s_teammain.spectate.string           = "SPECTATE";
	s_teammain.spectate.style            = UI_CENTER|UI_SMALLFONT;
	s_teammain.spectate.color            = colorRed;
	y += 20;

	trap_GetConfigString( CS_SERVERINFO, info, sizeof(info) );
	gt = atoi( Info_ValueForKey( info, "g_gametype" ) );
	if ( gt >= GT_TEAM ) {
		y += 12;
		s_teammain.weapon.generic.type		= MTYPE_SPINCONTROL;
		s_teammain.weapon.generic.flags		= QMF_PULSEIFFOCUS|QMF_SMALLFONT;
		s_teammain.weapon.generic.x			= 320;
		s_teammain.weapon.generic.y			= y;
		s_teammain.weapon.generic.name		= "Weapon: ";
		s_teammain.weapon.generic.id		= ID_WEAPON;
		s_teammain.weapon.itemnames			= weapons;
	}

	trap_GetClientState( &cs );
	trap_GetConfigString( CS_PLAYERS + cs.clientNum, info, MAX_INFO_STRING );
	team = atoi( Info_ValueForKey( info, "t" ) );

	trap_GetConfigString(CS_SERVERINFO, info, MAX_INFO_STRING);   
	gametype = atoi( Info_ValueForKey( info,"g_gametype" ) );
			      
	// set initial states
	switch( gametype ) {
	case GT_SINGLE_PLAYER:
	case GT_FFA:
	case GT_TOURNAMENT:
		s_teammain.joinred.generic.flags  |= QMF_GRAYED;
		s_teammain.joinblue.generic.flags |= QMF_GRAYED;
		break;

	default:
	case GT_TEAM:
	case GT_CTF:
		if( team == TEAM_RED ) {
			s_teammain.joinred.generic.flags |= QMF_GRAYED;
		}
		else if( team == TEAM_BLUE ) {
			s_teammain.joinblue.generic.flags |= QMF_GRAYED;
		}
		else if( team == TEAM_SPECTATOR ) {
			s_teammain.spectate.generic.flags |= QMF_GRAYED;
		}
		s_teammain.joingame.generic.flags |= QMF_GRAYED;
		break;
	}

	Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.frame );
	Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.joinred );
	Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.joinblue );
	Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.joingame );
	Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.spectate );
	if ( gt >= GT_TEAM )
		Menu_AddItem( &s_teammain.menu, (void*) &s_teammain.weapon );
}
Example #2
0
/*
=======================================================================================================================================
TeamMain_MenuInit
=======================================================================================================================================
*/
void TeamMain_MenuInit(void) {
	int y;
	int gametype;
	char info[MAX_INFO_STRING];

	memset(&s_teammain, 0, sizeof(s_teammain));

	TeamMain_Cache();

	s_teammain.menu.wrapAround = qtrue;
	s_teammain.menu.fullscreen = qfalse;

	s_teammain.frame.generic.type = MTYPE_BITMAP;
	s_teammain.frame.generic.flags = QMF_INACTIVE;
	s_teammain.frame.generic.name = TEAMMAIN_FRAME;
	s_teammain.frame.generic.x = 142;
	s_teammain.frame.generic.y = 118;
	s_teammain.frame.width = 359;
	s_teammain.frame.height = 256;
	y = 194;

	s_teammain.joinred.generic.type = MTYPE_PTEXT;
	s_teammain.joinred.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joinred.generic.id = ID_JOINRED;
	s_teammain.joinred.generic.callback = TeamMain_MenuEvent;
	s_teammain.joinred.generic.x = 320;
	s_teammain.joinred.generic.y = y;
	s_teammain.joinred.string = "JOIN RED";
	s_teammain.joinred.style = UI_CENTER|UI_SMALLFONT;
	s_teammain.joinred.color = colorRed;
	y += 20;

	s_teammain.joinblue.generic.type = MTYPE_PTEXT;
	s_teammain.joinblue.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joinblue.generic.id = ID_JOINBLUE;
	s_teammain.joinblue.generic.callback = TeamMain_MenuEvent;
	s_teammain.joinblue.generic.x = 320;
	s_teammain.joinblue.generic.y = y;
	s_teammain.joinblue.string = "JOIN BLUE";
	s_teammain.joinblue.style = UI_CENTER|UI_SMALLFONT;
	s_teammain.joinblue.color = colorRed;
	y += 20;

	s_teammain.joingame.generic.type = MTYPE_PTEXT;
	s_teammain.joingame.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.joingame.generic.id = ID_JOINGAME;
	s_teammain.joingame.generic.callback = TeamMain_MenuEvent;
	s_teammain.joingame.generic.x = 320;
	s_teammain.joingame.generic.y = y;
	s_teammain.joingame.string = "JOIN GAME";
	s_teammain.joingame.style = UI_CENTER|UI_SMALLFONT;
	s_teammain.joingame.color = colorRed;
	y += 20;

	s_teammain.spectate.generic.type = MTYPE_PTEXT;
	s_teammain.spectate.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
	s_teammain.spectate.generic.id = ID_SPECTATE;
	s_teammain.spectate.generic.callback = TeamMain_MenuEvent;
	s_teammain.spectate.generic.x = 320;
	s_teammain.spectate.generic.y = y;
	s_teammain.spectate.string = "SPECTATE";
	s_teammain.spectate.style = UI_CENTER|UI_SMALLFONT;
	s_teammain.spectate.color = colorRed;

	trap_GetConfigString(CS_SERVERINFO, info, MAX_INFO_STRING);
	gametype = atoi(Info_ValueForKey(info, "g_gametype"));
	// set initial states
	switch (gametype) {
		case GT_SINGLE_PLAYER:
		case GT_FFA:
		case GT_TOURNAMENT:
			s_teammain.joinred.generic.flags |= QMF_GRAYED;
			s_teammain.joinblue.generic.flags |= QMF_GRAYED;
			break;
		default:
		case GT_TEAM:
		case GT_CTF:
			s_teammain.joingame.generic.flags |= QMF_GRAYED;
			break;
	}

	Menu_AddItem(&s_teammain.menu, (void *)&s_teammain.frame);
	Menu_AddItem(&s_teammain.menu, (void *)&s_teammain.joinred);
	Menu_AddItem(&s_teammain.menu, (void *)&s_teammain.joinblue);
	Menu_AddItem(&s_teammain.menu, (void *)&s_teammain.joingame);
	Menu_AddItem(&s_teammain.menu, (void *)&s_teammain.spectate);
}
Example #3
0
/*
===============
TeamMain_MenuInit
===============
*/
void TeamMain_MenuInit(int NbRed, int NbBlue)
{
	int	y;
	char	info[MAX_INFO_STRING];
	int	gametype;
	char	*s;

	trap_GetConfigString(CS_SERVERINFO, info, MAX_INFO_STRING);
	gametype = atoi(Info_ValueForKey(info,"g_gametype"));

	memset(&s_teammain, 0, sizeof(s_teammain));

	TeamMain_Cache();

	s_teammain.menu.wrapAround = qtrue;
	s_teammain.menu.fullscreen = qfalse;

	s_teammain.frame.generic.type   = MTYPE_BITMAP;
	s_teammain.frame.generic.flags	= QMF_INACTIVE;
	s_teammain.frame.generic.name   = TEAMMAIN_FRAME;
	s_teammain.frame.generic.x		= 142;
	s_teammain.frame.generic.y		= 118;
	s_teammain.frame.width			= 359;
	s_teammain.frame.height			= 256;

	y = 194;

	if (gametype == GT_INVASION)
	{
		if (NbRed != -1)
		{
			strcpy(Join[0], va("Marines - %d player(s)", NbRed));
			s = Join[0];
		}
		else
			s = "JOIN MARINES";//"JOIN RED (as male)";
	}
	else
		s = "JOIN RED";

	InitMenuText(&s_teammain.joinred, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
					320, y, ID_JOINRED, TeamMain_MenuEvent, s,
					colorRed, UI_CENTER|UI_SMALLFONT);

	/*if (gametype == GT_INVASION)
	{
		y += 20;
		InitMenuText(&s_teammain.joinredfemale, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
						320, y, ID_JOINREDFEMALE, TeamMain_MenuEvent, "JOIN RED (as female)",
						colorRed, UI_CENTER|UI_SMALLFONT);
	}*/

	if (gametype == GT_INVASION)
	{
		if (NbBlue != -1)
		{
			strcpy(Join[1], va("Aliens - %d player(s)", NbBlue));
			s = Join[1];
		}
		else
			s = "JOIN ALIENS";//"JOIN BLUE (as male)";
	}
	else
		s = "JOIN BLUE";

	y += 20;
	InitMenuText(&s_teammain.joinblue, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
					320, y, ID_JOINBLUE, TeamMain_MenuEvent, s,
					colorRed, UI_CENTER|UI_SMALLFONT);

	y += 20;
	InitMenuText(&s_teammain.joinauto, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
					320, y, ID_JOINAUTO, TeamMain_MenuEvent, "AUTO SELECT",
					colorRed, UI_CENTER|UI_SMALLFONT);

	/*if (gametype == GT_INVASION)
	{
		y += 20;
		InitMenuText(&s_teammain.joinbluefemale, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
						320, y, ID_JOINBLUEFEMALE, TeamMain_MenuEvent, "JOIN BLUE (as female)",
						colorRed, UI_CENTER|UI_SMALLFONT);
	}*/

	y += 20;
	InitMenuText(&s_teammain.joingame, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
					320, y, ID_JOINGAME, TeamMain_MenuEvent, "JOIN GAME",
					colorRed, UI_CENTER|UI_SMALLFONT);

	y += 20;
	InitMenuText(&s_teammain.spectate, MTYPE_PTEXT, QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS,
					320, y, ID_SPECTATE, TeamMain_MenuEvent, "SPECTATE",
					colorRed, UI_CENTER|UI_SMALLFONT);

	// set initial states
	switch (gametype)
	{
	case GT_SINGLE_PLAYER:
	case GT_FFA:
	case GT_TOURNAMENT:
		s_teammain.joinred.generic.flags  |= QMF_GRAYED;
		s_teammain.joinblue.generic.flags |= QMF_GRAYED;
		break;

	default:
	case GT_TEAM:
	case GT_CTF:
	case GT_INVASION:
		s_teammain.joingame.generic.flags |= QMF_GRAYED;
		break;
	}

	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.frame);
	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joinred);
	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joinblue);
	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joingame);
	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.spectate);
	Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joinauto);
	/*if (gametype == GT_INVASION)
	{
		Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joinredfemale);
		Menu_AddItem(&s_teammain.menu, (void*) &s_teammain.joinbluefemale);
	}*/
}