]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_parse.c
Fix major regression preventing connect to any server using curl for custom CSQC
[xonotic/darkplaces.git] / cl_parse.c
index 7f2cdff4cde1ee61f0203f0e0be48edf97f02ee6..45bd0137d95daa69c68dbfd503c8758190e3b817 100644 (file)
@@ -1279,12 +1279,8 @@ static void CL_BeginDownloads(qboolean aborteddownload)
                        CL_KeepaliveMessage(true);
                        if (cl.model_name[cl.downloadmodel_current][0] != '*' && strcmp(cl.model_name[cl.downloadmodel_current], "null") && !FS_FileExists(cl.model_name[cl.downloadmodel_current]))
                        {
-                               if (cl.downloadmodel_current == 1) {
-                                       // No way any game is playable without the map.
+                               if (cl.downloadmodel_current == 1)
                                        Con_Printf("Map %s not found\n", cl.model_name[cl.downloadmodel_current]);
-                                       CL_Disconnect();
-                                       return;
-                               }
                                else
                                        Con_Printf("Model %s not found\n", cl.model_name[cl.downloadmodel_current]);
                                // regarding the * check: don't try to download submodels
@@ -1306,6 +1302,8 @@ static void CL_BeginDownloads(qboolean aborteddownload)
                        if (cl.downloadmodel_current == 1)
                        {
                                // we now have the worldmodel so we can set up the game world
+                               // or maybe we do not have it (cl_serverextension_download 0)
+                               // then we need to continue loading ANYWAY!
                                CL_SetupWorldModel();
                                if (!cl.loadfinished && cl_joinbeforedownloadsfinish.integer)
                                {
@@ -1947,7 +1945,7 @@ static void CL_ParseServerInfo (void)
                                cls.demo_lastcsprogscrc = -1;
                        }
                        else
-                               Con_Print ("ERROR: couldn't open.\n");
+                               Con_Error ("ERROR: couldn't open.\n");
                }
        }
        cl.islocalgame = NetConn_IsLocalGame();
@@ -4314,8 +4312,11 @@ void CL_Parse_Init(void)
        Cmd_AddCommand(&cmd_client, "changing", QW_CL_Changing_f, "sent by qw servers to tell client to wait for level change");
        Cmd_AddCommand(&cmd_client, "cl_begindownloads", CL_BeginDownloads_f, "used internally by darkplaces client while connecting (causes loading of models and sounds or triggers downloads for missing ones)");
        Cmd_AddCommand(&cmd_client, "cl_downloadbegin", CL_DownloadBegin_f, "(networking) informs client of download file information, client replies with sv_startsoundload to begin the transfer");
+       Cmd_AddCommand(&cmd_clientfromserver, "cl_downloadbegin", CL_DownloadBegin_f, "(networking) informs client of download file information, client replies with sv_startsoundload to begin the transfer");
        Cmd_AddCommand(&cmd_client, "stopdownload", CL_StopDownload_f, "terminates a download");
+       Cmd_AddCommand(&cmd_clientfromserver, "stopdownload", CL_StopDownload_f, "terminates a download");
        Cmd_AddCommand(&cmd_client, "cl_downloadfinished", CL_DownloadFinished_f, "signals that a download has finished and provides the client with file size and crc to check its integrity");
+       Cmd_AddCommand(&cmd_clientfromserver, "cl_downloadfinished", CL_DownloadFinished_f, "signals that a download has finished and provides the client with file size and crc to check its integrity");
        Cmd_AddCommand(&cmd_client, "iplog_list", CL_IPLog_List_f, "lists names of players whose IP address begins with the supplied text (example: iplog_list 123.456.789)");
 }