sdlayer.h/winlayer.cpp: If a resolution is supported for fullscreen, also support the mode as a windowed resolution.

git-svn-id: https://svn.eduke32.com/eduke32@6696 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
pogokeen 2018-02-26 02:48:06 +00:00
parent 5370beb026
commit 15b11232c3
2 changed files with 35 additions and 25 deletions

View file

@ -37,26 +37,29 @@ int32_t SDL_WaitEventTimeout(SDL_Event *event, int32_t timeout);
} }
#define SDL_ADDMODE(x, y, c, f) \ #define SDL_ADDMODE(x, y, c, f) \
do \ { \
int fullscreen; \
for (fullscreen = f; fullscreen >= 0; --fullscreen) \
{ \ { \
if (validmodecnt < MAXVALIDMODES) \ if (validmodecnt < MAXVALIDMODES) \
{ \ { \
int32_t mn; \ int32_t mn; \
for (mn = 0; mn < validmodecnt; mn++) \ for (mn = 0; mn < validmodecnt; mn++) \
if (validmode[mn].xdim == x && validmode[mn].ydim == y && validmode[mn].bpp == c && \ if (validmode[mn].xdim == x && validmode[mn].ydim == y && validmode[mn].bpp == c && \
validmode[mn].fs == f) \ validmode[mn].fs == fullscreen) \
break; \ break; \
if (mn == validmodecnt) \ if (mn == validmodecnt) \
{ \ { \
validmode[validmodecnt].xdim = x; \ validmode[validmodecnt].xdim = x; \
validmode[validmodecnt].ydim = y; \ validmode[validmodecnt].ydim = y; \
validmode[validmodecnt].bpp = c; \ validmode[validmodecnt].bpp = c; \
validmode[validmodecnt].fs = f; \ validmode[validmodecnt].fs = fullscreen; \
validmodecnt++; \ validmodecnt++; \
/*initprintf(" - %dx%d %d-bit %s\n", x, y, c, (f&1)?"fullscreen":"windowed");*/ \ /*initprintf(" - %dx%d %d-bit %s\n", x, y, c, (fullscreen&1)?"fullscreen":"windowed");*/ \
} \ } \
} \ } \
} while (0) } \
}
#define SDL_CHECKMODE(w, h) ((w < MAXXDIM) && (h < MAXYDIM) && (w >= MINXDIM) && (h >= MINYDIM) && (((float)w/(float)h) >= 1.3f)) #define SDL_CHECKMODE(w, h) ((w < MAXXDIM) && (h < MAXYDIM) && (w >= MINXDIM) && (h >= MINYDIM) && (((float)w/(float)h) >= 1.3f))

View file

@ -1655,16 +1655,23 @@ int32_t setvideomode(int32_t x, int32_t y, int32_t c, int32_t fs)
// //
// getvalidmodes() -- figure out what video modes are available // getvalidmodes() -- figure out what video modes are available
// //
#define ADDMODE(x,y,c,f,n) if (validmodecnt<MAXVALIDMODES) { \ #define ADDMODE(x,y,c,f,n) \
{ \
int fullscreen; \
for (fullscreen = f; fullscreen >= 0; --fullscreen) \
{ \
if (validmodecnt<MAXVALIDMODES) \
{ \
validmode[validmodecnt].xdim=x; \ validmode[validmodecnt].xdim=x; \
validmode[validmodecnt].ydim=y; \ validmode[validmodecnt].ydim=y; \
validmode[validmodecnt].bpp=c; \ validmode[validmodecnt].bpp=c; \
validmode[validmodecnt].fs=f; \ validmode[validmodecnt].fs=fullscreen; \
validmode[validmodecnt].extra=n; \ validmode[validmodecnt].extra=n; \
validmodecnt++; \ validmodecnt++; \
/* initprintf(" - %dx%d %d-bit %s\n", x, y, c, (fullscreen&1)?"fullscreen":"windowed");*/\
} \
} \
} }
/* initprintf(" - %dx%d %d-bit %s\n", x, y, c, (f&1)?"fullscreen":"windowed"); \
} */
#define CHECK(w,h) if ((w < maxx) && (h < maxy)) #define CHECK(w,h) if ((w < maxx) && (h < maxy))