Diff for /np2/lio/gline.c between versions 1.5 and 1.6

version 1.5, 2004/02/21 00:25:33 version 1.6, 2004/02/21 04:48:35
Line 133  static void gline(const _LIOWORK *lio, c Line 133  static void gline(const _LIOWORK *lio, c
   
         csrw = (y1 * 40) + (x1 >> 4) + ((x1 & 0xf) << 20);          csrw = (y1 * 40) + (x1 >> 4) + ((x1 & 0xf) << 20);
         gdcsub_setvectl(&vect, x1, y1, x2, y2);          gdcsub_setvectl(&vect, x1, y1, x2, y2);
         if (lio->scrn.plane & 0x80) {          if (!(lio->draw.flag & LIODRAW_MONO)) {
                 gdcsub_vectl(csrw + 0x4000, &vect, pat,                  gdcsub_vectl(csrw + 0x4000, &vect, pat,
                                                                         (lp->pal & 1)?GDCOPE_SET:GDCOPE_CLEAR);                                                          (REG8)((lp->pal & 1)?GDCOPE_SET:GDCOPE_CLEAR));
                 gdcsub_vectl(csrw + 0x8000, &vect, pat,                  gdcsub_vectl(csrw + 0x8000, &vect, pat,
                                                                         (lp->pal & 2)?GDCOPE_SET:GDCOPE_CLEAR);                                                          (REG8)((lp->pal & 2)?GDCOPE_SET:GDCOPE_CLEAR));
                 gdcsub_vectl(csrw + 0xc000, &vect, pat,                  gdcsub_vectl(csrw + 0xc000, &vect, pat,
                                                                         (lp->pal & 4)?GDCOPE_SET:GDCOPE_CLEAR);                                                          (REG8)((lp->pal & 4)?GDCOPE_SET:GDCOPE_CLEAR));
                 if (lio->gcolor1.palmode == 2) {                  if (lio->palmode == 2) {
                         gdcsub_vectl(csrw, &vect, pat,                          gdcsub_vectl(csrw, &vect, pat,
                                                                         (lp->pal & 8)?GDCOPE_SET:GDCOPE_CLEAR);                                                          (REG8)((lp->pal & 8)?GDCOPE_SET:GDCOPE_CLEAR));
                 }                  }
         }          }
         else {          else {
                 csrw += ((lio->scrn.plane + 1) & 3) << 12;                  csrw += ((lio->draw.flag + 1) & LIODRAW_PMASK) << 12;
                 gdcsub_vectl(csrw, &vect, pat, (lp->pal)?GDCOPE_SET:GDCOPE_CLEAR);                  gdcsub_vectl(csrw, &vect, pat,
                                                                   (REG8)((lp->pal)?GDCOPE_SET:GDCOPE_CLEAR));
         }          }
 }  }
   
Line 190  REG8 lio_gline(LIOWORK lio) { Line 191  REG8 lio_gline(LIOWORK lio) {
         lio_updatedraw(lio);          lio_updatedraw(lio);
         i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));          i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));
         if (dat.pal == 0xff) {          if (dat.pal == 0xff) {
                 lp.pal = lio->gcolor1.fgcolor;                  lp.pal = lio->mem.fgcolor;
         }          }
         else {          else {
                 lp.pal = dat.pal;                  lp.pal = dat.pal;
         }          }
         if (lp.pal >= lio->gcolor1.palmax) {          if (lp.pal >= lio->draw.palmax) {
                 return(LIO_ILLEGALFUNC);                  return(LIO_ILLEGALFUNC);
         }          }
         lp.x1 = (SINT16)LOADINTELWORD(dat.x1);          lp.x1 = (SINT16)LOADINTELWORD(dat.x1);
Line 212  REG8 lio_gline(LIOWORK lio) { Line 213  REG8 lio_gline(LIOWORK lio) {
   
   
         if (dat.pal == 0xff) {          if (dat.pal == 0xff) {
                 dat.pal = lio->gcolor1.fgcolor;                  dat.pal = lio->mem.fgcolor;
         }          }
         else if (dat.pal >= lio->gcolor1.palmax) {          else if (dat.pal >= lio->draw.palmax) {
                 return(5);                  return(5);
         }          }
         x1 = (SINT16)LOADINTELWORD(dat.x1);          x1 = (SINT16)LOADINTELWORD(dat.x1);
Line 223  REG8 lio_gline(LIOWORK lio) { Line 224  REG8 lio_gline(LIOWORK lio) {
         y2 = (SINT16)LOADINTELWORD(dat.y2);          y2 = (SINT16)LOADINTELWORD(dat.y2);
         switch(dat.type) {          switch(dat.type) {
                 case 0:                  case 0:
 //                      gline0();                          gline(lio, &lp);
                         break;                          break;
   
                 case 1:                  case 1:

Removed from v.1.5  
changed lines
  Added in v.1.6


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