DEADSOFTWARE

render: move more texture load code into render
[d2df-sdl.git] / src / game / opengl / r_render.pas
index cac3b8f811826076175a2e4bd09e925b66ff4dfc..2eec521475ec4c7806fa08c8d63a59538c1da293 100644 (file)
@@ -19,11 +19,17 @@ interface
 
   procedure r_Render_Initialize;
   procedure r_Render_Finalize;
-  procedure r_Render_Resize (w, h: Integer);
 
   procedure r_Render_Load;
   procedure r_Render_Free;
 
+  procedure r_Render_LoadTextures;
+  procedure r_Render_FreeTextures;
+
+  procedure r_Render_Resize (w, h: Integer);
+
+  procedure r_Render_Update;
+
   procedure r_Render_Apply;
 
 implementation
@@ -33,8 +39,8 @@ implementation
     SysUtils, Classes, Math,
     e_log, g_system,
     g_game, g_options, g_console,
-    r_window, r_graphics, r_console, r_playermodel,
-    r_weapons, r_items, r_gfx
+    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
   ;
 
   var
@@ -73,8 +79,25 @@ implementation
     end
   end;
 
+  procedure r_Render_LoadTextures;
+  begin
+    r_Game_LoadTextures;
+    r_Map_LoadTextures;
+  end;
+
+  procedure r_Render_FreeTextures;
+  begin
+    r_Map_FreeTextures;
+    r_Game_FreeTextures;
+  end;
+
   procedure r_Render_Load;
   begin
+    r_Game_Load; // load first!
+    r_Player_Load;
+    r_Map_Load;
+    r_PlayerModel_Load;
+    r_Monsters_Load;
     r_Weapon_Load;
     r_Items_Load;
     r_GFX_Load;
@@ -85,6 +108,13 @@ implementation
     r_GFX_Free;
     r_Items_Free;
     r_Weapon_Free;
+    r_Monsters_Free;
+    r_PlayerModel_Free;
+    r_Map_Free;
+    r_Player_Free;
+    r_Game_Free;
+    g_Texture_DeleteAll;
+    g_Frames_DeleteAll;
   end;
 
   procedure r_Render_Initialize;
@@ -95,15 +125,23 @@ implementation
     r_Window_Initialize;
     r_Console_Init;
     r_PlayerModel_Initialize;
+    r_Map_Initialize;
   end;
 
   procedure r_Render_Finalize;
   begin
-    FreeGL;
+    r_Map_Finalize;
     r_PlayerModel_Finalize;
+    FreeGL;
     e_ReleaseEngine
   end;
 
+  procedure r_Render_Update;
+  begin
+    r_Map_Update;
+    r_PlayerModel_Update;
+  end;
+
   procedure r_Render_Resize (w, h: Integer);
   begin
     LoadGL;