[Bug 1129] bitmaps are not drawn in "Dink Smallwood"

Wine Bugs wine-bugs at winehq.com
Sat Jun 28 07:53:55 CDT 2003


http://bugs.winehq.com/show_bug.cgi?id=1129





------- Additional Comments From z_god at wanadoo.nl  2003-28-06 07:53 -------
Bug comments restored from Gmane.org: 
 
There is this (freeware) game called Dink Smallwood, which I would like to play  
and it almost works but not quite: 
 
You walk around in this game in a view from above (like in the old zeldas or  
ultimas), but wine does not draw the floor tiles, which is quite annoying. 
 
The link to the game is: 
 
http://www.rtsoft.com/dink/download.htm 
 
There are two function calls, which I believe to have identified as the  
culprits: 
 
DIB_DirectDraw_Blt 
 
or 
 
DIB_DirectDraw_BltFast 
 
The first function call complains saying that DBLT_ASYNC|DBLT_WAIT is not  
supported, but as far as I understand the source code, still everything should  
be rendered. 
 
The second function is also called a lot and here I am not so sure, what  
happens. Is this function completely implemented? 
I think it is strange that the last argument is zero, whenever the game calls  
it. I read the specification on the ms-homepage and it does not say that you  
can call it with a zero parameter. 
 
 
------- Additional Comments From tony_lambregts <at> telusplanet.net 2002-11-06 
12:59 ------- 
You can discount the warning about async/wait as this does not apply to the way 
wine deals with ddraw. The other function BltFast might be the culprit but you 
did not include the exact fixme/error message. I will try to get a look at this 
program if time permits. I have also CC:d Lionel who is the REAL DDraw expert. 
 
 
------- Additional Comments From lionel.ulmer <at> free.fr  2002-11-10 06:07 ------- 
Out of curiosity with which Wine version was that tested ? With latest CVS, I do 
not have anything displayed at all... Just a white square on the screen. 
 
 
------- Additional Comments From tony_lambregts <at> telusplanet.net 2002-11-10 
09:20 ------- 
I installed it with a very recent version of CVS (a couple of days ago) I have a 
wine with windows (95) setup. Maybe thats the difference? I have a problem with 
the mouse at the startup screen (I cannot see it). By guess and a liitle luck I 
was able to get a game started. I get a 3rd person view of Dink and have no 
problem moving around with the keyboard. The floor/ground tiles are white just 
like reported. I have not had much of a chance to play(debug) it. 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-11-11 07:37 
------- 
Sorry, when I posted the bug report, I forgot to tell this: 
 
I also get the white screen at the beginning, but after some time (maybe  
pressing the mousebuttons or something), I reach the start menu, where the  
mouse pointer does not work. Continuing here requires a bit of patience: Moving  
the mouse around until a sign appears at the menu entry (this depends a lot on  
luck, sometimes I'm able to do this within 3 seconds, sometimes it takes me  
more than 1 or 2 minutes). 
Anyway, it is possible to start the game, just a bit difficult... 
 
To the question, what the exact error message is: There is no error message  
(apart from the ASYNC-stuff). I ran with "wine -debugmsg +relay..." and looked  
through the messages displayed and I thought that DIB_DirectDraw_BltFast might  
be the problem, but I have no clue at all. 
 
Thanks for your work on this. 
Klaus 
 
 
------- Additional Comments From lionel.ulmer <at> free.fr  2002-11-11 10:37 ------- 
As I still have no luck managing to get the game to run (I have crashes due to 
WinMM and sound stuff), could you attach to this bug report a +ddraw trace (wine 
--debugmsg +ddraw). 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-11-11 18:13 
------- 
I never had a crash I think (I first tried the game 18 month ago). I'm using kde, i.e. 
artsd.Otherwise I don't know.I found out a way to start the game more reliably: Press 
at the 
menu-screen "alt-d" to enter debug mode.Now move the invisible cursor with the 
cursor keys 
to the coordinates x=112 y=45. The mark should appear next to the start entry.Press 
"ctrl" 
to start the game.Lionel, I produced the trace, you requested, but it is over 50MB in 
size. I include 
below some lines, which may be helpful.They start at a SurfaceBlit of size 640, so I 
hope this is 
were the floor tile is drawn, but I don't know:Thanks again for your 
help.   Klausfixme:ddraw:DIB_DirectDrawSurface_BltFast 
(0x403af948)->(0,0,0x403e14a0,0x406d2070,00000000)fixme:ddraw:DIB_DirectDrawSurface_BltFast 
trans:fixme:ddraw:DIB_DirectDrawSurface_BltFast srcrect: 
0x0-640x480trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403e14a0)->Lock((nil),0x406d1efc,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock! 
  
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS2_HINTDYNAMIC 
DDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX DDSCAPS2_CUBEMAP_NEGATIVEY 
DDSCAPS2_D3DTEXTUREMANAGE DDSCAPS2_DONOTPERSIST - 
DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - DDSD_PITCH : 
640 - DDSD_LPSURFACE : 0x42ad0000 - DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, 
R 00 G 00B 00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1f78,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DDSD_LPSURFACE : 
0x41690000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEX! 
  
ED8 DDPF_RGB , RGB bits: 8, R 00 G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403e14a0)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1fa4,0x4581c1a8,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x4581c1a8)->Lock((nil),0x406d1e44,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 136 - 
DDSD_WIDTH : 26 - DDSD_PITCH : 32 - DDSD_LPSURFACE : 0x463a0000 - 
DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked sur! 
  
face returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DDSD_LPSURFACE : 
0x41690000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , 
RGB bits: 8, R 00 G 00B 
00)trace:ddraw:DIB_DirectDrawSurface_Blt destrect 
:27x0-53x50trace:ddraw:DIB_DirectDrawSurface_Blt 
srcrect :0x86-26x136trace:ddraw:DIB_DirectDrawSurface_Blt flags: 
DDBLT_KEYSRCtrace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x4581c1a8)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1fa4,0x4582f1c0,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x4582f1c0)->Lock((nil),0x406d1e44,00000010! 
  
,00000000)trace:ddraw:Main_DirectDrawSurface_Lock locked surface returning 
description : - DDSD_CAPS 
: DDSCAPS_OFFSCREENPLAIN DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX DDSCAPS2_CUBEMAP_NEGATIVEY 
DDSCAPS2_D3DTEXTUREMANAGE DDSCAPS2_DONOTPERSIST 
- DDSD_HEIGHT : 45 - DDSD_WIDTH : 65 - DDSD_PITCH : 72 - DDSD_LPSURFACE 
: 0x465f0000 - 
DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 
G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DD! 
  
SD_LPSURFACE : 0x41690000 - DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 G 
00B 00)trace:ddraw:DIB_DirectDrawSurface_Blt destrect 
:160x30-225x75trace:ddraw:DIB_DirectDrawSurface_Blt srcrect 
:0x0-65x45trace:ddraw:DIB_DirectDrawSurface_Blt flags: 
DDBLT_KEYSRCtrace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x4582f1c0)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1fa4,0x45830230,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x45830230)->Lock((nil),0x406d1e44,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 22 - 
DDSD_WIDTH : 20 - DDSD_PITCH : 24 - DDSD_LPSU! 
  
RFACE : 0x46610000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 
DDPF_RGB , RGB bits: 8, R 00 G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DDSD_LPSURFACE : 
0x41690000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , 
RGB bits: 8, R 00 G 00B 
00)trace:ddraw:DIB_DirectDrawSurface_Blt destrect 
:516x52-536x74trace:ddraw:DIB_DirectDrawSurface_Blt 
srcrect :0x0-20x22trace:ddraw:DIB_DirectDrawSurface_Blt flags: 
DDBLT_KEYSRCtrace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:! 
  
Main_DirectDrawSurface_Unlock 
(0x45830230)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1fa4,0x4582e988,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x4582e988)->Lock((nil),0x406d1e44,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 24 - 
DDSD_WIDTH : 22 - DDSD_PITCH : 24 - DDSD_LPSURFACE : 0x465e0000 - 
DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOM! 
  
EMORY DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC 
DDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX DDSCAPS2_CUBEMAP_NEGATIVEY 
DDSCAPS2_D3DTEXTUREMANAGE DDSCAPS2_DONOTPERSIST 
- DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - DDSD_PITCH : 640 - 
DDSD_LPSURFACE : 0x41690000 - 
DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 
G 00B 
00)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DDSD_LPSURFACE : 
0x41690000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , 
RGB bits: 8, R 00 G 00B 
00)trace:dd! 
  
raw:DIB_DirectDrawSurface_Blt destrect 
:27x0-53x136trace:ddraw:DIB_DirectDrawSurface_Blt srcrect 
:0x0-26x136trace:ddraw:DIB_DirectDrawSurface_Blt flags: 
DDBLT_KEYSRCtrace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x4581c1a8)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1fa4,0x4581c1a8,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x4581c1a8)->Lock((nil),0x406d1e44,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 136 - 
DDSD_WIDTH : 26 - DDSD_PITCH : 32 - DDSD_LPSURFACE : 0x463a0000 - 
DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 G 00B 
00)trace:ddraw:Mai! 
  
n_DirectDrawSurface_Lock 
(0x403af948)->Lock((nil),0x406d1ec0,00000020,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_BACKBUFFER 
DDSCAPS_COMPLEX DDSCAPS_FLIP 
DDSCAPS_FRONTBUFFER DDSCAPS_VIDEOMEMORY 
DDSCAPS_LOCALVIDMEM DDSCAPS2_HINTDYNAMIC DDSCAPS2_RESERVED2 
DDSCAPS2_CUBEMAP DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 480 - DDSD_WIDTH : 640 - 
DDSD_PITCH : 640 - DDSD_LPSURFACE : 
0x41690000 - DDSD_PIXELFORMAT : ( DDPF_PALETTEINDEXED8 DDPF_RGB , 
RGB bits: 8, R 00 G 00B 
00)trace:ddraw:DIB_DirectDrawSurface_Blt destrect 
:27x74-53x210trace:ddraw:DIB_DirectDrawSurface_Blt 
srcrect :0x0-26x136trace:ddraw:DIB_DirectDrawSurface_Blt flags: 
DDBLT_KEYSRCtrace:ddraw:Main_DirectDrawSurface_Unlock 
(0x403af948)->Unlock((nil))trace:ddraw:Main_DirectDrawSurface_Unlock 
(0x4581c1a8)->Unlock((nil))trace:ddraw:DIB_DirectDrawSurface_Blt 
(0x403af948)->(0x406d1! 
  
fa4,0x4042e008,0x406d1fb4,00008000,0x406d1fc8)trace:ddraw:Main_DirectDrawSurface_Lock 
(0x4042e008)->Lock((nil),0x406d1e44,00000010,00000000)trace:ddraw:Main_DirectDrawSurface_Lock 
locked surface returning description : - DDSD_CAPS : DDSCAPS_OFFSCREENPLAIN 
DDSCAPS_SYSTEMMEMORY 
DDSCAPS2_HINTDYNAMICDDSCAPS2_RESERVED2 DDSCAPS2_CUBEMAP 
DDSCAPS2_CUBEMAP_NEGATIVEX 
DDSCAPS2_CUBEMAP_NEGATIVEY DDSCAPS2_D3DTEXTUREMANAGE 
DDSCAPS2_DONOTPERSIST - DDSD_HEIGHT : 97 - 
DDSD_WIDTH : 48 - DDSD_PITCH : 48 - DDSD_LPSURFACE : 0x45510000 - 
DDSD_PIXELFORMAT : ( 
DDPF_PALETTEINDEXED8 DDPF_RGB , RGB bits: 8, R 00 G 00B 00) 
 
 
------- Additional Comments From tony_lambregts <at> telusplanet.net 2002-11-11 
21:15 ------- 
Please attach trace next time... <grin> 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-11-15 18:51 
------- 
Sorry for the trace inside the comment.I took a look myself at the wine-code and while I 
did not 
solve the real bug,I found a smaller one in the debugging output, which I have fixed 
(I'm veryproud 
of myself!!)As you maybe see in the trace, but probably not, the last argument of 
theSurface_BltFast-fnc is 0 and latter in the debugging output you see "trans:"but the 
value of trans (which is given by the last argument) is not displayed.The reason is the 
following 
(include/ddraw.h):trans = DDBLTFAST_NOCOLORKEY = 0but in dll/ddraw/helper.c 
the debugging output is 
generated by DDRAW_dump_flags_:for (i=0; i < num_names; i++)    if (names[i].val & 
flags)          DPRINTF("%s ", names[i].name);The "if" does not detect the case trans == 
0, so I modified this into for (i=0; i < num_names; i++) if (names[i].val == 0 && flags == 
0) DPRINTF("%s ", names[i].name); else if (names[i].val & flags)         DPRINTF("%s 
", names[i].name);I don't know if this is the fix like it should! 
  
 be or not, but I'm proud anyway.I still have no clue, why the game does not 
work.Cheers        Klaus 
 
 
------- Additional Comments From tony_lambregts <at> telusplanet.net 2002-11-15 
19:10 ------- 
allright what the heck are you doing the messes up your comments? Are you 
pasting them in? Is it your browser? As it is the comments are not very 
usefull.<frown> 
 
 
------- Additional Comments From andi <at> rhlx01.fht-esslingen.de  2002-11-15 19:19 
------- 
Yep, that sounds like it's definitely a bug, albeit a relatively minor one. 
I'd propose something like 
 
static void DDRAW_dump_flags_(DWORD flags, const flag_info* names, 
                             size_t num_names, int newline) 
{ 
    unsigned int        i; 
 
    for (i=0; i < num_names; i++) 
        if ((flags & names[i].val) /* standard flag value */ 
        || ((!flags) && (!names[i].val))) /* zero value only */ 
            DPRINTF("%s ", names[i].name); 
 
    if (newline) 
        DPRINTF("\n"); 
} 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-11-26 18:44 
------- 
Me again. Sorry for the strange formatting of my emails.I don't know why this happens. 
I'm using 
konqueror-2.2.xI was just wondering if it may be that wine does not load the bitmapsof 
the game. I 
did an strace and I don't find anything about loadingthe files "./dink/Tiles/*.bmp".The 
only thing I discovered wasopen("/usr/share/wine/drivec/Program Files/Dink 
Smallwood/dink/Tiles", O_RDONLY|O_LARGEFILE) = 15ioctl(15, 
VFAT_IOCTL_READDIR_BOTH, 0x406d16a4) 
= -1 ENOTTY (Inappropriate ioctlfor device)close(15) = 
0open("/usr/share/wine/drivec/Program 
Files/Dink Smallwood/dink/Tiles", 
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 15fstat64(15, 
{st_mode=S_IFDIR|0777, st_size=1456, ...}) = 0fcntl64(15, F_SETFD, FD_CLOEXEC) 
= 0getdents64(0xf, 
0x80c8040, 0x1000, 0x19) = 1904getdents64(0xf, 0x80c8040, 0x1000, 0x19) = 
0close(15) = 0Maybe someone 
smarter than me could tell me what this means.Anyway if I use "wine -debugmsg +! 
  
file dink.exe" I find lines saying:trace:file:CreateFileW L"tiles\\TS01.bmp" 
GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE OPEN_EXISTING 
attributes 0x80trace:file:CreateFileW 
returning 0x58trace:file:_lopen ('tiles\TS01.BMP',0000)trace:file:CreateFileW 
L"tiles\\TS01.BMP" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE 
OPEN_EXISTING attributes 
0x0trace:file:CreateFileW returning 0x58trace:file:ReadFile 0x58 0x406d2690 14 
0x406d264c 
(nil)trace:file:ReadFile 0x58 0x406d2668 40 0x406d264c (nil)trace:file:ReadFile 0x58 
0x406d26a4 1024 
0x406d264c (nil)trace:file:_lclose handle 88I hope someone can read this and the 
formatting is not 
destroyed againthis time.Bye    Klaus 
 
 
------- Additional Comments From tony_lambregts <at> telusplanet.net 2002-11-26 
19:12 ------- 
I would suspect that its something to do with konqueror. Lets see what I can do  
 
<Klaus's comments> 
  
I was just wondering if it may be that wine does not load the bitmaps of the 
game. I did an strace and I don't find anything about loading the files 
"./dink/Tiles/*.bmp".The only thing I discovered was 
 
open("/usr/share/wine/drivec/Program Files/Dink Smallwood/dink/Tiles", 
O_RDONLY|O_LARGEFILE) = 15  
ioctl(15, VFAT_IOCTL_READDIR_BOTH, 0x406d16a4) = -1 ENOTTY (Inappropriate  
ioctlfor device) 
close(15)= 0 
open("/usr/share/wine/drivec/Program Files/Dink Smallwood/dink/Tiles", 
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 15 
fstat64(15, {st_mode=S_IFDIR|0777, st_size=1456, ...}) = 0 
fcntl64(15, F_SETFD, FD_CLOEXEC)        = 0 
getdents64(0xf, 0x80c8040, 0x1000, 0x19) = 1904 
getdents64(0xf, 0x80c8040, 0x1000, 0x19) = 0 
close(15) = 0 
 
Maybe someone smarter than me could tell me what this means.Anyway if I use 
"wine -debugmsg +file dink.exe" I find lines saying: 
 
trace:file:CreateFileW L"tiles\\TS01.bmp" GENERIC_READ FILE_SHARE_READ 
FILE_SHARE_WRITE OPEN_EXISTING  attributes 0x80 
trace:file:CreateFileW returning 0x58 
trace:file:_lopen ('tiles\TS01.BMP',0000) 
trace:file:CreateFileW L"tiles\\TS01.BMP" GENERIC_READ FILE_SHARE_READ 
FILE_SHARE_WRITE OPEN_EXISTING  attributes 0x0 
trace:file:CreateFileW returning 0x58 
trace:file:ReadFile 0x58 0x406d2690 14 0x406d264c (nil) 
trace:file:ReadFile 0x58 0x406d2668 40 0x406d264c (nil) 
trace:file:ReadFile 0x58 0x406d26a4 1024 0x406d264c (nil) 
trace:file:_lclose handle 88 
 
</Klaus's comments> 
 
 
------- Additional Comments From andi <at> rhlx01.fht-esslingen.de  2002-11-27 00:48 
------- 
VFAT_IOCTL_READDIR_BOTH doesn't matter, since it's on a non-VFAT partition 
and we just probe for VFAT properties. 
Apart from that, no idea. 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-11-27 08:41 
------- 
Today I'm using IE, so I hope this helps with the formatting. 
 
Could someone tell me, if the tile-bitmaps are loaded or is there some way to  
find this out? I guess that wine does not have problems with capital-letters  
and such in filenames (since Windows does not distiguish them as far as I know). 
 
Anyway in case this is not the error, I have been doing some "reverse- 
engineering" in dink-smallwood, maybe someone can give me a hint on what to  
test next: 
 
Basically Dink Smallwood uses a Display-Surface with a Front- and Backbuffer  
(640x480), an offscreen-memory-surface of the same size and some smaller  
surfaces containing objects. 
When the player enters a new room the offscreen-memory-surface is painted with  
the ground-tiles and this remains fixed until the player enters another room. 
Every time a frame is drawn the offscreen-surface is copied first to the  
backbuffer (to paint the floor) and then the other several objects (trees,  
people, etc.) are copied directly to the backbuffer. When this is finished, the  
Back- and frontbuffers are switched and the steps above repeat. 
 
What I am wondering is, why the objects are visible, but the floor-tiles are  
not. The only differences I see for now, is that the objects are copied  
directly to the backbuffer, while the floor-tiles are copied first to the  
offscreen-memory and then to the backbuffer and the second difference is that  
the floor-tiles are stored in regular *.bmp files, while the objects are stored  
in some format, which I do not recognize. 
 
What could I test next? Thanks 
 
Klaus 
 
 
------- Additional Comments From kniederk <at> math.uni-koeln.de  2002-12-04 08:41 
------- 
I'm sorry about this fuzz with the "strace", where I didn't see the loading of  
the bitmaps. 
 
The problem was that these files are opened by another win-thread and this was  
not monitored by strace. 
 
To get it right you need to use "strace -f wine dink.exe". 
 
What should I try next? 
 
Klaus 

-- 
Configure bugmail: http://bugs.winehq.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list