comparison src/main.c @ 17:ea345aa9cc30

using new tile constants
author William Morgan <bill@mrgn.org>
date Sun, 12 Jan 2014 19:02:44 -0800
parents f71eb24b3896
children 60bb690233cf
comparison
equal deleted inserted replaced
15:f71eb24b3896 17:ea345aa9cc30
41 41
42 }; 42 };
43 43
44 #define EMPTY 0 44 #define EMPTY 0
45 #define WALL 'O' + TILE_FONTINDEX 45 #define WALL 'O' + TILE_FONTINDEX
46 #define TOWER 'T' + TILE_FONTINDEX 46 #define TOWER TILE_ATTR_FULL(1, 0, 0, 0, 'T' + TILE_FONTINDEX)
47 #define GOAL 'G' + TILE_FONTINDEX 47 #define GOAL TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX)
48 48
49 u16 tilemap[40*28]; 49 u16 tilemap[40*28];
50 u16 countdown; 50 u16 countdown;
51 51
52 int cursor_x = 0; // tiles 52 int cursor_x = 0; // tiles
75 } 75 }
76 if (went_down & BUTTON_RIGHT) { 76 if (went_down & BUTTON_RIGHT) {
77 cursor_x += cursor_width; 77 cursor_x += cursor_width;
78 } 78 }
79 if (went_down & BUTTON_A) { 79 if (went_down & BUTTON_A) {
80 tilemap[cursor_x + (cursor_y ) * 40] = TILE_ATTR_FULL(1, 0, 0, 0, WALL); 80 //u16 type_to_place = EMPTY;
81 tilemap[cursor_x + 1 + (cursor_y ) * 40] = TILE_ATTR_FULL(1, 0, 0, 0, WALL); 81 u16 type_to_place = WALL;
82 tilemap[cursor_x + (cursor_y + 1) * 40] = TILE_ATTR_FULL(1, 0, 0, 0, WALL); 82 tilemap[cursor_x + (cursor_y ) * 40] = type_to_place;
83 tilemap[cursor_x + 1 + (cursor_y + 1) * 40] = TILE_ATTR_FULL(1, 0, 0, 0, WALL); 83 tilemap[cursor_x + 1 + (cursor_y ) * 40] = type_to_place;
84 tilemap[cursor_x + (cursor_y + 1) * 40] = type_to_place;
85 tilemap[cursor_x + 1 + (cursor_y + 1) * 40] = type_to_place;
84 } 86 }
85 } 87 }
86 88
87 int main(void) 89 int main(void)
88 { 90 {
95 u16 i; 97 u16 i;
96 VDP_setPlanSize(64, 32); 98 VDP_setPlanSize(64, 32);
97 for (i = 6; i < 40*28; i += 4) 99 for (i = 6; i < 40*28; i += 4)
98 if ((i > 80 || i & 4) && (i < 40*26 || !(i & 4)) && i % 40 < 38) 100 if ((i > 80 || i & 4) && (i < 40*26 || !(i & 4)) && i % 40 < 38)
99 { 101 {
100 tilemap[i] = 'O' + TILE_FONTINDEX; 102 tilemap[i] = WALL;
101 tilemap[i+1] = 'O' + TILE_FONTINDEX; 103 tilemap[i+1] = WALL;
102 } 104 }
103 105
104 tilemap[38 + 14*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX); 106 tilemap[38 + 14*40] = GOAL;
105 tilemap[39 + 14*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX); 107 tilemap[39 + 14*40] = GOAL;
106 tilemap[38 + 15*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX); 108 tilemap[38 + 15*40] = GOAL;
107 tilemap[39 + 15*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX); 109 tilemap[39 + 15*40] = GOAL;
108 gen_distances(38, 14); 110 gen_distances(38, 14);
109 for (i = 0; i < MAX_SPRITE; i++) 111 for (i = 0; i < MAX_SPRITE; i++)
110 { 112 {
111 spriteDefCache[i].posx = -0x80; 113 spriteDefCache[i].posx = -0x80;
112 } 114 }