1 // Emacs style mode select   -*- C++ -*-
2 //-----------------------------------------------------------------------------
3 //
4 // $Id: gi.h 4469 2014-01-03 23:38:29Z dr_sean $
5 //
6 // Copyright (C) 1998-2006 by Randy Heit (ZDoom).
7 // Copyright (C) 2006-2014 by The Odamex Team.
8 //
9 // This program is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU General Public License
11 // as published by the Free Software Foundation; either version 2
12 // of the License, or (at your option) any later version.
13 //
14 // This program is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 // GNU General Public License for more details.
18 //
19 // DESCRIPTION:
20 //	GI
21 //
22 //-----------------------------------------------------------------------------
23 
24 
25 #ifndef __GI_H__
26 #define __GI_H__
27 
28 #include "doomtype.h"
29 
30 #define GI_MAPxx				0x00000001
31 #define GI_PAGESARERAW			0x00000002
32 #define GI_SHAREWARE			0x00000004
33 #define GI_NOLOOPFINALEMUSIC	0x00000008
34 #define GI_INFOINDEXED			0x00000010
35 #define GI_MENUHACK				0x00000060
36 #define GI_MENUHACK_RETAIL		0x00000020
37 #define GI_MENUHACK_COMMERCIAL	0x00000060
38 #define GI_NOCRAZYDEATH			0x00000080
39 
40 typedef struct
41 {
42 	byte offset;
43 	byte size;
44 	char tl[8];
45 	char t[8];
46 	char tr[8];
47 	char l[8];
48 	char r[8];
49 	char bl[8];
50 	char b[8];
51 	char br[8];
52 } gameborder_t;
53 
54 typedef struct
55 {
56 	int flags;
57 	char titlePage[8];
58 	char creditPage1[8];
59 	char creditPage2[8];
60 	char titleMusic[8];
61 	float titleTime;
62 	float advisoryTime;
63 	float pageTime;
64 	char chatSound[16];
65 	char finaleMusic[8];
66 	char finaleFlat[8];
67 	char finalePage1[8];
68 	char finalePage2[8];
69 	char finalePage3[8];
70 	union
71 	{
72 		char infoPage[3][8];
73 		struct
74 		{
75 			char basePage[8];
76 			int numPages;
77 		} indexed;
78 	} info;
79 	const char **quitSounds;
80 	int maxSwitch;
81 	char borderFlat[8];
82 	gameborder_t *border;
83 
84 	char titleString[64];
85 } gameinfo_t;
86 
87 extern gameinfo_t gameinfo;
88 
89 #endif //__GI_H__
90 
91