", and you need to factor in wind drag, hills, and other things,"
Not relevant. That's like asking how many hp you need to drive a boat against a hurricane in Force10+ instead of on flat water.
Actually, you cannot take away toys like the alternator, cooling pumps, any engine fans, and if you use it the A/C in your car and still have an honest answer to how many HP are used while moving the car. Just like you cannot take away the alternator, water pumps, A/C if you have it, and all of the other accessories on your boat. Diesel engines are kind of funny in that when operating at a set RPM they are not necessarily operating at the full fuel usage for that RPM level, gasoline engines do the same, so that the RPM's made by the engine do not at all reflect the output HP that is being made at the time.
Let's use a boat as an example, that way everyone can relate evenly to it. Let's say you are motoring along at 2500 RPM on a flat calm, and your engine has a peak HP of 30 HP at that RPM level, but you are not in a "Full Load" condition, there is no head wind, no current working against you and your boat is just slick as a pin on its bottom side, a real slippery boat in the water. You may be using about 5 HP out of the possible 30 HP that might be available to you if needed. The engine is not actually producing that much, it is in fact using a bare minimum of the fuel which is available to it in the fuel rail, just barely enough to keep it going at the setting you have it placed on.
Now take the same boat and engine, and give us a 25 knot headwind, a strong current coming onto the bow, and maybe a herd of barnacles and marine critters clinging to the hull and what happens? The engine is now in a much more fully loaded condition set and will produce the maximum HP for that RPM as required. This is controlled in the fuel pump, the ECM (if it is a computer controlled engine) or the mechanical governor (if it is a straight manual engine). Fuel is kept at a constant pressure, but it does not have to go into the engine when it is not needed, it has a bypass line on the injector loop so that any unused fuel goes back to the tank.
So, you have to look at the load, and most of the time the load is far from the maximum. You have to throw in any toys connected to the engine unless you are going to never use an alternator, A/C or water pump, much less all of the extra stuff that a boat engine will power in its minimum load state.