home · contact · privacy
Server: Decouple update_map_memory() and build_fov_map(), thus fix bugs.
[plomrogue] / src / server / map.c
index 0007633711d7ba29a5a7a5a9297c62ff47efaafd..4cce02ae3c5cd08831f96f0d0bb49b5f0224959d 100644 (file)
@@ -1,4 +1,9 @@
-/* src/server/map.c */
+/* src/server/map.c
+ *
+ * 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.
+ */
 
 #include "map.h"
 #include <stdint.h> /* uint8_t, int8_t, uint16_t, uint32_t, (U)INT*_(MIN|MAX) */
@@ -199,10 +204,8 @@ extern uint8_t mv_yx_in_dir_legal(char dir, struct yx_uint8 * yx)
     }
     char * err = "Too much wrapping in mv_yx_in_dir_legal().";
     exit_err(   INT8_MIN == wrap_west_east || INT8_MIN == wrap_north_south
-             || INT8_MAX == wrap_west_east || INT8_MAX == wrap_north_south, err);
-    struct yx_uint8 original;
-    original.y = yx->y;
-    original.x = yx->x;
+             || INT8_MAX == wrap_west_east || INT8_MAX == wrap_north_south,err);
+    struct yx_uint8 original = *yx;
     mv_yx_in_dir(dir, yx);
     if      (('e' == dir || 'd' == dir || 'c' == dir) && yx->x < original.x)
     {