X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fopengl%2Fr_game.pas;h=81ed2d311ec6d4babc0aa024f256bab4535d08a7;hb=df1f12c26369a0d5e9e996583b30c9879570fe99;hp=fad2a697ad70ddf2df21060d7e26589e622f7b0b;hpb=abed90e42988669146ac1f2ecf2f9eef74f336c1;p=d2df-sdl.git diff --git a/src/game/opengl/r_game.pas b/src/game/opengl/r_game.pas index fad2a69..81ed2d3 100644 --- a/src/game/opengl/r_game.pas +++ b/src/game/opengl/r_game.pas @@ -42,14 +42,19 @@ implementation g_holmes, {$ENDIF} {$IFDEF ENABLE_MENU} - g_gui, g_menu, + g_gui, g_menu, r_gui, {$ENDIF} {$IFDEF ENABLE_GFX} g_gfx, r_gfx, {$ENDIF} + {$IFDEF ENABLE_CORPSES} + g_corpses, + {$ENDIF} + {$IFDEF ENABLE_SYSTEM} + g_system, + {$ENDIF} SysUtils, Classes, Math, g_base, g_basic, r_graphics, - g_system, MAPDEF, xprofiler, utils, wadreader, CONFIG, e_input, e_sound, g_language, g_console, g_triggers, g_player, g_options, g_monsters, g_map, g_panel, @@ -207,6 +212,8 @@ end; procedure r_Game_Free; begin + e_CharFont_Remove(gMenuFont); + e_CharFont_Remove(gMenuSmallFont); g_Texture_Delete('NOTEXTURE'); g_Texture_Delete('TEXTURE_PLAYER_HUD'); g_Texture_Delete('TEXTURE_PLAYER_HUDBG'); @@ -572,7 +579,9 @@ var begin e_TextureFontGetSize(gStdFont, ww2, hh2); - sys_HandleInput; + {$IFDEF ENABLE_SYSTEM} + sys_HandleInput; + {$ENDIF} if g_Console_Action(ACTION_SCORES) then begin @@ -803,9 +812,7 @@ begin // HACK: take stats screenshot immediately after the first frame of the stats showing if gScreenshotStats and (not StatShotDone) and (Length(CustomStat.PlayerStat) > 1) then begin -{$IFNDEF HEADLESS} g_TakeScreenShot('stats/' + StatFilename); -{$ENDIF} StatShotDone := True; end; end; @@ -1547,12 +1554,16 @@ begin drawPanelType('*step', PANEL_STEP, g_rlayer_step); drawOther('items', @r_Items_Draw); drawOther('weapons', @r_Weapon_Draw); - drawOther('shells', @r_Player_DrawShells); + {$IFDEF ENABLE_SHELLS} + drawOther('shells', @r_Player_DrawShells); + {$ENDIF} drawOther('drawall', @r_Player_DrawAll); {$IFDEF ENABLE_GIBS} drawOther('gibs', @r_PlayerModel_DrawGibs); {$ENDIF} - drawOther('corpses', @r_Player_DrawCorpses); + {$IFDEF ENABLE_CORPSES} + drawOther('corpses', @r_Player_DrawCorpses); + {$ENDIF} drawPanelType('*wall', PANEL_WALL, g_rlayer_wall); drawOther('monsters', @r_Monsters_Draw); drawOther('itemdrop', @r_Items_DrawDrop); @@ -1628,7 +1639,12 @@ begin glPushMatrix(); - camObj := p.getCameraObj(); + {$IFDEF ENABLE_CORPSES} + camObj := g_Corpses_GetCameraObj(p); + {$ELSE} + camObj := p.Obj; + {$ENDIF} + camObj.lerp(gLerpFactor, fX, fY); px := fX + PLAYER_RECT_CX; py := fY + PLAYER_RECT_CY+nlerp(p.SlopeOld, camObj.slopeUpLeft, gLerpFactor); @@ -2150,13 +2166,11 @@ begin //e_DrawFillQuad(0, 0, gScreenWidth-1, gScreenHeight-1, 48, 48, 48, 180); e_DarkenQuadWH(0, 0, gScreenWidth, gScreenHeight, 150); end; - g_ActiveWindow.Draw(); + r_GUI_Draw_Window(g_ActiveWindow); end; {$ENDIF} -{$IFNDEF HEADLESS} r_Console_Draw(); -{$ENDIF} if g_debug_Sounds and gGameOn then begin