\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
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
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