ok, vs2008 is definitely part of the explanation - i'm on vs2010 and had to change the project file quite a bit to get it to compile. the libs and everything from the sdk were already in place, although they are not tracked in git. but the solution file was missing. so it's a bit confusing to me.
anyway, here's the status:
1. hasBelief save/load bug: can't really imagine how this could happen, but the +1 offset is not really necessary. will try without
2. red lines for range attack: i'm not sure i know what you mean. never seen any. do you have any more hints?
3. scouts in endless loop: theoretically possible, but not specific to my changes. although maybe i made it easier to trigger. need to find a way to reproduce.
4. xml merge. also strange, i didn't see it in your git commit, but in the latest version it's all there, so i guess we can consider it solved
5. tactical ai: there were two main changes - try to keep settlers away from danger, and use ranged-only attacks for wearing down cities. do you consider those worthwhile? which problems are you referring to?
1. The first was causing an issue with saves giving a civ a different belief. I imagine that the save state was caching data that was then being pushed up or down by 1 (thus triggering nearby states to 1 from 0). I haven't run into any compatibility issues with it as-is, so don't worry about debugging it at present.
2. When you click on the 'range fire' button for a city or unit, it generates red lines around the hexes in range these hexes, the ones inside the red lines, correspond to the tiles your units can hit. For some reason, the changes to direction in the enums file caused only the E/NE ones to work. Example pic:
3. It seemed to happen when scouts encountered a dead-end, either on water (i.e. reaching a 'peninsula' of coastal water surrounded by ocean) or on land. The scout would bounce back and forth in-between the tiles in this dead-end.
4. All's well that ends well.
5. I'm referring to the ranged strikes if the AI couldn't get ranged units in range of a city, it just surrounded the city with melee units and let them get whittled down without attacking. It created odd scenarios that went away when I removed your change. Generally, it is a bad idea to only give the civ AI one way to do something while your change is logical, the AI could easily pin itself into a corner by not having a proper formation (and the AI is really, really bad at swapping units that need to be swapped). If you want to work on something that would really solve a lot of problems, unit swapping would be an ideal place to hammer away (hint, hint).
When doing a merge (I used winmerge, so that I could mark all changes on my changelog), I added all of your changes not marked in preprocessor directives with preprocessor directives. I also changed the 'ifdef' ones you added to the 'if defined' model, as it is what I'm used to.
Keep up the good work.
G