anchor.diff:    ShiftX:=RXData[rxUnits].Pivot[ID].x/CELL_SIZE_PX;
     ShiftY:=(RXData[rxUnits].Pivot[ID].y+RXData[rxUnits].Size[ID].Y)/CELL_SIZE_PX;
     ShiftY:=ShiftY-fTerrain.InterpolateLandHeight(pX,pY)/CELL_HEIGHT_DIV-0.4 - 1.5;
  -  fRenderList.AddSprite(rxUnits,ID,pX+ShiftX,pY+ShiftY,pX,pY,false);
  +  fRenderList.AddSprite(rxUnits,ID,pX+ShiftX,pY+ShiftY,pY+ShiftY,false);
   end;
   
   
  
positive.code: 
    ShiftX := ShiftX + RXData[aRX].Pivot[ID].X / CELL_SIZE_PX;
    ShiftY := ShiftY + (RXData[aRX].Pivot[ID].Y + RXData[aRX].Size[ID].Y) / CELL_SIZE_PX - fTerrain.Land[Loc.Y + 1, Loc.X].Height / CELL_HEIGHT_DIV;
    fRenderList.AddSprite(aRX, ID, Loc.X + ShiftX, Loc.Y + ShiftY, Loc.X, Loc.Y, False);
  end;
  
  
  
negative.code:   ShiftX:=OffX+RXData[rxUnits].Pivot[ID].x/CELL_SIZE_PX;
    ShiftY:=OffY+(RXData[rxUnits].Pivot[ID].y+RXData[rxUnits].Size[ID].Y)/CELL_SIZE_PX - fTerrain.Land[Loc.Y+1,Loc.X].Height/CELL_HEIGHT_DIV;
  
    fRenderList.AddSprite(rxUnits,ID,Loc.X+ShiftX,Loc.Y+ShiftY,Loc.Y+ShiftY,False,FlagColor);
  end;
  
  
  