mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-14 17:01:22 +00:00
84a24dbb34
This is actually a better solution to the renderer directly accessing
client code than provided by 7e078c7f9c
.
Essentially, V_RenderView should not have been calling R_RenderView, and
CL_UpdateScreen should have been calling V_RenderView directly. The
issue was that the renderers expected the world entity model to be valid
at all times. Now, R_RenderView checks the world entity model's validity
and immediately bails if it is not, and R_ClearState (which is called
whenever the client disconnects and thus no longer has a world to
render) clears the world entity model. Thus R_RenderView can (and is)
now called unconditionally from within the renderer, simplifying
renderer-specific variants.
72 lines
1.8 KiB
C
72 lines
1.8 KiB
C
/*
|
|
r_screen.h
|
|
|
|
shared screen declarations
|
|
|
|
Copyright (C) 2002 Bill Currie <bill@taniwha.org>
|
|
|
|
Author: Bill Currie <bill@taniwha.org>
|
|
Date: 2002/12/11
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to:
|
|
|
|
Free Software Foundation, Inc.
|
|
59 Temple Place - Suite 330
|
|
Boston, MA 02111-1307, USA
|
|
|
|
*/
|
|
|
|
#ifndef __r_screen_h
|
|
#define __r_screen_h
|
|
|
|
#include "QF/screen.h"
|
|
#include "QF/vid.h"
|
|
|
|
void SCR_DrawRam (void);
|
|
void SCR_DrawFPS (void);
|
|
void SCR_DrawTime (void);
|
|
void SCR_DrawTurtle (void);
|
|
void SCR_DrawPause (void);
|
|
struct tex_s *SCR_CaptureBGR (void);
|
|
struct tex_s *SCR_ScreenShot (unsigned width, unsigned height);
|
|
void SCR_DrawStringToSnap (const char *s, struct tex_s *tex, int x, int y);
|
|
|
|
|
|
extern int scr_copytop;
|
|
|
|
extern float scr_con_current;
|
|
extern float scr_conlines; // lines of console to display
|
|
|
|
extern int oldscreensize;
|
|
extern int oldsbar;
|
|
|
|
extern qboolean scr_initialized; // ready to draw
|
|
|
|
extern struct qpic_s *scr_ram;
|
|
extern struct qpic_s *scr_net;
|
|
extern struct qpic_s *scr_turtle;
|
|
|
|
extern int clearconsole;
|
|
extern int clearnotify;
|
|
|
|
extern vrect_t *pconupdate;
|
|
|
|
extern qboolean scr_skipupdate;
|
|
|
|
void SCR_SetFOV (float fov);
|
|
void SCR_SetUpToDrawConsole (void);
|
|
void SCR_ScreenShot_f (void);
|
|
|
|
#endif//__r_screen_h
|