From: DeaDDooMER Date: Wed, 20 Jul 2022 17:42:13 +0000 (+0300) Subject: sdl: fix sdl 1.2 for new render X-Git-Url: http://deadsoftware.ru/gitweb?a=commitdiff_plain;h=bfaf1009ecc9e4f60b693e692abd3ea458fb6571;p=d2df-sdl.git sdl: fix sdl 1.2 for new render --- diff --git a/src/game/sdl/g_system.pas b/src/game/sdl/g_system.pas index 8fdb42c..6d7cf03 100644 --- a/src/game/sdl/g_system.pas +++ b/src/game/sdl/g_system.pas @@ -19,13 +19,28 @@ interface uses Utils; + type + TGLProfile = (Core, Compat, Common, CommonLite); + + TGLDisplayInfo = record + w, h, bpp: Integer; + fullscreen: Boolean; + maximized: Boolean; + major, minor: Integer; + profile: TGLProfile; + end; + (* --- Graphics --- *) + function sys_GetDisplayModes (bpp: Integer): SSArray; function sys_SetDisplayMode (w, h, bpp: Integer; fullscreen, maximized: Boolean): Boolean; procedure sys_EnableVSync (yes: Boolean); procedure sys_Repaint; + function sys_SetDisplayModeGL (const info: TGLDisplayInfo): Boolean; + (* --- Input --- *) + function sys_HandleInput (): Boolean; procedure sys_RequestQuit; @@ -155,6 +170,14 @@ implementation result := InitWindow(w, h, bpp, fullscreen) end; + function sys_SetDisplayModeGL (const info: TGLDisplayInfo): Boolean; + begin + result := false; + case info.profile of + TGLProfile.Compat: result := InitWindow(info.w, info.h, info.bpp, info.fullscreen); + end; + end; + (* --------- Joystick --------- *) procedure HandleJoyButton (var ev: TSDL_JoyButtonEvent);