C2C SVN Changelog

11198
v40.1.2570 - 2020-07-19

  • Removed national limits from raft, canoe, war canoe, and neanderthal versions of those. (Toffer)
  • Fixed a code bug when abandoning a city with high foreign culture. (Toffer)
  • Commented out the slightly bugged gold cost on improvement upgrade code. (Toffer)
  • Removed an unused function+variable in CvInfos (Toffer)
  • Scaled the gold cost for building improvements/routes by gamespeed. Eternity vs Normal, ten times more turns to earn money between each worker build, ten times more costly to build stuff. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11198
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/4b872d9a431e...c06b5fe8c170
 
11199
v40.1.2579 - 2020-07-20

  • Unit Upkeep code/system rewrite (Toffer)
    • Unit upkeep is now easier for modders to tweak and work with.
    • xml values are not fully thought through yet, so that will need work going forward.
    • e.g. most units only have 1 gold in base upkeep cost, some have more all those that had iExtraCost tag before will have more than 1 gold base upkeep.
    • Some units defined in module currently have zero upkeep cost, I added upkeep to mapinguari from weakest mapinguari at 5 gold to the strongest with 25 gold upkeep.
    • Units aren't fully recalculated in the recalc, so old units in saves may not have the same upkeep cost as a freshy trained unit of the same kind, though the difference won't be much.
    • You no longer get free units, but you get a set amount of free upkeep gold. An upkeep amount that is covered by the citizens I guess.
    • Income may shift a bit in old saves with this update.
https://sourceforge.net/p/caveman2cosmos/code/11199
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/c06b5fe8c170...5370f888a1c8
 
Last edited:
11200
v40.1.2584 - 2020-07-21

  • Fixed a building recalc bug where all buildings after the first obsolete one would be processed in as obsoleted. (Toffer)
  • Reduced the increased unit upkeep on the might promotionline (Toffer)
  • Added a new assert while looking into another assert related to the trade help text in city screen not being correct. (Toffer)
  • Fixed a text format error, upkeep modifiers from promotions and unitCombatTypes would display ??? as its value. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11200
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/5370f888a1c8...26b65363067d
 
11201
v40.1.2590 - 2020-07-23

  • A lot of text work related to the new unit upkeep system. (Toffer)
    • When selecting units to train in the city their tooltip will tell you how much more expense their upkeep will actually give you per turn, factoring in free unit upkeep, civic/traits and handicap adjustment.
    • Civics now display text about unit upkeep changes they cause.
  • 2 things for nomadic start (#609) (MattOttawa)
  • irishhombre mod mod. (#613) (MattOttawa)
https://sourceforge.net/p/caveman2cosmos/code/11201
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/26b65363067d...498bc8bdf3ab
 
11202
v40.1.2595 - 2020-07-24

  • Fixed city recalc of buildings, no more asserts for city screen tooltips calculating a value that doesn't match up with cached values. Also removed an assert about free bonuses going below zero during recalc. (Toffer)
  • const (#617) (MattOttawa)
  • Commented out an assert no one seem to understand, may be a false positive error. (Toffer)
  • CvCity refactoring. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11202
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/498bc8bdf3ab...fdd00ee47333
 
11203
v40.1.2597 - 2020-07-24
  • Made law enforcement and health care unit civilian. Makes sense and it balances out unit upkeep a bit. (Toffer)
  • Unit tooltip will now inform about whether the unit is civilian or military. Max HP is hidden from unit tooltip if unit doesn't have strength. (Toffer)
  • Some refactoring of CvUnit.cpp and added a helper function to be used in next commit. (Toffer)
  • Some text fixes for what animals can build in their tooltips. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11203
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/fdd00ee47333...7a6b5ccce322
 
11205
v40.1.2611 - 2020-07-26

  • More tweaks to unit tooltip text + refactoring + decimalized the iExtraCost tag so that a value of 150 means 1.5 gold. (Toffer)
  • Updated more city loops. (#610) (MattOttawa)
  • Further unit tooltip tweaks. (Toffer)
  • Fixed weak unit being the graphically visible defender of your own cities sometimes, so strange having a subdued animal as the top unit in your own cities. (Toffer)
  • Tweaked some unit tooltip text code. (Toffer)
  • Fixed some text issues (Toffer)
  • Some CvUnit refactoring + minor tweak to CvUnit::isActionRecommended(int iAction) (Toffer)
  • Made most criminal units civilian units, not ruffians or strike teams like assassin. (Toffer)
  • Switched city loops. (Matt)
  • Adjacent plots iter (Matt)
  • switched adjacent plot loops. (Matt)
  • Switched while loops to for loops (Matt)
https://sourceforge.net/p/caveman2cosmos/code/11205
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/cf6729b4613e...db06fa86243f
 
11206
v40.1.2625 - 2020-07-29

  • Forgot to remove the old and now unused caching that I replaced in the last commit. ^^ (Toffer)
  • Branch merge: A follow up to the previous optimization commit. This branch reduce the amount of cached integers from an array of 2074 down to one object with only 18 integers. It now only remember what unitCombat were displayed in detail in tooltips for the last 8 different unit types you shift+tooltipped instead of tracking it for 2074 unit types all the time. From ca. 8296 bytes to ca.72 bytes RAM usage (Toffer)
    • Ready to merge with master (Toffer)
    • Added #includes (Matt)
    • initial version of branch, won't compile. (Toffer)
  • Minor optimization, well, from 8296 Bytes per alive player down to just 8296 bytes regardless of number of players. (Toffer)
  • Changed national unit upkeep values from unsigned long to long long and store them in save file as double. (Toffer)
    • Recalc needed even if it doesn't ask for it.
  • Removed unused variable in CvPlot::isHasPathToPlayerCity the compiler was complaining about (Toffer)
  • Cleaned up messy CvUnitAI::AI_spreadReligion() code (Toffer)
  • reduced construction sound of festival building. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11206
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/db06fa86243f...056b7f0bbe55
 
Last edited:
11207
v40.1.2631 - 2020-07-31

  • Further polish on the civic and trait help-text regarding free unit upkeep. (Toffer)
  • Fixed a calculation bug for free unit upkeep when modifier is zero. (Toffer)
  • Fixed inaccurate info in civic screen on free unit upkeep when the population factor is reduced. (Toffer)
  • Shortened 4-5 long unitCombatType loops from about 1000 iteration down to around 10 iterations. (Toffer)
  • Refactoring + changed float math to integer math in CvCity::getRevIndexPercentAnger(...) (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11207
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/056b7f0bbe55...6a94d35a2a58
 
Last edited:
11210
v40.1.2642 - 2020-08-06

  • reduced volume of zoroastrianism spreading sound (Toffer)
  • Refactored CvPlot: changeAdjacentSight(...), canSeePlot((...), and shouldProcessDisplacementPlot(...) (Toffer)
  • Misc refactoring in CvUnit (Toffer)
  • Just messing around with some technical details, 20 bytes reduction in RAM usage, more if the tool I tweaked is used more in the future. Changed some ints to shorts where large numbers are highly unlikely to be used. (Toffer)
  • Added entries to the text note about what to do at next save breaking point. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11210
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/2dc05be93227...30513dc8a975
 
11211
v40.1.2664 - 2020-08-10

  • Strange fix to a strange bug from the earlier CvCity refactoring. (Toffer)
  • Made food consumption change even more gradual (Toffer)
  • Food consumption per pop now change gradually between pop levels instead of jumping in value when population number increment. (Toffer)
    • also increased the food per pop exonential from 0.1 to 0.2 and made a global define for that value.
  • CvCity refactoring (Toffer)
  • Some loose ends I forgot about with IDW culture from pillaging (Toffer)
  • Forgot to remove some debug logging (Toffer)
  • float 2 integer math change in culture influence driven war code; also fixed up a few issues with it and tweaked some values. (Toffer)
  • Disabled Size Matters Uncut option (Toffer)
    • Note: remove option at next save break point
  • Further volume reduction for zoroastrianism spread sound (Toffer)
  • Simplified the "remove slavery worldview" code by utilizing the bSlave tag for specialistInfo. (Toffer)
  • Misc refactoring (Toffer)
  • Fixed syntax error that surprised me, white space was required... (Toffer)
  • Overflow protection for player plot culture values. (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11211
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/30513dc8a975...4780877b39eb
 
Last edited:
11212
v40.1.2683 - 2020-08-15
  • Added treasury upkeep, incentive to spend money rather than hoard it, an abstract form of inflation. (Toffer)
  • Tweaked CvGame::calculateSyncChecksum() (Toffer)
  • Added a couple missing includes (#625) (MattOttawa)
  • switch while loop I added for overflow protection to Toffer's suggestion to fix in game lag. (Matt)
  • Fixed an issue in the pangea mapscript (Toffer)
  • Reexposed a python functions I removed, was used by mapscripts, which I forgot to check when removing it. (Toffer)
  • Merge pull request #624 from MattOttawa/greater_gold (Kristoffer)
    • switched a couple int to long long. (Matt)
    • Revert "Added macro wrapper for save / loading long long." (Matt)
    • Added macro wrapper for save / loading long long. (Matt)
    • Fixed save compat issue, and added an OOS safeguard on the read save code dealing with double to long long cast. (Toffer)
    • switched getEffectiveGold() to getGold() calls in python. (Matt)
    • Added overflow protection to CvGame::calculateSyncChecksum(). (Matt)
    • deleted m_iGreaterGold (Matt)
    • converting gold to long long (Matt)
    • modified the read write code for compatability. (Matt)
    • Capped a spot at MAX_INT. Something about demanding gold in diplomacy. (Matt)
    • switching greater gold to long long. (Matt)
https://sourceforge.net/p/caveman2cosmos/code/11212
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/4780877b39eb...6ae8c50ed4db
 
11213
v40.1.2699 - 2020-08-16
  • Refactoring and cleanup (Toffer)
  • Switched GC.getDefineINT("EVENT_MESSAGE_TIME") calls to GC.getEVENT_MESSAGE_TIME() (Matt)
  • Switched unit get functions so that commanders don't call the function a second time. (Matt)
  • Some float-2-int conversion in python code (Toffer)
  • minor refactoring and assert change in CvCityAI::AI_scoreBuildingsFromListThreshold (Toffer)
  • Removed some GREATER_COMMERCE_SWITCH_POINT in regards to gold as it is no longer relevant. Minor tweaks and refactoring. (Toffer)
  • Refactoring; changed some float math to int math (Toffer)
https://sourceforge.net/p/caveman2cosmos/code/11213
https://github.com/caveman2cosmos/Caveman2Cosmos/compare/6ae8c50ed4db...eff1f7bdfe8c
 
Last edited:
Top Bottom