anchor.diff:  end;
   
   
  -function TRenderList.GetSelectionUID(const CurPos: TKMPointF): Integer;
  +function TRenderList.GetSelectionUID(const aCurPos: TKMPointF): Integer;
   var
     I, K: Integer;
   begin
     Result := -1; // Didn't hit anything
     // Skip if cursor is over FOW
  -  if gMySpectator.FogOfWar.CheckRevelation(CurPos) <= FOG_OF_WAR_MIN then Exit;
  +  if gMySpectator.FogOfWar.CheckRevelation(aCurPos) <= FOG_OF_WAR_MIN then Exit;
     // Select closest (higher Z) units first (list is in low..high Z-order)
     for I := Length(fRenderOrder) - 1 downto 0 do
     begin
       K := fRenderOrder[I];
       // Don't check child sprites, we don't want to select serfs by the long pike they are carrying
  -    if (fRenderList[K].UID > 0) and KMInRect(CurPos, fRenderList[K].SelectionRect) then
  +    if (fRenderList[K].UID > 0) and KMInRect(aCurPos, fRenderList[K].SelectionRect) then
       begin
         Result := fRenderList[K].UID;
         Exit;
  
positive.code:     procedure AddUnitFlag(aUnit: TKMUnitType; aAct: TKMUnitActionType; aDir: TKMDirection; FlagAnim: Integer; pX,pY: Single; FlagColor: TColor4; DoImmediateRender: Boolean = False);
      procedure AddUnitWithDefaultArm(aUnit: TKMUnitType; aUID: Integer; aAct: TKMUnitActionType; aDir: TKMDirection; StepId: Integer; pX,pY: Single; FlagColor: TColor4; DoImmediateRender: Boolean = False; DoHignlight: Boolean = False; HighlightColor: TColor4 = 0);
  
      procedure RenderMapElement(aIndex: Word; AnimStep,pX,pY: Integer; DoImmediateRender: Boolean = False; Deleting: Boolean = False);
      procedure RenderSpriteOnTile(const aLoc: TKMPoint; aId: Integer; aFlagColor: TColor4 = $FFFFFFFF);
      procedure RenderSpriteOnTerrain(const aLoc: TKMPointF; aId: Integer; aFlagColor: TColor4 = $FFFFFFFF; aForced: Boolean = False);
      procedure RenderTile(aTerrainId: Word; pX,pY,Rot: Integer);
  
negative.code:       if R2[I - 1] > 0 then
        begin
          count := Min(R2[I - 1], MAX_WARES_IN_HOUSE);
          id := gResHouses[aHouse].SupplyOut[I, count] + 1;
          AddHouseSupplySprite(id);
        end;
    end;
  end;
  
  
  procedure TRenderPool.AddHouseMarketSupply(const aLoc: TKMPoint; aResType: TKMWareType; aResCount: Word; aAnimStep: Integer);
  var
    I, id: Integer;
    cornerX, cornerY: Single;
    rxData: TRXData;
  begin
    if aResType = wtHorse then // Horses are a beast, BeastId is the count, age is 1
      for I := 1 to Min(aResCount, MARKET_WARES[aResType].Count) do // Render each beast
        AddHouseStableBeasts(htMarket, aLoc, I, 1, aAnimStep, rxHouses)
    else
    begin
      if MARKET_WARES[aResType].Count = 0 then Exit;
      id := (MARKET_WARES[aResType].TexStart-1) + Min(aResCount, MARKET_WARES[aResType].Count);
      if id = 0 then Exit;
  
      rxData := fRXData[rxHouses];
      cornerX := aLoc.X + (rxData.Pivot[id].X + MARKET_WARES_OFF_X) / CELL_SIZE_PX - 1;
      cornerY := aLoc.Y + (rxData.Pivot[id].Y + MARKET_WARES_OFF_Y + rxData.Size[id].Y) / CELL_SIZE_PX - 1
                       - gTerrain.LandExt^[aLoc.Y+1,aLoc.X].RenderHeight / CELL_HEIGHT_DIV;
      fRenderList.AddSprite(rxHouses, id, cornerX, cornerY);
    end;
  end;
  
  
  procedure TRenderPool.AddHouseStableBeasts(aHouse: TKMHouseType; const aLoc: TKMPoint; aBeastId, aBeastAge, aAnimStep: Integer; aRX: TRXType = rxHouses);
  var
    cornerX, cornerY: Single;
    id: Integer;
    rxData: TRXData;
    A: TKMAnimLoop;
  begin
    rxData := fRXData[aRX];
  
    A := gResHouses.BeastAnim[aHouse,aBeastId,aBeastAge];
  
    id := gRes.Interpolation.Beast(aHouse, aBeastId, aBeastAge, aAnimStep, gGameParams.TickFrac);
  
    cornerX := aLoc.X + (A.MoveX + rxData.Pivot[id].X) / CELL_SIZE_PX - 1;
    cornerY := aLoc.Y + (A.MoveY + rxData.Pivot[id].Y + rxData.Size[id].Y) / CELL_SIZE_PX - 1
                     - gTerrain.LandExt^[aLoc.Y + 1, aLoc.X].RenderHeight / CELL_HEIGHT_DIV;
    fRenderList.AddSprite(aRX, id, cornerX, cornerY);
  end;
  
  
  