Wednesday, June 1, 2011

New version 1.2

 From readme...



01/06/11, 1.2 update

-Board
  Added middle and ending material values
  Added GetGameStageAsInt()
  GetMaterial() renamed to GetMiddleMaterial()
  Added GetEndingMaterial()
  FindPiece() improved
  IsValidMove() removed
  Moves all moving stuff to new unit MoveGenerator
  Code cleaned
  Fixed a silly error in IsPinned()
 
-Definitions
  New ending piece values
  New piece constants

-EndGame
  New KR vs KP
  Fixed a silly error in KRKP

-Evaluation
  Material values interpolated
  Tempo interpolated
  New PasserBlock[] penalty
  Passed pawn bonus interpolated
  Double pawn penalty interpolated
  Queen on seventh bonus interpolated
  Open rook file bonus interpolated
  Rook behind passer bonus interpolated
  Rook on seventh bonus interpolated
  New passer in chain bonus
  New interpolated values for isolated, double, backward and chain pawns in EvalPawn()
  New interpolated values for bishop pair
  RookBehindPasserPawnBonus moved to EvalPassers()
  Added pawn races
  King attack table changed
  Knight and rook adjustments uses all pawns not only from one side
  Candidate passers changed, let's see...

-History
  Added transactions
  Subtract() did not reduce when overflow
 
-Killers
  Added transactions

-Pieces
  GetValue() renamed to GetMiddleValue()
  Added GetEndingValue()
  Added static GetValue function
  Position score interpolated
  Array piece values moved from Definitions to Pieces
  Changed some position values

-MoveGenerator
  New!

-Search
  NeedMoreTime() now takes into account time left
  First move in AlphaBeta() always passes the value of aPVNode
  TT also used in Quiescent()
  New transactions used
  Added mate killer in Quiescent()
  Now AlphaBeta() returns score when in cut-off rather than aBeta

-Utils
  New Interpolate() function