[Added] Wall portals

Moderator: GZDoom Developers

Re: Wall portals

Postby Graf Zahl » Fri Feb 26, 2016 6:26 pm

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby Gez » Fri Feb 26, 2016 6:39 pm

Gez
 
 
 
Joined: 06 Jul 2007

Re: Wall portals

Postby Graf Zahl » Fri Feb 26, 2016 6:56 pm

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.)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby Major Cooke » Fri Feb 26, 2016 9:39 pm

Gez wrote:And, just on cue, Eternity portals are no longer static. :p

Heh, the heat is real!
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Wall portals

Postby printz » Sat Feb 27, 2016 9:21 am

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.
User avatar
printz
Eternity, Eureka and AutoDoom programmer
 
Joined: 26 Oct 2006
Location: Bucharest, Romania
Github ID: ioan-chera
Operating System: Windows 10/8.1/8/201x 64-bit

Re: Wall portals

Postby Major Cooke » Sat Feb 27, 2016 9:29 am

Graf has been implementing his own genuine entirely hand-built one from the looks of it.
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Wall portals

Postby Gez » Sat Feb 27, 2016 10:01 am

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.
Gez
 
 
 
Joined: 06 Jul 2007

Re: Wall portals

Postby Graf Zahl » Sat Feb 27, 2016 10:15 am

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby Graf Zahl » Sat Feb 27, 2016 11:11 am

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.)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby Major Cooke » Sat Feb 27, 2016 11:43 am

Huh. Line_SetPortal was missing from action specials. Fixed that. Or does that not belong there?
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Wall portals

Postby Graf Zahl » Sat Feb 27, 2016 12:06 pm

It wasn't the only one that's missing.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby printz » Sat Feb 27, 2016 12:17 pm

Major Cooke wrote:Huh. Line_SetPortal was missing from action specials. Fixed that. Or does that not belong there?

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.
User avatar
printz
Eternity, Eureka and AutoDoom programmer
 
Joined: 26 Oct 2006
Location: Bucharest, Romania
Github ID: ioan-chera
Operating System: Windows 10/8.1/8/201x 64-bit

Re: Wall portals

Postby Major Cooke » Sat Feb 27, 2016 12:24 pm

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
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Wall portals

Postby Graf Zahl » Sat Feb 27, 2016 1:19 pm

Use the one with proper capitalization.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Wall portals

Postby Graf Zahl » Sat Feb 27, 2016 1:22 pm

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.


Unless some blocking issue comes around the current set of features should not change. There may be additions later (like a flag bit.)
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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

PreviousNext

Return to Closed Feature Suggestions

Who is online

Users browsing this forum: No registered users and 0 guests