]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_parse.c
Fix engine not starting on Windows if linked against SDL > 2.0.5
[xonotic/darkplaces.git] / cl_parse.c
index 26a0ed1120a4891854fdf6a8fcb68a80bd32adef..4d4c2f645cc085fe3f2f1744251edffa116a58f6 100644 (file)
@@ -20,9 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 // cl_parse.c  -- parse a message received from the server
 
 #include "quakedef.h"
 // cl_parse.c  -- parse a message received from the server
 
 #include "quakedef.h"
-#ifdef CONFIG_CD
 #include "cdaudio.h"
 #include "cdaudio.h"
-#endif
 #include "cl_collision.h"
 #include "csprogs.h"
 #include "libcurl.h"
 #include "cl_collision.h"
 #include "csprogs.h"
 #include "libcurl.h"
@@ -208,7 +206,7 @@ static void CL_ParseStartSoundPacket(int largesoundindex)
        vec3_t  pos;
        int     channel, ent;
        int     sound_num;
        vec3_t  pos;
        int     channel, ent;
        int     sound_num;
-       int     volume;
+       int     nvolume;
        int     field_mask;
        float   attenuation;
        float   speed;
        int     field_mask;
        float   attenuation;
        float   speed;
@@ -219,9 +217,9 @@ static void CL_ParseStartSoundPacket(int largesoundindex)
                channel = MSG_ReadShort(&cl_message);
 
                if (channel & (1<<15))
                channel = MSG_ReadShort(&cl_message);
 
                if (channel & (1<<15))
-                       volume = MSG_ReadByte(&cl_message);
+                       nvolume = MSG_ReadByte(&cl_message);
                else
                else
-                       volume = DEFAULT_SOUND_PACKET_VOLUME;
+                       nvolume = DEFAULT_SOUND_PACKET_VOLUME;
 
                if (channel & (1<<14))
                        attenuation = MSG_ReadByte(&cl_message) / 64.0;
 
                if (channel & (1<<14))
                        attenuation = MSG_ReadByte(&cl_message) / 64.0;
@@ -240,9 +238,9 @@ static void CL_ParseStartSoundPacket(int largesoundindex)
                field_mask = MSG_ReadByte(&cl_message);
 
                if (field_mask & SND_VOLUME)
                field_mask = MSG_ReadByte(&cl_message);
 
                if (field_mask & SND_VOLUME)
-                       volume = MSG_ReadByte(&cl_message);
+                       nvolume = MSG_ReadByte(&cl_message);
                else
                else
-                       volume = DEFAULT_SOUND_PACKET_VOLUME;
+                       nvolume = DEFAULT_SOUND_PACKET_VOLUME;
 
                if (field_mask & SND_ATTENUATION)
                        attenuation = MSG_ReadByte(&cl_message) / 64.0;
 
                if (field_mask & SND_ATTENUATION)
                        attenuation = MSG_ReadByte(&cl_message) / 64.0;
@@ -291,8 +289,8 @@ static void CL_ParseStartSoundPacket(int largesoundindex)
        if (ent >= cl.max_entities)
                CL_ExpandEntities(ent);
 
        if (ent >= cl.max_entities)
                CL_ExpandEntities(ent);
 
-       if( !CL_VM_Event_Sound(sound_num, volume / 255.0f, channel, attenuation, ent, pos, fflags, speed) )
-               S_StartSound_StartPosition_Flags (ent, channel, cl.sound_precache[sound_num], pos, volume/255.0f, attenuation, 0, fflags, speed);
+       if( !CL_VM_Event_Sound(sound_num, nvolume / 255.0f, channel, attenuation, ent, pos, fflags, speed) )
+               S_StartSound_StartPosition_Flags (ent, channel, cl.sound_precache[sound_num], pos, nvolume/255.0f, attenuation, 0, fflags, speed);
 }
 
 /*
 }
 
 /*
@@ -2893,6 +2891,8 @@ static void CL_ParseTempEntity(void)
                        CL_FindNonSolidLocation(pos, pos, 10);
                        colorStart = MSG_ReadByte(&cl_message);
                        colorLength = MSG_ReadByte(&cl_message);
                        CL_FindNonSolidLocation(pos, pos, 10);
                        colorStart = MSG_ReadByte(&cl_message);
                        colorLength = MSG_ReadByte(&cl_message);
+                       if (colorLength == 0)
+                               colorLength = 1;
                        CL_ParticleExplosion2(pos, colorStart, colorLength);
                        tempcolor = palette_rgb[(rand()%colorLength) + colorStart];
                        color[0] = tempcolor[0] * (2.0f / 255.0f);
                        CL_ParticleExplosion2(pos, colorStart, colorLength);
                        tempcolor = palette_rgb[(rand()%colorLength) + colorStart];
                        color[0] = tempcolor[0] * (2.0f / 255.0f);
@@ -3460,8 +3460,8 @@ void CL_ParseServerMessage(void)
                        if (!cmdlogname[cmdindex])
                        {
                                // LordHavoc: fix for bizarre problem in MSVC that I do not understand (if I assign the string pointer directly it ends up storing a NULL pointer)
                        if (!cmdlogname[cmdindex])
                        {
                                // LordHavoc: fix for bizarre problem in MSVC that I do not understand (if I assign the string pointer directly it ends up storing a NULL pointer)
-                               temp = "<unknown>";
-                               cmdlogname[cmdindex] = temp;
+                               const char *d = "<unknown>";
+                               cmdlogname[cmdindex] = d;
                        }
 
                        // other commands
                        }
 
                        // other commands
@@ -3469,7 +3469,7 @@ void CL_ParseServerMessage(void)
                        {
                        default:
                                {
                        {
                        default:
                                {
-                                       char description[32*64], temp[64];
+                                       char description[32*64], logtemp[64];
                                        int count;
                                        strlcpy(description, "packet dump: ", sizeof(description));
                                        i = cmdcount - 32;
                                        int count;
                                        strlcpy(description, "packet dump: ", sizeof(description));
                                        i = cmdcount - 32;
@@ -3479,8 +3479,8 @@ void CL_ParseServerMessage(void)
                                        i &= 31;
                                        while(count > 0)
                                        {
                                        i &= 31;
                                        while(count > 0)
                                        {
-                                               dpsnprintf(temp, sizeof(temp), "%3i:%s ", cmdlog[i], cmdlogname[i]);
-                                               strlcat(description, temp, sizeof(description));
+                                               dpsnprintf(logtemp, sizeof(logtemp), "%3i:%s ", cmdlog[i], cmdlogname[i]);
+                                               strlcat(description, logtemp, sizeof(description));
                                                count--;
                                                i++;
                                                i &= 31;
                                                count--;
                                                i++;
                                                i &= 31;
@@ -3640,12 +3640,10 @@ void CL_ParseServerMessage(void)
 
                        case qw_svc_cdtrack:
                                cl.cdtrack = cl.looptrack = MSG_ReadByte(&cl_message);
 
                        case qw_svc_cdtrack:
                                cl.cdtrack = cl.looptrack = MSG_ReadByte(&cl_message);
-#ifdef CONFIG_CD
                                if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
                                        CDAudio_Play ((unsigned char)cls.forcetrack, true);
                                else
                                        CDAudio_Play ((unsigned char)cl.cdtrack, true);
                                if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
                                        CDAudio_Play ((unsigned char)cls.forcetrack, true);
                                else
                                        CDAudio_Play ((unsigned char)cl.cdtrack, true);
-#endif
                                break;
 
                        case qw_svc_intermission:
                                break;
 
                        case qw_svc_intermission:
@@ -3764,12 +3762,10 @@ void CL_ParseServerMessage(void)
 
                        case qw_svc_setpause:
                                cl.paused = MSG_ReadByte(&cl_message) != 0;
 
                        case qw_svc_setpause:
                                cl.paused = MSG_ReadByte(&cl_message) != 0;
-#ifdef CONFIG_CD
                                if (cl.paused)
                                        CDAudio_Pause ();
                                else
                                        CDAudio_Resume ();
                                if (cl.paused)
                                        CDAudio_Pause ();
                                else
                                        CDAudio_Resume ();
-#endif
                                S_PauseGameSounds (cl.paused);
                                break;
                        }
                                S_PauseGameSounds (cl.paused);
                                break;
                        }
@@ -3825,8 +3821,8 @@ void CL_ParseServerMessage(void)
                        if (!cmdlogname[cmdindex])
                        {
                                // LordHavoc: fix for bizarre problem in MSVC that I do not understand (if I assign the string pointer directly it ends up storing a NULL pointer)
                        if (!cmdlogname[cmdindex])
                        {
                                // LordHavoc: fix for bizarre problem in MSVC that I do not understand (if I assign the string pointer directly it ends up storing a NULL pointer)
-                               temp = "<unknown>";
-                               cmdlogname[cmdindex] = temp;
+                               const char *d = "<unknown>";
+                               cmdlogname[cmdindex] = d;
                        }
 
                        // other commands
                        }
 
                        // other commands
@@ -3834,7 +3830,7 @@ void CL_ParseServerMessage(void)
                        {
                        default:
                                {
                        {
                        default:
                                {
-                                       char description[32*64], temp[64];
+                                       char description[32*64], tempdesc[64];
                                        int count;
                                        strlcpy (description, "packet dump: ", sizeof(description));
                                        i = cmdcount - 32;
                                        int count;
                                        strlcpy (description, "packet dump: ", sizeof(description));
                                        i = cmdcount - 32;
@@ -3844,8 +3840,8 @@ void CL_ParseServerMessage(void)
                                        i &= 31;
                                        while(count > 0)
                                        {
                                        i &= 31;
                                        while(count > 0)
                                        {
-                                               dpsnprintf (temp, sizeof (temp), "%3i:%s ", cmdlog[i], cmdlogname[i]);
-                                               strlcat (description, temp, sizeof (description));
+                                               dpsnprintf (tempdesc, sizeof (tempdesc), "%3i:%s ", cmdlog[i], cmdlogname[i]);
+                                               strlcat (description, tempdesc, sizeof (description));
                                                count--;
                                                i++;
                                                i &= 31;
                                                count--;
                                                i++;
                                                i &= 31;
@@ -3996,8 +3992,9 @@ void CL_ParseServerMessage(void)
                                }
                                else
                                {
                                }
                                else
                                {
-                                       int i = (unsigned short)MSG_ReadShort(&cl_message);
-                                       char *s = MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring));
+                                       char *s;
+                                       i = (unsigned short)MSG_ReadShort(&cl_message);
+                                       s = MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring));
                                        if (i < 32768)
                                        {
                                                if (i >= 1 && i < MAX_MODELS)
                                        if (i < 32768)
                                        {
                                                if (i >= 1 && i < MAX_MODELS)
@@ -4093,12 +4090,10 @@ void CL_ParseServerMessage(void)
 
                        case svc_setpause:
                                cl.paused = MSG_ReadByte(&cl_message) != 0;
 
                        case svc_setpause:
                                cl.paused = MSG_ReadByte(&cl_message) != 0;
-#ifdef CONFIG_CD
                                if (cl.paused)
                                        CDAudio_Pause ();
                                else
                                        CDAudio_Resume ();
                                if (cl.paused)
                                        CDAudio_Pause ();
                                else
                                        CDAudio_Resume ();
-#endif
                                S_PauseGameSounds (cl.paused);
                                break;
 
                                S_PauseGameSounds (cl.paused);
                                break;
 
@@ -4145,12 +4140,10 @@ void CL_ParseServerMessage(void)
                        case svc_cdtrack:
                                cl.cdtrack = MSG_ReadByte(&cl_message);
                                cl.looptrack = MSG_ReadByte(&cl_message);
                        case svc_cdtrack:
                                cl.cdtrack = MSG_ReadByte(&cl_message);
                                cl.looptrack = MSG_ReadByte(&cl_message);
-#ifdef CONFIG_CD
                                if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
                                        CDAudio_Play ((unsigned char)cls.forcetrack, true);
                                else
                                        CDAudio_Play ((unsigned char)cl.cdtrack, true);
                                if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
                                        CDAudio_Play ((unsigned char)cls.forcetrack, true);
                                else
                                        CDAudio_Play ((unsigned char)cl.cdtrack, true);
-#endif
                                break;
 
                        case svc_intermission:
                                break;
 
                        case svc_intermission: