[3.13] SDK Fix for displaying Culture/Espionage of buildings

Bhruic

Emperor
Joined
Nov 15, 2005
Messages
1,457
File: CvGameTextMgr.cpp
Function: CvGameTextMgr::setBuildingHelp
Line: 6470
Replace:
Code:
		if (NULL == pCity)
With:
Code:
			if ((NULL == pCity) || (pCity->getNumBuilding(eBuilding) <= 0))

Bh
 
Yay! I don't have the knowledge to actually use this but at least it *is* possible and surely someone will incorporate it in a mod soon.

Thanks, Bhruic!
 
I've already incorporated it into my personal mod. ;)

But I'm mainly hoping that the devs will notice it, since I suspect they check this forum more regularily than any others. Should save them some time, if they haven't already found the fix themselves.

Bh
 
Heh, I'll add it in at some point....
 
I've already incorporated it into my personal mod. ;)

But I'm mainly hoping that the devs will notice it, since I suspect they check this forum more regularily than any others. Should save them some time, if they haven't already found the fix themselves.

Bh

One of these days I'll have to look into this SDK stuff myself. I'm used to programming so it shouldn't be that hard. Right? ;)

Unfortunately, I don't think the devs will give us another patch anytime soon (I guess every patch has to go through Take2, which again will take some time... if they decide to fund the patch at all, that is), so I'm hoping for another Solver & Co patch with this and the other major issues like resource trading, AI aggressiveness, idle stacks, etc.
On the other hand, 3.03 came pretty quickly after 3.02, so who knows...
 
Quick question:

If you just make this change to the file in the SDK folder (C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\CvGameCoreDLL), will this override what's in CvGameCoreDLL.dll? Or do I need to create a "Mod", so to speak, and move only the changed file from the SDK to the Mod folder?

Thanks.
 
You have to compile the dll after you've made the changes. Generally the best choice for that is Visual Studio 2003, although other compilers work too. Once you've compiled the dll, you can replace the current version (although it's recommended to back it up first).

Bh
 
You have to compile the dll after you've made the changes. Generally the best choice for that is Visual Studio 2003, although other compilers work too. Once you've compiled the dll, you can replace the current version (although it's recommended to back it up first).

Bh

Makes sense. That is, replace the current version of the dll file from the SDK, not CvGameCoreDLL.dll, right?

Dare I hope that there's a freeware version of Visual Studio 2003 available...?
 
When you compile it, you're going to get a CvGameCoreDLL.dll file, but it's not going to be in the same location as the one the game uses (\Beyond the Sword\Assets\CvGameCoreDLL.dll). What you'd want to do is backup (well, rename) the one that's currently there, and then replace it with the one you just compiled.

Or, you could just wait, at this point, I'm probably going to provide one, since I'm sure a lot of people don't have the compiler. I'm just trying to identify and fix a few more bugs before I release it.

Bh
 
When you compile it, you're going to get a CvGameCoreDLL.dll file, but it's not going to be in the same location as the one the game uses (\Beyond the Sword\Assets\CvGameCoreDLL.dll). What you'd want to do is backup (well, rename) the one that's currently there, and then replace it with the one you just compiled.

Or, you could just wait, at this point, I'm probably going to provide one, since I'm sure a lot of people don't have the compiler. I'm just trying to identify and fix a few more bugs before I release it.

Bh

Oh, I see. So after you make your changes, you basically compile that with ALL of the files in the SDK folder to get the new CvGameCoreDLL.dll, and then THAT goes in the \Assets folder, right?

Just trying to understand -- I will probably just wait for your version unless my cousin happens to have a compiler. Does it HAVE to be Visual Studio?
 
Yes, that's pretty much it.

And no, it doesn't have to be Visual Studio, I know some people use CodeBlocks, for example. I believe that Visual Studio 2003 is what the developers use, however, which is why it's generally considered the "simplest".

Bh
 
Or, you could just wait, at this point, I'm probably going to provide one, since I'm sure a lot of people don't have the compiler. I'm just trying to identify and fix a few more bugs before I release it.
Bh

I'm looking forward to it!

And thank you both for the other information on the SDK and the link, I will try to dig in there myself.

Edit: Which leads me right to my first question: Are the files under Civ/Beyond The Sword/CVGameCoreDll the right ones? The reason I ask is that the newest file is from September 13th. And if they are not the right ones, where can I get them? The Firaxis web site only has Vanilla 1.61 for download as far as I can see.
 
That's the correct file location. Remember, all of the game isn't in the dll, so some of the changes they made would have been with the main executable. So it's likely that all of the "post changelog" changes were made on it, not the dll.

Bh
 
My original "fix" turned out to cause duplication of reports for existing buildings, so I've updated it.

Bh
 
I'm posting this here too, as its more relevant:-

Right, after going back to original firaxis release 3.13, the non display of culture/espionage seems to only apply to buildings that "overstretch" the text window. All others are displaying correctly....see this screenshot...

 
Drew - I think the bigger problem is that the culture/espionage multiplier is not shown when you drag the mouse over a building in the build queue.
 
Drew - I think the bigger problem is that the culture/espionage multiplier is not shown when you drag the mouse over a building in the build queue.

Yeah, Bhuric told me that in another thread, but thanks anyway :)
 
Top Bottom