X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;ds=sidebyside;f=src%2Fserver%2Ffield_of_view.h;h=6e4edb908c2779a1648387417bb5c2a9fcbd642b;hb=632b6d3e471fcdebbbf0d753a9ae3080b432e626;hp=d7d7d00795297c7be561968ac5e0c290b5f8d9dc;hpb=d92f16d5959fc846d3eaf669517eecb3969cda08;p=plomrogue
diff --git a/src/server/field_of_view.h b/src/server/field_of_view.h
index d7d7d00..6e4edb9 100644
--- a/src/server/field_of_view.h
+++ b/src/server/field_of_view.h
@@ -1,10 +1,12 @@
/* src/server/field_of_view.h
+ *
+ * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
+ * or any later version. For details on its copyright, license, and warranties,
+ * see the file NOTICE in the root directory of the PlomRogue source package.
*
* Generate field of view maps.
*/
-
-
#ifndef FIELD_OF_VIEW_H
#define FIELD_OF_VIEW_H
@@ -13,33 +15,8 @@ struct Thing;
-/* States that cells in the fov map may be in. */
-enum fov_cell_states {
- VISIBLE = 0x01,
- HIDDEN = 0x02,
- SHADOW_LEFT = 0x04,
- SHADOW_RIGHT = 0x08,
- LIMIT = 0x10,
- HIDE_LATER = 0x20
-};
-
-/* Return overlay of world map wherein all cell positions visible from player's
- * positions have flag VISIBLE set.
- *
- * This is achieved by spiraling out clock-wise from the player position,
- * flagging cells as VISIBLE unless they're already marked as HIDDEN, and, on
- * running into obstacles for view that are not HIDDEN, casting shadows from
- * these, i.e. drawing cells as HIDDEN that would be hidden by said obstacle,
- * before continuing the original spiraling path.
- *
- * Shadowcasting during spiraling is initially lazy, flagging only the shadows'
- * interior cells as HIDDEN and their border cells as HIDE_LATER. Only at the
- * end are all cells flagged HIDE_LATER flagged as HIDDEN. This is to handle
- * cases where obstacles to view sit right at the border of pre-estabilshed
- * shadows, therefore might be ignored if HIDDEN and not cast shadows on their
- * own that may slightly extend beyond the pre-established shadows they border.
- */
-extern uint8_t * build_fov_map(struct Thing * eye);
+/* Build "t"'s field of view and update its map memory with the result. */
+extern void build_fov_map(struct Thing * t);