1. We have added the ability to collapse/expand forum categories and widgets on forum home.
    Dismiss Notice
  2. All Civ avatars are brought back and available for selection in the Avatar Gallery! There are 945 avatars total.
    Dismiss Notice
  3. To make the site more secure, we have installed SSL certificates and enabled HTTPS for both the main site and forums.
    Dismiss Notice
  4. Civ6 is released! Order now! (Amazon US | Amazon UK | Amazon CA | Amazon DE | Amazon FR)
    Dismiss Notice
  5. Dismiss Notice
  6. Forum account upgrades are available for ad-free browsing.
    Dismiss Notice

Winter Patch: Adding Icons and ArtDefs

Discussion in 'Civ6 - Modding Tutorials & Reference' started by PlotinusRedux, Dec 21, 2016.

  1. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
    [EDIT1]Added additional information inside "[EDIT1]...[/EDIT1]" blocks.[/EDIT1]

    The winter patch finally made it possible to add icons and artdefs without users having to copy files. I played around with @UncivilizedGuy 's Slavery mod because he has both icon and artdef changes, and got it working without copying any of his files to my base directory, so I'm going to use that as an example.

    Note this shouldn't be considered a replacement for his mod, it is an example only.

    First the example, then some explication:

    Mod directory structure:
    Code:
    \Mods
        \Slavery by UG (V. 2.4)
            Slavery.modinfo
            Slavery.dep
            \Data
                Data.xml
                Icons_Slavery.xml
            \ArtDefs
                Units.artdef
    Slavery.modinfo file:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    
    <Mod id="039cbfec-dbde-4e2e-9bb9-19787b5c6F813">
        <Properties>
            <Name>Plot's Test of UncivilizedGuy's Slavery</Name>
            <Teaser>Plot's test of UncivilizedGuy's Slavery.</Teaser>
            <Authors>UncivilizedGuy</Authors>
            <SpecialThanks>Special thanks go out to Onno "donald23" Zaal, Madjinn, and Deliverator</SpecialThanks>
        </Properties>
    
        <Files>
            <File>Data/Data.xml</File>
            <File>Data/Icons_Slavery.xml</File>
            <File>Slavery.dep</File>
        </Files>
     
        <Components>
            <Icons id="UGSIcons">
                <Items>
                    <File>Data/Icons_Slavery.xml</File>
                </Items>
            </Icons>
            <UpdateDatabase id="UGSComponent">
                <Items>
                    <File>Data/Data.xml</File>
                </Items>
            </UpdateDatabase>
            <ModArt id="UGSModArt">
                <Items>
                    <File>Slavery.dep</File>
                </Items>
            </ModArt>
        </Components>
    
    </Mod>
    Slavery.dep file:
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <AssetObjects::GameDependencyData>
        <ID>
            <!-- A Unique Name and GUID for your mod-->
            <name text="Civ6Slave"/>
            <id text="cb2f71b7-843e-4af3-9ca7-992acda9c122"/>
        </ID>
        <SystemDependencies>
            <Element>
                <!-- The type of thing you are adding -->
                <ConsumerName text="Units"/>
                <ArtDefDependencyPaths>
                    <!-- The name of the file you are adding,
                         seems to have to be the same as a base
                         file name -->
                    <Element text="Units.artdef"/>
                </ArtDefDependencyPaths>
            </Element>
        </SystemDependencies>
    </AssetObjects::GameDependencyData>
    Data/Icons_Slavery.xml file:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <GameInfo>
        <IconDefinitions>
            <!-- In general, just add "ICON_" to the front of any object you added -->
            <Row Name="ICON_POLICY_FORCED_LABOR" Atlas="ICON_ATLAS_POLICIES" Index="0"/>
            <Row Name="ICON_POLICY_INDENTURED_SERVITUDE" Atlas="ICON_ATLAS_POLICIES" Index="0"/>
            <Row Name="ICON_BUILDING_SLAVE_MARKET" Atlas="ICON_ATLAS_BUILDINGS" Index="11"/>
            <Row Name="ICON_UNIT_SLAVE_PORTRAIT" Atlas="ICON_ATLAS_UNIT_PORTRAITS" Index="1"/>
            <Row Name="ICON_UNIT_SLAVE" Atlas="ICON_ATLAS_UNITS" Index="1"/>
        </IconDefinitions>
    </GameInfo>
    ArtDefs/Units.artdef file:
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <AssetObjects::ArtDefSet>
        <m_Version>
            <major>4</major>
            <minor>0</minor>
            <build>238</build>
            <revision>243</revision>
        </m_Version>
        <m_TemplateName text="Units"/>
        <m_RootCollections>
            <Element>
                <m_CollectionName text="Units"/>
                <Element>
                    <m_Fields>
                        <m_Values>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text="Builder"/>
                                <m_RootCollectionName text="UnitFormationTypes"/>
                                <m_ArtDefPath text="Units.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text="Units"/>
                                <m_ParamName text="Formation"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text=""/>
                                <m_RootCollectionName text="UnitCombat"/>
                                <m_ArtDefPath text="Units.artdef"/>
                                <m_CollectionIsLocked>false</m_CollectionIsLocked>
                                <m_TemplateName text=""/>
                                <m_ParamName text="UnitCombat"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text=""/>
                                <m_RootCollectionName text="UnitFormationTypes"/>
                                <m_ArtDefPath text="Units.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text=""/>
                                <m_ParamName text="EscortFormation"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text="UNIT_ANCIENTEMBARK"/>
                                <m_RootCollectionName text="Units"/>
                                <m_ArtDefPath text="Units.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text="Units"/>
                                <m_ParamName text="EmbarkedUnit"/>
                            </Element>
                            <Element class="AssetObjects::BoolValue">
                                <m_bValue>false</m_bValue>
                                <m_ParamName text="DoNotDisplayCharges"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text=""/>
                                <m_RootCollectionName text="UnitCulture"/>
                                <m_ArtDefPath text="Cultures.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text=""/>
                                <m_ParamName text="Culture"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text=""/>
                                <m_RootCollectionName text="Era"/>
                                <m_ArtDefPath text="Eras.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text=""/>
                                <m_ParamName text="Era"/>
                            </Element>
                            <Element class="AssetObjects::ArtDefReferenceValue">
                                <m_ElementName text=""/>
                                <m_RootCollectionName text="Units"/>
                                <m_ArtDefPath text="Units.artdef"/>
                                <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                <m_TemplateName text=""/>
                                <m_ParamName text="ProxyUnit"/>
                            </Element>
                            <Element class="AssetObjects::BoolValue">
                                <m_bValue>false</m_bValue>
                                <m_ParamName text="PlayDeathOnDestroy"/>
                            </Element>
                            <Element class="AssetObjects::IntValue">
                                <m_nValue>-500</m_nValue>
                                <m_ParamName text="DisplayLevel"/>
                            </Element>
                        </m_Values>
                    </m_Fields>
                    <m_ChildCollections>
                        <Element>
                            <m_CollectionName text="Members"/>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::FloatValue">
                                            <m_fValue>1.000000</m_fValue>
                                            <m_ParamName text="Scale"/>
                                        </Element>
                                        <Element class="AssetObjects::IntValue">
                                            <m_nValue>1</m_nValue>
                                            <m_ParamName text="Count"/>
                                        </Element>
                                        <Element class="AssetObjects::ArtDefReferenceValue">
                                            <m_ElementName text="Builder_Ancient01"/>
                                            <m_RootCollectionName text="UnitMemberTypes"/>
                                            <m_ArtDefPath text="Units.artdef"/>
                                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                            <m_TemplateName text="Units"/>
                                            <m_ParamName text="Type"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="A"/>
                            </Element>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::FloatValue">
                                            <m_fValue>1.000000</m_fValue>
                                            <m_ParamName text="Scale"/>
                                        </Element>
                                        <Element class="AssetObjects::IntValue">
                                            <m_nValue>1</m_nValue>
                                            <m_ParamName text="Count"/>
                                        </Element>
                                        <Element class="AssetObjects::ArtDefReferenceValue">
                                            <m_ElementName text="Builder_Ancient02"/>
                                            <m_RootCollectionName text="UnitMemberTypes"/>
                                            <m_ArtDefPath text="Units.artdef"/>
                                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                            <m_TemplateName text="Units"/>
                                            <m_ParamName text="Type"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="B"/>
                            </Element>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::FloatValue">
                                            <m_fValue>1.000000</m_fValue>
                                            <m_ParamName text="Scale"/>
                                        </Element>
                                        <Element class="AssetObjects::IntValue">
                                            <m_nValue>1</m_nValue>
                                            <m_ParamName text="Count"/>
                                        </Element>
                                        <Element class="AssetObjects::ArtDefReferenceValue">
                                            <m_ElementName text="Builder_Ancient03"/>
                                            <m_RootCollectionName text="UnitMemberTypes"/>
                                            <m_ArtDefPath text="Units.artdef"/>
                                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                            <m_TemplateName text="Units"/>
                                            <m_ParamName text="Type"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="C"/>
                            </Element>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::FloatValue">
                                            <m_fValue>1.000000</m_fValue>
                                            <m_ParamName text="Scale"/>
                                        </Element>
                                        <Element class="AssetObjects::IntValue">
                                            <m_nValue>1</m_nValue>
                                            <m_ParamName text="Count"/>
                                        </Element>
                                        <Element class="AssetObjects::ArtDefReferenceValue">
                                            <m_ElementName text="Builder_Ancient04"/>
                                            <m_RootCollectionName text="UnitMemberTypes"/>
                                            <m_ArtDefPath text="Units.artdef"/>
                                            <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                            <m_TemplateName text="Units"/>
                                            <m_ParamName text="Type"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="D"/>
                            </Element>
                        </Element>
                        <Element>
                            <m_CollectionName text="Audio"/>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::StringValue">
                                            <m_Value text=""/>
                                            <m_ParamName text="XrefName"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="Entry"/>
                            </Element>
                            <Element>
                                <m_Fields>
                                    <m_Values>
                                        <Element class="AssetObjects::StringValue">
                                            <m_Value text="Builder"/>
                                            <m_ParamName text="XrefName"/>
                                        </Element>
                                    </m_Values>
                                </m_Fields>
                                <m_ChildCollections/>
                                <m_Name text="BUILDER"/>
                            </Element>
                        </Element>
                    </m_ChildCollections>
                    <m_Name text="UNIT_SLAVE"/>
                </Element>
            </Element>
        </m_RootCollections>
    </AssetObjects::ArtDefSet>
    Data/Data.xml: This is just where he's updating the Gameplay database we're already familiar with, so I'm not including it here.

    Icons

    The new <Icons> element can occur under <Components> and/or <Settings> depending on whether the icons are needed during game set up or game play. Firaxis seems to have added the same files to both.

    The file itself is an XML (though .sql would probably also work) that updates the in-memory icons database the same way that files under <UpdateDatabase> and <Custom> update their respective databases. [EDIT1]Per @Craig_Sutter, you can't use the same file names already used in the base directories, like "Icons_Buildings.xml".[/EDIT1]

    This means you don't want to copy an existing file like Icons_Buildings.xml and start adding to it--your file only needs to add the new icons you want. [EDIT1]See @Horem 's post below for how to add new icon graphics.[/EDIT1] Note you can add icons of all types--buildings, units, etc., in the same file.

    For "Name" you just prepend "ICON_" to whatever the identifier for your building, unit, etc., is--i.e., the value you used for "Type" when you added it to the Types table.

    Dep/Artdefs

    For artdefs, you *have* to use the same name as the file you are adding to, like Units.artdef, or the game won't load it--at least after an hour of trying I couldn't get it to load anything else (sorry @Deliverator ). You include only your additions to the file--you're not replacing the original file, you're adding to it. Note in the example Units.artdef file, only the XML for UNIT_SLAVE is included. [EDIT1]Per @Horem you can override existing objects by using the same name, such as defining a UNIT_TRADER object to change the traders' horses to reindeer.[/EDIT1]

    The artdef files [EDIT1]must be in an ArtDefs directory off your mod's root directory per @Hajee .[/EDIT1]

    Artdef files don't go anywhere in the .modinfo file at all, not even the main <Files> element--only in the .dep file which you put in your .modinfo file under <Components> and/or <Settings> under <ModArt><Items><File>.

    The .dep file can be called anything, and needs to include any .artdef files you've added. Again, you seem to be extending the existing definitions rather than replacing them, so it's only necessary to include files you're adding in dependencies, etc., and you don't need to re-specify things like <LibraryDependencies> unless you really added a library--which would mean you've figured out how to create BLP files and you should be writing this post, not reading it....

    You can see for example I didn't even include a <ArtDefDependencies> element. That *might* be necessary if you change 2 files that have a dependency on each other, but I'd try it without it first.

    This is also where you'd add .blp files if we knew how to create them yet.

    It's just as simple as that. The new DLC files seem to include a lot of stuff that isn't necessary, by testing I worked out the minimum required to get things working.

    I've updated the XSD file at https://forums.civfanatics.com/threads/civ6-modinfo-schema.606784/ to reflect the new changes.
     
    Last edited: Dec 22, 2016
  2. Horem

    Horem Chieftain

    Joined:
    Apr 1, 2010
    Messages:
    1,710
    Location:
    Wales, UK
    We can add our own Icons without the use of BLP's. You add the dds files to the Import part of the ModInfo:
    Code:
           <ImportFiles id="HS_Import">
               <Items>
                   <File>Art/Icons/Tech/Haj1Tech30.dds</File>
                   <File>Art/Icons/Tech/Haj1Tech38.dds</File>
                   <File>Art/Icons/Tech/Haj1Tech42.dds</File>
                   <File>Art/Icons/Tech/Haj1Tech42_FOW.dds</File>
                   <File>Art/Icons/Tech/Haj1Tech128.dds</File>
                   <File>Art/Icons/Tech/Haj1Tech160.dds</File>
                   <File>Art/Icons/Districts/financeatlas32.dds</File>
                   <File>Art/Icons/Districts/financeatlas38.dds</File>
                   <File>Art/Icons/Districts/financeatlas50.dds</File>
                   <File>Art/Icons/Districts/financeatlas80.dds</File>
                   <File>Art/Icons/Districts/financeatlas128.dds</File>
                   <File>Art/Icons/Districts/financeatlas256.dds</File>
               </Items>
           </ImportFiles>
    
    Create the Icon Atlas and Icon Definitions in a new XML:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <GameInfo>
       <IconTextureAtlases>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="32" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas32.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="38" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas38.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="50" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas50.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="80" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas80.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="128" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas128.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas256.dds"/>
           <Row Name="ICON_HS_ATLAS_DISTRICTS_FOW" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="financeatlas256.dds"/>
       </IconTextureAtlases>
       <IconDefinitions>
           <Row Name="ICON_DISTRICT_SHOPPING_COMPLEX"                 Atlas="ICON_HS_ATLAS_DISTRICTS" Index="0"/>
           <Row Name="ICON_DISTRICT_SOUQ"                                             Atlas="ICON_HS_ATLAS_DISTRICTS" Index="1"/>
           <Row Name="ICON_DISTRICT_SHOPPING_COMPLEX_FOW"      Atlas="ICON_HS_ATLAS_DISTRICTS_FOW" Index="0"/>
           <Row Name="ICON_DISTRICT_SOUQ_FOW"                                  Atlas="ICON_HS_ATLAS_DISTRICTS_FOW" Index="1"/>
       </IconDefinitions>
    </GameInfo>
    
    Then you add this to the Icon part of the ModInfo:
    Code:
           <Icons id="HS_Icons_Component">
               <Items>
                   <File>Art/Data/HS_Icons_Districts.xml</File>
                   <File>Art/Data/HS_Icons_Tech.xml</File>          
               </Items>
           </Icons>
    
     
  3. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
  4. Hajee

    Hajee Chieftain

    Joined:
    Nov 4, 2014
    Messages:
    322
    thank you for the guide. I wish I read this two hours ago to save me time.

    For the quote This is important. AFTER I followed your guide I still could not get the artdef to load. Once I made a new folder call "ArtDefs" was when the graphic finally loaded. So yes it appears we must have that folder name correct in order for the mod to load the file(s)
     
    Riker13 likes this.
  5. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    7,430
    Location:
    France
    @PlotinusRedux : thanks a lot !

    Do you know if we can replace things instead of adding ?
     
  6. Horem

    Horem Chieftain

    Joined:
    Apr 1, 2010
    Messages:
    1,710
    Location:
    Wales, UK
    @Gedemon : The Viking Scenario adds UnitDefs for UNIT_TRADER that says to me its possible to replace. They replace the Horses with Reindeers (Ho Ho Ho).
     
  7. Craig_Sutter

    Craig_Sutter Chieftain

    Joined:
    Aug 13, 2002
    Messages:
    2,661
    Gender:
    Male
    Location:
    Seoul, South Korea
    Just something to note... the game does not like if the you name your icon files the same as the game files... ie Icon_Buildings.xml causes an error.
     
  8. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    7,430
    Location:
    France
    Thanks, I'll have a look at the artdef.
     
  9. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
    I updated the OP with all the comments here so far inside [EDIT1]...[/EDIT1] blocks.
     
  10. Deliverator

    Deliverator Graphical Hackificator

    Joined:
    Feb 12, 2008
    Messages:
    3,927
    Location:
    London, UK
    This should be moved into Modding Tutorials and Reference IMO.
     
  11. Magil

    Magil Monarch

    Joined:
    Sep 26, 2010
    Messages:
    1,597
    Is it possible to add FontIcons currently? What I'm trying doesn't seem to be working.
     
  12. UncivilizedGuy

    UncivilizedGuy Civ is brain candy.

    Joined:
    May 24, 2012
    Messages:
    663
    Location:
    Center of the Universe
    Thanks! I love progress:goodjob:
     
  13. dartmor

    dartmor Chieftain

    Joined:
    Oct 23, 2010
    Messages:
    51
    Location:
    Russia
    I've added a new improvement, but i want it to look like Barbarian Camp. What should i write? I mean in artdef file?
     
  14. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    7,430
    Location:
    France
    I agree
    Moderator Action: moved to tutorials & reference
     
  15. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    7,430
    Location:
    France
    For information, there is a <RequiredGameArtIDs> tag that can be used in the .dep file like this
    Code:
        <RequiredGameArtIDs>
            <Element>
                <name text="DLC2"/>
                <id text="3809975F-263F-40A2-A747-8BFB171D821A"/>
            </Element>
        </RequiredGameArtIDs>
    which has solved an issue I had with the initialization order of the winged hussard unit with R.E.D
     
    Horem and Craig_Sutter like this.
  16. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
    @Gedemon , can you explain more about the situation this fixed? I saw that element being used by the Poland Scenario, but couldn't understand what it would actually do since the .modinfo already had the Poland DLC as a dependency.

    Like you, I had found the order of loading of artdefs seemed to depend entire on the mod's ModRowId in mods.sqlite, unless the .modinfo had a dependency listed--at least between R.E.D and MoarUnits. Your R.E.D mod surely had a higher ModRowId than the DLC, do I'm trying to understand why the <RequiredGameArtIDs> was necessary/what it change, and if it is changing the order of .artdef loading independently of the order of mod loading itself.
     
  17. anansethespider

    anansethespider Chieftain

    Joined:
    Oct 27, 2016
    Messages:
    289
    Gender:
    Male
    I've managed to add almost all of my ArtDefs to my .dep file successfully, but I'm having some trouble with one file in particular and I'm hoping some of you with more civ modding experience can help me!

    The problem comes from the WonderMovies.ArtDef file, which handles what world wonders look like on the map while they're being built. My attempts at adding this artdef to my .dep file have so far been unsuccessful, I "think" because I'm getting the ConsumerName wrong. For my other ArtDefs (Units, Buildings, and Districts) the consumer name is the same as the apparent name. But for WonderMovies.artdef, this doesn't seem to be the case. Anyone have any ideas?
     
  18. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
    @anansethespider when in doubt, look in base\Civ6.dep. From that, I think your problem is it should be WonderMovie.artdef and WonderMovie consumer--i.e., both singular, whereas your file is plural (unless that was just a typo in your post).
     
  19. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    7,430
    Location:
    France
    I'm using independent mods for compatibility, see R.E.D latest release.

    Setting dependency in the .modinfo seems to work so that my compatibility mod (including the artdef. file) is loaded after R.E.D. and Moar Units, but it doesn't for the DLC (for the .artdef file, I suppose database update and file override does work)

    So yes, the .artdef order appears to be independent in that case

    in ArtDef.log with <RequiredGameArtIDs> :
    Code:
    [2017-01-03 14:00:25]     Added art file 'REDModpack: 8670da15-d435-44ea-9758-7438cb321411' to the ArtDefProvider.
    [2017-01-03 14:00:25]     Added art file 'DLC2: 3809975F-263F-40A2-A747-8BFB171D821A' to the ArtDefProvider.
    [2017-01-03 14:00:25]     Added art file 'VikingsLandmarks: 9b820c07-a45c-4963-9854-65e1d7545c10' to the ArtDefProvider.
    [2017-01-03 14:00:25]     Added art file 'REDforPoland: 17b3fede-5505-4aed-88db-5a2026ea1dca' to the ArtDefProvider.
    without:
    Code:
    [2017-01-03 17:39:38]     Added art file 'REDModpack: 8670da15-d435-44ea-9758-7438cb321411' to the ArtDefProvider.
    [2017-01-03 17:39:38]     Added art file 'REDforPoland: 17b3fede-5505-4aed-88db-5a2026ea1dca' to the ArtDefProvider.
    [2017-01-03 17:39:38]     Added art file 'DLC2: 3809975F-263F-40A2-A747-8BFB171D821A' to the ArtDefProvider.
    [2017-01-03 17:39:38]     Added art file 'VikingsLandmarks: 9b820c07-a45c-4963-9854-65e1d7545c10' to the ArtDefProvider.
     
  20. PlotinusRedux

    PlotinusRedux Chieftain

    Joined:
    Jul 11, 2013
    Messages:
    196
    @Gedemon that's not good, so by default DLC artdef is always loading last, and to get your RED artdef to load after it, you have to make it a <RequiredGameArtIDs>? So you're having to have 2 separate .modinfo's, one for people with the DLC and one for people without, just to control the loading order? I don't suppose you tested what would happen if you tried the version with DLC2 in <RequiredGameArtIDs> with the DLC disabled to see if you could get away with 1 .modinfo?
     

Share This Page