Modmodding Q&A Thread

I am using 2019, it was the most recent one the last one I setup everything to compile the DLL. If it's still available, it's worth trying.
 
A while ago, a fellow modder informed me in a private conversation that he was getting compiler errors with VS22 and my project setup (based on Nightinggale's, for a fork of the "A New Dawn" mod) – and no such problems with VS19. He surmised that some fundamental changes in VS22 could be responsible; it's e.g. the first 64-bit version of VS. He also let me know that the Caveman2Cosmos (C2C) project files were working for him in VS22 (and even without VS2010 being installed alongside). That gave me the idea that the version of the Windows SDK (6.0 vs. 7.*) could make a difference; C2C uses v6.0, which is also the version Nightinggale has been recommending in the easiest-way-to-compile thread. The reported errors always seem to concern sal.h (that header not being found or, apparently, a too recent version of it being included somehow). Might be worth a quick shot, i.e. to download the "We the People" dependencies and point the PSDK variable to the SDKs/Windows/v6.0 folder. Or perhaps that's what you already have -
About the makefile, it was the same modified version of the makefile I've had for years. Only updated the TOOLKIT and PSDK variables to align with the Civ4SDK I installed from the forums, but largely unchanged apart from that.
in which case, I have no better idea than to go back to VS19 or earlier. I'd like to experiment with the VS versions myself when I get a new PC, i.e. not this year probably. I'm currently still using only VS2010 (on Windows 8.1) for Civ, and that works for me with either version of the Windows SDK.
 
Oh, this is incredibly useful information. @h0spitall3rz if you end up trying something like that, please let me know about the results. My next laptop change is probably not that far off (prices permitting...) and being frozen on VS2019 doesn't seem like a good idea.

If a different Windows SDK is the solution, I guess I should also update the "ready to use" github repo so that you can keep using it with VS2022.
 
I am struggling with XML editing I am sorry to admit. I tried to add diplomacy text for a leader. I continue to get many python exceptions and a message about XML failing to load. I am being told that my </responses> tag is not matching with <response> but this makes no sense. I have looked over the file many times and my </responses> tags are outside the <response> tags. I ran the file through a validator but didn't find any mistakes there. I suspect the python errors are being caused by the XML mistake. I think the error is somewhere below but I still can't find it.

Code:
            <Responses>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_KHOSROW</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_KHOSROW</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HONGWU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HONGWU</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_DOM_PEDRO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_PEDRO_II</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SAN_MARTIN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SAN_MARTIN</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_TRUDEAU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_TRUDEAU_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MENELIK</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_MENELIK_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HARUN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HARUN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CHARLES</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CHARLES_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ALEXANDER_I</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ALEXANDER_I_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ATATURK</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ATATURK_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_KHOMEINI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_KHOMEINI_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_FRANKLIN_ROOSEVELT</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_FRANKLIN_ROOSEVELT_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_WASHINGTON</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_WASHINGTON_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SALADIN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SALADIN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MONTEZUMA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_MONTEZUMA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_QIN_SHI_HUANG</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_TAIZONG</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_QIN_SHI_HUANG_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MAO_ZEDONG</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CHINESE_LEADER_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HATSHEPSUT</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HATSHEPSUT_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ELIZABETH</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ELIZABETH_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_VICTORIA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_VICTORIA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_LOUIS_XIV</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_LOUIS_XIV_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_NAPOLEON</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_NAPOLEON_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_BISMARCK</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_FREDERICK</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_BISMARCK_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ALEXANDER</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ALEXANDER_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HUAYNA_CAPAC</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HUAYNA_CAPAC_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ASOKA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ASOKA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_GANDHI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_GANDHI_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ODA_NOBUNAGA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_TOKUGAWA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MANSA_MUSA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_MANSA_MUSA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_GENGHIS_KHAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_GENGHIS_KHAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_KUBLAI_KHAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_KUBLAI_KHAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CYRUS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CYRUS_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_JULIUS_CAESAR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_JULIUS_CAESAR_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_PETER</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_PETER_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CATHERINE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CATHERINE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ISABELLA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ISABELLA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_AUGUSTUS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_AUGUSTUS_CAESAR_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_BRENNUS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_BRENNUS_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HANNIBAL</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HANNIBAL_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_STALIN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_JOSEF_STALIN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MEHMED</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_MEHMED_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_RAGNAR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_RAGNAR_LODBROK_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_RAMESSES</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_RAMESSES_II_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_NATIVE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_NATIVE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_WANGKON</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_WANG_KON_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CHURCHILL</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_WINSTON_CHURCHILL_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_LINCOLN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_LINCOLN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_BOUDICA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_BOUDICA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_HAMMURABI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_HAMMURABI_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_JUSTINIAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_JUSTINIAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ZARA_YAQOB</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_EZANA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ZARA_YAQOB_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_DE_GAULLE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_DE_GAULLE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_PERICLES</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_PERICLES_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CHARLEMAGNE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CHARLEMAGNE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SURYAVARMAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SURYAVARMAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_PACAL</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_PACAL_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SITTING_BULL</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SITTING_BULL_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_WILLEM_VAN_ORANJE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_WILLEM_VAN_ORANJE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SULEIMAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SULEIMAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_DARIUS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_DARIUS_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_JOAO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_JOAO_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_GILGAMESH</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_GILGAMESH_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_SANTA_ANNA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_SANTA_ANNA_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_MEIJI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_MEIJI_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_JUAREZ</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_JUAREZ_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_AFONSO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_AFONSO_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_CARDENAS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_CARDENAS_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_BUMIN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_BUMIN_1</Text>
                    </DiplomacyText>
                    </Response>
                    <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ALFRED</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ALFRED</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_ALP_ARSLAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_ALP_ARSLAN_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_TAMERLANE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_LEADER_TAMERLANE_1</Text>
                    </DiplomacyText>
                </Response>
                <Response>
                    <Civilizations/>
                    <Leaders>
                        <Leader>
                            <LeaderType>LEADER_LOBSANG_GYATSO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_SONGTSEN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_CASIMIR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_WALESA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_PILSUDSKI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_SOBIESKI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_RAHMAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_YAQUB</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_MBEMBA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_LORENZO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_ABBAS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_MUSSOLINI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_HONGWU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_SHIVAJI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_NARESUAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_MONGKUT</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_HAYAM_WURUK</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_DHARMASETU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_SUHARTO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BASIL</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_IBN_TUGHLUQ</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_RAJENDRA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_KRISHNA_DEVA_RAYA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_SEJONG</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_GEORGE_I</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_FRANCIS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_MARIA_II</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_MACDONALD</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_VARGAS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BOLIVAR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_CHANDRAGUPTA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_HITLER</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_FRANCO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_CAVOUR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_KAMMU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BAIBARS</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_NASSER</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_AKBAR</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BHUTTO</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_VATAVELLI</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_HIRAM</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_GUSTAV</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_GERHARDSEN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_CASTILLA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_PERON</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_WILLIAM_III</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_INDEPENDENT</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BARBARIAN</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_AHOEITU</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_FILIPE</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_BARBAROSSA</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                        <Leader>
                            <LeaderType>LEADER_IVAN_IV</LeaderType>
                            <bLeaderType>1</bLeaderType>
                        </Leader>
                    </Leaders>
                    <Attitudes/>
                    <DiplomacyPowers/>
                    <DiplomacyText>
                        <Text>AI_DIPLO_FIRST_CONTACT_GENERIC</Text>
                    </DiplomacyText>
                </Response>
            </Responses>
 
Not sure if this is the cause but I think problem might be indentations of <response> tags between Bumin and Alfred.
 
The indentation is not the problem, as it doesn't effect the code, unlike Python. It is only there to improve readability.

Can you upload the file itself? Than I can test it for myself.
 
That file doesn't causes any problems for me. I was able to load the mod and start a 3000BC Ethiopian game without any errors.

What did the error message say? If you have logging enabled, you can see it in the logs.
 
I don't understand, I once again put in the files and now the error codes are not showing up but I am not sure if Alfred's text will show as desired.

Does this look correct to you?

EDIT: Something is wrong, when I meet Alfred as other players he gives me the civ_firstmeeting_text code.

EDIT: Figured it out. I was putting the number 1 by Alfred's name in the diplo files because I thought this was required. Turns out its not, and I made sure his name is the same in both files.
 

Attachments

Last edited:
I do however have another question

Is it possible to make the custom text for leaders demanding a civic or religious change, for making a trade proposal, or for making a request for a defense pact/join war? This would open so many more possibilities for historical quotes in the diplotext.

I am unsure about Leoreth's views on this if any, but I have started to make a notepad for historical quotes I want to include. I think its better for the game than generic text, Ill try not to replace any existing custom text but might be more likely to do so with quotes from the original game that are overly cheesy.
 
I think so, it should all be possible in that diplomacy XML file. I am in general open to more leader specific greetings and have added some in the past, obviously it still depends on the actual proposals.
 
I think so, it should all be possible in that diplomacy XML file. I am in general open to more leader specific greetings and have added some in the past, obviously it still depends on the actual proposals.

I have a notepad file of proposals, the current request I made however only includes Alfred.
 
One question
I am trying to mod the latest version of DoC (may 22) and if i just delete a civ from the XML will it remove the civ from the scenarios.
 
No.
 
It seems people are more motivated to create DoC modmods right now, at least I've been getting more messages lately with questions about that. Which is great, but the PM/VM system is a bit impractical to use so I'd rather have a thread for it.

So I made one.

You can ask any question regarding DoC and RFC modding here and I try to answer them in a way that helps you. I'll mostly answer questions by saying "You need to go there and there and there to make that happen". I will not teach you how to code Python and C++, how object oriented programming works and how to compile a DLL, because there are already guides for this.

I also won't answer requests of "could you please do X for me". Most of the time doing it myself would be easier than explaining it, but I don't want to encourage people to rely on me to do their work for them.

If the question is related to a (Python) error you receive, I can usually only help when I know the exact content of the error message and the line it's referring to. So please make sure to have enabled Python exceptions and logging (see the main mod thread on how to do it) and share the error with me. Both are things you should have enabled by default when you're modding, anyway.

But feel free to ask if you have anything you want to change.
How can I change the soundtrack so that the "ethnic" tracks keep playing in the Industrial era?
 
Hi Leoreth,

I was making my own modmod of DoC a couple of years back, before the code rewrite. I'm getting back into it based off the new dev after the code rewrite, and I'm trying to understand the new meaning of MAX_CIV_PLAYERS from CvDefines.h. It seems (at least to me) that its meaning may have changed slightly after the code rewrite, and I think the guide you wrote (https://forums.civfanatics.com/threads/guide-adding-a-civilization-to-doc-updated.561840/) refers to the old meaning.

The best I can tell:
iNumCivs (from Consts.py) is the sum of: playable civs (52) + independents, native, minor, and barbarian (5) = 57
NUM_CIVS (from CvRhyes.h) is just playable civs (52)
MAX_CIV_PLAYERS (from CvDefines.h) is 32, but I'm unsure as to why. It used to be 49 before the rewrite when that was the number of playable civs.

Is there some subtle change in meaning for this constant that I missed?

The specific problem I'm running into is my modmod has notably fewer playable civs (only 15), and I think I'm not properly labeling the Independent civs as being Minor civs anymore, because it's trying to check for their capitals and pagan religions (which minor civs don't have). I figured the thing that controls whether a civ is Minor or not is whether it is playable, ergo I am trying to understand better these definitions. Thanks!
 
First of all, the guide you have linked is outdated, so I would advise against using it as reference.

The answer to your question lies in the distinction between civilizations and players (or slots). For quite a while, the constants both in the DLL and Python (e.g. AMERICA and iAmerica respectively) are referring to the civilization, not the player ID. This may be relevant for your code to identify minor civilizations (the safest way to do so, by the way, is CyPlayer::isMinorCiv).

Previously, there had been a tight coupling between players and civilizations. Player ID 0 would always be Egypt etc. This coupling has been removed. Instead, when a new civilization spawns, the next free player will be assigned to that civilizations (or more accurately, the civilization to that player). As civilizations die, previously used players become available for later spawns or respawns again. Therefore, the game actually needs less player slots than it has major civilizations, because all civilizations are never alive at the same time. The less players there are, the better for game performance. I chose 32 players because the game very rarely creates situations where more than 32 civilizations are alive at the same time.

I hope that explains what is going on. Like I said, if your concern is to make your code safe against invalid checks for minor civs, ask the game if a player is a minor civ instead of trying to figure that out yourself.
 
How would I go on about changing unit art with Varietas Delectat on this mod? Some civilizations are missing unique art for some of their units and currently I'd like to change the French tank to something else (maybe giving them the british or american tank art, not sure yet) as I dislike the vanilla version they're using. Is this very difficult to do and how would I go on about it?
 
How can I add the "technology" "land area" and "population" graphs to other mods? I noticed that SoI and RFCE don't have them, and I'd like to add them (even though I've never modded anything before)
 
Is there a way to automatically monitor what's happening in a game (techs discovered by a particular civ, cities founded) as it progresses? I'm guessing you could do it manually by saving in Worldbuilder every turn then parsing the saves, but I wonder if there is a way to automatise the process (if only autosaving every turn)? Is some of this information available in the logs?
 
Back
Top Bottom