diff --git a/src/g_game.c b/src/g_game.c index b1a3720e667cddedbe1b5e59b33704e6a0dc82db..f313b4d5013bcda492dc2ba273a2b49321ca1b6c 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1677,7 +1677,8 @@ static INT32 camtoggledelay, camtoggledelay2 = 0; boolean G_Responder(event_t *ev) { // allow spy mode changes even during the demo - if (gamestate == GS_LEVEL && ev->type == ev_keydown && ev->data1 == KEY_F12) + if (gamestate == GS_LEVEL && ev->type == ev_keydown + && (ev->data1 == gamecontrol[gc_viewpoint][0] || ev->data1 == gamecontrol[gc_viewpoint][1])) { if (splitscreen || !netgame) displayplayer = consoleplayer; diff --git a/src/g_input.c b/src/g_input.c index 1884f38b921b2284c420a3127b9b497f9aefc4ad..489806d847c7f3a52f35eac186abe68b9b5803de 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -1192,6 +1192,7 @@ void G_Controldefault(void) gamecontrol[gc_pause ][0] = 'p'; gamecontrol[gc_screenshot ][0] = KEY_F8; gamecontrol[gc_recordgif ][0] = KEY_F9; + gamecontrol[gc_viewpoint ][0] = KEY_F12; gamecontrol[gc_systemmenu ][0] = KEY_JOY1+7; // Start #ifdef WMINPUT gamecontrol[gc_forward ][0] = KEY_JOY1+02; //UP diff --git a/src/g_input.h b/src/g_input.h index d618b0da17a72751f06f1df84634032e81c8b4d8..557fb3bf38acf75c313d4c403c5418a5682472f0 100644 --- a/src/g_input.h +++ b/src/g_input.h @@ -121,6 +121,7 @@ typedef enum gc_systemmenu, gc_screenshot, gc_recordgif, + gc_viewpoint, gc_custom1, // Lua scriptable gc_custom2, // Lua scriptable gc_custom3, // Lua scriptable diff --git a/src/m_menu.c b/src/m_menu.c index 2b88f6c505ddd7fe64f91be53757fb031fba6922..381029a082bcb44538b6aa218ce77a0d2f88c1bc 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1076,6 +1076,7 @@ static menuitem_t OP_MiscControlsMenu[] = {IT_CALL | IT_STRING2, NULL, "Screenshot", M_ChangeControl, gc_screenshot }, {IT_CALL | IT_STRING2, NULL, "Toggle GIF Recording", M_ChangeControl, gc_recordgif }, {IT_CALL | IT_STRING2, NULL, "Open/Close Menu (ESC)", M_ChangeControl, gc_systemmenu }, + {IT_CALL | IT_STRING2, NULL, "Change Viewpoint", M_ChangeControl, gc_viewpoint }, {IT_CALL | IT_STRING2, NULL, "Console", M_ChangeControl, gc_console }, };