summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/r_draw.h
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-03-28 15:44:01 +0000
committerDave Chapman <dave@dchapman.com>2006-03-28 15:44:01 +0000
commit47f4a458d636a889e955e68f896708f1276febc0 (patch)
tree99f770c02ef606f0abbdcd332ac39e69830d8007 /apps/plugins/doom/r_draw.h
parentfff7d6157d56f233cad5c2003475e47a5ff809a7 (diff)
downloadrockbox-47f4a458d636a889e955e68f896708f1276febc0.zip
rockbox-47f4a458d636a889e955e68f896708f1276febc0.tar.gz
rockbox-47f4a458d636a889e955e68f896708f1276febc0.tar.bz2
rockbox-47f4a458d636a889e955e68f896708f1276febc0.tar.xz
Patch #2969 - Doom! Currently only working on the H300.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9312 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/doom/r_draw.h')
-rw-r--r--apps/plugins/doom/r_draw.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/apps/plugins/doom/r_draw.h b/apps/plugins/doom/r_draw.h
new file mode 100644
index 0000000..3b43135
--- /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