[ssam] Serious Sam: The First Encounter - Linux Vs. Windows
Tobias Jakobi
liquid.acid at gmx.net
Wed Jul 9 09:12:57 EDT 2008
Ryan C. Gordon wrote:
>
>> On the other hand when a linux user is hosting the server through wine
>> the linux clients can connect, but not the windows clients. Maybe this
>> is not only related to wine's network code emulating windows
>> behaviour, but probably the problem lies deeper (since you mention
>> floating point matching; recently a D3D bug was fixed that had to do
>> with FP math: http://bugs.winehq.org/show_bug.cgi?id=13225 - this one
>> came to my mind when I read your post).
>
> Without research, I'd guess that Wine doesn't change the FPU precision
> (which DirectX does by default behind the scenes). But I could be wrong.
>
> It was a terrible, inexcusable design decision on Microsoft's part, and
> has caused everyone trouble: Windows developers, Linux people, Wine
> people...
>
> The Sacrifice bug report is possibly related, but it's hard to say.
> Precision issues are nasty.
>
> As far as Serious Sam goes: basically, one machine adds two numbers and
> comes up with 0.385419, the other comes up with 0.385420, and it's fine
> for game play, but since it's not a perfect match, the game thinks you
> have incompatible data and refuses to connect. It's not an FPU precision
> setting, or a bug in gcc...if you shuffle around the order that the math
> instructions run, you'll get a different result, so even a Debug and
> Release build of the Windows version probably became incompatible with
> each other.
>
> There was discussion of ways to fix this with Croteam, many years ago,
> but they were already done with Serious Engine 1 when we got to that
> point, and didn't want to patch the Windows client to fix it.
>
> My guess is that Wine, vmware, the Linux port, and probably the official
> win32 binaries on some yet-unannounced version of Windows will all have
> this problem. It's not a bug in Wine, it's just a bug that never bit
> Croteam on Windows.
>
> --ryan.
>
>
>
> ---
> To unsubscribe, send a blank email to ssam-unsubscribe at icculus.org
> Mailing list archives: http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?29
>
>
Hi Ryan,
thanks for you explanation. Can I attach our conversation to the wine
bugtracker?
I hope someone with insight into the way wine handles changes to the FPU
sees a way to fix this problem.
Greets,
Tobias Jakobi
More information about the ssam
mailing list