index 2eec521475ec4c7806fa08c8d63a59538c1da293..a9c46397bc9a158690c79cd568da0fbe8b4df969 100644 (file)
interface
+ uses g_base; // TRectWH
+
procedure r_Render_Initialize;
procedure r_Render_Finalize;
procedure r_Render_LoadTextures;
procedure r_Render_FreeTextures;
- procedure r_Render_Resize (w, h: Integer);
-
procedure r_Render_Update;
+ procedure r_Render_Draw;
+ procedure r_Render_Resize (w, h: Integer);
procedure r_Render_Apply;
+ function r_Render_WriteScreenShot (filename: String): Boolean;
+
+ function r_Render_GetGibRect (m, id: Integer): TRectWH;
+ procedure r_Render_QueueEffect (AnimType, X, Y: Integer);
+
+ procedure r_Render_DrawLoading (force: Boolean); // !!! remove it
+
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
procedure r_Render_Update;
begin
+ r_GFX_Update;
r_Map_Update;
r_PlayerModel_Update;
+ r_Console_Update;
+ end;
+
+ procedure r_Render_Draw;
+ begin
+ r_Game_Draw;
end;
procedure r_Render_Resize (w, h: Integer);
gScreenWidth := w;
gScreenHeight := h;
e_ResizeWindow(w, h);
- e_InitGL
+ e_InitGL;
+ r_Game_SetupScreenSize;
end;
procedure r_Render_Apply;
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, gWinSizeX, gWinSizeX);
+ Result := True;
+ except
+ DeleteFile(filename)
+ end;
+ s.Free;
+ finally
+ end
+ end;
+
+ function r_Render_GetGibRect (m, id: Integer): TRectWH;
+ begin
+ Result := r_PlayerModel_GetGibRect(m, id)
+ end;
+
+ procedure r_Render_QueueEffect (AnimType, X, Y: Integer);
+ begin
+ r_GFX_OnceAnim(AnimType, X, Y)
+ end;
+
+ procedure r_Render_DrawLoading (force: Boolean);
+ begin
+ r_Window_DrawLoading(force)
+ end;
+
end.