diff --git a/src/space.h b/src/space.h
index 023319a..9abb686 100644
--- a/src/space.h
+++ b/src/space.h
@@ -4,111 +4,133 @@
 #include "economy.h"
 #include "pilot.h"
 
-#define MIN_HYPERSPACE_DIST 1500
-#define MAX_HYPERSPACE_VEL  25
+#define MIN_HYPERSPACE_DIST 1500  /**< Minimum distance to initiate hyperspace. */
+#define MAX_HYPERSPACE_VEL  25    /**< Velocity. */
 
-#define PLANET_TECH_MAX   8
+#define PLANET_TECH_MAX   8       /**< Amount of special techs a planet can have. */
 
-/* Planet types. I didn't take them from Star Trek, I promise. */
+/**
+ * @enum PlanetClass
+ *
+ * @brief Different planet classes.
+ */
 typedef enum PlanetClass_ {
-  PLANET_CLASS_NULL = 0,
-  PLANET_CLASS_A,   /* Geothermal. */
-  PLANET_CLASS_B,   /* Geomorteus. */
-  PLANET_CLASS_C,   /* Geoinactive. */
-  PLANET_CLASS_D,   /* Asteroid/Moon. */
-  PLANET_CLASS_E,   /* Geoplastic. */
-  PLANET_CLASS_F,   /* Geometallic. */
-  PLANET_CLASS_G,   /* GroCrystaline. */
-  PLANET_CLASS_H,   /* Desert. */
-  PLANET_CLASS_I,   /* Gas Supergiant. */
-  PLANET_CLASS_J,   /* Gas Giant. */
-  PLANET_CLASS_K,   /* Adaptable. */
-  PLANET_CLASS_L,   /* Marginal. */
-  PLANET_CLASS_M,   /* Terrestrial. */
-  PLANET_CLASS_N,   /* Reducing. */
-  PLANET_CLASS_O,   /* Pelagic. */
-  PLANET_CLASS_P,   /* Glaciated. */
-  PLANET_CLASS_Q,   /* Variable. */
-  PLANET_CLASS_R,   /* Rogue. */
-  PLANET_CLASS_S,   /* Ultragiant. */
-  PLANET_CLASS_T,   /* Ultragiant. */
-  PLANET_CLASS_X,   /* Demon. */
-  PLANET_CLASS_Y,   /* Demon. */
-  PLANET_CLASS_Z,   /* Demon. */
-  STATION_CLASS_A,  /* Civilian station. */
-  STATION_CLASS_B,  /* Military station. */
-  STATION_CLASS_C,  /* Interfactional station. */
-  STATION_CLASS_D,  /* Robotoc station. */
+  PLANET_CLASS_NULL = 0,  /**< Null/Not defined. */
+  PLANET_CLASS_A,         /**< Geothermal. */
+  PLANET_CLASS_B,         /**< Geomorteus. */
+  PLANET_CLASS_C,         /**< Geoinactive. */
+  PLANET_CLASS_D,         /**< Asteroid/Moon. */
+  PLANET_CLASS_E,         /**< Geoplastic. */
+  PLANET_CLASS_F,         /**< Geometallic. */
+  PLANET_CLASS_G,         /**< GroCrystaline. */
+  PLANET_CLASS_H,         /**< Desert. */
+  PLANET_CLASS_I,         /**< Gas Supergiant. */
+  PLANET_CLASS_J,         /**< Gas Giant. */
+  PLANET_CLASS_K,         /**< Adaptable. */
+  PLANET_CLASS_L,         /**< Marginal. */
+  PLANET_CLASS_M,         /**< Terrestrial. */
+  PLANET_CLASS_N,         /**< Reducing. */
+  PLANET_CLASS_O,         /**< Pelagic. */
+  PLANET_CLASS_P,         /**< Glaciated. */
+  PLANET_CLASS_Q,         /**< Variable. */
+  PLANET_CLASS_R,         /**< Rogue. */
+  PLANET_CLASS_S,         /**< Ultragiant. */
+  PLANET_CLASS_T,         /**< Ultragiant. */
+  PLANET_CLASS_X,         /**< Demon. */
+  PLANET_CLASS_Y,         /**< Demon. */
+  PLANET_CLASS_Z,         /**< Demon. */
+  STATION_CLASS_A,        /**< Civilian station. */
+  STATION_CLASS_B,        /**< Military station. */
+  STATION_CLASS_C,        /**< Interfactional station. */
+  STATION_CLASS_D,        /**< Robotoc station. */
 } PlanetClass;
 
 /* Planet services. */
-#define PLANET_SERVICE_LAND       (1<<0) /* Can we land? */
-#define PLANET_SERVICE_BASIC      (1<<1) /* Refueling, spaceport bar, new. */
-#define PLANET_SERVICE_COMMODITY  (1<<2)
-#define PLANET_SERVICE_OUTFITS    (1<<3)
-#define PLANET_SERVICE_SHIPYARD   (1<<4)
-#define planet_hasService(p,s)    ((p)->services & s)
+#define PLANET_SERVICE_LAND       (1<<0) /**< Can we land? */
+#define PLANET_SERVICE_BASIC      (1<<1) /**< Refueling, spaceport bar, new. */
+#define PLANET_SERVICE_COMMODITY  (1<<2) /**< Can trade commodities. */
+#define PLANET_SERVICE_OUTFITS    (1<<3) /**< Can trade outfits. */
+#define PLANET_SERVICE_SHIPYARD   (1<<4) /**< Can trade ships. */
+#define planet_hasService(p,s)    ((p)->services & s) /**< Check if planet has service. */
 
+/**
+ * @struct Planet
+ *
+ * @brief Represents a planet.
+ */
 typedef struct Planet_ {
-  char* name;               /* Planet name */
-  Vec2 pos;                 /* Position in star system. */
+  char* name;               /**< Planet name */
+  Vec2 pos;                 /**< Position in star system. */
 
-  PlanetClass class;        /* Planet type. */
-  int faction;              /* Planet faction. */
+  PlanetClass class;        /**< Planet type. */
+  int faction;              /**< Planet faction. */
 
-  char* description;        /* Planet description. */
-  char* bar_description;    /* Spaceport bar description. */
-  unsigned int services;    /* Offered services. */
-  Commodity** commodities;  /* Commodities sold. */
-  int ncommodities;         /* Amount in stock. */
+  char* description;        /**< Planet description. */
+  char* bar_description;    /**< Spaceport bar description. */
+  unsigned int services;    /**< Offered services. */
+  Commodity** commodities;  /**< Commodities sold. */
+  int ncommodities;         /**< Amount in stock. */
 
-  /* tech[0] stores global tech level (everything that and below) while */
-  /* tech[1-PLANET_TECH_MAX] stores the unique tech levels. */
-  int tech[PLANET_TECH_MAX];
+  int tech[PLANET_TECH_MAX];  /**< tech[0] stores the global tech level
+                                   (everything that and below) while
+                                   tech[1-PLANET_TECH_MAX] store the
+                                   "unique" tech levels (only matches) */
 
-  glTexture* gfx_space;     /* Graphics in space. */
-  char* gfx_exterior;       /* Don't actually load the texture. */
+  glTexture* gfx_space;     /**< Graphics in space. */
+  char* gfx_exterior;       /**< Don't actually load the texture. */
 } Planet;
 
 /* Star system flags. */
-#define SYSTEM_KNOWN      (1<<0)
-#define SYSTEM_MARKED     (1<<1)
-#define sys_isFlag(s,f)   ((s)->flags & (f))
-#define sys_setFlag(s,f)  if(!sys_isFlag(s,f)) (s)->flags |= (f)
-#define sys_rmFlag(s,f)   if(sys_isFlag(s,f))  (s)->flags ^= (f)
-#define sys_isKnown(s)    sys_isFlag(s, SYSTEM_KNOWN)
-#define sys_isMarked(s)   sys_isFlag(s, SYSTEM_MARKED)
+#define SYSTEM_KNOWN      (1<<0)    /**< System is known. */
+#define SYSTEM_MARKED     (1<<1)    /**< System is marked by a mission. */
+#define sys_isFlag(s,f)   ((s)->flags & (f))  /**< Check system flag. */
+#define sys_setFlag(s,f)  if(!sys_isFlag(s,f)) (s)->flags |= (f)  /**< Set a system flag. */
+#define sys_rmFlag(s,f)   if(sys_isFlag(s,f))  (s)->flags ^= (f)  /**< Remove a system flag. */
+#define sys_isKnown(s)    sys_isFlag(s, SYSTEM_KNOWN)   /**< Check if system is known. */
+#define sys_isMarked(s)   sys_isFlag(s, SYSTEM_MARKED)  /**< Check if system is marked. */
 
-/* Star systems. */
+/**
+ * @struct SystemFleet
+ *
+ * @brief Represents a fleet that can appear in the system.
+ */
 typedef struct SystemFleet_ {
-  Fleet* fleet;           /* Fleet to appear. */
-  int chance;             /* Chance of fleet appearing in the system. */
+  Fleet* fleet;           /**< Fleet to appear. */
+  int chance;             /**< Chance of fleet appearing in the system. */
 } SystemFleet;
 
+/**
+ * @struct StarSystem
+ *
+ * @brief Represents a star system.
+ *
+ * The star system is the basic setting in Lephisto.
+ */
 typedef struct StarSystem_ {
-  char* name;             /* Star system identifier. */
-  Vec2 pos;               /* Position. */
-  int stars, asteroids;   /* Un numero! */
-  double interference;    /* Un uh.. Percentage. */
+  char* name;             /**< Star system identifier. */
+  Vec2 pos;               /**< Position. */
+  int stars;              /**< Ammount of "stars" it has. */
+  int asteroids;          /**< @todo Implement asteroids. */
+  double interference;    /**< in % @todo Implement interference. */
 
-  int faction;            /* Overall faction. */
+  int faction;            /**< Overall faction. */
 
-  Planet* planets;        /* Planets. */
-  int nplanets;           /* Total number of planets. */
+  Planet* planets;        /**< Planets. */
+  int nplanets;           /**< Total number of planets. */
 
-  SystemFleet* fleets;    /* Fleets that can appear in the current system. */
-  int nfleets;            /* Total number of fleets. */
+  SystemFleet* fleets;    /**< Fleets that can appear in the current system. */
+  int nfleets;            /**< Total number of fleets. */
 
-  int* jumps;             /* Adjacent star system index number. */
-  int njumps;             /* Number of adjacent jumps. */
+  int* jumps;             /**< Adjacent star system index number. */
+  int njumps;             /**< Number of adjacent jumps. */
 
-  double nebu_density;    /* Nebulae density (0. - 1000.).*/
-  double nebu_volatility; /* Nebulae volatility (0. - 1000.). */
+  double nebu_density;    /**< Nebulae density (0. - 1000.).*/
+  double nebu_volatility; /**< Nebulae volatility (0. - 1000.). */
 
-  unsigned int flags;     /* Flags for system properties. */
+  unsigned int flags;     /**< Flags for system properties. */
 } StarSystem;
 
-extern StarSystem* cur_system; /* Current star system. */
+extern StarSystem* cur_system; /**< Current star system. */
 
 /* Load/Exit. */
 void space_init(const char* sysname);