diff --git a/src/d_main.c b/src/d_main.c index 36377049d08531ec1f25b84e07ed163a623f65c1..bbc5f532108d2279365ee43ba3c031b340626368 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -742,6 +742,7 @@ void D_StartTitle(void) CV_SetValue(&cv_usemouse, tutorialusemouse); CV_SetValue(&cv_alwaysfreelook, tutorialfreelook); CV_SetValue(&cv_mousemove, tutorialmousemove); + CV_SetValue(&cv_analog, tutorialanalog); M_StartMessage("Do you want to \x82save the recommended \x82movement controls?\x80\n\nPress 'Y' or 'Enter' to confirm\nPress 'N' or any key to keep \nyour current controls", M_TutorialSaveControlResponse, MM_YESNO); } diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 0aaace49f831239febcd68c2929d0f4bcfc65722..526c1d736bdd956e97814ae624b2b402705fd507 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -1814,6 +1814,7 @@ static void Command_Map_f(void) CV_SetValue(&cv_usemouse, tutorialusemouse); CV_SetValue(&cv_alwaysfreelook, tutorialfreelook); CV_SetValue(&cv_mousemove, tutorialmousemove); + CV_SetValue(&cv_analog, tutorialanalog); } tutorialmode = false; // warping takes us out of tutorial mode diff --git a/src/doomstat.h b/src/doomstat.h index 94ccf111ae926c6659ff9983e264fdf66d58861b..7660547685426bd01cfb84ef5aa5f28b49b6fad2 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -135,6 +135,7 @@ extern INT32 tutorialgcs; // which control scheme is loaded? extern INT32 tutorialusemouse; // store cv_usemouse user value extern INT32 tutorialfreelook; // store cv_alwaysfreelook user value extern INT32 tutorialmousemove; // store cv_mousemove user value +extern INT32 tutorialanalog; // store cv_analog user value extern boolean looptitle; diff --git a/src/g_game.c b/src/g_game.c index 0112ec104748d0a0fcc2fd0df8d2e1faa9b153d8..4fb56abaf95e1a5e12d9eb748120e10e478dc04f 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -133,6 +133,7 @@ INT32 tutorialgcs = gcs_custom; // which control scheme is loaded? INT32 tutorialusemouse = 0; // store cv_usemouse user value INT32 tutorialfreelook = 0; // store cv_alwaysfreelook user value INT32 tutorialmousemove = 0; // store cv_mousemove user value +INT32 tutorialanalog = 0; // store cv_analog user value boolean looptitle = false; diff --git a/src/m_menu.c b/src/m_menu.c index b51d07fd21678afc03e4126ea8095b67f26548e3..ada9ffb7a96c2b3817ce03ff9bc8f332070e8dcb 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -6139,9 +6139,10 @@ void M_TutorialSaveControlResponse(INT32 ch) if (ch == 'y' || ch == KEY_ENTER) { G_CopyControls(gamecontrol, gamecontroldefault[tutorialgcs], gclist_tutorial, num_gclist_tutorial); - CV_SetValue(&cv_usemouse, 1); - CV_SetValue(&cv_alwaysfreelook, 0); - CV_SetValue(&cv_mousemove, 0); + CV_Set(&cv_usemouse, cv_usemouse->defaultvalue); + CV_Set(&cv_alwaysfreelook, cv_alwaysfreelook->defaultvalue); + CV_Set(&cv_mousemove, cv_mousemove->defaultvalue); + CV_Set(&cv_analog, cv_analog->defaultvalue); S_StartSound(NULL, sfx_itemup); } else @@ -6159,11 +6160,13 @@ static void M_TutorialControlResponse(INT32 ch) tutorialusemouse = cv_usemouse.value; tutorialfreelook = cv_alwaysfreelook.value; tutorialmousemove = cv_mousemove.value; + tutorialanalog = cv_analog.value; G_CopyControls(gamecontrol, gamecontroldefault[tutorialgcs], gclist_tutorial, num_gclist_tutorial); CV_Set(&cv_usemouse, cv_usemouse->defaultvalue); CV_Set(&cv_alwaysfreelook, cv_alwaysfreelook->defaultvalue); CV_Set(&cv_mousemove, cv_mousemove->defaultvalue); + CV_Set(&cv_analog, cv_analog->defaultvalue); //S_StartSound(NULL, sfx_itemup); } diff --git a/src/m_misc.c b/src/m_misc.c index 622d65776f873f519e7d1bd4f3930d4d83ea980c..353443df0df2a28de2fcd222bf5cc6dc56aba7d7 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -544,10 +544,12 @@ void M_SaveConfig(const char *filename) CV_SetValue(&cv_usemouse, tutorialusemouse); CV_SetValue(&cv_alwaysfreelook, tutorialfreelook); CV_SetValue(&cv_mousemove, tutorialmousemove); + CV_SetValue(&cv_analog, tutorialanalog); CV_SaveVariables(f); CV_Set(&cv_usemouse, cv_usemouse->defaultvalue); CV_Set(&cv_alwaysfreelook, cv_alwaysfreelook->defaultvalue); CV_Set(&cv_mousemove, cv_mousemove->defaultvalue); + CV_Set(&cv_analog, cv_analog->default); } else CV_SaveVariables(f);