ABOUT CHANGES.TXT This file lists the changes to KChess Advance and KChess Elite since version 1, plus plans and ideas for future versions. This file is a developer's reference, and so refers to internal codes and routines in some places. ******************************************************************************** HISTORY OF CHANGES UP TO THE CURRENT VERSION 4.0.0.37 Exported graphic and HTML files automatically opened in default viewer BoardExecuteMove and BoardRetractMove discard null moves fixed pervasive bug GetFirstString instead of ExtractFirstString 4.0.0.36 fixed error looking up ECO details use JCL for email functions two new "Head-on" piece sets 4.0.0.35 speak square name and contents when using move cursor new translation: Italian 4.0.0.34 don't "remember" blank name when saving to clipboard more reliable focus of movelist when starting new game changed load modes for variations, for speed and updating of taken list 4.0.0.33 prevent trying to focus move list if status panel is not showing disable touched-piece-must-move during board setup mode extended comments for currently selected component in update dialog new translation: Polish 4.0.0.32 pause after initial rank/file/colour indicator when speaking board layouts fixed emailing bug which picked up bad MainModule address piece and square hints shown with keyboard move cursor prevent move cursor from being activated after game over move cursor can only focus movable pieces fixed FocusGrid for "Index out of bounds" errors, and where First Move > 0 curly braces '{' and '}' disallowed in comments as they mess up PGN files comment memo not cleared during file save continuation of comment in KCH file identified even if it starts with valid move number fixed saving of endgame status in PGN files when last move not focused PGN, FEN and EPD files written and read with English characters, regardless of custom text setting saving to HTML puts graphics is separate subdirectory variations always open in HideMode new rotate board parameter to maintain board orientation in variations undo/redo move only does 1 move in play white/black mode if not computer's move fixed sandclock timer sometimes identifying the wrong winner mitigated board width initiated too wide with left-justified button bar new translations: Bulgarian, Ukrainian updated translations: Russian, Spanish (split into European and South American) custom name and address for agents 4.0.0.31 board diagrams can be saved in GIF and PNG formats board diagrams include coordinates HTML uses GIF as default graphics format saving a game with no moves to HTML now shows current board layout fixed error printing final status move if not in fixed width mode use player's email address instead of opponent's to email game fix computer out of time error by forcing computer move during idle prevent tip of the day sometimes being shown twice when activating program uninstalling previous versions doesn't re-lock version 4 4.0.0.30 fixed index out of bounds error in KChess Advance options (caused by bad default texture) 4.0.0.29 first official (non-beta) release of version 4 delete version file at beginning and end of downloading registration can choose between online and offline order form additional Monarch piece set new american male and female voices speak layout of white pieces or black pieces sample audio played when setting audio options improved handling of board size parameter new maximise window parameter 4.0.0.28 improved parsing of old style notation, which caused some invalid moves to be mishandled gamemode restored after entering moves escape key moves focus from memo fields back to move list additional Honey board texture 4.0.0.27 option for FIDE Algebraic notation output (minor differences to Standard Algebraic notation) option to disallow move undo during game improved focusing of cells in move grid during undo/redo fixed game out-of-time not identifying correct player if time limits are different undo enabled after game is finished due to time allow changing modes during a move, enabling autoplay to be turned off more easily don't reduce square size for variations if set for ScreenReader default audio setting is resize squares to maximum for screensaver fixed clock pressing itself when Auto Clock Press was off fixed best line not updating during analysis blank out valuelabel and bestlinelabel after new game fixed incorrect saving of JPG file extension with HTML files fixed incorrect usage of OpenDialog filter index in SaveAsDialog auto-update date recorded if ver file downloaded, not just if dialog okayed context-sensitive help for each page in Options dialog updated translation and recording instructions in Language.txt and Voices.txt command line parameters documented in Elite.hlp 4.0.0.26 delayed ResizeFormFromOptions until after form created, so that button bar height is read correctly ReinstateOptions if necessary when closing program ReinstateOptions does full effectoptions except when closing time limits cannot be set to less than 1 fixed Reopen not enabling/disabling properly test undo/redo enabled before processing cursor movement keys added scroll bars to memo fields, removed faulty EM_GETFIRSTVISIBLELINE test only focus comment memo when clicked on ECO only obtained if starting from normal board layout turn off drag/drop and move functions at gameover ability to use voice recordings for specific colour+name combinations (for Russian) variations come up smaller than original window size variations don't show closing about box changes.txt file added 4.0.0.25 first build for KChess Advance 4 don't update program in gtVariation, only in gtNormal games blank out valuelabel and bestlinelabel after retracting move inc Inprocess during AcceptLastMove to stop it being interrupted spacebar click on piece will only work on the right colour piece fixed printboard bug due to thememanager - free and recreate it when printing fixed help button in promotedlg not being translated fixed movestatus (resigns/draw) not being translated fixed two click moves working even if option turned off when playing an opening, game is unfrozen before making moves consistent handling of cursor keys for all memo fields current memo field always set to window colour (normally white) updated Russian.LNG AboutBox moved back to FormActivate, but fixed to only run once automatically added Ashen board texture InnoSetup 3.0.6, with "don't accept" preselected in license screen 4.0.0.24 more minor fixes to update function 4.0.0.23 german and czech voices available for download other vendor capability in order dialog changing file type in open/save dialog changes defaultext resizable open/save dialogs increased size of openings dialog ability to close or escape during opening moves enter or paste multiple moves at a time fixed error resetting resign status when games were being viewed moved OkToCloseForm into LoadGame for each file type which contains a complete game simplified path handling, removed FindPath procedure added pause when speaking rank or file positions enterposition dialog defaults to current board layout changed oktocloseform to include layout in setup mode arrow keys don't jump moves when editing comments (after clicking on commentmemo or Alt-E) fixed undomove resetting gameover when the game was out of time flipped back label positions in options using scrollbar controls 4.0.0.22 removed imagelist from mainmenu flipped label positions in options using scrollbar controls (for screenreaders) 4.0.0.21 fixes to update function 4.0.0.20 fixed help button in promotedlg not working using Indy for file downloads in update function progressbar with cancel capability for update function screenreader option replaces menupics, also turns off thememanager screenreader option hides all controls on nonactive option pages don't assign mainmenu imagelist unless screenreader=no replaced Pos with AnsiPos throughout replaced CompareText with AnsiCompareText or AnsiSameText throughout pad_file.xml included 4.0.0.19 new translation: romanian completed translation: belarus, german gameplay saved in kch files various fixes to openingdlg eco file delimited by tabs no commas fixed bug showing enpassant jeopardy with same coloured pawns fixed bug recreating taken pieces if pawns have been queened - do not calc after changing options 4.0.0.18 completed translation: swedish 4.0.0.17 completed translation: portuguese, russian new translation: swedish rename closebtn to close on tipsdlg 4.0.0.16 completed translation: dutch, portuguese more language updates fixed bug setting options if form is maximized wider options dialog (again) larger default square size to give bigger narration panel 4.0.0.15 pages in OptionsDlg hidden when not selected, hope this helps WindowEyes option to turn off pictures on menus a few language improvements a few help updates 4.0.0.14 fixed screensaver (yet again!) added support for screensaver preview window XP theme support widened buttonbar buttons slightly moved audio image from buttonbar to statuspanel completed translation: afrikaans rich text version of help file included for vision impaired users 4.0.0.13 fixed form resizing not reinstating correct square size enabled changing of form height and width independently hopefully fixed turn time limits ending game prematurely hopefully fixed playwhite or playblack playing both sides! attempt to fix missing menu shortcuts: modified menus.pas at ~lines 1200 & 1400 ins middle line: if Win2K and (odNoAccel in State) then -> if SystemParametersInfo(SPI_GETMENUUNDERLINES,0,@UseAccel,0) and not UseAccel then DrawStyle := DrawStyle or DT_HIDEPREFIX; ...and add var UseAccel:Bool at the start of each routine extra ABBA trivia item completed translation: hungarian 4.0.0.12 show update dlg when manually updating, even if nothing to download changed default autoupdate from daily to weekly 4.0.0.11 tidied up form resizing fixed errors on autoupdate more consistent translation functions 4.0.0.10 first beta release using Delphi 5 used Actions for all menu and button functions in basic version, assign action hints from captions replaced ButtonPanel with Toolbar added StatusBar at bottom option for game time limit plus increment per move option for different time limits for each player option to force move of "touched" piece negative ply settings for random move selection Novice setting still uses opening book, at 2 moves more than ply setting quick-think lengthened to 2 seconds OptionsDlg has combobox for pieces and texture BMPs additional piece sets (six) and textures omitted error 1016 when texture not found OptionsDlg has combobox for white and black voices additional voices (German and Czech) expanded voice description of en passant speak move kind in addition to status only on audio=2 separate thread for speech separate Speak menu paste any kind of file from clipboard international/correspondence notation additional LNG files single translation entry for common buttons renamed eco.dat to english.eco, enabling other languages several dialog boxes created only as needed bookmarking of moves undoall/redoall stops at bookmark save game in HTML format, with jpeg graphics print moves, and save to HTML, shows board layout at every bookmark time control stored in PGN files (TimeControl tag) save layout to BMP and JPG formats simpler Email Game function using MAPI confirmation after emailing order form Unlock function on Help menu DoubleBuffered and ReduceFlicker settings for BoardPanel MoveDelay applied to computer moves and autoplay sort OpeningsDlg list with F6 key fixed speech bug saying "queen" when castling on kingside fixed scaling problems in FormResize when using double sized system fonts fixed board rotation not being reset when restoring options ignore Ctrl+Shift+F1 because Window-Eyes uses it increased move storage in GameRec to 2000 ply stop AppIdle being called when ChessStatus is ssComplete fixed file drag and drop onto running program cater for pogo.com funny PGN format with spurious line at the top copy functions allow string longer than 255 characters replaced UpperCase with AnsiUpperCase hopefully fixed ShowAbout/TipOfTheDay loop by moving ShowAbout to OnFormShow update from the web by component new Inno Setup install with long filenames and better file associations 3.6.0.3 fixed space bar moving broken in 3.6.0.0 last release using Delphi 1 and 2 3.6.0.2 character input improved handling of trailing "e.p." character input handling pawn promotion piece without "=" improved fitting of aligned (fixed width) text in move list new Slovene.LNG and updated Italian.LNG new Italian.ECO, and ability to match ECO to LNG files replaced hazelbrook po box with hugo place address 3.6.0.1 fixed ParseSource ambiguity if queen can move to same square as pawn queening enabled Esc and Stop during slow file open, undo & redo wider InfoDlg to fit german translation updated German.LNG, Slovak.LNG, Spanish.LNG 'Other...' language entry in OptionsDlg to point to web site 3.6.0.0 fixed notation ambiguity if pawn takes a piece while queening fixed notation ambiguity if queen can move to same square as pawn queening fixed error opening ReadOnly files (now sets FileMode to 0) extra Reset ClickSquare when new square clicked (perhaps redundent but one person has had a problem) kch files saved in current notation rather than always long DropIfOk routine to check validity before making a move with MoveCursor three knights is sufficient forces to get a result translations for remaining buttons in windows dialogs new Czech.LNG & Turkish.LNG updated German.LNG separate PortBraz.LNG & Portugese.LNG fixed kingside/queenside castling speech logic removed hazelbrook phone copyright 2001 3.5.0.9 translations for some buttons in windows dialogs Append/Replace dialog uses translation facility instead of timer fixed sticky error code if default directory no longer exists turned on IO Checking, replaced IOResult with try...except speech function separates castling on king or queen side new Hungaria.LNG German speech extra FAQ info in help file removed hazelbrook fax, added quakers hill phone/fax 3.5.0.8 a few extra try...finallys new GetHistoryComment to fix index out of range error during printing new Afrikaan.LNG and partly updated German.LNG slider bar descriptions from options dialog added to language files Ctrl shortcuts for speak rank functions other minor enhancements to language files wider buttons and some labels for length translations Email button on order form, and Country field now mandatory reduced US$ prices 3.5.0.7 save no longer disabled in eval version support for Montreal font speak board layout by file on request fixed negative length string problem saving comments in PGN files fixed fax number in order form serial number must have days in 1-31 to stop particular crack new Dutch.LNG, Slovak.LNG 3.5.0.6 combo box for product/license on order form first release of KChess Advance 3.5.0.5 Support for Adventurer and Lucena fonts SetGameMode fix so white move made when playing black for 2nd time Reset ClickSquare when clicking on new Game new BoardStartFEN to get proper FullMove and Player for saving in PGN Options code separated into MainOpts unit ReduceFlicker default now False fixed minor form resizing problems more space on some dialogs for longer labels for other translations separated EnterPosition menu item completed Italian.LNG, Russian.LNG, updated French.LNG, Spanish.LNG first release of Crystal Chess (actually does not include all 3.5.0.5) 3.5.0.4 PlayCurrentMoveSound only if status not Resigns or Drawn added PlayGameStatusSound to Speak Last Move completed Spanish.LNG 3.5.0.3 backspace key deletes last char increment search in OpeningsDlg speak board layout by rank on request repl PlaySoundAfter with PlaySoundSync/PlaySoundAsync to avoid hangs preliminary Spanish.LNG ReduceFlicker option to control whether or not squares are opaque 3.5.0.2 added SetPlayerLabels to InitAndRedrawBoard for when starting new game Level parameter in ReportGameState to control speaking of move & status 3.5.0.1 play specific opening renamed Game menu to File menu all text moved to .LNG file to allow customisation by language speak every move speech not read to memory before playing, as this hindered spooling sounds option not to validate board during setup, allows play without kings! chess trivia added to tips dialog Preview button on options dlg to see changes before accepting them clear and reset OnResizeForm so we don't call ResizeForm multiple times fixed problems with computer notation on input fixed problem saving startup board in KCH files fixed problem reading end game symbol in PGN files fixed screensaver and autoresizing problems fixed inverted square colours on board printout set squares to csOpaque, attempt to reduce flicker use Application.Title instead of separate ProgName moved some more code around renamed IsLocked to Lklvl, and changed VersType to 3 disparate numbers added increasing time delay if invalid unlock data entered registration/order form does not default to cheque/draft v3.0a omit leading '.' from DefaultExt in Open/Save dialogs fixed problem not updating options when loading files modified flag reset during saving v3.0 marker arrow to show last move partial ply search depth for novices does a 1 clock tick 1 ply search tip of the day dialog separate male/female voice for each player Analyse mode for indefinite search but no move Descriptive Notation allowed in input narration about board position of each player ECO code and description in Narration and Info dialog FEN layout under narration for blind players EnterDlg accepts FEN during board setup mode, again for blind players resizable window, and fit squares on window resize/maximise/restore status panel and buttonpanel handles large or small fonts shrink grid column 1 if grid scrolls right (may do with large fonts) fixed or variable font in moves list player colour and names in board edge edge label fonts shrink as edgesize gets smaller new figurine fonts for board printing board border printed by rectangle not chars, to stop last line cutoff file history list on game menu hundredths of a second option for digital clocks removed Think Timeslices option, now related to Refresh option default settings file now 'default.ini' save and load settings in KCH files black/whites times and rotated flag saved in KCH files added PGN tags Annotator and EventDate common list of PGN and KCH tags erroneous move in KCH or PGN files aborts rest of file load current directory and file type saved between sessions centralised code and text for some error messages code sharing with new StartupGame routine ReactivateGame so that undo/redo don't activate game if in mStartup ResetClickMove on right-clicking altered right click on en passant square to highlight dest not piece fixed taken piece offset when retracting capture moves tightened up taken pieces horizontal spacing two knights vs a knight or bishop not necessarily insufficient forces added Startup mode to CanClose, so can't get around 30day eval period Modified flag to determine whether game has changed since New or Open ValidBoard checks for more than 32 pieces on the board GetBoardData every move, repl GetValidMoves/GetBoard/GetBoardSet in funcs replaced GetPlayer/GetOpponent with GetPlayerColour/GetOpponentColour Home and End shortcuts to UndoAll and RedoAll modified GameMode processing, removed mGameOver and mFreeze enhanced TClockFace to act as game stopwatches, no longer use LTIMER fixed TTransparentImage problem with Delphi4 and with JAWS NoviceBtn/AverageBtn/ExpertBtn now TButton to allow tabbing to/from link to web site on help menu FAQ and info for Children and Blind players in Help v2.5d replaced setting widths and heights with boundsrect auto freeze on minimize option fixed resetpieces after unfreezing game updated glossary v2.5c fixed mousemove termination of screensaver added Kind description to status message field, especially for en passant! fixed drawgrid focus error when statuspanel not showing glossary added to help file v2.5b shrunk registration screen to fit in 640x480 registration screen checks for ordering.txt for vendor/agent details make PieceDragOver cover all components new GameType variable for Variations, ScreenSaver, Configure modes command switch '/S' to use as screensaver LoadGame can load new INI file minor screen layout changes to better support window maximisation removed obsolete ClockGroup from Options dialog v2.5a cancelclickmove in activategame immediate About close even if during colour cycle in setup program enabled Cancel button and fixed uninstall from arkives v2.5 pieces use TTransparentImage for masked bitmaps instead of icons added lots more piece sets in various sizes distinguish piece height from width, allowing non square piece sets increased range of valid board sizes option to scale pieces to square size variable size board edges think info not blanked out on status panel after complete or game over use one background image tiled rather than multiple images command switch '/B' to set board size command switch '/T' to limit program running time option to turn clocks off, especially for small board sizes move cursor to enter moves with space bar and arrow keys only arrow keys to undo and redo moves support for old fashioned 'Kt' notation for Knights allow cancel during demo games if you get sick of all the messages allow dragging of files onto running program display count of nodes searched replaced CC.Player/CC.Opponent with GetPlayer/GetOpponent calls tied library use depth to search depth fixed slow GoTo when loading variation games scroll drawdrid to keep cursor on screen when shrinking window new delphi install program and use of arkives to save space v2.0 hid implementation of StorList ability to store last game library in memory t2.0g turning off opening library still uses it for each player's first move fixed bug in PGN variations use of BracketPos improved commentmemo shor/hide and grid focus t2.0f fixed IsPGNTag, added tags for player Countries EnterMove can handle trailing "ep" zeros recognised as well as Os for entering castling moves data after last semicolon in EPD files stored in Event fixed handling of comments in EPD files fewer constraints on draw and resign moves t2.0e extra PGN tags for Opening, ECO and player Titles print board layout, game/player info and comments with move listings fixed appending to PGN, and added multi game support for EPD t2.0d option to append to PGN files reopen menu item to load last file again t2.0c fixed PGN tag upper/lower case, also tag value initialisation read and write comments in PGN files, and bypass other bracketed stuff prefixed Best Line with HintMove during thinkahead Stop button also terminates AutoPlay mode fixed grid focus problem changed clipboard format to PGN t2.0b read PGN files where no space between move number and notation t2.0a fields for Event, Site, Date, Round, and Player Names enabled PathMustExist option in Save dialog added optional SAN and CN formats for moves improved handling of ambiguous moves, esp bxc5/Bxc5 which uses case of first char using PlayerMoves array to validate new moves save and load in PGN, EPD and FEN formats changed TakenOrder to non language specific created History list of moves for language and notation translation RetractTMove function to take back move from History instead of MovTab replaced StringGrid with DrawGrid single click grid to undo/redo instead of double click enabled 32KB comments instead of just 255 byte male and female voice option option to change colour and piece letters and names foreign language piece letters in help file sandclock timer option offer draw against the computer after 30 moves automatic recognition of minor piece draws fixed handling of stalemates as draws show EnterMoveDlg on any alphabetic key press click source and click dest can also move pieces GameStatus now obtained from move in History copy and paste game to/from clipboard variation game as another smaller instance of the same moves load games from the command line FirstMove now used to index History, allowing FirstMove of any value AutoPromote option to bypass PromoteDlg and always Queen changed Clock Press from radio buttons to check box v1.1 made 16 bit stack 32000 like 32 bit stack renamed duplicate ThinkAhead routines removed SysUtils from ChessInf (because of $W- ) returned to Meml instead of GetTickCount in LTIMER saved more 16 bit registers in Spawn/Message 1.1 moved more vars and procs into TChessForm reset hourglass pointer after undo added debug code after every move checked each RetractMove for errors extra ResetSquares in ReportGameState restarted search if computer's move after undo/redo replaced MediaPlayer with SndPlaySound 1.01 hard coded pPawn in en passant undo 1.0 initial release of KChess Elite ******************************************************************************** ISSUES REPORTED/IDENTIFIED AS AT CURRENT VERSION * changing language causes menu to lose XP style * if sandclock timer is selected, reopening a saved game that didn't use it can cause out of time * printing with fixed pitch works on MS Sans Serif but doesn't on Times New Roman * screensaver preview is not invisible * BracketPos probably not Ansi/MBCS aware * clocks flash when updating on some video cards ******************************************************************************** PLANS, IDEAS AND SUGGESTIONS FOR FUTURE VERSIONS (with possible implementation version) Game Play & Feedback 4/5 make demo game more realistic, and add en passant to it 5 allow play between same engine with two different strengths 5 validate date fields in Game & Player Info dialog * allow a player to resign after having made their move * handle saved games where a player has resigned after having made their move * function to "play on" after computer resignation (or draw?) * new time limits - moves per period plus period for each extra move - multiple time periods - Fischers clock (111 mins + 1 min/move + 40mins after 40 + 30mins after 60 + 20mins after 80) - countdown clocks - clock alarms (ticking during last minutes, voice countdown, beep when nearly out of time) * better clocks for different time settings: how much time left for a move? * analyse function could be toggle which reverts to previous play mode (white/black/twoplayer) * in board setup mode, don't erase any previous moves unless board layout is changed * play blitz or lightening * simpler method of adding promoted pawns in setup mode * new notations: - FAN (Figurine Algebraic Notation) - LEN (Long English Notation) - EDN (English Descriptive Notation) * best line panel in columnar format like move list * set mouse pointer for two click moves to work the same as when dragging - arrow or no-entry depending on destination * reset mouse pointer in two click mode as soon as escape is pressed * highlight or narration about: - hanging pieces - passed pawns - weak pawns - pinned pieces * feedback about whether the last move was good or bad, and why * graphic display of winning/losing margin * summarised narration * publish the game's Elo rating * calculate opponent's rating * play blindfold mode with no board displayed * tutorials on strategy Chess Engine * expanded opening library * endgame library * simplify GameTimeExpired * improve DeclineDrawOffer to handle board layouts prior to any move having been made * improve end game wandering and move repetition * don't use Queen so early in the game * work out how to do B+N checkmate * better use of King in endgames * adjust playing style: open/closed, attacking/defensive User Interface 4/5 remove scroll bars for comments and narration when they are not needed 5 Player profiles (when selecting Play Mode) - player name, picture - player type - human (local/net address/email) - modem (protocols, phone number) - kchess engine (ply, book, - other local engine (cmd, parm, anon pipes) - ICS - rating, handicap - voice, other preferences * System profiles (when running program) - display, pieces, board, text, audio, print settings - "themes" * Game profiles (when selecting New Game) - time limits, scope, playing options * profiles dialog with Add/Use/Update/Delete * use name of registered user instead of blank for default player name * manage and save variations in KCH files * welcome dialog when run first time for new user - also set default options * ability to customise buttons on button bar * option for separate dialog box to enter comments * in-place editor in move grid to enter moves by keyboard (like in a spreadsheet) * scroll bars to see whole piece set preview in options dialog box * wrap text in Openings dialog to see whole of long moves list and opening name * option to stop on comments when doing Redo All not in fast mode * support for chess fonts which do not use plain ASCII character codes - CA Chess, ISDiagram * print preview * page print options (in Delphi 7) * more hints in Tip Of The Day Multiplayer 5 Winboard/UCI interface - connect to fritz, crafty, lambchop and other engines 5 Multiplayer through - LAN (named pipes, telnet) - Modem (MakeCall/WaitForCall functions) - Nullmodem (MakeConnection/WaitForConnection/SetBaud functions) - Internet: Telnet with server - ?? for direct player to player - use of stdin and stdout 5/6 FICS interface * email play with direct link using POP3/SMTP * pogo chess interface * Auto232 player File Reading & Writing 4/5 save time limit type in KCH files 5 two characters for custom colour and piece names * save board diagram in PCX * option to save higher resolution bitmaps for printing * option to quit without saving * option to autosave files * changing file type in open/save dialog changes actual file extension of entered file * open/save other formats - Bookup - CBF Chessmaster - Clubmaster - Chess Assistant (94isr-ca) - ChessBase (CBV) - GAM Chess Genius - GMS Clubmate (Ian Murray-Watson ian@gval.demon.co.uk, 100413,621) - CBI ChessBase - I30/G30 NICBase -> gctool has pas source CB <-> CG) -> formats.doc in ch-tools.arj has chessbase & nicbase fmts * use other opening libraries 4/5 library list in columns so it doesn't require translation (<> on <> at <>; <> vs <>) 5 search/sort/filter library list by name, date, opening etc 5 insert, delete and replace games in a library list * keep library list on screen * extra PGN tags: Plycount * handle black move number as "15... g4" or "15. ... g4" * search chess files (not just current library) for key words or other text * database of classic games Eye Candy 5 taken pieces smaller than pieces on board 5 takenpanel to right or left of board, or below board or statuspanel only * adjustable width working panel * dockable button bar, status panel, taken panel (but may not work in Kylix) * 3D pieces graphics * rotate/angle board * Animation: - when piece taken - when pawn promoted - at end of game * piece "chatter" when waiting * changeable piece colours Speech & Multi-language 5 replace pause.wav with a programatic delay 5 full bi-directional text and multi-byte character support (perhaps unicode) * native language names eg Deutsch, Français, Español, Italiano, Nederlands * expand Speak Status function to include move#, halfmove, castling * speak piece attacks and jeopardies * customisable sound effects for significant actions eg. capture, castle, move, check etc * voice recognition * voice synthesis Platform & Technology 4/5 update to download/install changed files only 5 separate thread for engine, remove stack switching 5 improve winwaittime so it's not just CPU loop * imagelist control for drag/drop piece * resume update/download if it fails * remove inline assembler (for non-intel and .net) * Linux version * .NET version * Pocket PC version ********************************************************************************