Jump to content

[0.90] Regolith - an open ISRU and Resource framework [0.1.7 - 2015.02.26]


RoverDude

Recommended Posts

Works fine on rails, need more details. For the alternator bit log a github issue please :)

Alternator issue posted on Github.

Very strange that on-rails isn't working. To test, I have the fuel cell, a probe core, and a bunch of lights. I put it in orbit and fire all the lights (load fluctuates around 15%). Go to tracking center and look at resources and fuel cell isn't being drained, but neither is EC.

EDIT: Also tested by reloading on-rails converter vessels after significant time. Resource levels are still the same.

However, if I get rid of the fuel cell and watch power consumption in tracking center, EC isn't being drained then either (and is still the same when I load the vessel). Is it because I was looking at it from the tracking center? Do you have to be in a flight scene for resource consumption to be tracked on vessels (even those on-rails)? Do you have to be within loading range of the vessel?

EDIT: After setting the dumpExcess boolean back to true, on-rails consumption is working. After loading a vessel, 'consumed' resources are subtracted as normal. Strange. I don't know if it's a bug, or you need a high load % for on-rails consumption to register... or something else entirely.

EDIT2: I tested dumpExcess = false with high loads of ~100% and it still didn't work on rails. At this point I'll try to see if there's anything in the resource converter code could be causing this. So far all I know is that dumpExcess = false --> no on-rails; dumpExcess = true --> working on-rails.

Edited by Czerky
Link to comment
Share on other sites

Alternator issue posted on Github.

Very strange that on-rails isn't working. To test, I have the fuel cell, a probe core, and a bunch of lights. I put it in orbit and fire all the lights (load fluctuates around 15%). Go to tracking center and look at resources and fuel cell isn't being drained, but neither is EC.

EDIT: Also tested by reloading on-rails converter vessels after significant time. Resource levels are still the same.

However, if I get rid of the fuel cell and watch power consumption in tracking center, EC isn't being drained then either (and is still the same when I load the vessel). Is it because I was looking at it from the tracking center? Do you have to be in a flight scene for resource consumption to be tracked on vessels (even those on-rails)? Do you have to be within loading range of the vessel?

EDIT: After setting the dumpExcess boolean back to true, on-rails consumption is working. After loading a vessel, 'consumed' resources are subtracted as normal. Strange. I don't know if it's a bug, or you need a high load % for on-rails consumption to register... or something else entirely.

EDIT2: I tested dumpExcess = false with high loads of ~100% and it still didn't work on rails. At this point I'll try to see if there's anything in the resource converter code could be causing this. So far all I know is that dumpExcess = false --> no on-rails; dumpExcess = true --> working on-rails.

It works the same way TAC-LS works. That is, it catches up once the ship has focus.

I'm having a hell of a time following your example (i.e. how are you seeing EC consumption in the tracking center?). Post a video or something.

Link to comment
Share on other sites

It works the same way TAC-LS works. That is, it catches up once the ship has focus.

I'm having a hell of a time following your example (i.e. how are you seeing EC consumption in the tracking center?). Post a video or something.

Sorry about the jumbled mess. I didn't realize I had the wrong idea about on-rails resource consumption until after I wrote the post. Ignore anything I said about looking at tracking center changes.

Now that I know about the 'catch-up' system I've been doing proper testing (looking at resource changes when craft is reloaded after a time). Still some oddity with on-rails when dumpExcess = false. I'm trying to isolate variables. Want to make sure it's not something dumb on my end. Will keep posted.

Update: I also tested the MKS PDU, which is essentially the part I am trying to duplicate (different module I know), and there's no on-rails consumption for that converter either. If I leave the generator on for a week at 10% load, EU/DU levels are the same when I reload the vessel.

Update2: Setting the EC dumpExcess = true for the MKS PDU restores on-rails consumption. Appropriate EU/DU levels when vessel reloaded. Strange.

Edited by Czerky
Link to comment
Share on other sites

This worked with USI_Converter ( and Kethane, back in the day ) - however no resource consumption or production with Regolith.


MODULE
{
name = REGO_ModuleResourceConverter
ConverterName = APU
StartActionName = Start APU
StopActionName = Shutdown APU
RecipeInputs = IntakeAir, 0.18, LiquidFuel, 0.012
RecipieOutputs = ElectricCharge,6,False
}

( units are currently a bit high yes ).

That is MM'd into cockpits, which don't have any resource storage for either input - would it be a good guess that the converter now needs some storage for input resources?

Link to comment
Share on other sites

This worked with USI_Converter ( and Kethane, back in the day ) - however no resource consumption or production with Regolith.


MODULE
{
name = REGO_ModuleResourceConverter
ConverterName = APU
StartActionName = Start APU
StopActionName = Shutdown APU
RecipeInputs = IntakeAir, 0.18, LiquidFuel, 0.012
RecipieOutputs = ElectricCharge,6,False
}

( units are currently a bit high yes ).

That is MM'd into cockpits, which don't have any resource storage for either input - would it be a good guess that the converter now needs some storage for input resources?

No, there's no reason that should not work.

Link to comment
Share on other sites

This worked with USI_Converter ( and Kethane, back in the day ) - however no resource consumption or production with Regolith.


MODULE
{
name = REGO_ModuleResourceConverter
ConverterName = APU
StartActionName = Start APU
StopActionName = Shutdown APU
RecipeInputs = IntakeAir, 0.18, LiquidFuel, 0.012
RecipieOutputs = ElectricCharge,6,False
}

( units are currently a bit high yes ).

That is MM'd into cockpits, which don't have any resource storage for either input - would it be a good guess that the converter now needs some storage for input resources?

"RecipeOutputs" is misspelled in the quoted code.

Link to comment
Share on other sites

Does Regolith ignore stock parts for it's on-rails EC calculations (i.e. probe core power drain)? Is on-rails EC consumption only factored in if it's being used in USI recipe? If so, I think I know why I'm not seeing on-rails consumption for my variable generator - I'm not using any power!

EDIT: Nope. That wasn't it. If I set up two concurrent test converters on a craft like so:

MODULE // variable EC production

{

name = REGO_ModuleResourceConverter

ConverterName = Fuel Cell

StartActionName = Start Fuel Cell

StopActionName = Stop Fuel Cell

RecipeInputs = Hydrogen, 1.0, Oxygen, 1.0

RecipeOutputs = ElectricCharge, 2.0,
False

}

MODULE // constant 1 EC/s drain

{

name = REGO_ModuleResourceConverter

ConverterName = Fuel producer

StartActionName = Start Fuel production

StopActionName = Stop Fuel production

RecipeInputs = ElectricCharge, 1.0

RecipeOutputs = LiquidFuel, 1.0, True

}

RESULT: 50% fuel cell activity real-time, 0% on rails.

And if I do this:

MODULE // constant EC production

{

name = REGO_ModuleResourceConverter

ConverterName = Fuel Cell

StartActionName = Start Fuel Cell

StopActionName = Stop Fuel Cell

RecipeInputs = Hydrogen, 1.0, Oxygen, 1.0

RecipeOutputs = ElectricCharge, 2.0,
True

}

MODULE // constant 1 EC/s drain

{

name = REGO_ModuleResourceConverter

ConverterName = Fuel producer

StartActionName = Start Fuel production

StopActionName = Stop Fuel production

RecipeInputs = ElectricCharge, 1.0

RecipeOutputs = LiquidFuel, 1.0, True

}

RESULT: 100% fuel cell activity real-time and on-rails.

---

Results are same when ditching EC and using some other intermediary resource. Despite my initial confusion with how this is supposed to work, I still think there something weird going on with the dumpExcess logic (at least as far as on-rails is concerned). That, or I'm still confused as to how the mod works (very likely). Looking at the test modules I'm using, is there any reason why variable output wouldn't be working on-rails?

Edited by Czerky
Link to comment
Share on other sites

0.1.3 is up :)

Added the concept of depletion

Removed some log spam

Adjusted EC default time

Added concept of Fill Amount

Action names to the Animation Group

Added discovery and a new module for unlocking biomes

Asteroids are no longer fuel tanks - tanks required for at least one resource

Major UI cleanup

Added concept of a 'take' limit - i.e. a generator can be set to only consume up to 90% of the available inputs (like EC). Use case is turning on a massive drill at night and killing all of your Kerbals because you sucked up all of the EC (BTDT).

Link to comment
Share on other sites

Oh damn, I just got KSP loaded with the new toys installed and saw the GPS readout. When I first noticed it after downloading I thought maybe you'd just quickly thrown together something like figaro. Now I can't decide, do I just go wit this and get on with building a kolony for once, or do I play with figaro again, and waste a ton of game time on setting up yet another constellation.....

First-planet problems...

Link to comment
Share on other sites

Getting following error from Regolith 0.1.3:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

TypeLoadException: Could not load type 'Regolith.Asteroids.BaseConverter' from assembly 'KolonyTools'.

at PartModule.Load (.ConfigNode node) [0x00000] in <filename unknown>:0

at Part.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0

at PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node) [0x00000] in <filename unknown>:0

at PartLoader+.MoveNext () [0x00000] in <filename unknown>:0

Rolling back to 0.1.2 solved issue.

Link to comment
Share on other sites

I've tried using Karbonite 0.5.4 and 0.5.5 (which provide Regolith 0.1.5) with MapResourceOverlay 0.2.8. Both fail to show a resources button on the map overlay menu (just biome, altititude, etc.) and leave something like this in KSP.log:


[LOG 01:58:57.596] [MRO][MapResourceOverlay.MapOverlay][OnAwake] Awaking
[LOG 01:58:57.597] Can't add component 'MeshFilter' to ScenarioLogic because such a component is already added to the game object!
[LOG 01:58:57.597] Can't add component 'MeshRenderer' to ScenarioLogic because such a component is already added to the game object!
[LOG 01:58:57.599] [MRO][MapResourceOverlay.MapOverlay][OnLoad] loading
[LOG 01:58:57.628] [MRO][MapResourceOverlay.ResourceOverlayProvider][Load] Couldnt find RegolithSystem.ArgumentNullException: Argument cannot be null.
Parameter name: method
at System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, Boolean throwOnBindFailure) [0x00000] in <filename unknown>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method, Boolean throwOnBindFailure) [0x00000] in <filename unknown>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method) [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.InitiateOrs () [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
[LOG 01:58:57.632] [MRO][MapResourceOverlay.ResourceOverlayProvider][Load] Could not load config, using default, because System.NullReferenceException: Object reference not set to an instance of an object
at MapResourceOverlay.ResourceOverlayProvider.CalculateBase () [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.set_ActiveResource (MapResourceOverlay.ResourceConfig value) [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
[LOG 01:58:57.635] [MRO][MapResourceOverlay.MapOverlay][LoadConfig] OverlayProvider MapResourceOverlay.ResourceOverlayProvider couldnt load System.NullReferenceException: Object reference not set to an instance of an object
at MapResourceOverlay.ResourceOverlayProvider.CalculateBase () [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.set_ActiveResource (MapResourceOverlay.ResourceConfig value) [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.LoadFailsafe () [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
at MapResourceOverlay.MapOverlay.LoadConfig (System.String filename) [0x00000] in <filename unknown>:0
[LOG 01:58:57.643] [MRO][MapResourceOverlay.ResourceOverlayProvider][Load] Couldnt find RegolithSystem.ArgumentNullException: Argument cannot be null.
Parameter name: method
at System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, Boolean throwOnBindFailure) [0x00000] in <filename unknown>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method, Boolean throwOnBindFailure) [0x00000] in <filename unknown>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method) [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.InitiateOrs () [0x00000] in <filename unknown>:0
at MapResourceOverlay.ResourceOverlayProvider.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
[LOG 01:58:57.648] [MRO][MapResourceOverlay.ResourceOverlayProvider][CanActivate] ?False

Does that make sense? Is this indeed a Regolith problem?

Link to comment
Share on other sites

RoverDude, I am trying to edit dtobi's Asteroid Refinery to use your REGO converter. When I replace this

MODULE
{
name = km_ModuleGeneratorObserver
initAnimation = Open
}

with this

MODULE
{
name = REGO_ModuleAnimatedConverter
convertAnimationName = Open
}

i get this error (converter is working, animation not)

[ERR 12:54:25.662] Cannot find a PartModule of typename 'REGO_ModuleAnimatedConverter'

What else do I need for your converter to work beside regolith.dll (0.1.5)?

Also, is this example correct way to do TACLS conversions?

MODULE
{
name = REGO_ModuleResourceConverter
converterName = Sabatier Recycler
conversionRate = 10
StartActionName = Start Recycler
StopActionName = Shutdown Recycler
RecipeInputs = Water, 0.000001360254171, CarbonDioxide, 0.000851605032367, ElectricCharge, 0.039783051310155
RecipeOutputs = Oxygen, 0.001713537562385, false, Waste, 0.000000807530168, true
}

and what is module property for this?

Added concept of a 'take' limit - i.e. a generator can be set to only consume up to 90% of the available inputs (like EC).
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...