If Smudge has eaten nothing at all for 2 days, I think it is time he visited your vet. Cats do not respond well to periods of inappetance, regardless of the cause, and can become quite sick because of it.
From what you are saying I would guess he may have had a fight with this other cat that is marking territory near your house. He may either just be a bit bruised or have an abscess brewing under the skin. Either thing should be easily treatable to make him more comfy and start eating.
If he is eating a little bit, then you can just watch and wait and continue to tempt him. Keep checking his side in case you see an abscess form, in which case he will need antibiotics. However if he is just bruised then he should recover soon. If he seems really sore, you can give him 1/2 of a 75mg aspirin tablet. DON NOT GIVE HIM PARACETEMOL OR IBUPROFEN. Both of these are very toxic to cats.
If you have any other questions, please just ask