I've started a Google Docs spreadsheet listing every project/directory in Plasma and what the compile status is for Linux: https://docs.google.com/spreadsheet/ccc?key=0Aln-usiKgkEadE5YamhzTDJJdy1FU1IwRV9ORUdxUEE
Right now (I think) I'm the only person trying to build on Linux, but Deledrius has taken a shot a few times on Mac and seems to have similar results. Although I'd love to claim the credit, reality is that most of this is possible due to code cleanups by branan, Deledrius, and Hoikas.
Some exciting pieces of news:
- plPythonPack works, which will give MOSS and DirtSand shard operators a way to compile their Python.pak files
- plFileEncrypt works to encrypt and decrypt xTEA (whatdoyousee) files
- plFileSecure works to encrypt the SDL and Python files that are loaded at launch
- plLogDecrypt works to decrypt the encrypted log files
- plPageInfo works to dump out some information about PRP files
plPageInfo is especially good news, because that means that PRP loading, the ResManager, the Factory, Dispatch, KeyedObject, and AudioCore all compile and work properly under Linux. Also interesting is that the SDL project compiles under Linux, so it might be worth writing a simple tool to display/edit SDL info.
The big issues moving forward with this are DirectX, PhysX, the Input code, and all of the network code. Anything that fails due to pnUtils is a result of the re-invention of half the standard library in a Win32 specific way for their network code.
Another thing that needs fixing is some of the old EAX compatibility stuff. Plasma actually uses EFX through OpenAL, but relies on a Windows-only wrapper to translate the old EAX structures over to EFX.
If anyone is interested in helping with this, drop by #writers on IRC (irc.guildofwriters.org or irc.justirc.net) and give us a shout
EDIT: In my excitement, I forgot to mention that these changes have not been merged to the master of H-uru/Plasma yet. Still doing some tests to make sure the changes haven't accidentally caused any problems on Windows.