X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fopengl%2Fr_render.pas;h=76ef595268ff0ee9640d7d49ce70eb2ae84b0f42;hb=c6b9f83af191797b22c2a07e2046d74802cb2336;hp=2eec521475ec4c7806fa08c8d63a59538c1da293;hpb=c49ad9c9183b5120afb2d64af2584febe6a1c856;p=d2df-sdl.git diff --git a/src/game/opengl/r_render.pas b/src/game/opengl/r_render.pas index 2eec521..76ef595 100644 --- a/src/game/opengl/r_render.pas +++ b/src/game/opengl/r_render.pas @@ -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 @@ -165,7 +166,8 @@ implementation gScreenWidth := w; gScreenHeight := h; e_ResizeWindow(w, h); - e_InitGL + e_InitGL; + r_Game_SetupScreenSize; end; procedure r_Render_Apply; @@ -177,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.