I'm going to use the specifics for units, but these suggestions apply to buildings and techs.
In order to add a unit, an entry needs to be added into various xml files.
You need to add a class entry into CIV4UnitClassInfos.xml
You need to add unit info into CIV4UnitInfos.xml
and you need to add it to CIV4FormationInfos.xml
(and make art, tiles, and all that other jazz)
The problem, of course, is that to add a single unit, you need to modify these files, so if a person wants to add multiple units, they have to merge these changes.
Here is what I propose:
Create an xml format (a schema) which contains all the data needed.
Example
<Civ4UnitData>
<Civ4UnitClassInfo>Put all the stuff that needs to be added to CIV4UnitClassInfos.xml</Civ4UnitClass>
<Civ4UnitInfo>Put all the stuff that needs to be added to CIV4UnitInfos.xml</Civ4UnitInfo>
<FormationInfo>(and so on)</FormationInfo>
</Civ4UnitData>
Then, a simple program combines all these unit data files and generates
CIV4UnitClassInfos.xml (and the other xml files needed). To make this work, an additional tool will be needed to generate unit data files for all the existing units.
In order to add a unit, an entry needs to be added into various xml files.
You need to add a class entry into CIV4UnitClassInfos.xml
You need to add unit info into CIV4UnitInfos.xml
and you need to add it to CIV4FormationInfos.xml
(and make art, tiles, and all that other jazz)
The problem, of course, is that to add a single unit, you need to modify these files, so if a person wants to add multiple units, they have to merge these changes.
Here is what I propose:
Create an xml format (a schema) which contains all the data needed.
Example
<Civ4UnitData>
<Civ4UnitClassInfo>Put all the stuff that needs to be added to CIV4UnitClassInfos.xml</Civ4UnitClass>
<Civ4UnitInfo>Put all the stuff that needs to be added to CIV4UnitInfos.xml</Civ4UnitInfo>
<FormationInfo>(and so on)</FormationInfo>
</Civ4UnitData>
Then, a simple program combines all these unit data files and generates
CIV4UnitClassInfos.xml (and the other xml files needed). To make this work, an additional tool will be needed to generate unit data files for all the existing units.