X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fmap.c;h=4cce02ae3c5cd08831f96f0d0bb49b5f0224959d;hb=9ee3279f2caf89f2fdade2839840d2a07e86d50d;hp=807083d708faf5dabff5d857d4270bc2d4c2b001;hpb=0720a8a7ee586548b096674c61cd8ae3067e508e;p=plomrogue diff --git a/src/server/map.c b/src/server/map.c index 807083d..4cce02a 100644 --- a/src/server/map.c +++ b/src/server/map.c @@ -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 /* 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) { @@ -220,7 +223,7 @@ extern uint8_t mv_yx_in_dir_legal(char dir, struct yx_uint8 * yx) { 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;