Difference for main/gameseg.c from version 1.3 to 1.4


version 1.3 version 1.4
Line 19
 
Line 19
  * Functions moved from segment.c to make editor separable from game.   * Functions moved from segment.c to make editor separable from game.
  *    *
  * $Log$   * $Log$
    * Revision 1.4  2000/01/19 04:48:37  sekmu
    * added debug info for illegal side type
    *
  * Revision 1.3  1999/09/21 07:24:39  sekmu   * Revision 1.3  1999/09/21 07:24:39  sekmu
  * remove nonreturnpath warning   * remove nonreturnpath warning
  *   *
Line 368
 
Line 371
  //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()   //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()
  break;   break;
  default:   default:
                         Error("Illegal side type(1), type = %i, segment # = %i, side # = %i\n", sidep->type, segnum, sidenum);                          Error("Illegal side type(1), type = %i, segment # = %i, side # = %i\n Please report this bug.\n", sidep->type, segnum, sidenum);
  break;   break;
  }   }
   
Line 426
 
Line 429
  //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()   //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()
  break;   break;
  default:   default:
                         Error("Illegal side type(2), type = %i, segment # = %i, side # = %i\n", sidep->type, segnum, sidenum);                          Error("Illegal side type(2), type = %i, segment # = %i, side # = %i\n Please report this bug.\n", sidep->type, segnum, sidenum);
  break;   break;
  }   }
   
Line 434
 
Line 437
   
 // -----  // -----
 //like create_all_vertex_lists(), but generate absolute point numbers  //like create_all_vertex_lists(), but generate absolute point numbers
 void create_abs_vertex_lists(int *num_faces, int *vertices, int segnum, int sidenum)  void create_abs_vertex_lists(int *num_faces, int *vertices, int segnum, int sidenum,  char *calling_file, int calling_linenum)
 {  {
  short *vp = Segments[segnum].verts;   short *vp = Segments[segnum].verts;
  side *sidep = &Segments[segnum].sides[sidenum];   side *sidep = &Segments[segnum].sides[sidenum];
Line 481
 
Line 484
  //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()   //CREATE_ABS_VERTEX_LISTS(), CREATE_ALL_VERTEX_LISTS(), CREATE_ALL_VERTNUM_LISTS()
  break;   break;
  default:   default:
                         Error("Illegal side type(3), type = %i, segment # = %i, side # = %i\n", sidep->type, segnum, sidenum);                          Error("Illegal side type(3), type = %i, segment # = %i, side # = %i caller:%s:%i\n Please report this bug.\n", sidep->type, segnum, sidenum ,calling_file,calling_linenum);
  break;   break;
  }   }
   
Line 516
 
Line 519
  // Get number of faces on this side, and at vertex_list, store vertices.   // Get number of faces on this side, and at vertex_list, store vertices.
  // If one face, then vertex_list indicates a quadrilateral.   // If one face, then vertex_list indicates a quadrilateral.
  // If two faces, then 0,1,2 define one triangle, 3,4,5 define the second.   // If two faces, then 0,1,2 define one triangle, 3,4,5 define the second.
  create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn);                  create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn, __FILE__, __LINE__);
   
  //ok...this is important.  If a side has 2 faces, we need to know if   //ok...this is important.  If a side has 2 faces, we need to know if
  //those faces form a concave or convex side.  If the side pokes out,   //those faces form a concave or convex side.  If the side pokes out,
Line 661
 
Line 664
  // Get number of faces on this side, and at vertex_list, store vertices.   // Get number of faces on this side, and at vertex_list, store vertices.
  // If one face, then vertex_list indicates a quadrilateral.   // If one face, then vertex_list indicates a quadrilateral.
  // If two faces, then 0,1,2 define one triangle, 3,4,5 define the second.   // If two faces, then 0,1,2 define one triangle, 3,4,5 define the second.
  create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn);                  create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn, __FILE__, __LINE__);
   
  //ok...this is important.  If a side has 2 faces, we need to know if   //ok...this is important.  If a side has 2 faces, we need to know if
  //those faces form a concave or convex side.  If the side pokes out,   //those faces form a concave or convex side.  If the side pokes out,
Line 813
 
Line 816
   
  s = &seg->sides[sidenum];   s = &seg->sides[sidenum];
   
  create_abs_vertex_lists( &num_faces, vertex_list, segnum, sidenum);                          create_abs_vertex_lists( &num_faces, vertex_list, segnum, sidenum, __FILE__, __LINE__);
   
  csegnum = seg->children[sidenum];   csegnum = seg->children[sidenum];
   
Line 829
 
Line 832
   
  cs = &cseg->sides[csidenum];   cs = &cseg->sides[csidenum];
   
  create_abs_vertex_lists( &con_num_faces, con_vertex_list, csegnum, csidenum);                                  create_abs_vertex_lists( &con_num_faces, con_vertex_list, csegnum, csidenum, __FILE__, __LINE__);
   
  if (con_num_faces != num_faces) {   if (con_num_faces != num_faces) {
  mprintf((0,"Seg %x, side %d: num_faces (%d) mismatch with seg %x, side %d (%d)\n",segnum,sidenum,num_faces,csegnum,csidenum,con_num_faces));   mprintf((0,"Seg %x, side %d: num_faces (%d) mismatch with seg %x, side %d (%d)\n",segnum,sidenum,num_faces,csegnum,csidenum,con_num_faces));
Line 1679
 
Line 1682
  int vertnum;   int vertnum;
  side *s;   side *s;
   
  create_abs_vertex_lists( &num_faces, vertex_list, sp-Segments, sidenum);                          create_abs_vertex_lists( &num_faces, vertex_list, sp-Segments, sidenum, __FILE__, __LINE__);
   
  Assert(num_faces == 2);   Assert(num_faces == 2);
   

Legend:
line(s) removed in v.1.3 
line(s) changed
 line(s) added in v.1.4