The very first thing to do: make sure you used the right civilization info format. If you are modding BtS you must start with the BtS version of CIV4CivilizationInfos.xml, not the vanilla version or the Warlords version. BtS added at least one tag to the XML from what Warlords has, for example.
Second, check your art references. If your ArtDefineTag does not point to an entry that actually exists in CIV4ArtDefines_Civilization.xml you will have serious problem. Then check that art define itself. The Button must point to a correct .dds file or atlas, using the correct syntax: if it is just a dds file it must just be "Art/whatever/file.dds" without any leading comma, but if it is using an entry from an atlas it must have a leading comma, a "dummy filespec", and then the atlas data like ",Art/whatever/file.dds,Art/whatever/some_Atlas.dds,x,y" were "x" and "y" are numbers indicating which position in the atlas to use. Likewise, the Path entry for the flag must be valid.
After that, it could be anything in the civilization info file that is wrong. Checking the leaders and UU and UB entries are good things to check next as they are often changed for a new civ (which is often otherwise a copy of some other civ).
Also, you can turn on various error reporting things in the main CivilizationIV.ini file so that when things go wrong it is more likely to tell you about them and provide some hint as to what the problem is.
I looked through the files like you said, I couldn't find anything wrong.
Turned on error reporting and this was what I got when I go to the Civilization screen in the Civilopedia:
Traceback (most recent call last):
File "CvScreensInterface", line 206, in pediaMain
File "CvPediaMain", line 873 in pediaJump
File "CvPediaMain", line 244 in ShowScreen
File "CvPediaMain", line 517 in placeCivs
Runtimeerror: Unidentifiable C++ exception
And then when I clicked on one of the leaders of the missing civ:
Traceback (most recent call last):
File "CvScreensInterface", line 251, in pediaJumpToLeader
File "CvPediaMain", line 897, in PediaJump
File "CvPediaLeader", line 90, in InterfaceScreen
File "CvPediaLeader", line 99 in PlaceCiv
Runetimeerror: Unidentifiable C++ exception
If I go to the Civilization list and click on my "missing" civ this is the error report:
Traceback (most recent call last):
File "CvScreensInterface", line 248, in PediaJumptoCiv
File "CvPediaMain", line 895, in PediaJump
File "CvPediaCivilization", line 88, in InterfaceScreen
Attribute Error: 'Nonetype' object has no attribute "Get Button"
I have know idea what any of this means. I looked through the files and I don't see anything wrong. When I delete the section that is causing me problems it is fixed. I have even tried copy+pasting the previous civ and editing what needed to be editied. Nothing is working.
So, what is going on that I can fix?