X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=blobdiff_plain;f=src%2Flib%2F16_vlpal.c;h=691171808dcac8a43a8e43d0d7f3f98d5b687183;hp=87664c77484038fb7a92f7fbae5587d20653e909;hb=ce1c7884eb2b6e2e3b468a7f661abd2962a15122;hpb=194d511cb31136b77f3ea330c55f245cd6e09f36 diff --git a/src/lib/16_vlpal.c b/src/lib/16_vlpal.c index 87664c77..69117180 100755 --- a/src/lib/16_vlpal.c +++ b/src/lib/16_vlpal.c @@ -24,67 +24,41 @@ //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); -#ifdef BEVERBOSEPALCHECK - printf("q: %02d\n", (*q));// - - printf("chkcolor start~\n"); - printf("1 (*z): %d\n", (*z)/3); - printf("1 (*i): %d\n", (*i)/3); - printf("1 offset of color in palette (*q): %d\n", (*q)/3);// - printf("wwwwwwwwwwwwwwww\n"); -#endif + //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(); @@ -165,13 +127,14 @@ VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset) #endif outp(PAL_WRITE_REG, qq); /* start at the beginning of palette */ } + iq=(*i)-q; 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; @@ -190,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 @@ -220,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); @@ -230,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; } @@ -294,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