anchor.diff:  end;
   
   
  -procedure TRenderPool.RenderSpriteOnTerrain(const aLoc: TKMPointF; aId: Word; aFlagColor: TColor4 = $FFFFFFFF);
  +procedure TRenderPool.RenderSpriteOnTerrain(const aLoc: TKMPointF; aId: Word; aFlagColor: TColor4 = $FFFFFFFF; aForced: Boolean = False);
   var
     pX, pY: Single;
   begin
  
positive.code:   glPopMatrix;
  end;}
  
  procedure TRenderPool.RenderSprite(aRX: TRXType; aId: Word; pX,pY: Single; Col: TColor4; DoHighlight: Boolean = False; HighlightColor: TColor4 = 0);
  var
    X,Y: Integer;
  begin
    X := EnsureRange(Round(pX),1,gTerrain.MapX);
    Y := EnsureRange(Round(pY),1,gTerrain.MapY);
    if (gMySpectator.FogOfWar.CheckTileRenderRev(X,Y) <= FOG_OF_WAR_MIN) then Exit;
  
    with gGFXData[aRX, aId] do
    begin
  
negative.code:   P := KMPointF(aRallyPoint.X - 0.5, aRallyPoint.Y - 0.5);
    if not aDoImmediateRender then
      case aPass of
        0:  begin
              AddAlert(P, aTexId, aColor);
              RenderLineToPoint(P);
            end;
        1:  if gMySpectator.FogOfWar.CheckRevelation(P) < FOG_OF_WAR_MAX then
              RenderSpriteOnTerrain(P, aTexId, aColor, True); //Force to paint, even under FOW
      end
    else begin
      RenderSpriteOnTile(aRallyPoint, aTexId, aColor);
  