get_mi_min_max(1);
world.mins = mi_min;
world.maxs = mi_max;
- max_shot_distance = vlen(world.maxs - world.mins);
+ // currently, NetRadiant's limit is 131072 qu for each side
+ // distance from one corner of a 131072qu cube to the opposite corner is approx. 227023 qu
+ // set the distance according to map size but don't go over the limit to avoid issues with float precision
+ // in case somebody makes extremely large maps
+ max_shot_distance = min(230000, vlen(world.maxs - world.mins));
MapInfo_LoadMapSettings(mapname);
serverflags &= ~SERVERFLAG_TEAMPLAY;
start = trace_endpos;
entity hit = trace_ent;
+ // traced up to max_shot_distance and didn't hit anything at all
if (trace_fraction == 1.0)
- {
- // should not happen if max_shot_distance is correctly determined by map size
- LOG_WARN("traced up to max_shot_distance and didn't hit anything at all");
break;
- }
// When hitting sky, stop.
if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY)