https://bugs.winehq.org/show_bug.cgi?id=8051
--- Comment #132 from swswine@gmail.com --- (In reply to Jason Mills from comment #130, Luke Horwell from comment #131)
I do not see my patch as the fix, even as a workaround fix actually. It just effectively makes possible to see in the log what features are missing. To fix the problem, the features must be implemented (ProcessVertices in shader mode at the first place, maybe something else). Once again, what's happening:
1. In the original wine state (even after workarounding crash on start), no shaders for the object can be used because none of shaders pass validation. In this state, the game fallbacks to the default "error" shader which draws red models. My patch fixes this. After that the things may really get worse in terms of gameplay (e. g. models not rendering at all), because the use of real shaders trigger some features unsupported in wine. But the log now should be full of indication what goes wrong and it is relatively easy to see which features are missing).
2. In my version of Sims2 limiting shader version to 2 made things better and models began to render OK. It does not mean it will help on any Sims2 installation and any hardware. Sims2 has the shaders code in the objects definition in the game's resources, so games of different versions or just using different mods may behave differently. Some of those resources also have different shaders version for different capabilities (e. g, some may support vs_3_0 and vs_2_0, and some just vs_3_0). Besides, the game has a complicated features setup based on graphic card and it's capabilities detection (this can be altered manually in game's text files).
So I think the feasible way to go is to fix ProcessVertices first (it seems that even when I limit vertex shader version to 2.0 and get models rendered OK initially it is still used within the game effects for which I also have glitches). After that (along with some fix or workaround for max shader constants and for shader validator interface which are currently in my patch) the game will either work or can be further troubleshooted for remaining missing features in wine.