anchor.diff:      constructor Create;
       destructor Destroy; override;
   
  -    procedure AddSprite(aRX: TRXType; aID: Word; pX,pY,gX,gY: Single; aTeam: Cardinal = $0; aAlphaStep: Single = -1); overload;
  -    procedure AddSprite(aRX: TRXType; aID: Word; pX,pY: Single; aTeam: Cardinal = $0; aAlphaStep: Single = -1); overload;
  +    procedure AddSprite(aRX: TRXType; aID: Word; pX,pY: Single; aTeam: Cardinal = $0; aAlphaStep: Single = -1);
  +    procedure AddSpriteG(aRX: TRXType; aID: Word; pX,pY,gX,gY: Single; aTeam: Cardinal = $0; aAlphaStep: Single = -1);
   
       property Stat_Sprites: Integer read fStat_Sprites;
       property Stat_Sprites2: Integer read fStat_Sprites2;
  
positive.code: 
  
  //New items must provide their ground level
  procedure TRenderList.AddSprite(aRX: TRXType; aID: Word; pX,pY,gX,gY: Single; aTeam: Cardinal = $0; aAlphaStep: Single = -1);
  begin
    if fCount >= Length(RenderList) then SetLength(RenderList, fCount + 256); //Book some space
  
  
negative.code:   CornerX := Loc.X + R.Pivot[ID].X / CELL_SIZE_PX - 0.25;
    CornerY := Loc.Y + (R.Pivot[ID].Y + R.Size[ID].Y) / CELL_SIZE_PX - 0.45
                     - fTerrain.HeightAt(gX, gY) / CELL_HEIGHT_DIV;
    fRenderList.AddSpriteG(rxGui, ID, CornerX, CornerY, gX, gY);
  end;
  
  
  