Warlords 2.08 - modding impact?

Do we need full list of the patch chages in XML? It doesn't look like a big one.

The real problem is .dll.
 
After going to all the trouble to make Civ4 so moddable, it sure is a shame the devs didn't take more care that patches don't break mods. Many mod authors seem to have given up, not updating their mods for each new patch. Many of the best can't be used any more.
 
Well there is no way to change the SDK/Python/XML in a Firaxis patch to make it compatible with mods....

And updating a huge mod in ViSa took less than 1 day :)

The best mods will be updated, give the modders some time....and a break :)
 
Aussie_Lurker said:
OK, now I am really annoyed. Thanks to the patch I am getting the following error messages when I try to build a new .dll

Code:
error LNK2019: unresolved external symbol "public: int_thiscall CvCity::getBuildingCommerceChange etc etc.

and error LNK1120: 7 unresolved externals

Seriously, what is going on here? This worked perfectly before, but not now :(.

Aussie_Lurker.

I'm running into the exact same problem.

It happens right at the very end of compiling, right before the CvGameCoreDLL file is actually created. It's really frustrating... :mad:

Code:
Project   : CvGameCoreDLL
Compiler  : Microsoft Visual C++ Toolkit 2003 (called directly)
Directory : D:\Games\Sid Meier's Civilization IV\Warlords\CvGameCoreDLL\
--------------------------------------------------------------------------------
Switching to target: Final Release
CvArea.cpp
CvArtFileMgr.cpp
CvCity.cpp
CvCityAI.cpp
CvDLLButtonPopup.cpp
CvDLLEntity.cpp
CvDLLPython.cpp
CvDLLWidgetData.cpp
CvDeal.cpp
CvDiploParameters.cpp
CvFractal.cpp
CvGame.cpp
CvGameAI.cpp
CvGameCoreDLL.cpp
CvGameCoreUtils.cpp
CvGameTextMgr.cpp
CvGlobals.cpp
CvHallOfFameInfo.cpp
CvInfoWater.cpp
CvInfos.cpp
CvInitCore.cpp
CvMap.cpp
CvMapGenerator.cpp
CvPlayer.cpp
CvPlayer.cpp(6203) : warning C4244: '=' : conversion from 'float' to 'int', possible loss of data
CvPlayerAI.cpp
CvPlot.cpp
CvPlotGroup.cpp
CvPopupInfo.cpp
CvPopupReturn.cpp
CvRandom.cpp
CvReplayInfo.cpp
CvReplayMessage.cpp
CvSelectionGroup.cpp
CvSelectionGroupAI.cpp
CvStructs.cpp
CvTalkingHeadMessage.cpp
CvTeam.cpp
CvTeamAI.cpp
CvUnit.cpp
CvUnitAI.cpp
CvXMLLoadUtility.cpp
CvXMLLoadUtilityGet.cpp
CvXMLLoadUtilityInit.cpp
CvXMLLoadUtilitySet.cpp
CyArea.cpp
CyAreaInterface.cpp
CyArgsList.cpp
CyArtFileMgr.cpp
CyArtFileMgrInterface.cpp
CyCity.cpp
CyCityInterface1.cpp
CyDeal.cpp
CyEnumsInterface.cpp
CyGame.cpp
CyGameCoreUtils.cpp
CyGameCoreUtilsInterface.cpp
CyGameInterface.cpp
CyGameTextMgr.cpp
CyGameTextMgrInterface.cpp
CyGlobalContext.cpp
CyGlobalContextInterface1.cpp
CyGlobalContextInterface2.cpp
CyGlobalContextInterface3.cpp
CyGlobalContextInterface4.cpp
CyHallOfFameInfo.cpp
CyHallOfFameInterface.cpp
CyInfoInterface1.cpp
CyInfoInterface2.cpp
CyInfoInterface3.cpp
CyMap.cpp
CyMapGenerator.cpp
CyMapGeneratorInterface.cpp
CyMapInterface.cpp
CyPlayer.cpp
CyPlayerInterface1.cpp
CyPlot.cpp
CyPlotInterface1.cpp
CyRandomInterface.cpp
CyReplayInfo.cpp
CySelectionGroup.cpp
CySelectionGroupInterface.cpp
CyStructsInterface1.cpp
CyTeam.cpp
CyTeamInterface.cpp
CyUnit.cpp
CyUnitInterface1.cpp
FAssert.cpp
FDialogTemplate.cpp
_precompile.cpp
Linking dynamic library: ..\Warlords\Assets\CvGameCoreDLL.dll
   Creating library ..\Warlords\Assets\CvGameCoreDLL.lib and object ..\Warlords\Assets\CvGameCoreDLL.exp
[COLOR="Red"]CvDLLWidgetData.obj : error LNK2019: unresolved external symbol "public: int __thiscall CvUnit::getHurryProduction(class CvPlot const *)const " (?getHurryProduction@CvUnit@@QBEHPBVCvPlot@@@Z) referenced in function "public: void __thiscall CvDLLWidgetData::parseActionHelp(struct CvWidgetDataStruct &,class CvWString &)" (?parseActionHelp@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@AAVCvWString@@@Z)
CvUnit.obj : error LNK2001: unresolved external symbol "public: int __thiscall CvUnit::getHurryProduction(class CvPlot const *)const " (?getHurryProduction@CvUnit@@QBEHPBVCvPlot@@@Z)
CyUnit.obj : error LNK2001: unresolved external symbol "public: int __thiscall CvUnit::getHurryProduction(class CvPlot const *)const " (?getHurryProduction@CvUnit@@QBEHPBVCvPlot@@@Z)
CvDLLWidgetData.obj : error LNK2019: unresolved external symbol "public: int __thiscall CvUnit::getDiscoverResearch(enum TechTypes)const " (?getDiscoverResearch@CvUnit@@QBEHW4TechTypes@@@Z) referenced in function "public: void __thiscall CvDLLWidgetData::parseActionHelp(struct CvWidgetDataStruct &,class CvWString &)" (?parseActionHelp@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@AAVCvWString@@@Z)
CvUnitAI.obj : error LNK2001: unresolved external symbol "public: int __thiscall CvUnit::getDiscoverResearch(enum TechTypes)const " (?getDiscoverResearch@CvUnit@@QBEHW4TechTypes@@@Z)
CyUnit.obj : error LNK2001: unresolved external symbol "public: int __thiscall CvUnit::getDiscoverResearch(enum TechTypes)const " (?getDiscoverResearch@CvUnit@@QBEHW4TechTypes@@@Z)
CvDLLWidgetData.obj : error LNK2019: unresolved external symbol "public: enum TechTypes __thiscall CvUnit::getDiscoveryTech(void)const " (?getDiscoveryTech@CvUnit@@QBE?AW4TechTypes@@XZ) referenced in function "public: void __thiscall CvDLLWidgetData::parseActionHelp(struct CvWidgetDataStruct &,class CvWString &)" (?parseActionHelp@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@AAVCvWString@@@Z)
CvUnitAI.obj : error LNK2001: unresolved external symbol "public: enum TechTypes __thiscall CvUnit::getDiscoveryTech(void)const " (?getDiscoveryTech@CvUnit@@QBE?AW4TechTypes@@XZ)
CyUnit.obj : error LNK2001: unresolved external symbol "public: enum TechTypes __thiscall CvUnit::getDiscoveryTech(void)const " (?getDiscoveryTech@CvUnit@@QBE?AW4TechTypes@@XZ)
CvDLLWidgetData.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::canDiscover(class CvPlot const *)const " (?canDiscover@CvUnit@@QBE_NPBVCvPlot@@@Z) referenced in function "public: void __thiscall CvDLLWidgetData::parseActionHelp(struct CvWidgetDataStruct &,class CvWString &)" (?parseActionHelp@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@AAVCvWString@@@Z)
CvSelectionGroup.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CvUnit::canDiscover(class CvPlot const *)const " (?canDiscover@CvUnit@@QBE_NPBVCvPlot@@@Z)
CvUnitAI.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CvUnit::canDiscover(class CvPlot const *)const " (?canDiscover@CvUnit@@QBE_NPBVCvPlot@@@Z)
CyUnit.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CvUnit::canDiscover(class CvPlot const *)const " (?canDiscover@CvUnit@@QBE_NPBVCvPlot@@@Z)
CvSelectionGroup.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::canConstruct(class CvPlot const *,enum BuildingTypes,bool)const " (?canConstruct@CvUnit@@QBE_NPBVCvPlot@@W4BuildingTypes@@_N@Z) referenced in function "public: bool __thiscall CvSelectionGroup::canStartMission(int,int,int,class CvPlot *,bool)" (?canStartMission@CvSelectionGroup@@QAE_NHHHPAVCvPlot@@_N@Z)
CvUnitAI.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::canConstruct(class CvPlot const *,enum BuildingTypes,bool)const " (?canConstruct@CvUnit@@QBE_NPBVCvPlot@@W4BuildingTypes@@_N@Z) referenced in function __ehhandler$??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
CyUnit.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CvUnit::canConstruct(class CvPlot const *,enum BuildingTypes,bool)const " (?canConstruct@CvUnit@@QBE_NPBVCvPlot@@W4BuildingTypes@@_N@Z)
CvSelectionGroup.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::canJoin(class CvPlot const *,enum SpecialistTypes)const " (?canJoin@CvUnit@@QBE_NPBVCvPlot@@W4SpecialistTypes@@@Z) referenced in function "public: bool __thiscall CvSelectionGroup::canStartMission(int,int,int,class CvPlot *,bool)" (?canStartMission@CvSelectionGroup@@QAE_NHHHPAVCvPlot@@_N@Z)
CvUnitAI.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CvUnit::canJoin(class CvPlot const *,enum SpecialistTypes)const " (?canJoin@CvUnit@@QBE_NPBVCvPlot@@W4SpecialistTypes@@@Z)
CvSelectionGroup.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::discover(void)" (?discover@CvUnit@@QAE_NXZ) referenced in function "public: void __thiscall CvSelectionGroup::startMission(void)" (?startMission@CvSelectionGroup@@QAEXXZ)
CvSelectionGroup.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::construct(enum BuildingTypes)" (?construct@CvUnit@@QAE_NW4BuildingTypes@@@Z) referenced in function "public: void __thiscall CvSelectionGroup::startMission(void)" (?startMission@CvSelectionGroup@@QAEXXZ)
CvSelectionGroup.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvUnit::join(enum SpecialistTypes)" (?join@CvUnit@@QAE_NW4SpecialistTypes@@@Z) referenced in function "public: void __thiscall CvSelectionGroup::startMission(void)" (?startMission@CvSelectionGroup@@QAEXXZ)
CvUnitAI.obj : error LNK2019: unresolved external symbol "public: int __thiscall CvUnit::getMaxHurryProduction(class CvCity *)const " (?getMaxHurryProduction@CvUnit@@QBEHPAVCvCity@@@Z) referenced in function "protected: bool __thiscall CvUnitAI::AI_switchHurry(void)" (?AI_switchHurry@CvUnitAI@@IAE_NXZ)
CyUnit.obj : error LNK2001: unresolved external symbol "public: int __thiscall CvUnit::getMaxHurryProduction(class CvCity *)const " (?getMaxHurryProduction@CvUnit@@QBEHPAVCvCity@@@Z)
..\Warlords\Assets\CvGameCoreDLL.dll : fatal error LNK1120: 10 unresolved externals
Process terminated with status 1 (24 minutes, 25 seconds)[/COLOR]24 errors, 1 warnings

How do I work around this?
 
Are the only parts we really have to change the dll files, or some things in the xml or python? If so could someone make me a cvgamecoredll that allows for 24 civs?
 
ohcrapitsnico said:
Are the only parts we really have to change the dll files, or some things in the xml or python? If so could someone make me a cvgamecoredll that allows for 24 civs?
If the dll won't compile nobody will do you one obviously. Also this doesn't seem to be a thread for modrequests.
 
Did you just copy your dll files over the top of the dll files, or did you cut your code again from a fresh dll code base?

You can't just copy your edited 2.00 files into a 2.08 dll code base.

Dale
 
So, hang on Dale. You mean that I need to delete any existing .dll files for my mod, and rebuild an entirely new one?
If so, then hopefully that will be really easy ;).

EDIT: Nope, that didn't do the trick. Problems with canHurry code throughout the CvCityAI.cpp file.
Dammit, why won't this WORK :(!!

Aussie_Lurker.
 
Aussie_Lurker said:
So, hang on Dale. You mean that I need to delete any existing .dll files for my mod, and rebuild an entirely new one?
If so, then hopefully that will be really easy ;).

EDIT: Nope, that didn't do the trick. Problems with canHurry code throughout the CvCityAI.cpp file.
Dammit, why won't this WORK :(!!

Aussie_Lurker.

Yes, if what I'm thinking you're doing is so... then you will need to delete the .dll file in your mod folder, and recompile from scratch. You'll need to copy over your mod codes from the v2.00 C++ files over to the v2.08 files, then recompile. That's what I had to do.

Aussie, can you post the error code you're getting? Because I recompiled my v2.08 C++ files (with your mod in it) and it compiled just fine.

(BTW.. the problem I had a couple posts above is all taken care of. I was able to sucessfully re-compile my v2.08 files).
 
So the question is, how do you fully integrate the patch into your mods? Sorry, but I am a newbie!

Aussie_Lurker.
 
Aussie_Lurker said:
So, hang on Dale. You mean that I need to delete any existing .dll files for my mod, and rebuild an entirely new one?
If so, then hopefully that will be really easy ;).

I think you misunderstood Dale. He doesn't ask if you deleted the CvGameCoreDLL.dll, but if you manually re-integrated all your changes into the new cpp files (instead of copying whole files you used with earlier versions into the SDK-folder).
 
Well, I finally finished updating all of my Warlords mods to be compatible with the v2.0.8.0 patch. It wasn't too bad...
 
Back
Top Bottom