Unofficial BTS 3.13 patch

I was under the impression that this patch would fix the issue on showing the :culture: per turn on the mouse-over in the build menu and queue. I am missing something?

Yes. I don't know what though. You probably installed it incorrectly.
 
Yes. I don't know what though. You probably installed it incorrectly.

I copied the old .dll and saved it in a different folder. Then deleted the .dll in the assets folder and copied Bhruic's .dll into the assets folder. Old one was 3.3 ish MB and Bhruic's is 4 something MB unpacked from the .zip file.
 
wait...never mind. Found the problem.
 
What was the problem?

Instead of overwriting the old file with the Bhruic's, Vista decided to rename it with a -Copy at the end of the filename. So it didn't load the new .dll
 
Bhruic,
I want to thank you for the hard work you put into making this unofficial patch. It really improves the game.

Unfortunately, I came into 3 errors when trying to compile a DLL using your source code. These are the 3 errors I get:

Code:
CvPlayerAI.cpp(17003): error C2065: 'MOVE_MAX_MOVES' : undeclared identifier
Code:
CvGameCoreUtils.cpp(1680): error C2065: 'MOVE_MAX_MOVES' : undeclared identifier
Code:
CvGameCoreUtils.cpp(1680): error C2780: 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)' : expects 3 arguments - 2 provided
        C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(1265) : see declaration of 'std::min'


Do you have a solution for this problem? Let me know. :)
 
[...]
Do you have a solution for this problem? Let me know. :)
I also compiled Bhruic's source code and I had no problems.
So, how did you proceed when trying to recompile the dll?
I copied the source files from the BtS CvGameCoreDLL folder to a 'working folder' (after patching to 3.13 of course). Then I copied Bhruic's source files into the same folder to overwrite the corresponding original files. To compile the dll I followed the instructions in Kael's thread.
Are you sure you used the correct original source files (BtS 3.13)?
 
I'm actually surprised that no one else posted how to fix this, given that it's an extremely simple Python change. Just modify:
Code:
fGroupImpExpRatio = 1 / (1.0 * iTempExports)
...
fGroupImpExpRatio = iTempImports / (1.0 * iTempExports)
to:
Code:
fGroupImpExpRatio = iTempExports
...
fGroupImpExpRatio = iTempExports / (1.0 * iTempImports)
in CvInfoScreen.py - line 1024.

Bh

Bhruic, I think there might be something else required for this to work completely. My civ is now listed as being ranked '0'!! Presumably a rank of 0 should be impossible, right?
 
Bhruic, I think there might be something else required for this to work completely. My civ is now listed as being ranked '0'!! Presumably a rank of 0 should be impossible, right?

exactly. same here. so, something is wrong with the code... it was not me.

any hint?
 
I also compiled Bhruic's source code and I had no problems.
So, how did you proceed when trying to recompile the dll?
I copied the source files from the BtS CvGameCoreDLL folder to a 'working folder' (after patching to 3.13 of course). Then I copied Bhruic's source files into the same folder to overwrite the corresponding original files. To compile the dll I followed the instructions in Kael's thread.
Are you sure you used the correct original source files (BtS 3.13)?
Edit: You're right. I must have made an error overwriting a file or something; I started again from scratch and problem solved.
 
Bhruic, I think there might be something else required for this to work completely. My civ is now listed as being ranked '0'!! Presumably a rank of 0 should be impossible, right?

Hmm, you might have to divide the first one by 1.0 in order to translate it into a floating point from integer. My Python is a little rusty.

Bh
 
Well, you'll note that the original was:
Code:
fGroupImpExpRatio = 1 / (1.0 * iTempExports)
That's functionally equivalent to:
Code:
fGroupImpExpRatio = 1 / iTempExports
I assume they added the "1.0" part because otherwise the result would return an integer instead of a floating point. So you might need to change the line to:
Code:
fGroupImpExpRatio = iTempExports / 1.0
for it to work correctly.

Bh
 
Hi there I am trying use the patch but I get a CTD everytime I try to run it, I amusing Vista, could that be the issue??
 
Hi there I am trying use the patch but I get a CTD everytime I try to run it, I amusing Vista, could that be the issue??

Make sure you have ran all updates for vista using the Windows Update link in your start menu...not sure which update for vista it was, but mine works fine now.
 
Thanks for the great patch! :D

Apologies if this is already answered in this thread:

Does this patch fix the bug whereby partisans appear even when the Civ owning the razed city was not running Emancipation?
 
Does this patch fix the bug whereby partisans appear even when the Civ owning the razed city was not running Emancipation?

Is this a bug ?
 
Yes, apparently. Quite a major one given its impact on gameplay.

Recent discussions here:
http://forums.civfanatics.com/showthread.php?t=253061

and here:
http://forums.civfanatics.com/showthread.php?t=255329

Thanks for bringing this up again. I'd forgotten about it.

I suspect that there's something buggy in the XML tags that require a certain Civic as a prerequisite for the event to trigger. I've noticed that in the in-game Python console, you can force any event that has a prerequisite trigger regardless of what trigger is being run. I think this can be easily fixed just by adding a small python "canTrigger" script specifying the civic in lieu of using the XML tags.

EDIT: Per discussion with Bhruic and Ori, this may not be the correct fix.
 
Back
Top Bottom