Skip to content

Fix trigger_viewlocation regression related to SOLID_NOT fixes

Juhu requested to merge Juhu/viewloc_solidnot into master

The sv_areagrid_link_SOLID_NOT fix in b9a67d4c broke the trigger_viewlocation entity on both DarkPlaces master and div0-stable.

b9a67d4c sets the .solid field to SOLID_BSP inside WarpZoneLib_BoxTouchesBrush() and then calls setorigin() to ensure linking for the new DarkPlaces master area grid linking behaviour.

This does not work for trigger_viewlocation since SOLID_BSP makes DarkPlaces assume that the entity has a model. However trigger_viewlocation does not have a model which causes SV_LinkEdict() to link it to the area grid wrongly.

I'm not sure whether this is actually an engine bug but changing the following line in DarkPlaces also works:

SV_LinkEdict() in sv_phys.c

 -               if (model != NULL)
 +               if ((model != NULL) && (strcmp(model->name, "null") != 0))

trigger_viewlocation is usually used for side-scrolling levels. To test this bug just launch any map with a side-scrolling level. For example sxb1race.

Edited by Juhu

Merge request reports