Diff for /np2/lio/gline.c between versions 1.1.1.1 and 1.4

version 1.1.1.1, 2003/10/16 17:58:27 version 1.4, 2004/02/20 15:20:30
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "i286.h"  #include        "cpucore.h"
 #include        "memory.h"  
 #include        "lio.h"  #include        "lio.h"
   
   
Line 17  typedef struct { Line 16  typedef struct {
         BYTE    patleng;          BYTE    patleng;
         BYTE    off[2];          BYTE    off[2];
         BYTE    seg[2];          BYTE    seg[2];
 } MEMGLINE;  } GLINE;
   
   
 static void nor_linebox(SINT16 x1, SINT16 y1,  static void nor_linebox(const _LIOWORK *lio, SINT16 x1, SINT16 y1,
                                                                                         SINT16 x2, SINT16 y2, BYTE pal) {                                                                                          SINT16 x2, SINT16 y2, REG8 pal) {
   
         lio_line(x1, x2, y1, pal);          lio_line(lio, x1, x2, y1, pal);
         if (y1 != y2) {          if (y1 != y2) {
                 lio_line(x1, x2, y2, pal);                  lio_line(lio, x1, x2, y2, pal);
         }          }
         for (; y1<y2; y1++) {          for (; y1<y2; y1++) {
                 lio_pset(x1, y1, pal);                  lio_pset(lio, x1, y1, pal);
                 lio_pset(x2, y1, pal);                  lio_pset(lio, x2, y1, pal);
         }          }
 }  }
   
 static void nor_lineboxfill(SINT16 x1, SINT16 y1,  static void nor_lineboxfill(const _LIOWORK *lio, SINT16 x1, SINT16 y1,
                                                                                         SINT16 x2, SINT16 y2, BYTE pal) {                                                                                          SINT16 x2, SINT16 y2, REG8 pal) {
   
         for (; y1<=y2; y1++) {          for (; y1<=y2; y1++) {
                 lio_line(x1, x2, y1, pal);                  lio_line(lio, x1, x2, y1, pal);
         }          }
 }  }
   
 BYTE lio_gline(void) {  
   
         MEMGLINE        dat;  // ----
         SINT16          x1;  
         SINT16          y1;  
         SINT16          x2;  
         SINT16          y2;  
   
         i286_memstr_read(I286_DS, I286_BX, &dat, sizeof(dat));  REG8 lio_gline(LIOWORK lio) {
   
           GLINE   dat;
           SINT16  x1;
           SINT16  y1;
           SINT16  x2;
           SINT16  y2;
   
           lio_updaterange(lio);
           i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));
         if (dat.pal == 0xff) {          if (dat.pal == 0xff) {
                 dat.pal = lio.gcolor1.fgcolor;                  dat.pal = lio->gcolor1.fgcolor;
         }          }
         else if (dat.pal >= lio.gcolor1.palmax) {          else if (dat.pal >= lio->gcolor1.palmax) {
                 return(5);                  return(5);
         }          }
         x1 = (SINT16)LOADINTELWORD(dat.x1);          x1 = (SINT16)LOADINTELWORD(dat.x1);
Line 65  BYTE lio_gline(void) { Line 68  BYTE lio_gline(void) {
                         break;                          break;
   
                 case 1:                  case 1:
                         nor_linebox(x1, y1, x2, y2, dat.pal);                          nor_linebox(lio, x1, y1, x2, y2, dat.pal);
                         break;                          break;
   
                 case 2:                  case 2:
                         nor_lineboxfill(x1, y1, x2, y2, dat.pal);                          nor_lineboxfill(lio, x1, y1, x2, y2, dat.pal);
                         break;                          break;
   
                 default:                  default:

Removed from v.1.1.1.1  
changed lines
  Added in v.1.4


RetroPC.NET-CVS <cvs@retropc.net>