Updating a 3.13 mod to 3.17 *gulp*

cephalo

Deity
Joined
Jul 26, 2007
Messages
2,058
Location
Missouri, USA
Well, it looks like there are some Python and XML changes that will break a 3.13 based DLL. I hope an SDK will come out soon so we can start fixing things.
 
The SDK sources should be included in the patch - at least it was this way with previous patches.
 
The SDK sources should be included in the patch - at least it was this way with previous patches.

You are correct. Dang, I'm not in the mood to do this today. :lol:
 
Well, in this context I was thinking about the XML-files:

When I read the changes list, many changes were simply XML, however, if I have made heavy XML changes in my mod, wouldn't make more sense to copy over the few lines that have changed in CIV4UnitInfos.xml and CIV4LeaderHeadInfos rather than adobt my mod into the new XML-files?
 
Well, in this context I was thinking about the XML-files:

When I read the changes list, many changes were simply XML, however, if I have made heavy XML changes in my mod, wouldn't make more sense to copy over the few lines that have changed in CIV4UnitInfos.xml and CIV4LeaderHeadInfos rather than adobt my mod into the new XML-files?
I have extensive XML changes in my own mod... simply by reading the change list in v3.17, it's obvious there are considerable XML changes in v3.17 as well.

It may be best to go down the v3.17 change list and identify which changes are clearly XML (such as cavalry getting flanking vs catapults) and simply update your own XML to the new standard.

I dunno... the change list is pretty extensive... for anyone with a v3.13 mod with a lot of XML changes... it looks like there is no easy way to go about updating... dunno... :dunno:
 
Try winmerge - you will see exactly what the difference is, and can decide what way to move.
 
Well, shucks. Not even one day after an extensive release, and a new patch is released! :splat: I guess there's no point in rushing anything, for me at least, until Wolf, Dale and others upgrade their work. So I'm glad there's a patch, but a little sad, as I don't know if I'll ever get some of the rare components updated for my mod again.
 
Just to be clear, though, XML mods will still work, right? They just won't have the updates in altered files. This isn't like, for example, when they changed TECH_COMMUNISM to TECH_UTOPIA and anything that referenced it had to be changed? Nothing like that?
 
Just to be clear, though, XML mods will still work, right? They just won't have the updates in altered files. This isn't like, for example, when they changed TECH_COMMUNISM to TECH_UTOPIA and anything that referenced it had to be changed? Nothing like that?

Not sure. I haven't looked in to it fully yet but I suspect there may be some Schema changes on some XML files. My mod crashed straight away when I tried to run it, so I'm thinking that there are some new things in the XML that the old DLL can't handle.
 
My mod won't run either with 3.17. I'm not sure where the problem is. The game loaded OK initially, got past the player's manual selection of the civ, and started the second part of the loading sequence. The last thing I saw before the crash was "init graphics".

-----------------

EDIT

I could not find anything in the logs to give me a clue.

-----------------

EDIT 2

I found no XML tag differences between 3-13 and 3-17's unit infos. Some of the stats have changed, but not the tags themselves AFAIK, so that should not provoke an error message.

If there are any XML tag changes, it would be nice to have a list of the files that actually did change.

----------------
 

Attachments

I'm confident anyone running a mod with a custom DLL is going to get a game crash with v3.17... if they have an XML-only mod, it should in theory play nice... though some things may need to be updated in XML (like cavalry or gunship flanking attacks if you wanted to match v3.17, per-se).

I think I have a volunteer to check my mod without my custom DLL (which was never needed just prefered) on v3.17 to see if my theory is true or not.
 
Try winmerge - you will see exactly what the difference is, and can decide what way to move.

This makes updating xml, python, and even sdk changes so easy.
 
This makes updating xml, python, and even sdk changes so easy.
Unless you added an entry in the middle of a file, in which case winmerge's annoyingly idiosyncratic methods insist that it is not, in fact, a wholly new entry but actually the next entry slightly modified. And of course, each subsequent entry is the entry after that, slightly modified. So, uh, just beware of that.
 
It took me about 4 hours to convert FfH from 3.13 to 3.17. I did use a compare utility (BeyondComapre in my case though the theory is the same regardless). It does make it really easy to do.
 
RtW was updated from 3.13 to 3.17 in about 3 hours. WinMerge makes it so easy.

But yes, sometimes WinMerge will get confused with an SDK difference, but they're usually very simple to work out.
 
What sort of changes have been made to Python? I use a bunch of custom created files (not created by me) in my mod... how would I know if I need to edit any of them?
 
It took me a little more than 5 hours. Everything works except that stupid Worldbuilder, dammit. Of course I noticed that once I was done which is quite late. And only a cryptic:
Code:
Traceback (most recent call last):

  File "CvScreensInterface", line 269, in showWorldBuilderScreen

  File "CvWorldBuilderScreen", line 122, in interfaceScreen

  File "CvWorldBuilderScreen", line 2367, in refreshPlayerTabCtrl

RuntimeError: unidentifiable C++ exception
ERR: Python function showWorldBuilderScreen failed, module CvScreensInterface
:wallbash:
 
It took me a little more than 5 hours. Everything works except that stupid Worldbuilder, dammit. Of course I noticed that once I was done which is quite late. And only a cryptic:
Code:
Traceback (most recent call last):

  File "CvScreensInterface", line 269, in showWorldBuilderScreen

  File "CvWorldBuilderScreen", line 122, in interfaceScreen

  File "CvWorldBuilderScreen", line 2367, in refreshPlayerTabCtrl

RuntimeError: unidentifiable C++ exception
ERR: Python function showWorldBuilderScreen failed, module CvScreensInterface
:wallbash:

I'm going to take a wild guess and say that you're missing the button portion of an artDefine entry. Maybe you left out an XML file?
 
Back
Top Bottom