I've had two players who drank to excess. One was my cousin. He's a genuine alcoholic. I put up with it as long as I could and then said, "No booze at games, period." So he started showing up already drunk (at noon on Saturdays). Player #2 was simply a player who wanted to be able to drink at the game, but not to excess. The no-booze rule was unfair to him since the problem was my cousin's behavior and finally I'd simply had enough. I told him he had to leave because he was a disruption and that if he ever gave up drinking he'd be welcome back. He never did of course.
A few years later Player #2 began drinking a LOT more than he had. He hated his job so much that he drank on the weekends to be able to forget about it. This began to include games. However, he drank hard liquor, not beer. And when he started to get drunk he would do so without hesitation or delay. And by the time he was truly snockered he'd just make his way over to a couch or recliner and drop right to sleep. Now his behavior DID put bumps in my ongoing campaign because there were very few players at that time. When he walked away from the table to sleep it off we'd run his characters for him for a while but if there were any actual roleplaying needing the participation of the whole party the game pretty much ended. And several key plots were rotating around his characters.
He wasn't belligerent when drunk and unlike my cousin didn't have a grating personality to start with. I never even thought of needing to ask him to leave the game. His situation got better after a number of months and he started drinking less (at least at games). I've had players being disruptive for other reasons than drinking. Each person, each situation is different. One thing is certain, however - life is too short to game for even one evening with an ASS - drunk or sober. I'd play with a table full of mellow drunks forever, but wouldn't waste my evening with just one jerk.
Responsibility for dealing with jerks lies with one, perhaps two people. First the DM. Obviously. The DM, like it or not, is responsible not just for trying to provide a little entertainment medium for the players, but to keep OTHER players from spoiling that entertainment. If you're playing at the DM's house, a game store, or other "neutral" ground then the DM MUST be the authority. Some DM's just don't have the people skills or guts for that. If the game is held at the house of a player then the DM can kick him from the game, but the player HOSTING the game has some responsibility as even the DM is a guest in their home. That makes things more complicated but no less in need of solutions.
Communication is once again THE single factor to consider. EVERY player should have been told explicitly at the start, regardless of them being friend, relative, or stranger, that boorish behavior will not be tolerated. Barring that (or players ignoring that) DM's MUST step in and put a stop to it before it gets out of hand. The FIRST off-color remark or personal insult should be an electric shock that throws the DM out of his chair to his feet to confront the offender and LAY DOWN THE FRIGGIN' LAW. If it means ENDING the game at that point that is STILL better than sentencing every other player to enduring an uncomfortable evening with a jackass - and the DM that lets him continue.
If nobody else will do it, I don't care if you ARE a guest, you don't have to BE insulting and offensive to make clear your objections to BEING insulted and offended. If the DM/host will not take a stand for common courtesy and decency they have BY DEFAULT given YOU permission to do so. Tell them that if they start to object to YOU being "Miss Manners".
In the OP's situation he should have asked the DM aside and requested that he immediately deal with the drunk player. If the DM can't or won't make it clear that you will. "He's always like this" is a BETTER reason to make a scene as this drunk's "friend", the DM, is NOT being much of a friend letting him act this way without consequences. There will either be a terrible evening for all OR someone can take the drunks keys (important) and tell him he needs to leave the table. Call someone to come pick him up if necessary. Put him in a cab and send him home. STATE these options. Suggest other alternatives. Whatever. Just DON'T sit there uncomfortably wondering if anyone else is as pissed off as you are that you have to endure this. Doing THAT is nobody's fault but YOURS. People can't take advantage of you unless you LET them.