https://bugs.winehq.org/show_bug.cgi?id=39347
Bug ID: 39347 Summary: World of Warships 0.4.x/0.5.x: incorrect water surface height calculated for unknown reasons, causing ships to appear floating in the air Product: Wine Version: 1.7.51 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Created attachment 52441 --> https://bugs.winehq.org/attachment.cgi?id=52441 focht's nagato "floating" in port after return from game (water surface level too low)
Hello folks,
that game got me hooked up at bit (= less time on bugs *g*). Unfortunately I frequently encounter a nasty in-game bug that surfaces after a certain amount of time/actions.
I created a support ticket at wargaming.net with screenshots along with some information. The ticket hang in pending queue for ~1 week only to be answered by a generic form "please update your graphics drivers". Oh well.
I mentioned this issue during talks with WineD3D folks at WineConf 2015. It seems this issue was already known to CodeWeavers (Stefan Doesinger, Matteo Bruni, Caron Wills).
It's not known yet if this is a Wine bug, a bug with the wargaming engine or graphics drivers.
There was a hint from Caron to try "low" water rendering setting but I figured out the bug is present there too but much less noticeable (smaller water surface "drop" value).
It seems I could force the in-game water surface level drop multiple times by moving the ship near an island/land mass and then zoom in/zoom out with island in view (couldn't reproduce consistently though). If the water drop happened once - it stayed forever - even the ships in port floated in the air. Exiting and restarting the client solved the issue.
I encountered the bug with WoWS 0.4.0 upgrade for the first time. Previous 0.3.x version didn't show it but also crashed more frequently hence there never was a time when the client ran for consecutive (hour long) game sessions.
I briefly looked at the game engine and found some game engine locations related to water rending properties along with their float representations. Since I didn't want to mess up my account by live-debugging/dumping game engine data (which could be considered hacking) I refrained from doing further investigation. A builtin offline simulation mode would have been nice ... but well.
Tested with recent Wine 1.7.5x version. Graphics used for testing (all exhibit the same problem):
Intel Haswell HD4600 with FOSS Intel/Mesa:
---- snip --- OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.3 (git-ccef890) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 10.6.3 (git-ccef890) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.3 (git-ccef890) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: ---- snip ---
NVIDIA GeForce GTX 850M, NVIDIA binary drivers (via optimus):
---- snip --- OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 850M/PCIe/SSE2 OpenGL core profile version string: 4.4.0 NVIDIA 352.21 OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5.0 NVIDIA 352.21 OpenGL shading language version string: 4.50 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: ---- snip ---
NVIDIA GeForce GT 425M with FOSS Nouveau/Mesa:
--- snip --- $ glxinfo | grep -i opengl OpenGL vendor string: nouveau OpenGL renderer string: Gallium 0.4 on NVC1 OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.3 (git-ccef890) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 10.6.3 (git-ccef890) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.3 (git-ccef890) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: --- snip ---
Attached are some screenshots.
Regards