diff options
Diffstat (limited to 'demos/3rdparty/doom/doomdata.h')
-rw-r--r-- | demos/3rdparty/doom/doomdata.h | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/demos/3rdparty/doom/doomdata.h b/demos/3rdparty/doom/doomdata.h deleted file mode 100644 index bab5e006..00000000 --- a/demos/3rdparty/doom/doomdata.h +++ /dev/null @@ -1,222 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// $Id:$ -// -// Copyright (C) 1993-1996 by id Software, Inc. -// -// This source is available for distribution and/or modification -// only under the terms of the DOOM Source Code License as -// published by id Software. All rights reserved. -// -// The source is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License -// for more details. -// -// DESCRIPTION: -// all external data is defined here -// most of the data is loaded into different structures at run time -// some internal structures shared by many modules are here -// -//----------------------------------------------------------------------------- - -#ifndef __DOOMDATA__ -#define __DOOMDATA__ - -// The most basic types we use, portability. -#include "doomtype.h" - -// Some global defines, that configure the game. -#include "doomdef.h" - - - -// -// Map level types. -// The following data structures define the persistent format -// used in the lumps of the WAD files. -// - -// Lump order in a map WAD: each map needs a couple of lumps -// to provide a complete scene geometry description. -enum -{ - ML_LABEL, // A separator, name, ExMx or MAPxx - ML_THINGS, // Monsters, items.. - ML_LINEDEFS, // LineDefs, from editing - ML_SIDEDEFS, // SideDefs, from editing - ML_VERTEXES, // Vertices, edited and BSP splits generated - ML_SEGS, // LineSegs, from LineDefs split by BSP - ML_SSECTORS, // SubSectors, list of LineSegs - ML_NODES, // BSP nodes - ML_SECTORS, // Sectors, from editing - ML_REJECT, // LUT, sector-sector visibility - ML_BLOCKMAP // LUT, motion clipping, walls/grid element -}; - - -// A single Vertex. -typedef struct -{ - short x; - short y; -} mapvertex_t; - - -// A SideDef, defining the visual appearance of a wall, -// by setting textures and offsets. -typedef struct -{ - short textureoffset; - short rowoffset; - char toptexture[8]; - char bottomtexture[8]; - char midtexture[8]; - // Front sector, towards viewer. - short sector; -} mapsidedef_t; - - - -// A LineDef, as used for editing, and as input -// to the BSP builder. -typedef struct -{ - short v1; - short v2; - short flags; - short special; - short tag; - // sidenum[1] will be -1 if one sided - short sidenum[2]; -} maplinedef_t; - - -// -// LineDef attributes. -// - -// Solid, is an obstacle. -#define ML_BLOCKING 1 - -// Blocks monsters only. -#define ML_BLOCKMONSTERS 2 - -// Backside will not be present at all -// if not two sided. -#define ML_TWOSIDED 4 - -// If a texture is pegged, the texture will have -// the end exposed to air held constant at the -// top or bottom of the texture (stairs or pulled -// down things) and will move with a height change -// of one of the neighbor sectors. -// Unpegged textures allways have the first row of -// the texture at the top pixel of the line for both -// top and bottom textures (use next to windows). - -// upper texture unpegged -#define ML_DONTPEGTOP 8 - -// lower texture unpegged -#define ML_DONTPEGBOTTOM 16 - -// In AutoMap: don't map as two sided: IT'S A SECRET! -#define ML_SECRET 32 - -// Sound rendering: don't let sound cross two of these. -#define ML_SOUNDBLOCK 64 - -// Don't draw on the automap at all. -#define ML_DONTDRAW 128 - -// Set if already seen, thus drawn in automap. -#define ML_MAPPED 256 - - - - -// Sector definition, from editing. -typedef struct -{ - short floorheight; - short ceilingheight; - char floorpic[8]; - char ceilingpic[8]; - short lightlevel; - short special; - short tag; -} mapsector_t; - -// SubSector, as generated by BSP. -typedef struct -{ - short numsegs; - // Index of first one, segs are stored sequentially. - short firstseg; -} mapsubsector_t; - - -// LineSeg, generated by splitting LineDefs -// using partition lines selected by BSP builder. -typedef struct -{ - short v1; - short v2; - short angle; - short linedef; - short side; - short offset; -} mapseg_t; - - - -// BSP node structure. - -// Indicate a leaf. -#define NF_SUBSECTOR 0x8000 - -typedef struct -{ - // Partition line from (x,y) to x+dx,y+dy) - short x; - short y; - short dx; - short dy; - - // Bounding box for each child, - // clip against view frustum. - short bbox[2][4]; - - // If NF_SUBSECTOR its a subsector, - // else it's a node of another subtree. - unsigned short children[2]; - -} mapnode_t; - - - - -// Thing definition, position, orientation and type, -// plus skill/visibility flags and attributes. -typedef struct -{ - short x; - short y; - short angle; - short type; - short options; -} mapthing_t; - - - - - -#endif // __DOOMDATA__ -//----------------------------------------------------------------------------- -// -// $Log:$ -// -//----------------------------------------------------------------------------- - |