1 // Emacs style mode select -*- C++ -*- 2 //--------------------------------------------------------------------------- 3 // 4 // $Id: p_info.h 1368 2017-11-01 01:17:48Z wesleyjohnson $ 5 // 6 // Copyright(C) 2000 Simon Howard 7 // 8 // This program is free software; you can redistribute it and/or modify 9 // it under the terms of the GNU General Public License as published by 10 // the Free Software Foundation; either version 2 of the License, or 11 // (at your option) any later version. 12 // 13 // This program is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU General Public License for more details. 17 // 18 // You should have received a copy of the GNU General Public License 19 // along with this program; if not, write to the Free Software 20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 // 22 // $Log: p_info.h,v $ 23 // Revision 1.5 2001/08/06 23:57:09 stroggonmeth 24 // Removed portal code, improved 3D floors in hardware mode. 25 // 26 // Revision 1.4 2001/08/02 19:15:59 bpereira 27 // fix player reset in secret level of doom2 28 // 29 // Revision 1.3 2001/06/30 15:06:01 bpereira 30 // fixed wrong next level name in intermission 31 // 32 // Revision 1.2 2000/11/03 03:27:17 stroggonmeth 33 // Again with the bug fixing... 34 // 35 // Revision 1.1 2000/11/03 02:00:44 stroggonmeth 36 // Added p_info.c and p_info.h 37 // 38 // 39 //-------------------------------------------------------------------------- 40 41 #ifndef P_INFO_H 42 #define P_INFO_H 43 44 #include "doomtype.h" 45 #include "d_items.h" 46 // NUMWEAPONS 47 #include "command.h" 48 49 void P_Load_LevelInfo(void); 50 51 void P_CleanLine(char *line); 52 53 extern char *info_interpic; 54 extern char *info_levelname; 55 extern char *info_levelpic; 56 extern char *info_music; 57 extern int info_partime; 58 extern char *info_levelcmd[128]; 59 extern char *info_skyname; 60 extern char *info_creator; 61 extern char *info_nextlevel; 62 extern char *info_nextsecret; 63 extern char *info_intertext; 64 extern char *info_backdrop; 65 extern int info_scripts; // whether the current level has scripts 66 67 extern boolean default_weaponowned[NUMWEAPONS]; 68 69 // level menu 70 // level authors can include a menu in their level to 71 // activate special features 72 73 typedef struct 74 { 75 char *description; 76 int scriptnum; 77 } levelmenuitem_t; 78 79 #define isnumchar(c) ( (c) >= '0' && (c) <= '9') 80 int isExMy(char *name); 81 int isMAPxy(char *name); 82 /*#define isExMy(s) ( (tolower((s)[0]) == 'e') && \ 83 (isnumchar((s)[1])) && \ 84 (tolower((s)[2]) == 'm') && \ 85 (isnumchar((s)[3])) && \ 86 ((s)[4] == '\0') ) 87 #define isMAPxy(s) ( (strlen(s) == 5) && \ 88 (tolower((s)[0]) == 'm') && \ 89 (tolower((s)[1]) == 'a') && \ 90 (tolower((s)[2]) == 'p') && \ 91 (isnumchar((s)[3])) && \ 92 (isnumchar((s)[4])) && \ 93 ((s)[5] == '\0'))*/ 94 95 void P_Register_Info_Commands(void); 96 char * P_LevelName(void); 97 const char * P_LevelNameByNum( int episode, int map ); 98 99 #endif 100