Exemplo n.º 1
0
void kmatrix_redraw_coop()
{
	int i, color;
	int sorted[MAX_PLAYERS];

	multi_sort_kill_list();
	grd_curcanv->cv_font = MEDIUM3_FONT;
	gr_string( 0x8000, FSPACY(10), "COOPERATIVE SUMMARY");
	grd_curcanv->cv_font = GAME_FONT;
	multi_get_kill_list(sorted);
	kmatrix_draw_coop_names(sorted);

	for (i=0; i<N_players; i++ )
	{
		color = sorted[i];

		if (Players[sorted[i]].connected==CONNECT_DISCONNECTED)
			gr_set_fontcolor(gr_find_closest_color(31,31,31),-1);
		else
			gr_set_fontcolor(BM_XRGB(player_rgb[color].r,player_rgb[color].g,player_rgb[color].b),-1 );

		kmatrix_draw_coop_item( i, sorted );
	}

	gr_palette_load(gr_palette);
}
Exemplo n.º 2
0
void eraseignore_by_number (int ignorenum)
{
        int ignoreloop;
        int player_list[MAX_NUM_NET_PLAYERS];
        int n = multi_get_kill_list(player_list);

        if((ignorenum <= 0) || (ignorenum > n))
        {
                hud_message(MSGC_GAME_FEEDBACK,"UNIGNOREN: Player number %d doesn't exist!",ignorenum);
                Network_message[0]=0;
                multi_message_index = 0;
                multi_sending_message = 0;
                return;
        }

        for (ignoreloop = 0; ignoreloop < MAX_IGNORE; ignoreloop++)
        {
                if(!strcmp(ignorelist[ignoreloop], Players[player_list[ignorenum - 1]].callsign))
                {
                        ignorelist[ignoreloop][0] = '\0';
                        hud_message(MSGC_GAME_FEEDBACK,"Now unignoring %s!", Players[player_list[ignorenum - 1]].callsign);
                        Players[player_list[ignorenum - 1]].connected = 1;
                        return;
                }
        }
        hud_message(MSGC_GAME_FEEDBACK,"Player %s not currently ignored!", Players[player_list[ignorenum - 1]].callsign);
        return;
}
Exemplo n.º 3
0
void kmatrix_redraw(kmatrix_screen *km)
{
	int i, color;
	int sorted[MAX_PLAYERS];

	gr_set_current_canvas(NULL);
	show_fullscr(&km->background);

	if(Netgame.FairColors)
		selected_player_rgb = player_rgb_all_blue; 
	else if(Netgame.BlackAndWhitePyros) 
		selected_player_rgb = player_rgb_alt; 
	else
		selected_player_rgb = player_rgb;	
	
	if (Game_mode & GM_MULTI_COOP)
	{
		kmatrix_redraw_coop();
	}
	else
	{
		multi_sort_kill_list();
		grd_curcanv->cv_font = MEDIUM3_FONT;

		if (Game_mode & GM_CAPTURE)
			gr_string( 0x8000, FSPACY(10), "CAPTURE THE FLAG SUMMARY");
		else if (Game_mode & GM_HOARD)
			gr_string( 0x8000, FSPACY(10), "HOARD SUMMARY");
		else
			gr_string( 0x8000, FSPACY(10), TXT_KILL_MATRIX_TITLE);

		grd_curcanv->cv_font = GAME_FONT;
		multi_get_kill_list(sorted);
		kmatrix_draw_names(sorted);

		for (i=0; i<N_players; i++ )
		{
			if (Game_mode & GM_TEAM)
				color = get_team(sorted[i]);
			else
				color = sorted[i];

			if (Players[sorted[i]].connected==CONNECT_DISCONNECTED)
				gr_set_fontcolor(gr_find_closest_color(31,31,31),-1);
			else
				gr_set_fontcolor(BM_XRGB(selected_player_rgb[color].r,selected_player_rgb[color].g,selected_player_rgb[color].b),-1 );

			kmatrix_draw_item( i, sorted );
		}
	}

	gr_palette_load(gr_palette);
}
Exemplo n.º 4
0
void addignore_by_number (int ignorenum)
{
        int ignoreloop;
        int player_list[MAX_NUM_NET_PLAYERS];
        int n = multi_get_kill_list(player_list);

        if((ignorenum <= 0) || (ignorenum > n))
        {
                hud_message(MSGC_GAME_FEEDBACK,"IGNOREN: Player number %d doesn't exist!",ignorenum);
                Network_message[0]=0;
                multi_message_index = 0;
                multi_sending_message = 0;
                return;
        }

        for(ignoreloop = 0; ignoreloop < MAX_IGNORE; ignoreloop++)
        {
                if(!stricmp(Players[Player_num].callsign, Players[player_list[ignorenum - 1]].callsign))
                {
                        hud_message(MSGC_GAME_FEEDBACK,"You cannot ignore yourself!");
                        return;
                }

                if(!stricmp(ignorelist[ignoreloop], Players[player_list[ignorenum - 1]].callsign))
                {
                        hud_message(MSGC_GAME_FEEDBACK,"You've already ignored %s!", Players[player_list[ignorenum - 1]].callsign);
                        return;
                }

                if(ignorelist[ignoreloop][0] == '\0')
                {
                        strcpy(ignorelist[ignoreloop], Players[player_list[ignorenum - 1]].callsign);
                        hud_message(MSGC_GAME_FEEDBACK,"Now ignoring %s!", Players[player_list[ignorenum - 1]].callsign);
                        Network_message_reciever = 100; // Let everyone know that I'm ignoring someone...
                        sprintf( Network_message, "I'm now ignoring %s!", Players[player_list[ignorenum - 1]].callsign);
                        multi_send_message();

                        network_disconnect_player(player_list[ignorenum - 1]);
                        return;
                }
        }
        hud_message(MSGC_GAME_FEEDBACK,"Ignore slots are full!");
        return;
}