/* DE1: $Id: p_setup.h 3171 2006-05-17 18:13:44Z danij $ * Copyright (C) 2003, 2004 Jaakko Keränen * * 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: http://www.opensource.org/ */ /* * Map setup routines */ #ifndef __X_SETUP_H__ #define __X_SETUP_H__ #ifndef __JHEXEN__ # error "Using jHexen headers without __JHEXEN__" #endif // Game specific map format properties for ALL games. // (notice jHeretic/jHexen properties are here too temporarily). // TODO: we don't need to know about all of them once they // are registered via DED. // Common map format properties enum { DAM_UNKNOWN = -2, DAM_ALL = -1, DAM_NONE, // Object/Data types DAM_THING, DAM_VERTEX, DAM_LINE, DAM_SIDE, DAM_SECTOR, DAM_SEG, DAM_SUBSECTOR, DAM_NODE, DAM_MAPBLOCK, DAM_SECREJECT, DAM_ACSSCRIPT, // Object properties DAM_X, DAM_Y, DAM_DX, DAM_DY, DAM_VERTEX1, DAM_VERTEX2, DAM_FLAGS, DAM_SIDE0, DAM_SIDE1, DAM_TEXTURE_OFFSET_X, DAM_TEXTURE_OFFSET_Y, DAM_TOP_TEXTURE, DAM_MIDDLE_TEXTURE, DAM_BOTTOM_TEXTURE, DAM_FRONT_SECTOR, DAM_FLOOR_HEIGHT, DAM_FLOOR_TEXTURE, DAM_CEILING_HEIGHT, DAM_CEILING_TEXTURE, DAM_LIGHT_LEVEL, DAM_ANGLE, DAM_OFFSET, DAM_LINE_COUNT, DAM_LINE_FIRST, DAM_BBOX_RIGHT_TOP_Y, DAM_BBOX_RIGHT_LOW_Y, DAM_BBOX_RIGHT_LOW_X, DAM_BBOX_RIGHT_TOP_X, DAM_BBOX_LEFT_TOP_Y, DAM_BBOX_LEFT_LOW_Y, DAM_BBOX_LEFT_LOW_X, DAM_BBOX_LEFT_TOP_X, DAM_CHILD_RIGHT, DAM_CHILD_LEFT }; // Game specific map format properties // TODO: These should be registered by the game during preinit. enum { DAM_LINE_TAG, DAM_LINE_SPECIAL, DAM_LINE_ARG1, DAM_LINE_ARG2, DAM_LINE_ARG3, DAM_LINE_ARG4, DAM_LINE_ARG5, DAM_SECTOR_SPECIAL, DAM_SECTOR_TAG, DAM_THING_TID, DAM_THING_X, DAM_THING_Y, DAM_THING_HEIGHT, DAM_THING_ANGLE, DAM_THING_TYPE, DAM_THING_OPTIONS, DAM_THING_SPECIAL, DAM_THING_ARG1, DAM_THING_ARG2, DAM_THING_ARG3, DAM_THING_ARG4, DAM_THING_ARG5, DAM_PROPERTY_COUNT }; int P_HandleMapDataProperty(int id, int dtype, int prop, int type, void *data); int P_HandleMapDataPropertyValue(int id, int dtype, int prop, int type, void *data); void P_Init(void); boolean P_MapExists(int episode, int map); #endif