DP has gone to his 'friend's house to smoke weed

Which means when he arrives we wont be having sex (as usual), or having a conversation and I can't hug him in bed because he will absolutely stink from his lungs out through to his mouth.
Last Night he got stoned with this friend too, I let this go but why does he have to go again tonight?
I was invited but its not my scene.
Tomorrow (our only day off together for a week) he will be flat/ tired/uninspired/lazy/grumpy.
Tonight he said to me do you mind if I go round Steve's tonight?
I was annoyed he asked me like I'm his mother or something but I said he can do as he wishes but eventually this will create a wedge between us and we will end up going our separate ways.
Before he left I said that I am going to uni, have lost a lot of weight am nourishing my life with positive people and healthy eating whereas he has left a teaching job to work in a minimum wage job, I told him that we will end up growing apart if he keeps making these choices, he told me that I am nasty and that I ruin all his nights out 
We went for dinner tonight because he was hungover from yesterdays antics he wasn't much company and moaned about how expensive the restaurant was, even though we were going halves on the meal, then when I attributed his flat feeling to his weed smoking yesterday, he told me I was being nasty, I told him it's just the law of cause and effect what goes up and all that, but he just thought I was blaming things and 'you can just feel flat randomly sometimes.'
Shit- every time he does this I resent him more and more.
Tonight he said I better hold on to this friend (the weed friend) because I dont have any others 
But he doesn't take up hobbies or do anything which socialises with others so he wont meet better friends if he spends all his spare time with gun toting druggies 
If you got through that- thank you I just needed to vent.