Installing and using the SDK

This is odd...

I'm getting this message

Execution of 'rc.exe /IBoost-1.32.0\include /IPython24\include -foDebug\CvGameCoreDLL.res CvGameCoreDLL.rc' in 'C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Fictionalization IV\Assets\CvGameCoreDLL' failed.
Nothing to be done.
 
I think you missed to remove the CvGameCoreDLL.rc
 
I feel like I'm missing something obvious, but how exactly do I merge two different dll's? How do I tell which source files have been modified, and which haven't? And the "source files" are all those .cpp files and .h files, right? :p
 
There are tools - http://www.winmerge.org/ - that will show you the differences between two files (or folders), helping merge these.
These tools can not know however, what the code is supposed to do, so you will have to look yourself what the differences are, and which part you would like to keep.

And yes, these .h and .cpp files are the ones you need to merge, before compiling.
 
Hey guys, sorry I know this is probably not the best thread for this, but CivFanatics is so huge, I find asking in any possible thread that is active is often necessary to get help.

I'm messing with Grave's HiTM Mod. I want to make the unit dynamics more like an operational wargame, basically: units die much less, but take longer to heal. Add on to this, it would be neat if terrain features, and city Pop size modify healing rates. So a unit in a tile with and a railroad should heal a bit faster than one with a road or one with only a Hamlet, etc.

I've managed to adjust the gross healing rates in the GlobalDefines XML file by resetting some things as follows

Quote:
<Define>
<DefineName>ENEMY_HEAL_RATE</DefineName>
<iDefineIntVal>3</iDefineIntVal>
</Define>
<Define>
<DefineName>NEUTRAL_HEAL_RATE</DefineName>
<iDefineIntVal>5</iDefineIntVal>
</Define>
<Define>
<DefineName>FRIENDLY_HEAL_RATE</DefineName>
<iDefineIntVal>8</iDefineIntVal>
</Define>
<Define>
<DefineName>CITY_HEAL_RATE</DefineName>
<iDefineIntVal>11</iDefineIntVal>
</Define>
<Define>
<DefineName>ROAD_HEAL_RATE_MODIFIER</DefineName>
<iDefineIntVal>100</iDefineIntVal>
</Define>

The original values for these were


Quote:
<DefineName>ENEMY_HEAL_RATE</DefineName>
<iDefineIntVal>5</iDefineIntVal>
</Define>
<Define>
<DefineName>NEUTRAL_HEAL_RATE</DefineName>
<iDefineIntVal>10</iDefineIntVal>
</Define>
<Define>
<DefineName>FRIENDLY_HEAL_RATE</DefineName>
<iDefineIntVal>15</iDefineIntVal>
</Define>
<Define>
<DefineName>CITY_HEAL_RATE</DefineName>
<iDefineIntVal>20</iDefineIntVal>
</Define>

And the line about road_heal_rate_modifier is totally my addition. Even with the road lines added in, my application is running fine, and the healing rates do indeed seem to be slowed down!

However, I don't see any sign that healing rates on tiles with roads and without are having any impact. Can you offer any help or suggestions on this?
 
Just adding the lines to the XML is not really enought. You need to implement these in the SDK if you want them to have any functionality.
Would be surprising - not to say scary - if the game actually had guessed what it is expected to do with the new ROAD_HEAL line :hide:

The basics are described here by Kael: http://forums.civfanatics.com/showthread.php?t=166935

You can get a idea of what/where you need to change by searching for the existing modifiers - like NEUTRLA_HEAL_RATE - in the code and looking how these are implemented.
Open a thread in SDK subsection of the forum, if you need to ask for help.

Once done you can compile the new SDK as described here and use it.
 
THANKS! Refar. Now I know where to study to start sorting it out :)
 
You need to use the 2003 Toolkit Compiler (Or the full Visual Studio 2003) to compile it, no way around it as far as i know.

What IDE shell you use to edit the code does not matter in the end.

In my signature is a link with instructions how to set it up on the free Visual Studio 2005 Express (or similar). A thread dedicated to these tools is linked there as well.
 
Excellent tutorial guys! Got everything working, although it may be awhile before I use it. The follow up posts really helped me troubleshoot a minor problem or two as well.
 
I just finished setting up the process on a Vista 64-bit laptop, as I've upgraded my computer. The PSDK-x86.exe file described in post 1 wouldn't run. However, using the PSDK-amd64.exe found on this page at Microsoft (you need to scroll down a bit) made everything work as described in post 1. The latest CodeBlocks is version 8.02, and the interface titles have changed slightly, but the setup works.
 
Can anyone provide a live link to the unmodified SDK for BTS 3.17? The link from 2kgames seems to have been down the last couple of weeks.
 
It's have been down for the last couple of years, i think. Since Warlords came out.
The BTS sdk is delivered with the game/patch in your BTS\CvGameCoreDll folder.
 
I'm getting the following error when I try to compile the BTS DLL (at the very end of the process):
Code:
CvDLLWidgetData.obj
error LNK2019: unresolved external symbol __imp__GetKeyState@4 referenced in function "public: void __thiscall CvDLLWidgetData::doResearch(struct CvWidgetDataStruct &)" (?doResearch@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@@Z)
Any ideas?
 
I just finished setting up the process on a Vista 64-bit laptop, as I've upgraded my computer. The PSDK-x86.exe file described in post 1 wouldn't run. However, using the PSDK-amd64.exe found on this page at Microsoft (you need to scroll down a bit) made everything work as described in post 1. The latest CodeBlocks is version 8.02, and the interface titles have changed slightly, but the setup works.

I too am trying to set this up on a new system with Vista 64. The PSDK- x86 wouldn't install for me either. I haven't tried the PSDK- amd64 though yet... what exactly is that file for? Does the "amd" refer to a AMD processor system as mine has a Intel Processor?

I did manage to get some kind of PSDK installed as it shows up on my program files as "Microsoft Windows SDK v6.1". I added these lines to the search directories in Code Blocks:

Code:
C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003\include
C:\Program Files\Microsoft SDKs\Windows\v6.1\Include

But I am getting the error "C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\specstrings.h(9) : fatal error C1083: Cannot open include file: 'sal.h': No such file or directory"

Is there some directory I am missing with this version of the PSDK?
 
The platform SDK should provide headers and libraries for the compiler to link to, that are referenced by but not included in the games SDK. As such the whole point of this setup is to specifically use the right one. Amd64 does indeed point to the processor it is meant to work with, as do x86 and ia64 - which is probably the one you need - on the same page Ninja linked to.
 
The platform SDK should provide headers and libraries for the compiler to link to, that are referenced by but not included in the games SDK. As such the whole point of this setup is to specifically use the right one. Amd64 does indeed point to the processor it is meant to work with, as do x86 and ia64 - which is probably the one you need - on the same page Ninja linked to.



I guess the SDK version 6.1 is not the correct version for CIV IV. I tried installing the x86 version and the ia64 but both said they wasn't compatable with this pc but the amd version is installing now and its installing to the same directory mentioned in the op so hopefully that will fix this.
 
Top Bottom