Mercurial > repos > genjam1
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 } |