-/* 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) */
}
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)
{
{
wrap_north_south++;
}
- if ( !((wrap_west_east != 0) + (wrap_north_south != 0))
+ if ( !wrap_west_east && !wrap_north_south
&& yx->x < world.map.length && yx->y < world.map.length)
{
return 1;