]> 4ch.mooo.com Git - 16.git/blobdiff - 16/modex16/TEST.C
modified: 16/Project 16.bfproject
[16.git] / 16 / modex16 / TEST.C
index 74a9b8011e0f8f2900874082d185aef35831ac5b..8d000d566d1475cc3e8f40280e470015013688a6 100644 (file)
@@ -3,15 +3,20 @@
 \r
 word far* clock= (word far*) 0x046C; /* 18.2hz clock */\r
 \r
-void main() {\r
-    int plane;\r
-    int x, y, i;\r
+void main() {
+       bitmap_t bmp;
+       bitmap_t bmp2;\r
+    int i, j;\r
     word start, end;\r
     page_t page, page2;\r
-    word far* ptr;\r
     float elapsed;\r
     byte *pal, *pal2=NULL;\r
 \r
+       /* load pcx file */\r
+       bmp = modexLoadPcx("ed.pcx");
+       bmp2 = modexLoadPcx("koishi~.pcx");
+       modexPalUpdate(bmp2.palette);
+\r
     /* load our palette */\r
     modexLoadPalFile("gfx.pal", &pal2);\r
 \r
@@ -19,32 +24,61 @@ void main() {
     pal  = modexNewPal();\r
     modexPalSave(pal);\r
     modexFadeOff(1, pal);\r
-    modexPalBlack();;\r
+    modexPalBlack();\r
 \r
     modexEnter();\r
     modexPalBlack();\r
 \r
-    page= VGA;\r
-    page2=VGA+PAGE_SIZE;\r
+    /* set up the page, but with 16 pixels on all borders in offscreen mem */\r
+    page=modexDefaultPage();\r
+    page2 = modexNextPage(&page);\r
+    page.width += 32;\r
+    page.height += 32;\r
 \r
-    /* fill the page with one color */\r
-    modexShowPage(page2);\r
-    modexClearRegion(page, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 42);\r
-    modexClearRegion(page, 17, 12, 30, 30, 19);\r
-    modexShowPage(page);\r
+\r
+    /* fill the page with one color, but with a black border */\r
+    modexShowPage(&page2);\r
+    modexClearRegion(&page, 16, 16, SCREEN_WIDTH, SCREEN_HEIGHT, 128);\r
+    modexClearRegion(&page, 32, 32, SCREEN_WIDTH-32, SCREEN_HEIGHT-32, 42);\r
+    modexClearRegion(&page, 48, 48, SCREEN_WIDTH-64, SCREEN_HEIGHT-64, 128);\r
+    modexShowPage(&page);\r
+
+       modexDrawSprite(&page, 320, 240, &bmp);
+    modexDrawSprite(&page, 32, 32, &bmp2);\r
+    //modexDrawBmp(&page, 0, 0, &bmp2);\r
 \r
     /* fade in */\r
     modexFadeOn(1, pal2);\r
-\r
-    /* fill page2 up */\r
-    modexClearRegion(page2, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 128);\r
-\r
+
+modexPalUpdate(bmp2.palette);\r
 \r
     start = *clock;\r
-    for(i=0; i<500; i++) {\r
-       modexShowPage(page);\r
-       page+=SCREEN_WIDTH/4;\r
+    //for(i=0; i<5; i++) {\r
+    while (!kbhit()){  /* Wait for a keystroke                         */\r
+       /* go right */\r
+       for(j=0; j<32; j++) {\r
+           page.dx++;\r
+           modexShowPage(&page);\r
+       }\r
+       /* go left */\r
+       for(j=0; j<32; j++) {\r
+           page.dx--;\r
+           modexShowPage(&page);\r
+       }\r
+       /* go up */\r
+       for(j=0; j<32; j++) {\r
+           page.dy++;\r
+           modexShowPage(&page);\r
+       }\r
+\r
+       /* go down */\r
+       for(j=0; j<32; j++) {\r
+           page.dy--;\r
+           modexShowPage(&page);\r
+       }\r
     }\r
+\r
+    (void) getch();   /* Clear the keyboard buffer                    */\r
     end = *clock;\r
 \r
     /* fade back to text mode */\r
@@ -53,6 +87,4 @@ void main() {
     modexLeave();\r
     modexPalBlack();\r
     modexFadeOn(1, pal);\r
-    elapsed = (end-start)/18.2;\r
-    printf("500 frames in %f seconds for %f fps\n", elapsed, 500.0/elapsed);\r
 }\r