X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fmap.c;h=833ff98cd1d380bdd97f5b74c9c66f219b5c5225;hb=78351959c331d9c99851c883aabeca3bec9a3535;hp=807083d708faf5dabff5d857d4270bc2d4c2b001;hpb=0720a8a7ee586548b096674c61cd8ae3067e508e;p=plomrogue diff --git a/src/server/map.c b/src/server/map.c index 807083d..833ff98 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) */ @@ -200,9 +205,7 @@ 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; + 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;