TLDR:
(reported in redmine
Feature #17982)
One Mod says:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<Name>Red Giant</Name>
</OrbType>
Other mod says:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<DiameterMinimum>38000</DiameterMinimum>
</OrbType>
Wouldn't that be nice?
Or explaining it a bit different:
Orbtypes_redGiantName.xml:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<Name>Roter Riese</Name>;Orig: Red Giant
</OrbType>
Orbtypes_redGiantSize.xml:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<DiameterMinimum>36000</DiameterMinimum>;was 38000
</OrbType>
-----------------------
Here is the wall of text:
Yes, this is a loong ongoing problem.
But you programmers know what we modders need.
We wrote this often and the problem is known.
I guess there is no time to address this.
But if you would change this behavior, that is already working for lets say
gametext.txt
When we write a new little textline different, we can write that into
gametext_a.txt
But this is not working for OrbTypes.xml and other files..
Now with orbtypes as well as all other stuff, there is so much different stuff in it,
that we have to adapt every single beta (when we want to use the most recent version, want to report bugs, etc.).
And also, two mods can not exist besides each other if the one mod changes the name of planets in orbtypes and another mod changes the size of the planet.
and so there is no really a mod that can exist besides others.
Other than those that use this underline file type usage like working with gametext.txt
And the hints.txt and touritems.xml can not placed into a mod folder.
Now we write this over and over again since the first release and we are saying it nice but keep saying it
Thanks for reading
P.S.:
Even for the programmers this system would be very beneficial.
Lets say you test some changes on some stats.
Now i take a file that is working:
ComponentDefinitions_Dhayut.xml
We/You can change ONE component and write this ONE component into a new file saying:
ComponentDefinitions_Dhayut_testCompA.xml
It could work the same with beta files:
ComponentDefinitions_Dhayut_1.2.2.9.xml
If you change some lines (it should be documented how much has to be changed to get it to work, at least a bit),
only the changed lines are overriding the original lines.
In this case, there is only one component. So this is not a good example.
but for your betas, you could name those files like written above. This way we can see what has changed and what not.
Unfortunately, in orbtypes.xml, to use this example, we have to change the whole "component":
But in orbtype.xml, you can see that even this solution is not that easy, because there is much in one object:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<Category>Star</Category>
<Name>Red Giant</Name>
<Description></Description>
<ImageFilename>Environment/OrbTypes/RedGiant</ImageFilename>
<LargeImageFilename>Environment/OrbTypes/Large/RedGiant</LargeImageFilename>
<FullsizeImageFilename>Environment/OrbTypes/Fullsize/RedGiant</FullsizeImageFilename>
<SurfaceDrawType>Star</SurfaceDrawType>
<AtmosphereDrawType>Corona</AtmosphereDrawType>
<AmbientSoundEffectFilenames>
<string>Sounds/Ambient/Star_Surging1</string>
<string>Sounds/Ambient/Star_Surging2</string>
<string>Sounds/Ambient/Star_Mid1</string>
</AmbientSoundEffectFilenames>
<SurfaceMaterialFilenames>
</SurfaceMaterialFilenames>
<AtmosphereMaterialFilenames>
</AtmosphereMaterialFilenames>
<AmbientLightColor>
<B>188</B>
<G>208</G>
<R>255</R>
<A>255</A>
</AmbientLightColor>
<AmbientLightIntensity>0.05</AmbientLightIntensity>
<StarColor>
<B>80</B>
<G>96</G>
<R>255</R>
<A>255</A>
</StarColor>
<StarLightColor>
<B>160</B>
<G>192</G>
<R>255</R>
<A>255</A>
</StarLightColor>
<StarColorVariationFactor>0.1</StarColorVariationFactor>
<StarBrightnessFactor>0.8</StarBrightnessFactor>
<StarColorGradient>CoreEffects/ShaderGradients/RedGiant</StarColorGradient>
<EnergyOutputMinimum>0.7</EnergyOutputMinimum>
<EnergyOutputMaximum>0.9</EnergyOutputMaximum>
<LocationEffectId>0</LocationEffectId>
<CommonBonuses>
<BonusRange>
<Type>ResearchShields</Type>
<Minimum>0.06</Minimum>
<Maximum>0.15</Maximum>
<AppearanceChance>0.0085</AppearanceChance>
<Descriptions>
<string>Dense Plasma Vortices</string>
<string>Supercharged Gaseous Flow</string>
<string>Magnetic Inversion Fields</string>
<string>Stable Gravimetric Pulses</string>
</Descriptions>
</BonusRange>
<BonusRange>
<Type>ResearchHyperDrive</Type>
<Minimum>0.06</Minimum>
<Maximum>0.15</Maximum>
<AppearanceChance>0.007</AppearanceChance>
<Descriptions>
<string>Magnetic Inversion Fields</string>
<string>Stable Gravimetric Pulses</string>
<string>Turbulent Energy Oscillations</string>
<string>Powerful Magnetic Bursts</string>
</Descriptions>
</BonusRange>
</CommonBonuses>
<AsteroidFieldProbability>0</AsteroidFieldProbability>
<AsteroidFieldOrbTypeId>0</AsteroidFieldOrbTypeId>
<StarProbability>
<OrbTypeId>0</OrbTypeId>
<Factor>0.15</Factor>
</StarProbability>
<ChildTypes>
<OrbTypeFactor>
<OrbTypeId>7</OrbTypeId>
<Factor>0.006</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>8</OrbTypeId>
<Factor>0.006</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>9</OrbTypeId>
<Factor>0.007</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>10</OrbTypeId>
<Factor>0.035</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>11</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>12</OrbTypeId>
<Factor>0.035</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>13</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>14</OrbTypeId>
<Factor>0.20</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>15</OrbTypeId>
<Factor>0.15</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>16</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>31</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>32</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>23</OrbTypeId>
<Factor>0.008</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>17</OrbTypeId>
<Factor>0.007</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>18</OrbTypeId>
<Factor>0.007</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>19</OrbTypeId>
<Factor>0.03</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>20</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>21</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>22</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>24</OrbTypeId>
<Factor>0.01</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>25</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>26</OrbTypeId>
<Factor>0.04</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>27</OrbTypeId>
<Factor>0.007</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>29</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
<OrbTypeFactor>
<OrbTypeId>30</OrbTypeId>
<Factor>0.025</Factor>
</OrbTypeFactor>
</ChildTypes>
<ChildCountMinimum>0</ChildCountMinimum>
<ChildCountMaximum>8</ChildCountMaximum>
<QualityRangeMinimum>0</QualityRangeMinimum>
<QualityRangeMaximum>0</QualityRangeMaximum>
<OrbitalDistanceFromSunRatioMinimum>0</OrbitalDistanceFromSunRatioMinimum>
<OrbitalDistanceFromSunRatioMaximum>1</OrbitalDistanceFromSunRatioMaximum>
<DiameterMinimum>38000</DiameterMinimum>
<DiameterMaximum>45000</DiameterMaximum>
<ResourceCountMinimum>0</ResourceCountMinimum>
<ResourceCountMaximum>0</ResourceCountMaximum>
<PossibleResources>
</PossibleResources>
</OrbType>
If one mod changes the size:
<DiameterMinimum>38000</DiameterMinimum>
and another wants to changethe name:
<Name>Red Giant</Name>
we have a problem...
But a translation should not always translate the name again after the Diameter is changed to something else..
Now if you do finetuning like "Dhayut are buffed in various weapon types" we have to include that buff into a translation for instance.
Ahh. Instance is a good idea
Well, in this case not, or yes, it is?!
One Mod says:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<Name>Red Giant</Name>
</OrbType>
Other mod says:
<OrbType>
<OrbTypeId>1</OrbTypeId>
<DiameterMinimum>38000</DiameterMinimum>
</OrbType>
Wouldn't that be nice?