EmperorFool
Deity
If you create a Visual Studio project and add all the source files to it, it will index everything so you can right-click a function and say "Go to Definition" or "... Declaration" as well as "Find All References". It's extremely handy for browsing the code.
Because each plot is affected by the surrounding plots, you need to make sure that you calculate the culture to add during the turn before changing the actual culture of the plots. This means probably adding a m_iCultureToAddThisTurn field to CvPlot that is used only during the doCulture() run (it doesn't need to be written to the saved game.
CvPlayer::doCulture() probably loops over all the player's cities to call CvCity::doCulture(). You may want to leave this in but have that function do nothing and then write your new code in the CvPlayer function.
Because each plot is affected by the surrounding plots, you need to make sure that you calculate the culture to add during the turn before changing the actual culture of the plots. This means probably adding a m_iCultureToAddThisTurn field to CvPlot that is used only during the doCulture() run (it doesn't need to be written to the saved game.
CvPlayer::doCulture() probably loops over all the player's cities to call CvCity::doCulture(). You may want to leave this in but have that function do nothing and then write your new code in the CvPlayer function.