Re: [AD] crash! unhandled exception wip414 win2k msvc |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> Hmm, this is interesting, it doesn't work at all if I change the desktop to
> 16-bit. I just get the window on screen but it's filled with pink. The game
> is going on in the background because I can hear the music, and can quit if
> I type blindly, but I don't see any graphics at all.
Your desktop, albeit reported as 16-bit by Windows, is probably a 15-bit one.
Try to change the color depth of your game to 15-bit.
> > Does it happen or crash at another place if you put
> > disable_direct_updating = yes
> > in the [graphics] section of allegro.cfg (which must be visible by the
> > program) ?
>
> I created a text file called allegro.cfg, put it in the game folder, and
> added:
> [graphics]
> disable_direct_updating = yes
>
> to it. It made no difference, I still got the crash in
> _colorconv_blit_16_to_32. How can I tell whether it's using the config file
> or not?
You can add a dummy entry in the [graphics] section, for example:
dummy = 50
and add the following test in your code:
char tmp1[64], tmp2[64];
if (get_config_int(uconvert_ascii("graphics", tmp1),
uconvert_ascii("dummy", tmp2), 0) != 50)
abort();
But I think your test is already pretty conclusive.
Could you try the attached patch ? Does it modify the crash point ?
--
Eric Botcazou
--- /cvs/allegro/src/win/wddbmp.c Mon Oct 14 08:35:14 2002
+++ allegro/src/win/wddbmp.c Sat Nov 2 08:50:50 2002
@@ -206,7 +206,7 @@
break;
case DDRAW_SURFACE_SYSTEM:
- ddsurf_desc.ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY | DDSCAPS_OFFSCREENPLAIN;
+ ddsurf_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsurf_desc.dwFlags |= DDSD_HEIGHT | DDSD_WIDTH;
ddsurf_desc.dwHeight = h;
ddsurf_desc.dwWidth = w;