AttacqueSuperior / Engine

A customized fork for the modification Attacque Supérior of the open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL. Runs on Windows, Linux and Mac OS X.
http://attsup.swr-productions.com
GNU General Public License v3.0
16 stars 3 forks source link

ResourceTwinkleLayer may desync in multiplayer #109

Closed Mailaender closed 3 years ago

Mailaender commented 3 years ago

https://github.com/AttacqueSuperior/Engine/blob/97634c02a3bee694ecb0e5f8b970de7f1c2d396d/OpenRA.Mods.AS/Traits/World/ResourceTwinkleLayer.cs#L105

and other cases of using shared random in viewport dependent code were discovered during review. https://github.com/OpenRA/OpenRA/pull/18711#discussion_r711581362

GraionDilach commented 3 years ago

I think my version predates the split of resourcelogic vs resourcerenderer layers. Additionally, when I coded this, I intended this to be a logic layer, not a renderer layer (incase someone wants to tie actual logic at one point, like, say tiberium gas emitting to poison infantry) which is why I went with the shared aspect (and I didn't use viewpoint-dependent code in the logic tick for sure).

I don't mind the migration per se and I can see why this change was made, but I don't think this report is appropriate for this repository.