⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xddefs.h

📁 魔法师传奇源代码
💻 H
字号:
//**************************************************************************//**//** xddefs.h : Heretic 2 : Raven Software, Corp.//**//** $RCSfile: xddefs.h,v $//** $Revision: 1.4 $//** $Date: 95/08/11 10:22:08 $//** $Author: bgokey $//**//**************************************************************************#ifndef __XDDEFS__#define __XDDEFS__#ifndef __BYTEBOOL__#define __BYTEBOOL__typedef enum {false, true} boolean;typedef unsigned char byte;#endif//--------------------------------------------------------------------------//// Map level types////--------------------------------------------------------------------------// lump order in a map wadenum{	ML_LABEL,	ML_THINGS,	ML_LINEDEFS,	ML_SIDEDEFS,	ML_VERTEXES,	ML_SEGS,	ML_SSECTORS,	ML_NODES,	ML_SECTORS,	ML_REJECT,	ML_BLOCKMAP,	ML_BEHAVIOR};typedef struct{	short x;	short y;} mapvertex_t;typedef struct{	short textureoffset;	short rowoffset;	char toptexture[8];	char bottomtexture[8];	char midtexture[8];	short sector; // on viewer's side} mapsidedef_t;typedef struct{	short v1;	short v2;	short flags;	byte special;	byte arg1;	byte arg2;	byte arg3;	byte arg4;	byte arg5;	short sidenum[2]; // sidenum[1] will be -1 if one sided} maplinedef_t;#define	ML_BLOCKING			0x0001#define	ML_BLOCKMONSTERS	0x0002#define	ML_TWOSIDED			0x0004#define	ML_DONTPEGTOP		0x0008#define	ML_DONTPEGBOTTOM	0x0010#define ML_SECRET			0x0020	// don't map as two sided: IT'S A SECRET!#define ML_SOUNDBLOCK		0x0040	// don't let sound cross two of these#define	ML_DONTDRAW			0x0080	// don't draw on the automap#define	ML_MAPPED			0x0100	// set if already drawn in automap#define ML_REPEAT_SPECIAL	0x0200	// special is repeatable#define ML_SPAC_SHIFT		10#define ML_SPAC_MASK		0x1c00#define GET_SPAC(flags) ((flags&ML_SPAC_MASK)>>ML_SPAC_SHIFT)// Special activation types#define SPAC_CROSS		0	// when player crosses line#define SPAC_USE		1	// when player uses line#define SPAC_MCROSS		2	// when monster crosses line#define SPAC_IMPACT		3	// when projectile hits line#define SPAC_PUSH		4	// when player/monster pushes line#define SPAC_PCROSS		5	// when projectile crosses linetypedef	struct{	short floorheight;	short ceilingheight;	char floorpic[8];	char ceilingpic[8];	short lightlevel;	short special;	short tag;} mapsector_t;typedef struct{	short numsegs;	short firstseg; // segs are stored sequentially} mapsubsector_t;typedef struct{	short v1;	short v2;	short angle;	short linedef;	short side;	short offset;} mapseg_t;enum{ // bbox coordinates	BOXTOP,	BOXBOTTOM,	BOXLEFT,	BOXRIGHT};#define	NF_SUBSECTOR	0x8000typedef struct{	short		x,y,dx,dy;			// partition line	short		bbox[2][4];			// bounding box for each child	unsigned short	children[2];		// if NF_SUBSECTOR its a subsector} mapnode_t;typedef struct{	short tid;	short x;	short y;	short height;	short angle;	short type;	short options;	byte special;	byte arg1;	byte arg2;	byte arg3;	byte arg4;	byte arg5;} mapthing_t;#define MTF_EASY		1#define MTF_NORMAL		2#define MTF_HARD		4#define MTF_AMBUSH		8#define MTF_DORMANT		16#define MTF_FIGHTER		32#define MTF_CLERIC		64#define MTF_MAGE		128#define MTF_GSINGLE		256#define MTF_GCOOP		512#define MTF_GDEATHMATCH	1024//--------------------------------------------------------------------------//// Texture definition////--------------------------------------------------------------------------typedef struct{	short	originx;	short	originy;	short	patch;	short	stepdir;	short	colormap;} mappatch_t;typedef struct{	char		name[8];	boolean		masked;		short		width;	short		height;	void		**columndirectory;	// OBSOLETE	short		patchcount;	mappatch_t	patches[1];} maptexture_t;//--------------------------------------------------------------------------//// Graphics////--------------------------------------------------------------------------// posts are runs of non masked source pixelstypedef struct{	byte		topdelta;		// -1 is the last post in a column	byte		length;// length data bytes follows} post_t;// column_t is a list of 0 or more post_t, (byte)-1 terminatedtypedef post_t	column_t;// a patch holds one or more columns// patches are used for sprites and all masked picturestypedef 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]
} patch_t;
// a pic is an unmasked block of pixelstypedef struct{	byte		width,height;	byte		data;} pic_t;#endif // __XDDEFS__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -