Modders Guide to Beyond the Sword

This guide is about modding features new to BtS. A guide to create new civs is here. Try working from that.
 
Main page is down :( JUST BLANK

Umm, does anyone know where the trait infos are now? Civ4TraitInfos isn't there anymore and a search in assets reveals nothing for TRAIT_FINANCIAL and what not. So, where is the trait infos? (sorry if this has been explained. I did my best to read through everything)

Civ4TraitInfos.xml is still used, it is just unchanged in BtS so they didn't include one. Grab the one from Warlords directory to use.
 
Anyone Interested in a PDF of the new Modding Changes?

I know I prefer to read from a paper instead of from the screen
 
I believe I read somewhere that there were a number of SDK changes made in 3.03 - if so, was the SDK in "Beyond The Sword/CvGameCoreDLL" automatically updated to comply?
 
I believe I read somewhere that there were a number of SDK changes made in 3.03 - if so, was the SDK in "Beyond The Sword/CvGameCoreDLL" automatically updated to comply?

Well I didn't check the file dates before applying the patch, but I am 99% sure they are updated.

I mean if they weren't then how could anybody mod BtS?
 
Well I didn't check the file dates before applying the patch, but I am 99% sure they are updated.

I mean if they weren't then how could anybody mod BtS?

They couldn't :eek: Or at least not as far as making a compliant 3.03 mod. I seem to remember doing a comparison of the folder with a copy I'd made to check for any source code changes and I didn't find any - although admittedly I'm no longer certain my copy was an un-patched copy. I'd rather avoid re-installing the game for this purpose, however, so are there any specific source code changes I could verify to allow me to determine which version I have?
 
I believe I read somewhere that there were a number of SDK changes made in 3.03 - if so, was the SDK in "Beyond The Sword/CvGameCoreDLL" automatically updated to comply?
Yeah, they were updated. When the patch was running, it showed the files it was updating. A couple of the .cpp files in the SDK was updated too.

Civ4TraitInfos.xml is still used, it is just unchanged in BtS so they didn't include one. Grab the one from Warlords directory to use.
What happens for people who don't have Warlords? Do they get a Civ4TraitInfos put into the BtS assets folder? Man, I would've thought that they'd make each expansion self contained (and thus more predictable).
 
I just finished uninstalling Civ4 and Civ4:BtS and re-installing everything. Following that I made a copy of the folder "Sid Meier's Civilization 4", and then I installed the patch. I did a full binary comparison of the two folders - the patched files were as follows:

Civ4BeyondSword.exe
Civ4BeyondSword_PitBoss.exe
Readme.htm
CvGameCoreDLL.dll
GlobalDefines.xml

While the patch may or may not have written files to the "Beyond the Sword\CvGameCoreDLL" folder I can guarantee that, barring some significant difference between our installation disks, NOTHING in that folder has changed.

What is clear is that CvGameCoreDLL.dll HAS been updated for 3.02 - now, that doesn't necessarily mean that "Beyond the Sword\CvGameCoreDLL" is out of date, however it suggests the possibility. One thing, however, is certain - either any modded CvGameCoreDLL.dll released will be compatible with both versions or we do not currently posses the source code necessary to make a compliant CvGameCoreDLL.dll file for one of them. I would very much like to know which case we're currently operating under.

Please note - it IS always possible that one or more of my above assumptions is invalid or that the comparison tool I used was in some way flawed. Please perform the above test (or one specifically targeting the "CvGameCoreDLL" folder) to verify these results.
 
Please note - it IS always possible that one or more of my above assumptions is invalid or that the comparison tool I used was in some way flawed. Please perform the above test (or one specifically targeting the "CvGameCoreDLL" folder) to verify these results.
I'm glad you put that disclaimer there, because I saw a .cpp file being updated. The only place that could have been is in the CvGameCoreDLL folder. Next time, watch the patch go through all the files that it updates. One (or two) or them is a .cpp file. I know this because I was kind of relieved when I saw it. It was the last to be updated.
 
I'm glad you put that disclaimer there, because I saw a .cpp file being updated. The only place that could have been is in the CvGameCoreDLL folder. Next time, watch the patch go through all the files that it updates. One (or two) or them is a .cpp file. I know this because I was kind of relieved when I saw it. It was the last to be updated.

I did - and although the patch whipped though the files very quickly I agree that it did appear to write to some .cpp files and quite a few .py files. That, however, is not at issue. What IS at issue is that despite these files being overwritten they were, at least in my case, overwritten by an identical copy of the file.

Please perform the above test (or simply uninstall BtS, reinstall, copy the original SDK, install the patch, and compare the two folders) before negating my results.
 
I did - and although the patch whipped though the files very quickly I agree that it did appear to write to some .cpp files and quite a few .py files. That, however, is not at issue. What IS at issue is that despite these files being overwritten they were, at least in my case, overwritten by an identical copy of the file.

Please perform the above test (or simply uninstall BtS, reinstall, copy the original SDK, install the patch, and compare the two folders) before negating my results.
Good point. I didn't consider that one :)

EDIT: Actually, are you from America? I'm thinking that if this is a 'synchro patch', then prehaps there are places in the world whereby this patch would update the SDK whilest your SDK was already up to date. Having said that, why then was the .dll altered and not the SDK...? :( Hmmm.
 
Good point. I didn't consider that one :)

EDIT: Actually, are you from America? I'm thinking that if this is a 'synchro patch', then prehaps there are places in the world whereby this patch would update the SDK whilest your SDK was already up to date. Having said that, why then was the .dll altered and not the SDK...? :( Hmmm.

That is possible, however if that IS the case and regional differences in the release are what account for it I'd still very much like to know. As it stands, I'm going with the assumption that if anything that was changed in the DLL the modifications were trivial and the SDK I'm currently using is, at the very least, fully compliant with version 3.02. I'm also assuming that the SDK I'm using is fully compliant with version 3.01 (3.00?) - as for the moment if there were major source code changes between those two versions I am completely unable to build a DLL for one of them.
 
:confused: It seems reasonable that if there are going to be changes to the dll, then the changes should be propegated to an updated version of the SDK. I understand that existing MOD changes would have to be merged with any production version changes. But if the gap between the SDK and the latest game version grows too large, then modding will become more burdensome and less appealing. I am 2 weeks into a mod of my own, and I am keeping an eye on changes with the BtS SDK.
 
Well, if the SDK changes were not included in the patch, the files will surely will be released separately. They wouldn't go to the trouble of giving us the SDK just to deny it to us in a patch.

The best way to find out if the SDK files are compatible would be to compile a DLL and run through a mod with it... if it crashes, you have your answer. If it works, then it might not be updated, but at least you can still mod with it.
 
To my eyes it looks like CvUnit.cpp, CVUnitAI.cpp and CvPlayerAI.cpp were updated by the patch. I used Beyond Compare to merge the changes with my modified DLL. They are relativly minor changes (I would expect the game to run with DLL's compiled with either form) though if Firaxis is pushed them out this quick they probably resolve crashes so its definitly worth doing.
 
To my eyes it looks like CvUnit.cpp, CVUnitAI.cpp and CvPlayerAI.cpp were updated by the patch. I used Beyond Compare to merge the changes with my modified DLL. They are relativly minor changes (I would expect the game to run with DLL's compiled with either form) though if Firaxis is pushed them out this quick they probably resolve crashes so its definitly worth doing.

Thanks for the information - as it happens, I was using Beyond Comapre to check for changes as well. Would it be possible for you to post one or two of the specific changes the patch made to those files?
 
Anyone Trying to Convert Audio Files from Warlords to BTS yet?

Seems that there is a new Schema for the Audio2DScripts and the Audio3Dscripts. I made the minor change... which I think is just adding in the line <iNotPlayPercent>0</iNotPlayPercent>

Yet... I am still getting crashes.

Hope to see a resolve to this issue quickly as I am somehow supposed to be maintaining the UNIVERSAL FILES for
Civ4Audio2DScripts.xml
Civ4Audio3DScripts.xml
Civ4AudioDefines.xml

The Plug and Play forum will be working in full fashion soon, Just gotta get this one issue dealt with first.
 
Back
Top Bottom