Jump to content

[1.2] OSE Workshop - KIS Addon: (v1.1.0 - 2016.11.03)


ObiVanDamme

Recommended Posts

@ObiVanDamme love the new interface, I found myself several times in need of more info about the part I'm about to print.

About printing parts with resources: I think Workbench should print parts without pumpable resources, but with not pumpable like ablator or solid fuel. Printing a heatshield is not an option currently.


RESOURCE_DEFINITION
{
name = Ablator
density = 0.001
hsp = 100
flowMode = NO_FLOW
transfer = [COLOR=#006400][B]NONE // PUMP[/B][/COLOR]
isTweakable = True
unitCost = 0.5
}

Link to comment
Share on other sites

@ObiVanDamme love the new interface, I found myself several times in need of more info about the part I'm about to print.

About printing parts with resources: I think Workbench should print parts without pumpable resources, but with not pumpable like ablator or solid fuel. Printing a heatshield is not an option currently.


RESOURCE_DEFINITION
{
name = Ablator
density = 0.001
hsp = 100
flowMode = NO_FLOW
transfer = [COLOR=#006400][B]NONE // PUMP[/B][/COLOR]
isTweakable = True
unitCost = 0.5
}

Deciding by transfer mode if the resource can be created with the printer is a nice idea. I will think about that when i came back to this Issue. It is more generic than having an aditional PartModule to allow that. It makes sense in a way, that you can refill all empty parts with pumpable resources by hand, but you cannot add ablator to a heatshield once it is done. This might be a good idea for a first shot on that topic to see how it works out.

Link to comment
Share on other sites

Deciding by transfer mode if the resource can be created with the printer is a nice idea. I will think about that when i came back to this Issue. It is more generic than having an aditional PartModule to allow that. It makes sense in a way, that you can refill all empty parts with pumpable resources by hand, but you cannot add ablator to a heatshield once it is done. This might be a good idea for a first shot on that topic to see how it works out.

That's how EL do it and personally I badly dislike that - for example enriched uranium can't be directly pumped in most mods and making it from material kits or rocket parts... It's even better than making fuel.

Edited by prog
Link to comment
Share on other sites

That's how EL do it and personally I badly dislike that - for example enriched uranium can't be directly pumped in most mods and making it from material kits or rocket parts... It's even better than making fuel.

Yeah, it even feels like cheating for the enriched uranium to be created out of thin air.

Link to comment
Share on other sites

Yeah, it even feels like cheating for the enriched uranium to be created out of thin air.
That's how EL do it and personally I badly dislike that - for example enriched uranium can't be directly pumped in most mods and making it from material kits or rocket parts... It's even better than making fuel.

Enriched Uranium is probably the only resource in question out there, and it is not a stock one. Just make it pumpable on your install and the problem is solved. You won't be pumping it anyway.

Link to comment
Share on other sites

Yeah, it even feels like cheating for the enriched uranium to be created out of thin air.

Because of all those problems I started with completely empty Parts. The longer I think about that Issue the more I like the Idea of an additional PartModule that specifies which resources can be added in exchange for MaterialKits. I currently can only think of Ablator but there might be something more.

Link to comment
Share on other sites

Because of all those problems I started with completely empty Parts. The longer I think about that Issue the more I like the Idea of an additional PartModule that specifies which resources can be added in exchange for MaterialKits. I currently can only think of Ablator but there might be something more.

+ Solid fuel, cause there are sepratrons and landertrons, and ore is essentially a source of fuel. Not cheaty since solid fuel is hard to use.

Link to comment
Share on other sites

OSE Workshop 0.9.5 was just released with a complete GUI rework

- 3 x10 Grid for item selection without a scrollbar

- Paging of available items (this should reduce memory usage a lot and hopefuly prevent freezes and crashes)

- Mouseover tooltips with larger preview, mass, volume and available resources as well as cost (MaterialKits) and duration for the crafting process

- Maximum volume of craftable parts in the Workbench title

- 7x4 Grid for the workshop queue that also uses the tooltip feature

- work and hotness animations on the 3D printing lab now start and stop automatically when you print something

I hope, that this release reduces the memory usage when you open the workbench and eleminates freezes and crahes with heavy modded installs (playtesting on my own install had no problems up to now)

I would also like to point you to the amazing pathfinder mod, that was released in version 0.1.6 yesterday and introduced a great OSE Workshop integration. You will get a ponderosa "space-tent" configuration with a OSE 3D printer and have inflateable MaterialKits storage for your camps in the form of the configurable Chuckwagon. Check it out here: http://forum.kerbalspaceprogram.com/threads/122484-WIP-1-0-2-Pathfinder-Finding-The-Right-Location

Link to comment
Share on other sites

Got an NRE when I started production. Lag wise, everything looks good. Also, the icons (both part icons and the tabs) are kind of on the small side for me.




NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StartAnimations>d__9.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:StartManufacturing()
Workshop.OseModuleWorkshop:ProcessItem(Double)
Workshop.OseModuleWorkshop:OnUpdate()
Part:ModulesOnUpdate()
Part:Update()

Also, while we can cancel queuqed items, we can't cancel something that is currently in production.

Edit: And this one on return to the workshop after checking the size of a part that I wanted to make but didn't see in the workshop (turned out I didn't have enough room to make it).




NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StartAnimations>d__9.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:LoadModuleState(ConfigNode)
Workshop.OseModuleWorkshop:OnLoad(ConfigNode)
PartModule:Load(ConfigNode)
Part:LoadModule(ConfigNode, Int32&)
ProtoPartModuleSnapshot:Load(Part, Int32&)
ProtoPartSnapshot:Load(Vessel, Boolean)
ProtoVessel:LoadObjects()
Vessel:Load()
Vessel:MakeActive()
FlightGlobals:setActiveVessel(Vessel, Boolean)
FlightGlobals:SetActiveVessel(Vessel)
FlightDriver:Start()

Edit2: And this one when I queued something up for recycle.


InvalidOperationException: out of sync
at System.Collections.Generic.Dictionary`2+Enumerator[System.Int32,KIS.KIS_Item].VerifyState () [0x00000] in <filename unknown>:0

at System.Collections.Generic.Dictionary`2+Enumerator[System.Int32,KIS.KIS_Item].MoveNext () [0x00000] in <filename unknown>:0

at Workshop.OseModuleRecycler.DrawAvailableItems () [0x00000] in <filename unknown>:0

at Workshop.OseModuleRecycler.DrawWindowContents (Int32 windowId) [0x00000] in <filename unknown>:0

at UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID) [0x00000] in <filename unknown>:0

at UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style) [0x00000] in <filename unknown>:0

It's certainly having a bunch of exceptions this morning, heh. It all seems to be working though.

Edit4: And this one when the queued item in the workshop finished. I'm not bashing the mod here, honest, but what's going on with these?



NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StopAnimations>d__b.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:FinishManufacturing()
Workshop.OseModuleWorkshop:ProcessItem(Double)
Workshop.OseModuleWorkshop:OnUpdate()
Part:ModulesOnUpdate()
Part:Update()

Edit: Oh wait, I forgot I had previously modified the workshop limit to 20,000, which got undone, yeah that would do it, the part that I wanted not showing up that is.

Edited by smjjames
Link to comment
Share on other sites

Got an NRE when I started production. Lag wise, everything looks good. Also, the icons (both part icons and the tabs) are kind of on the small side for me.




NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StartAnimations>d__9.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:StartManufacturing()
Workshop.OseModuleWorkshop:ProcessItem(Double)
Workshop.OseModuleWorkshop:OnUpdate()
Part:ModulesOnUpdate()
Part:Update()

Also, while we can cancel queuqed items, we can't cancel something that is currently in production.

Edit: And this one on return to the workshop after checking the size of a part that I wanted to make but didn't see in the workshop (turned out I didn't have enough room to make it).




NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StartAnimations>d__9.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:LoadModuleState(ConfigNode)
Workshop.OseModuleWorkshop:OnLoad(ConfigNode)
PartModule:Load(ConfigNode)
Part:LoadModule(ConfigNode, Int32&)
ProtoPartModuleSnapshot:Load(Part, Int32&)
ProtoPartSnapshot:Load(Vessel, Boolean)
ProtoVessel:LoadObjects()
Vessel:Load()
Vessel:MakeActive()
FlightGlobals:setActiveVessel(Vessel, Boolean)
FlightGlobals:SetActiveVessel(Vessel)
FlightDriver:Start()

Edit2: And this one when I queued something up for recycle.


InvalidOperationException: out of sync
at System.Collections.Generic.Dictionary`2+Enumerator[System.Int32,KIS.KIS_Item].VerifyState () [0x00000] in <filename unknown>:0

at System.Collections.Generic.Dictionary`2+Enumerator[System.Int32,KIS.KIS_Item].MoveNext () [0x00000] in <filename unknown>:0

at Workshop.OseModuleRecycler.DrawAvailableItems () [0x00000] in <filename unknown>:0

at Workshop.OseModuleRecycler.DrawWindowContents (Int32 windowId) [0x00000] in <filename unknown>:0

at UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID) [0x00000] in <filename unknown>:0

at UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style) [0x00000] in <filename unknown>:0

It's certainly having a bunch of exceptions this morning, heh. It all seems to be working though.

Edit4: And this one when the queued item in the workshop finished. I'm not bashing the mod here, honest, but what's going on with these?



NullReferenceException: Object reference not set to an instance of an object
at Workshop.OseModuleWorkshop+<StopAnimations>d__b.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Workshop.OseModuleWorkshop:FinishManufacturing()
Workshop.OseModuleWorkshop:ProcessItem(Double)
Workshop.OseModuleWorkshop:OnUpdate()
Part:ModulesOnUpdate()
Part:Update()

Edit: Oh wait, I forgot I had previously modified the workshop limit to 20,000, which got undone, yeah that would do it, the part that I wanted not showing up that is.

Your recycle Exception is still an Issue that was fixed in the workshop but not there. I will fix that in an upcoming release. The other exceptions are related to the Animations that where introduced with this release. Did you have that exception on the 3D printing lab that comes with OSE Workshop or on another part?

Link to comment
Share on other sites

Your recycle Exception is still an Issue that was fixed in the workshop but not there. I will fix that in an upcoming release. The other exceptions are related to the Animations that where introduced with this release. Did you have that exception on the 3D printing lab that comes with OSE Workshop or on another part?

It happened with the 3D printing lab that comes with the mod.

Link to comment
Share on other sites

Thanks for the quick fix! Though now that I actually can afford to play with the workshops, I have only more issues... You are probably already aware of them, but I'll list them just in case.

1. It seems that the cost in the part.cfg is the cost including the max amount of resources. This means that your containers now cost exactly zero funds, as their listed cost is less than the cost of materials, so only the materialkits cost is used.

2. The 3D Printing Lab includes facilities for two kerbals (half of a hitchhiker's 2,000 funds), 1,000 materialkits (1,000 funds) and 2,000 electric charge (1,760 funds in batteries at the same science level) - at a cost of 4,000 funds, you get an extra 760 funds value for the parts alone, and a recycler/workbench combo added on for free. I understand that modules will probably not be removed to keep backwards compatibility, but it really seems that the battery and the materialkits container are out of place on the printing lab itself.

3. A second resource is sorely needed to balance costs. Obviously, with only one resource you will always be either creating money or mass out of thin air on some conversions, something that probably

needs to be avoided. As of now, a craft standing on the launchpad and making gravioli detectors converts 7 funds of materialkits into 8,800 funds of gravioli detectors basically for free. As you cannot provide custom recipes for every mod in advance, there will always be an equivalently broken item somewhere.

Using two resources, cheap/massive and expensive/massless will allow recipes balanced in mass and money for every part.

Link to comment
Share on other sites

Thanks for the quick fix! Though now that I actually can afford to play with the workshops, I have only more issues... You are probably already aware of them, but I'll list them just in case.

1. It seems that the cost in the part.cfg is the cost including the max amount of resources. This means that your containers now cost exactly zero funds, as their listed cost is less than the cost of materials, so only the materialkits cost is used.

2. The 3D Printing Lab includes facilities for two kerbals (half of a hitchhiker's 2,000 funds), 1,000 materialkits (1,000 funds) and 2,000 electric charge (1,760 funds in batteries at the same science level) - at a cost of 4,000 funds, you get an extra 760 funds value for the parts alone, and a recycler/workbench combo added on for free. I understand that modules will probably not be removed to keep backwards compatibility, but it really seems that the battery and the materialkits container are out of place on the printing lab itself.

3. A second resource is sorely needed to balance costs. Obviously, with only one resource you will always be either creating money or mass out of thin air on some conversions, something that probably

needs to be avoided. As of now, a craft standing on the launchpad and making gravioli detectors converts 7 funds of materialkits into 8,800 funds of gravioli detectors basically for free. As you cannot provide custom recipes for every mod in advance, there will always be an equivalently broken item somewhere.

Using two resources, cheap/massive and expensive/massless will allow recipes balanced in mass and money for every part.

The mod is cureently not career mode ready. I will state that in the OP. I was not even aware, that the configured price is the maximum cost. I thought it is the cost for a dry part. I really like the Idea of a two resources system where one resource is used to reach the cost and the other to reach the mass. I like this even more than a complete free recipe with "unlimited" combinations of resources. When we take on the career mode all cost related things will be adjusted and I will implement something to make 3D printing parts in space more expensive than building them on kerbin. The only thing you should save with the 3D printer is time, not money.

Link to comment
Share on other sites

The mod is cureently not career mode ready. I will state that in the OP. I was not even aware, that the configured price is the maximum cost. I thought it is the cost for a dry part. I really like the Idea of a two resources system where one resource is used to reach the cost and the other to reach the mass. I like this even more than a complete free recipe with "unlimited" combinations of resources. When we take on the career mode all cost related things will be adjusted and I will implement something to make 3D printing parts in space more expensive than building them on kerbin. The only thing you should save with the 3D printer is time, not money.

Hmm an expensive massless thing that you need on hi tech products? It sounds like testing.

You could add production time whenever something is expensive to produce. Not that it's about being realistic, but it should help balance things out.

Edit: or maybe test materials, or testing equipment

Edit 2: or certifications/ksc stamps?

Edited by Qigon
Link to comment
Share on other sites

The production time is another thing that might need to change for more realism. I think, that this is less important than the cost adjustment but with a second almost massless resource it is possible to adjust in the same way. The printing speed is measured in MaterialKits per second. So having an almost massless resource for the pricing would allow to make expensive parts slower in production because they will need more of the new resource. The only thing I need to do with this approach is to make sure, that expensive parts need more of the new resource, than cheap heavy parts need of the current material kits. This adjustment can be made by trying different densities and costs per unit with the two resources.

Link to comment
Share on other sites

It's only my personal point of view on this and I don't ask to implement anything exact this way - just sharing in case you'll find something interesting enough to be implemented.

If it were me doing cost calculation algorithm, it will be something like this:

1. get partCost and partMass

2. calculate secondaryResCount from partCost and secondary resource cost per unit

3. calculate secondaryResMass from secondaryResCount and secondary resource density

4. calculate mainResCount from (partMass - secondaryResMass) and main resource density

5. calculate techCoefficient from mainResCount and secondaryResCount with values between 0 and 1 where 0 means only main resource used and 1 means only secondary resource used

6. calculate productionTime from mainResCount, secondaryResCount and techCoefficient

7. apply efficiency modifiers and/or production fees to productionTime, mainResCount and secondaryResCount

8. display mainResCount, secondaryResCount, productionTime and techCoefficient (techCoefficient may be multiplied by 10 or 100 and rounded for better readability)

Starting from secondary resource leads to a bit credits-greedy way to calculate resources but I find it better than mass-greedy variant and waaay easier to implement than balanced calculation for both. Important notice is that secondary resource may be almost massless but it should not be hard restriction to have it massless as someone may want to use resources from other mods for production (for example, RocketParts and something like RareMetals with USI mods looks like good alternative for me if algorithm will be capable to account for density and cost differences).

And in addition there could be part module or modules to adjust part parameters in special cases:

1. resource in container production with all necessary coefficients and parameters

2. techCoefficient override

3. base cost in resources override (apply before fees)

4. scaling coefficients for resources and time costs (apply after fees)

5. part production restriction to remove part from production list

That techCoefficient is important thing as it's not only used to influence part production time but could be as well used to add diversity to workshops based on min and max techCoefficient values supported by workshop.

It's only my personal point of view on this and I don't ask to implement anything exact this way - just sharing in case you'll find something interesting enough to be implemented.

Link to comment
Share on other sites

It's only my personal point of view on this and I don't ask to implement anything exact this way - just sharing in case you'll find something interesting enough to be implemented.

If it were me doing cost calculation algorithm, it will be something like this:

1. get partCost and partMass

2. calculate secondaryResCount from partCost and secondary resource cost per unit

3. calculate secondaryResMass from secondaryResCount and secondary resource density

4. calculate mainResCount from (partMass - secondaryResMass) and main resource density

5. calculate techCoefficient from mainResCount and secondaryResCount with values between 0 and 1 where 0 means only main resource used and 1 means only secondary resource used

6. calculate productionTime from mainResCount, secondaryResCount and techCoefficient

7. apply efficiency modifiers and/or production fees to productionTime, mainResCount and secondaryResCount

8. display mainResCount, secondaryResCount, productionTime and techCoefficient (techCoefficient may be multiplied by 10 or 100 and rounded for better readability)

Starting from secondary resource leads to a bit credits-greedy way to calculate resources but I find it better than mass-greedy variant and waaay easier to implement than balanced calculation for both. Important notice is that secondary resource may be almost massless but it should not be hard restriction to have it massless as someone may want to use resources from other mods for production (for example, RocketParts and something like RareMetals with USI mods looks like good alternative for me if algorithm will be capable to account for density and cost differences).

And in addition there could be part module or modules to adjust part parameters in special cases:

1. resource in container production with all necessary coefficients and parameters

2. techCoefficient override

3. base cost in resources override (apply before fees)

4. scaling coefficients for resources and time costs (apply after fees)

5. part production restriction to remove part from production list

That techCoefficient is important thing as it's not only used to influence part production time but could be as well used to add diversity to workshops based on min and max techCoefficient values supported by workshop.

It's only my personal point of view on this and I don't ask to implement anything exact this way - just sharing in case you'll find something interesting enough to be implemented.

You algorithm looks very similar to what I have in mind at the moment. I also like the Ideo to have an optional part module to override the generic algorithm in case the algorithm would give too expensive or too cheap results for some special parts. In general it should be ok to process the secondary resource until you reached the cost and than process the remaining mass with the heavy but cheap resource. I did think about the other way around and thought about a two way production process. I would first process the required mass with heavy cheap resources, which would be the equivalent to build the structural components of a part like the hull, nozzle, or pipes. When this is done I would start a second production cycle until the cost is reached using the massless expensive resource, which would be the equivalent of printing all the tiny and expensive components like ciruits, gears, or even computer parts. Both ways make sense and I did not yet decide which way to go. But the direction is already set.

Link to comment
Share on other sites

You algorithm looks very similar to what I have in mind at the moment. I also like the Ideo to have an optional part module to override the generic algorithm in case the algorithm would give too expensive or too cheap results for some special parts. In general it should be ok to process the secondary resource until you reached the cost and than process the remaining mass with the heavy but cheap resource. I did think about the other way around and thought about a two way production process. I would first process the required mass with heavy cheap resources, which would be the equivalent to build the structural components of a part like the hull, nozzle, or pipes. When this is done I would start a second production cycle until the cost is reached using the massless expensive resource, which would be the equivalent of printing all the tiny and expensive components like ciruits, gears, or even computer parts. Both ways make sense and I did not yet decide which way to go. But the direction is already set.

Just two words: "mass conservation". And another three words: "predictable mass change".

And your production cycles could be easily implemented with pre-calculated resource amounts (anyway you need them both calculated for display) so calculation order changes nothing except more mass or more credits will be spent.

There is another, more accurate variant - calculate semi-balanced distribution:

- take half mass, calculate main resource amount

- take full cost without cost of main resource from previous step, calculate secondary resource amount

- fill remaining mass with main resource

May be adjusted for smaller steps to get more accurate result.

Link to comment
Share on other sites

Just two words: "mass conservation". And another three words: "predictable mass change".

And your production cycles could be easily implemented with pre-calculated resource amounts (anyway you need them both calculated for display) so calculation order changes nothing except more mass or more credits will be spent.

There is another, more accurate variant - calculate semi-balanced distribution:

- take half mass, calculate main resource amount

- take full cost without cost of main resource from previous step, calculate secondary resource amount

- fill remaining mass with main resource

May be adjusted for smaller steps to get more accurate result.

Mass conservation is the main motivation behind the current implementation :wink:. I do not plan to change that.

And even if more mass is needed that the resulting part has, the rest can be declared as non-reusable waste which will be tossed out into space. No matter how the final implementation will look like, we will never create mass out of nothing.

Link to comment
Share on other sites

Looks like the newest KIS (29 July 2015 - v1.2.1) broke OSE:


LOG 21:01:11.649] AssemblyLoader: KSPAssembly 'Workshop' V0.9
[LOG 21:01:11.650] AssemblyLoader: Loading assemblies
[ERR 21:01:11.717] AssemblyLoader: Exception loading 'Workshop': System.Reflection.ReflectionTy
peLoadException: 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.TypeLoadException: Could not load type 'Workshop.OseModuleRecycler' from assembly 'Workshop, Version=0.9.5.0, Culture=neutral, PublicKeyToken=null'.

System.TypeLoadException: Could not load type 'Workshop.OseModuleWorkshop' from assembly 'Workshop, Version=0.9.5.0, Culture=neutral, PublicKeyToken=null'.

This mod is awesome, by the way. :)

Link to comment
Share on other sites

Looks like the newest KIS (29 July 2015 - v1.2.1) broke OSE:


LOG 21:01:11.649] AssemblyLoader: KSPAssembly 'Workshop' V0.9
[LOG 21:01:11.650] AssemblyLoader: Loading assemblies
[ERR 21:01:11.717] AssemblyLoader: Exception loading 'Workshop': System.Reflection.ReflectionTy
peLoadException: 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.TypeLoadException: Could not load type 'Workshop.OseModuleRecycler' from assembly 'Workshop, Version=0.9.5.0, Culture=neutral, PublicKeyToken=null'.

System.TypeLoadException: Could not load type 'Workshop.OseModuleWorkshop' from assembly 'Workshop, Version=0.9.5.0, Culture=neutral, PublicKeyToken=null'.

This mod is awesome, by the way. :)

Yep, the workshop is nonfunctional for me.

Link to comment
Share on other sites

OSE Workshop Version 0.9.6 was just released and brings KIS 1.2.1 compatibility

- Compatible with KIS 1.2.1

- Fixed a bug in the Recycler that caused an Exception when an Item was added to the Queue

- Fixed animation setup for the 3D printing lab

Edit: Sorry for the trouble you have everytime KIS updates. I am still trying to make the Workshop work with newer Versions of KIS than the one I used during development, but was not able to do up to now. Even some hints of KospY himself did not work. I will continue to work on that and hopefully find away to solve this in the future.

Link to comment
Share on other sites

any chance of a CRP .cfg for this? I don't want to deal with an additional new resource, but like the idea of this mod. Could use spareparts, machinery or some combination of resources already produced by other mods.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...