diff --git a/src/d_main.c b/src/d_main.c index 36377049d..bbc5f5321 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 0aaace49f..526c1d736 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 94ccf111a..766054768 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 0112ec104..4fb56abaf 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 b51d07fd2..ada9ffb7a 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 622d65776..353443df0 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);