Quasar Posted February 23, 2006 Polyobjects now clip mobj_t's, tracers, explosions, and lines of sight. Interestingly, I found that in Hexen they rewrote the entirety of p_sight.c to work on a tracer-based system instead of DOOM's method of using the BSP. They probably did this because of polyobjects, but it is an undesirable change and certainly not one I even thought about following. At any rate, I figured out how to block line of sight with polyobj lines using the BSP, although it is not perfectly accurate -- the LOS checking will actually use the subsector attachments from the previous frame rather than those where the polyobjects should currently be attached. I do not anticipate that this will be a major or possibly even at all noticeable problem. Now all that is left is to add code that can actually move polyobjects around, and push or crush mobj_t's that get in the way. 0 Share this post Link to post
Quasar Posted February 25, 2006 Some shots of it in action: The imp can't see me through it. Nor can he see me even when I'm nearly unhidden, showing the accuracy is equal to that for normal lines. 0 Share this post Link to post
SoM Posted February 25, 2006 >:D Just wait until Mordeth gets a hold of this and re-designs all the maps in mor.... ok so maybe we could just hide this feature from him when it's complete? 0 Share this post Link to post
Mordeth Posted February 25, 2006 Too late! :) Besides, polyobjects is not a feature that requires a redesign of a level. 0 Share this post Link to post
Graf Zahl Posted February 25, 2006 Quasar said:Polyobjects now clip mobj_t's, tracers, explosions, and lines of sight. Interestingly, I found that in Hexen they rewrote the entirety of p_sight.c to work on a tracer-based system instead of DOOM's method of using the BSP. They probably did this because of polyobjects, but it is an undesirable change and certainly not one I even thought about following. Actually I doubt that. Heretic uses the exact same sight checking code so my guess would be that older Doom versions used it as well and it was later replaced due to some bugs in there which they couldn't find. I wouldn't be surprised if it was dumped due to this problem (which btw, is also present in the generic trace code.) Unfortunately I can't run Doom.exe anymore on my system so I can't verify it but if someone can get the same problem to show on E1M3 with older versions (1.2 and below) it's a good indicator that it uses the code which is in Raven's source. The blockmap based code is faster, btw. 0 Share this post Link to post
Quasar Posted February 25, 2006 Well that's interesting to know actually, especially that DOOM 1.2 apparently had the different visibility system. I would have assumed a BSP-based system would be faster, though I admit I haven't exactly started up a profiler ;) At any rate, I'll be sticking with the BSP-based code. 0 Share this post Link to post