From 2be6f298a1c39dff04070588f75a3bed0c495b8b Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Mon, 3 Jan 2005 22:27:31 +0000 Subject: Use a std::list to store the beings (nodes). --- src/map.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/map.cpp') diff --git a/src/map.cpp b/src/map.cpp index 0687dd53..ec796768 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -52,16 +52,17 @@ void set_walk(short x_c, short y_c, bool walkable) { } bool get_walk(short x_c, short y_c) { - bool ret = (tiled_map.tiles[x_c][y_c].data[3] & 0x0002)>0; - if(ret==true) { - NODE *node = get_head(); - while(node && ret==true) { - if(get_x(node->coordinates)==x_c && get_y(node->coordinates)==y_c) - ret = false; - node = node->next; - } - return ret; - } else return false; + bool ret = (tiled_map.tiles[x_c][y_c].data[3] & 0x0002)>0; + if (ret == true) { + std::list::iterator i = beings.begin(); + while (i != beings.end() && ret == true) { + NODE *node = (*i); + if (get_x(node->coordinates)==x_c && get_y(node->coordinates)==y_c) + ret = false; + i++; + } + return ret; + } else return false; } unsigned char get_path_walk(unsigned short x, unsigned short y) { -- cgit v1.2.3-60-g2f50