X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdos_gfx.cpp;h=fed6696e5af6891fdad872c49d9a42639abf7ff2;hb=a2d6764879a1a3ccc056a1f524f2620bde9baa7e;hp=bb1e4cf27806894fab0c30df431266610f586ce4;hpb=8546b30d561c27e4b1eab164e17baf4c84a5c42e;p=16.git diff --git a/src/lib/dos_gfx.cpp b/src/lib/dos_gfx.cpp index bb1e4cf2..fed6696e 100644 --- a/src/lib/dos_gfx.cpp +++ b/src/lib/dos_gfx.cpp @@ -131,7 +131,7 @@ void plotpixel(int x, int y, byte color, byte *Where){ } // king_crimson's code -void plotpixelfast(int x, int y, byte color, byte *Where) { +void ppf(int x, int y, byte color, byte *Where) { byte far *vidptr; vidptr = (byte far *)(Where + y*SW + x); *vidptr = color; @@ -160,7 +160,7 @@ void BlockMove(){ for(loop2=1; loop2<41; loop2++) for(loop3=1; loop3<41; loop3++) plotpixel(loop1+loop2,loop3,14, vaddr); - updatevbuff(); + //updatevbuff(); cls(0,vaddr); } @@ -177,19 +177,19 @@ void BlockMove(){ void etesuto(int x = 160, int y = 100){ memset(vaddr+(x+(y*SW)),gq-1,1); - updatevbuff(); + //updatevbuff(); } void qtesuto(int x = 160, int y = 100, int color = 0){ memset(vaddr+(x+(y*SW)),color,1); - updatevbuff(); + //updatevbuff(); } //color てすと int colortest(){ if(gq < NUM_COLORS){ cls(gq, vaddr); - updatevbuff(); + //updatevbuff(); gq++; }else gq = 0; return gq; @@ -199,7 +199,7 @@ int colortest(){ int colorz(){ if(gq < HGQ){ cls(gq, vaddr); - updatevbuff(); + //updatevbuff(); gq++; }else gq = LGQ; return gq; @@ -210,7 +210,7 @@ void ssd(int svq){ if(sy < SH+1){ if(sx < SW+1){ //plotpixel(xx, yy, coor, vga); - plotpixelfast(sx, sy, coor, vga); + ppf(sx, sy, coor, vga); //printf("%d %d %d %d\n", sx, sy, svq, coor); sx++; }else sx = 0; @@ -221,6 +221,57 @@ void ssd(int svq){ } }else sy = 0; } + +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); +} /*-----------ding-------------*/ int ding(int q){ @@ -235,7 +286,7 @@ int ding(int q){ if(q == 6){ coor = rand()%NUM_COLORS; cls(coor, vaddr); - updatevbuff(); + //updatevbuff(); } if(q == 7 || q== 9){ @@ -289,11 +340,11 @@ int ding(int q){ } } // plot the pixel - plotpixelfast(xx, yy, coor, vga); - if(q==2) plotpixelfast(rand()%SW, rand()%SH, 0, vga); + ppf(xx, yy, coor, vga); + if(q==2) ppf(rand()%SW, rand()%SH, 0, vga); if(q==2||q==4){ bakax = rand()&0x1; bakay = rand()&0x1; } gq++; // printf("%d %d %d %d\n", xx, yy, gq, coor); }else gq = LGQ; return gq; -} +}