X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fopengl%2Fr_game.pas;h=daa4ca7b97ef2be485b0709597780f774b13a888;hb=57eea56cadbee2ab1e505f50144d1e1671deaa30;hp=67598f3ca953a6e58187a8b2fa7da6294c5a7e13;hpb=83221a8d1b958465bd68e3c79575f4a94c8ffa42;p=d2df-sdl.git diff --git a/src/game/opengl/r_game.pas b/src/game/opengl/r_game.pas index 67598f3..daa4ca7 100644 --- a/src/game/opengl/r_game.pas +++ b/src/game/opengl/r_game.pas @@ -42,16 +42,24 @@ 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, - g_items, g_weapons, g_gfx, g_phys, g_net, g_netmaster, - g_game, r_console, r_gfx, r_items, r_map, r_monsters, r_weapons, r_netmaster, r_player, r_textures, + g_items, g_weapons, g_phys, g_net, g_netmaster, + g_game, r_console, r_items, r_map, r_monsters, r_weapons, r_netmaster, r_player, r_textures, r_playermodel ; @@ -204,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'); @@ -569,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 @@ -800,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; @@ -1544,15 +1554,23 @@ 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); - drawOther('gibs', @r_PlayerModel_DrawGibs); - drawOther('corpses', @r_Player_DrawCorpses); + {$IFDEF ENABLE_GIBS} + drawOther('gibs', @r_PlayerModel_DrawGibs); + {$ENDIF} + {$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); drawPanelType('*door', PANEL_CLOSEDOOR, g_rlayer_door); - drawOther('gfx', @r_GFX_Draw); + {$IFDEF ENABLE_GFX} + drawOther('gfx', @r_GFX_Draw); + {$ENDIF} drawOther('flags', @r_Map_DrawFlags); drawPanelType('*acid1', PANEL_ACID1, g_rlayer_acid1); drawPanelType('*acid2', PANEL_ACID2, g_rlayer_acid2); @@ -1621,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); @@ -2143,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