(svn r11483) -Codechange: Replace codeparts with functions that do the same to increase readability

This commit is contained in:
skidd13 2007-11-20 12:57:24 +00:00
parent 5c31a973a1
commit b8885630aa
2 changed files with 12 additions and 16 deletions

View File

@ -218,7 +218,7 @@ uint DistanceMax(TileIndex t0, TileIndex t1)
{ {
const uint dx = delta(TileX(t0), TileX(t1)); const uint dx = delta(TileX(t0), TileX(t1));
const uint dy = delta(TileY(t0), TileY(t1)); const uint dy = delta(TileY(t0), TileY(t1));
return dx > dy ? dx : dy; return max(dx, dy);
} }
@ -248,9 +248,9 @@ uint DistanceFromEdge(TileIndex tile)
const uint yl = TileY(tile); const uint yl = TileY(tile);
const uint xh = MapSizeX() - 1 - xl; const uint xh = MapSizeX() - 1 - xl;
const uint yh = MapSizeY() - 1 - yl; const uint yh = MapSizeY() - 1 - yl;
const uint minl = xl < yl ? xl : yl; const uint minl = min(xl, yl);
const uint minh = xh < yh ? xh : yh; const uint minh = min(xh, yh);
return minl < minh ? minl : minh; return min(minl, minh);
} }
/*! /*!

View File

@ -140,7 +140,6 @@ static const byte _otherdir_mask[4] = {
static void TPFMode2(TrackPathFinder* tpf, TileIndex tile, DiagDirection direction) static void TPFMode2(TrackPathFinder* tpf, TileIndex tile, DiagDirection direction)
{ {
uint bits; uint bits;
int i;
RememberData rd; RememberData rd;
assert(tpf->tracktype == TRANSPORT_WATER); assert(tpf->tracktype == TRANSPORT_WATER);
@ -160,19 +159,16 @@ static void TPFMode2(TrackPathFinder* tpf, TileIndex tile, DiagDirection directi
assert(TileX(tile) != MapMaxX() && TileY(tile) != MapMaxY()); assert(TileX(tile) != MapMaxX() && TileY(tile) != MapMaxY());
if ( (bits & (bits - 1)) == 0 ) { uint i = 0;
/* only one direction */ /* only one direction */
i = 0; if (KillFirstBit(bits) == 0) {
while (!(bits & 1)) i = FindFirstBit(bits);
i++, bits >>= 1;
rd = tpf->rd; rd = tpf->rd;
goto continue_here; goto continue_here;
} }
/* several directions */ /* several directions */
i=0;
do { do {
if (!(bits & 1)) continue; i = FindFirstBit(bits);
rd = tpf->rd; rd = tpf->rd;
/* Change direction 4 times only */ /* Change direction 4 times only */
@ -184,7 +180,7 @@ static void TPFMode2(TrackPathFinder* tpf, TileIndex tile, DiagDirection directi
tpf->rd.pft_var6 = (byte)i; tpf->rd.pft_var6 = (byte)i;
} }
continue_here:; continue_here:
tpf->the_dir = (Trackdir)(i + (HasBit(_otherdir_mask[direction], i) ? 8 : 0)); tpf->the_dir = (Trackdir)(i + (HasBit(_otherdir_mask[direction], i) ? 8 : 0));
if (!tpf->enum_proc(tile, tpf->userdata, tpf->the_dir, tpf->rd.cur_length, NULL)) { if (!tpf->enum_proc(tile, tpf->userdata, tpf->the_dir, tpf->rd.cur_length, NULL)) {
@ -192,7 +188,7 @@ continue_here:;
} }
tpf->rd = rd; tpf->rd = rd;
} while (++i, bits >>= 1); } while (ClrBit(bits, i) != 0);
} }
@ -293,7 +289,7 @@ static inline void TPFMode1_NormalCase(TrackPathFinder* tpf, TileIndex tile, Til
if ((byte)bits != tpf->var2) { if ((byte)bits != tpf->var2) {
bits &= _tpfmode1_and[direction]; bits &= _tpfmode1_and[direction];
bits = bits | (bits >> 8); bits |= bits >> 8;
} }
bits &= 0xBF; bits &= 0xBF;