diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 7a03ea576..7fef26168 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2267,6 +2267,29 @@ static void CL_ConnectToServer(void) { PR_ApplyProfile(cv_lastprofile[i].value, i); } + + // Slightly sucks that we have to duplicate these from d_main.c, but + // the change to cv_lastprofile doesn't take in time for this codepath. + if (M_CheckParm("-profile")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 0); + } + if (M_CheckParm("-profile2")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 1); + } + if (M_CheckParm("-profile3")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 2); + } + if (M_CheckParm("-profile4")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 3); + } } if (gamestate == GS_INTERMISSION) Y_EndIntermission(); // clean up intermission graphics etc diff --git a/src/d_main.c b/src/d_main.c index 3dcb8c4c2..b754523c7 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1874,6 +1874,27 @@ void D_SRB2Main(void) { PR_ApplyProfile(cv_lastprofile[i].value, i); } + + if (M_CheckParm("-profile")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 0); + } + if (M_CheckParm("-profile2")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 1); + } + if (M_CheckParm("-profile3")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 2); + } + if (M_CheckParm("-profile4")) + { + UINT8 num = atoi(M_GetNextParm()); + PR_ApplyProfile(num, 3); + } } if (autostart || netgame)