Visual Studio does not run well (or at all?) on Wine, so that's out. Instead, I'm going to see if I can't get it on a Windows laptop and make myself some more verbose DLLs. I'll let you know if that works, I need help, or I give up.
Too bad. It may well be some completely unnecessary thing that I've changed. If nothing else helps, we could still use binary search to determine which Git commit introduced the problematic change. Compiling some 5-10 debug DLLs from older code wouldn't be too much trouble for me.
Every feature is used. Release it once for 5 minutes, and someone will adopt that feature as the "best thing ever", and demand you put it back, even after you discover it breaks everything else.
It's a law.
In the this case, I hadn't thought of the UI and human players at all. The city lists get traversed by AI code all the time, and it's always forward and starting at the capital. It's fine though, we can have it both ways. Firaxis had implemented the iteration step like this
Code:
CvCity* nextCity(int* pIterIdx, bool bRev=false) const
{
return (!bRev ? m_cities.nextIter(pIterIdx) : m_cities.prevIter(pIterIdx));
}
i.e. checking the direction flag bRev each time. My (vague) understanding is that CPU branch prediction should handle that very well, but maybe not if the function gets inlined. Now I use a separate function "prevCity" for going backwards. (
Git commit)
And I turned off that "no click to exit city view" as soon as I figured out how.
If more people prefer the old setting, I can of course set it back to the BtS default.
I've been playing with 0.97-pre and, normally I can beat the K-mod AI on monarch and AdvCiv AI on prince, I haven't been able to beat the AI on prince yet without reverting a save. I've come close a couple of times but post-industrial the AI pulls out very far ahead.
I must say you're all quite brave to play with this largely untested version. (But then, what can you do if it takes me forever to get there. And apparently it mostly works once it gets past the loading screen.)
Another idea is to give more pacifist leaders an edge in diplomacy, staying on the good side of warmongering AI if they feel threatened by them. Since the AI can declare with a friendly attitude, I don't know what the AI could do to keep the peace. Maybe the powerful/warmongering AI can demand techs more often from weaker neighbors for peace deals instead of conquering them. The pacifist AI could switch civics and religions to appease the warmonger.
The AI can, in theory, declare war when Friendly, but, especially among AI civs, which don't build 0 military, it really shouldn't happen until the late game. Dialing up tribute demands would be easy to do (changes in Civ4LeaderHeadInfos.xml might suffice), but I'd prefer to know what problem I'm solving exactly before taking any steps. In my book, it's fine if 1 out of 7 AI civs emerges as a hegemon over the course of the Industrial era. At what point does it actually happen, on what type and size of map (mainly Pangaea when it comes to snowballing conquests?), can we get examples in the form of saves, replays or screenshots.
I also didn't know how much I wanted high res world views until I saw it. This is 2048 resolution. Thanks for implementing it
Great that someone will use it. Personally, I'm too attached to having BtS compatibility, i.e. starting replay files through a double click.
Edit: another thing I wanted to add is that the AI is very uncooperative when it comes to making peace deals. Just getting the AI to bargain is like pulling teeth, and even then they just declare war again as soon as the peace deal runs out. It makes the game very annoying at times.
Noted, but I'd have to know specifics (a savegame probably) to do something about it.