]> 4ch.mooo.com Git - 16.git/blob - 16/modex16/test.c
renamed: 16/PCX_LIB.ZIP -> 16/PCX_LIB/PCX_LIB.ZIP
[16.git] / 16 / modex16 / test.c
1 #include "modex16.h"\r
2 #include <stdio.h>\r
3 \r
4 word far* clock= (word far*) 0x046C; /* 18.2hz clock */\r
5 \r
6 void main() {
7         bitmap_t bmp;\r
8     int i, j;\r
9     word start, end;\r
10     page_t page, page2;\r
11     float elapsed;\r
12     byte *pal, *pal2=NULL;\r
13 \r
14         /* load pcx file */\r
15         bmp = modexLoadPcx("ed.pcx");\r
16 \r
17     /* load our palette */\r
18     modexLoadPalFile("gfx.pal", &pal2);\r
19 \r
20     /* save the palette */\r
21     pal  = modexNewPal();\r
22     modexPalSave(pal);\r
23     modexFadeOff(1, pal);\r
24     modexPalBlack();\r
25 \r
26     setvideo(1);\r
27     modexPalBlack();\r
28 \r
29     /* set up the page, but with 16 pixels on all borders in offscreen mem */\r
30     page=modexDefaultPage();\r
31     page2 = modexNextPage(&page);\r
32     page.width += 32;\r
33     page.height += 32;\r
34 \r
35 \r
36     /* fill the page with one color, but with a black border */\r
37     modexShowPage(&page2);\r
38     modexClearRegion(&page, 16, 16, SCREEN_WIDTH, SCREEN_HEIGHT, 128);\r
39     modexClearRegion(&page, 32, 32, SCREEN_WIDTH-32, SCREEN_HEIGHT-32, 42);\r
40     modexClearRegion(&page, 48, 48, SCREEN_WIDTH-64, SCREEN_HEIGHT-64, 128);\r
41     modexShowPage(&page);\r
42 \r
43     modexDrawSprite(&page, 20, 20, &bmp);\r
44     //modexDrawBmp(&page, xb, yb, &bmp);\r
45 \r
46     /* fade in */\r
47     modexFadeOn(1, pal2);\r
48 \r
49 \r
50     start = *clock;\r
51     //for(i=0; i<5; i++) {\r
52     while (!kbhit()){  /* Wait for a keystroke                         */\r
53         /* go right */\r
54         for(j=0; j<32; j++) {\r
55             page.dx++;\r
56             modexShowPage(&page);\r
57         }\r
58         /* go left */\r
59         for(j=0; j<32; j++) {\r
60             page.dx--;\r
61             modexShowPage(&page);\r
62         }\r
63         /* go up */\r
64         for(j=0; j<32; j++) {\r
65             page.dy++;\r
66             modexShowPage(&page);\r
67         }\r
68 \r
69         /* go down */\r
70         for(j=0; j<32; j++) {\r
71             page.dy--;\r
72             modexShowPage(&page);\r
73         }\r
74     }\r
75 \r
76     (void) getch();   /* Clear the keyboard buffer                    */\r
77     end = *clock;\r
78 \r
79     /* fade back to text mode */\r
80     modexFadeOff(1, pal2);\r
81     modexPalBlack();\r
82     setvideo(0);\r
83     modexPalBlack();\r
84     modexFadeOn(1, pal);\r
85 }\r