The most popular Civ4 Python API reference online http://civ4bug.sourceforge.net/PythonAPI/index.html gives us a very good introduction to module CvPythonExtensions.
Unfortunately, not all of Python objects brought by CvPythonExtensions are mentioned in that reference.
I guess that reference is mainly built on pydoc.help(CvPythonExtensions). Namely, that reference is a reorganization of pydoc.help(CvPythonExtensions).
I noticed the function objects in CvPythonExtensions are undocumented by pydoc for some unknown reason. Thus I thought this is why the online reference is incomplete.
For example, in BtS 3.19, those missing functions are:
addImportModule
addWBAdvancedStartControlTabs
addWBPlayerControlTabs
atWar
callUpdater
cardinalDirectionToDirection
cyFloatRange
cyIntRange
destroyWBDiplomacyCtrl
directionXY
directionXYFromPlot
dxWrap
dyWrap
estimateDirection
finalImprovementUpgrade
getASBuilding
getASImprovement
getASRoute
getASUnit
getAlarmHour
getAlarmHourLeft
getAlarmMin
getAlarmMinLeft
getChtLvl
getCity
getClockText
getCombatOdds
getCyDefinesVarSystem
getEra
getEspionageModifier
getExeLinkDate
getLandPlotsAsset
getLandPlotsScore
getModulePathName
getOppositeCardinalDirection
getPopulationAsset
getPopulationPower
getPopulationScore
getSyncRandomSeed
getTechScore
getUnit
getWBSaveExtension
getWBSaveFolder
getWBToolAdvancedStartTabCtrl
getWBToolDiplomacyTabCtrl
getWBToolEditTabCtrl
getWBToolNormalMapTabCtrl
getWBToolNormalPlayerTabCtrl
getWonderScore
getWorldSizeMaxConscript
initWBDiplomacyCtrl
initWBToolAdvancedStartControl
initWBToolEditCtrl
initWBToolEditCtrlTab
initWBToolPlayerControl
isAlarmOn
isCardinalDirection
isLimitedProject
isLimitedUnitClass
isLimitedWonderClass
isMouseOverGameSurface
isNationalUnitClass
isNationalWonderClass
isPotentialEnemy
isPromotionValid
isReligionTech
isTeamProject
isTeamUnitClass
isTeamWonderClass
isTechRequiredForBuilding
isTechRequiredForProject
isTechRequiredForUnit
isWorldProject
isWorldUnitClass
isWorldWonderClass
loadImportModule
plotCardinalDirection
plotCity
plotCityXY
plotCityXYFromCity
plotDirection
plotDistance
plotXY
refreshWBEditCtrlCorporationButtons
refreshWBEditCtrlReligionButtons
saveDiplomacySettings
setAlarmHour
setAlarmMin
setDiplomacySettings
setFocusToCVG
setHeights
setNoIntroMovie
setWBInitialCtrlTabPlacement
shuffleList
splotCardinalDirection
splotXY
stepDistance
toggleAlarm
There are two sources of those undocumented APIs, CyGameCoreUtilsInterface.cpp and exe.
IMHO, those functions defined by CyGameCoreUtilsPythonInterface() in CyGameCoreUtilsInterface.cpp are useful, but quite ordinary.
Those functions brought by exe, at lease some of them, are really interesting.
For instance, callUpdater, I guess it is equivalent to gDLL->callUpdater().
addImportModule and loadImportModule, with no help, I don't know the real purpose of them and how to use them. But I guess they will be essential under special circumstances.
lots of APIs for WB, etc.
Unfortunately, not all of Python objects brought by CvPythonExtensions are mentioned in that reference.
I guess that reference is mainly built on pydoc.help(CvPythonExtensions). Namely, that reference is a reorganization of pydoc.help(CvPythonExtensions).
I noticed the function objects in CvPythonExtensions are undocumented by pydoc for some unknown reason. Thus I thought this is why the online reference is incomplete.
For example, in BtS 3.19, those missing functions are:
Spoiler :
addImportModule
addWBAdvancedStartControlTabs
addWBPlayerControlTabs
atWar
callUpdater
cardinalDirectionToDirection
cyFloatRange
cyIntRange
destroyWBDiplomacyCtrl
directionXY
directionXYFromPlot
dxWrap
dyWrap
estimateDirection
finalImprovementUpgrade
getASBuilding
getASImprovement
getASRoute
getASUnit
getAlarmHour
getAlarmHourLeft
getAlarmMin
getAlarmMinLeft
getChtLvl
getCity
getClockText
getCombatOdds
getCyDefinesVarSystem
getEra
getEspionageModifier
getExeLinkDate
getLandPlotsAsset
getLandPlotsScore
getModulePathName
getOppositeCardinalDirection
getPopulationAsset
getPopulationPower
getPopulationScore
getSyncRandomSeed
getTechScore
getUnit
getWBSaveExtension
getWBSaveFolder
getWBToolAdvancedStartTabCtrl
getWBToolDiplomacyTabCtrl
getWBToolEditTabCtrl
getWBToolNormalMapTabCtrl
getWBToolNormalPlayerTabCtrl
getWonderScore
getWorldSizeMaxConscript
initWBDiplomacyCtrl
initWBToolAdvancedStartControl
initWBToolEditCtrl
initWBToolEditCtrlTab
initWBToolPlayerControl
isAlarmOn
isCardinalDirection
isLimitedProject
isLimitedUnitClass
isLimitedWonderClass
isMouseOverGameSurface
isNationalUnitClass
isNationalWonderClass
isPotentialEnemy
isPromotionValid
isReligionTech
isTeamProject
isTeamUnitClass
isTeamWonderClass
isTechRequiredForBuilding
isTechRequiredForProject
isTechRequiredForUnit
isWorldProject
isWorldUnitClass
isWorldWonderClass
loadImportModule
plotCardinalDirection
plotCity
plotCityXY
plotCityXYFromCity
plotDirection
plotDistance
plotXY
refreshWBEditCtrlCorporationButtons
refreshWBEditCtrlReligionButtons
saveDiplomacySettings
setAlarmHour
setAlarmMin
setDiplomacySettings
setFocusToCVG
setHeights
setNoIntroMovie
setWBInitialCtrlTabPlacement
shuffleList
splotCardinalDirection
splotXY
stepDistance
toggleAlarm
There are two sources of those undocumented APIs, CyGameCoreUtilsInterface.cpp and exe.
IMHO, those functions defined by CyGameCoreUtilsPythonInterface() in CyGameCoreUtilsInterface.cpp are useful, but quite ordinary.
Those functions brought by exe, at lease some of them, are really interesting.
For instance, callUpdater, I guess it is equivalent to gDLL->callUpdater().
addImportModule and loadImportModule, with no help, I don't know the real purpose of them and how to use them. But I guess they will be essential under special circumstances.
lots of APIs for WB, etc.