X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_vlpal.c;h=ce3ecaa13d178e290ec08c26c7dae3a0b58d7eae;hb=8a2cf4fec36d635b38c6f57711fcbc70e3e917da;hp=2f155f03a43256587a2878aa9c913be79be9d6ab;hpb=16cb74317c1591986b9d856beb4c70ce875db179;p=16.git diff --git a/src/lib/16_vlpal.c b/src/lib/16_vlpal.c index 2f155f03..ce3ecaa1 100755 --- a/src/lib/16_vlpal.c +++ b/src/lib/16_vlpal.c @@ -24,12 +24,12 @@ //color checker~ //i want to make another vesion that checks the palette when the palette is being appened~ -void modexchkcolor(imgtestpal_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/) +void modexchkcolor(imgtestpal_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/, global_game_variables_t *gv) { - byte *pal; + byte *pal=&(gv->video.palette); word zz=0; - pal = modexNewPal(); - modexPalSave(pal); + //pal = modexNewPal(); +// modexPalSave(pal); CHKCOLDBGOUT1 //check palette for dups for(; (*z)palette; word w=0; word q=0; word qq=0; - static word a[PAL_SIZE]; //palette array of change values! - word z=0, aq=0, aa=0, pp=0; + word a[PAL_SIZE]; //palette array of change values! + word z=0, aq=0, aa=0, pp=0, iq=0;//iq=(*i)-q //modexWaitBorder(); vga_wait_for_vsync(); @@ -122,6 +125,7 @@ VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset) printf("qq: %02d\n", (qq));// printf(" (*i)-q=%02d\n", (*i)-q);// #endif + iq=(*i)-q; outp(PAL_WRITE_REG, qq); /* start at the beginning of palette */ } if((*i)0)&&((*i)-q)%3==0 && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) outp(PAL_DATA_REG, p[(*i)-q]); else - if(((((*i)-q)%3==0)) && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) +//____ if((qp>0)&&(iq)%3==0 && (p[(iq)]==p[(iq)+3] && p[(iq)+1]==p[(iq)+4] && p[(iq)+2]==p[(iq)+5])) outp(PAL_DATA_REG, p[iq]); else + if((((iq)%3==0)) && (p[(iq)]==p[(iq)+3] && p[(iq)+1]==p[(iq)+4] && p[(iq)+2]==p[(iq)+5])) { w++; break; @@ -149,7 +153,7 @@ VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset) { if(bmp->offset==0 && (*i)<3 && q==0) outp(PAL_DATA_REG, 0); else - if(qp==0) outp(PAL_DATA_REG, p[(*i)-q]); + if(qp==0) outp(PAL_DATA_REG, p[iq]); else { outp(PAL_DATA_REG, p[((*i)-(bmp->offset*3)+qp)]); #ifdef BEVERBOSEPALCHECK @@ -179,7 +183,7 @@ VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset) printf("1(*i)=%02d\n", (*i)/3);// printf("1z=%02d\n", z/3);// #endif - modexchkcolor(bmp, &q, &a, &aa, &z, i); + modexchkcolor(bmp, &q, &a, &aa, &z, i, gv); #ifdef BEVERBOSEPALCHECK printf("2(*i)=%02d\n", (*i)/3); printf("2z=%02d\n", z/3); @@ -189,7 +193,7 @@ aqpee: while(aq<=aa) { #ifdef BEVERBOSEPALCHECK - printf("a[%02d]=(%d)\n", aq, a[aq]);// +// printf("a[%02d]=(%d)\n", aq, a[aq]);//0000 #endif if(a[aq]==-1) aq++; else { aqoffset++; break; } @@ -253,7 +257,7 @@ printf(" aq=%02d\n", aq);// printf(" aa=%02d\n", aa);// #endif //update the palette~ - VL_palette(bmp, p, &pp, aq, aqoffset); + VL_palette(bmp, p, &pp, aq, aqoffset, &a, gv); (*i)=pp; if(aq