[ssam] Status on SS:TSE ??

Ryan C. Gordon icculus at clutteredmind.org
Sat Oct 18 20:47:01 EDT 2003


> Rubbish. They have an existing network protocol that works. The Linux

It's not rubbish. The existing protocol does checksums of various data, 
including floating point numbers, which don't have the same precision on 
Linux and Windows...the numbers come out differently depending on 
several factors (what DirectX set the precision control word to on 
Windows, the order of opcodes in the instruction stream, etc...) GCC and 
Visual C will never precisely hit the same precision for any given 
calculation, since they don't generate identical code for any given C 
expression. This is true between Debug and Release builds from Visual C, 
too.

This isn't generally a problem, because packet by packet, the average 
shooter doesn't care about the precision of a floating point number down 
to the least significant decimal point, but when you look at it as a 
block of bits, it makes a huge difference. If the checksum was totally 
disabled, then the Linux and Windows clients can talk fine...sadly, this 
isn't an option without a new Windows build.

> There's not a lot *anyone* except Ryan can do, since none of us have
> the source code! Short of writing a proxy to convert between the two
> network protocols...

Same protocol, different results for crucial calculations...there's not 
a lot I can do, either.  :(

--ryan.






More information about the ssam mailing list