entryway
Forum Staple
Posts: 2587
Registered: 01-04 |
Quasar said:
How do you detect you're running on Win9x?
(int)GetVersion() < 0
prboom+ forces 'directx' for win9x only if config value for sdl_videodriver is "default" and it is not overridden through command line.
code:
{"sdl_videodriver", {NULL,&sdl_videodriver}, {0,"default"},UL,UL,
def_str,ss_none},
...
if ((p = M_CheckParm("-videodriver")) && (p < myargc - 1))
{
free(sdl_videodriver);
sdl_videodriver = strdup(myargv[p + 1]);
}
if (strcasecmp(sdl_videodriver, "default"))
{
// videodriver != default
char buf[80];
strcpy(buf, "SDL_VIDEODRIVER=");
strncat(buf, sdl_videodriver, sizeof(buf) - sizeof(buf[0]) - strlen(buf));
putenv(buf);
}
else
{
// videodriver == default
#ifdef _WIN32
if ((int)GetVersion() < 0 && V_GetMode() != VID_MODEGL ) // win9x
putenv("SDL_VIDEODRIVER=directx");
#endif
}
p = SDL_Init(flags);
if (p < 0 && strcasecmp(sdl_videodriver, "default"))
{
//e6y: wrong videodriver?
lprintf(LO_ERROR, "Could not initialize SDL with SDL_VIDEODRIVER=%s [%s]\n",
sdl_videodriver, SDL_GetError());
putenv("SDL_VIDEODRIVER=");
free(sdl_videodriver);
sdl_videodriver = strdup("default");
p = SDL_Init(flags);
}
Last edited by entryway on 04-10-10 at 10:40
|