* floats. This makes the header versitile as it can also be
  * used to store other data. For example: colour information
 */
-
+#ifndef POINT_H
+#define POINT_H
 typedef struct { int x, y; } Point2i;
 typedef struct { int x, y, z ; } Point3i;
 typedef struct { int w, x, y , z; } Point4i;
 typedef struct { float x, y; } Point2f;
 typedef struct { float x, y, z; } Point3f;
 typedef struct { float w, x, y, z; } Point4f;
+#endif//POINT_H
 
+#ifndef TILE_H
+#define TILE_H
 #include "point.h"
 
 enum Terrain{
 void tile_cleanup(Tile *t);
 Point3i tile_position(Tile *t);
 enum Terrain tile_terrain(Tile *t);
+#endif//TILE_H