Single Player bugs and crashes v37 plus (SVN) - After the 24th of December 2016

Yes the core one. I updated one of the modules with the core one to see if that got rid of the errors and it did except for that one. It is the required copying to all the folders and renaming after you fix it that I dread.
If its a source of concern ive figured out some ways to be fairly efficient at it so ill update all unit schemas after this fix. Should prob do bldgs too after some recent stuff.
 
I haven't done the core files yet but I have finished going through the Modules files. There are some that will require a bit more work and I will need to leave that to someone else. I will document them here though.

You didn't get a chance to look at the building tag SpecialistCommerceChange it still does Yields not Commerces
Code:
    <ElementType name="SpecialistCommerceChange" content="eltOnly">
        <element type="SpecialistType"/>
        <element type="YieldChanges"/>
    </ElementType>

EDIT in the unit files PrereqBuildingClass is sometimes used. It is defined in the schema as
Code:
    <ElementType name="PrereqBuildingClass" content="eltOnly">
        <element type="BuildingClassType"/>
        <element type="bPrereq"/>
        <element type="TechOverride"/>
        <element type="EraOverride"/>
    </ElementType>
What are the TechOverride and EraOverride tags about and why are they not optional?
 
Last edited:
<ElementType name="PrereqBuildingClass" content="eltOnly">
<element type="BuildingClassType"/>
<element type="bPrereq"/>
<element type="TechOverride"/>
<element type="EraOverride"/>​
</ElementType>

What are the TechOverride and EraOverride tags about and why are they not optional?
They probably make the requirement invalid when a tech or era is reached.
I was under the impression that they were optional, are you sure the xml validator is not giving you a false positive?
 
I checked
SpecialistCommerceChange
and it should be CommerceChanges rather than YieldChanges.

And the fact those two nested tags aren't optional has got to just be an oversight.
 
What kind of issues could arise related to this schema mismatch (CTD, memory leaks, errors in the exe or dll that cause reduced performance?)?
In most cases it causes no errors to appear in game. It may cause memory problems when the data is read in.

It looks like they were the cause of my experimental Antiquities not working. Which is what the validator is for - finding problems when you can't see then yourself. The validator is case sensitive so iPLacementOrder in the Bonus Infos is not the same as iPlacementOrder but the code Civ uses to read the tags may not case sensitive. That example was the main source of errors on the Cultural Bonuses file.
 
Camel myths seemed to have broke in the last SVN?
I'm getting five errors related to unit infos file, all regarding camels. animals/beastmaster/beastmaster_civ4unitinfos.xml
I don't know what to look at to even attempt to fix this.
Looked into things and reverted the file on my local. Seemed to have solved the issue.
 
Last edited:
Camel myths seemed to have broke in the last SVN?
I'm getting five errors related to unit infos file, all regarding camels. animals/beastmaster/beastmaster_civ4unitinfos.xml
I don't know what to look at to even attempt to fix this.
Looked into things and reverted the file on my local. Seemed to have solved the issue.
Must be something I did while "fixing: the XML. It will just be that file. I was putting in the TechOverride and EraOverride on the prereq buildings just to get rid of an error. I did recheck the syntax via validator but forgot to recheck it still worked in game.
 
The dll actually doesn't care about those old schema files anymore since the xml parser was switched away from msxml. I never got to complete the new xsd schema but since you guys still struggle alot with xml errors i continued working on it.
 
Now that I have a little bandwidth to consider helping here, is there anything you'd need me to resolve DH?
I notice that no one has looked at the files of errors I posted on the SVN thread. They are small enough that I could have put them in a code block instead. I think the longest one is about 15 lines long.
The dll actually doesn't care about those old schema files anymore since the xml parser was switched away from msxml. I never got to complete the new xsd schema but since you guys still struggle alot with xml errors i continued working on it.
It worries me a lot that the schema files do not control the validation of the XML files. Just saying.

edit I can't figure this one out. it may be pointing to an error in the schema file
Spoiler fixed :
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Buildings\SpecialBuildings_CIV4BuildingInfos.xml:654,29: The element 'PrereqOrBuildingClasses' in namespace 'x-schema:C2C_CIV4BuildingsSchema.xml' cannot contain text. List of possible elements expected: 'x-schema:C2C_CIV4BuildingsSchema.xml:PrereqOrBuildingClass'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Buildings\SpecialBuildings_CIV4BuildingInfos.xml:17206,23: The element 'BuildingInfo' in namespace 'x-schema:C2C_CIV4BuildingsSchema.xml' cannot contain text. List of possible elements expected: 'x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatRetrainTypes x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatRepelModifiers x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatRepelAgainstModifiers x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatDefenseAgainstModifiers x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatProdModifiers x-schema:C2C_CIV4BuildingsSchema.xml:UnitCombatOngoingTrainingDurations x-schema:C2C_CIV4BuildingsSchema.xml:BonusAidModifiers x-schema:C2C_CIV4BuildingsSchema.xml:AfflictionOutbreakLevelChanges x-schema:C2C_CIV4BuildingsSchema.xml:TechOutbreakLevelChanges x-schema:C2C_CIV4BuildingsSchema.xml:TechHappinessTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechHealthTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechSpecialistHappinessTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechSpecialistHealthTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechSpecialistUnHappinessTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechSpecialistUnHealthTypes x-schema:C2C_CIV4BuildingsSchema.xml:TechSpecialistHappinesses x-sche....

This one is about city crime property in the civics
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4CivicInfos.xml:15620,9: The 'x-schema:C2C_CIV4GameInfoSchema.xml:iConstant' element is not declared.

The other set in the XML\GameInfo folder is also about properties
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml:575,17: The element 'x-schema:C2C_CIV4GameInfoSchema.xml:TargetCondition' cannot contain child element 'x-schema:C2C_CIV4GameInfoSchema.xml:Or' because the parent element's content model is text only.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml:708,17: The element 'x-schema:C2C_CIV4GameInfoSchema.xml:TargetCondition' cannot contain child element 'x-schema:C2C_CIV4GameInfoSchema.xml:Not' because the parent element's content model is text only.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml:730,17: The element 'x-schema:C2C_CIV4GameInfoSchema.xml:TargetCondition' cannot contain child element 'x-schema:C2C_CIV4GameInfoSchema.xml:Not' because the parent element's content model is text only.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml:885,17: The element 'x-schema:C2C_CIV4GameInfoSchema.xml:TargetCondition' cannot contain child element 'x-schema:C2C_CIV4GameInfoSchema.xml:Is' because the parent element's content model is text only.

The errors coming up in the Events XML is mostly the one about Trigger text but there are others in there which are hard to see because of the number of trigger text errors
 
Last edited:
I notice that no one has looked at the files of errors I posted on the SVN thread. They are small enough that I could have put them in a code block instead. I think the longest one is about 15 lines long.
OK, will try to take a look into these things tomorrow.
 
In the TechInfos file the "dummy" tech has the tag bGraphicalOnly defined for it but that tag is not in the schema. This is why it is appearing in the pedia. adding the tag to the schema is trivial since as far as I know the dll already expects it there but then it should not be appearing in the pedia:confused:

In the FeatureInfos file iPopDestroys is defined as boolean but values in the file are integers. Since the tag starts with "i" and not "b" I would have thought it was an integer myself.

There are a lot of errors in the ImprovementInfos file that suggest the order of the elements is still important inside group tags.

In XML\Units

Problems in the various Unit Infos
Spoiler fixed :
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\Animals_CIV4UnitInfos.xml:34,7: The element 'GroupSpawnUnitCombatType' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'Title' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:iChance'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\Animals_CIV4UnitInfos.xml:416,7: The element 'GroupSpawnUnitCombatType' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'Title' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:iChance'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\Animals_CIV4UnitInfos.xml:3793,7: The element 'GroupSpawnUnitCombatType' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'Title' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:iChance'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\Animals_CIV4UnitInfos.xml:11647,7: The element 'GroupSpawnUnitCombatType' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'Title' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:iChance'.


Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:21561,6: The 'x-schema:C2C_CIV4UnitSchema.xml:NotUnitAI' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:21666,6: The 'x-schema:C2C_CIV4UnitSchema.xml:NotUnitAI' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:21767,6: The 'x-schema:C2C_CIV4UnitSchema.xml:NotUnitAI' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:21877,6: The 'x-schema:C2C_CIV4UnitSchema.xml:NotUnitAI' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:45834,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatModifiers' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:45979,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatModifiers' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:50762,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatStrikes' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:61553,7: The element 'PrereqBuildingClass' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has incomplete content. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:TechOverride'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:61687,7: The element 'PrereqBuildingClass' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has incomplete content. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:TechOverride'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:63757,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iBaseFoodChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:63964,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iBaseFoodChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:64164,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iBaseFoodChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitInfos.xml:64365,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iBaseFoodChange' element is not declared.
-----------------------------------
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CulturalUnits_CIV4UnitInfos.xml:6619,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iEarlyWithdrawal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CulturalUnits_CIV4UnitInfos.xml:9463,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iEarlyWithdrawal' element is not declared.

Possible schema problems with Promotions and Unit Combat either that or someone is trying to do something that is not supported yet.
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:9839,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatPercent' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:9887,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatPercent' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:9935,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iStealthCombatPercent' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:26249,5: The 'x-schema:C2C_CIV4UnitSchema.xml:bSpecial' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29810,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29841,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29870,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29902,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29933,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29962,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4PromotionInfos.xml:29994,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iSelfHeal' element is not declared.
Code:
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:540,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:541,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iHillsAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:832,25: The 'x-schema:C2C_CIV4UnitSchema.xml:bNoInvisibility' element has an invalid value according to its data type.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:839,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:855,6: The element 'PursuitVSUnitCombatTypesChange' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'PursuitVSUnitCombatTypeChange' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:UnitCombatType'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:855,6: The 'x-schema:C2C_CIV4UnitSchema.xml:PursuitVSUnitCombatTypeChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:935,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:936,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityDefenseChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:4160,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iHillsDefenseChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:4932,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:4933,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iCityDefenseChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:4934,5: The 'x-schema:C2C_CIV4UnitSchema.xml:iHillsAttackChange' element is not declared.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:5048,6: The element 'PursuitVSUnitCombatTypesChange' in namespace 'x-schema:C2C_CIV4UnitSchema.xml' has invalid child element 'PursuitVSUnitCombatTypeChange' in namespace 'x-schema:C2C_CIV4UnitSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4UnitSchema.xml:UnitCombatType'.
F:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\Units\CIV4UnitCombatInfos.xml:5048,6: The 'x-schema:C2C_CIV4UnitSchema.xml:PursuitVSUnitCombatTypeChange' element is not declared.

That is the lot. I have some more that I fixed and need to put up.
 
Last edited:
It worries me a lot that the schema files do not control the validation of the XML files. Just saying.

Absolutely but we had to completely move away from the old xml parser because it always crashed the debug dll. I created that xmlvalidator to at least enable some validation.

The release dll doesn't have xml validation since AIAndy changed the xml parser to rapidxml. The debug dll still used the old parser to enable xml validation but nobody used it back then and C2C was full of xml errors at that time. Someone even changed the schema instead of his own flawed xml to get rid of any error message and the schema files in the modules where outdated.

Those old errors and errors in the newly added stuff made me abandon the work on the new schema. Because while I was working on it I ended up spending lots of time fixing all kinds of errors and didn't have much time to actually work on the schema.
 
Last edited:
The validator is very useful if finding those "inexplicable" errors. I have used it on other mods and suggested it to others on the Civ IV forums. It has helped.

This time through we started with over 10,000 errors. Just under half were due to the path being wrong which is not always a problem because of the way the dll caches schema files. A lot were because the tag name had a capital letter where it should have been lower case, again not a problem since the dll parsing is not case sensitive in Windows OS. The majority of the others were due to the modder thinking that a tag was optional or that the order of the tags was not important - which may not be a problem as the dll has been upgraded by you and others to handle that in most cases.

That left a few which are "real" errors either in the XML or the schema which may have been causing problems in game. One was with my Antiquities mod which I had removed because I could not get it to work in game but could not find anything wrong in the XML - dyslexia helped hide the problem here.
 
A lot were because the tag name had a capital letter where it should have been lower case, again not a problem since the dll parsing is not case sensitive in Windows OS.

XML tags are generally Case Sensitive did you check if the tags with wrong letters showed up in game?
 
I did not intend to set off a wave of "OMG all these things are WRONG" in my post earlier...
 
Top Bottom