anchor.diff:  
     RenderTerrainTiles(Rect, fTerrain.AnimStep);
     RenderTerrainFieldBorders(Rect);
  +
  +  if fGame.AllowDebugRendering then
  +  begin
  +    if SHOW_TERRAIN_WIRES then
  +      fRenderAux.Wires(Rect);
  +
  +    if SHOW_TERRAIN_WIRES then
  +    begin
  +      Passability := fGame.FormPassability;
  +      if fGame.fMapEditorInterface <> nil then
  +        Passability := max(Passability, fGame.fMapEditorInterface.ShowPassability);
  +      fRenderAux.Passability(Rect, Passability);
  +    end;
  +
  +    if SHOW_UNIT_MOVEMENT then
  +      fRenderAux.UnitMoves(Rect);
  +  end;
  +end;
  +
  +
  +//Sprites are rendered with regard to their Z position
  +procedure TRenderPool.RenderSprites;
  +var
  +  Rect: TKMRect;
  +begin
  +  Rect := fGame.Viewport.GetClip;
  +
     RenderTerrainObjects(Rect, fTerrain.AnimStep);
  -
  -  if not fGame.AllowDebugRendering then
  -    exit;
  -
  -  if SHOW_TERRAIN_WIRES then
  -    fRenderAux.Wires(Rect);
  -
  -  if SHOW_TERRAIN_WIRES then
  -  begin
  -    Passability := fGame.FormPassability;
  -    if fGame.fMapEditorInterface <> nil then
  -      Passability := max(Passability, fGame.fMapEditorInterface.ShowPassability);
  -    fRenderAux.Passability(Rect, Passability);
  -  end;
  -
  -  if SHOW_UNIT_MOVEMENT then
  -    fRenderAux.UnitMoves(Rect);
  +  fPlayers.Paint; //Quite slow           //Units and houses
  +  if fGame.Projectiles <> nil then
  +    fGame.Projectiles.Paint; //Render all arrows and etc..
  +
  +  fRenderList.Render;
   end;
   
   
  
positive.code:     glLineWidth(fGame.Viewport.Zoom * 2);
      glPointSize(fGame.Viewport.Zoom * 5);
  
      RenderTerrain;
      fPlayers.Paint; //Quite slow           //Units and houses
      if fGame.GameState in [gsPaused, gsOnHold, gsRunning, gsReplay] then
        fGame.Projectiles.Paint; //Render all arrows and etc..
  
      fRenderList.Render;
  
      RenderCursorHighlights; //Will be on-top of everything
  
      if DISPLAY_SOUNDS then fSoundLib.Paint;
    glPopAttrib;
  end;
  
  
  
  procedure TRenderPool.RenderTerrainTiles(aRect: TKMRect; AnimStep: Integer);
  
negative.code:     if fTerrain.Land[I, K].Obj <> 255 then
        RenderObjectOrQuad(fTerrain.Land[I, K].Obj + 1, AnimStep, K, I);
  
    //Falling trees are in a separate list
    with fTerrain do
      for I := 0 to FallingTrees.Count - 1 do
      begin
        RenderObject(FallingTrees.Tag[I] + 1, AnimStep - FallingTrees.Tag2[I], FallingTrees[I].X, FallingTrees[I].Y);
        Assert(AnimStep - FallingTrees.Tag2[I] <= 100, 'Falling tree overrun?');
      end;
  end;
  
  
  