version 1.2 | | version 1.3 |
---|
| | |
{ | | { |
//edited 05/27/99 Matt Mueller - ingame fullscreen changing | | //edited 05/27/99 Matt Mueller - ingame fullscreen changing |
newmenu_item m[8]; | | newmenu_item m[8]; |
| | int modes[8]; |
int i=0, mc=0; | | int i=0, mc=0; |
#ifdef SDL_VIDEO | | #ifdef SDL_VIDEO |
int fullscreenc; | | int fullscreenc; |
| | |
int screen_compatible = 0; | | int screen_compatible = 0; |
int use_double_buffer = 0; | | int use_double_buffer = 0; |
| | |
m[0].type = NM_TYPE_RADIO; m[0].text = "320x100"; m[0].value=(Game_screen_mode==19); m[0].group=0; | | //changed 6/15/1999 by Owen Evans to fix some platform-related problems |
m[1].type = NM_TYPE_RADIO; m[1].text = "320x200"; m[1].value=(Game_screen_mode==SM_320x200C); m[1].group=0; | | #ifdef __MSDOS__ |
m[2].type = NM_TYPE_RADIO; m[2].text = "320x240"; m[2].value=(Game_screen_mode==SM_320x240U); m[2].group=0; | | m[mc].type = NM_TYPE_RADIO; m[mc].text = "320x100"; m[mc].value=(Game_screen_mode==19); m[mc].group=0; modes[mc] = 19; mc++; |
m[3].type = NM_TYPE_RADIO; m[3].text = "320x400"; m[3].value=(Game_screen_mode==SM_320x400U); m[3].group=0; | | #endif |
m[4].type = NM_TYPE_RADIO; m[4].text = "640x400"; m[4].value=(Game_screen_mode==SM_640x400V); m[4].group=0; | | m[mc].type = NM_TYPE_RADIO; m[mc].text = "320x200"; m[mc].value=(Game_screen_mode==SM_320x200C); m[mc].group=0; modes[mc] = SM_320x200C; mc++; |
m[5].type = NM_TYPE_RADIO; m[5].text = "640x480"; m[5].value=(Game_screen_mode==SM_640x480V); m[5].group=0; | | m[mc].type = NM_TYPE_RADIO; m[mc].text = "320x240"; m[mc].value=(Game_screen_mode==SM_320x240U); m[mc].group=0; modes[mc] = SM_320x240U; mc++; |
m[6].type = NM_TYPE_RADIO; m[6].text = "800x600"; m[6].value=(Game_screen_mode==SM_800x600V); m[6].group=0; | | m[mc].type = NM_TYPE_RADIO; m[mc].text = "320x400"; m[mc].value=(Game_screen_mode==SM_320x400U); m[mc].group=0; modes[mc] = SM_320x400U; mc++; |
mc=7; | | #ifndef __LINUX__ |
// m[7].type = NM_TYPE_CHECK; m[7].text = "No Doublebuffer"; m[7].value = use_double_buffer; | | m[mc].type = NM_TYPE_RADIO; m[mc].text = "640x400"; m[mc].value=(Game_screen_mode==SM_640x400V); m[mc].group=0; modes[mc] = SM_640x400V; mc++; |
| | #endif |
| | m[mc].type = NM_TYPE_RADIO; m[mc].text = "640x480"; m[mc].value=(Game_screen_mode==SM_640x480V); m[mc].group=0; modes[mc] = SM_640x480V; mc++; |
| | m[mc].type = NM_TYPE_RADIO; m[mc].text = "800x600"; m[mc].value=(Game_screen_mode==SM_800x600V); m[mc].group=0; modes[mc] = SM_800x600V; mc++; |
| | m[mc].type = NM_TYPE_RADIO; m[mc].text = "1024x768"; m[mc].value=(Game_screen_mode==SM_1024x768V); m[mc].group=0; modes[mc] = SM_1024x768V; mc++; |
| | //end section - OE |
| | |
| | // m[mc].type = NM_TYPE_CHECK; m[mc].text = "No Doublebuffer"; m[mc].value = use_double_buffer; |
| | |
//added 05/27/99 Matt Mueller - ingame fullscreen changing | | //added 05/27/99 Matt Mueller - ingame fullscreen changing |
#ifdef SDL_VIDEO | | #ifdef SDL_VIDEO |
fullscreenc=mc;m[mc].type = NM_TYPE_CHECK; m[mc].text = "Fullscreen"; m[mc].value = (sdl_video_flags & SDL_FULLSCREEN)?1:0;mc++; | | fullscreenc=mc;m[mc].type = NM_TYPE_CHECK; m[mc].text = "Fullscreen"; m[mc].value = (sdl_video_flags & SDL_FULLSCREEN)?1:0;mc++; |
| | |
| | |
for(i=0;(m[i].value==0)&&(i<6);i++); | | for(i=0;(m[i].value==0)&&(i<6);i++); |
| | |
switch(i) | | switch(screen_mode = modes[i]) |
{ | | { |
case 0:screen_mode = 19; | | case 19: |
screen_width = 320; | | screen_width = 320; |
screen_height = 100; | | screen_height = 100; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 0; | | use_double_buffer = 0; |
break; | | break; |
case 1:screen_mode = SM_320x200C; | | case SM_320x200C: |
screen_width = 320; | | screen_width = 320; |
screen_height = 200; | | screen_height = 200; |
screen_compatible = 1; | | screen_compatible = 1; |
use_double_buffer = 0; | | use_double_buffer = 0; |
break; | | break; |
case 2:screen_mode = SM_320x240U; | | case SM_320x240U: |
screen_width = 320; | | screen_width = 320; |
screen_height = 240; | | screen_height = 240; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 1; | | use_double_buffer = 1; |
break; | | break; |
case 3: | | case SM_320x400U: |
screen_mode = SM_320x400U; | | |
screen_width = 320; | | screen_width = 320; |
screen_height = 400; | | screen_height = 400; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 1; | | use_double_buffer = 1; |
break; | | break; |
case 4: | | case SM_640x400V: |
screen_mode = SM_640x400V; | | |
screen_width = 640; | | screen_width = 640; |
screen_height = 400; | | screen_height = 400; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 1; | | use_double_buffer = 1; |
break; | | break; |
case 5: | | case SM_640x480V: |
screen_mode = SM_640x480V; | | |
screen_width = 640; | | screen_width = 640; |
screen_height = 480; | | screen_height = 480; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 1; | | use_double_buffer = 1; |
break; | | break; |
case 6: | | case SM_800x600V: |
screen_mode = SM_800x600V; | | |
screen_width = 800; | | screen_width = 800; |
screen_height = 600; | | screen_height = 600; |
screen_compatible = 0; | | screen_compatible = 0; |
use_double_buffer = 1; | | use_double_buffer = 1; |
break; | | break; |
| | case SM_1024x768V: |
| | screen_width = 1024; |
| | screen_height = 768; |
| | screen_compatible = 0; |
| | use_double_buffer = 1; |
| | break; |
} | | } |
#ifdef __MSDOS__ | | #ifdef __MSDOS__ |
if ( FindArg( "-nodoublebuffer" ) ) | | if ( FindArg( "-nodoublebuffer" ) ) |
#endif | | #endif |
use_double_buffer = 0; | | use_double_buffer = 0; |
| | |
| | //added 6/15/1999 by Owen Evans to eliminate unneccesary mode modification |
| | if (Game_screen_mode == screen_mode) |
| | return; |
| | // gr_set_mode(Game_screen_mode); |
| | //end section - OE |
| | |
VR_offscreen_buffer = 0; //Disable VR (so that VR_Screen_mode doesnt mess us up | | VR_offscreen_buffer = 0; //Disable VR (so that VR_Screen_mode doesnt mess us up |
Game_screen_mode = screen_mode; | | Game_screen_mode = screen_mode; |