Added new video modes for Linux OpenGL

This commit is contained in:
hpsolo
2001-05-30 02:43:08 +00:00
parent 188d88c086
commit a87283f9e7
3 changed files with 59 additions and 24 deletions

View File

@@ -599,16 +599,20 @@ db 'VideoMode = %U',13,10
db '',13,10
%elifdef __LINUX__
%ifdef __OPENGL__
db '; Video Mode, 0 - 6',13,10
db '; Video Mode, 0 - 10',13,10
%else
db '; Video Mode, 0 - 3',13,10
%endif
db '; 0 = 256x224 WIN 1 = 256x224 FULL',13,10
db '; 2 = 512x448 WIN 3 = 640x480 FULL',13,10
%ifdef __OPENGL__
db '; 4 = 256x224 OGL WIN',13,10
db '; 5 = 512x448 OGL WIN',13,10
db '; 6 = 640x480 OGL FULL',13,10
db '; 4 = 256x224 OGL WIN',13,10
db '; 5 = 512x448 OGL WIN',13,10
db '; 6 = 640x480 OGL FULL',13,10
db '; 7 = 640x576 OGL WIN',13,10
db '; 8 = 768x672 OGL WIN ',13,10
db '; 9 = 896x784 OGL WIN ',13,10
db '; 10 = 1024x896 OGL WIN ',13,10
%endif
db '',13,10
db 'VideoMode = %U',13,10

View File

@@ -973,7 +973,7 @@ SECTION .data
; Total Number of Video Modes
%ifdef __OPENGL__
NEWSYM NumVideoModes, dd 7
NEWSYM NumVideoModes, dd 11
%else
NEWSYM NumVideoModes, dd 4
%endif
@@ -989,28 +989,32 @@ db '640x480 DR FULL',0 ;3
db '256x224 OGL WIN ',0 ;4
db '512x448 OGL WIN ',0 ;5
db '640x480 OGL FULL',0 ;6
db '800x600 OGL FULL',0 ;7
db '640x576 OGL WIN ',0 ;7
db '768x672 OGL WIN ',0 ;8
db '896x784 OGL WIN ',0 ;9
db '1024x896 OGL WIN ',0 ;10
%endif
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
; Left side starts with Video Mode 0
NEWSYM GUI16VID, db 1,1,1,1,1,1,1 ; 16-bit mode
NEWSYM GUINGVID, db 0,0,0,0,0,0,0 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,0,0,0,0,0 ; Scanlines
NEWSYM GUIINVID, db 0,0,0,0,0,0,0 ; Interpolation
NEWSYM GUII2VID, db 0,0,1,1,0,0,0 ; Interpolation(w)
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0 ; Eagle
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUISSVID, db 0,0,0,0,0,0,0 ; Small Screen
NEWSYM GUITBVID, db 0,0,0,0,0,0,0 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,1,1,0,0,0 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,1,1,0,0,0 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,1,1,0,0,0 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,1,0,1,0,0,1 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0
NEWSYM GUIRATIO, db 0,1,0,0,0,0,1
NEWSYM GUIBIFIL, db 0,0,0,0,1,1,1 ; binlinear = 1, nearest = 0
; vid mode column = 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 ; 16-bit mode
NEWSYM GUINGVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
NEWSYM GUIINVID, db 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 ; Interpolation(w)
NEWSYM GUIEAVID, db 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 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUISSVID, db 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 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,1,0,1,0,0,1,0,0,0,0,0 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0,0,0,0,0,0
NEWSYM GUIRATIO, db 0,1,0,0,0,0,1,0,0,0,0,0
NEWSYM GUIBIFIL, db 0,0,0,0,1,1,1,1,1,1,1,1 ; binlinear = 1, nearest = 0
SECTION .text

View File

@@ -754,6 +754,30 @@ void initwinvideo(void)
SurfaceX=640;
SurfaceY=480;
break;
case 7:
WindowWidth=640;
WindowHeight=576;
SurfaceX=640;
SurfaceY=576;
break;
case 8:
WindowWidth=768;
WindowHeight=672;
SurfaceX=768;
SurfaceY=672;
break;
case 9:
WindowWidth=896;
WindowHeight=784;
SurfaceX=896;
SurfaceY=784;
break;
case 10:
WindowWidth=1024;
WindowHeight=896;
SurfaceX=1024;
SurfaceY=896;
break;
default:
WindowWidth=256;
WindowHeight=224;
@@ -1121,7 +1145,10 @@ void drawscreenwin(void)
glfilters = GL_NEAREST;
}
if (FullScreen) ratiox = 0.875; else ratiox = 1.0;
if (FullScreen)
ratiox = 0.875;
else
ratiox = 1.0;
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();