Added new video modes for Linux OpenGL
This commit is contained in:
@@ -599,16 +599,20 @@ db 'VideoMode = %U',13,10
|
|||||||
db '',13,10
|
db '',13,10
|
||||||
%elifdef __LINUX__
|
%elifdef __LINUX__
|
||||||
%ifdef __OPENGL__
|
%ifdef __OPENGL__
|
||||||
db '; Video Mode, 0 - 6',13,10
|
db '; Video Mode, 0 - 10',13,10
|
||||||
%else
|
%else
|
||||||
db '; Video Mode, 0 - 3',13,10
|
db '; Video Mode, 0 - 3',13,10
|
||||||
%endif
|
%endif
|
||||||
db '; 0 = 256x224 WIN 1 = 256x224 FULL',13,10
|
db '; 0 = 256x224 WIN 1 = 256x224 FULL',13,10
|
||||||
db '; 2 = 512x448 WIN 3 = 640x480 FULL',13,10
|
db '; 2 = 512x448 WIN 3 = 640x480 FULL',13,10
|
||||||
%ifdef __OPENGL__
|
%ifdef __OPENGL__
|
||||||
db '; 4 = 256x224 OGL WIN',13,10
|
db '; 4 = 256x224 OGL WIN',13,10
|
||||||
db '; 5 = 512x448 OGL WIN',13,10
|
db '; 5 = 512x448 OGL WIN',13,10
|
||||||
db '; 6 = 640x480 OGL FULL',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
|
%endif
|
||||||
db '',13,10
|
db '',13,10
|
||||||
db 'VideoMode = %U',13,10
|
db 'VideoMode = %U',13,10
|
||||||
|
|||||||
@@ -973,7 +973,7 @@ SECTION .data
|
|||||||
|
|
||||||
; Total Number of Video Modes
|
; Total Number of Video Modes
|
||||||
%ifdef __OPENGL__
|
%ifdef __OPENGL__
|
||||||
NEWSYM NumVideoModes, dd 7
|
NEWSYM NumVideoModes, dd 11
|
||||||
%else
|
%else
|
||||||
NEWSYM NumVideoModes, dd 4
|
NEWSYM NumVideoModes, dd 4
|
||||||
%endif
|
%endif
|
||||||
@@ -989,28 +989,32 @@ db '640x480 DR FULL',0 ;3
|
|||||||
db '256x224 OGL WIN ',0 ;4
|
db '256x224 OGL WIN ',0 ;4
|
||||||
db '512x448 OGL WIN ',0 ;5
|
db '512x448 OGL WIN ',0 ;5
|
||||||
db '640x480 OGL FULL',0 ;6
|
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
|
%endif
|
||||||
|
|
||||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
NEWSYM GUI16VID, db 1,1,1,1,1,1,1 ; 16-bit mode
|
; vid mode column = 0,1,2,3,4,5,6,7,8,9,0,1
|
||||||
NEWSYM GUINGVID, db 0,0,0,0,0,0,0 ; New Graphics Mode Available
|
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
||||||
NEWSYM GUISLVID, db 0,0,0,0,0,0,0 ; Scanlines
|
NEWSYM GUINGVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; New Graphics Mode Available
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
|
||||||
NEWSYM GUII2VID, db 0,0,1,1,0,0,0 ; Interpolation(w)
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0 ; Eagle
|
NEWSYM GUII2VID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; Interpolation(w)
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0 ; (Interp | Eagle)
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
|
||||||
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0 ; Full Screen
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,0,0,0 ; Small Screen
|
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
|
||||||
NEWSYM GUITBVID, db 0,0,0,0,0,0,0 ; Triple Buffering
|
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
|
||||||
NEWSYM GUIHSVID, db 0,0,1,1,0,0,0 ; Half/Quarter Scanlines
|
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
|
||||||
NEWSYM GUI2xVID, db 0,0,1,1,0,0,0 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUIHSVID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUIM7VID, db 0,0,1,1,0,0,0 ; ?Mode 7 video thing?
|
NEWSYM GUI2xVID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; 2xSaI/Super Eagle Engines
|
||||||
NEWSYM GUIWFVID, db 0,1,0,1,0,0,1 ; If Windows Full Screen
|
NEWSYM GUIM7VID, db 0,0,1,1,0,0,0,0,0,0,0,0 ; ?Mode 7 video thing?
|
||||||
NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0
|
NEWSYM GUIWFVID, db 0,1,0,1,0,0,1,0,0,0,0,0 ; If Windows Full Screen
|
||||||
NEWSYM GUIRATIO, db 0,1,0,0,0,0,1
|
NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0,0,0,0,0,0
|
||||||
NEWSYM GUIBIFIL, db 0,0,0,0,1,1,1 ; binlinear = 1, nearest = 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
|
SECTION .text
|
||||||
|
|
||||||
|
|||||||
@@ -754,6 +754,30 @@ void initwinvideo(void)
|
|||||||
SurfaceX=640;
|
SurfaceX=640;
|
||||||
SurfaceY=480;
|
SurfaceY=480;
|
||||||
break;
|
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:
|
default:
|
||||||
WindowWidth=256;
|
WindowWidth=256;
|
||||||
WindowHeight=224;
|
WindowHeight=224;
|
||||||
@@ -1121,7 +1145,10 @@ void drawscreenwin(void)
|
|||||||
glfilters = GL_NEAREST;
|
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);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|||||||
Reference in New Issue
Block a user