SSTU - Shadow Space Technologies Unlimited

SSTU - Shadow Space Technologies Unlimited

98.5k Downloads

General Enhancement - Add ModularFuelTanks support (MFT rather than RF)

lynwoodm opened this issue ยท 12 comments

commented

During testing of RF on the 0.3.26 Pre 1 build, the tanks will not correctly increase in volume with increased tank size, causing a standard 2000 volume for any size tank. I took out RF to verify if this was a mod problem or a conflict with RF and when I reloaded the game, the tanks volume increased as normal for tank size. Following procedure, per author, to submit a bug report on this issue as to keep track of it. I will provide screenshots and re-upload my current log with RF and without RF if needed.

commented

Okay, I generated logs with and without RF for comparison and provided a few screenshots to show what exactly it wasn't doing.
KSP-NO-RF-LOG.txt
KSP-RF-LOG.txt
with rf 2
with rf 1
without rf
without rf 2

commented

Thanks for the info and details. Will look into getting this one cleaned up for the next testing release.

commented

Just hope it helps, Mage. If there's anything else you need, let me know.

commented

Hmm... strangely, this all seems to work on my end.
Just installed real-fuels, and the volumes are updating/changing just fine for me. Used RealFuels v10.8.1 (latest), and SSTU-0.3.26-pre1

screenshot15

And a -very- quick run down your log shows the problem (or at least the first thing that needs to be solved before we can track the problem down); in your instance, the real-fuels DLL is not loading fully/properly, due to missing SolverEngines --. And it all looks like it might be related to tweakscale somehow.
Try removing tweakscale (if present), and testing again. And/or Adding SolverEngines if not already present. Either way, that exception needs to be fixed before I can investigate further.

[ERR 17:16:33.107] AssemblyLoader: Assembly 'RealFuels' has not met dependency 'SolverEngines' V1.0

[ERR 17:16:33.109] AssemblyLoader: Assembly 'RealFuels' is missing 1 dependencies

[ERR 17:16:33.279] AssemblyLoader: Exception loading 'TweakScale_RealFuels': 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 'SolverEngines, Version=1.13.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'SolverEngines, Version=1.13.0.0, Culture=neutral, PublicKeyToken=null'

Try solving that issue, and checking again on the tanks.
The logs state that the patches -are- sucessfully applied; but if the code cannot locate the proper RealFuels classes, the inter-linking of them will be broken.

[LOG 17:17:28.774] [ModuleManager] Applying node SSTU/Patches/RF/@PART[SSTU_ShipCore_MUS-ST]:FOR[SSTU] to SSTU/Parts/ShipCore/tanks/SC-MUS-ST/SSTU_ShipCore_MUS-ST
[LOG 17:17:28.781] [ModuleManager] Applying node SSTU/Patches/RF/@PART[SSTU_ShipCore_MUS-CB]:FOR[SSTU] to SSTU/Parts/ShipCore/tanks/SC-MUS-CB/SSTU_ShipCore_MUS-CB
[LOG 17:17:28.789] [ModuleManager] Applying node SSTU/Patches/RF/@PART[SSTU_ShipCore_MFT-A]:FOR[SSTU] to SSTU/Parts/ShipCore/tanks/SC-MFT-A/SSTU_ShipCore_MFT-A
[LOG 17:17:28.796] [ModuleManager] Applying node SSTU/Patches/RF/@PART[SSTU_ShipCore_MFT-B]:FOR[SSTU] to SSTU/Parts/ShipCore/tanks/SC-MFT-B/SSTU_ShipCore_MFT-B
commented

And really, the first place to test would be a clean install with only SSTU + RealFuels + dependencies. If it works there (and it does for me), then there is something else causing problem, and you will need to follow the standard procedures for finding what mods' are conflicting before I can begin to investigate.

commented

Okay, I did forget to install Solver Engines during that install, my bad on that part. I did a fresh install of KSP, and took out every mod, with the exception of the ones that are needed for fuel, the engine effects and support, here are the results.

First: I want to show you what mods I am working with in this session. And yes, I did delete the cache from Module Manager, as per usual.
modlist1

As you can see, it's the bare bones with the exception of KJR and the ones you have support for. Everything is in there for this to work.

Secondly: The log
KSP_RF_LOG_A.txt

It was easy to go through it and it still did not load, as per screenshots here:
2016-01-06_00007
2016-01-06_00008

Now, I can change the volume just a little bit with utilization, but not much. That's a 7.5 m diameter tank for the A MFT and I think 5 m tank for the B. I colored them differently to show that the textures work.

I do not understand what I am doing wrong here, after a fresh install, fresh loaded cache and just the mods required plus KJR. I did this test in sandbox, too. I don't know if that has anything to do with it.

commented

Okay, nailed it down to MFT. That's the mod that was causing this fiasco. I removed everything but the dependencies for RF/Solver Engines and SSTU.

commented

Hmm.. that too is a bit strange, though I guess not completely unsurprising; I explicitly check for the real-fuels assembly when doing the reflection-calls to update the volume. Originally the RealFuels compatibility came into place to help support use of the tanks in RO, which uses RealFuels rather than plain MFT.

I'm guessing that both RealFuels and MFT add a similar/identical module to do the fuel changing; though I was not aware that the mods were available separately (honestly, never looked).

With this knowledge, I'll look into installing MFT, finding their source-code, and adding additional compatibility for that as a stand-alone.

Edit: And thank you for taking the time to investigate.
There is likely no way I would have been able to track that down on my end without somehow duplicating your entire mod setup, and doing exactly what you just did.

commented

Do you need my log for this instance for comparison?

EDIT- Seems they both come from the same "bolt of cloth" so to speak. While RealFuels is more tailored to RO, MFT is more tailored to a stock setting, according to the MFT thread. So, I am guessing that you can have one or the other and not both. I concur, it is very odd indeed.

commented

No, don't need logs for the latest; thanks though.

The next step to solving this will be looking through the MFT source, adding another volume/mass update method for MFT, and creating a separate patch for it.

commented

I think MFT and RF can generally be considered incompatible. RF handles all the tanks by itself.

commented

Plain MFT is now working in dev; will be available with the next update.