diff options
Diffstat (limited to 'demos/3rdparty/doom/v_video.h')
-rw-r--r-- | demos/3rdparty/doom/v_video.h | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/demos/3rdparty/doom/v_video.h b/demos/3rdparty/doom/v_video.h new file mode 100644 index 00000000..cc2aca56 --- /dev/null +++ b/demos/3rdparty/doom/v_video.h @@ -0,0 +1,119 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// $Id:$ +// +// Copyright (C) 1993-1996 by id Software, Inc. +// +// This source is available for distribution and/or modification +// only under the terms of the DOOM Source Code License as +// published by id Software. All rights reserved. +// +// The source is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License +// for more details. +// +// DESCRIPTION: +// Gamma correction LUT. +// Functions to draw patches (by post) directly to screen. +// Functions to blit a block to the screen. +// +//----------------------------------------------------------------------------- + + +#ifndef __V_VIDEO__ +#define __V_VIDEO__ + +#include "doomtype.h" + +#include "doomdef.h" + +// Needed because we are refering to patches. +#include "r_data.h" + +// +// VIDEO +// + +#define CENTERY (SCREENHEIGHT/2) + + +// Screen 0 is the screen updated by I_Update screen. +// Screen 1 is an extra buffer. + + + +extern byte* screens[5]; + +extern int dirtybox[4]; + +extern byte gammatable[5][256]; +extern int usegamma; + + + +// Allocates buffer screens, call before R_Init. +void V_Init (void); + + +void +V_CopyRect +( int srcx, + int srcy, + int srcscrn, + int width, + int height, + int destx, + int desty, + int destscrn ); + +void +V_DrawPatch +( int x, + int y, + int scrn, + patch_t* patch); + +void +V_DrawPatchDirect +( int x, + int y, + int scrn, + patch_t* patch ); + + +// Draw a linear block of pixels into the view buffer. +void +V_DrawBlock +( int x, + int y, + int scrn, + int width, + int height, + byte* src ); + +// Reads a linear block of pixels into the view buffer. +void +V_GetBlock +( int x, + int y, + int scrn, + int width, + int height, + byte* dest ); + + +void +V_MarkRect +( int x, + int y, + int width, + int height ); + +#endif +//----------------------------------------------------------------------------- +// +// $Log:$ +// +//----------------------------------------------------------------------------- |