Just thought I'd share a technique I discovered for using map2dif with crossover. If you do not have crossover, already, download a demo here: mac.softpedia.com/progDownload/CrossOver-Download-22278.html .
The demo is a 30 day trial, but you can extend it indefinitely by setting your system clock back in time, but make sure to open it once before setting back the clock so it has a starting point for counting how many days are left. Once you've done that, just open the Date & Time system preferences pane, uncheck the option to automatically sync it, and set the year back a few. Re-sync once you are done using crossover to get the normal date and time back.
Ok, so to set up, you will need a folder that all the textures are located in, and map2dif on your computer. If you do not have marble blast map2dif already, find it here: www.mediafire.com/?on0oyz30yxm . Now, open crossover and click Programs - Run Command.
In the Command field, use the following command. Highlighted are the parts you will need to edit.
/Users/aaron/Desktop/Map2Dif/MarbleBlastMap2Dif.exe -map2dif -o /Users/aaron/Desktop/Map2Dif -t /Users/aaron/Desktop/Map2Dif/Textures test.map
Location of map2dif
Output directory of the dif
Location of textures
Name of the map
I like to keep the textures in a subfolder of the folder containing the maps and map2dif for cleanliness-sake, but you can do whatever as long as you change the path correctly. Also, the .map needs to be in the same directory as the map2dif program for it to work properly. Additionally, your map file name cannot have any spaces in it!
Troubleshooting
If it is your first time doing this, you may very well get the following error.
Andrew had this problem, and to fix it, I really just needed to play around. It turned out that the command that eventually worked was the command that didn't work at first.. so that's weird.
Anyways, you can try troubleshooting this by first starting out using the browse button to locate the map2dif program, then typing -map2dif. It will give you an error. Next, do the same but also type -t locationtotexturesfolder followed by the the name of the map (with the .map extension). If it works as it should, you should get an error saying unable to write detail level to stream. Great, now just do the same as before, but add -o outputlocation and it should work just fine. (That -o command should be between the -t command and the map name)
If you get other errors, just make note what it says. If it says cannot find a certain texture, then verify that the path -t locationtotextures is correct and the textures are actually there. If it gives unable to write detail level to stream, then you are missing the -o part.
Enjoy.