KSP-RO / RealSolarSystem

Changes KSP's solar system to make it like the real one.
130 stars 92 forks source link

Compatibility with other planet mods #274

Closed jcyuan06 closed 2 years ago

jcyuan06 commented 2 years ago

In RSSKopernicusSettings.cfg, it uses !Body,* {} to remove stock planets, but the side effect is it also removes all planets from planet mods loaded before RSS. Could you change it to the following for better compatibility with other planet mods?

!Body[Sun] {}  
!Body[Kerbin] {}   
!Body[Moho] {}   
!Body[Duna] {}   
!Body[Eve] {}   
!Body[Ike] {}   
!Body[Gilly] {}   
!Body[Mun] {}   
!Body[Minmus] {}   
!Body[Jool] {}   
!Body[Eeloo] {}   
!Body[Laythe] {}   
!Body[Vall] {}   
!Body[Tylo] {}   
!Body[Bop] {}   
!Body[Pol] {}   
!Body[Dres] {} 

Thank you!

StonesmileGit commented 2 years ago

The Kerbolar system and the Solar system are not the same. Why would bodies from the Kerbolar system exist in the Solar system? If the point of the pack is to add to RSS, then running in the AFTER[RealSolarSystem] pass of MM would be best, and adding the bodies instead of modifying stock bodies

jcyuan06 commented 2 years ago

My mod adds a new system to the game, and will automatically rescale to 10x if RSS is installed. See here: https://github.com/jcyuan06/Kcalbeloh-System#how-to-make-it-compatible-with-realsolarsystem My mod is not made specifically for RSS. AFTER[RealSolarSystem] will make RSS a dependency, which is not what I want.

StonesmileGit commented 2 years ago

AFTER[RealSolarSystem] does not create a dependency. See the MM wiki (You might be thinking of FOR which is meant to only be in the mod itself). Adding NEEDS[RealSolarSystem] would make the patch only run with RSS installed

jcyuan06 commented 2 years ago

I think AFTER does create a dependency:

Patches for modname values in NEEDS, BEFORE, AFTER that don't exist are removed.

StonesmileGit commented 2 years ago

Right, my mistake. Either way; why do you want to do what you are trying to do? If I understand correctly, you want to remove all of RSS if your mod is installed. Why install RSS at all and not rescale based on something else?

jcyuan06 commented 2 years ago

Let me explain more. I'm not trying to remove RSS bodies.
My mod adds an interstellar system to the game without any change to existing kerbol/solar system. Its original scale is designed for the stock system. Therefore, with RSS installed, I need to apply 10x rescale to my celestial bodies to fit RSS scale.
Now the issue is, all of the celestial bodies in my mod are created before RSS patches are loaded. !Body,* {} in RSS patch is used for removing stock bodies, but it also deletes all celestial bodies loaded before RSS patch. Hence, it also deletes the celestial bodies in my mod. If !Body,* {} is changed to what I wrote previously, it can have the same function and the compatibility issue can also be solved. I hope I have explained it clearly.

NathanKell commented 2 years ago

RSS is, definitionally, the real solar system. It's not set up to support fictional solar systems. If you insist on making your system exist when RSS is installed, you can have one set of patches that NEEDS[!RealSolarSystem] and one set of patches that NEEDS[RealSolarSystem].