Project

General

Profile

Bug #2370

[2.3 Unstable] Render Hack Regressions

Added by sonicdoommario 4 months ago. Updated about 2 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
Vanilla emulation
Target version:
Start date:
2019-12-14
% Done:

90%

Tags:

Description

With the 2.3 release of Doomsday starting to support render hacks, I decided to do some testing to try out of the newest fixes. I did run into a couple of regressions that were not in 2.2. I decided to lump them all in here instead of submitting different issues for each one.

Alien Vendetta: Map11

☑️ In Map11 of Alien Vendetta, deep water no longer displays properly.

☑️ At the beginning of the level is a barrier off to the right. You need to head into the cave and hit the switch at the top to lower and barrier and to continue the level. The barrier doesn't "lower" after hitting the switch, however you can walk through the barrier and continue as normal. The barrier looks properly constructed so I'm not sure what would cause this.

Alien Vendetta: Map14

☑️ In Map14 of Alien Vendetta, you're surrounded by blackness until you pick up the weapons in front of you at the start of the level and the walls around you open up. Doesn't appear to have a render hack on it, but it no longer displays properly.

Alien Vendetta: Map15

☑️ In Map15 of Alien Vendetta, near the start of the map, is a trap you're supposed to enter. When you enter the trap, the MIDBARS textures rise up from the lava and will lower when you activate a switch, but in the 2.3 release, the bars are already visible.

Alien Vendetta: Map23

☑️ There is an Arch-vile near the beginning of the map that rises from underneath the water. In the 2.3 release, there's a gap where the water is.

☑️ Finally, another issue appeared, although it doesn't seem to be caused by a render hack. This is also in Map23 of Alien Vendetta, at X/Y coordinates 800/1500. The lower textures on the floor in the middle of the water aren't rendered, leaving a black area. This renders fine in Doomsday 2.2.

☑️ There are a couple of issues I have found though, mostly related to the 3D bridges. Some of them are still rendered with floor textures on them, and with black or blank spaces on the bottom. The 3D bridge screenshots are also from Map23 of Alien Vendetta, in the castle.

Heretic: E1M1

☑️ Heretic E1M1: Secret door to the right of the start. The triangular lighting-only sector in front of the door is incorrectly linked to the door sector, making it extrude outwards.

Hexen: Map01

☑️ Noticed a new regression in Hexen map01, where the portal is leaking out...

Plutonia 2: Map01

☑️ There's this black spot right over the beginning of Map01, don't remember seeing that, right above the Plutonia 2 sign.

Plutonia 2: Map05

☑️ Plutonia 2 Map05: This is in the starting area In the background, you can see the Imp floating above the ground. If you climb up the steps to get out of the water, you'll climb up some invisible step, so the Imp appears to be on a heightened floor. This was confirmed later on when more monsters teleported into the area and when they killed, they were seemingly floating above the ground. Could this be caused by the nearby invisible 3D bridge?

Plutonia 2: Map10

☑️ In Map10, there are a ton of these holes in the floor, scattered across the level. I have a screenshot of the beginning of the level.

Plutonia 2: Map11

☑️ Plutonia 2 Map11: As a test, I played through Map11 of Plutonia, another map where you could fall through a 3D bridge. You can still fall through the 3D bridges here. In addition, I'm not sure if this is caused by a nearby render hack (as there are no 3D bridges nearby), but in the northern part of the map, the area with the Blue Key (-600, 2600) does not have its floor textures rendered properly or anything. There is a mini-maze to get to the Blue Key, so this makes it very difficult to get in and out, especially with the Arch-viles that teleport in.

☑️ Also, one of the ways to get it, at 50, 2400, there is a bloodfall that's rendered too high. You can walk through it to get into the Blue Key area.

☑️ In Map11, there's a pit where Arch-viles will pop up from underneath the floor when you approach them. You're not supposed to see into the pit, but you can here. I have encountered this across several other maps in Plutonia as well.

Plutonia 2: Map26

The black spot on the floor there is still visible. A fence eventually rises up where that black perimeter is.

Plutonia 2: Map29

☑️ Spiral staircase rendered incorrectly.

There is an invisible bridge located at -4400, -2100. There is a visible floor texture here when all you should be able to see is the sky below now renders correctly again, but there is another 3D bridge at the top of the staircase that is rendered incorrectly.

Plutonia Map07

☑️ The cages in the central part of the map are rendered incorrectly. An Arch-vile teleports into these cages and alternates between the two of them very rapidly after getting the Yellow Key.

Plutonia Map12

☑️ The area where the Chaingunners stand at is completely invisible at 800, -3200.

Plutonia Map24

There are black spots on the ceilings above the Arch-vile/Revenant cages that are suspended in midair.

General

☑️ Doomsday 2.3 seems to have to trouble displaying floor textures of a child sector, if the child sector has a different flat than its surrounding sectors. In this test map, you should see the word "TEST" spelt out on the floor, but you cannot see this in Doomsday. This appears to only happen if the child sector is of the same height as its parent sectors, the blue "2" in the back is displayed properly, at a lower floor height.

☑️ Doomsday appears to have issues applying the offsets of textures when the ceiling is a sky. Across from your starting point are some bars, they have a Y offset of -40 so you should only really see the top half of them, however, in Doomsday, they are completely visible.

avmap14.png (1.27 MB) avmap14.png sonicdoommario, 2019-12-14 21:11
avmap23.png (1.53 MB) avmap23.png sonicdoommario, 2019-12-14 21:11
avmap15.png (1.68 MB) avmap15.png sonicdoommario, 2019-12-14 21:11
avmap11.png (1.45 MB) avmap11.png sonicdoommario, 2019-12-17 04:28
avmap11-2.png (1.63 MB) avmap11-2.png sonicdoommario, 2019-12-30 05:53
avmap23-bridge-top.png (1.24 MB) avmap23-bridge-top.png sonicdoommario, 2019-12-31 08:50
avmap23-bridge-bottom.png (1.09 MB) avmap23-bridge-bottom.png sonicdoommario, 2019-12-31 08:50
pl2map29.png (857 KB) pl2map29.png sonicdoommario, 2019-12-31 08:50
avmap23-missingtextures.png (1.55 MB) avmap23-missingtextures.png sonicdoommario, 2019-12-31 08:50
pl2map05.png (1.51 MB) pl2map05.png sonicdoommario, 2020-01-01 05:27
pl2map11.png (1.11 MB) pl2map11.png sonicdoommario, 2020-01-03 01:32
pl2map11-2.png (1.16 MB) pl2map11-2.png sonicdoommario, 2020-01-03 01:32
hexen-000.jpg (580 KB) hexen-000.jpg Render hack misdetection in Hexen map01 skyjake, 2020-01-06 16:46
pl2map11-pit.png (1.39 MB) pl2map11-pit.png sonicdoommario, 2020-01-08 03:52
pl2map10.png (1.43 MB) pl2map10.png sonicdoommario, 2020-01-08 03:52
pl2map26.png (1.96 MB) pl2map26.png sonicdoommario, 2020-01-08 03:52
pl2map29bridge.png (1.25 MB) pl2map29bridge.png sonicdoommario, 2020-01-10 08:04
plutoniamap07.png (1.82 MB) plutoniamap07.png sonicdoommario, 2020-01-12 22:31
plutoniamap24.png (1.76 MB) plutoniamap24.png sonicdoommario, 2020-01-20 06:25
plutoniamap12.png (1.78 MB) plutoniamap12.png sonicdoommario, 2020-01-22 06:39
doomsdaytest.wad (8.21 KB) doomsdaytest.wad sonicdoommario, 2020-02-19 04:19

Related issues

Related to Feature #1603: Support for id Tech 1 map hacksProgressed2003-07-17

Associated revisions

Revision 55e4359a (diff)
Added by skyjake 4 months ago

Fixed|Heretic|Map Importer: Misdetected render hack in Heretic E1M1

IssueID #2370

Revision a016851a (diff)
Added by skyjake 3 months ago

Map Importer: Improved deep water detection

Improved self-referencing sector processing by allowing multiple partially self-referencing sectors to link together. This was needed for Alient Vendetta MAP11.

Revision e518130f (diff)
Added by skyjake 3 months ago

Fixed|Map Importer: Detecting self-referencing sectors

IssueID #2370

Revision b1eabb7d (diff)
Added by skyjake 3 months ago

Fixed|Renderer: AV MAP15 midbar lava trap

Render hack with masked middle textures. Bars that rise from lava to trap the player in Alien Vendetta MAP11.

IssueID #2370

Revision ec99f867 (diff)
Added by skyjake 3 months ago

Map Importer: AV MAP23 deep water containing an Archvile

If a sector has a self-referencing loop of lines, regardless of what else the sector has, it will be considered eligible for render hacks.

Fixes AV MAP23 where a deep water sector has a tiny additional section inside the nearby wall, disjoint from the self-referencing lines.

IssueID #2370

Revision d763a0bd (diff)
Added by skyjake 3 months ago

Fixed|Map Importer: Detecting self-referencing sectors

Put more weight on self-referencing line loops when it comes to detecting render hacks.

For example: AV map23 (x=800, y=1500) has a pool of regular shallow water, but a sequence of self-referencing lines cross the room for triggering an event. These self-ref lines should be ignored when detecting render hacks.

IssueID #2370

Revision 022839e0 (diff)
Added by skyjake 3 months ago

Map Importer: Attempt to detect 3D bridges

Self-referencing line loops must be simple loops, and not connect to multiple self-referencing lines at any vertex.

Fixes an issue in AV map05 sector 33.

IssueID #2370

Revision 341ddc22 (diff)
Added by skyjake 3 months ago

Map Importer: Adjusted self-referencing loop detection

IssueID #2370

Revision 9eca1f44 (diff)
Added by skyjake 3 months ago

Map Importer: Detecting self-referencing lines

Check for the use of middle textures.

IssueID #2370

Revision 8acc3bcc (diff)
Added by skyjake 3 months ago

Map Importer|World: Improved missing texture render hacks

Plane linking due to missing textures is now checked dynamically with regard to plane heights at any given time.

The hack detection is symmetric so that flat bleeding is detected both in floors and ceilings. The inverse case of invisible platforms/doors is likewise covered.

IssueID #2370

Revision b07555ea (diff)
Added by skyjake 3 months ago

Map Importer: Improved render hack detection

If a sector has self-referencing lines, they do not interfere with missing texture detection in the regular lines.

IssueID #2370

Revision 1f9e0dc0 (diff)
Added by skyjake 2 months ago

Fixed|Map Importer: Detecting self-referencing loops

A self-referencing loop that is fully contained inside the same sector should not be considered for render hacks.

For example: Plutonia map07 cages.

IssueID #2370

Revision f1b553a9 (diff)
Added by skyjake about 2 months ago

Fixed|World: Linking planes for render hacks

The logic for linking planes with matching heights was incorrect.

IssueID #2370

Revision c7802522 (diff)
Added by skyjake about 2 months ago

Fixed|Renderer: Offset for masked middle texture

Account for offsets in masked middle textures.

IssueID #2370

History

#1 Updated by skyjake 4 months ago

  • Category set to Vanilla emulation
  • Assignee changed from Deng Team to skyjake
  • Target version set to Rendering

#2 Updated by skyjake 4 months ago

  • Related to Feature #1603: Support for id Tech 1 map hacks added

#3 Updated by skyjake 4 months ago

  • Description updated (diff)

#4 Updated by skyjake 4 months ago

Another regression in Heretic E1M1:
  • Secret door to the right of the start. The triangular lighting-only sector in front of the door is incorrectly linked to the door sector, making it extrude outwards. ☑️

#5 Updated by sonicdoommario 4 months ago

Probably related to the AV Map23 deep water, but the deep water in a part of Map11 in Alien Vendetta no longer displays properly.

I'd also imagine this is the same hack for Map29 of Plutonia 2, which has a spiral staircase after passing through the three colored doors.

#6 Updated by skyjake 4 months ago

  • Description updated (diff)

#7 Updated by sonicdoommario 4 months ago

For a quick update, I did a test with the latest build that includes the fix for the Arachnotrons in TNT Map31, and checked all of the issues listed here. The issue with the start of Map14 of Alien Vendetta is now resolved.

#8 Updated by skyjake 4 months ago

  • Description updated (diff)

#9 Updated by skyjake 4 months ago

Cool, thanks for testing.

#10 Updated by skyjake 4 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

#11 Updated by skyjake 3 months ago

  • Description updated (diff)
  • % Done changed from 10 to 30

Commit a016851ad9994f makes self-referencing sector detection more sophisticated so the deep water in AV map11 works correctly. It is possible that other render hacks were affects, so testing is needed again.

#12 Updated by sonicdoommario 3 months ago

Had a chance to test, the deep water in that map is resolved, however, another issue seemed to pop up. At the beginning of the level is a barrier off to the right. You need to head into the cave and hit the switch at the top to lower and barrier and to continue the level. The barrier doesn't "lower" after hitting the switch, however you can walk through the barrier and continue as normal. The barrier looks properly constructed so I'm not sure what would cause this.

I did double-check the other issues mentioned here (in case they were all stemming off the same problem) and they still remain broken (I know the spiral stairs in Plutonia 2 Map29 displayed properly in 2.2, for example).

#13 Updated by skyjake 3 months ago

sonicdoommario wrote:

Had a chance to test, the deep water in that map is resolved, however, another issue seemed to pop up. At the beginning of the level is a barrier off to the right. ... The barrier doesn't "lower" after hitting the switch

Indeed, the self-referencing sector detector was misidentifying some sectors. Now the barrier should be fixed, too.

#14 Updated by skyjake 3 months ago

  • Description updated (diff)

#15 Updated by skyjake 3 months ago

  • % Done changed from 30 to 50

#16 Updated by skyjake 3 months ago

  • Description updated (diff)
  • % Done changed from 50 to 70

Further self-referencing line detection improvements to account for the case of AV MAP23.

Please test again and see if further render hack issues remain.

#17 Updated by sonicdoommario 3 months ago

Did a decent amount of testing and the issues initially reported all appear to be resolved. Even issues I was going to report after this round of testing seem to be taken care of now, mostly related to invisible bridges. There are a couple of issues I have found though, mostly related to the 3D bridges. Some of them are still rendered with floor textures on them, and with black or blank spaces on the bottom. The 3D bridge screenshots are also from Map23 of Alien Vendetta, in the castle.

I have also attached a screenshot from Map29 of Plutonia 2. The spiral staircase now renders correctly again, but there is another 3D bridge at the top of the staircase that is rendered incorrectly.

Finally, another issue appeared, although it doesn't seem to be caused by a render hack. This is also in Map23 of Alien Vendetta, at X/Y coordinates 800/1500. The lower textures on the floor in the middle of the water aren't rendered, leaving a black area. This renders fine in Doomsday 2.2. ☑️

Think we're almost there...

#18 Updated by skyjake 3 months ago

  • Related to Bug #2258: [Doom] Falling through 3D bridges added

#19 Updated by skyjake 3 months ago

  • Related to deleted (Bug #2258: [Doom] Falling through 3D bridges)

#20 Updated by sonicdoommario 3 months ago

Found an oddity playing Map05 of Plutonia2. This is in the starting area In the background, you can see the Imp floating above the ground. If you climb up the steps to get out of the water, you'll climb up some invisible step, so the Imp appears to be on a heightened floor. This was confirmed later on when more monsters teleported into the area and when they killed, they were seemingly floating above the ground. Could this be caused by the nearby invisible 3D bridge? ☑️

#21 Updated by skyjake 3 months ago

sonicdoommario wrote:

Finally, another issue appeared, although it doesn't seem to be caused by a render hack. This is also in Map23 of Alien Vendetta, at X/Y coordinates 800/1500. The lower textures on the floor in the middle of the water aren't rendered, leaving a black area. This renders fine in Doomsday 2.2.

I fixed this by tuning the self-referencing sector detection. Hopefully it didn't break any of the deep water hacks.

Still need to look at the other issues...

#22 Updated by skyjake 3 months ago

sonicdoommario wrote:

Found an oddity playing Map05 of Plutonia2. This is in the starting area In the background, you can see the Imp floating above the ground.

Yep, it's the 3D bridge in sector 33 that's causing the entire sector's floor to be incorrectly linked. I need to add a proper 3D bridge detector to the map importer to get around this.

#23 Updated by skyjake 3 months ago

  • % Done changed from 70 to 90

I added a test that can detect these 3D bridge constructs with some success. Now the AV map05 sector 33 floor is no longer rendered at the wrong height.

3D bridges in general could be rendered a lot better, though. It's outside the scope of this issue, but an extra plane should be drawn at the bridge height (#1585).

#24 Updated by sonicdoommario 3 months ago

The 800/1500 area in Map23 of Alien Vendetta now renders properly, didn't see anything else broken as I was running through other maps.

Checked out Map05 of Plutonia 2 and the floor near the 3D bridge is no longer at the wrong height. You no longer fall through the 3D bridge either when standing on it.

As a test, I played through Map11 of Plutonia, another map where you could fall through a 3D bridge. You can still fall through the 3D bridges here. In addition, I'm not sure if this is caused by a nearby render hack (as there are no 3D bridges nearby), but in the northern part of the map, the area with the Blue Key (-600, 2600) does not have its floor textures rendered properly or anything. There is a mini-maze to get to the Blue Key, so this makes it very difficult to get in and out, especially with the Arch-viles that teleport in. ☑️

Also, one of the ways to get it, at 50, 2400, there is a bloodfall that's rendered too high. You can walk through it to get into the Blue Key area. ☑️

#25 Updated by skyjake 3 months ago

Made some tweaks again, the Plutonia 2 map11 issues should be resolved.

#26 Updated by skyjake 3 months ago

Noticed a new regression in Hexen map01, where the portal is leaking out... ☑️

#27 Updated by skyjake 3 months ago

  • % Done changed from 90 to 80

#28 Updated by skyjake 3 months ago

I addressed the Hexen map01 issue by disabling self-referencing line detection in case the lines have middle textures. I wonder if there are any maps where deep water is used together with middle textures along the self-referencing lines?

It would be better to check if a self-ref loop is contained within the sector polygon that is formed by the regular lines of the same sector. That would more reliably determine if a render hack is being applied.

#29 Updated by sonicdoommario 3 months ago

Did some testing with the latest build. Mostly looking into Plutonia 2, but there were a couple of things remaining from Alien Vendetta, mainly the black spots underneath the 3D bridges in Map23. Also, in Map15, where the trap is at the beginning of the level, it looks like the bars lower first, and then you can see the top of another sector lower after that. You're not able to escape until that second barrier lowers. In Vanilla Doom, all you can see are the bars lowering.

For Plutonia 2, there's a couple of other issues I have encountered:

-There's this black spot right over the beginning of Map01, don't remember seeing that, right above the Plutonia 2 sign. ☑️

-In Map10, there are a ton of these holes in the floor, scattered across the level. I have a screenshot of the beginning of the level. ☑️

-In Map11, there's a pit where Arch-viles will pop up from underneath the floor when you approach them. You're not supposed to see into the pit, but you can here. I have encountered this across several other maps in Plutonia as well.

-In Map26, there's a black area around a sector that eventually rises up when you return to this area. Found at 2800, -400.

#30 Updated by skyjake 3 months ago

Thanks again for testing. Looks like many of these black spots are actually floors that appear at the incorrect height, like in the start of Plutonia 2 map10. It's a problem with detecting flat bleeding due to missing textures. I'll have to take a closer look and maybe rethink the detection a bit, so it doesn't trigger on normal structures and also has some support for changing floor heights.

#31 Updated by skyjake 3 months ago

Next build has a significantly improved missing texture detection for render hacks, so it works in all the cases of flat bleeding in floor/ceiling, and for invisible platforms/doors. I quickly ran through the previous test cases in this issue, and didn't notice regressions. Many black holes in Plutonia 2 seem to be fixed.

#32 Updated by skyjake 3 months ago

sonicdoommario: You should be able to edit the issue description. Could you add all the remaining cases to the main issue description, since this discussion is getting a bit long? Alternatively, we could start a "Render Hack Regressions - Part 2" continuation issue.

#33 Updated by sonicdoommario 3 months ago

  • Description updated (diff)

#34 Updated by sonicdoommario 3 months ago

  • Description updated (diff)

#35 Updated by sonicdoommario 3 months ago

I was able to edit the description and get all of the resolved issues added in. Only problem is that some of the issues show up in a box with a horizontal scrolling bar, not sure how to make that go away.

The only remaining issues I have are in Map26 of Plutonia 2, where the black spot on the floor there is still visible, even with all the other ones gone (a fence eventually rises up where that black perimeter is). The other issue is in Map29 of Plutonia 2, there is an invisible bridge located at -4400, -2100. There is a visible floor texture here when all you should be able to see is the sky below:

#36 Updated by skyjake 3 months ago

  • Description updated (diff)

Thanks! Edited the formatting a bit to remove the boxes, and added the remaining PL2 issues.

#37 Updated by sonicdoommario 3 months ago

Did some testing in Plutonia, in Map07, the cages in the central courtyard (in the map's starting area) no longer render properly. When you get the Yellow Key, an Arch-vile teleports into those cages and alternates between the two until you can kill it.

#38 Updated by sonicdoommario 3 months ago

Wanted to throw in another regression I encountered, this one in Map24 of Plutonia. This map has cages with Revenants and Arch-viles floating in mid-air, and two can be found at the beginning of the map. In the 2.3 releases, there are black spots of the sectors that can be seen on the ceiling.

#39 Updated by sonicdoommario 3 months ago

Encountered this one in Map12 in Plutonia, diagonally across from the exit (at 800, -3200). The area that the Chaingunners stand on is completely invisible and not displayed properly. Looking at the map, the areas where the Chaingunners are enclosed with block monster lines are part of the same sector as the overall area, but it doesn't appear any special hacks are used here.

#40 Updated by skyjake 3 months ago

sonicdoommario wrote:

Looking at the map, the areas where the Chaingunners are enclosed with block monster lines are part of the same sector as the overall area, but it doesn't appear any special hacks are used here.

Yeah, this case is not properly detected at the moment. It is similar to the Hexen map01 issue, where you have self-referencing line loops inside a regular sector. I need to add a special case for this in the hack analyzer.

#41 Updated by skyjake 2 months ago

  • Description updated (diff)

#42 Updated by sonicdoommario 2 months ago

  • Description updated (diff)

Just tested the latest fix, the Plutonia Map07 issue is now resolved, in addition to the Chaingunner floor not being rendered in Plutonia Map12. Just see a couple of issues remaining now...

#43 Updated by skyjake 2 months ago

  • % Done changed from 80 to 90

#44 Updated by sonicdoommario about 2 months ago

Decided to test Doomsday 2.3 with my own WAD and maps I have created. While they don't use too many render hacks, there were some rendering issues in areas where there's weren't any render hacks in use. Instead of uploading the entire WAD here, I created a test map (can't think of any Doom maps off the top of my head where these issues can happen) and have attached it here.

The two biggest issues that I found:

- ☑️ Doomsday 2.3 seems to have to trouble displaying floor textures of a child sector, if the child sector has a different flat than its surrounding sectors. In this test map, you should see the word "TEST" spelt out on the floor, but you cannot see this in Doomsday. This appears to only happen if the child sector is of the same height as its parent sectors, the blue "2" in the back is displayed properly, at a lower floor height.

EDIT: An example of this issue in a Doom map is Map05 of Doom II, in the closets in the center of the map (around 1600, -200). The arrows on the floor pointing to you which doors the switches in these closets open are not visible.

- ☑️ Also, Doomsday appears to have issues applying the offsets of textures when the ceiling is a sky. Across from your starting point are some bars, they have a Y offset of -40 so you should only really see the top half of them, however, in Doomsday, they are completely visible.

This is simply Map01 and has one room, hope this helps.

#45 Updated by sonicdoommario about 2 months ago

  • Description updated (diff)

#46 Updated by skyjake about 2 months ago

Thanks for the test map, I will take a look.

#47 Updated by skyjake about 2 months ago

Applied fixes for the doomsdaytest.wad issues, hopefully breaking none of the render hacks.

#48 Updated by skyjake about 2 months ago

  • Description updated (diff)

Also available in: Atom PDF