Difference for main/netlist.c from version 1.1 to 1.2


version 1.1 version 1.2
Line 51
 
Line 51
   grs_canvas * menu_canvas;    grs_canvas * menu_canvas;
   grs_bitmap * saved; // The background under the menu.    grs_bitmap * saved; // The background under the menu.
   grs_bitmap * background;    grs_bitmap * background;
     int background_is_sub;
 } bkg;  } bkg;
   
 extern grs_bitmap nm_background;  extern grs_bitmap nm_background;
Line 129
 
Line 130
  }   }
 }  }
   
   int network_menu_hskip=4;
 int network_menu_width[LINE_ITEMS] = { 10, 6, 72, 37, 38, 66, 25, 40 };  int network_menu_width[LINE_ITEMS] = { 10, 6, 72, 37, 38, 66, 25, 40 };
   int ref_network_menu_width[LINE_ITEMS] = { 10, 6, 72, 37, 38, 66, 25, 40 };
 char *network_menu_title[LINE_ITEMS] = { "", "", "Game", "Mode", "#Plrs", "Mission", "Lev", "Status" };  char *network_menu_title[LINE_ITEMS] = { "", "", "Game", "Mode", "#Plrs", "Mission", "Lev", "Status" };
   
 static int selected_game;  static int selected_game;
Line 174
 
Line 177
  draw_item(bg, lis[i], i == selected_game);   draw_item(bg, lis[i], i == selected_game);
  }   }
 }  }
   
 static void init_background(bkg *bg, int x, int y, int w, int h) {  static void init_background(bkg *bg, int x, int y, int w, int h) {
  bg->menu_canvas = gr_create_sub_canvas( &grd_curscreen->sc_canvas, x, y, w, h );   bg->menu_canvas = gr_create_sub_canvas( &grd_curscreen->sc_canvas, x, y, w, h );
  gr_set_current_canvas( bg->menu_canvas );   gr_set_current_canvas( bg->menu_canvas );
Line 185
 
Line 187
  gr_bm_bitblt(w, h, 0, 0, 0, 0, &grd_curcanv->cv_bitmap, bg->saved );   gr_bm_bitblt(w, h, 0, 0, 0, 0, &grd_curcanv->cv_bitmap, bg->saved );
  gr_set_current_canvas( NULL );   gr_set_current_canvas( NULL );
  nm_draw_background(x,y,x+w-1,y+h-1);   nm_draw_background(x,y,x+w-1,y+h-1);
    if (w > nm_background.bm_w || h > nm_background.bm_h){
    bg->background=gr_create_bitmap(w,h);
    gr_bitmap_scale_to(&nm_background,bg->background);
    bg->background_is_sub=0;
    }else{
  bg->background = gr_create_sub_bitmap(&nm_background,0,0,w,h);   bg->background = gr_create_sub_bitmap(&nm_background,0,0,w,h);
    bg->background_is_sub=1;
    }
  gr_set_current_canvas( bg->menu_canvas );   gr_set_current_canvas( bg->menu_canvas );
 }  }
   
Line 193
 
Line 202
  gr_set_current_canvas(bg->menu_canvas);   gr_set_current_canvas(bg->menu_canvas);
  gr_bitmap(0, 0, bg->saved);    gr_bitmap(0, 0, bg->saved);
  gr_free_bitmap(bg->saved);   gr_free_bitmap(bg->saved);
  free( bg->background );   if (bg->background_is_sub)
    gr_free_sub_bitmap( bg->background );
    else
    gr_free_bitmap( bg->background );
  gr_free_sub_canvas( bg->menu_canvas );   gr_free_sub_canvas( bg->menu_canvas );
 }  }
   
Line 404
 
Line 416
                     char menu_text[MAX_ACTIVE_NETGAMES][LINE_ITEMS][MAX_TEXT_LEN],                      char menu_text[MAX_ACTIVE_NETGAMES][LINE_ITEMS][MAX_TEXT_LEN],
                     struct line_item lis[MAX_ACTIVE_NETGAMES][LINE_ITEMS])                      struct line_item lis[MAX_ACTIVE_NETGAMES][LINE_ITEMS])
 {  {
  int i,j,k;   int i,j,k,yp;
   
         gr_set_current_canvas( NULL );          gr_set_current_canvas( NULL );
   
         init_background(&bg, 0, 7, grd_curcanv->cv_bitmap.bm_w,          init_background(&bg, 0, 7, grd_curcanv->cv_bitmap.bm_w,
          grd_curcanv->cv_bitmap.bm_h - 14);           grd_curcanv->cv_bitmap.bm_h - 14);
   
    yp=22;
  gr_set_curfont(Gamefonts[GFONT_BIG_1]);   gr_set_curfont(Gamefonts[GFONT_BIG_1]);
  gr_string(0x8000, 22, "Netgames");   gr_string(0x8000, yp, "Netgames");//yp was 22
    yp+=grd_curcanv->cv_font->ft_h+network_menu_hskip*3+Gamefonts[GFONT_SMALL]->ft_h;//need to account for size of current socket, drawn elsewhere
  // draw titles   // draw titles
  gr_set_curfont(Gamefonts[GFONT_SMALL]);   gr_set_curfont(Gamefonts[GFONT_SMALL]);
  gr_set_fontcolor(BM_XRGB(27, 27, 27), -1);   gr_set_fontcolor(BM_XRGB(27, 27, 27), -1);
  k = 15;   k = 15;
  for (j = 0; j < LINE_ITEMS; j++) {   for (j = 0; j < LINE_ITEMS; j++) {
  gr_ustring(k, 61, network_menu_title[j]);   gr_ustring(k, yp, network_menu_title[j]);//yp was 61
  k += network_menu_width[j];   k += network_menu_width[j];
  }   }
   
   
  for (i = 0; i < MAX_ACTIVE_NETGAMES; i++) {   for (i = 0; i < MAX_ACTIVE_NETGAMES; i++) {
                 struct line_item *li = lis[i];                  struct line_item *li = lis[i];
                 k=15;                  k=15;
   
    yp+=grd_curcanv->cv_font->ft_h+network_menu_hskip;
                  for (j = 0; j < LINE_ITEMS; j++) {                   for (j = 0; j < LINE_ITEMS; j++) {
                         li[j].x = k;                          li[j].x = k;
  li[j].y = 70 + i * 9;   li[j].y = yp;
    // li[j].y = 70 + i * 9;
  li[j].width = network_menu_width[j] - (j > 1 ? 4 : 0); // HACK!   li[j].width = network_menu_width[j] - (j > 1 ? 4 : 0); // HACK!
  k += network_menu_width[j];   k += network_menu_width[j];
  li[j].value = menu_text[i][j];   li[j].value = menu_text[i][j];
Line 451
 
Line 467
  fix t, req_timer = 0;   fix t, req_timer = 0;
    
  selected_game = 0;   selected_game = 0;
       
  gr_palette_fade_in( gr_palette, 32, 0 );   gr_palette_fade_in( gr_palette, 32, 0 );
  save_canvas = grd_curcanv;   save_canvas = grd_curcanv;
         gr_set_current_canvas( NULL );          gr_set_current_canvas( NULL );
  save_font = grd_curcanv->cv_font;   save_font = grd_curcanv->cv_font;
   
    for (k=0;k<LINE_ITEMS;k++)//scale columns to fit screen res.
    network_menu_width[k]=ref_network_menu_width[k]*grd_curcanv->cv_bitmap.bm_w/320;
    network_menu_hskip=(grd_curcanv->cv_bitmap.bm_h-Gamefonts[GFONT_BIG_1]->ft_h-22-Gamefonts[GFONT_SMALL]->ft_h*17)/17;
   
  init_background(&bg, 0, 7, grd_curcanv->cv_bitmap.bm_w,   init_background(&bg, 0, 7, grd_curcanv->cv_bitmap.bm_w,
  grd_curcanv->cv_bitmap.bm_h - 14);   grd_curcanv->cv_bitmap.bm_h - 14);
   
Line 479
 
Line 498
  while (!done) {   while (!done) {
  if (Network_socket != old_socket) {   if (Network_socket != old_socket) {
  gr_set_fontcolor(BM_XRGB(27, 27, 27), -1);   gr_set_fontcolor(BM_XRGB(27, 27, 27), -1);
  draw_back(&bg, 30, 52, 250, 9);   draw_back(&bg, 30, 22+Gamefonts[GFONT_BIG_1]->ft_h+network_menu_hskip*2, 250, Gamefonts[GFONT_SMALL]->ft_h+4);//was 52,250,9
                         gr_printf(30, 52, "Current IPX socket is %+d "   gr_printf(30, 22+Gamefonts[GFONT_BIG_1]->ft_h+network_menu_hskip*2, "Current IPX socket is %+d "
  "(PgUp/PgDn to change)", Network_socket);   "(PgUp/PgDn to change)", Network_socket);
  if (old_socket != -32768) { /* changed by user? */   if (old_socket != -32768) { /* changed by user? */
  network_listen();   network_listen();

Legend:
line(s) removed in v.1.1 
line(s) changed
 line(s) added in v.1.2