mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-08 08:42:31 +00:00
ce2c3292c6
The original client used single precision mode on Windows and the default mode on all other platforms. Most platform (at least OS X, FreeBSD, NetBSD up to 6.0, OpenBSD and Solaris) set double precision as default, Linux sets extended double precision... When playing a network game there're several possibilities: * Same precision on both sides: This one is okay, of course. * single precision <-> double precision: This one is okay, too. I guess this is because the code allows a small deviation between client and server to work around imprecisions introduced be the network protocol. * double precision <-> extended double precision: This one is okay, likely for the same reasons given above. * single precision <-> extended double precision: This one gives a lot of misspredictions at client side. All of these are more or less academic these days. Yamagi Quake II used the platforms default mode for ages. And both gcc and clang default to SSE2 math (with double precision as default on all platforms) when compiling for amd64. So the only reasonable case is Linux/i386 on one side and the original client or another source port on Windows/i386 at the other side. Work around this by forcing the x87 to double precision mode. |
||
---|---|---|
.. | ||
backends | ||
client | ||
common | ||
game | ||
server |