Thing is, if you keep cooking, you are paying - for the food, the electricity, the heating, probably also the hot water for his shower in the morning, and so on.
It is not unreasonable if you are short of money to be aware of this. You may be saving on going out, but you are paying. I guess if he brings the wine, that evens it out a bit. But he is still letting you do the work and no doubt pay for the food etc.
I think the issue over contact does not show him in a good light. He has gone from every weekend to every other weekend, but he was potentially going to have no weekends.
Badmouthing his child’s mother at the same time as leaving her to do more childcare does not show him in a good light either.
You have explained why the situation has moved so fast with your DS being there as well - I would imagine this situation suits him quite well - you are doing all the work, paying for most of what you both need and he does not seem a giving type of person. You are doing all the giving, it seems to me.
I think the issue with the gin is that he is taking from you but limiting his giving; whereas you have given without enough limitations to the extent that this man is staying in your home when you have a DS, eating your cooking, sleeping in your bed, but does not seem to take into account what you really want. I would definitely be pulling back from this.