]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - world.c
fix q1bsp detection of stuck entities (needed some more parentheses)
[xonotic/darkplaces.git] / world.c
diff --git a/world.c b/world.c
index a43544770573bc09c3833dc1af5ce3868e3f1d98..0ff5a6fc7dd6e79f2d022fb93d1abcc1195f9330 100644 (file)
--- a/world.c
+++ b/world.c
@@ -338,7 +338,7 @@ void SV_LinkEdict (prvm_edict_t *ent, qboolean touch_triggers)
 
        if (ent->fields.server->solid == SOLID_BSP)
        {
-               int modelindex = ent->fields.server->modelindex;
+               int modelindex = (int)ent->fields.server->modelindex;
                if (modelindex < 0 || modelindex > MAX_MODELS)
                {
                        Con_Printf("edict %i: SOLID_BSP with invalid modelindex!\n", PRVM_NUM_FOR_EDICT(ent));
@@ -442,7 +442,7 @@ trace_t SV_ClipMoveToEntity(prvm_edict_t *ent, const vec3_t start, const vec3_t
 
        if ((int) ent->fields.server->solid == SOLID_BSP || movetype == MOVE_HITMODEL)
        {
-               unsigned int modelindex = ent->fields.server->modelindex;
+               unsigned int modelindex = (unsigned int)ent->fields.server->modelindex;
                // if the modelindex is 0, it shouldn't be SOLID_BSP!
                if (modelindex == 0)
                {
@@ -594,7 +594,7 @@ trace_t SV_Move(const vec3_t start, const vec3_t mins, const vec3_t maxs, const
 
        // clip to world
        cliptrace = SV_ClipMoveToWorld(clipstart, clipmins, clipmaxs, clipend, type, hitsupercontentsmask);
-       cliptrace.startsolid = cliptrace.bmodelstartsolid;
+       cliptrace.bmodelstartsolid = cliptrace.startsolid;
        if (cliptrace.startsolid || cliptrace.fraction < 1)
                cliptrace.ent = prog->edicts;
        if (type == MOVE_WORLDONLY)
@@ -643,7 +643,7 @@ trace_t SV_Move(const vec3_t start, const vec3_t mins, const vec3_t maxs, const
        // precalculate passedict's owner edict pointer for comparisons
        traceowner = passedict ? PRVM_PROG_TO_EDICT(passedict->fields.server->owner) : 0;
 
-       // clip to enttiies
+       // clip to entities
        numtouchedicts = SV_EntitiesInBox(clipboxmins, clipboxmaxs, MAX_EDICTS, touchedicts);
        if (numtouchedicts > MAX_EDICTS)
        {
@@ -730,7 +730,7 @@ trace_t SV_Move(const vec3_t start, const vec3_t mins, const vec3_t maxs, const
 #if COLLISIONPARANOID < 3
                if (trace.startsolid || endstuck)
 #endif
-                       Con_Printf("%s{e%i:%f %f %f:%f %f %f:%f:%f %f %f%s%s}\n", (trace.startsolid || endstuck) ? "\002" : "", passedict ? passedict - prog->edicts : -1, passedict->fields.server->origin[0], passedict->fields.server->origin[1], passedict->fields.server->origin[2], end[0] - passedict->fields.server->origin[0], end[1] - passedict->fields.server->origin[1], end[2] - passedict->fields.server->origin[2], trace.fraction, trace.endpos[0] - passedict->fields.server->origin[0], trace.endpos[1] - passedict->fields.server->origin[1], trace.endpos[2] - passedict->fields.server->origin[2], trace.startsolid ? " startstuck" : "", endstuck ? " endstuck" : "");
+                       Con_Printf("%s{e%i:%f %f %f:%f %f %f:%f:%f %f %f%s%s}\n", (trace.startsolid || endstuck) ? "^3" : "", passedict ? (int)(passedict - prog->edicts) : -1, passedict->fields.server->origin[0], passedict->fields.server->origin[1], passedict->fields.server->origin[2], end[0] - passedict->fields.server->origin[0], end[1] - passedict->fields.server->origin[1], end[2] - passedict->fields.server->origin[2], trace.fraction, trace.endpos[0] - passedict->fields.server->origin[0], trace.endpos[1] - passedict->fields.server->origin[1], trace.endpos[2] - passedict->fields.server->origin[2], trace.startsolid ? " startstuck" : "", endstuck ? " endstuck" : "");
        }
        return trace;
 }