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