From 9a160b380b94ce9b89c93214fe7b9de3f36ed01f Mon Sep 17 00:00:00 2001 From: haranp Date: Tue, 22 Jul 2008 20:21:15 +0000 Subject: Massive change from using x and y to using coord_defs(). Not quite tested, most likely broken in some places and might break tiles. Will fix in the near future. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6636 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/abyss.cc | 62 ++++++++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 36 deletions(-) (limited to 'crawl-ref/source/abyss.cc') diff --git a/crawl-ref/source/abyss.cc b/crawl-ref/source/abyss.cc index ce0fba4011..b7af7c07a2 100644 --- a/crawl-ref/source/abyss.cc +++ b/crawl-ref/source/abyss.cc @@ -60,7 +60,7 @@ static bool _place_feature_near( const coord_def ¢re, if (cp == centre || (cp - centre).abs() > radius2 || !in_bounds(cp)) continue; - if (not_seen && grid_see_grid(cp.x, cp.y, centre.x, centre.y)) + if (not_seen && grid_see_grid(cp, centre)) continue; if (grd(cp) == candidate) @@ -259,7 +259,7 @@ static void _generate_area(int gx1, int gy1, int gx2, int gy2, true, items_level, 250); } - move_item_to_grid( &thing_created, i, j ); + move_item_to_grid( &thing_created, coord_def(i, j) ); if (thing_created != NON_ITEM) items_placed++; @@ -486,46 +486,36 @@ void area_shift(void) } // Shift all monsters & items to new area. - for (int i = you.x_pos - 10; i <= you.x_pos + 10; i++) + for (radius_iterator ri(you.pos(), 10, true, false); ri; ++ri) { - if (i < 0 || i >= GXM) - continue; - - for (int j = you.y_pos - 10; j <= you.y_pos + 10; j++) - { - if (j < 0 || j >= GYM) - continue; - - const int ipos = 45 + i - you.x_pos; - const int jpos = 35 + j - you.y_pos; + const coord_def newpos = coord_def(45,35) + *ri - you.pos(); - // Move terrain. - grd[ipos][jpos] = grd[i][j]; - - // Move item. + // Move terrain. + grd(newpos) = grd(*ri); + + // Move item. #ifdef DEBUG_ABYSS - if (igrd[i][j] != NON_ITEM) - { - mprf(MSGCH_DIAGNOSTICS, - "Move item stack from (%d, %d) to (%d, %d)", - i, j, ipos, jpos); - } + if (igrd(*ri) != NON_ITEM) + { + mprf(MSGCH_DIAGNOSTICS, + "Move item stack from (%d, %d) to (%d, %d)", + ri->x, ri->y, newpos.x, newpos.y); + } #endif - move_item_stack_to_grid( i, j, ipos, jpos ); - - // Move monster. - mgrd[ipos][jpos] = mgrd[i][j]; - if (mgrd[i][j] != NON_MONSTER) - { - menv[mgrd[ipos][jpos]].x = ipos; - menv[mgrd[ipos][jpos]].y = jpos; - mgrd[i][j] = NON_MONSTER; - } + move_item_stack_to_grid( *ri, newpos ); - // Move cloud, - if (env.cgrid[i][j] != EMPTY_CLOUD) - move_cloud( env.cgrid[i][j], ipos, jpos ); + // Move monster. + mgrd(newpos) = mgrd(*ri); + if (mgrd(*ri) != NON_MONSTER) + { + menv[mgrd(newpos)].x = newpos.x; + menv[mgrd(newpos)].y = newpos.y; + mgrd(*ri) = NON_MONSTER; } + + // Move cloud, + if (env.cgrid(*ri) != EMPTY_CLOUD) + move_cloud( env.cgrid(*ri), newpos ); } for (unsigned int i = 0; i < MAX_CLOUDS; i++) -- cgit v1.2.3-54-g00ecf