/* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ /* * $Source: /cvsroot/dxx-rebirth/d1x-rebirth/main/kmatrix.c,v $ * $Revision: 1.1.1.1 $ * $Author: zicodxx $ * $Date: 2006/03/17 19:44:38 $ * * Kill matrix displayed at end of level. * * $Log: kmatrix.c,v $ * Revision 1.1.1.1 2006/03/17 19:44:38 zicodxx * initial import * * Revision 1.2 2002/03/26 22:10:09 donut * fix multiplayer endlevel score display in high res * * Revision 1.1.1.1 1999/06/14 22:08:16 donut * Import of d1x 1.37 source. * * Revision 2.3 1995/05/02 17:01:22 john * Fixed bug with kill list not showing up in VFX mode. * * Revision 2.2 1995/03/21 14:38:20 john * Ifdef'd out the NETWORK code. * * Revision 2.1 1995/03/06 15:22:54 john * New screen techniques. * * Revision 2.0 1995/02/27 11:25:56 john * New version 2.0, which has no anonymous unions, builds with * Watcom 10.0, and doesn't require parsing BITMAPS.TBL. * * Revision 1.19 1995/02/15 14:47:23 john * Added code to keep track of kills during endlevel. * * Revision 1.18 1995/02/08 11:00:06 rob * Moved string to localized file * * Revision 1.17 1995/02/01 23:45:55 rob * Fixed string. * * Revision 1.16 1995/01/30 21:47:11 rob * Added a line of instructions. * * Revision 1.15 1995/01/20 16:58:43 rob * careless careless careless... * * * Revision 1.14 1995/01/20 13:43:48 rob * Longer time to view. * * Revision 1.13 1995/01/20 13:42:34 rob * Fixed sorting bug. * * Revision 1.12 1995/01/19 17:35:21 rob * Fixed coloration of player names in team mode. * * Revision 1.11 1995/01/16 21:26:15 rob * Fixed it!! * * Revision 1.10 1995/01/16 18:55:41 rob * Added include of network.h * * Revision 1.9 1995/01/16 18:22:35 rob * Fixed problem with signs. * * Revision 1.8 1995/01/12 16:07:51 rob * ADded sorting before display. * * Revision 1.7 1995/01/04 08:46:53 rob * JOHN CHECKED IN FOR ROB !!! * * Revision 1.6 1994/12/09 20:17:20 yuan * Touched up * * Revision 1.5 1994/12/09 19:46:35 yuan * Localized the sucker. * * Revision 1.4 1994/12/09 19:24:58 rob * Yuan's fix to the centering. * * Revision 1.3 1994/12/09 19:02:37 yuan * Cleaned up a bit. * * Revision 1.2 1994/12/09 16:19:46 yuan * kill matrix stuff. * * Revision 1.1 1994/12/09 15:08:58 yuan * Initial revision * * */ #ifdef RCS #pragma off (unreferenced) static char rcsid[] = "$Id: kmatrix.c,v 1.1.1.1 2006/03/17 19:44:38 zicodxx Exp $"; #pragma on (unreferenced) #endif #ifdef NETWORK #include #include #include #include #include #include "error.h" #include "types.h" #include "gr.h" #include "mono.h" #include "key.h" #include "palette.h" #include "game.h" #include "gamefont.h" #include "u_mem.h" #include "newmenu.h" #include "menu.h" #include "player.h" #include "screens.h" #include "gamefont.h" #include "mouse.h" #include "joy.h" #include "timer.h" #include "text.h" #include "multi.h" #include "kmatrix.h" #include "gauges.h" #include "pcx.h" #include "network.h" //added 11/01/98 Matt Mueller #include "hudlog.h" //end addition -MM static int rescale_x(int x) { return x * GWIDTH / 320; } static int rescale_y(int y) { return y * GHEIGHT / 200; } #define CENTERING_OFFSET(x) ((300 - (70 + (x)*25 ))/2) int kmatrix_kills_changed = 0; void kmatrix_draw_item( int i, int *sorted ) { int j, x, y; y = rescale_y(50+i*9); // Print player name. gr_printf( rescale_x(CENTERING_OFFSET(N_players)), y, "%s", Players[sorted[i]].callsign ); for (j=0; jcv_font = Gamefonts[GFONT_MEDIUM_3]; gr_string( 0x8000, rescale_y(15), TXT_KILL_MATRIX_TITLE ); grd_curcanv->cv_font = Gamefonts[GFONT_SMALL]; multi_get_kill_list(sorted); kmatrix_draw_names(sorted); for (i=0; i0) done=1; for (i=0; i<3; i++ ) if (mouse_button_down_count(i)>0) done=1; k = key_inkey(); switch( k ) { case KEY_ENTER: case KEY_SPACEBAR: case KEY_ESC: done=1; break; case KEY_PRINT_SCREEN: save_screen_shot(0); break; case KEY_BACKSP: Int3(); break; default: break; } if (timer_get_approx_seconds() > entry_time+MAX_VIEW_TIME) done=1; if (network && (Game_mode & GM_NETWORK)) { kmatrix_kills_changed = 0; network_endlevel_poll2(0, NULL, &key, 0); if ( kmatrix_kills_changed ) { kmatrix_redraw(); } if (key < -1) done = 1; } } // Restore background and exit gr_palette_fade_out( gr_palette, 32, 0 ); game_flush_inputs(); } #endif