ID:2884157
 
Resolved
Recursion protection for vis_contents didn't take VIS_HIDE into account.
BYOND Version:515.1612
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 115.0.0.0
Applies to:Dream Daemon
Status: Resolved (515.1613)

This issue has been resolved.
Descriptive Problem Summary:
Object doesn't get added into the `vis_contents`, if there is a render loop where the object has been flagged with `VIS_HIDE`.

NOTE: Sent the test case to LJ's DM on Discord.

Numbered Steps to Reproduce Problem:
Object gets added to into the `vis_contents`.

Code Snippet (if applicable) to Reproduce Problem:
// Works
var/obj/fg = new
vis_contents += fg // Adds to the vis_contents
fg.blend_mode = BLEND_INSET_OVERLAY
fg.appearance_flags = KEEP_TOGETHER | PIXEL_SCALE
fg.vis_contents += block(locate(portal.x, portal.y, portal.z), locate(portal.x + 2, portal.y + 2, portal.z))

// Doesn't work
var/obj/fg = new
fg.blend_mode = BLEND_INSET_OVERLAY
fg.appearance_flags = KEEP_TOGETHER | PIXEL_SCALE
fg.vis_contents += block(locate(portal.x, portal.y, portal.z), locate(portal.x + 2, portal.y + 2, portal.z))
vis_contents += fg // doesn't add into vis_contents


Expected Results:

Actual Results:


Does the problem occur:
Every time? Or how often? Yes
In other games? Yes
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?
When you add the object before you add the `vis_contents` contents of the `fg` object.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Yes

Workarounds:
Add the contents to the `fg` object before adding it to the root object.

Can you point me to the zip for that? When test cases are sent on Discord they're easily lost later on, and hard to keep track of which zip goes with which bug report.
Posted a reply to the DM with the link to this post.
Lummox JR resolved issue with message:
Recursion protection for vis_contents didn't take VIS_HIDE into account.