by Enjay » Thu Jan 14, 2010 6:43 pm
This has existed for a long time and it's one of those things that I keep forgetting to mention, and now I've finally remembered.
Transfer heights can disable splashes and floorclipping and, as such, can detract from certain effects. Try the example (for Heretic because of its built in splashes). It is a single room with a square pit in the middle hidden by transfer heights. The main outer area generates splashes (easily testable by jumping up and down at the P1 spot. If you switch on chasecam, you can also see that the player is clipped into the floor.
When you walk forward from the P1 spot, the pit rises to match the height of the surrounding sector (the corners of the pit are marked with pillars). Go into the middle area and jump up and down - no splashes. Check chasecam and no floorclip either. Worse, as you move onto and off of the now-risen floor, your view jumps up and down slightly because of the lack of floorclipping.
If you play on hard, there is a golem in the pit. After the pit has raised, you can watch him stepping on and off the pit floor and thereby changing between floor clipping and not floor clipping.
Even if you noclip from the P1 start (thus avoiding triggering the rising pit) and fall into the pit, its floor still does not splash or floorclip in its lowered state.
Interestingly, however, shoot the floor with the magic wand and all areas of the floor at the "normal" height splash - before and after the floor rises - though if you noclip into the pit, the lower floor does not splash.
Another smaller issue that I noticed, you'll see that I have placed a pillar on each corner of the pit both inside and outside the pit. The pillar actor is not set to floorclip so they are all the same height. However, the pillars on the non-transfer height part of the room extend slightly into the ground (as all Doom sprites do when they have offsets that place their bottom edge below the floor). However, the ones on the transfer heights area are clipped at floor level (just like they might be in an OpenGL port).
I'm perfectly prepared to believe that all this behaviour may be intentional to avoid problems elsewhere but, in case it is a bug, there you have it.
This has existed for a long time and it's one of those things that I keep forgetting to mention, and now I've finally remembered.
Transfer heights can disable splashes and floorclipping and, as such, can detract from certain effects. Try the example (for Heretic because of its built in splashes). It is a single room with a square pit in the middle hidden by transfer heights. The main outer area generates splashes (easily testable by jumping up and down at the P1 spot. If you switch on chasecam, you can also see that the player is clipped into the floor.
When you walk forward from the P1 spot, the pit rises to match the height of the surrounding sector (the corners of the pit are marked with pillars). Go into the middle area and jump up and down - no splashes. Check chasecam and no floorclip either. Worse, as you move onto and off of the now-risen floor, your view jumps up and down slightly because of the lack of floorclipping.
If you play on hard, there is a golem in the pit. After the pit has raised, you can watch him stepping on and off the pit floor and thereby changing between floor clipping and not floor clipping.
Even if you noclip from the P1 start (thus avoiding triggering the rising pit) and fall into the pit, its floor still does not splash or floorclip in its lowered state.
Interestingly, however, shoot the floor with the magic wand and all areas of the floor at the "normal" height splash - before and after the floor rises - though if you noclip into the pit, the lower floor does not splash.
Another smaller issue that I noticed, you'll see that I have placed a pillar on each corner of the pit both inside and outside the pit. The pillar actor is not set to floorclip so they are all the same height. However, the pillars on the non-transfer height part of the room extend slightly into the ground (as all Doom sprites do when they have offsets that place their bottom edge below the floor). However, the ones on the transfer heights area are clipped at floor level (just like they might be in an OpenGL port).
I'm perfectly prepared to believe that all this behaviour may be intentional to avoid problems elsewhere but, in case it is a bug, there you have it.