Thunderbrd
C2C War Dog
This has been mentioned as something many modders on the team still struggle with.
Running the Debug DLL is an important step to take before committing any XML changes. Doing so will help you determine if there are any errors long before they emerge as an obvious problem in the bug thread.
It's very simple. In the Assets folder, you have 2 dlls.
The main is:
CvGameCoreDLL.dll
The debug dll is:
CvGameCoreDLL.dll.debug
The .debug added extension is just there to make the file invalid and invisible to the EXE, which instructs the running of the CvGameCoreDLL.dll, which contains the majority of the game's programming.
When the normal DLL is run, the game processes fairly quickly (in comparison.) When the Debug DLL is run, the game is the same but much slower because many debugging processes are running at the same time. When, for example, I look closely at a bug in the code, I'm running the debug dll attached to Visual Studio to get abilities to stop the processing and read every amount in every variable as it processes. I can control a lot this way. However, for the rest of you, attaching with VS is not necessary.
The Debug DLL also highlights XML errors and even tells you where they are, when you simply load the mod. Priceless.
So to run the Debug DLL in a load process, simply rename the main DLL by adding an extension to make it invisible, like .core. This turning CvGameCoreDLL.dll into CvGameCoreDLL.dll.core.
THEN rename the Debug DLL, removing the .debug extension, leaving it as the file name that the normal DLL is usually. Thus, turn CvGameCoreDLL.dll.debug into CvGameCoreDLL.dll.
Then run the game. You'll notice it takes 5-10 minutes longer to load and if you try to actually play in this mode you'll be getting popup asserts and all sorts of annoyances and it takes about 10 times as long to process everything. Therefore, it is CRITICAL to change the naming on the dlls back to the way they were before committing or you might commit the debug dll as the primary and that will be annoying to anyone who updates that and tries to play.
If anyone has any trouble following these steps successfully, please let me know.
@DH: Would you be so kind as to link this post to the front page of the Modder's Docs?
Running the Debug DLL is an important step to take before committing any XML changes. Doing so will help you determine if there are any errors long before they emerge as an obvious problem in the bug thread.
It's very simple. In the Assets folder, you have 2 dlls.
The main is:
CvGameCoreDLL.dll
The debug dll is:
CvGameCoreDLL.dll.debug
The .debug added extension is just there to make the file invalid and invisible to the EXE, which instructs the running of the CvGameCoreDLL.dll, which contains the majority of the game's programming.
When the normal DLL is run, the game processes fairly quickly (in comparison.) When the Debug DLL is run, the game is the same but much slower because many debugging processes are running at the same time. When, for example, I look closely at a bug in the code, I'm running the debug dll attached to Visual Studio to get abilities to stop the processing and read every amount in every variable as it processes. I can control a lot this way. However, for the rest of you, attaching with VS is not necessary.
The Debug DLL also highlights XML errors and even tells you where they are, when you simply load the mod. Priceless.
So to run the Debug DLL in a load process, simply rename the main DLL by adding an extension to make it invisible, like .core. This turning CvGameCoreDLL.dll into CvGameCoreDLL.dll.core.
THEN rename the Debug DLL, removing the .debug extension, leaving it as the file name that the normal DLL is usually. Thus, turn CvGameCoreDLL.dll.debug into CvGameCoreDLL.dll.
Then run the game. You'll notice it takes 5-10 minutes longer to load and if you try to actually play in this mode you'll be getting popup asserts and all sorts of annoyances and it takes about 10 times as long to process everything. Therefore, it is CRITICAL to change the naming on the dlls back to the way they were before committing or you might commit the debug dll as the primary and that will be annoying to anyone who updates that and tries to play.
If anyone has any trouble following these steps successfully, please let me know.
@DH: Would you be so kind as to link this post to the front page of the Modder's Docs?