ref: 5b6f23990a4006e4811491f336d3a586836fbac2
parent: 90da953b2310151b5a56f3ea78d8528100fd1fa0
author: Simon Howard <fraggle@gmail.com>
date: Sat Sep 6 16:36:54 EDT 2008
Split off patch code from r_defs.h into a common file. Remove dependency of v_video.h on Doom rendering code. Subversion-branch: /branches/raven-branch Subversion-revision: 1206
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,6 +51,7 @@
s_sound.c s_sound.h \
tables.c tables.h \
v_video.c v_video.h \
+ v_patch.h \
w_checksum.c w_checksum.h \
w_wad.c w_wad.h \
w_file.c w_file.h \
--- a/src/doom/r_defs.h
+++ b/src/doom/r_defs.h
@@ -44,6 +44,7 @@
#include "i_video.h"
+#include "v_patch.h"
@@ -284,18 +285,6 @@
-// posts are runs of non masked source pixels
-typedef struct
-{
- byte topdelta; // -1 is the last post in a column
- byte length; // length data bytes follows
-} PACKEDATTR post_t;
-
-// column_t is a list of 0 or more post_t, (byte)-1 terminated
-typedef post_t column_t;
-
-
-
// PC direct to screen pointers
//B UNUSED - keep till detailshift in r_draw.c resolved
//extern byte* destview;
@@ -348,27 +337,6 @@
short* maskedtexturecol;
} drawseg_t;
-
-
-
-// Patches.
-// A patch holds one or more columns.
-// Patches are used for sprites and all masked pictures,
-// and we compose textures from the TEXTURE1/2 lists
-// of patches.
-typedef struct
-{
- short width; // bounding box size
- short height;
- short leftoffset; // pixels to the left of origin
- short topoffset; // pixels below the origin
- int columnofs[8]; // only [width] used
- // the [0] is &columnofs[width]
-} PACKEDATTR patch_t;
-
-
-
-
--- a/src/f_wipe.c
+++ b/src/f_wipe.c
@@ -24,9 +24,7 @@
//
//-----------------------------------------------------------------------------
-
-
-
+#include <string.h>
#include "z_zone.h"
#include "i_video.h"
--- /dev/null
+++ b/src/v_patch.h
@@ -1,0 +1,58 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// Copyright(C) 1993-1996 Id Software, Inc.
+// Copyright(C) 2005 Simon Howard
+//
+// 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:
+// Refresh/rendering module, shared data struct definitions.
+//
+//-----------------------------------------------------------------------------
+
+
+#ifndef V_PATCH_H
+#define V_PATCH_H
+
+// Patches.
+// A patch holds one or more columns.
+// Patches are used for sprites and all masked pictures,
+// and we compose textures from the TEXTURE1/2 lists
+// of patches.
+
+typedef struct
+{
+ short width; // bounding box size
+ short height;
+ short leftoffset; // pixels to the left of origin
+ short topoffset; // pixels below the origin
+ int columnofs[8]; // only [width] used
+ // the [0] is &columnofs[width]
+} PACKEDATTR patch_t;
+
+// posts are runs of non masked source pixels
+typedef struct
+{
+ byte topdelta; // -1 is the last post in a column
+ byte length; // length data bytes follows
+} PACKEDATTR post_t;
+
+// column_t is a list of 0 or more post_t, (byte)-1 terminated
+typedef post_t column_t;
+
+#endif
+
--- a/src/v_video.c
+++ b/src/v_video.c
@@ -30,7 +30,6 @@
#include "i_system.h"
-#include "r_local.h"
#include "doomtype.h"
#include "doomdata.h"
--- a/src/v_video.h
+++ b/src/v_video.h
@@ -33,7 +33,7 @@
#include "doomtype.h"
// Needed because we are refering to patches.
-#include "r_data.h"
+#include "v_patch.h"
//
// VIDEO