]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
rearrange particle_t fields to save memory
[xonotic/darkplaces.git] / csprogs.c
index 42ee15559885f8494b9cd73e6ca3c3299cc671d2..f8e47a6520b1ac6116b6fb16caae8a35fe0f2e0d 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -670,7 +670,7 @@ void CSQC_ReadEntities (void)
                {
                        entnum = MSG_ReadShort();
                        if(!entnum || msg_badread)
-                               return;
+                               break;
                        realentnum = entnum & 0x7FFF;
                        prog->globals.client->self = cl.csqc_server2csqcentitynumber[realentnum];
                        if(entnum & 0x8000)
@@ -798,7 +798,7 @@ void Cmd_ClearCsqcFuncs (void);
 
 // returns true if the packet is valid, false if end of file is reached
 // used for dumping the CSQC download into demo files
-qboolean MakeDownloadPacket(const char *filename, unsigned char *data, unsigned long len, int crc, int cnt, sizebuf_t *buf, int protocol)
+qboolean MakeDownloadPacket(const char *filename, unsigned char *data, size_t len, int crc, int cnt, sizebuf_t *buf, int protocol)
 {
        int packetsize = buf->maxsize - 7; // byte short long
        int npackets = (len + packetsize - 1) / (packetsize);
@@ -810,7 +810,7 @@ qboolean MakeDownloadPacket(const char *filename, unsigned char *data, unsigned
        if(cnt == 0)
        {
                MSG_WriteByte(buf, svc_stufftext);
-               MSG_WriteString(buf, va("\ncl_downloadbegin %lu %s\n", len, filename));
+               MSG_WriteString(buf, va("\ncl_downloadbegin %lu %s\n", (unsigned long)len, filename));
                return true;
        }
        else if(cnt >= 1 && cnt <= npackets)
@@ -830,7 +830,7 @@ qboolean MakeDownloadPacket(const char *filename, unsigned char *data, unsigned
        else if(cnt == npackets + 1)
        {
                MSG_WriteByte(buf, svc_stufftext);
-               MSG_WriteString(buf, va("\ncl_downloadfinished %lu %d\n", len, crc));
+               MSG_WriteString(buf, va("\ncl_downloadfinished %lu %d\n", (unsigned long)len, crc));
                return true;
        }
        return false;
@@ -867,7 +867,7 @@ void CL_VM_Init (void)
        }
        if (csprogsdata)
        {
-               csprogsdatacrc = CRC_Block(csprogsdata, csprogsdatasize);
+               csprogsdatacrc = CRC_Block(csprogsdata, (size_t)csprogsdatasize);
                if (csprogsdatacrc != requiredcrc || csprogsdatasize != requiredsize)
                {
                        if (cls.demoplayback)
@@ -946,7 +946,7 @@ void CL_VM_Init (void)
                if(cls.demo_lastcsprogssize != csprogsdatasize || cls.demo_lastcsprogscrc != csprogsdatacrc)
                {
                        int i;
-                       char buf[NET_MAXMESSAGE];
+                       static char buf[NET_MAXMESSAGE];
                        sizebuf_t sb;
                        unsigned char *demobuf; fs_offset_t demofilesize;
 
@@ -955,7 +955,7 @@ void CL_VM_Init (void)
                        i = 0;
 
                        CL_CutDemo(&demobuf, &demofilesize);
-                       while(MakeDownloadPacket(csqc_progname.string, csprogsdata, csprogsdatasize, csprogsdatacrc, i++, &sb, cls.protocol))
+                       while(MakeDownloadPacket(csqc_progname.string, csprogsdata, (size_t)csprogsdatasize, csprogsdatacrc, i++, &sb, cls.protocol))
                                CL_WriteDemoMessage(&sb);
                        CL_PasteDemo(&demobuf, &demofilesize);