X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=981082d949b8aa4b5766dc98757319001b108dda;hb=69e1b76a873303efc92f819619ffff7b3c19c171;hp=ca0bea81dcbceb186b04afd137886b03d74542a6;hpb=82fc44046c22d1b60695f3b1f7abfb48f18bea48;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index ca0bea8..981082d 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -386,7 +386,7 @@ uses e_input, e_log, g_console, g_items, g_map, g_panel, g_playermodel, g_gfx, g_options, Math, g_triggers, g_monsters, e_sound, CONFIG, - g_language, g_net, g_main, + g_language, g_net, g_main, g_phys, ENet, e_msg, g_netmsg, g_netmaster, sfs, wadreader, g_system; @@ -3630,6 +3630,7 @@ end; procedure DrawPlayer(p: TPlayer); var px, py, a, b, c, d, i, fX, fY: Integer; + camObj: TObj; //R: TRect; begin if (p = nil) or (p.FDummy) then @@ -3647,9 +3648,10 @@ begin glPushMatrix(); - p.Obj.lerp(gLerpFactor, fX, fY); + camObj := p.getCameraObj(); + camObj.lerp(gLerpFactor, fX, fY); px := fX + PLAYER_RECT_CX; - py := fY + PLAYER_RECT_CY+nlerp(p.SlopeOld, p.Obj.slopeUpLeft, gLerpFactor); + py := fY + PLAYER_RECT_CY+nlerp(p.SlopeOld, camObj.slopeUpLeft, gLerpFactor); if (g_dbg_scale = 1.0) and (not g_dbg_ignore_bounds) then begin @@ -3838,6 +3840,9 @@ begin FPSTime := Time; end; + e_SetRendertarget(True); + e_SetViewPort(0, 0, gScreenWidth, gScreenHeight); + if gGameOn or (gState = STATE_FOLD) then begin if (gPlayer1 <> nil) and (gPlayer2 <> nil) then @@ -4168,10 +4173,20 @@ begin if gGameOn then drawProfilers(); + // TODO: draw this after the FBO and remap mouse click coordinates + {$IFDEF ENABLE_HOLMES} g_Holmes_DrawUI(); {$ENDIF} + // blit framebuffer to screen + + e_SetRendertarget(False); + e_SetViewPort(0, 0, gWinSizeX, gWinSizeY); + e_BlitFramebuffer(gWinSizeX, gWinSizeY); + + // draw the overlay stuff on top of it + g_Touch_Draw; end;