diasurgical / devilutionX

Diablo build for modern operating systems
Other
8.08k stars 796 forks source link

Part of stairs are not being rendered in Caves and Hell #7420

Closed Chance4us closed 1 month ago

Chance4us commented 1 month ago

Operating System

Linux x64

DevilutionX version

Custom build (commit 8970eaa)

Describe

We have a bug with a mirroring effect at the level exit in hell since commit 2580cd7b688b59ba761de4820e6a0f2fda646db2.

How it looks like: mirroring

Savegame: mirroring.hsv.zip

To Reproduce

Compile the affected commit and look at the marked area while running around.

Expected Behavior

No response

Additional context

No response

AJenbo commented 1 month ago

image image

glebm commented 1 month ago

Broken hell tile: Screenshot from 2024-09-27 06-39-47

Broken caves tile: image

glebm commented 1 month ago

While the hell one can be fixed by checking for BlocksMissile in isWall, the caves one cannot be fixed that way (it doesn't have BlocksMissile).

I think a proper fix is to not treat stairs as floor at all (they're not solid but the graphics are not laid out as floor graphics). Unfortunately, there is no quick and easy way to check for that, and we're out of bits in TileProperties (can't add new flags).