home *** CD-ROM | disk | FTP | other *** search
- /* 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: */
- /* System specific interface stuff. */
- /* */
- /* ----------------------------------------------------------------------------- */
-
-
- #ifndef __I_VIDEO__
- #define __I_VIDEO__
-
-
- #include "doomtype.h"
- #include "r_defs.h"
-
- #ifdef __GNUG__
- #pragma interface
- #endif
-
- /* Rendering functions, bpp dependent */
-
- extern void (*R_DrawColumn)();
- extern void (*R_DrawColumnLow)();
- extern void (*R_DrawFuzzColumn)();
- extern void (*R_DrawFuzzColumnLow)();
- extern void (*R_DrawTranslatedColumn)();
- extern void (*R_DrawTranslatedColumnLow)();
- extern void (*R_DrawSpan)();
- extern void (*R_DrawSpanLow)();
- extern void (*AM_DrawFline)();
- extern void (*V_DrawPatch)();
- extern void (*V_DrawPatchFlipped)();
- extern int (*wipe_doMelt)();
- extern void (*F_DrawPatchCol)();
-
- /* Called by D_DoomMain, */
- /* determines the hardware configuration */
- /* and sets up the video mode */
- extern void (*I_InitGraphics) (void);
-
-
- extern void (*I_ShutdownGraphics) (void);
-
- /* Takes full 8 bit values. */
- void I_SetPalette (byte* palette);
- extern void (*I_SetPalette256) (byte* palette);
-
- void I_FinishUpdate (void);
-
- /* Wait for vertical retrace or pause a bit. */
- void I_WaitVBL(int count);
-
- void I_ReadScreen (byte* scr);
-
- extern void (*I_VidInit)(void); /* First init to do before anything */
- extern void (*I_VidUpdate)(void); /* Render the final screen */
- extern void (*I_SetMainScreen)(void); /* Set final screen pointer */
-
- extern int fbnum;
- extern int bpp;
- extern int pixel_size;
- extern lighttable_t truecolor_palette[256];
- extern unsigned long fuzzmask; /* for fuzz effect in 15/16 bit mode */
- extern boolean pixelinv; /* byte swapped true colour pixels ? */
- extern boolean zoomscreen; /* Zoom to fill screen */
- extern int videomode; /* Video mode selected */
- extern boolean dblbuffer; /* Double buffer mode ? */
- extern int videowidth,videoheight; /* Size of screen */
-
- void I_InitGraphics_null(void); /* null initgraphics function */
-
- #endif
-