📄 doomdata.h
字号:
// Emacs style mode select -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: doomdata.h,v 1.2 2003/09/08 22:34:27 jasonk Exp $//// 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 0x8000typedef 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: doomdata.h,v $// Revision 1.2 2003/09/08 22:34:27 jasonk// Updated files because this fucker won't build for no fucking good reason.//// Revision 1.1.1.1 2003/09/04 21:08:12 jasonk// Initial import//// Revision 1.1 2000/12/08 21:07:53 jeffw// nxdoom initial entry -- No nxdoom/Makefile so it won't build automatically//////-----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -