2eba7b282439ec1dff864cc11afedfd423ab8311
1 (* Copyright (C) Doom 2D: Forever Developers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, version 3 of the License ONLY.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License
13 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 *)
15 {$INCLUDE ../../shared/a_modes.inc}
18 interface
44 implementation
46 uses
47 {$INCLUDE ../../nogl/noGLuses.inc}
53 ;
55 var
59 begin
61 begin
62 {$IFDEF NOGL_INIT}
63 nogl_Init;
65 begin
69 {$ELSE}
71 begin
75 {$ENDIF}
77 end
81 begin
83 begin
84 {$IFDEF NOGL_INIT}
85 nogl_Quit;
86 {$ENDIF}
88 end
92 begin
93 r_Game_LoadTextures;
94 r_Map_LoadTextures;
98 begin
99 r_Map_FreeTextures;
100 r_Game_FreeTextures;
104 begin
106 r_Player_Load;
107 r_Map_Load;
108 r_PlayerModel_Load;
109 r_Monsters_Load;
110 r_Weapon_Load;
111 r_Items_Load;
112 r_GFX_Load;
116 begin
117 r_GFX_Free;
118 r_Items_Free;
119 r_Weapon_Free;
120 r_Monsters_Free;
121 r_PlayerModel_Free;
122 r_Map_Free;
123 r_Player_Free;
124 r_Game_Free;
125 g_Texture_DeleteAll;
126 g_Frames_DeleteAll;
130 begin
133 LoadGL;
134 r_Window_Initialize;
135 r_Console_Init;
136 r_PlayerModel_Initialize;
137 r_Map_Initialize;
141 begin
142 r_Map_Finalize;
143 r_PlayerModel_Finalize;
144 FreeGL;
145 e_ReleaseEngine
149 begin
150 r_GFX_Update;
151 r_Map_Update;
152 r_PlayerModel_Update;
153 r_Console_Update;
157 begin
158 r_Game_Draw;
162 begin
163 LoadGL;
169 begin
170 // store real window size in gWinSize, downscale resolution now
174 begin
184 e_InitGL;
185 r_Game_SetupScreenSize;
189 begin
190 if sys_SetDisplayMode(Max(1, gRC_Width), Max(1, gRC_Height), Max(1, gBPP), gRC_FullScreen, gRC_Maximized) then
192 else
199 begin
201 try
203 try
206 except
210 finally
211 end
215 begin
220 begin
225 begin