DEADSOFTWARE

render: completely remove opengl calls form game code
[d2df-sdl.git] / src / game / opengl / r_graphics.pas
index 5bd4aee4f8a610310a43142106f3f6ce6dc7eac2..cb568b418977456013691eff26848e0c7fa01265 100644 (file)
@@ -66,8 +66,8 @@ procedure e_DarkenQuadWH (x, y, w, h: Integer; a: Integer);
 function e_CreateTextureImg (var img: TImageData; var ID: DWORD): Boolean;
 function e_CreateTexture(FileName: string; var ID: DWORD): Boolean;
 function e_CreateTextureEx(FileName: string; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean;
-function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD): Boolean;
-function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean;
+function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD; filter: Boolean = False): Boolean;
+function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word; filter: Boolean = False): Boolean;
 procedure e_GetTextureSize(ID: DWORD; Width, Height: PWord);
 procedure e_DeleteTexture(ID: DWORD);
 procedure e_RemoveAllTextures();
@@ -119,17 +119,11 @@ procedure e_MakeScreenshot(st: TStream; Width, Height: Word);
 
 var
   e_Colors: TRGB;
-  e_NoGraphics: Boolean = False;
-  e_FastScreenshots: Boolean = true; // it's REALLY SLOW with `false`
-  g_dbg_scale: Single = 1.0;
-  r_pixel_scale: Single = 1.0;
-
 
 implementation
 
 uses
-  paszlib, crc, utils;
-
+  paszlib, crc, utils, g_options;
 
 type
   TTexture = record
@@ -299,7 +293,7 @@ begin
  Result := True;
 end;
 
-function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD): Boolean;
+function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD; filter: Boolean = False): Boolean;
 var
   find_id: DWORD;
   fmt:     Word;
@@ -308,14 +302,14 @@ begin
 
  find_id := FindTexture;
 
- if not LoadTextureMem(pData, dataSize, e_Textures[find_id].tx, e_Textures[find_id].tx.Width, e_Textures[find_id].tx.Height, @fmt) then exit;
+ if not LoadTextureMem(pData, dataSize, e_Textures[find_id].tx, e_Textures[find_id].tx.Width, e_Textures[find_id].tx.Height, @fmt, filter) then exit;
 
  id := find_id;
 
  Result := True;
 end;
 
-function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean;
+function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word; filter: Boolean = False): Boolean;
 var
   find_id: DWORD;
   fmt:     Word;
@@ -324,7 +318,7 @@ begin
 
  find_id := FindTexture();
 
- if not LoadTextureMemEx(pData, dataSize, e_Textures[find_id].tx, fX, fY, fWidth, fHeight, @fmt) then exit;
+ if not LoadTextureMemEx(pData, dataSize, e_Textures[find_id].tx, fX, fY, fWidth, fHeight, @fmt, filter) then exit;
 
  ID := find_id;