Descriptive Problem Summary:
VIS_UNDERLAY still fails to underlay objects.
Numbered Steps to Reproduce Problem:
1) Add the VIS_UNDERLAY flag to a /mob or /obj on a turf.
2) Add the turf to a translucent turf's vis_contents.
3) Observe how the object is above the translucent turf.
Code Snippet (if applicable) to Reproduce Problem:
https://cdn.discordapp.com/attachments/387073926045368320/ 811397659159035919/vis_issue.zip
Expected Results:
Objects appear below the turf
Actual Results:
They appear above
Does the problem occur:
Every time? Or how often? Yes
In other games? N/A
In other user accounts? N/A
On other computers? N/A
When does the problem NOT occur?
N/A
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Forever as far as I know
Workarounds:
Setting everything to VIS_INHERIT_PLANE and creating a bunch of separate /atom/movables on the turf to hold the vis_contents with decreasing plane height so objects stack correctly
ID:2656004
![]() Feb 16 2021, 5:51 pm
|
|||||||||||||
Not a bug
| |||||||||||||
![]() Feb 16 2021, 10:28 pm
|
|
Thanks. I'll take a look at your test case and see what's up.
|
There is no bug here. The objects are maintaining their original layers. Adding VIS_INHERIT_LAYER to the open space doesn't really help, though, because the way the open spaces are handled is fundamentally incorrect.
What you need to do for a lower level to display from a higher one is to use an object with KEEP_TOGETHER to lump each turf and all its contents—or better for rendering, a whole group of turfs, maybe every 8 or 10 tiles or so. Here's an approach that will work (updated, code has been tested): #define LOWER_FLOOR_PLANE -100 // first plane for lower floors That code requires that the turf/openspace/New() you have be removed. |
Apparently I just didn't understand what underlays did. I thought they forced an object to be rendered under it, but that only works if it's FLOAT.
The KEEP_TOGETHER mention helped though |
A word of warning: While testing the code I provided I discovered two bugs with visual bounds that are a bit of a problem. So the solution I provided will work more properly in 514.1548.
[edit] I thought there was a workaround but apparently I was wrong. Anyway the visual bounds issue will be fixed in the next release. One workaround that might work is to give the floorpost object a transparent icon that's 320x320. |