X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fbakapee.c;h=65af23a3a7628a4e204a38a26e829219a1bc61d2;hb=05b59a2be57557408dada7c2134c406c073e424c;hp=90ff502d6882e8c17a2cb95db5cae7be0f7e268a;hpb=6b585194480dbbfb1ca8ae9d4564418b24e79d48;p=16.git diff --git a/src/lib/bakapee.c b/src/lib/bakapee.c old mode 100644 new mode 100755 index 90ff502d..65af23a3 --- a/src/lib/bakapee.c +++ b/src/lib/bakapee.c @@ -51,21 +51,21 @@ void cls(page_t *page, byte color, byte *Where) //color ‚Ä‚·‚Æ void colortest(page_t *page, bakapee_t *pee) { - if(pee->gq < 256) - { - cls(page, pee->gq, VGA); - pee->gq++; - }else pee->gq = 0; + //if(pee->coor < 256) + //{ + cls(page, pee->coor, VGA); + pee->coor++; + //}else pee->coor = 0; } //color ‚Ä‚·‚Æ void colorz(page_t *page, bakapee_t *pee) { - if(pee->gq <= HGQ) + if(pee->coor <= HGQ) { - cls(page, pee->gq, VGA); - pee->gq++; - }else pee->gq = LGQ; + cls(page, pee->coor, VGA); + pee->coor++; + }else pee->coor = LGQ; } //slow spectrum down @@ -76,7 +76,8 @@ void ssd(page_t *page, bakapee_t *pee, word svq) if(pee->sx < SCREEN_WIDTH+1) { //mxPutPixel(sx, sy, coor); - printf("%d %d %d %d\n", pee->sx, pee->sy, svq, pee->coor); + //printf("%d %d %d %d\n", pee->sx, pee->sy, svq, pee->coor); + dingpp(page, pee); pee->sx++; }else pee->sx = 0; if(pee->sx == SCREEN_WIDTH) @@ -114,7 +115,7 @@ void dingo(bakapee_t *pee) void dingas(bakapee_t *pee) { - if(pee->qq == BONK) dingu(pee); + if(pee->gq == BONK) dingu(pee); if(!pee->bakax) { #ifdef TILE @@ -154,12 +155,24 @@ void dingu(bakapee_t *pee) if(pee->coor < HGQ && pee->coor < LGQ) pee->coor = LGQ; if(pee->coor < HGQ) { - pee->qq++; pee->coor++; - }else{ pee->coor = LGQ; - pee->qq = 0; - pee->bakax = rand()%3; pee->bakay = rand()%3; + }else{ + pee->coor = LGQ; + } +} + +void dingq(bakapee_t *pee) +{ + if(pee->gqgq++; + } + else + { + dingu(pee); + pee->gq = 0; } + pee->bakax = rand()%3; pee->bakay = rand()%3; } /*-----------ding-------------*/ @@ -171,75 +184,60 @@ void ding(page_t *page, bakapee_t *pee, word q) switch(q) { case 1: - if(pee->qqxx==SCREEN_WIDTH){pee->bakax=0;} - if(pee->xx==0){pee->bakax=1;} - if(pee->yy==SCREEN_HEIGHT){pee->bakay=0;} - if(pee->yy==0){pee->bakay=1;} - pee->qq++; - }else pee->qq = 0; + dingq(pee); + if(pee->xx==SCREEN_WIDTH){pee->bakax=0;} + if(pee->xx==0){pee->bakax=1;} + if(pee->yy==SCREEN_HEIGHT){pee->bakay=0;} + if(pee->yy==0){pee->bakay=1;} break; case 2: - if(pee->qqwidth, (rand()*TILEWH)%(page->height), TILEWH, TILEWH, 0); + modexClearRegion(page, (rand()*TILEWH)%page->width, (rand()*TILEWH)%(page->height), TILEWH, TILEWH, 0); #else - modexputPixel(page, rand()%page->width, rand()%page->height, 0); + modexputPixel(page, rand()%page->width, rand()%page->height, 0); #endif - pee->bakax = rand()%3; pee->bakay = rand()%3; - pee->qq++; - }else pee->qq = 0; break; case 3: - if(pee->qqxx!=SCREEN_WIDTH||pee->yy!=SCREEN_HEIGHT) { - if(pee->xx!=SCREEN_WIDTH||pee->yy!=SCREEN_HEIGHT) - { - if(pee->xx==0){pee->bakax=1;pee->bakay=-1;d3y=1;} - if(pee->yy==0){pee->bakax=1;pee->bakay=0;d3y=1;} - if(pee->xx==SCREEN_WIDTH){pee->bakax=-1;pee->bakay=-1;d3y=1;} - if(pee->yy==SCREEN_HEIGHT){pee->bakax=1;pee->bakay=0;d3y=1;} - }else if(pee->xx==SCREEN_WIDTH&&pee->yy==SCREEN_HEIGHT) pee->xx=pee->yy=0; - if(d3y) - { - if(pee->bakay<0) - { - pee->yy--; - d3y--; - }else - if(pee->bakay>0) - { - pee->yy++; - d3y--; - } - } - if(pee->bakax<0) + if(pee->xx==0){pee->bakax=1;pee->bakay=-1;d3y=1;} + if(pee->yy==0){pee->bakax=1;pee->bakay=0;d3y=1;} + if(pee->xx==SCREEN_WIDTH){pee->bakax=-1;pee->bakay=-1;d3y=1;} + if(pee->yy==SCREEN_HEIGHT){pee->bakax=1;pee->bakay=0;d3y=1;} + }else if(pee->xx==SCREEN_WIDTH&&pee->yy==SCREEN_HEIGHT) pee->xx=pee->yy=0; + if(d3y) + { + if(pee->bakay<0) { - pee->xx--; + pee->yy--; + d3y--; }else - if(pee->bakax>0) + if(pee->bakay>0) { - pee->xx++; + pee->yy++; + d3y--; } - pee->qq++; - }else pee->qq = 0; + } + if(pee->bakax<0) + { + pee->xx--; + }else + if(pee->bakax>0) + { + pee->xx++; + } + dingpp(page, pee); //plot the pixel/tile break; case 4: - if(pee->qqbakax = rand()%3; pee->bakay = rand()%3; - pee->qq++; - }else pee->qq = 0; + dingq(pee); + dingas(pee); + dingo(pee); + dingpp(page, pee); //plot the pixel/tile break; case 5: colortest(page, pee); @@ -249,22 +247,22 @@ void ding(page_t *page, bakapee_t *pee, word q) cls(page, pee->coor, VGA); break; case 7: - if(pee->gq <= HGQ) + if(pee->coor <= HGQ) { ssd(page, pee, q); - pee->gq++; - }else pee->gq = LGQ; + pee->coor++; + }else pee->coor = LGQ; break; case 8: colorz(page, pee); modexprint(page, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, 1, 47, 0, "bakapi"); break; case 9: - if(pee->gq <= HGQ) + if(pee->coor <= HGQ) { - ssd(page, pee, q); pee->coor++; - pee->gq++; - }else pee->gq = LGQ; + ssd(page, pee, q); + pee->coor++; + }else pee->coor = LGQ; break; case 10: ssd(page, pee, q); /*printf("%d\n", pee->coor);*/ @@ -274,26 +272,21 @@ void ding(page_t *page, bakapee_t *pee, word q) break; case 16: //interesting effects - if(pee->qqbakax){ pee->xx--;} - else if(pee->bakax>0){ pee->xx++; } - if(!pee->bakay){ pee->yy--;} - else if(pee->bakay>0){ pee->yy++; } - dingu(pee); - dingas(pee); - tx+=pee->xx+TILEWH+4; - ty+=pee->yy+TILEWH+4; - modexClearRegion(page, tx, ty, 4, 4, pee->coor); + dingq(pee); + if(!pee->bakax){ pee->xx--;} + else if(pee->bakax>0){ pee->xx++; } + if(!pee->bakay){ pee->yy--;} + else if(pee->bakay>0){ pee->yy++; } + dingas(pee); + tx+=pee->xx+TILEWH+4; + ty+=pee->yy+TILEWH+4; + modexClearRegion(page, tx, ty, 4, 4, pee->coor); #ifdef TILE - modexClearRegion(page, (rand()*TILEWH)%page->width, (rand()*TILEWH)%(page->height), TILEWH, TILEWH, 0); + modexClearRegion(page, (rand()*TILEWH)%page->width, (rand()*TILEWH)%(page->height), TILEWH, TILEWH, 0); #else - modexputPixel(page, rand()%page->width, rand()%(page->height), 0); + modexputPixel(page, rand()%page->width, rand()%(page->height), 0); #endif - pee->bakax = rand()%3; pee->bakay = rand()%3; - //printf("%d %d %d %d %d %d\n", pee->xx, pee->yy, tx, ty, TILEWH); - pee->qq++; - }else pee->qq = 0; + //printf("%d %d %d %d %d %d\n", pee->xx, pee->yy, tx, ty, TILEWH); break; default: break;