X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=src%2Fserver%2Fmap.c;h=ae907d2327363fef50919575440a27a6a094a702;hb=f6615d3be438bbca4997c38c546c0d8724da80d4;hp=059a7133134cea14f0c4343241f05fba373daf84;hpb=1452d43c6d7c89219cda91362da53ac8e4acb887;p=plomrogue diff --git a/src/server/map.c b/src/server/map.c index 059a713..ae907d2 100644 --- a/src/server/map.c +++ b/src/server/map.c @@ -5,8 +5,9 @@ #include /* free() */ #include "../common/rexit.h" /* exit_err() */ #include "../common/try_malloc.h" /* try_malloc() */ -#include "../common/yx_uint8.h" /* struct yx_uint8 */ +#include "../common/yx_uint8.h" /* yx_uint8 */ #include "rrand.h" /* rrand() */ +#include "yx_uint8.h" /* mv_yx_in_dir_wrap() */ #include "world.h" /* global world */ @@ -139,9 +140,8 @@ static void make_trees() extern void remake_map() { - char * f_name = "init_map()"; free(world.map.cells); - world.map.cells = try_malloc(world.map.length * world.map.length, f_name); + world.map.cells = try_malloc(world.map.length * world.map.length, __func__); uint32_t store_seed = world.seed; world.seed = world.seed_map; make_sea(); @@ -152,19 +152,12 @@ extern void remake_map() -extern uint8_t is_passable(struct yx_uint8 pos) +extern uint8_t mv_yx_in_dir_legal(char dir, struct yx_uint8 * yx) { - uint8_t passable = 0; - if (pos.x < world.map.length && pos.y < world.map.length) + uint8_t wraptest = mv_yx_in_dir_wrap(dir, yx, 0); + if (!wraptest && yx->x < world.map.length && yx->y < world.map.length) { - passable = ('.' == world.map.cells[(pos.y * world.map.length) + pos.x]); + return 1; } - return passable; -} - - - -extern uint16_t yx_to_map_pos(struct yx_uint8 * yx) -{ - return (yx->y * world.map.length) + yx->x; + return 0; }