Added new video modes for Linux OpenGL
This commit is contained in:
@@ -599,7 +599,7 @@ 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
|
||||
@@ -609,6 +609,10 @@ db '; 2 = 512x448 WIN 3 = 640x480 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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user