Wall portals
Moderator: GZDoom Developers
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
I just committed the line portal transitioning. It's only tested for static (Eternity-style) portals but it looks ok - even camera interpolation is working, but that was one nasty bit of code...
I'll do the arbitrary line portals tomorrow. The code is there but not complete and not tested yet.
I'll do the arbitrary line portals tomorrow. The code is there but not complete and not tested yet.
-
-
- Posts: 17934
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Wall portals
And, just on cue, Eternity portals are no longer static.
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
Yeah, that was also one of my long-term plans to make polyobject portals that are supposed to simulate moving geometry a bit more interactive. But that's still some time off. First the basics need to work.
But it's really cool finally being able to run through Vaporware without being blocked by nonexistent portal transitions (and equally important, no visual hiccups when transitioning through a portal.)
But it's really cool finally being able to run through Vaporware without being blocked by nonexistent portal transitions (and equally important, no visual hiccups when transitioning through a portal.)
-
- Posts: 8196
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Wall portals
Heh, the heat is real!Gez wrote:And, just on cue, Eternity portals are no longer static.
-
- Posts: 2648
- Joined: Thu Oct 26, 2006 12:08 pm
- Location: Bucharest, Romania
Re: Wall portals
Question: does ZDoom use the Build engine to render the portals? I thought it would be fitting, considering Build is quite a big portal user.
-
- Posts: 8196
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Wall portals
Graf has been implementing his own genuine entirely hand-built one from the looks of it.
-
-
- Posts: 17934
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Wall portals
Graf doesn't touch the software renderer, or only reluctantly. It's ZZYZX who made ZDoom's line portal code. The Build approach cannot really be used in Doom since in Build, portals are basically how the renderer works (this video explains it well); everything that is an "opening" in Doom is a portal in Build.
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
And looking at the occasional glitches in the demo map clearly shows that it's all using BSP traversal - if it uses Build's algorithm there wouldn't be phantom walls occasionally showing in the portals. Even in GZDoom I haven't addressed that problem yet.
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
Ok, most of the movement stuff is working. What still needs to be done for the first phase is proper position checking when stepping into a non-static portal with a floor height difference.
And I finally decided to make one-sided walls outside of polyobjects non-crossable - so you got to have enough free space behind it. I'm not willing to compromise on overall stability of the movement code which is sensitive enough to glitching already. For polyobjects I made an exception because otherwise their use would be too restricted (and since they are always inside a sector, their lines are not really one-sided in the sense that the player can step outside the map.)
And I finally decided to make one-sided walls outside of polyobjects non-crossable - so you got to have enough free space behind it. I'm not willing to compromise on overall stability of the movement code which is sensitive enough to glitching already. For polyobjects I made an exception because otherwise their use would be too restricted (and since they are always inside a sector, their lines are not really one-sided in the sense that the player can step outside the map.)
-
- Posts: 8196
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Wall portals
Huh. Line_SetPortal was missing from action specials. Fixed that. Or does that not belong there?
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
It wasn't the only one that's missing.
-
- Posts: 2648
- Joined: Thu Oct 26, 2006 12:08 pm
- Location: Bucharest, Romania
Re: Wall portals
Good. Does it mean I can port Line_SetPortal special into Eternity? I mean it will not change? So I can load Hexen-format maps compatible both with ZDoom and with Eternity, that also have portals.Major Cooke wrote:Huh. Line_SetPortal was missing from action specials. Fixed that. Or does that not belong there?
-
- Posts: 8196
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Wall portals
UDMF and Hexen are not recommended for eternity portals.
@Graf: I forgot there were still two pages with line_setportal. One of them needs deleting. I've updated the specials to use the one you've edited.
http://zdoom.org/wiki/Line_setportal
http://zdoom.org/wiki/Line_SetPortal
@Graf: I forgot there were still two pages with line_setportal. One of them needs deleting. I've updated the specials to use the one you've edited.
http://zdoom.org/wiki/Line_setportal
http://zdoom.org/wiki/Line_SetPortal
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
Use the one with proper capitalization.
-
- Lead GZDoom+Raze Developer
- Posts: 49184
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Wall portals
Unless some blocking issue comes around the current set of features should not change. There may be additions later (like a flag bit.)printz wrote: Good. Does it mean I can port Line_SetPortal special into Eternity? I mean it will not change? So I can load Hexen-format maps compatible both with ZDoom and with Eternity, that also have portals.
And if you want to port this, don't forget about Sector_SetPortal (which has some extensions which are only documented in the source right now.