]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/bakapee.c
__seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
[16.git] / src / lib / bakapee.c
index ee209e361eb3a5897e72c2933877d4546558d488..9af09403bea7d79a0efb14bd1004226e1b4b7351 100755 (executable)
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
  *\r
  * This file is part of Project 16.\r
  *\r
@@ -42,11 +42,11 @@ void colortest(page_t *page, bakapee_t *pee)
 //color \82Ä\82·\82Æ\r
 void colorz(page_t *page, bakapee_t *pee)\r
 {\r
-       if(pee->coor <= HGQ)\r
+       if(pee->coor <= pee->hgq)\r
        {\r
                modexcls(page, pee->coor, VGA);\r
                pee->coor++;\r
-       }else pee->coor = LGQ;\r
+       }else pee->coor = pee->lgq;\r
 }\r
 \r
 //slow spectrum down\r
@@ -75,12 +75,7 @@ void dingpp(page_t *page, bakapee_t *pee)
 {\r
        if(pee->tile)\r
        {\r
-#ifndef MXLIB\r
-       //fill_block(pee->xx, pee->yy, pee->xx+TILEWH, pee->yy+TILEWH, pee->coor);\r
-               mxFillBox(pee->xx, pee->yy, TILEWH, TILEWH, pee->coor, OP_SET);\r
-#else\r
                modexClearRegion(page, pee->xx, pee->yy, TILEWH, TILEWH, pee->coor);\r
-#endif\r
        }\r
        else\r
                modexputPixel(page, pee->xx, pee->yy, pee->coor);\r
@@ -107,7 +102,7 @@ void dingo(page_t *page, bakapee_t *pee)
 //assigning values from randomizer\r
 void dingas(bakapee_t *pee)\r
 {\r
-       if(pee->gq == BONK) dingu(pee);\r
+       if(pee->gq == pee->bonk) dingu(pee);\r
        if(!pee->bakax)\r
        {\r
                if(pee->tile)\r
@@ -134,21 +129,50 @@ void dingas(bakapee_t *pee)
        }\r
 }\r
 \r
+void dingaso(bakapee_t *pee)\r
+{\r
+       if(pee->gq == pee->bonk) dingu(pee);\r
+       if(!pee->bakax)\r
+       {\r
+               if(pee->tile)\r
+               pee->xx-=TILEWH;\r
+               else pee->xx--;\r
+       }\r
+       else\r
+       {\r
+               if(pee->tile)\r
+               pee->xx+=TILEWH;\r
+               else pee->xx++;\r
+       }\r
+       if(!pee->bakay)\r
+       {\r
+               if(pee->tile)\r
+               pee->yy-=TILEWH;\r
+               else pee->yy--;\r
+       }\r
+       else\r
+       {\r
+               if(pee->tile)\r
+               pee->yy+=TILEWH;\r
+               else pee->yy++;\r
+       }\r
+}\r
+\r
 void dingu(bakapee_t *pee)\r
 {\r
-       if(pee->coor < HGQ && pee->coor < LGQ) pee->coor = LGQ;\r
-       if(pee->coor < HGQ)\r
+       if(pee->coor < pee->hgq && pee->coor < pee->lgq) pee->coor = pee->lgq;\r
+       if(pee->coor < pee->hgq)\r
        {\r
                pee->coor++;\r
        }else{\r
-               pee->coor = LGQ;\r
+               pee->coor = pee->lgq;\r
        }\r
 }\r
 \r
 //randomizer\r
 void dingq(bakapee_t *pee)\r
 {\r
-       if(pee->gq<BONK)\r
+       if(pee->gq<pee->bonk)\r
        {\r
                pee->gq++;\r
        }\r
@@ -160,20 +184,45 @@ void dingq(bakapee_t *pee)
        pee->bakax = rand()%3; pee->bakay = rand()%3;\r
 }\r
 \r
+void dingqo(bakapee_t *pee)\r
+{\r
+       if(pee->gq<pee->bonk)\r
+       {\r
+               pee->gq++;\r
+               pee->bakax = rand()%3; pee->bakay = rand()%3;\r
+       }\r
+       else\r
+       {\r
+               dingu(pee);\r
+               pee->gq = 0;\r
+       }\r
+       //either one will do wwww --4\r
+       pee->bakax = rand()&0x1; pee->bakay = rand()&0x1;\r
+       //pee->bakax = rand()%2; pee->bakay = rand()%2;\r
+}\r
+\r
 /*-----------ding-------------*/\r
 void ding(page_t *page, bakapee_t *pee, word q)\r
 {\r
-       word d3y, tx=0,ty=0;\r
+       word tx=0,ty=0;//d3y,\r
 \r
-//++++  if(q <= 4 && q!=2 && gq == BONK-1) coor = rand()%HGQ;\r
+//++++  if(q <= 4 && q!=2 && gq == pee->bonk-1) coor = rand()%pee->hgq;\r
        switch(q)\r
        {\r
-               case 1:\r
+               case 1:/*\r
                        dingq(pee);\r
                        if(pee->xx==page->sw){pee->bakax=0;}\r
                        if(pee->xx==0){pee->bakax=1;}\r
                        if(pee->yy==page->sh){pee->bakay=0;}\r
-                       if(pee->yy==0){pee->bakay=1;}\r
+                       if(pee->yy==0){pee->bakay=1;}*/\r
+                       dingqo(pee);\r
+                       dingaso(pee);\r
+                       dingo(page, pee);\r
+                       dingpp(page, pee);      //plot the pixel/tile\r
+                       if(pee->tile)\r
+                       modexClearRegion(page, (rand()*TILEWH)%page->width, (rand()*TILEWH)%(page->height), TILEWH, TILEWH, 0);\r
+                       else\r
+                       modexputPixel(page, rand()%page->width, rand()%page->height, 0);\r
                break;\r
                case 2:\r
                        dingq(pee);\r
@@ -186,7 +235,7 @@ void ding(page_t *page, bakapee_t *pee, word q)
                        modexputPixel(page, rand()%page->width, rand()%page->height, 0);\r
                break;\r
                case 3:\r
-                       dingq(pee);\r
+                       /*dingq(pee);\r
                        if(pee->xx!=page->sw||pee->yy!=page->sh)\r
                        {\r
                                if(pee->xx==0){pee->bakax=1;pee->bakay=-1;d3y=1;}\r
@@ -215,6 +264,10 @@ void ding(page_t *page, bakapee_t *pee, word q)
                        {\r
                                pee->xx++;\r
                        }\r
+                       dingpp(page, pee);      //plot the pixel/tile*/\r
+                       dingqo(pee);\r
+                       dingaso(pee);\r
+                       dingo(page, pee);\r
                        dingpp(page, pee);      //plot the pixel/tile\r
                break;\r
                case 4:\r
@@ -227,26 +280,28 @@ void ding(page_t *page, bakapee_t *pee, word q)
                        colortest(page, pee);\r
                break;\r
                case 6:\r
-                       pee->coor = rand()%256;\r
-                       modexcls(page, pee->coor, VGA);\r
+//                     pee->coor = rand()%256;\r
+//                     modexcls(page, pee->coor, VGA);\r
+                       colorz(page, pee);\r
+                       modexprint(page, page->sw/2, page->sh/2, 1, 0, 47, 0, "bakapi");\r
                break;\r
                case 7:\r
-                       if(pee->coor <= HGQ)\r
+                       if(pee->coor <= pee->hgq)\r
                        {\r
                                ssd(page, pee, q);\r
                                pee->coor++;\r
-                       }else pee->coor = LGQ;\r
+                       }else pee->coor = pee->lgq;\r
                break;\r
                case 8:\r
                        colorz(page, pee);\r
-                       modexprint(page, page->sw/2, page->sh/2, 1, 47, 0, "bakapi");\r
+                       modexprint(page, page->sw/2, page->sh/2, 1, 0, 47, 0, "bakapi");\r
                break;\r
                case 9:\r
-                       if(pee->coor <= HGQ)\r
+                       if(pee->coor <= pee->hgq)\r
                        {\r
                                ssd(page, pee, q);\r
                                pee->coor++;\r
-                       }else pee->coor = LGQ;\r
+                       }else pee->coor = pee->lgq;\r
                break;\r
                case 10:\r
                        ssd(page, pee, q); /*printf("%d\n", pee->coor);*/\r