diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 905f8a467..6058f823e 100755 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -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 diff --git a/arch/ogl/gr.c b/arch/ogl/gr.c index 3266264e9..5a28dbcaa 100755 --- a/arch/ogl/gr.c +++ b/arch/ogl/gr.c @@ -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; } diff --git a/arch/sdl/gr.c b/arch/sdl/gr.c index f384668b7..c3c34b580 100755 --- a/arch/sdl/gr.c +++ b/arch/sdl/gr.c @@ -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; } diff --git a/main/game.c b/main/game.c index f54f4f58d..281274649 100755 --- a/main/game.c +++ b/main/game.c @@ -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; } } diff --git a/main/newmenu.c b/main/newmenu.c index 9a36d80d4..df6c0d2de 100755 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -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);