X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Flibplomrogue.c;h=ef1e4ce671a98febbbd2bdff52011c1d5e0cd6c3;hb=1990a013f8dcab2d7c0908cd6b3060f62c96cdcc;hp=0e8f3fb54a74fcad65020257f661a10289a55f46;hpb=127ef6060162f49b7def9528dc3adc3affd55988;p=plomrogue diff --git a/src/server/libplomrogue.c b/src/server/libplomrogue.c index 0e8f3fb..ef1e4ce 100644 --- a/src/server/libplomrogue.c +++ b/src/server/libplomrogue.c @@ -357,7 +357,8 @@ static uint8_t eval_position(uint16_t dist, uint16_t hex_i, char * fov_map, uint16_t pos_in_map = test_pos->y * maplength + test_pos->x; uint8_t all_shaded = shade_hex(left_angle, right_angle_1st, middle_angle, shadows, pos_in_map, fov_map); - if (!all_shaded && 'X' == worldmap[pos_in_map]) + if (!all_shaded && ('X' == worldmap[pos_in_map] + || '|' == worldmap[pos_in_map])) // { if (set_shadow(left_angle, right_angle_1st, shadows)) { @@ -583,7 +584,7 @@ extern uint8_t zero_score_map_where_char_on_memdepthmap(char c, } extern void age_some_memdepthmap_on_nonfov_cells(char * memdepthmap, - char * fovmap) + char * fovmap) { uint32_t map_size = maplength * maplength; uint16_t pos; @@ -599,3 +600,39 @@ extern void age_some_memdepthmap_on_nonfov_cells(char * memdepthmap, } } } + +extern uint8_t set_cells_passable_on_memmap_to_65534_on_scoremap(char * mem_map) +{ + if (!score_map) + { + return 1; + } + uint32_t map_size = maplength * maplength; + uint16_t pos; + for (pos = 0; pos < map_size; pos++) + { + char c = mem_map[pos]; // + if ('.' == c || ':' == c || '_' == c) // + //if ('.' == mem_map[pos]) + { + score_map[pos] = 65534; + } + } + return 0; +} + +extern void update_mem_and_memdepthmap_via_fovmap(char * map, char * fovmap, + char * memdepthmap, + char * memmap) +{ + uint32_t map_size = maplength * maplength; + uint16_t pos; + for (pos = 0; pos < map_size; pos++) + { + if ('v' == fovmap[pos]) + { + memdepthmap[pos] = '0'; + memmap[pos] = map[pos]; + } + } +}