diff --git a/Source/i_video.c b/Source/i_video.c index 6d1a9ad0..b1dba5c9 100644 --- a/Source/i_video.c +++ b/Source/i_video.c @@ -431,6 +431,8 @@ static void I_HandleKeyboardEvent(SDL_Event *sdlevent) case SDL_KEYDOWN: event.type = ev_keydown; event.data1 = TranslateKey(&sdlevent->key.keysym); + event.data2 = 0; + event.data3 = 0; /* event.data2 = GetLocalizedKey(&sdlevent->key.keysym); event.data3 = GetTypedChar(&sdlevent->key.keysym); @@ -539,6 +541,16 @@ static void I_ToggleFullScreen(void) } } +// [FG] the fullscreen variable gets toggled once by the menu code, so we +// toggle it back here, it is then toggled again in I_ToggleFullScreen() + +void I_ToggleToggleFullScreen(void) +{ + fullscreen = !fullscreen; + + I_ToggleFullScreen(); +} + // killough 3/22/98: rewritten to use interrupt-driven keyboard queue extern int usemouse; diff --git a/Source/i_video.h b/Source/i_video.h index 1ec81d34..40182534 100644 --- a/Source/i_video.h +++ b/Source/i_video.h @@ -55,6 +55,7 @@ int I_DoomCode2ScanCode(int); // killough int I_ScanCode2DoomCode(int); // killough void I_ResetScreen(void); // killough 10/98 +void I_ToggleToggleFullScreen(void); extern int use_vsync; // killough 2/8/98: controls whether vsync is called extern int page_flip; // killough 8/15/98: enables page flipping (320x200) diff --git a/Source/m_menu.c b/Source/m_menu.c index d5d8c606..c0d27959 100644 --- a/Source/m_menu.c +++ b/Source/m_menu.c @@ -2280,8 +2280,10 @@ setup_menu_t keys_settings1[] = // Key Binding screen strings {"BACKSPACE" ,S_KEY ,m_menu,KB_X,KB_Y+17*8,{&key_menu_backspace}}, {"SELECT ITEM" ,S_KEY ,m_menu,KB_X,KB_Y+18*8,{&key_menu_enter}}, {"EXIT" ,S_KEY ,m_menu,KB_X,KB_Y+19*8,{&key_menu_escape}}, +/* // [FG] clear key bindings with the DEL key {"CLEAR" ,S_KEY ,m_menu,KB_X,KB_Y+20*8,{&key_menu_clear}}, +*/ // Button for resetting to defaults {0,S_RESET,m_null,X_BUTTON,Y_BUTTON}, @@ -2349,10 +2351,10 @@ setup_menu_t keys_settings3[] = // Key Binding screen strings {"CHAINSAW",S_KEY ,m_scrn,KB_X,KB_Y+ 8*8,{&key_weapon8}}, {"SSG" ,S_KEY ,m_scrn,KB_X,KB_Y+ 9*8,{&key_weapon9}}, {"BEST" ,S_KEY ,m_scrn,KB_X,KB_Y+10*8,{&key_weapontoggle}}, + {"FIRE" ,S_KEY ,m_scrn,KB_X,KB_Y+11*8,{&key_fire},&mousebfire,&joybfire}, // [FG] prev/next weapon keys and buttons - {"PREV" ,S_KEY ,m_scrn,KB_X,KB_Y+11*8,{&key_prevweapon},&mousebprevweapon,0}, - {"NEXT" ,S_KEY ,m_scrn,KB_X,KB_Y+12*8,{&key_nextweapon},&mousebnextweapon,0}, - {"FIRE" ,S_KEY ,m_scrn,KB_X,KB_Y+13*8,{&key_fire},&mousebfire,&joybfire}, + {"PREV" ,S_KEY ,m_scrn,KB_X,KB_Y+12*8,{&key_prevweapon},&mousebprevweapon,0}, + {"NEXT" ,S_KEY ,m_scrn,KB_X,KB_Y+13*8,{&key_nextweapon},&mousebnextweapon,0}, {"<- PREV",S_SKIP|S_PREV,m_null,KB_PREV,KB_Y+20*8, {keys_settings2}}, {"NEXT ->",S_SKIP|S_NEXT,m_null,KB_NEXT,KB_Y+20*8, {keys_settings4}}, @@ -2947,11 +2949,14 @@ enum { general_pcx, general_diskicon, general_hom +, general_fullscreen }; enum { +/* general_sndcard, general_muscard, +*/ general_detvoices, general_sndchan, general_pitch @@ -2959,7 +2964,7 @@ enum { #define G_X 250 #define G_Y 44 -#define G_Y2 (G_Y+82) +#define G_Y2 (G_Y+82+16) #define G_Y3 (G_Y+44) #define G_Y4 (G_Y3+52) #define GF_X 76 @@ -3000,13 +3005,18 @@ setup_menu_t gen_settings1[] = { // General Settings screen1 {"Flashing HOM indicator", S_YESNO, m_null, G_X, G_Y + general_hom*8, {"flashing_hom"}}, + {"Fullscreen Mode", S_YESNO, m_null, G_X, G_Y + general_fullscreen*8, + {"fullscreen"}, 0, 0, I_ToggleToggleFullScreen}, + {"Sound & Music", S_SKIP|S_TITLE, m_null, G_X, G_Y2 - 12}, +/* {"Sound Card", S_NUM|S_PRGWARN, m_null, G_X, G_Y2 + general_sndcard*8, {"sound_card"}}, {"Music Card", S_NUM|S_PRGWARN, m_null, G_X, G_Y2 + general_muscard*8, {"music_card"}}, +*/ {"Autodetect Number of Voices", S_YESNO|S_PRGWARN, m_null, G_X, G_Y2 + general_detvoices*8, {"detect_voices"}},