1 /**\file 2 *\section License 3 * License: GPL 4 * Online License Link: http://www.gnu.org/licenses/gpl.html 5 * 6 *\author Copyright © 2003-2017 Jaakko Keränen <jaakko.keranen@iki.fi> 7 *\author Copyright © 2006-2013 Daniel Swanson <danij@dengine.net> 8 *\author Copyright © 1993-1996 by id Software, Inc. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, 23 * Boston, MA 02110-1301 USA 24 */ 25 26 /** 27 * doomdata.h: Thing and line attributes 28 */ 29 30 #ifndef __DOOMDATA_H__ 31 #define __DOOMDATA_H__ 32 33 #ifndef __JHERETIC__ 34 # error "Using jHeretic headers without __JHERETIC__" 35 #endif 36 37 // Base plane ids. 38 enum { 39 PLN_FLOOR, 40 PLN_CEILING 41 }; 42 43 // 44 // Line attributes. 45 // 46 47 // Blocks monsters only. 48 #define ML_BLOCKMONSTERS 0x0002 49 50 /** 51 * If not present on a two-sided line suppress the back sector and instead 52 * consider the line as if it were one-sided. For mod compatibility purposes. 53 */ 54 #define ML_TWOSIDED 0x0004 55 56 // In AutoMap: don't map as two sided: IT'S A SECRET! 57 #define ML_SECRET 0x0020 58 59 // Sound rendering: don't let sound cross two of these. 60 #define ML_SOUNDBLOCK 0x0040 61 62 // Don't draw on the automap at all. 63 #define ML_DONTDRAW 0x0080 64 65 // Set if already seen, thus drawn in automap. 66 #define ML_MAPPED 0x0100 67 68 // Allows a USE action to pass through a line with a special 69 #define ML_PASSUSE 0x0200 70 71 //If set allows any mobj to trigger the line's special 72 #define ML_ALLTRIGGER 0x0400 73 74 #define ML_VALID_MASK (ML_BLOCKMONSTERS|ML_TWOSIDED|ML_SECRET|ML_SOUNDBLOCK|ML_DONTDRAW|ML_MAPPED|ML_PASSUSE|ML_ALLTRIGGER) 75 76 // Special activation types 77 #define SPAC_CROSS 0 // when player crosses line 78 #define SPAC_USE 1 // when player uses line 79 #define SPAC_IMPACT 3 // when projectile hits line 80 81 #endif 82