For the answer to your last question you would best look into System Redux, don't you think?
As far as the general use of planetinfo.plist is concerned: Adding planetary objects and altering the background sky are two completely different and independent actions. You can do the first without doing the second and the other way round.
Here's an example from Ionics1.2.1.oxp:
Code: Select all
"1 32" = {
description = "Bebege is a terraformed world rumoured to be the home of The Link.";
economy = 3;
government = 0;
inhabitants = "Black Furry Humanoids";
"land_hsb_color" = "0.37 0.6 0.53";
name = Bebege;
"percent_land" = 57;
population = 43;
productivity = 245873;
radius = 3111;
"sea_hsb_color" = "0.6 0.91 0.73";
"sky_blur_alpha" = "0.300000";
"sky_blur_cluster_chance" = "0.800000";
"sky_blur_scale" = "75.000000";
"sky_rgb_colors" = "0.65 0.85 0.97 0.45 0.76 1.0";
station = dodec;
techlevel = 11;
};
It produces huge and colourful nebulae, also changes some of the statistics of the system, but doesn't add any object whatsoever. All values are only in effect in galaxy 2, system no. 32 (Bebege).
The second example is from Cataclysm.oxp:
Code: Select all
"2 86" = {"script_actions" = ("addMoon: cataclysm_enrece_moon"); };
"cataclysm_enrece_moon" = {
orientation = "1 0 1 0";
"polar_color_factor" = "2.5";
position = "-78435.8 -16254.8 436356";
radius = 1000;
"rotational_velocity" = "0.01";
seed = "12 7 199 244 185 54";
texture = "cataclysm_enrece_moon.png";
};
It only adds a new object, a moon, in galaxy 3, system no. 86 (Enrece). Nothing else at all is changed, neither the stars nor the nebulae.
As you see, adding new objects has nothing to do with changing the general appearance of the sky in a system. These are two completely unrelated operations. Of course you can do both in one and the same system. Nothing hinders you.
Note that in both examples only
one specific system in
one specific galaxy is affected. Different from that is System Redux.oxp, which affects
all systems in
all galaxies:
Code: Select all
universal = {
"ambient_level" = "1.25";
"percent_cloud" = "0.0";
"rotational_velocity" = "0.010";
"sky_blur_alpha" = "0.25";
"sky_blur_cluster_chance" = "0.10";
"sky_blur_scale" = 25;
};
This is achieved by using the
universal property instead of a
galaxy_number planet_number pair like in the examples above. And here you also see immediatly
which values are changed globally by System Redux.oxp. (By the way: in my personal copy of System Redux.oxp I have reduced the
ambient_level to 0.75, because I found the planets too bright and lacking shadow.
Now to the question of possible clashes: planetinfo.plist is like all plists read and cached by the game when you start it. In that process all planetinfo.plists from different OXPs are merged into one long list. Usually this happens in alphabetical order concerning the OXP names. So, taking the three examples here, the bit from Cataclysm will be on top of the merged plist, followed by the bit from Ionics and finally the bit from System Redux. The plist is run by the engine from top to bottom. Therefore, if Cataclysm would define a
sky_blur_alpha for let's say system "4 201", and afterwards Ionics would define a different
sky_blur_alpha for the same system "4 201", obviously the latter will overwrite the former. So Ionics would be unaffected by Cataclysm, but Cataclysm would
not be unaffected by Ionics. Generally AFAIK
specific definitions for a system override the
general definition in a
universal property, therefore both Cataclysm and Ionics would be unaffected by System Redux, but System Redux would
not be unaffected by the two other OXPs, because they would prevent it from making
all systems look alike. On the other hand, System Redux can affect both Cataclysm and Ionics by adding additional planets and moons into "their" systems, without either of the OXPs anticipating or even wanting that.
All clear now?