Additional planets SR base 0.11 (18/06/2026)

Authors: Spara, Redspear (derived from code by CaptKev, Kaks and Svengali)

_Description_

Add persistent extra planets (default max 4) and add moons (default max 3) around the main planet and occationally around other planets to each system. Configurable via OXPConfig or by editing the script.

Default values can be changed. Number of extra planets or moons has no roof other than the practical one of longer distances. Every new planet or moon adds a new orbit that is farther than the previous ones.

_Background_

The original System Redux oxp sets the main planet texture, ambient light, starfield density, nebulae and adds persistent extra moon/planet combinations to every system. Since the original release there have been (amongst others) two notable and widely used oxp releases that clash with this oxp, PovRay planets oxp and ZygoUgo Cinematic Sky & Nebulas oxp. Making SR (or SD or DHS) work nicely with the aforementioned oxps requires 'some' tweaking. This oxp is an almost to total rewrite of System Redux removing everything but the extra planet part. And that part has been largely rewritten to take advantage of newer core game features and to allow flexible use of texture packs.

This work was originally initiated by Redspear by tweaking System Demux and combining textures from various sources. Later scripting by Spara uses System Redux as a base to provide compatibility with numerous other oxps that have been tuned to work with System Redux. For that reason the oxp internally uses the name System Redux.

_Requirements_

* Clashes hard with with other planet/moon adding oxps, such as System Redux, System Demux and DeepHorizon Systems.
* At least one texture pack is needed.

_Installing_

* Install the OXP by copying Additional_Planets_SR_Base.oxp to your AddOns-folder.
* Install at least one texture pack oxp to your AddOns-folder.

_Oxp_authors_

Textures:
This oxp uses three pools of textures from which it selects the textures used for additional planets, moon and as giants. If any of the pools is empty, then that kind of body is not spawned. This oxp has no textures of it's own, so texture packs are needed. New textures can be added to the pools by using these public functions:

worldScripts["System Redux"].addMoonsToPool(array_of_moon_textures);
worldScripts["System Redux"].addPlanetsToPool(array_of_planet_textures);
worldScripts["System Redux"].addGiantsToPool(array_of_gas_giant_textures);

Just create an array of the names of your textures and call these functions at startUp to add textures to the pools.

Excluding systems:
As System Redux, this oxp politely steps aside, if asked. That can be done by calling this public function:

worldScripts["System Redux"].changeSystems(array_of_systems_to_exclude);

The array of systems to exclude is an array of 8 arrays. One array for each chart. Just put the system you want to exclude into the correct subarray and call the script as startUp.

If you only have one system to exclude, you can also do the following:

worldScripts["System Redux"].changeSystem(galaxyID, systemID);

This will exclude the single system (systemID) from a single galaxy (galaxyID).

GasGiants:
Gas giants are tagged with "isGasGiant = true" for Gas Giant Skimmer oxp and "solarGasGiant = true" for Planet Fall.

_Credits_

* Heavily modifed script from System Redux by CaptKev, Kaks and Svengali.

------

This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
