Quick Modding Questions Thread

I tried to spice the game loading by creating a lot of load screens. Did edit CIV4MainMenus.xml:

Code:
		<MainMenu>
			<Type>MAIN_MENU_VANILLA</Type>
			<Description>Civilization IV</Description>
			<Scene>MAINMENU_SCENE_VANILLA</Scene>
			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD</Loading>
<!--            <Loading1>MAINMENU_LOAD</Loading1>
            <Loading2>MAINMENU_LOAD</Loading2>
            <Loading3>MAINMENU_LOAD</Loading3>
            <Loading4>MAINMENU_LOAD</Loading4>-->
            <Loading1>CHRONICLES_LOAD_01</Loading1>
            <Loading2>CHRONICLES_LOAD_02</Loading2>
            <Loading3>CHRONICLES_LOAD_03</Loading3>
            <Loading4>CHRONICLES_LOAD_04</Loading4>
            <Loading5>CHRONICLES_LOAD_05</Loading5>
            <Loading6>CHRONICLES_LOAD_06</Loading6>
            <Loading7>CHRONICLES_LOAD_07</Loading7>
            <Loading8>CHRONICLES_LOAD_08</Loading8>
            <Loading9>CHRONICLES_LOAD_09</Loading9>
            <Loading10>CHRONICLES_LOAD_10</Loading10>
            <Loading11>CHRONICLES_LOAD_11</Loading11>
            <Loading12>CHRONICLES_LOAD_12</Loading12>
            <Loading13>CHRONICLES_LOAD_13</Loading13>
            <Loading14>CHRONICLES_LOAD_14</Loading14>
            <Loading15>CHRONICLES_LOAD_15</Loading15>
            <Loading16>CHRONICLES_LOAD_16</Loading16>
            <Loading17>CHRONICLES_LOAD_17</Loading17>
            <Loading18>CHRONICLES_LOAD_18</Loading18>
            <Loading19>CHRONICLES_LOAD_19</Loading19>
            <Loading20>CHRONICLES_LOAD_20</Loading20>
            <Loading21>CHRONICLES_LOAD_21</Loading21>
            <Loading22>CHRONICLES_LOAD_22</Loading22>
            <Loading23>CHRONICLES_LOAD_23</Loading23>
            <Loading24>CHRONICLES_LOAD_24</Loading24>
            <Loading25>CHRONICLES_LOAD_25</Loading25>
            <Loading26>CHRONICLES_LOAD_26</Loading26>
            <Loading27>CHRONICLES_LOAD_27</Loading27>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
		</MainMenu>
but it seems to be limited to 4 :( Is there a way to trick that?
 
lol. I have a dos program to change my loadscreens. Had no idea you could have multiple. Does it randomize or run in order?

I'll look at the code when I come home to see if it can be changed, but I doubt it as I suspect it is in the .exe and not in the dll.
 
lol. I have a dos program to change my loadscreens.
How do you do that?
Had no idea you could have multiple. Does it randomize or run in order?
Random.
I'll look at the code when I come home to see if it can be changed, but I doubt it as I suspect it is in the .exe and not in the dll.
Was afraid of that. :rolleyes:
I collected 27 great pictures from different eras, set up everything, than I realize this :sad:
 
the good news is that it isnt in the exe.
the bad news is its C2C (?) specific, so cant help with the code. the default CIV4MainMenus.xml looks like this :
Spoiler :
PHP:
<?xml version="1.0"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Alex Mantzaris (Firaxis Games) -->
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Main Menu Infos -->
<Civ4MainMenus xmlns="x-schema:CIV4ArtDefinesSchema.xml">
	<MainMenus>
		<MainMenu>
			<Type>MAIN_MENU_CLASSICAL</Type>
			<Description>BTS Classical</Description>
			<Scene>MAINMENU_SCENE_CLASSICAL</Scene>
			<SceneNoShader>MAINMENU_SCENE_CLASSICAL</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU</Soundtrack>
			<Loading>MAINMENU_LOAD_CLASSICAL</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_CLASSICAL</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_VANILLA</Type>
			<Description>Civilization IV</Description>
			<Scene>MAINMENU_SCENE_VANILLA</Scene>
			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_WARLORDS</Type>
			<Description>Warlords</Description>
			<Scene>MAINMENU_SCENE_WARLORDS</Scene>
			<SceneNoShader>MAINMENU_SCENE_NO_SHADER</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_WARLORDS</Soundtrack>
			<Loading>MAINMENU_LOAD_WARLORDS</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_WARLORDS</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_BEYOND_SWORD</Type>
			<Description>Beyond the Sword</Description>
			<Scene>MAINMENU_SCENE</Scene>
			<SceneNoShader>MAINMENU_SCENE</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU</Soundtrack>
			<Loading>MAINMENU_LOAD_BTS</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_BTS</LoadingSlideshow>
		</MainMenu>
	</MainMenus>
</Civ4MainMenus>
 
the good news is that it isnt in the exe.
the bad news is its C2C (?) specific, so cant help with the code. the default CIV4MainMenus.xml looks like this :
Spoiler :
PHP:
<?xml version="1.0"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Alex Mantzaris (Firaxis Games) -->
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Main Menu Infos -->
<Civ4MainMenus xmlns="x-schema:CIV4ArtDefinesSchema.xml">
	<MainMenus>
		<MainMenu>
			<Type>MAIN_MENU_CLASSICAL</Type>
			<Description>BTS Classical</Description>
			<Scene>MAINMENU_SCENE_CLASSICAL</Scene>
			<SceneNoShader>MAINMENU_SCENE_CLASSICAL</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU</Soundtrack>
			<Loading>MAINMENU_LOAD_CLASSICAL</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_CLASSICAL</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_VANILLA</Type>
			<Description>Civilization IV</Description>
			<Scene>MAINMENU_SCENE_VANILLA</Scene>
			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_WARLORDS</Type>
			<Description>Warlords</Description>
			<Scene>MAINMENU_SCENE_WARLORDS</Scene>
			<SceneNoShader>MAINMENU_SCENE_NO_SHADER</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_WARLORDS</Soundtrack>
			<Loading>MAINMENU_LOAD_WARLORDS</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_WARLORDS</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_BEYOND_SWORD</Type>
			<Description>Beyond the Sword</Description>
			<Scene>MAINMENU_SCENE</Scene>
			<SceneNoShader>MAINMENU_SCENE</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU</Soundtrack>
			<Loading>MAINMENU_LOAD_BTS</Loading>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_BTS</LoadingSlideshow>
		</MainMenu>
	</MainMenus>
</Civ4MainMenus>

I'm modding AND2.
 
An other question about atlas files:

<Button>,Art/Interface/Buttons/Civics/Chiefdom.dds,Art/Interface/Buttons/Atlases/RoM_Civic_Atlas.dds,8,1</Button>
I understand the second part but why is the first part needed? Is that mandatory?
 
the first part is the icon, the second part is the atlas and its place in the atlas going top left as start (x,y).
The first part is not needed (and not read) if the icon have been put into an atlas (a collection if icons in a single image)
Though it looks like there is a comma too much in the beginning?
 
I tried to spice the game loading by creating a lot of load screens. Did edit CIV4MainMenus.xml:

Code:
		<MainMenu>
			<Type>MAIN_MENU_VANILLA</Type>
			<Description>Civilization IV</Description>
			<Scene>MAINMENU_SCENE_VANILLA</Scene>
			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD</Loading>
<!--            <Loading1>MAINMENU_LOAD</Loading1>
            <Loading2>MAINMENU_LOAD</Loading2>
            <Loading3>MAINMENU_LOAD</Loading3>
            <Loading4>MAINMENU_LOAD</Loading4>-->
            <Loading1>CHRONICLES_LOAD_01</Loading1>
            <Loading2>CHRONICLES_LOAD_02</Loading2>
            <Loading3>CHRONICLES_LOAD_03</Loading3>
            <Loading4>CHRONICLES_LOAD_04</Loading4>
            <Loading5>CHRONICLES_LOAD_05</Loading5>
            <Loading6>CHRONICLES_LOAD_06</Loading6>
            <Loading7>CHRONICLES_LOAD_07</Loading7>
            <Loading8>CHRONICLES_LOAD_08</Loading8>
            <Loading9>CHRONICLES_LOAD_09</Loading9>
            <Loading10>CHRONICLES_LOAD_10</Loading10>
            <Loading11>CHRONICLES_LOAD_11</Loading11>
            <Loading12>CHRONICLES_LOAD_12</Loading12>
            <Loading13>CHRONICLES_LOAD_13</Loading13>
            <Loading14>CHRONICLES_LOAD_14</Loading14>
            <Loading15>CHRONICLES_LOAD_15</Loading15>
            <Loading16>CHRONICLES_LOAD_16</Loading16>
            <Loading17>CHRONICLES_LOAD_17</Loading17>
            <Loading18>CHRONICLES_LOAD_18</Loading18>
            <Loading19>CHRONICLES_LOAD_19</Loading19>
            <Loading20>CHRONICLES_LOAD_20</Loading20>
            <Loading21>CHRONICLES_LOAD_21</Loading21>
            <Loading22>CHRONICLES_LOAD_22</Loading22>
            <Loading23>CHRONICLES_LOAD_23</Loading23>
            <Loading24>CHRONICLES_LOAD_24</Loading24>
            <Loading25>CHRONICLES_LOAD_25</Loading25>
            <Loading26>CHRONICLES_LOAD_26</Loading26>
            <Loading27>CHRONICLES_LOAD_27</Loading27>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
		</MainMenu>
but it seems to be limited to 4 :( Is there a way to trick that?

Im really curious how you got it to load 4 different loadscreens, coz the <Loading1>MAINMENU_LOAD</Loading1> etc have a <!-- --!> around them which makes it ignored completely.
What are the names of your 4 images and what folder are they put in.

Reason I ask is I found this :

PHP:
CvSlideShowRandomInfo& CvGlobals::getSlideShowRandomInfo(int iIndex)
{
	FAssert(iIndex > -1);
	FAssert(iIndex < GC.getNumSlideShowRandomInfos());
	return *(m_paSlideShowRandomInfo[iIndex]);
where it indexes the slides, but I cant find any code that directly relates to the slides, nor does BtS use the art defined image to anything (afaik)
 
Im really curious how you got it to load 4 different loadscreens, coz the <Loading1>MAINMENU_LOAD</Loading1> etc have a <!-- --!> around them which makes it ignored completely.
What are the names of your 4 images and what folder are they put in.
I have commented out original 4 and inserted my new 27. (FYI I'm not part of AND2 modding team but doing modmods).


Reason I ask is I found this :

PHP:
CvSlideShowRandomInfo& CvGlobals::getSlideShowRandomInfo(int iIndex)
{
	FAssert(iIndex > -1);
	FAssert(iIndex < GC.getNumSlideShowRandomInfos());
	return *(m_paSlideShowRandomInfo[iIndex]);
where it indexes the slides, but I cant find any code that directly relates to the slides, nor does BtS use the art defined image to anything (afaik)
Sorry, but I'm a totally noob about that part.
 
I have commented out original 4 and inserted my new 27. (FYI I'm not part of AND2 modding team but doing modmods).

But the commented out was the original AND2?
Because they all point to the same image in the CIV4ArtDefines_Interface.xml :
PHP:
		<InterfaceArtInfo>
			<Type>MAINMENU_LOAD</Type>
			<Path>Art/Interface/Screens/Loading/LoadingScreenBG.dds</Path>
		</InterfaceArtInfo>

So im just wondering how AND2 changes loadscreens if they only defined one?

can I see your CIV4ArtDefinesSchema.xml

edit : btw, you asked how I did. I have a loader in front where some settings/colors/resolution/etc can be set. I start out the "program" by this
RENAME Assets\Art\Interface\Screens\Loading\LoadingScreenBGBeyondtheSword.dds ls7.dds
RENAME Assets\Art\Interface\Screens\Loading\ls1.dds LoadingScreenBGBeyondtheSword.dds
RENAME Assets\Art\Interface\Screens\Loading\ls2.dds ls1.dds
RENAME Assets\Art\Interface\Screens\Loading\ls3.dds ls2.dds
RENAME Assets\Art\Interface\Screens\Loading\ls4.dds ls3.dds
RENAME Assets\Art\Interface\Screens\Loading\ls5.dds ls4.dds
RENAME Assets\Art\Interface\Screens\Loading\ls6.dds ls5.dds
RENAME Assets\Art\Interface\Screens\Loading\ls7.dds ls6.dds

so every time the program is launched it will circle the loading screens. Primitive? yes...
 
Here's the whole original file:
Spoiler :
Code:
<?xml version="1.0"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Alex Mantzaris (Firaxis Games) -->
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Main Menu Infos -->
<Civ4MainMenus xmlns="x-schema:CIV4ArtDefinesSchema.xml">
	<MainMenus>
		<MainMenu>
			<Type>MAIN_MENU_AND</Type>
			<Description>RoM A New Dawn</Description>
			<Scene>MAINMENU_SCENE_AND</Scene>
			<SceneNoShader>MAINMENU_SCENE_AND</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD_0</Loading>
            <Loading1>MAINMENU_LOAD_1</Loading1>
            <Loading2>MAINMENU_LOAD_2</Loading2>
            <Loading3>MAINMENU_LOAD_3</Loading3>
            <Loading4>MAINMENU_LOAD_4</Loading4>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_CLASSICAL</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_CLASSICAL</Type>
			<Description>BTS Classical</Description>
			<Scene>MAINMENU_SCENE_CLASSICAL</Scene>
			<SceneNoShader>MAINMENU_SCENE_CLASSICAL</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU</Soundtrack>
			<Loading>MAINMENU_LOAD_CLASSICAL</Loading>
            <Loading1>MAINMENU_LOAD_CLASSICAL</Loading1>
            <Loading2>MAINMENU_LOAD_CLASSICAL</Loading2>
            <Loading3>MAINMENU_LOAD_CLASSICAL</Loading3>
            <Loading4>MAINMENU_LOAD_CLASSICAL</Loading4>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_CLASSICAL</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_VANILLA</Type>
			<Description>Civilization IV</Description>
			<Scene>MAINMENU_SCENE_VANILLA</Scene>
			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
			<Loading>MAINMENU_LOAD</Loading>
            <Loading1>MAINMENU_LOAD</Loading1>
            <Loading2>MAINMENU_LOAD</Loading2>
            <Loading3>MAINMENU_LOAD</Loading3>
            <Loading4>MAINMENU_LOAD</Loading4>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
		</MainMenu>
		<MainMenu>
			<Type>MAIN_MENU_WARLORDS</Type>
			<Description>Warlords</Description>
			<Scene>MAINMENU_SCENE_WARLORDS</Scene>
			<SceneNoShader>MAINMENU_SCENE_NO_SHADER</SceneNoShader>
			<Soundtrack>AS2D_OPENING_MENU_WARLORDS</Soundtrack>
			<Loading>MAINMENU_LOAD_WARLORDS</Loading>
            <Loading1>MAINMENU_LOAD_WARLORDS</Loading1>
            <Loading2>MAINMENU_LOAD_WARLORDS</Loading2>
            <Loading3>MAINMENU_LOAD_WARLORDS</Loading3>
            <Loading4>MAINMENU_LOAD_WARLORDS</Loading4>
			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD_WARLORDS</LoadingSlideshow>
		</MainMenu>
	</MainMenus>
</Civ4MainMenus>

MAIN_MENU_AND has 4 different loadscreens, the rest has 4 equal.
 
thats not the CIV4ArtDefinesSchema.xml though ;)

but its interesting though cumbersome. Especially if you want 27 screens, since they should all be defined (I think, its difficult to see without the code)
It does require dll edits, and without the AND2 SDK I cant really help.
 
edit : btw, you asked how I did. I have a loader in front where some settings/colors/resolution/etc can be set. I start out the "program" by this
RENAME Assets\Art\Interface\Screens\Loading\LoadingScreenBGBeyondtheSword.dds ls7.dds
RENAME Assets\Art\Interface\Screens\Loading\ls1.dds LoadingScreenBGBeyondtheSword.dds
RENAME Assets\Art\Interface\Screens\Loading\ls2.dds ls1.dds
RENAME Assets\Art\Interface\Screens\Loading\ls3.dds ls2.dds
RENAME Assets\Art\Interface\Screens\Loading\ls4.dds ls3.dds
RENAME Assets\Art\Interface\Screens\Loading\ls5.dds ls4.dds
RENAME Assets\Art\Interface\Screens\Loading\ls6.dds ls5.dds
RENAME Assets\Art\Interface\Screens\Loading\ls7.dds ls6.dds

so every time the program is launched it will circle the loading screens. Primitive? yes...
I have something similar for my game, but I upgraded it at one point to be randomised.

If you are interested, this should work for you:
Code:
set /a num1=%random% %%7 +1

copy Assets\Art\Interface\Screens\Loading\ls%num1%.dds Assets\Art\Interface\Screens\Loading\LoadingScreenBGBeyondtheSword.dds
Just make sure that LoadingScreenBGBeyondtheSword.dds is a copy of one of your ls files, since it will be overridden each time.
 
Though it looks like there is a comma too much in the beginning?
The original BtS definitions have it, too, though it doesn't seem to make a difference if you only reference a single icon file.
 
Everything is grassland, then desert, plains etc is added on top.
The percent is what you said, and the latitude is the height the terrain will start and stop in a number from 0-90 where 0 is equator and 90 is the poles.


Thank You again!
I am starting to understand now.
One more question.
The file that you linked, does it pertain specifically to Temperate type maps?
I was thinking that perhaps instead of altering the defaults, I will create a different Climate setting to choose from game menu and mod that instead.
Could you give a few hints how can I go about that one?

Thanks again!
 
CIV4ClimateInfo.xml in GameInfo folder

PHP:
		<ClimateInfo>
			<Type>CLIMATE_TEMPERATE</Type>
			<Description>TXT_KEY_CLIMATE_TEMPERATE</Description>
			<iDesertPercentChange>0</iDesertPercentChange>
			<iJungleLatitude>5</iJungleLatitude>
			<iHillRange>5</iHillRange>
			<iPeakPercent>25</iPeakPercent>
			<fSnowLatitudeChange>0.0</fSnowLatitudeChange>
			<fTundraLatitudeChange>0.0</fTundraLatitudeChange>
			<fGrassLatitudeChange>0.0</fGrassLatitudeChange>
			<fDesertBottomLatitudeChange>0.0</fDesertBottomLatitudeChange>
			<fDesertTopLatitudeChange>0.0</fDesertTopLatitudeChange>
			<fIceLatitude>0.95</fIceLatitude>
			<fRandIceLatitude>0.25</fRandIceLatitude>
		</ClimateInfo>
 
Thank you again!
If I understand it right, the game runs the same code in CvMapGeneratorUtil.py,
but alter it a bit according to the entries in CIV4ClimateInfo (like Temperate or Tropic etc) ?

So if I lower % of deserts and lower latitude of tundras in CIV4ClimateInfo - that should be what I am looking for?

Also, what exactly HillRange does?
 
Hello! I have a problem for including next war archeology in my private mod. The different arcologies don't stack correctly and i don't find the solution. Could anyone help me please? Here is a screen shot. Thanks!
 

Attachments

  • Arcologies.jpg
    Arcologies.jpg
    134.2 KB · Views: 70
Top Bottom