ID:1531731
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Currently, BYOND handles the view by not drawing anything that the client cant see. This method is dodgy at best, horrible looking at worst.

I would like a few variables that can be set to allow a specific icon at a specific layer to be drawn over any turf the client cant see, this, in conjunction with enabling all sight flags, would open up for a way to handle visibility that doesn't lead to extremely arbitrary limitations (such as icons bigger than the world icon size not displaying properly in any manner what so ever, side view mode lighting being absolute madness to code, the list goes on)
This would certainly be nice.

I had a similar system I needed to write, that made anything not visible show up as a "blueprint" design. It may suffice as a workaround for you.

The key is that you design the map using turfs normally, but set the player's sight to SEE_TURFS. This way, turfs will -always- show up. Then, during world/New(), for each turf create a stand-in /obj with its icon, opacity, density, etc, and set the icon of the underlying turf to your stand-in. Now you'll have a functional way to see a "standard" image for anywhere you can't see, and regular turf graphics for what you can.
Sadly wont work for me, it would also be slow as hell and grind the game to a halt
I can safely say the latter point is not true; it worked perfectly fine in multiplayer, even on a ~400ms ping connection to Australia
This would be rather iffy. In topdown mode, unlit tiles are handled by drawing a black tile over them. In the old BYOND 3.0 days, when pixel offsets were barely a thing, each individual tile set its own clipping zone so there were some cool hybrid effects when SEE_TURFS was on (in one game Lexi made for instance, mobs that wandered out of sight seemed to just disappear into the map). But this method of doing things wasn't sustainable for the long haul and was ditched.

With the current code, you'd need to be able to clip to just the unlit turfs and then draw the overlapping icons again within that region. (We already do something similar with screen objects that are outside of regular map bounds, by drawing those unclipped and then drawing the whole map within its clipped bounds.)