DEADSOFTWARE

render: move screenshorts into render
[d2df-sdl.git] / src / game / opengl / r_render.pas
index 90bda3b04a230a27abceb3ad4e651b518a5fad7e..76ef595268ff0ee9640d7d49ce70eb2ae84b0f42 100644 (file)
@@ -26,18 +26,19 @@ interface
   procedure r_Render_LoadTextures;
   procedure r_Render_FreeTextures;
 
-  procedure r_Render_Resize (w, h: Integer);
-
   procedure r_Render_Update;
 
+  procedure r_Render_Resize (w, h: Integer);
   procedure r_Render_Apply;
 
+  function r_Render_WriteScreenShot (filename: String): Boolean;
+
 implementation
 
   uses
     {$INCLUDE ../../nogl/noGLuses.inc}
     SysUtils, Classes, Math,
-    e_log, g_system,
+    e_log, g_system, utils,
     g_game, g_options, g_console,
     r_window, r_graphics, r_console, r_playermodel, r_textures, r_animations,
     r_weapons, r_items, r_gfx, r_monsters, r_map, r_player, r_game
@@ -178,4 +179,21 @@ implementation
     sys_EnableVSync(gVSync)
   end;
 
+  function r_Render_WriteScreenShot (filename: String): Boolean;
+    var s: TStream;
+  begin
+    Result := False;
+    try
+      s := CreateDiskFile(filename);
+      try
+        e_MakeScreenshot(s, gScreenWidth, gScreenHeight);
+        Result := True;
+      except
+        DeleteFile(filename)
+      end;
+      s.Free;
+    finally
+    end
+  end;
+
 end.