Index: darkplaces/cd_shared.c
diff -u darkplaces/cd_shared.c:1.17 darkplaces/cd_shared.c:1.18
--- darkplaces/cd_shared.c:1.17	Fri May  6 15:43:18 2005
+++ darkplaces/cd_shared.c	Mon May  9 09:03:18 2005
@@ -213,6 +213,8 @@
 	int ret;
 	int n;
 
+	Host_StartVideo();
+
 	if (Cmd_Argc() < 2)
 		return;
 
Index: darkplaces/cl_video.c
diff -u darkplaces/cl_video.c:1.24 darkplaces/cl_video.c:1.25
--- darkplaces/cl_video.c:1.24	Fri May  6 15:43:18 2005
+++ darkplaces/cl_video.c	Mon May  9 09:03:18 2005
@@ -268,6 +268,8 @@
 {
 	char name[1024];
 
+	Host_StartVideo();
+
 	if (Cmd_Argc() != 2)
 	{
 		Con_Print("usage: playvideo <videoname>\nplays video named video/<videoname>.dpv\n");
Index: darkplaces/host.c
diff -u darkplaces/host.c:1.155 darkplaces/host.c:1.156
--- darkplaces/host.c:1.155	Fri May  6 16:00:53 2005
+++ darkplaces/host.c	Mon May  9 09:03:18 2005
@@ -184,7 +184,7 @@
 			else
 			{
 				// default players in some games, singleplayer in most
-				if (gamemode != GAME_TRANSFUSION && gamemode != GAME_GOODVSBAD2 && gamemode != GAME_NEXUIZ && gamemode != GAME_BATTLEMECH)
+				if (gamemode != GAME_GOODVSBAD2 && gamemode != GAME_NEXUIZ && gamemode != GAME_BATTLEMECH)
 					svs.maxclients = 1;
 			}
 		}
@@ -998,23 +998,23 @@
 	// set up the default startmap_sp and startmap_dm aliases (mods can
 	// override these) and then execute the quake.rc startup script
 	if (gamemode == GAME_NEHAHRA)
-		Cbuf_InsertText("alias startmap_sp \"map nehstart\"\nalias startmap_dm \"map nehstart\"\nexec quake.rc\n");
+		Cbuf_AddText("alias startmap_sp \"map nehstart\"\nalias startmap_dm \"map nehstart\"\nexec quake.rc\n");
 	else if (gamemode == GAME_TRANSFUSION)
-		Cbuf_InsertText("alias startmap_sp \"map e1m1\"\n""alias startmap_dm \"map bb1\"\nexec quake.rc\n");
+		Cbuf_AddText("alias startmap_sp \"map e1m1\"\n""alias startmap_dm \"map bb1\"\nexec quake.rc\n");
 	else if (gamemode == GAME_NEXUIZ)
-		Cbuf_InsertText("alias startmap_sp \"map nexdm01\"\nalias startmap_dm \"map nexdm01\"\nexec quake.rc\n");
+		Cbuf_AddText("alias startmap_sp \"map nexdm01\"\nalias startmap_dm \"map nexdm01\"\nexec quake.rc\n");
 	else if (gamemode == GAME_TEU)
-		Cbuf_InsertText("alias startmap_sp \"map start\"\nalias startmap_dm \"map start\"\nexec teu.rc\n");
+		Cbuf_AddText("alias startmap_sp \"map start\"\nalias startmap_dm \"map start\"\nexec teu.rc\n");
 	else
-		Cbuf_InsertText("alias startmap_sp \"map start\"\nalias startmap_dm \"map start\"\nexec quake.rc\n");
+		Cbuf_AddText("alias startmap_sp \"map start\"\nalias startmap_dm \"map start\"\nexec quake.rc\n");
+	Cbuf_Execute();
 
 	// if stuffcmds wasn't run, then quake.rc is probably missing, use default
 	if (!host_stuffcmdsrun)
-		Cbuf_InsertText("exec default.cfg\nexec config.cfg\nexec autoexec.cfg\nstuffcmds\nstartdemos\n");
-
-	Cbuf_Execute();
-	Cbuf_Execute();
-	Cbuf_Execute();
+	{
+		Cbuf_AddText("exec default.cfg\nexec config.cfg\nexec autoexec.cfg\nstuffcmds\n");
+		Cbuf_Execute();
+	}
 
 	// save console log up to this point to log_file if it was set by configs
 	Log_Start();
@@ -1025,25 +1025,23 @@
 	if (i && i + 1 < com_argc)
 	if (!sv.active && !cls.demoplayback && !cls.connect_trying)
 	{
-		Cbuf_InsertText(va("timedemo %s\n", com_argv[i + 1]));
+		Cbuf_AddText(va("timedemo %s\n", com_argv[i + 1]));
 		Cbuf_Execute();
 	}
 
 	if (cls.state == ca_dedicated || COM_CheckParm("-listen"))
 	if (!sv.active && !cls.demoplayback && !cls.connect_trying)
 	{
-		Cbuf_InsertText("startmap_dm\n");
+		Cbuf_AddText("startmap_dm\n");
 		Cbuf_Execute();
 	}
 
 	if (!sv.active && !cls.demoplayback && !cls.connect_trying)
 	{
-		Cbuf_InsertText("togglemenu\n");
 		if (gamemode == GAME_NEXUIZ)
-		{
-			Cbuf_InsertText("playvideo logo\n");
-			Cbuf_InsertText("cd loop 1\n");
-		}
+			Cbuf_AddText("togglemenu\nplayvideo logo\ncd loop 1\n");
+		else
+			Cbuf_AddText("togglemenu\n");
 		Cbuf_Execute();
 	}
 
Index: darkplaces/menu.c
diff -u darkplaces/menu.c:1.192 darkplaces/menu.c:1.193
--- darkplaces/menu.c:1.192	Wed May  4 10:07:47 2005
+++ darkplaces/menu.c	Mon May  9 09:03:18 2005
@@ -4790,6 +4790,7 @@
 
 void Call_MR_ToggleMenu_f(void)
 {
+	Host_StartVideo();
 	if(MR_ToggleMenu_f)
 		MR_ToggleMenu_f();
 }