1 /*
2 
3 Copyright (C) 2015-2018 Night Dive Studios, LLC.
4 
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 
18 */
19 #ifndef __GAMESCREEN_H
20 #define __GAMESCREEN_H
21 
22 /*
23  * $Source: n:/project/cit/src/inc/RCS/screen.h $
24  * $Revision: 1.20 $
25  * $Author: dc $
26  * $Date: 1994/05/11 21:42:04 $
27  *
28  *
29  */
30 
31 #define GADGET_GAMESCREEN
32 
33 // C Library Includes
34 
35 // System Library Includes
36 #include "frtypesx.h"
37 
38 // Master Game Includes
39 
40 // Game Library Includes
41 
42 // Game Object Includes
43 
44 // Defines
45 #define SCREEN_VIEW_X      28
46 #define SCREEN_VIEW_Y      24
47 #define SCREEN_VIEW_HEIGHT 108
48 #define SCREEN_VIEW_WIDTH  268
49 
50 // Prototypes
51 
52 // Initialize the main game screen.  This should only be called once, at
53 // the major initialization stage of the program.
54 errtype screen_init(void);
55 
56 // Bring the main game screen to the monitor, doing appropriate cool
57 // looking tricks (palette fading, etc.) as necessary
58 void screen_start(void);
59 
60 // Do appropriate stuff to indicate that we have left the game screen
61 void screen_exit(void);
62 
63 // Force a draw of the whole durned screen
64 errtype screen_draw(void);
65 
66 // Stop doing graphics things
67 errtype screen_shutdown(void);
68 
69 // Handle keyboard input anywhere on the main screen
70 uchar main_kb_callback(uiEvent *h, LGRegion *r, intptr_t udata);
71 
72 // rct NULL means fullscreen, slb NULL is no slabinit, key and maus are callbacks, NULL is no install
73 void generic_reg_init(uchar create_reg, LGRegion *reg, LGRect *rct, uiSlab *slb, uiHandlerProc key_h, uiHandlerProc maus_h);
74 
75 // Globals
76 #ifdef __SCREEN_SRC
77 uchar *default_font_buf;
78 LGRegion *root_region, *mainview_region, *status_region, *inventory_region_game;
79 LGRegion *pagebutton_region_game;
80 LGCursor globcursor, wait_cursor, fire_cursor;
81 frc *normal_game_fr_context;
82 #else
83 extern uchar *default_font_buf;
84 extern LGRegion *root_region, *mainview_region, *inventory_region_game, *status_region;
85 extern LGRegion *pagebutton_region_game;
86 extern LGCursor globcursor, wait_cursor, fire_cursor;
87 extern frc *normal_game_fr_context;
88 #endif
89 
90 #endif // __GAMESCREEN_H
91