Winboard 4.4.3 Engine Logo Bug

Discussions about the WinBoard protocol. Here you can also report bugs and request new features.

Moderators: hgm, Andres Valverde

Winboard 4.4.3 Engine Logo Bug

Postby TGMK » 30 Jun 2010, 16:42

Hi Everyone,

I'm using Winboard 4.4.3 on a Vista (SP2).
I created custom logos for user and engines.

First of all, it's very confusing to have to learn to add the
Code: Select all
/userName="username"
line to winboard.ini on your own. Perhaps an addendum to logos.readme is called for.

On that note, with the line not a part of the default structure of the winboard.ini file the change is non-permanent. Adding it in the next update would be nice. Default is of course set, but sadly fixed (barring a tedious manual change every iteration). Many of us have two or more users on the same computer. Perhaps associating usernames with captured logins during ics mode (with stored logo files for each handle {or a winboard.ini line allowing the same logo for a string of handles}) would be feasible.

Secondly, I have Crafty as a menu engine option in the winboard.ini as follows:
Code: Select all
/firstChessProgramNames={"crafty-23.2-win32.exe xboard" /fd="../Crafty"
"ruffian 1.0.1.exe" /fd="../Ruffian"
"fruit_21" /fd="../Fruit"/fUCI
}

With these settings all the engines are operational and Ruffian, Fruit correctly identify their logo.bmp files but Crafty fails to post a logo. I tried adding
Code: Select all
/firstLogo="../Crafty/logo.ini"
and/or
Code: Select all
/secondLogo"../Crafty/logo.ini"
as found in a few engine.ini files, but to no avail. Any help would be welcome.

Thanks,

Matt

P.S. Great work on the new Winboard! I've been away from chess for years but this is a welcome surprise. I look forward to a functional
Code: Select all
/seekGraph=true
.
TGMK
 
Posts: 4
Joined: 30 Jun 2010, 12:36

Re: Winboard 4.4.3 Engine Logo Bug

Postby Josh Pettus » 30 Jun 2010, 17:58

a few points about logos
-All logo's must be .bmp files of 100x50 pixels or a little smaller so it can stretch

-Enable by /autoLogo=true

-You dont HAVE to edit
/userName="username"
winboard automatically uses the login name of your windows session as default when you are playing. So edit you picture to match your windows login name and stick it into the "logos" folder. Also there is a change username in the menu Mode->Enter Username...


-for engines, winboard will automatically load any file labeled as "logo.bmp" that is in the engine folder as dictated by the /fd="enginepath"( or /sd=) command. So you don't have to specifically specify the logo. But say you must because you are invoking some adapter as an engine and must use the /fcp command rather than the /fd. Then you add the /fistLogo="path-of-logo" into the launch engine command if it is a first engine, and /secondLogo="whatever" if it is a second engine.

-Not that you asked but for ICSs, all logos are put into the "logos" folder and are dictated by their names matching the /icsHost="whateverics" command. So the appropriate logo would be "whateverics.bmp"
Last edited by Josh Pettus on 30 Jun 2010, 18:04, edited 1 time in total.
Josh Pettus
 
Posts: 317
Joined: 11 Mar 2009, 01:11

Re: Winboard 4.4.3 Engine Logo Bug

Postby H.G.Muller » 30 Jun 2010, 18:03

TGMK wrote:First of all, it's very confusing to have to learn to add the
Code: Select all
/userName="username"
line to winboard.ini on your own. Perhaps an addendum to logos.readme is called for.

On that note, with the line not a part of the default structure of the winboard.ini file the change is non-permanent. Adding it in the next update would be nice. Default is of course set, but sadly fixed (barring a tedious manual change every iteration). Many of us have two or more users on the same computer. Perhaps associating usernames with captured logins during ics mode (with stored logo files for each handle {or a winboard.ini line allowing the same logo for a string of handles}) would be feasible.

Exactly because one computer can have several users, that in the current configuration are all sharing the same winboard.ini file, the /userName setting is not saved in that ini file. In stead it is taken from the Operating System, as the current user. I admit that currently the logo handling for ICS play is a bit primitive, only showing the logo of the ICS, not of the user. (This feature started out as something only intended for engine-engine play...) This could definitely be elaborated on, by allowing sub-folders in the logo tree, like .\logos\freechess.com\ or .\logos\chessclub.com\ , which could contain logos for specific handles on those sites. A handle match would then overrule the site logo.

Secondly, I have Crafty as a menu engine option in the winboard.ini as follows:
Code: Select all
/firstChessProgramNames={"crafty-23.2-win32.exe xboard" /fd="../Crafty"
"ruffian 1.0.1.exe" /fd="../Ruffian"
"fruit_21" /fd="../Fruit"/fUCI
}

With these settings all the engines are operational and Ruffian, Fruit correctly identify their logo.bmp files but Crafty fails to post a logo. I tried adding
Code: Select all
/firstLogo="../Crafty/logo.ini"
and/or
Code: Select all
/secondLogo"../Crafty/logo.ini"
as found in a few engine.ini files, but to no avail. Any help would be welcome.

The file should be called logo.bmp (and be a bitmap file), not logo.ini. In that case it should be loaded automatically when you invoke Crafty, when /autoLogo=true. You would not even need the /firstLogo or /secondLogo options in that case.

Code: Select all
/seekGraph=true

Why don't you use the development version, then, in stead of 4.4.3? A simple install for it can be found at http://hgm.nubati.net/WinBoard-ICS.exe , and an even more recent bare executable at http://hgm.nubati.net/winboard0526.zip .
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Winboard 4.4.3 Engine Logo Bug

Postby TGMK » 01 Jul 2010, 18:42

Darklord42 wrote:a few points about logos
-All logo's must be .bmp files of 100x50 pixels or a little smaller so it can stretch

-Enable by /autoLogo=true

-You dont HAVE to edit
/userName="username"
winboard automatically uses the login name of your windows session as default when you are playing. So edit you picture to match your windows login name and stick it into the "logos" folder. Also there is a change username in the menu Mode->Enter Username...

Thank you Darklord42. I appreciate your response. On the other hand, I may have been remiss in not stating that I understood such precepts. My custom logo.bmp files are all 100x50 and autoLogo=true is set. However my main point was that currently you DO HAVE to edit /userName="username" or manually change it in the GUI if you don't want your username to be your windows login. I was searching for a way to permanently set the /userName to an ICS handle.
Darklord42 wrote:-for engines, winboard will automatically load any file labeled as "logo.bmp" that is in the engine folder as dictated by the /fd="enginepath"( or /sd=) command. So you don't have to specifically specify the logo. But say you must because you are invoking some adapter as an engine and must use the /fcp command rather than the /fd. Then you add the /fistLogo="path-of-logo" into the launch engine command if it is a first engine, and /secondLogo="whatever" if it is a second engine.

This is exactly my point. Winboard is NOT automatically loading "logo.bmp" from the designated engine folder.
H.G.Muller wrote: I admit that currently the logo handling for ICS play is a bit primitive, only showing the logo of the ICS, not of the user. (This feature started out as something only intended for engine-engine play...) This could definitely be elaborated on, by allowing sub-folders in the logo tree, like .\logos\freechess.com\ or .\logos\chessclub.com\ , which could contain logos for specific handles on those sites. A handle match would then overrule the site logo.

Thanks H.G.M.! That makes things a lot clearer. I was starting to suspect that logos for human ICS players were not initially intended with this feature. It makes perfect sense if you consider the current logo setup from a purely offline perspective. I like your idea for sub-folders in the logo tree. A network of personal logo sharing might even crop up where everytime you play an ics game you have a chance of "seeing" your opponent.
H.G.Muller wrote:The file should be called logo.bmp (and be a bitmap file), not logo.ini. In that case it should be loaded automatically when you invoke Crafty, when /autoLogo=true. You would not even need the /firstLogo or /secondLogo options in that case.

My apologies. My initial post was a typographical error on that point. I was very tired :(. My logos are indeed "logo.bmp" and can be found in the engine folder. /autoLogo=true as I said above and all logos are operational (even user, when i modify the username manually) except for Crafty. Therein lies the problem.
The file is fine, it's in the right folder and it's obviously being called (because ruffian and fruit are functional) but it's not showing up.
TGMK
 
Posts: 4
Joined: 30 Jun 2010, 12:36

Re: Winboard 4.4.3 Engine Logo Bug

Postby TGMK » 01 Jul 2010, 19:08

I created yet another logo.bmp file for crafty and now it works. I don't know what was wrong with the first two, but I can tell you I saved the last one 100x50 "logo.bmp" 256 color bitmap. Sorry for wasting your time folks. I spent over 24 hours reworking winboard settings in the past two days and I suppose I'm allowed to have one 'wtf' moment. :idea: :shock: :idea:
TGMK
 
Posts: 4
Joined: 30 Jun 2010, 12:36

Re: Winboard 4.4.3 Engine Logo Bug

Postby H.G.Muller » 01 Jul 2010, 19:22

TGMK wrote:A network of personal logo sharing might even crop up where everytime you play an ics game you have a chance of "seeing" your opponent.

It would be even nicer if there was an option /autoTradeLogos, which, in case you don't have the logo of an opponent also using a WinBoard client, would cause WinBoard to request the logo through a tell message with some special keyword in it. The opponent's WinBoard would then intercept that tell message, and encode the 'home' logo of the opponent as tell messages (e.g. using a hexadecimal dump of the bitmap file) that it sends back. The WinBoard that sent the request would then intercept those, build the logo, save it in the folder for the applicable ICS, and display it.

Hmm, that would be tough, I guess. (You would need delays, for most ICS don't like to be bot-spammed with tells...) But it would be so cool!
8-)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Winboard 4.4.3 Engine Logo Bug

Postby TGMK » 04 Jul 2010, 01:31

H.G.Muller wrote:
TGMK wrote:A network of personal logo sharing might even crop up where everytime you play an ics game you have a chance of "seeing" your opponent.

It would be even nicer if there was an option /autoTradeLogos, which, in case you don't have the logo of an opponent also using a WinBoard client, would cause WinBoard to request the logo through a tell message with some special keyword in it. The opponent's WinBoard would then intercept that tell message, and encode the 'home' logo of the opponent as tell messages (e.g. using a hexadecimal dump of the bitmap file) that it sends back. The WinBoard that sent the request would then intercept those, build the logo, save it in the folder for the applicable ICS, and display it.

Hmm, that would be tough, I guess. (You would need delays, for most ICS don't like to be bot-spammed with tells...) But it would be so cool!
8-)


You know... I would love to understand programming well enough to think outside the box like that. I really like your idea. I don't profess to know how big of a dump that would be, but I know spam-control is much less limited with messages. If you could construct a sequence directing winboard to call, interpret and subsequently delete handle:handle messages the idea would work.

Matt :mrgreen:

P.S. A quick supplementary idea: Instead of attempting to initiate logo transfers via interrogatory tells, perhaps winboard could present itself differently in the ics variables. For example instead of Interface: Winboard 4.4.3 it could be Interface: Winboard 4.4.3L. Winboard could call variables before every game and when L=true and /autoTradeLogos="true" the two would automatically begin the message dump. Showing the variables screen at the initiation of every game is a minor inconvenience for the feature... especially considering the delayed|scary alternative sharing procedures.
TGMK
 
Posts: 4
Joined: 30 Jun 2010, 12:36


Return to WinBoard development and bugfixing

Who is online

Users browsing this forum: No registered users and 5 guests