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 ); }
/* ======================================================================================================================================= 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); }
/* =============== 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); }*/ }