/* Emacs style mode select -*- C++ -*- *----------------------------------------------------------------------------- * * * PrBoom a Doom port merged with LxDoom and LSDLDoom * based on BOOM, a modified and improved DOOM engine * Copyright (C) 1999 by * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman * Copyright (C) 1999-2000 by * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze * * 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 the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * DESCRIPTION: * System specific interface stuff. * *-----------------------------------------------------------------------------*/ #ifndef __R_DRAW__ #define __R_DRAW__ #include "r_defs.h" #ifdef __GNUG__ #pragma interface #endif extern lighttable_t *dc_colormap; extern int dc_x; extern int dc_yl; extern int dc_yh; extern fixed_t dc_iscale; extern fixed_t dc_texturemid; extern int dc_texheight; // killough // first pixel in a column extern const byte *dc_source; // The span blitting interface. // Hook in assembler or system specific BLT here. void R_DrawColumn(void) ICODE_ATTR; void R_DrawTLColumn(void) ICODE_ATTR; // drawing translucent textures // phares void R_DrawFuzzColumn(void) ICODE_ATTR; // The Spectre/Invisibility effect. // Draw with color translation tables, for player sprite rendering, // Green/Red/Blue/Indigo shirts. void R_DrawTranslatedColumn(void); void R_VideoErase(unsigned ofs, int count); extern lighttable_t *ds_colormap; extern int ds_y; extern int ds_x1; extern int ds_x2; extern fixed_t ds_xfrac; extern fixed_t ds_yfrac; extern fixed_t ds_xstep; extern fixed_t ds_ystep; // start of a 64*64 tile image extern byte *ds_source; extern byte playernumtotrans[MAXPLAYERS]; // CPhipps - what translation table for what player extern byte *translationtables; extern byte *dc_translation; // Span blitting for rows, floor/ceiling. No Spectre effect needed. void R_DrawSpan(void) ICODE_ATTR; void R_InitBuffer(int width, int height); // Initialize color translation tables, for player rendering etc. void R_InitTranslationTables(void); // Rendering function. void R_FillBackScreen(void); // If the view size is not full screen, draws a border around it. void R_DrawViewBorder(void); extern const byte *tranmap; // translucency filter maps 256x256 // phares extern const byte *main_tranmap; // killough 4/11/98 #endif