New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Portals2 visual #336
Portals2 visual #336
Conversation
… of portals needs further testing
…ers; Fixed slight logical bug in unique portal identifiers
… of portals needs further testing
…ers; Fixed slight logical bug in unique portal identifiers
…ls2_visual Conflicts: src/p_setup.cpp src/p_udmf.cpp
Name="Portals" | ||
> | ||
<File | ||
RelativePath=".\src\portal.cpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This implies that there's also a new portal.cpp
file, doesn't it? There's no new file in this pull request. Also, if this is needed, you need to update src/CMakeLists.txt
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got somehow lost during the merge with master. Put it back. &updated the lists as well.
@@ -236,4 +236,7 @@ DEFINE_SPECIAL(Ceiling_LowerToLowest, 253, 2, 2, 2) | |||
DEFINE_SPECIAL(Ceiling_LowerToFloor, 254, 2, 2, 2) | |||
DEFINE_SPECIAL(Ceiling_CrushRaiseAndStaySilA, 255, 4, 5, 5) | |||
|
|||
DEFINE_SPECIAL(Line_SetVisualPortal, 155, -1, -1, 3) | |||
DEFINE_SPECIAL(Line_SetPortal, 156, -1, -1, 3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please keep these in numerical order. What do you mean by the comment "// vavoom? interferes with Line_SetVisualPortal"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing anymore. This is a relic of ancient past when Line_SetVisualPortal was 157 instead of 155. It's long fixed and this comment means nothing.
Crash in R_ClipSpriteColumnWithPortals with Urban Brawl (possibly with floor/ceiling portals since the wall portal test map works flawlessly). |
The only way it could crash there is if seg->curline was null. Is that even possible? |
Another action doom portal crash. Warp to map04, then warp to map06. (Going directly to map06 works fine.) Appears to be some kind of dangling pointer. Sorry it took so long to check the new changes. I either missed the notification or github didn't send me one regarding the commits so just noticed them a few days ago. |
Could not reproduce this with the current version. Are you sure you built the right one? |
Yes. Changeset e669e3c. Not sure if I updated my Urban Brawl IWAD or not, but the md5sum of mine is
|
…r skyboxes, which interfered with portal sprite clipping routine randomly.
It's probably fixed now. At least my reliable way to reproduce it (go to map02, die in a hole near start, go to map03) doesn't crash anymore. |
Yeah, that fixes the crashes. Now there's a huge performance regression. Go to urban brawl map07 and open the elevator door. For me that hallway is perfectly smooth (35+ fps) with the latest master, with the new portal code I get about a half a frame per second. The level slots after map07 may also have some performance issues, but I didn't directly compare them since they're no where near as bad. |
…t current portal. Fixed: portal inside of a skybox sets CurrentPortalInSkybox to false.
…e current portal if rendered on root level of a skybox.
Gez noticed your new commits, so I tried them out. The MAP07 performance seems to be good now. MAP08 still has a performance regression at the river, but it's still playable. There also seems to be a release build only (not even relwithdebinfo) crash at startup on MAP01. Being that it's release mode only I'm guessing I'll need to debug and fix myself, but thought I would let you know about it anyway. |
(I'm not jewalky.) |
Kind of a strange regression since some mirrors work, but the mirrors in the bathrooms near the start of Urban Brawl MAP04 and MAP06 are broken. |
Nevermind, fixed it myself. Missing call to P_CheckPortal in the hexen format linedef loader. Moved P_CheckPortal call to P_FinishLoadingLineDef unless I'm missing something it works fine there and is called by Doom, Hexen, and UDMF loaders. There is now a portal2_visual branch in the upstream repo. |
One semi-major problem: Upper and lower textures on portal lines are not drawn. If we want to support linked-line portals Eternity style we will need this. |
The latest VISUAL portal code. Means fully working line special 155. Line special 156 is available, but as of now behaves exactly like 155.
For other features, There's now a CVar r_portal_recursions that controls both mirror and portal recursions dynamically (only for horizontal portals for now, doesn't include plane portals), and r_highlight_portals CVar that helps debugging portal-related stuff on a level.
Plus, on top of that, this code adds advanced clipping for both mirrors and wall portals in software mode, making it possible to put mirrors on arbitrary places without having to put empty space behind them.