1 //-----------------------------------------------------------------------------
2 //
3 // Copyright 2017 Christoph Oelckers
4 // Copyright 2019 Fernando Carmona Varo
5 //
6 // This program is free software: you can redistribute it and/or modify
7 // it under the terms of the GNU Lesser General Public License as published by
8 // the Free Software Foundation, either version 2 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program.  If not, see http://www.gnu.org/licenses/
18 //
19 //-----------------------------------------------------------------------------
20 
21 #ifndef __UMAPINFO_H
22 #define __UMAPINFO_H
23 
24 typedef struct
25 {
26   int type;
27   int special;
28   int tag;
29 } bossaction_t;
30 
31 typedef struct
32 {
33   char *mapname;
34   char *levelname;
35   char *intertext;
36   char *intertextsecret;
37   char levelpic[9];
38   char nextmap[9];
39   char nextsecret[9];
40   char music[9];
41   char skytexture[9];
42   char endpic[9];
43   char exitpic[9];
44   char enterpic[9];
45   char interbackdrop[9];
46   char intermusic[9];
47   int partime;
48   int nointermission;
49   int numbossactions;
50   bossaction_t *bossactions;
51 
52 } mapentry_t;
53 
54 typedef struct
55 {
56   unsigned int mapcount;
57   mapentry_t *maps;
58 } umapinfo_t;
59 
60 extern umapinfo_t U_mapinfo;
61 
62 int U_ParseMapInfo(const char *buffer, size_t length);
63 void U_FreeMapInfo();
64 
65 #endif
66