Game Development Community

Mac -> PC Not Working

by Jeremy Alessi · in Torque Game Engine · 09/05/2005 (5:48 pm) · 8 replies

My game is fine playing PC -> PC. Additionally, the game seems to run fine on the Mac alone. However, when I try to have a Mac->PC multiplayer game the joining computer will crash (doesn't matter if Mac or PC host) when attempting to load datablocks with no decent error in the log or if I use a debug build for the engine. Any pointers would be greatly appreciated.

#2
09/06/2005 (8:48 am)
DSO compatibility would not affect this.

What version of Torque are you using?
#3
09/06/2005 (9:00 am)
Have you added any new source files? I run in to this problem if I forget to include new source files in the Mac build that I included in the PC build.
#4
09/06/2005 (4:42 pm)
Yeah, there are new source files ... however everything the source does seems to be working fine and I've also transferred over most of the Engine folder so they are running all the same code except for the platform code.
#5
09/06/2005 (4:56 pm)
Also, I haven't copied any .dso's from the PC to the Mac, I delete all of them first and then recompile them all on the Mac so it shouldn't be a script error.

The error popping up is similar to what we had even between PC's a week ago. It turned out that we didn't include pack and unpack data functions for a new object. Once we added them then it worked between PC's ... Now though even with those functions the Mac and PC are doing the same thing. The host sees the client join for a split second and his name pops up etc... but then just as the datablocks load it jumps out.
#6
09/16/2005 (3:46 am)
Does Torque enforce any endian-ness on it's network transmission/receipt? Because while DSO compatibilty doesn't necessarily affect this, the underlying reason for it would (the fact that Intel's are little-endian and power pc's are big endian).
#7
09/17/2005 (8:35 pm)
Yes, Torque's networking is endian safe. Unless you do something silly like write out buffers directly; all the typed stuff is safe.
#8
09/18/2005 (4:32 am)
Are you writing/reading 64-bit values in a packUpdate/unpackUpdate or writePacketData/readPacketData? That could have been effected by 64-bit values not being endian safe.