http://bugs.winehq.org/show_bug.cgi?id=21165
--- Comment #15 from Erich Hoover ehoover@mines.edu 2010-02-17 13:48:46 --- (In reply to comment #14)
... As can be deduced from the debug output, I simply 'deactivated' the affinity mask for the time being...and what happen? --> Got 40/70/40/40 CPU usage and 30-40 fps, which is actually quite playable.
Did you add custom debug messages to see this? I don't see any debug messages for SetThreadAffinityMask in git.
It looks like the game sets the thread to use specific processors and then later tries to set the thread to "ALL" processors. According to MSDN, and as seen in Wine, this should cause an ERROR_INVALID_PARAMETER. However, it's entirely possible that what really happens on Windows is that ((DWORD_PTR)-1) is a legit "ALL" request.