]> icculus.org git repositories - btb/d2x.git/blob - main/screens.h
-fwritable-strings doesn't work on OS X
[btb/d2x.git] / main / screens.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 #ifndef _SCREEN_H
15 #define _SCREEN_H
16
17 #include "gr.h"
18
19 //What graphics modes the game & editor open
20
21 //for Screen_mode variable
22 #define SCREEN_MENU                             0       //viewing the menu screen
23 #define SCREEN_GAME                             1       //viewing the menu screen
24 #define SCREEN_EDITOR                   2       //viewing the editor screen
25
26 //from editor.c
27 extern grs_canvas *Canv_editor;                 //the full on-scrren editor canvas
28 extern grs_canvas *Canv_editor_game;    //the game window on the editor screen
29
30 //from game.c
31 extern int set_screen_mode(int sm);             // True = editor screen
32
33 //About the screen
34 extern ubyte                    VR_screen_flags;
35 extern ubyte                    VR_current_page;
36 extern fix                              VR_eye_width;
37 extern int                              VR_eye_switch;
38
39 //NEWVR (Add a bunch off lines)
40 #define VR_SEPARATION F1_0*7/10
41 #define VR_PIXEL_SHIFT -6
42 #define VR_WHITE_INDEX 255
43 #define VR_BLACK_INDEX 0
44 extern int                              VR_eye_offset;
45 extern int                              VR_eye_offset_changed;
46 extern void                     VR_reset_params();
47 extern int                              VR_use_reg_code;
48
49
50 extern int                              VR_screen_mode;
51 extern int                              VR_render_mode;
52 extern int                              VR_low_res;
53 extern int                              VR_show_hud;
54 extern int                              VR_sensitivity;
55
56 extern grs_canvas               *VR_offscreen_buffer;           // The offscreen data buffer
57 extern grs_canvas               VR_render_buffer[2];                    //  Two offscreen buffers for left/right eyes.
58 extern grs_canvas               VR_render_sub_buffer[2];        //  Two sub buffers for left/right eyes.
59 extern grs_canvas               VR_screen_pages[2];                     //  Two pages of VRAM if paging is available
60 extern grs_canvas               VR_screen_sub_pages[2];         //  Two sub pages of VRAM if paging is available
61
62 //values for VR_screen_flags
63
64 #define VRF_USE_PAGING                          1               //means page flips
65 #define VRF_SWITCH_EYES                         2
66 #define VRF_COMPATIBLE_MENUS            4
67 #define VRF_ALLOW_COCKPIT                       8
68
69 //values for VR_render_mode
70
71 #define VR_NONE                 0       //viewing the game screen
72 #define VR_AREA_DET             1       //viewing with the stereo area determined method
73 #define VR_INTERLACED   2       //viewing with the stereo interlaced method
74
75 void game_init_render_buffers(int screen_mode, int render_max_w, int render_max_h, int render_method, int flags );
76 void game_init_render_sub_buffers(int x, int y, int w, int h);
77
78 void set_display_mode(int mode);
79 extern int Default_display_mode;                //cannot be -1
80 //values are:
81 // -1: some special VR mode.
82 //  0: 320 x 200
83 //  1: 640 x 480
84 //  2: 320 x 400
85 //  3: 640 x 400
86 //  4: 800 x 600
87 //  5: 102 x 768
88
89 //called to get the screen in a mode compatible with popup menus.
90 //if we can't have popups over the game screen, switch to menu mode.
91 void set_popup_screen(void);
92
93 #endif