X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/ledger2?a=blobdiff_plain;f=src%2Fserver%2Fmap.c;h=c58ff2135e535f7e2ae00ddf0ecd141def5f19a1;hb=8ecbd583ff7282db315850c16a66782d78cae54f;hp=807083d708faf5dabff5d857d4270bc2d4c2b001;hpb=0720a8a7ee586548b096674c61cd8ae3067e508e;p=plomrogue diff --git a/src/server/map.c b/src/server/map.c index 807083d..c58ff21 100644 --- a/src/server/map.c +++ b/src/server/map.c @@ -200,9 +200,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 +218,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;