FreeThinker

[1.6.1/1.5.1/1.4.5/1.3.1] Interstellar Fuel Switch (IFS) 3.6.18

Recommended Posts

4 minutes ago, FreeThinker said:

Sorry, IFS does not have any message saying "The error is "FSFuelSwitch Mass Discrepancy detected in part xxxx" . But from xperiece I can tell you this message is most likely  associated with tweakscale which also alters a part mass. WHat might be happening is that Firespitter is expecting the part to have a specific mass but was altered by tweaskcaling, generating this message. IFS has integrated tweakscale while Firespiter relies on tweakscale configs

Gah! thanks - Damn message not being specific enough. I figured 'FS' stood for InterstellerFuelSwitch and didn't occur to me it would be FireSpitter. No prob and thanks for the info.

Edited by wile1411

Share this post


Link to post
Share on other sites

ABout the neww Animcontent module, I now understand why I have an orange error message in VAB about a part of the Modular Pods mod.

Share this post


Link to post
Share on other sites

Are there any mods required to get all of the tanks to show up, I am only able to transfer fuel types, and do not have access to any of the tanks that come with the mod.

Share this post


Link to post
Share on other sites

CC46CFB92CB179BFB1ACB4C5F443882FA0D84D17

I've bumped into an issue with localization strings in the latest version.  Image on Steam:
https://steamcommunity.com/sharedfiles/filedetails/?id=1166422322
 

On 10/9/2017 at 12:23 AM, MjrLeeObvious said:

Are there any mods required to get all of the tanks to show up, I am only able to transfer fuel types, and do not have access to any of the tanks that come with the mod.

To get the fancy tanks included install the full Interstellar Fuel Switch mod, not just the interstellar core mod.  The core mod is just the library it uses, for use with other mods or module manager scripts.

You might also need Community Resource pack.

Share this post


Link to post
Share on other sites

Small issue with the new localization - the localized names for LOC_IFS_TextureSwitch_TextureName and LOC_IFS_MeshSwitch_MeshName, and probably others, overwrite any user defined strings for those fields. So even though I have "switcherDescription = Stealth mode" in a texture switch module, it only shows as 'Texturename' in-game:

6rgfj0g.png

  • Like 1

Share this post


Link to post
Share on other sites
On 10/13/2017 at 4:15 AM, FreeThinker said:

I have fixed the CKAN config file, please reinstall IFS by CKAN

It's the IFS core plugin, not the main IFS package.  It doesn't let me "reinstall" due to dependency hell.

You probably should update the version if you change the files to make this easier for everyone.  If you keep the index file version number the same CKAN presumes it's unchanged without looking at it.

I recommend simply adding "ckan1" at the end of the version if it's a CKAN specific patch.  This is adopted off of Linux distribution specific versions of packages where they are add a modification name and then a patchset number.  It will coax CKAN into seeing it as a new version, even though it's only the index file that's new.

 

  • Like 1

Share this post


Link to post
Share on other sites

Version 2.10.1 for Kerbal Space Program 1.3.1 can be downloaded from here

Released on 2017-10-15

  • Fixed issue where switcherDescription field would not functioning
  • Fixed ability of inline inflatable liquid tank to switch between resources
Edited by FreeThinker
  • Like 2

Share this post


Link to post
Share on other sites

Hello 
After installing this last version of this mod I start to get a lot of errors in the KSP Log, Like this :

[ERR 00:49:31.045] Cannot find a PartModule of typename 'ModuleStorageCryostat'

KSP Log: https://drive.google.com/open?id=0BwOktgRlclqKNFM0NTNoNHFBRms
 

Did I do anything wrong or is this a problem?:blush:

Edited by PmThay

Share this post


Link to post
Share on other sites

IFS Core from CKAN need  IFS localization folder — it is showing #LOC_id-stuff.

  • Like 1

Share this post


Link to post
Share on other sites

The integration patches should exclude all parts with WBIConvertibleStorage module installed, so !MODULE[WBIConvertibleStorage] is missing in the list.

 

  • Like 1

Share this post


Link to post
Share on other sites
On 11/2/2017 at 9:28 PM, emerald said:

The integration patches should exclude all parts with WBIConvertibleStorage module installed, so !MODULE[WBIConvertibleStorage] is missing in the list.

 

so im tryin to get this into my ifs, ive already pulled out the core that ckan install and put in the actual mod, but is there any that @FreeThinker could make this exclusion part of the core IFS, so if the part has the wbi module IFS dosent touch it?

Share this post


Link to post
Share on other sites

I'm having a bit of a problem.  I'm working some life support tanks, and the text is wrapping in a very ugly way, see these pictures to see what I"m talking about:

sUAZId6.png

mgICuK3.png

kDZTg6l.png

vl4mhAv.png

What can be done to fix this?

Thanks in advance

Edited by linuxgurugamer

Share this post


Link to post
Share on other sites

Is it possible to, on the fly, change the configs?  I have some options in a mod which disable the use of some resources, if they are disabled, I'd like to change the available config of IFS

Thanks in advance

Share this post


Link to post
Share on other sites

@FreeThinker

I need to be able to change the available configs for some parts (see the post above), and have tried to do it by creating a new class and having it inherit from IFS using the following code:

public class IFI_IFS : InterstellarFuelSwitch.InterstellarFuelSwitch
{
	[KSPField]
	public string IFIResourceGui;

	void Start()
	{
		//stuff here
	}
}

I added the IFS as a reference and it compiles cleanly.

This is for KSP 1.3.1, I am using the latest version downloaded from Spacedock.

I'm getting an error when trying to run:

ADDON BINDER: Cannot resolve assembly: InterstellarFuelSwitch, Culture=neutral, PublicKeyToken=null
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ADDON BINDER: Cannot resolve assembly: InterstellarFuelSwitch, Culture=neutral, PublicKeyToken=null
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

AssemblyLoader: Exception loading 'IFILifeSupport': System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
  at AssemblyLoader.LoadAssemblies () [0x00000] in <filename unknown>:0 

Additional information about this exception:

 System.IO.FileNotFoundException: Could not load file or assembly 'InterstellarFuelSwitch, Version=2.10.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'InterstellarFuelSwitch, Version=2.10.1.0, Culture=neutral, PublicKeyToken=null'

 

This normally indicates that the version of .Net was wrong, on one side or the other, but I've verified that I am compiling for .Net 3.5, and was also able to verify that IFS was also compiled against .Net 3.5.

So I tried adding the other DLL as a reference (Scale_Redist.dll), but no change.

If I remove my code which references IFS, everything loads and works, but if I reference the IFS, then I get the error.

All I can figure is that for some reason, IFS has another dependency which I'm not aware of, and that doesn't make sense since it works.

Do you have any idea what is going on?

Thanks

Share this post


Link to post
Share on other sites

Gaaaahhh!!!!

This is really stupid.

I renamed the directory for my mod so it would be after IFS, and it works.

Why, oh why is C# so stupid?

  • Like 1

Share this post


Link to post
Share on other sites
On 10-11-2017 at 8:41 PM, linuxgurugamer said:

I'm having a bit of a problem.  I'm working some life support tanks, and the text is wrapping in a very ugly way, see these pictures to see what I"m talking about:

sUAZId6.png

mgICuK3.png

kDZTg6l.png

vl4mhAv.png

What can be done to fix this?

Thanks in advance

Yes its extremely annoying but I don't know how to fix it. The best solution I can offer is to use shorter names in the switch, this can be achieved by specifying SwitchNames

In this example, I only display the  Symbol for a resource

MODULE
{
    name = InterstellarFuelSwitch
    massExponent = 3
    volumeExponent = 3
    resourcesFormat = 0.0000
	tankSwitchNames = Ar; CO2; H; Kr; Ne; N; O; X; Life; Not
    resourceGui = Argon;CarbonDioxide;Hydrogen;Krypton;Neon;Nitrogen;Oxygen;Xenon;LifeSupport;Nothing
	resourceNames = ArgonGas;CarbonDioxide;Hydrogen;KryptonGas;NeonGas;Nitrogen;Oxygen;XenonGas;Oxygen,CarbonDioxide;Structural
	resourceAmounts = 224000;224000;224000;224000;224000;224000;224000;44800;112000,112000;0
	basePartMass = 0.1
	tankMass = 0;0;0;0;0;0;0.1;0;0;0.5
	baseResourceMassDivider = 9.1
	displayCurrentTankCost = false
	hasGUI = true
	availableInFlight = true
	availableInEditor = true
	inEditorSwitchingTechReq = fuelSystems
	inFlightSwitchingTechReq = specializedFuelStorage
	showInfo = true
}

 

2 hours ago, linuxgurugamer said:

If I remove my code which references IFS, everything loads and works, but if I reference the IFS, then I get the error.

All I can figure is that for some reason, IFS has another dependency which I'm not aware of, and that doesn't make sense since it works.

Do you have any idea what is going on?

Thanks

 

Yes there are a few dependencies, this is the project file dependencies list

  <ItemGroup>
    <Reference Include="Assembly-CSharp">
      <HintPath>C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_Data\Managed\Assembly-CSharp.dll</HintPath>
    </Reference>
    <Reference Include="Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
    </Reference>
    <Reference Include="Scale_Redist">
      <HintPath>C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\GameData\TweakScale\plugins\Scale_Redist.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
    <Reference Include="UnityEngine">
      <HintPath>C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_Data\Managed\UnityEngine.dll</HintPath>
    </Reference>
    <Reference Include="UnityEngine.UI">
      <HintPath>C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_Data\Managed\UnityEngine.UI.dll</HintPath>
    </Reference>
  </ItemGroup>

Most of them are KSP libraries except Scale_Redist.dll. My guess is if you include this it should work

2 hours ago, linuxgurugamer said:

I need to be able to change the available configs for some parts (see the post above),

 

Exactly what functionality would you like to add. Perhaps it would be a useful addition to other as well.

Edited by FreeThinker

Share this post


Link to post
Share on other sites
1 hour ago, linuxgurugamer said:

Why, oh why is C# so stupid?

 

Sorry, I cannot help you with that problem :wink:

  • Like 1

Share this post


Link to post
Share on other sites
21 minutes ago, FreeThinker said:

Exactly what functionality would you like to add. Perhaps it would be a useful addition to other as well.

I am working on IFI Life support.  It now has three levels of difficulty (unrelated to the KSP settings), basic, intermediate, and advanced.

The basic level only has the resource:  LifeSupport

The intermediate level has the resources:  LifeSupport and OrganicSlurry

The advanced level has the resources:  LifeSupport, OrganicSlurry and Sludge

The code I wrote works as follows:

  1. The 4 resource strings are renamed, with IFI in front of each
  2. Each string is split into an array
  3. Then, depending on the level, the available resource sets are added to the IFS strings

and in the cfg, I reference my module and renamed the resource strings

Share this post


Link to post
Share on other sites
3 hours ago, linuxgurugamer said:

I am working on IFI Life support.  It now has three levels of difficulty (unrelated to the KSP settings), basic, intermediate, and advanced.

The basic level only has the resource:  LifeSupport

The intermediate level has the resources:  LifeSupport and OrganicSlurry

The advanced level has the resources:  LifeSupport, OrganicSlurry and Sludge

The code I wrote works as follows:

  1. The 4 resource strings are renamed, with IFI in front of each
  2. Each string is split into an array
  3. Then, depending on the level, the available resource sets are added to the IFS strings

and in the cfg, I reference my module and renamed the resource strings

IFS actually already have something like this, which is tech level tank configuration unlocking, is can be configured using tankTechReq

MODULE
{
    name = InterstellarFuelSwitch
    massExponent = 3
    volumeExponent = 3
    resourcesFormat = 0.0000
	tankSwitchNames = Ar; CO2; H; Kr; Ne; N; O; X; Life; Not
    resourceGui = Argon;CarbonDioxide;Hydrogen;Krypton;Neon;Nitrogen;Oxygen;Xenon;LifeSupport;Nothing
	resourceNames = ArgonGas;CarbonDioxide;Hydrogen;KryptonGas;NeonGas;Nitrogen;Oxygen;XenonGas;Oxygen,CarbonDioxide;Structural
	resourceAmounts = 224000;224000;224000;224000;224000;224000;224000;44800;112000,112000;0
	tankTechReq = start;basicRocketry;engineering101;survivability;stability;generalRocketry
	basePartMass = 0.1
	tankMass = 0;0;0;0;0;0;0.1;0;0;0.5
	baseResourceMassDivider = 9.1
	displayCurrentTankCost = false
	hasGUI = true
	availableInFlight = true
	availableInEditor = true
	inEditorSwitchingTechReq = fuelSystems
	inFlightSwitchingTechReq = specializedFuelStorage
	showInfo = true
}

 

Edited by FreeThinker

Share this post


Link to post
Share on other sites

It's not tech level based, it is a user selectable level of difficulty for the entire game.

Share this post


Link to post
Share on other sites

It looks like I can't redo the definitions once it's been loaded, so I'm abandoning this approach and just making a few more tanks to include.

Share this post


Link to post
Share on other sites

Sorry if this has been asked before, but is there a way to make this mod apply to all tanks in game without adding all of the KSPISE resources/tanks on top?

I just want to fuel switch stock parts, and Airplane Plus parts, not add a whole lot of stuff I won't use in my current game :P

Share this post


Link to post
Share on other sites

If I have Interstellar fuel switch installed but not interstellar extended, and am having lots of errors like this on LOG (really a lot):

[ERR 18:33:42.363] Cannot find a PartModule of typename 'ModuleStorageCryostat'

and some like this:

[ERR 18:33:56.587] Cannot find a PartModule of typename 'FNModuleCryostat'

also some like :

[ERR 18:33:42.747] Cannot find a PartModule of typename 'ModuleElementRadioactiveDecay'

It shouldn't, right?

LOG: https://www.dropbox.com/s/w9wra8pejf1aew9/KSP log 1.3.1.rar?dl=0

gamedata folder:

UHsLKG6.png

Edited by Agustin

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now