Jump to content

[0.24.2] Interstellar Lite - Tweakscale Integration [v0.12.3][Sept 7]


WaveFunctionP

Recommended Posts

Ironically, atmospheric and oceanic resources never caused a crash... they just caused us to have more than 100% of an atmosphere. Which was a minor issue. Swapping to a pattern where we have to pick one kinda ruins Karbonite as it has atmospheric considerations at odds with KSPI - is what it is.

The issue was duplicate crustal resource keys. We fixed this. I sent you a pull request on day zero. And it was promptly disregarded when 0.1.3 broke stuff. Then 0.1.4 broke other things we depended on. Heck, I move pretty darn quick, and that one was out the door and on the street before I could even test it.

The crustal resource issue is irrelevant. ORS resources are not loaded at startup, they are loaded when a part that needs to know about resource values is activated. Assuming that resource extraction/scanning parts are correctly versioned, they should have been loading those nodes through the in-use version of ORS for those particular mods (which did already have duplicate key detection) rather than through version 1.3.0. As I said before, this compatibility problem could have occured due to a namespace conflict, that's why Interstellar uses aliasing. The code in version 1.3.0 should only have been being loaded only by mods that specifically referenced version 1.3.0 and I imagine that there never were any such mods nor will there ever be.

however, i think your comments here reinforce my point. yes, you released a new version that should have been of academic interest only, but the major unstated assumption here (and in your comment, as highlighted in the quote) is that you were the only one doing anything with it. Wave has done a lot of work, and yes, a lot of that work is NOT the way you would have taken KSPi, but i think it's disrespectful to ignore his work to keep your creation working at a critical time when you were not available. fortunately, Wave and Rover are the only major mods that are pulling from ORS as extensively as they are, so the regression of Wave's work only had affect on those two things.

I certainly didn't assume that no one else would be using ORS... The whole point of ORS was that it could be used widely by the community and I tried to set it up from the start such that version conflicts would not cause these kinds of problems. This was all based on some of the lessons learned from versioning problems with ModuleManager some months ago.

If every mod ever created for KSP had been using ORS, the release of version 1.3 should still have created zero problems. It might be, in hindsight, that I didn't make exactly how to do this clear enough but the documentation was there along with example code in Interstellar for how to use ORS in a tightly-versioned environment.

Link to comment
Share on other sites

If every mod ever created for KSP had been using ORS, the release of version 1.3 should still have created zero problems. It might be, in hindsight, that I didn't make exactly how to do this clear enough but the documentation was there along with example code in Interstellar for how to use ORS in a tightly-versioned environment.

i think i'm still failing to make my point. Yes, the use of ORS that was occurring in Karbonite was not in your API standard, but the usage and API had progressed since the last release you were involved in, and made no attempt to understand that progression before releasing your new version, and as a consequence there was a regression.

since i seem to be very hyperbolic right now, let's throw analogies around too: The garden grows even when the gardener isn't looking, and it is the height of arrogance to assume the plants are going to follow the plans while the gardener is away.

Link to comment
Share on other sites

The crustal resource issue is irrelevant. ORS resources are not loaded at startup, they are loaded when a part that needs to know about resource values is activated. Assuming that resource extraction/scanning parts are correctly versioned, they should have been loading those nodes through the in-use version of ORS for those particular mods (which did already have duplicate key detection) rather than through version 1.3.0. As I said before, this compatibility problem could have occured due to a namespace conflict, that's why Interstellar uses aliasing. The code in version 1.3.0 should only have been being loaded only by mods that specifically referenced version 1.3.0 and I imagine that there never were any such mods nor will there ever be.

I don't believe this is how part modules work. They use the method found from the first assembly loaded to define them, that would be the un-numbered version of OpenResourceSystem.dll. This is how I understand it from your own post in the ORS thread and from my own experience.

In any case everyone was linking to the correct version of ORS, v1.2 or v1.2.1, since, for some reason, everyone stopped distributing the un-numbered version. So any duplicate key exceptions caused after the update to ORS 1.3 could not have been caused by improper linking.

Link to comment
Share on other sites

The crustal resource issue is irrelevant. ORS resources are not loaded at startup, they are loaded when a part that needs to know about resource values is activated. Assuming that resource extraction/scanning parts are correctly versioned, they should have been loading those nodes through the in-use version of ORS for those particular mods (which did already have duplicate key detection) rather than through version 1.3.0. As I said before, this compatibility problem could have occured due to a namespace conflict, that's why Interstellar uses aliasing. The code in version 1.3.0 should only have been being loaded only by mods that specifically referenced version 1.3.0 and I imagine that there never were any such mods nor will there ever be.

I certainly didn't assume that no one else would be using ORS... The whole point of ORS was that it could be used widely by the community and I tried to set it up from the start such that version conflicts would not cause these kinds of problems. This was all based on some of the lessons learned from versioning problems with ModuleManager some months ago.

If every mod ever created for KSP had been using ORS, the release of version 1.3 should still have created zero problems. It might be, in hindsight, that I didn't make exactly how to do this clear enough but the documentation was there along with example code in Interstellar for how to use ORS in a tightly-versioned environment.

With all due respect. The fact that the only way we got past the crustal duplicate key issue was to delete the duplicate planetary resource definitions was kinda a thing. A big thing. That broke stuff into oblivion. So the crustal resource issue is incredibly relevant, given that this is what I got to spend my time firefighting. Then our SCANSat integration broke. And other things broke.

I love your mod. I love the work you've done with it. And as noted, once the dust settles and things stabilize, maybe we can play together on the same area of the playground (it would be nice, for example, to share resource maps to save on memory footprint, and to have better resource compatibility). I just don't see us playing with the same ball.

Link to comment
Share on other sites

I don't believe this is how part modules work. They use the method found from the first assembly loaded to define them, that would be the un-numbered version of OpenResourceSystem.dll. This is how I understand it from your own post in the ORS thread and from my own experience.

In any case everyone was linking to the correct version of ORS, v1.2 or v1.2.1, since, for some reason, everyone stopped distributing the un-numbered version. So any duplicate key exceptions caused after the update to ORS 1.3 could not have been caused by improper linking.

Assuming that you load the ORS part modules directly, that is true but that is not the way you are supposed to use it if you are going to distribute it.

You need to read the section on the post entitled "I'm a modder and I'm worried about distributing other people's code with my plugin in case an update breaks something, can you help me?"

Link

Edit: This discussion is probably more appropriate for the ORS thread, we should probably take it there.

Edited by Fractal_UK
Link to comment
Share on other sites

i think i'm still failing to make my point. Yes, the use of ORS that was occurring in Karbonite was not in your API standard, but the usage and API had progressed since the last release you were involved in, and made no attempt to understand that progression before releasing your new version, and as a consequence there was a regression.

since i seem to be very hyperbolic right now, let's throw analogies around too: The garden grows even when the gardener isn't looking, and it is the height of arrogance to assume the plants are going to follow the plans while the gardener is away.

Dude, seriously, just drop it.

From the sidelines it is difficult to know everything that goes on with the mod developers enough to speak intelligently on the subject. For example I don't know the true motivations for any of the mod devs to do what they do. All I do know is they volunteer countless hours creating extensions to KSP that help extend my enjoyment of the game.

Heck I have followed the ORS issues since Karbonite was just a dev thread and I still don't know that I could speak intelligently on the issues right now.

In addition you have tried three times now to get your point across. If your goal is to drive Fractal_UK to the point of saying "screw you guys, why did I bother coming back if all I am going to do is catch grief" then by all means keep at it. Otherwise politely thank him for all his work creating mods for our enjoyment. Wish him luck getting current issues resolved. And get back to doing what you and I do best, which is playing the game.

To that end, to Fractal_UK, Roverdude, and any other mod dev who happens upon this. THANK YOU for the countless hours you have freely volunteered to create amazing extensions to KSP that have enhanced my enjoyment of the game. I wish you luck getting the roadbumps sorted out as these mode are even more kick butt when they all integrate with each other.

Link to comment
Share on other sites

I apologise for jumping in at random here. But since .NET assemblies are strongly versioned by default, (this is the whole point of the assemblyinfo.cs file and specifically the AssemblyVersion attribute that you define in there), unless you are using reflection or you somehow messed up the versioning of the assembly, surely you are never able to touch things from a differently versioned assembly in the process.

I'm wondering this because the rules that I know for the Microsoft .NET framework has assembly loading based on file name and version of the assembly. This is quite clearly specified in the MSDN library. So unless mono has done something different in their implementation of the CLR, it should only be binding against the version that it was built with.

Link to comment
Share on other sites

Dude, seriously, just drop it. [...]

yes, you're right, i have carried this too far.

it was never my intention to try to drive Fractal, or anyone else, off and i hope that's not how i was coming across. i'm sorry if it seemed like it.

it was Scott Manley's video on KSPi that started me downloading mods, and i have received several hundred hours of enjoyment because of KSPi. without ORS, Karbonite would probably never have been possible, or at least would have spent a lot longer on the runway. I started using KAS because I wanted to take full advantage of the reactors in KSPi. i started using B9 because of the possibility of antimatter spaceplanes, and FAR because of B9.

you'll have to forgive me, this started as a lament of an future that had missed it's chance. i didn't intend it as a blamefest, and i'm sorry for any offense I've caused.

Link to comment
Share on other sites

I apologise for jumping in at random here. But since .NET assemblies are strongly versioned by default, (this is the whole point of the assemblyinfo.cs file and specifically the AssemblyVersion attribute that you define in there), unless you are using reflection or you somehow messed up the versioning of the assembly, surely you are never able to touch things from a differently versioned assembly in the process.

I'm wondering this because the rules that I know for the Microsoft .NET framework has assembly loading based on file name and version of the assembly. This is quite clearly specified in the MSDN library. So unless mono has done something different in their implementation of the CLR, it should only be binding against the version that it was built with.

That's true that .net works like that, but there is no way to directly link a part module to an actual assembly in the part.cfg file. You just put a part module name in the config node and KSP assigns the first part module of that name. You could have two addons, with two different namespaces, defining a part module with the same name. That would cause serious problems, which is why most people append some mod-specific prefix to the names of their part modules.

Link to comment
Share on other sites

That's true that .net works like that, but there is no way to directly link a part module to an actual assembly in the part.cfg file. You just put a part module name in the config node and KSP assigns the first part module of that name. You could have two addons, with two different namespaces, defining a part module with the same name. That would cause serious problems, which is why most people append some mod-specific prefix to the names of their part modules.

That's why I recommended that modders inherit from the base ORS classes in their own plugin and refer to those uniquely named versions in their .cfg files rather than using the generic ORS modules. Interstellar has a bunch of parts that just inherit ORS modules with no changes and a few that extend functionality. It's definitely worth using as a reference for how to do things with ORS.

Link to comment
Share on other sites

hi, right now i'm looking into which mods i should use for my next career.

Why should i take this over KSP Interstellar? (didn't played with kspi yet)

The difference is largely down to personal preference. Interstellar tries to portray, relatively realistically, what certain advanced technologies would be like. As a result, Interstellar parts have an incredibly wide range of capabilities.

Lite is less interested in realistically portraying technologies with real numbers and tries to balance all the parts more into line with what you might more usually expect in KSP.

Both approaches are valid, it just depends on personal preference.

Link to comment
Share on other sites

I started using KAS because I wanted to take full advantage of the reactors in KSPi. i started using B9 because of the possibility of antimatter spaceplanes, and FAR because of B9.

For what it's worth, this was exactly my progression as well.

I will say that Fractal's work is wonderful, and it's added so much to my enjoyment of KSP, so great job there. I know how hard mod-devs work and usually for nothing but people complaining. I know that wasn't your intent AG, just saying it's a thankless world they inhabit.

Nothing else to contribute except to say great work Fractal, and great work to Wave, and great work to all the other folks that spend time and effort making these cool add-ons.

Link to comment
Share on other sites

So, It still can generate science, but it needs a generator, reactor and crew to operate?

yes. I have two of them generating science in my save right now. I've not tried the reprocess or antimatter function, but i use the PB reactor, preferentially, which i don't think is serviceable, and i'm not using Antimatter yet.

Link to comment
Share on other sites

yes. I have two of them generating science in my save right now. I've not tried the reprocess or antimatter function, but i use the PB reactor, preferentially, which i don't think is serviceable, and i'm not using Antimatter yet.

Thank you my good sir, I shall start building Kerlab 1 immediately

Link to comment
Share on other sites

[...] sir [...]

everyone guesses this wrong. all well.

well ....... It still doesn't seem to work for me, I had it in orbit, with a reactor and a generator but nothing happens

This might be obvious, but you do need to manually start the research process from the right click menu. that menu should show you how much science per day you will be getting. the further from kerbin the situation is, the faster it'll produce science, but it's never super fast.

Link to comment
Share on other sites

well ....... It still doesn't seem to work for me, I had it in orbit, with a reactor and a generator but nothing happens

I don't want to insult you by asking too obvious a question, but you do have radiators right?

And further to AetherGoddess's information, I think there's a ceiling altitude at which a lab won't generate more than the maximum for that body.

everyone guesses this wrong. all well.

Apologies. I know not everyone has a knighthood, but it's an easy mistake to make.

Edited by Sophistry
Link to comment
Share on other sites

Hello everyone, i am in a dire need of your help. I have two problems - i cannot collect antimatter via Lab and my transcievers arent working.

here some images:

first, i have a problem with beaming power. I built a power plant >12GW and roll it near KSC. Then i deployed 2 geostationary relays with transcivers, but they didnt get any power (no connection, even the one directly above KSC). Then i tried to check whats wrong, by flying by..

Szn9GxJ.png

And second problem - i cannot collect any antimatter. It simply says 0% efficiency and zero harvest per day.

fIr4cER.png

What do i do wrong? I have read wiki, but with no success :(...

Link to comment
Share on other sites

This might be obvious, but you do need to manually start the research process from the right click menu. that menu should show you how much science per day you will be getting. the further from kerbin the situation is, the faster it'll produce science, but it's never super fast.

I don't want to insult you by asking too obvious a question, but you do have radiators right?

I had radiators, but there wasn't any "start research" button when I right clicked it...

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...