update viewing values at Fullscreen Toggle; added Fullscreen Toggle to Menus and Demo Playback

This commit is contained in:
zicodxx 2007-05-09 09:44:45 +00:00
parent 59cabbcb84
commit ecf8a53e0c
5 changed files with 32 additions and 1 deletions

View file

@ -1,5 +1,9 @@
D1X-Rebirth Changelog
20070509
--------
arch/ogl/gr.c, arch/sdl/gr.c, main/game.c, main/newmenu.c: update viewing values at Fullscreen Toggle; added Fullscreen Toggle to Menus and Demo Playback
20070503
--------
CHANGELOG.txt, COPYING.txt, INSTALL.txt, README.txt: updated docs

View file

@ -65,6 +65,18 @@ void gr_do_fullscreen(int f){
int gr_toggle_fullscreen(void){
gr_do_fullscreen(!ogl_fullscreen);
if (Screen_mode != SCREEN_GAME) // update viewing values for menus
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();//clear matrix
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
return ogl_fullscreen;
}

View file

@ -159,7 +159,7 @@ int gr_check_fullscreen(void){
}
int gr_toggle_fullscreen(void){
sdl_video_flags^=SDL_FULLSCREEN;
grd_curscreen->sc_mode=0;//hack to get it to reset screen mode
SDL_WM_ToggleFullScreen(screen);
return (sdl_video_flags & SDL_FULLSCREEN)?1:0;
}

View file

@ -2315,6 +2315,9 @@ void HandleDemoKey(int key)
game_do_render_frame(Game_double_buffer);
save_screen_shot(0);
Newdemo_vcr_state = old_state;
case KEYS_GR_TOGGLE_FULLSCREEN:
gr_toggle_fullscreen_game();
break;
break;
}
}

View file

@ -1063,6 +1063,10 @@ int newmenu_do3_real( char * title, char * subtitle, int nitems, newmenu_item *
done = 1;
break;
case KEYS_GR_TOGGLE_FULLSCREEN:
gr_toggle_fullscreen();
break;
case KEY_ESC:
if ( (choice>-1) && (item[choice].type==NM_TYPE_INPUT_MENU) && (item[choice].group==1)) {
item[choice].group=0;
@ -1792,6 +1796,10 @@ ReadFileNames:
done = 1;
break;
case KEYS_GR_TOGGLE_FULLSCREEN:
gr_toggle_fullscreen();
break;
default:
{
int ascii = key_to_ascii(key);
@ -2158,6 +2166,10 @@ int newmenu_listbox1( char * title, int nitems, char * items[], int allow_abort_
done = 1;
break;
case KEYS_GR_TOGGLE_FULLSCREEN:
gr_toggle_fullscreen();
break;
default:
if ( key > 0 ) {
int ascii = key_to_ascii(key);