X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=cl_parse.c;h=fae79068ecc4c8a92c934b70b427fd6cdbcba5a8;hb=642d100a7741843488a5166d089b9be03e6a8e40;hp=46065b1421da73f4659128aada6c32bcfcd52db6;hpb=ff46d6ff516fda192c5adc55a5c9b82007545bd2;p=xonotic%2Fdarkplaces.git diff --git a/cl_parse.c b/cl_parse.c index 46065b14..fae79068 100644 --- a/cl_parse.c +++ b/cl_parse.c @@ -360,7 +360,7 @@ void CL_ParseServerInfo (void) // seperate the printfs so the server message can have a color if (cl.protocol != PROTOCOL_NEHAHRAMOVIE) // no messages when playing the Nehahra movie - Con_Printf("\n\n\35\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\37\n\n\2%s", str); + Con_Printf("\n\n\35\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\37\n\n\2%s\n", str); // check memory integrity Mem_CheckSentinelsGlobal(); @@ -411,7 +411,7 @@ void CL_ParseServerInfo (void) for (i = 1;i < numsounds;i++) { CL_KeepaliveMessage(); - S_TouchSound(parse_sound_precache[i]); + S_TouchSound(parse_sound_precache[i], true); } S_PurgeUnused(); @@ -435,7 +435,7 @@ void CL_ParseServerInfo (void) for (i=1 ; icolormap > cl.maxclients) - Host_Error ("CL_ValidateState: colormap (%i) > cl.maxclients (%i)", s->colormap, cl.maxclients); + { + Con_DPrintf("CL_ValidateState: colormap (%i) > cl.maxclients (%i)", s->colormap, cl.maxclients); + s->colormap = 0; + } model = cl.model_precache[s->modelindex]; Mod_CheckLoaded(model); @@ -957,13 +960,13 @@ CL_ParseTEnt */ void CL_InitTEnts (void) { - cl_sfx_wizhit = S_PrecacheSound ("wizard/hit.wav", false); - cl_sfx_knighthit = S_PrecacheSound ("hknight/hit.wav", false); - cl_sfx_tink1 = S_PrecacheSound ("weapons/tink1.wav", false); - cl_sfx_ric1 = S_PrecacheSound ("weapons/ric1.wav", false); - cl_sfx_ric2 = S_PrecacheSound ("weapons/ric2.wav", false); - cl_sfx_ric3 = S_PrecacheSound ("weapons/ric3.wav", false); - cl_sfx_r_exp3 = S_PrecacheSound ("weapons/r_exp3.wav", false); + cl_sfx_wizhit = S_PrecacheSound ("wizard/hit.wav", false, true); + cl_sfx_knighthit = S_PrecacheSound ("hknight/hit.wav", false, true); + cl_sfx_tink1 = S_PrecacheSound ("weapons/tink1.wav", false, true); + cl_sfx_ric1 = S_PrecacheSound ("weapons/ric1.wav", false, true); + cl_sfx_ric2 = S_PrecacheSound ("weapons/ric2.wav", false, true); + cl_sfx_ric3 = S_PrecacheSound ("weapons/ric3.wav", false, true); + cl_sfx_r_exp3 = S_PrecacheSound ("weapons/r_exp3.wav", false, true); } void CL_ParseBeam (model_t *m, int lightning) @@ -1037,7 +1040,7 @@ void CL_ParseTempEntity(void) MSG_ReadVector(pos); CL_FindNonSolidLocation(pos, pos, 4); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 150, 0.25f, 1.00f, 0.25f, 250, 0.2, 0, 0, false, 1); + CL_AllocDlight(NULL, &tempmatrix, 100, 0.12f, 0.50f, 0.12f, 500, 0.2, 0, 0, false, 1); CL_RunParticleEffect(pos, vec3_origin, 20, 30); S_StartSound(-1, 0, cl_sfx_wizhit, pos, 1, 1); break; @@ -1047,7 +1050,7 @@ void CL_ParseTempEntity(void) MSG_ReadVector(pos); CL_FindNonSolidLocation(pos, pos, 4); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 150, 1.0f, 0.60f, 0.20f, 250, 0.2, 0, 0, false, 1); + CL_AllocDlight(NULL, &tempmatrix, 100, 0.50f, 0.30f, 0.10f, 500, 0.2, 0, 0, false, 1); CL_RunParticleEffect(pos, vec3_origin, 226, 20); S_StartSound(-1, 0, cl_sfx_knighthit, pos, 1, 1); break; @@ -1078,7 +1081,7 @@ void CL_ParseTempEntity(void) // LordHavoc: changed to spark shower CL_SparkShower(pos, vec3_origin, 15); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 200, 0.1f, 0.1f, 1.0f, 1000, 0.2, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); if (rand() % 5) S_StartSound(-1, 0, cl_sfx_tink1, pos, 1, 1); @@ -1119,7 +1122,7 @@ void CL_ParseTempEntity(void) // LordHavoc: changed to dust shower CL_SparkShower(pos, vec3_origin, 30); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 200, 0.1f, 0.1f, 1.0f, 1000, 0.2, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, 0, true, 1); if (rand() % 5) S_StartSound(-1, 0, cl_sfx_tink1, pos, 1, 1); else @@ -1216,7 +1219,7 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 4); CL_SparkShower(pos, vec3_origin, 15); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 200, 0.1f, 0.1f, 1.0f, 1000, 0.2, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, 0, true, 1); break; case TE_EXPLOSION: @@ -1226,7 +1229,7 @@ void CL_ParseTempEntity(void) CL_ParticleExplosion(pos); // LordHavoc: boosted color from 1.0, 0.8, 0.4 to 1.25, 1.0, 0.5 Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 350, 1.25f, 1.0f, 0.5f, 700, 0.5, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 350, 4.0f, 2.0f, 0.50f, 700, 0.5, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); break; @@ -1236,7 +1239,7 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 10); CL_ParticleExplosion(pos); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 600, 0.5f, 0.4f, 1.0f, 1200, 0.5, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 350, 2.5f, 2.0f, 4.0f, 700, 0.5, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); break; @@ -1246,7 +1249,10 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 10); CL_ParticleExplosion(pos); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 350, MSG_ReadCoord(), MSG_ReadCoord(), MSG_ReadCoord(), 700, 0.5, 0, 0, true, 1); + color[0] = MSG_ReadCoord() * (2.0f / 1.0f); + color[1] = MSG_ReadCoord() * (2.0f / 1.0f); + color[2] = MSG_ReadCoord() * (2.0f / 1.0f); + CL_AllocDlight(NULL, &tempmatrix, 350, color[0], color[1], color[2], 700, 0.5, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); break; @@ -1255,9 +1261,9 @@ void CL_ParseTempEntity(void) MSG_ReadVector(pos); CL_FindNonSolidLocation(pos, pos, 10); CL_ParticleExplosion(pos); - color[0] = MSG_ReadByte() * (1.0 / 255.0); - color[1] = MSG_ReadByte() * (1.0 / 255.0); - color[2] = MSG_ReadByte() * (1.0 / 255.0); + color[0] = MSG_ReadByte() * (2.0f / 255.0f); + color[1] = MSG_ReadByte() * (2.0f / 255.0f); + color[2] = MSG_ReadByte() * (2.0f / 255.0f); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); CL_AllocDlight(NULL, &tempmatrix, 350, color[0], color[1], color[2], 700, 0.5, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); @@ -1272,14 +1278,14 @@ void CL_ParseTempEntity(void) S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 600, 0.8f, 0.4f, 1.0f, 1200, 0.5, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 600, 1.6f, 0.8f, 2.0f, 1200, 0.5, 0, 0, true, 1); break; case TE_SMALLFLASH: MSG_ReadVector(pos); CL_FindNonSolidLocation(pos, pos, 10); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 200, 1, 1, 1, 1000, 0.2, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 200, 2, 2, 2, 1000, 0.2, 0, 0, true, 1); break; case TE_CUSTOMFLASH: @@ -1287,9 +1293,9 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 4); radius = MSG_ReadByte() * 8; velspeed = (MSG_ReadByte() + 1) * (1.0 / 256.0); - color[0] = MSG_ReadByte() * (1.0 / 255.0); - color[1] = MSG_ReadByte() * (1.0 / 255.0); - color[2] = MSG_ReadByte() * (1.0 / 255.0); + color[0] = MSG_ReadByte() * (2.0f / 255.0f); + color[1] = MSG_ReadByte() * (2.0f / 255.0f); + color[2] = MSG_ReadByte() * (2.0f / 255.0f); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); CL_AllocDlight(NULL, &tempmatrix, radius, color[0], color[1], color[2], radius / velspeed, velspeed, 0, 0, true, 1); break; @@ -1304,14 +1310,14 @@ void CL_ParseTempEntity(void) case TE_LIGHTNING1: // lightning bolts if (!cl_model_bolt) - cl_model_bolt = Mod_ForName("progs/bolt.mdl", true, false, false); + cl_model_bolt = Mod_ForName("progs/bolt.mdl", false, false, false); CL_ParseBeam(cl_model_bolt, true); break; case TE_LIGHTNING2: // lightning bolts if (!cl_model_bolt2) - cl_model_bolt2 = Mod_ForName("progs/bolt2.mdl", true, false, false); + cl_model_bolt2 = Mod_ForName("progs/bolt2.mdl", false, false, false); CL_ParseBeam(cl_model_bolt2, true); break; @@ -1356,8 +1362,11 @@ void CL_ParseTempEntity(void) colorLength = MSG_ReadByte(); CL_ParticleExplosion2(pos, colorStart, colorLength); tempcolor = (qbyte *)&palette_complete[(rand()%colorLength) + colorStart]; + color[0] = tempcolor[0] * (2.0f / 255.0f); + color[1] = tempcolor[1] * (2.0f / 255.0f); + color[2] = tempcolor[2] * (2.0f / 255.0f); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 350, tempcolor[0] * (1.0f / 255.0f), tempcolor[1] * (1.0f / 255.0f), tempcolor[2] * (1.0f / 255.0f), 700, 0.5, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 350, color[0], color[1], color[2], 700, 0.5, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); break; @@ -1382,7 +1391,7 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 10); CL_ParticleExplosion(pos); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 500, 1.25f, 1.0f, 0.5f, 500, 9999, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 500, 2.5f, 2.0f, 1.0f, 500, 9999, 0, 0, true, 1); S_StartSound(-1, 0, cl_sfx_r_exp3, pos, 1, 1); break; @@ -1393,7 +1402,7 @@ void CL_ParseTempEntity(void) CL_FindNonSolidLocation(pos, pos, 5); CL_Tei_PlasmaHit(pos, dir, count); Matrix4x4_CreateTranslate(&tempmatrix, pos[0], pos[1], pos[2]); - CL_AllocDlight(NULL, &tempmatrix, 500, 0.3, 0.6, 1.0f, 2000, 9999, 0, 0, true, 1); + CL_AllocDlight(NULL, &tempmatrix, 500, 0.6, 1.2, 2.0f, 2000, 9999, 0, 0, true, 1); break; default: @@ -1545,7 +1554,12 @@ void CL_ParseServerMessage(void) break; case svc_disconnect: - Host_EndGame ("Server disconnected\n"); + Con_Printf ("Server disconnected\n"); + if (cls.demonum != -1) + CL_NextDemo (); + else + CL_Disconnect (); + break; case svc_print: Con_Print(MSG_ReadString()); @@ -1661,9 +1675,15 @@ void CL_ParseServerMessage(void) case svc_setpause: cl.paused = MSG_ReadByte (); if (cl.paused) + { CDAudio_Pause (); + S_PauseGameSounds (); + } else + { CDAudio_Resume (); + S_ResumeGameSounds (); + } break; case svc_signonnum: @@ -1800,7 +1820,7 @@ void CL_Parse_DumpPacket(void) void CL_Parse_Init(void) { // LordHavoc: added demo_nehahra cvar - cl_scores_mempool = Mem_AllocPool("client player info"); + cl_scores_mempool = Mem_AllocPool("client player info", 0, NULL); Cvar_RegisterVariable (&demo_nehahra); if (gamemode == GAME_NEHAHRA) Cvar_SetValue("demo_nehahra", 1);