pgeorges schrieb:

Hello Pascal!

 >> This happens to me when I resize this window vertically
 >> between the two visible panels and the lower window
 >> border.  The space is devided by the statusline. However
 >> you have to make it really long, like 2/3 screen height.
 > I fixed 90% of the problem (you may still encounter
 > packing problem in some cases).

THX :)

 >> Thats the point: you could! Adding the ability to read
 >> some strings  via some input stream that is connected to
 >> the input engine and give it to the normal processing of
 >> scid would do the trick. Thats the basic idea of the
 >> dgtdrv-approach. The developer of some gui does not need
 >> any hardware, juast as (s)he does not need any chess
 >> engine.
 > There are some drawbacks here : - the board is considered
 > as an engine : this prohibits some specific use (lifting a
 > piece for example to trigger special functions);

Nope. Absolutely not. I just throw a message for this. To
keep it compatible with xboard/uci I wrap them in
info-messages. E.g. the DGT-"move" to switch to setup mode
is lifting both kings. If you lift both kings dgtdrv issues
an info message like (uci-mode):

    info string !enter setup mode!

And then no placements or "moves" will be send. A sensible
GUI would read this stop the clocks and probably inform the
user e.g. Otherwise it will just ignore the string as an
informal message (or whatever it does otherwise with those
strings.)

To end setup mode you'd place both kings back, specifying
the side to move by placing their king last. dgtdrv would
then throw something like

    info string !end setup mode!
    info string !black to move!
    info string FEN <position>

with the <position> replaced by the actual position in FEN.
(So actually the "black to move" message is redundant.)

Same goes for "move now", "new game", "end game <result>".
Additional similar messages are thrown with the clock timing
(in case you connect a DGT XL it should be passed through
and most likely also set the GUI's timing) and stuff like
that.

Besides you've some additional commands a normal engine does
not know like "getboardposition", "getclock" stuff like
that. The full protocol can be found at
http://dgtdrv.sourceforge.net/dgtdrv-3.html

 > - the UI must work in tournament mode (not the case for
 > Scid PC now, but should be ok on PPC)

Nope. Actually it would even be better to merge the boards
messages to the normal scid move input. The "missuse" of
tournament mode is just a work arround to get a GUI reading
the board that doesn't know a thing about it. I tried here
to work with as many GUIs as possible.

My xboard patch that incorporates many of the above messages
into xboard uses turnament mode as I was able to fiddle out
how xboard handles the engine wheras I did not yet manage to
find out how normal move input is handled. I currently do
not understand the message handling in xboard for mouse
events. If I would I'd hook my code in there of course add a
menu item "DGT" and just replace mouse events by board
events. That's actually the "good way" to do it. The other
one is just a fallback for GUIs that don't know dgtdrv.

On the other hand keep the dialog-part close to uci/xboard
has the advantage that you don't need much code within your
GUI as you already have either or even both to talk to a
chess engine. One could just reroute the messages
internally. Switch off the keyboard and connect the driver
engine instead by means of a pretty simple parser that is
almost what's already there for uci/xboard + some additional
strings to parse.

 > - coding in Tcl makes it easier to port (consider a port
 > to Pocket PC for example);

As I say: you could do the input engine in whatever language
you want. For quite some time I considered doing dgtdrv in
perl. (It's C just as I did not want to code a perl-binding
for dgtnix first, so it was more convenient to do it in C.)

The scid-part of this handling would be tcl anyway.

 > - I want to use Bluetooth one day : in Tcl it means simply
 > to change a COM parameter

Same for the input engine. Actually the nice thing is IMHO
that you could move this issue even away from scid. Probably
someone with a Novag board could do such an engine. Some
other guy sais "oh, I've this RS232, I could hook on this as
well" and another one thinks about some IP-daemon that
connects to FICS and grabs the tournament transmission from
Dortmund next year right into scid. Having an interface this
is possible otherwise all this had to be coded into scid.

 > - There is no stdin  / stdout in Pocket PC, I need to use
 > message queues

Ok. Here you won. (They really charge money for WinCE??? ;)

Ahm, partly one would do the same as for current chess
engines to hook up with scid.

 >>> If you have some nice piece sets, you can send them I
 >>> will incorporate them in the file bitmaps.tcl (I prefer
 >>> to embed data in tcl, and avoid the use of external
 >>> files for resources used by Scid).
 >> What format and dimensions?
 >>
 > I need one image for each size 25 to 80 by step of 5
 > pixels.

Ok. I'll check this.

 > Each GIF image should contain in that order (horizontal
 > layout): wp wn wb wr wq wk bp bn bb br bq bk

One line I guess. Should be possible by adopting
MkXboardTheme.

 > and have a transparent background.

No alpha channel, ok.

-- 

Kind regards,

Alexander Wagner
Universitaetsbibliothek Ilmenau
Langewiesener Str. 37
98693 Ilmenau
Tel.: 03677/69-4521 , Fax.: 03677/69-4617


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Scid-users mailing list
Scid-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scid-users

Reply via email to