The dependency free version would be the best bet for true cross platform usage. If you only use it for the SharpDX/WinRT part, the SharpDX fork could be more convenient (at least math-wise).Hey norbo just out of curiosity what version of bepu should I use when porting my games to monogame?
There was a discussion about it before, but I still haven't looked into it much.Also I am currently moving many of my games to windows 8 metro which does not have the "Thread" class, what should I do to bepu to get it working with the new windows 8 threading model. Have you looked into that at all?
For threads specifically, assuming you don't run into some other missing feature, you could probably use something like the ThreadManagerTPL which uses a pre-existing thread pool. Creating a custom IThreadManager to give to the engine is pretty simple- it just needs to be able to handle for loops and individual tasks.
(If you wanted, you could just remove the AddThread, RemoveThread, EnqueueTask, and WaitForTaskCompletion functions from the IThreadManager definition. That would make it a thin interface around any arbitrary threaded forloop provider. The engine itself doesn't use any of those methods; AddThread and RemoveThread are called by the user but are unnecessary when based on a preexisting thread pool and EnqueueTask/WaitForTaskCompletion exist solely for legacy support and are never used by the engine.)
If I can find some timeAlso do you have an xna dev account? I have my game in review (which uses bepu) and its last patch has been in review for 2 weeks and still not gone up...