fullscreen toggle from the video menu (#24)

This appends a "Fullscreen Mode" entry to the Video menu.

While at it, clean up the previous menu changes a bit. Added menu entries are always appended to the end of a menu. Remove the now useless sound and music card selection entries.
This commit is contained in:
Fabian Greffrath 2020-01-09 20:56:41 +01:00 committed by GitHub
parent 9792e384b1
commit b7b15098b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 4 deletions

View File

@ -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;

View File

@ -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)

View File

@ -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"}},