diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index 8343cb502..dc59ce4e0 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -513,11 +513,6 @@ get_unitrow(const fighter * af) int front = 0; size_t bsize; -#ifdef FAST_GETUNITROW - if (!b->nonblockers && b->alive==af->row.alive) { - return af->row.cached; - } -#endif bsize = cv_size(&b->sides); if (csizeside->enemies[si];++si) { side *s = af->side->enemies[si]; @@ -560,10 +555,6 @@ get_unitrow(const fighter * af) */ result = max(FIRST_ROW, row - retreat); -#ifdef FAST_GETUNITROW - af->row.alive = b->alive; - af->row.cached = result; -#endif return result; } @@ -1305,13 +1296,21 @@ count_side(const side * s, int minrow, int maxrow) { void **fi; int people = 0; + int unitrow[NUMROWS]; + int i; + + for (i=0;i!=NUMROWS;++i) unitrow[i] = -1; for (fi = s->fighters.begin; fi != s->fighters.end; ++fi) { const fighter *fig = *fi; int row; if (fig->alive - fig->removed <= 0) continue; - row = get_unitrow(fig); + row = statusrow(fig->status); + if (unitrow[row] == -1) { + unitrow[row] = get_unitrow(fig); + } + row = unitrow[row]; if (row >= minrow && row <= maxrow) { people += fig->alive - fig->removed; @@ -2975,9 +2974,6 @@ make_fighter(battle * b, unit * u, side * s1, boolean attack) s1->size[SUM_ROW] += u->number; if (u->race->battle_flags & BF_NOBLOCK) { s1->nonblockers[statusrow(fig->status)] += u->number; -#ifdef FAST_GETUNITROW - b->nonblockers = true; -#endif } if (fig->unit->race->flags & RCF_HORSE) { diff --git a/src/common/kernel/battle.h b/src/common/kernel/battle.h index e1ed9e978..ffd3852c5 100644 --- a/src/common/kernel/battle.h +++ b/src/common/kernel/battle.h @@ -17,9 +17,6 @@ extern "C" { #endif - /** new code defines **/ -#undef FAST_GETUNITROW - /** more defines **/ #define FS_ENEMY 1 #define FS_HELP 2 @@ -64,9 +61,6 @@ extern "C" { int alive; #ifdef SMALL_BATTLE_MESSAGES boolean small; -#endif -#ifdef FAST_GETUNITROW - boolean nonblockers; #endif } battle; @@ -180,12 +174,6 @@ extern "C" { #ifdef SHOW_KILLS int kills; int hits; -#endif -#ifdef FAST_GETUNITROW - struct { - int alive; - int cached; - } row; #endif } fighter;