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 94