Index: proj/include/ent.h
===================================================================
--- proj/include/ent.h	(revision 335)
+++ proj/include/ent.h	(revision 336)
@@ -16,7 +16,6 @@
 #define GUNNER_PLAYER   BIT(2)
 #define GUNNER_FOLLOW   BIT(3)
 
-struct gunner;
 typedef struct gunner gunner_t;
 gunner_t* (gunner_ctor)(basic_sprite_t *dude, basic_sprite_t *weapon, uint16_t type, int team);
 void      (gunner_dtor)(gunner_t *p);
@@ -41,7 +40,6 @@
 
 double (gunner_distance)(const gunner_t *p1, const gunner_t *p2);
 
-struct bullet;
 typedef struct bullet bullet_t;
 bullet_t* (bullet_ctor)(const gunner_t *shooter, const basic_sprite_t *b, double x, double y, double vx, double vy);
 void      (bullet_dtor)(bullet_t *p);
@@ -62,7 +60,6 @@
 void (bullet_draw_list)(list_t *bullet_list);
 void (gunner_draw_health)(const gunner_t *p);
 
-struct map;
 typedef struct map map_t;
 map_t* (map_ctor)(const char *const *background, const char *const *collide);
 void   (map_dtor)(map_t *p);
Index: proj/include/proj_structures.h
===================================================================
--- proj/include/proj_structures.h	(revision 335)
+++ proj/include/proj_structures.h	(revision 336)
@@ -5,29 +5,47 @@
 #include "ent.h"
 
 typedef struct keys {
+    /// @brief W is pressed when 1
     uint8_t w_pressed       : 1;
+    /// @brief A is pressed when 1
     uint8_t a_pressed       : 1;
+    /// @brief S is pressed when 1
     uint8_t s_pressed       : 1;
+    /// @brief D is pressed when 1
     uint8_t d_pressed       : 1;
+    /// @brief Ctrl is pressed when 1
     uint8_t ctrl_pressed    : 1;
+    /// @brief Plus (+) is pressed when 1
     uint8_t plus_pressed    : 1;
+    /// @brief Minus (-) is pressed when 1
     uint8_t minus_pressed   : 1;
+    /// @brief Mouse left button is pressed when 1
     uint8_t lb_pressed      : 1;
 } keys_t;
 
 typedef struct {
     // host
+    /// @brief Host player X-position
     int16_t    host_x;
+    /// @brief Host player Y-postition
     int16_t    host_y;
+    /// @brief Host player angle
     int16_t    host_angle;
+    /// @brief Host player health
     int16_t    host_health;
+    /// @brief Host player current health
     int16_t    host_current_health;
 
     // remote
+    /// @brief Remote player X-position
     int16_t    remote_x;
+    /// @brief Remote player Y-postition
     int16_t    remote_y;
+    /// @brief Remote player angle
     int16_t    remote_angle;
+    /// @brief Remote player health
     int16_t    remote_health;
+    /// @brief Remote player current health
     int16_t    remote_current_health;
 
     // bullets
@@ -40,11 +58,14 @@
 } host_info_t;
 
 typedef struct {
+    /// @brief Remote keys that are pressed
     keys_t  remote_keys_pressed;
+    /// @brief Remote player angle
     double  remote_angle;
 } remote_info_t;
 
 typedef struct {
+    /// @brief New bullet signal from remote
     bool   new_bullet;
 } bullet_info_t;
 
Index: proj/libs/classes/include/list.h
===================================================================
--- proj/libs/classes/include/list.h	(revision 335)
+++ proj/libs/classes/include/list.h	(revision 336)
@@ -23,7 +23,9 @@
  * @{
  */
 
-struct list_node;
+/**
+ * @brief List node.
+ */
 typedef struct list_node list_node_t;
 
 /**
@@ -62,8 +64,9 @@
  * @}
  */
 
-struct list;
-
+/**
+ * @brief List.
+ */
 typedef struct list list_t;
 
 /**
Index: proj/libs/classes/include/queue.h
===================================================================
--- proj/libs/classes/include/queue.h	(revision 335)
+++ proj/libs/classes/include/queue.h	(revision 336)
@@ -12,7 +12,6 @@
  * @{
  */
 
-struct queue;
 typedef struct queue queue_t;
 
 /**
Index: proj/libs/graph/include/graph.h
===================================================================
--- proj/libs/graph/include/graph.h	(revision 335)
+++ proj/libs/graph/include/graph.h	(revision 336)
@@ -11,20 +11,30 @@
  */
 
 // Graphics modes
+/// @brief Indexed graphic mode, 1024x768 px
 #define INDEXED_1024_768        0x105
+/// @brief Direct graphic mode, 640x480 px, RGB = 888 bits
 #define DIRECT_640_480_888      0x110
+/// @brief Direct graphic mode, 800x600 px, RGB = 888 bits
 #define DIRECT_800_600_888      0x115
+/// @brief Direct graphic mode, 1024x768 px, RGB = 888 bits
 #define DIRECT_1024_768_888     0x118
+/// @brief Direct graphic mode, 1280x1024 px, RGB = 565 bits
 #define DIRECT_1280_1024_565    0x11A
+/// @brief Direct graphic mode, 1280x1024 px, RGB = 888 bits
 #define DIRECT_1280_1024_888    0x11B
 
 // Colors in RBG (8 bit)
+/// @brief Black color
 #define GRAPH_BLACK             0x000000
+/// @brief White color
 #define GRAPH_WHITE             0xFFFFFF
+/// @brief Transparent
 #define GRAPH_TRANSPARENT       0x00
+/// @brief Red color
 #define GRAPH_RED               0xFF0000
 
-// Alpha
+/// @brief Alpha threshold, from which it is either considered transparent or opaque
 #define ALPHA_THRESHOLD     0x7F
 
 /**
Index: proj/libs/kbc/include/keyboard.h
===================================================================
--- proj/libs/kbc/include/keyboard.h	(revision 335)
+++ proj/libs/kbc/include/keyboard.h	(revision 336)
@@ -39,14 +39,19 @@
 #define MINUS_MAKE_CODE         0x35
 /** @brief Minus (-) Break Code */
 #define MINUS_BREAK_CODE        0xB5
+/** @brief Enter Make Code */
 #define ENTER_MAKE_CODE         0x1C
+/** @brief Enter Break Code */
 #define ENTER_BREAK_CODE        0x9C
+/** @brief Backspace Make Code */
 #define BACKSPACE_MAKE_CODE     0x0E
+/** @brief Backspace Break Code */
 #define BACKSPACE_BREAK_CODE    0x8E
+/** @brief ESC Make Code */
+#define ESC_MAKE_CODE           0x01
+/** @brief ESC Break Code */
+#define ESC_BREAK_CODE          0x81
 
-#define ESC_MAKE_CODE           0x01    /** @brief ESC Make Code */
-#define ESC_BREAK_CODE          0x81    /** @brief ESC Break Code */
-
 /**
  * @brief Subscribes Keyboard Interrupts and disables Minix Default IH.
  * @param interrupt_bit Bit of Interrupt Vector that will be set when Keyboard Interrupt is pending
@@ -56,13 +61,36 @@
  */
 int (subscribe_kbc_interrupt)(uint8_t interrupt_bit, int *interrupt_id);
 
+/**
+ * @brief Get scancode read from keyboard.
+ * @return  Pointer to begin of scancode array (array with size 2)
+ */
 const uint8_t* keyboard_get_scancode(void);
+/**
+ * @brief Get state of reading (done).
+ * @return  1 if done, 0 otherwise
+ */
 int keyboard_get_done(void);
+/**
+ * @brief Get size of read scancode (1 or 2).
+ * @return Size of scancode
+ */
 int keyboard_get_size(void);
+/**
+ * @brief Get error code of previous run of kbc_ih, if an error occured.
+ * @return  Error code, or 0 if successful
+ */
 int keyboard_get_error(void);
-
+/**
+ * @brief KBC interrupt handler. Reads scancodes.
+ */
 void (kbc_ih)(void);
-
+/**
+ * @brief Poll keyboard for scancodes.
+ * @param   bytes   Array to put read bytes (up to 2)
+ * @param   size    Number of ready bytes (1 or 2)
+ * @return  SUCCESS if operation was successful, other value otherwise
+ */
 int (keyboard_poll)(uint8_t bytes[], uint8_t *size);
 
 /**
Index: proj/libs/uart/include/hltp.h
===================================================================
--- proj/libs/uart/include/hltp.h	(revision 335)
+++ proj/libs/uart/include/hltp.h	(revision 336)
@@ -12,6 +12,9 @@
 #include "uart.h"
 #include "proj_structures.h"
 
+/**
+ * @brief Data types that HLTP is familiar with (i.e., can send and intepret).
+ */
 typedef enum{
     hltp_type_invalid = 0x00,
     hltp_type_string  = 0x53,
Index: proj/src/proj.c
===================================================================
--- proj/src/proj.c	(revision 335)
+++ proj/src/proj.c	(revision 336)
@@ -12,6 +12,7 @@
 #include "mouse.h"
 #include "graph.h"
 #include "menu.h"
+#include "text_timer.h"
 #include "rtc.h"
 #include "hltp.h"
 #include "interrupts_func.h"
