Microsoft Hearts (3.11)

970329

Seems to work perfectly now. I still seem black dots throughout thwe green playing area, but I suspect that it might be caused by some of the other X programs I have running stealing some colours Hearts needs. Althought, even using a private colour map I still had the same problem. Also, it appears Hearts like to make use of gray text on a gray background, which doesn't display too well at all.
960405 960414

The redrawing is almost perfect, but the black pixels (see below) still appear. Also the scoring box is messed up, each score is placed on the one line (on top on the previous one).
951003 951105 951124 951212 951226 960114 960131

Well it is working again (no more X problems), but the redrawing is still not quite right. See below for an example.
950918

Every now and then I tried running mshearts with the fixedmap option, but it would just SegFault right away. When I tried without -fixedmap, in either enhanced or normal mode, after accepting the value presented as your name, X tells me :
Call GDI.83: GETPIXEL(0x08cc,0x00d5,0x013d) ret=02cf:053f ds=02d7
PtVisible: 8cc 213,317
Ret  GDI.83: GETPIXEL() retval=0x00008000 ds=02d7
Call GDI.83: GETPIXEL(0x08cc,0x00d5,0x019b) ret=02cf:055f ds=02d7
PtVisible: 8cc 213,411
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  73 (X_GetImage)
  Serial number of failed request:  1654
  Current serial number in output stream:  1654

950901

Same redraw problem, but I didn't notice the heap problem. As long you force the window to be redrawn every so often, things are okay. Here are two screen dumps so you can see the drawing problems for yourself.

950727

If you use the -desktop your wallpaper isn't shown. If you can stand the redrawing problems, there don't appear to be any problems with playability. Wine says that a heap is initalised twice, here is the debugging output:
Call KERNEL.4: LOCALINIT(0x02bf,0x0000,0x0fff) ret=026f:6711 ds=027f
LocalInit: 02bf 0000-0fff
Heap at 0x1e4000, 0020
LocalInit: Heap 02bf initialized twice.
Heap at 0x1e4000, 0020
Local Heap  ds=02bf first=0010 last=fff4 items=7
  0010: prev=0010 next=001c type=1
        size=12 free_prev=0010 free_next=004c
  001c: prev=0010 next=004c type=1
  004c: prev=001c next=0158 type=0
        size=268 free_prev=0010 free_next=01e0
  0158: prev=004c next=01e0 type=1
  01e0: prev=0158 next=02e8 type=0
        size=264 free_prev=004c free_next=02e8
  02e8: prev=01e0 next=fff4 type=0
        size=64780 free_prev=01e0 free_next=fff4
  fff4: prev=02e8 next=fff4 type=0
        size=12 free_prev=02e8 free_next=fff4
Heap at 0x1e4000, 0020
Local Heap  ds=02bf first=0010 last=0ff4 items=4
  0010: prev=0010 next=001c type=1
        size=12 free_prev=0010 free_next=004c
  001c: prev=0010 next=004c type=1
  004c: prev=001c next=0ff4 type=0
        size=4008 free_prev=0010 free_next=0ff4
  0ff4: prev=004c next=0ff4 type=0
        size=12 free_prev=004c free_next=0ff4
Ret  KERNEL.4: LOCALINIT() retval=0x0001 ds=027f

950706

When graphics (cards) are moved around, they overwrite each other. Privatemap made the problems worse. This window is not suposed to maximise, but parts of it (the window header) are able to. This will allow wine to draw outside of the window!! Also can't/won't display scores, correctly. The name of players and score are overwritten.