X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=16%2Fdos_gfx.cpp;h=5928b6f571316f6535d6dfb9385aa0279c345bab;hb=7208080604e6f5d4568deaa064f590c9df5f3f42;hp=41b7d53384e436343423a75d60ec8faf8ead4b22;hpb=827300fa343dd265dd53e7a6a475fb3f4d8e1d8d;p=16.git diff --git a/16/dos_gfx.cpp b/16/dos_gfx.cpp index 41b7d533..5928b6f5 100644 --- a/16/dos_gfx.cpp +++ b/16/dos_gfx.cpp @@ -19,7 +19,7 @@ byte *vga = (byte *) MK_FP(0xA000, 0); * to be included. */ #define TESTING -//#define TILE +#define TILE ///////////////////////////////////////////////////////////////////////////// // // @@ -48,10 +48,11 @@ void setvideo(/*byte mode, */short vq){ mxSetMode( MX_320x240 ); // mxSetVirtualScreen(SW+(SW/4), SH+(SH/4)); // mxSetVirtualScreen(SW*2, SH*2); - mxSetVirtualScreen(VW,(VH+(TILEWH*BUFFMX))); + mxSetVirtualScreen(VW,BH); // mxSetVirtualScreen((640-(TILEWH*4)),(480-(TILEWH*4))); mxSetClip(true); - mxSetClipRegion(0, 0, VW, (VH+(TILEWH*BUFFMX))); + mxSetClipRegion(0, 0, VW, BH); + mxPan(TILEWH*2,TILEWH*2); //mxSetClipRegion(0, VH+1, VW, (TILEWH*BUFFMX)); } } @@ -212,17 +213,17 @@ short ding(int q){ } } // fixer - if(q!=16){ + if(q!=16){ #ifdef TILE if(xx<0) xx=(VW-TILEWH); if(yy<0) yy=(VH-TILEWH); if(xx>(VW-TILEWH)) xx=0; - if(yy>(VH-TILEWH)/*+(TILEWH*BUFFMX)*/) yy=0; - #else + if(yy>(VH-TILEWH)/*+(TILEWH*BUFFMX)*/) yy=0; + #else if(xx<0) xx=VW; if(yy<0) yy=VH; if(xx>VW) xx=0; - if(yy>VH) yy=0; + if(yy>VH) yy=0; #endif } @@ -244,7 +245,12 @@ short ding(int q){ #endif } - if(q==2) mxPutPixel(rand()%VW, rand()%(VH), 0); + if(q==2) + #ifdef TILE + mxFillBox((rand()*TILEWH)%VW, (rand()*TILEWH)%(VH), TILEWH, TILEWH, 0, OP_SET); + #else + mxPutPixel(rand()%VW, rand()%(VH), 0); + #endif if(q==16) mxPutPixel(rand()%VW, rand()%(VH), 0); if(q==2||q==4||q==16){ bakax = rand()%3; bakay = rand()%3; } //random 3 switch gq++; @@ -271,9 +277,9 @@ int main(void) int ch=0x0; // main variables d=4; // switch variable - key=4; // default screensaver number - xpos=0; - ypos=0; + key=2; // default screensaver number + xpos=TILEWH*2; + ypos=TILEWH*2; xdir=1; ydir=1; setvideo(1); @@ -292,13 +298,14 @@ int main(void) setvideo(1); } }*/ // else off + mxFillBox(0, 0, VW, BH, 10, OP_SET); while(1){ // conditions of screen saver while(!kbhit()){ ding(key); } //end of screen savers //doTest(); - for (int x = 0; x < VW; ++x) +/* for (int x = 0; x < VW; ++x) { mxPutPixel(x, 0, 15); mxPutPixel(x, SH-1, 15); @@ -318,49 +325,55 @@ int main(void) mxPutPixel(0, y, 15); mxPutPixel(VW-1, y, 15); } - - getch(); + */ + getch(); //text box - mxSetTextColor(10, OP_TRANS); //set font - mxBitBlt(xpos, ypos+(TILEWH*12), 320, TILEWH*BUFFMX, 0, VH); //copy background - mxFillBox(xpos, ypos+(TILEWH*12), 320, TILEWH*BUFFMX, 0, OP_SET); // background for text box - //+(QUADWH*6) - mxOutText(xpos+1, ypos+SH-48, "========================================"); + mxSetTextColor(10, OP_TRANS); //set font + mxBitBlt(xpos, ypos+(TILEWH*12), SW, TILEWH*BUFFMX, 0, BS); //copy background + mxFillBox(xpos, ypos+(TILEWH*12), SW, TILEWH*BUFFMX, 0, OP_SET); // background for text box + //+(QUADWH*6) + mxOutText(xpos+1, ypos+SH-48, "========================================"); mxOutText(xpos+1, ypos+SH-40, "| |Chikyuu:$line1"); mxOutText(xpos+1, ypos+SH-32, "| |$line2"); mxOutText(xpos+1, ypos+SH-24, "| |$line3"); - mxOutText(xpos+1, ypos+SH-16, "| |$line4"); - mxOutText(xpos+1, ypos+SH-8, "========================================"); - mxFillBox(xpos+QUADWH, ypos+QUADWH+(TILEWH*12), TILEWH*2, TILEWH*2, 9, OP_SET); - getch(); - mxBitBlt(0, VH, 320, TILEWH*BUFFMX, xpos, ypos+(TILEWH*12)); //copy background - //mxBitBlt(0, (TILEWH*12)+1, 320, TILEWH*3, 0, 0); + mxOutText(xpos+1, ypos+SH-16, "| |$line4"); + mxOutText(xpos+1, ypos+SH-8, "========================================"); + mxFillBox(xpos+QUADWH, ypos+QUADWH+(TILEWH*12), TILEWH*2, TILEWH*2, 9, OP_SET); //portriat~ + getch(); + mxBitBlt(0, BS, SW, TILEWH*BUFFMX, xpos, ypos+(TILEWH*12)); //copy background getch(); while(!kbhit()){ -// hScroll(1); -// scrolly(1); -// vScroll(1); -// delay(100); - //for(int i=0;i(VW-SW-1)) || (xpos<1))delay(500); //mxWaitRetrace(); +//mxBitBlt(32, (SH+32), SW, SH, xpos, ypos); +//mxBitBlt(32, (SH+64+32), SW, SH, 32, 32); +//xpos=ypos=TILEWH*2; +mxPan(32,32); //} if( (xpos>(VW-SW-1)) || (xpos<1)){xdir=-xdir;} - if( (ypos>((VH+(TILEWH*BUFFMX))-SH-1)) || (ypos<1)){ydir=-ydir;} // { Hit a boundry, change + if( (ypos>(BH-SH-1)) || (ypos<1)){ydir=-ydir;} // { Hit a boundry, change // direction! } +//mxBitBlt(32, (SH+64+32), SW, SH, xpos, ypos); +mxBitBlt(TILEWH*2, (SH+64+32), SW, SH, TILEWH*2, TILEWH*2); } ch=getch(); if(ch==0x71)break; // 'q' if(ch==0x1b)break; // 'ESC' } setvideo(0); - printf("wwww\nVirtual Resolution: %dx%d\n", VW,VH); + printf("wwww\nFull Buffer Virtual Resolution: %dx%d\n", VW,BH); + printf("Virtual Resolution: %dx%d\n", VW,VH); printf("Resolution: %dx%d\n", SW,SH); printf("Mode X Library Version: %d\n", mxGetVersion()); printf("bakapi ver. 1.04.09.04\nis made by sparky4i†ƒÖ…j feel free to use it ^^\nLicence: GPL v2\n");