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

I assumed that having that FeaturePassableTechs tag like that would make terrains that are impassable passable if they have a savanna feature on them.
I assumed this, because, why else set it up like that. ^^ (@DH: did you originally set those up?)

Spoiler Example: :
Code:
            <TerrainImpassableTypes>
                <TerrainType>TERRAIN_BARREN</TerrainType>
                <TerrainType>TERRAIN_DUNES</TerrainType>
                <TerrainType>TERRAIN_ICE</TerrainType>
                <TerrainType>TERRAIN_LUSH</TerrainType>
                <TerrainType>TERRAIN_MARSH</TerrainType>
                <TerrainType>TERRAIN_MUDDY</TerrainType>
                <TerrainType>TERRAIN_PERMAFROST</TerrainType>
                <TerrainType>TERRAIN_ROCKY_COLD</TerrainType>
                <TerrainType>TERRAIN_SALT_FLATS</TerrainType>
                <TerrainType>TERRAIN_TAIGA</TerrainType>
                <TerrainType>TERRAIN_TUNDRA</TerrainType>
            </TerrainImpassableTypes>
            <FeatureImpassableTypes>
                <FeatureType>FEATURE_JUNGLE</FeatureType>
                <FeatureType>FEATURE_SWAMP</FeatureType>
            </FeatureImpassableTypes>
            <FeaturePassableTechs>
                <FeaturePassableTech>
                    <FeatureType>FEATURE_FOREST</FeatureType>
                    <PassableTech>NONE</PassableTech>
                </FeaturePassableTech>
                <FeaturePassableTech>
                    <FeatureType>FEATURE_FOREST_OLD</FeatureType>
                    <PassableTech>NONE</PassableTech>
                </FeaturePassableTech>
                <FeaturePassableTech>
                    <FeatureType>FEATURE_FOREST_NEW</FeatureType>
                    <PassableTech>NONE</PassableTech>
                </FeaturePassableTech>
            </FeaturePassableTechs>
This would hopefully make all those terrain types passable if they have any of those three features on them.
Am I wrong in this assessment?
 
Last edited:
Ok, those have been like that since you added that xml file in rev. 7027.
So I, as the new modder, just assumed it worked, trusting that the old guards work is sound.

I only moved the animals and heroes out of the main units file.
 
I found something odd inside the Animals_CIV4UnitInfos.xml. There are hundreds of units with xml like this.
Code:
            <FeatureImpassableTypes>
                <FeatureType>FEATURE_MANGROVE</FeatureType>
                <FeatureType>FEATURE_SWAMP</FeatureType>
            </FeatureImpassableTypes>
            <FeaturePassableTechs>
                <FeaturePassableTech>
                    <FeatureType>FEATURE_SAVANNA</FeatureType>
                    <PassableTech>NONE</PassableTech>
                </FeaturePassableTech>
            </FeaturePassableTechs>

That makes no sense at all because:
  1. FEATURE_SAVANNA isn't listed under FeatureImpassableTypes so putting it into FeaturePassableTechs does exactly nothing.
  2. Even if it would be listed under FeatureImpassableTypes it would make no sense at all without a PassableTech.
There were attempts early on to get the animals to stay where they should an not wander into places they should not. It was only done on a few, the various river crocodiles mainly, in an attempt to keep them next to waterways.

The SAVANNA bit is probably trying to say that the unit can always enter savanna no matter what the terrain limits on the unit are. So for example if it can't enter hills it can enter hills with savanna on them.
 
Minor Bug

The random event that causes a volcano to go extinct (removes it from the map) reduces 1:food: from all adjacent tiles, even if they have never before benefited from an earlier +1:food: volcanic eruption event. This causes some normal 2-yield tiles to turn into 1-yields. In the screenshot below, those are Plains. I assume the -1 :food: effect was added in order to nullify the earlier event.

Version 9577

Spoiler Screenshot :
Volcano Food Loss0000.JPG
 
There are the four on the the previous page and the three in the files I posted on the SVN thread when this all came up.

The Validator is linked to in the Modders documentation thread.
Thank you. I'm working on these now. Much easier to run my own validation checks to see exactly where we are with things.

There was one here, <bSpecial> in use on one of your promos, a Tradition or something. Do you know what that was intended to achieve? The tag doesn't exist.


There's indeed a big bunch of things to address that this is showing. Very frustrating as I THOUGHT the debug DLL was running validation checks to this level of integrity. Ah well. Now that I know this can find more than the debug DLL, I'll be making sure to regularly check my work with it. Much of this is mine, having assumed it would've been caught if wrong. ugh.
 
There was one here, <bSpecial> in use on one of your promos, a Tradition or something. Do you know what that was intended to achieve? The tag doesn't exist..

Here is what i found???

<PromotionInfo>​
<Type>PROMOTION_ARCHER_TRADITION</Type>
<Description>TXT_KEY_PROMOTION_ARCHER_TRADITION</Description>
<Sound>AS2D_IF_LEVELUP</Sound>
<TechPrereq>TECH_DUMMY</TechPrereq>
<bSpecial>1</bSpecial>

bSpecial is in the Tech schema area???(see pic)
 

Attachments

  • bSpec.JPG
    bSpec.JPG
    74.6 KB · Views: 63
Ok, I don't know how to resolve this one. This is for AIAndy, or perhaps Alberts2 if willing:
Code:
Validating C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml
-----------------------------------
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
 
Here is what i found???

<PromotionInfo>​
<Type>PROMOTION_ARCHER_TRADITION</Type>
<Description>TXT_KEY_PROMOTION_ARCHER_TRADITION</Description>
<Sound>AS2D_IF_LEVELUP</Sound>
<TechPrereq>TECH_DUMMY</TechPrereq>
<bSpecial>1</bSpecial>

bSpecial is in the Tech schema area???(see pic)
Right... it has no use or application in promotions and I have no idea what it's supposed to do in Tech Infos. I assume this is part of the import for this Tradition. For now, I've just removed bSpecial but I'd like to know what was intended by using the tag.
 
@alberts2 :
This one doesn't make any sense to me. It looks completely correct as is so what could the validator be catching as wrong?
Code:
-----------------------------------
Validating C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml
-----------------------------------
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:296,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHealthPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:472,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHappinessPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:991,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHappinessPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
-----------------------------------
Validation complete with 3 error(s)
 
In some of the XML the order is important. I don't know why but if you move them to just after the iExperience with happiness before health the error goes away.
 
Using latest SNV here. Doing ultra fast (Duel/Normal/Noble) test run trough eras to check if tech are properly located e.g tech and its requirement isn't on same X spot.
Clumn coords taken from Hydromancers google doc.
Err tech was still slow for testing lite this, set research cost modifier to zero for one beaker cost. Now I research whole column at once.



Trap Fishing can be moved to the right too: (X9 -> X10)


Flint Knapping (X10 -> X11)


Hunting Tactics (X13 -> X14)


ANCIENT:
Karma (X30 -> x31)


MEDIEVAL:
Armored Cavarly (X47 -> X48).


MODERN:
Supersonic Flight (X81 -> X82)


There are no Information and higher era lifestyles.
INFORMATION:
Metamaterials (X94 -> X95)


NANOTECH:
Megacorporations and Lunar Tourism should swap places. (X100 <-> X101)


Dystopia Pathogens (X106 -> X107)

And thats all.
 
Last edited:
The UNITCOMBAT_ANIMAL_COMBAT_RAGING uses the iStrAdjperRndChange tag but that tag doesn't exist.


EDIT:

The UNITCOMBAT_RUFFIAN uses the iHillsDefenseChange tag but that one also doesn't exist.
 
Last edited:
In some of the XML the order is important. I don't know why but if you move them to just after the iExperience with happiness before health the error goes away.
They seem to be organized exactly as the schema would call for. In the first example, iExperience and iHappinessPercent aren't even listed in the object definition, which should also be perfectly legal right?
 
The UNITCOMBAT_ANIMAL_COMBAT_RAGING uses the iStrAdjperRndChange tag but that tag doesn't exist.


EDIT:

The UNITCOMBAT_RUFFIAN uses the iHillsDefenseChange tag but that one also doesn't exist.
The first is an oversight... didn't realize I hadn't given that tag to unitcombats. I've got it on a shortlist to add there because it's a very appropriate use of the ability there. We can comment the line out until I've got that sorted out though. Done on my end.

The second is just a misnomer on the tag. I've fixed it on my end.
 
Yeah, still can't figure these out so if someone could help me to figure out what the fix is on these that would be awesome. Otherwise I have no other errors according to the validator.
Code:
Validating C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4PropertyInfos.xml
-----------------------------------
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
C:\Program Files (x86)\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.
-----------------------------------
Validation complete with 4 error(s)
-----------------------------------
Code:
-----------------------------------
Validating C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml
-----------------------------------
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:296,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHealthPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:472,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHappinessPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\XML\GameInfo\CIV4SpecialistInfos.xml:991,5: The element 'SpecialistInfo' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml' has invalid child element 'iHappinessPercent' in namespace 'x-schema:C2C_CIV4GameInfoSchema.xml'. List of possible elements expected: 'x-schema:C2C_CIV4GameInfoSchema.xml:Flavors x-schema:C2C_CIV4GameInfoSchema.xml:HotKey x-schema:C2C_CIV4GameInfoSchema.xml:bAltDown x-schema:C2C_CIV4GameInfoSchema.xml:bSlave x-schema:C2C_CIV4GameInfoSchema.xml:bShiftDown x-schema:C2C_CIV4GameInfoSchema.xml:bCtrlDown x-schema:C2C_CIV4GameInfoSchema.xml:iHotKeyPriority x-schema:C2C_CIV4GameInfoSchema.xml:iOrderPriority x-schema:C2C_CIV4GameInfoSchema.xml:Button'.
-----------------------------------
Validation complete with 3 error(s)
-----------------------------------
 
In some of the XML the order is important. I don't know why but if you move them to just after the iExperience with happiness before health the error goes away.

@T-brd,
For you last group have you done what DH said in this post? Put the 2 happiness ones before the health one?
 
@T-brd,
For you last group have you done what DH said in this post? Put the 2 happiness ones before the health one?
The other wasn't present to make a difference. I suppose I could try adding the tag and just giving it the default value...
 
@Thunderbrd: Some speculations from me on that first group of errors.

Schema:
<ElementType name="TargetCondition" content="textOnly"/>
<ElementType name="Active"/>

I think TargetCondition should be the same as Active like this:
<ElementType name="TargetCondition"/>

The textOnly makes TargetCondition expects something like this:
<TargetCondition>TAG_OWNED</TargetCondition>
No child elements.

This is the form it is in:
<TargetCondition>
<Is>TAG_OWNED</Is>​
</TargetCondition>
And it throws an error because it expects text (TAG_OWNED) but finds a child (<Is>).

While Active is completely fine with having child elements like this:
<Active>
<Is>TAG_OWNED</Is>​
</Active>

Again, I'm quite green at this area, so maybe there's just something I don't understand and that even though Active and TargetCondition have the same content type they need to be defined differently in the schema.
 
Last edited:
Top Bottom