Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Subatomic

How to: Walls you can walk through

Recommended Posts

I have a fireplace area that will lead to a secret passage if the player walks into and through the fireplace. What I want to do is have the back wall of the fireplace be visible from the player's perspective (they can see the texture) but also make it so they can walk through that wall. I tried disabling "Impassable" from the linedef action, but that didn't work. How can I do this? (vanilla Doom 2 only, please. also, I'm using Doom Builder.)

Share this post


Link to post

So you have one sector in front of the fireplace (The fireplace itself) and the secret area behind it, yeah?

It sounds to me like it is as simple as putting a mid texture on the linedef between the fireplace and the secret behind it. The texture obviously has to go on the sidedef facing outwards (as in not the side facing into the secret area) and the texture will be visible when looking in from the room. (It will look like a normal wall, but you will be able to pass through it and into the secret beyond.

As you have already done, the linedef must be double sided and not impassable.

I think this is what you mean, assuming I have understood you correctly.

Share this post


Link to post

A few other points to make:

The texture will be drawn with it's own full vertical dimension once and once only. ie if the texture is 128 tall, it will be shown as 128 tall even if it is in a room that is 256 tall (128 will be covered with texture and 128 will be left untextured).

If the texture is taller than the gap it is in, the texture will still be drawn at its full height and may therefore appear to extend into the floor/ceiling. To force the texture to be properly clipped at the floor/ceiling create a difference between the sectors in front and behind the line. A single unit of light difference is enough. That will never be seen by the player, but it is enough to cause the texture to be clipped properly.

The texture will start off hanging from the ceiling normally.

If you set the lower unpegged flag, it will start off sitting on the floor instead.

Y offsets can move the texture up and down (naturally).

Share this post


Link to post
Kyka said:

So you have one sector in front of the fireplace (The fireplace itself) and the secret area behind it, yeah?

It sounds to me like it is as simple as putting a mid texture on the linedef between the fireplace and the secret behind it. The texture obviously has to go on the sidedef facing outwards (as in not the side facing into the secret area) and the texture will be visible when looking in from the room. (It will look like a normal wall, but you will be able to pass through it and into the secret beyond.

As you have already done, the linedef must be double sided and not impassable.

I think this is what you mean, assuming I have understood you correctly.


Yeah, basically it's like this: a room, a fireplace, another room behind the fireplace. For the sake of simplicity, let's just say there are three rooms. The second room's wall shows a texture, but is passable, leading to the third room. I think what you're describing is what I've done already, and that hasn't worked. I can see the texture, but I can't pass through the wall.

Share this post


Link to post

Fair enough. ;) Once you start experimenting, it may. Anyway, try the file linked in my previous post and see if it is any use to you.

[edit] Heh, cross posting [/edit]

Share this post


Link to post
Enjay said:

Fair enough. ;) Once you start experimenting, it may. Anyway, try the file linked in my previous post and see if it is any use to you.

[edit] Heh, cross posting [/edit]


Thanks for the help, I appreciate it.

Share this post


Link to post

If you're interested, this file should help make sense of the other stuff:

http://www.zshare.net/download/500958193a1a036e/

The first line on the left is a normal 2 sided line with a texture on it. The texture does not repeat vertically as it would on a 1 sided line. It stops once it has been shown once.

The second line is the same, but with the lower unpegged flag set to make it sit on the floor.

The third line is also unpegged but has a negative Y offset to force it into the floor. (This effect cannot be seen in openGL ports.)

The fourth line is exactly the same but the line separates 2 sectors with slightly different light values, forcing the texture to be clipped at floor level.

Share this post


Link to post

The texture extending into the floor thing? No. OpenGL ports clip at the floor/ceiling. It's a technical limitation.

They do the same with sprites. That's why if you put an enemy such as a Revenant in a low-ceiling room, he will loose his head in an OpenGL port. The actor is actually only 56 units tall but the sprite is around 80. Unless the sector is at least as tall as the sprite, whatever extends into the ceiling gets chopped off.

Similarly, most sprites are naturally offset so that their feet are a few pixels into the floor. OpenGL ports either have to lift the sprites up slightly (which is why enemies may look a little taller in Some OpenGL ports) or cut their toes off.

Share this post


Link to post

Oh no, walk through walls are absolutely fine. The only thing that an OpenGL port cant do is that third wall in the second test WAD that I posted. In fact, in some ways walk through walls in OpenGL ports can be easier because you don't have to worry about them not being clipped at floor/ceiling level because you know they always will be.

Here's the difference:



Share this post


Link to post

Shhh! ;) I didn't want to muddy the water any further. Seeing as how the original request was for Vanilla Doom I thought I'd already strayed far enough from the path. LOL


Of course, you are quite correct though.

Share this post


Link to post
Enjay said:

Oh no, walk through walls are absolutely fine. The only thing that an OpenGL port cant do is that third wall in the second test WAD that I posted...


When I run c-cret.wad in Doomsday (opengl) it crashes with a segmentation fault. When I test the wad in Doom Builder (using vanilla Doom 2 there) it works fine. There seems to be something I'm still not quite grasping about this.

EDIT: I'm not quite sure how, but I finally got it to work in the map I'm making--lol. Thank you for your help and patience.

Share this post


Link to post

Ah, it's possible that I built the nodes using Zdoom settings that aren't compatible with other ports. I just have things set up to automatically build Zdoom compressed nodes so I guess I just forgot about it.

If you really want to see it in Doomsday, you could try rebuilding the nodes yourself.

Share this post


Link to post

I ended up just taking a look at your linedefs and replicated the settings for them in the area in my map. It was a lot simpler than what I was making it, really. Over-thinking it a bit. So it works now--and again, thanks.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×