(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.
This commit is contained in:
Ron Koenderink 2006-12-26 19:17:22 +00:00
parent 3e2cc8b746
commit 94af801449

View file

@ -400,6 +400,7 @@ do_mob_land(struct lndstr *lp, int etus)
if (opt_FUEL == 0) { /* just some bits and pieces */ if (opt_FUEL == 0) { /* just some bits and pieces */
value = lp->lnd_mobil + ((float)etus * land_mob_scale); value = lp->lnd_mobil + ((float)etus * land_mob_scale);
if (value > land_mob_max) { if (value > land_mob_max) {
if (!opt_MOB_ACCESS)
lnd_fortify(lp, value - land_mob_max); lnd_fortify(lp, value - land_mob_max);
value = land_mob_max; value = land_mob_max;
} }
@ -412,6 +413,7 @@ do_mob_land(struct lndstr *lp, int etus)
if (lp->lnd_fuelu == 0) { if (lp->lnd_fuelu == 0) {
value = lp->lnd_mobil + ((float)etus * land_mob_scale); value = lp->lnd_mobil + ((float)etus * land_mob_scale);
if (value > land_mob_max) { if (value > land_mob_max) {
if (!opt_MOB_ACCESS)
lnd_fortify(lp, value - land_mob_max); lnd_fortify(lp, value - land_mob_max);
value = land_mob_max; value = land_mob_max;
} }