X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cl_main.c;h=632e185056080ddda5e08182f312d8e9ae74216a;hb=11e05215e5f3cee630f54b9836dab1b36b5b4ffc;hp=dfca0cf74c7be6c50d8dd2dded54c96a158878a5;hpb=e9f0d9465730c8180f8d2c1caf29909dde150e47;p=xonotic%2Fdarkplaces.git diff --git a/cl_main.c b/cl_main.c index dfca0cf7..632e1850 100644 --- a/cl_main.c +++ b/cl_main.c @@ -190,7 +190,7 @@ void CL_ExpandEntities(int num) if (num >= cl_max_entities) { if (!cl_entities) - Host_Error("CL_ExpandEntities: cl_entities not initialized\n"); + Sys_Error("CL_ExpandEntities: cl_entities not initialized\n"); if (num >= MAX_EDICTS) Host_Error("CL_ExpandEntities: num %i >= %i\n", num, MAX_EDICTS); oldmaxentities = cl_max_entities; @@ -331,9 +331,9 @@ static void CL_PrintEntities_f(void) strlcpy (name, ent->render.model->name, 25); else strcpy(name, "--no model--"); - for (j = strlen(name);j < 25;j++) + for (j = (int)strlen(name);j < 25;j++) name[j] = ' '; - Con_Printf("%3i: %s:%04i (%5i %5i %5i) [%3i %3i %3i] %4.2f %5.3f\n", i, name, ent->render.frame, (int) ent->render.origin[0], (int) ent->render.origin[1], (int) ent->render.origin[2], (int) ent->render.angles[0] % 360, (int) ent->render.angles[1] % 360, (int) ent->render.angles[2] % 360, ent->render.scale, ent->render.alpha); + Con_Printf("%3i: %s:%4i (%5i %5i %5i) [%3i %3i %3i] %4.2f %5.3f\n", i, name, ent->render.frame, (int) ent->render.origin[0], (int) ent->render.origin[1], (int) ent->render.origin[2], (int) ent->render.angles[0] % 360, (int) ent->render.angles[1] % 360, (int) ent->render.angles[2] % 360, ent->render.scale, ent->render.alpha); } } @@ -718,9 +718,19 @@ void CL_LinkNetworkEntity(entity_t *e) CL_BoundingBoxForEntity(&e->render); // handle effects now that we know where this entity is in the world... - origin[0] = e->render.matrix.m[0][3]; - origin[1] = e->render.matrix.m[1][3]; - origin[2] = e->render.matrix.m[2][3]; + if (e->render.model && e->render.model->soundfromcenter) + { + // bmodels are treated specially since their origin is usually '0 0 0' + vec3_t o; + VectorMAM(0.5f, e->render.model->normalmins, 0.5f, e->render.model->normalmaxs, o); + Matrix4x4_Transform(&e->render.matrix, o, origin); + } + else + { + origin[0] = e->render.matrix.m[0][3]; + origin[1] = e->render.matrix.m[1][3]; + origin[2] = e->render.matrix.m[2][3]; + } trailtype = -1; dlightradius = 0; dlightcolor[0] = 0; @@ -1237,6 +1247,7 @@ CL_ReadFromServer Read all incoming data from the server =============== */ +extern void CL_ClientMovement_Replay(); int CL_ReadFromServer(void) { CL_ReadDemoMessage(); @@ -1257,6 +1268,7 @@ int CL_ReadFromServer(void) V_FadeViewFlashs(); // relink network entities (note: this sets up the view!) + CL_ClientMovement_Replay(); CL_RelinkNetworkEntities(); // move particles @@ -1287,9 +1299,6 @@ CL_SendCmd void CL_UpdatePrydonCursor(void); void CL_SendCmd(void) { - if (cls.signon == SIGNONS) - CL_UpdatePrydonCursor(); - if (cls.demoplayback) { SZ_Clear(&cls.message);