From 47f4a458d636a889e955e68f896708f1276febc0 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Tue, 28 Mar 2006 15:44:01 +0000 Subject: Patch #2969 - Doom! Currently only working on the H300. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9312 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/doom/r_draw.h | 99 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 apps/plugins/doom/r_draw.h (limited to 'apps/plugins/doom/r_draw.h') diff --git a/apps/plugins/doom/r_draw.h b/apps/plugins/doom/r_draw.h new file mode 100644 index 0000000000..3b43135836 --- /dev/null +++ b/apps/plugins/doom/r_draw.h @@ -0,0 +1,99 @@ +/* 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 -- cgit v1.2.3