1 /** @file api_gameexport.h Data structures for the engine/plugin interfaces. 2 * 3 * @authors Copyright © 2003-2017 Jaakko Keränen <jaakko.keranen@iki.fi> 4 * @authors Copyright © 2006-2015 Daniel Swanson <danij@dengine.net> 5 * 6 * @par License 7 * GPL: http://www.gnu.org/licenses/gpl.html 8 * 9 * <small>This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by the 11 * Free Software Foundation; either version 2 of the License, or (at your 12 * option) any later version. This program is distributed in the hope that it 13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 15 * Public License for more details. You should have received a copy of the GNU 16 * General Public License along with this program; if not, write to the Free 17 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 * 02110-1301 USA</small> 19 */ 20 21 #ifndef LIBDOOMSDAY_GAME_API_H 22 #define LIBDOOMSDAY_GAME_API_H 23 24 #include <de/types.h> 25 #include <de/rect.h> 26 #include "world/valuetype.h" 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 struct event_s; 33 34 /// General constants. 35 enum { 36 DD_DISABLE = 0, 37 DD_ENABLE = 1, 38 DD_YES = 2, 39 DD_NO = 3, 40 DD_PRE = 4, 41 DD_POST = 5, 42 43 DD_GAME_CONFIG = 0x100, ///< String: dm/co-op, jumping, etc. 44 DD_GAME_RECOMMENDS_SAVING, ///< engine asks whether game should be saved (e.g., when upgrading) (game's GetInteger) 45 46 DD_NOTIFY_GAME_SAVED = 0x200, ///< savegame was written 47 DD_NOTIFY_PLAYER_WEAPON_CHANGED, ///< a player's weapon changed (including powerups) 48 DD_NOTIFY_PSPRITE_STATE_CHANGED, ///< a player's psprite state has changed 49 50 DD_PLUGIN_NAME = 0x300, ///< (e.g., jdoom, jheretic etc..., suitable for use with filepaths) 51 DD_PLUGIN_NICENAME, ///< (e.g., jDoom, MyGame:Episode2 etc..., fancy name) 52 DD_PLUGIN_VERSION_SHORT, 53 DD_PLUGIN_VERSION_LONG, 54 DD_PLUGIN_HOMEURL, 55 DD_PLUGIN_DOCSURL, 56 57 DD_DEF_SOUND = 0x400, 58 DD_DEF_LINE_TYPE, 59 DD_DEF_SECTOR_TYPE, 60 DD_DEF_SOUND_LUMPNAME, 61 DD_DEF_ACTION, 62 DD_LUMP, 63 64 DD_ACTION_LINK = 0x500, ///< State action routine addresses. 65 DD_XGFUNC_LINK, ///< XG line classes 66 DD_MOBJ_SIZE, 67 DD_POLYOBJ_SIZE, 68 69 DD_TM_FLOOR_Z = 0x600, ///< output from P_CheckPosition 70 DD_TM_CEILING_Z, ///< output from P_CheckPosition 71 72 DD_PSPRITE_BOB_X = 0x700, 73 DD_PSPRITE_BOB_Y, 74 DD_RENDER_RESTART_PRE, 75 DD_RENDER_RESTART_POST 76 }; 77 78 #ifdef __cplusplus 79 } // extern "C" 80 #endif 81 82 #endif // LIBDOOMSDAY_GAME_API_H 83