/* DE1: $Id: p_dmu.h 3214 2006-05-24 17:53:22Z skyjake $ * Copyright (C) 2006 Jaakko Keränen * Daniel Swanson * * 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/ */ /* * p_dmu.h: Map Update API * * Engine-internal header for DMU. */ #ifndef __DOOMSDAY_MAP_UPDATE_H__ #define __DOOMSDAY_MAP_UPDATE_H__ void P_InitMapUpdate(void); void *P_AllocDummy(int type, void* extraData); void P_FreeDummy(void* dummy); int P_DummyType(void* dummy); boolean P_IsDummy(void* dummy); void *P_DummyExtraData(void* dummy); int P_ToIndex(const void* ptr); const char *DMU_Str(int prop); #ifndef NDEBUG # define ASSERT_DMU_TYPE(ptr, dmuType) \ if(!ptr || ((runtime_mapdata_header_t*)ptr)->type != dmuType) \ Con_Error("ASSERT_DMU_TYPE failure on line %i in "__FILE__". " #ptr " is not %s.\n", __LINE__, DMU_Str(dmuType)); #else # define ASSERT_DMU_TYPE(ptr, dmuType) #endif #endif