diff --git a/src/netcode/client_connection.c b/src/netcode/client_connection.c index 25fe5e1cbbc7756934d04f98284e7a42810aa832..7b21a76cd82ee6e887e5bdc88fcf52d1dc4a4eb6 100644 --- a/src/netcode/client_connection.c +++ b/src/netcode/client_connection.c @@ -125,7 +125,7 @@ static void CL_DrawConnectionStatus(void) // Draw background fade V_DrawFadeScreen(0xFF00, 16); // force default - if (cl_mode != CL_DOWNLOADFILES && cl_mode != CL_DOWNLOADHTTPFILES && cl_mode != CL_LOADFILES) + if (cl_mode != CL_DOWNLOADFILES && cl_mode != CL_DOWNLOADHTTPFILES && cl_mode != CL_LOADFILES && cl_mode != CL_CHECKFILES && cl_mode != CL_ASKFULLFILELIST) { INT32 animtime = ((ccstime / 4) & 15) + 16; UINT8 palstart; @@ -208,6 +208,31 @@ static void CL_DrawConnectionStatus(void) V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16, V_20TRANS|V_MONOSPACE, va(" %2u/%2u files",loadcompletednum,fileneedednum)); } + else if ((cl_mode == CL_CHECKFILES) || (cl_mode == CL_ASKFULLFILELIST)) + { + INT32 totalfileslength; + INT32 checkcompletednum = 0; + INT32 i; + + V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_YELLOWMAP, "Press ESC to abort"); + + //ima just count files here + if (fileneeded) + { + for (i = 0; i < fileneedednum; i++) + if (fileneeded[i].status != FS_NOTCHECKED) + checkcompletednum++; + } + + // Check progress + V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, "Checking server addon list..."); + totalfileslength = (INT32)((checkcompletednum/(double)(fileneedednum)) * 256); + M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-16-8, 32, 1); + V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, 256, 8, 111); + V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, totalfileslength, 8, 96); + V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16, V_20TRANS|V_MONOSPACE, + va(" %2u/%2u Files",checkcompletednum,fileneedednum)); + } else if (filedownload.current != -1) { char tempname[28];