Resource icon

[ModMod] Kek-Mod v0.26

have you borrowed allot from advance civ by the way?

A few things and ideas that are listed in the changelog. I would like to got through whole AdvCiv and merge much more, luckily f1rpo has written a really nice manual, but unfortunately I don't have much free time to do that and he has done an enormous amount of work there. Release cycles of this mod coincide with the pitboss games my group plays and another one won't start before next year, so there won't be updates before that unless there is some critical bug I need to fix.

and how about you harvesting my code for stuff?

Like I said, I don't really have time to go through other mods and look for stuff. AdvCiv is different because it has a very useful and complete manual (although AdvCiv commits themselves are not really easy to browse through).
 
I have uploaded a new version, v0.23. Changelog is in the first post (but this time the code is not yet on GitHub).
 
I have uploaded a new version, v0.24. This time the code is on already on GitHub, but I have not yet updated the changelog in the first post.
 
A lot of nice additions that I'll be happy to adopt. Thanks.

I've been meaning to report a few possible (minor) bugs in Kek-Mod changes that I've adopted in the (not-too-distant) past:
Spoiler :

  • "War resolution can now be proposed against voting members": Is this really working? It seems that CvGame::canDoResolution checks if all voting members – including the target! – are able to declare war on the target. I've addressed this by making war votes non-binding for all (non-full) voting members and changed checks in CvGame::canDoResolution, processVote and CvPlayer::canDoResolution accordingly. They should then arguably also be barred from defying war votes in canDefyResolution. I've only tested this once as far as I remember.
  • "Changed how multiple war declarations work": On my end, the AI attitude cache was no longer updated reliably after this change. I think the problem is that a DoW that doesn't trigger any wars leaves the Kek-Mod war queues empty and thus triggerWars doesn't set bWarsDeclared = true and doesn't update the attitude cache. My fix: 1 2 (I've also moved the CvEventReporter call in CvTeam::declareWar, but that's probably only relevant if the onChangeWar function of the RefusesToTalk alert in Civ4lerts.py is enabled – K-Mod disables that.)
  • "Added OOSLogger": The logger calls gc.getGame().setOOSVisible – but I think no such function exists in Kek-Mod. Perhaps that's why the bWroteLog mechanism doesn't work for me either; it seems that the logger keeps overwriting the logfile on every gameUpdate once an OOS error has occurred. (I've added a file-exists check to writeLog to prevent that.) There was a misplaced closing parenthesis in line 238 (Python syntax error). And, at the start of writeLog, playername = "PitBoss" gets overwritten in the next line.
 
Thanks! I remember now that I had noticed that there was a problem with the attitude cache, but then forgot to fix it (or even note it in my issues log).
 
I have uploaded a new version, v0.25. I did not yet update the changelog in the first post (not even for v0.24), but the code and commit logs are on GitHub.

This took much longer than I wanted as there were some serious (game freezing and/or game crashing) bugs. I have changed how mod updater works in the new version: it can no longer autostart as this could freeze the game, but it is available as "Update Mod" button in the options.
 
I have uploaded a new version, v0.25a. Again, code and commit logs are on GitHub.

There was one crash caused by sea patrol intercepting pillaging that has been bothering me for a while that should be fixed now. I rarely encountered it because both AI and human players rarely use sea patrol option, but it would reliably crash the game whenever the sea patrol was defeated.

Starting from v0.25, mod can be updated to the current version in-game via Advanced -> Options -> Update Mod (as long as the update server is online).
 
Last edited:
are you keep on developing this one?

Yes, but I haven't written any new code since the last release. It will probably be around 6 more months before I release a new version (because I usually fix/change things in-between PitBoss games I play and the current one will probably last about 6 more months), but I might put some things on GitHub before that.
 
Any way to compile this for yourself? With both K-Mod and this mod I get
Code:
1>      "D:\Microsoft Visual C++ Toolkit 2003\bin\cl.exe" /nologo /MD /O2 /Oy /Oi /Og /G7 /DNDEBUG /DFINAL_RELEASE /Fp"Release\CvGameCoreDLL.pch" /GR /Gy /W3 /EHsc /Gd /Gm- /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /Yu"CvGameCoreDLL.h" /IBoost-1.32.0/include /IPython24/include /I"D:\Microsoft Visual C++ Toolkit 2003/include" /I"E:\oldWINSDK/Include" /I"E:\oldWINSDK/Include/mfc" /FoRelease\CyInfoInterface3.obj /c CyInfoInterface3.cpp
1>  CyInfoInterface3.cpp
1>Boost-1.32.0\include\boost\mpl\if.hpp(67): fatal error C1204: compiler limit : internal structure overflow

Win10, SDK and Toolkit both present.

I've managed to compile the standard BtS dll without bigger problems, yet those won't. Any ideas?
 
Top Bottom