Mod only partially applies

Dd_Infiltrator

Chieftain
Joined
Sep 13, 2011
Messages
16
I'm trying to make a mod, but am having problems with activating it. It seems that only parts of it are applying.

I have the following in my .modinfo:
Spoiler :
<Actions>
<OnModActivated>
<UpdateDatabase>Text/Language_en_AU.xml</UpdateDatabase>
<UpdateDatabase>Text/GameText_EN.xml</UpdateDatabase>
<UpdateDatabase>XML/GlobalDefines.xml</UpdateDatabase>
<UpdateDatabase>XML/GameInfo/CIV5Worlds.xml</UpdateDatabase>
<UpdateDatabase>XML/Technologies/Eras.xml</UpdateDatabase>
<UpdateDatabase>XML/Technologies/Techs.xml</UpdateDatabase>
<UpdateDatabase>XML/Terrain/Improvements.xml</UpdateDatabase>
<UpdateDatabase>XML/Units/Caveman.xml</UpdateDatabase>
<UpdateDatabase>XML/Units/ICBM.xml</UpdateDatabase>
</OnModActivated>
</Actions>


GlobalDefines, CIV5Worlds, and Eras seem to apply; but Techs, Caveman, and ICBM do not.

Is there a log somewhere where I can see what's going on? Can anybody provide any clues?
 
My Documents\My Games\Sid Meier's Civilization 5\Logs\Database.log

When there is an error in an XML or SQL file, it can be deactivated entirely.
 
Okay, well using the clues in Database.log I was able to get ICBM to apply.

However, Techs doesn't want to apply at all; and there are no error messages for it. All there is is:
Spoiler :
[65.100] Validating Foreign Key Constraints...
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.508] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[65.904] Invalid Reference on Units.UnitFlagAtlas - "UNIT_FLAG_TOTAL" does not exist in IconTextureAtlases
[65.905] Invalid Reference on Units.IconAtlas - "TECH_ATLAS_TOTAL" does not exist in IconTextureAtlases
[65.906] Invalid Reference on Units.ObsoleteTech - "TECH_STONE_TOOLS" does not exist in Technologies
[65.907] Failure to check references for foreign key Units(CivilianAttackPriority).
[65.907] no such table: CivilianAttackPriority
[65.907] Failed Validation.


The fire and stone tools techs should exist if Techs.xml loaded up; but there's no mention of it. :confused:

Techs.xml (snipped)
Spoiler :

<GameData>
<Technologies>
<Row>
<Type>TECH_FIRE</Type>
<Cost>1</Cost>
<Description>TXT_KEY_TECH_FIRE_TITLE</Description>
<Civilopedia>TXT_KEY_TECH_FIRE_DESC</Civilopedia>
<Help>TXT_KEY_TECH_FIRE_HELP</Help>
<Era>ERA_PREHISTORIC</Era>
<Trade>False</Trade>
<GoodyTech>true</GoodyTech>
<GridX>0</GridX>
<GridY>4</GridY>
<Quote>TXT_KEY_TECH_FIRE_QUOTE</Quote>
<PortraitIndex>5</PortraitIndex>
<IconAtlas>TECH_ATLAS_TOTAL</IconAtlas>
<AudioIntro/>
<AudioIntroHeader/>
</Row>
<Row>
<Type>TECH_STONETOOLS</Type>
<Cost>40</Cost>
<Description>TXT_KEY_TECH_STONETOOLS_TITLE</Description>
<Civilopedia>TXT_KEY_TECH_STONETOOLS_DESC</Civilopedia>
<Help>TXT_KEY_TECH_STONETOOLS_HELP</Help>
<Era>ERA_PREHISTORIC</Era>
<Trade>False</Trade>
<GoodyTech>true</GoodyTech>
<GridX>1</GridX>
<GridY>8</GridY>
<Quote>TXT_KEY_TECH_STONETOOLS_QUOTE</Quote>
<PortraitIndex>1</PortraitIndex>
<IconAtlas>TECH_ATLAS_TOTAL</IconAtlas>
<AudioIntro/>
<AudioIntroHeader/>
</Row>
</Technologies>
</GameData>
 
Well some quick errors:

[65.906] Invalid Reference on Units.ObsoleteTech - "TECH_STONE_TOOLS" does not exist in Technologies

The technology listed is TECH_STONETOOLS and NOT TECH_STONE_TOOLS

For IconAtlas issues, it is best to assign an existing flag/icon from another unit until you build your own graphics.
 
Thanks for the help, guys.

I've got the errors down to:
Spoiler :

[109.011] Validating Foreign Key Constraints...
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.425] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.426] Invalid Reference on Civilization_FreeTechs.TechType - "TECH_FIRE" does not exist in Technologies
[109.843] Invalid Reference on Units.ObsoleteTech - "TECH_STONETOOLS" does not exist in Technologies
[109.844] Failure to check references for foreign key Units(CivilianAttackPriority).
[109.844] no such table: CivilianAttackPriority
[109.844] Failed Validation.


Techs.xml just does not seem to be applying at all. Is there any way to see which files civ is actually reading in?
 
I'm sorry; I did not understand that. What are tech pipes? And how do I go about diagnosing and repairing the error?

P.S. Improvements doesn't apply either.
 
Tech pipes are the lines connecting techs in the tech tree. AFAIK the issues with them only affect the tech tree display, they shouldn't cause an entire XML file not to load.

Try checking the other log files (Make sure to set LoggingEnabled to 1 in config.ini)
 
Well f*** me dead; the problem was an extra character at the begining of the Techs.xml file - a _single_ 'l'. Any idea why that wasn't just reported as an error instead of the whole file being silently ignored?

P.S. Actually, Improvements.xml is still not loading...
 
Back
Top Bottom