For a half, I start carb loading three days (two nights) before.
A normal plate is constituted of one part protein, one part carbs, two parts veggies. For carb loading, veggies can drop completely and be replaced by some carbs.
Then, I avoid excessively fat (it slows us down), fibrous (broccoli, cabbage, etc), salty and spicy food (anything that will hurt my stomack or be hard to digest).
Depending on my metabolism and how much calories I plan to burn (say if I plan to tour the parks from rope drop to fireworks or to go skating 14km the eve of the race...), I add some snacks (dried fruits, fruits, compotes, bars) between meals.
Of course, drinking sufficiently is crucial: Carbs makes us retain water, hence the feeling of being bloated (and the weight gain). But very useful for a race.
At that rate, I tend not to be very hungry the night before the run so my main meal the day before is lunch with afternoon snacks and a lighter dinner. It also works for me for afternoon/ evening runs.