Besides wined3d and winejoystick, I've also looked into what would be required for a few others on that list:
* The story with wineqtdecoder (mostly from private communication with Dean Greer and Gijs Vermeulen) is that we want to first get libgstreamer to build nicely on Mac, and then remove wineqtdecoder entirely. Dean and Gijs are working on the first part.
* avicap32 could be converted trivially, but that said, it's my long term plan to do some research into kernel streaming first, and see if avicap32 and qcap can be implemented on top of that architecture.
* capi2032 and ctapi32 are weird cases of third-party DLLs that were (at the time) considered too hard to get working properly, essentially because they need to interact with the hardware at too low a level. In this respect they're like wpcap. However, unlike wpcap, I think it's likely possible to get at least native ctapi32 (which actually isn't called that) to work. It had been my vague plan, when I somehow got the free time, to try to acquire the necessary hardware and test the Windows driver. I'm not sure about capi2032 yet; I didn't get far enough into research to tell whether it's possible to use the native version.
* I did briefly look at shell32, but didn't get as far as writing code, only research. If someone else does get to it first, here are my initial thoughts:
- The xdg and trash parts can be done almost entirely with win32 APIs. The one thing I think that's awkward is detecting whether we're on a Mac, since IIRC we don't have __APPLE__. Not sure what to do with that.
- symlink() should be replaced with kernel32/ntdll symlinks. This is blocked on Erich's patch set getting upstream, though, which could take quite a while. We could probably use a temporary Unix library for this part.
- shfldr_fs.c and shfldr_unixfs.c need to be merged. In some sense this is "unixfs should go away", except that unixfs is kind of the default and so fs is missing some features which will need to be ported. There are a lot of subtle differences here. Obviously we still want a Unix root folder in the UI, but this should be hooked up to "??\unix" or something.