home · contact · privacy
Server: New field of view algorithm, much faster and more precise.
[plomrogue] / src / server / field_of_view.h
index eb117ae4f7cbacbdb408dd198faead5ef7924931..93ea9824a1ec9f54636257d60529ab728e5a4530 100644 (file)
@@ -1,6 +1,6 @@
 /* src/server/field_of_view.h
  *
- * Generate view of map as visible to player.
+ * Generate field of view maps.
  */
 
 
@@ -8,12 +8,21 @@
 #ifndef FIELD_OF_VIEW_H
 #define FIELD_OF_VIEW_H
 
+#include <stdint.h> /* uint8_t */
+struct Thing;
 
 
-/* Return map cells sequence as visible to the player, with invisible cells as
- * whitespace. Super-impose over visible map cells map objects positioned there.
- */
-extern char * build_visible_map();
+
+/* States that cells in the field of view map may be in. */
+enum fov_cell_states {
+    HIDDEN = 0x00,
+    VISIBLE = 0x01
+};
+
+
+
+/* Return field of view map of the world as seen from the position of "eye". */
+extern uint8_t * build_fov_map(struct Thing * eye);