1.197.168 | REGRESSION | Fix programmable block sprite streaming for clients
In update 1.197.168, the attribute [DistanceRadius(32f)] was added to the OnUpdateSpriteCollection() event that is responsible for syncing sprites drawn by programmable blocks.
In less code speak: This means that if you take control of a grid and your screen is more than 32 meters from its center, you will not receive sprite updates. Yes.... 32 meters.
This is very easy to demonstrate: https://gfycat.com/playfuluniquedog
Note how when I hop out of the seat, everything works fine. This is because the game is using my player to check the distance to the screens. However, when I hop in a seat, sprites stop updating. This is because when you take control of the grid, the game uses the center of the grid, not your player, to check the distance to the screens. Clearly any large ship can have seats further than 32 meters from the center...
Please Keen, for the love of all that is sacred, find a better way to reduce network traffic. This implementation cripples the utility of in-game scripts, and is already being noticed by script users.
World is attached:
- Start the world in a Dedicated Server
- Join as a client
- Sit down in the seat and observe that the sprites stop updating. They no longer get synced.
- Get out of the seat. Observe that the sprites start updating again.