Descriptive Problem Summary:
I wrote a simple little system that allows you to see down to another Z level in a DMM. It for the most part works pretty well. When I stand still, I'm getting consistent rendering results, but when I start moving around, there's all kinds of garbage left on screen.
This issue's really hard to explain, so I've included a gif of the problem in action:
And per usual will attach a test case in a few minutes once I sync changes to my libraries.
Runegate.dme is the one you want to be building and running this time.
Ter13.AutotileLib, Ter13.StdLib, Ter13.ControlLib are all required to properly compile and run this simplified test case:
http://files.byondhome.com/Ter13/Bug1392.zip
ID:2309006
Oct 26 2017, 2:39 am
|
|||||||||||||
Resolved
| |||||||||||||
Hmm, was one of those libs updated but not uploaded? I'm getting a number of errors:
Runegate.dm:59:error: binds: undefined var I looked at ControlLib and it doesn't define the binds var or /keybind datum. |
I've got one client connected on Z-level 1, and one connected on Z-level 2. Z-level 1 is full of standard turfs and objs. Z-level 2 has a special kind of /turf laid over the parts of it that aren't walkable called /turf/see_down.
The only thing this turf does is add the turf one Z-level below it to its own vis_contents when the PostInit() event fires (This means basically that the map is done initializing, and scheduled post-init tasks are being fired.
I do this in PostInit() because turf/New() technically causes the top layer to init before the bottom one.
As you can see, the player on Z-layer 2 can see the player on Z-layer 1, but the player on Z-layer 1 can't see the player on Z-layer 2. This is by design. But you'll also notice the player on z-layer 2 sees his map get all jacked up when he moves around the world a bit. Chunks of the world just plain show up in the wrong places.