C2C SVN Changelog

Just pushed a small fix to SVN for broken schema references in the resources/newResources module - see bugs thread
 
Just pushed to SVN (6154):
  • A few minor fixes to combat mod changes
  • Debug version of the DLL
 
Just pushed to SVN (6160):
  • Split up CvInfo.cpp because the compiler was complaining
  • Some optimization of tech evaluations

@TB/SDK modders - have split out CvUnitInfo and CvBuildingInfo (to be going on with) from CvInfo.cpp into their own source files. This is because the compiler was complaining (not unreasonably) about source files with more than 65535 lines!
 
Just pushed to SVN (6162):
  • Fixed spurious extra icons in main interface (there is still one WRONG icon in Chiptole mode only when the globe view is up)
  • Fixed CTD that can happen on conquering a city

Edit - another change (rev 6163):
  • Substantial speedup to AI tech evaluation

Edit - another set (rev 6164):
  • Substantial speedups by optimizing some bottlenecks related to combat type processing in the combat mod

The changes made for optimization in the past 24 hours are fairly substantial overall - reduced my turn time in late Classical on GEM from over 100 seconds to about 65 seconds.
 
Substantial speedups by optimizing some bottlenecks related to combat type processing in the combat mod
PM me on what you did here will ya?
 
PM me on what you did here will ya?

Too many little fiddly things to explain simply - look at the changes in the SVN revs. The gist is that CvCity::canTrain(UnitCombatTypes eUnitCombat) get called a very great deal when evaluating techs and buildings to check if certain things get enabled by said techs/buildings, and that canTrain check was taking a substantial percentage of total turn time. The main changes were:
1) To make sure the canTrain cache was properly pre-populated and used in the contexts in which this mostly happens
2) To factor out the code that determines if a given unit type has a given combat type into pre-calculated code in CvUniInfo, so it only needs to be run once per load per unit type
3) (not a combat mod thing, but made more significant by it) The pre-amble to canTrain needed (for each unitclass) to determine the unit the particular civ got for that a given unit class, and that involved calling CvCity::getCivilizationType(). That code looked very simple but it turned out that it was called 300 000 000 times per turn (in my GEM game in late Classical), and it unconditionally retrieved a global define. Now, getDefineINT() is not an expensive function, but when we're talking about 300 000 000 calls 'not expensive' takes on a different meaning. I therefore modified that method o essentially cache its result rather than re-querying the global define each time
 
Too many little fiddly things to explain simply - look at the changes in the SVN revs. The gist is that CvCity::canTrain(UnitCombatTypes eUnitCombat) get called a very great deal when evaluating techs and buildings to check if certain things get enabled by said techs/buildings, and that canTrain check was taking a substantial percentage of total turn time. The main changes were:
1) To make sure the canTrain cache was properly pre-populated and used in the contexts in which this mostly happens
2) To factor out the code that determines if a given unit type has a given combat type into pre-calculated code in CvUniInfo, so it only needs to be run once per load per unit type
3) (not a combat mod thing, but made more significant by it) The pre-amble to canTrain needed (for each unitclass) to determine the unit the particular civ got for that a given unit class, and that involved calling CvCity::getCivilizationType(). That code looked very simple but it turned out that it was called 300 000 000 times per turn (in my GEM game in late Classical), and it unconditionally retrieved a global define. Now, getDefineINT() is not an expensive function, but when we're talking about 300 000 000 calls 'not expensive' takes on a different meaning. I therefore modified that method o essentially cache its result rather than re-querying the global define each time

Ok, some good ideas there on how to improve on things. Thanks for the explanation and the efforts.
 
Just pushed to SVN (6165):
  • Improved AI evaluation of tech and city trades
  • Tweaked cultural ownership very slightly
  • Fixed AI tendency to abandon newly built forts in neutral territory

The slight tweak is that in the event of two players having numerically equal culture in a plot, the one with the closest culture source will now win. It's quite a rare circumstance however.
 
Just pushed to SVN (6168):
  • Further improvements to AI trade evaluation (especially cities and corporations)
 
Just pushed to SVN (6172):

Minor tweak - Fixed globe layers buttons

If you are running with cheat mode on (chipotle) you'll have an extra button on the globe view that looks like the BUG icon. This activates a debug layer which you don't need to worry about and is a work-in-progress (the messy result that it currently gives highlights all the choke points, with the degree of red shading indicating how strong it is), but the labels I have not found a way to fill in with anything useful, so they are going to be removed at some point when I get back to adding info the the debug layer.

Only DLL modders should ever really want to look at this anyway.
 
After talking it over withg DH, we decided to put his FPK into the core FPK, so this is updating it for this, plus adding in anything that was in the art area ready for the next version.

Units.FPK is a HUGE download thats why i made it separate

It took around 2-3 hours just to upload that one FPK.

C2C, Terrain1, Structures and Units FPK all updated.
 
Just pushed to SVN (6176):
  • Small AI tweak to make more sensibel decisions abotu which unit fulfills a mission if several are considering it
 
Update

- Fix terrains order in terraininfos file.

Note someone had added in two terrains after the peaks and hills definitions. This is a no-no. They must be the last two defines or things go wrong. I moved the extra terrains to just before the peak definition.

@Hydro does this fix your CTD etc.?

@all if you have an advanced game where nukes have been used or water pollution is out of control please check your slimy coasts and oceans to see they are still there.
 
Updates

* Moved Unit Production Information to the 'Main Default' page of the Unit Help Hover.

* Added numerous new Combat Classes. None are yet applied. Was going to wait til after release but it should be something Nimek has to work with ASAP. At this time, the list of CCs on the first page of the link in my CC document in my sig line have all been included in our assets and are ready for application once the unit subcombats have been fully planned out. (My immediate project now.)
 
Back
Top Bottom