Questions about using a custom DLL

PawelS

Ancient Druid
Joined
Dec 11, 2003
Messages
2,811
Location
Poland
I'm thinking about using a custom DLL in my mod, to be able to use the various fixes and modding capabilities included in them, and in the future use it as a base to make my own changes. I have some questions:

1. What are the differences between Whoward's VMC DLL and the Community Patch DLL and which one should I use?

2. Are these DLLs backwards compatible with the Firaxis version? I mean, when I only change the DLL and leave the database content, Lua scripts and UI files unchanged, will it work?
 
I'm thinking about using a custom DLL in my mod, to be able to use the various fixes and modding capabilities included in them, and in the future use it as a base to make my own changes. I have some questions:

1. What are the differences between Whoward's VMC DLL and the Community Patch DLL and which one should I use?

2. Are these DLLs backwards compatible with the Firaxis version? I mean, when I only change the DLL and leave the database content, Lua scripts and UI files unchanged, will it work?

1. Community Patch is more adopted to the needs of JFD's mods and others. VMC shouldn't I believe, so it doesn't have the necessary JFD yields and LUA events even though they use the same ID.
 
1. Community Patch is more adopted to the needs of JFD's mods and others. VMC shouldn't I believe, so it doesn't have the necessary JFD yields and LUA events even though they use the same ID.

I'm not sure If I'm going to use JFD's mods but it's possible that I will, also in another thread Gazebo wrote that it contains all the changes from VMC, if I understand it correctly. So for now I'm inclined towards using the CP DLL, unless someone convinces me otherwise.

CP also has AI alterations that AFAIK can't be disabled.

If these alterations just make the AI better then I don't mind. It doesn't have to behave exactly the same as without the custom DLL - I just wanted to know if it requires things like new tables, columns, defines, AI strategies etc. in the database, or altered UI, to work properly.
 
If these alterations just make the AI better then I don't mind. It doesn't have to behave exactly the same as without the custom DLL - I just wanted to know if it requires things like new tables, columns, defines, AI strategies etc. in the database, or altered UI, to work properly.

Sorry, I didn't answer before because I couldn't understand the question.
As far as my experience being a Level 15 VMC Addicted-Master (advanced school) can tell, you don't need to change anything in regards to your mod with or without the DLL; most game-changing modifications require an activation (through CustomModOptions.xml/.sql).
It is good to read the file (original CustomModOptions.xml) itself, because it tells which modifications are inherent and which aren't. The modifications are classified from 1 to 6 as follows: Class - Data=0, BugFix=1, API=2, Events=3, Minor=4, Common=5, Major=6.
 
I just wanted to know if it requires things like new tables, columns, defines, AI strategies etc. in the database, or altered UI, to work properly.

Can you just take the .dll file from either the VMC or CP mods and add it directly into your own mod? No.

Both DLL's require a number of database table additions/alterations to work - at the very least you need to take the XML that creates/populates the configuration database tables - see CustomModTables.xml and CustomModOptions.xml - but also some others that push previously hard-coded values into the Defines table

As bane_ said, your first port of call should be the CustomModOptions.xml file

As of v75 of DLL-VMC ...

To make use of the hard-coded configuration pushed into the Defines table you will need to include the AiInXml.sql and GameInXml.xml files

You should probably keep AllText_en_US.xml, although the worst that'll happen if you don't is that you'll get broken text strings in the UI

Regardless of whether or not you are using the new Yields, you MUST include the four unified yields related files - UnifiedYields.sql, UnifiedYields.xml, UnifiedYieldsTourism.xml and UnifiedYieldsGoldenAge.xml - these four files are commented at the top "DO NOT DELETE THIS FILE!!!"

If you want to use the new yields (Tourism and GA points) as tile yields, you'll need to take the modded YieldIconManager.lua/xml files and the two associated .dds files, to make them appear on the map.

To make use of the API extensions, you must include the Extensions.sql file

If you want the STFU code, you'll need both the Stfu.xml and Stuf.sql files and additionally the InGameUIAddin file Stfu.lua

All other xml/sql files are optional. If you don't include any/all of them, the config code will detect the missing file(s) for the associated option(s) and switch the option(s) off - even if you try to switch them on. So if you omit the PassableForts.sql file from your mod, it doesn't matter how hard you try to enable the GLOBAL_PASSABLE_FORTS option, it will not turn on. (Well ... as with all things software related, you could hack the code to get around it, but then you get everything you deserve when the game crashes as it tries to access a database table/column that doesn't exist!)

YMMV with the CP dll

HTH

W
 
Back
Top Bottom