Difference for editor/seguvs.c from version 1.1 to 1.2


version 1.1 version 1.2
Line 19
 
Line 19
  * u,v coordinate computation for segment faces   * u,v coordinate computation for segment faces
  *    *
  * $Log$   * $Log$
  * Revision 1.1  1999/06/14 22:04:31  donut   * Revision 1.2  2003/03/09 06:34:09  donut
  * Initial revision   * change byte typedef to sbyte to avoid conflict with win32 byte which is unsigned
    *
    * Revision 1.1.1.1  1999/06/14 22:04:31  donut
    * Import of d1x 1.37 source.
  *   *
  * Revision 2.1  1995/05/08  10:49:34  mike   * Revision 2.1  1995/05/08  10:49:34  mike
  * fix lighting bug: oblong segments could be very dark.   * fix lighting bug: oblong segments could be very dark.
Line 254
 
Line 257
  for (sidenum=0; sidenum < MAX_SIDES_PER_SEGMENT; sidenum++) {   for (sidenum=0; sidenum < MAX_SIDES_PER_SEGMENT; sidenum++) {
  if (!IS_CHILD(segp->children[sidenum])) {   if (!IS_CHILD(segp->children[sidenum])) {
  side *sidep = &segp->sides[sidenum];   side *sidep = &segp->sides[sidenum];
  byte *vp = Side_to_verts[sidenum];   sbyte *vp = Side_to_verts[sidenum];
  int v;   int v;
   
  for (v=0; v<4; v++)   for (v=0; v<4; v++)
Line 303
 
Line 306
  for (sidenum=0; sidenum < MAX_SIDES_PER_SEGMENT; sidenum++) {   for (sidenum=0; sidenum < MAX_SIDES_PER_SEGMENT; sidenum++) {
  if (!IS_CHILD(segp->children[sidenum])) {   if (!IS_CHILD(segp->children[sidenum])) {
  side *sidep = &segp->sides[sidenum];   side *sidep = &segp->sides[sidenum];
  byte *vp = Side_to_verts[sidenum];   sbyte *vp = Side_to_verts[sidenum];
  int v;   int v;
   
  for (v=0; v<4; v++)   for (v=0; v<4; v++)
Line 369
 
Line 372
  for (si=0; si<MAX_SIDES_PER_SEGMENT; si++) {   for (si=0; si<MAX_SIDES_PER_SEGMENT; si++) {
  if (!IS_CHILD(segp->children[si])) {   if (!IS_CHILD(segp->children[si])) {
  side *sidep = &segp->sides[si];   side *sidep = &segp->sides[si];
  byte *vp = Side_to_verts[si];   sbyte *vp = Side_to_verts[si];
  int vv;   int vv;
   
  for (vv=0; vv<4; vv++)   for (vv=0; vv<4; vv++)
Line 406
 
Line 409
  wid_result = WALL_IS_DOORWAY(segp, sidenum);   wid_result = WALL_IS_DOORWAY(segp, sidenum);
  if ((wid_result != WID_FLY_FLAG) && (wid_result != WID_NO_WALL)) {   if ((wid_result != WID_FLY_FLAG) && (wid_result != WID_NO_WALL)) {
  side *sidep = &segp->sides[sidenum];   side *sidep = &segp->sides[sidenum];
  byte *vp = Side_to_verts[sidenum];   sbyte *vp = Side_to_verts[sidenum];
  int v;   int v;
   
  for (v=0; v<4; v++)   for (v=0; v<4; v++)
Line 507
 
Line 510
 // vms_vector tvec;  // vms_vector tvec;
 // fix dist_ratios[MAX_VERTICES_PER_POLY];  // fix dist_ratios[MAX_VERTICES_PER_POLY];
  side *sidep = &segp->sides[sidenum];   side *sidep = &segp->sides[sidenum];
 // byte *vp = Side_to_verts[sidenum];  // sbyte *vp = Side_to_verts[sidenum];
   
 // This next hunk doesn't seem to affect anything. @mk, 02/13/94  // This next hunk doesn't seem to affect anything. @mk, 02/13/94
 // for (v=1; v<4; v++) {  // for (v=1; v<4; v++) {
Line 656
 
Line 659
  vms_matrix rotmat;   vms_matrix rotmat;
  uvl uvls[4],ruvmag,fuvmag,uvlo,uvhi;   uvl uvls[4],ruvmag,fuvmag,uvlo,uvhi;
  fix fmag,mag01;   fix fmag,mag01;
  byte *vp;   sbyte *vp;
   
  Assert( (va<4) && (vb<4) );   Assert( (va<4) && (vb<4) );
  Assert((abs(va - vb) == 1) || (abs(va - vb) == 3)); // make sure the verticies specify an edge   Assert((abs(va - vb) == 1) || (abs(va - vb) == 3)); // make sure the verticies specify an edge
   
  vp = (byte *)&Side_to_verts[sidenum];   vp = (sbyte *)&Side_to_verts[sidenum];
   
  // We want vlo precedes vhi, ie vlo < vhi, or vlo = 3, vhi = 0   // We want vlo precedes vhi, ie vlo < vhi, or vlo = 3, vhi = 0
  if (va == ((vb + 1) % 4)) { // va = vb + 1   if (va == ((vb + 1) % 4)) { // va = vb + 1
Line 766
 
Line 769
 void assign_default_uvs_to_side(segment *segp,int side)  void assign_default_uvs_to_side(segment *segp,int side)
 {  {
  uvl uv0,uv1;   uvl uv0,uv1;
  byte *vp;   sbyte *vp;
   
  uv0.u = 0;   uv0.u = 0;
  uv0.v = 0;   uv0.v = 0;
Line 1047
 
Line 1050
   
 }  }
   
 byte Edge_between_sides[MAX_SIDES_PER_SEGMENT][MAX_SIDES_PER_SEGMENT][2] = {  sbyte Edge_between_sides[MAX_SIDES_PER_SEGMENT][MAX_SIDES_PER_SEGMENT][2] = {
 // left top right bottom back front  // left top right bottom back front
  { {-1,-1}, { 3, 7}, {-1,-1}, { 2, 6}, { 6, 7}, { 2, 3} }, // left   { {-1,-1}, { 3, 7}, {-1,-1}, { 2, 6}, { 6, 7}, { 2, 3} }, // left
  { { 3, 7}, {-1,-1}, { 0, 4}, {-1,-1}, { 4, 7}, { 0, 3} }, // top   { { 3, 7}, {-1,-1}, { 0, 4}, {-1,-1}, { 4, 7}, { 0, 3} }, // top
Line 1238
 
Line 1241
 //int Bugseg = 27;  //int Bugseg = 27;
   
 typedef struct {  typedef struct {
  byte flag, hit_type;   sbyte flag, hit_type;
  vms_vector vector;   vms_vector vector;
 } hash_info;  } hash_info;
   

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