CIVILIZATION IV:iNoc

How much time is left for Inoc publication? :)

And i have one question for all:

Maybe this is not question for this thread, but i know that will Voyhkah or some SDK moder help me.
I want to learn some SDK moding, for now only how to edit CvGameCoreDLL.dll, for example i will use copy of BTS core, and i will put some one SDK promotion for begin. I heard that i must first manually change some files, then compile them into a new CvGameCoreDLL.dll. Ok, but i don't know to do this. Absolutely nothing, for begin can i got some help, and in which files are promotions. What is the name of the file?
And when i found that file with promotions, i must only copy that codes in my file and compile that files? Similar like python, if i want some python code i will copy that codes in my python file and save it, but with SDK i will copy, save and compile that. Am I right or no?
I forgot, which programs are needed for this?
 
Thank you so much!

On an unrelated note, I am having what experts such as you and I call a 'Problem'. When I click on the Sevopedia page for Buildings, National Wonders, or World Wonders, I get this:
Assert Failed

File: CvGlobals.cpp
Line: 2258
Expression: eBuildingClassNum > -1
Message:
Then this python popup:
Traceback (Most recent call last):
File "CvScreensInterface", line 419, in pediaMain
File "SevoPediaMain", line 246, in pediaJump
Flie "SevoPediaMain", line 305, in showContents
File "SevoPediaMain", line 491, in placeBuildings
File "SevoPediaMain", line 495, in getBuildingList
File "SevoPediaBuilding", line 254, in getBuildingSortedList
File "SevoPediaBuilding", line 241, in getBuildingType
Error: unidentifiable C++ exception
Anyone know what the problem is?

EDIT: On another note, I uploaded the final Screenshot for America's pedia page.
 
On an unrelated note, I am having what experts such as you and I call a 'Problem'. When I click on the Sevopedia page for Buildings, National Wonders, or World Wonders, I get this:

Before or after the merge?

Are there any modules in your mod?
 
Before. I figured I'd fix this before I merged in the stuff you so thankfully provided. As for modules, the WoC modules are enabled but not used.
 
Thank you so much!

On an unrelated note, I am having what experts such as you and I call a 'Problem'. When I click on the Sevopedia page for Buildings, National Wonders, or World Wonders, I get this:

Then this python popup:

Anyone know what the problem is?

EDIT: On another note, I uploaded the final Screenshot for America's pedia page.

If it was me I'd guess that I spelt a building type name incorrectly in the BuildingClass or at least the one in the BuildingInfos did not match one in BuildingClass.
 
Do any buildings appear at all?
Can you access the UBs via the civs section?

Buildings are referenced fine in all other sections, and when I mouse over a button, the help text works perfectly. As for when I try to view the Buildings section, it just doesn't show up.

EDIT: I managed to fix the problem by removing a troublesome building.
 
Not sure if we're talking about the same thing, but can you click on an UB in the civs section, and the screen of that UB, will that appear correctly?
I'm not sure if you mean with "buildings section" the whole list, or not.

Normally I'd say that DH is right with his suspicion, but should this not lead to XML errors?
 
Never mind, I figured it out. It's the new XML tag I've added, although I haven't the faintest idea why that causes the problem or how to fix it. All I know is that when I add the tag to a file, the problem starts, and when I remove it, the problem goes away. Any ideas?
 
I have a lot going on right now, but I haven't forgotten.
 
I WILL fix the error today. Or at least before the next time I sleep.

Entry #1:
It seems that even if I comment out all the code in CvBuildingInfo::read (this stuff)
Spoiler :
Code:
if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"PrereqOrCivics"))
	{
		/&if (pXML->SkipToNextVal())
		{
			iNumSibs = gDLL->getXMLIFace()->GetNumChildren(pXML->GetXML());

			if (0 < iNumSibs)
			{
				if (pXML->GetChildXmlVal(szTextVal))
				{
					for (j=0;j<iNumSibs;j++)
					{
						m_aszExtraXMLforPass3.push_back(szTextVal);
						m_bRequiresOrCivic = true;
						if (!pXML->GetNextXmlVal(szTextVal))
						{
							break;
						}
					}

					gDLL->getXMLIFace()->SetToParent(pXML->GetXML());
				}
			}
		}*/
		
	}
	m_aszExtraXMLforPass3.push_back("STOP");
, the error still occurs. If I comment out all uses of the tag, then everything's fine. And I replaced the Python file in question with the one from a previous, stable, version (Might've done this already), but the problem persists.

Notice that on this test, I did not comment the outermost 'if' statement. Not sure why. But where this gets really weird is that if I do extent the comment to include the 'if', this happens (I had to check twice to confirm the correlation):
Code:
Unhandled exception at 0x76b8c41f in Civ4BeyondSword.exe: Microsoft C++ exception: std::out_of_range at memory location 0x0018f60c..
:eek: :( :wow: :shake: :aargh: :vomit: :badcomp: :wallbash: :confused:
I'm meddling with forces beyond my comprehension, aren't I?
 
But if I ALSO comment out this section in ReadPass3
Code:
/*for(i++; m_aszExtraXMLforPass3.at(i) != "STOP"; i++)
	{
		m_pbPrereqOrCivics[GC.getInfoTypeForString(m_aszExtraXMLforPass3.at(i))] = true;
	}*/
, everything works fine. No errors, buildings properly displayed.

Wait, I got why the previously described incomprehensible error was happening. :whew:
It was because I failed to end a section of m_aszExtraXmlForPass3 with "STOP", so the above code looped forever. With that cleared up, perhaps I can attempt to understand and fix the underlying problem.
 
Here's a compilation of the code versions that do and don't give the error.
Spoiler :
Code:
if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"PrereqOrCivics"))
	{
		if (pXML->SkipToNextVal())
		{
			/*iNumSibs = gDLL->getXMLIFace()->GetNumChildren(pXML->GetXML());

			if (0 < iNumSibs)
			{
				if (pXML->GetChildXmlVal(szTextVal))
				{
					for (j=0;j<iNumSibs;j++)
					{
						m_aszExtraXMLforPass3.push_back(szTextVal);
						m_bRequiresOrCivic = true;
						if (!pXML->GetNextXmlVal(szTextVal))
						{
							break;
						}
					}

					gDLL->getXMLIFace()->SetToParent(pXML->GetXML());
				}
			}*/
		}
		
	}
Doesn't work.

Spoiler :
Code:
/*if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"PrereqOrCivics"))
	{
		if (pXML->SkipToNextVal())
		{
			iNumSibs = gDLL->getXMLIFace()->GetNumChildren(pXML->GetXML());

			if (0 < iNumSibs)
			{
				if (pXML->GetChildXmlVal(szTextVal))
				{
					for (j=0;j<iNumSibs;j++)
					{
						m_aszExtraXMLforPass3.push_back(szTextVal);
						m_bRequiresOrCivic = true;
						if (!pXML->GetNextXmlVal(szTextVal))
						{
							break;
						}
					}

					gDLL->getXMLIFace()->SetToParent(pXML->GetXML());
				}
			}
		}
		
	}*/
Works.

Spoiler :
Code:
if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"PrereqOrCivics"))
	{
		/*if (pXML->SkipToNextVal())
		{
			iNumSibs = gDLL->getXMLIFace()->GetNumChildren(pXML->GetXML());

			if (0 < iNumSibs)
			{
				if (pXML->GetChildXmlVal(szTextVal))
				{
					for (j=0;j<iNumSibs;j++)
					{
						m_aszExtraXMLforPass3.push_back(szTextVal);
						m_bRequiresOrCivic = true;
						if (!pXML->GetNextXmlVal(szTextVal))
						{
							break;
						}
					}

					gDLL->getXMLIFace()->SetToParent(pXML->GetXML());
				}
			}
		}*/
		
	}
Doesn't work.


That's odd... The line that appears to cause the problem is
Code:
if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"PrereqOrCivics"))
But the error doesn't occur in XML reading... It occurs in the Pedia screen...:confused:

Ideas?
 
Back
Top Bottom