At least in the player core, I think only the ASM code (which can mostly be taken from libmodplug) is the only thing that keeps it from being multi-platform (which libmodplug already is). Of course there are many legacy data types used everywhere (DWORD, UINT, ...) but this can be "fixed" temporarily by adding the appropriate typedefs in libopenmpt, rather than refactoring everything (which will be done at some point anyway).