]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/dos_gfx.cpp
modified: CORE16.EXE
[16.git] / src / lib / dos_gfx.cpp
index bb1e4cf27806894fab0c30df431266610f586ce4..fed6696e5af6891fdad872c49d9a42639abf7ff2 100644 (file)
@@ -131,7 +131,7 @@ void plotpixel(int x, int y, byte color, byte *Where){
 }\r
 \r
 // king_crimson's code\r
-void plotpixelfast(int x, int y, byte color, byte *Where) {\r
+void ppf(int x, int y, byte color, byte *Where) {\r
        byte far *vidptr;\r
        vidptr = (byte far *)(Where + y*SW + x);\r
        *vidptr = color;\r
@@ -160,7 +160,7 @@ void BlockMove(){
        for(loop2=1; loop2<41; loop2++)\r
                for(loop3=1; loop3<41; loop3++)\r
                        plotpixel(loop1+loop2,loop3,14, vaddr);\r
-               updatevbuff();\r
+               //updatevbuff();\r
                cls(0,vaddr);\r
        }\r
 \r
@@ -177,19 +177,19 @@ void BlockMove(){
 \r
 void etesuto(int x = 160, int y = 100){\r
        memset(vaddr+(x+(y*SW)),gq-1,1);\r
-       updatevbuff();\r
+       //updatevbuff();\r
 }\r
 \r
 void qtesuto(int x = 160, int y = 100, int color = 0){\r
        memset(vaddr+(x+(y*SW)),color,1);\r
-       updatevbuff();\r
+       //updatevbuff();\r
 }\r
 \r
 //color てすと\r
 int colortest(){\r
        if(gq < NUM_COLORS){\r
                cls(gq, vaddr);\r
-               updatevbuff();\r
+               //updatevbuff();\r
                gq++;\r
        }else gq = 0;\r
        return gq;\r
@@ -199,7 +199,7 @@ int colortest(){
 int colorz(){\r
        if(gq < HGQ){\r
                cls(gq, vaddr);\r
-               updatevbuff();\r
+               //updatevbuff();\r
                gq++;\r
        }else gq = LGQ;\r
        return gq;\r
@@ -210,7 +210,7 @@ void ssd(int svq){
        if(sy < SH+1){\r
                if(sx < SW+1){\r
                        //plotpixel(xx, yy, coor, vga);\r
-                       plotpixelfast(sx, sy, coor, vga);\r
+                       ppf(sx, sy, coor, vga);\r
                        //printf("%d %d %d %d\n", sx, sy, svq, coor);\r
                        sx++;\r
                }else sx = 0;\r
@@ -221,6 +221,57 @@ void ssd(int svq){
                }\r
        }else sy = 0;\r
 }\r
+
+void pdump(){
+       int palcol=0;
+       for(int paly=0; paly<32; paly++){
+               for(int palx=0; palx<32; palx++){
+                       ppf((SW-32)+palx, paly, palcol, vaddr);
+                       ppf((SW-32)+palx+1, paly, palcol, vaddr);
+                       ppf((SW-32)+palx, paly+1, palcol, vaddr);
+                       ppf((SW-32)+palx+1, paly+1, palcol, vaddr);
+                       palx++;
+                       palcol++;
+               }
+       paly++;
+       }
+}
+
+//draw a tulip inifficiently
+void tulip(){
+       cls(0,vaddr);
+       std::cout << "01 Story of Chikyuu" << std::endl;
+       //22 lines
+       int tx = (SW/2)-16;
+       int ty = (SH/2)-22;
+       gq = 0;
+       ppf(tx+8, ty, 37, vaddr); ty++;
+       ppf(tx+7, ty, 37, vaddr); ppf(tx+8, ty, 37, vaddr); ty++;
+       ppf(tx+6, ty, 37, vaddr); ppf(tx+7, ty, 37, vaddr); ppf(tx+8, ty, 40, vaddr); ppf(tx+9, ty, 37, vaddr); ty++;
+       ppf(tx+2, ty, 40, vaddr); ppf(tx+5, ty, 37, vaddr); ppf(tx+6, ty, 37, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 40, vaddr); ppf(tx+9, ty, 38, vaddr); ppf(tx+12, ty, 37, vaddr); ty++;
+       ppf(tx+3, ty, 40, vaddr); ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 37, vaddr); ppf(tx+6, ty, 38, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 38, vaddr); ppf(tx+9, ty, 40, vaddr); ppf(tx+10, ty, 38, vaddr); ppf(tx+11, ty, 37, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       ppf(tx+3, ty, 40, vaddr); ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 40, vaddr); ppf(tx+6, ty, 44, vaddr); ppf(tx+7, ty, 38, vaddr); ppf(tx+8, ty, 44, vaddr); ppf(tx+9, ty, 40, vaddr); ppf(tx+10, ty, 37, vaddr); ppf(tx+11, ty, 40, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       //7
+       ppf(tx+3, ty, 40, vaddr); ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 40, vaddr); ppf(tx+6, ty, 44, vaddr); ppf(tx+7, ty, 44, vaddr); ppf(tx+8, ty, 40, vaddr); ppf(tx+9, ty, 44, vaddr); ppf(tx+10, ty, 37, vaddr); ppf(tx+11, ty, 40, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       ppf(tx+3, ty, 40, vaddr); ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 40, vaddr); ppf(tx+6, ty, 40, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 40, vaddr); ppf(tx+9, ty, 44, vaddr); ppf(tx+10, ty, 40, vaddr); ppf(tx+11, ty, 40, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 40, vaddr); ppf(tx+6, ty, 40, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 40, vaddr); ppf(tx+9, ty, 44, vaddr); ppf(tx+10, ty, 40, vaddr); ppf(tx+11, ty, 40, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 40, vaddr); ppf(tx+6, ty, 40, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 4, vaddr); ppf(tx+9, ty, 44, vaddr); ppf(tx+10, ty, 40, vaddr); ppf(tx+11, ty, 40, vaddr); ppf(tx+12, ty, 40, vaddr); ty++;
+       //11
+       ppf(tx+4, ty, 40, vaddr); ppf(tx+5, ty, 4, vaddr); ppf(tx+6, ty, 40, vaddr); ppf(tx+7, ty, 40, vaddr); ppf(tx+8, ty, 4, vaddr); ppf(tx+9, ty, 40, vaddr); ppf(tx+10, ty, 40, vaddr); ppf(tx+11, ty, 4, vaddr); ppf(tx+12, ty, 4, vaddr); ty++;
+       //12
+       ppf(tx+4, ty, 4, vaddr); ppf(tx+5, ty, 4, vaddr); ppf(tx+6, ty, 40, vaddr); ppf(tx+7, ty, 4, vaddr); ppf(tx+8, ty, 4, vaddr); ppf(tx+9, ty, 40, vaddr); ppf(tx+10, ty, 40, vaddr); ppf(tx+11, ty, 4, vaddr); ppf(tx+15, ty, 2, vaddr); ty++;
+       ppf(tx, ty, 45, vaddr); ppf(tx+5, ty, 4, vaddr); ppf(tx+6, ty, 4, vaddr); ppf(tx+7, ty, 4, vaddr); ppf(tx+8, ty, 4, vaddr); ppf(tx+9, ty, 4, vaddr); ppf(tx+10, ty, 4, vaddr); ppf(tx+13, ty, 2, vaddr); ppf(tx+14, ty, 2, vaddr); ppf(tx+15, ty, 2, vaddr); ty++;
+       //14
+       ppf(tx, ty, 45, vaddr); ppf(tx+1, ty, 2, vaddr); ppf(tx+6, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+8, ty, 2, vaddr); ppf(tx+12, ty, 2, vaddr); ppf(tx+13, ty, 2, vaddr); ppf(tx+14, ty, 45, vaddr); ty++;
+       ppf(tx, ty, 45, vaddr); ppf(tx+1, ty, 45, vaddr); ppf(tx+2, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+11, ty, 2, vaddr); ppf(tx+12, ty, 2, vaddr); ppf(tx+13, ty, 2, vaddr); ppf(tx+14, ty, 45, vaddr); ty++;
+       ppf(tx+1, ty, 45, vaddr); ppf(tx+2, ty, 2, vaddr); ppf(tx+3, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+10, ty, 2, vaddr); ppf(tx+11, ty, 2, vaddr); ppf(tx+12, ty, 2, vaddr); ppf(tx+13, ty, 45, vaddr); ppf(tx+14, ty, 2, vaddr); ty++;
+       ppf(tx+1, ty, 45, vaddr); ppf(tx+2, ty, 45, vaddr); ppf(tx+3, ty, 2, vaddr); ppf(tx+4, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+10, ty, 2, vaddr); ppf(tx+11, ty, 2, vaddr); ppf(tx+12, ty, 45, vaddr); ppf(tx+13, ty, 2, vaddr); ty++;
+       ppf(tx+1, ty, 45, vaddr); ppf(tx+2, ty, 45, vaddr); ppf(tx+3, ty, 45, vaddr); ppf(tx+4, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+9, ty, 2, vaddr); ppf(tx+10, ty, 2, vaddr); ppf(tx+11, ty, 45, vaddr); ppf(tx+12, ty, 2, vaddr); ppf(tx+13, ty, 2, vaddr); ty++;
+       ppf(tx+2, ty, 45, vaddr); ppf(tx+3, ty, 45, vaddr); ppf(tx+4, ty, 45, vaddr); ppf(tx+5, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+9, ty, 2, vaddr); ppf(tx+10, ty, 45, vaddr); ppf(tx+11, ty, 2, vaddr); ppf(tx+11, ty, 2, vaddr); ppf(tx+12, ty, 2, vaddr); ty++;
+       ppf(tx+3, ty, 45, vaddr); ppf(tx+4, ty, 45, vaddr); ppf(tx+5, ty, 45, vaddr); ppf(tx+6, ty, 2, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+8, ty, 2, vaddr); ppf(tx+9, ty, 45, vaddr); ppf(tx+10, ty, 2, vaddr); ty++;
+       ppf(tx+5, ty, 45, vaddr); ppf(tx+7, ty, 45, vaddr); ppf(tx+8, ty, 2, vaddr); ty++;
+       ppf(tx+7, ty, 45, vaddr);
+}
 \r
 /*-----------ding-------------*/\r
 int ding(int q){\r
@@ -235,7 +286,7 @@ int ding(int q){
        if(q == 6){\r
                coor = rand()%NUM_COLORS;\r
                cls(coor, vaddr);\r
-               updatevbuff();\r
+               //updatevbuff();\r
        }\r
 \r
        if(q == 7 || q== 9){\r
@@ -289,11 +340,11 @@ int ding(int q){
                        }\r
                }\r
                // plot the pixel\r
-               plotpixelfast(xx, yy, coor, vga);\r
-               if(q==2) plotpixelfast(rand()%SW, rand()%SH, 0, vga);\r
+               ppf(xx, yy, coor, vga);\r
+               if(q==2) ppf(rand()%SW, rand()%SH, 0, vga);\r
                if(q==2||q==4){ bakax = rand()&0x1; bakay = rand()&0x1; }\r
                gq++;\r
 //             printf("%d %d %d %d\n", xx, yy, gq, coor);\r
        }else gq = LGQ;\r
        return gq;\r
-}\r
+}