In netris.h there's definition of netint2 and netint4 with comment: /* * The following definitions are to ensure network compatibility even if * the sizes of ints and shorts are different. I'm not sure exactly how * to deal with this problem, so I've added an abstraction layer. */ typedef short netint2; typedef long netint4; However long (netint4) has 8 bytes on x86-64, and 4 bytes on x86 netint4 is used to send program version, version of protocol. and also (which is more critical) to send seed and interval BTW. author is writing about it on ftp://ftp.netris.org/pub/netris/netris-README ,Netris should build cleanly on 64-bit systems such as the Alpha, although you might need to edit the definitions for netint{2,4}, hton{2,4}, and ntoh{2,4} in netris.h.' So if you play game on your own amd64 machine with somebody who has got x86 you'll got other pieces than your opponent, and if both of you set same -i option you'll get: "Your opponent's version of Netris predates the -i option. For fairness, you shouldn't use the -i option either." because on x86-64 seed OFFSET is +8 and inteval OFFSET is +16 and on x86 seed OFFSET is +4 and interval OFFSET is +8 I think we should use int32_t for netint4, and int16_t for netint2 declared in <sys/types.h> [which should be portable on all systems] or use int for netint4, and short for netint2 [which is the same size for x86 and x86-64, don't know what about 16bit systems]
The games team can add amd64@g.o back to CC to provide additional testing if so desired. Until then, nothing for amd64 to do. Thanks.
should be fixed