1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
28 * System specific interface stuff.
30 *-----------------------------------------------------------------------------*/
41 extern lighttable_t
*dc_colormap
;
45 extern fixed_t dc_iscale
;
46 extern fixed_t dc_texturemid
;
47 extern int dc_texheight
; // killough
49 // first pixel in a column
50 extern const byte
*dc_source
;
52 // The span blitting interface.
53 // Hook in assembler or system specific BLT here.
55 void R_DrawColumn(void) ICODE_ATTR
;
56 void R_DrawTLColumn(void) ICODE_ATTR
; // drawing translucent textures // phares
57 void R_DrawFuzzColumn(void) ICODE_ATTR
; // The Spectre/Invisibility effect.
59 // Draw with color translation tables, for player sprite rendering,
60 // Green/Red/Blue/Indigo shirts.
62 void R_DrawTranslatedColumn(void);
64 void R_VideoErase(unsigned ofs
, int count
);
66 extern lighttable_t
*ds_colormap
;
71 extern fixed_t ds_xfrac
;
72 extern fixed_t ds_yfrac
;
73 extern fixed_t ds_xstep
;
74 extern fixed_t ds_ystep
;
76 // start of a 64*64 tile image
77 extern byte
*ds_source
;
78 extern byte playernumtotrans
[MAXPLAYERS
]; // CPhipps - what translation table for what player
79 extern byte
*translationtables
;
80 extern byte
*dc_translation
;
82 // Span blitting for rows, floor/ceiling. No Spectre effect needed.
83 void R_DrawSpan(void) ICODE_ATTR
;
85 void R_InitBuffer(int width
, int height
);
87 // Initialize color translation tables, for player rendering etc.
88 void R_InitTranslationTables(void);
90 // Rendering function.
91 void R_FillBackScreen(void);
93 // If the view size is not full screen, draws a border around it.
94 void R_DrawViewBorder(void);
96 extern const byte
*tranmap
; // translucency filter maps 256x256 // phares
97 extern const byte
*main_tranmap
; // killough 4/11/98