summaryrefslogtreecommitdiff
path: root/src/chess.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/chess.h')
-rwxr-xr-xsrc/chess.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/chess.h b/src/chess.h
index 7ff9994..2e9189a 100755
--- a/src/chess.h
+++ b/src/chess.h
@@ -716,6 +716,19 @@ typedef struct _POSITION
// bbRookAttacks/bbQueenAttacks that will retire the rest of it.
BITBOARD bbPawnAttacks[2];
+ // First mover of the bbMinorAttacks pair (knight only for now --
+ // bishop is a separate, later step; see board_representation/
+ // EVAL.md section 2). "Which squares does this side's knight(s)
+ // attack" -- computed via g_KnightAttacksBB[c] and OR'd in per
+ // knight, Eval()-scoped scratch like bbPawnAttacks above, cleared
+ // once per Eval() call in _ClearAttackTables since (unlike
+ // bbPawnAttacks) it's accumulated across multiple pieces via |=,
+ // not assigned wholesale. Bishop still writes its own minor-bit
+ // contribution into the old rgSquare[c|8].bvAttacks structure for
+ // now -- every consumer that needs "any minor's attack," not just
+ // knight's, ORs both sources together until bishop converts too.
+ BITBOARD bbMinorAttacks[2];
+
ULONG uWhiteSqBishopCount[2]; // num bishops on white squares
SCORE iMaterialBalance[2]; // material balance