[MODPACK][Warlords] jrayUGH Unaltered Gameplay Hodgepodge - Development Thread

This post isn't just an autobiographical diatribe... it's meant as a sort of crash course for making your own changes to the modpack (or any modpack, for that matter). Aspiring tweakers and modders, read on!

Even though I'm only a beginner with Python, I was able to achieve delusions of grandeur as an elite modder because of one amazing and free program: WinMerge!

(Sorry for Mac/Linux folks out there... I dig ya, but I only do Civ4 stuff on Windows).

Here's a little story about how I made my jrayUGH modpack, and in particular how I incorporated the Enhanced Military Advisor. I think I'll call it:

"How I spent my winter vacation using WinMerge to create jrayUGH."

I keep all the files for my modpack at C:\jrayUGH-v208a, and copies of the corresponding original Firaxis versions at C:\firaxis-v208. (If a Firaxis file exists in Warlords\Assets, I use that instead of the one in Assets):



To see all the differences between my entire modpack and Firaxis' original files, I right-click on firaxis-v208 and select Compare to and then right-click on jrayUGH-v208a and select Compare:

-

This brings up WinMerge showing the differences:



Here's a summary of the diffs, which I created using Tools -> Generate Report (which can make an HTML, XML, or text report):

Spoiler Diffs between Warlords v2.08 and jrayUGH-v208a :

Compare C:\firaxis-v208 with C:\jrayUGH-v208a
1/11/2007 2:38:57 PM
Filename Folder Comparison result Left Date Right Date Extension
CvEventManager.py Assets\Python Files are different 6/13/2006 4:13:44 PM * 1/5/2007 5:43:27 AM py
CvUtil.py Assets\Python Files are different 3/16/2006 9:01:58 AM * 1/5/2007 5:38:47 AM py
CvEventInterface.py Assets\Python\EntryPoints Files are different 10/15/2005 3:00:04 AM * 1/5/2007 10:39:47 PM py
CvScreensInterface.py Assets\Python\EntryPoints Files are different 6/21/2006 6:30:34 AM * 1/5/2007 7:28:41 PM py
CvDawnOfMan.py Assets\Python\Screens Files are different 6/19/2006 12:44:08 PM * 1/5/2007 2:56:26 PM py
CvHallOfFameScreen.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 6:11:44 PM py
CvMainInterface.py Assets\Python\Screens Files are different 10/11/2006 3:15:06 PM * 1/5/2007 1:35:21 PM py
CvPediaBonus.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:06:45 PM py
CvPediaBuilding.py Assets\Python\Screens Files are different 10/11/2006 3:15:06 PM * 1/5/2007 4:06:24 PM py
CvPediaCivic.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:07:54 PM py
CvPediaCivilization.py Assets\Python\Screens Files are different 3/16/2006 9:01:58 AM * 1/5/2007 4:08:23 PM py
CvPediaFeature.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:08:46 PM py
CvPediaHistory.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:09:11 PM py
CvPediaImprovement.py Assets\Python\Screens Files are different 6/16/2006 6:30:42 AM * 1/5/2007 4:09:27 PM py
CvPediaLeader.py Assets\Python\Screens Files are different 10/11/2006 3:15:06 PM * 1/5/2007 4:09:47 PM py
CvPediaMain.py Assets\Python\Screens Files are different 10/11/2006 3:15:06 PM * 1/5/2007 4:10:22 PM py
CvPediaProject.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:10:40 PM py
CvPediaPromotion.py Assets\Python\Screens Files are different 5/11/2006 5:00:58 AM * 1/5/2007 4:11:13 PM py
CvPediaReligion.py Assets\Python\Screens Files are different 4/5/2006 5:00:48 AM * 1/5/2007 4:11:31 PM py
CvPediaScreen.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:12:18 PM py
CvPediaSpecialist.py Assets\Python\Screens Files are different 4/5/2006 5:00:48 AM * 1/5/2007 4:12:39 PM py
CvPediaTech.py Assets\Python\Screens Files are different 4/5/2006 5:00:48 AM * 1/5/2007 4:12:55 PM py
CvPediaTerrain.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 4:13:42 PM py
CvPediaUnit.py Assets\Python\Screens Files are different 5/23/2006 11:32:36 AM * 1/5/2007 4:13:59 PM py
CvPediaUnitChart.py Assets\Python\Screens Files are different 4/5/2006 5:00:48 AM * 1/5/2007 4:14:16 PM py
CvScreenEnums.py Assets\Python\Screens Files are different 10/15/2005 3:00:06 AM * 1/5/2007 4:14:54 PM py
CvTechSplashScreen.py Assets\Python\Screens Files are different 3/30/2006 2:50:00 PM * 1/5/2007 5:16:56 AM py
GameFont.tga Assets\res\Fonts Binary files are different 2/10/2006 7:03:10 AM * 4/16/2006 2:20:28 PM tga
GameFont_75.tga Assets\res\Fonts Binary files are different 2/10/2006 7:03:10 AM * 4/17/2006 12:09:18 PM tga
CIV4ArtDefines_Interface.xml Assets\XML\Art Files are different 6/22/2006 6:26:46 PM * 1/5/2007 11:33:04 PM xml
CIV4ArtDefines_Unit.xml Assets\XML\Art Files are different 6/22/2006 6:26:46 PM * 1/5/2007 2:10:14 PM xml
Audio3DScripts.xml Assets\XML\Audio Files are different 10/11/2006 3:16:02 PM * 1/5/2007 2:12:06 PM xml
CIV4DiplomacyInfos.xml Assets\XML\GameInfo Files are different 10/11/2006 3:16:04 PM * 1/4/2007 8:32:50 PM xml
CIV4DiplomacyText.xml Assets\XML\Text Files are different 3/30/2006 2:50:00 PM * 1/4/2007 8:34:18 PM xml
CIV4GameText_Warlords_Diplomacy.xml Assets\XML\Text Files are different 6/23/2006 6:30:38 AM * 1/4/2007 8:35:06 PM xml
CIV4GameTextInfos.xml Assets\XML\Text Files are different 3/30/2006 2:50:00 PM * 1/6/2007 12:23:57 AM xml
CIV4UnitInfos.xml Assets\XML\Units Files are different 10/11/2006 3:16:08 PM * 1/5/2007 10:52:51 PM xml


The Enhanced Military Advisor consists of only 3 files. One of these (CvScreensInterface.py) is a change to an existing Firaxis file, and the other two are new. I ascertained this by looking at

C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Warlords\Assets


and then

C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Assets


to see if the 3 files included in the Enhanced Military Advisor mod existed in the main game.

Let's zoom in on the one file that the Enhanced Military advisor changes, CvScreensInterface.py (by double-clicking its entry in WinMerge):



Note how the Location Pane in the upper-left gives a visual summary of where the differences are. Let's scroll down to where I made the primary change for the Enhanced Military Advisor (which I figured out by using WinMerge to compare its CvScreensInterface.py with Firaxis' CvScreensInterface.py):



The attentive reader will note how I read in the Use Enhanced Military Advisor option from the jrayMilitaryAdvisor.ini file to decide whether to load the standard or enhanced advisor.

And that's all there was to it-- suddenly my mod had the Enhanced Military Advisor! Okay, I admit I'm doing a little hand-waving here... I did have to create jrayMilitaryAdvisor.ini and incorporate Dr Elmer Jiggle's INI parser into my modpack first... but you get the idea :).

For brave souls who want to give WinMerge a whirl, below is an export of my configuration file. You might find it helpful to use as a starting point. (It's from version 2.6.2, which is current as of this post). Just copy the contents to a file (say, myWinMerge.ini), open the Edit -> Options dialog in WinMerge, press Import, and locate the file.

Spoiler jray's WinMerge configuration :

[WinMerge]
Settings/StopAfterFirst=0
Settings/Logging=0
Merge7z/ProbeSignature=0
Merge7z/Enable=1
Settings/IgnoreBlankLines=0
Settings/IgnoreSpace=0
Settings/IgnoreSmallFileTime=0
DefaultSyntaxColors/Values=20
Settings/SelectedMovedBlockColor=5140728
Settings/BreakOnWords=0
Settings/TabSize=4
Settings/VerifyOpenPaths=0
Settings/ViewWhitespace=1
Settings/ShowSkipped=0
DefaultSyntaxColors/Color10=255
FontDirCompare/Specified=0
Settings/FileFilterCurrent=*.*
Settings/MultiMergeDocs=1
Settings/MovedBlockDeletedColor=12632256
Settings/MovedBlockColor=5413860
DefaultSyntaxColors/Color11=6316128
DefaultSyntaxColors/Bold10=0
DefaultSyntaxColors/Color00=128
Font/Specified=1
Settings/RegExps=
Settings/SelectedWordDifferenceTextColor=0
Settings/TrivialDifferenceTextColor=0
Settings/DirViewSortCol=1
Settings/ViewLineNumbers=1
Settings/ShowUniqueRight=0
DefaultSyntaxColors/Color12=128
DefaultSyntaxColors/Bold11=0
DefaultSyntaxColors/Color01=16777215
DefaultSyntaxColors/Bold00=0
Settings/SelectedMovedBlockTextColor=0
Settings/MovedBlockTextColor=0
Settings/SelectedDifferenceTextColor=0
Settings/DifferenceTextColor=0
DefaultSyntaxColors/Color13=12615680
DefaultSyntaxColors/Bold12=0
DefaultSyntaxColors/Color02=16777215
DefaultSyntaxColors/Bold01=0
Settings/AllowMixedEOL=1
DefaultSyntaxColors/Color14=10526975
DefaultSyntaxColors/Bold13=0
DefaultSyntaxColors/Color03=0
DefaultSyntaxColors/Bold02=0
Settings/VssPath=
Settings/ProjectsPath=
Settings/MovedBlocks=1
Settings/AutomaticRescan=1
DefaultSyntaxColors/Color15=0
DefaultSyntaxColors/Bold14=0
DefaultSyntaxColors/Color04=13160660
DefaultSyntaxColors/Bold03=0
Settings/CodepageDetection=0
Settings/SelectedDifferenceDeletedColor=12632304
DefaultSyntaxColors/Color16=65535
DefaultSyntaxColors/Bold15=0
DefaultSyntaxColors/Color05=0
DefaultSyntaxColors/Bold04=0
Settings/WordDifferenceTextColor=0
Settings/SelectedDifferenceColor=7632879
Settings/ExternalEditor=C:\WINDOWS\NOTEPAD.EXE
Settings/HiliteSyntax=1
Settings/ShowDifferent=1
DefaultSyntaxColors/Color17=0
DefaultSyntaxColors/Bold16=0
DefaultSyntaxColors/Color06=16777215
DefaultSyntaxColors/Bold05=0
Settings/MultiDirDocs=0
Settings/SelectedWordDifferenceColor=10526975
Settings/WordDifferenceColor=11395825
Settings/TrivialDifferenceDeletedColor=15329769
Settings/DifferenceColor=379887
Settings/IgnoreEol=0
Settings/IgnoreCase=0
Settings/BreakType=1
Settings/MergingMode=0
Settings/TabType=0
Settings/AutoCompleteSource=0
Settings/ConnectMovedBlocks=0
DefaultSyntaxColors/Color18=8388608
DefaultSyntaxColors/Bold17=0
DefaultSyntaxColors/Color07=16711680
DefaultSyntaxColors/Bold06=0
Settings/SingleInstance=0
Settings/DirViewSortAscending=1
Settings/ScrollToFirst=1
DefaultSyntaxColors/Color19=12615680
DefaultSyntaxColors/Bold18=0
DefaultSyntaxColors/Color08=8388736
DefaultSyntaxColors/Bold07=1
Settings/CodepageDefaultCustomValue=1252
Settings/DefaultTextColoring=1
Settings/ShowStatusbar=1
DefaultSyntaxColors/Bold19=0
DefaultSyntaxColors/Color09=32768
DefaultSyntaxColors/Bold08=0
Settings/VersionSystem=0
Settings/SelectedMovedBlockDeletedColor=10728956
Settings/TrivialDifferenceColor=12579579
Settings/QuickMethodLimit=4194304
Settings/CloseWithEsc=0
Settings/WordWrap=0
Settings/HiliteWordDiff=1
Settings/ShowToolbar=1
DefaultSyntaxColors/Bold09=0
Settings/IgnoreRegExp=0
Settings/DifferenceDeletedColor=12632256
Settings/CompMethod=0
Settings/FilterCommentsLines=0
Settings/ShowIdentical=0
Settings/ShowUniqueLeft=0
Settings/CodepageDefaultMode=0
Settings/UserFilterPath=C:\WinMerge\Filters
Settings/UseRecycleBin=1
Settings/BackupFile=0
Settings/DisableSplash=1
Settings/ShowBinaries=1


If you want to edit files from within WinMerge that only exist on one side or the other, then I highly suggest getting a good text editor with syntax highlighting for Python, XML, and INI files. Then you can tell WinMerge to use it by updating Edit -> Options -> System -> External Editor.

My favorite editor is TextPad, which is nagware but very polite about it (only forcing you to see a splash screen for a few seconds).

You can download TextPad syntax highlighting add-ons for Python here (get "Python (7)"), XML here (get the first "Generic XML"), and INI files here (get "INI").

Oh, and to be able to see files that exist on only one side, you'll need to change the View -> Options in WinMerge. For example, you can enable Show Left Unique Items, Show Right Unique Items, etc.:



Good luck and happy tweaking!
 
My only problem is thats its warlords. Looks like you done a nice bit of work.

Oh well I look at the links you mentioned.
 
Ofcorse its WL (the rest of us have stoped living in the dark ages you should join us), I think this looks great. Jray what do you think of me combining parts of it with my CCCP project which is a DLL modified to allow a wider variety of tags but dose not activate them along with other unaltered game play tweeks and enhancments. Would you like to colaborate on such an effort and extend the Python portion of the CCCP (theirs currently almost no Python in it)?

I see you have your mod under GPL, admitedly though this is a compilation of other peoples work which was released in the Public Domain. Though its perfectly legal to put it under GPL theirs no real point as all the original materials are still avalible in the Public Domain and in other PD compilations. If their are significant deviations from the raw materials or you make ones in the future then you would have something to protect.
 
Impaler[WrG];4975243 said:
Jray what do you think of me combining parts of it with my CCCP project which is a DLL modified to allow a wider variety of tags but dose not activate them along with other unaltered game play tweeks and enhancments. Would you like to colaborate on such an effort and extend the Python portion of the CCCP (theirs currently almost no Python in it)?

I see you have your mod under GPL, admitedly though this is a compilation of other peoples work which was released in the Public Domain. Though its perfectly legal to put it under GPL theirs no real point as all the original materials are still avalible in the Public Domain and in other PD compilations. If their are significant deviations from the raw materials or you make ones in the future then you would have something to protect.

To be honest, I don't really understand all the implications of the GPL, and I was just putting it in there "cuz everyone's doing it" :) (at least that was my impression... I saw lots of GPL notices in the mods I used).

I'm totally fine with people using any or all of the code. If that's the case, should I just keep it simple and remove the GPL stuff from my modpack?

Regarding collaboration-- sounds cool! However, I'm not sure how useful I'll be... I really really am just a beginner at Python. I think I should read the handful of books I have on my shelf before trying anything complicated. But please keep in touch about your plans and let me know what I can do to help!
 
Hi, your mod seemed nice, so i just decided to try it. With no luck. I installed it following the instructions. loaded it in warlords. tried a quick game... the game loads... but theres a problem... theres no bar, no buttons, no menu.. nada.. just the map....



some more infos, i run warlords with the latest patch. before trying your mod i used to play all th time woth HOF mod 2.08.003 without any problems. I unloaded your mod, loaded hof mod... but it does the exact same thing. tried to erase the customassets file but did not work...

and by the way the civlopedia, the option menu under advanced and some more menus are not working anymore in the main opening menu


ok, re-installed the warlords 2.08 patch... and worlords vanilla and hof mods now both works ok... but i dont think i will try your mod again...
 
Impaler[WrG];4975243 said:
I see you have your mod under GPL, admitedly though this is a compilation of other peoples work which was released in the Public Domain. Though its perfectly legal to put it under GPL theirs no real point as all the original materials are still avalible in the Public Domain and in other PD compilations. If their are significant deviations from the raw materials or you make ones in the future then you would have something to protect.

If he has incorporated GPL code, he can't put it in the public domain, can he? (By the way -- DrEJlib was never released into public domain -- and can't, he used GPL code from somewhere else -- as I understand it, all mods using his CustomEventManager or INI parser should be GPL.)

Besides, we are all subject to Firaxis's terms and conditions, so none of our work may be put into "public domain", GPL, or even Berkely style license (the "you can use it if you credit me") precisely anyway. I'm sure an IP lawyer can have lots of fun. :crazyeye:

I just consider any such statements as having a "Firaxis T&C exception", and just try to follow them in spirit :lol: That basically means if I include any code that had the "COPYING" file, I do add the "COPYING" file to my own mod, and I try to credit everyone.
 
Impaler[WrG];4975243 said:
Ofcorse its WL (the rest of us have stoped living in the dark ages you should join us), I think this looks great. Jray what do you think of me combining parts of it with my CCCP project which is a DLL modified to allow a wider variety of tags but dose not activate them along with other unaltered game play tweeks and enhancments. Would you like to colaborate on such an effort and extend the Python portion of the CCCP (theirs currently almost no Python in it)?

I think the CCCP should leave out python and concentrate on being the "universal DLL." It really should do nothing except enable python/XML mods like it said in its original aim. Any python included should just be the sample code, and totally optional.

Unaltered gameplay modders don't like the CCCP mainly because of its savegame incompatibility, by the way. I doubt you can do much about that if you are including mods like Unit Statistics. Maybe at some point someone can create a more limited DLL for unaltered gameplay mods that just includes AI Autoplay, your XML loading, Blake's Better AI, and whatever else is both savegame compatible and unaltered gameplay.
 
Hi, your mod seemed nice, so i just decided to try it. With no luck. I installed it following the instructions. loaded it in warlords. tried a quick game... the game loads... but theres a problem... theres no bar, no buttons, no menu.. nada.. just the map....

some more infos, i run warlords with the latest patch. before trying your mod i used to play all th time woth HOF mod 2.08.003 without any problems. I unloaded your mod, loaded hof mod... but it does the exact same thing. tried to erase the customassets file but did not work...

and by the way the civlopedia, the option menu under advanced and some more menus are not working anymore in the main opening menu

ok, re-installed the warlords 2.08 patch... and worlords vanilla and hof mods now both works ok... but i dont think i will try your mod again...

Welcome to CivFanatics! :) I'm sorry your first experience was not a pleasant one. However, if installed as intended this modpack poses no risk to your Warlords installation. So I'm guessing something else was going on.

Perhaps I have a mistake in my installation instructions (this is an initial release, after all...). Or maybe there's something different about your installation. Did you put anything under C:\Program Files\...? Did you change anything at C:\Program Files\... before? Did you install the HOF mod to My Documents\My Games\Warlords\MODS (as it was intended), or perhaps did that go to C:\Program Files...? I don't mean this in a patronizing way, but seeing that this is your first post, it reminds me of all the blunders I made when I was new at CivFanatics too. There are so many things that can go wrong if you copy files to the wrong places.

Were you using just the main modpack, or did you add any of the addons too?

Just to check, I re-downloaded my main modpack and installed it on a clean Warlords 2.08 installation, and it worked fine. I guess we can wait for reports from other folks to see if there are similar problems elsewhere. Maybe I have something magical on my system that makes it work for me and nobody else, and I forgot to include it :rolleyes:.

I'd be happy to troubleshoot if you want to try it again. Just let me know.
 
Hey, jray,

You should make a thread in the Tutorials section on WinMerge!

Thanks for the vote of confidence :). Yeah, I do hope to do that sometime. I think I'd need to fill in some more details and go more step-by-step though... and for now I didn't have enough gas left in the tank to make it worthy of the Tutorial thread.
 
FYI, I discovered a minor glitch in my Great People add-on: its CIV4UnitInfos.xml wasn't integrated with Better Scale Fleets. Only a minor problem: after installing the add-on, the ships would be back to single units instead of fleets.

I've sent a corrected jrayUGH-v208a-addon-greatpeople.zip to 3D Downloads, but it takes a few hours for them to update things.

So for the 1 person who has downloaded this add-on already (and any others who might download it before it updates to the 1/12/07 version), just come back to get the new CIV4UnitInfos.xml a little later.

I've updated the installation instructions accordingly, but I didn't change the readme file embedded with the main modpack. I figured it wasn't worth updating the main download just for a little doc error like this...
 
This looks great!! I will definitely give it a try...Thanks
 
Just tried to install it again. I did the exact same thing as the first time i tried and it now seems to be working fine. Can switch from vanilla to HOF to your mod without problems :). Im gonna take a look at the .ini's etc now to configure it all to my likings... thanx. I'll come back after a few games to tell you more feed back.
 
Just tried to install it again. I did the exact same thing as the first time i tried and it now seems to be working fine. Can switch from vanilla to HOF to your mod without problems :). Im gonna take a look at the .ini's etc now to configure it all to my likings... thanx. I'll come back after a few games to tell you more feed back.

Cool, I'm glad it's working for you!
 
Hi, jray

Are you still planning to integrate Ruff's mod at some point?

Yes, but I'm afraid I won't have much time to work on it this month. The concept from Ruff (vicariously from HOF) I want most is the configurable options screen. Is there anything in particular you're eager to see integrated?
 
Yes, but I'm afraid I won't have much time to work on it this month. The concept from Ruff (vicariously from HOF) I want most is the configurable options screen. Is there anything in particular you're eager to see integrated?

You got it. The options screen. But there is plenty of other cool stuff like the improved autologger he has worked so hard on.

I'll probably try to integrate Sevopedia 2.2 myself into Ruff's mod at some point, just for the purpose of learning the UI stuff with the options screen and making Sevopedia 2.3 (or whatever I call that version) work better with those kind of "meta-mods", as Soren called them.
 
Top Bottom