Currently, when you create a func_door, the game engine will automatically create two teleports to allow spectators to go through doors without opening them. In some cases, the teleport destination can cross a brush and then the spectator can get stucked.
It's not actually creating teleports, but by default when a spectator 'touches' a door's "triggering range" they are teleported, and have their view set to face 'out' of the door they touched. This can be especially problematic on some levels with narrow corridors and doors on both sides of the hallway being impossible to navigate as a spectator.
I'll dig up the code change from the original Q3A codebase (1.2x approximately IIRC) that caused this in the first place, and see about making a patch to undo that change and submit it.
Created attachment 1706[details]
allow spectators to move through doors
This patch removes the default door teleports and instead makes doors no longer clip spectators.
It's by no means the 'right' way of doing it, but I think either this will work fine or it will lead to something that does.
(btw: you can do this server-side only, but the cgame gets confused)
Created attachment 2150[details]
updated for head, remove functions instead of commenting
I updated this patch to test it out. With it applied, specs still appear to "lag" a little bit when going through doors because their screens aren't drawing while they're in noclip-land. How much this happen depends on the map, since doors are of different thicknesses. Of the stock maps I tested, niveus feels it the most. The really thick doors in tremor are made differently, I guess, and don't really feel it as much. This "feels" to me like an improvement over the current violent teleporting, but it's still not perfect. I'm open to suggestions as to what to do with it.
The patch as-is allows dead bodies to pass through doors, I think. Something more drastic with a new content type is probably needed. I am thinking a CONTENTS_IMMUTABLE or some such that isn't applied to doors, elevators and the like, and that spectators have instead of CONTENTS_SOLID in their clipmask.
Don't know how doable this is. Keep in mind that spectators can use /noclip now.
by the way, I think changing the assignment of the bug means that people watching the tremulous-bugs address won't get e-mail updates, so you might want to put it in the QA contact.
Created attachment 1706 [details] allow spectators to move through doors This patch removes the default door teleports and instead makes doors no longer clip spectators. It's by no means the 'right' way of doing it, but I think either this will work fine or it will lead to something that does. (btw: you can do this server-side only, but the cgame gets confused)
Created attachment 2150 [details] updated for head, remove functions instead of commenting I updated this patch to test it out. With it applied, specs still appear to "lag" a little bit when going through doors because their screens aren't drawing while they're in noclip-land. How much this happen depends on the map, since doors are of different thicknesses. Of the stock maps I tested, niveus feels it the most. The really thick doors in tremor are made differently, I guess, and don't really feel it as much. This "feels" to me like an improvement over the current violent teleporting, but it's still not perfect. I'm open to suggestions as to what to do with it.