From: Ron Koenderink Date: Tue, 26 Dec 2006 19:17:22 +0000 (+0000) Subject: (do_mob_land): Disable automatic land unit fortification with excess X-Git-Tag: v4.3.9~17 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=94af80144962b42a1b34697cd83586fa9632da47 (do_mob_land): Disable automatic land unit fortification with excess mobility when MOB_ACCESS is on. It leads to excessively deep recursion and thus miserable performance as the number of land units grows. --- diff --git a/src/lib/update/mobility.c b/src/lib/update/mobility.c index 9310deaa6..51bd47375 100644 --- a/src/lib/update/mobility.c +++ b/src/lib/update/mobility.c @@ -400,7 +400,8 @@ do_mob_land(struct lndstr *lp, int etus) if (opt_FUEL == 0) { /* just some bits and pieces */ value = lp->lnd_mobil + ((float)etus * land_mob_scale); if (value > land_mob_max) { - lnd_fortify(lp, value - land_mob_max); + if (!opt_MOB_ACCESS) + lnd_fortify(lp, value - land_mob_max); value = land_mob_max; } lp->lnd_mobil = value; @@ -412,7 +413,8 @@ do_mob_land(struct lndstr *lp, int etus) if (lp->lnd_fuelu == 0) { value = lp->lnd_mobil + ((float)etus * land_mob_scale); if (value > land_mob_max) { - lnd_fortify(lp, value - land_mob_max); + if (!opt_MOB_ACCESS) + lnd_fortify(lp, value - land_mob_max); value = land_mob_max; } lp->lnd_mobil = value;