From 7f1bbcad94bdb6fe02715ffe70be1b24d61b9766 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 17 Aug 2020 08:39:22 +0200 Subject: [PATCH] fairland: Eliminate macro ELEV, it's an abomination Signed-off-by: Markus Armbruster --- src/util/fairland.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/util/fairland.c b/src/util/fairland.c index a7a6a622d..025223e68 100644 --- a/src/util/fairland.c +++ b/src/util/fairland.c @@ -1301,7 +1301,6 @@ distance_to_what(int x, int y, int flag) return d; } -#define ELEV elev[sectx[c][i]][secty[c][i]] #define distance_to_sea() (sectc[c][i]?1:distance_to_what(sectx[c][i], secty[c][i], 0)) #define distance_to_mountain() distance_to_what(sectx[c][i], secty[c][i], 2) @@ -1310,8 +1309,8 @@ distance_to_what(int x, int y, int flag) static void elevate_land(void) { - int i, mountain_search, k, c, total, ns, nm, highest, where, h, newk, - r, dk; + int i, mountain_search, k, c, total, ns, nm, r, x, y; + int highest, where, h, newk, dk; for (c = 0; c < nc + ni; ++c) { total = 0; @@ -1329,16 +1328,19 @@ elevate_land(void) k && mountain_search < MOUNTAIN_SEARCH_MAX; ++mountain_search) { r = roll0(total); - for (i = 0; i < ns; ++i) - if (r < weight[i] && ELEV == -INFINITE_ELEVATION && + for (i = 0; i < ns; ++i) { + x = sectx[c][i]; + y = secty[c][i]; + if (r < weight[i] && elev[x][y] == -INFINITE_ELEVATION && (c >= nc || ((!(capx[c] == sectx[c][i] && capy[c] == secty[c][i])) && (!(new_x(capx[c] + 2) == sectx[c][i] && capy[c] == secty[c][i]))))) { - ELEV = INFINITE_ELEVATION; + elev[x][y] = INFINITE_ELEVATION; break; } + } --k; } @@ -1353,7 +1355,9 @@ elevate_land(void) highest = 0; where = -1; for (i = 0; i < ns; ++i) { - if (ELEV == -INFINITE_ELEVATION && + x = sectx[c][i]; + y = secty[c][i]; + if (elev[x][y] == -INFINITE_ELEVATION && (c >= nc || ((!(capx[c] == sectx[c][i] && capy[c] == secty[c][i])) && (!(new_x(capx[c] + 2) == sectx[c][i] && @@ -1379,17 +1383,19 @@ elevate_land(void) /* Elevate the mountains and capitals */ for (i = 0; i < ns; ++i) { - if (ELEV == INFINITE_ELEVATION) { + x = sectx[c][i]; + y = secty[c][i]; + if (elev[x][y] == INFINITE_ELEVATION) { if (dsea[i] == 1) - ELEV = HILLMIN + roll0(PLATMIN - HILLMIN); + elev[x][y] = HILLMIN + roll0(PLATMIN - HILLMIN); else - ELEV = HIGHMIN + roll0((256 - HIGHMIN) / 2) + + elev[x][y] = HIGHMIN + roll0((256 - HIGHMIN) / 2) + roll0((256 - HIGHMIN) / 2); } else if (c < nc && (((capx[c] == sectx[c][i] && capy[c] == secty[c][i])) || ((new_x(capx[c] + 2) == sectx[c][i] && capy[c] == secty[c][i])))) - ELEV = PLATMIN; + elev[x][y] = PLATMIN; } } } -- 2.43.0