diff options
Diffstat (limited to 'height-map-display/src/map')
-rw-r--r-- | height-map-display/src/map/square.c | 12 | ||||
-rw-r--r-- | height-map-display/src/map/square.h | 6 |
2 files changed, 17 insertions, 1 deletions
diff --git a/height-map-display/src/map/square.c b/height-map-display/src/map/square.c index 54add55..9109123 100644 --- a/height-map-display/src/map/square.c +++ b/height-map-display/src/map/square.c @@ -40,3 +40,15 @@ Square* find_selected_square(Square*** squares, int x, int y) { return NULL; } + +float* get_terrain_color(Terrain_Type terrain) { + static float colors[6][3] = { + {0.0f, 0.0f, 0.0f}, // init + {0.0f, 0.5f, 0.0f}, // rough + {0.2f, 0.7f, 0.2f}, // fairway + {0.3f, 0.8f, 0.3f}, // green + {0.1f, 0.2f, 0.8f}, // water + {0.9f, 0.7f, 0.7f}, // sand + }; + return colors[terrain]; +} diff --git a/height-map-display/src/map/square.h b/height-map-display/src/map/square.h index 132b43c..3852fc9 100644 --- a/height-map-display/src/map/square.h +++ b/height-map-display/src/map/square.h @@ -7,9 +7,12 @@ // Define the Terrain_Type enum typedef enum { - TERRAIN_FAIRWAY, + TERRAIN_INIT, TERRAIN_ROUGH, + TERRAIN_FAIRWAY, TERRAIN_GREEN, + TERRAIN_WATER, + TERRAIN_SAND, } Terrain_Type; // Define the Square struct @@ -26,6 +29,7 @@ typedef struct Square { Square* init_square(Node *tl, Node *tr, Node *bl, Node *br, Terrain_Type terrain, bool selected); void change_square_height(Square* square, float diff); void change_square_terrain(Square* square, Terrain_Type terrain); +float* get_terrain_color(Terrain_Type terrain); Square* find_selected_square(Square*** squares, int x, int y); #endif |