Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
436dc7a
Annotate game with new Engine-Interface
Jan 26, 2025
11654e9
Batchmode added
Jan 26, 2025
7c385c5
AnnotateVar removed, show game number in progress
Jan 27, 2025
63f2101
use proc initAnnotation for every new game
Jan 27, 2025
368aa80
Support for uci-engines only
Jan 28, 2025
9a38866
new proc annotateGame, check for engine connection
Jan 28, 2025
dcaa67d
code cleanup, show SAN in progress window
Jan 28, 2025
771e2ac
use sc_move addSAN
Jan 28, 2025
bcc715f
bachmode optimized
Jan 29, 2025
8f09206
add second progressbar for batchmode
Jan 29, 2025
45e4bd6
code cleanup
Jan 29, 2025
b14a2c5
code optimized
Jan 30, 2025
84b9d3a
option to store two engine variations
Jan 31, 2025
2954654
rename variable
Jan 31, 2025
1e144c0
code cleanup
Feb 1, 2025
b132b9d
revert last commit partially
Feb 2, 2025
11c06f9
Finish game with new Engine-Interface
Feb 2, 2025
a9c1d05
implement long annotation
Feb 3, 2025
511c00b
check for 50-move rule and 3-fold repetition
Feb 5, 2025
13a0c3e
Frame added to edit engine parameter
Feb 9, 2025
ff14757
new namespace engineNoWin
Feb 9, 2025
713f8ce
move edit frame to namespace engineNoWin
Feb 9, 2025
830f341
new namespace engineNoWin
Feb 9, 2025
6cf8a16
place option widget side by side
Feb 9, 2025
66bd72f
code cleanup.
Feb 9, 2025
94ea51a
check uci engine in initEngine
Feb 10, 2025
308d227
check uci engine in initEngine
Feb 10, 2025
c62a932
add chess960
Feb 15, 2025
0af49ee
use new engine interface for serious game
Feb 15, 2025
702b669
store ponder move from engine
Feb 15, 2025
d852884
activate blunder check
Feb 15, 2025
8ccc544
replace ::uci::sc_move_add
Feb 15, 2025
0dc7440
replace ::uci to ::sergame
Feb 16, 2025
32a0e7e
adjust score for comment and coach
Feb 16, 2025
26bc160
initialize PV2 for non multipv engines
Feb 16, 2025
782a377
Merge branch 'SeriousGameNewEngine'
Feb 16, 2025
fca1540
rename uciInfo to data
Feb 16, 2025
e3dfa78
Merge branch 'finishGame'
Feb 16, 2025
0182217
use same check for 3-fold-repetition in finshgame and sergame
Feb 16, 2025
3d55cc6
::engineNoWin:: removed from finishgame.tcl
Feb 16, 2025
0b0f592
stop game if engine terminated
Feb 16, 2025
bfcd551
button to save changes of engine configuration in OptionFrame
Apr 6, 2025
aedbeed
use ::engineNoWin::disconnected in finishgame
Apr 6, 2025
6e39c8a
new proc ::engineNoWin::disconnected
Apr 6, 2025
1c4953a
remove default value from initEngine
Apr 6, 2025
f16a3bd
move annotate vars to namespace annotation and rename to annotateData
May 6, 2025
5f4d456
improvement for init engine
May 11, 2025
f23e8fa
engConfig 9 not needed, removed
May 11, 2025
b1f3f9e
add parameter engine typ (uci,winboard,all) in createEngineOptionsFrame
May 14, 2025
92b5cc4
save options for annotation
May 16, 2025
3bb0f14
Use grafic for close button
May 17, 2025
45e1fb5
shift namespace enginenowin in separate file
May 18, 2025
3563bcf
new proc getBookList
May 18, 2025
a8b195b
split var annotatedata in options and internal _data
May 25, 2025
35b5e0a
new proc ::engineNoWin::closeEngine
Jun 4, 2025
d981eb8
use ::engineNoWin::closeEngine
Jun 4, 2025
07dfea3
Move infolists from global to local vars
Sep 6, 2025
09f3d0b
annotate not saved new game
Sep 10, 2025
56d4413
correct validation for 2 vars
Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions tcl/enginecomm.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -761,13 +761,9 @@ proc ::uci::parseline {id line} {
}

if {[string match "bestmove *" $line]} {
lassign [split $line] -> ::engconn(InfoBestMove_$id) ponder ponder_move
#TODO:
# lassign [lsearch -inline -index 0 $::engconn(options_$id) "Ponder"] -> do_ponder
# if {$do_ponder eq "true" && $ponder eq "ponder"}
# set ::engconn(waitReply_$id) "Go?"
# ::engine::rawsend $id position ...
# ::engine::rawsend $id go ponder ...
# assign ponder move as well
# starting ponder should not be done here because other parameter like time or depth not available here
set ::engconn(InfoBestMove_$id) [lrange [split $line] 1 3]
return 1
}

Expand Down
2 changes: 2 additions & 0 deletions tcl/menus.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,8 @@ $m add command -label ToolsStartEngine1 \
-command "::enginewin::start 1" -accelerator "F2"
$m add command -label ToolsStartEngine2 \
-command "::enginewin::start 2" -accelerator "F3"
$m add command -label "Annotate Game(s)" -command "::annotation::doAnnotate"
$m add command -label "Finish Game" -command "::finishgame::finishGameDialog"
$m add command -label ToolsAnalysis -command "makeAnalysisWin 1"
$m add separator
$m add checkbutton -label ToolsFilterGraph \
Expand Down
54 changes: 30 additions & 24 deletions tcl/options.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,26 @@ proc InitDefaultFonts {} {
}

proc InitDefaultAnnotate {} {
set ::isBatchOpening 0
set ::isBatchOpeningMoves 12
set ::isBatch 0
set ::markTacticalExercises 0
set ::isAnnotateVar 0
set ::isShortAnnotation 0
set ::addScoreToShortAnnotations 0
set ::addAnnotatorTag 0
set ::annotateMoves all
set ::annotateBlunders blundersonly
set ::scoreAllMoves 0
# Blunder Threshold
set ::blunderThreshold 1.0
set ::annotation::options(typ) "movetime"
set ::annotation::options(movetime) 1000
set ::annotation::options(time) 1
set ::annotation::options(depth) 20
set ::annotation::options(engine) ""
set ::annotation::options(blunderThreshold) 0.5
set ::annotation::options(annotateMoves) all
set ::annotation::options(annotateBlunders) blundersonly
set ::annotation::options(scoreAllMoves) 1
set ::annotation::options(useAnalysisBook) 0
set ::annotation::options(AnalysisBookName) ""
set ::annotation::options(tacticalExercises) 0
set ::annotation::options(addAnnotatorTag) 1
set ::annotation::options(OpeningErrors) 0
set ::annotation::options(OpeningMoves) 8
set ::annotation::options(annotateShort) 1
set ::annotation::options(addScoreToShortAnnotations) 1
set ::annotation::options(batchMode) 0
set ::annotation::options(batchEnd) 0
set ::annotation::options(anzVariation) 1
}

InitDefaultFonts
Expand Down Expand Up @@ -337,13 +344,13 @@ set ::sergame::startFromCurrent 0
set ::sergame::coachIsWatching 0
set ::sergame::timeMode "timebonus"
set ::sergame::depth 3
set ::sergame::movetime 0
set ::sergame::movetime 1000
set ::sergame::nodes 10000
set ::sergame::ponder 0
set ::uci::uciInfo(wtime3) [expr 5 * 60 * 1000 ]
set ::uci::uciInfo(winc3) [expr 10 * 1000 ]
set ::uci::uciInfo(btime3) [expr 5 * 60 * 1000 ]
set ::uci::uciInfo(binc3) [expr 10 * 1000 ]
set ::sergame::data(wtime) [expr 5 * 60 * 1000 ]
set ::sergame::data(winc) [expr 10 * 1000 ]
set ::sergame::data(btime) [expr 5 * 60 * 1000 ]
set ::sergame::data(binc) [expr 10 * 1000 ]

# Defaults for initial directories:
set initialDir(base) "."
Expand Down Expand Up @@ -658,16 +665,15 @@ proc options.write {} {
::sergame::chosenOpening ::sergame::chosenEngine ::sergame::useBook ::sergame::bookToUse \
::sergame::startFromCurrent ::sergame::coachIsWatching ::sergame::timeMode \
::sergame::depth ::sergame::movetime ::sergame::nodes ::sergame::ponder ::sergame::isOpening \
::uci::uciInfo(wtime3) ::uci::uciInfo(winc3) ::uci::uciInfo(btime3) ::uci::uciInfo(binc3) \
::sergame::data(wtime) ::sergame::data(winc) ::sergame::data(btime) ::sergame::data(binc) \
boardfile_lite boardfile_dark \
FilterMaxMoves FilterMinMoves FilterStepMoves FilterMaxElo FilterMinElo FilterStepElo \
FilterMaxYear FilterMinYear FilterStepYear FilterGuessELO lookTheme ThemePackageFile autoResizeBoard \
isBatchOpening isBatchOpeningMoves isBatch \
markTacticalExercises scoreAllMoves \
isAnnotateVar isShortAnnotation addScoreToShortAnnotations annotateBlunders\
addAnnotatorTag annotateMoves } {
FilterMaxYear FilterMinYear FilterStepYear FilterGuessELO lookTheme ThemePackageFile autoResizeBoard } {
puts $optionF "set $i [list [set $i]]"
}
foreach i [lsort [array names ::annotation::options]] {
puts $optionF "set ::annotation::options($i) [list $::annotation::options($i)]"
}

puts $optionF ""
foreach i [lsort [array names winWidth]] {
Expand Down
5 changes: 4 additions & 1 deletion tcl/start.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ foreach ns {
::tools::graphs
::tools::graphs::filter ::tools::graphs::absfilter ::tools::graphs::rating ::tools::graphs::score
::tb ::optable
::board ::move
::board ::move ::annotation
::tacgame ::sergame ::opening ::tactics ::calvar ::uci ::fics ::reviewgame ::novag
::config ::docking
::pinfo
Expand Down Expand Up @@ -744,6 +744,9 @@ tools/optable.tcl
tools/preport.tcl
tools/pinfo.tcl
tools/analysis.tcl
tools/enginenowin.tcl
tools/annotate.tcl
tools/finishgame.tcl
tools/wbdetect.tcl
tools/graphs.tcl
tools/ptracker.tcl
Expand Down
Loading