I couldn't run the game till I found some help on the internet. Basically, what I had to do was install dotnet20 and d3dx9 with Winetricks on the Bottle created by CrossOver. I just didn't try using a controller so I'm not sure if that part works. Here are the instructions I followed:
Get the game to run! (With a controller!)
Okay, so you've got Sonic Adventure 2 installed on Steam in a clean Wine prefix. But oh no, it doesn't run! What's up with that?
Turns out it's a pretty simple process to get it running. On top of Steam's requirements, you're going to need to install these via winetricks:
winetricks dotnet20 d3dx9 xinput
Sonic Adventure 2's installscript.vdf actually installs DirectX, but let's use d3dx9 for the sake of consistency/completion.
This should allow you to use the Launcher.exe and create a config, then launch the game. Hooray, it works!
... But wait, what about my controller? This game uses XInput, so I can't use my controller! I gotta go fast, and that ain't happenin' on a keyboard.
We're actually going to use the same solution that is needed for Windows users who are using gamepads other than the Xbox 360 controller, but this is needed even if you're using a 360 controller on Wine.
Download x360ce: http://code.google.com/p/x360ce/
Should be the first zip file listed; extract that exe file somewhere convenient (I just put it in steamapps/common/Sonic Adventure 2/x360ce/).
Connect your controller, then open up x360ce. It will probably ask to search the web for configurations, go ahead and let it search. Depending on your controller, it will quickly find a config for you that works out of the box. Check the bindings, then save and quit.
Now, move the generated xinput1_3.dll and x360ce.ini into Sonic Adventure 2's root folder. Those will work with Sonic Adventure 2, but how do we get the game to actually use the controller?
If you saved a config with the Launcher.exe, there should be a file in Config/, named Keyboard.cfg. Open that up and find a line like this one:
<Player InputWay="0" Vibrate="0">
Change InputWay's value to 1, then launch the game directly from sonic2app.exe. Using Launcher.exe will overwrite the config, so unfortunately this means we won't be able to launch directly from Steam. However, you should now be able to play Sonic Adventure 2 via Wine with a controller!