]> 4ch.mooo.com Git - 16.git/blobdiff - 16/dos_gfx.cpp
modified: 16/DOS_GFX.EXE
[16.git] / 16 / dos_gfx.cpp
index 72e6d535a2643f564a4bb6294ff99c1c073b7ea8..52e259db4066d21dfad93766a8770d85208b968c 100644 (file)
@@ -19,7 +19,7 @@ byte *vga = (byte *) MK_FP(0xA000, 0);
  * to be included.\r
  */\r
 #define TESTING\r
-#define TILE\r
+//#define TILE\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //                                                                         //\r
@@ -48,10 +48,11 @@ void setvideo(/*byte mode, */short vq){
                                mxSetMode( MX_320x240 );\r
 //                             mxSetVirtualScreen(SW+(SW/4), SH+(SH/4));\r
 //                             mxSetVirtualScreen(SW*2, SH*2);\r
-                               mxSetVirtualScreen(VW,(VH+(TILEWH*BUFFMX)));\r
+                               mxSetVirtualScreen(VW,BH);\r
 //                             mxSetVirtualScreen((640-(TILEWH*4)),(480-(TILEWH*4)));\r
                                mxSetClip(true);\r
-                               mxSetClipRegion(0, 0, VW, (VH+(TILEWH*BUFFMX)));\r
+                               mxSetClipRegion(0, 0, VW, BH);
+                               mxPan(TILEWH*2,TILEWH*2);\r
                                //mxSetClipRegion(0, VH+1, VW, (TILEWH*BUFFMX));\r
                }\r
 }\r
@@ -63,7 +64,7 @@ void setvideo(/*byte mode, */short vq){
 //                                                                                                                                              //\r
 /////////////////////////////////////////////////////////////////////////////\r
 void cls(byte color, byte *Where){\r
-               _fmemset(Where, color, VW*(VH*1.5));\r
+               _fmemset(Where, color, VW*(VH*2));\r
 }\r
 \r
 //color \82Ä\82·\82Æ\r
@@ -213,10 +214,17 @@ short ding(int q){
                                }\r
                                // fixer\r
                                if(q!=16){\r
-                                               if(xx<0) xx=(VW/*-TILEWH*/);\r
-                                               if(yy<0) yy=(VH/*-TILEWH*/);\r
-                                               if(xx>(VW/*-TILEWH*/)) xx=0;\r
-                                               if(yy>(VH+(TILEWH*BUFFMX))) yy=0;\r
+                                       #ifdef TILE\r
+                                               if(xx<0) xx=(VW-TILEWH);\r
+                                               if(yy<0) yy=(VH-TILEWH);\r
+                                               if(xx>(VW-TILEWH)) xx=0;\r
+                                               if(yy>(VH-TILEWH)/*+(TILEWH*BUFFMX)*/) yy=0;\r
+                                       #else\r
+                                               if(xx<0) xx=VW;\r
+                                               if(yy<0) yy=VH;\r
+                                               if(xx>VW) xx=0;\r
+                                               if(yy>VH) yy=0;\r
+                                       #endif\r
                                }\r
 \r
 //interesting effects\r
@@ -265,8 +273,8 @@ int main(void)
                // main variables\r
                d=4; // switch variable\r
                key=4; // default screensaver number\r
-               xpos=0;\r
-               ypos=0;\r
+               xpos=TILEWH*2;\r
+               ypos=TILEWH*2;\r
                xdir=1;\r
                ydir=1;\r
                setvideo(1);\r
@@ -313,31 +321,40 @@ int main(void)
                        }\r
                        \r
                        getch();\r
-                       mxSetTextColor(8, OP_TRANS);
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-48, "==================================");
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-40, "CRAZY!!!!]");\r
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-32, "CRAZY!!!!]");\r
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-24, "____  CRAZY!!!!]");\r
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-16, "___    _  CRAZY!!!!]");
-                       mxOutText(xpos+(QUADWH*6)+1, ypos+SH-8, "==================================");\r
+                       //text box\r
+                       mxSetTextColor(10, OP_TRANS); //set font\r
+                       mxBitBlt(xpos, ypos+(TILEWH*12), 320, TILEWH*BUFFMX, 0, BS); //copy background\r
+                       mxFillBox(xpos, ypos+(TILEWH*12), 320, TILEWH*BUFFMX, 0, OP_SET); // background for text box\r
+                       //+(QUADWH*6)\r
+                       mxOutText(xpos+1, ypos+SH-48, "========================================");\r
+                       mxOutText(xpos+1, ypos+SH-40, "|    |Chikyuu:$line1");\r
+                       mxOutText(xpos+1, ypos+SH-32, "|    |$line2");\r
+                       mxOutText(xpos+1, ypos+SH-24, "|    |$line3");\r
+                       mxOutText(xpos+1, ypos+SH-16, "|    |$line4");\r
+                       mxOutText(xpos+1, ypos+SH-8,  "========================================");\r
+                       mxFillBox(xpos+QUADWH, ypos+QUADWH+(TILEWH*12), TILEWH*2, TILEWH*2, 9, OP_SET); //portriat~\r
+                       getch();\r
+                       mxBitBlt(0, BS, 320, TILEWH*BUFFMX, xpos, ypos+(TILEWH*12)); //copy background\r
+                       //mxBitBlt(0, (TILEWH*12)+1, 320, TILEWH*3, 0, 0);\r
                        getch();\r
                while(!kbhit()){\r
 //                     hScroll(1);\r
 //                     scrolly(1);\r
 //                     vScroll(1);\r
 //                     delay(100);\r
-                       //for(int i=0;i<TILEWH;i++){
+                       //for(int i=0;i<TILEWH;i++){\r
                                \r
                                ding(key);\r
                                mxPan(xpos,ypos);\r
                                //for(short o = 0; o<TILEWH; o++){\r
                                        xpos+=xdir;\r
-                                       ypos+=ydir;
-                                       if(ypos==1 || (ypos==((VH+(TILEWH*BUFFMX))-SH-1)))delay(1000);\r
+                                       ypos+=ydir;\r
+                                       //if(ypos==1 || (ypos==(BH-SH-1)))delay(500);
+                                       //if((xpos>(VW-SW-1)) || (xpos<1))delay(500);\r
                                        mxWaitRetrace();\r
                                //}\r
                                if( (xpos>(VW-SW-1))  || (xpos<1)){xdir=-xdir;}\r
-                               if( (ypos>((VH+(TILEWH*BUFFMX))-SH-1)) || (ypos<1)){ydir=-ydir;} // { Hit a boundry, change\r
+                               if( (ypos>(BH-SH-1)) || (ypos<1)){ydir=-ydir;} // { Hit a boundry, change\r
                        //    direction! }\r
                        }\r
                        ch=getch();\r
@@ -345,10 +362,10 @@ int main(void)
                        if(ch==0x1b)break; // 'ESC'\r
                }\r
                setvideo(0);\r
-               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);\r
                printf("Resolution: %dx%d\n", SW,SH);\r
                printf("Mode X Library Version: %d\n", mxGetVersion());\r
-               //puts("where to next?  It's your move! wwww");\r
                printf("bakapi ver. 1.04.09.04\nis made by sparky4\81i\81\86\83Ö\81\85\81j feel free to use it ^^\nLicence: GPL v2\n");\r
                return 0;\r
                }\r