word dyThresh;\r
} map_view_t;\r
\r
-\r
+struct {\r
+ int tilex;\r
+ int tiley;\r
+} player;\r
\r
\r
map_t allocMap(int w, int h);\r
void mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y);\r
void mapDrawRow(map_view_t *mv, int tx, int ty, word y);\r
void mapDrawCol(map_view_t *mv, int tx, int ty, word x);\r
-\r
+
+#define TILEWH 16
+#define QUADWH (TILEWH/4)\r
#define SWAP(a, b) tmp=a; a=b; b=tmp;\r
void main() {\r
int show1=1;\r
map_t map;\r
map_view_t mv, mv2;\r
map_view_t *draw, *show, *tmp;\r
- byte *ptr;\r
- \r
+ byte *ptr;
+ //default player position on the viewable map\r
+ player.tilex = 10;
+ player.tiley = 8;\r
\r
setkb(1);\r
/* create the map */\r
\r
while(!keyp(1)) {\r
if(keyp(77)){\r
- for(q=0; q<16; q++) {\r
+// for(q=0; q<TILEWH; q++) {\r
mapScrollRight(draw, 1);\r
- modexShowPage(draw->page);\r
+// modexShowPage(draw->page);\r
// mapScrollRight(draw, 1);\r
// SWAP(draw, show);\r
- }\r
+// }\r
}\r
\r
if(keyp(75)){\r
- for(q=0; q<16; q++) {\r
+// for(q=0; q<TILEWH; q++) {\r
mapScrollLeft(draw, 1);\r
- modexShowPage(draw->page);\r
+// modexShowPage(draw->page);\r
// mapScrollLeft(show, 1);\r
// SWAP(draw, show);\r
- }\r
+// }\r
}\r
\r
if(keyp(80)){\r
- for(q=0; q<16; q++) {\r
+// for(q=0; q<TILEWH; q++) {\r
mapScrollDown(draw, 1);\r
- modexShowPage(draw->page);\r
+// modexShowPage(draw->page);\r
// mapScrollDown(show, 1);\r
// SWAP(draw, show);\r
- }\r
+// }\r
}\r
\r
if(keyp(72)){\r
- for(q=0; q<16; q++) {\r
+// for(q=0; q<TILEWH; q++) {\r
mapScrollUp(draw, 1);\r
- modexShowPage(draw->page);\r
+// modexShowPage(draw->page);\r
// mapScrollUp(show, 1);\r
// SWAP(draw, show);\r
- }\r
+// }\r
}\r
\r
- //keyp(ch);\r
+ //keyp(ch);
+ modexShowPage(draw->page);\r
\r
}\r
\r
\r
/* create the tile set */\r
map->tiles->data = malloc(sizeof(bitmap_t));\r
- map->tiles->data->width = 32;\r
- map->tiles->data->height= 16;\r
- map->tiles->data->data = malloc(32*16);\r
- map->tiles->tileHeight = 16;\r
- map->tiles->tileWidth = 16;\r
+ map->tiles->data->width = (TILEWH*2);\r
+ map->tiles->data->height= TILEWH;\r
+ map->tiles->data->data = malloc((TILEWH*2)*TILEWH);\r
+ map->tiles->tileHeight = TILEWH;\r
+ map->tiles->tileWidth =TILEWH;\r
map->tiles->rows = 1;\r
map->tiles->cols = 2;\r
\r
i=0;\r
- for(y=0; y<16; y++) {\r
- for(x=0; x<32; x++) {\r
- if(x<16)\r
+ for(y=0; y<TILEWH; y++) {\r
+ for(x=0; x<(TILEWH*2); x++) {\r
+ if(x<TILEWH)\r
map->tiles->data->data[i] = 0x24;\r
else\r
map->tiles->data->data[i] = 0x34;\r