New resolutions for SDL port. [Aerdan]

This commit is contained in:
grinvader
2005-07-18 12:02:07 +00:00
parent ffaf266913
commit d23d41b1d5
3 changed files with 81 additions and 71 deletions

View File

@@ -768,9 +768,9 @@ SECTION .data
; Total Number of Video Modes
%ifdef __OPENGL__
NEWSYM NumVideoModes, dd 19
NEWSYM NumVideoModes, dd 22
%else
NEWSYM NumVideoModes, dd 4
NEWSYM NumVideoModes, dd 6
%endif
; GUI Video Mode Names - Make sure that all names are of the same length
@@ -779,53 +779,56 @@ NEWSYM GUIVideoModeNames
db '256X224 R W',0 ;0
db '256x224 R F',0 ;1
db '512X448 DR W',0 ;2
db '640x480 DR F',0 ;3
db '512x448 DR F',0 ;3
db '640x480 DR F',0 ;4
db '800x600 DR F',0 ;5
%ifdef __OPENGL__
db '256x224 OR W',0 ;4
db '512x448 ODR W',0 ;5
db '640x480 ODS F',0 ;6
db '640x480 ODS W',0 ;7
db '640x576 ODR W',0 ;8
db '768x672 ODR W',0 ;9
db '800x600 ODS F',0 ;10
db '800x600 ODS W',0 ;11
db '896x784 ODR W',0 ;12
db '1024x768 ODS F',0 ;13
db '1024x768 ODS W',0 ;14
db '1024x896 ODR W',0 ;15
db '1280x1024 ODS F',0 ;16
db '1600x1200 ODS F',0 ;17
db 'VARIABLE ODR W',0 ;18
db '256x224 OR W',0 ;6
db '512x448 ODR W',0 ;7
db '640x480 ODS F',0 ;8
db '640x480 ODS W',0 ;9
db '640x576 ODR W',0 ;10
db '768x672 ODR W',0 ;11
db '800x600 ODS F',0 ;12
db '800x600 ODS W',0 ;13
db '896x784 ODR W',0 ;14
db '1024x768 ODS F',0 ;15
db '1024x768 ODS W',0 ;16
db '1024x896 ODR W',0 ;17
db '1280x960 ODS F',0 ;18
db '1280x1024 ODS F',0 ;19
db '1600x1200 ODS F',0 ;20
db 'VARIABLE ODR W',0 ;21
%endif
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
; Left side starts with Video Mode 0
; vid mode column = 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Scanlines
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
NEWSYM GUII2VID, db 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation(w)
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Full Scr. | Wide Scr.)
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,0 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIRATIO, db 0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIBIFIL, db 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; binlinear = 1, nearest = 0
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
NEWSYM GUIMBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIHQ2X, db 0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1 ; hq2x filter
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq4x filter
NEWSYM GUIRESIZE, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ; resizable
; vid mode column = 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Scanlines
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
NEWSYM GUII2VID, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation(w)
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Full Scr. | Wide Scr.)
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,1,0,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIRATIO, db 0,1,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; binlinear = 1, nearest = 0
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
NEWSYM GUIMBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIHQ2X, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1 ; hq2x filter
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq4x filter
NEWSYM GUIRESIZE, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ; resizable
SECTION .text

View File

@@ -809,10 +809,10 @@ void initwinvideo(void)
FullScreen = GUIWFVID[cvidmode];
#ifdef __OPENGL__
UseOpenGL = 0;
if (cvidmode > 3)
if (cvidmode > 5)
UseOpenGL = 1;
#else
if (cvidmode > 3)
if (cvidmode > 5)
cvidmode = 2; // set it to the default 512x448 W
#endif
@@ -826,48 +826,54 @@ void initwinvideo(void)
WindowHeight = 224;
break;
case 2:
case 5:
case 18: // Variable
case 3:
case 7:
case 21: // Variable
WindowWidth = 512;
WindowHeight = 448;
break;
case 3:
case 6:
case 7:
case 4:
case 8:
case 9:
WindowWidth = 640;
WindowHeight = 480;
break;
case 8:
case 10:
WindowWidth = 640;
WindowHeight = 576;
break;
case 9:
case 11:
WindowWidth = 768;
WindowHeight = 672;
break;
case 10:
case 11:
case 5:
case 12:
case 13:
WindowWidth = 800;
WindowHeight = 600;
break;
case 12:
case 14:
WindowWidth = 896;
WindowHeight = 784;
break;
case 13:
case 14:
case 15:
case 16:
WindowWidth = 1024;
WindowHeight = 768;
break;
case 15:
case 17:
WindowWidth = 1024;
WindowHeight = 896;
break;
case 16:
case 18:
WindowWidth = 1280;
WindowHeight = 960;
break;
case 19:
WindowWidth = 1280;
WindowHeight = 1024;
break;
case 17:
case 20:
WindowWidth = 1600;
WindowHeight = 1200;
break;