--- deliantra/server/common/map.C 2006/12/25 11:25:49 1.47 +++ deliantra/server/common/map.C 2006/12/25 14:43:22 1.48 @@ -198,7 +198,7 @@ dump_map (const maptile *m) { LOG (llevError, "Map %s status: %d.\n", m->path, m->in_memory); - LOG (llevError, "Size: %dx%d Start: %d,%d\n", MAP_WIDTH (m), MAP_HEIGHT (m), MAP_ENTER_X (m), MAP_ENTER_Y (m)); + LOG (llevError, "Size: %dx%d Start: %d,%d\n", m->width, m->height, MAP_ENTER_X (m), MAP_ENTER_Y (m)); if (m->msg != NULL) LOG (llevError, "Message:\n%s", m->msg); @@ -485,8 +485,8 @@ object *tmp, *op, *last, *above; archetype *at; - for (x = 0; x < MAP_WIDTH (m); x++) - for (y = 0; y < MAP_HEIGHT (m); y++) + for (x = 0; x < m->width; x++) + for (y = 0; y < m->height; y++) for (tmp = GET_MAP_OB (m, x, y); tmp != NULL; tmp = above) { above = tmp->above; @@ -608,13 +608,13 @@ object *op; /* first pass - save one-part objects */ - for (i = 0; i < MAP_WIDTH (m); i++) - for (j = 0; j < MAP_HEIGHT (m); j++) + for (i = 0; i < m->width; i++) + for (j = 0; j < m->height; j++) { unique = 0; - for (op = GET_MAP_OB (m, i, j); op; op = op->above) + for (op = m->at (i, j).bottom; op; op = op->above) { - if (QUERY_FLAG (op, FLAG_IS_FLOOR) && QUERY_FLAG (op, FLAG_UNIQUE)) + if (op->flag [FLAG_IS_FLOOR] && op->flag [FLAG_UNIQUE]) unique = 1; if (op->type == PLAYER) @@ -623,9 +623,9 @@ if (op->head || op->owner) continue; - if (unique || QUERY_FLAG (op, FLAG_UNIQUE)) + if (unique || op->flag [FLAG_UNIQUE]) save_object (fp2, op, 3); - else if (flag == 0 || (flag == 2 && (!QUERY_FLAG (op, FLAG_OBJ_ORIGINAL) && !QUERY_FLAG (op, FLAG_UNPAID)))) + else if (flag == 0 || (flag == 2 && (!op->flag [FLAG_OBJ_ORIGINAL] && !op->flag [FLAG_UNPAID]))) save_object (fp, op, 3); } } @@ -637,8 +637,8 @@ /* The maps used to pick up default x and y values from the * map archetype. Mimic that behaviour. */ - MAP_WIDTH (this) = 16; - MAP_HEIGHT (this) = 16; + this->width = 16; + this->height = 16; MAP_RESET_TIMEOUT (this) = 0; MAP_TIMEOUT (this) = 300; MAP_ENTER_X (this) = 0; @@ -1240,8 +1240,8 @@ int i, j, unique; object *op, *next; - for (i = 0; i < MAP_WIDTH (m); i++) - for (j = 0; j < MAP_HEIGHT (m); j++) + for (i = 0; i < m->width; i++) + for (j = 0; j < m->height; j++) { unique = 0; @@ -1455,8 +1455,8 @@ if (!m->spaces) return; - for (int i = 0; i < MAP_WIDTH (m); i++) - for (int j = 0; j < MAP_HEIGHT (m); j++) + for (int i = 0; i < m->width; i++) + for (int j = 0; j < m->height; j++) { mapspace &ms = m->at (i, j); @@ -1700,8 +1700,8 @@ return MAP_DIFFICULTY (m); } - for (x = 0; x < MAP_WIDTH (m); x++) - for (y = 0; y < MAP_HEIGHT (m); y++) + for (x = 0; x < m->width; x++) + for (y = 0; y < m->height; y++) for (op = GET_MAP_OB (m, x, y); op != NULL; op = op->above) { if (QUERY_FLAG (op, FLAG_MONSTER)) @@ -2046,10 +2046,10 @@ if (!m->tile_map[3] || m->tile_map[3]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 3); - return (out_of_map (m->tile_map[3], x + MAP_WIDTH (m->tile_map[3]), y)); + return (out_of_map (m->tile_map[3], x + m->tile_map[3]->width, y)); } - if (x >= MAP_WIDTH (m)) + if (x >= m->width) { if (!m->tile_path[1]) return 1; @@ -2057,7 +2057,7 @@ if (!m->tile_map[1] || m->tile_map[1]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 1); - return (out_of_map (m->tile_map[1], x - MAP_WIDTH (m), y)); + return (out_of_map (m->tile_map[1], x - m->width, y)); } if (y < 0) @@ -2068,10 +2068,10 @@ if (!m->tile_map[0] || m->tile_map[0]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 0); - return (out_of_map (m->tile_map[0], x, y + MAP_HEIGHT (m->tile_map[0]))); + return (out_of_map (m->tile_map[0], x, y + m->tile_map[0]->height)); } - if (y >= MAP_HEIGHT (m)) + if (y >= m->height) { if (!m->tile_path[2]) return 1; @@ -2079,7 +2079,7 @@ if (!m->tile_map[2] || m->tile_map[2]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 2); - return (out_of_map (m->tile_map[2], x, y - MAP_HEIGHT (m))); + return (out_of_map (m->tile_map[2], x, y - m->height)); } /* Simple case - coordinates are within this local @@ -2107,11 +2107,11 @@ if (!m->tile_map[3] || m->tile_map[3]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 3); - *x += MAP_WIDTH (m->tile_map[3]); + *x += m->tile_map[3]->width; return (get_map_from_coord (m->tile_map[3], x, y)); } - if (*x >= MAP_WIDTH (m)) + if (*x >= m->width) { if (!m->tile_path[1]) return 0; @@ -2119,7 +2119,7 @@ if (!m->tile_map[1] || m->tile_map[1]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 1); - *x -= MAP_WIDTH (m); + *x -= m->width; return (get_map_from_coord (m->tile_map[1], x, y)); } @@ -2131,11 +2131,11 @@ if (!m->tile_map[0] || m->tile_map[0]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 0); - *y += MAP_HEIGHT (m->tile_map[0]); + *y += m->tile_map[0]->height; return (get_map_from_coord (m->tile_map[0], x, y)); } - if (*y >= MAP_HEIGHT (m)) + if (*y >= m->height) { if (!m->tile_path[2]) return 0; @@ -2143,7 +2143,7 @@ if (!m->tile_map[2] || m->tile_map[2]->in_memory != MAP_IN_MEMORY) load_and_link_tiled_map (m, 2); - *y -= MAP_HEIGHT (m); + *y -= m->height; return (get_map_from_coord (m->tile_map[2], x, y)); } @@ -2173,63 +2173,63 @@ else if (map1->tile_map[0] == map2) { /* up */ *dx = 0; - *dy = -MAP_HEIGHT (map2); + *dy = -map2->height; } else if (map1->tile_map[1] == map2) { /* right */ - *dx = MAP_WIDTH (map1); + *dx = map1->width; *dy = 0; } else if (map1->tile_map[2] == map2) { /* down */ *dx = 0; - *dy = MAP_HEIGHT (map1); + *dy = map1->height; } else if (map1->tile_map[3] == map2) { /* left */ - *dx = -MAP_WIDTH (map2); + *dx = -map2->width; *dy = 0; } else if (map1->tile_map[0] && map1->tile_map[0]->tile_map[1] == map2) { /* up right */ - *dx = MAP_WIDTH (map1->tile_map[0]); - *dy = -MAP_HEIGHT (map1->tile_map[0]); + *dx = map1->tile_map[0]->width; + *dy = -map1->tile_map[0]->height; } else if (map1->tile_map[0] && map1->tile_map[0]->tile_map[3] == map2) { /* up left */ - *dx = -MAP_WIDTH (map2); - *dy = -MAP_HEIGHT (map1->tile_map[0]); + *dx = -map2->width; + *dy = -map1->tile_map[0]->height; } else if (map1->tile_map[1] && map1->tile_map[1]->tile_map[0] == map2) { /* right up */ - *dx = MAP_WIDTH (map1); - *dy = -MAP_HEIGHT (map2); + *dx = map1->width; + *dy = -map2->height; } else if (map1->tile_map[1] && map1->tile_map[1]->tile_map[2] == map2) { /* right down */ - *dx = MAP_WIDTH (map1); - *dy = MAP_HEIGHT (map1->tile_map[1]); + *dx = map1->width; + *dy = map1->tile_map[1]->height; } else if (map1->tile_map[2] && map1->tile_map[2]->tile_map[1] == map2) { /* down right */ - *dx = MAP_WIDTH (map1->tile_map[2]); - *dy = MAP_HEIGHT (map1); + *dx = map1->tile_map[2]->width; + *dy = map1->height; } else if (map1->tile_map[2] && map1->tile_map[2]->tile_map[3] == map2) { /* down left */ - *dx = -MAP_WIDTH (map2); - *dy = MAP_HEIGHT (map1); + *dx = -map2->width; + *dy = map1->height; } else if (map1->tile_map[3] && map1->tile_map[3]->tile_map[0] == map2) { /* left up */ - *dx = -MAP_WIDTH (map1->tile_map[3]); - *dy = -MAP_HEIGHT (map2); + *dx = -map1->tile_map[3]->width; + *dy = -map2->height; } else if (map1->tile_map[3] && map1->tile_map[3]->tile_map[2] == map2) { /* left down */ - *dx = -MAP_WIDTH (map1->tile_map[3]); - *dy = MAP_HEIGHT (map1->tile_map[3]); + *dx = -map1->tile_map[3]->width; + *dy = map1->tile_map[3]->height; } else