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