private void RefreshCache() { Int16 actualFieldWidth = FieldMap.PsxFieldWidth; if (_knownFieldWidth == actualFieldWidth) { return; } _knownFieldWidth = actualFieldWidth; if (FieldMap.IsNarrowMap()) { _cachedMinX = _vrpMinX; _cachedMaxX = _vrpMaxX; _delta = 0; return; } Int32 desiredDiff = FieldMap.PsxFieldWidth - FieldMap.PsxFieldWidthNative; Int32 maxDiff = _vrpMaxX - _vrpMinX; _delta = (Int16)(Math.Min(desiredDiff, maxDiff) / 2); _cachedMinX = (Int16)(_vrpMinX + _delta); _cachedMaxX = (Int16)(_vrpMaxX - _delta); }