# HG changeset patch # User alberth # Date 2010-03-20 16:45:23 # Node ID b11a63506b3ba39e5d138b62db419edbf43b2eed # Parent df7e7e7ce34705c33e3282951d86bee481fd1d40 (svn r19485) -Codechange: Re-implement CalcBridgeLenCostFactor() in a more readable way without changing computed costs. diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -73,15 +73,16 @@ void ResetBridges() */ int CalcBridgeLenCostFactor(int length) { - int n; - int r; + if (length < 2) return length; - if (length < 2) return length; length -= 2; - for (n = 0, r = 2;; n++) { - if (length <= n) return r + length * n; - r += n * n; - length -= n; + int sum = 2; + for (int delta = 1;; delta++) { + for (int count = 0; count < delta; count++) { + if (length == 0) return sum; + sum += delta; + length--; + } } }