Dancing Hoskuld's debug stuff (1.5)

Joined
Jul 5, 2004
Messages
23,562
Location
Canberra, Australia
This thread is just about what I am finding while I try to find the cause of a CTD. It is a separate thread so it can disappear and not hog other discussion threads:).

@Afforess I am getting a bunch of Asserts before even starting a game let alone getting to load the game with the problem. None of them seem to affect game play but many are to to with mods I maintain. I have even found the cause of one.

These are not in order but grouped

AAranda's Religions:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_HELLENISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ANDEAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_EGYPT_MYTHOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_NGAI already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESOAMERICANISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_EGYPT_MYTHOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESOAMERICANISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_DRUID already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_YORUBA already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_TENGRIISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHINTO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SCIENTOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_VOODOO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_DRUID already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SCIENTOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------

Misc my stuff:
Code:
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  3721
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  type FLAVOR_GOVERNMENT not found

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\AAranda\Custom_Religions\ShintoAndShamanism\"

----------------------------------------------------------

Assert Failed

File:  CvGlobals.cpp
Line:  4067
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_NIMRUD_PALACE not found, Current XML file is: modules\DancingHoskuld\BuildingSupplies\TapistryMaker_CIV4BuildingInfos.xml

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\ExtraMovies\"

----------------------------------------------------------

Other stuff:
Code:
Assert Failed

File:  CvInfos.cpp
Line:  23234
Expression:  false
Message:  

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1951
Expression:  bSuccess
Message:  

----------------------------------------------------------

Assert Failed

File:  CvInfos.cpp
Line:  13550
Expression:  GC.getInfoTypeForString(m_aszPrereqAndCivicsforPass3[iI]) >= 0
Message:  Warning, about to leak memory in CvBuildingInfo::readPass3

----------------------------------------------------------

Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type LEADER_ABUBAKR already exists, Current XML file is: modules\Afforess\Advanced Diplomacy\Memory Decays\AD_ZIEBEL_CIV4LeaderHeadInfos.xml

----------------------------------------------------------

Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type LEADER_AFONSO already exists, Current XML file is: modules\Afforess\Advanced Diplomacy\Memory Decays\AD_ZIEBEL_CIV4LeaderHeadInfos.xml

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "NONE"

----------------------------------------------------------

I have found the source of the FLAVOR_GOVERNMENT. It looks like I have missed something while converting AAranda's mods somewhere.
 
About these early asserts for religions and leaders, Afforess already said it had to do with WoC code. False positives so far as we are concerned.
 
About these early asserts for religions and leaders, Afforess already said it had to do with WoC code. False positives so far as we are concerned.

Thanks, I thought that was so for leaders so skipped the asserts on them after the second. I didn't know that about the religions and was worried it was something I had done.
 
Continuing on - fixed the FLAVOR problems - loaded a save game and I get

----------------------------------------------------------
Assert Failed

File: CvCity.cpp
Line: 12447
Expression: eIndex >= 0
Message: eIndex expected to be >= 0

----------------------------------------------------------

Pressing debug takes me to:-
Code:
int CvCity::getUnitCombatFreeExperience(UnitCombatTypes eIndex) const
{
	FAssertMsg(eIndex >= 0, "eIndex expected to be >= 0");
	FAssertMsg(eIndex < GC.getNumUnitCombatInfos(), "eIndex expected to be < GC.getNumUnitCombatInfos()");
	return m_paiUnitCombatFreeExperience[eIndex];
}

Now what?
 
This thread is just about what I am finding while I try to find the cause of a CTD. It is a separate thread so it can disappear and not hog other discussion threads:).

@Afforess I am getting a bunch of Asserts before even starting a game let alone getting to load the game with the problem. None of them seem to affect game play but many are to to with mods I maintain. I have even found the cause of one.

These are not in order but grouped

AAranda's Religions:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_HELLENISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ANDEAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_EGYPT_MYTHOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_NGAI already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESOAMERICANISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_EGYPT_MYTHOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESOAMERICANISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_DRUID already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_YORUBA already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_TENGRIISM already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHINTO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SCIENTOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_VOODOO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_ASATRU already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_DRUID already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SHAMAN already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_SCIENTOLOGY already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type RELIGION_MESO already exists, Current XML file is: modules\AAranda\Custom_Religions\Yoruba\Yoruba_CIV4ReligionInfo.xml

----------------------------------------------------------

Two of those are already present without your changes. The way WoC loads religions is odd (It loads them, then arranges them in alphabetical order), which may be causing the game to think they are loading twice. Basically, it's a false positive.

Misc my stuff:
Code:
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvGlobals.cpp
Line:  3721
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  type FLAVOR_GOVERNMENT not found

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\AAranda\Custom_Religions\ShintoAndShamanism\"

----------------------------------------------------------

Assert Failed

File:  CvGlobals.cpp
Line:  4067
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_NIMRUD_PALACE not found, Current XML file is: modules\DancingHoskuld\BuildingSupplies\TapistryMaker_CIV4BuildingInfos.xml

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\ExtraMovies\"

----------------------------------------------------------
Other stuff:
Code:
Assert Failed

File:  CvInfos.cpp
Line:  23234
Expression:  false
Message:  

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1951
Expression:  bSuccess
Message:  

----------------------------------------------------------[/QUOTE]

The flavor assert is a legitimate problem. You created a new flavor type, but didn't add it to the GlobalDefines. 

The bSuccess warnings are probably because the game was TOLD to load those folders in the MLF, but the game didn't find anything to load, so it failed. Remember asserts fire when the expression SHOULD BE true and is actually false. So the game should be finding the files (bSuccess = true), but they just contain art and junk, so there is no real XML to load. (At least, that's my theory. YMMV.)
[QUOTE]
Assert Failed

File:  CvInfos.cpp
Line:  13550
Expression:  GC.getInfoTypeForString(m_aszPrereqAndCivicsforPass3[iI]) >= 0
Message:  Warning, about to leak memory in CvBuildingInfo::readPass3

----------------------------------------------------------
[/QUOTE]

May or may not be a legit problem, I talked to Xienwolf and EF, and we changed the function so it shouldn't leak, so the assert may be a false positive. The PrereqAndCivics still work fine.

[QUOTE]
Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type LEADER_ABUBAKR already exists, Current XML file is: modules\Afforess\Advanced Diplomacy\Memory Decays\AD_ZIEBEL_CIV4LeaderHeadInfos.xml

----------------------------------------------------------

Assert Failed

File:  CvGlobals.cpp
Line:  4099
Expression:  iExisting==-1 || iExisting==idx || strcmp(szType, "ERROR")==0
Message:  info type LEADER_AFONSO already exists, Current XML file is: modules\Afforess\Advanced Diplomacy\Memory Decays\AD_ZIEBEL_CIV4LeaderHeadInfos.xml

----------------------------------------------------------[/QUOTE]

Basically, it means I'm loading a file twice. It happens because of WoC. WoC re-arranges the leaders in alphabetical order too.

[QUOTE]
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "NONE"

----------------------------------------------------------[/QUOTE]

same as above.


[QUOTE]
----------------------------------------------------------
Assert Failed

File:  CvCity.cpp
Line:  12447
Expression:  eIndex >= 0
Message:  eIndex expected to be >= 0

----------------------------------------------------------[/QUOTE]

Typical Civ. I don't have the time to track down these asserts, and they don't cause CTD's, so I generally ignore them. Basically, it means that someone tried to find the value of -1 in an array. 
[QUOTE]
Pressing debug takes me to:-
[CODE]int CvCity::getUnitCombatFreeExperience(UnitCombatTypes eIndex) const
{
    FAssertMsg(eIndex >= 0, "eIndex expected to be >= 0");
    FAssertMsg(eIndex < GC.getNumUnitCombatInfos(), "eIndex expected to be < GC.getNumUnitCombatInfos()");
    return m_paiUnitCombatFreeExperience[eIndex];
}
Now what?

Again, a legit problem, but since it doesn't cause a CTD...

If you get an assert right before a CTD, you can usually step into the code and see what happens by watching. Sometimes though, (Like when the game divides by 0), there is no assert and it simply crashes. Those are more troubling, but if you have VS attached to the process, it will show you where it divided by zero.

The top causes of CTD are:

Looking up the value of an array with an invalid index and trying to do something with it
Divide by 0

So watch for those.
 
Actually that last is causing a CTD! At least as far as I can see. I step through from the assert and it ctd's when it exits the function.
 
Actually that last is causing a CTD! At least as far as I can see. I step through from the assert and it ctd's when it exits the function.

This is completely hacky and breaks every programming rule I know, but...

Change that last function to this:
Code:
int CvCity::getUnitCombatFreeExperience(UnitCombatTypes eIndex) const
{
    FAssertMsg(eIndex >= 0, "eIndex expected to be >= 0");
    FAssertMsg(eIndex < GC.getNumUnitCombatInfos(), "eIndex expected to be < GC.getNumUnitCombatInfos()");
    if (eIndex < 0 || eIndex > GC.getNumUnitCombatInfos())
        return 0;
    return m_paiUnitCombatFreeExperience[eIndex];
}

Compile it and see if you can get past the turn.
 
I did the above and now while stepping through it I am getting an error in
Code:
inline bool CvString::formatv(std::string & out, const char * fmt, va_list args)
{
	char buf[2048];
	char * pbuf = buf;
	int len = 0;
	int attempts = 0;
	bool success = false;
	const int kMaxAttempts = 40;

	do
	{
		int maxlen = 2047+2048*attempts;
		len = _vsnprintf(pbuf,maxlen,fmt,args);
		attempts++;
		success = (len>=0 && len<=maxlen);
		if (!success)
		{
			if (pbuf!=buf)
				delete [] pbuf;
			pbuf = new char[2048+2048*attempts];
		}
	}
	while (!success && attempts<kMaxAttempts);

	if ( attempts==kMaxAttempts )
	{
		// dxPrintNL( "CvString::formatv - Max reallocs occurred while formatting string. Result is likely truncated!", 0 );
	}

	if (success)
		out = pbuf;
	[COLOR="Red"][B]else[/B][/COLOR]
		out = "";

	if (pbuf!=buf)
		delete [] pbuf;

	return success;
}

break is on the else statement in red. This happens a few times then it all stops.
 
The flavor assert is a legitimate problem. You created a new flavor type, but didn't add it to the GlobalDefines.

The bSuccess warnings are probably because the game was TOLD to load those folders in the MLF, but the game didn't find anything to load, so it failed. Remember asserts fire when the expression SHOULD BE true and is actually false. So the game should be finding the files (bSuccess = true), but they just contain art and junk, so there is no real XML to load. (At least, that's my theory. YMMV.)

I have got rid of the flavor errors I think. The bSuccess ones are for modules that are working in game. One builds the Strategic Grain Reserve, the movie plays and every city gets a granery ie it works. Same for the extra wonder movie one.
 
I did the above and now while stepping through it I am getting an error in
Code:
inline bool CvString::formatv(std::string & out, const char * fmt, va_list args)
{
    char buf[2048];
    char * pbuf = buf;
    int len = 0;
    int attempts = 0;
    bool success = false;
    const int kMaxAttempts = 40;

    do
    {
        int maxlen = 2047+2048*attempts;
        len = _vsnprintf(pbuf,maxlen,fmt,args);
        attempts++;
        success = (len>=0 && len<=maxlen);
        if (!success)
        {
            if (pbuf!=buf)
                delete [] pbuf;
            pbuf = new char[2048+2048*attempts];
        }
    }
    while (!success && attempts<kMaxAttempts);

    if ( attempts==kMaxAttempts )
    {
        // dxPrintNL( "CvString::formatv - Max reallocs occurred while formatting string. Result is likely truncated!", 0 );
    }

    if (success)
        out = pbuf;
    [COLOR=Red][B]else[/B][/COLOR]
        out = "";

    if (pbuf!=buf)
        delete [] pbuf;

    return success;
}
break is on the else statement in red. This happens a few times then it all stops.

Okay, remove the above code and return the above function back to it's BTS state. When you get that assert keeping hitting F11 until you get the process to break. Take note of the names of the functions you pass through, Does it land here when it crashes, or elsewhere?
 
I have made a concerted effort and gotten rid of all the FLAVOR errors, each time I removed one another would appear :(

I still have all those bSuccess type errors even though the modules are working, including the fixed boarder one.
Spoiler :
Code:
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\AAranda\Custom_Religions\ShintoAndShamanism\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\National_Wonders\Strategic_Grain_Reserve\"

----------------------------------------------------------
Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\DancingHoskuld\ExtraMovies\"

----------------------------------------------------------

Assert Failed

File:  CvXMLLoadUtilitySet.cpp
Line:  1594
Expression:  bSuccess
Message:  OWN TYPE - dependency not found: (null), in file: "modules\Afforess\Fixed Borders\"

----------------------------------------------------------

I am still getting one strange one
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4067
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_NIMRUD_PALACE not found, Current XML file is: modules\DancingHoskuld\BuildingSupplies\TapistryMaker_CIV4BuildingInfos.xml

----------------------------------------------------------

A search for any file containing BUILDING_NIMRUD_PALACE in the DancingHoskuld folder and below does not find any files with BUILDING_NIMRUD_PALACE in it.

The break occurs where it did before see pic1 below. Now to continue stepping through to see what happens. OK, I pressed the wrong keys while continuing and ended up back with that string problem see pic2 below. I will try again soonish.
 
Don't worry about the bSuccess errors. They seem to be harmless.

As for the missing building assert, double check all the modules and your python folder too. If something in python calls a getInfoTypeForString and it doesn't exist the game throws asserts left and right.

As for your crash, it breaks in a useless place, so we have to do this the hard way. There are approx 17 spots were getUnitCombatFreeExperience is called. Set a breakpoint at each one and figure out where it is being called with a -1. If you can figure out the source, we can patch it there.
 
There is definitely something wrong with my Civ install so I am going to remove and reinstall from scratch.

On the missing building assert - the building is in AAranda's religions. So I took out my vicinity production buildings mod and the assert went away.
 
Dancing Hoskuld compiled one from my source code, provided in the Modder's Guide thread.

If you aren't up to compiling, you can have the AND 1.54 debug dll I compiled.
View attachment 238876
(Warning: Regular Players should not use, it's meant for testing purposes only!)

OK, i got it, thx, if you wanted to take it down.
 
Back
Top Bottom